h3c stp配置命令:先把生成树这件事讲明白
H3C交换机出厂默认就开启了STP,但默认配置往往不是最优解,真正要做的,是理解STP在干什么,再动手调整参数,让网络既防环路又跑得快。
STP(生成树协议)解决的是一个很朴素的问题:交换机之间连着多条线,数据包在环路里反复兜圈子,最终把网络跑死,它的思路也简单逻辑上堵住一条路,物理上保留冗余链路,H3C的STP实现遵循IEEE 802.1D标准,支持STP、RSTP、PVST、MSTP四种模式,配置思路一脉相承。
STP的四个关键参数,你必须在动手前懂
STP选根桥、选根端口、选指定端口,靠的是四个数字:
- 桥优先级(Bridge Priority):默认是32768,数值越小越有机会成为根桥,可调范围0到61440,步长是4096。
- MAC地址:当优先级相同时,MAC地址小的设备当选根桥。
- 端口开销(Path Cost):端口速率越高,开销越小,千兆口开销默认是20,万兆口是2,百兆口是200。
- 端口优先级(Port Priority):默认128,用在选举出口时打破平局。
行业共识认为,手动指定根桥比完全靠自动选举更可控,一个200台终端的办公网络,如果根桥选在一台老掉牙的接入交换机上,全网转发效率都会受影响。
链路故障后,STP收敛时间有多慢
传统STP从链路故障到恢复转发,需要等待30到50秒,这个数字对今天的办公网络来说太久了,语音通话掉线、视频会议中断、打印机连不上,都可能是这几十秒闹的。
RSTP(快速生成树协议)把收敛时间压缩到1到3秒,H3C设备上开启RSTP只是切一个模式的事:
[H3C] stp mode rstp
配置完成后,网络里所有设备都要切到同一个模式,否则协议报文互相不认,这一点在配置h3c stp时最容易踩坑。
h3c stp根桥配置:手动指定核心交换机,别让网络自己投票
核心交换机,指的是网络里性能最强、位置最居中的那台设备,它负责转发绝大多数跨区域流量,理应成为STP的根桥。
根桥配置实操:一条命令锁定角色
H3C设备上指定根桥,有两种方式:
直接配低优先级
[H3C-core] stp priority 4096
优先级设为4096,在网络中是相当高的“竞选优势”,只要没有优先级更低的设备,这台交换机基本就是根桥。
用stp root primary命令
[H3C-core] stp root primary
这条命令其实是系统帮你算优先级,如果当前网络上根桥优先级是32768,执行后它自动设为4096;如果根桥已经是4096,它会设为8192,省去手动换算的麻烦。
给备份根桥用 stp root secondary,系统会把它设成8192,比主根桥低一级,但高于其他所有设备。
边缘端口配置:给终端设备开绿色通道
接入层交换机的下行口,连的是PC、打印机、摄像头这类终端设备,这些口不会接交换机,天然不存在环路风险,但STP不知道这一点,它照样等30秒才让端口进入转发状态。
解决办法是把这些端口配置为边缘端口:
[H3C-access] interface GigabitEthernet1/0/1
[H3C-access-GigabitEthernet1/0/1] stp edged-port enable
配置后,边缘端口绕过STP的监听和学习状态,直接进入转发,PC开机就能拿到IP,不用等半分钟,但同时要给这些端口开BPDU保护,防止有人插一台交换机进来伪造BPDU报文:
[H3C-access-GigabitEthernet1/0/1] stp bpdu-protection
开了之后,端口收到BPDU报文会立即进入error-down状态,保证合法边缘端口不被恶意影响,据华三官网公开资料显示,边缘端口加BPDU保护是接入层推荐的默认组合。
h3c stp配置实例:从核心到接入,一套完整可抄的作业
拿一个典型的三层组网举例,核心交换机两台做双机,接入交换机若干台,连线有冗余,网络里必须跑MSTP或RSTP才能保证既冗余又不环路。
组网拓扑与配置思路
- 核心1:配置为主根桥,承载VLAN 10、20的生成树实例
- 核心2:配置为备份根桥
- 接入交换机:双上行分别连接到两台核心,跑MSTP实现链路冗余和负载分担
核心1配置:
[H3C-core1] stp mode mstp
[H3C-core1] stp instance 0 root primary
[H3C-core1] stp instance 1 root primary
[H3C-core1] vlan 10
[H3C-core1-vlan10] stp instance 1
核心2配置:
[H3C-core2] stp mode mstp [H3C-core2] stp instance 0 root secondary [H3C-core2] stp instance 1 root secondary
接入交换机配置:
[H3C-access] stp mode mstp
[H3C-access] stp region-configuration
[H3C-access-region] region-name H3C
[H3C-access-region] instance 0 vlan 10
[H3C-access-region] instance 1 vlan 20
[H3C-access-region] active region-configuration
注意最后一行 active region-configuration 是让MSTP域配置生效,不敲这条命令,前面的配置全部不生效,这是h3c stp配置实例里最常见的遗漏。
验证配置的几个必看命令
配完不是终点,验证才是关键,登录设备后逐条检查:
| 命令 | 看什么 |
|---|---|
display stp root |
确认根桥是哪台设备,优先级是否符合预期 |
display stp brief |
看端口角色和状态,端口是否处于FORWARDING状态 |
display stp instance 0 |
查看实例0的详细信息,包括端口角色、开销、状态计数 |
display stp topology-change |
查看拓扑变化次数,次数异常多说明网络在频繁抖动 |
有位做网络运维多年的工程师讲过一句实话:“配置STP只花十分钟,排障要花一晚上。”验证环节不能省,逐台设备登录,确认根桥、确认端口角色,至少看三台设备的状态。
H3C在环网中的实际行为:理解协议比背命令更重要
STP的配置命令不算多,真正考验人的是协议行为理解,H3C设备默认开了STP,但你插上电直接用的时代已经过去了,现代园区网动辄几十台交换机,环路风险无处不在。
三种常见场景下的STP行为差异
单核心双接入
核心接两台接入,接入各接一堆终端,STP会在其中一条链路上阻塞一个端口,保证转发路径唯一,此时根桥是核心,接入的两条上行链路一条转发一条阻塞。
双核心双接入
更复杂,接入交换机到两台核心都有链路,STP需要决定哪条链路转发、哪条阻塞,此时MSTP比RSTP更有优势,因为MSTP可以让不同VLAN走不同路径,做到负载均衡。
接入层成环

终端用户自己拉了一根网线,把两个接入交换机串起来了,这种环路STP必须能识别并阻塞一个端口,配置了BPDU保护的边缘端口会在收到BPDU时报error-down,没配置的话STP会重新收敛。
维护建议:让STP少干活
把STP收敛当成一件低频事件来管理,链路不抖动、设备不频繁重启、非法设备不接入,STP就不需要反复收敛,日常维护关注三件事:
- 链路状态:光模块和网线老化是链路抖动的头号原因
- 设备负载:CPU占用高的交换机处理BPDU报文会变慢
- 配置备份:改完配置立即保存,重启丢失就麻烦了
H3C交换机STP配置常见问题与排查思路
问:H3C交换机STP默认是开启的吗?需要手动关闭吗?
H3C交换机出厂默认开启STP,如果网络规模小、拓扑无环路,可以手动关闭以减少协议开销,关闭命令是 undo stp enable,在全局视图下执行,生产环境强烈不建议关闭,环形拓扑一旦出现环路,广播风暴会直接瘫痪网络。
问:STP模式选择上,RSTP和MSTP我应该用哪个?
终端数量在100台以内、网络结构简单的场景,RSTP足够,设备多、VLAN多、有负载均衡需求的场景,MSTP更合适,MSTP是RSTP的超集,支持多实例、按VLAN划分生成树,能用好MSTP就别再折腾RSTP,行业共识认为,新建网络直接上MSTP是当下更合理的选择,省得后期网络扩大还得改模式。
问:配置完STP后,网络还是出现广播风暴,从哪里查起?
第一步查 display stp brief,确认是否有端口处于BLOCKING状态,第二步查 display stp topology-change,看拓扑变化次数是否在持续增加,第三步查端口收发的BPDU报文计数,确认设备是否在正常处理BPDU,如果所有端口都在FORWARDING状态,说明STP根本没起来,检查 stp enable 是否被误关闭,或者设备之间是否有人配置了二层隔离。
STP的配置从理解选举逻辑开始,到掌握根桥优先级和边缘端口这些关键控制点结束,多数运维故障不是配置写错了,而是没搞懂每台设备在生成树里的位置和角色,回到开头那句话:先理解,再配置,验证也不能省,把根桥定在核心、把边缘口管住、把模式选对,H3C交换机的生成树在你的网络里就会安静地工作,你几乎感觉不到它的存在这恰恰就是它该有的样子。


