Huawei

IS-IS no Huawei VRP: configuração para backbone de provedor

Malha hexagonal ciano com nós de roteador interligados, representando o IS-IS no backbone

Os posts de MPLS deste blog usam OSPF como IGP, porque é o que a maioria dos técnicos já conhece. Quando o backbone cresce, muita gente troca para IS-IS. Este guia mostra como configurar o IS-IS no Huawei VRP para um backbone de provedor: NET derivado da loopback, tudo em level-2, métrica wide, enlaces ponto a ponto, autenticação, BFD e o LDP rodando por cima.

O cenário é um laboratório com quatro roteadores em anel, com comandos de VRP8 (NE8000 e NE40E, que aplicam com commit). Os comandos foram conferidos na referência de comandos da Huawei para NetEngine 8000. Os endereços são de documentação; troque pelos seus antes de colar.

Resposta rápida: IS-IS no Huawei em 6 passos

  1. Monte o NET de cada roteador a partir do IP da loopback: área 49.0001 e system-id com os 12 dígitos do IP.
  2. Crie o processo com is-level level-2, cost-style wide e network-entity.
  3. Ative o IS-IS na loopback e em cada enlace, com isis circuit-type p2p e custo explícito.
  4. Ligue a autenticação HMAC-SHA256 nos hellos e nas LSPs.
  5. Ative BFD no processo e o set-overload on-startup.
  6. Suba o LDP nas mesmas interfaces, com isis ldp-sync, e confira com display isis peer e display isis route.

Por que IS-IS no Huawei e não OSPF no backbone

OSPF e IS-IS fazem a mesma coisa: cada roteador conhece a topologia inteira e calcula o caminho mais curto. A diferença está nos detalhes que pesam quando a rede cresce. O IS-IS roda direto sobre a camada 2, sem depender do IP, então um pacote IP vindo de fora não alcança o processo. Um único processo carrega IPv4 e IPv6. E um backbone inteiro em level-2 fica plano, sem área 0 para planejar.

ItemIS-ISOSPF
Transporte dos pacotesDireto sobre camada 2, fora do IPDentro do IP (protocolo 89)
HierarquiaLevel-1 e level-2; backbone plano em level-2Área 0 obrigatória e áreas comuns
IPv4 e IPv6Mesmo processo, novos TLVsOSPFv2 e OSPFv3 separados
Extensões (TE, segment routing)Por TLV, sem mudar o protocoloPor LSAs opacas
Preferência padrão no Huawei1510

A última linha importa na migração. No VRP, a rota OSPF tem preferência 10 e a do IS-IS tem 15. Com os dois rodando juntos, o OSPF continua ganhando até você desligá-lo ou mudar a preferência. Isso permite subir o IS-IS no backbone inteiro, conferir a base de dados e só então tirar o OSPF, sem que nenhuma rota mude de caminho antes da hora.

Cenário: anel de quatro roteadores em level-2

Dois PEs e dois Ps num anel. Três enlaces são de 10G com custo 10. O quarto, entre PE2 e PE1, é de 1G e recebe custo 100, para só carregar tráfego quando o anel quebrar. Os posts de MPLS L3VPN no Huawei e de L2VC no Huawei usam três roteadores em linha com OSPF. Aqui o backbone ganha um quarto roteador, fecha o anel e roda IS-IS.

RoteadorLoopbackSystem-idNET
PE1198.51.100.1/321980.5110.000149.0001.1980.5110.0001.00
P1198.51.100.2/321980.5110.000249.0001.1980.5110.0002.00
P2198.51.100.3/321980.5110.000349.0001.1980.5110.0003.00
PE2198.51.100.4/321980.5110.000449.0001.1980.5110.0004.00
Diagrama: anel de quatro roteadores Huawei em IS-IS level-2, com loopbacks, system-id e custos dos enlaces
Quatro roteadores em level-2 na área 49.0001. Os enlaces 10G têm custo 10 e o enlace de 1G entre PE2 e PE1 tem custo 100, então o PE1 alcança o PE2 pelo anel (custo 30).

NET e system-id a partir da loopback

No IS-IS, cada roteador é identificado por um NET (Network Entity Title), não por um IP. O NET tem três partes: a área, o system-id de 6 bytes e o seletor, que é sempre 00 num roteador. O padrão mais usado em provedor é derivar o system-id da loopback, porque assim ninguém precisa de uma planilha extra para saber quem é quem.

A conta é mecânica. Escreva cada octeto do IP com três dígitos e reagrupe de quatro em quatro. 198.51.100.1 vira 198.051.100.001, que dá 198051100001 e o system-id 1980.5110.0001. Com a área 49.0001, o NET do PE1 fica 49.0001.1980.5110.0001.00. A área 49 é a faixa de uso privado, o equivalente ao bloco RFC 1918 no mundo OSI.

System-id repetido derruba a rede. Dois roteadores com o mesmo system-id geram LSPs com o mesmo identificador e ficam brigando pela versão mais nova. A topologia fica instável no backbone inteiro. Derivar da loopback, que já é única, evita esse erro.

Configurando o processo IS-IS no Huawei

Primeiro o processo do IS-IS no Huawei e a loopback. Este é o PE1; nos outros, só mudam o NET, o nome e o IP:

system-view
isis 1
 is-level level-2
 cost-style wide
 network-entity 49.0001.1980.5110.0001.00
 is-name PE1
 quit
interface LoopBack0
 ip address 198.51.100.1 255.255.255.255
 isis enable 1
 quit
commit
  • isis 1: cria o processo 1. O número é local e não precisa bater entre roteadores.
  • is-level level-2: o padrão é level-1-2, que forma duas adjacências por vizinho e mantém duas bases de dados. Num backbone plano, tudo em level-2 corta pela metade o trabalho.
  • cost-style wide: o estilo narrow limita o custo de cada enlace a 63, o que não dá para diferenciar 1G, 10G e 100G. Wide aceita até 16777215 e é exigido por TE e segment routing. Todos os roteadores precisam usar o mesmo estilo.
  • network-entity: o NET calculado na seção anterior.
  • is-name: nome dinâmico que aparece em vários display no lugar do system-id, como na LSDB. Ajuda muito na hora de ler a base de dados.
  • isis enable 1 na LoopBack0: anuncia o /32 da loopback, que vira o endereço do LDP e dos peers iBGP.
  • commit: no VRP8 nada vale antes dele. Nos switches com VRP5, como o S6730, o comando não existe e cada linha vale assim que é digitada.

Interfaces ponto a ponto e custo

interface GigabitEthernet0/1/0
 undo shutdown
 description P2P-PARA-P1
 ip address 203.0.113.1 255.255.255.252
 isis enable 1
 isis circuit-type p2p
 isis cost 10 level-2
 quit
interface GigabitEthernet0/1/1
 undo shutdown
 description P2P-PARA-PE2
 ip address 203.0.113.14 255.255.255.252
 isis enable 1
 isis circuit-type p2p
 isis cost 100 level-2
 quit
commit

Linha por linha, o que muda numa interface de backbone com IS-IS no Huawei:

  • isis enable 1: coloca a interface no processo e anuncia a rede dela.
  • isis circuit-type p2p: numa interface Ethernet, o IS-IS assume rede broadcast, elege um DIS e cria um pseudonó na base de dados. Num enlace com só dois roteadores, isso é trabalho inútil. Como P2P, a adjacência sobe mais rápido e a LSDB fica menor. Os dois lados precisam estar no mesmo tipo.
  • isis cost 10 level-2: custo explícito para o level-2. Sem ele, todo enlace fica com o mesmo custo padrão e o SPF escolhe por número de saltos.
  • description: diz para onde o enlace vai. Quem lê o display isis interface às três da manhã agradece.

Uma regra simples de custo para começar: 100G com custo 1, 10G com 10, 1G com 100. Com o anel do laboratório, o PE1 chega ao PE2 por PE1, P1, P2, PE2 com custo 30. O enlace direto de custo 100 só entra quando algum dos três enlaces de 10G cair.

Autenticação dos hellos e das LSPs

Sem autenticação no IS-IS no Huawei, qualquer equipamento ligado numa porta do backbone que fale IS-IS forma adjacência e injeta rotas. Há dois lugares para proteger: os hellos de cada interface e as LSPs e SNPs que circulam no domínio level-2:

isis 1
 domain-authentication-mode hmac-sha256 key-id 1 cipher Troque-Esta-Chave-2
 quit
interface GigabitEthernet0/1/0
 isis authentication-mode hmac-sha256 key-id 1 cipher Troque-Esta-Chave-1
 quit
interface GigabitEthernet0/1/1
 isis authentication-mode hmac-sha256 key-id 1 cipher Troque-Esta-Chave-1
 quit
commit
  • domain-authentication-mode: autentica as LSPs e SNPs de level-2. Para level-1, o comando equivalente é area-authentication-mode. Como o backbone é todo level-2, o comando certo aqui é o de domínio.
  • isis authentication-mode na interface: autentica os hellos. Se a chave não bate, a adjacência não sobe.
  • hmac-sha256 key-id 1: a referência da Huawei recomenda HMAC-SHA256. O key-id precisa ser igual nas duas pontas.

