hi every body!
Rstp treat half duplex port as shared medium. My question is if a switch loses non-edge half duplex link, how does convergence occur in rstp?
thanks a lot and have a nice weekend!
A designated port only sends a proposal when it is discarding (blocking) and needs to go forwarding. If is receives an agreement, it can go forwarding immediately, else it keeps proposing while expiring its timers.
Here, the designated port on sw4 leading to 0/2 on sw2 is already forwarding. It will not propose at all.
Port f0/2 on switch 2 is not designated, it is a root port and goes forwarding immediately.
The answer is that the designated port on sw1 does not have to know;-)
The proposal agreement mechanism is just to allow designated port to go forwarding quickly.
Root ports go forwarding immediately, without proposal agreement (well, there are some few condition, such as the previous root port must be discarding before the new root port goes forwarding).
In your case, sw2 lost its connection to the root. Its port 0/2 is down or moved to discarding, and port the previously alternate 0/1 is immediately selected as a root forwarding port.
So if the link is shared, the inital spec of RSTP and MST would just do a slow transition to forwarding. If a port is blocked and needs to go forwarding, it would still propose but will not get an agreement and thus go through the listening/learning states before going to forwarding.
The latest spec have introduced an enhancement. The designated port proposes on the shared segment. The peers send back an agreement (after performing a sync if necessary). The designated port does not go forwarding when it receives the agreement (because it cannot track all its neighbors), but it only waits 2xhello time before going to forwarding.
This mechanism must be supported by all the switches on the shared segment (because the designated port assumes that they would have successfully sync in 2xhello-time). Cisco has not implemented it yet. As you said, there is not much use of shared segments in local area networks. They are somewhat coming back with emulated lans (802.1ad, VPLS etc...) but it's generally a good idea to avoid running STP over them.
STP does not care, it does not perform the proposal/agreement mechanism and would be equally slow on shared or p2p links.
Rstp can only achieve rapid convergence on full duplex point-to-point links. If you have a non-edge port that is running in half-duplex then rstp cannot achieve the fast convergence it can with full duplex non-edge ports.
You can if you want explicitly configure a half-duplex port to be considered as a point-to-point link but rstp will see as it as shared port by default.