基于rrpp环的流量切换方法及其装置的制作方法

文档序号:7745690阅读:137来源:国知局
专利名称:基于rrpp环的流量切换方法及其装置的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及基于RRPP环的流量切换方法及其装置。
背景技术
RRPP (Rapid Ring Protection Protocol,快速环网保护协议)是专门应用于以太网环的链路层协议。它在以太网环完整时能够防止数据环路引起的广播风暴,而当以太网环上一条链路断开时能迅速恢复环网上各个节点之间的通信链路。其中,以太网环是指环形连接的以太网网络拓扑,RRPP域中的环分为主环和子环,图1示出了一种单环RRPP组网结构。RRPP的基本概念主要包括-RRPP 域具有相同的域 ID 和控制 VLAN (Virtual Local Area Network,虚拟局域网),并且相互连通的交换机构成一个RRPP域。一个RRPP域具有控制VLAN、主节点、传输
节点、主端口和副端口等要素。-RRPP环一个环形连接的以太网网络拓扑称为一个RRPP环。RRPP环分为主环和子环。RRPP环的状态有以下两种健康状态(Complete)整个环网物理链路是连通的;断裂状态(Failed)环网中某处物理链路断开。-控制VLAN和数据VLAN控制VLAN 用来传递RRPP协议报文。每个交换机上接入RRPP环的端口都属于控制VLAN,且只有接入RRPP环的端口可加入此VLAN,此VLAN的接口上不允许配置IP地址。数据VLAN 用来传输数据报文,这种VLAN中包含交换机接入以太网环网的端口和其他端口。-主节点和传输节点主节点每个环上有且仅有一个主节点,它是发起环路探测和进行环路预防的主要操作节点。传输节点主环上除主节点以外的其它所有节点。传输节点负责监测自己的直连 RRPP链路的状态,并把链路变化通知主节点,然后由主节点来决策如何处理。-主端口和副端口主节点和传输节点各自有两个端口接入RRPP环,其中一个为主端口,另一个为副端口。主节点的主端口用来发送探测环路的报文,副端口用来接收该报文。传输节点的主端口和副端口在功能上没有区别,都用于RRPP环上协议报文和数据报文的传输。-RRPP协议报文Hello (健康检测报文)由主节点发起,对网络进行环路完整性检测;Link-UP (链路UP报文)由传输节点发起,通知主节点有链路UP ;Link-Down (链路Down报文)由传输节点发起,通知主节点有端口 Down,环路消失;
Common-Flush-FDB 由主节点发起,FDB 是 Forwarding Database (转发数据库) 的缩写,通知传输节点更新各自MAC (Media Access Control,媒体接入控制)地址转发表;Complete-Flush-FDB 由主节点发起,通知传输节点更新各自MAC地址转发表,同时通知传输节点解除临时阻塞端口的阻塞状态。-MAC地址转发表交换机上的二层转发表,由交换机的源MAC地址学习的功能来更新。-RRPP 定时器Hello定时器定义主节点端口发送健康检测报文的时间间隔的定时器。Fail定时器定义主节点副端口接收健康检测报文的超时时间的定时器。RRPP的运行机制主要包括主节点根据Hello定时器周期性地从其主端口发送Hello报文,依次经过各传输节点在环上传播。如果环路是健康的,主节点的副端口将在i^il定时器超时前收到Hello 报文,主节点将保持副端口的阻塞状态。如果环路是断裂的,主节点的副端口在hil定时器超时前无法收到Hello报文,主节点将解除数据VLAN在副端口的阻塞状态,同时发送 Common-Flush-FDB报文通知所有传输节点,使其更新各自的MAC地址转发表。当传输节点发现自己的端口 down时,立刻发送Link-Down报文给主节点。主节点收到Link-Down报文后立刻解除数据VLAN在其副端口的阻塞状态,并别从主、副端口向外发送Common-Flush-FDB报文通知所有传输节点,使其更新各自的MAC地址转发表。各节点更新表项后,数据流则切换到正常的链路上。当传输节点上的端口重新up后,立即将其临时阻塞(只允许控制VLAN的报文通过),主节点发现环路恢复后迁移到Complete状态并解除该端口的阻塞状态。发明人在实现本发明的过程中,发现现有技术至少存在以下问题RRPP环上进行流量切换时会出现短时丢包。以图1中的网络架构用于视频监控系统为例,其中的传输节点为编码器,当传输节点C、D之间链路断开,假设传输节点B、F各自有一条流在发送,则传输节点F的流会因为链路断开的原因而丢包,此时主节点收到上报的Link-Down报文后会放开阻塞的副端口, 并发送Common-Flush-FDB报文。当传输节点B、F收到后会各自更新自己的MAC地址转发表,这样传输节点F会将流切换到往副端口的方向转发,传输节点B更新MAC地址转发表的时候,也会短暂停止流的转发,对于视频监控系统监控中的实况流影响比较大。同样,当传输节点C、D之间链路恢复后,传输节点C、D会暂时阻塞UP的端口,主节点会因为在副端口方向上再次收到自己主端口发出的Hello报文,处于!^iled状态的主节点会立即迁移到Complete状态,会从主端口发送Complete-Flush-FDB报文通知所有传输节点放开临时阻塞端口和刷新MAC地址转发表。此时对于传输节点B、F来说,会再次因为 MAC地址转发表的删除/增加,而导致实况流的短暂丢包。

发明内容
本发明提供了基于RRPP环的流量切换方法及其装置,用以解决RRPP环上进行流量切换时会出现丢包的问题。本发明提供的一种基于RRPP环的流量切换方法,应用于同一 RRPP环上的流量传输过程,该方法包括传输节点接收到Link-Down报文后,采用广播方式发送当前流量;所述传输节点接收到主节点发送的Common-Flush-FDB报文后更新MAC地址转发表,并在MAC地址转发表更新后根据更新后的MAC地址转发表发送当前流量。本发明提供的一种应用于RRPP环的网络设备,包括传输方式切换模块、转发表更新模块和报文发送模块;所述传输方式切换模块,用于在本设备作为传输节点时接收到Link-Down报文后,将流量传输方式切换为广播方式;以及,在接收到主节点发送的Common-Flush-FDB报文且所述转发表更新模块更新MAC地址转发表后,将流量传输方式切换为根据MAC地址转发表进行流量传输的方式;所述转发表更新模块,用于在接收到主节点发送的Common-Flush-FDB报文后更新MAC地址转发表;所述报文发送模块,用于按照所述传输方式切换模块所切换的传输方式发送当前流量。 本发明的有益技术效果包括本发明在链路发生故障时,收到Link-Down报文的传输节点将当前流量传输方式切换为广播方式,这样可以避免因链路故障所导致的短时丢包;在收到Common-Flush-FDB 报文并进行MAC地址学习后,再将流量传输方式切换为基于MAC地址转发表的传输方式。在链路故障恢复后,收到Complete-Flush-FDB报文时将传输方式切换为广播方式,这样可以避免因链路故障和MAC地址重新学习导致的短时丢包,并在进行MAC地址学习后再将传输方式切换为基于MAC地址转发表的传输方式。本发明提供的另一种基于RRPP环的流量切换方法,应用于同一 RRPP环上的流量传输过程,该方法包括传输节点在接收到Link-Down报文后若确定自己位于故障链路与主节点主端口之间,则判断是否仅在靠近主节点主端口的端口上学习有MAC地址转发表项,若是,则根据该端口上的MAC地址转发表发送当前流量,并在接收到主节点发送的Common-Flush-FDB报文时不进行MAC地址转发表更新;否则,采用广播方式发送当前流量,在接收到主节点发送的Common-Flush-FDB报文后更新MAC地址转发表,并在MAC地址转发表更新后根据更新后的MAC地址转发表发送当前流量;传输节点在接收到Link-Down报文后若确定自己位于故障链路与主节点副端口之间,则判断是否仅在靠近主节点主端口的端口上学习有MAC地址转发表项,若是,则采用广播方式发送当前流量,在接收到主节点发送的Common-Flush-FDB报文后,将靠近主节点主端口的端口上的MAC地址转发表项复制到靠近主节点副端口的端口上,将该MAC地址转发表项从原端口上删除,并根据更新后的MAC地址转发表发送当前流量;否则,采用广播方式发送当前流量,在接收到主节点发送的Common-Flush-FDB报文后更新MAC地址转发表, 并在MAC地址转发表更新后根据更新后的MAC地址转发表发送当前流量。本发明提供的另一种应用于RRPP环的网络设备,包括位置确定模块、判断模块、 传输方式切换模块、转发表更新模块和流量发送模块;所述位置确定模块,用于在本设备接收到Link-Down报文时确定本设备在RRPP环上的位置;所述判断模块,用于在本设备接收到Link-Down报文后,判断是否仅在靠近主节点主端口的端口上学习有MAC地址转发表项;所述流量发送模块,用于按照所述传输方式切换模块所切换的传输方式发送当前
流量;在所述位置确定模块确定本设备位于故障链路与主节点主端口之间的情况下所述传输方式切换模块,用于在所述判断模块判断为是时,保持当前根据MAC地址转发表发送当前流量的传输方式;在所述判断模块判断为否时,将流量传输方式切换为广播方式,并在本设备接收到主节点发送的Common-Flush-FDB报文且所述转发表更新模块更新了 MAC地址转发表后,将流量传输方式切换为根据MAC地址转发表进行流量传输;所述转发表更新模块,用于在所述判断模块判断为是时,在本设备接收到主节点发送的Common-Flush-FDB报文时不进行MAC地址转发表更新;在所述判断模块判断为否时,在本设备接收到主节点发送的Common-Flush-FDB报文后更新MAC地址转发表;在所述位置确定模块确定本设备位于故障链路与主节点副端口之间的情况下所述传输方式切换模块,用于在所述判断模块判断为是时,将流量传输方式切换为广播方式,并在本设备接收到主节点发送的Common-Flush-FDB报文以及所述转发表更新模块将靠近主节点主端口的端口上的MAC地址转发表项复制到靠近主节点副端口的端口上,将该MAC地址转发表项从原端口上删除后,将流量传输方式切换为根据MAC地址转发表进行流量传输;在所述判断模块判断为否时,将流量传输方式切换为广播方式,并在本设备接收到主节点发送的Common-Flush-FDB报文且所述转发表更新模块更新了 MAC地址转发表后,将流量传输方式切换为根据MAC地址转发表进行流量传输;所述转发表更新模块,用于在所述判断模块判断为是时,在本设备接收到主节点发送的Common-Flush-FDB报文时不进行MAC地址转发表更新;在所述判断模块判断为否时,在本设备接收到主节点发送的Common-Flush-FDB报文后更新MAC地址转发表。本发明上述方案的有益技术效果包括本发明当链路发生故障时,位于故障链路与主节点主端口之间的传输节点收到 Link-Down报文后,在仅在靠近主节点主端口的端口上学习有MAC地址转发表项的情况下, 由于实际上该传输节点更新MAC地址转发表后,与之前的MAC地址转发表是一样的,并且都学习在靠近主节点主端口的那个端口上,因此此时仍保持基于MAC地址转发表的传输方式,而不切换为广播方式,这样既可以避免丢包又可以减少网络资源开销;位于故障链路与主节点副端口之间的传输节点在接收到Link-Down报文后,在仅在靠近主节点主端口的端口上学习有MAC地址转发表项的情况下,由于实际上该传输节点更新MAC地址转发表后,与之前的MAC地址转发表是一样的,但是会更新在靠近主节点副端口的那个端口上,因此此时首先将传输方式切换为广播方式,不进行MAC地址转发表项学习而是进行MAC地址转发表项搬移,并在MAC地址转发表项搬移后将传输方式切换为基于MAC地址转发表的传输方式,一方面,通过MAC地址转发表项搬移可提高MAC地址转发表项的学习效率,另一方面,在 MAC地址转发表项的搬移过程中也不会中断流量转发。同理,当链路故障恢复后,与现有技术相比,也可达到减少以致避免丢包的目的。


图1为现有技术中的RRPP环的组网架构示意图;图2为本发明实施例一提供的基于RRPP环的流量切换流程示意图;图3为本发明实施例二提供的基于RRPP环的流量切换流程示意图;图4为本发明实施例三提供的网络设备的结构示意图;图5为本发明实施例四提供的网络设备的结构示意图。
具体实施例方式本发明实施例针对现有技术存在的问题,通过改进监控RRPP环上传输节点的流传输方式和MAC地址学习机制,来实现断路时无丢包,MAC地址转发表更新时无丢包,并对 RRPP主节点透明,避免网络设备的重复修改,来实现RRPP环的流量快速切换。下面结合附图对本发明实施例进行详细描述。参见图2,为本发明实施例一提供的基于RRPP环的流量切换流程示意图,该流程可适用于同一 RRPP环上的传输节点在该环上进行流量切换的过程,如图所示,当有链路发生故障时,故障链路连接的传输节点会发送Link-Down报文,接收到Link-Down报文的每个传输节点都可以执行以下流程步骤201,传输节点接收到Link-Down报文后,采用广播方式将当前流量进行发送,即将流量传输方式切换为广播方式。此后,根据RRPP协议,主节点在接收到该Link-Down报文后,放开阻塞的副端口, 并从主端口和副端口发送Common-Flush-FDB报文。步骤202,该传输节点接收到主节点发送的Common-Flush-FDB报文后更新MAC地址转发表,然后根据更新后的MAC地址转发表发送当前流量,即将流量传输方式切换为根据MAC地址转发表进行流量传输。此后,当链路故障恢复后,根据RRPP协议,原故障链路上的传输节点将阻塞UP状态的端口,主节点仍然周期性发送Hello报文,处于faild状态的主节点在副端口上再次收到Hello报文时,发送Complete-Flush-FDB报文,此种情况下该流程还包括步骤203,该传输节点接收到主节点发送的Complete-Flush-FDB报文后,将当前的单播方式发送的流量变更为广播方式发送,更新MAC地址转发表,然后根据更新后的MAC 地址转发表发送当前流量。即,首先将流量传输方式切换为广播方式,在MAC地址转发表更新后,再将流量传输方式切换为根据MAC地址转发表进行流量传输的单播方式。上述流程中,为控制广播的时间不会过长,可在采用广播方式发送当前流量后启动一定时器,当该定时器超时(如定时器定时时长为3秒),但该传输节点还未接收到主节点发送的Common-Flush-FDB报文,则根据MAC地址转发表发送当前流量,即将流量传输方式切换为根据MAC地址转发表的单播方式。为更清楚的描述本发明实施例一的流程,下面结合图1所示的组网架构进一步详细描述。如图1所示,从RRPP协议角度出发,担任RRPP传输节点的是监控设备编码器。下面以编码器B、F发送流量过程中,编码器C、D之间的链路发生故障以及故障恢复时的流量切换过程为例描述本发明实施例一的具体实现过程。选取编码器B、F是因为一个在断路靠近主节点主端口方向,一个是在断路靠近主节点辅端口方向。其它位于故障点与主节点主端口之间的编码器进行传输方式切换或流量切换的操作可参照编码器B进行,其它位于故障点与主节点副端口之间的编码器进行传输方式切换或流量切换的操作可参照编码器F 进行。没有链路故障时,假设流传输方向为图1中顺时针方向。需要注意的是,主节点的主副端口的角色是通过配置来选取的,所以举例中是图1中顺时针方向,也有可能是逆时针方向,这里以顺时针方向的例子来说明。另外本实例中提到的阻塞,均为将数据VLAN阻塞,控制VLAN不阻塞。当编码器C、D之间的链路故障时,感知到故障的编码器C和D分别通过不同于故障链路所在端口的另一个端口发送Link-Down报文,用以通知主节点RRPP环上发生链路故障。当编码器B在顺时针方向上收到Link-Down报文时,即收到的Link-Down的方向与自身发送的送往主节点主端口的流同方向时,编码器B修改自身的流量传输方式,由原本根据MAC地址转发表的传输方式改为广播发送方式,但发送的仍然是单播报文,即不再依赖MAC地址转发表发送流量,直到收到主节点发送的Common-Flush-FDB报文,并更新了自身的MAC地址转发表后,恢复到依赖MAC地址转发表来指导流量的转发。当编码器F在逆时针方向上收到Link-Down报文时,即收到的Link-Down的方向与自身发送的送往主节点主端口的流反方向时,编码器F修改自身的流量传输方式,由原来根据MAC地址转发表的传输方式改为广播发送方式,但发送的仍然是单播报文,即不再依赖MAC地址转发表发送流量,直到收到主节点发送的Common-Flush-FDB报文,并更新了自身的MAC地址转发表后,恢复到依赖MAC地址转发表来指导流量的转发。进一步的,对于切换到广播发送方式时,限制如下广播发送方式的时长为3秒(当然也可设为其它时间长度),即3秒后若未收到 Common-Flush-FDB报文,则转变为依赖MAC地址转发表的单播发送方式;在广播发送方式的时间内,若收到Common-Flush-FDB报文,并且MAC转发表更新后,立刻触发变为依赖单播 MAC地址转发表的单播发送方式。当编码器C、D间链路故障恢复后,编码器B或编码器F接收到主节点发送的 Complete-Flush-FDB报文后,将流量传输方式转变为广播方式,更新MAC地址转发表,然后将流量传输方式切换为基于MAC地址转发表的单播方式,从而根据更新后的MAC地址转发表发送当前流量。通过以上流程可以看出,在链路发生故障时,收到Link-Down报文的传输节点将当前流量传输方式切换为广播方式,这样可以避免因链路故障所导致的短时丢包;在收到 Common-Flush-FDB报文并进行MAC地址学习后,再将流量传输方式切换为基于MAC地址转发表的传输方式。在链路故障恢复后,收到Complete-Flush-FDB报文时将传输方式切换为广播方式,这样可以避免因链路故障和MAC地址重新学习导致的短时丢包,并在进行MAC地址学习后再将传输方式切换为基于MAC地址转发表的传输方式。参见图3,为本发明实施例二提供的基于RRPP环的流量切换流程示意图,该流程可适用于同一 RRPP环上的节点在该环上进行流量切换的过程,如图所示,当有链路发生故障时,故障链路连接的传输节点会发送Link-Down报文,接收到Link-Down报文的每个传输节点都可以执行以下流程步骤301,传输节点接收Link-Down报文。步骤302,传输节点判断自己在RRPP环上的位置,即,判断自己是位于故障链路与主节点主端口之间的传输节点,还是位于故障链路与主节点副端口之间的传输节点,若是前者则转入步骤303,若是后者则转入步骤306。其中,若传输节点收到Link-Down报文的方向与之前自身发往主节点主端口的流量同方向时,则该传输节点位于故障链路与主节点主端口之间;若传输节点收到 Link-Down报文的方向与之前自身发往主节点主端口的流量反方向时,则该传输节点位于故障链路与主节点副端口之间。步骤303,位于故障链路与主节点主端口之间的传输节点判断是否仅在靠近主节点主端口的端口上学习有MAC地址转发表项,若是则转入步骤304,否则转入步骤305。步骤304,根据该端口上的MAC地址转发表发送当前流量,并在接收到主节点发送的Common-Flush-FDB报文时不进行MAC地址转发表更新。其中,主节点在接收到该Link-Down报文后,放开阻塞的副端口,并从主端口和副端 口发送 Common-Flush-FDB 报文。步骤305,采用广播方式发送当前流量,在接收到主节点发送的Common-Flush-FDB 报文后更新MAC地址转发表,根据更新后的MAC地址转发表发送当前流量。其中,传输节点首先将流量传输方式切换为广播方式,然后在接收到 Common-Flush-FDB报文且进行了 MAC地址学习后,再将流量传输方式切换为基于MAC地址转发表的传输方式。步骤306,位于故障链路与主节点副端口之间的传输节点判断是否仅在靠近主节点主端口的端口上学习有MAC地址转发表项,若是则转入步骤307,否则转入步骤308。步骤307,采用广播方式发送当前流量,在接收到主节点发送的Common-Flush-FDB 报文后,将靠近主节点主端口的端口上的MAC地址转发表项复制到靠近主节点副端口的端口上,将该MAC地址转发表项从原端口上删除,并根据复制到靠近主节点副端口的端口上的MAC地址转发表发送当前流量。其中,传输节点首先将流量传输方式切换广播方式,在根据Common-Flush-FDB报文进行MAC地址转发表项搬移处理后,再切换为基于MAC地址转发表的流量传输方式。步骤308,采用广播方式发送当前流量,在接收到主节点发送的Common-Flush-FDB 报文后更新MAC地址转发表,并根据更新后的MAC地址转发表发送当前流量。其中,传输节点首先将流量传输方式切换广播方式,在根据Common-Flush-FDB报文进行MAC地址学习后,再切换为基于MAC地址转发表的流量传输方式。为更清楚的描述本发明实施例二的流程,下面结合图1所示的组网架构进一步详细描述。如图1所示,从RRPP协议角度出发,担任RRPP传输节点的是监控设备编码器。下面以编码器B、F发送流量过程中,编码器C、D之间的链路发生故障以及故障恢复时的流量切换过程为例描述本发明实施例二的具体实现过程。选取编码器B、F是因为一个在断路靠近主节点主端口方向,一个是在断路靠近主节点辅端口方向,其它位于故障点与主节点主端口之间的编码器进行传输方式切换或流量切换的操作可参照编码器B进行,其它位于故障点与主节点副端口之间的编码器进行传输方式切换或流量切换的操作可参照编码器F 进行。没有链路故障时,假设流传输方向为图1中顺时针方向。需要注意的是,主节点的主副端口的角色是通过配置来选取的,所以举例中是图1中顺时针方向,也有可能是逆时针方向,这里以顺时针方向的例子来说明。另外本实例中提到的阻塞,均为将数据VLAN阻塞,控制VLAN不阻塞。当编码器C、D之间的链路故障时,感知到故障的编码器C和D分别通过不同于故障链路所在端口的另一个端口发送Link-Down报文,用以通知主节点RRPP环上发生链路故障。编码器B接收到Link-Down报文后,若只在靠近主节点主端口的端口上学习有MAC 地址,则不需要将流量传输方式转变为广播方式,而是仍然按照原来的基于MAC地址转发表的单播方式发送流量,并且在收到主节点发送过来的Common-Flush-FDB报文时,不进行 MAC地址的更新。若编码器B在两边端口都学习有MAC地址,则修改自身的流量传输方式为广播方式,但发送的仍然是单播报文,直到收到主节点发送的Common-Flush-FDB报文,并更新了自身的MAC地址转发表后,恢复到依赖MAC地址转发表来指导流量的转发。编码器F接收到Link-Down报文后,若只在靠近主节点主端口的端口上学习有MAC 地址,则将流量传输方式转变为广播方式,但是一收到Common-Flush-FDB报文,就直接将靠近主节点主端口上的MAC地址表项拷贝到靠近主节点副端口上的端口上,并将该表项从原端口上删除,并且不再依靠流量来触发MAC地址学习,之后,将流量传输方式从当前的广播方式转变为基于MAC地址转发表的单播方式。若编码器B在两边端口都学习有MAC地址,则将流量传输方式修改为广播方式,但发送的仍然是单播报文,直到收到主节点发送的 Common-Flush-FDB报文,并更新了自身的MAC地址转发表后,恢复到依赖MAC地址转发表来指导流量的转发。当编码器C、D间链路故障恢复后,编码器B接收到主节点发送的 Complete-Flush-FDB报文后,若仅在靠近主节点主端口的端口上学习有MAC地址转发表项,则仍然采用当前的基于MAC地址转发表的单播传输方式,并且不进行MAC地址转发表更新;否则,将流量传输方式转变为广播方式,并更新MAC地址转发表,然后将流量传输方式切换为基于MAC地址转发表的单播方式。当编码器C、D间链路故障恢复后,编码器F接收到主节点发送的 Complete-Flush-FDB报文后,若仅在靠近主节点主端口的端口上学习有MAC地址转发表项,则将流量传输方式转变为广播方式,并将靠近主节点主端口的端口上的MAC地址转发表项复制到靠近主节点副端口的端口上,将该MAC地址转发表项从原端口上删除,然后根据更新后的MAC地址转发表发送当前流量;否则,将流量传输方式转变为广播方式,并更新 MAC地址转发表,然后将流量传输方式在恢复为基于MAC地址转发表的单播方式。通过以上本发明实施例二的流程可以看出,在实施例一的基础上,当链路发生故障时,位于故障链路与主节点主端口之间的传输节点收到Link-Down报文后,在仅在靠近主节点主端口的端口上学习有MAC地址转发表项的情况下,由于实际上该传输节点更新 MAC地址转发表后,与之前的MAC地址转发表是一样的,并且都学习在靠近主节点主端口的那个端口上,因此此时仍保持基于MAC地址转发表的传输方式,而不切换为广播方式,这样既可以避免丢包又可以减少网络资源开销;位于故障链路与主节点副端口之间的传输节点在接收到Link-Down报文后,在仅在靠近主节点主端口的端口上学习有MAC地址转发表项的情况下,由于实际上该传输节点更新MAC地址转发表后,与之前的MAC地址转发表是一样的,但是会更新在靠近主节点副端口的那个端口上,因此此时首先将传输方式切换为广播方式,不进行MAC地址转发表项学习而是进行MAC地址转发表项搬移,并在MAC地址转发表项搬移后将传输方式切换为基于MAC地址转发表的传输方式,一方面,通过MAC地址转发表项搬移可提高MAC地址转发表项的学习效率,另一方面,在MAC地址转发表项的搬移过程中也不会中断流量转发。同理,当链路故障恢复后,与现有技术相比,也可达到减少以致避免丢包的目的。需要说明的是,RRPP环上的各传输节点都可按照本发明实施例提供的方式进行流量传输方式的切换,在传输节点上有待发流量的情况下,则根据当前的流量传输方式来传输当前流量。基于相同的技术构思,本发明实施例还提供了可适用于上述流程的网络设备。参见图4,为本发明实施例三提供的网络设备的结构示意图,该网络设备可适用于实施例一流程中的传输节点,可包括传输方式切换模块401、转发表更新模块402和报文发送模块403,其中传输方式切换模块401,用于在本设备作为传输节点时接收到Link-Down报文后, 将流量传输方式切换为广播方式;以及,在接收到主节点发送的Common-Flush-FDB报文且所述转发表更新模块更新MAC地址转发表后,将流量传输方式切换为根据MAC地址转发表进行流量传输的方式;转发表更新模块402,用于在接收到主节点发送的Common-Flush-FDB报文后更新 MAC地址转发表;报文发送模块403,用于按照传输方式切换模块401所切换的传输方式发送当前流量。进一步的,传输方式切换模块401还可在将流量传输方式切换为广播方式后,若超过设定时长且还未接收到主节点发送的Common-Flush-FDB报文,则将流量传输方式切换为根据MAC地址转发表进行流量传输的方式。转发表更新模块402可在本设备接收到主节点发送的Complete-Flush-FDB报文后进行MAC地址转发表更新。相应的,传输方式切换模块401还可在本设备接收到主节点发送的Complete-Flush-FDB报文后,将流量传输方式切换为广播方式,并在所述转发表更新模块更新MAC地址转发表后,将流量传输方式切换为根据MAC地址转发表进行流量传输的方式。参见图5,为本发明实施例四提供的网络设备的结构示意图,该网络设备可适用于实施例二流程中的传输节点。该设备可包括位置确定模块501、判断模块502、传输方式切换模块503、转发表更新模块504和流量发送模块505,其中位置确定模块501,用于在本设备接收到Link-Down报文时确定本设备在RRPP环上的位置;判断模块502,用于在本设备接收到Link-Down报文后,判断是否仅在靠近主节点主端口的端口上学习有MAC地址转发表项;
流量发送模块505,用于按照传输方式切换模块503所切换的传输方式发送当前
流量;在位置确定模块501确定本设备位于故障链路与主节点主端口之间的情况下时, 传输方式切换模块503和转发表更新模块504的功能如下传输方式切换模块503,用于在判断模块502判断为是时,保持当前根据MAC地址转发表发送当前流量的传输方式;在判断模块502判断为否时,将流量传输方式切换为广播方式,并在本设备接收到主节点发送的Common-Flush-FDB报文且所述转发表更新模块更新了 MAC地址转发表后,将流量传输方式切换为根据MAC地址转发表进行流量传输;转发表更新模块504,用于在判断模块502判断为是时,在本设备接收到主节点发送的Common-Flush-FDB报文时不进行MAC地址转发表更新;在判断模块502判断为否时, 在本设备接收到主节点发送的Common-Flush-FDB报文后更新MAC地址转发表;在位置确定模块501确定本设备位于故障链路与主节点副端口之间的情况下时, 传输方式切换模块503和转发表更新模块504的功能如下传输方式切换模块503,用于在判断模块502判断为是时,将流量传输方式切换为广播方式,并在本设备接收到主节点发送的Common-Flush-FDB报文以及所述转发表更新模块将靠近主节点主端口的端口上的MAC地址转发表项复制到靠近主节点副端口的端口上,将该MAC地址转发表项从原端口上删除后,将流量传输方式切换为根据MAC地址转发表进行流量传输;在判断模块502判断为否时,将流量传输方式切换为广播方式,并在本设备接收到主节点发送的Common-Flush-FDB报文且所述转发表更新模块更新了 MAC地址转发表后,将流量传输方式切换为根据MAC地址转发表进行流量传输;转发表更新模块504,用于在判断模块502判断为是时,在本设备接收到主节点发送的Common-Flush-FDB报文时不进行MAC地址转发表更新;在判断模块502判断为否时, 在本设备接收到主节点发送的Common-Flush-FDB报文后更新MAC地址转发表。进一步的,在位置确定模块501确定本设备位于故障链路与主节点主端口之间的情况下,转发表更新模块504还用于,将流量传输方式切换为广播方式之后,若超过设定时长还未接收到主节点发送的Common-Flush-FDB报文,则将流量传输方式切换为根据MAC地址转发表进行流量传输。进一步的,在位置确定模块501确定本设备位于故障链路与主节点副端口之间的情况下,转发表更新模块504还用于,在传输方式切换模块503因判断模块502判断仅在靠近主节点主端口的端口上学习有MAC地址转发表项而将流量传输方式切换为广播方式之后,若超过设定时长还未接收到主节点发送的Complete-Flush-FDB报文,则将靠近主节点主端口的端口上的MAC地址转发表项复制到靠近主节点副端口的端口上,并将该MAC地址转发表项从原端口上删除;在传输切换模块503因判断模块502判断不仅仅是在靠近主节点主端口的端口上学习有MAC地址转发表项而将流量传输方式切换为广播方式之后,若超过设定时长还未接收到主节点发送的Complete-Flush-FDB报文,则将流量传输方式切换为根据MAC地址转发表的传输方式。相应的,传输方式切换模块503还用于,在转发表更新模块504将靠近主节点主端口的端口上的MAC地址转发表项复制到靠近主节点副端口的端口上,并将该MAC地址转发表项从原端口上删除后,将流量传输方式切换为根据MAC地址转发表进行流量传输。
进一步的,在位置确定模块501确定本设备位于故障链路与主节点主端口之间的情况下时判断模块502还用于,在本设备接收到主节点发送的Complete-Flush-FDB报文后,判断是否仅在靠近主节点主端口的端口上学习有MAC地址转发表项;转发表更新模块504还用于,在判断模块502判断为是时不进行MAC地址转发表更新;在判断模块502判断为否时,更新MAC地址转发表;传输方式切换模块503还用于,在判断模块502判断为是时,将流量传输方式切换为根据MAC地址转发表进行流量传输;在判断模块502判断为否时,将传输方式切换为广播方式,并在转发表更新模块504更新了 MAC地址转发表后,将流量传输方式切换为根据MAC 地址转发表进行流量传输。进一步的,在位置确定模块501确定本设备位于故障链路与主节点副端口之间的情况下时判断模块502还用于,在本设备接收到主节点发送的Complete-Flush-FDB报文后,判断是否仅在靠近主节点主端口的端口上学习有MAC地址转发表项; 转发表更新模块504还用于,在判断模块502判断为是时,将靠近主节点主端口的端口上的MAC地址转发表项复制到靠近主节点副端口的端口上,将该MAC地址转发表项从原端口上删除;在判断模块502判断为否时,更新MAC地址转发表;传输方式切换模块503还用于,在判断模块502判断为是时,将流量传输方式切换为广播方式,并在转发表更新模块504将靠近主节点主端口的端口上的MAC地址转发表项复制到靠近主节点副端口的端口上,将该MAC地址转发表项从原端口上删除后,将流量传输方式切换为根据MAC地址转发表进行流量传输;在判断模块502判断为否时,将流量传输方式切换为广播方式,并在转发表更新模块504更新了 MAC地址转发表后,将流量传输方式切换为根据MAC地址转发表进行流量传输。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
权利要求
1.一种基于快速环网保护协议RRPP环的流量切换方法,应用于同一 RRPP环上的流量传输过程,其特征在于,包括传输节点接收到Link-Down报文后,采用广播方式发送当前流量;所述传输节点接收到主节点发送的Common-Flush-FDB报文后更新媒体访问控制MAC 地址转发表,并在MAC地址转发表更新后根据更新后的MAC地址转发表发送当前流量。
2.如权利要求1所述的方法,其特征在于,还包括若所述传输节点在采用广播方式发送当前流量的时间长度超过设定时长,且还未接收到主节点发送的Common-Flush-FDB报文,则根据MAC地址转发表发送当前流量。
3.如权利要求1所述的方法,其特征在于,还包括所述传输节点接收到主节点发送的Complete-Flush-FDB报文后采用广播方式发送当前流量,更新MAC地址转发表,并在MAC地址转发表更新后根据更新后的MAC地址转发表发送当前流量。
4.一种应用于RRPP环的网络设备,其特征在于,包括传输方式切换模块、转发表更新模块和报文发送模块;所述传输方式切换模块,用于在本设备作为传输节点时接收到Link-Down报文后,将流量传输方式切换为广播方式;以及,在接收到主节点发送的Common-Flush-FDB报文且所述转发表更新模块更新MAC地址转发表后,将流量传输方式切换为根据MAC地址转发表进行流量传输的方式;所述转发表更新模块,用于在接收到主节点发送的Common-Flush-FDB报文后更新MAC 地址转发表;所述报文发送模块,用于按照所述传输方式切换模块所切换的传输方式发送当前流量。
5.如权利要求4所述的设备,其特征在于,所述传输方式切换模块还用于,在将流量传输方式切换为广播方式后,若超过设定时长且还未接收到主节点发送的Common-Flush-FDB 报文,则将流量传输方式切换为根据MAC地址转发表进行流量传输的方式。
6.如权利要求4所述的设备,其特征在于,所述转发表更新模块还用于,在本设备接收到主节点发送的Complete-Flush-FDB报文后进行MAC地址转发表更新;所述传输方式切换模块还用于,在本设备接收到主节点发送的Complete-Flush-FDB 报文后,将流量传输方式切换为广播方式,并在所述转发表更新模块更新MAC地址转发表后,将流量传输方式切换为根据MAC地址转发表进行流量传输的方式。
7.一种基于RRPP环的流量切换方法,应用于同一RRPP环上的流量传输过程,其特征在于,包括传输节点在接收到Link-Down报文后若确定自己位于故障链路与主节点主端口之间, 则判断是否仅在靠近主节点主端口的端口上学习有MAC地址转发表项,若是,则根据该端口上的MAC地址转发表发送当前流量,并在接收到主节点发送的Common-Flush-FDB报文时不进行MAC地址转发表更新;否则,采用广播方式发送当前流量,在接收到主节点发送的 Common-Flush-FDB报文后更新MAC地址转发表,并在MAC地址转发表更新后根据更新后的 MAC地址转发表发送当前流量;传输节点在接收到Link-Down报文后若确定自己位于故障链路与主节点副端口之间,则判断是否仅在靠近主节点主端口的端口上学习有MAC地址转发表项,若是,则采用广播方式发送当前流量,在接收到主节点发送的Common-Flush-FDB报文后,将靠近主节点主端口的端口上的MAC地址转发表项复制到靠近主节点副端口的端口上,将该MAC地址转发表项从原端口上删除,并根据更新后的MAC地址转发表发送当前流量;否则,采用广播方式发送当前流量,在接收到主节点发送的Common-Flush-FDB报文后更新MAC地址转发表,并在 MAC地址转发表更新后根据更新后的MAC地址转发表发送当前流量。
8.如权利要求7所述的方法,其特征在于,位于故障链路与主节点主端口之间的传输节点采用广播方式发送当前流量之后,还包括若超过设定时长还未接收到主节点发送的Common-Flush-FDB报文,则根据MAC地址转发表发送当前流量;位于故障链路与主节点副端口之间的传输节点因判断仅在靠近主节点主端口的端口上学习有MAC地址转发表项而采用广播方式发送当前流量之后,还包括若超过设定时长还未接收到主节点发送的Common-Flush-FDB报文,则将靠近主节点主端口的端口上的MAC地址转发表项复制到靠近主节点副端口的端口上,将该MAC地址转发表项从原端口上删除,并根据复制到靠近主节点副端口的端口上的MAC地址转发表发送当前流量;位于故障链路与主节点副端口之间的传输节点因判断不仅仅是在靠近主节点主端口的端口上学习有MAC地址转发表项而采用广播方式发送当前流量之后,还包括若超过设定时长还未接收到主节点发送的Common-Flush-FDB报文,则根据MAC地址转发表发送当前流量。
9.如权利要求7所述的方法,其特征在于,还包括传输节点接收到主节点发送的Complete-Flush-FDB报文后若确定自己位于故障链路与主节点主端口之间,则判断是否仅在靠近主节点主端口的端口上学习有MAC地址转发表项,若是,则根据该端口上的MAC地址转发表发送当前流量,不进行MAC地址转发表更新;否则,采用广播方式发送当前流量,更新MAC地址转发表,并在MAC地址转发表更新后根据更新后的MAC地址转发表发送当前流量;传输节点接收到主节点发送的Complete-Flush-FDB后若确定自己位于故障链路与主节点副端口之间,则判断是否仅在靠近主节点主端口的端口上学习有MAC地址转发表项, 若是,则采用广播方式发送当前流量,将靠近主节点主端口的端口上的MAC地址转发表项复制到靠近主节点副端口的端口上,将该MAC地址转发表项从原端口上删除,然后根据更新后的MAC地址转发表发送当前流量;否则,采用广播方式发送当前流量,更新MAC地址转发表,并在MAC地址转发表更新后根据更新后的MAC地址转发表发送当前流量。
10.一种应用于RRPP环的网络设备,其特征在于,包括位置确定模块、判断模块、传输方式切换模块、转发表更新模块和流量发送模块;所述位置确定模块,用于在本设备接收到Link-Down报文时确定本设备在RRPP环上的位置;所述判断模块,用于在本设备接收到Link-Down报文后,判断是否仅在靠近主节点主端口的端口上学习有MAC地址转发表项;所述流量发送模块,用于按照所述传输方式切换模块所切换的传输方式发送当前流量;在所述位置确定模块确定本设备位于故障链路与主节点主端口之间的情况下 所述传输方式切换模块,用于在所述判断模块判断为是时,保持当前根据MAC地址转发表发送当前流量的传输方式;在所述判断模块判断为否时,将流量传输方式切换为广播方式,并在本设备接收到主节点发送的Common-Flush-FDB报文且所述转发表更新模块更新了 MAC地址转发表后,将流量传输方式切换为根据MAC地址转发表进行流量传输;所述转发表更新模块,用于在所述判断模块判断为是时,在本设备接收到主节点发送的Common-Flush-FDB报文时不进行MAC地址转发表更新;在所述判断模块判断为否时,在本设备接收到主节点发送的Common-Flush-FDB报文后更新MAC地址转发表;在所述位置确定模块确定本设备位于故障链路与主节点副端口之间的情况下 所述传输方式切换模块,用于在所述判断模块判断为是时,将流量传输方式切换为广播方式,并在本设备接收到主节点发送的Common-Flush-FDB报文以及所述转发表更新模块将靠近主节点主端口的端口上的MAC地址转发表项复制到靠近主节点副端口的端口上, 将该MAC地址转发表项从原端口上删除后,将流量传输方式切换为根据MAC地址转发表进行流量传输;在所述判断模块判断为否时,将流量传输方式切换为广播方式,并在本设备接收到主节点发送的Common-Flush-FDB报文且所述转发表更新模块更新了 MAC地址转发表后,将流量传输方式切换为根据MAC地址转发表进行流量传输;所述转发表更新模块,用于在所述判断模块判断为是时,在本设备接收到主节点发送的Common-Flush-FDB报文时不进行MAC地址转发表更新;在所述判断模块判断为否时,在本设备接收到主节点发送的Common-Flush-FDB报文后更新MAC地址转发表。
11.如权利要求10所述的方法,其特征在于,在所述位置确定模块确定本设备位于故障链路与主节点主端口之间的情况下 所述转发表更新模块还用于,将流量传输方式切换为广播方式之后,若超过设定时长还未接收到主节点发送的Common-Flush-FDB报文,则将流量传输方式切换为根据MAC地址转发表进行流量传输;在所述位置确定模块确定本设备位于故障链路与主节点副端口之间的情况下 所述转发表更新模块还用于,在所述传输方式切换模块因所述判断模块判断仅在靠近主节点主端口的端口上学习有MAC地址转发表项而将流量传输方式切换为广播方式之后, 若超过设定时长还未接收到主节点发送的Complete-Flush-FDB报文,则将靠近主节点主端口的端口上的MAC地址转发表项复制到靠近主节点副端口的端口上,并将该MAC地址转发表项从原端口上删除;在所述传输切换模块因所述判断模块判断不仅仅是在靠近主节点主端口的端口上学习有MAC地址转发表项而将流量传输方式切换为广播方式之后,若超过设定时长还未接收到主节点发送的Complete-Flush-FDB报文,则将流量传输方式切换为根据MAC地址转发表的传输方式;所述传输方式切换模块还用于,在所述转发表更新模块将靠近主节点主端口的端口上的MAC地址转发表项复制到靠近主节点副端口的端口上,并将该MAC地址转发表项从原端口上删除后,将流量传输方式切换为根据MAC地址转发表进行流量传输。
12.如权利要求10所述的设备,其特征在于,在所述位置确定模块确定本设备位于故障链路与主节点主端口之间的情况下 所述判断模块还用于,在本设备接收到主节点发送的Complete-Flush-FDB报文后,判断是否仅在靠近主节点主端口的端口上学习有MAC地址转发表项;所述转发表更新模块还用于,在所述判断模块判断为是时不进行MAC地址转发表更新;在所述判断模块判断为否时,更新MAC地址转发表;所述传输方式切换模块还用于,在所述判断模块判断为是时,将流量传输方式切换为根据MAC地址转发表进行流量传输;在所述判断模块判断为否时,将传输方式切换为广播方式,并在所述转发表更新模块更新了 MAC地址转发表后,将流量传输方式切换为根据MAC 地址转发表进行流量传输;在所述位置确定模块确定本设备位于故障链路与主节点副端口之间的情况下 所述判断模块还用于,在本设备接收到主节点发送的Complete-Flush-FDB报文后,判断是否仅在靠近主节点主端口的端口上学习有MAC地址转发表项;所述转发表更新模块还用于,在所述判断模块判断为是时,将靠近主节点主端口的端口上的MAC地址转发表项复制到靠近主节点副端口的端口上,将该MAC地址转发表项从原端口上删除;在所述判断模块判断为否时,更新MAC地址转发表;所述传输方式切换模块还用于,在所述判断模块判断为是时,将流量传输方式切换为广播方式,并在所述转发表更新模块将靠近主节点主端口的端口上的MAC地址转发表项复制到靠近主节点副端口的端口上,将该MAC地址转发表项从原端口上删除后,将流量传输方式切换为根据MAC地址转发表进行流量传输;在所述判断模块判断为否时,将流量传输方式切换为广播方式,并在所述转发表更新模块更新了 MAC地址转发表后,将流量传输方式切换为根据MAC地址转发表进行流量传输。
全文摘要
本发明公开基于RRPP环的流量切换方法及其装置,应用于同一RRPP环上的流量传输过程,该方法包括传输节点接收到Link-Down报文后,采用广播方式发送当前流量;所述传输节点接收到主节点发送的Common-Flush-FDB报文后更新MAC地址转发表,并在MAC地址转发表更新后根据更新后的MAC地址转发表发送当前流量。采用本发明可在RRPP环上进行流量切换时减少丢包。
文档编号H04L12/46GK102291288SQ20111022565
公开日2011年12月21日 申请日期2011年8月8日 优先权日2011年8月8日
发明者周迪, 顾雷雷 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1