네트워크/네트워크

프로토콜 - UDP(사용자 데이터그램 프로토콜)

본클라쓰 2009. 5. 1. 13:02

 

UDP는 RFC 768에 정의된 TCP/IP 표준이다.

 

UDP는 일부 프로그램에서 TCP/IP 호스트 간에 신뢰할 수 없지만 빠르고 간단하게 데이터를 전송할 때 TCP 대신 사용한다.

 

UDP는 우선 순위가 낮게 전송되는 연결 없는 데이터그램 서비스를 제공한다. 즉, UDP는 전송을 보장하거나 데이터그램의 순차적인 정렬을 확인하지 않는다. 신뢰할 수 있는 통신이 필요한 원본 호스트에서는 TCP나 정렬 또는 승인 서비스를 제공하는 프로그램을 사용해야 한다.

 

 

 

UDP 포트

 

UDP 포트는 UDP 메시지를 보내고 받는 위치가 된다. UDP 포트는 각 프로토콜 포트 번호에 지정된 프로그램으로 보내는 모든 데이터그램을 받기 위한 단일 메시지 큐 기능을 한다. 즉, UDP 기반 프로그램은 한 번에 하나 이상의 메시지를 받을 수 있다.

 

UDP를 사용하는 각 프로그램의 서버 측에서는 잘 알려진 포트 번호에 도달하는 메시지를 수신한다. 1,024보다 작은 모든 UDP 서버 포트 번호와 일부 1,024보다 큰 UDP 서버 포트 번호는 IANA에 의해 예약 및 등록되어 있다.

 

다음은 잘 알려진 UDP 서버 포트 번호의 일부이다.

  • 53 : DNS 이름 쿼리
  • 69 : TFTP(Trivial File Transfer Protocol)
  • 137 : NetBIOS 이름 서비스
  • 138 : NetBIOS 데이터그램 서비스
  • 161 : SNMP(Simple Network management protocol)
  • 520 : RIP(Routing Information Protocol)

 

 

일반적으로 UDP 및 TCP의 데이터 전송 방식의 차이는 전화 및 엽서의 차이와 비슷하다. TCP는 대상이 사용 가능하고 통신할 준비가 되어 있는지를 확인하므로 전화와 비슷하다. UDP는 엽서처럼 메시지가 작고 쉽게 전송할 수 있지만 반드시 전송되지 않는다.

 

UDP는 일반적으로 한 번에 적은 양의 데이터를 전송하거나 실시간 요청이 있는 프로그램에서 사용된다. 이러한 경우 TCP보다는 데이터그램 하나에 여러 수신자가 있는 경우처럼 오버헤드가 적고 멀티케스팅 기능을 가진 UDP가 적합하다.

 

UDP는 TCP에서 제공하는 서비스 및 기능과는 완전히 다른다.

 

UDP는 호스트 사이에 세션이 설정되지 않는 연결 없는 서비스로, 전송 승인이나 데이터 정렬을 보장하지 않는다. UDP는 빠르고 어버헤드가 적게 필요하며 지점 간 통신과 지점 대 다중 지점 간 통신을 지원할 수 있다.