UDP

youngwiki
Pinkgo (토론 | 기여)님의 2025년 4월 1일 (화) 02:07 판 (UDP의 특징)

상위 문서: Transport Layer

개요

UDP(User Datagram Protocol)는 transport layer에서 작동하는 프로토콜로, application layer와 network layer간의 데이터를 전달을 담당한다. 동일 계층에서 사용하는 또 다른 프로토콜로는 TCP가 있다.

UDP의 특징

UDP는 Transport Layer가 수행해야 하는 기능 중 가장 최소한만을 수행한다. 즉, UDP는 multiplexing/demultiplexing와 간단한 오류 검사만을 제공할 뿐, TCP가 제공하는 다양한 서비스들, reliable data transfer를 제공하지 않는다. 이는 UDP가 segment를 전송하기 전, 송수신 transport layer간의 handshaking을 거치지 않는 connectionless 프로토콜이기 때문이다. 사실, 애플리케이션 개발자가 TCP 대신 UDP를 선택한다면, 해당 애플리케이션은 거의 직접 IP와 대화하게 되는 셈이다.

UDP는 애플리케이션 프로세스로부터 message를 받아, multiplexing/demultiplexing 서비스를 위한 송수신 port 번호 필드와 다른 두 개의 필드를 헤더 파일로 붙이고, 그 segment를 네트워크 계층으로 넘긴다. 네트워크 계층은 이 전송 계층 세그먼트를 IP 데이터그램에 캡슐화하고, 그 세그먼트를 수신 호스트에 **최선의 노력(best-effort)**으로 전달하려 한다. 세그먼트가 수신 호스트에 도착하면, UDP는 목적지 포트 번호를 사용해 해당 데이터를 올바른 애플리케이션 프로세스에 전달한다.

UCP가 사용되는 곳

UDP segment structure

각주