CN114521322A - 动态发现网络中的服务节点 - Google Patents

动态发现网络中的服务节点 Download PDF

Info

Publication number
CN114521322A
CN114521322A CN202080067245.XA CN202080067245A CN114521322A CN 114521322 A CN114521322 A CN 114521322A CN 202080067245 A CN202080067245 A CN 202080067245A CN 114521322 A CN114521322 A CN 114521322A
Authority
CN
China
Prior art keywords
node
network
tlv
lldp
discovery
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.)
Pending
Application number
CN202080067245.XA
Other languages
English (en)
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.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
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 Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN114521322A publication Critical patent/CN114521322A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/20Hop count for routing purposes, e.g. TTL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/036Updating the topology between route computation elements, e.g. between OpenFlow controllers
    • H04L45/037Routes obligatorily traversing service-related nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/036Updating the topology between route computation elements, e.g. between OpenFlow controllers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks

Abstract

本公开描述了与网络中的动态服务节点发现相关的各种方法、系统和设备。在一个示例方法中,中间节点从第一节点接收链路层发现协议(LLDP)消息。LLDP消息包括发现类型‑长度‑值(TLV),发现TLV指示网络中的服务节点的位置。该方法还包括将LLDP消息转发到第二节点。

Description

动态发现网络中的服务节点
相关申请的交叉引用
本申请要求于2019年10月10日递交的第16/598,919号美国申请的优先权,该申请的整体通过引用结合于此。
技术领域
本公开总体涉及生成可用于向网络中的设备通知服务节点连接到了网络的消息,以及动态地发现和监视网络中的服务节点。
背景技术
各种网络拓扑被设计成高效、可扩展的,并且能够实现各种网络设备之间的快速通信。在一些情况下,这些网络拓扑可以应用于数据中心环境。许多现代数据中心环境中的设备根据叶脊(spine-leaf)配置来布置。叶脊网络可以包括两个层:脊层和叶层。脊层可以包括一个或多个顶层交换机。叶层可以包括以完全互连网状拓扑连接到顶层交换机的多个下层交换机。下层交换机可以连接到具有各种计算机资源的主机服务器,这些计算机资源可以用于各种目的,例如,托管租户、托管虚拟机(VM)、存储数据、执行计算等。由于脊层和叶层内部的互联性,在网络内的设备之间传输的数据分组通过相同数量的节点和接口被传输。因此,数据流量可以以一致的速度和延迟行进通过叶脊网络。
主机服务器的计算资源可以由连接到叶脊网络的中央控制器来控制和管理。中央控制器可以是软件定义的网络控制器,其可以管理、配置和启用网络中的设备之间的通信。例如,中央控制器可以管理叶脊网络内的下层交换机和顶层交换机,并且还可以启用连接到下层交换机的主机服务器之间的通信。
当新的主机服务器加入网络时,中央控制器必须先发现该服务器,然后才能管理该主机服务器中的资源、并启用去往和来自该主机服务器的通信。在各种网络中,下层交换机可以向连接到下层交换机的主机服务器发送链路层发现协议(LLDP)消息。一旦主机服务器收到LLDP消息,则主机服务器可以觉察到下层交换机。然而,主机服务器可能无法直接与中央控制器通信。因此,一些网络需要额外的资源控制器来从主机服务器接收指示它们的连接的消息,并且网络控制器可能必须单独地询问资源控制器,以使其单独地向网络控制器报告主机服务器的连接。此外,LLDP消息通常设计为仅在网络中行进单跳。因此,如果下层交换机和主机服务器之间存在任何节点,则主机服务器可能无法直接从其最近的下层交换机接收到LLDP消息。
附图说明
下面参照附图进行详细描述。在图中,附图标记的最左侧的(一个或多个)数字标识该附图标记首次出现的图。在不同的图中使用相同的附图标记表示相似或相同的项。附图中描绘的系统不是按比例绘制的,并且图中的组件可以被描绘成彼此不按比例绘制。
图1示出了用于实现服务节点发现和监视的示例环境。
图2示出了与中间节点相关联的示例信令。
图3示出了根据本公开的各种实施方式的链路层发现协议(LLDP)消息的示例。
图4A示出了由服务节点生成的LLDP消息中的发现类型-长度-值(TLV)的示例。
图4B示出了由服务节点生成的LLDP消息中的发现TLV的另一示例。
图5A示出了由服务节点生成的LLDP消息中的跳数TLV的示例。
图5B示出了由服务节点生成的LLDP消息中的跳数TLV的另一示例。
图6示出了用于转发LLDP消息的示例过程。
图7示出了用于中继LLDP消息的示例过程。
图8示出了叶脊网络中的节点可以发现和/或确认在连接到叶脊网络的集群网络中存在服务节点的示例过程。
图9示出了叶脊网络中的网络控制器可以发现并监视服务节点的示例过程。
图10是示出可用于实施本文所公开的技术的各方面的数据中心的配置的计算系统图。
图11示出了能够执行用于实施上述功能的程序组件的计算机的示例计算机架构。
具体实施方式
概览
本发明的各方面在独立权利要求中阐述并且优选特征在从属权利要求中阐述。一个方面的特征可以单独或与其他方面结合应用于任何方面。
本公开的各种实施方式涉及服务节点生成的链路层发现协议(LLDP)消息,其用于动态发现网络中的服务节点。特定实施方式使得与叶脊网络相关联的网络控制器能够动态发现服务节点,而无需第三方资源控制器的帮助。
在示例实施方式中,LLDP消息由网络设备生成、中继和/或接收。这些网络设备可以包括服务器、交换机等。在各种实施方式中,本文描述的技术可以由以下系统和/或设备执行:该系统和/或设备具有存储了计算机可执行指令的非暂时性计算机可读介质,这些计算机可执行指令在由一个或多个处理器执行时执行本文描述的方法。
示例实施例
在特定实施方式中,服务节点被配置为生成和发送LLDP消息。LLDP消息可以包括“发现”类型-长度-值(TLV),其可以识别服务节点、指示服务节点如何连接到网络、指定服务节点的能力等。当叶脊网络中的叶节点接收到LLDP消息时,叶节点可以将服务节点通告给叶脊网络内的网络控制器。因此,LLDP消息可以使网络控制器能够高效地识别服务节点何时连接到叶脊网络。在服务节点周期性地发送LLDP消息的一些情况下,网络控制器还可以使用LLDP消息作为健康检查来识别服务节点是否保持连接到网络。
在某些实施方式中,一个或多个中间节点可以存在于服务节点和叶节点之间。这些中间节点可以配置为将LLDP消息从服务节点中继到叶节点。LLDP消息还可以包括“跳数”TLV(也称为“中继跳数”TLV)。特定LLDP消息中的跳数TLV可以指定计数值,该计数值可以在每次中间节点中继LLDP消息时被修改。当跳数TLV中的计数值达到特定数字(例如,零)时,中间节点可以避免将LLDP中继到另一网络节点。因此,跳数TLV可以防止服务节点生成的LLDP消息被中间节点无限期地中继。
本公开的实施方式可以提供对计算机网络的各种改进。当叶脊网络依赖由叶节点向服务节点生成的LLDP消息来发现服务节点时,与叶脊网络相关联的网络控制器可能必须依赖资源控制器来确定服务节点的存在。资源控制器可能在网络结构外部和/或由第三方管理。然而,在本文描述的特定实施方式中,服务节点生成的LLDP消息可以用于向叶节点通知在网络中存在服务节点,从而消除了需要资源控制器来发现网络中的服务节点。
现在将参照附图描述本公开的各种实施方式。
图1示出了用于实现服务节点发现和监视的示例环境100。如图所示,该环境包括叶脊网络102。叶脊网络包括连接到多个脊节点106-1和106-2的多个叶节点104-1至104-3。如本文所用,术语“节点”、“网络节点”及其等同物可以指网络内可以向至少一个其他节点发送数据分组和/或从至少一个其他节点接收数据分组的任何实体。节点可以是设备、软件实例、虚拟机(VM)、网络交换机等。在一些示例中,节点可以是客户端、服务器或其组合。在各种示例中,多个叶节点104-1至104-3中的每个可以是下层网络交换机,多个脊节点106-1和106-2中的每个可以是上层网络交换机。如本文所用,术语“网络交换机”可以指多端口网桥,该多端口网桥被配置为接收数据、处理数据并选择性地将数据转发到连接到网络交换机的另一设备。如本文所用,术语“层”可以指连接到网络内的其他节点但彼此不直接互连的多个网络节点。因此,叶节点104-1至104-3是叶脊网络102内的层(例如,下层或叶层)的一部分,脊节点106-1和106-2是叶脊网络102内的层(例如,上层或脊层)的一部分。
叶节点104-1至104-3中的每个经由网络接口连接到脊节点106-1和106-2中的每个。如本文所用,术语“接口”、“链路”及其等同物可以指网络中的两个节点之间的连接。在一些情况下,接口可以直接连接两个节点和/或可以省略任何中间节点。接口可以连接到第一设备的第一端口和第二设备的第二端口。在一些情况下,两个节点之间的接口可以是有线接口,使得数据可以通过连接两个节点的固体介质(例如,以太网线缆、光纤线缆等)作为传导信号来传输。在一些示例中,节点之间的接口可以是无线接口,使得数据分组可以通过连接两个节点的流体介质(例如,空气、水等)作为信号(例如,电磁波、超声波等)来传输。接口(例如,叶节点104-1至104-3之一与脊节点106-1和106-2之一之间的接口之一)可以互连两个端口。如本文所用,术语“端口”及其等同物可以指设备或软件实例与通信接口之间的硬件和/或软件连接。给定的基于软件的端口可以根据其端口号来识别。虽然图1示出了三个叶节点104-1至104-3和两个脊节点106-1和106-2,但实施方式不限于此。附加的叶节点和/或脊节点可以包括在叶脊网络102中。然而,不管叶节点和/或脊节点的数量如何,叶脊网络内的每个叶节点都可以直接连接到叶脊网络内的所有脊节点。
在各种实施方式中,网络控制器108(也称为“网络结构控制器”、“结构控制器”或等同物)可以被配置为管理叶脊网络102内的通信。网络控制器108可以连接到叶节点104-1至104-3中的任何叶节点和/或脊节点106-1和106-2中的任何脊节点。在各种实施方式中,网络控制器108和叶脊网络102可以是具有共同安全策略的内部网络的一部分。网络控制器108可以被配置为直接连接叶脊网络102内的任何节点。网络控制器108还可以被配置为管理连接到叶节点104-1至104-3的集群网络(例如,集群网络110)的至少一些元件。网络控制器108可以被配置为控制包括叶脊网络102以及连接到叶脊网络102的任何节点的数据中心结构内的各种节点。
集群网络110可以包括服务节点114和多个中间节点112-1至112-3。如本文所用,术语“集群网络”可以指连接到叶脊网络中的至少一个叶节点的一个或多个服务节点。在一些示例中,集群网络(例如,图1中所示的集群网络110)可以包括将(一个或多个)服务节点和(一个或多个)叶节点互连的一个或多个中间节点。如本文所使用,术语“服务节点”、“扩展叶节点”、“发起者”及其等同物可以指集群网络中被配置为存储、生成和/或处理数据的网络节点。根据各种实施方式,叶脊网络102和集群网络110可以被认为是同一网络或网络结构的一部分。在一些情况下,服务节点(例如,服务节点114)可以包括一个或多个计算资源(例如,存储器、处理能力等),这些计算资源可以用于托管租户、虚拟机(VM)等。例如,服务节点可以是服务器。
如本文所用,术语“中间节点”、“中继器”及其等同物可以指集群网络中被配置为接收数据以及将数据发送到网络中的其他节点的网络节点。中间节点的示例可以是架顶式(ToR)交换机。在特定实施方式中,中间节点可以连接到单个叶节点。例如,如图1中所示,第一中间节点112-1直接连接到第一叶节点104-1。在某些实施方式中,中间节点可以连接到多个(例如,一个或两个)叶节点。例如,如图1中所示,第二中间节点112-2连接到第一叶节点104-1和第二叶节点104-2两者。中间节点可以连接到一个或多个服务节点。例如,图1中所示的第三中间节点112-3连接到服务节点114。在一些情况下,中间节点可以连接到其他中间节点。例如,第三中间节点112-3沿上行链路方向连接到第一中间节点112-1和第二中间节点112-2两者。类似地,第一中间节点112-1和第二中间节点112-2中的每个沿下行链路方向连接到第三中间节点112-3。如本文所用,术语“上行链路”可以指朝向叶脊网络中的脊节点(例如,朝向叶脊网络102中的脊节点106-1至106-2)延伸的接口和/或数据传输的方向,并且与下行链路方向相反。如本文所用,术语“下行链路”可以指朝向集群网络中的服务节点(例如,朝向集群网络110中的服务节点114)延伸的接口和/或数据传输的方向,并且与上行链路方向相反。
中间节点112-1至112-3可以布置在集群网络110中的一个或多个层中。例如,第一中间节点112-1和第二中间节点112-2可以是第一层的一部分,第三中间节点112-3可以是第二层的一部分。尽管在图1中仅示出了两层中间节点,但在各种实施方式中,集群网络110中可以包括更多或更少的层。此外,虽然在图1中仅示出了三个中间节点112-1至112-3,但在各种实施方式中,集群网络110中可以包括更多或更少的中间节点。
在一些实施方式中,网络控制器108可以能够远程管理服务节点114中的计算资源。然而,网络控制器108可能无法管理中间节点112-1到112-3。集群网络110可以是外部网络。在一些情况下,尽管图1中未示出,但一个或多个防火墙可以设置在中间节点112-1至112-3与叶节点104-1和104-2之间、或叶节点104-1至104-3自身内,从而保护内部网络免受外部安全威胁,例如,来自集群网络110的安全威胁。
服务节点114可以通过连接到集群网络110中的中间节点中的至少一个(例如,第三中间节点112-3),来加入集群网络110。一旦服务节点114连接到集群网络110,服务节点114就可以开始向叶脊网络102发送至少一个链路层发现协议(LLDP)消息116。LLDP消息116可以是具有一个或多个自定义的类型-长度-值(TLV)字段的LLDP帧,该一个或多个自定义的TLV字段使得能够发现服务节点114。例如,LLDP消息116可以包括发现TLV和/或跳数TLV,其示例在下文关于图3至图5B更详细地描述。
在本公开的各种实施方式中,集群网络110内的中间节点可以从服务节点114接收LLDP消息116。例如,第三中间节点112-3可以最先接收到从服务节点114发送的LLDP消息116。通常,LLDP消息仅在网络中传输一跳,即跨单个接口从一个节点传输到另一节点。然而,在本文描述的各种实施方式中,第三中间节点112-3可以被配置为将LLDP消息116中继到网络中的至少一个其他节点。例如,第三中间节点112-3可以沿上行链路方向将LLDP消息116重新发送到第一中间节点112-1和第二中间节点112-2两者。类似地,第一中间节点112-1和第二中间节点112-2在接收到LLDP消息116时,均可以沿上行链路方向将LLDP消息116中继到另一网络节点。来自服务节点114的LLDP消息116由此可以行进通过集群网络110,并且可以被叶脊网络102中的至少一个叶节点接收。参考图1,第一叶节点104-1可以从第一中间节点112-1和/或第二中间节点112-2接收LLDP消息116,第二叶节点104-2可以从第二中间节点112-2接收LLDP消息116。因此,叶脊网络102中的第一叶节点104-1和/或第二叶节点104-2可以识别服务节点114的存在。
一旦第一叶节点104-1和/或第二叶节点104-2识别到服务节点114的存在,则第一叶节点104-1和/或第二叶节点104-2可以向网络控制器108报告服务节点114的存在。在多个实施方式中,第一叶节点104-1和/或第二叶节点104-2可以避免将LLDP消息116中继到叶脊网络102中的其他节点。例如,如果第一叶节点104-1接收到LLDP消息116,则第一叶节点104-1可以避免将LLDP消息116转发到第一脊节点106-1和第二脊节点106-2。网络控制器108因此可以管理和/或监视服务节点114。
LLDP消息116可以用于发现服务节点114以及持续监视服务节点114的连接。例如,服务节点114通过集群网络110发送到叶脊网络102的初始LLDP消息116可以被控制器108使用,来发现服务节点114。随后,服务节点114可以周期性地将附加的LLDP消息116通过集群网络110发送到叶脊网络102。这些附加的LLDP消息116可以被控制器108使用,来识别服务节点114保持连接到集群网络110。如果控制器108识别到周期性的LLDP消息116被中断和/或延迟,则控制器108可以识别集群网络110和/或服务节点114的连接存在中断。在一些情况下,控制器108可以将服务节点114上的负载平衡至连接到叶脊网络102的另一服务节点。在某些示例中,控制器108可以通知用户或中央管理员服务节点114存在问题。
如图所示,环境100可以与第2层(L2)网络设备和第3层(L3)网络设备相关联。集群网络110的元件(例如,中间节点112-1至112-3和服务节点114)可以是L2网络设备。例如,中间节点112-1至112-3可以包括被配置为在L2层处来处理和转发数据的网络设备,例如,网桥。在一些情况下,中间节点112-1至112-3根据数据分组所指示的硬件地址、介质访问控制(MAC)地址等在设备之间转发数据分组。叶脊网络102的元件(例如,叶节点104-1至104-3和/或脊节点106-1至106-2)可以是L3网络设备。在一些情况下,叶脊网络102的元件可以支持路由功能。在各种实施方式中,叶节点104-1至104-3可以是被配置为互连L2和L3的多层交换机。
根据本公开的各种实施方式,网络控制器108可以被授权直接发现和/或监视服务节点114的存在,而无需单独地询问另一设备(例如,连接到服务节点114的资源控制器)。因此,网络控制器108可以能够高效地管理服务节点114内的计算资源。
图2示出了与中间节点112(例如,以上参考图1描述的中间节点112-1至112-3之一)相关联的示例信令200。信令200涉及由中间节点112中继链路层发现协议(LLDP)消息,例如,LLDP消息116。中间节点112可以是集群网络的一部分,例如,以上参考图1描述的集群网络110的一部分。
如图所示,中间节点112从前一节点202接收LLDP消息116。中间节点112相对于前一节点202位于上行链路方向。在各种示例中,前一节点202可以是另一中间节点或服务节点。如果前一节点202是中间节点,则前一节点202位于中间节点112和服务节点之间。
LLDP消息116可以包括至少两个类型-长度-值(TLV)字段:发现TLV 204和跳数TLV。发现TLV 204指示关于LLDP消息116源自的服务节点的各种信息。在一些情况下,发现TLV 204的值可以指示服务节点的位置、服务节点的类型和服务节点的能力中的至少一个。发现TLV 204包括使得网络控制器(例如,以上参考图1描述的网络控制器108)能够发现、监视和/或管理服务节点中的计算资源的信息。
跳数TLV 206的值可以包括指示LLDP消息116被设计行进通过集群网络的剩余跳数的计数值。跳数TLV 206在被中间节点112接收时包括计数值n-1 208。计数值可以由服务节点初始化。在前一节点202是服务节点的示例中,计数值n-1 208可以是初始计数值。初始计数值的一些示例可以是2到10范围内的值,但实施方式不限于这些值。在一些情况下,初始计数值基于集群网络中的层数来设置。例如,如果集群网络是两层网络,则初始计数值可以被初始化为3,以确保LLDP消息116被转发到连接到集群网络的至少一个叶节点。
中间节点112在接收到LLDP消息116时,可以基于计数值n-1 208生成计数值n210。在一些情况下,计数值n 210根据以下公式1计算:
Vn=Vn-1-1
其中,Vn是计数值n 210,Vn-1是计数值n-1 208。换言之,中间节点112可以将计数值n-1 208减1,来生成计数值n 210。
在各种实施方式中,中间节点112可以确定计数值n 210是否高于特定阈值。在一些情况下,阈值可以是0,但实施方式不限于此。如果中间节点112确定计数值n 210等于或小于阈值,则中间节点112可以避免将LLDP消息116转发到下一节点。然而,如果中间节点112确定计数值n210大于阈值,则中间节点112可以用计数值n 210替换跳数TLV 206中的计数值n-1 208,并将LLDP消息116(以及计数值n 210)转发到下一节点212。
下一节点212可以是集群网络中的另一中间节点或叶脊网络(例如,叶脊网络102)中的叶节点(例如,叶节点104-1或104-2)。在下一节点212是另一中间节点的示例中,下一节点212可以与中间节点112类似地更新跳数TLV 206,检查更新的跳数TLV 206是否指示LLDP消息116应被转发,并转发或避免转发LLDP消息116到另一节点。
在下一节点212是叶节点的情况下,叶节点可以至少部分地将LLDP消息116转发到叶脊网络的网络控制器(例如,网络控制器108)。根据一些示例,叶节点可以避免转发整个LLDP消息116。然而,在一些情况下,叶节点可以将至少基于发现TLV 204的值的信息转发到网络控制器。例如,叶节点可以将服务节点的位置、服务节点的类型和服务节点的能力中的至少一个转发到网络控制器。网络控制器可以使用发现TLV 204的值中的信息来发现服务节点、管理服务节点中的计算资源、和/或确认服务节点连接到了集群网络。
根据各种实施方式,通过中间节点112对LLDP消息116进行中继可以使得叶脊网络能够发现和/或确认网络中存在服务节点。此外,修改跳数TLV 206、确认跳数TLV 206的值高于特定阈值、以及转发具有修改的跳数TLV 206的LLDP消息116的过程,确保了LLDP消息116不会在集群网络中的中间节点之间无限期地转发。
图3示出了链路层发现协议(LLDP)消息300的示例。LLDP消息300可以由集群网络中的服务节点生成并发送和/或由中间节点中继。如图所示,LLDP消息300可以包括机架标识(ID)类型-长度-值(TLV)302、端口ID TLV 304、生存时间TLV 306、发现TLV 308、跳数TLV310和LLDP数据单元(LLDPDU)结束TLV 312。LLDP消息300可以是LLDPDU。
机架ID TLV 302、端口ID TLV 304和生存时间TLV 306可以是LLDP消息300中的强制TLV。机架ID TLV 302可以标识发送LLDP消息300的设备,并且可以是类型1强制TLV。在各种示例中,当LLDP消息300由集群网络中的中间节点中继时,机架ID TLV 302表示生成LLDP消息300的服务节点,而不是中间节点。
端口ID TLV 304可以标识发送LLDP消息300的端口,并且可以是类型2强制TLV。在一些示例中,当LLDP消息300由集群网络中的中间节点中继时,端口ID TLV 304表示生成LLDP消息的服务节点,而不是中间节点的端口ID。
生存时间TLV 306可以标识接收设备应在多长时间内认为LLDP消息300中的信息有效,并且可以是类型3强制TLV。在一些情况下,生存时间TLV 306在LLDP消息300通过集群网络被中继时保持相同。
发现TLV 308和跳数TLV 310都是LLDP消息300内的可选TLV。在一些情况下,跳数TLV 310可以从LLDP消息300省略。发现TLV 308可以指示服务节点的位置、类型或能力中的至少一个。跳数TLV 310可以指示LLDP消息300还应穿过集群网络的剩余跳数。根据特定示例,发现TLV 308和跳数TLV 310之一或两者可以是类型127自定义TLV。例如,发现TLV 308和跳数TLV 310中的至少一个可以是组织特定的类型127TLV。在一些情况下,其他可选TLV可以包括在LLDP消息300中。在一些情况下,发现TLV 308和跳数TLV 310之一或两者可以是保留TLV(例如,类型9-126之一)。
LLDPU结束TLV 312可以指示LLDPU帧结构的结束。LLDPU结束TLV 312可以是长度为0且没有值的类型0TLV。
在各种示例中,LLDP消息300可以由服务节点周期性地生成和发送。例如,LLDP消息300可以每分钟、每30秒、每20秒、每10秒、每5秒、每2秒等被发送。
图4A示出了由服务节点生成的链路层发现协议(LLDP)消息中的发现类型-长度-值(TLV)400的示例。在一些情况下,LLDP消息可以通过集群网络中的一个或多个中间节点中继并由叶脊网络中的叶节点接收。
发现TLV 400可以包括以下三个字段中的至少一个:类型字段、长度字段和值字段。类型字段包括TLV类型402,其可以是值字段内数据的类型的7位标识符。在一些实施方式中,发现TLV 400的TLV类型402是类型127,其指自定义TLV。然而,在一些情况下,TLV类型402是类型9-126之一。类型9-126是保留TLV类型。
长度字段包括标识值字段的长度的TLV长度404。在各种示例中,TLV长度404由9位值表示。
值字段可以包括服务节点标识符406、服务节点位置408、服务节点类型410和/或服务节点能力412。在一些情况下,服务节点标识符406、服务节点位置408、服务节点类型410和/或服务节点能力412可以由0-511个八位字节共同表示。
服务节点标识符406可以指示服务节点的身份。例如,服务节点标识符406可以表示服务节点的域名和/或域名系统(DNS)名称。在一些情况下,服务节点标识符406可以包括服务节点位置408。
服务节点位置408可以指示服务节点的至少一个位置。例如,服务节点位置408可以表示服务节点的互联网协议(IP)地址、服务节点的介质访问控制(MAC)地址、与服务节点相关联的端口号等。服务节点位置408可以允许发现设备(例如,叶脊网络的网络控制器)启用与服务节点的通信。
服务节点类型410可以指示服务节点的类型。例如,服务节点410可以标识服务节点是否是服务器、网络交换机等。在一些情况下,服务节点类型410可以指示服务节点的供应商。
服务节点能力412可以指示服务节点的至少一种软件或硬件能力。在一些情况下,服务节点能力412可以指示服务节点的可用存储器容量、服务节点的处理能力、在服务节点上运行的操作系统等。
图4B示出了由服务节点生成的链路层发现协议(LLDP)消息中的发现类型-长度-值(TLV)414的另一示例。在一些情况下,LLDP消息可以通过集群网络中的一个或多个中间节点中继并由叶脊网络中的叶节点接收。发现TLV 414可以是自定义类型127TLV。发现TLV414可以包括多个字段:类型字段、长度字段和值字段,该值字段包括组织唯一标识符、组织定义子类型和组织定义信息串。
类型字段包括TLV类型416,其可以是值字段内数据的类型的7位标识符。在图4B中所示的实施方式中,发现TLV 414的TLV类型416是类型127,其是自定义TLV。
长度字段包括标识值字段的长度的TLV长度418。也就是说,TLV长度418可以表示组织唯一标识符、组织定义子类型和组织定义信息串的总长度。在各种示例中,TLV长度418由9位值表示。
组织唯一标识符可以指定标识符420。标识符420可以使用组织的(如在IEEEStd.802-2001中定义的)组织唯一标识符来标识该组织。标识符420可以具有24位的长度。
组织定义子类型可以指定子类型422。子类型422可以标识组织所使用的各种TLV中的发现TLV 414。在一些情况下,子类型422可以具有8位的长度。
组织定义信息串可以包括服务节点标识符424、服务节点位置426、服务节点类型428和/或服务节点能力430。在一些情况下,服务节点标识符424、服务节点位置426、服务节点类型428和/或服务节点能力430可以由0-507个八位字节共同表示。
服务节点标识符424可以指示服务节点的身份。例如,服务节点标识符424可以表示服务节点的域名和/或域名系统(DNS)名称。在一些情况下,服务节点标识符424可以包括服务节点位置426。
服务节点位置426可以指示服务节点的至少一个位置。例如,服务节点位置426可以表示服务节点的互联网协议(IP)地址、服务节点的介质访问控制(MAC)地址、与服务节点相关联的端口号等。服务节点位置426可以允许发现设备(例如,叶脊网络的网络控制器)启用与服务节点的通信。
服务节点类型428可以指示服务节点的类型。例如,服务节点类型428可以标识服务节点是否是服务器、网络交换机等。在一些情况下,服务节点类型428可以指示服务节点的供应商。
服务节点能力430可以指示服务节点的至少一种软件或硬件能力。在某些情况下,服务节点能力430可以指示服务节点的可用存储器容量、服务节点的处理能力、在服务节点上运行的操作系统等。
图5A示出了由服务节点生成的链路层发现协议(LLDP)消息中的跳数类型-长度-值(TLV)500的示例。在一些情况下,LLDP消息可以通过集群网络中的一个或多个中间节点中继并由叶脊网络中的叶节点接收。当中间节点中继LLDP消息时,中间节点可以修改跳数TLV 500。
跳数TLV 500可以包括以下三个字段中的至少一个:类型字段、长度字段和值字段。类型字段包括TLV类型502,其可以是值字段内数据的类型的7位标识符。在一些实施方式中,跳数TLV 500的TLV类型502是类型127,其指自定义TLV。然而,在一些情况下,TLV类型502是类型9-126之一。类型9-126是保留TLV类型。
长度字段包括标识值字段的长度的TLV长度504。在各种示例中,TLV长度504由9位的值表示。
值字段可以包括计数值506。计数值506可以表示LLDP消息还可以穿过网络的剩余跳数。在一些情况下,计数值506可以具有0到10范围内的整数值。计数值506可以由服务节点初始化。在一些情况下,计数值506的初始值可以取决于集群网络内的层数。例如,计数值506的初始值可以等于或大于集群网络内的层数。在一些示例中,计数值506可以被初始化为2到10的值。每次中间节点在集群网络中中继LLDP消息时,计数值506可以被修改。在一些情况下,中继中间节点可以在接收到LLDP消息时将计数值506减1。在各种实施方式中,计数值506可以由0-511个八位字节表示。
图5B示出了由服务节点生成的链路层发现协议(LLDP)消息中的跳数类型-长度-值(TLV)508的另一示例。在一些情况下,LLDP消息可以通过集群网络中的一个或多个中间节点中继并由叶脊网络中的叶节点接收。当中间节点中继LLDP消息时,中间节点可以修改跳数TLV 508。
跳数TLV 508可以包括多个字段:类型字段、长度字段和值字段,该值字段包括组织唯一标识符字段、组织定义子类型字段和组织定义信息串字段。类型字段包括TLV类型510,其可以是值字段内数据的类型的7位标识符。在一些实施方式中,跳数TLV 508的TLV类型510是类型127,其指自定义TLV。
长度字段包括标识值字段的长度的TLV长度512。在各种示例中,TLV长度512由9位值表示。
组织唯一标识符可以指定标识符514。标识符514可以使用组织的(如在IEEEStd.802-2001中定义的)组织唯一标识符来标识组织。标识符514可以具有24位的长度。
组织定义子类型可以指定子类型516。子类型516可以标识组织所使用的各种TLV中的跳数TLV 508。在一些情况下,子类型516可以具有8位的长度。
信息串字段可以包括计数值506。计数值506可以表示LLDP消息还可以穿过网络的剩余跳数。在一些情况下,计数值506可以具有0到10范围内的整数值。计数值506可以由服务节点初始化。在一些情况下,计数值506的初始值可以取决于集群网络内的层数。例如,计数值506的初始值可以等于或大于集群网络内的层数。在一些示例中,计数值506可以被初始化为2到10的值。每次中间节点在集群网络中中继LLDP消息时,计数值506可以被修改。在一些情况下,中继中间节点可以在接收到LLDP消息时将计数值506减1。在各种实施方式中,计数值506可以由0-511个八位字节表示。
图6至图9示出了与本公开的实施方式相关联的各种过程。
图6示出了用于转发链路层发现协议(LLDP)消息的示例过程600。在各种实施方式中,过程600可以由服务节点(例如,以上参考图1描述的服务节点114)、中间节点(例如,以上参考图1和图2描述的中间节点112、112-1、112-2和112-3中的任何一个)等来执行。
在602处,识别包括发现类型-长度-值(TLV)的LLDP消息。在过程600由集群网络中的服务节点执行的一些示例中,602可以包括生成具有发现TLV的LLDP消息。在由集群网络中的中间节点来执行过程600的各种示例中,602可以包括从服务节点或集群网络中的另一中间节点接收LLDP消息。
发现TLV可以是指示关于服务节点的信息的特定TLV。在各种实施方式中,发现TLV可以指示服务节点标识符、服务节点位置、服务节点类型、和服务节点能力中的至少一个。在一些实施方式中,发现TLV是类型127自定义TLV。在一些情况下,LLDP消息还可包括跳数TLV。
在604处,将包括发现TLV的LLDP消息发送到网络节点。在过程600由中间节点执行的一些实施方式中,在604处发送LLDP消息之前,LLDP消息中的一个或多个元素可以被修改。然而,无论过程600是由服务节点还是中间节点等执行,发现TLV都可以不被修改。
在各种实施方式中,可以重复602和604。例如,服务节点可以周期性地生成具有发现TLV的LLDP消息。中间节点可以周期性地从服务节点或从集群网络中的另一中间节点接收LLDP消息。
图7示出了用于中继链路层发现协议(LLDP)消息的示例过程700。在各种实施方式中,过程700可以由中间节点(例如,以上参考图1和图2描述的中间节点112、112-1、112-2或112-3中的任何一个)等来执行。
在702,从第一节点接收LLDP消息。LLDP消息包括跳数TLV。第一节点可以是集群网络中的服务节点、中间节点等。在各种实施方式中,跳数TLV可以是包括计数值的特定TLV。计数值可以指定表示LLDP消息还可以穿过集群网络的剩余跳数的整数。在一些情况下,跳数TLV是类型127自定义TLV。
在一些情况下,LLDP消息还可以包括发现TLV。发现TLV可以是指示关于集群网络中的服务节点的信息的特定TLV。在各种实施方式中,发现TLV可以指示服务节点标识符、服务节点位置、服务节点类型、和服务节点能力中的至少一个。在一些实施方式中,发现TLV是类型127自定义TLV。
在704处,修改计数值。在一些情况下,可以将计数值减1,其可以表示从第一节点到执行过程700的实体的前一跳。
在706处,确认计数值大于阈值。在一些情况下,阈值是预定整数,例如,零。如果计数值不大于阈值,则可以丢弃并且不转发LLDP消息。然而,如果确定计数值大于阈值,则可以将LLDP消息转发到另一节点。
在708处,将具有修改的计数值的LLDP消息发送到第二节点。在一些情况下,第二节点可以是集群网络中的中间节点。在一些情况下,第二节点可以是叶脊网络中的叶节点。
图8示出了叶脊网络中的节点可以发现和/或确认在连接到叶脊网络的集群网络中存在服务节点的示例过程800。在各种实施方式中,过程800可以由叶节点(例如,以上参考图1描述的叶节点104-1、104-2或104-3)来执行。
在802处,从集群网络中的中间节点接收标识集群网络中的服务节点的链路层发现协议(LLDP)消息。LLDP消息可以包括发现类型长度值(TLV)。发现TLV可以是指示关于集群网络中的服务节点的信息的特定TLV。在各种实施方式中,发现TLV可以指示服务节点标识符、服务节点位置、服务节点类型、和服务节点能力中的至少一个。在一些实施方式中,发现TLV是类型127自定义TLV。
在804处,向网络控制器通知集群网络中的服务节点。在一些情况下,网络控制器是软件定义网络(SDN)控制器,其通过一个或多个接口连接到执行过程800的实体。网络控制器可以以软件、硬件或其组合来表示。在一些情况下,可以将指示发现TLV内的信息的数据分组发送到网络控制器。然而,在各种实施方式中,执行过程800的实体(例如,叶节点)可以避免将整个LLDP消息转发到网络控制器。例如,发送到网络控制器的数据分组可以指示服务节点标识符、服务节点位置、服务节点类型、和服务节点能力中的至少一个。在一些情况下,该数据分组可以根据专有的基于分组的机制和/或控制路径机制来转发。在一些情况下,该数据分组还可以标识执行过程800的实体。例如,如果过程800由叶节点执行,则该数据分组可以标识叶节点。
图9示出了叶脊网络中的网络控制器可以发现并监视服务节点的示例过程900。在各种实施方式中,过程900可以由控制器执行,例如以上参考图1描述的网络控制器108。
在902处,基于由叶脊网络中的叶节点接收的第一链路层发现协议(LLDP)消息,确定服务节点已加入集群网络。在各种实施方式中,执行过程900的实体可以是叶脊网络的一部分、连接到叶脊网络等。在接收到第一LLDP消息之后,叶节点可以向执行过程900的实体发送指示第一LLDP消息的消息。该消息可以指示例如生成第一LLDP消息的服务节点的标识符、服务节点的位置、服务节点的类型、和服务节点的能力中的至少一个。该消息还可以标识叶节点。在一些情况下,第一LLDP消息由服务节点响应于服务节点连接到集群网络而生成,该集群网络连接到叶脊网络。因此,服务节点可以连接到叶脊网络。
在904处,管理服务节点。在各种实施方式中,执行过程900的实体可以管理服务节点中的计算资源。例如,实体可以控制、存储、管理、提取或删除计算资源中的数据。计算资源可以包括虚拟机(VM)实例或硬件计算系统、数据库集群、计算集群、存储集群、数据存储资源、数据库资源、网络资源等。在一些实施方式中,实体可以使用叶节点与服务节点通信。在各种示例中,可以通过更新叶脊网络的网络配置来管理服务节点。例如,可以在叶节点和/或中间节点上激活各种虚拟局域网(VLAN)(或其他网络策略)。
在906处,基于由叶脊网络中的叶节点接收的第二LLDP消息,确定服务节点保持连接到网络。在各种实施方式中,在服务节点连接到叶脊网络的情况下,服务节点可以周期性地生成并发送第二LLDP消息。因此,叶节点可以接收指示服务节点保持连接到叶脊网络的多个第二LLDP消息。叶节点可以将消息转发到执行过程900的实体,指示服务节点保持连接到叶脊网络。因此,过程900可以循环回到904,使得只要确定服务节点保持连接到叶脊网络,就管理服务节点。
图10是示出可用于实施本文所公开的技术的各方面的数据中心1000的配置的计算系统图。图10中所示的示例数据中心1000包括用于提供计算资源1004的若干服务器计算机1002A-1002C(在本文中可称为单数形式的“服务器计算机1002”或复数形式的“服务器计算机1002”)。在一些示例中,资源1004和/或服务器计算机1002可以包括或对应于本文描述的服务节点(例如,服务节点114)。
服务器计算机1002可以是标准塔式、机架式或刀片服务器计算机,其被适当地配置用于提供本文所述的计算资源。计算资源1004可以是数据处理资源,例如,VM实例或硬件计算系统、数据库集群、计算集群、存储集群、数据存储资源、数据库资源、网络资源等。服务器计算机1002中的一些或全部还可以被配置为执行能够实例化和/或管理计算资源的资源管理器。在VM实例的情况下,例如,资源管理器可以是被配置为能够在单个服务器计算机1002上执行多个VM实例的管理程序或其他类型的程序。数据中心1000中的服务器计算机1002还可以被配置为提供网络服务和其他类型的服务。
在示例数据中心1000中,还使用包括叶脊网络102和交换机1006A-1006C的适当局域网(LAN)来互连服务器计算机1002A-1002C。应理解,本文描述的配置和网络拓扑已经大大简化,并且可以使用更多的计算系统、软件组件、网络和网络设备来互连本文公开的各种计算系统并提供上述功能。还可以使用适当的负载平衡设备或其他类型的网络基础设施组件来在数据中心1000之间、每个数据中心1000中的各个服务器计算机1002A-1002C之间、以及潜在地每个服务器计算机1002中的计算资源之间平衡负载。应理解,参考图10描述的数据中心1000的配置仅是说明性的,并且可以使用其他实施方式。
如图10所示,服务器计算机1002(例如,服务器计算机1002A和1002B)中的一些均可以执行链路层发现协议(LLDP)生成器1008,LLDP生成器被配置为生成LLDP消息。每个LLDP消息可以包括发现类型-长度-值(TLV)字段和/或跳数TLV字段。服务器计算机1002可以向交换机1006发送所生成的LLDP消息。
此外,每个交换机1006可以执行LLDP中继器1010。使用LLDP中继器1010,交换机1006可以将来自服务器计算机1002的LLDP消息中继到叶脊网络102。在一些情况下,交换机1006可以修改每个中继的LLDP消息中的跳数TLV字段。交换机1006还可以分别包括缓冲器1012。缓冲器1012可用于临时存储交换机1006在服务器计算机1002和叶脊网络102之间转发的数据分组。
服务器计算机1002中的至少一个(例如,服务器计算机1102C)还可以执行控制器1012。控制器1012可以负责管理叶脊网络102和/或服务器计算机1002中的计算资源1004。当叶脊网络102接收到由服务器计算机1002生成并由交换机1006转发的LLDP消息时,叶脊网络102可以将消息转发到执行控制器1012的服务器计算机1002C。控制器1012可以通过从叶脊网络102接收消息来发现和/或确认服务器计算机1002的存在。
在一些情况下,计算资源1004可以永久地或按需提供应用容器、VM实例和存储装置等。在其他类型的功能中,计算资源1004可用于实现上述各种服务。计算资源可以包括各种类型的计算资源,例如,数据处理资源(如应用容器和VM实例)、数据存储资源、网络资源、数据通信资源、网络服务等。
每种类型的计算资源1004可以是通用的或者可以在多个特定配置中可用。例如,数据处理资源可以在多种不同配置中作为物理计算机或VM实例使用。VM实例可以被配置为执行应用,包括网络服务器、应用服务器、媒体服务器、数据库服务器、上述网络服务中的一些或全部、和/或其他类型的程序。数据存储资源可以包括文件存储设备、块存储设备等。数据中心1000还可被配置为提供本文未具体提及的其他类型的计算资源。
在一个实施例中,计算资源1004可以由一个或多个数据中心1000(在本文中可称为单数形式的“数据中心1000”或复数形式地“数据中心1000”)启用。数据中心1000是用于容纳和操作计算机系统以及相关联的组件的设施。数据中心1000通常包括冗余和备用电力、通信、冷却和安全系统。数据中心1000还可以位于地理上不同的位置。
图11示出了能够执行用于实施上述功能的程序组件的计算机1100的示例计算机架构。图11中所示的计算机架构示出了常规的服务器计算机、工作站、台式计算机、膝上型计算机、平板计算机、网络设备、电子阅读器、智能电话、网络交换机或其他计算设备,并且可以用于执行本文呈现的任何软件组件。在一些示例中,计算机1100可以对应于本文描述的网络节点(例如,服务节点114、中间节点112、叶节点104等)。
计算机1100包括基板1102或“母板”,其是印刷电路板,多个组件或设备可以通过系统总线或其他电气通信路径连接到该印刷电路板。在一种说明性配置中,一个或多个中央处理器(“CPU”)1104与芯片组1106一起操作。CPU 1104可以是执行计算机1100的操作所需的算术和逻辑运算的标准可编程处理器。
CPU 1104通过从一个离散、物理状态转换到下一离散、物理状态来执行操作,该转换通过操纵对这些状态进行区分和改变的开关元件来进行。开关元件通常包括维持两个二进制状态之一的电子电路(例如,触发器),以及基于一个或多个其他开关元件的状态的逻辑组合提供输出状态的电子电路(例如,逻辑门)。这些基本的开关元件可以被组合以创建更复杂的逻辑电路,包括寄存器、加法器-减法器、算术逻辑单元、浮点单元等。
芯片组1106提供CPU 1104与基板1102上的其余组件和器件之间的接口。芯片组1106可以提供到用作计算机1100中的主存储器的RAM 1108的接口。芯片组1106还可以提供到计算机可读存储介质的接口,该计算机可读存储介质用于存储有助于启动计算机1000以及在各种组件和器件之间传输信息的基本例程,该计算机可读存储介质例如是只读存储器(“ROM”)1010或非易失性RAM(“NVRAM”)。ROM 1110或NVRAM还可以存储根据本文描述的配置的计算机1100的操作所需的其他软件组件。
计算机1100可以使用通过网络(例如,网络1108)到远程计算设备和计算机系统的逻辑连接,来在网络环境中操作。芯片组1106可以包括用于通过网络接口控制器(NIC)1112(例如,千兆以太网适配器)提供网络连接的功能。NIC 1112能够通过网络1108将计算机1100连接到其他计算设备。应理解,计算机1100中可以存在多个NIC 1112,将计算机连接到其他类型的网络和远程计算机系统。在一些情况下,NIC 1112可以包括至少一个入口端口和/或至少一个出口端口。
计算机1100可以连接到为计算机提供非易失性存储装置的存储设备1118。存储设备1118可以存储操作系统1120、程序1122和已在本文中更详细描述的数据。存储设备1118可以通过连接到芯片组1106的存储控制器1114而连接到计算机1100。存储设备1118可以包括一个或多个物理存储单元。存储控制器1114可以通过串行连接SCSI(“SAS”)接口、串行高级技术连接(“SATA”)接口、光纤通道(“FC”)接口、或用于在计算机和物理存储单元之间进行物理连接和传输数据其他类型的接口,来与物理存储单元相接口。
计算机1100可以通过转换物理存储单元的物理状态以反映正在存储的信息来将数据存储在存储设备1118上。在本描述的不同实施例中,物理状态的具体转换可以取决于各种因素。这样的因素的示例可以包括但不限于:用于实施物理存储单元的技术、存储设备1118被表征为主存储装置还是或辅助存储装置等。
例如,计算机1100可以通过经由存储控制器1114发出指令以改变磁盘驱动单元内的特定位置的磁特性、光学存储单元中的特定位置的反射或折射特性、或者或固态存储单元中的特定电容器、晶体管或其他分立元件的电气特性,来将信息存储到存储设备1118。在不脱离本描述的范围和精神的情况下,物理介质的其他变换是可能的,提供前述示例仅是为了促进本描述。计算机1100还可以通过检测物理存储单元内的一个或多个特定位置的物理状态或特性,来从存储设备1118读取信息。
除了上述大容量存储设备1118之外,计算机1100还可以访问其他计算机可读存储介质以存储和检索信息,例如,程序模块、数据结构或其他数据。本领域技术人员应当理解,计算机可读存储介质是提供对数据的非暂时性存储并且可以由计算机1100访问的任何可用介质。在一些示例中,由叶节点(例如,104)、脊节点(例如,106)、控制器(例如,网络控制器108)、中间节点(例如,112)、服务节点(例如,114)、前一节点(例如,202)、下一节点(例如,212)或其组合执行的操作,可以由一个或多个类似于计算机1100的设备支持。换句话说,由叶节点、脊节点、控制器、中间节点、服务节点、前一节点、下一节点等执行的操作中的一些或全部,可以由在基于云的布置中运行一个或多个计算机设备1100执行。
作为示例而非限制,计算机可读存储介质可以包括以任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。计算机可读存储介质包括但不限于RAM、ROM、可擦除可编程ROM(“EPROM”)、电可擦除可编程ROM(“EEPROM”)、闪存或其他固态存储技术、光盘ROM(“CD-ROM”)、数字多功能光盘(“DVD”)、高清DVD(“HD-DVD”)、蓝光或其他光存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备、或任何其他可用于以非暂时性方式存储所需信息的介质。
如上所述,存储设备1118可以存储用于控制计算机1100的操作的操作系统1120。根据一个实施例,操作系统包括LINUX操作系统。根据另一实施例,操作系统包括来自华盛顿州雷德蒙德的微软公司的
Figure BDA0003565009150000231
SERVER操作系统。根据另外的实施例,操作系统可以包括UNIX操作系统或其变体之一。应该理解,还可以使用其他操作系统。存储设备1118可以存储计算机1100使用的其他系统或应用程序和数据。
在一个实施例中,存储设备1118或其他计算机可读存储介质被编码有计算机可执行指令,这些指令当被加载到计算机1100中时,将计算机从通用计算系统转换为能够实现本文描述的实施例的专用计算机。如上所述,这些计算机可执行指令通过指定CPU 1104如何在状态之间转换来变换计算机1100。根据一个实施例,计算机1100可以访问存储了计算机可执行指令的计算机可读存储介质,这些指令当由计算机1100执行时,执行上文关于图1至图10描述的各种过程。计算机1100还可以包括计算机可读存储介质,其上存储有用于执行本文描述的任何其他计算机实现的操作的指令。
如图11所示,存储设备1118还存储链路层发现协议(LLDP)中继器1124。在一些实施方式中,可省略LLDP中继器1124。使用存储在LLDP中继器1124中的指令,(一个或多个)CPU 1104可以使计算机1100向叶节点中继由服务节点生成的LLDP消息。
计算机1100还可以包括一个或多个输入/输出控制器1116,用于接收和处理来自多个输入设备的输入,输入设备例如是键盘、鼠标、触摸板、触摸屏、电子笔或其他类型的输入设备。类似地,输入/输出控制器1116可以向显示器提供输出,显示器例如是计算机监视器、平板显示器、数字投影仪、打印机或其他类型的输出设备。将理解,计算机1100可以不包括全部的图11中所示的组件,可以包括未在图11中明确示出的其他组件,或者可以使用与图11中所示的架构完全不同的架构。
总之,本公开描述了与网络中的动态服务节点发现相关的各种方法、系统和设备。在一个示例方法中,中间节点从第一节点接收链路层发现协议(LLDP)消息。LLDP消息包括发现类型-长度-值(TLV),发现TLV指示网络中的服务节点的位置。该方法还包括将LLDP消息转发到第二节点。
在一些情况下,一个或多个组件在本文中可被称为“配置为”、“可配置为”、“可操作/能够操作以”、“适于/可适于”、“能够”、“可符合/符合”等。本领域技术人员将认识到,除非上下文另有要求,否则这些术语(例如,“配置为”)通常可以涵盖活动状态组件和/或非活动状态组件和/或待机状态组件。
如本文所用,术语“基于”可以与“至少部分地基于”和“至少部分基于”同义使用。
如本文所用,术语“包括/包括了/包括有”和“包含/包含了/包含有”及其等同物可以互换使用。“包括A、B和C”的设备、系统或方法具有A、B和C,但也可以具有其他组件(例如,D)。也就是说,装置、系统或方法不限于组件A、B和C。
尽管针对具体示例描述了本发明,但应理解,本发明的范围不限于这些具体示例。由于为了适合特定操作要求和环境而变化的其他修改和改变对于本领域技术人员来说将是显而易见的,因此本发明不被认为限于为公开目的而选择的示例,而是涵盖不视为脱离本发明的真正精神和范围的所有改变和修改。
尽管本申请描述了具有特定结构特征和/或方法动作的实施例,但应理解,权利要求不一定限于所描述的特定特征或动作。而是,特定特征和动作仅说明落入本申请的权利要求范围内的一些实施例。

Claims (27)

1.一种方法,包括:
从网络中的第一节点接收链路层发现协议LLDP消息,所述LLDP消息包括发现类型-长度-值TLV,所述发现TLV指示所述网络中的服务节点的标识符;以及
将所述LLDP消息转发到所述网络中的第二节点。
2.根据权利要求1所述的方法,其中,所述LLDP消息还包括跳数TLV,所述跳数TLV包括计数值,
其中,所述方法还包括:确定所述计数值超过预定水平。
3.根据权利要求2所述的方法,还包括:
减小所述计数值。
4.根据权利要求2或3所述的方法,其中,所述发现TLV是具有指示所述服务节点的标识符的值的类型127TLV,
其中,所述跳数TLV是具有包括所述计数值的值的类型127TLV。
5.根据权利要求1至4中任一项所述的方法,其中,所述第一节点是所述服务节点。
6.根据权利要求1至5中任一项所述的方法,其中,所述第二节点是叶脊网络中的叶节点。
7.根据权利要求1至6中任一项所述的方法,其中,所述第一节点和所述第二节点中的至少一个包括集群网络中的中间节点。
8.根据权利要求1至7中任一项所述的方法,其中,所述服务节点的标识符包括以下项中的至少一个:所述服务节点的互联网协议(IP)地址、所述服务节点的介质访问控制(MAC)地址、和所述服务节点的域名服务(DNS)名称。
9.根据权利要求1至8中任一项所述的方法,其中,所述发现TLV还包括以下项中的至少一个:所述服务节点的类型、所述服务节点的存储器容量、和所述服务节点的处理能力。
10.一种服务节点,包括:
至少一个处理器;以及
存储器,所述存储器存储指令,所述指令在由所述至少一个处理器执行时使得所述处理器执行操作,所述操作包括:
生成链路层发现协议LLDP消息,所述LLDP消息包括发现类型-长度-值TLV,所述发现TLV指示所述服务节点的标识符;以及
将所述LLDP消息发送到中间节点。
11.根据权利要求10所述的服务节点,其中,所述操作还包括:
连接到所述中间节点,
其中,响应于连接到所述中间节点而发送所述LLDP消息。
12.根据权利要求10或11所述的服务节点,其中,所述LLDP消息是第一LLDP消息,所述操作还包括:
在将所述第一LLDP消息发送到所述中间节点之后,在预定时间段到期时,将指示所述服务节点的标识符的第二LLDP消息发送到所述中间节点。
13.根据权利要求10至12中任一项所述的服务节点,其中,所述LLDP消息还包括跳数TLV,所述跳数TLV包括计数值。
14.根据权利要求13所述的服务节点,其中,所述发现TLV是具有指示所述服务节点的地址的值的类型127TLV,
其中,所述跳数TLV是具有包括所述计数值的值的类型127TLV。
15.根据权利要求10至14中任一项所述的服务节点,其中,所述服务节点的标识符包括以下项中的至少一个:所述服务节点的互联网协议(IP)地址、所述服务节点的介质访问控制(MAC)地址、和所述服务节点的域名服务(DNS)名称。
16.根据权利要求10至15中任一项所述的服务节点,其中,所述发现TLV还包括以下项中的至少一个:所述服务节点的类型、所述服务节点的存储器容量、和所述服务节点的处理能力。
17.一种集群网络中的中间节点,所述中间节点包括:
至少一个处理器;以及
存储器,所述存储器存储指令,所述指令在由所述至少一个处理器执行时使得所述至少一个处理器执行操作,所述操作包括:
从所述集群网络中的前一节点接收链路层发现协议LLDP消息,所述LLDP消息包括发现类型-长度-值TLV和跳数TLV,所述发现TLV包括所述网络中的服务节点的标识符,所述跳数TLV包括计数值;
减小所述跳数TLV中的所述计数值;
响应于减小了所述计数值,确认所述计数值大于零;以及
将所述LLDP消息转发到至少一个下一节点。
18.根据权利要求17所述的中间节点,其中,所述集群网络中的所述前一节点是所述集群网络中的所述服务节点或另一中间节点。
19.根据权利要求17或18所述的中间节点,其中,所述至少一个下一节点包括以下项中的至少一个:所述集群网络中的另一中间节点、和叶脊网络中的叶节点。
20.根据权利要求17至19中任一项所述的中间节点,其中,所述中间节点设置在所述集群网络中的所述前一节点与叶脊网络中的叶节点之间。
21.一种中间节点,包括:
用于从网络中的第一节点接收链路层发现协议LLDP消息的装置,其中,所述LLDP消息包括发现类型-长度-值TLV,所述发现TLV指示所述网络中的服务节点的标识符;以及
用于将所述LLDP消息转发到所述网络中的第二节点的装置。
22.根据权利要求21所述的中间节点,其中,所述LLDP消息还包括发现类型-长度-值TLV和跳数TLV,所述发现TLV包括所述网络中的服务节点的标识符,所述跳数TLV包括计数值,所述中间节点还包括:用于减小所述跳数TLV中的所述计数值的装置,以及用于响应于减小了所述计数值确认所述计数值大于零的装置。
23.根据权利要求21或22所述的中间节点,还包括:用于实施根据权利要求2至9中任一项所述的方法的装置。
24.一种服务节点,包括:
用于生成链路层发现协议LLDP消息的装置,其中,所述LLDP消息包括发现类型-长度-值TLV,所述发现TLV指示所述服务节点的标识符;以及
用于将所述LLDP消息发送到中间节点的装置。
25.一种方法,包括:
生成链路层发现协议LLDP消息,所述LLDP消息包括发现类型-长度-值TLV,所述发现TLV指示所述服务节点的标识符;以及
将所述LLDP消息发送到中间节点。
26.根据权利要求25所述的方法,还包括权利要求11至16中任一项所述的步骤。
27.一种包括指令的计算机程序、计算机程序产品或计算机可读介质,所述指令在由计算机执行时,使得所述计算机执行权利要求1至9、25和26中任一项所述的方法的步骤。
CN202080067245.XA 2019-10-10 2020-10-08 动态发现网络中的服务节点 Pending CN114521322A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/598,919 US11088934B2 (en) 2019-10-10 2019-10-10 Dynamic discovery of service nodes in a network
US16/598,919 2019-10-10
PCT/US2020/054861 WO2021072130A1 (en) 2019-10-10 2020-10-08 Dynamic discovery of service nodes in a network

