Timer

Der Spanning Tree Algorithmus basiert u.a. auf einem ausgeklügelten Wechselspiel diverser Timer und Parameter, die im Endeffekt die Konvergenzzeit des Spanning Tree Algorithmus determinieren. Damit nun das STP in ungemütlichen Umgebungen nicht den Geist aufgibt, dachten sich seine Schöpfer daß es eine gute Idee wäre, diese Timer recht großzügig zu bemessen. Alles nach dem Motto:

Ein langsam konvergierender Spanning Tree ist besser als ein kollabierter.
Falls man nun auf die (durchaus verständliche) Idee kommen sollte, die Konvergenzzeit des STP zu verkürzen indem man dessen Timer optimiert, sprich kürzt, sollte man eben nicht die Zusammenhänge und Wechselwirkungen zwischen den einzelnen Timern und Parametern außer acht lassen. Wer beispielsweise ausschließlich und über Gebühr die Max Age (default = 20 Sekunden) reduziert, wird sich wohl bald mit einer fragmentierten, sich ständig rekonfigurierenden Spanning Tree Domäne beschäftigen dürfen; was sicherlich nicht in seinem Sinne gewesen sein dürfte.

Timer & Parameter

BPDU Transmission Delay
bezeichnet die Zeit zwischen der Annahme eines Configuration BPDU am Root Port und der Weiterleitung an einem Designated Port. Mögliche Werte: 0.5 bis 2 Sekunden (siehe IEEE Std 802.1D-1998 Annex B.3.1.3 und B.4.4). Empfohlener Wert: 1 Sekunde; dieser Wert entspricht der allgemeinen Bridge Transit Delay, da man nicht eine generelle Priorisierung der BPDUs voraussetzen wollte (siehe IEEE Std 802.1D-1998 Annex B.3.2.2).
Hello Time
ist die Zeit zwischen der Generierung zwei aufeinander folgender Configuration BPDUs durch die Root Bridge. Mögliche Werte: 1 bis 4 Sekunden (siehe IEEE Std 802.1D-1998, Annex B.3.4.2). Empfohlener Wert: 2 Sekunden.
Lost Messages
definiert die maximale Anzahl konsekutiver Configuration BPDUs, die auf ihrem Weg von der Root Bridge an's andere Ende des LANs verloren gehen dürfen. Empfohlener Wert: 3.
Diameter
Diameter
bestimmt sich durch die maximale Anzahl von Bridges zwischen zwei Layer-2 Endgeräten eines bridged LAN. Den Wert sollte man mit Bedacht wählen, wenn man ihn verändert. So würden wahrscheinlich viele Leute meinen, hier einen Diameter von 2 zu erkennen, da ja vom PC bis zum Drucker zwei Switches liegen. Kaum wird aber der Link zwischen A und C unterbrochen, bildet sich ein Spanning Tree mit einem Diameter von 3 (A=Root, B, C). Dumm gelaufen! Mögliche Werte: 2 bis 7. Empfohlener Wert: 7

Der Grund dafür, nicht mehr als sieben Switches in Reihe zuzulassen, liegt in der Angst vor Layer-2 Loops, die ein LAN zuverlässig Matt setzen. Denn mit wachsender Zahl von Switches steigt auch die Zahl von Hops, die von den BPDUs passiert werden müssen und damit auch die Verzögerung bis ein BPDU von der Root den letzten Switch in der Reihe erreicht. Man könnte natürlich auch einen höheren Wert als 7 festsetzen. Das wäre allerdings mit einer unangenehmen Erhöhung der Konvergenzzeit verbunden. Von daher ist die Beschränkung der IEEE auf sieben Switches als Kompromiß zu verstehen. Im übrigen sollte man immer ein Auge auf die Auslastung im LAN haben, denn diese beeinflußt schließlich auch die Verzögerung der BPDUs. Ein probates Mittel für exakt diesen Zweck ist z.B. die BPDU Skew Detection von Cisco.

End to End BPDU Propagation Delay
gibt die Zeit an, die schlimmstenfalls nötig ist damit ein Configuration BPDU von der Root Bridge jede andere Bridge im LAN erreicht.
  ((Lost Messages + 1) * Hello Time)
+ (BPDU Transmission Delay * (Diameter - 1))
= ((3 + 1) * 2 + (1 * (7 - 1)) = 8 + 6 = 14 Sekunden
Message Age Overestimate per Bridge
entspricht dem Message Age Increment, also dem Wert den die Bridge zum empfangenen Message Age hinzuaddiert. Mögliche Werte: 1 bis 2 Sekunden. Empfohlener Wert: 1 Sekunde.
Message Age Overestimate
  (Diameter - 1) * Message Age Overestimate per Bridge
= (7 - 1) * 1 = 6 Sekunden
Max Age
soll sicherstellen, daß unter normalen Bedingungen kein Switch die Informationen von der Root Bridge verwirft weil diese Informationen veraltet sind. Der Max Age Wert muß demnach worst-case Delays und den Message Age berücksichtigen.
  End to End BPDU Propagation Delay
+ Message Age Overestimate
= 14 + 6 = 20 Sekunden
Maximum Transmission Halt Delay
definiert die Zeit die vom Switch beansprucht wird, um einen Port vom Forwarding in den Blocking Mode zu setzen. Empfohlener Wert: 1 Sekunde.
Maximum Medium Access Delay
definiert die Zeit zwischen der Entscheidung ein Frame zu senden und dem tatsächlichen Sendebeginn. Mögliche Werte: 0.5 bis 2 Sekunden. Empfohlener Wert: 0.5 Sekunden.
Bridge Transit Delay
ist die, durch den Switch selbst bedingte, Verzögerung (Latency) während der Weiterleitung eines Frames. Mögliche Werte: 0.5 bis 2 Sekunden. Empfohlener Wert: 1 Sekunde.
Maximum Frame Lifetime
  (Diameter * Bridge Transit Delay) + Maximum Medium Access Delay
= (7 * 1) + 0.5 = 8 Sekunden (aufgerundet)
Pre-Forwarding Period
Bevor ein Port in den Forwarding Mode wechselt, muß folgendes sichergestellt sein: BPDUs der alten Topologie (als der Port noch nicht im Forwarding Mode war) dürfen nicht mehr im Netz sein. Sonst käme es möglicherweise zu Schleifen und/oder duplizierten Frames.
  End to End BPDU Propagation Delay
+ Message Age Overestimate
+ Maximum Transmission Halt Delay
+ Maximum Frame Lifetime
= 14 + 6 + 1 + 8 = 29 Sekunden
Forward Delay
  Pre-Forwarding Period / 2
= 29 / 2 = 15 Sekunden (aufgerundet)

Timer Calculator

Funktioniert nicht mit dem Internet Explorer. (Wer rausbekommt, wieso, bitte Bescheid sagen.)

Links zum Thema