STP生成树协议工作原理

网络 网络管理
在一个复杂的网络中,难免会出现环路。环路会产生广播风暴,还会引起MAC地址表震荡导致MAC地址表项被破坏。为了破除环路,采用数据链路层协议STP。下面一起来看看STP是如何破坏的。

在一个复杂的网络中,难免会出现环路。并且,由于冗余备份需要,网络设计者都倾向于在设备之间部署多条物理链路,其中一条作主链路,其他链路作为备份。这样,偶然或必然中都会导致环路的产生。环路会产生广播风暴,最终导致整个网络资源被耗尽,网络瘫痪不可用。环路还会引起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 

 

责任编辑:赵宁宁 来源: 今日头条
相关推荐

2013-06-06 10:11:36

交换机技术交换机生成树

2023-12-06 16:28:56

2013-07-22 09:22:36

生成树协议交换技术生成树

2011-09-13 10:49:39

STP交换机网桥

2012-04-10 10:13:11

交换机树协议STP

2013-12-25 09:33:07

生成树STP选举

2010-08-02 16:14:54

2013-06-04 13:53:30

OSPF路由协议OSPF协议OSPF

2010-08-29 21:45:14

DHCP协议

2010-08-26 15:30:47

DHCP协议

2013-08-30 13:39:20

生成树协议思科生成树

2010-06-08 12:37:25

HTTP协议工作原理

2023-05-15 17:53:54

2011-07-27 11:29:46

STP生成树交换机

2013-08-23 10:11:01

生成树协议交换技术生成树

2012-04-10 13:20:56

交换机生成树协议

2010-08-29 21:09:57

DHCP协议

2023-05-26 10:37:17

ChatGPT人工智能

2012-09-03 09:16:50

多层次个别分层数据中心网络

2020-09-01 08:01:01

生成树协议STP网络协议
点赞
收藏

51CTO技术栈公众号