CN108475210B - 机架感知 - Google Patents

机架感知 Download PDF

Info

Publication number
CN108475210B
CN108475210B CN201580085446.1A CN201580085446A CN108475210B CN 108475210 B CN108475210 B CN 108475210B CN 201580085446 A CN201580085446 A CN 201580085446A CN 108475210 B CN108475210 B CN 108475210B
Authority
CN
China
Prior art keywords
nodes
sdn
network
node
sdn 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.)
Active
Application number
CN201580085446.1A
Other languages
English (en)
Other versions
CN108475210A (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.)
XFusion Digital Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN108475210A publication Critical patent/CN108475210A/zh
Application granted granted Critical
Publication of CN108475210B publication Critical patent/CN108475210B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • 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/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]

Abstract

本发明涉及一种用于发现软件定义数据中心(software‑defined data centre,SDDC)(100和200)的节点(141、143、205和206)之间网络级邻近度的方法,其中所述SDDC(100和200)包括主机(111‑118、121‑128、211‑218和221‑228),每个主机与所述节点(141、143、205和206)中的一个连接,所述方法包括根据软件定义网络(software‑defined networking,SDN)控制面协议发现所述节点之间的所述网络级邻近度。

Description

机架感知
技术领域
本发明涉及软件定义数据中心(software-defined data center,SDDC)领域,并且具体涉及一种用于支持SDDC中机架感知的方法和装置,例如,用于支持虚拟机监视器的机架感知。本发明还涉及一种用于发现SDDC的节点之间网络级邻近度的方法、一种用于发现SDDC节点之间网络级邻近度的软件定义网络(software-defined networking,SDN)控制器,以及一种SDDC。最后,本发明涉及一种具有执行这种方法的程序代码的计算机程序。
背景技术
在SDDC领域和高度虚拟化的计算机环境下,虚拟机(virtual machine,VM)的部署或调度对于性能和规模而言极其重要。
这种计算机环境与物理世界相关,例如服务器、机架和交换机,也与VM形式的虚拟世界相关。物理世界和虚拟世界的相关性对于确保计算负载和底层物理资源之间的最优配置即调度和对齐是必不可少的,其中,物理资源如网络、计算和存储资源。
因为获取物理到虚拟映射的现有方法基于传统的网络概念,导致管理和维护比较粗略,效率低,速度慢,并且非常复杂。
因此,需要具备高效、及时、能够适应大型云部署的负载以及现代云数据中心规模/复杂性的自我发现能力。
现有技术中包含一些采用链路层发现协议(Link Layer Discovery Protocol,LLDP)的机架感知方法。但是,这些方法有一些缺点。实际上,要执行这种方法,必须在整个网络启动简单网络管理协议(Simple Network Management Protocol,SNMP)和LLDP。然而,出于安全原因,通常关闭这两种协议。进一步地,云控制器需要了解管理信息库(managedinformation base,MIB)和架顶式(top-of-rack,ToR)交换机的配置。
其它已知的方法作为与数据中心库存管理系统的单点解决方案集成来执行,但仍具有一些缺点。例如,这种方法不依赖于任何标准,还取决于人工配置,因而容易出错。还有一个缺点就是,这种已知的解决方案不能实现自动发现。而且,发现的实现不必依赖最新的库存系统,因此不能保证发现结果是正确的。再者,通常这种库存系统的业务可用性不够强。
总而言之,现有技术解决方案是有缺点的。例如,基于LLDP的解决方案存在问题是因为LLDP通常由于安全原因关闭,因为它们也需要SNMP,并且因为控制器需要熟悉id,即MIB交换机的标识。基于手动发现的解决方案存在问题是因为这些解决方案容易出错且无法集成到自动过程中。
发明内容
鉴于上述缺点和问题,本发明旨在改进现有技术发展状况。特别地,本发明的目的是提供一种采取例如软件定义网络(software-defined networking,SDN)控制器形式的方法和装置,以实现更优的发现。
本发明特别旨在改进软件定义数据中心(software-defined data center,SDDC)的节点之间网络级邻近度的发现。本发明还旨在改进机架感知。而且,使用本发明还能够更好地对组网功能和租户应用VM进行调度部署,从而可以改进大数据和数据复制解决方案。
本发明的上述目的通过随附的独立权利要求中提供的解决方案实现。各从属权利要求进一步确定了本发明的有利实施。
本发明的第一方面提供了一种用于发现软件定义数据中心的节点之间网络级邻近度的方法。所述SDDC包括主机,每个主机与所述节点中的一个连接。所述方法包括根据软件定义网络(software-defined networking,SDN)控制面协议发现节点之间的所述网络级邻近度。
由于SDDC节点之间网络级邻近度的发现可以自动进行,因此得以改进。机架感知也可以相应地改进。因此,云管理系统可以根据所述网络级邻近度自适应地分配虚拟机。
根据所述第一方面,在所述方法的第一实施形式中,云管理系统根据所述发现的网络级邻近度在所述SDDC的主机上分配虚拟机。因此,可以更好地考虑云管理系统用户的需求。本发明可以与云管理系统结合使用,例如,OpenStack,以优化虚拟机的部署和/或调度,即更好地选择运行虚拟机的物理主机。
根据所述第一方面的所述第一实施形式,在所述方法的第二实施形式中,所述云管理系统通过以下方式在所述SDDC的所述主机上分配所述虚拟机:
识别节点,以使所述被识别节点之间的网络级邻近度对应预期的网络级邻近度;以及
在与所述被识别节点连接的主机上分配所述虚拟机。
从而,虚拟机的性能可以适应于预期的用户场景。例如,如果用户场景要求两台虚拟机尽可能接近,以减少虚拟机之间的传输时长,那么可以选择与网络级邻近度较低的节点连接的主机。从而,还可以保证云管理系统中的VM-VM亲和规则。
根据所述第一方面或所述第一方面的所述第一或第二实施形式,在所述方法的第三实施形式中,所述SDDC包括SDN控制器。发现所述节点之间的所述网络级邻近度包括:
所述SDN控制器选择至少一个节点;
所述SDN控制器为每个被选节点构建一个邻近组,包括位于所述被选节点给定网络级邻近度内的节点。这样,通过构建反映网络级邻近度的邻近组可以自动进行映射。
根据所述第一方面的所述第三实施方式,在所述方法的第四实施形式中,所述SDN控制器选择至少一个节点,并且迭代地为每个被选节点构建一个邻近组,直到所述SDDC的所有节点都至少归属到某个邻近组。这样,所有节点都可以被映射。
根据所述第一方面的所述第三或第四实施形式,在所述方法的第五实施形式中,每个节点与所述SDN控制器连接。所述SDN控制器为每个被选节点分配一个唯一的标识符。所述SDN控制器向每个被选节点注入包括所述被选节点的所述唯一标识符和生存时间(time tolive,TTL)值的广播消息。递归地,接收所述广播消息的每个节点向所述SDN控制器发送SDN控制消息,所述SDN控制消息包括所述接收到的广播消息的唯一标识符,减少所述接收到的广播消息的TTL值,并且如果减少的所述TTL值高于丢弃阈值,发送所述广播消息。从而,可以准确地获得网络级邻近度。
根据所述第一方面的所述第五实施形式,在所述方法的第六实施形式中,每个节点与所述SDN控制器连接包括:
每个节点接收定义了匹配规则和动作规则的SDN控制面协议管道,所述匹配规则与具有给定报头信息的消息相关,所述动作规则包括向所述SDN控制器发送SDN控制消息。从而,可以自动地获得网络级邻近度。
根据所述第一方面的所述第六实施形式,在所述方法的第七实施形式中,所述SDN控制器注入的所述广播消息包括所述给定报头信息。
根据所述第一方面的所述第七实施形式,在所述方法的第八实施形式中,接收所述广播消息的每个节点向所述SDN控制器发送SDN控制消息包括:
接收所述广播消息的每个节点通过检查所述接收到的广播消息是否包括所述给定报头信息来检查所述匹配规则是否经过验证,并且如果所述匹配规则经过验证,执行所述动作规则。
根据所述第一方面或所述第一方面的所述第一到第八实施形式,在所述方法的第九实施形式中,所述SDDC的所述主机包括在多个机架中,每个机架包括架顶式交换机。至少一个机架包括多个分别运行采取虚拟交换机形式的多个节点的主机,所述虚拟交换机支持所述SDN控制面协议。
根据所述第一方面或所述第一方面的所述第一到第九实施形式,在所述方法的第十实施形式中,所述SDDC的所述主机包括在多个机架中。每个机架包括架顶式交换机。至少一个机架包括采取支持所述SDN控制面协议的架顶式交换机形式的节点。
根据所述第一方面或所述第一方面的所述第一到第十实施形式,在所述方法的第十一实施形式中,两个节点之间的所述网络级邻近度反映了所述两个节点之间的节点数量。
特别地,所述SDN控制面协议可以是OpenFlow。所述SDN控制面协议也可以是OpFlex。可替代地,所提方法也可以使用其它SDN控制面协议以类似的方式实现。
本发明的第二方面提供了一种具有程序代码的计算机程序,当所述计算机程序在计算设备上运行时,用于执行根据所述第一方面或所述第一方面的所述第一到第十一实施形式所述的方法。
本发明的第三方面提供了一种用于发现SDDC节点之间网络级邻近度的软件定义网络(software-defined networking,SDN)控制器。所述SDDC包括主机,每个主机与所述节点中的一个连接。所述SDN控制器适用于根据SDN控制面协议发现所述节点之间的所述网络级邻近度。
根据本发明的所述第三方面的所述SDN控制器的其它特征或实施方式可以适用于执行根据本发明的所述第一方面的所述方法的功能及其不同的实施形式。
本发明的第四方面提供了一种SDDC。所述SDDC包括节点。所述SDDC包括主机,每个主机与所述节点中的一个连接。所述SDDC包括一种适用于发现所述节点之间网络级邻近度的软件定义网络(software-defined networking,SDN)控制器。所述SDN控制器适用于根据SDN控制面协议发现所述节点之间的所述网络级邻近度。
根据本发明的所述第四方面的所述SDDC的其它特征或实施方式可以适用于执行根据本发明的所述第一方面的所述方法的功能及其不同的实施形式。
总而言之,本发明可以在SDDC环境中使用。这种SDDC的硬件抽象层可能导致次优性能。用于发现SDDC中节点之间,即虚拟机之间的网络级邻近度的本发明的优点在于其允许动态和物理感知优化。本发明使用软件定义的网络能力来创建在同一物理机架上,即在同一架顶式交换机上连接的VM的逻辑拓扑结构。
本发明的优点在于可以在云环境中改进虚拟机的部署或调度的方法。当用于亲和调度时,即用于确保两个VM位于同一机架上时,本发明可以基于邻近度知识来改善性能。当用于反亲和调度时,即用于确保两个VM不位于同一机架上时,本发明可以基于邻近度知识来改善弹性。当用于在非高峰时间重新调度和/或将杂散VM迁移到同一机架以关闭低利用率基础设施时,本发明可以改进能源管理。
本发明的优点在于其为优化数据中心中的基础设施利用率的分析软件提供了新的数据流和API。
本发明的优点在于其优化了高度分布式软件应用程序的性能,例如,大数据解决方案、n层应用程序、网络功能虚拟化(Network function virtualization,NFV)。
本发明的优点在于其可以被目前无法访问数据的数据复制软件解决方案所利用。
必须注意的是,本申请中描述的所有设备、元件、单元和装置可以以软件或硬件元件或其任意种类的组合来实现。由本申请中描述的各种实体执行的所有步骤以及所描述的由各种实体执行的功能旨在表示相应的实体适用于或用于执行相应的步骤和功能。在以下对具体实施例的描述中,即使由永久实体完整形成的具体功能或步骤未在执行该具体步骤或功能的该实体的具体详细元件的描述中有所反映,技术人员也应该清楚,这些方法和功能可以在相应的软件或硬件元件、或其任意种类的组合中实施。
附图说明
结合所附附图,下面具体实施例的描述将阐述上述本发明的各方面及其实现形式,其中:
图1示出了本发明实施例提供的软件定义数据中心。
图2示出了本发明另一实施例提供的软件定义数据中心。
图3示出了本发明实施例提供的一种用于发现节点之间网络级邻近度的方法。
图4示出了本发明实施例提供的一种用于发现节点之间网络级邻近度的方法的应用。
图5示出了本发明实施例提供的一种用于发现节点之间网络级邻近度的方法。
图6示出了本发明实施例提供的另一种用于发现节点之间网络级邻近度的方法。
图7示出了本发明实施例提供的另一种用于发现节点之间网络级邻近度的方法。
具体实施方式
图1示出了本发明实施例提供的软件定义数据中心(software-defined datacenter,SDDC)100。
SDDC 100包括节点或服务器141和143。SDDC 100还包括主机111-118和121-128,每个主机与节点141和143中的一个相连接。另外,SDDC 100包括适用于发现节点141和143之间网络级邻近度的软件定义网络(software-defined networking,SDN)控制器102。
SDN控制器102适用于根据SDN控制面协议发现节点之间的网络级邻近度。
在图1的实施例中,主机111-118和121-128可以是附接到SDDC 100的任意计算机,并且为用户或其它主机或节点提供信息资源、服务和/或应用。主机111-118和121-128包括在多个机架103和104中,每个机架103和104分别包括架顶式(top-of-rack,ToR)交换机105和106。每个主机111-118和121-128与所附接的ToR交换机105和106连接,并且可以与所附接的ToR交换机105和106通信。ToR交换机105和106是路由组件。ToR交换机105和106可以在SDDC 100内互联。
根据本发明,至少一个机架103和104包括多个分别运行采取虚拟交换机141和143形式的多个节点的主机111-118和121-128,所述虚拟交换机支持SDN控制面协议。
每个主机111-118和121-128可以包括虚拟交换机141和143,以及通过虚拟和/或逻辑数据连接与虚拟交换机141和143关联的一个或多个虚拟机(virtual machine,VM)107、108、109和110。如果是虚拟可扩展LAN(Virtual Extensible LAN,VXLAN),虚拟交换机141和143可以是VXLAN网络中的VXLAN隧道端点(VXLAN Tunnel End Point,VTEP)。
特别地,机架103包括多个主机111-118。这些主机111-118中的每个主机运行一个采取支持SDN控制面协议的虚拟交换机141形式的节点。同样,机架104包括多个主机121-128。这些主机121-128中的每个主机运行一个采取支持SDN控制面协议的虚拟交换机143形式的节点。
虚拟机监视器140位于机架103的主机111-118的每个主机中,并且虚拟机监视器142位于机架104的主机121-128的每个主机中。每个虚拟机监视器140和142适用于在主机111-118和121-128上运行一个或多个VM。虚拟机监视器140和142可以是创建和运行VM的计算机软件、固件或硬件。
图1示出了在机架103中,主机111的虚拟机监视器运行标记为“VM1”的虚拟机107,而主机118的虚拟机监视器运行标记为“VM2”的虚拟机108。同样,在机架104中,主机121和128各自的虚拟机监视器运行分别标记为“VM3”和“VM4”的虚拟机109和110。
图1的实施例涉及节点111-118和121-128的物理到虚拟映射,形式为基于主机的映射。相应地,SDN控制器102使用SDN控制面协议与所有虚拟交换机141和143连接。在图1的实施例中,SDN控制器102与虚拟交换机141和143之间的连接通过OpenFlow进行。可替代地,连接可以通过另一种SDN控制面协议进行,例如,OpFlex。
图1通过虚线131、132、133、134、135、136、137和138示例性地示出了SDN控制器102与在主机111、112、113、118、121、122、123和128上运行的虚拟机监视器的虚拟交换机141和143之间的连接。优选地,在SDDC 100中所有主机上运行的所有虚拟机监视器140和142的所有虚拟交换机141和143都与SDN控制器102连接。
图2示出了本发明另一实施例提供的SDDC 200。
SDDC 200包括节点或服务器205和206。SDDC 200还包括主机211-218和221-228,每个主机与节点205和206中的一个连接。另外,SDDC 200包括适用于发现节点205和206之间网络级邻近度的SDN控制器202。
SDN控制器202适用于根据SDN控制面协议发现节点205和206之间的网络级邻近度。
优选地,SDDC 200的主机211-218和221-228包括在多个机架203和204中,并且每个机架203和204包括ToR交换机205和206。至少一个机架203和204包括采取支持SDN控制面协议的ToR交换机205和206形式的节点。
图2的实施例提供的SDDC 200的结构与图1的实施例提供的SDDC 100的结构类似。特别地,主机211-218和221-228包括在多个机架203和204中。在机架203和204中,每个主机211-218和221-228与所附接的ToR交换机205和206连接,并且可以与所附接的ToR交换机205和206通信。ToR交换机205和206是路由组件。ToR交换机205和206可以在SDDC 200内互联。另外,每个主机211-218和221-228可以包括一个或多个可以与各自主机的虚拟交换机关联的VM 207、208、209和210。
图2的实施例涉及节点211-218和221-228的物理到虚拟映射,形式为基于交换机的映射。相应地,SDN控制器202使用SDN控制面协议与所有ToR交换机205和206连接。在图2的实施例中,SDN控制器202与ToR交换机205和206之间的连接通过OpenFlow进行。可替代地,连接可以通过另一种SDN控制面协议进行,例如,OpFlex。
而在图1的实施例中,支持SDN控制面协议的节点是虚拟交换机141和143。图2的SDDC 200提供了一个实施例,其中支持SDN控制面协议的节点是采取ToR交换机205和206形式的物理交换机。后一个实施例假设ToR交换机205和206支持SDN控制面协议,例如,OpenFlow。
下面将结合图3到图7描述本发明提供的用于发现软件定义数据中心的节点之间网络级邻近度的方法。
图5示出了本发明实施例提供的一种用于发现SDDC的节点之间网络级邻近度的方法500。
方法500适用于发现SDDC 100和200的节点141、143、205和206之间的网络级邻近度。SDDC 100和200包括主机111-118、121-128、211-218和221-228,每个主机与节点141、143、205和206中的一个连接。
该方法包括根据软件定义网络(software-defined networking,SDN)控制面协议发现501节点之间的网络级邻近度。
特别地,云管理系统可以根据发现的网络级邻近度在SDDC 100和200的主机111-118、121-128、211-218和221-228上分配虚拟机107、108、109和110。此外,云管理系统可以通过以下方式在SDDC 100和200的主机111-118、121-128、211-218和221-228上分配虚拟机107、108、109和110:
-识别节点,以使被识别节点之间的网络级邻近度对应预期的网络级邻近度;以及
-在与被识别节点连接的主机上分配虚拟机。
图6示出了本发明又一实施例提供的一种用于发现SDDC的节点之间网络级邻近度的方法600。具体地,SDDC 100和200包括SDN控制器102和202。
发现501节点之间的网络级邻近度包括:
-SDN控制器102和202选择601至少一个节点;以及
-SDN控制器102和202为每个被选节点构建602一个邻近组,包括位于被选节点给定网络级邻近度内的节点。
特别地,SDN控制器102和202选择至少一个节点,并且迭代地为每个被选节点构建一个邻近组,直到SDDC 100和200的所有节点141、143、205和206都至少归属到某个邻近组。
图7示出了本发明再一实施例提供的一种用于发现SDDC的节点之间网络级邻近度的方法700。
在第一步骤中,每个节点与SDN控制器102连接701。
然后,提议SDN控制器102为每个被选节点分配702唯一的标识符。
SDN控制器102向每个被选节点注入703包括被选节点的唯一标识符(identifier,id)和生存时间(time to live,TTL)值θ的广播消息。
在又一步骤704中,递归地,接收广播消息的每个节点向SDN控制器102发送SDN控制消息,所述SDN控制消息包括接收到的广播消息的唯一标识符(identifier,id),减少接收到的广播消息的TTL值θ,并且如果减少TTL值θ高于丢弃阈值,发送广播消息。
图3示出了本发明又一实施例提供的一种用于发现SDDC的节点之间网络级邻近度的方法300。
在第一步骤301中,每个节点141、143、205和206与SDN控制器102和202连接。另外,每个节点接收定义了匹配规则和动作规则的SDN控制面协议管道,匹配规则与具有给定报头信息的消息相关,动作规则包括向SDN控制器102发送SDN控制消息。该管道可以称为陷阱管道,因为这一管道适用于为具有应被捕获的给定报头信息的消息执行陷阱。可以从SDN控制器102接收SDN控制面协议管道。
特别地,待映射的节点,即虚拟交换机141和143或ToR交换机205和206通过SDN控制面协议,例如OpenFlow,与SDN控制器102连接。
在这一方面,图1和图2的实施例示出了SDDC 100和200包括基于SDN的专用应用,即Proximity 101和201。基于SDN的专用应用101和201与SDN控制器102和202连接,即与控制器的API连接。在通过SDN控制面协议与SDN控制器连接的每个节点上,基于SDN的专用应用101和201使用SDN控制器安装管道,以捕获特殊的数据包,该数据包建议用于测量节点之间的邻近度。管道或陷阱管道可以是OpenFlow管道。
陷阱就像自定义过滤器一样,只捕捉特定类型的消息或数据包。特别地,符合管道所定义的匹配规则的消息可以由安装了管道的节点捕捉。从而,每当这种消息在节点处被捕获时,节点可以向SDN控制器102和202发送OpenFlow控制面消息。换句话说,如果节点接收到具有与管道匹配规则对应的报头信息的消息,则所述节点可以向SDN控制器102和202发送OpenFlow控制面消息,或者更具体地,SDN控制消息。
如方框302所示,步骤301的结果是具有未映射关系以及接收到的和安装的管道的连接节点141、143、205和206的列表,即虚拟交换机141和143或ToR交换机205和206。在本发明的情境中,具有未映射关系的节点或未映射节点可以称为与SDN控制器连接确无拓扑映射的节点,即网络级邻近度未知的节点。
在步骤303中,SDN控制器102和202从未映射节点中选择至少一个节点。特别地,SDN控制器102和202选择所有未映射节点141、143、205和206的子集,该子集可以是针对未映射节点141、143、205和206集合中的一个小集。
如方框304所示,步骤303的结果是选择的未映射节点141、143、205和206的子集或小集。
在步骤305中,SDN控制器102为每个被选节点分配唯一的标识符(identifier,id),即为子集中的每个节点分配唯一的id。
如方框306所示,步骤304的结果是未映射节点的子集,每个节点有唯一的id。
在步骤307中,SDN控制器向子集中的每个被选节点注入广播消息或广播包,携带各个节点的唯一id和生存时间(time to live,TTL)值θ。TTL值可以预先配置为给定值,例如,配置为值θ=1。特别地,控制器102和202注入与安装在节点上的陷阱管道相符的广播消息,所述广播消息注入到之前选择的每个节点中。
特别地,广播消息或包的广播位分配为“1”,以使消息在所有连接的节点上,即在连接的虚拟交换机或ToR交换机的所有端口上泛洪。
在步骤308中,在预配置的TTL内与广播节点连接的所有节点接收广播消息。换言之,被选节点发送在TTL内由节点接收到的广播消息。
在步骤309中,在陷阱管道即安装的SDN控制面协议管道中拦截广播消息。
在步骤310中,陷阱管道,即SDN控制面协议管道,被广播消息触发,并且运行其包括向SDN控制器发送SDN控制消息的动作规则。SDN控制消息包括接收或拦截到的广播消息的唯一标识符(identifier,id)。在SDN控制面协议是OpenFlow的情况下,SDN控制消息可以称为OpenFlow控制消息。
特别地,接收广播消息的节点通过SDN控制面协议管道发送SDN控制消息,其中SDN控制消息包括已发送广播消息的被选节点的id。SDN控制消息还包括TTL的值。
在步骤311中,SDN控制消息由SDN控制器接收。
在步骤312中,SDN控制器将SDN控制消息中包含的id与被选节点匹配。通过使用TTL信息,SDN控制器能够为每个被选节点构建一个邻近组,包括位于被选节点给定网络级邻近度内的节点。
特别地,每次当广播消息在SDN控制面协议管道中被拦截时,SDN控制器接收相应的SDN控制消息,包括:
-被注入广播消息的被选节点的id;
-接收广播消息时TTL的值;以及
-接收到广播消息的节点的接收方参考号。
SDN控制器适用于识别所有接收到的具有同一id和同一TTL值的广播消息。通过读取所有识别的广播消息的接收方参考号,可以构建包含在所述TTL值内接收到广播消息的所有节点的邻近组。换言之,SDN控制器将具有相同唯一id和报告的TTL值(θ-1)的所有节点指定为一个邻近组。
在步骤313中,SDN控制器检查是否还有未映射节点,即是否所有节点都归属到某个邻近组。如果还有节点未映射,该方法继续执行步骤303,其中SDN控制器再次从未映射节点中选择至少一个节点。步骤303到313递归地执行,直到所有节点都归属到某个邻近组。
在步骤303处,可以只选择一个节点,从而可以递归地多次执行步骤303到313,直到所有未映射节点用完为止。可替代地,在步骤303处可以选择若干节点,即可以批量操作。后一种方案映射更快。
一旦所有节点都归属到某个邻近组,就实现了节点之间网络级邻近度的发现。
图4示出了本发明的方法的一个应用。
在步骤401中,提供了包括n个节点的SDDC。在图4的实施例中,SDDC包括编号从“11”到“21”的11个节点。
在步骤402中,SDN随机地选择k个节点。在图4中,被选节点的数量为k=2,第一个被选节点是节点“15”,第二个被选节点是节点“19”。向每个被选节点注入广播消息,该消息包含被选节点的唯一标识和预配置的TTL值θ,例如θ=1。
在步骤403中,节点“12”和“17”接收被选节点“15”发送的广播消息。箭头411和412表示接收方向。这两个节点“12”和“17”通过陷阱管道生成具有节点“15”的唯一标识(identification,id)和每跳递减1的TTL值的SDN控制消息。同样,节点“16”和“21”接收414、415被选节点“19”发送的广播消息。
在步骤404中,映射节点“12”和“17”被放在具有被选节点“15”的邻近组416中,并且从未映射节点集合中取出。同样,映射节点“16”和“21”被放在具有被选节点“19”的邻近组417中,并且从未映射节点集合中取出。
邻近组416包括被选节点“15”,以及在被选节点“15”一跳的距离内的所有节点。对于构建邻近组416,SDN控制器相应地只看包括被选节点“15”的id以及TTL值等于(θ-1)的SDN控制消息。
步骤405和406示出了邻近组是如何递归地构建,直到所有节点都归属到某个邻近组,即直到所有节点都映射到邻近组。在步骤405中,选择了节点“11”,节点“13”接收418注入给该节点“11”的对应广播消息。也选择了节点“18”,节点“14”和“20”接收419、420注入给该节点“14”的对应广播消息。
这种情况会产生两个新的邻近组,一方面包括节点“11”和“13”,另一方面包括节点“18”、“14”和“20”。但是,图4示出了被选节点“18”还接收被选节点“11”发送的广播消息。然后,SDN控制器从节点“18”处接收对应的SDN控制消息。SDN控制器将这一情况解释为被选节点“11”和“18”在彼此的邻近度范围内,并且属于同一个邻近组。相应地,两个被选节点“11”和“18”以及其它节点“13”、“14”和“20”都归入一个邻近组422。
这样,如果第一随机被选节点返回具有另一第二被选节点的唯一标识(identification,id)的SDN控制消息,为第一和第二被选节点构建的两个邻近组应归入一个邻近组。
已经结合作为示例的不同实施例以及实施方案描述了本发明。但本领域技术人员通过实践所请发明,研究附图、本公开以及独立权项,能够理解并获得其它变体。在权利要求以及描述中,术语“包括”不排除其它元件或步骤,且“一个”并不排除复数可能。单个元件或其它单元可满足权利要求书中所叙述的若干实体或项目的功能。在仅凭某些措施被记载在相互不同的从属权利要求书中这个单纯的事实并不意味着这些措施的组合不能在有利的实施方式中使用。

Claims (14)

1.一种用于发现软件定义数据中心(software-defined data center,SDDC)(100和200)的节点(141、143、205和206)之间网络级邻近度的方法,其特征在于:
所述SDDC(100和200)包括主机(111-118、121-128、211-218和221-228),每个主机与所述节点(141、143、205和206)中的一个连接;
所述方法包括:
根据软件定义网络(software-defined networking,SDN)控制面协议发现所述节点之间的所述网络级邻近度,所述网络级邻近度用于标识所述节点之间消息的传输距离,以及用于指示被选节点构建的邻近组节点之间以及不同邻近组的关系。
2.根据权利要求1所述的方法,其特征在于:
云管理系统根据所述发现的网络级邻近度在所述SDDC(100和200)的主机(111-118、121-128、211-218和221-228)上分配虚拟机(107、108、109和110)。
3.根据权利要求2所述的方法,其特征在于:
所述云管理系统通过以下方式在所述SDDC(100和200)的所述主机(111-118、121-128、211-218和221-228)上分配所述虚拟机(107、108、109和110):
识别节点,使所述被识别节点之间的网络级邻近度对应预期的网络级邻近度;以及
在与所述被识别节点连接的主机上分配所述虚拟机。
4.根据权利要求1至3中任一项所述的方法,其特征在于:
所述SDDC(100和200)包括SDN控制器(102和202),以及
发现所述节点之间的所述网络级邻近度包括:
所述SDN控制器(102和202)选择(303)至少一个节点;
所述SDN控制器(102和202)为每个被选节点构建一个邻近组,所述邻近组包括位于所述被选节点给定网络级邻近度内的节点。
5.根据权利要求4所述的方法,其特征在于:
所述SDN控制器(102)选择(303)至少一个节点,并且迭代地为每个被选节点构建一个邻近组,直到所述SDDC(100和200)的所有节点(141、143、205和206)都至少归属到某个邻近组。
6.根据权利要求4所述的方法,其特征在于:
每个节点(301)与所述SDN控制器(102)连接;
所述SDN控制器(102)为每个被选节点分配(305)一个唯一的标识符(identifier,id);
所述SDN控制器(102)向每个被选节点注入(307)广播消息,所述广播消息包括所述被选节点的所述唯一标识符(identifier,id)和生存时间(time to live,TTL)值(θ)的;
递归地,接收所述广播消息的每个节点向所述SDN控制器(102)发送SDN控制消息,所述SDN控制消息包括所述接收到的广播消息的唯一标识符(identifier,id),减少所述接收到的广播消息的TTL值(θ),并且如果减量TTL值(θ)高于丢弃阈值,发送所述广播消息。
7.根据权利要求6所述的方法,其特征在于:
每个节点与所述SDN控制器(102)连接(301)包括:
每个节点接收定义了匹配规则和动作规则的SDN控制面协议管道,所述匹配规则与具有给定报头信息的消息相关,所述动作规则包括向所述SDN控制器(102)发送SDN控制消息。
8.根据权利要求7所述的方法,其特征在于:
所述SDN控制器(102)注入的所述广播消息包括所述给定报头信息。
9.根据权利要求8所述的方法,其特征在于:
接收所述广播消息的每个节点向所述SDN控制器(102)发送SDN控制消息包括:
接收所述广播消息的每个节点通过检查接收到的广播消息是否包括所述给定报头信息来检查所述匹配规则是否经过验证,并且如果所述匹配规则经过验证,执行所述动作规则。
10.根据前述权利要求1至3、5至9中任一项所述的方法,其特征在于:
所述SDDC(100和200)的所述主机包括在多个机架(103、104、203和204)中,每个机架(103、104、203和204)包括架顶式交换机(105、106、205和206);
至少一个机架(103和104)包括多个分别运行采取虚拟交换机(141和143)形式的多个节点的主机(111-118和121-128),所述虚拟交换机支持所述SDN控制面协议。
11.根据权利要求1至3、5至9中任一项所述的方法,其特征在于:
所述SDDC(100和200)的所述主机包括在多个机架(103、104、203和204)中,每个机架(103、104、203和204)包括架顶式交换机(105、106、205和206);
至少一个机架(203和204)包括采取支持所述SDN控制面协议的架顶式交换机(205和206)形式的节点。
12.根据权利要求1至3、5至9中任一项所述的方法,其特征在于:
两个节点之间的所述网络级邻近度反映了所述两个节点之间的节点数量。
13.一种用于发现软件定义数据中心(software-defined data center,SDDC)(100和200)的节点(141、143、205和206)之间网络级邻近度的软件定义网络(software-definednetworking,SDN)控制器,其特征在于:
所述SDDC(100和200)包括主机(111-118、121-128、211-218和221-228),每个主机与所述节点(141、143、205和206)中的一个连接;
所述SDN控制器(102和202)适用于根据SDN控制面协议发现所述节点之间的所述网络级邻近度,所述网络级邻近度用于标识所述节点之间消息的传输距离,以及用于指示被选节点构建的邻近组节点之间以及不同邻近组的关系。
14.一种软件定义数据中心(software-defined data center,SDDC)(100和200),其特征在于,包括:
节点(141、143、205和206);
主机(111-118、121-128、211-218和221-228),每个主机与所述节点(141、143、205和206)中的一个连接;以及
适用于发现所述节点(141、143、205和206)之间网络级邻近度的软件定义网络(software-defined networking,SDN)控制器(102和202);
所述SDN控制器(102和202)适用于根据SDN控制面协议发现所述节点之间的所述网络级邻近度,所述网络级邻近度用于标识所述节点之间消息的传输距离,以及用于指示被选节点构建的邻近组节点之间以及不同邻近组的关系。
CN201580085446.1A 2015-12-23 2015-12-23 机架感知 Active CN108475210B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2015/081101 WO2017108119A1 (en) 2015-12-23 2015-12-23 Rack awareness

