O Protocolo UDP (User Datagram Protocol)
Por: Marcos Thompson • 12/2/2017 • Trabalho acadêmico • 550 Palavras (3 Páginas) • 463 Visualizações
O Protocolo UDP (User Datagram Protocol)
Definição:
O UDP é um protocolo simples, localizado na camada de transporte (camada 4) do Modelo OSI. Tem como objetivo prover um procedimento para aplicativos enviarem mensagens a outros programas com um mecanismo de protocolo mínimo. O UDP é orientado a transação, e a entrega e a proteção duplicada não são garantidas.
O UDP não utiliza nenhuma verificação para garantir confiabilidade, ordem ou integridade de dados, assim sendo o UDP disponibiliza um serviço “não confiável” e os datagramas podem chegar fora de ordem, aparecer duplicados ou desaparecer sem aviso. O UDP assume que verificação e correção de erros são desnecessários ou executados pela aplicação, evitando a sobrecarga deste tipo de processamento na camada de transporte.
É muito utilizado em aplicações nas quais o tempo é primordial, uma vez que é melhor descartar o pacote do que utilizar pacotes atrasados. Em caso de necessidade de correção na camada de transporte é melhor utilizar o TCP ou o SCTP, que foram feitos com este propósito.
Estrutura do pacote UDP:
bits | 0 - 15 | 16 - 31 |
0 | Porta de Origem | Porta de Destino |
32 | Comprimento | Verificador |
64 |
|
→ Porta de Origem:
Este campo identifica a porta que está enviando o pacote e assume-se que é a porta para resposta. Se não utilizada, deve ser zero.
→ Porta de Destino:
Este campo identifica a porta de destino e é obrigatório.
→ Comprimento:
É um campo com 16 bits que especifica, em bytes, o comprimento do datagrama inteiro (cabeçalho + dados). O tamanho mínimo é de 8 bytes, uma vez que é o tamanho do cabeçalho, o máximo teórico é de 65.535 bytes (8 bytes do cabeçalho + 65527 bytes de dados). Na prática o tamanho máximo é de 65.507 bytes, impostos pelo protocolo IPv4.
→ Verificador:
Campo com 16 bits utilizado pra verificação de erro do cabeçalho e dos dados. O algoritmo de verificação é diferente no IPv4 e no IPv6.
Diagrama da verificação:
→ IPv4:
bits | 0 - 7 | 8 - 15 | 16 - 23 | 24 - 31 |
0 | Endereço de Origem | |||
32 | Endereço de Destino | |||
64 | Zeros | Protocolo | Tamanho UDP | |
96 | Porta de Origem | Porta de Destino | ||
128 | Comprimento | Verificador | ||
160 |
|
No IPv4 a computação do verificador é opcional. Se não for utilizado, deve ter o valor zero.
Quando utilizado, é computado utilizando um pseudo-cabeçalho que contém informações do cabeçalho IPv4.
→ IPv6:
bits | 0 - 7 | 8 - 15 | 16 - 23 | 24 - 31 |
0 | Endereço de Origem | |||
32 | ||||
64 | ||||
96 | ||||
128 | Endereço de Destino | |||
160 | ||||
192 | ||||
224 | ||||
256 | Tamanho UDP | |||
288 | Zeros | Próximo Cabeçalho | ||
320 | Porta de Origem | Porta de Destino | ||
352 | Comprimento | Verificador | ||
384 |
|
...