Équilibrage de charge dans les VPN de couche 3
Équilibrage de charge VPN par paquet
Par défaut, lorsqu’il existe plusieurs chemins de coût égal vers la même destination pour l’itinéraire actif, 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 des sauts suivants d’une destination change, ce processus de sélection (utilisant le même algorithme de hachage) est répété pour choisir la meilleure adresse de saut suivant en utilisant le même algorithme de hachage.
Vous pouvez également configurer le logiciel Junos OS pour qu’il répartisse le trafic VPN sur les multiples chemins valides entre les périphériques PE. C’est ce qu’on appelle l’équilibrage de charge par paquet. L’équilibrage de charge du trafic VPN n’est possible que lorsque plusieurs chemins valides sont disponibles. Vous pouvez configurer Junos OS de manière à ce que, pour l’itinéraire actif, toutes les adresses de saut suivant d’une destination soient installées dans la table de transfert. En plus d’augmenter le volume de trafic que vous pouvez envoyer entre les périphériques VPN, vous pouvez configurer l’équilibrage de charge par paquet pour optimiser les flux de trafic sur plusieurs chemins.
Le trafic est réparti sur plusieurs chemins valides en exécutant un algorithme de hachage sur différents éléments de l’itinéraire, tels que l’étiquette 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 entrant et des routeurs de transit et de sortie. Les éléments de route utilisés par l’algorithme de hachage varient en fonction de l’application VPN. Si Junos OS rencontre un S-bit défini sur 1 (indiquant le bas de la pile), il n’applique pas l’algorithme de hachage plus loin.
Application |
Interface logique d’entrée |
Étiquettes MPLS |
Adresses MAC source et de destination |
Réorganisation et risque de séparation des flux |
Désactiver le mot de contrôle |
IP (adresse et port source/de destination, 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 |
N/A |
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 |
N/A |
VPN de couche 3 et RIB IPv4 ou IPv6 |
Oui |
Non |
Non |
Non |
Non |
Oui |
VPLS (en anglais) |
Oui |
Non |
Oui |
Non |
Non |
Oui |
Application |
Interface logique d’entrée |
Étiquettes MPLS (jusqu’à 3 et le S-bit est réglé sur 1) |
Réorganisation et risque de séparation des flux |
IP (adresse et port source/de destination, 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 (en anglais) |
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 de sortie pour le trafic qui est simultanément équilibré en charge sur les chemins BGP internes et externes. Cette fonctionnalité est disponible uniquement sur les routeurs M120, M320, MX Series et T Series.
Pour activer ces fonctionnalités sur une instance de routage VPN de couche 3, incluez l’instruction au niveau hiérarchique et l’instruction vpn-unequal-cost equal-external-internal vrf-table-label au niveau hiérarchique[edit routing-instances routing-instance-name].[edit routing-instances routing-instance-name routing-options multipath]
Si vous exécutez la show route detail commande, vous pouvez découvrir si oui ou non une route est équilibrée en 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 de l’interface centrale vers une destination IBGP.
Vous pouvez inclure l’instruction et l’instruction vpn-unequal-cost equal-external-internal l3vpn au niveau de la [edit routing-options forwarding-options chained-composite-next-hop ingress] hiérarchie simultanément. Cependant, si vous faites cela, EBGP ne fonctionne pas. Cela signifie que lorsqu’il existe à la fois des chemins avec des tronçons suivants chaînés et des chemins avec des tronçons suivants non chaînés comme candidats pour le routage multichemin à coût égal EBGP (ECMP), les chemins utilisant des tronçons suivants chaînés sont exclus. Dans un cas typique, les chemins exclus sont les chemins internes.
Présentation de l’équilibrage de charge 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 l’encombrement du réseau. L’équilibrage de charge améliore l’utilisation des différents chemins réseau et offre une bande passante réseau plus efficace.
Lorsque plusieurs protocoles sont utilisés, l’appareil utilise la valeur de préférence d’itinéraire (également appelée valeur de distance administrative ) pour sélectionner un itinéraire. Lorsqu’il utilise un protocole de routage unique, le routeur choisit le chemin avec le coût (ou métrique) le plus bas jusqu’à la destination. Si l’équipement reçoit et installe plusieurs chemins avec la même préférence de route et le même coût vers une destination, l’équilibrage de charge doit être configuré.
Dans un réseau dont des chemins BGP internes et externes sont installés entre des périphériques de différents systèmes autonomes, BGP ne sélectionne qu’un seul meilleur chemin par défaut et n’effectue pas d’équilibrage de charge. Un VPN de couche 3 avec des chemins BGP internes et externes utilise l’instruction pour l’équilibrage multipath de charge indépendant du protocole. Lorsque vous incluez l’instruction multipath dans une instance de routage, un équilibrage de charge indépendant du protocole est appliqué à la table de routage par défaut de cette instance de routage. L’instruction permet d’appliquer vpn-unequal-cost aux routes VPN un équilibrage de charge indépendant du protocole. L’instruction permet d’appliquer equal-external-internal l’équilibrage de charge indépendant du protocole 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 tout en utilisant simultanément le filtrage d’en-tête IP
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 simultanément 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 les 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 montre comment l’équilibrage de charge et le filtrage des en-têtes IP fonctionnent ensemble. Le test du filtrage des en-têtes IP n’entre pas dans le cadre de cet exemple.
Le BGP de Junos OS offre une fonctionnalité de chemins multiples qui permet d’équilibrage de charge entre pairs dans le même système autonome (AS) ou dans des systèmes autonomes différents. 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 des en-têtes IP.
[edit]
routing-instances {
instance-name {
vrf-table-label;
routing-options {
multipath {
vpn-unequal-cost {
equal-external-internal;
}
}
}
}
}
Ces instructions ne sont disponibles que dans le contexte d’une instance de routage.
Dans cet exemple, l’équipement CE1 se trouve dans AS1 et est connecté à l’équipement PE1. Les appareils PE1, PE2, PE3 et P sont en AS2. L’appareil CE2 est connecté aux appareils PE2 et PE3 et se trouve dans AS3. L’appareil CE3 est connecté à l’appareil PE3 et se trouve 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 périphériques PE1, PE2 et PE3 inclut l’instruction equal-external-internal au niveau hiérarchique [edit routing-instances instance-name routing-options multipath vpn-unequal-cost] pour activer l’équilibrage de charge dans le réseau. Le filtrage des en-têtes 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 appareils PE.
La figure 1 illustre la topologie utilisée dans cet exemple.
Topologie
en-têtes IP
Le tableau 3 présente la liste des adresses IP utilisées dans cet exemple à titre de référence rapide.
| Appareil |
COMME |
ID de l’appareil |
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 se fait sur des interfaces logiques distinctes. Dans un réseau non testeur, vous utiliserez des routeurs physiques et des interfaces physiques distincts pour les connexions à d’autres équipements.
Configuration
Procédure
Configuration rapide de la CLI
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 à votre configuration 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 que vous naviguiez à 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 de configuration dans le Guide de l’utilisateur de l’interface de ligne de commande.
Pour configurer l’équilibrage de charge à coût inégal dans la configuration VPN :
-
Configurez l’ID de routeur sur l’appareil CE1 et attribuez l’appareil à son système autonome.
[edit routing-options] user@CE1# set router-id 192.0.2.1 user@CE1# set autonomous-system 65001De même, configurez tous les autres périphériques.
-
Configurez les groupes BGP pour le trafic sur l’ensemble du réseau.
-
Configurez le groupe BGP pour le trafic à destination et en provenance 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 similaires (
to AS 65000ettoPE3) sur les périphériques CE2 et CE3 en modifiant lespeer-asinstructions etneighboren 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 périphériques PE2 et PE3 en modifiant leslocal-addressinstructions andneighboren conséquence.
-
-
Configurez une stratégie de routage pour l’exportation d’itinéraires vers et depuis le réseau MPLS (
send-directstratégie) et une stratégie d’équilibrage de charge du trafic sur le réseau MPLS (lbstratégie).-
Configurez une stratégie (
send-direct) pour l’exportation de 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-directDe même, configurez la stratégie sur les
send-directappareils CE2 et CE3. -
Configurez une stratégie (
lb) pour l’exportation de routes de la table de routage vers la table de transfert sur l’équipement PE1.La
lbstratégie configure l’équilibrage de charge par paquet, ce qui garantit que toutes les adresses de saut suivant d’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 lbDe même, configurez la stratégie sur les
lbappareils PE2 et PE3.
-
-
Configurez les éléments suivants :
-
Configurez l’instance de routage sur les appareils PE pour exporter les routes via les systèmes autonomes.
-
Incluez l’instruction
equal-external-internalau niveau de la[edit routing-instances instance-name routing-options multipath vpn-unequal-cost]hiérarchie pour activer l’équilibrage de charge dans le réseau. -
Incluez l’instruction
vrf-table-labelau niveau de la[edit routing-instances instance-name]hiérarchie pour filtrer le 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-internalDevice 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-internalDevice 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
À partir du 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. Ce qui suit est un extrait de la show configuration sortie pour 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é de configurer l’appareil, passez commit en mode de configuration.
Vérification
Vérifiez que la configuration fonctionne correctement.
Vérification de 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 qui montrent les routes BGP vers le périphérique CE1, qui se trouve 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 qui montrent les routes BGP vers le périphérique CE2, qui se trouve dans l’AS 65002. La ligne de sortie qui commence par 192.0.2.7/32 indique le routage BGP vers le périphérique CE3, qui se trouve dans l’AS 65003.
Signification
BGP est fonctionnel dans le réseau.
Vérification de l’équilibrage de charge
But
Vérifiez que le transfert s’effectue dans les deux sens en vérifiant :
-
Si les deux sauts suivants sont installés dans la table de transfert d’un itinéraire.
-
Si des routes BGP externes sont installées dans la table de transfert d’un routage.
Action
À partir du mode opérationnel, exécutez les show route forwarding-table commandes and 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 qui commence par 10.1.2.4/30 montre que pour une route vers le périphérique 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 qui commence par 192.0.2.6/32 montre que pour un itinéraire vers le périphérique CE2 dans AS 65002, un saut suivant interne de 10.1.5.17 et un saut suivant externe de 10.1.7.26 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 de l’appareil PE3 vers l’appareil PE2 dans le même AS, deux sauts suivants sont installés dans la table : 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 .
Signification
Plusieurs sauts suivants d’une route, y compris des 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 le transfert des sauts suivants de la route active et des 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 séparateur de route affecté. Lorsque l’équilibrage de charge indépendant du protocole est activé, les routes vers d’autres routeurs PE et les routes vers des routeurs CE directement connectés sont équilibrées en charge.
Lorsque des informations d’équilibrage de charge sont créées pour un itinéraire donné, 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 et de routage de charge
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 légèrement différente selon qu’il s’agit d’IPv4 ou d’IPv6 :
IPv4 : il vous suffit de configurer l’instruction
multipathau niveau hiérarchique[edit routing-instances routing-instance-name routing-options]ou[edit routing-instances routing-instance-name routing-options rib routing-table-name]hiérarchique.IPv6 : vous devez configurer l’instruction à la
multipathfois au niveau hiérarchique[edit routing-instances routing-instance-name routing-options]et au niveau hiérarchique[edit routing-instances routing-instance-name routing-options rib routing-table-name].
Vous ne pouvez pas configurer l’instruction et les multipath 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 suivante :
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 pour 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, un é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’à 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’à 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 configurer cela en conjonction avec le filtrage d’en-tête de l’adresse IP de sortie (activé avec l’instruction vrf-table-label ). Pour plus d’informations, consultez Équilibrage de charge et filtrage des en-têtes IP pour les VPN de couche 3.
Vous pouvez inclure l’instruction et l’instruction vpn-unequal-cost equal-external-internal l3vpn au niveau de la [edit routing-options forwarding-options chained-composite-next-hop ingress] hiérarchie simultanément. Cependant, si vous faites cela, EBGP ne fonctionne pas. Cela signifie que lorsqu’il existe à la fois des chemins avec des sauts suivants chaînés et des chemins avec des sauts suivants non chaînés en tant que candidats pour le multichemin à coût égal EBGP (ECMP), les chemins utilisant des sauts suivants chaînés sont exclus. Dans un cas typique, les chemins exclus sont les chemins internes.
Configuration des stratégies d’équilibrage et de routage de charge
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 l’incluez load-balance per-packet également 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 suivante est configurée pour un routeur PE :
[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 en tant que chemins à chemins multiples. Les paquets provenant du routeur PE ne sont pas équilibrés en charge.
Pour vous assurer que l’équilibrage de charge VPN fonctionne comme prévu, n’incluez pas l’instruction from protocol dans la configuration de l’instruction de stratégie. L’énoncé de stratégie doit être configuré 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, reportez-vous au 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 l’équilibrage de charge de jointure PIM sur un VPN multicast de nouvelle génération
Cet exemple montre comment configurer le routage multichemin pour les routes de réseau privé virtuel (VPN) externes et internes avec des mesures IGP inégales et l’équilibrage de charge de joint PIM (Protocol Independent Multicast) sur les routeurs PE (Provider Edge) exécutant le VPN multicast nouvelle génération (MVPN). Cette fonctionnalité permet d’équilibrer la charge des messages de jointure PIM 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 EBGP en amont disponibles lorsque des chemins BGP externes et internes (EIBGP) 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 une combinaison de routeurs M Series, MX Series ou T Series.
Junos OS version 12.1 s’exécute sur tous les équipements.
Avant de commencer :
Configurez les interfaces des appareils.
Configurez les protocoles de routage suivants sur tous les routeurs PE :
OSPF
MPLS (en anglais)
LDP
PIM
BGP
Configurez un VPN multicast.
Vue d’ensemble et topologie
Junos OS version 12.1 et ultérieure prend en charge la configuration multichemin ainsi que l’équilibrage de charge de jointure PIM. Cela permet d’équilibrer la charge des messages de jointure C-PIM sur tous les chemins IBGP disponibles lorsque seuls les chemins IBGP sont présents, et sur tous les chemins EBGP en amont disponibles lorsque des chemins EIBGP sont présents vers la source (ou RP). Contrairement au MVPN Draft-Rosen, le MVPN de nouvelle génération n’utilise pas de chemins EIBGP inégaux pour envoyer des messages de jointure C-PIM. Cette fonctionnalité s’applique aux messages de jointure C-PIM IPv4.
Par défaut, un seul chemin IBGP actif est utilisé pour envoyer les messages de jointure C-PIM pour un routeur PE n’ayant que des chemins IBGP vers la source (ou RP). Lorsque des chemins EIBGP en amont sont présents, 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 codés en tant que) routes MVPN multicast client BGP (C-multicast) et annoncés avec la famille d’adresses BGP MCAST-VPN vers les routeurs PE émetteurs. Un routeur PE émet une route MVPN de multidiffusion C en réponse à la réception d’un message de jonction C-PIM via l’interface de son routeur PE vers le routeur CE (Customer Edge). Les deux types de routes MVPN C-multicast sont les suivants :
Route de jointure d’arbre partagée (C-*, C-G)
Provient des routeurs PE récepteurs.
Origine lorsqu’un routeur PE reçoit un message de jointure C-PIM d’arborescence partagée via son interface de routeur PE-CE.
Route de jointure de l’arborescence source (C-S, C-G)
Provient des routeurs PE récepteurs.
Provient lorsqu’un routeur PE reçoit un message de jointure C-PIM (C-S, C-G) de l’arborescence source, ou provient du routeur PE qui dispose déjà d’une route de jointure d’arborescence partagée et reçoit une route de découverte automatique active source.
Le chemin amont dans un MVPN de nouvelle génération est sélectionné à l’aide de l’algorithme de hachage Bytewise-XOR, comme spécifié dans Internet draft draft-ietf-l3vpn-2547bis-mcast, Multicast in MPLS/BGP IP VPNs. L’algorithme de hachage est effectué comme suit :
Les routeurs PE de l’ensemble candidat sont numérotés de l’adresse IP la plus basse à l’adresse IP supérieure, à partir de 0.
Une exclusivité octet-ou de tous les octets est effectuée sur la racine C (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 candidat. Le résultat est N.
N représente l’adresse IP du routeur PE en amont, telle qu’elle a été numérotée à l’étape 1.
Au cours 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 précédemment existants sont redistribués en raison de la modification de l’ensemble de routeurs PE candidats.
Dans cet exemple, PE1, PE2 et PE3 sont les routeurs PE sur lesquels la fonctionnalité d’équilibrage de charge de jointure PIM multi-chemin est configurée. Le routeur PE1 possède deux chemins EBGP et un chemin IBGP en amont, PE2 a un chemin EBGP et un chemin IBGP en amont, et PE3 a deux chemins IBGP en amont vers la source. Le routeur CE4 est le routeur de périphérie client (CE) connecté à PE3. Source et Receiver sont les hôtes BSD libres.
Sur les routeurs PE qui ont des chemins EIBGP vers la source (ou RP), tels que PE1 et PE2, l’équilibrage de charge de jointure PIM est effectué comme suit :
Les messages de jointure C-PIM sont envoyés à l’aide de chemins EBGP uniquement. 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 jonction 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 sur 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 équilibrés en charge 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 jonction à PE1 à l’aide du chemin IBGP. Lorsque le chemin EBGP vers CE1 est restauré, seuls les nouveaux messages de jointure qui arrivent 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 de jointure PIM est effectué comme suit :
Les messages de jointure C-PIM des routeurs CE sont équilibrés en charge uniquement sous forme de messages de données multicast BGP C entre les chemins IBGP.
Sur la Figure 2, en supposant que l’hôte CE4 est intéressé à recevoir du trafic de la source et que CE4 initie des messages de jonction de source pour différents groupes (groupe 1 [C-S,C-G1] et groupe 2 [C-S,C-G2]), les messages de jonction 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 enverra les données C-multicast pour chaque groupe. L’algorithme numérote d’abord les routeurs PE en amont de l’adresse IP inférieure à l’adresse IP supérieure en commençant par 0.
En supposant que le routeur PE1 est numéroté 0 et que le routeur PE2 vaut 1, et que le résultat de hachage pour les messages de jointure des groupes 1 et 2 est respectivement 0 et 1, le routeur PE3 sélectionne PE1 comme routeur PE en amont pour envoyer les messages de jonction avec le 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.
de nouvelle génération
Configuration
Configuration rapide de la CLI
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.
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 à la section Utilisation de l’éditeur CLI en mode Configuration. 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, les adresses et tous les autres paramètres appropriés pour chaque routeur.
Configurez une instance de routage VRF (VPN routing forwarding).
[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-labelActivez 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-internalConfigurez les groupes BGP et leurs voisins 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 3Configurez PIM pour activer le routage multicast PE vers CE.
[edit routing-instances vpn1 protocols] user@PE1# set pim rp static address 10.255.10.119Activez le PIM sur toutes les interfaces réseau.
[edit routing-instances vpn1 protocols] user@PE1# set pim interface allActivez l’équilibrage de charge de jointure PIM pour l’instance VRF.
[edit routing-instances vpn1 protocols] user@PE1# set pim join-load-balanceConfigurez le mode pour que les messages de jointure C-PIM utilisent des arborescences de points de rendez-vous et passez à l’arborescence du chemin le plus court une fois la source connue.
[edit routing-instances vpn1 protocols] user@PE1# set mvpn mvpn-mode rpt-sptConfigurez 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
À partir du 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é de configurer l’appareil, entrez commit à partir du mode de configuration.
Vérification
Vérifiez que la configuration fonctionne correctement.
Vérification des informations de route MVPN C-Multicast 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
En mode opérationnel, exécutez la commande show mvpn c-multicast .
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
Signification
La sortie montre comment le routeur PE3 a équilibré la charge des données C-multicast 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 (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 (10.255.10.14 est l’adresse de bouclage du routeur PE2).
Pour les messages d’adhésion 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 (10.255.10.14 est l’adresse de bouclage du routeur PE2).