1. Definição e Papel no TCP/IP
A Camada de Transporte é a quarta camada da pilha TCP/IP. A sua função é permitir que aplicações em diferentes computadores (anfitriões) comuniquem entre si de forma direta. Enquanto a camada de Internet (IP) entrega pacotes entre máquinas, a camada de Transporte entrega os dados ao processo específico (software) dentro dessa máquina.
A grande força desta camada no TCP/IP é oferecer dois tipos de serviços distintos, permitindo que o programador escolha o que é mais importante para a sua aplicação: fiabilidade ou performance.
2. Os Dois Protocolos Fundamentais
2.1. TCP (Transmission Control Protocol) - Fiável
O TCP é um protocolo orientado à ligação. Antes de enviar dados, ele estabelece uma sessão formal entre o emissor e o recetor através de um processo de 3 etapas chamado Three-Way Handshake (SYN, SYN-ACK, ACK).
-
Características:
-
Confirmação de Receção (ACK): O recetor avisa que os dados chegaram.
-
Retransmissão: Se um segmento se perder, o TCP envia-o novamente.
-
Ordenação: Garante que os dados chegam à aplicação na ordem correta.
-
Controlo de Fluxo: Evita que o emissor envie dados mais rápido do que o recetor consegue processar.
-
-
Uso: Web (HTTP), E-mail (SMTP), Transferência de ficheiros (FTP), Acesso remoto (SSH).
2.2. UDP (User Datagram Protocol) - Rápido
O UDP é um protocolo não orientado à ligação. Ele envia os dados sem avisar e não se preocupa se eles chegaram ao destino ou se chegaram na ordem certa. É um protocolo de “melhor esforço”.
-
Características:
-
Sem Confirmação: Não há ACKs, o que reduz o tráfego de controlo.
-
Baixa Latência: Ideal para transmissões em tempo real.
-
Simplicidade: O cabeçalho é muito pequeno (8 bytes), tornando-o muito eficiente.
-
-
Uso: Streaming de vídeo/áudio, Chamadas de Voz (VoIP), Jogos Online, Consultas DNS.
[Image comparing TCP reliability vs UDP speed]
3. O Conceito de Portas e Sockets
Como é que o computador sabe que um pacote de dados é para o Chrome e não para o Spotify? Através das Portas.
-
Portas (Ports): São números (0 a 65535) que identificam o serviço ou aplicação.
- Portas Conhecidas (Well-known): 0 a 1023 (ex: 80 para HTTP, 443 para HTTPS).
-
Socket: É a combinação de um Endereço IP + Protocolo + Número de Porta.
- Exemplo:
192.168.1.10:TCP:443. O socket é a “morada completa” de uma aplicação na rede.
- Exemplo:
4. Unidade de Dados (PDU): Segmentos e Datagramas
Na camada de transporte, o nome da PDU depende do protocolo utilizado:
-
Se usarmos TCP, o dado chama-se Segmento.
-
Se usarmos UDP, o dado chama-se Datagrama.
5. Multiplexação e Desmultiplexação
A camada de transporte permite que dezenas de aplicações utilizem a rede em simultâneo através de uma única ligação física.
-
Multiplexação: O emissor junta os dados de várias aplicações, adiciona os cabeçalhos de transporte com as portas e envia para a camada de Internet.
-
Desmultiplexação: O recetor lê as portas de destino e entrega cada pedaço de dado à aplicação correspondente.