SUR CETTE PAGE
Équilibrage de charge et filtrage des en-têtes IP pour les VPN de couche 3
Exemple : Équilibrage de charge du trafic VPN de couche 3 avec filtrage d’en-tête IP simultanément
Configuration de l’équilibrage de charge indépendant du protocole dans les VPN de couche 3
Exemple : configuration de PIM Joint Équilibrage de charge sur un VPN multicast nouvelle génération
Équilibrage de charge dans les VPN de couche 3
Équilibrage de charge VPN par paquet
Par défaut, lorsqu’il existe plusieurs chemins à coût égal vers la même destination pour la route active, le logiciel Junos OS utilise un algorithme de hachage pour sélectionner l’une des adresses de saut suivant à installer dans la table de transfert. Chaque fois que l’ensemble de sauts suivant pour une destination change, ce processus de sélection (à l’aide du même algorithme de hachage) est répété pour choisir la meilleure adresse de saut suivant à l’aide du même algorithme de hachage.
Vous pouvez également configurer le logiciel Junos OS pour répartir le trafic VPN sur les multiples chemins valides entre les équipements PE. Cette fonctionnalité s’appelle l’équilibrage de charge par paquet. L’équilibrage de la charge du trafic VPN n’est possible que lorsque plusieurs chemins valides sont disponibles. Vous pouvez configurer Junos OS de sorte que, pour la route active, toutes les adresses du saut suivant pour une destination soient installées dans la table de transfert. En plus d’augmenter le volume de trafic que vous pouvez envoyer entre les équipements VPN, vous pouvez configurer l’équilibrage de charge par paquet afin d’optimiser les flux de trafic sur plusieurs chemins.
Le trafic est distribué sur plusieurs chemins valides en exécutant un algorithme de hachage sur divers éléments de la route, tels que le label MPLS ou l’adresse de destination. Les tableaux suivants décrivent comment l’algorithme de hachage d’équilibrage de charge est exécuté sur les routes au niveau du routeur d’entrée et des routeurs de transit et de sortie. Les éléments de routage utilisés par l’algorithme de hachage varient en fonction de l’application VPN. Si Junos OS rencontre un ensemble S-bit sur 1 (indiquant le bas de la pile), il n’applique plus l’algorithme de hachage.
Application |
Interface logique entrante |
Étiquettes MPLS |
Adresses MAC source et de destination |
Risque de réorganisation et de séparation des flux |
Désactiver Le mot de contrôle |
IP (adresse source/destination et port, protocole) |
---|---|---|---|---|---|---|
VPN de couche 2 et circuits de couche 2 configurés avec CCC |
Oui |
Oui |
Non |
Oui (si les données sont variables, par exemple ATM) |
Oui |
S/O |
VPN de couche 2 et circuits de couche 2 configurés avec TCC |
Oui |
Oui |
Non |
Oui (si les données sont variables, par exemple ATM) |
Oui |
S/O |
VPN de couche 3 et RIB IPv4 ou IPv6 |
Oui |
Non |
Non |
Non |
Non |
Oui |
VPLS |
Oui |
Non |
Oui |
Non |
Non |
Oui |
Application |
Interface logique entrante |
Étiquettes MPLS (jusqu’à 3 et le S-bit sur 1) |
Risque de réorganisation et de séparation des flux |
IP (adresse source/destination et port, protocole) |
---|---|---|---|---|
VPN de couche 2 et circuits de couche 2 configurés avec CCC |
Oui |
Oui |
Non |
Non |
VPN de couche 2 et circuits de couche 2 configurés avec TCC |
Oui |
Oui |
Non |
Oui |
VPN de couche 3 et RIB IPv4 ou IPv6 |
Oui |
Oui |
Non |
Oui |
VPLS |
Oui |
Oui pour le trafic unicast connu Non pour le trafic de diffusion, unicast inconnu et multicast |
Non |
Non |
Équilibrage de charge et filtrage des en-têtes IP pour les VPN de couche 3
Vous pouvez désormais activer simultanément l’équilibrage de charge du trafic sur les chemins BGP internes et externes et le filtrage du trafic en fonction de l’en-tête IP. Cela vous permet de configurer des filtres et des mécanismes de contrôle au niveau du routeur PE sortant pour le trafic qui est simultanément en cours d’équilibrage de charge sur les chemins BGP internes et externes. Cette fonctionnalité est disponible uniquement sur le routeur M120, le routeur M320, les routeurs MX Series et les routeurs T Series.
Pour activer ces fonctionnalités sur une instance de routage VPN de couche 3, incluez l’instruction vpn-unequal-cost equal-external-internal
au niveau de la [edit routing-instances routing-instance-name routing-options multipath]
hiérarchie et l’instruction vrf-table-label
au niveau de la [edit routing-instances routing-instance-name]
hiérarchie.
Si vous émets la show route detail
commande, vous pouvez déterminer si un routage est en cours d’équilibrage de charge (equal-external-internal) et quel est son index d’interface.
Si vous avez également configuré le reroutage rapide, tenez compte du comportement suivant :
Si un chemin IBGP tombe en panne, il peut être remplacé par un chemin EBGP actif ou un chemin IBGP actif.
Si un chemin EBGP tombe en panne, il ne peut être remplacé que par un autre chemin EBGP actif. Cela empêche le transfert du trafic d’interface central vers une destination IBGP.
Vous pouvez inclure simultanément l’instruction vpn-unequal-cost equal-external-internal
et l’instruction l3vpn
au niveau de la [edit routing-options forwarding-options chained-composite-next-hop ingress]
hiérarchie. Cependant, si vous faites cela, EBGP ne fonctionne pas. Cela signifie que lorsqu’il existe deux chemins avec des nexthops enchaînés et des chemins avec des nexthops non enchaînés en tant que candidats pour ebgp equal-cost multipath (ECMP), les chemins utilisant le nexthops enchaîné sont exclus. Dans un cas typique, les chemins exclus sont les chemins internes.
Présentation de l’équilibrage de charge des VPN de couche 3
La fonctionnalité d’équilibrage de charge permet à un équipement de diviser le trafic entrant et sortant sur plusieurs chemins afin de réduire la congestion du réseau. L’équilibrage de charge améliore l’utilisation de divers chemins réseau et offre une bande passante réseau plus efficace.
Lorsque plusieurs protocoles sont utilisés, l’équipement utilise la valeur de préférence de routage (également appelée valeur de distance administrative ) pour sélectionner un routage. En utilisant un seul protocole de routage, le routeur choisit le chemin le plus bas coût (ou métrique) jusqu’à la destination. Si l’équipement reçoit et installe plusieurs chemins avec la même préférence de routage et le même coût pour une destination, l’équilibrage de charge doit être configuré.
Dans un réseau avec des chemins BGP internes et externes installés entre les équipements de différents systèmes autonomes, BGP sélectionne uniquement un seul chemin par défaut et n’assure pas l’équilibrage de charge. Un VPN de couche 3 avec des chemins BGP internes et externes utilise l’instruction multipath
pour l’équilibrage de charge indépendant du protocole. Lorsque vous incluez l’instruction multipath
dans une instance de routage, l’équilibrage de charge indépendant du protocole est appliqué à la table de routage par défaut de cette instance de routage. L’équilibrage de charge indépendant du protocole est appliqué aux routes VPN à l’aide de l’instruction vpn-unequal-cost
. Grâce à l’instruction, l’équilibrage equal-external-internal
de charge indépendant du protocole est appliqué aux chemins BGP internes et externes et peut être configuré conjointement avec le filtrage d’en-tête IP (activé avec l’instruction vrf-table-label
).
Exemple : Équilibrage de charge du trafic VPN de couche 3 avec filtrage d’en-tête IP simultanément
Notre équipe de test de contenu a validé et mis à jour cet exemple.
Cet exemple montre comment configurer l’équilibrage de charge dans un VPN de couche 3 (avec des chemins BGP internes et externes) tout en utilisant le filtrage d’en-tête IP.
Exigences
Cet exemple requiert les composants matériels et logiciels suivants :
Routeurs de périphérie multiservice M Series (M120 et M320 uniquement), plates-formes de routage universelles 5G MX Series, routeurs centraux T Series ou routeurs de transport PTX Series.
Junos OS version 12.1 ou ultérieure
Revalidé sur Junos OS version 20.1R1 pour routeurs MX Series
Aperçu
L’exemple suivant montre comment configurer l’équilibrage de charge tout en utilisant simultanément le filtrage d’en-tête IP dans un VPN de couche 3.
Cet exemple illustre le fonctionnement de l’équilibrage de charge et du filtrage d’en-tête IP. Le test du filtrage d’en-têtes IP n’est pas du champ d’application de cet exemple.
Junos OS BGP fournit une fonctionnalité de trajets multiples qui permet d’équilibrer la charge entre les pairs dans le même système ou dans un autre système autonome (ASs). Cet exemple utilise l’instruction equal-external-internal
au niveau de la [edit routing-instances instance-name routing-options multipath vpn-unequal-cost]
hiérarchie pour effectuer l’équilibrage de charge. L’instruction vrf-table-label
est configurée au niveau de la hiérarchie pour activer le [edit routing-instances instance-name]
filtrage d’en-tête IP.
[edit] routing-instances { instance-name { vrf-table-label; routing-options { multipath { vpn-unequal-cost { equal-external-internal; } } } } }
Ces instructions sont uniquement disponibles dans le contexte d’une instance de routage.
Dans cet exemple, l’équipement CE1 est dans AS1 et connecté à l’équipement PE1. Les équipements PE1, PE2, PE3 et P sont en AS2. L’équipement CE2 est connecté aux équipements PE2 et PE3 et est en AS3. L’équipement CE3 est connecté à l’équipement PE3 et est en AS4. BGP et MPLS sont configurés via le réseau. OSPF est le protocole IGP (Interior Gateway Protocol) utilisé dans ce réseau.
La configuration des équipements PE1, PE2 et PE3 inclut l’instruction equal-external-internal
au niveau de la [edit routing-instances instance-name routing-options multipath vpn-unequal-cost]
hiérarchie pour permettre l’équilibrage de charge dans le réseau. Le filtrage d’en-tête IP est activé lorsque l’instruction vrf-table-label
est configurée au niveau de la [edit routing-instances instance-name]
hiérarchie sur les équipements PE.
La figure 1 illustre la topologie utilisée dans cet exemple.
Topologie

