选择区域语言: EN CN HK

RRPP技术白皮书-6W100

手册下载

RRPP技术白皮书

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Copyright © 2019 新华三技术有限公司 版权所有,保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。

除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。

本文中的内容为通用性技术信息,某些信息可能不适用于您所购买的产品。



概述

1.1  产生背景

在实际的网络规划和组网应用中,大多采用环网来提供高可靠性。环网技术简单来说,就是将一些网络设备通过环的形状连接到一起,实现相互通信的一种技术。

为了避免环网中产生广播风暴,最初采用了已被普遍应用的STP协议环路保护机制。但实际应用中STP协议的收敛时间受网络拓扑的影响,在网络直径较大时收敛时间较长,因而往往不能满足传输质量较高的数据的要求。

为了缩短环网的收敛时间并消除网络大小的影响,H3C开发了专门应用于环网保护的RRPPRapid Ring Protection Protocol,快速环网保护协议)协议。

1.2  技术优点

RRPP是一个专门应用于以太网环的链路层协议。它在以太网环完整时能够防止数据环路引起的广播风暴,而当以太网环上的链路断开时能迅速启用备份链路恢复环网上各个节点之间的通信链路。与STP协议相比,RRPP协议有如下优点:

·     拓扑收敛速度快(低于50ms

·     收敛时间与环网上节点数无关,可应用于网络直径较大的网络

H3C所实现的RRPP协议还有如下特点:

·     在相交环拓扑中,一个环拓扑的变化不会引起其他环的拓扑振荡,数据传输更为稳定。

·     支持RRPP环网的负载分担,充分利用了物理链路的带宽。

RRPP技术实现

2.1  RRPP组成要素

2.1.1  RRPP

RRPP域用于标识RRPP协议所计算和控制的拓扑范围。域IDRRPP域的唯一标识,一个RRPP域由具有相同域ID和控制VLAN、且相互连通的设备构成。一台设备上可以创建多个RRPP域。

一个RRPP域具有如下的组成要素:

·     RRPP

·     RRPP控制VLAN

·     RRPP保护VLAN

·     主节点

·     传输节点

·     边缘节点

·     辅助边缘节点

1所示Domain 1就是一个RRPP域,S1S6的设备都属于Domain 1Domain 1的主控制VLAN和子控制VLAN分别为VLAN 3VLAN 4,域中包含两个RRPP环,分别为Ring 1Ring 2。主环的主节点为S1,子环的主节点为S6S2S3S4都是主环的传输节点,S5是子环的传输节点。S3S2分别为边缘节点和辅助边缘节点。

图1 RRPP组网示意图

 

2.1.2  RRPP

每一个RRPP环物理上对应一个环形连接的以太网拓扑,RRPP环由整数表示的ID来标识。每个RRPP环都是其所在的RRPP域的一个局部单元。实际上RRPP协议是按RRPP环进行拓扑计算。

环形物理拓扑常见的三种组网形式为:单环、相交环和相切环。组网形式不同,划分RRPP域的方案也不同:

·     单环上的所有设备要配置在相同的RRPP域中;

·     相交环上的所有设备也要配置在相同的RRPP域中;

·     相切的两个环,每个环上的设备要配置在相同的RRPP域中,即相切环相当于两个单环,需要配置两个RRPP域,每个RRPP域中只有一个环。

在相交环组网的RRPP域中为了各环的拓扑计算不相互干扰,并且所有环都不出现环路,需要区分出一个为主环,其他环为子环。主环可以作为一个整体抽象成子环的一个逻辑节点,子环的协议报文通过主环透传,可以对两个相交环形成的大环的拓扑进行计算;主环的协议报文只在主环内部传播,不进入子环。主环和子环通过配置时指定的级别来标识,主环的级别配置为0,子环的级别配置为1

1所示RRPPDomain 1中包含了两个相交的以太网环Ring 1Ring 2。把Ring 1配置为该域的主环,Ring 2配置为该域的子环。这样Ring 1Ring 2就会分别计算出一个无环路的拓扑,从而消除了组网中的环路并保证了各节点的全连通性。

2.1.3  控制VLAN

控制VLAN用来传递RRPP协议报文。每个RRPP域都有两个控制VLAN:主控制VLAN和子控制VLAN。主环的控制VLAN简称主控制VLAN,子环的控制VLAN简称子控制VLAN。配置时只需指定主控制VLAN,系统会自动将主控制VLANVLAN ID1作为子控制VLAN。同一RRPP域中所有子环的控制VLAN都相同,且主控制VLAN和子控制VLAN的接口上都不允许配置IP地址。主环协议报文和子环Edge-Hello报文在主控制VLAN中传播,其它的子环协议报文在子控制VLAN中传播。

每个设备上接入RRPP环的端口都属于控制VLAN,而且也只有接入RRPP环上的端口可以加入控制VLAN。如1上每个端口旁边的数字34所示,主环的RRPP端口既要属于主控制VLAN,同时也要属于子控制VLAN;子环的RRPP端口只属于子控制VLAN

2.1.4  保护VLAN

保护VLAN用来传递数据报文的VLAN。保护VLAN中可以包含RRPP端口,也可以包含非RRPP端口。保护VLAN的转发状态由其所对应的RRPP域控制。同一环网上不同RRPP域配置不同的保护VLAN,各RRPP域分别独立计算自己环上端口的转发状态。

2.1.5  主节点

以太网环上每一台设备都称为一个RRPP节点,每个RRPP环上必须有一个主节点,而且只能有一个,如1中的S1是主环的主节点,S6是子环的主节点。主节点是环网状态主动检测机制的发起者,也是检测到RRPP环故障后执行操作的决策者。

主节点有如下两种状态:

·     Complete State健康状态)

