컴퓨터 네트워크
User Datagram ProtocolUDP
UDP(User Datagram Protocol)는 TCP/IP 스택의 전송 계층 프로토콜이다. TCP와 달리 연결 수립 없이 데이터그램을 전송하며, 속도와 낮은 오버헤드를 우선시한다. 신뢰성·순서 보장이 필요 없는 실시간 통신에 최적화되어 있다.
UDP 헤더 구조
헤더 크기 8바이트 — TCP(최소 20바이트)의 절반 이하로 오버헤드가 매우 작다.
UDP vs TCP
| 항목 | UDP | TCP |
|---|---|---|
| 연결 방식 | 비연결 (Connectionless) | 연결 지향 |
| 신뢰성 | 없음 — 패킷 손실 허용 | 있음 — 재전송 보장 |
| 순서 보장 | 없음 | 있음 |
| 흐름 제어 | 없음 | 있음 |
| 속도 | 빠름 | 느림 |
| 헤더 크기 | 8바이트 | 20~60바이트 |
| 용도 | 스트리밍, 게임, DNS | 웹, 이메일, 파일 전송 |
동작 방식
주요 사용 사례
| 서비스 | 이유 |
|---|---|
| DNS | 짧은 쿼리·응답, 속도 우선 (포트 53) |
| DHCP | 브로드캐스트 기반 IP 할당 |
| 동영상 스트리밍 | 약간의 화질 저하 허용, 실시간성 중요 |
| 온라인 게임 | 낮은 지연(latency) 필수 |
| VoIP | 음성 통화, 끊김 없는 실시간 전달 |
| QUIC (HTTP/3) | UDP 위에서 신뢰성을 응용 계층에서 직접 구현 |
코드 예시 (Python)
QUIC와 HTTP/3
구글이 개발한 QUIC 프로토콜은 UDP 위에서 TCP의 신뢰성을 재구현한다.
관련 개념
- •TCP/IP — TCP와 같은 전송 계층의 대안 프로토콜
- •네트워크 — 컴퓨터 네트워크 전반
- •HTTP/HTTPS — 응용 계층 프로토콜 (TCP 기반)
참고문헌
- •Postel, J. (1980). RFC 768 — User Datagram Protocol
- •Tanenbaum, A.S. (2011). Computer Networks, 5th Edition