Pe internet pot fi găsite multe materiale despre protocolul RSTP. În cadrul acestui articol, propun să compar protocolul RSTP cu protocolul proprietar de la – Redundanță Extinsă a Inelului.
Detalii despre implementarea RSTP
Informații generale
Timp de convergență – 1-10 secunde
Topologii posibile – oricare
Se crede adesea că RSTP permite interconectarea comutatoarelor doar într-un inel:

Dar RSTP permite conectarea comutatoarelor într-un mod arbitrar. De exemplu, cu o astfel de topologie, RSTP va funcționa.

Principiul de funcționare
RSTP transformă orice topologie într-un arbore. Unul dintre comutatoare devine centrul topologiei – comutatorul rădăcină. Comutatorul rădăcină permite trecerea celor mai multe date.
Principiul de funcționare al RSTP este următorul:
- Se furnizează alimentare comutatoarelor;
- se alege comutatorul rădăcină;
- celelalte comutatoare determină cel mai rapid drum către comutatorul rădăcină;
- canalele rămase sunt blocate și devin de rezervă.
Alegerea comutatorului rădăcină
Comutatoarele cu RSTP schimbă pachete BPDU. BPDU este un pachet de servicii care conține informații RSTP. Există două tipuri de BPDU:
- Configuration BPDU.
- Topology Change Notification.
Configuration BPDU este utilizat pentru construirea topologiei. Acesta este trimis doar de comutatorul rădăcină. Configuration BPDU conține:
- identificatorul expeditorului (Bridge ID);
- identificatorul comutatorului rădăcină (Root Bridge ID);
- identificatorul portului prin care a fost trimis acest pachet (Port ID);
- costul rutei până la comutatorul rădăcină (Root Path Cost).
Topology Change Notification poate fi trimis de orice comutator. Acestea sunt trimise în cazul unei modificări a topologiei.
După activare, toate comutatoarele se consideră rădăcini. Ele încep să transmită pachete BPDU. De îndată ce un comutator primește un BPDU cu un Bridge ID mai mic decât al său, acesta încetează să se considere rădăcină.
Bridge ID constă din două valori – adresa MAC și prioritatea Bridge. Nu putem schimba adresa MAC. Prioritatea Bridge este, în mod implicit, 32768. Dacă nu schimbăm prioritatea Bridge, comutatorul cu cea mai mică adresă MAC va deveni rădăcină. Comutatorul cu cea mai mică adresă MAC este cel mai vechi și, poate, nu cel mai performant. Se recomandă să se definească manual comutatorul rădăcină al topologiei. Pentru aceasta, pe comutatorul rădăcină trebuie setată o prioritate a Bridge mică (de exemplu, 0). De asemenea, se poate defini un comutator rădăcină de rezervă, atribuindu-i o prioritate a Bridge ușor mai mare (de exemplu, 4096).

Alegerea căii către comutatorul rădăcină
Comutatorul rădăcină trimite pachete BPDU către toate porturile active. BPDU are un câmp numit Path Cost. Path Cost reprezintă costul căii. Cu cât costul căii este mai mare, cu atât pachetul este transmis mai lent. Atunci când BPDU trece printr-un port, costul se adaugă în câmpul Path Cost. Numărul adăugat se numește Costul Portului.

Path Cost adaugă o anumită valoare atunci când BPDU trece printr-un port. Acea valoare se numește Costul Portului (Port Cost) și poate fi definită atât manual, cât și automat. Costul Portului poate fi stabilit atât manual, cât și automat.
Când un comutator non-rădăcină are mai multe căi alternative către rădăcină, el alege cea mai rapidă. Compară costul căii (Path Cost) pentru aceste căi. Portul prin care a venit BPDU cu cel mai mic Path Cost devine portul rădăcină (Root Port).



