专利名称:网络设备自适应负载均衡的方法
技术领域:
本发明涉及一种网络设备自适应负载均衡的方法,包括防火墙、路由器、虚拟安全网络网关(Virtual Private network,简称VPN)、入侵检测设备或专用服务器等负载均衡的方法;特别是一种实现网络集群的分布式自适应负载均衡的方法,属于计算机网络技术领域。
背景技术:
目前,网络流量的指数性增长使得防火墙、路由器等网络设备已经成为限制网络带宽的瓶颈,并极大地制约了网络的实际应用。同时,整个网络系统的可靠性、高可用性受到极大的影响。为了提高网络系统的可靠性,通常的技术手段是采用防火墙双机热备技术。但是,在防火墙双机热备技术中,做为热备的防火墙处于备份待机状态,并不参与对网络流量的处理。这种技术的实质是通过冗余的技术来保证系统的可靠性。虽然这在一定程度上改进了整个系统的可靠性,但却浪费了设备资源,不能充分发挥防火墙的利用率与效能。
另一方面,防火墙、VPN等网路安全设备日益成为网络系统的单一故障点。采用双机热备技术仅仅使这一问题得到缓解,但并不能从根本上解决这一的问题。
因此,必须采用先进技术解决网络流量的负载均衡问题,以提高网络系统的可靠性、高可用性以及对数据包的处理能力。
发明内容
本发明的主要目的在于提供一种网络设备自适应负载均衡的方法,用以解决网络流量的负载均衡问题,提高网络系统的可靠性、高可用性以及对数据包的处理能力。
本发明的又一目的在于提供一种网络设备自适应负载均衡的方法,从根本上解决网络安全设备成为网络系统的单一故障点的问题。
本发明是通过以下技术方案实现的一种网络设备自适应负载均衡的方法,网络设备集群中的各节点通过心跳协议相互监控节点运行状态,每个节点只处理属于自己处理范围内的数据包,并根据各节点的运行状态进行网络设备集群内的负载均衡操作;具体包括步骤1在集群中的主节点通过心跳协议与各从节点通信,获取各从节点的负载信息和状态信息;步骤2当从节点发生故障时,主节点根据剩余的节点数重新进行网络设备集群内的负载均衡操作,为各节点重新分配应处理的数据包哈希(hash)区间。
上述的方法还进一步包括步骤3主节点设备在规定的时间内向其他从设备发送自己的心跳信息;当从设备在规定的时间内没有收到主节点设备的心跳信息时,则认为该主节点设备出现故障,该主节点设备附近的一个从节点设备自动接替主节点设备的任务。
所述的心跳信息至少为节点号或负载情况或I P地址或哈希数值空间或配置同步标志信息或负载同步标志信息之一或其组合;该信息由各节点设备在规定的时间内通过网络向其他节点发送。
所述的网络设备集群内的负载均衡操作包括步骤21计算整个集群hash值区间;具体为确定集群hash值的区间,设定区间的下限为零,ha sh区间的上限依据如下公式计算HU=(2m-1);其中,HU为hash区间的上限值;m为hash值二进制位数值;步骤22按照如下公式划分集群中每个子设备的hash数值区间;HashI=((i-1)×SE,i×SE]SE=HashVSEV]]>其中i=1,2,...,SEN;HashI为第I个自设备所在的Hash数值区间;SE为集群每个子设备占用的一个数值区间大小值;HashV为步骤21计算的集群hash上限值HU;SEN为集群中子设备的总数;步骤23集群内所有设备的相同编号的端口,通过共享网络同时可以收到来自集群对外接口的网络报文;步骤24每个节点设备对收到的网络数据报文进行计算和处理。
所述的报头信息至少包括IP报头的源地址和目的地址信息。
步骤24的具体处理过程为步骤241每个节点设备接收到网络数据报文时,取出该报文的报头信息,并利用hash函数进行计算;步骤242判断该计算结果是否落在本节点设备占用的hash数值区间内;是,则本节点设备处理收到的网络报文;否则丢弃该网络报文。
所述的网络设备集群中各节点设备为相同的设备,且各节点设备的网络接口之一通过共享网络连接。
本发明解决了网络流量的负载均衡问题,提高了网络系统的可靠性、高可用性以及对数据包的处理能力。充分发挥了多个网络设备的处理能力及利用率,解决了系统单一故障点的问题。
图1为本发明网络集群的结构示意图。
具体实施例方式以下通过具体的实施例和附图对本发明做详细的说明参见图1,在本发明的实例中,网络集群1中设有m个节点设备,该各节点设备为相同的设备;每个设备的网络接口有3个,编号依次为I1,I2,I3也就是,整个网络集群1对外的网络接口为3个。
首先,连接集群节点设备,将m个设备的网络接口I1用一个共享的网络设备连接起来,如具有广播功能的以太网集线器或具有广播功能的交换机,集线器的网络端口数至少为m+1个;其中,集线器的m个端口连接m台设备的I1口,集线器的第m+1个接口作为集群对外的第1个接口。与上述的方法相同,依次连接m个设备的I2、I3接口,形成集群对外的第I2、I3个网络接口。
集群内节点设备对网络数据包文的自动负载均衡方法如下计算集群hash最大值;本实施例的集群中有m个子设备,则将0到上述的集群hash最大值域等分成m个集群hash数值区间,每个设备占用其中的一个数值区间。
集群内所有设备的相同编号的端口,由于集群节点设备的连接方法,都可以收到来自集群对外接口的网络报文。
每个结点设备的某一个端口接收到网络数据报文时,首先取出该报文的报头信息,利用hash函数计算出结果,然后,判断该hash结果是否落在本节点设备占用的hash数值区间,如果是,则本节点设备处理收网络报文;否则,把该网络报文丢弃。
通过过以上方法,集群并行处理,使集群内的网络设备具有负载自动均衡的能力,实现了网络集群的分布式自适应负载均衡,为了保证集群的可靠运行,对集群的管理采用主从方式管理,即在集群中设定一个节点设备为主节点,其他节点设备为从节点,集群节点依据集群节点之间通过心跳协议交换的每个节点的负载情况、CPU与内存的利用率以及整个集群的负载情况进行负载均衡。
这里所述的节点设备的心跳信息包括节点号、负载情况、IP地址、哈希数值空间、配置同步标志、负载同步标志等信息。
每个节点设备在规定的时间内向主节点设备发送心跳信息,如果主节点设备在规定时间内没有收到从节点设备的心跳,则认为该从节点设备出现了故障;当某个从节点设备发生故障时,主节点设备根据剩余的节点设备数重新计算集群hash区间,并为剩余的从节点设备分配新的集群hash区间数值;主节点设备也必须在规定的时间内向其他从设备发送自己的心跳信息;当从节点设备在规定的时间内没有收到主节点设备的心跳时,则认为主节点设备出现故障,这时主节点设备附近的一个从节点设备自动担任主设备的任务。
最后应说明的是以上实施例仅用以说明本发明而并非限制本发明所描述的技术方案;因此,尽管本说明书参照上述的各个实施例对本发明已进行了详细的说明,但是,本领域的普通技术人员应当理解,仍然可以对本发明进行修改或者等同替换;而一切不脱离本发明的精神和范围的技术方案及其改进,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种网络设备自适应负载均衡的方法,其特征在于网络设备集群中的各节点通过心跳协议相互监控节点运行状态,每个节点只处理属于自己处理范围内的数据包,并根据各节点的运行状态进行网络设备集群内的负载均衡操作;具体包括步骤1在集群中的主节点通过心跳协议与各从节点通信,获取各从节点的负载信息和状态信息;步骤2当从节点发生故障时,主节点根据剩余的节点数重新进行网络设备集群内的负载均衡操作,为各节点重新分配应处理的数据包ha sh区间。
2.根据权利要求1所述的网络设备自适应负载均衡的方法,其特征在于该方法还进一步包括步骤3主节点设备在规定的时间内向其他从设备发送自己的心跳信息;当从设备在规定的时间内没有收到主节点设备的心跳信息时,则认为该主节点设备出现故障,该主节点设备附近的一个从节点设备自动接替主节点设备的任务。
3.根据权利要求1或2所述的网络设备自适应负载均衡的方法,其特征在于所述的心跳信息至少为节点号或负载情况或IP地址或哈希数值空间或配置同步标志信息或负载同步标志信息之一或其组合;该信息由各节点设备在规定的时间内通过网络向其他节点发送。
4.根据权利要求1所述的网络设备自适应负载均衡的方法,其特征在于所述的网络设备集群内的负载均衡操作包括步骤21计算整个集群的hash区间;具体为确定集群hash值的区间,设定区间的下限为零,hash区间的上限依据如下公式计算HU=(2m-1);其中,HU为hash区间的上限值;m为hash值二进制位数值;步骤22按照如下公式划分集群中每个子设备的hash数值区间;HashI=((i-1)×SE,i×SE]SE=HashVSEN]]>其中i=1,2,...,SEN;HashI为第I个自设备所在的Hash数值区间;SE为集群每个子设备占用的一个数值区间大小值;HashV为步骤21计算的集群hash上限值HU;SEN为集群中子设备的总数;步骤23集群内所有设备的相同编号的端口,通过共享网络同时可以收到来自集群对外接口的网络报文;步骤24每个节点设备对收到的网络数据报文进行计算和处理。
5.根据权利要求4所述的网络设备自适应负载均衡的方法,其特征在于所述的报头信息至少包括IP报头的源地址和目的地址信息。
6.根据权利要求4所述的网络设备自适应负载均衡的方法,其特征在于步骤24的具体处理过程为步骤241每个节点设备接收到网络数据报文时,取出该报文的报头信息,并利用hash函数进行计算;步骤242判断该计算结果是否落在本节点设备占用的hash数值区间内;是,则本节点设备处理收到的网络报文;否则丢弃该网络报文。
7.根据权利要求1或2或4-6所述的网络设备自适应负载均衡的方法,其特征在于所述的网络设备集群中各节点设备为相同的设备,且各节点设备的网络接口之一通过共享网络连接。
全文摘要
一种网络设备自适应负载均衡的方法,网络设备集群中的各节点利用自主负载均衡操作并行均衡地处理进入集群中的网络数据包,集群中主节点通过心跳协议相互监控节点运行状态,获取各从节点的负载信息、CPU与内存的利用率信息;当某节点的运行状态出现故障时,集群可以进行对剩余的正常节点进行动态体调整,保证集群能够正常处理所有网络数据包;本发明解决了网络流量的负载均衡问题,提高了网络系统的可靠性、高可用性以及对数据包的处理能力,充分发挥了多个网络设备的处理能力及利用率,解决了系统单一故障点的问题。
文档编号H04L29/06GK1512729SQ0215947
公开日2004年7月14日 申请日期2002年12月31日 优先权日2002年12月31日
发明者韦卫, 杨聪毅, 刘永锋, 李清玉, 韦 卫 申请人:联想(北京)有限公司