CN103152282A - 用于高级负载均衡及故障排除功能性的单一逻辑网络接口 - Google Patents

用于高级负载均衡及故障排除功能性的单一逻辑网络接口 Download PDF

Info

Publication number
CN103152282A
CN103152282A CN2013100713659A CN201310071365A CN103152282A CN 103152282 A CN103152282 A CN 103152282A CN 2013100713659 A CN2013100713659 A CN 2013100713659A CN 201310071365 A CN201310071365 A CN 201310071365A CN 103152282 A CN103152282 A CN 103152282A
Authority
CN
China
Prior art keywords
software
nic
driver
coupled
operating system
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
CN2013100713659A
Other languages
English (en)
Inventor
阿舒托什·K·杰哈
阿亚兹·阿卜杜拉
赫马马利尼·马尼克瓦萨甘
阿南德·拉贾戈帕兰
保罗·J·西登布拉德
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.)
Nvidia Corp
Original Assignee
Nvidia 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 Nvidia Corp filed Critical Nvidia Corp
Publication of CN103152282A publication Critical patent/CN103152282A/zh
Pending legal-status Critical Current

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
    • 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

本发明陈述一种用于将一计算装置中的复数个NIC聚集为如所述计算装置的操作系统所见的单一逻辑NIC的方法。所述单一逻辑NIC与一网络资源管理程序的组合提供一可靠且持续的接口给操作系统及网络硬件,进而改进所述计算装置的可靠性及配置简单性。本发明也可通过支持802.1X及802.1Q网络标准来改进联网安全性。

Description

用于高级负载均衡及故障排除功能性的单一逻辑网络接口
技术领域
本发明的实施例大体涉及计算机联网领域,且更具体而言涉及一种具有高级负载平衡及故障排除功能性的单一逻辑网络接口。
背景技术
网络计算装置通常具有两个或两个以上网络接口卡,以增加计算装置的通信带宽而使其超过单一NIC能够提供的带宽。所述复数个NIC通常指“一组”NIC。通常,所述组共享一公共互联网协议(IP)地址,而同时维持组内对于每一NIC的唯一媒体访问控制(MAC)地址。使用此组配置的一个方面为:计算装置与网络中的其他计算装置之间的网络通信量可分布在组中的NIC之间,使得组的总处理量可最大化。此类操作被称为“负载平衡”。使用组配置的另一方面为:网络通信量可从组内的不起作用或不可靠的NIC迁移到组内的起作用或更可靠的NIC。此类操作被称为“故障排除”。在单一实施中的负载平衡与故障排除的组合通常被称为“LBFO”。
对于设立并使网络连接在NIC间迁移以优化计算装置的网络通信处理量及可靠性的LBFO实施,LBFO实施可监控NIC级的操作参数,诸如每一NIC上的误码率及经由每一网络连接交换的数据量。典型的LBFO实施将其LBFO软件定位于操作系统中且经由一个或一个以上装置驱动程序向NIC硬件请求NIC级操作参数。所得架构本质上低效,因为其使LBFO决策及管理功能性远离监控操作参数处若干软件级,因此需要软件级之间的大量正在进行的通信。此外,为减少软件级之间所需的通信及/或由于操作系统中的LBFO实施并非对LBFO完全优化,因此在现有技术LBFO实施中的LBFO决策元件可不利用NIC级可用的所有操作参数。因此,常驻于操作系统中的LBFO实施可由于软件级之间的过量软件通信及基于有限的NIC级操作信息的LBFO决策而实施性能较低。
此外,为使LBFO实施为可靠的且维持高性能,其配置应经受操作系统或某第三方(诸如用户或应用程序)的改变。典型的LBFO实施将组中的每一NIC暴露给操作系统,从而给予操作系统对NIC的较大程度的控制权,包括重新配置任何NIC的能力。在所述实施中,操作系统可能够改变与NIC组相关联的IP地址或改变特定NIC的安全设定或通信参数。此外,由于NIC暴露给操作系统,其也暴露给第三方,第三方将能够同样地重新配置NIC。举例而言,用户能够错误地禁用或重新配置一可靠的NIC或错误地启用一不可靠的NIC。总的来说,一组NIC经配置以优化一特定LBFO架构。一旦NIC已配置为组而单方面地重新配置NIC会严重破坏优化,进而降低计算装置的网络通信的性能及/或可靠性。
此外,对于在现代网络中最有用的LBFO实施而言,实施应考虑到网络中可能在使用的附加的安全特性。所述安全特性中的一种为电气与电子工程师协会(IEEE)安全凭证协议(下文称为“802.1X”),其通过在NIC可与交换器通信之前要求NIC向安全凭证服务器请求验证而改进网络安全性。另一安全特性为IEEE“虚拟LAN”协议(下文称为“802.1Q),其也可通过允许网络管理员配置一系列的IP地址作为虚拟LAN(VLAN)且选择性地分配机器到VLAN,进而启用VLAN中机器间的通信且防止VLAN内与VLAN外的机器之间的通信,而改进网络安全性。这些协议中的每一协议均对LBFO实施强加了附加限制。因此,现有LBFO实施的一个缺点为:其并不总在上述安全(802.1X及802.1Q)协议的限制内实施LBFO。
如上所述,此项技术中所需的是一种解决上述现有LBFO实施的缺点中的一个或一个以上缺点的LBFO架构。
发明内容
本发明的一实施例陈述一种用于配置一计算装置的方法,所述计算装置具有一操作系统及配置为一组以使用负载平衡及故障排除技术支持一个或一个以上网络连接的一第一网络接口卡(NIC)及一第二NIC。所述方法包括以下步骤:创建一与第一NIC相关联的第一功能驱动程序及一与第二NIC相关联的第二功能驱动程序;将第一功能驱动程序经由一第一软件绑定耦合到操作系统内的一软件堆栈;将第二功能驱动程序经由一第二软件绑定耦合到所述软件堆栈;创建一与所述NIC组相关联的虚拟功能驱动程序;及将所述虚拟功能驱动程序经由一第三软件绑定耦合到所述软件堆栈。
所揭示的方法的一个优点为:所得架构以新颖且有效的方式通过使用总线架构将单一逻辑NIC暴露给操作系统以创建及管理功能驱动程序、软件绑定及软件句柄。单一逻辑NIC及网络资源独立于操作系统而一起实施负载平衡、故障排除及故障后恢复,此改进计算装置的可靠性及联网处理量。单一逻辑NIC也支持802.1X及802.1Q网络标准,此可改进计算装置与计算机网络中的其他机器之间的通信安全性。
附图说明
为使本发明的上述特征之方式可被更详细地理解,上文概述的本发明的更详细描述将参考实施例,实施例中的一些实施例说明于附图中。然而应注意到,附图仅说明本发明的典型实施例且因此不应被认为限制其范围,因为本发明可包括其他同等有效的实施例。
图1说明根据本发明的一实施例的计算机网络,其包括一配置有单一逻辑NIC的计算装置;
图2说明根据本发明的一实施例的图1的计算装置,其中单一逻辑NIC经配置以支持802.1X;及
图3说明根据本发明的一实施例的图1的计算装置,其中NIC属于两个VLAN。
具体实施方式
图1说明根据本发明的一个实施例的计算机网络100,其包括配置有单一逻辑NIC112的计算装置102。如图所示,计算装置102也包括(但不限于):应用程序110、操作系统111、总线驱动程序115、网络资源管理程序(NRM)113及多NIC装置114,在所述多NIC装置114上设置NIC151、152及153。NIC151、152及153配置为组,其共享公共IP地址并且具有单独的MAC地址。重要的是:与三个相关NIC的集合相对而言,所述组是作为单一“虚拟”1NIC表现给操作系统111及应用程序110。单一逻辑NIC112组成此虚拟NIC。
除出于简洁目的已自图1中省略的其他软件组件以外,操作系统111包括:TCP/IP堆栈121、接口对象120(展示为“App/OS套接口接口对象”)及软件接口对象123(展示为“网络堆栈接口对象(NDIS)”)。TCP/IP堆栈121经由软件接口125耦合到接口对象120并且经由软件接口126耦合到接口对象123。
单一逻辑NIC112包括:虚拟功能驱动程序(VFD)130、功能驱动程序(FD)133、FD134及FD135。NRM113包括:NRM应用程序编程接口(API)140、NRM网络功能软件141及硬件抽象层(HAL)142。NRM网络功能软件141经由软件接口148耦合到HAL142并且经由软件接口149耦合到NRM API140。多NIC装置114包括外部硬件接口150(展示为“至芯片内部的接口”),所述NIC151、NIC152及NIC153分别经由硬件接口155、156及157耦合到所述外部硬件接口150。所述硬件接口150经由硬件/软件接口154耦合到NRM113的HAL142。
总线驱动程序115分别经由软件句柄(software handle)165、164、162、161及160耦合到NRM113、VFD130、FD133、FD134及FD135中的每一者。如在下文中更详细描述,对于各NIC而言,软件句柄145、146及147根据具体情况而定,在针对所述NIC的功能驱动程序与NRM113中代表所述NIC的软件对象之间建立通信信道。类似地,软件句柄143在VFD130与NRM113中代表NIC组的软件对象之间建立通信信道。VFD130经由软件绑定166耦合到TCP/IP堆栈121。
计算机网络100另外包括交换器104及远程机器106。交换器104经由网络接口105耦合到远程机器106并且分别经由网络接口107、108及109耦合到NIC151、152及153。
如在此处更详细地描述,本发明为操作系统111提供单一逻辑NIC112。此单一逻辑NIC112与NRM113一起独立于操作系统111实施负载平衡、故障排除及故障后恢复,其改进计算装置102的可靠性及联网处理量。单一逻辑NIC112也支持802.1X与802.1Q网络标准,其可改进计算装置102与网络100中的其他机器之间通信的安全性。此外,计算装置102中的相关装置驱动程序及硬件组件经配置以自动产生且持续维持单一逻辑NIC112。所得配置得以自动且持续维持以确保系统重新启动时配置稳定且可靠。
总线架构
通常,操作系统经由一个或一个以上直接控制其相应硬件装置的装置驱动程序与硬件装置通信。装置驱动程序也可经由一个或一个以上中间装置驱动程序与硬件装置通信以间接控制其相应硬件装置。此间接控制的一个实例为:装置驱动程序通过耦合到针对硬件总线的中间装置驱动程序来控制硬件总线上的硬件装置(例如数码相机装置驱动程序通过耦合到针对通用串行总线(USB)的装置驱动程序而控制USB上的数码相机)。USB装置驱动程序直接控制总线上的通信,并且数码相机装置驱动程序通过其与USB装置驱动程序的通信而经由总线间接控制与数码相机的通信。此种架构通常产生复杂的软件与硬件层次,其必须经适当管理以实现系统内的操作系统与硬件装置之间的理想互动。此种软件与硬件层次的技术复杂性促使开发不同软件架构以便以稳定、面向对象的方式管理软件-硬件通信。
一种软件架构称为“总线架构”,其提供类属软件对象以用于产生适用于间接控制硬件总线上的硬件装置的层次化装置驱动程序架构。所述总线架构通常提供用于控制硬件总线的“类属总线驱动程序”软件对象及用于间接控制硬件总线上的各装置的“类属功能驱动程序”软件对象。所述类属总线驱动程序及类属功能驱动程序通常补充有由硬件制造商提供的附加装置专用软件,其允许类属总线驱动程序或类属功能驱动程序分别与跟硬件总线或硬件总线上的装置相关联的装置专用硬件构件通信。此种补充软件创建“装置专用总线驱动程序”或“装置专用功能驱动程序”,在本文中简称为“总线驱动程序”或“功能驱动程序”。此外,总线驱动程序包括识别哪些硬件装置耦合到硬件总线、为那些硬件装置创建功能驱动程序并且将功能驱动程序经由软件接口耦合到总线驱动程序的软件。一旦经创建,那么各功能驱动程序或将其自身经由至硬件装置的软件句柄耦合到其相应硬件装置或将其自身经由至中间软件对象的软件句柄耦合到代表硬件装置的中间软件对象。功能驱动程序也将其自身经由操作系统中的软件接口对象(例如NDIS123)提供的至操作系统的软件绑定耦合到操作系统。由于功能驱动程序或配置有其管理其相关联的硬件装置所需的专用功能性,或能够从系统内的另一实体处访问所述功能性(例如,经由至操作系统的面向网络的呼叫),功能驱动程序能够充当间接耦合操作系统及其相应硬件装置的接口对象。
重要的是,操作系统对给定功能驱动程序的控制程度决定操作系统对对应于所述功能驱动程序的硬件装置的控制程度。由于总线驱动程序控制系统内不同功能驱动程序的创建且功能驱动程序创建其自身与操作系统之间的软件接口,因此总线架构可用于通过直接控制创建哪些功能驱动程序及通过间接控制所述功能驱动程序如何耦合到操作系统来控制操作系统与不同硬件装置之间的互动。此外,一旦经配置,那么总线架构通过将这一信息存储在注册表或外部数据文件中来持续维持总线驱动程序、功能驱动程序的配置及其耦合,以确保在计算装置重新启动时可靠地重新创建层次化驱动程序配置。用于将配置信息存储在注册表或存储在外部数据文件中的方法已为所属领域的技术人员所熟知。因此,总线架构提供用于创建并维持层次化、持续装置驱动程序的精密软件架构,且所述软件架构可用于控制操作系统与对应于装置驱动程序的硬件装置的互动。
本发明以新颖方式利用总线架构来将一NIC组作为单一逻辑NIC表现给操作系统。所述单一逻辑NIC包括针对所述组中的各NIC的功能驱动程序及称为虚拟功能驱动程序的附加功能驱动程序,以用于处理操作系统与NIC组之间的常规联网通信。通过将所有常规网络通信量及配置通信配置为在操作系统与虚拟功能驱动程序之间而不是在操作系统与个别功能驱动程序或NIC之间流动,操作系统被有效地防止重新配置个别NIC或NIC组并防止尝试在组内于个别NIC之间分布网络通信量。如在下文中更详细地描述,这一配置是通过由用户级程序(user-level process)选择性地去除功能驱动程序与操作系统之间的所有绑定且通过引入中间软件对象(NRM)来智能化地控制NIC的配置及通信来实现。
返回参看图1,NRM113使NIC151、152及153组的配置及管理以及负载平衡、故障排除和故障后恢复功能的智能供应能够改进计算装置102的联网处理量及可靠性。NRM113将代表NIC151、152及153组的句柄提供给虚拟功能驱动程序130,进而允许在VFD130与NRM113之间的常规网络通信量和配置通信。在NRM113中,网络通信量可分布在个别NIC151、152及153上。NRM113也可将关于NIC151、152及153组的状态信息(例如聚集通信处理量或聚集链接状态指示)经由VFD130传输给操作系统111。此外,如在下文中更详细地描述,NRM113可将句柄提供给个别NIC151、152及153以启用需要NCI级通信的先进联网特征,例如802.1X。因此,单一逻辑NIC112(其包括VFD130、FD133、FD134及FD135)连同NRM113一起在操作系统111与NIC151、152及153组之间创建一个虚拟接口,所述虚拟接口限制操作系统111与个别NIC151、152及153之间互动的能力。举例而言,在不同NIC151、152及153故障或返回操作的情况下,NRM113可重新配置网络通信量以实现特定NIC的去除或添加而不会使任何用户或操作系统察觉到重新配置。此外,这一结构允许NRM113智能化地配置NIC151、152及153且有效地管理其各自的网络连接以根据实际情况而定来优化负载平衡、故障排除或故障后恢复功能。
当设立图1中所示的架构时,总线驱动程序115创建FD133、FD134及FD135并且随后将其自身分别经由软件句柄162、161及160耦合到这些功能驱动程序中的每一驱动程序。最初,FD133、FD134及FD135中的每一者将其自身经由NDIS123提供的软件绑定耦合到TCP/IP堆栈121。此外,FD133将其自身经由NRM API140提供的句柄145耦合到NRM113中的代表NIC151的软件对象(未图示),进而在FD133与NIC151之间创建通信信道;FD134将其自身经由NRM API140提供的句柄146耦合到NRM113中的代表NIC152的软件对象(未图示),进而在FD134与NIC152之间创建通信信道;并且FD135将其自身经由NRM API140提供的句柄147耦合到NRM113中的代表NIC153的软件对象(未图示),进而在FD135与NIC153之间创建通信信道。如将在下文中更详细描述,这些通信信道中的每一信道可在操作系统111与个别NIC151、152及153而非NIC组直接通信时(例如当传达802.1X安全凭证请求时)的情况中使用。
此外,总线驱动程序115创建VFD130以为单一逻辑NIC112提供至操作系统111的接口。此外,VFD130将其自身经由NRM API140提供的句柄143耦合到NRM113中的代表NIC151、152及153组的软件对象(未图示)并且经由NDIS123提供的绑定166耦合到TCP/IP堆栈121,进而在TCP/IP堆栈121与NIC组之间创建通信信道。这一通信信道可在操作系统111与NIC组直接通信时(例如当操作系统111中的TCP/IP堆栈121管理并处理常规TCP/IP通信时)的情况中使用。
重要的是:在总线驱动程序115创建这些功能驱动程序之后,用户级程序去除TCP/IP堆栈121与所述FD133、FD134及FD135中的每一者之间的绑定。结果,如图所示,操作系统111与单一逻辑NIC112之间的唯一绑定为绑定166。因此,绑定166为操作系统111与单一逻辑NIC112之间的用于常规联网通信及用于配置及状态信息通信的单一软件接口。去除操作系统111与FD133、FD134及FD135之间的绑定确保防止操作系统111及第三方单方面重新配置NIC151、152及153。如前文所述,所得配置由并入总线架构软件中的下层存储机构持续存储。在重新启动时,从存储器中读取计算装置102的配置,并且重新创建总线驱动程序115、FD130、FD133、FD134及FD135以及绑定166及耦合162、161、160、143、145、146及147。
NRM113包含NRM网络功能软件141,其包括本地TCP/IP堆栈(未图示)且实施NIC优化功能和由NRM113实施的所有专用联网功能。因此,可由NRM113本地或常规地由操作系统111中的TCP/IP堆栈121管理并处理TCP/IP连接。然而,如所属领域的技术人员所认识到:将这一类型的功能性并入NRM113中将使得NRM113能够通过优化其配置并管理NIC151、152及153上的网络连接来比操作系统111通过常规装置驱动程序架构更好地改进多NIC装置114的通信处理量。例如,NRM113具有其可访问而操作系统111正常不可访问的信息,例如经由专用网络连接传输的通信量的量。这一类型的信息使得NRM113尤其在负载平衡及故障排除方面能够作出比操作系统111更多获悉的网络管理决策。此外,NRM113包括使多NIC装置114的硬件与NRM网络功能软件141分离的硬件抽象层142,进而使NRM网络功能软件141与随后对多NIC装置114的硬件改动无关。
如先前在本文中所述,NRM113也经配置为将关于单一逻辑NIC112的状态信息经由VFD130报告给操作系统111。举例而言,单一逻辑NIC112可将代表组内个别NIC151、152及153的聚集处理量的处理量报告给操作系统111。因此,如果NIC151、152及153中的每一者的个别处理量均为每秒100兆位(Mbps),那么报告给操作系统111的单一逻辑NIC112的处理量将为300Mbps。NRM113经配置以随着从组中添加或去除NIC而调整单一逻辑NIC112的聚集处理量。例如,如果将第四个同样具100Mbps处理量的NIC添加到所述组,那么报告给操作系统111的单一逻辑NIC112的处理量将为400Mbps。同样,如果NIC152出故障,那么单一逻辑NIC112的处理量将为200Mbps。此外,NRM113可将指示是否启用NIC151、152及153中的一个或一个以上NIC的聚集链接状态指示报告给操作系统111。例如,如果NIC151、152及153中的一个或一个以上为活动的,那么报告给操作系统111的聚集链接状态将指示单一逻辑NIC112为被“启用”的。然而,如果禁用了所有NIC,那么聚集链接状态报告将指示单一逻辑NIC112为被“禁用”的。将譬如聚集处理量及聚集链接状态的状态信息提供给操作系统111,允许操作系统111将关于单一逻辑NIC112的状态信息报告给用户或网络监控软件。
总而言之,所揭示的架构具有以下超过现有技术LBFO实施的优点:第一,LBFO功能是在NRM113处实施,其中监控NIC级操作参数,进而在实施负载平衡、故障排除及故障后恢复操作时,使软件级之间出现的通信量最小化;第二,NRM113可以访问网络通信量信息及操作系统111不必要可访问的其他NIC级操作参数,此允许NRM113作出更多获悉的负载平衡、故障排除及故障后恢复决策;第三,可为复杂LBFO管理及操作专门定制NRM网络功能软件141,进而相对于现有技术实施改进与LBFO相关的性能;最后,操作系统111与用户可见单一逻辑NIC112有效地限制操作系统111或用户重新配置个别NIC151、152及153或NIC组的能力。此外,所得配置是创建并持续维持的。
802.1X支持
802.1X中的NIC验证通常始于NIC向交换器请求802.1X凭证,交换器将802.1X请求转送给凭证服务器。如果802.1X请求被核准,那么凭证服务器将802.1X凭证传输给交换器,交换器将凭证转送给请求NIC。一旦NIC具有有效凭证,NIC就经验证与交换器通信,直到凭证过期或NIC与交换器之间的网络连接中断(例如,如果网络线缆断开或NIC被禁用)。NIC向802.1X兼容的交换器请求及接收凭证的联网协议已为所属领域的技术人员所熟知。
在本发明的一个实施例中,验证一特定NIC的802.1X安全凭证请求源自操作系统111中的802.1X软件且自802.1X软件经由NIC功能驱动程序传达到NRM113,所述NRM113将凭证请求经由NIC转送到交换器104。不同于将TCP/IP通信量传输到NRM113(通信量在此处分布于组中的不同NIC151、152及152之间)的自TCP/IP堆栈121到VFD130的常规TCP/IP通信,凭证请求经由验证的实际NIC传输。举例而言,如果NIC151经验证,那么802.1X软件将802.1X安全凭证请求传输到FD133,其随后将凭证请求经由句柄145传输到NIC151。一旦由NIC接收到,凭证请求就自NIC转送到交换器104。
图2说明图1的计算装置102,其配置有单一逻辑NIC112以使用802.1X验证个别NIC151、152及153。操作系统111包括802.1X软件程序222,其经由软件接口227耦合到NDIS123。802.1X软件程序222也分别经一系列软件绑定268、269及270耦合到FD133、FD134及FD135,所述软件绑定在功能驱动程序创建时由功能驱动程序自动向NDIS123请求。不同于由总线驱动程序115最初请求且由NDIS123为每一个别功能驱动程序提供且随后由用户级程序去除的TCP/IP绑定,802.1X绑定268、269及270为持续的,意思是其为整体系统架构的永久部分,且随计算装置102的重新启动而重新创建。然而,重要的是,对操作系统111的802.1X绑定也由总线驱动程序115请求且由NDIS123为VFD130提供,但此绑定由用户级程序去除,因为作为单一逻辑NIC112表现给操作系统111的NIC组不尝试组级802.1X验证。事实上,在构成NIC151、152及153级处实施802.1X验证。以此方式,图1的总线驱动程序架构可经调整而管理802.1X协议的特别绑定需要,进而使计算装置102能够支持组中每一NIC151、152及153的此重要安全协议。
802.1Q支持
在本发明的一个实施例中,计算装置102可具有一个或一个以上VLAN分配,其对组中NIC151、152及153中的每一者是公共的。每一所述VLAN分配代表为所述VLAN定义的IP地址范围内的计算装置102的一IP地址。此外,对于每一VLAN,存在单一逻辑NIC112与TCP/IP堆栈121之间的用于交换与VLAN相关联的TCP/IP通信的独立绑定。用于配置一系列的IP地址作为VLAN且分配机器给VLAN的程序已为所属领域的技术人员所熟知。重新配置计算装置102以支持第一VLAN分配需要总线驱动程序115添加VLAN属性331到现有VFD130且调节VFD130与TCP/IP堆栈121之间的绑定166以耦合VLAN属性331与TCP/IP堆栈121。每一附加VLAN分配需要总线驱动程序115添加另一虚拟功能驱动程序到单一逻辑NIC112且向NDIS123请求软件绑定,以将附加虚拟功能驱动程序耦合到TCP/IP堆栈121以用于交换与附加VLAN相关联的TCP/IP通信。附加虚拟功能驱动程序也以与VFD130耦合到NRM113类似的方式耦合到NRM113,以启用TCP/IP堆栈121与NIC151、152及153组之间的通信。此外,操作系统111中的802.1X软件程序222与最初在总线驱动程序115创建附加虚拟功能驱动程序时创建的附加虚拟功能驱动程序之间的绑定如同对于VFD130去除802.1X绑定而由用户级程序去除。在此配置中,计算装置102可与分配给跟包括于单一逻辑NIC112中的任何虚拟功能驱动程序相关联的任何VLAN的计算装置通信,且计算装置102被防止与未分配给所述VLAN的计算装置通信,因而支持802.1Q网络标准。
图3说明包括单一逻辑NIC112的计算装置102,其中NIC151、152及153被分配给两个不同的VLAN。如图所示,单一逻辑NIC112包括VFD130、VFD332、FD133、FD134及FD135。VFD130包括一经由软件绑定166耦合到TCP/IP堆栈121的VLAN属性331。VFD130分别经一对软件句柄164及143耦合到总线驱动程序115及NRM API140。VFD332经由软件绑定367耦合到TCP/IP堆栈121且另外分别经由软件句柄363及344耦合到总线驱动程序115及NRM API140。如图3说明,通过添加VLAN属性331到VFD130且通过调节绑定166以耦合VLAN属性331与TCP/IP堆栈121,提供对于计算装置102的第一VLAN分配。通过创建VFD332且经由如上文所述的软件句柄及绑定而将其耦合到TCP/IP堆栈121、NRM API140及总线驱动程序115,提供对于计算装置102的第二VLAN分配。重要的是,VLAN属性331及VFD332被耦合到TCP/IP堆栈121,而FD133、FD134及FD135被耦合到802.1X软件程序222。此配置限制与单一逻辑NIC112内的传达VLAN通信量的组件的TCP/IP通信,且限制经由个别NIC151、152及153与单一逻辑NIC112内的传达802.1X凭证请求的组件的802.1X通信。
尽管上述内容针对本发明的实施例,但可在不偏离本发明的基本范围的情况下设计本发明的其他和另外的实施例。举例而言,在各种实施例中,NIC组可包括任意数目的NIC。在计算装置102包括一个NIC的实施例中,对所述NIC存在一个功能驱动程序,且软件绑定将功能驱动程序耦合到TCP/IP堆栈212以处理NIC与操作系统111之间的常规网络通信。此外,如果适用,那么另一软件绑定将功能驱动程序耦合到802.1X软件程序222以用于使用802.1X验证NIC。为支持第一VLAN分配,将创建第一虚拟功能驱动程序,且将传送TCP/IP堆栈121与功能驱动程序之间的软件绑定,从而耦合第一虚拟功能驱动程序与TCP/IP堆栈121以使VLAN通信量能在NIC与TCP/IP堆栈121之间传达。对于每一附加VLAN分配,将连同一软件绑定创建另一虚拟功能驱动程序,所述软件绑定将附加虚拟功能驱动程序耦合到TCP/IP堆栈121以使与附加VLAN相关联的网络通信量在NIC与TCP/IP堆栈121之间传达。除以上所述之外,图1到图3中所示的软件组件及层次为例示性的且可不偏离本发明的范围而实施其他功能上等效的软件组件或其他层次。此外,计算装置102可为桌上型电脑、服务器、膝上型电脑、掌上电脑、个人数字助理、书写板电脑、游戏机、移动电话或任何其他类型的处理信息的类似装置。
因而,本发明的范围由上述权利要求书确定。

Claims (14)

1.一种用于配置一计算装置的方法,所述计算装置具有一操作系统、一网络资源管理程序(NRM)及多NIC装置,所述多NIC装置上设置有配置为一NIC组以使用负载平衡及故障排除技术支持一个或一个以上网络连接的一第一网络接口卡(NIC)及一第二NIC,所述方法包含:
经由一总线驱动程序创建一与所述第一NIC相关联的第一功能驱动程序及一与所述第二NIC相关联的第二功能驱动程序;
将所述第一功能驱动程序经由一第一软件绑定耦合到所述操作系统内的一软件堆栈;
将所述第二功能驱动程序经由一第二软件绑定耦合到所述软件堆栈;
经由所述总线驱动程序创建一与所述NIC组相关联的虚拟功能驱动程序;
将所述虚拟功能驱动程序经由一第三软件绑定耦合到所述软件堆栈;及
由一用户级程序去除所述第一功能驱动程序与所述软件堆栈之间的所述第一软件绑定及去除所述第二功能驱动程序与所述软件堆栈之间的所述第二软件绑定,将所述NIC组作为单一逻辑NIC表现给所述操作系统,使得所述第三软件绑定成为在所述操作系统和所述单一逻辑NIC之间的用于网络通信的单一软件接口;
其中,所述单一逻辑NIC和所述网络资源管理程序一起独立于所述操作系统实施负载平衡及故障排除。
2.根据权利要求1所述的方法,其中所述网络资源管理程序包括网络资源管理程序网络功能软件,所述网络资源管理程序网络功能软件包括本地传输控制协议/互联网协议(TCP/IP)堆栈且实施NIC优化功能和由所述网络资源管理程序实施的所有专用联网功能。
3.根据权利要求1所述的方法,其中,所述网络资源管理程序具有其可访问而所述操作系统正常不可访问的信息。
4.根据权利要求1所述的方法,其中,所述网络资源管理程序包括使所述多NIC装置的硬件与所述网络资源管理程序网络功能软件分离的硬件抽象层。
5.根据权利要求1所述的方法,其中,所述网络资源管理程序经配置为将关于所述单一逻辑NIC的状态信息和指示是否启用所述NIC组中的一个或一个以上NIC的聚集链接状态指示报告给所述操作系统。
6.根据权利要求1所述的方法,其中所述操作系统内的所述软件堆栈为一传输控制协议/互联网协议(TCP/IP)堆栈。
7.根据权利要求1所述的方法,其进一步包含以下步骤:将所述第一功能驱动程序、所述第二功能驱动程序及所述虚拟功能驱动程序中的每一者经由一软件句柄耦合到所述网络资源管理程序。
8.根据权利要求7所述的方法,其中一第一软件句柄将所述第一功能驱动程序耦合到所述网络资源管理程序内的代表所述第一NIC的一第一软件对象,以在所述第一功能驱动程序与所述第一NIC之间建立一通信信道,一第二软件句柄将所述第二功能驱动程序耦合到所述网络资源管理程序内的代表所述第二NIC的一第二软件对象,以在所述第二功能驱动程序与所述第二NIC之间建立一通信信道,且一第三软件句柄将所述虚拟功能驱动程序耦合到所述网络资源管理程序内的代表所述NIC组的一第三软件对象。
9.根据权利要求8所述的方法,其进一步包含以下步骤:持续存储所述虚拟功能驱动程序与所述软件堆栈之间的所述第三软件绑定及将所述第一功能驱动程序、所述第二功能驱动程序及所述虚拟功能驱动程序中的每一者耦合到所述网络资源管理程序的所述软件句柄。
10.根据权利要求9所述的方法,其进一步包含以下步骤:在所述计算装置重新启动时,重新创建所述虚拟功能驱动程序与所述软件堆栈之间的所述第三软件绑定及将所述第一功能驱动程序、所述第二功能驱动程序及所述虚拟功能驱动程序中的每一者耦合到所述网络资源管理程序的所述软件句柄。
11.根据权利要求1所述的方法,其进一步包含以下步骤:将所述第一功能驱动程序经由一第四软件绑定耦合到所述操作系统内的一网络安全软件程序,将所述第二功能驱动程序经由一第五绑定耦合到所述网络安全软件程序,及将所述虚拟功能驱动程序经由一第六绑定耦合到所述网络安全软件程序。
12.根据权利要求11所述的方法,其进一步包含以下步骤:去除所述虚拟功能驱动程序与所述网络安全软件程序之间的所述第六绑定。
13.根据权利要求12所述的方法,其中所述网络安全软件程序为一802.1X软件程序。
14.根据权利要求1所述的方法,其进一步包含以下步骤:
经由所述总线驱动程序添加VLAN属性到所述虚拟功能驱动程序且调节所述虚拟功能驱动程序与所述软件堆栈的绑定以耦合所述VLAN属性与所述软件堆栈;以及
经由所述总线驱动程序添加附加虚拟功能驱动程序到所述单一逻辑NIC且向网络堆栈接口对象请求软件绑定以将所述附加虚拟功能驱动程序耦合到所述软件堆栈。
CN2013100713659A 2005-12-15 2006-12-15 用于高级负载均衡及故障排除功能性的单一逻辑网络接口 Pending CN103152282A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/303,779 US8572288B2 (en) 2005-12-15 2005-12-15 Single logical network interface for advanced load balancing and fail-over functionality
US11/303,779 2005-12-15

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CNA2006101681782A Division CN101001177A (zh) 2005-12-15 2006-12-15 用于高级负载均衡及故障排除功能性的单一逻辑网络接口

Publications (1)

Publication Number Publication Date
CN103152282A true CN103152282A (zh) 2013-06-12

Family

ID=38264574

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2013100713659A Pending CN103152282A (zh) 2005-12-15 2006-12-15 用于高级负载均衡及故障排除功能性的单一逻辑网络接口
CNA2006101681782A Pending CN101001177A (zh) 2005-12-15 2006-12-15 用于高级负载均衡及故障排除功能性的单一逻辑网络接口

Family Applications After (1)

Application Number Title Priority Date Filing Date
CNA2006101681782A Pending CN101001177A (zh) 2005-12-15 2006-12-15 用于高级负载均衡及故障排除功能性的单一逻辑网络接口

Country Status (4)

Country Link
US (1) US8572288B2 (zh)
JP (1) JP4515441B2 (zh)
CN (2) CN103152282A (zh)
TW (1) TWI360781B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI288352B (en) * 2005-11-17 2007-10-11 Benq Corp Processing methods and systems for drivers
US7693044B2 (en) * 2005-12-15 2010-04-06 Nvidia Corporation Single logical network interface for advanced load balancing and fail-over functionality
US8572288B2 (en) 2005-12-15 2013-10-29 Nvidia Corporation Single logical network interface for advanced load balancing and fail-over functionality
DE102005061662A1 (de) * 2005-12-22 2007-06-28 Giesecke & Devrient Gmbh Verfahren zum Installieren einer Hilfseinheit
JP4965144B2 (ja) * 2006-03-20 2012-07-04 株式会社リコー 通信装置
JP4802159B2 (ja) * 2007-08-23 2011-10-26 株式会社エヌ・ティ・ティ・ドコモ ネットワーク装置
US8223649B2 (en) * 2008-03-25 2012-07-17 Intel Corporation Method and apparatus for sending a packet from a source node to a destination node in the same broadcast domain
US7921327B2 (en) * 2008-06-18 2011-04-05 Dell Products L.P. System and method for recovery from uncorrectable bus errors in a teamed NIC configuration
US9191281B2 (en) * 2008-11-05 2015-11-17 Telefonaktiebolaget L M Ericsson (Publ) Systems and methods for configuring a demarcation device
JP5272709B2 (ja) * 2008-12-19 2013-08-28 富士通株式会社 アドレス割当方法、コンピュータ、物理マシン、プログラム、及びシステム
US8265973B2 (en) 2010-03-11 2012-09-11 International Business Machines Corporation Analytic-based scaling of information technology resources
CN101909054B (zh) * 2010-07-15 2012-12-19 华中科技大学 虚拟化环境中多网络接口卡聚合的方法
US9838342B2 (en) * 2013-05-15 2017-12-05 Dell Products L.P. Network interface connection teaming system
US10511608B2 (en) * 2014-10-30 2019-12-17 Lenovo (Singapore) Pte. Ltd. Aggregate service with file sharing
CN105302611B (zh) * 2015-11-13 2019-10-25 中标软件有限公司 一种Linux下的启动计算机系统的方法及系统
US9921991B2 (en) 2015-11-24 2018-03-20 Nicira, Inc. Systems and methods for flipping NIC teaming configuration without interfering live traffic
JP2019009638A (ja) * 2017-06-26 2019-01-17 ルネサスエレクトロニクス株式会社 無線通信装置、システム及び方法
CN113157447B (zh) * 2021-04-13 2023-08-29 中南大学 一种基于智能网卡的rpc负载均衡方法
US20230350770A1 (en) * 2022-04-29 2023-11-02 Dell Products L.P. Recovery of smart network interface controller operating system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6105151A (en) * 1997-05-13 2000-08-15 3Com Corporation System for detecting network errors
US20040015966A1 (en) * 2002-07-16 2004-01-22 Macchiano Angelo Virtual machine operating system LAN
US6941377B1 (en) * 1999-12-31 2005-09-06 Intel Corporation Method and apparatus for secondary use of devices with encryption

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US6687758B2 (en) * 2001-03-07 2004-02-03 Alacritech, Inc. Port aggregation for network connections that are offloaded to network interface devices
US6229538B1 (en) * 1998-09-11 2001-05-08 Compaq Computer Corporation Port-centric graphic representations of network controllers
US6308282B1 (en) * 1998-11-10 2001-10-23 Honeywell International Inc. Apparatus and methods for providing fault tolerance of networks and network interface cards
JP2000244527A (ja) 1999-02-23 2000-09-08 Adtec:Kk 伝送方法、伝送装置およびlanシステム
JP2000244526A (ja) * 1999-02-23 2000-09-08 Hitachi Ltd 多重化したネットワーク接続装置システム
US6512774B1 (en) * 1999-03-18 2003-01-28 3Com Corporation Fail over with multiple network interface cards
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
US6567377B1 (en) * 1999-03-18 2003-05-20 3Com Corporation High performance load balancing of outbound internet protocol traffic over multiple network interface cards
US6560630B1 (en) * 1999-03-18 2003-05-06 3Com Corporation Receive load balancing and fail over with multiple network interface cards
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
US7082530B1 (en) * 1999-12-31 2006-07-25 Intel Corporation Method and apparatus for accelerating hardware encryption with multiple networking interfaces
US7089335B2 (en) * 2000-10-30 2006-08-08 Microsoft Corporation Bridging multiple network segments and exposing the multiple network segments as a single network to a higher level networking software on a bridging computing device
US6941405B2 (en) * 2001-08-21 2005-09-06 02Micro International Limited System and method capable of offloading converter/controller-specific tasks to a system microprocessor
US7463585B2 (en) * 2002-05-16 2008-12-09 Broadcom Corporation System, method, and apparatus for load-balancing to a plurality of ports
ATE528897T1 (de) 2003-09-10 2011-10-15 Microsoft Corp Mehrfachabladung von netzstatusobjekten mit unterstützung von failoverereignissen
US7752635B2 (en) * 2003-12-18 2010-07-06 Intel Corporation System and method for configuring a virtual network interface card
US7580415B2 (en) * 2005-04-27 2009-08-25 Hewlett-Packard Development Company, L.P. Aggregation of hybrid network resources operable to support both offloaded and non-offloaded connections
US7646708B2 (en) * 2005-08-01 2010-01-12 Hewlett-Packard Development Company, L.P. Network resource teaming combining receive load-balancing with redundant network connections
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
US20070110244A1 (en) * 2005-11-16 2007-05-17 Kapil Sood Method, apparatus and system for enabling a secure wireless platform
US8572288B2 (en) 2005-12-15 2013-10-29 Nvidia Corporation Single logical network interface for advanced load balancing and fail-over functionality

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6105151A (en) * 1997-05-13 2000-08-15 3Com Corporation System for detecting network errors
US6941377B1 (en) * 1999-12-31 2005-09-06 Intel Corporation Method and apparatus for secondary use of devices with encryption
US20040015966A1 (en) * 2002-07-16 2004-01-22 Macchiano Angelo Virtual machine operating system LAN

Also Published As

Publication number Publication date
TWI360781B (en) 2012-03-21
US20070168563A1 (en) 2007-07-19
JP2007193779A (ja) 2007-08-02
CN101001177A (zh) 2007-07-18
JP4515441B2 (ja) 2010-07-28
TW200745954A (en) 2007-12-16
US8572288B2 (en) 2013-10-29

Similar Documents

Publication Publication Date Title
CN103152282A (zh) 用于高级负载均衡及故障排除功能性的单一逻辑网络接口
US7693044B2 (en) Single logical network interface for advanced load balancing and fail-over functionality
EP2761611B1 (en) System and method for dynamic discovery and configuration of resource servers in a traffic director environment
US9143439B2 (en) System and method for cluster link aggregation control in a network environment
US9356835B2 (en) System to configure and manage routers through wireless communication
CN108282352A (zh) 管理网络切片实例的方法、装置和系统
EP1628437A1 (en) Broadband access method with great capacity and the system thereof
US9906412B2 (en) Collaboration method and system in distributed resilient network interconnect system
CN105763471A (zh) 虚拟机环境下链路管理方法、装置和系统
CN112491700A (zh) 网络路径调整方法、系统、装置、电子设备及存储介质
CN109039764A (zh) 一种分布式存储系统的网络参数配置方法
CN101796774A (zh) 在ip网络上自动检查ip链接的连接状态的方法和系统
CN102035703A (zh) 一种家庭无线网络及其实现方法
CN101820606A (zh) 认证授权计费服务器及其消息处理方法
CN104168200A (zh) 一种基于Open vSwitch实现ACL功能的方法及系统
CN102088455A (zh) Asn防攻击安全联动系统及其实现方法
Birman Technology challenges for virtual overlay networks
Cisco Bridging and IBM Networking Configuration Guide Cisco IOS Release 12.0
CN113055427B (zh) 一种基于业务的服务器集群接入方法及装置
WO2016069021A1 (en) Group zoning and access control over a network
Cisco Bridging and IBM Networking Configuration Guide Cisco IOS Release 11.3
Cisco Cisco IOS Bridging and IBM Networking Configuration Guide Release 12.1
US10820264B2 (en) User management device, BNG, and BNG user internet access method and system
EP3028430B1 (en) System allowing access to defined addresse after check with access-list
CN101170544A (zh) 一种高可用群集系统采用单一实ip地址的通讯方法

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: 20130612