UDP
UDP funciona como um envelope de datagrama: preserva a mensagem enviada, mas não cria conexão, não confirma entrega e não ordena. A base é RFC 768, de 1980, atualizada em 2025 pela RFC 9868 para opções de transporte. Seu cabeçalho clássico tem 8 bytes e portas de 16 bits. É usado por DNS, mDNS, NTP, RTP e QUIC. A baixa sobrecarga favorece descoberta e mídia, mas a aplicação precisa lidar com perda, duplicação, tamanho, congestionamento e segurança.
↗ Wikidata · Q11163UDP é um protocolo de transporte sem conexão que entrega datagramas entre portas de origem e destino. Cada envio preserva seu limite. Um datagrama de 100 bytes chega como uma unidade de 100 bytes ou não chega; a API pode sinalizar truncamento se o buffer for menor. Diferente de TCP, UDP não realiza handshake, não mantém estado de conexão na especificação básica, não retransmite, não ordena, não controla fluxo e não oferece congestion control. O cabeçalho clássico possui quatro campos de 16 bits: porta de origem, porta de destino, comprimento e checksum, totalizando 8 bytes. A RFC 768 foi publicada em agosto de 1980. Em 2025, a RFC 9868 atualizou a arquitetura para indicar opções de transporte UDP em uma área excedente após os dados, sem remover a simplicidade do datagrama básico. Em IPv4, o checksum UDP historicamente pode ser zero em condições definidas; em IPv6 ele é normalmente obrigatório, com exceções estritas em outros documentos. O checksum detecta erro acidental e cobre pseudo-header IP, mas não autentica. Um atacante pode forjar. Aplicações usam UDP quando o dado atrasado vale menos que o novo, quando multicast é necessário ou quando querem construir confiabilidade própria. DNS usa UDP para muitas consultas. mDNS usa multicast UDP 5353. NTP usa UDP 123. RTP usa UDP para áudio e vídeo. DHCP usa UDP. QUIC roda sobre UDP e implementa conexão, criptografia, streams, confiabilidade e congestionamento na camada de aplicação/transporte usuário. HTTP/3 usa QUIC. Assim, “UDP é não confiável” não significa que todo protocolo sobre UDP seja não confiável. QUIC adiciona. CoAP pode usar confirmações. Matter usa UDP para algumas comunicações e TCP em casos específicos. A aplicação define. Em casa inteligente, multicast UDP é vital para descoberta, mas redes Wi‑Fi e VLANs tratam multicast com limitações. mDNS não atravessa roteadores por padrão. Reflectors podem repetir entre VLANs, com risco de exposição. Datagramas grandes fragmentam no IP. Fragmentação aumenta perda: se um fragmento falta, o datagrama inteiro é descartado. Aplicações devem manter tamanho abaixo do Path MTU ou usar mecanismos de descoberta. Em Ethernet com MTU 1500, payload UDP IPv4 típico máximo sem fragmentação é 1472 bytes; IPv6, 1452, antes de encapsulamentos, mas o caminho pode ser menor. Protocolos de Internet usam tamanhos conservadores. UDP permite spoofing mais fácil porque não há handshake. Serviços expostos podem ser usados em reflexão e amplificação. DNS, NTP e SSDP foram explorados. O servidor deve validar, limitar resposta, atualizar e não expor desnecessariamente. Firewall stateful cria pseudoestado e expira rápido. NAT mappings podem durar dezenas de segundos. Heartbeats mantêm. UDP não cifra. DTLS fornece segurança para datagramas. QUIC incorpora TLS 1.3. SRTP protege RTP. O protocolo é simples; a responsabilidade sobe para a aplicação e a rede.
- Cabeçalho de 8 bytes e ausência de handshake reduzem overhead e latência para mensagens pequenas e independentes.
- Preserva limites de mensagem, simplificando discovery, telemetria, áudio e protocolos de request/response compactos.
- Suporta multicast e broadcast, fundamentais para mDNS, SSDP, descoberta local e algumas arquiteturas de casa inteligente.
- Permite que protocolos como QUIC implementem confiabilidade e segurança no espaço de usuário, evoluindo mais rápido que o kernel.
- É adequado a mídia em tempo real, em que descartar pacote atrasado pode ser melhor que bloquear esperando retransmissão.
- Não garante entrega, ordem nem ausência de duplicatas; a aplicação precisa decidir confirmação, sequência e retry.
- Não possui controle de fluxo ou congestionamento; implementações ingênuas podem saturar rede e prejudicar outros tráfegos.
- Origem pode ser falsificada com mais facilidade, permitindo reflexão e amplificação quando serviços respondem sem validação.
- Datagramas grandes fragmentam e ficam mais frágeis; o protocolo não descobre automaticamente o tamanho ideal do caminho.
- NAT e firewalls expiram mapeamentos rapidamente, e multicast não atravessa sub-redes sem proxy ou configuração específica.