以太网环路保护切换技术ERPS解读

前言

 

 

当前最新的车载网络广泛采用以太网作为主干网络,为了增强网络的可靠性,通常采用了环网拓扑结构,允许数据通过多条路径传输。然而,引入环网拓扑结构可能导致环路形成,进而带来广播风暴等潜在风险。为了规避这些问题,我们通常需要借助STP/RSTP等技术来防止环路形成,并在检测到通信链路故障时实现无缝切换,从而减小故障对网络通信的不良影响。然而,STP/RSTP等技术在链路切换时的收敛速度通常超过1秒,远远无法满足车载网络通信的要求。相比之下,ERPS技术为以太网环网提供了一种更快速的故障检测和切换解决方案,确保在发生故障时网络能够以更快的速度恢复正常,因此在车载网络中具有广泛应用的潜力。

 

 

什么是ERPS

 

ERPS全称是Ethernet Ring Protection Switching,即以太网环路保护切换,是ITU-T定义的一种二层破坏性协议标准,标准号为ITU-T G.8032/Y1344,因此又称为G.8032,它定义了R-APS(Ring Auto Protecting Switching)协议报文和保护切换机制。ERPS包含v1和v2两个版本,其中v2版本新增了子环等功能,且v2完全兼容v1。

 

以太网交换网络中为了进行链路备份,提高网络可靠性而引入的环网拓扑会使网络上产生环路,可能会引起广播风暴以及MAC地址表不稳定等现象,从而影响用户通信质量,甚至导致通信中断。为解决环路问题,引入了一系列的环网协议,包括RRPP、STP/RSTP/MSTP、SEP、ERPS等,其中ERPS旨在提供快速的故障检测和切换,以确保网络在出现故障时能够迅速地从备用路径传输数据,减小网络中断的时间,从而有效保证用户通信质量。

 

ERPS技术和STP/RSTP/MSTP、RRPP、SEP等其他二层环路协议比较,具有以下优势:

  • 收敛速度快

ERPS吸取了STP/RSTP/MSTP等环网保护技术的优点,优化了检测机制,收敛速度更快,可以达到ms级。

  • 兼容性高

ERPS是ITU-T发布的标准二层环路协议,如果环网内制造商的设备都支持该协议,则可以实现互通。

 

 

ERPS原理

 

 

  • ERPS基本概念

ERPS的基本原理是通过阻塞环路中的部分端口,达到消除环路的目的,并通过快速检测环路中的故障,选择备份路径并在切换后尽快恢复数据传输,以确保在发生故障时网络能够迅速而有效地继续运行。下面结合图1的单环结构,介绍ERPS涉及到的一些基本概念。

 

 

 
图1. ERPS单环示意图
  • 环(Ethernet ring)

ERPS还是 ERPS协议的基本单位,是由一组配置了相同的控制 VLAN 且互连的交换设备构成。对于多环结构,则包含一个主环和至少一个子环。

  • 节点(Ethernet ring node)

加入ERPS环的二层交换设备称之为节点,每个节点不能多于两个端口加入同一个ERPS环中,图1中的Switch A ~ Switch D即为此ERPS环中的4个节点。

  • 环网保护链路(RPL - Ring Protection Link)

非故障状态下通过阻塞该链路两端的端口防止形成环路,其两端的端口分别为RPL owner端口与RPL neighbour端口。

  • 端口角色(Port role)

ERPS协议中规定的端口角色主要有RPL owner端口、RPL neighbour端口和普通端口三种类型。其中RPL neighbour端口类型只有ERPS v2版本支持,v1版本不支持。

  • RPL owner端口

处于RPL链路一端的端口,由用户配置指定,一个ERPS环只有一个RPL owner端口。非故障状态下RPL owner 端口处于阻塞状态,以防止链路产生环路。含有RPL owner端口的节点又称为RPL owner节点。

  • RPL neighbour端口

处于RPL链路另一端的端口,RPL neighbour端口指的是与RPL owner端口直接相连的节点端口。非故障状态下,RPL neighbour端口处于阻塞状态,以防止产生环路。当 ERPS环网非RPL链路出现故障时,RPL owner端口和 RPL neighbour端口都会被打开。含有RPL neighbour端口的节点又称为RPL neighbour节点。

  • 普通端口

在ERPS环中,除RPL owner和RPL neighbour以外的端口都是普通端口。普通端口负责监测自己直连的链路状态,并把链路状态变化及时通知环网中其他节点。

  • ERPS协议报文

ERPS协议传递消息使用的是R-APS PDU,其格式如图2所示,这是OAM消息定义中的一种,具体可参考IUT-T G.8013/Y1731的定义。R-APS PDU的目标MAC地址为0x01-0x19-0xA7-0x00-0x00-[Ring ID],其中Ring ID的默认值为0x01。

