Zusammenfassung

  • RFC 10005 erklärt Null ausdrücklich für gültig, verwirft negative Communities, bevorzugt bei mehreren Communities standardmäßig den niedrigsten Wert und empfiehlt bei einem fehlenden gültigen Wert Equal Load Balancing—jeweils mit dokumentierten lokalen Spielräumen.
  • Diese Regeln sind Eingangsbehandlung, kein Nachweis des Forwardings. Erst Multipath-Qualifikation, Hardware-FIB, Verkehr, Queue, Verlust und Anwendungsergebnis zeigen, welche Konsequenz eine Implementierung tatsächlich zog.

Ein Normalisierer schrieb in vier Fällen denselben Zustand in die Telemetrie: bandwidth unavailable. Damit verschwanden vier unterschiedliche Aussagen. Null war absichtlich für eine Wartung gesetzt worden. Der negative Wert war ungültig und musste ignoriert werden. Zwei Communities verlangten eine Auswahlregel. Die vierte Route hatte überhaupt keinen gültigen Wert.

Im nächsten Schritt verwendete die Automation diese eine Kategorie, um einen gemeinsamen Fallback zu aktivieren. Der Code war kompakt, aber nicht interoperabel mit der Bedeutung der Eingaben. Die Norm hatte die Unterschiede erhalten; der Helfer löschte sie.

RFC 10005, seit Juni 2026 Proposed Standard, ist deshalb auch ein Dokument über deterministische Eingangsdisziplin. Es standardisiert nicht nur ein Feld, sondern verhindert, dass ungewöhnliche Werte BGP-Sitzungen unnötig destabilisieren oder stillschweigend dieselbe Bedeutung erhalten.

Ein präziser Container mit begrenzter Aussage

Link Bandwidth verwendet als transitive Variante Type 0x00, als non-transitive Variante 0x40 und jeweils SubType 0x04. Der Local Administrator enthält vier Oktette IEEE-754-Single-Precision in Byte—nicht Bit—pro Sekunde. Der Global Administrator ist zwei Oktette groß; er sollte die ASN des anfügenden Routers tragen, darf aber jeden Zwei-Oktett-Wert enthalten. Für nicht darstellbare ASN wird AS_TRANS empfohlen.

Der Global Administrator ändert laut RFC weder Nutzung noch Semantik. Er ist keine Authentisierung. Ebenso beweist das numerische Format keine Messung. Wie Bandbreite bestimmt oder berechnet wird, bleibt außerhalb des RFC.

Der aktuelle Use-Case-Entwurf unterscheidet remote bandwidth, lokale Interfacebandbreite und eine Funktion aus beiden. Er erlaubt Aggregate, Serverkapazität und proportionale Gewichte. Ein Parser kann den Float korrekt lesen und dennoch nicht wissen, was er bezeichnet.

Null ist gültig, aber nicht eindeutig

Ein Sender darf null ankündigen. Der RFC nennt als Beispiel einen Wartungspfad, der keinen Verkehr anziehen soll. Der Empfänger entscheidet jedoch lokal, wie null wirkt. Bei einer Mischung aus null und nicht null kann er Nullpfade aus dem gewichteten Set ausschließen oder auf Equal Load Balancing zurückfallen. Sind alle Werte null, ist die Behandlung ebenfalls lokal.

Deshalb darf null nicht als malformed gelten. Ein Empfänger, der die Route wegen null verwirft oder flappen lässt, würde eine gültige Signalklasse in einen Kontrollflächenausfall verwandeln. Umgekehrt darf ein Change-Plan aus dem gültigen Empfang nicht ableiten, dass der Pfad leer ist.

In der Evidenz braucht null eine Ursache: manuelle Wartung, fehlende lokale Interfaceinformation, fehlende remote information oder eine zusammengesetzte Funktion ohne Ergebnis. Dieselbe Zahl kann aus diesen Pfaden entstehen und verschiedene operative Reaktionen verlangen.

Negativ ist nicht null

Ein negativer Link-Bandwidth-Wert sollte nicht angehängt oder erzeugt werden. Trifft ein Empfänger ihn an, wird die betreffende Community ignoriert. Das ist etwas anderes als die Route zu ignorieren und etwas anderes als Gewicht null.

