반갑습니다!

[Network] TCP와 UDP 본문

CS

[Network] TCP와 UDP

김덜덜이 2020. 5. 5. 16:25

전송계층(Transport Layer)의 대표 프로토콜로는 TCP와 UDP가 있다.

TCP (Transmission Control Protocol)

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

이 때 IP는 데이터 전송을 처리하고, TCP는 패킷을 추적하고 관리하는 역할을 한다. TCP는 기본적으로 연결성 프로토콜이고 인터넷 환경에서 기본으로 사용한다.

TCP 특징

  • 연결형 프로토콜로 가상 회선 방식을 사용한다.
  • 3-way handshake을 통해 연결을 설정하고, 4-way handshake를 통해 연결을 해제
  • 흐름 제어와 혼잡 제어
  • 높은 신뢰성을 보장
  • 전이중 방식(Full-Duplex), 점대점 방식(Point to Point)

위의 특징에도 적혀있듯이, TCP는 가상 회선 방식을 사용한다. 이는 패킷의 전송을 위한 논리적인 경로를 배정한다는 뜻이다. (패킷이란 데이터를 보내기 위한 라우팅을 효율적으로 하기 위해서 데이터를 여러 개의 조각들로 나누어 전송을 하는데, 이때 나눠진 조각을 말한다.)

흐름 제어란 송신측과 수신측 간의 데이터 처리 속도를 조절하는 것을 의미한다.
혼잡 제어란 네트워크 내에 패킷의 수가 넘치게 증가하지 않도록 방지하는 것이다.

전이중 방식이란 전송이 양방향으로 동시에 일어날 수 있음을 의미하고, 점대점 방식이란 각 연결이 정확하게 2개의 종단점을 가지고 있다는 것을 말한다.

UDP (User Datagram Protocol)

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

여기서 데이터그램이란 '독립적인 관계를 지니는 패킷'이라는 뜻이다. UDP는 비연결성 프로토콜이고, TCP와는 달리 별도의 논리적인 경로가 없다. 그렇기 때문에 각각의 패킷은 다른 경로로 전송된다.

UDP 특징

  • 비연결성 프로토콜로 데이터 그램 방식을 제공한다
  • 정보를 주고 받을 때 정보를 주고 받는다는 별도의 신호 절차가 없다
  • UDP 헤더의 CheckSum 필드를 통해 최소한의 오류만을 검증한다
  • 신뢰성이 낮다

UDP는 비연결성 프로토콜이기 때문에 별도의 연결 설정과 해제 과정이 없다. 또한 패킷이 서로 다른 경로로 독립적으로 처리되지만 별도의 흐름 제어, 혼잡 제어를 하지 않기 때문에 TCP보다 속도가 빠르고 네트워크 부하가 적다는 특징이 있다.

'CS' 카테고리의 다른 글

[Network] URL, URN, URI  (0) 2020.05.12
[Network] 쿠키와 세션  (0) 2020.05.12
[Network] GET과 POST  (0) 2020.05.05
[알고리즘] 투 포인터  (0) 2020.04.17
[알고리즘] 에라토스테네스의 체  (0) 2020.04.08