Escolar Documentos
Profissional Documentos
Cultura Documentos
Não adiciona nenhum controle adicional aos serviços de entrega do IP, exceto pelo
fato de implementar a comunicação entre processos, em vez da comunicação entre
hosts
Os pacotes UDP, denominados datagramas de usuário, possuem um cabeçalho de
tamanho fixo, de 8 bytes
Porta de origem. Esse campo especifica o número da porta usada pelo processo
em execução no host de origem. Ele tem 16 bits de comprimento, significando que
o número da porta pode variar de 0 a 65535.
Se o host de origem for um cliente (um cliente enviando uma solicitação), o
número da porta, na maioria dos casos, é um número de porta efêmero solicitado
pelo processo cliente e escolhido randomicamente pelo software UDP em
execução no host de origem.
Se o host de origem for um servidor (um servidor enviando uma resposta), o
número da porta, na maioria dos casos, é um número de porta conhecido.
Porta de destino. Esse campo especifica o número da porta usado pelo processo
em execução no host de destino. Ele também tem 16 bits de comprimento.
Se o host de destino for um servidor (um cliente transmitindo uma solicitação), o
número da porta, na maioria dos casos, é um número de porta conhecido.
Se o host de destino for um cliente (um servidor transmitindo sua resposta), o
número da porta, na maioria das vezes, é um número de porta efêmero. Nesse caso,
o servidor copia o número de porta efêmero que recebeu no pacote de solicitação.
Comprimento. Esse campo de 16 bits define o comprimento total de um
datagrama UDP, compreendendo cabeçalho mais dados. Os 16 bits podem definir
um comprimento total entre 0 a 65.535 bytes. Entretanto, o comprimento total deve
ser menor, pois um datagrama UDP deve ser repassado em um datagrama IP de
comprimento total igual a 65.535 bytes.
O campo de comprimento em um datagrama UDP, na verdade, é desnecessário.
Um datagrama UDP deve ser encapsulado em um datagrama IP. Existe um campo
no datagrama IP que estabelece o comprimento total do pacote. Há outro campo
no datagrama IP para definir o comprimento do cabeçalho. Portanto, se
subtrairmos o valor do segundo campo do primeiro, podemos calcular o
comprimento do datagrama UDP, encapsulado em um datagrama IP.
comprimento de um datagrama UDP =
comprimento total IP – comprimento do cabeçalho IP
Entretanto, os projetistas do protocolo UDP acharam que seria mais eficiente que o UDP no
destino calculasse o comprimento dos dados a partir das informações fornecidas no datagrama
UDP, em vez de solicitar ao driver IP para fornecer tais informações. Devemos relembrar que,
quando o driver IP entrega um datagrama UDP à camada UDP, ele já eliminou o cabeçalho IP.
Checksum. Esse campo de 16 bits é usado para detectar erros na transmissão de
datagrama UDP (cabeçalho mais dados).
O cálculo do checksum e sua inclusão em um datagrama UDP são opcionais. Se o
checksum não for calculado, esse campo será preenchido com bits 1s. Note que o
checksum calculado jamais pode conter todos os bits iguais a 1
O checksum inclui três seções: um pseudocabeçalho, o cabeçalho UDP e os dados
provenientes da camada de aplicação.
O pseudocabeçalho faz parte do cabeçalho de um pacote IP, no qual um
datagrama UDP será encapsulado, com alguns campos preenchidos com 0s
Se no cálculo do checksum não for incluído o pseudocabeçalho, pode ser que um
datagrama de usuário recebido seja considerado livre de erros. Entretanto, caso o
cabeçalho IP esteja corrompido, o datagrama poderia ser indevidamente entregue
a um host incorreto.
O campo de protocolo é acrescentado para garantir que o pacote pertença ao UDP,
e não a outros protocolos da camada de transporte
O valor do campo de protocolo para o UDP é 17
O UDP implementa serviços de transporte sem conexão. Isso significa que cada
datagrama de usuário enviado pelo UDP é um datagrama independente.
Não existe nenhuma relação entre os diferentes datagramas de usuário, mesmo se eles
forem provenientes de um mesmo processo de origem e tiverem o mesmo programa
de destino.
Os datagramas de usuário não são numerados.
Não existem mecanismos para estabelecer e/ou terminar uma conexão virtual, ao
contrário do que acontece com o TCP.
Cada datagrama de usuário pode trafegar por um caminho diferente.
Como não existe uma conexão virtual, um processo de aplicação não pode entregar um
fluxo de dados contínuo para o UDP e esperar que o UDP os transmita em diferentes
datagramas de usuário correlacionados. Em vez disso, cada solicitação deve ser
suficientemente pequena para caber em um único datagrama de usuário. Apenas
processos que transmitem mensagens curtas devem usar o UDP.
O UDP é não confiável.
Não implementa controle de fluxo e, portanto, nenhum mecanismo de janelamento.
O receptor pode ser inundado com um número excessivo de mensagens que
chegam a ele.
O UDP não implementa mecanismos de controle de erros, exceto o checksum. Isso
significa que o emissor não sabe se uma mensagem foi perdida ou duplicada.
Quando o receptor detecta um erro por meio do checksum, o datagrama de
usuário é descartado de maneira imperceptível.
A ausência de controle de fluxo e de controle de erros significa que um processo
de aplicação usando UDP deve implementar esses mecanismos.
Para transmitir uma mensagem de um processo a outro, o protocolo UDP encapsula
e desencapsula mensagens em um datagrama IP.
No UDP, portas são associadas à filas.
É como as portas são implementadas
O UDP é adequado para um processo que requeira comunicação solicitação-
resposta simples com pouca preocupação com controle de erros e de fluxo.
Normalmente, ele não é usado para um processo como o FTP que precisa
transmitir um volume muito grande de dados
O UDP é adequado para um processo que implemente mecanismos internos de
controle de fluxo e de erros. Por exemplo, o processo TFTP (Trivial File Transfer
Protocol) implementa mecanismos internos de controle de fluxo e de erros. Ele
pode usar o UDP de maneira fácil.
O UDP é um protocolo de transporte indicado para multicast.
O UDP é muito utilizado no gerenciamento de redes, protocolo SNMP
O UDP é usado em alguns protocolos de roteamento para atualização de rotas
como o RIP (Routing Information Protocol)