더북(TheBook)

UDP 프로토콜의 주요 목적은 애플리케이션 계층에 데이터그램을 노출하는 것입니다. 그렇기 때문에 UDP 프로토콜의 헤더 구조는 단순합니다. 해당 프로토콜을 설명하는 RFC인 RFC 768은 길이로는 세 장 정도밖에 되지 않습니다. 앞에서도 말했듯이, UDP는 사라지거나 오염된 데이터그램을 재전송하지 않고, 순서가 잘못된 데이터그램을 시퀀스하며, 중복된 데이터그램을 제거하고, 데이터그램의 수신을 확인하거나 접속을 연결하거나 끊을 수 있습니다. UDP는 주로 TCP 연결의 오버헤드 없이 데이터그램을 송수신하기 위한 애플리케이션 프로그램의 메커니즘입니다. 애플리케이션은 필요하다면 이러한 기능을 모두 제공할 수 있습니다.

UDP 헤더는 16비트 필드 4개로 구성되어 있습니다. 그림 6-8은 UDP 데이터그램 헤더의 구조를 보여줍니다.

▲ 그림 6-8 UDP 데이터그램 헤더와 데이터 페이로드

다음은 이 필드들에 관한 설명입니다.

소스 포트: 이 필드는 UDP 헤더의 첫 16비트를 차지합니다. 해당 필드는 일반적으로 데이터그램을 보내는 애플리케이션의 UDP 포트 번호를 가집니다. 소스 포트 필드에 입력된 값은 응답 준비가 되면 수신 애플리케이션에서 반환 주소로 사용됩니다. 해당 필드는 선택 사항이며 수신 애플리케이션에서 해당 포트 번호를 포함할 필요가 없습니다. 만약 송신 애플리케이션이 해당 포트 번호를 포함하고 있지 않다면 애플리케이션은 16개의 0비트를 필드에 배치해야 합니다. 당연히 유효한 소스 포트 주소가 없으면 수신 애플리케이션은 응답을 보낼 수 없습니다. 하지만 응답이 없는 단방향 메시지에서는 필요한 기능일 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.