当环网上所有的链路都处于UP状态,主节点可以从副端口收到自己发送的Hello报文时,主节点处于Complete状态,此时主节点会阻塞副端口以防止数据报文在环形拓扑上形成广播环路。

·     Failed State断裂状态)

当环网上有链路处于断裂状态时,主节点处于Failed状态,此时主节点的副端口放开对数据报文的阻塞,以保证环网上的通信不中断。

说明

主节点的状态代表了整个RRPP环的状态。即,主节点处于CompleteFailed)状态时,RRPP环也处于CompleteFailed)状态。

 

2.1.6  传输节点

RRPP环上除主节点外的所有其它节点是传输节点,如1中的S2S3S4是主环的传输节点,S5是子环的传输节点。传输节点负责透传主节点的Hello报文,并监测自己的直连RRPP链路的状态,把链路DOWN事件通知主节点。

传输节点有如下3种状态:

·     Link-Up StateUP状态)

传输节点的主端口和副端口都处于UP状态时,传输节点处于Link-Up状态。

·     Link-Down StateDown状态)

传输节点的主端口或副端口处于Down状态时,传输节点处于Link-Down状态。

·     Pre-forwarding State(临时阻塞状态)

传输节点的主端口或副端口处于阻塞状态时,传输节点处于Pre-forwarding状态。

2.1.7  边缘节点和辅助边缘节点

子环和主环相交时有两个交点,这两个交点处的设备其中一个叫做边缘节点,另外一个叫做辅助边缘节点。边缘节点与辅助边缘节点必须成对配置。如1所示,S3为边缘节点,S2为辅助边缘节点。

边缘节点或辅助边缘节点是设备在子环上的角色,其在主环上的角色为主节点或传输节点。

边缘节点和辅助边缘节点都是特殊的传输节点,因此具有与传输节点相同的3种状态,但定义稍有不同,具体如下:

·     Link-Up StateUP状态)

边缘端口处于UP状态时,边缘节点(辅助边缘节点)处于Link-Up状态。

·     Link-Down StateDown状态)

边缘端口处于Down状态时,边缘节点(辅助边缘节点)处于Link-Down状态。

·     Pre-forwarding State(临时阻塞状态)

边缘端口处于阻塞状态时,边缘节点(辅助边缘节点)处于Pre-forwarding状态。

2.1.8  主端口和副端口

主节点和传输节点接入以太网环的两个端口中,一个为主端口,另一个为副端口,端口的角色由用户的配置决定。

主节点的主端口和副端口在功能上是有区别的。主节点从其主端口发送Hello报文,如果能够从副端口收到该报文,说明本节点所在RRPP环网处于健康状态,因此需要阻塞副端口以防止数据环路;相反如果在规定时间内收不到该报文,说明环网故障,此时需要放开副端口以保证环上所有节点的正常通信。

传输节点的主端口和副端口在功能上没有区别。端口的角色同样由用户的配置决定。

RRPP协议理论上把主环看作是子环的一个逻辑节点,子环的协议报文通过主环透传,主环将子环的协议报文(除了Edge-Hello报文)视为数据报文。因此,当主环上的端口被阻塞时,数据报文和子环协议报文(除了Edge-Hello报文)都不能通过。

2.1.9  公共端口和边缘端口

边缘节点(辅助边缘节点)接入子环的端口为边缘端口,接入主环的两个端口为公共端口,边缘节点上公共端口与辅助边缘节点上公共端口之间的链路被称为公共链路。公共端口和边缘端口的角色由用户的配置决定。

RRPP协议理论上将整个主环看作是子环上的一个逻辑节点,从而公共链路被看成是主环这个大节点的内部链路,链路的状态变化只通知主环主节点进行处理。

1所示,在边缘节点S3上,与S6相连的端口为边缘端口、与S4S2分别相连的两个端口为公共端口。边缘节点S3与辅助边缘节点S2相连的链路为公共链路。

2.2  RRPP协议报文

2.2.1  RRPP协议报文类型

表1 RRPP协议报文类型列表

报文类型

说明

Hello

也称Health报文,由主节点发起,对网络进行环路完整性检测

Fast-Hello

应用于快速检测机制中,由主节点发起,对网络进行环路完整性快速检测

Link-Down

由传输节点、边缘节点或者辅助边缘节点发起,在这些节点的自身端口down时向主节点通知环路断裂

Common-Flush-FDB

由主节点发起,在RRPP环迁移到断裂状态时通知传输节点、边缘节点和辅助边缘节点更新各自MAC地址表项和ARP/ND表项。FDBForwarding Database(转发数据库)的缩写

Complete-Flush-FDB

由主节点发起,在RRPP环迁移到健康状态时通知传输节点、边缘节点和辅助边缘节点更新各自MAC地址表项和ARP/ND表项,同时通知传输节点解除临时阻塞端口的阻塞状态

Edge-Hello

由边缘节点发起并由辅助边缘节点接收,对边缘节点与辅助边缘节点之间的主环链路进行检测

Fast-Edge-Hello

应用于快速检测机制中,由边缘节点发起,对边缘节点与辅助边缘节点之间的主环链路进行快速检测

Major-Fault

由辅助边缘节点发起,在辅助边缘节点与边缘节点之间的主环链路不连通时,向边缘节点报告主环链路故障

 

2.2.2  RRPP协议报文格式

图2 RRPP协议报文格式

 

协议报文各字段的含义如下:

·     Destination MAC Address48bitsRRPP协议报文目的MAC地址,范围0x000FE20782170x000FE2078416

·     Source Mac Address48bitsRRPP协议报文的源MAC地址,固定为0x000fe203fd75

·     EtherType8bits,报文封装类型域,固定为0x8100,表示Tagged封装。

·     PRI4bitsCOSClass of Service)优先级,固定为0xe0

·     VLAN ID12bits,报文所在VLANID

·     Frame Length16bits,以太网帧的长度,固定为0x48

·     DSAP/SSAP16bits,目的服务访问点/源服务访问点,固定为0xaaaa

·     CONTROL8bits固定为0x03

·     OUI24bits固定为0x00e02b

·     RRPP Length16bitsRRPP协议数据单元长度,固定为0x40

·     RRPP_VER16bitsRRPP版本信息,当前版本为0x0001

·     RRPP Type8bitsRRPP协议报文的类型。5表示Hello报文;6表示Complete-Flush-FDB报文;7表示Common-Flush-FDB报文;8表示Link-Down报文;10表示Edge-Hello报文;11表示Major-Fault报文。

·     Domain ID16bits,报文所属RRPP域的ID

·     Ring ID16bits,报文所属RRPP环的ID

·     SYSTEM_MAC_ADDR48bits,发送报文节点的桥MAC

·     HELLO_TIMER16bits,发送报文节点使用的Hello定时器的超时时间,单位为秒。

·     FAIL_TIMER16bits,发送报文节点使用的Fail定时器的超时时间,单位为秒。

·     LEVEL8bits,报文所属RRPP环的级别。

2.3  单环工作原理

2.3.1  单环检测及故障恢复机制

1. 环网健康检测及处理机制

主节点通过轮询机制来主动检测环网状态并进行相应处理:主节点周期性地从主端口发送Hello报文,依次经过各传输节点在环上传播。如果环网上所有链路都处于UP状态,则主节点能够从副端口收到自己发送的Hello报文,说明环网处于健康状态。为了防止环上的数据报文形成广播环路,主节点阻塞其副端口。环网完整时的情况如3所示。

图3 完整状态下的RRPP

 

2. 环网故障检测及处理机制

环网故障可以通过轮询机制和Link Down通知机制两种方式检测出来:

·     轮询机制

主节点通过轮询机制主动检测环网状态:主节点周期性的从其主端口发送Hello报文,依次经过各传输节点在环上传播。如果主节点在规定时间内收不到自己发送的Hello报文,认为环网发生链路故障。主节点将状态切换到Failed状态,放开副端口,并从主、副端口发送Common-Flush-FDB报文通知环上所有传输节点刷新MAC表项和ARP/ND表项。

·     Link Down通知机制

¡     当主节点主端口Down后,主节点直接感知链路故障,立即放开副端口,并从副端口发送Common-Flush-FDB报文通知环上所有传输节点刷新MAC表项和ARP/ND表项。

¡     当传输节点上的RRPP端口发生链路DOWN时,该节点将从与故障端口配对的状态为UPRRPP端口发送Link-Down报文通知主节点(Link-Down上报过程如4所示)。主节点收到Link-Down报文后,放开副端口,立即将状态切换到Failed状态。由于网络拓扑发生改变,为避免报文定向错误,主节点还需要刷新MAC表项和ARP/ND表项,并从主、副端口发送Common-Flush-FDB报文通知所有传输节点刷新MAC表项和ARP/ND表项(主节点状态向Failed状态迁移过程如5所示)。

图4 传输节点链路中断上报示意图

 

图5 主节点向Failed状态迁移过程示意图

 

Link Down通知机制提供了比轮询机制更快的环网故障处理机制,但是,如果Link-Down报文在传输过程中不幸丢失时,这时主节点的轮询机制就派上了用场。如果主节点在规定时间内(这一时间由Fail定时器定义)仍没有在副端口收到自己的Hello报文,则认为环网发生故障,对故障的处理过程与传输节点主动上报完全相同。

3. 环网故障恢复检测及处理机制

传输节点端口恢复的瞬间,主节点无法立刻感知到此信息,因此其副端口还处于放开状态。这时如果传输节点立即迁移回Link-Up状态,势必造成数据报文在环网上形成瞬时环路,因此处于Link-Down状态的传输节点的主、副端口都恢复时,传输节点立即阻塞刚刚恢复的端口,迁移到Pre-forwarding状态。传输节点端口恢复时的处理过程如6所示。此时整个环网并没有恢复,环网恢复的过程是由主节点主动发起的。

图6 传输节点链路恢复处理过程示意图

 

环上所有链路恢复正常后,当处于Failed状态的主节点重新收到自己发出的Hello报文,将阻塞副端口,将状态迁移回Complete状态。由于RRPP环拓扑已经改变,主节点要刷新MAC表项和ARP/ND表项,并从主端口发送Complete-Flush-FDB报文通知所有传输节点刷新MAC表项和ARP/ND表项。处于Pre-forwarding状态的传输节点收到主节点发送的Complete-Flush-FDB报文时,迁移到Link-Up状态,这样整个环网就恢复完成了。环网恢复的处理过程如7所示。

图7 环网恢复示意图

 

如果Complete-Flush-FDB报文在传播过程中丢失,还有一种备份机制来实现传输节点临时阻塞端口的恢复。传输节点处于Pre-forwarding状态时,如果在规定时间内(这一时间由Fail定时器定义)收不到主节点发来的Complete-Flush-FDB报文,自行放开临时阻塞端口,并刷新本节点MAC表项和ARP/ND表项,恢复数据通信。

2.3.2  单环负载分担

在同一个环网中,如果同时存在多个VLAN的数据流量,可以在同一个环网上配置多个RRPP域,不同RRPP域转发不同VLAN(称之为保护VLAN)的流量,实现不同VLAN的数据流量在该环网中有不同的转发路径,从而达到负载分担的目的。

