Qué es UDP, el protocolo UDP y sus ventajas y desventajas
UDP significa User Datagram Protocol, que es un protocolo utilizado para soportar conexiones de red que requieren la transmisión de datos entre computadoras.
UDP es un protocolo que se ha utilizado durante muchos años. Aunque su uso no está tan extendido como TCP, UDP sigue siendo un protocolo de capa de transporte de red muy práctico y factible. Especialmente en algunos escenarios de aplicaciones en tiempo real, como juegos en línea, videoconferencias, etc., la función rápida del protocolo UDP tiene un encanto único.
UDP es un protocolo no orientado a conexión. No orientado a la conexión significa que no es necesario establecer una conexión con la otra parte antes de la comunicación formal, y los datos se pueden enviar directamente sin importar en qué estado se encuentre la otra parte. El protocolo UDP no puede controlar si la otra parte puede recibir datos, por lo que UDP es un protocolo poco confiable.
El protocolo UDP es adecuado para aplicaciones que solo transmiten una pequeña cantidad de datos a la vez y no requieren alta confiabilidad.
Al igual que el protocolo TCP descrito anteriormente, el protocolo UDP se encuentra directamente encima del protocolo IP. De hecho, el protocolo IP pertenece a la capa de red del modelo de referencia OSI, mientras que los protocolos UDP y TCP pertenecen a la capa de transporte.
Debido a que UDP es un protocolo no orientado a la conexión y no requiere el establecimiento de una conexión, es muy eficiente, pero debido a esto, su confiabilidad no es tan buena como la de TCP.
La función principal del protocolo UDP es completar la conversión entre flujos de datos de red y datagramas. En el extremo emisor del mensaje, el protocolo UDP encapsula el flujo de datos de la red en un datagrama y envía el datagrama en el extremo receptor del mensaje, el protocolo UDP convierte el datagrama en contenido de datos real.
Puedes pensar que los sockets UDP son similares a los muelles y los datagramas son similares a los contenedores. El muelle es responsable de enviar y recibir contenedores, mientras que el socket es responsable de enviar y recibir datagramas. Por lo tanto, no existe el concepto de lado cliente o servidor en la comunicación basada en UDP.
Una comparación simple del protocolo UDP y el protocolo TCP es la siguiente:
TCP: Tamaño de transferencia ilimitado y confiable, pero requiere tiempo de configuración de la conexión y una mayor sobrecarga de control de errores.
Protocolo UDP: poco fiable, menos gastos generales de control de errores, tamaño de transmisión limitado a menos de 64 KB, no requiere conexión. A diferencia de TCP, UDP es un protocolo de red poco confiable que crea un socket en cada extremo de la instancia de comunicación, pero no existe un vínculo virtual entre los dos sockets; son simplemente objetos que envían y reciben datagramas;