User Datagram Protocol
Origem: Wikipédia, a enciclopédia livre.
O UDP dá às aplicações acesso direto ao serviço de entrega de datagramas, como o serviço de entrega que o IP dá. O UDP é pouco confiável, sendo um protocolo não orientado para conexão. O "pouco confiável" significa que não há técnicas no protocolo para confirmar que os dados chegaram ao destino corretamente. O UDP usa número de porta de origem e de destino de 16 bits na word 1 do cabeçalho da mensagem.
O UDP é um acrónimo do termo inglês User Datagram Protocol que significa protocolo de datagramas de utilizador (ou usuário). O UDP faz a entrega de mensagens independentes, designadas por datagramas, entre aplicações ou processos, em sistemas host. A entregaJMEJpodem ser entregues fora de ordem ou até perdidos. A integridade dos dados pode ser gerida por um "checksum" (um campo no cabecalho de checagem por soma).
Os pontos de acesso do UDP são geralmente designados por "Portas de protocolo" ou "portas" ou até "portos", em que cada unidade de transmissão de dados UDP identifica o endereço IP e o número de porta do destino e da fonte da mensagem, os números podendo ser diferentes em ambos os casos.
O UDP é o protocolo irmão do TCP. A diferença básica entre os dois é que o TCP é um protocolo orientado à conexão, que inclui vários mecanismos para iniciar e encerrar a conexão, negociar tamanhos de pacotes e permitir a retransmissão de pacotes corrompidos. No TCP tudo isso é feito com muito cuidado, para garantir que os dados realmente cheguem inalterados, apesar de todos os problemas que possam existir na conexão. O lema é "transmitir com segurança"
O UDP por sua vez é uma espécie de irmão adolescente do TCP, feito para transmitir dados pouco sensíveis, como streaming de áudio e vídeo. No UDP não existe checagem de nada, nem confirmação alguma. Os dados são transmitidos apenas uma vez, incluindo apenas um frágil sistema de CRC. Os pacotes que cheguem corrompidos são simplesmente descartados, sem que o emissor sequer saiba do problema.
A idéia é justamente transmitir dados com o maior desempenho possível, eliminando dos pacotes quase tudo que não sejam dados em sí. Apesar da pressa, o UDP tem seus méritos, afinal você não gostaria que quadros fantasmas ficassem sendo exibidos no meio de um vídeo, muito menos se isso ainda por cima causasse uma considerável perda de performance.
Em geral, os programas que utilizam portas UDP recorrem também à uma porta TCP para enviar as requisições de dados a serem enviados e também para checar periódicamente se o cliente ainda está online.
Ou seja, na Internet, O UDP é um protocolo de transporte que presta um serviço de comunicação não orientado a conexão e sem garantia de entrega. Portanto, as aplicações que utilizam este tipo de protocolo devem ser as responsáveis pela recuperação dos dados perdidos.
[editar] Cabeçalho UDP
O cabeçalho UDP é extremamente simples, contendo apenas os números de porta, comprimento da mensagem e o checksum. O cabeçalho dos datagramas UDP é colocado a seguir ao cabeçalho IP.
Porta origem | Porta destino | ||
---|---|---|---|
Comprimento da mensagem | Checksum |
RFC0768-UDP (User Datagram Protocol): [1]
[editar] Selecção do número de portas no UDP
Os computadores que pretendem estabelecer uma comunicação devem definir um número de porta. Para o servidor (Processo), e aguarda pela chegada de mensagens, datagramas, o cliente seleciona uma porta local, para recebimento de datagramas e envia datagramas para a porta selecionada para o processo do servidor. Muitos serviços conhecidos usam números de portas reservados, por exemplo: 161 para o Protocolo SNMP.
[editar] Vantagens do uso do UDP
Velocidade de processamento. Neste caso, o UDP é a escolha acertada como protocolo da camada de transporte. Aplicações que encaixam num modelo de pergunta-resposta também são fortes candidatas a usar UDP. A resposta pode ser usada como reconhecimento positivo para a pergunta. Se uma resposta não chega num período de tempo estipulado, a aplicação envia outra pergunta. Outras aplicações usam as suas técnicas para entregas confiáveis de dados que não necessitam do serviço dos protocolos da camada de transporte. estes sao implementados em processos.