Publications (2)

Publication Number Publication Date
CN108475210A CN108475210A (zh) 2018-08-31
CN108475210B true CN108475210B (zh) 2021-05-11

Family

ID=54979702

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580085446.1A Active CN108475210B (zh) 2015-12-23 2015-12-23 机架感知

Country Status (2)

Country Link
CN (1) CN108475210B (zh)
WO (1) WO2017108119A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11469958B1 (en) * 2021-02-25 2022-10-11 Juniper Networks, Inc. Network controller deployment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101299726A (zh) * 2008-06-30 2008-11-05 中兴通讯股份有限公司 一种计算转发最短路径的方法
CN104506435A (zh) * 2014-12-12 2015-04-08 杭州华为数字技术有限公司 Sdn控制器和sdn中的最短路径确定方法
CN104618475A (zh) * 2015-01-28 2015-05-13 清华大学 用于异构sdn网络的水平方向通信方法和sdn系统
CN104734954A (zh) * 2015-03-27 2015-06-24 华为技术有限公司 一种用于软件定义网络的路由确定方法和装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7574499B1 (en) * 2000-07-19 2009-08-11 Akamai Technologies, Inc. Global traffic management system using IP anycast routing and dynamic load-balancing
US8111674B2 (en) * 2006-12-07 2012-02-07 Cisco Technology, Inc. Maintaining network availability for wireless clients in a wireless local area network
US9137209B1 (en) * 2008-12-10 2015-09-15 Amazon Technologies, Inc. Providing local secure network access to remote services
US8929377B2 (en) * 2011-03-15 2015-01-06 Futurewei Technologies, Inc. Systems and methods for automatic rack detection
US20140004839A1 (en) * 2012-06-29 2014-01-02 Frederick P. Block Proximity based transfer
US9104462B2 (en) * 2012-08-14 2015-08-11 Alcatel Lucent Method and apparatus for providing traffic re-aware slot placement
US20140223122A1 (en) * 2013-02-06 2014-08-07 International Business Machines Corporation Managing virtual machine placement in a virtualized computing environment
WO2015058377A1 (zh) * 2013-10-23 2015-04-30 华为技术有限公司 一种创建虚拟机的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101299726A (zh) * 2008-06-30 2008-11-05 中兴通讯股份有限公司 一种计算转发最短路径的方法
CN104506435A (zh) * 2014-12-12 2015-04-08 杭州华为数字技术有限公司 Sdn控制器和sdn中的最短路径确定方法
CN104618475A (zh) * 2015-01-28 2015-05-13 清华大学 用于异构sdn网络的水平方向通信方法和sdn系统
CN104734954A (zh) * 2015-03-27 2015-06-24 华为技术有限公司 一种用于软件定义网络的路由确定方法和装置