Nach dem Ignorieren kann der Pfad ohne gültige Community dastehen. Dann greift die Regel für fehlende Werte: Wenn irgendeinem Pfad eine gültige Community fehlt, sollte Equal Load Balancing verwendet werden, sofern lokale Konfiguration nichts anderes bestimmt. Eine Telemetrie, die negativ zu null umschreibt, könnte stattdessen einen Drain-Mechanismus auslösen und die Fehlerursache verbergen.

Der raw IEEE-754-Wert muss daher erhalten bleiben, zusammen mit dem Ergebnis der Validierung. Datenbereinigung darf keinen neuen öffentlichen oder operativen Bedeutungszustand erfinden.

Mehrfach verlangt Auswahl, fehlend verlangt Vollständigkeitsprüfung

Empfängt ein Speaker mehrere Link Bandwidth Extended Communities und nutzt die Route für gewichtetes Load Balancing, sollte er den niedrigsten Wert verwenden—einschließlich null und unabhängig von der Transitivität. Eine lokale Option darf diese Präferenz verändern.

Diese Regel ist besonders während der Migration wichtig, wenn eine Route je eine transitive und non-transitive Community tragen kann. Beide Werte sollten gleich sein. Ältere Software versteht möglicherweise nur einen Typ. Wird nur eine Variante aktualisiert, können downstream Speaker verschiedene Gewichte berechnen.

„Niedrigster Wert“ begrenzt das Risiko in neuen Implementierungen, ist aber kein globaler Konsenszustand. Ein alter Empfänger sieht vielleicht nur den höheren. Ein lokaler Override wählt anders. Der Vergleich muss pro Empfänger und Softwarestand stattfinden.

Fehlen ist eine Set-Eigenschaft. Es genügt nicht, auf dem best path eine Community zu finden. Alle Pfade, die für die Multipathbildung beitragen sollen, müssen betrachtet werden. Ein einziger Kandidat ohne gültigen Wert kann den empfohlenen Fallback auf Equal Load Balancing auslösen.

Das Gewicht folgt erst nach der BGP-Auswahl

RFC 10005 sagt, dass Link Bandwidth nicht in die BGP-best-path-Auswahl eingehen sollte. Es kann Gewichte zwischen Pfaden beeinflussen, die bereits für Multipath qualifiziert sind. Das schafft eine klare Prüfungsreihenfolge: Kandidaten, Best-Path- und Multipath-Regeln, gültige Communities, lokale Fehlerbehandlung, FIB-Programmierung.

Ein Monitoring, das bei der Community beginnt, überspringt die erste Hälfte. Ein Attribut auf einer nicht qualifizierten Route besitzt keine forwarding authority. Eine qualifizierte Route kann wegen fehlendem Wert Equal statt weighted forwarding auslösen. Und ein berechnetes Gewicht kann im Hardwarepfad anders begrenzt oder gar nicht programmiert sein.

Auch Re-Advertisement verändert die Eingaben. Communities dürfen in Adj-RIB-In oder Adj-RIB-Out gesetzt werden. Bei Next-Hop-Änderung kann ein Speaker entfernen, unverändert weitergeben oder regenerieren. Ohne Next-Hop-Änderung sollte er nicht modifizieren. Fehlerklassifikation muss deshalb vor und nach jeder Policygrenze sichtbar sein.

Running Code statt Parser-Erfolg

Juniper dokumentiert, dass Kandidaten unter der beschriebenen Implementierung die Attribute brauchen und dass konfigurierte Werte nicht den beobachteten Traffic darstellen. Cisco und Arista zeigen weitere Policy- und Regenerationsflächen. Diese Unterschiede machen einen versionsbezogenen Test erforderlich.

Für jeden Pfad sind raw Community, Validitätsklasse, transitivity, Global Administrator, decodierter Wert und Policyergebnis zu speichern. Danach folgen Multipathkandidaten und Ausschlussgründe, lokale Overrides, FIB-Mitglieder und Hardwaregewichte. Trafficanteil, Queue, Verlust, Latenz und Anwendungsergebnis schließen die Beweiskette.

Heng Lus Running-Code Primacy verlangt genau diese Priorität: Ein korrekt geparstes Feld ist noch kein korrektes Netz. Die Minimum Initial Specification rechtfertigt gemeinsame deterministische Regeln, lässt aber spätere lokale Entscheidungen und ihre Verantwortung beim Betreiber.

Null, negativ, mehrfach und fehlend sind keine kosmetischen Varianten. Sie sind vier unterschiedliche Inputs in eine lokale Verkehrsentscheidung.