Spanning-Tree Protokoll

Aus unkompliziert.eu
Wechseln zu: Navigation, Suche

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, ...)