Zusammenfassung

  • DEX-Karten von A, B, C, D und E können vollständig vorliegen, ohne zu zeigen, ob E auf C oder D folgte; Knoten sind noch keine Kanten.
  • RFC 9630 führt eine acht Oktett lange Multicast Branch ID sowie eine Alternative mit Trace-Export an Abschnittsgrenzen ein.
  • Belastbare Entscheidungen brauchen getrennte Belege für Auswahl, Label-Epoche, Erzeugung, Transport, Verwahrung, Rekonstruktion, Empfang und Anwendungsergebnis.

Das Inventar war vollständig, der Graph nicht

Ein Paket läuft von A zu B. B repliziert es: eine Kopie geht über C nach E, die andere über D. Jeder Router exportiert seine lokale Karte. Der Collector kennt fünf Namen, kann aber E keinem Elternknoten zuordnen.

Das ist kein Layoutfehler. Hängt eine Software E aus Bequemlichkeit unter D, ordnet sie Latenz und Verlust der falschen Kante zu. Darauf aufbauende Automatisierung kann Kapazität verschieben oder einen unbeteiligten Router beschuldigen.

Ein Kontrollplan-Baum kann die Lücke füllen. Dann stammt die Aussage jedoch aus der Verknüpfung zweier Quellen und Epochen. Eine abgeleitete Kante darf nicht wie eine direkt beobachtete aussehen.

Vollständige Traces vervielfachten den gemeinsamen Weg

IOAM Trace bewahrt die Reihenfolge. An einer Multicast-Verzweigung erbt jede Kopie den gesamten bisherigen Datensatz. An den Blättern wiederholen alle Traces denselben Präfix und unterscheiden sich nur im letzten Abschnitt. Breite Bäume vervielfachen Header, Bandbreite und Collector-Arbeit.

Direct Export entfernt diese Wiederholung, indem jeder Knoten nur lokale Daten sendet. Die Zerlegung in einzelne Karten entfernt aber zugleich die Nachbarschaft. RFC 9630 bewahrt deshalb nicht den ganzen Pfad, sondern die minimale Naht zwischen Beobachtungen.

Effizienz ist nur gewonnen, wenn der Ursprung jeder Kopie rekonstruierbar bleibt. Dafür muss die Zweigidentität bis zur nächsten Verzweigung mitlaufen.

Die Branch ID gilt für einen Baumabschnitt

Das Format verbindet eine drei Oktett lange Branching Node ID mit einem zwei Oktett langen Interface Index. Drei ungenutzte Oktette müssen null sein. Ein Fork vergibt pro Ausgang im jeweiligen Baum eine andere Kombination; sie bleibt bis zum nächsten Fork unverändert.

Jeder nachgelagerte Knoten muss die empfangene ID in seiner Karte exportieren. Flow ID und Sequence Number gruppieren dasselbe Paket, die Branch ID verbindet den Abschnitt. C und E können so denselben von B erzeugten Zweig ausweisen, D den anderen.

Der Interface Index ist kein ewiger Linkname. Nach Konvergenz kann er wiederverwendet werden. Namespace, Baum, Flow, Sequenz, Zeit und Konfigurationsepoche gehören zum Beleg. Ohne Epoche wird legitime Wiederverwendung zu scheinbarer Kontinuität.

N und I sind unteilbar

Ein RFC-9326-Erweiterungsbit steht für vier Oktette. Acht Oktette benötigen zwei Bits: N für den Verzweigungsknoten und I für das Interface. Beide müssen gesetzt oder beide gelöscht sein. Eine Hälfte macht den Header fehlerhaft und das Paket muss verworfen werden.

Nichtnullwerte in den ungenutzten Oktetten führen ebenfalls zum Drop. So kann ein toleranter Parser keine Kante aus einem halben Tupel erfinden. Gleichzeitig kann ein Telemetriefehler Nutzdaten beeinflussen.

Metriken müssen daher fehlende Option, Malformed-Drop und später verlorene Exportkarte unterscheiden. „Keine Daten“ benennt keine Fehlerdomäne.

