具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
本发明实施例中提出一种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地址和VLAN ID模拟生成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地址表项需要更新,即各客户端要与IP network通信的网关有变化,由于在同一个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地址和VLAN ID记录在对应的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表项的内容还包含处于激活状态的虚拟转发器标识(AVF ID)。接收到VRRP通告报文时,根据VRRP通告报文中携带的AVF ID和VRID查找对应的VRRP表项,根据VRRP通告报文中携带的AVF ID和VRID确定对应的VRRP备份组。因为在支持负载均衡模式的组网中存在多个RIID相同的备份组,需要通过各VRRP备份组中的AVF IF对应的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和AVF ID对应的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地址和VLAN ID。
生成单元604,用于在配置单元601中对应的VRRP表项中的通告周期到时时,根据该VRRP表项的内容模拟生成VRRP通告报文,并使发送单元605发送。
较佳地,
配置单元601,进一步用于当生成单元604根据该VRRP表项和监听到的VRRP通告报文在本地模拟生成VRRP通告报文之后,存储该模拟生成的VRRP通告报文。
发送单元605,进一步用于在配置单元601中存储的VRRP通告报文中携带的通告周期到时再次发送该VRRP通告报文。
较佳地,
配置单元601,若用于配置负载均衡模式VRRP,在本地配置根据监听到的VRRP通告报文建立的VRRP表项的内容还包括:AVF ID。
所述VRRP备份组为VRID和AVF ID对应的VRRP备份组。
所述VRRP表项为VRID和AVF ID对应的VRRP备份组。
上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。
综上所述,本发明具体实施例中分别给出在支持标准协议模式的VRRP组网中和支持负载均衡模式的VRRP组网中实现VRRP备份组切换的实现方式。支持标准协议的具体实现为,交换机在监听到任一路由器发送的VRRP通告报文,在本地建立VRRP表项。再次监听到VRRP通告报文时,若确定该通告报文携带的VRRP备份组优先级低于,该VRRP通告报文携带的VRID对应的VRRP表项中的VRRP备份组优先级,该交换机根据该VRRP表项和监听到的VRRP通告报文在本地模拟生成VRRP通告报文,并向该VRID对应的VRRP备份组中,将要切换为主路由器的路由器之外的路由器发送;当确定该VRRP备份组切换完成时,该交换机停止发送本地生成的VRRP通告报文。通过该方法能够提高VRRP备份组切换性能,收敛VRRP震荡时间。
对于支持负载均衡模式的VRRP组网中实现通支持标准协议模式的VRRP组网中类似,但是由于负载均衡模式中同一个VRRP备份组对应多个AVF ID不一样的备份组,因此在支持负载均衡模式的VRRP备份组中还不仅需要VRID确定VRRP备份组,还需要AVF ID确定VRRP备份组。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。