Er zijn veel materialen over het RSTP-protocol op het internet te vinden. In dit artikel stel ik voor om het RSTP-protocol te vergelijken met het proprietaire protocol van ā Extended Ring Redundancy.
Details van de implementatie van RSTP
Algemene Informatie
Convergentietijd ā 1-10 s
Mogelijke topologieĆ«n ā elke
Het is een veel gehoorde mening dat RSTP alleen switches in een ring kan verbinden:

Maar RSTP laat switches op willekeurige manieren verbinden. Bijvoorbeeld, een dergelijke topologie kan RSTP aan.

Werking
RSTP reduceert elke topologie tot een boom. Een van de switches wordt het centrum van de topologie ā de root switch. De root switch laat de meeste gegevens door.
Het werkingsprincipe van RSTP is als volgt:
- de switches worden van stroom voorzien;
- de root switch wordt geselecteerd;
- de andere switches bepalen de snelste weg naar de root switch;
- de resterende verbindingen worden geblokkeerd en worden reserveverbindingen.
Selectie van de root switch
Switches met RSTP wisselen BPDU-pakketten uit. BPDU is een servicepakket dat informatie over RSTP bevat. BPDU zijn er in twee typen:
- Configuration BPDU.
- Topology Change Notification.
Configuration BPDU wordt gebruikt voor het opbouwen van de topologie. Het wordt alleen door de root switch verzonden. Configuration BPDU bevat:
- de verzender-ID (Bridge ID);
- de identifier van de root switch (Root Bridge ID);
- de poort-ID van waaruit dit pakket is verzonden (Port ID);
- de kosten voor de route naar de root switch (Root Path Cost).
Topology Change Notification kan door elke switch worden verzonden. Ze worden verstuurd in het geval van een wijziging in de topologie.
Na inschakeling beschouwen alle switches zichzelf als root. Ze beginnen BPDU-pakketten uit te zenden. Zodra een switch een BPDU ontvangt met een lagere Bridge ID dan die van zichzelf, stopt hij met zichzelf als root te beschouwen.
Bridge ID bestaat uit twee waarden ā MAC-adres en Bridge Priority. Het MAC-adres kunnen we niet wijzigen. De Bridge Priority is standaard ingesteld op 32768. Als de Bridge Priority niet wordt gewijzigd, wordt de switch met het laagste MAC-adres de root. De switch met het laagste MAC-adres is de oudste en mogelijk niet de meest krachtige. Het wordt aanbevolen om handmatig de root switch van de topologie te bepalen. Hiervoor moet er op de root switch een lage Bridge Priority (bijvoorbeeld 0) worden ingesteld. Daarnaast kan er een backup root switch worden gedefinieerd door deze een iets hogere Bridge Priority (bijvoorbeeld 4096) te geven.

Keuze van het pad naar de root switch
De root switch verzendt BPDU-pakketten naar alle actieve poorten. BPDU heeft een veld Path Cost. Path Cost geeft de kosten van het pad aan. Hoe hoger de kosten van het pad, hoe langer het duurt voordat het pakket wordt verzonden. Wanneer BPDU door een poort gaat, worden de kosten toegevoegd aan het Path Cost. Het toegevoegde getal wordt Port Cost genoemd.

Er wordt een bepaalde waarde toegevoegd aan Path Cost wanneer BPDU door een poort gaat. De waarde die wordt toegevoegd, wordt de kosten van de poort (Port Cost) genoemd en kan zowel handmatig als automatisch worden bepaald. Port Cost kan zowel handmatig als automatisch worden bepaald.
Wanneer een niet-root switch meerdere alternatieve paden naar de root switch heeft, kiest deze het snelste pad. Het vergelijkt de Path Costs van deze paden. De poort waarlangs de BPDU met de laagste Path Cost binnenkomt, wordt de root poort (Root Port).



Automatisch toegewezen portkosen kunnen worden bekeken in de tabel:
Dataoverdrachtssnelheid van de poort
Port Cost
10 Mb/s
2 000 000
100 Mb/s
200 000
1 Gb/s
20 000
10 Gb/s
2 000
Rollen en statussen van poorten
Switch-poorten hebben verschillende statussen en rollen.
Statussen van poorten (voor STP):
- Disabled ā niet actief.
- Blocking ā luistert naar BPDU, maar verzendt niet. Verzendt geen gegevens.
- Listening ā luistert en verzendt BPDU. Verzendt geen gegevens.
- Learning ā luistert en verzendt BPDU. Bereidt zich voor op het verzenden van gegevens - vult de MAC-adrestabel.
- Forwarding ā verzendt gegevens, luistert naar en verzendt BPDU.
De convergentietijd van STP is 30-50 seconden. Na het inschakelen van de switch doorlopen alle poorten alle statussen. Elke status duurt enkele seconden. Vanwege deze werkwijze heeft STP zo'n lange convergentietijd. RSTP heeft minder poortstatussen.
Statussen van poorten (voor RSTP):
- Discarding ā niet actief.
- Discarding ā luistert naar BPDU, maar verzendt niet. Verzendt geen gegevens.
- Discarding ā luistert en verzendt BPDU. Verzendt geen gegevens.
- Learning ā luistert en verzendt BPDU. Bereidt zich voor op het verzenden van gegevens - vult de MAC-adrestabel.
- Forwarding ā verzendt gegevens, luistert naar en verzendt BPDU.
- In RSTP zijn de statussen Disabled, Blocking en Listening samengevoegd tot ƩƩn - Discarding.
Rollen van poorten:
- Root port ā poort waardoor gegevens worden verzonden. Dit is de snelste weg naar de root switch.
- Designated port ā poort waardoor gegevens worden verzonden. Gedefinieerd voor elk LAN-segment.
- Alternate port ā poort waardoor gegevens niet worden verzonden. Dit is een alternatieve weg naar de root switch.
- Backup port ā de poort waardoor gegevens niet worden verzonden. Het is een back-up pad voor een segment waar al een poort met RSTP-ondersteuning is aangesloten. Backup port wordt gebruikt als twee schakelaar kanalen zijn verbonden met hetzelfde segment (lees hub).
- Disabled port ā RSTP is uitgeschakeld op deze poort.
De keuze van Root Port is hierboven beschreven. Hoe wordt de Designated port gekozen?
Laten we eerst definiƫren wat een LAN-segment is. Een LAN-segment is een botsingsveld. domein. Voor een switch of router vormt elke poort een afzonderlijk botsingsdomein. Een LAN-segment is een kanaal tussen switches of routers. Als we het over een hub hebben, bevinden alle poorten van de hub zich in hetzelfde botsingsdomein.
Op ƩƩn segment kan slechts ƩƩn Designated Port worden toegewezen.
In het geval van segmenten waar al Root Ports zijn, is het heel duidelijk. De tweede poort van het segment wordt de Designated Port.

Maar er blijven back-up kanalen over, waar er ƩƩn Designated Port en ƩƩn Alternate Port zal zijn. Hoe worden deze gekozen? De Designated Port wordt de poort met de laagste Path Cost naar de root switch. Als de Path Costs gelijk zijn, dan wordt de Designated Port die poort die zich op de switch met het laagste Bridge ID bevindt. Als ook de Bridge IDs gelijk zijn, dan wordt de Designated Port de poort met het laagste nummer. De tweede poort wordt Alternate.


Er blijft nog ƩƩn aspect over: wanneer wordt een poort de rol van Backup toegewezen? Zoals eerder vermeld, wordt de Backup port alleen gebruikt wanneer twee schakelaar kanalen zijn verbonden met hetzelfde segment, dat wil zeggen met de hub. In dit geval wordt de Designated Port precies volgens dezelfde criteria gekozen:
- De laagste Path Cost naar de root switch.
- Het laagste Bridge ID.
- Het laagste Port ID.
Het maximale aantal apparaten in het netwerk.
De IEEE 802.1D standaard stelt geen strikte eisen aan het aantal apparaten in een LAN met RSTP. Maar de standaard beveelt aan om niet meer dan 7 switches in ƩƩn tak te gebruiken (niet meer dan 7 hops), d.w.z. niet meer dan 15 in een ring. Bij overschrijding van deze waarde begint de convergentietijd van het netwerk te toenemen.
Details van de implementatie van ERR.
Algemene Informatie
Convergentietijd
De convergentietijd van ERR is 15 ms. Bij het maximale aantal switches in de ring en de aanwezigheid van ringkoppelingen ā 18 ms.
Mogelijke topologieƫn
ERR laat niet vrij toe om apparaten zoals RSTP te combineren. ERR heeft duidelijke topologieƫn die kunnen worden gebruikt:
- Ring
- Geredundeerde ring
- Koppeling van tot drie ringen

Ring

Wanneer alle switchers in de ERR in een enkele ring worden samengevoegd, moeten de poorten op elke switch worden ingesteld die zullen deelnemen aan het opbouwen van de ring.
Dubbele ring

Switchers kunnen worden samengevoegd in een dubbele ring, wat de betrouwbaarheid van de ring aanzienlijk verhoogt.
Beperkingen van de dubbele ring:
- De dubbele ring kan niet worden gebruikt voor het koppelen van switchers met andere ringen. Hiervoor moet Ring Coupling worden gebruikt.
- De dubbele ring kan niet worden gebruikt voor de ringverbinding.


Ring koppeling

Bij koppeling in het netwerk mogen er niet meer dan 200 apparaten zijn.
Ring koppeling houdt in dat andere ringen in nog een ring worden samengevoegd.
Als de ring via ƩƩn switch met de ringverbinding wordt verbonden, wordt dit genoemd ring koppeling via ƩƩn switch. Als twee switchers uit de lokale ring verbinding maken met de ringverbinding, wordt dit koppeling via twee switchers.
Bij koppeling via ƩƩn switch worden beide poorten op het apparaat gebruikt. De convergentietijd in dit geval zal ongeveer 15-17 ms bedragen. Bij een dergelijke koppeling zal de schakelswitch de enkele foutpunt zijn, omdat als deze switch verloren gaat, de hele ring verloren gaat. Koppeling via twee switchers voorkomt dit.


Het is mogelijk om gedupliceerde ringen te koppelen.

Padbeheer

De functie Padbeheer stelt in staat om de poorten in te stellen waarlangs gegevens normaal worden verzonden. Als de verbinding faalt en het netwerk overschakelt naar de back-up topologie, dan zal het netwerk, na herstel van de verbinding, weer terugschakelen naar de opgegeven topologie.
Deze functie bespaart op de back-upkabel. Bovendien is de gebruikte topologie altijd bekend voor probleemoplossing.
De hoofdtopologie schakelt binnen 15 ms over naar de back-up. Het omgekeerde omschakelen bij herstel van het netwerk zal ongeveer 30 ms in beslag nemen.
Beperkingen:
- Kan niet samen met Dual Ring worden gebruikt.
- De functie moet op alle switches in het netwerk zijn ingeschakeld.
- Een van de switches wordt ingesteld als de master van Padbeheer.
- De automatische overgang naar de hoofdtopologie na herstel gebeurt standaard na 1 seconde (dit argument kan worden gewijzigd via SNMP in de range van 0s tot 99s).
Werking

Werking van ERR
Neem bijvoorbeeld zes switches ā 1-6. De switches zijn verbonden in een ring. Elke switch gebruikt twee poorten om verbinding te maken met de ring en slaat hun statussen op. De switches verzenden de statussen van de poorten naar elkaar. Deze gegevens worden door de apparaten gebruikt om de initiĆ«le status van de poorten in te stellen.

Poorten hebben maar twee rollen ā Geblokkeerd en Forwarding.
De switch met het hoogste MAC-adres blokkeert zijn poort. Alle andere poorten in de ring verzenden gegevens.
Als de geblokkeerde poort niet meer werkt, wordt de volgende poort met het hoogste MAC-adres geblokkeerd.
Na het opstarten beginnen de switches RING Protocol Data Unit (R-PDU) te verzenden. R-PDU wordt verzonden met behulp van multicast. R-PDU is een servicebericht, net als BPDU in RSTP. R-PDU bevat de statussen van de poorten van de switch en zijn MAC-adres.
Actie-algoritme bij kanaalfouten
Wanneer een kanaal uitvalt, verzenden de switches R-PDU om de wijziging van de poortstatussen te melden.
Actie-algoritme bij kanaalherstel
Wanneer het defecte kanaal weer in gebruik wordt genomen, verzenden de switches R-PDU om de wijziging van de poortstatussen te melden.
De switch met het hoogste MAC-adres wordt de nieuwe root switch.
Het defecte kanaal wordt de reserve.





Na herstel blijft een van de poorten van het kanaal geblokkeerd, terwijl de andere in de status forwarding wordt gezet. De geblokkeerde poort is de poort met de hoogste snelheid. Als de snelheden gelijk zijn, wordt de poort van de switch met het hoogste MAC-adres geblokkeerd. Dit principe stelt in staat om de poort te blokkeren, die van de status geblokkeerd naar forwarding gaat met de maximale snelheid.

Het maximale aantal apparaten in het netwerk.
Het maximale aantal switches in een ERR-ring is 200.
Interactie tussen ERR en RSTP
RSTP kan worden gebruikt in combinatie met ERR. Maar de RSTP-ring en de ERR-ring moeten alleen via ƩƩn switch met elkaar overlappen.

Samenvatting
ERR is uitstekend geschikt voor het opzetten van standaardtopologieƫn. Bijvoorbeeld, een ring of een gedupliceerde ring.


Dergelijke topologieƫn worden vaak toegepast voor redundantie in industriƫle objecten.
Bovendien kan met behulp van ERR de tweede topologie minder betrouwbaar maar voordeliger worden gerealiseerd. Dit kan worden gedaan met behulp van een gedupliceerde ring.

Maar ERR kan niet altijd worden toegepast. Er zijn vrij exotische schema's. Met een van onze klanten hebben we de volgende topologie getest.

In dit geval is het niet mogelijk om ERR toe te passen. Voor dit schema hebben we RSTP gebruikt. De klant had een strikte eis voor de convergentietijd - minder dan 3 seconden. Om deze tijd te bereiken, moesten we de root-switches (hoofd en reserve) duidelijk definiƫren, evenals de kosten van de poorten in handmatige modus.
Uiteindelijk wint ERR aanzienlijk op convergentietijd, maar het biedt niet de flexibiliteit die RSTP biedt.
Bron: habr.com
