CN107615716B - 用于云联网的多租户感知动态主机配置协议(dhcp)机制 - Google Patents

用于云联网的多租户感知动态主机配置协议(dhcp)机制 Download PDF

Info

Publication number
CN107615716B
CN107615716B CN201680027661.0A CN201680027661A CN107615716B CN 107615716 B CN107615716 B CN 107615716B CN 201680027661 A CN201680027661 A CN 201680027661A CN 107615716 B CN107615716 B CN 107615716B
Authority
CN
China
Prior art keywords
tenant
dhcp
address
computer
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201680027661.0A
Other languages
English (en)
Other versions
CN107615716A (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.)
Qindarui Co.
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN107615716A publication Critical patent/CN107615716A/zh
Application granted granted Critical
Publication of CN107615716B publication Critical patent/CN107615716B/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
    • 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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5061Pools of addresses
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
    • 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/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L2012/4629LAN interconnection over a backbone network, e.g. Internet, Frame Relay using multilayer switching, e.g. layer 3 switching

Landscapes

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

Abstract

一种方法包括在DHCP协议上提供支持多租户支持。该方法包括接收动态主机配置协议(DHCP)分组,将租户特定的选项信息***在DHCP分组内,以及传输具有租户特定的选项信息的DHCP分组。

Description

用于云联网的多租户感知动态主机配置协议(DHCP)机制
技术领域
本发明的技术特征概括地涉及用于云联网的动态主机配置协议(DHCP)机制,并且更具体而言涉及用于多租户云联网的DHCP机制。
背景技术
多租户支持是用于云数据中心网络的基本需求,其要求在不同的租户之间的服务隔离。一种类型的服务隔离是向不同租户提供重叠地址的地址隔离。在诸如互联网工程任务组网络虚拟化重叠(IETFNVO3)标准的目前标准中,提供虚拟网络标识符(VNID)以支持在重叠虚拟网络中不同租户的虚拟网络的分离。可以通过向主机提供配置参数的动态主机配置协议(DHCP)来提供寻址和主机配置。
DHCP具有两个组件,包括用于将主机特定的配置参数从DHCP服务器递送到主机的协议和用于向主机分配网络地址的机制。在DHCP中,协议仅支持单个地址空间中的配置。因此,每个DHCP服务器只能配置有单个地址空间的配置参数(即,该协议不支持重叠的地址空间)。因此,DHCP服务器的客户端只能从该单个地址空间获取地址。
为了向云数据中心网络中的不同租户提供重叠地址,必须为每个租户设立单独的DHCP服务器。这通常通过在单独的LINUX命名空间中设立唯一的DHCP服务器(即操作***级虚拟化)或在不同的主机中运行多个DHCP服务器来实现。在这些实现中,针对一个租户存在一个DHCP服务器,并且提供给不同租户的地址可以重叠。
然而,配置多个Linux命名空间是复杂的并且是资源/计算密集型的,因为通常只有一个物理网络接口卡用于连接到数据网络。此外,多个Linux命名空间需要创建多个虚拟网络接口并将其连接到以太网网桥,以便对这些命名空间以及运行的多个DHCP服务器实例进行服务,其中每个虚拟网络接口只对单个租户或者甚至单个网段进行服务。此外,当租户的数量增长到数千时,缺乏可扩展性。此外,许多传统操作***(例如,在2.6.32.xx之前的WINDOWS SERVER和传统LINUX内核)不支持LINUX命名空间。
此外,即使在为多租户支持而使用重叠封装协议(例如虚拟局域网(VLAN)、虚拟可扩展局域网(VXLAN)、分布式重叠虚拟以太网(DOVE)、使用通用路由封装(NVGRE)、无状态传送隧道(STT)、通用网络虚拟化封装(GENEVE)等),在重叠网络之间也没有互操作性。因此,这样的***不能提供多租户支持所需的灵活性。
发明内容
在本发明的第一方面中,提供了一种方法,该方法包括接收动态主机配置协议(DHCP)分组。该方法还包括将租户特定的选项信息***在DHCP分组内。该方法还包括传输具有租户特定的选项信息的DHCP分组。
在本发明的另一方面中,存在一种计算机程序产品,其包括具有体现在存储介质中的程序代码的计算机可读存储介质。程序代码本身不是暂态信号,并且程序指令可由计算设备读取,以使计算设备执行方法,该方法包括接收动态主机配置协议(DHCP)分组。该方法还包括确定DHCP分组包括租户特定的选项信息。该方法还包括基于租户特定的选项信息来选择地址空间。
在本发明的另一方面中,存在一种计算机程序,其包括具有体现在存储介质中的程序代码的计算机可读存储介质。程序代码本身不是暂态信号,并且程序指令可由计算设备读取,以使计算设备执行方法,该方法包括接收动态主机配置协议(DHCP)分组,所述动态主机配置协议(DHCP)分组包括租户特定的选项信息。该方法还包括基于租户特定的选项信息来定位租户地址空间。该方法还包括从虚拟接入点(VAP)获取虚拟网络标识符。该方法还包括获取与所获取的虚拟网络标识符相对应的子网配置。该方法还包括分配对应于所获取的子网配置的互联网协议(IP)地址。
在本发明的另一方面中,提供了一种包括CPU、计算机可读存储器和计算机可读存储介质的***。另外,该***包括一个或多个程序指令。该***包括用于在动态主机配置协议(DHCP)分组中***多租户信息的程序指令。该***还包括用于传输具有多租户信息的DHCP分组的程序指令。程序指令被存储在计算机可读存储介质上以供CPU通过计算机可读存储器来执行。
在本发明的另一方面中,提供了一种用于配置租户特定的DHCP选项帧格式的方法,所述方法包括配置租户特定的DHCP选项帧格式的第一字段以表示用于租户隔离的重叠协议类型。该方法还包括配置租户特定的DHCP选项帧格式的第二字段以唯一地标识租户。该方法还包括配置租户特定的DHCP选项帧格式的第三字段以表示虚拟网络。
本发明的实施例提供了实现诸如用于多租户云联网的新颖DHCP机制的技术特征的***和方法,其以比当前***更有效的方式解决针对不同租户的地址隔离的问题。例如,在DHCP机制的实施例中,在用于对地址空间划范围的DHCP分组中包括租户特定的信息。用于DHCP机制实施例的上述技术方案的优点在于其向后兼容,并且不会对当前实现施的DHCP处理***产生不利影响。此外,如果DHCP分组中没有提供租户特定的信息,则DHCP处理可以以当前***的方式来发生。此外,与具有全局范围的DHCP分组的地址范围相比,在DHCP机制的实施例的技术特征中,当使用DHCP租户特定的信息时,DHCP分组中的地址范围被本地限定至租户的地址空间。
此外,当使用本发明的实施例的DHCP机制时,单个DHCP服务器能够为多个租户提供DHCP服务——即使它们的地址范围可能彼此重叠。因此,与当前***相反,不需要操作***(OS)级隔离(例如,LINUX命名空间)。此外,DHCP机制的实施例简化了在多租户云数据中心中的DHCP服务供给。当数据中心网络包括由不同厂商提供的异构虚拟环境时,DHCP机制的实施例的技术特征也解决了互操作性问题。
附图说明
在以下通过本发明的示例性实施例的非限制性示例、参考所表示的多个附图的详细描述中描述了本发明。
图1描绘了根据本发明实施例的云计算节点。
图2描绘了根据本发明的实施例的云计算环境。
图3描绘了根据本发明的实施例的抽象模型层。
图4描绘了根据本发明的另一个实施例的云计算节点。
图5是根据本发明的各方面的用于租户特定的DHCP选项的帧格式。
图6描绘了根据本发明的各方面的用于DHCP分组处理的示例性流程(泳道(swim)图)。
图7描绘了根据本发明的各方面的用于地址分配处理的示例性流程。
图8描绘了根据本发明的各方面的用于DHCP子网选择支持的示例性流程。
具体实施方式
本发明的技术特征通常涉及用于云联网的动态主机配置协议(DHCP)机制,并且更具体而言涉及用于多租户云联网的DHCP机制。更具体而言,本发明的实施例提供了实现诸如用于多租户云联网的新颖DHCP机制的技术特征的***和方法,其以比当前***更有效的方式解决针对不同租户的地址隔离的问题。例如,在DHCP机制的实施例中,在用于对地址空间划范围的DHCP分组中包括租户特定的信息。
用于DHCP机制的实施例的上述技术方案的优点在于其向后兼容,并且不会对当前实现的DHCP处理***产生不利影响。此外,如果DHCP分组中没有提供租户特定的信息,则DHCP处理可以以当前***的方式来发生。此外,与具有全局范围的DHCP分组中的地址范围相比,在DHCP机制的实施例的技术特征中,当使用DHCP租户特定的信息时,DHCP分组中的地址范围被本地限定至租户的地址空间。
此外,当使用本发明的实施例的DHCP机制时,即使它们的地址范围可能彼此重叠,但单个DHCP服务器也能够为多个租户提供DHCP服务。因此,与当前***相反,不需要操作***(OS)级隔离(例如,LINUX命名空间)。此外,DHCP机制的实施例简化了多租户云数据中心中的DHCP服务供给。当数据中心网络包括由不同厂商提供的异构虚拟环境时,DHCP机制的实施例的技术特征也解决了互操作性问题。
在DHCP机制的另外的实施例中,提供寻址服务的单个DHCP服务器用于基于重叠网络的云数据中心中的多个租户。DHCP机制的实施例有助于解决DHCP***中的以下技术问题:
(i)在存在DHCP中继代理的情况下用于不同租户的地址空间隔离;
(ii)借助于网络虚拟化权威(NVA)的用于租户虚拟网络的地址子网选择;和
(iii)对于包括传统物理基础架构网络和具有不同封装协议(VLAN、VXLAN、NVGRE、STT或GENEVE)的重叠网络的异构虚拟环境的通用DHCP服务供给。
此外,DHCP机制的实施例不中断客户端和服务器之间的当前DHCP交互,例如DHCPDISCOVER(DHCP发现)、OFFER(提供)、REQUEST(请求)、ACKNOWLEDGMENT(确认)、RELEASE(释放)等。实际上,DHCP交互在本发明的DHCP机制的实施例中也起作用。
在DHCP机制的实施例的附加技术特征中,租户特定的选项用作用于DHCP服务器的指示符,以便在对该租户特定的相关联的地址空间上分配互联网协议(IP)地址。因此,单个DHCP服务器可以服务于多个租户,并且每个租户可以具有其自己的用于分配的IP地址池。此外,租户中的每个池是完全独立的,并且可以与针对不同租户的另一个池重叠(即,相同的IP地址池)。租户特定的选项由DHCP中继代理添加到DHCP报头。
在本发明的技术方案中,租户特定的选项包括以下字段:
(i)选项:应具有在已知DHCP***中使用的唯一值;
(ii)长度:剩余字段的总字节数;
(iii)传送代理:用于表示用于租户隔离的重叠协议类型(例如VLAN、VXLAN、DOVE、NVGRE、STT等)的编码值;
(iv)租户ID:用于标识租户的通用唯一标识符(UUID);和(v)虚拟网络ID(VNID):表示虚拟网络,其是L2段或广播域的抽象。租户可以具有多个虚拟网络。
在另外的实施例中,租户特定的选项被实现为DHCP中继代理信息选项(选项82,RFC 3046)中的子选项。在实施例中,实现在选项82标准中添加子选项以包括所提出的租户特定的选项。租户特定的选项由运行在网络虚拟化边缘(NVE)上的DHCP中继代理添加到DHCP报头。由于NVE位于重叠网络的边缘上,因此很容易在租户特定的选项中导出传送代理的编码值。例如,可以从DHCP客户端连接在其上的虚拟接入点(VAP)导出VNID。
为了在DHCP机制的实施例中实现多租户支持,DHCP服务器支持两种类型的地址空间:全局地址空间和租户地址空间。全局地址空间与已知的DHCP机制兼容,在所述已知的DHCP机制中,租户特定的选项不存在于DHCP分组中。在当前DHCP机制的全局地址空间中,IP地址范围不能重叠;而在使用本发明的DHCP机制的实施例的技术方案中,每个租户在租户地址空间中具有特定地址池,并且DHCP机制中的地址范围可以跨在不同租户的地址池上重叠。
在DHCP机制的实施例中,如果DHCP_DISCOVER消息不包括租户特定的选项,则DHCP服务器执行已知的DHCP处理。否则,如果DHCP_DISCOVER消息包括租户特定的选项,则使用租户特定的选项来定位租户地址空间和IP范围。DHCP服务器定位与租户特定的选项中的租户ID相对应的地址空间。如果DHCP_DISCOVER消息具有子网选择选项(选项118)或链路选择子选项(选项82中的子选项5),则DHCP服务器将从该子网分配地址。否则,如果DHCP_DISCOVER消息没有子网选择选项或链路选择子选项,则IP范围与VNID相关联,并且DHCP服务器将根据租户特定的选项中的VNID查找IP范围。此外,本发明的DHCP机制的实施例可以包括DHCP服务器,其在配置中对租户特定的选项使用匹配标准或访问控制列表(ACL)规则来定位租户地址空间。
在本发明的DHCP机制的实施例中,云服务提供商(CSP)可以采用来自不同厂商的各种重叠网络解决方案来实现多租户云数据中心。因此,当网络尺寸扩大时,可以利用DHCP机制的实施例。在一个示例中,CSP可以具有两个重叠网络,并且这些重叠网络可以被建立在公共物理网络之上。租户可以在两个重叠网络中都有虚拟机。因此,在新颖DHCP机制的实施例中,在租户具有横跨在异构重叠网络上的虚拟机的情况下,存在便利方式来在物理网络中供给DHCP服务器。租户特定的选项中的传送代理字段被用于供给DHCP服务器。
由于VNID的范围限于单个重叠网络,在这种异构网络中,DHCP机制的实施例中的DHCP服务器可以将该传送代理与租户特定的选项中的VNID一起用作分类字段,以导出从其中分配IP地址的IP范围。因此,为了在云数据中心中利用单个DHCP服务器来实现异构虚拟重叠网络的IP地址管理服务,可以在分类标准中将传送代理作为一个维度进行添加,以在租户地址空间中定位IP地址范围。
首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境。而是能够结合现在已知或以后开发的任何其他类型的计算环境而实现本发明的实施例。
云计算是一种服务交付模型,用于对共享的可配置计算资源池进行方便、按需的网络访问(例如网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务),可配置计算资源能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,。这种云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特征如下:
按需自助式服务:云消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的能力。
广泛的网络接入:能力可以通过标准机制在网络上获取,这种标准机制促进了通过异构的瘦客户端平台或厚客户端平台(例如移动电话、膝上型电脑、个人数字助理PDA)的使用。
资源池:提供者的计算资源被归入资源池以使用多租户(multi-tenant)模型来服务于多个消费者,其中按需将不同的物理资源和虚拟资源动态地指派和再指派。一般情况下,消费者不能控制或不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能力能够迅速、有弹性地(有时是自动地)被部署以快速扩展,并且能够迅速被释放以快速缩小。在消费者看来,用于部署的可用能力往往显得是无限的,并能在任意时候都能获取任意数量的能力。
可测量的服务:云***通过利用适于服务类型(例如存储、处理、带宽和活跃用户账号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户端接口(例如基于网络的电子邮件)从各种客户端设备访问应用。除了可能的有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作***、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作***或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行可以包括操作***和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作***、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图1,其中显示了云计算节点的一个例子。云计算节点10仅仅是适合的云计算节点的一个示例,不应对本发明实施例的功能或使用范围带来任何限制。总之,云计算节点10能够实现和/或执行以上所述的任何功能。
在云计算节点10中具有计算机***/服务器12,其可与众多其他通用或专用计算***环境或配置一起操作。众所周知,可以适于与计算机***/服务器12一起使用的计算***、环境和/或配置的例子包括但不限于:个人计算机***、服务器计算机***、瘦客户端、厚客户端、手持或膝上设备、基于微处理器的***、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机***﹑大型计算机***和包括上述任意***的分布式云计算技术环境,等等。
计算机***/服务器12可以在由计算机***执行的计算机***可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机***/服务器12可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算***存储介质上。
如图1所示,云计算节点10中的计算机***/服务器12以通用计算设备的形式表现。计算机***/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,***存储器28,连接不同***组件(包括***存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的任何一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说但不是进行限制,这些架构包括但不限于工业标准架构(ISA)总线,微通道架构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
计算机***/服务器12典型地包括多种计算机***可读介质。这些介质可以是能够被计算机***/服务器12访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器28可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机***/服务器12可以进一步包括其他可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***34可以用于读写不可移动的、非易失性磁介质(未显示,通常称为“硬盘驱动器”)。尽管未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及用于对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。如在下面将进一步描绘和描述的那样,存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在存储器28中,举例来说但不是进行限制,还具有操作***、一个或者多个应用程序、其他程序模块以及程序数据。操作***、一个或者多个应用程序、其他程序模块以及程序数据中的每一个或其某种组合可能包括网络环境的实现。
程序模块42通常执行本发明所描述的实施例中的功能和/或方法。例如,DHCP客户端80的一些或所有功能可以被实现为程序模块42中的一个或多个。另外,DHCP客户端80可以被实现为单独的专用处理器或者单个或多个处理器来提供在此描述的功能。在实施例中,DHCP客户端80执行本文所描述的一个或多个过程。
计算机***/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机***/服务器12交互的设备通信,和/或与使得该计算机***/服务器12能与一个或多个其他计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过I/O接口22进行。并且,计算机***/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络(例如互联网))通信。如图所示,网络适配器20通过总线18与计算机***/服务器12的其他组件通信。应当明白,尽管图中未示出,其他硬件和/或软件组件可以与计算机***/服务器12一起操作。示例包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID(廉价磁盘冗余阵列或独立磁盘冗余阵列)***、磁带驱动器以及数据备份存储***等。
现在参考图2,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机***54N。节点10之间可以相互通信。可以在诸如如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供基础架构即服务、平台即服务和/或软件即服务。应当理解,图2显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图3,其中显示了云计算环境50(图2)提供的一组功能抽象层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如所示,提供下列层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括主机架61;基于RISC(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储设备65;以及网络和网络组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
虚拟化层70提供抽象层,可以从中提供以下虚拟实体的示例:虚拟服务器71;虚拟存储72;包括虚拟专用网络的虚拟网络73;虚拟应用和操作***74;和虚拟客户端75。
在一个示例中,管理层80可以提供下面描述的功能。资源供给81提供被利用来在云计算环境内执行任务的计算资源和其他资源的动态采购。计量和定价82提供在云计算环境内利用资源时的成本跟踪,以及针对这些资源的消费进行计费或开具***。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证以及对数据和其他资源的保护。用户门户83为消费者和***管理员提供对云计算环境的访问。服务级别管理84提供云计算资源分配和管理,使得满足所需的服务级别。服务级别协议(SLA)规划与履行85为云计算资源提供预先安排和采购,以期根据SLA来对未来的需求进行预先考虑。
工作负载层90提供可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:映射和导航91;软件开发和生命周期管理92;虚拟课堂教学交付93;数据分析处理94;交易处理95;和本文所述的DHCP过程96。根据本发明的各方面,DHCP过程96的工作负载/功能操作以执行本文所述的一个或多个过程。
图4描绘了根据本发明的另一个实施例的云计算节点。具体而言,图4是另一个云计算节点,其包括与图1相同的云计算节点10。在图4中,计算机***/服务器12还包括DHCP客户端170、DHCP服务器160和DHCP中继代理180或与它们通信,如本文更详细地描述的。
根据本发明的各方面,DHCP客户端170、DHCP服务器160和DHCP中继代理180可以被实现为作为单独的或组合的模块存储在存储器中的程序模块42中的一个或多个程序代码。此外,DHCP客户端170、DHCP服务器160和DHCP中继代理180可以被实现为单独的专用处理器或单个或多个处理器以提供这些工具的功能。在执行计算机程序代码时,处理单元16可以往来于存储器、存储***和/或I/O接口22读取和/或写入数据。程序代码执行本发明的过程。
作为示例,DHCP客户端170可以被配置为经由云计算环境50向DHCP服务器160发送DHCP请求分组。如参考图2所讨论的,例如,云计算环境50可以是互联网、局域网、广域网和/或无线网络。响应于DHCP服务器160接收到DHCP请求分组,DHCP服务器160为DHCP客户端170分配IP地址。在DHCP机制的实施例中,DHCP服务器160可以使用租户特定的DHCP选项来携带租户信息以对DHCP协议上的多租户提供直接支持。因此,不同于需要操作***虚拟化的当前***(例如,每个租户具有在单独的LINUX命名空间中运行的DHCP服务器),DHCP服务器160可以支持重叠的IP地址空间。事实上,DHCP服务器160提供了优于已知的用于多租户的OS虚拟化的许多优点和技术方案,包括解决用于多租户隔离的不同封装协议之间的互操作性、高可扩展性(例如,不那么计算密集)、以及无缝地支持软件定义的联网(SDN)地址分配要求。此外,在图4中,DHCP中继代理180可以用作通过云计算环境50在DHCP客户端170和DHCP服务器160之间中继消息的中介。本领域普通技术人员将理解,在另一个实施例中,DHCP客户端170和DHCP服务器160可以彼此直接通信而不使用DHCP中继代理180。
本发明可以是***、方法和/或计算机程序产品。计算机程序产品可以包括其上具有用于使处理器执行本发明各方面的计算机可读程序指令的计算机可读存储介质(或媒体)。
计算机可读存储介质可以是可以保留和存储用于由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光学存储设备、电磁存储设备、半导体存储设备或上述的任何合适的组合。计算机可读存储介质的更具体示例的非详尽列表包括以下:便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM),便携式光盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、诸如在其上记录有指令的凹槽中的穿孔卡或凸起结构的机械编码设备,以及上述的任何合适的组合。如本文所使用的,计算机可读存储介质不应被解释为暂态信号本身,诸如无线电波或其他自由传播的电磁波,通过波导或其他传输介质传播的电磁波(例如,通过光缆的光脉冲)或通过电线传输的电信号。
本文所描述的计算机可读程序指令可以经由网络例如互联网、局域网、广域网和/或无线网络而从计算机可读存储介质或外部计算机或外部存储设备下载到相应的计算/处理设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并将计算机可读程序指令转发以存储在相应的计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据或以包括面向对象编程语言例如Smalltalk、C++等以及过程化程序编程语言例如“C”编程语言或类似编程语言的一种或多种编程语言的任何组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上、作为独立的软件包部分地在用户的计算机上、部分地在远程计算机上并且部分地在用户的计算机上、或者完全在远程计算机或服务器上执行。在后一种场景下,远程计算机可以通过任何类型的网络——包括局域网(LAN)或广域网(WAN)——而连接到用户的计算机,或者(例如,使用互联网服务提供商而通过互联网)可以连接到外部计算机。在一些实施例中,通过利用计算机可读程序指令的状态信息来对电子电路进行个性化以便执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以执行计算机可读程序指令。
本文参考根据本发明的实施例的方法、装置(***)和计算机程序产品的流程图示和/或框图来描述本发明的各方面。应当理解,流程图示和/或框图的每个块以及流程图示和/或框图中的块的组合可以由计算机可读程序指令来实现。
可以将这些计算机可读程序指令提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个块中指定的功能/动作的装置。这些计算机可读程序指令也可以存储在计算机可读存储介质中,计算机可读存储介质可引导计算机、可编程数据处理设备和/或其他设备以特定方式工作,使得其中存储了指令的计算机可读存储介质包括制品,所述制品包括实现流程图和/或框图的一个或多个块中指定的功能/动作的各方面的指令。
还可以将计算机可读程序指令加载到计算机、其他可编程数据处理设备或其他设备上,以使得在计算机、其他可编程设备或其他设备上执行一系列操作步骤以产生计算机实现的过程,使得在计算机、其他可编程设备或其他设备上执行的指令实现流程图和/或框图的一个或多个块中指定的功能/动作。
附图中的流程图和框图图示出了根据本发明的各种实施例的***、方法和计算机程序产品的可能实现的架构、功能和操作。在这方面,流程图或框图中的每个块可以表示包括用于实现指定逻辑功能的一个或多个可执行指令的指令的模块、段或部分。在一些替代的实现中,块中所指出的功能可以以附图中所指出的顺序之外的顺序发生。例如,取决于所涉及的功能,连续示出的两个块实际上可以基本同时被执行、或者这些块有时可以以相反的顺序被执行。还将注意的是,框图和/或流程图示的每个块以及框图和/或流程图示中的块的组合可以由执行指定功能或动作的基于专用硬件的***或者执行专用硬件和计算机指令的组合来实现。
图5是根据本发明的各方面的用于租户特定的DHCP选项的帧格式。更具体来说,图5描绘了用于携带租户信息的租户特定的DHCP选项帧格式100。租户特定的DHCP选项帧格式100包括各种字段,包括但不限于选项110、长度120、传送代理130、租户ID 140和虚拟网络ID 150。选项110是DHCP选项中的唯一值。长度120是剩余字段的总字节数。传送代理130是用于表示用于租户隔离的重叠协议类型的编码值,例如VLAN、VXLAN、DOVE、NVGRE、STT等。租户ID 140是用于标识租户的通用唯一标识符(UUID)。最后,虚拟网络ID 150表示作为L2段或广播域的抽象的虚拟网络。
可以将租户接合到多个虚拟网络。租户特定的DHCP选项帧格式100是指示符,用于DHCP服务器将相关联地址空间上的IP地址分配给该租户。因此,单个DHCP服务器可以服务于多个租户,并且每个租户可以具有其自己用于分配的IP地址池。不同租户的池是完全独立的,并且可以重叠。租户特定的选项帧格式100可以由DHCP中继代理添加到DHCP报头。在实施例中,租户特定的选项是DHCP中继代理信息选项(选项82,RFC 3046)中的子选项。因此,实现将在选项82中添加子选项以包括租户特定的选项帧格式100。
流程图
图6至图8示出了用于执行本发明的各方面的示例性流程(或泳道图)。图6至图8例如可以在图1和图4的环境中实现。如上所指出,流程图图示出了本文中已经描述的根据本发明的各种实施例的***、方法和计算机程序产品的可能实现的架构、功能和操作。附图中的流程图和框图图示出了根据本发明的各种实施例的***、方法和计算机程序产品的可能实现的架构、功能和操作。在这方面,流程图或框图中的每个块可以表示包括用于实现指定逻辑功能的一个或多个可执行指令的指令的模块、段或部分。还应该注意的是,在一些替代实现中,块中所指出的功能可以以附图中所指出的顺序之外的顺序发生。例如,取决于所涉及的功能,连续示出的两个块实际上可以基本同时被执行、或者这些块有时可以以相反的顺序被执行。还将注意的是,框图和/或流程图示的每个块以及框图和/或流程图示中的块的组合可以由执行指定功能或动作的基于专用硬件的***或者执行专用硬件和计算机指令的组合来实现。
图6描绘了根据本发明的各方面的用于DHCP分组处理的示例性流程(泳道图)。更具体来说,图6示出了由DHCP中继代理添加到DHCP报头的租户特定的选项。由于网络虚拟化边缘(NVE)是重叠网络的边缘,因此很容易在租户特定的选项中导出传送代理的编码值。可以从DHCP客户端所连接到的虚拟接入点(VAP)中导出虚拟网络标识符(VNID)。VAP是在NVE上用于将租户***连接到虚拟网络的逻辑连接点。VAP可以是通过逻辑接口标识符所标识的物理端口或虚拟端口,诸如连接到虚拟机(VM)的VLAN ID或内部vSwitch接口ID。租户特定的选项中的租户ID可以通过查阅包括VNID和租户ID之间的映射的NVA中的本地缓存或远程数据库通过VNID来导出。
在当前的DHCP中继中,对于其所服务的每个L2段,需要一个网关IP接口,在该网关IP接口上将接收在该L2段上的DHCP客户端分组。因此,在当前的DHCP***中,在从DHCP客户端接收到DHCP分组时,该IP接口的IP地址将被填写到DHCP分组的GIADDR字段中——如果它为零的话,并且将该DHCP分组发送给DHCP服务器。换句话说,GIADDR由第一DHCP中继代理添加。DHCP服务器将使用GIADDR来将IP地址和其他网络参数分配给DHCP客户端。DHCP服务器将向由GIADDR所标识的DHCP中继代理发送对应的DHCP中继消息。DHCP中继代理被设计为将DHCP应答消息发送给直接连接的DHCP客户端——与由GIADDR所标识的DHCP中继代理的IP接口相同的L2段中的客户端。
对照而言,如图6中所示,DHCP客户端正在重叠网络中运行,并且不同租户的重叠网络被隔离。DHCP服务器被设计来为不同租户重叠网络中的所有DHCP客户端服务。DHCP服务器和DHCP中继代理将通过底层网络进行通信。由DHCP中继代理添加的GIADDR将是中继代理的底层IP地址。DHCP服务器将不使用GIADDR来将IP地址和其他网络参数分配给DHCP客户端。DHCP服务器将使用租户特定的选项和其他选项来将IP地址和其他网络参数分配给DHCP客户端。DHCP服务器将向由GIADDR所标识的DHCP中继代理发送对应的DHCP应答消息。中继代理将使用租户特定的选项中的VNID来将DHCP应答消息相应地递送给DHCP客户端。
更具体来说,图6描绘了根据本发明的各方面的用于DHCP分组处理的示例性流程图或泳道图。图5包括以下参与者:DHCP客户端210(关于图4描述的DHCP客户端170的示例)、DHCP中继代理220(关于图4的DHCP中继代理180的示例)和DHCP服务器230(关于图4描述的DHCP服务器160的示例)。
在图6中,在DHCP分组处理中,在步骤231处,DHCP客户端210向DHCP中继代理220发送DHCP_DISCOVER消息。然后,在步骤232处,DHCP中继代理220向DHCP服务器230发送具有租户特定的选项消息的DHCP_DISCOVER。在步骤233中,DCHP服务器230然后向DHCP中继代理220发送具有租户特定的选项消息的DHCP_OFFER。在步骤234处,DHCP中继代理220向DHCP客户端210发送DHCP_OFFER消息。然后,在步骤235处,DHCP客户端210向DHCP中继代理220发送DHCP_REQUEST消息。在步骤236处,DHCP中继代理220向DHCP服务器230发送具有租户特定的选项消息的DHCP_REQUEST。在步骤237处,DHCP服务器230向DHCP中继代理220发送具有租户特定的选项消息的DHCP_ACK。最后,在步骤238处,DHCP中继代理220向DHCP客户端210发送DHCP_ACK消息。
图7描绘了根据本发明的各方面的用于地址分配处理的示例性流程。在图7中,为了在所描绘的实施例的新颖DHCP机制中实现多租户支持,DHCP服务器支持两种类型的地址空间:全局地址空间和租户地址空间。全局地址空间与在DHCP分组中不存在租户特定的选项的当前DHCP方法兼容。在当前DHCP方法的全局地址空间中,IP地址范围不能重叠;而相反,在本发明所描绘的实施例的DHCP机制的技术方案中,每个租户在租户地址空间中具有特定地址池。在所描绘的实施例的DHCP机制中的地址范围可以跨越不同租户的地址池而重叠。
例如,在图7中所示的DHCP机制中,如果DHCP_DISCOVER消息不包括租户特定的选项,则DHCP服务器执行已知的DHCP处理。否则,如果DHCP_DISCOVER消息包含租户特定的选项,则使用租户特定的选项来定位租户地址空间和IP范围。DHCP服务器定位与租户特定的选项中的租户ID相对应的地址空间。另外,在图7中,如果DHCP_DISCOVER消息具有子网选择选项(选项118)或链路选择子选项(选项82中的子选项5),则DHCP服务器将从该子网分配一个地址。否则,如果DHCP_DISCOVER消息没有子网选择选项或链路选择子选项,则IP范围与VNID相关联,并且DHCP服务器将根据租户特定的选项中的VNID查找IP范围。此外,所描绘的实施例的新颖DHCP机制可以包括DHCP服务器,其在配置中对租户特定的选项使用匹配标准或访问控制列表(ACL)规则来定位租户地址空间。
更具体来说,在图7中,在地址分配处理中,在步骤305处,DHCP服务器接收DHCP请求分组。在步骤310处,DHCP服务器的过程和***确定DHCP请求(例如,DHCP_DISCOVER)是否具有特定选项。如果DHCP请求没有租户特定的选项(即,否),则在步骤315处,DHCP服务器使用全局地址空间。然后,在步骤320处,因为没有租户特定的选项,DHCP服务器和DHCP客户端执行已知的DHCP协议处理。
或者,在步骤310处,如果DHCP请求(例如,DHCP_DISCOVER)具有租户特定的选项(即,是),则在步骤325处,由DHCP服务器根据租户特定的选项字段来选择地址空间。此外,在步骤330处,由DHCP服务器确定DHCP请求中是否存在链路选择(选项118)或子网选择选项(选项82子选项5)。如果在步骤345处没有链路(即,否),则由DHCP服务器为VNID分配地址。或者,在步骤330处,如果在DHCP请求中存在链路选择(选项118)或子网选择选项(选项82子选项5)(即,是),则在步骤335处,由DHCP服务器检查请求的子网中是否存在可用地址。在步骤335处,如果在请求的子网中存在可用地址(即,是),则在步骤340处,由DHCP服务器分配子网中的地址。或者,在步骤335处,如果在请求的子网中没有可用地址(即,否),则在步骤345处,由DHCP服务器为VNID分配地址。
图8描绘了根据本发明的各方面的DHCP子网选择支持的示例性流程。在图8中,在根据本发明的各方面的DHCP子网选择支持中,DHCP客户端410在步骤441中向DHCP中继代理420发送DHCP_DISCOVER消息。当DHCP中继代理420接收DHCP_DISCOVER消息时,DHCP中继代理420根据租户特定的选项中的租户ID来定位租户地址空间,并分配预期的子网中的IP地址。如图7中所示,DHCP中继代理420从相关联的VAP导出其VNID。然后,在图8中,在步骤442处,DHCP中继代理420向网络虚拟化局(NVA)440发送VNIDx消息的查询子网,以询问该VNID的子网配置。在步骤443中,针对VNID 440的子网的应答由NVA 440发送给DHCP中继代理。最后,在步骤444处,将具有租户特定的选项和子网选择选项118或具有子选项5的选项82的DHCP_DISCOVER发送到DHCP服务器430。
在图8中,使用DHCP子网选择选项(选项118,RFC3011)和中继代理信息选项中的链路选择(选项82,子选项5,RFC3527)来与在所期望的子网上的DHCP服务器进行通信,其中所述DHCP客户端预期从所述DHCP服务器中获取它们的IP地址。因此,所描绘的实施例的新颖DHCP机制可以通过NVA容易地扩展到这些情况。
如图8中所示,NVA可以针对每个VNID维护子网配置。响应于从DHCP客户端410接收到每个DHCP_DISCOVER分组,DHCP中继代理420从相关联的VAP导出其VNID。在那之后,DHCP中继代理420向NVA 440发送查询,以询问该VNID的子网配置。然后,由NVA 440应答的子网配置将被填充到DHCP选项118或选项82——子选项5中。然后将子网信息与租户规范选项一起传送给DHCP服务器430。当DHCP服务器430接收到DHCP_DISCOVER分组时,DHCP服务器430根据租户特定的选项中的租户ID来定位租户地址空间,并分配在DHCP选项118或选项82——子选项5中所携带的预期子网中的IP地址。
在实施例中,诸如解决方案集成商之类的服务提供商可以提供执行本文所描述的过程。在这种情况下,服务提供商可以为一个或多个客户创建、维护、部署、支持等等执行本发明的流程步骤的计算机基础架构。例如,这些客户例如可以是使用技术的任何业务。作为回报,服务提供商可以根据订阅和/或费用协议接收来自客户的付款,和/或服务提供商可以接收来自一个或多个第三方的广告内容的销售中的付款。
如本领域技术人员应该理解的那样,在本发明的实施例中,DHCP机制提供了超过当前***的许多优点。这些优点包括但不限于:在DHCP协议上直接支持多租户,并且消除了对于支持多租户的LINUX命名空间OS级级虚拟化的需要。在本发明的实施例中,该技术方案是通过如下方式来实现的:制定租户特定的DHCP选项来携带租户信息,并改进DHCP服务器上的地址分配方案,以便一旦在DHCP分组中检测到租户特定的选项,就优先处理租户地址空间中的IP地址分配。
此外,DHCP客户端和DHCP中继代理二者都可以添加租户特定的选项。此外,在实施例中,减轻了用于多租户隔离的不同封装协议(例如,VLAN、VXLAN、DOVE、NVGRE、STT等)之间的互操作性问题。
此外,随着租户数量的增长,DHCP机制的实施例提供了高可扩展性。例如,在当前***中,支持多租户的OS虚拟化会增加计算负担,因为LINUX命名空间的每个实例都需要附加的资源;而在本发明的DHCP机制的实施例中,与OS级虚拟化相比,减少了计算负担。此外,在DHCP机制的实施例中,由于每个DHCP客户端获得属于其租户及其所连接的虚拟网络的正确地址,因此无缝地支持SDN地址分配要求。
在针对技术问题的另外的优点中,本文所描述的***和过程提供了一种用于在网络上针对在DHCP协议上的多租户支持的计算机实现的方法。在这种情况下,可以提供诸如图1和图4中所示的计算机***的计算机基础架构或图2中所示的云环境,并且可以获取(例如,创建、购买、使用、修改等)用于执行本发明的过程的一个或多个***并将其部署到计算机基础架构。在这种程度上,***的部署可以包括以下中的一个或多个:
(i)在诸如图1中所示的计算机***的计算设备上,从计算机可读介质安装程序代码;
(ii)将一个或多个计算设备添加到计算机基础架构,并且更具体地说是添加到云环境;以及
(iii)并入和/或修改计算机基础架构的一个或多个现有***以使计算机基础架构能够执行本发明的过程。
已经出于说明的目的呈现了本发明的各种实施例的描述,但并不旨在将其穷举或受限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是显而易见的。选择本文所使用的术语是为了最好地解释实施例的原理、对市场中发现的技术的实际应用或技术改进、或使得本领域普通技术人员能够理解本文公开的实施例。

Claims (25)

1.一种在计算机基础架构中实现的方法,所述计算机基础架构具有有形地体现在具有编程指令的计算机可读存储介质上的计算机可执行代码,所述编程指令被配置为:
接收动态主机配置协议(DHCP)分组,其中在DHCP中继代理处接收所述DHCP分组;
在所述DHCP分组内***租户特定的选项信息,其中所述租户特定的选项信息是指示符,其用于DHCP服务器将相关联地址空间上的IP地址分配给该租户,单个DHCP服务器可以服务于多个租户,并且每个租户可以具有其自己用于分配的IP地址池,不同租户的IP地址池是完全独立的,并且可以重叠,提供寻址服务的单个DHCP服务器用于基于重叠网络的云数据中心中的多个租户;以及
传输具有所述租户特定的选项信息的所述DHCP分组。
2.根据权利要求1所述的方法,其中所述租户特定的选项信息包括用于表示用于租户隔离的重叠协议类型的传送代理字段和用于唯一地标识租户的租户标识字段中的至少一个。
3.根据权利要求2所述的方法,其中所述重叠协议类型包括虚拟局域网(VLAN)、虚拟可扩展局域网(VXLAN)、分布式重叠虚拟以太网(DOVE)、使用通用路由封装的网络虚拟化(NVGRE)、无状态传送隧道(STT)和通用网络虚拟化封装(GENEVE)中的一个。
4.根据权利要求2所述的方法,其中所述租户特定的选项信息还包括用于表示虚拟网络的虚拟网络标识字段。
5.根据权利要求1所述的方法,其中将所述租户特定的选项信息***所述DHCP分组的DHCP报头中。
6.根据权利要求1所述的方法,并且将所述租户特定的选项信息***在所述DHCP中继代理处的所述DHCP分组内。
7.根据权利要求6所述的方法,其中具有所述租户特定的选项信息的所述DHCP分组从所述DHCP中继代理被发送到DHCP服务器。
8.根据权利要求1所述的方法,其中在DHCP客户端处将所述租户特定的选项信息***在所述DHCP分组内。
9.根据权利要求1所述的方法,其中所述编程指令还被配置为向与所述租户特定的选项信息的租户标识字段相对应的DHCP客户端传输互联网协议(IP)地址。
10.根据权利要求9所述的方法,其中被传输到所述DHCP客户端的所述IP地址对应于所述租户特定的选项信息的所述租户标识字段并且与不同的独立租户的IP地址重叠。
11.一种具有其中体现的程序指令的计算机可读存储介质,其中所述计算机可读存储介质本身不是暂态信号,并且所述程序指令可由计算设备读取以使所述计算设备执行方法,所述方法包括:
接收动态主机配置协议(DHCP)分组,其中在DHCP中继代理处接收所述DHCP分组;
确定所述DHCP分组包括租户特定的选项信息,所述租户特定的选项信息是指示符,其用于DHCP服务器将相关联地址空间上的IP地址分配给该租户,单个DHCP服务器可以服务于多个租户,并且每个租户可以具有其自己用于分配的IP地址池,不同租户的IP地址池是完全独立的,并且可以重叠,提供寻址服务的单个DHCP服务器用于基于重叠网络的云数据中心中的多个租户;以及
基于所述租户特定的选项信息来选择地址空间。
12.根据权利要求11所述的计算机可读存储介质,其中基于所述租户特定的选项信息来选择所述地址空间还包括:
确定具有所述租户特定的选项信息的所述DHCP分组具有链路选择子选项和子网选择选项中的至少一个;
当所述DHCP分组被确定为具有所述链路选择子选项和所述子网选择选项中的至少一个时,确定地址在被请求的子网中可用;以及
当所述地址在被请求的所述子网中可用时,分配被请求的所述子网中的地址。
13.根据权利要求12所述的计算机可读存储介质,其中基于所述租户特定的选项信息来选择所述地址空间还包括:响应于确定所述DHCP分组不具有所述链路选择子选项和所述子网选择选项中的至少一个而分配用于虚拟网络标识符的地址。
14.根据权利要求12所述的计算机可读存储介质,其中基于所述租户特定的选项信息来选择所述地址空间还包括:响应于确定所述地址在被请求的所述子网中不可用而分配地址用于被标识的虚拟网络。
15.根据权利要求11所述的计算机可读存储介质,其中所述方法还包括:响应于确定接收的所述DHCP分组没有所述租户特定的选项信息而分配全局地址空间。
16.一种计算机可读存储介质,所述计算机可读存储介质具有其中包含的程序指令,其中所述计算机可读存储介质本身不是暂态信号,并且所述程序指令可由计算设备读取以使所述计算设备执行方法,所述方法包括:
接收包括租户特定的选项信息的动态主机配置协议(DHCP)分组,其中在DHCP中继代理处接收所述DHCP分组;
基于所述租户特定的选项信息来定位租户地址空间,其中所述租户特定的选项信息是指示符,其用于DHCP服务器将相关联地址空间上的IP地址分配给该租户,单个DHCP服务器可以服务于多个租户,并且每个租户可以具有其自己用于分配的IP地址池,不同租户的IP地址池是完全独立的,并且可以重叠,提供寻址服务的单个DHCP服务器用于基于重叠网络的云数据中心中的多个租户;
从虚拟接入点(VAP)获取虚拟网络标识;
获取对应于获取的所述虚拟网络标识的子网配置;以及
分配对应于获取的所述子网配置的互联网协议(IP)地址。
17.根据权利要求16所述的计算机可读存储介质,其中所述子网配置被包括在链路选择子选项和子网选择选项之一中。
18.根据权利要求16所述的计算机可读存储介质,其中所述子网配置是从网络虚拟化权威所获取。
19.根据权利要求16所述的计算机可读存储介质,其中对应于获取的所述子网配置的所述IP地址由DHCP服务器分配。
20.根据权利要求16所述的计算机可读存储介质,其中包括所述租户特定的选项信息的所述动态主机配置协议(DHCP)分组由DHCP中继代理接收。
21.一种计算机***,包括:
CPU、计算机可读存储器和计算机可读存储介质;
用于在动态主机配置协议(DHCP)分组内***多租户信息的程序指令,其中所述多租户信息包括租户特定的选项信息,所述租户特定的选项信息是指示符,其用于DHCP服务器将相关联地址空间上的IP地址分配给该租户,单个DHCP服务器可以服务于多个租户,并且每个租户可以具有其自己用于分配的IP地址池,不同租户的IP地址池是完全独立的,并且可以重叠,提供寻址服务的单个DHCP服务器用于基于重叠网络的云数据中心中的多个租户;以及
用于传输具有所述多租户信息的所述DHCP分组的程序指令,
其中所述程序指令被存储在所述计算机可读存储介质上以供所述CPU经由所述计算机可读存储器来执行。
22.根据权利要求21所述的***,其中所述多租户信息包括:用于表示用于租户隔离的重叠协议类型的传送代理字段、用于唯一地标识租户的租户标识字段、以及用于表示虚拟网络的虚拟网络标识字段中的至少一个。
23.根据权利要求21所述的***,其中在DHCP客户端处将所述多租户信息***在所述DHCP分组内。
24.一种用于配置租户特定的DHCP选项帧格式的方法,其中所述DHCP选项帧格式是指示符,其用于DHCP服务器将相关联地址空间上的IP地址分配给该租户,单个DHCP服务器可以服务于多个租户,并且每个租户可以具有其自己用于分配的IP地址池,不同租户的IP地址池是完全独立的,并且可以重叠,提供寻址服务的单个DHCP服务器用于基于重叠网络的云数据中心中的多个租户,包括:
配置所述租户特定的DHCP选项帧格式的第一字段以表示用于租户隔离的重叠协议类型;
配置所述租户特定的DHCP选项帧格式的第二字段以唯一地标识租户;以及
配置所述租户特定的DHCP选项帧格式的第三字段以表示虚拟网络。
25.根据权利要求24所述的方法,其中所述第二字段由DHCP服务器使用以将地址范围本地地映射到所述租户的地址空间。
CN201680027661.0A 2015-05-22 2016-05-20 用于云联网的多租户感知动态主机配置协议(dhcp)机制 Active CN107615716B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/719,723 2015-05-22
US14/719,723 US9887961B2 (en) 2015-05-22 2015-05-22 Multi-tenant aware dynamic host configuration protocol (DHCP) mechanism for cloud networking
PCT/CN2016/082833 WO2016188375A1 (en) 2015-05-22 2016-05-20 Multi-tenant aware dynamic host configuration protocol (dhcp) mechanism for cloud networking

Publications (2)

Publication Number Publication Date
CN107615716A CN107615716A (zh) 2018-01-19
CN107615716B true CN107615716B (zh) 2020-07-03

Family

ID=57325828

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680027661.0A Active CN107615716B (zh) 2015-05-22 2016-05-20 用于云联网的多租户感知动态主机配置协议(dhcp)机制

Country Status (6)

Country Link
US (5) US9887961B2 (zh)
JP (1) JP6670025B2 (zh)
CN (1) CN107615716B (zh)
DE (1) DE112016001657T5 (zh)
GB (1) GB2555740C (zh)
WO (1) WO2016188375A1 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9887961B2 (en) 2015-05-22 2018-02-06 International Business Machines Corporation Multi-tenant aware dynamic host configuration protocol (DHCP) mechanism for cloud networking
US10142284B2 (en) * 2015-09-30 2018-11-27 Vmware, Inc. Faster IP address allocation in a hybrid cloud environment using subnet selective randomization
CN108667886B (zh) * 2017-04-01 2020-07-28 华为技术有限公司 提供PaaS服务的方法、管理***和云计算服务架构
US10715597B2 (en) 2017-06-16 2020-07-14 At&T Intellectual Property I, L.P. Methods and systems to create a network-agnostic SDN-based cloud gateway for connectivity to multiple cloud service providers
CN110324248B (zh) * 2018-03-30 2021-07-30 中移(苏州)软件技术有限公司 一种裸金属服务器路由更新方法、装置、电子设备及介质
US11165634B2 (en) * 2018-04-02 2021-11-02 Oracle International Corporation Data replication conflict detection and resolution for a multi-tenant identity cloud service
CN110855599B (zh) * 2018-08-20 2022-10-21 中兴通讯股份有限公司 一种多租户访问控制方法及装置、计算机可读存储介质
US10826916B2 (en) * 2018-09-17 2020-11-03 ShieldX Networks, Inc. Agent-less network traffic inspection using an overlay network
US10848423B1 (en) * 2018-09-26 2020-11-24 Amazon Technologies, Inc. Multi-account gateway
CN111294319B (zh) * 2018-12-07 2022-05-27 网宿科技股份有限公司 网络隔离的方法、装置,网络设备和可读存储介质
EP4123973A1 (en) * 2019-02-08 2023-01-25 Palantir Technologies Inc. Isolating applications associated with multiple tenants within a computing platform
CN111614790B (zh) * 2019-02-26 2022-08-05 杭州海康威视***技术有限公司 虚拟机地址配置***、方法及装置
US11146634B2 (en) 2019-04-25 2021-10-12 International Business Machines Corporation Storage pool isolation
US10812446B1 (en) 2019-07-22 2020-10-20 Cisco Technology, Inc. Dynamic host configuration across multiple sites in software defined access networks
CN113055500B (zh) * 2019-12-26 2022-08-30 中国电信股份有限公司 地址请求方法、装置及计算机可读存储介质
CN111200644A (zh) * 2019-12-27 2020-05-26 福建升腾资讯有限公司 一种基于中继服务器在互联网环境下镜像缓存方法及***
US11502993B2 (en) 2020-08-10 2022-11-15 Perimeter 81 Ltd Scalable and on-demand multi-tenant and multi region secure network
US11425044B2 (en) * 2020-10-15 2022-08-23 Cisco Technology, Inc. DHCP layer 2 relay in VXLAN overlay fabric
US11463312B2 (en) 2021-01-21 2022-10-04 Cisco Technology, Inc. Secure onboarding of network devices
CN113259500A (zh) * 2021-03-30 2021-08-13 紫光云技术有限公司 一种ovs网络dhcp地址池方法
CN113726738B (zh) * 2021-07-26 2023-08-18 新华三技术有限公司合肥分公司 获取被测设备物理位置信息方法及网络设备、存储介质
CN114244842B (zh) * 2021-12-23 2023-07-25 绿盟科技集团股份有限公司 一种安全资源调度方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101478576A (zh) * 2008-01-03 2009-07-08 华为技术有限公司 选择服务网络的方法、装置和***
CN103580980A (zh) * 2012-07-24 2014-02-12 中兴通讯股份有限公司 虚拟网络自动发现和自动配置的方法及其装置
CN104253878A (zh) * 2014-09-09 2014-12-31 烽火通信科技股份有限公司 Dhcp relay终结子接口的vlan信息管理***及方法
CN104468775A (zh) * 2014-12-05 2015-03-25 国云科技股份有限公司 一种适用于云计算的分布式路由器实现方法

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2348598A1 (en) * 2001-06-05 2002-12-05 Mediatrix Telecom Inc. Generic method for customization of dhcp options
US7139818B1 (en) 2001-10-04 2006-11-21 Cisco Technology, Inc. Techniques for dynamic host configuration without direct communications between client and server
US7051089B1 (en) * 2001-10-24 2006-05-23 Cisco Technology, Inc. Techniques for automatically delegating address spaces among dynamic host configuration servers
US7586912B2 (en) 2006-07-28 2009-09-08 Cisco Technology, Inc. Techniques for exchanging DHCP information among DHCP relay agents and DHCP servers
US7707277B2 (en) 2007-04-27 2010-04-27 Alcatel Lucent Method and system for configuring pseudowires using dynamic host configuration protocol (DHCP) messages
DE102007036962A1 (de) * 2007-08-04 2009-02-05 Hirschmann Automation And Control Gmbh Verfahren zur DHCP Server-Konfiguration unter Verwendung von DHCP Option 82
JP2010193051A (ja) 2009-02-17 2010-09-02 Fujitsu Telecom Networks Ltd ネットワーク管理方法、dhcpリレーエージェントおよびdhcpサーバ
US8224946B2 (en) * 2009-04-24 2012-07-17 Rockstar Bidco, LP Method and apparatus for accommodating duplicate MAC addresses
CN102170457A (zh) 2010-02-26 2011-08-31 国际商业机器公司 向应用的多租户提供服务的方法和装置
US8825839B2 (en) 2010-11-24 2014-09-02 Unisys Corporation Snooping DNS messages in a server hosting system providing overlapping address and name spaces
EP2480045B1 (en) 2011-01-13 2015-04-08 Alcatel Lucent Arrangement for providing functions of a mobile IP-CAN gateway and use of such arrangement for offloading traffic from said mobile IP-CAN
EP2515507A1 (en) * 2011-04-19 2012-10-24 Siemens Aktiengesellschaft Auto-configuration of network devices
US8560663B2 (en) * 2011-09-30 2013-10-15 Telefonaktiebolaget L M Ericsson (Publ) Using MPLS for virtual private cloud network isolation in openflow-enabled cloud computing
US9250941B2 (en) * 2011-09-30 2016-02-02 Telefonaktiebolaget L M Ericsson (Publ) Apparatus and method for segregating tenant specific data when using MPLS in openflow-enabled cloud computing
US20130297752A1 (en) * 2012-05-02 2013-11-07 Cisco Technology, Inc. Provisioning network segments based on tenant identity
US8953441B2 (en) 2012-06-06 2015-02-10 Juniper Networks, Inc. Re-routing network traffic after link failure
US20140006585A1 (en) 2012-06-29 2014-01-02 Futurewei Technologies, Inc. Providing Mobility in Overlay Networks
CN103813288A (zh) * 2012-11-06 2014-05-21 中兴通讯股份有限公司 基于移动网络的租户网络业务实现方法、***及网元
WO2014083449A1 (en) 2012-11-27 2014-06-05 Telefonaktiebolaget L M Ericsson (Publ) Apparatus and method for segregating tenant specific data when using mpls in openflow-enabled cloud computing
CN103703724B (zh) * 2013-08-15 2015-06-10 华为技术有限公司 一种资源发放方法
US10439988B2 (en) * 2013-08-21 2019-10-08 Vmware, Inc. On premises, remotely managed, host computers for virtual desktops
CN104572243B (zh) 2013-10-25 2017-09-29 国际商业机器公司 用于共享Java虚拟机的方法和***
US9374294B1 (en) * 2013-11-05 2016-06-21 Cisco Technology, Inc. On-demand learning in overlay networks
US9979602B1 (en) * 2014-08-25 2018-05-22 Cisco Technology, Inc. Network function virtualization infrastructure pod in a network environment
CN105991435B (zh) * 2015-02-05 2019-08-27 华为技术有限公司 用于获取端口路径的方法及装置
US9742726B2 (en) * 2015-02-26 2017-08-22 Red Hat Israel, Ltd. Distributed dynamic host configuration protocol
US9634934B2 (en) * 2015-05-08 2017-04-25 Cisco Technology, Inc. Dynamic host configuration protocol relay in a multipod fabric
US9887961B2 (en) 2015-05-22 2018-02-06 International Business Machines Corporation Multi-tenant aware dynamic host configuration protocol (DHCP) mechanism for cloud networking

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101478576A (zh) * 2008-01-03 2009-07-08 华为技术有限公司 选择服务网络的方法、装置和***
CN103580980A (zh) * 2012-07-24 2014-02-12 中兴通讯股份有限公司 虚拟网络自动发现和自动配置的方法及其装置
CN104253878A (zh) * 2014-09-09 2014-12-31 烽火通信科技股份有限公司 Dhcp relay终结子接口的vlan信息管理***及方法
CN104468775A (zh) * 2014-12-05 2015-03-25 国云科技股份有限公司 一种适用于云计算的分布式路由器实现方法

Also Published As

Publication number Publication date
US20190356630A1 (en) 2019-11-21
WO2016188375A1 (en) 2016-12-01
GB201720489D0 (en) 2018-01-24
US10425381B2 (en) 2019-09-24
GB2555740C (en) 2021-11-24
US20180077114A1 (en) 2018-03-15
GB2555740B (en) 2021-10-20
US9887961B2 (en) 2018-02-06
DE112016001657T5 (de) 2017-12-21
US20210136031A1 (en) 2021-05-06
US11546293B2 (en) 2023-01-03
JP6670025B2 (ja) 2020-03-18
US20160344687A1 (en) 2016-11-24
US11956207B2 (en) 2024-04-09
US10904206B2 (en) 2021-01-26
JP2018519687A (ja) 2018-07-19
GB2555740A (en) 2018-05-09
CN107615716A (zh) 2018-01-19
US20230108856A1 (en) 2023-04-06

Similar Documents

Publication Publication Date Title
CN107615716B (zh) 用于云联网的多租户感知动态主机配置协议(dhcp)机制
US10320674B2 (en) Independent network interfaces for virtual network environments
US9628290B2 (en) Traffic migration acceleration for overlay virtual environments
US10476942B2 (en) DNS resolution of overlapping domains in a multi-tenant computing environment
US9143582B2 (en) Interoperability for distributed overlay virtual environments
US10129205B2 (en) Address management in an overlay network environment
US10038665B2 (en) Reducing broadcast flooding in a software defined network of a cloud
US10917379B2 (en) Domain intercommunication in shared computing environments
US11012408B2 (en) Configuring virtual machine instances using one-to-one mappings
US11177974B2 (en) Consistent provision of member node group information on virtual overlay network
US11005810B2 (en) Multi-tenant environment with overlapping address space
US9577841B2 (en) System and method for packet encapsulation wherein translation control entries (TCEs) may redirect DMA for software defined networks
US9559910B2 (en) Locating virtual machine(s) within virtual networks
US10931640B2 (en) Tunneling network traffic using object storage

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20211108

Address after: USA New York

Patentee after: Qindarui Co.

Address before: Armank, New York, USA

Patentee before: International Business Machines Corp.

TR01 Transfer of patent right