UDP: Protocolo esencial para transmisión de datos rápida

ESPECIAL

UDP: Conozca la revolución silenciosa en la transmisión de datos



Dirección copiada

Más allá de las definiciones técnicas, que resultan confusas, es recomendable entender dónde se ubica en el contexto amplio de la arquitectura de internet.

Publicado el 18 sep 2023



On,A,Bright,Blue,Background,,Light,Wooden,Blocks,And,Cubes
On a bright blue background, light wooden blocks and cubes with the text UDP User Datagram Protocol

Al hablar de ataques DDoS —más tarde que temprano— se menciona al protocolo de datagrama de usuario (User Datagram Protocol, UDP, por sus siglas en inglés), pero ¿qué es UDP? Es uno de los pilares que hace posible la transmisión de datos entre servidores y dispositivos.

Este protocolo es fundamental en la estructura de internet, permitiendo la transferencia rápida de datos entre servidores y dispositivos, especialmente en aplicaciones de baja latencia. 

El tráfico de internet depende de protocolos como TCP y UDP, que gestionan la transmisión de datos. Mientras que TCP garantiza la fiabilidad, UDP ofrece velocidad en aplicaciones en tiempo real.

¿Qué es UDP? 

UDP (User Datagram Protocol) es un protocolo de comunicación sin conexión utilizado para enviar datagramas a través de redes IP. A diferencia de TCP, no establece una conexión previa y no garantiza la entrega de datos, pero es muy eficiente para aplicaciones que requieren rapidez, como streaming, gaming y llamadas VoIP.

UDP, a pesar de no ser tan confiable como TCP en términos de fiabilidad, incluye un mecanismo básico de detección de errores mediante una suma de verificación (checksum), lo que ayuda a identificar datos corruptos. Una de las características clave de UDP es que no garantiza que los paquetes lleguen en el orden correcto, lo que lo hace menos confiable para aplicaciones que requieren integridad total de los datos, como TCP.

Diagrama comparativo entre la comunicación mediante TCP y UDP. TCP requiere una conexión establecida (handshake), mientras que UDP permite una transmisión rápida sin conexión previa. Fuente de Cloudflare.

UDP en la arquitectura de internet 

La diferencia entre TCP y UDP radica en cómo manejan la transmisión de datos. TCP y UDP trabajan en conjunto dentro de la arquitectura de internet. TCP es confiable pero más lento, mientras que UDP es ideal para aplicaciones que requieren rapidez, como el gaming.

El primero de ellos, la familia, pila o conjunto de protocolos de internet, abarca componentes que permiten la comunicación efectiva y la transmisión de datos entre los dispositivos de una red.

Esta familia suele recibir el nombre de conjunto de protocolos TCP/IP (protocolo de control de transmisión/protocolo de internet), debido a que son los dos integrantes que primero se definieron y son también muy utilizados. Hay más de cien diferentes protocolos en la familia, entre los cuales podemos identificar algunos como HTTP (protocolo de transferencia de hipertexto), SMTP (protocolo para transferencia simple de correo), así como el que nos ocupa, UDP (protocolo de datagrama de usuario).

El modelo de capas TCP/IP es esencial para el funcionamiento de redes y sistemas IT, donde el protocolo UDP se sitúa en la capa de transporte, facilitando la transmisión rápida de datos sin necesidad de establecer conexiones. El modelo se basa en un esquema de mejores prácticas, por lo que hay interpretaciones que plantean ya sea cuatro o bien, cinco capas, ambos enfoques igualmente válidos. Tomando como base cuatro capas, el protocolo UDP trabaja en la tercera, la de transporte.  

Historia y evolución del protocolo UDP

Una breve revisión de antecedentes históricos nos lleva al año 1973 y a los trabajos que se desarrollaban en DARPA (Defense Advanced Research Projects Agency) en los Estados Unidos. En aquel momento, se sumaron los esfuerzos de dos importantes equipos para desarrollar modelos de interconexión entre arquitecturas de la incipiente internet. Robert E. Kahn y Vicent Cerf encabezaban a estos equipos, que reformularon desde las bases la cuestión de los protocolos.

Las diferencias entre protocolos de red quedarían subordinadas a un protocolo común entre redes -IP o protocolo de internet-, en tanto que la confiabilidad descansaría sobre el equipamiento. El router o equipo encaminador de red asume un rol importante, con una conexión a cada red, para encargarse de enviar paquetes -de datos- entre ellas.

De esta manera se logró resolver la problemática de interconexión entre las redes de satélites y las de radio que preocupaba a Kahn, en tanto Cerf, en Stanford desarrolló el nuevo modelo, dando origen a la primera especificación de TCP. Para 1978, se publicó la versión estable TCP/IP versión 4 que aún se emplea en internet.

Dos años después, David P. Reed diseñó el protocolo UDP (User Datagram Protocol) en 1980 para trabajar sobre IP. UDP sigue siendo clave, especialmente con la implementación de QUIC, que mejora la eficiencia de UDP en aplicaciones

TCP/IP fue elegido en 1982 como el protocolo de uso estándar por el departamento de defensa de los Estados Unidos. Desde entonces, TCP/IP ha seguido siendo el estándar global. UDP ha adquirido una relevancia renovada gracias a QUIC, utilizado en HTTP/3 y otras aplicaciones que requieren baja latencia y alta eficiencia en la transmisión de datos.

Principios, características y funcionamiento del protocolo UDP

En cuanto a la estructura de un paquete UDP, la cabecera incluye campos como el puerto de origen y puerto de destino, lo que permite la transmisión rápida de datagramas sin preocuparse por la verificación de errores. Un datagrama es un paquete de datos autónomo que se envía a través de una red sin necesidad de establecer una conexión previa.

Trabaja con paquetes o datagramas enteros, es decir que intercambia información en forma de bloques de bytes, en vez de hacerlo con bytes individuales como lo hace TCP.

UDP no garantiza que los paquetes lleguen en el orden correcto ni la confiabilidad de los datos. Sin embargo, es ideal para aplicaciones que pueden tolerar la pérdida de algunos paquetes, como los juegos en línea o las videoconferencias.

Por último, ya que es sencillo y emplea cabeceras muy simples, genera poca carga adicional en la red.

¿Cómo se estructura la cabecera UDP?

Cada paquete UDP presenta una cabecera o header y los datos reales del usuario. La cabecera UDP tiene la información necesaria para ser identificado como tal y para la transmisión de datos sobre IP. La estructura de la cabecera UDP tiene cuatro campos y está dividida en dos bloques de 32 bits. Los campos son: puerto de origen, puerto de destino, longitud del mensaje y suma de verificación.

El puerto de origen es opcional y puede tener un valor de cero cuando no se espera respuesta del destinatario. El puerto de destino también tiene 16 bits y se utiliza para identificar el proceso de recepción.

El puerto de destino también tiene 16 bits e identifica el proceso de recepción.

Longitud es el campo donde se indica en bytes el tamaño del datagrama o longitud total del segmento, incluidos los datos del usuario.

Y la suma de comprobación o checksum es un campo con 16 bits que abarca una seudocabecera IP -con las IP origen y destino, el protocolo y la longitud del paquete UDP-, la cabecera UDP, los datos y ceros hasta completar un múltiplo de 16. Permite controlar la integridad del segmento. Este campo es opcional en IPv4 y obligatorio en IPv6.

El papel de UDP en la comunicación de redes

UDP sigue siendo común en VPNs tradicionales, pero con la aparición de QUIC y protocolos como WireGuard, ha mejorado la eficiencia y la seguridad, garantizando menor latencia y mayor velocidad en las conexiones.

Con la mirada puesta en esquemas muy recientes, WireGuard utiliza UDP y se destaca por su eficiencia y seguridad, incorporando TLS 1.3 para proporcionar encriptación desde la capa de transporte. Este enfoque lo hace más rápido y eficiente que otros protocolos como OpenVPN muy seguros y eficientes. Sólo utiliza el protocolo UDP, por su rapidez y por el tamaño pequeño de su cabecera. WireGuard permite por ejemplo realizar el llamado roaming VPN fácil y rápidamente.

Ventajas y beneficios del protocolo UDP

UDP puede parecer un protocolo de poca importancia, pero no es así. Aunque de hecho TCP atrae todos los reflectores, es UDP el indicado para dar soporte a las aplicaciones intensivas en ancho de banda, con tolerancia a la pérdida de paquetes, con poco retraso, que funciona independientemente del sistema operativo y permite las llamadas “pequeñas transacciones” o búsquedas DNS (sistema de nombres de dominio o Domain Name System por sus siglas en inglés).

Transmisión de video y voz

La transmisión de video y voz a través de una red, cuando se hace en tiempo real, privilegia el uso de UDP para ello, debido a que no hay oportunidad para enviar de nuevo paquetes perdidos. Lo mejor del caso es que esos paquetes no afectan la transmisión, ya que ésta continúa hasta el final.  

En tales aplicaciones, voz y video en tiempo real, lo que se difunde por medio de UDP pueden ser recibido por un gran número de destinatarios o clientes, sin sobrecarga del lado del servidor.

Comparación entre UDP y TCP. Usos, consideraciones y diferencias.

Tanto UDP como TCP son protocolos, es decir conjuntos de reglas que determinan el formato de los datos y su envío a través de una red. En este caso, ambos, UDP y TCP hacen el mismo trabajo de transferencia de datos a través de internet, pero en forma diferente.

UDP es un protocolo sin conexiones, es rápido, ligero y poco fiable. Los envíos de datos no tienen confirmación de recepción ni se puede comprobar la existencia de errores, así que parte o todo lo enviado puede perderse durante la transmisión.

Por su parte TCP es un protocolo basado en conexiones, es pesado, genera una línea de comunicación segura y fiable que garantiza la transmisión de todos los datos, a un ritmo cuya velocidad depende de la integridad y confirmación de recepción de todos los datos.

El protocolo UDP es la elección para llevar a cabo broadcast y multicast, esto, para el streaming en directo, videochats y juegos en línea.

TCP puede ser usado para configurar y establecer una conexión entre dos equipos de cómputo; soporta varios protocolos de enrutamiento; funciona con independencia de sistemas operativos. Además, forma parte -junto con IP-, de una arquitectura cliente servidor altamente escalable.

El tráfico UDP, especialmente en aplicaciones de tiempo real como el streaming, puede consumir una parte significativa del ancho de banda. Sin embargo, con la adopción de QUIC, los mecanismos de control de congestión ayudan a equilibrar el uso del ancho de banda, permitiendo que las aplicaciones TCP y UDP coexistan sin problemas de rendimiento. Ambos protocolos circulan por la misma red, son igualmente importantes, así que en el diseño de la red deben quedar bien definidos los criterios para su funcionamiento equilibrado. 

Implementación de UDP en aplicaciones y dispositivos

Hay un concepto acerca de UDP que considera a este protocolo como una interfaz de aplicación para IP. Tomando este enfoque, hay varias aplicaciones que utilizan UDP, como son los casos de:

  • Protocolo de Transferencia de Ficheros Trivial (TFTP)
  • Sistema de Nombres de Dominio (DNS) servidor de nombres
  • Llamada a Procedimiento Remoto (RPC) usado por el Sistema de Ficheros en Red (NFS)
  • Sistema de Computación de Redes (NCS)
  • Protocolo de Gestión Simple de Redes (SNMP)

Casos de uso y ejemplos de aplicaciones que utilizan el protocolo UDP

Sorprende que hay elementos frecuentemente utilizados de los que poco sabemos, como es el caso de UDP, un protocolo rápido y eficiente que hace posible el funcionamiento de varios tipos de aplicaciones.

Videoconferencia

Zoom, Meet, Teams, Skype y otras más, son aplicaciones de videoconferencia en tiempo real, no tolerantes al retraso en la recepción de datos, que usan los servicios UDP.

Juegos en línea

La mayoría de los juegos en línea emplean los servicios UDP debido a su rapidez, pero sobre todo debido a que no hay tolerancia para el retraso en la transmisión de datos.

Voz sobre IP (VoIP)

La opción que ofrece WhatsApp para llamadas de voz utiliza UDP. Discord, aplicación muy bien posicionada en el segmento de gamers -permitiéndoles reunirse, coordinar el juego y hablar mientras juegan-, emplea UDP. La muy tradicional aplicación Skype, también usa UDP, así como Viber y Meet.

Perspectivas futuras de UDP

En tanto siga creciendo el uso del streaming en tiempo real, de los juegos en línea y de los videochats, UDP tiene asegurado su lugar como el protocolo de elección debido a que es simple, rápido y eficiente, además de representar menos gasto, necesitar menos espacio y menos recursos.

Artículos relacionados

Artículo 1 de 5