UDP(User Datagram Protocol)는 전송 계층에서 동작하는 비연결형 프로토콜이다.
TCP와 달리 연결 설정 과정 없이 데이터를 빠르게 전송할 수 있어 실시간 애플리케이션에서 주로 사용된다.
UDP는 낮은 오버헤드, 빠른 전송 속도, 신뢰성 보장 없는 데이터 전송이 가능하다는 특징이 있다. 데이터 유실이 발생한 경우에는 네트워크 프로토콜 레벨에서 제어하는 것이 아닌 더 상위 레벨에서 제어한다.
UDP헤더는 간단하지만 효율적인 구조로 이루어져 있으며 총 4개의 필드로 구성된다. 각 필드는 2바이트(16비트)씩 차지하여 전체 UDP 헤더의 크기는 8바이트이다. 다음은 UDP 헤더의 각 필드에 대한 설명이다.
비교적 간단한 헤더구조는 UDP가 빠른 데이터 전송을 가능하게 하는 주요 요인이다. TCP와 비교했을 때 훨씬 적은 오버헤드를 가지고 있어 실시간성이 중요한 애플리케이션에서 선호된다.
| 특성 | TCP | UDP |
|---|---|---|
| 연결 방식 | 연결 지향적 | 비연결 지향적 |
| 신뢰성 | 높음(데이터 손실 복구) | 낮음(데이터 손실 가능) |
| 전송 순서 | 보장됨 | 보장되지 않음 |
| 속도 | 상대적으로 느림 | 빠름 |
| 오버헤드 | 높음 | 낮음 |
| 헤더 크기 | 20-60바이트 | 8바이트 |
| 흐름 제어 | 있음 | 없음 |
| 혼잡 제어 | 있음 | 없음 |
| 주요 사용 사례 | 웹 브라우징, 파일 전송 | 실시간 스트리밍, 온라인 게임 |
TCP는 신뢰성 있는 데이터 전송을 제공하지만, 그 대가로 속도와 효율성 면에서 UDP보다 뒤떨어진다. 반면 UDP는 빠른 전송 속도를 제공하지만 데이터의 신뢰성과 순서를 보장하지 않는다.