On point-to-point links, a proposal agreement handshake sequence is used
by Rapid Spanning Tree to achieve fast convergence.
So Rapid Spanning Tree uses this to quickly transition ports to the forwarding state
where as 802.1D was just waiting for timers to expire
before ports where set to the forwarding state.
In this topology, if the link between the root switch on port 0
and port 1, on this switch, came up they would send proposals to each other.
Both ports are put into designated blocking
and they both send a Rapid Spanning Tree BPDU with the proposal bit set
Now, these rely on a new BPDU format which contains a proposal bit in the BPDU.
So additional information in a Rapid Spanning Tree BPDU has been added
we have the proposal bit, we have the port role
we have we have learning forwarding and agreement bits
as well as a topology change bit and topology change acknowledgment bit
that are part of the Rapid Spanning Tree BPDU.
So essentially what happens is when the port comes up
the switches sent proposal to each other
saying I want to have the designated port on this segment.
However, because bridge A, this switch here
receives the BPDU indicating a superior path cost
in other words, a better path is found via the root switch then itself
it immediately knows that port 1 is gonna be its new root port.
So it knows right away that this port should be its root port
because this port has the best path back to the root switch.
In other words a superior or better or lower path cost.
Bridge A, in other words, this switch start a sync
to ensure that all of its ports are in sync with this new information.
A port is in sync if it meets the following criteria
it is in the blocking state, in other words, its discarding ports or it's an edge port.
So in this example, port 2 is an alternate port
port 3 is a designated port and port 4 is an edge port.
So port 2 and port 4 already meet one of the criteria listed above.
It’s in the blocking state or it's an edge port.
So to be in the sync, bridge A must block port 3 and assigns it to the discarding state.
Now that all ports are in sync
bridge A can unblock its newly selected root port
and reply to the root with an agreement message.
So basically a proposal is sent from the root to switch A.
Switch A agrees that this is the best path back to the root
it blocks all ports or make sure that they are in sync
because they're edge ports and then sends back an agreement.
As soon as that happens the port can be unblocked.
So bridge A can unblock its port and replies with an agreement message
once the root switch receives that agreement message
it can transition immediately to the forwarding state.
So proposal, agreement, unblock port
in other words, set it to the forwarding state.
Now that happens very, very quickly.
Now by the same token, switch A can send the proposal to this switch.
So this process continues, proposal to this switch.
The switch sends back an agreement
this port can go to the forwarding state
this happens very quickly because it doesn’t rely on timers.
This way of handshakes propagates quickly towards the edge of the network
and quickly restores connectivity after a change in the topology.
If a designated discarding port does not receive an agreement
to its proposal, it slowly transitions to the forwarding state
using the traditional 802.1D listening, learning sequence.
This could happen if the remote bridge doesn’t understand
Rapid Spanning Tree BPDUs or if the remote bridge port is blocking.
So in this topology at the moment
sh spanning-tree g0/1
is a designated port in the forwarding state but it's shared port.
In this topology, g0/0 has been shutdown
so the root port on switch 3 is g0/1
and the alternate port is g0/2
but if i no shut g0/0
so I’ve enabled this port again.
sh spanning-tree notice g0/0 is the root port of switch 3.
This port is now the designated port but is in a blocking state.
0/2 is in the blocking state backup port.
On switch 2 the status has changed to blocking
because in this segment this is the best port to use to get back to root bridge.
However, it takes longer for this process to complete
than it would be if it was point-to-point link
shared ports take longer to converge.
so let’s do that again, I'll shut the port.
So gigabit 0/0 is now gonna be shutdown.
Previously gigabit 0/1 on this switch was the alternate port.
Now it’s the designated port
but it's blocking, still blocking, sh spanning-tree on switch 3.
Notice alternate port is blocking
root port is forwarding, now the port is in the learning state.
So traffic is still being dropped on this port
even though this is the port to use to get to the root bridge.
Now it’s forwarding, can take 30 seconds on a shared ports
because we’re using traditional 802.1D, listening, learning sequences on that port.
To use proposals and agreements the ports need to be configured
as point-to-point ports or need to negotiate to use full duplex.