2014년 6월 9일 월요일

TCP/IP 사용자 데이터그램 프로토콜(UDP)

UDP 개요, 역사, 표준
사용자 데이터그램 프로토콜(UDP, User Datagram Protocol)은 전송 계층에서 신뢰성, 승인, 흐름 제어 기능을 필요로 하지 않는 애플리케이션을 위해 개발됐다. UDP는 단순하고 빠르게 설계됐고 전송 계층 주소지정(UDP 포트), 선택적인 체크섬 기능을 제외하면 거의 아무 것도 제공하지 않는다.

UDP 동작

  • UDP가 하는 일
    1. 상위 계층 데이터 전송
    2. UDP 메시지 캡슐화
    3. 메시지를 IP로 전달함
  • UDP가 하지 않는 일
    • 데이터를 송신하기 전에 연결을 수립하는 것
    • 데이터를 수신했다는 것을 알리는 승인을 송신하는 것
    • 메시지가 목적지에 도달할 것이라고 보장하는 것
    • 손실 메시지를 탐지하여 재전송하는 것
    • 데이터가 송신한 순서대로 수신되는 것
    • 장비 간의 혼잡이나 흐름을 처리하는 방법을 제공하는 것

UDP 메시지 포맷


  • 출발지 포트
      • 2바이트
    • 출발지 장비에서 UDP 메시지를 생성한 프로세스의 16비트 포트번호
    • 이것은 클라이언트가 서버에게 데이터를 송신할 때 사용한 임시 클라이언트 포트번호, 또는 서버가 클라이언트에게 응답을 보낼 때 사용한 유명/등록 서버 포트를 의미
  • 목적지 포트
      • 2바이트
    • 목적지 장비에서 UDP 메시지를 수신하는 프로세스의 16비트 포트번호
    • 이것은 클라이언트 요청이 도달할 유명/등록 서버 포트, 또는 서버의 응답이 도달할 임시 클라이언트 포트번호를 의미
  • 길이
      • 2바이트
    • 헤더와 데이터 필드를 포함한 전체 UDP 데이터그램의 길이
  • 체크섬
      • 2바이트
    • 전체 UDP 데이터그램과 특수 가상 헤더 필드에 대해 계산되는 선택적인 체크섬
  • 데이터
      • 가변적
    • UDP로 송신할 캡슐화된 상위 계층 메시지


UDP 가상 헤더 포맷

  • 가상 헤더의 전체 길이는 11바이트다. 이 뒤에 1바이트의 0이 붙어 구성된 12바이트가 실제 UDP 메시지 앞에 붙는다.
  • 이 가상 헤더와 실제 UDP 메시지 전체에 대하여 계산된 체크섬 값이 UDP 헤더의 체크섬 필드에 채워진다.
  • 가상 헤더는 이 계산에만 쓰이고 버려지며 실제로 송신되지는 않는다.






댓글 없음:

댓글 쓰기