Im Netz finden sich viele Materialien zum RSTP-Protokoll. In diesem Artikel möchte ich das RSTP-Protokoll mit einem proprietären Protokoll von – Extended Ring Redundancy.
Details zur RSTP-Implementierung
Allgemeine Informationen
Konvergenzzeit – 1-10 s
Mögliche Topologien – beliebig
Es ist weit verbreitet, dass RSTP Switches nur in einem Ring verbinden kann:

Aber RSTP ermöglicht es, Switches beliebig zu verbinden. Zum Beispiel wird RSTP mit dieser Topologie umgehen können.

Das Funktionsprinzip
RSTP reduziert jede Topologie auf einen Baum. Einer der Switches wird zum Zentrum der Topologie – dem Wurzel-Switch. Der Wurzel-Switch leitet die meisten Daten weiter.
Das Funktionsprinzip von RSTP ist folgendermassen:
- Strom wird an die Switches angelegt;
- der Wurzel-Switch wird gewählt;
- die anderen Switches bestimmen den schnellsten Weg zum Wurzel-Switch;
- die verbleibenden Kanäle werden blockiert und fungieren als Backup.
Wahl des Wurzel-Switches
Switches mit RSTP tauschen BPDU-Pakete aus. BPDU ist ein Steuerpaket, das Informationen für RSTP enthält. BPDU gibt es in zwei Typen:
- Configuration BPDU.
- Topology Change Notification.
Configuration BPDU wird zum Aufbau der Topologie verwendet. Es wird nur vom Wurzel-Switch gesendet. Configuration BPDU enthält:
- den Senderidentifier (Bridge ID);
- den identifier des Wurzel-Switches (Root Bridge ID);
- den Identifikator des Ports, von dem dieses Paket gesendet wurde (Port ID);
- die Kosten für den Weg zum Wurzel-Switch (Root Path Cost).
Topology Change Notification kann von jedem Switch gesendet werden. Sie werden im Falle einer Topologieänderung gesendet.
Nach dem Einschalten halten sich alle Switches für Wurzel-Switches. Sie beginnen, BPDU-Pakete zu senden. Sobald ein Switch eine BPDU mit einer niedrigeren Bridge ID erhält als seine eigene, hört er auf, sich als Wurzel zu betrachten.
Die Bridge ID besteht aus zwei Werten – der MAC-Adresse und der Bridge Priority. Die MAC-Adresse können wir nicht ändern. Die Bridge Priority beträgt standardmäßig 32768. Wird die Bridge Priority nicht geändert, wird der Switch mit der niedrigsten MAC-Adresse der Wurzel-Switch. Der Switch mit der niedrigsten MAC-Adresse ist der älteste und möglicherweise nicht der leistungsfähigste. Es wird empfohlen, den Wurzel-Switch der Topologie manuell zu bestimmen. Dazu muss am Wurzel-Switch eine niedrige Bridge Priority (z.B. 0) eingestellt werden. Auch ein Backup-Wurzel-Switch kann bestimmt werden, indem ihm eine etwas höhere Bridge Priority (z.B. 4096) zugewiesen wird.

Wahl des Pfades zum Root-Switch
Der Root-Switch sendet BPDU-Pakete an alle aktiven Ports. BPDU enthält das Feld Path Cost. Path Cost bezeichnet die Kosten des Pfades. Je höher die Kosten des Pfades, desto länger dauert die Übertragung des Pakets. Wenn BPDU durch einen Port geht, werden die Kosten im Feld Path Cost addiert. Die hinzugefügte Zahl wird als Port Cost bezeichnet.

Zum Path Cost wird ein bestimmter Wert hinzugefügt, wenn BPDU einen Port passiert. Der Wert, der hinzugefügt wird, wird als Port Cost bezeichnet und kann sowohl manuell als auch automatisch festgelegt werden. Port Cost kann manuell oder automatisch bestimmt werden.
Wenn ein Nicht-Root-Switch mehrere alternative Pfade zum Root-Switch hat, wählt er den schnellsten. Er vergleicht die Path Costs dieser Pfade. Der Port, von dem das BPDU mit den niedrigsten Path Costs kam, wird zum Root Port.



