¿Por qué seguimos admitiendo el protocolo UDP?

UDP es un protocolo importante, que proporciona un valor y una función genuinos. Simplemente, es la alternativa a TCP … cuando no necesita esa sobrecarga y / o sesiones orientadas a la conexión. Es muy liviano, tanto en encabezados como en recursos de host / sistema.

UDP se utiliza para VoIP / voz y otras aplicaciones en tiempo real; Consultas DNS, NTP, algunos juegos, algunos servicios de transmisión y mucho más.

En cuanto a la seguridad, debido a que no está orientada a la conexión, puede explotarse de varias maneras, uno de ellos es “ataques de amplificación”. Pero TCP también tiene sus propios riesgos y vectores de ataque, generalmente un mayor riesgo para el host / sistema que un DDoS fuera de la red. Estos ataques UDP DDoS pueden mitigarse con la configuración adecuada, la gestión del software y la seguridad general. La mayor parte de su exposición aún requiere ejecutar un servidor abierto.

Ataques de amplificación basados ​​en UDP
¿Qué es un ataque de amplificación de DNS?

Las principales diferencias entre TCP y UDP tienen que ver con la necesidad de ACK de datos. TCP reconocerá los paquetes y solicitará los que faltan nuevamente, asegurando que los datos lleguen en la secuencia completa y se ensamblen en su orden original, por esta razón es ideal para solicitudes web, transferencias de datos, etc.

Lo que es realmente malo son las comunicaciones en vivo. Si está teniendo una conversación con alguien y faltan algunos paquetes, apenas lo notará, pero si la pila se detiene para esperar esos paquetes, o para reconocer a otros, obtendrá un audio / video roto que será completamente imposible de entender

Las mismas reglas se aplican a los juegos en línea, otro sistema común basado en UDP.

Si bien la naturaleza sin estado de UDP permite su explotación, TCP también tiene sus fallas en términos de susceptibilidad a DDOS, pero en la actualidad, ambos son críticos para las cosas que hacemos a diario.

Editar: para aclarar, HTTP / HTTPS están basados ​​en TCP, por lo que los servidores web no escucharán los datos UDP, son otros servicios en esos hosts / otros hosts que los escuchan

La respuesta corta es la misma que cuando se desarrolló la pila TCP / IP. El tráfico para diferentes aplicaciones tiene diferentes necesidades. Es cierto que gran parte del tráfico, especialmente medido por el total de bits, es TCP, pero hacemos una gran cantidad de tráfico UDP y su importancia no debe pasarse por alto. El protocolo UDP más utilizado es el Sistema de nombres de dominio (DNS) y lo usamos constantemente para traducir entre nombres y direcciones IP y viceversa (hay otros usos, menos comunes). Ahora, hoy podemos ejecutar DNS sobre TCP y varias personas abogan por eso, pero yo personalmente no soy uno de ellos. DNS es un ejemplo perfecto de un protocolo sin estado y transaccional que no necesita la sobrecarga de TCP. Además, el trabajo necesario para cambiar todas las cosas que hacen las consultas DNS para admitir DNS sobre TCP es asombrosamente grande.

TL; DR todavía nos beneficiamos de un protocolo de capa 4 de baja sobrecarga y tenemos muchos dispositivos que tendrían que actualizarse para mover todos los protocolos comunes a TCP.

Porque para muchas aplicaciones es justo lo que hay que usar. Es más simple y rápido que TCP, pero menos confiable.

Si la confiabilidad es un problema menor (como VoIP o transmisión multimedia, o solicitudes de DNS), entonces es preferible a TCP que conlleva una gran sobrecarga. Por otro lado, si transmite documentos largos y sensibles a la sintaxis, como sitios web, durante su sesión, TCP es lo que debe usar.