Difference between revisions of "Cisco STP"
Helikopter (talk | contribs) m (Helikopter moved page Cisco PVST to Cisco STP without leaving a redirect) |
Helikopter (talk | contribs) |
||
Line 1: | Line 1: | ||
− | + | IEEE 802.1D. STP blockar portar på switchar så att det skapas en logisk trädtopologi och på så sätt hålls ethernetsegment loopfri. Enheter som använder STP skickar BPDU-meddelanden mellan varandra för att utbyta information. Den BPDU som är superior har företräde och övriga kan ignoreras. För att avgöra vilken som är bäst jämförs följande värden i skriven ordning: Root Bridge ID, Root Path Cost, Sender Bridge ID, Sender Port ID, Receiver Port ID (RPID följer ej med i BPDUn utan switchen själv vet ju detta). Det första värdet där det skiljer sig avgör och lägst vinner. BPDUer skickas ej på non-designated portar eftersom de inte är superior och därmed onödiga att skicka. | |
− | =Process= | + | Varenda port på varenda switch i STP sparar superior BPDUn på det segmentet. Non-designated portar sparar BPDU från andra sidan och Designated portar sparar sin egen BPDU. Kommer det inte in någon BPDU innan MaxAge (minus MessageAge) har gått ut måste STP räkna om. Rotbryggan avgör dessa timers. Root Path Cost skickas med i varje Hello och genom att addera det med costen på interfacet där Hellon kom in vet switchen hur långt det är till rotbryggan. |
− | + | ||
− | # Root Bridge: Lowest BID | + | ===Timers=== |
− | # Root Port: | + | Det finns flera olika typer av timers som skickas med i BPDUerna. MessageAge är en uppskattning på hur länge sedan BPDUn lämnade rotbryggan (med detta satt till 0). Övriga switchar brukar plussa på 1 innan de skickar det vidare. MaxAge, HelloTime och ForwardDelay är värden satta på rotbryggan, har andra switchar andra värden konfigurerade spelar det ingen roll för det är rotbryggan som bestämmer. Hellos skickas default var 2 sekund. |
− | # Designated Port: | + | |
− | # Non Designated: | + | ===Process=== |
+ | STP-processen börjar med att alla switchar ser sig själva som root och skickar ut Hellos. Sedan görs följande val: | ||
+ | # Root Bridge: Lowest BID = Priority + MAC (Den ursprungliga STP-varianten hade ej med VLAN ID) | ||
+ | # Root Port: Av alla BPDUer på alla portar vilken är superior. Dvs bästa vägen bandbreddsmässigt till rotbryggan, en per nonroot switch. | ||
+ | # Designated Port: Superior BPDU på ett segment | ||
+ | # Non Designated: Övriga | ||
+ | På rotbryggan finns det ingen root port utan alla är designated. STP-processen slutar aldrig utan varje BDPU som kommer in ska jämföras. | ||
+ | |||
+ | ===Interface states=== | ||
+ | När nätverket konvergerar kan portar byta mellan Blocking och Forwarding men detta kan inte göras direkt utan att riskera tillfälliga loopar. Därför går interfacen igenom olika tillstånd. Längden på transitory statesen avgörs av ForwardDelay, 15 sek default. | ||
+ | |||
+ | {| class="wikitable sortable" | ||
+ | !State | ||
+ | !Forwards data frames | ||
+ | !Learns source MACs of received frames | ||
+ | !Stable | ||
+ | |- | ||
+ | |Blocking | ||
+ | |No | ||
+ | |No | ||
+ | |Stable | ||
+ | |- | ||
+ | |Listening | ||
+ | |No | ||
+ | |No | ||
+ | |Transitory | ||
+ | |- | ||
+ | |Learning | ||
+ | |No | ||
+ | |Yes | ||
+ | |Transitory | ||
+ | |- | ||
+ | |Forwarding | ||
+ | |Yes | ||
+ | |Yes | ||
+ | |Stable | ||
+ | |- | ||
+ | |Disabled | ||
+ | |No | ||
+ | |No | ||
+ | |Stable | ||
+ | |} | ||
+ | |||
+ | ===Topology Change=== | ||
+ | Det finns en slags BPDU i 802.1D som heter TCN (Topology Change Notification), den används för att informera övriga om en förändring. Detta skickas om: det kommer in en TCN BPDU på en designated port, en port går från Learning till Forwarding eller Blocking, en switch blir rotbrygga. Kom ihåg att vanliga BPDUer som inte är superior ignoreras därför måste en TCN skickas till root (görs genom root port) som sedan kan skicka ut det till alla. En TCN skickas med varje Hello tills en TCA (Acknowledgement) fås som svar, sedan gör nästa switch samma sak till det når root. Rotbryggan sätter nu TC-biten i sina utgående BPDUer som instruerar övriga att förkorta Aging Time till ForwardDelay för att påskynda konvergens. | ||
+ | |||
+ | |||
+ | =Konfiguration= | ||
+ | Bridge ID med VLAN | ||
+ | spanning-tree extend system-id | ||
+ | Detta är default och går ej att ta bort på nyare switchar för det konsumerar fler MAC-adresser. | ||
+ | |||
+ | '''Cost''' <br/> | ||
+ | 802.1D-2004, 1G = 20000 | ||
+ | spanning-tree pathcost method long | ||
+ | 802.1D-1998, 1G = 4 | ||
+ | spanning-tree pathcost method short | ||
==Manipulera processen== | ==Manipulera processen== | ||
− | + | Root Bridge: | |
spanning-tree priority | spanning-tree priority | ||
spanning-tree root primary | spanning-tree root primary | ||
− | + | Root Port och Designated Port | |
cost | cost | ||
priority | priority | ||
Restart the protocol migration process | Restart the protocol migration process | ||
clear spanning-tree detected-protocols | clear spanning-tree detected-protocols | ||
+ | |||
+ | =PVST= | ||
+ | Per VLAN Spanning Tree. | ||
+ | |||
+ | PVST-processen skiljer sig lite grann: | ||
+ | * Root Bridge: Lowest BID (Priority + '''VLANID''' + MAC) | ||
=Tillägg= | =Tillägg= | ||
Line 32: | Line 94: | ||
===Loop Guard=== | ===Loop Guard=== | ||
Stoppar den vanliga STP-konvergeringen. | Stoppar den vanliga STP-konvergeringen. | ||
+ | |||
+ | ==Others== | ||
+ | Se [[Cisco_MST|MST]]. | ||
[[Category:Cisco]] | [[Category:Cisco]] |
Revision as of 17:52, 24 January 2016
IEEE 802.1D. STP blockar portar på switchar så att det skapas en logisk trädtopologi och på så sätt hålls ethernetsegment loopfri. Enheter som använder STP skickar BPDU-meddelanden mellan varandra för att utbyta information. Den BPDU som är superior har företräde och övriga kan ignoreras. För att avgöra vilken som är bäst jämförs följande värden i skriven ordning: Root Bridge ID, Root Path Cost, Sender Bridge ID, Sender Port ID, Receiver Port ID (RPID följer ej med i BPDUn utan switchen själv vet ju detta). Det första värdet där det skiljer sig avgör och lägst vinner. BPDUer skickas ej på non-designated portar eftersom de inte är superior och därmed onödiga att skicka.
Varenda port på varenda switch i STP sparar superior BPDUn på det segmentet. Non-designated portar sparar BPDU från andra sidan och Designated portar sparar sin egen BPDU. Kommer det inte in någon BPDU innan MaxAge (minus MessageAge) har gått ut måste STP räkna om. Rotbryggan avgör dessa timers. Root Path Cost skickas med i varje Hello och genom att addera det med costen på interfacet där Hellon kom in vet switchen hur långt det är till rotbryggan.
Contents
Timers
Det finns flera olika typer av timers som skickas med i BPDUerna. MessageAge är en uppskattning på hur länge sedan BPDUn lämnade rotbryggan (med detta satt till 0). Övriga switchar brukar plussa på 1 innan de skickar det vidare. MaxAge, HelloTime och ForwardDelay är värden satta på rotbryggan, har andra switchar andra värden konfigurerade spelar det ingen roll för det är rotbryggan som bestämmer. Hellos skickas default var 2 sekund.
Process
STP-processen börjar med att alla switchar ser sig själva som root och skickar ut Hellos. Sedan görs följande val:
- Root Bridge: Lowest BID = Priority + MAC (Den ursprungliga STP-varianten hade ej med VLAN ID)
- Root Port: Av alla BPDUer på alla portar vilken är superior. Dvs bästa vägen bandbreddsmässigt till rotbryggan, en per nonroot switch.
- Designated Port: Superior BPDU på ett segment
- Non Designated: Övriga
På rotbryggan finns det ingen root port utan alla är designated. STP-processen slutar aldrig utan varje BDPU som kommer in ska jämföras.
Interface states
När nätverket konvergerar kan portar byta mellan Blocking och Forwarding men detta kan inte göras direkt utan att riskera tillfälliga loopar. Därför går interfacen igenom olika tillstånd. Längden på transitory statesen avgörs av ForwardDelay, 15 sek default.
State | Forwards data frames | Learns source MACs of received frames | Stable |
---|---|---|---|
Blocking | No | No | Stable |
Listening | No | No | Transitory |
Learning | No | Yes | Transitory |
Forwarding | Yes | Yes | Stable |
Disabled | No | No | Stable |
Topology Change
Det finns en slags BPDU i 802.1D som heter TCN (Topology Change Notification), den används för att informera övriga om en förändring. Detta skickas om: det kommer in en TCN BPDU på en designated port, en port går från Learning till Forwarding eller Blocking, en switch blir rotbrygga. Kom ihåg att vanliga BPDUer som inte är superior ignoreras därför måste en TCN skickas till root (görs genom root port) som sedan kan skicka ut det till alla. En TCN skickas med varje Hello tills en TCA (Acknowledgement) fås som svar, sedan gör nästa switch samma sak till det når root. Rotbryggan sätter nu TC-biten i sina utgående BPDUer som instruerar övriga att förkorta Aging Time till ForwardDelay för att påskynda konvergens.
Konfiguration
Bridge ID med VLAN
spanning-tree extend system-id
Detta är default och går ej att ta bort på nyare switchar för det konsumerar fler MAC-adresser.
Cost
802.1D-2004, 1G = 20000
spanning-tree pathcost method long
802.1D-1998, 1G = 4
spanning-tree pathcost method short
Manipulera processen
Root Bridge:
spanning-tree priority spanning-tree root primary
Root Port och Designated Port
cost priority
Restart the protocol migration process
clear spanning-tree detected-protocols
PVST
Per VLAN Spanning Tree.
PVST-processen skiljer sig lite grann:
- Root Bridge: Lowest BID (Priority + VLANID + MAC)
Tillägg
Det finns många tillägg till Spanning-tree.
PortFast
Anslutningar ut till servrar och andra end hosts.
BPDU Guard
Err disablea interface om det kommer en BPDU.
Root Guard
Skydda så att ingen annan än den enhet man valt ut från början kan bli root.
Loop Guard
Stoppar den vanliga STP-konvergeringen.
Others
Se MST.