CN113454972B - 虚拟服务网络 - Google Patents

虚拟服务网络 Download PDF

Info

Publication number
CN113454972B
CN113454972B CN202080015754.8A CN202080015754A CN113454972B CN 113454972 B CN113454972 B CN 113454972B CN 202080015754 A CN202080015754 A CN 202080015754A CN 113454972 B CN113454972 B CN 113454972B
Authority
CN
China
Prior art keywords
network
slice
data
selector
service
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
CN202080015754.8A
Other languages
English (en)
Other versions
CN113454972A (zh
Inventor
M-A·博德里奥
R·库马拉
J·蒂德马恩
C·波里克罗诺波罗
E·祖
O·古普塔
G·奥库诺莫
R·基德
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.)
Weirui LLC
Original Assignee
Weirui 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
Priority claimed from US16/443,810 external-priority patent/US11483762B2/en
Priority claimed from US16/443,818 external-priority patent/US11146964B2/en
Priority claimed from US16/443,813 external-priority patent/US10834669B2/en
Priority claimed from US16/443,815 external-priority patent/US11024144B2/en
Priority claimed from US16/443,816 external-priority patent/US10939369B2/en
Priority claimed from US16/443,812 external-priority patent/US11246087B2/en
Application filed by Weirui LLC filed Critical Weirui LLC
Priority claimed from PCT/US2020/016833 external-priority patent/WO2020171957A1/en
Publication of CN113454972A publication Critical patent/CN113454972A/zh
Application granted granted Critical
Publication of CN113454972B publication Critical patent/CN113454972B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

一些实施例提供了一种用于在多个数据中心上建立多个虚拟服务网络的方法。该方法为所述多个虚拟服务网络中的每个虚拟服务网络配置分布在数据中心上的机器集合以实现用于虚拟服务网络的网络服务的有序集。该方法配置在数据中心内执行的多个服务网络选择器以接收数据消息,基于对数据消息的内容的分析为数据消息选择虚拟服务网络之一,为实现用于选择的虚拟服务网络的网络服务的有序集的第一网络服务的机器确定数据中心内的位置,并将数据消息传输到实现第一网络服务的机器。

Description

虚拟服务网络
背景技术
通信服务提供商网络从许多不同类型的设备,尤其是向前移动设备,接收和处理许多类型的流量。例如,这些网络将具有来自电话、物联网(IoT)设备、自动驾驶汽车、家用计算机等的流量。理想情况下,网络应当基于应用的类型(例如,流传输视频、web浏览、电话呼叫等)、设备的类型(例如,用于自动驾驶汽车的数据流量需要极低的时延)以及其它差异化因素不同地对待这种流量。虽然4G和5G标准已经引入了一定程度的流量差异,但期望可以推广到其它类型的网络的更具适应性的网络切片(network slicing)。
发明内容
一些实施例提供用于跨数据中心的集合建立虚拟服务网络的方法。跨其建立虚拟服务网络的数据中心的集合可以包括例如一个或多个公共云、跨越公共和私有云的软件定义的广域网(SD-WAN)、电信服务提供商接入网(例如,跨越无线电接入网、边缘云和核心云的组合)或其它类型的数据中心。一些实施例的虚拟服务网络包括多个网络切片,每个网络切片向指派给该网络切片的数据消息提供不同的网络服务。
在一些实施例中,当设备(例如,电信上下文中的移动端点设备)将数据消息传输到这种网络上时,网络切片选择器最初处理该数据消息。网络切片选择器将数据消息指派给虚拟服务网络的网络切片之一并处置服务链接(service chaining)操作,以确保数据消息由用于指派的切片的正确网络服务集处理。在不同的实施例中,这个网络切片选择器可以由虚拟机(VM)、容器化功能、在VM内、在容器内或在主机计算机的虚拟化软件内操作的软件转发元件(例如,基于流的转发元件)、在主机计算机的虚拟化软件内的转发元件之外(例如,在VM和转发元件的端口之间)执行的模块集、硬件转发元件(例如,可编程交换机)或其它实施方式来实现。
在一些情况下,许多网络切片选择器被配置为实现虚拟服务网络。在电信服务提供商示例中,一些实施例为每个蜂窝塔、基站或接入网的其它方面配置网络切片选择器。一些实施例的电信服务提供商接入网包括用于每个蜂窝塔的边缘云,并且在每个这种边缘云处配置至少一个网络切片选择器。在其它示例中(例如,对于完全包含在连接的数据中心的集合内的SD-WAN流量),分布式网络切片选择器被配置为使得用于从VM发送的数据消息的网络切片选择发生在与数据消息的源相同的主机计算机处(虽然在源VM之外)或在指定设备处(例如,特定的附近交换机或路由器、专用VM)。
在一些实施例中,虚拟服务网络的每个网络切片包括一个或多个网络服务,诸如防火墙、负载平衡器、网络地址翻译、计量(例如,用于计费目的)、虚拟专用网络(VPN)网关、无线电接入网(RAN)功能(例如,分布式单元和集中式单元功能)、演进分组核心(EPC)功能(例如,归属订户服务器、服务网关、分组数据网络网关、移动性管理实体)或其它类型的网络功能。在不同的实施例中,这些网络功能可以被实现为虚拟网络功能(VNF)、物理网络功能(PNF)和/或云网络功能(CNF)。
当网络切片选择器向网络切片指派数据消息时,在一些实施例中,切片选择器负责执行服务链接以确保数据消息以正确的次序遍历所指派的切片的网络服务。在一些实施例中,切片选择器将数据消息传输到第一网络服务(例如,VM、容器或实现网络服务的其它数据计算节点)并维护用于那个数据消息的上下文信息。在第一网络服务完成其对数据消息的处理后,第一网络服务将数据消息返回给切片选择器。切片选择器然后使用所维护的上下文信息将数据消息传输到下一个网络服务,依此类推。在一些实施例中,当跨多个数据中心实现完整的网络切片时,类似的服务链接模块在每个数据中心处操作以处置用于其自己的数据中心内的切片的服务链接。这些服务链接模块可以以与一些实施例中的网络切片选择器相同的方式来实现(例如,作为VM、作为VM或虚拟化软件中的转发元件)。一些实施例的服务链接模块在数据消息进入数据中心时接收数据消息,识别用于数据消息的切片(例如,基于由网络切片选择器或前一个数据中心的服务链接模块与数据消息一起提供的上下文信息),并将数据消息提供给数据中心内的下一个网络服务。其它实施例使用分布式服务链接而不是将数据消息返回到每个数据中心中的指定切片选择器或服务链接模块(例如,通过向分组报头添加标签以指示所选择的网络切片中的服务的次序)。
在一些实施例中,控制器层次结构配置一个或多个数据中心内的各种实体以实现虚拟服务网络。高级控制器(在本文称为虚拟服务网络(VSN)控制器)通过接口(例如,RESTAPI的集合、图形界面、命令行界面)从用户(例如,电信提供商、数据中心租户)接收用于虚拟服务网络的配置数据。这个VSN控制器协调其它控制器的集合,这些控制器配置在其中实现VSN的数据中心中的实体。在一些实施例中,每个数据中心具有其自己的低级控制器套件。这些控制器可以包括计算控制器(例如,用于配置实现VNF的VM)、网络控制器(例如,用于配置转发元件以在(一个或多个)切片选择器和网络服务之间传输数据消息)、存储控制器和SDN控制器(例如,用于配置在数据中心之间传输数据消息的切片选择器和/或网关)。
在不同的实施例中,网络切片选择器可以使用不同的技术将数据消息指派给切片。切片选择可以基于层2到层4(L2-L4)报头的组合和/或通过执行深度分组检查(例如,基于层5到层7(L5-L7)中的数据对流量进行分类)。例如,切片选择可以通过使用源网络层(例如,IP)地址简单地基于源设备,或者可以通过查看更高层(L5-L7)报头而基于流量和/或目的地网络域的类型。在一些实施例中,网络切片选择器与其它控制平面组件集成以收集关于连接的附加信息(例如,关于用户会话、设备类型或其它数据)并将这个信息用作切片选择处理的一部分(例如,仅使用这个收集的信息或将这个信息与L2-L4和/或L5-L7分组报头数据相结合)。在一些实施例中,网络切片选择器维护用于将连接映射到网络切片的状态,因此深度分组检查不需要对连接的每个数据消息执行。此外,对于一些连接,只有某些数据消息包含执行切片选择所需的L5-L7报头信息。
当使用深度分组检查执行网络切片选择时,在某些情况下,用于连接的初始数据消息可以不包括切片选择器正确识别切片所需的L5-L7报头信息。例如,端点设备(例如,诸如智能电话或平板电脑之类的移动设备、膝上型或台式计算机、IoT设备、自驾驶汽车、属于安全系统的智能相机,或其它设备)与网络域(例如,诸如www.netflix.com、www.google.com等网络域)之间的连接常常以连接发起消息(诸如TCP握手)的集合开始。在握手完成之后,设备然后发送例如包括网络域的http get消息。设备和网络域之间发送的后续数据消息可以不包括这种信息。
在一些实施例中,网络切片选择器充当代理以终止连接发起消息,而无需跨虚拟服务网络将这些消息发送到预期目的地。即,网络切片选择器与端点设备交换连接发起消息的适当集合,使得端点设备表现得好像已经与目的地域正确建立了连接。网络切片选择器存储有关这些连接发起消息的数据以供后续使用。在接收到来自端点设备的数据消息(例如,http get消息)后,网络切片选择器执行深度分组检查以检查L5-L7报头并选择网络切片之一进行连接。网络切片选择器然后与目的地网络域交换连接发起消息,这次充当设备而不是目的地域。这些连接发起消息经由选择的网络切片被传输,使得选择的网络切片上的所有网络服务都处理连接发起消息。一旦与目的地域建立了这种连接,切片选择器就将经由选择的网络切片将数据消息也转发到目的地域。切片选择器还存储将连接映射到选择的网络切片的连接信息(例如,连接5元组),以用于处理数据消息。对于为连接接收的后续数据消息,网络切片选择器使用连接到切片的映射将数据消息指派给选择的切片,而无需执行深度分组检查。这避免对用于连接的每个数据消息执行深度分组检查,这可能是不可能的,因为所需的信息可能不在属于该连接的所有数据消息的L5-L7报头中。在一些实施例中,在虚拟服务网络完成之后处理数据消息的出口网关也存储连接到切片的映射信息,并使用这个信息将从目的地域发送到端点设备的数据消息指派给正确的网络切片(网络服务以相反的次序执行)。
一些实施例不是在切片选择器处终止连接发起消息,而是首先将这些消息传递到默认网络切片,然后在网络切片被选择之后通过用于连接的正确网络切片重放消息。在这个过程中,切片选择器将初始连接发起消息指派给默认切片,同时存储这些消息(或重新创建消息所需的数据)。此外,出口网关(即,将消息传输到目的地(例如,到互联网)并从目的地域接收反向消息的网关)也存储关于连接发起消息的信息。在接收到初始数据消息后,网络切片选择器执行深度分组检查,以选择正确的切片。但是,在将数据消息传输到所选择的切片上之前,切片选择器在网络切片上重放连接发起消息。这些消息不从出口网关发送到目的地域;更确切地说,连接发起消息仅在切片选择器和出口网关之间被发送。一旦这些消息已经被重放,选择的切片的网络服务就将已经处理了连接发起消息,因此为端点设备和目的地网络域之间的后续数据消息流量做好准备。
在有状态切片选择的情况下,如上面所提到的,使用由网络切片选择器存储的状态发送后续数据消息,既为了资源/时间节省,又因为许多后续数据消息在其深度分组检查所需的L5-L7报头中不具有有用的信息。但是,移动设备(例如,智能电话、平板电脑、自动驾驶汽车)可以从由第一切片选择器服务的一个地理范围移动到由第二切片选择器服务的另一个地理范围(例如,当从一个小区塔移动到另一个小区塔时或者从WiFi网络移动到蜂窝网络时),同时维持一个连接。不同的实施例使用不同的技术来确保维持状态,而不需要端点设备方面的动作。
在一些实施例中,第二切片选择器(用于移动设备移动到的区域的切片选择器)转发用于连接到第一切片选择器(在发起连接时用于移动设备所在的区域的切片选择器)的所有数据消息。即,第二切片选择器接收指示第一切片选择器是用于连接的切片映射状态的位置的数据,从而将用于连接的数据流量转发到第一切片选择器。在不同的实施例中,第一切片选择器或者(i)将这个状态位置信息直接推送到第二切片选择器或者(ii)将状态位置信息推送到网络控制器(例如,上面提到的VSN控制器),第二切片选择器从该网络控制器中检索状态位置信息。
在其它实施例中,第二切片选择器接收状态(即,连接到网络切片的映射)并且因此能够在不涉及第一网络切片选择器的情况下转发用于连接到网络切片的数据消息。在不同的实施例中,第二切片选择器可以直接从第一切片选择器或从网络控制器(例如,上面提到的VSN控制器)接收状态。在一些这样的实施例中,第一切片选择器将状态或者(i)直接推送到第二切片选择器(例如,在设备已经移动到第二切片选择器的地理区域之前)或者(ii)推送到网络控制器,第二切片选择器从该网络控制器中检索状态。在其它这样的实施例中,第一切片选择器将用于状态的位置信息推送到网络控制器,并且第二切片选择器从网络控制器检索这个位置信息,然后使用这个位置信息从第一切片选择器检索状态。
在第一切片选择器将状态信息直接推送到第二切片选择器的情况下,在一些实施例中,第一切片选择器将其所有切片映射推送到用于相邻地理区域的切片选择器,以防在第一切片选择器的地理区域内发起连接的移动设备移动到任何相邻的地理区域。在其它这样的实施例中,第一切片选择器使用移动设备的位置数据(如果使该数据可用)来将状态信息推送到用于设备可能移动到的相邻地理区域的切片选择器。
在一些实施例中,虚拟服务网络被分层地切片。即,虚拟服务网络的切片本身就是具有切片选择器和多个网络切片的虚拟服务网络。例如,在电信网络中,移动网络运营商(MNO)拥有接入和核心网络的物理基础设施(即,RAN和EPC基础设施),并且来自订阅那个MNO的设备的流量由那个基础设施处理。此外,MNO可以将那个基础设施租给一个或多个移动虚拟网络运营商(MVNO),这些运营商也具有使用相同基础设施的订户设备。在一些情况下,那些MVNO还将其虚拟基础设施租给附加MVNO或其它实体。此外,除了不同的电信服务提供商之外,还可以出于附加原因在网络上实现切片选择的分层级别。
在上述电信提供商示例中,由MNO配置的第一切片选择器可能基于源设备(例如,通过源网络地址)将数据消息指派给网络切片。因此,来自与MNO相关联的源设备的数据消息被发送到由MNO配置的另一个虚拟服务网络,而来自与不同MVNO相关联的源设备的数据消息被发送到由相应MVNO配置的虚拟服务网络。在一些实施例中,用于每个虚拟服务网络的第二切片选择器基于数据消息报头的各个方面执行附加的切片选择。如果MVNO将其虚拟基础设施租给一个或多个附加MVNO,那么第二切片选择器也可能基于更细粒度的网络地址分析将数据消息指派给网络切片(例如,如果第一MVNO被指派有IP地址的池,并在其自己的设备和用于另一个MVNO的设备之间划分这个池)。在其它情况下,第二级切片选择器可以基于深度分组检查(诸如上面描述的)来执行有状态切片选择。
在一些实施例中,在虚拟服务网络(具有网络服务的不同有序集的多个网络切片的集合)内,网络切片选择器始终是处理数据消息的第一实体。在其它实施例中,在第一网络切片选择器选择其中一个切片之后,这个切片(其是虚拟服务网络)可以包括在第二网络切片选择器选择那个虚拟服务网络内的切片之前应用于数据消息的网络服务。类似地,在一些实施例中,在针对给定切片应用不同服务之后,可以将网络服务应用于用于虚拟服务网络内的所有网络切片的数据消息。
虽然上述使用切片选择和虚拟服务网络的网络的示例是电信提供商网络(既用于分层切片选择又用作单级切片选择),但应当理解的是,虚拟服务网络也可以被配置用于其它类型的网络。例如,在数据中心内或对于跨多个数据中心的网络,虚拟化软件(例如,在托管VM或网络的其它端点的主机计算机中)可以被配置为对由网络端点发送的数据消息实现切片选择。一种类型的跨越多个数据中心的网络是使用一个或多个公共云的集合来连接企业数据中心(例如,总部和一个或多个远程分支机构);在这种网络中,用于网络切片的网络服务可以在企业数据中心以及(一个或多个)公共云内实现。
前述概述旨在作为对本发明的一些实施例的简要介绍。它并不意味着是对本文档中公开的所有发明性主题的介绍或概述。下面的具体实施方式和在具体实施方式中引用的附图说明将进一步描述发明内容中描述的实施例以及其它实施例。因而,为了理解本文档所描述的所有实施例,需要全面回顾发明内容、具体实施方式和附图说明。而且,要求保护的主题不受发明内容、具体实施方式和附图说明中的说明性细节的限制,而是由所附权利要求限定,因为要求保护的主题可以以其它特定形式实施而不脱离主题的精神。
附图说明
本发明的新颖特征在所附权利要求中阐述。但是,为了解释的目的,在以下附图中阐述本发明的若干实施例。
图1概念性地图示了具有多个网络切片选择器的虚拟服务网络(VSN)。
图2概念性地图示了在多个数据中心上用于单个网络切片的服务的分布。
图3概念性地图示了根据一些实施例的在边缘云处接收并由边缘云处的切片选择器指派给图2中所示的网络切片的数据消息通过VSN采取的路径。
图4概念性地图示了控制器的分层集合。
图5图示了示出端点设备、切片选择器、出口网关和网络域之间的交互以传输用于连接的消息的流程图,其中切片选择器充当软终止代理。
图6概念性地图示了http get消息。
图7图示了由切片选择器存储的一些实施例的连接映射表的条目。
图8概念性地图示了数据消息。
图9概念性地图示了用于通过终止连接握手而将端点设备和目的地网络域之间的连接指派给VSN的网络切片的一些实施例的处理。
图10图示了示出端点设备、切片选择器、出口网关和网络域之间的交互以传输用于连接的消息的流程图,其中切片选择器和出口网关执行握手重放。
图11概念性地图示了用于通过重放连接握手消息而将端点设备和目的地网络域之间的连接指派给VSN的网络切片的一些实施例的处理。
图12概念性地图示了在握手重放情况期间出口网关的一些实施例的处理。
图13概念性地图示了移动设备从第一切片选择器区域移动到第二切片选择器区域,其中第二切片选择器将数据流量从移动设备转发到第一切片选择器。
图14概念性地图示了第一切片选择器将状态位置信息推送到中央控制器和第二切片选择器从中央控制器检索状态位置信息的示例。
图15概念性地图示了第一切片选择器将状态位置信息推送到第二切片选择器的示例。
图16概念性地图示了移动设备从第一切片选择器区域移动到第二切片选择器区域,其中第二切片选择器接收用于连接的切片映射状态并且使用切片映射状态转发用于连接的数据流量。
图17概念性地图示了第一切片选择器将切片映射状态推送到中央控制器和第二切片选择器从中央控制器检索切片映射状态的示例。
图18A、图18B概念性地图示了第一切片选择器将状态位置信息推送到控制器和第二切片选择器检索状态位置信息并使用该状态位置信息从第一切片选择器检索切片映射状态的示例。
图19概念性地图示了第一切片选择器将切片映射状态推送到第二切片选择器的示例。
图20概念性地图示了根据一些实施例的与第一地理区域相关联的第一切片选择器将切片映射状态推送到其所有相邻地理区域。
图21概念性地图示了在第一地理区域内移动的移动设备以及用于那个区域的切片选择器将用于由移动设备发起的连接的切片映射状态仅推送到该设备正朝着其移动的相邻区域。
图22概念性地图示了分层VSN的示例。
图23概念性地图示了提供商和租户切片选择器(以及网络切片的网络服务)在多个数据中心上的分布。
图24概念性地图示了提供商基础设施和多租户VSN的分叉控制。
图25概念性地图示了网络服务插入在切片选择器之间和/或在不同切片的服务完成之后的分层VSN的示例。
图26概念性地图示了具有三个切片级别的分层VSN集合的示例。
图27概念性地图示了数据中心内的VSN的实施方式。
图28概念性地图示了用于通过公共云处理两个私有企业数据中心之间的WAN通信的VSN的实施方式。
图29概念性地图示了VSN也可以被实现为处置公共云或公共云集合内公共云与公共互联网流量中访客VM之间的通信。
图30概念性地图示了利用其实现本发明的一些实施例的电子系统。
具体实施方式
在本发明的以下详细描述中,阐述和描述本发明的许多细节、示例和实施例。但是,对于本领域技术人员来说清楚和显而易见的是,本发明不限于所阐述的实施例并且可以在没有所讨论的一些具体细节和示例的情况下实践本发明。
一些实施例提供用于跨数据中心的集合建立虚拟服务网络的方法。跨其建立虚拟服务网络的数据中心的集合可以包括例如一个或多个公共云、跨越公共和私有云的软件定义的广域网(SD-WAN)、电信服务提供商接入网(例如,跨越无线电接入网、边缘云和核心云的组合)或其它类型的数据中心。一些实施例的虚拟服务网络包括多个网络切片,每个网络切片向指派给该网络切片的数据消息提供不同的网络服务。
在一些实施例中,当设备(例如,电信上下文中的移动端点设备)将数据消息传输到这种网络上时,网络切片选择器最初处理该数据消息。网络切片选择器将数据消息指派给虚拟服务网络的网络切片之一并处置(handle)服务链接操作,以确保数据消息由指派的切片的正确网络服务集处理。在不同的实施例中,这个网络切片选择器可以由虚拟机(VM)、容器化功能、在VM内、在容器内或在主机计算机的虚拟化软件内操作的软件转发元件(例如,基于流的转发元件)、在主机计算机的虚拟化软件内的转发元件之外(例如,在VM和转发元件的端口之间)执行的模块集、硬件转发元件(例如,可编程交换机)或其它实施方式来实现。
在一些情况下,许多网络切片选择器被配置为实现虚拟服务网络。在电信服务提供商示例中,一些实施例为每个蜂窝塔、基站或接入网的其它方面配置网络切片选择器。一些实施例的电信服务提供商接入网包括用于每个蜂窝塔的边缘云,并且在每个这种边缘云处配置至少一个网络切片选择器。在其它示例中(例如,对于完全包含在连接的数据中心的集合内的SD-WAN流量),分布式网络切片选择器被配置为使得用于从VM发送的数据消息的网络切片选择发生在与数据消息的源相同的主机计算机处(虽然在源VM之外)或在指定设备处(例如,特定的附近交换机或路由器、专用VM或容器)。
图1概念性地图示了具有多个网络切片选择器的这种虚拟服务网络(VSN)100。在这种情况下,VSN 100对用于访问互联网的设备(例如,在电信服务提供商接入网内)的数据消息执行网络服务。VSN对给定数据消息执行哪些网络服务取决于数据消息被指派给的切片。如下文进一步描述的,给定网络切片的网络服务可以在单个数据中心或数据中心的组合中实现。对于给定的切片,其中一些网络服务可能分布到许多边缘云中,而稍后的网络服务则在中央公共数据中心中实现。
如图所示,虚拟服务网络100包括众多(N个)网络切片105-115。这些网络切片中的每一个都表示网络服务路径(即,对指派给切片的数据消息执行的网络服务的有序集)。这些网络服务可以包括防火墙、负载平衡器、网络地址翻译、计量(例如,用于计费目的)功能、VPN网关、无线电接入网(RAN)功能(例如,分布式单元和集中式单元功能)、演进的分组核心(EPC)功能(例如,归属订户服务器、服务网关、分组数据网络网关、移动性管理实体)或其它类型的网络功能。
在不同的实施例中,虚拟服务网络的网络切片可以服务于不同的目的。一些实施例基于源设备(例如,使用源网络地址或识别设备类型的信息)或订户信息(例如,通过与认证、授权和记账系统或策略系统接口)对网络进行切片,而其它实施例基于流量的类型(例如,通过执行深度分组检查)对网络进行切片。每个网络切片可以具有规定的服务质量(QoS)服务级别协定(SLA)。例如,用于自动驾驶汽车的网络切片可能具有极低时延要求,用于流传输视频的网络切片可能具有高带宽要求,而IoT切片可能对单个设备具有不太严格的带宽或时延要求但具有大规模连通性预期。
在不同的实施例中,这些网络服务可以被实现为虚拟化的网络功能(VNF)、物理网络功能(PNF)和/或云原生网络功能(CNF)。VNF是在虚拟化的数据计算节点(诸如虚拟机)中实现的网络服务。例如,这使得用于特定切片的相同网络服务配置能够在众多边缘云中实现(例如,连同众多切片选择器)。CNF是在云原生数据计算节点(诸如特定类型的容器)中实现的网络服务。最后,PNF是由物理设备(例如,特定的防火墙或负载平衡器设备)实现的网络服务。一般而言,PNF更有用地位于集中式数据中心而不是边缘云中,因此不需要为每个边缘云复制相同的物理设备。
在这个示例中,第一网络切片105包括两个VNF A和B以及PNF C。第二网络切片110是完全虚拟的,具有三个VNF B、D和E。最后一个网络切片115包括与切片105相同的三个网络服务(VNF A和B以及PNF C),后面跟着CNF F。在一些实施例中,同一个VM可以为多个不同的网络切片实现VNF。在这个示例中,一个VM可能为所有三个所示的网络切片105-115实现相同的VNF B。如果这个VNF位于边缘云中,那么可以在每个边缘云中实例化单个VM(例如,对于每个切片选择器)。但是,在其它实施例中,即使VNF配置对于多个切片是相同的,也为每个VNF实例化单独的VNF(例如,单独的VM或其它数据计算节点)。因此,在这个示例中,针对切片105-115中的每一个为VNF B实例化三个不同的VNF。因此,如果这个VNF位于边缘云中,那么每个边缘云将具有用于VNF B的三个不同VM。
由于设备访问网络100的方式,一些实施例具有多个切片选择器120-130。设备可以通过基站(例如,小区塔)、无线接入点、有线连接(例如,在家中)或其它手段访问电信服务提供商网络。对于提供商网络,一些实施例的切片选择器在设备附近实现,使得切片选择可以在数据流量穿过网络的大部分之前发生。例如,在具有多接入边缘计算的5G无线网络的情况下,一些实施例为每个分布式单元(DU)配置切片选择器。其它实施例为每个集中式单元(CU)配置切片选择器,CU从多个DU接收流量。在这种情况下,每个切片选择器具有相关联的地理范围(即,其关联的DU或CU的地理范围)。
在此类情况下,诸如图1中所示的情况,在一些实施例中,每个切片选择器120-130被配置为执行相同的切片选择功能(即,它们作为单个逻辑切片选择器操作)。即,每个切片选择器1-K可以将数据消息指派给切片1-N中的任何一个,并且无论切片选择器120-130中的哪一个处理数据消息,网络切片指派都将是相同的。在其它实施例中,切片仅在某些特定地理区域中是可访问的。例如,在某些情况下,与特定应用相关联的网络切片可能在某些城市或其它地理区域可用。
这个示例示出多个设备可以在任何特定时间附接到给定的切片选择器。在该示例中,智能冰箱和膝上型计算机附接到第一切片选择器120,平板设备附接到第二切片选择器125,并且自主汽车和移动电话附接到最后一个切片选择器130。在不同的实施例中,网络切片选择器可以由虚拟机(VM)、在VM内或主机的虚拟化软件内操作的软件转发元件(例如,基于流的转发元件)、在主机计算机的虚拟化软件内的转发元件外部(例如,在VM和转发元件的端口之间)执行的模块集、物理设备(例如,专用硬件转发元件、物理主机计算机)、容器应用(例如,运行网络服务网格的Kubernetes系统)或其它实施方式实现。
图2概念性地图示了在多个数据中心205-215上用于单个网络切片200的服务的分布。如图所示,在这个示例中,网络切片200包括四个网络服务(VNF A-D),其应用于来自指派给网络切片200的设备220的某些数据流量。第一VNF A在边缘云205和207中实现,第二和第三VNF B和C在核心云210中实现,并且第四VNF D在公共云215中实现。在使用多接入边缘计算的网络(例如,5G网络)中,切片选择器225和在边缘云中实现的任何网络服务在每个边缘云中被实例化。照此,边缘云205和边缘云207都各自具有切片选择器225和VNF A的实例(以及在边缘上为同一VSN的任何其它切片或跨网络实现的任何其它VSN实现的任何网络服务)。此外,虽然未示出,但在每个边缘云内,一些实施例出于高可用性原因而执行多个切片选择器(例如,活动切片选择器和备用切片选择器,或多个活动切片选择器以分担处理所有传入流量的负载)。
在一些实施例中,来自设备220的流量最初通过无线电接入网(RAN),在这个图中未示出。一些实施例在RAN之前(即,在RAN的设备侧)实现网络切片,而在这个示例中,网络切片发生在RAN之后。接下来,数据流量到达切片选择器225(在边缘云205中),其分析流量并将流量指派给网络切片200。
当切片选择器225向网络切片200指派数据消息时,切片选择器225在一些实施例中负责执行服务链接以确保数据消息以正确的次序遍历指派的切片的网络服务(即,VNFA-D)。在一些实施例中,切片选择器225将数据消息传输到第一网络服务(即,在同一边缘云205中实现VNF A的VM)并维护用于那个数据消息的上下文信息。当VNF A完成其对数据消息的处理后,VNF将数据消息返回给切片选择器225。如果在边缘云225中还实现了针对切片的附加网络服务(对于切片200不是这种情况),那么切片选择器225将使用所维护的上下文信息将数据消息传输到下一个网络服务,依此类推。
在这种情况下,第二网络服务VNF B在核心云210中实现。在一些实施例中,网络切片选择器225将数据消息传输到核心云处的服务链接模块(例如,经由互连云205-215的广域网(WAN)网关)。在一些实施例中,当跨多个数据中心实现全网络切片时,类似的服务链接模块在每个数据中心处操作以处置其自己的数据中心内(例如,在核心云210和公共云215中)针对切片的服务链接。这些服务链接模块可以以与一些实施例中的网络切片选择器相同的方式来实现(例如,作为VM、作为VM或虚拟化软件中的转发元件、作为容器)。一旦最后的网络服务完成,在一些实施例中,出口网关230就经由互联网将数据消息发送到其目的地。
图3概念性地图示了根据一些实施例的在边缘云205处接收并由那个边缘云处的切片选择器225指派给切片200的数据消息通过VSN采取的这条路径。如带圆圈的1所示,端点设备220向电信提供商接入网传输数据消息,在那里它由边缘云205处的切片选择器225处理。在一些实施例中,如果接入网的这些部分不是虚拟服务网络的一部分(即,如果切片选择器在RAN和/或EPC之后处理数据消息),那么数据消息最初由RAN和/或EPC处理。边缘云205中的切片选择器225将数据消息指派给切片200(例如,基于深度分组检查、L2-L4报头或其它因素),并识别出VNF A是(i)用于这个切片的第一网络服务并且(ii)也位于边缘云205中。照此,切片选择器225将数据消息传输到VNF A(由带圆圈的2示出),VNF A处理数据消息并将其返回到切片选择器225(由带圆圈的3示出)。
接下来,切片选择器225识别出针对选择的切片200的下一个网络服务位于核心云210中,并且因此经由WAN网关(为简单起见,图中未显示)将数据消息传输到在核心云210中操作的服务链接模块310(由带圆圈的4示出)。在一些实施例中,服务链接模块310使用学习操作(例如,MAC学习)来存储这些数据消息的源,以便将反向流量发送到正确边缘云205(即,而不是边缘云207)中的切片选择器225。
核心云210中的服务链接模块310在数据消息进入核心云210时(在由WAN网关处理之后)接收数据消息,并识别出用于数据消息的切片(例如,基于由切片选择器310随数据消息一起提供的上下文信息、存储的用于连接的切片映射或其它因素)。这个服务链接模块310向核心云210内的网络服务,在这种情况下,向VNF B,然后向VNF C,提供数据消息。如图所示,服务链接模块将数据消息发送到VNF B(由带圆圈的5示出),接收从VNF B返回的数据消息(由带圆圈的6示出),将消息发送给VNF C(由带圆圈的7示出),并且接收从VNF C返回的数据消息(由带圆圈的8示出)。
在VNF C处理数据消息之后,由服务链接模块310将数据消息传输到公共云215中的另一个服务链接模块315(由带圆圈的9示出)(例如,经由与核心云210和公共云215互连的WAN网关)。在一些实施例中,服务链接模块310与核心云210中的服务链接模块310类似地操作,使用学习机制来存储用于处理返回流量的信息。公共云215内的这个服务链接模块310将数据消息发送到VNF D(由带圆圈的10示出),VNF D执行其网络服务并将数据消息返回到服务链接模块315。
最后,服务链接模块315确定针对数据消息的网络切片处理完成,并将其发送到出口网关230,出口网关230将数据消息经由互联网传输到其目的地。虽然这个示例示出了端点设备和互联网域之间的连接,但在其它虚拟服务网络的情况下,目的地可以代替地位于公共云或经由WAN连接的另一个数据中心内。一些实施例的出口网关230存储将连接映射到网络切片200的信息,以便将反向流量(即,来自公共互联网域的数据消息)指派给同一个切片(具有反向执行的网络功能)方向)。在其它实施例中,出口网关230以无状态方式(例如,使用数据消息的目的地网络地址)指派数据消息。在一些实施例中,出口网关可以与服务链接模块一起实现(或者与用于仅跨越单个数据中心的虚拟服务网络的原始切片选择器一起实现)。
切片选择器、网络服务(例如,VNF、CNF、PNF)以及处置这些实体之间数据消息传输的各种转发元件(例如,在主机机器之间隧道传输数据消息的软件转发元件,WAN网关)需要配置。在一些实施例中,集中式控制器允许用户(例如,网络管理员)为整个VSN提供配置,然后控制器层次结构配置一个或多个数据中心内的各种实体以实现这个VSN。
图4概念性地图示了控制器400的这种分层集合。如这个图中所示,高级VSN管理器405从网络管理员(例如,对于数据中心租户,是电信提供商)接收VSN配置。一些实施例的VSN管理器405提供一个或多个接口(例如,图形用户界面、命令行接口、REST API的集合),管理员通过这些接口提供这种数据。在一些实施例中,用于VSN的配置数据指定VSN的不同切片、切片选择器配置(即,将数据消息指派给不同切片中的每个切片的特点)、切片上用于每个网络服务的网络服务配置、每个网络服务将如何实现(例如,作为VNF、CNF或PNF)、每个网络服务的位置(例如,边缘云、核心云或其它数据中心),和/或其它数据。
VSN控制器410协调这个信息到层次结构中的其它控制器的集中式存储和分发。在一些实施例中,每个数据中心中的控制器415的套件从VSN控制器410接收VSN配置数据并且配置数据中心中的实体以实现VSN。在一些实施例中,每个数据中心具有其自己的这些低级控制器的套件。这些控制器套件可以是每个数据中心中的相同的控制器集合(例如,由单个公司提供的控制器的套件),或者是不同的控制器集合(例如,与公共云相比,用于私有的边缘和核心云的不同的控制器集合)。
第一数据中心420中的控制器套件415包括软件定义的联网(SDN)控制器425、计算控制器430和网络控制器435。应当理解的是,不同的实施例可以包括附加的控制器或者可以将多个控制器的功能组合到单个控制器中。例如,一些实施例包括编排器,其充当VSN控制器410和控制器套件415中的其它控制器(例如,开放堆栈控制器)之间的层,或者将SDN控制器425的特征与网络控制器435的特征相结合。此外,一些实施例包括用于管理与数据中心内的VSN相关的存储装置的存储装置控制器。
SDN控制器425配置切片选择器440。在这个示例中,单个切片选择器440在数据中心420中操作(例如,作为VM或在主机计算机445上的VM内,在主机计算机445的虚拟化软件中),但是应当理解的是,在其它实施例中,切片选择器440在数据中心内以分布式方式实现。在一些实施例中,SDN控制器425用流条目或其它配置数据配置切片选择器以将数据消息正确指派给流并执行服务链接操作以确保数据消息在数据中心420中以正确的次序发送到正确的网络服务。此外,在托管网络服务但不托管切片选择器的数据中心(例如,用于电信提供商示例的核心云、公共和/或私有云)中,一些实施例的SDN控制器配置服务链接模块以及出口网关(其可为反向数据消息执行切片选择)。
计算控制器430负责实例化和配置VNF(例如,在这个示例中作为VM)。在一些实施例中,VM由计算控制器430在主机计算机450上实例化,计算控制器430配置VM以实现指定的网络服务。在一些实施例中,计算控制器430使用防火墙、负载平衡器或其它网络服务的模板来实例化VM,然后将用于由网络管理员指定的网络服务的特定配置数据提供给VM。此外,一些实施例的计算控制器430还负责配置在数据中心420中实现的任何CNF和/或PNF。
网络控制器435配置转发元件(例如,软件转发元件455或其它类型的转发元件,诸如可编程硬件转发元件)以实现网络服务与切片选择器440之间的网络连接性。这种配置包括根据例如连接切片的各个实体(切片选择器和网络服务)的逻辑转发平面进行转发,以及对数据消息执行封装以在数据中心内的实体之间隧道传输那些数据消息。除了在主机计算机450上示出的软件转发元件455(例如,在虚拟化软件中操作的虚拟交换机)之外,在一些实施例中,类似的软件转发元件在主机计算机445中执行以将到和来自切片选择器440的数据消息转发和封装/解封装。在一些实施例中(例如,当切片选择器以分布式方式在软件转发元件内或在软件转发元件和VM之间实现时),网络控制器435还接收切片选择器配置并且配置适当的网络实体以实现切片选择器。
除了控制器套件415中的这些控制器之外,一些实施例还包括一个或多个WAN SDN控制器460。WAN SDN控制器460负责根据需要互连数据中心,并在每个数据中心中配置WAN网关465来这样做。这些WAN网关可以使用MPLS、SD-WAN或其它用于数据中心间通信的技术将数据中心互连。在许多情况下,并非所有数据中心都需要直接通信。例如,在电信示例中,边缘云可能不需要彼此通信,因为数据流量不是在边缘云之间发送,而是在边缘云和核心云之间发送。
在一些实施例中,VSN控制器410不是直接与控制器套件415和WAN SDN控制器460中的控制器通信,而是向每个数据中心中的代理和WAN SDN控制器460的代理提供数据。这些代理负责将来自VSN控制器410(其可以以统一格式提供给所有控制器)的数据翻译成各种控制器套件可以使用的数据。在一些实施例中,VSN控制器410以策略格式向本地代理推送数据,本地代理将其翻译成指示各种SDN控制器、计算控制器和/或网络控制器根据那些策略配置数据中心组件的数据。这允许VSN控制器410使用单一格式与各种不同类型的控制器套件(例如,不同的公共云控制器、企业数据中心控制器套件)进行通信。类似地,对于WANSDN控制器460,代理将策略转换成WAN配置指令。
如上面所提到的,在不同的实施例中,网络切片选择器可以使用不同的技术将数据消息指派给切片。切片选择可以基于分组报头信息,包括层2至层4(L2-L4)报头和/或通过执行深度分组检查(例如,基于层5至层7(L5-L7)报头中的数据对流量进行分类)。例如,切片选择可以通过使用源网络层(例如,IP)地址简单地基于源设备,或者可以通过查看上层(L5-L7)报头而基于流量的类型和/或目的地网络域。
此外,在一些实施例中,网络切片选择器与其它控制平面组件集成以收集关于连接的附加信息(例如,关于用户会话、设备类型或其它数据)并且使用这个信息作为切片选择处理的一部分(例如,仅使用这个收集的信息或将这个信息与L2-L4和/或L5-L7分组报头数据组合)。此类控制平面组件的示例包括认证、授权和记账(AAA)协议(例如,远程认证拨入用户服务(RADIUS))、策略控制和收费规则功能(PCRF)或可以向切片选择器提供设备和/或用户数据的其它此类组件。
在一些实施例中,网络切片选择器维护用于将连接映射到网络切片的状态,使得不需要对连接的每个数据消息执行深度分组检查。此外,对于一些连接,只有某些数据消息包含执行切片选择所需的L5-L7报头信息。
当使用深度分组检查执行网络切片选择时,在某些情况下,用于连接的初始数据消息可以不包括切片选择器正确识别切片所需的L5-L7报头信息。例如,端点设备(例如,诸如智能电话或平板电脑之类的移动设备、膝上型或台式计算机、IoT设备、自动驾驶汽车、属于安全系统的智能相机)与网络域(例如,诸如www.netflix.com、www.google.com之类的web络域)之间的连接常常以连接发起消息(诸如TCP握手)的集合开始。在握手完成之后,设备然后发送例如包括网络域的http get消息。设备与网络域之间发送的后续数据消息可以不包括此类信息。
不同的实施例使用不同的技术来为连接识别正确的网络切片,同时确保(i)在客户端(例如,端点设备)与服务器(例如,网络域)之间正确发起连接并且(ii)即使无法基于第一消息选择那个网络切片,所有消息也都在正确的网络切片上被传输。在一些实施例中,网络切片选择器充当终止连接发起消息的代理,而不跨虚拟服务网络将这些消息发送到预期目的地。在其它实施例中,切片选择器最初将连接发起消息传递到默认网络切片,然后在网络切片被选择之后通过连接的正确网络切片重放消息。
图5图示了示出端点设备505、切片选择器510、出口网关515和网络域520(例如,服务器)之间的交互以传输用于连接的消息的流程图,其中切片选择器充当软终止代理。这个示例图示了由端点设备505使用TCP三向握手发起的连接,但是一些实施例的切片选择器510还能够为其它类型的连接发起消息传递(例如,TLS握手、UDP上的QUIC连接)执行类似的终止。在这个示例中,私有云和公共云的集合(例如,通过SD-WAN或MPLS连接)托管(在切片选择器510和出口网关515之间)被切片的虚拟服务网络,而出口网关将这个VSN连接到互联网(和网络域520)。
如图所示,端点设备505(例如,智能电话、自动驾驶汽车、IoT设备)最初传输指向网络域520的TCP SYN消息(例如,使用目的地IP地址用于网络域)。这种消息可能不具有供切片选择器510使用以便将正在发起的连接指派给网络切片之一的有用报头信息(例如,L5-L7报头信息)。如上面所提到的,在一些实施例中,网络切片是特定于应用和/或特定于设备的,被配置为满足不同应用或设备类型的时延、带宽、抖动或其它要求。流传输视频、自动驾驶汽车、IoT设备和其它设备/应用都有可以通过具有不同SLA的不同网络切片来满足的不同要求。
切片选择器510执行连接发起的软终止,而不是通过网络将连接发起消息(SYN消息)转发到互联网(并最终转发到网络域520)。切片选择器510存储SYN消息的记录(即,消息本身或足够的数据以重新创建消息)并用SYN-ACK消息回复端点设备505。这个SYN-ACK消息的格式就像网络域接收到SYN消息并用SYN-ACK消息回复一样。这使得端点设备505发送ACK消息并且表现得好像已经与网络域520建立了连接。切片选择器505存储关于所有连接发起消息的数据以供后续使用。
基于已经正确建立连接的外观,端点设备505然后发送数据请求消息(或其它消息)。这个消息通常将具有切片选择器将连接正确指派给网络切片所需的L7信息(或其它更高层信息,诸如TLS服务器名称指示)。例如,图6从概念上图示了http get消息600。这种消息具有包括源和目的地IP地址及传输层协议字段的L3报头(为简单起见,L2报头等未示出)以及包括源和目的地端口号的L4报头。此外,消息600的L7报头的一部分包括http get命令内的域名(在这种情况下,www.exampledomain.com)。
切片选择器510对数据消息(在这种情况下,数据请求)执行深度分组检查以识别用于连接的正确网络切片。在一些实施例中,这涉及检查L5-L7报头(例如,图6中所示的http数据)。此外,切片选择器510存储将连接映射到所选择的网络切片的状态,以用于处理后续数据消息。在一些实施例中,切片选择器将这个映射存储为映射到切片标识符的连接5元组(即,源和目的地网络地址、传输层协议、源和目的地传输层端口)。此外,一些实施例识别将要求指派给同一网络切片的相关连接,并且也为这些连接存储状态。作为示例,在一些实施例中,流传输视频会话将包括多个单独的TCP连接(用于音频和用于不同的视频分辨率)。
图7图示了由切片选择器存储的一些实施例的连接映射表700的条目。如图所示,这个表包括映射到切片标识符的5元组的条目。在一些实施例中,这些条目被生成为用于实现切片选择器的基于流的转发元件的流条目。对于每个流条目,匹配条件是连接5元组,并且动作是将数据消息指派给指定的切片。如这个表700所示,单个源设备(例如,IP1)可以具有指派给多个不同网络切片的多个正在进行的连接(例如,用于并发的网络浏览连接和音频流)。此外,切片选择器可能会将多个不同设备的连接指派给同一个切片(例如,多辆自动驾驶汽车、两个设备同时传输视频)。在一些实施例中,除了5元组之外的附加信息被包括在匹配条件中(例如,VLAN信息或其它虚拟网络标识符)。
切片选择器510然后与目的地网络域交换连接发起消息,这次充当设备而不是目的地域。这些连接发起消息经由选择的网络切片被传输,使得选择的网络切片上的所有网络服务处理连接发起消息。如图所示,切片选择器510经由选择的网络切片和出口网关515将SYN消息发传输网络域520。在一些实施例中,出口网关515还存储连接到切片映射状态,使得来自网络域520的返回流量也可以经由选择的网络切片被传输。网络域520返回SYN-ACK消息,出口网关515经由选择的网络切片传输该SYN-ACK消息。这个消息没有到达端点设备510,因为切片选择器510识别出SYN-ACK消息并将ACK消息返回到网络域(经由选择的网络切片)。此时,端点设备505和网络域520之间的连接被完全发起,因为整个3向握手已经完全交换。
切片选择器510然后可以经由选择的网络切片向网络域520传输数据请求(即,对其执行深度分组检查的初始数据消息)。用于连接的后续数据消息也在端点设备505和网络域520之间交换,并且切片选择器510使用存储的状态将这个流量指派给选择的网络切片,而不执行深度分组检查(如出口网关515对于返回流量所做的)。这避免对用于连接的每个数据消息执行深度分组检查,这可能是不可能的,因为所需的信息可能不在属于该连接的所有数据消息的L5-L7报头中。图8概念性地图示了这种数据消息800。数据消息800具有与数据消息600相似的L3和L4报头,但L7报头不包括相同的网络域信息。代替地,数据消息的L7部分包括对一些实施例的切片选择器没有用的有效载荷数据(例如,视频或音频数据)。
图9概念性地图示了用于通过终止连接握手来将端点设备和目的地网络域之间的连接指派给VSN的网络切片的一些实施例的处理900。在一些实施例中,处理900由诸如图5中所示的切片选择器510之类的切片选择器来执行。类似的处理可以在其它类型的网络中由切片选择器执行(例如,未到达公共互联网的数据中心内或数据中心间通信)。
如图所示,处理900开始于从端点设备(例如,电话、自动驾驶汽车、平板电脑、IoT设备)接收(在905)连接发起消息。这个消息可以是TCP SYN消息、TLS握手的初始消息、UDP上的QUIC协议消息或其它连接发起消息。然后,该处理执行(在910)与端点设备的连接握手的其余部分,同时存储握手消息(或重新创建握手消息所需的数据)的副本。例如,在TCP 3向握手示例中,切片选择器与端点设备交换SYN-ACK和ACK消息,从而在这个握手中充当服务器。对于优化的单消息连接初始化(例如,QUIC协议),不要求这个操作,并且切片选择器或者对初始消息执行深度分组检查,或者对后续消息执行深度分组检查,而无需与端点设备执行握手。
一旦在端点设备上已经建立了连接,处理900就从端点设备接收(在915)用于连接的初始数据消息。这可以是诸如图6中所示的http get消息,或者另一个数据消息。在许多情况下,这个数据消息将包括对执行切片选择有用的信息,因此处理900分析(在920)数据消息以选择用于连接的网络切片。这种深度分组检查可以检查正在联系的域的名称、正在使用的特定L7协议(例如,识别发起连接的应用的类型)或数据消息的更高层报头中的其它信息。处理900还存储(在925)将连接(例如,使用5元组)映射到选择的网络切片的状态。这个信息可以存储在诸如图7中所示的连接映射表中(例如,通过为连接生成新的流条目)。
接下来,处理900经由选择的网络切片向目的地网络域传输(在930)连接握手消息,以便在端点设备和网络域之间建立连接。在消息的这种交换中,切片选择器充当端点设备而不是网络域,从而允许网络域服务器建立连接。这也允许选择的网络切片的网络服务处理连接发起消息,以便这些服务将为后续的数据消息做好准备(例如,防火墙常常会被配置为拒绝用于它没有为其处理原始的3向握手消息的TCP连接的数据消息)。
处理900还经由选择的网络切片向目的地网络域传输(在935)初始数据消息。此外,处理900使用存储的连接映射状态经由选择的网络切片接收和传输(在940)用于连接的后续数据消息。存储的状态允许切片选择器为从端点设备到选择的网络切片的连接指派每个数据消息,而无需执行深度分组检查(如前面所提到的,对于许多后续数据消息甚至可能无法执行)。
如所提到的,一些实施例不是在切片选择器处终止连接发起消息,而是最初将这些消息传递到默认网络切片上的目的地,然后在选择网络切片之后通过用于连接的正确网络切片重放消息。图10图示了示出端点设备1005、切片选择器1010、出口网关1015和网络域1020(例如,服务器)之间的交互以传输用于连接的消息的流程图,其中切片选择器和出口网关执行握手重放。这个示例图示了由端点设备1005使用TCP三向握手发起的连接,但是一些实施例的切片选择器1010还能够为其它类型的连接发起消息传递(例如,TLS握手、UDP上的QUIC连接)执行类似的重放。在这个示例中,私有云和公共云的集合(例如,通过SD-WAN或MPLS连接)托管被切片的虚拟服务网络(在切片选择器1010和出口网关1015之间),而出口网关1015将这个VSN连接到互联网(和网络域1020)。
如图所示,端点设备1005(例如,智能电话、自动驾驶汽车、IoT设备)最初传输指向网络域1020的TCP SYN消息(例如,使用目的地IP地址用于网络域)。如上所述,这种消息不具有供切片选择器1010使用以便将正在发起的连接指派给网络切片之一的有用的L5-L7报头信息。在这种情况下,切片选择器1010不是终止握手并响应端点设备,而是将TCP SYN消息指派给默认网络切片并通过这个网络将消息传输到网络域1020(经由出口网关1015)。此外,切片选择器1010和出口网关1015都存储SYN消息的记录(即,消息本身或足够的数据来重新创建消息)。网络域1020用SYN-ACK消息回复,出口网关1015将该消息指派给默认切片,并且切片选择器类似地对待来自端点设备1005的ACK消息。
随着端点设备1005和网络域1020之间的连接建立,端点设备1005然后发送数据请求消息(或其它消息)。这个消息通常将具有切片选择器将连接正确指派给特定于应用或特定于设备的网络切片所需的L5-L7信息。上面描述的图6概念性地图示了这种消息600的示例。
切片选择器1010对数据消息(在这种情况下,数据请求)执行深度分组检查以识别用于连接的正确网络切片。在一些实施例中,这涉及检查L5-L7报头(例如,图6中所示的http数据)。此外,切片选择器1010存储将连接映射到选择的网络切片的状态,以用于处理后续数据消息。在一些实施例中,切片选择器将这个映射存储为映射到切片标识符的连接5元组(即,源和目的网络地址、传输层协议、源和目的传输层端口),如如上所述的图7中所示。此外,一些实施例识别将要求指派给同一网络切片的相关连接,并且也为这些连接存储状态。作为示例,在一些实施例中,流传输视频会话将包括多个单独的TCP连接(用于音频和用于不同的视频分辨率)。
但是,在将数据消息传输到选择的切片上之前,切片选择器通过选择的网络切片重放连接发起消息。选择的切片的各种网络服务还没有处理连接发起消息,因此如果这些数据消息是在没有重放握手的情况下发送的,那么很可能拒绝用于连接的数据消息。因此,如图所示,切片选择器1010使用其存储的数据与出口网关515交换TCP 3向握手消息,出口网关515也存储了用于这些消息的信息。SYN、SYN-ACK和ACK消息经由选择的网络切片在切片选择器1010和出口网关1015之间传输。这些消息不传输到虚拟服务网络之外(即,传输到或者端点设备或者公共互联网),因为在端点设备1005和网络域1020之间已经建立了连接。在一些实施例中,出口网关1015还存储连接到切片映射状态,使得来自网络域1020的返回流量可以经由选择的网络切片被传输。
一旦这些消息已经被重放,选择的切片的网络服务就将已经处理连接发起消息并且因此为端点设备和目的地网络域之间的后续数据消息流量做好准备。如图所示,切片选择器1010经由选择的网络切片向网络域1020传输数据请求(即,对其执行深度分组检查的初始数据消息)。用于连接的后续数据消息也在端点设备1005和网络域1020之间交换,并且切片选择器1010使用存储的状态将这个流量指派给选择的网络切片,而不执行深度分组检查(如出口网关1015对于返回流量所做的)。这避免对用于连接的每个数据消息执行深度分组检查,这可能是不可能的,因为所需的信息可能不在属于该连接的所有数据消息的L5-L7报头中(例如,如图8的数据消息800所示)。
图11概念性地图示了用于通过重放连接握手消息将端点设备和目的地网络域之间的连接指派给VSN的网络切片的一些实施例的处理1100。在一些实施例中,处理1100由诸如图10中所示的切片选择器1010之类的切片选择器来执行。类似的处理可以在其它类型的网络中由切片选择器执行(例如,未到达公共互联网的数据中心内或数据中心间通信)。
如图所示,处理1100开始于从端点设备(例如,电话、自动驾驶汽车、平板电脑、IoT设备)接收(在1105)连接发起消息。这个消息可以是TCP SYN消息、TLS握手的初始消息、UDP上的QUIC协议消息或其它连接发起消息。然后,该处理经由默认网络切片将连接发起消息(即,初始消息和任何后续消息)传输(在1110)到目的地网络域以在端点设备和网络域之间建立连接。类似地,对于从端点域发送的连接发起握手的返回消息,切片选择器经由默认切片接收这些消息并将它们传输到端点设备。
在连接发起握手期间,该处理存储(在1115)关于握手消息的数据(即,消息的副本,或重新创建消息所需的数据)。例如,在TCP 3向握手的情况下,切片选择器存储数据以便发送SYN和ACK消息。对于单消息连接发起(例如,QUIC协议),不要求这个操作,并且一些实施例的切片选择器对初始消息执行深度分组检查,以避免需要使用默认切片。
一旦在端点设备上建立了连接,处理1100就从端点设备接收(在1120)用于连接的初始数据消息。这可以是如图6中所示的http get消息,或者是另一个数据消息。在许多情况下,这个数据消息将包括对执行切片选择有用的信息,因此处理1100分析(在1125)数据消息以选择用于连接的网络切片。这种深度分组检查可以检查正在联系的域的名称、正在使用的特定L7协议(例如,识别发起连接的应用类型)或数据消息的更高层报头中的其它信息。处理1100还存储(在1130)将连接(例如,使用5元组)映射到选择的网络切片的状态。这个信息可以存储在诸如图7所示的连接映射表中(例如,通过为连接生成新的流条目)。
接下来,处理1100经由选择的网络切片重放(在1135)与出口网关的连接握手消息。在消息的这种交换中,切片选择器充当客户端(即,端点设备),并且出口网关充当服务器(即,网络域)。在TCP 3向握手示例中,切片选择器发送SYN消息,从出口网关接收SYN-ACK消息,并发送ACK消息。这样做的目的是允许选择的网络切片的网络服务处理连接发起消息,以便这些服务为后续数据消息做好准备(例如,防火墙常常会被配置为拒绝用于它没有为其处理原始的3向握手消息的TCP连接的数据消息)。
处理1100还经由选择的网络切片向目的地网络域传输(在1140)初始数据消息。此外,处理1100使用存储的连接映射状态经由选择的网络切片接收和传输(在1145)用于连接的后续数据消息。存储的状态允许切片选择器为从端点设备到选择的网络切片的连接指派每个数据消息,而无需执行深度分组检查(如前面所提到的,对于许多后续数据消息甚至可能无法执行)。
图12概念性地图示了在握手重放情况期间出口网关的一些实施例的处理1200。在图10所示的示例中(即,其中VSN在电信服务提供商接入网上实现),执行处理1200的出口网关是将VSN连接到公共互联网的网关。
如图所示,处理1200开始于经由默认网络切片从端点设备接收(在1205)连接握手消息的集合并且经由默认网络切片从目的地网络域传输用于到端点设备的连接的返回消息。出口网关接收由端点设备发送的消息,并将这些消息传输到它们的目的地,此外还接收返回流量并朝着切片选择器将其发送到默认网络切片上(并最终发送到端点设备)。此外,处理1200存储(在1210)关于握手消息的数据(即,消息的副本,或重新创建消息所需的数据)。例如,在TCP 3向握手的情况下,出口网关存储数据以便发送SYN-ACK消息。对于单消息连接发起(比如QUIC协议),这个操作就不需要了,并且一些实施例的切片选择器对初始消息执行深度分组检查以避免需要使用默认切片或执行握手重放。
一旦在端点设备和网络域之间建立了连接,处理1200就经由选择的网络切片从切片选择器接收(在1215)连接发起消息的重放。此时,切片选择器将接收到来自端点设备的数据消息,使用深度分组检查将连接指派给其中特定一个可能的网络切片,然后通过向出口网关发送初始连接发起消息开始重放处理。处理1200使用存储的用于这些消息的数据经由选择的网络切片执行(在1220)与切片选择器的连接握手的完整重放。即,出口网关将初始连接发起消息识别为与存储的握手消息数据集对应并使用存储的数据集来执行重放。例如,在TCP 3向握手示例中,出口网关接收SYN消息,将SYN-ACK消息发送到切片选择器,并接收ACK消息。这使得选择的网络切片的网络服务能够处理完整的握手消息集,并为属于连接的其余数据做好准备。
处理1200存储(在1225)将连接(例如,使用5元组)映射到选择的网络切片的状态。这个信息可以存储在诸如图7所示的连接映射表中(例如,如果网关是基于流的转发元件,那么通过为连接生成新的流条目)。使用这个存储的状态,处理1200接收(在1230)属于连接的后续返回数据消息(即,来自公共网络域)并将其经由选择的网络切片传输到端点设备。
其它实施例可以使用其它技术来建立将连接映射到网络切片的状态。在一些实施例中,切片选择器与外部组件集成(例如,通过控制平面通道),该外部组件向切片选择器提供填充的连接到切片映射表,切片选择器使用该外部组件来执行有状态切片选择(从而避免切片选择器执行深度分组检查的要求)。在不同的实施例中,外部组件可以提供完全预填充的连接到切片映射表,或者随着端点设备发起连接而逐渐用更新填充该表。作为示例,一些实施例的切片选择器可以与5G网络切片选择功能(NSSF)集成,从而允许NSSF定义连接到切片映射。在一些此类实施例中,NSSF向切片选择器提供映射状态,切片选择器使用该状态来为数据分组选择正确的切片。即,离线外部组件提供连接到切片映射状态,并且切片选择器在数据平面中强制执行这个状态。
有状态的切片选择,其中检查初始数据消息以选择用于连接的网络切片并且基于由切片选择器存储的状态将后续数据消息指派给网络切片,只要相同的切片选择器(和出口网关)处理用于连接的所有数据流量就工作。但是,在具有与不同地理范围相关联的多个切片选择器的分布式网络(例如,电信服务提供商接入网)中,移动设备(例如,智能电话、平板电脑、自动驾驶汽车)可以从由第一切片选择器服务的一个地理范围移动到由第二切片选择器服务的另一个地理范围(例如,当从一个基站移动到另一个基站时,在向同一集中式单元提供流量的基站的组之间,当从WiFi网络移动到蜂窝网络时),同时维持连接。不同的实施例使用不同的技术来确保状态得以维持,而无需端点设备方面的动作。
在一些实施例中,第二切片选择器(移动设备移动到的区域的切片选择器)向第一切片选择器(连接被发起时移动设备所在区域的切片选择器)转发用于连接的所有数据消息)。即,第二切片选择器接收指示第一切片选择器是用于连接的切片映射状态的位置的数据,从而将用于连接的数据流量转发到第一切片选择器。
图13概念性地图示了移动设备1300从第一切片选择器区域移动到第二切片选择器区域,其中第二切片选择器通过两个阶段1305-1310将数据业务从移动设备1300转发到第一切片选择器。如第一阶段1305中所示,移动设备1300在位于由第一切片选择器1320服务的第一地理区域1315中时发起与公共网络目的地(未示出)的连接。相邻(并且在一些情况下,部分重叠的)地理区域1325由第二切片选择器1330服务。在一些实施例中,每个切片选择器位于与5G集中式单元(CU)对应的边缘云中,该单元涵盖多个分布式单元(DU)范围(即,多个小区塔)。
当移动设备1300发起连接(这可以只是由设备发起的多个连接中的一个(例如,在单个PDU会话中))时,第一切片选择器1320将连接指派给切片1335,在接入网上实现的虚拟服务网络的若干切片之一。如图所示,在通过出口网关(未示出)将数据传输到互联网之前,网络切片1335包括三个VNF A-C。在执行深度分组检查以选择网络切片之后,第一切片选择器1320存储将连接(在这种情况下,IP1和IP2之间的TCP连接)映射到选择的网络切片的状态数据。如上面所提到的,这个状态数据可以作为流条目(或流条目的集合)、作为连接表中的条目或以其它方式存储。对于属于这个连接的来自移动设备1300的后续流量,切片选择器1320将流量指派给选择的网络切片1335(来自设备1300的其它连接可以被指派给其它切片)。用于连接的返回流量在出口网关处从互联网接收,它使用类似的存储的状态将这个流量指派给同一个网络切片1335。这个返回流量由网络切片1335的VNF以相反的次序处理,然后从切片选择器1300发送到移动设备1300。
但是,在第二阶段,移动设备1300已经移动到第二地理区域1325,因此不再连接到第一切片选择器1320(即,移动设备1300连接到向第二切片选择器1330而不是第一切片选择器1320提供流量的不同基站)。第二切片选择器1330不具有连接到切片映射状态以将来自设备1300的这个数据流量指派给正确的网络切片,并且在许多情况下,数据消息在L5-L7报头中将不包括用于让切片选择器1330将连接指派给网络切片的必要数据。照此,第二切片选择器1330将这个流量转发到第一切片选择器1320,第一切片选择器1320使用其存储的状态信息将流量指派给选择的网络切片1335。在处于第二地理区域1325中时由设备1300起动的新连接将被第二切片选择器1330指派给正确的切片。
为了让第二切片选择器1330向第一切片选择器1320传输数据流量,在一些实施例中,第二切片选择器1330经由两个切片选择器之间的可路由网络发送分组。即,在这样的实施例中,在实现切片选择器的两个边缘云之间存在可路由网络,其可以被用于在两个切片选择器之间传输数据流量。在其它实施例中,数据流量可以通过核心云(如果两个边缘云连接到同一个核心云)或其它WAN连接被发送,或者通过VSN控制器(虽然如果大量流量在切片选择器之间传输,那么这个解决方案不是最优的)被发送。
在不同实施例中,对正在进行的连接的反向(返回)流量进行不同的处理,因为在一些实施例中切片选择器不需要连接状态来处理返回流量并将这个返回流量发送到设备1300。但是,在许多情况下,其中至少一个网络服务是有状态的并且与切片选择器在同一位置(例如,同一边缘云)实现,因此返回流量需要被发送到那个边缘云以用于那些网络服务的相同实施方式(即,具有第一切片选择器1320的第一边缘云中的VM而不是具有第二切片选择器1330的第二边缘云中的VM)。第一切片选择器1320然后将这个返回流量转发到第二切片选择器1330,以便第二切片选择器1330将数据转发到移动设备1300(例如,通过RAN)。在一些实施例中,核心云中的服务链接模块使用其学习功能(例如,MAC学习特征)将返回流量自动传输到第一切片选择器1320,从第一切片选择器1320接收源自移动设备1300的流量。此外,在一些实施例中,第一切片选择器1320在从第二切片选择器1330接收用于连接的流量时使用类似的学习功能,使得它自动将返回流量转发到两个切片选择器之间的网络上(这导致流量返回到第二切片选择器1330)。例如,当两个切片选择器之间存在可路由网络时,第一切片选择器1320存储它从第二切片选择器1330接收流量的路由器的MAC地址,以便可以使用存储的MAC地址将返回流量转发到这个路由器。其它实施例在切片上使用单独的入口网关功能(即,在第一网络服务之前),该切片负责将返回流量发送到正确的切片选择器。
为了使第二切片选择器1330将用于特定连接的数据流量转发到第一切片选择器1320,第二切片选择器需要接收指示第一切片选择器1320具有用于该连接的状态信息的数据。在不同的实施例中,第一切片选择器或者(i)将状态位置信息推送到网络控制器(例如,上面提到的VSN控制器),第二切片选择器从中检索状态位置信息或者(ii)将状态位置推送推送到第二切片选择器。
图14通过三个阶段1405-1415概念性地图示了第一切片选择器1420将状态位置信息1400推送到中央控制器1425并且第二切片选择器1430从中央控制器1425检索状态位置信息的示例。如第一阶段1405中所示,与图13的示例一样,移动设备1435在位于与第一切片选择器1420相关联的第一地理区域1440中时发起与公共网络目的地的连接。第一切片选择器将连接指派给网络切片1445,将来自属于这个连接的移动设备1440的数据流量转发到这个切片(即,转发到这个切片的网络服务),并存储将连接映射到选择的网络切片的连接状态。
此外,第一切片选择器1420将信息推送到网络控制器1425,指定第一切片选择器是用于这个连接的片映射状态的位置。在一些实施例中,这个网络控制器是向其中实现VSN的多个数据中心处的控制器提供VSN配置数据的VSN控制器。具体而言,在一些实施例中,第一切片选择器1420向其数据中心本地的控制器之一(例如,配置切片选择器的SDN控制器)提供切片映射状态位置数据,该控制器进而将状态位置数据传递给VSN控制器,以便其它数据中心处的切片选择器可以访问它。
在第二阶段1410中,移动设备1435已经移动到与第二切片选择器1430相关联的第二地理范围1450。在从设备1435接收到用于第二切片选择器1430无法识别的正在进行的连接的数据消息时,这个切片选择器1430向控制器1425发送请求(例如,通过向其数据中心本地的控制器之一发出这种请求,该控制器进而将请求发送到VSN控制器)。控制器1425存储这个状态位置信息1400,并因此将信息1400返回到第二切片选择器1430(例如,经由第二切片选择器1430的数据中心本地的控制器)。
基于这个状态位置信息,在第三阶段1415中,第二切片选择器1430能够将用于这个连接的数据消息(以及用于该连接的后续数据消息)转发到第一切片选择器1420,其可以将数据转发到选择的网络切片1445上。在一些实施例中,数据中心到数据中心的连接(即,可路由网络)存在于边缘云之间,而在其它实施例中,这个流量通过核心云或其它网络从一个切片选择器传递到另一个切片选择器。
在其它实施例中,通过其发起连接的切片选择器将状态位置信息推送到其它切片选择器(例如,地理上相邻的切片选择器),使得如果发起连接的移动设备移动到新的地理区域,那些其它切片选择器具有可用的状态位置信息。图15概念性地图示了第一切片选择器1515通过两个阶段1505-1510将状态位置信息1500推送到第二切片选择器1520的示例。如第一阶段1505自己所示,与图13的示例一样,移动设备1525在位于与第一切片选择器1515相关联的第一地理区域1530中时发起与公共网络目的地的连接。第一切片选择器1515将连接指派给网络切片1535,将来自属于这个连接的移动设备1525的数据流量转发到这个切片(即,转发到这个片的网络服务),并存储将连接映射到选择的网络切片的连接状态。
此外,第一切片选择器1515将信息推送到第二切片选择器1520,指定第一切片选择器1515是用于这个连接的切片映射状态的位置。不同的实施例以不同的方式传输状态位置信息。在一些实施例中,对于在两个切片选择器之间发送的数据流量,这个信息通过数据网络(例如,经由可路由的数据中心到数据中心网络,通过边缘云)被传输(但作为切片选择器的控制平面接口之间的控制平面数据),而在其它实施例中,状态位置信息被推送到控制器(即,如图14中所示),控制器进而自动地将状态位置信息推送到第二切片选择器1520。在不同的实施例中,可以将状态位置信息推送到具有相邻地理范围的特定切片选择器、推送到用于特定网络(例如,用于特定网络服务提供商)的所有切片选择器,或推送到切片选择器的其它组合。
在第二阶段1510中,移动设备1525已经移动到与第二切片选择器1520相关联的第二地理范围1540。在从设备1525接收到针对正在进行的连接的数据流量时,第二切片选择器1520可以将那个数据流量映射到它已经存储的状态位置数据并将数据消息转发到第一切片选择器1515,第一切片选择器1515将数据转发到选择网络切片1535上。在一些实施例中,数据中心到数据中心的连接(即,可路由网络)存在于边缘云之间,而在其它实施例中,这个流量通过核心云或其它网络从一个切片选择器传递到另一个切片选择器。
不是用于连接的数据总是被转发到移动设备通过其发起连接的原始切片选择器,而是其它实施例向移动设备移动到的其它切片选择器提供用于连接的切片映射状态的。第二切片选择器(即,移动设备移动到的范围内的切片选择器)接收连接的切片映射状态,从而能够在不涉及第一网络切片选择器(通过它发起连接)的情况下将用于连接的数据消息转发到网络切片。
图16概念性地图示了移动设备1600从第一切片选择器区域移动到第二切片选择器区域,其中第二切片选择器通过两个阶段1605-1610接收用于连接的切片映射状态并且使用切片映射状态转发用于该连接的数据流量。如第一阶段1605中所示,移动设备1600在位于由第一切片选择器1620服务的第一地理区域1615中时发起与公共网络目的地(未示出)的连接。相邻(并且在一些情况下,部分重叠的)地理区域1625由第二切片选择器1630服务。在一些实施例中,每个切片选择器位于与5G集中式单元(CU)对应的边缘云中,该单元涵盖多个分布式单元(DU)范围(即,多个小区塔)。
当移动设备1600发起连接(这可以只是由设备发起的多个连接中的一个(例如,在单个PDU会话中))时,第一切片选择器1620将连接指派给切片1635,通过接入网实现的多个VSN切片之一。如图所示,在通过出口网关(未示出)将数据传输到互联网之前,网络切片1635包括三个VNF A-C。在执行深度分组检查以选择网络切片之后,第一切片选择器1620存储将连接(在这种情况下,IP1和IP2之间的TCP连接)映射到选择的网络切片的状态数据。如上面所提到的,这个数据可以作为流条目(或流条目集)、作为连接表中的条目或以其它方式被存储。对于属于这个连接的来自移动设备1600的后续流量,切片选择器1620将流量指派给选择的网络切片1635(来自设备1600的其它连接可以被指派给其它切片)。用于连接的返回流量在出口网关处从互联网接收,它使用类似的存储的状态将这个流量指派给同一个网络切片1635。这个返回流量由网络切片1635的VNF以相反的次序处理,然后从切片选择器1600发送到移动设备1600。
但是,在第二阶段,移动设备1600已经移动到第二地理区域1625,因此不再连接到第一切片选择器1620(即,移动设备1600连接到提供到向第二切片选择器1630而不是第一切片选择器1620提供流量的不同基站)。在这种情况下,不是将数据从移动设备1600转发到第一切片选择器1620,而是第一切片选择器1620向第二切片选择器1630提供了用于连接到切片映射状态。照此,第二切片选择器1630可以将这个数据直接转发到为连接选择的网络切片1635,而无需执行任何深度分组检查。
在一些实施例中,用于切片的网络服务中的一个或多个是有状态的并且与切片选择器一起在边缘云中实现。如果服务是无状态的,那么当流量移动到第二切片选择器1630时,新边缘云中的那些服务的实例可以毫无问题地处理流量。但是,当边缘云中的网络服务是有状态的时,一些实施例将状态从具有第一切片选择器1620的边缘云中的服务的实例转移到具有第二切片选择器1630的边缘云中的网络服务的实例。一些实施例利用的另一个选项是将网络服务实例从第一边缘云迁移到第二边缘云。但是,如果网络服务实例正在处理针对大量连接的流量,那么这个选项具有中断其它连接的缺点。在一些其它实施例中,如果用于选择的切片的任何网络服务是有状态的并且在边缘云中使用切片选择器实现,那么不向第二切片选择器提供用于连接的切片映射状态,而是代替地将数据流量转发到第一切片选择器,如上面图13-15中所示。
在不同的实施例中,第二切片选择器1630可以直接从第一切片选择器或从网络控制器(例如,上面提到的VSN控制器)接收状态。在一些此类实施例中,第一切片选择器将状态或者(i)直接推送到第二切片选择器(例如,在设备已经移动到第二切片选择器的地理区域之前)或者(ii)推送到网络控制器,第二切片选择器从中检索状态。在其它此类实施例中,第一切片选择器将用于状态的位置信息推送到网络控制器,并且第二切片选择器从网络控制器检索这个位置信息,然后使用这个位置信息从第一切片选择器检索状态。
图17通过三个阶段1705-1715概念性地图示了第一切片选择器1720将切片映射状态1700推送到中央控制器1725并且第二切片选择器1730从中央控制器1725检索切片映射状态的示例。如第一阶段1705中所示,与图16的示例中一样,移动设备1735在位于与第一切片选择器1720相关联的第一地理区域1740中时发起与公共网络目的地的连接。第一切片选择器1720将连接指派给网络切片1745,将来自属于这个连接的移动设备1740的数据流量转发到选择的切片(即,转发到这个切片的网络服务)并存储将该连接映射到选择的网络切片的连接状态1700。
此外,第一切片选择器1720将连接到切片映射状态1700推送到网络控制器1725,以便其它切片选择器可以在需要时检索这个状态。在一些实施例中,这个网络控制器是向其中实现VSN的多个数据中心处的控制器提供VSN配置数据的VSN控制器。具体而言,在一些实施例中,第一切片选择器1720将切片映射状态1700提供给其数据中心本地的控制器之一(例如,配置切片选择器的SDN控制器),控制器进而将该状态传递给VSN控制器以便其它数据中心处的切片选择器可以访问它。
在第二阶段1710中,移动设备1735已经移动到与第二切片选择器1730相关联的第二地理范围1750。在从设备1735接收到用于第二切片选择器1730无法识别的正在进行的连接的数据消息时,这个切片选择器1730向控制器1725发送请求(例如,通过向其数据中心本地的控制器之一发出这种请求,控制器进而将请求发送到VSN控制器)。控制器1725存储在这个请求中指定的用于连接的切片映射状态1700,并因此将状态1700返回到第二切片选择器1730(例如,经由第二切片选择器1730的数据中心本地的控制器)。
基于这个切片映射状态,在第三阶段1715,第二切片选择器1730能够处理从移动设备1735接收的数据消息(以及用于这个连接的后续数据消息)并将这个数据消息转发到选择的网络切片(即,在用于连接的切片映射状态中指定的切片)上。
在其它实施例中,通过其发起连接的切片选择器仅向控制器提供状态位置信息,从而允许其它切片选择器检索状态位置信息并使用该信息直接从第一切片选择器检索切片映射状态。图18A-B通过四个阶段1805-1820概念性地图示了第一切片选择器1825将状态位置信息1840推送到控制器1830并且第二切片选择器1835检索状态位置信息1840并使用那个状态位置信息1840从第一切片选择器1830中检索切片映射状态1800的示例。如第一阶段1805中所示,与图16的示例中一样,移动设备1845在位于与第一切片选择器1825相关联的第一地理区域1850中时发起与公共网络目的地的连接。第一切片选择器1825将这个连接指派给网络切片1855,将来自属于这个连接的移动设备1845的数据流量转发到选择的网络切片1855(即,转发到这个切片的网络服务),并存储将连接映射到选择的网络切片的连接状态1800。
此外,第一切片选择器1825将状态位置信息1840推送到网络控制器1830,指定第一切片选择器是用于这个连接的切片映射状态的位置。在一些实施例中,这个网络控制器是向其中实现VSN的多个数据中心处的控制器提供VSN配置数据的VSN控制器。具体而言,在一些实施例中,第一切片选择器1825将切片映射状态位置数据1840提供给其数据中心本地的控制器之一(例如,配置切片选择器的SDN控制器),该控制器进而将状态位置数据传递到VSN控制器,以便其它数据中心处的切片选择器可以访问它。
在第二阶段1810中,移动设备1845已经移动到与第二切片选择器1835相关联的第二地理范围1860。在从设备1845接收到用于第二切片选择器1835无法识别的正在进行的连接的数据消息时,这个切片选择器1835向控制器1830发送请求(例如,通过向其数据中心本地的控制器之一发出这种请求,该控制器进而将请求发送到VSN控制器)。控制器1830存储这个状态位置信息1840,并因此将信息1840返回到第二切片选择器1835(例如,经由位于第二切片选择器1835的数据中心本地的控制器)。
基于这个状态位置信息,在第三阶段1815中,第二切片选择器1830向第一切片选择器1825发送对于用于连接的切片映射状态的请求。在一些实施例中,这个请求指定连接(例如,通过5元组),并且以被第一切片选择器1825识别的特定方式格式化为对于切片映射状态的请求。作为响应,第一切片选择器1825向第二切片选择器1835发送用于连接的切片映射状态1800。在一些实施例中,边缘云之间存在可路由的数据中心到数据中心连接,而在其它实施例中,请求和后续响应通过核心云或其它网络从一个切片选择器传递到另一个切片选择器。
在第四阶段1820中,第二切片选择器1835能够处理从移动设备1845接收的数据消息(以及用于这个连接的后续数据消息)并将这个数据消息转发到选择的网络切片1855(即,在用于连接的切片映射状态中指定的切片)上。
在还有其它实施例中,通过其发起连接的切片选择器将切片映射状态推送到其它切片选择器(例如,地理上相邻的切片选择器),使得那些其它切片选择器具有用于如果发起连接的移动设备移动到新的地理区域则可用的连接的切片映射状态。图19概念性地图示了第一切片选择器1915通过两个阶段1905-1910将切片映射状态1900推送到第二切片选择器1920的示例。如第一阶段1905中所示,与图16的示例中一样,移动设备1925在位于与第一切片选择器1915相关联的第一地理区域1930中时发起与公共网络目的地的连接。第一切片选择器1915将连接指派给网络切片1935,将来自属于这个连接的移动设备1925的数据流量转发到这个切片(即,转发到这个切片的网络服务),并存储将连接映射选择的网络切片的连接状态。
此外,第一切片选择器1915将用于连接的切片映射状态1900推送到第二切片选择器1920,指示该连接被指派给网络切片1935。不同的实施例以不同的方式传输切片映射状态。在一些实施例中,状态通过数据网络被传输(例如,经由数据中心之间的可路由网络、通过边缘云),而在其它实施例中,状态被推送到控制器(即,如图17所示),控制器进而自动将状态推送到第二切片选择器1920。在不同的实施例中,切片映射状态可以被推送到具有相邻地理范围的特定切片选择器、推送到用于特定网络(例如,用于特定网络服务提供商)的所有切片选择器,或推送到切片选择器的其它组合。
在第二阶段1910中,移动设备1925已经移动到与第二切片选择器1920相关联的第二地理范围1940。在从设备1925接收到针对正在进行的连接的数据流量时,第二切片选择器1920能够处理从移动设备1925接收的数据消息(以及用于这个连接的后续数据消息)并将这个数据消息转发到选择的的网络切片1935(即,在用于连接的切片映射状态中指定的切片)上。
在多个上述示例中,第一切片选择器将切片映射状态(或状态位置信息)推送到第二控制器。在一些实施例中,第一切片选择器将其所有切片映射状态(或用于那些连接的状态位置信息)推送到相邻地理区域的切片选择器,以防在第一切片选择器的地理区域内发起连接的移动设备移动到任何相邻的地理区域。在其它此类实施例中,第一切片选择器使用移动设备的位置数据(如果该数据可用)将状态信息推送到用于设备可能移动到的相邻地理区域的切片选择器。
图20概念性地图示了根据一些实施例的与第一地理区域2005相关联的第一切片选择器2000将切片映射状态推送到其所有相邻地理区域。在这个示例中,第一地理区域2005具有六个相邻的地理区域2010-2035。这些地理区域2005-2035在这个示例中都是圆形且尺寸相等,但应当理解的是,实际地理区域的尺寸和形状可以因各种原因而有所不同(例如,不同的切片选择器与不同数量的基站相关联)、不同基站具有不同的相关联地理区域)。当位于第一地理区域2005中的移动设备发起连接时,与这个区域相关联的切片选择器2000将切片映射状态推送到与相邻地理区域2010-2035相关联的所有切片选择器。
一些实施例仅将切片映射状态(或状态位置信息)推送到直接相邻的区域(即,部分重叠或邻接发起连接的区域的区域),而其它实施例将状态推送到附加的区域(例如,所有区域、与发起连接的区域的所有相邻区域相邻的区域)。在一些实施例中,切片选择器配置有它向其推送切片映射状态(或状态位置信息)的所有区域的列表,并且将这个状态直接推送到用于那些其它区域的切片选择器(例如,通过经由数据中心之间的连接传输信息)。一旦移动设备移动到不同区域并且用于那个区域的切片选择器使用切片映射状态处理来自移动设备的用于连接的数据流量,在一些实施例中,用于新区域的切片选择器就也将状态推送到用于其相邻区域的切片选择器,以防移动设备继续移动。
其它实施例的切片选择器将状态推送到中央控制器(例如,VSN控制器),中央控制器自动将状态分发给用于相邻区域的切片选择器,在这种情况下,切片选择器不需要配置有将其状态推送到的切片选择器的列表,因为这是在控制器处进行处置的。
如上面所提到的,一些实施例使用用于移动设备的更精确的位置数据来智能地将切片映射状态(或状态位置信息)推送到特定的相邻区域。图21概念性地图示了移动设备2125在第一地理区域2105内移动并且用于那个区域的切片选择器2100将用于由移动设备发起的连接的切片映射状态仅推送到仅设备2125正在朝着其移动的相邻区域。如图所示,移动设备2125已经从靠近区域2105的中心移动到靠近区域2105与其相邻区域2115重叠的位置。此外,移动设备的移动向量指示该设备可能很快就会移动到区域2110中。照此,基于这个位置信息,第一切片选择器2100将用于由移动设备2125发起的任何连接的切片映射状态推送到用于区域2110和2115的切片选择器(但不推送到用于其其它图示的相邻区域2120的切片选择器)。关于何时将切片映射状态(或状态位置信息)推送到特定相邻区域(例如,使用相邻区域的阈值距离内的绝对位置、使用指示朝着相邻区域的移动的方向向量,或其它试探法),不同的实施例可以使用不同的试探法。
以上所有示例都说明了在物理基础设施(例如,电信服务提供商接入网)上实现的单个虚拟服务网络。但是,在一些实施例中,虚拟服务网络被分层地切片。即,虚拟服务网络的切片本身就是具有切片选择器和多个网络切片的虚拟服务网络。
图22概念性地图示了此类分层虚拟服务网络的示例。具体而言,这个图图示了具有切片选择器2205的提供商基础设施2200,该切片选择器2205在两个单独的虚拟服务网络2210和2215之间进行选择,每个虚拟服务网络具有多个切片。提供商基础设施2200是其自己的具有切片选择器2205的顶级虚拟服务网络,该切片选择器2205从各种设备2220(例如,计算机、智能电话、平板电脑、自动驾驶汽车、IoT设备)接收数据流量并将这个数据流量指派给两个不同的低级虚拟服务网络2210和2215之一。
例如,在一些实施例的电信服务提供商网络中,移动网络运营商(MNO)拥有接入和核心网络(即,RAN和EPC基础设施)的物理基础设施2200,并配置切片选择器2205处理来自订阅MNO的设备的流量。此外,MNO可以将物理基础设施租给一个或多个移动虚拟网络运营商(MVNO),这些运营商也具有使用相同基础设施的订户设备。在一些情况下,那些MVNO还将其虚拟基础设施租给附加MVNO或其它实体。在图22的示例中,MNO可能将切片选择器2205配置为在租户A的VSN 2210(针对其自己的订户设备)和租户B的VSN 2215(针对MVNO的订户设备)之间进行选择。
例如,由MNO配置的切片选择器2205基于源设备(例如,通过源网络地址)将数据消息指派给或者VSN 2210或者VSN 2215。因此,来自与MNO相关联的源设备的数据消息被发送到VSN 2210,而来自与MVNO相关联的源设备的数据消息被发送到由MVNO配置的VSN 2215。如果附加的MVNO也租用基础设施,那么切片选择器2205将具有可供选择的附加VSN(每个MVNO能够为其自己的VSN的切片配置切片选择器和网络服务集)。
VSN 2210和2215中的每一个也具有其相应的切片选择器2225和2230。在该示例中,这些切片选择器2225和2230中的每一个在两个可能的网络切片之间进行选择,但应当理解的是,正如提供商基础设施可以具有多个VSN供顶级切片选择器2205选择,每个VSN将常常包括许多切片。在一些实施例中,用于租户VSN的这些切片选择器2210和2215基于数据消息报头的各个方面执行附加的切片选择。例如,虽然在一些实施例中顶级切片选择器2205基于源设备网络地址选择VSN,但低级切片选择器2210和2215可能以上述有状态的方式将数据消息指派给切片(例如,使用深度分组检查以便以应用感知的方式将连接指派给切片)。
图23概念性地图示了提供商和租户切片选择器(以及网络切片的网络服务)在多个数据中心2305-2320上的分布。如图所示,在这个示例中,提供商切片选择器2325和租户切片选择器2330都在边缘云2305和2310中的每一个中实现。此外,虽然未示出,但是每个其它租户切片选择器也将在每个边缘云中实现(除非其它租户切片选择器在核心云中实现,如果用于那些租户VSN的任何切片的网络服务都没有在边缘云中实例化,那么一些实施例允许这一点)。此外,如图2中一样,所示网络切片2300的网络服务(VNF A-D)分布在边缘云2305和2310、核心云2315和公共云2320之间。
正如可以以不同方式实现单级切片选择器(例如,作为在VM或虚拟化软件内操作的基于流的转发元件、作为可编程物理转发元件、作为在VM和软件转发元件的端口之间执行的模块的单独集合),不同的实施例以不同的方式实现多级切片选择器2325和2330。当用于切片选择器的形状因子是VM或在VM内执行的转发元件时,一些实施例使用单独的VM用于提供商切片选择器2325的每个实例和租户切片选择器2330(以及任何其它租户切片选择器)的每个实例。例如,这允许提供商管理员与用于每个租户切片选择器的VM和转发元件分开地为提供商切片选择器2325配置VM和转发元件。
在这种情况下,当接入网接收到数据消息时,该消息(在任何初步处理之后,例如通过RAN)首先被发送到提供商切片选择器2325。在提供商切片选择器转发元件选择租户VSN之一(或提供商自己的VSN,实际上是另一个租户VSN)之后,提供商切片选择器2325将数据消息发送到同一边缘云(即,在这个示例中,边缘云2305)中用于选择的租户VSN的切片选择器2330。在一些实施例中,提供商切片选择器2325使用服务链接技术将数据消息发送到租户切片选择器2330,而在其它实施例中,提供商切片选择器2325此时完成对数据消息的处理,并且被简单地配置为将数据消息发送到适当的租户切片选择器(例如,切片选择器2330)。
这个租户切片选择器2330接收数据消息,为其选择的切片执行切片选择和服务链接(即,以图3中所示的相同方式),然后通过出口网关发送数据消息。如果网络分布在多个数据中心上(即,如这个示例中所示),那么在一些实施例中,租户VSN实施方式包括每个数据中心中的服务链接模块。在一些此类实施例中,提供商切片选择器2325不执行服务链接(即,租户切片选择器2330和/或服务链接模块在租户网络切片完成之后不向提供商切片选择器返回数据流量,因此在其它数据中心不要求提供商服务链接模块。
在图23的示例中,提供商切片选择器到租户切片选择器的映射是1:1。但是,在其它实施例中,顶级(提供商)切片选择器可能比低级(租户)切片选择器更分散。例如,在5G接入网中,一些实施例中的供应商切片选择器可以在每个DU处实现,而用于各个租户的切片选择器在每个CU处实现。在一些此类实施例中,租户切片选择器使用MAC学习来确定应当向哪个提供商切片选择器发送返回流量。在许多情况下,只有租户切片选择器使用有状态连接到切片映射,因此只有与不同租户切片选择器相关联的区域之间的移动才会使得应用上面参考图13-19描述的状态共享或状态位置共享技术(即,如果提供商切片选择器基于源网络地址或基于源设备的另一个值将数据消息指派给网络切片,那么不要求有状态映射)。在这种情况下,租户切片选择器将使用学习到的MAC地址将返回流量发送到正确的提供商切片选择器,而提供商切片选择器将是设备当前位置的正确提供商切片选择器,因为流量将不需要从一个提供商切片选择器发送到另一个提供商切片选择器。
在一些实施例中,不是分开实现不同级别的切片选择器,而是在与顶级(提供商)切片选择器相同的VM和/或转发元件中实现低级(租户)切片选择器。例如,在一些此类实施例中,第一流条目集合实现提供商切片选择器并且分开的流条目集合实现每个租户切片选择器。这些分开的流条目集合中的哪一个被评估(即,哪个租户切片选择器评估数据消息)取决于第一流条目集合中的哪一个与第一切片选择器匹配(即,数据消息指派给哪个租户VSN)。
在用于切片选择器的服务插入模型中,其中切片选择作为与软件转发元件的端口相关联的服务来执行,一些实施例将顶级(提供商)切片选择和低级(租户)切片选择作为单独的服务一个接一个地执行。即,数据消息首先由提供商切片选择器拦截,然后基于选择的租户VSN,数据消息由租户切片选择器之一拦截。
图24概念性地图示了根据一些实施例的提供商基础设施2200和多租户VSN 2210和2215的分叉控制。如图4中一样,VSN管理器和控制器2400(以下称为VSN控制器)是整个网络的集中式控制顶层。在一些实施例中,这个VSN控制器具有与租户VSN中的每一个对应的提供商VSN控制器2405以及租户VSN控制器2410和2415的单独实例。
在一些实施例中,单独的控制器实例2405-2415由具有不同管理特权的登录访问(即,使用基于角色的访问控制)。即,一些实施例的VSN控制器接口(CLI、GUI、API)提供对提供商管理员账户以及每个租户管理员的单独账户的不同登录。这些不同的账户能够向VSN控制器提供不同的配置数据集以配置相应的VSN。例如,提供商VSN控制器2405允许提供商配置顶级切片选择器、位于顶级的任何服务与选择的租户VSN之间的链接,以及一些实施例中数据中心之间的物理网络和网关。此外,这个提供商VSN控制器2405在一些实施例中包括管理提供商VSN的生命周期(例如,实例化切片选择器、网关和其它组件)和/或监视和优化提供商VSN实体和各种租户VSN。
在一些实施例中,租户VSN控制器2410和2415中的每一个允许相应租户单独配置他们相应的VSN。通过为管理员使用不同的登录,控制器2400隔离租户管理员以仅配置他们自己的VSN,而不配置任何其他租户VSN或提供商VSN。在一些实施例中,每个租户管理员能够配置他们相应的切片选择器、他们的各个切片的网络服务、切片选择器和网络服务之间的链接以及租户配置的其它方面。此外,在一些实施例中,租户VSN控制器2410和2415各自包括管理租户VSN和各种网络服务的生命周期和/或监视和优化各种网络服务(以及作为整体的切片)的功能。
如上面关于图4所描述的,在一些实施例中,每个数据中心具有其自己的控制器集合。在一些实施例中,这些控制器不区分顶级配置数据与低级配置数据。代替地,VSN控制器2400向这些控制器提供配置数据(例如,用于配置转发元件以在切片选择器和网络服务之间隧道传输数据消息的网络配置数据、切片选择器配置数据、网络服务配置数据),这些控制器针对不同级别以相同的方式配置各种实体。例如,在图24的示例中,提供商VSN控制器2405提供切片选择器配置,SDN控制器使用该配置来配置提供商切片选择器,但没有供计算控制器配置VNF的VNF配置数据。代替地,用于计算控制器的这个数据由各种不同的租户VSN控制器实例2410和2415提供。这些VSN控制器实例还为SDN控制器提供切片选择器配置数据,用于配置切片选择器。在一些实施例中,用于在数据中心之间传输数据流量的WAN配置仅由提供商VSN控制器2405提供给管理这些网关的SDN控制器(即,因为租户不管理物理基础设施)。
在图22的以上示例中,低级切片选择器2225和2230是在它们相应的VSN 2210和2215内处理数据消息的第一实体。一些实施例要求切片选择器作为VSN内的第一实体来处理数据消息。但是,在其它实施例中,在第一网络切片选择器选择其中一个VSN之后,这个VSN(它是顶级VSN的切片)可以包括在低级切片选择器执行其操作之前应用于数据消息以选择那个低级VSN中的切片的网络服务。类似地,在一些实施例中,在针对给定切片应用不同服务之后,可以将网络服务应用于虚拟服务网络内针对所有网络切片的数据消息。
图25概念性地图示了网络服务插入在切片选择器之间和/或在不同切片的服务完成之后的分层VSN的示例。这个图图示了具有在两个租户VSN 2510和2515之间进行选择的切片选择器2505的提供商基础设施VSN 2500。
第一租户VSN 2510包括切片选择器2520,其在两个切片2525和2530之间进行选择,这两个切片中的每一个具有不同的网络服务集。此外,如图所示,无论数据消息指派给哪个切片,在或者切片2525或者切片2530完成后,数据消息都被发送到VNF E进行处理。例如,不管通过连接发送的数据类型如何,租户都可能希望单个计量服务处理其所有连接以进行计费。在这种情况下,无论数据消息指派给哪个切片,切片选择器(或在其中实现切片的最终数据中心中的服务链接模块)都将数据消息发送到实现VNF E的VM。但是,其它实施例不允许切片外的此类网络服务,因为如果这些连接都被发送到同一个VNF,那么控制用于所有连接的QoS参数会变得更加困难。在这种情况下,VNF E的单独实例将包括在切片2525和2530中的每一个中。
当提供商切片选择器2505向第二租户VSN 2515指派数据消息时,在这个示例中,提供商切片选择器首先将数据消息发送到网络服务VNF A的实例,然后发送到用于第二租户VSN 2515的切片选择器2535。这允许提供商配置网络服务以应用于发送到特定租户VSN的所有数据流量(例如,出于计费目的、提供RAN或EPC功能,或出于其它目的)。但是,其它实施例要求低级切片选择器是在上级切片选择器之后向其发送数据消息的第一实体,从而将所有网络服务集中到网络切片的最低层。
以上示例说明了切片选择的两个级别-例如,拥有基础设施的MNO和从MNO租用那个基础设施的一个或多个MVNO。在许多情况下,MVNO还会将其虚拟基础设施转租给一个或多个附加的MVNO,并使用第三级切片选择。在这种情况下,MNO切片选择器可能基于源网络地址分析将数据消息指派给租户VSN,然后MVNO切片选择器的第一级基于更细粒度的网络地址分析将其数据消息指派给子租户VSN(例如,IP地址在/24子网中的所有源设备都被指派给租户VSN的第一级,然后在多个源/28子网之间细分)。第三级切片选择然后可以基于深度分组检查来执行有状态切片选择,诸如上文所描述的。
图26概念性地图示了具有三级切片的分层VSN集合的示例。如在以上示例中一样,提供商基础设施VSN 2600具有切片选择器2605,其将数据消息指派给两个不同的租户VSN2610和2615。第一租户VSN 2610具有切片选择器2620,其将数据消息指派给具有不同网络服务集的两个切片。
另一方面,第二租户VSN 2615具有切片选择器2625,其将数据消息指派给或者(i)第三级VSN 2630或者(ii)具有作为用于VSN2615的配置的一部分的VNF的集合的网络切片2635。例如,如果VSN 2615由第一MVNO管理,那么VSN 2630可能由第二MVNO管理,该第二MVNO租用虚拟基础设施的一部分,而网络切片2635用于进出订阅第一MVNO的设备的数据流量。VSN 2630具有由第二MVNO配置的第三级切片选择器2640,其在两个切片2645和2650之间进行选择(例如,以应用感知的方式、基于L2-L4报头,或使用其它因素)。
此外,如果第一MVNO要执行应用感知的切片选择,那么切片选择器2625可能在VSN2630和用于不同应用的多个不同网络切片之间进行选择。在这种情况下,切片选择器2625可能被配置为将匹配特定源网络地址集的数据流量发送到VSN 2630,然后基于应用层数据对用于其其它源网络地址的数据流量进行切片。在切片选择器2625的基于流的转发元件实施方式中,用于VSN 2630的流条目(基于源地址的匹配)将比用于其它网络切片的流条目具有更高的优先级,因此用于否则与应用感知的流条目匹配的第二MVNO的数据流量将不会被发送到网络切片之一。
但是,其它实施例不允许切片选择器在VSN与未进一步细分的网络切片之间进行选择。在这种情况下,切片选择器2625将被配置为在VSN 2630与也由第一MVNO配置的另一个VSN之间进行选择,其中切片选择器在切片2635与为第一MVNO配置的任何其它切片之间进行选择。
虽然上述使用切片选择的VSN示例是电信提供商网络(既用于分层切片选择又用于单级切片选择),但应当理解的是,也可以为其它类型的网络配置虚拟服务网络。例如,在数据中心内或对于跨越多个数据中心的网络,虚拟化软件(例如,在托管VM或网络的其它端点的主机计算机中)或VM可以被配置为对由网络端点发送的数据消息实现切片选择。
图27概念性地图示了数据中心2700内的VSN的实施方式。在不同的实施例中,这个数据中心2700可以是公共云(例如,在公共数据中心的虚拟私有云内使用切片选择)或私有数据中心(例如,内部部署的数据中心)。在该示例中,数据流量从第一访客VM 2705和第二访客VM 2710发送。在一些实施例中,这两个VM 2705和2710属于同一逻辑网络(例如,它们连接到同一逻辑交换机,它们连接到经由一个或多个逻辑路由器连接的两个不同逻辑交换机)。
在一些实施例中,第一客户VM 2705传输由切片选择器2715处理的数据消息,该切片选择器2715在与访客VM 2705相同的主机计算机2720中操作。在一些实施例中,这个切片选择器2715由在主机计算机中执行的软件转发元件(例如,在虚拟化软件中执行的软件虚拟交换机)实现。在其它实施例中,切片选择器被实现为访客VM 2705与软件转发元件(未示出)之间的服务插入层的一部分。在一些实施例中,这个服务插入层使用数据消息的特点(例如,源和/或目的地地址、从深度分组检查确定的L5-L7报头信息,或其它因素)将数据消息指派给特定切片。
在该示例中,数据流量被指派给具有在不同主机计算机上的三个VM中实现为VNF2725-2735的三个服务的第一切片。在数据中心内单独实现至少一个其它网络切片(即,网络服务的不同有序集)(如虚线所示),使得来自第一访客VM 2705的不同流量(在一些情况下,包括到相同的第二访客VM 2710的不同流量)由网络服务的这个不同集合处理。在具有在具有所有访客VM的主机计算机上实现的切片选择器和/或服务链接模块的一些实施例中,来自各种不同源VM的数据流量沿着相同的服务路径(即,以相同的次序发送到相同的VNF)从不同的来源主机计算机发送。
一些实施例使用与上文针对电信服务提供商网络描述的服务链接方法类似的服务链接方法,在网络切片中的每个服务完成其处理之后,数据消息返回至切片选择器2715。在这种情况下,流量不遵循通过如图所示的服务链的线性流,而是重复地返回到主机计算机2720。
其它实施例使用分布式服务链接,使得与第一VNF 2725在同一主机计算机上的转发元件自动将数据流量转发到第二VNF 2730,而不是将数据流量返回到切片选择器2715。一些此类实施例通过自动将从一个VNF连接到的接口接收到的流量转发到服务链中的下一个VNF来实现这一点,而在其它此类实施例中,切片选择器将标签或标签的集合附加到沿着服务链由转发元件使用的数据消息,以将消息转发到服务链中的下一个VNF。
当在目的地客户VM 2710的主机2745处接收到数据流量时,反向切片选择器2740在将数据提供给访客VM 2710之前存储用于流量的连接信息。在一些实施例中,反向切片选择器2740类似于图2中的出口网关,其中反向切片选择器2740存储连接到切片映射(例如,将5元组映射到由切片选择器2715选择的切片)。当访客VM 2710向访客VM 2705发送返回流量时,反向切片选择器2740使用这个存储的用于连接的切片映射将那个返回流量指派给同一切片。
在一些实施例中,切片选择和反向切片选择功能由主机2720和2745中的相同组件(例如,软件转发元件、服务插入层或其它组件)执行。在此类实施例中,切片选择器和反向切片选择器是分布式的,其中组件被配置在每个主机计算机上(例如,每个主机计算机具有附加到VSN的VM)以执行切片选择和反向切片选择功能。
当VM发起连接(即,充当客户端)并发送没有为其存储连接映射的流量时,这个组件执行切片选择(使用L2-L4报头字段、深度分组检查或其它因素)并将流量按配置的次序发送到切片的网络服务(在这种情况下,VNF 2725,然后是VNF 2730,然后是VNF 2735)。当主机接收到用于新连接的传入流量时(即,充当服务器的那个主机上的VM),该组件充当反向切片选择器并存储用于连接的切片映射数据。当VM为在别处发起的连接返回流量时,这个组件充当反向切片选择器,使用存储的用于连接的切片映射数据,并以相反的次序将流量发送到选择的切片的网络服务(在这种情况下,VNF 2735,然后是VNF 2730,然后是VNF2735)。
图28概念性地图示了用于通过公共云2815处理两个私有企业数据中心(即,主办公室2805和分支办公室2810)之间的WAN通信的VSN的实施方式。虽然这个示例说明了主办公室和分支办公室之间的通信,但应当理解的是,类似的VSN也可能被配置为处置其它WAN示例,诸如两个分支办公室之间的通信,以及经由VPN连接到公司数据中心的移动用户之间的通信,或在上述任何端点与软件即服务(SaaS)提供商数据中心之间的通信。此外,在一些实施例中,VSN完全配置在私有数据中心的网络内,而不是像在这种情况下包括一个或多个公共数据中心。
在该示例中,数据流量从在主办公室2805中的主机计算机上执行的VM 2820发送到在分支办公室2810中的主机计算机上执行的VM 2825。如在图27的先前示例中一样,分布式切片选择器2830在与源VM 2825相同的主机计算机上实现。分布式切片选择器2830可以由在主机计算机上执行的软件转发元件、由VM和软件转发元件之间的服务插入层或由其它组件实现,如上所述。
来自VM 2820的数据流量被指派给具有被实现为VNF的四个网络服务的第一网络切片。如图所示,第一VNF 2835在主办公室数据中心2805中实现。例如,在通过WAN将数据流量发送到其它数据中心之前,一些实施例可能使用防火墙在初始数据中心内过滤数据流量。在由初始VNF 2835处理之后,数据流量经由WAN网关(例如,MPLS网关、SD-WAN网关)发送到公共云,在那里为选择的网络切片实现附加的网络服务2840-2850。在被三个网络服务2840-2850处理之后,数据流量经由WAN网关的另一个集合传输到分支办公室,在那里数据被递送到目的地VM 2825的主机。这个主机中的反向切片选择器2860(例如,由软件转发元件、服务插入层或其它组件实现)存储连接到切片映射信息,用于将返回流量指派给同一个网络切片。
在一些实施例中,如上所述,切片选择器2830处置服务链接(至少直到数据流量传输到另一个数据中心,此时那个数据中心中的服务链接模块处置服务链接)。照此,切片选择器2830不仅确定数据消息指派给哪个网络切片,而且确定选择的网络切片中下一个网络服务的位置(例如,当前数据中心、另一个数据中心中的VM、容器或物理设备)。例如,在图28所示的示例中,切片选择器2830将来自VM 2820的数据消息指派给第一网络切片,将数据消息发送到第一VNF 2835,然后在被VNF处理之后接收返回的数据消息。然后切片选择器确定下一个网络服务位于公共云2815中,并且因此将数据消息传输到WAN网关,以便可以将数据消息发送到公共云2815。应当注意的是,在分布式切片选择器的情况下(例如,切片选择器和/或服务链在服务插入层中实现,或者这些功能由每个主机上的软件转发元件实现),数据消息实际上并没有返回到主机计算机上的切片选择器,而是代替地在与第一VNF 2835相同的主机上执行的服务链接模块确定用于选择的切片的下一个服务位于公共云2815中并将数据消息发送到公共云2815。
还应当注意的是,在图28的示例中,第二网络切片(未被选择用于所示的数据流量)至少部分地在不同的公共云2855中实现。即,如虚线所示,如果切片选择器2830将来自VM 2820的数据流量指派给第二网络切片,那么这个流量在被递送到分支办公室2810之前经由WAN网关被发送到公共云2855中的网络服务。
图29概念性地图示了VSN也可以被实现为处置在公共云或公共云的集合内公共云与公共互联网流量中访客VM之间的通信。在一些情况下,端点设备(例如,移动设备、IoT设备、膝上型或台式计算机)之间的流量可以由电信服务提供商接入网内的第一VSN处理(如上面的各个图中所示),通过互联网传递到目的地web服务器所在的公共云,并在到达web服务器之前由公共云中的第二VSN处理。类似地,返回流量将由第二VSN处理(以图29中所示的方式),通过互联网被路由,然后在递送到端点设备之前由第一VSN处理。
如图所示,第一公共云2910中的主机计算机中的访客VM 2905将数据消息传输到公共互联网目的地。例如,这个目的地可能是用户端点设备(例如,VM 2905充当服务器以响应来自客户端设备的数据请求)或公共或私有云中的另一个目的地。在这种情况下,数据消息被发送到在与VM 2905不同的主机计算机上实现的切片选择器2915,该切片选择器将数据消息指派给第一网络切片,并将数据消息传输到第一数据中心内的前两个网络服务2920和2925。在这个示例中,切片选择器2915是集中式的(在数据中心2910内)而不是分布在托管附接到VSN的访客VM的所有主机计算机上。在一些实施例中,访客VM 2905被配置为使用切片选择器2915作为其IP网关,从而所有流量最初都被发送到切片选择器2915以进行处理。不同的实施例可以使用如这个图中所示的用于数据中心的单个切片选择器(例如,作为VM或在VM中执行的转发元件),或者如图27和28中所示的分布式切片选择器。
如上所述,在不同的实施例中,数据消息或者被返回到切片选择器2915,或者使用分布式服务链并且数据消息直接从VNF 2920传递到VNF 2925(即,通过这些主机计算机上的转发元件,但不返回到在其上实现切片选择器2915的主机)。
接下来,因为用于选择的网络切片的第三和第四网络服务2930和2935在第二公共云2940中的主机计算机上实现,所以数据消息通过WAN网关被传输到这个数据中心2940。在那里,服务链接模块(或分布式服务链接层)将数据消息发送到网络服务2930和2935,在这种情况下,它们在同一个主机计算机上实现。最后,在网络切片完成之后,数据消息经由出口网关2945被发送到公共互联网。在一些实施例中,这个出口网关与出口网关230类似地操作,存储连接到切片映射状态以用于指派从互联网接收的反向流量。
在一些实施例中,VSN以与以上针对图4中的电信服务提供商网络所示出的相同方式在一个或多个数据中心中配置(例如,如图27-29中所示)。即,管理员访问顶级VSN管理器/控制器以便为切片选择器、各个网络切片及其相应服务的实施方式每个网络服务应当在哪个数据中心中实现、如何连接不同的数据中心以及配置的其它方面提供配置。VSN控制器在每个数据中心中使用多个控制器来配置VNF(或网络服务的其它形式因子(如果使用))、切片选择器和/或服务链接模块(如果需要)、在数据中心内隧道传输流量的转发元素、用于在数据中心之间发送流量的WAN网关以及任何其它组件。
图30概念性地图示了利用其实现本发明的一些实施例的电子系统3000。电子系统3000可以是计算机(例如,台式计算机、个人计算机、平板计算机、服务器计算机、大型机、刀片计算机等)、电话、PDA或任何其它类型的电子设备。这种电子系统包括各种类型的计算机可读介质和用于各种其它类型的计算机可读介质的接口。电子系统3000包括总线3005、(一个或多个)处理单元3010、系统存储器3025、只读存储器3030、永久存储设备3035、输入设备3040和输出设备3045。
总线3005共同表示通信连接电子系统3000的众多内部设备的所有系统、外围设备和芯片集总线。例如,总线3005将(一个或多个)处理单元3010与只读存储器3030、系统存储器3025和永久存储设备3035通信连接。
从这些不同的存储器单元,(一个或多个)处理单元3010检索要执行的指令和要处理的数据,以便执行本发明的处理。在不同的实施例中,(一个或多个)处理单元可以是单个处理器或多核处理器。
只读存储器(ROM)3030存储由(一个或多个)处理单元3010和电子系统的其它模块所需的静态数据和指令。另一方面,永久存储设备3035是读写存储器设备。这个设备是非易失性存储器单元,即使在电子系统3000关闭时也能存储指令和数据。本发明的一些实施例使用大容量存储设备(诸如磁盘或光盘及其对应的盘驱动器)作为永久存储设备3035。
其它实施例使用可移动存储设备(诸如软盘、闪存驱动器等)作为永久存储设备。与永久存储设备3035一样,系统存储器3025是读写存储器设备。但是,与存储设备3035不同,系统存储器是易失性读写存储器,诸如随机存取存储器。系统存储器存储处理器在运行时需要的指令和数据中的一些。在一些实施例中,本发明的处理存储在系统存储器3025、永久存储设备3035和/或只读存储器3030中。从这各种存储器单元,(一个或多个)处理单元3010检索要执行的指令和要处理的数据,以便执行一些实施例的处理。
总线3005还连接到输入和输出设备3040和3045。输入设备使用户能够向电子系统传送信息和选择命令。输入设备3040包括字母数字键盘和定点设备(也称为“光标控制设备”)。输出设备3045显示由电子系统生成的图像。输出设备包括打印机和显示设备,诸如阴极射线管(CRT)或液晶显示器(LCD)。一些实施例包括用作输入和输出设备两者的设备,诸如触摸屏。
最后,如图30中所示,总线3005还通过网络适配器(未示出)将电子系统3000耦合到网络3065。以这种方式,计算机可以是计算机的网络(诸如局域网(“LAN”)、广域网(“WAN”)或内联网),或网络的网络(诸如互联网)。可以结合本发明使用电子系统3000的任何或所有组件。
一些实施例包括电子组件,诸如微处理器、将计算机程序指令存储在机器可读或计算机可读介质(可替代地称为计算机可读存储介质、机器可读介质或机器可读存储介质)中的存储装置和存储器。此类计算机可读介质的一些示例包括RAM、ROM、只读光盘(CD-ROM)、可记录光盘(CD-R)、可重写光盘(CD-RW)、只读数字多功能盘(例如,DVD-ROM、双层DVD-ROM)、各种可刻录/可重写DVD(例如,DVD-RAM、DVD-RW、DVD+RW等)、闪存(例如,SD卡、迷你SD卡、微型SD卡等)、磁性和/或固态硬盘驱动器、只读和可刻录盘、超密度光盘、任何其它光学或磁性介质,以及软盘。计算机可读介质可以存储可由至少一个处理单元执行并且包括用于执行各种操作的指令集的计算机程序。计算机程序或计算机代码的示例包括机器代码(诸如由编译器产生),以及包括由计算机、电子组件或使用解释器的微处理器执行的高级代码的文件。
虽然以上讨论主要涉及执行软件的微处理器或多核处理器,但一些实施例由一个或多个集成电路(诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA))执行。在一些实施例中,此类集成电路执行存储在电路本身上的指令。
如本说明书中所使用的,术语“计算机”、“服务器”、“处理器”和“存储器”全都是指电子或其它技术设备。这些术语不包括人或人群。出于说明书的目的,术语“显示”意味着在电子设备上显示。如本说明书中所使用的,术语“计算机可读介质”和“机器可读介质”完全限于以计算机可读的形式存储信息的有形物理对象。这些术语不包括任何无线信号、有线下载信号和任何其它临时信号。
本说明书自始至终涉及包括虚拟机(VM)的计算和网络环境。但是,虚拟机只是数据计算节点(DCN)或数据计算端节点(也称为可寻址节点)的一个示例。DCN可以包括非虚拟化的物理主机、虚拟机、在主机操作系统之上运行而无需管理程序或单独操作系统的容器,以及管理程序内核网络接口模块。
在一些实施例中,VM使用由虚拟化软件(例如,管理程序、虚拟机监视器等)虚拟化的主机的资源在主机上用其自己的访客操作系统操作。租户(即,VM的所有者)可以选择在访客操作系统之上运行哪些应用。另一方面,一些容器是在主机操作系统之上运行的结构,而无需管理程序或单独的访客操作系统。在一些实施例中,主机操作系统使用名称空间将容器彼此隔离,并因此提供在不同容器内操作的不同应用组的操作系统级分离。这种分离类似于在虚拟化系统硬件的管理程序虚拟化环境中提供的VM分离,因此可以被视为隔离在不同容器中操作的不同应用组的一种虚拟化形式。此类容器比VM更轻量级。
在一些实施例中,管理程序内核网络接口模块是非VM DCN,其包括具有管理程序内核网络接口和接收/传输线程的网络堆栈。管理程序内核网络接口模块的一个示例是vmknic模块,它是VMware公司的ESXiTM管理程序的一部分。
应当理解的是,虽然说明书涉及VM,但是给出的示例可以是任何类型的DCN,包括物理主机、VM、非VM容器和管理程序内核网络接口模块。事实上,在一些实施例中,示例网络可能包括不同类型的DCN的组合。
虽然已经参考许多具体细节描述了本发明,但是本领域的普通技术人员将认识到的是,在不脱离本发明的精神的情况下,本发明可以以其它具体形式实施。此外,多个附图(包括图9、11和12)概念性地图示了处理。这些处理的具体操作可以不按照所示和描述的确切次序来执行。具体的操作可以不在一个连续的操作序列中执行,并且在不同的实施例中可以执行不同的具体操作。此外,处理可以使用若干子处理来实现,或者作为更大的宏处理的一部分。因此,本领域的普通技术人员将理解的是,本发明不受前述说明性细节的限制,而是由所附权利要求书限定。

Claims (20)

1.一种用于在多个数据中心上建立多个虚拟服务网络的方法,所述方法包括:
为所述多个虚拟服务网络中的每个虚拟服务网络配置分布在所述多个数据中心上的机器集合,以实现用于所述虚拟服务网络的网络服务的有序集;以及
配置在所述多个数据中心内执行的第一服务网络选择器以接收数据消息,基于对所述数据消息的层5至层7报头中的信息的分析来为所述数据消息选择所述多个虚拟服务网络之一,为实现用于选择的所述虚拟服务网络的网络服务的有序集中的第一网络服务的第一机器确定在所述多个数据中心内的位置,并将所述数据消息传输到实现所述第一网络服务的所述第一机器;以及
配置在所述多个数据中心内执行的第二服务网络选择器以从实现所述第一网络服务的所述第一机器接收所述数据消息,为所述数据消息确定由所述第一服务网络选择器选择的所述虚拟服务网络,为实现用于选择的所述虚拟服务网络的网络服务的所述有序集中的第二网络服务的第二机器确定在所述多个数据中心内的位置,并将所述数据消息传输到实现所述第二网络服务的所述第二机器。
2.如权利要求1所述的方法,其中所述多个数据中心包括多个公共云数据中心。
3.如权利要求1所述的方法,其中所述多个数据中心包括至少一个公共云数据中心和至少一个私有数据中心。
4.如权利要求1所述的方法,其中所述多个虚拟服务网络至少包括(i)第一虚拟服务网络,其包括由在所述多个数据中心中操作的第一机器集合实现的网络服务的第一有序集,以及(ii)第二虚拟服务网络,其包括由在所述多个数据中心中操作的第二机器集合实现的网络服务的第二有序集。
5.如权利要求1所述的方法,其中所述方法由虚拟服务网络控制器执行,其中:
配置特定机器集合以实现用于特定虚拟服务网络的网络服务的所述有序集包括:向第一控制器提供用于所述特定机器集合的配置数据,所述第一控制器用于在所述数据中心中的至少一个中的主机计算机上实例化虚拟机和容器中的至少一个;以及
配置所述第一服务网络选择器和所述第二服务网络选择器包括:向第二控制器提供用于服务网络选择操作的配置数据,所述第二控制器用于在所述数据中心中的至少一个中配置服务网络选择器。
6.如权利要求5所述的方法,其中将用于(i)机器集合的配置数据提供给第一控制器并将用于(ii)服务网络选择操作的配置数据提供给第二控制器包括:向在特定数据中心中执行的代理提供虚拟服务网络策略,其中所述代理将虚拟服务网络策略翻译成(i)用于让第一控制器实例化和配置机器集合的数据和(ii)用于让第二控制器配置服务网络选择器以执行服务网络选择操作的数据。
7.如权利要求1所述的方法,其中(i)在所述第一服务网络选择器处从外部端点设备接收数据消息,以及(ii)在被用于选择的所述虚拟服务网络的网络服务的有序集处理之后,所述数据消息从数据中心被传输到公共网络。
8.如权利要求7所述的方法,其中所述第一服务网络选择器在第一数据中心中执行并从位于第一地理范围内的外部端点设备接收数据消息,其中附加服务网络选择器在其它数据中心中执行并从位于第二地理范围内的外部端点设备接收数据消息。
9.如权利要求1所述的方法,其中在所述多个数据中心的特定数据中心中的特定主机计算机上执行所述第一服务网络选择器。
10.如权利要求9所述的方法,其中所述数据消息是由所述第一服务网络选择器从在所述特定主机计算机上执行的数据计算节点接收的,其中包含所述第二服务网络选择器的附加服务网络选择器集合在特定数据中心中的附加主机计算机上执行。
11.如权利要求10所述的方法,其中执行第一网络服务的第一机器在所述特定数据中心中的附加主机计算机上执行,其中在所述附加主机计算机上执行所述第二服务网络选择器以为实现用于选择的所述虚拟服务网络的网络服务的所述有序集中的所述第二网络服务的所述第二机器确定在所述多个数据中心内的所述位置,并将所述数据消息传输到实现第二网络服务的所述第二机器。
12.如权利要求10所述的方法,其中所述数据计算节点是在第一主机计算机上执行的第一数据计算节点,其中在被用于虚拟服务网络的网络服务的有序集处理之后,所述数据消息被传输到在数据中心之一中的第二主机计算机上执行的第二数据计算节点。
13.如权利要求12所述的方法,其中第一数据计算节点和第二数据计算节点在两个不同的私有数据中心中的主机计算机上执行,其中网络服务的至少一个子集在至少一个公共数据中心中的主机计算机上执行。
14.如权利要求12所述的方法,其中:
第三服务网络选择器在所述第二主机计算机上执行;以及
所述第三服务网络选择器存储关于所述数据消息的数据以在为来自所述第二数据计算节点的返回数据消息选择相同的虚拟服务网络时使用。
15.如权利要求1所述的方法,其中所述多个虚拟服务网络是电信网络的多个网络切片,其中所述第一服务网络选择器是网络切片选择器。
16.如权利要求1所述的方法,其中所述第一服务网络选择器被配置为基于对所述数据消息中的层7报头信息的分析,为所述数据消息选择所述多个虚拟服务网络之一。
17.一种存储程序的机器可读介质,所述程序在由至少一个处理单元实施时实施如权利要求1-16中任一项所述的方法。
18.一种电子设备,包括:
一组处理单元;和
存储程序的机器可读介质,所述程序在由至少一个所述处理单元实施时实施如权利要求1-16中任一项所述的方法。
19.一种用于在多个数据中心上建立多个虚拟服务网络的系统,所述系统包括用于实施如权利要求1-16中任一项所述的方法的装置。
20.一种包括指令的计算机程序产品,所述指令在被计算机执行时使所述计算机执行如权利要求1-16中任一项所述的方法。
CN202080015754.8A 2019-02-22 2020-02-05 虚拟服务网络 Active CN113454972B (zh)

Applications Claiming Priority (25)

Application Number Priority Date Filing Date Title
US201962809558P 2019-02-22 2019-02-22
US62/809,558 2019-02-22
US201962809656P 2019-02-24 2019-02-24
US201962809655P 2019-02-24 2019-02-24
US201962809659P 2019-02-24 2019-02-24
US201962809657P 2019-02-24 2019-02-24
US201962809658P 2019-02-24 2019-02-24
US62/809,656 2019-02-24
US62/809,659 2019-02-24
US62/809,655 2019-02-24
US62/809,657 2019-02-24
US62/809,658 2019-02-24
US16/443,818 US11146964B2 (en) 2019-02-22 2019-06-17 Hierarchical network slice selection
US16/443,813 US10834669B2 (en) 2019-02-22 2019-06-17 Stateful network slice selection using replay of connection handshake
US16/443,815 2019-06-17
US16/443,813 2019-06-17
US16/443,815 US11024144B2 (en) 2019-02-22 2019-06-17 Redirecting traffic from mobile device to initial slice selector for connection
US16/443,810 2019-06-17
US16/443,818 2019-06-17
US16/443,812 2019-06-17
US16/443,816 US10939369B2 (en) 2019-02-22 2019-06-17 Retrieval of slice selection state for mobile device connection
US16/443,812 US11246087B2 (en) 2019-02-22 2019-06-17 Stateful network slice selection using slice selector as connection termination proxy
US16/443,810 US11483762B2 (en) 2019-02-22 2019-06-17 Virtual service networks
US16/443,816 2019-06-17
PCT/US2020/016833 WO2020171957A1 (en) 2019-02-22 2020-02-05 Virtual service networks

Publications (2)

Publication Number Publication Date
CN113454972A CN113454972A (zh) 2021-09-28
CN113454972B true CN113454972B (zh) 2024-07-02

Family

ID=

Similar Documents

Publication Publication Date Title
US11483762B2 (en) Virtual service networks
US10834669B2 (en) Stateful network slice selection using replay of connection handshake
US10939369B2 (en) Retrieval of slice selection state for mobile device connection
AU2020225189B2 (en) Virtual service networks
US11024144B2 (en) Redirecting traffic from mobile device to initial slice selector for connection
US11246087B2 (en) Stateful network slice selection using slice selector as connection termination proxy
US11146964B2 (en) Hierarchical network slice selection
US11463355B2 (en) Systems and methods for a VLAN switching and routing service
US10164868B2 (en) Hypervisor routing between networks in a virtual networking environment
US20120216194A1 (en) Hypervisor application of service tags in a virtual networking environment
US20230370371A1 (en) Layer-2 networking storm control in a virtualized cloud environment
EP4272402A1 (en) Layer-2 networking span port in a virtualized cloud environment
CN113454972B (zh) 虚拟服务网络
US20240022452A1 (en) Dynamic on-demand virtual private network (vpn) session distribution for gateways
US20240223499A1 (en) Interface-based acls in a layer-2 network
EP4272383A1 (en) Layer-2 networking information in a virtualized cloud environment

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Country or region after: U.S.A.

Address after: California, USA

Applicant after: Weirui LLC

Address before: California, USA

Applicant before: VMWARE, Inc.

Country or region before: U.S.A.

GR01 Patent grant