Deux locataires numérotent leur agence avec le même 10.50.0.0/24, et après un changement la route de l’un disparaît du bord du fournisseur tandis que celle de l’autre continue de fonctionner. La simplification derrière ce ticket consiste généralement à supprimer le distinguateur de route (RD), au motif que « l’étiquette identifie déjà le client ». Elle ne le fait pas. Le RD et l’étiquette répondent à deux questions différentes, et l’écart ne devient visible que lorsque les adresses qui se chevauchent l’imposent.

Une route là où il devrait y en avoir deux

L’unicast IPv4 simple compare deux chemins vers le même préfixe et installe le meilleur. 10.50.0.0/24 du locataire A et 10.50.0.0/24 du locataire B forment une seule clé, donc l’un gagne et l’autre ne survit que comme chemin de secours. Le protocole a fait ce qu’on lui disait ; on a demandé au plan de contrôle de stocker deux routes différentes sous un seul identifiant.

Le résultat ressemble à une route manquante plutôt qu’à une erreur : le PE qui a perdu la compétition transmet toujours son propre locataire localement, si bien qu’un ping intra-site réussit et que le test inter-sites échoue. Comptez les entrées de ce préfixe dans la table VPNv4 avant de toucher à une politique.

Le RD transforme une clé en deux

Un distinguateur de route de huit octets est ajouté devant le préfixe IPv4, et l’objet que BGP transporte devient une adresse VPN-IPv4 au lieu d’un préfixe IPv4. Deux locataires peuvent conserver les mêmes 32 bits parce que les 64 bits placés devant diffèrent. Il existe des types de format pour un RD fondé sur un AS et pour un RD fondé sur une adresse, et le choix appartient au PE d’origine. Un RD fondé sur un AS est courant lorsque les PE partagent un AS, et un RD fondé sur une adresse lorsqu’ils n’en partagent pas.

Ne lisez pas le RD comme une étiquette d’appartenance. Les cibles de route régissent l’importation et l’exportation et décident quels VRF peuvent installer la route ; le RD garantit seulement que la route possède une identité propre. Donner à chaque VRF son propre RD est la pratique courante, car cela garde cette correspondance lisible dans un visualiseur de routes.

L’étiquette est une instruction de transmission locale

Chaque annonce porte aussi une étiquette MPLS, dont la signification est limitée au routeur qui l’a attribuée. Un autre PE peut délivrer le même numéro pour une destination sans rapport. C’est précisément pourquoi l’étiquette ne peut pas remplacer l’identité du client : le numéro n’est correct qu’à côté du saut suivant et de l’état de transmission qui l’a installé.

La granularité d’attribution varie selon l’implémentation et la conception : certaines plateformes attribuent une étiquette par VRF, d’autres par préfixe, et l’étiquette peut désigner une action de transmission plutôt qu’un client. Deux étiquettes différentes qui atteignent la même destination ne sont pas une contradiction, et le même numéro d’étiquette sur deux PE non plus.

FieldWhere it livesScopeIf you remove it
RDVPNv4 NLRIPer advertised routeOverlapping prefixes collide
Route targetExtended communityImport and export policyRoute lands in the wrong VRF
LabelLabeled NLRI and forwarding statePer allocating routerNo instruction for the data plane
Next hopPath attributePer pathThe label cannot be resolved

Pourquoi l’un ne peut pas remplacer l’autre

Lire une annonce, c’est regarder quatre choses ensemble : le préfixe qualifié par le RD, les cibles de route, le saut suivant et l’étiquette. Lire un paquet utilisateur, c’est regarder la pile installée à partir de ces informations. Une conception saine montre les deux côtés concordants, et une conception cassée a généralement un côté juste et l’autre périmé. Cette comparaison sépare un problème d’identité d’un problème de transmission.

Le contraste net entre plan de contrôle et plan de données est un outil pédagogique, non une description de l’encodage. RFC 8277 place l’étiquette à l’intérieur du NLRI étiqueté, si bien que l’annonce elle-même porte le lien ; l’utiliser pour transmettre est l’étape ultérieure et distincte.

Quand une route de locataire manque, vérifiez dans cet ordre : deux entrées VPNv4 pour le préfixe, la bonne cible de route sur chacune, un saut suivant résoluble et une étiquette pour laquelle le PE récepteur possède un état. Corriger l’identité avec une valeur de transmission, ou l’inverse, passera un contrôle et échouera au suivant.

Articles similaires