Difference
between STP and RSTP:
The
following table outlines the main differences between Rapid STP (802.1w) and
the legacy STP (802.1d):
Priority:
The
priority range is between 1 and 65536; therefore, 1 is the highest priority.
Priority can be assigned/increased in the multiples of 4096
STP
(802.1d)
|
Rapid STP
(802.1w)
|
In stable
topology only the root sends BPDU and relayed by others.
|
In stable
topology all
bridges generate BPDU every Hello (2 sec) : used as “keepalives” mechanism. |
Port
states
|
|
Disabled
Blocking Listening Learning Forwarding |
Discarding (replaces
disabled, blocking and listening)
Learning Forwarding |
To avoid
flapping, it takes 3 seconds for a port to migrate from one protocol to
another (STP / RSTP) in a mixed segment.
|
|
Port roles
|
|
Root (Forwarding)
Designated (Forwarding) Non-Designated (Blocking) |
Root
(Forwarding)
Designated (Forwarding) Alternate(Discarding)Backup (Discarding) |
Additional
configuration to make an end node port a port fast (in case a
BPDU is received).
|
- An edge
port (end node port) is an integrated Link type which depends on the
duplex : Point-to-point for full duplex & shared for half duplex).
|
Topology
changes and convergence
|
|
Use timers
for convergence (advertised by the root):
Hello(2 sec) Max Age(20 sec = 10 missed hellos) Forward delay timer (15 sec) |
-
Introduce proposal and agreement process for synchronization (<
1 sec).- Hello, Max Age and Forward delay timer used only for
backward compatibility with standard STP
|
Only RSTP
port receiving STP (802.1d) messages will behaves as standard STP.
|
|
Slow
transition (50sec):
Blocking (20s) =>Listening (15s) =>Learning (15s) =>Forwarding |
Faster
transition on point-to-point and edge ports only:Less states – No
learning state, doesn’t wait to be informed by others, instead, actively
looks for possible failure by RLQ (Request Link Query)
a feedback mechanism.
|
Use only 2
bits from the flag octet: Bit 7: Topology Change Acknowledgment. Bit 0 :
Topology Change
|
Use other
6 bits of the flag octet (BPDU type 2/version 2):
Bit 1 : Proposal Bit 2, 3 : Port role Bit 4 : Learning Bit 5 : Forwarding Bit 6 : Agreement Bit 0, 7 : TCA & TCN for backward compatibility |
The bridge
that discover a change in the network inform the root, that in turns informs
all others by sending BPDU with TCA bit set and instruct them to clear their
DB entries after “short timer” (~Forward delay) expire.
|
TC is
flooded through the network, every bridge generate TC (Topology change) and
inform its neighbors when it is aware of a topology change and immediately
delete old DB entries.
|
If a
non-root bridge doesn’t receive Hello for 10*Hello (advertised from the
root), start claiming the root role by generating its own Hello.
|
Wait for
3*Hello on a root port (advertised from the root) before deciding to act.
|
Wait until
TC reach the root + short timer (~Forward delay) expires, then flush all root
DB entries
|
Delete
immediately local DB except MAC of the port receiving the topology changes
(proposal)
|
STP:
Configuration BPDU: Generated by
Root Switch
TCN BPDU: Generated by any Switch
detecting a change
TCA BPDU: Generated by any Switch
acknowledging the change
In RSTP:
Once the Root Switch is elected
(after the Proposal/Agreement phase). All switches generates BPDU (used as a
keepalive)
STP and RSTP has similar BPDU Format except that of Flag
Field:
In STP: Only least (for Topology
Change Acknowledgment) and higher significant (Topology Change) bits are used
In RSTP: All the Flag fields are
used for Proposal, Agreement and also for Port roles.
Normal BPDU
format:
STP/RSTP
Rapid Spanning Tree Protocol
(RSTP) is an evolution of the Spanning Tree Protocol (802.1D standard) and
provides for faster spanning tree convergence after a topology change. The
standard also includes features equivalent to Cisco PortFast, UplinkFast and BackboneFast
for faster network re-convergence.
Spanning-Tree Protocol (STP)
prevents loops from being formed when switches or bridges are interconnected
via multiple paths. Spanning-Tree Protocol implements the 802.1D IEEE algorithm
by exchanging BPDU messages with other switches to detect loops, and then
removes the loop by shutting down selected bridge interfaces. This algorithm
guarantees that there is one and only one active path between two network
devices.
CONVERGENCE TIME IN RSTP:
The main difference in RSTP is that all bridges can send
BPDU, not just the root.
So in the instance of a switch goes down, any switch that has a link connected to it will notice (as its link has gone down) this switch will then bring up its alternative port and send out a BPDU to neighbor switch’s still alive to say it has done so. (So no timer need to time out, this happens almost instantly). This BPDU then travel through the network update all other switch’s resulting in sub second fail over and convergence of the network.
The hello times do some times come in to play, but in theory for most switch and link failures in a RSTP network, failover and down time is limited to < 1sec.
So in the instance of a switch goes down, any switch that has a link connected to it will notice (as its link has gone down) this switch will then bring up its alternative port and send out a BPDU to neighbor switch’s still alive to say it has done so. (So no timer need to time out, this happens almost instantly). This BPDU then travel through the network update all other switch’s resulting in sub second fail over and convergence of the network.
The hello times do some times come in to play, but in theory for most switch and link failures in a RSTP network, failover and down time is limited to < 1sec.
AND ALSO:
The forward delay is not normal used. RSTP is much more of
an active process between all switches in a network.
They handshake on ports so check they can bring them to a forwarding state before they bring them up (but this takes milliseconds) they also only flush mac address of the ports that have failed, so when bringing up an alternative port, they still know all mac address on any other port they still have up. They don't need a long learning phase, as the impact of re-learning mac address is less? (Plus switches are much faster).
But this really is a CCNP topic, if you look in to uplink fast and backbone fast in common STP. This is the kind of thing that runs network wide on RSTP.
The forward (listing / learning) delay is generally brought in to use when RSTP meets STP. and it has to fall back to using the STP timers.
They handshake on ports so check they can bring them to a forwarding state before they bring them up (but this takes milliseconds) they also only flush mac address of the ports that have failed, so when bringing up an alternative port, they still know all mac address on any other port they still have up. They don't need a long learning phase, as the impact of re-learning mac address is less? (Plus switches are much faster).
But this really is a CCNP topic, if you look in to uplink fast and backbone fast in common STP. This is the kind of thing that runs network wide on RSTP.
The forward (listing / learning) delay is generally brought in to use when RSTP meets STP. and it has to fall back to using the STP timers.
Backup port and alternative port: These two port roles correspond to the
blocking state of 802.1d (STP). A blocked port is defined as not being
the designated or root port. A blocked port receives a more useful BPDU than
the one it would send out on its segment. Remember
that a port absolutely needs to receive BPDUs in order to stay blocked.
RSTP introduces these two roles for this purpose.
An alternate port is a port
blocked by receiving more useful
BPDUs from another bridge, as show in above fig.
As the name indicates alternate to
one port.
Backup port is a port blocked by receiving more useful BPDUs from the same bridge it is on, as shown in above fig.
****An alternate port provides an
alternate path to the root bridge and could therefore replace the root port
present if it fails.
****Where as backup port provides
redundant connectivity to the same segment and can’t guarantee an alternate
connectivity to the root bridge.
New BPDU Format:
Few changes introduced by RSTP to
the BPDU format. Only two flags, Topology Change (TC) and TC Acknowledgement
(TCA), were defined in 802.1d. RSTP uses all 6 remaining bits of the flag byte
in order to do the following:
- Encode
the role and state of the port originating the BPDU.
- Handle the proposal/agreement mechanism.
In order to achieve fast
convergence on a port, the protocol relies upon two new variables: edge ports
and link type.
Another imp change is that the
RSTP BPDU is of type 2, version 2. Result of this is that legacy bridges must
drop this new BPDU.
On a given port, if hellos are not
received 3 consecutive times (3 * 2 secs), protocol information can be
immediately aged out. This fast aging of the information in RSTP allows quick
failure detection. If a bridge fails to receive BPDUs from a neighbor, it is
certain that the connection to that neighbor has been lost, as opposed to
802.1d where the problem could have been anywhere
on the path to the root.
****Please note the WORD “anywhere
on the path to the root”, since in legacy STP 802.1d only root bridge used to
send BPDUs and same will be relayed to others in segment. So whenever a change
somewhere in topology occurs, this topo change info needs to be relied to
everybody in topology by root bridge but whereas in RSTP 802.1w all the bridges
in topo will be sending BPDUs of their own to neighbors and when any link status changes they
immediately updates to neighbors.
Note: Failures are detected even
much faster in case of physical link failures
In order to achieve fast convergence on a port, the
protocol relies upon two new variables: edge ports and link type.
Edge ports: Are nothing but portfast, only end systems
or non-switches connected links are configured as portfast as it is guaranteed
that they don’t cause loops as a result they don’t get involved in STP
operation. But in case if any ports connected to switches and are configured as
portfast and as a result of STP if they receive the BPDUs on this link these interfaces will put into error
disabled.
Since port fast configured interfaces gets directly transitioned
from blocked to forwarding state.
Link Type:
Link Types - Point-to-Point and Shared
- With RSTP, non-edge ports can be configured as
either a point-to-point link type or a shared link type. The shared link type
is for a port that is connected to other switches by way of a shared device
like a hub.
- Point-to-point link types can switch to forwarding state quickly depending on its port role
- Point-to-point link types can switch to forwarding state quickly depending on its port role
Differences
in convergence between 802.1d and 802.1w
802.1d:
In the above diagram the link between root bridge and
bridge A is added newly. Earlier Bridge A could reach root bridge via CàDà Root Bridge. Now
since this new port is coming up and
since it can cause the loop as it is redundant path to RB. First both links
i.e. new link between Bridge A and RB and Bridge D and RB are put into
listening state i.e. data flow is stopped. And since Bridge A now can hear from
RB directly it will send out superior BPDUs to its leaves and during this
superior BPDU reaches Bridge D and it immediately blocks the port P1.
As a result of above explanation below figure:
Port P1 is disabled now.
The only problem now is that twice the forward delay has to elapse before the link between the
root and A eventually ends up in the forwarding state. This means 30 seconds of disruption of traffic
(the entire A, B, and C part of the network is isolated) because the 8021.D
algorithm lacks a feedback mechanism
clearly advertising that the network has converged in a matter of seconds.
How STP Recovers From an
Indirect Link Failure
Consider this diagram, which involves three switches R, B, and S in a fully meshed topology. Assume that R is the root bridge and B is the backup root bridge. S blocks its port P and B is the designated bridge for link L3.
1. If
link L1 goes down, switch B immediately detects the failure and assumes it is
the root. It starts to send BPDUs to S and claims to be the new root.
2. When
S receives this new BPDU from B, it realizes it is inferior to the one it had
stored for port P and ignores it.
3. After
max_age timer expires (20 seconds by default), the BPDU stored on S for port P
ages out. The port goes immediately to listening and S starts to send its
better BPDU to B.
4. As
soon as B receives the BPDU from S, it stops sending its BPDU.
5. Port
P moves to the forwarding state through listening and learning states. This
takes twice the fw_delay value, an additional 30 seconds. Full connectivity is
then restored.
It took the max_age value (20 seconds) plus twice the fw_delay value (2x15
seconds) to recover from this indirect link failure. This is 50 seconds with
the default parameters. The backbone fast feature proposes to save max_age (20
seconds). In order to do this, it ages out immediately after the port receive
inferior BPDUs.
Hey...Great information thanks for sharing such a valuable information
ReplyDeleteAxis Nifty 100 Index Fund
Axis MF NFO