CN105612719B - 使用封装头部中的元数据的高级网络虚拟化 - Google Patents

使用封装头部中的元数据的高级网络虚拟化 Download PDF

Info

Publication number
CN105612719B
CN105612719B CN201480050580.3A CN201480050580A CN105612719B CN 105612719 B CN105612719 B CN 105612719B CN 201480050580 A CN201480050580 A CN 201480050580A CN 105612719 B CN105612719 B CN 105612719B
Authority
CN
China
Prior art keywords
packet
network
metadata
packets
data center
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
CN201480050580.3A
Other languages
English (en)
Other versions
CN105612719A (zh
Inventor
P·加格
A·J·瑞茨
S·E·本斯利
P·巴拉苏布拉马尼恩
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN105612719A publication Critical patent/CN105612719A/zh
Application granted granted Critical
Publication of CN105612719B publication Critical patent/CN105612719B/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
    • 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
    • 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/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]

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

使用封装头部中的元数据的高级网络虚拟化
背景
服务器虚拟化允许多个虚拟机(VM)在单个实体服务器上运行。服务器虚拟化允许用户将其服务器移动至云数据中心并且利用通过在VM上运行服务而提供的灵活性和可缩放性。现有虚拟数据中心的IP地址可以使VM人力的布局更为密集。特别是,在服务器被移动至云环境时、云服务提供者要求用户改版服务的IP地址时。IP地址对于企业来说可具有真实的语义含义。例如,网络、安全、合规以及性能测量通常结合给定服务的实际IP地址并且取决于给定服务的实际IP地址。将服务移动至现有云提供者要求重写全部这些策略以便考虑服务的新IP地址。这会是困难的,因为这些策略可以在控制那些策略的多个不同组织间分布。每次用户移至一个不同的云提供者时,新服务提供者就分配一组不同的IP地址,这会需要另一次策略重写。当前情况阻止了许多用户和场景来采用云。
网络虚拟化允许客户虚拟机网络与实体网络分离,以使客户可以将其现有的IP地址和拓扑结果带入云数据中心。网络虚拟化允许客户在服务器被虚拟化至云中之后保持其网络的原始IP地址配置。服务器在被移至云数据中心之后继续具有相同的IP地址。
通过将多个IP地址(诸如客户地址(Customer Address)和提供者体质(ProviderAddress))指派给云数据中心中的各虚拟机,可以实现网络虚拟化。通过使用这些IP地址,话务使用原始IP地址在现场(on-premise)客户位置以及客户的虚拟化云服务器之间流动。现场服务器使用原始IP地址与云服务器通信并且获悉提供者地址,提供者地址仅暴露于网络虚拟化边缘,诸如虚拟机主机。网络虚拟化通过虚拟化IP地址并且与提供者地址相关联来实现。修改VM网络分组以包括该关联,藉此允许具有重叠的客户IP地址的多个虚拟网络在一个实体网络上运行。
网络虚拟化是一种允许使用基于软件的隔离来操作多租户数据中心的关键技术。网络虚拟化通过用隧道协议(诸如网络虚拟化GRE(NVGRE)或虚拟可扩展LAN(VxLAN))发送租户话务,将租户的虚拟网络与底层的实体网络分离。然而,当前的网络虚拟化解决方案仅对隧道协议中的最少信息进行编码。结果,当前解决方案仅提供基本的分组转发和路由功能。这限制了可以用网络虚拟化完成的工作并且限制了网络虚拟化实现方式的效率。
概述
提供该概述以便以简化形式介绍概念的选集,所述概念在以下详细描述中被进一步描述。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
此处公开的各实施例使用分组封装头部中的元数据信息来传送由数据中心网络所使用的指令或信息。数据中心端点或中间节点基于该元数据所指示的指令或信息来对分组执行附加的处理。这通过使分组传输问题的诊断较为容易并且能容易地提供本来会难以在数据中心中部署的特定特征,改进了网络虚拟化的性能。
在网络虚拟化***中,元数据可以在封装头部中从一个网络虚拟化边缘被传送至另一个网络虚拟化边缘,或者被传送至与网络虚拟化边缘相连的服务。两个网络虚拟化边缘可以协商用于处理元数据的支持。例如,元数据可以传送分组处理指令、诊断信息、因跳跃而异的信息或者分组标识符。通过使用分组头部中的元数据信息,数据中心网络可以提供这样的服务,诸如远程分段卸载、小分组合并、透明分组压缩以及端到端分组跟踪。
附图
为了进一步阐明本发明的各实施例的以上和其他优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。本发明将通过使用附图用附加特征和细节来描述和解释,附图中:
图1图示了第一租户以及第二租户,其中第一租户具有含三个子网的网络,第二租户具有含两个子网的网络。
图2图示了根据一实施例的示例网络虚拟化场景。
图3图示了根据一实施例用于主机数据中心中的服务器。
图4图示了使用客户地址、提供者接入、虚拟机和主机的MAC地址的已封装的分组头部。
图5图示了混合网络,其中客户服务被部署在数据中心网络上运行的虚拟网络中的VM上。
图6图示了使用封装隧道头部在VM和目的地主机之间传送数据的分组。
图7图示了可能在现有的数据中心网络中发生的大字节分组的分段。
图8图示了用于传送大内部分组的封装分组,所述大内部分组包括大用户数据分段以及单个内部头部。
图9图示由VM个别地发送至数据中心网络上的目的地的四个分组。
图10图示了以经由网络虚拟化模块从四个单独的分组创建的单个分组。
图11图示了具有封装头部元数据的已封装的隧道分组,所述封装头部元数据用于通过数据中心网络而传送内部分组。
图12图示了适合的计算和联网环境的示例。
详细描述
在传统的服务器虚拟化中,每个个别的实体主机被转换成在常用实体主机的顶部运行的虚拟机(VM)。每个VM具有它在专用硬件块上运行的幻象,即使诸如存储器、CPU和硬件外设这样的所有资源实际上是共享的。网络虚拟化扩展服务器虚拟化的概念以应用于整个租户网络。根据网络虚拟化,每个实体网络被转换成在公共实体网络之上运行的虚拟网络。每个虚拟网络具有它在专用网络上运行的幻象,即使诸如IP地址、交换以及路由这样的所有资源实际上是共享的。
图1图示了第一租户以及第二租户,所述第一租户具有含三个子网101A-101C的网络,所述第二租户具有含两个子网102A-102B的网络。这些子网101、102作为虚拟网络在实体网络103上运行,实体网络103包括通过实体路由105互连的多个实体服务器104。每个虚拟网络101、102具有它作为具有其自身地址空间的独立实体网络运行的幻象。
网络虚拟化允许各租户在移至云时保持它们自身的内部IP地址,而同时提供与其他租户的VM的隔离——即使那些VM恰巧使用正好相同的IP地址。这通过赋予每个VM两个IP地址完成。一个IP地址——客户地址(CA)——在VM上可见并且它在给定租户的虚拟子网101、102的环境中是相关的。另一个IP地址——提供者地址(PA)——在云数据中心中的实体网络103的环境中是相关的。租户和数据中心IP地址的这种分离提供了许多好处。
一个好处是租户可以将他们的网络和子网移至云中的VM,而无需修改实体网络配置并且无须担心其他租户或虚拟网络存在于该数据中心中。即使其他租户具有与同一虚拟交换机相连的完全相同的IP地址,租户服务也将继续起作用。
另一个好处是VM主机中的策略实施,该策略实施为多租户隔离提供了可扩展的解决方案。网络体系结构不需要被构造以便将各租户彼此隔离。现有的网络通常使用VLANN来进行隔离。然而,VLAN具有可扩展性的限制,并且在共享数据中心中仅支持有限数量的租户。此外,每次VM在新服务器上被提出时,VLAN就要求对交换机的重新配置。在此处公开的网络虚拟化中,无需为每一个VM变化重新配置交换机,这提高了运行数据中心的总体运作效率。
网络虚拟化的进一步好处在于,通过允许各租户在移至云时保存它们的IP地址,网络虚拟化也允许跨各个子网的实时迁移。实时迁移意味着与服务对话的任何客户端不知道宿主该服务的VM已经从一个实体主机移动到一个不同的实体主机。以前的跨子网实时迁移是不可能的,因为根据定义,如果VM从一个子网移至一个不同的子网,则它的IP地址必须改变,这造成了服务中断。然而,由于虚拟网络中的每个VM具有两个IP地址,在数据中心环境中相关的IP地址——即,实体地址——可以被改变,而无须改变在VM中的IP地址——即,客户地址。因此,当客户端经由CA与VM对话时,客户端不知道VM已经在实体上移动至一个不同的子网。此外,通过使用分布式的路由域,VM不知道其IP地址已经被虚拟化。从VM的角度,所有通信都经由CA IP地址发生。采用网络虚拟化的一示例***在待批美国专利申请序列号13/603,281中公开,该专利申请题为“Distributed Routing Domains in Multi-TenantDatacenter Virtual Networks(多租户数据中心虚拟网络中的分布式路由域)”。
图2图示了根据一实施例的示例网络虚拟化场景。Blue公司具有其自身的网络201,该网络201使用IP地址10.1.1.1和10.1.1.2(即,Blue CA)。类似地,Red公司具有其自身的网络202,该网络202使用IP地址10.1.1.1和10.1.1.2(即,Red CA)。如果这两个公司都想要在数据中心网络203上虚拟化它们分别的网络201、202,则由于重叠的CA空间会产生寻址问题。然而,通过使用网络虚拟化策略204,租户Blue和Red的客户地址可以被映射到主机机器的实体地址空间,所述主机机器托管租户的服务。
主机机器205和主机机器206都有网络虚拟化策略204的副本,主机机器使用该副本来将分组路由至分别的VM 207-210。主机机器205使用PA 192.168.1.10和192.168.1.11,主机机器206使用PA 192.168.1.12和192.168.1.13,来与实体网络上的其他主机、路由器和设备通信。如果对VM发生任何变化,诸如VM迁移至一个不同的主机,则应当对于所有主机机器立即更新网络虚拟化策略。
虚拟网络路由器可用于构建多个路由器的层级,所述多个路由器分布在各主机机器之间,以使不需要实体路由器来在虚拟网络上路由分组。VM或服务的IP地址不再是限制性的因子。IP地址可以与服务或VM共处,并且可以被移动至任一主机。网络虚拟化策略用于将分组路由至目的地服务的当前位置。一个客户的服务可以被分布至不同的实***置,但仍保持它们的地址。
另一方面,主机机器205和206使用CA 10.1.1.1和10.1.1.2来与它们托管的VM通信。VM 207用于被指向Blue网络201上的IP地址10.1.1.1的服务。在同一个主机机器205上,VM 208用于被指向Red网络202上的CA 10.1.1.1的服务。VM 209用于被指向Blue网络201上的CA 10.1.1.2的服务。在同一个主机机器206上,VM 210被指派给被指向Red网络202上的CA 10.1.1.2的服务。
数据中心203、主机205或主机206所接收到的IP分组使用虚拟化策略映射图204被路由至适当的VM。例如,当主机205从VM 207中的Blue 1VM接收到被定址到Blue 10.1.1.2的IP分组时,它查看策略映射图204并且确定在具有PA 192.168.1.12的机器处找到相应的VM。主机205用目的地地址192.168.1.12来封装IP分组,并将已封装的分组发送至数据中心网络203,数据中心网络203使用PA 192.168.1.12来将该分组转发至主机206。然后,主机206剥离封装,将该分组标识为指向Blue网络CA空间。通过使用策略映射图204,主机206将VM 209标识为对应于Blue网络上的CA 10.1.1.2。
图3图示了根据一实施例用于主机数据中心中的服务器。服务器或计算机***301将多个VM 302托管于主机分区303上。各VM 302经由VM交换机304彼此通信或与远程设备通信。
在一实施例中,通用路由封装(GRE)用于租户地址虚拟化。GRE封装——像任何其他封装一样——需要一个实体,该实体映射和封装一租户IP地址(即,CA)至提供者地址(PA)空间中的IP地址。映射CA/PA以及创建适当的GRE头部可由在主机服务器301的主机分区中运行的软件代理执行,所述软件代理诸如网络虚拟化模块305。在一实施例中,网络虚拟化模块305可以使用NVGRE。外出的VM话务由网络虚拟化模块305处理,且所有帧在被传输至网络接口卡(NIC)306以及通过网络307之前用适当的封装头部来封装。类似地,来自网络307的所有进入VM话务由网络虚拟化模块305处理,并且——在标识和确认租户并且移除封装头部之后——被发送至适当的目的地VM 302。网络虚拟化模块305可以是在服务器301上运行的软件代理。网络虚拟化模块305可以表现得像实体路由器,以使网络虚拟化对于VM302是透明的。
通过使用该集成的路由功能,主机服务器可以基于虚拟网络策略作出直接转发决策,以确定目的地子集是否在同一路由域(RDID)或虚拟子网(VSID)内。分组可以从源主机被直接传送至目的地主机,而无须经过数据中心网络上的单独的虚拟路由器。网络虚拟化模块在内部用作分布式路由器以便正如实际路由器以实体或虚拟形式一样作出转发决策。该分布式路由器功能用于支持以下描述的多子网拓扑结构。
通过使用封装转发功能,网关或设备无须路由虚拟网络VM到VM话务。然而,网关仍用于在虚拟网络VM和非虚拟网络***之间路由话务。网络虚拟化模块设有客户的所有子网中所有V的所有CA-PA映射记录,以使它自身可以转发分组。
图4图示使用VM和主机的CA、PA和MAC地址的示例已封装分组头部400。在一实施例中,GRE协议用于封装。然而,可以使用任何适当的封装协议,所述协议允许在分组中发送诸如VSID、VM MAC地址和CA这样的租户VM信息。在一实施例中,网络虚拟化模块执行封装和解封装。
内部IP 401包括租户的服务的目的地和源CA。内部MAC 402包括运行租户的服务的VM的目的地和源MAC地址。租户ID 403包括租户的虚拟子网标识符。尽管不同的租户可以在它们的网络上使用相同的IP地址(即,CA),租户ID 403和内部IP 401的组合唯一地标识不同租户虚拟网络中的服务。
外部IP 404和外部MAC 405由网络虚拟化模块在封装期间添加。外部IP 404和外部MAC 405的形式适合于数据中心中所使用的封装协议,诸如GRE。
网络虚拟化模块可以将元数据信息406添加至分组封装头部以传送关于该分组的额外指令或附加信息。通过使用元数据406,数据中心设备可以基于由元数据所指示的指令或信息对该分组进行额外的处理,所述数据中心设备诸如端点主机和网络服务器、路由器、交换机和中间安全设备。元数据406提供改进的网络虚拟化解决方案,该网络虚拟化解决方案允许数据中心引入本来会难以构建和部署的特征。
在一实施例中,元数据406在封装头部中从一个网络虚拟化边缘被传递至另一个网络虚拟化边缘、或至连接至网络虚拟化边缘的服务。网络虚拟化边缘可以协商用于处理元数据406的支持。元数据406也可以在封装头部中从连接至网络虚拟化边缘的服务被传送至另一网络虚拟化边缘或者至连接至网络虚拟化边缘的另一服务。服务可以是例如连接至网络虚拟化边缘的VM。
元数据406可以传送例如用于分组路由路径的分组处理指令、诊断信息、以及/或者用于因跳跃而异的信息。在一实施例中,元数据406的添加可由网络虚拟化模块处理,所述元数据的添加诸如因跳跃而异的信息的传送。
尽管元数据被示出为占据示例封装头部400中的指定位置406,但是将会理解,元数据可以占据封装头部内的任何一个或多个位置。为传送元数据而选择的位置可以基于所使用的封装协议的类型而变化。例如,所选封装协议的头部可以包括“保留”字段,所述“保留”字段对于数据中心内未使用的特征是未定义的或指定的。在一实施例中,元数据可以被添加至这种保留字段。在其他实施例中,可以使用封装头部内的用于数据中心内未使用的特征的其他字段来传送元数据。数据中心将理解,特定字段传送元数据而不是标准封装数据。
图5图示了混合网络,其中客户服务被部署在数据中心网络501上运行的虚拟网络中的VM上。数据中心501具有多个网络虚拟化边缘组件502,所述多个网络虚拟化边缘组件502可以是支持许多VM 503的VM主机机器或服务器。许多虚拟子网的服务可以被部署在各VM 503上,各VM 503分布在几个网络虚拟化边缘组件502上。
各VM 503经由VM交换机504彼此通信或与远程设备通信。每个网络虚拟化边缘502上的虚拟网络路由器505(诸如NVGRE路由器)封装在不同主机上的VM 503之间转发的分组。网络虚拟化模块遵循网络虚拟化策略,该网络虚拟化策略定义了数据中心网络501上的租户CA空间和PA空间之间的映射。各分组使用网络虚拟化策略在各VM之间路由。网络虚拟化模块505作为分布式路由器操作,所述分布式路由器支持由RDID和VSID两者索引的多VM网络拓扑结构。
VM话务由网络虚拟化模块505处理,并且在被传输至网络接口卡(NIC)506用于通过数据中心网络501传输之前用适当的封装头部来封装。网络501中的多个数据中心服务器、路由器、交换机以及中间安全设备507在网络虚拟化边缘502以及其他设备之间路由分组,其他设备诸如数据中心网关主机508。网络虚拟化模块505可以将元数据添加至在数据中心内被路由的已封装分组。元数据可由其他网络虚拟化模块和网络服务器、交换机、路由器、中间安全设备以及其他节点用来确定如何处理分组。
网关主机508可以是网络虚拟化边缘服务器。网关主机508提供到数据中心外部的网络(诸如互联网)上的外部主机509的接口。未被定址到数据中心中的虚拟网络或VM中的任一个的分组被路由至网关主机508进行处理。所有离网话务经过网关508,网关508具有全部虚拟网络策略信息,以使它可以将分组路由至正确的网络虚拟化边缘502和VM或者路由至正确的外部实体509。如果VM 503将分组发送至对于其网络虚拟化边缘502未知的目的地IP地址以及/或者在虚拟网络策略中没有用于目的地IP地址的输入,则该分组缺省情况下被转发至网关508进行进一步路由。
在网关508处从NIC 510处接收到来自网络501的分组。分组被转发至网络虚拟化模块511,所述网络虚拟化模块511在将它们发送至网关开交换机512之前对它们进行解封装。然后,分组被转发至适当的NIC 513以便被发送至目的地主机509上的NIC 514。
通过使用封装,网络虚拟化模块505、511可以在网络虚拟化边缘502上的VM以及外部网络509上的设备之间转发分组。例如,VM 503可以在不知道目的地是在外部网络上的情况下,生成分组以发送至外部主机509。网络虚拟化边缘502上的VM交换机504将会把分组发送至网络虚拟化模块505,所述网络虚拟化模块505将引用虚拟化策略并且确定该分组应当使用网关508的MAC地址被路由以到达外部主机509上的最终目的地。网络虚拟化模块505将通过添加外部头部用于将该分组路由至网关508,来封装该分组。
将元数据包括在数据中心的网络虚拟化分组中允许数据中心向客户提供许多附加特征,诸如远程分段卸载、小分组合并、透明分组压缩以及端到端分组跟踪。此外,元数据可由数据中心用来提供分组处理/服务质量(QoS)指令并且用来支持网络诊断。
远程分段卸载
参照图5图示的示例数据中心,从VM 503到外部主机509的话务流经网关主机508。当TCP连接已在VM 503和外部主机509之间建立时,为该连接协商最大分段尺寸(MSS)。该尺寸是基于本地最大传输单元(MTU)。例如,大小为1418字节的TCP MSS可以被协商为VM 503和外部主机509之间的负载大小。相应地,在典型的网络中,在添加MAC头部、IP头部和TCP头部之后,从VM 503被发送至外部主机509的任何分组会被限制为1514字节。
图6图示1514字节的分组600。VM所生成的内部分组601包括最大1418字节的用户数据部分602和内部头部603,所述内部头部603包括VM的虚拟网络的地址和路由信息。网络虚拟化模块505通过添加适当的封装头部604来封装内部分组601,适当的封装头部604可以包括封装专用数据605(诸如GRE字段)以及用于数据中心的实体网络的外部地址和路由数据606。
在该配置中,如果VM向外部主机发送超过链接MTU的大TCP分组,诸如8000字节大小的分组,则该分组会由网络虚拟化模块(NVE)以软件或使用称为大发送卸载(LSO)的NIC卸载分段成多个分组,所述分组具有等于MSS大小的TCP负载大小,然后添加确保总大小为每分组1514或更小的封装头部。
图7图示了可能在现有的数据中心网络中发生的8000字节分组的分段。多个封装分组701-706可由网络虚拟化模块505从VM的8000字节分组创建。执行该分段以维持针对TCP连接协商的MSS,该TCP连接是基于从网关主机508到外部主机509的VM的1514字节的MTU。然而,该分段是低效的,因为它没有利用在数据中心的VM 503和网关主机508之间的自身网络501内可用的较大MTU尺寸。
网络虚拟化边缘502处的分段会导致在数据中心网络501上发送多个分组701-706。每个分组701-706会具有单独的封装隧道头部604。该过度开销进一步降低了数据中心网络的效率。
通过远程分段卸载,网络虚拟化模块可以检测到分组经由网关主机508从VM被发送至目的地主机,诸如外部主机509。在一些实施例中,网关主机508可以是VM。网络虚拟化模块意识到存在较大MTU(即,至少8000字节MTU)在VM和网关主机508之间的数据中心网络501上可用。相应地,取代跨数据中心网络501发送分组701-706的串,网络虚拟化模块在没有任何分段的情况下将单个大分组发送至网关主机。
图8图示了用于传送大内部分组801的封装分组800,所述大内部分组801包括8000字节的用户数据分段802以及单个内部头部803。封装头部804包括封装专用数据805(诸如GRE信息)以及用于数据中心的实体网络的外部地址和路由数据806。封装专用数据805包括由网关主机508用来确定对于在TCP连接上被发送至目的地外部主机509的分组应当使用什么MSS的MSS元数据。
通过使用该远程分段卸载过程,数据中心通过避免在数据中心自身内分段VM分组的需求,保存了带宽和处理时间。主机网关508不知道在VM503和外部主机509之间协商的MSS,以使信息作为封装头部中的元数据被传送。这降低了网络开销,因为仅需要一个封装隧道头部804,而不是在需要将该分组分成多个分组701-706时的六个封装隧道头部604。这也要求网关主机508仅处理一个分组800而不是六个分组701-706,从而改进了网关主机508的软件效率。
网关主机508使用来自封装头部的MSS元数据来为要被发送至目的地外部主机509的分组确定适当的分组尺寸(即,1514个字节)。分组800的最终分段可由网关主机508以软件执行或者由实体NIC 513使用称为大分段卸载(LSO)的NIC卸载来执行。在完成其处理之后,网关主机508将各分组发送至外部主机509。
在其他实施例中,大分组可以在数据中心中从一个VM被路由至另一个VM。网关虚拟化模块可以将大分组分成适当的任意尺寸的分组。例如,如果VM发送16000字节的分组,网络初始化模块可以将其分成两个8000字节的分组用于通过数据中心网络而传输。两个8000字节的分组可以在数据中心网络边缘处被进一步分成各较小分组用于传输至外部目的地。
小分组合并
尽管远程卸载过程认识到不将大分组分成许多较小分段的好处,但是小分组合并过程通过将个别的分组组合成一个较大分组而采取类似的方法。例如,如果VM 503将多个小分组发送至另一个VM 503或发送至网关主机508,则网络初始化模块505可以将被指向同一网络虚拟化边缘的两个或更多个分组组合成单个封装隧道分组。这改进了数据中心效率,因为网络需要处理较少的分组,且网络上的总字节数通过消除对每个小分组上的单独封装头部的需求而减少。
图9图示了由VM 503发送至数据中心网络上的目的地的四个分组901-904,所述目的地诸如另一VM 503或网关主机508。分组901-904使用例如GRE来封装。将会理解,可以为分组使用任意封装协议来支持数据中心中的虚拟网络。如果VM 503个别地发送四个1000字节的负载分组901-904,则每个分组将需要一个单独的封装头部。此外,数据中心网络组件将需要分开地处理和路由每一个分组。
个别地发送这四个分组是低效的。然而,通过使用与封装元数据的分组合并,可以创建单个隧道分组来组合全部四个分组。图10图示了已经由网络虚拟化模块从四个单独的分组创建的单个已封装分组1000。分组1000可以使用GRE或任何其他封装协议来封装。每一个分组的内部头部和用户数据负载占据其自身的分段1001-1004。单个封装头部1005用于全部四个分组。封装头部包括元数据1006,元数据1005标识了每个分段1001-1004在哪里开始和结束。例如,元数据可以指示分组的数量以及自分组起始处的内部分组偏移的阵列。分组1000可以通过网络被发送至目的地设备。目的地设备接收该分组并提取封装头部元数据1006以标识已合并分组的数量以及分组边界。例如,元数据1006可以将子分组边界标识为自分组1000起始处的偏移。接收机网络虚拟化模块使用该元数据信息来将大分组1000分割成原始的较小分组用于传送至本地VM。
小分组合并解决方案提供了仅发送一个已封装隧道分组的好处,该已封装隧道分组组合了多个VM分组。这降低了数据中心网络上的开销。小分组合并也有助于被路由至数据中心外的目的地的分组,因为网关主机可以成批地处理多个分组,而不是一次处理一个分组,从而降低了主机上的软件开销。
分组压缩
如果VM发送大分组,则网络虚拟化模块可以压缩该分组作为封装过程的一部分来降低在数据中心网络上发送的分组的尺寸。封装头部中的元数据可用于指定是否已使用压缩并且标识压缩的类型。
压缩也可用在多个VM分组被组合到一个分组中用于在数据中心网络上传输时。例如,在图9和10的示例中,分组901-904中的用户数据1-4可以在分组被组合为大分组1000之前被压缩。除了标识分组1000中的子分组1001-1004边界以外,元数据1006可以指示在该分组中使用了压缩并且指示所使用的压缩算法。接收网络虚拟化模块使用元数据在将VM分组传送至其目的地之前解压缩所述VM分组。该压缩可以对于VM是透明的,因为它在源VM发送该分组之后以及在目的地VM接收该分组之前被执行。这种压缩可以以网络虚拟化模块处的较高处理要求为代价而得到改进的网络利用率,但是在带宽受限网络中可以是有用的。
端到端分组追踪
在具有网络虚拟化的数据中心中,分组可以遍历源VM、源VM交换机、源网络虚拟化模块以及NIC,全都在源主机服务器内。然后,分组典型地在到达目的地网络虚拟化边缘之前遍历数据中心内的几个实体路由器、交换机或者其他节点,所述目的地网络虚拟化边缘诸如另一主机服务器或主机网关。分组可以在到达目的地VM之前遍历NIC、目的地网络虚拟化模块以及目的地VM。分组也可以在数据中心网络外部始发,用于经由网络虚拟化边缘或主机网关路由至VM。分组可以使用封装头部元数据通过数据中心网络来跟踪。
图11图示了用于通过数据中心网络传送内部分组1101的已封装的隧道分组1100。网络虚拟化模块通过添加适当的封装头部1102来封装内部分组1101,适当的封装头部1102可以包括封装专用数据1103(诸如GRE字段和元数据)以及用于数据中心的实体网络的外部地址和路由数据1104。封装元数据1103可用于在分组1100遍历数据中心节点时追踪该分组1100。
封装元数据可以用作唯一标识符,该唯一标识符在它在数据中心网络内遍历的每一个设备处以及/或者在网络栈内的每一层处被传送到追踪事件上。该唯一元数据标志也从VM被传递至网络虚拟化模块以及然后传递至NIC。这允许一直从VM上的应用追踪该分组直到网络接口卡。
网络虚拟化模块可以向封装头部添加唯一标识符作为元数据,所述封装头部也可以包括用于分组处理的诊断事件。处理该分组的网络虚拟化模块从封装头部以及用于分组处理的日志诊断事件中提取标识符。唯一标识符可以被发送至目的地VM,在目的地VM处,网络栈可以使用相同的标识符而不是生成单独的标识符。以此方式,特定分组的事件可以在VM内以及在用于分组丢失或其他问题的统一诊断的数据中心网络上具有相同的标识符。
例如,元数据可以添加由多个软件层以及由中间传输装置使用的协议不可知的上下文。即使网络流中的分组在网络虚拟化边缘设备或网关处被终止并且然后被包括在离开该设备或网关的另一流中,该追踪上下文也可以跨数据中心网络被传输。此外,相同的追踪上下文可由数据中心网络中的多个分组所使用。
诊断分组
封装头部元数据可用于将分组标记为特殊的诊断分组。当中间网络节点(诸如数据中心服务器、交换机、路由器、中间安全设备以及其他节点)以及网络虚拟化边缘设备观察到诊断分组时,设备可以记录详细的诊断信息。这会允许数据中心操作者对特定类型的分组运行诊断,所述特定类型的分组诸如ping分组或TCP SYN分组。
服务质量(QoS)
在另一实施例中,封装头部元数据可以触发其他事件,诸如分组的特殊处理。例如,封装头部元数据可以指示中间网络设备如何处理该分组,所述中间网络设备诸如网络路由器、交换机或其他节点。封装头部元数据可以标识该分组的优先级或带宽要求。当网络设备观察到封装头部元数据时,它将对所述分组区分优先级或调节以满足QoS要求。通过使用封装头部元数据,数据中心网络可以对等待时间敏感的应用的话务(诸如语音或视频分组)区分优先级,并且控制等待时间敏感的话务(诸如用于成批数据传输的分组)的影响。
在其他实施例中,元数据可以指示分组应当接收中间设备所作的特殊处理。例如,元数据可以指示封装应当经历安全设备所作的详细分析。类似地,元数据可以指示这种分析已经发生。例如,安全设备可以用指示该分组已被安全设备所处理的元数据来标记特定分组。这种元数据可以指示分组是安全的用于传输(即,已被分析)或者源自于受信的或不受信的源。
因跳跃而异的信息
封装头部元数据可用于提供因跳跃而异的信息用于分组路由。例如,封装元数据可以指示分组应当通过特定路径被路由,或者可以指定特定的设备如何应当处理该分组。这会允许数据中心指定特定的路由器/交换机应当以一种方式处理该分组,以及/或者另一个路由器/交换机应当以一种不同方式来处理同一个分组。网络中的每个节点可以将封装头部元数据映射至该节点将应用于该分组的一组特定参数。
图12解说了其上可以实现图1-11的示例的适当的计算和联网环境1200的示例。计算***环境1200只是合适的计算环境的一个示例,而非意在暗示对本发明的使用或功能性范围有任何限制。本发明可用众多其他通用或专用计算***环境或配置来操作。适用于本发明的公知计算***、环境、和/或配置的示例包括但不限于:个人计算机、服务器计算机、手持式或膝上型设备、平板设备、多处理器***、基于微处理器的***、机顶盒、可编程消费电子产品、网络PC、微型计算机、大型计算机、包括任何以上***或设备的分布式计算环境等等。
本发明可在诸如程序模块等由计算机执行的计算机可执行指令的通用上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。本发明也可被实践在分布式计算环境中,分布式计算环境中任务是由通过通信网络链接的远程处理设备执行的。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和/或远程计算机存储介质中。
参考图12,用于实现本发明的各个方面的示例性***可以包括计算机1200形式的通用计算设备。组件可包括但不限于诸如处理单元1201之类的各种硬件组件、诸如***存储器之类的数据存储1202、以及将包括数据存储1202在内的各种***组件耦合到处理单元1201的***总线1203。***总线1203可以是若干类型的总线结构中的任一种,包括存储器总线或存储器控制器、***总线和使用各种总线体系结构中的任一种的局部总线。作为示例而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和***部件互连(PCI)总线(也称为夹层(Mezzanine)总线)。
计算机1200通常包括各种计算机可读介质1204。计算机可读介质1204可以是能由计算机1200访问的任何可用介质,并同时包含易失性和非易失性介质以及可移动、不可移动介质,但不包括传播信号。作为示例而非限制,计算机可读介质1204可包括计算机存储介质和通信介质。计算机存储介质包括以存储诸如计算机可读的指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不仅限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁存储设备,或可以用来存储所需信息并可以被计算机1200访问的任何其他介质。通信介质通常以诸如载波或其他传输机制之类的已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息传送介质。术语“已调数据信号”意指具有以对信号中的信息编码的方式被设置或改变的一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上面各项中的任何项的组合也包括在计算机可读介质的范围内。计算机可读介质可被实现为计算机程序产品,诸如存储在计算机存储介质上的软件。
数据存储或***存储器1202包括诸如只读存储器(ROM)和/或随机存取存储器(RAM)之类的易失性和/或非易失性存储器形式的计算机存储介质。基本输入/输出***(BIOS)包含有助于诸如启动时在计算机1200中元件之间传递信息的基本例程,它通常被存储在ROM中。RAM通常包含处理单元1201可立即访问和/或当前正在操作的数据和/或程序模块。作为示例而非限制性,数据存储1202保存操作***、应用程序、其他程序模块、和程序数据。
数据存储1202还可以包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,数据存储1202可以是对不可移动、非易失性磁介质进行读写的硬盘驱动器,对可移动、非易失性磁盘进行读写的磁盘驱动器,以及对诸如CD ROM或其它光学介质等可移动、非易失性光盘进行读写的光盘驱动器。可在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。上文所描述的并且在图12中所显示的驱动器以及它们的关联的计算机存储介质,为计算机1200提供对计算机可读取的指令、数据结构、程序模块及其他数据的存储。
用户可通过用户接口1205或诸如平板、电子数字化仪、话筒、键盘和/或定点设备(通常指的是鼠标、跟踪球或触摸垫)等其它输入设备输入命令和信息。其他输入设备可以包括操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。另外,语音输入、使用手或手指的手势输入、或其它自然用户接口(NUI)也可与适当的输入设备(诸如话筒、相机、平板、触摸垫、手套、或其它传感器)一起使用。这些及其他输入设备常常通过耦合到***总线1203的用户输入接口1205连接到处理单元1201,但是,也可以通过其他接口和总线结构,如并行端口、游戏端口、通用串行总线(USB)端口来进行连接。监视器1206或其他类型的显示设备也通过诸如视频接口之类的接口连接至***总线1203。监视器1206也可以与触摸屏面板等集成。注意到监视器和/或触摸屏面板可以在物理上耦合至其中包括计算设备1200的外壳,诸如在平板型个人计算机中。此外,诸如计算设备1200等计算机还可以包括其他***输出设备,诸如扬声器和打印机,它们可以通过输出***接口等连接。
计算机1200可使用至一个或多个远程设备(诸如远程计算机)的逻辑连接1207在网络化或云计算环境中操作。远程计算机可以是个人计算机、服务器、路由器、交换机、网络PC、对等设备或其它常见的网络节点,并且一般包括上面关于计算机1200所述的许多或全部元件。图12中所描述的逻辑连接包括一个或多个局域网(LAN)和一个或多个广域网(WAN),但是,也可以包括其他网络。此类联网环境在办公室、企业范围的计算机网络、内联网和因特网中是常见的。
当在联网或云计算环境中使用时,计算机1200可通过网络接口或适配器1207连接至公共或私有网络。在一些实施例中,使用调制解调器或用于在网络上建立通信的其它装置。调制解调器可以是内置或外置的,它经由网络接口1203或其它适当的机制连接至***总线1207。诸如包括接口和天线的无线联网组件可通过诸如接入点或对等计算机之类的合适的设备耦合到网络。在联网环境中,相关于计算机1200所示的程序模块或其部分可被存储在远程存储器存储设备中。可以理解,所示的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其他手段。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。

Claims (15)

1.一种用于在数据中心网络中处理分组的方法,包括:
在网络虚拟化模块处接收分组,所述分组被定址到所述数据中心网络上的虚拟地址;以及
从所述分组创建已封装的分组,所述已封装的分组被定址到所述数据中心网络上的实体地址,所述已封装的分组包括具有相关联的封装协议未定义的元数据的封装头部,所述元数据被用于提供与远程分段卸载、小分组合并、透明分组压缩以及端到端分组跟踪中的一个或多个有关的信息。
2.如权利要求1所述的方法,其特征在于,进一步包括:
检测到数据中心网络中分组的最大传输单元尺寸大于要被发送至所述数据中心网络外部的目的地主机的分组的最大分段尺寸;
接收到尺寸比在所述网络虚拟化模块处接收到的最大分段尺寸要大的分组;
自所述分组创建已封装的分组,所述已封装的分组具有标识所述最大分段尺寸的元数据;以及
将具有所述最大分段尺寸元数据的所述已封装分组发送至数据中心网络网关。
3.如权利要求2所述的方法,其特征在于,进一步包括:
在数据中心网关处接收具有所述最大分段尺寸元数据的所述已封装分组;
从所述封装头部提取所述最大分段尺寸元数据;
将所述分组分段为符合所述最大分段尺寸要求的多个较小分组;以及
将所述较小分组发送至所述目的地主机。
4.如权利要求1所述的方法,其特征在于,所述元数据在任选头部中或者在所述封装头部的保留分段中被传送。
5.如权利要求1所述的方法,其特征在于,所述元数据在封装头部字段中被传送。
6.如权利要求1所述的方法,其特征在于,进一步包括:
接收被定址到一公共虚拟地址的多个小分组,所述小分组具有低于阈值界限的尺寸;
从所述小分组创建单个已封装分组,所述已封装分组具有标识所述多个小分组的每一个在所述封装分组内的位置的元数据。
7.如权利要求1所述的方法,其特征在于,进一步包括:
压缩被定址到所述虚拟地址的分组;
将已压缩的分组包括在所述已封装分组的负载数据中;以及
将元数据添加至所述封装头部,所述封装头部标识了用于压缩所述分组的压缩参数。
8.如权利要求1所述的方法,其特征在于,所述元数据传送分组处理指令、诊断信息、因跳跃而异的信息或者分组标识符,所述分组标识符用于追踪所述已封装分组或者被定址到虚拟地址的所述分组或者两者。
9.如权利要求1所述的方法,其特征在于,所述元数据包括用于所述数据中心网络中的一个或多个节点的已封装分组处理信息。
10.一种数据中心网络节点,包括:
网络虚拟化模块,所述网络虚拟化模块被适配成处理与所述数据中心网络中的其他节点交换的已封装分组,所述网络虚拟化模块基于在所述封装分组的封装头部中存储的、相关联的封装协议未定义的元数据来处理所述已封装分组,所述元数据被用于提供与远程分段卸载、小分组合并、透明分组压缩以及端到端分组跟踪中的一个或多个有关的信息。
11.如权利要求10所述的数据中心网络节点,其特征在于,所述网络虚拟化模块是运行于所述节点上的软件应用。
12.如权利要求10所述的数据中心网络节点,其特征在于,所述网络虚拟化模块还被适配成使用来自封装分组的负载数据来创建两个或更多个新分组,所述新分组符合所述元数据中的最大分段尺寸。
13.如权利要求10所述的数据中心网络节点,其特征在于,所述已封装分组包括多个单独的分组,且所述元数据标识所述多个单独的分组中的每一个在封装分组中的位置,且其中所述网络虚拟化模块还被适配成从所述封装分组提取所述单独的分组。
14.如权利要求10所述的数据中心网络节点,其特征在于,所述已封装分组包括压缩的数据负载,且所述元数据标识了用于压缩所述数据的压缩参数。
15.如权利要求10所述的数据中心网络节点,其特征在于,所述元数据传送分组处理指令、诊断信息、因跳跃而异的信息或者分组标识符,所述网络虚拟化模块还被适配成使用所述分组标识符来追踪所述已封装分组。
CN201480050580.3A 2013-09-13 2014-09-12 使用封装头部中的元数据的高级网络虚拟化 Active CN105612719B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/026,759 2013-09-13
US14/026,759 US10212022B2 (en) 2013-09-13 2013-09-13 Enhanced network virtualization using metadata in encapsulation header
PCT/US2014/055283 WO2015038836A2 (en) 2013-09-13 2014-09-12 Enhanced network virtualization using metadata in encapsulation header

Publications (2)

Publication Number Publication Date
CN105612719A CN105612719A (zh) 2016-05-25
CN105612719B true CN105612719B (zh) 2020-06-05

Family

ID=51626612

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480050580.3A Active CN105612719B (zh) 2013-09-13 2014-09-12 使用封装头部中的元数据的高级网络虚拟化

Country Status (4)

Country Link
US (2) US10212022B2 (zh)
EP (1) EP3044914B1 (zh)
CN (1) CN105612719B (zh)
WO (1) WO2015038836A2 (zh)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104601352B (zh) * 2013-10-30 2019-02-12 华为技术有限公司 一种网络上下行数据处理方法、电子设备及***
US9356866B1 (en) * 2014-01-10 2016-05-31 Juniper Networks, Inc. Receive packet steering for virtual networks
US9641441B2 (en) * 2014-03-12 2017-05-02 Verizon Patent And Licensing Inc. Learning information associated with shaping resources and virtual machines of a cloud computing environment
US9641435B1 (en) * 2014-03-28 2017-05-02 Juniper Neworks, Inc. Packet segmentation offload for virtual networks
US20150319250A1 (en) * 2014-04-30 2015-11-05 Anil Vasudevan Technologies for accelerating network virtualization
US9742881B2 (en) * 2014-06-30 2017-08-22 Nicira, Inc. Network virtualization using just-in-time distributed capability for classification encoding
US20160164825A1 (en) * 2014-12-04 2016-06-09 Cisco Technology, Inc. Policy Implementation Based on Data from a Domain Name System Authoritative Source
US9948579B1 (en) * 2015-03-30 2018-04-17 Juniper Networks, Inc. NIC-based packet assignment for virtual networks
US9860214B2 (en) * 2015-09-10 2018-01-02 International Business Machines Corporation Interconnecting external networks with overlay networks in a shared computing environment
US9923835B1 (en) * 2015-09-23 2018-03-20 Juniper Networks, Inc. Computing path maximum transmission unit size
US10397353B2 (en) * 2015-10-01 2019-08-27 Nicira, Inc. Context enriched distributed logging services for workloads in a datacenter
US10536334B2 (en) 2016-01-28 2020-01-14 Oracle International Corporation System and method for supporting subnet number aliasing in a high performance computing environment
US10374926B2 (en) 2016-01-28 2019-08-06 Oracle International Corporation System and method for monitoring logical network traffic flows using a ternary content addressable memory in a high performance computing environment
US10659340B2 (en) 2016-01-28 2020-05-19 Oracle International Corporation System and method for supporting VM migration between subnets in a high performance computing environment
US10148675B1 (en) 2016-03-30 2018-12-04 Amazon Technologies, Inc. Block-level forensics for distributed computing systems
US10142290B1 (en) 2016-03-30 2018-11-27 Amazon Technologies, Inc. Host-based firewall for distributed computer systems
US10178119B1 (en) 2016-03-30 2019-01-08 Amazon Technologies, Inc. Correlating threat information across multiple levels of distributed computing systems
US10333962B1 (en) 2016-03-30 2019-06-25 Amazon Technologies, Inc. Correlating threat information across sources of distributed computing systems
US10079842B1 (en) 2016-03-30 2018-09-18 Amazon Technologies, Inc. Transparent volume based intrusion detection
US10320750B1 (en) * 2016-03-30 2019-06-11 Amazon Technologies, Inc. Source specific network scanning in a distributed environment
JP6929863B2 (ja) 2016-08-23 2021-09-01 オラクル・インターナショナル・コーポレイション 高性能コンピューティング環境における高速ハイブリッド再構成をサポートするためのシステムおよび方法
US10686568B2 (en) * 2016-12-29 2020-06-16 Microsoft Technology Licensing, Llc Active flow diagnostics for cloud-hosted networks
EP3566407A1 (en) 2017-01-03 2019-11-13 INTEL Corporation Cross-device segmentation offload
US11153224B2 (en) * 2017-02-09 2021-10-19 Radcom Ltd. Method of providing cloud computing infrastructure
US10757004B2 (en) * 2017-04-12 2020-08-25 Nicira, Inc. Routing domain identifier assignment in logical network environments
US10523577B2 (en) * 2017-05-23 2019-12-31 Cable Television Laboratories, Inc Systems and methods for low latency DOCSIS queueing and scheduling
US10594618B1 (en) 2017-06-06 2020-03-17 Juniper Networks, Inc Apparatus, system, and method for fragmenting packets into segments that comply with the maximum transmission unit of egress interfaces
CN108282391B (zh) * 2018-01-11 2022-01-25 新华三技术有限公司 一种vxlan报文分片方法和装置
US10938685B2 (en) * 2018-07-24 2021-03-02 Cisco Technology, Inc. Secure traffic visibility and analytics for encrypted traffic
US11394693B2 (en) * 2019-03-04 2022-07-19 Cyxtera Cybersecurity, Inc. Establishing network tunnel in response to access request
CN111669357B (zh) * 2019-03-08 2023-03-24 厦门网宿有限公司 一种批量处理haproxy网络隔离空间的方法及haproxy代理服务器
US11240265B2 (en) 2019-05-06 2022-02-01 Bank Of America Corporation Network forensic system for performing transmission metadata tracking and analysis
CN113014966A (zh) * 2019-12-19 2021-06-22 中兴通讯股份有限公司 Mp4文件虚拟mss分片方法、设备和存储介质
US11470071B2 (en) * 2020-04-20 2022-10-11 Vmware, Inc. Authentication for logical overlay network traffic
US11516291B2 (en) * 2020-09-29 2022-11-29 Cohesity, Inc. Secure communications of storage tenants that share a storage cluster system
US11469987B2 (en) 2020-09-30 2022-10-11 Vmware, Inc. Incremental and parallel routing domain computation
US11997533B2 (en) * 2021-09-29 2024-05-28 Qualcomm Incorporated Uplink segmentation offload to modem
US20230198946A1 (en) * 2021-12-21 2023-06-22 Cisco Technology, Inc. Predictive policy enforcement using encapsulated metadata
US11595245B1 (en) 2022-03-27 2023-02-28 Bank Of America Corporation Computer network troubleshooting and diagnostics using metadata
US11658889B1 (en) 2022-03-27 2023-05-23 Bank Of America Corporation Computer network architecture mapping using metadata

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101772918A (zh) * 2007-08-03 2010-07-07 思科技术公司 服务链的操作、管理和维护(oam)
US7899048B1 (en) * 2003-01-15 2011-03-01 Cisco Technology, Inc. Method and apparatus for remotely monitoring network traffic through a generic network

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000072532A1 (en) 1999-05-24 2000-11-30 Rutgers, The State University Of New Jersey System and method for network packet reduction
US20020124095A1 (en) 2001-03-02 2002-09-05 Sultan Israel Daniel Apparatus and method for sending point-to-point protocol over ethernet
US7542476B2 (en) * 2003-08-29 2009-06-02 Flash Networks Ltd Method and system for manipulating IP packets in virtual private networks
US20060047849A1 (en) 2004-06-30 2006-03-02 Mukherjee Shubhendu S Apparatus and method for packet coalescing within interconnection network routers
EP1829295B1 (en) * 2004-12-21 2009-09-23 TELEFONAKTIEBOLAGET LM ERICSSON (publ) An arrangement and a method relating to flow of packets in communication systems
KR20100015790A (ko) 2007-03-23 2010-02-12 빅풋 네트웍스, 인크. 메시지 병합 장치 및 그 방법
US8108545B2 (en) 2007-08-27 2012-01-31 International Business Machines Corporation Packet coalescing in virtual channels of a data processing system in a multi-tiered full-graph interconnect architecture
US8878912B2 (en) * 2009-08-06 2014-11-04 Qualcomm Incorporated Encapsulating three-dimensional video data in accordance with transport protocols
US8300641B1 (en) 2009-09-09 2012-10-30 Amazon Technologies, Inc. Leveraging physical network interface functionality for packet processing
US8428087B1 (en) 2010-09-17 2013-04-23 Amazon Technologies, Inc. Framework for stateless packet tunneling
US8462780B2 (en) 2011-03-30 2013-06-11 Amazon Technologies, Inc. Offload device-based stateless packet processing
US8825900B1 (en) * 2011-04-05 2014-09-02 Nicira, Inc. Method and apparatus for stateless transport layer tunneling
US8762501B2 (en) 2011-08-29 2014-06-24 Telefonaktiebolaget L M Ericsson (Publ) Implementing a 3G packet core in a cloud computer with openflow data and control planes
US8856518B2 (en) 2011-09-07 2014-10-07 Microsoft Corporation Secure and efficient offloading of network policies to network interface cards
US20130107887A1 (en) * 2011-10-26 2013-05-02 Mark A. Pearson Maintaining virtual network context across multiple infrastructures
US8937920B2 (en) * 2011-12-30 2015-01-20 UV Networks, Inc. High capacity network communication link using multiple cellular devices
WO2014021838A1 (en) * 2012-07-31 2014-02-06 Hewlett-Packard Development Company, L.P. Virtual machine data packet encapsulation and decapsulation
US9197549B2 (en) * 2013-01-23 2015-11-24 Cisco Technology, Inc. Server load balancer traffic steering
US9178812B2 (en) * 2013-06-05 2015-11-03 Cisco Technology, Inc. Stacking metadata contexts for service chains
US9106257B1 (en) * 2013-06-26 2015-08-11 Amazon Technologies, Inc. Checksumming encapsulated network packets
US9282019B2 (en) * 2013-07-12 2016-03-08 Nicira, Inc. Tracing logical network packets through physical network
CN105409167B (zh) * 2013-08-05 2019-04-12 华为技术有限公司 通过软件定义网络在隧道中传输报文的方法和***
US9660909B2 (en) * 2014-12-11 2017-05-23 Cisco Technology, Inc. Network service header metadata for load balancing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7899048B1 (en) * 2003-01-15 2011-03-01 Cisco Technology, Inc. Method and apparatus for remotely monitoring network traffic through a generic network
CN101772918A (zh) * 2007-08-03 2010-07-07 思科技术公司 服务链的操作、管理和维护(oam)

