Spanning-Tree Protokoll
Spanning-Tree Protocol
Redundanz
- aus Sicherheitsgründen
- man hat mindestens zwei verschiedene Pfade zu einem bestimmten Ziel
- reduziert Überlastung
- unterstützt hohe Verfügbarkeit und Lastenverteilung im Netz
Probleme, welche durch redundante Pfade (loops) erzeugt werden
- Broadcast storm
- Multiple frame transmission
- inkorrekte MAC-Einträge
Switche miteinander zu verbinden kann zu Problemen führen. Das Spanning-Tree Protokoll (STP) blockiert automatisch bei Bedarf einzelne Ports um Loops zu verhindern.
Vorgehensweise
- eine Root-Bridge wählen (Switch mit kleinster BID)
- pro Switch einen Root-Port wählen (Port am nähesten zur Root-Bridge)
- pro Segment (Leitung) einen Designated-Port wählen (Port am nähesten zur Root-Bridge)
- alle restlichen Ports blockieren
Elemente von STP
- BID (Bridge ID)
- 2 Byte priority (0 - 65535) + 6 Byte MAC-Adresse priority = 4 bit priority + 12 bit vlan-id (Standardwert für priority: 32768 + 1)
BPDU (Bridge Protocol Data Unit) Kosten einer Leitung
- 10 Mbps = 100
- 100 Mbps = 19
- 1 GBps = 4
- 10 GBps = 2
Zustände eines Switchports
- 0 = Disabled (administratively down)
- 1 = Blocking (warten) | kann BPDUs empfangen
- 2 = Listening (Switchtopologie erstellen) | kann BPDUs empfangen und senden
- 3 = Learning (CAM erstellen) | kann BPDUs empfangen und senden sowie Datenframes auswerten
- 4 = Forwarding (Daten weiterleiten) | kann BPDUs empfangen und senden sowie Datenframes auswerten und weiterleiten
Konfiguration (bei Cisco)
- Root Switch festlegen (kleinste BID)
- SWITCH(config)# spanning-tree vlan 10 root primary
- SWITCH(config)# spanning-tree vlan 10 root secondary
- SWITCH(config)# spanning-tree vlan 10 priority 4096
Spanning-Tree Portfast
- Portfast: Sofort von Blocking zu Forwarding
- wird ein Switchport aktiv, weil ein Gerät eingesteckt wurde, wechselt der Switchport über den Blocking State in den Listening, Learning und anschließend in den Forwarding State.
- bei Blocking, Listening und Learning leitet der Switch noch keine Pakete von angeschlossenen Geräten weiter, sondern sendet und bearbeitet nur BPDUs
- wenn Forwarding erreicht ist (schleifenfreie Topologie) leitet der Switch auch Pakete von angeschlossenen Geräten weiter
- garantiert eine schleifenfreie Topologie
Es führt eventuell zu unerwüschten Verzögerungen (z.B. Rechner mit SSD booten zu schnell um eine DHCP-Adresse zu beziehen)
Zur Abhilfe können Ports als "Portfast" konfiguriert werden
- nehmen dann nicht mehr an der Berechnung teil
- wechseln erheblich schneller in den Forwarding State
Konfiguration - global (bei Cisco)
- access-switch> enable
- access-switch> configure terminal
- access-switch(config)# spanning-tree portfast default
Konfiguration - Interface (bei Cisco)
- access-switch(config)# interface fastethernet 0/1
- access-switch(config-if)# spanning-tree portfast
Interfaces sollten nur dann als Portfast konfiguriert werden, wenn sichergestellt werden kann, dass an diesem kein weiterer Switch angeschlossen wird.
Diese Ports sind dann nur für Endgeräte (Rechner, Drucker, Server, ...)