CN108886476A - 虚拟交换机数据平面和数据平面迁移的多个提供器框架 - Google Patents

虚拟交换机数据平面和数据平面迁移的多个提供器框架 Download PDF

Info

Publication number
CN108886476A
CN108886476A CN201780022182.4A CN201780022182A CN108886476A CN 108886476 A CN108886476 A CN 108886476A CN 201780022182 A CN201780022182 A CN 201780022182A CN 108886476 A CN108886476 A CN 108886476A
Authority
CN
China
Prior art keywords
data
data plane
virtual switch
provider
topology
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.)
Granted
Application number
CN201780022182.4A
Other languages
English (en)
Other versions
CN108886476B (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 Technologies Co Ltd
Original Assignee
Huawei 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 Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN108886476A publication Critical patent/CN108886476A/zh
Application granted granted Critical
Publication of CN108886476B publication Critical patent/CN108886476B/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software

Landscapes

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

Abstract

本发明涉及支持虚拟交换机以在支持多个数据平面提供器的框架上改变数据平面提供器的技术。处理设备接收改变第一数据平面提供器的请求,其中,虚拟交换机配置有所述第一数据平面提供器的拓扑,以使用流管理协议。所述虚拟交换机包括连接到端口的网络接口,从而通过在第一数据平面的第一数据路径内转发数据包来实现连接到所述网络接口的实体之间的通信。为了响应该变化,断开网络接口、移除第一数据路径并创建第二数据路径。然后,虚拟交换机用于与第二数据路径一起运行,同时保留所述流管理协议和所述拓扑,以使实体通过在第二数据平面上的第二数据路径内转发数据包来相互通信。

Description

虚拟交换机数据平面和数据平面迁移的多个提供器框架
本发明要求于2016年3月30日递交的发明名称为“虚拟交换机数据平面和数据平面迁移的多个提供器框架”的第15/084,952号美国非临时专利申请的在先申请优先权,该在先申请的内容以引入的方式并入本文。
背景技术
网络交换机是用于在设备之间进行数据连接的硬件设备。交换机可用于根据特定的流管理协议(或数据转发协议)接收、处理和转发数据包到该数据包预期目的地。并且,网络交换机可以有两个平面:控制平面和数据平面。控制平面是***的一部分,负责提供***的流管理协议功能和特性。数据平面负责根据控制平面提供的逻辑实际接收和处理来自端口的数据,并将数据发送到端口,其中,所述端口将交换机连接到外部源。
网络交换机可以部署为物理硬件,或者可以使用软件虚拟地部署。该软件为采用虚拟化技术的***提供网络连接。虚拟化技术允许一台计算机通过跨多个***共享一台计算机的资源来完成多台计算机的工作。通过使用这种技术,多个操作***和应用程序可同时在同一台计算机上运行,因此提高了硬件的利用率和灵活性。虚拟化允许服务器与底层硬件分离,从而可使多个VM共享相同的物理服务器硬件。
当多个虚拟计算机***相互通信时,该计算机***可通过虚拟交换机在单个物理计算设备内进行通信。即,如果网络流量的源和目的地在一个物理计算设备中,网络流量不会流出物理计算机***。
随着网络虚拟化技术的广泛应用,虚拟交换机功能、协议、硬件加速器等在迅速出现。在许多情况下,不同厂商的不同协议的不同虚拟交换机的实现可应用在单个***中,这导致交换机配置任务变得复杂甚至不可能实现。
发明内容
在一实施例中,提供了一种用于支持处理设备中多个数据平面提供器的方法,包括:接收改变第一数据平面提供器的请求,其中,虚拟交换机配置有所述第一数据平面提供器的拓扑,以使用流管理协议,所述虚拟交换机包括分别连接到一个或多个端口的一个或多个第一网络接口,从而通过在第一数据平面的第一数据路径内转发数据包来实现连接到所述一个或多个第一网络接口的一个或多个实体之间的通信;断开所述一个或多个第一网络接口;移除所述虚拟交换机的所述第一数据路径;通过所述拓扑和所述流管理协议在第二数据平面提供器的第二数据平面上创建第二数据路径;配置所述虚拟交换机与所述第二数据路径一起运行,保留所述流管理协议和所述拓扑,其中,所述虚拟交换机包括一个或多个第二网络接口;分别将所述一个或多个第二网络接口连接到所述一个或多个端口,从而通过在所述第二数据平面的第二数据路径内转发数据包来实现分别连接到所述网络接口的一个或多个实体之间的通信。
在另一实施例中,提供了一种用于存储计算机指令的非瞬时性计算机可读介质,其中,所述计算机指令用于在处理设备中支持多个协议,当所述计算机指令被一个或多个处理器执行时,所述一个或多个处理器执行以下步骤:接收改变第一数据平面提供器的请求,其中,虚拟交换机配置有所述第一数据平面提供器的拓扑,以使用流管理协议,所述虚拟交换机包括分别连接到一个或多个端口的一个或多个第一网络接口,从而通过在第一数据平面的第一数据路径内转发数据包来实现连接到所述一个或多个第一网络接口的一个或多个实体之间的通信;断开所述一个或多个第一网络接口;移除所述虚拟交换机的所述第一数据路径;通过所述拓扑和所述流管理协议在第二数据平面提供器的第二数据平面上创建第二数据路径;配置所述虚拟交换机与所述第二数据路径一起运行,保留所述流管理协议和所述拓扑,其中,所述虚拟交换机包括一个或多个第二网络接口;分别将所述一个或多个第二网络接口连接到所述一个或多个端口,从而通过在所述第二数据平面的第二数据路径内转发数据包来实现分别连接到所述网络接口的一个或多个实体之间的通信。
在又一实施例中,提供了一种在网络中支持多个协议的节点,包括:包括指令的存储器;耦合到所述存储器的一个或多个处理器,其中,所述一个或多个处理器执行所述指令以:接收改变第一数据平面提供器的请求,其中,虚拟交换机配置有所述第一数据平面提供器的拓扑,以使用流管理协议,所述虚拟交换机包括分别连接到一个或多个端口的一个或多个第一网络接口,从而通过在第一数据平面的第一数据路径内转发数据包来实现连接到所述一个或多个第一网络接口的一个或多个实体之间的通信;断开所述一个或多个第一网络接口;移除所述虚拟交换机的所述第一数据路径;通过所述拓扑和所述流管理协议在第二数据平面提供器的第二数据平面上创建第二数据路径;配置所述虚拟交换机与所述第二数据路径一起运行,保留所述流管理协议和所述拓扑,其中,所述虚拟交换机包括一个或多个第二网络接口;分别将所述一个或多个第二网络接口连接到所述一个或多个端口,从而通过在所述第二数据平面的第二数据路径内转发数据包来实现分别连接到所述网络接口的一个或多个实体之间的通信。
根据前述任一实施例,还包括:通过在虚拟交换机框架上创建虚拟交换机对象来构建所述虚拟交换机的所述拓扑;将所述一个或多个端口添加到所述虚拟交换机以形成所述拓扑;通过带有第一流管理协议的拓扑在所述第一数据平面提供器上创建所述第一数据路径。
根据前述任一实施例,还包括:检测所述第一数据平面提供器,其中,可通过第一可插拔软件模块发现所述第一数据平面提供器,所述第一可插拔软件模块通过一个或多个网络接口识别所述第一数据平面提供器的所述第一数据平面,并启用一个或多个流管理协议;检测所述第二数据平面提供器,其中,可通过第二可插拔软件模块发现所述第二数据平面提供器,所述第二可插拔软件模块通过一个或多个网络接口识别所述第二数据平面提供器的所述第二数据平面,并启用所述一个或多个流管理协议。
根据前述任一实施例,所述虚拟交换机在运行期间可配置所述一个或多个流管理协议而不改变所述拓扑。
根据前述任一实施例,所述实体为虚拟机、名字空间和容器中的至少一种。
根据前述任一实施例,还包括:将所述第一数据平面提供器的所述第一可插拔软件模块和所述第二数据平面提供器的所述第二可插拔软件模块存储在存储容器。
根据前述任一实施例,所述检测包括:通过监测至少一个新添加的插件的存储容器发现所述第一可插拔软件模块和所述第二可插拔软件模块,以启动至少一个新的数据平面提供器并将第一虚拟交换机转换为第二虚拟交换机。
根据前述任一实施例,所述第一数据平面的所述第一可插拔软件模块和所述第二数据平面的所述第二可插拔软件模块在运行期间可动态加载,以实现以下情况中的任意一种:增加另一个数据平面提供器和在不重配所述拓扑和所述流管理协议的情况下改变第一虚拟交换机和第二虚拟交换机中的一个。
根据前述任一实施例,所述网络接口是虚拟网络接口和物理网络接口中的一个。
根据前述任一实施例,还包括:为所述虚拟机配置连接到所述一个或多个端口中的第一端口的所述一个或多个第一网络接口的第一网络接口,和连接到所述一个或多个端口中的第二端口的所述一个或多个第一网络接口的第二网络接口。
本发明内容的提供是为了以简化的形式引入概念的选择,这些概念将在以下具体实施方式中进行进一步的描述。本发明内容的目的不在于识别权利要求书保护的主题的键特征或必要特征,也不旨在用作确定权利要求书保护的主题的范围的辅助手段。权利要求书保护的主题不限于解决背景技术中提到的任意或全部缺点的实施方式。
附图说明
本发明的方面通过示例的方式被示出,且不被附图所限制,其中,附图中相同的附图标记表示元件。
图1示出了经由网络交换机连接到管理站的一组计算设备的处理环境;
图2示出了具有可插拔流管理协议的虚拟交换管理***;
图3示出了图2的虚拟交换机框架的数据模型的统一建模语言(unified modelinglanguage,简称UML)静态类图;
图4示出了改变和发现提供器的转发协议的序列图;
图5示出了用于创建与图4中发现的数据平面提供器相关联的交换机的序列图;
图6示出了根据一实施例的迁移数据平面提供器的序列图;
图7示出了根据图1至图6的通过可插拔软件模块为虚拟交换机配置多个协议的流程图的一实施例;
图8示出了根据图1至图6的通过可插拔软件模块(插件)为虚拟交换机配置多个协议的另一流程图;
图9示出了可用来实现各种实施例的网络***的框图。
具体实施方式
本发明涉及允许存在多个数据平面提供器的虚拟交换机框架技术。该数据平面提供器通过在同一个处理设备,如同一个计算机主机,的软件或硬件模块实现。在其中一个数据平面提供器上运行的虚拟交换机可能会迁移到另一个数据平面提供器上,而无需重配该虚拟交换机。在第一数据平面提供器上创建具有流管理协议和拓扑的虚拟交换机和关联的第一数据路径。第一数据平面提供器可由虚拟交换机框架的第一可插拔软件模块发现和启用。一旦被创建,虚拟交换机可使用由第一数据平面提供器提供的指定流管理协议沿着第一数据路径接收和转发数据包。
当发出更改或迁移数据平面提供器的请求时,第一数据路径与虚拟交换机分离且被移除。然后,创建具有相同流管理协议和拓扑的第二数据平面提供器的第二数据路径。之后,将第二数据路径与虚拟交换机相关联。类似地,流管理协议可作为第二可插拔软件模块被发现,该第二可插拔软件模块标识和启动第二数据平面提供器。完成迁移之后,通过相同的流管理协议,数据包可沿着第二数据平面提供器的第二数据路径在虚拟交换机处被接收和转发,从而不改变交换机拓扑。
应理解,本发明可以通过多种不同形式来实现,而不应限于在此阐述的实施例。相反,提供这些实施例是为了使本发明内容透彻和完整,并将本发明充分传达给本领域技术人员。实际上,本发明旨在覆盖这些实施例的替代,修改和等同物,并包括在由所附权利要求限定的本发明的范围和精神内。另外,在本发明以下的详细描述中,阐述了多个特定细节以便提供对本发明的透彻理解。然而,本领域技术人员应明白,无需这些具体的细节即可实现本发明。
图1示出了经由网络交换机连接到管理站的一组计算设备的处理环境。如图所示,处理环境100包括但不限于:网络102、管理站104、交换机106A和106B和计算设备108A、108B和108C。可理解,所示出的实施例旨在作为示例,且可以采用任意数量的计算设备、交换机、网络和管理站。
所述网络102可以是任意公网或私网、或公网和私网的组合,如互联网和/或公共交换电话网络(public switched telephone network,简称PSTN)、或提供计算资源、组件、用户等之间的通信能力的任意其他类型网络,并在示例实施例中分别耦合到交换机106A和106B中。交换机106A和106B(可以是物理的或虚拟的)中的每一个包括相应的转发数据结构(例如,转发信息库(forwarding information base,简称FIB)或转发表,未示出)。通过该转发数据结构,交换机106A和106B基于,例如数据包中包含的OSI层2地址(例如,基于MAC地址),将接收的数据包转发到目的地。
计算设备108A、108B和108C,例如主机,分别耦合到交换机106A和106B中。计算设备108A、108B和108C中的每一个分别包括,例如,虚拟机(virtual machine,简称VM)116A和118A、虚拟机116B和118B和虚拟机116C和118C,并分别包括虚拟机监控器(virtualmachine monitor,简称VMM)或虚拟机监视器110A、110B和110C和网络接口卡(networkinterface card,简称NIC)124A、124B和1224C。VMM 110A、110B和110C中的每一个包括,例如,虚拟交换机或虚拟交换机(vSwitch,简称VS)112A、112B和112C和端口选择器114A、114B和114C。VM 116A和116B、VM 116B和118B和VM 116C和118C中的每一个分别包括NIC 120A和122A、NIC 120B和122B和NIC 120C和122C,如虚拟网卡(virtual NIC,简称vNIC)。应理解,如NIC、vNIC、Switch和vSwitch等组件可以转换为或替换为物理或虚拟组件,或硬件和/或软件的任意组合。
计算设备108A、108B和108C分别执行VMM 110A、110B和110C。所述VMM 110A、110B和110C分别虚拟化并管理计算设备108A、108B和108C上的资源。计算设备108A、108B和108C可以是任意类型的设备,如服务器或路由器等,可实现下面图3至图8详细描述的流程和过程。此外,例如,计算设备108A、108B和108C可在管理站104处的人工和/或自动化云管理员的指导下执行VMM 110A、110B和110C。所述管理站104通过网络102耦合到计算设备108A、108B和108C。
计算设备108A、108B和108C上的VMM 110A、110B和110C支持对VM 116A和118A、VM116B和118B和VM 118C和118C的执行和操作,并实现VS 112A、112B和112C和端口选择器114A、114B和114C分别对VM的支持。端口选择器114A、114B和114C确定VS112A、112B和112C的端口类型,并确保NIC 124A、124B和124C正确连接到网络102。还应理解,虽然有两个VM被阐述为部署在每个计算设备上,但是可在计算设备中使用任意数量的VM和接口。VM 116A、116B和116C可分别与各个实体相关联,如与数据提供器或消费者相关联(下面进一步解释)。
VM 116A和118A、VM 116B和118B和VM 116C和118C分别包括vNIC 120A和122B、vNIC 120B和122b和vNIC 120C和122C。vNIC 120A和122B、vNIC 120B和122B和vNIC120C和122C通过特定VS的端口便利了通信。VM 116A、VM 118A、VM 116B、VM 118B、VM 116C和VM118C之间的通信可经由VS 112A、VS 112B和VS 112C和物理交换机106A和106B的软件来路由。
图2示出了具有可插拔流管理协议的虚拟交换管理***。虚拟交换管理***200包括,例如,配置器202、虚拟交换机框架204、数据平面提供器206和协议控制器208。数据平面提供器可以是根据控制器规定的逻辑(流管理协议)能够接收、处理和发送数据包的所述控制器的硬件和软件模块的任意一个。该***可以支持来自各个数据平面提供器的多个协议。因此,该***不限于层2或层3交换机或类似物,且还可以包括其他类型的流管理协议,如开放流或完全可定制交换策略等。传统虚拟交换机的实现被设计为支持数据平面提供器特定的流管理协议。管理***200提供框架支持具有由可插拔软件模块(即,插件或插件模块)启动的不同流管理协议的多个数据平面提供器。可在不改变已配置的交换拓扑的情况下改变正在运行的虚拟交换机的流管理协议。因此,流管理协议可在运行时被改变或修改,且多个交换机实例可同时支持不同的协议。
配置器202包括使得***用户能够配置和管理虚拟交换机对象及其各自拓扑的命令行界面(command line interface,简称CLI)和/或应用编程接口(applicationprogramming interface,简称API)202A。所述配置器202还负责维护配置记录。该记录可被存储在配置存储器202B中。配置存储器202B可以是,例如,数据库、存储器、存储***或其它能够存储信息的任意组件或元件。而且,配置存储器202B可以作为独立存储器驻留在配置器202的外部,或驻留在与管理***200通信的任意其它***组件上。
VS框架204包括虚拟交换机拓扑配置和交换机对象管理功能。如上所述,所述框架204上的VS可由配置器202配置(或重配)。所述VS框架204包括但不限于:拓扑管理器204A、提供器管理器204B、特征管理器204C、插件管理器204D和事件管理器204E。拓扑管理器204A负责配置和管理数据平面对象及其拓扑(即,虚拟交换机及其端口和连接的接口)。
在一些实施例中,通过各种软件和/或硬件协处理器和加速器,提供器管理器204B负责发现和管理数据平面提供器206的特定实例。因此,提供器管理器204B可通过插件模块来识别数据平面提供器206,所述插件模块启动和管理其各自的提供器和协议。提供器管理器204B还可以监视新添加的插件以帮助发现和管理新协议和数据平面提供器206的实例。一旦被发现,数据平面提供器206及其相应插件可用于与虚拟交换管理***200接口连接并在虚拟交换管理***200上进行操作,或者以其他方式启用或提供任意新功能。
特征管理器204C管理数据平面对象的共同特征,如监视协议、服务质量等。然而,特征管理器204C通常不负责与流管理协议相关的特征。通常,特征管理器204C将负责作出关于数据平面提供器206是否实现某些特征且在适当时候请求是否执行这些特征的决定。在一实施例中,特征管理器204C可以负责管理交换和端口特征的创建和移除。
插件管理器204D管理可插拔软件模块(插件)以启用数据平面提供器206的流管理协议。
插件管理器204D负责集成来自插件的功能。
插件管理器204D也可负责加载插件。在另一实施例中,插件管理器204D可应用加载标准,以加载满足加载标准的特定插件。例如,加载标准可包括时间戳(例如,在特定日期之后创建的加载插件)、版本号(例如,如果存在多个版本,则加载插件的最新版本号)或数据平面提供器206的特定名称。
插件管理器204D还可用于确定要加载的插件,该插件用于收集加载所选插件所需的信息。
插件管理器204D还可从配置器202的配置存储器202B中接收配置数据。
插件可具有使该插件能够***件管理器所加载的公共接口。每个插件将执行特定功能(例如,启用流管理协议)或执行特定的配置任务和/或提供特定信息以与***中的各组件进行通信。当一个插件被加载时,任意插件特定的初始化也可以被执行。插件特定的初始化的示例包括创建和/或验证通信连接、加载类、指导插件管理器204D以加载或卸载附加插件等。
事件管理器204E负责在运行时处理事件并为虚拟交换机框架204调度任务。
数据平面提供器206负责提供提供器特定的流管理协议并实现API以与虚拟交换机框架204进行交互。所述数据平面提供器206包括协议管理器206A和数据平面206B。数据平面提供器206可使用可插拔软件模块(插件)来表示。所述可插拔软件模块可被实现为特定的流管理协议且实现API以与VS框架204进行交互。该插件可使数据平面206B基于由插件定义的流管理协议来转发信息数据包。
如所理解的是,数据平面206B可以接收数据包,通过由数据平面提供器提供的流管理协议来处理和转发该数据包。具体地,数据平面负责计算设备,例如,路由器或服务器等,的处理和转发数据包的能力。该能力可以包括如数据包转发(数据包交换)之类的功能,即为在计算设备的接口上接收数据包的行为。数据平面206B也可负责分类、流量整形和计量。
插件能使相应的数据平面提供器206根据预定义或定制的流管理协议来实现数据转发功能。在一实施例中,每个插件可以是独立于VS框架204的独立软件库模块。该独立插件可被添加和/或被移除。在另一实施例中,一个或多个插件可依靠VS框架204来提供附加功能。
图3示出了图2的虚拟交换机框架的数据模型的统一建模语言(unified modelinglanguage,简称UML)静态类图。该模型允许VS框架204被实现为支持不同数据平面提供器上的多个虚拟交换机,其中,该不同数据平面提供器具有插件模块分别启用的不同流管理协议,并支持在不改变交换机拓扑配置的情况下改变流管理协议。
类描述了共享了特征、约束和语义的相同规格的一组对象。例如,插件的对象包含类“插件”、属性“名称、类型”和执行方法分别为“provider_discovery”、“add_provider”和“delete_provider”。另外,对象之间可能存在关系,以便在类和对象图中找到连接。图3的图中描绘的关系如下所述。耦联(association,简称ASSOC)指定了在类型实例之间能够存在的语义关系。聚合(Aggregation,简称AGG)比耦联更具体,比如代表整体或部分关系的耦联。耦联(association,简称ASSOC)可表示复合聚合(即,整体/部分关系)。复合聚合(composite aggregation,简称CAGG)是一种强大的聚合形式,要求一个部件实例一次最多包含在一个合成物中,一个合成物由设置为真的耦联的部分末端上的属性来表示。构成关系的图形表示是在被包含类与包含类之间连接的树的包含类末端的实心菱形形状。泛化(generalization,简称GEN)是更普遍的分类器和更具体的分类器之间的分类关系。泛化的图形表示是行的超类末端上的空心三角形形状,其中,所述行连接到一个或多个子类型。
图4示出了插件加载、提供器发现和所述提供器支持的流管理协议的序列图。图4过程的实现允许虚拟交换管理***200动态地添加、改变或修改从至少一个第一协议到至少一个其他协议的协议。在以下讨论中,VS框架204执行与数据平面提供器206(例如,提供器A和提供器B)的数据平面206B相关联的序列图中详述的过程。然而,可以理解的是,这样的操作不限于上述提到的部件。此外,图4中公开的过程是发现具有不同流管理协议的提供器的一个例子。因此,可以理解的是,所公开的过程是非限制性的示例。
在图4所示的例子中,在VS框架204的插件管理器找到并调用add_plugin(“提供器A的插件模块”)来加载启动具有特定流管理协议,如协议1和协议2等,的提供器A 206A的插件后,VS框架204调用新添加(或修改)的插件的“provider_discovery()”来获取提供器的属性信息。由插件启动的数据平面提供器A 206返回提供器的名称以及该提供器支持的关联网络接口和流管理协议。例如,数据平面提供器206(提供器A)具有两个网络接口(“if1”和“if2”)且支持两个流管理协议(“protocol1”和“protocol2”),并返回{"provider A","if1,if2","protocol1and protocol2"}。在数据平面提供器A 206将信息返回给VS框架204时,VS框架204向提供器A注册属性信息,包括支持的协议和相关联的网络接口,供以后通过调用如“provider_add()”和“providerA.add_interface()”的方法使用。
发现另一种数据平面提供器206,如提供器B,的过程类似。在该示例中,提供器B具有两个网络接口(“if3”和“if4”)和一个流管理协议(“protocol1”),该信息被存储在例如数据平面提供器206的插件模块中。
图5示出了用于创建与图4中发现的数据平面提供器相关联的交换机的序列图。在该示例性实施例中,例如,创建交换机使得用于实体之间通信的协议可在运行期间不影响交换机拓扑配置的情况下转换为新发现的协议。在下述解释中,配置器202、VS框架204和数据平面提供器206负责实现该过程。然而,可以理解的是,该实现不限于这些部件。
创建交换机的过程由配置器202首先构建交换机拓扑来启动。例如,可通过以下过程来构建交换机拓扑“topology0”:配置器202调用“create_switch("sw0")”指示VS框架204创建交换机对象(“sw0”),然后调用“sw0.create_port("p01")”创建与交换机相关联的第一端口(“p01”)。类似地,创建与交换机对象(“sw0”)相关联的第二端口(“p02”)。可以理解的是,这两个端口是一个示例,任意数量的端口都可与交换机相关联。在一实施例中,创建的端口的数量对应于要使用的数据平面提供器206上的网络接口的数量。
一旦创建了交换机对象(“sw0”)和关联的拓扑“topology0”,则配置器202可调用“providerA.add_switch(sw0,"protocol1")”来指示VS框架204通过第一协议(协议1)创建数据平面提供器206(提供器A)上的交换机。
然后,VS框架204向数据平面提供器206("providerA.add_datapath("protocol1","topology0"))发送请求以创建数据路径(dp1)。从数据平面提供器206(提供器A)到VS框架204的数据路径(dp1)的创建意味着交换机(“sw0”)现已准备好根据沿着数据路径dp1的“protocol1”在端口之间转发数据(接口连接到端口后)。配置器202可通过调用"p01.connect_interface(if1)"来指示VS框架204将第一端口(“p01”)连接到第一网络接口(“if1”)。类似地,配置器202可以通过调用“p02.connect_interface(if2)”来指示VS框架204将第二端口(“p02”)连接到第二网络接口(“if2”)。
现在可以使用虚拟交换机(virtual switch,简称VS)206C通过数据平面提供器206(此时为提供器A)的流管理协议(此时为协议1)发送数据包。因此,实体现可经由第一(“if1”)和第二(“if2”)网络接口来相互通信,其中,所述第一和第二网络接口与具有指定流管理协议“protocol1”的虚拟交换机(virtual switch,简称VS)206C的端口相连接。例如,经由vNIC 120A和vNIC 122A沿着数据路径dp1使用协议1,VM 116A可通过虚拟交换机(virtual switch,简称VS)206C向另一个VM 118A发送数据包。当数据包到达代表数据平面提供器206(提供器A)创建的虚拟交换机(virtual switch,简称VS)206C时,该数据包可被解析(例如,确定该数据包的目的地址)并被匹配到特定动作且由数据平面206B通过流管理协议(例如,协议1)来转发。
应理解,尽管在所公开的实施例中有两个VM进行通信,但是任意数量的VM可通过任意数量的网络接口和端口进行通信,且所公开的实施例为非限制性示例。
图6示出了根据一实施例的将虚拟交换机从一个数据平面提供器迁移到另一个数据平面提供器的序列图。在从一个数据平面提供器206(例如,提供器A)迁移到另一个数据平面提供器(例如,提供器B)之前,可接收、解析(例如,确定该数据包的目的地址)数据包并将数据包匹配到特定动作且由数据平面提供器A将数据包从一个实体如VM 116B转发到另一个实体如VM 118B。
为了将虚拟交换机转换或迁移到不同的数据平面提供器206(例如,从数据平面提供器A迁移到数据平面提供器B),配置器202从VS的端口发起接口的连接断开,例如,发出“p02.disconnect_interface(if2)”请求。所述请求有效地命令VS框架204从VS的关联端口(端口02)断开网络接口(if2)。如果存在附加网络接口和端口,配置器202则还可通过发起请求从关联端口断开数据平面提供器A的这些网络接口,例如,发出“p01.disconnect_interface(if1)”请求。在此示例中,所发出的请求有效地命令VS框架204将网络接口(if1)从数据平面提供器A上的VS的关联端口(端口01)处断开。
在网络接口已从端口处断开之后,配置器202请求移除与数据平面提供器A的数据平面206B的VM(在该示例中为dp1)相关联的数据路径。发出的请求可能为,例如,“dp1.delete_datapath()”。一旦数据路径dp1被移除,配置器202可发出请求以在另一个数据平面提供器206(例如,数据平面提供器B)上添加新的数据路径(在此示例中为dp2),并将所述数据路径与VS相关联。数据路径dp2配置了与VS相同的流管理协议和拓扑。
添加新数据路径的请求可以是,例如,“provider B.add_datapath("protocol1",topology0)”。完成添加数据路径dp2后,VS(具有数据平面提供器B的虚拟交换机)“准备就绪”。回顾上述示例,数据平面提供器B的VS具有网络接口(if3和if4)。因此,与数据平面提供器B相关联的网络接口(if3和if4)然后可以以如上所述的方式分别连接到端口(p01和p02)。例如,配置器202可以将请求发布为“p01.connect_interface(if3)”和“p02.connect_interface(if4)”。应注意,在将数据路径转换为不同的数据平面提供器之后,流管理协议、交换机拓扑和交换机状态,如VS的统计和交换逻辑等,保持不变。因此,数据平面提供器206(提供器B)上的VS能够通过数据平面提供器B为具有相同流管理协议的相同实体转发数据包。所接收到的数据包可被解析(例如,确定该数据包的目的地址)并被匹配到特定动作且被数据平面提供器B从一个实体转发到另一个实体,例如,如果VM 116B和VM 118B分别与提供器B(if3和if4)的接口相连接,所述数据包可被数据平面提供器B从所述VM 116B转发到所述VM 118B。
图7示出了根据图1至图6的用于将一个数据平面提供器迁移为另一个数据平面提供器的流程图的一实施例。在步骤702,配置器202经由VS框架204监视***以寻求将第一数据平面提供器206(例如,提供器A)转换或迁移为第二数据平面提供器206(例如,提供器B)的请求。如果在步骤704中未检测到请求,则在步骤702中继续进行监视的过程。否则,在步骤704中,当接收到改变数据平面提供器206的请求时,配置器202向VS框架204发出命令以在步骤706中将网络接口与VS断开。例如,配置器202向VS框架204发出命令“p02.disconnect_interface(if1)”和“p01.disconnect_interface(if2)”。
在步骤708中,为响应配置器202发出删除VS 206C的命令,将第一数据路径与VS206C分离并移除。例如,配置器可以向VS框架204发出命令“providerA.delete_switch(sw0)”,VS框架204接着向提供器A发出如“dp1.delete_datapath()”的命令。随后,配置器向VS框架204发出另一命令以添加新的VS 206C,如“providerB.add_switch()”。作为响应,在步骤710,VS框架204向提供器B发出命令以通过相同的流管理协议和拓扑在第二数据平面(与提供器B相关联)上创建第二数据路径。例如,发出的命令可能为“providerB.add_datapath('protocol1',topology0')”。
在步骤712,VS 206C用于与第二数据路径一起操作,同时保留与第一数据路径相关联的拓扑和流管理协议。然后,网络接口分别连接到VS 206C上的端口,以在步骤714中通过在第二数据平面上的第二数据路径内转发数据包实现连接到相应网络接口的实体之间的通信。
图8示出了根据图7的用于将一个数据平面提供器迁移到另一个数据平面提供器的另一个流程图。在步骤802中,作为配置VS 206C的一部分,通过在VS框架204上创建虚拟交换机对象并在步骤804中将一个或多个端口添加到VS 206C来构建拓扑(例如,topology0)。在拓扑构建完成后,在步骤806中,通过拓扑(topology0)和流管理协议在数据平面提供器206上创建数据路径(例如,dp2)。通过将网络接口连接到相应的端口,VS 206C准备根据插件中阐述的流管理协议执行操作,以通过在第二数据路径内实现流管理协议来实现连接到网络接口的实体之间的通信。因此,第一实体(例如,VM 116A)可经由vNIC 120A使用迁移的提供器206经由vNIC 122A与第二实体(例如,VM 118A)进行通信。
图9是可用来实现各种实施例的网络***的框图。特定设备可以使用所示的所有组件,或所述组件的仅一子集,并且设备之间的集成度可能不同。此外,设备可包含部件的多个实例,例如多个处理单元、处理器、存储器、发射器、接收器等等。网络***可包括配备一个或多个输入/输出设备,如网络接口、存储接口等,的处理单元901。处理单元901可包括中央处理器(central processing unit,简称CPU)910、存储器920、大容量存储设备930、以及连接到总线970的I/O接口960。所述总线970可以为任意类型的若干总线架构中的一个或多个,包括存储总线或存储控制器、外设总线等等。CPU 910可包括任意类型的电子数据处理器,所述电子数据处理器可用于读取和处理存储在存储器920中的指令。
所述存储器920可包括任意类型的***存储器,如静态随机存取存储器(staticrandom access memory,简称SRAM)、动态随机存取存储器(dynamic random accessmemory,简称DRAM)、同步DRAM(synchronous DRAM,简称SDRAM)、只读存储器(read-onlymemory,简称ROM)或其组合等。在一实施例中,所述存储器920可包括在开机时使用的ROM,以及在执行程序时使用的存储程序和数据的DRAM。在实施例中,存储器920是非瞬时的。大容量存储设备930可包括任意类型的存储设备,所述存储设备用于存储数据、程序和其它信息,并使这些数据、程序和其它信息通过总线被访问。大容量存储设备930可包括如下项中的一种或多种:固态磁盘、硬盘驱动器、磁盘驱动器、光盘驱动器等等。大容量存储设备930还可以包括虚拟化模块930A和应用程序930B。虚拟化模块930A可以表示,例如,计算设备108的虚拟机监视器。应用程序930B可以表示不同的VM。虚拟化模块930A可包括交换机(未示出),以在一个或多个虚拟网络上交换数据包且可操作地来确定物理网络路径。每个应用程序930B可包括由计算设备108可执行的程序指令和/或数据。作为一个示例,应用程序930B可包括使得计算设备108执行本发明中描述的一个或多个操作和动作的指令。
处理单元901还包括一个或多个网络接口950。网络接口950可包括以太网电缆等有线链路,和/或到接入节点或者一个或多个网络980的无线链路。网络接口950允许处理单元901通过网络980与远程单元通信。例如,网络接口950可通过一个或多个发射器/发射天线以及一个或多个接收器/接收天线提供无线通信。在一实施例中,所述处理单元901耦合到局域网或广域网上以用于数据处理以及与远程设备通信。所述远程设备例如为其它处理单元、因特网、远程存储设施等。
关于以上讨论的虚拟交换机和可插拔流管理的结果,提供了几个优点,包括但不限于:用户可选择其期望的软件组合或与数据平面相匹配的硬件实现组合。用户可动态地将数据平面从一个数据平面提供器迁移到另一个数据平面提供器,以优化性能并更高效地利用***资源。从软件到硬件和从硬件到软件的迁移,基于***资源当前利用率提供迁移决策。该***资源包括但不限于:CPU、内存、DMA、I/O带宽和服务质量。可在***中使用多个数据平面提供器,***性能可被最大化且***资源利用率被优化,以具有自动执行数据平面迁移的能力,通过消除人工交换机重配任务减少交换机/资源管理的复杂性,减少交换机配置改变导致的人为错误。
根据本发明的各实施例,本文所述的方法可以通过执行软件程序的硬件计算机***来实施。此外,在示例性、非限制性实施例中,实施方式可以包括分布式处理、组件/对象分布式处理和并行处理。可以构建虚拟计算机***处理以实施上文所述的方法或功能中的一种或多种,本文所述的处理器可以用于支持虚拟处理环境。
此处,结合本发明实施例的方法、装置(***)以及计算机程序产品的流程图和/或方框图描述本发明的各方面。应当理解,流程图和/或方框图的每个框以及流程图和/或方框图中的框的组合可以由计算机程序指令来实现。可以将这些计算机程序指令提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,以生成机制,使得这些通过计算机或其他可编程指令执行装置的处理器所执行的指令创建实现所述流程图和/或方框图中的一个或多个方框所指定的功能/动作的机制。
这里所使用的术语仅用于描述特定方面,而非旨在限制本发明。除非上下文中另有明确说明,此处使用的单数形式“一个”和“所述”包括复数含义。应进一步了解,术语“包括”和/或“包含”用于说明存在所述特征、整体、步骤、操作、元件和/或部件,但并不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、部件和/或它们的组合。
对本发明的描述只是为了说明的目的,而这些描述并不旨在穷举或限于所公开的实施例。在不偏离本发明的范围和精神的前提下,多种修改和变体对本领域技术人员而言是显而易见的。选择和描述本发明的各个方面以便更好地解释本发明的原理和实际应用,并且使本领域普通技术人员能够理解本发明和适合预期特定用途的各种修改。
为了本文档的目的,与所公开的技术相关联的每个过程可以连续执行并由一个或多个计算设备执行。过程中的每个步骤可以由与其它步骤中使用的相同或不同的计算设备执行,并且每个步骤不一定由单个计算设备执行。
虽然已经以特定于结构特征和/或方法动作的语言描述了主题,但是应该理解的是,权利要求书定义的主题不必局限于上面描述的具体特征或动作。相反,上述具体的特征和动作被公开作为实施权利要求的示例性方式。

Claims (25)

1.一种用于支持处理设备中多个数据平面提供器的方法,其特征在于,包括:
接收改变第一数据平面提供器的请求,其中,虚拟交换机配置有所述第一数据平面提供器的拓扑,以使用流管理协议,所述虚拟交换机包括分别连接到一个或多个端口的一个或多个第一网络接口,从而通过在第一数据平面的第一数据路径内转发数据包来实现连接到所述一个或多个第一网络接口的一个或多个实体之间的通信;
断开所述一个或多个第一网络接口;
移除所述虚拟交换机的所述第一数据路径;
通过所述拓扑和所述流管理协议在第二数据平面提供器的第二数据平面上创建第二数据路径;
配置所述虚拟交换机与所述第二数据路径一起运行,保留所述流管理协议和所述拓扑,其中,所述虚拟交换机包括一个或多个第二网络接口;
分别将所述一个或多个第二网络接口连接到所述一个或多个端口,从而通过在所述第二数据平面的第二数据路径内转发数据包来实现分别连接到所述网络接口的一个或多个实体之间的通信。
2.根据权利要求1所述的方法,其特征在于,还包括:
通过在虚拟交换机框架上创建虚拟交换机对象来构建所述虚拟交换机的所述拓扑;
将所述一个或多个端口添加到所述虚拟交换机以形成所述拓扑;
通过带有第一流管理协议的拓扑在所述第一数据平面提供器上创建所述第一数据路径。
3.根据权利要求1所述的方法,其特征在于,还包括:
检测所述第一数据平面提供器,其中,可通过第一可插拔软件模块发现所述第一数据平面提供器,所述第一可插拔软件模块通过一个或多个网络接口识别所述第一数据平面提供器的所述第一数据平面,并启用一个或多个流管理协议;
检测所述第二数据平面提供器,其中,可通过第二可插拔软件模块发现所述第二数据平面提供器,所述第二可插拔软件模块通过一个或多个网络接口识别所述第二数据平面提供器的所述第二数据平面,并启用所述一个或多个流管理协议。
4.根据权利要求3所述的方法,其特征在于,所述虚拟交换机在运行期间可配置所述一个或多个流管理协议而不改变所述拓扑。
5.根据权利要求1所述的方法,其特征在于,所述实体为虚拟机、名字空间和容器中的至少一种。
6.根据权利要求3所述的方法,其特征在于,还包括:将所述第一数据平面提供器的所述第一可插拔软件模块和所述第二数据平面提供器的所述第二可插拔软件模块存储在存储容器。
7.根据权利要求3所述的方法,其特征在于,所述检测包括:通过监测至少一个新添加的插件的存储容器发现所述第一可插拔软件模块和所述第二可插拔软件模块,以启动至少一个新的数据平面提供器并将第一虚拟交换机转换为第二虚拟交换机。
8.根据权利要求3所述的方法,其特征在于,所述第一数据平面的所述第一可插拔软件模块和所述第二数据平面的所述第二可插拔软件模块在运行期间可动态加载,以实现以下情况中的任意一种:增加另一个数据平面提供器和在不重配所述拓扑和所述流管理协议的情况下改变第一虚拟交换机和第二虚拟交换机中的一个。
9.根据权利要求1所述的方法,其特征在于,所述网络接口是虚拟网络接口和物理网络接口中的一个。
10.根据权利要求1所述的方法,其特征在于,还包括:为所述虚拟机配置连接到所述一个或多个端口中的第一端口的所述一个或多个第一网络接口的第一网络接口,和连接到所述一个或多个端口中的第二端口的所述一个或多个第一网络接口的第二网络接口。
11.一种用于存储计算机指令的非瞬时性计算机可读介质,其特征在于,所述计算机指令用于在处理设备中支持多个协议,当所述计算机指令被一个或多个处理器执行时,所述一个或多个处理器执行以下步骤:
接收改变第一数据平面提供器的请求,其中,虚拟交换机配置有所述第一数据平面提供器的拓扑,以使用流管理协议,所述虚拟交换机包括分别连接到一个或多个端口的一个或多个第一网络接口,从而通过在第一数据平面的第一数据路径内转发数据包来实现连接到所述一个或多个第一网络接口的一个或多个实体之间的通信;
断开所述一个或多个第一网络接口;
移除所述虚拟交换机的所述第一数据路径;
通过所述拓扑和所述流管理协议在第二数据平面提供器的第二数据平面上创建第二数据路径;
配置所述虚拟交换机与所述第二数据路径一起运行,保留所述流管理协议和所述拓扑,其中,所述虚拟交换机包括一个或多个第二网络接口;
分别将所述一个或多个第二网络接口连接到所述一个或多个端口,从而通过在所述第二数据平面的第二数据路径内转发数据包来实现分别连接到所述网络接口的一个或多个实体之间的通信。
12.根据权利要求11所述的非瞬时性计算机可读介质,其特征在于,所述一个或多个处理器还执行以下步骤:
通过在虚拟交换机框架上创建虚拟交换机对象来构建所述虚拟交换机的所述拓扑;
将所述一个或多个端口添加到所述虚拟交换机以形成所述拓扑;
通过带有第一流管理协议的拓扑在所述第一数据平面提供器上创建所述第一数据路径。
13.根据权利要求11所述的非瞬时性计算机可读介质,其特征在于,所述一个或多个处理器还执行以下步骤:
检测所述第一数据平面提供器,其中,可通过第一可插拔软件模块发现所述第一数据平面提供器,所述第一可插拔软件模块通过一个或多个网络接口识别所述第一数据平面提供器的所述第一数据平面,并启用一个或多个流管理协议;
检测所述第二数据平面提供器,其中,可通过第二可插拔软件模块发现所述第二数据平面提供器,所述第二可插拔软件模块通过一个或多个网络接口识别所述第二数据平面提供器的所述第二数据平面,并启用所述一个或多个流管理协议。
14.根据权利要求13所述的非瞬时性计算机可读介质,其特征在于,所述虚拟交换机在运行期间可配置所述一个或多个流管理协议而不改变所述拓扑。
15.根据权利要求11所述的非瞬时性计算机可读介质,其特征在于,所述实体为虚拟机、名字空间和容器中的至少一种。
16.根据权利要求13所述的非瞬时性计算机可读介质,其特征在于,所述一个或多个处理器还执行以下步骤:将所述第一数据平面提供器的所述第一可插拔软件模块和所述第二数据平面提供器的所述第二可插拔软件模块存储在存储容器。
17.根据权利要求13所述的非瞬时性计算机可读介质,其特征在于,所述检测包括:通过监测至少一个新添加的插件的存储容器发现所述第一可插拔软件模块和所述第二可插拔软件模块,以启动至少一个新的数据平面提供器并将第一虚拟交换机转换为第二虚拟交换机。
18.根据权利要求13所述的非瞬时性计算机可读介质,其特征在于,所述第一数据平面的所述第一可插拔软件模块和所述第二数据平面的所述第二可插拔软件模块在运行期间可动态加载,以实现以下情况中的任意一种:增加另一个数据平面提供器和在不重配所述拓扑和所述流管理协议的情况下改变第一虚拟交换机和第二虚拟交换机中的一个。
19.根据权利要求11所述的非瞬时性计算机可读介质,其特征在于,所述网络接口是虚拟网络接口和物理网络接口中的一个。
20.根据权利要求11所述的非瞬时性计算机可读介质,其特征在于,还包括:为所述虚拟机配置连接到所述一个或多个端口中的第一端口的所述一个或多个第一网络接口的第一网络接口,和连接到所述一个或多个端口中的第二端口的所述一个或多个第一网络接口的第二网络接口。
21.一种在网络中支持多个协议的节点,其特征在于,包括:
包括指令的存储器;
耦合到所述存储器的一个或多个处理器,其中,所述一个或多个处理器执行所述指令以:
接收改变第一数据平面提供器的请求,其中,虚拟交换机配置有所述第一数据平面提供器的拓扑,以使用流管理协议,所述虚拟交换机包括分别连接到一个或多个端口的一个或多个第一网络接口,从而通过在第一数据平面的第一数据路径内转发数据包来实现连接到所述一个或多个第一网络接口的一个或多个实体之间的通信;
断开所述一个或多个第一网络接口;
移除所述虚拟交换机的所述第一数据路径;
通过所述拓扑和所述流管理协议在第二数据平面提供器的第二数据平面上创建第二数据路径;
配置所述虚拟交换机与所述第二数据路径一起运行,保留所述流管理协议和所述拓扑,其中,所述虚拟交换机包括一个或多个第二网络接口;
分别将所述一个或多个第二网络接口连接到所述一个或多个端口,从而通过在所述第二数据平面的第二数据路径内转发数据包来实现分别连接到所述网络接口的一个或多个实体之间的通信。
22.根据权利要求21所述的节点,其特征在于,所述一个或多个处理器进一步执行所述指令以:
通过在虚拟交换机框架上创建虚拟交换机对象来构建所述虚拟交换机的所述拓扑;
将所述一个或多个端口添加到所述虚拟交换机以形成所述拓扑;
通过带有第一流管理协议的拓扑在所述第一数据平面提供器上创建所述第一数据路径。
23.根据权利要求21所述的节点,其特征在于,所述一个或多个处理器进一步执行所述指令以:
检测所述第一数据平面提供器,其中,可通过第一可插拔软件模块发现所述第一数据平面提供器,所述第一可插拔软件模块通过一个或多个网络接口识别所述第一数据平面提供器的所述第一数据平面,并启用一个或多个流管理协议;
检测所述第二数据平面提供器,其中,可通过第二可插拔软件模块发现所述第二数据平面提供器,所述第二可插拔软件模块通过一个或多个网络接口识别所述第二数据平面提供器的所述第二数据平面,并启用所述一个或多个流管理协议。
24.根据权利要求21所述的节点,其特征在于,所述虚拟交换机在运行期间可配置所述一个或多个流管理协议而不改变所述拓扑。
25.根据权利要求21所述的节点,其特征在于,所述一个或多个处理器进一步执行所述指令以:为所述虚拟机配置连接到所述一个或多个端口中的第一端口的所述一个或多个第一网络接口的第一网络接口,和连接到所述一个或多个端口中的第二端口的所述一个或多个第一网络接口的第二网络接口。
CN201780022182.4A 2016-03-30 2017-03-27 虚拟交换机数据平面和数据平面迁移的多个提供器框架 Active CN108886476B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/084,952 2016-03-30
US15/084,952 US10469374B2 (en) 2016-03-30 2016-03-30 Multiple provider framework for virtual switch data planes and data plane migration
PCT/CN2017/078315 WO2017167151A1 (en) 2016-03-30 2017-03-27 Multiple provider framework for virtual switch data planes and data plane migration

Publications (2)

Publication Number Publication Date
CN108886476A true CN108886476A (zh) 2018-11-23
CN108886476B CN108886476B (zh) 2020-02-21

Family

ID=59960499

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780022182.4A Active CN108886476B (zh) 2016-03-30 2017-03-27 虚拟交换机数据平面和数据平面迁移的多个提供器框架

Country Status (3)

Country Link
US (1) US10469374B2 (zh)
CN (1) CN108886476B (zh)
WO (1) WO2017167151A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109450701A (zh) * 2018-12-07 2019-03-08 北京金山云网络技术有限公司 一种虚拟交换机切换方法、装置、宿主机及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108989068B (zh) 2017-05-31 2019-08-20 华为技术有限公司 一种编排软件定义网络的方法及sdn控制器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101945038A (zh) * 2009-07-02 2011-01-12 埃克萨费尔有限公司 用于创建过渡性最优流路径的***和方法
CN102075402A (zh) * 2011-02-12 2011-05-25 华为技术有限公司 虚拟网络映射处理方法和***
WO2014166399A1 (en) * 2013-04-10 2014-10-16 Huawei Technologies Co., Ltd. System and method for a control plane reference model framework
CN105282004A (zh) * 2014-07-25 2016-01-27 中兴通讯股份有限公司 网络虚拟化处理方法、装置及***

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8966499B2 (en) 2011-09-09 2015-02-24 Microsoft Technology Licensing, Llc Virtual switch extensibility
US9019813B2 (en) * 2013-01-30 2015-04-28 International Business Machines Corporation Active IP forwarding in an event driven virtual link aggregation (VLAG) system
US9356871B2 (en) * 2013-03-15 2016-05-31 Cisco Technology, Inc. Programmable management engine for networks
US10356054B2 (en) 2014-05-20 2019-07-16 Secret Double Octopus Ltd Method for establishing a secure private interconnection over a multipath network
US10348621B2 (en) 2014-10-30 2019-07-09 AT&T Intellectual Property I. L. P. Universal customer premise equipment
KR101703088B1 (ko) * 2015-04-10 2017-02-22 쿨클라우드(주) Sdn 기반의 통합 라우팅 방법 및 그 시스템
US10148509B2 (en) * 2015-05-13 2018-12-04 Oracle International Corporation Methods, systems, and computer readable media for session based software defined networking (SDN) management
US9736556B2 (en) 2015-09-10 2017-08-15 Equinix, Inc. Automated fiber cross-connect service within a multi-tenant interconnection facility
CN105391635B (zh) 2015-10-16 2018-10-16 电子科技大学 一种基于sdn的网络虚拟化方法
US9917799B2 (en) 2015-12-15 2018-03-13 Nicira, Inc. Transactional controls for supplying control plane data to managed hardware forwarding elements

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101945038A (zh) * 2009-07-02 2011-01-12 埃克萨费尔有限公司 用于创建过渡性最优流路径的***和方法
CN102075402A (zh) * 2011-02-12 2011-05-25 华为技术有限公司 虚拟网络映射处理方法和***
WO2014166399A1 (en) * 2013-04-10 2014-10-16 Huawei Technologies Co., Ltd. System and method for a control plane reference model framework
CN105282004A (zh) * 2014-07-25 2016-01-27 中兴通讯股份有限公司 网络虚拟化处理方法、装置及***

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109450701A (zh) * 2018-12-07 2019-03-08 北京金山云网络技术有限公司 一种虚拟交换机切换方法、装置、宿主机及存储介质
CN109450701B (zh) * 2018-12-07 2020-04-17 北京金山云网络技术有限公司 一种虚拟交换机切换方法、装置、宿主机及计算机可读存储介质

Also Published As

Publication number Publication date
US20170289030A1 (en) 2017-10-05
WO2017167151A1 (en) 2017-10-05
CN108886476B (zh) 2020-02-21
US10469374B2 (en) 2019-11-05

Similar Documents

Publication Publication Date Title
US9450823B2 (en) Hybrid network management
JP5883946B2 (ja) ネットワーク転送状態の算出ならびに伝播のためのトランザクションの使用
KR101692890B1 (ko) 범용 흐름을 변환하는 섀시 제어기
CN105531972B (zh) 控制数据存储输入/输出请求
CN103346981B (zh) 虚拟交换方法、相关装置和计算机***
US10659315B2 (en) Virtual network function (VNF) relocation in a software defined network (SDN)
WO2020248805A1 (zh) 业务链的编排方法及装置、存储介质和电子装置
CN104618264A (zh) 为了高效资源利用而在数据中心网络中自适应调度数据流的方法和***
EP2525532A1 (en) Method and apparatus of connectivity discovery between network switch and server based on vlan identifiers
CN107896195A (zh) 服务链编排方法、装置及服务链拓扑结构
US11343307B2 (en) Virtual network function (VNF) resource management in a software defined network (SDN)
US10616141B2 (en) Large scale fabric attached architecture
CN108702316A (zh) 一种vnf的资源分配方法及装置
CN108322325A (zh) 一种虚拟机管理方法及装置
CN108885564A (zh) 网络虚拟化场景中的资源放置控制
CN110389711A (zh) 帮助端点设备实现sr-iov功能的方法、设备和计算机程序产品
CN108886476A (zh) 虚拟交换机数据平面和数据平面迁移的多个提供器框架
CN108696373A (zh) 虚拟资源分配方法、nfvo和***
CN110062396A (zh) 一种配置基站的方法及装置
US8856342B2 (en) Efficiently relating adjacent management applications managing a shared infrastructure
CN108886493B (zh) 一种具有可插拔流管理协议的基于拓扑结构的虚拟交换模型
Amarasinghe et al. SDN-based Framework for Infrastructure as a Service Clouds
JP5782393B2 (ja) ネットワークリソース分散管理方法およびプログラム
US12021743B1 (en) Software-defined multi-network-segment gateways for scalable routing of traffic between customer-premise network segments and cloud-based virtual networks
CN106161287A (zh) 用于分布式光纤信道控制面的方法和装置

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