GC Topic: 2013-2014

What you will learn ß How Spanning Tree Protocol (STP) works ß A glance at Rapid Spanning Tree Protocol (RSTP)

1/22

GC Spanning Tree Protocol 2013-2014

ß Defined in IEEE 802.1d standard ß To prevent looping frames in networks with redundant links, STP blocks some ports from forwarding frames

ü Only one active path exists between any pair of LAN segments

ü Drawbacks: • The network does not take advantage of some links • Some traffic travels a longer path, because a shorter path is blocked

2/22 GC What STP does 2013-2014

ß STP places each bridge/switch port in either a forwardingstate or a blockingstate H1 H2 ß Switches can forward frames out ports and receive frames in ports that are in forwarding state ß Switches do not forward frames out ports that are in blocking state ß A port can be disabled(it is not

included in active STP topology) H3 ü Operational state forced by manager

ü The port is failed

ü The port is connected to no device

3/22

GC What STP does (cont.) 2013-2014

ß If the link between SW1 and SW3 fails, STP converges so that SW3 no longer blocks its 0/27 interface

H1 H2

H3

4/22 GC How STP works 2013-2014

ß STP creates a spanning tree in three phases: ü Election of the root bridge • The STP elects a single bridge, among all the bridges, to be theroot of the spanning tree • All ports of the root bridge are put in forwarding state ü Selection of the root port • Each non-root bridge selects the port (known as the root port) that gives the best path from itself to the root bridge • The root port is putin forwarding state ü Selection of the designated port • For each LAN segment, from among the bridges attached to the segment, STP elects the one closest to the root bridge as the designated bridge • The designated bridge’s interface attached to that segment is called the designated port and is put in forwarding state • All the ports of the root bridge are designated ports ß All other ports are placed in blocking state 5/22

GC Bridge Protocol Data Units (BPDUs) 2013-2014

ß Bridges exchange protocol frames, called BPDUs ß BPDUs are sent to the address 01-80-C2-00-00-00

LLC PDU

Dest. Addr. Source Addr. LengthDSAP SSAPControl BPDU ConfigurationBPDU Multicast Singlecast or 01-80-C2 XY 042H 042H XID FCS Indirizzo Bridge TopologyChange 00-00-00 NotificationBPDU

BPDU: Bridge Protocol Data Unit DSAP: Destination Service Access Point SSAP: Source Service Access Point

6/22 GC Types and format of BPDUs 2013-2014

ß (a) Configuration BPDU: used to define the loop-free topology ß (b) Topology Change Notification(TCN) BPDU: used by a bridge to notify the root bridge about a detected topology change

dictated by the root bridge 7/22

GC Types of BPDUs (cont.) 2013-2014

ß Root Bridge ID: the identifier of the bridge assumed to be the root bridge ß Root Path cost: cost of the least-cost path to the root from the bridge transmitting this configuration message ß Bridge ID: identifier of the bridge transmitting this configuration message ß Port ID: identifies the port from which the configuration message is sent ß Hello Time: the time that elapses between generation of configuration BPDU (hello messages) by the root (or by a bridge that assumes itself to be the root); the default value is 2 sec. ß Maximum age: how long a bridge should wait, after beginning not to hear hellos, before trying to change the topology; the default value is 20 sec. ß Forward Delay: used to defer the transition to the forwarding state of a port that was in blocking state; the default value is 15 sec.

8/22 GC Bridge identifier and port identifier 2013-2014

Bridge Identifier or RootIdentifier ß Bridge priority ü Default: 32768 ü Recommendation: to be modified with increments or decrements at Bridge Priority Bridge MAC Address steps of 4096 units

ß Port priority Port PortPriority ü Default: 128 Identifier ü Recommendation: to be modified Numero di porta with increments or decrements at steps of 16 units

9/22

GC Port cost 2013-2014

ß A cost is associated to each port of a bridge ß Port costs can be configured; IEEE recommended the following values

ß The port cost is added to the root path cost field in a configuration message received on “this” port in order to determine the cost of the path to the root through “this” port 10/22 GC Election of the root bridge 2013-2014

ß At the beginning of the root-election process, each bridge assumes itself to be the root and so transmits hello messages on each of its ports with its ID as root and as transmitting bridge and zero as cost ß A bridge compares the root ID field in the received configuration messages with its own bridge ID ß A bridge with a lower numeric value for the bridge ID is a better candidate ü If a tie occurs based on priority, the MAC address is compared ß If a bridge hears of a better candidate, it stops advertising itself as root and starts forwarding the hellos sent by the better bridge 11/22

GC Election of the root bridge (cont.) 2013-2014

ß Eventually, the root bridge will be the bridge with the lowest numeric value for the bridge ID

ü Only the root bridge will be generatinghello messages

ü The bridge priority allows the network manager to influence the choice of root bridge ß Before forwarding a hello message, a bridge

ü adds the cost of the port on which the BPDU was received to the root path cost in the hello

ü puts its own bridge ID in the homonymous field

ü puts the identifier of the port to which the BPDU will be forwarded in the homonymous field

12/22 GC Election of the root bridge (cont.) 2013-2014

ß The root election process in action: ü SW1 and SW3 are advertising themselves as root ü SW2 believes that SW1 is a better root candidate ü SW1 will be the winner • a tie occurs based on priority, but SW1’s MAC address is lower than SW3’s MAC address

13/22

GC Selection of the root port 2013-2014

ß If there are alternatives paths to the root, each non-root bridge receives hellos on more ports ü The bridge selects its root port based on the conditions below (in the order 1-2-3-4, if a tie occurs) (1) The port is that from which it has • SW2’s best cost is seen in the a minimal cost to the root (see hello entering its port 0/26 slide 10) • SW3’s best cost is seen in the (2) The BPDU received has the hello entering its 0/26 port smallest bridge ID (3) The BPDU received has the smallest port ID (4) The port has the smallest port ID 14/22 GC Selection of the designated port 2013-2014

ß For each LAN segment, the designated bridge (and, thus, the designated port) is that advertising the lowest cost hello onto the LAN segment

ü In case a tie occurs, the priority order above (see the conditions in the previous slide) is considered ß When STP stabilizes, only the designated bridge forwards hellos on a LAN

Legend Root bridge Root port

c Designated port

Blocking port

Symbologydefined in IEEE 802.1w (see the slide 20) 15/22

GC Reacting to changes in the network 2013-2014

ß Each bridge uses the repetitive (every hello time) hearing of hellos from the root as a way to know that its path to the root is still working ü The root bridge dictates the Hello time, the Max age, and the Forward delay • All the bridges in the bridged LAN use the same values ß If a bridge does not receive a hello for Max age seconds, something is failed or, in general, changed ü It starts the process of changing the spanning tree • It advertises itself as root again or believes the next best claim of who should be the root ü In order to avoid loops, a port that has to move from blocking to forwarding state enters the interim listening state first ü After the Forward Delay amount of time, the port state is changed to learning state ü After another Forward Delay amount of time, the interface is (finally!) placed in forwarding state

16/22 GC Spanning Tree Intermediate States 2013-2014

ß The listening state allows each device to wait to make sure that there are no new, better hellos with a new, better root ß The learning state allows the bridge to learn the new location of MAC addresses without allowing forwarding and possibly causing loops

ß Using the default (it means recommended) timers, 50 seconds (20 +15 +15) are required before a port can switch from blocking state to forwarding state 17/22

GC Topology Change Notifications 2013-2014

1. When a bridge notices that the topology is changed, it must inform the root 2. The bridge periodically transmits a Topology Change Notification (TCN) BPDU on its root port ü It continues to do this until the parent bridge acknowledges by setting the TCA flag in its configuration BPDU 3. A bridge that receives a TCN on a designated port does two things ü It performs step 2 (that is, it informs its parent …) ü It sets the TCA flag in the next configuration message it transmits on the LAN from which the TCN was received 4. The root bridge, as soon as receives a TCN message, sends a configuration message with the TC flag set. 5. A bridge that is receiving configuration messages with the TC flag set puts the ageing-time to the Forward Delay value within them until it starts receiving configuration messages without the TC flag set • Bridges are forced to quickly removeinvalid entries from their filtering database 18/22 GC How to avoid STP convergence time 2013-2014

ß The best way to lower STP’s default 50-second convergence time is to avoid convergence altogether ß IEEE 802.3adstandard allows to combine more parallel links, bundled in a single logical link (more network bandwidth and more availability)

ü Control Protocol(LACP)

Ethernet Ethernet station station

ü STP treats the aggregate as a single link • If at least one of the links is UP, STP convergence does not have to occur 19/22

GC Rapid Spanning Tree Protocol 2013-2014

ß RSTP (IEEE 802.1w) works just like STP in several ways: ü It elects the root switch using the same parameters and tiebreakers ü It elects the root port on non-root switches with the same rules ü It elects designated ports on each LAN segment with the same rules ü It places each port in either forwarding or blocking state (RSTP calls blocking state “discarding” instead of “blocking”)

20/22 GC Rapid Spanning Tree (cont.) 2013-2014

ß Discarding means that the port does not forward frames, process received frames, or learn MAC addresses, but it does listen for BPDUs ü it acts just like the STP blocking state ß RSTP uses an interim learning state, which works just like the STP learning state, but for only a short time ß Some mechanisms aiming at reducing convergence time have been defined ü Ex.: RSTP designates ports that Root bridge receive suboptimal BPDUs as alternateports • If the switch SW3 stops getting hellos from the root switch (SW1), RSTP on SW3 chooses the best alternate port as the new root port

21/22

GC Rapid Spanning Tree (cont.) 2013-2014

ß RSTP has been defined to reduce network convergence times (in some cases, as low as 1 to 2 seconds) in networks like that in the left side (case a) of the figure below, but not in networks likethat on the right (case b)

(a) (b) 22/22