Also Published As

Publication number Publication date
CN108475210A (zh) 2018-08-31
WO2017108119A1 (en) 2017-06-29

Similar Documents

Publication Publication Date Title
US11949530B2 (en) System and method to provide multicast group membership defined relative to partition membership in a high performance computing environment
US9294349B2 (en) Host traffic driven network orchestration within data center fabric
US11405229B2 (en) System and method to provide explicit multicast local identifier assignment for per-partition default multicast local identifiers defined as subnet manager policy input in a high performance computing environment
US9465641B2 (en) Selecting cloud computing resource based on fault tolerance and network efficiency
JP2015526992A (ja) 通信の方法及びシステム
US11218400B2 (en) System and method for optimized path record handling in homogeneous fabrics without host stack cooperation in a high performance computing environment
JP2016116184A (ja) 網監視装置および仮想ネットワーク管理方法
CN108475210B (zh) 机架感知
US10868686B2 (en) System and method to provide default multicast group (MCG) for announcements and discovery as extended port information in a high performance computing environment
US10461947B2 (en) System and method to provide default multicast lid values per partition as additional SMA attributes in a high performance computing environment
US10693815B2 (en) System and method to use all incoming multicast packets as a basis for GUID to LID cache contents in a high performance computing environment
US10862694B2 (en) System and method to provide default multicast proxy for scalable forwarding of announcements and information request intercepting in a high performance computing environment
US11968132B2 (en) System and method to use queue pair 1 for receiving multicast based announcements in multiple partitions in a high performance computing environment
US10601765B2 (en) System and method to provide combined IB and IP address and name resolution schemes via default IB multicast groups in a high performance computing environment

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
TR01 Transfer of patent right

Effective date of registration: 20211231

Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province

Patentee after: Super fusion Digital Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.