¿Qué es UDP (Protocolo de Datagramas de Usuario)?

UDP, siglas de User Datagram Protocol (protocolo de datagramas de usuario), es uno de los protocolos de la capa de transporte (capa 4) más utilizados en Internet. Al igual que TCP, funciona como un protocolo de capa superior a IP.

La cabecera UDP incluye los números de puerto de origen y destino, lo que permite establecer comunicaciones mediante puertos específicos. A diferencia de TCP, UDP es un protocolo sin conexión, por lo que no requiere establecer ni finalizar sesiones mediante mecanismos de negociación. Carece de funciones como el control de flujo, el control de errores y el control de congestión, y funciona como un protocolo orientado a mensajes que los envía de forma unidireccional.

Debido a que carece de mecanismos de fiabilidad, UDP presenta una menor tolerancia a los errores de comunicación y no es tan fiable como TCP. Sin embargo, resulta más adecuado para comunicaciones que requieren velocidad y transmisión en tiempo real. Además, al no estar orientado a la conexión, UDP es ideal para las comunicaciones multidifusión y difusión, ya que permite transmitir datos simultáneamente a varios destinatarios. Entre las aplicaciones habituales de UDP se incluyen:

  • DNS para consultar servidores de nombres de dominio
  • DHCP para la asignación automática de direcciones IP
  • SNMP para gestionar dispositivos de red
  • SSDP para dispositivos compatibles con UPnP
  • NTP para la sincronización horaria.

Sin embargo, la capacidad de UDP para enviar paquetes de forma unidireccional lo hace susceptible de ser utilizado indebidamente en ataques DoS/DDoS, como los ataques de inundación UDP, en los que se envían grandes cantidades de paquetes UDP desde varios ordenadores para saturar una red. Además, cuando las consultas se envían mediante UDP, la respuesta no verifica el origen, lo que permite falsificar las direcciones IP de origen para llevar a cabo ataques de reflexión dirigidos contra las víctimas.