Untitled

datagram = data + (tele)gram

데이터그램은 각각이 independent entity로서, 고유한 의미를 갖는다.

데이터를 전보와 비슷한 방식으로 보낸다.

전보와 같은 방식 = 짧은 메세지를 ‘낱장’으로 보냄

IP 데이터그램 하나에 들어갈 수 있을 정도의 UDP 데이터그램을 담아서 보냄

UDP 데이터그램 최대 크기 = MTU - IHL(20)

UDP 역할

multiplexing & demultiplexing, 양 호스트(endpoint) 내의 응용 프로세스간 통신을 지원

호스트 커널과 응용 프로세스 사이에서 데이터를 배달한다.

  1. 호스트 IP로부터 UDP 데이터그램을 전달받아 UDP 헤더를 제거
  2. UDP 헤더(+ pseudo header)의 필드를 토대로 전송 계층 주소 <IP address, Port number>로 구성된 목적지 프로세스를 식별

전송 계층 주소는 호스트의 프로세스를 식별한다.

  1. UDP 페이로드를 적절한 목적지 응용 프로세스(socket)로 전달

UDP 활용

실시간 프로세스 예시 - 전화(VoIP), Zoom

비디오 스트리밍 예시 - Youtube(저장된 영상을 송출하며 버퍼링 존재)

  1. 실시간 응용 (프로세스 turnaround time 제한 존재)

    TCP는 응용 계층과 무관히 송신 속도 조절 (flow control, congestion control)

    UDP는 송신 속도를 일정하게 유지함

  2. transaction-oriented

    간단한 transaction을 사용하는 응용 - DNS, DHCP 등

    TCP는 연결 생성, 해제에 시간과 패킷 사용함

  3. IP multicast/broadcast 통신을 사용하는 응용