背景技术
当前在RRPP(Rapid Ring Protection Protocol,快速环网保护协议)的组网结构中,包括:(1)RRPP域,具有相同的域ID(标识)和控制VLAN(VirtualLocal Area Network,虚拟局域网),并且相互连通的设备构成一个RRPP域,一个RRPP域具有RRPP主环、子环、控制VLAN、主节点、传输节点、主端口和副端口、公共端口和边缘端口等要素。(2)RRPP环,一个环形连接的以太网网络拓扑称为一个RRPP环,RRPP环分为主环和子环。(3)控制VLAN和数据VLAN,控制VLAN用于传输RRPP协议报文,数据VLAN用于传输数据报文。(4)节点,RRPP环上的每台设备称为一个节点,分为主节点、传输节点、边缘节点、辅助边缘节点。(5)主端口和副端口,主节点和传输节点各自有两个端口接入RRPP环,一个为主端口,另一个为副端口。(6)公共端口和边缘端口,公共端口是边缘节点和辅助边缘节点上接入主环的端口,边缘端口是边缘节点和辅助边缘节点上只接入子环的端口。
在RRPP的轮询机制中,主节点周期性地从其主端口发送Hello报文,依次经过各传输节点在环上传播;如果环路是断裂的,主节点的副端口在定时器超时前无法收到Hello报文,主节点将解除数据VLAN在副端口的阻塞状态,并发送Common-Flush-FDB(Forwarding Database,刷新转发数据库)报文通知所有传输节点,使其更新各自的MAC(Media Access Control,介质访问控制)表项和ARP(Address Resolution Protocol,地址解析协议)/ND(Neighbor Discovery,邻居发现)表项。
在RRPP的链路down告警机制中,当传输节点、边缘节点或者辅助边缘节点发现自身任何一个属于RRPP域的端口down时,会立刻发送Link-Down(链路故障)报文给主节点;主节点收到Link-Down报文后,解除数据VLAN在副端口的阻塞状态,并发送Common-Flush-FDB报文通知所有传输节点、边缘节点和辅助边缘节点,使其更新各自的MAC表项和ARP/ND表项。
当前在Smart Link(针对双上行组网提出的,可实现主备链路的冗余备份,并在主用链路发生故障后使流量迅速切换到备用链路)的组网结构中,包括:(1)Smart Link(灵活链路)组,每个组内只包含两个端口,一个为主端口,另一个为从端口;一个端口处于转发状态,另一个端口被阻塞,处于待命状态;当处于转发状态的端口出现故障时,Smart Link组会自动将该端口阻塞,并将处于待命状态的端口切换到转发状态。(2)主端口/从端口,主端口和从端口是Smart Link组中的两个端口角色。(3)主链路/从链路,主端口所在的链路称为主链路,从端口所在的链路称为从链路。(4)保护VLAN,为SmartLink组控制其转发状态的用户数据VLAN。(5)发送控制VLAN,为用于发送Flush(刷新)报文的VLAN;当发生链路切换时,设备会在发送控制VLAN内广播发送Flush报文。(6)接收控制VLAN,为用于接收并处理Flush报文的VLAN;当发生链路切换时,设备接收并处理属于接收控制VLAN的Flush报文,进行MAC表项和ARP/ND表项的刷新操作。(7)Flush报文,当SmartLink组发生链路切换时,原有MAC表项和ARP/ND表项将不适用于新的拓扑网络,需要网络中所有设备进行MAC表项和ARP/ND表项的更新;此时,Smart Link组需要通过发送Flush报文通知其它设备进行MAC表项和ARP/ND表项的刷新操作。
如图1所示,为Smart Link的组网示意图,Device C和Device D各自的端口Ethernet1/1和Ethernet1/2分别组成了一个Smart Link组,Ethernet1/1处于转发状态,Ethernet1/2处于待命状态;Device C和Device D各自的端口Ethernet1/1为主端口,Ethernet1/2为从端口;Device C的端口Ethernet1/1所在的链路是主链路,Ethernet1/2所在的链路是从链路。基于上述组网,正常情况下,Ethernet1/1处于转发状态,Ethernet1/2处于待命状态;当主链路出现故障时,Ethernet1/1将阻塞并切换到待命状态,Ethernet1/2将切换到转发状态。
当Smart Link发生链路切换时,网络中各设备上的MAC表项和ARP/ND表项可能已经不是最新状态,为了保证报文的正确发送,需要提供MAC表项和ARP/ND表项的更新机制;目前更新机制有以下两种:(1)自动通过流量刷新MAC表项和ARP/ND表项,该方式需要有上行流量触发。(2)由SmartLink设备从新的链路上发送Flush报文,该方式需要上行的设备都能够识别Smart Link的Flush报文,并进行更新MAC表项和ARP/ND表项的处理。
综上所述,在当前的RRPP组网结构中,MAC表项和ARP/ND表项的刷新方法是:通过发送flush-FDB报文进行刷新,该方法要求RRPP组网中的设备均能够识别flush-FDB报文,否则,不能在拓扑变化后立即刷新MAC表项和ARP/ND表项,从而限制了RRPP设备与其他厂商设备的组网应用。
在当前的Smart Link组网结构中,MAC表项和ARP/ND表项的刷新方法是:通过发送flush报文进行刷新,该方法要求Smart link组网中的设备均能够识别flush报文,否则,不能在拓扑变化后立即刷新MAC表项和ARP/ND表项,从而限制了Smart link设备与其他厂商设备的组网应用。
发明内容
本发明提供一种转发表项的管理方法和设备,从而使得不支持指定拓扑协议的网络设备可以及时删除转发表项,扩展指定拓扑协议的应用范围。
为了达到上述目的,本发明提供一种转发表项的管理方法,应用于包括支持指定拓扑协议的网络设备和不支持所述指定拓扑协议的网络设备的网络***中,在所述支持指定拓扑协议的网络设备中有一个网络设备为所述网络***的控制设备,且所述控制设备用于控制所述网络***中的各网络设备更新自身的转发表项,该方法包括以下步骤:
所述控制设备发现网络拓扑发生变化;
所述控制设备向所述不支持所述指定拓扑协议的网络设备发送用于清除转发表项的多虚拟局域网注册协议MVRP报文,指示所述不支持所述指定拓扑协议的网络设备清除自身的转发表项。
所述指定拓扑协议包括快速环网保护协议RRPP协议或灵活链路SmartLink协议。
所述指定拓扑协议为RRPP协议时,所述控制设备向所述不支持所述指定拓扑协议的网络设备发送用于清除转发表项的MVRP报文,具体包括:
所述控制设备向支持所述指定拓扑协议的网络设备中的其他网络设备发送转发数据库刷新Flush-FDB报文,指示所述其他网络设备利用所述Flush-FDB报文清除自身的转发表项;并向所述不支持所述指定拓扑协议的网络设备发送MVRP报文,指示所述不支持所述指定拓扑协议的网络设备利用所述MVRP报文清除自身的转发表项。
所述指定拓扑协议为Smart Link协议时,所述控制设备向所述不支持所述指定拓扑协议的网络设备发送用于清除转发表项的MVRP报文,具体包括:
所述控制设备向支持所述指定拓扑协议的网络设备中的其他网络设备发送刷新Flush报文,指示所述其他网络设备利用所述Flush报文清除自身的转发表项;并向所述不支持所述指定拓扑协议的网络设备发送MVRP报文,指示所述不支持所述指定拓扑协议的网络设备利用所述MVRP报文清除自身的转发表项;或者,
所述控制设备向支持所述指定拓扑协议的网络设备中的其他网络设备、以及不支持所述指定拓扑协议的网络设备发送MVRP报文,指示所述其他网络设备以及不支持所述指定拓扑协议的网络设备利用所述MVRP报文清除自身的转发表项。
所述用于清除转发表项的MVRP报文包括:基于MVRP协议的new消息。
另一方面,本发明还提供一种转发表项的管理设备,应用于包括支持指定拓扑协议的网络设备和不支持所述指定拓扑协议的网络设备的网络***中,在所述支持指定拓扑协议的网络设备中有一个网络设备为所述网络***的控制设备,所述控制设备用于控制所述网络***中的各网络设备更新自身的转发表项,且所述管理设备作为所述控制设备,该控制设备包括:
发现模块,用于发现网络拓扑发生变化;
发送模块,用于当发现网络拓扑发生变化时,向所述不支持所述指定拓扑协议的网络设备发送用于清除转发表项的多虚拟局域网注册协议MVRP报文,指示所述不支持所述指定拓扑协议的网络设备清除自身的转发表项。
所述指定拓扑协议包括快速环网保护协议RRPP协议或灵活链路SmartLink协议。
所述指定拓扑协议为RRPP协议时;
所述发送模块,具体用于向支持所述指定拓扑协议的网络设备中的其他网络设备发送转发数据库刷新Flush-FDB报文,指示所述其他网络设备利用所述Flush-FDB报文清除自身的转发表项;并向所述不支持所述指定拓扑协议的网络设备发送MVRP报文,指示所述不支持所述指定拓扑协议的网络设备利用所述MVRP报文清除自身的转发表项。
所述指定拓扑协议为Smart Link协议时;
所述发送模块,具体用于向支持所述指定拓扑协议的网络设备中的其他网络设备发送刷新Flush报文,指示所述其他网络设备利用所述Flush报文清除自身的转发表项;并向所述不支持所述指定拓扑协议的网络设备发送MVRP报文,指示所述不支持所述指定拓扑协议的网络设备利用所述MVRP报文清除自身的转发表项;或者,向支持所述指定拓扑协议的网络设备中的其他网络设备、以及不支持所述指定拓扑协议的网络设备发送MVRP报文,指示所述其他网络设备以及不支持所述指定拓扑协议的网络设备利用所述MVRP报文清除自身的转发表项。
所述用于清除转发表项的MVRP报文包括:基于MVRP协议的new消息。
与现有技术相比,本发明至少具有以下优点:在发现网络拓扑发生变化后,通过发送用于清除转发表项的MVRP(Multiple VLAN Register Protocol,多VLAN注册协议)报文,从而在RRPP协议和Smart Link协议等指定拓扑协议的场景下,使不支持指定拓扑协议的网络设备可以及时删除转发表项,及时恢复网络中的业务流量,从而扩展指定拓扑协议的应用范围。
具体实施方式
本发明提供一种转发表项的管理方法,针对现有技术中不支持指定拓扑协议(如RRPP协议或Smart Link协议)的网络设备,无法及时删除转发表项(如MAC表项和ARP/ND表项)的问题,通过使用MVRP报文(实际应用中还可以为MSTP的拓扑变化报文,后续以MVRP报文为例进行说明),通知不支持指定拓扑协议的网络设备及时删除转发表项。
MVRP是MRP(Multiple Register Protocol,多注册协议)在VLAN属性上的应用,用于在设备间发布并学习VLAN配置信息,使得设备能够自动同步VLAN配置信息,减少网管人员的配置工作;在网络拓扑发生变化后,MVRP根据新的拓扑重新发布及学习VLAN配置信息,以实时与网络拓扑同步更新。
基于MVRP协议,本发明提供的转发表项的管理方法,应用于包括支持指定拓扑协议的网络设备和不支持指定拓扑协议的网络设备的网络***中,且网络***中的各网络设备均需要支持MVRP协议,此外,在支持指定拓扑协议的网络设备中有一个网络设备为网络***的控制设备,且控制设备用于控制网络***中的各网络设备更新自身的转发表项。
本发明中,该指定拓扑协议包括但不限于RRPP协议或Smart Link协议,指定拓扑协议为RRPP协议时,则控制设备为网络***中的主节点(即RRPP组网结构中的主节点);指定拓扑协议为Smart Link协议时,则控制设备为网络***中的Smart Link设备(即配置有Smart Link组的网络设备)。
如图2所示,该转发表项的管理方法包括以下步骤:
步骤201,控制设备发现网络拓扑发生变化。
指定拓扑协议为RRPP协议时,控制设备发现网络拓扑发生变化的方式包括:
(1)在RRPP轮询机制中,主节点(即控制设备)周期性地从其主端口发送Hello报文,依次经过各传输节点在环上传播,如果环路是断裂的,则主节点的副端口在定时器超时前无法收到Hello报文,发现网络拓扑发生变化。
(2)在RRPP的链路down告警机制中,当传输节点、边缘节点或者辅助边缘节点发现自身任何一个属于RRPP域的端口down时,会立刻发送Link-Down(链路故障)报文给主节点(即控制设备);主节点收到Link-Down报文后,发现网络拓扑发生变化。
指定拓扑协议为Smart Link协议时,控制设备发现网络拓扑发生变化的方式包括:当Smart Link组发生链路切换时,Smart Link组所在的Smart Link设备(即控制设备)发现网络拓扑发生变化。
步骤202,控制设备向不支持指定拓扑协议的网络设备发送用于清除转发表项的MVRP报文,指示不支持指定拓扑协议的网络设备清除自身的转发表项。该转发表项为MAC表项和ARP/ND表项;该用于清除转发表项的MVRP报文包括:基于MVRP协议的new消息。
指定拓扑协议为RRPP协议时,控制设备向不支持指定拓扑协议的网络设备发送用于清除转发表项的MVRP报文,包括:
控制设备向支持指定拓扑协议的网络设备中的其他网络设备发送Flush-FDB报文,指示其他网络设备利用Flush-FDB报文清除自身的转发表项;并向不支持指定拓扑协议的网络设备发送MVRP报文,指示不支持指定拓扑协议的网络设备利用MVRP报文清除自身的转发表项。
指定拓扑协议为Smart Link协议时,控制设备向不支持指定拓扑协议的网络设备发送用于清除转发表项的MVRP报文,包括:
方式一、控制设备向支持指定拓扑协议的网络设备中的其他网络设备发送Flush报文,指示其他网络设备利用Flush报文清除自身的转发表项;并向不支持指定拓扑协议的网络设备发送MVRP报文,指示不支持指定拓扑协议的网络设备利用MVRP报文清除自身的转发表项。
方式二、控制设备向支持指定拓扑协议的网络设备中的其他网络设备、以及不支持指定拓扑协议的网络设备发送MVRP报文,指示其他网络设备以及不支持指定拓扑协议的网络设备利用MVRP报文清除自身的转发表项。
步骤203,不支持指定拓扑协议的网络设备清除自身的转发表项。
本发明中,指定拓扑协议为RRPP协议时,对于不支持RRPP协议的网络设备,在接收到Flush-FDB报文后,无法识别该Flush-FDB报文,因此不会基于Flush-FDB报文删除自身的转发表项;但是当接收到基于MVRP协议的new消息后,由于可识别该基于MVRP协议的new消息,且基于new消息本身的特性,会清除自身的转发表项。
指定拓扑协议为Smart Link协议时,对于不支持Smart Link协议的网络设备,在接收到Flush报文后,无法识别该Flush报文,因此不会基于Flush报文删除自身的转发表项;但是当接收到基于MVRP协议的new消息后,由于可识别该基于MVRP协议的new消息,且基于new消息本身的特性,会清除自身的转发表项。
以下结合图3所示的应用场景对RRPP协议的过程进行详细说明。
假设Device A、Device B、Device C、Device D、Device E均为支持RRPP协议的网络设备(如路由器),Device A、Device B、Device C、Device D组成RRPP的Ring(环)1,Device A、Device B、Device C、Device D、Device E组成RRPP的Ring2。此外,在Device A和Device D之间还存在一个不支持RRPP协议的Device F。
假设Device B与Device A之间的链路出现故障,且Device B为主节点(即控制设备),则现有技术中,Device B发现故障后(即发现网络拓扑发生变化),会发送Flush-FDB报文给环中的各节点,以Ring1为例,则该Flush-FDB报文会发送至Device A、Device C、Device D、Device F上,由于Device A、DeviceC、Device D可以识别Flush-FDB报文,因此会基于该Flush-FDB报文删除自身的转发表项;但是由于Device F不能识别Flush-FDB报文,因此不会删除自身的转发表项,导致Device F的转发表项不会被清空,从而使得该Device F的下挂设备无法正常与环上其他节点及这些节点下挂设备通信,对RRPP的链路切换性能造成影响。
本发明中,Device B发现故障后(即发现网络拓扑发生变化),会在发送Flush-FDB报文给环中的各节点的同时,发送MVRP报文(即基于MVRP协议的new消息,其中包含了RRPP拓扑变化所涉及的所有VLAN信息,且这些VLAN的消息类型为new);由于Device A、Device C、Device D可以识别Flush-FDB报文,因此会基于该Flush-FDB报文删除自身的转发表项;DeviceF虽然不能识别Flush-FDB报文,但是Device F可以识别基于MVRP协议的new消息,且在IEEE中明确规定“在收到MVRP的new消息后,需要将收包端口上指定VLAN(即new消息中携带的拓扑变化所涉及的所有VLAN信息)的转发表中的所有转发表项清空”,因此Device F会基于该new消息删除自身的转发表项。
综上所述,上述方法可以解决RRPP技术的组网受限问题;在拓扑发生变化后,能够及时通知网络中的其他设备(支持RRPP协议的网络设备或不支持RRPP协议的网络设备)删除其转发表项,及时恢复网络中的业务流量。
以下结合图1所示的应用场景对Smart Link协议的过程进行详细说明。
假设Device A、Device B、Device C、Device D均为支持Smart Link协议的网络设备(如路由器),Device E为不支持Smart Link协议的网络设备;且Device C、Device D上配置Smart Link组,Device C、Device D为Smart Link设备(即控制设备)。当Device C上的Smart Link主从链路发生切换时,网络中的流量也需要能够切换到新的主用链路上。
现有技术中,当Device C发现Smart Link主从链路发生切换后(即发现网络拓扑发生变化),会发送Flush报文给网络中的各节点,且该Flush报文会发送至Device A、Device B、Device D、Device E上,由于Device A、DeviceB、Device D可以识别Flush报文,因此会基于该Flush报文删除自身的转发表项;但是由于Device E不能识别Flush报文,因此不会删除自身的转发表项,导致Device E的转发表项不会被清空,即Device E发送流量时仍会将流量转向老的主用链路方向,即Device E的流量无法切换到新的主用链路上,对Smart Link的链路切换性能造成影响。
本发明中,当Device C发现Smart Link主从链路发生切换后(即发现网络拓扑发生变化),会直接发送MVRP报文(即基于MVRP协议的new消息,其中包含了Smart Link拓扑变化所涉及的所有VLAN信息,且这些VLAN的消息类型为new)给网络中的各节点,且该基于MVRP协议的new消息会发送至Device A、Device B、Device D、Device E上,由于Device A、Device B、Device D、Device E均可以识别基于MVRP协议的new消息,且在IEEE中明确规定“在收到MVRP的new消息后,需要将收包端口上指定VLAN(即new消息中携带的拓扑变化所涉及的所有VLAN信息)的转发表中的所有转发表项清空”,因此Device A、Device B、Device D、Device E会基于该new消息删除自身的转发表项,从而使网络中的流量切换到新的主用链路上。
综上所述,上述方法可以解决Smart Link技术的组网受限问题;在拓扑发生变化后,能够及时通知网络中的其他设备(支持Smart Link协议的网络设备或不支持Smart Link协议的网络设备)删除其转发表项,及时恢复网络中的业务流量。
基于与上述方法同样的发明构思,本发明还提出一种转发表项的管理设备,应用于包括支持指定拓扑协议的网络设备和不支持所述指定拓扑协议的网络设备的网络***中,在所述支持指定拓扑协议的网络设备中有一个网络设备为所述网络***的控制设备,所述控制设备用于控制所述网络***中的各网络设备更新自身的转发表项,且所述管理设备作为所述控制设备,如图4所示,该控制设备包括:
发现模块11,用于发现网络拓扑发生变化;
发送模块12,用于当发现网络拓扑发生变化时,向所述不支持所述指定拓扑协议的网络设备发送用于清除转发表项的多虚拟局域网注册协议MVRP报文,指示所述不支持所述指定拓扑协议的网络设备清除自身的转发表项。
本发明中,所述指定拓扑协议包括快速环网保护协议RRPP协议或灵活链路Smart Link协议。
所述指定拓扑协议为RRPP协议时;所述发送模块12,具体用于向支持所述指定拓扑协议的网络设备中的其他网络设备发送转发数据库刷新Flush-FDB报文,指示所述其他网络设备利用所述Flush-FDB报文清除自身的转发表项;并向所述不支持所述指定拓扑协议的网络设备发送MVRP报文,指示所述不支持所述指定拓扑协议的网络设备利用所述MVRP报文清除自身的转发表项。
所述指定拓扑协议为Smart Link协议时;所述发送模块12,具体用于向支持所述指定拓扑协议的网络设备中的其他网络设备发送刷新Flush报文,指示所述其他网络设备利用所述Flush报文清除自身的转发表项;并向所述不支持所述指定拓扑协议的网络设备发送MVRP报文,指示所述不支持所述指定拓扑协议的网络设备利用所述MVRP报文清除自身的转发表项;或者,
向支持所述指定拓扑协议的网络设备中的其他网络设备、以及不支持所述指定拓扑协议的网络设备发送MVRP报文,指示所述其他网络设备以及不支持所述指定拓扑协议的网络设备利用所述MVRP报文清除自身的转发表项。
本发明中,所述用于清除转发表项的MVRP报文包括:基于MVRP协议的new消息。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。