图2. R-APS PDU格式
  • MEL:标识维护实例等级。
  • Version:ERPS协议版本,0x00为v1版本,0x01为v2版本。
  • OpCode:取固定值0x28,表明这是R-APS PDU。
  • Flags:取固定值0x00,此字段在接收时会被忽略。
  • TLV Offset:取固定值0x20,表示此PDU中的TLV从本字段之后偏移32个字节后开始。
  • R-APS Specific Information:携带ERPS环的重要信息,后文再详细介绍。
  • Optional TLV:用户可自定义需要携带的额外信息,如无额外信息需要携带,则无此字段。
  • End TLV:取固定值0x00。

 

针对R-APS Specific Information,在ERPS v2版本中的定义如图3所示。

 

 
图3. R-APS specific information格式
  • Request/State:标识该信息是请求信息或当前状态信息。

取值

含义

1101

Force switch(FS R-APS),强制切换

1110

Event,事件

1011

Signal fail(SF R-APS),用于报告故障信息

0111

Manual switch(MS R-APS),手动切换

0000

No request(NR R-APS),当前无请求

Other

保留

 

表1. Request/status取值含义表

  • Sub-code:配合Request/status字段使用,当Request/status取值为1110时,本字段为0000表示FDB表项刷新请求。当Request/status取值为其他值时,本字段为保留字段,且在接收过程中会被忽略。
  • Status:包含特定的状态信息。RB(RPL Blocked):对于RPL owner节点,取值为1表示RPL链路被阻塞,取值为0表示RPL链路解除阻塞。非RPL owner节点发送的R-APS PDU中此值为0。DNF(Do Not Flush):取值为1表示接收方应执行FDB表切换,取值为0表示接收方不执行FDB表切换。BPR(Blocked Port Reference):阻塞端口标志位,取值为0表示阻塞ERPS环的第一个端口,取值为1表示阻塞ERPS环的第二个端口。
  • Node ID:发送此消息的节点MAC地址,属于信息类字段,不影响ERPS环的保护切换过程。
  • Reserved 2:保留ERPS单环链路故障保护切换过程

前文提到ERPS环是通过阻塞RPL Owner及RPL Neighbour端口达到消除环路的目的,并在检测到环路中出现故障时,通过更新FDB表和端口状态快速切换数据传输路径保证数据传输,接下来将按照非故障-故障-故障移除的过程分析ERPS环网的保护切换过程。

  • 非故障状态

如图4所示,在非故障状态下会阻塞RPL owner端口和RPL neighbour端口以防止形成环路,同时RPL owner节点会向其所在ERPS环的其他节点周期发送NRRB R-APS报文(即Request/State取值为0000,同时Status字段的RB位取值为1,表示RPL链路处于阻塞状态),表明当前ERPS环中无故障。

 

 

图4. ERPS单环非故障状态
  • 链路故障

如图5所示,当Switch C和Switch D之间的链路发生故障时(即检测到链路link down),启动保护切换机制,将故障链路两端的端口阻塞并刷新本设备的FDB表。然后Switch C和Switch D通过发送SF R-APS报文将故障信息发送给ERPS环中的其他节点。当Switch A和Switch B收到SF R-APS报文后,分别打开RPL owner端口和RPL neighbour端口并刷新FDB表,保证通信畅通。

 

 
图5. ERPS单环链路故障状态

 

  • 链路故障移除

如图6所示,当Switch C和Switch D之间的链路故障移除后(即检测到链路重新link up),启动故障回切模式,首先Switch C和Switch D停止发送SF R-APS报文并向外发送NR R-APS报文表明故障移除,Switch A和Switch B收到NR R-APS报文后,分别阻塞RPL owner端口和RPL neighbour端口并刷新FDB表,同时RPL owner节点向外发送NRRB R-APS报文,当Switch C和Switch D收到NRRB R-APS报文后,将原先故障状态下阻塞的端口打开,停止发送NR R-APS报文并刷新FDB表。

 
图6. ERPS单环链路故障移除状态

总结

 

 

ERPS是以太网环网技术中的一种,主要通过阻塞部分端口来避免环路带来的广播风暴风险等问题。同时,通过快速故障检测等机制实现通信链路的快速切换,可以满足车载网络等场景的应用需求。近些年出现的环网冗余技术中还有时间敏感网络TSN中的IEEE 802.1 CB协议,北汇信息针对CB协议的测试开发及测试实施也积累了丰富的经验,期待后续有机会与大家分享。

 

  1. 参考文献
  2. ITU-T G.8032/Y.1344 Ethernet ring protection switching
  3. ITU-T G.8013/Y.1731 Operation, administration and maintenance (OAM) functions and mechanisms for Ethernet-based networks
  4. https://support.huawei.com/enterprise/zh/doc/EDOC1000178154/2afaba88

 

posted @ 2024-02-01 18:09  北汇信息  阅读(68)  评论(0编辑  收藏  举报