I am just a bit confused about designated ports in STP, i know how to determine them and the confusion is about the say " designated port is the only port in charge to forward traffic on a segment ". my question is : in many cases we have segments or links that a root port on one end and a designated port on the other end here the two ports are forwarding traffic that does not agree with the say " designated port is the only port in charge to forward traffic on a segment ".
2 Answers
In short and simplified, a designated port is a forwarding port that leads away from the root bridge (from the priority perspective). The other end of a designated port is a root port (assuming P2P).
The root port is the best port leading towards the root bridge. A root port on one bridge needs to be designated at the other end bridge for the tree to work. The algorithm takes care of this by blocking only alternate ports leading towards the root bridge.
You might want to check the reference IEEE 802.1Q 13.12 Port role assignments.
I guess this is the kind of question where people have an image of a network as a graph (i.e., a structure where each edge connects only two vertices) and this is quite often the wrong way to think about the network.
At the time when STP was created, Ethernet was a (CSMA/CD) bus. A bus connects more than two systems. This means, that a single bus can have multiple bridge ports of different bridges[*]. See example below. Each node can be a bridge or an end system. This is pretty crucial detail that is necessary to understand what STP actually does.
Now, what STP will do is put one of these bridge ports in root state, one in designated state, and all other in block state.
Now, let's say some frame has appeared on the bus. If this frame is originated locally (by another system on the bus), it will be received by all bridge ports on this bus. Bridges with root and designated port will forwards the frame. All other bridges (which have blocked ports on this bus) will drop the frame. Forwarding means that the bridge will flood the frame, i.e., send it to all its root and designated ports except the one on which it was received. Then basically the same thing happens at each other bus segment, except if bridge has sent out a frame it does not forward it back.
If you try to imagine several busses interconnected by "multiport" bridges you will see that this way each frame will be send on each bus exactly once.
Try e.g., this picture here, consider what happens at segments A, B, and I. Alternatively there are figures in IEEE standard.
[*] a bridge can have several ports on the same bus, and STP handles this: One port will be designated, all other blocked. This is why the last condition in port state selection is the port number.