实现负载均衡的方法、设备及系统的制作方法

文档序号:7855307阅读:112来源:国知局
专利名称:实现负载均衡的方法、设备及系统的制作方法
技术领域
本发明涉及IPv6任播技术,特别涉及ー种实现负载均衡的方法、设备及系统。
背景技术
负载均衡(Load Balance, LB)是在由多台服务器组成的一个服务器集群中,负载均衡设备采用一定的调度策略将从客户端收到的请求按照均衡原则分配到服务器集群中的各服务器上,从而提高服务器集群的处理能力以及处理效率。图I为现有技术负载均衡示意图。负载均衡设备101对客户端102向服务器集群103发起的服务访问进行分发处理。但是,在现有技术中,服务器的IP地址是手工配置的全球单播地址,为服务器集群中的每个服务器配置的IP地址不同,负载均衡设备接收到客户端的业务请求报文时,业务请求报文携帯的目的IP是ー个虚服务IP,目的媒体访问控制(MAC)地址是负载均衡设备的MAC,这里虚服务IP指的是提供给客户端的经过域名解析得到的服务器集群IP。因此,负载均衡设备在将业务请求报文转发至目的服务器吋,不但需要将目的IP修改为目的服务器的手 エ配置的IP,还需要将目的MAC修改为目的服务器的MAC。从上述描述可以看出,负载均衡设备需要进行繁琐的网络地址转换(NAT),即修改目的IP和目的MAC,这会导致设备性能降低;而且,需要手工为服务器集群中的每台服务器配置IP地址,配置工作量大。因此,如何克服上述问题成为业内关注的问题。

发明内容
本发明实施例提供了ー种实现负载均衡的方法,減少了负载均衡设备的网络地址转换。ー种实现负载均衡的方法,该方法包括负载均衡设备根据服务器组内每个业务服务器向其发送的任播地址请求报文,为每个业务服务器配置统一任播地址作为业务请求报文的目的IP地址,且记录每个业务服务器的媒体访问控制MAC地址;负载均衡设备接收到客户端的业务请求报文时,根据负载均衡原则,确定服务器组内其中一个业务服务器为目的业务服务器,根据所述目的IP地址和该目的业务服务器的MAC,将业务请求报文转发至该目的业务服务器。本发明实施例提供了 ー种负载均衡设备,減少了负载均衡设备的网络地址转换。一种负载均衡设备,所述负载均衡设备包括接收模块、DHCP任播地址配置模块、负载均衡模块、存储模块和处理发送模块;接收模块,用于接收业务服务器的任播地址请求报文;还用于接收客户端的业务请求报文;DHCP任播地址配置模块,用于根据业务服务器的任播地址请求报文,为该业务服务器配置任播地址,使该业务服务器加入服务器组;负载均衡模块,用于接收模块接收到业务请求报文后,根据负载均衡原则,确定服务器组内其中一个业务服务器为目的业务服务器;存储模块,用于在为该业务服务器配置任播地址后,记录该业务服务器的MAC、相应出端ロ信息和业务服务器标识;处理发送模块,用于将任播地址作为目的IP地址,目的业务服务器的MAC作为目的MAC,向该目的业务服务器转发业务请求报文。本发明实施例提供了ー种实现负载均衡的系统,減少了负载均衡设备的网络地址转换。 ー种实现负载均衡的系统,该系统包括负载均衡设备和由该负载均衡设备调度的多个业务服务器;所述负载均衡设备,根据服务器组内每个业务服务器向其发送的任播地址请求报文,为每个业务服务器配置统一任播地址作为业务请求报文的目的IP地址,且记录每个业务服务器的MAC;接收到客户端的业务请求报文时,根据负载均衡原则,确定服务器组内其中一个业务服务器为目的业务服务器,根据所述目的IP地址和该目的业务服务器的MAC,将业务请求报文转发至该目的业务服务器;所述业务服务器,向负载均衡设备发送任播地址请求报文,请求任播地址;接收由负载均衡设备转发的客户端业务请求报文,为客户端提供业务服务。从上述方案可以看出,本发明实施例负载均衡设备接收到客户端的业务请求报文时,保持目的IP不变,只需修改目的MAC,就可以将业务请求报文转发至业务服务器。与现有技术相比,负载均衡设备不但需要修改目的IP,而且需要修改目的MAC。因此本发明有效減少了负载均衡设备的网络地址转换量。


图I为现有技术负载均衡示意图。图2为本发明提供的利用任播技术实现负载均衡的方法流程示意图。图3为包括Solicit、Advertise、Request、Reply这四种报文交互实现任播地址配置的示意图。图4为本发明IA_ANYCAST选项格式示意图。图5为本发明具体实施例中应用于上述方法的负载均衡设备的结构示意图。
具体实施例方式为使本发明的目的、技术方案及优点更加清楚明白,以下參照附图并举实施例,对本发明作进ー步详细说明。本发明主要利用了 IPv6中的任播技术。任播技术主要依靠IPv6中的新成员任播(Anycast)地址来实现。在任播技术中,负载均衡设备首先将任播地址配置为多个业务服务器的IP地址,然后,负载均衡设备按照一定的均衡原则将业务请求报文转发至服务器组中的目的业务服务器。DHCPv6 (Dynamic Host Configuration Protocol for IPv6,支持 IPv6 的动态主机配置协议)是基于IPv6的DHCP协议,目前宽带网络中參与客户端网络接入的服务器是采用该协议的DHCPv6服务器,用于为客户端分配IP地址。本发明的负载均衡设备正是具有DHCPv6服务器的分配IP地址的功能,即通过DHCP任播地址配置模块为业务服务器配置任播地址。图2为本发明提供的利用任播技术实现负载均衡的方法流程示意图。如图2所示,该方法包括步骤21、负载均衡设备根据服务器组内每个业务服务器向其发送的任播地址请求报文,为每个业务服务器配置统一任播地址作为业务请求报文的目的IP地址,且记录每个业务服务器的MAC;多个业务服务器构成业务服务器集群,或者称为服务器组。每个业务服务器要加入服务器组,由负载均衡设备统一进行调度,都需要向负载均衡设备请求任播地址,服务器 组内的所有业务服务器具有统ー的任播地址。该步骤是负载均衡设备与业务服务器之间的交互过程,可以如图3所示,包括Solicit、Advertise、Request、Reply这四种报文交互实现任播地址配置。首先,业务服务器发送任播地址请求(Solicit)报文,寻找负载均衡设备;其中,任播地址请求报文包括IA_ANYCAST选项,该选项采用类型-长度-值(TLV)格式。图4为本发明IA_ANYCAST选项格式示意图。包括选项类型0PTI0N_IA_ANYCAST ;选项长度0PTI0N_Len ;选项内容IPv6地址(IPv6Address)、首选生命期(preferred-lifetime)、有效生命期(valid-lifetime)等。其中,IPv6Address 为空,请求到任播地址后填入其中。接下来,接收到Solicit报文的负载均衡设备发现业务服务器请求该类型地址时,根据配置分配可用的任播地址,通过公告(Advertise)报文发送给业务服务器;然后,业务服务器向负载均衡设备发送请求(Request)报文,该报文中包含该任播地址;最后,接收到Request报文的负载均衡设备判断其中包含的任播地址是否是自己分配的任播地址;如果是,则进一歩确认是否将该任播地址分配给业务服务器,是则向业务服务器返回确认(Reply)报文。负载均衡设备为每个申请加入服务器组的业务服务器配置任播地址后,还记录该业务服务器的相应出端ロ信息和业务服务器标识(ID)。其中,业务服务器标识包括DUID(DHCP Unique Identifier, DHCP唯一标识符)和IAID (标识联盟标识符),DUID用于标识一台业务服务器,IAID用于标识该业务服务器的ー个接ロ。步骤22、负载均衡设备接收到客户端的业务请求报文时,根据负载均衡原则,确定服务器组内其中一个业务服务器为目的业务服务器,根据所述目的IP地址和该目的业务服务器的MAC,将业务请求报文转发至该目的业务服务器。负载均衡设备接收到客户端的业务请求报文时,根据负载均衡原则,确定服务器组内其中一个业务服务器为目的业务服务器,是现有技木,在此不再赘述。客户端发送的业务请求报文,可以请求超文本传送协议(HTTP)业务等。需要说明的是,负载均衡设备接收到客户端的业务请求报文时,业务请求报文携帯的目的IP是步骤21中配置的任播地址,目的MAC是负载均衡设备的MAC,此时向目的业务服务器转发业务请求报文,只需要修改目的MAC为目的业务服务器的MAC,而不需要修改目的IP,从而减少了 NAT量。执行完步骤22后,业务服务器需要向客户端回应业务请求报文。将客户端IP地址作为目的IP,目的业务服务器的任播地址作为源IP,目的业务服务器直接向客户端回应业务请求报文,或者目的业务服务器通过负载均衡设备向客户端回应业务请求报文。从这里可以看出,本发明可以不经过负载均衡设备转发业务请求报文的回应,而直接回应给客户端。现有技术中,业务请求报文的回应必须经过负载均衡设备转发,这是因为目的业务服务器向客户端回应业务请求报文吋,将客户端IP地址作为目的IP,为目的业务服务器手エ配置的全球单播地址作为源IP,而客户端只能识别虚服务IP,即不能识别目的业务服务器手工配置的全球单播地址,因此必须经过负载均衡设备,仍然将客户端IP地址作为目的IP,但将源IP修改为虚服务IP,从而将业务请求报文的回应转发给客户端。与现有技术相比,本发明減少了负载均衡设备的工作量,从而提升了负载均衡设备的处理性能。仍然如图I所示,下面列举实施例,对本发明客户端如何得到业务请求报文的回应进行完整描述。假设负载均衡设备为业务服务器集群配置的任播地址为1::1。步骤221、客户端向负载均衡设备发送业务请求报文,业务请求报文携帯的目的IP为I: : 1,目的MAC为负载均衡设备的MAC,源IP为客户端的IP。 步骤222、负载均衡设备接收到客户端的业务请求报文时,根据负载均衡原则,确定服务器组内其中一个业务服务器为目的业务服务器;将I: : I作为目的IP,将该目的业务服务器的MAC作为目的MAC,将客户端的IP作为源IP,把业务请求报文转发至该目的业务服务器。步骤223、目的业务服务器接收到业务请求报文后,将客户端IP地址作为目的IP,I: : I作为源IP,直接向客户端回应业务请求报文。业务服务器加入负载均衡设备所调度的服务器组后,负载均衡设备根据每个业务服务器的MAC和任播地址,周期性向每个业务服务器发送Internet控制报文协议ICMP探测报文,如果接收不到业务服务器的响应报文,则将该业务服务器从负载均衡设备所调度的服务器组内删除,同时触发该业务服务器释放租约。另外,当服务器组内业务服务器接收到释放租约报文时,例如,该业务服务器需要重启或者发现IP地址冲突时,会接收到释放租约报文,此时触发负载均衡设备将该业务服务器从负载均衡设备所调度的服务器组内删除。基于同样的发明构思,本发明还提出一种负载均衡设备,參见图5,图5为本发明具体实施例中应用于上述方法的负载均衡设备的结构示意图。该负载均衡设备包括接收模块501、DHCP任播地址配置模块502、负载均衡模块503、存储模块504和处理发送模块505 ;接收模块501,用于接收业务服务器的任播地址请求报文;还用于接收客户端的业务请求报文;DHCP任播地址配置模块502,用于根据业务服务器的任播地址请求报文,为该业务服务器配置任播地址,使该业务服务器加入服务器组;负载均衡模块503,用于接收模块接收到业务请求报文后,根据负载均衡原则,确定服务器组内其中一个业务服务器为目的业务服务器;存储模块504,用于在为该业务服务器配置任播地址后,记录该业务服务器的MAC、相应出端ロ信息和业务服务器标识;处理发送模块505,用于将任播地址作为目的IP地址,目的业务服务器的MAC作为目的MAC,向该目的业务服务器转发业务请求报文。较佳地,处理发送模块505,还用于周期性向服务器组内每个业务服务器发送Internet控制报文协议ICMP探测报文;接收模块501,还用于接收所述ICMP探测报文的响应报文,该负载均衡设备进一歩包括删除模块506和触发模块507 ;删除模块506,用于在接收不到业务服务器对ICMP探测报文的响应报文时,将该业务服务器从服务器组内删除;触发模块507,用于删除模块将该业务服务器从服务器组内删除时,触发该业务服务器释放租约。综上,本发明提供了ー种实现负载均衡的系统,该系统包括负载均衡设备和由该负载均衡设备调度的多个业务服务器;所述负载均衡设备,根据服务器组内每个业务服务器向其发送的任播地址请求报文,为每个业务服务器配置统一任播地址作为业务请求报文的目的IP地址,且记录每个业 务服务器的MAC ;接收到客户端的业务请求报文时,根据负载均衡原则,确定服务器组内其中一个业务服务器为目的业务服务器,根据所述目的IP地址和该目的业务服务器的MAC,将业务请求报文转发至该目的业务服务器;所述业务服务器,向负载均衡设备发送任播地址请求报文,请求任播地址;接收由负载均衡设备转发的客户端业务请求报文,为客户端提供业务服务。根据本发明,负载均衡设备接收到客户端的业务请求报文时,保持目的IP不变,只需修改目的MAC,就可以将业务请求报文转发至业务服务器。而且,本发明业务服务器可以直接向客户端回应业务请求报文,而不经过负载均衡设备转发,提升了负载均衡设备的处理性能。而且,本发明的负载均衡设备为业务服务器配置统一任播地址,作为业务请求报文的目的IP,省略了大量的手动配置工作。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种实现负载均衡的方法,该方法包括 负载均衡设备根据服务器组内每个业务服务器向其发送的任播地址请求报文,为每个业务服务器配置统一任播地址作为业务请求报文的目的IP地址,且记录每个业务服务器的媒体访问控制MAC地址; 负载均衡设备接收到客户端的业务请求报文时,根据负载均衡原则,确定服务器组内其中一个业务服务器为目的业务服务器,根据所述目的IP地址和该目的业务服务器的MAC,将业务请求报文转发至该目的业务服务器。
2.如权利要求I所述的方法,其特征在于,所述任播地址请求报文包括IAANYCAST选项,该选项采用类型-长度-值TLV格式。
3.如权利要求I或2所述的方法,其特征在于,负载均衡设备为业务服务器配置任播地址后,还记录该业务服务器的相应出端口信息和业务服务器标识,将业务服务器加入负载均衡设备所调度的服务器组。
4.如权利要求3所述的方法,其特征在于,业务服务器加入负载均衡设备所调度的服务器组后,该方法进一步包括 负载均衡设备根据每个业务服务器的MAC和任播地址,周期性向每个业务服务器发送Internet控制报文协议ICMP探测报文,如果接收不到业务服务器的响应报文,则将该业务服务器从负载均衡设备所调度的服务器组内删除。
5.如权利要求4所述的方法,其特征在于,负载均衡设备将该业务服务器从负载均衡设备所调度的服务器组内删除时,该方法进一步包括触发该业务服务器释放租约。
6.如权利要求3所述的方法,其特征在于,当服务器组内业务服务器接收到释放租约报文时,触发负载均衡设备将该业务服务器从负载均衡设备所调度的服务器组内删除。
7.如权利要求I所述的方法,其特征在于,该方法进一步包括将客户端IP地址作为目的IP,目的业务服务器的任播地址作为源IP,目的业务服务器直接向客户端回应业务请求报文,或者目的业务服务器通过负载均衡设备向客户端回应业务请求报文。
8.一种负载均衡设备,其特征在于,所述负载均衡设备包括接收模块、DHCP任播地址配置模块、负载均衡模块、存储模块和处理发送模块; 接收模块,用于接收业务服务器的任播地址请求报文;还用于接收客户端的业务请求报文; DHCP任播地址配置模块,用于根据业务服务器的任播地址请求报文,为该业务服务器配置任播地址,使该业务服务器加入服务器组; 负载均衡模块,用于接收模块接收到业务请求报文后,根据负载均衡原则,确定服务器组内其中一个业务服务器为目的业务服务器; 存储模块,用于在为该业务服务器配置任播地址后,记录该业务服务器的媒体访问控制MAC地址、相应出端口信息和业务服务器标识; 处理发送模块,用于将任播地址作为目的IP地址,目的业务服务器的MAC作为目的MAC,向该目的业务服务器转发业务请求报文。
9.如权利要求8所述的负载均衡设备,其特征在于,所述处理发送模块,还用于周期性向服务器组内每个业务服务器发送Internet控制报文协议ICMP探测报文;所述接收模块,还用于接收所述ICMP探测报文的响应报文;贝1J,该负载均衡设备进一步包括删除模块和触发模块; 删除模块,用于在接收不到业务服务器对ICMP探测报文的响应报文时,将该业务服务器从服务器组内删除; 触发模块,用于删除模块将该业务服务器从服务器组内删除时,触发该业务服务器释放租约。
10.一种实现负载均衡的系统,其特征在于,该系统包括负载均衡设备和由该负载均衡设备调度的多个业务服务器; 所述负载均衡设备,根据服务器组内每个业务服务器向其发送的任播地址请求报文,为每个业务服务器配置统一任播地址作为业务请求报文的目的IP地址,且记录每个业务服务器的媒体访问控制MAC地址;接收到客户端的业务请求报文时,根据负载均衡原则,确定服务器组内其中一个业务服务器为目的业务服务器,根据所述目的IP地址和该目的业务服务器的MAC,将业务请求报文转发至该目的业务服务器; 所述业务服务器,向负载均衡设备发送任播地址请求报文,请求任播地址;接收由负载均衡设备转发的客户端业务请求报文,为客户端提供业务服务。
全文摘要
本发明公开了一种实现负载均衡的方法,该方法包括负载均衡设备根据服务器组内每个业务服务器向其发送的任播地址请求报文,为每个业务服务器配置统一任播地址作为业务请求报文的目的IP地址,且记录每个业务服务器的媒体访问控制MAC地址;负载均衡设备接收到客户端的业务请求报文时,根据负载均衡原则,确定服务器组内其中一个业务服务器为目的业务服务器,根据所述目的IP地址和该目的业务服务器的MAC,将业务请求报文转发至该目的业务服务器。本发明还公开了一种负载均衡设备和实现负载均衡的系统。采用本发明减少了负载均衡设备的网络地址转换。
文档编号H04L29/12GK102761618SQ20121023086
公开日2012年10月31日 申请日期2012年7月3日 优先权日2012年7月3日
发明者于洪强, 田源 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1