一种虚拟路由器冗余协议备份组切换的方法和交换机
技术领域
本申请涉及通信技术领域,特别涉及一种虚拟路由器冗余协议备份组切换的方法和交换机。
背景技术
虚拟路由器冗余协议(VirtualRouterRedundancyProtocol,VRRP)将可以承担网关功能的一组路由器加入到备份组中,形成一台虚拟路由器,由VRRP的选举机制决定哪台路由器承担转发任务,局域网内的主机只需将虚拟路由器配置为缺省网关。
VRRP是一种容错协议,在提高可靠性的同时,简化了主机的配置。在具有多播或广播能力的局域网,如以太网中,借助VRRP能在某台路由器出现故障时仍然提供高可靠的缺省链路,有效避免单一链路发生故障后网络中断的问题,而无需修改动态路由协议、路由发现协议等配置信息。设备支持标准协议模式和负载均衡模式两种模式的VRRP。
在VRRP标准协议模式下的VRRP组网中虚拟路由器具有因特网协议(IP)地址,称为虚拟IP地址。局域网内的主机仅需要知道这个虚拟路由器的IP地址,并将其设置为缺省路由的下一跳地址。网络内的主机通过这个虚拟路由器与外部网络进行通信。备份组内的路由器根据优先级,选举出主路由器,承担网关功能。其他路由器作为备份路由器,当主路由器发生故障时,取代主路由器继续履行网关职责,从而保证网络内的主机不间断地与外部网络进行通信。
参见图1,图1为。支持标准协议模式的VRRP组网结构示意图。图1中路由器111和路由器112组成一个虚拟路由器。此虚拟路由器有自己的IP地址。局域网内的主机121将虚拟路由器设置为缺省网关。路由器111和路由器112中优先级最高的路由器作为主路由器,承担网关的功能。路由器112作为备份路由器。如果路由111发生故障,则VRRP备份组内处于备份状态的路由器112将作为新的主路由器,这个新主路由器继续向网络内的主机提供路由服务。
主路由器降级时,多台备份路由器进行抢占,容易导致VRRP震荡。目前的解决方案是,主降级处理时,通知备份路由器延迟抢占。当存在大量VRRP备份组同时切换时,会发送大量的报文,占用大量中央处理单元(CPU)的处理时间。
发明内容
有鉴于此,本申请提供一种虚拟路由器冗余协议备份组切换的方法和交换机,能够提高VRRP备份组切换性能,收敛VRRP震荡时间。
为解决上述技术问题,本发明的技术方案是这样实现的:
一种虚拟路由器冗余协议VRRP备份组切换的方法,应用于包括VRRP备份组、交换机的VRRP组网中,若该VRRP组网支持标准协议模式,该交换机监听各VRRP备份组中路由器发送的VRRP通告报文,并根据监听到的VRRP通告报文建立VRRP表项,该VRRP表项包含的内容为:VRID和VRRP备份组优先级;包括:
当监听到任一路由器发送的VRRP通告报文时,若确定该通告报文携带的VRRP备份组优先级低于,该VRRP通告报文携带的VRID对应的VRRP表项中的VRRP备份组优先级,该交换机根据该VRRP表项和监听到的VRRP通告报文在本地模拟生成VRRP通告报文,并向该VRID对应的VRRP备份组中,将要切换为主路由器的路由器之外的路由器发送;
当确定该VRRP备份组切换完成时,该交换机停止发送本地模拟生成的VRRP通告报文。
一种交换机,可应用于包括VRRP备份组的VRRP组网中,所述交换机包括:配置单元、监听单元、确定单元、生成单元和发送单元;
所述配置单元,若用于配置标准协议模式VRRP;当所述监听单元监听到各VRRP备份组中路由器发送的VRRP通告报文时,根据监听到的VRRP通告报文建立VRRP表项,该VRRP表项包含的内容为:VRID和VRRP备份组优先级;
所述监听单元,用于监听路由器发送的VRRP通告报文;
所述确定单元,用于当所述监听单元监听到任一路由器发送的VRRP通告报文时,将该通告报文携带的VRRP备份组优先级与,该VRRP通告报文携带的VRID对应的所述配置单元中的VRRP表项中的VRRP备份组优先级进行比较;用于确定该VRRP备份组切换是否完成;
所述生成单元,用于当所述确定单元确定该通告报文携带的VRRP备份组优先级低于,该VRRP通告报文携带的VRID对应的VRRP表项中的VRRP备份组优先级,根据该VRRP表项和监听到的VRRP通告报文在本地模拟生成VRRP通告报文;
所述发送单元,用于将所述生成单元模拟生成的VRRP通告报文向该VRID对应的VRRP备份组中,将要切换为主路由器的路由器之外的路由器发送;当所述确定单元确定该VRRP备份组切换完成时,停止发送本地模拟生成的VRRP通告报文。
综上所述,本申请通过交换机在监听到任一路由器发送的VRRP通告报文,若确定该通告报文携带的VRRP备份组优先级低于,该VRRP通告报文携带的VRID对应的VRRP表项中的VRRP备份组优先级,该交换机根据该VRRP表项和监听到的VRRP通告报文在本地模拟生成VRRP通告报文,并向该VRID对应的VRRP备份组中,将要切换为主路由器的路由器之外的路由器发送;当确定该VRRP备份组切换完成时,该交换机停止发送本地生成的VRRP通告报文。通过该方法能够提高VRRP备份组切换性能,收敛VRRP震荡时间。
附图说明
图1为支持标准协议模式的VRRP组网结构示意图;
图2为本发明具体实施例中VRRP备份组切换的方法流程示意图;
图3为本发明实施例二中VRRP备份组切换的方法流程示意图;
图4为本发明实施例三中VRRP备份组切换的方法流程示意图;
图5为负载均衡模式的VRRP组网结构示意图;
图6为本发明具体实施例中应用于上述技术的交换机的结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
本发明实施例中提出一种VRRP备份组切换的方法,应用于包括VRRP备份组、交换机的VRRP组网中。该交换机在监听到任一路由器发送的VRRP通告报文,若确定该通告报文携带的VRRP备份组优先级低于,该VRRP通告报文携带的VRRP备份组标识(VRID)对应的VRRP表项中的VRRP备份组优先级,该交换机根据该VRRP表项和监听到的VRRP通告报文在本地模拟生成VRRP通告报文,并向该VRID对应的VRRP备份组中,将要切换为主路由器的路由器之外的路由器发送;当确定该VRRP备份组切换完成时,该交换机停止发送本地生成的VRRP通告报文。通过该方法能够提高VRRP备份组切换性能,收敛VRRP震荡时间。
实施例一
若该VRRP组网支持标准协议模式,该交换机监听组网中任一路由器发送的VRRP通告报文,并根据监听到的VRRP通告报文建立VRRP表项,该VRRP表项包含的内容为:VRID和VRRP备份组优先级。
参见图2,图2为本发明具体实施例中VRRP备份组切换的方法流程示意图。具体步骤为:
步骤201,交换机监听到任一路由器发送的VRRP通告报文。
监听到任一路由器发送的VRRP通告报文时,根据该报文携带的VRID确定本地是否存在该VRID对应的VRRP表项,如果不存在,根据监听到的VRRP通告报文在本地建立VRRP表项,如果存在,将该VRRP通告报文携带的VRRP备份组优先级与该VRRP表项中的VRRP备份组优先级进行比较。
步骤202,该交换机若确定该通告报文携带的VRRP备份组优先级低于该VRRP通告报文携带的VRID对应的VRRP表项中的VRRP备份组优先级,该交换机根据该VRRP表项和监听到的VRRP通告报文在本地模拟生成VRRP通告报文,并向该VRID对应的VRRP备份组中,将要切换为主路由器的路由器之外的路由器发送。
本步骤中该交换机若确定监听到的VRRP通告报文携带的VRRP备份组优先级等于该通告报文携带的VRID对应的VRRP表项中的VRRP备份组优先级,则直接转发监听到的VRRP通告报文;若监听到的VRRP通告报文携带的VRRP备份组优先级高于该通告报文携带的VRID对应的VRRP表项中的VRRP备份组优先级,则更新对应的VRRP表项,并转发监听到的VRRP通告报文。
本步骤中该交换机根据监听到的VRRP通告报文和该VRRP表项在本地模拟生成VRRP通告报文,包括:根据VRRP表项中记录的VRID和VRRP备份组优先级,以及监听到的VRRP通告报文携带的虚拟IP地址、虚拟MAC地址和VLANID模拟生成VRRP通告报文。
由于该VRRP表项中的VRRP备份组优先级高于发送VRRP通告报文携带的VRRP备份组优先级,因此,将本地模拟生成的VRRP通告报文发送给发送VRRP通告报文的路由器,即旧的主路由器接收到该模拟的VRRP通告报文时,发现该VRRP通告报文中的VRRP备份组优先级高于本地VRRP备份组优先级,因此旧的主路由器保持备份状态。而交换机模拟的VRRP通告报文不向将要切换为新的主路由器发送该报文,使该VRRP备份组中各路由器尽快完成主备切换。
该方法进一步包括:该交换机为各VRRP备份组中路由器配置与本交换机相连的VRRP信任端口,以及各VRRP信任端口的优先级。
配置VRRP信任端口后,对协议号为112的IP报文放行,即允许VRRP通告报文在局域网内转发,其他未配置VRRP信任端口的端口默认不转发,可以防止接收伪VRRP备份组中的VRRP通告报文。
若确定该通告报文携带的VRRP备份组优先级低于该VRRP通告报文携带的VRID对应的VRRP表项中的VRRP备份组优先级,该方法进一步包括:将接收VRRP通告报文的VRRP信任端口之外的,且配置的优先级最高的VRRP信任端口更新到该VRRP对应的MAC地址表项中。
当将要进行VRRP备份组切换时,该VRRP备份组的MAC地址表项需要更新,即各客户端要与IPnetwork通信的网关有变化,由于在同一个VRRP备份组中,该VRRP备份组中的各路由器切换为主时,虚拟MAC地址不变,因此,只需将MAC地址表项中的端口修改即可。
将要切换为主路由器的路由器为,通过接收VRRP通告报文的VRRP信任端口之外的,且配置的优先级最高的VRRP信任端口连接的路由器。
步骤203,该交换机当确定该VRRP备份组切换完成时,该交换机停止发送本地模拟生成的VRRP通告报文。
在VRRP备份组切换完成时,即优先级较高的旧的备份路由器的备份状态切换成主状态时,该交换机不再发送本地模拟生成的VRRP通告报文。
以图1为例,来详细说明本发明具体实施例中如何实现VRRP备份组切换的。
交换机101为VRRP备份组1中的路由器111和路由器112在本地分别配置VRRP信任端口1和VRRP信任端口2。并为VRRP信任端口1和VRRP信任端口2分配优先级。
假设路由器111是VRRP备份组1中的主路由器,路由器111向路由器112发送VRRP通告报文,当该VRRP通告报文被交换机101监听到时,根据该VRRP通告报文在本地建立VRRP表项,参见表1,表1为监听路由器101发送的VRRP通告报文建立的VRRP表项包含的内容。
表1
交换机101继续监听VRRP备份组1中的路由器发送的VRRP通告报文,监听到VRRP报文时,根据报文中携带的虚拟MAC地址查找对应的VRRP表项,若该VRRP通告报文中携带的VRRP备份组优先级还是7,则直接转发监听到的VRRP通告报文,若该VRRP通告报文携带的优先级为8,则更新表1中的VRRP备份组优先级,并转发监听到的VRRP通告报文;若该VRRP通告报文携带的VRRP备份组优先级为6,则确定携带的VRRP备份组优先级,低于本地VRRP表项中记录的VRRP备份组优先级时,确定路由器111发送降级报文,该VRRP备份组1将进行备份组切换。
交换机101不再转发该VRRP通告报文,而是根据表1中的VRID和VRRP备份组优先级,以及监听到的VRRP通告报文中携带的虚拟IP地址、虚拟MAC地址和VLANID模拟生成VRRP通告报文,并向路由器111发送,使路由器111接收到该VRRP通告报文时进入备份状态,不再发送VRRP通告报文。由于除了VRRP信任端口1之外只有VRRP信任端口2,因此不通过VRRP信任端口2发送该模拟生成的VRRP通告报文。当然如果除了VRRP信任端口1之外该备份组中还配置了多个VRRP信任端口,则比较为这多个VRRP信任端口分配的优先级,对于VRRP信任端口分配的优先级最高的VRRP信任端口,不通过该优先级最高的VRRP信任端口发送报文。
该交换机发送VRRP通告报文都是按VRRP报文中携带的通告周期,周期发送的,因此可以将模拟生成的VRRP通告报文存储在本地,所述通告周期到时,再次发送该模拟生成的VRRP通告报文,直到确定该VRRP备份组切换完成时,停止该模拟生成的VRRP通告报文。
该交换机也可以不存储模拟生成的VRRP通告报文,而是将监听到的VRRP通告报文中携带的虚拟IP地址、通告周期、虚拟MAC地址和VLANID记录在对应的VRRP表项中,在所述通告周期到时时,根据该VRRP表项再次模拟生成VRRP通告报文,并发送,直到确定该VRRP备份组切换完成时,停止该模拟生成的VRRP通告报文。
交换机101在确定VRRP备份组1切换完成时,停止发送模拟生成的VRRP通告报文。
实施例二
该实施例通过配置时间来实现交换机如何确定该VRRP备份组切换完成。
参见图3,图3为本发明实施例二中VRRP备份组切换的方法流程示意图。具体步骤为:
步骤301,交换机根据该VRRP表项和监听到的VRRP通告报文在本地模拟生成VRRP通告报文,并向该VRID对应的VRRP备份组中,将要切换为主路由器的路由器之外的路由器发送时,启动定时器。
步骤302,当所述定时器定时到时,停止发送本地模拟生成的VRRP通告报文。
本步骤中通过定时器实现静态预设一定时间实现确定VRRP备份组切换完成。
步骤303,该交换机若监听到该VRRP备份组中任一路由器发送的VRRP通告报文,根据监听到的VRRP通告报文,更新该VRRP通告报文携带的VRID对应的VRRP表项,并在该VRRP备份组中转发监听到的VRRP通告报文。
仍然以图1为例,接收到切换后的主状态的路由器112发送的VRRP通告报文,或路由器111的上行链路故障又恢复时发送的VRRP通告报文时,根据该VRRP通告报文中携带的VRRP备份优先级更新VRRP表项,并停止发送本地模拟生成的VRRP通告报文。
实施例三
该实施例通过接收到任一路由器发送的VRRP通告报文确定该VRRP备份组切换完成。
参见图4,图4为本发明实施例三中VRRP备份组切换的方法流程示意图。具体步骤为:
步骤401,交换机根据该VRRP表项和监听到的VRRP通告报文在本地模拟生成VRRP通告报文,并向该VRID对应的VRRP备份组中,将要切换为主路由器的路由器之外的路由器发送。
步骤402,当该交换机监听到该VRRP备份组中任一路由器发送的VRRP通告报文时,停止发送本地模拟生成的VRRP通告报文。
步骤403,该交换机根据监听到的VRRP通告报文,更新该VRRP通告报文携带的VRID对应的VRRP表项,并在该VRRP备份组中转发监听到的VRRP通告报文。
实施例四
该VRRP组网支持负载均衡模式,与支持标准协议模式实现时的不同在于,建立的VRRP表项的内容还包含处于激活状态的虚拟转发器标识(AVFID)。接收到VRRP通告报文时,根据VRRP通告报文中携带的AVFID和VRID查找对应的VRRP表项,根据VRRP通告报文中携带的AVFID和VRID确定对应的VRRP备份组。因为在支持负载均衡模式的组网中存在多个RIID相同的备份组,需要通过各VRRP备份组中的AVFIF对应的AVF确定。
参见图5,图5为负载均衡模式的VRRP组网结构示意图。图5中交换机501该交换机为各VRRP备份组2中路由器配置与本交换机相连的VRRP信任端口3、VRRP信任端口4和VRRP信任端口5,以及各VRRP信任端口的优先级,假设VRRP信任端口3配置的优先级为5,VRRP信任端口4配置的优先级为4,VRRP信任端口5配置的优先级为6;由于该VRRP组网为负载均衡模式,因此当路由器511为主路由器时,为各路由器分配虚拟MAC地址。假设在路由器511上的为AVF1,在路由器512上的为AVF2,在路由器513上的为AVF3.交换机501会分别监听到路由器511、路由器512和路由器513发送的VRRP通告报文,以监听到路由器511发送的VRRP通告报文为例。根据监听到得VRRP通告报文生成VRRP表项。参见表2,表2为交换机501监听到路由器511发送的VRRP通告报文建立的VRRP表项包含的内容。
VRID |
AVF ID |
VRRP备份组优先级 |
2 |
1 |
5 |
表2
该交换机再次监听到路由器511发送的VRRP通告报文时,将VRRP报文中携带的VRRP备份组优先级与,该VRRP通告报文中携带VRID和AVFID对应的VRRP表项中的VRRP备份组优先级进行比较,相同时,直接转发监听到的VRRP通告报文;高于时,更新该VRRP表项,低于时,停止转发监听到的VRRP通告报文。
该交换机根据该VRRP表项和监听到的VRRP通告报文模拟生成VRRP通告报文,通过VRRP信任端口3和VRRP信任端口4转发该模拟生成的VRRP通告报文。因为除了VRRP信任端口3之外,VRRP信任端口5分配的优先级较高。
当交换机501确定该VRRP备份组切换完成时,停止发送模拟生成的VRRP通告报文。其中,确定的VRRP备份组为AVF1和VR2对应的VRRP备份组。
本发明具体实施例中基于同样的发明构思,还提出一种交换机,可应用于包括VRRP备份组的VRRP组网中,参见图6,图6为本发明具体实施例中应用于上述技术的交换机的结构示意图。该交换机包括:配置单元601、监听单元602、确定单元603、生成单元604和发送单元605。
配置单元601,若用于配置标准协议模式VRRP;当监听单元602监听到各VRRP备份组中路由器发送的VRRP通告报文时,根据监听到的VRRP通告报文建立VRRP表项,该VRRP表项包含的内容为:VRID和VRRP备份组优先级。
监听单元602,用于监听路由器发送的VRRP通告报文。
确定单元603,用于当监听单元602监听到任一路由器发送的VRRP通告报文时,将该通告报文携带的VRRP备份组优先级与,该VRRP通告报文携带的VRID在配置单元601中对应的VRRP表项中的VRRP备份组优先级进行比较;用于确定该VRRP备份组切换是否完成。
生成单元604,用于当确定单元603确定该通告报文携带的VRRP备份组优先级低于,该VRRP通告报文携带的VRID对应的VRRP表项中的VRRP备份组优先级,根据该VRRP表项和监听到的VRRP通告报文在本地模拟生成VRRP通告报文。
发送单元605,用于将生成单元604模拟生成的VRRP通告报文向该VRID对应的VRRP备份组中,将要切换为主路由器的路由器之外的路由器发送;当确定单元603确定该VRRP备份组切换完成时,停止发送本地模拟生成的VRRP通告报文。
较佳地,该交换机进一步包括:定时单元606。
定时单元606,用于发送单元605向该VRID对应的VRRP备份组中,将要切换为主路由器的路由器之外的路由器发送时,启动定时器。
发送单元605,进一步用于当定时单元606定时到时,停止发送本地模拟生成的VRRP通告报文。
配置单元601,进一步用于当发送单元605停止发送本地模拟生成的VRRP通告报文之后,监听单元602监听到该VRRP备份组中任一路由器发送的VRRP通告报文时,根据监听到的VRRP通告报文,更新该VRRP通告报文携带的VRID对应的VRRP表项。
发送单元605,进一步用于当发送单元605停止发送本地模拟生成的VRRP通告报文之后,监听单元602监听到该VRRP备份组中任一路由器发送的VRRP通告报文时,在该VRRP备份组中转发监听到的VRRP通告报文。
较佳地,
发送单元605,进一步用于将生成单元604模拟生成的VRRP通告报文向该VRID对应的VRRP备份组中,将要切换为主路由器的路由器之外的路由器发送之后,当监听单元602监听到该VRRP备份组中任一路由器发送的VRRP通告报文时,停止发送本地模拟生成的VRRP通告报文,并在该VRRP备份组中转发监听到的VRRP通告报文。
配置单元601,根据监听单元602监听到得VRRP通告报文更新该VRRP通告报文携带的VRID对应的VRRP表项。
较佳地,该交换机进一步包括更新单元607。
配置单元601,进一步用于为各VRRP备份组中路由器配置与本交换机相连的VRRP信任端口,以及各VRRP信任端口的优先级。
更新单元607,用于当确定单元603若确定该通告报文携带的VRRP备份组优先级低于该VRRP通告报文携带的VRID对应的VRRP表项中的VRRP备份组优先级时,将接收VRRP通告报文的VRRP信任端口之外的,且配置单元601配置的优先级最高的VRRP信任端口更新到该VRRP对应的MAC地址表项中。
发送单元605,用于不向通过接收VRRP通告报文的VRRP信任端口之外的,且配置的优先级最高的VRRP信任端口发送生成单元604模拟生成的VRRP通告报文。
较佳地,
配置单元601,进一步用于当生成单元604根据该VRRP表项和监听到的VRRP通告报文在本地模拟生成VRRP通告报文之后,在对应的VRRP表项中记录通告周期、虚拟IP地址、虚拟MAC地址和VLANID。
生成单元604,用于在配置单元601中对应的VRRP表项中的通告周期到时时,根据该VRRP表项的内容模拟生成VRRP通告报文,并使发送单元605发送。
较佳地,
配置单元601,进一步用于当生成单元604根据该VRRP表项和监听到的VRRP通告报文在本地模拟生成VRRP通告报文之后,存储该模拟生成的VRRP通告报文。
发送单元605,进一步用于在配置单元601中存储的VRRP通告报文中携带的通告周期到时再次发送该VRRP通告报文。
较佳地,
配置单元601,若用于配置负载均衡模式VRRP,在本地配置根据监听到的VRRP通告报文建立的VRRP表项的内容还包括:AVFID。
所述VRRP备份组为VRID和AVFID对应的VRRP备份组。
所述VRRP表项为VRID和AVFID对应的VRRP备份组。
上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。
综上所述,本发明具体实施例中分别给出在支持标准协议模式的VRRP组网中和支持负载均衡模式的VRRP组网中实现VRRP备份组切换的实现方式。支持标准协议的具体实现为,交换机在监听到任一路由器发送的VRRP通告报文,在本地建立VRRP表项。再次监听到VRRP通告报文时,若确定该通告报文携带的VRRP备份组优先级低于,该VRRP通告报文携带的VRID对应的VRRP表项中的VRRP备份组优先级,该交换机根据该VRRP表项和监听到的VRRP通告报文在本地模拟生成VRRP通告报文,并向该VRID对应的VRRP备份组中,将要切换为主路由器的路由器之外的路由器发送;当确定该VRRP备份组切换完成时,该交换机停止发送本地生成的VRRP通告报文。通过该方法能够提高VRRP备份组切换性能,收敛VRRP震荡时间。
对于支持负载均衡模式的VRRP组网中实现通支持标准协议模式的VRRP组网中类似,但是由于负载均衡模式中同一个VRRP备份组对应多个AVFID不一样的备份组,因此在支持负载均衡模式的VRRP备份组中还不仅需要VRID确定VRRP备份组,还需要AVFID确定VRRP备份组。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。