一种实现vrrp负载分担的方法和设备的制作方法

文档序号:7862509阅读:323来源:国知局
专利名称:一种实现vrrp负载分担的方法和设备的制作方法
技术领域
本发明涉及通信领域,尤其涉及实现VRRP负载分担的方法和设备。
背景技术
网关是网络世界至关重要的角色之一,流量必须经过网关的转发才能实现内部主机和外部网络的通信。当网关发生故障时,内部主机就与外部网络失去了联系。网关为用户的配置操作提供了方便,但是对设备的稳定性提出了很高的要求。在现有技术中,通常通过增加网关数量的方式来提高系统的可靠性,但是如何在多个出口之间选择转发路径成为急需解决的问题。现有技术中通常米用VRRP (Virtual Router Redundancy Protocol,虚拟路由器冗余协议)技术解决上述问题。VRRP可以将承担网关功能的一组路由器模拟成一台虚拟路由器,这些路由器可以互为备份,增强了系统可靠性。具体的,VRRP将局域网内的可以承担网关功能的一组路由器划分在一起,组成一个备份组。备份组由一台Master (主)路由器和多台Backup (备份)路由器组成,对外相当于一台虚拟路由器。虚拟路由器具有IP (Internet Protocol,互联网协议)地址,称为虚IP地址。局域网内的主机仅需要知道这台虚拟路由器的虚IP地址,并将其设置为网关的IP地址即可。局域网内的主机通过这台虚拟路由器与外部网络进行通信。VRRP备份组建立后,内部的流量由Master路由器转发至外部,当Master路由器出现故障时,满足预设条件的Backup路由器会自动升级为Master路由器承担转发任务,有效避免单一链路发生故障后网络中断的问题。其中,VRRP备份组中路由器的角色切换过程对内部主机是透明的,内部主机的流量可以自动切换至新的路径。VRRP技术提高了网关可靠性的同时,简化了主机的配置。但是在VRRP备份组中,只有Master路由器可以转发报文,Backup路由器处于监听状态,不参与报文的转发,导致了资源浪费。对于该问题,现有技术中有如下两种解决方案
(I), VRRPE (VRRP Extended, VRRP扩展)技术是VRRP技术的扩展,它在虚拟网关冗余备份功能基础上增加了负载分担功能。VRRPE实现的原理为将一个虚IP地址与多个虚拟MAC (Media Access Control,媒体访问控制)地址对应,VRRP备份组中每台路由器都对应一个虚拟MAC地址;Master路由器使用不同的虚拟MAC地址应答主机的ARP (AddressResolution Protocol,地址解析协议)/ND (Neighbor Discovery,邻居发现)请求,从而使得不同主机的流量发送到不同的路由器,备份组中的每台路由器都能转发流量。(2) GLBP (Gateway Load Balancing Protocol,网关负载均衡协议)是思科的私有协议,它不仅提供冗余网关,还在各网关之间提供负载均衡。GLBP可以绑定多个MAC地址到虚拟IP。对于相同的虚拟IP,不同的客户端会解析到不同的MAC地址,从而通过不同的路由器转发数据。但是,上述两种解决方案中,VRRPE属于私有协议,需要修改VRRP的报文结构,无法与其他厂商的设备互通,兼容性较差;GLBP同样属于私有协议,也存在兼容性问题。

发明内容
本发明的目的在于提供一种实现虚拟路由冗余协议VRRP负载分担的方法及其装置,以实现在不对现有VRRP协议进行改动的前提下,实现VRRP备份组负载分担,提高VRRP备份组的资源利用率。为此,本发明采用如下技术方案 一种实现虚拟路由冗余协议VRRP负载分担的方法,应用于VRRP组网,VRRP备份组中各路由器互不相连,二层交换机分别与所述VRRP备份组中的各路由器连接,且所述二层交换机阻断所述VRRP备份组中各路由器之间的VRRP报文交互,该方法包括
所述二层交换机接收所述路由器发送的VRRP通告报文,并根据该VRRP通告报文维护虚MAC表项;所述虚MAC表项中记录有所述二层交换机接收到的VRRP通告报文中携带的虚MAC地址与接收到该VRRP通告报文的端口的对应关系;
当所述二层交换机接收到目的MAC地址与所述虚MAC表项中记录的MAC地址匹配的报文时,所述二层交换机将所述目的MAC地址对应的端口中的一个端口确定为所述报文的出端口,并将所述报文从该出端口转发给对应的路由器。其中,所述二层交换机根据VRRP通告报文维护虚MAC表项,包括
所述二层交换机根据该VRRP通告报文中携带的虚MAC地址查询所述虚MAC表项;
当所述虚MAC表项中未记录有所述虚MAC地址对应的表项时,所述二层交换机建立所述虚MAC地址对应的表项,并将接收到该VRRP通告报文的端口记录到所述虚MAC地址对应的表项中;或,当所述虚MAC表项中记录有所述虚MAC地址对应的表项,但该表项中记录的端口不包含接收到所述VRRP通告报文的端口时,所述二层交换机将接收到所述VRRP通告报文的端口记录到所述虚MAC地址对应的表项中。其中,该方法还包括
所述虚MAC表项中记录的对应关系中未接收到VRRP通告报文的端口持续时长超过阈值时,删除相应的虚MAC表项中的该端口。其中,所述二层交换机将虚MAC表项中对应于同一个虚MAC地址的各端口加入到
同一个二层聚合口;
所述二层交换机将所述目的MAC地址对应的端口中的一个端口确定为所述报文的出端口,并将所述报文从该出端口转发给对应的路由器,具体为
所述二层交换机通过所述目的MAC地址对应的二层聚合口将所述报文转发给对应的
路由器。其中,所述二层交换机将所述目的MAC地址对应的端口中的一个端口确定为所述报文的出端口,并将所述报文从该出端口转发给对应的路由器,具体为
所述二层交换机根据预先配置的访问控制列表ACL规则对所述报文进行哈希运算,并根据哈希运算结果将所述目的MAC地址对应的端口中的一个端口确定为所述报文的出端口,并将所述报文从该出端口转发给对应的路由器。其中,该方法还包括
当所述二层交换机接收到客户端发送的目的IP地址为虚IP地址的地址解析协议ARP请求报文时,所述二层交换机终止该ARP请求报文,并确定所述目的IP地址对应的虚MAC地址,将所述目的IP地址与该虚MAC地址的对应关系携带在ARP应答报文中返回给所述客户端。其中,所述二层交换机接收所述路由器发送的VRRP通告报文,并根据该VRRP通告报文维护虚MAC表项,具体为
当所述二层交换机接收到所述VRRP通告报文的端口为预先配置的可靠端口时,所述 二层交换机根据接收到的VRRP通告报文维护虚MAC表项。一种网络设备,作为二层交换机应用于虚拟路由冗余协议VRRP组网,VRRP备份组中各路由器互不相连,该网络设备分别与所述VRRP备份组中的各路由器连接,且网络设备阻断所述VRRP备份组中各路由器之间的VRRP报文交互,该网络设备包括
第一接收模块,用于接收所述路由器发送的VRRP通告报文;
维护模块,用于根据所述VRRP通告报文维护虚MAC表项,所述虚MAC表项中记录有所述第一接收模块接收到的VRRP通告报文中携带的虚MAC地址与接收到该VRRP通告报文的端口的对应关系;
第二接收模块,用于接收客户端设备发送的报文;
第一发送模块,用于当所述第二接收模块接收到目的MAC地址与所述虚MAC表项中记录的MAC地址匹配的报文时,将所述目的MAC地址对应的端口中的一个端口确定为所述报文的出端口,并将所述报文从该出端口转发给对应的路由器。其中,所述维护模块具体用于,根据所述VRRP通告报文中携带的虚MAC地址查询所述虚MAC表项;当所述虚MAC表项中未记录有所述虚MAC地址对应的表项时,建立所述虚MAC地址对应的表项,并将接收到该VRRP通告报文的端口记录到所述虚MAC地址对应的表项中;或,当所述虚MAC表项中记录有所述虚MAC地址对应的表项,但该表项中记录的端口不包含接收到所述VRRP通告报文的端口时,将接收到所述VRRP通告报文的端口记录到所述虚MAC地址对应的表项中。其中,所述维护模块还用于,当所述虚MAC表项中记录的对应关系中未接收到VRRP通告报文的端口持续时长超过阈值时,删除相应的虚MAC表项中的该端口。其中,所述网络设备将虚MAC表项中对应于同一个虚MAC地址的各端口加入到同
一个二层聚合口;
所述第一发送模块具体用于,通过所述目的MAC地址对应的二层聚合口将所述报文转发给对应的路由器。其中,所述第一发送模块具体用于,根据预先配置的访问控制列表ACL规则对所述报文进行哈希运算,并根据哈希运算结果将所述目的MAC地址对应的端口中的一个端口确定为所述报文的出端口,并将所述报文从该出端口转发给对应的路由器。其中,该网络设备还包括
第二发送模块,用于当所述第二接收模块接收到客户端发送的目的IP地址为虚IP地址的地址解析协议ARP请求报文时,终止该ARP请求报文,并确定所述目的IP地址对应的虚MAC地址,将所述目的IP地址与该虚MAC地址的对应关系携带在ARP应答报文中返回给所述客户端。其中,所述维护模块具体用于,当所述第一接收模块接收到所述VRRP通告报文的端口为预先配置的可靠端口时,根据接收到的VRRP通告报文维护虚MAC表项。本发明上述实施例中,二层交换机接收路由器发送的VRRP通告报文,并根据该VRRP通告报文维护虚MAC表项,该虚MAC表项中记录有二层交换机接收到的VRRP通告报文中携带的虚MAC地址与接收到该VRRP通告报文的端口的对应关系;当VRRP接收到目的MAC地址与自身虚MAC表项中记录的虚MAC地址匹配的报文时,二层交换机将该目的MAC地址对应的端口中的一个端口确定为该报文的出端口,并将该报文从该出端口转发给对应的路由器,在不对现有VRRP协议进行改动的前提下,实现了 VRRP备份组的负载分担,提高了VRRP备份组的资源利用率,并保证了方案使用的兼容性。


图I为本发明实施例提供的一种VRRP组网的架构示意图2位为本发明实施例提供的一种实现VRRP负载分担的方法的流程示意图3为本发明实施例提供的一种VRRP配置示意图4为本发明实施例提供的一种网络设备的结构示意图。
具体实施例方式针对现有技术中存在的上述问题,本发明实施例提供了一种实现虚拟路由冗余协议VRRP负载分担的技术方案,应用于VRRP组网。在该技术方案中,二层交换机接收路由器发送的VRRP通告报文,并根据该VRRP通告报文维护虚MAC表项,该虚MAC表项中记录有二层交换机接收到的VRRP通告报文中携带的虚MAC地址与接收到该VRRP通告报文的端口的对应关系;当VRRP接收到目的MAC地址与自身虚MAC表项中记录的虚MAC地址匹配的报文时,二层交换机将该目的MAC地址对应的端口中的一个端口确定为该报文的出端口,并将该报文从该出端口转发给对应的路由器。其中,在本发明实施例中,VRRP备份组中各路由器互不相连,二层交换机阻断了同一 VRRP备份组中各路由器之间的报文转发,使VRRP备份组中各路由器均作为Master路由器,并周期性的发送VRRP通告报文;二层交换机根据接收到的VRRP通告报文维护虚MAC表项,并当接收到需要通过VRRP备份组中的路由器转发的报文时,根据预设规则确定该报文的出端口,并将该报文发送给该出端口对应的路由器,由该路由器对报文进行转发,在不对现有VRRP协议进行改动的前提下,实现了 VRRP备份组的负载分担,提高了 VRRP备份组的资源利用率,并保证了方案使用的兼容性。下面将结合本发明的实施例中的附图,对本发明的实施例中的技术方案进行清楚、完整的描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明的实施例保护的范围。参见图1,为本发明实施例提供的一种VRRP组网的架构示意图。其中,VRRP备份组中的各路由器(在该实施例中以VRRP备份组中包含两个路由器为例)互不相连,二层交换机分别与VRRP备份组中各路由器连接。在该VRRP组网中,由于二层交换机阻断了 VRRP备份组中各路由器之间的报文转发,VRRP备份组中各路由器接收不到其他路由器发送的VRRP通告报文,无法感知其他路由器的存在,备份组中的各路由器均会升级为Master路由器,并周期性的发送VRPP通告报文。
7
基于上述VRRP组网,本发明实施例提供的实现VRRP负载分担的方法流程可以如图2所示。参见图2,为本发明实施例提供的一种实现VRRP负载分担的方法的流程示意图,可以包括以下步骤
步骤201、二层交换机接收路由器发送的VRRP通告报文,并根据该VRRP通告报文维护虚MAC表项。具体的,在本发明实施例中,二层交换机可以在MAC地址表(B卩二层转发表)中添加虚MAC表项,该虚MAC表项中记录有接收到的VRRP通告报文中携带的虚MAC地址与接收到该VRRP通告报文的端口的对应关系。其中,在虚MAC表项中,一个MAC地址可以对应多个端口,这些端口分别连接同属于一个VRRP备份组的各路由器。二层交换机接收到VRRP通告报文后,可以根据该VRRP通告报文中携带的虚MAC地址查询虚MAC表项,以查询虚MAC表项中是否记录有该虚MAC地址以及接收到该VRRP通告报文的端口的对应关系,并当虚MAC表项中未记录该虚MAC对应的表项时,二层交换机建立该虚MAC地址对应的表项,并将接收到该VRRP通告报文的端口记录到该虚MAC地址对应的表项中;或,当虚MAC表项中记录有该虚MAC地址对应的表项,但该表项中记录的端口不包含接收到该VRRP通告报文的端口时,二层交换机将接收到该VRRP通告报文的端口的对应关系记录到该虚MAC地址对应的表项中。进一步地,当VRRP备份组中某个路由器出现故障时,它就无法继续发送VRRP通告报文。二层交换机如果在某个端口未接收到VRRP通告报文的持续时长超过阈值,则可以删除虚MAC表项中记录的该端口与相应的MAC地址的对应关系。优选地,该阈值可以设定为3倍的VRRP通告报文的发送周期(3倍的VRRP通告报文发送周期内未接收到VRRP通告报文为VRRP协议规定的Backup路由器升级为Master路由器的条件)。当VRRP备份组中的路由器从故障中恢复时,它又可以继续发送VRRP通告报文。当交换机接收到该路由器发送的VRRP通告报文时,将VRRP通告报文的源MAC地址与接收到该VRRP通告报文的端口的对应关系记录到虚MAC表项中。需要注意的是,在本发明实施例提供的技术方案中,虚MAC表项并不一定需要添加在MAC地址表中,也可以单独建立并存储,具体实现流程在此不再赘述。步骤202、当二层交换机接收到目的MAC地址与虚MAC表项中记录的MAC地址匹配的报文时,二层交换机将该目的MAC地址对应的端口中的一个端口确定为该报文的出端口,并将该报文从该出端口转发给对应的路由器。具体的,二层交换机接收到客户端发送的报文后,根据该报文的目的MAC地址查询虚MAC表项,以确定虚MAC表项中是否记录有该目的MAC地址对应的表项,并当虚MAC表项中记录有该目的MAC地址记录的表项时,确定该目的MAC地址与虚MAC表项中记录的MAC地址匹配。当二层交换机确定接收到的报文的目的MAC地址与虚MAC地址匹配时,二层交换机可以根据该目的MAC地址以及虚MAC表项确定该目的MAC地址对应的端口,将该目的MAC地址对应的端口中的一个端口确定为报文的出端口,并报文从该出端口转发给对应的路由器。其中,在本发明实施例中,将目的MAC地址对应的端口中的一个端口确定为报文的出端口,并将报文从该出端口转发给对应的路由器的实现方式,可以至少包括以下几种
方式一、二层交换机将虚MAC表中对应同一虚MAC地址的各端口加入到同一个二层聚合口,利用二层聚合口天然的负载分担特性实现流量的分发。具体的,当二层交换机维护虚MAC表项时,将对应同一虚MAC地址的各端口加入到同一个二层聚合口 ;二层交换机接收到目的MAC地址与虚MAC表项中记录的MAC地址匹配的报文后,将该报文通过该目的MAC地址对应的二层聚合口转发给对应的路由器。其中,通过二层聚合口转发报文时如何实现负载分担在此不再赘述。进一步地,当有新端口被记录到虚MAC表项时,二层交换机把该端口加入到相应的二层聚合口 ;当端口从虚MAC表项中删除时,二层交换机从相应的二层聚合口中删除该端口 ;二层交换机对应虚MAC表项创建的二层聚合口中各成员(端口)均为选中状态,均可以参与流量的转发。方式二、二层交换机根据预先配置的ACL (Access Control List,访问控制列表)规则对该报文进行哈希运算,并根据希运算结果将目的MAC地址对应的端口中的一个端口确定为报文的出端口,并将报文从该出端口转发给对应的路由器。其中,二层交换机对虚MAC表项中对应同一虚MAC地址的各端口进行编号。具体的,二层交换机接收到目的MAC地址与虚MAC表项中记录的虚MAC地址匹配的报文后,可以读取该报文的源IP地址、目的IP地址、源端口、目的端口和协议号字段;二层交换机将读取到的各字段的值相加,将得到的结果对虚MAC表项中对应该目的MAC地址的端口的总数取余,并将虚MAC表项中对应该目的MAC地址的各端口中,端口编号与取余结果一致的端口确定为报文的出端口。其中,当虚MAC表项中的对应同一虚MAC地址的端口数发生变化时,需要对变化后的端口重新编号,并对对应的ACL规则进行相应的调整,其具体实现在此不再赘述。需要注意的是,上述通过对报文携带的5个特征字段进行哈希运算确定报文的出端口是为了在实现负载均衡的同时,保证同一客户端多次发送的上述5个特征字段相同的报文能被定位到同一出端口,保证客户端与路由器报文交换的准确性和连贯性。因此,在本发明实施例中,在能够达到上述目的的前提下,也可以仅对上述5个特征字段中的部分特征字段或其他特征字段进行哈希运算以确定报文的出端口,其具体实现在此不再赘述。在现有VRRP组网中,二层交换机接收到客户端发送的目的IP地址为虚IP地址的ARP (Address Resolution Protocol,地址解析协议)请求报文后,会将该ARP请求报文向对应的VRRP备份组中各路由器进行广播,由VRRP备份组中的Master路由器返回ARP应答报文。而在本发明实施例提供的技术方案中,由于VRRP备份组中各路由器均为Master路由器,若仍采用现有技术中的ARP报文交互方式,则VRRP备份组中的各路由器均会返回ARP应答报文,从而造成资源浪费。因此,在本发明实施例中,当二层交换机接收到客户端发送的目的IP地址为虚IP地址的ARP请求报文时,二层交换机终止该ARP请求报文(即不再将该ARP请求报文进行转发),并根据该目的IP确定对应的虚MAC地址,将该目的IP地址与虚MAC地址的对应的关系携带在ARP应答报文中返回给该客户端。进一步地,为了避免攻击者冒充VRRP备份组中的路由器加入虚MAC表项导致流量丢失,在本发明实施例中,可以将二层交换机与可靠路由器连接的端口设置为信任端口,二层交换机接收到VRRP通告报文时,只有当接收到该VRRP通告报文的端口为信任端口时,才将该端口与相应虚MAC地址的对应关系记录到虚MAC表项中,提高了 VRRP组网的安全性。进一步地,在本发明实施例中,二层交换机根据接收到的VRRP通告报文维护虚MAC表项时,还需要对VRRP备份组的一致性进行检测。具体的,二层交换机通过分析VRRP通告报文中的相应字段,可以确定不同路由器发送的VRRP通告报文对应的VRRP版本是否一致、VRRP通告报文发送周期是否相同、VRRP通告报文中的虚IP地址是否一致、是否认证通过等。若二层交换机通过分析某路由器发送的VRRP通告报文发现,该VRRP通告报文携带的虚MAC地址与虚MAC表项中记录的某虚MAC地址匹配,但与该虚MAC表项中记录的虚MAC地址对应的VRRP备份组相比,VRRP通告报文对应的VRRP版本不一致、VRRP通告报文发送周期不相同、VRRP通告报文中的虚IP地址不一致、或/和认证不通过时,二层交换机确定该路由器不属于虚MAC表项中记录的上述虚MAC地址对应的VRRP备份组,则不将接收到该VRRP通告报文的端口记录到虚MAC表项中。下面结合具体的应用场景对本发明实施例提供的技术方案进行更加详细的描述。在该实施例中,以图I所示的VRRP组网架构图为具体应用场景的架构示意图。参见图3,为该实施例提供的一种VRRP配置示意图,其中,路由器I和路由器2分别与二层交换机的Port I和Port 2连接,路由器I和路由器2组成VRRP备份组1,虚IP地址为I. O. O. 1,虚MAC地址为0000-5e00-0101。二层交换机中维护的对应VRRP备份组I的虚MAC表项可以如表I所示
表I
权利要求
1.一种实现虚拟路由冗余协议VRRP负载分担的方法,应用于VRRP组网,其特征在于,VRRP备份组中各路由器互不相连,二层交换机分别与所述VRRP备份组中的各路由器连接,·且所述二层交换机阻断所述VRRP备份组中各路由器之间的VRRP报文交互,该方法包括所述二层交换机接收所述路由器发送的VRRP通告报文,并根据该VRRP通告报文维护虚MAC表项;所述虚MAC表项中记录有所述二层交换机接收到的VRRP通告报文中携带的虚MAC地址与接收到该VRRP通告报文的端口的对应关系;当所述二层交换机接收到目的MAC地址与所述虚MAC表项中记录的MAC地址匹配的报文时,所述二层交换机将所述目的MAC地址对应的端口中的一个端口确定为所述报文的出端口,并将所述报文从该出端口转发给对应的路由器。
2.如权利要求I所述的方法,其特征在于,所述二层交换机根据VRRP通告报文维护虚MAC表项,包括所述二层交换机根据该VRRP通告报文中携带的虚MAC地址查询所述虚MAC表项;当所述虚MAC表项中未记录有所述虚MAC地址对应的表项时,所述二层交换机建立所述虚MAC地址对应的表项,并将接收到该VRRP通告报文的端口记录到所述虚MAC地址对应的表项中;或,当所述虚MAC表项中记录有所述虚MAC地址对应的表项,但该表项中记录的端口不包含接收到所述VRRP通告报文的端口时,所述二层交换机将接收到所述VRRP通告报文的端口记录到所述虚MAC地址对应的表项中。
3.如权利要求2所述的方法,其特征在于,该方法还包括所述虚MAC表项中记录的对应关系中未接收到VRRP通告报文的端口持续时长超过阈值时,删除相应的虚MAC表项中的该端口。
4.如权利要求I所述的方法,其特征在于,所述二层交换机将虚MAC表项中对应于同一个虚MAC地址的各端口加入到同一个二层聚合口 ;所述二层交换机将所述目的MAC地址对应的端口中的一个端口确定为所述报文的出端口,并将所述报文从该出端口转发给对应的路由器,具体为所述二层交换机通过所述目的MAC地址对应的二层聚合口将所述报文转发给对应的路由器。
5.如权利要求I所述的方法,其特征在于,所述二层交换机将所述目的MAC地址对应的端口中的一个端口确定为所述报文的出端口,并将所述报文从该出端口转发给对应的路由器,具体为所述二层交换机根据预先配置的访问控制列表ACL规则对所述报文进行哈希运算,并根据哈希运算结果将所述目的MAC地址对应的端口中的一个端口确定为所述报文的出端口,并将所述报文从该出端口转发给对应的路由器。
6.如权利要求I所述的方法,其特征在于,该方法还包括当所述二层交换机接收到客户端发送的目的IP地址为虚IP地址的地址解析协议ARP请求报文时,所述二层交换机终止该ARP请求报文,并确定所述目的IP地址对应的虚MAC地址,将所述目的IP地址与该虚MAC地址的对应关系携带在ARP应答报文中返回给所述客户端。
7.如权利要求I所述的方法,其特征在于,所述二层交换机接收所述路由器发送的VRRP通告报文,并根据该VRRP通告报文维护虚MAC表项,具体为当所述二层交换机接收到所述VRRP通告报文的端口为预先配置的可靠端口时,所述二层交换机根据接收到的VRRP通告报文维护虚MAC表项。
8.—种网络设备,作为二层交换机应用于虚拟路由冗余协议VRRP组网,其特征在于,VRRP备份组中各路由器互不相连,该网络设备分别与所述VRRP备份组中的各路由器连接,且网络设备阻断所述VRRP备份组中各路由器之间的VRRP报文交互,该网络设备包括第一接收模块,用于接收所述路由器发送的VRRP通告报文;维护模块,用于根据所述VRRP通告报文维护虚MAC表项,所述虚MAC表项中记录有所述第一接收模块接收到的VRRP通告报文中携带的虚MAC地址与接收到该VRRP通告报文的端口的对应关系;第二接收模块,用于接收客户端设备发送的报文;第一发送模块,用于当所述第二接收模块接收到目的MAC地址与所述虚MAC表项中记录的MAC地址匹配的报文时,将所述目的MAC地址对应的端口中的一个端口确定为所述报文的出端口,并将所述报文从该出端口转发给对应的路由器。
9.如权利要求8所述的网络设备,其特征在于,所述维护模块具体用于,根据所述VRRP通告报文中携带的虚MAC地址查询所述虚MAC表项;当所述虚MAC表项中未记录有所述虚MAC地址对应的表项时,建立所述虚MAC地址对应的表项,并将接收到该VRRP通告报文的端口记录到所述虚MAC地址对应的表项中;或,当所述虚MAC表项中记录有所述虚MAC地址对应的表项,但该表项中记录的端口不包含接收到所述VRRP通告报文的端口时,将接收到所述VRRP通告报文的端口记录到所述虚MAC地址对应的表项中。
10.如权利要求9所述的网络设备,其特征在于,所述维护模块还用于,当所述虚MAC表项中记录的对应关系中未接收到VRRP通告报文的端口持续时长超过阈值时,删除相应的虚MAC表项中的该端口。
11.如权利要求8所述的网络设备,其特征在于,所述网络设备将虚MAC表项中对应于同一个虚MAC地址的各端口加入到同一个二层聚合口 ;所述第一发送模块具体用于,通过所述目的MAC地址对应的二层聚合口将所述报文转发给对应的路由器。
12.如权利要求8所述的网络设备,其特征在于,所述第一发送模块具体用于,根据预先配置的访问控制列表ACL规则对所述报文进行哈希运算,并根据哈希运算结果将所述目的MAC地址对应的端口中的一个端口确定为所述报文的出端口,并将所述报文从该出端口转发给对应的路由器。
13.如权利要求8所述的网络设备,其特征在于,该网络设备还包括第二发送模块,用于当所述第二接收模块接收到客户端发送的目的IP地址为虚IP地址的地址解析协议ARP请求报文时,终止该ARP请求报文,并确定所述目的IP地址对应的虚MAC地址,将所述目的IP地址与该虚MAC地址的对应关系携带在ARP应答报文中返回给所述客户端。
14.如权利要求8所述的网络设备,其特征在于,所述维护模块具体用于,当所述第一接收模块接收到所述VRRP通告报文的端口为预先配置的可靠端口时,根据接收到的VRRP通告报文维护虚MAC表项。
全文摘要
本发明公开了一种实现VRRP负载分担的方法和设备。该方法包括二层交换机接收路由器发送的VRRP通告报文,并根据该VRRP通告报文维护虚MAC表项;当二层交换机接收到目的MAC地址与虚MAC表项中记录的MAC地址匹配的报文时,二层交换机将目的MAC地址对应的端口中的一个端口确定为报文的出端口,并将报文从该出端口转发给对应的路由器。在本发明中,在不对现有VRRP协议进行改动的前提下,实现了VRRP备份组的负载分担,提高了VRRP备份组的资源利用率,并保证了方案使用的兼容性。
文档编号H04L12/803GK102916897SQ20121038091
公开日2013年2月6日 申请日期2012年10月10日 优先权日2012年10月10日
发明者韩冰 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1