Die automatisch zugewiesenen Port-Kosten können in der Tabelle eingesehen werden:
Übertragungsgeschwindigkeit des Ports
Kosten des Ports
10 Mbps
2 000 000
100 Mbps
200 000
1 Gbps
20 000
10 Gbps
2 000
Rollen und Status der Ports
Ports des Switches haben mehrere Status und Rollen.
Status der Ports (für STP):
- Disabled – inaktiv.
- Blocking – hört BPDU, sendet aber nicht. Überträgt keine Daten.
- Listening – hört und sendet BPDU. Überträgt keine Daten.
- Learning – hört und sendet BPDU. Bereitet die Übertragung von Daten vor — füllt die MAC-Adresstabelle aus.
- Forwarding – überträgt Daten, hört und sendet BPDU.
Die Konvergenzzeit von STP beträgt 30-50 Sekunden. Nach dem Einschalten des Switches durchlaufen alle Ports alle Status. In jedem Status verweilt der Port einige Sekunden. Aufgrund dieses Prinzips hat STP eine so lange Konvergenzzeit. RSTP hat weniger Port-Status.
Status der Ports (für RSTP):
- Discarding – inaktiv.
- Discarding – hört BPDU, sendet aber nicht. Überträgt keine Daten.
- Discarding – hört und sendet BPDU. Überträgt keine Daten.
- Learning – hört und sendet BPDU. Bereitet die Übertragung von Daten vor — füllt die MAC-Adresstabelle aus.
- Forwarding – überträgt Daten, hört und sendet BPDU.
- In RSTP sind die Status Disabled, Blocking und Listening zu einem einzigen Status – Discarding – zusammengefasst.
Rollen der Ports:
- Root Port – der Port, über den Daten übertragen werden. Er ist der schnellste Weg zum Root-Switch.
- Designated Port – der Port, über den Daten übertragen werden. Wird für jedes LAN-Segment festgelegt.
- Alternate Port – der Port, über den keine Daten übertragen werden. Er ist ein alternativer Weg zum Root-Switch.
- Backup-Port – der Port, über den keine Daten übertragen werden. Er ist der Backup-Weg für ein Segment, in dem bereits ein Port mit RSTP-Unterstützung angeschlossen ist. Der Backup-Port wird verwendet, wenn zwei Switch-Kanäle an dasselbe Segment (sprich Hub) angeschlossen sind.
- Deaktivierter Port – an diesem Port ist RSTP deaktiviert.
Die Auswahl des Root-Ports wurde oben beschrieben. Wie wird der Designated Port ausgewählt?
Lassen Sie uns zunächst definieren, was ein LAN-Segment ist. Ein LAN-Segment ist ein Kollisions- Domain haben. Für einen Switch oder Router bildet jeder Port eine separate Kollisionsdomäne. Ein LAN-Segment ist der Kanal zwischen Switches oder Routern. Bei einem Hub befinden sich alle Ports in derselben Kollisionsdomäne.
Es kann nur ein Designated Port für ein Segment zugewiesen werden.
Im Fall von Segmenten, in denen bereits Root-Ports vorhanden sind, ist alles klar. Der zweite Port des Segments wird zum Designated Port.

Es bleiben jedoch Backup-Kanäle, wo es einen Designated Port und einen Alternate Port geben wird. Wie werden sie ausgewählt? Der Designated Port wird der Port mit den geringsten Path Cost zum Root-Switch. Wenn die Path Costs gleich sind, wird der Designated Port der Port, der sich auf dem Switch mit der niedrigsten Bridge-ID befindet. Wenn auch die Bridge-IDs gleich sind, wird der Designated Port der Port mit der niedrigsten Nummer. Der zweite Port wird Alternate.


