CN113364689B - 检测多个网络设备的叶脊拓扑中的错误布线 - Google Patents

检测多个网络设备的叶脊拓扑中的错误布线 Download PDF

Info

Publication number
CN113364689B
CN113364689B CN202110209352.8A CN202110209352A CN113364689B CN 113364689 B CN113364689 B CN 113364689B CN 202110209352 A CN202110209352 A CN 202110209352A CN 113364689 B CN113364689 B CN 113364689B
Authority
CN
China
Prior art keywords
path
odd
topology
values
network devices
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
CN202110209352.8A
Other languages
English (en)
Other versions
CN113364689A (zh
Inventor
R·怀特
S·赫格德
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.)
Juniper Networks Inc
Original Assignee
Juniper Networks 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 Juniper Networks Inc filed Critical Juniper Networks Inc
Priority to CN202310556715.4A priority Critical patent/CN116405371A/zh
Publication of CN113364689A publication Critical patent/CN113364689A/zh
Application granted granted Critical
Publication of CN113364689B publication Critical patent/CN113364689B/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
    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • 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
    • 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/28Routing or path finding of packets in data switching networks using route fault recovery

Landscapes

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

Abstract

涉及检测多个网络设备的叶脊拓扑中的错误布线。一种网络设备可以接收标识多个网络设备的叶脊拓扑的拓扑数据,并且可以将链路度量设置为公共值以生成经修改的拓扑数据。网络设备可以从经修改的拓扑数据移除标识从叶网络设备到拓扑外部的任何设备的连接的数据,以生成经进一步修改的拓扑数据,并且可以利用模型来处理经进一步修改的拓扑数据,以确定路径数据,该路径数据标识到目的地的路径。网络设备可以确定标识到对应目的地的较短路径和较长路径的特定路径数据,并且可以确定与路径相关联的跳数。网络设备可以确定跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值,并且可以基于跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值来执行动作。

Description

