实现VRRP负载均衡的方法和路由设备技术

技术编号:3543482 阅读:249 留言:0更新日期:2012-04-11 18:40
一种实现虚拟路由器负载均衡的方法,其特征在于,该虚拟路由器包含多个路由设备,同一网段各客户端的缺省网关IP地址配置为该虚拟路由器的虚IP地址;该方法包括: 虚拟路由器中选举出的主用路由设备为自身分配虚MAC地址,并在接收到其他路由设备 发送的虚MAC分配请求报文后,为所述其他路由设备分配不同的虚MAC地址,并通过地址应答报文发送给所述其他路由设备; 所述主用路由设备接收到来自客户端的地址解析请求后,按照负载均衡策略,将分配给所述虚拟路由器中各路由设备的虚MAC地址携 带在地址解析应答中回复给所述客户端,以供所述客户端利用接收到的虚MAC地址进行报文的发送。

【技术实现步骤摘要】

本专利技术涉及网络通信技术,特别涉及一种实现虚拟路由器冗余协议(VRRP,Virtual Router Redundancy Protocol)负载均衡的方法和路由设备。
技术介绍
在实现客户端与外部网络通信时,通常为同一网段内的所有客户端设置同一缺省网关,即配置以同一网关为下一跳的缺省路由,客户端发往其他网段的报文将通过该缺省路由发往下一跳的网关,再由网关进行转发,然而当网关出现故障时,本网段内所有以该网关为缺省路由的客户端将无法与外部网络进行通信。缺省路由虽然为用户的配置操作提供了方便,但是对网关提出了很高的稳定性要求,增加出口网关是提高系统可靠性的常见方法,此时,如何在多个出口之间进行选路就成为需要解决的问题。逐渐发展起来的VRRP是用于解决多个出口之间如何进行选路的容错协议,其在提高可靠性的同时,简化了客户端的配置。标准的VRRP是将多个具有网关功能的路由设备组成一台虚拟路由器,该虚拟路由器中的多个路由设备按照VRRP的选举机制选举出一个作为主用(master)路由设备负责流量转发,其他作为备用(backup)路由设备负责对master路由设备进行监听,在监听到master路由设备出现故障时,重新选举master路由设备。虽然这种方式提高了系统可靠性,但是,虚拟路由器中的多个路由设备只有主路由设备负责流量转发,显然在路由设备资源和网络带宽上都存在浪费。为了解决上述资源和带宽浪费的问题,现有技术提供了一种实现VRRP负载均衡的方法,即利用多个路由设备创建多个虚拟路由器,每个虚拟路由器中具有一个master路由设备和至少一个backup路由设备。其中,一个路-->由设备可能在一个虚拟路由器中做master路由设备,也可能在另一个虚拟路由器中做backup路由设备。可以预先为各客户端按照负载均衡策略配置不同的虚拟路由器的虚IP地址作为缺省网关IP地址,各客户端按照配置的虚拟IP地址发送地址解析协议(ARP)请求,与该客户端对应的虚拟路由器中的master路由设备将自身的MAC地址携带在ARP应答中回复给该客户端,该客户端利用ARP应答中携带的MAC地址创建ARP表项,并利用该ARP表项发送报文,即各客户端的报文通过配置给该客户端的虚拟路由器中的master路由设备进行转发。如图1所示,假设存在路由设备A、路由设备B和路由设备C,利用该三个路由设备构建三个虚拟路由器,即以路由设备A作为master路由设备、路由设备B和路由设备C作为backup路由设备的虚拟路由器1,以路由设备B作为master路由设备、路由设备A和路由设备C作为backup路由设备的虚拟路由器2,以及以路由设备C作为master路由设备、路由设备A和路由设备B作为backup路由设备的虚拟路由器3。预先配置客户端A、客户端B和客户端C的缺省网关分别为虚拟路由器1、虚拟路由器2和虚拟路由器3,客户端A按照虚拟路由器1的虚IP地址发送ARP请求,虚拟路由器1中的master路由设备即路由设备A将自身的MAC地址回复给客户端A,客户端A利用路由设备A的MAC地址创建ARP表项,客户端A的报文就通过路由设备A进行转发;客户端B和客户端C通过类似的方式分别通过路由设备B和路由设备C转发报文,这样就可以实现报文流量在路由设备A、路由设备B和路由设备C之间的负载均衡。但是,现有技术中实现VRRP负载均衡的方式需要利用多个路由设备配置不同的虚拟路由器并为各虚拟路由器配置不同的虚IP地址,并且为各客户端配置不同的虚拟路由器作为缺省网关,显然在存在大量客户端的情况下配置十分复杂。并且,由于上述负载均衡方式是基于预先的静态配置的,因此,无法实现动态的负载均衡。-->
技术实现思路
有鉴于此,本专利技术提供了一种实现VRRP负载均衡的方法和路由设备,以便于简化配置和实现动态的负载均衡。一种实现VRRP负载均衡的方法,该虚拟路由器包含多个路由设备,同一网段各客户端的缺省网关IP地址配置为该虚拟路由器的虚IP地址;该方法包括:虚拟路由器中选举出的主用路由设备为自身分配虚MAC地址,并在接收到其他路由设备发送的虚MAC分配请求报文后,为所述其他路由设备分配不同的虚MAC地址,并通过地址应答报文发送给所述其他路由设备;所述主用路由设备接收到来自客户端的地址解析请求后,按照负载均衡策略,将分配给所述虚拟路由器中各路由设备的虚MAC地址携带在地址解析应答中回复给所述客户端,以供所述客户端利用接收到的虚MAC地址进行报文的发送。一种路由设备,多个该路由设备用于构成一个虚拟路由器,且该虚拟路由器的虚IP地址配置为同一网段各客户端的缺省网关IP地址;该路由设备包括:角色选举单元、请求接收单元和应答发送单元以及地址分配单元或地址获取单元;所述角色选举单元,用于选举虚拟路由器中的主用路由设备;所述地址分配单元,用于在所述角色选举单元选举出的主用路由设备为该路由设备时,为该路由设备分配虚MAC地址,并在接收到其他路由设备发送的虚MAC分配请求报文后,为所述其他路由设备分配不同的虚MAC地址,并通过地址应答报文发送给所述其他路由设备;所述地址获取单元,用于在所述角色选举单元选举出的主用路由设备不是该路由设备时,向主用路由设备发送虚MAC分配请求报文;接收主用路由设备发送的包含分配给该路由设备的虚MAC分配应答报文;所述请求接收单元,用于在所述角色选举单元选举出的主用路由设备为该-->路由设备时,接收来自客户端的地址解析请求;所述应答发送单元,用于在所述请求接收单元接收到所述地址解析请求后,按照负载均衡策略,将分配给所述虚拟路由器中各路由设备的虚MAC地址携带在地址解析应答中回复给所述客户端,以供所述客户端利用接收到的虚MAC地址进行报文的发送。由以上技术方案可以看出,在本专利技术提供的方法和路由设备中,该虚拟路由器包含多个路由设备,只需要在同一网段的各客户端配置同一虚IP地址作为缺省网关IP地址,即为各客户端配置同一个虚拟路由器,而不需要针对不同的客户端配置不同的虚拟路由器;并且,将多个路由设备配置为同一个虚拟路由器即可,而不需要将多个路由设备配置为多个虚拟路由器且同一个路由设备在不同虚拟路由器中的角色也不相同,显然简化了实现VRRP负载均衡的配置工作。另外,本专利技术在多个路由设备构成的一个虚拟路由器中,由选举出的主用路由设备通过与各路由设备之间的报文交互为虚拟路由器中的各路由设备分配虚MAC地址,并按照负载均衡策略将分配给各路由设备的虚MAC地址回复给客户端,而不是通过将客户端固定分配给不同的虚拟路由器来实现负载均衡,显然,本专利技术能够根据各路由设备实际的负载状况实现动态的负载均衡,且不会导致客户端数目变化所引起的路由设备负载不均衡的问题。附图说明图1为现有技术中实现VRRP负载均衡的示意图;图2为本专利技术实施例提供的实现VRRP负载均衡的网络架构图;图3为本专利技术实施例提供的虚MAC地址的接管使用示意图;图4为本专利技术实施例提供的VRRP标准协议报文格式;图5为本专利技术实施例提供的通告报文所使用的Option字段格式;图6为本专利技术实施例提供的路由设备的结构图。-->具体实施方式为了使本专利技术的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本专利技术进行详细描述。本专利技术提供的方法涉及的虚本文档来自技高网
...

【技术保护点】
一种实现虚拟路由器负载均衡的方法,其特征在于,该虚拟路由器包含多个路由设备,同一网段各客户端的缺省网关IP地址配置为该虚拟路由器的虚IP地址;该方法包括: 虚拟路由器中选举出的主用路由设备为自身分配虚MAC地址,并在接收到其他路由设备发送的虚MAC分配请求报文后,为所述其他路由设备分配不同的虚MAC地址,并通过地址应答报文发送给所述其他路由设备; 所述主用路由设备接收到来自客户端的地址解析请求后,按照负载均衡策略,将分配给所述虚拟路由器中各路由设备的虚MAC地址携带在地址解析应答中回复给所述客户端,以供所述客户端利用接收到的虚MAC地址进行报文的发送。

【技术特征摘要】
1、一种实现虚拟路由器负载均衡的方法,其特征在于,该虚拟路由器包含多个路由设备,同一网段各客户端的缺省网关IP地址配置为该虚拟路由器的虚IP地址;该方法包括:虚拟路由器中选举出的主用路由设备为自身分配虚MAC地址,并在接收到其他路由设备发送的虚MAC分配请求报文后,为所述其他路由设备分配不同的虚MAC地址,并通过地址应答报文发送给所述其他路由设备;所述主用路由设备接收到来自客户端的地址解析请求后,按照负载均衡策略,将分配给所述虚拟路由器中各路由设备的虚MAC地址携带在地址解析应答中回复给所述客户端,以供所述客户端利用接收到的虚MAC地址进行报文的发送。2、根据权利要求1所述的方法,其特征在于,该方法还包括:当所述主用路由设备发生故障时,其他各路由设备重新选举出一个主用路由设备。3、根据权利要求1所述的方法,其特征在于,所述选举出的主用路由设备为自身分配虚MAC地址,并在接收到其他路由设备发送的虚MAC分配请求报文后,为所述其他路由设备分配不同的虚MAC地址具体为:所述选举出的主用路由设备在自身尚没有虚MAC地址时,从预先设置的虚MAC地址范围内分配一个尚未分配的虚MAC地址给自身,在接收到其他路由设备发送的虚MAC分配请求报文后,从所述虚MAC地址范围内分配一个尚未分配的虚MAC地址给所述其他路由设备;或者,所述选举出的主用路由设备在自身尚没有虚MAC地址时,按照预设的报文转发能力与虚MAC地址数目的对应关系,从尚未分配的虚MAC地址中分配与自身的报文转发能力对应数目的虚MAC地址给自身,在接收到其他路由设备发送的虚MAC分配请求报文后,按照预设的报文转发能力与虚MAC地址数目的对应关系,从尚未分配的虚MAC地址中分配与发送虚MAC分配请求报文的路由设备的报文转发能力对应数目的虚MAC地址给发送所述虚MAC分配请求报文的路由设备。4、根据权利要求1或3所述的方法,其特征在于,所述其他路由设备在尚没有虚MAC地址时循环发送所述虚MAC分配请求报文,直至接收到所述虚MAC分配应答报文;所述主用路由设备分配虚MAC地址给路由设备后,记录分配的虚MAC地址和路由设备的对应关系,当多次接收到其他路由设备的虚MAC分配请求报文时,仍将该发送虚MAC分配请求报文的路由设备所对应的虚MAC地址分配给该路由设备。5、根据权利要求1所述的方法,其特征在于,所述虚拟路由器中的路由设备被分配了虚MAC地址后,开始使用该虚MAC地址;其中,所述使用该虚MAC地址具体为:承担目的MAC地址为该虚MAC地址的报文转发,且在该路由设备处于正常状态时,在所述虚拟路由器中周期性地发送包含该路由设备所使用虚MAC地址的通告报文。6、根据权利要求5所述的方法,其特征在于,所述主用路由设备分配虚MAC地址给路由设备后,启动分配状态检查定时器,如果该分配状态检查定时器达到设定时长仍没有接收到包含该虚MAC地址的通告报文,则所述主用路由设备将该虚MAC地址标识为未分配。7、根据权利要求5所述的方法,其特征在于,所述虚拟路由器中的路由设备接收到包含虚MAC地址的通告报文后,对包含该虚MAC地址的通告报文进行监听,如果间隔设定时长没有接收到包含该虚MAC地址的通告报文,则接管使用该虚MAC地址。8、根据权利要求7所述的方法,其特征在于,所述通告报文除了包含虚MAC地址之外还包括:发送该通告报文的路由设备使用该虚MAC地址的竞争优先级;如果路由设备接收到的通告报文所包含的虚MAC地址与自身所使用的虚MAC地址相同,则判断该路由设备自身使用该虚MAC地址的竞争优先级是否大于通告报文中包含的竞争优先级,如果是,则保持该虚MAC地址的使用,否则,退出该虚MAC地址的使用。9、根据权利要求8所述的方法,其特征在于,路由设备使用虚MAC地址的竞争优先级根据该路由设备的报文转发能力和当前使用的虚MAC地址数目确定。10、根据权利要求8或9所述的方法,其特征在于,确定所述路由设备使用虚MAC地址的竞争优先级具体包括:如果所述路由设备是主用路由设备所分配的该虚MAC地址的使用者,则在该路由设备的报文转发能力大于设定的转发能力阈值的情况下,设置该路由设备使用该虚MAC地址的竞争优先级为竞争优先级最大值,在该路由设备的报文转发能力小于设定的转发能力阈值的情况下,设置该路由设备使用该虚MAC地址的竞争优先级为竞争优先级最小值;如果该路由设备是该虚MAC地址的接管使用者,则设置该路由设备使用该虚MAC地址的竞争优先级P为:P=W/(C+1),其中,W为该路由设备的报文转发能力量化值,C为该路由设备当前所使用的虚MAC地址数量。11、根据权利要求7至10任一权项所述的方法,其特征在于,该方法还包括:路由设备接管使用虚MAC地址后,启动重定向定时器,当重定向定时器超时后,通知主用路由设备不再将该虚MAC地址携带在地址解析响应中。12、根据权利要求11所述的方法,其特征在于,该方法还包括:路由设备接管使用虚MAC地址后,启动生存定时器,当生存定时器超时后,在所述虚拟路由器中发送包含该虚MAC地址的释放报文以通告该虚MAC地址不再使用;其他路由设备接收到包含该虚MAC地址的释放报文后,停止对包含该虚MAC地址的通告报文进行监听;主用路由设备接收到包含该虚MAC地址的释放报文后,将该虚MAC地址标识为未分配;其中,所述生存定时器的定时时长大于所述重定向定时器的定时时长13、根据权利要求1所述的方法,其特征在于,所述按照负载均衡策略,将分配给所述虚拟路由器中各路由设备的虚MAC地址携带在地址解析应答中具体包括:所述主用路由设备按照固定的顺序依次选择已分配给路由设备的虚MAC地址携带在地址解析应答中;或者,所述主用路由...

【专利技术属性】
技术研发人员:郑艳涛甘长华邱元香
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:86

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1