3. User Datagram Protocol
(UDP)
É um protocolo da camada de transporte do
modelo OSI. Ele permite que a aplicação
escreva um datagrama encapsulado num
pacote IP, que é encaminhado ao destino.
Porém não há garantias de que o pacote
chegará intacto.
O IP não tem acesso a mensagem enviada,
apenas valida o cabeçalho do datagrama, e a
mensagem será remontada apenas na
aplicação do cliente receptor.
4. O que é um Datagrama
Um datagrama é uma unidade de transferência
básica onde a entrega, hora de chegada, e a
ordem não são garantidos.
Consiste de um cabeçalho e áreas de dados,
onde o cabeçalho contém informações para o
roteamento do equipamento de origem e o de
destino, independente de trocas anteriores
entre o equipamento e a rede. Os endereços
de origem e destino, bem como um campo de
tipo são encontrados no cabeçalho.
5. Cabeçalho de um Datagrama
UDP
O cabeçalho UDP é extremamente simples,
contendo apenas os números de porta,
comprimento da mensagem e o checksum.
Os campos em laranja são opcionais. A porta
de origem especifica a porta de resposta.
Porta Origem Porta Destino Comprimento da
Mensagem
Cheksum
6. O que é um Checksum
Checksum (soma de verificação) é usado para
verificar a integridade de dados transmitidos
através de um canal com ruídos ou
armazenados em algum meio por algum
tempo.
Calcula-se a soma de verificação dos dados
antes do envio/armazenamento, e recalcula-se
ao recebê-los/recuperá-los. Se o valor obtido é
o mesmo, as informações não sofreram
alterações e portanto não estão corrompidas.
7. O que um Datagrama NÃO É
Um datagrama não um "pacote". O termo
pacote se aplica a qualquer mensagem
formatada, enquanto o termo datagrama é são
os pacotes de um serviço "não confiável“, ou
seja, não notifica o usuário se a entrega falhar.
Por exemplo, o próprio IP fornece um serviço
confiável e o UDP sobre IP também fornece um
não confiável. É por isso que os pacotes UDP
são geralmente chamados datagramas.
8. UDP (Datagramas) VS TCP
Se um datagrama fragmenta-se, então seus
fragmentos podem ser referidos como pacotes,
mas não como datagramas. No entanto, o TCP
se refere a seus fragmentos como segmentos
TCP, e não como pacotes,sendo assim, pode-
se afirmar que seus fragmentos são confiáveis.
Quando se utiliza o protoco UDP, somente são
transferidos pacotes completos por meio de
socket, e sem aviso de recebimento ou falha.
9. O que é um socktet de rede
Ponto-final de um fluxo de comunicação entre 2
aplicativos através de uma rede.
No UDP, define-se socket como a combinação
entre: um endereço IP e o número de uma
porta do protocolo UDP.
Com um soquete, é possível identificar
unicamente um aplicativo na rede de
comunicação IP e ligar redes de computadores
para um estabelecer um elo bidirecional de
comunicação entre dois programas.
10. Resumo do UDP
Quando utilizado, se existe necessidade de
garantir a chegada das informações, é preciso
implementar uma série de estruturas de
controle, tais como timeouts, retransmissões,
acknowlegments, controle de fluxo, etc. Cada
datagrama UDP tem um tamanho e pode ser
considerado como um registro indivisível,
diferentemente do TCP, que é um protocolo
orientado a fluxos de bytes sem início e sem
fim.
11. Resumo do UDP
É um serviço sem conexão - não necessita
manter um relacionamento longo entre cliente e
o servidor. Ou seja, um cliente UDP pode criar
um socket, enviar um datagrama para um
servidor e imediatamente enviar outro
datagrama com o mesmo socket para outro
servidor. Analogamente, um servidor pode ler
datagramas de diversos clientes, usando um
único socket. O UDP também fornece os
serviços de broadcast e multicast.
12. Broadcast e Multicast
Multicast
Um único link para
cada elemento,
transferindo a
informação apenas
uma vez.
Broadcast
A mesma informação
é transmitida para
todos os usuários da
rede.
13. Funcionamento do UDP
O UDP dá às aplicações acesso direto ao
serviço de entrega de datagramas, porém é
pouco confiável, sendo um protocolo não
orientado para conexão.
Não existem técnicas no protocolo para
confirmar que os dados chegaram ao destino
corretamente.
O UDP faz a entrega de mensagens
independentes, designadas por datagramas,
entre aplicações ou processos.
14. Funcionamento do UDP
A entrega pode ser feita fora de ordem e
datagramas podem ser perdidos. A integridade
dos dados pode ser conferida por um
"checksum" baseado em complemento de 16
bits.
Os pontos de acesso são designados por
"portas", em que cada unidade de transmissão
de dados identifica o IP e o número de porta do
destino e da fonte da mensagem, os números
podem ser diferentes em ambos os casos.
15. Funcionamento do UDP
A diferença básica entre o UDP e o TCP é o
fato de que o TCP é um protocolo orientado à
conexão e, portanto, inclui vários mecanismos
para iniciar, manter e encerrar a comunicação,
negociar tamanhos de pacotes, detectar e
corrigir erros, evitar congestionamento do fluxo
e permitir a retransmissão de pacotes
corrompidos, independente da qualidade do
meio físico.
16. Enfim...
O UDP deve transmitir dados pouco sensíveis,
como áudio e vídeo, ou para comunicação sem
conexão. No UDP não existem verificações,
nem confirmações. Os dados são transmitidos
apenas uma vez, incluindo apenas um frágil, e
opcional, sistema de checksum. Os pacotes
que chegam corrompidos são descartados,
aviso ao emissor. Entretanto, a ausência de
estruturas de controle complexas garante alta
eficiência, pois cada pacote é composto
somente de dados.