Costurile porturilor care sunt atribuite automat pot fi vizualizate în tabel:
Viteza de transfer a portului
Costul portului
10 Mb/s
2 000 000
100 Mb/s
200 000
1 Gb/s
20 000
10 Gb/s
2 000
Roluri și statusuri ale porturilor
Porturile comutatorului au mai multe statuturi și roluri.
Statușii porturilor (pentru STP):
- Disabled – inactiv.
- Blocking – ascultă BPDU, dar nu transmite. Nu transmite date.
- Listening – ascultă și transmite BPDU. Nu transmite date.
- Learning – ascultă și transmite BPDU. Se pregătește să transmită date – completează tabela MAC.
- Forwarding – transmite date, ascultă și transmite BPDU.
Timpul de convergență STP – 30-50 secunde. După activarea comutatorului, toate porturile trec prin toate statuturile. În fiecare statut, portul rămâne câteva secunde. Din această cauză, STP are un timp de convergență atât de lung. RSTP are mai puține statuturi pentru porturi.
Statușii porturilor (pentru RSTP):
- Discarding – inactiv.
- Discarding – ascultă BPDU, dar nu transmite. Nu transmite date.
- Discarding – ascultă și transmite BPDU. Nu transmite date.
- Learning – ascultă și transmite BPDU. Se pregătește să transmită date – completează tabela MAC.
- Forwarding – transmite date, ascultă și transmite BPDU.
- În RSTP, statuturile Disabled, Blocking și Listening sunt combinate într-unul – Discarding.
Roluri ale porturilor:
- Root port – portul prin care sunt transmise datele. Acesta este cel mai rapid drum către comutatorul rădăcină.
- Designated port – portul prin care sunt transmise datele. Este definit pentru fiecare segment LAN.
- Alternate port – portul prin care datele nu sunt transmise. Este o cale alternativă către comutatorul rădăcină.
- Backup port – portul prin care datele nu sunt transmise. Este o cale de rezervă pentru segmentul în care este deja conectat un port cu suport RSTP. Backup port este utilizat dacă două canale ale switch-ului sunt conectate la același segment (citește hub).
- Disabled port – RSTP este dezactivat pe acest port.
Alegerea Root Port este descrisă mai sus. Cum se alege Designated port?
În primul rând, hai să definim ce este un segment LAN. Un segment LAN este un domeniu de coliziune. domeniu. Pentru un switch sau un router, fiecare port formează un domeniu de coliziune separat. Segmentul LAN este canalul dintre switch-uri sau routere. Vorbind despre un hub, toate porturile de pe hub se află într-un singur domeniu de coliziune.
Un singur Designated Port este asignat unui segment.
În cazul segmentelor care au deja Root Port-uri, totul este clar. Al doilea port al segmentului devine Designated Port.

Dar rămân canalele de rezervă, unde va fi un singur Designated Port și un Alternate Port. Cum vor fi ele alese? Designated Port va fi portul cu cel mai mic Path Cost până la switch-ul rădăcină. Dacă Path Cost-urile sunt egale, atunci Designated Port va fi portul care se află pe switch-ul cu cel mai mic Bridge ID. Dacă și Bridge ID-urile sunt egale, atunci Designated Port devine portul cu cel mai mic număr. Al doilea port va fi Alternate.


Rămâne un ultim aspect: când portul primește rolul de Backup? Așa cum s-a menționat mai sus, Backup port este utilizat doar atunci când două canale ale switch-ului sunt conectate la același segment, adică la hub. În acest caz, Designated Port este ales exact după aceleași criterii:
- Cel mai mic Path Cost până la switch-ul rădăcină.
- Cel mai mic Bridge ID.
- Cel mai mic Port ID.
Numărul maxim de dispozitive în rețea
Standardul IEEE 802.1D nu impune cerințe stricte privind numărul de dispozitive în rețeaua LAN cu RSTP. Dar standardul recomandă utilizarea a nu mai mult de 7 switch-uri pe o ramură (nu mai mult de 7 hop-uri), adică nu mai mult de 15 într-un inel. Depășirea acestei valori începe să crească timpul de convergență al rețelei.
Detalii privind implementarea ERR.
Informații generale
Timp de convergență
Timpul de convergență ERR – 15 ms. La numărul maxim de switch-uri într-un inel și în cazul interconectării inelelor – 18 ms.
Topologii posibile
ERR nu permite combinarea liberă a dispozitivelor ca RSTP. ERR are topologii clare care pot fi utilizate:
- Inel
- Inel duplicat
- Interconectare până la trei inele

Inel

Când toate switch-urile sunt reunite într-o singură inel, pe fiecare switch trebuie să fie configurate porțile care vor participa la formarea inelului.
Inel dublu

Switch-urile pot fi unite într-un inel dublu, ceea ce crește semnificativ fiabilitatea inelului.
Limitările inelului dublu:
- Inelul dublu nu poate fi folosit pentru a conecta switch-urile cu alte inele. Pentru aceasta, este necesară utilizarea Ring Coupling.
- Inelul dublu nu poate fi folosit pentru inelul de couplare.


Couplarea inelelor

La couplare, în rețea nu pot fi mai mult de 200 de dispozitive.
Couplarea inelelor implică unirea celorlalte inele într-un alt inel.
Dacă un inel este conectat la un inel de couplare printr-un singur switch, acesta se numește couplare a inelelor printr-un singur switch. Dacă la inelul de couplare se conectează două switch-uri din inelul local, atunci aceasta va fi couplare prin două switch-uri.
La couplarea printr-un singur switch, ambele ports ale dispozitivului sunt utilizate. Timpul de convergență în acest caz va fi de aproximativ 15-17 ms. Cu o astfel de couplare, switch-ul de couplare va fi un punct de eșec, deoarece pierzând acest switch, se pierde imediat tot inelul. Couplarea prin două switch-uri permite evitarea acestui lucru.


Este posibil să se couplueze inelele duplicate.

Controlul traseelor

Funcția Controlul traseelor permite configurarea porților prin care vor fi transmise datele în regim normal de funcționare. Dacă canalul eșuează și rețeaua se reconstrucționează pe o topologie de rezervă, atunci după restaurarea canalului, rețeaua se va reconstrui din nou pe topologia specificată.
Această funcție permite economisirea pe cablul de rezervă. Mai mult, va fi întotdeauna cunoscută topologia utilizată pentru depanare.
Topologia principală comută la rezervă în 15 ms. Comutarea inversă la restaurarea rețelei va dura aproximativ 30 ms.
Limitări:
- Nu poate fi folosit împreună cu Dual Ring.
- Funcția trebuie activată pe toate switch-urile din rețea.
- Unul dintre switch-uri este configurat ca maestru al Controlului traseelor.
- Trecerea automată la topologia principală după restaurare se efectuează după 1 secundă în mod implicit (acest parametru poate fi modificat prin SNMP în intervalul de la 0 s la 99 s).
Principiul de funcționare

Principiul de funcționare al ERR
Ca exemplu, să luăm în considerare șase switch-uri – 1-6. Switch-urile sunt unite într-un inel. Fiecare switch folosește două porturi pentru a se conecta la inel și își păstrează statusurile. Switch-urile transmit statusurile porturilor una către cealaltă. Aceste date sunt utilizate de dispozitive pentru a stabili starea inițială a porturilor.

Porturile au doar două roluri – Blocat și Forwarding.
Switch-ul cu cel mai mare adresă MAC își blochează portul. Toate celelalte porturi din inel transmit date.
Dacă portul blocat încetează să funcționeze, următorul port cu cea mai mare adresă MAC devine blocat.
După încărcare, switch-urile încep să trimită Ring Protocol Data Unit (R-PDU). R-PDU este transmis prin multicast. R-PDU este un mesaj de serviciu, similar cu BPDU în RSTP. R-PDU conține statusurile porturilor switch-ului și adresa sa MAC.
Algoritmul de acțiuni în caz de defectare a canalului
Când canalul defectează, switch-urile trimit R-PDU pentru a anunța modificarea statusului porturilor.
Algoritmul de acțiuni în caz de restaurare a canalului
Când canalul defectat este readus în funcțiune, switch-urile trimit R-PDU pentru a anunța modificarea statusului porturilor.
Switch-ul cu cea mai mare adresă MAC devine noul switch rădăcină.
Canalul defectat devine rezervă.





După restaurare, unul dintre porturile canalului rămâne blocat, iar al doilea este trecut în stare de forwarding. Portul cu cea mai mare viteză devine portul blocat. Dacă vitezele sunt egale, portul switch-ului cu cea mai mare adresă MAC va fi blocat. Acest principiu permite blocarea portului care va trece din starea blocată în starea de forwarding cu viteza maximă.

Numărul maxim de dispozitive în rețea
Numărul maxim de switch-uri într-un inel ERR este de 200.
Interacțiunea ERR și RSTP
RSTP poate fi utilizat împreună cu ERR. Dar inelul RSTP și inelul ERR trebuie să se intersecteze doar printr-un singur switch.

Rezumat
ERR este ideal pentru organizarea topologiilor standard. De exemplu, un inel sau un inel duplicat.


Astfel de topologii sunt adesea utilizate pentru rezervare în obiective industriale.
Mai mult, prin utilizarea ERR, a doua topologie poate fi realizată mai puțin fiabil, dar mai economic. Acest lucru poate fi realizat printr-un inel duplicat.

Dar nu întotdeauna este posibil să aplici ERR. Există scheme destul de exotice. Cu unul dintre clienții noștri, am testat următoarea topologie.

În acest caz, aplicarea ERR nu este posibilă. Pentru acest tip de schemă, am utilizat RSTP. Clienții aveau o cerință strictă în ceea ce privește timpul de convergență – mai puțin de 3 secunde. Pentru a atinge acest timp, a fost necesar să definim clar comutatoarele principale (principal și de rezervă), precum și costurile porturilor manual.
Ca rezultat, ERR câștigă semnificativ la timpul de convergență, dar nu oferă flexibilitatea pe care o oferă RSTP.
Sursa: habr.com
