O que é UDP (Protocolo de Datagrama do Usuário)?

UDP, sigla de User Datagram Protocol (Protocolo de Datagrama do Usuário), é um dos protocolos da camada de transporte (Camada 4) mais usados na internet. Assim como o TCP, ele opera como um protocolo de camada superior ao IP.

O cabeçalho UDP inclui os números das portas de origem e de destino, permitindo a comunicação por meio de portas específicas. Ao contrário do TCP, o UDP é um protocolo sem conexão, o que significa que não exige o estabelecimento nem o encerramento de sessões por meio de mecanismos de handshake. Ele não conta com recursos como controle de fluxo, controle de erros e controle de congestionamento, funcionando como um protocolo orientado a mensagens que as envia de forma unidirecional.

Devido à ausência de mecanismos de confiabilidade, o UDP apresenta menor tolerância a erros de comunicação e não é tão confiável quanto o TCP. No entanto, ele é mais adequado para comunicações que exigem velocidade e transmissão em tempo real. Além disso, por não ser orientado à conexão, o UDP é ideal para comunicações multicast e broadcast, permitindo a transmissão simultânea de dados para vários destinatários. Entre as aplicações comuns do UDP estão:

  • DNS para consultar servidores de nomes de domínio
  • DHCP para atribuição automática de endereços IP
  • SNMP para gerenciamento de dispositivos de rede
  • SSDP para dispositivos compatíveis com UPnP
  • NTP para sincronização de horário.

No entanto, a capacidade do UDP de enviar pacotes de forma unidirecional o torna suscetível ao uso indevido em ataques DoS/DDoS, como ataques de inundação UDP, nos quais grandes quantidades de pacotes UDP são enviadas de vários computadores para sobrecarregar uma rede. Além disso, quando as consultas são enviadas via UDP, a resposta não verifica a origem, o que permite falsificar endereços IP de origem para realizar ataques de reflexão contra as vítimas.