万兆光盒交换机(S2700F)

是信锐技术自主研发的万兆光盒交换机,广泛应用于园区接入(如办公、无线AP等POE场景)、千兆到桌面等多种场景。
S2700F通用
{{sendMatomoQuery("万兆光盒交换机(S2700F)","快速以太环网保护介绍")}}

快速以太环网保护介绍

更新时间:2024-11-11

1 概述 

快速以太环网保护协议是一类特殊的链路层协议,专门用于构建环状的以太网拓扑。以太环网保护协议在环网拓扑完整的情况下阻塞一条链路,防止出现数据环路形成广播风暴。在出现链路中断的情况下,协议迅速恢复之前阻断的链路,使环网各节点之间恢复通信。

快速环网保护协议通过控制交换机MAC地址表的老化,来保证拓扑变化时数据报文可以被发送到正确的链路。一般情况下,MAC地址在地址表中的老化时间是300秒。环网保护协议可以控制交换机MAC地址表在极短的时间内老化。

环网保护协议和生成树协议都用于链路层拓扑控制。生成树协议适用于各种复杂的网络,它使用逐跳的方法传播网络拓扑的变化。环网保护协议专用于环状的拓扑,并使用扩散法传播拓扑变化信息。因此,在环状网络中,环网保护协议的收敛性能优于生成树协议。在网络状况良好的情况下,环网保护协议恢复网络通信的时间可以小于50毫秒。

说明:

环网保护协议支持将一台交换机配置为多个物理环网的节点,以形成相切环。环网保护协议不支持具有公共链路的相交环。

 2 ERPS相关概念 

1ERPS以太环网示例

2.1环网等级

ERPS支持多环或者层次化传送网拓扑结构,如图1所示。主环是一个完整的单环,而子环是通过2个互联节点(interconnection-node)接入到主环(或子环)中,如图1中,红线部分组成的就是主环,包括节点S1、链路S1-S2、节点S2、链路S2-S4、节点S4、链路S4-S3、节点S3、链路S3-S1;蓝线部分是子环,包括节点S3、链路S3-S5、节点S5、链路S5-S6、节点S6、链路S6-S4、节点S4,但不包括链路S4-S3

2.2环网结点角色

构成环网的每台交换机都是一个环网节点。环网节点角色分为四种:RPL保护节点、RPL邻居节点、互联节点(interconnection-node)以及普通节点(Node)。每一个单环上选定一条物理链路作为RPL保护链路,与这条链路直连的两台交换机一台作为RPL保护节点,另外一台作为RPL邻居节点,剩余的其它交换机都作为普通节点。而互联节点(interconnection-node)是子环接入到主环(或子环)中的2个交点节点。

如图1所示,在主环中,S1RPL保护节点,S3RPL邻居节点,而S2S4是普通节点;在子环中,S6RPL保护节点,S5RPL邻居节点,并且通过互联节点(interconnection-nodeS3S4接入到主环中。

ERPS协议的节点类型主要由端口角色来确定,但互联节点(interconnection-node)的节点类型需要在配置时先确定下来,缺省情况下,节点不是互联节点(interconnection-node)。

环网节点的功能基本相同:检测本地环网端口的状态,并在链路失效时发出通知。不同的是,RPL保护节点和RPL邻居节点正常情况下阻塞RPL链路,而普通节点不会,互联节点(interconnection-node)只有一个环网端口连向子环,并且该节点也必定是另外一个主环(或子环)上的节点。

2.3环网端口角色

ERPS协议要求每个节点有两个端口连接着环网,每个端口都称为环网端口(Ring Port)。此外,在每个单环上,还存在一个环网端口作为环网保护链路(RPL)。而对于互联节点(interconnection-node),虽然只有环网端口连向子环,但其还有一个虚拟端口来探测2个互联节点(interconnection-node)之间的连通性,这个在后面会讲到。

正常情况下,环网上除RPL链路之外的所有环网端口都处于转发状态,RPL保护节点和RPL邻居节点的RPL端口被阻塞以避免环路。在出现环网链路失效的情况下,RPL保护节点和RPL邻居节点解除对RPL端口的阻塞,以恢复网络通信。

在一台交换机上,每个环网节点实例中最多只能配置一个RPL端口。

说明:

ERPS协议支持将聚合端口配置为环网端口。

2.4ERPSCFM

ERPS端口配置MEP,来监测环网链路。环网端口通过down mep来监控其所在环网链路的状态;互联节点接入子环的环网端口同时还要配置up mep来监控主环上的连通性,如图2所示。

2:互联节点的虚拟端口配置在Up MEP端口上

在图2中,所有的ERPS环网端口都配置down mep,通过down mep来监测环网链路,例如环网链路A-C,就分别由节点A和节点C的一个环网端口配置了down mep后来进行监控,链路发生故障或者从故障中恢复,都向ERPS控制模块发送相应的通知;同时,down mep也负责接收和发送R-APS报文。up mep只配置在互联节点接入子环的环网端口上,以此来监控主环的连通性,当互联节点之间的主环通路不通或者恢复通信的时候,都向ERPS控制模块发送相应的通知。此外,互联节点接入子环的环网端口不单要配置up mep,因为它也是环网端口,所以它同时也要配置down mep

说明:

互联节点接入子环的环网端口所配置的up mep用来监控主环的连通性,此时就相当于监控主环链路的虚拟端口。

2.5  使用R-APS虚拟通道的环网互联模式  

对于子环来说,互联节点是来连接子环和其余网络的节点,比如图1中就连接了主环。互联节点的up mep端口监测主环的连通性,将此称为R-APS虚拟通道。通过R-APS虚拟通道,两个互联节点能够通过其余网络来进行R-APS的通信。

子环通过R-APS虚拟通道向网络发送(和从网络中接受)R-APS信息,同时R-APS信息可被作为数据流在网络中进行传输。当然,R-APS信息要与普通数据流区分开来,因此,对不同的ERPS环网,使用不同的control vlan来承载R-APS信息。

当然也有网络状态是互联节点在连接子环和其余网络时,不使用R-APS通道的,其R-APS通道的状态都是转发态的。

2.6R-APS传输 VLAN

R-APS报文在R-APS通道中进行传输,因此,要专门为R-APS通道设立一个VLAN。不同的节点设立不同的VLAN,但对某一个节点来说,其余节点设立VLAN均可当作普通数据流传输的VLAN

在配置R-APSVLAN时,若该VLAN未创建,ERPS系统会自动为其创建该VLAN

ERPS环网端口在R-APS 通道的状态与普通数据流的状态一致,但是不使用R-APS虚拟通道的子环除外,因为在这个子环上互联节点的R-APS通道是中止的,因此不使用R-APS虚拟通道的子环上的节点,其R-APS通道的状态都是转发态的。

说明:

ERPS端口所在的MEP端口的VLAN要与R-APS传输VLAN一致。

2.7返回模式

在某些环网中,正常情况下数据流传输的链路通道的网络资源会比较好一些,而RPL所在的通道只是用来备份,因此在倒换清除时,采用返回模式,把数据流返回到网络资源比较好的通道。而有些环网,对于网络资源的要求没那么高,不需要倒换恢复后马上返回到原来的链路通道,因此采用非返回模式,还可以减少返回倒换次数。

在返回模式操作中,当一个倒换被清除时,数据流会恢复到原来的通道上,阻塞RPL。在清除故障的情况下,数据流的返回需要在WTR定时器超时后,用来避免间歇性故障情况下出现的保护倒换;而在清除手动倒换或者强制倒换命令情况下,需要等待WTB定时器。而在非返回模式操作中,当一个倒换被清除时,只要RPL通道没故障,数据流仍然会在RPL通道上。

说明:

WTR定时器和WTB定时器只在返回模式中生效。

2.8nimble模式

erps依赖于CFM模块,而CFM的配置较复杂,容易出错,并且由于依赖于CFMerps的收发包处理周期较长,导致影响倒换的速度。为了简化配置和加速倒换,开发了新的nimble模式,在nimble模式下,只需要配置erps相关的命令,无需配置cfm。环网端口也不需要依赖于down mepup mep

说明:

为向后兼容,保留了原有配置方式和模式,默认是原有配置模式,只有配置了nimble mode之后nimble模式才生效

3ERPS报文类型 

ERPS协议使用的报文类型如表2.1所示。

4.1 ERPS环网保护协议报文类型

报文类型

说明

Forced SwitchFS

环网节点(包括RPL节点)进行强制倒换命令之后通知其它节点。

Signal FailSF

环网节点(包括RPL节点)检测到本地链路失效之后通知其它节点。

Manual SwitchMS

环网节点(包括RPL节点)进行手动倒换命令之后通知其它节点。

No RequestNR

环网节点检测到本地所有环网链路恢复之后通知其它节点。

No Request, RPL Blocked

NR-RB

环网保护节点通知其它节点环网保护倒换恢复。

4 ERPS环网保护机制 

4.1稳定状态

在稳定状态下,环网保护节点阻塞RPL端口,并以一个可配置的周期持续发送NR-RB协议报文。

所有收到NR-RB报文的普通节点皆设置本地环网端口为转发状态。稳定状态下普通节点不发送协议报文。

可以通过send-time节点配置命令修改保护节点发送NR-RB报文的周期。

4.2本地链路失效处理

一个环网节点检测到本地链路失效之后,首先立刻解除本地未失效端口的阻塞状态(包括RPL端口或者尚未进入转发状态的普通环网端口),然后开始发送SF协议报文并进行本地MAC地址表老化。

其它所有收到SF报文的节点,首先停止本地的报文发送,然后解除本地未失效端口的阻塞状态,并进行地址表老化。

链路失效节点以配置的send-time为周期持续发送SF报文,在此过程中,若有另外一个节点的端口从失效状态恢复,该节点会在收到SF报文之后将恢复端口设置为转发状态。

4.3本地链路恢复处理

环网节点检测到本地环网端口从失效状态恢复时,会保持端口的阻塞状态,并开始持续发送NR报文。

在发送NR报文的过程中,若节点收到其它节点的SF报文,说明网络中存在其它失效链路,本地节点会停止NR报文的发送,并将恢复的端口设置为转发状态。

若本地节点未收到新的SF报文,在环网保护节点(RPL所在节点)收到NR报文之后,会启动倒换恢复定时器,待定时器超时之后,RPL节点重新阻塞RPL端口,发送NR-RB报文,然后进行地址表老化,网络通信恢复到最初的稳定状态。

4.4保护倒换——链路恢复

环网节点检测到本地环网端口从失效状态恢复时,会保持端口的阻塞状态,并开始持续发送NR报文。

在发送NR报文的过程中,若节点收到其它节点的SF报文,说明网络中存在其它失效链路,本地节点会停止NR报文的发送,并将恢复的端口设置为转发状态。

若本地节点未收到新的SF报文,在环网保护节点(RPL所在节点)收到NR报文之后,进行链路恢复。但是在链路恢复时,返回模式和非返回模式的行为和功能是不一致的。

4.4.1返回模式

在返回模式中,环网链路会进行恢复。RPL节点收到NR报文后,会启动倒换恢复定时器,待定时器超时之后,RPL节点重新阻塞RPL端口,发送NR-RB报文,然后进行地址表老化,网络通信恢复到最初的稳定状态。

4.4.2非返回模式

在非返回模式中,环网链路不会进行自动恢复。RPL节点收到NR报文后不做任何应答,环网其余节点收到NR报文后也不做任何动作。只有当RPL节点接收到Clear命令时,RPL节点将RPL链路阻塞,并且持续向两个环网端口发送NR RB报文,然后Flush FDB。故障节点收到NR RB报文,解除端口的阻塞状态。环网节点在收到NR RB报文后都执行FDB Flush

4.5 保护倒换——手动倒换 

正常的环网状态中,环网节点接收到一个手动倒换命令后,阻塞数据流通道和R-APS通道(阻塞一个数据流通道和R-APS通道的端口),打开其他环网端口,并且持续向两个环网端口发送MS报文,然后Flush FDB。其余环网节点收到MS报文后,打开通过RPL的数据流通道和R-APS通道。发送MS报文的环网节点在收到MS报文后,停止发送MS报文。环网节点在收到MS报文后都执行FDB Flush

上述动作完成了一次手动倒换的操作,为了倒换正常进行,有几点要注意:

(1)当环网中已经存在一个手动倒换命令,往后的手动倒换命令都是无效的。接收到新的倒换命令的节点要拒绝新的倒换命令,并进行通知,手动倒换被拒绝了。

(2)本地已经产生手动倒换命令的节点,如果接收到不同节点IDMS报文,这个节点应该要清除本地的手动倒换命令,并且发送NR报文。同时,节点要保持阻塞先前手动倒换命令所阻塞的环网端口。

(3)本地已经产生手动倒换命令的节点,如果接收到更高优先级的本地请求或者报文,这个节点应该要清除手动倒换请求,并且执行更高优先级的请求。

进行手动倒换命令的节点,在接收Clear命令后,清除手动倒换命令。节点要保持阻塞先前手动倒换命令所阻塞的环网端口,并持续向两个环网端口发送NR报文。而接下来的链路恢复,返回模式和非返回模式的行为和功能是不一致的。

4.5.1返回模式

在返回模式中,环网链路会进行恢复。RPL节点收到NR报文后,启动WTB定时器。WTB定时器超时后,RPL节点将RPL链路阻塞,发送NR RB报文,然后Flush FDB。其余环网节点在收到NR RB报文后,解除所有非RPL链路的阻塞状态,然后Flush FDB

4.5.2非返回模式

在非返回模式中,环网链路不会进行自动恢复。RPL节点收到NR报文后不做任何应答,环网其余节点收到NR报文后也不做任何动作。只有当RPL节点接收到Clear命令时,RPL节点将RPL链路阻塞,并且持续向两个环网端口发送NR RB报文,然后Flush FDB。其余环网节点在收到NR RB报文后,解除所有非RPL链路的阻塞状态,然后Flush FDB

4.6 保护倒换——强制倒换 

正常的环网状态中,环网节点接收到一个强制倒换命令后,阻塞数据流通道和R-APS通道(阻塞一个数据流通道和R-APS通道的端口),打开其他环网端口,并且持续向两个环网端口发送FS报文,然后Flush FDB。其余环网节点收到FS报文后,打开通过RPL的数据流通道和R-APS通道。发送FS报文的环网节点在收到FS报文后,停止发送FS报文。环网节点在收到FS报文后都执行FDB Flush

上述动作完成了一次强制倒换的操作,为了倒换正常进行,有一点要注意:

当环网中已经存在一个强制倒换命令,往后的强制倒换请求都也是接受的,除非该节点先前已经接受一个强制倒换请求了。同时,接收到新的倒换命令的节点要重新进行强制倒换的操作,阻塞端口,发送FS报文等。当然,多次强制倒换命令的执行,会对环网进行分割,因此应该适当的避免这种不良的情况。

进行强制倒换命令的节点,在接收Clear命令后,清除强制倒换命令。节点要保持阻塞先前强制倒换命令所阻塞的环网端口,并持续向两个环网端口发送NR报文。而接下来的链路恢复,返回模式和非返回模式的行为和功能是不一致的。

4.6.1返回模式

在返回模式中,环网链路会进行恢复。RPL节点收到NR报文后,启动WTB定时器。WTB定时器超时后,RPL节点将RPL链路阻塞,发送NR RB报文,然后Flush FDB。其余环网节点在收到NR RB报文后,解除所有非RPL链路的阻塞状态,然后Flush FDB

4.6.2非返回模式

在非返回模式中,环网链路不会进行自动恢复。RPL节点收到NR报文后不做任何应答,环网其余节点收到NR报文后也不做任何动作。只有当RPL节点接收到Clear命令时,RPL节点将RPL链路阻塞,并且持续向两个环网端口发送NR RB报文,然后Flush FDB。其余环网节点在收到NR RB报文后,解除所有非RPL链路的阻塞状态,然后Flush FDB

4.7倒换恢复处理

环网保护节点(RPL Owner)通过定时器WTRWait-to-Restore Timer)和定时器WTBWait-to-Block Timer)实现环网倒换恢复。WTR定时器和WTB定时器用于避免环网上频繁出现保护切换。

WTR定时器只在返回模式中生效,在非返回模式中,当环网从保护状态下故障恢复后,不进行环网恢复,因此也不需要开启WTR定时器。而在返回模式中,RPL所在节点收到其它节点的NR消息之后,启动WTR定时器,定时器超时之前,RPL所在节点保持RPL端口的转发状态,并且不发送环网恢复通知。若RPL所在节点又收到SF消息,说明环网尚未完全恢复,此时节点停止WTR定时器。WTR定时器超时后,RPL所在节点才会重新阻塞RPL端口。

WTB定时器只在返回模式中生效,在清除强制倒换和手动倒换命令时使用。当清除多次强制倒换命令时,WTB定时器要确保单个的强制倒换命令不会使得RPL进行重复阻塞。当清除一个手动倒换命令时,WTB定时器要防止RPL节点在恢复过程中收到一个过时的远端MS请求而引起的闭合环。

WTB定时器必须要确保有足够的时间来接收远端FSSFMS报文,因此定义WTB定时器的时间要比Guard定时器长5秒,这个时间足够一个发送报告的环网节点发送2R-APS报文并且让整个环网确认各个情况。

5 ERPS配置 

6 ERPS配置须知 

在配置ERPS环网保护协议之前,请阅读以下注意事项:

(1)ERPS端口一定是承载在CFMMEP端口上,要为ERPS端口配置MEP信息与MEP端口匹配,成功后ERPS端口才能正常启用。

需要配置所有环网端口的缺省VLAN(或control vlan)一致,以确保ERPS报文正常转发。

同时使用ERPSEAPS两种协议的情况下,ERPS环网端口的缺省VLAN和控制VLAN不可与EAPS的控制VLAN相同。EAPS控制VLAN中不可转发ERPS协议报文。

一个端口不可同时作为ERPSEAPS协议的环网端口。

ERPS协议支持将物理端口或聚合端口配置为环网端口。但已配置链路聚合、802.1X认证或端口安全的物理端口不可配置为ERPS环网端口。

关于nimble模式:为向后兼容,保留了原有配置方式和模式,默认是原有配置模式,只有配置了nimble mode之后nimble模式才生效

7 ERPS配置任务 

(1)配置nimble模式

配置环网节点

配置环网端口

查看环网保护协议状态

7.1配置nimble模式

在全局配置模式下,按照下面的步骤将交换机配置为ERPSnimble模式。

命令

目的

Switch_config# erps nimble-mode

配置ERPS nimble模式

  

7.2 配置环网节点

在全局配置模式下,按照下面的步骤将交换机配置为ERPS节点。

命令

目的

Switch_config# erps id

配置ERPS环网节点实例并进入节点配置模式。

id:环网实例号,范围0-7

Switch_config_ring# control-vlan value

必选。配置本地节点的控制VLANno control vlan,删除本地节点的控制VLAN。节点正常运行后不得更改。

value:范围1-4094。缺省为no control-vlan

Switch_config_ring# interconnection-node

必选。配置本地节点为互联节点。no interconnection-node,配置本地节点不为互联节点。节点正常运行后不得更改。

缺省为本地节点不为互联节点。

Switch_config_ring# raps-virtual-channel

必选。配置本地节点使用R-APS虚拟通道。no raps-virtual-channel,配置本地节点不使用R-APS虚拟通道。节点正常运行后不得更改。

缺省为本地节点使用R-APS虚拟通道。

Switch_config_ring# revertive-mode

必选。配置本地节点的返回模式为返回模式。no revertive-mode,配置本地节点的返回模式为非返回模式。节点正常运行后不得更改。

缺省为本地节点为返回模式。

Switch_config_ring# version value

配置本地节点的version

value:缺省1,范围0-2

Switch_config_ring# wtr-time value

配置倒换恢复定时器WTR超时时间。

value:定时器超时时间,缺省20秒,范围10-720秒。

Switch_config_ring# guard-time value

配置Guard定时器超时时间。

在一个端口从失效状态恢复时,Guard定时器在一小段时间内禁止处理收到的协议报文,以避免因收到过期报文产生错误的协议动作。

value:单位10毫秒,缺省50,范围10-2000

Switch_config_ring# send-time value

配置协议报文发送周期。

value:报文发送周期,缺省5秒,范围1-10

Switch_config_ring# exit

退出节点配置模式并启动节点。

 

 

说明:

(1)使用no erps id命令删除环网节点配置以及节点端口配置。

(2)interconnection-noderaps-virtual-channelrevertive-mode3条命令虽然是必选命令项,但其都有缺省配置,因此创建本地节点时,若无需对这3项的缺省值进行修改,则可以省略这些命令。

7.3 配置环网端口

按照下面的步骤,将交换机端口配置为环网端口。

命令

目的

Switch_config# interface interface-type interface-number

进入端口配置模式。

intf-name:端口名称。

Switch_config_intf# erps id ring-port

将端口配置为指定节点的普通环网端口。

id:环网实例号。

Switch_config_intf# erps id rpl

将端口配置为指定节点的环网保护链路。在自动发现使能的情况下,该命令的作用等同于将优先级值修改为0

id:环网实例号。

Switch_config_intf# erps id neighbour

将端口配置为指定节点的RPL邻居端口,同时该端口必须与RPL端口相连接并且必须配置成RPL邻居端口。

id:环网实例号。

Switch_config_intf# exit

退出端口配置模式。

说明:

(1)通过no erps id rpl端口配置命令,将RPL端口修改为普通环网端口。

(2)通过no erps id ring-portneighbour端口配置命令,删除普通环网端口(RPL neighbour端口)或RPL端口配置。

(3)在环网节点未全局配置的情况下,erps id ring-portneighbourrpl命令将同时创建环网节点。

(4)up mep只能在interconnection-node节点中进行配置,并且interconnection-node只能配置1个环网端口。

 

7.4 环网控制命令

在监控模式下,使用下面的命令对环网状态进行控制。

命令

目的

erps id ForcedSwitch interface interface-type interface-number

对节点进行强制倒换,倒换到端口interface-type interface-number

id:环网实例号。

erps id ManualSwitch interface interface-type interface-number

对节点进行手动倒换,倒换到端口interface-type interface-number

id:环网实例号。

erps id Clear

清除节点的倒换命令。

id:环网实例号。

7.5查看环网保护协议状态

使用下面的命令查看环网保护协议状态。

命令

目的

show erps id

查看环网保护协议和环网端口的摘要信息。

id:环网实例号。

show erps id detail

查看环网保护协议和端口的详细信息。

show erps interface interface-type interface-number

查看环网端口的状态信息。

 

8 ERPS配置示例 

8.1配置示例1-ERPS nimble模式配置

8.1.1配置交换机S1

!

link scan fast 10

!

port-protected 1

!

!

!

!

 ethernet cfm ENABLE

!

!

!

no spanning-tree

spanning-tree bpdu-terminal

!

erps nimble-mode

erps 1

  control-vlan 20

exit

!

vlan 1-4094

!

interface GigaEthernet0/2

 switchport enhanced-link

 switchport mode dot1q-tunnel-uplink

 ethernet cfm ENABLE

 erps 1 ring-port

 erps 1 cfm-disable

!

interface GigaEthernet0/3

 switchport enhanced-link

 switchport mode dot1q-tunnel-uplink

 ethernet cfm ENABLE

 erps 1 rpl

 erps 1 cfm-disable

!

 

 

8.1.2配置交换机S2

link scan fast 10

!

port-protected 1

!

!

!

!

 ethernet cfm ENABLE

!

!

!

no spanning-tree

spanning-tree bpdu-terminal

!

erps nimble-mode

erps 1

  control-vlan 20

exit

!

!     

!

vlan 1,10,20,30,40,100

!

!

interface GigaEthernet0/2

 switchport enhanced-link

 switchport mode dot1q-tunnel-uplink

 ethernet cfm ENABLE

 erps 1 ring-port

 erps 1 cfm-disable

!

interface GigaEthernet0/4

 switchport enhanced-link

 switchport mode dot1q-tunnel-uplink

 ethernet cfm ENABLE

 erps 1 ring-port

 erps 1 cfm-disable

!

 

 

8.1.3配置交换机S3

!

link scan fast 10

!

port-protected 1

!

!

!

!

 ethernet cfm ENABLE

!

!

!

no spanning-tree

spanning-tree bpdu-terminal

!

erps nimble-mode

erps 1

  control-vlan 20

exit

!

!

vlan 1,10,20,40,100

!

interface GigaEthernet0/3

 switchport mode dot1q-tunnel-uplink

 ethernet cfm ENABLE

 erps 1 neighbour

 erps 1 cfm-disable

!

interface GigaEthernet0/4

 switchport mode dot1q-tunnel-uplink

 ethernet cfm ENABLE

 erps 1 ring-port

 erps 1 cfm-disable

!