CN106464457B - 用于多个并发虚拟网络的系统和方法 - Google Patents

用于多个并发虚拟网络的系统和方法 Download PDF

Info

Publication number
CN106464457B
CN106464457B CN201480075154.5A CN201480075154A CN106464457B CN 106464457 B CN106464457 B CN 106464457B CN 201480075154 A CN201480075154 A CN 201480075154A CN 106464457 B CN106464457 B CN 106464457B
Authority
CN
China
Prior art keywords
network
virtual
mmu
networks
operating system
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
CN201480075154.5A
Other languages
English (en)
Other versions
CN106464457A (zh
Inventor
查尔斯·杜内尔姆·加吉特
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.)
Nate Lin Kurz Technology Enterprise Co Ltd
Original Assignee
Nate Lin Kurz Technology Enterprise Co ltd
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
Priority claimed from US14/139,594 external-priority patent/US9425986B2/en
Application filed by Nate Lin Kurz Technology Enterprise Co ltd filed Critical Nate Lin Kurz Technology Enterprise Co ltd
Publication of CN106464457A publication Critical patent/CN106464457A/zh
Application granted granted Critical
Publication of CN106464457B publication Critical patent/CN106464457B/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
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers

Landscapes

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

Abstract

提供了用于建立多个并发虚拟网络的技术。在一个示例中,提供了一种可由消息管理单元(MMU)等操作的方法。所述方法可以包括:与可操作地耦接到操作系统的多个虚拟网络接口(VNI)建立通信句柄,并建立可操作地连接到多个虚拟分层网络的网络通信套接字(NCS)。所述方法可以包括:建立将MMU及其组件与MMU的各个VNI可操作地耦接的数据通道,并允许虚拟分层网络在一个或多个物理网络之上被并发传输。所述方法可以包括:经由所建立的数据通道、所建立的句柄和操作系统的网络软件栈的组合,促进操作系统与虚拟分层网络之间的通信。

Description

用于多个并发虚拟网络的系统和方法
相关申请的交叉引用
本申请建立在PCT/AU2011/000247及其相关同族申请的公开之上。
技术领域
本申请总体上涉及通信网络,且更具体地涉及用于聚合多个虚拟分层网络的连接的计算机实现的技术。
背景技术
在单个计算机中对将使用多个物理网络接口作为外围设备的多个物理网络连接的使用在本领域中是众所周知的。这种系统的优点在于:计算机用户可以并发地且有区别地连接到多个分离且离散(discreet)的网络。这在处理非常大的网络时或在以下情况下特别地有价值:对于每个单独的网络需要高安全性,但是计算机用户具有同时访问多于一个网络的许可。该技术对于每个网络连接是可复制的并因此约束可以进行的连接的数量,该技术要求如下:需要在给定节点内的特定硬件接口,且相关连接介质(例如,以太网电缆)将网络接口耦接至特定网络或网络段。为了缓解对可能的物理连接数量的约束,对在本领域中也是已知的802.1q VLAN协议的使用提供了在任何给定局域网上对受约束广播域的建立,其中,该局域网可以重新定义和约束逻辑网络段的边界,以确保目标机器能够进行通信,而可能不让所有其他机器进行通信。然而,该技术在广域网上效率低下,并且如果在没有可以由附加的复杂硬件和/或软件模块提供的不同VLAN之间的安全隧道、桥接或干线连接(trunk connection)的辅助下通过公共网络进行发送,则该技术被视为不安全的。
虚拟网络连接的优点在于:其使得私有网络能够在其他(经常)公共网络上被“捎带”或通过其他(经常)公共网络来“隧道传输”,并且使得私有网络能够完全用软件促进通信,从而降低成本并且实现网络能力和部署的快速升级。虚拟网络是通过利用软件模拟一般由物理网络设备所交付的能力和功能来实现的,然而,这种虚拟网络可以通过防止虚拟网络连接上的广播而约束物理局域网的相应能力,从而减少了广播域所提供的功能。
目前,这种虚拟网络在任何给定客户端中一次提供一个点到点的虚拟网络电路,作为对恰好一个物理网络的扩展,或者作为恰好两个物理网络之间的桥接网络。在这种情况下,期望的是:交付并发连接到多个不同网络的系统的能力,但是作为软件进程来虚拟地这样做。
发明内容
以下呈现了对一个或多个实施例的简要概括以提供对这些实施例的基本理解。本发明内容不是所有预期实施例的广泛概述,而是意在:既不标明所有实施例的关键或必要元素,也不描述任何或所有实施例的范围。其目的仅是:以简化形式呈现一个或多个实施例的一些构思,作为稍后呈现的更详细描述的前序。
根据一个或多个实施例及其相应公开,描述了与用于促进建立多个并发虚拟网络的方法相关的各方案。所述方法可以由消息管理单元(MMU)等执行。在一个实施例中,所述方法可以包括:与可操作地耦接到操作系统的多个虚拟网络接口(VNI)建立通信句柄。所述方法可以包括:建立可操作地连接到多个虚拟分层网络的网络通信套接字(NCS),并建立将MMU及其组件与MMU的各个VNI可操作地耦接的数据通道。所述方法可以包括:允许虚拟分层网络在一个或多个物理网络之上并发传输。所述方法可以包括:经由所建立的数据通道、所建立的句柄和操作系统的网络软件栈的组合,促进操作系统与虚拟分层网络之间的通信。在相关方案中,所述方法可以包括:使用任何支持层4网络协议(例如,传输控制协议(TCP)、用户数据报协议(UDP)等)以在可操作地耦接到多个虚拟分层网络的MMU中建立单个网络通信套接字。所述方法可以包括:经由单个层4NCS来促进节点与例如操作系统或固件与虚拟分层网络之间的通信。
根据一个或多个实施例及其相应公开,提供了一种多个并发虚拟网络的系统,其中,所述系统可以包括可操作地耦接到NCS的多个虚拟分层网络。所述系统可以包括MMU,所述MMU还并入了消息有效载荷封装模块(MPEM),其中,MMU能够建立针对单个NCS以及针对一个或多个VNI的句柄,以促进经由在句柄的逻辑外部耦接的外部数据通道的通信,并且这些句柄进而可以可操作地耦接到通向MPEM的各个内部数据通道,其中,内部数据通道耦接到句柄的逻辑内部。因此,该系统可以提供用于使消息经由并入了MPEM的MMU从NCS向一个或多个VNI传输的管道,其中,数据处理可以在MMU和MPEM内发生。所述系统可以在单个计算机软件进程中包括VNI、MMU、MPEM、通信句柄、数据通道和单个NCS,但是还可以提供本公开中未涵盖的附加数据处理模块和单元,例如(而不限于):用于安全的加密管理模块和/或用于网络业务加速的压缩管理模块。虽然对于下文中所描述的实施例的性能和安全是强制性的,但是这些附加数据处理模块和单元对于多个并发虚拟网络的系统和方法的成功功能不是关键的,并因此不直接被包括在本公开中,而是可以实现在与MMU邻近的单个软件进程内或与MPEM邻近的MMU内,并且将以促进贯穿系统的消息和/或消息有效载荷的适当数据处理的方式耦接到这些组件。
为了完成前述和相关目的,一个或多个实施例包括:在下文中完全描述且在权利要求中具体指出的特征。以下描述和附图详细阐述了一个或多个实施例的特定说明性方案。然而,这些方面仅指示可以采用各种实施例的原理的各种方式中的一些方式,并且所描述的实施例意在包括所有这种方案及其等同物。
附图说明
图1示出了物理网络连接系统(现有技术)。
图2示出了单一实例虚拟通信网络(现有技术)。
图3示出了在描绘一对一的VNI与虚拟分层网络的关系的单个计算机软件进程中的多个并发虚拟网络的系统的实施例。
图4示出了用于使用消息管理单元(MMU)和所并入的组件来建立多个并发虚拟网络的示例方法和处理,其中,采用一对一的VNI与虚拟分层网络的关系。
图5示出了在描绘一对多的VNI与虚拟分层网络的关系的单个计算机软件进程中的多个并发虚拟网络的系统的实施例。
图6示出了用于使用消息管理单元和所并入的组件来建立多个并发虚拟网络的示例方法和处理,其中,采用一对多的VNI与虚拟分层网络的关系。
图7示出了可以实现一对多的VNI与虚拟分层网络的示例方法,并表示出给定分层加密区(LENZ)的边界。
图8示出了图4和图6的方法的其他方案。
图9示出了图4和图6的方法的与在虚拟分层网络之间传输消息相关的其他方案。
图10示出了用于根据图4至图7的方法来建立多个并发虚拟网络的示例虚拟装置。
具体实施方式
现在参照附图来描述各种实施例,其中,相似的附图标记始终用于表示相似的要素。在下文的描述中,为了解释的目的,阐述了许多具体细节,以便提供对一个或多个实施例的透彻理解。然而,显然的是,可以在没有这些具体细节的情况下实施这样的实施例。在其他实例中,以框图形式示出了公知的结构和设备,以便于描述一个或多个实施例。本文中使用词语“示例性的”来表示“用作示例、实例或说明”。本文中描述为“示例性的”任何实施例不必解释为相比其他实施例优选或者有利。本文中所描述的技术可以用于各种通信网络(有线的或无线的)。
根据本文中所描述的实施例的一个或多个方案,提供了用于聚合多个虚拟分层网络的连接的技术的各个特征(例如,通过使用封装,或者通过在使用单个通信套接字和至少一个虚拟网络接口(VNI)的单个计算机软件进程内进行标记)。
术语“网络”和“系统”经常互换使用。术语“操作系统”和“嵌入式系统”可以在本文中互换使用并且被视为完全一样。当在本文中提及时,“操作系统”被视为管理计算机硬件资源并为所支持的软件应用等提供公共服务的软件和/或固件的集合。
VNI表示经常驻留在操作系统或嵌入式系统的内核中的软件设备,其允许连接用户空间软件以便在网络软件栈内的预定义层(例如,层2、层3或层4,或者可能地更高的层)从网络软件栈读取数据包和/或将数据包写入网络软件栈。贯穿本公开,当提到使用VNI进行操作或对VNI进行操作时,数据包被视为在这些层中的任何一层被读取/写入。
术语“网络通信端口”、“网络通信套接字”、“网络端口”和“网络套接字”互换使用,意味着同一个意思,并且表示或使用在操作系统网络栈软件中经由支持层4的网络协议所建立的网络通信套接字。
术语“消息”表示从网络通信套接字接收的或写入到网络通信套接字的包括虚拟分层网络信息标签在内的单个数据包。术语“消息有效载荷”、“分组有效载荷”和“有效载荷”互换使用,意味着同一个意思,并且表示在预定义OSI模型层(例如但不限于从其可以读取/写入以太网帧或IP分组的VNI)上从虚拟网络数据流接收的或写入到虚拟网络数据流的不包括虚拟分层网络信息标签在内的单个数据包。
在引用消息时,术语“标签”表示附加到消息有效载荷的逻辑前方的字节流。在引用消息时,术语“标记的”指的是具有附加到其上的字节流的消息有效载荷,该字节流用于识别有效载荷所属的虚拟网络。在引用消息时,术语“标记”表示以下处理:将字节流附加到消息有效载荷,以用于识别与消息应当属于的虚拟网络相关的消息。消息标签还可以包括与其所属的虚拟网络相关的其他数据或信息。
术语“聚合”和“聚集”可以在本文中用于表示以下处理:汇集或组合多个消息流以在单个网络通信套接字上进行发送。术语“分开”和“分散”可以在本文中用于表示以下处理:分离在单个网络通信套接字上接收到的消息以分别写入到一个或多个数据流,例如但不限于VNI句柄。
参照图1,示出了本领域中已知的在单个计算机上的物理网络连接系统的概视图。每个物理计算机网络(PN)100连接到物理通信或网络接口(PNI)101,PNI 101进而连接到物理网络控制器(PNC)102,PNC 102进而向操作系统(OS)103传送通信数据,以由计算机应用进行处理和使用。图1中的示例还示出了本领域中已知的多实例物理网络连接。这种配置允许计算机用户和应用同时跨多个物理网络进行通信和交互。
参照图2,示出了本领域中已知的单实例虚拟网络的示例。驻留在一个或多个物理网络200中或跨一个或多个物理网络200驻留的单个虚拟网络(VN)201通过单个网络通信套接字(NCS)205而被连接,NCS 205耦接到计算机物理网络接口(PNI)202和计算机操作系统203的网络软件栈204。源自VN的数据包到达由单个软件进程206所处理的NCS,该单个软件进程206包括虚拟网络控制器(VNC)组件207,VNC组件207从NCS 205读取传入的VN数据包,对其进行处理并将作为结果的有效载荷写到VNI 208。该过程的逆也是真的。附加地,本领域技术人员应当清楚明白和理解的是:图2中示出的系统可以在同一系统内复制多次,虽然将需要单独的软件进程或内核实例以通过由操作系统处理的不同网络通信套接字来支持每个网络连接。这将促使虚拟地复制图1中概述的系统的麻烦且耗资源的手段。
参照图3,提供了多个并发虚拟网络的系统的示例实施例。与图2中描述的系统类似,在一个或多个物理网络300中或跨一个或多个物理网络300所建立的虚拟分层网络301经由计算机PNI 302和计算机操作系统303的网络软件栈304在逻辑上耦接到单个NCS 305。然而,并且为了提供与图2中描述的系统的差异化,单个NCS 305能够从多个虚拟分层网络301接收消息,使得运行该单个进程的计算机能够同时连接到多个虚拟分层网络301。驻留在一个或多个物理网络300中或跨一个或多个物理网络300驻留的多个虚拟分层网络301经由计算机PNI 302和计算机操作系统303的网络软件栈304而被NCS 305连接。源自虚拟分层网络301的消息到达由单个进程306处理的NCS 305,该单个进程306包括消息管理单元(MMU)308。MMU 308还包括消息有效载荷封装模块(MPEM)307、NCS数据通道309及其相应NCS句柄。经由MMU 308内的数据通道309从NCS 305接收消息,并向MPEM 307传输该消息,其中,通过利用标签去除和检查(scrutiny)来处理消息,以确定作为结果的消息有效载荷可被写入多个VNI数据通道310中的哪个,以在越过MMU 308向VNI 311中的相应VNI发送。该过程的逆也是真的。
图3的实施例示出了包括三个同时且分离的网络连接。然而,在其他实施例中,系统可以支持一个或多个连接。在相关方案中,在另一实施例中,系统可以在MMU内包括虚拟路由模块,或者在MMU与操作系统之间包括虚拟路由单元,以允许虚拟网络组连接到其他虚拟网络组。
参照图4,提供了消息管理单元(MMU)组件400是单个计算机进程内的数据处理器的示例实施例,作为多个并发虚拟网络的系统的可能实施例。通过该组件的业务可以是双向的,沿一个方向或另一方向流动,并且在本文中分别对每个方向进行描述。
继续参照图4,经由VNIH与VNI(图4中未示出)之间的相应数据通道406到达多个VNI句柄(VNIH)405之一的消息有效载荷可用于读取并经由内部数据通道404向消息有效载荷封装模块(MPEM)403传输。每个有效载荷可以被读取并从一个VNIH向MPEM 403顺序地传输或者从多个VNIH同时向MPEM 403传输。接着,由MPEM 403对有效载荷进行标记,使得在以下操作之前弄清楚该消息针对哪个虚拟网络:在消息沿内部数据通道402b传递回MMU 400并且后续经由外部数据通道402a与多个附加消息一起被写入单个网络通信套接字句柄(NCSH)401,其中,所述多个附加消息源自MMU 400内的相同的或另外的VNIH。
继续参照图4,来自多个虚拟分层网络(图4中未示出)的消息可以经由PNI(图4中未示出)到达,其中,消息经由外部数据通道402a向MMU 400传输,并且在MMU 400内的单个网络通信套接字句柄(NCSH)401上变得可用于读取,且之后经由内部数据通道402b向MPEM403传输。可以提供消息作为到MPEM内的数据处理器的消息的顺序流的一部分以进行检验,其中,从消息去除标签且对标签进行检查,以有助于由MMU 400针对作为结果的有效载荷应当写入的VNIH 405来识别消息,其中,该VNIH将通过相应数据通道406向相应VNI(图4中未示出)发送有效载荷。
参照图3和图4,应注意的是:到目前为止概述的所公开的实施例示出了虚拟分层网络301与各个VNI 311之间的多个一对一关系,其中,消息管理单元(MMU)308和400以及嵌入的消息有效载荷封装模块(MPEM)307和403能够在消息流在MMU内聚合或分散时容易地维持这两个组件之间的相关性。虽然该实施例的功能限制涉及VNI的数量,但是给定操作系统能够并发进行处理,从而约束了节点可以同时连接到的虚拟分层网络的数量。
在另一示例中,虚拟分层网络与VNI之间不必是一对一关系。为了示出对该约束的化解,现在继续参照附图来描述附加实施例,其中,可以通过提供单个VNI与多个虚拟分层网络之间的一对多关系的可能的消息和/或消息有效载荷报头查询和/或操纵来获得类似的结果。
参照图5,提供了多个并发虚拟网络的系统的示例实施例,其中,示出了单个VNI510与多个虚拟分层网络之间的一对多关系。与图2中描述的系统类似,但是参照图5,虚拟分层网络501,其中,网络500包括跨一个或多个物理网络500所建立的网络501。网络501可以经由计算机物理网络接口(PNI)502和计算机操作系统503的网络软件栈504连接到单个网络通信套接字(NCS)505。然而,单个NCS能够从多个虚拟分层网络接收消息,使得运行该单个进程的计算机能够同时连接到多个虚拟分层网络。驻留在一个或多个物理网络500中或跨一个或多个物理网络500驻留的多个虚拟分层网络501经由计算机物理网络接口(PNI)502和计算机操作系统503的网络软件栈504在逻辑上连接到网络通信套接字(NCS)505。源自虚拟分层网络501的消息到达由单个进程506处理的NCS,该单个进程506包括消息管理单元(MMU)508,MMU 508进一步包括消息有效载荷封装模块(MPEM)507、NCS数据通道509及其相应NCS句柄。经由MMU内的数据通道509从NCS接收消息,并将消息向MPEM传输,其中,对消息进行处理以去除标签,并分别将作为结果的标签信息和有效载荷提供回MMU,以在将有效载荷写入单个VNI数据通道并最终写入VNI之前进行验证。该过程的逆也是真的。
在相关方案中,本文提供MMU 508及其集成组件(包括但不限于MPEM)的附加功能,以阐明例程的实施,从而促进VNI与多个虚拟分层网络之间的一对多关系。对于传出消息,MMU 508使用消息有效载荷内的报头信息(包括但不限于以太网帧头)来确定有效载荷的预期目的地,之后,在将作为结果的消息写入NCS 505之前,由MPEM使用该预期目的地对有效载荷标记适当的头,包括传输信息,并且底层操作系统或嵌入式系统将向预期位置传输消息。
在另外的相关方案中,MMU及其集成组件(包括但不限于MPEM)负责读取经由底层操作系统从一个或多个虚拟分层网络到达的来自NCS的一个或多个传入消息。向MPEM提供消息,在MPEM中,去除消息标签,并将消息标签与消息有效载荷一起提供回MMU,以便MMU验证消息并确定目的地。在该实施例中,对于作为结果的有效载荷只有一个目的地,并且一旦通过了MMU的消息检查例程,则将有效载荷写入被操作系统占用的VNIH,以进行最终处理。
必需理解的是:为了使相应操作系统接受由MMU发送和接收的消息,系统必须保持被本地网络协议(包括但不限于网际协议)及其相应报头的要求来管辖。本文中提供与网际协议相关的一个示例,并且本领域技术人员应当理解的是:该方法可以等同地应用于能够通过适当的传统网络进行操作的其他适当的网络协议。
继续参照图5,为了促进VNI 511与多个不同虚拟分层网络501之间的一对多关系,必须应用适当的网际协议地址掩码,以确保来自多个虚拟分层网络的传入消息是可接受的。例如,虽然连接到各个虚拟分层网络的远程节点可以配置有不同的C类子网掩码以确保任意两个虚拟分层网络地址范围都不重叠或冲突,但是分配给VNI的网际协议地址以A类子网掩码来掩盖,其中,分配的多个C类虚拟分层网络将全部落入A类地址范围的网络八位字节的范围内。例如,实施这种一对多实施例的技术人员可能将较小的C类子网络分配给虚拟分层网络中的远程节点,而A类网络地址10.0.0.0可能分配给本地VNI实例,以确保本地操作系统知晓将相关消息发送到VNI,其中,消息有效载荷检查和/或报头操纵将辅助有效载荷的适当标记,并确保到各个虚拟分层网络中的预期远程节点的正确传送。
参照图6,提供了简化的消息管理单元(MMU)组件600是单个计算机进程内的数据处理器的示例实施例,作为多个并发虚拟网络的系统的可能实施例。通过该组件的业务是双向的,沿一个方向或另一方向流动,并且在本文中单独对每个方向进行描述。
继续参照图6并与图4相比较,由消息管理单元(MMU)组件600实施的进程与图4中示出的相同组件的进程大致相同,然而,其稍微简化之处在于:不需要处理多个VNI,以将节点耦接到多个并发分层虚拟网络。消息有效载荷经由VNIH与VNI(图6中未示出)之间的相应数据通道606到达单个VNI句柄(VNIH)605上,并且可用于读取并经由内部数据通道604向消息有效载荷封装模块(MPEM)603传输。为了确定有效载荷所预期的目的虚拟分层网络,MPEM在将作为结果的消息返回到MMU之前检查有效载荷报头信息并对有效载荷进行标记,其中,MMU检查消息的标签信息以找到目标节点,并且如果知道目标节点,则MMU将经由外部数据通道602a把通过内部数据通道602b和网络通信套接字句柄(NCSH)601的消息传送到相应虚拟分层网络中的目标节点。如果不知道数据分组的目标节点,则可以对有效载荷执行更深的检查,并且如果仍然不能确定目标节点,则有效载荷可以被视为要求在所有虚拟分层网络上发送的广播数据分组,以定位目标节点,或者备选地,有效载荷可以被MMU视为不可传送的并且随后被丢弃。
继续参照图6,来自多个虚拟分层网络(图6中未示出)的一个或多个传入消息可以经由物理网络接口(PNI)(图6中未示出)到达,并且经由外部数据通道602a变得可用,以在MMU 600内的单个网络通信套接字句柄(NCSH)601上进行读取。消息经由内部数据通道602b传送到MPEM 603并且可用于处理。可以将所有消息顺序地提供给MPEM内的数据处理器以进行检查,其中,从消息去除标签,以促进标签与消息有效载荷的分离。之后,将作为结果的标签信息和消息有效载荷返回MMU,以进行标签检查并将有效载荷写入所有虚拟分层网络间接耦接至的单个VNIH,其中,该VNIH将经由适当的数据通道606把作为结果的有效载荷发送到VNI(未示出)。MMU 600不需要确定写入有效载荷的特定VNIH,因为始终只存在一个VNIH,并且其后只存在有效载荷所传送到的一个VNI。
考虑到下文中示出和描述的示例系统,所公开的主题可以包括或利用分层加密区(LENZ),LENZ可以被视为定义了经由虚拟分层网络的两个或更多个网络实体或节点之间的特定的加密通信域。为了绑定到LENZ,节点必须保持知晓虚拟分层网络名称和加密密钥,其中,该加密密钥用于分别对传出消息有效载荷和传入消息有效载荷进行加密和解密。网络名称和加密通信的组合限定了节点之间的通信域的逻辑边界。不知晓虚拟分层网络名称和加密密钥的任何节点被视为在LENZ之外,并且不能在虚拟分层网络上进行通信。
在多个并发虚拟网络的系统和一对多关系的设施的另一实施例中,常见的网际协议地址范围和子网掩码可被应用于参与虚拟分层网络的所有节点。如本文中所使用的,通配符节点可以表示连接到多个网络的并且在仅绑定到单个VNI的同时被指定用于读取和处理来自所有网络的分组的节点。非通配符节点需要一对一的VNI-VN关系。因此,通配符节点可以直接连接到具有一个网络接口的很多不同虚拟网络。考虑到图5及其相关描述并另外参照图7,提供了一种示例系统,该系统展示了通配符节点A 701与三个隔离且独立的节点B702、节点C 703和节点D 704之间的一对多关系的实现,其中,通配符节点A 701被分配单个的B类子网IPv4地址并且还绑定到3个不同的分层加密区(LENZ),这3个不同的分层加密区(LENZ)命名为与各个隔离节点702、703和704相对应的VLAN1/KEY1、VLAN2/KEY2和VLAN3/KEY3。使用加密密钥对到达通配符节点A 701的单个网络通信套接字(NCS)上的来自任何一个节点B 702、节点C 703或节点D 704的消息进行解密,其中,加密密钥是基于到达的消息的标签中所包含的信息来选择的。一旦去除这些标签并且对分离的消息有效载荷进行解密,则将作为结果的有效载荷写入单个VNI以由操作系统进行处理。该过程的逆也是真的。
作为对于这将如何实现的特定而非限制的描述,继续参照图7,其中,给予通配符节点A 701和节点D 704特别的关注。这两个节点经由分层加密区(LENZ)VLAN3/KEY3706进行通信,该分层加密区(LENZ)VLAN3/KEY3706进而使用不友好网络705(例如,互联网)作为其物理传输介质,通过该物理传输介质,LENZ被分层,并且通配符节点A 701被分配虚拟分层网络IPv4地址10.1.1.1/16,且节点D 704被分配虚拟分层网络IPv4地址10.1.4.1/16。这些IPv4地址分配规定如下:基于由16比特网络IPv4地址掩码所确定的地址的公共网络段,将兑现传统的IPv4分组传输,以在LENZ的匹配元素(例如,公共虚拟分层网络名称和匹配加密密钥)的假设下,允许这两个节点相互定位并且易于通信。虽然在同一个IP子网上,但是节点B 702和节点C 703配置有不同的LENZ绑定信息,并由此不能在VLAN3/KEY3 LENZ通信域上进行通信。
考虑到本文中示出和描述的示例系统,将参照各种流程图来更好地理解可以根据所公开的主题实现的方法。虽然出于简单说明的目的将方法示出和描述为一系列的动作/块,但是应理解并认识到,要求保护的主题不受块的数量或顺序的限制,因为一些块可以按与本文中示出和描述的不同顺序发生和/或与其他块基本上同时发生。此外,为了实现本文中描述的方法,并不需要所示出的所有块。应当认识到,可以通过软件、硬件、其组合或任何其他适当手段(例如,设备、系统、处理或组件)来实现与块相关联的功能。附加地,还应当认识到,贯穿本说明书所公开的方法能够存储在制造品上,以有助于将这些方法传输和传送到各种设备。本领域技术人员将理解并认识到,比如在状态图中,可以将方法备选地表示为一系列相互关联的状态或事件。
根据本公开的主题的一个或多个方案,提供了用于建立并使用多个并发虚拟网络的方法。参照图8,示出了可以由MMU等执行的方法800。方法800可以包括:在810,与可操作地耦接到操作系统的多个VNI建立通信句柄(communication handle)。方法800可以包括:在820,建立可操作地连接到多个虚拟分层网络的NCS。方法800可以包括:在830,建立将MMU及其组件与MMU的各个VNI可操作地耦接的数据通道。方法800可以包括:在840,允许虚拟分层网络在一个或多个物理网络之上并发传输。方法800可以包括:在850,经由所建立的数据通道、所建立的句柄和操作系统的网络软件栈的组合,促进操作系统与虚拟分层网络之间的通信。
参照图9,示出了方法800的进一步操作或方案,所述进一步操作或方案是可选的并且可以由MMU等执行。应注意到,为了执行方法800,不要求图9中示出的块。如果方法800包括图9的至少一个块,则方法800可以在该至少一个块之后结束,而不必包括可以示出的任何一个后续下游块。还应注意到,块的数量不意味着可以根据方法400执行块的特定顺序。
继续参照图9,物理网络可以包括互联网、至少一个广域网(WAN)和/或至少一个局域网(LAN)。在相关方案中,虚拟分层网络中的至少一个可以包括隧道通过物理网络隧道传输的虚拟网络或在物理网络上分层的虚拟网络。备选地或附加地,虚拟分层网络中的至少一个可以包括虚拟局域网(VLAN)。在其它相关方案中,建立单个网络通信套接字(NCS)可以包括:在860,在MMU内建立虚拟路由模块,或者建立针对网络实体与操作系统之间的某处的虚拟路由单元的链路。方法800还可以包括:在870,允许虚拟分层网络经由虚拟路由模块与第二组的其他虚拟分层网络进行通信。
根据本文中描述的实施例的一个或多个方案,提供了用于建立并使用多个并发虚拟网络的设备和装置,如以上参照图8所述。参照图10,提供了一种示例装置1000,该示例装置1000可以被配置为设备或在设备内使用的处理器。装置1000可以包括可以代表由处理器、软件或其组合(例如,固件)实现的功能的功能块。
例如,图10的装置1000可以包括虚拟电子组件或模块1002,其用于与可操作地耦接到操作系统的多个VNI建立通信句柄。装置1000可以包括虚拟组件1003,其用于将消息标签应用于消息有效载荷以及从消息有效载荷去除消息标签。装置1000可以包括虚拟组件1004,其用于建立可操作地连接到多个虚拟分层网络的NCS。装置1000可以包括虚拟组件1005,其用于建立将MMU及其组件与MMU的各个VNI可操作地耦接的数据通道。装置1000可以包括虚拟组件1006,其用于允许虚拟分层网络在一个或多个物理网络之上并发传输。装置1000可以包括虚拟组件1007,其用于经由所建立的数据通道、所建立的句柄和操作系统的网络软件栈的组合,促进操作系统与虚拟分层网络之间的通信。
在相关方案中,装置1000可以可选地包括具有至少一个处理器的处理器组件1008。在这种情况下,处理器1008可以经由总线1001或类似通信耦接与虚拟组件1002至1007进行操作通信。处理器1008可以引起由虚拟组件1002至1007执行的进程或功能的发起和调度。
在其它相关方案中,装置1000可以包括收发机组件1009。代替收发机1009或与收发机1009结合地,可以使用单独的接收机和/或单独的发射机。装置1000可以可选地包括用于存储信息的组件,例如存储器没备/组件1010。计算机可读介质或存储器组件1010可以经由总线1001等可操作地耦接到装置1000的各虚拟组件。存储器组件1010可以适于存储用于引起虚拟组件1002至1007的处理和行为的计算机可读指令和数据。虽然示出了在处理器1008、收发机1009和存储器1010的外部,但是应当理解,虚拟组件1002至1007中的一个或多个可以存在于处理器1008、收发机1009和/或存储器1010内。
本领域技术人员将理解:可以使用各种不同技术和方法中的任何一种来表示信息和信号。例如,贯穿以上描述可以引用的数据、指令、命令、信息、信号、比特、符号和码片可以由电压、电流、电磁波、磁场或磁性粒子、光场或光粒子、或其任意组合来表示。
本领域技术人员还将认识到:结合本公开所描述的各种说明性的逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或二者的组合。为了清楚地说明硬件和软件的这种可互换性,以上已经在它们的功能方面大体描述了各种说明性的组件、块、模块、电路和步骤。将这种功能实现为硬件还是软件取决于施加于整个系统上的特定应用和设计约束。技术人员可以通过针对每种特定应用的各种方式来实现所描述的功能,但是这种实现决策不应被解释为偏离本公开的范围。
结合本公开所描述的各种说明性的逻辑块、模块和电路可以利用被设计为执行本文中所描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、离散门或晶体管逻辑、离散硬件组件或其任意组合来实现或执行。通用处理器可以是微处理器,但是备选地,处理器可以是任意传统处理器、控制器、微控制器或状态机。处理器还可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、与DSP核结合的一个或多个微处理器、或任何其他这种配置。
结合本公开所描述的方法或算法的步骤可以直接用硬件实施,用由处理器执行的软件模块实施,或者以二者的组合实施。软件模块可以驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM或本领域已知的任何其他形式的存储介质中。示例存储介质耦接到处理器,使得处理器可以从存储介质读取信息,并将信息写入存储介质。备选地,处理器和存储介质可以驻留在ASIC中。
在一个或多个示例性设计中,可以用硬件、软件、固件或其任意组合来实现所描述的功能。如果用软件实现,则功能可以作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质传输。计算机可读介质包括计算机存储介质和通信介质二者,其中包括有助于将计算机程序从一个地方传输到另一个地方的任何介质。存储介质可以是能够由通用或专用计算机访问的任意可用介质。通过示例而非限制的方式,这种计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁存储设备、或者可用于携带或存储指令或数据结构形式的期望程序代码装置、并可被通用或专用处理器访问的任何其它介质。此外,可以将任意连接适当地命名为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、DSL或非暂时性无线技术从网站、服务器或其他远程源传输软件,则同轴电缆、光纤电缆、双绞线、DSL或非暂时性无线技术包括在介质的定义中。如本文中所使用的磁盘和光盘包括紧凑盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘和蓝光盘,其中,磁盘通常以磁的方式再现数据,而光盘用激光以光的方式再现数据。以上项的组合也应当包括在计算机可读介质的范围内。
提供对本公开的上述描述,以使本领域技术人员能够制造或使用本公开。对本公开的各种修改对于本领域技术人员将是显而易见的,并且可将本文中定义的一般原理应用于其他变型,而不背离本公开的范围。因此,本公开不意在限于本文中所描述的示例和设计,而是符合与本文公开的原理和新颖特征相一致的最宽泛范围。

