CN102017544A - 卸载网络处理的方法和系统 - Google Patents

卸载网络处理的方法和系统 Download PDF

Info

Publication number
CN102017544A
CN102017544A CN2009801139220A CN200980113922A CN102017544A CN 102017544 A CN102017544 A CN 102017544A CN 2009801139220 A CN2009801139220 A CN 2009801139220A CN 200980113922 A CN200980113922 A CN 200980113922A CN 102017544 A CN102017544 A CN 102017544A
Authority
CN
China
Prior art keywords
grouping
computer
vnic
network
blade
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
CN2009801139220A
Other languages
English (en)
Other versions
CN102017544B (zh
Inventor
S·特里帕西
N·G·德鲁克斯
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.)
Oracle America Inc
Sun Microsystems Inc
Original Assignee
Oracle America Inc
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 Oracle America Inc filed Critical Oracle America Inc
Publication of CN102017544A publication Critical patent/CN102017544A/zh
Application granted granted Critical
Publication of CN102017544B publication Critical patent/CN102017544B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/76Routing in software-defined topologies, e.g. routing between virtual machines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • H04L41/0897Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities by horizontal or vertical scaling of resources, or by migrating entities, e.g. virtual resources or entities

Abstract

本发明涉及一种处理分组的方法。该方法包括由物理网络接口接收该分组,利用目的地地址和虚拟交换表VST确定目标虚拟网络接口卡VNIC,将该分组传送给与目标VNIC关联的接收环RR,其中该RR位于NEM上,由目标VNIC确定分组在RR中,由目标VNIC确定该分组将利用卸载引擎来处理,将分组转移给位于卸载计算机上的卸载存储器,其中该卸载计算机操作上经机箱互连与NEM连接,并且其中该卸载引擎运行于卸载计算机之上,用卸载引擎处理该分组从而获得处理后的分组,以及利用机箱互连将处理后的分组转移到目标计算机存储器。

Description

卸载网络处理的方法和系统
背景技术
按照惯例,在计算机相关领域中,网络是配置成相互通信的物理计算机系统的结构。在一些情况下,物理计算机系统包括虚拟机,虚拟机也可被配置成与网络互相作用(即,与网络中的其它物理计算机和/或虚拟机通信)。存在许多不同种类的网络,可根据网络的各个方面,比如规模、连接方法、网络中的计算机系统的功能关系、和/或网络拓扑对网络分类。
就连接方法而论,网络可被粗略分类成有线的(利用有形的连接介质,比如以太网电缆)或者无线的(利用无形的连接介质,比如无线电波)。也可在单个网络中组合不同的连接方法。例如,有线网络可被扩展成允许设备与网络无线连接。不过,诸如路由器、交换机和服务器之类的核心网组件一般是利用物理线路连接的。在受IEEE 802.3工作组管理的电气和电子工程师协会(IEEE)802.3标准中定义了以太网。
为了创建有线网络,必须使计算机系统相互物理连接。即,物理线路(例如,以太网电缆)的两端必须与构成该网络的计算机系统中的网络接口卡物理连接。为了重新配置网络(例如,替换服务器或者改变网络拓扑),必须使一条或多条物理线路从计算机系统断开,并连接到不同的计算机系统。
发明内容
一般而言,本发明涉及一种处理分组的方法。所述方法包括:用物理网络接口接收分组,其中所述分组包括目的地地址,利用目的地地址和虚拟交换表(VST)确定目标虚拟网络接口卡(VNIC),其中VST位于网络直通管理器(network express manager)(NEM)上,并且目标VNIC位于经机箱互连操作地与NEM连接的目标计算机上,把分组传送给与目标VNIC关联的接收环(RR),其中RR位于NEM上,目标VNIC确定分组在RR中,目标VNIC确定该分组将利用卸载引擎来处理,把分组转移给位于卸载计算机上的卸载存储器,其中卸载计算机经机箱互连操作地与NEM连接,其中卸载引擎运行于卸载计算机之上,用卸载引擎处理分组从而获得处理后的分组,并且利用机箱互连把处理后的分组转移到目标计算机存储器。
一般而言,在一个方面,本发明涉及一种发送分组的方法。所述方法包括把数据从应用发送到在源计算机上的网络栈,其中应用指定数据的目标目的地,网络栈确定数据将由卸载引擎处理,把数据从源计算机转移到位于运行卸载引擎的卸载计算机上的卸载存储器,其中源计算机和卸载计算机通过机箱互连相互通信耦接,卸载引擎处理数据从而获得处理后的数据,利用处理后的数据构建该分组,其中该分组指定目标目的地,把分组转移到与网络栈关联的传输环(TR),其中TR位于操作上与机箱互连连接的网络直通管理器(NEM)上,和利用与NEM通信耦接的物理接口,把分组发送给目标目的地。
一般而言,在一个方面,本发明涉及一种系统。所述系统包括包含存储器、虚拟网络接口(VNIC)、与VNIC关联的网络栈、和与网络栈关联的分组目的地的计算机,包含卸载引擎和卸载存储器的卸载计算机,配置成通信耦接所述计算机和所述卸载计算机的机箱互连,通信上与机箱互连耦接并且包含物理网络接口、虚拟交换表(VST)、和与VNIC关联的接收环(RR)的网络直通管理器(NEM)。NEM被配置成利用物理网络接口接收分组,其中所述分组包括目的地地址,利用VST和目的地地址把分组转移到RR。所述计算机被配置成:确定分组在RR中,确定所述分组将利用卸载引擎来处理,并且开始所述分组到卸载存储器的转移。NEM还被配置成:把分组从RR转移到卸载存储器。卸载引擎被配置成:处理分组从而获得处理后的分组,并且开始处理后的分组到所述计算机的转移。所述计算机还被配置成:从卸载引举接收处理后的分组。
根据下面的说明书和附加权利要求,本发明的其它方面将是显而易见的。
附图说明
图1表示按照本发明的一个或多个实施例的刀片机箱的示图。
图2表示按照本发明的一个或多个实施例的刀片的示图。
图3表示按照本发明的一个或多个实施例的网络直通(networkexpress)管理器的示图。
图4表示按照本发明的一个或多个实施例的虚拟机的示图。
图5表示按照本发明的一个或多个实施例的创建虚拟网络路径的方法的流程图。
图6A-6C表示按照本发明的一个或多个实施例的创建虚拟网络路径的例子。
图7表示按照本发明的一个或多个实施例的流程图。
图8表示按照本发明的一个或多个实施例的例子。
图9表示按照本发明的一个或多个实施例的流程图。
图10表示按照本发明的一个或多个实施例的例子。
具体实施方式
现在将参考附图,详细说明本发明的具体实施例。考虑到一致性,各个图中的相似元件用相似的附图标记表示。
在本发明的实施例的下述详细说明中,陈述了众多的具体细节,以便更透彻地理解本发明。不过,对本领域的普通技术人员来说,显然可在没有这些具体细节的情况下实践本发明。在其它情况下,未详细说明公知的特征,以避免不必要地使说明变复杂。
一般而言,本发明的实施例涉及在机箱中的刀片之间卸载网络处理的方法和系统。更具体地说,本发明的实施例涉及把网络处理卸载到在机箱中的刀片上运行的软件卸载引擎的方法和系统。
图1表示按照本发明的一个或多个实施例的刀片机箱(100)的示图。刀片机箱(100)包括通信上与机箱互连(106)耦接的多个刀片(例如,刀片A(102)、刀片B(104))。例如,刀片机箱(100)可以是SunMicrosystems公司的Sun Blade 6048机箱、IBM
Figure BPA00001248496500041
机箱、惠普公司的HP BladeSystem机壳,或者任何其它种类的刀片机箱。刀片可以是与刀片机箱(100)兼容的任意种类的刀片。
Figure BPA00001248496500042
是总部设于Armonk,New York的国际商用机器公司(IBM)的注册商标。
在本发明的一个或多个实施例中,刀片被配置成经由机箱互连(106)相互通信。从而,刀片机箱(100)允许刀片之间在不需要刀片之间的传统网线(比如以太网电缆)的情况下通信。例如,取决于刀片机箱(100)的种类,机箱互连(106)可以是外围组件快速互连(Peripheral ComponentInterface Express,PCI-E)底板,刀片可被配置成通过PCI-E端点相互通信。本领域的技术人员会认识到可以使用其它连接技术来连接刀片和刀片机箱。
继续图1的讨论,为了与在刀片机箱(100)之外的客户端通信,刀片被配置成共享物理网络接口(110)。该物理网络接口(110)包括一个或多个网络端口(例如,以太网端口),并提供刀片机箱(100)和刀片机箱(100)所连接的网络(即,在刀片机箱(100)外部的互连计算机系统)之间的接口。例如通过利用多个网络端口,刀片机箱(100)可与多个网络连接。
在一个或多个实施例中,物理网络接口(110)由网络直通管理器(108)管理。具体地说,网络直通管理器(108)被配置成管理刀片对物理网络接口(110)的访问。网络直通管理器(108)还可被配置成按照下面详细讨论的方式管理刀片它们自己之间的内部通信。网络直通管理器(108)可以是硬件、软件、和/或包括管理网络业务的可执行逻辑的固件的任意组合。
图2表示按照本发明的一个或多个实施例的刀片(200)的示图。“刀片”是一个本领域术语,指的是位于刀片机箱(例如,图1的刀片机箱(100))内的计算机系统。刀片一般包括比独立的计算机系统或者常规服务器少的组件。在本发明的一个实施例中,也可代替刀片或者与刀片结合地使用功能完整的独立计算机系统或常规服务器。一般而言,刀片机箱中的刀片均包括一个或多个处理器和关联存储器。刀片还可包括存储设备(例如,硬盘驱动器和/或光盘驱动器)和目前的计算机系统(未示出)特有的众多其它元件和功能,例如键盘、鼠标、和/或诸如监视器之类的输出装置。一个或多个上面提及的组件可被位于刀片机箱中的多个刀片共享。例如,多个刀片可以共用单个输出设备。
继续图2的讨论,刀片(200)包括配置成运行一个或多个虚拟机(例如,虚拟机C(202)、虚拟机D(204))的主机操作系统(未示出)。一般地说,虚拟机是借助抽象层继承主机操作系统的基础功能的不同操作环境。在本发明的一个或多个实施例中,每个虚拟机包括操作系统的独立实例(例如,操作系统实例C(206),操作系统实例D(208))。例如,
Figure BPA00001248496500051
虚拟化计划允许在主机操作系统中运行多个来宾操作系统。
Figure BPA00001248496500052
是Xen Project Advisory Board管理的商标。在本发明的一个实施例中,主机操作系统支持虚拟运行环境(未示出)。虚拟运行环境的一个例子是SolarisTM Container。在这种情况下,SolarisTM Container可在主机操作系统中运行,所述主机操作系统可以是SolarisTM操作系统。SolarisTM是Sun Mricrosystems公司的商标。在本发明的一个实施例中,主机操作系统可包括虚拟机和虚拟运行环境。
存在许多不同种类的虚拟机和虚拟运行环境。此外,虚拟机可包括许多不同种类的功能,比如交换机、路由器、防火墙、负载均衡器、应用服务器、任何其它种类的支持网络的服务,或者它们的任意组合。
在本发明的一个或多个实施例中,虚拟机和虚拟运行环境借助VNIC(例如,VNIC C(210),VNIC D(212))从主机操作系统继承网络连通性。对虚拟机和虚拟运行环境来说,VNIC表现为物理NIC。在本发明的一个或多个实施例中,VNIC的使用允许任意数目的虚拟机或虚拟运行环境共享刀片(200)的连网功能。此外,在本发明的一个或多个实施例中,每个虚拟机或虚拟运行环境可与任意数目的VNIC关联,从而增大虚拟机和/或虚拟运行环境可以采用的连网功能的种类方面的灵活性。例如,虚拟机可把一个VNIC用于输入的网络业务,把另一个VNIC用于输出的网络业务。在以Nicolas G.Droux,Erik Nordmark和SunayTripathi的名义的共同拥有的美国专利申请11/489942号,“MultipleVirtual Network Stack Instances using Virtual Network Interface Cards”中详细说明了按照本发明的一个或多个实施例的VNIC,该专利申请的内容在此整体引为参考。
另外在以Sunay Tripathi,Tim P.Marsland和Nicolas G.Droux的名义的共同拥有的美国专利申请11/480000号,“Method and System forControlling Virtual Machine Bandwidth”中也详细说明了按照本发明的一个或多个实施例的VNIC,该专利申请的内容在此整体引为参考。
如上所述,每个刀片的连网功能(扩展地,VNIC继承的连网功能)包括访问共享物理网络接口,和经由机箱互连与其它刀片通信。图3表示按照本发明的一个或多个实施例的网络直通管理器(300)的示图。网络直通管理器(300)被配置成路由往来于位于刀片中的VNIC的网络业务。具体地说,网络直通管理器(300)包括虚拟交换表(302),它包括机箱互连中VNIC标识符(304)到VNIC位置(306)的映射。在一个或多个实施例中,VNIC标识符(304)是网际协议(IP)地址,并且VNIC位置(306)是与刀片关联的PCI-E端点(例如,如果机箱互连是PCI-E底板的话)。或者,可以使用另一种交换方案。
在一个或多个实施例中,网络直通管理器(300)被配置成经由物理网络接口接收网络业务,并利用虚拟交换表(302),把网络业务路由给适当的位置(即,VNIC所位于的位置)。此外,网络直通管理器(300)可被配置成在位于刀片机箱中的不同VNIC之间路由网络业务。在本发明的一个或多个实施例中,按照这种方式使用虚拟交换表(302)有利于创建包括虚拟线路的虚拟网络路径。从而,通过利用虚拟交换表(302),位于不同刀片中的虚拟机可被互连,从而形成任意的虚拟网络拓扑,其中与每个虚拟机关联的VNIC不需要知道其它VNIC的物理位置。此外,如果把虚拟机从一个刀片迁移到另一个刀片,那么通过更新虚拟交换表(302)以反映对应的VNIC的新物理位置(例如,不同的PCI-E端点),可以保持虚拟网络拓扑。
在一些情况下,来自一个VNIC的网络业务可以以位于相同刀片中但是与不同的虚拟机关联的VNIC为目的地。在本发明的一个或多个实施例中,虚拟交换机可被用于与刀片机箱无关地在VNIC之间路由网络业务。在以Nicolas G.Droux,Sunay Tripathi和Erik Nordmark的名义的共同拥有的美国专利申请11/480261号,“Virtual Switch”中详细讨论了按照本发明的一个或多个实施例的虚拟交换机,该专利申请的内容在此整体引为参考。
例如,图4表示按照本发明的一个或多个实施例的虚拟交换机(400)的示图。虚拟交换机(400)提供与虚拟机X(402)关联的VNIC X(406)和与虚拟机Y(404)关联的VNIC Y(408)之间的连通性。在一个或多个实施例中,虚拟交换机(400)由主机操作系统(410)管理,虚拟机X(402)和虚拟机Y(404)位于所述主机操作系统(410)之内。具体地说,主机操作系统(410)可被配置成识别以相同刀片中的VNIC为目标的网络业务,并利用虚拟交换机(400)把该网络业务路由给该VNIC。在本发明的一个或多个实施例中,通过避免不必要的往返网络业务,虚拟交换机(400)可减少刀片机箱和网络直通管理器的使用。
图5表示按照本发明的一个或多个实施例的创建虚拟网络路径的方法的流程图。在本发明的一个或多个实施例中,可以省略、重复和/或按照不同的顺序执行图5中所示的一个或多个步骤。因此,本发明的实施例不应被视为局限于图5中所示步骤的具体安排。
在本发明的一个或多个实施例中,在步骤502,为多个虚拟机实例化VNIC。如上所述,虚拟机位于刀片中。此外,每个虚拟机可以与一个或多个VNIC关联。在本发明的一个或多个实施例中,实例化VNIC涉及把VNIC对象载入存储器中,并向主机操作系统(即托管与该VNIC关联的虚拟机的操作系统)登记该VNIC对象。登记该VNIC对象建立主机操作系统的连网功能和VNIC提供的抽象层之间的接口。之后,当主机操作系统收到以该VNIC为目的地的网络业务时,主机操作系统把网络业务转发给该VNIC。在上面引为参考的美国专利申请11/489942中详细讨论了按照本发明的一个或多个实施例的VNIC的实例化。
如上所述,单个刀片可包括配置成相互通信的多个虚拟机。在本发明的一个或多个实施例中,在步骤504,实例化虚拟交换机以促进虚拟机之间的通信。如上所述,虚拟交换机允许与机箱互连无关的VNIC之间的通信。在上面引为参考的美国专利申请11/480261中详细讨论了按照本发明的一个或多个实施例的虚拟交换机的实例化。
在本发明的一个或多个实施例中,在步骤506,填充虚拟交换表。如上所述,虚拟交换表可以位于配置成管理流向虚拟机和从虚拟机流出的网络业务的网络直通管理器中。填充虚拟交换表涉及使VNIC标识符(例如,网际协议和/或媒体存取控制(MAC)地址)与VNIC位置(例如,PCI-E端点)相联系。在本发明的一个或多个实施例中,响应经控制操作系统,即,包括控制网络直通管理器的功能的操作系统发出的用户命令,填充虚拟交换表。
在本发明的一个或多个实施例中,VNIC包括用于控制网络分组的处理的设置。在本发明的一个或多个实施例中,在步骤508,按照连网策略向VNIC分配设置。利用VNIC中的设置,可强制执行许多不同种类的连网策略。例如,设置可被用于把刀片的可用带宽的特定部分提供给一个或多个VNIC。作为另一个例子,设置可被用于限制把VNIC用于特定种类的网络业务,比如IP语音(VoIP)或传输控制协议/IP(TCP/IP)。此外,虚拟网络路径中的多个VNIC的设置可以是相同的。例如,虚拟网络路径中的VNIC可被给予相同的带宽限制,从而使得整个虚拟网络路径内的数据流一致。在本发明的一个或多个实施例中,网络直通管理器被配置成把希望的设置传送给VNIC。
在本发明的一个或多个实施例中,一旦实例化了VNIC并且填充了虚拟交换表,网络业务就可从一个刀片中的VNIC传送给另一个刀片中的VNIC。这两个VNIC之间的连接可被看作“虚拟线路”,因为这种安排避免了对诸如以太网电缆之类的传统网络线路的需要。即使网络业务可能经过相同的刀片(即,利用位于该刀片中的相同虚拟机或不同虚拟机),经过一条虚拟线路的网络业务也与经过另一条虚拟线路的网络业务被隔开,在这个意义上,虚拟线路的作用与物理线路类似。
此外,两条或者更多条虚拟线路的组合可被看作“虚拟网络路径”。具体地说,通过虚拟网络路径传送网络业务涉及通过第一虚拟线路交换网络业务(步骤510),随后通过第二虚拟线路交换网络业务(步骤512)。例如,当经由物理网络接口从客户端收到网络业务时,一条虚拟线路可位于物理网络接口和VNIC之间,另一条虚拟线路可位于该VNIC和另一个VNIC之间。
图6A-6C表示按照本发明的一个或多个实施例的创建虚拟网络路径的例子。具体地说,图6A表示按照本发明的一个或多个实施例的实际拓扑(600)的示图,图6B表示如何通过实际拓扑(600)路由网络业务,而图6C表示通过如图6B中所示交换网络业务而创建的虚拟网络拓扑(640)。图6A-6C只是作为例子提供的,不应被解释成限制本发明的范围。
首先参见图6A,实际拓扑(600)包括多个虚拟机。具体地说,实际拓扑(600)包括均在独立的虚拟机中运行的路由器(602)、防火墙(604)、应用服务器M(606)、和应用服务器N(608)。虚拟机位于通信上与机箱互连(622)耦接的刀片中,并且包括由刀片经由VNIC(即,VNIC H(610)、VNIC J(612)、VNIC K(614)、VNIC M(618)和VNIC N(620))提供的连网功能。为了便于举例说明,在图6A中未包括刀片本身。
在本发明的一个或多个实施例中,路由器(602)、防火墙(604)、应用服务器M(606)和应用服务器N(608)都位于独立的刀片中。另一方面,如上所述,刀片可包括多个虚拟机。例如,路由器(602)和防火墙(604)可位于一个刀片中。此外,每个虚拟机可以与数目和图6A中所示的VNIC的数目不同的VNIC关联。
继续图6A的讨论,网络直通管理器(624)被配置成管理流向虚拟机和从虚拟机流出的网络业务。此外,网络直通管理器(624)被配置成管理对用于与客户端O(628)和客户端P(630)通信的物理网络接口(626)的访问。在图6A中,虚拟机、VNIC、机箱互连(622)、网络直通管理器(624)和物理网络接口(626)都位于机箱互连之内。客户端O(628)和客户端P(630)位于机箱互连所连接的一个或多个网络(未示出)之中。
图6B表示按照本发明的一个或多个实施例,如何通过实际拓扑(600)路由网络业务。在本发明的一个或多个实施例中,网络直通管理器(624)通过利用虚拟交换表(634)完成交换。
如上所述,往来于VNIC所路由的网络业务可被看作流经“虚拟线路”。例如,图6B表示位于应用服务器M(606)和应用服务器N(608)之间的虚拟线路(632)。为了使用该虚拟线路,应用服务器M(606)经VNIC M(618)传送网络分组。该网络分组以与应用服务器N(608)相关联的VNIC N(620)为目的地。网络直通管理器(624)经机箱互连(622)收到该网络分组,检查该网络分组,并利用虚拟交换表(634)确定目标VNIC位置。如果在虚拟交换表(634)中未找到目标VNIC位置,那么该网络分组可被丢弃。在本例中,目标VNIC位置是VNIC N(620)所位于的刀片。网络直通管理器(624)把网络分组路由给目标VNIC位置,并且应用服务器N(608)经由VNIC N(620)接收该网络分组,从而完成虚拟线路(632)。在本发明的一个或多个实施例中,虚拟线路(632)也可被用于沿相反的方向,即,从应用服务器N(608)向应用服务器M(606)传送网络业务。
此外,如上所述,可以组合多个虚拟线路以形成“虚拟网络路径”。例如,图6B表示始于客户端O(628),经过路由器(602),经过防火墙(604),并止于应用服务器M(606)的虚拟网络路径R(636)。具体地说,虚拟网络路径R(636)包括下述虚拟线路。一条虚拟线路位于物理网络接口(626)和VNIC H(610)之间。另一条虚拟线路位于VNICJ(612)和VNIC K(614)之间。又一条虚拟线路位于VNIC L(616)和VNIC M(618)之间。如果路由器(602)和防火墙(604)位于相同的刀片中,那么虚拟交换机可代替位于VNIC J(612)和VNIC K(614)之间的虚拟线路,从而从路由器(602)和防火墙(604)之间的通信中消除机箱互连(622)的使用。
类似地,图6B表示始于客户端P(630),经过路由器(602),并止于应用服务器N(608)的虚拟网络路径S(638)。虚拟网络路径S(638)包括物理网络接口(626)和VNIC H(610)之间的虚拟线路,和VNICJ(612)和VNIC N(620)之间的虚拟线路。虚拟网络路径R(636)和虚拟网络路径S(638)之间的差异举例说明为什么多个虚拟网络路径可位于相同的刀片机箱中。
在本发明的一个或多个实施例中,对每个虚拟网络路径分别应用VNIC设置。例如,对虚拟网络路径R(636)和虚拟网络路径S(638)可以使用不同的带宽限制。从而,虚拟网络路径可被看作包括许多和传统网络路径(例如,利用以太网电缆)相同的特征,尽管在刀片机箱内没有使用传统的网络线路。不过,在刀片机箱外部,例如在物理网络接口(626)和客户端O(628)和/或客户端P(630)之间仍然需要传统的网络线路。
图6C表示因图6B中所示的虚拟网络路径R(636)、虚拟网络路径S(638)和虚拟线路(632)的使用而产生的虚拟网络拓扑(640)的示图。虚拟网络拓扑(640)允许网络的各个组件(即,路由器(602)、防火墙(604)、应用服务器M(606)、应用服务器N(608)、客户端O(628)和客户端P(630))按照和传统有线网络相似的方式互相作用。不过,如上所述,位于刀片机箱内的组件(即,路由器(602)、防火墙(604)、应用服务器M(606)和应用服务器N(608))之间的通信是在不使用传统网络线路的情况下完成的。
本发明的实施例允许利用虚拟线路创建虚拟网络路径,而不需要传统的网络线路。具体地说,通过使刀片中的虚拟机经由机箱互连耦接,并利用VNIC和虚拟交换表交换网络业务,避免了对虚拟机之间的传统网络线路的需要。从而,本发明的实施例有利于虚拟网络拓扑的创建和重新配置,而没有创建传统有线网络时通常涉及的体力劳动。
在本发明的一个实施例中,上面说明的系统可被用于卸载网络处理。更具体地说,来自一个刀片的网络处理可被卸载到机箱中的另一个刀片。在本发明的一个实施例中,网络处理对应于为满足连网协议而需要的任何处理。连网协议的例子包括(但不限于)传输控制协议(TCP)、网际协议(IP)、用户数据报协议(UDP)、网际协议(IP)、网际协议安全(IPSec)。网络处理的例子包括(但不限于)加密、解密、鉴别、IP碎片重建、大片段卸载处理,和数据完整性检查。
图7和8分别描述VNIC接收的入站网络业务(即,从在该VNIC所位于的刀片外部的来源接收的业务)的处理的流程图和例子。图9和10分别描述处理VNIC接收的出站网络业务(即,从在该VNIC所位于的刀片内部的来源接收的业务)的流程图和例子。
参见图7,图7表示按照本发明的一个或多个实施例的流程图。更具体地说,图7描述利用位于卸载刀片中的卸载引擎,卸载以目标刀片为目的地的分组的处理的方法。
在本发明的一个或多个实施例中,可以省略、重复和/或按不同的顺序执行图7中所示的一个或多个步骤。因此,本发明的实施例不应被视为局限于图7中所示步骤的具体排列。
在步骤702,分组被物理网络接口(图1中的110)接收。在步骤704,利用分组中的目的地地址(例如,IP地址)选择目标VNIC(即,分组以其为目的地的VNIC)。在本发明的实施例中,网络直通管理器(图1中的108)中的虚拟交换表(图3中的302)被用于确定与目的地地址关联的目标VNIC。在步骤706,分组被放入与目标VNIC对应的接收环中。在本发明的一个实施例中,接收环对应于网络直通管理器中的缓冲器(或者一组缓冲器)。在本发明的一个实施例中,网络直通管理器可包括多个接收环,每个接收环与不同的VNIC关联。
在步骤708,目标VNIC确定在接收环中存在分组。在本发明的一个实施例中,在分组被放入接收环中之后,向目标刀片(即,托管目标VNIC的刀片)发出中断。在这种情况下,目标VNIC收到该信号可使目标VNIC能够确定在接收环中存在分组。在本发明的另一个实施例中,目标VNIC(或者有关的处理)定期轮询网络直通管理器,以确定在接收环(即,与目标VNIC关联的接收环)中是否存在分组。如果在接收环中存在分组,那么网络直通管理器(响应所述轮询)向目标VNIC(或者有关的处理)发送响应,这反映分组在接收环中的存在。
在步骤710,目标VNIC(或者有关的处理)确定所述分组将由卸载引擎处理。在本发明的一个实施例中,目标VNIC(或者有关的处理)可基于每个分组进行这种确定。在这种情况下,目标VNIC(或者有关的处理)获得关于该分组的信息(例如,分组报头中的信息),以确定是否卸载该分组的网络处理。在本发明的一个实施例中,目标VNIC(在收到分组之前)被配置成把所有网络处理卸载到卸载引擎。在这种情况下,一旦目标VNIC在步骤708中确定在接收环中存在分组,目标VNIC就能够直接进入到步骤S712。
在步骤712,依据步骤708或710中的确定,目标VNIC(利用任何已知的机制)用信号通知在卸载刀片上运行的卸载引擎:存在于接收环中的分组将由该卸载引擎处理。在本发明的一个实施例中,目标VNIC利用位于目标刀片上的卸载接口与该卸载引擎通信。在本发明的一个实施例中,卸载接口位于目标刀片的媒体访问控制(MAC)层中。
在步骤714,分组从接收环被转移到卸载存储器(即,卸载刀片中的存储器)。在本发明的一个实施例中,利用机箱互连(图1中的106)转移分组。在本发明的一个实施例中,网络直通管理器包括直接存储器存取(DMA)引擎,其中DMA引擎被配置成把分组从接收环转移到卸载刀片存储器。
在步骤716,分组由卸载引擎处理。在本发明的一个实施例中,卸载引擎(在步骤714之前)包括处理分组所必需的信息(例如,解密密钥)。或者,如果卸载引擎不包括所述必需的信息,那么卸载引擎向目标刀片请求该信息。在步骤718,处理后的分组通过机箱互连,从卸载存储器被转移到目标刀片存储器。一旦目标刀片收到处理后的分组,目标刀片就可采取必要的动作,以把分组提供给目标刀片内的适当目的地。在本发明的一个实施例中,可利用在共同拥有的美国专利申请,“Method andSystem for Media-Based Data Transfer”(美国申请序列号TBD(代理人卷号03227/074001;SUN080186))中描述的方法,把处理后的分组转移到目标刀片,该专利申请在此引为参考。
在本发明的一个实施例中,机箱可包括一个或多个卸载刀片(即,具有配置成执行网络处理的软件的刀片)。在这种情况下,在图7中描述的方法可被扩展,以包括处理分组的适当卸载引擎的选择。卸载引擎的选择可基于(但不限于)一个或多个下述因素:(i)卸载引擎的可用性,(ii)执行卸载的必需信息的存在(例如,在卸载引擎中是否存在必需的加密密钥),和(iii)卸载引擎所运行于的硬件平台(例如,处理器的数目,存储器的大小,等等)。
图8表示按照本发明的一个或多个实施例的例子。图8中的例子并不意图限制本发明的范围。参见该例子,首先,分组(P1)被物理网络接口(800)接收。分组(P1)被发送给网络直通管理器(802),网络直通管理器(802)使用虚拟路由表(804)和分组中的目的地地址(本例中,目的地地址对应于与VNIC(816)关联的IP地址),把分组放入对应的接收环(808)中。VNIC(816)还与传输环(806)关联,传输环(806)被用于把来自VNIC(16)的出站网络业务发送给物理网络接口(800)。
继续该例子,一旦分组被放入接收环(816)中,就向VNIC(816)发出中断(S1)。已被预先配置成卸载所有网络处理的VNIC(816)随后向卸载接口(822)发送信号(S2),指示接收环包括要求网络处理的分组。卸载接口(822)再向运行于卸载刀片(814)上的卸载引擎(828)发送信号(S3)。
卸载引擎(828)(或者有关的处理)把分组从接收环(808)转移到卸载刀片存储器(826)。卸载引擎(828)随后处理分组,从而生成处理后的分组。卸载引擎(828)经由卸载接口(822)通知目标刀片(812)分组已被处理(S4)。目标刀片(824)随后把处理后的分组从卸载刀片存储器(826)转移到目标刀片存储器(824)。此时,目标刀片(812)中的各个组件(例如,VNIC(816)、网络栈(818))执行对处理后的分组到达分组目的地(820)所必需的步骤。在本发明的一个实施例中,分组目的地(820)对应于在目标刀片中运行的虚拟运行环境、在目标刀片中运行的虚拟机、和在目标刀片中运行的应用程序之一。
本领域的技术人员会认识到尽管未明确示出,不过,网络直通管理器(及在其上运行的组件)和目标刀片(及在其上运行的组件)之间的所有通信都是通过机箱互连(810)传送的。此外,尽管未明确示出,不过,网络直通管理器(及在其上运行的组件)和卸载刀片(及在其上运行的组件)之间的所有通信都是通过机箱互连(810)传送的。最后,尽管未明确示出,不过,卸载刀片(及在其上运行的组件)和目标刀片(及在其上运行的组件)之间的所有通信都是通过机箱互连(810)传送的。
本领域的技术人员还会认识到可利用能够传送上面关于信号S1-S4说明的信息的任何已知通信机制传送信号S1-S4。
图9表示按照本发明的一个或多个实施例的流程图。更具体地说,图9描述利用位于卸载刀片中的卸载引擎,卸载从源刀片发送的数据的网络处理的方法。
在本发明的一个或多个实施例中,图9中所示的一个或多个步骤可被省略、重复和/或按不同的顺序执行。因此,本发明的实施例不应被视为局限于图9中所示步骤的具体安排。
在步骤902,从分组源向对应的网络栈发送数据。在本发明的一个实施例中,分组源对应于在目标刀片中运行的虚拟运行环境、在目标刀片中运行的虚拟机、和在目标刀片中运行的应用程序之一。在步骤904,网络栈(或者有关的处理)确定该数据将由卸载引擎处理。换句话说,卸载引擎将被用于处理该数据以生成分组,所述分组可通过网络被发送给由分组源指定的目的地。在本发明的一个实施例中,例如可每个分组地根据数据的预定目的地进行步骤902中的确定。或者,网络栈可被预先配置成卸载从分组源接收的所有数据。
在步骤906,一旦做出了步骤904的确定,就利用卸载接口把数据转移到卸载引擎。在本发明的一个实施例中,转移数据包括:(i)把数据发送给与网络栈关联的VNIC,(ii)经由卸载接口用信号通知卸载引擎,VNIC包括要发送给卸载引擎的数据,(iii)卸载引擎(或者有关的处理)把数据转移到卸载刀片存储器。
在步骤908,卸载引擎处理数据以获得处理后的数据。在步骤910,处理后的数据被用于生成分组。在步骤912,分组被转移到与源刀片中的VNIC关联的网络直通管理器中的传输环,其中所述VNIC与所述网络栈关联。在步骤914,分组随后被发送给它们的目的地。
本领域的技术人员会认识到代替在源刀片内的各个组件之间转移数据,数据可保留在源刀片存储器中,并在源刀片中的各个组件之间转移数据的指针(以及其它有关信息)。
图10表示按照本发明的一个或多个实施例的例子。图10中的例子并不意图限制本发明的范围。参见该例子,要发送的数据最初被保存在源刀片存储器(1024)中。通过向网络栈(1018)发送信号(S1),分组源(1020)开始对在物理网络接口(1000)外部的目的地发送数据。网络栈(1018)包括执行网络处理的功能;不过在本例中,网络栈(1018)确定网络处理将被卸载。因此,网络栈(1018)向VNIC(1016)发送适当的信号(S2)(例如,信号(S2)可包括指示该数据将因网络处理而被卸载的标记)。VNIC(1016)再向卸载接口(1022)发送信号(S3),信号(S3)随后被传送给在卸载刀片(1014)上的卸载引擎(1028)。
当从卸载接口(1022)收到信号(S4)时,卸载引擎(1028)开始从源刀片存储器(1024)到卸载刀片存储器(1026)的数据(D1)的转移。卸载引擎(1028)随后处理该数据,从而获得处理后的数据(D2),处理后的数据(D2)被用于构建分组(P1)。所述分组随后被转移(P2)给与VNIC(1016)关联的传输环(1006),所述传输环位于网络直通管理器(1002)之上。VNIC(1016)还与接收环(1008)关联。随后部分利用虚拟路由表(1004),把分组向着它们的目的地传送。
本领域的技术人员会认识到,尽管未明确示出,不过,网络直通管理器(及运行于其上的组件)和源刀片(1012)(及运行于其上的组件)之间的所有通信都是通过机箱互连(1010)传递的。此外,尽管未明确示出,不过,网络直通管理器(及运行于其上的组件)和卸载刀片(1014)(及运行于其上的组件)之间的所有通信都是通过机箱互连(1010)传递的。最后,尽管未明确示出,不过,卸载刀片(及运行于其上的组件)和源刀片(及运行于其上的组件)之间的所有通信都是通过机箱互连(1010)传递的。
本领域的技术人员还会认识到,可利用能够传递上面关于信号S1-S4说明的信息的任何已知通信机制来传递信号S1-S4。此外,本领域的技术人员会认识到与包括数据本身相反,信号S1-S4可以包括数据(即,要被转换成分组的数据)的指针(以及其它有关联的信息)。
本领域的技术人员会认识到尽管利用刀片说明了本发明,不过可以扩展本发明,供非刀片的其它计算机系统使用。具体地讲,本发明可被扩展到至少包括存储器,处理器,和与机箱总线物理连接并通过机箱总线通信的机构的任何计算机。这种计算机的例子包括(但不限于)多处理器服务器、网络设备和轻量计算设备(例如,只包括存储器、处理器、与机箱总线物理连接并通过机箱总线通信的机构的计算机),和使上述组件能够互相作用的必需硬件。
此外,本领域的技术人员会认识到如果一个或多个非刀片的计算机被用于实现本发明,那么可代替刀片机箱使用适当的机箱。
此外,本领域的技术人员会认识到,尽管关于卸载计算机或卸载刀片说明了本发明,不过,可利用能够与机箱互连连接,并且包括上面讨论的卸载刀片的功能的任何硬件执行卸载处理。
实现本发明的实施例的软件指令可保存在计算机可读介质,比如光盘(CD)、磁盘、磁带、文件或者任何其它计算机可读存储设备上。
尽管关于数目有限的实施例说明了本发明,不过在受益于本公开内容的情况下,本领域的技术人员会认识到可以设计出不脱离这里公开的本发明的范围的其它实施例。因此,本发明的范围只由附加的权利要求限定。

Claims (20)

1.一种处理分组的方法,包括:
用物理网络接口接收分组,其中所述分组包括目的地地址;
利用目的地地址和虚拟交换表VST,确定目标虚拟网络接口卡VNIC,其中所述VST位于网络直通管理器NEM上,且所述目标VNIC位于经机箱互连操作地与NEM连接的目标计算机上;
把所述分组传送给与所述目标VNIC关联的接收环RR,其中所述RR位于NEM上;
由所述目标VNIC确定所述分组在RR中;
由所述目标VNIC确定将利用卸载引擎来处理所述分组;
把所述分组转移给位于卸载计算机上的卸载存储器,其中所述卸载计算机经机箱互连操作地连接到所述NEM,其中所述卸载引擎运行于所述卸载计算机之上;
用所述卸载引擎处理所述分组,从而获得处理后的分组;和
利用所述机箱互连把处理后的分组转移到目标计算机存储器。
2.按照权利要求1所述的方法,其中处理所述分组包括从解密至少一部分的所述分组和鉴别所述分组二者中选择的至少一个。
3.按照权利要求1所述的方法,其中处理所述分组包括按照传输控制协议TCP处理所述分组。
4.按照权利要求1所述的方法,其中确定所述分组在所述RR中包括由所述目标计算机从所述NEM接收中断。
5.按照权利要求1所述的方法,其中确定所述分组在所述RR中包括由所述目标计算机轮询所述RR以确定所述分组是否存在于所述RR中。
6.按照权利要求1所述的方法,其中所述目标计算机和所述卸载计算机是刀片。
7.按照权利要求1所述的方法,其中所述机箱互连包括外围组件快速互连PCI-E底板,其中虚拟交换表包括VNIC到PCI-E底板上的PCI-E端点的映射。
8.一种发送分组的方法,包括:
将数据从应用发送到在源计算机上的网络栈,其中所述应用指定数据的目标目的地;
由所述网络栈确定所述数据将由卸载引擎处理;
将所述数据从所述源计算机转移到位于运行所述卸载引擎的卸载计算机上的卸载存储器,其中所述源计算机和所述卸载计算机通过机箱互连通信地相互耦接;
由所述卸载引擎处理所述数据以获得处理后的数据;
利用处理后的数据构建所述分组,其中所述分组指定所述目标目的地;
将所述分组转移到与所述网络栈关联的传输环TR,其中所述TR位于操作地连接到所述机箱互连的网络直通管理器NEM上;和
利用与所述NEM通信地耦接的物理接口,将所述分组发送到所述目标目的地。
9.按照权利要求8所述的方法,其中处理所述分组包括从解密至少一部分的所述分组和鉴别所述分组二者中选择的至少一个。
10.按照权利要求8所述的方法,其中处理所述分组包括按照传输控制协议TCP处理所述分组。
11.按照权利要求8所述的方法,其中所述源计算机和所述卸载计算机是刀片。
12.按照权利要求8所述的方法,其中所述VNIC位于所述源计算机上,并且与所述网络栈关联,并且其中所述VNIC与所述TR关联。
13.按照权利要求8所述的方法,其中将所述数据从源计算机转移到卸载存储器包括:
向卸载接口发送转移所述数据的请求,其中所述卸载接口位于所述源计算机上;
由所述卸载接口把所述请求发送给所述卸载引擎;
由所述卸载引擎利用所述机箱互连将所述数据从所述源计算机转移到所述卸载计算机。
14.按照权利要求14所述的方法,其中所述卸载引擎位于所述源计算机的媒体访问控制MAC层中。
15.一种系统,包括:
包含存储器、虚拟网络接口VNIC、与所述VNIC关联的网络栈、和与所述网络栈关联的分组目的地的计算机;
包含卸载引擎和卸载存储器的卸载计算机;
被配置成通信地耦接所述计算机和所述卸载计算机的机箱互连;
与所述机箱互连通信地耦接并且包含物理网络接口、虚拟交换表VST、和与所述VNIC关联的接收环RR的网络直通管理器NEM;其中,所述NEM被配置成:
利用所述物理网络接口接收分组,其中所述分组包括目的地地址,
利用所述VST和所述目的地地址将所述分组转移到所述RR;其中,所述计算机被配置成:
确定所述分组在所述RR中,
确定将利用所述卸载引擎来处理所述分组,和
开始所述分组到卸载存储器的转移;
其中,所述NEM还被配置成:
将所述分组从所述RR转移到卸载存储器;
其中,所述卸载引擎被配置成:
处理所述分组以获得处理后的分组,和
开始处理后的分组到所述计算机的转移;以及
其中,所述计算机还被配置成:
从所述卸载引擎接收所述处理后的分组。
16.按照权利要求15所述的系统,其中处理所述分组包括从解密至少一部分的所述分组和鉴别所述分组二者中选择的至少一个。
17.按照权利要求15所述的系统,其中处理所述分组包括按照传输控制协议TCP处理所述分组。
18.按照权利要求15所述的系统,其中确定所述分组在所述RR中包括执行下述至少之一:由所述计算机轮询所述RR以确定分组是否存在于所述RR中,和所述目标计算机从所述NEM接收中断。
19.按照权利要求15所述的系统,其中所述目标计算机和所述卸载计算机是刀片。
20.按照权利要求15所述的系统,其中所述机箱互连包括外围组件快速互连PCI-E底板,并且其中虚拟交换表包括所述VNIC到所述PCI-E底板上的PCI-E端点的映射。
CN200980113922.0A 2008-02-29 2009-02-27 卸载网络处理的方法和系统 Active CN102017544B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/040,165 US7965714B2 (en) 2008-02-29 2008-02-29 Method and system for offloading network processing
US12/040,165 2008-02-29
PCT/US2009/035405 WO2009111288A1 (en) 2008-02-29 2009-02-27 Method and system for offloading network processing

Publications (2)

Publication Number Publication Date
CN102017544A true CN102017544A (zh) 2011-04-13
CN102017544B CN102017544B (zh) 2014-05-28

Family

ID=41013129

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980113922.0A Active CN102017544B (zh) 2008-02-29 2009-02-27 卸载网络处理的方法和系统

Country Status (4)

Country Link
US (1) US7965714B2 (zh)
EP (1) EP2250772B1 (zh)
CN (1) CN102017544B (zh)
WO (1) WO2009111288A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103051510A (zh) * 2011-09-07 2013-04-17 微软公司 网络策略向网络接口卡的安全和高效卸载
CN105049464A (zh) * 2014-04-30 2015-11-11 英特尔公司 用于加速网络虚拟化的技术
CN106605399A (zh) * 2014-09-25 2017-04-26 英特尔公司 用于将虚拟服务端点卸载到网络接口卡的技术
CN109951365A (zh) * 2017-12-21 2019-06-28 财团法人工业技术研究院 结合PCIe总线与以太网络的网络通信方法、系统及控制器

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8458366B2 (en) * 2007-09-27 2013-06-04 Oracle America, Inc. Method and system for onloading network services
US9104406B2 (en) * 2009-01-07 2015-08-11 Microsoft Technology Licensing, Llc Network presence offloads to network interface
US20110113236A1 (en) * 2009-11-02 2011-05-12 Sylvain Chenard Methods, systems, and computer readable media for offloading internet protocol security (ipsec) processing using an ipsec proxy mechanism
US8654784B2 (en) * 2010-03-11 2014-02-18 Microsoft Corporation Multi-stage large send offload
US8782525B2 (en) * 2011-07-28 2014-07-15 National Insturments Corporation Displaying physical signal routing in a diagram of a system
WO2013177313A2 (en) * 2012-05-22 2013-11-28 Xockets IP, LLC Processing structured and unstructured data using offload processors
CN102932174B (zh) * 2012-10-25 2015-07-29 华为技术有限公司 一种物理网卡管理方法、装置及物理主机
WO2014142983A1 (en) * 2013-03-15 2014-09-18 Intel Corporation Intra-platform networking
US9781209B2 (en) * 2015-08-20 2017-10-03 Intel Corporation Techniques for routing packets between virtual machines
US10356012B2 (en) 2015-08-20 2019-07-16 Intel Corporation Techniques for routing packets among virtual machines
US10157158B2 (en) * 2017-01-27 2018-12-18 Ford Global Technologies, Llc Method and apparatus for distributed computing using controller area network protocols
US10853126B2 (en) * 2018-07-26 2020-12-01 Vmware, Inc. Reprogramming network infrastructure in response to VM mobility
US20220114030A1 (en) * 2021-09-20 2022-04-14 Intel Corporation Initiator-side offload for scale-out storage
CN114050992B (zh) * 2021-10-20 2023-08-29 北京字节跳动网络技术有限公司 多域系统的数据处理方法、装置和设备

Family Cites Families (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6070219A (en) 1996-10-09 2000-05-30 Intel Corporation Hierarchical interrupt structure for event notification on multi-virtual circuit network interface controller
US6714960B1 (en) 1996-11-20 2004-03-30 Silicon Graphics, Inc. Earnings-based time-share scheduling
DE19654846A1 (de) 1996-12-27 1998-07-09 Pact Inf Tech Gmbh Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.)
US6041053A (en) 1997-09-18 2000-03-21 Microsfot Corporation Technique for efficiently classifying packets using a trie-indexed hierarchy forest that accommodates wildcards
US6131163A (en) 1998-02-17 2000-10-10 Cisco Technology, Inc. Network gateway mechanism having a protocol stack proxy
CA2236188C (en) 1998-04-28 2002-10-01 Thomas Alexander Firmware controlled transmit datapath for high-speed packet switches
US6157955A (en) 1998-06-15 2000-12-05 Intel Corporation Packet processing system including a policy engine having a classification unit
US6269401B1 (en) 1998-08-28 2001-07-31 3Com Corporation Integrated computer system and network performance monitoring
US6600721B2 (en) 1998-12-31 2003-07-29 Nortel Networks Limited End node pacing for QOS and bandwidth management
US6757731B1 (en) 1999-02-25 2004-06-29 Nortel Networks Limited Apparatus and method for interfacing multiple protocol stacks in a communication network
US6771595B1 (en) 1999-08-31 2004-08-03 Intel Corporation Apparatus and method for dynamic resource allocation in a network environment
WO2001026267A1 (en) 1999-10-05 2001-04-12 Ejasent Inc. Virtual port multiplexing
US7046665B1 (en) 1999-10-26 2006-05-16 Extreme Networks, Inc. Provisional IP-aware virtual paths over networks
JP3817400B2 (ja) 2000-01-11 2006-09-06 富士通株式会社 ラベルスイッチングシステムにおける明示ルート指定方法及びパケット中継装置
US6831893B1 (en) 2000-04-03 2004-12-14 P-Cube, Ltd. Apparatus and method for wire-speed classification and pre-processing of data packets in a full duplex network
US6985937B1 (en) 2000-05-11 2006-01-10 Ensim Corporation Dynamically modifying the resources of a virtual server
US6594775B1 (en) 2000-05-26 2003-07-15 Robert Lawrence Fair Fault handling monitor transparently using multiple technologies for fault handling in a multiple hierarchal/peer domain file server with domain centered, cross domain cooperative fault handling mechanisms
KR20020017265A (ko) 2000-08-29 2002-03-07 구자홍 동일 아이피 서브넷상에 구성된 서로 다른 가상랜 사이의통신방법
US7142508B2 (en) 2000-12-22 2006-11-28 Radiance Technologies, Inc. System and method for controlling data transfer rates on a network
US6944168B2 (en) 2001-05-04 2005-09-13 Slt Logic Llc System and method for providing transformation of multi-protocol packets in a data stream
US7620955B1 (en) 2001-06-08 2009-11-17 Vmware, Inc. High-performance virtual machine networking
JP3465703B2 (ja) 2001-07-18 2003-11-10 日本電気株式会社 共通チャネルフロー制御方法
US20030037154A1 (en) 2001-08-16 2003-02-20 Poggio Andrew A. Protocol processor
US7318095B2 (en) 2001-11-21 2008-01-08 Clearcube Technology, Inc. Data fail-over for a multi-computer system
US7260102B2 (en) 2002-02-22 2007-08-21 Nortel Networks Limited Traffic switching using multi-dimensional packet classification
US7177311B1 (en) 2002-06-04 2007-02-13 Fortinet, Inc. System and method for routing traffic through a virtual router-based network switch
JP3789395B2 (ja) 2002-06-07 2006-06-21 富士通株式会社 パケット処理装置
US7111303B2 (en) 2002-07-16 2006-09-19 International Business Machines Corporation Virtual machine operating system LAN
US7346701B2 (en) * 2002-08-30 2008-03-18 Broadcom Corporation System and method for TCP offload
US20040073716A1 (en) * 2002-10-14 2004-04-15 Boom Douglas D. System, device and method for media data offload processing
KR100481614B1 (ko) 2002-11-19 2005-04-08 한국전자통신연구원 서비스 거부와 분산 서비스 거부 공격으로부터 정상트래픽을 보호하는 방법 및 그 장치
US7835363B2 (en) 2003-02-12 2010-11-16 Broadcom Corporation Method and system to provide blade server load balancing using spare link bandwidth
US20040210623A1 (en) 2003-03-06 2004-10-21 Aamer Hydrie Virtual network topology generation
US7114096B2 (en) * 2003-04-02 2006-09-26 International Business Machines Corporation State recovery and failover of intelligent network adapters
US7356818B2 (en) * 2003-06-24 2008-04-08 International Business Machines Corporation Virtual machine communicating to external device without going through other virtual machines by using a list of IP addresses managed only by a single virtual machine monitor
JP4053967B2 (ja) 2003-11-20 2008-02-27 株式会社日立コミュニケーションテクノロジー Vlanサーバ
US20080022148A1 (en) 2003-12-11 2008-01-24 Amir Barnea Method and an Apparatus for Controlling Executables Running on Blade Servers
US7752635B2 (en) 2003-12-18 2010-07-06 Intel Corporation System and method for configuring a virtual network interface card
KR100608904B1 (ko) 2003-12-18 2006-08-04 한국전자통신연구원 서비스 품질 보장을 위한 시스템 및 방법
US7633955B1 (en) * 2004-02-13 2009-12-15 Habanero Holdings, Inc. SCSI transport for fabric-backplane enterprise servers
US8838743B2 (en) 2004-02-13 2014-09-16 Intel Corporation Apparatus and method for a dynamically extensible virtual switch
US8156490B2 (en) 2004-05-08 2012-04-10 International Business Machines Corporation Dynamic migration of virtual machine computer programs upon satisfaction of conditions
US9264384B1 (en) 2004-07-22 2016-02-16 Oracle International Corporation Resource virtualization mechanism including virtual host bus adapters
US7515589B2 (en) * 2004-08-27 2009-04-07 International Business Machines Corporation Method and apparatus for providing network virtualization
GB2418326B (en) 2004-09-17 2007-04-11 Hewlett Packard Development Co Network vitrualization
US20060070066A1 (en) 2004-09-30 2006-03-30 Grobman Steven L Enabling platform network stack control in a virtualization platform
US20060092928A1 (en) 2004-10-15 2006-05-04 Dell Products L.P. System and method for providing a shareable input/output device in a PCI express environment
US7688838B1 (en) 2004-10-19 2010-03-30 Broadcom Corporation Efficient handling of work requests in a network interface device
US7450498B2 (en) 2004-10-27 2008-11-11 Morgan Stanley Fault tolerant network architecture
TWI257790B (en) * 2004-10-29 2006-07-01 Ind Tech Res Inst System for protocol processing engine
US7694298B2 (en) 2004-12-10 2010-04-06 Intel Corporation Method and apparatus for providing virtual server blades
CN101019405B (zh) 2005-01-28 2011-09-28 美国博通公司 用于在通信网络中缓解拒绝服务的方法和系统
US7730486B2 (en) 2005-02-28 2010-06-01 Hewlett-Packard Development Company, L.P. System and method for migrating virtual machines on cluster systems
US7865908B2 (en) 2005-03-11 2011-01-04 Microsoft Corporation VM network traffic monitoring and filtering on the host
US20060206602A1 (en) 2005-03-14 2006-09-14 International Business Machines Corporation Network switch link failover in a redundant switch configuration
US20060236063A1 (en) 2005-03-30 2006-10-19 Neteffect, Inc. RDMA enabled I/O adapter performing efficient memory management
US7200704B2 (en) 2005-04-07 2007-04-03 International Business Machines Corporation Virtualization of an I/O adapter port using enablement and activation functions
US7561531B2 (en) 2005-04-19 2009-07-14 Intel Corporation Apparatus and method having a virtual bridge to route data frames
US7478178B2 (en) 2005-04-22 2009-01-13 Sun Microsystems, Inc. Virtualization for device sharing
US7525957B2 (en) 2005-09-01 2009-04-28 Emulex Design & Manufacturing Corporation Input/output router for storage networks
US8949364B2 (en) 2005-09-15 2015-02-03 Ca, Inc. Apparatus, method and system for rapid delivery of distributed applications
US20070083723A1 (en) 2005-09-23 2007-04-12 Dey Jayanta K Highly-available blade-based distributed computing system
US20070101323A1 (en) 2005-10-28 2007-05-03 Microsoft Corporation Automatic virtual machine adjustments to network changes
US8635388B2 (en) 2006-03-31 2014-01-21 Broadcom Corporation Method and system for an OS virtualization-aware network interface card
US7613749B2 (en) 2006-04-12 2009-11-03 International Business Machines Corporation System and method for application fault tolerance and recovery using topologically remotely located computing devices
US7853958B2 (en) 2006-06-28 2010-12-14 Intel Corporation Virtual machine monitor management from a management service processor in the host processing platform
US7643482B2 (en) 2006-06-30 2010-01-05 Sun Microsystems, Inc. System and method for virtual switching in a host
US7788411B2 (en) 2006-07-20 2010-08-31 Oracle America, Inc. Method and system for automatically reflecting hardware resource allocation modifications
US8005022B2 (en) 2006-07-20 2011-08-23 Oracle America, Inc. Host operating system bypass for packets destined for a virtual machine
US8392565B2 (en) 2006-07-20 2013-03-05 Oracle America, Inc. Network memory pools for packet destinations and virtual machines
US7664089B2 (en) 2007-01-12 2010-02-16 Hitachi Ltd. System and method for using an adaptive hybrid coordination function (HCF) in an 802.11E wireless LAN
WO2008093174A1 (en) 2007-02-02 2008-08-07 Groupe Des Ecoles Des Telecommuinications (Get) Institut National Des Telecommunications (Int) Autonomic network node system
US20080192648A1 (en) 2007-02-08 2008-08-14 Nuova Systems Method and system to create a virtual topology
US8305879B2 (en) 2007-03-30 2012-11-06 International Business Machines Corporation Peripheral component switch having automatic link failover
US7925795B2 (en) 2007-04-30 2011-04-12 Broadcom Corporation Method and system for configuring a plurality of network interfaces that share a physical interface
US8930522B2 (en) 2007-06-29 2015-01-06 Alcatel Lucent Replica/cache locator, an overlay network and a method to locate replication tables and caches therein
US7979739B2 (en) 2007-11-13 2011-07-12 Hewlett-Packard Development Company, L.P. Systems and methods for managing a redundant management module

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103051510A (zh) * 2011-09-07 2013-04-17 微软公司 网络策略向网络接口卡的安全和高效卸载
CN103051510B (zh) * 2011-09-07 2016-04-13 微软技术许可有限责任公司 网络策略向网络接口卡的安全和高效卸载的方法和装置
CN105049464A (zh) * 2014-04-30 2015-11-11 英特尔公司 用于加速网络虚拟化的技术
CN105049464B (zh) * 2014-04-30 2020-04-24 英特尔公司 用于加速网络虚拟化的技术
CN106605399A (zh) * 2014-09-25 2017-04-26 英特尔公司 用于将虚拟服务端点卸载到网络接口卡的技术
CN106605399B (zh) * 2014-09-25 2019-12-10 英特尔公司 用于将虚拟服务端点卸载到网络接口卡的技术
CN109951365A (zh) * 2017-12-21 2019-06-28 财团法人工业技术研究院 结合PCIe总线与以太网络的网络通信方法、系统及控制器

Also Published As

Publication number Publication date
US7965714B2 (en) 2011-06-21
WO2009111288A1 (en) 2009-09-11
US20090219936A1 (en) 2009-09-03
EP2250772A1 (en) 2010-11-17
EP2250772A4 (en) 2014-03-26
CN102017544B (zh) 2014-05-28
EP2250772B1 (en) 2016-08-10

Similar Documents

Publication Publication Date Title
CN102017544B (zh) 卸载网络处理的方法和系统
CN102124449B (zh) 用于低开销数据传输的方法和系统
CN102105865B (zh) 虚拟机环境中不中断网络连通性的电源管理方法和系统
US8400917B2 (en) Method and system for load balancing using queued packet information
US8954992B2 (en) Distributed and scaled-out network switch and packet processing
US7962587B2 (en) Method and system for enforcing resource constraints for virtual machines across migration
US7984123B2 (en) Method and system for reconfiguring a virtual network path
CN107750357B (zh) 具有硬件加速平面和软件平面的数据处理系统
US7970951B2 (en) Method and system for media-based data transfer
CN102334112B (zh) 用于虚拟机网络的方法和系统
CN102857494B (zh) 通用网络接口控制器
EP2676411B1 (en) Method and system for classification and management of inter-blade network traffic in a blade server
WO2020029829A1 (en) Method and apparatus for virtual network functions and packet forwarding
US8095661B2 (en) Method and system for scaling applications on a blade chassis
CN101442493B (zh) Ip报文分发方法、集群系统和负载均衡器
US20150110128A1 (en) System and method for hierarchical link aggregation
US7944923B2 (en) Method and system for classifying network traffic
EP2680536A1 (en) Methods and apparatus for providing services in a distributed switch
US9413654B2 (en) System, relay device, method, and medium
CN110417573A (zh) 一种数据传送的方法及系统
EP3503474A1 (en) A method for remotely performing a network function on data exchanged with at least one gateway
US9853885B1 (en) Using packet duplication in a packet-switched network to increase reliability
CN117354309A (zh) 一种基于lvs的负载均衡系统实现源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
C14 Grant of patent or utility model
GR01 Patent grant