华为配置篇-RSTP/MSTP实验

MSTP

一、简介

RSTP(快速生成树协议)

RSTP(Rapid Spanning Tree Protocol)是 STP 的改进版本,基于 ​​IEEE 802.1w 标准​​ ,核心目标是解决传统 STP 收敛速度慢的问题。其通过引入 ​​快速过渡机制​​ 和 ​​新增端口角色​​(如替代端口、备份端口、边缘端口),将收敛时间从 STP 的 30-50 秒缩短至 ​​1 秒以内​​。

  • 端口角色扩展:除根端口、指定端口外,新增替代端口(Alternate Port)和备份端口(Backup Port),用于快速接管失效链路。
  • 快速状态转换:通过P/A( ​​Proposal/Agreement )机制直接协商端口状态,跳过 STP 的监听和学习阶段。
  • 兼容性:当检测到传统 STP BPDU 时,自动切换为 STP 模式。

MSTP(多生成树协议)

MSTP(Multiple Spanning Tree Protocol)基于 ​​IEEE 802.1s 标准​​ ,支持多生成树实例(MSTI)​​,允许不同 VLAN 组映射到不同的生成树实例,实现逻辑拓扑的灵活划分。

  • 实例化与区域划分:将网络划分为多个 ​​MST 区域,每个区域独立运行生成树,并通过 CST(公共生成树) 连接不同区域。
  • VLAN 映射:通过配置 VLAN-实例映射表,将流量分配到不同实例,避免单一生成树的资源浪费。
  • BPDU 优化:使用 MST BPDU 携带区域和实例信息,减少控制报文数量。

二、常用命令总结

bash 复制代码
display stp						#查 STP 的状态和统计信息
display stp instance 0 brief	#查看 STP 的状态和统计信息摘要,特殊实例0
display stp interface GigabitEthernet 0/0/2	#查看 GE0/0/2 接口的 STP 的状态和统计信息,可查看port cost的开销

#优先级确定根桥
stp priority 4096				#调整 STP 优先级,默认32768,越小越好
#直接指定根桥
stp root primary				#相当于优先级为0
stp root secondary				#相当于优先级为4096

[S4-GigabitEthernet0/0/2] stp cost 40001	#修改GE0/0/2 接口的 STP cost 值为 40001。影响根路径开销,进而改变本端口角色。
[S1-GigabitEthernet0/0/11] stp port priority 64	#修改 GE0/0/11 的 STP 接口优先级,默认为128,越小越好。影响对端端口角色。



display stp region-configuration	#检查 MSTP 实例和 VLAN 的映射关系
display stp instance 1 brief		#查看 MSTI1 的状态和统计信息摘要

#配置MSTI1 的根桥和备份根桥
[S1]stp instance 1 root primary
[S2]stp instance 1 root secondary

三、实验

背景

你是公司的网络管理员。公司的网络采用了备份网络,为避免环路问题,在网络中部署了RSTP 。所有的 VLAN 共享一棵 STP 生成树,为了实现VLAN 间数据流量的负载均衡, 在网络中部署 MSTP

拓扑

配置-RSTP模式

bash 复制代码
#
sysname S1
#
stp enable
stp mode rstp
stp instance 0 root primary				#直接设置为根桥
#
interface GigabitEthernet0/0/11
 stp instance 0 port priority 64		#设置stp接口优先级
#
return 

#
sysname S2
#
stp enable
stp mode rstp
stp instance 0 root secondary
#
return 

#
sysname S3
#
stp enable
stp mode rstp
#
return 

#
sysname S4
#
stp enable
stp mode rstp
#
interface GigabitEthernet0/0/2
 stp instance 0 cost 40001			#设置stp接口开销
#
return 

配置-MSTP模式

S1

bash 复制代码
#
sysname S1
#
vlan batch 10 20 30 40 50 60 70 80
#
stp instance 0 root primary
stp instance 1 root primary
stp instance 2 root secondary
#
stp region-configuration
 region-name hcip				#配置区域名
 revision-level 1				#配置修订版本,默认0
 instance 1 vlan 10 30 50 70 	#设置实例1 对应vlan
 instance 2 vlan 20 40 60 80 	#设置实例2 对应vlan
 active region-configuration	#激活区域配置
#
interface GigabitEthernet0/0/10
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
#
interface GigabitEthernet0/0/11
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
 stp instance 0 port priority 64
#
interface GigabitEthernet0/0/12
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
#
interface GigabitEthernet0/0/13
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
#
return 

S2

bash 复制代码
#
sysname S2
#
vlan batch 10 20 30 40 50 60 70 80
#
stp instance 0 root secondary
stp instance 1 root secondary
stp instance 2 root primary
#
stp region-configuration
 region-name hcip
 revision-level 1
 instance 1 vlan 10 30 50 70 
 instance 2 vlan 20 40 60 80 
 active region-configuration
#
interface GigabitEthernet0/0/10
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
#
interface GigabitEthernet0/0/11
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
#
interface GigabitEthernet0/0/12
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
#
interface GigabitEthernet0/0/13
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
#
return 

S3

bash 复制代码
#
sysname S3
#
vlan batch 10 20 30 40 50 60 70 80
#
stp region-configuration
 region-name hcip
 revision-level 1
 instance 1 vlan 10 30 50 70 
 instance 2 vlan 20 40 60 80 
 active region-configuration
#
interface GigabitEthernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
#
interface GigabitEthernet0/0/2
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
#
interface GigabitEthernet0/0/3
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
#
return 

S4

bash 复制代码
#
sysname S4
#
vlan batch 10 20 30 40 50 60 70 80
#
stp region-configuration
 region-name hcip
 revision-level 1
 instance 1 vlan 10 30 50 70 
 instance 2 vlan 20 40 60 80 
 active region-configuration
#
interface GigabitEthernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
#
interface GigabitEthernet0/0/2
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
 stp instance 0 cost 40001
#
interface GigabitEthernet0/0/3
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
#
return 

总结

根桥选举:桥ID(桥priorityMAC地址),越小越好,抢占式。

根接口选举:根路径开销PRC上行桥ID(BID)、上行接口优先级上行接口ID(PID)、本地接口ID,越小越好。

相关推荐
iCxhust6 小时前
c# U盘映像生成工具
开发语言·单片机·c#
yangzhi_emo7 小时前
ES6笔记2
开发语言·前端·javascript
emplace_back8 小时前
C# 集合表达式和展开运算符 (..) 详解
开发语言·windows·c#
jz_ddk8 小时前
[学习] C语言数学库函数背后的故事:`double erf(double x)`
c语言·开发语言·学习
萧曵 丶8 小时前
Rust 所有权系统:深入浅出指南
开发语言·后端·rust
xiaolang_8616_wjl8 小时前
c++文字游戏_闯关打怪2.0(开源)
开发语言·c++·开源
收破烂的小熊猫~8 小时前
《Java修仙传:从凡胎到码帝》第四章:设计模式破万法
java·开发语言·设计模式
nananaij9 小时前
【Python进阶篇 面向对象程序设计(3) 继承】
开发语言·python·神经网络·pycharm
阿蒙Amon9 小时前
为什么 12 版仍封神?《C# 高级编程》:从.NET 5 到实战架构,进阶者绕不开的必修课
开发语言·c#