加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码网 (https://www.900php.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

STP生成树协议工作原理

发布时间:2019-11-04 22:22:54 所属栏目:教程 来源:攻城狮成长日记
导读:在一个复杂的网络中,难免会出现环路。并且,由于冗余备份需要,网络设计者都倾向于在设备之间部署多条物理链路,其中一条作主链路,其他链路作为备份。这样,偶然或必然中都会导致环路的产生。环路会产生广播风暴,最终导致整个网络资源被耗尽,网络瘫痪

在一个复杂的网络中,难免会出现环路。并且,由于冗余备份需要,网络设计者都倾向于在设备之间部署多条物理链路,其中一条作主链路,其他链路作为备份。这样,偶然或必然中都会导致环路的产生。环路会产生广播风暴,最终导致整个网络资源被耗尽,网络瘫痪不可用。环路还会引起MAC地址表震荡导致MAC地址表项被破坏。为了破除环路,采用数据链路层协议STP。下面一起来看看STP是如何破坏的。

STP的工作原理

STP实质就是从逻辑上把其中一个端阻塞掉,从而把环路破除。那么它是通过什么机制选取那个端口是阻塞状态呢?生成树算法可以归纳以下三个步骤:

1. 选择根网桥

每个交换机都有唯一的网桥ID(BID),最小BID值的交换机为根交换机。因为BID(8字节)= 桥优先级(2字节)+ 桥MAC(6字节),所以,通过调整优先级让某台交换机为根交换机。

2. 选择根端口

选择根网桥后,其他的非根网桥选择一个距离根网桥最近的端口为根端口。

选择根端口依据如下:

  • 交换机中到根网桥总路径成本最低的端口
  • 如果到达根网桥的开销相同,在比较上级发送者的桥ID,选择发送者网桥ID最小对应的端口。
  • 如果发送者网桥ID也相同,再比较发送者端口ID。端口ID由端口优先级(8位)和端口编号(8位)组成。若端口优先级相同,选择端口号最小的。

攻城狮带你了解STP生成树协议工作原理

链路速度与路径成本

3. 选择指定端口

每个网段选择一个指定端口,根网桥的所有端口均为指定端口。

选择非根网桥指定端口的依据如下:

  • 到根网桥的路径成本最低
  • 端口所在的网桥的ID最小
  • 端口值较小

经过以上三个步骤的选择,把根桥、根端口和指定端口都选择出来了,剩下的就是非指定端口,也是将被STP协议在逻辑上阻塞的端口。

以下通过一个简单的案例来深入了解一下STP的工作过程。

攻城狮带你了解STP生成树协议工作原理

从上图拓扑是由三台华为的S5700组成,优先级保持默认的32768,带宽也是一样的1000Mbps。由于华为的交换机默认开启STP。

根据上文的知识点,很快确定SW1是根交换机,由于优先级一样,比较MAC地址,SW1是最小的,所以称为根端口。在交换机上通过执行如下命令验证一下

  1. [SW3]display stp  

攻城狮带你了解STP生成树协议工作原理

根端口是哪些呢?

交换机SW2到交换机SW1的最近端口被选为根端口。从上图拓扑可看出,在带宽相同情况下,SW2的GE0/0/1端口到SW1最近,所以,为根端口,同样的SW3的GE0/0/2端口为根端口。可以通过以下命令,在交换机上验证

  1. display stp brief 

攻城狮带你了解STP生成树协议工作原理

攻城狮带你了解STP生成树协议工作原理

指定端口是哪些呢?

SW2和SW3的GE0/0/3两个端口到根端口的开销一样,选择BID较小的SW3交换机端口为指定端口,所以SW3的GE0/0/3为指定端口,而SW2的GE0/0/3为阻塞端口。

攻城狮带你了解STP生成树协议工作原理

有了以上的知识点,可以通过控制一些可变的值,来达到我们先要的效果,例如,先让SW3成为根交换机,可以通过降低SW3的优先级(一定是4096的倍数)。执行如下命令

  1. [SW3]stp priority 4096 

攻城狮带你了解STP生成树协议工作原理

还可以通过修改端口的优先级、或者链路开销值等参数,达到我们想要的效果。具体命令如下:

  1. #修改端口的开销值 
  2. [SW2-GigabitEthernet0/0/1]stp cost 1000 
  3. #通过修改端口优先级 
  4. [SW2-GigabitEthernet0/0/1]stp port priority 32 

(编辑:源码网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读