4、环网冗余技术:STP/RSTP协议原理、MRP配置与故障恢复测试
各位好,我是老张。今天咱们聊聊风场通讯里最让人又爱又恨的东西——环网冗余。
你想想看,风场里风机排成一溜,光纤拉过去,要是哪段光纤被老鼠咬了,或者哪个交换机被雷劈了,整条链路上的风机全掉线,那运维可就炸锅了。所以,环网技术就是干这个的——让网络有“备用通道”。
我个人习惯把环网技术分成两派:一派是“老江湖”STP/RSTP,另一派是“工业硬汉”MRP。咱们一个一个说。
4.1 STP/RSTP:从“慢吞吞”到“快准狠”
STP(生成树协议)是IEEE 802.1D的标准。它的核心逻辑很简单:把环网“剪”成树形,避免广播风暴。但问题来了——它收敛太慢了!
我记得有一次在西北某风场,一个35kV开关站跳闸,导致环网中断。STP花了整整30秒才恢复通信。那30秒里,中控室的大屏上全是红色告警,场长急得直跺脚。
为什么会这么慢?因为STP的每个端口状态切换要经过:Blocking → Listening → Learning → Forwarding,每个状态都要等一个Forward Delay(默认15秒)。两个状态就是30秒。
后来RSTP(快速生成树协议,802.1w)出来了。它把状态砍成了三个:Discarding、Learning、Forwarding。而且引入了“边缘端口”和“点到点链路”的概念,收敛时间直接降到1秒以内。
我在项目中遇到过最极端的情况:一个环网有12台交换机,用RSTP做冗余,故障恢复时间实测只有0.8秒。嗯,这个成绩在风场里已经算不错了。
| 特性 | STP (802.1D) | RSTP (802.1w) |
|---|---|---|
| 收敛时间 | 30~50秒 | 0.5~2秒 |
| 端口状态 | 5种 | 3种 |
| 拓扑变化处理 | 全网泛洪 | 仅通知受影响交换机 |
| 兼容性 | 差 | 向下兼容STP |
4.2 MRP:工业以太网的“硬核”方案
MRP(介质冗余协议)是IEC 62439-2标准,专门为工业自动化设计的。说白了,它比RSTP更“霸道”——它要求环网里的所有设备必须支持MRP,而且有一个专门的“环网管理器”(Ring Manager)。
MRP的工作原理是这样的:正常情况下,环网管理器会阻塞一个端口,防止环路。当链路断了,管理器立刻打开那个端口,数据从另一条路走。整个过程有多快?
我曾经在实验室里用示波器测过:MRP的故障恢复时间通常在10~30毫秒。对,你没看错,是毫秒级。RSTP在它面前就是个“慢动作”。
但MRP也有个坑:它要求环网里不能有第三方设备。你想想看,风场里有时候会混用不同品牌的交换机,如果有一台不支持MRP,整个环网就玩不转了。
4.3 MRP配置实战(以西门子交换机为例)
下面我贴一段MRP的配置示例。注意,不同厂商的命令不一样,但逻辑是相通的。
! 进入全局配置模式
configure terminal
! 启用MRP,指定环网ID为1
mrp ring 1
! 配置环网端口(两个端口分别接环的两端)
interface gigabitethernet 0/1
mrp ring 1 port role primary
exit
interface gigabitethernet 0/2
mrp ring 1 port role secondary
exit
! 配置环网管理器(只有一台交换机做管理器)
mrp ring 1 manager
! 设置故障恢复时间(默认200ms,可调)
mrp ring 1 recovery-time 50
! 验证配置
show mrp ring 1 status
配置完以后,用 show mrp ring 1 status 查看状态。如果显示 Ring State: Closed,说明环网正常。如果显示 Ring State: Open,说明链路断了,管理器正在工作。
4.4 环网故障恢复时间测试方法
测试恢复时间,说白了就是看“断网到恢复”花了多久。我常用的方法有两种:
- Ping法: 在环网两端各放一台电脑,持续ping对方。拔掉一根光纤,看ping中断了多久。这个方法简单,但精度只有秒级。
- 示波器法: 用一台工业以太网测试仪(比如NetScan或Fluke OptiView),发送连续数据帧,同时监测链路状态。精度可以到微秒级。
我个人习惯用第二种。有一次在海上风场,我用示波器测出MRP的恢复时间是23毫秒,而RSTP是1.2秒。场长看了数据,当场决定全厂换MRP交换机。
4.5 避坑指南
- 我曾经遇到过 一个环网里混用了STP和RSTP,结果RSTP交换机把STP交换机当成了“老旧设备”,自动降级成STP模式,收敛时间直接回到30秒。所以,要么全用RSTP,要么全用STP,别混着来。
- 我曾经遇到过 光纤接头脏了,导致环网频繁切换。MRP虽然恢复快,但每切换一次就会丢几个包。后来我用酒精棉擦了擦接头,问题就解决了。嗯,有时候问题不在协议,在物理层。
- 我曾经遇到过 环网里有一台交换机的MRP固件版本太老,导致整个环网无法收敛。升级固件后一切正常。所以,设备选型时一定要确认固件版本。
4.6 知识体系图
下面这张SVG图,帮你理清环网冗余技术的核心逻辑:
好了,环网冗余这块就聊到这儿。记住一句话:没有最好的协议,只有最合适的方案。你在现场遇到什么奇葩问题,欢迎来交流。