Abschnittskarten setzen den Schnitt am Fork

Die zweite Methode behält das Trace-Format. Vor der Replikation exportiert der Fork die angesammelte Trace. Danach leert er die Node-Liste, setzt RemainingLen zurück und beginnt jedes Kindsegment mit seinen Daten. Blätter exportieren den letzten Abschnitt.

Der gemeinsame Präfix erscheint einmal; der Fork vernäht Eltern- und Kindersegmente. Ein neues Format ist nicht nötig, wohl aber korrekte Konfiguration aller erwarteten Forks und Blätter.

Vor der Kopie dürfen nur wirklich gemeinsame Fakten exportiert werden. Eingangsinterface und -zeit können gleich sein; Ausgang, Ausgangszeit und Verzögerung jeder Kopie unterscheiden sich. Zu frühe Aggregation löscht genau diese Abweichung.

Schutz vor Verstärkung verkleinert die Sicht

Multicast repliziert Daten, DEX kann Exporte replizieren. RFC 9630 empfiehlt Paketauswahl, Ratenlimits oder nur einen Teil der Knoten, etwa Forks. Die konkrete Sampling- und Überlastpolitik bleibt außerhalb des Dokuments.

Damit zeigt der rekonstruierte Baum ausgewählte Pakete und aktivierte Beobachter. Eine fehlende Karte kann Sampling, Limit, Transportverlust, fehlende Aktivierung, Collector-Ablehnung oder einen tatsächlich fehlenden Zweig bedeuten.

Auswahlregel, erwartete Knoten, Quoten, Drops und Zeitfenster müssen neben dem Baum stehen. Ohne Nenner wird „nicht beobachtet“ unbemerkt zu „nicht vorhanden“.

Mtrace2 liefert eine andere Perspektive

Mtrace2 folgt den Nachrichten zum Aufbau des Baums vom Empfänger zur Quelle und sammelt Diagnoseblöcke. Es kann relevante Router identifizieren, ist laut RFC 9630 aber nicht direkt in IOAM integriert.

Der Kontrollplan zeigt Absicht, die Karten zeigen ausgewählte Datenplan-Beobachtungen. Übereinstimmung stützt, Abweichung diagnostiziert. Ergänzt Mtrace2 eine Kante, muss die Herkunft sichtbar bleiben.

Bei PIM, PIM-SSM, MVPN, mLDP, P2MP RSVP-TE, Ingress Replication und PIM MDT gehören VPN- und Tunnelkontext dazu. Dieselbe Knotenfolge kann nach Konvergenz einen anderen Baum bezeichnen.

Der rekonstruierte Baum ist kein Zustellbeleg

RFC 9630 will Baum, Verzögerung, Jitter und Verlustort sichtbar machen. Die Branch ID macht Karten korrelierbar, erzeugt aber keine Quittung in der Empfängeranwendung.

Nach dem letzten Router kann der Access-Link verlieren. Ein Host kann Bytes empfangen, die kein nutzbares Videobild ergeben. Eine gesunde Stichprobe repräsentiert nicht jeden Burst. Der Graph beschreibt Collector-Evidenz, nicht Kundenerfolg.

Die Kette trennt Eintritt, Verarbeitung, Label, Kartenerzeugung, Transport, Verwahrung, Korrelation, unabhängige Prüfung, Empfang und Ergebnis. RFC 9630 verbessert die Korrelation.

Ein ehrliches Archiv behält Waisen

Zu speichern sind rohe Branch-ID-Bytes und Dekodierung, Namespace, Flow ID, Sequence Number, Quelle, Gruppe, Baum, Tunnel, Fenster und Epoche. Jede Karte braucht Exporter, Daten, Sende- und Ankunftszeit, Duplikatstatus, Ablehnung und Verwahrungshash.

Der Graph-Builder muss elternlose Knoten, Kollisionen, fehlende Sequenzen und abgeleitete Kanten ausgeben. Er darf keine Verbindung für ein schöneres Layout erzeugen. Eine erklärte Lücke ist bessere Entscheidungsgrundlage als ein angenommener Baum.

Quellen