Die letzte Frage ist: Wann wird einem Port die Rolle des Backup zugewiesen? Wie bereits oben erwähnt, wird der Backup-Port nur verwendet, wenn zwei Kanäle des Switches an dasselbe Segment, also an einen Hub, angeschlossen sind. In diesem Fall wird der Designated Port nach denselben Kriterien ausgewählt:
- Die geringsten Path Costs zum Root-Switch.
- Die geringste Bridge-ID.
- Die geringste Port-ID.
Maximale Anzahl von Geräten im Netzwerk
Der IEEE 802.1D-Standard stellt keine strengen Anforderungen an die Anzahl der Geräte in einem LAN mit RSTP. Der Standard empfiehlt jedoch, nicht mehr als 7 Switches in einem Ast (maximal 7 Hops) zu verwenden, d.h. nicht mehr als 15 in einem Ring. Wenn dieser Wert überschritten wird, beginnt die Konvergenzzeit des Netzwerks zu steigen.
Details zur Implementierung von ERR.
Allgemeine Informationen
Konvergenzzeit
Die Konvergenzzeit von ERR beträgt 15 ms. Bei der maximalen Anzahl an Switches im Ring und bei der Kopplung von Ringen – 18 ms.
Mögliche Topologien
ERR erlaubt nicht das freie Mischen von Geräten wie RSTP. ERR hat klare Topologien, die verwendet werden können:
- Ring
- Redundanter Ring
- Kopplung von bis zu drei Ringen

Ring

Wenn in ERR alle Switches zu einem Ring verbunden sind, müssen an jedem Switch die Ports konfiguriert werden, die am Aufbau des Rings teilnehmen sollen.
Doppelring

Switches können zu einem Doppelring kombiniert werden, was die Zuverlässigkeit des Rings erheblich erhöht.
Einschränkungen des Doppelrings:
- Ein Doppelring kann nicht verwendet werden, um Switches mit anderen Ringen zu verbinden. Dafür muss Ring Coupling verwendet werden.
- Ein Doppelring kann nicht für Ring-Kopplungen verwendet werden.


Ringkopplung

Bei der Kopplung im Netzwerk dürfen nicht mehr als 200 Geräte vorhanden sein.
Die Kopplung von Ringen bedeutet, dass die übrigen Ringe zu einem zusätzlichen Ring zusammengeführt werden.
Wenn ein Ring über einen Switch mit einem Ringkopplung verbunden wird, wird dies genannt Ringkopplung über einen Switch. Wenn zwei Switches aus dem lokalen Ring mit dem Ringkopplung verbunden werden, wird dies Kopplung über zwei Switches.
Bei der Kopplung über einen Switch werden beide Ports des Geräts verwendet. Die Konvergenzzeit wird in diesem Fall etwa 15–17 ms betragen. Bei dieser Art der Kopplung wird der Kopplungsswitch zum Ausfallpunkt, da der Verlust dieses Switches sofort den gesamten Ring verliert. Die Kopplung über zwei Switches ermöglicht, dies zu vermeiden.


Es ist möglich, redundante Ringe zu koppeln.

Path Control

Die Funktion Path Control ermöglicht die Konfiguration der Ports, über die Daten im regulären Betriebsmodus übertragen werden. Wenn ein Kanal ausfällt und das Netzwerk auf eine redundante Topologie umschaltet, wird das Netzwerk nach der Wiederherstellung des Kanals wieder auf die festgelegte Topologie umschalten.
Mit dieser Funktion können Kosten für redundante Kabel gespart werden. Darüber hinaus wird immer die verwendete Topologie für das Troubleshooting bekannt sein.
Die Haupttopologie wechselt innerhalb von 15 ms auf die redundante. Der Rückwechsel bei der Wiederherstellung des Netzwerks dauert etwa 30 ms.
Einschränkungen:
- Kann nicht zusammen mit dem Doppelring verwendet werden.
- Die Funktion muss auf allen Switches im Netzwerk aktiviert sein.
- Einer der Switches wird als Master Path Control konfiguriert.
- Der automatische Wechsel zur Haupttopologie nach der Wiederherstellung erfolgt standardmäßig nach 1 Sekunde (dieser Parameter kann über SNMP im Bereich von 0 s bis 99 s geändert werden).
Das Funktionsprinzip

