사용자:짜장국수/연습장

User Datagram Protocol(UDP)는 인터넷 인터넷 프로토콜(인터넷을 위한 네트워크 프로토콜의 집합)의 주요 프로토콜 중 하나다. UDP는 컴퓨터 어플리케이션이 특별한 전송 채널이나 데이터 패스를 지정하기위한 선행 통신 없이도 IP네트워크상의 다른 호스트에게 메세지를 보내는데 이용된다. (이경우 데이터그램문서를 참조하라).1980년에 David P. Reed에 의해 디자인됬으며 RFC 768에서 구체적으로 정의됬다

UDP는 프로토콜 매커니즘의 최소부분만 포함된 간단한 전송모델을 사용한다.[1] 응답 확인 방식의 다이얼로그를 사용하지 않으며, 따라서 사용자 프로그램에 기초하는 네트워크 프로토콜의 취약점을 노출한다.또한 이것은 보통 안전하지 않은 미디어 상에 존재한 IP이므로 전송이나 보안에서의 이점은 없다. UDP는 데이터 무결성을 위해 checksum을 제공하고, 데이터그램의 각자 다른 기능들의 주소를 정하기 위해 port numbers을 지원한다.

UDP는 오류의 검사와 수정이 필요 없거나 애플리케이션에서 수행할 것으로 가정한다. 따라서 네트워크 인터페이스 레벨에서 프로세싱 오버헤드를 방지한다. 시간에 민감한 어플리케이션들은 흔히 UDP를 사용하는데 이는 지연된 패킷을 버리는 것이 기다리는것보다 효율적이기 때문이다.[2] 만약 네트워크 인터페이스 레벨에서 에러 정정기능이 필요하다면 어플리케이션은 TCP나 SCTP를 사용한다.

다음과 같은 UDP의 특성들이 UDP가 특정 어플리케이션에 적합하게 만든다.

  • UDP는 처리 지향적이므로 DNSNTP등의 쿼리-리스폰 프로토콜에 적합하다.
  • 데이터그램을 제공하므로 IP 터널, RPC, NFS등에서 다른 프로토콜들을 모델링하는데 적합하다.
  • UDP는 간단하다. 부트스트랩 등에 적합하게 커다란 프로토콜 스택을 필요로 하지 않는다. 따라서 DHCP나 TFTP에서 쓰인다.
  • 클라이언트의 상태를 저장하지 않는다. 대량의 클라이언트를 처리할수 있어서 IPTV등의 streaming media에 적합하다.
  • 재송신 딜레이가 없어서 Voice over IP온라인 게임등에 적합하다.
  • 단방향 통신에서도 잘 작동한다. 그래서 Service discovery같은 broadcast information이나 방송 시간 알림, 라우팅 인포메이션 프로토콜같은 chared information에서 쓰인다.

서비스 포트 편집

어플리 케이션

  1. RFC 768 p1
  2. Kurose, J. F.; Ross, K. W. (2010). 《Computer Networking: A Top-Down Approach》 5판. Boston, MA: Pearson Education. ISBN 978-0-13-136548-3.