支持网络安全业务的负载均衡方法和设备的制作方法

文档序号:7866752阅读:198来源:国知局
专利名称:支持网络安全业务的负载均衡方法和设备的制作方法
技术领域
本发明涉及计算机负载均衡技术领域,更具体地,涉及支持网络安全业务的负载均衡方法和设备
背景技术
现有数据中心配置有大量的服务器,当大量用户通过网络访问数据中心的服务器时,为保证数据中心中所有服务器的使用效率最大化,在网络入口上,一般安装有一个负载均衡设备,该均衡设备中保存数据中心可用服务器的列表。每当一个用户发起访问数据中心的请求时,负载均衡设备按照一定的请求分配策略,把不同用户的访问请求分配到不同 的服务器上。现有的负载均衡设备中,负载均衡设备的输出网口连接到数据中心的交换设备上,交换设备同时还连接着数据中心所有的服务器,负载均衡设备的输出口与交换设备之间是双向连接,负载均衡设备把输入流量在向数据中心的目标服务器分配时,可以不指定流量的输出网口,只指定目标服务器的IP地址,负载均衡设备通过和交换设备、服务器的协议栈的交互,确定哪个IP地址的流量从负载均衡设备的哪个网口输出。一般数据中心正向云计算数据中心发展。云计算数据中心与一般数据中心相比,需要支持更丰富的网络应用业务。网络应用业务包括网络服务类业务和网络安全类业务,例如,网络安全类业务的一种是对网络数据进行监听分析的业务。但是,在对网络数据监听分析的业务中,数据中心的服务器对外是单向输入的接口,并且服务器的输入端口直接和负载均衡设备的输出端口连接。所以,负载均衡设备无法通过和其他设备交互获得服务器的IP地址,只能给每个流量指定输出端口。此外,网络安全类业务一般有同源同宿的要求,也就是要求一个网络会话中的通信双向数据,都要分配给同一台服务器处理,因此负载均衡设备需要支持同源同宿的负载均衡算法。然而,现有负载均衡设备都是面向网络服务类业务设计的,只能根据服务器节点列表中的服务器IP地址输出流量,且负载均衡算法都是基于服务器状态实现的,不支持同源同宿要求。因此,现有针对数据中心设计的负载均衡设备不能满足网络安全类业务的需要,不能满足网络安全云计算的需求。

发明内容
为解决现有技术中存在的技术问题,本发明提出了一种支持网络安全类业务的负载均衡设备,系统和方法。根据本发明的一个方面,提供了一种支持网络安全业务的负载均衡设备,包括一个或多个输出端口组,每个输出端口组包括一个或多个输出端口 ;端口组负载均衡单元,用于将接收到的网络业务流量根据负载均衡算法分配到一个输出端口组或者所述多个输出端口组中的不同的输出端口组;
端口分配单元,用于根据配置的同源同宿的规则从与所分配的输出端口组对应的输出端口列表中为所述网络业务流量中的报文选择出目标输出端口 ;以及,网络业务流量发送单元,用于将所述网络业务流量中的报文通过所述目标输出端口发送给与所述目标输出端口通信的服务器。在可选实施例中,所述端口分配单元根据配置的同源同宿的规则从与所分配的输出端口组对应 的输出端口列表中为所述网络业务流量中的报文选择出目标输出端口,包括所述端口分配单元,对于所述网络业务流量中的每个报文,对报文中的源IP地址和目的IP地址执行同源同宿的哈希算法并得到哈希值;以及,将所述哈希值与所分配的输出端口组对应的输出端口列表的长度进行取模运算,从而得到报文的目标输出端口。在可选实施例中,所述负载均衡设备还包括配置单元,用于配置与所述一个或多个输出端口组对应的一个或多个输出端口列表。在可选实施例中,所述配置单元还用于将连接到具有第一功能的服务器的第一输出端口和连接到具有第二功能的服务器的第二输出端口分配在不同的输出端口组。在可选实施例中,所述配置单元,还用于为端口组负载均衡模块指定每个输出端口组的负载均衡算法。在可选实施例中,所述一个或多个输出端口组是逻辑输出端口组,所述配置单元还用于将所述负载均衡设备的同一个物理输出端口分配到不同的逻辑输出端口组中。在可选实施例中,所述负载均衡设备的网络业务流量发送单元还包括MAC地址修改单元和交换单元,其中所述MAC地址修改单元,用于根据分配给所述网络业务流量的所述目标端口以及预配置的目标服务器MAC地址与输出端口的对应关系修改所述网络业务流量中的报文的目标服务器MAC地址,以及将目标服务器MAC地址修改后的报文发送给交换单元;所述交换单元,用于将接收到的来自所述MAC地址修改单元的报文根据该报文中的目标服务器MAC地址以及所述预配置的目标服务器MAC地址与输出端口的对应关系从相应的目标输出端口输出从而发送给对应的目标服务器。根据本发明的另一方面,还提供了一种支持网络安全业务的负载均衡系统,包括支持网络安全业务的负载均衡设备以及与所述负载均衡设备的输出端口连接的服务器,其中,所述负载均衡设备包括一个或多个输出端口组,每个输出端口组包括一个或多个输出端口 ;端口组负载均衡单元,用于将接收到的网络业务流量根据负载均衡算法分配到一个输出端口组或者所述多个输出端口组中的不同的输出端口组;端口分配单元,用于根据配置的同源同宿的规则从与所分配的输出端口组对应的输出端口列表中为所述网络业务流量中的报文选择出目标输出端口 ;以及,网络业务流量发送单元,用于将网络业务流量中的报文通过所述目标输出端口发送给与所述目标输出端口通信的服务器。根据本发明的又一方面,还提供了一种支持网络安全业务的负载均衡方法,包括
将接收到的网络业务流量根据负载均衡算法分配到一个输出端口组或者多个输出端口组中的不同的输出端口组;根据配置的同源同宿的规则从与所分配的输出端口组对应的输出端口列表中为所述网络业务流量中的报文选择出目标输出端口 ;以及,将所述网络业务流量中的报文通过所述目标输出端口发送给与所述目标服务器通信的服务器。在可选实施例中,根据配置的同源同宿的规则从与所分配的输出端口组对应的输出端口列表中为所述网络业务流量中的报文选择出目标输出端口,包括对于所述网络业务流量中分配到输出端口组的每个报文,对报文中的源IP地址和目的IP地址执行同源同宿的哈希算法并得到哈希值;以及,将所述哈希值与所分配的输出端口组对应的输出端口列表的长度进行取模运算,从而得到报文的目标输出端口。 在可选实施例中,所述负载均衡方法还包括配置与所述一个或多个输出端口组对应的一个或多个输出端口列表。本发明通过使用均衡负载算法将网络业务流量分配给相应的输出端口组,并从输出端口组中给网络业务流量分配满足同源同宿要求的目标输出端口,并基于该目标输出端口发送网络业务流量给相应的服务器,因而提供了一种新的满足现有数据中心各服务器负载均衡的方法,而且还能够支持当前大多数数据中心负载均衡设备所不能支持的网络安全类业务。


图I是根据本发明一实施例的支持网络安全业务的负载均衡设备的框图。图2是根据本发明另一实施例的支持网络安全业务的负载均衡系统的框图。图3是根据本发明又一实施例的支持网络安全业务的负载均衡算法的流程图。
具体实施例方式下面结合附图进一步详细说明本发明的具体实施方式
。根据本发明的实施例,提供了一种支持网络安全业务的负载均衡设备。该负载均衡设备可满足单向监听的网络安全应用的需求,输出网络流量时,不是根据指定目标服务器的IP地址输出网络流量,而是根据配置的端口组和负载均衡算法,指定网络流量从负载均衡设备的哪一具体输出端口输出。图I是根据本发明一实施例的支持网络安全业务的负载均衡设备的框图。本发明实施例的负载均衡设备配置有一个或多个输出端口组,每个输出端口组包括一个或多个端口。参考图1,负载均衡设备I包括端口组负载均衡单元10,用于将接收到的网络业务流量根据负载均衡算法分配到一个输出端口组或者多个输出端口组中的不同的输出端口组。在一实施例中,一个或多个输出端口组可以是一个或多个物理输出端口组。在另一实施例中,一个或多个输出端口组可以是一个或多个逻辑输出端口组。可选地,在本发明实施例的负载均衡设备中,可以配置成一个物理输出端口对应一个逻辑输出端口组中的一个逻辑输出端口,即将一个物理输出端口分配给一个逻辑输出端口。可选地,在本发明实施例的负载均衡设备中,也可以配置成同一个物理输出端口对应不同逻辑输出端口组中的逻辑输出端口。例如,可以将一个物理输出端口配置给逻辑输出端口组I中的输出端口 I和逻辑输出端口组2中的输出端口 2。负载均衡设备I还包括端口分配单元20,用于根据配置的同源同宿的规则从与所分配的输出端口组对应的输出端口列表中为网络业务流量中的报文选择出目标输出端口。这样负载均衡设备I的网络业务流量发送单元30可以将网络业务流量中的报文通过目标输出端口发送给与目标输出端口通信的服务器。在本发 明优选实施例中,负载均衡设备的每个输出端口连接到一台服务器,每个输出端口都具有一台相对应与其通信的服务器。在本发明的一种实施例中,端口分配单元20根据配置的同源同宿的规则从与所分配的输出端口组对应的输出端口列表中为网络业务流量中的报文选择出目标输出端口,包括对于所述网络业务流量中的每个报文,端口分配单元20对报文中的源IP地址和目的IP地址执行同源同宿的哈希算法并得到哈希值;以及,将所述哈希值与所分配的输出端口组对应的输出端口列表的长度进行取模运算,从而得到报文的目标输出端口。在一个实例中,例如,负载均衡设备当前配置有3个输出端口组,输出端口组1、2和3。输出端口组I包括输出端口 1、2和3 ;输出端口组2包括输出端口 4、5和6;输出端口组3包括输出端口 7、8和9。在本发明实施例中,可以是每一个输出端口与一个相对应的服务器进行通信。此外,不同输出端口组中的输出端口数量可以不同。在本发明的可选实施例中,负载均衡设备的输出端口与服务器的连接方式可以是从负载均衡设备到服务器单向连接。然后,端口组负载均衡单元10可以根据负载均衡算法将当前接收到的网络业务流量分配给端口组I和2。对于分配到端口组I的网络业务流量,例如,端口分配单元20首先提取网络流量中的报文,然后提取该报文的源IP地址sip和目的IP地址dip,接着执行同源同宿的哈希算法hash (sip, dip),计算得到哈希值h。其中,该哈希算法满足hash (sip,dip) = hash (dip, sip)的条件。可以满足同源同宿的条件hash算法很多,可以采用sip和dip相加、相乘、相异或运算等,例如,采用相异或运算,就可以满足hash (sip, dip)=sip'dip = dip'sip = hash (dip, sip)。然后,端口分配单元20将哈希值h和与端口组I对应的端口列表长度Ien (在该例子中端口列表长度为3)取模运算,得到该报文的目标输出端口 d = h% Ien0例如,一个报文的sip为0x01010101, dip为0x01010010, hash算法为相异或运算,哈希值h = hash (sip,dip) = sip'dip = 7,则目标输出端口为d = h% Ien = 7% 3 = I0那么,该报文的目标输出端口号为I。对于分配到端口组I的网络业务流量中的每一个报文,端口分配单元可以做上面描述的操作以将每个报文分配给相对应的目标输出端口。此外,端口分配单元20可以对分配到端口组2的网络业务流量中的每一个报文执行上述操作以将每个报文分配给相应的目标输出端口。在本发明的一实施例中,负载均衡设备的端口分配单元20可以是实体物理模块,与端口组负载均衡单元10相连接。在本发明的另一实施例中,负载均衡设备的端口分配单元20可以是虚拟模块,每个输出端口组可相对应地配置有一个端口分配单元。
在本发明实施例中,负载均衡设备I还可以包括配置单元,用于配置与所述一个或多个输出端口组对应的一个或多个输出端口列表。可选地,所述配置单元还用于将连接到具有第一功能的服务器的第一输出端口和连接到具有第二功能的服务器的第二输出端口分配在不同的输出端口组。也就是说,配置单元还用于将与不同功能的服务器相连的输出端口设置为在不同的输出端口组。可选地,配置单元,还用于为端口组负载均衡模块指定每个输出端口组的负载均衡算法。例如,可以分别指定不同端口组采用不同的哈希函数,比如,I号端口组的哈希函数为hash (sip, dip) = sip+dip, 2号端口组的哈希函数为hash (sip, dip) = sip氺dip。对于网络业务流量发送单元30将网络业务流量的报文通过目标输出端口发送给与目标输出端口通信的服务器,在本发明进一步的可选实施例中,网络业务流量发送单元30还可以包括MAC地址修改单元和交换单元。MAC地址修改单元,用于根据分配给所述网络业务流量的所述目标端口以及预配置的目标服务器MAC地址与输出端口的对应关系修 改网络业务流量中的报文的目标服务器MAC地址,以及将目标服务器MAC地址修改后的报文发送给交换单元。交换单元,用于将接收到的来自MAC地址修改单元的报文根据该报文中的目标服务器MAC地址以及所预配置的目标服务器MAC地址与输出端口的对应关系从相应的目标输出端口输出从而发送给对应的目标服务器。在本发明的一个实例中,MAC地址修改单元和交换单元是协同工作的,MAC地址修改单元根据交换单元中配置的MAC地址与输出端口的对应关系,对报文的MAC地址进行修改。比如,交换单元中配置了 MAC地址为AA:AA:AA:AA:AA:AA的报文从I号端口输出,MAC地址为的报文从2号端口输出。那么,当一个报文A的目标输出端口为I时,MAC地址修改单元就要把报文的MAC地址修改为AA: AA: AA: AA: AA: AA,当一个报文B的目标端口为2时,MAC地址修改单元就要把报文的MAC地址修改为BB:BB:BB:BB:BB:BB,这样,交换单兀收到报文后,就能够把报文A从目标输出端口 I输出,把报文B从目标输出端口 2输出。根据本发明实施例,还提供了一种支持网络安全业务的负载均衡系统。如图2所示,该负载均衡系统包括上面描述的负载均衡设备I以及与所述负载均衡设备的输出端口连接的服务器。图2中仅示出了分别与各服务器连接的负载均衡设备的一组输出端口组中的输出端口。根据本发明实施例,还提供了一种支持网络安全业务的负载均衡算法。如图3所示,该支持网络安全业务的负载均衡方法,包括S301,将接收到的网络业务流量根据负载均衡算法分配到一个输出端口组或者多个输出端口组中的不同的输出端口组;S302,根据配置的同源同宿的规则从与所分配的输出端口组对应的输出端口列表中为所述网络业务流量中的报文选择出目标输出端口;S303,将所述网络业务流量中的报文通过所述目标输出端口发送给与所述目标服务器通信的服务器。在本发明实施例中,根据配置的同源同宿的规则从与所分配的输出端口组对应的输出端口列表中为所述网络业务流量中的报文选择出目标输出端口的步骤,包括对于所述网络业务流量中分配到输出端口组的每个报文,对报文中的源IP地址和目的IP地址执行同源同宿的哈希算法并得到哈希值;以及,将所述哈希值与所分配的输出端口组对应的输出端口列表的长度进行取模运算,从而得到报文的目标输出端口。在本发明实施例中,所述负载均衡方法还包括配置与所述一个或多个输出端口组对应的一个或多个输出端口列表。在本发明可选实施例中,一个或多个输出端口组可以是逻辑输出端口组,所述负载均衡算法还包括将所述负载均衡设备的同一个物理输出端口分配到不同的逻辑输出端口组中。 本发明实施例的负载均衡算法的各步骤的进一步详细描述可以参见关于本发明实施例的负载均衡设备部分的描述,在此不再赘述,本发明通过使用均衡负载算法将网络业务流量分配给相应的输出端口组,并从输出端口组中给网络业务流量分配满足同源同宿要求的目标输出端口,并基于该目标输出端口发送网络业务流量给相应的服务器,这样提供了一种新的满足现有数据中心的各服务器负载均衡的方法,而且还能够支持当前大多数数据中心负载均衡设备所不能支持的网络安全类业务。本发明实施例提供的负载均衡设备、系统以及方法特别适用于网络安全云计算数据中心。在此提供的算法和实现不限于任何特定的计算机、虚拟系统或者其它设备。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或部件,以及此外可以把它们分成多个子模块或子单元或子部件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。此外,本申请的说明书中虽然描述了本发明实施例的大量具体细节,然而,能够理解,本发明实施例并不是必须在所有的具体细节情况下才能实施。在一些实例中,并未详细示出公知的方法、结构和技术,以便于清楚地理解本发明的发明主旨。
权利要求
1.一种支持网络安全业务的负载均衡设备,包括 一个或多个输出端口组,每个输出端口组包括一个或多个输出端口 ; 端口组负载均衡单元,用于将接收到的网络业务流量根据负载均衡算法分配到一个输出端口组或者所述多个输出端口组中的不同的输出端口组; 端口分配单元,用于根据配置的同源同宿的规则从与所分配的输出端口组对应的输出端口列表中为所述网络业务流量中的报文选择出目标输出端口 ;以及, 网络业务流量发送单元,用于将所述网络业务流量中的报文通过所述目标输出端口发送给与所述目标输出端口通信的服务器。
2.根据权利要求I所述的负载均衡设备,其特征在于,所述端口分配单元根据配置的同源同宿的规则为所述网络业务流量中的报文从与所分配的输出端口组对应的输出端口列表中选择出目标输出端口,包括 所述端口分配单元,对于所述网络业务流量中的每个报文,对报文中的源IP地址和目的IP地址执行同源同宿的哈希算法并得到哈希值; 将所述哈希值与所分配的输出端口组对应的输出端口列表的长度进行取模运算,从而得到报文的目标输出端口。
3.根据权利要求I所述的负载均衡设备,其特征在于,所述负载均衡设备还包括配置单元,用于配置与所述一个或多个输出端口组对应的一个或多个输出端口列表。
4.根据权利要求3所述的负载均衡设备,其特征在于,所述配置单元还用于将连接到具有第一功能的服务器的第一输出端口和连接到具有第二功能的服务器的第二输出端口分配在不同的输出端口组;和/或, 所述配置单元,还用于为端口组负载均衡模块指定每个输出端口组的负载均衡算法。
5.根据权利要求I至4任一项所述的负载均衡设备,其特征在于,所述一个或多个输出端口组是逻辑输出端口组,所述配置单元还用于将所述负载均衡设备的同一个物理输出端口分配到不同的逻辑输出端口组中。
6.根据权利要求I所述的负载均衡设备,其特征在于,所述网络业务流量发送单元包括MAC地址修改单元和交换单元,其中 所述MAC地址修改单元,用于根据分配给所述网络业务流量的所述目标端口以及预配置的目标服务器MAC地址与输出端口的对应关系修改所述网络业务流量中的报文的目标服务器MAC地址,以及将目标服务器MAC地址修改后的报文发送给交换单元; 所述交换单元,用于将接收到的来自所述MAC地址修改单元的报文根据该报文中的目标服务器MAC地址以及所述预配置的目标服务器MAC地址与输出端口的对应关系从相应的目标输出端口输出从而发送给对应的目标服务器。
7.一种支持网络安全业务的负载均衡系统,包括权利要求I至6任一项所述的负载均衡设备以及与所述负载均衡设备的输出端口连接的服务器。
8.一种支持网络安全业务的负载均衡方法,包括 将接收到的网络业务流量根据负载均衡算法分配到一个输出端口组或者多个输出端口组中的不同的输出端口组; 根据配置的同源同宿的规则从与所分配的输出端口组对应的输出端口列表中为所述网络业务流量中的报文选择出目标输出端口 ;以及将所述网络业务流量中的报文通过所述目标输出端口发送给与所述目标服务器通信的服务器。
9.根据权利要求8所述的负载均衡方法,其特征在于,根据配置的同源同宿的规则从与所分配的输出端口组对应的输出端口列表中为所述网络业务流量中的报文选择出目标输出端口,包括 对于所述网络业务流量中分配到输出端口组的每个报文,对报文中的源IP地址和目的IP地址执行同源同宿的哈希算法并得到哈希值; 将所述哈希值与所分配的输出端口组对应的输出端口列表的长度进行取模运算,从而得到报文的目标输出端口。
10.根据权利要求8所述的负载均衡方法,其特征在于,所述负载均衡方法还包括配置与所述一个或多个输出端口组对应的一个或多个输出端口列表。
全文摘要
本发明公开了一种支持网络安全业务的负载均衡设备,包括一个或多个输出端口组,每个输出端口组包括一个或多个输出端口;端口组负载均衡单元,用于将接收到的网络业务流量根据负载均衡算法分配到一个输出端口组或者所述多个输出端口组中的不同的输出端口组;端口分配单元,用于根据配置的同源同宿的规则从与所分配的输出端口组对应的输出端口列表中为所述网络业务流量中的报文选择出目标输出端口;以及,网络业务流量发送单元,用于将网络业务流量中的报文通过所述目标输出端口发送给与所述目标输出端口通信的服务器。相应地,本发明还公开了支持网络安全业务的负载均衡系统以及负载均衡方法。
文档编号H04L12/803GK102932270SQ20121049060
公开日2013年2月13日 申请日期2012年11月27日 优先权日2012年11月27日
发明者刘朝辉, 邵宗有, 刘新春 申请人:无锡城市云计算中心有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1