[转载]交换机STP协议

注:之前做一个项目,测试部使用2个公司的交换机,H3C和H公司的,H公司的交换机是OEM H3C的交换机,正常来说两者使用没有区别。

但是使用中发现,如果设备的多个对外业务网口连接的交换机的聚合网口,启动过程中设备的业务网口尚未配置聚合,此时使用H3C交换机正常,但是使用H公司的交换机就出现网络风暴。

最后确认是因为H公司的交换机没有开启STP协议导致的回环。

交换机 STP 协议 (使用冗余交换机时,防止网络中出现环路造成广播风暴。Active/Standby 模式)

转自 http://sunxuewei.blog.51cto.com/902684/978573

需求

    在大型局域网中,为了维护网络的健壮性和可靠性,在核心层会采取多台设备进行冗余备份,而在汇聚层也会采取双归属或者环路来达到负载分担和冗余备份。因此在此类网络中从一点到达另一点可能会有多条路径可达。因而在报文转发时不可避免的会产生广播风暴。 STP的计算将错综复杂的物理网络整合成一棵逻辑转发树,将那些没有必要的链路阻塞。而当某些当前在用的链路发生故障时,又可以快速启用被阻塞的的链路来代替,保证网络的连通性。简单地说,想做冗余又怕环路所以用 STP 解决。

作用:

   交换机内的生成树算法(STA)使你可以创建一条备用链路(当网络中存在多台交换机时)。在主链路正常工作时,备用链路处于空闲状态(不工作);只有在主链路出现问题时,备用链路才不需要任何人工干预自动地接替主链路。这种自动重构的功能,使得网络上的用户能够最大限度地与网络保持正常的连接。

   STP协议在逻辑上断开网络的环路,防止广播风暴的产生,而一旦正在使用的线路出现故障,逻辑上被断开的线路又被连同,起到了冗余备份的作用。

原理

什么是STP协议?

STP(Spanning Tree Protocol)生成树协议

举例:当网络存在环路的时候,A查找MAC地址,不存在,那么它向B、C广播,B、C也不存在,那么它们也向外广播,这样一来,就会形成双向广播环,广播风暴最终会导致网络资源耗尽,交换机死机。

在这个时候,STP就起到作用了

stp协议是逻辑上断开环路,防止广播风暴的产生 当线路出现故障,断开的接口被激活,恢复通信,起备份线路的作用

STP将一个环形网络生成无环拓朴的步骤: 选择根网桥(Root Bridge) 选择根端口(Root Ports) 选择指定端口(Designated Ports)

网桥ID(BID) 网桥ID是唯一的,交换机之间选择BID值最小的交换机作为网络中的根网桥

取值范围:0 ~ 65535 缺省值:32768

 

交换机A的BID只最小(000d.2800.b100),所以它将被选为根网桥(root bridge)

下一步选择跟端口,

在非根网桥上选择一个到根网桥最近的端口作为根端口

选择根端口的依据是: 根路径成本最低  直连的网桥ID最小 端口ID最小  

根路径成本-是网桥到根网桥的路径上所有链路的成本之和

链路带宽(Mb/s) 路径成本 10                            100 16                             62 45                             39 100                           19 155                           14 622                           6 1000                         4 10000                       2

我们只需要记住3个路径成本就够了(100,19,4)这是比较常用的三个

 

指定端口

在每个网段上,选择1个指定端口  

根桥上的端口全是指定端口  

非根桥上的指定端口: 根路径成本最低 端口所在的网桥的ID值较小 端口ID值较小

接下来我做一个经过stp计算,最终形成无环拓扑结构的过程,看图

 

A很明显是根网桥

图没截好,BC上面的根端口 也已经出来了 (因为与根网桥直连的端口是根端口)

 

接下来,指定端口的选择

A是根网桥,所以它上面的所有端口都是指定端口

 

如图所说,B的网桥ID较小,所以B上面的端口为指定端口,

这样,经过stp计算,无环拓扑网络结构就出来了

好了 过程大家看明白了吧,但是有没有想过,交换机怎么知道其他交换机的网桥ID?怎么知道哪个端口的根路径成本最小?

这就涉及到BPDU(桥协议数据单元)

交换机之间使用BPDU来交换STP信息 BPDU Bridge Protocol Data Unit -桥协议数据单元 使用组播发送BPDU,组播地址为: 01-80-c2-00-00-00 BPDU分为2种类型: 配置BPDU - 用于生成树计算 拓朴变更通告(TCN)BPDU - 用于通告网络拓朴的变化

BPDU所包含的关键字

 

1,交换机启动时,假定自己是根网桥,在向外发送的BPDU中,根网桥ID字段填写自己的网桥ID,

2,当接收到其他交换机发出的BPDU后,比较网桥ID,选择较小的添加到根网桥ID中

3,当全网所有的交换机接收到全部的BPDU并作比较后,就可以选择出唯一的一个根网桥

4,根网桥发送根路径成本为0的BPDU

5,其他交换机接收到根网桥的BPDU后,在根路径成本上添加接收接口的路径成本,然后转发

交换机的5种stp状态

状态                                 用途 转发(Forwarding) 发送和接收用户数据 学习(Learning) 构建网桥表 侦听(Listening) 构建“活动”拓朴 阻塞(Blocking) 只接收BPDU 禁用(Disable) 强制关闭

生成树计时器

交换机开机需要等待30秒时间开始转发数据 当某个正在使用的链路断掉,阻塞的端口需要50秒时间开始转发数据

0————–20———–15———–15

阻断              倾听            学习              转发

OK,比较乱,认真看就明白了

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注