Résumé
- La RFC 6996 exige que les ASN à usage privé soient retirés des attributs AS_PATH et, le cas échéant, AS4_PATH avant l’annonce mondiale des préfixes qu’ils ont fait naître. Elle fixe un résultat de frontière, pas un algorithme universel.
- Une suppression limitée au début du chemin, une suppression de toutes les occurrences, un remplacement et une exception pour l’ASN du pair produisent des chemins publics différents. La suppression raccourcit parfois le chemin ; le remplacement conserve éventuellement le compte tout en fusionnant plusieurs identités.
- L’exploitation sûre relie le chemin brut reçu, AS4_PATH, le chemin reconstruit, la règle versionnée par voisin et AFI/SAFI, Adj-RIB-Out, la réception et la décision aval, la FIB et les paquets. Un collecteur sans ASN privé ne montre que la projection finale.
Une opération d’hygiène qui change la concurrence entre routes
Prenons un opérateur de laboratoire synthétique utilisant l’ASN 64497, réservé à la documentation, comme identité de bordure d’exemple. 64497 n’est pas une identité publique de production attribuée mondialement.
Il reçoit d’un client un préfixe dont le parcours interne contient 65020, 65030 et 4200000041. Une autre annonce de laboratoire mêle à ces valeurs privées un ASN non privé de documentation. Sur une première sortie, le routeur enlève seulement la série privée située à gauche du chemin. Sur une deuxième, il élimine toutes les occurrences privées. Sur une troisième, il remplace chaque occurrence par l’ASN documentaire 64497 de l’opérateur de laboratoire.
Après le prepend eBGP normal, le premier voisin peut encore recevoir une valeur privée placée derrière l’AS public. Le deuxième voit un chemin raccourci de plusieurs positions. Le troisième reçoit plusieurs occurrences de 64497, comme si l’opérateur avait pratiqué un prepend répété. Une plate-forme ancienne qui ne reconnaît que la plage privée sur 16 bits peut laisser 4200000041 dans la représentation à quatre octets.
Les trois configurations sont décrites, dans le langage quotidien, comme « remove private AS ». Elles ne conservent ni les mêmes propriétés de sélection, ni les mêmes indices de boucle, ni la même attribution. L’invariant public reste indispensable : une identité non unique ne doit pas circuler comme un saut mondialement interprétable. Mais la conformité à cet invariant ne rend pas les transformations interchangeables.
Privé désigne une portée, non un secret
L’IANA réserve 64512–65534 à l’usage privé dans l’espace historique et 4200000000–4294967294 dans l’espace à quatre octets. La plage 64496–64511 est destinée à la documentation et aux exemples ; 65535 et 4294967295 font l’objet de la réservation distincte de la RFC 7300.
Une automatisation fondée sur l’apparence numérique peut donc supprimer des valeurs de documentation ou des sentinelles réservées, tout en oubliant la véritable plage privée à quatre octets. La table de classification doit être un intrant versionné. Le succès syntaxique d’une commande sur un logiciel ancien ne prouve pas que le moteur connaît la classification actuelle.
À l’intérieur d’un domaine autorisé, un ASN privé n’est pas une valeur vide. Dans les architectures Clos décrites par la RFC 7938, il peut identifier une feuille, un cluster ou une session et contribuer à la détection de boucle. Des plages peuvent être réutilisées dans des clusters séparés. L’ambiguïté apparaît lorsque la valeur quitte le périmètre où l’inventaire local lui donne un sens.
La frontière publique doit donc retirer l’identité ambiguë, tandis que le fournisseur conserve la correspondance locale. Sans cette correspondance, l’effacement ne protège pas un secret : il détruit la capacité d’expliquer quel client, quelle session et quel chemin brut se trouvent derrière le voisin public responsable.
Le minimum commun de la RFC 6996
La RFC 6996 impose le retrait des ASN privés avant l’annonce sur l’Internet mondial et mentionne expressément AS4_PATH dans les déploiements à quatre octets. Le filtrage du préfixe peut aussi empêcher sa fuite. C’est une spécification initiale minimale utile : elle définit l’état qui doit être vrai à la frontière commune.
Elle n’ajoute toutefois aucun marqueur indiquant les nœuds supprimés. Elle ne négocie pas le mode de suppression avec le pair. Elle ne normalise pas les mots all, limited, replace, nearest ou les exceptions de pair. Elle avertit même que certaines implémentations, connues lors de sa publication, ne retiraient rien lorsque le chemin mélangeait ASN publics et privés.
Le standard laisse donc une latitude locale réelle. Cette latitude n’abolit pas l’obligation de nommer le choix. Une organisation ne peut pas traiter comme identiques deux sorties dont l’une s’arrête au premier AS public et l’autre efface une valeur privée située plus loin. Le texte de configuration exprime une intention ; le chemin produit par le code en cours d’exécution constitue la preuve.
AS_PATH n’est pas un simple journal décoratif
La RFC 4271 définit AS_PATH comme un attribut obligatoire, composé d’AS_SEQUENCE ordonnés et d’AS_SET. Un locuteur eBGP ajoute normalement son ASN lors de l’annonce. Un récepteur recherche son propre ASN pour refuser une boucle. Les implémentations comparent couramment la longueur et les politiques reconnaissent des séquences précises.
Effacer trois occurrences modifie donc un intrant de contrôle. Une route peut devenir plus attractive sans que sa topologie physique ou commerciale n’ait changé. Ce déplacement de préférence peut reporter du trafic, modifier la capacité requise et altérer le comportement de secours.
Le remplacement conserve parfois le nombre d’occurrences, mais pas leur signification. Trois ASN internes remplacés par 64497 deviennent trois répétitions du fournisseur. Un filtre aval limitant le prepend d’un AS réagit différemment. L’opérateur paraît en outre porter seul une histoire interne qu’il ne rend plus visible.
Le cas de l’ASN du pair révèle un autre compromis. Laisser une valeur privée égale à l’ASN du voisin permet à ce dernier de détecter son propre numéro et de rejeter une boucle. Junos expose no-peer-loop-check, Nokia skip-peer-as. Lever cette retenue ne constitue pas seulement un nettoyage plus complet : c’est supprimer un signal de boucle particulier. Le contrat doit préciser quels signaux demeurent après l’effacement.
Un même verbe, plusieurs codes exécutables
La documentation Cisco distingue des comportements historiques qui refusaient d’agir sur un chemin mixte et des modes plus récents capables de supprimer des occurrences privées au milieu d’ASN publics. all replace-as remplace les valeurs visées par l’AS local. La portée peut être propre à une famille d’adresses : le même voisin peut ainsi recevoir des histoires IPv4 et IPv6 différentes.
Junos commence normalement à l’extrémité gauche, récemment ajoutée, et s’arrête au premier ASN public ou à une valeur privée égale à celle du pair. all étend la recherche ; replace et nearest changent la substitution selon les règles documentées. Les segments de confédération ont déjà été traités auparavant.
Nokia SR OS sépare limited, skip-peer-as et replace, avec un choix de valeur déterminé par le local-as, l’AS du routeur ou la confédération. Sa documentation souligne que la suppression raccourcit AS_PATH et peut accroître la préférence. En combinaison avec as-override, la suppression intervient d’abord.
Arista décrit également conservation, suppression et remplacement, avec une limite propre au comportement documenté sur les chemins mixtes. Il ne s’agit pas d’élire un fournisseur. Il s’agit de maintenir, par plate-forme et version, une matrice sémantique : plages reconnues, portée initiale ou totale, chemin mixte, exception du pair, valeur de remplacement, ordre avec confédération et as-override, reconstruction AS4, AFI/SAFI et observabilité.
Le piège d’un nettoyage partiel dans AS4_PATH
La coexistence de locuteurs anciens et nouveaux peut répartir l’information entre AS_PATH et AS4_PATH. La RFC 6793 définit la reconstruction opérée par un locuteur à quatre octets et les cas où celle-ci ne peut être parfaite. L’exigence de la RFC 6996 portant sur les deux attributs est donc opérationnelle.
Une implémentation incomplète peut retirer 65020 de l’AS_PATH visible et laisser 4200000041 dans AS4_PATH. Une commande d’affichage peut présenter seulement le chemin reconstruit ; une autre, seulement un attribut brut. L’absence d’une valeur dans une vue ne prouve pas son absence dans l’attribut transitif que recevra un autre logiciel.
Le test doit capturer trois représentations : AS_PATH brut, AS4_PATH brut et chemin effectif reconstruit. Elles sont comparées à l’entrée, après politique de sortie et chez un récepteur capable de traiter les quatre octets. AS_TRANS doit rester distinct : c’est une valeur réservée au mécanisme de transition, pas un ASN privé à effacer par un filtre trop large.
Les confédérations exercent une autre autorité d’effacement
Une confédération utilise AS_CONFED_SEQUENCE et AS_CONFED_SET pour exprimer sa structure de Member-AS en interne, puis présente son identifiant vers l’extérieur, selon la RFC 5065. Beaucoup d’opérateurs choisissent des numéros privés pour leurs membres, sans que les deux catégories soient synonymes.
Si les segments de confédération disparaissent avant remove-private, l’algorithme ne reçoit plus le chemin vu par le diagnostic initial. Une autre séquence d’opérations peut produire un autre résultat. Le registre de preuve distingue donc trois causes : segment retiré par la frontière de confédération, numéro retiré parce que classé Private Use, occurrence remplacée par la politique d’export. Le terme global « assaini » ne suffit pas à reconstruire la causalité.
La réutilisation déplace le risque de boucle
La réutilisation est précisément ce qui rend les ASN privés abondants. Deux centres de données isolés peuvent attribuer les mêmes numéros à leurs feuilles. Lors d’une fusion, d’un scénario de reprise ou d’une interconnexion temporaire, les deux portées se rencontrent. Un routeur peut alors voir son propre numéro émis par un autre acteur physique et rejeter un chemin légitime.
Des conceptions utilisent allowas-in ou une exception équivalente. La RFC 7938 examine cette technique et note son absence de normalisation. Elle peut être défendable si la topologie apporte d’autres barrières de boucle ; elle signifie néanmoins que l’invariant ordinaire « mon ASN dans le chemin implique une boucle » ne suffit plus.
Le nettoyage au bord public ne corrige pas cette collision interne. Il peut seulement cacher la valeur à l’extérieur. Remplacer toutes les collisions par l’AS public fabrique une autre répétition. Avant de joindre deux domaines qui réutilisent les mêmes nombres, l’organisation doit inventorier et traiter les collisions au lieu de compter sur l’effaceur de sortie.
Ce que prouve — et ne prouve pas — un collecteur
Dans ce laboratoire synthétique fondé sur la plage de documentation, un collecteur affichant 64497 64498 sans ASN privé prouve seulement qu’une projection propre est arrivée sur ce chemin d’observation. Il ne transforme pas ces ASN documentaires en identités publiques attribuées, et ne révèle ni les ASN initiaux, ni le choix entre suppression et remplacement, ni l’équivalence d’un autre voisin ou d’une autre famille d’adresses, ni l’autorisation de l’origine interne.
La RFC 6996 indique que l’identification peut exiger une remontée vers l’AS voisin mondialement unique ou l’examen d’autres attributs. Le fournisseur devient donc dépositaire de la preuve manquante. Il doit relier chaque annonce nettoyée à la relation client, la session entrante, les attributs bruts et l’époque de changement.
Le registre minimal contient préfixe, AFI/SAFI, pair source, classe de relation, AS_PATH et AS4_PATH bruts, chemin reconstruit, version de la classification IANA, version logicielle et politique, portée reconnue, exception de pair, valeur de substitution, chemin post-politique et prepend local. Il relie ensuite l’Adj-RIB-Out par voisin, l’Adj-RIB-In aval, la cause du best path, le next hop FIB et l’observation des paquets.
On peut alors répondre séparément : l’identité privée était-elle autorisée dans sa portée ? La route a-t-elle atteint la bonne frontière ? Quelle transformation a réellement agi ? Tous les exports publics respectent-ils l’invariant ? Le choix aval a-t-il changé ? Qui répond de l’origine cachée ? Les paquets ont-ils suivi le changement ?
Construire des canaris sur les divergences
Un chemin entièrement privé ne suffit pas. La matrice inclut une série privée suivie d’un AS public, une valeur privée après un AS public, des répétitions, l’ASN privé du voisin, un nombre de chaque plage privée, un ASN de documentation à ne pas altérer, AS_TRANS, des segments adjacents à une confédération et AS4_PATH traversant un locuteur ancien.
Pour chaque cas, l’équipe écrit la séquence exacte attendue en suppression limitée, suppression totale et remplacement. La non-reconnaissance de la plage à quatre octets doit arrêter le déploiement. L’exception de pair doit démontrer une route toujours refusée comme boucle et une exception explicitement approuvée.
Les candidats de sélection sont comparés avant et après. Si quatre sauts deviennent un, la préférence et le trafic aval font partie de l’approbation. Si le remplacement crée plusieurs 64497, les filtres de prepend et les expressions de politique sont testés.
Enfin, le rollback comprend la réannonce. Enlever la commande ne prouve pas que les Adj-RIB-In distantes ont abandonné l’ancienne projection. Une réévaluation bornée, un route refresh ou une action de session adaptée à la plate-forme doit restaurer le chemin exact, puis la sélection, la FIB et les paquets sont vérifiés.
Sources
- RFC 6996 — Autonomous System (AS) Reservation for Private Use
- RFC 4271 — A Border Gateway Protocol 4
- RFC 6793 — Four-Octet AS Number Space
- RFC 7938 — BGP Routing in Large-Scale Data Centers
- RFC 5065 — Autonomous System Confederations for BGP
- RFC 7300 — Reservation of Last AS Numbers
- IANA — Autonomous System Numbers
- Cisco IOS — neighbor remove-private-as
- Cisco — Removing Private Autonomous System Numbers in BGP
- Juniper — remove-private
- Nokia SR OS — BGP Remove-Private ASN
- Arista EOS — Border Gateway Protocol
Briefing des membres
Contexte approfondi du profil
Connectez-vous avec le bon niveau d'adhésion pour débloquer le briefing complet et les notes de source.
Réservé à Strategic Circle
Strategic Circle
Ouvert à tous les lecteurs. Débloquez les briefings de profil après adhésion et connexion.
Rejoindre Strategic CircleRéservé aux membres de Leadership Alliance
Leadership Alliance
Réservé aux propriétaires et dirigeants qualifiés d'actifs IP ; connectez-vous pour débloquer les briefings Alliance.
Rejoindre Leadership Alliance
