CN104220988A - 云服务器中的层3服务实现和方法 - Google Patents

云服务器中的层3服务实现和方法 Download PDF

Info

Publication number
CN104220988A
CN104220988A CN201280072335.3A CN201280072335A CN104220988A CN 104220988 A CN104220988 A CN 104220988A CN 201280072335 A CN201280072335 A CN 201280072335A CN 104220988 A CN104220988 A CN 104220988A
Authority
CN
China
Prior art keywords
l2aas
network
cloud server
virtual
router
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
CN201280072335.3A
Other languages
English (en)
Other versions
CN104220988B (zh
Inventor
B·梅兰德
E·E·费尔南德斯卡萨多
H·帕特哈拉思
A·西费德肯
V·亚德哈夫
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN104220988A publication Critical patent/CN104220988A/zh
Application granted granted Critical
Publication of CN104220988B publication Critical patent/CN104220988B/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
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's
    • 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
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • 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/4557Distribution of virtual machine instances; Migration and load balancing
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种方法、计算机环境和云服务器被配置为促进在云服务器中所建立多个网络之间的通信。该云服务器(400)包括被配置为处理和存储信息的硬件组件(802);以及被配置为在硬件组件上运行并且还被配置为在内核空间(404)中提供虚拟平台的管理程序(430);用户空间(402)中的在虚拟平台上运行的第一虚拟机(410);连接到第一虚拟机(410)的第一L2aaS网络(414),第一L2aaS网络(414)位于内核空间(404)中;用户空间(402)中的在虚拟平台上运行的第二虚拟机(416);连接到第二虚拟机(416)的第二L2aaS网络(418),第二L2aaS网络(418)位于内核空间(404)中;以及虚拟路由器(424),虚拟路由器(424)位于内核空间(404)中并且连接到第一L2aaS网络(414)和第二L2aaS网络(418)。虚拟路由器(424)被配置为在第一和第二L2aaS网络(414,418)之间提供路由器功能。

Description

云服务器中的层3服务实现和方法
技术领域
本发明一般地涉及系统、软件和方法,并且更具体地涉及用于实现虚拟环境中的L2服务之间的路由功能的机制和技术。
背景技术
云计算是作为服务而不是产品的计算的递送,由此通过网络(例如因特网)将共享的资源、软件和信息作为实用程序提供给计算机和其他设备。当云计算实际意思是计算和存储服务时,它是成熟的领域。虚拟机(VM)可由用户例如使用例如RESTful的应用编程接口(API)在大约几分钟内获得,并且存储资源可以类似地被获得并被增加到任意大小。
该类型的数据中心环境允许企业以更容易的管理性和更少的维护来使其应用启动并且更快速地运行,并且使得IT能够更迅速地调整IT资源(诸如服务器、存储和联网)以满足波动的和不可预测的业务需求。
在基础设施作为服务(IaaS)中,云提供商向企业计算机提供基本云服务模型,作为物理机器或更经常地作为虚拟机、原始(块)存储、防火墙、负载均衡器和网络。IaaS提供商按需将这些资源从其安装在数据中心中的大的池中供应给企业。包括IP地址的局域网是提供的一部分。对于广域连接,可以使用因特网,或者在运营商云中,可以配置专用虚拟私人网络。
虚拟机技术已经被很好地建立。系统虚拟机提供了支持完整操作系统(OS)的完整系统平台。系统虚拟机(有时称为硬件虚拟机)允许在不同的虚拟机之间共享底层的物理机资源,其中的每一个虚拟机运行其自己的操作系统。例如,图1示出了系统100,该系统包括具有虚拟化引擎140以及多个虚拟机160至180的计算设备120。提供虚拟化的虚拟化引擎140被称为虚拟机监视器或管理程序。管理程序可以在裸硬件上运行或在操作系统上运行。
为了允许传统应用在云中运行或者将远程云资源并入到现场IT资源(诸如公司内部的IT设施内的服务器)中,需要先进并且高度可配置的云联网服务。诸如OpenStack的大多数IaaS提供商缺乏充分的云联网服务。
例如,图2示出了具有内核空间202和用户空间204的云服务器200。常规计算机操作系统通常将其功能隔离成内核空间和用户空间。内核空间被严格地保留用于运行内核、内核扩展和大多数的设备驱动器。相反,用户空间是运行时环境,在该运行时环境中所有的用户模式应用处理执行。该处理由内核根据一些调度算法来进行调度。类似地,在云服务器中,操作系统被隔离成内核空间202和用户空间204。管理程序206位于内核空间204中,而各种的多个VM 210和212通常位于用户空间202中。VM 210和VM 212之间的通信通过例如Open vSwitch(开放虚拟交换机)的虚拟交换机214或例如Quantum网络(量子网络)的层2作为服务(L2aaS)网络来实现。如果在用户空间202中存在另一VM 216,则其可以具有其自己的L2aaS网络218。L2aaS网络有效地用作(可能分布式的)交换机,并且其在本领域被公知为L2层服务。注意,每个VM具有用于与L2aaS网络进行通信的虚拟接口(VIF)。
然而,在大多数已知平台中的一个缺少的特征是支持路由协议的能力,即在L2aaS网络214和L2aaS网络218之间的通信220(层L3)。当前,用户或一些其他实体需要填充转发表。这使得云平台难以与L3 VPN联网,这是建立域间交互所需要的。
因此,需要开发一种自动地填充层L3路由服务所需要的路由和转发表的机制。
发明内容
使企业使用由专用云服务器远程提供的计算机设施的可能性具有高度吸引力。因此,计算机设施的提供商将配置其云服务器以支持各种需要和多个企业。一种方法是使硬件虚拟化,使得每个企业可以被提供适合于其需要的计算环境并且每个企业对实际硬件不了解。然而,其中,硬件的虚拟化意味着位于云服务器或多个服务器的不同部分中的各种虚拟机之间的通信。现有通信方法慢,并且需要来自云的运营商的输入。现在讨论的新概念通过在内核空间的虚拟路由器中实现L3服务来解决该问题。
根据一个示例性实施例,存在一种云服务器系统,该云服务器系统具有云服务器,该云服务器被配置为促进在云服务器中所建立的多个网络之间的通信。云服务器包括被配置为处理和存储信息的硬件组件、以及被配置为在硬件组件上运行的管理程序。管理程序被配置为在内核空间中提供虚拟平台。云服务器进一步包括:用户空间中的在虚拟平台上运行的第一虚拟机;连接到第一虚拟机的第一L2aaS网络,第一L2aaS网络位于该内核空间中;用户空间中的在虚拟平台上运行的第二虚拟机;以及连接到第二虚拟机的第二L2aaS网络,第二L2aaS网络位于内核空间中。云服务器进一步包括虚拟路由器,虚拟路由器位于内核空间中并且连接到第一L2aaS网络和第二L2aaS网络。虚拟路由器被配置成在第一和第二L2aaS网络之间提供路由器功能。
根据另一示例性实施例,存在一种用于促进在属于云服务器系统的云服务器中所建立的多个网络之间的通信的方法。该方法包括实现用于在硬件组件上运行的管理程序,并且将管理程序配置为在内核空间中提供虚拟平台;生成用户空间中的用于在虚拟平台上运行的第一虚拟机;创建连接到该第一虚拟机的第一L2aaS网络,第一L2aaS网络位于内核空间中;生成用户空间中的用于在虚拟平台上运行的第二虚拟机;创建连接到第二虚拟机的第二L2aaS网络,第二L2aaS网络位于内核空间中;以及在内核空间中实例化虚拟路由器以与第一L2aaS网络和第二L2aaS网络进行通信。虚拟路由器被配置为在第一和第二L2aaS网络之间提供路由器功能。
根据又一示例性实施例,一种云服务器环境被配置为促进在云服务器中所建立的多个网络之间的通信。云服务器环境包括管理程序,该管理程序被配置为在硬件组件上运行,并且还被配置为在内核空间中提供虚拟平台;用户空间中的在虚拟平台上运行的第一虚拟机;连接到第一虚拟机的第一L2aaS网络,第一L2aaS网络位于内核空间中;用户空间中的在虚拟平台上运行的第二虚拟机;连接到第二虚拟机的第二L2aaS网络,第二L2aaS网络位于内核空间中;以及虚拟路由器,虚拟路由器位于内核空间中并且连接到第一L2aaS网络和第二L2aaS网络。虚拟路由器被配置成在第一和第二L2aaS网络之间提供路由器功能。
因此,一个目的在于克服在上一节中所讨论的缺陷的一些缺陷,并且在云服务器内提供在虚拟网络之间的L3服务。独立权利要求中的一个或多个有利地提供这样的服务。
附图说明
附图被并入说明书中并构成说明书的一部分,附图图示了一个或多个实施例,并且与说明书一起解释了这些实施例。在附图中:
图1是建立在硬件组件上的虚拟环境的示意图;
图2是图示云服务器内的虚拟网络之间缺少的通信设备的示意图;
图3是用户空间中提供的路由器的示意图;
图4A是在示例性实施例中在内核空间中提供的用于提供L3服务的虚拟路由器的示意图;
图4B是示例性实施例中的在内核空间中提供的用于提供L3服务的虚拟交换机的示意图;
图5是另一示例性实施例中在内核空间中提供的用于提供L3服务的虚拟路由器的示意图;
图6是根据示例性实施例的在两个云服务器的内核空间中分布的用于提供L3服务的虚拟路由器的示意图;
图7是根据示例性实施例的用于实例化用于提供L3服务的虚拟路由器的方法的流程图;
图8图示了在硬件组件上提供的管理程序和平台的架构;以及
图9是云服务器的示意图。
具体实施方式
示例性实施例的以下描述参考附图。在不同附图中,相同附图标记指示相同或相似的元件。下面的详细描述不限制本发明。替代地,本发明的范围由所附权利要求来限定。为了简单,关于云服务器的术语和结构来讨论下面的实施例。然而,新颖的实施例不限于云服务器,而是可以适用于使用虚拟机的其他类型的系统。
在说明书中对“一个实施例”或“实施例”的引用指结合实施例描述的具体特征、结构或特性被包括在本发明的至少一个实施例中。因此,说明书中的各个位置出现短语“在一个实施例中”或“在实施例中”不一定都指的是同一实施例。此外,具体特征、结构或特性可以在一个或多个实施例中以任何方式被组合。
根据示例性实施例,存在一种云服务器,该云服务器将基于管理程序的虚拟化与基于容器的虚拟化的使用相结合以实现L3路由功能,对如开放式最短路径优先和边界网关协议的路由协议的支持。例如,如在后面将更具体地讨论的,针对所需要的每个逻辑路由器来创建容器。此外,创建每层2网络一个虚拟接口,在该虚拟接口之间,逻辑路由器将执行层3服务,例如分组转发。替代地,作为使用逻辑路由器的替代,可以使用没有基于容器的虚拟化的虚拟交换机,以提供在各种虚拟网络之间的L3服务。因此,在本文中引入“虚拟路由器”的通用名称以涵盖这些或其他的可能性。
根据图3中所示的示例性实施例,类似于图2中图示的系统,能够在类似于图2所图示的系统的系统300中实现用户空间202中的路由器的功能310。路由器功能310可以在虚拟机中被实现,并且将至少具有用于与L2aaS网络214进行通信的第一虚拟接口312以及用于与L2aaS网络218进行通信的第二虚拟接口314。
然而,该解决方案具有以下限制。为了从内核空间向用户空间传送数据,或反之亦然,涉及操作系统中的调度器,并且用于传送数据的时间增加。
因此,根据图4A中所图示的示例性实施例,路由器功能在内核空间中被实现为虚拟路由器,并且在L2aaS网络之间的通信在内核空间中发生,而不是分布在内核空间和用户空间中。图4A示出了包括云服务器400的云服务器系统,在该云服务器400中,用户空间402中的第一VM 410和第二VM 412被连接到L2aaS网络414(即层2服务),并且第三虚拟机416被连接到L2aaS网络418。L2aaS网络414和418被提供在内核空间404中,并且被连接到虚拟路由器424的相应虚拟接口420和422。虚拟路由器424自动地在内核空间404中提供L2aaS网络414和418之间的路由器功能。
在一个应用中,虚拟路由器424被认为是Linux环境中的命名空间,即Linux内核的一个特征是,允许不同的处理具有对文件系统的不同视图。通常情况下,存在单个文件系统树,其具有在各处的加载的文件系统(mounts)。通过命名空间,能够具有针对不同处理的不同的加载文件系统/视图。这意味着,如果处理A和处理B处于不同的命名空间,在一个命名空间中加载(卸载)不影响其他命名空间。当某物被加载时,其仅出现在当前命名空间中,并且某物被卸载时,其仅在当前命名空间中消失。
应当注意,管理程序406提供了云服务器400的底层硬件(未示出)的一种类型的虚拟化,而虚拟路由器424是相同底层硬件的基于容器的虚拟化430的一部分。在这方面,管理程序虚拟化意味着在主机操作系统上运行完整的操作系统,通常是操作系统的混合。例如,在使用VMware或Xen的Red Hat Enterprise Linux(RHEL)主机上运行Red Hat Enterprise Linux(红帽企业Linux)和微软服务器(Microsoft Server)。基于容器的虚拟化也被称为操作系统虚拟化。替代尝试运行完整的分离的客户OS,基于容器的虚拟化隔离(与主机运行的相同OS的)客户,但是不以与基于管理程序的虚拟化所进行的相同的方式来虚拟化硬件。因此,该虚拟化具有用于每个虚拟化环境、即用于每个虚拟路由器的容器(因此命名)。
以该方式,如果分组440需要被从VM 410传送向虚拟机416,则该分组从VM 410行进到虚拟接口442,然后到L2aaS网络414,然后到虚拟路由器424的虚拟接口420,然后到虚拟接口422,然后到L2aaS网络418,并且最后到达VM 416。以该方式,L2aaS网络414和L2aaS网络418之间的整个路径在内核空间404中发生,这减少了行进时间。另外,在内核空间中实现的新颖的虚拟路由器424在没有内核空间的操作者干预的情况下,将分组从一个L2aaS网络自动转发到另一L2aaS网络。
注意,虚拟路由器424是L3层,并且基于基于容器的虚拟化,,而不是由VM 410、412和416使用的基于管理程序的虚拟化。换言之,在云服务器400中使用两种不同的虚拟化,一种用于VM而一个用于路由器功能。此外,注意,按照需要可以使用更多的路由器功能,基于容器的虚拟化430中的每个容器一个。为了简单,图4A中所示的示例仅图示了单个虚拟路由器424。虚拟路由器可以与单个客户端相关联。因此,在图4A的示例中,单个客户端(企业)使用由云服务器400提供的VM 410、412和416。如果更多的客户端使用同一云端服务器400的VM,则对每个客户端指配其自己的虚拟路由器、VM、L2aaS网络等。因此,单个客户端的虚拟路由器与该客户端的L2aaS网络连接在一起。
虚拟路由器和/或VM可以在云服务器400中通过云平台控制器(CPC)450来创建。CPC 450可以被提供在云服务器内部、云服务器外部或分布在不同的云服务器处。CPC 450负责创建用于L3服务(即,虚拟路由器)的虚拟化容器。CPC 450还可以对于虚拟化容器中的每L2网络(即,L2aaS网络)在虚拟路由器424中创建一个虚拟接口,例如图4A中的VIF1420和VIF2422。对于在虚拟路由器中创建的每个虚拟接口,在每个L2网络上创建端口(415和419),使得每个端口与虚拟路由器中的相应虚拟接口进行通信。
替代地,代替在基于图4A中所示的容器虚拟化在容器中实现虚拟路由器,虚拟路由器可以被实现为如图4B所示的虚拟交换机425。虚拟交换机425需要具有路由器功能,即,提供层3服务。代替具有虚拟接口,该虚拟交换机425具有用于连接到L2aaS网络的虚拟端口412和423。
如上所述的新颖方面可以被扩展到多个云服务器,如图5所示。考虑图4A的云服务器400以及新的云服务器500。两个云服务器400和500可以具有相同的地理位置或者他们可以位于不同的地理位置。类似于云服务器400,第二云服务器500也具有用户空间502和内核空间504。管理程序506管理VM,并且云服务器500包括至少一个VM 510。VM 510被连接到作为L2aaS网络414的一部分的L2aaS网络514。换言之,L2aaS网络414跨多个云服务器,并且这由链接560来指示。
因此,VM 410处的分组440如所述的被接下来传播到VM 510。VM 510由使用VM 410的相同客户端使用。分组440从VM 410行进到虚拟接口442、L2aaS网络414、到L2aaS网络514的链路560、虚拟接口542和VM 510。以该方式,虚拟路由器424不参与分组传输。
然而,如果分组443需要从VM 510被传送到VM 416,该VM 510和VM 416连接到不同L2aaS网络,则虚拟路由器424开始参与链接两个L2aaS网络。分组443要遵循的路径如下。分组443通过虚拟接口542离开VM 510,并且行进到L2aaS网络514、链路560、L2aaS网络414、虚拟路由器424中的虚拟接口420、虚拟接口422、L2aaS网络418、虚拟接口444和VM 416。
如上所述,为了简单,图5所示的示例仅图示了两个云服务器和两个L2aaS网络。然而,新颖的虚拟路由器可以被应用于具有许多L2aaS网络的许多云服务器。
现在参考图6讨论更复杂的系统。在该示例性实施例中,存在两个云服务器400和500。存在分别在云服务器400和500中分布的第三L2aaS网络600和602。在L2aaS网络600和602之间的链路被省略。类似地,为了简单,省略了L2aaS网络414和514之间的链路。云路由器424还被呈现(实例化)为云服务器500中的元件624。因此,虚拟路由器624具有连到L2aaS网络514的第一虚拟接口610和连接到L2aaS网络602的第二虚拟接口612。
通过该结构,当需要在VM510和VM416之间交换分组620时,使用下述路径。分组620行进到VM 510的虚拟接口542、然后到L2aaS网络514、虚拟路由器624的虚拟接口610、虚拟接口612、L2aaS网络602、第一云服务器400中的L2aaS网络600、虚拟路由器424的虚拟接口422、虚拟接口420、L2aaS网络418、虚拟接口444并且最后VM 416。在该情况下,虚拟路由器624建立在L2aaS网络514和602之间的通信,虚拟路由器424建立在L2aaS网络418和600之间的通信,并且L2aaS网络600和602建立跨不同云服务器的通信。
本领域的技术人员将能够基于上面介绍的新颖概念来扩展跨各种云服务器的L2aaS网络之间的通信,使得任何实际的系统可以使用这里呈现的实施例的自动虚拟路由器。关于前面的附图,图6中图示的VM被认为是被提供用作对单个客户端(企业)的服务。当然,实际云系统将具有提供给各种客户的许多更多的VM,并且因此,许多路由器功能将在底层硬件的基于容器的虚拟化中被实现。
新颖方法的一个优点是实现高级的路由功能,同时减少实现复杂度。而且,保持低的上下文切换数目,从而提高性能。
现在参考图7讨论实现上述虚拟路由器的方法。图7是用于促进在云服务器中所建立的多个网络之间的通信的流程图,该云服务器属于云服务器系统。该方法包括:步骤700,实现用于在硬件组件上运行的管理程序,并且配置该管理程序以在内核空间中提供虚拟平台;步骤702,生成用户空间中的用于在虚拟平台上运行的第一虚拟机;步骤704,创建连接到第一虚拟机的第一L2aaS网络,第一L2aaS网络位于内核空间中;步骤706,生成用户空间中的用于在虚拟平台上运行的第二虚拟机;步骤708,创建连接到第二虚拟机的第二L2aaS网络,第二L2aaS网络位于内核空间中;以及步骤710,在内核空间中实例化虚拟路由器,以与第一L2aaS网络和第二L2aaS网络进行通信。虚拟路由器被配置为在第一和第二L2aaS网络之间提供路由器功能。
在图8中一般地图示了虚拟化底层的硬件、管理程序、L2aaS网络和虚拟机之间的关系。图8示出了云服务器800具有本领域中所已知的硬件组件802,例如,存储器804、处理器806、网络组件808等。管理程序810被提供在硬件之上,并且生成平台使得各种操作系统得以实现。该平台可以包括虚拟存储器812、磁盘814和网络组件816。然后,虚拟机820可以通过管理程序来实现。虚拟机820可以具有操作系统822和各种应用824。其他虚拟机830也可以在管理程序之上实现。
为了说明的目的而不是限制的目的,在图9中图示了能够根据示例性实施例执行操作的代表性云服务器结构(硬件部分)的示例。硬件、固件、软件或其组合可以被用于执行本文所述的各种步骤和操作。
适用于执行在示例性实施例中描述的活动的示例性对等体结构900可以包括或不包括服务器901。这样的服务器901可以包括耦合到随机存取存储器(RAM)904和只读存储器(ROM)906的中央处理器(CPU)902。ROM 906还可以是用于存储程序的其他类型的存储介质,诸如可编程ROM(PROM)、可擦除PROM(EPROM)等。处理器902可以通过输入/输出(I/O)电路908和总线910与其他内部和外部组件通信,以提供控制信号等。处理器902执行本领域中公知的各种功能,如由软件和/或固件指令的。
服务器901还可以包括一个或多个数据存储设备,包括硬盘和磁盘驱动912、CD-ROM驱动914和能够读取和/或存储信息的其他硬件,例如DVD等。在一个实施例中,用于执行上述步骤的软件可以被存储和分布在CD-ROM 916、可移动介质918或能够便携式地存储信息的其他形式介质上。这些存储介质可以被插入到诸如CD-ROM驱动914、磁盘驱动912等的设备中或由该设备读取。服务器901可以耦合到显示器920,显示器可以是任何类型的已知显示器或呈现画面,诸如LCD显示器、LED显示器、等离子显示器、阴极射线管(CRT)等。提供用户输入接口922,包括一个或多个用户接口机制,诸如鼠标、键盘、麦克风、触摸板、触摸屏、语音识别系统等。
服务器901可以经由网络耦合到其他计算设备,如陆上线路(landline)终端和/或无线终端。服务器可以是像诸如因特网928的全球域网(GAN)的更大的网络配置的一部分,其允许对各种陆上线路和/或移动客户端/监视器设备的最终连接。
所公开的示例性实施例提供了用于在L2服务之间实现L3服务的云服务器、方法和计算机指令,该L2服务在虚拟计算环境中提供网络。应当理解,该描述并不意在限制本发明。相反,示例性实施例旨在于涵盖如所附权利要求所定义的本发明的精神和范围中所包括的替换、修改和等同物。此外,在示例性实施例的详细描述中,阐述了许多具体细节,以提供对要求保护的发明的全面理解。然而,本领域技术人员将理解,各种实施例可以在没有这些具体细节的情况下实践。
如被本领域技术人员还将理解的,示例性实施例可以在无线通信设备、电信网络中被实现,被实现为方法或在以计算机程序产品实现。因此,示例性实施例可以采取完全硬件实施例的形式或组合硬件和软件方面的实施例的形式。此外,示例性实施例可以采取存储在计算机可读存储介质上的计算机程序产品的形式,,在该介质上具有实现在其中的计算机可读指令。可以利用任何适当的计算机可读介质,包括硬盘、CD-ROM、数字多功能盘(DVD)、光存储设备或磁存储设备,诸如软盘或磁带。计算机可读介质的其他非限制性示例包括闪存类型存储器或其他已知的存储器。
虽然在实施例中以具体组合描述了本示例性实施例的特征和元素,但是每个特征或元素可以在没有该实施例的其他特征和元素的情况下单独使用、或者在具有或不具有这里公开的其他特征和元素的情况下在各种组合中使用。本申请中提供的方法或流程图可以以计算机程序、软件或者固件来实现,该计算机程序、软件或者固件在计算机可读存储介质中有形地实现,用于由特定编程的计算机或处理器执行。

Claims (19)

1.一种云服务器系统,所述云服务器系统具有云服务器(400),所述云服务器(400)被配置为促进在所述云服务器(400)中所建立的多个网络之间的通信,所述云服务器(400)包括:
硬件组件(802),所述硬件组件(802)被配置为处理和存储信息;
管理程序(430),所述管理程序(430)被配置为在所述硬件组件(802)上运行并且还被配置为在内核空间(404)中提供虚拟平台;
用户空间(402)中的在所述虚拟平台上运行的第一虚拟机(410);
连接到所述第一虚拟机(410)的第一L2aaS网络(414),所述第一L2aaS网络(414)位于所述内核空间(404)中;
用户空间(402)中的在所述虚拟平台上运行的第二虚拟机(416);
连接到所述第二虚拟机(416)的第二L2aaS网络(418),所述第二L2aaS网络(418)位于所述内核空间(404)中;以及
虚拟路由器(424),所述虚拟路由器(424)位于所述内核空间(404)中并且连接到所述第一L2aaS网络(414)和所述第二L2aaS网络(418),
其中所述虚拟路由器(424)被配置成在所述第一L2aaS网络和所述第二L2aaS网络(414,418)之间提供路由器功能。
2.根据权利要求1所述的云服务器系统,其中所述虚拟路由器在linux环境中的命名空间中实现。
3.根据权利要求1所述的云服务器系统,其中基于容器的虚拟化在所述硬件组件上实现,并且所述虚拟路由器对应于所述基于容器的虚拟化的单个容器。
4.根据权利要求1所述的云服务器系统,其中所述虚拟路由器是被配置成提供路由器功能的虚拟交换机。
5.根据权利要求1所述的云服务器系统,其中所述第一L2aaS网络和所述第二L2aaS网络提供层2服务。
6.根据权利要求1所述的云服务器系统,其中所述虚拟路由器提供层3服务。
7.根据权利要求1所述的云服务器系统,其中所述第一虚拟机和所述第二虚拟机被配置成通过所述第一L2aaS网络和所述第二L2aaS网络以及所述虚拟路由器交换分组数据。
8.根据权利要求1所述的云服务器系统,其中所述第一虚拟机和所述第二虚拟机以及所述虚拟路由器具有用于交换分组数据的虚拟接口。
9.根据权利要求1所述的云服务器系统,进一步包括:
另一云服务器(500),所述另一云服务器(500)具有内核空间(504)和用户空间(502);
所述内核空间(504)中的管理程序(506);
所述用户空间(502)中的第三虚拟机(501);以及
所述内核空间(504)中的第三L2aaS(514),所述第三L2aaS网络(514)连接到所述第三虚拟机(510)。
10.根据权利要求9所述的云服务器系统,其中所述另一云服务器(500)中的所述第三L2aaS网络(514)和所述云服务器(400)的所述第一La22S网络(414)是同一L2aaS网络的组件。
11.根据权利要求10所述的云服务器系统,其中来自所述另一云服务器(500)的所述第三虚拟机(510)的分组数据(443)行进通过所述另一云服务器(500)中的所述第三L2aaS网络(514)、所述第一L2aaS网络(414)、所述虚拟路由器(424)以及所述第二L2aaS网络(418),以到达所述第二虚拟机(416)。
12.根据权利要求1所述的云服务器系统,进一步包括:
另一云服务器(500),所述另一云服务器(500)具有内核空间(504)和用户空间(502);
所述内核空间(504)中的管理程序(506);
所述另一云服务器(500)的所述用户空间(502)中的第三虚拟机(501);
所述内核空间(504)中的第三L2aaS(514),所述第三L2aaS网络(514)连接到所述第三虚拟机(510);
所述另一云服务器(500)的所述内核空间(504)中的第四L2aaS网络(602);以及
所述另一云服务器(500)的所述内核空间(504)中的另一虚拟路由器(624)。
13.根据权利要求12所述的云服务器系统,其中所述另一虚拟路由器(624)在所述第三L2aaS网络和所述第四L2aaS网络之间提供路由器功能。
14.根据权利要求13所述的云服务器系统,其中所述另一云服务器(500)中的所述第三L2aaS网络(514)和所述云服务器(400)的所述第一L2aaS网络(414)是同一L2aaS网络的组件,并且所述云服务器中的所述虚拟路由器和所述另一云服务器中的所述另一虚拟路由器是同一虚拟路由器的组件。
15.根据权利要求12所述的云服务器系统,其中来自所述另一云服务器(500)的所述第三虚拟机(510)的分组数据(620)行进通过所述第三L2aaS网络(514)、所述另一虚拟路由器(624)、所述第四L2aaS网络(602、600)、所述虚拟路由器(424)以及所述第二L2aaS网络(418),以到达所述第二虚拟机(416)。
16.根据权利要求12所述的云服务器系统,其中所述另一虚拟路由器在linux环境中的命名空间中实现。
17.根据权利要求12所述的云服务器系统,其中基于容器的虚拟化在所述另一云服务器(500)的硬件组件上实现,并且所述另一虚拟路由器(624)对应于所述基于容器的虚拟化的单个容器。
18.一种用于促进在属于云服务器系统的云服务器(400)中所建立的多个网络之间的通信的方法,所述方法包括:
实现用于在硬件组件(802)上运行的管理程序(430),并且将所述管理程序(430)配置为在内核空间(404)中提供虚拟平台;
在用户空间(402)中生成用于在所述虚拟平台上运行的第一虚拟机(410);
创建连接到所述第一虚拟机(410)的第一L2aaS网络(414),所述第一L2aaS网络(414)位于所述内核空间(404)中;
在所述用户空间(402)中生成用于在所述虚拟平台上运行的第二虚拟机(416);
创建连接到所述第二虚拟机(416)的第二L2aaS网络(418),所述第二L2aaS网络(418)位于所述内核空间(404)中;以及
实例化所述内核空间(404)中的虚拟路由器(424),以与所述第一L2aaS网络(414)和所述第二L2aaS网络(418)进行通信,
其中所述虚拟路由器(424)被配置为在所述第一L2aaS网络和所述第二L2aaS网络(414、418)之间提供路由器功能。
19.一种云服务器环境,被配置为促进在云服务器(400)中所建立的多个网络之间的通信,所述云服务器环境包括:
管理程序(430),所述管理程序(430)被配置为在硬件组件(802)上运行,并且还被配置为在内核空间(404)中提供虚拟平台;
用户空间(402)中的在所述虚拟平台上运行的第一虚拟机(410);
连接到所述第一虚拟机(410)的第一L2aaS网络(414),所述第一L2aaS网络(414)位于所述内核空间(404)中;
所述用户空间(402)中的在所述虚拟平台上运行的第二虚拟机(416);
连接到所述第二虚拟机(416)的第二L2aaS网络(418),所述第二L2aaS网络(418)位于所述内核空间中;以及
虚拟路由器(424),所述虚拟路由器(424)位于所述内核空间(404)中,并且连接到所述第一L2aaS网络(414)和所述第二L2aaS网络(418),
其中所述虚拟路由器(424)被配置成在所述第一L2aaS网络和所述第二L2aaS网络(414、418)之间提供路由器功能。
CN201280072335.3A 2012-04-12 2012-07-13 云服务器中的层3服务实现和方法 Active CN104220988B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261623124P 2012-04-12 2012-04-12
US61/623,124 2012-04-12
PCT/IB2012/053611 WO2013153425A1 (en) 2012-04-12 2012-07-13 Layer 3 service implementation in cloud servers and method

Publications (2)

Publication Number Publication Date
CN104220988A true CN104220988A (zh) 2014-12-17
CN104220988B CN104220988B (zh) 2017-12-08

Family

ID=46727274

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280072335.3A Active CN104220988B (zh) 2012-04-12 2012-07-13 云服务器中的层3服务实现和方法

Country Status (4)

Country Link
US (1) US10516607B2 (zh)
EP (1) EP2836908B1 (zh)
CN (1) CN104220988B (zh)
WO (1) WO2013153425A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109309634A (zh) * 2018-09-25 2019-02-05 新华三技术有限公司 一种报文处理系统及网络设备
CN110719188A (zh) * 2018-07-13 2020-01-21 丛林网络公司 作为使用虚拟节点的服务的网络
CN114584511A (zh) * 2020-11-30 2022-06-03 瞻博网络公司 在公有云计算基础架构和数据中心之间扩展软件定义网络

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5958164B2 (ja) * 2012-08-07 2016-07-27 富士通株式会社 制御装置、方法及びプログラム、並びにシステム及び情報処理方法
US9379973B2 (en) * 2013-02-11 2016-06-28 Cisco Technology, Inc. Binary compatible extension architecture in an openflow compliant network environment
US10187479B2 (en) * 2013-08-26 2019-01-22 Vmware, Inc. Cloud-scale heterogeneous datacenter management infrastructure
US20170054596A1 (en) * 2015-08-18 2017-02-23 Klas Technologies Limited Integrated internet access router
CN105227344B (zh) * 2015-08-21 2019-03-22 烽火通信科技股份有限公司 基于OpenStack的软件定义网络模拟系统及方法
US10599494B2 (en) * 2016-05-27 2020-03-24 Huawei Technologies Co., Ltd. Method and system of performing inter-process communication between OS-level containers in user space
CN105978919B (zh) * 2016-07-29 2018-12-21 哈尔滨建筑云网络科技有限公司 一种验证处理方法
US11936562B2 (en) * 2018-07-19 2024-03-19 Vmware, Inc. Virtual machine packet processing offload
US10855531B2 (en) 2018-08-30 2020-12-01 Juniper Networks, Inc. Multiple networks for virtual execution elements
US10728145B2 (en) * 2018-08-30 2020-07-28 Juniper Networks, Inc. Multiple virtual network interface support for virtual execution elements
US11016793B2 (en) * 2018-11-26 2021-05-25 Red Hat, Inc. Filtering based containerized virtual machine networking
US10841226B2 (en) 2019-03-29 2020-11-17 Juniper Networks, Inc. Configuring service load balancers with specified backend virtual networks

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658571B1 (en) * 1999-02-09 2003-12-02 Secure Computing Corporation Security framework for dynamically wrapping software applications executing in a computing system
WO2007023467A2 (en) * 2005-08-23 2007-03-01 Netronome Systems Inc Flow control based on flow policies in a communication network
CN101430649A (zh) * 2008-11-19 2009-05-13 北京航空航天大学 基于虚拟机的虚拟计算环境系统
US20110075664A1 (en) * 2009-09-30 2011-03-31 Vmware, Inc. Private Allocated Networks Over Shared Communications Infrastructure
US20110243146A1 (en) * 2010-03-31 2011-10-06 International Business Machines Corporation Data Frame Forwarding Using a Multitiered Distributed Virtual Bridge Hierarchy

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8532108B2 (en) * 2009-09-30 2013-09-10 Alcatel Lucent Layer 2 seamless site extension of enterprises in cloud computing
US9772831B2 (en) * 2010-04-26 2017-09-26 Pivotal Software, Inc. Droplet execution engine for dynamic server application deployment
US9154327B1 (en) * 2011-05-27 2015-10-06 Cisco Technology, Inc. User-configured on-demand virtual layer-2 network for infrastructure-as-a-service (IaaS) on a hybrid cloud network
US8705545B2 (en) * 2011-08-18 2014-04-22 Oracle International Corporation N-way routing packets across an intermediate network
US8660129B1 (en) * 2012-02-02 2014-02-25 Cisco Technology, Inc. Fully distributed routing over a user-configured on-demand virtual network for infrastructure-as-a-service (IaaS) on hybrid cloud networks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658571B1 (en) * 1999-02-09 2003-12-02 Secure Computing Corporation Security framework for dynamically wrapping software applications executing in a computing system
WO2007023467A2 (en) * 2005-08-23 2007-03-01 Netronome Systems Inc Flow control based on flow policies in a communication network
CN101430649A (zh) * 2008-11-19 2009-05-13 北京航空航天大学 基于虚拟机的虚拟计算环境系统
US20110075664A1 (en) * 2009-09-30 2011-03-31 Vmware, Inc. Private Allocated Networks Over Shared Communications Infrastructure
US20110243146A1 (en) * 2010-03-31 2011-10-06 International Business Machines Corporation Data Frame Forwarding Using a Multitiered Distributed Virtual Bridge Hierarchy

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110719188A (zh) * 2018-07-13 2020-01-21 丛林网络公司 作为使用虚拟节点的服务的网络
CN110719188B (zh) * 2018-07-13 2022-07-19 瞻博网络公司 作为使用虚拟节点的服务的网络
CN109309634A (zh) * 2018-09-25 2019-02-05 新华三技术有限公司 一种报文处理系统及网络设备
CN114584511A (zh) * 2020-11-30 2022-06-03 瞻博网络公司 在公有云计算基础架构和数据中心之间扩展软件定义网络
CN114584511B (zh) * 2020-11-30 2024-02-23 瞻博网络公司 在公有云计算基础架构和数据中心之间扩展软件定义网络

Also Published As

Publication number Publication date
US10516607B2 (en) 2019-12-24
US20150067674A1 (en) 2015-03-05
EP2836908B1 (en) 2016-04-06
CN104220988B (zh) 2017-12-08
WO2013153425A1 (en) 2013-10-17
EP2836908A1 (en) 2015-02-18

Similar Documents

Publication Publication Date Title
CN104220988A (zh) 云服务器中的层3服务实现和方法
US11838199B1 (en) System and method for deploying, scaling and managing network endpoint groups in cloud computing environments
US10749740B2 (en) Deploying network-based cloud platforms on end equipment
US10411947B2 (en) Hot swapping and hot scaling containers
US10320674B2 (en) Independent network interfaces for virtual network environments
US8954962B2 (en) Automatically reconfiguring physical switches to be in synchronization with changes made to associated virtual system
CN114946166A (zh) 在包括云边缘位置的异构计算环境中的动态资源移动
CN107409096A (zh) 自适应负载平衡
US9934060B2 (en) Hybrid service fleet management for cloud providers
CN104704471A (zh) 虚拟网络中的虚拟机多播/广播
US9916174B2 (en) Updating networks having virtual machines with migration information
CN107534577A (zh) 一种网络业务实例化的方法及设备
EP3042474B1 (en) Method and apparatus for improving cloud routing service performance
US10205682B2 (en) Fabric access tunnels
JP7056555B2 (ja) ネットワークシステム、その管理方法および装置ならびにサーバ
EP3311537B1 (en) Methods, apparatuses and computer-readable medium for scaling multiclouds in a hybrid cloud architecture
US10218607B2 (en) Flow distribution using fabric access tunnels
US20150117182A1 (en) Managing a network connection of a switch
US10810033B2 (en) Propagating external route changes into a cloud network
US20240143365A1 (en) Initializing a container environment
US20240054005A1 (en) Providing fault-resistance services in a dedicated region cloud at customer
US20230224223A1 (en) Publishing physical topology network locality for general workloads
EP4135273A1 (en) Routing management method, device and system
US11502917B1 (en) Virtual representation of user-specific resources and interactions within cloud-based systems
WO2024039521A1 (en) Providing fault-resistance services in a dedicated region cloud at customer

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant