61850协议GOOSE通信AB网通信
1、发送方是一个进程还是多个进程?
单进程+双socket
┌──────────────────────────────────────┐│ GOOSE Publisher 服务 ││ ┌──────────────────────────────────┐ ││ │ 应用层逻辑:事件触发/状态变化检测 │ ││ ├──────────────────────────────────┤ ││ │ GOOSE 报文封装(StNum, SqNum, t) │ ││ ├──────────────────────────────────┤ ││ │ GOOSE 发送模块 │ ││ │ ┌────────────┬────────────┐ │ ││ │ │ Socket A │ Socket B │ │ ││ │ │ (eth0) │ (eth1) │ │ ││ │ └────────────┴────────────┘ │ ││ └──────────────────────────────────┘ │└──────────────────────────────────────┘
如果是两个进程,会带来以下问题
问题点 | 描述 |
---|---|
1️⃣ 同步难 | GOOSE 报文中包含 SqNum(序列号)、StNum(状态号)、t(时间戳)等关键字段;这三项必须严格一致。两个进程会导致不同步。 |
2️⃣ 时延抖动 | 两个进程由 Linux 调度器调度,调度时延不确定,会导致 A、B 报文发出时间差异大。 |
3️⃣ 管理复杂 | 状态同步、重发计时器(retransmission timer)、事件触发都要跨进程通信。 |
4️⃣ 资源浪费 | 需要维护两份相同的GOOSE应用逻辑状态机。 |
2、为什么 B 网不会受 A 网影响?
GOOSE 协议本身的设计目标之一,就是任何单一网络或链路故障都不应影响信号传递。
2.1 A网问题可以分为:
问题类型 | 描述 |
---|