Os protocolos TCP (Transmission Control Protocol) e UDP (User Datagram Protocol) são dois dos
principais protocolos da camada de transporte, mas possuem características e funcionalidades
distintas. Abaixo estão as principais diferenças entre eles, com foco nas funcionalidades do TCP
que não estão presentes no UDP:
Diferenças entre TCP e UDP:
Característica
TCP
UDP
Orientado à conexão (usa handshake Não orientado à conexão (não
Orientação à conexão de três vias para estabelecer
estabelece conexão antes de enviar
conexão).
dados).
Usa ACKs (confirmações) para
Confirmação de
Não usa confirmações de
garantir que os dados foram
recebimento
recebimento.
recebidos.
Implementa controle de fluxo para
Controle de fluxo
Não possui controle de fluxo.
evitar sobrecarga do receptor.
Controle de
Possui mecanismos de controle de Não possui controle de
congestionamento
congestionamento.
congestionamento.
Sequenciamento de
Numera os pacotes e os reorganiza
Não há sequenciamento de pacotes.
pacotes
na ordem correta no destino.
Retransmissão de
Retransmite pacotes perdidos ou
Não retransmite pacotes perdidos ou
pacotes
corrompidos.
corrompidos.
Overhead (custo
Maior overhead devido aos
Menor overhead, pois é mais simples
adicional)
mecanismos de confiabilidade.
e rápido.
Mais lento devido aos mecanismos Mais rápido, ideal para aplicações
Velocidade
de confiabilidade.
sensíveis a atrasos.
Aplicações que exigem
Aplicações que exigem velocidade,
Uso típico
confiabilidade, como HTTP, FTP, ecomo streaming, VoIP, jogos online.
mail, etc.
Funcionalidades do TCP que não existem no UDP:
1.Orientação à conexão:
•O TCP estabelece uma conexão entre o emissor e o receptor usando o handshake de três
vias (SYN, SYN-ACK, ACK). O UDP não estabelece conexão, simplesmente envia os dados.
2.Confirmação de recebimento (ACKs):
•O TCP usa confirmações (ACKs) para garantir que os pacotes foram recebidos
corretamente. Se um pacote não for confirmado, ele é retransmitido. O UDP não usa
confirmações.
3.Controle de fluxo:
•O TCP ajusta a taxa de transmissão de dados para evitar sobrecarregar o receptor. O UDP
não possui controle de fluxo.
4.Controle de congestionamento:
•O TCP detecta congestionamento na rede e reduz a taxa de transmissão para evitar
perda de pacotes. O UDP não possui esse mecanismo.
5.Sequenciamento de pacotes:
•O TCP numera os pacotes e os reorganiza na ordem correta no destino. O UDP não
garante a ordem de entrega dos pacotes.
6.Retransmissão de pacotes perdidos ou corrompidos:
•O TCP retransmite pacotes que são perdidos, corrompidos ou não confirmados. O UDP
não retransmite pacotes.
7.Encerramento ordenado de conexão:
•O TCP usa um processo de encerramento de conexão (com flags FIN e ACK) para garantir
que ambas as partes concordem em fechar a conexão. O UDP não tem um mecanismo de
encerramento de conexão.
Resumo:
O TCP é um protocolo confiável, com funcionalidades como controle de fluxo, controle de
congestionamento, retransmissão de pacotes e entrega ordenada de dados. Já o UDP é um
protocolo simples e rápido, mas sem garantias de confiabilidade, sendo ideal para aplicações onde
a velocidade é mais importante que a integridade dos dados.