Numa rede em produção, ligar autenticação num lado só derruba a adjacência. A referência de comandos prevê send-only na interface e all-send-only no domain-authentication-mode para a transição: o roteador passa a enviar com a senha, mas ainda aceita pacotes sem ela. Configure todos os roteadores assim, depois retire o send-only um a um.

BFD e overload na partida

Os hellos do IS-IS demoram dezenas de segundos para declarar um vizinho morto. Em enlace de fibra direto, a interface cai e o IS-IS reage na hora. O problema é quando há um equipamento no meio, como um transponder ou um switch, e a porta continua up com o caminho morto. O BFD detecta isso em milissegundos:

bfd
 quit
isis 1
 bfd all-interfaces enable
 bfd all-interfaces min-tx-interval 100 min-rx-interval 100
 bfd all-interfaces detect-multiplier 3
 quit
commit

O bfd sem nada mais habilita o BFD global. No processo, bfd all-interfaces enable cria uma sessão BFD por adjacência IS-IS. Com 100 ms e detect-multiplier 3, a falha é detectada em cerca de 300 ms. Valores menores existem, mas confira o que a placa suporta antes de baixar.

O outro ajuste evita buraco negro depois de um reboot. Quando o roteador volta, o IS-IS converge em segundos, mas o BGP ainda está aprendendo as rotas. Se o resto da rede já mandar tráfego por ele, esse tráfego morre ali dentro:

isis 1
 set-overload on-startup 300
 quit
commit

Com o bit de overload ligado por 300 segundos depois da partida, os vizinhos calculam o SPF sem passar por esse roteador. As loopbacks dele continuam alcançáveis, então o BGP sobe normalmente. A referência também traz a opção wait-for-bgp, que segura o overload até o BGP convergir.

LDP por cima do IS-IS no Huawei

O IGP só existe no backbone para um fim: levar as loopbacks de um lado ao outro, para o LDP montar os LSPs e o BGP fechar as sessões. Os serviços de MPLS L3VPN no Huawei, L2VC no Huawei e VPLS no S6730 rodam em cima disso. A parte de MPLS é a mesma dos posts com OSPF, com uma linha a mais para o IS-IS no Huawei:

mpls lsr-id 198.51.100.1
mpls
 quit
mpls ldp
 quit
interface GigabitEthernet0/1/0
 mpls
 mpls ldp
 isis ldp-sync
 quit
interface GigabitEthernet0/1/1
 mpls
 mpls ldp
 isis ldp-sync
 quit
commit

O mpls lsr-id usa a loopback, que o IS-IS já anuncia. O isis ldp-sync resolve um problema chato: quando um enlace volta, o IS-IS converge antes do LDP. Por alguns segundos, a rota IP aponta para o enlace novo, mas ainda não há label nele, e o tráfego MPLS cai. Com a sincronização, o IS-IS anuncia custo máximo naquele enlace até a sessão LDP subir.

Verificação do IS-IS no Huawei

display isis peer
display isis interface
display isis lsdb
display isis route
display isis bfd session all

O primeiro comando é o que você vai mais usar no dia a dia do IS-IS no Huawei. Uma saída resumida de exemplo no PE1:

                     Peer information for ISIS(1)

System Id       Interface Circuit Id   State HoldTime Type  PRI
---------------------------------------------------------------
1980.5110.0002  GE0/1/0  0000000001   Up    25s      L2    --
1980.5110.0004  GE0/1/1  0000000001   Up    25s      L2    --

Total Peer(s): 2

Cada vizinho aparece com o system-id, a interface, o estado e o tipo L2. Se o estado fica em Init, o hello chega de um lado só, o que costuma ser autenticação ou tipo de circuito diferente. O display isis interface confirma o tipo P2P e o estado de cada interface. O display isis lsdb lista uma LSP por roteador; com verbose, mostra os vizinhos e prefixos anunciados por cada um. A tabela de rotas do processo:

                        ISIS(1) Level-2 Forwarding Table
IPV4 Destination   IntCost ExtCost ExitInterface NextHop      Flags
--------------------------------------------------------------------
198.51.100.2/32    10      NULL    GE0/1/0       203.0.113.2  A/-/-/-
198.51.100.3/32    20      NULL    GE0/1/0       203.0.113.2  A/-/-/-
198.51.100.4/32    30      NULL    GE0/1/0       203.0.113.2  A/-/-/-
203.0.113.8/30     30      NULL    GE0/1/0       203.0.113.2  A/-/-/-

Repare no 198.51.100.4/32, a loopback do PE2: custo 30, saindo pela GE0/1/0. O enlace direto de custo 100 não aparece porque não é o melhor caminho. Por fim, o LDP:

