专利名称:虚拟路由器冗余协议的重启方法及路由器的制作方法
技术领域:
本发明涉及通信领域,尤其涉及一种虚拟路由器冗余协议的重启方法及路 由器。
背景技术:
通常在内部网络与外部网络通信中,内部网络中的所有主才几都"^殳置一条相 同的缺省路由,内部主机发出的所有目的地址不在本网段的报文将通过缺省路 由发往出口网关,硬件实现可以为路由器,或者是具备路由器功能的设备,比 如说三层交换机或者一些服务器,从而实现主机与外部网络的通信。但是一旦 该设备故障时,本网段内所有以该设备为缺省路由的主机将中断与外部的通信, 因此采用这种方法对缺省网关设备稳定性提出了很高的要求。增加多个出口网 关设备是提高系统可靠性的常见方法,但是如何在多个出口网关之间进行选路 就成为需要解决的问题。VRRP (Virtual Router Redundancy Protocol,虚拟路由器冗余协议)通过实 现物理设备和逻辑设备的分离,很好地解决了上述问题。VRRP将局域网的一组 路由器构成一个备份组,功能上相当于一台虚拟路由器。局域网内的主机仅仅 知道这个虚拟路由器的IP地址,并不知道备份组内具体某台设备的IP地址,它 们将自己的缺省路由下一跳地址设置为该虚拟路由器的IP地址。虚拟路由器拥 有和备份组内的各路由器相同网段的IP地址。虚拟路由器的IP地址可以是备份 组所在网段中未被分配的IP地址,也可以和备份组内的某个路由器的接口地址 相同,如果相同则称拥有该地址的路由器为地址拥有者。于是,网络内的主机 就通过这个虚拟路由器与其它网络进行通信。VRRP机制将该虚拟路由器动态关 联到某承担传输业务的物理路由器上,从而当该物理路由器出现故障时能再次选择新路由器来接替业务传输工作。参见图1所示,图1为采用虚拟路由器网络的原理示意图。路由器A、 B和c共同形成一个备份组,备份组相当于一台虚拟路由器,该备份组包括一个主用路由器和若干个备用路由器,该业务平时由主用路由器承担,备用路由器仅在主用路由器出现故障时才接替工作。初始情况下,路由器A为主用路由器 并承担通讯任务,路由器B和C是备用路由器且都处于就绪监听状态,这种状 态下路由器不发送报文出去。如果主用路由器A发生故障,则备份组内处于备 用状态的路由器B和C将根据优先级选出 一个作为新的主用路由器,这个新主 用路由器继续向网络内的主机提供路由服务。釆用这种方法的高可靠性路由器中负责控制层面处理的芯片或者单板往往 釆用主用主控板和备用主控板双主控冗余配置, 一块主控板发生故障,另一块 备用主控板成为新的主控板。为了确保控制层面的主控板发生故障而不影响数 据转发,路由器往往采用分布式结构,数据转发和控制层面分离,有专门的线 卡或接口板用于数据转发。在双主控板和控制与转发分离的前提之下,NSF (None Stop Forwarding,不间断转发)就是一项重要的高可靠性技术,它可以 保证路由器控制层面出现故障时,数据转发仍然正常执行,从而保护网络上关 键业务不受影响。所述的不间断转发是指在路由器控制层面故障的过程中,数 据转发不间断地正常执行。路由器控制层面故障的原因可能有多种因为软件 或者硬件故障导致的路由器故障或者重启,另外软件升级时通过配置命令导致 的的主备切换等,有些故障是不可修复的,其解决方法只能是更换或者修理路 由器。而使用中出现的故障大部分是路由器主板重启并且伴随主控板和备用主 控板倒换发生。在路由器主板和备板状态正常的情况下,主用路由器会以一定的时间间隔 定时发送VRRP广告报文,备用路由器不断检测接收到的广告报文来判断主用 路由器状态是否正常,当主用路由器因为某种原因发生主控板和备用主控板倒 换之后,因为主控板暂时停止报文处理,原来定时发送的广告报文停止发送, 超过一定的时间之后,比如说3倍的时间间隔,备用路由器会将自己的状态升级为主用路由器,并针对每一个虚拟路由器的IP地址发送免费ARP (Address Resolution Protocol,地址解析协议), 一段时间之后原来主用路由器的备用主 控板升级为主控板,又可以正常发送广告报文,当前的主用路由器又转为备用 状态,状态稳定之后持续运行到下一次状态发生变化为止。在路由器发生主控板和备用主控板倒换到倒换后的新主控板正常工作,需 要一段时间,这段时间内主用路由器设备不能正常处理VRRP协议报文,备用 路由器在一段时间后因为接收不到广告报文升级为主用路由器。如果原来的主 用路由器具有较高的优先级,则在其完成主控板和备用主控板倒换后将会抢占 到主用状态。主控板和备用主控板倒换过程和主用路由器之间的切换过程报文 处理往往比较繁忙,如果发送的免费ARP表项报文被阻塞或者处理异常,则必 须等待后续净良文刷新下游交换机MAC (Media Access Control, i某体访问控制) 表项,在此期间将导致用户报文丟弃和用户业务的中断,如杲出现多次切换将 导致系统更加繁忙和用户业务更加不稳定,同时影响其他协议的正常运行。发明内容本发明实施例所要解决的技术问题在于,提供一种虚拟路由器冗余协议的 重启方法及路由器,能够有效减少状态切换导致的用户业务短时中断,提高备 份路由器设备的可服务性。为了解决上述技术问题,本发明实施例提供了一种虚拟路由器冗余协议的 重启方法,该方法包才舌设置第一时间间隔,所述的时间间隔为优雅重启协商的时限参量;向其他路由器发送优雅重启询问报文启动预先配置的优雅重启协商功能, 并启动计时装置开始计时;根据第一时间间隔时限内与其他路由器的优雅重启协商询问结果执行路由 器状态设定操作,所述路由器状态为表述路由器组中本地路由器当前状态的参 量。本发明实施例还提供了 一种虚拟路由器冗余协议的重启方法,该方法包括接收到所述优雅重启询问报文后,并启动预先配置的优雅重启协商功能; 才艮据本地路由器状态决定是否响应接收到的所述优雅重启询问净艮文,如杲响应该询问报文,则返回所述优雅重启响应报文;根据与发送优雅重启询问报文的路由器的优雅重启协商响应结果执行路由器状态设定操作。相应的,本发明实施例提供了一种路由器,该路由器包括时间单元,该单元用于设置所述的时间间隔并用于计时;协商会话单元,该单元在发生主备倒换后,用于与其他路由器进行优雅重启协商;状态设定单元,该单元用于根据所述时间单元设置的第一时间间隔时限内 与所述协商会话单元同其他路由器的所述优雅重启协商询问结果进行路由器状 态设定。相应的,本发明实施例还提供了一种路由器,该路由器包括 协商会话单元,该单元用于根据本地路由器状态决定是否响应接收到的所述优雅重启询问报文,如果响应该询问报文,则返回所述优雅重启响应报文; 状态设定单元,该单元用于根据本地路由器所述协商会话单元与发送优雅重启询问报文的路由器的所迷优雅重启协商响应结果执行路由器状态设定操作。本发明实施例通过在路由器发生主用主控板和备用主控板倒换期间,虚拟 路由器的路由器组中其他路由器保持一段时间的当前状态,而不在超时后升级 为主用路由器或变为备用状态。在此期间发生主用主控板和备用主控板倒换路 由器和其他路由器通过协商恢复倒换前的VRRP主用状态和备用状态关系,避 免状态切换,从而能够有效解决主用主控板和备用主控板倒换期间能够不间断 转发VRRP用户流量,减少VRRP状态切换导致的报文丢失和系统繁忙,减少 状态切换导致的用户业务短时中断,提高备份路由器设备的可服务性。
图1为采用虛拟路由器网络的原理示意图;图2为本发明实现虚拟路由器冗余协议的重启方法的一种实施例流程图; 图3为本发明实现虚拟路由器冗余协议的重启方法的再一种实施例流程图; 图4为本发明实现虚拟路由器冗余协议的重启方法的又一种实施例流程图; 图5为本发明实现虚拟路由器冗佘协iJC的重启网络结构的一实施例示意图; 图6为本发明实现虚拟路由器冗余协议的重启的路由器再一实施例的结构 示意图;图7为本发明实现虚拟路由器冗余协议的重启网络结构的再一实施例示意图;图8为本发明实现虚拟路由器冗余协议的重启的路由器又一实施例的结构 示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明 实施例作进一 步地详细描述。请参见图2所示,图2为本发明实现虛拟路由器冗余协议的重启方法的一 种实施例流程图,该方法主要针对备份组中由于主控板和备用主控板倒换导致 虚拟路由器冗余协议重启的路由器,该方法具体包括步骤Sll,设置第一时间间隔Tl,所述的时间间隔Tl为优雅重启协商的时 限参量。步骤S12,向其他路由器发送优雅重启询问报文,启动预先配置的优雅重启 协商功能,并启动计时装置开始计时。预先配置的优雅重启协商功能具体为定 义虚拟路由器冗余协议的优雅重启协商通信报文,所述的优雅重启协商通信报 文包括优雅重启询问才艮文和优雅重启响应4艮文,所述优雅重启询问净艮文在虛拟 路由器冗余协议发生重启后触发发送;所述优雅重启响应报文仅能由主用状态 路由器回复。这两种报文均通it^f VRRP普通协议报文扩展来实现,其中扩展 的字段为VRRP普通协议报文的Type字段。步骤S13 ,根据第 一时间间隔时限内与其他路由器的优雅重启协商询问结果 执行路由器状态设定操作,所述路由器状态为表述路由器组中本地路由器当前状态的参量,包括主用状态、备用状态以及中间状态,所迷主用状态表明该 路由器处于承担通讯任务状态,所述备用状态表明该路由器处于就绪监听状态, 所述中间状态表明该路由器处于主备倒换状态。其中,具体执行路由器状态设 定操作包括在第一时间间隔的时限内检测是否接收到优雅重启响应报文,如果检测到 优雅重启响应报文则优雅重启协商结果为有响应;如果检测不到优雅重启响应 "fe文,则优雅重启协商结杲为无响应。在T1时限内,优雅重启协商结果为有响应时,说明当前存在主用状态的路 由器,将路由器的状态设定为备用状态,并删除T1的设置;在T1时限内,优雅重启协商结果为无响应时,说明当前没有主用状态的路 由器,则将路由器状态设定为主用状态。请参见图3所示,图3为本发明实现虚拟路由器冗余协议的重启方法的再 一种实施例流程图,该方法主要针对备份组中未发生主控板和备用主控板倒换 路由器,该方法具体包括步骤S21,接收到所述优雅重启询问报文后,并启动预先配置的优雅重启协 商功能。预先配置的优雅重启协商功能具体为定义虛拟路由器冗余协议的优雅 重启协商通信报文,所述的优雅重启协商通信报文包括优雅重启询问报文和优 雅重启响应报文,这两种报文通过对VRRP普通协议报文扩展来实现,其中扩 展的字段为VRRP普通协议报文的Type字段。步骤S22,根据本地路由器状态决定是否响应接收到的所述优雅重启询问净艮 文,如果响应该询问才艮文,则返回所迷优雅重启响应才艮文。当^各由器自身状态 为备用状态时,不响应优雅重启询问报文;当路由器自身状态为主用状态时, 响应优雅重启询问才艮文。步骤S23,根据与发送优雅重启询问净良文的路由器的优雅重启协商响应结果 执行路由器状态设定操作,具体步骤包括当优雅重启协商结果为不响应优雅重启询问报文时,设置第二时间间隔T2, 所述的第二时间间隔T2至少为所述第 一时间间隔Tl的两倍;根据T2时限内是 否接收到普通协议报文来设定路由器的状态,如果接收到普通协议报文,说明 存在主用状态的路由器,则维持路由器的状态为备用状态,并取消T2时间间隔 的设置;如果接收不到普通协议报文,说明当前没有主用状态的路由器,则更 改当前的路由器状态,设定为主用状态,当然如果存在多个同时接收到优雅询 问报文的备用状态路由器则优先级最高的备用路由器升级为主用路由器,其他 的路由器仍然维持备用状态。当优雅重启协商结杲为响应优雅重启询问报文时,则维持路由器状态为主 用状态。请参见图4所示,图4为本发明实现虚拟路由器冗余协议的重启方法的又 一种实施例流程图,该方法针对路由器网络系统,即备份组中某一路由器发生 主控板和备用主控板倒换后,通过发生主备倒换的路由器与其他路由器的优雅 协商实现虚拟路由器冗余协议的优雅重启,该方法具体步骤如下步骤S101,在网络系统中的路由器中预先配置优雅重启协商功能,即在备 份組的所有路由器中均进行了优雅重启协商功能。预先配置的方法具体为定义 虚拟路由器冗余协议的优雅重启协商通信报文,所迷的优雅重启协商通信报文 包括优雅重启询问报文和优雅重启响应报文,这两种报文通过对VRRP协议普 通协议报文扩展来实现,其中扩展的字段为VRRP协议普通协议报文的Type字 段。步骤S102,备《分组中某一路由器发生主控板和备用主控板倒换后,导致虚 拟路由器冗余协议发生重启,在发生主控板和备用主控板倒换的路由器设置第 一时间间隔Tl。步骤S103,向网络中其他路由器发送优雅重启询问报文启动优雅重启协商, 并启动计时装置开始计时。备份组中某一路由器发生主控板和备用主控板倒换 后,导致虚拟路由器冗余协议发生重启,立即触发向网络中的其他路由器发送 优雅重启询问报文,该报文中包含本地路由器的优先级和设置的第一时间间隔Tl 。优先级的作用是在所有路由器都正常的情况下通过优先级的高低决定主用 状态路由器,优先级最高的作为主用路由器,同时也可以在主用路由器发生故 障时作为选择升级为主用路由器的备用路由器顺序;第一时间间隔Tl作为重启端路由器的得出协商结果的时限限制。步骤S104,网络中未发生主控板和备用主控板倒换的路由器接收到优雅重启询问报文后,启动预先配置的优雅重启协商功能。接收到优雅重启询问报文 即作为网络中发生主控板和备用主控板倒换的路由器启动优雅重启协商的触发条件。步骤S105,检测本地路由器的状态。发生主控板和备用主控板倒换的路由 器可以为主用状态的路由器也可以是处于备用状态的路由器,因此接收到优雅 重启询问报文的路由器也可以为主用路由器或备用路由器。而根据预先配置的 优雅协商功能,备用路由器不响应优雅重启询问报文,主用路由器需要立即响 应该询问报文。因此接收到重启询问报文的路由器需要根据自身的状态进行优 雅协商。步骤S106,根据本地路由器状态决定是否响应接收到的所述优雅重启询问 报文,如果响应该询问报文,则返回所述优雅重启响应报文。当路由器自身状 态的检测结果为备用状态时,不响应优雅重启询问报文;当路由器自身状态为 的检测结果主用状态时,响应优雅重启询问净艮。步骤S107,根据与发送优雅重启询问报文的路由器的优雅重启协商响应结 果执行路由器状态设定操作。当优雅重启协商响应结果为不响应优雅重启询问报文时,设置第二时间间 隔T2,所述的第二时间间隔T2至少为所述第一时间间隔Tl的两倍;根据T2 时限内是否接收到普通协议报文来设定路由器的状态,如果接收到普通协议报 文,说明存在主用状态的路由器,则维持路由器的状态为备用状态并取消T2时 间间隔的设置;如果接收不到普通协议^J:,说明当前没有主用状态的路由器, 则更改当前的路由器状态,设定为主用状态;当然如果存在多个同时接收到优 雅询问报文的备用状态路由器则优先级最高的备用路由器升级为主用路由器,其他的路由器仍然维持备用状态。当优雅重启协商结果为响应优雅重启询问报文时,则维持路由器状态为主 用状态。步骤S108,发生重启端的路由器在第一时间间隔Tl的时限内检测是否接收 到优雅重启响应报文,如果检测到优雅重启响应报文则优雅重启协商结果为有 响应;如杲检测不到优雅重启响应^^艮文,则优雅重启协商结果为无响应。步骤S109,发生重启端的路由器根据第一时间间隔时限内与其他路由器的 优雅重启协商询问结果执行路由器状态设定操作。在T1时限内,优雅重启协商 结果为有响应时,说明当前存在主用状态的路由器,将路由器的状态设定为备 用状态,并删除T1的设置;在T1时限内,优雅重启协商结果为无响应时,说 明当前没有主用状态的路由器,则将路由器状态设定为主用状态。这里所设置的时间间隔Tl和T2是为实现在优雅重启的所设置的时间间隔, 如果路由器中本身存在解决其他故障存在的超时抢占时间间隔T3,该间隔是在 RFC中定义的超时3次后,备用路由器升级为主用路由器。那么为了不引起功 能上的冲突,在设置Tl和T2的时候会自动取消T3的设置,在取消Tl和T2 的时候会自动恢复T3的设置。请参见图5所示,图5为本发明实现虛拟路由器冗佘协议的重启网络结构 的 一 实施例示意图,该网络中包括发生主控板和备用主控板倒换的第 一路由器 10和未发生倒换的第二路由器20。当然,这个系统中通常存在不止两台的多数 量的路由器,但是因为其处理方法相同,因此只通过本实施例详细介绍发生主 控板和备用主控板倒换的第一路由器10和未发生倒换的第二路由器20,其他路 由器详细处理在此不予详细介绍。第一路由器10具体包括第一时间单元11、第一协商会话单元12以及第 一状态设定单元13。第一时间单元11、第一协商会话单元12以及第一状态设 定单元13依次相连。第一时间单元ii,该单元用于设置第一时间间隔Tl并用于计时。第一协商会话单元12,该单元在发生主备倒换后,用于与其他路由器进行优雅重启协商。在虛拟路由器冗余协议发生重启后,触发第一协商会话单元12向第二路由器20发送优雅重启询问报文启动预先配置的优雅重启协商功能,并启动第一时间单元11开始计时。第一状态设定单元13,该单元用于根据第一时间单元11设置的第一时间间 隔时限内与所述协商会话单元同其他路由器的所述优雅重启协商询问结果进行 路由器状态设定。在第一时间单元11计时结束的Tl时限内,第一协商会话单 元12接收到第二路由器20响应的优雅重启响应报文,则说明当前存在主用状 态的路由器,第一状态设定单元13将第一路由器10的状态设定为备用状态, 并删除第一时间单元中Tl的设置。在第一时间单元11计时结束的Tl时限内,第一协商会话单元12未接收到 第二路由器20响应的优雅重启响应报文,则说明当前不存在主用状态的路由器, 第一状态设定单元13将第一路由器10的状态设定为主用状态。第二路由器20具体包括第二协商会话单元21以及第二状态设定单元22。 第二协商会话单元21和第二状态设定单元22相连。第二协商会话单元21,该单元用于根据第二路由器状态决定是否响应接收 到的所述优雅重启询问报文,如果响应该询问报文,则向第一路由器10返回所 述优雅重启响应报文。当第二路由器20自身状态为备用状态时,不响应优雅重 启询问报文;当第二路由器20自身状态为主用状态时,响应应优雅重启询问净艮。第二状态设定单元22,该单元用于根据本地路由器所述协商会话单元与发 送优雅重启询问报文的路由器的所述优雅重启协商响应结果执行路由器状态设 定操作。如果第二路由器20状态为主用状态则维持该状态;如果第二路由器20 状态为备用状态,则根据一定时限内能否接受到普通协议报文进行身份设定, 即一定时限内能接受到普通协议净艮文则维持第二路由器20状态为备用状态,否 则改变当前状态,设定为主用状态。当然本系统中的两种路由器是分别根据其在发生主备倒换后,根据优雅重 启协商的询问报文的发送方和优雅重启协商的询问报文的接收方来分别设计。 但是在实际的使用中,无论是优雅重启协商的询问报文的发送方还是优雅重启协商的询问报文的接收方的路由器都是相同的,因此,在实际使用中每个路由 器均可以作为优雅重启协商的询问报文的发送方和优雅重启协商的询问报文的接收方,请参见图6所示,图6为本发明实现虚拟路由器冗余协议的重启的路 由器再一实施例的结构示意图。该路由器30具体包括时间单元31、协商会话单元32以及状态设定单元 33。时间单元31、协商会话单元32以及状态i殳定单元33依次相连。时间单元31 ,该单元用于设置时间间隔并用于计时。协商会话单元32,该单元用于与其他路由器进行优雅重启协商。在同一路 由器中可根据是否发生了主备倒换决定作为优雅重启询问报文的接收方或者发 送方,即发生了主备倒换时作为优雅重启询问"^艮文发送方,没发生主备倒换时 作为优雅重启询问报文的接收方。状态设定单元33,该单元用于根椐与所述协商会话单元同其他;吝由器的所 述优雅重启协商询问结果进行路由器状态设定。在发生了主备倒换时作为优雅重启询问报文发送方时,在时间单元31计时 结束的Tl时限内,协商会话单元32接收到其他路由器响应的优雅重启响应报 文,则说明当前存在主用状态的路由器,状态设定单元33将本地路由器30的 状态设定为备用状态,并删除时间单元中Tl的设置。在没发生主备倒换时作为优雅重启询问净艮文4^收方时,当不响应优雅重启 询问报文时,在时间单元31设置第二时间间隔T2 ,所述的第二时间间隔T2至 少为所述第一时间间隔Tl的两倍;根据T2时限内本地路由器30是否接收到普 通协议报文来设定路由器的状态,如果接收到普通协议报文,说明存在主用状 态的路由器,则维持本地路由器30的状态为备用状态并取消T2时间间隔的设 置;如果接收不到普通协议报文,说明当前没有主用状态的路由器,则更改当 前的本地路由器30的状态,设定为主用状态.当然如果存在多个同时接收到优雅 询问报文的备用状态路由器则优先级最高的备用路由器升级为主用路由器,其 他的路由器仍然维持备用状态。当优雅重启协商结果为响应优雅重启询问报文时,则维持本地路由器30状态为主用状态。请参见图7所示,图7为本发明实现虛拟路由器冗余协议的重启网络结构的再一实施例示意图。该网络中包括发生主控板和备用主控板倒换的第一路由器100和未发生倒换的第二路由器200。第一路由器100具体包括第一报文定义单元110、第一时间单元120、第 一协商会话单元130以及第一状态设定单元140。第一报文定义单元110、第一 时间单元120、第一协商会话单元130以及第一状态设定单元140依次相连。第一报文定义单元110,该单元用于定义所述协商会话单元进行虚拟路由器 冗余协议的优雅重启协商的通信报文,即预先配置优雅重启协商功能,所述的 优雅重启协商通信报文包括优雅重启询问报文和优雅重启响应报文,这两种报 文通过对VRRP协议普通协议报文扩展来实现,其中扩展的字段为VRRP协议 普通协议报文的Type字段。第一时间单元120,该单元用于设置第一时间间隔Tl并用于计时。第一协商会话单元130,具体包括发送模块131和接收模块132.发送模块131,在虛拟路由器冗余协议发生重启后,触发该才莫块向第二路由 器200发送优雅重启询问报文启动预先配置的优雅重启协商功能,在发送的同 时启动第一时间单元120开始计时。接收模块132,用于接收第二路由器200响应的优雅重启响应报文。第一状态设定单元140,该单元用于根据第一时间单元120设置的第一时间 间隔Tl时限内根据接收模块132是否接收到优雅重启响应报文执行路由器身份 设定操作。在Tl时限内,如果接收模块132接收到第二路由器200响应的优雅 重启响应报文,则说明当前存在主用状态的路由器,第一状态设定单元140将 第一路由器100的状态设定为备用状态,并删除第一时间单元120中Tl的设置。在Tl时限内,如果接收^^块132没接收到第二路由器200响应的优雅重启 响应报文,则说明当前不存在主用状态的路由器,第一状态设定单元140将第 一路由器100的状态设定为主用状态。第二路由器200具体包括第二报文定义单元210、状态检测单元220、第二协商会话单元230、第二时间单元240以及第二状态设定单元250。第二报文 定义单元210、状态检测单元220、笫二协商会话单元230、第二时间单元240 以及第二状态设定单元250依次相连。第二报文定义单元210,该单元用于定义所述协商会话单元进行虚拟路由器 冗余协议的优雅重启协商的通信"^艮文,即预先配置优雅重启协商功能,所述的 优雅重启协商通信报文包括优雅重启询问报文和优雅重启响应报文,这两种报 文通过对VRRP协议普通协议报文扩展来实现,其中扩展的字段为VRRP协议 普通协议报文的Type字段。状态检测单元220,该单元用于检测第二路由器200的状态。第二协商会话单元230,该单元具体接收才莫块231和发送模块232.接收模块231,该模块用于接收第一路由器IOO发送的优雅重启询问报文; 发送模块132,该模块在状态检测单元220检测的第二路由器200的状态为主用 状态时向第一路由器100发送优雅重启响应报文,状态检测单元220检测的第 二路由器200的状态为备用状态时不发送该响应报文。第二时间单元240,该单元用于设置第二时间间隔T2,当第二协商单元230 不响应优雅重启询问报文时,才设置第二时间间隔T2,否则不设置。所迷的第 二时间间隔T2至少为所述第一时间间隔Tl的两倍。T2和Tl的倍数关系可根 据网络需要进行具体配置,但其倍数至少为2倍一般为2-255倍之间,不能出现 T2和T1相等甚至小于T1的情况,因为这种情况会导致重启端为主用状态时因 为接收不到优雅重启响应报文而变为主用状态,而同时备用端因为接收不到普 通协议报文而升级为主用状态,这样就导致路由器间的状态沖突,从而影响稳 定性。第二状态设定单元22,该单元用于执行路由器状态设定操作。当第二协商 单元230不响应优雅重启询问报文时,根据T2时限内是否接收到普通协议报文 来设定路由器的状态,如杲接收到普通协议净艮文,说明存在主用状态的路由器, 则维持第二路由器200的状态为备用状态并取消T2时间间隔的设置;如果接收 不到普通协议报文,说明当前没有主用状态的路由器,则更改当前的路由器状态,设定为主用状态;当然如果存在多个同时接收到优雅询问报文的备用状态 路由器则优先级最高的备用路由器升级为主用路由器,其他的路由器仍然维持 备用状态。当第二协商单元230响应优雅重启询问才艮文时,则维持第二路由器200状 态为主用状态。当然本系统中的两种路由器是分别根据其在虚拟路由器冗余协议发生重启 后,根据优雅重启协商的询问报文的发送方和优雅重启协商的询问^艮文的接收 方来分别设计。但是在实际的使用中,无论是优雅重启协商的询问才艮文的发送 方还是优雅重启协商的询问报文的接收方的路由器都是相同的,因此,在实际 使用中每个路由器均可以作为优雅重启协商的询问报文的发送方和优雅重启协 商的询问报文的接收方,请参见图8所示,图8为本发明实现虚拟路由器冗余 协议的重启的路由器又 一 实施例的结构示意图。路由器300具体包括报文定义单元310、状态检测单元320、协商会话单 元330、时间单元340以及状态设定单元350。报文定义单元310、状态检测单 元320、协商会话单元330、第二时间单元340以及状态设定单元350依次相连。报文定义单元310,该单元用于定义所述协商会话单元进行虚拟路由器冗余 协议的优雅重启协商的通信报文,即预先配置优雅重启协商功能,所述的优雅 重启协商通信报文包括优雅重启询问报文和优雅重启响应报文,这两种报文通 过对VRRP协议普通协议报文扩展来实现,其中扩展的字段为VRRP协议普通 协议报文的Type字段。状态检测单元320,该单元在没发生主备倒换时,作为优雅重启询问报文的 接收方时用于路由器300的状态.协商会话单元330,该单元用于与其他路由器进行优雅重启协商。在同一路 由器中可根据是否发生了主备倒换决定作为优雅重启询问报文的接收方或者发 送方,即发生了主备倒换时作为优雅重启询问报文发送方,没发生主备倒换时 作为优雅重启询问报文的接收方。发送模块331,在虛拟路由器冗余协议发生重启后,该模块用来发送优雅重启询问报文;或路由器300状态为主用的情况下,在接收到其他路由器发送的优雅重启询问净艮文后向该路由器发送优雅重启响应才艮文。接收模块332,用于接收发送的优雅重启响应报文或优雅重启响应报文。 时间单元340,该单元用于设置时间间隔并用于计时。在发生了主备倒换时作为优雅重启询问报文发送方时,设置第一时间间隔Tl,没发生主备倒换时作为优雅重启询问报文的接收方时,在响应优雅重启询问报文时设置第二时间间隔T2。状态设定单元350,该单元用于根据与所述协商会话单元同其他路由器的所 述优雅重启协商询问结果进行路由器状态设定。在发生了主备倒换时作为优雅重启询问报文发送方时,在时间单元340计 时结束的Tl时限内,协商会话单元330接收到其他路由器响应的优雅重启响应 报文,则说明当前存在主用状态的路由器,状态设定单元350将本地路由器300 的状态设定为备用状态,并删除时间单元中Tl的设置。在没发生主备倒换时作为优雅重启询问报文接收方时,当不响应优雅重启 询问报文时,在时间单元340设置的第二时间间隔T2时限内本地路由器300是 否接收到普通协议报文来设定路由器的状态,如果接收到普通协议报文,说明 存在主用状态的路由器,则维持本地路由器300的状态为备用状态并取消T2时 间间隔的设置;如果接收不到普通协议报文,说明当前没有主用状态的路由器, 则更改当前的本地路由器300的状态,设定为主用状态。当然如果存在多个同 时接收到优雅询问报文的备用状态路由器则优先级最高的备用路由器升级为主 用路由器,其他的路由器仍然维持备用状态。当优雅重启协商结果为响应优雅重启询问报文时,则维持本地路由器30状 态为主用状态。当然,本发明不仅仅针对狭义上的路由器,所有具有路由功能的设备,比 如三层交换机或者一些服务器均可使用本发明方法,而这种等同的变化同样受 本发明的保护。本发明实施例通过在路由器发生主控板和备用主控板倒换期间,虛拟路由器的路由器组中其他路由器保持一段时间的当前状态,而不是像原来那样在超 时后升级为主用路由器或变为备用状态。在此期间发生主控板和备用主控板倒换路由器和其他路由器通过协商恢复倒换前的VRRP主用状态和备用状态关系,避免状态切换。从而能够有效解决主控板和备用主控板倒换期间能够不间断转发VRRP用户流量,减少VRRP状态切换导致的报文丢失和系统繁忙。减少状 态切换导致的用户业务短时中断,提高备份路由器设备的可服务性。以上所列举的仅为本发明较佳实施例而已,当然不能以此来限定本发明之 权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
权利要求
1. 一种虚拟路由器冗余协议的重启方法,其特征在于,包括设置第一时间间隔,所述的时间间隔为优雅重启协商的时限参量;向其他路由器发送优雅重启询问报文启动预先配置的优雅重启协商功能,并启动计时装置开始计时;根据第一时间间隔时限内与其他路由器的优雅重启协商询问结果执行路由器状态设定操作,所述路由器状态为表述路由器组中本地路由器当前状态的参量。
2、 如权利要求1所述的虚拟路由器冗余协议的重启方法,其特征在于,所 述的路由器状态包括主用状态、备用状态以及中间状态,所述主用状态表明 该路由器处于承担通讯任务状态,所述备用状态表明该路由器处于就绪监听状 态,所述中间状态表明该路由器处于主备倒换状态,所述主备倒换是指路由器 中主控板和备用主控板发生倒换。
3、 如权利要求1所述的虚拟路由器冗余协议的重启方法,其特征在于,在 所述预先配置的优雅重启协商功能具体为定义虚拟路由器冗余协议的优雅重启协商通信报文,所述的优雅重启协商 通信报文包括所述优雅重启询问报文和优雅重启响应报文;所述优雅重启询问 报文在发生主备倒换后触发发送;所述优雅重启响应才艮文仅能由主用状态路由 器回复。
4、 如权利要求3所述的虚拟路由器冗余协议的重启方法,其特征在于,所 述的优雅重启询问报文中包含本地优先级信息和所述的第一时间间隔信息。
5、 如权利要求1所述的虚拟路由器冗余协议的重启方法,其特征在于,所述根据第一时间间隔时限内与其他路由器的优雅重启协商询问结果执行路由器状态设定操作前还包括在第 一时间间隔的时限内检测是否接收到优雅重启响应才艮文,如果检测到 优雅重启响应报文则优雅重启协商结果为有响应;如果检测不到优雅重启响应 ^JL,则优雅重启协商结果为无响应。
6、 如权利要求5所述的虚拟路由器冗余协议的重启方法,其特征在于,所 述根据与其他路由器的优雅重启协商结果执行路由器状态设定操作具体为在第一时间间隔内,优雅重启协商结果为有响应时,将路由器的状态设定 为备用状态,并删除第一时间间隔的设置;或,在第一时间间隔内,优雅重启协商结果为无响应时,则将路由器状态设定 为主用状态。
7、 一种虚拟路由器冗余协议的重启方法,其特征在于,包括: 接收到所述优雅重启询问报文后,并启动预先配置的优雅重启协商功能; 根据本地路由器状态决定是否响应接收到的所述优雅重启询问报文,如果响应该询问才艮文,则返回所述优雅重启响应才艮文;根据与发送优雅重启询问报文的路由器的优雅重启协商响应结果执行路由 器状态设定操作。
8、 如权利要求7所述的虚拟路由器冗余协议的重启方法,其特征在于,所 述根据本地路由器状态决定是否对接收到的所述优雅重启询问才艮文返回所述优 雅重启响应^艮文包括检测本地路由器状态;当路由器自身状态的检测结果为备用状态时,不响应优雅重启询问报文;或,当路由器自身状态的检测结果为主用状态时,响应优雅重启询问报。
9、 如权利要求8所述的虛拟路由器冗余协议的重启方法,其特征在于,所 述根据所述与其他路由器进行优雅重启协商结果执行路由器状态设定操作具体 为当优雅重启协商结果为不响应优雅重启询问报文时,设置第二时间间隔, 所述的第二时间间隔至少为所述第 一 时间间隔的两倍;根据第二时间间隔内是否接收到普通协议报文来确认路由器的状态,如果 接收到普通协议报文,维持路由器的状态为备用状态;如果接收不到普通协议 报文,则更改当前的路由器状态,设定为主用状态;所述的普通协议报文为正 常状态下由主用状态的路由器发送的通告报文;或,当优雅重启协商结果为响应优雅重启询问报文时,则不更改路由器当前状 态,维持路由器状态为主用状态。
10、 一种路由器,其特征在于,包括时间单元,该单元用于^殳置所述的时间间隔并用于计时; 协商会话单元,该单元在发生主备倒换后,用于与其他路由器进行优雅重 启协商;状态设定单元,该单元用于根据所述时间单元:&置的第 一时间间隔时限内 与所述协商会话单元同其他路由器的所述优雅重启协商询问结果进行路由器状 态设定。
11、 如权利要求IO所述的路由器,其特征在于,还包括 报文定义单元,该单元用于定义所述协商会话单元进行虚拟路由器冗余协议的优雅重启协商的通信报文。
12、如权利要求IO所述的路由器,其特征在于,所述协商会话单元具体包括发送模块,该模块用于发送所述的优雅重启协商的通信报文; 接收模块,该模块用于接收所述的优雅重启协商的通信报文。
13、 一种路由器,其特征在于,包括协商会话单元,该单元用于根据本地路由器状态决定是否响应接收到的所 述优雅重启询问报文,如果响应该询问报文,则返回所述优雅重启响应报文;状态设定单元,该单元用于根据本地路由器所述协商会话单元与发送优雅 重启询问报文的路由器的所述优雅重启协商响应结果执行路由器状态设定操作。
14、 如权利要求13所述的路由器,其特征在于,还包括 状态检测单元,该单元在接收到优雅重启询问报文后用于检测路由器自身状态。
15、 如权利要求13所述的路由器,其特征在于,还包括 报文定义单元,该单元用于定义所述协商会话单元进行虚拟路由器冗余协议的优雅重启协商的通信报文;时间单元,该单元用于设置所述的时间间隔并用于计时。
全文摘要
本发明实施例公开了一种虚拟路由器冗余协议的重启方法,该方法包括设置第一时间间隔,所述的时间间隔为优雅重启协商的时限参量;向其他路由器发送优雅重启询问报文启动预先配置的优雅重启协商功能,并启动计时装置开始计时;根据第一时间间隔时限内与其他路由器的优雅重启协商询问结果执行路由器状态设定操作,所述路由器状态为表述路由器组中本地路由器当前状态的参量。相应的,本发明实施例还公开了一种路由器。本发明实施例通过发生主用主控板与备用主控板倒换的路由器与其他路由器之间的优雅协商,能够有效减少状态切换导致的用户业务短时中断,提高备份路由器设备的可服务性。
文档编号H04L12/24GK101277262SQ200810027838
公开日2008年10月1日 申请日期2008年4月30日 优先权日2008年4月30日
发明者勇 于, 强小应 申请人:华为技术有限公司