Publications (1)

Publication Number Publication Date
CN114521322A true CN114521322A (zh) 2022-05-20

Family

ID=73038432

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080067245.XA Pending CN114521322A (zh) 2019-10-10 2020-10-08 动态发现网络中的服务节点

Country Status (4)

Country Link
US (2) US11088934B2 (zh)
EP (1) EP4042642A1 (zh)
CN (1) CN114521322A (zh)
WO (1) WO2021072130A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11088934B2 (en) 2019-10-10 2021-08-10 Cisco Technology, Inc. Dynamic discovery of service nodes in a network
WO2023003812A1 (en) * 2021-07-19 2023-01-26 Cisco Technology, Inc. Automated provisioning of endpoint devices with management connectivity
US11522755B1 (en) 2021-07-19 2022-12-06 Cisco Technology, Inc. Automated provisioning of endpoint devices with management connectivity

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009049503A1 (fr) * 2007-10-18 2009-04-23 Huawei Technologies Co., Ltd. Procédé et dispositif permettant de découvrir automatiquement une topologie de réseau et de gérer des ressources sur un réseau pbb te
US20130148547A1 (en) * 2011-12-13 2013-06-13 John M. Page Method and system for collecting topology information
US20140105029A1 (en) * 2012-10-16 2014-04-17 Cisco Technology, Inc. Detection of cabling error in communication network
EP2852094A1 (en) * 2013-09-23 2015-03-25 Racktivity NV A system for remotely controlling and/or monitoring power distribution units or sensor units in a data centre
US20170279680A1 (en) * 2015-04-22 2017-09-28 Hewlett Packard Enterprise Development Lp Configuring network devices
CN107231309A (zh) * 2017-07-24 2017-10-03 迈普通信技术股份有限公司 获取sdn全网视图的方法、控制器及目的交换节点
WO2018072732A1 (zh) * 2016-10-20 2018-04-26 中兴通讯股份有限公司 一种信息处理方法、装置和计算机存储介质
US20180159942A1 (en) * 2016-12-01 2018-06-07 Hongfujin Precision Electronics (Tianjin) Co.,Ltd. Management system for internet protocol address of baseboard management controller, management terminal, and management method
CN108566451A (zh) * 2014-03-11 2018-09-21 华为技术有限公司 一种消息处理方法、接入控制器及网络节点
US20190190851A1 (en) * 2017-12-14 2019-06-20 Industrial Technology Research Institute Method and device for monitoring traffic in a network
WO2019125239A1 (en) * 2017-12-19 2019-06-27 Telefonaktiebolaget Lm Ericsson (Publ) Method and management node in a communication network, for supporting management of network nodes based on lldp messages
US20190208021A1 (en) * 2016-12-19 2019-07-04 Tencent Technology (Shenzhen) Company Limited Content delivery network (cdn) management system, method, and apparatus

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7076787B2 (en) * 2002-05-30 2006-07-11 Sun Microsystems, Inc. Supporting multiple protocols with a single device driver
US9306836B2 (en) * 2012-07-30 2016-04-05 Hewlett Packard Enterprise Development Lp Searching for multicast consumers in a network of interconnected nodes
US9979595B2 (en) 2012-12-18 2018-05-22 Juniper Networks, Inc. Subscriber management and network service integration for software-defined networks having centralized control
US8693374B1 (en) 2012-12-18 2014-04-08 Juniper Networks, Inc. Centralized control of an aggregation network with a reduced control plane
US9100285B1 (en) 2012-12-18 2015-08-04 Juniper Networks, Inc. Dynamic control channel establishment for software-defined networks having centralized control
US9413602B2 (en) 2013-06-12 2016-08-09 Alcatel Lucent System, method, and apparatus for network fabric configuration in data communication networks
US9648547B1 (en) * 2013-06-28 2017-05-09 Google Inc. Self-organizing topology management
US9374310B2 (en) * 2013-10-08 2016-06-21 Dell Products L.P. Systems and methods of inter data center out-bound traffic management
US9655232B2 (en) 2013-11-05 2017-05-16 Cisco Technology, Inc. Spanning tree protocol (STP) optimization techniques
US9900217B2 (en) 2014-03-26 2018-02-20 Arista Networks, Inc. Method and system for network topology enforcement
US9729948B1 (en) * 2016-04-07 2017-08-08 Infinera Corporation Systems and methods for discovery of a controller in openflow networks
CN109005126B (zh) * 2017-06-06 2020-06-02 华为技术有限公司 数据流的处理方法、设备和计算机可读存储介质
CN109302372B (zh) * 2017-07-24 2021-02-23 华为技术有限公司 一种通信方法、设备及存储介质
WO2019125238A1 (en) * 2017-12-19 2019-06-27 Telefonaktiebolaget Lm Ericsson (Publ) Methods and nodes for handling lldp messages in a communication network
US10884474B2 (en) * 2018-07-19 2021-01-05 Hewlett Packard Enterprise Development Lp Method for managing non-chatty IoT devices to remain in an authenticated state
US10887192B2 (en) * 2018-08-03 2021-01-05 Red Hat, Inc. Targeted network discovery and visualizations
US11088934B2 (en) 2019-10-10 2021-08-10 Cisco Technology, Inc. Dynamic discovery of service nodes in a network
US11290942B2 (en) * 2020-08-07 2022-03-29 Rockwell Collins, Inc. System and method for independent dominating set (IDS) based routing in mobile AD hoc networks (MANET)

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009049503A1 (fr) * 2007-10-18 2009-04-23 Huawei Technologies Co., Ltd. Procédé et dispositif permettant de découvrir automatiquement une topologie de réseau et de gérer des ressources sur un réseau pbb te
US20130148547A1 (en) * 2011-12-13 2013-06-13 John M. Page Method and system for collecting topology information
US20140105029A1 (en) * 2012-10-16 2014-04-17 Cisco Technology, Inc. Detection of cabling error in communication network
EP2852094A1 (en) * 2013-09-23 2015-03-25 Racktivity NV A system for remotely controlling and/or monitoring power distribution units or sensor units in a data centre
CN108566451A (zh) * 2014-03-11 2018-09-21 华为技术有限公司 一种消息处理方法、接入控制器及网络节点
US20170279680A1 (en) * 2015-04-22 2017-09-28 Hewlett Packard Enterprise Development Lp Configuring network devices
WO2018072732A1 (zh) * 2016-10-20 2018-04-26 中兴通讯股份有限公司 一种信息处理方法、装置和计算机存储介质
US20180159942A1 (en) * 2016-12-01 2018-06-07 Hongfujin Precision Electronics (Tianjin) Co.,Ltd. Management system for internet protocol address of baseboard management controller, management terminal, and management method
US20190208021A1 (en) * 2016-12-19 2019-07-04 Tencent Technology (Shenzhen) Company Limited Content delivery network (cdn) management system, method, and apparatus
CN107231309A (zh) * 2017-07-24 2017-10-03 迈普通信技术股份有限公司 获取sdn全网视图的方法、控制器及目的交换节点
US20190190851A1 (en) * 2017-12-14 2019-06-20 Industrial Technology Research Institute Method and device for monitoring traffic in a network
WO2019125239A1 (en) * 2017-12-19 2019-06-27 Telefonaktiebolaget Lm Ericsson (Publ) Method and management node in a communication network, for supporting management of network nodes based on lldp messages

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈量;瞿辉;: "基于SDN思路的组播实现", no. 02 *