检测多个网络设备的叶脊拓扑中的错误布线
技术领域
本发明涉及数据中心网络拓扑领域,特别地,涉及检测多个网络设备的叶脊拓扑中的错误布线。
背景技术
多个网络设备的叶脊拓扑是多层数据中心网络拓扑,该多层数据中心网络拓扑包括叶网络设备(例如服务器和存储装置连接至叶网络设备)和脊网络设备(例如叶网络设备连接至脊网络设备)。叶网络设备可以网合到脊中以形成递送针对服务器的网络连接点的访问层。
发明内容
根据一些实施方式,一种方法可以包括:接收标识多个网络设备的叶脊拓扑的拓扑数据;以及将与拓扑数据相关联的链路度量设置为公共值并且以生成经修改的拓扑数据。该方法可以包括:从经修改的拓扑数据移除标识到叶脊拓扑外部的任何设备的连接的数据,以生成经进一步修改的拓扑数据;以及利用最短路径优先模型来处理经进一步修改的拓扑数据,以确定路径数据,该路径数据标识到经进一步修改的拓扑数据中所标识的目的地的路径。该方法可以包括:利用最短路径优先模型来处理路径数据和经进一步修改的拓扑数据,以确定标识到对应目的地的较短路径和较长路径的特定路径数据;以及利用最短路径优先模型来处理特定路径数据和经进一步修改的拓扑数据,以确定与到对应目的地的较短路径和较长路径相关联的跳数。该方法可以包括:利用最短路径优先模型来处理跳数,以确定与到对应目的地的较短路径和较长路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合;以及基于确定与到对应目的地的较短路径和较长路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合来执行一个或多个动作。
根据一些实施方式,一种网络设备可以包括:一个或多个存储器;以及一个或多个处理器,该一个或多个处理器用以接收标识多个网络设备的叶脊拓扑的拓扑数据,且将与拓扑数据相关联的链路度量设置为公共值并且以生成经修改的拓扑数据。一个或多个处理器可以利用有向无环图模型来处理经修改的拓扑数据,以生成有向无环图,该有向无环图标识到经修改的拓扑数据中所标识的目的地的路径。一个或多个处理器可以处理有向无环图,以确定与到对应目的地的路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合,且可以基于确定与到对应目的地的路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合来执行一个或多个动作。
根据一些实施方式,一种非瞬态计算机可读介质可以存储一个或多个指令,该一个或多个指令在由网络设备的一个或多个处理器执行时可以使一个或多个处理器:接收标识多个网络设备的叶脊拓扑的拓扑数据;以及将与拓扑数据相关联的链路度量设置为公共值并且以生成经修改的拓扑数据。一个或多个指令可以使一个或多个处理器处理经修改的拓扑数据,以确定路径数据,该路径数据标识到经修改的拓扑数据中所标识的目的地的路径。一个或多个指令可以使一个或多个处理器利用最短路径优先模型来处理路径数据和经修改的拓扑数据,以确定标识到对应目的地的至少一个较短路径和至少一个较长路径的特定路径数据;以及利用最短路径优先模型来处理特定路径数据和经修改的拓扑数据,以确定与到对应目的地的至少一个较短路径和至少一个较长路径相关联的跳数。一个或多个指令可以使一个或多个处理器利用最短路径优先模型来处理,以确定与到对应目的地的至少一个较短路径和至少一个较长路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合;以及基于确定与到对应目的地的至少一个较短路径和至少一个较长路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合,确定在多个网络设备的叶脊拓扑中是否存在错误布线。一个或多个指令可以使一个或多个处理器基于确定在多个网络设备的叶脊拓扑中是否存在错误布线来执行一个或多个动作。
附图说明
图1A至图1L是本文中所描述的一个或多个示例实施方式的图。
图2是本文中所描述的系统和/或方法可以在其中被实施的示例环境的图。
图3和图4是图2的一个或多个设备的示例部件的图。
图5至图7是用于检测多个网络设备的叶脊拓扑中的错误布线的示例过程的流程图。
具体实施方式
示例实施方式的以下详细描述参考附图。不同图式中的相同附图标号可以标识相同或类似元件。
许多数据中心部署了密集的叶脊网络拓扑。这些网络拓扑具有非常明确定义的连接性,并且许多洪泛优化技术采用标准连接性和/或拓扑。然而,如果在叶脊网络拓扑的网络设备之间存在错误布线和/或在叶脊网络拓扑的级之间存在不正确的连接,那么洪泛优化技术可能会出现导致洪泛性能下降的问题。因此,用于部署叶脊网络拓扑的当前技术浪费了与经历洪泛性能下降、丢失网络中的业务、尝试恢复丢失的业务等相关联的计算资源(例如处理资源、存储器资源、通信资源等)、网络资源等。
本文中所描述的一些实施方式提供了一种检测多个网络设备的叶脊拓扑中的错误布线的网络设备。例如,该网络设备可以接收标识多个网络设备的叶脊拓扑的拓扑数据,并且可以将与拓扑数据相关联的链路度量设置为公共值并且以生成经修改的拓扑数据。该网络设备可以从经修改的拓扑数据移除标识到叶脊拓扑外部的设备的连接的数据,以生成经进一步修改的拓扑数据,且可以利用最短路径优先模型来处理经进一步修改的拓扑数据,以确定路径数据,该路径数据标识到经进一步修改的拓扑数据中所标识的目的地的路径。该网络设备可以利用最短路径优先模型来处理路径数据和经进一步修改的拓扑数据,以确定标识到对应目的地的较短路径和较长路径的特定路径数据,且可以利用最短路径优先模型来处理特定路径数据和经进一步修改的拓扑数据,以确定与到对应目的地的较短路径和较长路径相关联的跳数。该网络设备可以利用最短路径优先模型来处理跳数,以确定与到对应目的地的较短路径和较长路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合,且可以基于确定与到对应目的地的较短路径和较长路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合来执行一个或多个动作。由于叶脊拓扑包括基于所定义的系统而配置的网络设备之间的物理连接,因此与到相同目的地的较短路径和较长路径相关联的跳数应该全部是奇数值或全部是偶数值。如果与到相同目的地的较短路径和较长路径相关联的跳数甚至包括与偶数值一起被包括的单个奇数值或甚至包括与奇数值一起被包括的单个偶数值,那么网络设备可以确定存在与较短路径中的一个或多个较短路径和/或较长路径中的一个或多个较长路径相关联的一个或多个错误布线。
以这种方式,网络设备可以检测多个网络设备的叶脊拓扑中的错误布线。网络设备可以在不需要任何配置和协议改变的情况下检测错误布线。当在叶脊拓扑中存在错误布线时,网络设备可以检测错误布线并且可以生成关于错误布线的警告,使得错误布线可以被积极主动地校正。从而节省了原本将会在经历洪泛性能下降、丢失网络中的业务、尝试恢复丢失的业务等时被浪费的计算资源(例如处理资源、存储器资源、通信资源等)、网络资源等。
图1A至图1L是本文中所描述的一个或多个示例实施方式100的图。如图1A至图1L中所示出,端点设备(例如服务器、防火墙、边缘设备等)可以与网络设备的叶脊网络拓扑传送和/或交换业务。叶脊网络拓扑可以包括多个网络设备(例如路由器、网关、网桥、开关、网络接口控制器(NIC)等),诸如第一网络设备(例如网络设备)、第二网络设备(例如网络设备1B)、第三网络设备(例如网络设备2A)等。图1A至图1L中所示出的八个网络设备仅仅被提供作为网络设备的示例,并且实际上,叶脊网络拓扑可以包括附加网络设备。
叶脊网络拓扑可以包括脊网络设备和叶网络设备。脊网络设备可以是连接一个或多个叶网络设备的网络设备。每个脊网络设备可以连接至一个或多个核心网络设备、在叶脊网络拓扑的外部的一个或多个网络设备等。叶网络设备可以是连接至端点设备的网络设备(例如叶网络设备可以是IP可达的)。每个叶网络设备可以与每个脊网络设备物理连接。
叶网络设备可以不连接至相同层中的其他叶网络设备(如下文所解释的)。类似地,脊网络设备可以不连接至相同层中的其他脊网络设备。然而,脊网络设备可以连接至另一层中的另一脊网络设备。如果叶网络设备连接至相同层中的另一叶网络设备,那么连接可以是错误布线。类似地,如果脊网络设备连接至相同层中的另一脊网络设备,那么连接可以是错误布线。如上文所描述的,错误布线可以导致洪泛性能下降、业务丢失等。
如在图1A中利用附图标号105所示出,叶脊拓扑可以包括网络设备之间的多个物理连接(例如电线、电缆等)。物理连接可以允许业务从一个网络设备行进至另一网络设备。
例如,网络设备1A至1F可以是叶网络设备(例如网络设备1A至1F可以从端点设备接收业务)。网络设备2A和2B可以是脊网络设备。每个叶网络设备(例如网络设备1A至1F中的每个网络设备)可以连接至每个脊网络设备(例如网络设备2A和2B中的每个网络设备)。网络设备1A至1F可以处于相同层。因而,在网络设备1A至1F之间可以不存在物理连接。类似地,网络设备2A和2B可以处于相同层,且在网络设备2A和2B之间可以不存在物理连接。
在一些实施方式中,可以存在以与上文所描述的网络设备类似的方式进行配置的网络设备的附加层或级。例如,可以存在脊网络设备的附加层。脊网络设备的附加层中的每个脊网络设备可以在物理上连接至每个脊网络设备2A和2B。
如在图1B中利用附图标号110所示出,叶脊拓扑可以包括布置在层(例如层T0、层T1以及层T2)中的多个网络设备(例如被标记为1A、1B、2A、2B等)。层可以是多个网络设备的层、多个网络设备的级等。图1B未示出网络设备之间的物理连接。物理连接可以以与上文相对于图1A所描述的方式类似的方式进行配置。每个网络设备可以在物理上连接至相邻层中的每个网络设备。相同层中的网络设备可以不在物理上彼此连接。
例如,网络设备5A可以在物理上连接至网络设备4A、网络设备4B、网络设备4C、网络设备4D、网络设备4E以及网络设备4F。网络设备5A可以不在物理上连接至网络设备5B、网络设备5C、网络设备5D、网络设备5E或网络设备5F。网络设备4A可以在物理上连接至网络设备5A、网络设备5B、网络设备5C、网络设备5D、网络设备5E、网络设备5F、网络设备3A、网络设备3B、网络设备3C、网络设备3D、网络设备3E以及网络设备3F。叶脊拓扑中所包括的所有网络设备可以包括以类似方式进行配置的物理连接。
层T0中的网络设备(例如网络设备1A至1F和网络设备5A至5F)可以是架顶式(ToR)网络设备。层T0中的网络设备可以连接至一个或多个端点设备。层T0中的网络设备可以是叶网络设备。层T1和T2中的网络设备(例如网络设备2A至2F、网络设备3A至3F以及网络设备4A至4F)可以仅连接至叶脊拓扑中的其他网络设备。层T1和T2中的网络设备可以是脊网络设备。
叶脊拓扑可以执行一个或多个链路状态路由协议,诸如开放式最短路径优先(OSPF)协议、中间系统到中间系统(ISIS)协议等。如下文所描述的,叶脊拓扑中所包括的每个网络设备可以独立地计算针对通过叶脊拓扑到达叶脊拓扑中的每个可能的目的地的业务的路径。
在叶脊拓扑内传输的业务可以与跳数相关联。跳数可以指示从叶脊拓扑内的一个网络设备到叶脊拓扑内的另一网络设备的业务的传输数量。例如,从网络设备5A向网络设备4A向网络设备3B传输的业务的跳数可为2(例如网络设备5A至网络设备4A是1跳,且网络设备4A至网络设备3B是1跳)。作为另一示例,从网络设备1C向网络设备2E向网络设备3B向网络设备2A传输的业务的跳数可为3(例如网络设备1C至网络设备2E是1跳,网络设备2E至网络设备3B是1跳,且网络设备3B至网络设备2A是1跳)。
如图1C中所示出,叶脊拓扑中所包括的网络设备可以接收拓扑数据。拓扑数据可以标识多个网络设备的叶脊拓扑,诸如图1B中所示出的叶脊拓扑。拓扑数据可以是叶脊拓扑的连接性的映射,其示出了网络设备连接至哪些其他网络设备。拓扑数据可以标识叶脊拓扑中的网络设备之间的所有物理连接。拓扑数据可以标识哪些网络设备在物理上连接(例如网络设备之间的链路)并且哪些网络设备不在物理上连接。
拓扑数据可以包括业务的一个或多个目的地。一个或多个目的地可以是叶脊拓扑中所包括的一个或多个网络设备和/或位于叶脊拓扑的外部并且可经由叶脊拓扑的网络设备到达的一个或多个设备。在一些实施方式中,一个或多个目的地可以是叶脊拓扑中的叶网络设备。在一些实施方式中,目的地可以是叶脊拓扑中的所有其他网络设备。例如,如果网络设备是网络设备5A,那么在拓扑数据中所标识的目的地可以是除网络设备5A以外的每个其他网络设备(例如网络设备5B至5F、网络设备4A至4F、网络设备3A至3F等)。
拓扑数据可以标识链路度量。链路度量可以标识与从叶脊拓扑的一个网络设备向在物理上连接至叶脊拓扑的网络设备的另一网络设备传输的业务相关联的值(例如成本)。链路度量可以标识每个网络设备之间的每条链路的成本是相同的。备选地,链路度量可以标识每个网络设备之间的每条链路的成本是不同的(例如网络设备之间的一些链路可以具有比其他网络设备之间的其他链路更高的成本)。
如利用附图标号115所示出,网络设备可以将与拓扑数据相关联的链路度量设置为公共值(例如一)。网络设备可以将与拓扑数据相关联的链路度量设置为值一,以使得用于使业务到达叶脊拓扑中的任何目的地的成本与同通过叶脊拓扑的业务相关联的跳数相同。网络设备可以在将链路度量设置为公共值的情况下修改拓扑数据,从而产生经修改的拓扑数据。以这种方式,与拓扑数据相关联的链路度量可以用于确定业务在叶脊拓扑中穿过以到达与业务相关联的目的地的网络设备的数量。
如在图1D中利用附图标号120所示出,网络设备可以从经修改的拓扑数据移除标识从叶网络设备到叶脊拓扑的外部的任何设备(例如端点设备、服务器设备、云计算平台等)的连接的数据,以生成经进一步修改的拓扑数据。经进一步修改的拓扑数据可以仅包括标识叶脊拓扑内的网络设备之间的连接的数据。由于与叶脊拓扑的外部的设备的连接可以是或可以不是物理连接,因此可以丢弃标识与叶脊拓扑的外部的设备的连接的数据。
在一些实施方式中,经修改的拓扑数据可以不包括标识从叶网络设备到叶脊拓扑的外部的一个或多个设备的连接的数据。因而,网络设备可能不需要移除标识从叶网络设备到叶脊拓扑的外部的任何设备的连接的数据。因此,在一些实施方式中,经修改的拓扑数据可以等同于经进一步修改的拓扑数据并且与经进一步修改的拓扑数据互换地使用。
如上文所描述的,叶脊拓扑可以包括用于配置叶脊拓扑内的物理连接的所定义的系统(例如每个网络设备在物理上连接至相邻层中的所有网络设备,但网络设备并未连接至相同层中的其他网络设备)。因而,如上文所描述的,当确定在叶脊拓扑内是否存在任何错误布线时,可以忽略叶脊拓扑的外部的任何连接,这是因为与叶脊拓扑的外部的设备的连接可以不遵循用于配置物理连接的相同定义的系统。如下文所描述的,由于叶网络设备可以连接至叶脊拓扑的外部的设备,因此可以从经修改的拓扑数据移除从叶网络设备到叶脊拓扑的外部的任何设备的设备连接,以使得仅计算叶脊拓扑内的路径。这可以节省原本将用于执行针对叶脊拓扑的外部的设备的业务的路径计算的计算资源和/或网络资源。
如图1E中所示出,网络设备可以利用最短路径优先(SPF)模型来计算通过叶脊拓扑的无环路路径。SPF模型可以包括由网络设备用来计算网络设备与叶脊拓扑中的给定目的地之间的最短路径的算法。
SPF模型可以包括戴克斯特拉(Dijkstra)最短路径优先算法。在一些实施方式中,除戴克斯特拉最短路径优先算法以外的算法可以由SPF模型使用。SPF算法可以确定两个网络设备之间的最短路径。SPF算法可以确定从网络设备到叶脊拓扑中的所有其他网络设备的最短路径。SPF算法可以比较从网络设备到相同目的地的两条路径的成本以确定到目的地的最短路径。例如,SPF算法可以基于链路度量来比较与每条路径相关联的成本,以确定到目的地的最短路径。
可以如下文所描述一般修改SPF算法,以基于比较与到目的地的每条路径相关联的成本来检测叶脊拓扑内的错误布线。
如利用附图标号125所示出,网络设备可以利用SPF模型来处理经进一步修改的拓扑数据,以确定路径数据,该路径数据标识到经进一步修改的拓扑数据中所标识的目的地的路径(例如到叶脊拓扑中的所有其他网络设备的路径)。在一些实施方式中,网络设备可以利用SPF模型来处理经进一步修改的拓扑数据,以确定路径数据,该标识到目的地的路径,其中,在这种情况下,目的地少于叶脊拓扑中的所有其他网络设备。路径可以标识业务将穿过以到达目的地的一个或多个网络设备。例如,如果网络设备是网络设备5A且目的地是网络设备2D,那么路径可以标识业务将从网络设备5A行进至网络设备4B至网络设备3C至网络设备2D。在一些实施方式中,基于链路度量,路径数据可以仅指示与每条路径相关联的成本。
路径数据可以包括到达多个目的地的多个可能路径。在一些实施方式中,路径数据可以标识到达在经进一步修改的拓扑数据中所标识的每个目的地的每条可能路径。例如,路径数据可以标识业务可以遵循以从网络设备到达叶脊拓扑内的所有其他网络设备的每条可能路径。
如图1F中所示出,网络设备可以将路径数据和经进一步修改的拓扑数据输入到SPF模型中。如利用附图标号130所示出,SPF模型可以处理路径数据和经进一步修改的拓扑数据以确定特定路径数据。特定路径数据可以标识从网络设备到对应目的地的较短路径和较长路径。网络设备可以标识与在经进一步修改的拓扑数据中所标识的每个目的地相关联的较短路径和较长路径(例如网络设备可以标识到达叶脊拓扑中的每个其他网络设备的较短路径和较长路径)。网络设备可以基于与每条路径相关联的成本(例如较短路径可以具有比较长路径更低的成本),使用SPF模型来标识较短路径和较长路径。
例如,假设网络设备是网络设备5A,且目的地是网络设备2B。网络设备5A可以标识成本为3的第一路径(例如从网络设备5A至网络设备4A至网络设备3A至网络设备2B)。网络设备5A可以标识成本为5的第二路径(例如从网络设备5A至网络设备4A至网络设备3B至网络设备4C至网络设备3D至网络设备2B)。基于与第一路径相关联的成本小于与第二路径相关联的成本,网络设备5A可以基于SPF模型来标识第一路径是较短路径并且第二路径是较长路径。从网络设备5A到网络设备2B的第一路径和第二路径仅仅被提供作为示例。实际上,网络设备5A可以标识从网络设备5A到网络设备2B的每条可能的路径和与每条可能的路径相关联的成本,以标识到达网络设备2B的目的地的多个较短路径和较长路径。
如在图1G中利用附图标号135所示出,网络设备可以使用SPF模型来处理特定路径数据和经进一步修改的拓扑数据,以确定与到对应目的地的较短路径和较长路径相关联的跳数。网络设备可以使用SPF模型来确定与在特定路径数据中标识的每条路径相关联的跳数。网络设备可以基于与路径相关联的成本来确定与路径相关联的跳数。
如上文所描述的,由于已经将经进一步修改的拓扑数据中的链路度量设置为公共值,因此与路径相关联的成本可以对应于与路径相关联的跳数。例如,如果链路度量的公共值是1,那么从一个网络设备到另一网络设备的路径中的每个过渡将与路径相关联的成本增加了1。如上文所描述的,从一个网络设备移动至另一网络设备与1跳相关联。因而,可以基于与路径相关联的成本来确定与路径相关联的跳数(例如,如果与路径相关联的成本是5,那么网络设备可以确定与路径相关联的跳数是5)。
在一些实施方式中,链路度量的公共值可以是除1以外的值。与路径相关联的跳数可以通过将路径的成本除以公共值来确定。例如,链路度量的公共值可以是5并且路径的成本可以是20。网络设备可以确定与路径相关联的跳数是4(例如20除以5)。
如在图1H中且利用附图标号140所示出,网络设备可以使用SPF模型来处理跳数以确定与对应于目的地的较短路径和较长路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合。网络设备可以确定与从网络设备到目的地的每条路径相关联的跳数全部是奇数值、全部是偶数值、或者是偶数值和奇数值的组合。
如上文所描述的,根据所定义的系统来配置叶脊拓扑内的物理连接。因而,如果正确地配置了叶脊拓扑内的物理连接,那么从网络设备到达目的地的跳数应始终为奇数值或应始终为偶数值,而不管为了到达目的地所采用的路径。
如果与从网络设备到达相同目的地的路径相关联的跳数具有奇数值和偶数值的组合,那么错误地配置了叶脊拓扑内的物理连接(例如至少存在一个错误布线)。错误布线可以是不遵循上文所描述的所定义的系统的物理连接。例如,错误布线可以是相同层中的两个网络设备之间的物理连接(例如网络设备5A与网络设备5B之间的物理连接)。作为另一示例,错误布线可以是不在相邻层中的两个网络设备之间的物理连接(例如网络设备5A与网络设备3A之间的物理连接)。
网络设备可以比较到达每个目的地的不同路径的跳数(例如到达叶脊拓扑中的所有(或少于所有)其他网络设备的路径)。例如,网络设备可以使用SPF模型来比较到达特定目的地的每条可能的路径的跳数,以确定跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合。
针对该示例,假设网络设备是网络设备5A,且目的地是网络设备2B。如果在叶脊拓扑中不存在错误布线,那么从网络设备5A到网络设备2B的每条路径应该与奇数值跳数相关联。例如,从网络设备5A至网络设备4A至网络设备3A至网络设备2B的路径的跳数是3。从网络设备5A至网络设备4B至网络设备3C至网络设备2C至网络设备1C至网络设备2B的路径的跳数是5。然而,假设在网络设备2A与网络设备2B之间存在错误布线(例如网络设备2A与网络设备2B之间的物理连接)。从网络设备5A至网络设备4A至网络设备3A至网络设备2A至网络设备2B的路径的跳数是4。与从网络设备5A到网络设备2B的路径相关联的偶数跳数指示错误布线。
如在图1H中利用附图标号145进一步示出,网络设备可以针对全部是奇数值或全部是偶数值的跳数确定不存在与特定路径数据的路径相关联的错误布线。例如,如果特定路径数据标识与3个跳数相关联的较短路径和与5个跳数相关联的较长路径,那么由于两个跳数都是奇数值,因此网络设备可以确定不存在与路径相关联的错误布线。类似地,如果特定路径数据标识与2个跳数相关联的较短路径和与6个跳数相关联的较长路径,那么由于两个跳数都是偶数值,因此网络设备可以确定不存在与路径相关联的错误布线。
如在图1H中利用附图标号150进一步示出,网络设备可以针对作为奇数值和偶数值的组合的跳数确定存在与特定路径数据的路径相关联的至少一个错误布线。例如,如果特定路径数据标识与3个跳数相关联的较短路径和与6个跳数相关联的较长路径,那么由于较短路径跳数是奇数值且较长路径跳数是偶数值,因此网络设备可以确定存在与路径相关联的错误布线。类似地,如果特定路径数据标识与2个跳数相关联的较短路径和与5个跳数相关联的较长路径,那么由于较短路径跳数是偶数值且较长路径跳数是奇数值,因此网络设备可以确定存在与路径相关联的错误布线。
图1I至图1K提供用于确定叶脊拓扑是否具有至少一个错误布线的另一技术的示例。代替结合图1F至图1H所描述的示例技术,可以使用图1I至图1K的示例技术。备选地,可以使用图1I至图1K的示例技术连同结合图1F至图1H所描述的示例技术(例如可以同时执行两种示例技术、一种示例技术可以在另一种示例技术之前执行,一种示例技术的结果可以用作对另一种示例技术的输入等)。
如在图1I中利用附图标号155所示出,网络设备可以使用SPF模型来处理特定路径数据和经进一步修改的拓扑数据,以丢弃到对应目的地的较长路径。网络设备可以生成标识到叶脊拓扑中的对应目的地的较短路径的最短路径拓扑数据。
最短路径拓扑数据可以是标识从网络设备到叶脊拓扑中的每个其他网络设备的最短路径的列表。网络设备可以将较短路径集合存储在最短路径拓扑数据中(例如特定数量的较短路径、具有满足阈值的成本的所有较短路径等)。例如,网络设备可以使用SPF模型来标识从网络设备到目的地的路径。如上文所描述的,网络设备可以将路径与同存储在最短路径拓扑数据中的目的地相关联的最短路径进行比较,以确定路径是否比存储在最短路径拓扑数据中的最短路径短(例如通过比较与每条路径相关联的成本和/或跳数)。如果路径比最短路径短,那么网络设备可以利用该路径替换存储在最短路径拓扑数据中的最短路径(如上文所描述的,在比较跳数以确定两个跳数是都为奇数值、都为偶数值还是为一个奇数值与一个偶数值之后)。可以丢弃存储在最短路径拓扑数据中的先前最短路径。在比较了跳数之后,如果路径比最短路径长,那么网络设备可以丢弃该路径。
在一些实施方式中,网络设备可以不丢弃较长路径。网络设备可以将较长路径存储在数据结构(诸如列表)中。较长路径可以由网络设备访问。网络设备可以将由网络设备标识的到目的地的路径的跳数与由网络设备存储的与目的地相关联的较长路径的跳数进行比较,以确定是否存在与路径相关联的错误布线。
如上文所描述的,SPF算法可以被配置,使得网络设备可以使用SPF算法来确定在叶脊拓扑内是否存在错误布线。下文示出了与SPF算法相关联的伪代码的示例。在伪代码中,度量可以是与路径相关联的跳数。伪代码包括三个变量。TENT是可能最短路径的列表,TOPO是经进一步修改的拓扑数据,且PATH是最短路径拓扑数据:
Figure BDA0002950828110000141
/>
Figure BDA0002950828110000151
如图1J中所示出,网络设备可以利用有向无环图(DAG)模型。DAG模型可以用作SPF模型的备选方案,或DAG模型可以结合SPF模型使用。DAG模型可以用于创建与叶脊拓扑相关联的DAG。可以将经进一步修改的拓扑数据输入到DAG模型以创建与叶脊拓扑相关联的DAG。
DAG可以是包括一个或多个节点和一个或多个有向边的数据结构。节点可以表示对象(诸如网络设备)或数据。有向边可以表示两个节点之间的关系。例如,与叶脊拓扑相关联的DAG可以包括用以表示叶脊拓扑中的每个网络设备的节点和用以表示叶脊拓扑中的每个物理连接的有向边。
如在图1J中利用附图标号160进一步示出,网络设备可以使用DAG模型来处理经进一步修改的拓扑数据,以生成DAG,该DAG标识到经进一步修改的拓扑数据中所标识的目的地的路径。经进一步修改的拓扑数据可以是与上文相对于SPF模型所描述的相同的经进一步修改的拓扑数据。
DAG可以包括由节点表示的叶脊拓扑中的所有其他网络设备。节点可以包括节点标识符,该节点标识符标识节点表示的网络设备。DAG可以由DAG中的一个或多个有向边来标识到目的地的路径,该路径包括DAG中的两个或更多个节点之间的连接。例如,DAG可以标识从网络设备到叶脊拓扑中的所有其他网络设备的路径。
如在图1K中利用附图标号165所示出,网络设备可以处理DAG,以确定与到对应目的地的路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合。网络设备可以将在DAG中标识的信息存储在数据结构(诸如列表、表等)中。数据结构可以包括节点和节点之间的连接。因而,数据结构可以标识所有路径以到达所有其他节点。数据结构可以使用与每个节点相关联的节点标识符来标识每个节点。网络设备可以由节点标识符来对数据结构分类。所得数据结构可以标识已经在与叶脊拓扑相关联的DAG中标识的所有可能的路径(或少于所有可能的路径),这些可能的路径是由节点标识符分类的。
在可以将在经进一步修改的拓扑数据中所标识的链路度量设置为公共值(例如1)时,网络设备可以基于与每条路径相关联的成本来确定与在DAG中标识的每条路径相关联的跳数。可以在数据结构中标识与每条路径相关联的跳数。
如上文所描述的,如果任何节点由偶数跳数和奇数跳数两者是可达的,那么在叶脊拓扑中存在物理连接的错误布线。网络设备可以分析数据结构来比较与到达目的地的路径相关联的跳数。
例如,在可以由节点标识符对数据结构分类时,与到达相同目的地相关联的路径可以在数据结构中接近彼此定位。数据结构可以标识与每条路径相关联的跳数。网络设备可以比较到达相同目的地的不同路径的跳数,以确定与到达相同目的地的路径相关联的跳数全部是偶数值、全部是奇数值或者是偶数值和奇数值的组合。
例如,如果网络设备是网络设备5A,那么与DAG相关联的数据结构可以标识从网络设备5A到叶脊拓扑中的所有其他网络设备的所有路径。可以由节点标识符来对数据结构分类。例如,可以将数据结构分类成使得可以将由DAG标识的从网络设备5A到网络设备2B的所有路径分类在一起。以这种方式,网络设备可以节省原本将用于定位从网络设备到叶脊拓扑中的另一网络设备的所有路径的计算资源和/或网络资源。
如在图1K中利用附图标号170进一步示出,如果网络设备确定与到达对应目的地的路径相关联的跳数是全部是奇数值或全部是偶数值,那么网络设备可以确定不存在与在DAG中标识的路径相关联的错误布线。例如,网络设备可以分析与DAG相关联的数据结构并且比较与从网络设备到目的地的路径相关联的跳数。如果跳数是全部是奇数值或全部是偶数值,那么网络设备可以确定不存在与到目的地的路径相关联的错误布线。
如利用附图标号175所示出,如果网络设备确定与到达对应目的地的路径相关联的跳数是奇数值和偶数值的组合,那么网络设备可以确定存在与在DAG中标识的路径相关联的一个或多个错误布线。例如,网络设备可以分析与DAG相关联的数据结构并且比较与从网络设备到目的地的路径相关联的跳数。如果与到目的地的路径相关联的跳数是奇数值和偶数值的组合,那么网络设备可以确定存在与到目的地的路径相关联的至少一个错误布线。
如在图1L中利用附图标号180所示出,网络设备可以基于确定在叶脊拓扑中存在至少一个错误布线来执行一个或多个动作。在一些实施方式中,一个或多个动作可以包括:向端点设备提供标识错误布线的警报。端点设备可以是与网络的运营者相关联的设备、服务器设备等。例如,网络设备可以警示与网络的运营者相关联的端点设备,以使得网络的运营者可以调查、标识且校正错误布线。这可以节省原本会由于错误布线而用于通过网络以较低效率传输业务的计算资源和/或网络资源。
在一些实施方式中,一个或多个动作可以包括:自动分派技术人员来校正错误布线。例如,网络设备可以标识错误布线,并且调度和/或分派技术人员来校正叶脊拓扑的硬件内的错误布线。以这种方式,网络设备可以自动引起动作的执行,从而节省了原本将用于安排要执行的特定动作以致使人员和/或其他资源执行特定动作、调度要执行的特定动作等的资源。
在一些实施方式中,一个或多个动作可以包括:自动分派机器人或自主车辆来校正错误布线。例如,网络设备可以标识错误布线,并且调度和/或分派机器人或自主车辆来校正叶脊拓扑的硬件内的错误布线。以这种方式,网络设备可以自动引起动作的执行,从而节省了原本将用于安排要执行的特定动作以致使人员和/或其他资源执行特定动作、调度要执行的特定动作等的资源。
在一些实施方式中,一个或多个动作可以包括:在日志文件中提供标识错误布线的数据。日志文件可以由网络设备存储。例如,每当网络设备标识错误布线时,网络设备就可以向日志文件提供数据。以这种方式,日志文件可以由网络设备和/或与网络设备相关联的设备出于鉴证目的用于标识叶脊拓扑内的一个或多个错误布线。
在一些实施方式中,一个或多个动作可以包括:向确定错误布线的物理位置的工具提供标识错误布线的数据。例如,标识错误布线的数据可以通过分析与错误布线相关联的路径(基于经进一步修改的拓扑数据和与错误布线相关联的路径)包括标识网络设备的标识符、标识与错误布线相关联的路径的目的地的标识符、标识与错误布线相关联的网络设备(例如不适当地物理连接的两个网络设备)的标识符,以确定与错误布线相关联的网络设备、网络设备确定存在错误布线的时间和日期等。以这种方式,工具可以分析数据以标识错误布线的物理位置。工具可以使得技术人员、机器人或自主车辆能够快速标识错误布线的物理位置并且校正叶脊拓扑的硬件内的错误布线。以这种方式,网络设备可以节省原本将用于搜索错误布线、分析与叶脊拓扑相关联的硬件以标识错误布线、当存在错误布线时通过叶脊拓扑传输业务(例如经由低效率叶脊拓扑传输业务)等的计算资源和/或网络资源。
在一些实施方式中,一个或多个动作可以包括:基于错误布线来对网络设备的拓扑执行一个或多个测试。例如,对网络设备的拓扑进行的一个或多个测试可以包括用以标识与网络设备相关联的物理连接的测试、用以标识网络设备在物理上连接至哪些其他网络设备的测试、用以确定与关联于网络设备的一个或多个路径相关联的跳数等。以这种方式,基于错误布线对网络设备的拓扑进行的一个或多个测试可以标识错误布线关联于的网络设备。以这种方式,网络设备可以节省原本将用于搜索错误布线、分析与叶脊拓扑相关联的硬件以标识错误布线、当存在错误布线时通过叶脊拓扑传输业务(例如经由低效率叶脊拓扑传输业务)等的计算资源和/或网络资源。
在一些实施方式中,一个或多个动作可以包括:基于错误布线来更新SPF模型和/或DAG模型。例如,可以更新SPF模型和/或DAG模型以从与错误布线相关联的经进一步修改的拓扑数据移除路径。以这种方式,叶脊拓扑的网络设备可以不使用与错误布线相关联的路径来传输业务。以这种方式,网络设备可以节省原本将用于经由与错误布线相关联的路径传输业务的计算资源和/或网络资源。
虽然本文中所描述的功能已经与叶脊拓扑的单个网络设备相关联,但叶脊拓扑内的任何网络设备都可以执行相同(或类似)功能。在一些实施方式中,本文中相对于网络设备所描述的功能可以由在叶脊拓扑外部的设备(例如连接至叶脊拓扑中的网络设备的服务器设备、云计算平台、端点设备等)执行。
以这种方式,网络设备可以检测多个网络设备的叶脊拓扑中的错误布线。这节省了原本将会在经历洪泛性能下降、丢失网络中的业务、尝试恢复丢失的业务等时被浪费的计算资源(例如处理资源、存储器资源、通信资源等)、网络资源等。此外,本文中所描述的实施方式使用严格的计算机化过程来执行先前未执行的任务。例如,当前不存在以本文中所描述的方式检测多个网络设备的叶脊拓扑中的错误布线的技术。
如上文所指示,图1A至图1L仅仅被提供作为示例。其他示例可以与针对图1A至图1L所描述的内容不同。图1A至图1L中所示出的设备的数量和布置被提供作为一个或多个示例。实际上,与图1A至图1L中所示出的设备相比,可以存在附加设备、更少的设备、不同的设备、或以不同方式布置的设备。此外,在图1A至图1L中所示出的两个或更多个设备可以被实施在单个设备内,或图1A至图1L中所示出的单个设备可以被实施为多个分布式设备。附加地或备选地,图1A至图1L的设备集合(例如一个或多个设备)可以执行被描述为由图1A至图1L的另一设备集合执行的一个或多个功能。
图2是本文中所描述的系统和/或方法可以在其中被实施的示例环境200的图。如图2中所示出,环境200可以包括多个端点设备210、一组网络设备220(被示出为网络设备220-1至网络设备220-N)以及网络230。环境200的设备可以经由有线连接、无线连接或有线连接与无线连接的组合来互相连接。
端点设备210包括能够接收、生成、存储、处理和/或提供信息(例如本文中所描述的信息)的一个或多个设备。例如,端点设备210可以包括移动电话(例如智能电话、无线电话等)、膝上型计算机、平板计算机、台式计算机、手持式计算机、游戏设备、可穿戴通信设备(例如智能手表、一副智能眼镜、心率监测器、健身追踪器、智能服装、智能珠宝、头戴式显示器等)、网络设备、或类似类型的设备。在一些实施方式中,端点设备210可以经由网络230(例如通过将网络设备220用作中间件来路由分组)从其他端点设备210接收网络业务和/或可以向其他端点设备210提供网络业务。
网络设备220包括能够以本文中所描述的方式接收、处理、存储、路由、和/或提供业务(例如分组、其他信息或元数据等)的一个或多个设备。例如,网络设备220可以包括路由器,诸如标签交换路由器(LSR)、标签边缘路由器(LER)、入口路由器、出口路由器、提供方路由器(例如提供方边缘路由器、提供方核心路由器等)、虚拟路由器等。附加地或备选地,网络设备220可以包括网关、开关、防火墙、集线器、网桥、反向代理、服务器(例如代理服务器、云服务器、数据中心服务器等)、负载平衡器、和/或类似设备。在一些实施方式中,网络设备220可以是在壳体(诸如机架)内实施的物理设备。在一些实施方式中,网络设备220可以是由云计算环境或数据中心的一个或多个计算机设备实施的虚拟设备。在一些实施方式中,一组网络设备220可以是用于路由通过网络230的业务流的一组数据中心节点。如本文中所描述的,网络设备220可以连接在叶脊拓扑中。
网络230包括一个或多个有线网络和/或无线网络。例如,网络230可以包括分组交换网络、蜂窝网络(例如第五代(5G)网络、第四代(4G)网络(诸如长期演进(LTE)网络)、第三代(3G)网络、码分多址(CDMA)网络、公共陆地移动网络(PLMN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网络(例如公共交换电话网(PSTN))、专用网络、自组织网络、内联网、互联网、基于光纤的网络、云计算网络等和/或这些或其他类型的网络的组合。
图2中所示出的设备和网络的数量和布置被提供作为示例。实际上,与图2中所示出的设备和/或网络相比,可以存在附加设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或以不同方式布置的设备和/或网络。此外,图2中所示出的两个或更多个设备可以被实施在单个设备内,或图2中所示出的单个设备可以被实施为多个分布式设备。附加地或备选地,环境200的设备集合(例如一个或多个设备)可以执行被描述为由环境200的另一设备集合执行的一个或多个功能。
图3是设备300的示例部件的图。设备300可以对应于网络设备220。在一些实施方式中,网络设备220可以包括一个或多个设备300和/或设备300的一个或多个部件。如图3中所示出,设备300可以包括一个或多个输入部件305-1至305-A(A≥1)(在下文中被统称为输入部件305,且单独被称为输入部件305)、切换部件310、一个或多个输出部件315-1至315-B(B≥1)(在下文中被统称为输出部件315,且单独被称为输出部件315)、以及控制器320。
输入部件305可以是物理链路的附接点,并且可以是传入业务(诸如分组)的入口点。输入部件305可以诸如通过执行数据链路层封装或解封装来处理传入业务。在一些实施方式中,输入部件305可以发送和/或接收分组。在一些实施方式中,输入部件305可以包括输入线卡,该输入线卡包括一个或多个分组处理部件(例如呈集成电路的形式),诸如一个或多个接口卡(IFC)、分组转发部件、线卡控制器部件、输入端口、处理器、存储器和/或输入队列。在一些实施方式中,设备300可以包括一个或多个输入部件305。
切换部件310可以将输入部件305与输出部件315互相连接。在一些实施方式中,切换部件310可以经由一个或多个交叉开关(crossbar)、经由总线和/或利用共享存储器实施。共享存储器可以充当临时缓冲器,以在最终调度分组以便将分组递送给输出部件315之前存储来自输入部件305的分组。在一些实施方式中,切换部件310可以使得输入部件305、输出部件315、和/或控制器320能够通信。
输出部件315可以存储分组并且可以调度分组以便在输出物理链路上传输。输出部件315可以支持数据链路层封装或解封装和/或各种较高级协议。在一些实施方式中,输出部件315可以发送分组和/或接收分组。在一些实施方式中,输出部件315可以包括输出线卡,该输出线卡包括一个或多个分组处理部件(例如呈集成电路的形式),诸如一个或多个IFC、分组转发部件、线卡控制器部件、输出端口、处理器、存储器、和/或输出队列。在一些实施方式中,设备300可以包括一个或多个输出部件315。在一些实施方式中,输入部件305和输出部件315可以由相同部件集合实施(例如且输入/输出部件可以是输入部件305与输出部件315的组合)。
控制器320包括呈中央处理器(CPU)、图形处理单元(GPU)、加速处理单元(APU)、微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、和/或另一种类型的处理器或处理部件的形式的处理器。处理器被实施于硬件、固件、和/或软件与硬件的组合中。在一些实施方式中,处理器320可以包括可被编程为执行功能的一个或多个处理器。
在一些实施方式中,控制器320可以包括存储供控制器320使用的信息和/或指令的随机存取存储器(RAM)、只读存储器(ROM)、和/或另一种类型的动态或静态存储设备(例如闪速存储器、磁存储器、光学存储器等)。
在一些实施方式中,控制器320可以与连接至设备300的其他设备、网络和/或系统通信以交换关于网络拓扑的信息。控制器320可以基于网络拓扑信息来创建路由表,可以基于路由表来创建转发表,并且可以将转发表转发给输入部件305和/或输出部件315。输入部件305和/或输出部件315可以使用转发表来对传入和/或传出分组执行路由查找。在一些情况下,控制器320可以基于在初始化链路故障检测会话时确定的信息来创建会话表,并且可以将会话表转发给输入部件305和/或输出部件315。
控制器320可以执行本文中所描述的一个或多个过程。控制器320可以响应于执行由非瞬态计算机可读介质存储的软件指令来执行这些过程。本文中将计算机可读介质定义为非瞬态存储器设备。存储器设备包括单个物理存储设备内的存储器空间或分散在多个物理存储设备上的存储器空间。
可以经由通信接口从另一计算机可读介质或从另一设备将软件指令读取到与控制器320相关联的存储器和/或存储部件中。存储在与控制器320相关联的存储器和/或存储部件中的软件指令可以在被执行时使控制器320执行本文中所描述的一个或多个过程。附加地或备选地,可以代替软件指令和结合软件指令使用硬连线电路系统来执行本文中所描述的一个或多个过程。因此,本文中所描述的实施方式不限于硬件电路系统与软件的任何特定组合。
图3中所示出的部件的数量和布置被提供作为示例。实际上,与图3中所示出的部件相比,设备300可以包括附加的部件、更少的部件、不同的部件或以不同方式布置的部件。附加地或备选地,设备300的部件集合(例如一个或多个部件)可以执行被描述为由设备300的另一部件集合执行的一个或多个功能。
图4是设备400的示例部件的图。设备400可以对应于端点设备210和/或网络设备220。在一些实施方式中,端点设备210和/或网络设备220可以包括一个或多个设备400和/或设备400的一个或多个部件。如图4中所示出,设备400可以包括总线410、处理器420、存储器430、存储部件440、输入部件450、输出部件460、以及通信接口470。
总线410包括允许在设备400的部件之间进行通信的部件。处理器420被实施于硬件、固件或硬件与软件的组合中。处理器420是中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)、微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、和/或另一种类型的处理部件。在一些实施方式中,处理器420包括能够被编程为执行功能的一个或多个处理器。存储器430包括存储供处理器420使用的信息和/或指令的随机存取存储器(RAM)、只读存储器(ROM)、和/或另一种类型的动态或静态存储设备(例如闪速存储器、磁存储器和/或光学存储器等)。
存储部件440存储与设备400的操作和使用相关的信息和/或软件。例如,存储部件440可以包括硬盘(例如磁盘、光盘、磁光盘、和/或固态磁盘)、高密度磁盘(CD)、数字多功能光盘(DVD)、软盘、磁带匣、磁带、和/或另一种类型的非瞬态计算机可读介质连同对应驱动。
输入部件450包括允许设备400诸如经由用户输入端(例如触摸屏显示器、键盘、小键盘、鼠标、按钮、开关、和/或麦克风)接收信息的部件。附加地或备选地,输入部件450可以包括用于感测信息的传感器(例如全球定位系统(GPS)部件、加速度计、陀螺仪、和/或致动器)。输出部件460包括提供来自设备400(例如显示器、扬声器、和/或一个或多个发光二极管(LED))的输出信息的部件。
通信接口470包括使得设备400能够诸如经由有线连接、无线连接、或有线连接与无线连接的组合与其他设备进行通信的收发器类部件(例如收发器和/或单独的接收器和传输器)。通信接口470可以允许设备400从另一设备接收信息和/或向另一设备提供信息。例如,通信接口470可以包括以太网接口、光学接口、同轴接口、红外接口、射频(RF)接口、通用串行总线(USB)接口、Wi-Fi接口、蜂窝网络接口等。
设备400可以执行本文中所描述的一个或多个过程。设备400可以基于处理器420来执行这些过程,该处理器执行由非瞬态计算机可读介质(诸如存储器430和/或存储部件440)存储的软件指令。
可以经由通信接口470从另一计算机可读介质或从另一设备将软件指令读取到存储器430和/或存储部件440中。存储在存储器430和/或存储部件440中的软件指令可以在被执行时使处理器420执行本文中所描述的一个或多个过程。附加地或备选地,可以代替软件指令和结合软件指令使用硬连线电路系统来执行本文中所描述的一个或多个过程。因此,本文中所描述的实施方式不限于硬件电路系统与软件的任何特定组合。
图4中所示出的部件的数量和布置被提供作为示例。实际上,与图4中所示出的部件相比,设备400可以包括附加的部件、更少的部件、不同的部件或以不同方式布置的部件。附加地或备选地,设备400的部件集合(例如一个或多个部件)可以执行被描述为由设备400的另一部件集合执行的一个或多个功能。
图5是用于检测多个网络设备的叶脊拓扑中的错误布线的示例过程500的流程图。在一些实施方式中,图5的一个或多个过程框可以由设备(例如网络设备220)执行。在一些实施方式中,图5的一个或多个过程框可以由与设备分开的或包括该设备的另一设备或一组设备(诸如端点设备(例如端点设备210))执行。
如图5中所示出,过程500可以包括:接收标识多个网络设备的叶脊拓扑的拓扑数据,其中网络设备被包括在多个网络设备的叶脊拓扑中(框510)。例如,如上文所描述的,设备(例如使用输入部件305、切换部件310、控制器320、处理器420、通信接口470等)可以接收标识多个网络设备的叶脊拓扑的拓扑数据。在一些实施方式中,网络设备被包括在多个网络设备的叶脊拓扑中。
如在图5中进一步示出,过程500可以包括:将与拓扑数据相关联的链路度量设置为公共值并且以生成经修改的拓扑数据(框520)。例如,如上文所描述的,设备(例如使用切换部件310、控制器320、处理器420、存储器430等)可以将与拓扑数据相关联的链路度量设置为公共值并且生成经修改的拓扑数据。
如在图5中进一步示出,过程500可以包括:从经修改的拓扑数据移除标识从叶网络设备到叶脊拓扑外部的任何设备的连接的数据,以生成经进一步修改的拓扑数据(框530)。例如,如上文所描述的,设备(例如切换部件310、控制器320、处理器420、存储部件440等)可以从经修改的拓扑数据移除标识从叶网络设备到叶脊拓扑外部的任何设备的连接的数据,以生成经进一步修改的拓扑数据。
如在图5中进一步示出,过程500可以包括:利用最短路径优先模型来处理经进一步修改的拓扑数据,以确定路径数据,该路径数据标识到经进一步修改的拓扑数据中所标识的目的地的路径(框540)。例如,如上文所描述的,设备(例如使用切换部件310、控制器320、处理器420、存储器430等)可以利用最短路径优先模型来处理经进一步修改的拓扑数据,以确定路径数据,该路径数据标识到经进一步修改的拓扑数据中所标识的目的地的路径。
如在图5中进一步示出,过程500可以包括:利用最短路径优先模型来处理路径数据和经进一步修改的拓扑数据,以确定标识到对应目的地的较短路径和较长路径的特定路径数据(框550)。例如,如上文所描述的,设备(例如使用切换部件310、控制器320、处理器420、存储部件440等)可以利用最短路径优先模型来处理路径数据和经进一步修改的拓扑数据,以确定标识到对应目的地的较短路径和较长路径的特定路径数据。
如在图5中进一步示出,过程500可以包括:利用最短路径优先模型来处理特定路径数据和经进一步修改的拓扑数据,以确定与到对应目的地的较短路径和较长路径相关联的跳数(框560)。例如,如上文所描述的,设备(例如使用切换部件310、控制器320、处理器420、存储器430等)可以利用最短路径优先模型来处理特定路径数据和经进一步修改的拓扑数据,以确定与到对应目的地的较短路径和较长路径相关联的跳数。
如在图5中进一步示出,过程500可以包括:利用最短路径优先模型来处理跳数,以确定与到对应目的地的较短路径和较长路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合(框570)。例如,如上文所描述的,设备(例如使用切换部件310、控制器320、处理器420、存储部件440等)可以利用最短路径优先模型来处理跳数,以确定与到对应目的地的较短路径和较长路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合。
如在图5中进一步示出,过程500可以包括:基于确定与到对应目的地的较短路径和较长路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合来执行一个或多个动作。例如,如上文所描述的,设备(例如使用切换部件310、输出部件315、控制器320、处理器420、存储器430、存储部件440、通信接口470等)可以基于确定与到对应目的地的较短路径和较长路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合来执行一个或多个动作。
过程500可以包括附加实施方式,诸如下文和/或结合本文中的其他地方所描述的一个或多个其他过程所描述的任何单种实施方式或实施方式的任何组合。
在第一实施方式中,执行一个或多个动作包括:当与到对应目的地的较短路径和较长路径相关联的跳数被确定全部是奇数值或全部是偶数值时,确定在多个网络设备的叶脊拓扑中不存在错误布线。
在第二实施方式中,单独地或结合第一实施方式,执行一个或多个动作包括:当与到对应目的地的较短路径和较长路径相关联的跳数被确定是奇数值和偶数值的组合时,确定在多个网络设备的叶脊拓扑中存在至少一个错误布线。
在第三实施方式中,单独地或结合第一实施方式和第二实施方式中的一个或多个实施方式,执行一个或多个动作包括:当错误布线基于确定与到对应目的地的较短路径和较长路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,向端点设备提供标识多个网络设备的叶脊拓扑中的错误布线的警报;当错误布线基于确定与到对应目的地的较短路径和较长路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,自动分派技术人员来校正多个网络设备的叶脊拓扑中的错误布线;或者当错误布线基于确定与到对应目的地的较短路径和较长路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,自动分派机器人或自主车辆来校正多个网络设备的叶脊拓扑中的错误布线。
在第四实施方式中,单独地或结合第一实施方式至第三实施方式中的一个或多个实施方式,执行一个或多个动作包括:当错误布线基于确定与到对应目的地的较短路径和较长路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,在日志文件中提供标识多个网络设备的叶脊拓扑中的错误布线的数据;当错误布线基于确定与到对应目的地的较短路径和较长路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,向确定错误布线的物理位置的工具提供标识多个网络设备的叶脊拓扑中的错误布线的数据;或者当错误布线基于确定与到对应目的地的较短路径和较长路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,基于多个网络设备的叶脊拓扑中的错误布线来对叶脊拓扑执行一个或多个测试。
在第五实施方式中,单独地或结合第一实施方式至第四实施方式中的一个或多个实施方式,过程500包括:利用最短路径优先模型来处理特定路径数据和经进一步修改的拓扑数据,以丢弃到对应目的地的较长路径并且生成最短路径拓扑数据,该最短路径拓扑数据标识叶脊拓扑中到对应目的地的较短路径。
在第六实施方式中,单独地或结合第一实施方式至第五实施方式中的一个或多个实施方式,叶脊拓扑的多个网络设备的级被连接至多个网络设备的下一级,并且级的网络设备不互相连接。
尽管图5示出了过程500的示例框,但在一些实施方式中,与图5中所描绘的框相比,过程500可以包括附加的框、更少的框、不同的框或以不同方式布置的框。附加地或备选地,可以并行执行过程500的框中的两个或更多个框。
图6是用于检测多个网络设备的叶脊拓扑中的错误布线的示例过程600的流程图。在一些实施方式中,图6的一个或多个过程框可以由设备(例如网络设备220)执行。在一些实施方式中,图6的一个或多个过程框可以由与设备分开的或包括该设备的另一设备或一组设备(诸如端点设备(例如端点设备210))执行。
如图6中所示出,过程600可以包括:接收标识多个网络设备的叶脊拓扑的拓扑数据(框610)。例如,如上文所描述的,设备(例如使用输入部件305、切换部件310、控制器320、处理器420、通信接口470等)可以接收标识多个网络设备的叶脊拓扑的拓扑数据。
如在图6中进一步示出,过程600可以包括:将与拓扑数据相关联的链路度量设置为公共值并且以生成经修改的拓扑数据(框620)。例如,如上文所描述的,设备(例如使用切换部件310、控制器320、处理器420、存储器430等)可以将与拓扑数据相关联的链路度量设置为公共值并且生成经修改的拓扑数据。
如在图6中进一步示出,过程600可以包括:利用有向无环图模型来处理经修改的拓扑数据,以生成有向无环图,该有向无环图标识到经进一步修改的拓扑数据中所标识的目的地的路径(框630)。例如,如上文所描述的,设备(例如使用切换部件310、控制器320、处理器420、存储器430等)可以利用有向无环图模型来处理经修改的拓扑数据,以生成有向无环图,该有向无环图标识到经进一步修改的拓扑数据中所标识的目的地的路径。
如在图6中进一步示出,过程600可以包括:处理有向无环图,以确定与到对应目的地的路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合(框640)。例如,如上文所描述的,设备(例如使用切换部件310、控制器320、处理器420、存储部件440等)可以处理有向无环图,以确定与到对应目的地的路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合。
如在图6中进一步示出,过程600可以包括:基于确定与到对应目的地的路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合来执行一个或多个动作(框650)。例如,如上文所描述的,设备(例如使用切换部件310、输出部件315、控制器320、处理器420、存储器430、存储部件440、通信接口470等)可以基于确定与到对应目的地的路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合来执行一个或多个动作。
过程600可以包括附加实施方式,诸如下文和/或结合本文中的其他地方所描述的一个或多个其他过程所描述的任何单种实施方式或实施方式的任何组合。
在第一实施方式中,过程600包括:当与到对应目的地的路径相关联的跳数被确定全部是奇数值或全部是偶数值时,确定在多个网络设备的叶脊拓扑中不存在错误布线。
在第二实施方式中,单独地或结合第一实施方式,过程600包括:当与到对应目的地的路径相关联的跳数被确定是奇数值和偶数值的组合时,确定在多个网络设备的叶脊拓扑中存在一个或多个错误布线。
在第三实施方式中,单独地或结合第一实施方式和第二实施方式中的一个或多个实施方式,执行一个或多个动作包括:当一个或多个错误布线基于确定与到对应目的地的路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,向端点设备提供标识多个网络设备的叶脊拓扑中的一个或多个错误布线的警报;当一个或多个错误布线基于确定与到对应目的地的路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,自动分派技术人员来校正多个网络设备的叶脊拓扑中的一个或多个错误布线;或者当一个或多个错误布线基于确定与到对应目的地的路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,自动分派机器人或自主车辆来校正多个网络设备的叶脊拓扑中的一个或多个错误布线。
在第四实施方式中,单独地或结合第一实施方式至第三实施方式中的一个或多个实施方式,执行一个或多个动作包括:当一个或多个错误布线基于确定与到对应目的地的路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,向日志文件提供标识多个网络设备的叶脊拓扑中的一个或多个错误布线的数据;当一个或多个错误布线基于确定与到对应目的地的路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,向确定一个或多个错误布线的物理位置的工具提供标识多个网络设备的叶脊拓扑中的一个或多个错误布线的数据;或者当一个或多个错误布线基于确定与到对应目的地的路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,基于多个网络设备的叶脊拓扑中的一个或多个错误布线来对叶脊拓扑执行一个或多个测试。
在第五实施方式中,单独地或结合第一实施方式至第四实施方式中的一个或多个实施方式,过程600包括:当没有错误布线基于确定与到对应目的地的路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,向端点设备提供指示多个网络设备的叶脊拓扑中没有错误布线的通知。
在第六实施方式中,单独地或结合第一实施方式至第五实施方式中的一个或多个实施方式,叶脊拓扑的多个网络设备的级连接至多个网络设备的下一级,并且级的网络设备不互相连接。
尽管图6示出了过程600的示例框,但在一些实施方式中,与图6中所描绘的框相比,过程600可以包括附加的框、更少的框、不同的框或以不同方式布置的框。附加地或备选地,可以并行执行过程600的框中的两个或更多个框。
图7是用于检测多个网络设备的叶脊拓扑中的错误布线的示例过程700的流程图。在一些实施方式中,图7的一个或多个过程框可以由设备(例如网络设备220)执行。在一些实施方式中,图7的一个或多个过程框可以由与设备分开的或包括该设备的另一设备或一组设备(诸如端点设备(例如端点设备210))执行。
如图7中所示出,过程700可以包括接收标识多个网络设备的叶脊拓扑的拓扑数据,其中网络设备被包括在多个网络设备的叶脊拓扑中(框710)。例如,如上文所描述的,设备(例如使用输入部件305、切换部件310、控制器320、处理器420、通信接口470等)可以接收标识多个网络设备的叶脊拓扑的拓扑数据。在一些实施方式中,网络设备被包括在多个网络设备的叶脊拓扑中。
如在图7中进一步示出,过程700可以包括:将与拓扑数据相关联的链路度量设置为公共值并且以生成经修改的拓扑数据(框720)。例如,如上文所描述的,设备(例如使用切换部件310、控制器320、处理器420、存储器430等)可以将与拓扑数据相关联的链路度量设置为公共值并且生成经修改的拓扑数据。
如在图7中进一步示出,过程700可以包括:利用最短路径优先模型来处理经修改的拓扑数据,以确定路径数据,该路径数据标识到经修改的拓扑数据中所标识的目的地的路径(框730)。例如,如上文所描述的,设备(例如使用切换部件310、控制器320、处理器420、存储器430等)可以利用最短路径优先模型来处理经修改的拓扑数据,以确定路径数据,该路径数据标识到经修改的拓扑数据中所标识的目的地的路径。
如在图7中进一步示出,过程700可以包括:利用最短路径优先模型来处理路径数据和经修改的拓扑数据,以确定标识到对应目的地的至少一个较短路径和至少一个较长路径的特定路径数据(框740)。例如,如上文所描述的,设备(例如使用切换部件310、控制器320、处理器420、存储部件440等)可以利用最短路径优先模型来处理路径数据和经修改的拓扑数据,以确定标识到对应目的地的至少一个较短路径和至少一个较长路径的特定路径数据。
如在图7中进一步示出,过程700可以包括:利用最短路径优先模型来处理路径数据和经修改的拓扑数据,以确定与到对应目的地的至少一个较短路径和至少一个较长路径相关联的跳数(框750)。例如,如上文所描述的,设备(例如使用切换部件310、控制器320、处理器420、存储器430等)可以利用最短路径优先模型来处理特定路径数据和经修改的拓扑数据,以确定与到对应目的地的至少一个较短路径和至少一个较长路径相关联的跳数。
如在图7中进一步示出,过程700可以包括:利用最短路径优先模型来处理,以确定与到对应目的地的至少一个较短路径和至少一个较长路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合(框760)。例如,如上文所描述的,设备(例如使用切换部件310、控制器320、处理器420、存储部件440等)可以利用最短路径优先模型进行处理,以确定与到对应目的地的至少一个较短路径和至少一个较长路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合。
如在图7中进一步示出,过程700可以包括:基于确定与到对应目的地的至少一个较短路径和至少一个较长路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合,确定在多个网络设备的叶脊拓扑中是否存在一个或多个错误布线(框770)。例如,如上文所描述的,设备(例如使用切换部件310、控制器320、处理器420、存储器430等)可以基于确定与到对应目的地的至少一个较短路径和至少一个较长路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合来确定在多个网络设备的叶脊拓扑中是否存在一个或多个错误布线。
如在图7中进一步示出,过程700可以包括:基于确定在多个网络设备的叶脊拓扑中存在一个或多个错误布线来执行一个或多个动作(框780)。例如,如上文所描述的,设备(例如使用切换部件310、输出部件315、控制器320、处理器420、存储器430、存储部件440、通信接口470等)可以基于确定在多个网络设备的叶脊拓扑中存在一个或多个错误布线来执行一个或多个动作。
过程700可以包括附加实施方式,诸如下文和/或结合本文中的其他地方所描述的一个或多个其他过程所描述的任何单种实施方式或实施方式的任何组合。
在第一实施方式中,过程700包括:当与到对应目的地的至少一个较短路径和至少一个较长路径相关联的跳数被确定全部是奇数值或全部是偶数值时,确定在多个网络设备的叶脊拓扑中不存在错误布线。
在第二实施方式中,单独地或结合第一实施方式,过程700包括:当与到对应目的地的至少一个较短路径和至少一个较长路径相关联的跳数被确定是奇数值和偶数值的组合时,确定在多个网络设备的叶脊拓扑中存在一个或多个错误布线。
在第三实施方式中,单独地或结合第一实施方式和第二实施方式中的一个或多个实施方式,执行一个或多个动作包括:当一个或多个错误布线基于确定与到对应目的地的至少一个较短路径和至少一个较长路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,向端点设备提供标识多个网络设备的叶脊拓扑中的一个或多个错误布线的警报;当一个或多个错误布线基于确定与到对应目的地的至少一个较短路径和至少一个较长路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,自动分派技术人员来校正多个网络设备的叶脊拓扑中的一个或多个错误布线;或者当一个或多个错误布线基于确定与到对应目的地的至少一个较短路径和至少一个较长路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,自动分派机器人或自主车辆来校正多个网络设备的叶脊拓扑中的一个或多个错误布线。
在第四实施方式中,单独地或结合第一实施方式至第三实施方式中的一个或多个实施方式,执行一个或多个动作包括:当一个或多个错误布线基于确定与到对应目的地的至少一个较短路径和至少一个较长路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,向日志文件提供标识多个网络设备的叶脊拓扑中的一个或多个错误布线的数据;当一个或多个错误布线基于确定与到对应目的地的至少一个较短路径和至少一个较长路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,向确定一个或多个错误布线的物理位置的工具提供标识多个网络设备的叶脊拓扑中的一个或多个错误布线的数据;或者当一个或多个错误布线基于确定与到对应目的地的至少一个较短路径和至少一个较长路径相关联的跳数全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,基于多个网络设备的叶脊拓扑中的一个或多个错误布线来对叶脊拓扑执行一个或多个测试。
在第五实施方式中,单独地或结合第一实施方式至第四实施方式中的一个或多个实施方式,过程700包括:利用最短路径优先模型来处理特定路径数据和经修改的拓扑数据,以丢弃到对应目的地的至少一个较长路径并生成最短路径拓扑数据,该最短路径拓扑数据标识叶脊拓扑中到对应目的地的至少一个较短路径。
尽管图7示出了过程700的示例框,但在一些实施方式中,与图7中所描绘的框相比,过程700可以包括附加的框、更少的框、不同的框或以不同方式布置的框。附加地或备选地,可以并行执行过程700的框中的两个或更多个框。
前述公开提供了说明和描述,但并不旨在作为详尽的或将实施方式限制为所公开的精确形式。可以鉴于以上公开进行修改和变型,或可以根据实施方式的实践来获得修改和变型。
如本文所使用的,术语“部件”旨在被广义地解释为硬件、固件、或硬件与软件的组合。
显而易见的是,本文中所描述的系统和/或方法可以以硬件、固件、或硬件与软件的组合的不同形式实施。用于实施这些系统和/或方法的实际专用控制硬件或软件代码并不限制实施方式。因此,本文中在不参考特定软件代码的情况下描述了系统和/或方法的操作和行为——应理解,软件和硬件可以被设计为基于本文中的描述来实施系统和/或方法。
即使在权利要求书中记载了特征的特定组合和/或在说明书中公开了特征的特定组合,这些组合也不旨在限制各种实施方式的公开。实际上,这些特征中的许多特征可以以在权利要求书中未具体叙述和/或说明书中未公开的方式进行组合。尽管下文所列出的每项从属权利要求可以仅直接取决于一项权利要求,但各种实施方式的公开包括结合权利要求集合中的每项其他权利要求的每项从属权利要求。
因而,除非明确描述,否则本文中所使用的任何元件、动作或指令都不应被解释为关键的或必要的。此外,如本文中所使用的,冠词“一”和“一个”旨在包括一个或多个项目,并且可以与“一个或多个”互换地使用。进一步地,如本文中所使用的,冠词“该”旨在包括结合冠词“该”引用的一个或多个项目,并且可以与“一个或多个”互换地使用。此外,如本文中所使用的,术语“集合”旨在包括一个或多个项目(例如相关项目、不相关项目、相关项目与不相关项目的组合等),并且可以与“一个或多个”互换地使用。在仅预期一个项目的情况下,使用了短语“仅一者”或类似语言。此外,如本文中所使用的,术语具有(has/have/having)等旨在作为开放式术语。进一步地,除非另有明确说明,否则短语“基于”旨在表示“至少部分地基于”。此外,如本文中所使用的,除非另有明确说明(例如在结合“中的任一者”或“中的仅一者”使用的情况下),否则术语“或”在串行使用时旨在作为包括性的,并且可以与“和/或”互换地使用。
示例1.一种方法,包括:由网络设备接收标识多个网络设备的叶脊拓扑的拓扑数据,其中网络设备被包括在多个网络设备的叶脊拓扑中;由网络设备将与拓扑数据相关联的链路度量设置为公共值并且以生成经修改的拓扑数据;由网络设备从经修改的拓扑数据移除标识从叶网络设备到叶脊拓扑外部的任何设备的连接的数据,以生成经进一步修改的拓扑数据;由网络设备利用最短路径优先模型来处理经进一步修改的拓扑数据,以确定路径数据,路径数据标识到经进一步修改的拓扑数据中所标识的目的地的路径;由网络设备利用最短路径优先模型来处理路径数据和经进一步修改的拓扑数据,以确定标识到对应目的地的较短路径和较长路径的特定路径数据;由网络设备利用最短路径优先模型来处理特定路径数据和经进一步修改的拓扑数据,以确定与到对应目的地的较短路径和较长路径相关联的跳数;由网络设备利用最短路径优先模型来处理跳数,以确定与到对应目的地的较短路径和较长路径相关联的跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合;以及由设备基于确定与到对应目的地的较短路径和较长路径相关联的跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合来执行一个或多个动作。
示例2.根据示例1的方法,其中执行一个或多个动作包括:当与到对应目的地的较短路径和较长路径相关联的跳数被确定全部是奇数值或全部是偶数值时,确定在多个网络设备的叶脊拓扑中不存在错误布线。
示例3.根据示例1的方法,其中执行一个或多个动作包括:当与到对应目的地的较短路径和较长路径相关联的跳数被确定是奇数值和偶数值的组合时,确定在多个网络设备的叶脊拓扑中存在至少一个错误布线。
示例4.根据示例1的方法,其中执行一个或多个动作包括以下中的一项或多项:当错误布线基于确定与到对应目的地的较短路径和较长路径相关联的跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,向端点设备提供标识多个网络设备的叶脊拓扑中的错误布线的警报;当错误布线基于确定与到对应目的地的较短路径和较长路径相关联的跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,自动分派技术人员来校正多个网络设备的叶脊拓扑中的错误布线;或者当错误布线基于确定与到对应目的地的较短路径和较长路径相关联的跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,自动分派机器人或自主车辆来校正多个网络设备的叶脊拓扑中的错误布线。
示例5.根据示例1的方法,其中执行一个或多个动作包括以下中的一项或多项:当错误布线基于确定与到对应目的地的较短路径和较长路径相关联的跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,在日志文件中提供标识多个网络设备的叶脊拓扑中的错误布线的数据;当错误布线基于确定与到对应目的地的较短路径和较长路径相关联的跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,向确定错误布线的物理位置的工具提供标识多个网络设备的叶脊拓扑中的错误布线的数据;或者当错误布线基于确定与到对应目的地的较短路径和较长路径相关联的跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,基于多个网络设备的叶脊拓扑中的错误布线来对叶脊拓扑执行一个或多个测试。
示例6.根据示例1的方法,还包括:利用最短路径优先模型来处理特定路径数据和经进一步修改的拓扑数据,以丢弃到对应目的地的较长路径并且生成最短路径拓扑数据,最短路径拓扑数据标识叶脊拓扑中到对应目的地的较短路径。
示例7.根据示例1的方法,其中叶脊拓扑的多个网络设备的级被连接至多个网络设备的下一级,并且级的网络设备不互相连接。
示例8.一种设备,包括:一个或多个存储器;以及一个或多个处理器,用以:接收标识多个网络设备的叶脊拓扑的拓扑数据;将与拓扑数据相关联的链路度量设置为公共值并且以生成经修改的拓扑数据;利用有向无环图模型来处理经修改的拓扑数据,以生成有向无环图,有向无环图标识到经修改的拓扑数据中所标识的目的地的路径;处理有向无环图,以确定与到对应目的地的路径相关联的跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合;以及基于确定与到对应目的地的路径相关联的跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合来执行一个或多个动作。
示例9.根据示例8的设备,其中一个或多个处理器在执行一个或多个动作时将:当与到对应目的地的路径相关联的跳数被确定全部是奇数值或全部是偶数值时,确定在多个网络设备的叶脊拓扑中不存在错误布线。
示例10.根据示例8的设备,其中一个或多个处理器在执行一个或多个动作时被配置为:当与到对应目的地的路径相关联的跳数被确定是奇数值和偶数值的组合时,确定在多个网络设备的叶脊拓扑中存在一个或多个错误布线。
示例11.根据示例8的设备,其中一个或多个处理器在执行一个或多个动作时被配置为以下中的一项或多项:当一个或多个错误布线基于确定与到对应目的地的路径相关联的跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,向端点设备提供标识多个网络设备的叶脊拓扑中的一个或多个错误布线的警报;当一个或多个错误布线基于确定与到对应目的地的路径相关联的跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,自动分派技术人员来校正多个网络设备的叶脊拓扑中的错误布线;或者当一个或多个错误布线基于确定与到对应目的地的路径相关联的跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,自动分派机器人或自主车辆来校正多个网络设备的叶脊拓扑中的一个或多个错误布线。
示例12.根据示例8的设备,其中一个或多个处理器在执行一个或多个动作时被配置为以下中的一项或多项:当一个或多个错误布线基于确定与到对应目的地的路径相关联的跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,向日志文件提供标识多个网络设备的叶脊拓扑中的一个或多个错误布线的数据;当一个或多个错误布线基于确定与到对应目的地的路径相关联的跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,向确定一个或多个错误布线的物理位置的工具提供标识多个网络设备的叶脊拓扑中的一个或多个错误布线的数据;或者当一个或多个错误布线基于确定与到对应目的地的路径相关联的跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,基于多个网络设备的叶脊拓扑中的一个或多个错误布线来对叶脊拓扑执行一个或多个测试。
示例13.根据示例8的设备,其中一个或多个处理器在执行一个或多个动作时被配置为:当没有错误布线基于确定与到对应目的地的路径相关联的跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,向端点设备提供指示多个网络设备的叶脊拓扑中没有错误布线的通知。
示例14.根据示例8的设备,其中叶脊拓扑的多个网络设备的级被连接至多个网络设备的下一级,并且级的多个网络设备不互相连接。
示例15.一种存储指令的非瞬态计算机可读介质,指令包括:一个或多个指令,在由网络设备的一个或多个处理器执行时使一个或多个处理器:接收标识多个网络设备的叶脊拓扑的拓扑数据,其中网络设备被包括在多个网络设备的叶脊拓扑中;将与拓扑数据相关联的链路度量设置为公共值并且以生成经修改的拓扑数据;利用最短路径优先模型来处理经修改的拓扑数据,以确定路径数据,路径数据标识到经修改的拓扑数据中所标识的目的地的路径;利用最短路径优先模型来处理路径数据和经修改的拓扑数据,以确定标识到对应目的地的至少一个较短路径和至少一个较长路径的特定路径数据;利用最短路径优先模型来处理特定路径数据和经修改的拓扑数据,以确定与到对应目的地的至少一个较短路径和至少一个较长路径相关联的跳数;利用最短路径优先模型来处理,以确定与到对应目的地的至少一个较短路径和至少一个较长路径相关联的跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合;基于确定与到对应目的地的至少一个较短路径和至少一个较长路径相关联的跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合,确定在多个网络设备的叶脊拓扑中是否存在一个或多个错误布线;基于确定在多个网络设备的叶脊拓扑中是否存在一个或多个错误布线来执行一个或多个动作。
示例16.根据示例15的非瞬态计算机可读介质,其中使一个或多个处理器确定在多个网络设备的叶脊拓扑中是否存在一个或多个错误布线的一个或多个指令使一个或多个处理器:当与到对应目的地的至少一个较短路径和至少一个较长路径相关联的跳数被确定全部是奇数值或全部是偶数值时,确定在多个网络设备的叶脊拓扑中不存在错误布线。
示例17.根据示例15的非瞬态计算机可读介质,其中使一个或多个处理器确定在多个网络设备的叶脊拓扑中是否存在一个或多个错误布线的一个或多个指令使一个或多个处理器:当与到对应目的地的至少一个较短路径和至少一个较长路径相关联的跳数被确定是奇数值和偶数值的组合时,确定在多个网络设备的叶脊拓扑中存在至少一个错误布线。
示例18.根据示例15的非瞬态计算机可读介质,其中使一个或多个处理器执行一个或多个动作的一个或多个指令使一个或多个处理器进行以下中的一项或多项:当一个或多个错误布线基于确定与到对应目的地的至少一个较短路径和至少一个较长路径相关联的跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,向端点设备提供标识多个网络设备的叶脊拓扑中的一个或多个错误布线的警报;当一个或多个错误布线基于确定与到对应目的地的至少一个较短路径和至少一个较长路径相关联的跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,自动分派技术人员来校正多个网络设备的叶脊拓扑中的一个或多个错误布线;或者当一个或多个错误布线基于确定与到对应目的地的至少一个较短路径和至少一个较长路径相关联的跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,自动分派机器人或自主车辆来校正多个网络设备的叶脊拓扑中的一个或多个错误布线。
示例19.根据示例15的非瞬态计算机可读介质,其中使一个或多个处理器执行一个或多个动作的一个或多个指令使一个或多个处理器进行以下中的一项或多项:当一个或多个错误布线基于确定与到对应目的地的至少一个较短路径和至少一个较长路径相关联的跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,向日志文件提供标识多个网络设备的叶脊拓扑中的一个或多个错误布线的数据;当一个或多个错误布线基于确定与到对应目的地的至少一个较短路径和至少一个较长路径相关联的跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,向确定一个或多个错误布线的物理位置的工具提供标识多个网络设备的叶脊拓扑中的一个或多个错误布线的数据;或者当一个或多个错误布线基于确定与到对应目的地的至少一个较短路径和至少一个较长路径相关联的跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,基于多个网络设备的叶脊拓扑中的一个或多个错误布线来对叶脊拓扑执行一个或多个测试。
示例20.根据示例15的非瞬态计算机可读介质,其中一个或多个指令在由一个或多个处理器执行时还使一个或多个处理器:利用最短路径优先模型来处理特定路径数据和经修改的拓扑数据,以丢弃到对应目的地的至少一个较长路径并且生成最短路径拓扑数据,最短路径拓扑数据标识叶脊拓扑中到对应目的地的至少一个较短路径。

Claims (20)

1.一种方法,包括:
由网络设备接收标识多个网络设备的叶脊拓扑的拓扑数据,
其中所述网络设备被包括在多个网络设备的所述叶脊拓扑中;
由所述网络设备将与所述拓扑数据相关联的链路度量设置为公共值并且以生成经修改的拓扑数据;
由所述网络设备从所述经修改的拓扑数据移除标识从叶网络设备到所述叶脊拓扑外部的任何设备的连接的数据,以生成经进一步修改的拓扑数据;
由所述网络设备利用最短路径优先模型来处理所述经进一步修改的拓扑数据,以确定路径数据,所述路径数据标识到所述经进一步修改的拓扑数据中所标识的目的地的路径;
由所述网络设备利用所述最短路径优先模型来处理所述路径数据和所述经进一步修改的拓扑数据,以确定标识到对应目的地的较短路径和较长路径的特定路径数据;
由所述网络设备利用所述最短路径优先模型来处理所述特定路径数据和所述经进一步修改的拓扑数据,以确定与到对应目的地的所述较短路径和所述较长路径相关联的跳数;
由所述网络设备利用所述最短路径优先模型来处理所述跳数,以确定与到对应目的地的所述较短路径和所述较长路径相关联的所述跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合,
其中利用所述最短路径优先模型来处理所述跳数包括:比较到达所述对应目的地中的特定目的地的不同的可能路径的所述跳数,以确定来自所述不同的可能路径的所述跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合;以及
由所述设备基于确定与到对应目的地的所述较短路径和所述较长路径相关联的所述跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合来执行一个或多个动作。
2.根据权利要求1所述的方法,其中执行所述一个或多个动作包括:
当与到对应目的地的所述较短路径和所述较长路径相关联的所述跳数被确定全部是奇数值或全部是偶数值时,确定在多个网络设备的所述叶脊拓扑中不存在错误布线。
3.根据权利要求1所述的方法,其中执行所述一个或多个动作包括:
当与到对应目的地的所述较短路径和所述较长路径相关联的所述跳数被确定是奇数值和偶数值的组合时,确定在多个网络设备的所述叶脊拓扑中存在至少一个错误布线。
4.根据权利要求1所述的方法,其中执行所述一个或多个动作包括以下中的一项或多项:
当错误布线基于确定与到对应目的地的所述较短路径和所述较长路径相关联的所述跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,向端点设备提供标识多个网络设备的所述叶脊拓扑中的所述错误布线的警报;
当错误布线基于确定与到对应目的地的所述较短路径和所述较长路径相关联的所述跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,自动分派技术人员来校正多个网络设备的所述叶脊拓扑中的所述错误布线;或者
当错误布线基于确定与到对应目的地的所述较短路径和所述较长路径相关联的所述跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,自动分派机器人或自主车辆来校正多个网络设备的所述叶脊拓扑中的所述错误布线。
5.根据权利要求1所述的方法,其中执行所述一个或多个动作包括以下中的一项或多项:
当错误布线基于确定与到对应目的地的所述较短路径和所述较长路径相关联的所述跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,在日志文件中提供标识多个网络设备的所述叶脊拓扑中的所述错误布线的数据;
当错误布线基于确定与到对应目的地的所述较短路径和所述较长路径相关联的所述跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,向确定所述错误布线的物理位置的工具提供标识多个网络设备的所述叶脊拓扑中的所述错误布线的数据;或者
当错误布线基于确定与到对应目的地的所述较短路径和所述较长路径相关联的所述跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,基于多个网络设备的所述叶脊拓扑中的所述错误布线来对所述叶脊拓扑执行一个或多个测试。
6.根据权利要求1所述的方法,还包括:
利用所述最短路径优先模型来处理所述特定路径数据和所述经进一步修改的拓扑数据,以丢弃到对应目的地的所述较长路径并且生成最短路径拓扑数据,所述最短路径拓扑数据标识所述叶脊拓扑中到对应目的地的所述较短路径。
7.根据权利要求1所述的方法,其中所述叶脊拓扑的多个网络设备的级被连接至多个网络设备的下一级,并且所述级的网络设备不互相连接。
8.一种设备,包括:
一个或多个存储器;以及
一个或多个处理器,用以:
接收标识多个网络设备的叶脊拓扑的拓扑数据;
将与所述拓扑数据相关联的链路度量设置为公共值并且以生成经修改的拓扑数据;
利用有向无环图模型来处理所述经修改的拓扑数据,以生成有向无环图,所述有向无环图标识到所述经修改的拓扑数据中所标识的目的地的路径;
处理所述有向无环图,以确定与到对应目的地的路径相关联的跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合,
其中所述一个或多个处理器用以处理所述有向无环图将:
比较到达所述对应目的地中的特定目的地的不同的可能路径的所述跳数,以确定来自所述不同的可能路径的所述跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合;以及
基于确定与到对应目的地的所述路径相关联的所述跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合来执行一个或多个动作。
9.根据权利要求8所述的设备,其中所述一个或多个处理器在执行所述一个或多个动作时将:
当与到对应目的地的所述路径相关联的所述跳数被确定全部是奇数值或全部是偶数值时,确定在多个网络设备的所述叶脊拓扑中不存在错误布线。
10.根据权利要求8所述的设备,其中所述一个或多个处理器在执行所述一个或多个动作时被配置为:
当与到对应目的地的所述路径相关联的所述跳数被确定是奇数值和偶数值的组合时,确定在多个网络设备的所述叶脊拓扑中存在一个或多个错误布线。
11.根据权利要求8所述的设备,其中所述一个或多个处理器在执行所述一个或多个动作时被配置为以下中的一项或多项:
当一个或多个错误布线基于确定与到对应目的地的所述路径相关联的所述跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,向端点设备提供标识多个网络设备的所述叶脊拓扑中的所述一个或多个错误布线的警报;
当一个或多个错误布线基于确定与到对应目的地的所述路径相关联的所述跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,自动分派技术人员来校正多个网络设备的所述叶脊拓扑中的所述错误布线;或者
当所述一个或多个错误布线基于确定与到对应目的地的所述路径相关联的所述跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,自动分派机器人或自主车辆来校正多个网络设备的所述叶脊拓扑中的所述一个或多个错误布线。
12.根据权利要求8所述的设备,其中所述一个或多个处理器在执行所述一个或多个动作时被配置为以下中的一项或多项:
当一个或多个错误布线基于确定与到对应目的地的所述路径相关联的所述跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,向日志文件提供标识多个网络设备的所述叶脊拓扑中的所述一个或多个错误布线的数据;
当所述一个或多个错误布线基于确定与到对应目的地的所述路径相关联的所述跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,向确定所述一个或多个错误布线的物理位置的工具提供标识多个网络设备的所述叶脊拓扑中的所述一个或多个错误布线的数据;或者
当所述一个或多个错误布线基于确定与到对应目的地的所述路径相关联的所述跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,基于多个网络设备的所述叶脊拓扑中的所述一个或多个错误布线来对所述叶脊拓扑执行一个或多个测试。
13.根据权利要求8所述的设备,其中所述一个或多个处理器在执行所述一个或多个动作时被配置为:
当没有错误布线基于确定与到对应目的地的所述路径相关联的所述跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,向端点设备提供指示多个网络设备的所述叶脊拓扑中没有错误布线的通知。
14.根据权利要求8所述的设备,其中所述叶脊拓扑的多个网络设备的级被连接至多个网络设备的下一级,并且所述级的多个网络设备不互相连接。
15.一种存储指令的非瞬态计算机可读介质,所述指令包括:
一个或多个指令,在由网络设备的一个或多个处理器执行时使所述一个或多个处理器:
接收标识多个网络设备的叶脊拓扑的拓扑数据,
其中所述网络设备被包括在多个网络设备的所述叶脊拓扑中;
将与所述拓扑数据相关联的链路度量设置为公共值并且以生成经修改的拓扑数据;
利用最短路径优先模型来处理所述经修改的拓扑数据,以确定路径数据,所述路径数据标识到所述经修改的拓扑数据中所标识的目的地的路径;
利用所述最短路径优先模型来处理所述路径数据和所述经修改的拓扑数据,以确定标识到对应目的地的至少一个较短路径和至少一个较长路径的特定路径数据;
利用所述最短路径优先模型来处理所述特定路径数据和所述经修改的拓扑数据,以确定与到所述对应目的地的所述至少一个较短路径和所述至少一个较长路径相关联的跳数;
利用所述最短路径优先模型来处理,以确定与到所述对应目的地的所述至少一个较短路径和所述至少一个较长路径相关联的所述跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合;基于确定与到所述对应目的地的所述至少一个较短路径和所述至少一个较长路径相关联的所述跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合,确定在多个网络设备的所述叶脊拓扑中是否存在一个或多个错误布线,
其中使所述一个或多个处理器确定是否存在一个或多个错误布线的所述一个或多个指令使所述一个或多个处理器:
比较到达所述对应目的地中的特定目的地的不同的可能路径的所述跳数,以确定来自所述不同的可能路径的所述跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合;以及
基于确定在多个网络设备的所述叶脊拓扑中是否存在一个或多个错误布线来执行一个或多个动作。
16.根据权利要求15所述的非瞬态计算机可读介质,其中使所述一个或多个处理器确定在多个网络设备的所述叶脊拓扑中是否存在一个或多个错误布线的所述一个或多个指令使所述一个或多个处理器:
当与到所述对应目的地的所述至少一个较短路径和所述至少一个较长路径相关联的所述跳数被确定全部是奇数值或全部是偶数值时,确定在多个网络设备的所述叶脊拓扑中不存在错误布线。
17.根据权利要求15所述的非瞬态计算机可读介质,其中使所述一个或多个处理器确定在多个网络设备的所述叶脊拓扑中是否存在一个或多个错误布线的所述一个或多个指令使所述一个或多个处理器:
当与到所述对应目的地的所述至少一个较短路径和所述至少一个较长路径相关联的所述跳数被确定是奇数值和偶数值的组合时,确定在多个网络设备的所述叶脊拓扑中存在至少一个错误布线。
18.根据权利要求15所述的非瞬态计算机可读介质,其中使所述一个或多个处理器执行所述一个或多个动作的所述一个或多个指令使所述一个或多个处理器进行以下中的一项或多项:
当一个或多个错误布线基于确定与到所述对应目的地的所述至少一个较短路径和所述至少一个较长路径相关联的所述跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,向端点设备提供标识多个网络设备的所述叶脊拓扑中的所述一个或多个错误布线的警报;
当所述一个或多个错误布线基于确定与到所述对应目的地的所述至少一个较短路径和所述至少一个较长路径相关联的所述跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,自动分派技术人员来校正多个网络设备的所述叶脊拓扑中的所述一个或多个错误布线;或者
当所述一个或多个错误布线基于确定与到所述对应目的地的所述至少一个较短路径和所述至少一个较长路径相关联的所述跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,自动分派机器人或自主车辆来校正多个网络设备的所述叶脊拓扑中的所述一个或多个错误布线。
19.根据权利要求15所述的非瞬态计算机可读介质,其中使所述一个或多个处理器执行所述一个或多个动作的所述一个或多个指令使所述一个或多个处理器进行以下中的一项或多项:
当一个或多个错误布线基于确定与到所述对应目的地的所述至少一个较短路径和所述至少一个较长路径相关联的所述跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,向日志文件提供标识多个网络设备的所述叶脊拓扑中的所述一个或多个错误布线的数据;
当所述一个或多个错误布线基于确定与到所述对应目的地的所述至少一个较短路径和所述至少一个较长路径相关联的所述跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,向确定所述一个或多个错误布线的物理位置的工具提供标识多个网络设备的所述叶脊拓扑中的所述一个或多个错误布线的数据;或者
当所述一个或多个错误布线基于确定与到所述对应目的地的所述至少一个较短路径和所述至少一个较长路径相关联的所述跳数是否全部是奇数值、全部是偶数值、或者是奇数值和偶数值的组合而被标识时,基于多个网络设备的所述叶脊拓扑中的所述一个或多个错误布线来对所述叶脊拓扑执行一个或多个测试。
20.根据权利要求15所述的非瞬态计算机可读介质,其中所述一个或多个指令在由所述一个或多个处理器执行时还使所述一个或多个处理器:
利用所述最短路径优先模型来处理所述特定路径数据和所述经修改的拓扑数据,以丢弃到所述对应目的地的所述至少一个较长路径并且生成最短路径拓扑数据,所述最短路径拓扑数据标识所述叶脊拓扑中到所述对应目的地的所述至少一个较短路径。
CN202110209352.8A 2020-03-06 2021-02-24 检测多个网络设备的叶脊拓扑中的错误布线 Active CN113364689B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310556715.4A CN116405371A (zh) 2020-03-06 2021-02-24 检测多个网络设备的叶脊拓扑中的错误布线

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/811,600 2020-03-06
US16/811,600 US11716276B2 (en) 2020-03-06 2020-03-06 Detecting miswirings in a spine and leaf topology of network devices

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202310556715.4A Division CN116405371A (zh) 2020-03-06 2021-02-24 检测多个网络设备的叶脊拓扑中的错误布线

Publications (2)

Publication Number Publication Date
CN113364689A CN113364689A (zh) 2021-09-07
CN113364689B true CN113364689B (zh) 2023-06-09

Family

ID=74758671

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110209352.8A Active CN113364689B (zh) 2020-03-06 2021-02-24 检测多个网络设备的叶脊拓扑中的错误布线
CN202310556715.4A Pending CN116405371A (zh) 2020-03-06 2021-02-24 检测多个网络设备的叶脊拓扑中的错误布线

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202310556715.4A Pending CN116405371A (zh) 2020-03-06 2021-02-24 检测多个网络设备的叶脊拓扑中的错误布线

Country Status (3)

Country Link
US (2) US11716276B2 (zh)
EP (1) EP3876483A1 (zh)
CN (2) CN113364689B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113904919B (zh) * 2021-10-30 2024-04-19 国家电网有限公司西北分部 一种安全稳定控制系统通道故障定位方法
CN114978980B (zh) * 2022-04-08 2024-01-19 新奥特(北京)视频技术有限公司 Ip信号交叉点调度装置和方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105743691A (zh) * 2014-12-29 2016-07-06 瞻博网络公司 网络拓扑优化
CN107070681A (zh) * 2016-12-07 2017-08-18 全球能源互联网研究院 基于软件定义网络sdn的网络拓扑获取方法及装置
CN109510768A (zh) * 2017-09-14 2019-03-22 华为技术有限公司 链路状态通告lsa发送方法、装置和系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8165121B1 (en) 2009-06-22 2012-04-24 Juniper Networks, Inc. Fast computation of loop free alternate next hops
US8799438B2 (en) * 2010-12-14 2014-08-05 Microsoft Corporation Generic and automatic address configuration for data center networks
US9553796B2 (en) 2013-03-15 2017-01-24 Cisco Technology, Inc. Cycle-free multi-topology routing
US9648547B1 (en) * 2013-06-28 2017-05-09 Google Inc. Self-organizing topology management
EP2985949B1 (en) * 2014-08-14 2018-05-23 Hewlett-Packard Enterprise Development LP Correlation engine comprising root cause and service impact analyses
US10148555B2 (en) * 2015-12-03 2018-12-04 Dell Products L.P. Multi-chassis LAG access node determination system
US10454830B2 (en) * 2016-05-05 2019-10-22 City University Of Hong Kong System and method for load balancing in a data network
US10110469B2 (en) 2016-07-21 2018-10-23 Cisco Technology, Inc. Detecting and preventing network loops
US10326532B2 (en) * 2016-08-05 2019-06-18 Nxgen Partners Ip, Llc System and method providing network optimization for broadband networks
US9949133B2 (en) * 2016-08-05 2018-04-17 Nxgen Partners Ip, Llc Ultra-broadband virtualized telecom and internet
EP3497843A4 (en) * 2016-08-11 2019-12-18 Hopzero, Inc. METHOD AND SYSTEM FOR LIMITING THE RANGE OF DATA TRANSMISSIONS
CN108683602B (zh) 2018-07-13 2022-05-13 深圳致星科技有限公司 一种数据中心网络负载均衡方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105743691A (zh) * 2014-12-29 2016-07-06 瞻博网络公司 网络拓扑优化
CN107070681A (zh) * 2016-12-07 2017-08-18 全球能源互联网研究院 基于软件定义网络sdn的网络拓扑获取方法及装置
CN109510768A (zh) * 2017-09-14 2019-03-22 华为技术有限公司 链路状态通告lsa发送方法、装置和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Yang Chen.《Multi-Hop Coflow Routing and Scheduling in Data Centers》.《IEEE》.2018,全文. *
黄利军.《软件定义数据中心 Windows Server SDDC技术与实践》.人民邮电出版社,2017,全文. *

Also Published As

Publication number Publication date
US11716276B2 (en) 2023-08-01
EP3876483A1 (en) 2021-09-08
US20230327975A1 (en) 2023-10-12
CN113364689A (zh) 2021-09-07
US20210281506A1 (en) 2021-09-09
CN116405371A (zh) 2023-07-07

Similar Documents

Publication Publication Date Title
US20230327975A1 (en) Detecting miswirings in a spine and leaf topology of network devices
US9608900B2 (en) Techniques for flooding optimization for link state protocols in a network topology
US10038623B2 (en) Reducing flooding of link state changes in networks
CN113114525A (zh) 一种路由检测的方法及网络设备
US11743114B1 (en) Bidirectional forwarding detection control packet to indicate maintenance mode operation
CN109587061A (zh) 一种路由处理的方法、装置及设备
CN113497757B (zh) 利用域分段标识符来进行域间最短路径分段路由
US11570073B1 (en) Service status notification
US12003483B1 (en) Smart firewall filtering in a label-based network
CN113452543B (zh) 多宿主错误配置的检测
US20180212860A1 (en) Automatically detecting potential microloop conditions associated with network convergence
US11902144B1 (en) Preserving consistency of redundant border gateway protocol link state topology information
CN114079626B (zh) 使用弹性算法路由机制配置网络的方法、网络设备和介质
US11736385B1 (en) Distributed flooding technique
US11671322B2 (en) Configuration of a network using a flex-algorithm routing mechanism
US11411866B1 (en) Supporting multiple segment routing traffic engineering algorithms
US10855520B1 (en) Utilizing upstream routing of multicast traffic from redundant multicast sources to increase multicast resiliency and availability
CN114598637B (zh) 维护与链路聚合组相关联的链路集合以支持客户边缘设备
US11252074B2 (en) Detection of multihoming misconfiguration
US11228495B2 (en) Bundling of wired and wireless interfaces in a redundant interface of a high-availability cluster
EP4053694A1 (en) Hardware-assisted fast data path switchover for a network device with redundant forwarding components
US20230060679A1 (en) Ptp transparent clock with inter-vlan forwarding
CN116405457A (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
GR01 Patent grant
GR01 Patent grant