Junior
Quais são as diferenças entre os protocolos TCP e UDP?
sobes.tech IA
Resposta da IA
As diferenças mais importantes entre TCP (Protocolo de Controlo de Transmissão) e UDP (Protocolo de Datagrama de Utilizador) são as seguintes:
-
Estabelecimento de ligação:
- TCP - protocolo orientado à ligação. Antes de transmitir dados, realiza-se um aperto de mão de três vias (three-way handshake).
- UDP - protocolo sem estabelecimento de ligação. Os dados são enviados sem acordo prévio.
-
Confiabilidade na entrega:
- TCP - protocolo fiável. Garante a entrega, o controlo da ordem dos pacotes e a retransmissão de dados perdidos.
- UDP - protocolo não fiável. Não garante a entrega, a ordem dos pacotes nem realiza retransmissões.
-
Controlo de fluxo e congestão:
- TCP - possui mecanismos de controlo de fluxo (evita enviar dados mais rápido do que o receptor pode processar) e controlo de congestão (regula a velocidade de envio em caso de congestão da rede).
- UDP - não possui mecanismos integrados de controlo de fluxo nem de congestão.
-
Velocidade:
- TCP - geralmente mais lento devido aos custos adicionais de estabelecimento de ligação, confirmação de entrega e controlo de fluxo/congestão.
- UDP - protocolo mais rápido, pois tem menos custos adicionais.
-
Tamanho do cabeçalho:
- TCP - tamanho do cabeçalho de 20-60 bytes.
- UDP - tamanho do cabeçalho de 8 bytes.
-
Áreas de aplicação:
- TCP - usado para aplicações que requerem entrega fiável de dados: HTTP, FTP, SSH, SMTP.
- UDP - usado para aplicações onde a velocidade é importante e a perda de dados é aceitável ou gerida ao nível da aplicação: DNS, DHCP, streaming de vídeo/audio, jogos online, VoIP.
Tabela resumo:
| Característica | TCP | UDP |
|---|---|---|
| Tipo de protocolo | Com estabelecimento de ligação | Sem estabelecimento de ligação |
| Fiabilidade | Fiável | Não fiável |
| Ordem de entrega | Garantido | Não garantido |
| Retransmissão | Sim | Não |
| Controlo de fluxo | Sim | Não |
| Controlo de congestão | Sim | Não |
| Velocidade | Relativamente lento | Relativamente rápido |
| Tamanho do cabeçalho | 20-60 bytes | 8 bytes |
| Exemplos de aplicação | HTTP, FTP, SSH | DNS, VoIP, Jogos |