Să presupunem că STP se află în starea sa de convergență. Ce se va întâmpla dacă iau un cablu și conectez switch-ul N direct la switch-ul principal A? Root Bridge va "vedea" că a apărut un nou port activat și va trimite BPDU prin acesta.

Switch-ul N, primind acest cadru cu cost zero, va determina costul rutei prin noul port ca fiind 0+19=19, având în vedere că costul portului său principal este 76. După aceea, portul switch-ului N, care anterior era în stare dezactivată, va trece prin toate etapele de tranziție și se va schimba în modul de transmisie abia după 50 de secunde. Dacă la acest switch sunt conectate alte dispozitive, toate acestea vor pierde conexiunea cu switch-ul principal și cu rețeaua în general timp de 50 de secunde.
La fel procedează și switch-ul G, care primește de la switch-ul N un cadru BPDU cu notificarea costului de 19. Acesta își schimbă costul portului desemnat la 19+19=38 și îl reprogramează ca noul său port principal, deoarece costul vechiului său Root Port este 57, ceea ce este mai mare decât 38. Astfel, toate etapele de reprograme a porturilor, care durează 50 de secunde, încep din nou și, în final, întreaga rețea se va prăbuși.

Acum să examinăm ce se va întâmpla în situații similare utilizând RSTP. Switch-ul principal va trimite la fel BPDU switch-ului N care s-a conectat la el, dar imediat după aceea își va bloca portul. Primind acest cadru, switch-ul N va determina că această rută are un cost mai mic decât portul său principal și îl va bloca instantaneu. După aceea, N va trimite switch-ului principal o propunere de deschidere a unui nou port, deoarece costul său este mai mic decât costul deja existent al portului principal. După ce switch-ul principal va accepta această solicitare, el va debloca portul său și va trimite un acord switch-ului N, după care acesta din urmă va face noul port să fie portul său principal.

Astfel, datorită mecanismului Proposal/Agreement, reprogramele portului principal se vor realiza practic instantaneu și toate dispozitivele conectate la switch-ul N nu vor pierde conexiunea cu rețeaua.
După ce a desemnat noul Root Port, switch-ul N va transforma vechiul port principal într-un port alternativ. Aceeași situație se va întâmpla cu switch-ul G - va schimba mesaje Proposal/Agreement cu switch-ul N, va desemna un nou port principal și va bloca celelalte porturi. Procesul va continua în segmentul următor al rețelei cu switch-ul F.

Switch-ul F, analizând costurile, va observa că ruta către switch-ul rădăcină prin portul inferior va costa 57, în timp ce ruta deja existentă prin portul superior costă 38, și va lăsa totul așa cum este. Aflând despre asta, switch-ul G va bloca portul îndreptat către F și va redirecționa traficul către switch-ul rădăcină prin noua rută G-H-A.
Până când switch-ul F nu va primi o Propunere/Contract de la switch-ul G, el va menține portul său inferior blocat pentru a preveni formarea buclelor. Așadar, observați că RSTP este un protocol foarte rapid care nu creează probleme în rețea specifice STP.
Acum să trecem la examinarea comenzilor. Trebuie să intrați în modul de configurare globală a switch-ului și să alegeți modul PVST sau RPVST folosind comanda spanning-tree mode . Apoi, trebuie să decideți cum să modificați prioritatea unei VLAN specifice. Acest lucru se face prin comanda spanning-tree vlan priority . Din ultimul tutorial video ar trebui să-ți amintești că prioritatea este un număr, multiplu de 4096, iar în mod implicit, acest număr este 32768 plus numărul rețelei VLAN. Dacă ai ales VLAN1, atunci prioritatea implicită va fi 32768+1= 32769.

De ce ar putea fi necesară modificarea priorității rețelelor? Știm că BID constă într-o valoare numerică de prioritate și MAC-adresa. MAC-adresa dispozitivului nu poate fi schimbată, are o valoare fixă, așa că doar mărimea priorității poate fi modificată.
Să presupunem că există o rețea mare unde toate dispozitivele Cisco sunt conectate într-un mod circular. În acest caz, PVST este activat implicit, deci sistemul va alege switch-ul rădăcină. Dacă toate dispozitivele au aceeași prioritate, switch-ul cu cea mai veche MAC-adresă va avea prioritate. Totuși, aceasta ar putea fi un switch de 10-12 ani, un model învechit, care nu mai are puterea și performanța necesară pentru a "conduce" o rețea atât de extinsă.
În același timp, în rețeaua ta ar putea fi un switch nou de câteva mii de dolari, care din cauza unui număr MAC mai mare este obligat să "se supună" unui switch vechi de câteva sute de dolari. Dacă switch-ul vechi devine switch-ul rădăcină, aceasta indică o eroare severă de design în rețea.
Prin urmare, trebuie să accesați setările noului switch și să-i atribuiți o valoare minimă a priorității, de exemplu, 0. Când se utilizează VLAN1, valoarea totală a priorității va fi 0+1=1, iar toate celelalte dispozitive vor considera constant acest switch ca fiind switch-ul rădăcină.
Acum să ne imaginăm o astfel de situație. Dacă switch-ul rădăcină devine inaccesibil dintr-un anumit motiv, s-ar putea să doriți ca noul switch rădăcină să nu fie orice switch cu o prioritate mai mică, ci un anumit switch cu cele mai bune funcții de rețea. În acest caz, în setările Root Bridge, se folosește comanda care desemnează switch-uri rădăcină principale și secundare: spanning-tree vlan root . Valoarea priorității pentru switch-ul principal va fi 32768 – 4096 – 4096 = 24576. Pentru switch-ul secundar, aceasta se calculează prin formula 32768 – 4096 = 28672.
Nu este nevoie să introduceți aceste numere manual – sistemul le va genera automat pentru dumneavoastră. Astfel, switch-ul cu prioritate 24576 va fi switch-ul rădăcină, iar în cazul în care acesta devine inaccesibil, switch-ul cu prioritate 28672 va prelua această funcție, având în vedere că prioritatea tuturor celorlalte switch-uri este, în mod implicit, de cel puțin 32768. Asta este procedura dacă nu doriți ca sistemul să desemneze automat switch-ul rădăcină.
Dacă doriți să vizualizați setările protocolului STP, trebuie să folosiți comanda show spanning-tree summary. Acum să examinăm toate subiectele studiate astăzi folosind Packet Tracer. Folosesc o topologie de rețea cu 4 switch-uri model 2690, dar acest lucru nu contează, deoarece toate modelele de switch-uri Cisco suportă STP. Ele sunt conectate între ele astfel încât rețeaua formează un circuit închis.
În mod implicit, dispozitivele Cisco funcționează în modul PSTV+, adică pentru convergență, fiecare port va avea nevoie de maximum 20 de secunde. Panoul de simulare permite vizualizarea transmiterii traficului și examinarea parametrilor de funcționare ai rețelei create.

Vedeți cum arată un cadru STP BPDU. Dacă observați denumirea versiunii 0, înseamnă că este vorba de STP, deoarece pentru RSTP se folosește versiunea 2. De asemenea, este prezentat și ID-ul rădăcinii, compus din prioritatea și adresa MAC a switch-ului rădăcină, precum și ID-ul bridge-ului corespunzător.

Aceste valori sunt egale, deoarece costul drumului către switch-ul rădăcină pentru SW0 este 0, prin urmare, acesta este el însuși switch-ul rădăcină. Așadar, după activarea switch-urilor prin utilizarea STP, a avut loc o alegere automată a Root Bridge și rețeaua a început să funcționeze. Observați că pentru a preveni buclele, portul superior Fa0/2 al switch-ului SW2 a fost trecut în starea Blocking, dar ceea ce indică culoarea portocalie a markerului.

Să trecem la consola de setări a switch-ului SW0 și să folosim o pereche de comenzi. Prima este comanda show spanning-tree, după ce o introducem, informațiile despre modul PSTV+ pentru rețeaua VLAN1 vor fi afișate pe ecran. Dacă vom utiliza mai multe VLAN-uri, în partea de jos a ferestrei va apărea un alt bloc de informații pentru rețeaua a doua și următoarele utilizate.

Observați că protocolul STP este disponibil conform standardului IEEE, ceea ce înseamnă utilizarea PVSTP+. Tehnic vorbind, aceasta nu este standardul .1d. Aici sunt prezentate și informațiile despre Root ID: prioritate 32769, adresa MAC a dispozitivului rădăcină, costul 19 etc. Apoi urmează informațiile despre Bridge ID, în care este detaliată valoarea priorității 32768 +1, și se prezintă o altă adresă MAC. Așa cum observați, m-am înșelat — switch-ul SW0 nu este switch-ul rădăcină, switch-ul rădăcină are o altă adresă MAC, prezentată în parametrii Root ID. Cred că acest lucru se datorează faptului că SW0 a primit un cadru BPDU cu informația că un anumit switch din rețea are conținuturi mai mari pentru a juca rolul de rădăcină. Acum vom analiza acest lucru.
(notează traducătorul: Root ID – identificatorul switch-ului rădăcină, identic pentru toate dispozitivele din aceeași rețea VLAN, operând pe protocolul STP, Bridge ID – identificatorul switch-ului local în cadrul Root Bridge, care poate fi diferit pentru diferite switch-uri și VLAN-uri.)
Un alt aspect care indică faptul că SW0 nu este switch-ul rădăcină – este că switch-ul rădăcină nu are Root Port, iar în acest caz există atât Root Port, cât și Designated Port, aflate în stare de forwarding. De asemenea, observați tipul conexiunii p2p, sau „punti la punct”. Aceasta înseamnă că porturile fa0/1 și fa0/2 sunt conectate direct la switch-urile vecine.
Dacă un port ar fi conectat la hub, tipul de conexiune ar fi denumit shared, despre care vom discuta mai târziu. Dacă introduc comanda pentru a vizualiza informațiile finale show spanning-tree summary, vom observa că acest switch este în modul PVSTP, urmat de enumerarea funcțiilor de port indisponibile.

Mai jos este prezentat starea și numărul de porturi care deservesc VLAN1: blocking 0, listening 0, learning 0, în stare de forwarding se află 2 porturi în modul STP.
Înainte de a trece la switch-ul SW2, să ne uităm la configurațiile switch-ului SW1. Pentru aceasta, folosim aceeași comandă show spanning-tree.

Observați că adresa MAC a Root ID-ului pentru switch-ul SW1 este aceeași ca și cea a SW0, deoarece toate dispozitivele din rețea primesc aceeași adresă a dispozitivului Root Bridge în momentul întâlnirii, datorită încrederii în alegerea efectuată de protocolul STP. După cum vedeți, SW1 este switch-ul rădăcină, deoarece adresele Root ID și Bridge ID coincid. De asemenea, aici se află un mesaj "acest switch este switch-ul rădăcină".
Un alt semn al switch-ului rădăcină este că nu are porturi Root, ambele porturi fiind desemnate ca Designated. Dacă toate porturile sunt prezentate ca Designated și se află în stare de forwarding, în fața dumneavoastră se află un switch rădăcină.
Switch-ul SW3 conține informații similare, iar acum trec la SW2, deoarece unul dintre porturile sale se află în stare de Blocking. Folosesc comanda show spanning-tree și vedem că informațiile Root ID și valoarea prioritată sunt aceleași ca și cele ale celorlalte switch-uri.
Mai departe se indică faptul că unul dintre porturi este Alternative. Să nu vă deranjeze acest lucru, standardul 802.1d îl numește Blocking Port, iar în PVSTP un port blocat este întotdeauna denumit Alternative. Așadar, acest port alternativ Fa0/2 se află în stare blocată, iar portul Fa0/1 funcționează ca Root Port.
Portul blocat se află în segmentul de rețea între switch-ul SW0 și switch-ul SW2, ceea ce ne ajută să evităm formarea unui loop. Așa cum vedeți, switch-urile folosesc o conexiune tip p2p, deoarece nu sunt conectate alte dispozitive.

Avem o rețea care convertește prin protocolul STP. Acum voi lua un cablu și voi conecta switch-ul SW2 direct cu switch-ul cap SW1. După aceasta, toate porturile SW2 vor fi marcate cu semne portocalii.

Dacă folosim comanda show spanning-tree summary, vom observa că la început cele două porturi sunt în starea Listening, apoi trec în starea Learning și, în câteva secunde, în starea Forwarding, iar culoarea markerului devine verde. Dacă acum introducem comanda show spanning-tree, se poate vedea că Fa0/1, care anterior era Root-port, a trecut acum în starea de blocare și a devenit Alternative-port.

Portul Fa0/3, la care este conectat cablul switch-ului root, a devenit Root-port, iar portul Fa0/2 s-a transformat în Designated-port. Să examinăm din nou procesul de convergență. Voi deconecta cablul SW2-SW1 și mă voi întoarce la topologia anterioară. Observați că porturile SW2 sunt inițial blocate și devin din nou portocalii, apoi trec succesiv prin stările Listening și Learning și ajung în starea Forwarding. În acest timp, un port devine verde, iar celălalt, conectat la switch-ul SW0, rămâne portocaliu. Procesul de convergență a durat destul de mult, acestea sunt costurile funcționării STP.

Acum să analizăm cum funcționează RSTP. Să începem cu switch-ul SW2 și să introducem în setările sale comanda spanning-tree mode rapid-pvst. Această comandă are doar două variante de parametri: pvst și rapid-pvst, eu voi folosi pe a doua. După introducerea comenzii, switch-ul trece în modul RPVST, ceea ce poate fi verificat cu comanda show spanning-tree.

La început, veți vedea un mesaj că acum funcționează protocolul RSTP. Totul celălalt a rămas neschimbat. Apoi, trebuie să fac același lucru pentru toate celelalte dispozitive, iar configurarea RSTP este completă. Să analizăm funcționarea acestui protocol așa cum am făcut pentru STP.
Conectez din nou switch-ul SW2 direct la switch-ul root SW1 – să vedem cât de repede se va produce convergența. Introduc comanda show spanning-tree summary și văd că două porturi ale switch-ului sunt în starea Blocking, iar 1 în starea Forwarding.

