A Camada de Rede (Camada 3 do modelo OSI ou Camada de Internet no TCP/IP) é responsável pelo transporte lógico de dados entre dispositivos que podem estar geograficamente separados por múltiplas redes intermediárias. Ao contrário da Camada de Enlace, que gerencia a comunicação direta entre dispositivos na mesma rede física (hop-a-hop ou salto-a-salto), a Camada de Rede opera com uma visão global, assegurando que os dados originados em um host em uma rede local cheguem ao host de destino em outra rede potencialmente distante.
Para cumprir esse papel de forma eficiente e escalável, a Camada de Rede executa duas funções lógicas distintas, porém interdependentes: o Roteamento e o Encaminhamento (ou Forwarding). A unidade de dados (PDU - Protocol Data Unit) nesta camada é denominada Datagrama (no caso de protocolos connectionless como o IP) ou Pacote.
1. O Datagrama
O datagrama é a unidade fundamental de transferência de informação na Camada de Rede. Ele encapsula o segmento recebido da Camada de Transporte, adicionando um cabeçalho (header) que contém informações vitais para a navegação pela rede, tais como:
- Endereços Lógicos (Endereços IP): Identificam univocamente o host de origem e o host de destino em nível global, independentemente de sua localização física.
- Controle de Vida Útil (TTL - Time To Live): Um mecanismo para evitar que datagramas fiquem circulando indefinidamente na rede em caso de loops de roteamento.
- Informações de Fragmentação: Dados necessários para remontar pacotes que foram divididos para transitar por redes com capacidades de transmissão (MTU) diferentes.
É importante notar que, em arquiteturas como a TCP/IP, a rede é “sem conexão” (connectionless). Isso significa que cada datagrama é tratado de forma independente. Não há um caminho pré-estabelecido dedicado; cada pacote pode percorrer rotas diferentes para chegar ao mesmo destino.
2. Roteamento (Routing)
O roteamento é o processo de planejamento e determinação do caminho. É a função intelectual da rede que decide por qual rota os datagramas devem viajar para chegar do ponto A ao ponto B. Como a internet é uma malha complexa de redes interconectadas, existem, invariavelmente, múltiplos caminhos possíveis entre uma origem e um destino.
O roteamento envolve:
- Algoritmos de Roteamento: Protocolos complexos (como OSPF, BGP, RIP) que trocam informações entre os roteadores para “mapear” a topologia da rede.
- Tabelas de Roteamento: Estruturas de dados armazenadas nos roteadores (e também nos hosts) que funcionam como um mapa. Cada entrada na tabela associa um endereço de rede de destino (ou um roteador padrão) a uma interface de saída ou ao próximo salto (next-hop).
O roteamento é estático ou dinâmico. No roteamento estático, as rotas são configuradas manualmente. No roteamento dinâmico, os roteadores aprendem as rotas automaticamente através de protocolos, adaptando-se a falhas ou mudanças na topologia da rede em tempo real.
3. Encaminhamento (Forwarding)
Enquanto o roteamento define o mapa, o encaminhamento é a ação física de mover o pacote. Ocorre quando um datagrama chega a uma interface de entrada de um roteador. O roteador examina o endereço de destino no cabeçalho do datagrama e consulta sua tabela de roteamento local.
O processo de encaminhamento segue uma lógica simples e repetitiva em cada salto:
- O roteador recebe o quadro (frame) da Camada de Enlace e o desencapsula para recuperar o datagrama.
- Verifica o campo de checksum do cabeçalho IP para garantir a integridade básica.
- Decrementa o campo TTL (Time To Live). Se o TTL chegar a zero, o datagrama é descartado e uma mensagem de erro (ICMP Time Exceeded) é enviada de volta à origem.
- Consulta a tabela de roteamento para encontrar a melhor correspondência (longest prefix match) para o endereço IP de destino.
- Determina a interface de saída apropriada e o endereço MAC do próximo salto (usando ARP, se necessário).
- Encapsula o datagrama em um novo quadro da Camada de Enlace e o transmite.
4. Tipos de Entrega
A entrega de datagramas pode ser classificada em duas categorias principais, dependendo da relação entre o remetente e o destinatário:
A. Entrega Direta (Direct Delivery)
Ocorre quando a origem e o destino estão na mesma rede física (mesmo segmento de rede). Neste caso, o datagrama não precisa passar por um roteador intermediário.
* O host remetente utiliza o Protocolo de Resolução de Endereços (ARP) para descobrir o endereço físico (MAC) do host de destino.
* O datagrama IP é encapsulado diretamente em um quadro com o endereço MAC do destino e enviado para o fio/ondas.
* A entrega direta é a última etapa de qualquer entrega de rede, pois o destino final sempre está em um link direto com seu último roteador.
B. Entrega Indireta (Indirect Delivery)
Ocorre quando a origem e o destino estão em redes diferentes. Neste cenário, o datagrama deve ser entregue a um roteador (Gateway).
* O host remetente envia o datagrama para o endereço IP do roteador padrão (default gateway), embora o endereço IP de destino dentro do cabeçalho continue sendo o host final.
* O roteador assume a responsabilidade de rotear o datagrama através de múltiplas redes intermediárias até que ele chegue a uma rede onde a entrega direta se torne possível.
* A entrega indireta é o padrão na comunicação entre diferentes sub-redes, redes corporativas e na Internet global.