cancelar
Mostrar resultados para 
Pesquisar em vez de 
Queria dizer: 
cancel
766
Apresentações
3
Útil
2
Comentários
Pedroxh
Spotlight
Spotlight

Olá network folks!

O artigo de hoje é a continuação sobre o IS-IS que postei alguns dias atrás (você pode ler ele no link aqui).

Dessa vez, irei abordar sobre o IS-IS Single Topology e o Multi-Topology, e demonstrarei em um lab como você pode manipular prefixos v4 e v6 para passarem por caminhos diferentes em seu backbone.

 

Pegue o seu café e let's routing!

 

IS-IS TLVs

 
steamuserimages-a.akamaihd.gif

 

Antes de entrarmos nos modos, precisamos entender o que são TLVs e a sua importância para o IS-IS.

TLVs são parametros que o IS-IS usa para transportar informações em LSPs (Link State Packets) e sendo bastante extensivel (conforme definido na RFC 1195).

 
 

No data unit do IS-IS (PDU), há uma parte fixa e uma parte variável do cabeçalho. A parte fixa do cabeçalho contem os campos fixos, e a parte variável, contem os TLVs que permitem codificação flexivel. Esses campos são identificados por um octeto type (T), um octeto lenght (L) e "x" octetos de value (V).

 

 

Abaixo temos um exemplo de uma coleta feita com o Wireshark onde é possivel ver os TLVs de type 129 (Protocols supported) e TLV 132 (IP Interface address).

 
 

Explicado a importância do TLV para o ISIS, podemos seguir com o nosso tópico (fará toda a diferença no final do artigo, eu juro).

 

IS-IS Single Topology

 

No artigo anterior (citado no começo), nós realizamos a configuração basica do IS-IS no modelo Multi-level, onde eu possuia roteadores L1 para a camada de acesso, L1-L2 para distribuição e L2 para Core (classico modelo hierárquico de três camadas) e todos na mesma área (49.0001.XXXX.XXXX). Naquele cenário, todos os routers se enxergavam (show isis database) e L1 recebia todos os prefixos L1 da sua área, além de uma rota default do roteador L1-L2 mais proximo através do ATT-BIT*

 

OBS: ATT-BIT é definido pelo router L1-L2 em seus pacotes L1 LSPs automaticamente. Ele é responsavel por realizar o roteamento entre areas ou Inter-area routing. Abaixo uma imagem junto com um artigo da Cisco sobre).

 
Pedroxh_20-1707161111129.png

Fonte: https://www.cisco.com/c/en/us/support/docs/ip/integrated-intermediate-system-to-intermediate-system-is-is/118280-config-att-00.html

 

Explicado o cenário anterior, agora iremos para uma abordagem de Single Topology, que por mais que o nome faça você pensar ( e eu sei que você pensou isso hahaha) que Single-Topology vem de que provavelmente usaremos 1

única address-family (v4 ou v6), na verdade ele vem de usarmos ambos porém com a mesma IS-IS Database!
Vamos entender um pouco disso com o nosso lab.

 

Pedroxh_21-1707161111129.png

No cenario acima, possuimos 2 IOS-XE (R4 e R7) e 4 IOS-XR (R1,R2,R5 e R8) configurados todos na mesma area (49.0001) e rodando no mesmo level (Level 2 no caso, nao se antentem aos hostnames no print. Não mudei pois se eu mudasse teria que desligar o lab inteiro e iria levar 84 anos para tudo ligar novamente hahaha).

 

No modo Single-topology, todas os meus IS-IS Links (as interfaces habilitadas com IS-IS) precisam ter endereçamento v4 e v6 configurados para funcionar. Nesse modo, a topologia IS-IS será construida com base nos IS-IS Reachability TLV v4 type 126 e Reachability TLV v6 type 127 (entendeu porque abordei o TLV no comeco? Você pode conferir todos os codes TLV nesse link aqui).

 

Vamos verificar como está a configuração em R4 e R7?

 

R4

Pedroxh_22-1707161111130.png

R7

Pedroxh_23-1707161111132.png

Como podemos ver, R4 e R7 tem neighbors fechados e possuem todos os routers em sua LSDB de Level-2 (já que todos estão operando no mesmo level). Se verificarmos a tabela de roteamento e tentarmos pingar o ip de loopback de R7 (7.7.7.7|), teremos comunicação.

R4