Also Published As

Publication number Publication date
US10212022B2 (en) 2019-02-19
US20150081863A1 (en) 2015-03-19
EP3044914A2 (en) 2016-07-20
US10862732B2 (en) 2020-12-08
EP3044914B1 (en) 2019-09-11
CN105612719A (zh) 2016-05-25
WO2015038836A3 (en) 2015-05-07
US20190190770A1 (en) 2019-06-20
WO2015038836A2 (en) 2015-03-19

Similar Documents

Publication Publication Date Title
US10862732B2 (en) Enhanced network virtualization using metadata in encapsulation header
US10541836B2 (en) Virtual gateways and implicit routing in distributed overlay virtual environments
US10778532B2 (en) Overlay network movement operations
US11088872B2 (en) Servicing packets in a virtual network and a software-defined network (SDN)
US10237230B2 (en) Method and system for inspecting network traffic between end points of a zone
US10158563B2 (en) Flow based overlay network
JP6487979B2 (ja) オフロードデバイスベースのパケット処理のためのフレームワークおよびインターフェース
US9042384B2 (en) Distributed routing domains in multi-tenant datacenter virtual networks
US8908691B2 (en) Virtual ethernet port aggregation (VEPA)-enabled multi-tenant overlay network
US20190273718A1 (en) Intercepting network traffic routed by virtual switches for selective security processing
KR101840904B1 (ko) 가상화된 네트워크와 비-가상화된 네트워크 간 가상화 게이트웨이
CN113326228B (zh) 基于远程直接数据存储的报文转发方法、装置及设备
US11595303B2 (en) Packet handling in software-defined net working (SDN) environments
WO2020019958A1 (zh) Vxlan报文封装及策略执行方法、设备、***
CN113709016B (zh) 通信***以及通信方法、装置、设备和存储介质

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