Transmission Control Protocol — Foco em Fiabilidade e Controlo Estrito
Calcula somas de verificação (checksum) avançadas e descarta dados corrompidos, solicitando imediatamente o reenvio de pacotes em falta.
O recetor dita o tamanho da janela de receção, gerindo dinamicamente a taxa de bytes permitida em trânsito sem necessidade de confirmação imediata.
Gere algoritmos como Slow Start, Congestion Avoidance e Fast Recovery para prevenir que a infraestrutura física de rede atinja o colapso.
| Campo do Cabeçalho | Função Técnica na Ligação |
|---|---|
| Portas de Origem / Destino (16 bits cada) | Encaminham o segmento de transporte para o processo/aplicação correto no sistema operativo. |
| Número de Sequência (32 bits) | Determina a posição do primeiro byte do segmento no fluxo geral de dados. |
| Número de Confirmação (ACK) (32 bits) | Indica o valor do próximo byte esperado pelo recetor da transmissão. |
| Bits de Controlo / Flags (9 bits) | Flags lógicas fundamentais para gerir o estado da sessão (SYN, ACK, FIN, RST, PSH, URG). |
| Janela de Receção (Window Size) (16 bits) | Define a largura do buffer livre no recetor para fins de controlo de fluxo de dados. |
User Datagram Protocol — Desempenho Máximo com Latência Mínima
O UDP foca-se na transmissão rápida de dados sem ligações prévias ou estados ativos. Funciona sob o paradigma do "melhor esforço" (best-effort).
Não há confirmação de entrega, reordenação de pacotes nem retransmissões automáticas. Cada datagrama é tratado como uma entidade independente de rede, reduzindo a latência local ao mínimo absoluto e permitindo taxas de débito elevadas em canais estáveis.
| Campo no Cabeçalho | Objetivo do Campo |
|---|---|
| Porta de Origem (16 bits) | Identifica a aplicação de origem no emissor (opcional no IPv4). |
| Porta de Destino (16 bits) | Direciona o datagrama para o processo recetor correto no anfitrião de destino. |
| Comprimento (Length) (16 bits) | Especifica o tamanho total do datagrama (cabeçalho + carga útil de dados). |
| Soma de Verificação (Checksum) (16 bits) | Protege o datagrama contra corrupção básica de bits durante a transmissão de rede. |
O cabeçalho TCP requer no mínimo 20 bytes de metadados para operar as suas extensas máquinas de estado e manter os registos da sessão ativos.
Em contrapartida, o UDP consome apenas 8 bytes fixos no cabeçalho. Isto traduz-se em menos largura de banda desperdiçada com cabeçalhos e menos processamento computacional nos nós terminais para decodificar os pacotes.
Aplicações como HTTP/HTTPS (Web), SMTP (Email), SSH (Acesso Remoto) e FTP (Transferência de Ficheiros) dependem de dados sem qualquer margem de erro ou corrupção de bits.
Chamadas de Voz sobre IP (VoIP), transmissões de vídeo em tempo real (RTP) e videoconferências toleram perdas mínimas mas não toleram atrasos acumulados ou paragens bruscas.
Resolução de nomes DNS, atribuição de IPs via DHCP e troca de estados rápidos em jogos online competitivos exigem reações imediatas sem overhead de conexão prévia.
Espaço para debate académico sobre a camada de transporte.