CN103477588B - 刀片服务器中刀片间网络业务的分类和管理方法和系统 - Google Patents
刀片服务器中刀片间网络业务的分类和管理方法和系统 Download PDFInfo
- Publication number
- CN103477588B CN103477588B CN201280015612.7A CN201280015612A CN103477588B CN 103477588 B CN103477588 B CN 103477588B CN 201280015612 A CN201280015612 A CN 201280015612A CN 103477588 B CN103477588 B CN 103477588B
- Authority
- CN
- China
- Prior art keywords
- dma
- packet
- blade
- address
- multicast packet
- 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
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- 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/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种用于对多播分组分类的系统和方法,涉及在分类引擎处接收从分组源发送的多播分组,根据多播分组的源地址,确定直接存储器存取(DMA)过滤向量;根据多播分组的目的地地址,确定DMA目标向量,其中DMA目标向量包括可用于传送多播分组的DMA通道的列表,根据DMA过滤向量和DMA目标向量,确定DMA最终向量,和按照DMA最终向量,发送多播分组。
Description
背景技术
按照惯例,在计算机相关领域中,网络是配置成相互通信的物理计算机系统的排列。在一些情况下,物理计算机系统可包括虚拟机,虚拟机也可被配置成与网络相互作用(即,与网络中的其它物理计算机和/或虚拟机通信)。存在许多不同种类的网络,可根据网络的各个方面,比如规模、连接方法、网络中的计算机系统的功能关系、和/或网络拓扑,对网络分类。
就连接方法来说,网络可被粗略分成有线网络(即,利用比如以太网电缆之类的有形连接介质)或无线网络(即,利用诸如无线电波之类的无形连接介质)。在单个网络中也可组合不同的连接方法。例如,有线网络可被扩展以允许设备无线地连接到网络。然而,诸如路由器、交换机和服务器之类的核心网络元件通常是利用物理导线连接的。
为了创建有线网络,计算机系统必须被物理互连。即,物理导线(例如,以太网电缆)的端部必须物理连接到形成网络的计算机系统中的网络接口卡。要重构网络(例如,替换服务器或者改变网络拓扑),一条或多条物理导线必须从计算机系统断开,然后连接到不同的计算机系统。在由IEEE802.3工作组负责的电气和电子工程师协会(IEEE)802.3标准内定义了以太网。
网络业务可通过网络(例如,因特网),从发送系统传送给接收系统(例如,从一个计算机系统到另一个计算机系统)。每个系统可配置有物理网络接口卡(PNIC)。PNIC是存在于典型计算机系统中的物理硬件设备,可通过发送和接收网络业务而用于服务一个或多个网络连接。一般,网络业务是以数据分组的形式传送的,其中每个数据分组包括报头和有效负载。报头包含关于源地址、目的地地址、大小、用于传送数据分组的传输协议的信息,和与数据分组关联的各种其它信息。有效负载包含待传送给接收系统的实际数据。
发明内容
一般而言,在一个方面,本发明涉及一种包含有计算机可读程序代码的计算机程序产品,当由处理器执行时,所述计算机可读程序代码适合于实现对多播分组分类的方法。所述方法包括在分类引擎处接收从分组源发送的多播分组;基于多播分组的源地址确定直接存储器存取(DMA)过滤向量。所述方法还包括基于多播分组的目的地地址确定DMA目标向量,其中该DMA目标向量包括可用于传送多播分组的DMA通道的列表。所述方法还包括基于DMA过滤向量和DMA目标向量确定DMA最终向量。所述方法还包括按照DMA最终向量发送多播分组。
一般而言,在一个方面,本发明涉及一种系统。所述系统包括机箱互连、物理网络接口、以及通过机箱互连相互通信地耦接的第一刀片和第二刀片。第一刀片和第二刀片共享物理网络接口。第一刀片包括分组源,并且第二刀片包括分组目的地。所述系统还包括网络快捷管理器(network express manager,NEM),所述网络快捷管理器(NEM)被配置成接收来自分组源的多播分组,基于多播分组的源地址确定直接存储器存取(DMA)过滤向量,基于多播分组的目的地地址确定DMA目标向量,基于DMA过滤向量和DMA目标向量确定DMA最终向量,和按照DMA最终向量对多播分组分类。
根据以下说明和所附权利要求,本发明的其它方面将是明显的。
附图说明
图1A-1B表示按照本发明的一个或多个实施例的系统的例子。
图2A-2C表示按照本发明的一个或多个实施例的用于保持数据的映射的例子。
图3表示按照本发明的一个或多个实施例的流程图。
图4A-4B表示按照本发明的一个或多个实施例的数据流的例子。
图5表示按照本发明的一个或多个实施例的例子。
图6表示按照本发明的一个或多个实施例的计算机系统的图。
具体实施方式
下面参考附图,详细说明本发明的具体实施例。考虑到一致性,各个图中的相同元件用相同的附图标记表示。
在本发明的实施例的以下详细说明中,记载了众多的具体细节,以便更透彻地理解本发明。不过,对本领域的普通技术人员来说,显然可在没有这些具体细节的情况下实践本发明。在其它情况下,没有详细说明公知的特征,以避免不必要地使说明变复杂。
一般来说,本发明的实施例提供一种路由和分类刀片机箱内的刀片间业务的系统和方法。具体地,本发明的实施例提供一种路由和分类刀片机箱内的多播/广播分组,同时防止分组被路由回到分组源的系统和方法。在一个或多个实施例中,对于多播/广播分组,确定目标向量和过滤向量。利用过滤向量进行目标向量的掩蔽运算以获得最终向量。最终向量随后可被用于路由多播/广播分组。在一个或多个实施例中,目标向量、过滤向量和最终向量可以是代表直接存储器存取(DMA)通道的位图。
本发明的实施例涉及按照SR-IOV(单根)规范和MR-IOV(多根)规范的一个或多个物理网络接口卡(PNIC)的使用。和PCITM是俄勒冈州比佛顿市的外围组件互连专业组(PCI-SIG)的商标。
按照SR-IOV规范,遵从PCITM的PNIC(即,单根)被定义成具有用于PNIC的配置和管理的至少一种网络功能。在本发明的一个或多个实施例中,物理功能是用于配置和管理PNIC的完全PCITM功能。在本发明的一个或多个实施例中,虚拟功能是用于PNIC发送和接收的网络业务的数据移动的轻量PCITM功能。虽然调用物理功能能够实现PNIC的控制,但调用虚拟功能不提供PNIC的控制。因而,按照SR-IOV规范,本发明的实施例可以利用网络功能实现在主机计算机系统上运行的虚拟机和操作上连接到主机计算机系统的遵从PCITM的PNIC之间的网络功能映射。按照MR-IOV规范,多个遵从PCITM的PNIC(即,多根)与为主机计算机系统运行的一个或多个虚拟机合作。
利用网络功能映射,可在虚拟机和PNIC之间实现数据路径,以使得向虚拟机提供对PNIC的直接硬件存取。因而,虚拟机可利用网络功能在虚拟机和PNIC之间直接传送网络业务(即,数据分组)。换句话说,在虚拟机和PNIC之间传送网络业务,而没有任何中间层(例如,管理程序、主机操作系统)的额外处理。在一个或多个实施例中,网络功能可以利用直接存储器存取(DMA)通道进行网络业务的这种传送。
图1A表示按照本发明的一个或多个实施例的系统的例子。具体地,图1A表示按照本发明的一个或多个实施例的刀片机箱(100)的组件。在本发明的一个或多个实施例中,刀片机箱(100)可以是IBM机箱、Hewlett Packard Inc.的HP BladeSystem机壳,或者任何其它种类的刀片机箱。是总部位于纽约Armonk的国际商用机器公司(IBM)的注册商标。如图1A中所示,在本发明的一个或多个实施例中,刀片机箱(100)可包括物理网络接口(PNIC)(101)、机箱互连(112)、操作上由机箱互连(112)互连的多个刀片(例如,刀片1(114)、刀片2(126)),和网络快捷管理器(NEM)(108)。下面参考图1B说明NEM(108)。
在本发明的一个或多个实施例中,PNIC(101)是操作上连接到刀片机箱(100)的硬件设备。具体地,PNIC(101)被配置成以数据分组的形式发送和接收传送给刀片机箱(100)和从刀片机箱(100)传送的网络业务。PNIC(101)可包括一个或多个网络端口(例如,以太网端口),并提供刀片机箱(100)和网络(104)(例如,局域网、广域网、因特网等)之间的接口。因而,PNIC(101)可通过传送与网络连接关联的入站和出站网络业务而服务该网络连接。在本发明的一个或多个实施例中,刀片机箱(100)可以例如利用多个网络端口连接到多个网络。在本发明的一个或多个实施例中,存在用于刀片机箱(100)的一个PNIC(101)(即,单根刀片机箱结构)。作为替代地,在本发明的一个或多个实施例中,可存在用于刀片机箱(100)的多个PNIC(101)(即,多根刀片机箱结构)。
在本发明的一个或多个实施例中,PNIC(101)可以是遵从PCITM的PNIC,使得PNIC(101)配置有可用于PNIC(101)的配置和管理的一种或多种网络功能。例如,在本发明的一个或多个实施例中,网络功能可以是用于为PNIC(101)管理数据移动的物理或虚拟功能。具体地,按照SR-IOV和MR-IOV规范,本发明的一个或多个实施例可利用网络功能实现在刀片(114、126)上运行的虚拟机(116、128)与操作上连接到刀片机箱的遵从PCITM的PNIC之间的网络功能映射。
在本发明的一个或多个实施例中,刀片(114、126)指的是包含在刀片机箱(例如,图1A中所示的刀片机箱(100))中的计算机系统。在本发明的一个或多个实施例中,刀片(114、126)可包括一个或多个处理器和相关的存储器。在本发明的一个或多个实施例中,刀片(114、126)还可包括存储设备(例如,硬盘驱动器),和现代计算机系统典型的众多其它元件和功能,比如键盘、鼠标、监视器和/或其它输入/输出装置。在本发明的一个或多个实施例中,刀片(114、126)可包括比独立的计算机系统或者常规服务器少的组件。作为替代地,在本发明的一个或多个实施例中,可代替刀片机箱中的刀片(114、126)(或者与刀片(114、126)结合)使用功能完备的独立计算机系统或者常规服务器。
在本发明的一个或多个实施例中,刀片(114、126)包括配置成执行一个或多个虚拟机(例如,虚拟机1(116)、虚拟机2(128))的主机操作系统(未示出)。在一个或多个实施例中,虚拟机(116、128)是托管在主机操作系统(未示出)上的隔离的软件运行环境。具体地,按照本发明的实施例,虚拟机(116、128)被配置成模拟进程的运行,好像该进程正在物理计算设备上运行似的。
在本发明的一个或多个实施例中,一个或多个可执行的软件进程可托管在刀片(114、126)的虚拟机(116、118)上。例如,如图1A中所示,每个虚拟机(116、128)可以托管应用(124、134)、虚拟网络协议栈(122、132)、虚拟网络接口卡(VNIC)(120、130)、网络功能驱动器(118、119),和网络功能(105、106)。
在本发明的一个或多个实施例中,应用(124、134)可以是任何用户级或内核级软件进程。在本发明的一个或多个实施例中,应用(124、134)的执行可导致生成网络业务和通过网络(104)从虚拟机(116、128)发送所述网络业务。同样地,应用(124、134)可以是通过网络(104)发送给虚拟机(116、128)和由虚拟机(116、128)接收的网络业务的指定接收方。用户级应用的例子包括但不限于电子邮件客户端软件、web浏览软件、或者任何其它桌面软件应用。内核级应用的例子包括但不限于来宾操作系统(未示出)。
在虚拟机(116、128)上运行的来宾操作系统(未示出)可以与刀片(114、126)的主机操作系统(未示出)相同或不同。此外,在本发明的一个或多个实施例中,刀片(114、126)的主机操作系统(未示出)可以充当多个虚拟机(未示出)的主机。在这样的实施例中,每个虚拟机包括来宾操作系统的单独实例。例如,虚拟化计划允许在主机操作系统中运行多个来宾操作系统。是由Xen计划咨询委员会管理的商标。此外,按照本发明的一个或多个实施例,虚拟机可包括许多不同种类的功能,比如交换机、路由器、防火墙、负载均衡器、应用服务器、任何其它种类的支持网络的服务,或者它们的任意组合。
在本发明的一个或多个实施例中,虚拟网络协议栈(122、132)可包括网际协议(IP)层、入站和出站虚拟串行化队列、和传输层(未示出)。例如,IP层被配置成进行入站和出站的数据分组的IP层处理。入站虚拟串行化队列是配置成在数据分组由传输层处理之前接收来自IP层的数据分组的队列数据结构。传输层可被配置成按照任何传输层协议(例如,传输控制协议(TCP)、用户数据报协议(UDP)、数据报拥塞控制协议(DCCP)、光纤通道协议(FCP)、流控制传输协议(SCTP)、结构化流传输(SST)等等)处理入站和出站数据分组。出站虚拟串行化队列是配置成接收来自与虚拟网络协议栈(122、132)关联的VNIC(120、130)的数据分组的队列数据结构。
在本发明的一个或多个实施例中,VNIC(120、130)实现介质访问控制(MAC)层功能。在本发明的这样的实施例中,VNIC(120、130)可被配置成在虚拟机(116、128)和操作上连接到刀片机箱(100)的PNIC(101)之间发送和接收网络业务(即,数据分组)。因而,在本发明的这种实施例中,VNIC(120、130)包括PNIC的功能,并且对与VNIC(120、130)关联的虚拟机(116、128)来说表现为PNIC。
在本发明的一个或多个实施例中,每个虚拟机(116、128)可以与任意数目的VNIC关联,从而增大对虚拟机(116、128)可用的连网功能的种类的灵活性。例如,虚拟机(116、128)可把第一VNIC用于输入的网络业务,而把第二VNIC用于输出的网络业务。在(i)以Nicolas G.Droux,Erik Nordmark和Sunay Tripathi的名义共同拥有的美国专利申请序列号No.11/489,942,“Multiple Virtual Network Stack Instances using VirtualNetwork Interface Cards”,和(ii)以Sunay Tripathi,Tim P.Marsland和NicolasG.Droux的名义共同拥有的美国专利No.7,613,132,“Method and System forControlling Virtual Machine Bandwidth”中,进一步说明了按照本发明的一个或多个实施例的VNIC。上述申请的内容在此整体引为参考。
在本发明的一个或多个实施例中,网络功能驱动器(118、119)是配置成向虚拟机(116、128)提供对操作上连接到刀片机箱(100)的PNIC(101)的直接存取和控制的接口。具体地,如上所述,网络功能驱动器(118、119)利用在虚拟机(116、128)和PNIC(101)之间映射的网络功能(105、106),在虚拟机(116、128)和PNIC(101)之间直接传送网络业务(即,数据分组)。
在本发明的一个或多个实施例中,机箱互连(112)可被用于连接一个或多个刀片(114、126)与共享的计算资源(例如,一个或多个PNIC、包括诸如键盘、鼠标或显示监视器之类的输入/输出装置,和其它计算机组件/外设)。例如,如图1A中所示,机箱互连(112)连接多个刀片(114、126)和包括PNIC(101)的共享计算资源。此外,在本发明的一个或多个实施例中,机箱互连(112)被用于连接多个刀片(114、126),并从而实现多个刀片(114、126)之间的通信。在本发明的一个或多个实施例中,实现如上所述的由机箱互连(112)提供的连通性,而不需要使用传统的网线(例如,以太网电缆)。
在本发明的一个或多个实施例中,机箱互连(112)可以是快捷外围组件接口(PCI-E)底板。在本发明的一个或多个实施例中,机箱互连(112)可包括多个PCI-E端点(未示出)。因而,在这样的实施例中,PCI-E端点(未示出)被用于连接一个或多个刀片(114、126)和刀片机箱(100),使得刀片(114、126)可被配置成利用PCI-E端口(即,与利用传统网线相反)通信(例如,与另一个刀片通信、与操作上连接到刀片机箱的共享资源通信)。本领域的技术人员会理解,可以使用其它连接技术将一个或多个刀片(114、126)连接到刀片机箱(100)。
图1B表示按照本发明的一个或多个实施例,包含在NEM(108)中的组件。在一个或多个实施例中,NEM(108)可被配置成除了管理刀片(114、126)与PNIC(101)之间的内部通信之外,还管理多个刀片(114、126)之间的内部通信。同样地,NEM(108)被配置成管理操作上连接到刀片机箱的各个组件之间的网络业务的路由。在本发明的一个或多个实施例中,网络快捷管理器(108)可以是包括用于执行上述网络路由功能的可执行逻辑的硬件、软件和/或固件的任意组合。
在本发明的一个或多个实施例中,NEM(108)包括虚拟交换表(未示出)。虚拟交换表可包括一个或多个映射,每个映射使VNIC(120、130)的VNIC标识符与机箱互连(112)中的VNIC位置关联。在其中机箱互连(112)是PCI-E底板的一个或多个实施例中,VNIC(120、130)的VNIC标识符可以是网际协议(IP)地址,并且VNIC位置可以是与上面运行VNIC(120、130)的刀片(114、126)关联的PCI-E端点。
在本发明的一个或多个实施例中,借助NEM(108)的虚拟切换表的管理有助于虚拟网络路径的创建。因而,在本发明的这种实施例中,位于不同刀片(114、126)中的虚拟机(116、128)可被互连,从而形成任意的虚拟网络拓扑,其中与每个虚拟机(116、128)关联的VNIC(120、130)不需要知道其它VNIC的物理位置。此外,如果虚拟机(116、128)从一个刀片被迁移到另一个刀片,那么仅仅通过更新虚拟交换表以反映VNIC的新物理位置(即,不同的PCI-E端点),即可保存虚拟网络拓扑。
虚拟交换表可包括一个或多个映射,每个映射使VNIC(120、130)的VNIC标识符与机箱互连(112)中的VNIC位置关联。在其中机箱互连(112)是PCI-E底板的一个或多个实施例中,VNIC(120、130)的VNIC标识符可以是网际协议(IP)地址,并且VNIC位置可以是与上面运行VNIC(120、130)的刀片(114、126)关联的PCI-E端点。在一个或多个实施例中,VNIC标识符不被NEM(108)直接使用,而是借助网络功能(105、106)间接地使用的。
在一个或多个实施例中,NEM(108)可包括一个或多个分类表(110)。在一个或多个实施例中,第一分类表(110)可被配置成保存使层2(L2)地址与网络功能关联的第一种映射,并可被称为“L2表”。在一个或多个实施例中,L2地址是符合开放系统互连(OSI)模型的数据链路层地址。在一个或多个实施例中,第二分类表(110)可被配置成保存使网络功能与DMA目标向量关联的第二种映射,并且可被称为“NF表”。在一个或多个实施例中,第三分类表(110)可被配置成保存使键与DMA目标向量关联的第三种映射,并且可被称为“多播/广播表”。在一个或多个实施例中,通过利用任何持久的存储设备和数据格式,分类表(110)可由NEM(108)保存。例如,在一个或多个实施例中,利用用于实现高速搜索而配置的TCAM设备,分类表(110)可被保存为三态内容可寻址存储器(TCAM)条目。下面参考图2A-2C说明上面提及的分类表(110)的例子。
在本发明的一个或多个实施例中,NEM(108)可包括多个接收和传送(RX/TX)环(102)。在本发明的一个或多个实施例中,一个或多个RX/TX环(102)可被分配给特定的VNIC(120、130),以便分别临时存储入站和出站网络业务。
在本发明的一个或多个实施例中,分类表(110)可包括描述分配给每个VNIC(120、130)的资源,以及与每个VNIC(120、130)关联的数据的一个或多个条目。例如,分类表(110)的一个或多个条目可指定给定VNIC(120、130)与一个或多个RX/TX环(102)关联、链路状态(例如,链路速度、丢弃的分组的数目、链路连接/中断、链路有效/无效,等等)、MAC地址,等等。
在一个或多个实施例中,NEM(108)可包括一个或多个分类策略(136)。在一个或多个实施例中,分类策略可以是指引刀片机箱(100)内的网络业务的路由(即,刀片之间,或者刀片与PNIC之间的内部通信)的确定性算法。例如,分类策略可以是将分组输送给一组线程中的所有线程、顺序将分组输送给每个线程、根据散列函数(例如,消息摘要算法5(MD5)、安全散列算法(SHA))输送分组,等等。在本发明的一个或多个实施例中,一个或多个分类策略(136)可被保存在利用持久的存储设备实现的策略库(未示出)中。
在本发明的一个或多个实施例中,NEM(108)包括分类引擎(140),分类引擎(140)被配置成管理与刀片机箱(100)内的网络业务的路由相关的组件。具体地,在一个或多个实施例中,分类引擎(140)可被配置成管理上面说明的分类表(110)、分类策略(136)和/或虚拟交换表。例如,分类引擎(140)可以增加、删除和/或修改包含在分类表(110)和虚拟交换表中的映射。在另一个例子中,分类引擎(140)可以增加、删除和/或修改分类策略(136)。
在一个或多个实施例中,分类引擎(140)还可被配置成分类和/或路由刀片机箱(100)内的网络业务。在一个或多个实施例中,分类引擎(140)可被配置成根据上面说明的分类表(110)、分类策略(136)和/或虚拟交换表,对网络业务分类。此外,在一个或多个实施例中,分类引擎(140)可被配置成对多播/广播分组分类,使得多播/广播分组不会环回到源(即,不会被路由回到进行发送的网络功能)。下面参考图3、4A-4B和5进一步说明分类引擎(140)的功能。
图2A-2C表示按照本发明的一个或多个实施例,用于保持数据的映射的例子。在本发明的一个或多个实施例中,关于图2A-2C讨论的映射被保存在一个或多个分类表(110)中。
图2A表示L2表(210),L2表(210)保存使L2地址与网络功能关联的映射。如前所述,在本发明的一个或多个实施例中,L2地址是按照OSI模型的数据链路层地址。此外,在一个或多个实施例中,网络功能可以是用于为PNIC管理数据移动的物理或虚拟功能。如图2A中所示,例如,L2表(210)包括:(i)L2地址L2a与网络功能NFa之间的映射;(ii)L2地址L2d与网络功能NFd之间的映射;(iii)L2地址L2s与网络功能NFs之间的映射;和(iv)L2地址L2z与网络功能NFz之间的映射。
图2B表示网络功能(NF)表(220),NF表(220)保存使网络功能与直接存储器存取(DMA)目标向量关联的映射。在一个或多个实施例中,DMA目标向量可以是可用于传送分组的DMA通道的列表。在一个或多个实施例中,DMA通道可以是用于将数据(例如,数据分组)从一个组件传送到另一个组件(例如,从PNIC到刀片)的直接数据传送路径。在一个或多个实施例中,DMA目标向量可被表示成位图。如图2B中所示,例如,NF表(220)包括:(i)网络功能NFa与DMA目标向量Ta之间的映射;(ii)网络功能NFs与DMA目标向量Ts之间的映射;和(iii)网络NFz与DMA目标向量Tz之间的映射。
图2C示出多播/广播表(230),多播/广播表(230)保存使键与DMA目标向量关联的映射。在本发明的一个或多个实施例中,键是根据目的地L2地址而获得的唯一值。如图2C中所示,例如,多播/广播表(230)包括:(i)键Ka与DMA目标向量Ta之间的映射;(ii)键Kd与DMA目标向量Td之间的映射;和(iii)键Kz与DMA目标向量Tz之间的映射。
本领域的技术人员会注意到在图1A-1B和2A-2C中所示的软件环境是示例实施例,并不意图限制本发明。例如,为清楚起见,刀片机箱(100)被表示成包括两个刀片(114、126)。然而,预期刀片机箱(100)可包括任意数目的刀片(114、126)。在另一个例子中,预期上面关于上述组件(例如,分类表(110)、分类策略(136)、分类引擎(140)等)说明的任意功能可用任何其它软件组件实现。在又一个例子中,在一个或多个实施例中,可作为操作上连接到刀片机箱的单一硬件模块(未示出),包括NEM(108)和PNIC(101)。作为替代地,在一个或多个实施例中,可以用硬件、软件或固件,与PNIC(101)分开地独立实现NEM(108)。
图3表示按照本发明的一个或多个实施例,在刀片机箱内路由刀片间业务的方法的流程图。在一个或多个实施例中,图3中所示的处理可对应于上面参考图1A-1B和2A-2C说明的软件环境。此外,为了说明,下面可参考在图4A-4B中所示的例子,说明图3中所示的处理。受益于本详细说明,本领域的技术人员会理解在本发明的实施例之间,图3中所示的步骤的顺序可不同,并且图3中所示的一个或多个步骤可被省略、重复、并行地进行、和/或按照不同的顺序进行。因而,图3中所示的步骤的具体排列不应被解释成对本发明范围的限制。
在步骤310,NEM接收起源于刀片机箱内的分组。在一个或多个实施例中,分组可包括分组报头和有效负载。例如,参见图1A,NEM(108)可接收由网络功能1(104)发出的分组。
在步骤320,确定接收的分组是单播分组还是多播分组。例如,参见图1A,分类引擎(140)可判定接收的分组是单播分组还是多播分组。在一个或多个实施例中,单播分组被寻址到单一网络目的地。在一个或多个实施例中,多播分组是寻址到代表规定的一组网络目的地的多播地址的分组。多播分组可以是广播分组(即,寻址到代表局域网中的所有网络目的地的广播地址的分组)。
如果在步骤320,确定分组是多播分组,那么在步骤330,可利用分组报头确定L2源地址(即,发出分组的网络功能的L2地址)。例如,参见图1B和4A,分类引擎(140)可解析包括在接收的多播分组(400)的报头(410)中的源地址(413),从而可确定分组的L2源地址为L2s。在一个或多个实施例中,接收的多播分组(400)还包括有效负载(404)。
在步骤335,根据(在步骤330确定的)L2源地址,可确定源网络功能(即,用于发送分组的网络功能)。例如,参见图1B和4A,分类引擎(140)可在L2表(210)中查找L2源地址L2s,从而确定源网络功能为NFs。
在步骤340,根据(在步骤335确定的)网络功能,可确定DMA过滤向量(即,不可用于传送多播分组的DMA通道的列表)。例如,参见图1B和4A,分类引擎(140)可在NF表(220)中查找网络功能NFs,从而确定DMA过滤向量为Ts。
在步骤345,利用分组报头可确定L2目的地地址(即,分组被发送到的网络功能的L2地址)。例如,参见图1B和4A,分类引擎(140)可解析包含在报头(410)中的目的地地址(416),从而确定分组的L2目的地地址是L2d。
在步骤350,根据(在步骤345确定的)L2目的地地址,可确定键值。在本发明的一个或多个实施例中,可利用对于给定输入(即,L2目的地地址)生成唯一值(即,键)的确定性算法(例如,诸如MD5或SHA-1之类的散列函数)生成键。例如,参见图1B和4A,分类引擎(140)可将预定的函数f()应用于L2目的地地址L2d,从而生成键值Kd。
在步骤353,可根据(在步骤350确定的)键值,确定DMA目标向量(即,可用于传送多播分组的DMA通道的列表)。例如,参见图1B和4A,分类引擎(140)可在多播/广播表(230)中查找键值Kd,从而确定DMA目标向量为Td。
在步骤355,通过利用(在步骤340确定的)DMA过滤向量求解(在步骤353确定的)DMA目标向量,可以确定最终DMA向量(将用于传送多播分组的DMA通道的列表)。在一个或多个实施例中,最终DMA向量不包括分配给分组源的DMA通道,从而防止多播分组环回到分组源。在一个或多个实施例中,步骤355可涉及利用DMA过滤向量,对DMA目标向量进行掩蔽运算。此外,在一个或多个实施例中,掩蔽运算可以是逐位与(AND)运算。例如,参见图1B和4A,分类引擎(140)可利用DMA过滤向量Ts,对DMA目标向量Td进行掩蔽运算(例如,逐位与运算),从而获得最终DMA向量。后面参考图5进一步说明掩蔽运算。
在步骤355之后处理结束。在此阶段,可利用(在步骤355确定的)最终DMA向量,多播(或广播)分组。例如,参见图1A-1B和4A,NEM(108)可利用最终DMA向量将接收的多播分组(400)传给多个目的地。
重新参见步骤320,如果判定分组是单播分组,那么在步骤360,可利用分组报头确定L2目的地地址。例如,参见图1B和4B,分类引擎(140)可解析包含在接收的单播分组(405)的报头(410)中的目的地地址(416),从而确定单播分组的L2目的地地址为L2d。在一个或多个实施例中,接收的单播分组(405)还包括有效负载(404)。
在步骤365,根据(在步骤360确定的)L2目的地地址,可确定目的地网络功能(即,分组被发送到的网络功能)。例如,参见图1B和4B,分类引擎(140)可在L2表(210)中查找L2目的地地址L2d,从而确定目的地网络功能为NFd。
在步骤370,可根据(在步骤365确定的)目的地网络功能,确定DMA目标向量(即,可用于传送单播分组的DMA通道的列表)。例如,参见图1B和4B,分类引擎(140)可在NF表(220)中查找目的地网络功能NFd,从而确定DMA目标向量为Td。
在步骤375,可利用分组报头确定层3(L3)目的地地址和层4(L4)目的地地址。在本发明的一个或多个实施例中,L3地址是按照OSI模型的网络层地址(例如,IP地址)。在本发明的一个或多个实施例中,L4地址是按照OSI模型的传输层地址(例如,TCP地址)。例如,参见图1B和4B,分类引擎(140)可解析包含在报头(410)中的目的地地址(416),以确定接收的单播分组(405)的L3和L4目的地地址。
在步骤380,可根据(在步骤375确定的)L3/L4目的地地址确定配置。在本发明的一个或多个实施例中,所述配置可以规定分组分类的一个或多个方面(例如,将分组发送给哪个VLAN、如何在处理线程之间分布分组、如何对分组处理进行负载均衡、要使用或回避哪些DMA通道,等等)。此外,在本发明的一个或多个实施例中,所述配置还可基于除了L3/L4目的地地址以外的其它因素(例如,VLAN、分组分布策略,等等)。例如,参见图1B和4B,分类引擎(140)可根据接收的单播分组(405)的L3和L4目的地地址确定配置。
在步骤385,可根据(在步骤370确定的)DMA目标向量和(在步骤380确定的)配置,确定最终DMA向量(即,将用于传送单播分组的DMA通道的列表)。在一个或多个实施例中,步骤385可涉及根据所述配置增加DMA通道或者从DMA目标向量删除DMA通道。例如,参见图1B和4B,分类引擎(140)可利用配置(未示出)修正DMA目标向量Td。
在步骤385之后处理结束。在此阶段,可利用(在步骤385确定的)最终DMA向量单播该分组。例如,参见图1A和4B,NEM(108)可利用最终DMA向量传送接收的单播分组(405)。
图5表示按照本发明的一个或多个实施例的例子。该例子并不意图限制本发明的范围。如图所示,接收的多播分组(400)可由分类引擎(140)处理,从而生成最终DMA向量(505)。可按照上面参考图3说明的方法进行这样的处理。
在图5中所示的例子中,存在8个可用的DMA通道,即,DMA1(510)、DMA2(520)、DMA3(530)、DMA4(540)、DMA5(550)、DMA6(560)、DMA7(570)和DMA8(580)。因而,最终DMA向量(505)可以是8位的位图,每一位(从右到左)对应于DMA通道1-8。例如,假定最终DMA向量(505)被表示成“[10000011]”,其中“1”指示将用于传送分组的DMA通道,而“0”指示将不用于传送分组的DMA通道。因而,在这个例子中,表示成“[10000011]”的最终DMA向量(505)可指出DMA1(510)、DMA2(520)和DMA8(580)将用于传送多播分组(400)。
在一个或多个实施例中,具有给定位数(例如8位)的位图可被用于通过进行按位移位,将更大数目的DMA通道(例如,16个通道)分配给一组网络功能。例如,假定一组16个网络功能,8位的DMA向量可被用于通过有选择地使DMA向量移动8位位置而分配一组16个DMA通道。具体地,对于网络功能1-8,可不移位地使用DMA向量。然而,对于网络功能9-16,DMA向量可被移动8位。按照这种方式,DMA向量可表示数目比可用位数大的DMA通道。
现在参考图5,说明第一示例情形。假定刀片机箱包括两个刀片(例如,刀片1和刀片2),其中刀片1包括两个网络功能(例如,NF1和NF2)。另外假定NF1具有两个L2目的地地址(例如,DA1和DA2)。另外,假定DA1被指派使用DMA1(510),而DA2被指派使用DMA1(510)或DMA2(520)。最后,假定NF1发出具有DMA目标向量“[11111111]”的广播分组,指示所有8个DMA通道可用于传送广播分组。
在这种情形下,NF1的DMA过滤向量为“[00000011]”。即,由于DMA1(510)和DMA2(520)被分配给NF1的两个目的地地址(即,DA1和DA2),因此DMA过滤向量指出DMA1(510)和DMA2(520)将不用于传送从NF1发出的广播分组。利用DMA过滤向量的补码(即,“[11111100]”)对DMA目标向量(即,“[11111111]”)进行掩蔽运算(即,逐位与运算),从而获得最终DMA向量(即,“[11111100]”)。从而,最终DMA向量指出只有DMA3(530)、DMA4(540)、DMA5(550)、DMA6(560)、DMA7(570)和DMA8(580)将用于传送广播分组,从而防止广播分组环回到NF1。
现在参考图5说明第二示例情形。假定NF2具有两个L2目的地地址(例如,DA3和DA4)。另外,假定DA3被指派使用DMA1(510)或DMA2(520),而DA4被指派使用DMA5(550)或DMA6(560)。最后,假定NF2发出具有DMA目标向量“[11111000]”的多播分组,指示DMA通道DMA4(540)、DMA5(550)、DMA6(560)、DMA7(570)和DMA8(580)可用于传送多播分组。
在这种情形下,NF2的DMA过滤向量为“[00110011]”。即,由于DMA1(510)和DMA2(520)被分配给DA3,而DMA5(550)和DMA6(560)被分配给DA4,因而DMA过滤向量指出DMA1(510)、DMA2(520)、DMA5(550)和DMA6(560)将不用于传送从NF2发出的多播分组。利用DMA过滤向量的补码(即,“[11001100]”)对DMA目标向量(即,“[11111000]”)进行掩蔽运算(即,逐位与运算),从而获得最终DMA向量(即,“[11001000]”)。从而,最终DMA向量指出只有DMA4(540)、DMA7(570)和DMA8(580)将用于传送多播分组,从而防止多播分组环回到NF2。
本发明的实施例实际上可以在任何种类的计算机上实现,与使用的平台无关。例如,如图6中所示,计算机系统(600)包括一个或多个处理器(602)、相关的存储器(604)(例如,随机存取存储器(RAM),高速缓冲存储器,闪速存储器等)、存储装置(606)(例如,硬盘、诸如压缩盘驱动器或数字视频盘(DVD)驱动器之类的光驱、闪存棒等),和目前的计算机典型有的众多其它元件和功能(未示出)。计算机系统(600)还可包括输入装置,比如键盘(608),鼠标(610)或麦克风(未示出)。此外,计算机系统(600)可包括输出装置,比如监视器(612)(例如,液晶显示器(LCD)、等离子显示器,或者阴极射线管(CRT)监视器)。计算机系统(600)可通过网络接口连接(未示出)连接到网络(614)(例如局域网(LAN)、诸如因特网之类的广域网(WAN),或者任何其它类似种类的网络)。本领域的技术人员会理解存在许多不同种类的计算机系统,上述输入和输出装置可以采取其它形式。一般来说,计算机系统(600)至少包括为实践本发明的实施例所必需的最少的处理、输入和/或输出装置。
此外,本领域的技术人员会理解上述计算机系统(600)的一个或多个元件可以位于远程位置,并通过网络与其它元件连接。此外,可在具有多个节点的分布式系统上实现本发明的实施例,其中本发明的各个部分可以位于分布式系统内的不同节点上。在本发明的一个实施例中,所述节点对应于计算机系统。作为替代地,所述节点可对应于具有相关物理存储器的处理器。作为替代地,节点可以对应于具有共享存储器和/或资源的处理器。
此外,包含实现本发明的实施例的计算机可读程序代码或指令的计算机程序产品可包含上面保存所述计算机可读代码或指令的计算机可读存储介质。计算机可读存储介质可包括例如压缩盘(CD)、磁盘、磁带、物理存储器、或者包括保存实现本发明的实施例的计算机可读程序代码的功能的任何其它有形的计算机可读存储介质。在本发明的一个实施例中,当被一个或多个处理器执行时,计算机程序产品的计算机可读程序代码或者指令被配置成实现本发明的实施例。
虽然关于数目有限的实施例说明了本发明,不过受益于本公开,本领域的技术人员会理解可以作出不脱离这里公开的本发明的范围的其它实施例。因而,本发明的范围只应由附加的权利要求限定。
Claims (19)
1.一种用于对多播分组分类的方法,包括:
在操作上连接到机箱互连的网络快捷管理器上的分类引擎处接收从第一刀片上的与源地址关联的分组源发送的多播分组,所述多播分组以第二刀片上的与目的地地址关联的分组目的地为目标,其中第一刀片和第二刀片操作上连接到所述机箱互连;
根据多播分组的源地址,确定直接存储器存取DMA过滤向量;
根据多播分组的目的地地址,确定第一DMA目标向量,其中第一DMA目标向量包括能用于传送多播分组的DMA通道的列表;
根据DMA过滤向量和第一DMA目标向量,确定DMA最终向量;和
通过利用与DMA最终向量对应的DMA通道来将所述多播分组传送到第二刀片,来按照DMA最终向量发送多播分组。
2.按照权利要求1所述的方法,还包括:
接收单播分组;
利用单播分组的目的地地址,确定第二DMA目标向量;和
按照第二DMA目标向量,对单播分组分类。
3.按照权利要求2所述的方法,还包括:
按照第二DMA最终向量,发送单播分组。
4.按照权利要求2或3所述的方法,其中确定第二DMA目标向量包括:
利用单播分组的目的地地址,确定网络功能;和
确定与网络功能关联的第二DMA目标向量。
5.按照权利要求2或3所述的方法,其中确定第二DMA目标向量包括利用从以下各项中选择的一项:层3(L3)地址、层4(L4)地址、虚拟局域网(VLAN)、和分组分布策略。
6.按照权利要求1-3任意之一所述的方法,其中确定DMA过滤向量包括:
利用多播分组的源地址,确定与分组源关联的网络功能;和
确定与网络功能关联的DMA过滤向量。
7.按照权利要求6所述的方法,其中确定与分组源关联的网络功能包括查询描述多个层2(L2)地址与多个网络功能之间的多个关系的第一数据结构。
8.按照权利要求7所述的方法,其中确定与网络功能关联的DMA过滤向量包括查询描述至少一个网络功能与多个DMA通道之间的多个关系的第二数据结构。
9.按照权利要求1-3任意之一所述的方法,其中确定第一DMA目标向量包括:
利用多播分组的目的地地址,确定第一键值;和
确定与第一键值关联的DMA目标向量。
10.按照权利要求1-3任意之一所述的方法,其中DMA过滤向量和第一DMA目标向量被表示成位图。
11.按照权利要求1-3任意之一所述的方法,其中DMA最终向量包括用于传送多播分组的DMA通道的列表。
12.按照权利要求1-3任意之一所述的方法,其中多播分组的源地址是包含在多播分组的分组报头中的层2(L2)源地址。
13.按照权利要求1所述的方法,其中确定DMA最终向量包括:
利用DMA过滤向量,对DMA目标向量进行掩蔽运算。
14.按照权利要求13所述的方法,其中掩蔽运算是逐位与运算。
15.一种系统,包括:
机箱互连;
物理网络接口;
通过机箱互连,相互通信地耦接的第一刀片和第二刀片,
其中第一刀片和第二刀片共享物理网络接口,
其中第一刀片包括分组源,
其中第二刀片包括分组目的地;和
网络快捷管理器NEM,操作上连接到所述机箱互连,所述网络快捷管理器NEM被配置成:
接收来自第一刀片上的分组源的多播分组;
根据多播分组的源地址,确定直接存储器存取(DMA)过滤向量,其中所述源地址与第一刀片上的分组源关联;
根据多播分组的目的地地址,确定DMA目标向量,其中所述目的地地址与第二刀片上的分组目的地关联;
根据DMA过滤向量和DMA目标向量,确定DMA最终向量;和
通过利用与DMA最终向量对应的DMA通道来将所述多播分组传送到第二刀片,来按照DMA最终向量发送多播分组。
16.按照权利要求15所述的系统,其中多播分组是广播分组。
17.按照权利要求15或16所述的系统,其中所述NEM包括多个分类策略,其中所述多个分类策略中的每一个是指引系统内的网络业务的路由的确定性算法。
18.按照权利要求15或16所述的系统,其中所述NEM包括第一数据结构,所述第一数据结构描述多个层2(L2)地址与多个网络功能之间的多个关系。
19.按照权利要求18所述的系统,其中所述NEM包括描述至少一个网络功能与多个DMA通道之间的多个关系的第二数据结构,和描述一个或多个键值与多个DMA通道之间的多个关系的第三数据结构。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/028,593 US8913613B2 (en) | 2011-02-16 | 2011-02-16 | Method and system for classification and management of inter-blade network traffic in a blade server |
US13/028,593 | 2011-02-16 | ||
PCT/US2012/020746 WO2012112235A1 (en) | 2011-02-16 | 2012-01-10 | Method and system for classification and management of inter-blade network traffic in a blade server |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103477588A CN103477588A (zh) | 2013-12-25 |
CN103477588B true CN103477588B (zh) | 2016-10-19 |
Family
ID=45554815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280015612.7A Active CN103477588B (zh) | 2011-02-16 | 2012-01-10 | 刀片服务器中刀片间网络业务的分类和管理方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8913613B2 (zh) |
EP (1) | EP2676411B1 (zh) |
CN (1) | CN103477588B (zh) |
WO (1) | WO2012112235A1 (zh) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8634415B2 (en) | 2011-02-16 | 2014-01-21 | Oracle International Corporation | Method and system for routing network traffic for a blade server |
US9858241B2 (en) | 2013-11-05 | 2018-01-02 | Oracle International Corporation | System and method for supporting optimized buffer utilization for packet processing in a networking device |
US8774213B2 (en) | 2011-03-30 | 2014-07-08 | Amazon Technologies, Inc. | Frameworks and interfaces for offload device-based packet processing |
US8462780B2 (en) | 2011-03-30 | 2013-06-11 | Amazon Technologies, Inc. | Offload device-based stateless packet processing |
US9135092B2 (en) | 2012-02-02 | 2015-09-15 | International Business Machines Corporation | Multicast message filtering in virtual environments |
US9197545B2 (en) | 2012-05-18 | 2015-11-24 | Benu Networks, Inc. | Highly scalable modular system with high reliability and low latency |
US10397101B1 (en) * | 2012-12-27 | 2019-08-27 | Sitting Man, Llc | Routing methods, systems, and computer program products for mapping identifiers |
US10397100B1 (en) * | 2012-12-27 | 2019-08-27 | Sitting Man, Llc | Routing methods, systems, and computer program products using a region scoped outside-scope identifier |
US10411998B1 (en) * | 2012-12-27 | 2019-09-10 | Sitting Man, Llc | Node scope-specific outside-scope identifier-equipped routing methods, systems, and computer program products |
US10411997B1 (en) * | 2012-12-27 | 2019-09-10 | Sitting Man, Llc | Routing methods, systems, and computer program products for using a region scoped node identifier |
US10904144B2 (en) | 2012-12-27 | 2021-01-26 | Sitting Man, Llc | Methods, systems, and computer program products for associating a name with a network path |
US10447575B1 (en) | 2012-12-27 | 2019-10-15 | Sitting Man, Llc | Routing methods, systems, and computer program products |
US10419335B1 (en) * | 2012-12-27 | 2019-09-17 | Sitting Man, Llc | Region scope-specific outside-scope indentifier-equipped routing methods, systems, and computer program products |
US10419334B1 (en) * | 2012-12-27 | 2019-09-17 | Sitting Man, Llc | Internet protocol routing methods, systems, and computer program products |
US10212076B1 (en) * | 2012-12-27 | 2019-02-19 | Sitting Man, Llc | Routing methods, systems, and computer program products for mapping a node-scope specific identifier |
US10404583B1 (en) * | 2012-12-27 | 2019-09-03 | Sitting Man, Llc | Routing methods, systems, and computer program products using multiple outside-scope identifiers |
US10404582B1 (en) * | 2012-12-27 | 2019-09-03 | Sitting Man, Llc | Routing methods, systems, and computer program products using an outside-scope indentifier |
WO2015069408A1 (en) * | 2013-11-05 | 2015-05-14 | Oracle International Corporation | System and method for supporting efficient packet processing model and optimized buffer utilization for packet processing in a network environment |
US9489327B2 (en) | 2013-11-05 | 2016-11-08 | Oracle International Corporation | System and method for supporting an efficient packet processing model in a network environment |
CN105808345B (zh) * | 2014-12-31 | 2019-03-08 | 华为技术有限公司 | 数据处理方法、加速引擎、控制板和系统 |
TWI573426B (zh) | 2015-02-12 | 2017-03-01 | 達創科技股份有限公司 | 智慧照明系統、網路設備及其操作方法 |
US10091113B2 (en) | 2015-11-06 | 2018-10-02 | At&T Intellectual Property I, L.P. | Network functions virtualization leveraging unified traffic management and real-world event planning |
ES2787450T3 (es) * | 2017-01-20 | 2020-10-16 | Huawei Tech Co Ltd | Procedimiento de reenvío de paquetes de datos, adaptador de red, dispositivo host y sistema informático |
CA3081591A1 (en) | 2017-11-06 | 2019-05-09 | Pensando Systems Inc. | Network system including match processing unit for table-based actions |
CA3091265A1 (en) * | 2018-02-22 | 2019-08-29 | Michael Brian Galles | Programmable computer io device interface |
CN108616390B (zh) * | 2018-04-11 | 2019-09-13 | 新华三信息技术有限公司 | 刀箱管理方法、装置和刀箱管理的实现装置 |
CN109634907A (zh) * | 2018-11-22 | 2019-04-16 | 新华三技术有限公司 | 数据交互方法及装置 |
CN109861959B (zh) * | 2018-11-22 | 2022-04-08 | 新华三技术有限公司 | 数据传输方法及装置 |
US11604748B2 (en) * | 2020-10-30 | 2023-03-14 | Microsoft Technology Licensing, Llc | Interconnect for direct memory access controllers |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101018180A (zh) * | 2007-03-12 | 2007-08-15 | 中兴通讯股份有限公司 | 一种堆叠系统内部转发表的实现方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020055287A (ko) * | 2000-12-28 | 2002-07-08 | 구자홍 | 라우터 장치의 패킷 라우팅 방법 |
US7380271B2 (en) * | 2001-07-12 | 2008-05-27 | International Business Machines Corporation | Grouped access control list actions |
US20050099951A1 (en) * | 2003-11-10 | 2005-05-12 | Nortel Networks Limited | Ethernet OAM fault detection and verification |
US20060045088A1 (en) * | 2004-08-25 | 2006-03-02 | Nokia Inc. | Method of using Patricia tree and longest prefix match for policy-based route look-up |
US7567567B2 (en) * | 2005-04-05 | 2009-07-28 | Sun Microsystems, Inc. | Network system including packet classification for partitioned resources |
US7848224B2 (en) | 2005-07-05 | 2010-12-07 | Cisco Technology, Inc. | Method and apparatus for constructing a repair path for multicast data |
US8116312B2 (en) * | 2006-02-08 | 2012-02-14 | Solarflare Communications, Inc. | Method and apparatus for multicast packet reception |
US8295275B2 (en) | 2006-03-20 | 2012-10-23 | Intel Corporation | Tagging network I/O transactions in a virtual machine run-time environment |
US7613132B2 (en) | 2006-06-30 | 2009-11-03 | Sun Microsystems, Inc. | Method and system for controlling virtual machine bandwidth |
US7885257B2 (en) | 2006-07-20 | 2011-02-08 | Oracle America, Inc. | Multiple virtual network stack instances using virtual network interface cards |
US8539098B2 (en) | 2007-10-17 | 2013-09-17 | Dispersive Networks, Inc. | Multiplexed client server (MCS) communications and systems |
US8266337B2 (en) * | 2007-12-06 | 2012-09-11 | International Business Machines Corporation | Dynamic logical data channel assignment using channel bitmap |
US8370530B2 (en) * | 2007-12-10 | 2013-02-05 | Oracle America, Inc. | Method and system for controlling network traffic in a blade chassis |
EP2258084B1 (en) | 2008-03-10 | 2012-06-06 | Telefonaktiebolaget L M Ericsson (PUBL) | Technique for classifying network traffic and for validating a mechanism for calassifying network traffic |
US8739179B2 (en) | 2008-06-30 | 2014-05-27 | Oracle America Inc. | Method and system for low-overhead data transfer |
US7970963B2 (en) * | 2009-06-29 | 2011-06-28 | Oracle America, Inc. | Efficient buffer management in a multi-threaded network interface |
US8514714B2 (en) | 2009-10-06 | 2013-08-20 | Electronics And Telecommunications Research Institute | Device and method for providing forwarding information and QOS information in flow based network environment |
-
2011
- 2011-02-16 US US13/028,593 patent/US8913613B2/en active Active
-
2012
- 2012-01-10 EP EP12701567.5A patent/EP2676411B1/en active Active
- 2012-01-10 CN CN201280015612.7A patent/CN103477588B/zh active Active
- 2012-01-10 WO PCT/US2012/020746 patent/WO2012112235A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101018180A (zh) * | 2007-03-12 | 2007-08-15 | 中兴通讯股份有限公司 | 一种堆叠系统内部转发表的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2012112235A1 (en) | 2012-08-23 |
CN103477588A (zh) | 2013-12-25 |
EP2676411A1 (en) | 2013-12-25 |
US8913613B2 (en) | 2014-12-16 |
EP2676411B1 (en) | 2019-08-07 |
US20120207158A1 (en) | 2012-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103477588B (zh) | 刀片服务器中刀片间网络业务的分类和管理方法和系统 | |
US8954992B2 (en) | Distributed and scaled-out network switch and packet processing | |
US8634415B2 (en) | Method and system for routing network traffic for a blade server | |
US8891375B2 (en) | System and method for virtual Ethernet interface binding | |
US11991246B2 (en) | Cloud scale multi-tenancy for RDMA over converged ethernet (RoCE) | |
WO2021242428A1 (en) | Loop prevention in virtual l2 networks | |
CN103595648B (zh) | 用于在服务器的接收侧进行负载均衡的方法和系统 | |
CN102025643B (zh) | 一种流表查找方法和装置 | |
US11516126B2 (en) | Techniques for high performant virtual routing capabilities | |
US12010195B2 (en) | Efficient flow management utilizing control packets | |
US11637770B2 (en) | Invalidating cached flow information in a cloud infrastructure | |
CN106453023B (zh) | 一种用于物理设备与虚拟网络的通信方法、设备与系统 | |
CN110177047B (zh) | 报文发送方法、装置、电子设备和计算机可读存储介质 | |
US20240291762A1 (en) | Efficient flow management utilizing unified logging | |
US20240291768A1 (en) | Port addressing via packet header modification | |
US20240291889A1 (en) | CLOUD SCALE MULTI-TENANCY FOR RDMA OVER CONVERGED ETHERNET (RoCE) | |
JP2024528474A (ja) | 画像処理装置のルーティングポリシー | |
WO2022146466A1 (en) | Class-based queueing for scalable multi-tenant rdma traffic | |
US20230224223A1 (en) | Publishing physical topology network locality for general workloads | |
CN108632125A (zh) | 一种组播表项管理方法、装置、设备及机器可读存储介质 | |
CN116724546A (zh) | 用于融合以太网上的RDMA(RoCE)云规模多租赁 | |
US20240323255A1 (en) | Class-based queueing for scalable multi-tenant rdma traffic | |
WO2022146470A1 (en) | Cloud scale multi-tenancy for rdma over converged ethernet (roce) |
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 |