Utilizamos cookies e tecnologias semelhantes de acordo com a nossa Política de Privacidade e, ao continuar navegando, você concorda com estas condições.

OK

Diferenças entre Protocolos UDP e TCP

27/09/2020 às 15:17 Ajuda

Diferenças entre Protocolos UDP e TCP

Se você está lidando com o mundo da informática e hospedagem de sites já há algum tempo, com certeza já se deparou com os chamados protocolos de rede.

Ambos são parte da camada de transporte do modelo OSI e é correto dizer que os dois atuam juntamente com o IP da máquina em questão. Mesmo com pequenas diferenças entre os protocolos UDP e TCP, ambos servem ao mesmo proposito: transportar pacotes de dados pela rede para um determinado IP. Seja essa rede a internet ou uma rede local.

Também é interessante observar que apesar de serem os protocolos mais utilizados atualmente, existem outras opções que podem ser aplicadas. Entretanto, o uso de opções que fogem a regra do TCP e do UDP é quase injustificável devido a raridade de seu uso.

O que são pacotes de dados?

Entretanto, cabe uma pequena explicação aqui sobre o que de fato são os pacotes de dados a que nos referimos acima. Um pacote nada mais é que uma medida de informações dos dados do usuário que são transmitidos entre duas máquinas por uma rede. Tanto é, que outro nome que pode ser dado aos pacotes de dados é datagrama.

Em geral, um datagrama (ou pacote de dados) possui uma origem de onde ele é emitido, um destino para onde ele é direcionado e informações de controle e dados dos usuários.

Desta forma, quando dados ou informações são transmitidas pela internet, são enviadas no formato de um ou mais pacotes.

A estrutura desses pacotes de dados, porém, depende dos protocolos a serem utilizados. Normalmente cada pacote possui duas seções: o cabeçalho e a carga útil. Sendo que nesta última é onde se encontram os dados. Estes dados podem ser basicamente qualquer coisa: partes de um arquivo, páginas de um site, etc.

Leia também sobre o erro 502 bad gateway.

O que é protocolo UDP

Pode parecer estranho dizer isso, mas a principal característica que difere o protocolo UDP do protocolo TCP é a sua falta de confiabilidade. Isso mesmo, o protocolo UDP é caracterizada exatamente pela falta de confiabilidade.

Na prática, isso significa ao utilizar este tipo de protocolo na camada de transporte, os datagramas (pacotes de dados) trocados entre duas máquinas não possuíram garantia de que serão entregues completos ou mesmo na ordem correto.

Uma situação que pode acontecer por exemplo, é utilizar este protocolo para uma aplicação de bate papo. Como dissemos, este protocolo não é confiável, então as mensagens trocadas podem chegar nos destinatários na ordem incorreta ou mesmo podem ser corrompidos pelo caminho.

Então, se já dissemos que a sua confiabilidade é baixa... por que ele seria utilizado ao invés do protocolo TCP?

Embora não seja confiável, o protocolo UDP se sobressai em questão de velocidade em relação ao protocolo TCP. Bem, por mais que pareça uma troca não muito vantajosa, trocar confiabilidade por velocidade pode ser útil em sistemas que necessitam de grande velocidade e a perda mínima de dados é irrelevante, como por exemplo em serviços de streaming ou jogos online.

Aplicações

Como dissemos, a principal aplicação deste modelo de protocolo é justamente em situações em que a perda de dados pode ser aceitável, desde que se mantenha a velocidade. Acima demos o exemplo dos jogos online.

Porém, podemos expor isso de forma mais técnica falando das suas aplicações em comunicação de redes. Veja o esquema a seguir:

  • Porta 53 – Protocolo DNS – Pode ser aplicado em sistemas de resolução de nomes de domínio.
  • Nas portas 67 e 68 – Protocolo DHCP – Pode ser utilizado em protocolos para configurar hosts dinâmicos
  • Portas 161 162 – Protocolo SNMP – Aqui ele pode ser aplicado para gerenciar redes de mensagens curtas.
  • Por fim nas portas 520 e 521 – Protocolo RIP – Pode-se aplicar em protocolos de roteamento onde não requerem conexões

Além disso, o uso do protocolo UDP não exclui o uso em conjunto com o protocolo TCP.

Cabeçalho no protocolo UDP

Lembra-se dos pacotes de dados que citamos acima? Pois bem, agora vamos disseca-lo um pouco mais afim de esclarecer mais detalhes sobre o funcionamento do protocolo UDP.

Vamos nos orientar pelo esquema da imagem acima. Em IPv4 o campo “checksum” e “número da porta de origem” é opcional, enquanto em IPv6 apenas o “número da porta de origem é opcional”. Vamos entender do que se trata cada campo:

  • Número da porta de origem: este campo diz respeito ao número que se refere a aplicação ou processo que está realizando o envio de dados.
  • Número da porta de destino: Logo, este campo é justamente a aplicação que irá receber os dados em questão.
  • Comprimento: O comprimento aqui se refere ao tamanho do cabeçalho junto aos dados carregados, sendo que p mínimo são oito bytes e máximo para um pacote de dados UDP é de 65.507 bytes, se tratando do protocolo IPv4. Em IPv6 é possível obter comprimentos um pouco maiores, chegando até a 65.535 bytes.
  • Checksum: Utilizado para verificar erros no cabeçalho e nos dados transmitidos. Quando não utilizado, em IPv4, deve ser preenchido com zeros.

Bem, ate aqui podemos obter uma visão bem abrangente do protocolo UDP, seus usos e configurações. Agora é hora de verificarmos o protocolo TCP, para entendermos mais claramente as diferenças entre ambos.

O que é protocolo TCP

Ao contrário do protocolo UDP, o protocolo TCP garante integridade dos dados e segurança na transmissão dos mesmos. Por isso, ele é vastamente utilizado e provavelmente é o mais comum na camada de transporte.

A integridade e confiança na transmissão de dados deste protocolo vêm especialmente do three way handshake ou aperto de mão em três vias: SYN, SYN-ACK, ACK.

Este nome resume bem o funcionamento do aperto de mão em três vias, então vamos explica-lo a seguir.

Inicialmente se estabelece uma conexão entre dois hosts, onde o primeiro deve enviar um datagrama de sincronização. Daí a primeira abreviatura (SYN).

Assim que esse datagrama é recebido, acontece a confirmação de sincronização (SYN-ACK). Após isso o primeiro host responde com outra confirmação (ACK). E então a conexão está estabelecida e segura.

A esses dois hosts damos os nomes de servidor e cliente, sendo que o servidor é quem envia os dados e o cliente quem o recebe. Isso não quer dizer que apenas o servidor possa enviar os dados. Pelo contrário, uma das grandes vantagens do protocolo TCP é a possibilidade de envio de dados de qualquer um dos hosts, sem a perda de integridade. O preço disso é uma velocidade um pouco reduzida, entretanto.

Conclusão

Enfim, acredito que a esta altura após conhecer um pouco mais sobre o protocolo TCP e o protocolo UDP, sua visão esteja mais clara a respeito das funcionalidades e diferenças entre ambos.

Agora, em posse desse conhecimento, você pode se aprofundar ainda mais e aperfeiçoar as configurações do seu servidor dedicado e entender melhor a origem de alguns problemas recorrentes! Se este texto foi útil, não deixe de compartilhar nas suas redes ou enviar a um amigo!

Gostou de nosso post? Compartilhe: