Lad os antage, at STP er i en konvergerende tilstand. Hvad vil der ske, hvis jeg tager et kabel og forbinder switch N direkte til rod-switch A? Rod-broen vil "se", at der er kommet en ny aktiv port, og vil sende BPDU gennem den.

Switch N, der modtager denne ramme med nul omkostninger, vil bestemme omkostningerne ved ruten gennem den nye port som 0+19=19, mens omkostningerne ved dens rodport er 76. Derefter vil porten på switch N, som tidligere var i tilstand disabled, gennemgå alle faser af transition og skifte til transmissionsmode efter 50 sekunder. Hvis der er tilsluttet andre enheder til denne switch, vil de alle miste forbindelsen til rod-switch i 50 sekunder og dermed til netværket som helhed.
Tilsvarende vil switch G modtage en BPDU-ramme fra switch N med en omkostningsmeddelelse på 19. Den ændrer omkostningerne ved sin tildelte port til 19+19=38 og omdanner den til sin nye rodport, fordi omkostningerne ved dens gamle rodport er 57, hvilket er mere end 38. Samtidig begynder alle faser af portomskiftning, der varer 50 sekunder, og til sidst nedbrudt hele netværket.

Lad os nu se, hvad der vil ske i en lignende situation ved brug af RSTP. Rod-switch vil også sende BPDU til switch N, men straks derefter låse sin port. Når switch N modtager denne ramme, vil den konstatere, at denne rute har lavere omkostninger end sin rodport, og straks låse den. Derefter vil N sende en Proposal til rod-switchen med en anmodning om at åbne den nye port, fordi dens omkostninger er lavere end omkostningerne ved den allerede eksisterende rodport. Når rod-switchen accepterer anmodningen, vil den låse sin port op og sende en Agreement til switch N, hvorefter den sidstnævnte vil gøre den nye port til sin rodport.

Ved hjælp af Proposal/Agreement-mekanismen vil omlægningen af rodporten ske næsten øjeblikkeligt, og alle enheder, der er tilsluttet switch N, vil ikke miste forbindelsen til netværket.
Ved at tildele en ny rodport vil switch N gøre den gamle rodport til en alternativ port. Det samme vil ske med switch G – den vil udveksle Proposal/Agreement-meddelelser med switch N, tildele en ny rodport og låse de øvrige porte. Derefter vil processen fortsætte i det næste netværkssegment med switch F.

Switch F, ved at analysere omkostningerne, vil se, at ruten til roden switch gennem den nederste port vil koste 57, mens den eksisterende rute gennem den øverste port koster 38, og vil lade det være som det er. Ved at finde ud af dette, vil switch G blokere porten, der vender mod F, og vil sende trafik til roden switch via den nye rute G-H-A.
Indtil switch F modtager et Proposal/Agreement fra switch G, vil den holde sin nederste port blokeret for at forhindre dannelsen af løkker. Således kan du se, at RSTP er en meget hurtig protokol, der ikke skaber de problemer i netværket, som STP gør.
Lad os nu gå videre til kommandoerne. Du skal ind i switchens globale konfigurationsmode og vælge PVST eller RPVST mode ved hjælp af kommandoen spanning-tree mode . Herefter skal du beslutte, hvordan du vil ændre prioriteten for en specifik VLAN. Til dette bruges kommandoen spanning-tree vlan priority . I den sidste videolektion skulle du huske, at prioriteten er et tal, der er et multipel af 4096, og standardværdien er 32768 plus VLAN-netværksnummeret. Hvis du valgte VLAN1, vil standardprioriteten være 32768+1= 32769.

Hvorfor kan det være nødvendigt at ændre netværksprioriteten? Vi ved, at BID består af en numerisk prioritet og MAC-adressen. MAC-adressen på en enhed kan ikke ændres, den har en konstant værdi, så det er kun prioriteten, der kan ændres.
Lad os antage, at der findes et stort netværk, hvor alle Cisco-enheder er forbundet i en ring. Da PVST som standard er aktiveret, vil systemet vælge rod switchen. Hvis alle enheder har samme prioritet, vil fordelene gå til den switch med den ældste MAC-adresse. Men dette kan være en 10-12 år gammel switch af en forældet model, som ikke engang har tilstrækkelig kraft og ydeevne til at 'lede' et så omfattende netværk.
Samtidig kan du have den nyeste switch til flere tusinde dollars i dit netværk, som på grund af den højere MAC-adresse er tvunget til at 'underordne' sig den gamle switch, der koster et par hundrede dollars. Hvis den gamle switch bliver rod switchen, er det et tegn på en alvorlig designfejl i netværket.
Derfor skal du gå ind i indstillingerne for den nye switch og give den en minimum prioritet, for eksempel 0. Når du bruger VLAN1, vil den samlede prioritet være 0+1=1, og alle andre enheder vil konstant betragte den som rotswitch.
Lad os nu forestille os en sådan situation. Hvis rotswitchen af en eller anden grund bliver utilgængelig, kan du ønske, at den nye rotswitch ikke er en hvilken som helst switch med lavere prioritet, men en bestemt switch med bedre netværksfunktioner. I dette tilfælde bruges kommandoen i indstillingerne for Root Bridge til at tildele primære og sekundære rotswitches: spanning-tree vlan root . Prioritetsværdien for den primære switch vil være 32768 – 4096 – 4096 = 24576. For den sekundære switch beregnes den efter formlen 32768 – 4096 = 28672.
Du behøver ikke at indtaste disse tal manuelt - systemet vil gøre det for dig automatisk. Således vil rotswitchen have en prioritet på 24576, og ved dens utilgængelighed vil switchet med en prioritet på 28672 træde til, idet prioriteten for alle andre switches som standard ikke er mindre end 32768. Dette er nødvendigt, hvis du ikke ønsker, at systemet automatisk udpeger rotswitch.
Hvis du vil se indstillingerne for STP-protokollen, skal du bruge kommandoen show spanning-tree summary. Lad os nu gennemgå alle de emner, vi har lært i dag ved hjælp af Packet Tracer. Jeg bruger en netværkstopologi med 4 switches af model 2690, hvilket ikke gør noget, da alle Cisco-switchmodeller understøtter STP. De er forbundet til hinanden, så netværket danner en lukket kreds.
Som standard arbejder Cisco-enheder i PSTV+-tilstand, hvilket betyder, at hver port kræver ikke mere end 20 sekunder til konvergens. Simuleringspanelet giver mulighed for at visualisere trafikoverførsel og se parametrene for det oprettede netværk.

Du kan se, hvad en STP BPDU-ramme er. Hvis du ser betegnelse version 0, så er det STP, fordi RSTP bruger version 2. Her vises også værdien af Root ID, som består af prioritet og MAC-adressen på rotswitchen, og dens tilsvarende værdi er Bridge ID.

Disse værdier er ens, da omkostningen ved ruten til roteswitchen for SW0 er 0, hvilket betyder, at den selv er roteswitchen. Dermed skete der efter aktiveringen af switchene automatisk en valg af Root Bridge gennem brug af STP, og netværket begyndte at fungere. Du kan se, at den øverste port Fa0/2 på switchen SW2 blev sat i Blocking-tilstand for at forhindre en løkke, men den orange farve på markøren indikerer det.

Lad os gå til konfigurationskonsollen for switchen SW0 og bruge et par kommandoer. Den første er kommandoen show spanning-tree, hvorefter der på skærmen vil blive vist oplysninger om PSTV+-tilstand for VLAN1-netværket. Hvis vi bruger flere VLAN, vil der i bunden af vinduet komme en yderligere informationsblok for det andet og efterfølgende anvendte netværk.

Du kan se, at STP-protokollen er tilgængelig i henhold til IEEE-standarden, hvilket betyder, at der anvendes PVSTP+. Teknisk set er dette ikke standard .1d. Her gives også oplysninger om Root ID: prioritet 32769, MAC-adressen på rotesenheden, omkostninger 19 osv. Derefter følger oplysninger om Bridge ID, hvor værdien af prioriteten 32768 +1 forklares, og en anden MAC-adresse kommer. Som du kan se, tog jeg fejl - switchen SW0 er ikke roteswitchen; roteswitchen har en anden MAC-adresse, der er angivet i Root ID-parametrene. Jeg tror, det skyldes, at SW0 modtog en BPDU-ramme med oplysninger om, at en eller anden switch i netværket har større grundlag for at spille rollen som roteswitch. Lad os se nærmere på dette.
(oversætters bemærkning: Root ID - identifikatoren for roteswitchen, der er identisk for alle enheder i det samme VLAN, der fungerer gennem STP-protokollen, Bridge ID - identifikatoren for den lokale switch som en del af Root Bridge, hvilket kan være anderledes for forskellige switcher og forskellige VLAN).
En anden faktor, der indikerer, at SW0 ikke er roteswitchen, er, at roteswitchen ikke har en Root Port, mens der i dette tilfælde findes både en Root Port og en Designated Port, der er i forwarding-tilstand. Du kan også se typen af forbindelse p2p, eller 'point-to-point'. Dette betyder, at portene fa0/1 og fa0/2 er direkte tilsluttet de tilstødende switcher.
Hvis en port var tilsluttet til hubben, ville forbindelsestypen blive betegnet som shared, hvilket vi vil se nærmere på senere. Hvis jeg indtaster kommandoen for at se den samlede information show spanning-tree summary, vil vi se, at denne switch er i PVSTP-tilstand, og derefter vil den liste over de utilgængelige portfunktioner følge.

Her vises tilstanden og antallet af porte, der betjener VLAN1: blocking 0, listening 0, learning 0, i forwarding-tilstand i STP er der 2 porte.
Før vi går videre til switch SW2, lad os se på indstillingerne for switch SW1. Til dette bruger vi den samme kommando show spanning-tree.

Du ser, at MAC-adressen for Root ID på switch SW1 er den samme som på SW0, fordi alle enheder i netværket ved sammenløb får den samme adresse for Root Bridge-enheden, da de stoler på valget truffet af STP-protokollen. Som du kan se, er SW1 root-switchen, fordi Root ID- og Bridge ID-adresserne stemmer overens. Der er desuden en meddelelse her, der siger "denne switch er root".
Et andet tegn på en root-switch er, at den ikke har nogen Root-porte; begge porte er markeret som Designated. Hvis alle porte vises som Designated og er i forwarding-tilstand, så er du foran en root-switch.
Switch SW3 indeholder lignende information, og nu går jeg videre til SW2, fordi en af dens porte er i Blocking-tilstand. Jeg bruger kommandoen show spanning-tree og vi ser, at Root ID-informationen og prioriteten er de samme som på de andre switches.
Det er videre angivet, at en af portene er Alternative. Lad dig ikke forskrække af dette, standard 802.1d kalder dette en Blocking Port, og i PVSTP bliver den blokerede port altid betegnet som Alternative. Så denne alternative Fa0/2 port er i blokeret tilstand, mens port Fa0/1 fungerer som Root Port.
Den blokerede port er i segmentet mellem switch SW0 og switch SW2, hvilket forhindrer os i at danne en løkke. Som du kan se, bruger switches en p2p-forbindelse, fordi der ikke er tilsluttet andre enheder.

Vi har et netværk, der konvergerer via STP-protokollen. Nu vil jeg tage et kabel og forbinde switch SW2 direkte til root-switchen SW1. Derefter vil alle porte på SW2 blive markeret med orange markører.

Når man bruger kommandoen show spanning-tree summary, vil vi se, at to porte først er i Listening-tilstand, derefter går de over i Learning-tilstand og efter et par sekunder til Forwarding-tilstand, mens farven på markøren ændrer sig til grøn. Hvis man nu indtaster kommandoen show spanning-tree, kan man se, at Fa0/1, som tidligere var Root-porten, nu er gået ind i en låst tilstand og er blevet kaldt Alternative-porten.

Port Fa0/3, som er tilsluttet kabel fra root-switchen, er blevet Root-port, mens port Fa0/2 er blevet tildelt som Designated-port. Lad os endnu en gang se på den konvergerende proces. Jeg vil frakoble kabel SW2-SW1 og vende tilbage til den tidligere topologi. Du kan se, at porte SW2 først bliver blokeret og igen bliver orange, derefter går de sekventielt gennem tilstandene Listening og Learning og ender i Forwarding-tilstand. Her bliver den ene port grøn, mens den anden, som er tilsluttet switchen SW0, forbliver orange. Konvergensprocessen tog ret lang tid, sådan er omkostningerne ved at arbejde med STP.

Lad os nu se på, hvordan RSTP fungerer. Vi starter med switchen SW2 og indtaster kommandoen spanning-tree mode rapid-pvst i dens indstillinger. Denne kommando har kun to parameterindstillinger: pvst og rapid-pvst, jeg bruger den anden. Efter indtastningen af kommandoen skifter switchen til RPVST-tilstand, hvilket kan bekræftes med kommandoen show spanning-tree.

I starten vil du se en besked om, at vi nu kører RSTP-protokollen. Alt andet forbliver uændret. Derefter skal jeg gøre det samme for alle de øvrige enheder, og så er opsætningen af RSTP afsluttet. Lad os undersøge, hvordan denne protokol fungerer, ligesom vi gjorde med STP.
Jeg forbinder igen switch SW2 direkte til root-switchen SW1 – lad os se, hvor hurtigt konvergensen finder sted. Jeg indtaster kommandoen show spanning-tree summary og ser, at to porte på switchen er i Blocking-tilstand, mens 1 er i Forwarding-tilstand.

Du kan se, at konvergensen skete næsten øjeblikkeligt, så du kan bedømme, hvor meget hurtigere RSTP er end STP. Derefter kan vi bruge kommandoen spanning-tree portfast default, som vil sætte alle switchens porte til portfast-tilstand som standard. Dette er relevant, hvis de fleste porte på switchen er Edge-porte, der er direkte tilsluttet værter. Hvis vi har en port, der ikke er en Edge, skal vi tilbageføre den til spanning-tree-tilstand.
Til konfiguration af VLAN kan du bruge kommandoen spanning-tree vlan med parametrene priority (angiver switchens prioritet for spanning-tree) eller root (udpeger switchen som root). Vi bruger kommandoen spanning-tree vlan 1 priority, hvor vi angiver en prioritet som et hvilket som helst tal, der er et multiplum af 4096, i området fra 0 til 61440. Dermed kan vi manuelt ændre prioriteten for enhver VLAN.
Du kan indtaste kommandoen spanning-tree vlan 1 root med parametrene primary eller secondary for at konfigurere hoved- eller backup root-porten for et bestemt netværk. Hvis jeg bruger spanning-tree vlan 1 root primary, bliver denne port den primære root-port for netværket VLAN1.
Jeg vil indtaste kommandoen show spanning-tree, og vi vil se, at denne switch SW2 har prioriteten 24577, MAC-adresserne for Root ID og Bridge ID er ens, hvilket betyder, at den nu er blevet root switch.

Kan du se, hvor hurtigt konvergensen og rolleskiftet for switchene fandt sted. Nu vil jeg annullere hovedswitch-mode med kommandoen no spanning-tree vlan 1 root primary, hvorefter dens prioritet vil vende tilbage til den tidligere værdi 32769, og rollen som root switch vil igen overgå til SW1.
Lad os se, hvordan portfast fungerer. Jeg vil indtaste kommandoen int f0/1, gå ind i indstillingerne for denne port og bruge kommandoen spanning-tree, hvorefter systemet vil give forslag til parameter værdier.

Derudover vil jeg bruge kommandoen spanning-tree portfast, som kan indtastes med parametrene disable (deaktiverer portfast-funktionen for denne port) eller trunk (aktiverer portfast-funktionen for denne port selv i trunk mode).
Hvis man indtaster spanning-tree portfast, vil funktionen blot blive aktiveret på denne port. For at aktivere BPDU Guard-funktionen skal man bruge kommandoen spanning-tree bpduguard enable, og kommandoen spanning-tree bpduguard disable deaktiverer denne funktion.
Jeg vil hurtigt fortælle om en anden ting. Hvis switchinterface SW2 for VLAN1 er blokeret i retning mod SW3, kan dette samme interface, under andre konfigurationer for et andet VLAN, for eksempel VLAN2, blive en root-port. Dermed kan der i systemet implementeres en mekanisme til load balancing af trafikken – i ét tilfælde bruges dette netværkssegment ikke, i et andet tilfælde bruges det.
Jeg vil vise, hvad der sker, når vi får et shared interface ved tilslutning af en hub. Jeg vil tilføje en hub til diagrammet og forbinde den til switch SW2 med to kabler.

Kommandoen show spanning-tree vil afsløre følgende billede.

Fa0/5 (venstre nederste port på switchen) bliver backup-port, mens port Fa0/4 (højre nederste port på switchen) bliver den tildelte designated-port. Begge porttyper er shared. Det betyder, at segmentet af hub-switchens grænseflader er et delt netværk.
Ved hjælp af RSTP har vi opnået en opdeling i alternative og backup-porte. Hvis vi ændrer switchen SW2 til pvst-tilstand med kommandoen spanning-tree mode pvst, vil vi se, at grænsefladen Fa0/5 igen skifter til Alternative, fordi der nu ikke er forskel mellem backup-porten og alternative-porten.

Det har været en meget lang lektion, og hvis du ikke forstod noget, anbefaler jeg, at du ser den igen.

Tak fordi du er med os. Kan du lide vores artikler? Vil du se flere interessante materialer? Støt os ved at lave en bestilling eller anbefale os til dine bekendte. 30% rabat til brugere af Habr på en unik entry-level server, som vi har opfundet til dig: (tilgængelige muligheder med RAID1 og RAID10, op til 24 kerner og op til 40 GB DDR4).
Dell R730xd er 2 gange billigere? Kun hos os i Holland! Dell R420 - 2x E5-2430 2.2GHz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - fra 99 $! Læs om hvordan
Kilde: habr.com