Also Published As

Publication number Publication date
US11799753B2 (en) 2023-10-24
WO2021072130A1 (en) 2021-04-15
US11088934B2 (en) 2021-08-10
US20210111984A1 (en) 2021-04-15
EP4042642A1 (en) 2022-08-17
US20210336867A1 (en) 2021-10-28

Similar Documents

Publication Publication Date Title
US11070619B2 (en) Routing messages between cloud service providers
US9667653B2 (en) Context-aware network service policy management
US10257066B2 (en) Interconnect congestion control in a storage grid
US7962587B2 (en) Method and system for enforcing resource constraints for virtual machines across migration
US7941539B2 (en) Method and system for creating a virtual router in a blade chassis to maintain connectivity
US7984123B2 (en) Method and system for reconfiguring a virtual network path
US11799753B2 (en) Dynamic discovery of service nodes in a network
US9743367B2 (en) Link layer discovery protocol (LLDP) on multiple nodes of a distributed fabric
US10084691B2 (en) Scalable framework for managing QoS requirements after a switch link failover in a switch fabric network
US10003528B2 (en) Scalable framework for managing switch link failovers in a switch fabric network
CN114531944A (zh) 数据流的路径签名
US9143435B1 (en) Management of paths of switches of distributed computing systems
US11438263B2 (en) Policy application
JP7388533B2 (ja) ゲートウェイ装置、方法及びプログラム
US20150312172A1 (en) Synchronizing out-of-sync elements in a distributed fibre channel forwarder
US10880168B2 (en) Switch configuration
CN117882340A (zh) 为网络节点的客户端未知晓滚动进行的协调重连接
Safdar et al. ARP Overhead Reduction Framework for Software Defined Data Centers
US11888736B2 (en) Service chaining in fabric networks
US20240137314A1 (en) Service chaining in fabric networks
US11632290B2 (en) Selective disaggregation advertisement for routing in multi-plane topologies
US11711240B1 (en) Method to provide broadcast/multicast support in public cloud
US20220385630A1 (en) Advertising device inspection capabilities to enhance network traffic inspections
CN117941324A (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