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.