Le tableau 3 affiche la liste des adresses IP utilisées dans cet exemple pour une référence rapide.
Appareil |
Comme |
ID de l’équipement |
Interface |
Adresse IP de l’interface |
---|---|---|---|---|
CE1 |
65001 |
192.0.2.1/32 |
ge-0/0/0.0 |
10.1.1.1/30 |
PE1 |
65000 |
192.0.2.2/32 |
ge-0/0/2.0 |
10.1.1.2/30 |
ge-0/0/0.0 |
10.1.2.5/30 |
|||
ge-0/0/1.0 |
10.1.3.9/30 |
|||
PE2 |
65000 |
192.0.2.3/32 |
ge-0/0/0.0 |
10.1.2.6/30 |
ge-0/0/1.0 |
10.1.4.13/30 |
|||
ge-0/0/2.0 |
10.1.6.21/30 |
|||
PE3 |
65000 |
192.0.2.4/32 |
ge-0/0/1.0 |
10.1.3.10/30 |
ge-0/0/0.0 |
10.1.5.18/30 |
|||
ge-0/0/2.0 |
10.1.7.25/30 |
|||
ge-0/0/3.0 |
10.1.8.29/30 |
|||
P |
65000 |
192.0.2.5/32 |
ge-0/0/1.0 |
10.1.4.14/30 |
ge-0/0/0.0 |
10.1.5.17/30 |
|||
CE2 |
65002 |
192.0.2.6/32 |
ge-0/0/1.0 |
10.1.6.22/30 |
ge-0/0/2.0 |
10.1.7.26/30 |
|||
CE3 |
65003 |
192.0.2.7/32 |
ge-0/0/3.0 |
10.1.8.30/30 |
Cet exemple a été testé à l’aide de systèmes logiques (routeurs logiques). Par conséquent, toutes les interfaces physiques de l’exemple sont les mêmes et la configuration est effectuée sur des interfaces logiques séparées. Dans un réseau non testé, vous utiliserez des routeurs physiques distincts et des interfaces physiques distinctes pour les connexions à d’autres équipements.
Configuration
Procédure
Configuration rapide CLI
Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez tous les sauts de ligne, modifiez tous les détails nécessaires pour correspondre à la configuration de votre réseau, puis copiez et collez les commandes dans l’interface de ligne de commande au niveau de la [edit]
hiérarchie.
Device CE1
set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.1/30 set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/0 unit 0 description toPE1 set interfaces lo0 unit 0 family inet address 192.0.2.1/32 set routing-options router-id 192.0.2.1 set routing-options autonomous-system 65001 set protocols bgp group toPE1 type external set protocols bgp group toPE1 export send-direct set protocols bgp group toPE1 peer-as 65000 set protocols bgp group toPE1 neighbor 10.1.1.2 set policy-options policy-statement send-direct from protocol direct set policy-options policy-statement send-direct then accept
Device PE1
set interfaces ge-0/0/2 unit 0 family inet address 10.1.1.2/30 set interfaces ge-0/0/2 unit 0 family mpls set interfaces ge-0/0/2 unit 0 description toCE1 set interfaces ge-0/0/0 unit 0 family inet address 10.1.2.5/30 set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/0 unit 0 description toPE2 set interfaces ge-0/0/1 unit 0 family inet address 10.1.3.9/30 set interfaces ge-0/0/1 unit 0 family mpls set interfaces ge-0/0/1 unit 0 description toPE3 set interfaces lo0 unit 0 family inet address 192.0.2.2/32 set protocols mpls interface all set protocols ldp interface all set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 metric 10 set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 metric 10 set protocols bgp group toInternal type internal set protocols bgp group toInternal family inet-vpn unicast set protocols bgp group toInternal local-address 192.0.2.2 set protocols bgp group toInternal neighbor 192.0.2.3 set protocols bgp group toInternal neighbor 192.0.2.4 set routing-options router-id 192.0.2.2 set routing-options autonomous-system 65000 set routing-options forwarding-table export lb set routing-instances toCE1 instance-type vrf set routing-instances toCE1 interface ge-0/0/2.0 set routing-instances toCE1 route-distinguisher 65000:1 set routing-instances toCE1 vrf-target target:65000:1 set routing-instances toCE1 vrf-table-label set routing-instances toCE1 protocols bgp group toCE1 type external set routing-instances toCE1 protocols bgp group toCE1 peer-as 65001 set routing-instances toCE1 protocols bgp group toCE1 neighbor 10.1.1.1 set routing-instances toCE1 routing-options multipath vpn-unequal-cost equal-external-internal set policy-options policy-statement lb then load-balance per-packet
Device PE2
set interfaces ge-0/0/0 unit 0 family inet address 10.1.2.6/30 set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/0 unit 0 description toPE1 set interfaces ge-0/0/1 unit 0 family inet address 10.1.4.13/30 set interfaces ge-0/0/1 unit 0 family mpls set interfaces ge-0/0/1 unit 0 description toP set interfaces ge-0/0/2 unit 0 family inet address 10.1.6.21/30 set interfaces ge-0/0/2 unit 0 family mpls set interfaces ge-0/0/2 unit 0 description toCE2 set interfaces lo0 unit 0 family inet address 192.0.2.3/32 set protocols mpls interface all set protocols ldp interface all set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 metric 10 set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 metric 5 set protocols bgp group toInternal type internal set protocols bgp group toInternal family inet-vpn unicast set protocols bgp group toInternal local-address 192.0.2.3 set protocols bgp group toInternal neighbor 192.0.2.2 set protocols bgp group toInternal neighbor 192.0.2.4 set routing-options router-id 192.0.2.3 set routing-options autonomous-system 65000 set routing-options forwarding-table export lb set routing-instances toCE2 instance-type vrf set routing-instances toCE2 interface ge-0/0/2.0 set routing-instances toCE2 route-distinguisher 65000:1 set routing-instances toCE2 vrf-target target:65000:1 set routing-instances toCE2 vrf-table-label set routing-instances toCE2 protocols bgp group toCE2 type external set routing-instances toCE2 protocols bgp group toCE2 peer-as 65002 set routing-instances toCE2 protocols bgp group toCE2 neighbor 10.1.6.22 set routing-instances toCE2 routing-options multipath vpn-unequal-cost equal-external-internal set policy-options policy-statement lb then load-balance per-packet
Device PE3
set interfaces ge-0/0/1 unit 0 family inet address 10.1.3.10/30 set interfaces ge-0/0/1 unit 0 family mpls set interfaces ge-0/0/1 unit 0 description toPE1 set interfaces ge-0/0/0 unit 0 family inet address 10.1.5.18/30 set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/0 unit 0 description toP set interfaces ge-0/0/2 unit 0 family inet address 10.1.7.25/30 set interfaces ge-0/0/2 unit 0 family mpls set interfaces ge-0/0/2 unit 0 description toCE2 set interfaces ge-0/0/3 unit 0 family inet address 10.1.8.29/30 set interfaces ge-0/0/3 unit 0 family mpls set interfaces ge-0/0/3 unit 0 description toCE3 set interfaces lo0 unit 0 family inet address 192.0.2.4/32 set protocols mpls interface all set protocols ldp interface all set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 metric 10 set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 metric 5 set protocols bgp group toInternal type internal set protocols bgp group toInternal local-address 192.0.2.4 set protocols bgp group toInternal family inet-vpn unicast set protocols bgp group toInternal family route-target set protocols bgp group toInternal neighbor 192.0.2.2 set protocols bgp group toInternal neighbor 192.0.2.3 set routing-options router-id 192.0.2.4 set routing-options autonomous-system 65000 set routing-options forwarding-table export lb set routing-instances toCE2_3 instance-type vrf set routing-instances toCE2_3 interface ge-0/0/2.0 set routing-instances toCE2_3 interface ge-0/0/3.0 set routing-instances toCE2_3 route-distinguisher 65000:1 set routing-instances toCE2_3 vrf-target target:65000:1 set routing-instances toCE2_3 vrf-table-label set routing-instances toCE2_3 protocols bgp group toCE2 type external set routing-instances toCE2_3 protocols bgp group toCE2 peer-as 65002 set routing-instances toCE2_3 protocols bgp group toCE2 neighbor 10.1.7.26 set routing-instances toCE2_3 protocols bgp group toCE3 type external set routing-instances toCE2_3 protocols bgp group toCE3 peer-as 65003 set routing-instances toCE2_3 protocols bgp group toCE3 neighbor 10.1.8.30 set routing-instances toCE2_3 routing-options multipath vpn-unequal-cost equal-external-internal set policy-options policy-statement lb then load-balance per-packet
Device P
set interfaces ge-0/0/1 unit 0 family inet address 10.1.4.14/30 set interfaces ge-0/0/1 unit 0 family mpls set interfaces ge-0/0/1 unit 0 description toPE2 set interfaces ge-0/0/0 unit 0 family inet address 10.1.5.17/30 set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/0 unit 0 description toPE3 set interfaces lo0 unit 0 family inet address 192.0.2.5/32 set protocols mpls interface all set protocols ldp interface all set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 metric 5 set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 metric 5 set routing-options router-id 192.0.2.5 set routing-options autonomous-system 65000
Device CE2
set interfaces ge-0/0/1 unit 0 family inet address 10.1.6.22/30 set interfaces ge-0/0/1 unit 0 family mpls set interfaces ge-0/0/1 unit 0 description toPE2 set interfaces ge-0/0/2 unit 0 family inet address 10.1.7.26/30 set interfaces ge-0/0/2 unit 0 family mpls set interfaces ge-0/0/2 unit 0 description toPE3 set interfaces lo0 unit 0 family inet address 192.0.2.6/32 set routing-options router-id 192.0.2.6 set routing-options autonomous-system 65002 set protocols bgp group toPE2PE3 type external set protocols bgp group toPE2PE3 export send-direct set protocols bgp group toPE2PE3 peer-as 65000 set protocols bgp group toPE2PE3 neighbor 10.1.6.21 set protocols bgp group toPE2PE3 neighbor 10.1.7.25 set policy-options policy-statement send-direct from protocol direct set policy-options policy-statement send-direct then accept
Device CE3
set interfaces ge-0/0/3 unit 0 family inet address 10.1.8.30/30 set interfaces ge-0/0/3 unit 0 family mpls set interfaces ge-0/0/3 unit 0 description toPE3 set interfaces lo0 unit 0 family inet address 192.0.2.7/32 set routing-options router-id 192.0.2.7 set routing-options autonomous-system 65003 set protocols bgp group toPE3 type external set protocols bgp group toPE3 export send-direct set protocols bgp group toPE3 peer-as 65000 set protocols bgp group toPE3 neighbor 10.1.8.29 set policy-options policy-statement send-direct from protocol direct set policy-options policy-statement send-direct then accept
Procédure étape par étape
L’exemple suivant nécessite de 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 à Using the CLI Editor in Configuration Mode dans le CLI User Guide.
Pour configurer un équilibrage de charge inégalitaire sur l’ensemble de la configuration VPN :
Configurez l’ID de routeur sur l’équipement CE1 et attribuez-le à son système autonome.
[edit routing-options] user@CE1# set router-id 192.0.2.1 user@CE1# set autonomous-system 65001
De même, configurez tous les autres équipements.
Configurez les groupes BGP pour le trafic sur l’ensemble du réseau.
Configurez le groupe BGP pour le trafic entrant et sortant du réseau MPLS (équipements CE).
[edit protocols bgp group toPE1] user@CE1# set type external user@CE1# set peer-as 65000 user@CE1# set neighbor 10.1.1.2
Configurez des groupes BGP (
to AS 65000
ettoPE3
) similaires sur les équipements CE2 et CE3 en modifiant lespeer-as
instructions enneighbor
conséquence.Configurez le groupe BGP pour le trafic via le réseau MPLS (équipements PE).
[edit protocols bgp group toInternal] user@PE1# set type internal user@PE1# set family inet-vpn unicast user@PE1# set local-address 192.0.2.2 user@PE1# set neighbor 192.0.2.3 user@PE1# set neighbor 192.0.2.4
Configurez le même groupe BGP (
toInternal
) sur les équipements PE2 et PE3 en modifiant leslocal-address
instructions enneighbor
conséquence.
Configurez une stratégie de routage pour l’exportation de routes vers et depuis le réseau MPLS (
send-direct
stratégie) et une stratégie pour l’équilibrage de charge du trafic sur l’ensemble du réseau MPLS (lb
stratégie).Configurez une stratégie (
send-direct
) pour l’exportation des routes de la table de routage vers BGP sur l’équipement CE1.[edit policy-options policy-statement send-direct] user@CE1# set from protocol direct user@CE1# set then accept
[edit protocols bgp group toPE1] user@CE1# set export send-direct
De même, configurez la stratégie sur les
send-direct
équipements CE2 et CE3.Configurez une stratégie (
lb
) pour l’exportation des routes de la table de routage vers la table de transfert sur l’équipement PE1.La
lb
stratégie configure l’équilibrage de charge par paquet, ce qui garantit que toutes les adresses du saut suivant pour une destination sont installées dans la table de transfert.[edit policy-options policy-statement lb] user@PE1# set then load-balance per-packet
[edit routing-options] user@PE1# set forwarding-table export lb
De même, configurez la stratégie sur les
lb
équipements PE2 et PE3.
Configurez ce qui suit :
Configurez l’instance de routage sur les équipements PE pour l’exportation des routes via les systèmes autonomes.
Incluez l’énoncé
equal-external-internal
au niveau de la[edit routing-instances instance-name routing-options multipath vpn-unequal-cost]
hiérarchie pour permettre l’équilibrage de charge dans le réseau.Incluez l’instruction
vrf-table-label
au niveau de la[edit routing-instances instance-name]
hiérarchie pour le filtrage du trafic avant de quitter l’équipement de sortie (équipement CE3).
Device PE1
[edit routing-instances toCE1] user@PE1# set instance-type vrf user@PE1# set interface ge-0/0/2.0 user@PE1# set route-distinguisher 65000:1 user@PE1# set vrf-target target:65000:1 user@PE1# set vrf-table-label user@PE1# set protocols bgp group toCE1 type external user@PE1# set protocols bgp group toCE1 peer-as 65001 user@PE1# set protocols bgp group toCE1 neighbor 10.1.1.1 user@PE1# set routing-options multipath vpn-unequal-cost equal-external-internal
Device PE2
[edit routing-instances toCE1] user@PE2# set instance-type vrf user@PE2# set interface ge-0/0/2.0 user@PE2# set route-distinguisher 65000:1 user@PE2# set vrf-target target:65000:1 user@PE2# set vrf-table-label user@PE2# set protocols bgp group toCE2 type external user@PE2# set protocols bgp group toCE2 peer-as 65002 user@PE2# set protocols bgp group toCE2 neighbor 10.1.6.22 user@PE2# set routing-options multipath vpn-unequal-cost equal-external-internal
Device PE3
[edit routing-instances toCE2_3] user@PE3# set instance-type vrf user@PE3# set interface ge-0/0/2.0 user@PE3# set interface ge-0/0/3.0 user@PE3# set route-distinguisher 65000:1 user@PE3# set vrf-target target:65000:1 user@PE3# set vrf-table-label user@PE3# set protocols bgp group toCE2 type external user@PE3# set protocols bgp group toCE2 peer-as 65002 user@PE3# set protocols bgp group toCE2 neighbor 10.1.7.26 user@PE3# set protocols bgp group toCE3 type external user@PE3# set protocols bgp group toCE3 peer-as 65003 user@PE3# set protocols bgp group toCE3 neighbor 10.1.8.30 user@PE3# set routing-options multipath vpn-unequal-cost equal-external-internal
Résultats
Depuis le mode configuration, confirmez votre configuration en entrant la show configuration
commande. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de cet exemple pour corriger la configuration. Voici un extrait de la show configuration
sortie pe3.
user@PE3# show configuration
interfaces {
ge-0/0/0 {
unit 0 {
description toP;
family inet {
address 10.1.5.18/30;
}
family mpls;
}
}
ge-0/0/1 {
unit 0 {
description toPE1;
family inet {
address 10.1.3.10/30;
}
family mpls;
}
}
ge-0/0/2 {
unit 0 {
description toCE2;
family inet {
address 10.1.7.25/30;
}
family mpls;
}
}
ge-0/0/3 {
unit 0 {
description toCE3;
family inet {
address 10.1.8.29/30;
}
family mpls;
}
}
lo0 {
unit 0 {
family inet {
address 192.0.2.4/32;
}
}
}
}
policy-options {
policy-statement lb {
then {
load-balance per-packet;
}
}
}
routing-instances {
toCE2_3 {
routing-options {
multipath {
vpn-unequal-cost equal-external-internal;
}
}
protocols {
bgp {
group toCE2 {
type external;
peer-as 65002;
neighbor 10.1.7.26;
}
group toCE3 {
type external;
peer-as 65003;
neighbor 10.1.8.30;
}
}
}
instance-type vrf;
interface ge-0/0/2.0;
interface ge-0/0/3.0;
route-distinguisher 65000:1;
vrf-target target:65000:1;
vrf-table-label;
}
}
routing-options {
forwarding-table {
export lb;
}
router-id 192.0.2.4;
autonomous-system 65000;
}
protocols {
ospf {
area 0.0.0.0 {
interface lo0.0 {
passive;
}
interface ge-0/0/1.0 {
metric 10;
}
interface ge-0/0/0.0 {
metric 5;
}
}
}
bgp {
group toInternal {
type internal;
local-address 192.0.2.4;
family inet-vpn {
unicast;
}
family route-target;
neighbor 192.0.2.2;
neighbor 192.0.2.3;
}
}
ldp {
interface all;
}
mpls {
interface all;
}
}
Si vous avez terminé la configuration de l’unité, entrez commit
dans le mode de configuration.
Vérification
Vérifiez que la configuration fonctionne correctement.
Vérification du protocole BGP
But
Vérifiez que BGP fonctionne.
Action
À partir du mode opérationnel, exécutez la show route protocol bgp
commande.
user@PE3> show route protocol bgp inet.0: 19 destinations, 19 routes (19 active, 0 holddown, 0 hidden) inet.3: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden) toCE2_3.inet.0: 9 destinations, 14 routes (9 active, 0 holddown, 0 hidden) @ = Routing Use Only, # = Forwarding Use Only + = Active Route, - = Last Active, * = Both 10.1.1.0/30 *[BGP/170] 6d 19:24:16, localpref 100, from 192.0.2.2 AS path: I, validation-state: unverified > to 10.1.3.9 via ge-0/0/1.0, Push 16 10.1.6.20/30 *[BGP/170] 6d 19:24:12, localpref 100, from 192.0.2.3 AS path: I, validation-state: unverified > to 10.1.5.17 via ge-0/0/0.0, Push 16, Push 299808(top) [BGP/170] 6d 17:53:50, localpref 100 AS path: 65002 I, validation-state: unverified > to 10.1.7.26 via ge-0/0/2.0 10.1.7.24/30 [BGP/170] 6d 17:53:50, localpref 100 AS path: 65002 I, validation-state: unverified > to 10.1.7.26 via ge-0/0/2.0 10.1.8.28/30 [BGP/170] 6d 17:55:03, localpref 100 AS path: 65003 I, validation-state: unverified > to 10.1.8.30 via ge-0/0/3.0 192.0.2.1/32 *[BGP/170] 6d 19:24:16, localpref 100, from 192.0.2.2 AS path: 65001 I, validation-state: unverified > to 10.1.3.9 via ge-0/0/1.0, Push 16 192.0.2.6/32 @[BGP/170] 6d 17:53:50, localpref 100 AS path: 65002 I, validation-state: unverified > to 10.1.7.26 via ge-0/0/2.0 [BGP/170] 6d 17:53:50, localpref 100, from 192.0.2.3 AS path: 65002 I, validation-state: unverified > to 10.1.5.17 via ge-0/0/0.0, Push 16, Push 299808(top) 192.0.2.7/32 *[BGP/170] 6d 17:55:03, localpref 100 AS path: 65003 I, validation-state: unverified > to 10.1.8.30 via ge-0/0/3.0 mpls.0: 12 destinations, 12 routes (12 active, 0 holddown, 0 hidden) bgp.l3vpn.0: 4 destinations, 4 routes (4 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 65000:1:10.1.1.0/30 *[BGP/170] 6d 19:24:16, localpref 100, from 192.0.2.2 AS path: I, validation-state: unverified > to 10.1.3.9 via ge-0/0/1.0, Push 16 65000:1:10.1.6.20/30 *[BGP/170] 6d 19:24:12, localpref 100, from 192.0.2.3 AS path: I, validation-state: unverified > to 10.1.5.17 via ge-0/0/0.0, Push 16, Push 299808(top) 65000:1:192.0.2.1/32 *[BGP/170] 6d 19:24:16, localpref 100, from 192.0.2.2 AS path: 65001 I, validation-state: unverified > to 10.1.3.9 via ge-0/0/1.0, Push 16 65000:1:192.0.2.6/32 *[BGP/170] 6d 17:53:50, localpref 100, from 192.0.2.3 AS path: 65002 I, validation-state: unverified > to 10.1.5.17 via ge-0/0/0.0, Push 16, Push 299808(top) inet6.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden) toCE2_3.inet6.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden) bgp.rtarget.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
La sortie répertorie les routes BGP installées dans la table de routage. Les lignes de sortie qui commencent par 192.0.2.1/32, 10.1.1.0/30et 65000:1:192.0.2.1/32 affichent les routes BGP vers l’équipement CE1, qui est dans l’AS 65001. Les lignes de sortie qui commencent par 192.0.2.6/32, 65000:1:192.0.2.6/32et 65000:1:10.1.6.20/30 affichent les routes BGP vers l’équipement CE2, qui est sous AS 65002. La ligne de sortie qui commence par 192.0.2.7/32 affiche la route BGP vers le périphérique CE3, qui est dans l’AS 65003.
Sens
BGP est fonctionnel dans le réseau.
Vérification de l’équilibrage de charge
But
Vérifiez que le transfert se fait dans les deux directions en vérifiant :
Si les deux sauts suivants sont installés dans la table de transfert pour un routage.
Si des routes BGP externes sont installées dans la table de transfert pour un routage.
Action
Du mode opérationnel, exécutez les show route forwarding-table commandes show route forwarding-table destination <destination IP> .
user@PE3> show route forwarding-table Routing table: default.inet Internet: Destination Type RtRef Next hop Type Index NhRef Netif default perm 1 rjct 36 2 0.0.0.0/32 perm 0 dscd 34 1 10.1.2.4/30 user 0 ulst 1048576 2 10.1.5.17 ucst 625 12 ge-0/0/0.0 10.1.3.9 ucst 617 8 ge-0/0/1.0 10.1.3.8/30 intf 0 rslv 604 1 ge-0/0/1.0 10.1.3.8/32 dest 0 10.1.3.8 recv 602 1 ge-0/0/1.0 10.1.3.9/32 dest 0 0:50:56:93:63:e7 ucst 617 8 ge-0/0/1.0 10.1.3.10/32 intf 0 10.1.3.10 locl 603 2 10.1.3.10/32 dest 0 10.1.3.10 locl 603 2 10.1.3.11/32 dest 0 10.1.3.11 bcst 601 1 ge-0/0/1.0 10.1.4.12/30 user 0 10.1.5.17 ucst 625 12 ge-0/0/0.0 10.1.5.16/30 intf 0 rslv 600 1 ge-0/0/0.0 10.1.5.16/32 dest 0 10.1.5.16 recv 598 1 ge-0/0/0.0 10.1.5.17/32 dest 0 0:50:56:93:f8:ff ucst 625 12 ge-0/0/0.0 10.1.5.18/32 intf 0 10.1.5.18 locl 599 2 10.1.5.18/32 dest 0 10.1.5.18 locl 599 2 10.1.5.19/32 dest 0 10.1.5.19 bcst 597 1 ge-0/0/0.0 192.0.2.2/32 user 1 10.1.3.9 ucst 617 8 ge-0/0/1.0 192.0.2.3/32 user 1 10.1.5.17 ucst 625 12 ge-0/0/0.0 192.0.2.4/32 intf 0 192.0.2.4 locl 607 1 192.0.2.5/32 user 1 10.1.5.17 ucst 625 12 ge-0/0/0.0 224.0.0.0/4 perm 1 mdsc 35 1 224.0.0.1/32 perm 0 224.0.0.1 mcst 31 5 224.0.0.2/32 user 1 224.0.0.2 mcst 31 5 224.0.0.5/32 user 1 224.0.0.5 mcst 31 5 255.255.255.255/32 perm 0 bcst 32 1 Routing table: __master.anon__.inet Internet: Destination Type RtRef Next hop Type Index NhRef Netif default perm 0 rjct 524 1 0.0.0.0/32 perm 0 dscd 522 1 224.0.0.0/4 perm 0 mdsc 523 1 224.0.0.1/32 perm 0 224.0.0.1 mcst 526 1 255.255.255.255/32 perm 0 bcst 527 1 Routing table: toCE2_3.inet Internet: Destination Type RtRef Next hop Type Index NhRef Netif default perm 0 rjct 566 1 0.0.0.0/32 perm 0 dscd 564 1 10.1.1.0/30 user 0 indr 1048574 3 10.1.3.9 Push 16 623 2 ge-0/0/1.0 10.1.6.20/30 user 0 indr 1048575 3 10.1.5.17 Push 16, Push 299808(top) 629 2 ge-0/0/0.0 10.1.7.24/30 intf 0 rslv 616 1 ge-0/0/2.0 10.1.7.24/32 dest 0 10.1.7.24 recv 614 1 ge-0/0/2.0 10.1.7.25/32 intf 0 10.1.7.25 locl 615 2 10.1.7.25/32 dest 0 10.1.7.25 locl 615 2 10.1.7.26/32 dest 1 0:50:56:93:86:18 ucst 618 4 ge-0/0/2.0 10.1.7.27/32 dest 0 10.1.7.27 bcst 613 1 ge-0/0/2.0 10.1.8.28/30 intf 0 rslv 612 1 ge-0/0/3.0 10.1.8.28/32 dest 0 10.1.8.28 recv 610 1 ge-0/0/3.0 10.1.8.29/32 intf 0 10.1.8.29 locl 611 2 10.1.8.29/32 dest 0 10.1.8.29 locl 611 2 10.1.8.30/32 dest 1 0:50:56:93:bb:ed ucst 622 4 ge-0/0/3.0 10.1.8.31/32 dest 0 10.1.8.31 bcst 609 1 ge-0/0/3.0 192.0.2.1/32 user 0 indr 1048574 3 10.1.3.9 Push 16 623 2 ge-0/0/1.0 192.0.2.6/32 user 0 ulst 1048577 2 10.1.7.26 ucst 618 4 ge-0/0/2.0 indr 1048575 3 10.1.5.17 Push 16, Push 299808(top) 629 2 ge-0/0/0.0 192.0.2.7/32 user 0 10.1.8.30 ucst 622 4 ge-0/0/3.0 224.0.0.0/4 perm 0 mdsc 565 1 224.0.0.1/32 perm 0 224.0.0.1 mcst 568 1 255.255.255.255/32 perm 0 bcst 569 1 ...
Dans la default.inet table de routage, qui est la table de transfert, la ligne de sortie commençant par 10.1.2.4/30 montre que pour un routage vers l’équipement PE2 dans le même AS, deux sauts suivants sont installés dans la table : 10.1.3.9 et 10.1.5.17.
Dans la toCE2_3.inet table de routage, qui est la table de routage externe, la ligne de sortie commençante 192.0.2.6/32 montre que pour une route vers l’équipement CE2 dans l’AS 65002, un saut 10.1.5.17 interne suivant et un saut 10.1.7.26 externe suivant sont installés dans la table. Cela indique que les routes BGP internes et externes sont opérationnelles sur le réseau.
user@PE3> show route forwarding-table destination 10.1.2.6 Routing table: default.inet Internet: Destination Type RtRef Next hop Type Index NhRef Netif 10.1.2.4/30 user 0 ulst 1048576 2 10.1.5.17 ucst 625 12 ge-0/0/0.0 10.1.3.9 ucst 617 8 ge-0/0/1.0 Routing table: __pfe_private__.inet Internet: Destination Type RtRef Next hop Type Index NhRef Netif default perm 0 dscd 513 2 Routing table: __master.anon__.inet Internet: Destination Type RtRef Next hop Type Index NhRef Netif default perm 0 rjct 524 1 Routing table: __juniper_services__.inet Internet: Destination Type RtRef Next hop Type Index NhRef Netif default perm 0 dscd 546 2 Routing table: toCE2_3.inet Internet: Destination Type RtRef Next hop Type Index NhRef Netif default perm 0 rjct 630 1
La ligne de sortie qui commence par 10.1.2.4/30 montre que, pour un routage entre l’équipement PE3 et l’équipement PE2 dans le même AS, deux sauts suivants sont installés dans le tableau : 10.1.3.9 via l’interface ge-0/0/1.0 et 10.1.5.17 via l’interface ge-2/1/10.18 .
Sens
Plusieurs sauts suivants d’un routage, y compris les routes BGP externes, sont installés dans les tables de transfert.
Configuration de l’équilibrage de charge indépendant du protocole dans les VPN de couche 3
L’équilibrage de charge indépendant du protocole pour les VPN de couche 3 permet d’utiliser à la fois les sauts de routage actif et les chemins alternatifs pour l’équilibrage de charge. L’équilibrage de charge indépendant du protocole fonctionne conjointement avec les VPN de couche 3. Il prend en charge l’équilibrage de charge des routes VPN indépendamment du distinguer de route assigné. Lorsque l’équilibrage de charge indépendant du protocole est activé, les deux routes vers d’autres routeurs PE et les routes vers les routeurs CE directement connectés sont réparties en charge.
Lorsque des informations d’équilibrage de charge sont créées pour une route donnée, le chemin actif est marqué comme Routing Use Only
dans la sortie de la show route table
commande.
Les sections suivantes décrivent comment configurer l’équilibrage de charge indépendant du protocole et comment cette configuration peut affecter les stratégies de routage :
- Configuration de l’équilibrage de charge pour les VPN de couche 3
- Configuration des stratégies d’équilibrage de charge et de routage
Configuration de l’équilibrage de charge pour les VPN de couche 3
La configuration de l’équilibrage de charge indépendant du protocole pour les VPN de couche 3 est un peu différente pour IPv4 et IPv6 :
IPv4 : il vous suffit de configurer l’instruction
multipath
au niveau de la[edit routing-instances routing-instance-name routing-options]
hiérarchie ou au niveau de la[edit routing-instances routing-instance-name routing-options rib routing-table-name]
hiérarchie.IPv6 : vous devez configurer l’instruction
multipath
à la fois au niveau de la[edit routing-instances routing-instance-name routing-options]
hiérarchie et au niveau de la[edit routing-instances routing-instance-name routing-options rib routing-table-name]
hiérarchie.
Vous ne pouvez pas configurer l’instruction multipath
et les sous-instructions en même temps que vous avez configuré l’instruction l3vpn .
Pour configurer l’équilibrage de charge indépendant du protocole pour les VPN de couche 3, incluez l’instruction multipath
:
multipath { vpn-unequal-cost equal-external-internal; }
Lorsque vous incluez l’instruction multipath
aux niveaux hiérarchiques suivants, l’équilibrage de charge indépendant du protocole est appliqué à la table de routage par défaut de cette instance de routage (routing-instance-name.inet.0) :
[edit routing-instances routing-instance-name routing-options]
[edit logical-systems logical-system-name routing-instances routing-instance-name routing-options]
Le [edit logical-systems]
niveau hiérarchique ne s’applique pas aux routeurs ACX Series.
Lorsque vous incluez l’instruction multipath
aux niveaux hiérarchiques suivants, l’équilibrage de charge indépendant du protocole est appliqué à la table de routage spécifiée :
[edit routing-instances routing-instance-name routing-options rib routing-table-name]
[edit logical-systems logical-system-name routing-instances routing-instance-name routing-options rib routing-table-name]
Le [edit logical-systems]
niveau hiérarchique ne s’applique pas aux routeurs ACX Series.
L’instruction vpn-unequal-cost
est facultative :
Lorsque vous l’incluez, l’équilibrage de charge indépendant du protocole est appliqué aux routes VPN qui sont égales jusqu’à ce que la métrique IGP en ce qui concerne la sélection de route.
Lorsque vous ne l’incluez pas, l’équilibrage de charge indépendant du protocole est appliqué aux routes VPN qui sont égales jusqu’à ce que l’identifiant du routeur en ce qui concerne la sélection de route.
Cette vpn-unequal-cost
déclaration ne s’applique pas aux routeurs ACX Series.
L’instruction equal-external-internal
est également facultative. Lorsque vous l’incluez, l’équilibrage de charge indépendant du protocole est appliqué aux chemins BGP internes et externes. Vous pouvez le configurer conjointement avec le filtrage d’en-tête IP sortant (activé avec l’instruction vrf-table-label
). Pour plus d’informations, consultez l’équilibrage de charge et le filtrage d’en-tête IP pour les VPN de couche 3.
Vous pouvez inclure simultanément l’instruction vpn-unequal-cost equal-external-internal
et l’instruction l3vpn
au niveau de la [edit routing-options forwarding-options chained-composite-next-hop ingress]
hiérarchie. Cependant, si vous faites cela, EBGP ne fonctionne pas. Cela signifie que lorsqu’il existe deux chemins avec des sauts et chemins suivants enchaînés avec des sauts suivants non enchaînés en tant que candidats pour un multipath EBGP à coût égal (ECMP), les chemins utilisant les sauts suivants enchaînés sont exclus. Dans un cas typique, les chemins exclus sont les chemins internes.
Configuration des stratégies d’équilibrage de charge et de routage
Si vous activez l’équilibrage de charge indépendant du protocole pour les VPN de couche 3 en incluant l’instruction multipath
et si vous incluez également l’instruction load-balance per-packet
dans la configuration de la stratégie de routage, les paquets ne sont pas équilibrés en charge.
Par exemple, l’instance de routage VRF d’un routeur PE est configurée :
[edit routing-instances] load-balance-example { instance-type vrf; interface fe-0/1/1.0; interface fe-0/1/1.1; route-distinguisher 2222:2; vrf-target target:2222:2; routing-options { multipath; } protocols { bgp { group group-example { import import-policy; family inet { unicast; } export export-policy; peer-as 4444; local-as 3333; multipath; as-override; neighbor 10.12.33.22; } } } }
L’instruction de stratégie suivante est également configurée sur le routeur PE :
[edit policy-options policy-statement export-policy] from protocol bgp; then { load-balance per-packet; }
Lorsque vous incluez l’instruction multipath
dans la configuration de l’instance de routage VRF, les chemins ne sont plus marqués en tant que chemins BGP, mais plutôt marqués en tant que chemins multipath. Les paquets provenant du routeur PE ne sont pas équilibrés en charge.
Pour garantir que l’équilibrage de charge VPN fonctionne comme prévu, n’incluez pas l’instruction dans la from protocol
configuration de l’énoncé de stratégie. L’instruction de stratégie doit être configurée comme suit :
[edit policy-options policy-statement export-policy] then { load-balance per-packet; }
Pour plus d’informations sur la configuration de l’équilibrage de charge par paquet, consultez le Guide de l’utilisateur des stratégies de routage, des filtres de pare-feu et des mécanismes de contrôle du trafic.
Exemple : configuration de PIM Joint Équilibrage de charge sur un VPN multicast nouvelle génération
Cet exemple montre comment configurer le routage multipath pour les routes de réseau privé virtuel (VPN) internes et externes avec des mesures IGP (Interior Gateway Protocol) différentes et un équilibrage de charge par multicast indépendant du protocole (PIM) sur les routeurs de périphérie du fournisseur (PE) exécutant un VPN multicast de nouvelle génération (MVPN). Cette fonctionnalité permet d’équilibrer la charge entre les messages de jointure PIM du client (C-PIM) sur les chemins internes BGP (IBGP) en amont disponibles lorsqu’aucun chemin BGP externe (EBGP) n’est présent, et sur les chemins en amont EBGP disponibles lorsque des chemins BGP externes et internes (BEIGP) sont présents vers la source ou le point de rendez-vous (RP).
Exigences
Cet exemple utilise les composants matériels et logiciels suivants :
Trois routeurs pouvant être combinés à des routeurs M Series, MX Series ou T Series.
Junos OS Version 12.1 s’exécutant sur tous les équipements.
Avant de commencer :
Configurez les interfaces de l’équipement.
Configurez les protocoles de routage suivants sur tous les routeurs PE :
OSPF
MPLS
Ldp
Pim
Bgp
Configurez un VPN multicast.
Présentation et topologie
Junos OS version 12.1 et versions ultérieures prennent en charge la configuration multipath ainsi que l’équilibrage de charge de jointure PIM. Cela permet d’équilibrer la charge sur tous les chemins IBGP disponibles lorsqu’il n’y a que des chemins IBGP, et sur tous les chemins EBGP en amont disponibles lorsque des chemins BEIGP sont présents vers la source (ou RP). Contrairement au MVPN Draft-Rosen, le MVPN nouvelle génération n’utilise pas des chemins BEIGP inégalitaires pour envoyer des messages de jointure C-PIM. Cette fonctionnalité s’applique aux messages de jointure IPv4 C-PIM.
Par défaut, un seul chemin IBGP actif est utilisé pour envoyer les messages de jointure C-PIM à un routeur PE comportant uniquement des chemins IBGP vers la source (ou RP). Lorsqu’un chemin amont BEIGP est présent, un seul chemin EBGP actif est utilisé pour envoyer les messages de jointure.
Dans un MVPN nouvelle génération, les messages de jointure C-PIM sont traduits (ou encodés sous forme de) routes MVPN client BGP (C-multicast) et annoncés avec la famille d’adresses MCAST-VPN BGP vers les routeurs PE expéditeurs. Un routeur PE est originaire d’une route MVPN multicast C en réponse à la réception d’un message de jointure C-PIM via son routeur PE vers l’interface du routeur de périphérie du client (CE). Les deux types de routes MVPN multicast C sont :
Route de jointure d’arborescence partagée (C-*, C-G)
Provenant des routeurs PE récepteurs.
Il a été créé lorsqu’un routeur PE reçoit un message de jointure C-PIM arboré par le biais de son interface de routeur PE-CE.
Route de jointure d’arborescence source (C-S, C-G)
Provenant des routeurs PE récepteurs.
Elle est née lorsqu’un routeur PE reçoit un message de jointure C-PIM source (C-S, C-G) ou provient du routeur PE qui possède déjà une route de jointure tree partagée et reçoit une route de découverte automatique active source.
Le chemin en amont d’un MVPN de nouvelle génération est sélectionné à l’aide de l’algorithme de hachage Bytewise-XOR comme spécifié dans le projet Internet draft-ietf-l3vpn-2547bis-mcast, Multicast in MPLS/BGP IP VPNs. L’algorithme de hachage est exécuté comme suit :
Les routeurs PE de l’ensemble des candidats sont numérotés de la base à l’adresse IP supérieure, à partir de 0.
Une octet exclusive ou de tous les octets est exécuté sur l’adresse C-root (source) et L’adresse C-G (groupe).
Le résultat est pris modulo n, où n est le nombre de routeurs PE dans l’ensemble de candidats. Le résultat est N.
N représente l’adresse IP du routeur PE en amont comme numéroté à l’étape 1.
Lors de l’équilibrage de charge, si un routeur PE avec un ou plusieurs chemins IBGP en amont vers la source (ou RP) découvre un nouveau chemin IBGP vers la même source (ou RP), les messages de jointure C-PIM distribués entre les chemins IBGP existants sont redistribués en raison de la modification de l’ensemble de routeurs PE du candidat.
Dans cet exemple, PE1, PE2 et PE3 sont les routeurs PE dont la fonctionnalité d’équilibrage de charge PIM à trajets multiples est configurée. Le routeur PE1 dispose de deux chemins EBGP et d’un chemin en amont IBGP, le PE2 dispose d’un chemin EBGP et d’un chemin amont IBGP, et PE3 dispose de deux chemins IBGP en amont vers la source. Le routeur CE4 est le routeur de périphérie du client (CE) connecté au pe3. Source et récepteur sont les hôtes Free BSD.
Sur les routeurs PE ayant des chemins BEIGP vers la source (ou RP), tels que PE1 et PE2, l’équilibrage de charge des jointure PIM est effectué comme suit :
Les messages de jointure C-PIM sont envoyés uniquement à l’aide de chemins EBGP. Les chemins IBGP ne sont pas utilisés pour propager les messages de jointure.
Sur la Figure 2, le routeur PE1 distribue les messages de jointure entre les deux chemins EBGP vers le routeur CE1, et PE2 utilise le chemin EBGP vers CE1 pour envoyer les messages de jointure.
Si un routeur PE perd un ou plusieurs chemins EBGP vers la source (ou RP), le voisin RPF de l’interface de tunnel multicast est sélectionné en fonction d’un mécanisme de hachage.
Lors de la découverte du premier chemin EBGP, seuls les nouveaux messages de jointure sont répartis sur les chemins EBGP disponibles, tandis que les messages de jointure existants sur l’interface du tunnel multicast ne sont pas redistribués.
Si le chemin EBGP entre le routeur PE2 et le routeur CE1 tombe en panne, PE2 envoie les messages de jointure à PE1 via le chemin IBGP. Lorsque le chemin EBGP vers CE1 est restauré, seuls les nouveaux messages de jointure arrivant sur PE2 utilisent le chemin EBGP restauré, tandis que les messages de jointure déjà envoyés sur le chemin IBGP ne sont pas redistribués.
Sur les routeurs PE qui n’ont que des chemins IBGP vers la source (ou RP), tels que le routeur PE3, l’équilibrage de charge pim joint est exécuté comme suit :
Les messages de jointure C-PIM des routeurs CE ne sont répartis sur la charge que lorsque les messages de données C-multicast BGP sont répartis sur les chemins IBGP.
Sur la figure 2, en supposant que l’hôte CE4 est intéressé par le trafic provenant de la source et que CE4 lance des messages de jointure source pour différents groupes (groupe 1 [C-S, C-G1] et groupe 2 [C-S,C-G2]), les messages de jointure source arrivent sur le routeur PE3.
Le routeur PE3 utilise ensuite l’algorithme de hachage Bytewise-XOR pour sélectionner le routeur PE en amont qui envoie les données multicast C pour chaque groupe. L’algorithme chiffre d’abord les routeurs PE en amont de la base à l’adresse IP supérieure à partir de 0.
En supposant que le routeur PE1 est numéroté 0 et le routeur PE2 1, et que le résultat du hachage pour les messages de jointure des groupes 1 et 2 est respectivement de 0 et 1, le routeur PE3 choisit PE1 comme routeur PE1 en amont pour envoyer des messages de jointure du groupe 1 et PE2 comme routeur PE en amont pour envoyer les messages de jointure du groupe 2 à la source.
Les messages de jointure partagés pour différents groupes [C-*,C-G] sont également traités de la même manière pour atteindre la destination.

Configuration
Configuration rapide CLI
Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez tous les sauts de ligne, modifiez tous les détails nécessaires pour correspondre à 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 entrez commit
du mode de configuration.
PE1
set routing-instances vpn1 instance-type vrf set routing-instances vpn1 interface ge-3/0/1.0 set routing-instances vpn1 interface ge-3/3/2.0 set routing-instances vpn1 interface lo0.1 set routing-instances vpn1 route-distinguisher 1:1 set routing-instances vpn1 provider-tunnel rsvp-te label-switched-path-template default-template set routing-instances vpn1 vrf-target target:1:1 set routing-instances vpn1 vrf-table-label set routing-instances vpn1 routing-options multipath vpn-unequal-cost equal-external-internal set routing-instances vpn1 protocols bgp export direct set routing-instances vpn1 protocols bgp group bgp type external set routing-instances vpn1 protocols bgp group bgp local-address 10.40.10.1 set routing-instances vpn1 protocols bgp group bgp family inet unicast set routing-instances vpn1 protocols bgp group bgp neighbor 10.40.10.2 peer-as 3 set routing-instances vpn1 protocols bgp group bgp1 type external set routing-instances vpn1 protocols bgp group bgp1 local-address 10.10.10.1 set routing-instances vpn1 protocols bgp group bgp1 family inet unicast set routing-instances vpn1 protocols bgp group bgp1 neighbor 10.10.10.2 peer-as 3 set routing-instances vpn1 protocols pim rp static address 10.255.10.119 set routing-instances vpn1 protocols pim interface all set routing-instances vpn1 protocols pim join-load-balance set routing-instances vpn1 protocols mvpn mvpn-mode rpt-spt set routing-instances vpn1 protocols mvpn mvpn-join-load-balance bytewise-xor-hash
PE2
set routing-instances vpn1 instance-type vrf set routing-instances vpn1 interface ge-1/0/9.0 set routing-instances vpn1 interface lo0.1 set routing-instances vpn1 route-distinguisher 2:2 set routing-instances vpn1 provider-tunnel rsvp-te label-switched-path-template default-template set routing-instances vpn1 vrf-target target:1:1 set routing-instances vpn1 vrf-table-label set routing-instances vpn1 routing-options multipath vpn-unequal-cost equal-external-internal set routing-instances vpn1 protocols bgp export direct set routing-instances vpn1 protocols bgp group bgp local-address 10.50.10.2 set routing-instances vpn1 protocols bgp group bgp family inet unicast set routing-instances vpn1 protocols bgp group bgp neighbor 10.50.10.1 peer-as 3 set routing-instances vpn1 protocols pim rp static address 10.255.10.119 set routing-instances vpn1 protocols pim interface all set routing-instances vpn1 protocols mvpn mvpn-mode rpt-spt set routing-instances vpn1 protocols mvpn mvpn-join-load-balance bytewise-xor-hash
PE3
set routing-instances vpn1 instance-type vrf set routing-instances vpn1 interface ge-0/0/8.0 set routing-instances vpn1 interface lo0.1 set routing-instances vpn1 route-distinguisher 3:3 set routing-instances vpn1 provider-tunnel rsvp-te label-switched-path-template default-template set routing-instances vpn1 vrf-target target:1:1 set routing-instances vpn1 vrf-table-label set routing-instances vpn1 routing-options multipath vpn-unequal-cost equal-external-internal set routing-instances vpn1 routing-options autonomous-system 1 set routing-instances vpn1 protocols bgp export direct set routing-instances vpn1 protocols bgp group bgp type external set routing-instances vpn1 protocols bgp group bgp local-address 10.80.10.1 set routing-instances vpn1 protocols bgp group bgp family inet unicast set routing-instances vpn1 protocols bgp group bgp neighbor 10.80.10.2 peer-as 2 set routing-instances vpn1 protocols pim rp static address 10.255.10.119 set routing-instances vpn1 protocols pim interface all set routing-instances vpn1 protocols mvpn mvpn-mode rpt-spt set routing-instances vpn1 protocols mvpn mvpn-join-load-balance bytewise-xor-hash
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 à Using the CLI Editor in Configuration Mode. Pour configurer le routeur PE1 :
Répétez cette procédure pour chaque routeur Juniper Networks du domaine MVPN, après avoir modifié les noms d’interface, adresses et autres paramètres appropriés pour chaque routeur.
Configurez une instance de routage VRF (Routing Forwarding) VPN.
[edit routing-instances vpn1] user@PE1# set instance-type vrf user@PE1# set interface ge-3/0/1.0 user@PE1# set interface ge-3/3/2.0 user@PE1# set interface lo0.1 user@PE1# set route-distinguisher 1:1 user@PE1# set provider-tunnel rsvp-te label-switched-path-template default-template user@PE1# set vrf-target target:1:1 user@PE1# set vrf-table-label
Activez l’équilibrage de charge indépendant du protocole pour l’instance VRF.
[edit routing-instances vpn1] user@PE1# set routing-options multipath vpn-unequal-cost equal-external-internal
Configurez les groupes et voisins BGP pour activer le routage PE vers CE.
[edit routing-instances vpn1 protocols] user@PE1# set bgp export direct user@PE1# set bgp group bgp type external user@PE1# set bgp group bgp local-address 10.40.10.1 user@PE1# set bgp group bgp family inet unicast user@PE1# set bgp group bgp neighbor 10.40.10.2 peer-as 3 user@PE1# set bgp group bgp1 type external user@PE1# set bgp group bgp1 local-address 10.10.10.1 user@PE1# set bgp group bgp1 family inet unicast user@PE1# set bgp group bgp1 neighbor 10.10.10.2 peer-as 3
Configurez PIM pour activer le routage multicast PE vers CE.
[edit routing-instances vpn1 protocols] user@PE1# set pim rp static address 10.255.10.119
Activez pim sur toutes les interfaces réseau.
[edit routing-instances vpn1 protocols] user@PE1# set pim interface all
Activez l’équilibrage de charge de jointure PIM pour l’instance VRF.
[edit routing-instances vpn1 protocols] user@PE1# set pim join-load-balance
Configurez le mode pour les messages de jointure C-PIM afin d’utiliser les arborescences de points de rendez-vous et passez à l’arborescence de chemin la plus courte une fois la source connue.
[edit routing-instances vpn1 protocols] user@PE1# set mvpn mvpn-mode rpt-spt
Configurez l’instance VRF pour qu’elle utilise l’algorithme de hachage Bytewise-XOR.
[edit routing-instances vpn1 protocols] user@PE1# set mvpn mvpn-join-load-balance bytewise-xor-hash
Résultats
Depuis le mode configuration, confirmez votre configuration en entrant la commande show routing-instances . Si la sortie n’affiche pas la configuration prévue, répétez les instructions de cet exemple pour corriger la configuration.
user@PE1# show routing-instances
routing-instances {
vpn1 {
instance-type vrf;
interface ge-3/0/1.0;
interface ge-3/3/2.0;
interface lo0.1;
route-distinguisher 1:1;
provider-tunnel {
rsvp-te {
label-switched-path-template {
default-template;
}
}
}
vrf-target target:1:1;
vrf-table-label;
routing-options {
multipath {
vpn-unequal-cost equal-external-internal;
}
}
protocols {
bgp {
export direct;
group bgp {
type external;
local-address 10.40.10.1;
family inet {
unicast;
}
neighbor 10.40.10.2 {
peer-as 3;
}
}
group bgp1 {
type external;
local-address 10.10.10.1;
family inet {
unicast;
}
neighbor 10.10.10.2 {
peer-as 3;
}
}
}
pim {
rp {
static {
address 10.255.10.119;
}
}
interface all;
join-load-balance;
}
mvpn {
mvpn-mode {
rpt-spt;
}
mvpn-join-load-balance {
bytewise-xor-hash;
}
}
}
}
Si vous avez terminé la configuration de l’unité, saisissez la validation depuis le mode de configuration.
Vérification
Vérifiez que la configuration fonctionne correctement.
Vérification des informations de routage C-Multicast MVPN pour différents groupes de messages de jointure
But
Vérifiez les informations de route MVPN C-multicast pour les différents groupes de messages de jointure reçus sur le routeur PE3.
Action
Exécutez la commande show mvpn c-multicast depuis le mode opérationnel.
user@PE3>
MVPN instance:
Legend for provider tunnel
I-P-tnl -- inclusive provider tunnel S-P-tnl -- selective provider tunnel
Legend for c-multicast routes properties (Pr)
DS -- derived from (*, c-g) RM -- remote VPN route
Family : INET
Instance : vpn1
MVPN Mode : RPT-SPT
C-mcast IPv4 (S:G) Ptnl St
0.0.0.0/0:203.0.113.1/24 RSVP-TE P2MP:10.255.10.2, 5834,10.255.10.2
192.0.2.2/24:203.0.113.1/24 RSVP-TE P2MP:10.255.10.2, 5834,10.255.10.2
0.0.0.0/0:203.0.113.2/24 RSVP-TE P2MP:10.255.10.14, 47575,10.255.10.14
192.0.2.2/24:203.0.113.2/24 RSVP-TE P2MP:10.255.10.14, 47575,10.255.10.14
Sens
La sortie montre comment le routeur PE3 a équilibré la charge des données multicast C pour les différents groupes.
Pour les messages de jointure source (S,G) :
192.0.2.2/24:203.0.113.1/24 (S,G1) vers le routeur PE1 (le 10.255.10.2 est l’adresse de bouclage du routeur PE1).
192.0.2.2/24:203.0.113.2/24 (S,G2) vers le routeur PE2 (le 10.255.10.14 est l’adresse de bouclage du routeur PE2).
Pour les messages de jointure partagés (*,G) :
0.0.0.0/0:203.0.113.1/24 (*,G1) vers le routeur PE1 (10.255.10.2 est l’adresse de bouclage du routeur PE1).
0.0.0.0/0:203.0.113.2/24 (*,G2) vers le routeur PE2 (le 10.255.10.14 est l’adresse de bouclage du routeur PE2).