1. UDP (User Datagram Protocol)
ㅇ TCP/IP 프로토콜 群 중 트랜스포트 계층의 통신 프로토콜의 하나 (TCP에 대비됨)
- 신뢰성이 낮은 프로토콜로써, 완전성을 보증하지 않으나,
- 가상회선을 굳이 확립할 필요가 없고, 유연하며 실시간적 응용의 데이타 전송에 적합
2. UDP 주요 기능 및 특징
ㅇ 비연결성이고, 신뢰성이 없으며, 순서화되지 않은 Datagram 서비스 제공
- (확인응답 없음) 메세지가 제대로 도착했는지 확인하지 않음
- (순서제어 없음) 수신된 메세지의 순서를 맞추지 않음
. TCP 헤더와 달리 순서번호 필드 없음
- (흐름제어 없음) 흐름 제어를 위한 피드백을 제공하지 않음
- (오류제어 거의 없음) 검사합을 제외한 특별한 오류 검출 및 제어 없음
. UDP를 사용하는 프로그램 쪽에서 오류제어 기능을 스스로 갖추어야 함
- (비연결성) 논리적인 가상회선 연결이 필요없음 (No Handshaking)
. 데이터그램 지향의 전송계층용 프로토콜
ㅇ 실시간 응용 및 멀티캐스팅 가능
- (실시간용) 빠른 요청과 응답이 필요한 실시간 응용에 적합 ☞ RTP 참조
- (1:多) 여러 다수 지점에 전송 가능 (즉, Multicasting 가능)
- (무제한) 전송속도 제한 없음
ㅇ 헤더가 단순함
- 헤더는 고정크기의 8 바이트(TCP는 20 바이트) 만 사용
. 즉, 헤더 처리에 많은 시간과 노력을 요하지 않음
ㅇ UDP 위에서 동작되는 다양한 프로토콜들 또는 응용분야
- TFTP, SNMP, DHCP, NFS, DNS, RIP, NTP, RTP 등
ㅇ 데이터 전송 단위 : 메세지
- 한편, TCP의 데이터 전송 단위는 TCP 세그먼트라고 함 ☞ 통신계층별 데이터 단위 참조
ㅇ 최대 데이터 크기
- 65,507 바이트 = 65,535 바이트 - UDP 헤더 8 바이트 - IP 헤더 20 바이트
3. UDP 포멧 구조
ㅇ 기본적으로, 1개 IP에 1개 UDP 만 수용
ㅇ UDP 패킷 구조
ㅇ UDP 패킷 헤더 구조 (TCP 헤더에 비해 매우 단순함)
- 발신/수신 포트 번호 : TCP 처럼 16 비트의 포트 번호를 사용
. [참고] 포트 번호의 개념은, ☞ 포트 주소, 잘알려진 포트번호, 소켓 주소 등 참조
- 길이 : 바이트 단위의 길이
. 최소값 8 (헤더 만 포함될 때), 최대값 216 -1 = 65,535
. UDP 헤더 8 바이트를 포함한 패킷 전체의 길이를 바이트 단위로 표시
. 단, 최대 크기는, IP 수용 제한에 따라,
.. 65,507 바이트 = 65,535 바이트 - UDP 헤더 8 바이트 - IP 헤더 20 바이트
- 체크섬 : 선택 항목 (성능을 위해 에러검출 기능도 생략 가능)
. 체크섬 값이 0 이면, 수신측은 체크섬 계산도 하지 않음
. [참고] 체크섬 계산 대상은, ☞ UDP 체크섬 참조
4. 관련표준 및 프로토콜 ID
ㅇ 표준 : RFC 768, 1122
ㅇ 프로토콜 ID : 17