赞
踩
目录
状态名称 | 状态描述 |
禁用(Disabled) | 该接口不能收发BPDU,也不能收发业务数据帧,例如接口为down |
阻塞(Blocking) | 该接口被STP阻塞。处于阻塞状态的接口不能发送BPDU,但是会持续侦听 BPDU,而且不能收发业务数据帧,也不会进行MAC地址学习 |
侦听(Listening) | 当接口处于该状态时,表明STP初步认定该接口为根接口或指定接口,但接 口依然处于STP计算的过程中,此时接口可以收发BPDU,但是不能收发业 务数据帧,也不会进行MAC地址学习 |
学习(Learning) | 当接口处于该状态时,会侦听业务数据帧(但是不能转发业务数据帧),并且 在收到业务数据帧后进行MAC地址学习 |
转发(Forwarding) | 处于该状态的接口可以正常地收发业务数据帧,也会进行BPDU处理。接口 的角色需是根接口或指定接口才能进入转发状态 |
当交换机的一个接口被激活后,该接口将从禁用状态自动进入阻塞状态。处于阻塞状态的接口如果被交换机选举为根接口或者指定接口,那么它将从阻塞状态进入侦听状 态,并且在侦听状态停留15s (转发延迟时间)。
有些读者可能会感到很好奇,为什么接口不允许从阻塞状态直接进入转发状态,而要先进入侦听状态呢?设想一下,在STP的收敛过程中,BPDU泛洪到全网是需要一定时间的,STP完成全网拓扑计算同样需要时间,因此接口在侦听状态停留的这15s将给予STP充分的时间进行全网拓扑计算,避免网络中出现临时的环路。
在侦听状态停留15s后,如果该接口依然是根接口或指定接口,那么它将 进入学习状态,并且在该状态下也停留15s (转发延迟时间)。由于此时交换机在接口上并未学习到任何MAC地址,因此如果接口从侦听状态立即进入转发状态的话,就有可能在短时间内导致网络中出现不必要的数据帧泛洪现象。所以,STP规定接口从侦听状态进入学习状态后,也需停留15s,在这段时间内交换机会在该接口持续侦听业务数据帧并学习MAC地址,为进入转发状态做好准备。
对于STP而言,最重要的工作就是在交换网络中计算出一个无环拓扑,并在网络中 存在二层环路的情况下打破环路。在拓扑计算的过程中,一个非常重要的内容就是配置 BPDU的比较。在配置BPDU中,有四个字段非常关键,它们是“根桥ID”、“RPC”、“网桥ID”以及“接口 ID”,这四个字段便是交换机进行配置BPDU比较的关键内容。
STP按照如下顺序选择最优的配置BPDU。
•最小的根桥ID;
•最小的RPC;
•最小的网桥ID;
•最小的接口 ID。
初始情况下,交换网络中的所有交换机都认为自己是根桥,这些设备开始运行后从 自己所有激活了 STP的接口发送BPDU (在本书后续的内容中,如果没有特别说明,那 么BPDU指的是配置BPDU)O如图10.13所示,SW1及SW2均在自己的接口上发送自 己的BPDU,图中只为大家展示了 BPDU中最重要的四个字段。
(1)由于两者都认为自己是根桥,因此在它们各自发送的BPDU中,“根桥ID”字 段均填写的是自己的桥id,而“RPC”字段则填写的是0。根桥发出的BPDU中RPC 始终为0,毕竟根桥到达自己无需付出任何成本。另外“网桥ID”字段填写的是该BPDU 发送者的桥ID,而“接口 ID”字段则填写的是发送该BPDU的接口的接口 ID。
(2)SW1及SW2都将收到对方发送过来的BPDU并开始进行BPDU的比较——将 对方的BPDU与自己接口上的BPDU进行比较,按照“BPDU的比较原则”一节中介绍 的原则依序进行。实际上,在第一个原则(最小的根桥ID)的比较中,SW2便已经判 断出对方发送的BPDU要比本地的更优。现在SW2接受了 SW1为根桥的事实,而SW1 则认定自己是根桥,它将忽略SW2发送的BPDU,并继续周期性地从自己的接口发送 BPDU。
(3)接下来,SW2将开始根接口选举。由于SW2在GE0/0/3及GE0/0/4接口上收 到的BPDU都比自己本地的BPDU更优,因此它使用对方的BPDU更新自己本地的 BPDU。然后SW2将比较自己所有接口上的BPDU,拥有最优BPDU 的接口将成为其根接口。
对于SW2在GE0/0/3及GE0/0/4接口上保存的这两个BPDU,它们的“根桥ID” 字段是相同的,而它通过这两个接口到达根桥的RPC又都是20000 (以GE0/0/3接口为 例,SW2从该接口到达根桥的RPC等于它在该接口上收到的BPDU中的RPC加上该接 口的Cost,也就是0+20000,结果等于20000- GE0/0/4同理)。另外,这两个BPDU的 “网桥ID”字段也相同,因此SW2将比较这两个BPDU的“接口 ID”字段。由于在GE0/0/3 接口上到达的BPDU是由SW1的GE0/0/1接口发出,而在GE0/0/4接口上到达的BPDU 是由SW1的GE0/0/2接口发出,故此时其实比较的是SW1的GE0/0/1及GE0/0/2的接 口 ID。大家都知道,接口 ID包含两部分:接口优先级和接口编号,接口优先级的值最 小的将胜出,而如果接口优先级都相等,那么接口编号最小的将胜出。
在本例中,这两个接口的优先级相同,而由于GE0/0/1的接口编号比GE0/0/2更小,所 以对于SW2而言,在其GE0/0/3接口上到达的BPDU更优,于是该接口成为SW2的根接口。
(4)SW2的根接口选举出来后,它使用当前在根接口上保存的最优BPDU为其他接 口计算BPDUo以SW2为其GE0/0/4接口计算的BPDU为例,具体的做法是:
•在“根桥ID”字段中写入最优BPDU中的根桥ID,也就是SW1的桥ID。
•在“RPC”字段中写入最优BPDU中的RPC与根接口(GE0/0/3)的Cost之和, 也就是20000 O
•在“网桥ID”字段中写入本设备的桥ID,也就是SW2的桥ID。
•在“接口 ID”字段中写入本接口的ID,也就是GE0/0/4接口的ID。
完成上述操作后,SW2将其为GE0/0/4计算出的BPDU与该接口当前保存的BPDU 进行比较,很明显后者更优,于是SW2将该接口认定为非指定接口。SW2继续在GE0/0/4 接口上保存SW1发送的BPDU,并且持续侦听该BPDUo
(5)到目前为止,网络的拓扑已经计算完毕,SW2的GE0/0/4接口将被阻塞,从而 网络中的二层环路被打破:
简要的说明一下:交换机会从自己的指定端口向外发送TCN BPDU报文 接收到TCN BPDU报文的交换机向发送者发送TCA BPDU报文 根交换机接收到TCN BPDU报文向网络中发送TC BPDU 收到TC BPDU的交换机将MAC地址表老化时间设为15s 就这些, TCA是应答TCN的。
(转载于:https://forum.huawei.com/enterprise/zh/thread-262051.html)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。