Qual é a diferença entre TCP e UDP?

switch de rede

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. Ele tem o nome de dois de seus protocolos originais – o Transmission Control Protocol (TCP) e o Internet Protocol (IP). O TCP fornece aos aplicativos uma maneira de entregar (e receber) um fluxo ordenado e com verificação de erros de pacotes de informações pela rede. O User Datagram Protocol (UDP) é usado por aplicativos para fornecer um fluxo mais rápido de informações, eliminando a verificação de erros. Ao configurar algum hardware ou software de rede, você pode precisar saber a diferença.

Índice

O que eles têm em comum

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 será enviado a um endereço IP . Esses pacotes são tratados de maneira semelhante, pois são encaminhados do seu computador para roteadores intermediários e depois para o destino.

router-diferença-entre-tcp-e-udp

TCP e UDP não são os únicos protocolos que funcionam em cima do IP. No entanto, eles são os mais 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.

Recomendado:  Como impedir que o YouTube reproduza vídeos automaticamente no iOS, Android e na web

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 no trânsito. É por isso que os downloads de arquivos não são corrompidos, mesmo se houver problemas na rede. Claro, se o destinatário estiver completamente offline, seu computador desistirá e você verá uma mensagem de erro informando 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, faz a verificação de 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.

O Process Explorer e outros utilitários do sistema podem mostrar os tipos de conexões 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

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

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.

Recomendado:  Como ativar ou desativar o 3D Touch em um iPhone

Por exemplo, digamos que você esteja assistindo a um fluxo de vídeo ao vivo, que geralmente é transmitido usando UDP em vez de TCP. O servidor apenas envia um fluxo constante de pacotes UDP aos 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 faz sentido 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. Eliminar a correção de erros do TCP ajuda a acelerar a conexão do jogo e reduzir a latência.

pc-game-team-fortress-2-using-udp

E daí?

Se um aplicativo usa TCP ou UDP é com 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.

Recomendado:  Como usar grupos de guias no Google Chrome para Android