CN104168223B - 用于确定分组优先级的方法和系统 - Google Patents

用于确定分组优先级的方法和系统 Download PDF

Info

Publication number
CN104168223B
CN104168223B CN201410156345.6A CN201410156345A CN104168223B CN 104168223 B CN104168223 B CN 104168223B CN 201410156345 A CN201410156345 A CN 201410156345A CN 104168223 B CN104168223 B CN 104168223B
Authority
CN
China
Prior art keywords
priority
encapsulating packets
grouping
covering
bottoms
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
Application number
CN201410156345.6A
Other languages
English (en)
Other versions
CN104168223A (zh
Inventor
K·G·坎伯
U·S·纳格拉杰
V·A·潘迪
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.)
Qindarui Co.
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN104168223A publication Critical patent/CN104168223A/zh
Application granted granted Critical
Publication of CN104168223B publication Critical patent/CN104168223B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2458Modification of priorities while in transit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开涉及用于确定分组优先级的方法和系统。在一种实施例中,系统包括适于接收包括一个或多个底层分组的覆盖封装分组的逻辑,适于解封装来自覆盖封装分组的一个或多个底层分组的逻辑,适于基于以下中的至少一个为一个或多个底层分组中的每一个得到优先级的逻辑:覆盖封装分组的优先级、覆盖封装分组的传输报头和一个或多个底层分组的应用名称,及适于设置一个或多个底层分组的优先级的逻辑。在另一种实施例中,方法包括接收覆盖封装分组、解封装来自覆盖封装分组的底层分组、为底层分组得到优先级,以及设置底层分组的优先级,所述优先级基于以下任何一个:覆盖封装分组的优先级、覆盖封装分组的传输报头,和/或底层分组的应用名称。

Description

用于确定分组优先级的方法和系统
技术领域
本发明涉及数据中心基础设施,并且更具体地说,本发明涉及在覆盖网络(overlay network)处理期间给分组提供优先级信息。
背景技术
网络虚拟化是新兴的数据中心和云计算趋势,其目标是在多租户环境以及传统环境中,以从终端工作站的角度来看极大简化网络供应的方式来虚拟化网络。实现网络虚拟化较常见的一种技术是利用网络覆盖,其中隧道在服务器、边缘网络交换机和终端工作站连接到的网关之间建立。隧道实际上是通过把由源端工作站发送的分组封装成经由基于互联网协议(IP)的网络在用户数据报协议(UDP)传输中把分组从源交换机传输到目标交换机的覆盖报头实现的。覆盖报头包括唯一识别虚拟网络的标识符(ID)。目标交换机(隧道终点)剥去覆盖报头封装、UDP传输报头、以及IP报头并且经由传统网络连接把原始分组交付到目的端工作站。除这种隧道机制外,边缘交换机参与地址发现协议,这可以是基于学习/泛洪的或者基于查找的。
象虚拟可扩展局域网(VXLAN)、利用通用路由封装的网络虚拟化(NVGRE)等的覆盖网络利用隧道连接地理上分离的层-2 (L2)网络。这些是层-3(L3)隧道上的L2。在VXLAN中源自虚拟机(VM)发往同一VXLAN中另一个物理位置中的另一个VM或一组VM的L2分组是在L3隧道上承载的。
可以利用多个VM与控制网络分组从每个VM进和出的处理的虚拟化平台来实现覆盖网络,并且一个或多个VM可以与覆盖网络相关联。虚拟化平台利用用于相应覆盖网络和/或VM的预定义属性和策略处理与每个覆盖网络和/或VM相关联的网络流量。随着覆盖网络数量的增长,虚拟化平台的处理负载需求也随着增长。
服务器可以托管任意数量的VM,但是当在出口处理期间标记分组时,VM并不是始终在分组的虚拟局域网(VLAN)标签中设置分组优先级位。此外,如果在出口处理期间分组被标记或者被重复标记,那么服务器中的虚拟交换机(vSwitches)并不始终在VLAN标签中设置分组优先级位。这是因为VM或vSwitch可以依赖服务器所连接的紧靠的交换机在VLAN标签中提供优先级标记。根据处理标准,只有当分组被分类时或者当分组被归于特定的组时才需要标记。
用于VXLAN或其它覆盖网络的底层隧道以及分组处理模块见不到内部分组的任何优先级标记。这对于在不知道分组优先级的情况下必须处理该分组的下游所有进行进一步分组处理的引擎产生了一个问题。偶尔,由于底层分组优先级与高优先级内部分组不匹配,所以高优先级内部分组(例如,内部以太网光纤通道(FCoE)分组、内部视频分组等)会得到低优先级处理。因此,在某些情况下,这些高优先级分组甚至会由于优先级不明确而被丢弃。
因此,有一种甚至在处理其中封装有分组的底层分组时也能考虑分组优先级的解决方案将是有益的。
发明内容
在一种实施例中,一种系统包括:适于接收包括一个或多个底层分组的覆盖封装分组(overlay-encapsulated packet)的逻辑;适于解封装来自覆盖封装分组的一个或多个底层分组(underlay packet)的逻辑;适于基于以下中的至少一个为一个或多个底层分组中的每一个得到优先级的逻辑:覆盖封装分组的优先级、覆盖封装分组的传输报头和一个或多个底层分组的应用名称(application designation);及适于设置一个或多个底层分组的优先级的逻辑。
在另一种实施例中,一种用于确定分组的优先级的方法包括:接收包括一个或多个底层分组的覆盖封装分组;解封装来自覆盖封装分组的一个或多个底层分组;基于以下中的至少一个为一个或多个底层分组中的每一个得到优先级:覆盖封装分组的优先级、覆盖封装分组的传输报头和一个或多个底层分组的应用名称;及设置一个或多个底层分组的优先级。
在还有一种实施例中,一种用于确定分组的优先级的计算机程序产品包括其中嵌入有计算机可读程序代码的计算机可读存储介质,该计算机可读程序代码包括配置为接收包括一个或多个底层分组的覆盖封装分组的计算机可读程序代码、配置为解封装来自覆盖封装分组的一个或多个底层分组的计算机可读程序代码、配置为基于以下中的至少一个为一个或多个底层分组中的每一个得到优先级的计算机可读程序代码:覆盖封装分组的优先级、覆盖封装分组的传输报头和一个或多个底层分组的应用名称,以及配置为设置一个或多个底层分组的优先级的计算机可读程序代码。
本发明的其它方面与实施例将从以下具体描述变得显而易见,当结合附图考虑时,以下具体描述通过例子说明了本发明的原理。
附图说明
图1说明了根据一种实施例的网络体系结构。
图2示出了根据一种实施例的可以与图1的服务器和/或客户端关联的代表性硬件环境。
图3是根据一种实施例的虚拟数据中心的简图。
图4示出了根据一种实施例的连接到底层网络的有覆盖能力的服务器。
图5示出了根据一种实施例的覆盖网络网关的详细视图。
图6示出了根据一种实施例的利用具有覆盖网关功能的网络接口卡(NIC)的有覆盖能力的服务器。
图7示出了根据一种实施例的包括带有NIC的各种服务器的网络。
图8示出了根据一种实施例的具有覆盖网关功能的NIC的详细视图。
图9示出了用于在本文所述的各种实施例中参考的几种以太网帧格式。
图10示出了根据一种实施例的方法的流程图。
具体实施方式
以下描述是为了说明本发明的通用原理而不是要限定本文所要求保护的发明概念而做出的。另外,本文所述的特定特征可以以各种可能的组合与置换中的每一种与其它所述特征结合使用。
除非在本文中专门定义,否则所有术语都要赋予其最广泛可能的解释,包括从本说明书暗示的意义以及本领域技术人员所理解的和/ 或在词典、论文等中定义的意义。
还必须指出,如在本说明书和所附权利要求中所使用的,除非另外规定,否则单数形式“一个”和“这个”包括复数的所指对象。
根据各种实施例,一个或多个底层分组可以在解封装底层分组时从封装底层分组的覆盖分组继承802.1p优先级位的值。此外,底层 802.1p位和底层互联网协议(IP)差分服务代码点(DSCP)值可以从继承的802.1p值得到。同样,用于得到802.1p的值和DSCP值的可编程表可以提供用于封装处理,该表在服务器的虚拟化平台、有覆盖能力的网络接口卡(NIC)、覆盖网络网关或某些其它有覆盖能力的设备中被编程。在进口边来看,如果底层分组的优先级是未知的,那么分组优先级可以从封装底层分组的覆盖分组中得到并且用于底层分组的内部处理。
在一种通用的实施例中,一种系统包括:适于接收包括一个或多个底层分组的覆盖封装分组的逻辑;适于解封装来自覆盖封装分组的一个或多个底层分组的逻辑;适于基于以下中的至少一个为一个或多个底层分组中的每一个得到优先级的逻辑:覆盖封装分组的优先级、覆盖封装分组的传输报头和一个或多个底层分组的应用名称;及适于设置一个或多个底层分组的优先级的逻辑。
在另一种通用的实施例中,一种用于确定分组的优先级的方法包括:接收包括一个或多个底层分组的覆盖封装分组;解封装来自覆盖封装分组的一个或多个底层分组;基于以下中的至少一个为一个或多个底层分组中的每一个得到优先级:覆盖封装分组的优先级、覆盖封装分组的传输报头和一个或多个底层分组的应用名称;及设置一个或多个底层分组的优先级。
在还有一种通用的实施例中,一种用于确定分组的优先级的计算机程序产品包括其中嵌入有计算机可读程序代码的计算机可读存储介质,该计算机可读程序代码包括配置为接收包括一个或多个底层分组的覆盖封装分组的计算机可读程序代码、配置为解封装来自覆盖封装分组的一个或多个底层分组的计算机可读程序代码、配置为基于以下中的至少一个为一个或多个底层分组中的每一个得到优先级的计算机可读程序代码:覆盖封装分组的优先级、覆盖封装分组的传输报头和一个或多个底层分组的应用名称,以及配置为设置一个或多个底层分组的优先级的计算机可读程序代码。
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全硬件实施方式、完全软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“逻辑”、“电路”、“模块”或“系统”。此外,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者非暂时性计算机可读存储介质。非暂时性计算机可读存储介质例如可以是但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者以上的任意合适组合。非暂时性计算机可读存储介质的更具体的例子(非穷举列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器 (ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑盘只读存储器(CD-ROM)、蓝光光盘只读存储器(BD-ROM)、光存储器件、磁存储器件、或者上述的任意合适组合。在本文件中,非暂时性计算机可读存储介质可以是任何能够包含或存储程序或应用的有形介质,该程序或应用可以被指令执行系统、装置、或者设备使用或者与其结合使用。
计算机可读信号介质可以包括例如在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适组合。计算机可读的信号介质还可以是非暂时性计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者设备使用或者与其结合使用的程序,诸如具有一条或多条电线的电连接、光纤等。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、射频(RF)等等,或者上述的任意合适组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明各方面操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括传统的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机或服务器的情形中,远程计算机或服务器可以通过任意种类的网络,包括局域网(LAN)、存储区域网(SAN)、和/或广域网(WAN)、任何虚拟网络连接到用户计算机,或者,可以利用例如互联网服务提供商(ISP)来通过互联网连接到外部计算机。
本文将参照根据本发明各种实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明各方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都能够由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令可以使计算机、其它可编程数据处理装置、或其它设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
也可以把这些计算机程序指令加载到计算机、其它可编程数据处理装置或者其它设备上,使得一系列操作步骤在计算机、其它可编程装置或者其它设备上执行,产生一种计算机实现的过程,使得在所述计算机或者其它可编程装置上执行的指令提供用于实现在所述流程图和/或框图中的一个或多个方框中所指定的功能/动作的过程。
图1说明了根据一种实施例的网络体系架构100。如图1中所示,提供了多个远程网络102,包括第一远程网络104和第二远程网络106。网关101可以耦合在远程网络102和近端网络108之间。在所给出的网络体系架构100情况下,网络104、106每个都可以采取包括但不限于LAN、VLAN、诸如互联网的WAN、公共交换电话网络(PSTN)、内部电话网等的任何形式。
在使用当中,网关101充当从远程网络102到近端网络108的进入点。因此,网关101可以充当能够指引到达网关101的给定数据分组的路由器,以及为给定分组提供进出网关101的实际路径的交换机。
另外还包括的是至少一个耦合到近端网络108并且可以经网关 101从远程网络102访问的数据服务器114。应当指出,数据服务器 114可以包括任何类型的计算设备/群件。耦合到每个数据服务器114 的是多个用户设备116。这种用户设备116可以包括台式计算机、膝上型计算机、手持式计算机、打印机和/或任何其它类型包含逻辑的设备。应当指出,在某些实施例中,用户设备111还可以直接耦合到任何网络。
外围设备120或者一系列外围设备120,例如,传真机、打印机、扫描仪、硬盘驱动器、联网的和/或本地的存储单元或系统等,可以耦合到网络104、106、108中的一个或多个。应当指出,数据库和/或附加的组件可以与耦合到网络104、106、108的任何类型的网络元件一起使用或者集成到其中。在本描述的情况下,网络元件可以指网络的任何组件。
根据某些途径,本文所描述的方法和系统可以利用虚拟系统和/ 或模拟一个或多个其它系统的系统(诸如模拟IBM z/OS环境的 UNIX系统、虚拟托管MICROSOFT WINDOWS环境的UNIX系统、模拟IBM z/OS环境的MICROSOFT WINDOWS系统等)实现和/或在其上实现。在某些实施例中,这种虚拟化和/或模拟可以通过 VMWARE软件的使用来增强。
在更多途径中,一个或多个网络104、106、108可以代表统称为“云”的系统的集群。在云计算中,共享资源,诸如处理能力、外围设备、软件、数据、服务器等,以按需关系提供给云中的任何系统,由此允许服务跨许多计算系统的访问和分布。如本领域已知的,云计算通常涉及云中所运行的系统之间的互联网连接,但是也可以使用连接所述系统的其它技术。
图2示出了根据一种实施例的与图1的用户设备116和/或服务器114关联的代表性硬件环境。图2说明了具有诸如微处理器的中央处理单元(CPU)210以及经一条或多条总线212互连的多个其它单元的工作站的典型硬件配置,其中根据若干个实施例,总线212可以是诸如本地总线、并行总线、串行总线等不同类型的总线。
图2中所示的工作站包括随机存取存储器(RAM)214、只读存储器(ROM)216、用于把诸如盘存储单元220的外围设备连接到一条或多条总线212的I/O适配器218、用于把键盘224、鼠标226、扬声器228、麦克风232和/或诸如触摸屏、数码相机(未示出)等的其它用户接口设备连接到一条或多条总线212的用户接口适配器 222、用于把工作站连接到通信网络235(例如,数据处理网络)的通信适配器234以及用于把一条或多条总线212连接到显示设备238 的显示器适配器236。
工作站可以在其上驻留操作系统,诸如MICROSOFT WINDOWS操作系统(OS)、MACOS、UNIX OS等。应当认识到,优选实施例还可以在除所提到的那些之外的平台和操作系统上实现。优选实施例可以用JAVA、XML、C和/或C++语言或者其它编程语言以及面向对象的编程方法编写。可以使用越来越多地用于开发复杂应用的面向对象的编程(OOP)。
现在参考图3,示出了根据一种实施例的覆盖网络300的概念图。为了虚拟化网络服务,除了简单地在设备间提供构架路径(连接性)之外,还可以在分组移动通过网关314时对分组提供服务,其中网关为在非虚拟网络312和虚拟网络A304及虚拟网络B306之间移动的分组提供路由和转发。所述一个或多个虚拟网络304、306存在于物理(真实)网络基础设施302中。如本领域技术人员将知道的,网络基础设施302可以包括通常与网络基础设施关联和/或在其中使用的任何组件、硬件、软件和/或功能性,包括但不限于,交换机、连接器、电线、电路、电缆、服务器、主机、存储介质、操作系统、应用、端口、I/O等。这种网络基础设施302支持至少一个非虚拟网络312,其可以是传统网络。
每个虚拟网络304、306可以使用任意数量的虚拟机(VM) 308、310。在一种实施例中,虚拟网络A304包括一个或多个VM 308,而虚拟网络B306包括一个或多个VM310。如图3中所示出的,VM308、310不由虚拟网络304、306共享,而是在任意给定的时间都专门只包括在一个虚拟网络304、306中。
根据一种实施例中,覆盖网络300可以包括利用一个或多个分布式线路卡(DLC)互连的一个或多个单元交换域可伸缩架构组件(SFC)。
覆盖网络300的组件通常基于称作VNI或VNID的虚拟网络标识符来识别往哪里路由。虚拟网络标识符通常是不包括0x0和 0xFFFFFF的24位代码或数字。覆盖网络300具有如下能力:通过把L2分组封装到覆盖报头中,在层-3(L3)网络上隧道化传输层-2 (L2)的分组,这也称为虚拟隧道端点(VTEP)管理。这可以利用虚拟可扩展局域网(VXLAN)或某些其它有覆盖能力的协议实现,其中有覆盖能力的协议诸如定位器/ID分离协议(LISP)、覆盖传输虚拟化(OTV)、利用通用路由封装的网络虚拟化(NVGRE)等。
分组也可以封装在用户数据报协议(UDP)和互联网协议(IP) UDP/IP的报头中。覆盖网络300可以包括一个或多个点到点隧道,和/或点到多点的隧道。此外,基于诸如覆盖网络300中加入了新设备、从覆盖网络300中删除了设备、任何终端设备启动的任意多种因素,可以创建、删除、改变和修改这些隧道中任意一个,其中所述终端设备即管理隧道端点的设备,诸如虚拟覆盖网络网关、虚拟化平台、能够进行覆盖功能的交换机等。
为了使设备管理隧道,需要存在原始分组的源地址、目的地址以及隧道标识符之间的映射。以这种方式,物理服务器能够把封装的原始分组转发到合适的目的设备。
参考图4,示出了连接到底层网络418的服务器400。如所示出的,服务器400包括提供和管理虚拟交换机404的虚拟化平台402。为了向服务器400提供覆盖功能,虚拟化平台402还与多个分立的软件引擎交互,诸如隧道管理器406、ARP和转发信息库(FIB)管理器408、用于提供互联网协议多播(IPMC)支持的引擎410、分组封装与解封装引擎412,以及本领域中已知的任何其它覆盖增强软件引擎。虚拟化平台402还为任意数量的VM414,在图4中示为 VM0、VM1、VM2、…、VMn,提供支持。VM414可以布置在一个或多个虚拟网络中(每个虚拟网络都可以具有不同的虚拟网络标识符(VNID),在图4中指示为VNID1、VNID2、VNID3等)。因为附图仅仅是示出了VM414和虚拟网络的示例性布置,所以示例性虚拟网络中VM414的数量与布置不是要对可能的配置进行限制。
此外,在一种途径中,服务器400包括管理并提供底层网络418 和服务器400之间通信的物理NIC416。NIC416包括适于与底层网络418和服务器400通信的一个或多个网络端口。根据一种实施例,当分组被分组封装/解封装引擎412封装在覆盖报头中时,NIC416 简单地让分组通过并到覆盖封装分组的外部报头中所规定的目的地。
为了在虚拟的和非虚拟的网络之间桥接,分组可以被交付到覆盖网络网关420用于进一步转发和/或路由到服务器400所位于的虚拟网络之外。
现在参考图5,示出了根据一种途径的覆盖网络网关420的详细视图。覆盖网络网关420包括可以用于分组进入和/或分组离开的多个端口502。取决于覆盖网络网关420的布置和能力,诸如16端口、32端口、64端口、128端口等,可以呈现任意数量的端口502。覆盖网络网关420还包括适于执行查找L3地址和设备的逻辑504、适于执行查找覆盖地址和设备的逻辑506、适于执行查找L2地址和设备的逻辑508、适于执行查找隧道地址和设备的逻辑510、适于执行分组预归类的逻辑512、适于执行出口隧道管理动作(VTEP)的逻辑514、适于执行出口覆盖动作的逻辑516、适于执行出口L2动作的逻辑518、适于执行出口转发动作的逻辑520和可能的其它分组功能522。逻辑中的任意一个或者所有的都可以用硬件、软件或其组合来实现。例如,在一种实施例中,用于每个不同逻辑块的分离模块可以用一个或多个处理器实现。该处理器可以包括,但不限于,专用集成电路(ASIC)、现场可编程门阵列(FPGA)、中央处理单元(CPU)、微控制器(MC)、微处理器或本领域已知的某些其它处理器。
在一种实施例中,到来分组的优先级可以基于规则或者基于内部分组的优先级在入口映射。外部和内部的分组处理可以基于在入口创建的优先级映射。此外,出口802.1p优先级可以按照入口优先级映射来维护。
为了提高利用虚拟化平台的虚拟网络服务器的性能,可以通过利用具有覆盖网关功能的NIC提供覆盖网络流量处理。具体而言,具有覆盖网关功能的NIC可以适于提供覆盖网络网关的部分或全部功能,诸如管理虚拟隧道端点(VTEP)、地址解析协议(ARP)高速缓存处理、ARP学习、用于每个覆盖网络的分组封装和解封装、用于L2、L3和/或覆盖网络的各种查找功能、出口分组处理和转发等。该覆盖网络网关功能可以经由NIC或与其它覆盖设备结合、可能利用分离的模块和/或处理器被专门处理,并且处理后的流量可以交付给虚拟化平台用于最终交付给合适的VM,或者该流量可以向下发送到网络用于交付到目的VTEP或其它基于IP的地址。
现在参考图6,示出了根据另一种途径的利用具有覆盖网络网关功能的NIC616的服务器600。服务器600也包括提供和管理虚拟交换机604的虚拟化平台602。虚拟化平台602还为任意数量的虚拟机(VM)630,在图6中示为VM0、VM1、VM2、…、VMn,提供支持。VM630可以布置在一个或多个虚拟网络中(每个虚拟网络都可以具有不同的虚拟网络标识符(VNID),在图6中指示为VNID1、 VNID2、VNID3等)。因为附图仅仅是示出了VM630和虚拟网络的示例性布置,所以示例性虚拟网络中VM630的数量与布置不是要对可能的配置进行限制。
在一种实施例中,为了提供覆盖网络网关功能,NIC616利用一个或多个处理器,使得所有覆盖网络网关功能可以卸载到NIC616 上。该覆盖网络网关功能可以作为模块嵌入在NIC616中,并且可以包括但不限于,执行查找L3地址和设备606、执行查找覆盖地址和设备608、执行查找L2地址和设备610、执行查找隧道地址和设备612、执行分组预归类614、执行出口隧道管理动作(VTEP) 618、执行出口覆盖动作620、执行出口L2动作622、执行出口转发动作624和可能的其它分组功能626,以及本领域已知的任何其它覆盖网络网关功能。
根据某些实施例,出口隧道管理动作模块618可以适于提供 VTEP起始和终止操作、各种查找模块606、608、610和612可以适于为具有未知地址的分组提供查找操作以及为具有已知地址的分组转发信息、各种出口模块618、620、622和624可以适于为分组处理转发和/或发送操作。
为了给服务器600中的NIC616和虚拟化平台602之间提供接口,可以在服务器600中提供NIC驱动器628,其理解并支持已经由NIC616提供的覆盖网络网关功能,并且相应地可以管理NIC 616。
以这种方式,根据一种实施例,为了让服务器600适于使用不同的覆盖协议,可以在服务器600中实现能够与覆盖网络协议接口的 NIC驱动器628,其中具有覆盖网络网关功能的安装的NIC616支持覆盖网络协议。在一个非限定性例子中,如果服务器具有VXLAN覆盖功能,并且该服务器要在利用Microsoft的Hyper-V的环境中使用,那么可以在服务器中安装能够Hyper-V的加速NIC,并且可以在服务器中实现支持Hyper-V的NIC驱动器,从而使服务器能够在利用Hyper-V作为覆盖协议的覆盖环境中操作。本领域技术人员将认识到,这种过程的使用与覆盖协议无关。
在一种实施例中,如果服务器600已经安装了能够支持特定覆盖协议的NIC驱动器628,并且在服务器600中安装了能够提供特定覆盖协议、具有覆盖网络网关功能的NIC616,那么就可以简单地把该NIC616插入到服务器600的可用PCIe槽中,并且以即插即用类型的布置,一旦安装即可以工作。
在一种实施例中,到来分组的优先级可以基于规则或者基于内部分组的优先级在入口被映射。外部和内部分组处理可以是基于在入口创建的优先级映射。此外,出口802.1p优先级可以按照入口优先级映射来维护。
如在图7中所示出的,示出了根据一种实施例的网络700。如所示出的,具有当代NIC416的服务器400和具有覆盖网关(GW) NIC616的服务器600可以在同一个网络700中使用。一个或多个以太网交换机702可以用于互连服务器400、600,或者服务器400、 600可以彼此直接连接。每个以太网交换机702都包括用于连接到其的多个端口708。当代NIC416可以包括可以提供某一覆盖功能的虚拟化平台(VP)402。
根据一种实施例,在网络700中示出的任意组件都可以包括用于确定分组优先级的功能。在一种这样的实施例中,系统(诸如服务器 400、600、以太网交换机702、覆盖GWNIC616、虚拟化平台402 等)可以包括适于接收包括一个或多个底层分组的覆盖封装分组的逻辑、适于解封装来自覆盖封装分组的所述一个或多个底层分组的逻辑、适于基于包括在覆盖封装分组中的信息为一个或多个底层分组中每一个得到优先级的逻辑,以及适于设置一个或多个底层分组的优先级的逻辑。用来得到优先级的信息可以是覆盖封装分组的优先级、从覆盖封装分组的传输报头和/或一个或多个底层分组的应用名称中确定,或者基于有关覆盖封装分组的任意其它信息。
在一种途径中,适于为一个或多个底层分组中每一个设置优先级的逻辑可以包括适于把每个底层层-2分组的802.1p位设置为指定得到的优先级的逻辑。以这种方式,依赖于底层分组802.1p位的任何设备将能够确定底层分组的优先级。此外,覆盖封装分组的优先级可以经覆盖封装分组的802.1p位指定,在这种途径中,一个或多个底层分组中每一个的优先级可以从覆盖封装分组的802.1p位得到。
在另一种途径中,适于为一个或多个底层分组中每一个设置优先级的逻辑可以包括适于把每个底层层-3分组的DSCP值设置为指定特定的服务质量(QoS)的逻辑,其中服务质量是如本领域所理解的。覆盖封装分组的优先级可以经覆盖封装分组的DSCP值指定,在这种途径中,用于一个或多个底层分组中每一个的优先级至少可以从覆盖封装分组的DSCP值得到,并且可能从其它信息源得到,诸如覆盖封装分组的802.1p位。
在一种实施例中,适于出口处理一个或多个底层分组的逻辑可以包括在流量管理器中。出口处理可以基于得到的优先级或DSCP映射。此外,当一个或多个底层分组由流量管理器进行出口处理时,适于为一个或多个底层分组中每一个设置优先级的逻辑可以包括适于把每个底层层-2分组的802.1q标签设置为指定得到的优先级的逻辑。
在还有一种途径中,系统中可以包括适于利用流量管理器对一个或多个底层分组进行入口处理的逻辑,该入口处理基于得到的优先级或DSCP映射。
在一种途径中,可以基于如表1中所示的映射表确定DSCP或 802.1p优先级。在这种方法中,一旦满足特定标准,就可以使用访问控制列表(ACL)来指导处理。该映射表把ACL关联到具体的 802.1p位,并且关联到具体的DSCP值映射,使得802.1p位可以关联到DSCP值。在这个示例性表中,ACL1,ACL2和ACL3是不同的ACL,其响应于ACL被实施而使得不同的动作被执行。同样,列出的802.1p优先级映射位只是用于示例,并且,0-7个可用优先级位中任何一个(0x1,0x,…,0x7)都可以根据任何期望的映射来分配。此外,Mapping_1,Mapping_2和Mapping_3是不同的DSCP 映射,其根据所应用的ACL或802.1p优先级位,使不同的DSCP值插入到分组中。
规则 802.1p优先级映射 DSCP值映射
ACL1 0x7 Mapping_1
ACL2 0x3 Mapping_2
ACL3 0x4 Mapping_3
ACL n 0x1 Mapping_n
表1
ACL规则元组可以包括任何相关的信息,诸如底层分组的源 MAC(SMAC)地址、目的MAC(DMAC)地址、以太网类型(Ethertype)、VLAN标识符(ID)、优先级、源IP(SIP)地址、目的IP(DIP)地址、使用的协议、源端口(SPORT)、目的端口(DPORT)等。ACL元组还可以基于覆盖封装分组的SMAC 地址、DMAC地址、以太网类型、VLAN ID、优先级、SIP地址、 DIP地址、使用的协议、SPORT、DPORT等。在更多途径中,ACL 元组可以基于UDP SPORT、UDP DPORT、VNID等。
现在参考图8,更详细地示出了根据一种实施例的具有覆盖网络网关功能的NIC616。NIC616包括用于与服务器接口的多通道 (multi-lane)PCIe接口802、用于高速缓存到/来自服务器的流量的接收和发送(RX/TX)分组缓冲区804、用于高速缓存到/来自网络的流量的RX/TX分组缓冲区806、用于与网络交互的以太网控制器 808、以及以逻辑、模块或其某种组合的形式的各种覆盖网络网关功能。覆盖网络网关功能可以包括下面任意一种作为分离的模块或其各种组合:诸如执行查找L3地址和设备606、执行查找覆盖地址和设备608、执行查找L2地址和设备610、执行查找隧道地址和设备 612、执行分组预归类614、执行出口隧道管理动作(例如,VTEP) 618、执行出口覆盖动作620、执行出口L2动作622、执行出口转发动作624和可能的其它分组功能626,以和/或本领域已知的任何其它覆盖网络网关功能。
某些附加功能可以包括与虚拟化平台和虚拟交换机交互以和/或提供I/O虚拟化。
根据各种实施例,模块606、608、610、612等每个模块都可以由单一处理器或多个分离的处理器实现,每个处理器能够提供所必需的功能。处理器可以包括但不限于,ASIC、FPGA、CPU、MC、微处理器或本领域已知的某些其它处理器。
在其它实施例中,当模块606、608、610、612等每个模块都用多个分离的处理器实现时,在各种实施例中,可以利用分离的NIC 驱动器628(例如,每个处理器一个NIC驱动器)或者通过与所有多个分离的处理器接口的单一NIC驱动器628对每个处理器进行控制和/或与其接口。
根据一种实施例,虚拟化平台可以包括适于为网络流量提供覆盖功能的逻辑。在该实施例中,NIC可以包括允许具有由虚拟化平台提供的覆盖功能的网络流量旁路该NIC的功能。
在另一种实施例中,网络可以不包括能够提供覆盖网络网关功能(或覆盖功能)的元件。这就是说,在网络中,唯一能提供覆盖网络网关功能或覆盖功能的元件可以是在服务器中实现的NIC。在另一种途径中,服务器可以根本不提供覆盖功能(例如,虚拟化平台没有覆盖能力),在这种情况下,是依赖NIC来提供所有覆盖功能。当然,在其它实施例中,会存在提供覆盖功能的NIC和其它元件的某种组合,诸如覆盖网关、虚拟化平台等。
在一种实施例中,到来分组的优先级可以基于规则或基于内部分组的优先级在入口映射。外部和内部分组处理可以基于在入口创建的优先级映射。此外,入口802.1p优先级可以按照入口优先级映射来维护。
参考图9,根据各种途径示出了若干个以太网帧格式。以太网帧 902示出了不包括任何优先级信息的标准帧。该帧902包括指示把分组转发到的目的地的目的媒体访问控制(DMAC)地址、指示对于分组的源设备或发起者的源MAC(SMAC)地址、以及类型长度值(TLV)可以放置其中来指示关于分组的类型,长度和杂项信息的类型/长度字段。帧902还包括用于放置数据的数据字段和用于检测错误的循环冗余校验(CRC)字段。
在第一步当准备要发送出的分组时,在1Q标签设置优先级位,这就生成了以太网帧904。如该帧904所示出的,根据一种实施例, 802.1Q VLAN标签包括信息906,其包括标签协议ID0x8100(可以是16位长度)、用户优先级字段(可以是3位长度)、规范格式标识符(CFI)位(1位长度)和VLAN ID(可以是12位长度)。IEEE 802.1Q网络标准提供了关于每个字段可以用于什么以及什么信息可以存储在各个字段中的额外信息。
在另一种实施例中,如在帧908中所示出的,S标签和C标签都可以在以太网帧908中存在。然后,可以把该帧908封装成帧910以便在覆盖网络上发送。该隧道帧910可以包括隧道DMAC、隧道 SMAC、从内部帧908的S标签和C标签信息继承的802.1Q VLAN 标签信息、IP报头、UDP报头、覆盖或VLAN报头、内部帧908、以及CRC。
现在参考图10,示出了根据一种实施例的用于确定分组优先级的方法1000。在各种实施例中,根据本发明的方法1000也可以在图 1-9中所绘出的任一环境中执行。当然,如本领域技术人员在阅读本描述之后将理解的,在方法1000中可以包括比在图10中具体描述的更多或更少的操作。
方法1000的每个步骤都可以由操作环境的任意合适组件执行。例如,在各种非限定实施例中,方法1000可以部分地或完全地由控制器、可以嵌入在服务器中和/或在其中操作的处理器(诸如CPU、 ASIC、FPGA等)、NIC、嵌入在控制器或服务器中的计算机可读存储介质中的计算机程序代码等执行。
如在图10中所示,方法1000可以用操作1002启动,其中收到包括一个或多个底层分组的覆盖封装分组。覆盖封装分组可以由任何设备、模块、逻辑或能够提供隧道端点操作的构造接收。在一种途径中,一个或多个底层分组可以遵守任何帧格式,并且可以跨多于一个覆盖封装分组进行封装。
在操作1004中,根据本领域已知的任意方法,一个或多个底层分组从覆盖封装分组中进行解封装。此外,某些操作可以先于解封装执行,诸如读取覆盖封装分组的报头,确定覆盖封装分组的目的地等。
在操作1006中,一个或多个底层分组中每一个的优先级是基于包括在覆盖封装分组中的信息得到的。可以使用任何信息,诸如覆盖封装分组的优先级(如果优先级在其接收之前已经被设置)、覆盖封装分组的传输报头(该报头可以包括可以用于确定底层分组优先级的信息)、一个或多个底层分组的应用名称(例如,底层分组是用于什么的,诸如视频、音频、警告、备份等),或任何其它有用信息。
在操作1008中,设置了一个或多个底层分组的优先级。
在一种实施例中,一个或多个底层分组中每一个的优先级是通过把每个底层层-2分组的802.1p位设置为指定得到的优先级来设置的。在其它实施例中,覆盖封装分组的优先级可以经覆盖封装分组的 802.1p位指定,并且附加地,一个或多个底层分组中每一个的优先级可以从覆盖封装分组的802.1p位得到。
根据另一个实施例,一个或多个底层分组中每一个的优先级可以通过把每个底层层-3分组的DSCP值设为指定特定的QoS或优先级来设置。在其它实施例中,覆盖封装分组的优先级可以经覆盖封装分组的DSCP值指定,并且附加地,一个或多个底层分组中每一个的优先级可以从覆盖封装分组的DSCP值得到。
在其它途径中,方法1000还可以包括利用流量管理器对一个或多个底层分组进行不同的出口处理。出口处理的不同级别(例如,转储分组、正常转发到目的地、以高优先级转发到目的地等)可以基于得到的优先级或DSCP映射,其中DSCP映射基于从覆盖封装分组得到的DSCP值。在其它途径中,一个或多个底层分组中每一个的优先级可以通过在一个或多个底层分组的出口处理期间把每个底层层 -2分组的802.1q标签设置为指定得到的优先级来设置。
在另一种途径中,方法1000还可以包括基于得到的优先级或 DSCP映射利用流量管理器对一个和多个底层分组进行入口处理。
如本领域技术人员在阅读本描述之后将理解的,本文描述的其它实施例可以同样在方法1000中实现。
根据另一种实施例,方法1000可以体现为用于确定分组优先级的计算机程序产品。计算机程序产品可以包括其中嵌入有计算机可读程序代码的计算机可读存储介质,该计算机可读程序代码包括配置为接收包括一个或多个底层分组的覆盖封装分组的计算机可读程序代码、配置为解封装来自覆盖封装分组的一个或多个底层分组的计算机可读程序代码、配置为基于覆盖封装分组的优先级、覆盖封装分组的传输报头和一个或多个底层分组的应用名称中的至少一个为一个或多个底层分组中每一个得到优先级的计算机可读程序代码,以及配置为设置一个或多个底层分组的优先级的计算机可读程序代码。
如本领域技术人员在阅读本描述之后将理解的,本文描述的其它实施例可以同样用计算机程序产品实现。
虽然上面已经描述了各种实施例,但是应当理解,它们的给出仅仅是作为例子,而不是限制。因而,实施例的广度和范围不应当受以上描述的任何示例性实施例限制,而是应当只能根据以下权利要求及其等同来定义。

Claims (13)

1.一种用于确定分组的优先级的系统,包括:
适于接收包括一个或多个底层分组的覆盖封装分组的逻辑;
适于解封装来自覆盖封装分组的一个或多个底层分组的逻辑;
适于基于以下中的至少一个为一个或多个底层分组中的每一个得到优先级的逻辑:覆盖封装分组的优先级、覆盖封装分组的传输报头和一个或多个底层分组的应用名称;及
适于设置一个或多个底层分组的优先级的逻辑,
其中适于为一个或多个底层分组中的每一个设置优先级的逻辑包括:
适于把每个底层层-3分组的差分服务代码点(DSCP)值设置为指定特定服务质量(QoS)的逻辑,
其中覆盖封装分组的优先级经由覆盖封装分组的DSCP值指定,并且其中一个或多个底层分组中每一个的优先级是从覆盖封装分组的DSCP值得到的。
2.如权利要求1所述的系统,其中适于为一个或多个底层分组中的每一个设置优先级的逻辑包括:
适于把每个底层层-2分组的802.1p位设置为指定得到的优先级的逻辑。
3.如权利要求2所述的系统,其中覆盖封装分组的优先级经由覆盖封装分组的802.1p位指定,并且其中一个或多个底层分组中每一个的优先级是从覆盖封装分组的802.1p位得到的。
4.如权利要求1所述的系统,还包括:
适于利用基于得到的优先级或DSCP映射的流量管理器对一个或多个底层分组进行出口处理的逻辑。
5.如权利要求4所述的系统,其中适于为一个或多个底层分组中的每一个设置优先级的逻辑包括:
适于在对一个或多个底层分组进行出口处理时把每个底层层-2分组的802.1q标签设置为指定得到的优先级的逻辑。
6.如权利要求1所述的系统,还包括:
适于利用基于得到的优先级或DSCP映射的流量管理器对一个或多个底层分组进行入口处理的逻辑。
7.一种用于确定分组的优先级的方法,所述方法包括:
接收包括一个或多个底层分组的覆盖封装分组;
解封装来自覆盖封装分组的一个或多个底层分组;
基于以下中的至少一个为一个或多个底层分组中的每一个得到优先级:覆盖封装分组的优先级、覆盖封装分组的传输报头和一个或多个底层分组的应用名称;及
设置一个或多个底层分组的优先级,
其中为一个或多个底层分组中的每一个设置优先级包括:
把每个底层层-3分组的差分服务代码点(DSCP)值设置为指定特定服务质量(QoS),
其中覆盖封装分组的优先级经由覆盖封装分组的DSCP值指定,并且其中一个或多个底层分组中每一个的优先级是从覆盖封装分组的DSCP值得到的。
8.如权利要求7所述的方法,其中为一个或多个底层分组中的每一个设置优先级包括:
把每个底层层-2分组的802.1p位设置为指定得到的优先级。
9.如权利要求8所述的方法,其中覆盖封装分组的优先级经由覆盖封装分组的802.1p位指定,并且其中一个或多个底层分组中每一个的优先级是从覆盖封装分组的802.1p位得到的。
10.如权利要求7所述的方法,还包括:
利用基于得到的优先级或DSCP映射的流量管理器对一个或多个底层分组进行出口处理。
11.如权利要求10所述的方法,其中为一个或多个底层分组中的每一个设置优先级包括:
在对一个或多个底层分组进行出口处理时把每个底层层-2分组的802.1q标签设置为指定得到的优先级。
12.如权利要求7所述的方法,还包括:
利用基于得到的优先级或DSCP映射的流量管理器对一个或多个底层分组进行入口处理。
13.一种用于确定分组的优先级的系统,包括被配置为执行权利要求7-12中任一方法的所有步骤的装置。
CN201410156345.6A 2013-04-19 2014-04-18 用于确定分组优先级的方法和系统 Active CN104168223B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/866,752 US9391906B2 (en) 2013-04-19 2013-04-19 Overlay network priority inheritance
US13/866,752 2013-04-19

Publications (2)

Publication Number Publication Date
CN104168223A CN104168223A (zh) 2014-11-26
CN104168223B true CN104168223B (zh) 2018-06-05

Family

ID=51728908

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410156345.6A Active CN104168223B (zh) 2013-04-19 2014-04-18 用于确定分组优先级的方法和系统

Country Status (2)

Country Link
US (2) US9391906B2 (zh)
CN (1) CN104168223B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9391906B2 (en) 2013-04-19 2016-07-12 International Business Machines Corporation Overlay network priority inheritance
US9471356B2 (en) * 2013-06-12 2016-10-18 Dell Products L.P. Systems and methods for providing VLAN-independent gateways in a network virtualization overlay implementation
US9577845B2 (en) 2013-09-04 2017-02-21 Nicira, Inc. Multiple active L3 gateways for logical networks
US10044612B2 (en) * 2013-11-06 2018-08-07 Citrix Systems, Inc. Systems and methods for port allocation
US9467478B1 (en) * 2013-12-18 2016-10-11 vIPtela Inc. Overlay management protocol for secure routing based on an overlay network
US9590901B2 (en) 2014-03-14 2017-03-07 Nicira, Inc. Route advertisement by managed gateways
CN104683238B (zh) * 2015-01-23 2019-01-22 新华三技术有限公司 一种lisp网络中的数据报文的传输方法和设备
US10038628B2 (en) 2015-04-04 2018-07-31 Nicira, Inc. Route server mode for dynamic routing between logical and physical networks
US9923811B2 (en) 2015-06-27 2018-03-20 Nicira, Inc. Logical routers and switches in a multi-datacenter environment
US9979557B2 (en) * 2015-08-10 2018-05-22 Hughes Network Systems, Llc Carrier grade Ethernet layer 2 over layer 3 satellite backbones (L2oL3SB)
CN105591971B (zh) * 2015-10-28 2019-06-07 新华三技术有限公司 一种QoS的实现方法和装置
US10333849B2 (en) 2016-04-28 2019-06-25 Nicira, Inc. Automatic configuration of logical routers on edge nodes
US10091161B2 (en) 2016-04-30 2018-10-02 Nicira, Inc. Assignment of router ID for logical routers
US10560320B2 (en) 2016-06-29 2020-02-11 Nicira, Inc. Ranking of gateways in cluster
US10237123B2 (en) 2016-12-21 2019-03-19 Nicira, Inc. Dynamic recovery from a split-brain failure in edge nodes
US10616045B2 (en) 2016-12-22 2020-04-07 Nicira, Inc. Migration of centralized routing components of logical router
CN110650076B (zh) 2018-06-26 2021-12-24 华为技术有限公司 Vxlan的实现方法,网络设备和通信系统
CN109450767B (zh) * 2018-10-26 2020-06-12 新华三技术有限公司 一种报文处理方法和装置
US11736383B2 (en) 2020-04-06 2023-08-22 Vmware, Inc. Logical forwarding element identifier translation between datacenters
US11283722B2 (en) 2020-04-14 2022-03-22 Charter Communications Operating, Llc Packet prioritization for frame generation
US11394650B2 (en) * 2020-04-14 2022-07-19 Charter Communications Operating, Llc Modificationless packet prioritization for frame generation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013022481A1 (en) * 2011-08-10 2013-02-14 Thomson Licensing Method to selectively add priority tagging to network traffic

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI241807B (en) * 2004-03-02 2005-10-11 Hon Hai Prec Ind Co Ltd System and method for network quality of service
US7535856B2 (en) * 2005-02-19 2009-05-19 Cisco Technology, Inc. Techniques for zero touch provisioning of edge nodes for a virtual private network
US7751410B2 (en) * 2005-12-08 2010-07-06 Electronics And Telecommunications Research Institute Apparatus and method for managing traffic using VID in EPON
US8223642B2 (en) * 2006-04-28 2012-07-17 Tellabs San Jose, Inc. Differentiated services using weighted quality of service (QoS)
DE602006004329D1 (de) 2006-06-19 2009-01-29 Ntt Docomo Inc Erkennung und Umgehung von fehlerbehafteten Verbindungsknoten in einem vertrauensunwürdigen Ad-Hoc-Netzwerk
CN103546372A (zh) * 2006-11-27 2014-01-29 艾利森电话股份有限公司 用于提供覆盖网络的路由选择体系结构的方法和系统
US9338024B2 (en) * 2007-04-11 2016-05-10 Arris Enterprises, Inc. Extended layer two tunneling protocol applications and architectures
US7843967B2 (en) * 2007-11-30 2010-11-30 Telefonaktiebolaget L M Ericsson (Publ) Multiple protocol cross layer customized QoS propagation and mapping
US8005095B2 (en) * 2008-04-29 2011-08-23 Arris Group, Inc. Carrier ethernet over DOCSIS
US20120027024A1 (en) * 2010-07-30 2012-02-02 Ping Wen Liang Zero-Setting Network Quality Service System
US9667539B2 (en) * 2011-01-17 2017-05-30 Alcatel Lucent Method and apparatus for providing transport of customer QoS information via PBB networks
US9391906B2 (en) 2013-04-19 2016-07-12 International Business Machines Corporation Overlay network priority inheritance

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013022481A1 (en) * 2011-08-10 2013-02-14 Thomson Licensing Method to selectively add priority tagging to network traffic

Also Published As

Publication number Publication date
US9391906B2 (en) 2016-07-12
US10103998B2 (en) 2018-10-16
CN104168223A (zh) 2014-11-26
US20160285773A1 (en) 2016-09-29
US20140313892A1 (en) 2014-10-23

Similar Documents

Publication Publication Date Title
CN104168223B (zh) 用于确定分组优先级的方法和系统
US11782868B2 (en) Methods and systems to achieve multi-tenancy in RDMA over converged Ethernet
US9973420B2 (en) Heterogeneous overlay network translation for domain unification
US10582420B2 (en) Processing of overlay networks using an accelerated network interface card
US10778532B2 (en) Overlay network movement operations
US9544248B2 (en) Overlay network capable of supporting storage area network (SAN) traffic
US9602307B2 (en) Tagging virtual overlay packets in a virtual networking system
US9503313B2 (en) Network interface card having overlay gateway functionality
US10205657B2 (en) Packet forwarding in data center network
US12010173B2 (en) Class-based queueing for scalable multi-tenant RDMA traffic
WO2016173271A1 (zh) 报文处理方法、设备及系统
CN106453023A (zh) 一种用于物理设备与虚拟网络的通信方法、设备与系统
JP2024503335A (ja) RoCE(RDMA over Converged Ethernet)のためのクラウドスケールのマルチテナンシ

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211206

Address after: USA New York

Patentee after: Qindarui Co.

Address before: USA New York

Patentee before: International Business Machines Corp.