虚拟路由器冗余协议快速收敛的方法和路由器转让专利

申请号 : CN200710002684.9

文献号 : CN100591045C

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李德智

申请人 : 华为技术有限公司

摘要 :

本发明提供了一种虚拟路由器冗余协议快速收敛的方法和路由器,属于通信领域。为了解决现有技术中提高VRRP收敛速度配置复杂、兼容性差的问题,本发明提供了上述方法,包括以下步骤:路由器收到VRRP协议报文后进行解析,若报文中报文发送周期字段为无效值,则查找报文中的新报文发送周期字段,比较新报文发送周期字段的值与路由器本地设置的报文发送周期是否一致,如果一致,则按照本地周期发送VRRP协议报文。本发明还提供了一种路由器,包括扩展模块。本发明还提供了另一种路由器,包括接收模块、查找模块和处理模块。本发明使VRRP收敛时间能达到毫秒级,极大地提高了VRRP的收敛性能,满足电信级需求,而且具有向前兼容性。

权利要求 :

1.一种虚拟路由器冗余协议VRRP快速收敛的方法,其特征在于,所述方法包括以下步骤: 路由器接收到VRRP协议报文后,解析所述VRRP协议报文; 如果所述VRRP协议报文中的报文发送周期字段为无效值,则查找所述VRRP协议报文中新增的新报文发送周期字段,比较所述新报文发送周期字段的值与所述路由器预先设置的报文发送周期是否一致,如果一致,则按照所述报文发送周期发送所述VRRP协议报文; 如果所述VRRP协议报文中的报文发送周期字段不是无效值,则按照所述报文发送周期字段的值发送所述VRRP协议报文。

2. 根据权利要求1所述的虚拟路由器冗余协议快速收敛的方法,其特征在于,在所述 VRRP协议报文中的报文发送周期字段的值为零时,判定所述VRRP协议报文中的报文发送 周期字段为无效值。

3. 根据权利要求l所述的虚拟路由器冗余协议快速收敛的方法,其特征在于,所述方法 还包括:预先设置所述VRRP协议报文中新报文发送周期字段的上限值不超过所述VRRP协议报 文中报文发送周期字段的下限值。

4. 根据权利要求l所述的虚拟路由器冗余协议快速收敛的方法,其特征在于,所述方法 还包括:预先根据所述路由器的承载能力设置所述VRRP协议报文中新报文发送周期字段的下限值。

5. 根据权利要求l所述的虚拟路由器冗余协议快速收敛的方法,其特征在于,所述方法 还包括:当所述路由器接收到所述报文发送周期字段不是无效值的标准VRRP协议报文时,停止 发送所述报文发送周期字段为无效值的VRRP协议报文,以收到的标准VRRP协议报文中的 报文发送周期字段的值为报文发送周期,发送标准VRRP协议报文。

6. —种路由器,其特征在于,所述路由器包括:扩展模块,用于预先设置虚拟路由器冗余协议VRRP协议报文中的报文发送周期字段为 无效值,并在所述VRRP协议报文中增加新报文发送周期字段,所述增加的新报文发送周期 用于其他路由器在接收到所述VRRP协议报文后,査找所述VRRP协议报文中所述新增的新 报文发送周期字段,比较所述新报文发送周期字段的值与所述其他路由器预先设置的报文发 送周期是否一致,如果一致,则按照所述报文发送周期发送所述VRRP协议报文。

7. 根据权利要求6所述的路由器,其特征在于,所述路由器还包括: 上限设置模块,用于预先设置所述扩展模块新增的新报文发送周期字段的上限值不超过所述VRRP协议报文中的报文发送周期字段的下限值。

8. 根据权利要求6所述的路由器,其特征在于,所述路由器还包括: 下限设置模块,用于预先根据所述路由器的承载能力设置所述扩展模块新增的新报文发送周期字段的下限值。

9. 一种路由器,其特征在于,所述路由器包括: 接收模块,用于接收虚拟路由器冗余协议VRRP协议报文;査找模块,用于解析所述接收模块接收到的VRRP协议报文,在所述VRRP协议报文中 的报文发送周期字段为无效值时,査找所述VRRP协议报文中新增的新报文发送周期字段;处理模块,用于比较所述査找模块找到的新报文发送周期字段的值与所述路由器预先设 置的报文发送周期是否一致,如果一致,则按照所述报文发送周期发送所述VRRP协议报文;兼容模块,用于在所述VRRP协议报文为报文发送周期字段不是无效值的标准VRRP协 议报文时,停止发送报文发送周期字段为无效值的VRRP协议报文,以所述标准VRRP协议 报文中的报文发送周期字段的值为报文发送周期,发送所述标准VRRP协议报文。

说明书 :

虚拟路由器冗余协议快速收敛的方法和路由器

技术领域

本发明涉及通信领域,特别涉及一种虚拟路由器冗余协议快速收敛的方法和路由器。 背景技术
VRRP (Virtual Router Redundancy Protocol,虚拟路由器冗余协议)是一种容错协议,它 保证当主机的下一跳路由器出现故障时,可以及时的由另一台路由器来代替,从而保持通讯 的连续性和可靠性。VRRP通过Advertisement_Interval (通告周期)定时器、Skew—Time (随 机时延值)定时器和Master—Down—Interval (备份路由器变为主路由器的等待时间)定时器来 控制收敛的时间,这三个定时器的单位均为秒。通告周期的值在VRRP协议报文中设置,其 范围在l〜255s之间;随机时延值根据VRRP协议报文中的优先级(Priority)计算得出,计 算公式如下-
Skew—Time- ((256 - Priority) /256) *Advertisement—Interval可配置的最小值; 由于优先级的理论范围为1〜255,则计算后Skew一Time的范围约在0〜ls之间,实际上
不可能达到0;当主路由器失效后,VRRP收敛时间(即备份路由器变为主路由器的等待时间)
的计算公式如下:
Master—Down—Interval=(3 * Advertisement—Interval) + Skew—time;
根据通告周期的最小可配置值Is和随机时延值的最小理论值0s,计算得到VRRP收敛时 间的最小理论时间为3s,实际上VRRP收敛的最快速度也需要3秒以上,在可靠性要求极高 的电信级应用中,这是不能满足要求的。
现有技术中采用BFD (Bidirectional Forwarding Detection,双向转发检测)for VRRP的 方式来提高VRRP收敛速度。通过配置将BFD协议和VRRP关联在一起,当VRRP的主路 由器(Master)出现故障时,如果路由器在BFD规定的N个周期后收不到VRRP协议报文, 则通知VRRP进行主路由器和备份路由器(Backup)之间的状态切换,即进行业务收敛。在 BFD协议中可对上述周期和N进行配置,周期最小可配置为lOms, N最小可配置为3,考虑 到BFD协议时延和VRRP时延的开销,VRRP收敛速度最优能达到50ras。
上述现有技术虽然提高了VRRP的收敛速度,但是需要额外配置BFD协议,增加了网络管理的复杂度,而且BFD协议目前还在草案阶段,存在各厂商之间互通兼容性的问题。 发明内容为了解决现有技术中提高VRRP收敛速度配置复杂、兼容性差的问题,本发明实施例提 供了一种虚拟路由器冗余协议VRRP快速收敛的方法,所述方法包括以下步骤:路由器接收到VRRP协议报文后,解析所述VRRP协议报文,如果所述VRRP协议报文 中的报文发送周期字段为无效值,则查找所述VRRP协议报文中新增的新报文发送周期字段, 比较所述新报文发送周期字段的值与所述路由器预先设置的报文发送周期是否一致,如果一 致,则按照所述报文发送周期发送所述VRRP协议报文;如果所述VRRP协议报文中的报文 发送周期字段不是无效值,则按照所述报文发送周期字段的值发送所述VRRP协议报文。本发明实施例还提供了 一种路由器,所述路由器包括:扩展模块,用于预先设置虚拟路由器冗余协议VRRP协议报文中的报文发送周期字段为 无效值,并在所述VRRP协议报文中增加新报文发送周期字段,所述增加的新报文发送周期 用于其他路由器在接收到所述VRRP协议报文后,査找所述VRRP协议报文中所述新增的新 报文发送周期字段,比较所述新报文发送周期字段的值与所述其他路由器预先设置的报文发 送周期是否一致,如果一致,则按照所述报文发送周期发送所述VRRP协议报文。本发明实施例还提供了另外一种路由器,所述路由器包括:接收模块,用于接收虚拟路由器冗余协议VRRP协议报文;査找模块,用于解析所述接收模块接收到的VRRP协议报文,在所述VRRP协议报文中 的报文发送周期字段为无效值时,查找所述VRRP协议报文中新增的新报文发送周期字段;处理模块,用于比较所述査找模块找到的新报文发送周期字段的值与所述路由器预先设 置的报文发送周期是否一致,如果一致,则按照所述报文发送周期发送所述VRRP协议报文; 如果不一致,则丢弃所述VRRP协议报文;兼容模块,用于在所述VRRP协议报文为报文发送周期字段不是无效值的标准VRRP协 议报文时,停止发送报文发送周期字段为无效值的VRRP协议报文,以所述标准VRRP协议 报文中的报文发送周期字段的值为报文发送周期,发送所述标准VRRP协议报文。本发明实 施例通过扩展VRRP协议报文,设置新的报文发送周期比原报文发送周期短,使VRRP收敛 时间能达到毫秒级,极大地提高了 VRRP的收敛性能,满足电信级需求。 附图说明图1是本发明实施例虚拟路由器冗余协议快速收敛的方法流程图;5图2是本发明实施例一种路由器的结构图; 图3是本发明实施例另一种路由器的结构图。具体实施方式下面结合附图和具体实施例对本发明作进一步说明,但本发明不局限于下面的实施例。 本发明实施例对标准VRRP协议报文进行了扩展,通过增加新的字段来设置毫秒级的通告周期,并对相关定时器的单位也做了修改,从而使VRRP收敛能达到毫秒级。参见图1,本发明实施例提供了一种虚拟路由器冗余协议快速收敛的方法,具体包括以下步骤:步骤101:支持扩展VRRP协议报文的本地路由器接收到VRRP协议报文,该报文可能 是标准的VRRP协议报文,也可能是扩展后的VRRP协议报文; 现有技术中VRRP协议报文的标准格式如表1所示:0table see original document page 6
表1扩展的VRRP协议报文是指对标准VRRP协议报文进行改进的报文,即在报文中增加新 报文发送周期字段:Real Adver Int字段,用来设置新的通告周期,其长度为32bit,单位为毫 秒;并设置当报文发送周期字段为无效值时,即当Ader Int字段的值为0时,实际通告周期 的值为Real Adver Int字段的值。扩展后的VRRP协议报文的格式如表2所示:0 123 4 5 6 7 890 12345 67890 123 4567890 1Version (版本) Type (类型) Virtual Rtr ID (虚拟路由器ID) Priority (优先级) Count IP Address (IP地址的个数)Auth Type Adver lnt=0 Checksum(认证类型) (通告周期) (校验和)Real Adver Int (实际通告周期) IP Address (1)(第一个IP地址) IP Address (n)(第n个IP地址) Authentication Data (1) (第1个认证数据)Authentication Data (2) (第2个认证数据)表2考虑到路由器的承载能力,通常将Real Adver Int字段的下限值设置为不低于10ms,从 而防止按小于10ms的周期发送VRRP协议报文会增加路由器的负担。为了縮短VRRP的收敛时间, 一般将Real Adver Int字段的上限值设置为不超过通告周期 Ader Int字段的下限值,Ader Int字段的下限值为ls,即1000ms,因此设置Real Adver Int字 段的上限值为小于或等于lOOOms的值,如lOOOms或999ms。扩展后的VRRP协议报文的发送周期可配置的范围为10ms〜1000ms,由于标准VRRP 协议报文的发送周期范围为ls〜255s,标准VRRP协议报文的发送周期的下限值和扩展后的 VRRP协议报文的发送周期的上限值重合,因此在配置扩展VRRP协议报文时,通常在大于 等于10ms且小于lOOOms的范围内进行配置。由于本地路由器是支持扩展VRRP协议报文的路由器,所以本地路由器会预先按表2的 格式配置VRRP扩展协议报文,并按新增Real Adver Int字段的范围(10ms〜l000ms)配置 本地报文发送周期,例如,10ms或20ms。步骤102:本地路由器对收到的报文进行解析,根据报文中的Ader Int字段判断该报文是 标准协议报文还是扩展协议报文;如果Adver Int字段的值为0,则表明该报文是扩展协议报 文,执行步骤103;如果Adver Int字段的值为非O,则表明该报文是标准协议报文,执行步 骤104。步骤103:本地路由器査找扩展协议报文中的Real Adver Int字段,比较该字段的值与本 地路由器预先配置的报文发送周期是否相同,如果相同,则继续按照该周期发送扩展协议报 文,这种情况下能实现毫秒级的VRRP收敛;如果不同,则丢弃该扩展协议报文,不做任何 处理。例如,本地路由器收到的扩展协议报文中的Real Adver Int字段中的值为lOms,如果本7地路由器预先配置的报文发送周期也为10ms,则继续以10ms为周期发送扩展协议报文;如 果本地路由器预先配置的报文发送周期为20ms,则丢弃该扩展协议报文,不做任何处理。对于本地路由器预先配置的报文发送周期与收到的VRRP协议报文中的新报文发送周期 字段的值相等的情况,VRRP收敛的时间具体计算如下:1) 由于VRRP协议报文的发送时间Advertisementjnterval最小可以配置为10ms,则随 机时延值为:Skew—time- ((256 - Priority) /256) *Advertisement—Interval可酉己置的最小il; 由于优先级的理论范围为1〜255,则计算的结果是随机时延值的理论范围为0〜10ms;2) VRRP收敛的时间为:Master—Down—Interval= ( 3 * Advertisement—Interval) + Skew一time;计算出来的VRRP收敛时间在30ms〜40ms之间,与标准VRRP协议最快收敛时间在3〜 4s之间相比,得到了极大的提高,而且能达到毫秒级。步骤104:本地路由器停止发送扩展协议报文,并将收到的标准协议报文中的Adver Int 字段值作为报文发送周期,发送标准协议报文,从而使本发明实施例具有向前兼容性。对于不支持扩展协议的路由器来说,接收到扩展协议报文时,直接丢弃报文,不做任何 处理。参见图2,本发明实施例还提供了一种路由器,具体包括:扩展模块,用于预先设置VRRP协议报文中的报文发送周期字段为无效值,并在VRRP 协议报文中增加新报文发送周期字段。例如,将报文发送周期字段的值设置为0,使其无效。 上述路由器还包括:上限设置模块,用于预先设置扩展模块新增的新报文发送周期字段的上限值不超过 VRRP协议报文中的报文发送周期字段的下限值。例如,设置新报文发送周期字段的上限值 为999ms,小于报文发送周期字段的下限值ls。上述路由器还包括:下限设置模块,用于预先根据路由器的承载能力设置扩展模块新增的新报文发送周期字 段的下限值。例如,设置新报文发送周期字段的下限值为10ms,防止按小于10ms的周期发 送VRRP协议报文会增加路由器的负担。参见图3,本发明实施例还提供了一种路由器,具体包括:(1) 接收模块,用于接收VRRP协议报文;(2) 查找模块,用于解析接收模块接收到的VRRP协议报文,在该VRRP协议报文中的报文发送周期字段为无效值时,查找该VRRP协议报文中新增的新报文发送周期字段;(3)处理模块,用于比较查找模块找到的新报文发送周期字段的值与路由器在本地设置 的报文发送周期是否一致,如果一致,则按照该报文发送周期发送VRRP协议报文。上述路由器还包括:兼容模块,用于在接收模块接收到标准VRRP协议报文时,停止发送上述VRRP协议报 文,以收到的标准VRRP协议报文中的报文发送周期字段的值为报文发送周期,发送标准 VRRP协议报文。本发明实施例通过扩展VRRP协议报文,设置新的报文发送周期比报文发送周期短,使 VRRP收敛时间能达到毫秒级,极大地提高了 VRRP的收敛性能,满足电信级需求;将新报 文发送周期的下限值设置为10ms以上,避免增加路由器的负担;支持VRRP扩展协议报文 的路由器在收到VRRP标准协议报文时,停止发送扩展协议报文,转为发送标准协议报文, 从而具有良好的兼容性。本发明实施例可以利用软件实现,如通过C语言编程实现,该软件可以存储在一个可读 取存储介质中,例如,路由器的硬盘或CF (CompactFlash,标准闪存)卡等等。以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技 术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。