CN113647065B - 虚拟网络拓扑 - Google Patents

虚拟网络拓扑 Download PDF

Info

Publication number
CN113647065B
CN113647065B CN201980095227.XA CN201980095227A CN113647065B CN 113647065 B CN113647065 B CN 113647065B CN 201980095227 A CN201980095227 A CN 201980095227A CN 113647065 B CN113647065 B CN 113647065B
Authority
CN
China
Prior art keywords
network
mapping
mapping agent
virtual
agent
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
CN201980095227.XA
Other languages
English (en)
Other versions
CN113647065A (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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Cloud Computing Technologies 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
Application filed by Huawei Cloud Computing Technologies Co Ltd filed Critical Huawei Cloud Computing Technologies Co Ltd
Publication of CN113647065A publication Critical patent/CN113647065A/zh
Application granted granted Critical
Publication of CN113647065B publication Critical patent/CN113647065B/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
    • 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

Abstract

一种用于使用远程主机的虚拟L2映射将数据传输到所述远程主机的系统,包括:一个或多个处理电路,连接到第一网络并执行具有虚拟L2地址的第一映射代理,其中,所述虚拟L2地址映射连接到与所述第一网络分开的第二网络的目的节点。所述第一映射代理包括代码,用于:通过所述第一网络从一个或多个源节点接收一个或多个报文,其中,所述一个或多个报文发往所述目的节点;将所述一个或多个报文封装在一个或多个封装报文中,其中,所述封装报文包括流量描述符,指示在所述第二网络处执行且与所述目的节点相关联的第二映射代理;将所述一个或多个封装报文转发给所述第二映射代理,其中,所述第二映射代理用于从所述一个或多个封装报文中提取所述一个或多个报文,并通过所述第二网络将所述提取的一个或多个报文发送到所述目的节点。

Description

虚拟网络拓扑
技术领域
本发明在其一些实施例中涉及连接到单独网络的远程主机之间的数据报文传输,更具体地,但不限于涉及使用远程主机的虚拟二层(L2)映射在连接到单独网络的远程主机之间进行数据报文传输。
背景技术
网络服务正在不断发展,适用于多种应用程序、服务和平台,几乎涵盖现代生活的各个方面。如此一来,这些网络服务对日益复杂的底层网络带来了越来越多的挑战。
随着利用软件定义网络(Software Defined Network,SDN)在云主机之间交换和路由网络流量的云服务的快速部署,这些挑战可能会进一步增加,而且变得越来越明显。
这些网络服务面临的主要挑战之一是需要直接寻址、访问和交换网络节点之间的网络流量,这些节点连接到不同的私网(站点),每个私网都采用其本地寻址方案。具体地,连接到单独网络的网络节点将能够通过由两个单独网络共享的公共组播和/或广播域相互通信可能是非常理想的、高效的,在某种情况下是必要的。
发明内容
本发明实施例的目的是提供一种技术方案,用来减少或解决传统技术方案的缺点和问题。
上述和其它目的是通过独立权利要求的主题来实现的。其它有利实施例可以在从属权利要求中找到。
本发明的目的是提供一种用于在本地网络中映射连接到单独网络的远程网络节点的技术方案,通过创建远程节点在本地网络中的基于L2的虚拟存在,以通过部署映射代理形成在两个单独网络之间共享的公共组播和/或广播域,所述映射代理用于将远程节点模拟为连接到所述本地网络。
根据本发明的第一方面,提供了一种用于使用远程主机的虚拟L2映射将数据传输到所述远程主机的系统,包括:一个或多个处理电路,连接到第一网络并执行具有虚拟L2地址的第一映射代理,其中,所述虚拟L2地址映射连接到与所述第一网络分开的第二网络的目的节点。所述第一映射代理包括代码,用于:
-通过所述第一网络从一个或多个源节点接收一个或多个报文,其中,所述一个或多个报文发往所述目的节点;
-将所述一个或多个报文封装在一个或多个封装报文中,其中,所述封装报文包括流量描述符,指示在所述第二网络处执行且与所述目的节点相关联的第二映射代理;
-将所述一个或多个封装报文转发给所述第二映射代理,其中,所述第二映射代理用于从所述一个或多个封装报文中提取所述一个或多个报文,并通过所述第二网络将所述提取的一个或多个报文发送到所述目的节点。
根据本发明的第二方面,提供了一种计算机实现的不同网络之间主机的二层(L2)映射方法,包括:使用一个或多个电路,其中,所述一个或多个处理电路连接到第一网络并执行具有虚拟L2地址的第一映射代理,所述虚拟L2地址映射连接到与所述第一网络分开的第二网络的目的主机。所述第一映射代理包括代码,用于:
-通过所述第一网络从一个或多个源节点接收一个或多个报文,其中,所述一个或多个报文发往所述目的节点;
-将所述一个或多个报文封装在一个或多个封装报文中,其中,所述封装报文包括流量描述符,指示在所述第二网络处执行且与所述目的节点相关联的第二映射代理。
-将所述一个或多个封装报文转发给所述第二映射代理,其中,所述第二映射代理用于从所述一个或多个封装报文中提取所述一个或多个报文,并通过所述第二网络将所述提取的一个或多个报文发送到所述目的节点。
使用虚拟L2映射将目的节点映射到第一网络可以创建多个单独的网络共用的统一组播和/或广播域,而无需调整应用于每个网络中的网络寻址方案,也无需验证没有发生地址冲突或重叠。此外,由于虚拟映射是在L2中完成的,所以映射方法可能与上一层L3无关,因此具有高度的可扩展性,并且可以很容易用于多个网络协议。此外,映射代理可以在软件中启动和配置,从而显著减少创建流量域的工作量、时间和成本,同时提高可扩展性。另外,由于每对源节点和目标节点都与一对专用映射代理相关联,因此网络间的冲突可能会显著减少。
在所述第一和/或第二方面的另一种实现方式中,所述一个或多个封装报文使用一个或多个L2隧道协议转发,所述流量描述符包括所述第二映射代理在由一个或多个L2隧道协议定义的元数据中的标识符。支持L2隧道协议可以很容易采用和部署远程网络节点(主机)的虚拟L2映射,以用于利用这些L2隧道协议的应用程序、服务和/或平台。
在所述第一和/或第二方面的另一种实现方式中,所述一个或多个封装报文使用一个或多个三层(L3)网络协议转发,所述流量描述符包括所述第二映射代理的L3地址。支持L3网络协议可以很容易采用和部署远程网络节点(主机)的虚拟L2映射,以用于利用这些L3网络协议的应用程序、服务和/或平台。
在所述第一和/或第二方面的另一种实现方式中,所述第一网络和所述第二网络是软件定义网络(Software Defined Network,SDN)中定义的虚拟网络。通过配置所述SDN的映射记录以将映射所述目的节点的所述虚拟L2地址包括在分配给连接到所述第一网络的节点的L2地址列表中,在所述第一网络中使用所述第一映射代理。支持SDN可以在SDN中部署、集成和采用虚拟L2映射,SDN正在不断扩展,以支持不断增长和发展的云服务。
在所述第一和/或第二方面的另一种实现方式中,所述第一网络和所述第二网络是通过两个相应的网络网关连接到公共网络基础设施的物理网络。支持物理网络对于在构成任何网络系统主干的这些物理网络中部署、集成和采用虚拟L2映射可能至关重要。
在所述第一和/或第二方面的另一种实现方式中,所述第一映射代理由所述将第一网络连接到公共网络基础设施的网络网关执行。由于部署用于将网络连接到公共网络的网关是网络中使用它执行映射代理的典型组件,因此可以不需要添加应用程序特定的硬件,从而降低成本并简化映射代理的部署。
在所述第一和/或第二方面的另一种实现方式中,所述第一映射代理由连接到所述第一网络的专用网络节点执行。支持用于执行映射代理的专用网络节点对于支持网关在资源上可能受到限制和/或配置复杂的网络可能是有效的。此外,使用具有足够计算资源(例如,处理资源、存储资源、网络资源等)的专用网络节点可以启动和执行大量映射代理以映射多个远程目的网络节点。
在所述第一和/或第二方面的另一种实现方式中,所述一个或多个报文包括发往连接到所述第一网络的一组节点的一个或多个组播报文。所述第一映射代理用于响应于从所述第二映射代理接收的将所述目的节点包括在所述组中的请求而成为所述组的一部分,使得所述第一映射代理将所述一个或多个组播报文封装并转发到所述第二映射代理,以传送到所述目的节点。形成在两个单独的网络上延伸的统一组播域可能是非常需要的,在一些情况下,对于多个应用程序和服务来说是必不可少的,其中组播组可以包括连接到单独网络的节点。
在所述第一和/或第二方面的另一种实现方式中,所述一个或多个报文包括发往连接到第一网络的所有节点的一个或多个广播报文。所述第一映射代理用于将所述一个或多个广播报文封装并转发到所述第二映射代理,以传送到目的主机。形成在两个单独的网络上延伸的统一广播域可能是非常需要的,在一些情况下,对于多个应用程序和服务来说是必不可少的,其中广播被定向到连接到单独网络的节点。
除非另有定义,否则本文所用的所有技术和/或科学术语都具有与本发明普通技术人员公知的含义相同的含义。虽然与本文描述的方法和材料类似或等效的方法和材料可以用于本发明实施例的实践或测试,但下文描述了示例性方法和/或材料。如有冲突,以包括定义的专利说明书为准。此外,这些材料、方法和示例仅是说明性的,并不一定具有限制性。
附图说明
此处仅作为示例,结合附图描述了本发明的一些实施例。现在具体结合附图,强调了所示的项目用于示例,并且用于说明性地讨论本发明的实施例。这样,根据附图说明,如何实践本发明实施例对本领域技术人员而言是显而易见的。
在附图中:
图1为本发明一些实施例提供的通过使用虚拟L2映射来映射远程网络的方式将数据从连接到本地网络的节点传输到连接到单独网络的远程主机的示例性过程的流程图;
图2为本发明一些实施例提供的用于通过使用虚拟L2映射来映射远程网络的方式将数据从连接到本地网络的节点传输到连接到单独网络的远程主机的示例性网络系统的示意图;
图3A为本发明一些实施例提供的使用虚拟L2映射将数据从连接到本地网络的节点传输到连接到单独网络的远程主机的示例性SDN的示意图;
图3B为本发明一些实施例提供的使用虚拟L2映射将数据从连接到本地网络的节点传输到连接到单独网络的远程主机的示例性物理网络的示意图;
图4为本发明一些实施例提供的用于初始化网络以使用虚拟L2映射将数据从连接到本地网络的节点传输到连接到单独网络的远程主机的示例性序列的示意图。
具体实施方式
本发明在其一些实施例中涉及连接到单独网络的远程主机之间的数据报文传输,更具体地,但不限于涉及使用远程主机的虚拟L2映射在连接到单独网络的远程主机之间进行数据报文传输。
本发明提供了用于通过虚拟地映射远程节点使彼此看起来就像连接到同一网络一样,在连接到单独(私有)网络的网络节点(主机)之间传输数据报文(特别是组播和/或广播报文)的设备、系统和方法。
网络节点可以包括一个或多个物理网络节点(主机),例如移动设备、计算机、服务器、计算节点、计算节点集群等,它们通过交换机、路由器和/或类似物等一个或多个网关连接到物理网络。网络节点还可以包括一个或多个虚拟网络节点(主机),例如,由一个或多个物理网络节点执行并利用其硬件资源的虚拟机(Virtual Machine,VM)等。此外,虚拟网络节点可以通过一个或多个软件定义网络(Software Defined Network,SDN)交换机(网关)连接到一个或多个SDN,这通常是云计算平台、基础设施和/或服务的情况。
连接到第一(私有)网络的源网络节点可以传输一个或多个报文,特别是组播和/或广播报文,这些报文发往连接到第一网络的网络节点。然而,可能希望组播和/或广播报文发往连接到与第一网络分离的第二(私有)网络的远程目的网络节点。第一网络和第二网络通过一个或多个物理和/或软件实现的网关连接到公共物理网络基础设施,所述公共物理网络基础设施包括一个或多个交换和/或路由设备,用于在第一网络和第二网络之间路由流量。公共网络可以包括一个或多个网络,例如局域网(Local area Network,LAN)、广域网(Wide Area Network,WAN)、城域网(Metropolitan Area Network,MAN)、互联网)和/或为云计算平台和服务部署的一个或多个SDN。
由于目的节点没有连接到第一网络,因此目的节点无法接收和/或拦截数据报文,特别是传输到具有第一网络的地址范围内的组播网络地址(例如,L2和/或L3地址)的网络节点的和/或广播数据报文。
然而,许多流行的应用程序和服务,例如,媒体流、游戏组和/或组集群等,可以应用对于目的节点连接到与源节点相同的网络并因此接收通信报文(具体地,所述源节点传输的组播和/或广播报文)是重要和/或明显更高效的协议。
为此,目的节点可以使用(第一)映射代理映射到第一网络,该映射代理部署在第一网络中并充当第一网络上目的节点的虚拟存在,因此,该映射代理看起来像是连接到第一网络。具体地,部署在第一网络中的第一映射代理分配有虚拟L2地址,以针对第一网络中使用的L2和/或L3协议模拟真实网络节点。因此,分配给部署在第一网络中的第一映射代理的虚拟L2地址映射目的节点,就像连接到第一网络一样。
第一映射代理还可以用于将为组播传输而创建的一个或多个组播组加入到连接到第一网络的一组或多组网络节点。
因此,第一映射代理可以拦截由源节点传输的每个报文,所述报文发往目的节点(单播)或发往第一映射代理(加入)包含在一个或多个组播组(组播)。第一映射代理还可以拦截源节点传输的每个广播消息。
第一映射代理可以将被拦截的单播、组播和/或广播报文转发(传输)到部署在第二网络中并与目的节点相关联的另一个(第二)映射代理。具体地,第一映射代理可以首先将拦截的报文封装在一个或多个封装报文中,这些封装报文通过连接第一网络和第二网络的公共网络传输到第二映射代理。第一映射代理生成、调整和/或配置封装报文的流量描述符,以指示第二映射代理,例如,包括第二映射代理的网络地址。
第一映射代理可以根据第一映射代理应用的一个或多个协议构建包括流量描述符的封装报文,以将网络流量转发到第二映射代理。例如,第一映射代理可以根据虚拟LAN(Virtual LAN,VLAN)隧道、MPLS、GRE.geneve、STT、L2-vpn、基于IP的以太网、VXLAN、基于IP的IP、伪隧道等一个或多个L2隧道协议来构建封装报文。在这种情况下,流量描述符可以作为元数据插入由L2隧道协议定义的一个或多个元数据字段中。又如,第一映射代理可以根据互联网协议(Internet Protocol,IP)(例如,IPv4、IPv6等)、IPX/SPX等一个或多个L3网络协议来构建一个或多个封装报文。在这种情况下,流量描述符可以插入由L3网络协议定义的目的地址字段中。
第二映射代理可以从第一映射代理接收一个或多个封装报文,并解封装接收到的一个或多个封装报文,以提取源节点最初通过第一网络传输的单播、组播和/或广播报文。
第二映射代理在第二网络中创建和启动,以针对第二网络中使用的L2和/或L3协议模拟连接到第二网络的真实网络节点,因此可以能够直接将网络流量传输到目的节点。因此,第二映射代理可以将提取的报文传输到目的节点。
第一映射节点和第二映射节点可以使用多个实现方式中的一个或多个来部署、配置、启动和/或执行,所述多个实现方式可以取决于第一网络和/或第二网络(例如,物理网络、SDN)、网络节点(例如,物理节点和/或虚拟节点等)等的一个或多个操作特征和/或参数。
例如,在SDN中,第一映射代理和第二映射代理可以通过配置、调整和/或创建映射表、交换表、路由表等一个或多个映射记录来启动,所述映射记录定义通过SDN交换机的网络流量的交换和路由。控制、交换和/或路由SDN中的网络流量的一个或多个控制器可以使用调整后的映射记录,从而有利于第一映射代理和第二映射代理。
在另一个示例中,在物理网络中,第一映射代理和/或第二映射代理可以作为分别连接到第一网络和/或第二网络的一个或多个计算设备执行的软件模块启动。例如,第一映射代理可以由连接到第一网络的专用网络节点执行。在另一个示例中,第一映射代理可以由连接到第一网络的网关(例如交换机、路由器等)执行,特别是将第一网络连接到公共网络的网关。这可以类似地应用于由连接到第二网络的网络节点执行的第二映射代理。
通过为每个源节点和目的节点对中的多个部署、配置和启动多个第一和第二映射代理对,虚拟L2映射可以进行缩放和扩展以支持多个源节点和目的节点对。
与当前现有的用于在连接到单独专用网络的远程网络节点之间路由网络流量的方法和系统相比,虚拟L2映射可能具有显著的优势。
一些现有的路由方法可以使用L2虚拟专用网络(Virtual Private Network,VPN)(以太网VPN)为共享网络配置和寻址的两个或两个以上单独网络(站点)创建统一广播域。但是,通常由作为L2 VPN一部分的所有网络节点共享的L2 VPN可能极易在网络上发生冲突。此外,可能不可能通过软件修改L2 VPN配置,从而迫使每个这样的修改都由用户执行,用户为开发L2 VPN的系统管理员和/或网络专家等。
另一方面,虚拟L2映射为每对源节点和目标节点分配一对专用的第一映射代理和第二映射代理,从而显著减少并可能消除冲突。因此,每个第一对仅将专门针对对应目的节点的报文封装并转发到相应的第二映射代理,从而显著减少网络流量,从而减少冲突。另外,第一映射代理和第二映射代理可以很容易通过软件部署、配置和/或修改,因为它们是可以很容易建立、终止和/或修改的软件代理。此外,由于每对第一映射代理和第二映射代理都与一对源和目标节点相关联,调整这些映射代理可能不会影响为映射其它源和/或目的节点而部署的其它映射代理的操作。
其它现有的路由方法可以使用L3 VPN将两个或两个以上单独的网络(站点)连接为不同的子网,其中,网络流量根据一个或多个路由规则进行路由。这些L3 VPN实现方式自然必须遵循网络节点用于相互通信的L3协议。因此,L3 VPN可能需要对每个L3协议进行定制,因此需要大量的时间和工作来采用L3 VPN,从而显著增加成本。这可能会进一步显著限制L3 VPN跨不同L3协议的可扩展性。
另一方面,虚拟L2映射依赖于L2网络寻址,因此与网络节点使用的L3协议无关。可以显著减少部署虚拟L2映射代理的工作量、时间和成本,从而可以使虚拟L2映射高度可扩展。
在L2 VPN和L3 VPN中,网络节点的网络地址在VPN中必须是唯一的,以便没有任何网络地址重叠。这可能会带来主要的限制,因为每个私有网络通常独立于任何其它单独网络使用其寻址方案。跨彼此不同步的私有网络部署VPN可能会导致网络寻址重叠,从而使VPN无用。
在虚拟L2映射中,这些限制不适用,因为网络不共享公共寻址域,而是每个私有网络都部署了映射代理,这些代理根据网络中应用的寻址方案分配了虚拟L2地址。部署在单独网络中的第一映射代理和第二映射代理之间的通信是使用封装报文完成的,该封装报文遵循用于单独网络之间的网络流量的通信协议,同时将最初传输的报文包含在封装报文的负载中。
在详细解释本发明的至少一个实施例之前,应理解,本发明在应用时并不一定限于以下描述和/或附图和/或示例中阐述的组件和/或方法的构造和布置的细节。本发明能够有其它实施例,或者能够以各种方式实践或执行。
本发明可以是一种系统、方法和/或计算机程序产品。所述计算机程序产品可包括具有计算机可读程序指令的计算机可读存储介质,计算机可读程序指令使得处理器执行本发明的各方面。
所述计算机可读存储介质可以是能够保留和存储指令以供指令执行设备使用的有形设备。所述计算机可读存储介质可以为,但不限于,例如,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或上述设备的任意适当组合。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者通过互联网、局域网、广域网和/或无线网络等网络下载到外部计算机或外部存储设备。
所述计算机可读程序指令可以完全在用户的计算机上执行,部分在用户设备(user equipment,UE)等用户计算机上执行,作为独立的软件包执行,部分在用户的计算机上执行并且部分在网络装置等远程计算机上执行,或者完全在远程计算机或服务器上执行。在最后的场景中,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(local area network,LAN)或广域网(wide area network,WAN),或者与外部计算机连接(例如,通过使用互联网服务提供商的互联网)。在部分实施例中,包括例如可编程逻辑电路、现场可编程门阵列(field-programmable gate array,FPGA)或可编程逻辑阵列(programmable logic array,PLA)等的电子电路可以通过利用所述计算机可读程序指令的状态信息来执行所述计算机可读程序指令,以定制电子电路,从而执行本发明的各方面。
本文结合根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或方框图来描述本发明的各方面。应理解,流程图和/或方框图的每个方框以及流程图说明和/或方框图中的方框的组合可以由计算机可读程序指令实现。
图中的所述流程图和方框图阐述了本发明各种实施例的系统、方法以及计算机程序产品的可能实施方式的架构、功能以及操作。就此而言,流程图或框图中的每个方框可以表示模块、区段或指令的部分,包括用于实现指定逻辑功能的一个或多个可执行指令。在某些替代性实现方式中,方框中说明的功能可不按图中说明的顺序执行。例如,事实上,连续示出的两个方框可以几乎同时执行,或者有时候,方框可以按照相反的顺序执行,根据所涉及的功能确定。还应注意的是,框图和/或流程图中的每个方框以及框图和/或流程图中的方框组合可以由基于专用硬件的系统执行,该系统执行特定的功能或动作,或者执行专用硬件和计算机指令的组合。
现参考图1,图1为本发明一些实施例提供的通过使用虚拟L2映射来映射远程网络的方式将数据从连接到本地网络的节点传输到连接到单独网络的远程主机的示例性过程的流程图。
示例性过程100、300和400可以被执行以支持直接映射,特别是连接到通过公共网络基础设施连接的不同和单独网络的节点的L2映射,以支持使用L2地址映射在这些节点之间进行数据交换。这可以通过为连接到一个网络的一个或多个节点分配在另一个独立网络中映射这一个或多个节点的虚拟L2地址来完成。
示例性过程100可以被执行以初始化部署在(第一)网络(站点)中的第一映射代理200B,以对连接到另一个(第二)网络(站点)的目的网络节点应用虚拟L2映射,所述另一个(第二)网络(站点)与用于连接到第一网络的源节点的第一网络分开。过程100还可以包括初始化部署在第二网络中且与目的网络节点相关联的第二映射代理200A。第一映射代理200B和第二映射代理200A可以各自包括一个或多个软件模块,例如,进程、脚本、应用程序、代理、实用程序和/或工具等。每个软件模块可以包括由处理器执行的多个程序指令,以使处理器执行一个或多个操作。
示例性过程300可以由第一映射代理200B执行,以转发网络流量,特别是从源节点传输到目的节点的组播和/或广播报文。第一映射代理200B可以通过以下方式来转发报文:将报文封装在包括流量指示符(例如,分配给第二映射代理200A的L2地址(例如,MAC地址))的一个或多个封装报文中,并通过将第一网络连接到第二网络的公共网络基础设施将一个或多个封装报文传输到第二映射代理200A。
示例性过程400可以由第二映射代理200A执行,以从第一映射代理200B接收封装的一个或多个报文,对封装的一个或多个报文进行解封装以提取源节点最初传输的报文,并将提取后的报文传输到目的节点。
现参考图2,图2为本发明一些实施例提供的用于通过使用虚拟L2映射来映射远程网络的方式将数据从连接到本地网络的节点传输到连接到单独网络的远程主机的示例性网络系统的示意图。示例性网络系统250可以包括第一网络202A和第二网络202B,第一网络202A和第二网络202B在通过公共网络(基础设施)220连接时彼此分开,所述公共网络(基础设施)220为SDN、局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)、市政区域网络(Municipal Area Network,MAN)、蜂窝网络和/或互联网等。因此,连接到不同网络202A和202B的节点210不能使用直接L2和/或L3映射在它们之间交换报文。例如,连接到第一网络202A的源节点210A不能直接与连接到第二网络202A的目的节点210B通信。
第一网络202A和第二网络202B通过路由器和/或交换机等一个或多个网关212连接到网络220。例如,第一网络202A可以包括连接到网络220的网关212A,第二网络202B可以包括连接到网络220的网关212B。
自然地,源节点210A可以向目的节点210B发送报文和/或从目的节点210B接收报文。然而,这些流量通常可以涉及通常由网关212A和/或网关212B应用的一个或多个地址转换协议,在本领域中是已知的。由于应用于源节点210A和目的节点210B之间交换的网络流量的地址转换,本领域中已知的这些节点210之间的直接L2(例如,MAC地址)和/或L3映射(例如,IP地址)是不可能的。
为了支持这种直接L2和/或L3映射,映射代理200A和200B等映射代理可以分别部署在第一网络202A和第二网络202B中,以在第一网络202A中创建目的节点210B的虚拟存在,从而模拟目的节点210B与对源节点210A完全透明的第一网络202A的直接连接。
映射代理200A可以分配有可以由源节点210A直接映射的特定L2地址和/或L3地址。在接收发往目的节点210B的一个或多个数据报文时,第一映射代理200A可以封装(重新打包)接收到的报文以包括指示第二映射代理200B的流量标识符(例如,L2标识符和/或L3标识符)。然后,第一映射代理200A可以应用本领域已知的一个或多个传输协议,例如,隧道(例如,L2TP、SSTP、IPSec)等以将封装的报文传输到第二映射代理200B。
接收封装的报文的映射代理200B可以对这些封装的报文进行解封装,以提取最初从源节点210A接收的报文,并将提取的报文传输到目的节点210B。
此外,映射代理200A和200B可以被部署以支持将组播和/或广播报文从源节点210A传输到目的节点210B。第一映射代理200A可以包括在(加入)第一网络202A中创建的一个或多个组播组中,并用于将广播报文和/或针对这些加入的组播组的组播报文封装并转发到第二映射代理200B。然后,第二映射代理200B可以对接收到的报文进行解封装,以提取广播和/或组播报文,并将这些报文传输到目的节点210B。
以类似的方式,相应的映射代理200可以部署在第一网络202A和第二网络202B中,以针对连接到第一网络202A的一个或多个网络节点映射连接到第二网络202B的一个或多个网络节点。例如,第一映射代理(例如,第一映射代理200A)可以部署在第二网络202B中,以针对连接到第二网络202B的源节点(例如,网络节点210B)映射连接到第一网络202A的目的节点(例如,网络节点210A)。另一方面,第二映射代理(例如,第二映射代理200B)可以部署在与网络节点210A相关联的第一网络202A中,以接收从第一映射代理转发且发往网络节点210A的报文。
还参考图3A和图3B,图3A为示例性SDN的示意图,图3B为本发明一些实施例提供的使用虚拟L2映射将数据从连接到本地网络的节点传输到连接到单独网络的远程主机的示例性物理网络的示意图。图3B为本发明一些实施例提供的使用虚拟L2映射将数据从连接到本地网络的节点传输到连接到单独网络的远程主机的示例性物理网络的示意图。
如图3A所示,可以部署网络系统250等示例性SDN 250A用于连接多个网络节点210。SDN通常部署在云计算平台上,以促进网络管理,并以编程方式实现高效的网络配置,以提高网络性能和监控。在遵循通用网络协议的同时,SDN可以通过将网络报文的转发过程(数据平面)与路由过程(控制平面)分离,将网络智能集中在少数网络组件中。因此,控制平面可以由一个或多个SDN控制器组成,这些控制器控制网络流量的交换和路由。
托管一个或多个网络节点210(例如,网络节点210A)的第一网络202A可以是通过SDN交换机212A连接到SDN 250A的SDN定义网段。托管一个或多个网络节点210(例如,网络节点210B1和网络节点210B2)的第二网络202B可以是通过SDN交换机212B连接到SDN 250A的另一个SDN定义网段。
连接到SDN 250B的网络节点210可以包括一个或多个物理网络节点,例如,计算机、服务器、计算节点和/或计算节点集群等。每个物理网络节点210可以包括布置用于并行处理的一个或多个处理器(同质或异构),作为集群和/或作为一个或多个分布式核心处理单元、用于连接到网络202A和/或202B的一个或多个网络接口以及程序存储器,例如,存储介质,所述存储介质是易失性介质(例如,随机存取存储器(Random Access Memory,RAM))等)和/或非易失性介质(例如,硬盘、闪存阵列等)。所述存储介质还可以包括一个或多个本地和/或远程网络存储资源,例如,可通过一个或多个网络接口访问的存储服务器、网络附属存储(Network Attached Storage,NAS)和/或网络驱动器等。
然而,作为云计算平台和服务中的典型示例,网络节点210还可以包括多个虚拟网络节点(主机),例如,由一个或多个物理网络节点执行并利用其硬件资源的虚拟机(Virtual Machine,VM)等。
SDN交换机212(例如,SDN交换机212A和SDN交换机212B)通常利用由SDN250A的一个或多个节点210部署和执行的虚拟交换机,例如OpenFlow、netflow、ebpf启用、具有DragonFlow控制等的开放式虚拟交换机(Open vSwitch,OVS),以支持网络节点210之间(特别是虚拟主机之间)的网络流量的交换和路由。
SDN交换机212(具体地,SDN交换机212A和SDN交换机212B)可以用于在第一网络202A中部署映射代理200,用于对连接到第二网络202B的目的节点210B1和/或210B2进行L2映射。如图所示,每个映射的目的节点210可能需要在第一网络202A和第二网络202B中部署专用映射代理200。例如,为了映射第一网络202A中的目的节点210B1,可以在第一网络202A中部署第一映射代理200B1,以与部署在第二网络202B中的第二映射代理200A的一个实例进行通信。类似地,为了将目的节点210B2映射到第一网络202A中,可以在第一网络202A中部署第一映射代理200B2,以与部署在第二网络202B中的第二映射代理200A的另一个实例进行通信。
在SDN 250A中,可以通过配置SDN的一个或多个映射记录来使用第一映射代理200B和第二映射代理200A。例如,为SDN交换机212A和/或SDN交换机212B定义的更多映射记录可以被调整为在第一网络202A的路由表中包括分配给目的节点210B1和/或210B2的虚拟L2地址,其中,所述路由表包括连接到第一网络202A的节点210的L2地址。
如图3B所示,可以部署网络系统250等示例性物理网络250B用于连接多个网络节点。托管一个或多个网络节点210(例如,网络节点210A)的第一网络202A可以是通过网关212A(例如,路由器和/或类似物)连接到网络250B的私有网络(站点)。托管一个或多个网络节点210(例如,网络节点210B1和/或网络节点210B2)的第二网络202B可以是通过网关212B(例如,路由器和/或类似物)连接到网络250B的另一个私有网络(站点)。
连接到网络250B的网络节点210可以包括一个或多个物理网络节点,例如,移动设备、计算机、服务器、计算节点和/或计算节点集群等。可选地,一个或多个物理网络节点可以执行和/或托管一个或多个虚拟节点(主机)。
网关212A和网关212B是计算设备,例如,包括一个或多个处理器、存储器和一个或多个网络接口的物理网络节点210。
如针对SDN 250A所述,一个或多个目的节点210(例如,目的节点210B1和/或目的节点210B2)可以通过部署一组或多组第一映射代理200A和第二映射代理200B而通过L2映射映射到第一网络202A。这是因为如前所述,每个映射的目的节点210可能需要一对专用第一映射代理200A和第二映射代理200B。
第一映射代理200A和第二映射代理200B可以使用多种实现方式、技术和/或方法中的一种或多种在第一网络202A和/或第二网络202B中部署和执行。例如,如在第一网络202A中所见,一个或多个物理或虚拟的网络节点210(例如,网络节点210C)可以执行用于映射目的节点210B1的第一映射代理200B1和/或用于映射目的节点210B2的第一映射代理200B2。又如,如在第二网络202A中所见,网关212B可以执行与目的节点210B1相关联的第二映射代理200A的第一实例和/或与目的节点210B2相关联的第二映射代理200A的第二实例。
示例性网络系统250以及网络250A和250B被描述为两个单独的网络202,每个网络202托管有限数量的网络节点210,例如,一个或两个节点。然而,这不应被解释为限制,因为正如本领域技术人员显而易见的那样,方法100、300和400可以很容易针对网络250、250A和/或250B中定义的任何数量的单独网络202缩放。
再次参考图1。
如102所示,过程100从启动第一映射代理(例如,第一映射代理200B)开始。启动第一映射代理200B,用于针对连接到第一网络(例如,第一网络202A)的源主机(例如,源节点210A)本地映射连接到第二网络(例如,第二网络202B)的目的节点(例如,目的节点210B)。具体地,通过将虚拟L2地址分配给映射第一网络202A中的目的节点210B的第一映射代理200B,在L2中针对源节点210A映射目的节点210B。第一映射代理200B可以在SDN 250A等虚拟网络中、物理网络250B等物理网络中和/或它们的组合中启动。
第一映射代理200B可用于针对单播、组播和/或广播报文映射目的节点210B。例如,可以将多个虚拟L2地址分配给第一映射代理200B,每个第一映射代理200B针对特定类型的报文进行配置。因此,可以为单播报文映射分配第一L2虚拟地址,可以为组播报文映射分配第二虚拟L2地址,并且可以为广播报文映射分配第三虚拟L2地址。
在SDN网络250A中,第一映射代理200B可以通过配置、调整和/或创建映射表、交换表、路由表等一个或多个映射记录来启动,所述映射记录定义一个或多个路由代理使用的SDN 250A中网络流量的交换和路由,以控制SDN网络250A中网络流量的交换和/或路由。具体地,第一映射代理200B可以通过将分配给第一映射代理200B的虚拟L2地址添加到为SDN交换机212A定义的映射记录中来启动,使得SDN交换机212A将网络流量路由到第一映射代理200B,就像它连接到第一网络202A一样。
还可以配置为SDN交换机212A定义的映射记录,以将映射目的节点210B的虚拟L2地址包括在为第一网络202A定义的一个或多个组播组中。因此,与第一映射代理200B适配的SDN交换机212A可以拦截在第一网络202A中传输的并发往映射目的节点210B的虚拟L2地址的一个或多个单播和/或组播报文。SDN交换机212A还可以拦截在第一网络202A中传输的一个或多个广播报文。
在物理网络250B中,可以通过以下方式启动第一映射代理200B:指示网络节点210C等网络节点和/或网关212A等网关来启动第一映射代理200B。执行的第一映射代理200B分配有映射目的节点210B的虚拟L2地址,使得在执行后,第一映射代理200B可以拦截发往虚拟L2地址的一个或多个报文。第一映射代理200B还可以用于加入第一网络202A中定义的一个或多个组播组。因此,在执行后,第一映射代理200B可以拦截发往第一映射代理200B包括在内的组播组的一个或多个组播报文。此外,在执行后,第一映射代理200B可以拦截在第一网络202A中传输的一个或多个广播报文。
第一映射代理200B可以由一个或多个用户启动,例如,被授权配置、操作和/或调整SDN 250A和/或物理网络250的系统管理员等。可选地,具体地,在SDN 250A中,第一映射代理200B可以由SDN控制器启动,SDN控制器可以操作SDN交换机212A的映射记录,以包括分配给第一映射代理200B的虚拟L2地址。
如104所示,可以启动第二映射代理200A等第二映射代理,所述第二映射代理与连接到第二网络202B的目的节点210B相关联。第二映射代理200A在第二网络202B中启动,并分配在第二网络202B中分配的地址范围内的虚拟L2地址和/或L3地址,以支持第二映射代理200A和目的节点210B之间的通信。第二映射代理200A还分配有L2和/或L3地址,以支持使用本领域已知的一个或多个L2隧道和/或L3网络协议与相应的第一映射代理200B进行通信,以接收从第一映射代理200B转发的一个或多个报文。
与第一映射代理200B类似,可以在SDN 250A等虚拟网络中、物理网络250B等物理网络中和/或它们的组合中启动第二映射代理200A。
在SDN网络250A中,第二映射代理200A可以通过配置、调整和/或创建一个或多个路由代理使用的SDN 250A的一个或多个映射记录,以控制SDN网络250A中网络流量的交换和/或路由。可以调整SDN 250A的映射记录以包括分配给第二映射代理200A的L2和/或L3地址,以支持第一映射代理200B使用L2隧道协议和/或L3网络协议中的一个或多个转发给第二映射代理200A的报文的路由。
在物理网络250B中,可以通过以下方式启动第二映射代理200A:指示网络节点和/或网关212B等网关来启动第二映射代理200A。执行的第二映射代理200A与目的节点210B相关联,并且分配有本地地址范围(分配给第二网络202B中的节点)内的L2地址和/或L3地址,以支持第二映射代理200A和目的节点210B之间的通信。第二映射代理200A还可以分配有L2和/或L3地址以支持与第一映射代理200B的通信,以便接收使用L2隧道协议和/或L3网络协议中的一个或多个从第一映射代理200B转发的一个或多个报文。
如针对第一映射代理200B所述,第二映射代理200A可以由调整SDN 250A和/或物理网络250的用户中的一个或多个启动。可选地,如针对第一映射代理200B所述,具体地,在SDN 250A中,第二映射代理200A可以由一个或多个SDN控制器启动,SDN控制器可以操作SDN交换机212B的映射记录,以包括分配给第二映射代理200A的虚拟L2地址。
如302所示,第一映射代理200B可以拦截从一个或多个源节点(例如,网络节点210A)在第一网络202A中传输的发往目的节点210B的一个或多个报文。第一映射代理200B可以拦截具体定向到目的节点210B的单播报文,所述单播报文包括映射目的节点210B的虚拟L2地址。然而,第一映射代理200B还可以拦截针对一个或多个组播组传输的一个或多个组播报文,第一映射代理200B加入所述组播组以映射所述组播组中的目的节点210B。第一映射代理200B还可以拦截在第一网络202A中检测到的一个或多个广播报文。
如304所示,第一映射代理200B可以将拦截的报文封装在一个或多个封装报文中。第一映射代理200B可以生成流量描述符,所述流量描述符标识(指示)第二映射代理200A作为目标,并将流量描述符包括在封装报文中。例如,假设第一映射代理200B使用以下协议与第二映射代理200A进行通信:VLAN隧道、MPLS、GRE.geneve、STT、L2-vpn、基于IP的以太网、VXLAN、基于IP的IP和/或伪隧道等一个或多个L2隧道协议。在这种情况下,映射代理200B可以构建流量描述符以包括第二映射代理200A的L2地址,并包括流量描述符作为与L2隧道协议可用且支持的L2封装报文相关联的元数据。在另一个示例中,假设第一映射代理200B可以使用IP(例如,IPv4、IPv6等)、IPX/SPX等一个或多个L3网络协议与第二映射代理200A进行通信。在这种情况下,第一映射代理200B可以将封装报文构建为分配有流量描述符的L3报文,所述流量描述符包括(例如)插入到L3封装报文的适当目的地址字段中的第二映射代理200A的L3地址。
如306所示,第一映射代理200B可以使用一个或多个L2隧道协议和/或一个或多个L3网络协议将封装报文转发(传输)到第二映射代理200A。
如402所示,第二映射代理200A可以接收由第一映射代理200B使用L2隧道协议和/或L3网络协议传输的封装报文。
如404所示,第二映射代理200A可以对接收到的封装报文进行解封装,提取最初由源节点210A传输并由第一映射代理200B在第一网络202A中拦截的报文。如在过程300的步骤302中所述,最初由源节点210A传输的提取的报文可以包括一个或多个单播、组播和/或广播报文。
如406所示,第二映射代理200A可以使用一个或多个L2和/或L3网络协议将提取的报文传输到目的节点210B。所述目的节点210B通过第二网络202B直接映射和访问。
在过程100、300和400中描述的虚拟L2映射可以被缩放和扩展以支持多个源节点和目的节点对,例如,源节点210A和目的节点210B。可以部署多对第一映射代理200B和第二映射代理200A,使得每对第一映射代理200B和第二映射代理200A与相应的一对特定源节点和目的节点相关联。
现在参考图4,图4为本发明一些实施例提供的用于初始化网络以使用虚拟L2映射将数据从连接到本地网络的节点传输到连接到单独网络的远程主机的示例性序列的示意图。示例性序列400描述了第一映射代理(例如,第一映射代理200B)和第二映射代理(例如,第二映射代理200A)的配置和操作。该第二映射代理被部署且用于针对连接到第一网络(例如,第一网络202A)的源节点(例如,源节点210A)映射连接到第二网络(例如,第二网络202B)的目的节点(例如,目的节点210B)。
如所见,序列400包括用于启动和配置第一映射代理200B和第二映射代理200A的配置阶段,以及网络流量(特别是组播和/或广播报文)从源节点210A传输到目的节点210B的流量阶段。
在配置阶段中,一个或多个控制器402(例如,用户(例如,系统管理员等)和/或SDN控制器等指示在第一网络202A中启动第一映射代理200B。例如,如示例性序列400中所示,控制器402启动第一映射代理200B,以由网关212A等网关(例如,SDN交换机和/或路由器等)执行,所述网关将第一网络202A连接到公共网络,例如,连接第一网络202A和第二网络202B的网络220。控制器402还将第一映射代理200B配置为具有虚拟L2地址,所述虚拟L2地址针对目的节点210B映射源节点210A。例如,控制器402可以将第一映射代理200B的虚拟L2地址包括(加入)到一个或多个组播组中,目的节点210B应该是所述组播组的一部分。控制器402还配置第一映射代理200B以使用一个或多个L2隧道协议和/或一个或多个L3网络协议将拦截的具有虚拟L2地址的报文转发到第二映射代理200B,其中,所述L2隧道协议使用分配给第二映射代理200B的L2地址,所述L3网络协议使用分配给第二映射代理200B的L3地址。
作为响应,网关212A可以启动并执行第一映射代理200B。例如,在第一网络202A中,假设源节点210A的IP地址为192.168.1.3,网关212A的IP地址为192.168.1.1,则网关212A可以将IP地址192.168.1.4分配给第一映射代理200B并分配IP地址192.168.1.5来映射目的节点210B。
控制器402可以指示在第二网络202B中启动第二映射代理200A。例如,如示例性序列400中所示,控制器402启动第二映射代理200A,以由网关212B等网关(例如,SDN交换机、路由器和/或类似物)执行,所述网关将第二网络202A连接到网络220。控制器402配置第二映射代理200A具有提供给第一映射代理200B的L2和/或L3地址,所述第一映射代理200B与第二映射代理200A通信(转发流量)。控制器402还配置第二映射代理200A将从第一映射代理200B接收的报文(特别是从第一映射代理200B接收的封装报文中提取的报文)转发到目的节点210B。
作为响应,网关212B可以启动并执行第二映射代理200A。继续所述示例,在第二网络202B中,假设网关212B的IP地址是10.0.0.1,目的节点210B的IP地址为10.0.0.3,则网关212B可以将IP地址10.0.0.4分配给第二映射代理200A并分配IP地址10.0.0.5来映射源节点210A。
在操作(流量)阶段中,如在过程300的步骤302中所述,源节点210A可以传输一个或多个报文,例如,可以被第一映射代理200B拦截的组播和/或广播报文。例如,在源节点210A向第一映射代理200B加入其中的组播组传输一个或多个组播报文的情况下,第一映射代理200B可以拦截这些组播报文。又如,第一映射代理200B可以拦截由源节点210A传输的任何广播报文。
如在过程300的步骤304中所述,第一映射代理200B可以根据配置第一映射代理200B支持的L2和/或L3转发协议,将拦截的报文封装在一个或多个封装报文中。第一映射代理200B可以在封装报文中包括指示第二映射代理200A的L2和/或L3网络地址的流量描述符。
如在过程300的步骤306中所述,第一映射代理200B接着可以将通过网关212A将封装报文传输(转发)到网络220。包括具有第二映射代理200A的L2和/或L3网络地址的流量描述符的封装报文可以通过网络220路由到将第二网络202B连接到网络220的网关212B。
网关212B可以将封装报文传送到第二网络202B,在所述第二网络中,第二映射代理200A可以拦截具有流量描述符的封装报文,所述流量描述符具有分配给第二映射代理200A的L2和/或L3网络地址,如在过程400的步骤402中所述。如在过程400的步骤404中所述,第二映射代理200A可以对接收到的封装报文进行解封装,并提取最初由源节点201A通过第一网络202A传输的组播和/或广播报文。最后,如在过程400的步骤404中所述,第二映射代理200A通过第二网络202B传输从封装报文提取的组播和/或广播报文。目的节点210B可以拦截这些组播和/或广播报文。
显而易见,部署第一映射代理200B和第二映射代理200A有助于目的节点210B接收组播和/或广播报文,就像目的节点210B连接到第一网络202A一样。
对本发明各个实施例的描述只是为了说明的目的,而这些描述并不旨在穷举或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,本领域技术人员可以清楚理解许多修改和变化。相比于市场上可找到的技术,选择此处使用的术语可最好地解释本实施例的原理、实际应用或技术进步,或使本领域其它技术人员理解此处公开的实施例。
预计在本申请到期的专利的有效期内,将开发许多相关的技术,术语“虚拟网络”、“虚拟节点”和“虚拟交换机”的范围旨在先验地包括所有此类新技术。
本文所使用的术语“约”是指±10%。
术语“包括”、“具有”以及其变化形式表示“包括但不限于”。这个术语包括了术语“由……组成”以及“主要由……组成”。
短语“主要由…组成”意指组成物或方法可以包括额外成分和/或步骤,但前提是所述额外成分和/或步骤不会实质上改变所要求的组成物或方法的基本和新颖特性。
除非上下文中另有明确说明,此处使用的单数形式“一个”和“所述”包括复数含义。例如,术语“一个复合物”或“至少一个复合物”可以包括多个复合物,包括其混合物。
此处使用的词“示例性的”表示“作为一个例子、示例或说明”。任何“示例性的”实施例并不一定理解为优先于或优越于其它实施例,和/或并不排除其它实施例特点的结合。
此处使用的词语“可选地”表示“在一些实施例中提供且在其它实施例中没有提供”。本发明的任意特定的实施例可以包含多个“可选的”特征,除非这些特征相互矛盾。
在本申请中,本发明的各种实施例可以范围格式呈现。应理解,范围格式的描述仅为了方便和简洁起见,并且不应该被解释为对本发明范围的固定限制。因此,对范围的描述应被认为是已经具体地公开所有可能的子范围以及所述范围内的个别数值。例如,对于例如从1到6的范围的描述应被视为已具体公开了从1到3、从1到4、从1到5、从2到4、从2到6、从3到6等的子范围以及该范围内的单个数字例如1、2、3、4、5和6。不论范围有多广,这都适用。
当此处指出一个数字范围时,表示包括了在指出的这个范围内的任意所列举的数字(分数或整数)。短语“在第一个所指示的数和第二个所指示的数范围内”以及“从第一个所指示的数到第二个所指示的数范围内”和在这里互换使用,表示包括第一个和第二个所指示的数以及二者之间所有的分数和整数。
应了解,为简洁起见在单独实施例的上下文中描述的本发明的某些特征还可以组合提供于单个实施例中。相反地,为简洁起见在单个实施例的上下文中描述的本发明的各个特征也可以单独地或以任何合适的子组合或作为本发明的任何其它实施例提供。在各个实施例的上下文中描述的某些特征未视为那些实施例的基本特征,除非没有这些元素所述实施例无效。
此处,本说明书中提及的所有出版物、专利和专利说明书都通过引用结合在本说明书中,同样,每个单独的出版物、专利或专利申请也具体且单独地结合在此。此外,对本申请的任何参考的引用或识别不可当做是允许这样的参考在现有技术中优先于本发明。就使用节标题而言,不应该将节标题理解成必要的限定。此外,本申请的任何优先权文件通过全文引用的方式并入本文中。

Claims (11)

1.一种用于使用目的节点的虚拟二层(L2)映射将数据传输到所述目的节点的系统,其特征在于,包括:
至少一个处理电路,连接到第一网络并执行具有虚拟L2地址的第一映射代理,其中,所述虚拟L2地址映射连接到与所述第一网络分开的第二网络的目的节点,所述虚拟L2地址为所述目的节点在所述第一网络的虚拟L2地址,所述第一映射代理包括代码,用于:
通过所述第一网络从至少一个源节点接收至少一个报文,其中,所述至少一个报文发往所述目的节点;
将所述至少一个报文封装在至少一个封装报文中,其中,所述封装报文包括流量描述符,所述流量描述符指示在所述第二网络处执行且与所述目的节点相关联的第二映射代理;
将所述至少一个封装报文转发给所述第二映射代理,其中,所述第二映射代理用于从所述至少一个封装报文中提取所述至少一个报文,并通过所述第二网络将所述至少一个报文发送到所述目的节点。
2.根据权利要求1所述的系统,其特征在于,所述至少一个封装报文使用至少一个L2隧道协议转发,所述流量描述符包括所述第二映射代理在所述至少一个L2隧道协议定义的元数据中的标识符。
3.根据权利要求1所述的系统,其特征在于,所述至少一个封装报文使用至少一个三层(L3)网络协议转发,所述流量描述符包括所述第二映射代理的L3地址。
4.根据权利要求1所述的系统,其特征在于,所述第一网络和所述第二网络是软件定义网络(Software Defined Network,SDN)中定义的虚拟网络,通过配置所述SDN的映射记录以将映射所述目的节点的所述虚拟L2地址包括在分配给连接到所述第一网络的节点的L2地址列表中,在所述第一网络中使用所述第一映射代理,连接到所述第一网络的节点中包括所述源节点。
5.根据权利要求1所述的系统,其特征在于,所述第一网络和所述第二网络是通过两个相应的网络网关连接到公共网络基础设施的物理网络。
6.根据权利要求5所述的系统,其特征在于,所述第一映射代理由所述将所述第一网络连接到所述公共网络基础设施的网络网关执行。
7.根据权利要求5所述的系统,其特征在于,所述第一映射代理由连接到所述第一网络的专用网络节点执行。
8.根据权利要求1所述的系统,其特征在于,所述至少一个报文包括发往连接到所述第一网络的一组节点的至少一个组播报文,所述第一映射代理用于响应于从所述第二映射代理接收的将所述目的节点包括在所述组中的请求而成为所述组的一部分,使得所述第一映射代理将所述至少一个组播报文封装并转发到所述第二映射代理,以传送到所述目的节点。
9.根据权利要求1所述的系统,其特征在于,所述至少一个报文包括发往连接到所述第一网络的所有节点的至少一个广播报文,所述第一映射代理用于将所述至少一个广播报文封装并转发到所述第二映射代理,以传送到所述目的节点。
10.根据权利要求1所述的系统,其特征在于,当部署多个第一映射代理时,所述多个第一映射代理中的每个第一映射代理映射连接到与所述第一网络分开的至少一个第二网络的多个目的节点中的相应一个目的节点。
11.一种计算机实现的不同网络之间主机的二层(L2)映射方法,其特征在于,包括:
使用至少一个处理电路,其中,所述至少一个处理电路连接到第一网络并执行具有虚拟L2地址的第一映射代理,所述虚拟L2地址映射连接到与所述第一网络分开的第二网络的目的主机,所述虚拟L2地址为所述目的主机在所述第一网络的虚拟L2地址,所述第一映射代理包括代码,用于:
通过所述第一网络从至少一个源主机接收至少一个报文,其中,所述至少一个报文发往连接到与所述第一网络分开的另一个网络的目的主机;
将所述至少一个报文封装在至少一个封装报文中,其中,所述封装报文包括流量描述符,所述流量描述符指示在所述第二网络处执行且与所述目的主机相关联的第二映射代理;
将所述至少一个封装报文转发给所述第二映射代理,其中,所述第二映射代理用于从所述至少一个封装报文中提取所述至少一个报文,并通过所述第二网络将所述至少一个报文发送到所述目的主机。
CN201980095227.XA 2019-05-02 2019-05-02 虚拟网络拓扑 Active CN113647065B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2019/061285 WO2020221458A1 (en) 2019-05-02 2019-05-02 Virtual network topology

Publications (2)

Publication Number Publication Date
CN113647065A CN113647065A (zh) 2021-11-12
CN113647065B true CN113647065B (zh) 2023-08-22

Family

ID=66440021

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980095227.XA Active CN113647065B (zh) 2019-05-02 2019-05-02 虚拟网络拓扑

Country Status (2)

Country Link
CN (1) CN113647065B (zh)
WO (1) WO2020221458A1 (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104639413A (zh) * 2013-11-13 2015-05-20 华为技术有限公司 接入网虚拟化的方法及代理节点
CN105900407A (zh) * 2014-01-08 2016-08-24 微软技术许可有限责任公司 在虚拟网络之间路由消息

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8867403B2 (en) * 2011-08-18 2014-10-21 International Business Machines Corporation Virtual network overlays
US9794079B2 (en) * 2014-03-31 2017-10-17 Nicira, Inc. Replicating broadcast, unknown-unicast, and multicast traffic in overlay logical networks bridged with physical networks
CN106936939B (zh) * 2015-12-31 2020-06-02 华为技术有限公司 一种报文处理方法、相关装置及nvo3网络系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104639413A (zh) * 2013-11-13 2015-05-20 华为技术有限公司 接入网虚拟化的方法及代理节点
CN105900407A (zh) * 2014-01-08 2016-08-24 微软技术许可有限责任公司 在虚拟网络之间路由消息

Also Published As

Publication number Publication date
CN113647065A (zh) 2021-11-12
WO2020221458A1 (en) 2020-11-05

Similar Documents

Publication Publication Date Title
US11044211B2 (en) Multicast packet handling based on control information in software-defined networking (SDN) environment
US10439843B2 (en) Method and system for virtual and physical network integration
US10116559B2 (en) Operations, administration and management (OAM) in overlay data center environments
US9584546B2 (en) Providing services to virtual overlay network traffic
US10491482B2 (en) Overlay network movement operations
US10530656B2 (en) Traffic replication in software-defined networking (SDN) environments
WO2017186181A1 (zh) 网络访问控制
CN108347493B (zh) 混合云管理方法、装置和计算设备
US20150124823A1 (en) Tenant dhcp in an overlay network
EP3197107B1 (en) Message transmission method and apparatus
US10523464B2 (en) Multi-homed access
US11258729B2 (en) Deploying a software defined networking (SDN) solution on a host using a single active uplink
CN106559292A (zh) 一种宽带接入方法和装置
WO2015149253A1 (zh) 数据中心的虚拟网络管理方法及数据中心系统
WO2014169782A1 (en) Virtual machine migration
US20180270084A1 (en) Technique for exchanging datagrams between application modules
US20210184970A1 (en) Disambiguating traffic in networking environments with multiple virtual routing and forwarding (vrf) logical routers
CN112385194B (zh) 远程网络之间的状态分组传输
US9438475B1 (en) Supporting relay functionality with a distributed layer 3 gateway
CN113994639B (zh) 基于远程网络节点的l3虚拟映射的数据传输方法及系统
CN113647065B (zh) 虚拟网络拓扑
Shahrokhkhani An Analysis on Network Virtualization Protocols and Technologies

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20220223

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Applicant after: Huawei Cloud Computing Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant