CN103141058B - 用于虚拟分布式业务的网络接口控制器 - Google Patents
用于虚拟分布式业务的网络接口控制器 Download PDFInfo
- Publication number
- CN103141058B CN103141058B CN201180045891.7A CN201180045891A CN103141058B CN 103141058 B CN103141058 B CN 103141058B CN 201180045891 A CN201180045891 A CN 201180045891A CN 103141058 B CN103141058 B CN 103141058B
- Authority
- CN
- China
- Prior art keywords
- packet
- network interface
- interface card
- flow
- flow table
- 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.)
- Active
Links
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
-
- 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
在一个实施例中一种方法和装置支持包括在服务器上运行的虚拟机的虚拟网络接口控制功能在内的虚拟服务。一种方法包括在网络接口卡处接收来自数据通信网络的分组,在该网络接口卡内对该分组分类以选择该分组应被指派给的多个流表之一以获得选中的流表,该分类至少基于与该分组相关联的逻辑接口,基于所选中流表中存储的信息来处理该分组,并且将该分组传递到在与该网络接口卡通信连接的计算机上工作的虚拟机,该虚拟机与该逻辑接口相关联。
Description
技术领域
本公开涉及电子数据业务,尤其是支持虚拟化的数据中心业务。
背景技术
数据中心中的计算机网络愈发依赖于复杂业务来使能扩展性、虚拟化和安全。这些业务的范围从负载均衡到防火墙再到细粒度网络度量。随着云计算和其他大规模虚拟服务器部署增长,以可扩展和可管理方式提供这些网络业务愈发困难。
理想地,大规模服务器部署中的每个单独网络流被跟踪以向标识出的连接或流提供适当业务,例如业务质量、策略等。在某些情况下,数据中心交换机可以提供这些业务中的某些业务,但是穿过单个交换机的单独流的数目需要过多的交换机资源来跟踪和管理每个流。
附图说明
图1示出了为在单个服务器上工作的多个虚拟机服务的网络接口卡或控制器。
图2和图3分别示出了支持多个虚拟网络接口控制器的分组流的进入和外出的网络接口卡的示例实施例。
图4示出了对待作为如下分组流的一部分的分组的一系列示例步骤,该分组流经由包括多个虚拟网络控制器的网络接口卡从网络传递到在服务器上运行的虚拟机。
图5示出了对待作为如下分组流的一部分的分组的一系列示例步骤,该分组流经由包括多个虚拟网络控制器的网络接口卡从在服务器上运行的虚拟机传递到网络。
发明内容
概览
这里描述的是支持包括在服务器上运行的虚拟机的虚拟网络接口控制功能在内的虚拟业务的方法和装置的实施例。一种方法包括在网络接口卡处接收来自数据通信网络的分组,在该网络接口卡内对该分组分类以选择该分组应被指派给的多个流表之一以获得选中的流表,该分类至少基于与该分组相关联的逻辑接口,基于所选中流表中存储的信息来处理该分组,并且将该分组传递给在与该网络接口卡通信连接的计算机上工作的虚拟机,该虚拟机与该逻辑接口相关联。
该方法还包括在该网络接口卡处接收来自与该网络接口卡通信连接的计算机的第二分组,并且转发该第二分组以在该网络接口卡内进行分类。
具体实施方式
示例实施例
图1示出了支持由管理程序115支持的多个虚拟机(VM)120a、120b、120c的服务器110。服务器110可以是独立服务器或者可以是数据中心基础设施中的服务器丛的一部分。网络接口卡(或者控制器)(NIC)200与服务器110通信耦合。如将在下面更详细说明的,NIC200支持虚拟业务,即支持在服务器110上运行的虚拟机120a、120b、120c中的相应虚拟机的网络接口控制业务。因此,从虚拟机120a、120b、120c中的每一个虚拟机的角度,NIC200担当专用的网络接口控制器。
NIC200包括处理器201和存储器202,处理器201和存储器202的功能也将在下面更加完全地描述。NIC200例如经由路由器170连接到计算机网络。集中管理工具180可被用来管理NIC200。如图所示,NIC200与集中管理工具180之间的通信可以经由路由器170(或者其他网络元件)或者可以经由更加私有和/或直接的链路185。
NIC200的功能可被实现为一个或多个硬件组件、一个或多个软件组件,或者其组合。更具体地说,处理器201可以是可编程处理器(微处理器或者微控制器)或者固定逻辑处理器。在可编程处理器的情况下,任何相关存储器202可以是编码有或者存储用来实现NIC200的功能的指令的任何类型的有形处理器可读存储器(例如,随机存取、只读等)。在固定逻辑处理设备的情况下,逻辑或者指令例如可被编码在专用集成电路(ASIC)中或者配置有由致使处理器201执行这里描述的功能的指令或者逻辑组成的固件的数字信号处理器中。因此,NIC200可以采用各种形式中的任一种,以便被编码在一个或多个有形介质中,以供例如利用固定逻辑或者可编程逻辑(例如,软件/由处理器执行的计算机指令)来执行,并且任何处理器可以是可编程处理器、可编程数字逻辑(例如,现场可编程门阵列)或者包括固定数字逻辑的ASIC,或者其组合。总而言之,任何处理逻辑可被实现在处理器(或者计算机)可读介质中,该介质编码有供处理器执行的指令,这些指令当被该处理器执行时可操作来使该处理器执行这里描述的功能。
图2示出了支持多个虚拟网络接口控制器200a、200b、200c的分组流的进入的NIC200的实施例,这多个虚拟网络接口控制器200a、200b、200c支持在服务器110上运行的虚拟机。在高层次上,NIC200将流跟踪机制、分组转发控制、分组重写能力以及自治管理代理集成到位于服务器边缘的设备中。这允许基于单独流的操纵和/或业务被推送到数据中心网络的计算机(服务器)边缘。抵达NIC200的分组在转发模块210处被接收到并且然后被传递到分类器模块220。这些分组然后被与内部流表230比较,从而产生例如未命中、命中或者冲突。
转发模块210例如通过检查分组以及这些分组的任何封装来执行逻辑接口(LIF)标识,并且还可以对要么从网络进入要么从可直接来自内部流表230的环回路径215进入要么从自治代理250进入的分组执行复制(例如以供多播)。转发模块210检查每个进入分组的头部并且通常通过在本地转发表中查找该分组的目的地地址来将每个分组关联到逻辑接口。
分类器模块220接收LIF标识并且基于该信息并且利用存储器中的适当数据来识别分组类型。分组类型例如可包括符合与TCP或UDP协议或者FTP或其他公知协议相关联的IPv4或IPv6层的那些。一旦分组类型已知,分类器模块220就被配置为指派选中的流表来处理该分组。换言之,分类器模块220确定进入分组属于什么流类型并且按照与该流类型相关联的策略指派适当的流表230a、230b、230c等来处理该分组。流表例如可被分为四类:传输控制协议(TCP)流、用户数据报协议(UDP)流、因特网协议(IP)(但不是TCP或者UDP)流,以及非IP流。一旦分类器模块220已经识别出流类型,流表机制就在表中搜索该特定流。该特定流例如可通过TCP源和目的地端口以及源和目的地IP地址来识别。该流可能已经存在于表中,这被定义为表命中,或者其可能未存在于表中,这被定义为未命中或者冲突。未命中在该流未存在于表中并且表中存在用来存储该流的可用位置时发生,冲突在该流未存在于表中并且没有用来存储该流的可用位置时发生。
如上面指出,查找流表将产生未命中、命中或者冲突。未命中例如可引起自动流表插入以及诸如向业务进行新流登记之类的动作。例如,当为LIF启用了防火墙业务并且新流的第一分组抵达并且未命中流表时,将为该流自动生成条目并且该分组将被转发给防火墙业务而非被递送到目的地虚拟机。当防火墙业务节点以许可或者拒绝动作作为响应时,流表条目被更新并且该流中的未来分组此后被直接递送到目的地虚拟机(许可)或者丢弃(拒绝)。取决于分组类型和编程的未命中动作,新的流分组可被封装到业务头部中并被转发给可作为虚拟业务本地驻留或者作为业务节点远程驻留的适当的业务节点,其中该业务节点可以是防火墙、负载均衡器、入侵检测业务或者其他基于网络的业务。
类似地,流命中可具有可包括分组重写、封装和/或转发动作在内的相关动作。因此,例如,命中流表条目的分组在防火墙拒绝动作的情况下可被丢弃,被重新缓存到本地排队系统以实施诸如高至低优先级、速率限制或者承诺信息速率策略之类的业务质量策略,利用针对低等待时间策略的高优先级中断被递送到目的地虚拟机,或者只是在流表中被计数并加时间戳以支持网络流统计。
当查找流表产生无匹配并且所有可用表条目被其他流占据时,冲突发生。在冲突的情况下,各种动作可以发生。例如,分组可被放入指定队列以供软件冲突处理,或者冲突分组可在没有流表卸载机制帮助的情况下被转发给附加业务。此外,自治管理代理250可被配置为对冲突结果执行某些功能。例如,自治管理代理250可被配置为将该流插入在本地存储器中或者在其本地存储器(例如,存储器202)中建立软件冲突表。
如在图2中示出,多个流表230a、230b、230c被支持并且可被根据分组分类结果和/或虚拟接口标识符来使用。例如针对TCP、UDP、FTP以及其他L2协议创建不同的流表,这是因为这些协议中的每一种提供了为了唯一地识别该协议内的流将被从分组中提取的不同头部字段。流表条目可以保存包括分组和字节计数以及时间戳在内的流统计信息,自治管理代理250例如可以利用这些信息来支持网络流采集点。在一种示例实现方式中,自治管理代理250包括具有存储器系统202的三个嵌入式中央处理单元(CPU)201以及多个硬件输入/输出IO设备(未示出)。
自治管理代理250不仅可被配置为如已经指出那样工作,而且也可被配置作为与集中管理工具180通信的接口。例如,流表策略和处理指令可被从集中管理工具180经由自治管理代理250“上传”到NIC200。代理250也可被配置为处理特殊情况分组和流事件。例如,包含用来控制向LIF指派网络业务的管理命令的分组由代理250直接处理,或者不匹配任何流表描述的分组可被递送到代理250以供软件处理或者记录。代理250还可被配置为执行分组封装和转发。例如,复杂或演进的封装或隧穿协议无法总是由硬件表机制处理但是可以在硬件机制继续处理已知封装的同时被递送到代理250以进行更低速度的处理。
图3示出了正从服务器110(例如,在服务器110上运行的VM)发送的分组如何被NIC200处理以便外出到网络。适当的虚拟NIC200a、200b、200c将有效地接收分组(充当该分组发送自的VM的“专用”网络接口控制器)并将该分组传递给传输调度模块310。传输调度模块310被配置为向每个vNIC指派调度优先级和带宽分配。如在图3中看见,自治管理代理250与传输调度模块310通信以便根据从网络接收到的具有管理命令的分组来设置每个NIC200a、200b、200c的调度策略。
在被传输调度模块310处理过之后,给定分组被传递到分类器模块220,在该处基于LIF和存储器中的匹配来标识分组类型。然后可以基于分组类型来指派流表。在这样标识出分组类型的情况下,分组被传递到流表模块230中的适当流表230a、230b、230c。再一次,分组被查找,并且确定是否已经发生命中、未命中或者冲突。适当的处理然后可被执行。例如,流表命中意味着该流被确立并且可以根据流表条目中的控制位来转发,而未命中表明该流是新的并且在被允许传输到网络之前可能需要被发送到防火墙业务以进行检查。
基于在选中的流表中应用的策略,分组可被转发模块210发送出来回到网络,或者可被发送以便经由路径215环回。
这里描述的实施例允许流被跟踪到虚拟机和虚拟设备层级,支持完全分布式的流跟踪和管理模型,并且随着数据中心中的计算机的数目和类型从流计数扩展到性能层级。
这里描述的实施例的一个潜在优点在于管理程序115被配置为执行流跟踪等的程度,极大的负担可被从管理程序和主机处理器(即,在服务器110上运行的一个或多个处理器)中去除。此外,通过以这里描述的方式来配置NIC200,即使在没有管理程序的情况下流跟踪和业务应用也可发生。
本领域技术人员将认识到前面描述了网络接口控制器如何可被与虚拟接口支持、分组分类、流表、转发机制以及自治管理代理紧密集成以便向数据中心提供安全和可扩展的网络业务。
注意到NIC200可以是用来跟踪流的最能缩放的点,这是因为其与如下单个实体机器相关联,在该单个实体机器处网络连接的数目随着主机处理器和网络接口控制器技术而扩展。
另外,在计算机边缘标识流和跟踪流也许提供了虚拟机连接的最精确视图,这是因为NIC200知晓哪个虚拟操作系统和/或应用与哪个虚拟接口设备相关联。例如,因为外围组件快速互连(PCIe)总线处的虚拟NIC或虚拟功能可被与其虚拟机流相关联,可能存在连接末端的减少的不确定性或欺骗。虚拟机移动事件也利用它们的流被跟踪。
另外,可以在不涉及或者不知晓虚拟或实体的计算机操作系统的情况下在NIC200处管理流。可以通过集中管理工具180经由到网络接口控制器的自治管理代理250的安全连接来应用流管理和策略。
还注意到分布式的流跟踪允许分布式的业务操纵。针对业务应用标识出的流可以被递送到本地虚拟业务或者在应用业务头部之后被转发到远程业务节点。不需要中央的流分配器或者业务节点。
最后,NIC200可以在不依赖于主机配置或操作系统的情况下跟踪流和应用网络业务。可以经由基于网络的管理系统来应用管理并且要实施基于流的策略无需信任主机软件。
图4示出了用于对待作为如下分组流一部分的分组的一系列示例步骤,该分组流经由包括多个虚拟网络控制器的网络接口卡从网络传递到在服务器上运行的虚拟机。也参考图2,在步骤410处,分组在NIC200处被接收到。在步骤412处,分组被分类以确定该分组属于什么流类型。利用该流类型信息,在步骤414处基于与指示流相关联的流表来处理该分组。在步骤416处,分组朝向在与NIC200通信耦合的计算机上运行的虚拟机被从NIC200中传递出来,并且/或者被环回NIC200内部以进行附加处理。
图5示出了用于对待作为如下分组流一部分的分组的一系列示例步骤,该分组流经由包括多个虚拟网络控制器的网络接口卡从在服务器上运行的虚拟机传递到网络。也参考图3,在步骤510处,分组被从例如运行虚拟机的计算机或者服务器接收到。在步骤512处,分组被分类以确定其类型。基于其类型,与该分组相关联的流可被确定。然后在步骤514处基于与指出流类型相关联的流表来处理该分组。经处理的分组然后在步骤516处被传递到网络并且/或者被环回以便在NIC200内进行进一步处理。
尽管系统和方法在此被例示和描述为在一个或多个具体示例中实现,然而其并非旨在被限制到所示出的细节,这是因为各种修改和结构改变在不脱离装置、系统和方法的范围的情况下可被做出并且在权利要求的等同物的范围内。因此,宽广地且以与如在此阐述的装置、系统和方法的范围一致的方式理解权利要求是适当的。
Claims (20)
1.一种支持在服务器上运行的虚拟机的虚拟业务的方法,包括:
在网络接口卡处接收来自数据通信网络的分组;
在所述网络接口卡内对所述分组分类以识别与所述分组相关联的流类型,所述分类至少基于与所述分组相关联的逻辑接口;
基于所识别出的与所述分组相关联的流类型来选择所述分组应被指派给的多个流表之一,以获得选中流表;
基于所述选中流表中存储的信息来处理所述分组;以及
将所述分组传递到在与所述网络接口卡通信连接的计算机上工作的虚拟机,该虚拟机与所述逻辑接口相关联。
2.如权利要求1所述的方法,还包括在所述网络接口卡处接收来自与所述网络接口卡通信连接的计算机的第二分组,以及转发该第二分组以在所述网络接口卡内进行分类。
3.如权利要求1所述的方法,还包括复制所述分组以进行多播。
4.如权利要求1所述的方法,还包括以下步骤中的至少一个:重写所述分组的至少一部分、封装所述分组或者基于所述选中流表中存储的信息来转发所述分组。
5.如权利要求1所述的方法,还包括,当所述分组属于新流时更新所述选中流表以包括所述分组的各方面。
6.如权利要求1所述的方法,还包括从与与所述网络接口卡连接的计算机不同的管理工具接收控制数据。
7.如权利要求6所述的方法,还包括利用所述管理工具来设定分组流的管理和策略。
8.如权利要求1所述的方法,还包括在所述网络接口卡内针对所述流表中表示的每个流来跟踪分组和字节统计信息。
9.如权利要求1所述的方法,还包括在所述网络接口卡内环回已被所述选中流表处理过的分组。
10.一种支持在服务器上运行的虚拟机的虚拟业务的设备,包括:
用于在网络接口卡处接收来自数据通信网络的分组的装置;
用于对所述分组分类以识别与所述分组相关联的流类型的装置,其中所述分类至少基于与所述分组相关联的逻辑接口;
用于基于所识别出的与所述分组相关联的流类型来选择所述分组应被指派给的多个流表之一,以获得选中流表的装置;
用于基于所述选中流表中存储的信息来处理所述分组的装置;以及
用于将所述分组传递到在与所述网络接口卡通信连接的计算机上工作的虚拟机的装置,该虚拟机与所述逻辑接口相关联。
11.如权利要求10所述的设备,还包括:
用于在所述网络接口卡处接收来自与所述网络接口卡通信连接的计算机的第二分组的装置,以及
用于转发该第二分组以在所述网络接口卡内进行分类的装置。
12.如权利要求10所述的设备,还包括:
用于复制所述分组以进行多播的装置。
13.如权利要求10所述的设备,还包括:
用于执行重写所述分组的至少一部分、封装所述分组或者基于所述选中流表中存储的信息来转发所述分组中的至少一者的装置。
14.如权利要求10所述的设备,还包括:
用于当所述分组属于新流时更新所述选中流表以包括所述分组的各方面的装置。
15.如权利要求10所述的设备,还包括:
用于从与与所述网络接口卡连接的计算机不同的管理工具接收控制数据的装置。
16.如权利要求15所述的设备,还包括:
用于基于来自所述管理工具的数据设定分组流的管理和策略的装置。
17.一种支持在服务器上运行的虚拟机的虚拟业务的装置,包括:
转发模块,其被配置为接收来自电子网络的分组并且确定与该分组相关联的逻辑接口;
分类器模块,其被配置为基于所述逻辑接口来标识与所述分组相关联的流类型;以及
多个流表,其中的一个被配置为基于与所述分组相关联的流类型而被选择,所选中的流表被配置为按照预定策略来处理所述分组,
其中所述装置被配置为操作多个虚拟网络接口控制器,所述多个虚拟网络接口控制器被配置为当所述装置与服务器通信耦合时服务在所述服务器上运行的相应虚拟机。
18.如权利要求17所述的装置,还包括自治管理代理模块,其被配置为执行以下操作中的至少一个:
重写所述分组的至少一部分、封装所述分组或者基于所述流表中存储的信息来转发所述分组。
19.如权利要求18所述的装置,其中,所述自治管理代理模块被配置为从与与所述服务器不同的管理工具接收控制信息。
20.如权利要求17所述的装置,还包括在所述流表与所述转发模块之间的环回路径。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/888,838 US8804747B2 (en) | 2010-09-23 | 2010-09-23 | Network interface controller for virtual and distributed services |
| US12/888,838 | 2010-09-23 | ||
| PCT/US2011/031224 WO2012039792A1 (en) | 2010-09-23 | 2011-04-05 | Network interface controller for virtual and distributed services |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN103141058A CN103141058A (zh) | 2013-06-05 |
| CN103141058B true CN103141058B (zh) | 2016-05-04 |
Family
ID=44120944
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201180045891.7A Active CN103141058B (zh) | 2010-09-23 | 2011-04-05 | 用于虚拟分布式业务的网络接口控制器 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US8804747B2 (zh) |
| EP (1) | EP2619676B1 (zh) |
| CN (1) | CN103141058B (zh) |
| WO (1) | WO2012039792A1 (zh) |
Families Citing this family (112)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8842536B2 (en) * | 2010-12-23 | 2014-09-23 | Brocade Communications Systems, Inc. | Ingress rate limiting |
| JP5625978B2 (ja) * | 2011-02-10 | 2014-11-19 | 富士通株式会社 | 通信制御プログラム、情報処理装置およびパケット通信方法 |
| US8861369B2 (en) * | 2011-03-07 | 2014-10-14 | Oracle International Corporation | Virtual network interface with packet filtering hooks |
| US8848554B2 (en) * | 2011-03-07 | 2014-09-30 | Oracle International Corporation | Packet sniffing with packet filtering hooks |
| US20130042238A1 (en) * | 2011-08-12 | 2013-02-14 | International Business Machines Corporation | Optimized Virtual Function Translation Entry Memory Caching |
| US8954704B2 (en) | 2011-08-12 | 2015-02-10 | International Business Machines Corporation | Dynamic network adapter memory resizing and bounding for virtual function translation entry storage |
| US9397960B2 (en) * | 2011-11-08 | 2016-07-19 | Mellanox Technologies Ltd. | Packet steering |
| US9584385B2 (en) * | 2012-01-19 | 2017-02-28 | Comcast Cable Communications, Llc | Adaptive buffer control |
| JP5967187B2 (ja) * | 2012-03-02 | 2016-08-10 | 日本電気株式会社 | 経路制御システム、コントロール装置及び経路制御方法 |
| US8930690B2 (en) * | 2012-03-21 | 2015-01-06 | Microsoft Corporation | Offloading packet processing for networking device virtualization |
| CN103514245B (zh) * | 2012-06-06 | 2018-11-27 | 丛林网络公司 | 创建用户可见处理跟踪的可搜索和全局数据库 |
| US8804523B2 (en) * | 2012-06-21 | 2014-08-12 | Microsoft Corporation | Ensuring predictable and quantifiable networking performance |
| US9092269B2 (en) | 2012-06-21 | 2015-07-28 | Microsoft Technology Licensing, Llc | Offloading virtual machine flows to physical queues |
| US8954535B2 (en) * | 2012-12-31 | 2015-02-10 | Juniper Networks, Inc. | Dynamic network device processing using external components |
| US10135732B2 (en) | 2012-12-31 | 2018-11-20 | Juniper Networks, Inc. | Remotely updating routing tables |
| US9191404B2 (en) | 2013-06-05 | 2015-11-17 | Cisco Technology, Inc. | Probabilistic flow management |
| US9686192B2 (en) | 2013-06-28 | 2017-06-20 | Niciria, Inc. | Network service slotting |
| US9571386B2 (en) | 2013-07-08 | 2017-02-14 | Nicira, Inc. | Hybrid packet processing |
| US9344349B2 (en) | 2013-07-12 | 2016-05-17 | Nicira, Inc. | Tracing network packets by a cluster of network controllers |
| US9407580B2 (en) | 2013-07-12 | 2016-08-02 | Nicira, Inc. | Maintaining data stored with a packet |
| US9282019B2 (en) | 2013-07-12 | 2016-03-08 | Nicira, Inc. | Tracing logical network packets through physical network |
| CN104348716B (zh) * | 2013-07-23 | 2018-03-23 | 新华三技术有限公司 | 一种报文处理方法及设备 |
| US9152593B2 (en) | 2013-09-06 | 2015-10-06 | Cisco Technology, Inc. | Universal PCI express port |
| US9602398B2 (en) | 2013-09-15 | 2017-03-21 | Nicira, Inc. | Dynamically generating flows with wildcard fields |
| US9674087B2 (en) | 2013-09-15 | 2017-06-06 | Nicira, Inc. | Performing a multi-stage lookup to classify packets |
| US9977685B2 (en) * | 2013-10-13 | 2018-05-22 | Nicira, Inc. | Configuration of logical router |
| US9264362B2 (en) | 2013-10-17 | 2016-02-16 | Cisco Technology, Inc. | Proxy address resolution protocol on a controller device |
| US10158538B2 (en) | 2013-12-09 | 2018-12-18 | Nicira, Inc. | Reporting elephant flows to a network controller |
| US9967199B2 (en) | 2013-12-09 | 2018-05-08 | Nicira, Inc. | Inspecting operations of a machine to detect elephant flows |
| US9124536B2 (en) * | 2013-12-12 | 2015-09-01 | International Business Machines Corporation | Managing data flows in overlay networks |
| US9996467B2 (en) | 2013-12-13 | 2018-06-12 | Nicira, Inc. | Dynamically adjusting the number of flows allowed in a flow table cache |
| US9569368B2 (en) | 2013-12-13 | 2017-02-14 | Nicira, Inc. | Installing and managing flows in a flow table cache |
| US9288135B2 (en) | 2013-12-13 | 2016-03-15 | International Business Machines Corporation | Managing data flows in software-defined network using network interface card |
| KR102160252B1 (ko) * | 2013-12-18 | 2020-09-25 | 삼성전자주식회사 | 가상 스위칭 방법 및 장치 |
| US20150169345A1 (en) * | 2013-12-18 | 2015-06-18 | International Business Machines Corporation | Software-defined networking (sdn) for management of traffic between virtual processors |
| US9755981B2 (en) | 2014-03-11 | 2017-09-05 | Vmware, Inc. | Snooping forwarded packets by a virtual machine |
| US9742682B2 (en) * | 2014-03-11 | 2017-08-22 | Vmware, Inc. | Large receive offload for virtual machines |
| US9384033B2 (en) | 2014-03-11 | 2016-07-05 | Vmware, Inc. | Large receive offload for virtual machines |
| US10454991B2 (en) | 2014-03-24 | 2019-10-22 | Mellanox Technologies, Ltd. | NIC with switching functionality between network ports |
| US9893988B2 (en) | 2014-03-27 | 2018-02-13 | Nicira, Inc. | Address resolution using multiple designated instances of a logical router |
| US9344364B2 (en) * | 2014-03-31 | 2016-05-17 | Metaswitch Networks Ltd. | Data center networks |
| US9985896B2 (en) | 2014-03-31 | 2018-05-29 | Nicira, Inc. | Caching of service decisions |
| US9813258B2 (en) * | 2014-03-31 | 2017-11-07 | Tigera, Inc. | Data center networks |
| US9594584B2 (en) * | 2014-03-31 | 2017-03-14 | Electronics And Telecommunications Research Institute | Apparatus and method for mapping of tenant based dynamic processor |
| US10193806B2 (en) | 2014-03-31 | 2019-01-29 | Nicira, Inc. | Performing a finishing operation to improve the quality of a resulting hash |
| US9559950B2 (en) * | 2014-03-31 | 2017-01-31 | Tigera, Inc. | Data center networks |
| KR102126213B1 (ko) * | 2014-03-31 | 2020-06-24 | 한국전자통신연구원 | 테넌트 기반의 동적 프로세서 할당 장치 및 방법 |
| US9385954B2 (en) | 2014-03-31 | 2016-07-05 | Nicira, Inc. | Hashing techniques for use in a network environment |
| US9807004B2 (en) * | 2014-04-01 | 2017-10-31 | Google Inc. | System and method for software defined routing of traffic within and between autonomous systems with enhanced flow routing, scalability and security |
| JP2016012909A (ja) * | 2014-06-03 | 2016-01-21 | 株式会社リコー | 通信装置、通信方法および通信システム |
| US9774707B2 (en) | 2014-06-04 | 2017-09-26 | Nicira, Inc. | Efficient packet classification for dynamic containers |
| US9825913B2 (en) | 2014-06-04 | 2017-11-21 | Nicira, Inc. | Use of stateless marking to speed up stateful firewall rule processing |
| US10110712B2 (en) | 2014-06-04 | 2018-10-23 | Nicira, Inc. | Efficient packet classification for dynamic containers |
| US9419897B2 (en) | 2014-06-30 | 2016-08-16 | Nicira, Inc. | Methods and systems for providing multi-tenancy support for Single Root I/O Virtualization |
| US9692698B2 (en) | 2014-06-30 | 2017-06-27 | Nicira, Inc. | Methods and systems to offload overlay network packet encapsulation to hardware |
| CN105306241B (zh) * | 2014-07-11 | 2018-11-06 | 华为技术有限公司 | 一种业务部署方法及网络功能加速平台 |
| US10261817B2 (en) * | 2014-07-29 | 2019-04-16 | Nxp Usa, Inc. | System on a chip and method for a controller supported virtual machine monitor |
| EP3166275A4 (en) * | 2014-08-11 | 2017-07-19 | Huawei Technologies Co., Ltd. | Packet control method, switch and controller |
| US11178051B2 (en) | 2014-09-30 | 2021-11-16 | Vmware, Inc. | Packet key parser for flow-based forwarding elements |
| US10511458B2 (en) | 2014-09-30 | 2019-12-17 | Nicira, Inc. | Virtual distributed bridging |
| US10469342B2 (en) | 2014-10-10 | 2019-11-05 | Nicira, Inc. | Logical network traffic analysis |
| US20160173600A1 (en) * | 2014-12-15 | 2016-06-16 | Cisco Technology, Inc. | Programmable processing engine for a virtual interface controller |
| US9462084B2 (en) * | 2014-12-23 | 2016-10-04 | Intel Corporation | Parallel processing of service functions in service function chains |
| US10812632B2 (en) * | 2015-02-09 | 2020-10-20 | Avago Technologies International Sales Pte. Limited | Network interface controller with integrated network flow processing |
| US10645031B2 (en) | 2015-06-02 | 2020-05-05 | At&T Intellectual Property I, L.P. | Virtual network element and methods for use therewith |
| US10348625B2 (en) | 2015-06-30 | 2019-07-09 | Nicira, Inc. | Sharing common L2 segment in a virtual distributed router environment |
| US9992113B2 (en) * | 2015-06-30 | 2018-06-05 | Vmware, Inc. | Virtual network interface controller performance using physical network interface controller receive side scaling offloads |
| US10333897B2 (en) | 2015-10-23 | 2019-06-25 | Attala Systems Corporation | Distributed firewalls and virtual network services using network packets with security tags |
| US11038845B2 (en) | 2016-02-23 | 2021-06-15 | Nicira, Inc. | Firewall in a virtualized computing environment using physical network interface controller (PNIC) level firewall rules |
| US10805239B2 (en) | 2017-03-07 | 2020-10-13 | Nicira, Inc. | Visualization of path between logical network endpoints |
| US10313926B2 (en) | 2017-05-31 | 2019-06-04 | Nicira, Inc. | Large receive offload (LRO) processing in virtualized computing environments |
| US10608887B2 (en) | 2017-10-06 | 2020-03-31 | Nicira, Inc. | Using packet tracing tool to automatically execute packet capture operations |
| US11018981B2 (en) * | 2017-10-13 | 2021-05-25 | Cisco Technology, Inc. | System and method for replication container performance and policy validation using real time network traffic |
| US10511459B2 (en) | 2017-11-14 | 2019-12-17 | Nicira, Inc. | Selection of managed forwarding element for bridge spanning multiple datacenters |
| US11310095B2 (en) * | 2018-01-17 | 2022-04-19 | Arista Networks, Inc. | Remote in-band management of a network interface controller |
| EP3804238B1 (en) * | 2018-05-30 | 2022-09-07 | Telefonaktiebolaget LM Ericsson (publ) | Method and apparatus for service provision in a communication network |
| EP3588302B1 (en) * | 2018-06-26 | 2022-10-12 | Siemens Aktiengesellschaft | Method and system for generating and managing virtual industrial devices in an industrial network |
| US11258714B1 (en) * | 2018-09-28 | 2022-02-22 | Google Llc | Fine grain traffic shaping offload for a network interface card |
| CN111385222B (zh) * | 2018-12-29 | 2024-06-07 | 德克萨斯仪器股份有限公司 | 实时、时间感知、动态、情境感知和可重新配置的以太网分组分类 |
| US11381526B2 (en) * | 2019-05-08 | 2022-07-05 | Cisco Technology, Inc. | Multi-tenant optimized serverless placement using smart network interface cards and commodity storage |
| CN110784345B (zh) * | 2019-10-17 | 2022-11-01 | 杭州迪普科技股份有限公司 | 网络流量处理方法、装置、电子设备及机器可读存储介质 |
| US20210136140A1 (en) * | 2019-10-30 | 2021-05-06 | Vmware, Inc. | Using service containers to implement service chains |
| US11283699B2 (en) | 2020-01-17 | 2022-03-22 | Vmware, Inc. | Practical overlay network latency measurement in datacenter |
| US11962518B2 (en) | 2020-06-02 | 2024-04-16 | VMware LLC | Hardware acceleration techniques using flow selection |
| US11570090B2 (en) | 2020-07-29 | 2023-01-31 | Vmware, Inc. | Flow tracing operation in container cluster |
| US11196628B1 (en) | 2020-07-29 | 2021-12-07 | Vmware, Inc. | Monitoring container clusters |
| US11558426B2 (en) | 2020-07-29 | 2023-01-17 | Vmware, Inc. | Connection tracking for container cluster |
| US11636053B2 (en) | 2020-09-28 | 2023-04-25 | Vmware, Inc. | Emulating a local storage by accessing an external storage through a shared port of a NIC |
| US11792134B2 (en) | 2020-09-28 | 2023-10-17 | Vmware, Inc. | Configuring PNIC to perform flow processing offload using virtual port identifiers |
| US11824931B2 (en) | 2020-09-28 | 2023-11-21 | Vmware, Inc. | Using physical and virtual functions associated with a NIC to access an external storage through network fabric driver |
| US11829793B2 (en) | 2020-09-28 | 2023-11-28 | Vmware, Inc. | Unified management of virtual machines and bare metal computers |
| US12021759B2 (en) | 2020-09-28 | 2024-06-25 | VMware LLC | Packet processing with hardware offload units |
| US11593278B2 (en) | 2020-09-28 | 2023-02-28 | Vmware, Inc. | Using machine executing on a NIC to access a third party storage not supported by a NIC or host |
| US11398979B2 (en) * | 2020-10-28 | 2022-07-26 | Mellanox Technologies, Ltd. | Dynamic processing trees |
| CN112565090B (zh) * | 2020-11-09 | 2022-04-15 | 烽火通信科技股份有限公司 | 一种高速转发方法及装置 |
| US11736436B2 (en) | 2020-12-31 | 2023-08-22 | Vmware, Inc. | Identifying routes with indirect addressing in a datacenter |
| US11336533B1 (en) | 2021-01-08 | 2022-05-17 | Vmware, Inc. | Network visualization of correlations between logical elements and associated physical elements |
| US11470007B2 (en) * | 2021-01-19 | 2022-10-11 | Mellanox Technologies, Ltd. | Bandwidth-control policers in a network adapter |
| US11687210B2 (en) | 2021-07-05 | 2023-06-27 | Vmware, Inc. | Criteria-based expansion of group nodes in a network topology visualization |
| US11711278B2 (en) | 2021-07-24 | 2023-07-25 | Vmware, Inc. | Visualization of flow trace operation across multiple sites |
| US11706109B2 (en) | 2021-09-17 | 2023-07-18 | Vmware, Inc. | Performance of traffic monitoring actions |
| CN113965521B (zh) * | 2021-10-19 | 2024-03-01 | 京东科技信息技术有限公司 | 数据包的传输方法、服务器及存储介质 |
| US11863376B2 (en) | 2021-12-22 | 2024-01-02 | Vmware, Inc. | Smart NIC leader election |
| US11995024B2 (en) | 2021-12-22 | 2024-05-28 | VMware LLC | State sharing between smart NICs |
| US12229578B2 (en) | 2021-12-22 | 2025-02-18 | VMware LLC | Teaming of smart NICs |
| US12373237B2 (en) | 2022-05-27 | 2025-07-29 | VMware LLC | Logical memory addressing by smart NIC across multiple devices |
| US11928062B2 (en) | 2022-06-21 | 2024-03-12 | VMware LLC | Accelerating data message classification with smart NICs |
| US11899594B2 (en) | 2022-06-21 | 2024-02-13 | VMware LLC | Maintenance of data message classification cache on smart NIC |
| US11928367B2 (en) | 2022-06-21 | 2024-03-12 | VMware LLC | Logical memory addressing for network devices |
| US12481444B2 (en) | 2022-06-21 | 2025-11-25 | VMware LLC | Smart NIC responding to requests from client device |
| US20240036904A1 (en) * | 2022-07-28 | 2024-02-01 | Vmware, Inc. | Offloading stateful services from guest machines to host resources |
| CN119603312B (zh) * | 2024-11-28 | 2025-10-17 | 南京星云微计算技术有限公司 | 镜像流表卸载方法、设备及介质 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101510843A (zh) * | 2009-02-24 | 2009-08-19 | 陈鸣 | 基于NetFlow流实时分离出P2P流的方法 |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007274476A (ja) * | 2006-03-31 | 2007-10-18 | Anritsu Corp | パケット中継装置 |
| US7821962B2 (en) * | 2006-06-16 | 2010-10-26 | Ixia | Memory access optimization |
| US7848331B2 (en) * | 2006-07-20 | 2010-12-07 | Oracle America, Inc. | Multi-level packet classification |
| US20080267177A1 (en) | 2007-04-24 | 2008-10-30 | Sun Microsystems, Inc. | Method and system for virtualization of packet encryption offload and onload |
| US8006297B2 (en) | 2007-04-25 | 2011-08-23 | Oracle America, Inc. | Method and system for combined security protocol and packet filter offload and onload |
| US8798056B2 (en) * | 2007-09-24 | 2014-08-05 | Intel Corporation | Method and system for virtual port communications |
| US8458366B2 (en) | 2007-09-27 | 2013-06-04 | Oracle America, Inc. | Method and system for onloading network services |
| US8856926B2 (en) * | 2008-06-27 | 2014-10-07 | Juniper Networks, Inc. | Dynamic policy provisioning within network security devices |
| US8713627B2 (en) * | 2008-08-14 | 2014-04-29 | Juniper Networks, Inc. | Scalable security services for multicast in a router having integrated zone-based firewall |
| US8955107B2 (en) * | 2008-09-12 | 2015-02-10 | Juniper Networks, Inc. | Hierarchical application of security services within a computer network |
| US8873377B2 (en) * | 2009-11-18 | 2014-10-28 | Juniper Networks, Inc. | Method and apparatus for hitless failover in networking systems using single database |
| US8705513B2 (en) * | 2009-12-15 | 2014-04-22 | At&T Intellectual Property I, L.P. | Methods and apparatus to communicatively couple virtual private networks to virtual machines within distributive computing networks |
-
2010
- 2010-09-23 US US12/888,838 patent/US8804747B2/en active Active
-
2011
- 2011-04-05 EP EP11717363.3A patent/EP2619676B1/en active Active
- 2011-04-05 WO PCT/US2011/031224 patent/WO2012039792A1/en not_active Ceased
- 2011-04-05 CN CN201180045891.7A patent/CN103141058B/zh active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101510843A (zh) * | 2009-02-24 | 2009-08-19 | 陈鸣 | 基于NetFlow流实时分离出P2P流的方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20120079478A1 (en) | 2012-03-29 |
| US8804747B2 (en) | 2014-08-12 |
| EP2619676A1 (en) | 2013-07-31 |
| EP2619676B1 (en) | 2017-11-22 |
| CN103141058A (zh) | 2013-06-05 |
| WO2012039792A1 (en) | 2012-03-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN103141058B (zh) | 用于虚拟分布式业务的网络接口控制器 | |
| US11374858B2 (en) | Methods and systems for directing traffic flows based on traffic flow classifications | |
| US11818022B2 (en) | Methods and systems for classifying traffic flows based on packet processing metadata | |
| EP3202109B1 (en) | Inline service switch | |
| US8625448B2 (en) | Method and system for validating network traffic classification in a blade server | |
| US11324077B2 (en) | Priority channels for distributed broadband network gateway control packets | |
| US10735325B1 (en) | Congestion avoidance in multipath routed flows | |
| US10015048B2 (en) | Programmable protocol parser for NIC classification and queue assignments | |
| US9654395B2 (en) | SDN-based service chaining system | |
| CN106105165B (zh) | 具有网络地址转换检测的动态服务链 | |
| US7885257B2 (en) | Multiple virtual network stack instances using virtual network interface cards | |
| CN111095901A (zh) | 服务操作链接方法和计算机程序 | |
| US10348683B2 (en) | Network packet filtering via media access control (MAC) address learning | |
| CN105637822A (zh) | 在用于中间件和应用执行的工程系统中提供数据服务的系统和方法 | |
| US11706152B2 (en) | Methods and systems for queue and pipeline latency metrology in network devices and smart NICs | |
| EP3718269B1 (en) | Packet value based packet processing | |
| CN104158743A (zh) | 分布式路由器的报文跨卡转发方法及装置 | |
| US10805436B2 (en) | Deliver an ingress packet to a queue at a gateway device | |
| US10148576B2 (en) | Network processing unit (NPU) integrated layer 2 network device for layer 3 offloading | |
| EP4661367A1 (en) | Processing of packet fragments | |
| WO2023205004A1 (en) | Customized processing for different classes of rdma traffic | |
| WO2016068839A1 (en) | Determining to process network protocol packets |
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 |