O UDP (User Datagram Protocol) é um protocolo da camada de transporte que prioriza a agilidade e a performance sobre a confiabilidade. Diferente do TCP, ele não tenta ser “inteligente” nem corrigir erros da rede IP.

1. Características Técnicas Fundamentais

A. Sem Conexão (Connectionless)

  • O UDP não realiza o Three-Way Handshake.
  • O dado é simplesmente injetado na rede para o IP de destino.
  • Não há estado guardado no emissor ou receptor sobre a sessão.

B. Melhor Esforço (Best-Effort)

  • O UDP não garante que o dado chegue (Sem ACKs).
  • O UDP não garante a ordem de entrega (os datagramas podem chegar embaralhados).
  • O UDP não garante a ausência de duplicatas.
  • Se houver perda, a Aplicação é quem deve lidar com isso (se quiser).

C. Sem Controle de Fluxo ou Congestionamento

  • O UDP envia dados na velocidade que a aplicação solicita.
  • Se a rede estiver congestionada, o UDP continuará enviando na mesma taxa, o que pode levar ao descarte massivo de pacotes pelos roteadores intermediários.

2. Vantagens do Protocolo

  • Latência Mínima: Sem o atraso do aperto de mão inicial, o primeiro byte de dados pode ser enviado instantaneamente.
  • Transmissão Multicast/Broadcast: O UDP suporta o envio para múltiplos destinatários simultaneamente (o TCP é estritamente Unicast).
  • Overhead Baixo: O cabeçalho UDP é de apenas 8 bytes, contra os 20 bytes (mínimos) do TCP. Isso economiza banda em pacotes pequenos.

3. Aplicações Típicas

  • Streaming de Mídia (Vídeo/Áudio): Pequenas falhas são imperceptíveis ao ouvido humano; o atraso (buffering) é pior.
  • Jogos Online: Onde o estado do jogo muda em milissegundos.
  • Serviços de Infraestrutura: DNS, DHCP, SNMP, NTP.
  • Voz sobre IP (VoIP): Onde a conversa em tempo real exige o mínimo de atraso possível.