domingo, 22 de maio de 2011

Roteamento Classless x Classful

Com certeza, todos que trabalham com redes já devem ter ouvido falar dos protocolos de roteamento classless e classful. Protocolos como o RIPv1 e IGRP não transmitem a máscara da rede quando enviam suas atualizações de rotas e, por isso, são classificados com classful. Como consequência, eles não conseguem trabalhar bem com subredes e VLSM. A solução é adotar um protocolo de roteamento classless, como o RIPv2, EIGRP ou OSPF.

No entanto, o assunto aqui não é esse. Vou tratar aqui de uma característica menos conhecida. Vou falar do ambiente de operação do roteador, em relação ao processo de roteamento executado pelo roteador, quando consulta sua tabela de roteamento para encaminhar os pacotes. Este é um processo independente do protocolo de roteamento utilizado, seja ele classless ou classful.


A tabela de roteamento dos roteadores Cisco é hierarquicamente organizada, tendo rotas de nível 1 ou nível 2.  As rotas de nível um têm uma máscara de subrede igual ou menor que a máscara classful do endereço de rede. Essa rota pode ser uma rota default, um rota de supernet ou uma rota de rede classful. A rota de nível 1 pode ainda ser uma rota “ultimate” ou definitiva. Para ser uma rota ultimate, a rota deve ter o endereço IP do próximo salto (next hop) ou a interface de saída do roteador. A rota abaixo é de nível 1 e ultimate:
C     192.168.2.0/24 is directly connected, Serial0/0

Há outro tipo de rota de nível 1, chamado de rota primária (parent) que não é ultimate. A rota primária é adicionada à tabela de roteamento quando há subredes em operação no ambiente. A rota primária possui rotas secundárias associadas à ela, cada uma representando uma subrede conhecida no ambiente. O exemplo abaixo mostra a rota primária (primeira linha) e as rotas secundárias associadas à ela:

172,16.0.0/16 is subnetted, 2 subnets
C           172.16.1.0/24 is directly connected, Serial0/1
C           172.16.2.0/24 is directly connected, Serial0/0

E como se dá o processo de decisão de roteamento? O roteador inicialmente examina as rotas de nível 1, buscando o match binário mais longo. Se a correspondência encontrada for uma rota ultimate de nível 1, essa rota será utilizada para encaminhar o pacote. Senão, o roteador examina as rotas secundárias (de subrede) da rota primária de melhor correspondência. Se for encontrado um match em uma rota secundária de nível 2, ela será usada para encaminhar o pacote.

Nesta etapa do processo entra a diferença entre roteamento classful e classless. Se o roteador estiver usando o roteamento classless, ele continuará o processo procurando rotas de super-rede de nível 1, inclusive rota default, para obter um match e encaminhar o pacote.  Caso o roteador esteja usando o roteamento classful, ele simplesmente descartará o pacote nesta etapa, mesmo que exista uma rota default configurada. Essa é a grande diferença.

E como saber se o roteador está usando o roteamento classful ou classless? Simples: basta verificar na saída do comando show running-config qual das opções abaixo é mostrada:
ip classless –> roteamento classless ativado (essa é a opção default desde a versão 11.3 do IOS)
no ip classless –> roteamento classful ativado.


Fonte:

Um comentário: