O User Datagram Protocol (UDP) foi introduzido em 1980 e é um dos protocolos de rede mais antigos existentes. É um protocolo de camada de transporte OSI simples para aplicativos de rede cliente / servidor, é baseado no protocolo da Internet (IP) e é a principal alternativa ao TCP.
Uma breve explicação do UDP pode explicar que é um protocolo não confiável quando comparado ao TCP. Embora isso seja verdade, uma vez que não há nenhuma verificação ou correção de erros envolvida nas transmissões de dados, também é verdade que definitivamente existem aplicações para este protocolo que o TCP não pode igualar.
UDP (às vezes referido como UDP/IP) é frequentemente usado em aplicativos de videoconferência ou jogos de computador que são feitos especificamente para desempenho em tempo real. Para obter um desempenho superior, o protocolo permite que pacotes individuais sejam descartados (sem novas tentativas) e pacotes UDP sejam recebidos em uma ordem diferente da qual foram enviados, conforme ditado pelo aplicativo.
Este método de transmissão, quando comparado ao TCP, permite menos atrasos e sobrecarga de dados. Como os pacotes são enviados de qualquer maneira e não há nenhuma verificação de erro envolvida, isso resulta no uso de menos largura de banda .
O UDP é melhor do que o TCP?
A resposta a esta pergunta depende do contexto, uma vez que o UDP permite melhor desempenho, mas possivelmente pior qualidade, do que o TCP.
Um bom exemplo de quando o UDP pode ser preferido em vez do TCP é quando se trata de um aplicativo que funciona melhor com menos latência, como jogos online, bate-papo com vídeo ou transmissões de voz. Os pacotes podem ser perdidos, mas com menos atrasos gerais para diminuir a qualidade, não há muita perda de qualidade realmente percebida.
Com os jogos online, o tráfego UDP permite que o jogo continue mesmo se a conexão for perdida momentaneamente ou se alguns dos pacotes forem perdidos por qualquer motivo. Se a correção de erros estivesse envolvida, a conexão sofreria perda de tempo, pois os pacotes estão tentando entrar novamente de onde pararam para compensar os erros, mas isso é desnecessário em videogames ao vivo. O mesmo acontece com a transmissão ao vivo.
No entanto, o motivo pelo qual o UDP não é tão bom quando se trata de transferências de arquivos é que você precisa do arquivo inteiro para usá-lo corretamente. No entanto, você não precisa de todos os pacotes de um videogame ou vídeo para aproveitá-lo.
Tanto o TCP quanto o UDP residem na camada 4 do modelo OSI e funcionam com serviços como TFTP , RTSP e DNS .
Datagramas
O tráfego UDP funciona por meio do que é chamado de datagramas, com cada datagrama consistindo em uma única unidade de mensagem. Os detalhes do cabeçalho são armazenados nos primeiros oito bytes, mas o resto é o que contém a mensagem real.
Cada parte de um cabeçalho de datagrama, listado aqui, tem dois bytes:
- Número da porta de origem
- Número da porta de destino
- Tamanho do datagrama
- Checksum
Os números das portas UDP permitem que diferentes aplicativos mantenham seus próprios canais de dados, semelhantes ao TCP. Os cabeçalhos da porta UDP têm dois bytes de comprimento; portanto, os números de porta UDP válidos variam de 0 a 65535.
O tamanho do datagrama UDP é uma contagem do número total de bytes contidos nas seções de cabeçalho e dados. Uma vez que o comprimento do cabeçalho é um tamanho fixo, este campo rastreia efetivamente o comprimento da porção de dados de tamanho variável (às vezes chamada de carga útil).
O tamanho dos datagramas varia dependendo do ambiente operacional, mas têm no máximo 65535 bytes.
As somas de verificação UDP protegem os dados da mensagem contra violação. O valor da soma de verificação representa uma codificação dos dados do datagrama calculados primeiro pelo remetente e depois pelo receptor. Se um datagrama individual for adulterado ou corrompido durante a transmissão, o protocolo UDP detecta uma incompatibilidade de cálculo de soma de verificação.
No UDP, a soma de verificação é opcional, ao contrário do TCP, onde as somas de verificação são obrigatórias.