目前,最新的车载网络广泛使用以太网作为骨干网络,为了增强网络的可靠性,通常采用环形网络拓扑结构,允许数据通过多条路径传输。 然而,环形拓扑结构的引入会导致环路的形成,这反过来又会带来潜在的风险,例如广播风暴。 为了规避这些问题,我们通常需要使用STP RSTP等技术来防止环路形成,并在检测到通信链路故障时实现无缝切换,从而减少故障对网络通信的不利影响。 然而,链路切换时STP、RSTP等技术的收敛速度通常在1秒以上,远远不能满足车载网络通信的要求。 相比之下,ERP技术为以太网环提供了更快的故障检测和切换解决方案,确保网络在发生故障时可以更快地恢复正常,因此在车载网络中具有广泛的应用潜力。
ERPS代表以太网环网保护交换,是ITU-T定义的第2层破坏性协议标准,标准编号为ITU-T G8032 Y1344,因此得名 G8032,用于定义环网自动保护交换 (R-APS) 数据包和保护交换机制。 ERP包括V1和V2,其中V2增加了子环等功能,V2与V1完全兼容。
在以太网交换网络中引入的环网拓扑结构,用于执行链路备份,提高网络可靠性,会导致网络上出现环路,从而可能引起广播风暴、MAC地址表不稳定等现象,从而影响用户通信质量,甚至导致通信中断。 为了解决环路问题,引入了一系列环网协议,包括RRPP、STP、RSTP、MSTP、SEP、ERPS等,其中ERPS旨在提供快速的故障检测和切换,确保网络在发生故障时能够快速从备用路径传输数据,减少网络中断时间, 从而有效保证用户沟通的质量。
与STP RSTP、MSTP、RRPP和SEP等其他二层环路协议相比,ERP技术具有以下优势:
收敛速度快ERPS吸收了STP、RSTP、MSTP等环网保护技术的优点,优化了检测机制,收敛速度更快,可达到MS级。
高兼容性ERPS是ITU-T发布的标准第2层环路协议,如果制造商在环网中的设备支持该协议,则可以互操作。
ERP基本概念ERP的基本原理是通过阻断环路中的一些端口来消除环路,通过快速检测环路中的故障,选择备份路径,在切换后尽快恢复数据传输,确保网络在发生故障时能够继续快速高效地运行。 下面基于图1中的单循环结构介绍ERP中涉及的一些基本概念。
图1ERPS单回路示意图。
以太网环网ERPS也是ERP协议的基本单元,它由一组配置了相同控制VLAN的互连交换设备组成。 对于多环结构,有一个主环和至少一个子环。
加入ERPS环的二层交换机设备称为一个节点,每个节点不能有两个以上的端口加入同一个ERPS环,图1中的交换机A交换机D就是ERPS环中的四个节点。
在非故障状态下,环形保护链路 (RPL) 通过阻塞链路两端的端口(即 RPL 所有者端口和 RPL 邻居端口)来防止环路的形成。
ERPS协议中指定了三种类型的端口角色:RPL所有者端口、RPL邻居端口和公共端口。 RPL 邻居端口类型仅在 ERPS V2 中受支持,在 V1 中不受支持。
RPL Owner 端口是 RPL 链路一端的端口,由用户配置指定,并且只有一个 ERPS 环的 RPL Owner 端口。 RPL 所有者端口在非故障状态下被阻止,以防止链路环路。 包含 RPL 所有者端口的节点也称为 RPL 所有者节点。
RPL 邻居端口是 RPL 链路另一端的端口,RPL 邻居端口是直接连接到 RPL 所有者端口的节点端口。 在非故障状态下,RPL 邻居端口被阻塞以防止环路。 当ERPS环网上的非RPL链路发生故障时,RPL所有者端口和RPL邻居端口都将打开。 包含 RPL 邻居端口的节点也称为 RPL 邻居节点。
普通端口是ERPS环中的公共端口,但RPL Owner和RPL Neighbor除外。 公共端口负责监控其直接连接的链路的状态,并及时通知环网中的其他节点链路状态的变化。
ERP协议包ERPS协议使用图2所示格式的R-APS PDU,这是OAM消息定义之一,如IUT-T G8013 Y1731的定义。 R-APS PDU 的目标 MAC 地址为 0x01-0x19-0xa7-0x00-0x00-[Ring ID],其中 Ring ID 的默认值为 0x01。
图2R-APS PDU 格式。
mel:标识维护实例的级别。 version:ERP协议的版本,0x00为V1,0x01为V2。 opcode:取一个固定值0x28表示这是一个 R-APS PDU。 flags:采用固定值0x00,接收到此字段时将被忽略。 TLV offset:取一个固定值0x20表示 PDU 中的 TLV 与此字段偏移了 32 个字节。 R-APS 特定信息:有关携带 ERP 环的重要信息,稍后将更详细地描述。 可选 TLV:用户可以自定义需要携带的附加信息,如果没有需要携带的附加信息,则此字段不可用。 end TLV:采用固定值0x00。 图 3 显示了 ERPS V2 中 R-APS 特定信息的定义。
图3R-APS 特定信息格式。
请求状态:标识信息是请求状态还是当前状态。
表1请求状态值表。
sub-code:当请求状态参数设置为1110时,该字段为0000,表示请求刷新FDB条目。 如果请求状态参数设置为其他值,则该字段为保留,在接收过程中将被忽略。 status:包含特定的状态信息。 RB(RPL 已阻止):对于 RPL 所有者节点,值为 1 表示 RPL 链路被阻止,值为 0 表示 RPL 链路未被阻止。 在非 RPL 所有者节点发送的 R-APS PDU 中,此值为 0。 dnf(do not flush):值为 1 表示接收器应在 FDB 表之间切换,值为 0 表示接收器不在 FDB 表之间切换。 BPR(Blocked Port Reference):如果值为0,则表示ERPS环的第一个端口被阻塞,如果值为1,则表示ERPS环的第二个端口被阻塞。 节点ID:表示发送此消息的节点的MAC地址,该地址为信息字段,不影响ERPS环的防护切换过程。 保留 2:保留ERPS单环链路故障转移流程如上所述,ERPS环是通过阻断RPL Owner和RPL Neighbor端口来消除环路,当检测到环路故障时,通过更新FDB表和端口状态快速切换数据传输路径,保证数据传输。
非故障状态如图4所示,RPL所有者和RPL邻居端口在非故障状态下被阻塞,防止形成环路,RPL所有者节点将NRRB R-APS报文发送到ERPS环中的其他节点(即请求状态值为0000,Status字段的RB位值为1, 表示RPL链路被阻塞),表示当前ERPS环没有故障。
图4ERP单回路没有故障。
链路故障如图5所示,当交换机C和交换机D之间的链路出现故障(即检测到链路宕机)时,启动保护切换机制,对故障链路两端的端口进行阻断,并刷新设备的FDB表。 然后,交换机 C 和交换机 D 将 SF R-APS 数据包发送到 ERPS 环中的其他节点。 交换机A和交换机B收到SF R-APS报文后,分别打开RPL所有者端口和RPL邻居端口,刷新FDB表,确保通信顺畅。
图5ERP单环链路的故障状态。
链路故障排除如图6所示,在SwitchC和Switch D之间的链路被移除(即链路重新链接起来)后,启动故障恢复模式,首先Switch C和Switch D停止发送SF R-APS 报文,发送NR R-APS报文,表示故障解除 当Switch C和Switch D收到NRRB R-APS报文时, 它们打开在故障状态下被阻止的端口,停止发送 NR R-APS 数据包,并刷新 FDB 表。
图6ERPS的单环链路故障清除状态。
ERP是以太网环网技术之一,主要阻塞一些端口,避免环路引发的广播风暴风险。 同时,通过快速故障检测等机制实现通信链路的快速切换,可以满足车联网等场景的应用需求。 近年来出现的环网冗余技术之一是TSN中的IEEE 8021 CB协议,Polelink在CB协议的测试开发和测试实现方面也积累了丰富的经验,期待未来与您分享。
引用itu-t g.8032/y.1344 ethernet ring protection switchingitu-t g.8013/y.1731 operation, administration and maintenance (oam) functions and mechanisms for ethernet-based networks