Tabla de Contenido
1. ¿Qué es UDP?
UDP (Protocolo de datagramas de usuario) es un protocolo de comunicaciones alternativo al Protocolo de Control de Transmisión (TCP) utilizado principalmente para establecer conexiones de baja latencia y tolerancia a pérdidas entre aplicaciones en Internet.
Tanto UDP como TCP se ejecutan sobre el Protocolo de Internet (IP) y a veces se los denomina UDP/IP o TCP/IP. Pero hay diferencias importantes entre los dos.
Cuando UDP habilita la comunicación de proceso a proceso, TCP admite la comunicación de host a host. TCP envía paquetes individuales y se considera un medio de transporte confiable; UDP envía mensajes, llamados datagramas, y se considera un modo de comunicación de mejor esfuerzo.
Además, cuando TCP proporciona errores y control de flujo, tales mecanismos no son compatibles con UDP. UDP se considera un protocolo sin conexión porque no requiere que se establezca un circuito virtual antes de que ocurra cualquier transferencia de datos.
UDP proporciona dos servicios no proporcionados por la capa IP. Proporciona números de puerto para ayudar a distinguir las diferentes solicitudes de los usuarios y, opcionalmente, una capacidad de checksum (suma de verificación) para verificar que los datos llegaron intactos.
TCP se ha convertido en el protocolo dominante utilizado para la mayor parte de la conectividad a Internet debido a su capacidad para dividir grandes conjuntos de datos en paquetes individuales, verificar y reenviar paquetes perdidos y volver a ensamblar los paquetes en la secuencia correcta. Pero estos servicios adicionales tienen un costo en términos de sobrecarga de datos adicionales y retrasos llamados latenci .
Por el contrario, UDP solo envía los paquetes, lo que significa que tiene una sobrecarga y latencia de ancho de banda mucho menor . Con UDP, los paquetes pueden tomar diferentes caminos entre el remitente y el receptor y, como resultado, algunos paquetes pueden perderse o recibirse fuera de servicio.
2. Características del Protocolo de Datagramas de Usuario
El protocolo de datagramas de usuario tiene atributos que lo hacen ventajoso para su uso con aplicaciones que pueden tolerar la pérdida de datos.
- Permite que los paquetes se descarten y se reciban en un orden diferente al que se transmitieron, lo que lo hace adecuado para aplicaciones en tiempo real donde la latencia podría ser un problema.
- Se puede usar para protocolos basados en transacciones, como DNS o Network Time Protocol (NTP).
- Se puede usar donde hay un gran número de clientes conectados y donde no es necesaria la corrección de errores en tiempo real, como juegos, conferencias de voz o video y streaming de medios.
3. Composición del encabezado UDP
UDP utiliza encabezados como parte del paquete de datos de mensajes para transferir a través de conexiones de red. Los encabezados UDP contienen un conjunto de parámetros llamados campos, definidos por las especificaciones técnicas del protocolo.
El encabezado del Protocolo de datagramas de usuario tiene cuatro campos, cada uno de los cuales tiene 2 bytes. Son:
- número de puerto de origen, que es el número del remitente;
- número de puerto de destino, el puerto al que se dirige el datagrama;
- longitud, la longitud en bytes del encabezado UDP y cualquier dato encapsulado; y
- checksum, que se utiliza en la comprobación de errores. Su uso es obligatorio en IPv6 y opcional en IPv4.
4. Cómo funciona UDP
UDP usa el Protocolo de Internet para obtener un datagrama (unidad de datos) de una computadora a otra. UDP funciona encapsulando datos en un paquete UDP y agregando su propia información de encabezado al paquete. Estos datos consisten en los puertos de origen y destino para comunicarse, la longitud del paquete y una checksum. Después de que los paquetes UDP se encapsulan en un paquete de Protocolo de Internet, se envían a sus destinos.
A diferencia de TCP, UDP no garantiza que los paquetes lleguen a los destinos correctos. Eso significa que UDP no se conecta a la computadora receptora directamente como lo hace TCP. Por el contrario, envía los datos y se basa en los dispositivos entre las computadoras de envío y recepción para obtener los datos donde se supone que deben ir correctamente.
La mayoría de las aplicaciones que utilizan UDP sólo esperan las respuestas que se prevén como resultado de los paquetes enviados a través de UDP. Si una aplicación no recibe una respuesta dentro de un cierto plazo, la aplicación envía el paquete de nuevo o deja de intentarlo.
UDP utiliza un modelo de transmisión simple que no incluye diálogos de handshaking implícitos para proporcionar confiabilidad, pedidos o integridad de datos. En consecuencia, el servicio UDP no es confiable y los paquetes pueden llegar fuera de servicio, parecer tener duplicados o desaparecer sin previo aviso.
Aunque este método de transmisión no garantiza que los datos que se envían llegarán a su destino, tiene una sobrecarga muy baja y es popular para servicios que no tienen que funcionar absolutamente la primera vez.
5. Aplicaciones de UDP
UDP puede usarse en aplicaciones que requieren transmisión de datos sin pérdida cuando la aplicación está configurada para administrar el proceso de retransmisión de paquetes perdidos y organizar correctamente los paquetes recibidos. Este enfoque puede ayudar a mejorar la velocidad de transferencia de datos de archivos grandes en comparación con TCP.
En el modelo de comunicación de interconexión de sistemas abiertos (OSI), UDP, como TCP, está en la capa 4, la capa de transporte. UDP funciona junto con protocolos de nivel superior para ayudar a administrar los servicios de transmisión de datos, incluidos el Protocolo de transferencia de archivos trivial (TFTP), el Protocolo de transmisión en tiempo real (RTSP), el Protocolo simple de red (SNP) y las búsquedas del sistema de nombres de dominio (DNS).
UDP es un protocolo ideal para aplicaciones de red en las que la latencia percibida es crítica, como en los juegos y las comunicaciones de voz y video, que pueden sufrir alguna pérdida de datos sin afectar negativamente la calidad percibida. En algunos casos, las técnicas de corrección de errores de reenvío se utilizan para mejorar la calidad de audio y video a pesar de alguna pérdida.
UDP también se puede usar para aplicaciones que dependen del intercambio confiable de información, pero deben tener sus propios métodos para responder paquetes. Estos servicios son ventajosos porque no están sujetos a patrones fijos para garantizar la integridad y exactitud de los paquetes de datos enviados. Los usuarios pueden decidir cómo y cuándo responder a la información que no es correcta u ordenada.
UDP también se puede usar para multidifusión porque admite la conmutación/switching de paquetes. Además, UDP se utiliza para algunos protocolos de actualización de enrutamiento, como el Protocolo de información de enrutamiento (RIP). UDP puede usarse en aplicaciones donde la velocidad en lugar de la confiabilidad es crítica. Por ejemplo, podría ser prudente usar UDP en una aplicación que envía datos desde una adquisición rápida donde está bien perder algunos puntos de datos.
6. TCP vs. UDP
TCP y UDP son parte del conjunto de protocolos TCP/IP, que incluye una serie de protocolos para llevar a cabo comunicaciones de red.
Características UDP:
- es un protocolo sin conexión
- se utiliza para VoIP , transmisión de video, juegos y transmisiones en vivo
- es más rápido y necesita menos recursos
- los paquetes no necesariamente llegan en orden
- permite paquetes faltantes. El remitente no puede saber si se ha recibido un paquete
- más adecuado para aplicaciones que necesitan una transmisión rápida y eficiente, como juegos.
Características del TCP:
- es un protocolo orientado a la conexión
- es el protocolo más utilizado en Internet.
- garantiza que no falten paquetes y que todos los datos enviados se envíen al destinatario
- envía paquetes en orden para que se puedan volver a unir fácilmente.
- es más lento y requiere más recursos
- tiene un encabezado más grande que UDP
- Se adapta mejor a las aplicaciones que necesitan alta confiabilidad, y el tiempo de transmisión es relativamente menos crítico.
TE PUEDE INTERESAR:
- Redes: ¿Cuáles son las diferencias entre el protocolo TCP y UDP?
- TCP y UDP: Explicación y Comparación
Puedes consultar más términos en mi diccionario de redes de computadoras.
Si tienes alguna otra duda o término, déjala en los comentarios… 🙂