STP

802.1d Bridge ID: Priority(2) + MAC(6) System ID Expansion: Priority(4bits) + System ID(12bits) + MAC(6bytes) Root Ports - hello's cost + local port cost Originating Hello from root bridge have cost of 0
 * PVST and 802.1s MST

=IEEE Costs=


 * 10Mbps - 100
 * 100Mbps - 19
 * 1Gbps - 4
 * 10Gbps - 2

=Designated Port Tiebreaker=


 * Lowest bridge id
 * Lowest port priority
 * Lowest port number

=Topology Change Notification (TCN) BPDU=


 * Sends out root port until acknowledgment
 * Receives Topology Change Ack (TCA) BPDU
 * Root eventually receives TCN; TC flag set on nest Hello's from root

=802.1d States=


 * Blocking - stable
 * Listening - transitory
 * Learning - learn source mac; transitory
 * Forwarding - forward data frames; learn source mac; stable
 * Disabled - stable

=Optimizing=

PortFast
Access ports Immediately forwarding states Ignores listening and learning state

config# spanning-tree portfast default config-if# spanning-tree portfast

UplinkFast
Access layer switches Multiple uplinks to core switches Replaces root-ports really fast when one goes down

config# spanning-tree uplinkfast [max-update-rate ]

BackboneFast
Detect indirect link failures in network core Queries switch when root-port stops receiving hellos Root Link Query (RLQ) BPDU

config# spanning-tree backbonefast

=Protecting=

Root Guard
Ignored superior BPDUs, puts port into err-disabled state

BPDU Guard
Disabled upon any BPDUs, puts port into err-disabled state

UniDirectional Link Detection (UDLD)
When one of the two directions fails (usually fiber) a loop can occur. Will auto come back up if Hellos received. By default uses layer 2 messaging. When fails it falls into err-disabled state.


 * Aggressive Mode** - Tries 8 times, if no response then both sides go into err-disabled

Loop Guard
When one of the two directions fails (usually fiber) a loop can occur. Falls into loop-inconsistent state