DEV Community

Levi Gomes
Levi Gomes

Posted on

(3/8) Roteamento: Conceitos, Rotas Estáticas e Fluxo

1. Introdução

Roteamento é o mecanismo que permite que redes distintas se comuniquem de forma estruturada. Sem ele, o tráfego fica restrito ao próprio segmento local, mesmo que a topologia física conecte todas as máquinas. O papel do roteamento é determinar, para cada destino possível, qual é o próximo salto responsável por encaminhar o pacote. É essa simples ideia — escolher o caminho correto — que sustenta arquiteturas corporativas, nuvens privadas e praticamente toda troca de dados na internet.


2. Conceitos essenciais

Toda máquina possui uma tabela de roteamento, que nada mais é do que uma lista de caminhos possíveis. É ali que o sistema decide para onde enviar um pacote: se vai direto para a rede local ou se precisa passar por outro roteador. Essa tabela existe tanto nos hosts quanto nos roteadores — a diferença é que nos roteadores ela costuma ser bem mais rica.

A rota padrão é a regra para tudo que não se encaixa em nenhuma outra rota. Quando o host não reconhece a rede de destino, ele envia para o gateway padrão, confiando que ele saberá o caminho. Em redes simples, ela é quase invisível; em redes maiores, ela é o fio condutor que impede que o tráfego se perca.

Já a rota de rede define um caminho específico para um bloco de endereços. Por exemplo, se a rede 192.168.0.0/16 está atrás de um certo roteador, você adiciona uma rota apontando diretamente para esse roteador. Isso possibilita roteamento entre sub-redes, permitindo que máquinas em redes distintas se comuniquem sem depender de NAT ou gambiarras. É a base de todas as topologias profissionais, de datacenters a pequenos laboratórios.


3. Diagrama do fluxo

Quando um host envia um pacote ele executa duas operações simples e determinísticas:
1) verifica se o endereço de destino pertence ao mesmo prefixo configurado em sua interface (comparação IP vs. máscara);
2) se pertencer, envia diretamente ao destino resolvendo o MAC via ARP; se não pertencer, encaminha o pacote ao gateway configurado (default gateway).

O gateway (ou roteador) que recebe o pacote realiza uma busca na sua tabela de roteamento para decidir o próximo salto. Essa decisão usa o princípio do longest-prefix match: entre todas as rotas cuja rede contém o endereço de destino, a rota com o prefixo mais específico (maior comprimento de máscara) é escolhida. O roteador então encaminha o pacote para o próximo roteador ou, se a rede de destino estiver diretamente conectada a uma de suas interfaces, entrega localmente ao segmento destino. Esse processo se repete salto a salto até a entrega final.

O diagrama ilustra a primeira decisão feita pelo host (entrega direta se o destino pertence ao mesmo prefixo; caso contrário, encaminhamento ao gateway). O roteador aplica então um algoritmo de seleção de rota baseado em longest-prefix match na sua tabela de roteamento para escolher o próximo salto até a rede destino.


4. Configuração de rotas

Via iproute2 (temporário):

ip route add 192.168.0.0/16 via 10.20.0.1
Enter fullscreen mode Exit fullscreen mode

Permanente no /etc/network/interfaces:

post-up ip route add 192.168.0.0/16 via 10.20.0.1
Enter fullscreen mode Exit fullscreen mode

Esse padrão é valioso porque deixa o comportamento previsível após cada reboot. Você sabe exatamente quais rotas entrarão em cena, sem depender de scripts externos ou configurações dispersas pelo sistema.


5. Testando o roteamento

O traceroute revela cada salto entre a origem e o destino. Ele funciona enviando pacotes com TTL (tempo de vida) crescente. Cada roteador reduz 1 desse TTL e, quando ele chega a zero, o roteador responde — expondo sua posição no caminho. É uma forma elegante de ver onde o tráfego realmente está passando.

Já o tcpdump permite observar o trânsito real na interface. Ao escutar a interface de saída, você confirma se os pacotes estão seguindo o caminho que deveriam. É a ferramenta que tira qualquer dúvida: se o pacote aparece ali, você sabe que sua rota está ativa; se não aparece, a tabela de roteamento ou o firewall estão interferindo.


6. Erros comuns

Gateway fora da rede local ❌:

Host 10.0.1.10/24 com gateway 10.0.2.1.
O host nunca conseguirá enviar pacotes ao gateway, porque ele acredita que 10.0.2.1 está fora da sua rede local e tentará encontrar outro gateway que não existe.

Gateway correto ✅:

Host 10.0.1.10/24 com gateway 10.0.1.1.
O gateway está na mesma sub-rede; a ARP resolve seu endereço e o tráfego flui.


Rotas sobrepostas ❌:

ip route add 192.168.0.0/16 via 10.10.0.1
ip route add 192.168.1.0/24 via 10.20.0.1
Enter fullscreen mode Exit fullscreen mode

A segunda rota é mais específica e substitui parte da primeira silenciosamente. O administrador pode achar que todo o /16 vai para 10.10.0.1, quando na verdade só o restante do /16 irá; o /24 será roteado por outro caminho.

Rotas planejadas ✅:

Especificar claramente o papel de cada rota: prefixos amplos para caminhos gerais, prefixos estreitos para exceções intencionais.


Ausência de rota de retorno ❌:

Rede A sabe enviar para Rede B, mas Rede B envia tudo para o gateway padrão, que não sabe retornar à Rede A.
Resultado: o tráfego “vai”, mas não “volta”.

Caminho bidirecional ✅:

Ambas as redes possuem rotas explícitas uma para a outra — seja diretamente, seja via o mesmo roteador intermediário.


7. Conclusão

Rotas bem definidas tornam a rede previsível: cada salto segue uma lógica clara, e cada decisão pode ser observada com ferramentas simples. Entender esse comportamento remove a sensação de aleatoriedade que muitos iniciantes têm quando veem pacotes atravessando a infraestrutura. À medida que você começa a testar, ajustar e analisar o tráfego, o roteamento passa a se encaixar como uma engrenagem sólida, onde pequenos detalhes — como máscaras, rotas específicas e gateways corretos — fazem toda a diferença.

Com essa base consistente, o próximo tema ganha clareza: NAT, que depende totalmente de um roteamento correto para funcionar e é justamente onde muitos erros aparecem quando a fundação não está bem estabelecida.

Top comments (0)