STP协议与MSTP协议
STP协议与MSTP协议
一、STP概述
1、交换网络环路的产生
- 网络风暴的形成
- 多帧复制
- MAC 地址表紊乱
2、STP简介
- STP(Spanning Tree Protocol,生成树协议)就是用来把一个环形的结构改变成一个树形的结构
逻辑上断开环路,防止广播风暴的产生 当线路故障 ,阻塞接口被激活,恢复通信,起备份线路的作用
二、生成树算法
1、生成树算法的步骤
- 选择根网桥(Root Bridge)
- 选择根端口(Root Ports)
- 选择指定端口(Designated Ports)
2、网桥 ID(BID)
- 网桥ID是唯一的
- 选择交换网络中网桥ID最小的交换机成为根网桥
取值范围:0 ~ 65536
缺省值:32768
- 根据生成树算法的定义,当比较某个STP 参数的两个取值时,值小的优先级高。因此,在选择根网桥的时候,比较方法是看哪台交换机的网桥ID值最小,优先级小的被选择为根网桥,在优先级相同的情况下,则MAC地址小的为根网桥
3、选择根端口
- 选出了根网桥之后,网络中的每台交换机必须和根网桥建立某种关联,因此,STP将开始选择根端口的过程。根端口存在于非根网桥上,需要在每个非根王桥上选择一个根端口
- 选择根端口的依据
到网桥最低的路径成本
直连的网桥ID 最小
端口ID 最小
- 根路径成本:是两个网桥间的路径上所有线路的成本之和,也就是某个网桥到达根网桥的中间所有线路的路径成本之和
SW3的 Port 1根路径成本=19+100=119 端口ID 是一个两字节的STP参数,由1字节的端口优先级和1字节的端口编号组成
取值范围:0 ~ 255
缺省值:128
注:在比较端口ID值时,比较的是接收到的对端的端口ID值
4、选择指定端口
- 选择完根网桥和每台交换机的根端口号,一个树形结构已经初步形成,但是,所有的线路仍连接在一起,并可能都处于活动状态,最后依然形成环路,为了消除环路形成的可能,STP进行最后的计算,在每一个网段上选择一个指定端口,根桥上的端口全是指定端口,选择指定端口的依据与选择根端口相同,有以下步骤:
根路径成本较低
所在的交换机的网桥ID的值较小
端口 ID 的值较小
- 在STP选定端口的时候,首先比较同一段网络上端口中根路径成本最低的,也就是将到达的根网桥最近的端口作为指定端口;当根路径成本相同的时候,比较这个端口所在的交换机的网络 ID值,选择一个网桥ID 值小的交换机上的端口作为指定端口;当网桥ID 值相同的时候,也就是说,有几个位于同一交换机上的端口时,比较端口ID 值,选择较小的作为指定端口
注:根网桥上的端口都是指定端口,因为根网桥上的端口的根路径成本为 0
5、逻辑结构无环拓扑
- 最终形成逻辑结构无环拓扑
三、生成树算法的验证
1、三套交换机的生成协议选集
2、生成树的命令配置
SW1 的生成树状态
[Huawei]dis stp brief
SW2 的生成树状态
[Huawei]dis stp brief
SW3 的生成树状态
[Huawei]dis stp brief
四、STP 利用BPDU选择根网桥
1、当交换机启动时,假定自己是根网桥,在向外发送的BPDU 中根网桥ID 字段填写自己的网桥 ID
2、交换机端口的STP状态
3、STP的计时器
hello时间
转发时间
最大老化时间
五、MSTP协议
1、MSTP概述
- MSTP是一种公有生成树协议,在实际生产环境中得到了广泛的应用
- 传统的生成树只运行一个实例,且收敛速度慢,RSTP在传统的STP基础上通过改进达到了加速网络拓扑收敛的目的,但仍有缺陷,由于STP和RSTP在整个局域网中,所有VLAN共享一个生成树实例,因此无法实现基于VLAN的负载均衡,网络环境稳点状态下备份链路始终不能转发数据流量,造成带宽的浪费。
2、PVST和MSTP区别
- PVST——它是思科私有的,多实例 多VLAN 可以实现负载均衡,但是它有缺陷,一个实例只能跑一个VLAN,意味着100个VLAN要开100个实例,很吃资源,是其弊端。
- MSTP——多树生成树协议,一个实例当中,可以包含多个VLAN,性能要比PVST性能好的多。
3、MSTP 网络层次
(1)带外管理流量
- 管理平面和业务平面的数据是二根不同的线路
(2)带内管理流量
- 管理平面和业务平面的数据是同一根网线
4、MSTP 端口状态
- Forwarding (转发)
- Learing (学习)
- Discarding (丢弃)
5、MSTP 配置命令
- 用3台交换机设置MSTP模式,域中有 vlan 10 和 vlan 20 两种vlan
SW1
stp mode mstp # 交换机 STP模式改为 MSTP模式
stp region-configuration # 进入MSTP 设置模式
region-name Huawei # 配置区域名为 huawei
revision-level 1 # 版本级别为1(不同域可以都为1)
instance 1 vlan 10 # 定义实例1 为 vlan 10
instance 2 vlan 20 # 定义实例2 为 vlan 20
active region-configuration # 对MSTP 配置激活保存
quite
stp instance 1 root primary # 定义本交换机为实例1的主根
stp instance 2 root secondary # 定义本交换机为实例2的备根
SW2
stp mode mstp
stp region-configuration
region-name Huawei
revision-level 1
instance 1 vlan 1
instance 2 vlan 20
active region-configuration
quite
stp instance 1 root secondary # 定义本交换机为实例1的备根
stp instance 2 root primary # 定义交换机为实例2的主根
SW 3:
stp mode mstp
stp region-configuration
region-name Huawei
revision-level 1
instance 1 vlan 10
instance 2 vlan 20
active region-configuration
quit