4. VPN Route Distribution (Distribution des routes VPN)
4. VPN Route Distribution (Distribution des routes VPN)
Dans cette section, nous décrivons les procédures utilisées pour distribuer les routes VPN aux routeurs PE, et par les routeurs PE.
4.1. The VPN-IPv4 Address Family (La famille d'adresses VPN-IPv4)
Nous avons souligné ci-dessus que même si deux VPN ont des espaces d'adressage qui se chevauchent, les routes provenant de ceux-ci sont distinctes. Lorsqu'elles sont distribuées via BGP, il doit être possible de les distinguer les unes des autres.
Ainsi, lorsque BGP est utilisé pour distribuer une route VPN particulière, BGP ne distribue pas une adresse IPv4. Au lieu de cela, il distribue une adresse d'un autre type, que nous appellerons une "adresse VPN-IPv4". Une adresse VPN-IPv4 a une longueur de 12 octets et commence par un champ de 8 octets, que nous appelons un Route Distinguisher (Distinguant de route, RD), suivi immédiatement d'une adresse IPv4 de 4 octets.
Si deux VPN utilisent les mêmes préfixes d'adresse IPv4, les routeurs PE traduisent ces préfixes d'adresse IPv4 en préfixes d'adresse VPN-IPv4. Cela se fait en poussant un RD de 8 octets devant le préfixe d'adresse IPv4. Si les RD sont différents, alors les adresses VPN-IPv4 traduites sont différentes. Des détails sur la fonction du RD sont donnés dans la section 4.2.
Les adresses VPN-IPv4 et les adresses IPv4 appartiennent à des familles d'adresses différentes. Les extensions multiprotocoles BGP (BGP Multiprotocol Extensions) [BGP-MP] permettent à BGP de transporter des routes appartenant à différentes "familles d'adresses". Les procédures utilisées pour distribuer les routes VPN-IPv4 sont spécifiées dans la section 4.3.
4.2. Route Distinguishers (Distinguants de route)
Le RD permet de transformer une adresse IPv4 autrement non unique en une adresse VPN-IPv4 unique.
Le RD qui traduit une adresse IPv4 en adresse VPN-IPv4 n'a pas besoin d'avoir (et en fait n'a pas) une correspondance univoque avec le VPN auquel cette adresse IPv4 appartient. Lorsqu'un RD est attaché à une route IPv4 pour créer une route VPN-IPv4, ce RD n'est utilisé que pour distinguer des routes IPv4 potentiellement non uniques.
Un fournisseur de services peut attribuer un seul RD à toutes les routes au sein d'un VPN particulier. Dans ce cas, le RD identifie effectivement de manière unique ce VPN.
Un fournisseur de services peut également attribuer différents RD aux routes provenant de différents sites au sein du même VPN. Il peut même attribuer différents RD aux différentes routes provenant du même site.
Dans le cas le plus général, une route particulière peut être distribuée par plusieurs routeurs PE, et chacun peut utiliser un RD différent. BGP traitera ces routes comme des routes différentes, qu'elles aient ou non le même préfixe IPv4.
Le RD est structuré de la manière suivante :
- Champ de type de 2 octets
- Champ de valeur de 6 octets
Le champ de type détermine l'interprétation du champ de valeur. Ce document définit les trois types suivants :
- Type 0 : Le champ de valeur contient un Autonomous System Number (Numéro de système autonome, ASN) de 2 octets suivi d'un numéro arbitraire de 4 octets.
- Type 1 : Le champ de valeur contient une adresse IP de 4 octets suivie d'un numéro arbitraire de 2 octets.
- Type 2 : Le champ de valeur contient un ASN de 4 octets suivi d'un numéro arbitraire de 2 octets.
Le RD de type 1 permet de générer un RD unique pour chaque VRF sur chaque routeur PE sans avoir besoin d'une autorité d'allocation centrale. Il suffit d'utiliser l'adresse IP du routeur PE comme partie adresse IP du RD, et d'utiliser une partie numéro arbitraire différente sur chaque VRF.
Les RD de type 2 sont utilisés avec les numéros de système autonome de 4 octets [BGP-AS4].
Nous recommandons aux fournisseurs de services d'utiliser leur ASN attribué lors de l'utilisation de RD de type 0 ou de type 2 ; et d'utiliser une adresse IP de leur propre espace d'adressage lors de l'utilisation de RD de type 1. Cela garantit que les RD sont globalement uniques.
4.3. VPN-IPv4 Route Distribution (Distribution des routes VPN-IPv4)
Si un routeur PE sait qu'une route qu'il a apprise via une interface PE/CE particulière appartient à un VPN particulier, et s'il est configuré pour distribuer cette route à d'autres routeurs PE, il traduit la route IPv4 correspondante en une route VPN-IPv4. La procédure détaillée est la suivante :
- Choisir un RD.
- Préposer ce RD à la route IPv4.
- Si nécessaire, définir l'attribut Next Hop (Prochain saut) de la route à l'adresse du routeur PE lui-même (généralement son adresse de bouclage).
- Attacher tout autre attribut BGP qui pourrait être nécessaire.
- Distribuer la route VPN-IPv4 générée à ses voisins BGP.
Lorsque d'autres routeurs PE reçoivent ces routes, s'ils ont les politiques correspondantes configurées (en tant que Route Targets, Cibles de route, voir ci-dessous), ils peuvent importer ces routes dans des VRF spécifiques. Lors de l'importation, la route VPN-IPv4 est reconvertie en route IPv4 (le RD est supprimé).
4.3.1. The Route Target Attribute (L'attribut Cible de route)
Chaque route VPN est associée à un ou plusieurs attributs Route Target (Cible de route, RT). Les attributs RT sont un type d'attribut BGP Extended Community (Communauté étendue BGP) [BGP-EXTCOMM].
Lorsqu'un routeur PE exporte une route VPN dans BGP, il associe cette route à un ensemble de RT. L'attribution de ces RT est déterminée par la configuration. Généralement, chaque VRF a une ou plusieurs listes de "RT d'exportation". Lorsque des routes sont exportées à partir de cette VRF, ces RT sont attachés à la route.
De même, chaque VRF a une ou plusieurs listes de "RT d'importation". Lorsqu'un routeur PE reçoit une route VPN-IPv4, il examine l'ensemble de RT transporté par la route. Si l'un des RT transportés par la route correspond à l'un des RT dans la liste des RT d'importation d'une VRF particulière, alors la route sera importée dans cette VRF.
L'attribut RT définit efficacement "l'appartenance" de cette route. En contrôlant quelles VRF importent quels RT spécifiques, le SP peut construire des topologies VPN arbitrairement complexes (maillage complet, étoile, etc.).
4.3.2. Route Distribution via BGP (Distribution des routes via BGP)
Les routeurs PE échangent des routes VPN-IPv4 via IBGP (Internal BGP) ou EBGP (External BGP).
Si deux PE sont dans le même système autonome, ils échangent des routes via une session IBGP. Généralement, pour éviter une connexion IBGP entièrement maillée, des BGP Route Reflectors (Réflecteurs de route BGP) [BGP-RR] sont utilisés. Les routeurs P ne font généralement pas tourner BGP et ne maintiennent pas de routes VPN.
4.3.3. Route Distribution via Route Reflectors (Distribution des routes via des réflecteurs de route)
Les réflecteurs de route peuvent être utilisés pour refléter non seulement des routes IPv4, mais aussi des routes VPN-IPv4. Le réflecteur de route lui-même n'a pas besoin de connaître la topologie d'un VPN. Il reçoit simplement des messages de mise à jour BGP et les transmet à d'autres routeurs BGP.
4.3.4. How Common is the RD? (Quelle est la fréquence du RD ?)
Le RD peut être attribué à plusieurs niveaux. La pratique la plus courante consiste à attribuer un RD unique à chaque VRF. Cependant, il est également possible d'attribuer un RD à chaque VPN (toutes les VRF appartenant à ce VPN utilisent le même RD), ou d'attribuer un RD différent à chaque VRF de chaque site. L'essentiel est que le RD doit être suffisant pour distinguer les espaces d'adressage IPv4 potentiellement chevauchants.
4.3.5. Building VPNs using Route Targets (Construction de VPN utilisant des Cibles de route)
En utilisant intelligemment les RT d'importation et d'exportation, des topologies VPN complexes peuvent être construites. Par exemple, pour créer un VPN entièrement maillé, tous les sites sont configurés avec les mêmes RT d'importation et d'exportation. pour créer un VPN en étoile (Hub and Spoke), les sites satellites exportent RT1 et importent RT2, tandis que le site central exporte RT2 et importe RT1.
4.3.6. Route Selection (Sélection de route)
Lorsqu'un routeur PE reçoit plusieurs routes vers le même préfixe VPN-IPv4, il utilise les règles de sélection de chemin standard de BGP pour choisir le meilleur chemin. Notez que même si le préfixe IPv4 sous-jacent est le même, si le RD est différent, BGP les considérera comme des routes complètement différentes et ne choisira donc pas entre elles. La sélection de route ne se produit que lorsque le RD est le même et que le préfixe IPv4 est également le même.