在通过STP协议选择根网桥之后,以及在交换机选择了其根端口(RP)之后,第三步是识别指定端口(DP)。该端口负责转发BPDU和帧。为每个网段标识单个DP端口。
如果两个端口有资格成为指定端口,则将发生LOOP。在这种情况下,STP会将端口之一置于阻塞状态以消除环路。
识别指定端口
与根端口相似,指定端口由通向根网桥的最低路径成本确定。除非拓扑中的STP成本发生变化,否则指定的端口将永远不会处于阻塞状态。端口不能同时设置为指定端口和根端口。
考虑以下示例:
根网桥上的端口从未定义为“阻止”或“根”。这样,交换机A的两个端口将自动成为指定端口。每个网段都必须具有一个指定的端口,而不管该网段上是否已经存在根端口。
从交换机B和E到交换机C和D的端口将被定义为“指定端口”,因为其他方面都是“根端口”。
在这种情况下,交换机D和交换机C之间的网段不包含根端口。该网段上的两个端口有资格成为“指定端口”,因此STP识别出存在LOOP。现在,必须将其中一个端口选择为“指定端口”,而其他端口必须置于“阻塞”状态。
识别阻塞端口
通常,根路径成本最低的交换机将其端口置于“指定”模式。根路径成本最高的交换机的端口将处于阻塞状态。
在上面的示例中,交换机C和交换机D的根路径成本均为8。在这种情况下,STP将检查第二个条件以选择阻塞端口。的最低网桥ID 被用作打破平局。交换机C的优先级为100,而交换机D的默认优先级为32768。因此,交换机D上的端口将进入阻塞模式,而交换机C上的端口将成为指定端口。
如果两个交换机具有相同的优先级,则具有最低MAC地址的交换机一侧的端口将成为“指定端口”。请记住,任何未被选作root用户或指定端口的端口都将处于阻塞状态。
端口号
选择根端口和指定端口时,根路径成本和网桥ID都可以绑定。考虑前面的图片。
在这种情况下,交换机B在两个不同的端口中接收具有相同信息的两个BPDU。网桥ID和STP成本相同,因此交换机B到根网桥的路径相同。您认为在此情况下哪个端口将成为根?
端口ID用作最终的决胜局,由两个组件组成:
- 4位端口优先级
- 从物理端口号派生的12位端口号
缺省情况下,接口的端口优先级为128,但始终优先使用较低的优先级。如果存在优先级,则首选端口号最低的发送方(交换机A)。在此示例中,交换机B必须决定Gi0 / 1还是Gi0 / 2成为根端口。
交换机B将收到来自交换机A的BPDU,其中将包含Gi0 / 1和Gi0 / 2的端口ID。如果两个优先级都相等,则由于端口号较低,因此优先选择来自Gi0 / 1的发送方端口ID。因此,交换机B上的Gi0 / 1将成为根端口,而Gi0 / 2将处于“阻塞”状态。
以下视频向您展示了STP如何在实践中选择指定端口