Funktionsweise von ERR
Nehmen wir als Beispiel sechs Switches – 1-6. Die Switches sind in einem Ring verbunden. Jeder Switch verwendet zwei Ports zur Verbindung mit dem Ring und speichert deren Status. Die Switches übermitteln die Portstatus untereinander. Diese Daten nutzen die Geräte zur Festlegung des Ausgangszustands der Ports.

Die Ports haben nur zwei Rollen – Blockiert und Weiterleitung.
Der Switch mit der höchsten MAC-Adresse blockiert seinen Port. Alle anderen Ports im Ring übertragen Daten.
Wenn der blockierte Port nicht mehr funktioniert, wird der nächste Port mit der höchsten MAC-Adresse blockiert.
Nach dem Starten beginnen die Switches, Ring Protocol Data Unit (R-PDU) zu senden. R-PDU wird mittels Multicast übertragen. R-PDU ist eine Servicemeldung, ähnlich wie BPDU in RSTP. R-PDU enthält die Portstatus des Switches und seine MAC-Adresse.
Algorithmus für den Umgang mit einem Kanalfehler
Wenn ein Kanal ausfällt, senden die Switches R-PDU, um über die Änderung der Portstatus zu informieren.
Algorithmus für den Umgang mit der Wiederherstellung des Kanals
Wenn der ausgefallene Kanal wieder in Betrieb genommen wird, senden die Switches R-PDU, um über die Änderung der Portstatus zu informieren.
Der Switch mit der höchsten MAC-Adresse wird zum neuen Root-Switch.
Der ausgefallene Kanal wird zum Backup.





Nach der Wiederherstellung bleibt einer der Ports des Kanals blockiert, während der andere in den Zustand der Weiterleitung wechselt. Der blockierte Port ist der Port mit der höchsten Geschwindigkeit. Wenn die Geschwindigkeiten gleich sind, wird der Port des Switches mit der höchsten MAC-Adresse blockiert. Dieses Prinzip sorgt dafür, dass der Port, der aus dem Zustand blockiert in den Zustand der Weiterleitung wechselt, mit der maximalen Geschwindigkeit arbeitet.

Maximale Anzahl von Geräten im Netzwerk
Die maximale Anzahl von Switches im ERR-Ring beträgt 200.
Interaktion zwischen ERR und RSTP
RSTP kann in Verbindung mit ERR verwendet werden. Aber der RSTP-Ring und der ERR-Ring sollten nur über einen Switch verbunden sein.

Zusammenfassung
ERR eignet sich hervorragend zur Organisation gängiger Topologien. Zum Beispiel einen Ring oder einen doppelten Ring.


Solche Topologien werden häufig zur Redundanz in industriellen Einrichtungen verwendet.
Darüber hinaus kann mit ERR die zweite Topologie weniger zuverlässig, aber kostengünstiger umgesetzt werden. Dies kann durch einen doppelten Ring erfolgen.

Aber nicht immer kann ERR angewendet werden. Es gibt durchaus exotische Schemen. Mit einem unserer Auftraggeber haben wir die folgende Topologie getestet.

In diesem Fall ist es nicht möglich, ERR anzuwenden. Für dieses Schema haben wir RSTP verwendet. Der Kunde hatte eine strenge Anforderung an die Konvergenzzeit – weniger als 3 Sekunden. Um diese Zeit zu erreichen, war es notwendig, die Root-Switches (haupt und standby) sowie die Kosten für die Ports manuell genau festzulegen.
Insgesamt bietet ERR deutliche Vorteile bei der Konvergenzzeit, bietet jedoch nicht die Flexibilität, die RSTP bietet.
Quelle: habr.com
