Résumé

  • RFC 9790 déprécie l’identification d’une charge utile MPLS à partir des seuls quatre premiers bits après la pile. 0x4 ou 0x6 peut être une version IP, mais aussi le début d’une trame non-IP ou d’un Post-Stack Header.
  • Le sens vient du contexte associé aux étiquettes précédentes. Pour répartir la charge, une Entropy Label ou une FAT Pseudowire Label explicite fournit une base plus solide que des champs lus dans un format supposé.
  • Un registre, un mot de contrôle ou une étiquette d’entropie réduit une ambiguïté. Aucun ne prouve à lui seul l’implémentation, le chemin, l’équilibre, l’ordre des paquets ou le résultat client.

Le routeur trouve le bit Bottom-of-Stack, regarde les quatre bits suivants et lit 0100. Son ancien microcode conclut « IPv4 », récupère aux offsets attendus ce qu’il croit être des adresses et des ports, puis calcule une branche ECMP.

Le paquet est pourtant une trame Ethernet dans une pseudowire. Les quatre bits appartiennent à l’adresse MAC de destination. Le routeur n’a pas découvert un protocole : il a transformé une coïncidence graphique en politique de transmission.

RFC 9790 encadre un espace minuscule de seize valeurs. Il corrige surtout une confusion de couches : voir, interpréter et obtenir un résultat sont trois actes différents.

Le nibble n’est qu’un constat

Une trame MPLS contient un en-tête de couche 2, une suite de Label Stack Entries, éventuellement un Post-Stack Header, puis éventuellement un paquet incorporé. Le bit de fond de pile localise la dernière étiquette ; il ne déclare pas ce qui la suit.

Le PFN est la moitié haute du premier octet après la pile. Avec un paquet IPv4 nu, il coïncide avec la version 4 ; avec IPv6, avec la version 6. Si un contrôle de pseudowire, un canal associé, une trame Ethernet ou un autre PSH commence là, ces bits lui appartiennent.

La pile MPLS ne contient pas d’identifiant universel de charge utile. Selon RFC 9790, seule l’association établie dans le plan de contrôle ou de gestion pour la LSE précédente — ou le groupe de LSE — permet une interprétation correcte. Une capture atteste 0x4. Elle n’atteste pas IPv4.

Dans les termes de Heng Lu, chaque couche doit garder sa propre autorité. Les bits sont une observation. La liaison de service fournit le contexte. Le parseur applique un format. La table de transfert produit un effet. Aucun raccourci verbal ne doit fusionner ces preuves.

Quand une commodité devient une règle de routage

L’heuristique historique répondait à un vrai besoin. Un cinq-uplet IP répartit les flux plus finement qu’une seule étiquette. Beaucoup d’équipements lisent donc 0x4 comme IPv4, 0x6 comme IPv6, puis hachent des champs présumés. Pour toute autre valeur, ils reviennent à la pile d’étiquettes.

Sur de l’IP nu, le procédé peut fonctionner. Sur une trame Ethernet, le premier nibble de l’adresse MAC peut lui aussi valoir 4 ou 6. RFC 8469 signale des préfixes attribués dans ces plages et l’effet de la randomisation des adresses MAC. Sans Control Word, une pseudowire Ethernet peut donc être disséquée comme un paquet IP.

Les octets extraits n’ont alors pas le sens que le hachage leur attribue. Un même flux ordonné peut changer de membre, subir du réordonnancement ou recevoir une classification différentielle injustifiée. Le risque n’est pas une simple erreur d’étiquette dans un journal : la conjecture choisit le chemin réel.

Le contexte précède le champ

RFC 9790 inverse la question. Il ne faut plus demander ce que les quatre bits évoquent, mais ce que le contexte des étiquettes autorise à suivre. Lorsque la charge utile n’est ni IPv4 ni IPv6, le texte impose un PSH dont le PFN n’est ni 0x4 ni 0x6.

Un PW Control Word fournit précisément ce séparateur. Il n’authentifie pas l’émetteur et ne certifie pas le contenu ; il empêche un ancien moteur d’emprunter par erreur la branche IP. La promesse est volontairement étroite.

Le registre IANA montre pourquoi le contexte reste indispensable. 0x0 sert à des formats DetNet, NSH et PW ; 0x1 à plusieurs canaux associés. Cette réutilisation est permise car l’étiquette de service précédente lève l’ambiguïté. Traiter le PFN comme un numéro de type mondialement unique contredirait l’architecture documentée.

