Qual é a diferença entre TCP e UDP?

Você provavelmente já viu referências a TCP e UDP ao configurar o encaminhamento de porta em um roteador ou ao configurar o software de firewall. Esses dois protocolos são usados ​​para diferentes tipos de dados.

TCP / IP é um conjunto de protocolos usado por dispositivos para se comunicarem na Internet e na maioria das redes locais. Tem o nome de dois de seus protocolos originais - o Protocolo de Controle de Transmissão (TCP) e o Protocolo de Internet (IP). O TCP fornece aos aplicativos uma maneira de entregar (e receber) um fluxo ordenado e verificado por erros de pacotes de informações pela rede. O User Datagram Protocol (UDP) é usado por aplicativos para fornecer um fluxo de informações mais rápido, eliminando a verificação de erros. Ao configurar algum hardware ou software de rede, você pode precisar saber a diferença.

O que eles têm em comum

RELACIONADO:Como Encontrar Seus Endereços IP Privados e Públicos

TCP e UDP são protocolos usados ​​para enviar bits de dados - conhecidos como pacotes - pela Internet. Ambos os protocolos baseiam-se no protocolo IP. Em outras palavras, se você estiver enviando um pacote via TCP ou UDP, esse pacote é enviado para um endereço IP. Esses pacotes são tratados de forma semelhante, pois são encaminhados de seu computador para roteadores intermediários e para o destino.

TCP e UDP não são os únicos protocolos que funcionam em cima do IP. No entanto, eles são os mais amplamente usados.

Como funciona o TCP

TCP é o protocolo mais comumente usado na Internet.

Quando você solicita uma página da web em seu navegador, seu computador envia pacotes TCP para o endereço do servidor da web, solicitando que ele envie a página de volta para você. O servidor da web responde enviando um fluxo de pacotes TCP, que o seu navegador da web une para formar a página da web. Quando você clica em um link, entra, posta um comentário ou faz qualquer outra coisa, seu navegador da web envia pacotes TCP para o servidor e o servidor envia pacotes TCP de volta.

O TCP tem tudo a ver com confiabilidade - os pacotes enviados com o TCP são rastreados para que nenhum dado seja perdido ou corrompido em trânsito. É por isso que os downloads de arquivos não são corrompidos, mesmo que haja problemas de rede. Claro, se o destinatário estiver completamente offline, seu computador irá desistir e você verá uma mensagem de erro dizendo que ele não pode se comunicar com o host remoto.

O TCP consegue isso de duas maneiras. Primeiro, ele ordena os pacotes numerando-os. Em segundo lugar, ele verifica os erros fazendo com que o destinatário envie uma resposta de volta ao remetente dizendo que recebeu a mensagem. Se o remetente não obtiver uma resposta correta, ele pode reenviar os pacotes para garantir que o destinatário os receba corretamente.

RELACIONADO:Compreendendo o Process Explorer

O Process Explorer e outros utilitários do sistema podem mostrar o tipo de conexão que um processo faz - aqui podemos ver o navegador Chrome com conexões TCP abertas para uma variedade de servidores da web.

Como funciona o UDP

RELACIONADO:Como a latência pode fazer com que conexões rápidas com a Internet pareçam lentas

O protocolo UDP funciona de maneira semelhante ao TCP, mas elimina todo o material de verificação de erros. Toda a comunicação de ida e volta introduz latência, tornando as coisas mais lentas.

Quando um aplicativo usa UDP, os pacotes são enviados apenas para o destinatário. O remetente não espera para ter certeza de que o destinatário recebeu o pacote - ele apenas continua enviando os próximos pacotes. Se o destinatário perder alguns pacotes UDP aqui e ali, eles simplesmente serão perdidos - o remetente não os reenviará. Perder toda essa sobrecarga significa que os dispositivos podem se comunicar mais rapidamente.

UDP é usado quando a velocidade é desejável e a correção de erros não é necessária. Por exemplo, o UDP é freqüentemente usado para transmissões ao vivo e jogos online.

Por exemplo, digamos que você esteja assistindo a um stream de vídeo ao vivo, que geralmente é transmitido usando UDP em vez de TCP. O servidor apenas envia um fluxo constante de pacotes UDP para os computadores que estão assistindo. Se você perder a conexão por alguns segundos, o vídeo pode congelar ou ficar trêmulo por um momento e, em seguida, pular para o trecho atual da transmissão. Se ocorrer uma pequena perda de pacote, o vídeo ou áudio pode ficar distorcido por um momento, pois o vídeo continua a ser reproduzido sem os dados ausentes.

Isso funciona da mesma forma em jogos online. Se você perder alguns pacotes UDP, os personagens dos jogadores podem parecer se teletransportar pelo mapa conforme você recebe os pacotes UDP mais recentes. Não vale a pena solicitar os pacotes antigos se você os perdeu, pois o jogo continua sem você. Tudo o que importa é o que está acontecendo agora no servidor do jogo - não o que aconteceu alguns segundos atrás. Livrar-se da correção de erros do TCP ajuda a acelerar a conexão do jogo e reduzir a latência.

E daí?

RELACIONADO:Como usar o Wireshark para capturar, filtrar e inspecionar pacotes

Se um aplicativo usa TCP ou UDP fica a critério de seu desenvolvedor, e a escolha depende do que o aplicativo precisa. A maioria dos aplicativos precisa da correção de erros e da robustez do TCP, mas alguns aplicativos precisam da velocidade e da sobrecarga reduzida do UDP. Se você disparar uma ferramenta de análise de rede como o Wireshark, poderá ver os diferentes tipos de pacotes viajando de um lado para outro.

A menos que você seja um administrador de rede ou desenvolvedor de software, isso não deve afetá-lo muito. Se você estiver configurando seu software de roteador ou firewall e não tiver certeza se um aplicativo usa TCP ou UDP, geralmente pode selecionar a opção “Ambos” para que seu roteador ou firewall aplique a mesma regra ao tráfego TCP e UDP.


$config[zx-auto] not found$config[zx-overlay] not found