Claims (18)

1.一种以单个软件进程实现多个并发虚拟网络的方法,所述方法包括:
与可操作地耦接到操作系统的多个虚拟网络接口“VNI”建立通信句柄;
建立可操作地连接到多个虚拟分层网络的网络通信套接字“NCS”;
建立将消息管理单元“MMU”及其组件与MMU的各个NCS和VNI可操作地耦接的数据通道;
由MMU所包括的消息有效载荷封装模块“MPEM”处理信息;允许虚拟分层网络在一个或多个物理网络之上被并发传输;以及
经由所建立的数据通道、所建立的句柄和操作系统的网络软件栈的组合,促进操作系统与虚拟分层网络之间的通信,
其中,由MPEM进行的处理包括:
读取经由MMU内的数据通道从NCS接收到的一个或多个消息;
通过标签信息与所述一个或多个消息的有效载荷的分离,将标签与所述一个或多个消息中的每一个相关联;以及
将作为结果的有效载荷和标签信息返回MMU,以进行标签检查并将有效载荷写入所指定的目的地。
2.根据权利要求1所述的方法,其中,虚拟分层网络中的至少一个包括通过物理网络来隧道传输的虚拟网络“VN”或在物理网络上分层的虚拟网络“VN”。
3.根据权利要求1所述的方法,其中,虚拟分层网络中的至少一个表示虚拟局域网“VLAN”。
4.根据权利要求3所述的方法,其中,VLAN中的至少一个还包括分层加密区“LENZ”。
5.根据权利要求1所述的方法,还包括:在MMU内建立虚拟路由模块,或者建立通向网络实体与操作系统之间的虚拟路由单元的链路。
6.根据权利要求1所述的方法,还包括:允许虚拟分层网络经由虚拟路由模块与第二组的其他虚拟分层网络进行通信。
7.根据权利要求1所述的方法,其中,物理网络包括至少一个广域网“WAN”。
8.根据权利要求1所述的方法,其中,物理网络包括至少一个局域网“LAN”。
9.一种以单个软件进程实现多个并发虚拟网络的系统,所述系统包括:
多个虚拟分层网络,可操作地耦接到网络通信套接字“NCS”;
消息管理单元“MMU”,与NCS和至少一个虚拟网络接口“VNI”进行操作通信;
操作系统,可操作地耦接到所述至少一个VNI;以及
位于MMU的虚拟路由模块、或网络实体与操作系统之间的虚拟路由单元;
其中,MMU被配置为:
与可操作地耦接到操作系统的多个VNI建立通信句柄;
建立可操作地连接到多个虚拟分层网络的NCS;
建立将MMU及其组件与MMU的各个NCS和VNI可操作地耦接的数据通道;
允许虚拟分层网络在一个或多个物理网络之上被并发传输;以及
经由NCS来并发促进操作系统与虚拟分层网络之间的通信,以及
其中,MMU还包括消息有效载荷封装模块“MPEM”,MPEM被配置为:
读取经由MMU内的数据通道从NCS接收到的一个或多个消息;
通过标签信息与所述一个或多个消息的有效载荷的分离,将标签与所述一个或多个消息中的每一个相关联;以及
将作为结果的有效载荷和标签信息返回MMU,以进行标签检查并将有效载荷写入所指定的目的地。
10.根据权利要求9所述的系统,其中,虚拟分层网络中的至少一个包括通过物理网络来隧道传输的虚拟网络“VN”或在物理网络上分层的虚拟网络“VN”。
11.根据权利要求9所述的系统,其中,虚拟分层网络中的至少一个表示虚拟局域网“VLAN”。
12.根据权利要求11所述的系统,其中,VLAN中的至少一个还包括分层加密区“LENZ”。
13.根据权利要求9所述的系统,还包括消息有效载荷封装模块“MPEM”,其中,MPEM被配置为从虚拟网络接口读取消息有效载荷,对有效载荷标记虚拟分层网络标识数据,并将作为结果的消息返回到MMU,以写入到网络通信套接字。
14.根据权利要求9所述的系统,其中,所述至少一个VNI被配置为通配符节点。
15.根据权利要求9所述的系统,其中:
虚拟分层网络属于第一组;以及
虚拟路由模块被配置为:允许虚拟分层网络与第二组的其他虚拟分层网络进行通信。
16.根据权利要求9所述的系统,其中,物理网络包括至少一个广域网“WAN”。
17.根据权利要求9所述的系统,其中,物理网络包括至少一个局域网“LAN”。
18.一种存储有执行代码的计算机程序产品的非暂时性计算机可读介质,所述代码用于使计算机进行以下操作从而以单个软件进程实现多个并发虚拟网络:
与可操作地耦接到操作系统的多个虚拟网络接口“VNI”建立通信句柄;
建立可操作地连接到多个虚拟分层网络的网络通信套接字“NCS”;
建立将消息管理单元“MMU”及其组件与MMU的各个NCS和VNI可操作地耦接的数据通道;
由MMU所包括的消息有效载荷封装模块“MPEM”处理信息;
读取经由MMU内的数据通道从NCS接收到的一个或多个消息;
通过标签信息与所述一个或多个消息的有效载荷的分离,将标签与所述一个或多个消息中的每一个相关联;
将作为结果的有效载荷和标签信息返回MMU,以进行标签检查并将有效载荷写入所指定的目的地;
允许虚拟分层网络在一个或多个物理网络之上被并发传输;以及
经由所建立的数据通道、所建立的句柄和操作系统的网络软件栈的组合,促进操作系统与虚拟分层网络之间的通信。
CN201480075154.5A 2013-12-23 2014-12-23 用于多个并发虚拟网络的系统和方法 Active CN106464457B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/139,594 2013-12-23
US14/139,594 US9425986B2 (en) 2010-03-03 2013-12-23 System and method for multiple concurrent virtual networks
PCT/AU2014/001161 WO2015095916A1 (en) 2013-12-23 2014-12-23 System and method for multiple concurrent virtual networks

Publications (2)

Publication Number Publication Date
CN106464457A CN106464457A (zh) 2017-02-22
CN106464457B true CN106464457B (zh) 2020-08-25

Family

ID=53275852

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480075154.5A Active CN106464457B (zh) 2013-12-23 2014-12-23 用于多个并发虚拟网络的系统和方法

Country Status (5)

Country Link
EP (1) EP3087696B1 (zh)
CN (1) CN106464457B (zh)
DK (1) DK3087696T3 (zh)
ES (1) ES2763842T3 (zh)
WO (1) WO2015095916A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113132137B (zh) * 2019-12-31 2023-01-17 深圳致星科技有限公司 一种保障通信的多重虚拟网络系统及实现方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7876689B2 (en) * 2005-06-29 2011-01-25 Hewlett-Packard Development Company, L.P. Method and apparatus for load balancing network interface adapters based on network information
CN102291428A (zh) * 2010-06-21 2011-12-21 英特尔公司 用于在多个虚拟机之间共享网络接口的方法
CN102859926A (zh) * 2010-03-03 2013-01-02 伊韦伯盖特科技有限公司 多并行虚拟网络的系统和方法
CN102957619A (zh) * 2011-08-25 2013-03-06 清华大学 虚拟路由系统及方法
CN103259735A (zh) * 2013-05-15 2013-08-21 重庆邮电大学 一种基于NetFPGA的可编程虚拟化路由器的通信方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030217125A1 (en) * 2002-05-15 2003-11-20 Lucent Technologies, Inc. Intelligent end user gateway device
US7746783B1 (en) * 2005-09-14 2010-06-29 Oracle America, Inc. Method and apparatus for monitoring packets at high data rates
WO2008047930A1 (en) * 2006-10-16 2008-04-24 Panasonic Corporation Tunneling processing apparatus and tunneling processing method
US8472443B2 (en) * 2009-05-15 2013-06-25 Cisco Technology Port grouping for association with virtual interfaces
US8867403B2 (en) * 2011-08-18 2014-10-21 International Business Machines Corporation Virtual network overlays

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7876689B2 (en) * 2005-06-29 2011-01-25 Hewlett-Packard Development Company, L.P. Method and apparatus for load balancing network interface adapters based on network information
CN102859926A (zh) * 2010-03-03 2013-01-02 伊韦伯盖特科技有限公司 多并行虚拟网络的系统和方法
CN102291428A (zh) * 2010-06-21 2011-12-21 英特尔公司 用于在多个虚拟机之间共享网络接口的方法
CN102957619A (zh) * 2011-08-25 2013-03-06 清华大学 虚拟路由系统及方法
CN103259735A (zh) * 2013-05-15 2013-08-21 重庆邮电大学 一种基于NetFPGA的可编程虚拟化路由器的通信方法

Also Published As

Publication number Publication date
WO2015095916A1 (en) 2015-07-02
DK3087696T3 (da) 2019-12-09
CN106464457A (zh) 2017-02-22
EP3087696B1 (en) 2019-09-04
EP3087696A1 (en) 2016-11-02
EP3087696A4 (en) 2017-06-14
ES2763842T3 (es) 2020-06-01

Similar Documents

Publication Publication Date Title
US10122629B2 (en) Systems and methods for externalizing network functions via packet trunking
US10757138B2 (en) Systems and methods for storing a security parameter index in an options field of an encapsulation header
US9621463B2 (en) System and method for context aware network
CN106105165B (zh) 具有网络地址转换检测的动态服务链
CN102238083B (zh) 用于适配分组处理流水线的系统和方法
EP2100406B1 (en) Method and apparatus for implementing multicast routing
EP3603001A1 (en) Hardware-accelerated payload filtering in secure communication
CN107508721B (zh) 一种基于元数据的数据采集方法
WO2018214701A1 (zh) 一种数据报文发送方法、网络设备、控制设备及网络系统
US20240064203A1 (en) Zero-trust authentication for secure remote direct memory access
CN106464457B (zh) 用于多个并发虚拟网络的系统和方法
CN111869168B (zh) 用于传送数据的方法和系统
CN104219160A (zh) 生成输入参数的方法及设备
US9425986B2 (en) System and method for multiple concurrent virtual networks
AU2014284255B2 (en) System and method for multiple concurrent virtual networks
CN113709091B (zh) 用于基于策略的分组处理的方法、设备和系统
Jeuk et al. Universal cloud classification (ucc) and its evaluation in a data center environment
CN115242885B (zh) 云数据中心系统、数据报文传输方法、设备和介质
EP4175228A1 (en) Encryption segments for security in communication networks
CN110224844B (zh) 虚拟专网的调度方法及系统
CN116366300A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20170629

Address after: New South Wales, Sydney, Australia

Applicant after: Nate Lin Kurz Technology Enterprise Co Ltd

Address before: Western Australia, Australia

Applicant before: Irvine Gate Ltd

GR01 Patent grant
GR01 Patent grant