STP生成树协议工作原理
在一个复杂的网络中,难免会出现环路。并且,由于冗余备份需要,网络设计者都倾向于在设备之间部署多条物理链路,其中一条作主链路,其他链路作为备份。这样,偶然或必然中都会导致环路的产生。环路会产生广播风暴,最终导致整个网络资源被耗尽,网络瘫痪不可用。环路还会引起MAC地址表震荡导致MAC地址表项被破坏。为了破除环路,采用数据链路层协议STP。下面一起来看看STP是如何破坏的。 STP的工作原理 STP实质就是从逻辑上把其中一个端阻塞掉,从而把环路破除。那么它是通过什么机制选取那个端口是阻塞状态呢?生成树算法可以归纳以下三个步骤: 1. 选择根网桥 每个交换机都有唯一的网桥ID(BID),最小BID值的交换机为根交换机。因为BID(8字节)= 桥优先级(2字节)+ 桥MAC(6字节),所以,通过调整优先级让某台交换机为根交换机。 2. 选择根端口 选择根网桥后,其他的非根网桥选择一个距离根网桥最近的端口为根端口。 选择根端口依据如下:
链路速度与路径成本 3. 选择指定端口 每个网段选择一个指定端口,根网桥的所有端口均为指定端口。 选择非根网桥指定端口的依据如下:
经过以上三个步骤的选择,把根桥、根端口和指定端口都选择出来了,剩下的就是非指定端口,也是将被STP协议在逻辑上阻塞的端口。 以下通过一个简单的案例来深入了解一下STP的工作过程。 从上图拓扑是由三台华为的S5700组成,优先级保持默认的32768,带宽也是一样的1000Mbps。由于华为的交换机默认开启STP。 根据上文的知识点,很快确定SW1是根交换机,由于优先级一样,比较MAC地址,SW1是最小的,所以称为根端口。在交换机上通过执行如下命令验证一下
根端口是哪些呢? 交换机SW2到交换机SW1的最近端口被选为根端口。从上图拓扑可看出,在带宽相同情况下,SW2的GE0/0/1端口到SW1最近,所以,为根端口,同样的SW3的GE0/0/2端口为根端口。可以通过以下命令,在交换机上验证
指定端口是哪些呢? SW2和SW3的GE0/0/3两个端口到根端口的开销一样,选择BID较小的SW3交换机端口为指定端口,所以SW3的GE0/0/3为指定端口,而SW2的GE0/0/3为阻塞端口。 有了以上的知识点,可以通过控制一些可变的值,来达到我们先要的效果,例如,先让SW3成为根交换机,可以通过降低SW3的优先级(一定是4096的倍数)。执行如下命令
还可以通过修改端口的优先级、或者链路开销值等参数,达到我们想要的效果。具体命令如下:
(编辑:青岛站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |