¿Qué es el protocolo UDP?
Al igual que el conocido protocolo TCP (Protocolo de control de transmisión), el protocolo UDP está directamente encima del protocolo IP (Protocolo de Internet). Según el modelo de referencia OSI (Open Systems Interconnection), tanto UDP como TCP son protocolos de capa de transporte.
La función principal del protocolo UDP es comprimir el tráfico de datos de la red en forma de datagramas. Un datagrama típico es una unidad de transmisión de datos binarios. Los primeros 8 bytes de cada datagrama se utilizan para contener información de encabezado y los bytes restantes se utilizan para contener datos de transmisión específicos.
Encabezado UDP
El encabezado UDP consta de cuatro campos, cada campo ocupa 2 bytes, como se muestra a continuación:
Número de puerto de origen
Número de puerto de destino
Longitud del datagrama
Valor de verificación
El protocolo UDP utiliza números de puerto para reservar sus propios canales de transmisión de datos para diferentes aplicaciones. Los protocolos UDP y TCP utilizan este mecanismo para admitir múltiples aplicaciones que envían y reciben datos simultáneamente. El remitente de datos (cliente o servidor) envía datagramas UDP a través del puerto de origen y el receptor de datos recibe los datos a través del puerto de destino. Algunas aplicaciones de red solo pueden usar puertos estáticos registrados o reservados previamente; otras aplicaciones de red pueden usar puertos dinámicos no registrados. Debido a que el encabezado UDP utiliza dos bytes para almacenar el número de puerto, el rango válido de números de puerto es de 0 a 65535. En términos generales, los números de puerto superiores a 49151 representan puertos dinámicos.
La longitud del datagrama se refiere al número total de bytes incluyendo el encabezado y las partes de datos. Debido a que la longitud del encabezado es fija, este campo se usa principalmente para calcular la porción de datos de longitud variable (también llamada carga útil de datos). La longitud máxima de un datagrama varía según el entorno operativo. Teóricamente, la longitud máxima de un datagrama, incluido el encabezado, es de 65535 bytes. Sin embargo, algunas aplicaciones prácticas suelen limitar el tamaño del datagrama, reduciéndolo en ocasiones a 8192 bytes.
El protocolo UDP utiliza el valor de verificación en el encabezado para garantizar la seguridad de los datos. El valor de verificación se calcula primero mediante un algoritmo especial en el remitente de datos y debe volver a calcularse después de la transmisión al receptor. Si un tercero manipula un datagrama durante la transmisión o se daña por el ruido de la línea, los cálculos de suma de verificación del remitente y del receptor no coincidirán, por lo que el protocolo UDP puede detectar si hay un error. Esto es diferente del protocolo TCP, que requiere un valor de verificación.