Zusammenfassung

  • Revision 01 des PIM-Entwurfs zu deterministischem ECMP wählt einen Upstream-Nachbarn per Hash aus Quelle, Gruppe und Router-ID oder einem vier Byte langen Color-Wert. Gleiche Entscheidungen der Leaf-Router sollen überflüssige Kopien eines Stroms vermeiden.
  • Der Arista-Anhang beschreibt private Hello-Optionen und einen Color-Hash in Little-Endian-Reihenfolge; das vorgeschlagene öffentliche Verfahren nutzt Netzwerk-Bytefolge. Der Cisco-Anhang hält ein anderes Router-ID-Verfahren fest.
  • Die öffentliche Color-Optionsnummer ist noch TBD. Ob ein gemischtes Netz denselben Upstream wählt, zeigen die empfangenen Hellos und die Ziele der tatsächlichen Joins.

Die zusätzlichen Daten entstehen durch eine Entscheidung im Steuerungsprotokoll. In einem Leaf-Spine-Netz können mehrere Leaves dieselbe Quelle über gleichwertige Wege erreichen. Jeder Leaf sendet seinen PIM Join an einen Nachbarn auf dem Rückpfad. RFC 7761 beschreibt Rückpfad und Join-Zustand, legt für diesen ECMP-Gleichstand aber keinen gemeinsamen Gewinner für alle Leaves fest. Unterschiedliche Gewinner ziehen Kopien desselben Stroms über unterschiedliche Uplinks.

Für ein zweistufiges Netz schlägt der Entwurf einen Hash über Quelle S, Gruppe G und die Router-ID jedes zulässigen Upstream-Kandidaten vor. Der höchste Wert gewinnt, bei Gleichstand entscheidet lokale Information. Der gemeinsame Gewinner setzt voraus, dass jeder Leaf dieselben Kandidaten und Eingaben sieht und denselben Algorithmus ausführt. Ein fehlender Kandidat genügt, um trotz fehlerfreier lokaler Berechnung einen anderen Spine zu wählen.

In dreistufigen Netzen soll Color helfen. Ein Router der mittleren Ebene kann per PIM Hello einen vier Byte langen Wert melden, etwa als Kennzeichen seines oberen Spine. Die Leaves vergleichen dann Hashes aus S, G und Color. Nur Nachbarn, die Color ankündigen, kommen in diese Wahl. Damit hat die Reihenfolge der Einführung eine unmittelbare Wirkung: Wird die Option zunächst nur an einigen Schnittstellen aktiviert, ändert sich die Kandidatenliste. Der Migrationsplan muss diese Zwischenzustände beschreiben.

Der Arista-Kompatibilitätsanhang dokumentiert bereits laufenden Code. EOS nutzt die private Hello-Option 65001 als Kennung der eigenen Form und 65002 für Color. Eine öffentliche Optionsnummer ist noch nicht vergeben. Der Entwurf empfiehlt, dass eine standardkonforme Implementierung die privaten Optionen standardmäßig weder sendet noch verarbeitet; eine Kompatibilitätsfunktion pro Schnittstelle bleibt möglich. Pro Schnittstelle klingt kontrollierbar. Es bedeutet zugleich, dass zwei Nachbarn desselben Routers verschiedene Informationen erhalten können, wenn die Schalter unterschiedlich stehen.

Die eigentliche Falle liegt in der Bytefolge des Hash-Eingangs. Das vorgeschlagene öffentliche Verfahren legt Color in Netzwerk-Bytefolge ab. Die Arista-kompatible Berechnung verwendet Little Endian. Sobald ein Kandidat die private Color-Option ankündigt, soll nach dem Entwurf der Arista-kompatible Hash für den Vergleich gelten. Diese Brückenregel ist präzise; ob die Geräte einer konkreten Flotte sie anwenden, muss der Betreiber prüfen. Zwei Konsolen mit demselben angezeigten Color-Wert verraten nicht, welche vier Bytes im Hash gelandet sind.

Cisco hat laut einem weiteren Anhang unabhängig ein Router-ID-Verfahren umgesetzt. Es nutzt den RP-Hash aus RFC 7761 und bei Gleichstand die über RFC 6395 angekündigte Schnittstellen-ID. Der Haupttext des Entwurfs verwendet Jenkins' Hash und kann lokale Information zum Auflösen des Gleichstands nutzen. Daraus folgt eine einfache Prüfaufgabe: Für ein bestimmtes (S,G) je Leaf die gesehenen Kandidaten, Hello-Optionen, Hash-Eingaben und den gewählten Nachbarn erfassen. Ein simulierter Spine-Ausfall zeigt, ob die Entscheidungen auch nach der Änderung zusammenbleiben.

Der Entwurf stellt sein Verfahren dem ECMP Redirect aus RFC 6754 gegenüber. Ein Upstream kann dort einen Join nach der ersten Wahl auf einen anderen Weg schicken; dabei kann ein laufender Strom umziehen. Ein gemeinsamer Hash soll die Wahl gleich zu Beginn treffen. Der Preis dafür ist der Nachweis, dass alle Beteiligten tatsächlich dieselbe Wahlregel benutzen. Koordination verschwindet nicht, sie wandert vor den ersten Join.

Der Entwurf nennt keinen gemessenen Bandbreitengewinn und keinen dokumentierten Ausfall durch diese Mischung. Er nennt die Stelle, an der eine Einsparung überprüfbar wird: Join-Ziele und Stromkopien auf den betroffenen Leitungen. Wer dort zwei Bäume sieht, kann aus einem einheitlichen Color-Namen keine freie Kapazität ableiten.

PIM-Entwurf, Revision 01 · RFC 7761 · RFC 6395 · RFC 6754