Na aula de hoje, continuamos nossa jornada pelo mundo das redes de computadores, mergulhando em tópicos avançados de roteamento e endereçamento. Após as últimas aulas sobre OS e Estatística, voltamos a um dos pilares da comunicação de dados: como os pacotes navegam pela internet. Vimos desde os fundamentos do algoritmo de Bellman-Ford até a aplicação prática do CIDR e NAT.
1. Algoritmos de Roteamento: Distance Vector vs Link State
O roteamento é o processo de selecionar caminhos em uma rede para enviar pacotes. Dois tipos principais de algoritmos são utilizados para construir as tabelas de roteamento: Distance Vector e Link State. Cada um possui vantagens e desvantagens claras.
Distance Vector (RIP)
No Distance Vector, cada roteador mantém uma tabela com a distância (custo) para cada destino e o próximo salto (next-hop). Periodicamente, os roteadores enviam sua tabela completa apenas para seus vizinhos. O protocolo mais conhecido é o RIP (Routing Information Protocol), que usa o número de hops como métrica.
O algoritmo de Bellman-Ford é utilizado para calcular as rotas:
# Exemplo conceitual
Para cada destino d na rede:
Se custo(vizinho, d) + custo(eu, vizinho) < custo(eu, d):
custo(eu, d) = custo(vizinho, d) + custo(eu, vizinho)
próximo_salto(eu, d) = vizinho
O maior problema do Distance Vector é a contagem até o infinito (count-to-infinity), que pode causar loops de roteamento e convergência muito lenta. Técnicas como Split Horizon com Poison Reverse ajudam a mitigar o problema, mas não o eliminam completamente.
Link State (OSPF)
No Link State, cada roteador descobre seus vizinhos e calcula o custo do link. Essa informação (LSA - Link State Advertisement) é enviada para todos os roteadores da rede (flooding). Com o mapa completo da topologia (LSDB), cada roteador executa o algoritmo de Dijkstra (SPF) para encontrar a rota mais curta para todos os destinos.
As principais vantagens do Link State são a convergência extremamente rápida e o suporte a métricas mais complexas (como largura de banda e atraso), tornando o OSPF ideal para redes empresariais e de grande porte. A desvantagem é o maior consumo de CPU e memória para manter o LSDB e executar o SPF.
2. Endereçamento IP e Sub-redes
Vimos que o endereçamento IP original (Classful) desperdiçava muitos endereços. O CIDR (Classless Inter-Domain Routing) resolveu esse problema permitindo que a máscara de sub-rede tivesse qualquer comprimento, tornando a alocação muito mais flexível.
VLSM (Variable Length Subnet Mask)
O VLSM é uma extensão do CIDR que permite dividir uma rede em sub-redes de tamanhos diferentes, otimizando o uso dos endereços. Por exemplo, uma rede /24 pode ser dividida em:
- 1 sub-rede /26 (62 hosts) para o setor administrativo.
- 1 sub-rede /27 (30 hosts) para o setor de vendas.
- 2 sub-redes /30 (2 hosts cada) para links ponto-a-ponto.
Isso é muito mais eficiente do que usar /24 para todos os setores, que desperdiçaria centenas de endereços. O cálculo de sub-redes é uma habilidade fundamental para a certificação CCNA e para o dia a dia do profissional de infraestrutura.
NAT e PAT
O NAT (Network Address Translation) permite que dispositivos com endereços privados (RFC 1918) acessem a internet usando um endereço público. Existem três tipos principais:
- Static NAT: Mapeamento 1:1 entre IP privado e público. Utilizado quando um servidor interno precisa ser acessado da internet de forma fixa.
- Dynamic NAT: Pool de IPs públicos. Os dispositivos competem pelos endereços públicos disponíveis no pool.
- PAT (NAPT): Múltiplos IPs privados compartilham um único IP público, diferenciados pela porta TCP/UDP. É o tipo mais comum, usado em roteadores domésticos e empresariais de pequeno porte.
Exemplo de funcionamento do PAT:
Host A (192.168.1.10:5000) → Roteador (200.100.50.1:12345) → Servidor Web (8.8.8.8:80)
Host B (192.168.1.20:5000) → Roteador (200.100.50.1:12346) → Servidor Web (8.8.8.8:80)
Tabela de tradução do roteador:
(192.168.1.10:5000) ↔ (200.100.50.1:12345)
(192.168.1.20:5000) ↔ (200.100.50.1:12346)
Apesar de essencial para a conservação de endereços IPv4, o NAT quebra o modelo fim-a-fim da internet e pode causar problemas com aplicações que embutem endereços IP no payload (como FTP e VoIP). O IPv6 resolve esse problema com seu vasto espaço de endereçamento.
3. Protocolos na Prática
Na prática, as redes empresariais utilizam OSPF ou EIGRP (Cisco) como protocolo de roteamento interno (IGP - Interior Gateway Protocol). O BGP (Border Gateway Protocol) é o protocolo de roteamento externo (EGP) utilizado entre sistemas autônomos na internet. O BGP não é puramente Distance Vector ou Link State; ele é classificado como Path Vector, pois anuncia o caminho completo (AS Path) para um destino.
Comandos essenciais para verificar o roteamento em um roteador Cisco ou servidor Linux:
# Cisco
show ip route
show ip ospf neighbor
show ip bgp summary
# Linux
ip route show
traceroute google.com
netstat -rn
Entender a saída desses comandos é fundamental para diagnosticar problemas de conectividade e loops de roteamento.
4. Considerações Finais
O estudo do roteamento é fundamental para qualquer profissional de redes ou sistemas. Entender como os dados trafegam da origem ao destino, os algoritmos por trás das decisões e as técnicas de endereçamento (VLSM, CIDR, NAT) é essencial para projetar, configurar e diagnosticar redes modernas. Os protocolos de roteamento dinâmico como OSPF e BGP formam a espinha dorsal da internet, enquanto o NAT permanece como uma solução de transição para o IPv6. Na próxima aula, continuaremos explorando a camada de rede.