본문 바로가기
네트워크엔지니어의 삶/네트워크 이론

네트워크 기초 - TCP/IP, TCP VS UDP

by └HR┐ 2022. 7. 10.

Transmission Control Protocol / Internet Protocol의 약자 TCP/IP는 ARPANET에 의해서 처음 개발되었습니다.

 

각각의 네트워크에 접속되는 호스트들은 고유의 주소를 가지고 있어서 자신이 속해 있는 네트워크뿐만 아니라 다른 네트워크에 연결되어 있는 호스트까지도 서로 데이터를 주고받을 수 있도록 만들어져 있는 것이 특징입니다.

 

호스트들의 고유 주소 interNIC(Internet Network Information Cecter)라는 단체에서 관리 분배되고 있습니다.

 

TCP/IP란?

 

인터넷상에서 데이터를 메세지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜

 

TCP/IP는 네트워크 프로토콜 스위트로, 온라인상의 안전하고 효율적인 데이터 전송의 필수 요건을 정의합니다.

TCP/IP 모델은 두 개의 기기 간에 데이터를 전송하는 것을 담당하고 있습니다. 여기서 왜 고작 2대의 기기 사이에서만 데이터 전송이 이루어질까요? 인터넷 데이터가 전송되는 방식은 라디오와는 다릅니다. 수백 대의 컴퓨터 사이에서 활발하게 데이터가 공유되고 있는 것처럼 보여도, 사실은 모든 데이터 교환에는 2대의 기기만 개입됩니다.

 

TCP/IP는 1983년에 표준 방식으로 정해졌습니다. 당시 TCP/IP가 NCP를 대체하면서, 이 과정에서 오는 날 우리가 이용하는 인터넷이 탄생했습니다. TCP/IP는 4 계층 또는 5 계층으로 구성되어, OSI 7 계층 모델을 대체합니다. 이러한 계층은 데이터 전송의 각 단계에서 앱과 기기의 작업을 설명해줍니다.

 

네트워크기초-OSI 7계층(OSI 7 Layer)

 

네트워크기초-OSI 7계층(OSI 7 Layer)

OSI 7 계층이란 무엇인가? 네트워크 프로토콜이 통신하는 구조를 7개의 계층으로 분리하여 각 계층 간 상호 작동하는 장식을 장해 놓은 것이다. 이는 IOS(국제표준화기구)에서 개발한 모델이다. 1

hryhan.tistory.com

TCP의 특징

- 서버소켓은 연결만을 담당한다.

- 연결과정에서 반환된 클라이언트 소켓은 데이터의 송수신에 사용된다 서비스로 가상 회선 방식을 제공한다.

- 서버와 클라이언트는 1대 1로 연결된다.

- 스트림 전송으로 전송 데이터의 크기가 무제한이다.

- 패킷에 대한 응답을 해야하기 때문에 성능이 낮다

- 스트리밍 서비스에 불리하다. (손실된 경우 재전송 요청 때문)

 

 

TCP/IP 4계층

패킷 통신 규약 중 하나, TCP/IP

 

TCP 프로토콜은 신뢰성 있고 무결성을 보장하는 연결을 통해 데이터를 안전하게 전달해주는 전송 프로토콜이고, IP 프로토콜은 패킷들을 가장 효율적인 방법으로 최종 목적지로 전송하기 위해 필요한 프로토콜입니다.

 

TCP/IP 는 총 4개의 계층으로 이루어져 있고, 각 계층이 하는 역할이 명확히 구분되어 있습니다.

  • 4 계층 : 응용 계층 (Application)
  • 3 계층 : 전송 계층 (Transport)
  • 2 계층 : 인터넷 계층 (Internet)
  • 1 계층 : 네트워크 인터페이스 계층 (Network Interface)
  1. 응용 계층
    - TCP/IP를 사용하는 애플리케이션이 사용하는 프로토콜에 필요한 정보를 헤더로 담습니다.
       예를 들어 HTTP 통신이면 HTTP 헤더를 붙이게 되는 것이다.
  2. 전송 계층
    - 해당 패킷의 송신지, 수신지 각각의 포트번호 정보를 담게 되어 수신 호스트에 도착했을 때 어떤 소켓에 데이터를 갖다 줄 지에 대한 정보를 담아냅니다. (여기서 전송 프로토콜로 UDP를 사용할 수도 있습니다)
  3. 인터넷 계층
    - 해당 패킷의 송신지, 수신지 각각의 IP 주소 정보를 담게 되어 네트워크의 모든 라우터들이 이를 참조하여 가장 효율적인 경로로 패킷을 라우팅 해주게 됩니다.
  4. 네트워크 인터페이스 계층
    - 비교적 물리적인 정보를 담고, 송신지 및 수신지의 MAC 주소를 담아 이더넷 카드를 통해 해당 패킷을 내보냅니다.

 

계층 하나를 거칠 때마다 헤더가 하나씩 늘어나는 것을 확인할 수 있습니다.

각 계층에서 주입하는 정보로 패킷을 수신 호스트까지 효율적으로 전송하기 위한 정보들을 담고 있습니다.


UDP란?

User Datagram Protocol을 해석하면 사용자 데이터그램 프로토콜이라는 듯인데 쉽게 해석해보자면

 

데이터를 데이터크램 단위로 처리하는 프로토콜

 

여기서 데이터그램이란 독립적인 관계를 지니는 패킷이라는 뜻으로, UDP의 동작 방식을 설명하자면, TCP와 달리 UDP는 비연결형 프로토콜입니다.

 

즉, 연결을 위해 할당되는 논리적인 경로가 없기 때문에 각각의 패킷은 다른 경로로 전송되고, 각각의 패킷은 독립적인 관계를 지니게 되는데 이렇게 데이터를 서로 다른 경로로 독립적으로 처리하는 프로토콜을 UDP라고 합니다.

 

 

UDP의 특징

- 비연결형 서비스로 데이터그램 방식을 제공한다.

- 정보를 주고받을 때 정보를 보내거나 받는다는 신호 절차를 거치지 않는다.

- UDP헤더의 CheckSum 필드를 통해 최소한의 오류만 검출한다.

- 신뢰성이 낮다.

- TCP보다 속도가 빠르다

 

 

TCP와 UDP의 차이

종류 TCP UDP
연결 방식 연결형 서비스 비연결형 서비스
패킷 교환 방식 가상 회선 방식 데이터그램 방식
전송 순서 전송 순서 보장 전송 순서가 바뀔 수 있음
수신 여부 확인 수신 여부를 확인함 수신 여부를 확인하지 않음
통신 방식 1:1 통신 1:1 or 1:N or N:N 통신
신뢰성 높다 낮다
속도 느리다 빠르다

댓글