Skip to content

Latest commit

 

History

History
67 lines (48 loc) · 2.42 KB

File metadata and controls

67 lines (48 loc) · 2.42 KB

TCP and UDP

1. TCP(Transmission Control Protocol)

개념

  • 인터넷 상에서 데이터를 메시지의 형태로 보내기 위한 프로토콜이다
  • TCP는 IP와 함께 사용된다
  • 연결형 서비스를 지원하는 프로토콜이다

TCP의 특징

  • 연결형 서비스로 가상 회선 방식을 제공한다.
  • 3-way handshaking과정을 통해 연결을 설정하고 4-way handshaking을 통해 해제한다.
  • 흐름 제어 및 혼잡 제어
  • 높은 신뢰성을 보장한다
  • 패킷의 순서를 보장한다
  • UDP보다 속도가 느리다
  • 전이중(Full-Duplex), 점대점(Point to Point) 방식
  • 스트리밍 서비스에 불리하다 (손실된 패킷을 재전송하므로)

흐름제어(Flow Control)와 혼잡제어(Congestion Control)이란?

흐름제어

  • 데이터를 송신하는 곳과 수신하는 곳의 데이터 처리 속도를 조절하여 수신자의 버퍼 오버플로우를 방지하는 것
  • 예를 들어 송신하는 곳에서 감당이 안되게 데이터를 빠르게 많이 보내면 수신자에서 문제가 발생한다

혼잡제어

  • 네트워크 내의 패킷 수가 넘치게 증가하지 않도록 방지하는 것
  • 만약 정보의 소통량이 과다하면 패킷을 조금만 전송하여 혼잡 붕괴 현상이 일어나는 것을 막는다

2. UDP(User Datagram Protocol)

개념

  • 데이터를 데이터그램 단위로 처리하는 프로토콜이다
  • TCP와 달리 비연결형 프로토콜이다
  • 때문에 각 패킷은 서로 다른 경로로 독립적으로 전송된다

UDP의 특징

  • 비연결형 서비스로 데이터그램 방식을 제공한다
  • 정보를 주고 받을 때 정보를 보내거나 받는다는 신호절차를 거치지 않는다
  • UDP헤더의 CheckSum 필드를 통해 최소한의 오류만 검출한다
  • 신뢰성이 낮다
  • TCP보다 속도가 빠르다
  • 스트리밍 서비스에 유리하다

TCP와 UDP 비교

구분 TCP UDP
연결방식 연결형 서비스 비연결형 서비스
패킷 교환 방식 가상 회선 방식 데이터그램 방식
전송 순서 전송 순서 보장 O 전송 순서 보장 X
수신 여부 확인 수신 여부 확인 O 수신 여부 확인 X
통신 방식 1:1 방식 1:1 or 1:N or N:N
신뢰성 높음 낮음
속도 느림 빠름

Reference