Der er mange materialer online om RSTP-protokollen. I denne artikel vil jeg sammenligne RSTP-protokollen med den proprietære protokol fra – Extended Ring Redundancy.
Detaljer om implementeringen af RSTP
Generel information
Konvergenstid – 1-10 c
Mulige topologier – enhver
Der er en udbredt opfattelse af, at RSTP kun kan forbinde switcher i en ring:

Men RSTP tillader at forbinde switcher på vilkårlig måde. For eksempel kan RSTP håndtere en sådan topologi.

Funktionsprincippet
RSTP reducerer enhver topologi til et træ. En af switcherne bliver centrum for topologien – roden. Rodswitchen leder den største mængde data.
RSTPs funktionsprincip er som følger:
- strøm tilføres switcherne;
- rod-switchen vælges;
- de resterende switcher bestemmer den hurtigste vej til rod-switchen;
- de resterende kanaler blokkes og bliver reserve.
Valg af rod-switch
Switche med RSTP udveksler BPDU-pakker. BPDU er en servicepakke, der indeholder oplysninger om RSTP. BPDU findes i to typer:
- Configuration BPDU.
- Topology Change Notification.
Configuration BPDU bruges til at konstruere topologien. Den sendes kun af rod-switchen. Configuration BPDU indeholder:
- afsenderens identifikator (Bridge ID);
- identifikatoren for rod-switchen (Root Bridge ID);
- portens identifikator, hvorfra denne pakke blev sendt (Port ID);
- omkostningerne ved ruten til rod-switchen (Root Path Cost).
Topology Change Notification kan sendes af enhver switch. De sendes i tilfælde af ændringer i topologien.
Når alle switcher tændes, betragter de sig som rod-switcher. De begynder at sende BPDU-pakker. Så snart en switch modtager en BPDU med en mindre Bridge ID end sin egen, stopper den med at betragte sig som rod.
Bridge ID består af to værdier – MAC-adresse og Bridge Priority. MAC-adressen kan vi ikke ændre. Bridge Priority er som standard 32768. Hvis man ikke ændrer Bridge Priority, vil den rod-switch blive den med den mindste MAC-adresse. Switchen med den mindste MAC-adresse er den ældste og muligvis ikke den mest effektive. Det anbefales at definere rod-switchen manuelt. For dette skal der på rod-switchen indstilles en lav Bridge Priority (for eksempel 0). Der kan også defineres en reserve rod-switch ved at give den en lidt højere Bridge Priority (for eksempel 4096).

Valg af sti til rodkontakt
Rodkontakten sender BPDU-pakker til alle aktive porte. BPDU har et felt kaldet Path Cost. Path Cost angiver omkostningerne ved stien. Jo højere Path Cost, jo længere tid tager det at overføre pakken. Når BPDU passerer gennem en port, tilføjes omkostningerne til feltet Path Cost. Det tilføjede tal kaldes Port Cost.

Når BPDU passerer gennem en port, tilføjes et bestemt værdi til Path Cost. Den værdi, der tilføjes kaldes portomkostninger (Port Cost) og kan defineres både manuelt og automatisk. Port Cost kan defineres både manuelt og automatisk.
Når en ikke-rodkontakt har flere alternative stier til roden, vælger den den hurtigste. Den sammenligner Path Cost for disse stier. Den port, hvor BPDU ankom med den laveste Path Cost, bliver rodporten (Root Port).



De automatisk tildelte portomkostninger kan ses i tabellen:
Portens datatransmissionshastighed
Portomkostning
10 Mbit/s
2 000 000
100 Mbit/s
200 000
1 Gbit/s
20 000
10 Gbit/s
2 000
Portroller og statusser
Portene på kontakten har flere statuser og roller.
Porte statuser (for STP):
- Disabled – inaktiv.
- Blocking – lytter til BPDU, men videresender ikke. Sender ikke data.
- Listening – lytter og videresender BPDU. Sender ikke data.
- Learning – lytter og videresender BPDU. Forbereder sig på at sende data — udfylder MAC-adresse-tabel.
- Forwarding – sender data, lytter og videresender BPDU.
STP's convergenstid er 30-50 sekunder. Når kontakten aktiveres, gennemgår alle porte alle statuser. I hver status er porten i flere sekunder. På grund af denne funktionalitet har STP en lang convergenstid. RSTP har færre portstatusser.
Portstatusser (for RSTP):
- Discarding – inaktiv.
- Discarding – lytter til BPDU, men videresender ikke. Sender ikke data.
- Discarding – lytter og videresender BPDU. Sender ikke data.
- Learning – lytter og videresender BPDU. Forbereder sig på at sende data — udfylder MAC-adresse-tabel.
- Forwarding – sender data, lytter og videresender BPDU.
- I RSTP er statuserne Disabled, Blocking og Listening kombineret til en – Discarding.
Portroller:
- Rodport – porten, hvorigennem data sendes. Den fungerer som den hurtigst mulige vej til rodkontakten.
- Designated port – porten, hvorigennem data sendes. Defineret for hvert LAN-segment.
- Alternativ port – porten, hvorigennem data ikke sendes. Den er en alternativ vej til rodkontakten.
- Backup port – den port, hvor data ikke overføres. Den fungerer som en reservevej for segmentet, hvor én port med RSTP allerede er tilsluttet. Backup port bruges, hvis to switch-kanaler er tilsluttet det samme segment (dvs. hub).
- Disabled port – RSTP er deaktiveret på denne port.
Valget af Root Port er beskrevet ovenfor. Hvordan vælges Designated port?
Først lad os definere, hvad et LAN-segment er. Et LAN-segment er en kollisions- domænedomaine. For en switch eller router danner hver port et separat kollisionsdomæne. LAN-segmentet er kanalen mellem switches eller routers. Med hensyn til en hub er alle porte i hub'en i ét kollisionsdomæne.
Kun én Designated Port tildeles til et segment.
I tilfælde af segmenter, der allerede har Root Port'er, er alt klart. Den anden port i segmentet bliver Designated Port.

Men der er resterende reservekanaler, hvor der vil være én Designated Port og én Alternate Port. Hvordan vælges de? Designated Port bliver den port med den laveste Path Cost til rod-switchen. Hvis Path Cost er ens, så vil Designated Port være den port, der findes på switchen med det laveste Bridge ID. Hvis også Bridge ID'er er ens, bliver Designated Port den port med det laveste portnummer. Den anden port vil være Alternate.


Der er et sidste punkt: Hvornår tildeles en port rollen som Backup? Som nævnt ovenfor anvendes Backup port kun, når to switch-kanaler er tilsluttet det samme segment, dvs. til hub'en. I så fald vælges Designated Port efter de samme kriterier:
- Den laveste Path Cost til rod-switchen.
- Det laveste Bridge ID.
- Det laveste Port ID.
Maksimalt antal enheder i netværket
Standard IEEE 802.1D stiller ikke strenge krav til antallet af enheder i et LAN med RSTP. Men standarden anbefaler ikke at bruge mere end 7 switches i en gren (højst 7 hop), dvs. ikke mere end 15 i en ring. Når dette antal overskrides, begynder netværkets konvergens tid at stige.
Detaljer om implementeringen af ERR.
Generel information
Konvergenstid
Konvergens-tiden for ERR er 15 ms. Ved det maksimale antal switches i ringen og med ringforbindelse – 18 ms.
Mulige topologier
ERR tillader ikke fri sammenkobling af enheder som RSTP. ERR har klare topologier, som kan anvendes:
- Ring
- Dobbelt ring
- Forbindelse af op til tre ringe

Ring

Når alle switche samles i en ERR-ring, skal der på hver switch konfigureres porte, som vil deltage i opbygningen af ringen.
Dobbelt ring

Switche kan sammenkobles i en dobbelt ring, hvilket væsentligt øger ringens pålidelighed.
Begrænsninger for dobbelt ring:
- En dobbelt ring kan ikke bruges til at tilslutte switche til andre ringe. Til dette er det nødvendigt at bruge Ring Coupling.
- En dobbelt ring kan ikke bruges til ringkobling.


Ringkobling

Der kan være maksimalt 200 enheder ved ringkobling i netværket.
Ringkobling indebærer at samle de resterende ringe i en anden ring.
Hvis en ring tilsluttes en ringkobling via én switch, kaldes dette ringkobling via én switch. Hvis to switche fra den lokale ring tilsluttes ringkoblingen, vil dette være kobling via to switche.
Ved kobling via én switch anvendes begge porte på enheden. I dette tilfælde vil konvergeringstiden være cirka 15-17 ms. Ved en sådan kobling vil koblingsswitchen være et enkelt fejlpunkts, da tab af denne switch medfører tab af hele ringen. Kobling via to switche tillader at undgå dette.


Det er muligt at koble dublerede ringe.

Path Control

Path Control-funktionen gør det muligt at konfigurere de porte, gennem hvilke data vil blive sendt i normal drift. Hvis kanalen fejler og netværket skifter til en backup-topologi, vil netværket efter genoprettelse af kanalen skifte tilbage til den angivne topologi.
Denne funktion sparer på backup-kabler. Desuden vil den anvendte topologi altid være kendt for fejlfinding.
Den primære topologi skifter til backup-topologien på 15 ms. Tilbagevendingen, når netværket genoprettes, vil tage omkring 30 ms.
Begrænsninger:
- Kan ikke bruges sammen med Dual Ring.
- Funktionen skal være aktiveret på alle switche i netværket.
- En af switchene konfigureres som master Path Control.
- Den automatiske overgangen til den primære topologi efter genoprettelse sker efter 1 sekund som standard (denne parameter kan ændres ved hjælp af SNMP inden for intervallet fra 0 sek. til 99 sek.).
Funktionsprincippet

Princip for ERR's drift
Som vi vil se, tager vi seks switche - 1-6. Switchene er samlet i en ring. Hver switch bruger to porte til at forbinde til ringen og gemmer deres status. Switchene videresender statusserne for portene til hinanden. Disse data bruges af enhederne til at fastslå den oprindelige tilstand for portene.

Portene har kun to roller - Blokeret og Forwarding.
Switchen med den højeste MAC-adresse blokerer sin port. Alle andre porte i ringen videresender data.
Hvis den blokerede port stopper med at fungere, bliver den næste port med den højeste MAC-adresse blokeret.
Efter opstart begynder switchene at sende Ring Protocol Data Unit (R-PDU). R-PDU sendes ved hjælp af multicast. R-PDU er en servicebesked, ligesom BPDU i RSTP. R-PDU indeholder statusserne for switchens porte og dens MAC-adresse.
Handlingsalgoritme ved kanalfailure
Når kanalen fejler, sender switchene R-PDU for at informere om ændringen i portenes status.
Handlingsalgoritme ved kanalgenopretning
Når den fejlede kanal genoprettes, sender switchene R-PDU for at informere om ændringen i portenes status.
Switchen med den højeste MAC-adresse bliver den nye rodeswitch.
Den fejlede kanal bliver reserven.





Efter genopretning forbliver en af portene i kanalen blokeret, mens den anden går i forwarding tilstand. Den blokerede port bliver den port med den højeste hastighed. Hvis hastighederne er ens, bliver den blokerede port switchen med den højeste MAC-adresse. Denne metode giver mulighed for at blokere en port, der vil gå fra blocked til forwarding med maksimal hastighed.

Maksimalt antal enheder i netværket
Det maksimale antal switches i et ERR-ring er 200.
Interaktion mellem ERR og RSTP
RSTP kan bruges sammen med ERR. Men RSTP-ringen og ERR-ringen skal kun krydse gennem én switch.

CV
ERR er ideelt til organisering af standardtopologier. For eksempel ring eller dubleret ring.


Sådanne topologier anvendes ofte til redundans i industrielle anlæg.
Desuden kan den anden topologi ved hjælp af ERR implementeres mindre pålideligt, men mere budgetvenligt. Dette kan gøres ved hjælp af en dubleret ring.

Men ERR kan ikke altid anvendes. Der findes tilstrækkeligt eksotiske konfigurationer. Med en af vores kunder testede vi følgende topologi.

I dette tilfælde er det ikke muligt at anvende ERR. For denne ordning brugte vi RSTP. Kunden havde et strengt krav til konvergenstid – mindre end 3 sekunder. For at opnå denne tid var det nødvendigt klart at definere rodswitchene (primær og reserve) samt omkostningerne ved portene manuelt.
Som konklusion vinder ERR betydeligt i konvergenstid, men giver ikke den fleksibilitet, som RSTP tilbyder.
Kilde: habr.com
