Résumé

  • RFC 9899 permet de modifier un defined set sans redéfinir la règle ACL qui le référence ; l’absence de diff sur la règle ne prouve donc pas la stabilité de ses correspondances.
  • Une reconstitution solide relie auteur du changement, membres exacts, états intended et operational par équipement, point d’attache, compteurs bornés et résultat en aval.

L’outil de comparaison n’avait rien trouvé. La règle avant incident et la règle après incident étaient identiques. Même nom, même ordre, même action, même référence vers un ensemble de préfixes. La mention « politique inchangée » paraissait raisonnable.

Le comparateur observait simplement le mauvais objet. L’ensemble référencé avait gagné deux membres. Un routeur avait reçu cette version, un autre conservait l’ancienne. La stabilité du parent masquait la mutation de ce qui lui donnait son sens.

RFC 8519 fournit le socle. Une ACL est une suite ordonnée d’ACE ; chaque entrée associe des critères portant sur les paquets ou leurs métadonnées à des actions telles qu’accepter, abandonner, rejeter, compter ou limiter. Le filtrage ne commence qu’après application de l’ACL à un point d’attache. Le modèle de base couvre l’interface et laisse les autres points aux augmentations.

RFC 9899 introduit des ensembles réutilisables de préfixes IPv4 et IPv6, de ports, de protocoles et de types ICMP. Un alias peut réunir plusieurs paramètres. La règle ne répète plus chaque valeur ; elle appelle un objet nommé, entretenu séparément.

Le RFC assume cette indirection. Les listes nommées dissocient la création d’une règle de la gestion des ensembles : on peut ajouter ou retirer un élément sans redéfinir la règle parente. Les ACL et ensembles peuvent en outre être définis au niveau d’un domaine administratif puis associés à plusieurs équipements.

Le gain de maintenance produit une nouvelle unité d’audit. Il faut figer le graphe de références : ACL parente, ordre des ACE, contenu complet de chaque ensemble et alias, révisions des modules, équipements visés et points d’attache. Un identifiant durable ne suffit plus à décrire la politique effective à un instant donné.

Imaginons une modification à 10 h 05, un accusé de succès du contrôleur à 10 h 07 et une propagation progressive jusqu’à 10 h 12. Un paquet vu à 10 h 09 peut être traité différemment par deux appareils portant pourtant la même règle. Le temps du serveur central n’est pas le temps d’application de chaque équipement.

RFC 8342 rend cette différence explicite. <intended> représente la configuration transformée que le système tente d’appliquer. Sa comparaison avec la partie configurable de <operational> indique dans quelle mesure l’intention est effectivement utilisée. Une configuration peut être inactive, subsister comme remnant, se propager avec retard ou ne pas s’appliquer correctement.

Il faut donc conserver l’intention centrale et la lecture opérationnelle par équipement. Développement de modèles, valeurs implicites, capabilities, augmentations locales et branches inactives peuvent changer le résultat résolu. Un tableau de bord desired state n’est pas une observation du plan de données.

Les réponses de gestion ont leur propre portée. Dans RFC 6241, NETCONF <ok> signifie que le traitement de la RPC n’a produit ni erreur ni avertissement et qu’aucune donnée n’est renvoyée. RFC 8040 emploie notamment 201 ou 204 pour une ressource RESTCONF créée ou modifiée. Ces réponses attestent une transaction ; elles ne sont ni un reçu de paquet ni une preuve de résultat applicatif.

RFC 8341 sépare encore un autre contrôle. NACM décide quels utilisateurs peuvent lire, écrire ou exécuter des contenus et opérations YANG. RFC 9899 protège les defined sets sensibles par nacm:default-deny-write, car une écriture non autorisée pourrait ouvrir ou fermer du trafic à tort. L’autorisation d’éditer n’est pourtant pas l’exécution de l’ACL sur un paquet.

Les compteurs de RFC 8519 rapprochent l’enquête du fonctionnement. matched-packets et matched-octets sont exposés en lecture seule par ACE et, si l’option existe, par interface. Une variation indique que l’équipement a attribué du trafic à l’ACE. Elle ne révèle pas automatiquement les membres résolus, le paquet, l’abonné ou l’issue de bout en bout. Il faut aussi connaître remise à zéro, fenêtre, horloge et périmètre de collecte.

Un compteur nul ne signifie donc pas « aucun trafic » sans preuve du champ d’observation. L’option peut manquer, le compteur avoir redémarré, l’ACL être attachée ailleurs, le mauvais appareil avoir été interrogé ou l’ancienne liste être encore active.

RFC 9899 étend aussi les correspondances aux payload patterns, MPLS, VLAN, I-SID, fragments et drapeaux TCP, et ajoute une action de limitation. Pour le payload, offset, longueur, motif binaire et opérateur sont configurables. Le texte précise que le filtrage est déterministe sur des données non chiffrées, mais dépend d’un motif visible invariant quand le trafic est chiffré. Une condition modélisable ne garantit pas une visibilité utile.

RFC 7950 donne à YANG 1.1 une grammaire rigoureuse pour configuration, état, RPC et notifications. La conformité au schéma prouve une forme valide. L’état appliqué, la correspondance d’un paquet et le résultat d’un service restent des faits ultérieurs.

Le dossier défendable commence par l’acteur authentifié, la session, la décision NACM, la requête, le datastore cible et la réponse. Il conserve ensuite le parent, les ACE ordonnées, tous les membres transitifs, les révisions, capabilities, associations, attaches, snapshots intended et operational. Compteurs avec epoch, logs et observation packet/flow ferment le périmètre réseau ; l’application conserve son propre résultat.

Le rollback suit le même graphe. Restaurer le parent sans restaurer l’ensemble ne rétablit pas la politique. Restaurer le contrôleur sans vérifier chaque appareil ne rétablit pas une réalité prouvée. Le last-known-good doit inclure références, membres, modules, cibles et sondes de vérification.

La primauté du code en fonctionnement de Heng Lu limite chaque témoin à son domaine : le service de configuration atteste la transaction, l’équipement son état et ses compteurs, le capteur son trafic, l’application son résultat. Les couches de réalité empêchent le nom stable de remplacer l’ensemble changeant. La souveraineté des données distingue contrôle technique et autorité générale. La spécification initiale minimale laisse déploiement et rollback aux opérateurs capables de les observer.

La question de direction devient précise : quelle politique entièrement résolue cet équipement exécutait-il à cet instant, quelles correspondances a-t-il observées et quelle preuve indépendante décrit la suite ?

Sources