display mpls ldp session
display mpls lsp
ping lsp ip 198.51.100.4 32

A sessão LDP com cada vizinho deve estar Operational, o display mpls lsp deve ter um LSP para cada loopback e o ping lsp confirma o caminho com labels até o PE2. Para outros comandos de verificação do VRP, veja a lista de comandos para roteadores e switches Huawei.

Erros comuns e troubleshooting

SintomaCausa provávelO que conferir
Adjacência não sobecircuit-type diferente nas pontasp2p dos dois lados
Adjacência não sobeIPs das duas pontas em sub-redes diferentesMáscara e IP do /30 nos dois lados
Vizinho preso em InitSenha ou key-id diferenteConferir a autenticação da interface
Adjacência sobe, sem rotasdomain-authentication diferente; level erradoLSDB e is-level
Rotas com custo estranhoUm roteador em narrow, outros em widecost-style igual em todos
Topologia instávelSystem-id repetidoDerivar o NET da loopback
Rotas IS-IS não entram na tabelaOSPF ainda ativo, preferência 10Ver o protocolo da rota
Tráfego MPLS cai após volta do enlaceLDP subindo depois do IGPisis ldp-sync

A maior parte dos problemas de IS-IS no Huawei se resolve olhando duas saídas: o display isis peer, que mostra se a adjacência existe, e o display isis lsdb, que mostra se as LSPs dos outros roteadores chegaram. Adjacência sem LSP aponta para autenticação de domínio ou level. LSP sem rota na tabela aponta para preferência ou custo.

Perguntas frequentes

Por que usar só level-2 e não level-1-2?

Com level-1-2, cada par de vizinhos forma duas adjacências e o roteador mantém duas bases de dados. Num backbone de provedor sem divisão em áreas, isso é trabalho duplicado. Tudo em level-2 deixa o domínio plano e simples de ler.

Qual a diferença entre cost-style narrow e wide?

Narrow limita o custo de cada enlace a 63 e não carrega as extensões de TE. Wide aceita custos até 16777215. Todos os roteadores do domínio precisam usar o mesmo estilo.

IS-IS no Huawei precisa de IP nos enlaces?

O protocolo troca hellos direto sobre a camada 2, mas no VRP a resposta prática é sim. Por padrão, o roteador confere se o IP do vizinho está na mesma sub-rede e não forma adjacência se não estiver, a menos que as duas pontas usem isis peer-ip-ignore. E o backbone só funciona com IP: o IS-IS anuncia as redes dos enlaces e das loopbacks, e o próximo salto das rotas é o IP do vizinho.

Posso migrar do OSPF para o IS-IS sem parar a rede?

Pode. Suba o IS-IS em todos os roteadores com o OSPF ainda ativo. Como o OSPF tem preferência 10 e o IS-IS 15, nada muda na tabela. Confira a LSDB e as rotas do IS-IS e depois retire o OSPF roteador por roteador.

Os comandos valem para o S6730?

A sintaxe do IS-IS é a mesma no VRP5 dos switches. As diferenças são a falta do commit e a interface: no switch, a porta precisa estar em modo roteado ou o IS-IS vai numa Vlanif. Confira a referência de comandos da versão do seu equipamento.

Conclusão

O IS-IS no Huawei para backbone cabe em poucas linhas por roteador: um NET derivado da loopback, tudo em level-2 com métrica wide, enlaces P2P com custo explícito, autenticação, BFD e overload na partida. Com o LDP sincronizado por cima, o backbone fica pronto para L3VPN, L2VC e VPLS.

Se você vem do OSPF, teste a configuração em laboratório, suba o IS-IS em paralelo e use a diferença de preferência a seu favor. Quando a LSDB do IS-IS no Huawei estiver igual em todos os roteadores, desligar o OSPF vira só uma janela de manutenção tranquila.

Compartilhar:

Sobre o autor

Ivan Alves

Especialista em redes de provedores (ISP)

Ivan Alves trabalha há mais de 15 anos com redes de provedores de internet, do NOC ao backbone e à borda BGP. Coordena infraestrutura e tecnologia em um provedor regional e escreve aqui os tutoriais que gostaria de ter encontrado quando começou: comandos testados, cenário explicado e o porquê de cada linha.

1 Comentário

  1. O que é MPLS e como ele funciona no backbone do provedor – IA Tecnologia Responder

    […] OSPF é mais conhecido por quem vem de rede corporativa. O passo a passo do IS-IS está no guia de IS-IS no Huawei para backbone, que termina justamente ativando o LDP sobre […]

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *