O Cabeçalho UDP é o epítome da simplicidade em protocolos de rede. Ele possui apenas 8 bytes (64 bits), divididos em quatro campos de 16 bits cada.
1. Estrutura do Cabeçalho
| Campo | Tamanho (Bits) | Função |
|---|---|---|
| Porta de Origem | 16 | Identifica o processo transmissor. |
| Porta de Destino | 16 | Identifica o processo receptor. |
| Comprimento (Length) | 16 | Tamanho total do datagrama (Cabeçalho + Dados). |
| Checksum | 16 | Verificação de integridade dos dados (Opcional no IPv4, Obrigatório no IPv6). |
2. Detalhando os Campos
- Porta de Origem: É opcional. Se não for usada, deve ser preenchida com zeros. É necessária se o receptor precisar responder ao emissor.
- Porta de Destino: Obrigatória. Indica para qual aplicação o dado deve ser entregue no host de destino.
- Comprimento: Especifica o tamanho total do datagrama em octetos. O valor mínimo é 8 (apenas o cabeçalho, sem dados).
- Checksum: O UDP protege apenas contra erros de transmissão no meio físico. Ele não protege contra perdas, duplicações ou desordem. Se o checksum for inválido, o receptor simplesmente descarta o datagrama sem avisar o emissor.
3. UDP vs TCP: Comparação de Cabeçalho
Enquanto o TCP possui pelo menos 10 campos e 6 flags no seu cabeçalho (mínimo de 20 bytes), o UDP mantém apenas 4 campos (8 bytes).
Essa economia de espaço torna o UDP ideal para protocolos que enviam mensagens muito frequentes e pequenas (como as respostas DNS), onde o cabeçalho TCP representaria um desperdício desnecessário de largura de banda.
[!TIP]
Em auditorias de segurança de Cyber, os datagramas UDP são frequentemente usados em ataques de Amplificação (ex: DNS Amplification). Como o UDP é sem conexão, é muito fácil forjar o IP de origem (Spoofing) em uma solicitação pequena que gera uma resposta gigante para a vítima.