TCP/UDP

인터넷 프로토콜 스택의 4계층
프로토콜 계층
TCP/IP 패킷 정보

TCP/IP : IP 위에서 동작하는 프로토콜 TCP

  • Packet = Package + Bucket

TCP 특징⭐️ 전송 제어 프로토콜(Transmission Control Protocol)

  • 연결지향 - TCP 3 way handshake(가상 연결) : 연결이 됐는지 확인부터하고 보낸다! 진짜로 연결이 됐다는 게 아니라 클라이언트, 서버측에서 SYN, SYN+ACK, ACK를 보냈으니 연결이 됐을거라는 개념적(논리적) 연결이 이루어지고, 중간에 거치는 수많은 서버들은 연결이 됐는지 조차 모른다!

  • 데이터 전달 보증

  • 순서 보장

  • 신뢰할 수 있는 프로토콜

  • 현재는 대부분 TCP 사용

순서보장 궁금증🧐 클라이언트에서 패킷1,2,3 순서로 전송했는데 서버측에서 패킷1,3,2로 오면 패킷2부터 다시보내라고 되어있습니다. 그런데 원래 순서가 123인데 잘못 왔는지, 원래 순서가 132이라 바르게 온 것인지 서버 측에서 어떻게 아나요? =>TCP/IP 패킷 정보에는 전송 제어, 순서, 검증 정보가 들어가있기 때문에 알 수 있다!

UDP 특징 사용자 데이터그램 프로토콜(User Datagram Protocol)

  • 하얀 도화지에 비유(기능이 거의 없음)

  • 연결 지향(TCP 3 Way Handshake) ❌

  • 데이터 전달 보증 ❌

  • 순서 보장 ❌

  • 데이터 전달, 순서 보장되지 않지만 단순하고 빠름

  • IP와 거의 같지만 +PORT, CheckSum

  • 애플리케이션에서 추가 작업 필요

하나의 IP(컴퓨터)로 게임도 하고 음악도 듣는다면 내 IP로 수많은 패킷이 들어올 때 어떻게 게임 애플리케이션 패킷인지 음악 감상 패킷인지 구분하나? =>그것이 바로 PORT이다! CheckSum은 메시지 검증 역할.

UDP 최근 각광받고 있다. 웹 브라우저에서 HTTP 통신을 할 때, 최근 HTTP3까지 나왔는데 UDP 프로토콜 사용한다.

Last updated

Was this helpful?