TCP / UDP

zenoan·2021년 3월 23일
0

TCP/UDP란?
HTTP와 HTTPS를 공부하면서 언급되는 TCP와 UDP는 무엇일까? 네트워크의 계층(OSI 7계층)들 중 전송계층(Transport layer)에 속하는 데이터 전송 담당 protocol이다.

OSI의 7 layer 그리고 TCP/IP 4 layer :

TCP (Transmission Control Protocol)

쉽게 말하자면 전송을 제어하는 규약이고, 인터넷상에서 데이터를 메세지의 형태로 보내기 위해 IP와 함께 사용하는 protocol이다. 그리고 TCP는 연결형 서비스로 데이터를 반드시 전달하는 높은 신뢰성을 가지고 있다. 즉, 연속성보다 신뢰성있는 전송이 필요할때 사용되는 protocol이다. 에: 파일 전송
특징

  • 연결형 서비스로 2개의 호스트가 통신을 하기 전 연결이 이루어져야한다
  • 순서대로 전송하는 것을 보장한다
  • 흐름 제어를 통해 송신자의 데이터 양을 조절한다
  • 혼잡 제어를 통해 네트워크 상황을 감지하고 송신자의 데이터 양을 조절한다
  • 에러 감지를 통해 잘못 절못 전송된 것을 재전송한다
  • Full duplex 방식으로 두 호스트 모두 송신자와 수신자가 될 수 있다. 서버와 클라이언트 1대1 연결 방식
  • 가상 회선 패킷 교환 방식이다. Byte stream 을 사용하여 데이터를 연속적인 byte로 보고, Segment 라는 단위의 패킷으로 쪼개서 보낸다.
  • UDP보다 속도가 느리다
  • HTTP에 사용된다

*연결이 이루어지기 위해서 3-way handshaking 과정을 통해 연결을 설정한다. 이 과정은 목적지와 수신자를 확실히 하여 정확한 전송을 보장하기 위해서 수립하는 과정을 의미한다.

UDP (User Datagram Protocol)

UDP는 데이터를 데이터그램 단위로 처리하는 protocol이다. TCP와 달리 데이터 전송의 신뢰성을 보장하지 않는다. 신뢰성보다 연속성이 중요한 protocol이다. 실시간 서비스에 자주 사용된다
특징

  • 비연결형 서비스로 연결을 설정한다
  • 전송되는 데이터의 순서를 보장하지 않는다
  • 흐름제어 및 혼잡제어가 없다
  • 에러 감지는 UDP 헤더의 Checksum field를 통해 최소한의 오류만 검출한다
  • TCP보다 속도가 빠르다

TCP UDP 차이 테이블:

참고 : [TCP/UDP] TCP와 UDP의 특징과 차이

profile
프론트엔드 개발자

0개의 댓글