一种VRRP负载均衡方法和装置与流程

文档序号:13696787阅读:303来源:国知局
技术领域本发明涉及通信技术领域,特别涉及一种VRRP负载均衡方法和装置。

背景技术:
虚拟路由冗余协议(VirtualRouterRedundancyProtocol,简称VRRP)是由IETF提出的解决局域网中配置静态网关出现单点失效现象的路由协议。VRRP将局域网内的一组路由器划分在一起,称为一个备份组。备份组由一个Master路由器和多个Backup路由器组成,功能上相当于一台虚拟路由器。在VRRP标准协议模式中,VRRP备份组内只有Master路由器可以转发报文,Backup路由器处于监听状态,无法转发报文。VRRP负载均衡模式在VRRP标准协议模式的基础上,增加了负载均衡功能,其实现原理为:将一个虚拟IP地址与多个虚拟MAC地址对应,VRRP备份组中的每台路由器都对应一个虚拟MAC地址;使用不同的虚拟MAC地址应答主机的ARP(IPv4网络中)/ND(IPv6网络中)请求,从而使得不同主机的流量发送到不同的路由器,备份组中的每台路由器都能转发流量,避免了标准协议模式下VRRP备份组中Backup路由器始终处于空闲状态、网络资源利用率不高的问题。为了使VRRP备份组中的路由器能够转发主机发送的流量,需要在路由器上针对每个虚拟MAC创建一个虚拟转发器(VF)。不同路由器上同一虚拟MAC地址对应的VF形成备份关系,其中,优先级(取值范围0-255)最高的VF处于Active状态,称为AVF(ActiveVirtualForwarder,动态虚拟转发器),负责转发该MAC地址的流量;其它VF处于Listening状态,称为LVF(ListeningVirtualForwarder,监听虚拟转发器),监听AVF的状态,不转发流量。当AVF或其对应的路由器出现故障后,可以由其它路由器上优先级最高的LVF接替其成为新的AVF。如图1所示,由路由器A、路由器B、路由器C构成的VRRP备份组中,路由器A、路由器B、路由器C都分别针对虚拟MAC地址000f-e2ff-0011、000f-e2ff-0012和000f-e2ff-0013创建了虚拟转发器VF1、VF2、VF3。假设在路由器A、路由器B、路由器C中VF1的优先级分别为:255、127、127,则由于路由器A中VF1的优先级为最高值255,因此作为AVF,负责转发目的MAC地址为虚拟MAC地址000f-e2ff-0011的流量,路由器B和路由器C上的VF1作为LVF,监视路由器A上VF1的状态。当有新的路由器加入VRRP备份组中,Master路由器为其分配新的虚拟MAC,但由于此时服务器所运行的的TCP握手没有中断,服务器不会主动触发ARP请求,导致当前的服务器的业务流量无法分担到新加入的路由器。

技术实现要素:
有鉴于此,本发明的目的在于VRRP负载均衡方法和装置,能够将流量分担到新加入VRRP备份组的路由器中。为了达到上述目的,本发明提供了如下技术方案:一种VRRP负载均衡方法,应用于VRRP备份组中的Master设备,该方法包括:当有新的三层处理设备加入VRRP备份组时,为新的三层处理设备分配虚拟MAC地址,并通知VRRP备份组中各成员设备创建该虚拟MAC地址对应的虚拟转发器VF;获取经由VRRP备份组转发业务的各服务器的业务流量,基于所有服务器的业务流量为所述虚拟MAC地址分配一组服务器,将所述虚拟MAC地址通告给该组服务器,以使所述虚拟MAC地址对应的VF分担该组服务器的转发业务。一种VRRP负载均衡装置,应用于VRRP备份组中的Master设备,该装置包括:分配单元、处理单元;所述分配单元,用于当有新的三层处理设备加入VRRP备份组时,为新的三层处理设备分配虚拟MAC地址,并通知VRRP备份组中各成员设备创建该虚拟MAC地址对应的虚拟转发器VF;所述处理单元,用于获取经由VRRP备份组转发业务的各服务器的业务流量,基于所有服务器的业务流量为所述虚拟MAC地址分配一组服务器,将所述虚拟MAC地址通告给该组服务器,以使所述虚拟MAC地址对应的VF分担该组服务器的转发业务。由上面的技术方案可知,本发明中,当有新的路由器加入VRRP备份组时,Master路由器为新的路由器分配虚拟MAC地址,基于VRRP备份组负责转发的所有服务器的业务流量为该虚拟MAC地址分配一组服务器,将该虚拟MAC地址通知给该组服务器,使得该组服务器的业务流量迁移到该虚拟MAC地址对应的虚拟转发器,实现了将流量分担到新加入VRRP备份组的路由器的目的。附图说明图1现有技术VRRP组网示意图;图2是本发明实施例VRRP负载均衡方法的流程图;图3是本发明实施例VRRP组网示意图;图4是本发明实施例VRRP负载均衡装置的结构示意图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并据实施例,对本发明的技术方案进行详细说明。在现有实现中,加入VRRP备份组中的设备既可以是路由器,也可以是三层交换机,在本发明中,将可加入VRRP备份组的设备统称为三层处理设备。以下以加入VRRP备份组的设备是路由器为例,对本发明实现VRRP负载均衡的方法进行详细说明,其实现原理同样也适用于三层交换机。参见图2,图2是本发明实施例VRRP负载均衡方法的流程图,该方法应用于VRRP备份组中的Master路由器,该方法包括:步骤201、当有新的路由器加入VRRP备份组时,Master路由器为新的路由器分配虚拟MAC地址,并通知VRRP备份组中各成员路由器创建该虚拟MAC地址对应的虚拟转发器VF。步骤202、Master路由器获取经由VRRP备份组转发业务的各服务器的业务流量,基于所有服务器的业务流量为该虚拟MAC地址分配一组服务器,将该虚拟MAC地址通告给该组服务器,以使该虚拟MAC地址对应的VF分担该组服务器的转发业务。经由VRRP备份组转发业务的各服务器,也即是经由VRRP备份组中所有处于Active状态的VF(也即AVF)转发业务的各服务器。VRRP备份组中包括多个虚拟MAC地址,Master路由器用不同虚拟MAC地址应答不同服务器的ARP/ND请求,从而为不同虚拟MAC地址分配不同的服务器,使得分配给同一虚拟MAC地址的所有服务器的业务均被送至该虚拟MAC地址对应的VF进行转发。在实际应用中,VRRP备份组中各成员路由器针对每个虚拟MAC地址创建一个对应的VF,不同成员路由器内同一虚拟MAC地址对应的VF中,处于Active状态的VF负责分配给该虚拟MAC地址的所有服务器的业务转发,处于Listening状态的VF则负责监听AVF。VRRP备份组的各成员路由器中,处于Active状态的VF通过源IP地址区分不同服务器的流量,可以定期采集的方式确定该VF负责转发的所有服务器的业务流量。Master路由器通过向各成员路由器发送流量查询请求,从而获取得到该成员路由器中处于AVF状态的VF负责转发的各服务器的业务流量。在本实施例中,当新的路由器加入VRRP备份组,VRRP备份组中Master路由器为其分配虚拟MAC地址且各成员路由器均建立该虚拟MAC地址对应的VF之后,此时由于该虚拟MAC地址还未分配到任何服务器,该虚拟MAC地址对应的VF不能立刻分担VRRP备份组的业务流量。为了使该虚拟MAC地址对应的VF分担VRRP备份组的部分流量,Master路由器可以根据经由VRRP备份组转发业务的所有服务器的业务流量,从所有服务器中选择一组服务器分配给该虚拟MAC地址,并将该虚拟MAC地址通知给该组服务器,这样,该组服务器将用该虚拟MAC地址替代之前学习到的VRRP备份组的虚拟MAC地址,将业务发往该虚拟MAC地址对应的VF,从而该虚拟MAC地址对应的VF就实现了分担该组服务器的转发业务的目的。为新的路由器分配虚拟MAC地址后,基于所有服务器的业务流量为该虚拟MAC地址分配一组服务器时,可以遵从平均分配业务流量的原则将所有服务器划分为N组,从N组服务器中选择一组服务器分配给该虚拟MAC地址;其中,N为VRRP备份组中虚拟MAC的个数(包括为新的路由器分配的虚拟MAC地址,新的路由器加入VRRP备份组之前虚拟MAC地址个数为N-1)。遵从平均分配业务流量的原则将所有服务器划分为N组的方法有多种,例如以下两种:第一种、考虑所有服务器的原有分配情况,从新的路由器加入VRRP备份组之前各AVF当前负责的所有服务器中选择部分服务器,剩余服务器的业务仍由该AVF转发,具体实现方法为:计算每个VF应当承担的平均业务流量,计算新的路由器加入VRRP备份组前各AVF负责转发的所有服务器的业务流量总和,如果该AVF的业务流量总和超过平均业务流量,则从该AVF负责转发的所有服务器中选出部分服务器,使得剩余服务器的业务流量总和接近或等于平均业务流量,这样最终会得到N组服务器:选出的所有服务器(其业务流量总和也接近于平均业务流量)构成一组服务器、各AVF的剩余未被选择服务器也分别构成一组服务器。第二种,不考虑所有服务器的原有分配情况,将所有服务器分为N组,具体实现方法为:计算出每个VF应当承担的平均业务流量,然后将所有服务器划分N组,使得每组服务器的业务流量总和接近或等于平均业务流量。下面参见图3,以一个例子对上述第一种和第二种将服务器划分为N组的方法进行具体说明:图3是本发明实施例VRRP组网示意图,如图3所示,VRRP备份组中有两个路由器:路由器X和路由器Y,分别分配了虚拟MAC地址:MAC1和MAC2,两个路由器针对MAC1创建了VF1,针对MAC2创建了VF2。经由VRRP备份组转发业务的有服务器A、服务器B、服务器C、服务器D、服务器E,这5个服务器的业务流量分别是5、8、10、7、9,且VF1的AVF负责转发的服务器A、B、C的业务,VF2的AVF负责转发服务器D、E的业务流量,如果有新的路由器Z加入VRRP备份组且分配了MAC3,VRRP备份组中的各成员路由器针对MAC3创建VF3,则,采用第一种划分服务器的方法的过程如下:1)计算每个VF应当承担的平均业务流量avg=(5+8+10+7+9)/3=13。2)计算VF1的AVF负责转发的业务流量总和5+8+10=23,23大于平均业务流量13,从VF1负责的服务器中选出服务器C,剩余服务器A、B构成一组服务器。计算VF2的AVF负责转发的业务流量总和7+9=16;16大于平均业务流量13,由于业务流量总和16与平均业务流量13比较接近,因此,可以不从VF2的AVF负责的所有服务器中选择服务器,服务器D、E构成一组服务器。3)最终得到三组服务器:选出的服务器C构成一组服务器,该组服务器将被分配给为新的路由器分配的虚拟MAC地址,其业务由VF3的AVF负责转发;服务器A、B构成的一组服务器,仍分配给VF1对应的虚拟MAC地址,其业务仍由VF1的AVF负责转发;服务器D、E构成一组服务器,仍分配给VF2对应的虚拟MAC地址,其业务仍由VF2的AVF负责转发。采用第一种划分服务器的方法时,需将选出的一组服务器分配给为新的路由器分配的虚拟MAC地址,并将为新的路由器分配的虚拟MAC地址通知给该组服务器。其它各服务器仍然分配给原来的虚拟MAC地址。采用第二种划分服务器的方法的过程如下:1)计算每个VF应当承担的平均业务流量avg=(5+8+10+7+9)/3=13。2)按照平均分配的原则将服务器A、B、C、D、E划分为3组服务器,包括:服务器A、E构成的一组服务器,业务流量总和为14;服务器B、D构成的一组服务器,业务流量总和为15;服务器C构成的一组服务器,业务流量总和为10。采用第二种划分服务器的方法时,可以随机选择一组服务器分配给为新的路由器分配的虚拟MAC地址,并将为新的路由器分配的虚拟MAC地址通知给该组服务器。同时还需要针对原有的每个虚拟MAC地址,选择尚未分配出去的一组服务器,并将该虚拟MAC地址通知给该组服务器。因此,从N组服务器中选择一组服务器分配给该虚拟MAC地址时,还需要针对VRRP备份组中的其它各虚拟MAC地址,从N组服务器中选择尚未被分配出去的一组服务器分配给该虚拟MAC地址,将该虚拟MAC地址通告给该组服务器,以使该虚拟MAC地址对应的VF分担该组服务器的转发业务。本实施例中,采用发送单播ARP请求的方法通过虚拟MAC地址。将一虚拟MAC地址通告给一组服务器的方法具体可以为:针对该组服务器中的每个服务器,向该服务器发送单播ARP请求,该单播ARP请求的源IP地址、源MAC地址、目的IP地址、目的MAC地址分别为VRRP备份组的虚拟IP地址、该虚拟MAC地址、该服务器的IP地址、该服务器的MAC地址。以上对本发明实施例VRRP负载均衡方法进行了详细说明,本发明还提供了一种VRRP负载均衡装置,下面结合图4进行详细说明。参见图4,图4是本发明实施例VRRP负载均衡装置的结果示意图,该装置应用于VRRP备份组中的Master设备,如图4所示,具体包括:分配单元401、处理单元402;其中,分配单元401,用于当有新的三层处理设备加入VRRP备份组时,为新的三层处理设备分配虚拟MAC地址,并通知VRRP备份组中各成员设备创建该虚拟MAC地址对应的虚拟转发器VF;处理单元402,用于获取经由VRRP备份组转发业务的各服务器的业务流量,基于所有服务器的业务流量为该虚拟MAC地址分配一组服务器,将该虚拟MAC地址通告给该组服务器,以使该虚拟MAC地址对应的VF分担该组服务器的转发业务。图4所示装置中,VRRP备份组的各成员设备中处于Active状态的VF定期采集该VF负责转发的各服务器的业务流量;处理单元402获取经由VRRP备份组转发业务的各服务器的业务流量时,用于:向VRRP备份组中的各成员设备查询该成员设备中处于Active状态的VF负责转发的各服务器的业务流量。图3所示装置中,处理单元402基于所有服务器的业务流量为该虚拟MAC地址选择一组服务器时,用于:按照平均分配业务流量的原则将所有服务器划分为N组,从N组服务器中选择一组服务器分配给该虚拟MAC地址;其中,N为VRRP备份组中虚拟MAC的个数。图4所示装置中,处理单元402从N组服务器中选择一组服务器分配给该虚拟MAC地址时,进一步针对VRRP备份组中的其它各虚拟MAC地址,从N组服务器中选择尚未被分配出去的一组服务器分配给该虚拟MAC地址,将该虚拟MAC地址通告给该组服务器,以使该虚拟MAC地址对应的VF分担该组服务器的转发业务。图4所示装置中,处理单元402,将一虚拟MAC地址通告给一组服务器时,用于:针对该组服务器中的每个服务器,向该服务器发送源IP地址、源MAC地址、目的IP地址、目的MAC地址分别为VRRP备份组的虚拟IP地址、该虚拟MAC地址、该服务器的IP地址、该服务器的MAC地址的单播ARP请求。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1