CN101981560A - 用于网络节点的负载均衡网桥群集 - Google Patents

用于网络节点的负载均衡网桥群集 Download PDF

Info

Publication number
CN101981560A
CN101981560A CN2008800208248A CN200880020824A CN101981560A CN 101981560 A CN101981560 A CN 101981560A CN 2008800208248 A CN2008800208248 A CN 2008800208248A CN 200880020824 A CN200880020824 A CN 200880020824A CN 101981560 A CN101981560 A CN 101981560A
Authority
CN
China
Prior art keywords
load balancing
node
data
load
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2008800208248A
Other languages
English (en)
Inventor
西蒙·格鲁佩
扬吉·毛尔高利特
达尼·毛尔高利特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SafeNet Data Security Israel Ltd
Original Assignee
Aladdin Knowledge Systems Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Aladdin Knowledge Systems Ltd filed Critical Aladdin Knowledge Systems Ltd
Publication of CN101981560A publication Critical patent/CN101981560A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/243Multipath using M+N parallel active paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种网络负载均衡群集,该网络负载均衡群集被构造成通过串行连接负载均衡节点而不是如在现有技术结构中那样并行地连接所述负载均衡节点,来发挥透明网桥功能。公开了一种负载均衡算法和方法,通过所述负载均衡算法和方法,所述结构中的各个节点都独立地确定是处理数据分组或使所述数据分组向前通过以由其它节点来处理。为此,负载均衡节点配备有允许所述节点使由不同节点来处理的数据分组向前通过的软件数据直通能力和硬件数据直通能力。

Description

用于网络节点的负载均衡网桥群集
技术领域
本发明涉及数据网络负载均衡,并且更具体地,涉及诸如服务器和网关的网络节点的负载均衡。
背景技术
在很多网络实现中,将诸如服务器和网关的节点并行地群集在冗余结构中以提供更高的可用性和可靠性,并且通过根据优化整体数据吞吐量的准则将工作负载分布在一组节点中以防止数据通信量拥塞。
术语“节点”在这里表示网络内可以执行数据处理的任意点,其包括但不限于:服务器、网关以及类似装置。
术语“负载均衡”在这里表示出于但不限于以下目的将数据处理负载分布在一组节点中:防止数据通信量拥塞;减小处理时延;提高处理可用性;以及提高处理可靠性。可以由包括但不限于以下方式来完成数据处理负载的分布:将特定数据项的处理分配给特定的装置;将特定数据项引导到特定的网络装置以进行处理;和确定特定装置是否将处理特定数据项。
图1例示了这种结构,其中客户端101a、101b、101c和101d连接到网络交换机103,网络交换机103支持与节点105a、105b、105c和105d的数据连接。网络交换机107支持从前述节点经过防火墙109到诸如互联网的广域网111的连接。节点105a、105b、105c和105d例如可以是通过检查客户端101a、101b、101c及101d和网络111之间的通信量来提供内容安全服务的网关。
术语“交换机”在这里表示能够以可选择的方式将数据通信量引导到一个或更多个其它装置的任何装置。因而,术语“交换机”在这里以一种非限制性的方式用于标识执行交换功能并因此可以以不同方式(诸如通过使用一般称为“路由器”的装置)来实现的某些装置。
图1例示了现有技术的结构,其在这里表示“并行”结构;在这种结构中,也可以说负载均衡节点是“并行地”连接。负载均衡节点的并行结构的决定性特征是通过并行结构的负载均衡群集的数据分组通过一个且只有一个负载均衡节点。
由于节点105a、105b、105c和105d连接到网络交换机103而不是集线器,因此每次只有一个节点可以发现通信量。然而,由于集线器在半双工模式下以有限的速度工作并且不能被随意地级联,因此集线器不再是优选的。
在诸如图1所示的现有技术结构中,不同的节点可专门用于执行不同的特定功能并由此在几个节点间分布数据处理负载;或者,特定的节点可专门用于充当向其它节点分布通信量以进行处理的主节点,并由此实现负载均衡。在这种结构中,在节点间存在着典型的心跳协议(heartbeatprotocol),因此如果一个节点发生故障,则主节点将知道不向该节点发送通信量;而如果主节点发生故障,则可以预先确定其它节点中的一个节点来接管主节点的职责。
图1所示的并行负载均衡节点结构的实际限制是这种结构不能发挥透明网桥的作用,而是必须充当路由器。
因而存在着对一种用于网络节点的可充当透明网桥而不是路由器的负载均衡结构的需求,并且具有这种负载均衡结构将会非常地有利。本发明实现了这个目的。
发明内容
本发明涉及一种在网桥结构中用于网络负载均衡的节点群集。与其中节点并行连接的现有技术不同,根据本发明的实施方式,两个或更多个负载均衡节点串行连接。按照这种方式,根据本发明实施方式的负载均衡结构发挥了透明网桥的功能,并且不用必须被设置成路由器。所述网桥结构的优点包括但不限于更容易安装。由于在现有技术中意识到了设置并管理现有技术的负载均衡的群集的困难已经阻碍了很多用户采用负载均衡群集,因此这是一个重要的优势。
为了支持所述网桥结构,根据本发明实施方式的节点拥有数据直通能力(也称为“旁路(bypass)”),藉此节点可以对数据通信量进行处理或未加处理地使所述数据通信量直通(pass through)。节点内的负载均衡器基于预定的准则做出处理或直通的决定;数据处理机(data handler)执行对不是直通的数据通信量的处理。术语“负载均衡”在这里表示能够选择性地确定特定数据处理器是否应处理特定数据项的任意***、装置、部件、或它们的程序控制的设备。
根据本发明的负载均衡群集的大体目标是通过在多个数据处理器之间分布处理负载来提高数据处理效率。
根据本发明的负载均衡群集的另一大体目标是提高处理器的可用性并因此提高所述群集的可靠性。根据本发明的负载均衡群集的又一个大体目标是提供在节点故障的情况下的故障容错和冗余备份处理。
熟悉本领域的人应理解并意识到根据本发明的负载均衡群集工作以实现所有上述目标。
因此,根据本发明,提供了一种用于包括多个串行连接的负载均衡节点的数据网络的负载均衡群集,其中,所述负载均衡节点中的每一个都包括:(a)用于接收数据分组的第一外部数据端口;(b)用于转发所述数据分组的第二外部数据端口;(c)用于处理所述数据分组的数据处理机;以及(d)用于确定所述数据处理机是否处理所述数据分组的负载均衡器。
附图说明
在这里参照附图仅仅通过示例的方式来描述本发明,其中:
图1例示了典型现有技术的网络负载均衡结构。
图2例示了本发明实施方式的网络负载均衡结构的非限制性示例。
图3是概念性地例示了根据本发明实施方式的负载均衡网络节点的框图。
图4是例示了根据本发明实施方式的负载均衡和数据直通方法的流程图。
具体实施方式
可以参照附图和所附说明来理解根据本发明的网络负载均衡结构的原理和操作。
串行结构
图2例示了根据本发明的实施方式的网络负载均衡结构的非限制性示例。与典型的现有技术结构(图1)一样,客户端101a、101b、101c和101d通过防火墙109最终连接到广域网111。然而,由于节点205a、205b、205c和205d串行连接而不是如现有技术的节点105a、105b、105c和105d(图1)那样并行连接,因此只需要单个交换机203。术语“群集”在这里表示相互连接以实现统一目标的多个网络装置。将现有技术的结构以及本发明的结构统称为群集。
图2例示了本发明的结构,该结构在这里被表示为“串行”结构;在这种具有至少两个节点的结构中,也可以说负载均衡节点是“串行地”连接的。负载均衡节点的串行结构的决定性特征是通过串行结构的负载均衡集群的数据分组连续地通过各个负载均衡节点。如前所述,这与并行结构的负载均衡群集的对应特征不同,在并行结构的负载均衡群集中,数据分组正好通过一个且仅一个负载均衡节点。
另一个决定性特征是串行结构的拓扑,其中,正好有两个负载均衡节点处在串行结构的两端,并且这两个负载均衡节点在这里被表示为“端节点”。在图2中,节点205a和节点205d是端节点。通过这样的事实来区分端节点,即,端节点正好与串行结构的一个且仅一个其它的负载均衡节点相连(节点205a连接到群集中节点205b且仅连接到群集中节点205b;而节点205d连接到群集中节点205c且仅连接到群集中节点205c)。然而,除了端节点以外,串行结构的各负载均衡节点都正好连接到该结构的两个其它负载均衡节点。在图2中,节点205b和节点205c是该结构中不是端节点的负载均衡节点(节点205b连接到节点205a和节点205c;而节点205c连接到节点205b和节点205d)。
因此,要求交换机203处理多个客户端而不是如在现有技术的结构中(图1)所必需的那样处理多个节点。根据本发明的实施方式,节点205a、205b、205c和205d在串行结构中执行负载均衡,详细情况如下。
在本发明的实施方式中,节点205a、205b、205c和205d中的每一个都与节点号相关联,节点号在这里是以n表示的整数。如在下面“负载均衡节点计数”部分中更加详细讨论的那样,活动节点(active node)的总数量在这里以N来表示。整数n的范围是从1(包括1)到N(包括N),并且在群集内整数n是唯一地分配的,因此在群集的N个节点和整数1...N之间存在着一一对应的映射。然而,不需要根据节点的连接对它们进行顺序地编号。
在图2中示出了以上的非限制性示例。节点205a具有整数n=1的关联206a;节点205b具有整数n=4的关联206b;节点205c具有整数n=2的关联206c;而节点205d具有整数n=3的关联206d。因此,在该非限制性示例中,四个节点具有与整数1、2、3、4一一对应的映射;但是它们并不是顺序编号的。在该非限制性示例中,表示为N的负载均衡节点的总数量具有4的计数204。
内部端口和外部端口
如图2所示,串行连接是到节点205a、205b、205c和205d的外部端口的。术语“外部端口”在这里表示节点中用于向和从其它节点发送和接收数据的这样的数据端口,即可以经由到该数据端口的连接从节点外部直接地访问该数据端口。
术语“连接(connection)”、“连接的(connected)”、以及它们的变型在这里都表示经由装置的外部数据端口到附接的装置的相应外部数据端口的直接数据链接或该直接数据链接的等同物。尽管数据可以随意地经由网络从网络上的任何装置间接地传播到网络上的任意其它装置,但是只有那些经由它们相应的外部数据端口通过直接数据链接或其等同物直接附接的装置才被认为具有“连接”以及是“连接的”。
交换机203连接到节点205a的外部端口213a;节点205a的外部端口215a连接到节点205b的外部端口213b;节点205b的外部端口215b连接到节点205c的外部端口213c;节点205c的外部端口215c连接到节点205d的外部端口213d;而节点205d的外部端口215d通过防火墙109连接到广域网111。
在本发明的优选实施方式中,负载均衡节点具有两个独立的外部数据端口。
直通式数据适配器
图3的框图概念地例示了根据本发明的实施方式的负载均衡网络节点205。节点205可以是节点205a、205b、205c和205d(图2)中的任一个。
功能上,节点205包含直通式数据通信适配器301,该直通式数据通信适配器301能够使数据通信量从外部端口213经由内部数据路径303直通至外部端口215。外部端口213可以是外部端口213a、213b、213c和213d(图2)中的任意一个;而外部端口215可以是外部端口215a、215b、215c和215d(图2)中的任意一个。适配器301具有能够以像刚刚描述的那样执行数据通信量的传递的硬件数据直通模式。下面将更加详细地讨论该直通模式。
注意,适配器301的内部通信路径(如下所述)是全双工路径,其中数据通信量可以在任何时间在任一方向上以及同时在两个方向上传播。在非限制性示例中,数据可经由全双工数据路径305在外部端口213和内部端口317之间传播;并且经由全双工端口307在外部端口215和内部端口315之间传播。术语“内部端口”在这里表示节点中这样的数据端口,即,不能从节点外部直接访问该数据端口而是只能由节点的内部部件经由到内部端口的内部连接在节点内直接访问该数据端口。在图2所示的非限制性示例中,节点205b可直接访问节点205a的外部端口215a,而节点205b不能直接访问节点205a的内部端口。
返回图3,适配器301还包含带有控制器输入313的硬件数据直通控制器309。如图所示,在控制器309禁用数据直通模式时,控制器309能够通过结合把数据路径303a和数据路径303b进行了分离的硬件隔离器311来将内部数据路径303断开为两个独立的部分,数据路径303a和数据路径303b。数据路径303a和303b都是全双工路径。当控制器309使能硬件数据直通模式时,在功能上将硬件隔离器311移除使得数据路径303a和数据路径303b物理地结成一体并发挥将外部数据端口213连接到外部数据端口215以如前所述地进行全双工操作的单一数据路径303的作用。
在本发明的一个实施方式中,提供了上面描述的硬件数据直通模式以在发生节点故障的情况下处理数据的直通,节点故障包括但不限于:电源故障和***失灵。在本发明的另一实施方式中,提供了硬件数据直通模式,以当编程要求在节点执行数据直通时在软件控制下经由控制器输入313来处理数据直通。
硬件数据直通式适配器
目前,通过一般的商业来源可得到适于用作数据直通式适配器301的硬件装置(这里表示为“硬件数据直通式适配器”)。这种装置包括由Silicom Connectivity Solutions Ltd.(8 Hanagar St.,Kfar Sava,Isreal,其美国办公室位于6Forest Ave.,Paramus,New Jersey 07652)制造的“千兆以太网旁路式服务器适配器(Gigabit Ethernet Bypass Server Adapter)”系列。型号包括光纤和铜线硬件数据直通式电路。使用硬件数据直通式适配器,在主***故障、停电、或应软件请求时,如上所述地经由输入313,在负载均衡节点中启动硬件数据直通模式。在硬件数据直通中,将以太网端口213和215的连接从它们各自的内部接口317和315断开,并且将以太网端口213和215的连接切换到相反的端口以在以太网端口213和215之间创建交叉连接环回(crossed connection loop-back)。如上所述,当数据分组未经处理地经过适配器进行传播时,硬件直通模式也被称为适配器的“无法打开状态(failed open state)”或“透明状态”。
在硬件数据直通模式中,在一个端口(即,端口213或端口215)接收到的所有分组都被硬件数据直通式适配器直接路由以转发至相反的端口(例如,分别是端口215或端口213)。软件命令也可以发起硬件数据直通模式。术语“分组”在这里表示在本领域中普遍理解的网络数据分组。
节点处理器
根据本发明的实施方式,当适配器301不处于硬件数据直通模式时,在外部端口215和外部端口213之间传播的数据经过对数据进行处理的处理器321来路由。术语“处理器”在这里表示能够处理数据的任何装置或***。术语“处理(process)”、“正在处理(processing)”或它们的变型在这里都表示所有形式的涉及数据的操作,包括但不限于:数学运算、逻辑运算、比较运算、判断、数据解释和分析、中间运算、数据创建、写操作、读/写操作;以及不以任何方式修改数据的只读操作。
根据本发明的实施方式,由应用325来处理对数据进行功能性处理以执行想让节点205执行的数据功能,应用325包含用于根据预先定义的任务或其它要求来处理数据的数据处理机327。术语“应用”和“软件应用”在这里是同义词并且在这里都表示这样的可执行计算机代码,当在处理器或其它数据装置上执行该可执行计算机代码时执行所需的数据处理。
可以经由TCP、IP栈将数据的分组发送到应用325以进行处理。在本发明的一些实施方式中,数据处理机327是执行应用325的硬件装置,并在一些这种实施方式中,数据处理机327包括硬件控制器。在其它一些实施方式中,数据处理机327是包括用于执行应用325的可执行计算机代码的软件程序。在本发明的又一些其它实施方式中,数据处理机327包含用于执行应用325的硬件和软件两者。
在本发明的实施方式中,应用325具有双向数据接口(或端口)331和335。在其它实施方式中,应用325还具有输入控制接口(或端口)333。在本发明的实施方式中,内部端口317、315与数据处理机327之间的数据通信分别经由应用双向接口331、335。等同地,其它实施方式的特征在内部端口317、315与数据处理机327之间引导数据通信。
负载均衡节点
根据本发明的实施方式,处理器321包括负载均衡器323,负载均衡器323在逐个分组的基础上确定是处理输入数据或是将输入数据不加处理地直通(如上所述,通过数据直通)。负载均衡器323的目标是将处理负载分布在群集的不同负载均衡节点上以达到更加有效的处理并减少或消除由处理器过载而造成的数据处理瓶颈。
根据本发明的实施方式,负载均衡器323执行若干相关的功能以执行高效且有效的负载均衡。这些功能包括但不限于:负载均衡节点计数;和负载均衡决策。以下详细地描述了这些功能。
注意,根据本发明的实施方式,负载均衡群集的各个节点都独立地决定是处理提供的数据分组还是使数据分组直通以由其它节点进行处理;这种决定由各个节点以相同方式独立地做出。根据本发明的实施方式的负载均衡群集不具有在现有技术的负载均衡结构中所需要的专用的主节点。按照这种方式,根据本发明实施方式的负载均衡群集在不赋予任何节点特定状态的情况下分布处理负载。
数据分组的处理
在本发明的实施方式中,由该结构中不超过一个负载均衡节点来处理数据分组(如在图2的结构中)。即,在具有包括N个负载均衡节点的群集的这些实施方式中,至少N-1个节点简单地执行数据直通而不进行处理(如这里所详细描述的)。
在本发明的一些实施方式中,由该结构的正好一个负载均衡节点的数据处理机来处理数据分组(如图3中的数据处理机327)。
在本发明的其它实施方式中,可以由该结构中超过一个负载均衡节点来处理数据分组。在一个非限制性示例中,一个负载均衡节点对数据分组执行间谍软件(spyware)检测,而另一个负载均衡节点对同一数据分组执行病毒检测。
在本发明的各种实施方式中,数据分组可以通过具有N个负载均衡节点的整个结构而不被数据处理机处理。如前面注意到的,由于该结构是串行结构,因此这种分组通过N个负载均衡节点中所有每一个节点。
软件数据直通
在本发明的实施方式中,经由软件数据直通来实现数据直通,软件数据直通独立于上述的硬件数据直通操作。
参照图3,当负载均衡节点处于软件数据直通模式时,通过处理器321使分组未被改变地直通节点205。在本发明的实施方式中,由应用325实现软件数据直通模式,应用325接收内部端口317上的分组,并且经由内部端口315简单地转发未被改变的分组;反之亦然,接收内部端口315上的分组并经由内部端口317简单地转发未被改变的分组。在本发明的另一实施方式中,由数据处理机327来进行这种软件数据直通模式的接收/转发;而在本发明的又一个实施方式中,由负载均衡器323来进行这种软件数据直通模式的接收/转发。
由于在本发明的优选实施方式中,用软件实现了这种数据直通模式,因此在这里将这种数据直通模式称为“软件数据直通”。然而,即使在本发明的某些其它实施方式中,数据处理机327、负载均衡器323、和应用325全部或部分地由硬件装置组成,仍然将这种模式称为“软件数据直通”,以便于与前述的“硬件数据直通”区别开来。
软件故障直通
在本发明的一个实施方式中,存在着周期性地轮询节点中的软件以检测软件故障的软件把关器(watchdog)。如果出现软件故障,则把关器使适配器进入硬件数据直通模式,如前所述。
负载均衡节点计数
有效的负载均衡需要知道在任意给定时间有多少负载均衡节点是可用的。因此,根据本发明的实施方式,各个负载均衡节点都需要知道有多少其它负载均衡节点是可用的。
在本发明的实施方式中,各负载均衡节点(如图2中的节点205a、205b、205c和205d)都使用心跳协议有规律地(在一个非限制性示例中,每隔几毫秒)将心跳分组广播到所有其它负载均衡节点。按照这种方式,用关于其它节点的健康的信息来不断地更新各负载均衡节点,并且可以对它们进行计数以确切地知道目前有多少个负载均衡节点在正确地工作。这里用N来表示正常工作的负载均衡节点的数量。如果一个负载均衡节点发生故障,该节点将不广播心跳,并且在预定时间后,所有其余节点都将知道该节点已经发生故障并可以立即将它们的负载均衡节点计数调整为N的新的值。同样,如果发生故障的节点变成活动节点,或如果新的负载均衡节点投入使用,则其它节点也将得到通知并将自动地调整N的值。如以下在对负载均衡算法的讨论中所详述的,这确保了群集利用在其余健康节点之间分布的负载来继续正确地发挥作用。
负载均衡算法和方法
在本发明的某些实施方式中,群集中的所有负载均衡节点都使用相同的算法,由此提高在负载均衡节点间实现对称性的潜力。
在本发明的这些实施方式中,该算法计算这样一种数学函数,该数学函数返回范围从1到N的整数(包括1和N),其中N是如上所述的群集中负载均衡节点的数量。在优选实施方式中,负载均衡是基于会话(session)的,并且函数的返回值表示节点中的哪一个处理涉及网络上给定会话的数据通信量。由于所有N个节点都计算相同的函数,因此各个节点都准确地知道处理哪些数据分组。
在本发明的实施方式中,按照数据分组的会话标识符(sessionidentifier)的整数函数以N为模然后加1来计算数学函数返回值。即,
n=(f(sessionID)modN)+1                            等式(1)
其中:n是被指定处理与示为sessionID的会话标识符变量相关联的信息的分组的负载均衡节点号(从1到N);而f(sessionID)是这样的函数,即,该函数的域为会话标识符且其范围是所述整数或所述整数的子集。运算符mode N生成范围从0到N-1的整数,因此加1以得到从1到N的范围。
在本发明的实施方式中,适合的会话标识符是分组的源IP地址和目的IP地址二者的函数。在相关实施方式中,sessionID包含这两个地址。在另一相关实施方式中,sessionID是这些地址的拼接(concatenation)。注意,涉及超过一个会话的数据分组可能具有相同的源IP地址和目的IP地址,诸如当同一客户端打开与同一服务器的多个会话时。在这种情况下,所有的会话将必须由同一负载平衡节点来处理。在另一相关实施方式中,sessionID是会话标识符的函数(在会话表和web浏览器cookie中可以找到sessionID的非限制性示例)。在该情况下,不同的会话并不必须由同一负载均衡节点处理(但是可由同一节点来处理)。在又一相关实施方式中,sessionID是至少一个IP地址与数据分组会话标识符的函数,由此不仅区分会话,而且还区分数据分组的方向(例如,从服务器到客户端,反之从客户端到服务器)。
在本发明的优选实施方式中,等式(1)中的函数f(sessionID)是sessionID的散列函数。优选地,为了在节点间实现均匀的负载均衡,f具有均匀分布的值,这些值看起来好像是随机分布的。在本发明的非限制性实施方式中,数据分组的sessionID是拼接有会话ID的“分组源IP地址和分组目的IP地址中的至少一个”的散列。
注意,不同的应用可以不同的方式分配用于处理的数据分组。在本发明的实施方式中,应用325是面向分组的,并且因而独立于其它分组地处理各输入数据分组。在该实施方式中,由负载均衡器323根据基于等式(1)的负载均衡算法来检查各分组以确定应用325是否应处理该分组。在本发明的另一实施方式中,应用325是面向会话的。在该实施方式中,负载均衡器323检查各数据分组,并且如果数据分组是会话的第一个分组,则负载均衡器323根据基于等式(1)的负载均衡算法来确定应用325是否应处理该会话的分组。如果应用325应该处理该会话的第一个数据分组,则负载均衡器323使用应用325来处理与该特定会话相关联的所有数据分组而不是将基于等式(1)的负载均衡算法应用于其余的数据分组。因此,应用325处理特定会话的所有数据分组,即使在该会话期间N发生了变化。
图4是例示了根据本发明的一个实施方式在负载均衡网络节点处为了负载均衡、数据直通和高可用性而分配处理负载的方法的流程图。在点401处,数据分组分别到达节点外部端口213或215(图3)。在步骤403中,如上所述地获得变量sessionID,并且在步骤405中,如上所述地计算函数f(sessionID)mod N。在图2中还示出了N的计数204。之后,在判断点407处将如之前在图3中示出的节点的表示为n的标识整数206与计算出的f(sessionID)mod N的值进行比较。如果这些整数相等,则应用325(图3)在步骤409中处理该数据分组。或者,如果这些整数不相等,则在步骤411中分别经由节点外部端口215或213(图3)转发该数据分组。注意,步骤411中的转发是经由与在点401处到达相反的外部端口实现。具体地,如果数据分组到达端口213,则在端口215上进行转发,反之亦然。这样做是为了避免其中在两个节点之间来回持续地接收和发送分组的循环或环回状态。
计算机程序产品
本发明的另一实施方式提供了一种用于执行之前在本申请中公开的方法或从这些方法导出的任何变型的计算机程序产品。根据该实施方式的计算机程序产品包括计算机的可执行命令集,并且被包含在机器可读介质中,机器可读介质包括但不限于:磁介质;光学介质;计算机存储器;半导体记忆存储器;闪速记忆存储器;以及计算机网络。当与计算机程序产品结合使用时,术语“执行(perform)”、“正在执行(performing)”等以及“运行(run)”、“正在运行(running)”在这里表示当计算机执行计算机程序产品时计算机的动作,如同计算机程序产品正在执行该动作那样。术语“计算机”在这里表示任何能够或被构造成执行该可执行命令集以执行前述方法的数据处理装置,包括但不限于以术语“计算机”表示的前述的和以下所定义的装置。
附加定义
术语“计算机”在这里表示能够执行数据处理指令的任意设备或装置,包括但不限于:个人计算机;大型计算机;服务器;工作站;数据处理***和群集;网络和网络网关、路由器、交换机、集线器和节点;嵌入***;处理器、终端;个人数字设备(PDA);控制器;通信和电话装置;以及记忆装置、存储装置、接口装置、智能卡和标签、安全装置、和具有数据处理和/或编程能力的安全令牌。
术语“计算机程序”、“计算机软件”、“计算机软件程序”、“软件程序”、“软件”在这里都表示可由计算机(如上所述)执行的数据处理指令的集合,其包括但不限于驻留在计算机存储器、数据存储器、和可记录介质中的数据处理指令的集合。
尽管已经针对有限数量的实施方式说明了本发明,但是应该理解,可以获得本发明的很多变型、修改和其它应用。

Claims (24)

1.一种用于包括多个串行连接的负载均衡节点的数据网络的负载均衡群集,其中,所述负载均衡节点中的每一个都包括:
第一外部数据端口,其用于接收数据分组;
第二外部数据端口,其用于转发所述数据分组;
数据处理机,其用于处理所述数据分组;以及
负载均衡器,其用于确定所述数据处理机是否处理所述数据分组。
2.根据权利要求1所述的负载均衡群集,其中,所述多个负载均衡节点中的至少一个负载均衡节点包括处理器,该处理器包含下述中至少一项:
所述数据处理机;
所述负载均衡器;以及
包含所述数据处理机的软件应用。
3.根据权利要求2所述的负载均衡群集,其中,所述数据处理机的至少一部分对于所述处理器而言是可执行代码。
4.根据权利要求2所述的负载均衡群集,其中,所述负载均衡器的至少一部分对于所述处理器而言是可执行代码。
5.根据权利要求1所述的负载均衡群集,其中,至少一个接收到的数据分组未被所述多个负载均衡节点中的任意一个负载均衡节点的所述数据处理机处理。
6.根据权利要求1所述的负载均衡群集,其中,至少一个接收到的数据分组被所述多个负载均衡节点中的正好一个负载均衡节点的所述数据处理机处理。
7.根据权利要求1所述的负载均衡群集,其中,至少一个接收到的数据分组被所述多个负载均衡节点中的超过一个负载均衡节点的所述数据处理机处理。
8.根据权利要求5所述的负载均衡群集,其中,所述多个负载均衡节点被配置成使所述数据分组直通所述多个负载均衡节点的各负载均衡节点。
9.根据权利要求1所述的负载均衡群集,其中:
所述多个负载均衡节点中正好两个负载均衡节点是端节点,所述端节点经由各自的外部数据端口连接至所述多个负载均衡节点中正好一个其它负载均衡节点;以及
所述多个负载均衡节点中除所述端节点之外的各负载均衡节点都经由各自的外部数据端口连接至所述多个负载均衡节点中的正好两个其它负载均衡节点。
10.根据权利要求1所述的负载均衡群集,其中,所述多个负载均衡节点中的至少一个负载均衡节点包括被配置为在所述至少一个负载均衡节点内执行硬件数据直通的硬件数据直通式适配器。
11.根据权利要求2所述的负载均衡群集,其中,所述多个负载均衡节点中的至少一个负载均衡节点被配置为执行软件数据直通。
12.根据权利要求11所述的负载均衡群集,其中,所述负载均衡器被配置为执行所述软件数据直通。
13.根据权利要求11所述的负载均衡群集,其中,所述数据处理机被配置为执行所述软件数据直通。
14.根据权利要求11所述的负载均衡群集,其中,所述软件应用被配置为执行所述软件数据直通。
15.一种在根据权利要求1所述的负载均衡群集中分配处理负载的方法,该方法包括以下步骤:
获得所述多个负载均衡节点中负载均衡节点的计数;
向所述多个负载均衡节点中的每一个负载均衡节点分配范围从1到所述计数的唯一整数标识符;
针对接收到的数据分组,求具有整数范围的预定函数的值;
使用所述预定函数的值来确定范围从1到所述计数的整数值;以及
由具有与所述整数值相等的唯一整数标识符的所述负载均衡节点来处理所述接收到的数据分组。
16.根据权利要求15所述的方法,该方法进一步包括:
经由所述第二外部数据端口转发所述接收到的数据分组。
17.根据权利要求16所述的方法,其中,如果所述接收到的数据分组不被所述数据处理机处理,则执行所述转发。
18.根据权利要求15所述的方法,其中,所述预定函数是以下项中至少一个的函数:
所述接收到的数据分组的IP目的地址;
所述接收到的数据分组的IP源地址;以及
与所述接收到的数据分组相关联的会话标识符。
19.根据权利要求18所述的方法,其中,所述预定函数是散列函数。
20.一种用于执行权利要求15所述的方法的计算机程序产品。
21.一种用于执行权利要求18所述的方法的计算机程序产品。
22.一种用于执行权利要求19所述的方法的计算机程序产品。
23.根据权利要求1所述的群集,其中,所述多个负载均衡节点中的一个负载均衡节点被配置为执行权利要求15所述的方法。
24.根据权利要求23所述的群集,其中,所述多个负载均衡节点中的每个负载均衡节点被配置为执行权利要求15所述的方法。
CN2008800208248A 2007-04-18 2008-01-24 用于网络节点的负载均衡网桥群集 Pending CN101981560A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/736,604 2007-04-18
US11/736,604 US20080259797A1 (en) 2007-04-18 2007-04-18 Load-Balancing Bridge Cluster For Network Nodes
PCT/IL2008/000109 WO2008129527A2 (en) 2007-04-18 2008-01-24 Load-balancing bridge cluster for network node

Publications (1)

Publication Number Publication Date
CN101981560A true CN101981560A (zh) 2011-02-23

Family

ID=39872059

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008800208248A Pending CN101981560A (zh) 2007-04-18 2008-01-24 用于网络节点的负载均衡网桥群集

Country Status (4)

Country Link
US (1) US20080259797A1 (zh)
EP (1) EP2137853A4 (zh)
CN (1) CN101981560A (zh)
WO (1) WO2008129527A2 (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103166870A (zh) * 2011-12-13 2013-06-19 百度在线网络技术(北京)有限公司 负载均衡集群***及采用其提供服务的方法
WO2015149604A1 (zh) * 2014-04-01 2015-10-08 华为技术有限公司 一种负载均衡方法、装置及***
CN105264865A (zh) * 2013-04-16 2016-01-20 亚马逊科技公司 分布负载平衡器中的多路径路由
CN106134137A (zh) * 2014-03-14 2016-11-16 Nicira股份有限公司 受管理网关的路由通告
US10164881B2 (en) 2014-03-14 2018-12-25 Nicira, Inc. Route advertisement by managed gateways
US10333849B2 (en) 2016-04-28 2019-06-25 Nicira, Inc. Automatic configuration of logical routers on edge nodes
US10389634B2 (en) 2013-09-04 2019-08-20 Nicira, Inc. Multiple active L3 gateways for logical networks
US10560320B2 (en) 2016-06-29 2020-02-11 Nicira, Inc. Ranking of gateways in cluster
US10616045B2 (en) 2016-12-22 2020-04-07 Nicira, Inc. Migration of centralized routing components of logical router
US10645204B2 (en) 2016-12-21 2020-05-05 Nicira, Inc Dynamic recovery from a split-brain failure in edge nodes
US10652143B2 (en) 2015-04-04 2020-05-12 Nicira, Inc Route server mode for dynamic routing between logical and physical networks
US11303557B2 (en) 2020-04-06 2022-04-12 Vmware, Inc. Tunnel endpoint group records for inter-datacenter traffic
US11496392B2 (en) 2015-06-27 2022-11-08 Nicira, Inc. Provisioning logical entities in a multidatacenter environment

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7969991B2 (en) * 2007-04-23 2011-06-28 Mcafee, Inc. Session announcement system and method
CN101404619B (zh) * 2008-11-17 2011-06-08 杭州华三通信技术有限公司 一种实现服务器负载均衡的方法和一种三层交换机
US7835309B2 (en) * 2008-12-16 2010-11-16 Microsoft Corporation Multiplexed communication for duplex applications
EP2288111A1 (en) * 2009-08-11 2011-02-23 Zeus Technology Limited Managing client requests for data
CN102158386B (zh) * 2010-02-11 2015-06-03 威睿公司 ***管理程序级的分布式负载平衡
US8514749B2 (en) * 2010-03-10 2013-08-20 Microsoft Corporation Routing requests for duplex applications
CN102480430B (zh) * 2010-11-24 2014-07-09 迈普通信技术股份有限公司 实现报文保序的方法和装置
US9154367B1 (en) * 2011-12-27 2015-10-06 Google Inc. Load balancing and content preservation
CN102752225B (zh) * 2012-08-01 2016-04-06 杭州迪普科技有限公司 一种链路负载均衡装置及管理服务器
US9781075B1 (en) * 2013-07-23 2017-10-03 Avi Networks Increased port address space
IN2014DE00404A (zh) * 2014-02-13 2015-08-14 Netapp Inc
US9356912B2 (en) * 2014-08-20 2016-05-31 Alcatel Lucent Method for load-balancing IPsec traffic

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3633321B2 (ja) * 1998-10-23 2005-03-30 富士通株式会社 広域負荷分散装置及び方法
US6977930B1 (en) * 2000-02-14 2005-12-20 Cisco Technology, Inc. Pipelined packet switching and queuing architecture
US6922724B1 (en) * 2000-05-08 2005-07-26 Citrix Systems, Inc. Method and apparatus for managing server load
US6778495B1 (en) * 2000-05-17 2004-08-17 Cisco Technology, Inc. Combining multilink and IP per-destination load balancing over a multilink bundle
US7082102B1 (en) * 2000-10-19 2006-07-25 Bellsouth Intellectual Property Corp. Systems and methods for policy-enabled communications networks
US6965567B2 (en) * 2001-04-09 2005-11-15 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for selecting a link set
US20040004966A1 (en) * 2001-04-27 2004-01-08 Foster Michael S. Using virtual identifiers to route transmitted data through a network
US20040024861A1 (en) * 2002-06-28 2004-02-05 Coughlin Chesley B. Network load balancing
US6949916B2 (en) * 2002-11-12 2005-09-27 Power-One Limited System and method for controlling a point-of-load regulator
US7395538B1 (en) * 2003-03-07 2008-07-01 Juniper Networks, Inc. Scalable packet processing systems and methods
US7535906B2 (en) * 2003-05-28 2009-05-19 International Business Machines Corporation Packet classification
US20050275472A1 (en) * 2004-06-15 2005-12-15 Multilink Technology Corp. Precise phase detector
US7702929B2 (en) * 2004-11-29 2010-04-20 Marvell World Trade Ltd. Low voltage logic operation using higher voltage supply levels
US20060239196A1 (en) * 2005-04-25 2006-10-26 Sanjay Khanna System and method for performing load balancing across a plurality of servers
WO2007055757A2 (en) * 2005-07-28 2007-05-18 Riverbed Technology, Inc. Serial clustering

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103166870B (zh) * 2011-12-13 2017-02-08 百度在线网络技术(北京)有限公司 负载均衡集群***及采用其提供服务的方法
CN103166870A (zh) * 2011-12-13 2013-06-19 百度在线网络技术(北京)有限公司 负载均衡集群***及采用其提供服务的方法
CN105264865A (zh) * 2013-04-16 2016-01-20 亚马逊科技公司 分布负载平衡器中的多路径路由
US10389634B2 (en) 2013-09-04 2019-08-20 Nicira, Inc. Multiple active L3 gateways for logical networks
US10567283B2 (en) 2014-03-14 2020-02-18 Nicira, Inc. Route advertisement by managed gateways
US11025543B2 (en) 2014-03-14 2021-06-01 Nicira, Inc. Route advertisement by managed gateways
CN106134137A (zh) * 2014-03-14 2016-11-16 Nicira股份有限公司 受管理网关的路由通告
US10164881B2 (en) 2014-03-14 2018-12-25 Nicira, Inc. Route advertisement by managed gateways
CN106134137B (zh) * 2014-03-14 2020-04-17 Nicira股份有限公司 受管理网关的路由通告
US10686874B2 (en) 2014-04-01 2020-06-16 Huawei Technologies Co., Ltd. Load balancing method, apparatus and system
WO2015149604A1 (zh) * 2014-04-01 2015-10-08 华为技术有限公司 一种负载均衡方法、装置及***
US11336715B2 (en) 2014-04-01 2022-05-17 Huawei Technologies Co., Ltd. Load balancing method, apparatus and system
US11601362B2 (en) 2015-04-04 2023-03-07 Nicira, Inc. Route server mode for dynamic routing between logical and physical networks
US10652143B2 (en) 2015-04-04 2020-05-12 Nicira, Inc Route server mode for dynamic routing between logical and physical networks
US11496392B2 (en) 2015-06-27 2022-11-08 Nicira, Inc. Provisioning logical entities in a multidatacenter environment
US11502958B2 (en) 2016-04-28 2022-11-15 Nicira, Inc. Automatic configuration of logical routers on edge nodes
US10805220B2 (en) 2016-04-28 2020-10-13 Nicira, Inc. Automatic configuration of logical routers on edge nodes
US10333849B2 (en) 2016-04-28 2019-06-25 Nicira, Inc. Automatic configuration of logical routers on edge nodes
US10560320B2 (en) 2016-06-29 2020-02-11 Nicira, Inc. Ranking of gateways in cluster
US10645204B2 (en) 2016-12-21 2020-05-05 Nicira, Inc Dynamic recovery from a split-brain failure in edge nodes
US11115262B2 (en) 2016-12-22 2021-09-07 Nicira, Inc. Migration of centralized routing components of logical router
US10616045B2 (en) 2016-12-22 2020-04-07 Nicira, Inc. Migration of centralized routing components of logical router
US11316773B2 (en) 2020-04-06 2022-04-26 Vmware, Inc. Configuring edge device with multiple routing tables
US11394634B2 (en) 2020-04-06 2022-07-19 Vmware, Inc. Architecture for stretching logical switches between multiple datacenters
US11374850B2 (en) 2020-04-06 2022-06-28 Vmware, Inc. Tunnel endpoint group records
US11336556B2 (en) 2020-04-06 2022-05-17 Vmware, Inc. Route exchange between logical routers in different datacenters
US11528214B2 (en) 2020-04-06 2022-12-13 Vmware, Inc. Logical router implementation across multiple datacenters
US11303557B2 (en) 2020-04-06 2022-04-12 Vmware, Inc. Tunnel endpoint group records for inter-datacenter traffic
US11736383B2 (en) 2020-04-06 2023-08-22 Vmware, Inc. Logical forwarding element identifier translation between datacenters
US11743168B2 (en) 2020-04-06 2023-08-29 Vmware, Inc. Edge device implementing a logical network that spans across multiple routing tables
US11870679B2 (en) 2020-04-06 2024-01-09 VMware LLC Primary datacenter for logical router

Also Published As

Publication number Publication date
WO2008129527A3 (en) 2010-01-07
US20080259797A1 (en) 2008-10-23
EP2137853A2 (en) 2009-12-30
WO2008129527A2 (en) 2008-10-30
EP2137853A4 (en) 2011-02-09

Similar Documents

Publication Publication Date Title
CN101981560A (zh) 用于网络节点的负载均衡网桥群集
KR100570137B1 (ko) 패킷 흐름을 네트워크 처리 수단에 순서적이고 동적으로분배하는 방법 및 시스템
US20100247094A1 (en) Dynamic load balancing of fibre channel traffic
US7489625B2 (en) Multi-stage packet switching system with alternate traffic routing
US7974298B2 (en) High speed autotrucking
US7310306B1 (en) Method and apparatus for ingress port filtering for packet switching systems
Carpio et al. Balancing the migration of virtual network functions with replications in data centers
EP2680513A1 (en) Methods and apparatus for providing services in a distributed switch
EP2680536B1 (en) Methods and apparatus for providing services in a distributed switch
EP2695337A1 (en) A method for traffic load balancing
EP3491800A1 (en) Systems and methods of stateless processing in a fault-tolerant microservice environment
JPH1063629A (ja) ネットワーク内でルーティング・デッドロックの発生を防止する方法及び装置
US9172645B1 (en) Methods and apparatus for destination based hybrid load balancing within a switch fabric
CN101707570A (zh) 一种vrrp场景中的负载均衡方法和设备
CN110191064A (zh) 流量负载均衡方法、装置、设备、***及存储介质
CN105357090A (zh) 外连总线服务***的负载均衡方法及设备
CN105915467A (zh) 一种面向软件定义的数据中心网络流量均衡方法及装置
US8724479B1 (en) Methods and apparatus for detecting errors within a distributed switch fabric system
KR101841026B1 (ko) 최적 경로 설정을 위한 서비스 기능 체이닝 네트워크 시스템
US20200007440A1 (en) Dynamic rule-based flow routing in networks
JP6485450B2 (ja) 通信処理システム、通信処理装置、通信処理方法、及び、通信処理プログラム
KR101311572B1 (ko) 가상 네트워크에서 사전 지식없이 승인을 제어하고 데이터 플로우에 리소스를 할당하기 위한 방법
Ma et al. A comprehensive study on load balancers for vnf chains horizontal scaling
US9590823B2 (en) Flow to port affinity management for link aggregation in a fabric switch
Reinemo et al. Multi-homed fat-tree routing with InfiniBand

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110223