当前位置:   article > 正文

STP的拓扑变更和STP的接口状态(HCNP)

stp的拓扑变更

目录

 

STP的接口状态

STP定义了五种接口状态

STP接口状态变化

STP的拓扑变更

BPDU的比较原则

BPDU的交互与拓扑计算

STP拓扑变更过程


STP的接口状态

STP定义了五种接口状态

STP接口状态
状态名称状态描述
禁用(Disabled)该接口不能收发BPDU,也不能收发业务数据帧,例如接口为down
阻塞(Blocking)该接口被STP阻塞。处于阻塞状态的接口不能发送BPDU,但是会持续侦听 BPDU,而且不能收发业务数据帧,也不会进行MAC地址学习
侦听(Listening)当接口处于该状态时,表明STP初步认定该接口为根接口或指定接口,但接 口依然处于STP计算的过程中,此时接口可以收发BPDU,但是不能收发业 务数据帧,也不会进行MAC地址学习
学习(Learning)当接口处于该状态时,会侦听业务数据帧(但是不能转发业务数据帧),并且 在收到业务数据帧后进行MAC地址学习
转发(Forwarding)处于该状态的接口可以正常地收发业务数据帧,也会进行BPDU处理。接口 的角色需是根接口或指定接口才能进入转发状态

STP接口状态变化

当交换机的一个接口被激活后,该接口将从禁用状态自动进入阻塞状态。处于阻塞状态的接口如果被交换机选举为根接口或者指定接口,那么它将从阻塞状态进入侦听状 态,并且在侦听状态停留15s (转发延迟时间)。

有些读者可能会感到很好奇,为什么接口不允许从阻塞状态直接进入转发状态,而要先进入侦听状态呢?设想一下,在STP的收敛过程中,BPDU泛洪到全网是需要一定时间的,STP完成全网拓扑计算同样需要时间,因此接口在侦听状态停留的这15s将给予STP充分的时间进行全网拓扑计算,避免网络中出现临时的环路。

在侦听状态停留15s后,如果该接口依然是根接口或指定接口,那么它将 进入学习状态,并且在该状态下也停留15s (转发延迟时间)。由于此时交换机在接口上并未学习到任何MAC地址,因此如果接口从侦听状态立即进入转发状态的话,就有可能在短时间内导致网络中出现不必要的数据帧泛洪现象。所以,STP规定接口从侦听状态进入学习状态后,也需停留15s,在这段时间内交换机会在该接口持续侦听业务数据帧并学习MAC地址,为进入转发状态做好准备。

STP的拓扑变更

BPDU的比较原则

对于STP而言,最重要的工作就是在交换网络中计算出一个无环拓扑,并在网络中 存在二层环路的情况下打破环路。在拓扑计算的过程中,一个非常重要的内容就是配置 BPDU的比较。在配置BPDU中,有四个字段非常关键,它们是“根桥ID”“RPC”、“网ID”以及“接口 ID”这四个字段便是交换机进行配置BPDU比较的关键内容。

STP按照如下顺序选择最优的配置BPDU。

最小的根桥ID

最小的RPC

最小的网桥ID

最小的接口 ID。

BPDU的交互与拓扑计算

初始情况下,交换网络中的所有交换机都认为自己是根桥,这些设备开始运行后从 自己所有激活了 STP的接口发送BPDU (在本书后续的内容中,如果没有特别说明,那 么BPDU指的是配置BPDU)O如图10.13所示,SW1SW2均在自己的接口上发送自 己的BPDU,图中只为大家展示了 BPDU中最重要的四个字段。

1由于两者都认为自己是根桥,因此在它们各自发送的BPDU中,“根桥ID”字 段均填写的是自己的桥id,“RPC”字段则填写的是0根桥发出的BPDURPC 始终为0,毕竟根桥到达自己无需付出任何成本。另外“网桥ID”字段填写的是该BPDU 发送者的桥ID,“接口 ID”字段则填写的是发送该BPDU的接口的接口 ID

2)SW1SW2都将收到对方发送过来的BPDU并开始进行BPDU的比较——将 对方的BPDU与自己接口上的BPDU进行比较,按照“BPDU的比较原则”一节中介绍 的原则依序进行。实际上,在第一个原则(最小的根桥ID)的比较中,SW2便已经判 断出对方发送的BPDU要比本地的更优。现在SW2接受了 SW1为根桥的事实,而SW1 则认定自己是根桥,它将忽略SW2发送的BPDU,并继续周期性地从自己的接口发送 BPDU

3)接下来,SW2将开始根接口选举。由于SW2GE0/0/3GE0/0/4接口上收 到的BPDU都比自己本地的BPDU更优,因此它使用对方的BPDU更新自己本地的 BPDU。然后SW2将比较自己所有接口上的BPDU,拥有最优BPDU 的接口将成为其根接口。

对于SW2GE0/0/3GE0/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是由SW1GE0/0/1接口发出,而在GE0/0/4接口上到达的BPDU 是由SW1GE0/0/2接口发出,故此时其实比较的是SW1GE0/0/1GE0/0/2的接 口 ID大家都知道,接口 ID包含两部分:接口优先级和接口编号,接口优先级的值最 小的将胜出,而如果接口优先级都相等,那么接口编号最小的将胜出。

在本例中,这两个接口的优先级相同,而由于GE0/0/1的接口编号比GE0/0/2更小,所 以对于SW2而言,在其GE0/0/3接口上到达的BPDU更优,于是该接口成为SW2的根接口。

4)SW2的根接口选举出来后,它使用当前在根接口上保存的最优BPDU为其他接 口计算BPDUoSW2为其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)到目前为止,网络的拓扑已经计算完毕,SW2GE0/0/4接口将被阻塞,从而 网络中的二层环路被打破:

STP拓扑变更过程

简要的说明一下:交换机会从自己的指定端口向外发送TCN BPDU报文 接收到TCN BPDU报文的交换机向发送者发送TCA BPDU报文 根交换机接收到TCN BPDU报文向网络中发送TC BPDU 收到TC BPDU的交换机将MAC地址表老化时间设为15s 就这些, TCA是应答TCN的。

  1. T点接口发生变更后,下游设备会不间断地向上游设备发送TCN BPDU报文。
  2. 上游设备收到下游设备发来的TCN BPDU报文后,只有指定端口处理TCN BPDU报文。其它端口也有可能收到TCN BPDU报文,但不会处理。
  3. 上游设备会把配置BPDU报文中的Flags的TCA位设置1,然后发送给下游设备,告知下游设备停止发送TCN BPDU报文。
  4. 上游设备复制一份TCN BPDU报文,向根桥方向发送。
  5. 重复步骤1、2、3、4,直到根桥收到TCN BPDU报文。
  6. 根桥把配置BPDU报文中的Flags的TC位置1后发送,通知下游设备直接删除桥MAC地址表项。

(转载于:https://forum.huawei.com/enterprise/zh/thread-262051.html

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号