Résumé

  • Le champ Length d’un TLV, codé sur un octet, limite la valeur d’un TLV IS-IS à 255 octets.
  • Plusieurs occurrences de même type et, le cas échéant, de même clé forment un TLV multipartie dans un IIH ou dans l’ensemble des LSP d’un niveau donné.
  • Un récepteur compatible traite toutes les occurrences ; un récepteur non compatible en choisit une et ignore les autres. L’acceptation du protocole ne prouve donc pas la complétude de l’objet.

Le piège tient au fait que le paquet peut être valide. Une information volumineuse est répartie entre plusieurs occurrences, mais un récepteur dépourvu de la prise en charge MP-TLV ne reconstitue pas l’ensemble. Il sélectionne une occurrence et ignore les autres. L’objet obtenu peut être partiel alors même que le LSP a passé les contrôles de syntaxe et a été intégré à la base.

La RFC 9885 établit une règle de regroupement : les occurrences ayant le même type de TLV et, lorsque la spécification du TLV en prévoit une, la même clé, sont traitées comme un TLV multipartie. La règle concerne un IIH ou l’ensemble des LSP correspondant à un niveau. La RFC ne redéfinit pas la clé : celle-ci reste celle de la spécification du TLV concerné. La prise en charge MP-TLV ne modifie pas non plus l’encodage TLV. Il s’agit d’une procédure de regroupement et de traitement, pas d’un nouveau format sur le fil.

La distinction entre récepteurs est déterminante. Un récepteur compatible traite l’information de toutes les occurrences appartenant au même type et à la même clé. Un récepteur non compatible en traite une et ignore les autres. Les déclarations d’applicabilité et l’annonce de capacité prévues par la RFC rendent la prise en charge et son périmètre visibles. La RFC traite aussi les contrôles de déploiement, les alarmes et les restrictions de génération. Ces mécanismes sont importants, car l’émission d’informations multiparties vers des récepteurs incapables de les consommer correctement peut produire une incomplétude silencieuse.

Un banc d’essai précis doit utiliser un objet dont l’information encodée atteint au moins 256 octets, répartie entre deux occurrences du TLV concerné. Conserver exactement le même type et, lorsque c’est applicable, exactement la même clé. Placer les deux occurrences dans le même IIH ou dans le même ensemble de LSP d’un niveau. Tester séparément un récepteur compatible et un récepteur non compatible. Vérifier que le premier reconstitue l’information complète et que le second ne conserve qu’une occurrence. Modifier ensuite uniquement la clé et vérifier que les fragments ne sont pas fusionnés.

Ce test couvre la limite, le regroupement et le comportement non compatible sans supposer une implémentation particulière.

Analyse de Theo March — pas une exigence de la RFC : un déploiement partiel doit être traité comme un problème de complétude, et non comme une simple question de compatibilité. L’opérateur devrait rechercher la preuve que chaque occurrence attendue a été reçue, regroupée et intégrée, au lieu de déduire la complétude d’une adjacence ou de l’acceptation du LSP. Le nombre de parties par type et par clé, la longueur reconstituée, les rejets ou alarmes et la comparaison des objets avant et après peuvent fournir cette assurance. Il s’agit de pratiques opérationnelles, non d’un modèle de télémétrie imposé par la RFC 9885.

La source gelée établit les sémantiques du protocole et des considérations de déploiement. Elle ne permet pas d’établir la couverture actuelle des implémentations, la prévalence des déploiements, des taux d’incidents observés en production, ni un impact de performance ou de convergence dans un réseau nommé. Aucune de ces conclusions ne doit être ajoutée.

Parcours de décision opérateur : déterminer d’abord si l’objet peut dépasser 255 octets ; identifier ensuite le type de TLV et sa clé propre ; confirmer la capacité MP-TLV et l’applicabilité annoncées par le récepteur ; tester le regroupement même type/même clé ; exiger une preuve de complétude et des alarmes ; restreindre enfin la génération tant que la population réceptrice n’est pas confirmée, puis consigner le changement et sa condition de retour arrière. Si une étape reste inconnue, maintenir la génération désactivée ou limitée à un périmètre compatible.

Sources