* Se desea una comunicación sin conexión: Las redes de datagramas no establecen una conexión dedicada antes de enviar datos. Cada paquete es independiente y enrutado individualmente. Esto contrasta con los protocolos orientados a la conexión como TCP.
* La eficiencia es primordial, incluso a costa de confiabilidad: Debido a que los datagramas no requieren la configuración de la conexión y la sobrecarga de desmontaje, son más eficientes para ráfagas cortas de datos o cuando las condiciones de la red son impredecibles. Sin embargo, esta eficiencia tiene el costo de la pérdida potencial de paquetes o la entrega fuera de orden, lo que requiere protocolos de nivel superior para manejar.
* Se necesita comunicación de transmisión o multidifusión: Los datagramas son adecuados para enviar un solo mensaje a varios destinatarios simultáneamente.
* Las aplicaciones en tiempo real con jitter tolerable están involucradas: Si bien los datagramas no garantizan la orden de entrega, a menudo son suficientes para aplicaciones donde los retrasos ocasionales o la pérdida de paquetes son aceptables, como la transmisión de audio o video. En tales casos, la aplicación misma maneja la retransmisión o la corrección de errores.
* Las aplicaciones necesitan implementación simple: La falta de establecimiento y desmontaje de conexión simplifica la implementación de aplicaciones que usan datagramas.
Ejemplos de protocolos que usan datagramas:
* UDP (Protocolo de datagrama de usuario): Un protocolo de capa de transporte ampliamente utilizado que proporciona una comunicación sin conexión. A menudo se usa para transmitir medios de comunicación, juegos en línea y búsqueda de DNS.
* IP (protocolo de Internet): El protocolo de capa de red que enruta los datagramas a través de Internet. Es la base de la comunicación de Internet.
En resumen, los datagramas son el caballo de batalla de la comunicación sin conexión, proporcionando eficiencia a costa de cierta fiabilidad. Su idoneidad depende en gran medida de los requisitos de la aplicación específica. Si la confiabilidad es crucial, entonces TCP (u otro protocolo orientado a la conexión) generalmente se prefiere.