Aprenda / Redes e Internet

FundamentosAula 5 de 1614 min0% da trilha

TCP vs UDP

Os dois jeitos de transportar dado pela rede — um garante entrega, o outro prioriza velocidade.

HTTP roda em cima de outro protocolo, que cuida do transporte real dos bytes pela rede. Existem dois principais, com filosofias opostas: TCP e UDP.

TCP — confiável, com handshake antes de qualquer dado

Antes de trocar qualquer dado de verdade, TCP faz um "aperto de mãos" de 3 passos pra garantir que os dois lados estão prontos:

Cliente
Servidor

Clique em “Reproduzir fluxo” para ver a requisição passo a passo.

Depois do handshake, TCP garante que todo pacote chega na ordem certa, e reenvia automaticamente qualquer pacote perdido no caminho. Esse cuidado extra tem um custo: mais round-trips, mais overhead — por isso TCP é ótimo pra "preciso que 100% do dado chegue certo" (carregar uma página, baixar um arquivo), mas não é o ideal quando um pacote atrasado é pior que um pacote perdido.

UDP — sem handshake, sem garantia, mas rápido

UDP em uma frase
Manda o pacote e não espera confirmação nenhuma.
Se chegar, chegou. Se não chegar, ninguém reenvia automaticamente.

Isso parece pior, mas é exatamente o que uma chamada de vídeo ou um jogo online querem: numa chamada, um frame de vídeo perdido de meio segundo atrás não vale a pena esperar — é melhor pular pro frame atual do que atrasar tudo esperando reenvio. É por isso que streaming ao vivo, chamada de voz/vídeo e jogos multiplayer usam UDP; carregamento de site, e-mail e transferência de arquivo usam TCP.

resumo
TCP                              UDP
Handshake antes de enviar        Sem handshake
Garante ordem e entrega          Sem garantia nenhuma
Mais lento (mais overhead)        Mais rápido
Site, e-mail, arquivo             Chamada de vídeo, jogo, streaming ao vivo

Quiz rápido

Por que uma chamada de vídeo usa UDP em vez de TCP?
O que o handshake de 3 passos do TCP (SYN, SYN-ACK, ACK) garante antes de qualquer dado real trafegar?