CN101394400A - 网络业务的智能负载平衡和故障转移 - Google Patents
网络业务的智能负载平衡和故障转移 Download PDFInfo
- Publication number
- CN101394400A CN101394400A CNA2008100947720A CN200810094772A CN101394400A CN 101394400 A CN101394400 A CN 101394400A CN A2008100947720 A CNA2008100947720 A CN A2008100947720A CN 200810094772 A CN200810094772 A CN 200810094772A CN 101394400 A CN101394400 A CN 101394400A
- Authority
- CN
- China
- Prior art keywords
- nic
- network
- address
- hash
- arp request
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/122—Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
- H04L45/245—Link aggregation, e.g. trunking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2542—Translation of Internet protocol [IP] addresses involving dual-stack hosts
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明大体上涉及网络通信中的网络业务的智能负载平衡和故障转移,且更具体地说,涉及一种用于使用散列引擎来对网络业务进行智能负载平衡和故障转移的系统和方法。本发明的已实施例包括一种位于网络装置驱动器中的散列引擎,其保存关于本地计算装置内的每个网络接口卡(“NIC”)的利用率和出错率的数据。从本地计算装置中的操作系统发送到远程计算装置的传输包被截取、修改并重新引导到由所述散列引擎选择的传输NIC,以用于传输到远程计算装置。通过以此方式选择接收NIC和传输NIC,所述散列引擎能够智能地对所述本地计算装置中的传输和接收业务进行负载平衡,从而相对于现有技术来改进总体网络性能。
Description
技术领域
本发明的实施例大体上涉及网络通信,且更具体地说,涉及一种用于使用散列引擎来对网络业务进行智能负载平衡和故障转移的系统和方法。
背景技术
性能和可靠性是对现代计算机网络的关键要求。当新的网络连接在包含多个网络接口卡(“NIC”)的计算装置上启动时,操作系统通常为所述连接选择NIC,而不考虑每个NIC的利用率或出错率。此类环境的一个劣势是新的连接通常被指配给过载且/或不可靠的NIC,从而导致用于新的连接且可能用于选定NIC上的其它现存连接的网络性能降低。
一些现有技术解决方案试图通过保存含有“连接状态”的复杂的数据结构来避免将新的连接指配给过载且/或不可靠的NIC。分析此数据结构使得网络装置驱动器可确定哪些NIC是过载且/或不可靠的。然而,此连接状态的结构无助于有效地识别已向每个连接指配哪一NIC,或有效地将连接从过载或不可靠的NIC重新分配到完全起作用的NIC。另外,保存或分析此连接状态在计算上是昂贵的,这可能使计算装置的计算和网络性能降级。
如前面所说明,此项技术中需要一种更有效的用于在计算装置中的NIC上分配和再分配网络连接的技术。
发明内容
本发明的一个实施例陈述一种用于智能地将网络连接转移到网络接口卡(NIC)以接收网络业务的方法。所述方法包含:截取由操作系统产生的地址解析协议(ARP)响应包,其中所述ARP响应包具有与第一NIC相关联的第一媒体接入控制(MAC)地址,所述第一NIC已经被操作系统选择用来接收与网络连接有关的网络业务;对ARP响应包进行解码;通过向散列函数提供经解码的ARP响应包中所包含的一个或一个以上网络参数来产生与第二NIC相关联的第二MAC地址;以及用第二MAC地址来代替ARP响应包中的第一MAC地址。
所揭示的方法的一个优势是其允许网络连接使用散列引擎在计算装置中的多个NIC上智能地转移。可使用连接转移来执行负载平衡、故障转移或故障恢复功能。以此方式,可更容易地避免通过过载或不可靠的NIC来运行网络连接,从而改进总体网络性能。
附图说明
因此,为了可更详细了解本发明的上述特征,可参考实施例对上文简要概述的本发明进行更具体的描述,所述实施例中的一些实施例在附图中说明。然而,应注意,附图只说明本发明的典型实施例,且因此不应被视为限制本发明的范围,因为本发明可承认其它同等有效的实施例。
图1A到图1C说明可实施本发明的一个或一个以上方面的计算装置;以及
图2说明根据本发明一个实施例的用于基于向散列函数提供的参数来从散列表中选择MAC地址的方法步骤的流程图。
图3A和图3B说明根据本发明一个实施例的用于将连接转移到被散列引擎选择用来接收网络业务的NIC的方法步骤的流程图;以及
图4A和图4B说明根据本发明一个实施例的用于将连接转移到被散列引擎选择用来传输网络业务的NIC的方法步骤的流程图。
图5说明根据本发明一个实施例的用于将现存连接卸载到由散列引擎选择的NIC的方法步骤的流程图。
图6说明根据本发明一个实施例的用于使用虚拟因特网协议地址来执行地址解析协议请求的方法步骤的流程图。
具体实施方式
可通过使用截取、修改和重新引导从计算装置中的操作系统传输到网络上的远程计算装置的包,来实现计算装置中的多个NIC之间的网络连接的智能负载平衡和故障转移。可通过在地址解析协议(“ARP”)响应包由操作系统传输到远程计算装置时截取所述ARP响应包,来对用于连接的接收业务进行负载平衡或故障转移。在被继续发送到远程计算装置之前,被截取的ARP响应包经修改以包含被网络驱动器选择用来接收用于连接的业务的NIC的MAC地址。此修改导致来自远程计算装置的接收业务到达由网络驱动器选择的NIC,而不是到达由操作系统选择的NIC。
类似地,可通过在标准传输包由操作系统传输到远程计算装置时截取所述标准传输包,来对用于连接的传输业务进行负载平衡或故障转移。在被发送到远程计算装置上之前,被截取的传输包经修改以包含被网络驱动器选择用来传输用于连接的业务的NIC的MAC地址。此修改导致传输业务通过由网络驱动器选择的NIC而不是通过由操作系统选择的NIC发送到远程计算装置。
图1A到图1C说明可实施本发明的一个或一个以上方面的计算装置100。计算装置100可以是桌上型计算机、服务器、膝上型计算机、掌上型计算机、个人数字助理、平板电脑、游戏控制台、蜂窝式电话或处理信息的任何其它类型的类似装置。如图所示,计算装置100包含主存储器102、存储器控制器104、微处理器106、I/O控制器108和NIC 110、116。NIC 110包含硬件卸载引擎(“HOE”)112,且NIC 116包含HOE 118。HOE 112和118包含经配置以用于处理与计算装置100与已经被选择性地卸载到NIC110、116的一个或一个以上远程网络计算装置(未图示)之间的网络连接相关联的网络帧的逻辑。与常规做法一样,通过用HOE 112和118来处理网络帧(有时被称为“在硬件中处理连接”),而不是在主机软件传输控制协议和因特网协议(“TCP/IP”)堆栈中执行那些处理功能(有时被称为“在软件中处理连接”),可实质上减少NIC 110、116与微处理器106之间的通信以及由微处理器106执行的计算。
存储器控制器104耦合到主存储器102,且耦合到微处理器106,且I/O控制器108耦合到微处理器106和NIC 110、116。在本发明的一个实施例中,微处理器106通过将命令或数据写入到I/O控制器108中来向NIC 110、116传输命令或数据。一旦此类命令或数据被写入到I/O控制器108中,I/O控制器108就视情况将所述命令或数据翻译成目标NIC可理解的格式,并将所述命令或数据传送到所述目标NIC。类似地,NIC 110,116通过将命令或数据写入到I/O控制器108中来向微处理器106传输命令或数据,且I/O控制器108视情况将所述命令或数据翻译成微处理器106可理解的格式,并将所述命令或数据传送到微处理器106。前面提及的耦合可实施为存储器总线或I/O总线,例如PCITM总线或其任一组合,或否则可以任何其它技术上可行的方式来实施。
如图1B中更详细展示,主存储器102包含操作系统122和软件驱动器124。软件驱动器124包含负载平衡和故障转移(“LBFO”)模块126和TCP/IP堆栈130。LBFO模块125跟踪每个NIC的联网状态(例如每个NIC的链接状态,每个NIC上的发送和接收错误的数目和/或每个NIC是否发送和接收保持有效的包),且在网络连接在计算装置100内从一个NIC移动到另一NIC时与TCP/IP堆栈130通信。LBFO模块126包含散列引擎128,其基于前面提及的每个NIC的联网状态,来智能地确定应如何在计算装置100中的不同的起作用的NIC上分配网络连接。
如图1C中更详细展示,散列引擎128包含传输散列表138和接收散列表140。传输散列表138的目的是基于由LBFO模块126向传输散列表138提供的数据,在计算装置100内选择用于传输与网络连接有关的包的起作用的NIC。传输散列表138包含多个散列表条目(例如,散列表条目134)和软件散列函数(未图示)。另外,每个散列表条目包含表索引(例如,表索引132)和表值(例如,表值136)。LBFO模块126引导散列引擎128通过将TCP/IP连接数据传送到散列引擎128来在计算装置100内选择传输NIC,所述散列引擎128将TCP/IP连接数据传送到传输散列表138中的软件散列函数。作为响应,软件散列函数基于所述TCP/IP连接数据而在传输散列表138内选择表索引。从此选定的表索引中,传输散列表138识别对应的表值,且散列引擎128将识别出的表值传送回到LBFO模块126。如果对应的表值是无效的,那么散列引擎128基于计算装置100中的所有NIC的NIC利用率和NIC出错率数据的经加权的组合(如由LBFO模块126保存),而为连接选择NIC,且散列引擎128将选定NIC的MAC地址存储在对应于当前表索引的表值中。由于软件散列函数的设计和操作是所属领域的技术人员众所周知的,所以本文将不会论述这些问题。在一个实施例中,LBFO模块126将以下四个TCP/IP数据传送到散列引擎128:客户机因特网协议(“IP”)地址、服务器IP端口、客户机IP端口和虚拟局域网识别符(“VLAN ID”)。在其它实施例中,LBFO模块126可将任何技术上可行的TCP/IP参数传送到散列引擎128。
接收散列表140的目的是基于由LBFO模块126向接收散列表140提供的数据,在计算装置100内选择用于接收与网络连接有关的包的起作用的NIC。类似于传输散列表138,接收散列表140包含多个散列表条目和软件散列函数(未图示),且每个散列表条目包含表索引和表值。同样,LBFO模块126通过将TCP/IP连接数据传送到散列引擎128来引导散列引擎128在计算装置100内选择接收NIC,所述散列引擎128将TCP/IP连接数据传送到接收散列表140中的软件散列函数。作为响应,软件散列函数基于所述TCP/IP连接数据而在接收散列表140内选择表索引。从此选定的表索引中,接收散列表140识别对应的表值,且散列引擎128将识别出的表值传送回到LBFO模块126。同样,如果对应的表值是无效的,那么散列引擎128基于计算装置100中的所有NIC的NIC利用率和NIC出错率数据的经加权的组合(如由LBFO模块126保存),而为连接选择NIC,且散列引擎128将选定NIC的MAC地址存储在对应于当前表索引的表值中。在一个实施例中,LBFO模块126传送到散列引擎128的TCP/IP数据包含服务器IP地址。在其它实施例中,LBFO模块126可将任何技术上可行的TCP/IP数据传送到散列引擎128。
重要的是,散列引擎128的结构有效地支持在执行负载平衡、故障转移或故障恢复操作时,将连接从一个NIC转移到另一个NIC。举例来说,在一个实施例中,如果第一NIC过载,且LBFO模块126希望将第一NIC上的一些连接转移到第二NIC,那么散列引擎128可使散列表值含有过载的第一NIC的MAC地址的散列表条目失效。如下文在图2的论述中更详细地描述,使散列表条目失效导致散列引擎128选择第二NIC作为对应于失效的散列表条目的新的用于连接的NIC,并将第二NIC的MAC地址存储在散列表条目中。在对散列表值的此改变之后,散列表索引对应于经修改的散列表值的所有连接都将通过第二NIC来通信。
另外,散列引擎128的结构有效地支持将连接从一个NIC故障转移到另一NIC。举例来说,在一个实施例中,如果第一NIC已经失效或已经变得不可靠,且LBFO模块126希望将第一NIC上的连接转移到第二NIC,那么散列引擎128可使散列表值包含失效或不可靠的NIC的MAC地址的所有散列表条目失效。同样,如下文在图2中所述,使散列表条目失效导致散列引擎128选择第二NIC作为对应于失效的散列表条目的新的用于连接的NIC,且散列表128将第二NIC的MAC地址存储在那些散列表条目中。一旦已经用第二NIC的MAC地址覆写了包含失效或不可靠的NIC的MAC地址的所有散列表值,第一NIC上的所有连接都已经被故障转移到第二NIC。在2007年5月18日申请且序号为11/750,903且代理人案号为NVDA/P001880的题为“负载平衡联网环境下的智能故障转移”(“Intelligent Failover In a Load-Balanced Networking Environment”)的相关美国专利申请案中描述了关于LBFO模块126在故障转移期间的功能性的更多细节。此相关专利申请案以引用的方式并入本文中。
另外,散列引擎128的结构有效地支持连接从一个NIC故障恢复到另一NIC。举例来说,在一个实施例中,如果LBFO模块126已经使一些连接从第一NIC故障转移到第二NIC,且第一NIC随后变得完全起作用,那么LBFO模块126可使一些或所有故障转移的连接故障恢复到第一NIC。在一个实施例中,LBFO模块126可通过更新对应于选定的经故障转移的连接的散列表值来对选定的连接进行故障恢复,以存储第一NIC而不是第二NIC的MAC地址。一旦已经用第一NIC的MAC地址覆写了包含第二NIC的MAC地址的散列表值,对应于经覆写的散列表值的连接就已经故障恢复到第一NIC。在2007年5月18日申请的序号为11/750,914且代理人案号为NVDA/P001882的题为“负载平衡联网环境下的智能故障恢复”(“Intelligent Failback In a Load-Balanced NetworkingEnvironment”)的相关美国专利申请案中描述了关于LBFO模块126在故障恢复期间的功能性的更多细节。此相关专利申请案以引用的方式并入本文中。
基于前面提及的对负载平衡和故障转移/故障恢复的论述,本发明可经配置以在四种模式下操作,每个模式有效地解决不同操作环境的需要。在第一操作模式下,使用散列引擎128来转移连接,以在不依赖于交换机的网络环境(即,将计算装置100的NIC耦合到外部网络的交换机不在802.3ad模式下操作的网络环境)下执行负载平衡和故障转移/故障恢复。在此实施例中,下文所描述的图3和图4的方法使用散列引擎128来识别用于转移连接以分别接收业务和传输业务的NIC。而且,此识别可作为负载平衡的一部分而执行,或作为将连接故障转移到可靠NIC的一部分而执行。重要的是,用于连接的接收业务和传输业务可利用不同的NIC,除非所述连接被卸载,所述卸载会导致单个NIC处理用于被卸载的连接的接收业务和传输业务,如下文更详细地描述。
在第二操作模式下,散列引擎128用于转移连接以在不依赖于交换机的网络环境下对传输业务执行负载平衡,但不用于对接收业务执行负载平衡。重要的是,在此操作模式下,散列引擎128不用于转移连接以执行故障转移或故障恢复。因此,散列引擎128可为连接上的传输业务选择NIC,且可随后修改所述选择以对传输业务进行负载平衡,但通过操作系统所选择的NIC来处理用于连接的接收业务。同样,用于连接的接收业务和传输业务可利用不同的NIC,除非所述连接被卸载,所述卸载会导致由操作系统选择的NIC处理用于被卸载的连接的接收业务和传输业务,如下文更详细地描述。
在第三操作模式下,散列引擎128用于转移连接以在不依赖于交换机的网络环境下执行故障转移和故障恢复,但不执行负载平衡。由于在此实施例中,散列引擎128不转移连接以执行负载平衡,所以由操作系统122选择用来在所述连接上传输业务和接收业务的NIC被维持。另外,LBFO模块126可引导散列引擎128在NIC出现故障或变得不可靠时对网络业务进行故障转移,并且引导散列引擎128在NIC回到完全起作用的状态时对业务进行故障恢复。
在第四操作模式下,散列引擎128用于转移连接以在依赖于交换机的网络环境(即,将计算装置100的NIC耦合到外部网络的交换机在802.3ad模式下操作的网络环境)下执行传输业务而不是接收业务的负载平衡和故障转移/故障恢复。重要的是,在依赖于交换机的网络环境下,交换机选择计算装置100中的哪一NIC接收用于连接的业务。因此,散列引擎128不执行接收业务的负载平衡或故障转移/故障恢复,但散列引擎128可对传输业务进行负载平衡,且LBFO模块126可引导散列引擎128对传输业务进行故障转移/故障恢复。然而,同样,如果网络连接被卸载在被交换机选择用来接收用于连接的业务的NIC上,那么散列引擎128选择同一NIC来传输用于所述连接的业务,如下文进一步详细描述。
图2说明根据本发明一个实施例的用于基于向散列函数提供的参数而从散列表中选择MAC地址的方法步骤200的流程图。尽管参考计算装置100来描述所述方法,但所属领域的技术人员将了解,经配置而以任何次序执行所述方法步骤的任何系统都在本发明的范围内。
如图所示,用于从散列引擎128中的散列表中选择MAC地址的方法开始于步骤202,其中所述散列表内的散列函数根据由所述散列函数接收到的参数来确定散列表索引。由于用于创建和使用散列函数以基于向散列函数提供的参数来为所述散列表编索引的方法是所属领域的技术人员众所周知的,所以本文将不会论述这些方法。应注意,传输散列函数接收到的参数(其作用是为传输散列表138编索引)可能不同于接收散列函数接收到的参数(其作用是为接收散列表140编索引)。在本发明的一个实施例中,接收散列函数接收远程计算装置的IP地址,作为用于为接收散列表140编索引的参数。另外,如果在联网环境下利用VLAN技术,那么传输散列函数接收远程计算装置的IP地址,用于远程计算装置的TCP端口、用于计算装置100的TCP端口以及VLAN ID,作为用于为传输散列表138编索引的参数。在本发明的其它实施例中,接收散列函数和传输散列函数可分别接收任何技术上可行的用于为接收散列表140和传输散列表138编索引的参数。
在步骤204中,散列引擎128读取对应于在步骤202中识别出的散列表索引的散列表条目。在步骤206中,散列引擎128确定在步骤204中读取的散列表条目是否有效。如果在步骤206中散列表条目有效,那么方法继续到步骤208,其中散列引擎128选择存储在被索引的散列表条目中的MAC地址。在步骤216中,散列引擎128将所选的MAC地址返回到LBFO模块126,且所述方法终止。
如果在步骤206中,在步骤204中读取的散列表条目无效,那么所述方法继续到步骤210,其中散列引擎128识别适合传送网络业务的NIC。在一个实施例中,当NIC的利用率(作为所述NIC的传输能力或接收能力的百分比)低于计算装置100中的其它NIC的利用率时,认为所述NIC适合传送网络业务。在另一实施例中,当NIC的出错率低于计算装置100中的其它NIC的出错率时,认为所述NIC适合传送网络业务。在又一实施例中,NIC的利用率和出错率的经加权的组合(相对于计算装置100中的其它NIC的利用率和出错率的经加权的组合)可用来确定NIC是否适合传送网络业务。在步骤212中,散列引擎128选择在步骤210中识别的合适的NIC的MAC地址。在步骤214中,散列引擎128将所选的MAC地址存储在对应于在步骤202中识别的散列表索引的散列表条目中。
图3A和图3B说明根据本发明一个实施例的用于将连接转移到被散列引擎128选择用来接收网络业务的NIC的方法步骤300的流程图。尽管参考计算装置100描述了所述方法,但所属领域的技术人员将了解,经配置而以任何次序执行所述方法步骤的任何系统都在本发明的范围内。
如图所示,所述用于转移连接的方法开始于步骤302,其中操作系统122收听来自远程计算装置(未图示)的ARP请求包。当远程计算装置启动连接以将数据传输到计算装置100时,远程计算装置通过向耦合到本地网络的计算装置发送包含计算装置100的IP地址的ARP请求包,来请求计算装置100的MAC地址。计算装置100通过发送包含计算装置100的MAC地址的ARP响应包来响应ARP请求包。在接收到ARP响应包并对其进行解码之后,远程计算装置立即可使用从ARP响应包解码的MAC地址来向本地计算装置100传输包。由于所述用于交换ARP请求包与ARP响应包的方法是所属领域的技术人员众所周知的,所以本文将不会论述这些方法。在步骤304中,操作系统122确定在步骤302中是否接收到ARP请求包。如果操作系统122发现没有接收到ARP请求包,那么方法返回到步骤302,其中操作系统122继续收听ARP请求包。
然而,如果在步骤304中操作系统122发现接收到了ARP请求包,那么方法继续到步骤306到310,其中操作系统122响应于接收到ARP请求包而产生ARP响应包。在步骤306中,操作系统122识别将通过其接收用于连接的业务的NIC。仅出于论述的目的,假定操作系统122选择NIC 110作为用于接收业务的NIC。在步骤308中,操作系统122产生ARP响应包,其包含NIC 110的MAC地址。在步骤310中,操作系统122向NIC 110发送ARP响应包。
在步骤312中,LBFO模块126截取从操作系统122发送到NIC 110的ARP响应包。而且,LBFO模块126经配置以截取从操作系统122发送到由计算装置100中的操作系统122选择的NIC的ARP响应包,且修改这些ARP响应包的MAC地址。如下文所陈述,修改ARP响应包以反映由散列引擎128选择的NIC的MAC地址允许LBFO模块126(而不是操作系统122)控制哪一NIC接收来自远程计算装置的包。因此,并入到ARP响应包中的由散列引擎128作出的智能NIC选择导致在由LBFO模块126选择的NIC而不是在另一较不有利的NIC上接收对应的连接。
在步骤314中,LBFO模块126将截取的ARP响应包解码成多个组成部分,其中包含ARP响应包送交到的远程计算装置的IP地址。在步骤315中,LBFO模块126确定与ARP响应包有关的连接是否存在且已经被卸载到驻存在接收NIC上的硬件卸载引擎。如果LBFO模块126发现所述连接不存在,或所述连接存在但没有卸载到驻存在接收NIC上的硬件卸载引擎,那么所述方法继续到步骤316,其中散列引擎128选择MAC地址。此选择是基于LBFO模块126将远程计算装置的IP地址作为参数传递到散列引擎128的,如先前上文在图2中所描述。
在步骤318中,LBFO模块126用选定的MAC地址来代替经解码的ARP响应包中由操作系统122选择的MAC地址。在步骤320中,LBFO模块126对选定的MAC地址和经解码的ARP响应包的其余组成部分进行编码,以形成ARP响应包。在步骤322中,LBFO模块将ARP响应包传输到远程计算装置,且所述方法终止。在一个实施例中,通过对应于选定MAC地址的NIC来传输ARP响应包。
现返回到步骤315,如果LBFO模块126发现与被截取的ARP响应包有关的连接存在且已经被卸载到驻存在接收NIC上的硬件卸载引擎,那么所述方法继续到步骤317。在步骤317中,散列引擎128在继续进行到修改ARP响应包、对所述包进行编码且传输所述包(如先前上文在步骤318到322中所描述)之前,选择接收NIC的MAC地址。
图4A和图4B说明根据本发明一个实施例的用于将连接转移到由散列引擎128选择用来传输网络业务的NIC的方法步骤400的流程图。尽管参考计算装置100描述所述方法,但所属领域的技术人员将了解,经配置以用任何次序执行所述方法步骤的任何系统都在本发明的范围内。
如图所述,所述用于转移连接的方法开始于步骤402,其中操作系统122创建传输包,其包含由操作系统122选择的NIC的MAC地址。举例来说,应用程序可请求操作系统122创建传输包,作为计算装置100与远程计算装置(未图示)之间正在进行的通信的一部分。仅出于论述的目的,假定操作系统122选择NIC 110将传输包发送到远程计算装置。
在步骤404中,操作系统122将在步骤402中创建的传输包发送到NIC 110。在步骤406中,LBFO模块126截取从操作系统122发送到NIC 110的传输包。如本文先前所论述,LBFO模块126经配置以截取从操作系统122发送到由计算装置100中的操作系统122选择的NIC的传输包,且修改被截取的传输包的MAC地址。同样,修改传输包以反映由散列引擎128选择的NIC的MAC地址允许LBFO模块126(而不是操作系统122)控制哪一NIC发送来自远程计算装置的传输包。因此,由散列引擎128进行的智能NIC选择导致在由LBFO模块126选择的NIC上而不是在另一较不有利的NIC上传输包。
在步骤408中,LBFO模块126对来自步骤406的传输包进行解码,以识别传输包的一个或一个以上TCP/IP参数。在步骤410中,LBFO模块126确定对应于所述传输包的连接是否已经卸载到驻存在接收NIC上的硬件卸载引擎。同样,如果连接已经被卸载到驻存在接收NIC上的硬件卸载引擎,那么用于所述连接的包有利地从驻存在接收NIC上的硬件卸载引擎而不是从不同NIC上的软件传输。因此,如果对应于传输包的连接已经被卸载到驻存在接收NIC上的硬件卸载引擎,那么在步骤412中,散列引擎128选择接收NIC的MAC地址作为传输MAC地址。
在步骤416中,LBFO模块126用传输MAC地址来代替经解码的源MAC地址,以形成经修改的经解码包。在步骤418中,LBFO模块126将经修改的经解码包编码成传输包。在步骤420中,LBFO模块126通过对应于传输MAC地址的NIC将传输包传送到远程计算装置。
现返回到步骤410,如果对应于传输包的连接尚未被卸载到驻存在接收NIC上的硬件卸载引擎,那么方法继续到步骤414。在步骤414中,散列引擎128使用在步骤408中从传输包解码的TCP/IP参数来从传输散列表138中选择传输MAC地址,如上文在图2中所述。所述方法接着继续进行到步骤416到420,如上文所述。
图5说明根据本发明一个实施例的用于将现存连接卸载到由散列引擎128选择的NIC的方法步骤500的流程图。尽管参考计算装置100来描述所述方法,但所属领域的技术人员将了解,经配置以用任何次序执行所述方法步骤的任何系统都在本发明的范围内。
如图所示,所述用于卸载现存连接的方法开始于步骤502,其中软件驱动器124启动卸载现存连接的操作。软件驱动器124可在操作系统122的请求下或基于由软件驱动器124执行的某些处理操作而启动卸载操作。软件驱动器124可(例如)确定现存连接是将由硬件卸载引擎来较好处理的高业务量连接。
在步骤504中,LBFO模块126询问散列引擎128以选择新的NIC来接收与所述连接相关联的网络业务。在步骤506中,散列引擎128使用接收散列表140来确定应选择计算装置100内的哪一NIC和硬件卸载引擎来接收与所述连接相关联的网络业务。选定的NIC和硬件卸载引擎可(例如)正运载最小平均负载、具有最小数目的被卸载连接,或可连接到最可靠的物理链路。在步骤508中,LBFO模块126将接收NIC卸载到选定NIC和硬件卸载引擎。
图6说明根据本发明一个实施例的用于使用虚拟因特网协议地址来执行地址解析协议(ARP)请求的方法步骤600的流程图。尽管参考计算装置100来描述所述方法,但所属领域的技术人员将了解,经配置以用任何次序执行所述方法步骤的任何系统都在本发明的范围内。
如图所示,所述用于执行地址解析协议请求的方法开始于步骤602,其中操作系统122创建ARP请求包,其包含由操作系统122选择用来接收与被建立的连接和计算装置100的IP地址相关联的网络业务的NIC的MAC地址。可手动地或通过自动化的技术(例如工业标准动态主机配置协议(DHCP))将IP地址指配给计算装置100。MAC地址可对应于由操作系统122认出的默认或首要NIC。在步骤604中,操作系统122将ARP请求包发送到选定NIC。
在步骤606中,LBFO模块126在ARP请求包被提供给选定NIC以供传输之前截取所述ARP请求。在步骤608中,LBFO模块126用由LBFO模块126选择的虚拟IP地址来代替计算装置100的IP地址,从而产生经修改的ARP请求包。所述虚拟IP地址应为网络内未经映射的IP地址。举例来说,在具有在从10.1.1.0到10.1.1.255的范围内的IP地址的网络中,一个IP地址(例如10.1.1.254)可被网络管理员保留作为虚拟IP地址。在此实例中,接收ARP请求包的装置可用新的MAC地址来更新用于虚拟IP地址的本地ARP高速缓冲存储器条目,从而避免破坏用于计算装置100的IP地址的高速缓冲存储器条目。可通过任何技术上可行的构件(包含手动配置)来建立虚拟IP地址以供LBFO模块126使用。在步骤610中,LBFO模块126通过选定NIC将经修改的ARP请求包广播给与计算装置100附接到同一个网络的一个或一个以上远程计算装置。
图6的方法允许LBFO模块126在不涉及操作系统122的情况下管理多个NIC上的ARP请求过程。另外,所述方法可用于避免破坏由接收经修改的ARP请求包的远程计算装置维持的ARP高速缓冲存储器。
所揭示的系统和方法的一个优势是它们允许使用散列引擎来在计算装置中的多个NIC上智能地转移网络连接。可使用连接转移来执行负载平衡、故障转移或故障恢复功能。以此方式,可能更容易避免通过过载或不可靠的NIC来运行网络连接,从而改进总体网络性能。另一优势是使用散列引擎来管理连接对于相应NIC的连接指配允许有效地确定哪一NIC正处理每个连接,同时避免管理连接状态的复杂且计算上昂贵的过程。
虽然前述内容是针对本发明的实施例,但可在不脱离本发明的基本范围的情况下,设计本发明的其它和进一步实施例。举例来说,可在硬件或软件中或在硬件与软件的组合中实施本发明的方面。本发明的一个实施例可实施为用于与计算机系统一起使用的程序产品。所述程序产品的程序定义所述实施例(包含本文所述的方法)的功能,且可包含在多种计算机可读存储媒体上。说明性计算机可读存储媒体包含(但不限于):(i)上面可永久存储有信息的非可写存储媒体(例如,计算机内的只读存储器装置,例如可由CD-ROM驱动器读取的CD-ROM盘、快闪存储器、ROM芯片或任何类型的固态非易失性半导体存储器);和(ii)上面存储有可更改的信息的可写存储媒体(例如,磁盘驱动器内的软盘,或硬盘驱动器,或任何类型的固态随机存取半导体存储器)。此类计算机可读存储媒体在运载指导本发明的功能的计算机可读指令时是本发明的实施例。因此,本发明的范围由所附权利要求书来确定。
Claims (16)
1.一种用于建立避免地址解析协议(ARP)高速缓冲存储器破坏的网络连接的方法,所述方法包括:
截取正被传输到第一网络接口卡(NIC)的ARP请求包,其中所述ARP请求包包含第一媒体接入控制(MAC)地址和第一因特网协议(IP)地址;
用虚拟IP地址代替所述第一IP地址,以产生经修改的ARP请求包;以及
将所述经修改的ARP请求包广播给一个或一个以上远程计算装置。
2.根据权利要求1所述的方法,其进一步包括创建所述ARP请求包和将所述ARP请求包传输到所述第一NIC的步骤。
3.根据权利要求2所述的方法,其中主机操作系统创建所述ARP请求包并传输所述ARP请求包。
4.根据权利要求1所述的方法,其中网络驱动器内的负载平衡故障转移模块截取所述ARP请求包,并用所述虚拟IP地址来代替所述第一IP地址。
5.根据权利要求1所述的方法,其中所述第一IP地址包括主机计算装置的IP地址。
6.根据权利要求5所述的方法,其中所述虚拟IP地址包括包含所述主机计算装置的网络中的未经映射的IP地址。
7.根据权利要求1所述的方法,其中所述第一MAC地址包括由主机操作系统选择用来接收与所述网络连接相关联的网络业务的NIC的MAC地址。
8.一种包含指令的计算机可读媒体,所述指令在由处理器执行时致使所述处理器通过执行以下步骤来建立避免地址解析协议(ARP)高速缓冲存储器破坏的网络连接:
截取正被传输到第一网络接口卡(NIC)的ARP请求包,其中所述ARP请求包包含第一媒体接入控制(MAC)地址和第一因特网协议(IP)地址;
用虚拟IP地址代替所述第一IP地址,以产生经修改的ARP请求包;以及
将所述经修改的ARP请求包广播给一个或一个以上远程计算装置。
9.根据权利要求8所述的计算机可读媒体,其中所述计算机可读媒体包括网络驱动器内的负载平衡故障转移模块。
10.根据权利要求8所述的计算机可读媒体,其中所述第一IP地址包括主机计算装置的IP地址。
11.根据权利要求10所述的计算机可读媒体,其中所述虚拟IP地址包括包含所述主机计算装置的网络中的未经映射的IP地址。
12.根据权利要求8所述的计算机可读媒体,其中所述第一MAC地址包括由主机操作系统选择用来接收与所述网络连接相关联的网络业务的NIC的MAC地址。
13.一种用来将网络连接卸载到硬件卸载引擎的方法,所述方法包括:
启动卸载所述网络连接的操作;
询问散列引擎以选择网络接口卡(NIC)来接收与所述网络连接相关联的网络业务;
选择所述接收NIC;以及
将所述网络连接转移到驻存在所述接收NIC上的硬件卸载引擎。
14.根据权利要求13所述的方法,其中所述硬件卸载引擎经配置以。
15.根据权利要求13所述的方法,其中网络驱动器内的负载平衡故障转移模块询问所述散列引擎并转移所述网络连接。
16.根据权利要求13所述的方法,其中所述转移步骤包含:
设置包含在所述硬件卸载引擎中的受托连接表中的条目,其中所述条目包含所述网络连接的连接状态;以及
设置包含在主机软件模块中的连接表中的对应于所述网络连接的硬件识别符,其中所述设置的硬件识别符指示所述网络连接正通过所述硬件卸载引擎而运行。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/750,987 | 2007-05-18 | ||
US11/750,987 US8300647B2 (en) | 2007-05-18 | 2007-05-18 | Intelligent load balancing and failover of network traffic |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101394400A true CN101394400A (zh) | 2009-03-25 |
CN101394400B CN101394400B (zh) | 2013-07-10 |
Family
ID=40027406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100947720A Expired - Fee Related CN101394400B (zh) | 2007-05-18 | 2008-05-16 | 用于建立避免地址解析协议高速缓冲存储器破坏的网络连接的方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8300647B2 (zh) |
JP (1) | JP4722157B2 (zh) |
KR (1) | KR100989488B1 (zh) |
CN (1) | CN101394400B (zh) |
TW (1) | TWI381682B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103595648A (zh) * | 2012-08-17 | 2014-02-19 | 国际商业机器公司 | 用于在服务器的接收侧进行负载均衡的方法和系统 |
WO2017088718A1 (zh) * | 2015-11-25 | 2017-06-01 | 华为技术有限公司 | 传输控制报文的方法和装置 |
CN112527200A (zh) * | 2020-12-07 | 2021-03-19 | 成都网信天成科技有限公司 | 一种Jmatrix分布式云储存系统 |
CN112769718A (zh) * | 2015-06-26 | 2021-05-07 | 微软技术许可有限责任公司 | 网络接口卡 |
CN115362662A (zh) * | 2020-04-07 | 2022-11-18 | 思科技术公司 | 智能网络接口卡的流量管理 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8990431B2 (en) | 2009-05-05 | 2015-03-24 | Citrix Systems, Inc. | Systems and methods for identifying a processor from a plurality of processors to provide symmetrical request and response processing |
US8391174B2 (en) | 2010-07-13 | 2013-03-05 | Hewlett-Packard Development Company, L.P. | Data packet routing |
CN102131239B (zh) * | 2010-10-27 | 2013-10-02 | 华为技术有限公司 | 业务处理单元和方法以及业务控制网关和负载均衡方法 |
US9300491B2 (en) | 2011-02-11 | 2016-03-29 | Qualcomm Incorporated | Frame delivery path selection in hybrid communication networks |
US9025603B2 (en) | 2011-03-08 | 2015-05-05 | Qualcomm Incorporated | Addressing scheme for hybrid communication networks |
US8694618B2 (en) | 2011-04-13 | 2014-04-08 | Microsoft Corporation | Maximizing data transfer through multiple network devices |
US8627412B2 (en) | 2011-04-14 | 2014-01-07 | Microsoft Corporation | Transparent database connection reconnect |
US8594096B2 (en) * | 2011-10-31 | 2013-11-26 | Hewlett-Packard Development Company, L.P. | Dynamic hardware address assignment to network devices in a switch mesh |
US10102028B2 (en) | 2013-03-12 | 2018-10-16 | Sas Institute Inc. | Delivery acknowledgment in event stream processing |
CN103491007B (zh) * | 2013-09-13 | 2017-01-04 | 新浪网技术(中国)有限公司 | 一种数据包传输方法及装置 |
US9122651B1 (en) * | 2014-06-06 | 2015-09-01 | Sas Institute Inc. | Computer system to support failover in an event stream processing system |
US9369406B2 (en) * | 2014-07-03 | 2016-06-14 | Sas Institute Inc. | Resource server providing a rapidly changing resource |
US9356986B2 (en) | 2014-08-08 | 2016-05-31 | Sas Institute Inc. | Distributed stream processing |
CN105357674B (zh) * | 2015-10-26 | 2023-05-16 | 青岛海尔智能家电科技有限公司 | 一种数据分流方法、装置和系统 |
CN107026890B (zh) * | 2016-02-02 | 2020-10-09 | 华为技术有限公司 | 一种基于服务器集群的报文生成方法和负载均衡器 |
CN106161120B (zh) * | 2016-10-08 | 2019-04-09 | 电子科技大学 | 动态均衡负载的分布式元数据管理方法 |
US11757774B1 (en) | 2017-08-08 | 2023-09-12 | Cable Television Laboratories, Inc. | Multi-channel communication |
US11937167B1 (en) | 2018-03-12 | 2024-03-19 | Cable Television Laboratories, Inc. | Client modification of traffic table in multi channel Wi-Fi |
US10805258B2 (en) | 2018-11-28 | 2020-10-13 | International Business Machines Corporation | Multiple link layer address resolution protocol (ARP) |
Family Cites Families (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5557798A (en) | 1989-07-27 | 1996-09-17 | Tibco, Inc. | Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes |
EP0660569A1 (en) | 1993-12-22 | 1995-06-28 | International Business Machines Corporation | Method and system for improving the processing time of the path selection in a high speed packet switching network |
JPH0816422A (ja) | 1994-07-04 | 1996-01-19 | Fujitsu Ltd | バス通信方法及びバス通信システム |
US5724510A (en) * | 1996-09-06 | 1998-03-03 | Fluke Corporation | Method of configuring a valid IP address and detecting duplicate IP addresses in a local area network |
US5864535A (en) | 1996-09-18 | 1999-01-26 | International Business Machines Corporation | Network server having dynamic load balancing of messages in both inbound and outbound directions |
US5914938A (en) | 1996-11-19 | 1999-06-22 | Bay Networks, Inc. | MAC address table search unit |
US6052733A (en) | 1997-05-13 | 2000-04-18 | 3Com Corporation | Method of detecting errors in a network |
US6208616B1 (en) | 1997-05-13 | 2001-03-27 | 3Com Corporation | System for detecting errors in a network |
US6253334B1 (en) | 1997-05-13 | 2001-06-26 | Micron Electronics, Inc. | Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses |
US6393483B1 (en) * | 1997-06-30 | 2002-05-21 | Adaptec, Inc. | Method and apparatus for network interface card load balancing and port aggregation |
JP3372455B2 (ja) | 1997-07-03 | 2003-02-04 | 富士通株式会社 | パケット中継制御方法,パケット中継装置およびプログラム記憶媒体 |
US6151297A (en) | 1997-07-08 | 2000-11-21 | Hewlett-Packard Company | Method and system for link level server/switch trunking |
US6687758B2 (en) * | 2001-03-07 | 2004-02-03 | Alacritech, Inc. | Port aggregation for network connections that are offloaded to network interface devices |
JP2000029806A (ja) | 1998-07-09 | 2000-01-28 | Hitachi Ltd | 計算機システムのlanアダプタ負荷分散方式 |
US6570875B1 (en) * | 1998-10-13 | 2003-05-27 | Intel Corporation | Automatic filtering and creation of virtual LANs among a plurality of switch ports |
JP4015770B2 (ja) | 1998-12-22 | 2007-11-28 | 株式会社東芝 | クラスタシステム、サーバ計算機及び負荷分散方法 |
US6590861B1 (en) | 1999-03-18 | 2003-07-08 | 3Com Corporation | Combining virtual local area networks and load balancing with fault tolerance in a high performance protocol |
US6560630B1 (en) | 1999-03-18 | 2003-05-06 | 3Com Corporation | Receive load balancing and fail over with multiple network interface cards |
US6567377B1 (en) * | 1999-03-18 | 2003-05-20 | 3Com Corporation | High performance load balancing of outbound internet protocol traffic over multiple network interface cards |
US6512774B1 (en) | 1999-03-18 | 2003-01-28 | 3Com Corporation | Fail over with multiple network interface cards |
US7299294B1 (en) | 1999-11-10 | 2007-11-20 | Emc Corporation | Distributed traffic controller for network data |
US20030229809A1 (en) * | 1999-04-15 | 2003-12-11 | Asaf Wexler | Transparent proxy server |
US6683882B1 (en) | 1999-11-09 | 2004-01-27 | 3Com Corporation | Method and system for directing transmission of IPX control packets to influence reception of IPX data packets |
US6779039B1 (en) | 2000-03-31 | 2004-08-17 | Avaya Technology Corp. | System and method for routing message traffic using a cluster of routers sharing a single logical IP address distinct from unique IP addresses of the routers |
AU2001257364A1 (en) | 2000-04-27 | 2001-11-07 | Fortress Technologies, Inc. | Network interface device having primary and backup interfaces for automatic dialbackup upon loss of a primary connection and method of using same |
JP2002044178A (ja) | 2000-07-17 | 2002-02-08 | Hitachi Ltd | I/oチャネルの通信制御方式 |
US6944785B2 (en) * | 2001-07-23 | 2005-09-13 | Network Appliance, Inc. | High-availability cluster virtual server system |
US7116664B2 (en) | 2002-05-13 | 2006-10-03 | International Business Machines Corporation | Lookups by collisionless direct tables and CAMs |
US8145790B2 (en) * | 2002-07-11 | 2012-03-27 | Hewlett-Packard Development Company, L.P. | Method and device for using dynamic updates in a network |
CN1206600C (zh) * | 2002-11-14 | 2005-06-15 | 华中科技大学 | 一种全分布式的集群网络服务器系统 |
US7386611B2 (en) | 2002-12-10 | 2008-06-10 | International Business Machines Corporation | Apparatus and methods for co-location and offloading of web site traffic based on traffic pattern recognition |
US7415028B1 (en) | 2003-02-11 | 2008-08-19 | Network Equipment Technologies, Inc. | Method and system for optimizing routing table changes due to ARP cache invalidation in routers with split plane architecture |
US7159034B1 (en) * | 2003-03-03 | 2007-01-02 | Novell, Inc. | System broadcasting ARP request from a server using a different IP address to balance incoming traffic load from clients via different network interface cards |
KR101006703B1 (ko) * | 2003-03-28 | 2011-01-10 | 톰슨 라이센싱 | 미디어 기반 파일 송신 시스템 및 방법 |
US7324512B2 (en) | 2003-06-12 | 2008-01-29 | International Business Machines Corporation | MAC layer bridging of network frames between isolated and external networks |
US8285881B2 (en) | 2003-09-10 | 2012-10-09 | Broadcom Corporation | System and method for load balancing and fail over |
US7934020B1 (en) | 2003-09-19 | 2011-04-26 | Vmware, Inc. | Managing network data transfers in a virtual computer system |
US20080022148A1 (en) | 2003-12-11 | 2008-01-24 | Amir Barnea | Method and an Apparatus for Controlling Executables Running on Blade Servers |
US7877519B2 (en) | 2004-10-18 | 2011-01-25 | Intel Corporation | Selecting one of a plurality of adapters to use to transmit a packet |
US7505401B2 (en) | 2005-01-31 | 2009-03-17 | International Business Machines Corporation | Method, apparatus and program storage device for providing mutual failover and load-balancing between interfaces in a network |
JP2006253900A (ja) * | 2005-03-09 | 2006-09-21 | Hitachi Ltd | Ipアドレス引き継ぎ方法、ipアドレスアドレス引き継ぎプログラム、サーバおよびネットワークシステム |
US7460470B2 (en) | 2005-03-18 | 2008-12-02 | Hewlett-Packard Development Company, L.P. | Systems and methods of priority failover determination |
CN100493086C (zh) * | 2005-04-20 | 2009-05-27 | 大唐移动通信设备有限公司 | 一种实现虚拟网际协议的方法 |
JP4405941B2 (ja) * | 2005-05-26 | 2010-01-27 | 日本電信電話株式会社 | 回線冗長化方法およびこれに用いる中継装置 |
US7876689B2 (en) | 2005-06-29 | 2011-01-25 | Hewlett-Packard Development Company, L.P. | Method and apparatus for load balancing network interface adapters based on network information |
US20070201490A1 (en) | 2005-07-13 | 2007-08-30 | Mahamuni Atul B | System and method for implementing ethernet MAC address translation |
US7872965B2 (en) | 2005-08-01 | 2011-01-18 | Hewlett-Packard Development Company, L.P. | Network resource teaming providing resource redundancy and transmit/receive load-balancing through a plurality of redundant port trunks |
US7619993B2 (en) | 2005-11-01 | 2009-11-17 | International Business Machines Corporation | Efficient probabilistic duplicate packet detector in computer networks |
US8031617B2 (en) | 2006-07-28 | 2011-10-04 | Hewlett-Packard Development Company, L.P. | Fast detection of path failure for TCP |
US7710862B2 (en) * | 2006-08-30 | 2010-05-04 | Hewlett-Packard Development Company, L.P. | Method and system of assigning media access control (MAC) addresses across teamed communication ports |
US7995465B2 (en) | 2007-05-18 | 2011-08-09 | Nvidia Corporation | Intelligent load balancing and failover of network traffic |
-
2007
- 2007-05-18 US US11/750,987 patent/US8300647B2/en active Active
-
2008
- 2008-05-13 JP JP2008126221A patent/JP4722157B2/ja not_active Expired - Fee Related
- 2008-05-16 CN CN2008100947720A patent/CN101394400B/zh not_active Expired - Fee Related
- 2008-05-16 TW TW097118238A patent/TWI381682B/zh active
- 2008-05-19 KR KR1020080046351A patent/KR100989488B1/ko not_active IP Right Cessation
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103595648A (zh) * | 2012-08-17 | 2014-02-19 | 国际商业机器公司 | 用于在服务器的接收侧进行负载均衡的方法和系统 |
CN103595648B (zh) * | 2012-08-17 | 2017-05-24 | 国际商业机器公司 | 用于在服务器的接收侧进行负载均衡的方法和系统 |
US9736070B2 (en) | 2012-08-17 | 2017-08-15 | International Business Machines Corporation | Load balancing overlay network traffic using a teamed set of network interface cards |
CN112769718A (zh) * | 2015-06-26 | 2021-05-07 | 微软技术许可有限责任公司 | 网络接口卡 |
CN112769718B (zh) * | 2015-06-26 | 2023-04-07 | 微软技术许可有限责任公司 | 网络接口卡 |
WO2017088718A1 (zh) * | 2015-11-25 | 2017-06-01 | 华为技术有限公司 | 传输控制报文的方法和装置 |
CN115362662A (zh) * | 2020-04-07 | 2022-11-18 | 思科技术公司 | 智能网络接口卡的流量管理 |
CN115362662B (zh) * | 2020-04-07 | 2024-03-08 | 思科技术公司 | 智能网络接口卡的流量管理 |
CN112527200A (zh) * | 2020-12-07 | 2021-03-19 | 成都网信天成科技有限公司 | 一种Jmatrix分布式云储存系统 |
Also Published As
Publication number | Publication date |
---|---|
TWI381682B (zh) | 2013-01-01 |
JP4722157B2 (ja) | 2011-07-13 |
KR20080101815A (ko) | 2008-11-21 |
CN101394400B (zh) | 2013-07-10 |
US20080285553A1 (en) | 2008-11-20 |
JP2008289146A (ja) | 2008-11-27 |
KR100989488B1 (ko) | 2010-10-22 |
TW200910840A (en) | 2009-03-01 |
US8300647B2 (en) | 2012-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101394400B (zh) | 用于建立避免地址解析协议高速缓冲存储器破坏的网络连接的方法 | |
CN101350817B (zh) | 网络业务的智能负载平衡和故障转移的方法和装置 | |
CN101350818B (zh) | 网络业务的智能负载平衡和故障转移 | |
CN101383732B (zh) | 负载平衡联网环境中的智能故障恢复 | |
CN101321085B (zh) | 负载平衡的联网环境下的智能故障转移 | |
US7969989B2 (en) | High performance ethernet networking utilizing existing fibre channel arbitrated loop HBA technology | |
JP5792894B2 (ja) | ポート拡張トポロジ情報の取得用方法、システム及び制御ブリッジ並びにアップリンクポートの処理方法及びシステム | |
US8867375B2 (en) | Failback to a primary communications adapter | |
JPH1069446A (ja) | ホスト間の接続を維持する方法 | |
CN101360005A (zh) | 负载平衡的联网环境下的智能故障转移 | |
US7539760B1 (en) | System and method for facilitating failover of stateful connections | |
JP3740982B2 (ja) | ネットワークに接続されたホストコンピュータの死活監視方法 | |
US20130081139A1 (en) | Quarantine network system, server apparatus, and program | |
WO2004036805A2 (en) | System and method for network interfacing in a multiple network environment | |
CN101170544A (zh) | 一种高可用群集系统采用单一实ip地址的通讯方法 | |
US6907046B1 (en) | Communication system and device that provides service independent communication bridging | |
CN117938760A (zh) | 进行数据传输的方法和装置 | |
CN117675685A (zh) | 交换机链路聚合方法、装置、设备及存储介质 | |
JP2001125860A (ja) | サーバ装置システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130710 Termination date: 20160516 |
|
CF01 | Termination of patent right due to non-payment of annual fee |