CN110419199B - 使用主动式最短路径的sdn中的扁平化l3路由 - Google Patents
使用主动式最短路径的sdn中的扁平化l3路由 Download PDFInfo
- Publication number
- CN110419199B CN110419199B CN201780088221.0A CN201780088221A CN110419199B CN 110419199 B CN110419199 B CN 110419199B CN 201780088221 A CN201780088221 A CN 201780088221A CN 110419199 B CN110419199 B CN 110419199B
- Authority
- CN
- China
- Prior art keywords
- virtual
- peer
- network
- peers
- direct
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Abstract
一种使用虚拟网络主动映射来通过所述虚拟网络传送网络层(L3)对等数据分组的系统,包括连接多个虚拟对端的虚拟网络的直接分组载体,所述直接分组载体适用于:从所述多个虚拟对端的源虚拟对端接收去往所述多个虚拟对端的目的虚拟对端的一个或多个数据分组;访问包括多个虚拟L3对等地址的映射记录,每个虚拟L3对等地址映射所述多个虚拟对端中的一对虚拟对端之间的直接对等路径;从所述映射记录中检索映射所述源对端和所述目的对端之间的所述直接对等路径的所述多个虚拟L3对等地址中的相应一个;以及使用所述检索的虚拟L3对等路径将所述数据分组传输到所述目的虚拟对端。
Description
背景技术
本发明在其一些实施例中涉及通过虚拟网络传输对等数据分组,更具体地,不仅仅涉及通过使用虚拟网络主动映射的虚拟网络传输对等数据分组。
网络虚拟化将传统通过硬件下发的网络连接和服务抽象化为逻辑虚拟网络,该逻辑虚拟网络与物理网络分离并独立运行于物理网络顶层。
虚拟网络可能在复杂度不断增长的现代计算、组网和数据分发方面具有多重优势。通过将物理网络抽象化,虚拟网络可以有效地用于网络分离、隧道、安全等。
通常并入开放系统互连(Open Systems Interconnection,OSI)模型的层4至层7中的虚拟网络可以解决许多组网挑战,从而支持虚拟网络的编程、部署、配置、调整等,而无需物理地改变或甚至触及底层硬件网络基础设施。这可以允许根据动态变化的计算和/或网络负载和需求,按需轻松扩展和适配虚拟网络,从而调整工作负载和/或网络资源。
另外,虚拟网络可以提供层2和层3服务,例如,对连接(驻留)虚拟网络的多个虚拟对端之间传输的数据进行交换和路由。由于虚拟网络和/或虚拟网络的一部分可以很容易地通过软件方式调整,所以支持虚拟网络级别的交换和路由可以进一步简化网络维护、调整和/或配置,这样通常能够以远程方式避免需要配置硬件网络设备、基础设施等。
发明内容
根据本发明第一方面,提供了一种使用虚拟网络主动映射来通过所述虚拟网络传输网络层(L3)对7等数据分组的系统,包括连接多个虚拟对端的虚拟网络的直接分组载体,所述直接分组载体用于:
-从所述多个虚拟对端的源虚拟对端接收去往所述多个虚拟对端的目的虚拟对端的一个或多个数据分组。
-访问包括多个虚拟L3对等地址的映射记录。所述多个虚拟L3对等地址中的每个虚拟L3对等地址映射所述多个虚拟对端中的一对虚拟对端之间的直接对等路径。
-从所述映射记录中检索映射所述源对端和所述目的对端之间的所述直接对等路径的所述多个虚拟L3对等地址中的相应一个。
-使用所述检索的虚拟L3对等路径将所述一个或多个数据分组传输到所述目的虚拟对端。
直接分组载体直接连接例如软件定义网络(Software Defined Network,SDN)的虚拟网络中的至少部分虚拟对端,并使用(预先)主动生成的虚拟L3对等地址来传输数据分组,这样可以显著减少数据分组传输的时延,因为可以避免在每个HOP(经过路由器)期间解析路径中的下一个网络地址。由于地址解析可能是主要的时延贡献因素,尤其是当路径包括经过多个路由器时,使用主动生成的对等地址可以显著减少总体数据分组传输的时延。直接对等映射和数据分组传输还可以显著缓解对虚拟网络中检测到的故障、问题和/或降级操作场景进行调测和/或故障隔离,因为可以很容易地监控和/或隔离通过直接分组载体的数据传输路径。
根据本发明第二方面,提供了一种使用虚拟网络主动映射来通过所述虚拟网络传输L3对等数据分组的计算机实施的方法,包括:
-在连接多个虚拟对端的虚拟网络的直接分组载体处,接收来自所述多个虚拟对端的源虚拟对端的一个或多个数据分组,所述一个或多个数据分组去往所述多个虚拟对端的目的虚拟对端。
-访问包括多个虚拟L3对等地址的映射记录。所述多个虚拟L3对等地址中的每个虚拟L3对等地址映射所述多个虚拟对端中的一对虚拟对端之间的直接对等路径。
-从所述映射记录中检索映射所述源对端和所述目的对端之间的所述直接对等路径的所述多个虚拟L3对等地址中的相应一个。
-使用所述检索的虚拟L3对等路径将所述一个或多个数据分组传输到所述目的虚拟对端。
根据本发明第三方面,提供了一种使用虚拟网络主动映射来通过所述虚拟网络传输L3对等数据分组的计算机程序产品。所述计算机程序产品在一台或多台计算机上运行以执行连接多个虚拟对端的虚拟网络的直接分组载体,包括:
-用于从所述多个虚拟对端的源虚拟对端接收一个或多个数据分组的代码指令。所述一个或多个数据分组去往所述多个虚拟对端的目的虚拟对端。
-用于访问包括多个虚拟L3对等地址的映射记录的代码指令。所述多个虚拟L3对等地址中的每个虚拟L3对等地址映射所述多个虚拟对端中的一对虚拟对端之间的直接对等路径。
-用于从所述映射记录中检索映射所述源对端和所述目的对端之间的所述直接对等路径的所述多个虚拟L3对等地址中的相应一个的代码指令。
-用于使用所述检索的虚拟L3对等路径将所述一个或多个数据分组传输到所述目的虚拟对端的代码指令。
结合本发明的所述第一方面、所述第二方面和/或所述第三方面,根据第一种实施方式,所述多个虚拟对端中的每个虚拟对端是网络单元,所述网络单元是以下项中的一项:
-虚拟主机
-虚拟路由器
-虚拟路由器接口
-通过虚拟端点映射的物理主机
-通过虚拟端点映射的物理路由器
-容器
-映射一个或多个硬件和/或虚拟资源的任何虚拟接口。
支持可能存在和/或连接到虚拟网络的多种不同类型的虚拟对端可以显著简化支持驻留在虚拟网络上的不同网络实体(虚拟对端)之间的连接和/或数据传输所需的架构、接口和/或措施。
结合本发明的所述第一方面、所述第二方面和/或所述第三方面以及所述第一种实施方式,根据第二种实施方式,将所述直接分组载体构造为由连接到所述虚拟网络的多个计算节点中的一个计算节点托管的集中式载体,或者由所述多个计算节点中的至少部分计算节点托管的分布式载体。
直接分组载体可以多种不同配置进行部署,特别是配置集中式架构和/或分布式架构以适配部署于其中的虚拟网络。根据虚拟网络特性,例如拓扑、目的、任务、负载、虚拟对端的重要性等来适配直接分组载体的架构可以将直接分组载体带来的好处最大化,特别是降低传输数据分组的时延。
结合本发明的所述第一方面、所述第二方面和/或所述第三方面以及任一前述实施方式,根据第三实施方式,所述多个虚拟L3对等地址由用于支持所述直接分组载体的所述虚拟网络的控制器主动生成。
可以提供基础设施、平台和/或功能以通过物理网络建立虚拟网络的虚拟网络控制器可以很容易地识别虚拟网络拓扑,并且因此可以生成多个虚拟L3对等地址以映射连接到虚拟网络的成对虚拟对端之间的路径。
可选地,结合本发明的所述第一方面、所述第二方面和/或所述第三方面以及任一前述实施方式,根据第四种实施方式,在第一次从所述源虚拟对端接收到所述一个或多个数据分组时,在所述映射记录中更新相应的虚拟L3对等地址,所述虚拟L3对等地址针对所述源对端和所述目的对端之间的所述直接对等路径主动生成。
仅当直接分组载体实际需要某虚拟L3对等地址时,才使用某虚拟L3对等地址来更新映射记录,这有助于通过避免包括可能未使用和/或先前未使用的虚拟L3对等地址条目来减少映射记录224中的虚拟L3对等地址条目数量。这样可以显著减少直接分组载体遍历映射记录所需的时间,因而可以减少找到相应虚拟L3对等地址的时延。
可选地,结合本发明的所述第一方面、所述第二方面和/或所述第三方面以及任一前述实施方式,根据第五种实施方式,持续监控所述虚拟网络以检测所述虚拟网络中的一个或多个拓扑变化,所述拓扑变化是以下项中的一项:添加一个或多个虚拟对端,修改一个或多个虚拟对端,以及移除一个或多个虚拟对端。
对虚拟网络进行持续监控可以尽早检测到虚拟网络中的任何拓扑变化,并采取措施尽快适应拓扑变化。
结合本发明的所述第一方面、所述第二方面和/或所述第三方面以及所述第五种实施方式,根据第六种实施方式,在检测到所述一个或多个拓扑变化之后,针对所述多个虚拟对端中的一个或多个虚拟对端重新生成所述虚拟L3对等地址。
可以在虚拟网络拓扑变化之后完成更新虚拟L3对等地址,以维护连接到虚拟网络的虚拟对端之间的所有路径的更新虚拟L3对等地址,从而确保虚拟对端之间的适当、稳定、健壮且可能最佳的连接和数据传输路径。
结合本发明的所述第一方面、所述第二方面和/或所述第三方面以及所述第五种和/或第六种实施方式,根据第七种实施方式,所述映射记录根据所述一个或多个拓扑变化进行更新,所述更新包括以下项中的一项或多项:添加针对所述一个或多个添加虚拟对端生成的所述虚拟L3对等路径;更新针对所述一个或多个修改虚拟对端重新生成的所述虚拟L3对等路径;以及删除所述一个或多个移除虚拟对端的所述虚拟L3对等路径。
通过直接分组载体要使用的最新虚拟L3对等地址来保持映射记录不断最新,这可以确保虚拟对端之间的适当、稳定、健壮且可能最佳的连接和数据传输路径。
可选地,结合本发明的所述第一方面、所述第二方面和/或所述第三方面以及任一前述实施方式,根据第八种实施方式,调整所述一个或多个数据分组以模拟所述虚拟网络上的传统路由。
保持与传统路由的向后兼容性可以很容易地将不支持对等映射的虚拟主机集成到采用直接分组载体和直接对等映射的虚拟网络中。这可以支持从传统路由虚拟网络逐渐迁移到对等映射虚拟网络,因而可以显著简化迁移和/或集成复杂度、工作量和/或成本。
结合本发明的所述第一方面、所述第二方面和/或所述第三方面以及所述第八种实施方式,根据第九种实施方式,所述调整所述一个或多个数据分组由以下项中的一项来完成:托管发送所述一个或多个数据分组的所述源虚拟对端的主机,托管所述一个或多个数据分组发往的所述目的虚拟对端的主机,以及一个或多个中间计算节点,所述中间计算节点从所述源虚拟对端接收所述一个或多个数据分组并将所述一个或多个数据分组转发到所述目的虚拟对端。
支持在数据分组的路径上的不同点处操纵数据分组,这样可以根据虚拟网络的特性、数据分组的属性和/或数据传输的目标很简单而容易地操纵数据分组。
结合本发明的所述第一方面、所述第二方面和/或所述第三方面以及任一前述实施方式,根据第十种实施方式,将一个或多个传统网络路由器映射为支持虚拟L3对等地址范围中的多个虚拟L3对等路径的虚拟对端,每个虚拟L3对等路径分配给不支持所述虚拟网络上的L3对等映射的多个传统主机中的一个。其中,所述一个或多个传统网络路由器是以下项中的一项:物理路由器和传统虚拟路由器。
支持包括传统路由和对等映射的混合虚拟网络部署可以允许将不支持对等映射的传统主机集成到虚拟网络。这允许在部署对等映射虚拟网络实施时,维护和使用可能复杂、昂贵、必要和/或不可替代的传统资源,以改善虚拟网络中其它分段的性能。这可以支持从传统路由虚拟网络逐渐迁移到对等映射虚拟网络,因而可以显著简化迁移和/或集成复杂度、工作量和/或成本。
可选地,结合本发明的所述第一方面、所述第二方面和/或所述第三方面以及任一前述实施方式,根据第十一种实施方式,通过连接到所述一个或多个物理主机的一个或多个边界虚拟对端将所述一个或多个数据分组发送到一个或多个物理主机。所述一个或多个数据分组使用所述一个或多个边界虚拟对端的所述虚拟L3对等地址进行发送,所述一个或多个边界虚拟对端与剩余物理路径地址耦合,所述剩余物理路径地址将路径映射到来自所述一个或多个边界虚拟对端的所述一个或多个物理主机。
支持包括传统路由和对等映射的混合物理和虚拟网络部署可以允许将不支持对等映射的传统主机集成到虚拟网络。这允许在部署对等映射虚拟网络实施时,维护和使用可能复杂、昂贵、必要和/或不可替代的物理资源,以改善虚拟网络中其它分段的性能。
可选地,结合本发明的所述第一方面、所述第二方面和/或所述第三方面以及任一前述实施方式,根据第十二种实施方式,所述虚拟L3对等地址采用部分对等地址和传统地址,其中,所述部分对等地址映射一个或多个中间虚拟对端,所述传统地址通过所述一个或多个中间虚拟对端将用于发送所述一个或多个数据分组的目的对端映射到所述目的对端。
支持包括传统路由和对等映射的混合虚拟网络部署可以允许将不支持对等映射的传统虚拟主机集成到虚拟网络。这允许在部署对等映射虚拟网络实施时,维护和使用可能复杂、昂贵、必要和/或不可替代的传统虚拟资源,以改善虚拟网络中其它分段的性能。具体而言,传统虚拟主机可以提供必要和/或不可替代的网络流量管理功能,例如虚拟网络功能(Virtual Network function,VNF)。
可选地,结合本发明的所述第一方面、所述第二方面和/或所述第三方面以及任一前述实施方式,根据第十三实施方式,适配一个或多个网络流量管理功能来处理映射到所述虚拟L3对等地址的所述一个或多个数据分组。
通过适配网络流量管理功能以与直接对等映射和/或直接分组载体一起进行本地操作,可以显著减少和/或完全避免将网络流量引至传统主机的需求。这可以通过例如在提供防火墙、流量整形、网络业务功能链(Service Function Chaining,SFC)等网络流量管理功能的同时减少时延来显著提高数据传输的性能。
除非另有定义,本文所使用的所有技术和/或科学术语的含义与本发明所属领域的普通技术人员通常理解的相同。尽管本发明实施例的实践或测试中可以使用与本文所描述的方法和材料相似或等同的方法和材料,但是下文描述了示例性方法和/或材料。在有冲突的情况下,以包括定义在内的专利说明书为准。此外,材料、方法和示例仅是说明性的,并非意指必然限制。
附图说明
此处仅作为示例,结合附图描述了本发明的一些实施例。现在具体结合附图,需要强调的是所示的项目作为示例,为了说明性地讨论本发明的实施例。这样,根据附图说明,如何实践本发明实施例对本领域技术人员而言是显而易见的。
图1是根据本发明一些实施例的使用虚拟网络主动映射来通过虚拟网络传输对等数据分组的示例性流程的流程图;
图2是根据本发明一些实施例的使用虚拟网络主动映射来通过虚拟网络传输对等数据分组的示例性系统的示意图;
图3是根据本发明一些实施例的使用虚拟网络主动映射来通过虚拟网络传输对等数据分组的示例性系统的实施例的示意图;
图4是根据本发明一些实施例的通过包括传统路由器的虚拟网络传输对等数据分组的示例性系统的示意图;
图5是根据本发明一些实施例的通过包括物理主机的虚拟网络传输对等数据分组的示例性系统的示意图;
图6是根据本发明一些实施例的通过包括提供VNF功能的传统主机的虚拟网络传输对等数据分组的示例性系统的示意图;以及
图7是根据本发明一些实施例的通过促进适用于对等映射的VNF功能的虚拟网络传输对等数据分组的示例性系统的示意图。
具体实施方式
本发明在其一些实施例中涉及通过虚拟网络传输对等数据分组,更具体地,不仅仅涉及通过使用虚拟网络主动映射的虚拟网络传输对等数据分组。
本发明提出了在通过虚拟网络连接的多个虚拟对端之间高效传输数据分组的设备、系统和方法,其中虚拟网络例如为通过物理网络提供逻辑网络抽象的SDN。虚拟对端可以包括多个网络实体,例如,虚拟主机、虚拟路由器、虚拟路由器接口、通过虚拟端点映射的物理主机、通过虚拟端点映射的物理路由器、容器、映射一个或多个虚拟和/或硬件资源的虚拟接口等。在虚拟网络中实施的直接分组载体可以在连接到该直接分组载体的虚拟对端之间直接传输一个或多个数据分组。该直接分组载体可以使用虚拟层3(L3)对等地址来传输数据分组,这些虚拟L3对等地址根据虚拟网络拓扑(预先)主动生成,例如计算、解析、定义、设置等。可选地,所生成的虚拟层3(L3)对等地址可以选择为呈现例如时延、服务质量(Quality of Service,QoS)等改进的一个或多个网络传输特性的相应一对虚拟对端之间的最佳路径。可选地,一个或多个虚拟L3对等地址被导出和/或类似于(传统)虚拟地址,例如,虚拟互联网协议(Internet Protocol,IP)地址等。直接分组载体可以创建、更新和/或维护用于存储生成的虚拟L3对等地址的映射记录,例如,列表、文件、数据库、表格等。从源虚拟对端接收一个或多个去往目的虚拟对端的数据分组时,直接分组载体可以访问映射记录并检索映射源虚拟对端和目的虚拟对端之间的路径的虚拟L3对等地址。通过检索到的虚拟L3对等地址,直接分组载体可以直接将数据分组传输到目的虚拟对端。
可选地,持续监控虚拟网络以检测拓扑变化。例如,在拓扑变化时,添加一个或多个虚拟对端,移除一个或多个虚拟对端和/或修改一个或多个虚拟对端。在检测到变化的情况下,可以重新生成可能受拓扑变化影响的映射中的一个或多个虚拟L3对等地址,从而反映改变的拓扑。
可选地,将数据分组传输到目的虚拟对端之前,直接分组载体调整(操纵)从源虚拟对端接收到的一个或多个数据分组。直接分组载体可以调整数据分组以模拟虚拟网络上的传统路由,以便保持与虚拟网络上的传统路由的兼容性。
根据本发明一些实施例,直接分组载体支持将数据分组传输到通过一个或多个传统路由器连接到虚拟网络的一个或多个传统主机,例如,传统主机不支持L3对等映射的物理路由器和/或虚拟路由器。传统路由器可以分配一定范围的虚拟L3对等地址,每个虚拟L3对等地址映射其中一个传统主机,使得传统路由器可以将在分配范围内的虚拟L3对等地址转化为访问对应传统主机的传统地址。
根据本发明一些实施例,直接分组载体支持将数据分组传输到一个或多个物理主机,例如,连接到驻留在虚拟网络上的边界虚拟对端的计算节点、计算机、物理路由器等。直接分组载体可以使用边界虚拟对端的虚拟L3对等地址和将边界虚拟对端的剩余路径映射到一个或多个物理主机的物理地址。
根据本发明一些实施例,直接分组载体可以使用包括部分对等地址和传统地址的虚拟L3对等地址,以将数据分组传送和/或传输给一个或多个目的对端或从一个或多个目的对端传送和/或传输数据分组,例如,不直接与直接分组载体一起操作的传统虚拟对端。具体而言,目的对端可以提供一个或多个网络流量管理功能,例如,诸如防火墙、流量整形、网络SFC等的虚拟网络功能(Virtual Network Function,VNF)。
根据本发明一些实施例,一个或多个网络流量管理功能,例如,诸如防火墙、流量整形、网络SFC等的VNF适用于与直接L3对等映射和直接分组载体使用的直接L3对等数据分组传输一起进行本地操作。
与虚拟网络的当前现有实施相比,通过虚拟网络的直接数据分组传输可能具有明显的优势。典型的虚拟网络实施可以使用传统的方法来解析网络地址,例如,连接到虚拟网络的虚拟对端的虚拟和/或物理IP地址。因此,现有虚拟网络可以使用可能与物理路由器操作非常类似的虚拟路由器,使得在每次经过虚拟路由器(HOP)期间,虚拟路由器解析下一个HOP的地址。
通过部署直接连接虚拟网络中的所有虚拟对端的直接分组载体并使用预先生成的用于传输数据分组的虚拟L3对等地址,可以显著减少数据分组传输的时延。另外,由于对等映射、数据传输以及数据传输的可靠性、稳定性和/或健壮性可以显著提升。对等映射还可以更方便地对虚拟网络中检测到的故障、问题和/或降级操作场景进行调测和/或故障隔离,因为当通过可以提供每个数据传输路径的直接监控的直接分组载体传输数据时,可以很容易地隔离数据传输路径。
此外,直接分组载体和直接映射实施可以提供与现有虚拟网络主机的兼容性。直接分组载体可以通过操纵数据分组来表现为使用传统路由进行路由的数据分组来维持兼容性。为了保持兼容性,直接分组载体还可以采用将对等映射与传统映射、物理映射等进行组合的虚拟L3对等寻址。保持与现有虚拟和/或物理主机的兼容性可以方便地从当前虚拟网络实施迁移到直接对等映射虚拟网络。这也可以允许使用直接对等映射的虚拟对端利用服务和/或功能,例如,可能由传统虚拟和/或物理主机提供的网络流量管理功能。
此外,通过适配网络流量管理功能以与直接对等映射一起进行本地操作,采用直接分组载体和直接对等映射的虚拟网络可以提供增强网络功能,同时保持其高性能数据传输率。
在详细解释本发明至少一个实施例之前,应当理解的是,本发明在其应用中不一定限于以下描述中阐述的和/或附图和/或示例中示出的组件的构造和布置和/或方法的细节。本发明可以包含其它实施例或以各种方式实践或执行。
本发明可以是一种系统、一种方法和/或一种计算机程序产品。该计算机程序产品可以包括其上具有用于使处理器执行本发明各方面的计算机可读程序指令的计算机可读存储介质。
计算机可读存储介质可以是能够保留和存储供指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述几项任何合适的组合。
本文所述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者通过互联网、局域网、广域网和/或无线网络等网络下载到外部计算机或外部存储设备。
计算机可读程序指令可以完全在用户计算机上执行,部分在诸如用户设备(userequipment,UE)的用户计算机上执行,作为一个独立的软件包执行,部分在用户计算机上执行并部分在诸如网络装置的远程计算机上执行,或者完全在远程计算机或服务器上执行。在后面的场景中,远程计算机可以通过包括局域网(local area network,LAN)或广域网(wide area network,WAN)的任何类型的网络连接到用户计算机,或者可以连接到外部计算机(例如,通过使用互联网服务提供商的互联网)。在一些实施例中,包括可编程逻辑电路、现场可编程门阵列(field-programmable gate array,FPGA)或可编程逻辑阵列(programmable logic array,PLA)等的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,从而执行本发明的各方面。
本文结合根据本发明实施例的提供方法、装置(系统)和计算机程序产品的流程图和/或方框图来描述本发明的各方面。应当理解的是,流程图和/或方框图中的每个方框以及流程图和/或方框图中的方框组合可以由计算机可读程序指令实施。
附图中的流程图和方框图示出了根据本发明各种实施例的系统、方法和计算机程序产品的可能实施方式的架构、功能和操作。就此而言,流程图或方框图中的每个方框可以表示指令的模块、段或部分,包括用于实施指定逻辑功能的一个或多个可执行指令。在一些替代实施方式中,方框中提到的各项功能可以不按照附图中标注的顺序发生。例如,连续示出的两个方框实际上可以基本同时执行,或者方框有时可以相反的顺序执行,这取决于所涉及的功能。还将注意到,方框图和/或流程图中的每个方框以及方框图和/或流程图中的方框组合可以由基于硬件的专用系统来实施,这些系统执行指定的功能或动作,或者执行专用硬件和计算机指令的组合。
现在参考图1,图1是根据本发明一些实施例的使用虚拟网络主动映射来通过虚拟网络传输对等数据分组的示例性流程的流程图。执行流程100以在通过虚拟网络,例如通过物理网络提供逻辑网络抽象的SDN,连接的多个虚拟对端之间传输数据分组。虚拟对端可以包括多个网络实体,例如,虚拟主机、虚拟路由器、虚拟路由器接口、通过虚拟端点映射的物理主机、通过虚拟端点映射的物理路由器、容器、映射一个或多个虚拟和/或硬件资源的虚拟接口等。多个虚拟层3(L3)对等地址可以根据虚拟网络拓扑(预先)主动生成,例如计算、解析、定义、设置等。根据虚拟网络拓扑,其中每个虚拟层3(L3)对等地址映射一对虚拟对端之间的直接对等路径。结果,虚拟网络中的每对虚拟对端之间的每个路径预先已知并且可用于直接分组载体。可选地,所生成的虚拟层3(L3)对等地址可以是呈现例如时延、服务质量(Quality of Service,QoS)等改进的一个或多个网络传输特性的相应一对虚拟对端之间的最佳路径。直接分组载体还可以创建、更新和/或维护包括所生成的虚拟L3对等地址的映射记录。从源虚拟对端接收到去往目的虚拟对端的一个或多个数据分组时,直接分组载体可以访问映射记录以检索映射源虚拟对端与目的虚拟对端之间的路径的虚拟L3对等地址。通过检索到的虚拟L3对等地址,直接分组载体可以直接将数据分组传输到目的虚拟对端。
现在参考图2,图2是根据本发明一些实施例的使用虚拟网络主动映射来通过虚拟网络传输对等数据分组的示例性系统的示意图。示例性系统200包括通过物理网络204建立逻辑网络抽象的虚拟网络212。系统200可以包括一个或多个计算节点202,例如,202A、202B至202N。每个计算节点202可以包括一个或多个处理器(同构或异构),这些处理器可以用于并行处理,作为集群和/或作为一个或多个分布式核处理单元、连接到网络204和程序存储器的一个或多个网络接口,例如,包括易失性介质(例如,随机存取存储器(Random AccessMemory,RAM)等)和/或非易失性介质(例如,硬盘、闪存阵列等)的存储介质等程序存储器。
每个计算节点202可以托管一个或多个虚拟对端210,例如,虚拟主机、虚拟路由器、虚拟路由器接口、通过虚拟端点映射的物理主机、通过虚拟端点映射的物理路由器、容器、映射一个或多个虚拟和/或硬件资源的虚拟接口等。一个或多个计算节点202可以执行托管、运行和/或控制一个或多个虚拟机(Virtual Machine,VM)的虚拟机监视器。虚拟网络212还可以包括云计算和/或联网资源和/或服务,例如,软件即服务(Software as aService,SaaS)、平台即服务(Platform as a Service,PaaS)、网络即服务(networking-as-a-service,NaaS)等。
一个或多个计算节点202可以执行一个或多个软件模块,例如,进程、应用、代理、程式、服务、插件、脚本、附加软件等,每个软件模块包括多个程序指令。程序指令可以由计算节点202的处理器从程序存储器执行。
计算节点202可以执行虚拟网络控制器222,该虚拟网络控制器222包括一个或多个软件模块,例如,用于为虚拟网络212提供平台、基础设施等以及控制虚拟网络212的开放式虚拟网络(Open Virtual Network,OVN)、DragonFlow等。虚拟网络控制器222可以为集中式,即由其中一个计算节点202执行;可以为分布式,即由多个计算节点202执行,和/或可以为集中式和分布式的组合。例如,如本领域所知,虚拟网络控制器222可以例如支持网络拓扑配置、定义、建立和/或缩放,提供交换和/或路由服务,解析地址,控制QoS,传输数据等。
计算节点202还可以执行包括一个或多个软件模块的直接分组载体220,用于直接在虚拟对端210之间传输数据分组。直接分组载体220直接连接到驻留在(连接)虚拟网络212的所有虚拟对端210。直接分组载体220可以为集中式,即由其中一个计算节点202执行;可以为分布式,即由多个计算节点202执行,和/或可以为集中式和分布式的组合。直接分组载体220可以对例如包括多个虚拟L3对等地址的列表、文件、数据库、表格等映射记录224进行创建、更新、维护等。其中每个虚拟L3对等地址根据虚拟网络212的拓扑来映射一对虚拟对端210之间的直接对等路径。
直接分组载体220和虚拟网络控制器222可以通过一个或多个接口进行交互或通信,例如,通过系统调用、函数调用、应用编程接口(Application Programming Interface,API)功能、消息系统等。
如102处所示,流程100开始于获取虚拟网络212的拓扑。识别虚拟网络212的拓扑通常可以由本领域已知的控制虚拟网络212的虚拟网络控制器222来完成。可选地,直接分组载体220从虚拟网络控制器222获取虚拟网络212的拓扑。
如104处所示,流程100继续主动生成,例如计算、设置、定义和/或解析多个虚拟L3对等地址,每个虚拟L3对等地址根据虚拟网络212的拓扑,映射一对虚拟对端210之间的直接对等路径。生成多个虚拟L3对等地址通常可以由虚拟网络控制器222完成。然后,虚拟网络控制器222可以将所生成的虚拟L3对等地址提供给直接分组载体220。可选地,直接分组载体220根据从虚拟网络控制器222获取的虚拟网络212的拓扑,生成多个虚拟L3对等地址。
可选地,虚拟网络控制器222持续监控虚拟网络212以检测和/或被提示虚拟网络212的拓扑变化,例如,添加一个或多个虚拟对端210,移除一个或多个虚拟对端210,修改一个或多个虚拟对端210等。监控可以由虚拟网络控制器222完成。在检测到虚拟网络212的拓扑中的一个或多个变化时,虚拟网络控制器222可以生成、移除和/或更新一个或多个虚拟L3对等地址,从而反映虚拟网络212的拓扑变化。例如,假设移除了一个或多个虚拟对端210,则虚拟网络控制器222可以移除一个或多个虚拟L3对等地址,这些虚拟L3对等地址映射所移除的虚拟对端210与一个或多个其它虚拟对端210之间的路径。在另一示例中,在添加一个或多个虚拟对端210的情况下,虚拟网络控制器222可以计算(生成)映射一个或多个虚拟L3对等地址,这些虚拟L3对等地址映射添加的虚拟对端210与一个或多个其它虚拟对端210之间的路径。在另一示例中,在虚拟网络212中添加虚拟路由器210的情况下,虚拟网络控制器222可以针对一个或多个虚拟对端210之间的路径重新计算(重新生成)一个或多个虚拟L3对等地址,这些虚拟L3对等地址可以通过添加的虚拟路由器210进行路由。
在虚拟L3对等地址由直接分组载体220生成的情况下,直接分组载体220可以计算(生成)一个或多个虚拟L3对等地址,以反映虚拟网络控制器222检测到并上报给直接分组载体220的虚拟网络212的拓扑变化。
直接分组载体220可以利用生成的虚拟L3对等地址来创建、维护和/或更新映射记录224,这些虚拟L3对等地址映射虚拟对端210之间的路径。直接分组载体220可以更新映射记录224以反映虚拟网络控制器222检测到的虚拟网络212的拓扑变化。例如,直接分组载体220可以移除一个或多个虚拟L3对等地址条目,这些虚拟L3对等地址条目映射所移除的虚拟对端210与一个或多个其它虚拟对端210之间的路径。直接分组载体220还可以添加一个或多个虚拟L3对等地址条目,这些虚拟L3对等地址条目映射添加的虚拟对端210与一个或多个其它虚拟对端210之间的路径。在路径因拓扑变化而改变的情况下,例如,添加和/或移除一个或多个虚拟路由器210,直接分组载体220还可以更新映射虚拟对端210之间的路径的一个或多个虚拟L3对等地址条目。
如106处所示,直接分组载体220从虚拟对端210的源虚拟对端,例如,源虚拟对端210A,接收一个或多个数据分组。接收到的数据分组去往虚拟对端210的目的虚拟对端,例如,目的虚拟对端210B。
如108处所示,直接分组载体220可以访问包括映射虚拟对端210之间的路径的虚拟L3对等地址的映射记录224,从而搜索映射源虚拟对端210和目的虚拟对端210之间的路径的虚拟L3对等地址。继续前面介绍的示例,直接分组载体220可以访问映射记录224,从而搜索映射源虚拟对端210A和目的虚拟对端210B之间的路径的虚拟L3对等地址。
可选地,映射源虚拟对端210,例如,210A,和目的虚拟对端210,例如,210B,之间的路径的虚拟L3对等地址仅在直接分组载体220第一次需要该虚拟L3对等地址时在映射记录224中更新。这意味着,虽然预先(主动)生成映射从源虚拟对端210A到目的虚拟对端210B的路径的虚拟L3对等地址,但是该虚拟L3对等地址在映射记录224中可能还未可用(更新)。直接分组载体220可以在源虚拟对端210A第一次将数据分组发送到目的虚拟对端210B时,在映射记录224中更新该虚拟L3对等地址。这有助于通过避免包括可能未使用和/或先前未使用的虚拟L3对等地址条目来减少映射记录224的大小,即减少映射记录224中的虚拟L3对等地址条目数量。通过减少映射记录224中的虚拟L3对等地址条目数量,可以显著减少直接分组载体220遍历映射记录224所需的时间,因而可以减少找到相应虚拟L3对等地址的时延。这样可以显著减少在某源虚拟对端和某目的虚拟对端之间传输数据分组的总体时延。
如110处所示,直接分组载体220从映射记录224中检索虚拟L3对等地址,该虚拟L3对等地址映射从源虚拟对端210A到目的虚拟对端210B的路径。
如112处所示,直接分组载体220将从源虚拟对端210A接收到的数据分组传输到目的虚拟对端210B。
可选地,在将数据分组传输到目的虚拟对端210,例如,210B,之前,直接分组载体220调整(操纵)从源虚拟对端210,例如,210A,接收到的一个或多个数据分组。直接分组载体220可以调整数据分组以模拟虚拟网络212上的传统路由。这有助于保持与传统路由的兼容性并且避免虚拟对端210B中可能需要的修改以便适用于与直接分组载体220一起操作。通过操纵数据分组来表现为通过使用传统路由的虚拟网络212传输的数据分组,虚拟对端210B如预期的那样使用传统路由接收数据分组,因而可能不需要进行修改就与直接分组载体220一起操作。例如,在传统路由中,数据分组中的一个或多个传统字段可以指示与传统网络有关的一个或多个属性、特性和/或操作条件。尽管当使用直接分组载体220将数据分组从源虚拟对端210A传输到目的虚拟对端210B时,一个或多个传统字段可能不起任何作用,但是虚拟对端210B可能需要(期望)传统字段保持正常操作,例如,将数据分组标识为有效。传统字段可以包括例如指示例如在分组死亡前允许经过的沿网络204和/或(传统)虚拟网络212的路由器、计算机和/或设备的多个HOP的生存时间(Time to Live,TTL)字段。在另一示例中,传统字段可以包括指示数据分组经过的始发路由器、数据分组经过的路由器等的媒体访问控制(Media Access Control,MAC)地址的字段。
对数据分组中的字段的操纵可以由直接数据载体220完成,或者部分在例如托管源虚拟对端210A的计算节点202A处、托管目的虚拟对端210B的计算节点202N处和/或一个或多个中间计算节点202处执行。中间计算节点202可以从源虚拟对端210A接收数据分组并将数据分组转发到目的虚拟对端210B。
现在参考图3,图3是根据本发明一些实施例的使用虚拟网络主动映射来通过虚拟网络传输对等数据分组的示例性系统的实施例的示意图。示例性系统300包括诸如虚拟网络212的虚拟网络,该虚拟网络通过诸如物理网络204的物理网络204A来建立逻辑网络抽象。示例性物理网络204A可以包括四个子网,即子网1 204_1、子网2 204_2、子网3 204_3和子网4 204_4。这四个子网204_1、204_2、204_3和204_4通过三个路由器彼此连接,路由器1302A连接子网1 204_1和子网2 204_2,路由器2 302B连接子网2 204_2和子网3 204_3,路由器3 302C连接子网3 204_3和子网4 204_4。
系统300可以包括一个或多个诸如计算节点202的计算节点,例如,托管一个或多个诸如虚拟对端210的计算节点202C、202D、202E和202F,虚拟对端210例如分别为210C、210D、210E和210F。计算节点202C、202D、202E和202F各自驻留在网络204A的不同子网上。计算节点202C连接子网1 204_1,计算节点202D连接子网2 204_2,计算节点202E连接子网3204_3,计算节点202F连接子网4 204_4。
可以由诸如虚拟网络控制器222的虚拟网络控制器来提供、控制和/或管理虚拟网络212。诸如直接分组载体220的直接分组载体可以用于在虚拟对端210C、210D、210E和/或210F之间传输一个或多个数据分组。直接分组载体220还可以创建、维护和/或更新诸如映射记录224的映射记录。
如前所述,虽然当使用直接分组载体220传输数据分组时数据分组中可能不需要TTL字段,但是虚拟对端210C和/或210D可能需要TTL字段才能正确操作。因此,直接分组载体220可以调整在虚拟对端210C和/或210D之间传输的一个或多个数据分组中的TTL字段,以保持与网络204A上的传统路由的兼容性。
在第一个示例中,为虚拟网络212提供平台并控制虚拟网络212的虚拟网络控制器222是DragonFlow。直接分组载体220可以使用DragonFlow虚拟网络控制器222和/或由DragonFlow虚拟网络控制器222采用的开放虚拟交换器(Open Virtual Switch,OVS)的语法惯例来应用一组规则。该组规则可以指示根据源和目的虚拟对端210完成对一个或多个传输的分组的调整,如下文规则集1所述。要注意的是,规则集1可以呈现部分示例性设置。
规则集1:
(1)Source:202C,Dest:202F
Actions:src_eth←ROUTER3,dst_eth←202F,TTL←TTL-3
(2)Source:202F,Dest:202C
Actions:src_eth←ROUTER1,dst_eth←202C,TTL←TTL-3
(3)Source:202C,Dest:202D
Actions:src_eth←ROUTER1,dst_eth←202D,TTL←TTL-1
(4)Source:202D,Dest:202C
Actions:src_eth←ROUTER1,dst_eth←202C,TTL←TTL-1
(5)Source:202C,Dest:202E
Actions:src_eth←ROUTER2,dst_eth←202E,TTL←TTL-2
(6)Source:202E,Dest:202C
Actions:src_eth←ROUTER1,dst_eth←202C,TTL←TTL-2
(7)Source:202F,Dest:202D
Actions:src_eth←ROUTER2,dst_eth←202D,TTL←TTL-2
(8)Source:202D,Dest:202F
Actions:src_eth←ROUTER3,dst_eth←202F,TTL←TTL-2
(9)Source:202F,Dest:202E
Actions:src_eth←ROUTER3,dst_eth←202E,TTL←TTL-1
(10)Source:202E,Dest:202F
Actions:src_eth←ROUTER3,dst_eth←202F,TTL←TTL-1
(11)Source:202D,Dest:202E
Actions:src_eth←ROUTER2,dst_eth←202E,TTL←TTL-1
(12)Source:202E,Dest:202D
Actions:src_eth←ROUTER2,dst_eth←202D,TTL←TTL-1
如图所示,网络204A的拓扑反应在规则集1中规定的规则中。具体而言,规则集1指示每个虚拟对端210C至210F根据数据分组源所期望的TTL字段的值。因此,在识别源和/或目的虚拟对端210C、210D、210E和/或210F之后,直接数据载体220可以根据规则集1操纵一个或多个数据分组中的TTL字段。例如,直接数据载体220可以将一个或多个数据分组中的TTL字段操纵为TTL-3的值,该一个或多个数据分组发送自计算节点202C托管的虚拟对端210C并且去往计算节点202F托管的虚拟对端210F。
规则集1还可以为每个虚拟对端210C至210F指定始发路由器字段的值。因此,在识别源和/或目的虚拟对端210C、210D、210E和/或210F之后,直接数据载体220可以根据规则集1操纵一个或多个数据分组中的始发路由器字段。例如,直接数据载体220可以将一个或多个数据分组中的始发路由器字段操纵为路由器2的值,该一个或多个数据分组发送自计算节点202F托管的虚拟对端210F并且去往计算节点202D托管的虚拟对端210D。
在另一示例中,为虚拟网络212提供平台并控制虚拟网络212的虚拟网络控制器222是OVN。直接分组载体220可以使用OVN虚拟网络控制器222和/或由OVN虚拟网络控制器222采用的OVS的语法惯例来应用一组规则。该组规则可以指示根据源和目的虚拟对端210完成对一个或多个传输的分组的调整,如下文规则集2所述。要注意的是,规则集2可以呈现部分示例性设置。
规则集2:
逻辑流:
OVS流:
其中,括号<>中的值在配置虚拟网络212时主动生成并且可用(已知)。简洁起见,仅提供用于虚拟对端210C和210F的规则,而不提供用于虚拟对端202D和210E的规则。
如图所示,网络204A的拓扑反映在规则集2中指定的规则中。直接数据载体220可以如针对DragonFlow实施的描述,对OVN实施应用相同的技术。
根据本发明一些实施例,诸如直接分组载体212的直接分组载体支持将数据分组传输到一个或多个传统主机,该一个或多个传统主机通过一个或多个传统物理或虚拟路由器连接到诸如虚拟网络212的虚拟网络,其中,传统主机不支持L3对等映射。这样可以允许向后兼容传统虚拟网络,比如,包括一个或多个传统主机的虚拟网络212。
现在参考图4,图4是根据本发明一些实施例的通过包括传统路由器的虚拟网络传输对等数据分组的示例性系统的示意图。示例性系统400包括诸如虚拟网络212的虚拟网络,该虚拟网络通过诸如物理网络204的物理网络建立逻辑网络抽象。系统400可以包括诸如计算节点202的一个或多个计算节点,例如,计算节点202A至202N,其中每个计算节点托管诸如虚拟对端210的一个或多个虚拟对端。可以由诸如虚拟网络控制器222的虚拟网络控制器来提供、控制和/或管理虚拟网络212。诸如直接分组载体220的直接分组载体可以用于在虚拟对端210之间传输一个或多个数据分组。直接分组载体220还可以创建、维护和/或更新诸如映射记录224的映射记录。系统400还可以包括一个或多个传统主机402,例如,驻留在(连接到)网络204的物理设备、物理路由器、虚拟主机、虚拟路由器等。尽管不支持直接分组载体220所控制的直接数据分组传输,但是传统主机402可以通过例如物理路由器、传统虚拟路由器等一个或多个传统网络路由器210G映射到和/或映射自虚拟网络212。
传统路由器210G是诸如虚拟对端210的虚拟对端,该虚拟对端能够与直接分组载体220一起操作,从而将数据分组传输到其它虚拟对端210和/或从其它虚拟对端210传输数据分组。虚拟L3对等地址范围可以由直接分组载体220和/或虚拟网络控制器222生成,从而通过传统路由器210G来映射每个传统主机402。直接分组载体220和/或虚拟网络控制器222还可以向传统路由器210G分配虚拟L3对等地址范围。虚拟L3对等地址范围可以是连续的、非连续的和/或两者的组合。虚拟L3对等地址范围还可以包括被零星分配的一个或多个L3对等地址,即离散的L3对等地址。传统路由器210G还可以用于将去往分配范围内的虚拟L3对等地址的数据分组路由到对应的传统主机。因此,当传统路由器210G接收到去往分配范围内的某个虚拟L3对等地址的一个或多个数据分组时,传统路由器210G可以将数据分组转发到关联于某个虚拟L3对等地址的传统主机402。传统路由器210G可以使用例如物理类路由,诸如OVN控制器、OpenDaylight控制器等的SDN控制器等一个或多个传统映射/路由机制、实施方式等来将数据分组映射和/或路由到诸如传统主机402的一个或多个传统主机。
根据本发明一些实施例,诸如直接分组载体212的直接分组载体支持将数据分组传输到一个或多个物理主机,例如,连接到诸如虚拟对端210的边界虚拟对端的计算节点、计算机、物理路由器等,该边界虚拟对端连接到诸如虚拟网络212的虚拟网络。
现在参考图5,图5是根据本发明一些实施例的通过包括物理主机的虚拟网络传输对等数据分组的示例性系统的示意图。示例性系统500包括诸如虚拟网络212的虚拟网络,该虚拟网络通过诸如物理网络204的物理网络建立逻辑网络抽象。系统500可以包括诸如计算节点202的一个或多个计算节点,例如,计算节点202A至202N,其中每个计算节点托管诸如虚拟对端210的一个或多个虚拟对端。可以由诸如虚拟网络控制器222的虚拟网络控制器来提供、控制和/或管理虚拟网络212。诸如直接分组载体220的直接分组载体可以用于在虚拟对端210之间传输一个或多个数据分组。直接分组载体220还可以创建、维护和/或更新诸如映射记录224的映射记录。系统500还包括一个或多个物理主机502,例如,连接到网络204的物理设备、计算节点、计算机等。尽管不支持由直接分组载体220控制的直接数据分组传输,但是物理主机502可以连接到能够与直接分组载体220一起操作的一个或多个边界虚拟对端210H,从而将数据分组传输到其它虚拟对端210和/或从其它虚拟对端210传输数据分组。直接分组载体220可以通过边界虚拟对端210H的虚拟L3对等地址将一个或多个数据分组传输给一个或多个物理主机502,从而将数据分组发送到与目的物理主机502的物理地址耦合的边界虚拟对端210H,该物理地址例如是IP地址。目的物理主机502的物理地址可以由虚拟网络控制器222生成,例如,解析、计算、设置、定义等,该虚拟网络控制器222可以将生成的物理地址上报给直接分组载体220。
根据本发明一些实施例,诸如直接分组载体212的直接分组载体可以使用包括部分对等地址和传统地址的虚拟L3对等地址,以将数据分组传送和/或传输给一个或多个目的对端或从一个或多个目的对端传送和/或传输数据分组,例如,不直接与直接分组载体212一起操作的传统虚拟对端。具体而言,目的对端可以提供一个或多个网络流量管理功能,例如,诸如防火墙、流量整形、网络SFC等的VNF。这可以允许诸如虚拟对端210的虚拟对端利用网络流量管理功能,即使该网络流量管理功能由不与直接分组载体212一起操作的传统虚拟对端提供。
现在参考图6,图6是根据本发明一些实施例的通过包括提供虚拟网络功能(Virtual Network function,VNF)的传统主机的虚拟网络传输对等数据分组的示例性系统的示意图。示例性系统600包括诸如虚拟网络212的虚拟网络,该虚拟网络通过诸如物理网络204的物理网络建立逻辑网络抽象。系统600可以包括诸如计算节点202的一个或多个计算节点,例如,计算节点202A至202N,其中每个计算节点托管诸如虚拟对端210的一个或多个虚拟对端。可以由诸如虚拟网络控制器222的虚拟网络控制器来提供、控制和/或管理虚拟网络212。诸如直接分组载体220的直接分组载体可以用于在虚拟对端210之间传输一个或多个数据分组。直接分组载体220还可以创建、维护和/或更新诸如映射记录224的映射记录。系统600还包括一个或多个目的对端,例如,传统虚拟主机620A。具体而言,传统主机602A提供一个或多个网络流量管理功能620,例如,诸如防火墙、流量整形、网络SFC等的VNF。当传统虚拟主机602A连接到虚拟网络212时,传统虚拟主机602A可以不直接与直接分组载体220一起操作。但是,直接分组载体220可以通过一个或多个中间虚拟对端210I将数据分组传送和/或传输给传统虚拟主机602A或从传统虚拟主机602A传送和/或传输数据分组。直接分组载体220可以使用包括部分对等地址和传统地址的已生成的虚拟L3对等地址。虽然部分对等地址可以映射中间虚拟对端210I,但传统地址可以映射中间虚拟对端210I和传统虚拟主机602A之间的剩余路径。根据本发明一些实施例,一个或多个网络流量管理功能,例如,VNF适用于与直接L3对等地址和诸如直接分组载体220的直接分组载体使用的直接L3对等数据分组传输一起进行操作。这可以允许诸如虚拟对端210的虚拟对端利用适用于直接数据分组传输的网络流量管理功能。适配的网络流量管理功能可以在直接数据分组传输虚拟网络实施中进行本地集成、促进和/或实施,并因此可以提供与传统虚拟和/或物理网络相比较高的传输速率。
现在参考图7,图7是根据本发明一些实施例的通过促进适用于对等映射的VNF功能的虚拟网络传输对等数据分组的示例性系统的示意图。示例性系统700包括诸如虚拟网络212的虚拟网络,该虚拟网络通过诸如物理网络204的物理网络建立逻辑网络抽象。系统700可以包括诸如计算节点202的一个或多个计算节点,例如,计算节点202A至202N,其中每个计算节点托管诸如虚拟对端210的一个或多个虚拟对端。可以由诸如虚拟网络控制器222的虚拟网络控制器来提供、控制和/或管理虚拟网络212。诸如直接分组载体220的直接分组载体可以用于在虚拟对端210之间传输一个或多个数据分组。直接分组载体220还可以创建、维护和/或更新诸如映射记录224的映射记录。
一个或多个诸如网络流量管理功能620的网络流量管理功能,例如,诸如防火墙、流量整形、网络SFC等的VNF可适用于在一个或多个诸如虚拟对端210J的虚拟对端210上操作。网络流量管理功能620A可适用于例如使用虚拟L3对等地址与直接分组载体220一起操作。这可以允许虚拟对端210使用直接分组载体220来传输数据分组给虚拟对端210J和/或从虚拟对端210J传输数据分组,该虚拟对端210J托管、执行、服务和/或提供适配的网络流量管理功能620A。
对本发明各个实施例的描述只是为了说明的目的,而这些描述并不旨在穷举或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,本领域技术人员可以清楚理解许多修改和变化。相比于市场上可找到的技术,选择此处使用的术语可最好地解释本实施例的原理、实际应用或技术进步,或使本领域其他技术人员理解此处公开的实施例。
预计在从本申请走向成熟的专利有效期间,将开发许多相关的虚拟网络技术,并且术语“虚拟网络”的范围旨在先验地包括所有这些新技术。
本文所使用的术语“约”是指±10%。
术语“包括”以及“有”表示“包括但不限于”。这个术语包括了术语“由……组成”以及“本质上由……组成”。
短语“主要由……组成”意指组成物或方法可以包含额外成分和/或步骤,但前提是所述额外成分和/或步骤不会实质上改变所要求的组成物或方法的基本和新颖特性。
除非上下文中另有明确说明,此处使用的单数形式“一个”和“所述”包括复数含义。例如,术语“一个复合物”或“至少一个复合物”可以包括多个复合物,包括其混合物。
此处使用的词“示例性的”表示“作为一个例子、示例或说明”。任何“示例性的”实施例并不一定理解为优先于或优越于其它实施例,和/或并不排除其它实施例特点的结合。
此处使用的词语“可选地”表示“在一些实施例中提供且在其它实施例中没有提供”。本发明的任意特定的实施例可以包含多个“可选的”特征,除非这些特征相互矛盾。
在整个本申请案中,本发明的各种实施例可以范围格式呈现。应理解,范围格式的描述仅为了方便和简洁起见,并且不应该被解释为对本发明范围的固定限制。因此,对范围的描述应被认为是已经具体地公开所有可能的子范围以及所述范围内的个别数值。例如,对例如从1到6的范围的描述应被认为是已经具体地公开子范围,例如从1到3、从1到4、从1到5、从2到4、从2到6、从3到6等,以及所述范围内的个别数字,例如1、2、3、4、5和6。不管范围的宽度如何,这都适用。
当本文指出一个数字范围时,表示包含了在指出的这个范围内的任意所列举的数字(分数或整数)。短语“在第一个所指示的数和第二个所指示的数范围内”以及“从第一个所指示的数到第二个所指示的数范围内”在本文可互换使用,表示包括第一个和第二个所指示的数以及二者之间所有的分数和整数。
应了解,为简洁起见在单独实施例的上下文中描述的本发明的某些特征还可以组合提供于单个实施例中。相反地,为简洁起见在单个实施例的上下文中描述的本发明的各个特征也可以单独地或以任何合适的子组合或作为本发明的任何合适的其它实施例提供。在各个实施例的上下文中描述的某些特征未视为那些实施例的基本特征,除非没有这些元素所述实施例无效。
此处,本说明书中提及的所有出版物、专利和专利说明书都通过引用本说明书结合在本说明书中,同样,每个单独的出版物、专利或专利说明书也具体且单独地结合在此。此外,对本申请的任何参考的引用或识别不可当做是允许这样的参考在现有技术中优先于本发明。就使用节标题而言,不应该将节标题理解成必要的限定。
Claims (16)
1.一种使用虚拟网络主动映射来通过所述虚拟网络传输网络层(L3)对等数据分组的系统,其特征在于,包括:
连接多个虚拟对端的虚拟网络的直接分组载体,所述直接分组载体适用于:
从所述多个虚拟对端的源虚拟对端接收去往所述多个虚拟对端的目的虚拟对端的至少一个数据分组;
访问包括多个虚拟L3对等地址的映射记录,每个虚拟L3对等地址映射所述多个虚拟对端中的一对虚拟对端之间的直接对等路径;
从所述映射记录中检索映射所述源对端和所述目的对端之间的所述直接对等路径的所述多个虚拟L3对等地址中的相应一个;以及
使用所述检索的虚拟L3对等地址将所述至少一个数据分组传输到所述目的虚拟对端。
2.根据权利要求1所述的系统,其特征在于,所述多个虚拟对端中的每个虚拟对端是网络单元,所述网络单元是以下项中的一项:
虚拟主机,
虚拟路由器,
虚拟路由器接口,
通过虚拟端点映射的物理主机,
通过虚拟端点映射的物理路由器,
容器,以及
映射至少一个硬件和/或虚拟资源的任何虚拟接口。
3.根据任一前述权利要求所述的系统,其特征在于,将所述直接分组载体构造为:
由连接到所述虚拟网络的多个计算节点中的一个计算节点托管的集中式载体,或者
由所述多个计算节点中的至少部分计算节点托管的分布式载体。
4.根据任一前述权利要求所述的系统,其特征在于,所述多个虚拟L3对等地址由适用于支持所述直接分组载体的所述虚拟网络的控制器主动生成。
5.根据任一前述权利要求所述的系统,其特征在于,还包括:在第一次从所述源虚拟对端接收到所述至少一个数据分组时,在所述映射记录中更新相应的虚拟L3对等地址,所述虚拟L3对等地址针对所述源对端和所述目的对端之间的所述直接对等路径主动生成。
6.根据任一前述权利要求所述的系统,其特征在于,还包括:持续监控所述虚拟网络以检测所述虚拟网络中的至少一个拓扑变化,所述拓扑变化是以下项中的一项:
添加至少一个虚拟对端,
修改至少一个虚拟对端,以及
移除至少一个虚拟对端。
7.根据权利要求6所述的系统,其特征在于,在检测到所述至少一个拓扑变化之后,针对所述多个虚拟对端中的至少一个虚拟对端重新计算所述虚拟L3对等地址。
8.根据权利要求6和7中任一项所述的系统,其特征在于,所述映射记录根据所述至少一个拓扑变化进行更新,所述更新包括以下项中的至少一项:添加针对所述至少一个添加虚拟对端生成的所述虚拟L3对等路径;更新针对所述至少一个修改虚拟对端重新计算的所述虚拟L3对等路径;以及删除所述至少一个移除虚拟对端的所述虚拟L3对等路径。
9.根据任一前述权利要求所述的系统,其特征在于,还包括:调整所述至少一个数据分组以模拟所述虚拟网络上的传统路由。
10.根据权利要求9所述的系统,其特征在于,所述调整所述至少一个数据分组由以下项中的一项来完成:
托管发送所述至少一个数据分组的所述源虚拟对端的主机,
托管所述至少一个数据分组发往的所述目的虚拟对端的主机,以及
至少一个中间计算节点,所述中间计算节点从所述源虚拟对端接收所述至少一个数据分组并将所述至少一个数据分组转发到所述目的虚拟对端。
11.根据任一前述权利要求所述的系统,其特征在于,将至少一个传统网络路由器映射为支持虚拟L3对等地址范围中的多个虚拟L3对等路径的虚拟对端,每个虚拟L3对等路径分配给不支持所述虚拟网络上的L3对等映射的多个传统主机中的一个,
其中,所述至少一个传统网络路由器是以下项中的一项:物理路由器和传统虚拟路由器。
12.根据任一前述权利要求所述的系统,其特征在于,还包括:通过连接到所述至少一个物理主机的至少一个边界虚拟对端将所述至少一个数据分组发送到至少一个物理主机,所述至少一个数据分组使用所述至少一个边界虚拟对端的所述虚拟L3对等地址进行发送,所述至少一个边界虚拟对端与剩余物理路径地址耦合,所述剩余物理路径地址将路径映射到来自所述至少一个边界虚拟对端的所述至少一个物理主机。
13.根据任一前述权利要求所述的系统,其特征在于,还包括:所述虚拟L3对等地址采用部分对等地址和传统地址,其中,所述部分对等地址映射至少一个中间虚拟对端,所述传统地址通过所述至少一个中间虚拟对端将用于发送所述至少一个数据分组的目的对端映射到所述目的对端。
14.根据任一前述权利要求所述的系统,其特征在于,还包括:适配至少一个网络流量管理功能来处理映射到所述虚拟L3对等地址的所述至少一个数据分组。
15.一种使用虚拟网络主动映射来通过所述虚拟网络传输网络层(L3)对等数据分组的计算机实施的方法,其特征在于,包括:
在连接多个虚拟对端的虚拟网络的直接分组载体处,接收来自所述多个虚拟对端的源虚拟对端的至少一个数据分组,所述至少一个数据分组去往所述多个虚拟对端的目的虚拟对端;
访问包括多个虚拟L3对等地址的映射记录,每个虚拟L3对等地址映射所述多个虚拟对端中的一对虚拟对端之间的直接对等路径;
从所述映射记录中检索映射所述源对端和所述目的对端之间的所述直接对等路径的所述多个虚拟L3对等地址中的相应一个;以及
使用所述检索的虚拟L3对等地址将所述至少一个数据分组传输到所述目的虚拟对端。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行如权利要求15所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2017/055462 WO2018162058A1 (en) | 2017-03-08 | 2017-03-08 | Flattening l3 routing in sdn using proactive shortest path |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110419199A CN110419199A (zh) | 2019-11-05 |
CN110419199B true CN110419199B (zh) | 2020-12-15 |
Family
ID=58266600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780088221.0A Active CN110419199B (zh) | 2017-03-08 | 2017-03-08 | 使用主动式最短路径的sdn中的扁平化l3路由 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110419199B (zh) |
WO (1) | WO2018162058A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113238833B (zh) * | 2021-05-27 | 2023-09-05 | 安天科技集团股份有限公司 | 特征数据传输方法、装置及存储介质 |
CN114070789B (zh) * | 2021-11-16 | 2023-04-11 | 上海思询信息科技有限公司 | 一种基于OpenStack实现外部网络多线接入的方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7870133B2 (en) * | 2008-01-14 | 2011-01-11 | Infosys Technologies Ltd. | Method for semantic based storage and retrieval of information |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7656870B2 (en) * | 2004-06-29 | 2010-02-02 | Damaka, Inc. | System and method for peer-to-peer hybrid communications |
US7877457B2 (en) * | 2006-03-17 | 2011-01-25 | Macrovision Corporation | Peer to peer gateway |
US8997206B2 (en) * | 2007-06-06 | 2015-03-31 | Avaya Inc. | Peer-to-peer network over a virtual private network |
US8971335B2 (en) * | 2009-07-02 | 2015-03-03 | Exafer Ltd | System and method for creating a transitive optimized flow path |
WO2015100656A1 (zh) * | 2013-12-31 | 2015-07-09 | 华为技术有限公司 | 一种实现虚拟机通信的方法和装置 |
US9712438B2 (en) * | 2014-01-08 | 2017-07-18 | Microsoft Technology Licensing, Llc | Routing messages between virtual networks |
-
2017
- 2017-03-08 WO PCT/EP2017/055462 patent/WO2018162058A1/en active Application Filing
- 2017-03-08 CN CN201780088221.0A patent/CN110419199B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7870133B2 (en) * | 2008-01-14 | 2011-01-11 | Infosys Technologies Ltd. | Method for semantic based storage and retrieval of information |
Also Published As
Publication number | Publication date |
---|---|
WO2018162058A1 (en) | 2018-09-13 |
CN110419199A (zh) | 2019-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11736394B2 (en) | Address resolution using multiple designated instances of a logical router | |
US11196591B2 (en) | Centralized overlay gateway in public cloud | |
US11025543B2 (en) | Route advertisement by managed gateways | |
US10389634B2 (en) | Multiple active L3 gateways for logical networks | |
EP3815311B1 (en) | Intelligent use of peering in public cloud | |
US11374794B2 (en) | Transitive routing in public cloud | |
US10491466B1 (en) | Intelligent use of peering in public cloud | |
EP3210345B1 (en) | Transparent network service header path proxies | |
EP3295654B1 (en) | Configuration of network elements for automated policy-based routing | |
US9503371B2 (en) | High availability L3 gateways for logical networks | |
EP3629529B1 (en) | Ingress ecmp in virtual distributed routing environment | |
EP3435596B1 (en) | Route advertisement by managed gateways | |
US9225597B2 (en) | Managed gateways peering with external router to attract ingress packets | |
US10374935B2 (en) | Link discovery method, system, and device | |
CN110419199B (zh) | 使用主动式最短路径的sdn中的扁平化l3路由 | |
WO2020264578A1 (en) | Automatic allocation of ipv6 preferred path routing identifiers |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent 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 Patentee after: Huawei Cloud Computing Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |