Difference between revisions of "Cisco MST"

From HackerNet
Jump to: navigation, search
Line 5: Line 5:
 
* revision number
 
* revision number
 
* instances
 
* instances
 +
 +
===BPDU===
 +
<div class="mw-collapsible mw-collapsed" style="width:190px">
 +
Exempel
 +
<div class="mw-collapsible-content">
 +
[[File:Cisco_MST_BPDU.png]]
 +
</div>
 +
</div>
  
 
=Konfiguration=
 
=Konfiguration=
Line 18: Line 26:
 
Root
 
Root
 
  spanning-tree mst 1 root primary
 
  spanning-tree mst 1 root primary
 +
spanning-tree mst 2 priority 0
 +
 +
Cost & Priority
 +
spanning-tree mst 1 cost 50
 +
spanning-tree mst 1 port-priority 128
  
 
'''Verify'''
 
'''Verify'''
 
  show spanning-tree mst
 
  show spanning-tree mst
 
  show spanning-tree mst interface
 
  show spanning-tree mst interface
 +
test spanning-tree diameter 3
 +
test spanning-tree get configuration mst
  
 
Mappa alla secondary vlan till samma MST-instans som deras primary VLAN befinner sig i, se även [[Cisco_VLAN#Private_VLAN|Private VLAN]].
 
Mappa alla secondary vlan till samma MST-instans som deras primary VLAN befinner sig i, se även [[Cisco_VLAN#Private_VLAN|Private VLAN]].
Line 31: Line 46:
 
   spanning-tree mst pre-standard
 
   spanning-tree mst pre-standard
  
=NX-OS=
+
==NX-OS==
 
  spanning-tree mode mst
 
  spanning-tree mode mst
 
  spanning-tree mst configuration
 
  spanning-tree mst configuration
Line 46: Line 61:
 
=Extensions=
 
=Extensions=
 
Det finns många tillägg till spanning-tree som kan öka stabilitet och säkerhet. Dessa agerar fristående från varandra förutom att de går att konfigurera ihop. Detta är tillägg för protokoll som kör Rapid ST.
 
Det finns många tillägg till spanning-tree som kan öka stabilitet och säkerhet. Dessa agerar fristående från varandra förutom att de går att konfigurera ihop. Detta är tillägg för protokoll som kör Rapid ST.
 +
show spanning-tree summary
  
 
===PortFast===
 
===PortFast===
Line 62: Line 78:
  
 
===BPDU Guard===
 
===BPDU Guard===
Error disable interface om det kommer en BPDU.
+
BPDU Guard är en säkerhetsmekanism som sätter interface i error disable om det kommer en BPDU. ''%PM-4-ERR_DISABLE: bpduguard error detected on Po2, putting Gi0/8 in err-disable state''
  
 
Globalt, skyddar alla PortFast-portar
 
Globalt, skyddar alla PortFast-portar
Line 73: Line 89:
  
 
===Root Guard===
 
===Root Guard===
Skydda så att ingen annan än den enhet man själv har konfigurerat kan bli root genom att ignorera superior BPDUer som kommer in på portar med Root Guard påslaget. Om det kommer in en superior BPDU så hamnar porten i root-inconsistent blocking state och frames varken forwardas eller tas emot. Porten går automatiskt tillbaka när dessa BPDUer slutar att komma in.
+
Skydda så att ingen annan än den enhet man själv har konfigurerat kan bli root genom att ignorera superior BPDUer som kommer in på portar med Root Guard påslaget. Om det kommer in en superior BPDU så hamnar porten i root-inconsistent blocking state och frames varken forwardas eller tas emot. Porten går automatiskt tillbaka när dessa BPDUer slutar att komma in. ''%SPANTREE-2-ROOTGUARD_BLOCK: Root guard blocking port GigabitEthernet0/8 on VLAN0002.''
  
 
Per interface
 
Per interface
Line 79: Line 95:
  
 
===BPDU Filter===
 
===BPDU Filter===
En edge port skickar BPDUer som vanligt enligt Hello-interval men om det inte finns något som talar STP på andra sidan är detta onödigt. Med BPDU filter påslaget slutar switchen att skicka BPDUer efter 10 obesvarade (det skickas även en BDPU direkt vid link up så 11 totalt). Porten är dock beredd på att behandla BPDUer och BDPU filter inaktiveras ifall det kommer in en BPDU.
+
En edge port skickar BPDUer som vanligt enligt Hello-interval men om det inte finns något som talar STP på andra sidan är detta onödigt. Med BPDU filter påslaget slutar switchen att skicka BPDUer efter 10 obesvarade (det skickas även en BDPU direkt vid link up så 11 totalt). Porten är dock beredd på att behandla BPDUer och BDPU-filter inaktiveras ifall det kommer in en BPDU vilket gör att detta är ett någorlunda mindre osäkert sätt att terminera sin STP-domän på.
  
 
Globalt, gäller alla PortFast-portar
 
Globalt, gäller alla PortFast-portar
 
  spanning-tree portfast bpdufilter default
 
  spanning-tree portfast bpdufilter default
  
Man kan hårdställa BPDU filter per interface om man t.ex. ska splita ett nätverk i olika STP-domäner. Inga BPDUer kommer att skickas eller behandlas.  
+
Man kan också hårdställa BPDU-filter per interface om man t.ex. ska splita ett nätverk i olika STP-domäner. Inga BPDUer kommer att skickas eller behandlas.  
  
 
Per interface, hard on/off
 
Per interface, hard on/off
Line 91: Line 107:
  
 
===Loop Guard===
 
===Loop Guard===
Unidirectional links kan ställa till det för en L2-domän. Med Loop Guard stoppar man den vanliga STP-konvergeringen för root och alternate portar. Eftersom det ska komma in BPDUer på vissa portar är det inte normalt att det plötsligt inte gör det längre utan att länken har gått ner. Loop Guard förhindrar dessa portar från att bli designated utan de hamnar istället i loop-inconsistent blocking state. När det kommer BPDUer igen återgår de till normalt.
+
Unidirectional links kan ställa till det för en L2-domän. Med Loop Guard stoppar man den vanliga STP-konvergeringen för root och alternate portar. Eftersom det ska komma in BPDUer på vissa portar är det inte normalt att det plötsligt inte gör det längre utan att länken har gått ner. Loop Guard förhindrar dessa portar från att bli designated utan de hamnar istället i loop-inconsistent blocking state. När det kommer BPDUer igen återgår portarna till normalt tillstånd. Loop Guard fungerar endast på point-to-point länkar. ''%SPANTREE-2-LOOPGUARD_BLOCK: Loop guard blocking port GigabitEthernet0/8 on VLAN0002.''
  
 
Globalt, skyddar alla root- och alternate-portar
 
Globalt, skyddar alla root- och alternate-portar
Line 99: Line 115:
  
 
===Bridge Assurance===
 
===Bridge Assurance===
Bridge Assurance är en utökning till Loop Guard och det fungerar med RSTP och MST. Slår man på det skickas det alltid BPDUer oavsett port state och BPDUerna används som en Hello-mekanism för att se om grannen lever. Kommer det inte in någon BPDU hamnar porten i BA-inconsistent blocking state tills BPDU åter mottages. Detta skyddar även vid loopar orsakade av switchar som slutat prata STP men ändå forwarderar frames. Detta är en [[Cisco_Nexus|Nexus]]-feature.
+
Bridge Assurance är en utökning till Loop Guard och det fungerar med RSTP och MST. Slår man på det skickas det alltid BPDUer oavsett port state och BPDUerna används som en Hello-mekanism för att se om grannen lever. Kommer det inte in någon BPDU hamnar porten i BA-inconsistent blocking state tills BPDU åter mottages. Detta skyddar även vid loopar orsakade av switchar som slutat prata STP men ändå forwarderar frames. Detta är en [[Cisco_Nexus|Nexus]]-feature men finns även i nyare versioner av IOS.
  
 
Global
 
Global
Line 105: Line 121:
 
Per interface
 
Per interface
 
  spanning-tree portfast network  
 
  spanning-tree portfast network  
 
===UplinkFast===
 
Låt en alternate port gå direkt till forwarding om root port går ner. Är på default och konfigureras globalt.
 
show spanning-tree uplinkfast
 
 
===BackboneFast===
 
Används för att snabba upp konvergens vid indirect link failure. Bör användas på alla enheter.
 
show spanning-tree backbonefast
 
  
 
===PVST Simulation===
 
===PVST Simulation===
 
MST kan samköras med Rapid PVST+ utan någon speciell konfiguration. Detta är endast en feature på [[Cisco_Nexus|Nexus]]-switchar och slåss på när man konfigurerar MST. Man kan stänga av PVST simulation globalt eller per port, det som händer då är att en port som får in en Rapid PVST+ BPDU hamnar i blocking state tills det slutar komma BPDUer. Rotbryggan för alla VLAN måste finnas på samma sida, antingen i MST eller i PVST+. Om man inte uppfyller detta kommer porten att hamna i PVST simulation-inconsistent state dvs forwarding stängs av.  
 
MST kan samköras med Rapid PVST+ utan någon speciell konfiguration. Detta är endast en feature på [[Cisco_Nexus|Nexus]]-switchar och slåss på när man konfigurerar MST. Man kan stänga av PVST simulation globalt eller per port, det som händer då är att en port som får in en Rapid PVST+ BPDU hamnar i blocking state tills det slutar komma BPDUer. Rotbryggan för alla VLAN måste finnas på samma sida, antingen i MST eller i PVST+. Om man inte uppfyller detta kommer porten att hamna i PVST simulation-inconsistent state dvs forwarding stängs av.  
  spanning-tree mst simulate pvst
+
  interface Gi0/2
 +
  spanning-tree mst simulate pvst
  
 
===Others===
 
===Others===
Line 122: Line 131:
  
 
'''UDLD''' <br/>
 
'''UDLD''' <br/>
Se [[Cisco_UDLD|UDLD]]
+
Se [[Cisco_UDLD|Cisco UDLD]]
 +
 
 
[[Category:Cisco]]
 
[[Category:Cisco]]

Revision as of 18:42, 19 September 2016

Multiple Spanning Tree Protocol, IEEE 802.1s, använder algoritm Rapid ST och konvergerar snabbt. Man kan konfigurera så många topologier som man vill ha. Alla VLAN som inte specificeras i någon instans hamnar i instans 0 som default. Pathcost method behöver inte konfigureras utan operational value är alltid long till skillnad från andra STP-varianter. Se Cisco STP. MST-konfiguration går även att distribuera med hjälp av VTPv3.

Följande element måste vara identiska på alla switchar:

  • region name
  • revision number
  • instances

BPDU

Exempel

Cisco MST BPDU.png

Konfiguration

spanning-tree extend system-id
spanning-tree mode mst
spanning-tree mst configuration
 name Site1
 revision 1
 instance 1 vlan 1-2000
 instance 2 vlan 2001-4094
 show current

Root

spanning-tree mst 1 root primary
spanning-tree mst 2 priority 0

Cost & Priority

spanning-tree mst 1 cost 50
spanning-tree mst 1 port-priority 128

Verify

show spanning-tree mst
show spanning-tree mst interface
test spanning-tree diameter 3
test spanning-tree get configuration mst

Mappa alla secondary vlan till samma MST-instans som deras primary VLAN befinner sig i, se även Private VLAN.

spanning-tree mst configuration
 private-vlan synchronize

MST började implementeras av tillverkarna innan standarden var helt spikad vilket man bör tänka på om man kör gamla enheter. Dock säger standarden att pre-standard MST-grannar måste kunna upptäckas automatiskt av kompabilitetsskäl. I normalfallet märker man ingenting men om grannen är tyst, t.ex. en root port, kan man slå på det per interface.

interface gi0/7
 spanning-tree mst pre-standard

NX-OS

spanning-tree mode mst
spanning-tree mst configuration
 name DC1
 revision 1
 exit
spanning-tree mst 0 priority 32768
spanning-tree port type edge default
spanning-tree port type edge bpduguard default
spanning-tree port type edge bpdufilter default
spanning-tree pathcost method long
spanning-tree loopguard default

Extensions

Det finns många tillägg till spanning-tree som kan öka stabilitet och säkerhet. Dessa agerar fristående från varandra förutom att de går att konfigurera ihop. Detta är tillägg för protokoll som kör Rapid ST.

show spanning-tree summary

PortFast

Med PortFast definierar man edge ports, dessa går direkt till forwarding när de kommer upp och inget topology change event genereras. En edge port skickar ut BDPUer men förväntar sig inga tillbaks. Om det kommer in en BPDU slutar porten vara edge port och återgår till normal tills interfacet går down/up. Används för anslutningar ut till servrar och andra end hosts. Ibland är PortFast ett måste pga att DHCP hinner timea ut innan porten blivit forwarding.

Globalt, aktiveras på alla portar i operational state: access

spanning-tree portfast default

Per interface, on/off

spanning-tree portfast
spanning-tree portfast disable

Verify

show spanning-tree interface gi0/10 portfast

Vill man ha portfast på en trunk måste man ställa det per interface

spanning-tree portfast trunk

Kör aldrig portfast mot andra switchar! MST och RSTP har tekniker för att vara snabba ändå.

BPDU Guard

BPDU Guard är en säkerhetsmekanism som sätter interface i error disable om det kommer en BPDU. %PM-4-ERR_DISABLE: bpduguard error detected on Po2, putting Gi0/8 in err-disable state

Globalt, skyddar alla PortFast-portar

spanning-tree bpduguard default

Per interface, on/off

spanning-tree bpduguard enable
spanning-tree bpduguard disable

Auto recovery

errdisable recovery cause bpduguard 

Root Guard

Skydda så att ingen annan än den enhet man själv har konfigurerat kan bli root genom att ignorera superior BPDUer som kommer in på portar med Root Guard påslaget. Om det kommer in en superior BPDU så hamnar porten i root-inconsistent blocking state och frames varken forwardas eller tas emot. Porten går automatiskt tillbaka när dessa BPDUer slutar att komma in. %SPANTREE-2-ROOTGUARD_BLOCK: Root guard blocking port GigabitEthernet0/8 on VLAN0002.

Per interface

spanning-tree guard root

BPDU Filter

En edge port skickar BPDUer som vanligt enligt Hello-interval men om det inte finns något som talar STP på andra sidan är detta onödigt. Med BPDU filter påslaget slutar switchen att skicka BPDUer efter 10 obesvarade (det skickas även en BDPU direkt vid link up så 11 totalt). Porten är dock beredd på att behandla BPDUer och BDPU-filter inaktiveras ifall det kommer in en BPDU vilket gör att detta är ett någorlunda mindre osäkert sätt att terminera sin STP-domän på.

Globalt, gäller alla PortFast-portar

spanning-tree portfast bpdufilter default

Man kan också hårdställa BPDU-filter per interface om man t.ex. ska splita ett nätverk i olika STP-domäner. Inga BPDUer kommer att skickas eller behandlas.

Per interface, hard on/off

spanning-tree bpdufilter enable
spanning-tree bpdufilter disable

Loop Guard

Unidirectional links kan ställa till det för en L2-domän. Med Loop Guard stoppar man den vanliga STP-konvergeringen för root och alternate portar. Eftersom det ska komma in BPDUer på vissa portar är det inte normalt att det plötsligt inte gör det längre utan att länken har gått ner. Loop Guard förhindrar dessa portar från att bli designated utan de hamnar istället i loop-inconsistent blocking state. När det kommer BPDUer igen återgår portarna till normalt tillstånd. Loop Guard fungerar endast på point-to-point länkar. %SPANTREE-2-LOOPGUARD_BLOCK: Loop guard blocking port GigabitEthernet0/8 on VLAN0002.

Globalt, skyddar alla root- och alternate-portar

spanning-tree loopguard default

Per interface

spanning-tree guard loop

Bridge Assurance

Bridge Assurance är en utökning till Loop Guard och det fungerar med RSTP och MST. Slår man på det skickas det alltid BPDUer oavsett port state och BPDUerna används som en Hello-mekanism för att se om grannen lever. Kommer det inte in någon BPDU hamnar porten i BA-inconsistent blocking state tills BPDU åter mottages. Detta skyddar även vid loopar orsakade av switchar som slutat prata STP men ändå forwarderar frames. Detta är en Nexus-feature men finns även i nyare versioner av IOS.

Global

spanning-tree bridge assurance

Per interface

spanning-tree portfast network 

PVST Simulation

MST kan samköras med Rapid PVST+ utan någon speciell konfiguration. Detta är endast en feature på Nexus-switchar och slåss på när man konfigurerar MST. Man kan stänga av PVST simulation globalt eller per port, det som händer då är att en port som får in en Rapid PVST+ BPDU hamnar i blocking state tills det slutar komma BPDUer. Rotbryggan för alla VLAN måste finnas på samma sida, antingen i MST eller i PVST+. Om man inte uppfyller detta kommer porten att hamna i PVST simulation-inconsistent state dvs forwarding stängs av.

interface Gi0/2
 spanning-tree mst simulate pvst

Others

Dispute mechanism innebär att role och state hos porten som skickar en BPDU skickas med i BPDUn så andra sidan vet att den inte pratat med en designated port på en designated port. Då hamnar porten i discarding state. Detta är påslaget default och behöver inte konfigureras. Fungerar dock inte med de äldsta varianterna av STP.

UDLD
Se Cisco UDLD