개요
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으로 받습니다.
참고 자료
'컴퓨터공학 & 정보통신 > 네트워크 & Cisco' 카테고리의 다른 글
[네트워크] IP Class 네트워크 클래스 A,B,C,D,E 에 대한 이해 (1) | 2024.10.31 |
---|---|
[정보통신] Physical Loop back Test 루프백 테스트 (1) | 2024.09.28 |
[정보통신] WDM (Wavelength Division Multiplexing) (3) | 2024.09.28 |
[정보통신] NIC (Network Interface Card) (3) | 2024.09.26 |
[정보통신] 광케이블에 대한 이해 (1) | 2024.09.24 |