본문 바로가기
컴퓨터공학 & 정보통신/네트워크 & Cisco

[네트워크] Transport layer 전송 프로토콜 TCP UDP 이해하기

by TaeGyeong Lee 2024. 10. 28.

개요 

Transport 계층에선 전송 프토토콜을 이용해 송신자와 수신자 간 연결을 담당합니다. 이 계층에서 사용되는 전송 프토토콜은 대표적으로 TCP 및 UDP 가 있습니다. 

 

TCP 

3-way handshake 를 수행하여 송신자와 수신자 사이의 연결 흐름을 유지합니다. 

3-way handshake

송신자와 수신자 간 연결 확립을 위해 사용되는 방법입니다. 연결을 종료할 시 4-way handshake 기법을 사용합니다. 3way handshake 에 대한 자세한 글은 추후 다른 글에서 서술하겠습니다. 

 

TCP 헤더 구조 

아래 도식에서 초록 배경으로 된 부분이 헤더입니다. 

  • Window Size : 송신자가 한 번에 보낼 수 있는 데이터의 크기입니다. 
  • Data : TCP 헤더에 포함되지 않는 TCP payload 와 TCP segment 정보가 들어갑니다. 이 글을 참고하세요. 

 

UDP 

UDP는 3-way handshake 를 수행하는 TCP에 비해 빠르고 간단한 통신 방식입니다. 3-way handshake 를 수행하지 않으므로 통신에 손실이 나도 손실 데이터에 대한 재요청을 하지 않습니다. 

UDP 헤더 구조

아래 도식에서 초록 배경으로 된 부분이 헤더입니다. 

아래는 wireshark 를 통해 캡쳐한 UDP 프로토콜 패킷 데이터입니다.

  • 출발지 포트, 도착지 포트 : 62686 포트에서 443 포트로 가는 거네요.
  • 길이 :  37이라 나와있는데 UDP 헤더와 그 아래 데이터 정보(UDP payload) 를 모두 합한 길이입니다. (헤더 크기 8바이트 + payload 29바이트, Wireshark 에서 [ ] 으로 감싼 속성은 실제 패킷 데이터가 아닙니다.)
  • 체크섬 : 데이터 손실을 검증하는 값입니다. 

 

UDP 프로토콜에서 체크섬은 선택 사항입니다. 

If the computed checksum is zero, it is transmitted as all ones (the equivalent in one's complement arithmetic). An all zero transmitted checksum value means that the transmitter generated no checksum (for debugging or for higher level protocols that don't care). https://www.rfc-editor.org/rfc/rfc768.html 

예제로 가져온 패킷은 체크섬이 0이 아니지만 0이어도 문제가 되지 않습니다. 송신자가 체크섬을 보내지 않을 경우 수신자는 0으로 받습니다. 

 

참고 자료 

 

TCP UDP 차이: 두 프로토콜 비교 | NordVPN

이 글에서 TCP와 UDP 프로토콜의 차이점과 작동 방식, 각각의 이점을 자세히 알아보세요.

nordvpn.com

 

RFC 768: User Datagram Protocol

 

www.rfc-editor.org

 

전송 제어 프로토콜 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 전송 제어 프로토콜(Transmission Control Protocol, TCP, 문화어: 전송조종규약)은 인터넷 프로토콜 스위트(IP)의 핵심 프로토콜 중 하나로, IP와 함께 TCP/IP라는 명칭으로

ko.wikipedia.org

 

TCP와 3-Way, 4-Way Handshake란? (개념/ 동작 방식)

서론 이번 글에서는 TCP의 신뢰성있는 통신 연결과 종료를 위해 3Way, 4Way Handshake의 개념과 통신 동작 방식에 대해 알아보려한다. 이 내용을 이해하기 위해선 TCP의 개념도 알아야해서 간단히 TCP의

jeongkyun-it.tistory.com