User Datagram Protocol (UDP)
es
un protocolo mínimo de nivel de transporte orientado a mensajes
documentado en el RFC 768 de la IETF.
En la familia de protocolos de Internet UDP
proporciona una sencilla interfaz entre la capa de red y
la capa de aplicación. UDP no otorga garantías
para la entrega de sus mensajes (por lo que realmente no se debería encontrar
en la capa 4) y el origen UDP no retiene estados de los mensajes UDP que han
sido enviados a la red. UDP sólo añade multiplexado de aplicación y suma de verificación de la cabecera
y la carga útil. Cualquier tipo de garantías para la transmisión de la
información deben ser implementadas en capas superiores.
+
|
Bits 0 - 15
|
16 - 31
|
0
|
Puerto origen
|
Puerto destino
|
32
|
Longitud del Mensaje
|
Suma de verificación
|
64
|
Datos |
La cabecera UDP consta de 4 campos de los cuales 2 son opcionales
(con fondo rojo en la tabla). Los campos de los puertos fuente y destino son
campos de 16
bits que
identifican el proceso de origen y recepción. Ya que UDP carece de un servidor de
estado y el origen UDP no solicita respuestas, el puerto origen es opcional. En
caso de no ser utilizado, el puerto origen debe ser puesto a cero. A los campos
del puerto destino le sigue un campo obligatorio que indica el tamaño en bytes del datagrama UDP
incluidos los datos. El valor mínimo es de 8 bytes. El campo de la cabecera
restante es una suma de comprobación de 16 bits que abarca una pseudo-cabecera
IP (con las IP origen y destino, el protocolo y la longitud del paquete UDP),
la cabecera UDP, los datos y 0's hasta completar un múltiplo de 16. El checksum
también es opcional en IPv4, aunque generalmente se utiliza en la práctica (en
IPv6 su uso es obligatorio). A continuación se muestra los campos para el
cálculo del checksum en IPv4, marcada en rojo la pseudo-cabecera IP.
bits
|
0 – 7
|
8 – 15
|
16 – 23
|
24 – 31
|
0
|
Dirección Origen
|
|||
32
|
Dirección Destino
|
|||
64
|
Ceros
|
Protocolo
|
Longitud UDP
|
|
96
|
Puerto Origen
|
Puerto Destino
|
||
128
|
Longitud del Mensaje
|
Suma de verificación
|
||
160
|
Datos |
El protocolo UDP se utiliza por ejemplo cuando se
necesita
transmitir voz o vídeo y resulta más importante transmitir con
velocidad que garantizar el hecho de que lleguen absolutamente todos los bytes.
Puertos
UDP utiliza puertos para permitir la comunicación entre
aplicaciones. El campo de puerto tiene una longitud de 16 bits, por lo que el
rango de valores válidos va de 0 a 65.535. El puerto 0 está reservado, pero es
un valor permitido como puerto origen si el proceso emisor no espera recibir
mensajes como respuesta.
Los puertos 1 a 1023 se llaman puertos "bien
conocidos" y
en sistemas operativos tipo Unix enlazar con uno de estos
puertos requiere acceso como superusuario.
Los puertos 1024 a 49.151 son puertos registrados.
Los puertos 49.152 a 65.535 son puertos efímeros y son
utilizados como puertos temporales, sobre todo por los clientes al comunicarse
con los servidores.
Uso en aplicaciones
La mayoría de las aplicaciones claves de Internet
utilizan el
protocolo UDP, incluyendo: el Sistema de Nombres de Dominio (DNS),
donde las consultas deben ser rápidas y solo contaran de una sola solicitud,
luego de un paquete único de respuesta, el Protocolo de Administración de Red
(SNMP), el Protocolo de Información de Enrutamiento (RIP) y el Protocolo de
Configuración dinámica de host(DHCP).
Principales Características
Las características principales de este protocolo son:
1. Trabaja sin conexión, es decir que no emplea ninguna
sincronización entre el origen y el destino.
2. Trabaja con paquetes o datagramas enteros, no con
bytes individuales como TCP. Una aplicación que emplea el protocolo UDP
intercambia información en forma de bloques de bytes, de forma que por cada
bloque de bytes enviado de la capa de aplicación a la capa de transporte, se
envía un paquete UDP.
3. No es fiable. No emplea control del flujo ni ordena
los paquetes.
4. Su gran ventaja es que provoca poca carga adicional en
la red ya que es sencillo y emplea cabeceras muy simples.
5. Un paquete UDP puede ser fragmentado por el protocolo
IP para ser enviado fragmentado en varios paquetes IP si resulta necesario.
6. Puesto que no hay conexión, un paquete UDP admite
utilizar como dirección IP de destino la dirección de broadcast o de multicast
de IP. Esto permite enviar un mismo paquete a varios destinos.
Código de ejemplo (Java)

Características del protocolo UDP
El protocolo UDP (Protocolo de datagrama de usuario)
es un protocolo no orientado a conexión de lacapa de transporte del
modelo TCP/IP.
Este protocolo es muy simple ya que no proporciona detección de errores (no es
un protocolo orientado a conexión).
Por lo tanto, el encabezado del segmento UDP es muy
simple:
puerto de origen
(16 bits); |
puerto de destino
(16 bits); |
longitud total
(16 bits); |
suma de comprobación del encabezado
(16 bits); |
Datos
(longitud variable). |
- Puerto de origen: es el número de puerto relacionado con la aplicación del remitente del segmento UDP. Este campo representa una dirección de respuesta para el destinatario. Por lo tanto, este campo es opcional. Esto significa que si el puerto de origen no está especificado, los 16 bits de este campo se pondrán en cero. En este caso, el destinatario no podrá responder (lo cual no es estrictamente necesario, en particular para mensajes unidireccionales).
- Puerto
de destino: este campo contiene el puerto
correspondiente a la aplicación del equipo receptor al que se envía.
- Longitud:
este campo especifica la longitud total del segmento, con el encabezado
incluido. Sin embargo, el encabezado tiene una longitud de 4 x 16 bits
(que es 8 x 8 bits), por lo tanto la longitud del campo es necesariamente
superior o igual a 8 bytes.
- Suma
de comprobación: es una suma de
comprobación realizada de manera tal que
permita controlar la integridad del segmento.
No hay comentarios:
Publicar un comentario