图8 单环负载分担组网

 

8所示,Domain 1Domain 2都配置Ring 1为主环,两个RRPP域保护的VLAN不同。Domain 1Ring 1配置Device A为主节点;Domain 2Ring 1配置Device B为主节点。通过配置,可以实现不同VLAN分别阻塞不同的链路,从而实现单环的负载分担。

2.4  相交环工作原理

2.4.1  相交环检测机制

相交环实现方式中,主环的实现原理与单环相同,子环主节点的检测机制亦与单环相同。不同之处在于多环引入了SRPTSub Ring Packet Tunnel in major ring,子环协议报文在主环中的通道)检查机制,在子环的2SRPT全部中断,子环主节点副端口放开之前,先阻塞边缘节点的边缘端口,以此来防止子环间形成数据广播环路。关于SRPT检查机制的详细介绍请参见“2.4.3  SRPT状态检原理”。

另外,主环节点收到子环的Common-Flush-FDB或者Complete-Flush-FDB报文时,都需要刷新MAC表项和ARP/ND表项;子环的Complete-Flush-FDB不会导致主环传输节点放开临时阻塞端口。

图9 相交环组网

 

2.4.2  相交环负载分担

在同一相交环组网中,如果同时存在多个VLAN的数据流量,可以在同一相交环组网上配置多个RRPP域(每个RRPP域的工作原理同相交环工作原理),不同RRPP域转发不同保护VLAN的流量,实现不同VLAN的流量在该环网中有不同的转发路径,从而达到负载分担的目的。

图10 相交环负载分担组网

 

10所示,Domain 1Domain 2分别配置Ring 1Ring 2为主环和子环,两个域保护的VLAN不同。Domain 1Ring 1配置Device A为主节点;Domain 2Ring 1配置Device D为主节点,Domain 1Domain 2Ring 2都配置Device E为子环主节点,但主副端口配成不同的。通过配置,可以使不同VLAN的流量通过不同的链路传输,从而实现相交环的负载分担。

2.4.3  SRPT状态检测原理

1. SRPT状态检测机制产生背景

SRPT是子环协议报文在主环中的通道。RRPP协议理论上把主环看作是子环的一个逻辑节点,子环的协议报文通过主环透传,主环将子环的协议报文(除了Edge-Hello报文)当作数据报文进行转发。

每个子环有2SRPT,在1中分别为S3-S2S3-S4-S1-S2。在主环完整时,其主节点副端口处于阻塞状态,只有S3-S2是通的。主环故障时,如果故障发生在S3-S4-S1-S2上,则S3-S2是通的;如果故障发生在S3-S2上,则S3-S4-S1-S2是通的;因此,在任意时刻,子环的2SRPT中,最多只有1条是通的,这样就避免了子环协议报文在主环中形成数据环路。如果子环的2SRPT全部中断时,子环主节点收不到自己发出的Hello报文,于是Fail定时器超时,子环主节点放开副端口,这样子环可以获得最大的通信通路,且不会形成环路。

但对于11所示的在实际应用中采用较多的双归属组网中,双归属的两个子环Ring 2Ring 3借助边缘节点和辅助边缘节点相互连接,本身就形成了一个环路。当主环Ring 1上子环的2SRPT全部中断后,所有子环的主节点副端口放开,子环之间势必形成数据环路(数据报文走向如箭头所示)。

图11 多环组网SRPT故障时子环间数据环路示意图

 

为了消除这一缺陷,引入了SRPT状态检查机制。由边缘节点和辅助边缘节点配合完成SRPT的状态检查,当边缘节点检测到SRPT中断后,在两个子环主节点副端口全部放开之前,阻塞两子环边缘节点的边缘端口,避免子环间形成数据环路。主环SRPT故障后保护机制产生作用效果如12所示。

图12 多环SRPT状态检查机制结果示意图

 

2. SRPT状态检测机制工作过程

边缘节点是检查活动的发起者和决策者,辅助边缘节点是通道状态的监听者,并负责在通道状态改变时及时通知边缘节点。整个机制的过程描述如下。

(1)     检查SRPT状态

子环的边缘节点通过连入SRPT的两个端口周期性向主环内发送Edge-Hello报文,依次经过环上各节点发往辅助边缘节点,如13所示。

如果辅助边缘节点在规定时间内能够收到Edge-Hello报文,表明至少有1SRPT正常,子环报文可以正常通过。反之,辅助边缘节点如果收不到Edge-Hello报文,说明2SRPT全部中断,子环报文无法通过。

图13 边缘节点发送Edge-Hello报文

 

(2)     SRPT中断,阻塞边缘节点的边缘端口

辅助边缘节点检测到2SRPT全部中断后,立即从边缘端口通过子环链路向边缘节点发送Major-Fault报文。如果此时子环上无故障,边缘节点能够收到Major-Fault,立即阻塞自己的边缘端口,如14所示;如果子环上存在故障,边缘节点的边缘端口不会被阻塞。

Major-Fault报文是周期性发送的,如果边缘节点收到,其边缘端口继续阻塞;如果在规定时间内收不到报文,边缘端口自行放开。

图14 边缘节点响应Major-Fault报文阻塞边缘端口示意图

 

(3)     子环故障,状态迁移到Failed

由于子环的两条SRPT全部中断,因此子环协议报文无法在主环中透传,主节点收不到自己发出的Hello报文,于是,放开副端口,迁移到Failed状态。15所示。

图15 单环负载分担主环通道中断导致子环Failed示意图

 

(4)     SRPT恢复

主环故障恢复的同时,子环的SRPT得到恢复,辅助边缘节点不再报告Major-Fault报文。

如果子环本身没有故障,其主节点重新收到自己发出的Hello报文,于是阻塞副端口,切换到Complete状态,如16所示。

图16 子环协议通道恢复示意图

 

子环恢复后,主节点会从主端口发送Complete-Flush-FDB报文。边缘节点收到报文后,如果其边缘端口处于阻塞状态,立即放开边缘端口,全网通信恢复。如17所示。

图17 子环边缘节点放开边缘端口示意图

 

SRPT恢复时,如果此时子环存在故障,则子环无法恢复。此种情况下子环主节点不会发送Complete-Flush-FDB报文,如果边缘节点的边缘端口处于阻塞状态,该端口只能在Fail定时器超时后自行放开。

3. 环组机制

SRPT状态检查过程中,子环边缘节点和辅助边缘节点分别要持续频繁地发送和接收Edge-Hello报文。如11所示的多个子环双归属的组网中,如果分别配置S2S3Ring 2Ring3的边缘节点和辅助边缘节点。S2Ring 2Ring 3都需要频繁发送Edge-Hello报文,而S3Ring 2Ring3都需要频繁接收Edge-Hello报文。如果配置更多的子环,将会收发大量的Edge-Hello报文,势必增加设备CPU的负荷。

为了减少Edge-Hello报文的收发数量,引入了环组机制。在边缘节点或辅助边缘节点上配置的一组子环的集合作为一个环组。在边缘节点上配置的环组称为边缘节点环组,在辅助边缘节点上配置的环组称为辅助边缘节点环组。在边缘节点配置的环组内,只有域ID和环ID最小的激活子环才发送Edge-Hello报文。在辅助边缘节点环组内,任意激活子环收到Edge-Hello报文会通知给其它激活子环。这样在边缘节点和辅助边缘节点上分别配置对应的环组后,只有一个子环发送/接收Edge-Hello报文,从而减少了对设备CPU的冲击。

需要注意的是,环组中所有子环的边缘节点必须都配置在同一台设备上、辅助边缘节点也都必须配置在同一台设备上,而且这些子环的SRPT必须相同。

2.5  快速检测机制

说明

要实现快速检测功能,要求RRPP环的主节点、边缘节点和辅助边缘节点都支持快速检测机制。

 

RRPP的快速收敛依赖于传输节点能够快速检测到链路故障,并立即发出通知。而在RRPP的实际运用中,环网中的某些设备并不支持RRPP协议,由于无法感知到这些设备之间的链路故障,RRPP只能通过超时机制进行链路切换,但这将导致流量中断时间过长,不能达到用户毫秒级切换的需要。

RRPP快速检测机制可以解决上述问题。在配置了快速检测功能之后,当RRPP在检测以太网环的链路状况时:

·     主节点会以Fast-Hello定时器周期性地从主端口发送Fast-Hello报文:在Fast-Fail定时器超时前,若其副端口收到了该报文,就认为环路处于健康状态;否则,认为环路处于断裂状态。

·     边缘节点会以最高精度定时器周期性地从公共端口发送Fast-Edge-Hello报文:在三倍于最高精度定时器值的时间间隔内,若辅助边缘节点没有收到该报文,就认为子环在主环上的传输通道处于断裂状态。

2.6  防抖动机制

RRPP端口状态不稳定或者丢包导致超时的情况下,环网状态会在CompleteFailed之间来回切换,导致RRPP环流量转发路径频繁变化,导致丢包过多,可以通过配置Linkup-Delay来避免该情况的发生。

配置Linkup-Delay定时器但未开启扩散功能,当RRPP链路的故障端口变为UP状态,且主节点从副端口收到Hello报文时,主节点会启动Linkup-Delay定时器,此时:

·     若在Linkup-Delay定时器超时后主节点依然能够从副端口收到Hello报文,则主节点才会切换RRPP环的断裂状态到健康状态,将从副端口转发的流量切换至主端口进行转发。

·     若在Linkup-Delay定时器超时前,及在Fail定时器超时后主节点未能从副端口收到Hello报文,则主节点停止Linkup-Delay定时器且保持RRPP环处于断裂状态。

配置Linkup-Delay定时器和开启扩散功能,RRPP域中所有节点会通过收到的Hello报文学习到Linkup-Delay定时器的值。当RRPP链路的故障端口变为UP状态时,该端口所在RRPP节点设备会临时阻塞该端口(数据报文和协议报文均不能收发),并启动Linkup-Delay定时器,此时:

·     若在Linkup-Delay定时器超时后该端口没有发生故障,则该节点设备恢复该端口为UP状态。从而使得主节点发送Hello报文能通过该端口转发至主节点的副端口,然后主节点立即切换RRPP环的断裂状态到健康状态,将从副端口转发的流量切换至主端口进行转发。

·     若在Linkup-Delay定时器超时前,该端口又发生故障,则阻塞该端口,所在节点设备停止Linkup-Delay定时器。

典型组网应用

3.1  单环

图18 单环典型组网

 

物理网络拓扑中只有一个环,此时可以定义一个RRPP域和一个RRPP环。

这种组网的特征是拓扑改变时反应速度快,收敛时间短。

3.2  单环负载分担

图19 单环负载分担典型组网

 

物理网络拓扑中只有一个环,但同时存在多个VLAN的数据流量,为了实现负载分担,可以在物理拓扑环上定义多个RRPP域,每个RRPP域的保护VLAN不同,并且不同RRPP域的RRPP环的主节点不同或主节点相同而主副端口不同,从而实现不同RRPP域的保护VLAN有不同的逻辑拓扑。

3.3  相切环

图20 相切环典型组网

 

物理网络拓扑中有两个及两个以上的环,但是各个环之间只有一个公共节点。此时每个环要配置成属于不同的RRPP域。

当网络规模较大,同级网络需要分区域管理时,可以采用这种组网。

3.4  相交环

图21 相交环典型组网

 

物理网络拓扑中有两个及两个以上的环,但是各个环之间有两个公共节点。此时可以只定义一个RRPP域,选择其中一个环为主环,其他环为子环。

这种组网最典型的应用就是子环主节点可以通过边缘节点和辅助边缘节点双归属上行,提供上行链路备份。

3.5  相交环负载分担

图22 相交环负载分担典型组网

 

物理网络拓扑中有两个及两个以上的环,但是各个环之间有两个公共节点。如果网络中存在多个VLAN的数据流量,为了实现负载分担,可以定义多个RRPP域,每个RRPP域的保护VLAN不同,并且不同RRPP域的RRPP环的主节点不同或主节点相同而主副端口不同,从而实现不同RRPP域的保护VLAN有不同的逻辑拓扑。

3.6  RRPPSTP混合组网

RRPP协议与STP协议在端口上使能是互斥的,这是为了避免RRPPSTP在计算端口阻塞/放开状态时产生冲突。当RRPP环与STP环邻接时,只支持RRPP环与STP环相切的组网,不支持二者相交的组网,也就是两种协议不能有公共的端口。

图23 RRPPSTP混合组网示意图