CN1815979A - 用于提供网络连接的设备和方法 - Google Patents

用于提供网络连接的设备和方法 Download PDF

Info

Publication number
CN1815979A
CN1815979A CNA2006100024088A CN200610002408A CN1815979A CN 1815979 A CN1815979 A CN 1815979A CN A2006100024088 A CNA2006100024088 A CN A2006100024088A CN 200610002408 A CN200610002408 A CN 200610002408A CN 1815979 A CN1815979 A CN 1815979A
Authority
CN
China
Prior art keywords
interface
computer
virtual interface
active
interfaces
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
Application number
CNA2006100024088A
Other languages
English (en)
Other versions
CN100456694C (zh
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1815979A publication Critical patent/CN1815979A/zh
Application granted granted Critical
Publication of CN100456694C publication Critical patent/CN100456694C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual 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
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering

Abstract

本申请公开了一种用于在网络中的接口之间提供相互的故障转移和负载平衡的方法、设备和程序存储设备。为第一和第二计算机接口中的每一个提供有源虚拟接口和无源虚拟接口。把所述第一计算机接口的有源虚拟接口可通信地耦合至所述第二接口的无源虚拟接口。把所述第二计算机接口的有源虚拟接口可通信地耦合至所述第一计算机接口的无源虚拟接口。当所述第一和第二计算机接口可利用时,通过所述第一计算机接口的有源虚拟接口和第二计算机接口的有源虚拟接口中的每一个来引导数据流,否则把数据流引导至可利用的第一或者第二接口的有源虚拟接口和无源虚拟接口。

Description

用于提供网络连接的设备和方法
技术领域
本申请总体上涉及网络计算机系统,具体而言,涉及在网络接口之间提供相互的故障转移和负载平衡的方法、设备和程序存储设备。
背景技术
在网络中彼此链接的计算机系统通常用于商业以及其他组织。计算机系统网络(“网络”)为用户提供很多利益,诸如提高生产率、增加灵活性并且提供便利,同时还提供资源共享和分配。
根据特定实现方式的细节、诸如所使用的硬件以及所述装备的物理位置,并且根据所述网络的特殊目的,可以依照不同的方式来构成网络。总体上讲,网络包括一个或多个服务器计算机系统,均可通信地耦合至很多客户端计算机系统。
随着网络计算机系统使用的增加,已经出现了对提供额外的带宽以便处理网络上电子流量的需求。例如,不充足的带宽可能导致客户端和服务器之间的供应线中的数据阻塞。这种阻塞会明显地限制网络性能。
通常使用网络接口卡(NIC)来把服务器或者任何计算设备连接至网络。这种NIC例如包括插进台式计算机或者服务器中的以太网卡或者令牌环网卡。所述NIC实现对附属于网络的计算机的物理层信令和介质访问控制(Media Access Control,MAC)。多个NIC可有效地把计算机附于网络上多次。这样做成比例地向网络增加了潜在的带宽。如果所述NIC之一发生故障,那么多个NIC还提供弹性和冗余性。在一个NIC发生故障的情况下,其它NIC中的一个用于处理先前由该故障NIC处理的流量,由此增加了整个系统的可靠性。因此,需要能够检测到NIC发生故障,并且当检测到发生故障的NIC时,能够切换至起作用的NIC(将此操作称为容错以及故障转移支持)。在主机操作系统中,NIC通常经由被称为“网络接口”的核心对象表示。此处,将直接由互联网协议(IP)使用的网络接口称为“IP接口”。此外,把直接对应于所述NIC的接口称为物理接口。正如此处所述的那样,把从物理接口导出的接口称为逻辑或虚拟接口。
负载平衡是一种用于减少由过载通信网络引起的数据瓶颈的技术。在负载平衡中,服务器和网络之间的流量经由多个NIC共享。这种负载平衡通常要求专用软件。负载平衡还提供容错功能,倘若在数据链路中发生中断,所述功能用于维持服务器和网络之间的数据通信。当链路发生故障时,把负载故障转移至备份或者辅助链路,如此使信号的连续性得以维持。
众所周知的技术是把多个物理链路组合在一起,由此使它们看上去是所述TCP/IP栈的互联网协议(IP)层的单个网络接口。然后,在IP层不知晓的情况下,在所述链路当中实现负载平衡和故障转移。这种技术的例子是Linux中的‘绑定’驱动程序、Etherchannel或者IEEE802.3ad链路合并标准。
然而,这些技术存在几个缺陷。例如,由于系统把多个物理链路认为是单个NIC,所以负载平衡是在IP层下实现的。换言之,大量NIC是作为IP协议的单个接口而存在的。因此,例如路由表之类的网络层信息无法用于数据流量的负载平衡。工作于所述网络层的一般工具也无法适用。这些缺点也存在于故障转移模式。
如上所述的链路合并技术还要求专门的交换机,所述交换机能够把多个交换机端口视为一个;在直接连接的对等系统的情况下,两个端点均必须被配置为支持所述标准。此外,所述交换机的故障令所有链路失去连接性。在只支持故障转移但不支持负载平衡的替代模式中,可以把链路与不同的交换机相连,然而在这种配置中,只有一个链路在给定时间内可以是有源的。
也可以在IP层提供负载平衡,其中所述负载在多个IP接口中被平衡。按照路由表条目来使数据负载平衡,所述路由表条目指向给定路由的特殊IP接口。当NIC发生故障时,必须实现用于故障转移的替代方法,并且必须花费时间来更新路由表。早先描述的链路级故障转移是在很短(毫秒)的间隔内进行的,而路由传播可能花费更长的时间。另外,需要把IP地址与备份接口相关联并且将故障转移MAC地址通知给对等方。因此,需要一种在所述IP层实现负载平衡、同时提供快速的故障转移的方法。
那么,可以看出的是,需要用于在处于网络IP层的接口之间提供相互的故障转移和负载平衡的方法、设备和程序存储设备。
发明内容
为了克服如上所述的限制,并且为了克服其它的限制,其中这些限制当阅读和理解本说明书时将更加明显,本发明公开了一种用于在网络中的接口之间提供相互的故障转移和负载平衡的方法、设备和程序存储设备。
本发明的实施例通过如下方法解决了上述问题,所述方法为:当所有计算机接口工作时,使有源和无源虚拟接口与合作的计算机接口结合以便共享带宽,并且倘若计算机接口之一发生故障,那么提供故障转移。本发明还提供了将在IP层确定的负载平衡策略,而不需要或者不使用专门的硬件或者能够实现对等系统中相同特征的对应物。所述IP层可以在多个接口中实现负载平衡,同时避免网卡发生故障。
一种依照本发明原理的系统包括至少第一和第二计算机接口,具有用于容纳多个MAC地址的一组公用的一个或多个标识符;第一有源和无源虚拟接口,可通信地耦合至所述第一计算机接口,以及第二有源和无源虚拟接口,可通信地耦合至所述第二计算机接口,其中所述第一有源虚拟接口与第二无源虚拟接口虚拟结合,并且所述第二有源虚拟接口与所述第一无源虚拟接口虚拟结合;以及至少一个接入控制器,耦合至所述虚拟接口,用于控制经由可通信地耦合的虚拟接口流向至少第一和第二计算机接口的数据流,当所述第一和第二计算机接口可利用时,经由所述第一和第二有源虚拟接口来引导数据流,否则,当所述第一或者第二计算机接口无法利用时,把数据流引导至可利用的第一或者第二接口的有源虚拟接口和无源虚拟接口。
在本发明的另一个实施例中,提供了一种程序存储设备,所述程序存储设备可由计算机读取,并且可包含可由计算机执行的一条或多条程序指令,以便执行用于支持处于第一和第二计算机接口的数据流的操作,由此提供相互的故障转移和负载共享。所述操作包括为第一和第二计算机接口的每一个提供有源虚拟接口和无源虚拟接口;把所述第一计算机接口的有源虚拟接口与所述第二接口的无源虚拟接口可通信地耦合;把所述第二计算机接口的有源虚拟接口与所述第一计算机接口的无源虚拟接口可通信地耦合;并且当所述第一和第二计算机接口可利用时,经由所述第一计算机接口的有源虚拟接口和第二计算机接口的有源虚拟接口的每个来引导数据流,否则当所述第一或者第二计算机接口之一无法利用时,把数据流引导至可利用的第一或者第二接口的有源虚拟接口和无源虚拟接口。
在本发明的另一个实施例中,提供了一种用于支持处于第一和第二计算机接口的数据流以便提供相互的故障转移和负载共享的方法。所述方法包括为第一和第二计算机接口的每一个提供有源虚拟接口和无源虚拟接口;把所述第一计算机接口的有源虚拟接口与所述第二接口的无源虚拟接口可通信地耦合;把所述第二计算机接口的有源虚拟接口与所述第一计算机接口的无源虚拟接口可通信地耦合;并且当所述第一和第二计算机接口可利用时,经由所述第一计算机接口的有源虚拟接口和第二计算机接口的有源虚拟接口的每个来引导数据流,否则当所述第一或者第二计算机接口之一无法利用时,把数据流引导至可利用的第一或者第二接口的有源虚拟接口和无源虚拟接口。
在本发明的另一个实施例中,提供了一种用于为相互的故障转移和负载共享提供网络连接的系统。所述系统包括用于为第一和第二计算机接口的每一个提供有源虚拟接口和无源虚拟接口的装置;用于把所述第一计算机接口的有源虚拟接口与所述第二接口的无源虚拟接口可通信地耦合的装置;用于把所述第二计算机接口的有源虚拟接口与所述第一计算机接口的无源虚拟接口可通信地耦合的装置;以及用于当所述第一和第二计算机接口可利用时、经由所述第一计算机接口的有源虚拟接口和第二计算机接口的有源虚拟接口的每个来引导数据流,否则把数据流引导至可利用的第一或者第二接口的有源虚拟接口和无源虚拟接口的设备。
依照所附权利要求书中的细节指出了作为本发明特性的这些以及各种其它的优势和特征,并且形成本申请的一部分。然而,为了更好地理解本发明、通过使用而获得的优势以及目的,应该参考作为本文一部分的附图并且参考伴随的描述,其中举例说明并且描述了依照本发明的设备的特定例子。
附图说明
现在参照附图,其中相似的附图标记始终表示对应部分:
图1举例说明了描述现有技术水平的系统网络分级结构;
图2a是依照本发明实施例的具有两个接口A和B以便提供故障转移和负载平衡的网络的图示;
图2b示出了故障转移模式中的图2a的网络;
图3说明了依照本发明实施例使用虚拟IP地址管理网络接口访问控制;
图4说明了依照本发明实施例的用于为相互的故障转移和负载共享提供网络连接的方法;并且
图5说明了依照本发明实施例的用于执行支持处于第一和第二计算机接口的数据流以便提供相互的故障转移和负载共享的操作的系统。
具体实施方式
在对实施例的随后描述中,对形成本发明一部分的附图作出参考,并且其中通过图示示出了可以实施本发明的特定实施例。应该理解的是,由于在不脱离本发明的范围的情况下可以做出结构上的改变,故而还可以利用其它实施例。
本发明提供了一种用于在网络中的接口之间提供相互的故障转移和负载平衡的方法、设备和程序存储设备。当所有计算机接口正在工作时,本发明使有源和无源虚拟接口与合作的计算机接口结合以便共享带宽,并且倘若计算机接口之一发生故障,那么提供故障转移。
可以使用单个物理接口来创建虚拟接口。可以把两个或更多虚拟接口结合以便形成单个接口,所述接口用于在所结合的虚拟接口中分布其分组或者使其分组负载平衡。在本发明的上下文中,术语‘结合(join)’或者‘组合(combination)’用于把两个虚拟接口逻辑上组合在一起,由此可以用作单个IP接口。此处,把这种通过组合一个或多个虚拟接口而形成的结合的虚拟接口称为组件(compoment)接口。通过适当的控制,组件接口可以经由其所源于其的物理接口来发送和接收其分组。
图1举例说明了描述现有技术的系统网络分级结构100。可以通过把设备设定为根据两个物理接口形成的组合来提供故障转移和负载平衡机制。图1的分级结构示出了IP接口C 100,该接口是由两个NIC a 140和b 130形成的。在操作系统的网络堆栈中,把这两个NIC表示为物理接口A 110。沿IP接口C 100发送的所有数据可以在两个接口B 120和A 110中得到负载平衡。介质独立接口(mediaindependent interface,MII)信号故障用于检测一个NIC不工作。此检测和故障转移是瞬时的(在几毫秒内测量)。
应该理解的是,组合可以包括多个组件接口,而不局限于如图1所示的两个组件接口B 120和A 110。此外,诸如组件接口B 120和A110之类的组件接口的组合可以被如此配置,以便只有组件接口之一、例如组件接口A 110一直是有源(active)的,而另一个组件接口、例如组件接口B 120充当无源(passive)备份。当在第一组件接口A 110上检测到故障时,例如组件接口B 120的备份接口可能成为有源的。依照此配置,接口b 130和a 140中的每一个均与独立的交换机相连。然而,这种配置浪费了无源备份的资源,这是因为其保持空闲。
本发明提出了一种用于在接口当中提供相互的备份由此防止任一资源空闲的方法。如上所述,通过在所述设备处使用MII检测可以提供快速的故障转移(例如,在几毫秒中)。正如将可看出的那样,本发明的实施例继续基于MII监控来平衡这种快速的故障转移,这是因为当检测到接口故障时,立即使起作用的物理接口上的无源组件接口成为有源的。
依照诸如中继、信道绑定或者IEEE的802.3ad标准之类的链路合并实现方式,多个链路看上去是单个IP接口,同时在所述链路中提供数据的负载平衡和故障转移。在链路合并配置中,多个网络链路看上去是具有单个逻辑网络接口的单个链路(所述单个逻辑网络接口看上去是IP接口),并且具有一个虚拟介质访问控制(MAC)地址。属于合并链路的接口之一的MAC地址提供逻辑链路的虚拟地址。在典型的链路合并配置中,基于诸如对源和目的地MAC地址等等进行循环路由、逻辑异或操作之类的基本算法,可以在所述物理链路中平衡所述数据。由于把不同交换机端口上的多个链路视作同一逻辑链路的一部分,所以需要专门的交换机,所述交换机能够把一组端口视作单个端口并且在这些端口中进行流量的负载平衡。
图2a是依照本发明实施例的具有两个接口A 215和B 230以便提供故障转移和负载平衡的网络200的图示。接口A 215和B 230均被划分为两个部分,例如,A 215被划分为Ax 205和Ay 210,而B 230被划分为Bx 220和By 225。接口A 215和B 230对应于图1中的组件接口A 110和B 120。IP接口E1 201和F1 202得以形成。E1 201是通过结合虚拟接口Ax 205和Bx 220而形成的。F1 202是通过结合虚拟接口Ay 210和By 225而形成的。每一组合E1 201和F1202支持有源组件和无源组件接口。由此,对于接口E1 201来说,Ax 205是有源组件而Bx 220是无源组件。对于接口F1 202来说,By 225是有源组件而Ay 210是无源组件。
如果物理接口A 215或者B 230之一变为不可利用的,那么所述组件接口可以把数据流经由与可操作的物理接口相关联的组件接口重引导至可操作的物理接口。因此,两个接口A 215和B 230可以保持有源,充当彼此的备份和/或在两个接口中共享数据分组。当两个接口都是有源的情况下,负载平衡可以在正常操作条件下操作。在组合接口E1 201上发送的数据将流过物理接口A 215上的Ax 205。
同样,在正常条件下,在组合接口F 1202上发送的数据将流过物理接口B 230上的By 225。每一接口均连接至公共OS1层2的目的地,诸如交换机240。把组合接口E1 201和F1 202用作IP接口。借助于网络层技术,诸如相等路径路由、基于策略的路由或其它负载平衡技术,可以在接口E1 201和F1 202中平衡所述网络负载,同时充分利用由接口A 215和B 230两者提供的物理带宽。如上所述,数据实际上流过所述组合的有源组件,然后最后通过物理接口。跨越所述接口的总吞吐量因此得以最大化,同时对接口故障提供相互的备份,同时提供负载平衡的网络级控制。
图2b举例说明了当物理接口之一B 230发生故障时图2a的网络200。当接口A 215或者接口B 230不可利用时,启动故障转移,并且可利用的接口将为A 215和B 230接口两者处理所述负载。如图2a中所示那样,有源接口A 215的有源组件Ax 205用于通过E1 201正常地接收数据分组。然而,有源接口A 215的无源组件Ay 210经由组合接口F1202接收最初意欲用于不可利用的接口B 230的数据分组,其中所述组合接口F1 202把数据分组重引导至Ay 210而不是By 225。此故障转移未被IP层检测到,由此IP层继续象以前一样工作。由此,可以在不破坏IP负载平衡的情况下来进行快速的故障转移。由于当物理接口A 215或者B 230发生故障时,所述IP接口E1 201和F1 202仍然未受影响,故而没有路由更新要求。所述IP层因此可用于利用相等路径、基于策略的路由或者利用各种网络级工具而在两个接口中进行负载平衡。
与通过发生故障的NIC接收到分组的路由器/对等方的通信必须得以继续。此处将描述例如当NIC发生故障时用于维持通信的三种方法。使用了用于同时支持多个MAC地址的网络接口卡(NIC)。把同一组MAC地址分配给最后形成组合的所有物理接口,所述组合例如是接口A 215和B 230。把每一MAC地址与用于IP接口E1 201或者F1 202处的各个IP地址相关联。基于源IP地址来选择输出分组的MAC地址。作为默认,只有一个组件在给定物理接口、即组件Ax 205上是有源的,而Ay 210在接口A 215上是无源的。通过所述组件接口,从所述IP接口正常地传输数据。因此,每一物理接口、例如接口A 215和B 230分配对应于有源组件的MAC地址作为其主MAC,并且通过适当的机制将其通告交换机240。当启动时,把物理接口配置为把目的地MAC地址不等于物理接口的主MAC地址的所有分组过滤掉。IP节点之间的正常通信确保所述交换机表依照与其端口相关联的MAC地址进行更新。
当故障转移时,把MAC地址传递至与接口A 215和B 230相连的交换机240的方法,是传输把源设置为故障NIC的主MAC并且把目的地MAC设置为有源NIC接口的主MAC的以太网帧。所传输的帧的有效负载符合以太网协议要求,但是数据全部是零。在此实施例中,所述交换机240将更新其表以便表明MAC在接收端口上的位置。帧的“Ethertype”值应该被设定为系统上不支持的值,或者被设定为由互联网分配编号机构(Internet Assigned Number Authority,IANA)请求的特殊值,从而如果所述分组被送回到NIC,则由驱动程序将其过滤掉。在本发明的此实施例中,当故障转移时,与IP地址相关联的MAC地址移到起作用的NIC,而不必通知故障转移的所有IP客户端/对等方。起作用的NIC被适当地配置为同样接收故障转移MAC地址上的分组。
局域网(LAN)中的分组被传输给接口的MAC地址。IP实现地址解析技术以便确定对应于对等方IP地址的MAC地址。通过地址解析协议或者邻域发现,对任何特殊IP地址的地址解析响应始终返回与和其绑定的IP接口的有源组件相关联的物理接口的主MAC,例如,IP接口E1 201返回A 215的主MAC地址。当接口发生故障时,起作用的物理接口A 215或者B 230的无源组件通过软件控制变为有源的。另外,如上所述的以太网帧在具有发生故障的物理接口的主MAC的物理接口上被传输。
当每一NIC的多个MAC得不到支持时,当NIC发生故障的时候,可以使用另一种方法来维持通信。在此方法中,可以传输无偿的ARP,以便通告所述IP地址现在与起作用的NIC的MAC地址相关联。
更进一步讲,当所述NIC不支持多个MAC入口时,当NIC发生故障的时候,可以使用第三种方法来维持通信。在同一网络的接收IP节点中,可以把独立的多播MAC值作为它们的MAC地址分配给物理NIC,这是因为所接收的以太网帧中的源MAC地址是否是多播地址的检验。当故障转移时,故障NIC的多播MAC地址可以被添加到有源接口上的多播列表中。由此,在该多播地址上接收到的所有分组将由所述NIC接收到。
图3说明了依照本发明实施例300使用虚拟IP地址360来管理网络接口访问控制。虚拟IP地址是不与物理IP接口相关联的地址,而是可以被逻辑映射至物理IP地址的逻辑地址。由于这种地址不受物理接口诸如被记录下的接口状态的影响,所以它将始终存在。这种IP地址可以被配置为处于看起来只可以通过虚拟组合接口B1 301和B2302到达的网络上。依照此设定,去往/来自所述系统的所有通信可以使用虚拟IP地址;但是所述数据自身可以在与B1 301和B2 302相关联的IP路由上进行负载平衡。此类控制在网络层进行,即层3,并且在不要求专门硬件的情况下来提供故障转移和负载平衡,由此提供比链路合并方案更好的控制。IP地址360经由两个IP地址IPa 350和IPb 355来提供IP路由(例如相等路径),其中所述IPa 350和IPb 355经由虚拟接口B1 301和B2 302以及虚拟接口Ax 305、Ay 310、Bx 320和By 325耦合至接口A 315和B 330,以便在两个物理接口A 315和B 330之间提供负载平衡。接口A 315和B 330可通信地耦合至网络设备340,其可以包括交换机或者其它IP节点。当接口变为无源时,使用MII监控来检测故障,并且组合IP接口中的无源组件成为有源的。所述故障检测产生无偿的ARP或者以太网帧,以便通知交换机来自同一IP地址的分组流经不同端口。然而,包括网络中其它路由器处的路由表条目的路由表条目不要求任何修改,这是因为没有IP接口受到影响。例如,如果接口A 315发生故障,那么无源的虚拟接口Bx 320变为有源的,并且使用无偿的ARP或者以太网帧来通知交换机340来自同一IP地址、即IPa 350的分组现在在与接口B 330相连的端口被接收。
本领域技术人员应该理解的是,本发明可以扩展为多个用于提供负载平衡和为彼此故障转移提供相互的备份的NIC。例如,每一NIC可以对N个组件接口起作用。每一IP接口是使用来自只具有有源组件之一的每一NIC的一个虚拟组件接口形成的。其它组件接口是无源的。当NIC发生故障时,具有来自该NIC的有源组件的IP接口将故障转移至与仍有源的NIC相关联的其它组件接口之一。本发明的实施例还可以扩展为包括备份组件接口池,只有当IP接口的有源组件接口发生故障时,其才与组合接口结合。
图4说明了依照本发明实施例的用于为相互的故障转移和负载共享提供网络连接的方法400。依照所述方法,在410,为第一和第二计算机接口的每一个提供有源虚拟接口和无源虚拟接口。在420,把所述第一计算机接口的有源虚拟接口和所述第二接口的无源虚拟接口可通信地耦合。在430,把所述第二计算机接口的有源虚拟接口和所述第一计算机接口的无源虚拟接口可通信地耦合。在440,就所述第一和第二计算机接口是否可利用做出确定。在445,当确定可利用时,那么在450,经由第一计算机接口的有源虚拟接口和第二计算机接口的有源虚拟接口的每个来引导数据流。否则,在455,当所述第一和第二计算机接口之一不可利用时,那么在460,把数据流引导至可利用的第一或者第二接口的有源虚拟接口和无源虚拟接口。
图5说明了根据本发明的系统500,其中根据图1-3举例说明的过程可以在计算机可读介质或者载体上具体实现,所述介质或载体例如是图5中所示的一个或多个固定的和/或可移除的数据存储设备568,或者是其它数据存储或者数据通信设备。表示在可移除的数据存储设备568上具体实现的过程的计算机程序590可以被载入存储器592或者控制器系统500中,例如处理器510中,以便配置图5的控制器系统500来执行。计算机程序590包括指令,当由图5的控制器500读取并且执行所述指令时,令控制器系统500执行实现本发明的步骤或者元件所必须的步骤。
已经为了举例说明和描述的目的呈现了本发明的示例性实施例的先前描述。这不意味着穷举或者把本发明限制为所公开的具体形式。根据上述教导能够进行许多修改和变化。本发明的范围不由这种详细说明来限制,而是由所附权利要求书来限定。

Claims (25)

1.一种用于为相互的故障转移和负载共享提供网络连接的设备,包括:
至少第一和第二计算机接口,具有用于容纳多个MAC地址的一组公共的一个或多个标识符;
第一有源和无源虚拟接口,可通信地耦合至所述第一计算机接口,以及第二有源和无源虚拟接口,可通信地耦合至所述第二计算机接口,其中所述第一有源虚拟接口与所述第二无源虚拟接口虚拟地结合,并且所述第二有源虚拟接口与所述第一无源虚拟接口虚拟地结合;以及
至少一个接入控制器,耦合至所述虚拟接口,用于控制经由所述可通信地耦合的虚拟接口流向所述至少第一和第二计算机接口的数据流,当所述第一和第二计算机接口可利用时,通过所述第一和第二有源虚拟接口来引导数据流,否则,当所述第一或者第二计算机接口之一不可利用时,将数据流引导至可利用的第一或者第二接口的有源虚拟接口和无源虚拟接口。
2.如权利要求1所述的设备,还包括交换机,耦合至所述至少第一和第二计算机接口,所述交换机被配置为处理针对相同源和目的地的以太网帧。
3.如权利要求1所述的设备,其中所述第一和第二计算机接口包括至少两个网络接口卡。
4.如权利要求3所述的设备,其中每一网络接口卡同时支持多个MAC地址。
5.如权利要求1所述的设备,其中计算机接口被配置为传输一个帧以便提供故障转移。
6.如权利要求5所述的设备,其中所述帧传送设定为发生故障的NIC的主MAC的源和设定为有源NIC接口的主MAC的目的地MAC。
7.如权利要求1所述的设备,其中所述第一有源虚拟接口和所述第二无源虚拟接口形成第一组件接口,并且所述第二有源虚拟接口和所述第一无源虚拟接口形成第二组件接口。
8.如权利要求1所述的设备,其中所述接入控制器通过发送无偿的地址解析协议(ARP)来确定至少第一和第二计算机接口的可利用性。
9.如权利要求1所述的设备,其中所述虚拟接口的至少一部分是从虚拟接口池中选择的。
10.如权利要求1所述的设备,其中所述接入控制器向至少第一和第二接口中的每一个分配虚拟互联网协议地址,并且使用互联网协议路由来路由所述数据流。
11.如权利要求1所述的设备,其中将独立的多播MAC值作为相应的MAC地址分配给所述第一和第二计算机物理接口,并且,当故障转移时,把发生故障的计算机接口的多播MAC地址添加到其余计算机接口上的多播列表中,以便确保具有发生故障的计算机接口的多播MAC地址的所有接收的分组由所述其余计算机接口接收。
12.一种用于为相互的故障转移和负载共享提供网络连接的方法,包括:
为第一和第二计算机接口中的每一个提供有源虚拟接口和无源虚拟接口;
将所述第一计算机接口的有源虚拟接口与所述第二接口的无源虚拟接口可通信地耦合;
将所述第二计算机接口的有源虚拟接口与所述第一计算机接口的无源虚拟接口可通信地耦合;并且
当所述第一和第二计算机接口可利用时,通过所述第一计算机接口的有源虚拟接口和第二计算机接口的有源虚拟接口中的每一个来引导数据流,否则当所述第一或者第二计算机接口之一不可利用时,把数据流引导至可利用的第一或者第二接口的有源虚拟接口和无源虚拟接口。
13.如权利要求12所述的方法,还包括发送无偿的ARP以便确定所述第一和第二接口之一的可利用性。
14.如权利要求12所述的方法,其中引导数据流的步骤包括使用所述第一和第二计算机接口的有源虚拟接口和无源虚拟接口来引导数据流。
15.如权利要求14所述的方法,其中所述虚拟接口的至少一部分是从虚拟接口池中选择的。
16.如权利要求12所述的方法,其中为第一和第二计算机接口中的每一个提供有源虚拟接口和无源虚拟接口的步骤还包括向所述第一和第二计算机接口提供至少两个网络接口卡。
17.如权利要求16所述的方法,其中向所述第一和第二计算机接口提供至少两个网络接口卡的步骤还包括同时提供对多个MAC地址的支持。
18.如权利要求12所述的方法,还包括配置计算机接口以便传输一个帧来提供故障转移。
19.如权利要求18所述的方法,其中配置计算机接口以便传输一个帧来提供故障转移的步骤还包括:使用所述帧来传递设定为发生故障的NIC的主MAC的源以及设定为有源NIC接口的主MAC的目的地MAC。
20.如权利要求12所述的方法,其中引导数据流的步骤包括:
把虚拟互联网协议地址分配给至少第一和第二接口中的每一个;并且
使用互联网协议路由来路由所述数据流。
21.如权利要求12所述的方法,其中为第一和第二计算机接口中的每一个提供有源虚拟接口和无源虚拟接口的步骤还包括:使用所述第一有源虚拟接口和第二无源虚拟接口来形成第一组件接口,并且使用所述第二有源虚拟接口和第一无源虚拟接口来形成第二组件接口。
22.如权利要求12所述的方法,其中引导数据流的步骤还包括:通过发送无偿的地址解析协议(ARP)来确定至少第一和第二计算机接口的可利用性。
23.如权利要求12所述的方法,其中引导数据流的步骤还包括:把独立的多播MAC值作为相应的MAC地址分配给所述第一和第二计算机物理接口,并且在故障转移时,把发生故障的计算机接口的多播MAC地址添加到其余计算机接口上的多播列表中,以便确保具有发生故障的计算机接口的多播MAC地址的所有接收的分组由其余计算机接口接收。
24.一种用于为相互的故障转移和负载共享提供网络连接的系统,包括:
用于为第一和第二计算机接口中的每一个提供有源虚拟接口和无源虚拟接口的装置;
用于把所述第一计算机接口的有源虚拟接口与所述第二接口的无源虚拟接口可通信地耦合的装置;
用于把所述第二计算机接口的有源虚拟接口与所述第一计算机接口的无源虚拟接口可通信地耦合的装置;以及
用于当所述第一和第二计算机接口可利用时,通过所述第一计算机接口的有源虚拟接口和第二计算机接口的有源虚拟接口中的每一个来引导数据流,否则把数据流引导至可利用的第一或者第二接口的有源虚拟接口和无源虚拟接口的装置。
25.一种包括用于执行如前面的方法权利要求中的任一项所述的方法的指令的程序存储设备。
CNB2006100024088A 2005-01-31 2006-01-27 用于提供网络连接的设备和方法 Expired - Fee Related CN100456694C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/047,999 US7505401B2 (en) 2005-01-31 2005-01-31 Method, apparatus and program storage device for providing mutual failover and load-balancing between interfaces in a network
US11/047,999 2005-01-31

Publications (2)

Publication Number Publication Date
CN1815979A true CN1815979A (zh) 2006-08-09
CN100456694C CN100456694C (zh) 2009-01-28

Family

ID=36756421

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100024088A Expired - Fee Related CN100456694C (zh) 2005-01-31 2006-01-27 用于提供网络连接的设备和方法

Country Status (2)

Country Link
US (2) US7505401B2 (zh)
CN (1) CN100456694C (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101999225A (zh) * 2008-03-13 2011-03-30 哈里公司 用于将来自故障服务器的客户端负载在存储区域网络(san)中的剩余服务器之间分配的系统和方法
CN107769956A (zh) * 2016-08-19 2018-03-06 三星电子株式会社 计算系统和冗余资源连接结构

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7769862B2 (en) * 2003-12-19 2010-08-03 Check Point Software Technologies Inc. Method and system for efficiently failing over interfaces in a network
US7710865B2 (en) * 2005-02-25 2010-05-04 Cisco Technology, Inc. Disaster recovery for active-standby data center using route health and BGP
US7769886B2 (en) * 2005-02-25 2010-08-03 Cisco Technology, Inc. Application based active-active data center network using route health injection and IGP
US8266272B2 (en) * 2005-11-07 2012-09-11 Hewlett-Packard Development Company, L.P. Methods for IT network representation and associated computer program products
WO2007066442A1 (ja) * 2005-12-05 2007-06-14 Nippon Telegraph And Telephone Corporation 故障救済方法およびパケット通信装置
US7545741B1 (en) 2005-12-15 2009-06-09 Nvidia Corporation Technique for identifying a failed network interface card within a team of network interface cards
US8134928B1 (en) * 2005-12-15 2012-03-13 Nvidia Corporation Technique for identifying a failed network interface card within a team of network interface cards
US7945164B2 (en) * 2006-05-25 2011-05-17 Cisco Technology, Inc. Multiple fiber optic gigabit ethernet links channelized over single optical link
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
US20080144634A1 (en) * 2006-12-15 2008-06-19 Nokia Corporation Selective passive address resolution learning
US8184631B2 (en) * 2007-01-22 2012-05-22 Oracle America, Inc. Method for specifying a MAC identifier for a network-interface-device
US7756012B2 (en) * 2007-05-18 2010-07-13 Nvidia Corporation Intelligent failover in a load-balanced network environment
US7995465B2 (en) * 2007-05-18 2011-08-09 Nvidia Corporation Intelligent load balancing and failover of network traffic
US8300647B2 (en) * 2007-05-18 2012-10-30 Nvidia Corporation Intelligent load balancing and failover of network traffic
US8432788B2 (en) * 2007-05-18 2013-04-30 Nvidia Corporation Intelligent failback in a load-balanced networking environment
US7760619B2 (en) * 2007-05-18 2010-07-20 Nvidia Corporation Intelligent failover in a load-balanced networking environment
US7792018B2 (en) * 2007-05-18 2010-09-07 Nvidia Corporation Intelligent load balancing and failover of network traffic
JP5176482B2 (ja) * 2007-10-26 2013-04-03 富士通株式会社 管理プログラム、管理方法、管理装置および通信システム
US7913106B2 (en) * 2007-12-18 2011-03-22 International Business Machines Corporation Failover in a host concurrently supporting multiple virtual IP addresses across multiple adapters
US8521879B1 (en) 2008-03-11 2013-08-27 United Services Automobile Assocation (USAA) Systems and methods for a load balanced interior gateway protocol intranet
US7949893B1 (en) * 2008-04-30 2011-05-24 Netapp, Inc. Virtual user interface failover
US9880954B2 (en) * 2008-12-01 2018-01-30 Micron Technology, Inc. Method and apparatus for providing data access
CN101610182B (zh) * 2009-06-26 2011-09-07 杭州华三通信技术有限公司 堆叠中多主用设备冲突检测方法及堆叠成员设备
US8745243B2 (en) * 2009-08-03 2014-06-03 Brocade Communications Systems, Inc. FCIP communications with load sharing and failover
US8780911B2 (en) * 2009-10-08 2014-07-15 Force10 Networks, Inc. Link aggregation based on port and protocol combination
US8499093B2 (en) * 2010-05-14 2013-07-30 Extreme Networks, Inc. Methods, systems, and computer readable media for stateless load balancing of network traffic flows
US8514743B2 (en) * 2010-06-17 2013-08-20 Cisco Technology, Inc. Maintaining balance of active links across network devices in a double-sided virtual port-channel environment
WO2012104862A1 (en) 2011-02-02 2012-08-09 Tata Consultancy Services Limited System and method for aggregating and estimating the bandwidth of multiple network interfaces
US9825815B2 (en) 2011-02-02 2017-11-21 Tata Consultancy Services Limited System and method for aggregating and estimating the bandwidth of multiple network interfaces
CN102118319B (zh) * 2011-04-06 2013-09-18 杭州华三通信技术有限公司 流量负载均衡方法和装置
US8650433B2 (en) * 2011-08-15 2014-02-11 International Business Machines Corporation Shared ethernet adapter (SEA) load sharing and SEA fail-over configuration as set by a user interface
JP6035726B2 (ja) * 2011-11-02 2016-11-30 富士通株式会社 接続制御装置、ストレージシステム及び接続制御装置の制御方法
US9614688B2 (en) 2011-11-15 2017-04-04 Canon Kabushiki Kaisha Providing image data to a client display device
ITCO20110065A1 (it) * 2011-12-15 2013-06-16 Nuovo Pignone Spa Metodo per controllare una pluralita' di macchine, sistema di controllo e impianto
US8711681B2 (en) * 2012-02-08 2014-04-29 Radisys Corporation Switch redundancy in systems with dual-star backplanes
US9019967B2 (en) 2012-07-30 2015-04-28 Dell Products L.P. VLAN advertisement and automated configuration
WO2014120136A1 (en) 2013-01-30 2014-08-07 Hewlett-Packard Development Company, L.P. Failover in response to failure of a port
US9575738B1 (en) * 2013-03-11 2017-02-21 EMC IP Holding Company LLC Method and system for deploying software to a cluster
US9298566B2 (en) * 2013-04-17 2016-03-29 Hewlett Packard Enterprise Development Lp Automatic cluster-based failover handling
CN104579945B (zh) * 2013-10-18 2019-07-02 中兴通讯股份有限公司 一种冗余保护方法及装置
CN106464601B (zh) * 2014-03-28 2020-05-19 维格尔传播公司 信道捆绑
US9712436B2 (en) 2014-07-03 2017-07-18 Red Hat Israel, Ltd. Adaptive load balancing for bridged systems
US10708158B2 (en) 2015-04-10 2020-07-07 Hewlett Packard Enterprise Development Lp Network address of a computing device
US11372787B2 (en) * 2017-12-09 2022-06-28 Intel Corporation Unified address space for multiple links
US11336508B2 (en) 2018-07-01 2022-05-17 Mellanox Technologies, Ltd. Transparent failover in a network interface controller
US11706298B2 (en) * 2021-01-21 2023-07-18 Cohesity, Inc. Multichannel virtual internet protocol address affinity
US11785077B2 (en) 2021-04-29 2023-10-10 Zoom Video Communications, Inc. Active-active standby for real-time telephony traffic
US11570246B1 (en) 2021-11-17 2023-01-31 Saudi Arabian Oil Company Layer 7 health check automated execution framework

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5946684A (en) * 1997-02-18 1999-08-31 Ameritech Corporation Method and system for providing computer-network related information about a calling party
US6314525B1 (en) * 1997-05-13 2001-11-06 3Com Corporation Means for allowing two or more network interface controller cards to appear as one card to an operating system
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
US6067545A (en) 1997-08-01 2000-05-23 Hewlett-Packard Company Resource rebalancing in networked computer systems
CA2217275C (en) * 1997-10-03 2005-08-16 Newbridge Networks Corporation Multiple internetworking realms within an internetworking device
US6078957A (en) * 1998-11-20 2000-06-20 Network Alchemy, Inc. Method and apparatus for a TCP/IP load balancing and failover process in an internet protocol (IP) network clustering system
US6714549B1 (en) * 1998-12-23 2004-03-30 Worldcom, Inc. High resiliency network infrastructure
US6560630B1 (en) * 1999-03-18 2003-05-06 3Com Corporation Receive load balancing and fail over with multiple network interface cards
US6490632B1 (en) * 1999-03-18 2002-12-03 3Com Corporation High performance load balancing and fail over support of internet protocol exchange traffic over multiple network interface cards
US6754699B2 (en) * 2000-07-19 2004-06-22 Speedera Networks, Inc. Content delivery and global traffic management network system
US20010056503A1 (en) * 2000-04-27 2001-12-27 Hibbard Richard J. Network interface device having primary and backup interfaces for automatic dial backup upon loss of a primary connection and method of using same
US6728780B1 (en) * 2000-06-02 2004-04-27 Sun Microsystems, Inc. High availability networking with warm standby interface failover
US6687245B2 (en) * 2001-04-03 2004-02-03 Voxpath Networks, Inc. System and method for performing IP telephony
US6944785B2 (en) * 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
US7043569B1 (en) * 2001-09-07 2006-05-09 Chou Norman C Method and system for configuring an interconnect device
US7296069B2 (en) * 2002-05-08 2007-11-13 Hewlett-Packard Development Company, L.P. Method and system for network fault monitoring with linux
FI20021287A0 (fi) * 2002-06-28 2002-06-28 Nokia Corp Kuormituksen jako tietoliikennejärjestelmässä
US7382790B2 (en) * 2002-07-02 2008-06-03 Emulex Design & Manufacturing Corporation Methods and apparatus for switching fibre channel arbitrated loop systems
US7287186B2 (en) * 2003-06-02 2007-10-23 Surgient Inc. Shared nothing virtual cluster
US20050022202A1 (en) * 2003-07-09 2005-01-27 Sun Microsystems, Inc. Request failover mechanism for a load balancing system
US9491084B2 (en) * 2004-06-17 2016-11-08 Hewlett Packard Enterprise Development Lp Monitoring path connectivity between teamed network resources of a computer system and a core network
US8730976B2 (en) * 2004-08-17 2014-05-20 Cisco Technology, Inc. System and method for preventing erroneous link aggregation due to component relocation
US7711820B2 (en) * 2004-11-08 2010-05-04 Cisco Technology, Inc. High availability for intelligent applications in storage networks

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101999225A (zh) * 2008-03-13 2011-03-30 哈里公司 用于将来自故障服务器的客户端负载在存储区域网络(san)中的剩余服务器之间分配的系统和方法
CN101999225B (zh) * 2008-03-13 2014-08-27 Hbc方案股份有限公司 用于将来自故障服务器的客户端负载在存储区域网络(san)中的剩余服务器之间分配的系统和方法
CN107769956A (zh) * 2016-08-19 2018-03-06 三星电子株式会社 计算系统和冗余资源连接结构
US11693747B2 (en) 2016-08-19 2023-07-04 Samsung Electronics Co., Ltd. Adaptive multipath fabric for balanced performance and high availability

Also Published As

Publication number Publication date
US7505401B2 (en) 2009-03-17
CN100456694C (zh) 2009-01-28
US7903543B2 (en) 2011-03-08
US20060171303A1 (en) 2006-08-03
US20090073875A1 (en) 2009-03-19

Similar Documents

Publication Publication Date Title
CN100456694C (zh) 用于提供网络连接的设备和方法
US11178001B2 (en) Multi-stage switch fabric fault detection and handling
US8842518B2 (en) System and method for supporting management network interface card port failover in a middleware machine environment
US7284067B2 (en) Method for integrated load balancing among peer servers
EP2430802B1 (en) Port grouping for association with virtual interfaces
US8619552B2 (en) Virtual router with a priority value per port
JP4898781B2 (ja) オペレーティング・システム・パーティションのためのネットワーク通信
KR100831639B1 (ko) 정보 처리 장치, 통신 부하 분산 방법 및 통신 부하 분산프로그램을 기록한 기록 매체
US7586842B2 (en) Failover of multicast traffic flows using NIC teaming
US20080107115A1 (en) Method, device and system for message transmission
CN102150399A (zh) 减少桥接网络中的泛洪
CN101682442A (zh) 用于第2层链路聚合的动态负载均衡
US8230115B2 (en) Cable redundancy with a networked system
US9384102B2 (en) Redundant, fault-tolerant management fabric for multipartition servers
JP5107339B2 (ja) アクティブ地理的冗長性のためのシステムおよび方法
US20220350767A1 (en) Flexible high-availability computing with parallel configurable fabrics
US8203964B2 (en) Asynchronous event notification
WO2012053061A1 (ja) スイッチ装置、情報処理装置、スイッチ装置の制御方法及びプログラム
JP5483029B2 (ja) クラスタシステムの結線作業の煩雑さを軽減するシステム及び方法
CN114531375A (zh) 报文转发方法、装置和计算机可读存储介质
JP2003234752A (ja) タグ変換を用いた負荷分散方法及びタグ変換装置、負荷分散制御装置
CN102045259B (zh) 分组交换设备以及管理用户业务的方法
JP2002044178A (ja) I/oチャネルの通信制御方式
CN113535359B (zh) 一种多租户云中服务请求调度方法和装置
WO2021029044A1 (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090128

Termination date: 20210127