Observați că convergența s-a realizat practic instantaneu, așa că puteți judeca cât de repede este RSTP în comparație cu STP. În continuare, putem folosi comanda spanning-tree portfast default, care va schimba toate porturile switch-ului în modul portfast implicit. Aceasta este relevantă în cazul în care majoritatea porturilor switch-ului sunt Edge-ports, conectate direct la gazde. Dacă avem un port care nu este Edge, îl configurăm înapoi în modul spanning-tree.
Pentru configurarea lucrului cu VLAN, se poate folosi comanda spanning-tree vlan cu parametrii priority (setea prioritatea switch-ului pentru spanning-tree) sau root (alocă switch-ul dreptul de root). Folosim comanda spanning-tree vlan 1 priority, specificând ca prioritate orice număr care este multiplu de 4096, în intervalul de la 0 la 61440. Astfel, putem schimba manual prioritatea oricărei VLAN.
Se poate introduce comanda spanning-tree vlan 1 root cu parametrii primary sau secondary pentru a configura portul root principal sau de rezervă pentru o rețea specifică. Dacă folosesc spanning-tree vlan 1 root primary, acest port va fi principalul port root pentru rețeaua VLAN1.
Voi introduce comanda show spanning-tree, iar noi vom observa că acest switch SW2 are prioritatea 24577, adresele MAC ale Root ID și Bridge ID coincid, ceea ce înseamnă că acum a devenit switch-ul root.

Vedeți cât de rapid s-a realizat convergența și schimbarea rolurilor switch-urilor. Acum voi anula rolul de switch principal cu comanda no spanning-tree vlan 1 root primary, după care prioritatea sa va reveni la valoarea anterioară 32769, iar rolul switch-ului root va reveni la SW1.
Să vedem cum funcționează portfast. Voi introduce comanda int f0/1, voi accesa setările acestui port și voi folosi comanda spanning-tree, după care sistemul va oferi sugestii pentru valorile parametrelor.

Apoi voi folosi comanda spanning-tree portfast, care poate fi introdusă cu parametrii disable (dezactivează funcția portfast pentru acest port) sau trunk (activează funcția portfast pentru acest port chiar și în modul trunk).
Dacă introducem spanning-tree portfast, funcția se va activa pur și simplu pe acest port. Pentru a activa funcția BPDU Guard, este nevoie de comanda spanning-tree bpduguard enable, iar comanda spanning-tree bpduguard disable dezactivează această funcție.
Voi vorbi rapid despre încă un aspect. Dacă pentru VLAN1 interfața switch-ului SW2 în direcția SW3 este blocată, atunci în funcție de alte setări pentru un alt VLAN, de exemplu, VLAN2, această interfață poate deveni portul root. Astfel, în sistem se poate implementa un mecanism de încărcare a traficului – într-un caz acest segment de rețea nu este utilizat, în altul – este utilizat.
Voi arăta ce se întâmplă când la conectarea unui hub avem un interfață shared. Voi adăuga hub-ul în schemă și îl voi conecta la switch-ul SW2 cu două cabluri.

Comanda show spanning-tree va reflecta următoarea imagine.

Fa0/5 (portul din colțul stâng jos al switch-ului) devine port de rezervă, iar portul Fa0/4 (portul din colțul drept jos al switch-ului) devine port desemnat. Tipul ambelor porturi este comun, sau shared. Aceasta înseamnă că segmentul interfețelor hub-switch este o rețea comună.
Datorită utilizării RSTP, am obținut o separare între porturile alternative și cele de rezervă. Dacă vom trece switch-ul SW2 în modul pvst cu comanda spanning-tree mode pvst, vom observa că interfața Fa0/5 a trecut din nou în starea Alternative, deoarece acum nu mai există diferentieri între porturile de rezervă și cele alternative.

A fost o lecție foarte lungă și dacă nu ați înțeles ceva, vă sfătuiesc să o revizuiți încă o dată.

Vă mulțumim că rămâneți cu noi. Vă plac articolele noastre? Doriți să vedeți mai multe materiale interesante? Susțineți-ne făcând o comandă sau recomandându-ne prietenilor. 30% reducere pentru utilizatorii Habr pentru un server entry-level unic, creat special pentru tine: (sunt disponibile opțiuni cu RAID1 și RAID10, până la 24 nuclee și până la 40GB DDR4).
Dell R730xd la jumătate de preț? Numai la noi în Olanda! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — de la 99 $! Citiți despre
Sursa: habr.com
