Exemple : Configuration d’un routage actif ininterrompu pour PIM
Comprendre le routage actif non-stop pour PIM
Les configurations de routage actif ininterrompu incluent deux moteurs de routage qui partagent des informations afin que le routage ne soit pas interrompu pendant le basculement du moteur de routage. Lorsqu’un routage actif ininterrompu est configuré sur une plate-forme à double moteur de routage, l’état de contrôle PIM est répliqué sur les deux moteurs de routage.
Ces informations sur l’état PIM comprennent :
Relations de voisinage
Informations sur l’assemblage et l’élagage
Informations sur l’ensemble RP
Synchronisation entre les routes et les sauts suivants, et état de transfert entre les deux moteurs de routage
L’état de contrôle PIM est maintenu sur la moteur de routage de sauvegarde par la réplication des informations d’état de la moteur de routage principale vers la de sauvegarde et par la réaction de la moteur de routage de sauvegarde à l’installation et à la modification de la route dans la table de routage [instance].inet.1 sur la moteur de routage principale. Le moteur de routage de sauvegarde n’envoie ni ne reçoit directement de paquets de protocole PIM. En outre, le moteur de routage de sauvegarde utilise les interfaces dynamiques créées par le moteur de routage principal. Ces interfaces dynamiques comprennent l’encapsulation PIM, la désencapsulation et les interfaces de tunnel multicast.
Les commandes effacer la jointure pim, effacer le registre pim et effacer les statistiques pim ne sont pas prises en charge sur le moteur de routage de sauvegarde lorsque le routage actif ininterrompu est activé.
Pour activer le routage actif ininterrompu pour PIM (en plus de la configuration PIM sur le moteur de routage principal), vous devez inclure les instructions suivantes au niveau de la hiérarchie [edit] :
commutation gracieuse de la redondance du châssis
options de routage non-stop
Synchronisation de la validation du système
Exemple : Configuration d’un routage actif non-stop avec PIM
Cet exemple montre comment configurer un routage actif ininterrompu pour le trafic multicast IPv4 et IPv6 basé sur PIM.
Exigences
Pour que le routage actif ininterrompu du trafic multicast PIM fonctionne avec IPv6, le périphérique de routage doit exécuter Junos OS version 10.4 ou ultérieure.
Avant de commencer :
Configurez les interfaces des routeurs. Reportez-vous au Guide de configuration des interfaces réseau.
Configurez un protocole de passerelle intérieure ou un routage statique. Reportez-vous au Guide de configuration des protocoles de routage.
Configurez un protocole d’appartenance à un groupe de multidiffusion (IGMP ou MLD). Reportez-vous aux sections Comprendre IGMP et Comprendre MLD.
Aperçu
Junos OS prend en charge le routage actif non-stop dans les scénarios PIM suivants :
Mode dense
Mode clairsemé
SSM
RP statique
RP automatique (pour IPv4 uniquement)
Routeur d’amorçage
RP intégré sur le routeur non-RP (pour IPv6 uniquement)
Prise en charge BFD
Ébauche de VPN Rosen Multicast et de VPN BGP Multicast (utilisez l’option au niveau de la
advertise-from-main-vpn-tables
[edit protocols bgp]
hiérarchie pour synchroniser les routes MVPN, cmcast, le tunnel fournisseur et les informations de transfert entre les moteurs de routage principal et de secours).Des fonctionnalités de stratégie telles que la stratégie de voisinage, les stratégies d’exportation et d’importation de routeur d’amorçage, la stratégie de portée, les cartes de flux et les stratégies de vérification RPF (Reverse Path Forwarding)
Dans Junos OS version 13.3, les VPN multicast ne sont pas pris en charge avec le routage actif ininterrompu. Les fonctionnalités basées sur des stratégies (telles que la stratégie de voisinage, la stratégie de jointure, la stratégie BSR, la stratégie d’étendue, les cartes de flux et la stratégie de vérification RPF) ne sont pas prises en charge avec le routage actif ininterrompu.
Cet exemple utilise le RP statique. Les interfaces sont configurées pour recevoir du trafic IPv4 et IPv6. R2 fournit des services RP en tant que RP local. Notez que le routage actif non-stop n’est pas pris en charge sur le routeur RP. La configuration illustrée dans cet exemple est sur R1.
Topologie
La figure 1 illustre la topologie utilisée dans cet exemple.

Configuration
Configuration rapide de l’interface de ligne de commande
Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez tous les détails nécessaires pour qu’ils correspondent à la configuration de votre réseau, copiez et collez les commandes dans l’interface de ligne de commande au niveau de la [edit]
hiérarchie, puis passez commit
en mode de configuration.
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
Procédure
Procédure étape par étape
L’exemple suivant vous oblige à naviguer à différents niveaux dans la hiérarchie de configuration. Pour plus d’informations sur la navigation dans l’interface de ligne de commande, reportez-vous à la section Utilisation de l’éditeur CLI en mode configuration du Guide de l’utilisateur de l’interface de ligne de commande Junos OS.
Pour configurer un routage actif ininterrompu sur R1 :
Synchronisez les moteurs de routage.
[edit] user@host# edit system [edit system] user@host# set commit synchronize user@host# exit
Activez le basculement progressif du moteur de routage.
[edit] user@host# set chassis redundancy graceful-switchover
Configurez les interfaces de 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
Configurez OSPF pour IPv4 sur 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
Configurez OSPF pour IPv6 sur 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
Configurez PIM sur R1. L’adresse statique PIM pointe vers le routeur 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
Configurez l’équilibrage de charge par paquet sur 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
Appliquez la stratégie d’équilibrage de charge sur R1.
[edit] user@host# set routing-options forwarding-table export load-balance
Configurez le routage ininterrompu sur R1.
[edit] user@host# set routing-options nonstop-routing user@host# set routing-options router-id 10.210.255.201
Procédure étape par étape
Pour le dépannage, configurez les opérations de journalisation et de suivi du système.
Activez les messages du journal système.
[edit] user@host# set system syslog archive size 10m user@host# set system syslog file messages any info
Opérations d’interface de traçage.
[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
Tracez les opérations IGP pour 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
Tracez les opérations IGP pour 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
Tracez les opérations 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
Traçez toutes les fonctionnalités du protocole de routage.
[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
Tracez les opérations de table de transfert.
[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
Si vous avez terminé de configurer l’appareil, validez la configuration.
[edit] user@host# commit
Résultats
À partir du mode de configuration, confirmez votre configuration en entrant les commandes show chassis, show interfaces, show policy-options, show protocols, show routing-options et show system (afficher les commandes). Si la sortie n’affiche pas la configuration prévue, répétez les instructions de configuration de cet exemple pour la corriger.
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;
Vérification
Pour vérifier la configuration, exécutez les commandes suivantes :
Afficher PIM Rejoindre Étendu
Afficher les détails de l’inet des voisins PIM
Afficher les voisins PIM Inet6 détail
Afficher le détail de l’inet PIM RPS
Afficher PIM RPS Inet6 détail
show multicast route inet extensive
Afficher la route multicast inet6 extensive
afficher le détail de la table de routage inet.1
afficher le détail de la table de routage inet6.1
Configuration du mode clairsemé PIM Redémarrage progressif
Vous pouvez configurer le mode clairsemé PIM pour qu’il continue à transférer les flux de paquets multicast existants lors d’un échec et d’un redémarrage du processus de routage. Seul le mode clairsemé PIM peut être configuré de cette façon. La plate-forme de routage ne transfère pas les paquets multicast pour les protocoles autres que PIM lors du redémarrage normal, car tous les autres protocoles multicast doivent redémarrer après un échec du processus de routage. Si vous configurez PIM en mode dense mode, seuls les groupes multicast clairsemés bénéficient d’un redémarrage normal.
La plate-forme de routage ne transfère les nouveaux flux qu’une fois le redémarrage terminé. Après le redémarrage, la plate-forme de routage actualise l’état de transfert avec toutes les mises à jour reçues des voisins pendant la période de redémarrage. Par exemple, la plate-forme de routage réapprend les états de jointure et d’élagage des voisins pendant le redémarrage, mais elle n’applique les modifications à la table de transfert qu’après le redémarrage.
Lorsque le mode clairsemé PIM est activé, la plate-forme de routage génère un nombre aléatoire 32 bits unique appelé identifiant de génération. Les identifiants de génération sont inclus par défaut dans les messages PIM hello, comme spécifié dans le projet d’Internet draft-ietf-pim-sm-v2-new-10.txt. Lorsqu’une plate-forme de routage reçoit des messages PIM hello contenant des identifiants de génération sur une interface point à point, Junos OS active un algorithme qui optimise le redémarrage progressif.
Avant que le redémarrage progressif du mode clairsemé PIM ne se produise, chaque plate-forme de routage crée un identifiant de génération et l’envoie à ses voisins multicast. Si une plate-forme de routage avec le mode clairsemé PIM redémarre, elle crée un identifiant de nouvelle génération et l’envoie aux voisins. Lorsqu’un voisin reçoit le nouvel identifiant, il renvoie les mises à jour multicast au routeur qui redémarre pour lui permettre de quitter efficacement le redémarrage normal. La phase de redémarrage est terminée à l’expiration du minuteur de durée de redémarrage.
Le transfert multicast peut être interrompu de deux manières. Tout d’abord, si le protocole de routage sous-jacent est instable, les vérifications RPF multicast peuvent échouer et provoquer une interruption. Deuxièmement, étant donné que la table de transfert n’est pas mise à jour pendant la période de redémarrage normal, les nouveaux flux de multidiffusion ne sont pas transférés tant que le redémarrage normal n’est pas terminé.
Vous pouvez configurer le redémarrage progressif globalement ou pour une instance de routage. Cet exemple montre comment configurer le redémarrage progressif globalement.
Pour configurer le redémarrage progressif pour le mode clairsemé PIM :
Voir aussi
Tableau de l’historique des modifications
La prise en charge des fonctionnalités est déterminée par la plate-forme et la version que vous utilisez. Utilisez l’Explorateur de fonctionnalités pour déterminer si une fonctionnalité est prise en charge sur votre plateforme.