Résumé
- Un identifiant de définition IPFIX n’a de sens qu’avec la session de transport et le domaine d’observation qui lui donnent sa portée. L’Observation Domain ID est local au processus exportateur, pas à l’ensemble des équipements, clients ou sites.
- Décoder un enregistrement signifie appliquer un contrat de champs. Cela ne démontre pas que tous les paquets ont été observés, que tous les flux ont été exportés ni que les compteurs, horodatages et transformations sont exacts.
Le cache qui a survécu à la session
Dans une première connexion TCP, l’exportateur définit 256 comme une suite ordonnée d’adresses, de ports et de compteurs. La connexion se termine. Dans la suivante, il réutilise légitimement ce numéro pour une autre définition. Si le collecteur conserve l’ancienne, les longueurs peuvent parfois permettre un décodage tout à fait lisible, mais sémantiquement erroné.
Il s’agit d’un cas construit, non d’une accusation contre un produit. Son intérêt est la discrétion possible de l’erreur. Une valeur plausible peut alimenter une enquête ou une facture avant que quelqu’un ne demande de quelle session provenait sa définition.
Le RFC 7011 interdit précisément ce raccourci : les identifiants de définition sont gérés par session de transport et domaine d’observation. Une définition reçue dans une session ne doit pas servir à lire les Data Sets d’une session ultérieure, même si l’exportateur porte le même nom.
Un domaine n’est pas une identité mondiale
IPFIX sépare le point où les paquets sont observables, le Metering Process qui classe et compte, l’Exporting Process qui transmet et le Collecting Process qui reçoit. Un domaine d’observation regroupe le plus grand ensemble de points dont un processus de mesure peut agréger les informations.
Son identifiant de 32 bits est unique localement pour l’Exporting Process. L’unicité par équipement est recommandée ; l’unicité mondiale ne l’est pas. Deux exportateurs peuvent donc annoncer le domaine 17 sans parler du même lieu, du même réseau ou du même client.
La clé de décodage doit garder l’exportateur, son processus, la session, le domaine et le identifiant de définition. Pour l’état de séquence SCTP, le flux de transport compte aussi. Supprimer ces qualifications dans une base transforme une portée locale en identité globale accidentelle.
La définition explique les octets
Une définition décrit une suite ordonnée d’Information Elements et de longueurs. Le Set ID d’un Data Set renvoie au identifiant de définition qui permet de découper les valeurs et de leur attribuer types, unités et sens.
Les Information Elements standard relèvent du registre IANA. Pour les éléments propres à une entreprise, le numéro d’entreprise fait partie de l’identité. Un identifiant de champ nu peut donc être aussi trompeur qu’un identifiant de définition privé de sa session. Le RFC 5610 permet de transmettre des informations de type ; le RFC 7013 encadre la définition et la revue des éléments. Aucun ne transforme une description en attestation de mesure.
Huit octets peuvent être correctement interprétés comme un nombre d’octets sans que le collecteur sache si la bonne interface a été observée, si les Flow Keys étaient celles attendues ou si le compteur a été correctement alimenté. La structure et la vérité restent deux preuves différentes.
Retrait, réemploi et expiration
Avec un transport orienté connexion, une définition peut être retirée puis son identifiant réutilisé. Après le retrait, le collecteur cesse de l’appliquer aux Data Sets suivants. L’ordre des événements importe, ainsi que le délai laissé aux enregistrements antérieurs pour être traités.
UDP impose un autre cycle de vie : pas de fermeture de connexion pour purger l’état, et possibilité de perdre ou réordonner les définitions. Rafraîchissement, remplacement et expiration doivent être explicites. Un Data Set reçu avant sa définition ne justifie pas d’en emprunter une dans un autre domaine. Il faut savoir si les données ont été mises en attente, supprimées ou décodées plus tard.
Les structures imbriquées du RFC 6313 enrichissent cette grammaire. Elles n’authentifient pas davantage les valeurs contenues dans une liste.
Le compteur de séquence ne compte pas les paquets
Le Sequence Number avance du nombre de Data Records envoyés dans le flux courant depuis le domaine courant, modulo 2^32. Les enregistrements de définition et enregistrements de définition des options ne l’incrémentent pas. SCTP compte séparément ses flux ; TCP et UDP utilisent la portée de leur connexion ou session applicable.
Une discontinuité aide à repérer des enregistrements manquants, réordonnés ou dupliqués. Elle ne mesure pas directement les paquets perdus. Elle ne révèle pas non plus les paquets jamais observés, ceux écartés par l’échantillonnage ou les flux qui n’ont pas été matérialisés en enregistrements.
TCP fiable ne résout pas tout. Un exportateur bloqué par la congestion ou un collecteur trop lent peut épuiser son tampon et abandonner des Data Records ; ces pertes doivent être comptabilisées. L’absence de trou dans une séquence n’est donc pas une garantie de population complète.
L’Export Time de l’en-tête indique le départ du message de l’Exporting Process, pas le début ou la fin de chaque flux. Délais d’export, fenêtres d’agrégation et qualité des horloges restent à documenter.
La population peut changer plusieurs fois
La sélection de paquets peut précéder la création des flux. Une sélection ultérieure de flux peut filtrer, hacher ou échantillonner encore. Un flux « complet » à une étape peut ne contenir que les paquets ayant survécu à l’étape précédente. Le dénominateur doit accompagner le résultat.
L’agrégation combine ensuite des enregistrements. Un Mediator peut recevoir, transformer et réexporter sous un nouveau contexte. Le collecteur aval doit conserver l’origine, les domaines contributeurs et les transformations nécessaires à son usage. Une nouvelle définition valide ne rend pas le résultat dérivé identique à l’observation initiale.
Authentifier l’exportateur ne certifie pas le capteur
TLS ou DTLS peuvent protéger la confidentialité, l’intégrité et l’identité des processus communicants. Cette protection est essentielle : une fausse définition peut corrompre tous les enregistrements suivants, et les données de flux révèlent des habitudes de communication sensibles.
Mais une session authentifiée peut transporter fidèlement un compteur erroné, une mauvaise cartographie d’interface ou un échantillonnage non déclaré. L’authentification s’arrête au processus exportateur ; elle n’atteste pas le placement du capteur ni l’honnêteté des transformations.
Des tests qui rendent la portée visible
Reconnecter et réutiliser 256 avec une autre définition doit forcer l’attente de la nouvelle définition. Le même numéro envoyé par deux exportateurs ou domaines ne doit jamais fusionner. Il faut tester retrait et réemploi, perte de la première définition UDP, arrivée tardive des données, trous de séquence et saturation des tampons.
Activer séparément échantillonnage, sélection, agrégation et médiation doit créer autant de transitions de provenance. Enfin, envoyer des compteurs volontairement incohérents sur une session authentifiée doit produire deux conclusions distinctes : source authentifiée, mesure contestable.
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