UDP(User Datagram Protocol)
L4에서 제공해야할 최소한의 서비스, 즉 프로세스 대 프로세스 데이터 전달과 오류 검출만을 제공하는 비연결형 전송 프로토콜

UDP header 구조(8byte)
특징
- 비연결형: message 지향 특성
- 최소 제공 서비스: 한의 전송 계층 서비스
- 프로세스 대 프로세스 데이터 전달: 포트 - 프로세스 매핑, 두 개의 포트 정보(근원지, 목적지)를 통해 소켓 식별
- checksum 기반 오류 검출: 헤더에 오류 검출 필드를 포함(checksum)함으로 무결성 검사
- 적은 packet overhead: 연결 상태가 없으므로. Segment 당 8byte.
- 사용 프로토콜: DNS, NFS, SNMP, RIP 등
TCP(transmission control protocol)
UDP가 제공하는 서비스에 신뢰성 있는 데이터 전달과 흐름 제어 및 혼잡 제어를 지원하는 L4의 연결 지향형 프로토콜

특징
- 연결 지향형: 통신 시작 - 3 way handshake, 통신 종료 - 4 way handshake
- 점대점(point to point): 단일 sender, 단일 receiver
- Socket 식별: 두 개의 port 정보 및 두 개의 IP 정보를 통해(Source, Destination)
- buffer 존재: Sender 및 receiver에 buffer 존재
- Error Control: Checksum, Timer, ARQ(GBN/SR 혼합형 ARQ 사용) 사용
- Flow Control: 수신자 buffer overflow 방지용. Sliding Window(ARQ의 GBN/SR) 사용
- Congestion Control: Network 내의 과도한 패킷 개수 방지용. Window 크기 조절은 Slow Start 및 혼잡 윈도우와 수신 측 윈도우 크기 중 작은 값을 사용
- Full duplex data: 동일 connection 내 양방향 data flow. Piggy packing: 단일 packet 내 요청/응답 모두 포함. MSS(Maximum Segment Size) 존재
- 사용 프로토콜: HTTP, FTP, SMTP, Telnet 등
TCP vs UDP
| 구분 | TCP | UDP |
|---|---|---|
| 연결 형태 | 연결 지향 | 메시지 지향 |
| 데이터 순서 | 순서 유지 | 순서 유지하지 않음 |
| 데이터 손실 | 손실 없음 | 손실 가능 |
| 흐름/혼잡/오류 제어 | GBN/SR 혼합형 ARQ 사용 | 오류 제어만 가능 |
| 패킷 오버헤드 | 20byte | 8byte |
| 사용 예 | 대부분의 L7 프로토콜(HTTP, FTP, SMTP, Telnet 등) | DNS, NFS, SNMP, RIP 등 |
References
- Computer Networking 3판. James F. Kurose, Keith W.Ross





Comments