CN102055658B - 快速环网保护协议单环组网中实现故障保护的方法及设备 - Google Patents
快速环网保护协议单环组网中实现故障保护的方法及设备 Download PDFInfo
- Publication number
- CN102055658B CN102055658B CN2009102372402A CN200910237240A CN102055658B CN 102055658 B CN102055658 B CN 102055658B CN 2009102372402 A CN2009102372402 A CN 2009102372402A CN 200910237240 A CN200910237240 A CN 200910237240A CN 102055658 B CN102055658 B CN 102055658B
- Authority
- CN
- China
- Prior art keywords
- rrpp
- message
- port
- data message
- vlan
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明提供了快速环网保护协议单环组网中实现故障保护的方法及设备。其中,所述方法包括:RRPP域的第一传输节点在检测到自身第一RRPP端口的链路发生中断后,在转发保护VLAN中的数据报文时,在所述数据报文中增加备份VLAN的标签封装,再通过自身第二RRPP端口将所述数据报文转发出去,其中,所述备份VLAN是所述单环上的所有节点的所有RRPP端口均预先加入的一个VLAN,所述数据报文包括组播报文、广播报文或目的MAC地址未知的单播报文。本发明在发生环网故障时能够避免发生数据报文丢失,从而提高RRPP环网的可靠性。
Description
技术领域
本发明涉及本发明涉及快速环网保护协议(RRPP,Rapid Ring ProtectionProtocol)技术领域,具体涉及一种在RRPP单域单环组网环境中实现故障保护的方法及设备。
背景技术
RRPP是一个专门应用于以太网环的链路层协议。它在以太网环完整时能够防止数据环路引起的广播风暴,而当以太网环上一条链路断开时能迅速恢复环网上各个节点之间的通信通路。以下结合图1简单介绍RRPP中的相关概念。
RRPP域(RRPP Domain):RRPP域用于标识RRPP协议所计算和控制的拓扑范围。RRPP域由整数表示的ID来标识,一组配置了相同的域ID,控制VLAN和保护VLAN,并且相互连通的设备群体构成一个RRPP域。一个RRPP域具有如下的组成要素:
1、RRPP环;
2、RRPP控制虚拟局域网(VLAN,Virtual Local Area Network);
3、RRPP保护VLAN;
4、主节点;
5、传输节点;
6、边缘节点;
7、辅助边缘节点。
图1所示的是一个单域单环的RRPP组网,如图1所示,RRPP单域单环组网的物理网络拓扑只有一个RRPP环,且仅定义一个RRPP域,如定义一个域为域1。环1上共有S1~S6共六个节点,其中环1上的主节点为S1,传输节点为S2、S3、S4、S5和S6。
RRPP环:一个环形连接的以太网网络拓扑称为一个RRPP环,本文中将RRPP环简称为“环”。RRPP环分为主环和子环。一个RRPP域可以包含多个RRPP环,但只能有一个主环,其它均为子环。每个环都有以下两种状态:
1)健康状态:整个环网的物理链路是连通的;
2)断裂状态:环网中某处物理链路断开。
RRPP控制VLAN:控制VLAN是用来传递RRPP协议报文的VLAN。每个设备上接入RRPP环的端口(即RRPP端口)属于控制VLAN,而且也只有接入RRPP环上的端口才可以加入控制VLAN。
RRPP保护VLAN:保护VLAN是用来传递数据报文的VLAN。保护VLAN中可以包含RRPP端口,也可以包含非RRPP端口。保护VLAN的转发状态由其所对应的RRPP域控制。
节点:RRPP环上的每台设备都称为一个节点。节点角色由用户的配置来决定,分为下列几种:
1、主节点:对于某个RRPP域,该域下的每个环上有且仅有一个主节点,如图1中的S1是RRPP环的主节点。主节点是环网状态主动检测机制的发起者,也是网络拓扑发生改变后执行操作的决策者。主节点有如下两种状态:
1)Complete State(完整状态)
当环网上所有的链路都处于活动(UP)状态,主节点可以从副端口收到自己发送的HELLO报文,就说主节点处于完整(Complete)状态,此时主节点会阻塞副端口以防止数据报文在环形拓扑上形成广播环路。
2)Failed State(故障状态)
当环网上有链路处于故障状态时,主节点处于故障(Failed)状态,此时主节点放开副端口以解除副端口对数据报文的阻塞,避免环网上的通信中断。
2、传输节点:RRPP环上除主节点外的所有其它节点是传输节点,如图1中的S2、S3、S4、S5和S6是RRPP环的传输节点。传输节点负责透传主节点的HELLO报文,并监测自己的直连RRPP链路的状态,把链路DOWN事件通知主节点。传输节点有如下3种状态:
1)Link-Up State(UP状态)
传输节点的主端口和副端口都处于活动(UP)状态时,就说传输节点处于链路活动(Link-Up)状态。
2)Link-Down State(Down状态)
传输节点的主端口或副端口处于非活动(Down)状态时,就说传输节点处于链路非(Link-Down)状态。
3)Pre-forwarding State(临时阻塞状态)
传输节点的主端口或副端口处于阻塞状态时,就说传输节点处于Pre-forwarding状态。
主端口和副端口:主节点和传输节点接入RRPP环的两个RRPP端口中,一个为主端口,另一个为副端口,端口的角色由用户的配置决定。
主节点的主端口和副端口在功能上有所区别:主节点的主端口用来发送链路状态探测报文,副端口用来接收链路状态探测报文。当RRPP环处于健康状态时,主节点的副端口在逻辑上阻塞保护VLAN(即阻塞数据报文),只允许控制VLAN的报文(即RRPP协议报文)通过;当RRPP环处于故障(Failed)状态时,主节点的副端口将解除保护VLAN的阻塞状态,转发保护VLAN的报文。传输节点的主端口和副端口在功能上没有区别,都用于RRPP环上协议报文和数据报文的传输。
传输节点的主端口和副端口在功能上没有区别。端口的角色同样由用户的配置决定。
以下介绍常用的几种类型的RRPP协议报文:
Hello报文:链路状态探测报文,由主节点发起,用于对网络进行环路完整性检测;
Edge-Hello报文:子环协议报文在主环中的通道(SRPT,Sub Ring PacketTunnel in major ring)状态探测报文,由边缘节点发起,对边缘节点与辅助边缘节点之间的主环链路进行检测;
Major-Fault报文:主环故障报文,由辅助边缘节点发起,在边缘节点和辅助边缘节点之间主环链路不连通时通知边缘节点主环链路故障;
Common-Flush-FDB报文:环网故障刷新报文,由主节点发起,在RRPP环迁移到断裂状态时通知传输节点更新各自MAC表项(即媒体接入控制地址转发表项)和ARP/ND表项(即地址解析协议/邻居发现表项);
Complete-Flush-FDB报文:环网恢复刷新报文,由主节点发起,在RRPP环迁移到健康状态时通知传输节点更新各自MAC表项和ARP/ND表项,同时通知传输节点解除临时阻塞端口的阻塞状态。
现有技术中,主节点通过轮询机制来主动检测环网状态并进行相应处理:主节点周期性的从其主端口发送Hello报文,依次经过各传输节点在环上传播。如果环网上所有链路都处于活动(UP)状态,则主节点能够从副端口收到自己发送的HELLO报文,说明环网状态完整。为了防止环上的数据报文形成广播环路,此时主节点需要阻塞其副端口,即阻塞保护VLAN的数据报文,只允许控制VLAN的报文的RRPP协议报文通过。如图1中的主节点S1阻塞了其副端口2。
当环网出现故障时,如图2,S3和S4之间的链路发生中断,现有技术中主节点可以通过以下两种方式检测出来:
1、轮询机制
主节点通过轮询机制来主动检测环网状态:主节点周期性的从其主端口发送HELLO报文,依次经过各传输节点在环上传播。如果主节点在规定时间内收不到自己发送的HELLO报文,认为环网发生链路故障。主节点将状态切换到故障状态,放开副端口,并从主、副端口发送COMMON-FLUSH-FDB报文,用以通知环上所有传输节点刷新MAC表项和ARP/ND表项。
2、Link Down通知机制
节点总是在监测自己的端口链路状态,一旦发现端口关闭(Down),将立即采取措施:
1)当主节点的主端口Down后,主节点直接感知到链路故障后,立即放开副端口,并从副端口发送COMMON-FLUSH-FDB报文通知环上所有传输节点刷新MAC表项和ARP/ND表项。
2)当传输节点上的RRPP端口发生链路DOWN时,该节点将从与故障端口配对的状态为UP的RRPP端口发送LINK-DOWN报文通知主节点。主节点收到LINK-DOWN报文后,放开副端口,立即将状态切换到故障状态。由于网络拓扑发生改变,为避免报文定向错误,主节点还需要刷新MAC表项和ARP/ND表项,并从主、副端口发送COMMON-FLUSH-FDB报文通知所有传输节点刷新MAC表项和ARP/ND表项。
如图2所示,单域单环组网中每个节点都有两个RRPP端口接入到环上,S3和S4之间的链路发生中断,S4检测到自身第2端口的链路发生中断后,则通过自身第1端口向主节点发送LINK-DOWN报文;类似的,S3也将通过自身第2端口向主节点发送LINK-DOWN报文。图2中虚线箭头表示LINK-DOWN报文的传输路径。
Link Down通知机制提供了比轮询机制更快的环网故障处理机制。但是,如果LINK-DOWN报文在传输过程中发生丢失,主节点则可以进一步通过轮询机制检测到环网故障:如果主节点在规定时间内(这一时间由Fail定时器定义)仍没有在副端口收到自己发送的HELLO报文,则认为环网发生故障,此时对故障的处理过程,与传输节点主动上报时的处理过程完全相同。
从以上所述可以看出,现有技术利用Link Down通知机制对RRPP环进行故障保护时,需要经历故障节点上报(发送LINK-DOWN报文通知主节点)、主节点放开副端口并发送COMMON-FLUSH-FDB报文通知所有传输节点刷新MAC表项和ARP/ND表项等多个过程,通常这些过程耗时50ms左右。而传输节点在刷新MAC表项和ARP/ND表项之前,仍然按照原先的路径发送数据报文,从而可能导致数据报文丢失。
发明内容
本发明所要解决的技术问题是提供一种RRPP单域单环组网中实现故障保护的方法及设备,用以在发生环网故障时避免发生数据报文丢失,提高RRPP环网的可靠性。
为解决上述技术问题,本发明提供方案如下:
一种快速环网保护协议RRPP单环组网中实现故障保护的方法,所述单环上配置有一RRPP域,所述方法包括:
所述RRPP域的第一传输节点在检测到自身第一RRPP端口的链路发生中断后,在转发保护VLAN中的数据报文时,在所述数据报文中增加备份VLAN的标签封装,再通过自身第二RRPP端口将所述数据报文转发出去,其中,所述备份VLAN是所述单环上的所有节点的所有RRPP端口均预先加入的一个VLAN,所述数据报文包括组播报文、广播报文或目的MAC地址未知的单播报文;
封装有所述备份VLAN的标签的所述数据报文在经过所述RRPP域的其它传输节点时,触发所述其它传输节点执行以下操作:通过接收到所述数据报文的RRPP端口之外的另一RRPP端口,将所述数据报文转发出去;
封装有所述备份VLAN的标签的所述数据报文在经过所述RRPP域的主节点时,触发所述主节点执行以下操作:将所述数据报文中的所述备份VLAN的标签剥离,再通过接收到所述数据报文的RRPP端口之外的另一RRPP端口,将所述数据报文转发出去。
优选地,上述方法中,还包括:
所述第一传输节点在检测到自身第一RRPP端口的链路发生中断后,进一步通过自身第二RRPP端口向所述主节点发送LINK-DOWN报文,并在接收到所述主节点发送的COMMON-FLUSH-FDB报文后,更新本地保存的MAC表项和ARP/ND表项,并在所述更新完成之后,对于所述保护VLAN中的数据报文,不再增加所述备份VLAN的标签封装,而是直接根据所述MAC表项和ARP/ND表项进行转发。
优选地,上述方法中,在更新本地保存的MAC表项和ARP/ND表项之后,所述第一传输节点还通过自身第二RRPP端口向所述主节点发送一个用于指示所述MAC表项和ARP/ND表项已更新的确认报文。
本发明还提供了一种快速环网保护协议RRPP单环组网中实现故障保护的方法,所述单环上配置有一RRPP域,所述方法包括:
所述RRPP域的第二传输节点从自身第一RRPP端口上接收数据报文,所述数据报文是所述RRPP域的第一传输节点在自身第一RRPP端口的链路发生中断后,对保护VLAN中的组播报文、广播报文或目的MAC地址未知的单播报文增加备份VLAN的标签封装后,通过自身第二RRPP端口发出的报文,其中,所述备份VLAN是所述单环上的所有节点的所有RRPP端口均预先加入的一个VLAN;
所述第二传输节点对包含有所述备份VLAN的标签封装的所述数据报文,直接通过自身第二RRPP端口进行转发。
本发明还提供了一种快速环网保护协议RRPP单环组网中实现故障保护的方法,所述单环上配置有一RRPP域,所述方法包括:
步骤A,所述RRPP域的主节点从自身主端口和副端口中的一个RRPP端口上接收数据报文,所述数据报文是所述RRPP域的第一传输节点在自身第一RRPP端口的链路发生中断后,对保护VLAN中的组播报文、广播报文或目的MAC地址未知的单播报文增加备份VLAN的标签封装后,通过自身第二RRPP端口发出的报文,其中,所述备份VLAN是所述单环上的所有节点的所有RRPP端口均预先加入的一个VLAN;
步骤B,所述主节点将所述数据报文中的所述备份VLAN的标签封装剥离后,再通过自身主端口和副端口中的另一个RRPP端口将所述数据报文转发出去。
优选地,上述方法中,所述步骤B具体包括:
所述主节点根据所述数据报文的源MAC地址和备份VLAN ID,查找本地MAC转发表:
在本地MAC转发表中已存在VLAN ID为备份VLAN ID、源MAC地址为所述数据报文的源MAC地址、且出接口为所述一个RRPP端口的MAC转发表项时,将所述数据报文中的所述备份VLAN的标签封装剥离,再通过所述另一个RRPP端口转发所述数据报文;
在本地MAC转发表中存在VLAN ID为备份VLAN ID、源MAC地址为所述数据报文的源MAC地址、且出接口为所述另一个RRPP端口的MAC转发表项时,丢弃所述数据报文;
在本地MAC转发表中不存在VLAN ID为备份VLAN ID、源MAC地址为所述数据报文的源MAC地址的MAC转发表项时,在本地MAC转发表中增加源MAC地址、且出接口为所述一个RRPP端口的MAC转发表项,并将所述数据报文中的所述备份VLAN的标签封装剥离,再通过所述另一个RRPP端口转发所述数据报文。
优选地,上述方法中,还包括:
所述主节点接收所述第一传输节点发送的LINK-DOWN报文,并在接收到所述LINK-DOWN报文后,放开自身副端口,刷新MAC表项和ARP/ND表项,并通过自身主、副端口发送COMMON-FLUSH-FDB报文;
以及,所述主节点接收所述第一传输节点发送的用于指示所述MAC表项和ARP/ND表项已更新的确认报文,并在接收到所述确认报文之后,删除本地MAC转发表中保存的VLAN ID为备份VLAN ID的MAC转发表项。
优选地,上述方法中,所述步骤A、B之间还包括:
所述主节点判断自身主端口的链路是否发生中断:若是,则进入步骤C;否则进入步骤B;
步骤C,所述主节点将所述数据报文中的所述备份VLAN的标签封装剥离后,再根据本地MAC表项和ARP/ND表项,转发所述数据报文。
本发明还提供了一种快速环网保护协议RRPP单环上的第一节点,所述单环上配置有一RRPP域,且所述第一节点是所述RRPP域中的传输节点,所述第一节点包括检测单元和报文转发单元,其中,
所述检测单元,用于检测本第一节点的RRPP端口的链路是否发生中断,并在检测到本第一节点的第一RRPP端口的链路发生中断后,触发所述报文转发单元;
所述报文转发单元,用于在接收到所述检测单元的触发后,在转发保护VLAN中的数据报文时,在所述数据报文中增加备份VLAN的标签封装,再通过自身第二RRPP端口将所述数据报文转发出去,其中,所述备份VLAN是所述单环上的所有节点的所有RRPP端口均预先加入的一个VLAN,所述数据报文包括组播报文、广播报文或目的MAC地址未知的单播报文;
封装有所述备份VLAN的标签的所述数据报文在经过所述RRPP域的其它传输节点时,触发所述其它传输节点执行以下操作:通过接收到所述数据报文的RRPP端口之外的另一RRPP端口,将所述数据报文转发出去;
封装有所述备份VLAN的标签的所述数据报文在经过所述RRPP域的主节点时,触发所述主节点执行以下操作:将所述数据报文中的所述备份VLAN的标签剥离,再通过接收到所述数据报文的RRPP端口之外的另一RRPP端口,将所述数据报文转发出去。
优选地,上述第一节点中,还包括:
故障报告单元,用于在所述检测单元检测到本第一节点的第一RRPP端口的链路发生中断后,通过本第一节点的第二RRPP端口向所述RRPP域的主节点发送LINK-DOWN报文;
表项更新单元,用于接收所述主节点发送的COMMON-FLUSH-FDB报文,并在接收到所述COMMON-FLUSH-FDB报文后,更新本地保存的MAC表项和ARP/ND表项,并在所述更新完成之后,触发所述报文转发单元;
所述报文转发单元,还用于在接收到所述表项更新单元的触发后,对于所述保护VLAN中的数据报文,不再增加所述备份VLAN的标签封装,而是直接根据所述MAC表项和ARP/ND表项进行转发。
优选地,上述第一节点中,
所述表项更新单元,还用于在更新本地保存的MAC表项和ARP/ND表项之后,通过本第一节点的第二RRPP端口向所述主节点发送一个用于指示所述MAC表项和ARP/ND表项已更新的确认报文。
本发明还提供了一种快速环网保护协议RRPP单环上的第二节点,所述单环上配置有一RRPP域,且所述第二节点是所述RRPP域中的传输节点,所述第二节点包括:
报文接收单元,用于从本第二节点的第一RRPP端口上接收数据报文,所述数据报文是所述RRPP域的其它传输节点在自身第一RRPP端口的链路发生中断后,对保护VLAN中的组播报文、广播报文或目的MAC地址未知的单播报文增加备份VLAN的标签封装后,通过自身第二RRPP端口发出的报文,所述备份VLAN是所述单环上的所有节点的所有RRPP端口均预先加入的一个VLAN;
报文转发单元,用于对包含有所述备份VLAN的标签封装的所述数据报文,直接通过自身第二RRPP端口进行转发。
本发明还提供了一种快速环网保护协议RRPP单环上的第三节点,所述单环上配置有一RRPP域,且所述第三节点是所述RRPP域中的主节点,所述第三节点包括报文接收单元和第一报文转发单元;
所述报文接收单元,用于从本第三节点的主端口和副端口中的一个RRPP端口上接收数据报文,并在接收到所述数据报文后,触发所述第一报文转发单元,其中所述数据报文是所述RRPP域的传输节点在自身第一RRPP端口的链路发生中断后,对保护VLAN中的组播报文、广播报文或目的MAC地址未知的单播报文增加备份VLAN的标签封装后,通过自身第二RRPP端口发出的报文,所述备份VLAN是所述单环上的所有节点的所有RRPP端口均预先加入的一个VLAN;
所述第一报文转发单元,用于根据所述报文接收单元的触发,将所述数据报文中的所述备份VLAN的标签封装剥离后,再通过本第三节点的主端口和副端口中的另一个RRPP端口将所述数据报文转发出去。
优选地,上述第三节点中,所述第一报文转发单元包括:
查找子单元,用于根据所述数据报文的源MAC地址和备份VLAN ID,查找本地MAC转发表;
第一转发子单元,用于在本地MAC转发表中已存在VLAN ID为备份VLAN ID、源MAC地址为所述数据报文的源MAC地址、且出接口为一个RRPP端口的MAC转发表项时,将所述数据报文中的所述备份VLAN的标签封装剥离,再通过所述另一个RRPP端口转发所述数据报文;
第二转发子单元,用于在本地MAC转发表中存在VLAN ID为备份VLANID、源MAC地址为所述数据报文的源MAC地址、且出接口为所述另一个RRPP端口的MAC转发表项时,丢弃所述数据报文;
第三转发子单元,用于在本地MAC转发表中不存在VLAN ID为备份VLAN ID、源MAC地址为所述数据报文的源MAC地址的任何MAC转发表项时,在本地MAC转发表中增加源MAC地址、且出接口为所述一个RRPP端口的MAC转发表项,并将所述数据报文中的所述备份VLAN的标签封装剥离,再通过所述另一个RRPP端口转发所述数据报文。
优选地,上述第三节点中,还包括:
故障处理单元,用于接收所述RRPP域的传输节点发送的LINK-DOWN报文,并在接收到所述LINK-DOWN报文后,放开本第三节点的副端口,刷新本地保存的MAC表项和ARP/ND表项,并通过本第三节点的主、副端口发送COMMON-FLUSH-FDB报文;
表项维护单元,用于接收所述RRPP域的传输节点发送的用于指示所述MAC表项和ARP/ND表项已更新的确认报文,并在接收到所述确认报文之后,删除本地MAC转发表中保存的VLAN ID为备份VLAN ID的MAC转发表项。
优选地,上述第三节点中,还包括第二报文转发单元;
所述报文接收单元,还用于在接收到所述数据报文后,判断本第三节点的主端口的链路是否发生中断:若是,则触发所述第二报文转发单元;否则触发所述第一报文转发单元;
所述第二报文转发单元,用于将所述数据报文中的所述备份VLAN的标签封装剥离后,再根据本地MAC表项和ARP/ND表项,转发所述数据报文。
从以上所述可以看出,本发明提供的RRPP单域单环组网中实现故障保护的方法及设备,环上所有节点的RRPP端口均预先加入一备份VLAN,该备份VLAN是不同于保护VLAN和控制VLAN的一个自定义VLAN;传输节点在检测到链路故障,到接收到所述主节点发送的COMMON-FLUSH-FDB报文并更新本地保存的MAC表项和ARP/ND表项的这段时间段内,对于组播报文、广播报文和目的地址未知的单播报文,将在增加备份VLAN标签封装后,再通过另一个处于活动(UP)状态的RRPP端口转发,并最终经由主节点剥去备份VLAN标签封装后再发送回环上,再在环上按照查MAC转发表和ARP/ND表项的正常转发方式进行转发,最终得以到达相应的目的节点。通过以上手段,本发明能够保证在上述时间段内组播报文、广播报文和目的地址未知的单播报文不会因为链路中断而发生丢失,从而提高了RRPP环网的可靠性。并且,本发明还对主节点发生主端口链路故障的情况进行了相应处理,进一步完善了环网的故障保护。
附图说明
图1为现有技术的一种RRPP单域单环组网的结构示意图;
图2为现有技术的环网故障保护的示意图;
图3为本发明实施例1所述实现故障保护的方法的流程示意图;
图4为本发明实施例1中出现的环路示意图;
图5为本发明实施例所述第一节点的结构示意图;
图6为本发明实施例所述第二节点的结构示意图;
图7为本发明实施例所述第三节点的结构示意图。
具体实施方式
本发明用以解决现有技术在环网故障的切换过程中可能出现的数据报文丢失问题,由出现故障端口的故障节点将RRPP保护VLAN中的数据封装到RRPP备份VLAN中,通过RRPP备份VLAN转发到主节点,再由主节点将数据从备份VLAN中剥离到保护VLAN中,然后按照正常的转发路径,发送到目的节点,从而达到避免数据丢失,实现故障保护的目的。
以下将结合附图,通过具体实施例对本发明作进一步的说明。
<实施例1>
本实施例所述实现故障保护的方法,应用在RRPP单域单环的组网环境中。单域单环组网中,物理网络拓扑中仅包括一个RRPP环(即单环),且所述RRPP环上仅配置一个RRPP域(即单域),所述RRPP环的所有节点都配置在该RRPP域中。在所述RRPP域中仅包括一个RRPP环时,该RRPP环上的主节点就是该RRPP域的主节点,该RRPP环上的传输节点就是该RRPP域的传输节点。
如图3所示,本实施例所述方法,具体包括以下步骤:
步骤301,单环上的所有节点的所有RRPP端口均预先加入一备份VLAN。
这里,单环上的每个节点(包括主节点、传输节点)有且仅有两个RRPP端口,该两个RRPP端口互为对方的配对端口。预先定义一个备份VLAN,该备份VLAN的VLAN ID不同于RRPP控制VLAN和备份VLAN,环上所有的RRPP端口均加入到该备份VLAN中。
步骤302,所述RRPP域的第一传输节点在检测到自身第一RRPP端口的链路发生中断后,在转发保护VLAN中的数据报文时,在所述数据报文中增加所述备份VLAN的标签封装,再通过自身第二RRPP端口将所述数据报文转发出去,其中,所述数据报文包括组播报文、广播报文或目的MAC地址未知的单播报文。
这里,在所述数据报文中增加了一层备份VLAN的标签后,所述数据报文就包括有两层VLAN标签,其中里层为保护VLAN的标签,外层是备份VLAN的标签。封装有所述备份VLAN的标签的所述数据报文在经过所述RRPP域的其它传输节点时,触发所述其它传输节点执行以下操作:通过接收到所述数据报文的RRPP端口之外的另一RRPP端口,将所述数据报文转发出去。封装有所述备份VLAN的标签的所述数据报文在经过所述RRPP域的主节点时,触发所述主节点执行以下操作:将所述数据报文中的所述备份VLAN的标签剥离,再通过接收到所述数据报文的RRPP端口之外的另一RRPP端口,将所述数据报文转发出去。
这里,步骤302中检测到自身第一RRPP端口的链路发生中断,具体可以是第一RRPP端口出现故障,或者是第一RRPP端口所连接的链路出现故障。上述的第一传输节点可以是所述RRPP域的任一传输节点,所述的第一RRPP端口是第一传输节点两个RRPP端口中的任一RRPP端口,即这里的“第一”是泛指,而非特指。
步骤303,所述RRPP域的第二传输节点从自身第一RRPP端口上接收到包含有所述备份VLAN的标签封装的数据报文后,直接通过自身第二RRPP端口进行转发。封装有所述备份VLAN的标签的所述数据报文在经过所述RRPP域的主节点时,触发所述主节点执行以下操作:将所述数据报文中的所述备份VLAN的标签剥离,再通过接收到所述数据报文的RRPP端口之外的另一RRPP端口,将所述数据报文转发出去。
这里,所述第二传输节点可以是与所述第一传输节点直接连接的节点,也可以是通过其它节点与所述第一传输节点间接连接的节点。第二传输节点在其自身的一个RRPP端口上接收到所述数据报文后,直接通过自身另一RRPP端口将该数据报文转发出去。
步骤304,所述RRPP域的主节点从自身主端口和副端口中的一个RRPP端口上接收到所述数据报文后,先将所述数据报文中的所述备份VLAN的标签封装剥离,再通过自身主端口和副端口中的另一个RRPP端口将所述数据报文转发出去。此后,所述RRPP域的其它节点接收到所述主节点发送的所述数据报文后,将按照现有技术的正常转发方式进行转发,即根据所述MAC表项和ARP/ND表项进行转发,直至到达最终的目的节点或者被丢弃。
需要说明的是,本实施例仍然将应用现有技术中的Link Down通知机制:
所述第一传输节点在检测到自身第一RRPP端口的链路发生中断后,将通过自身第二RRPP端口向主节点发送LINK-DOWN报文;
所述主节点接收所述第一传输节点发送的LINK-DOWN报文,并在接收到所述LINK-DOWN报文后,放开自身副端口,刷新本地保存的MAC表项和ARP/ND表项,并通过自身主、副端口发送COMMON-FLUSH-FDB报文;
所述第一传输节点在接收到所述主节点发送的COMMON-FLUSH-FDB报文后,更新本地保存的MAC表项和ARP/ND表项,并在所述更新完成之后,对于所述保护VLAN中的数据报文,不再增加所述备份VLAN的标签封装,而是直接根据所述MAC表项和ARP/ND表项进行转发。
从以上所述可以看出,本实施例中从第一传输节点检测到链路故障,到第一传输节点接收到所述主节点发送的COMMON-FLUSH-FDB报文并更新本地保存的MAC表项和ARP/ND表项的这段时间段内,第一传输节点对于目的地址未知的单播数据报文,将在增加备份VLAN标签封装后,通过另一个处于活动(UP)状态的RRPP端口转发,并最终经由主节点剥去备份VLAN标签封装后发送到相应的目的节点。类似的,对于组播数据报文和广播数据报文,也将按照上述方式传输到环上的相应节点。可以看出,本实施例能够保证在上述时间段内组播报文、广播报文和目的地址未知的单播报文不会因为链路中断而发生丢失,从而提高了RRPP环网的可靠性。
上述实现故障保护的方法中,所述数据报文存在着环回的可能:例如,如图4所示,假设S3和S4之间的链路中断,S3按照上述步骤302,通过自身第2端口发送包括备份VLAN的标签封装的数据报文,该数据报文经过传输节点S2和主节点S1,并在主节点S1处被剥去备份VLAN的标签封装,然后由主节点的副端口(第2端口)发送到传输节点S6,甚至到达传输节点S5、S4。S6、S5和S4将根据本地保存的MAC表项和ARP/ND表项转发所述数据报文,假设所述数据报文在S6、S5和S4处转发时都没有下环(下环是指所述数据报文通过节点上RRPP端口之外的其它端口转发出去),则在S4处,所述数据报文将又被增加备份VLAN的封装标签,然后经过S4的第1端口、S5、S6、S1和S2,最终到达S3,如此在环上形成环路并反复传输,将会浪费链路带宽和设备处理资源。
为避免上述环路的形成,节约链路带宽和设备处理资源,本实施例进一步在主节点处从备份VLAN中学习MAC地址,而在传输节点处并不从备份VLAN中学习MAC地址,传输节点对于从自身一个RRPP端口上接收到的包括有所述备份VLAN的标签封装的数据报文后,始终是通过自身另一个RRPP端口直接转发。并且,在上述步骤304中,所述主节点从自身第一RRPP端口上接收到包括有所述备份VLAN的标签封装的数据报文后,通过以下处理方式,以避免出现数据报文的环路发生:
所述主节点从自身主端口和副端口中的一个RRPP端口上接收到所述数据报文后,根据所述数据报文的源MAC地址和备份VLAN ID,查找本地MAC转发表:
1)在本地MAC转发表中已存在VLAN ID为备份VLAN ID、源MAC地址为所述数据报文的源MAC地址、且出接口为所述一个RRPP端口的MAC转发表项时,将所述数据报文中的所述备份VLAN的标签封装剥离,再通过自身主端口和副端口中的另一个RRPP端口转发所述数据报文;
2)在本地MAC转发表中存在VLAN ID为备份VLAN ID、源MAC地址为所述数据报文的源MAC地址、且出接口为所述另一个RRPP端口的MAC转发表项时,丢弃所述数据报文;
3)在本地MAC转发表中不存在VLAN ID为备份VLAN ID、源MAC地址为所述数据报文的源MAC地址的任何MAC转发表项时,在本地MAC转发表中增加源MAC地址、且出接口为所述一个RRPP端口的MAC转发表项,并将所述数据报文中的所述备份VLAN的标签封装剥离,再通过所述另一个RRPP端口转发所述数据报文。
更进一步地,本实施例中,所述第一传输节点在接收到所述主节点发送的COMMON-FLUSH-FDB报文后,更新本地保存的MAC表项和ARP/ND表项,并在所述更新完成之后,所述第一传输节点还通过自身第二RRPP端口向所述主节点发送一个用于指示所述MAC表项和ARP/ND表项已更新的确认报文;所述主节点接收所述第一传输节点通过自身第二RRPP端口发送的用于指示所述MAC表项和ARP/ND表项已更新的确认报文,并在接收到所述确认报文之后,删除本地MAC转发表中保存的VLAN ID为备份VLAN ID的MAC转发表项。
通过上述处理,当所述数据报文第二次到达所述主节点时,由于主节点的本地MAC转发表中已存在VLAN ID为备份VLAN ID、源MAC地址为所述数据报文的源MAC地址、且出接口为所述另一个RRPP端口的MAC转发表项,因此将按照上述第2)项的处理方式,将所述数据报文丢弃,从而避免了数据报文的环路。
以下结合图2所示的RRPP组网环境,对本实施例作进一步的解释说明。
图2中,假设RRPP控制VLAN为VLAN 3,RRPP保护VLAN为VLAN100,有双向数据在S2与S5之间转发。S1~S6所有节点均将自身的两个RRPP端口加入到备份VLAN,备份VLAN为VLAN 5。当环网状态完整时,备份VLAN不转发数据。
以从传输节点S2发往传输节点S5,源MAC为SMAC-S2,目的MAC为DMAC-S5,携带VLAN ID为100的标签(TAG)的数据报文D1为例。假设图2中的传输节点S3与S4之间出现故障时,传输节点S3感知到自身的一个RRPP端口(假设为第1端口)状态变为失效(DOWN)状态,在端口DOWN后,S3将删除本地MAC转发表中出接口为所述第1端口的MAC转发表项,从而S3的保护VLAN中需要经过所述第1端口转发出去的数据报文都将成为目的MAC未知的数据报文,此时S3将从RRPP端口或其他普通端口(非RRPP端口)接收到的、需要在保护VLAN转发、但目的MAC未知的单播报文,广播报文和组播报文中再封装一层备份VLAN的标签封装(如果原数据报文已携带一层保护VLAN的标签,则封装后的数据报文具有双层VLAN标签),封装后的数据报文的源MAC和目的MAC保持不变;然后,传输节点S3将封装后的数据报文D1直接从与第1端口配对的状态为UP的RRPP端口(即第2端口)转发出去。考虑到故障保护的时效性,节点对端口故障的侦测和转发,优选地通过硬件来实现联动处理。
当所述RRPP域的其它传输节点,从其自身一个RRPP端口接收到携带备份VLAN标签的数据报文D1时,直接将该数据报文重定向到配对的RRPP端口(即两个RRPP端口中的另一个RRPP端口),如图2中,传输节点S2从一个RRPP端口(端口1)接收到从S3转发过来的携带备份VLAN标签的数据报文D1后,直接从配对的RRPP端口(端口2)转发出去。
RRPP主节点从主端口和副端口中的一个RRPP端口上,接收到携带备份VLAN标签的数据报文后,首先检查报文的源MAC,并判断:
1)如果主节点的MAC转发表中未存在VLAN ID为备份VLAN ID、源MAC地址为所述数据报文的源MAC地址的MAC转发表项,则新生成一条MAC转发表项,该MAC转发表项的VLAN ID为备份VLAN ID,出接口为接收该数据报文的RRPP端口,且为动态表项(具有一老化时间);并将所述数据报文中的备份VLAN的标签剥离,然后重定向到主端口和副端口中的另一个RRPP端口,从该RRPP端口直接转发出去。如图2中,主节点S1的主端口1接收到从S2转发过来的携带备份VLAN标签的数据报文D1,主节点S1判断本地MAC转发表中是否已存在VLAN ID为VLAN 5、源MAC为SMAC-S2的MAC转发表项,如果没有,则生成下表中的第1表项,其中Ethernet1/1就是主节点的主端口1,AGING TIME表示老化时间。下表中的第2表项是主节点从RRPP保护VLAN中学习到的。
MAC地址 | VLAN ID | STATE | PORT INDEX | AGING TIME | |
1 | SMAC-S2 | 5 | Learned | Ethernet1/1 | AGING |
2 | SMAC-S2 | 100 | Learned | Ethernet1/1 | AGING |
表1
2)如果主节点的MAC转发表中存在VLAN ID为备份VLAN ID、源MAC地址为所述数据报文的源MAC地址的MAC转发表项,则进一步判断该MAC转发表项的出接口是否为接收该数据报文的RRPP端口:如果不是,则直接将该数据报文丢弃;否则,则将报文中的备份VLAN的标签剥离,然后重定向到主端口和副端口中的另一个RRPP端口,从该RRPP端口直接转发出去。
RRPP域的传输节点接收到剥去备份VLAN的标签的数据报文后,依据节点本身的MAC表项和ARP/ND表项进行转发,直到转发到正确的目的节点。如图2中,传输节点S6中,目的MAC为DMAC-S5的数据报文D1的出接口为RRPP端口2,数据报文D1就从该端口2转发出去;传输节点S5中,目的MAC为DMAC-S5的出接口为非RRPP端口的其他普通端口,于是D1报文就向该出接口转发,不再在RRPP环转发。
<实施例2>
本实施例进一步考虑主节点的主端口链路中断后的故障保护处理。
实施例1说明了本发明在所述RRPP域的第一传输节点的端口链路中断后的处理流程。除了传输节点,所述RRPP域的主节点的主端口也可能发生端口链路中断。本实施例中,假设所述RRPP域的主节点的主端口和第一传输节点的第一RRPP端口直接连接,在所述主节点与第一传输节点之间的链路中断后,所述第一传输节点将检测到自身第一RRPP端口的链路发生中断,此后所述第一传输节点的处理方式与实施例1中相同;所述主节点也将检测到自身主端口的链路发生中断,此时的处理流程稍有不同,以下进行详细说明
本实施例中,所述实现故障保护的方法,应用在RRPP单域单环的组网环境中,具体包括:
步骤401,所述RRPP单环上的所有节点的所有RRPP端口均预先加入一备份VLAN。
步骤402,RRPP域的第一传输节点与主节点之间的链路发生中断,第一传输节点在检测到自身第一RRPP端口的链路发生中断后,在转发保护VLAN中的数据报文时,在所述数据报文中增加所述备份VLAN的标签封装,再通过自身第二RRPP端口将所述数据报文转发出去,其中,所述数据报文包括组播报文、广播报文或目的MAC地址未知的单播报文;主节点在在检测到自身主端口的链路发生中断后,按照与现有技术相同的处理方式,立即放开自身副端口,刷新本地保存的MAC表项和ARP/ND表项,从而RRPP保护VLAN的数据报文可以从副端口进行转发;
步骤403,第一传输节点发送的包含有所述备份VLAN的标签封装的数据报文,将按照实施例1中相同的方式到达所述主节点的副端口,主节点从自身副端口接收到第一传输节点发送的包含有所述备份VLAN的标签封装的数据报文后,判断自身主端口的链路是否发生中断:若是,则进入步骤404;否则进入步骤405。
步骤404,主节点判断出自身主端口的链路没有发生中断,此时所述主节点将所述数据报文中的所述备份VLAN的标签封装剥离后,再根据本地MAC表项和ARP/ND表项,转发所述数据报文。
步骤405,主节点判断出自身主端口的链路发生中断,此时所述主节点将所述数据报文中的所述备份VLAN的标签封装剥离后,再通过自身副端口将所述数据报文转发出去。此后,所述RRPP域的其它节点接收到所述主节点发送的所述数据报文后,将按照现有技术的正常转发方式进行转发,即根据所述MAC表项和ARP/ND表项进行转发,直至到达最终的目的节点或者被丢弃。
这里,上述步骤405与实施例1中的步骤304的处理方式相同,主节点在上述步骤405中还可以进一步从备份VLAN中学习MAC地址;而上述步骤404中主节点并不从备份VLAN中学习MAC地址,而是直接剥去备份VLAN的标签封装,然后直接根据本地MAC表项和ARP/ND表项进行转发,其原因在于:主节点的主端口已经发生链路中断后,主节点收到的包含有备份VLAN标签的数据报文都是从自身副端口上接收到的由其它传输节点发送的报文;由于主节点的主端口已经发生链路中断,此时如果将报文通过主端口进行转发将导致报文丢失,而将其备份VLAN标签拨去后,再根据主节点本地MAC表项和ARP/ND表项进行转发,可以保证该报文在环上得到恰当的转发处理,不会因为链路中断而发生丢失。
这里,需要指出的是,以上实施例1、2都是以单域单域的RRPP组网环境为例说明本发明。但是,本发明并不仅限于应用在单域单环的组网环境中,本发明还可以应用在多域单环的RRPP组网环境中。
多域单环的组网环境中,物理网络拓扑中仅包括一个RRPP环(即单环),且所述RRPP环上配置有多个RRPP域(即多域),不同RRPP域转发不同的保护VLAN的流量,以实现不同保护VLAN的数据流量在该环网中有不同的转发路径,从而达到负载分担的目的。
本发明所述实现故障保护的方法,在应用在多域单环的组网环境中时,对于每一个RRPP域,其实现流程与在单域单环组网环境下的实现流程完全相同。假设单环上配置有两个以上的RRPP域时,且第一RRPP域和第二RRPP域的主节点不相同。例如,对于第一RRPP应用本发明所述方法时,第二RRPP域的主节点其实是第一RRPP域的传输节点,因此,第二RRPP域的主节点,对携带有第一RRPP域的备份VLAN标签封装的数据报文,仍然是按照上述实施例1中的步骤303中的处理方式进行处理,并没有其它任何区别。
<实施例3>
基于以上各个实施例所提供的实现故障保护的方法,本实施例提供了用以实施上述方法的装置。
本实施例提供了一种RRPP单环上的第一节点,所述单环上配置有一RRPP域,且所述第一节点是所述RRPP域中的传输节点,如图5所示,所述第一节点包括检测单元和报文转发单元,其中,
所述检测单元,用于检测本第一节点的RRPP端口的链路是否发生中断,并在检测到本第一节点的第一RRPP端口的链路发生中断后,触发所述报文转发单元;
所述报文转发单元,用于在接收到所述检测单元的触发后,在转发保护VLAN中的数据报文时,在所述数据报文中增加备份VLAN的标签封装,再通过自身第二RRPP端口将所述数据报文转发出去,其中,所述备份VLAN是所述单环上的所有节点的所有RRPP端口均预先加入的一个VLAN,所述数据报文包括组播报文、广播报文或目的MAC地址未知的单播报文;
封装有所述备份VLAN的标签的所述数据报文在经过所述RRPP域的其它传输节点时,触发所述其它传输节点执行以下操作:通过接收到所述数据报文的RRPP端口之外的另一RRPP端口,将所述数据报文转发出去;
封装有所述备份VLAN的标签的所述数据报文在经过所述RRPP域的主节点时,触发所述主节点执行以下操作:将所述数据报文中的所述备份VLAN的标签剥离,再通过接收到所述数据报文的RRPP端口之外的另一RRPP端口,将所述数据报文转发出去。
优选地,上述第一节点,还包括:
故障报告单元,用于在所述检测单元检测到本第一节点的第一RRPP端口的链路发生中断后,通过本第一节点的第二RRPP端口向所述RRPP域的主节点发送LINK-DOWN报文;
表项更新单元,用于接收所述主节点发送的COMMON-FLUSH-FDB报文,并在接收到所述COMMON-FLUSH-FDB报文后,更新本地保存的MAC表项和ARP/ND表项,并在所述更新完成之后,触发所述报文转发单元;
所述报文转发单元,还用于在接收到所述表项更新单元的触发后,对于所述保护VLAN中的数据报文,不再增加所述备份VLAN的标签封装,而是直接根据所述MAC表项和ARP/ND表项进行转发。
优选地,上述第一节点中,所述表项更新单元,还用于在更新本地保存的MAC表项和ARP/ND表项之后,通过本第一节点的第二RRPP端口向所述主节点发送一个用于指示所述MAC表项和ARP/ND表项已更新的确认报文。
其中,如图6所示,本实施例提供了一种RRPP单环组网中的第二节点,所述单环上配置有一RRPP域,且所述第二节点是所述RRPP域中的传输节点,所述第二节点包括:
报文接收单元,用于从本第二节点的第一RRPP端口上接收数据报文,所述数据报文是所述RRPP域的其它传输节点在自身第一RRPP端口的链路发生中断后,对保护VLAN中的组播报文、广播报文或目的MAC地址未知的单播报文增加备份VLAN的标签封装后,通过自身第二RRPP端口发出的报文,所述备份VLAN是所述单环上的所有节点的所有RRPP端口均预先加入的一个VLAN;
报文转发单元,用于对包含有所述备份VLAN的标签封装的所述数据报文,直接通过自身第二RRPP端口进行转发;
其中,封装有所述备份VLAN的标签的所述数据报文在经过所述单环上的主节点时,触发所述主节点执行以下操作:将所述数据报文中的所述备份VLAN的标签剥离,再通过接收到所述数据报文的RRPP端口之外的另一RRPP端口,将所述数据报文转发出去。
其中,如图7所示,本实施例提供了一种RRPP单环上的第三节点,所述单环上配置有一RRPP域,且所述第三节点是所述RRPP域中的主节点,所述第三节点包括报文接收单元和第一报文转发单元;
所述报文接收单元,用于从本第三节点的主端口和副端口中的一个RRPP端口上接收数据报文,并在接收到所述数据报文后,触发所述第一报文转发单元,其中所述数据报文是所述RRPP域的传输节点在自身第一RRPP端口的链路发生中断后,对保护VLAN中的组播报文、广播报文或目的MAC地址未知的单播报文增加备份VLAN的标签封装后,通过自身第二RRPP端口发出的报文,所述备份VLAN是所述单环上的所有节点的所有RRPP端口均预先加入的一个VLAN;
所述第一报文转发单元,用于根据所述报文接收单元的触发,将所述数据报文中的所述备份VLAN的标签封装剥离后,再通过本第三节点的主端口和副端口中的另一个RRPP端口将所述数据报文转发出去。
优选地,上述第三节点中,所述第一报文转发单元包括:
查找子单元,用于根据所述数据报文的源MAC地址和备份VLAN ID,查找本地MAC转发表;
第一转发子单元,用于在本地MAC转发表中已存在VLAN ID为备份VLAN ID、源MAC地址为所述数据报文的源MAC地址、且出接口为一个RRPP端口的MAC转发表项时,将所述数据报文中的所述备份VLAN的标签封装剥离,再通过所述另一个RRPP端口转发所述数据报文;
第二转发子单元,用于在本地MAC转发表中存在VLAN ID为备份VLANID、源MAC地址为所述数据报文的源MAC地址、且出接口为所述另一个RRPP端口的MAC转发表项时,丢弃所述数据报文;
第三转发子单元,用于在本地MAC转发表中不存在VLAN ID为备份VLAN ID、源MAC地址为所述数据报文的源MAC地址的任何MAC转发表项时,在本地MAC转发表中增加源MAC地址、且出接口为所述一个RRPP端口的MAC转发表项,并将所述数据报文中的所述备份VLAN的标签封装剥离,再通过所述另一个RRPP端口转发所述数据报文。
优选地,上述第三节点中,还包括:
故障处理单元,用于接收所述RRPP域的传输节点发送的LINK-DOWN报文,并在接收到所述LINK-DOWN报文后,放开本第三节点的副端口,刷新本地保存的MAC表项和ARP/ND表项,并通过本第三节点的主、副端口发送COMMON-FLUSH-FDB报文;
表项维护单元,用于接收所述RRPP域的传输节点发送的用于指示所述MAC表项和ARP/ND表项已更新的确认报文,并在接收到所述确认报文之后,删除本地MAC转发表中保存的VLAN ID为备份VLAN ID的MAC转发表项。
优选地,如图7所示,上述第三节点中,还包括第二报文转发单元;
所述报文接收单元,还用于在接收到所述数据报文后,判断本第三节点的主端口的链路是否发生中断:若是,则触发所述第二报文转发单元;否则触发所述第一报文转发单元;
所述第二报文转发单元,用于将所述数据报文中的所述备份VLAN的标签封装剥离后,再根据本地MAC表项和ARP/ND表项,转发所述数据报文。
综上所述,本发明实施例提供的在RRPP单域单环组网中实现故障保护的方法及设备,在环上链路中断后,通过将数据报文封装在预定定义的一个备份VLAN中进行传输,各个节点按照特定的处理方式对该数据报文进行处理,使得RRPP环在故障切换时,不会出现数据报文丢失,从而提高了RRPP环网的可靠性。
以上所述仅是本发明的实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (16)
1.一种快速环网保护协议RRPP单环组网中实现故障保护的方法,所述单环上配置有一RRPP域,其特征在于,所述方法包括:
所述RRPP域的第一传输节点在检测到自身第一RRPP端口的链路发生中断到接收到所述RRPP域的主节点发送的COMMON-FLUSH-FDB报文并更新本地保存的MAC表项和ARP/ND表项的时间段内,在转发保护VLAN中的数据报文时,在所述数据报文中增加备份VLAN的标签封装,再通过自身第二RRPP端口将所述数据报文转发出去,其中,所述备份VLAN是所述单环上的所有节点的所有RRPP端口均预先加入的一个VLAN,所述数据报文包括组播报文、广播报文或目的MAC地址未知的单播报文;
封装有所述备份VLAN的标签的所述数据报文在经过所述RRPP域的其它传输节点时,触发所述其它传输节点执行以下操作:通过接收到所述数据报文的RRPP端口之外的另一RRPP端口,将所述数据报文转发出去;
封装有所述备份VLAN的标签的所述数据报文在经过所述RRPP域的主节点时,触发所述主节点执行以下操作:将所述数据报文中的所述备份VLAN的标签剥离,再通过接收到所述数据报文的RRPP端口之外的另一RRPP端口,将所述数据报文转发出去。
2.如权利要求1所述的方法,其特征在于,还包括:
所述第一传输节点在检测到自身第一RRPP端口的链路发生中断后,进一步通过自身第二RRPP端口向所述主节点发送LINK-DOWN报文,并在接收到所述主节点发送的COMMON-FLUSH-FDB报文后,更新本地保存的MAC表项和ARP/ND表项,并在所述更新完成之后,对于所述保护VLAN中的数据报文,不再增加所述备份VLAN的标签封装,而是直接根据所述MAC表项和ARP/ND表项进行转发。
3.如权利要求2所述的方法,其特征在于,在更新本地保存的MAC表项和ARP/ND表项之后,所述第一传输节点还通过自身第二RRPP端口向所述主节点发送一个用于指示所述MAC表项和ARP/ND表项已更新的确认报文。
4.一种快速环网保护协议RRPP单环组网中实现故障保护的方法,所述单环上配置有一RRPP域,其特征在于,所述方法包括:
所述RRPP域的第二传输节点从自身第一RRPP端口上接收数据报文,所述数据报文是所述RRPP域的第一传输节点在自身第一RRPP端口的链路发生中断到接收到所述RRPP域的主节点发送的COMMON-FLUSH-FDB报文并更新本地保存的MAC表项和ARP/ND表项的时间段内,对保护VLAN中的组播报文、广播报文或目的MAC地址未知的单播报文增加备份VLAN的标签封装后,通过自身第二RRPP端口发出的报文,其中,所述备份VLAN是所述单环上的所有节点的所有RRPP端口均预先加入的一个VLAN;
所述第二传输节点对包含有所述备份VLAN的标签封装的所述数据报文,直接通过自身第二RRPP端口进行转发。
5.一种快速环网保护协议RRPP单环组网中实现故障保护的方法,所述单环上配置有一RRPP域,其特征在于,所述方法包括:
步骤A,所述RRPP域的主节点从自身主端口和副端口中的一个RRPP端口上接收数据报文,所述数据报文是所述RRPP域的第一传输节点在自身第一RRPP端口的链路发生中断到接收到所述RRPP域的主节点发送的COMMON-FLUSH-FDB报文并更新本地保存的MAC表项和ARP/ND表项的时间段内,对保护VLAN中的组播报文、广播报文或目的MAC地址未知的单播报文增加备份VLAN的标签封装后,通过自身第二RRPP端口发出的报文,其中,所述备份VLAN是所述单环上的所有节点的所有RRPP端口均预先加入的一个VLAN;
步骤B,所述主节点将所述数据报文中的所述备份VLAN的标签封装剥离后,再通过自身主端口和副端口中的另一个RRPP端口将所述数据报文转发出去。
6.如权利要求5所述的方法,其特征在于,所述步骤B具体包括:
所述主节点根据所述数据报文的源MAC地址和备份VLANID,查找本地MAC转发表:
在本地MAC转发表中已存在VLANID为备份VLANID、源MAC地址为所述数据报文的源MAC地址、且出接口为所述一个RRPP端口的MAC转发表项时,将所述数据报文中的所述备份VLAN的标签封装剥离,再通过所述另一个RRPP端口转发所述数据报文;
在本地MAC转发表中存在VLANID为备份VLANID、源MAC地址为所述数据报文的源MAC地址、且出接口为所述另一个RRPP端口的MAC转发表项时,丢弃所述数据报文;
在本地MAC转发表中不存在VLANID为备份VLANID、源MAC地址为所述数据报文的源MAC地址的MAC转发表项时,在本地MAC转发表中增加源MAC地址、且出接口为所述一个RRPP端口的MAC转发表项,并将所述数据报文中的所述备份VLAN的标签封装剥离,再通过所述另一个RRPP端口转发所述数据报文。
7.如权利要求6所述的方法,其特征在于,还包括:
所述主节点接收所述第一传输节点发送的LINK-DOWN报文,并在接收到所述LINK-DOWN报文后,放开自身副端口,刷新MAC表项和ARP/ND表项,并通过自身主、副端口发送COMMON-FLUSH-FDB报文;
以及,所述主节点接收所述第一传输节点发送的用于指示所述MAC表项和ARP/ND表项已更新的确认报文,并在接收到所述确认报文之后,删除本地MAC转发表中保存的VLANID为备份VLANID的MAC转发表项。
8.如权利要求5、6或7所述的方法,其特征在于,所述步骤A、B之间还包括:
所述主节点判断自身主端口的链路是否发生中断:若是,则进入步骤C;否则进入步骤B;
步骤C,所述主节点将所述数据报文中的所述备份VLAN的标签封装剥离后,再根据本地MAC表项和ARP/ND表项,转发所述数据报文。
9.一种快速环网保护协议RRPP单环上的第一节点,所述单环上配置有一RRPP域,且所述第一节点是所述RRPP域中的传输节点,其特征在于,所述第一节点包括检测单元和报文转发单元,其中,
所述检测单元,用于检测本第一节点的RRPP端口的链路是否发生中断,并在检测到本第一节点的第一RRPP端口的链路发生中断到接收到所述RRPP域的主节点发送的COMMON-FLUSH-FDB报文并更新本地保存的MAC表项和ARP/ND表项的时间段内,触发所述报文转发单元;
所述报文转发单元,用于在接收到所述检测单元的触发后,在转发保护VLAN中的数据报文时,在所述数据报文中增加备份VLAN的标签封装,再通过自身第二RRPP端口将所述数据报文转发出去,其中,所述备份VLAN是所述单环上的所有节点的所有RRPP端口均预先加入的一个VLAN,所述数据报文包括组播报文、广播报文或目的MAC地址未知的单播报文;
封装有所述备份VLAN的标签的所述数据报文在经过所述RRPP域的其它传输节点时,触发所述其它传输节点执行以下操作:通过接收到所述数据报文的RRPP端口之外的另一RRPP端口,将所述数据报文转发出去;
封装有所述备份VLAN的标签的所述数据报文在经过所述RRPP域的主节点时,触发所述主节点执行以下操作:将所述数据报文中的所述备份VLAN的标签剥离,再通过接收到所述数据报文的RRPP端口之外的另一RRPP端口,将所述数据报文转发出去。
10.如权利要求9所述的第一节点,其特征在于,还包括:
故障报告单元,用于在所述检测单元检测到本第一节点的第一RRPP端口的链路发生中断后,通过本第一节点的第二RRPP端口向所述RRPP域的主节点发送LINK-DOWN报文;
表项更新单元,用于接收所述主节点发送的COMMON-FLUSH-FDB报文,并在接收到所述COMMON-FLUSH-FDB报文后,更新本地保存的MAC表项和ARP/ND表项,并在所述更新完成之后,触发所述报文转发单元;
所述报文转发单元,还用于在接收到所述表项更新单元的触发后,对于所述保护VLAN中的数据报文,不再增加所述备份VLAN的标签封装,而是直接根据所述MAC表项和ARP/ND表项进行转发。
11.如权利要求10所述的第一节点,其特征在于,
所述表项更新单元,还用于在更新本地保存的MAC表项和ARP/ND表项之后,通过本第一节点的第二RRPP端口向所述主节点发送一个用于指示所述MAC表项和ARP/ND表项已更新的确认报文。
12.一种快速环网保护协议RRPP单环上的第二节点,所述单环上配置有一RRPP域,且所述第二节点是所述RRPP域中的传输节点,其特征在于,所述第二节点包括:
报文接收单元,用于从本第二节点的第一RRPP端口上接收数据报文,所述数据报文是所述RRPP域的其它传输节点在自身第一RRPP端口的链路发生中断到接收到所述RRPP域的主节点发送的COMMON-FLUSH-FDB报文并更新本地保存的MAC表项和ARP/ND表项的时间段内,对保护VLAN中的组播报文、广播报文或目的MAC地址未知的单播报文增加备份VLAN的标签封装后,通过自身第二RRPP端口发出的报文,所述备份VLAN是所述单环上的所有节点的所有RRPP端口均预先加入的一个VLAN;
报文转发单元,用于对包含有所述备份VLAN的标签封装的所述数据报文,直接通过自身第二RRPP端口进行转发。
13.一种快速环网保护协议RRPP单环上的第三节点,所述单环上配置有一RRPP域,且所述第三节点是所述RRPP域中的主节点,其特征在于,所述第三节点包括报文接收单元和第一报文转发单元;
所述报文接收单元,用于从本第三节点的主端口和副端口中的一个RRPP端口上接收数据报文,并在接收到所述数据报文后,触发所述第一报文转发单元,其中所述数据报文是所述RRPP域的传输节点在自身第一RRPP端口的链路发生中断到接收到所述RRPP域的主节点发送的COMMON-FLUSH-FDB报文并更新本地保存的MAC表项和ARP/ND表项的时间段内,对保护VLAN中的组播报文、广播报文或目的MAC地址未知的单播报文增加备份VLAN的标签封装后,通过自身第二RRPP端口发出的报文,所述备份VLAN是所述单环上的所有节点的所有RRPP端口均预先加入的一个VLAN;
所述第一报文转发单元,用于根据所述报文接收单元的触发,将所述数据报文中的所述备份VLAN的标签封装剥离后,再通过本第三节点的主端口和副端口中的另一个RRPP端口将所述数据报文转发出去。
14.如权利要求13所述的第三节点,其特征在于,所述第一报文转发单元包括:
查找子单元,用于根据所述数据报文的源MAC地址和备份VLAN ID,查找本地MAC转发表;
第一转发子单元,用于在本地MAC转发表中已存在VLAN ID为备份VLAN ID、源MAC地址为所述数据报文的源MAC地址、且出接口为一个RRPP端口的MAC转发表项时,将所述数据报文中的所述备份VLAN的标签封装剥离,再通过所述另一个RRPP端口转发所述数据报文;
第二转发子单元,用于在本地MAC转发表中存在VLAN ID为备份VLANID、源MAC地址为所述数据报文的源MAC地址、且出接口为所述另一个RRPP端口的MAC转发表项时,丢弃所述数据报文;
第三转发子单元,用于在本地MAC转发表中不存在VLAN ID为备份VLAN ID、源MAC地址为所述数据报文的源MAC地址的任何MAC转发表项时,在本地MAC转发表中增加源MAC地址、且出接口为所述一个RRPP端口的MAC转发表项,并将所述数据报文中的所述备份VLAN的标签封装剥离,再通过所述另一个RRPP端口转发所述数据报文。
15.如权利要求14所述的第三节点,其特征在于,还包括:
故障处理单元,用于接收所述RRPP域的传输节点发送的LINK-DOWN报文,并在接收到所述LINK-DOWN报文后,放开本第三节点的副端口,刷新本地保存的MAC表项和ARP/ND表项,并通过本第三节点的主、副端口发送COMMON-FLUSH-FDB报文;
表项维护单元,用于接收所述RRPP域的传输节点发送的用于指示所述MAC表项和ARP/ND表项已更新的确认报文,并在接收到所述确认报文之后,删除本地MAC转发表中保存的VLAN ID为备份VLAN ID的MAC转发表项。
16.如权利要求13、14或15所述的第三节点,其特征在于,还包括第二报文转发单元;
所述报文接收单元,还用于在接收到所述数据报文后,判断本第三节点的主端口的链路是否发生中断:若是,则触发所述第二报文转发单元;否则触发所述第一报文转发单元;
所述第二报文转发单元,用于将所述数据报文中的所述备份VLAN的标签封装剥离后,再根据本地MAC表项和ARP/ND表项,转发所述数据报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102372402A CN102055658B (zh) | 2009-11-05 | 2009-11-05 | 快速环网保护协议单环组网中实现故障保护的方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102372402A CN102055658B (zh) | 2009-11-05 | 2009-11-05 | 快速环网保护协议单环组网中实现故障保护的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102055658A CN102055658A (zh) | 2011-05-11 |
CN102055658B true CN102055658B (zh) | 2013-01-16 |
Family
ID=43959609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102372402A Expired - Fee Related CN102055658B (zh) | 2009-11-05 | 2009-11-05 | 快速环网保护协议单环组网中实现故障保护的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102055658B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291288B (zh) * | 2011-08-08 | 2015-03-11 | 浙江宇视科技有限公司 | 基于rrpp环的流量切换方法及其装置 |
CN103684835B (zh) * | 2012-09-24 | 2017-02-08 | 华为技术有限公司 | 链路故障上报方法、处理方法、传输节点及主节点 |
CN102882757B (zh) * | 2012-09-25 | 2015-01-28 | 华为技术有限公司 | 环网中点到多点业务的保护方法及环网中的上环节点 |
CN104427385A (zh) * | 2013-08-22 | 2015-03-18 | 北京卓越信通电子股份有限公司 | 视频编码装置、车载视频播放系统及环网运行方法 |
CN105392132B (zh) * | 2015-10-29 | 2019-01-18 | 华讯方舟科技有限公司 | 一种端口数据分离方法和装置 |
CN106998298A (zh) * | 2016-01-22 | 2017-08-01 | 中兴通讯股份有限公司 | 环网节点的mac地址转发表更新方法及装置 |
CN107835126B (zh) * | 2017-10-19 | 2021-08-24 | 苏州盛科通信股份有限公司 | 一种报文转发方法及系统 |
CN116248583A (zh) * | 2023-01-03 | 2023-06-09 | 重庆长安汽车股份有限公司 | 车载控制器的通信冗余配置方法、装置、车辆及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6795394B1 (en) * | 2000-04-26 | 2004-09-21 | Nortel Networks Limited | Data network having enhanced availability of extra traffic |
CN101022390A (zh) * | 2007-03-21 | 2007-08-22 | 华为技术有限公司 | 一种对双归接入的rrpp环网的保护方法、系统和设备 |
CN101075934A (zh) * | 2007-03-06 | 2007-11-21 | 中兴通讯股份有限公司 | 保障以太环网在传输节点故障时可靠运行的方法及装置 |
CN101729182A (zh) * | 2009-11-24 | 2010-06-09 | 中兴通讯股份有限公司 | 单纤双向环网保护方法、系统及装置 |
-
2009
- 2009-11-05 CN CN2009102372402A patent/CN102055658B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6795394B1 (en) * | 2000-04-26 | 2004-09-21 | Nortel Networks Limited | Data network having enhanced availability of extra traffic |
CN101075934A (zh) * | 2007-03-06 | 2007-11-21 | 中兴通讯股份有限公司 | 保障以太环网在传输节点故障时可靠运行的方法及装置 |
CN101022390A (zh) * | 2007-03-21 | 2007-08-22 | 华为技术有限公司 | 一种对双归接入的rrpp环网的保护方法、系统和设备 |
CN101729182A (zh) * | 2009-11-24 | 2010-06-09 | 中兴通讯股份有限公司 | 单纤双向环网保护方法、系统及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102055658A (zh) | 2011-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102055658B (zh) | 快速环网保护协议单环组网中实现故障保护的方法及设备 | |
CN100454880C (zh) | 一种实现环网保护的方法及系统 | |
CN101652963B (zh) | 重配通信网络的方法 | |
CN102904818B (zh) | 一种arp信息表项更新方法及装置 | |
CN101068185B (zh) | 以太环网报文处理方法及应用该方法的以太环网保护系统 | |
CN101662421B (zh) | 基于以太多环网的控制报文的传输方法和装置 | |
CN101854283B (zh) | 一种rpr环网的通信方法和设备 | |
CN101227371B (zh) | 同级交换机设备间的备份切换方法和装置 | |
TW200421777A (en) | High availability Ethernet backplane architecture | |
CN101094190B (zh) | 以太环网保护控制报文的传输方法 | |
CN101141381B (zh) | 网络节点及其所在环网减少媒介接入控制地址学习的方法 | |
CN112995041B (zh) | 网络通信方法、装置、电子设备及存储介质 | |
US20080298371A1 (en) | Relay apparatus capable of preventing mistaken learning of mac address learning table | |
CN101873244A (zh) | 一种多环路自动保护的方法 | |
CN102932183B (zh) | 双上行链路故障处理方法及设备 | |
CN103873333A (zh) | 环网三层收敛方法及装置 | |
US11516119B2 (en) | System, method, and device for communication between network segments | |
WO2010031295A1 (zh) | 一种以太网故障恢复的控制方法 | |
CN104135417A (zh) | 一种以太环网链路中断快速恢复的方法及相应的以太环网 | |
CN101641915B (zh) | 重构通信网络的方法 | |
CN102035695A (zh) | 双向转发检测方法及装置 | |
CN102238067A (zh) | 一种快速环网保护协议环上的切换方法和装置 | |
CN101557333B (zh) | 一种双归属组网中环路故障的处理方法及节点设备 | |
CN112995002A (zh) | 一种交换机环网的设计方法、交换机及存储介质 | |
CN100550812C (zh) | 提高快速环网可靠性的方法、系统和节点设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |
|
CP03 | Change of name, title or address | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130116 Termination date: 20191105 |
|
CF01 | Termination of patent right due to non-payment of annual fee |