Skip to content

Protocolo de datagrama do usuário

5 de maio de 2021

O User Datagram Protocol (UDP) foi introduzido em 1980 e é um dos mais antigos protocolos de rede 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 ele é 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) é freqüentemente 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 que 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 por 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 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 UDP

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 UDP, 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.