Exemplo: configurar o roteamento ativo sem parar para PIM
Entendendo o roteamento ativo sem parar para PIM
As configurações de roteamento ativo sem parar incluem dois mecanismos de roteamento que compartilham informações para que o roteamento não seja interrompido durante o failover do Mecanismo de Roteamento. Quando o roteamento ativo sem parar é configurado em uma plataforma de mecanismo de roteamento duplo, o estado de controle PIM é replicado em ambos os mecanismos de roteamento.
Essas informações de estado do PIM incluem:
Relacionamentos com vizinhos
Junte-se e pode informações
Informações do conjunto de RP
Sincronização entre rotas e próximos saltos e o estado de encaminhamento entre os dois mecanismos de roteamento
O estado de controle pim é mantido no mecanismo de roteamento de backup pela replicação de informações de estado desde as primárias até o mecanismo de roteamento de backup e tendo o mecanismo de roteamento de backup reagir à instalação e modificação de rota na [ instância].inet.1 tabela de roteamento no mecanismo de roteamento principal. O mecanismo de roteamento de backup não envia nem recebe pacotes de protocolo PIM diretamente. Além disso, o mecanismo de roteamento de backup usa as interfaces dinâmicas criadas pelo mecanismo de roteamento principal. Essas interfaces dinâmicas incluem encapsulamento PIM, des encapsulamento e interfaces de túnel multicast.
Os comandos de modo operacional clear pim join, clear pim e clear pim statistics não são suportados no mecanismo de roteamento de backup quando o roteamento ativo ininterrupto é ativado.
Para habilitar o roteamento ativo sem parar para PIM (além da configuração PIM no mecanismo de roteamento principal), você deve incluir as seguintes declarações no nível de hierarquia [editar] :
switchover gracioso de redundância de chassi
opções de roteamento sem parar
sincronização de comprometimento do sistema
Exemplo: configurar o roteamento ativo sem parar com PIM
Este exemplo mostra como configurar o roteamento ativo sem parar para o tráfego multicast IPv4 e IPv6 baseado em PIM.
Requisitos
Para que o roteamento ativo sem parar para o tráfego multicast baseado em PIM funcione com IPv6, o dispositivo de roteamento deve estar executando o Junos OS Release 10.4 ou superior.
Antes de começar:
Configure as interfaces do roteador. Consulte o guia de configuração de interfaces de rede.
Configure um protocolo de gateway interior ou roteamento estático. Consulte o guia de configuração de protocolos de roteamento.
Configure um protocolo de membros de grupo multicast (IGMP ou MLD). Veja a compreensão do IGMP e a compreensão do MLD.
Visão geral
O Junos OS oferece suporte ao roteamento ativo sem parar nos seguintes cenários PIM:
Modo denso
Modo esparso
Ssm
RP estático
Auto-RP (apenas para IPv4)
Roteador Bootstrap
RP embutido no roteador não-RP (apenas para IPv6)
Suporte para BFD
Draft Rosen Multicast VPNs e VPNs BGP Multicast (use a opção
advertise-from-main-vpn-tables
no nível da[edit protocols bgp]
hierarquia, para sincronizar rotas MVPN, cmcast, túnel de provedor e informações de encaminhamento entre os mecanismos de roteamento de backup e principal).Recursos de políticas, como políticas de vizinhos, políticas de exportação e importação de roteadores bootstrap, política de escopo, mapas de fluxo e políticas de verificação de caminho reverso (RPF)
No junos OS versão 13.3, as VPNs multicast não são suportadas com roteamento ativo sem parar. Os recursos baseados em políticas (como política de vizinhos, política de junção, política de BSR, política de escopo, mapas de fluxo e política de verificação de RPF) não são suportados com roteamento ativo sem parar.
Este exemplo usa RP estático. As interfaces estão configuradas para receber tráfego IPv4 e IPv6. R2 oferece serviços de RP como RP local. Observe que o roteamento ativo sem parar não é suportado no roteador de RP. A configuração mostrada neste exemplo está no R1.
Topologia
A Figura 1 mostra a topologia usada neste exemplo.
![Nonstop Active Routing in PIM Domain](/documentation/us/en/software/junos/multicast/images/g040623.gif)
Configuração
Configuração rápida de CLI
Para configurar este exemplo rapidamente, copie os seguintes comandos, cole-os em um arquivo de texto, remova quaisquer quebras de linha, altere todos os detalhes necessários para combinar com sua configuração de rede, copiar e colar os comandos no CLI no nível de [edit]
hierarquia e, em seguida, entrar no commit
modo de configuração.
R1
set system syslog archive size 10m set system syslog file messages any info set system commit synchronize set chassis redundancy graceful-switchover set interfaces traceoptions file dcd-trace set interfaces traceoptions file size 10m set interfaces traceoptions file files 10 set interfaces traceoptions flag all set interfaces so-0/0/1 unit 0 description "to R0 so-0/0/1.0" set interfaces so-0/0/1 unit 0 family inet address 10.210.1.2/30 set interfaces so-0/0/1 unit 0 family inet6 address FDCA:9E34:50CE:0001::2/126 set interfaces fe-0/1/3 unit 0 description "to R2 fe-0/1/3.0" set interfaces fe-0/1/3 unit 0 family inet address 10.210.12.1/30 set interfaces fe-0/1/3 unit 0 family inet6 address FDCA:9E34:50CE:0012::1/126 set interfaces fe-1/1/0 unit 0 description "to H1" set interfaces fe-1/1/0 unit 0 family inet address 10.240.0.250/30 set interfaces fe-1/1/0 unit 0 family inet6 address ::10.240.0.250/126 set interfaces lo0 unit 0 description "R1 Loopback" set interfaces lo0 unit 0 family inet address 10.210.255.201/32 primary set interfaces lo0 unit 0 family iso address 47.0005.80ff.f800.0000.0108.0001.0102.1025.5201.00 set interfaces lo0 unit 0 family inet6 address abcd::10:210:255:201/128 set protocols ospf traceoptions file r1-nsr-ospf2 set protocols ospf traceoptions file size 10m set protocols ospf traceoptions file files 10 set protocols ospf traceoptions file world-readable set protocols ospf traceoptions flag error set protocols ospf traceoptions flag lsa-update detail set protocols ospf traceoptions flag flooding detail set protocols ospf traceoptions flag lsa-request detail set protocols ospf traceoptions flag state detail set protocols ospf traceoptions flag event detail set protocols ospf traceoptions flag hello detail set protocols ospf traceoptions flag nsr-synchronization detail set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface so-0/0/1.0 metric 100 set protocols ospf area 0.0.0.0 interface fe-0/1/3.0 metric 100 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface fxp0.0 disable set protocols ospf area 0.0.0.0 interface fe-1/1/0.0 passive set protocols ospf3 traceoptions file r1-nsr-ospf3 set protocols ospf3 traceoptions file size 10m set protocols ospf3 traceoptions file world-readable set protocols ospf3 traceoptions flag lsa-update detail set protocols ospf3 traceoptions flag flooding detail set protocols ospf3 traceoptions flag lsa-request detail set protocols ospf3 traceoptions flag state detail set protocols ospf3 traceoptions flag event detail set protocols ospf3 traceoptions flag hello detail set protocols ospf3 traceoptions flag nsr-synchronization detail set protocols ospf3 area 0.0.0.0 interface fe-1/1/0.0 passive set protocols ospf3 area 0.0.0.0 interface fe-1/1/0.0 metric 1 set protocols ospf3 area 0.0.0.0 interface lo0.0 passive set protocols ospf3 area 0.0.0.0 interface so-0/0/1.0 metric 1 set protocols ospf3 area 0.0.0.0 interface fe-0/1/3.0 metric 1 set protocols pim traceoptions file r1-nsr-pim set protocols pim traceoptions file size 10m set protocols pim traceoptions file files 10 set protocols pim traceoptions file world-readable set protocols pim traceoptions flag mdt detail set protocols pim traceoptions flag rp detail set protocols pim traceoptions flag register detail set protocols pim traceoptions flag packets detail set protocols pim traceoptions flag autorp detail set protocols pim traceoptions flag join detail set protocols pim traceoptions flag hello detail set protocols pim traceoptions flag assert detail set protocols pim traceoptions flag normal detail set protocols pim traceoptions flag state detail set protocols pim traceoptions flag nsr-synchronization set protocols pim rp static address 10.210.255.202 set protocols pim rp static address abcd::10:210:255:202 set protocols pim interface lo0.0 set protocols pim interface fe-0/1/3.0 mode sparse set protocols pim interface fe-0/1/3.0 version 2 set protocols pim interface so-0/0/1.0 mode sparse set protocols pim interface so-0/0/1.0 version 2 set protocols pim interface fe-1/1/0.0 mode sparse set protocols pim interface fe-1/1/0.0 version 2 set policy-options policy-statement load-balance then load-balance per-packet set routing-options nonstop-routing set routing-options router-id 10.210.255.201 set routing-options forwarding-table export load-balance set routing-options forwarding-table traceoptions file r1-nsr-krt set routing-options forwarding-table traceoptions file size 10m set routing-options forwarding-table traceoptions file world-readable set routing-options forwarding-table traceoptions flag queue set routing-options forwarding-table traceoptions flag route set routing-options forwarding-table traceoptions flag routes set routing-options forwarding-table traceoptions flag synchronous set routing-options forwarding-table traceoptions flag state set routing-options forwarding-table traceoptions flag asynchronous set routing-options forwarding-table traceoptions flag consistency-checking set routing-options traceoptions file r1-nsr-sync set routing-options traceoptions file size 10m set routing-options traceoptions flag nsr-synchronization set routing-options traceoptions flag commit-synchronize
Procedimento
Procedimento passo a passo
O exemplo a seguir exige que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre como navegar pela CLI, consulte o uso do Editor de CLI no modo de configuração no Guia de usuário do Junos OS CLI.
Para configurar o roteamento ativo sem parar no R1:
Sincronizar os mecanismos de roteamento.
[edit] user@host# edit system [edit system] user@host# set commit synchronize user@host# exit
Habilite o switchover gracioso do mecanismo de roteamento.
[edit] user@host# set chassis redundancy graceful-switchover
Configure as interfaces do R1.
[edit] user@host# edit interfaces [edit interfaces] user@host# set so-0/0/1 unit 0 description "to R0 so-0/0/1.0" user@host# set so-0/0/1 unit 0 family inet address 10.210.1.2/30 user@host# set so-0/0/1 unit 0 family inet6 address FDCA:9E34:50CE:0001::2/126 user@host# set fe-0/1/3 unit 0 description "to R2 fe-0/1/3.0" user@host# set fe-0/1/3 unit 0 family inet address 10.210.12.1/30 user@host# set fe-0/1/3 unit 0 family inet6 address FDCA:9E34:50CE:0012::1/126 user@host# set fe-1/1/0 unit 0 description "to H1" user@host# set fe-1/1/0 unit 0 family inet address 10.240.0.250/30 user@host# set fe-1/1/0 unit 0 family inet6 address ::10.240.0.250/126 user@host# set lo0 unit 0 description "R1 Loopback" user@host# set lo0 unit 0 family inet address 10.210.255.201/32 primary user@host# set lo0 unit 0 family iso address 47.0005.80ff.f800.0000.0108.0001.0102.1025.5201.00 user@host# set lo0 unit 0 family inet6 address abcd::10:210:255:201/128 user@host# exit
Configure o OSPF para IPv4 no R1.
[edit] user@host# edit protocols ospf [edit protocols ospf] user@host# set traffic-engineering user@host# set area 0.0.0.0 interface so-0/0/1.0 metric 100 user@host# set area 0.0.0.0 interface fe-0/1/3.0 metric 100 user@host# set area 0.0.0.0 interface lo0.0 passive user@host# set area 0.0.0.0 interface fxp0.0 disable user@host# set area 0.0.0.0 interface fe-1/1/0.0 passive
Configure o OSPF para IPv6 no R1.
[edit] user@host# edit protocols ospf3 [edit protocols ospf3] user@host# set area 0.0.0.0 interface fe-1/1/0.0 passive user@host# set area 0.0.0.0 interface fe-1/1/0.0 metric 1 user@host# set area 0.0.0.0 interface lo0.0 passive user@host# set area 0.0.0.0 interface so-0/0/1.0 metric 1 user@host# set area 0.0.0.0 interface fe-0/1/3.0 metric 1
Configure o PIM no R1. O endereço estático PIM aponta para o roteador RP (R2).
[edit] user@host# edit [edit protocols pim] user@host# set protocols pim rpstatic address 10.210.255.202 user@host# set protocols pim rp static address abcd::10:210:255:202 user@host# set protocols pim interface (Protocols PIM) lo0.0 user@host# set protocols pim interface fe-0/1/3.0 mode sparse user@host# set protocols pim interface fe-0/1/3.0 version 2 user@host# set protocols pim interface so-0/0/1.0 mode sparse user@host# set protocols pim interface so-0/0/1.0 version 2 user@host# set protocols pim interface fe-1/1/0.0 mode sparse user@host# set protocols pim interface fe-1/1/0.0 version 2
Configure o balanceamento de carga por pacote em R1.
[edit] user@host# edit policy-options policy-statement load-balance [edit policy-options policy-statement load-balance] user@host# set then load-balance per-packet
Aplique a política de equilíbrio de carga no R1.
[edit] user@host# set routing-options forwarding-table export load-balance
Configure o roteamento sem parar no R1.
[edit] user@host# set routing-options nonstop-routing user@host# set routing-options router-id 10.210.255.201
Procedimento passo a passo
Para solucionar problemas, configure operações de log e rastreamento do sistema.
Habilite mensagens de registro do sistema.
[edit] user@host# set system syslog archive size 10m user@host# set system syslog file messages any info
Rastreie as operações de interface.
[edit] user@host# set interfaces traceoptions file dcd-trace user@host# set interfaces traceoptions file size 10m user@host# set interfaces traceoptions file files 10 user@host# set interfaces traceoptions flag all
Rastreie as operações de IGP para IPv4.
[edit] user@host# set protocols ospf traceoptions file r1-nsr-ospf2 user@host# set protocols ospf traceoptions file size 10m user@host# set protocols ospf traceoptions file files 10 user@host# set protocols ospf traceoptions file world-readable user@host# set protocols ospf traceoptions flag error user@host# set protocols ospf traceoptions flag lsa-update detail user@host# set protocols ospf traceoptions flag flooding detail user@host# set protocols ospf traceoptions flag lsa-request detail user@host# set protocols ospf traceoptions flag state detail user@host# set protocols ospf traceoptions flag event detail user@host# set protocols ospf traceoptions flag hello detail user@host# set protocols ospf traceoptions flag nsr-synchronization detail
Rastreie as operações de IGP para IPv6.
[edit] user@host# set protocols ospf3 traceoptions file r1-nsr-ospf3 user@host# set protocols ospf3 traceoptions file size 10m user@host# set protocols ospf3 traceoptions file world-readable user@host# set protocols ospf3 traceoptions flag lsa-update detail user@host# set protocols ospf3 traceoptions flag flooding detail user@host# set protocols ospf3 traceoptions flag lsa-request detail user@host# set protocols ospf3 traceoptions flag state detail user@host# set protocols ospf3 traceoptions flag event detail user@host# set protocols ospf3 traceoptions flag hello detail user@host# set protocols ospf3 traceoptions flag nsr-synchronization detail
Rastreie as operações do PIM.
[edit] user@host# set protocols pim traceoptions file r1-nsr-pim user@host# set protocols pim traceoptions file size 10m user@host# set protocols pim traceoptions file files 10 user@host# set protocols pim traceoptions file world-readable user@host# set protocols pim traceoptions flag mdt detail user@host# set protocols pim traceoptions flag rp detail user@host# set protocols pim traceoptions flag register detail user@host# set protocols pim traceoptions flag packets detail user@host# set protocols pim traceoptions flag autorp detail user@host# set protocols pim traceoptions flag join detail user@host# set protocols pim traceoptions flag hello detail user@host# set protocols pim traceoptions flag assert detail user@host# set protocols pim traceoptions flag normal detail user@host# set protocols pim traceoptions flag state detail user@host# set protocols pim traceoptions flag nsr-synchronization
Rastreie todas as funcionalidades do protocolo de roteamento.
[edit] user@host# set routing-options traceoptions file r1-nsr-sync user@host# set routing-options traceoptions file size 10m user@host# set routing-options traceoptions flag nsr-synchronization user@host# set routing-options traceoptions flag commit-synchronize
Rastreie as operações de tabela de encaminhamento.
[edit] user@host# set routing-options forwarding-table traceoptions file r1-nsr-krt user@host# set routing-options forwarding-table traceoptions file size 10m user@host# set routing-options forwarding-table traceoptions file world-readable user@host# set routing-options forwarding-table traceoptions flag queue user@host# set routing-options forwarding-table traceoptions flag route user@host# set routing-options forwarding-table traceoptions flag routes user@host# set routing-options forwarding-table traceoptions flag synchronous user@host# set routing-options forwarding-table traceoptions flag state user@host# set routing-options forwarding-table traceoptions flag asynchronous user@host# set routing-options forwarding-table traceoptions flag consistency-checking
Se terminar de configurar o dispositivo, comprometa a configuração.
[edit] user@host# commit
Resultados
A partir do modo de configuração, confirme sua configuração entrando no chassi do show, mostre interfaces, mostre opções de políticas, mostre protocolos, mostre opções de roteamento e mostre comandos do sistema. Se a saída não exibir a configuração pretendida, repita as instruções de configuração neste exemplo para corrigi-la.
user@host# show chassis redundancy { graceful-switchover; }
user@host# show interfaces traceoptions { file dcd-trace size 10m files 10; flag all; } so-0/0/1 { unit 0 { description "to R0 so-0/0/1.0"; family inet { address 10.210.1.2/30; } family inet6 { address FDCA:9E34:50CE:0001::2/126; } } } fe-0/1/3 { unit 0 { description "to R2 fe-0/1/3.0"; family inet { address 10.210.12.1/30; } family inet6 { address FDCA:9E34:50CE:0012::1/126; } } } fe-1/1/0 { unit 0 { description "to H1"; family inet { address 10.240.0.250/30; } family inet6 { address ::10.240.0.250/126; } } } lo0 { unit 0 { description "R1 Loopback"; family inet { address 10.210.255.201/32 { primary; } } family iso { address 47.0005.80ff.f800.0000.0108.0001.0102.1025.5201.00; } family inet6 { address abcd::10:210:255:201/128; } } }
user@host# show policy-options policy-statement load-balance { then { load-balance per-packet; } }
user@host# show protocols ospf { traceoptions { file r1-nsr-ospf2 size 10m files 10 world-readable; flag error; flag lsa-update detail; flag flooding detail; flag lsa-request detail; flag state detail; flag event detail; flag hello detail; flag nsr-synchronization detail; } traffic-engineering; area 0.0.0.0 { interface so-0/0/1.0 { metric 100; } interface fe-0/1/3.0 { metric 100; } interface lo0.0 { passive; } interface fxp0.0 { disable; } interface fe-1/1/0.0 { passive; } } } ospf3 { traceoptions { file r1-nsr-ospf3 size 10m world-readable; flag lsa-update detail; flag flooding detail; flag lsa-request detail; flag state detail; flag event detail; flag hello detail; flag nsr-synchronization detail; } area 0.0.0.0 { interface fe-1/1/0.0 { passive; metric 1; } interface lo0.0 { passive; } interface so-0/0/1.0 { metric 1; } interface fe-0/1/3.0 { metric 1; } } } pim { traceoptions { file r1-nsr-pim size 10m files 10 world-readable; flag mdt detail; flag rp detail; flag register detail; flag packets detail; flag autorp detail; flag join detail; flag hello detail; flag assert detail; flag normal detail; flag state detail; flag nsr-synchronization; } rp { static { address 10.210.255.202; address abcd::10:210:255:202; } } interface lo0.0; interface fe-0/1/3.0 { mode sparse; version 2; } interface so-0/0/1.0 { mode sparse; version 2; } interface fe-1/1/0.0 { mode sparse; version 2; } }
user@host# show routing-options traceoptions { file r1-nsr-sync size 10m; flag nsr-synchronization; flag commit-synchronize; } nonstop-routing; router-id 10.210.255.201; forwarding-table { traceoptions { file r1-nsr-krt size 10m world-readable; flag queue; flag route; flag routes; flag synchronous; flag state; flag asynchronous; flag consistency-checking; } export load-balance; }
user@host# show system syslog { archive size 10m; file messages { any info; } } commit synchronize;
Verificação
Para verificar a configuração, execute os seguintes comandos:
show pim juntar extensa
mostrar aos vizinhos pim emet detalhes
mostrar pim vizinhos inet6 detalhes
mostrar detalhes do inet pim rps
mostrar detalhes do inet6 pim rps
mostrar rota multicast inet extensa
mostrar rota multicast inet6 extensa
tabela de rotas show inet.1 detalhamento
tabela de rotas show inet6.1 detalhamento
Configuração do modo PIM Esparso Esparso Reinício Gracioso
Você pode configurar o modo esparso PIM para continuar a encaminhar fluxos de pacotes multicast existentes durante uma falha no processo de roteamento e reiniciar. Somente o modo esparso PIM pode ser configurado dessa forma. A plataforma de roteamento não encaminha pacotes multicast para protocolos que não sejam PIM durante a reinicialização graciosa, porque todos os outros protocolos multicast devem ser reiniciados após uma falha no processo de roteamento. Se você configurar o modo PIM esparso e denso, apenas grupos multicast esparsos se beneficiam de uma reinicialização graciosa.
A plataforma de roteamento não encaminha novos fluxos até que a reinicialização esteja concluída. Após a reinicialização, a plataforma de roteamento atualiza o estado de encaminhamento com quaisquer atualizações que foram recebidas dos vizinhos durante o período de reinicialização. Por exemplo, a plataforma de roteamento reaprende os estados de junção e podamento dos vizinhos durante a reinicialização, mas não aplica as mudanças na tabela de encaminhamento até depois da reinicialização.
Quando o modo esparso PIM é habilitado, a plataforma de roteamento gera um número aleatório exclusivo de 32 bits chamado identificador de geração. Os identificadores de geração são incluídos por padrão em mensagens de olá PIM, conforme especificado no rascunho da Internet draft-ietf-pim-sm-v2-new-10.txt. Quando uma plataforma de roteamento recebe mensagens pim olá contendo identificadores de geração em uma interface ponto a ponto, o Junos OS ativa um algoritmo que otimiza a reinicialização graciosa.
Antes que o modo esparso PIM ocorra, cada plataforma de roteamento cria um identificador de geração e o envia para seus vizinhos multicast. Se uma plataforma de roteamento com modo esparso PIM for reiniciada, ela cria um identificador de nova geração e o envia aos vizinhos. Quando um vizinho recebe o novo identificador, ele reencamada atualizações multicast para o roteador de reinicialização para permitir que ele saia da reinicialização graciosa de maneira eficiente. A fase de reinicialização está completa quando o temporização de reinicialização expira.
O encaminhamento multicast pode ser interrompido de duas maneiras. Primeiro, se o protocolo de roteamento subjacente for instável, as verificações de RPF multicast podem falhar e causar uma interrupção. Em segundo lugar, como a tabela de encaminhamento não é atualizada durante o período de reinicialização graciosa, novos fluxos multicast não são encaminhados até que a reinicialização graciosa esteja completa.
Você pode configurar a reinicialização graciosa globalmente ou para uma instância de roteamento. Este exemplo mostra como configurar a reinicialização graciosa globalmente.
Para configurar a reinicialização graciosa para o modo esparso PIM: