CN110830389A - 包括路由传播、安全性和应用部署的多云环境的单点管理 - Google Patents

包括路由传播、安全性和应用部署的多云环境的单点管理 Download PDF

Info

Publication number
CN110830389A
CN110830389A CN201910579893.2A CN201910579893A CN110830389A CN 110830389 A CN110830389 A CN 110830389A CN 201910579893 A CN201910579893 A CN 201910579893A CN 110830389 A CN110830389 A CN 110830389A
Authority
CN
China
Prior art keywords
vce
logical
vces
virtual machines
controller
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
CN201910579893.2A
Other languages
English (en)
Other versions
CN110830389B (zh
Inventor
圣胡·C·亚伯拉罕
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.)
Jungle Network
Juniper Networks Inc
Original Assignee
Jungle Network
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 Jungle Network filed Critical Jungle Network
Publication of CN110830389A publication Critical patent/CN110830389A/zh
Application granted granted Critical
Publication of CN110830389B publication Critical patent/CN110830389B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/825Involving tunnels, e.g. MPLS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/645Splitting route computation layer and forwarding layer, e.g. routing according to path computational element [PCE] or based on OpenFlow functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/76Routing in software-defined topologies, e.g. routing between virtual machines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开涉及包括路由传播、安全性和应用部署的多云环境的单点管理,总体上,本公开描述了单个软件定义网络(SDN)控制器在多个虚拟计算环境(VCE)之间建立隧道并控制这些隧道上的通信的示例。所述SDN控制器建立逻辑隧道网格,以通过相应的连接网关路由器互连多云网络中的多个VCE。为了建立逻辑隧道网格,所述SDN控制器被配置为从逻辑隧道网格中确定一个或多个逻辑隧道,以在多云网络中的多个VCE中的第一VCE和第二VCE之间建立一个或多个通信链路。所述SDN控制器被配置为向第一VCE和第二VCE通告一个或多个逻辑隧道。

Description

包括路由传播、安全性和应用部署的多云环境的单点管理
本申请要求于2018年9月27日提交的美国专利申请16/144,711号和2018年8月14日提交的美国临时专利申请62/718,765号的权益,其全部内容通过引用结合于此。
技术领域
本公开涉及计算机网络,更具体地,涉及多云环境中的计算机网络。
背景技术
在典型的云数据中心环境中,大量互连的服务器提供计算和/或存储能力来运行各种应用程序。例如,数据中心可以包括为订户(即,数据中心的客户)托管应用程序和服务的设施。例如,数据中心可以托管所有基础设施设备,例如,网络和存储系统、冗余电源和环境控制。在典型的数据中心,存储系统和应用服务器集群经由一层或多层物理网络交换机和路由器提供的高速交换结构互连。更复杂的数据中心为遍布世界的基础设施提供位于各种物理托管设施中的用户支持设备。
虚拟机是基于机器级虚拟化的虚拟化方案。虚拟机包括在主机计算装置的管理程序上运行的客户操作系统,以模拟计算机的硬件,从而为执行应用程序提供新的计算机环境。
容器化(Containerization)是一种基于操作系统级虚拟化的虚拟化方案。容器是轻量级的便携式执行环境,用于相互隔离和与主机隔离的应用程序。因为容器没有与主机硬件计算环境紧密耦合,所以应用程序可以绑定到容器图像,并作为单个轻量级包在支持底层容器架构的任何主机或虚拟主机上执行。因此,容器解决了如何使软件在不同的计算环境中工作的问题。容器提供了从一个计算环境持续运行到另一虚拟或物理计算环境的承诺。
由于容器固有的轻量级特性,单个主机可以支持比传统虚拟机(VM)更多的容器实例。通常短暂的容器可以比VM更有效地被创建和移动,并且也可以作为逻辑相关元件的组来管理(对于某些编排平台,例如,Kubernetes,有时称为“舱”(pods))。这些容器特征影响了对容器网络解决方案的需求:网络应该是敏捷的和可扩展的。VM、容器和裸机服务器(bare metal servers)可能需要在同一个云环境中共存,在不同的应用程序部署之间启用通信。容器网络还应该不知道如何使用用于部署容器化应用程序的多种编排平台进行工作。
管理应用程序执行的部署和基础设施的云计算基础设施可能涉及两个主要角色:(1)编排,用于在主机集群上自动化应用程序的部署、扩展和操作,并提供计算基础设施,其中,可能包括以容器为中心的计算基础设施;以及(2)网络管理,用于在网络基础设施中创建虚拟网络,以实现在虚拟执行环境(例如,容器或VM)上运行的应用程序之间以及在传统(例如,物理)环境上运行的应用程序之间的通信。软件定义网络有助于网络管理。
多云环境是指将多个云用于计算和存储服务。企业可以利用内部(本地部署(on-premise))计算和/或存储服务(例如,内部(on-premise,本地部署)云)以及一个或多个外部云,例如,由第三方提供商托管的云。云的示例包括私有云、公共云或混合公共/私有云,允许便于可扩展性,同时允许不同级别的控制和安全性。企业可以基于执行的应用程序类型和企业的其他需求,利用私有云、公共云或混合公共/私有云中的一种或多种。
发明内容
总体上,本公开描述了在处理电路上执行的单个软件定义网络(SDN)控制器在多个虚拟计算环境(VCE)之间建立隧道并控制这些隧道上的通信的示例。在虚拟化计算基础设施中规定VCE,例如,公共云、私有云或混合云。虚拟私有云(VPC)是VCE的一个示例。每个VCE支持一个或多个租户或客户(例如,企业),在一些示例中,VCE需要相互通信,以支持租户定义的各种功能。在一些示例中,第一VCE(例如,私有云)和第二VCE(例如,公共云)都支持同一租户,并且第一和第二VCE可能需要彼此通信。
在一些现有技术中,每个VCE管理员都需要设置策略来建立不同VCE之间的通信隧道。这种建立通信隧道的VCE的独立管理导致延迟或错误,这是由于与确保适当路由传播、安全性和应用程序部署(仅举几例)相关的复杂性。本公开的技术可以提供一个或多个技术优势。例如,这些技术利用单个控制器为VCE之间的通信提供集中控制,允许一个管理员使用公共接口确保VCE上的适当路由传播、安全性和应用程序部署。用于VCE内路由控制和VCE之间通告的公共控制器可以实现多个VCE之间无缝和安全的通信,所述多个VCE在某些情况下分布在内部和外部/公共计算基础设施中。以这种方式,对于操作员或开发人员来说,多个VCE可以表现为用于分布式应用程序执行的单个计算结构。
在一个示例中,本公开描述了一种系统,包括:多云网络中的多个虚拟计算环境(VCE);多个连接网关路由器,其中,每个连接网关路由器与相应VCE的逻辑隧道网格内的逻辑端点相关联;以及在处理电路上执行的单个软件定义网络(SDN)控制器。所述SDN控制器被配置为建立逻辑隧道网格,以经由相应的连接网关路由器互连多云网络中的多个VCE。为了建立逻辑隧道网格,所述SDN控制器被配置为从逻辑隧道网格中确定一个或多个逻辑隧道,以在多云网络中的多个VCE中的第一VCE和第二VCE之间建立一个或多个通信链路。所述SDN控制器也被配置为向第一VCE和第二VCE通告一个或多个逻辑隧道。
在一个示例中,本公开描述了一种方法,包括利用在处理电路上执行的单个软件定义网络(SDN)控制器,建立逻辑隧道网格,以经由相应的连接网关路由器互连多云网络中的多个虚拟计算环境(VCE)。每个连接网关路由器与相应VCE的逻辑隧道网格内的逻辑端点相关联,并且建立逻辑隧道网格包括从逻辑隧道网格中确定一个或多个逻辑隧道,以在多云网络中的多个VCE中的第一VCE和第二VCE之间建立一个或多个通信链路。该方法还包括向第一VCE和第二VCE通告一个或多个逻辑隧道。
在一个示例中,本公开描述了一种在其上存储指令的计算机可读存储介质,当被执行时,所述指令经由单个软件定义网络(SDN)控制器的执行使得一个或多个处理器通过SDN控制器的执行来建立逻辑隧道网格,以经由相应的连接网关路由器互连多云网络中的多个虚拟计算环境(VCE)。每个连接网关路由器与相应VCE的逻辑隧道网格内的逻辑端点相关联。经由SDN控制器的执行使得一个或多个处理器建立逻辑隧道网格的指令包括经由SDN控制器的执行使得一个或多个处理器从逻辑隧道网格中确定一个或多个逻辑隧道以在多云网络中的多个VCE中的第一VCE和第二VCE之间建立一个或多个通信链路的指令。该指令经由SDN控制器的执行使得一个或多个处理器向第一VCE和第二VCE通告一个或多个逻辑隧道。
在附图和以下描述中阐述一个或多个示例的细节。通过说明书和附图以及权利要求书,其他特征、目的和优点将是显而易见的。
附图说明
图1是示出被配置为根据本公开中描述的一个或多个示例技术进行通信的示例多云网络的框图;
图2是示出具有数据中心的示例多云网络的框图,其中,可以实现本文描述的技术的示例;
图3是示出被配置为根据本公开中描述的一个或多个示例技术进行通信的示例多云网络的框图;
图4是示出被配置为根据本公开中描述的一个或多个示例技术进行通信的示例多云网络的框图;
图5是示出根据本公开中描述的一个或多个示例技术的示例连接网关路由器的框图;
图6是示出根据本公开中描述的一个或多个示例技术的示例操作方法的流程图;
图7是示出根据本公开中描述的技术的包括用于在网络内引导信息的控制器的示例网络的框图;
图8是示出根据本公开中描述的技术的包括控制器、公共云、私有云和裸机服务器系统的另一示例网络的框图;
图9是示出根据本公开中描述的技术的使用控制器管理的另一示例多云计算基础设施的概念图;
图10是示出根据本公开中描述的技术的用于在网络内引导容器的另一示例控制器的框图;
图11是示出根据本公开中描述的技术的包括至少一个区域和至少一个可用性区域的示例私有云的框图;
图12A-12C是示出根据本公开中描述的技术的包括至少一个网关单元的示例系统的框图;
图13是根据本公开中描述的技术的示例计算装置的框图。
具体实施方式
图1是示出被配置为根据本公开中描述的一个或多个示例技术进行通信的示例多云网络的框图。如图所示,多云网络10包括虚拟计算环境12A-12C(VCE)(统称为VCE 12)。可以在为各种应用程序提供存储和计算的公共、私有、混合或其他“云”中提供VCE 12。云可以指计算基础设施,该计算基础设施可以虚拟化,以支持其上提供的一个或多个虚拟计算环境,或者也可以或替代地指虚拟计算环境本身。例如,可以在网络(例如,互联网)上托管的多个服务器上提供VCE 12,以存储、管理和处理数据,而不是在个人计算机上提供。在一些示例中,一个或多个VCE 12可以在企业内部,而其他VCE 12是远程的。在一些示例中,所有VCE 12可以远离企业。
租户(例如,企业或个人)可以使用一个或多个VCE 12来卸载可以在VCE 12的服务器上更快或更有效地处理的存储或计算能力。例如,VCE12提供对比个人计算机上或位于内部的服务器内可用的存储多得多的存储的访问。VCE 12还可以提供比个人计算机上或位于内部的服务器内可用的计算能力多得多的计算能力,以处理复杂的任务,例如,大数据处理。此外,VCE 12提供冗余存储。因此,租户越来越依赖于诸如多云网络10等网络。
然而,VCE 12的管理可能存在技术问题。VCE 12可以位于世界各地。租户可能需要来自一个VCE 12的数据传输到另一个VCE 12。因此,管理员需要在每个VCE 12之间建立通信链路,以允许这种通信。由于VCE 12的远程位置,容纳托管VCE 12的服务器的数据中心倾向于具有不同的管理员,每个管理员需要配置相应的VCE 12,以被配置为与其他VCE 12通信。
此外,每个VCE 12容纳多个不同的租户。因此,可能会出现额外的技术问题,以确保通信安全。例如,VCE 12A可以为第一和第二租户托管服务,而VCE 12B可以为第一和第三租户托管服务。VCE 12A为第一租户向VCE 12B传输的任何数据不应被第三租户访问,VCE12B为第一租户向VCE 12A传输的任何数据不应被第二租户访问。
本公开描述了集中式控制器(例如,控制器14)的示例,该集中式控制器允许一个管理员用单块玻璃(glass)来控制多云网络10内的互连和安全性。例如,控制器14可以是软件定义网络(SDN)控制器,为物理、虚拟、容器和下一代无服务器环境提供基于标准的网络和网络隔离软件。控制器14可以为部署在物理、虚拟、容器和无服务器环境中的工作负载提供多维分段和策略实施。例如,控制器14可以提供跨VCE 12的连接,并支持跨混合云、多区域和站点以及计算基础设施的基于策略的安全路由、连接和数据路径加密。
如参考图2更详细描述的,控制器14在处理电路上执行。处理电路可以是跨多个服务器的分布式处理电路,或者可以是单个服务器中的处理电路。例如,在VCE 12A内的服务器在其相应的处理电路上执行虚拟机(VM),并且控制器14在一个或多个VM中执行。以这种方式,控制器14可以被视为在一个或多个处理电路上执行。
在一些示例中,控制器14在特定租户的网络管理员访问的计算装置上执行。然而,云(例如,一个或多个VCE 12)可以被视为简单的另一物理位置,尽管在虚拟化环境中操作。因此,控制器14不必在网络管理员正在访问的计算装置上执行,而是可以在任何VCE 12内的虚拟化环境中执行。
网络管理员可以仅与控制器14接合,以便为网络管理员的租户建立适当、安全的通信链路。例如,一些其他技术将要求网络管理员与VCE 12A的第一控制器、VCE 12B的第二控制器等接合。利用示例技术,网络管理员可以仅经由单块玻璃与控制器14接合,以建立VCE 12之间的通信链路。
如图所示,VCE 12A包括控制器14和连接网关路由器18A。VCE 12B包括虚拟路由器(“vrouter”)20和连接网关路由器18B,VCE 12C包括vrouter 24和连接网关路由器18C。尽管未示出,VCE 12A也可以包括vrouter。尽管VCE 12B和12C被示为具有单个vrouter(例如,分别为vrouter20和24),但是VCE 12B和12C可以包括多个vrouter。例如,如果VCE12B和12C跨多个服务器实现,则每个服务器可以执行相应的vrouter。将在下面更详细地描述vrouter 20和24以及连接网关路由器18A-18C的示例。通常,vrouter 20和24以及连接网关路由器18A-18C是在远程数据中心内的相应服务器上执行的软件应用程序。在一个或多个示例中,连接网关路由器18A-18C形成为相应VCE 12的逻辑端点。例如,连接网关路由器18A-18C被配置为将数据从相应的VCE 12路由到其他VCE 12。
例如,每个连接网关路由器18可以表示Amazon Web Services VPC虚拟网关、Google Cloud Router或Tungsten Fabric或Contrail或OpenContrailGateway或用于虚拟计算环境的其他软件网关。
一旦数据到达一个VCE 12,连接网关路由器18A-18C可以不被配置为在相应VCE12内进一步路由通信。然而,示例技术不限于此,并且连接网关路由器18A-18C可以被配置为在相应的VCE 12内进一步路由通信。
在一个或多个示例中,控制器14(例如,单个控制器14)可以被配置为在VCE 12之间建立通信链路。以这种方式,控制器14可以被配置为建立互连VCE 12的通信隧道的全网格。在图1所示的示例中,连接网关路由器18A和18B经由隧道28A连接,连接网关路由器18B和18C经由隧道28B连接,并且连接网关路由器18C和18A经由隧道28C连接。以这种方式,隧道28A-28C表示VCE 12的相互通信的通信隧道的全网格。以这种方式,每个连接网关路由器18与相应VCE 12的逻辑隧道网格内的逻辑端点相关联。
隧道28可以是从物理连接的底层上的覆盖层开始的隧道28中的逻辑隧道。作为一个示例,隧道28可以形成在互联网上。因此,隧道28表示VCE 12可以通过互联网互连的方式,而不管互联网隧道28用于通信的特定底层硬件组件。
控制器14可以各种示例方式来建立隧道28。作为一个示例,控制器14利用连接网关路由器18之间的互联网协议安全(IPSec)会话或安全套接字层(SSL)协议或传输层安全(TLS)协议来建立隧道28,使得VCE12可以经由互联网通信。在一些示例中,控制器14可以利用vrouter 20和24之间的IPSec会话,并且可能利用VCE 12A的vrouter,用于经由互联网通信。作为一个示例,在控制器14位于公共云或私有云并且vrouter20、24部署在地理上分布的环境中的示例中,控制器14在vrouter 20、24和控制器14之间建立IPSec会话。在控制器14经由IPSec会话建立隧道28的示例中,相应连接网关路由器18、vrouter 20和24中的每一个都可以使用封装在封装安全有效载荷(ESP)分组中的用户数据报(UDP)进行通信。
通过建立逻辑隧道网格,控制器14可以被配置为从逻辑隧道网格确定一个或多个逻辑隧道,以在第一VCE和第二VCE之间建立一个或多个通信链路。作为一个示例,作为建立逻辑隧道网格的一部分,控制器14可以确定隧道28A是用于VCE 12A和12B彼此通信的通信链路,隧道28B是用于VCE 12B和12C彼此通信的通信链路,隧道28C是用于VCE 12C和12A彼此通信的通信链路。
除了建立逻辑隧道网格之外,控制器14还可以被配置为经由隧道28向VCE 12通告路由。控制器14可以通过多种方式经由隧道28通告路由。作为一个示例,控制器14经由广播网关协议(BGP)通告路由。换言之,经由BGP进行IPSec隧道建立的路由通告。
在一些情况下,连接网关路由器18通过隧道28操作BGP会话。控制器14可以用BGP会话的配置信息来配置连接网关路由器18。使用BGP会话,连接网关路由器18可以交换均在计算基础设施内操作的VCE 12的路由信息。隧道28可以形成完整的BGP网格。BGP可以是外部BGP或内部BGP(iBGP)。
连接网关路由器18可以均与公共地址(或端点)相关联,对该公共地址(或端点)执行网络地址转换(NAT),以允许连接网关路由器18之间的分组交换,此外,允许逻辑上位于不同VCE 12中的实例之间的IP可达性。控制器14可以为每个连接网关路由器18建立和配置路由控制,从而管理系统10的所有路由。路由可以是VCE 12内计算装置(虚拟和/或物理)的路由。
控制器14还可以被配置为确保VCE 12之间的安全通信。例如,如上所述,可能需要安全通信来确保非预期实体不能窥视通信。作为一个示例,VCE 12C可以是专用云,其特别配置有已建立的安全性,以形成专用安全网络。作为一个示例,VCE 12B是部署在防火墙后面的云,该防火墙在概念上被示为防火墙30。
在一个或多个示例(但不一定是所有示例)中,控制器14可以被配置为除了建立逻辑隧道网格和通过隧道网格通告隧道的路由之外,还管理安全密钥。例如,VCE 12A包括密钥服务器16。密钥服务器16被示为VCE 12A的一部分,以示出权利(entitlement)和密钥管理被部署在多云网络10的云中。密钥服务器16不必与控制器14位于同一VCE。例如,密钥服务器16可以与控制器14分开定位,但是可以在控制器14的控制下。
如上所述,在一些示例中,控制器14使用IPSec会话建立逻辑隧道网格。控制器14可以基于在IPSec隧道建立的互联网密钥交换(IKE)阶段使用的特定权利来生成证书。例如,密钥请求22或密钥请求26可以请求密钥,并且该请求发送到部署在多云网络10上相应的虚拟路由器20或虚拟路由器24。连接网关路由器18B和18C经由连接网关路由器18A将密钥请求转发给控制器14。
为了进一步确保安全通信,控制器14可以被配置为维护安全策略,这些安全策略指示哪些隧道28被具体配置为承载加密或其他安全通信。控制器14可以在每个流启用的策略实施框架中包括一个位。该位的状态指示工作负载分组(例如,数据)是否通过安全隧道进行通信,以进行安全转发。
图2是示出具有数据中心的示例多云网络的框图,其中,可以实现本文描述的技术的示例。图2示出了数据中心32A-32X,其容纳形成相应的VCE 12的服务器。作为一个示例,数据中心32A容纳服务器34A-34N,服务器34A-34N可以被配置为给VCE 12A提供基础设施。其他数据中心34可以基本上类似于数据中心32A,但是可以容纳其他VCE 12的服务器。此外,一个数据中心32可以容纳多个VCE 12的服务器。
如图所示,数据中心32A-32X(统称为“数据中心32”)经由服务提供商网络33彼此互连,并与和客户46相关联的客户网络互连。通常,每个数据中心32A为通过服务提供商网络33耦合到数据中心的客户46的应用程序和服务提供操作环境。数据中心32可以例如托管基础设施设备,例如,网络和存储系统、冗余电源和环境控制。服务提供商网络33可以耦合到由其他提供商管理的一个或多个网络,因此可以形成大规模公共网络基础设施(例如,互联网)的一部分。
在一些示例中,每个数据中心32可以表示许多地理上分布的网络数据中心中的一个。如图2的示例所示,每个数据中心32可以表示为客户46提供网络服务的设施。客户46可以是集体类别,例如,企业和政府或个人。例如,网络数据中心可以托管为几个企业和终端用户提供网络服务的虚拟计算环境(例如,云)。其他示例性服务可以包括数据存储、虚拟专用网络、流量工程、文件服务、数据挖掘、科学或超级计算等。在一些示例中,每个数据中心32可以是单独的网络服务器、网络对等体或其他。
在所示的示例中,每个数据中心32包括一组存储系统和应用服务器34A-34N(本文称为“服务器34”),其经由由一层或多层物理网络交换机和路由器提供的高速交换结构35互连。交换结构35由一组互连的架顶(TOR)交换机40A-40N(统称为“TOR交换机40”)提供,这些交换机耦合到机箱交换机42A-42Y(统称为“机箱交换机42”)的分布层。尽管未示出,但是每个数据中心32还可以包括例如一个或多个非边缘交换机、路由器、集线器、网关、诸如防火墙等安全装置、入侵检测和/或入侵防御装置、服务器、计算机终端、膝上型计算机、打印机、数据库、诸如蜂窝电话或个人数字助理等无线移动装置、无线接入点、网桥、电缆调制解调器、应用加速器或其他网络装置。
在这个示例中,TOR交换机40和机箱交换机42向服务器34提供到IP结构44和服务提供商网络33的冗余(多宿)连接。机箱交换机42聚集业务流,并在TOR交换机40之间提供高速连接。TOR交换机40可以是提供第二层(例如,MAC)和/或第三层(例如,IP)路由和/或交换功能的网络装置。TOR交换机40和机箱交换机42可以均包括一个或多个处理器和存储器,并且能够执行一个或多个软件进程。机箱交换机42耦合到IP结构44,该结构执行第3层路由,以通过服务提供商网络33在数据中心32和客户46之间路由网络流量。
在图2所示的示例中,数据中心32A被配置为向VCE 12A提供基础设施。例如,服务器34A-34N可以被配置为执行虚拟机(VM),以支持VCE 12A的操作。此外,在图1的示例中,控制器14是VCE 12A的一部分。因此,服务器34A-34N可以被配置为支持控制器14的操作。
如图2所示,服务器34A和34B执行VM 50A和50B。在该示例中,VM 50A和50B一起提供了虚拟机,控制器14可以在该虚拟机上执行和进行本公开中描述的控制器14的示例操作(例如,提供集中式控制器,以确保在具有单块玻璃接口(glass interface)的VCE上的适当路由传播、安全性和应用部署)。服务器34A、34B和34N执行VM 54A、54B和54C。在该示例中,VM 54A、54B和54C一起提供虚拟机,连接网关路由器18A在该虚拟机上执行并进行本公开中描述的连接网关路由器18A的示例操作(例如,在VCE 12A的逻辑隧道网格内形成逻辑端点)。
服务器34N也被示出为执行VM 52。VM 52可以提供虚拟机,要在VCE 12A内执行的应用程序在该虚拟机上执行。例如,VCE 12A可以提供计算资源来从个人计算机卸载计算复杂的任务。在一些示例中,VM 52是应用程序在其上执行以执行从个人计算机卸载的任务的平台。
VM 50A、50B、52、54A、54B和54C仅用于帮助理解,不应被视为限制。例如,虚拟化网络控制器36可以被配置为根据需要在服务器34上或服务器34内加速和减速虚拟机,以支持控制器14、连接网关路由器18A和VCE 12A的操作。然而,示例技术不限于此,并且在一些示例中,控制器14可以被配置为确定数据中心32A内将用于VCE 12A的资源(例如,多少VM被加速或减速)。此外,在一些示例中,控制器14可以被配置为确定其他数据中心32内将用于其他VCE 12的资源(例如,多少VM被加速或减速)。
VM 50A、50B、52、54A、54B和54C在相应服务器34A、34B和34N的处理电路上执行。参考图13更详细地示出了VM 50A、50B、52、54A、54B和54C在其上执行的处理电路的示例。
虚拟网络控制器36(“VNC”)提供逻辑上并且在某些情况下物理上集中式控制器,用于促进每个数据中心32(例如,数据中心32A)内的一个或多个虚拟网络的操作。在一些示例中,虚拟网络控制器36可以响应于从网络管理员38接收的配置输入而操作。此外,如图所示,在该示例中,管理员38的任务可以是为控制器14提供配置信息,使得控制器14可以执行本公开中描述的示例操作。管理员38可以表示操作员、开发者或应用部署专家,其使用公共接口来创建虚拟计算环境拓扑并将虚拟计算环境拓扑部署到虚拟网络控制器36和控制器14,以便在计算基础设施内供应。关于虚拟网络控制器36与数据中心32A的其他装置或其他软件定义网络一起操作的额外信息,见2013年6月5日提交的题为“PHYSICALPATHDETERMINATION FOR VIRTUAL NETWORK PACKET FLOWS的”国际申请号PCT/US2013/044378以及2014年3月26日提交的题为“Tunneled Packet Aggregation for Virtual Networks”的美国专利申请No.14/226,509,这两个申请都通过引用结合于此,如同在本文中完全阐述一样。
在一些示例中,任何两个网络装置之间的流量(例如,在IP结构44(未示出)内的网络装置之间、在服务器34和客户46之间或者在服务器34之间的流量)可以使用许多不同的路径穿过物理网络。分组流(或“流”)可以由分组报头中使用的五个值或“五元组”来定义,即,用于通过物理网络路由分组的协议、源IP地址、目的IP地址、源端口和目的端口。例如,协议指定了通信协议,例如,TCP或UDP,源端口和目的端口是指连接的源端口和目的端口。
数据中心32A内的流是流的一个示例。流的另一示例是VCE 12之间的数据流。如上所述,VCE 12之间的流的示例包括UDP封装的ESP包。
一组一个或多个分组数据单元(PDU)(包括指定特定五元组的分组报头)表示流。可以使用PDU的任何参数对流进行广义分类,例如,源和目的地数据链路(例如,MAC)和网络(例如,IP)地址、虚拟局域网(VLAN)标签、传输层信息、多协议标签交换(MPLS)或通用MPLS(GMPLS)标签以及接收流的网络装置的入口端口。例如,流可以是在传输控制协议(TCP)连接中传输的所有PDU、由特定的MAC地址或IP地址提供的所有PDU、具有相同VLAN标签的所有PDU或在相同交换端口接收的所有PDU。流可以另外或可替换地由应用标识符(AppID)定义,该应用标识符由虚拟路由器代理或其他实体确定,该实体例如使用端口和协议列表或深度包检查(DPI)来识别与该流相关联的服务或应用程序的类型,因为该流传输该服务或应用程序的类型的应用数据。
因此,图2示出了多云网络10中的VCE 12A的示例。例如,在图2中,单个SDN控制器14被配置为建立逻辑隧道网格,以经由相应的连接网关路由器18互连多云网络中的多个VCE 12。SDN控制器14还被配置为向VCE 12通告一个或多个逻辑隧道。如图2所示,数据中心32A包括在一个或多个服务器上执行的一个或多个虚拟机,使得一个或多个虚拟机形成VCE12A的基础设施,并且至少一个虚拟机执行连接网关路由器18A,以形成VCE 12A的逻辑端点。例如,在图2中,服务器34A和34B上的VM 50A和50B分别形成控制器14的基础设施,服务器34N上的VM 52形成VCE 12A的基础设施,服务器34A、34B和34C上的VM 54A、54B和54C分别形成连接网关路由器18A的基础设施。
尽管图2示出了数据中心32A的一个示例,但是其他数据中心可以基本相似,但是可以不执行控制器14的实例。例如,在数据中心32A中的第二组一个或多个服务器上执行的一组一个或多个虚拟机形成VCE 12B的基础设施。此外,这组一个或多个虚拟机中的至少一个执行连接网关路由器18B,以形成VCE 12B的逻辑端点。在该示例中,控制器14被配置为建立将连接网关路由器18A和连接网关路由器18B互连的逻辑隧道网格的逻辑隧道(例如,隧道28A)。
图3是示出被配置为根据本公开中描述的一个或多个示例技术进行通信的示例多云网络的框图。例如,图3示出了数据中心60、62、64、66和68,并且每个数据中心可以托管一个或多个VCE。在图3中,控制器14的一个示例(在图3中被识别为contr-prem2)在数据中心60内的服务器上执行。如图所示,数据中心60、62、64、66和68中的每一个都支持经由互联网互连数据中心的公共LAN。每个相应的公共LAN耦合到相应的连接网关路由器。例如,数据中心60的公共LAN连接到连接网关路由器(识别为gw1-prem2),数据中心62的公共LAN连接到两个连接网关路由器(识别为gw1-prem1和gw2-prem1)等。以这种方式,每个连接网关路由器与相应VCE的逻辑隧道网格内的逻辑端点相关联。在一些示例中,数据中心可以与SSL隧道(例如,具有SSL隧道的混合云)或IPSec隧道连接。
根据本公开中描述的一个或多个示例,控制器2(例如,在数据中心60内的服务器上执行的控制器14)可以被配置为建立经由互联网互连VCE的图3所示的逻辑隧道网格,允许一个管理员使用单块玻璃接口来确保VCE上的适当路由传播、安全性和应用部署。例如,管理员可能需要执行提供图形用户接口(GUI)或者甚至文本接口的应用程序来访问控contr-prem2的控制,并且利用这一接口,管理员可以建立隧道网格(例如,使用IPSec会话)并通告路由(例如,使用BGP)。此外,通过这个接口,管理员可以建立安全策略来确保期望的安全级别。
图4是示出被配置为根据本公开中描述的一个或多个示例技术进行通信的示例多云网络的框图。例如,图4示出了IPSec全网格的示例,使得网关控制器是可以彼此通信的不同场所。例如,场所1(prem1)包括两个连接网关路由器(GW1和GW2),以支持两个VCE,场所2(prem2)包括一个连接网关路由器(GW1),以支持一个VCE,场所3(prem3)包括两个网关路由器(GW1和GW2),以支持两个VCE。图4还示出了连接到具有其自身的相应连接网关路由器的不同站点的OpenVPN全网格。在一个或多个示例中,控制器14可以被配置为建立图4所示的示例性IPSec全网格,并且也可能建立OpenVPN全网格,其中,管理员可以使用单块玻璃来控制控制器14建立IPSec全网格和OpenVPN网格。在一些示例中,数据中心可以与SSL隧道或IPSec隧道(例如,具有IPSecESP隧道的混合云)连接。
图5是示出根据本公开中描述的一个或多个示例技术的示例连接网关路由器18A的框图。为了方便起见,IPSec会话模块(IPSec加密)和密钥交换模块(IKEv2)被图示为连接网关路由器18A的一部分。然而,示例技术不限于此,并且这些组件可以是控制器14的一部分。图5中示出的示例仅仅是为了提供一个示例,不应该被认为是限制性的。
图6是示出根据本公开中描述的一个或多个示例技术的示例操作方法的流程图。图6描述了包括多云网络10中的多个虚拟计算环境(例如,VCE 12)的系统中的示例方法。例如,在多云网络10中,单个软件定义网络(SDN)控制器12被配置为建立逻辑网格,以经由相应的连接网关路由器18互连多云网络10中的多个VCE 12(100)。
作为一个示例,VCE 12是支持一个租户的VCE。例如,租户利用两个或多个VCE 12来执行非常适合在云基础设施中执行的操作。在某些情况下,租户的管理员可能需要在VCE12的每个位置单独设置隧道,以便租户的应用程序在其上执行的服务器能够相互通信。利用本公开中描述的示例技术,利用单个网络控制器14,管理员能够利用单块玻璃在VCE 12之间建立隧道28。
连接网关路由器18可以均形成相应VCE 12的逻辑隧道网格内的逻辑端点。在一个示例中,作为建立逻辑隧道网格的一部分,控制器14可以被配置为从逻辑隧道网格确定一个或多个逻辑隧道(例如,隧道28A),以在第一VCE(例如,VCE 12A)和第二VCE(例如,VCE12B)之间建立一个或多个通信链路。
作为一个示例,第一组一个或多个虚拟机在第一组一个或多个服务器上执行,并且第一组一个或多个虚拟机形成第一VCE的基础设施。此外,第一组一个或多个虚拟机中的至少一个执行连接网关路由器,以形成第一VCE的逻辑端点。第二组一个或多个虚拟机在第二组一个或多个服务器上执行。第二组一个或多个虚拟机形成第二VCE的基础设施,并且第二组一个或多个虚拟机中的至少一个执行第二连接网关路由器,以形成第二VCE的逻辑端点。在该示例中,作为建立逻辑隧道网格的一部分,控制器14被配置为建立将第一连接网关路由器和第二连接网关路由器互连的逻辑隧道网格的逻辑隧道。
控制器14可以被配置为向第一VCE和第二VCE通告一个或多个逻辑隧道。以这种方式,利用单块玻璃(例如,利用到单个控制器14的一个接口),管理员能够配置不同VCE之间的通信,以允许安全的适当路由传播,而不是逐个VCE或逐个数据中心地建立通信链路。例如,出于安全目的,至少一个VCE包括密钥服务器,该密钥服务器被配置为生成证书,以部署到一个或多个VCE,用于加密的通信。控制器14可以被配置为使得密钥服务器在建立逻辑隧道网格期间生成证书。
在一些示例中,为了建立逻辑隧道网格,控制器14被配置为在相应VCE 12的连接网关路由器18之间建立互联网协议安全(IPSec)会话。此外,在一些示例中,为了通告一个或多个逻辑隧道,控制器14可以被配置为经由边界网关协议(BGP)通告一个或多个逻辑隧道。
图7是示出根据本公开中描述的技术的包括用于在网络200内引导信息的控制器214的示例网络200的框图。服务提供商网络206可以是图2的服务提供商网络33的示例。云210可以是图2的数据中心32A的示例。控制器214和编排器212可以实现整体控制器,例如,图1的控制器14。云220可以是图2的任何一个数据中心32B-32X的示例。
根据本公开的一个或多个实施例,控制器212提供逻辑上并且在一些情况下物理上集中式控制器,用于促进操作云210和云220中的每一个内的一个或多个虚拟网络,例如,云220的VPC 1。在一些示例中,控制器212可以响应于从变压器接收的配置输入而操作。
在一些示例中,编排器212管理云210的功能,例如,计算、存储、联网和应用资源。例如,编排器212可以为云210内或跨数据中心的租户创建虚拟网络。编排器212可以将虚拟机(VM)连接到租户的虚拟网络。编排器212可以将租户的虚拟网络连接到外部网络,例如,服务提供商网络206或云220。编排器212可以跨一组VM或向租户网络的边界实施安全策略。编排器212可以在租户的虚拟网络中部署网络服务(例如,负载平衡器)。在一些示例中,控制器214在状态数据库内维护路由、联网和配置信息。在一些示例中,编排器212使用Kubernetes来用于容器化应用程序的自动化部署、扩展和管理。例如,编排器212可以使用Kubernetes来经由控制器214将容器部署到服务器226A-226E(统称为“服务器226”)中的任何一个。在一些示例中,容器可以包括Docker容器。编排器212可以向控制器214输出指令,以经由网关230将容器部署到服务器226。
服务器组226(例如,服务器226B和226C)可以经由由一层或多层物理网络交换机和路由器提供的高速交换结构(未示出)互连。交换结构由一组互连的架顶(TOR)交换机(未示出)提供,这些交换机耦合到机箱交换机的分布层(未示出)。尽管未示出,但是云210和云220中的每一个还可以包括例如一个或多个非边缘交换机、路由器、集线器、网关、诸如防火墙等安全装置、入侵检测和/或入侵防御装置、服务器、计算机终端、膝上型计算机、打印机、数据库、诸如蜂窝电话或个人数字助理等无线移动装置、无线接入点、网桥、电缆调制解调器、应用加速器或其他网络装置。服务器226的每个服务器可以包括至少一个虚拟路由器和至少一个容器或虚拟机。
网关230A-230C(统称为“网关230”,可以是连接网关路由器18的示例)可以提供虚拟专用网络(VPN)服务,用于通过广域网(WAN)提供连接。可以使用基于标准的VPN对租户应用工作负载执行租户隔离。网关230可以使用安全策略框架为每个数据中心110A提供相同的安全态势。此外,网关230可以在公共和私有云环境中跨可用性区域提供弹性。网关230可以被配置用于基于角色的访问控制(RBAC)和与活动目录/轻量级目录访问协议(AD/LDAP)的集成。在一些示例中,网关230可以使控制器202能够在一个或多个数据中心之间传输分组,包括容器。网关230可以使用加密连接(例如,具有Nat-t或SSL的IPSec)来在网关门户230A、230B和230C之间交换信息。
图8是示出根据本公开中描述的技术的示例多云计算基础设施300的框图,该基础设施包括控制器302(是控制器14的示例)、公共云304、私有云306和裸机服务器系统308。在一些示例中,控制器302可以通过将软件映射到相应节点来提供公共云304、私有云306和裸机服务器系统308。提供包括准备和装备网络的过程,从而允许网络提供新的服务。例如,提供可以包括使用控制器302将容器部署到公共云304、私有云306和裸机服务器系统308中任一个的节点。此外,提供可以包括使用控制器302来启用公共云304、私有云306和裸机服务器系统308中任一个上的安全性(例如,激活或编程防火墙)。另外,控制器302可以监控和管理公共云304、私有云306和裸机服务器系统308中的每一个。例如,如果网络300接收到执行新任务的指令,则控制器302可以通过在公共云304、私有云306和裸机服务器系统308中的至少一个中部署新软件和创建新的基础设施配置来提供网络300,以执行新任务。控制器302可以表示图1的控制器14的示例实例。
图9是示出根据本公开中描述的技术的使用控制器管理的另一示例多云计算基础设施400的概念图。作为网络400的控制器14的示例的控制器402可以将软件部署到数据中心,包括服务器410、VPC 420、VPC 430和裸机服务器系统440。服务器410可以包括一个或多个虚拟机和一个或多个容器。此外,VPC 420、VPC 430和裸机服务器系统440可以包括一个或多个虚拟机和一个或多个容器。在一些示例中,控制器402可以部署容器来构建数据中心中的计算基础设施。控制器402可以从变压器(未示出)接收指令。指令可以指示要部署到每个相应数据中心以实现期望的虚拟计算环境的数据(例如,容器、对象、应用等)。另外,数据中心可以向控制器402输出指示网络结构的当前状态的信息。变压器可以被配置为使用由数据中心输出的虚拟计算环境的当前状态和虚拟计算环境的期望状态来产生模板。控制器400可以应用模板来构建数据中心的多个计算基础设施。
图10是示出根据本公开中描述的技术的用于在多云基础设施800内引导容器的另一示例控制器的框图。图10的基础设施800包括本地部署云810和私有云820。作为控制器14的示例的控制器812可以经由网关门户830A-830C(统称为网关830,可以是连接网关路由器18的示例)分发数据(例如,分组、对象、容器、应用等)。在一些示例中,网关830的各种网关门户可以使用一组路径连接。例如,网关门户830A和网关门户830B可以通过边界网关协议(BGP)840A和互联网协议安全(IPSec)加密覆盖信道850A连接。BGP是一种标准化的外部网关协议,用于在服务器之间交换路由和可达性信息。例如,执行BGP的装置可以传输通过一个或多个路由器(例如,基础设施800的虚拟路由器)路由分组所需的信息。BGP会话可能被加密,也可能不被加密。因此,网关830包括用于在网关门户之间传输路由信息的安全信道可能是有益的。IPSec加密覆盖信道850可以连接网关门户,使得可以以安全的方式传输路由信息。
图11是示出根据本公开中描述的技术的包括至少一个区域和至少一个可用性区域的示例私有云900的框图。至少一个区域的每个区域包括具有映射到相应区域中的物理数据中心的可用性区域集合的地理区域。至少一个区域的每个区域在位置、电力、供水等方面与至少一个区域的每个其他区域物理隔离并且独立。可用性区域是私有云900的客户可用的区域中的逻辑数据中心。区域中的每个可用性区域都有冗余和独立的电源、网络和连接,以降低两个可用性区域同时出现故障的可能性。
图12A-12C是示出根据本公开中描述的技术的包括至少一个网关门户的示例网络1000的框图。网关门户可以位于网络1000的每个可用性区域内。此外,控制器被配置为在可用性区域(包括网关门户)内构建和监控计算基础设施。如图12A所示,可用性区域的网关门户可以被配置为经由加密信道(IPSec、安全套接字层(SSL)或网络地址转换器遍历(Nat-t))与控制器的网关门户通信。如图12B所示,当每个可用性区域(例如,AZ-1和AZ-2)正常运行时,可用性区域(例如,AZ-1)内的租户装置被配置为与另一可用性区域(例如,AZ-2)内的控制器和租户装置传输和接收信息(例如,分组、容器等)。如果可用性区域(例如,AZ-1)离线(图12C),则另一可用性区域(例如,AZ-2)可以保持在线,并且网关门户可以使AZ-2内的租户装置能够与DC-1和DC-2的控制器交换信息。
在一些示例中,可用性区域的故障可以由网关处理。例如,在实例故障期间,网关门户部署在每个可用性区域以及DC-1和DC-2内的主动-备用对中。网关实例故障将会通告隧道路由和下一跳,以指向当前主动的网关门户。如果这两个网关实例都在可用性区域(例如,AZ-1)中发生故障,则通往网关实例的路由将经由VPC内的AZ-2定向。
图13是根据本公开中描述的技术的示例计算装置的框图。计算装置1300可以是云计算基础设施的图2的服务器34的示例实例。计算装置1300可以表示被配置为执行SDN控制器14的操作的一个或多个真实或虚拟服务器。尽管示出了计算装置1300的一个示例,但是应当理解,SDN控制器14可以是逻辑上集中的但物理上分布式的控制器。因此,SDN控制器14可以在一个或多个计算装置上执行,并且计算装置1300是这种计算装置的一个示例。
在该示例中,计算装置1300包括耦合计算装置1300硬件环境的硬件组件的总线1342。总线1342耦合网络接口卡1330、存储盘1346和一个或多个微处理器1310(在下文中,称为“微处理器1310”)。在某些情况下,前端总线可以耦合微处理器1310和存储装置1344。在一些示例中,总线1342可以耦合存储装置1344、微处理器1310和NIC 1330。总线1342可以表示外围组件接口(PCI)快速(PCIe)总线。在一些示例中,直接存储器访问(DMA)控制器可以控制耦合到总线1342的组件之间的DMA传输。在一些示例中,耦合到总线1342的组件控制耦合到总线1342的组件之间的DMA传输。
微处理器1310可以包括一个或多个处理器,每个处理器包括独立的执行单元,以执行符合指令集架构的指令,这些指令存储到存储介质。执行单元可以被实现为单独的集成电路(IC),或者可以组合在一个或多个多核(multi-core)处理器(或“多核(many-core)”处理器)内,每个多核处理器使用单个IC(即,芯片多处理器)来实现。例如,微处理器1310是SDN控制器14在其上执行的处理电路的示例。
磁盘1346表示计算机可读存储介质,包括以用于存储诸如处理器可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和/或非易失性、可移动和/或不可移动介质。计算机可读存储介质包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、EEPROM、闪存、CD-ROM、数字多功能盘(DVD)或其他光存储装置、盒式磁带、磁带、磁盘存储装置或其他磁存储装置或可用于存储所需信息并可由微处理器1310访问的任何其他介质。
主存储器1344包括一个或多个计算机可读存储介质,其可以包括随机存取存储器(RAM),例如,各种形式的动态RAM(DRAM)(例如,DDR2/DDR3SDRAM)、或静态RAM(SRAM)、闪存、或任何其他形式的固定或可移动存储介质,其可以用于以指令或数据结构的形式携带或存储期望的程序代码和程序数据并且可以被计算机访问。主存储器1344提供由可寻址存储位置组成的物理地址空间。
网络接口卡(NIC)1330包括一个或多个接口1332,其被配置为使用底层物理网络的链路交换数据包。接口1332可以包括具有一个或多个网络端口的端口接口卡。NIC 1330还可以包括卡上存储器,以例如存储数据包数据。NIC 1330和耦合到总线1342的其他装置之间的直接存储器访问传输可以从NIC存储器读取/写入NIC存储器。
存储器1344、NIC 1330、存储盘1346和微处理器1310可以为软件堆栈提供操作环境,该软件堆栈包括在内核空间中执行的操作系统内核1314。内核1314可以表示例如可从微软公司获得的Linux、伯克利软件分发(BSD)、另一Unix变体内核或视窗服务器操作系统内核。在一些情况下,操作系统可以执行管理程序和由管理程序管理的一个或多个虚拟机。示例管理程序包括用于Linux内核的基于内核的虚拟机(KVM)、Xen、VMware提供的ESXi、微软提供的视窗Hyper-V以及其他开源和专有管理程序。术语管理程序可以包括虚拟机管理器(VMM)。包括内核1314的操作系统为用户空间中的一个或多个进程提供执行环境。
计算装置1300可以耦合到物理网络交换结构,该物理网络交换结构包括覆盖网络,该覆盖网络将交换结构从物理交换机扩展到耦合到交换结构的物理服务器的软件或“虚拟”路由器,例如,图2的虚拟路由器48。计算装置1300为SDN应用程序1348提供操作环境,SDN应用程序1348可以执行上文相对于本文描述的SDN控制器的其他示例描述的操作。SDN应用程序1348表示一个或多个应用程序,并且SDN应用程序1348可以执行一个或多个协议,例如,简单网络管理协议(SNMP)和Netconf。SDN应用程序1348可以使用一个或多个协议来例如在连接网关路由器之间的隧道上建立隧道18和BGP对等会话。
对于在本文(包括在任何流程图或作业图中)描述的过程、设备和其他示例或图示,可以以不同的顺序执行,可以添加、合并或完全省略在本文描述的任何技术中包括的某些操作、动作、步骤或事件(例如,并非所有描述的动作或事件对于技术的实践都是必要的)。此外,在某些示例中,操作、动作、步骤或事件可以同时执行,例如,通过多线程处理、中断处理或多个处理器,而不是依次执行。此外,可以自动执行某些操作、动作、步骤或事件,即使没有被特别识别为自动执行。此外,被描述为自动执行的某些操作、动作、步骤或事件也可以不自动执行,而是在一些示例中,这些操作、动作、步骤或事件可以响应于输入或另一事件来执行。
在一个或多个示例中,所描述的功能可以以硬件、软件、固件或其任何组合来实施。如果以软件实施,则所述功能可作为一个或多个指令或代码,存储在计算机可读介质上或通过其传输,并且由基于硬件的处理单元执行。计算机可读介质可包括计算机可读存储介质,其对应于诸如数据存储介质的有形介质,或者包括有助于将计算机程序从一个地方传送到另一个地方的任何介质的通信介质(例如,根据通信协议)。以这种方式,计算机可读介质通常可对应于(1)非暂时性的有形计算机可读存储介质或(2)诸如信号或载波的通信介质。数据存储介质可以是可由一个或多个计算机或一个或多个处理器访问的任何可用介质,以检索用于实现本公开中描述的技术的指令、代码和/或数据结构。计算机程序产品可包括计算机可读介质。
作为示例而非限制,这种计算机可读存储介质可包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储器、磁盘存储器或其他磁存储装置、闪存或任何其他可用于以指令或数据结构的形式存储所需程序代码并且可由计算机访问的其他介质。而且,任何连接都适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或诸如红外线、无线电和微波的无线技术从网站、服务器或其他远程源传输指令,则同轴电缆、光纤电缆、双绞线、DSL或诸如红外线、无线电和微波的无线技术都包含在介质的定义中。然而,应该理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他瞬态介质,而是针对非瞬态有形存储介质。本文使用的磁盘和光盘包括光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘通过激光光学地再现数据。上述的组合也应包括在计算机可读介质的范围内。
指令可由一个或多个处理器执行,例如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等效集成或离散逻辑电路。因此,本文使用的术语“处理器”或“处理器电路”分别可指任何前述结构或适合于实现所述技术的任何其他结构。另外,在一些示例中,本文描述的功能可在专用硬件和/或软件模块内提供。而且,这些技术可在一个或多个电路或逻辑元件中完全实现。
本公开的技术可在各种装置或设备中实施,包括无线手持机、移动或非移动计算装置、可穿戴或不可穿戴移动设备、集成电路(IC)或一组IC(例如,芯片组)。在本公开中描述了各种组件、模块或单元以强调被配置为执行所公开的技术的设备的功能方面,但不一定需要由不同的硬件单元实现。而是,如上所述,各种单元可在硬件单元中组合或由一组互操作硬件单元提供,包括如上所述的一个或多个处理器,结合合适的软件和/或固件。
上文已描述了各种示例。这些和其他示例在以下权利要求的范围内。

Claims (21)

1.一种系统,包括:
多云网络中的多个虚拟计算环境VCE;
多个连接网关路由器,其中,每个连接网关路由器与相应VCE的逻辑隧道网格内的逻辑端点相关联;以及
在处理电路上执行的单个软件定义网络SDN控制器,其被配置为:
建立所述逻辑隧道网格,以经由相应的连接网关路由器互连多云网络中的多个VCE,其中,为了建立所述逻辑隧道网格,所述SDN控制器被配置为从所述逻辑隧道网格中确定一个或多个逻辑隧道,以在多云网络中的多个VCE中的第一VCE和第二VCE之间建立一个或多个通信链路;并且
向所述第一VCE和所述第二VCE通告一个或多个逻辑隧道。
2.根据权利要求1所述的系统,其中,至少一个所述VCE包括密钥服务器,所述密钥服务器被配置为生成证书,以部署到一个或多个VCE,用于加密通信。
3.根据权利要求2所述的系统,其中,所述SDN控制器被配置为使得所述密钥服务器在建立所述逻辑隧道网格期间生成证书。
4.根据权利要求1-3中任一项所述的系统,其中,为了建立所述逻辑隧道网格,所述SDN控制器被配置为在相应VCE的连接网关路由器之间建立互联网协议安全(IPSec)会话。
5.根据权利要求1-3中任一项所述的系统,其中,为了通告所述一个或多个逻辑隧道,所述SDN控制器被配置为经由边界网关协议(BGP)通告所述一个或多个逻辑隧道。
6.根据权利要求1-3中任一项所述的系统,还包括在一个或多个服务器上执行的一个或多个虚拟机,其中,所述一个或多个虚拟机形成所述第一VCE的基础设施,并且其中,所述一个或多个虚拟机中的至少一个虚拟机执行连接网关路由器,以形成所述第一VCE的逻辑端点。
7.根据权利要求6所述的系统,其中,所述一个或多个虚拟机包括第一组一个或多个虚拟机,所述一个或多个服务器包括第一组一个或多个服务器,并且所述连接网关路由器包括第一连接网关路由器,所述系统还包括在第二组一个或多个服务器上执行的第二组一个或多个虚拟机,其中,所述第二组一个或多个虚拟机形成所述第二VCE的基础设施,其中,所述第二组一个或多个虚拟机中的至少一个虚拟机执行第二连接网关路由器,以形成所述第二VCE的逻辑端点,并且其中,所述SDN控制器被配置为建立将所述第一连接网关路由器和所述第二连接网关路由器互连的逻辑隧道网格的逻辑隧道。
8.一种方法,包括:
利用在处理电路上执行的单个软件定义网络SDN控制器,建立逻辑隧道网格,以经由相应的连接网关路由器互连多云网络中的多个虚拟计算环境VCE,其中,每个连接网关路由器与相应VCE的逻辑隧道网格内的逻辑端点相关联,并且其中,建立所述逻辑隧道网格包括从所述逻辑隧道网格中确定一个或多个逻辑隧道,以在所述多云网络中的多个VCE中的第一VCE和第二VCE之间建立一个或多个通信链路;并且
向所述第一VCE和所述第二VCE通告所述一个或多个逻辑隧道。
9.根据权利要求8所述的方法,还包括经由至少一个VCE中的密钥服务器生成证书,以部署到一个或多个VCE,用于加密的通信。
10.根据权利要求9所述的方法,还包括利用所述SDN控制器使得所述密钥服务器在建立所述逻辑隧道网格期间生成证书。
11.根据权利要求8-10中任一项所述的方法,其中,建立所述逻辑隧道网格包括在相应VCE的连接网关路由器之间建立互联网协议安全(IPSec)会话。
12.根据权利要求8-10中任一项所述的方法,其中,通告所述一个或多个逻辑隧道包括经由边界网关协议(BGP)通告所述一个或多个逻辑隧道。
13.根据权利要求8-10中任一项所述的方法,还包括:
在一个或多个服务器上执行一个或多个虚拟机,其中,所述一个或多个虚拟机形成所述第一VCE的基础设施;并且
在所述一个或多个虚拟机中的至少一个虚拟机上执行连接网关路由器,以形成所述第一VCE的逻辑端点。
14.根据权利要求13所述的方法,其中,所述一个或多个虚拟机包括第一组一个或多个虚拟机,所述一个或多个服务器包括第一组一个或多个服务器,并且所述连接网关路由器包括第一连接网关路由器,所述方法还包括:
在第二组一个或多个服务器上执行第二组一个或多个虚拟机,其中,所述第二组一个或多个虚拟机形成所述第二VCE的基础设施;
在所述第二组一个或多个虚拟机中的至少一个虚拟机上执行第二连接网关路由器,以形成所述第二VCE的逻辑端点;并且
建立将所述第一连接网关路由器和所述第二连接网关路由器互连的逻辑隧道网格的逻辑隧道。
15.一种计算机可读存储介质,所述计算机可读存储介质上存储指令,当所述指令被执行时,经由单个软件定义网络SDN控制器的执行使得一个或多个处理器:
通过SDN控制器的执行来建立逻辑隧道网格,以经由相应的连接网关路由器互连多云网络中的多个虚拟计算环境VCE,其中,每个连接网关路由器与相应VCE的逻辑隧道网格内的逻辑端点相关联,并且其中,经由SDN控制器的执行使得所述一个或多个处理器建立逻辑隧道网格的指令包括经由所述SDN控制器的执行使得所述一个或多个处理器从所述逻辑隧道网格中确定一个或多个逻辑隧道以在所述多云网络中的多个VCE中的第一VCE和第二VCE之间建立一个或多个通信链路;并且
向所述第一VCE和所述第二VCE通告所述一个或多个逻辑隧道。
16.根据权利要求15所述的计算机可读存储介质,还包括指令,所述指令经由SDN控制器的执行使得所述一个或多个处理器经由至少一个VCE中的密钥服务器生成证书,以部署到一个或多个VCE,用于加密的通信。
17.根据权利要求16所述的计算机可读存储介质,还包括指令,所述指令经由所述SDN控制器的执行使得所述一个或多个处理器促使所述密钥服务器在建立所述逻辑隧道网格期间生成证书。
18.根据权利要求15-17中任一项所述的计算机可读存储介质,其中,经由所述SDN控制器的执行使得所述一个或多个处理器建立所述逻辑隧道网格的指令包括经由所述SDN控制器的执行使得所述一个或多个处理器在相应VCE的连接网关路由器之间建立互联网协议安全(IPSec)会话的指令。
19.根据权利要求15-17中任一项所述的计算机可读存储介质,其中,经由所述SDN控制器的执行使得所述一个或多个处理器通告所述一个或多个逻辑隧道的指令包括经由所述SDN控制器的执行使得所述一个或多个处理器经由边界网关协议(BGP)通告所述一个或多个逻辑隧道的指令。
20.根据权利要求15-17中任一项所述的计算机可读存储介质,还包括指令,所述指令经由所述SDN控制器的执行使得所述一个或多个处理器:
在一个或多个服务器上执行一个或多个虚拟机,其中,所述一个或多个虚拟机形成所述第一VCE的基础设施;并且
在所述一个或多个虚拟机中的至少一个虚拟机上执行连接网关路由器,以形成所述第一VCE的逻辑端点。
21.根据权利要求20所述的计算机可读存储介质,其中,所述一个或多个虚拟机包括第一组一个或多个虚拟机,所述一个或多个服务器包括第一组一个或多个服务器,并且所述连接网关路由器包括第一连接网关路由器,所述指令还包括使得所述一个或多个处理器执行以下步骤的指令:
在第二组一个或多个服务器上执行第二组一个或多个虚拟机,其中,所述第二组一个或多个虚拟机形成所述第二VCE的基础设施;
在第二组一个或多个虚拟机中的至少一个虚拟机上执行第二连接网关路由器,以形成所述第二VCE的逻辑端点;并且
建立将所述第一连接网关路由器和所述第二连接网关路由器互连的逻辑隧道网格的逻辑隧道。
CN201910579893.2A 2018-08-14 2019-06-28 用于计算机网络的系统和方法 Active CN110830389B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862718765P 2018-08-14 2018-08-14
US62/718,765 2018-08-14
US16/144,711 2018-09-27
US16/144,711 US10680831B2 (en) 2018-08-14 2018-09-27 Single point of management for multi-cloud environment including route propagation, security, and application deployment

Publications (2)

Publication Number Publication Date
CN110830389A true CN110830389A (zh) 2020-02-21
CN110830389B CN110830389B (zh) 2021-11-19

Family

ID=66912700

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910579893.2A Active CN110830389B (zh) 2018-08-14 2019-06-28 用于计算机网络的系统和方法

Country Status (3)

Country Link
US (1) US10680831B2 (zh)
EP (1) EP3611880B1 (zh)
CN (1) CN110830389B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112104490A (zh) * 2020-09-03 2020-12-18 杭州安恒信息安全技术有限公司 基于云服务器的网络通信方法、装置和电子装置
CN113746760A (zh) * 2020-05-27 2021-12-03 瞻博网络公司 通信方法、网络控制器和计算机可读存储介质
CN113765782A (zh) * 2020-06-04 2021-12-07 瞻博网络公司 使用前缀独立收敛的针对底层故障的局部修复

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11074091B1 (en) * 2018-09-27 2021-07-27 Juniper Networks, Inc. Deployment of microservices-based network controller
US10860368B2 (en) 2018-09-28 2020-12-08 Juniper Networks, Inc. Migrating workloads in multicloud computing environments
WO2020124901A1 (en) * 2018-12-21 2020-06-25 Huawei Technologies Co., Ltd. Mechanism to reduce serverless function startup latency
US10880124B2 (en) * 2018-12-28 2020-12-29 Alibaba Group Holding Limited Offload controller control of programmable switch
US11196726B2 (en) 2019-03-01 2021-12-07 Cisco Technology, Inc. Scalable IPSec services
US11113096B2 (en) * 2019-05-13 2021-09-07 Hewlett Packard Enterprise Development Lp Permissions for a cloud environment application programming interface
US11323287B2 (en) * 2019-07-18 2022-05-03 International Business Machines Corporation Link layer method of configuring a bare-metal server in a virtual network
US11522913B1 (en) 2019-09-03 2022-12-06 Rapid7, Inc. Simplifying networking setup complexity for security agents
US11297036B1 (en) * 2019-09-03 2022-04-05 Rapid7, Inc. Single whitelisted ingress endpoint on 1 and 2 way TLS connections
US11477092B2 (en) 2020-06-02 2022-10-18 Cisco Technology, Inc. Configuring secure connectivity between devices in separate sites of a multi-site domain
US11652736B2 (en) * 2020-06-30 2023-05-16 Amazon Technologies, Inc. Transmitting network traffic to a pool of redundant network appliances
US11595307B1 (en) 2020-09-25 2023-02-28 Amazon Technologies, Inc. Customized tuple definition for hashing at a network appliance routing service
US20220171649A1 (en) * 2020-11-30 2022-06-02 Juniper Networks, Inc. Extending a software defined network between public cloud computing architecture and a data center
US11792230B2 (en) 2021-09-13 2023-10-17 Cisco Technology, Inc. Resolving access policies between intent-based network architectures and cloud native architectures
US11979277B2 (en) 2022-02-02 2024-05-07 Oracle International Corporation Enhanced network-link architecture for improved end-to-end latency in communication between different cloud environments
US11991152B2 (en) * 2022-02-09 2024-05-21 Hewlett Packard Enterprise Development Lp Bypassing IKE firewall for cloud-managed IPSec keys in SDWAN fabric
CN115134315B (zh) * 2022-09-01 2022-12-02 珠海星云智联科技有限公司 报文转发方法及相关装置
CN115296988B (zh) * 2022-10-09 2023-03-21 中国电子科技集团公司第三十研究所 一种实现IPSec网关动态组网的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140362775A1 (en) * 2013-06-07 2014-12-11 Moritz M. Steiner Virtualization of control plane functions of a wireless core packet network
CN104954281A (zh) * 2014-03-31 2015-09-30 中国移动通信集团公司 通信方法、系统、资源池管理系统、交换机和控制装置
US20150363219A1 (en) * 2014-03-14 2015-12-17 Avni Networks Inc. Optimization to create a highly scalable virtual netork service/application using commodity hardware
CN105591868A (zh) * 2015-07-15 2016-05-18 杭州华三通信技术有限公司 一种虚拟专用网络vpn的接入方法和装置
CN105591955A (zh) * 2015-10-30 2016-05-18 杭州华三通信技术有限公司 一种报文传输的方法和装置
EP3264691A1 (en) * 2016-06-30 2018-01-03 Juniper Networks, Inc. Auto discovery and auto scaling of services in software-defined network environment

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10180809B2 (en) * 2006-05-17 2019-01-15 Richard Fetik Secure application acceleration system, methods and apparatus
US8639793B2 (en) 2010-10-29 2014-01-28 Cisco Technology, Inc. Disaster recovery and automatic relocation of cloud services
US9064216B2 (en) 2012-06-06 2015-06-23 Juniper Networks, Inc. Identifying likely faulty components in a distributed system
US9356866B1 (en) 2014-01-10 2016-05-31 Juniper Networks, Inc. Receive packet steering for virtual networks
US20150281006A1 (en) 2014-03-14 2015-10-01 Avni Networks Inc. Method and apparatus distributed multi- cloud resident elastic analytics engine
WO2016032467A1 (en) * 2014-08-27 2016-03-03 Adaptive Spectrum And Signal Alignment, Inc. Systems, methods, and apparatuses for implementing the virtualization of access node functions
CN105471744B (zh) * 2014-09-19 2018-10-09 新华三技术有限公司 一种虚拟机迁移方法和装置
US10282261B2 (en) 2016-06-20 2019-05-07 Vmware, Inc. Pooled memory heartbeat in shared memory architecture
US10523542B2 (en) * 2017-03-20 2019-12-31 At&T Intellectual Property I, L.P. Systems and methods for testing integrated cloud interoperability, adjacent network compatibility and service chain connectivity
US10416986B2 (en) * 2017-07-20 2019-09-17 Vmware, Inc. Automating application updates in a virtual computing environment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140362775A1 (en) * 2013-06-07 2014-12-11 Moritz M. Steiner Virtualization of control plane functions of a wireless core packet network
US20150363219A1 (en) * 2014-03-14 2015-12-17 Avni Networks Inc. Optimization to create a highly scalable virtual netork service/application using commodity hardware
CN104954281A (zh) * 2014-03-31 2015-09-30 中国移动通信集团公司 通信方法、系统、资源池管理系统、交换机和控制装置
CN105591868A (zh) * 2015-07-15 2016-05-18 杭州华三通信技术有限公司 一种虚拟专用网络vpn的接入方法和装置
CN105591955A (zh) * 2015-10-30 2016-05-18 杭州华三通信技术有限公司 一种报文传输的方法和装置
EP3264691A1 (en) * 2016-06-30 2018-01-03 Juniper Networks, Inc. Auto discovery and auto scaling of services in software-defined network environment

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113746760A (zh) * 2020-05-27 2021-12-03 瞻博网络公司 通信方法、网络控制器和计算机可读存储介质
CN113765782A (zh) * 2020-06-04 2021-12-07 瞻博网络公司 使用前缀独立收敛的针对底层故障的局部修复
CN113765782B (zh) * 2020-06-04 2023-06-20 瞻博网络公司 使用前缀独立收敛对底层故障的局部修复
CN112104490A (zh) * 2020-09-03 2020-12-18 杭州安恒信息安全技术有限公司 基于云服务器的网络通信方法、装置和电子装置

Also Published As

Publication number Publication date
US10680831B2 (en) 2020-06-09
US20200059370A1 (en) 2020-02-20
EP3611880B1 (en) 2021-12-29
CN110830389B (zh) 2021-11-19
EP3611880A1 (en) 2020-02-19

Similar Documents

Publication Publication Date Title
CN110830389B (zh) 用于计算机网络的系统和方法
CN110830357B (zh) 使用高级拓扑描述的多云虚拟计算环境供应
US20220124077A1 (en) Secure forwarding of tenant workloads in virtual networks
US20220360583A1 (en) Hybrid cloud security groups
CN110971442B (zh) 在多云计算环境中迁移工作负载
US11177978B2 (en) Connecting virtual computer networks with overlapping IP addresses using transit virtual computer network
US20180027009A1 (en) Automated container security
CN110838992B (zh) 在不同网络堆栈中的内核模块间传送分组的系统和方法
CN111371706A (zh) 跨物理和虚拟化工作负载使用虚拟化覆盖的具有多个协议的云网络
US11444836B1 (en) Multiple clusters managed by software-defined network (SDN) controller
US11991097B2 (en) Hybrid data plane for a containerized router
US11929987B1 (en) Preserving packet flow information across bump-in-the-wire firewalls
CN117255019A (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
CB02 Change of applicant information

Address after: California, USA

Applicant after: Juniper Networks, Inc.

Address before: California, USA

Applicant before: Jungle network

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant