01-26-2024 05:18 AM - editado 01-26-2024 05:20 AM
Olá network folks! Após um grange período sem artigos, irei voltar a escrever as anotações que fiz durante os estudos do CCIE SP.O artigo de hoje é sobre o “irmão gêmeo” do OSPF, o IS-IS . Nele, irei abordar o conceito do IS-IS, e irei mostrar um lab que criei utilizando “Overload Bit” para proteger o backbone de oscilações em caso de falha com um equipamento que está rodando esse protocolo. Vamos começar? Let’s routing!
IS-IS
O IS-IS (Intermediate System-Intermediate System) é um protocolo IGP (Interior Gateway Protocol) do tipo link-state que se assemelha muito ao OSPF (e por isso o uso da familia sayajin rs)
O IS-IS é comumente usado em ISP’s e grandes redes por oferecer uma rápida convergência e alta escalabilidade. Um ponto curioso, é que a ISO criou o IS-IS não para o IP, porem ele foi adaptado para rodar em IP, logo, o IS-IS é um protocolo que roda na camada de enlace já que as configurações IS-IS você realiza na propria interface que você quer que feche uma adjacência IS-IS (diferentemente do OSPF que necessita uma comunicação L3 para que a adjacência feche com o seu neighbor).
Diferente do OSPF que cada interface pode participar de uma área diferente, o IS-IS deixa todo o roteador em uma área. No mundo IS-IS essas áreas são:
Backbone (Level2)
Áreas não backbone (Level1)
Importante salientar que dentro dessas áreas, possuímos 3 tipos de routers (ou de IS), sendo eles:
L1= Usados em uma única área e só aprendem prefixos dessa área
L2= Usados para roteamento entre áreas
L1-L2= Usados para roteamento intra e entre áreas (por padrão, roteadores cisco são L1-L2)
fonte:https://ipcisco.com/lesson/is-is/
Obs: Um ponto de atenção, é que a adjacência entre os roteadores só são formados quando ambos possuem o mesmo nível. Conforme a imagem acima, é possível ver que a “Area 2” e “Area 3” possuem roteadores L1 e um roteador L1/L2. Isso ocorre pois para roteadores L1 possuírem comunicação com outras redes de uma área diferente é necessário um roteador L1/L2 realize esse “leaking”. Quando ativado, esse recurso permite que um roteador L1/L2 injete informações de prefixos IP do database L2 no database L1. Guarde bem essa informação pois em breve ela será muito útil para o nosso cenário
Não irei entrar no detalhe das comparações entre IS-IS x OSPF pois o escopo desse artigo é mostrar a configuração de uma rede IS-IS e a utilização do Overload BIT, mas caso queiram mais detalhes dessa comparação vou deixar esse link que me ajudou muito a entender as particularidades de ambos.
Tendo esse resumo sobre o IS-IS, vamos por a mão na massa?
IS-IS Configuração
No cenário acima, possuímos uma rede com dois roteadores de acesso , dois roteadores de distribuição e um core (em um modelo Hierárquico). O intuito do cenário era segregar cada roteador em seu determinado tipo (acesso como L1 , distribuição como L1/L2 para realizar a “conversação” entre as redes e L2 para o Core). O “ISP100” está somente configurado com um /30 para o CORE possuir uma rota default e poder envia-la para os roteadores.
Você pode estar se perguntando“porque o core está em uma área L2 somente?” Isso é uma boa pratica pois em uma rede com varias áreas, podemos conter o “flooding” de LSP’s (Link-state PDU que é responsável por distribuir as informações de roteamento dos routers IS-IS, bem similar ao LSA do OSPF) dentro da área onde está. Isso garante uma economia de memória e CPU do equipamento pois os cálculos de rotas serão executados em apenas um database link-state (ou L1 ou L2) em vez de dois (L1-L2).
Abaixo irei demonstrar as configurações de endereçamento e do IS-IS
ACCESS01-L1
interface Loopback1
ip address 1.1.1.1 255.255.255.255
interface Ethernet1/0
description TO-DIS01
ip address 172.16.20.2 255.255.255.252
ip router isis
duplex full
!
interface Ethernet1/1
description TO-DIS02
ip address 172.16.20.6 255.255.255.252
ip router isis
duplex full
!
interface Ethernet1/2
description LAN
ip address 192.168.1.1 255.255.255.0
duplex full
router isis
net 49.0001.0010.0100.1001.00
is-type level-1 (definimos que esse roteador será somente L1 já que por default roteadores cisco são L1-L2)
passive-interface Ethernet1/2 (excluímos as interfaces com “passive-interface" do processo IS-IS para que ela não gere LSP’s desnecessariamente)
passive-interface Loopback1
OBS: o “Net” na configuração IS-IS é um valor que nós mesmo adicionamos. O NET (Network Entily Title) é o identificador único que cada roteador IS-IS deve ter. Ele possui o valor padrão de 49.000X.YYYY.YYYYY.YYYY.00 onde :
49= AFI
000X= O ID da área
Yyyy.yyyy.yyyy= System ID que no caso é o IP de loopback
.00=NSEL
A logica para criação do NET é a seguinte:
IP Looback: 1.1.1.1
Cada octeto do endereço deve possuir três dígitos (adicionar 0 a esquerda)
001.001.001.001
Regrupar os dígitos de quatro em quatro
0010.0.0100.1001
Configurar o NET ID dentro do processo ISIS
router isis
net 49.0001.0010.0100.1001.00
ACCESS-02
interface Loopback1
ip address 2.2.2.2 255.255.255.255
interface Ethernet1/0
description TO-DIS01
ip address 172.16.22.2 255.255.255.252
ip router isis
duplex full
!
interface Ethernet1/1
description TO-DIS02
ip address 172.16.22.6 255.255.255.252
ip router isis
duplex full
!
interface Ethernet1/2
description LAN
ip address 192.168.2.1 255.255.255.0
duplex full
router isis
net 49.0001.0020.0200.2002.00
is-type level-1
passive-interface Ethernet1/2
passive-interface Loopback1
DIS01-L1L2
interface Loopback1
ip address 11.11.11.11 255.255.255.255
interface Ethernet1/0
description TO-CORE
ip address 10.10.10.2 255.255.255.252
ip router isis
duplex full
!
interface Ethernet1/1
description TO-ACCESS02
ip address 172.16.22.1 255.255.255.252
ip router isis
duplex full
!
interface Ethernet1/2
description TO-ACCESS01
ip address 172.16.20.1 255.255.255.252
ip router isis
duplex full
!
interface Ethernet1/3
description TO-DIS02
ip address 10.10.20.1 255.255.255.252
ip router isis
duplex full
router isis
net 49.0001.0110.1101.1011.00
passive-interface Loopback1
DIS02-L1L2
interface Ethernet1/0
description TO-CORE
ip address 10.10.10.6 255.255.255.252
ip router isis
duplex full
!
interface Ethernet1/1
description TO-ACCESS01
ip address 172.16.20.5 255.255.255.252
ip router isis
duplex full
!
interface Ethernet1/2
description TO-ACCESS02
ip address 172.16.22.5 255.255.255.252
ip router isis
duplex full
!
interface Ethernet1/3
description TO-DIS01
ip address 10.10.20.2 255.255.255.252
ip router isis
duplex full
!
router isis
net 49.0001.0220.2202.2022.00
passive-interface Loopback1
CORE-L2ONLY
interface Loopback1
ip address 66.66.66.66 255.255.255.255
interface Ethernet1/0
description TO-INTERNET
ip address 11.12.13.1 255.255.255.252
duplex full
!
interface Ethernet1/1
description TO-DIS02
ip address 10.10.10.5 255.255.255.252
ip router isis
duplex full
!
interface Ethernet1/2
description TO-DIS01
ip address 10.10.10.1 255.255.255.252
ip router isis
duplex full
!
!
router isis
net 49.0001.0660.6606.6066.00
is-type level-2-only
passive-interface Ethernet1/0
passive-interface Loopback1
Feita essa configuração, podemos ver que todos os peers IS-IS estão up’s conforme o comando “show isis neighbors":
OBS: Do ponto de vista do DIS02 ele realiza 2 relações de neighbor com DIS01 já que os mesmos estão configurados como L1/L2 e conforme mencionei anteriormente, nesse modo ele irá criar duas database para cada Link-State (L1 e L2 respectivamente).
Vamos verificar como ficou a tabela de rotas do DIS02?
Como podemos ver, o aprendizado de rotas foi realizado e há rotas que possuímos dois caminhos para alcançar (ocorreu um ECMP para esse prefixos) já que para aquele destino ele possui dois caminhos com métricas idênticas para alcança-lo.
Para verificarmos quais rotas estão na nossa RIB e que não foram instaladas na nossa FIB por possuímos uma métrica melhor, podemos usar o comando “show isis rib” para listar todas as informações da RIB local do DIS02.
Obs: A métrica padrão do IS-IS é de 10. Nos casos acima, somente a rota via 172.16.20.6 foi instalada por possuir uma métrica menor do que via 10.10.20.1 (métrica 20).
E como está a tabela de rotas do nosso Access-01?
Perfeito! Agora, vamos verificar do ponto de vista do CORE
Como podemos ver, o CORE recebe os endereços das LAN’s e das Loopbacks dos roteadores de acesso em duplicidade (via DIS01 e DIS02) com os mesmos custos, permitindo que o ECMP ocorra para esses destinos.
Abaixo um teste de ping do ACCESS01 para a loopback do CORE.
Overload BIT
Imagine que você um dia precise reiniciar essa caixa para realizar um upgrade?Ou pior, imagine que essa caixa trave por algum motivo? Como proteger a rede para que não fique havendo recalculo durante o stop/start do roteador?" Para resolver esses problemas e manter o ambiente o mais estável possível, foi utilizado um recurso do IS-IS chamado “Overload BIT”!
Esse recurso do IS-IS serve como um mecanismo de controle de fluxo para notificar outros roteadores IS-IS a não rotearem trafego para um roteador com problemas de carga. Há duas formas de configura-lo, sendo elas :
On-Startup : Que definimos um timer após o roteador ser iniciado ou aguardando a convergência do BGP(wait-for-bgp) baseado nas mensagens de keepalive.
Manually: Definindo o bit manualmente.
No nosso cenário eu precisava que o roteador que reiniciasse não anunciasse nenhum prefixo para os seus peers. Com isso, utilizei um recurso adicional do overload bit que é o “ suppress”, que faz com que prefixos externos ou Interlevel parem de ser anunciados.
OBS: Externos são quaisquer rotas redistribuídas de outros protocolos e Interlevel são rotas entre os níveis IS-IS
Abaixo a configuração realizada no roteador DIS01
DIS01
router isis
set-overload-bit on-startup 120 suppress interlevel
Configurado isso, toda vez que esse roteador reiniciar, ele irá fechar novamente os peers com outros roteadores IS-IS(comportamento padrão do protocolo), porem não irá anunciar nada até que o tempo estipulado (no caso, 120 segundos) passe. Como podemos verificar isso? Com o comando "show isis database", o campo OL estará marcado indicando que esse BIT está ativo e que é para os roteadores desconsiderarem os prefixos vindos do peer que contem esse BIT. Abaixo como essa informação chega do ponto de vista do CORE.
E a tabela de rotas? Podemos ver que agora somente as rotas via DIS02 está sendo utilizada mesmo com ambos os neighbors UP
Obs: Mesmo com esse recurso habilitado, as interfaces diretamente conectadas estarão acessíveis, justificando o porque de haver rotas ainda via eth1/2.
Após os 2 minutos que estipulamos, vejamos como ficou a database e a tabela de rotas
Realmente o IS-IS é um protocolo bem interessante e foi muito enriquecedor realizar esse lab para poder entender mais sobre esse protocolo e suas possibilidades.
Espero que esse artigo tenha ajudado vocês e seguimos firmes para o CCIE SP! Abraço a todos.
Funcionalidade idêntica ao max-metric router-lsa do ospf.
Interessante, obrigado.
Por mais conteudos de SP eu voto sim! kkkkk
Top!
Muito obrigado!
Logo chega mais conteúdo de ISP aqui hahaha
Está a caminhho...
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.
Navegue pelos links rápidos da Comunidade e usufrua de um conteúdo personalizado e em seu idioma nativo: