基于VRRP的IPv6协议地址冲突的处理方法及系统的制作方法

文档序号:7896001阅读:481来源:国知局
专利名称:基于VRRP的IPv6协议地址冲突的处理方法及系统的制作方法
技术领域
本发明涉及通信领域,具体而言,涉及一种基于VRRP的IPv6协议地址冲突的处理 方法及系统。
背景技术
随着网络应用的不断深入和发展,用户对网络可靠性的需求越来越高。网络中路 由器运行动态路由协议如路由信息协议(Routing Information Protocol,简称为RIP)、开 放最短路径优先(Open Shortest Path First,简称为0SPF)可以实现网络路由的冗余备 份,当一个主路由发生故障后,网络可以自动切换到它的备份路由实现网络的连接。但是, 对于网络边缘终端用户的主机运行一个动态路由协议来实现可靠性是不可行的。一般用户 主机通过配置默认网关来实现与外部网络的访问。一旦默认网关宕机,主机与外界的联系 就会中断。
虚拟路由冗余协议(VirtualRouter Redundancy Protocol,简称为 VRRP)提供了 一种很好的解决方案。该协议中,对共享多存取访问介质(如以太网)上终端IP设备的默 认网关进行冗余备份,从而在其中一台路由设备宕机时,备份路由设备及时接管转发工作, 向用户提供透明的切换,提高了网络服务质量。典型的VRRP组网拓扑结构如图1所示。
随着IPv6协议的广泛应用,VRRP也需要做出新的扩展以满足支持IPv6协议的需2010 $ 3 月胃了 VRRPv3(Virtu£il Router Redundancy Protocol Version 3,RFC5798)的标准文档,把IPv4和IPv6的VRRP进行了融合,调整了 VRRP的报文字段,确 定了新的VRRP协议标准。
然而,在VRRPv3融合IPv6的过程中也会产生一系列问题。其中一种情况是在VRRP 虚拟本地链路地址即link-local地址(和IPv6接口的link-local地址一致的情形下(此 时VRRPGroup处于Master状态),主用设备重启后会出现IPv6接口的link-local地址冲 突。原因是备用设备在主用设备重启期间已切换为Master,此时主用设备的接口重新启用, 进行重复地址检测(DuplicateAddress Detection,简称为DAD)失败。针对上述问题,目前 尚无有效的解决方案。发明内容
针对相关技术中,由于IPv6协议DAD检测冲突造成的VRRP协议状态机无法正常 运行等问题,本发明提供一种基于VRRP的IPv6协议地址冲突的处理方法及系统,以解决上 述问题至少之一。
根据本发明的一个方面,提供一种基于VRRP的IPv6协议地址冲突的处理方法,该 方法包括当第一设备检测到其IPv6协议接口的本地链路地址与第二设备的虚拟本地链 路地址冲突时,第一设备接收来自于第二设备的VRRP虚拟本地链路地址;第一设备在确定 IPv6协议接口的本地链路地址与VRRP虚拟本地链路地址一致的情况下,重新激活IPv6协 议接口的本地链路地址。4
根据本发明的另一个方面,提供一种基于VRRP的IPv6协议地址冲突的处理系统, 该系统包括第一设备和第二设备,其中,上述第一设备包括检测模块,用于检测第一设 备的IPv6协议接口的本地链路地址与第二设备的虚拟本地链路地址是否发生冲突;接收 模块,用于在检测模块检测到发生冲突时,接收来自于所述第二设备的VRRP虚拟本地链路 地址;判断模块,用于判断上述IPv6协议接口的本地链路地址与上述VRRP虚拟本地地址是 否一致;激活模块,用于在判断模块输出为是的情况下重新激活IPv6协议接口的本地链路 地址。
本发明,通过在原主用设备(第一设备)检测到其IPv6协议接口的本地链路地址 与原备用设备(第二设备)的虚拟本地链路地址冲突时,原主用设备接收来自于原备用设 备的VRRP虚拟本地链路地址,并在确定所述IPv6协议接口的本地链路地址与所述VRRP虚 拟本地地址一致的情况下重新激活原主用设备的IPv6协议接口的本地链路地址,解决了 相关技术中由于IPv6协议DAD检测冲突造成的VRRP协议状态机无法正常运行等问题,从 而达到了在IPv6协议接口的link-local DAD检测冲突时VRRP协议状态机也能正常运行 的目的。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中
图1为根据相关技术的VRRP组(VRRP Group)拓扑结构示意图2为根据本发明实施例的基于VRRPv3的虚拟1 ink-local和IPv6接口的 link-local DAD检测冲突的流程图3为根据本发明实施例的基于VRRP的IPv6协议地址冲突的处理方法的流程 图4为根据本发明优选实施例的基于VRRP的IPv6协议地址冲突的处理方法的流 程图5为根据本发明实施例的VRRPv3报文格式示意图6为根据本发明实施例的基于VRRP的IPv6协议地址冲突的处理系统的结构框 图7为根据本发明优选实施例的基于VRRP的IPv6协议地址冲突的处理系统的结 构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的 情况下,本申请中的实施例及实施例中的特征可以相互组合。
为了更好地理解本发明的实施例,下面结合图1和图2说明基于VRRPv3的虚拟 link-local和IPv6接口的link-local DAD检测冲突的流程。其中,图1中包括主用设备 Rl和备用设备R2,R1和R2分别配置了 VRRPv3协议并组成虚拟路由备份组。如图2所示, 该流程包括
步骤S202,主用设备Master Rl因为故障或者人为因素进行重启。5
步骤S204,备用设备Backup R2由于未收到Rl的VRRP通告报文,主动切换为主用 状态Master,此时VRRP Group的虚拟link-local地址生效,此时原来Rl上的数据流量将 转发到R2。
步骤S206,Rl设备重启后,IPv6接口获取link-local地址。
步骤S208,IPv6接口 link-local地址启用,需要进行DAD检测,需要查询组网范 围内是否存在地址冲突,如果冲突转入步骤S210,如果不冲突转入步骤S212 ;
步骤S210,由于R2切换为Master后,虚拟的VRRP组link-local地址已经生效, 而且和Rl设备的IPv6接口 link-local地址相同,所以产生冲突,Rl设备的IPv6接口 link-local地址无法生效。VRRP协议无法正常运行,因为只有R2 —个设备在工作。
步骤S212,如果检测成功,不存在冲突,Rl设备的IPv6接口正常获取link-local 地址,端口启用生效(up)。
步骤S214,由于Rl设备配置的VRRP优先级最高,会通告R2自己成为Master, VRRPGroup将再次完成主备倒换,VRRP协议恢复正常运行。
为了解决上述实施例由于IPv6协议DAD检测冲突造成的VRRP协议状态机无法正 常运行的问题,本发明提供以下实施例来解决上述问题。
图3为根据本发明实施例的基于VRRP的IPv6协议地址冲突的处理方法的流程 图。如图3所示,该方法包括
步骤S302,当第一设备检测到其IPv6协议接口的本地链路地址与第二设备的虚 拟本地链路地址冲突时,第一设备接收来自于第二设备的VRRP虚拟本地链路地址;
步骤S304,第一设备在确定I Pv6协议接口的本地链路地址与VRRP虚拟本地链路 地址一致的情况下,重新激活IPv6协议接口的本地链路地址。
需要说明的是,上述实施例及以下所述实施例中,第一设备在第二设备切换为主 用状态前,为主用设备;第二设备在第一设备切换为主用状态前,为备用设备。
通过以上实施例可以得出,上述实施例解决了相关技术中由于IPv6协议DAD 检测冲突造成的VRRP协议状态机无法正常运行的问题,从而达到了在IPv6协议接口的 link-local DAD检测冲突时VRRP协议状态机也能正常运行的目的。
优选地,第一设备重新激活IPv6协议接口的本地链路地址之后,还可以包括第 一设备获取激活的IPv6协议接口的本地链路地址,并将第一设备的级别切换至最高优先 级。
优选地,第一设备在确定IPv6协议接口的本地链路地址与VRRP虚拟本地链路地 址不一致的情况下,确定IP V6协议接口的本地链路地址无效。需要说明的是,这种情况下, 说明不是由于VRRP虚拟本地链路地址造成的DAD冲突,不必激活。
在上述实施例的优选实施过程中,上述第一设备接收来自于第二设备的VRRP虚 拟本地链路地址可以包括以下处理
(1)、第一设备接收第二设备的通告报文信息;
(2)、第一设备对通告报文信息进行解析得到VRRP虚拟本地链路地址。
优选地,上述第一设备对通告报文信息进行解析得到VRRP虚拟本地链路地址时, 还可以包括上述第一设备得到接口索引信息,其中,该接口索引信息用于指示第一设备接 收上述通告报文信息采用的IPv6接口,亦即指示第一设备哪个IPv6接口收到的通告报文信息,知道需要激活哪个IPv6接口。
为了更好地理解图3所示实施例及其优选实施例,下面结合图4所示优选实施例 详细说明上述方法流程,本实施例中,VRRP协议可以为VRRP v3, VRRP v3的具体格式可参 见附图5。如图4所示,该方法流程包括
步骤S402,R1设备的IPv6接口 link-local地址由于DAD检测冲突无法生效,VRRP 协议无法正常运行。
步骤S404,在IPv6接口下的link-local地址DAD检测失败情形下,收到VRRP通 告报文。此时需要设备保证VRRP通告报文在端口地址不生效的情况下也能进行处理。
步骤S406,收发包模块收到VRRP通告报文后,解析出VRRP虚拟link-local地址 以及报文接收的接口索引,构造异步消息,并发送到IPv6协议栈模块。
步骤S408,IPv6协议栈模块收到消息后,判断冲突的地址是否和VRRP虚拟 link-local 地址一致。
步骤S410,如果不一致,冲突的端口地址仍然无法激活,端口不启动生效(up),进 行正常的DAD检测失败流程,VRRP协议不能正常运行。具体可参见图2所示实施例中的内 容,此处不再赘述。
步骤S412,如果一致,则重新激活接口下DAD检测失败的link-local地址。
步骤S414,IPv6实接口 UP后,该接口下的IPv6VRRP Group获取IPv6接口的 link-local地址成功,进行VRRP Group的状态切换。由于Rl配置的优先级最高,为255, 再次通告R2自己成为Master,VRRP Group再次完成主备切换,
图6为根据本发明实施例的基于VRRP的IPv6协议地址冲突的处理系统的结构框 图。如图6所示,该系统包括第一设备60和第二设备62,其中,上述第一设备包括
检测模块602,用于检测第一设备60的IPv6协议接口的本地链路地址与第二设备 62的虚拟本地链路地址是否发生冲突;
接收模块604,用于在检测模块602检测到发生冲突时,接收来自于所述第二设备 62的VRRP虚拟本地链路地址;
判断模块606,用于判断上述IPv6协议接口的本地链路地址与上述VRRP虚拟本地地址是否一致;
激活模块608,用于在判断模块606输出为是的情况下重新激活IPv6协议接口的 本地链路地址。
优选地,如图7所示,上述第一设备60还可以包括
获取模块610,用于获取激活的IPv6协议接口的本地链路地址;
切换模块612,用于将第一设备60的级别切换至最高优先级。
优选地,上述激活模块608,还用于在判断模块606输出为否的情况下,确定IP v6 协议接口的本地链路地址无效。
优选地,上述接收模块604,还用于接收第二设备62的通告报文信息;则上述第一 设备60,如图7所示,还包括解析模块614,用于对通告报文信息进行解析得到VRRP虚拟 本地链路地址。
优选地,上述解析模块614,还用于得到接口索引信息,其中其中,该接口索引信息 用于指示第一设备60接收上述通告报文信息采用的IPv6接口,亦即指示第一设备60哪个IPv6接口收到的通告报文信息,知道需要激活哪个IPv6接口。
综上所述,通过在原主用设备(第一设备)检测到其IPv6协议接口的本地链路地 址与原备用设备(第二设备)的虚拟本地链路地址冲突时,原主用设备接收来自于原备用 设备的VRRP虚拟本地链路地址,并在确定所述IPv6协议接口的本地链路地址与所述VRRP 虚拟本地地址一致的情况下重新激活原主用设备的IPv6协议接口的本地链路地址,解决 了相关技术中由于IPv6协议DAD检测冲突造成的VRRP协议状态机无法正常运行的问题, 从而达到了在IPv6协议接口的本地链路地址link-local DAD检测冲突时VRRP协议状态 机也能正常运行的目的。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示 出或描述的步骤,或者将它们分别制作成各个集成电路模块,或由内置于CPU的程序代码 完成,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限 制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种基于VRRP的IPv6协议地址冲突的处理方法,其特征在于,包括当第一设备检测到其IP V6协议接口的本地链路地址与第二设备的虚拟本地链路地址 冲突时,所述第一设备接收来自于所述第二设备的VRRP虚拟本地链路地址;所述第一设备在确定所述IPv6协议接口的本地链路地址与所述VRRP虚拟本地链路地 址一致的情况下,重新激活所述IPv6协议接口的本地链路地址。
2.根据权利要求1所述的方法,其特征在于,所述第一设备重新激活所述IPv6协议接 口的本地链路地址之后,还包括所述第一设备获取所述激活的IPv6协议接口的本地链路地址,并将所述第一设备的 级别切换至最高优先级。
3.根据权利要求1所述的方法,其特征在于,还包括所述第一设备在确定所述IPv6协议接口的本地链路地址与所述VRRP虚拟本地链路地 址不一致的情况下,确定所述IP v6协议接口的本地链路地址无效。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述第一设备接收来自于所 述第二设备的VRRP虚拟本地链路地址包括所述第一设备接收所述第二设备的通告报文信息;所述第一设备对所述通告报文信息进行解析得到所述VRRP虚拟本地链路地址。
5.根据权利要求4所述的方法,其特征在于,所述第一设备对所述通告报文信息进行 解析得到所述VRRP虚拟本地链路地址时,所述方法还包括所述第一设备得到接口索引信息,所述其中,该接口索引信息用于指示所述第一设备 接收所述通告报文信息采用的IPv6接口。
6.一种基于VRRP的IPv6协议地址冲突的处理系统,包括第一设备和第二设备,其特征 在于,所述第一设备包括检测模块,用于检测所述第一设备的IPv6协议接口的本地链路地址与第二设备的虚 拟本地链路地址是否发生冲突;接收模块,用于在所述检测模块检测到发生冲突时,接收来自于所述第二设备的VRRP 虚拟本地链路地址;判断模块,用于判断所述IPv6协议接口的本地链路地址与所述VRRP虚拟本地地址是否一致;激活模块,用于在所述判断模块输出为是的情况下重新激活所述IP v6协议接口的本 地链路地址。
7.根据权利要求6所述的系统,其特征在于,所述第一设备还包括获取模块,用于获取所述激活的IPv6协议接口的本地链路地址;切换模块,用于将所述第一设备的级别切换至最高优先级。
8.根据权利要求6所述的系统,其特征在于,所述激活模块,还用于在所述判断模块输出为否的情况下,确定所述IPv6协议接口的 本地链路地址无效。
9.根据权利要求6至8任一项所述的系统,其特征在于,所述接收模块,还用于接收所述第二设备的通告报文信息;所述第一设备还包括解析模块,用于对所述通告报文信息进行解析得到所述VRRP虚
10.根据权利要求9所述的系统,其特征在于,所述解析模块,还用于得到接口索引信息,其中,所述接口索引信息用于指示所述第一 设备接收所述通告报文信息采用的IPv6接口。
全文摘要
本发明提供一种基于VRRP的IPv6协议地址冲突的处理方法及系统,其中,上述方法包括当第一设备检测到其IPv6协议接口的本地链路地址与第二设备的虚拟本地链路地址冲突时,第一设备接收来自于第二设备的VRRP虚拟本地链路地址;第一设备在确定IPv6协议接口的本地链路地址与VRRP虚拟本地链路地址一致的情况下,重新激活IPv6协议接口的本地链路地址。采用本发明提供的上述技术方案,解决了相关技术中由于IPv6协议DAD检测冲突造成的VRRP协议状态机无法正常运行的问题,从而达到了在IPv6协议接口的link-local DAD检测冲突时VRRP协议状态机也能正常运行的目的。
文档编号H04L29/12GK102035906SQ20101059450
公开日2011年4月27日 申请日期2010年12月17日 优先权日2010年12月17日
发明者张震宇 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1