发送ip分组流的方法和设备的制作方法

文档序号:7628019阅读:133来源:国知局
专利名称:发送ip分组流的方法和设备的制作方法
技术领域
本公开涉及计算机领域,具体地涉及在各计算机之间传送的IP分组流。更具体地,本公开涉及动态地负载平衡IP分组流的导向(direction)。

发明内容
方法、系统和/或计算机程序产品发送IP分组流。以太网开关耦接到负载平衡控制引擎,所述负载平衡控制引擎包含在逻辑上与所述以太网开关隔离的IP分组流改向逻辑。将IP分组流发送到服务器的以太网开关接收IP分组流。该负载平衡控制引擎确定所述服务器在其工作负载方面是否被平衡。响应于负载平衡控制引擎确定所述服务器被平衡,以太网开关使用其逻辑来确定哪个服务器接收所述IP分组流而不接收来自所述服务器的关于所述服务器的工作负载的任何反馈。响应于负载平衡控制引擎确定所述服务器未被平衡,所述负载平衡控制引擎命令所述以太网开关将所述IP分组流改向到比其他服务器相对较不繁忙的服务器。


图1绘出可以用于实现本公开的示例计算机;图2图示根据本公开的一个实施例IP分组流被导向不同的服务器;图3绘出根据本公开的一个实施例在以太网开关、负载平衡控制引擎和多个服务器之间的示例关系;图4图示在图2-3绘出的以太网开关和负载平衡控制引擎之间的示例信令;图5是采用来负载平衡IP分组流的示例步骤的高级流程图;以及图6A和6B是由图2-3中绘出的以太网开关和负载平衡控制引擎进行的步骤的流程图。
具体实施例方式如本领域技术人员将认识到的,本公开的一些或所有可以体现为系统、方法或计算机程序产品。从而,本公开可以采取整体硬件实施例、整体软件实施例(包括固件、常驻软件、伪代码等)或者组合了所有可以在此统称为“电路”、“模块”或“系统”的软件和硬件方面的实施例的形式。此外,本公开中所描述的特征的一些或所有可以采取体现在具有体现在其上的计算机可读程序代码的一个或多个计算机可读介质中的计算机程序产品的形式。可以利用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质可以是例如但不限于电的、 磁的、光的、电磁的、红外的或半导体系统、装置或设备或者以上的任何适当的组合。计算机可读存储介质的更多具体例子(非穷尽的列举)将包括以下具有一条或多条电线的电连接、便携计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPR0M或闪存)、光纤、便携式致密盘只读存储器(CD-ROM)、光存储设备、磁存储设备或以上的任何适当组合。在此文档的上下文中,计算机可读存储介质可以是可以包含或存储用于由指令执行系统、装置或设备使用或与其结合使用的程序的任何实际介质。计算机可读信号介质可以包括例如在基带或作为载波的一部分的其中体现了计算机可读程序代码的传播的数据信号。这样的传播的信号可以采取各种形式中的任意形式,包括但不限于电磁的、光的或其任何适当的组合。计算机可读信号介质可以是不是计算机可读存储介质并且可以传送、传播或传输用于由指令执行系统、装置或设备使用或与其结合使用的程序的任何计算机可读介质。可以使用任何适当的介质、包括但不限于无线、有线、光纤缆线、RF等或以上的任何适当的组合来传输体现在计算机可读介质上的程序代码。现在参考附图,并具体地参考图1,绘出了可以由本公开利用的示例计算机102的框图。计算机102包括耦接到系统总线106的处理器单元104。处理器单元104可以利用一个或多个处理器,每个处理器具有一个或多个处理器核心。驱动/支持显示器110的视频适配器108也耦接到系统总线106。系统总线106经由总线桥112耦接到输入/输出(I/O) 总线114。I/O接口 116耦接到I/O总线114。I/O接口 116担负与各种I/O设备、包括键盘118、鼠标120、媒体盘122(其可以包括诸如⑶-ROM驱动器、多媒体接口等的存储设备) 和打印机124的通信。尽管连接到I/O接口 116的端口的格式可以是计算机架构领域技术人员已知的任意格式,但是在优选实施例中,这些端口的一些或所有是通用串行总线(USB) 端□。如图所示,在一个实施例中,计算机102可选地能够使用网络接口 130经由网络 1 通信。网络1 可以是诸如因特网的外部网络或者是诸如以太网或虚拟私有网络(VPN) 的内部网络。硬盘接口 132也耦接到系统总线106。硬盘接口 132与硬盘134接口。在优选实施例中,硬盘134存在于(populate)系统存储器136,其也耦接到系统总线106。系统存储器被定义为计算机102中的最低级的易失性存储器。该易失性存储器包括另外的较高级的易失性存储器(未示出),包括但不限于缓存、寄存器和缓冲器。存在于系统存储器136的数据包括计算机102的操作系统(OS) 138和应用程序144。0S138包括外壳(shell) 140,用于提供对诸如应用程序144的资源的透明用户访问。通常,外壳140是提供在用户和操作系统之间的解释器和接口的程序。更具体地, 外壳140执行进入到命令行用户接口或来自文件的命令。因此,也称为命令处理器的外壳140通常是最高级的操作系统软件层级并且用作命令解释器。外壳140提供系统提示、 解释通过键盘、鼠标或其他用户输入介质键入的命令,并将解释的命令发送到适当的较低级操作系统(例如内核142)用于处理。注意,尽管外壳140是基于文本的、行定向的 (line-oriented)用户接口,但是本公开将同样也支持其他用户接口模式,比如图形、语音、 手势等。如图所示,0S138还包括内科142,其包括用于0S138的较低级功能性,包括提供 0S138的其他部分以及应用程序144所需的主要服务,包括存储器管理、处理和任务管理、 盘管理和鼠标及键盘管理。应用程序144包括以示例方式示出为浏览器146的呈现器。浏览器146包括使得万维网(W·)客户端(即计算机102)能够使用超文本传输协议(HTTP)消息接发向因特网发送和接收消息、因此使能够与软件部署服务器150和其他所述计算机系统通信的程序模块和指令。应用程序144还包括IP分组流负载平衡程序(PFLBP) 148,在被执行时,该 PFLBP148进行在图2-6中所述的处理的一些或全部。在一个实施例中,PFLBP148基于需要从软件部署服务器150下载,使得仅在需要时下载代码单元。在另一实施例中,由PFLBP148 执行的一些或所有处理通过软件部署服务器150本身进行,因此最小化计算机102内的资源的使用。计算机102中绘出的硬件元件不意图是穷尽的,而是代表本公开所需的显著重要的组件。例如,计算机102可以包括诸如磁带、数字通用盘(DVD) ,Bernoulli盘式磁带等的替换存储器存储设备。意图这些和其他变化在本公开的精神和范围内。现在参考图2,给出了根据本公开的一个实施例的IP分组流202的示例负载平衡。 IP分组流202是共享共同属性的一系列相关分组(未示出)。一个这样的重要属性是流的端点。在一个实施例中,流被定义为具有包含相同的5-元组(未示出)的头部的所有分组。 5-元组包括源因特网协议(IP)地址、源端口号、目的地IP地址、目的地端口号和描述正使用何协议(即传输控制协议-TCP、用户数据报协议-UDP等)来导向和控制分组的协议号。 分组头部中的5-元组指示各系列分组是相同IP分组流202的部分。例如,IP分组流202 中的第一分组的头部可以包括设置的“SYN”字段,指示正发起新的TCP连接,并且具有相同的5-元组的任何随后分组是相同TCP连接和IP分组流的一部分。在最基本的操作中,以太网开关204将解析来自以太网帧的目的地MAC地址,然后在诸如三进制内容可寻址存储器(TCAM) 206的本地存储器中的查找表中检验,以便确定其哪个端口通过使用IP分组流导向逻辑205来发送该帧。注意,IP分组流导向逻辑205可以以硬件或软件实现。如以下所述,在一个实施例中,IP分组流202将被发送到服务器的具体序列,其中该服务器的具体序列中的每个服务器来自多个服务器组中的不同服务器组。 因此,使用IP分组流导向逻辑205内的用于据此改向(redirecting)这些分组的改向逻辑 (未示出)将来自IP分组流202的分组发送到服务器的具体序列。如果以太网开关204用于多个服务器之间的负载分发,则该开关将从分组的IP头部解析m-元组(其中m是等于或小于头部中的不同字段数的整数),并将其与其TCAM规则相比较。在开关技术中,直接附连于服务器208a-n(其中“η”是整数)的以太网开关204 的端口被分组在链接集合组(LAG)中。如果TCAM规则规定分组要被发送到LAG,则以太网开关204使用其内置的负载分发功能来确定将分组发送到哪个确切端口。来自IP分组流 202的每个分组因此被导向使用IP分组流导向逻辑205从服务器208a-n选择的适当服务器。该“适当服务器”是由以太网开关204的负载分发功能选择的服务器。在一个实施例中,该静态负载分发功能可以利用散列功能、循环冗余校验(CRC)和关于服务器208a-n的数量的模数。注意,没有从服务器208a-n到以太网开关204的直接负载状态反馈。以太网开关 204使用其内置的负载分发功能来确定向哪个端口发送分组。如果以太网开关204要通过在TCAM206中保持每个流的改向规则而接收对服务器的反馈和负载平衡,则这将需要无效率的大的TCAM206并妨碍性能。因此,根据新颖的本公开,服务器208a-n优选以连续方式并实时地向负载平衡控制引擎212发送负载状态210。该负载状态210实时描述在每个服务器208a-n上正使用多少资源量(即处理器功率、总线、网络连接器等)。负载平衡控制引擎212处理该负载状态210以确定是否任何服务器208a-n正被过度使用。如果是,则负载平衡控制引擎212向以太网开关204告知服务器208a-n的哪些被过度使用,并且以太网开关204使到这些过度使用的服务器的端口的状态为“繁忙”,接下来,如果以太网开关204 接收到要被发送到这些“繁忙”端口之一的新的流(基于其负载分发功能),则其替代地将其发送到负载平衡控制引擎212用于负载平衡决定。该负载平衡控制引擎212使用负载状态210信息来挑选用于该流的新服务器。然后负载平衡控制引擎212 (通过在太网开关204 的TCAM中插入基于5-元组的具体规则)通知以太网开关204将该流的接下来的分组(未示出)改向到该新挑选的服务器。当该流的接下来的分组到达以太网开关204时,TCAM206 中的改向规则被用于将它们改向到该服务器。注意,在正常的开关操作期间不维持这样的基于5元组的具体TCAM规则,其中在该正常的开关操作中IP分组流202被发送到基于以太网开关204的负载分发功能而被寻址的服务器。因此,TCAM的大小仍然小,因为其仅用于存储动态改向的IP分组流状态,而不是所有流的状态。还注意,负载平衡控制引擎212 利用负载平衡逻辑213来改向IP分组流202。负载平衡逻辑213是软件和/或硬件逻辑, 并且可以是以上在图1中描述的PFLBP148的一部分。注意,负载平衡逻辑213逻辑上与以太网开关204隔离。更具体地,因为以太网开关204使用允许负载平衡控制引擎212更新其TCAM的开关堆栈协议,因此负载平衡决定不是在以太网开关204排队进行的,而是被卸载到负载平衡控制引擎212中的负载平衡逻辑213。因此,以太网开关204不知道做出怎样的负载平衡决定,包括用于改向IP分组流202的任何改向算法的使用和/或存在。现在参考图3,给出类似于图2所示的另一处理/系统的另外的细节。非安全网络302将IP分组流发送到以太网开关304,其类似于图2中所示的以太网开关204。IP分组流被导向服务器306a-h (其类似于图2中示出的服务器208a-n)的集合中的一个或多个服务器。服务器306a-h被分离成三组组1(308)、组2 (310)和组3(312)。在一个实施例中,各服务器上的应用按顺序部署,使得引导IP分组流量通过防火墙(组1-308)、然后入侵检测系统(组2-310)、然后通过防病毒应用(组3-31幻。因此,除了负载平衡经过组内的服务器的流量之外,以太网开关204还需要引导该流量通过应用的具体序列。例如,IP分组流量可能需要经过组1、组2人后组3或者可能仅需要经过组1和组2等。取决于服务器306a-h是否被平衡,使用或者不使用负载平衡控制引擎318 (类似于图2所示的负载平衡控制引擎210),然后将IP分组流量经由内部以太网开关314导向到安全网络316。在一个实施例中,以太网开关304具有以下能力/特征1.支持将流量导引(steer)到服务(服务器的组、即端口的组)或具体服务器(端口)的规则的逻辑。2.有多个服务器构成的服务(作为诸如链接集合组(LAG)、即端口的组而定义在开关内)。3.支持某种流量负载分发(例如散列/CRC/模数)以在分组要被发送到的定义的服务LAG内选择具体服务器的逻辑4.支持基于每端口的可设置标志“繁忙”的逻辑5.支持对目的地是转向到另一端口的“繁忙”端口的TCP SYN分组的识别的逻辑
6.在切换系统内的开关模块之间、还可以扩展到服务/服务器之间的开关协议 (堆栈/堆叠的开关协议)。为了本公开,该协议将被称作堆叠开关协议。该协议能力优选包括a.直接对开关模块或者通过与开关系统控制点的通信进行开关(开关系统)修改的能力。支持的修改包括设置/重设TCAM规则和每端口设置“繁忙”标志。b.将分组发送到导向具体开关出口(导向服务器)的切换系统的能力。C.利用包括分组的目标开关出口的辅助信息以及可选地诸如(例如规则中的)该分组的最后开关入口的其他信息在切换系统和服务器之间发送该分组的能力。7.基于5-元组和(通常)基于开关入口改向分组的改向表。可以通过堆栈开关协议创建(和删除)改向表中的项目。注意该改向表可以是现在开关规则TCAM中,其中这些改向规则按TCAM的优先部分的较高顺序被放置。现在参考图4,示例负载平衡控制引擎418(类似于以上图3和图2中所示的负载平衡控制引擎318和负载平衡控制引擎21 使用堆栈开关协议耦接到切换系统404。该链接允许1.负载平衡控制引擎418将开关端口的标志设置/不设置为“繁忙”(服务器由负载平衡控制引擎418监控);2当分组导向到设置了 “繁忙”标志的端口时,切换系统404将具有设置的SYN标志的TCP分组发送到负载平衡控制引擎418 ;3.负载平衡控制引擎418在开关系统TCAM中设置用于将流的分组改向到(服务器组内的)分配的替换服务器的规则;以及4.负载平衡控制引擎418将TCP SYN分组发送到切换系统404,导引到新分配的 “不繁忙”的服务器端口。现在参考图5,给出了采取来负载平衡IP分组流的示例步骤的高级流程图。发起者块502可以响应于以太网开关到负载平衡控制引擎的耦接。在一个实施例中,负载平衡控制引擎内的IP分组流改向逻辑对以太网开关隐藏,使得以太网开关不负责确定是否以及如何进行负载平衡。术语“隐藏”意味以太网开关不能够直接访问或甚至逻辑上知道该 IP分组流改向逻辑。因此,在此所述的以太网开关和TCAM仍然小并且可管理。如块504中所绘,将IP分组流发送到服务器和/或其他处理/发送设备的以太网开关接收IP分组流。 负载平衡控制引擎确定服务器是否被平衡其工作负载。如果服务器被平衡(询问块506), 则开关基于其TCAM规则和负载分发功能将该IP分组流发送到服务器(块508),并且处理结束(终止器块510)。但是,如果负载平衡控制引擎确定服务器未被平衡(询问块506), 则负载平衡控制引擎内的IP分组流负载平衡逻辑命令开关将该IP分组流改向到比该IP 分组流原始寻址到的服务器相对较不繁忙的服务器(块512)。如在此所述的,在一个实施例中,仅为响应于服务器的工作负载未被平衡而被改向的IP分组流存储IP分组流导向位置(where)的记录。在一个实施例中,用于导向和改向IP分组流的规则被存储在开关中的存储器中,该开关可以是以太网开关。如以上图3中所述,服务器可以由多个服务器组组成,在此情况下该方法还可以包括将IP分组流改向到服务器的具体序列的步骤,其中该服务器的具体序列中的每个服务器来自多个服务器组中的不同服务器组。如在图3中的一个实施例中所述,多个服务器组包括防火墙服务器组、入侵检测系统(IDS)服务器组和防病毒应用服务器组,并且其中IP分组流被改向为依次通过从防火墙服务器组、IDS服务器组和防病毒应用服务器组的每个中选择的服务器。现在参考图6,给出了由开关602(类似于以上图2和图3中所示的以太网开关204 和以太网开关304)以及负载平衡控制器604(类似于以上图2和土中所示的负载平衡控制引擎212好人负载平衡控制引擎318)进行的示例功能的另外的描述。如图6所示,开关 602接收分组(块606)。可选地进行分组是否是IP分段的分组的询问(询问块608)。艮口, 在IP版本4中,如果该分组恰好经过具有比原始分组大小更小的最大传输单元(MTU)的链接,则该分组可以被中间路由器沿着其路径分成数个片段。如果这样,则仅第一 /领先片段的头部包含关于将分组发送到哪里的完整的5-元组,并且各片段可能不按顺序到达,因此需要据此被处理(块610)。否则,该分组头部的5-元组被解析(块612)。如果在TCAM中存在用于该5-元组的具体出口的项目(询问块614),则该分组被发送到目标开关端口(块 616)。或者,开关602进行规则导引(或者OSI-层模型的层2/3)以选择该分组要被导向的服务/LAG (链接集合组)。该规则与入口和各种头部要素相匹配。在一个实施例中,开关 602通过散列各个头部要素、可选地将CRC应用于头部散列的结果并将模数应用于得到的值来进行流量负载分发功能以选择具体端口(块618)。如果所选的出口设置了“繁忙”标志询问块(620)并且该分组是TCP SYN(或SYN ACK),如在询问块622中询问的,则该分组被改向(块624)到经过堆叠开关协议附连于负载平衡控制器602的开关端口。S卩,使用堆叠开关协议,开关602将目标是“繁忙”出口标识的分组以及潜在地该分组的开关入口发送到负载平衡控制器604。否则,如果未设置SYN标志,则该分组被发送到负载分发得到的端口(块626),而无论端口状态如何。这样做使得在进行的流不能被改向。仅在新的TCP流的开始时(即检测SYN分组时)改向才是可能的。为了进行其改向IP分组流的功能,负载平衡控制器604使用关于以下开关602配
置要素的信息·规则定义负载平衡控制器604通过使用对于被发送到开关602用于负载平衡的分组的规则定义来针对开关602进行分组分类。分组分类用于确定将分组发送到“繁忙” 服务器的规则。开关602的规则定义可以按最优化其在负载平衡控制器604中的使用的方式被编译。·对于服务器组的LAG定义开关602的对服务器组的LAG定义与负载平衡控制器604中的服务器组定义同步。负载平衡控制器604具有哪些服务器处于每个服务组以及那个开关602(系统)端口连接到哪个服务器的定义。开关602的LAG定义以及与服务器的开关端口连接性可以按最优化其在负载平衡控制器604中的使用的方式键入到服务组定义表中。如图6的流逻辑所示,负载平衡控制器604经过堆叠开关协议从开关602接收 TCP SYN/SYN ACK分组,并且(经由堆叠开关协议)从该分组分配的出口确定目标服务(块 628)。如果接收的分组是SYN ACK(询问块630)并且已经在用于该目标服务的转向表中建立了相反的流(询问块632),则使用在该转向表中标识的替换服务器,并且标识来自目标 LAG定义的服务器端口。注意,负载平衡控制器604中的转向表包含所有的5-元组规则。 每个规则必须具有以下三个字段[5-元组、出口、入口]。相反流检验仅适用于非连接终止服务,因为其正识别经过该服务的相反流。
如果接收的分组是SYN ACK(询问块630),但是转向表中没有相反流(询问块 632),则该分组经过堆叠开关协议被发送到开关602,该分组被导向原始分配的出口(块 636)。如果分组是SYN (询问块630),则负载平衡算法被用于确定在目标LAG (服务)内的替换的服务器和出口来导向该分组流(块638)。注意,用于选择在该服务内的替换服务器的负载平衡算法可以是任何适当的算法,并且可以通过服务而变化(在相同系统内)。
使用关于分组的入口的信息,确定开关602的TCAM中的哪个规则致使分组被到引导分配的出口(块640)。如块642中所述,基于来自以上标识的规则的入口、分组的匹配的确切5-元组以及用于所选替换服务器的新出口来建立改向规则。如块644中所述,新的改向规则可选地基于优先的较高顺序被插入到开关602的系统TCAM中。然后该分组经由堆叠开关协议被导向在开关602内的新选择的开关出口(块646)。在另一实施例中,如果仅有一个服务(即应用不需要被排序),则可以使用更简单的模式。在此实施例中,可以通过使用所有开关入口目标是到所选服务器的端口的分组 5-元组从接收的分组直接产生改向规则。负载平衡控制器中的异步处理使用堆叠开关协议管理对开关系统中的开关端口的“繁忙”标志的设置和重设。通过监视与服务内的各服务器有关的性能度量的某个集合以基于这些度量的一个或多个的阈值来触发“繁忙”标志的设置来实现负载平衡。另外,随着通过对“繁忙”标志的适当操纵负载增加,多个阈值的使用可以用于最优化经过该服务的性能。例如,随着所有服务器达到了第一性能阈值水平,所有“繁忙”标志将被重设,然后仅当服务器达到下一性能阈值水平时才再次被设置。但是,多个阈值水平的使用需要更多数量的改向规则,因此需要在开关规则空间(TCAM)内的更多空间。注意,已经使用SYN分组以识别新TCP连接的开始描述了本公开。因此,必需利用处理SYN攻击的机制(即识别每个具有SYN成分的过量分组)。未使用的5-元组改向规则在不在需要时、即在IP分组流完全被接收并改向等时被从负载平衡控制器上的改向表以及开关TCAM中删除。开关统计可以用于确定经过一段时间改向规则的使用的缺少。如在此所述,本公开允许切换系统以高数据比率提供真实、细致的 (fine-grained)负载平衡能力,同时保持合理的TCAM大小,并且还引导流量经过应用组的序列。本公开允许使用静态规则经由开关硬件来负载分发大部分流量,同时基于异常 (exception)使用负载平衡控制器服务以致使开关使用专门规则来将具体的新流改向到较不繁忙的服务器。因此,在此描述了与动态真实负载平衡结合地使用在开关上提供的流量负载分发功能(例如散列/CRC/模数)的方法。当由于开关的负载分发功能发生经过各服务器的负载偏斜时,仅由新TCP流的改向实现负载平衡。负载平衡控制引擎通过致使开关通过静态开关负载分发功能将目标是繁忙服务器的新TCP流转移到另一较不繁忙服务器来进行负载平衡。反美服务器是没有达到某个性能度量的服务器。对于所选的被负载平衡的流,开关被设置为将分组直接发送到服务器端口,因此绕开开关负载分发功能。负载平衡控制引擎监视各服务器,并且当服务器的性能超过性能阈值时,在开关的TCAM中设置用于将所选流(头部5-元组)改向到替换的较不繁忙服务器的规则。这样做不影响将已经通过开关中的其他规则将分组导向的服务的序列。因此,开关负载分发功能引导大多数的数据平面流量。仅当服务器变得繁忙时,才经由TCAM中的具体5-元组发生真实的负载平衡每个流改向。这提供了细致、真实的负载平衡,同时保持TCAM的大小是合理的。负载平衡控制引擎处理控制平面流量以及仅目的地是繁忙服务器的TCP SYN分组。在此使用的技术是仅是为了描述具体实施例,并且不意图限制本公开。如在此使用的,单数形式“一个”和“该”意图也包括复数形式,除非上下文清楚地指示相反。将进一步理解,术语“包括”在用在本说明书中时指定所述特征、整数、步骤、操作、要素和/或组件的存在,但不排除一个或多个其他特征、整数、步骤、操作、要素、组件及其组的存在或添加。以下权利要求中的所有部件或步骤加上功能要素的相应结构、材料、动作及等效物意图包括用于与如具体要求保护的其他要求保护的要素组合地进行该功能的任何结构、 材料或动作。。为了例示和描述的目的,已经给出了本公开的各个实施例的描述,但是该描述不意图是穷尽的或被限制到所公开的形式的公开。不脱离本公开的范围和精神,许多修改和变化对本领域技术人员将是显而易见的。选择并描述该实施例以便最佳地说明本公开的原理,并使得并领域技术人员能够理解对于具有适合于预期的具体使用的各种修改的各个实施例的公开。已经详细地并参考本申请的例示实施例因此描述了本申请的公开的实施例,将显而易见的是,不脱离在所附权利要求中定义的本公开的范围,能够进行修改和变化。
权利要求
1.一种传送IP分组流的方法,该方法包括将以太网开关耦接到负载平衡控制引擎;将该负载平衡控制引擎内的负载平衡逻辑配置为对该以太网开关隐藏;以太网开关接收IP分组流,其中该以太网开关将该IP分组流的分组发送到服务器;该负载平衡控制引擎确定所述服务器在其利用方面是否被平衡;响应于负载平衡控制引擎确定所述服务器被平衡,所述以太网开关将所述IP分组流发送到所述服务器而所述以太网开关不直接接收来自所述服务器的关于所述服务器的利用的任何反馈;以及响应于负载平衡控制引擎确定所述服务器未被平衡,所述负载平衡控制引擎命令所述以太网开关将所述IP分组流改向到比其他服务器相对较不繁忙的服务器。
2.如权利要求1的方法,其中仅对于响应于服务器在其工作负载方面未被平衡而被改向的IP分组流,所述IP分组流被导向位置的记录被存储在以太网开关的存储器中。
3.如权利要求1的方法,其中用于导向和改向IP分组流的规则被存储在以太网开关的存储器中。
4.如权利要求1的方法,其中所述服务器包括多个服务器组,所述方法还包括将所述IP分组流改向到服务器的具体序列,其中该服务器的具体序列中的每个服务器来自所述多个服务器组中的不同服务器组。
5.如权利要求的方法,其中所述多个服务器组包括防火墙服务器组、入侵检测系统 (IDS)服务器组和防病毒应用服务器组,并且其中所述IP分组流被改向为依次经过从所述防火墙服务器组、IDS服务器组和防病毒应用服务器组的每个中选择的服务器。
6.一种以太网开关,耦接到负载平衡控制引擎,其中所述负载平衡控制引擎内的负载平衡逻辑在逻辑上与所述以太网开关隔离,所述以太网开关包括端口,用于接收因特网协议(IP)分组流;存储器,用于存储将IP分组流发送到服务器的指令;以及IP分组流导向逻辑,用于响应于所述负载平衡控制引擎确定所述服务器被平衡,将所述IP分组流发送到服务器而不从所述服务器接收与所述服务器的工作负载有关的任何直接反馈,并且响应于所述负载平衡控制引擎确定所述服务器未被平衡,将所述IP分组流重新发送到比其他服务器相对较不繁忙的服务器。
7.如权利要求6的以太网开关,其中仅对于响应于服务器在其工作负载方面未被平衡而被改向的IP分组流,存储所述IP分组流被导向位置的记录。
8.如权利要求6的以太网开关,其中用于导向和改向IP分组流的规则被存储在以太网开关的存储器中。
9.如权利要求6的以太网开关,其中所述服务器包括多个服务器组,所述IP分组流导向逻辑还包括改向逻辑,用于将所述IP分组流改向到服务器的具体序列,其中该服务器的具体序列中的每个服务器来自所述多个服务器组中的不同服务器组。
10.如权利要求9的以太网开关,其中所述多个服务器组包括防火墙服务器组、入侵检测系统(IDS)服务器组和防病毒应用服务器组,并且其中所述IP分组流被改向为依次经过从所述防火墙服务器组、IDS服务器组和防病毒应用服务器组的每个中选择的服务器。
全文摘要
方法、系统和/或计算机程序产品发送IP分组流。以太网开关耦接到负载平衡控制引擎,所述负载平衡控制引擎包含在逻辑上与所述以太网开关隔离的负载平衡逻辑。将IP分组流发送到服务器的以太网开关接收IP分组流。该负载平衡控制引擎确定所述服务器在其工作负载方面是否被平衡。响应于负载平衡控制引擎确定所述服务器被平衡,所述以太网开关将所述IP分组流发送到所述服务器而所述以太网开关不直接接收来自所述服务器的关于所述服务器的工作负载的任何反馈。响应于负载平衡控制引擎确定所述服务器未被平衡,所述负载平衡控制引擎命令所述以太网开关将所述IP分组流改向到比其他服务器相对较不繁忙的服务器。
文档编号H04L29/06GK102238081SQ201110081069
公开日2011年11月9日 申请日期2011年3月31日 优先权日2010年4月26日
发明者加里·R·希皮, 史蒂文·W·亨特, 特兹维特里纳·B·巴特斯提里, 特里·L·尼尔姆斯二世 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1