From: Petr Lapukhov (petr@internetworkexpert.com)
Date: Thu Mar 05 2009 - 08:52:40 ARST
Hi,
You should remember that classic STP peforms iterative computations,
trying to find
a single spanning-tree root. The computations are performed by constantly
relaying
the "best" bridge information to all downstream neighbors. This is very
similar to
gradient-based optimization, where every switch accepts the best
information at
given moment.
In order to stabilize the computations, some "inertial" mechanism is built
into the STP
algorithm. Specifically, every bridge is supposed to keep the last optimal
root bridge
information for maximum of "max_age" seconds, if it does not receive any
superior
(better) information. [actually, it is less than max_age, since every BPDU
carries
the age field, but this is just small detail, not pertaining to the
general idea].
Now imagine what happens if a link directly connected to the switch fails.
If the port,
where the link connects to is the root port, we have two different situaitons
1) The switch detects the loss of carries, and thus immediately
transitions the port
into the down state. The root bridge information associated with this port
is immediately
discarded, as we know that the port is dead. If the switch has any blocked
ports, it
finds the one with the next "best" information stored, and transitions it
through the
listening+learning states, resulting in the new root port.
2) The switch does not detect the loss of carries, but loses BPDUs on the
root port.
In this situation, the switch cannot immediately expire the best root
bridge information
on the current root port, and has to wait for maximum of "max_age"
seconds, before
expiring the information and unblocking the alternate port.
If the failed port is not the root port, the situation is usually simpler.
If the port was blocked,
but has lost the flow of BPDUs, the switch will eventually expire to root
bridge information
stored for this port, and unblocks it, making the designated port.
If the failed port is the designated port, nothing much would happen. If
the switch detect
the loss of carrier, it will simply generate a topoly change event.
Now for the MAC address table aging. It has nothing to do with the STP
max_age concept.
However, it is connected with some STP events. Specifically, if a switch
detects that any
of its ports goes up or down, it notifies all switches in the topology of
the "topology change"
event, by flooding the information via the root bridge. The details of the
process are
uniteresting, but the effect is that every switch that hears the TCN BPDU
relayed from the root
will cut the MAC address table aging time by "forward_delay". This will
allow to re-learn the
new MAC address locations, for the stations that have moved as a result of
the topology change.
This process results in two significant issues:
1) Additional 15 seconds might be needed to age the old information
2) Excessive flooding may occur due to the information being aged, and
switches turning into
hubs temporarily.
The second issue might be very serious in the network with a lot of
topology changes, as it might
cause all sorts of weird behavior and intermittent network meltdowns.
I did not cover the BackboneFast feature in this message, as it might take
another page of explanations :)
I'll try to make a blog post this or next week, explaining the classic STP
and RSTP convergence scenarios,
as this seems to be vaguely covered anywhere.
You may want to read the following on the classic STP meanwhile:
http://www.cisco.com/en/US/tech/tk389/tk621/technologies_tech_note09186a0080094797.shtml
http://www.cisco.com/en/US/tech/tk389/tk621/technologies_tech_note09186a00800c2548.shtml#recovers
HTH,
Petr Lapukhov, CCIE #16379 (R&S/Security/SP/Voice)
petr@internetworkexpert.com
Internetwork Expert, Inc.
http://www.InternetworkExpert.com
Toll Free: 877-224-8987
Outside US: 775-826-4344
----- Original Message -----
From: "Hotmail" <hussamkibbi@hotmail.com>
Sent: Thu, March 5, 2009 7:09
Subject:STP misconcept!
Hi Experts,
After reading Cisco docs and passing through videos of internetexpert for
STP, I still have some misleading concept about some parts.
- Main one is the failure process: Direct - Indirect failures and how they
relate to max-age table and MAC address age table? many scenario's makes me
lost!
- Enhancements in Cisco: Backbone fast (which relate to indirect failure)
and uplink fast: I think I understand it but then I get lost!
Hope you can guide me through a clear way of understanding the failure
process as I passed through the docs/video several times and still not
grasping it very well.
Thanks,
Hussam
Blogs and organic groups at http://www.ccie.net
This archive was generated by hypermail 2.1.4 : Mon Apr 06 2009 - 06:44:04 ART