UDP significa protocolo de datagrama do usuário . É um protocolo de comunicação orientado a mensagem, usado para canais de comunicação e caminhos de dados. O UDP usa um modelo de comunicação sem conexão com um mínimo de mecanismos de protocolo de inicialização. O protocolo é usado extensivamente em aplicativos que requerem conexões de baixa latência e tolerantes a perdas, onde a perda de alguns dados não é uma grande preocupação. 

UDP-Full-Form

O protocolo é implementado no topo do IP (Internet Protocol) e é coletivamente chamado de UDP / IP Network Stack. O UDP rejeita certos recursos oferecidos por outros protocolos semelhantes, como handshaking (TLS / SSL) para inicializar uma conexão, nenhum reconhecimento para o progresso da transmissão, reestruturação de dados, etc. para oferecer uma comunicação rápida mesmo em redes de baixa largura de banda. Devido a essas características do UDP, ele é implementado em VoIP, Web Streaming, Broadcasting, Gaming, etc. 

UDP-Header

Características

  • Conexão: é um protocolo sem conexão, portanto, nenhum handshake é necessário para estabelecer a conexão
  • Sem confirmação: os dados são enviados unilateralmente pelo remetente e, portanto, nenhuma interação do sistema receptor é necessária (por exemplo, o envio de confirmação sobre os pacotes recebidos não é necessário).
  • Menos sobrecarga: uma vez que nenhuma conexão é necessária para estabelecer o protocolo, não há conexões contínuas para manter. O que leva a menos sobrecarga.
  • Sem ordem: os dados podem não chegar em ordem.
  • Velocidade: mais rápido do que outros protocolos da mesma natureza e requer menos recursos para funcionar com eficiência.  

Vantagens

  • Tem um tamanho de cabeçalho pequeno de 8 bytes, devido ao qual menos dados precisam ser transmitidos
  • Não requer um aperto de mão antes da transmissão de dados
  • Não tem política para transferências de dados intactas, portanto, os pacotes perdidos não são reenviados, reduzindo assim o congestionamento de requests recorrentes
  • O UDP pode ser transmitido ou multicast, de modo que permite a existência de um protocolo um-para-muitos
  • Não requer confirmação como recebimento dos dados enviados 

Desvantagens

  • Não fornece qualquer compensação por pacotes perdidos
  • Não oferece nenhum mecanismo de detecção de erro significativo, devido ao qual os dados recebidos podem estar errados
  • Entrega de dados fora de ordem, devido a que os dados precisam ser reorganizados na extremidade de recebimento (o que requer mais alguns cálculos)
  • Não atrasa a transmissão se a rede estiver congestionada, o que pode levar à perda do pacote ou atraso na entrega do pacote.