Camada de Transporte
A camada de transporte é uma das componentes fundamentais no modelo OSI (Open Systems Interconnection) e no modelo TCP/IP, ambos frameworks conceituais usados para entender e projetar os protocolos de rede e como eles interagem entre si. Esta camada faz a entrega de mensagens entre aplicações que estão rodando em hosts diferentes na rede, garantindo que os dados sejam entregues de forma confiável, na ordem correta, e sem erros, o que é essencial para o funcionamento eficaz da comunicação na internet e em outras redes.
Funções Principais da Camada de Transporte
Segmentação: Os dados vindos da camada de sessão (no modelo OSI) ou da camada de aplicação (no modelo TCP/IP) são divididos em segmentos menores para facilitar o transporte.
Controle de Conexão: Dependendo do protocolo utilizado (TCP ou UDP), a camada de transporte pode estabelecer, manter e terminar conexões virtuais entre os hosts.
Controle de Fluxo: Para evitar que o remetente sobrecarregue o destinatário com dados mais rapidamente do que este pode processar, a camada de transporte pode regular a taxa de transmissão de dados.
Controle de Erro: Através da verificação de somas de verificação (checksums) e números de sequência, a camada de transporte pode detectar erros nos dados transmitidos e, dependendo do protocolo, solicitar a retransmissão de segmentos com erro.
Multiplexação e Demultiplexação: A camada de transporte permite que múltiplas aplicações em um único host usem a rede simultaneamente, atribuindo a cada sessão de comunicação um identificador único (porta).
Protocolos da Camada de Transporte
Os dois protocolos mais conhecidos da camada de transporte
são o TCP (Transmission Control Protocol) e o UDP (User Datagram Protocol).
TCP: É orientado à conexão, o que significa que uma conexão
é estabelecida e mantida até que a aplicação em cada extremidade tenha
terminado de trocar mensagens. Ele garante a entrega de dados sem erros e na
sequência correta, tornando-o ideal para aplicações que exigem alta
confiabilidade, como navegadores web, e-mail, e transferências de arquivos.
UDP: É um protocolo sem conexão, o que significa que os
dados são enviados sem que uma conexão seja estabelecida, tornando-o mais
rápido, mas menos confiável que o TCP. O UDP é frequentemente usado em
aplicações que podem tolerar alguma perda de dados, mas requerem baixa
latência, como jogos online e streaming de vídeo ou áudio.
Portas
A camada de transporte utiliza portas como um mecanismo fundamental para a multiplexação e demultiplexação de sessões de comunicação entre hosts na rede. Este conceito é essencial para permitir que múltiplas aplicações em um único dispositivo se comuniquem através da rede simultaneamente sem interferência entre si. As portas são identificadores numéricos que são usados juntamente com os endereços IP para formar um endereço completo na rede, conhecido como um socket.
Como Funcionam as Portas na Camada de Transporte
Identificação de Aplicação: Cada aplicação que precisa se comunicar através da rede é atribuída a uma porta específica. Por exemplo, a porta 80 é comumente usada para tráfego HTTP (web), enquanto a porta 443 é usada para HTTPS (web seguro).
Multiplexação: No lado do servidor, a camada de transporte usa o número da porta para direcionar os pacotes de dados recebidos para a aplicação correta. Isso é conhecido como multiplexação, onde múltiplas conexões de entrada podem ser gerenciadas simultaneamente.
Demultiplexação: No lado do cliente, a camada de transporte usa portas para separar as respostas recebidas do servidor para a aplicação correta. Isso é conhecido como demultiplexação.
Tipos de Portas
As portas são geralmente categorizadas em três tipos principais:
Portas Conhecidas (Well-Known Ports): São as portas de número 0 a 1023 e são atribuídas a serviços padrão de rede. Por exemplo, a porta 80 para HTTP e a porta 21 para FTP.
Portas Registradas (Registered Ports): São as portas de número 1024 a 49151. Elas são menos conhecidas que as portas conhecidas e são usadas por aplicações específicas. Muitas aplicações de software escolhem portas registradas para comunicar.
Portas Dinâmicas ou Privadas (Dynamic or Private Ports): São as portas de número 49152 a 65535. Estas portas não são atribuídas a nenhum serviço específico e podem ser usadas por aplicações para comunicações temporárias.