Le socle commun reste minimal : valeurs, descriptions et références. Chaque nœud confronte ensuite le paquet à son état local. Le registre coordonne ; il n’observe ni ne gouverne le résultat.

Deux registres, deux questions

Le registre IP Version Numbers décrit une valeur située dans un en-tête IP. Le registre Post-Stack First Nibble décrit des types de PSH. RFC 9790 limite leur intersection aux valeurs 4 et 6 pour la compatibilité historique.

Les seize valeurs du PFN sont désormais visibles, et toute nouvelle attribution relève d’une Standards Action. Cela rend l’usage vérifiable au niveau documentaire. Une ligne IANA ne démontre cependant pas que le paquet présent respecte le format, que la carte l’a implémenté ou que l’opérateur l’a activé.

La publication établit l’état d’une spécification. Elle ne matérialise pas le code en production. Confondre ces plans reviendrait à demander au registre de témoigner d’un paquet qu’il n’a jamais vu.

Produire l’entropie là où l’information existe

Pour le partage MPLS, RFC 9790 préfère une étiquette dédiée : Entropy Label de RFC 6790 ou FAT Pseudowire Label de RFC 6391. À l’entrée, avant encapsulation, le routeur connaît le service et le format. Il choisit de vrais champs de flux, calcule une valeur et l’insère dans la pile.

RFC 6790 place une Entropy Label Indicator de valeur réservée 7 juste avant l’Entropy Label. Les routeurs de transit peuvent exploiter la pile sans inventer la sémantique du paquet incorporé. L’intelligence reste au bord informé ; le cœur consomme un signal explicite.

Explicite ne veut pas dire parfait. Il faut la signalisation de capacité, assez de profondeur de pile et un bon choix de hachage. Les gros flux peuvent rester concentrés. L’étiquette prouve une valeur transportée, pas une utilisation équilibrée, une latence conforme ou l’absence de réordonnancement.

Dans RFC 6391, le mode flow-aware est optionnel et le chemin unique reste le défaut. Les extrémités doivent signaler leurs capacités ou recevoir une configuration statique identique. Observer une Flow Label ne prouve donc ni l’accord des deux bouts ni son emploi par tous les transits.

Une dépréciation n’efface pas le parc

RFC 9790 met à jour RFC 4928 et exclut la déduction du type de charge utile des nouveaux produits et déploiements. Il laisse les routeurs existants continuer leur comportement et demande une enquête sur les implémentations commercialisées ou installées avant d’aller plus loin.

La norme fixe ainsi une direction, pas un état de migration. Une même route peut mélanger ASIC, cartes et versions logicielles aux comportements différents. « Déprécié » n’est pas une mesure de terrain, tout comme « ancien » n’est pas une autorisation permanente.

La preuve opérationnelle doit relier neuf éléments distincts : pile et position BoS, octet suivant, contexte des labels, format applicable, matériel et parseur, Entropy/FAT Label ou entrées de repli, membre choisi, ordre/perte/latence, puis effet sur le service. Une capture couvre les premiers éléments ; des sondes répétées et la télémétrie couvrent les derniers.

La force de RFC 9790 est de retirer aux quatre bits une autorité qu’ils n’avaient jamais possédée. Un système fiable ne demande pas à un symbole de devenir souverain. Il exige un reçu pour chaque inférence.

Sources

  1. RFC 9790 — IANA Registry and Processing Recommendations for the First Nibble Following a Label Stack
  2. RFC 4928 — Avoiding Equal Cost Multipath Treatment in MPLS Networks
  3. RFC 3032 — MPLS Label Stack Encoding
  4. RFC 4385 — Pseudowire Emulation Edge-to-Edge Control Word
  5. RFC 6790 — The Use of Entropy Labels in MPLS Forwarding
  6. RFC 6391 — Flow-Aware Transport of Pseudowires over an MPLS Packet Switched Network
  7. RFC 8469 — Recommendation to Use the Ethernet Control Word
  8. IANA — Post-Stack First Nibble
  9. Heng Lu — Running-Code Primacy
  10. Heng Lu — Minimum Initial Specification, Localized Future Decision, and Voluntary Adoption
  11. Heng Lu — On Reality Layers, Symbolic Power, and Why Clarity Feels So Hostile