Pedroxh_24-1707161111133.png

Para v4 está tudo perfeito. Vamos tentar v6?

R4

Pedroxh_25-1707161111133.png

 

Funcionando perfeitamente. E podemos ver que tanto o caminho via v4 quanto v6 são exatamente os mesmos hops (R2-R5-R7) .

 

E qual o problema em se usar single-topology então Pedro? De fato, o unico problema que vejo, é de ser ter a mesma database para ambas as familias de endereçamento.Em caso de falha do link, ambas ficaram indisponiveis até o novo calculo de convergência.Veja que para IPv6 , não existe uma IS-IS topology para os prefixos v6 que recebemos, logo, toda as metrics são baseados no Reachability IPv4, incapacitando que eu mude a metrica de prefixos v4 passarem por um caminho, e v6 por outro, por exemplo.

 
Pedroxh_26-1707161111134.png

Podemos ver tambem que na database entre R4 e R7, o campo NLPID (Network Layer Protocol ID) mostra que estamos operando nas address-familys v4 e v6 (v4 com o codigo 0xCC e v6 0x8E respectivamente) , porém no campo Topology, estamos utilizando somente baseado em v4, comprovando que estamos utilizando o modo Single-Topology.

OBS: IOS XE roda Single Topology por default e IOS XR roda multi-topology por default

 

IS-IS Multi-Topology

 

Quando utilizamos Multi-topology no IS-IS, basicamente estamos informando ao processo IS-IS configurado que utilize o campo MT (Multitopology) + a address family configurada. Ao habilitarmos isso, o IS-IS irá criar duas IS-IS databases com ambos os reachabilitys TLVs para v4 e v6.

Para habilita-lo, basta acessarmos os roteadores e adicionar os seguintes comandos abaixo:

 

IOS XR

Router isis LAB (no nosso caso)

address-family ipv6 metric-style wide

no single-topology

!
address-family ipv4
metric-style wide
!

 

IOS XE

Router isis LAB (no nosso caso)

metric-style wide

address-family ipv6

multi-topology

 

Vamos realizar a mesma verificação do print anterior em R4?

 

R4

Pedroxh_27-1707161111134.png

Agora nos possuimos uma IS-IS Database para v6 totalmente apartada da database de v4 como mostra o campo Topology , e com isso podemos como eu disse, alterar metricas de custo para determinados tipos de address-family.

Vocês se lembram que anteriormente o traceroute para o R7 tanto v4 quanto v6 usavam o mesmo caminho? Vamos habilitar a interface G2 de R4 (tinha desabilitado somente para fins de demonstração da utilização da mesma interface), e forçar o ipv6 a sair por ela, e o ipv4 sair pela interface G1.

 

R4-L2(config)#int g1

R4-L2(config-if)#isis ipv6 metric 30

 
Pedroxh_28-1707161111135.png

 

Funcionou perfeitamente! R4 para alcançar o endereço ipv6 da interface G2 de R7, ele está utilizando o caminho via R8-R1-R7 , e para alcançar o IP de loopback 7.7.7.7/32, R4 vai para ambos os caminhos por conta do ECMP, ou, se quisermos, podemos forçar a metric para v4 manualmente para ele seguir o caminho R2-R5-R7 com o comando abaixo

 

R4-L2(config)#int g2

R4-L2(config-if)#isis metric 30

 
Pedroxh_29-1707161111136.png

 

 

Bacana ne? Espero que esse artigo tenha feito você se interessar pelo IS-IS e que você tente subir esse LAB por conta propria. Vou disponibilizar os arquivos de config para agilizar, mas recomendo tentar montar por conta propria pois será uma otima forma de fixar conceitos e ter familaridade com os comandos. Até a proxima (e que não leve mais um ano hahaha)!

Pedroxh_34-1707161868350.gif

 

 

 

Comentários
GustavoReinhold
Level 1
Level 1

Qual versão de XE e XR foi utilizado no lab?
Ótimo conteúdo.

Pedroxh
Spotlight
Spotlight

@GustavoReinhold  tudo bem?

Os IOS-XE usei a versao 16.09 e os IOS-XR usei a versao xrv-k9-6.1.3 

Primeiros Passos

Encontre respostas, faça perguntas e conecte-se com nossa comunidade de especialistas da Cisco de todo o mundo.

Estamos felizes por você estar aqui! Participe de conversas e conecte-se com sua comunidade.