演示:两台交换机成环后的STP计算原则

演示:两台交换机成环后的STP计算原则

演示目标:理解两台交换机成环后,STP的计算原则,重点理解PID的作用。

演示环境:如下图7.49所示。


115932387.png

演示背景:上图所示的环境为两台交换机的生成树环境,其中S1有较小的BID所以它将会成为环路中的根桥,现在要分析的问题:在交换机S2上将会把哪个端口作为指派端口,哪个端口作为阻塞端口。

演示步骤:

第一步:查看成环后,默认的根桥是交换机S1因为它具备最小的BID,在默认情况下,环路中所有网桥具备相同的优先级那么,有较小MAC地址的交换机,它的BID就小,所以S1将成为环路中的根桥,可以在交换机S1上使用指令show spanning-tree查看状态如下图7.50所示,然后STP算法会阻塞交换机S2的fa0/1端口,可以在交换机S2上使用指令show spanning-tree查看状态如下图7.51所示。

120022171.png

120153745.png

提问:为什么会阻塞交换机S2的fa0/1端口?

关于交换机S1被选举成根桥,上面已经有很详细的描述,这里不再重复描述,应该不会有疑问。当交换机S1成为根桥后,根桥上的所有端口应该是转发状态,那么在交换机S2上的哪个端口将被阻塞,这与BPDU发送者所发送的PID有关,接收较小PID的端口被设置为转发状态,接收较高PID的端口被设置为阻塞状态,那么,要根据这个原则作判断,首先要理解什么是PID?

PID(Port ID)端口ID,端口ID是由端口优先级加上端口编号组成,默认情况下端口优先级是128,所以具备较小端口编号的交换机接口将具备更小的PID。但是需要注意,此时PID的比较,不是比较交换机S2的PID,而是比较BPDU发送者(交换机S1)的PID,所以根据两台交换机的环路所示,交换机S1端口fa0/1的PID小于fa0/2的PID,S1的fa0/1连接S2的fa0/2,S1的fa0/2连接 S2的fa0/1,所以根据上述的比较原则,交换机S2的fa0/1端口会被阻塞,如上图7.51所示。

注意:PID的比较是对BPDU发送者(交换机S1)的PID进行比较,而不是比较交换机S2各个端口的PID.如果是比较交换机S2各个端口的PID,那么将会是阻塞交换机S2的fa0/2端口,但事实上并非如此!

第二步:如果现在需要交换机S2阻塞fa0/2端口,那么就需要调整交换机S1的fa0/2接口的优先级,因为它直接关系到它所连接的交换机S2的fa0/1端口是否被阻塞,还是一个原则,关于BPDU发送者的PID大小,应该将交换机S1的fa0/2端口的PID改得比交换机S1的fa0/1端口的PID更小,那么对应连接的交换机S2的fa0/1端口就会从阻塞状态变为转发状态,同时便会阻塞交换机S2的fa0/2端口,具体改变PID的配置如下所示:

在交换机S1上改变fa0/2端口的PID:

S1(config)#interface fastEthernet 0/2

S1(config-if)#spanning-tree port-priority ?

<0-255> Change an interface’s spanning tree priority

指令解释:调整交换机的端口优先级,必须在交换机的某个特点接口模式下进行,spanning-tree port-priority是改变端口优先级的关键字,其取值范围从0-255,所取数值越低,表示优先级就越高但是请注意,在配置端口优先级时,必须是以4的倍数作调整,默认情况下,端口优先级是128,如下所示的配置,将默认的端口优先级改为127,但是交换机报提示,必须以4的倍数改变端口优先级。

S1(config-if)#spanning-tree port-priority 127 *改变端口优先级为127。

Priority in increments of 4 is required *交换机提示必须以4的倍数改变端口优先级。

S1(config-if)#spanning-tree port-priority 124 *正确配置改变端口优先级为124。

当完成对交换机S1(BPDU的发送者)的fa0/2的端口优先级的修改后的状态如下图7.52所示,端口fa0/2的端口优先级已变为124,所以它所连接的交换机S2的fa0/1端口将从阻塞状态变为转发状态,相应,交换机S2的fa0/2将变为阻塞状态,如下图7.53所示。

120429841.png

120429861.png

再次强调:在上述两台交换机环路的环境中,关心的是BPDU发送者的PID,配置也应该是针对BPDU发送者的PID进行配置。