用于自动发现网络设备的系统和方法与流程

文档序号:17322056发布日期:2019-04-05 21:35阅读:621来源:国知局
用于自动发现网络设备的系统和方法与流程

超融合和融合基础架构包括服务器、存储、网络以及集成软件和服务。这些系统被设计来通过将it组件汇集到单一资源池中来解决数据中心运营和维护的成本和复杂性问题,从而使得it组件更易管理、更快部署。

附图说明

图1示出了根据示例的用于自动发现网络设备的系统的概览。

图2至图3示出根据示例的用于自动发现有能力且被启用(capableandenabled)的设备的网络发现设备。

图4示出了根据示例的用于自动发现网络设备的方法的流程图。

图5示出了根据示例的通过网络发现设备成功处理的网络拓扑。

图6示出了根据示例的网络发现设备内部的顺序和流程的流程图。

图7示出了根据示例的系统中的网络发现设备的功能组件之间的发现信息的流程。

具体实施方式

超融合和融合基础架构系统(以下简称融合基础架构系统)为it组件一起提供单一资源池,形成更易管理,更快部署的解决方案。作为解决方案的一部分,网络结构提供了允许整体解决方案发挥作用的基础架构的连接。建立和管理融合基础架构的一个关键挑战是,在网络结构本身被组装并且功能完全之前,基础架构不能被远程管理。手动设置网络结构非常耗时且容易出错,因为这需要关于所有连接的基础架构元件、它们是怎么连接的以及网络协议和网络安全的配置的很多信息。所有这些信息必须在使用前准确地规划到基础架构组件中。本文提供了自动化方式的融合基础架构网络结构的发现、组装和功能完全。主要特征包括自动发现所有融合基础架构元件、自动学习这些元件之间的拓扑关系以及网络结构的自动基础配置。

融合基础架构硬件必须根据设计要求和所需的能力进行物理设置。例如,针对所需的某一拓扑,一组机架中的一组服务器和存储器必须利用电网连接被全部连接。所需的拓扑可以基于诸如叶脊架构的标准网络架构,并且针对要在基础结构之上运行的客户工作负载具体配置,并且可以包括性能和/或高可用性的偏好。在建立基础架构之后,必须将软件配置应用于网络结构和基础架构内。这包括网络协议和所需的设置的配置。正确配置网络结构是关键的步骤,并且很困难。通过本文提供的网络发现设备功能、系统和方法解决了正确配置网络结构的一些关键问题。

例如,手动流程很困难、繁琐且容易出错。许多设置和配置步骤需要手动干预和对网络结构细节的深入了解,特别是当存在错误或异常时。这既费时又容易出错。存在一些自动化工具,但是这些工具并没有很好地整合到整体解决方案中。本文的网络设备功能、系统和方法通过自动网络结构发现、拓扑和配置使这些步骤自动化,从而使这成为解决方案的组成部分。通过实现基础架构的更快、更容易的利用,业务敏捷性得到改善。

另外,手动处理经常导致硬件的不正确设置。物理地设置网络结构以将服务器、存储器和上行链路连接到客户的数据中心中。因而发生的设置是复杂的,而且往往是不正确的。在这些情况下,客户面临着复杂的物理网络结构变化,这可能需要来自网络供应商或具有深厚知识的网络管理员的帮助。这导致停机时间和未实现的基础架构。本文的网络发现设备功能、系统和方法可以帮助自动地查明异常和错误,从而可以解决网络配置错误和失误,并且可以应用修复。

本文提供了用于自动发现网络设备的系统的示例。系统包括发现引擎、记录引擎和拓扑引擎。发现引擎在网络发现设备上启用网络设备发现协议以及发送模式和接收模式。发现引擎还在网络设备上启用辅助通信协议。记录引擎从网络设备广播包括本地邻居和连接信息的网络设备发现协议记录。拓扑引擎使用辅助通信协议和定时循环来处理拓扑信息,以更新拓扑信息记录集合的年龄。

图1示出了根据示例的用于自动发现网络设备的系统的概览。在不脱离公开的示例的范围的情况下,可以以多种不同的配置来实现系统100。在图1中,系统100可以包括网络发现设备120、至少两个网络结构140、数据库160和用于将网络发现设备120与数据库160和/或网络结构140连接的网络180。

网络发现设备120可以是执行与公开的示例一致的各种功能(例如自动发现网络设备)的计算系统。例如,网络发现设备120可以在网络设备上启用网络设备发现协议(例如链路层发现协议)以及发送模式和接收模式,并且可以在网络设备上启用辅助通信协议,例如简单服务发现协议。网络发现设备120还可以确定地址是否被分配给网络设备上的管理接口。在启用网络设备发现协议之前,网络发现设备120可以确定是否供应了网络设备。

网络发现设备120可以从网络设备广播包括本地邻居和连接信息的网络设备发现协议记录。网络发现设备120可以使用辅助通信协议和定时循环来处理拓扑信息,以更新拓扑信息记录集合的年龄。例如,网络发现设备120标记关于存储的记录的年龄的拓扑信息以及清单(inventory)。例如,当在第一时间段期间没有从网络上的每个网络设备接收到更新信息时,用第一标记,例如陈旧标识符,标记网络设备。当确定在第二时间段期间没有从网络上的网络设备接收到更新信息时,用第二标记,例如过时标识符,标记网络设备时,并且将在所有活跃操作和当前拓扑表示中忽略该网络设备。

例如,至少两个网络结构140可以是使用两种协议,网络设备发现协议(诸如链路层发现协议)和辅助通信协议(诸如简单服务发现协议)的任何两种网络连接,并且协议和任何相关联的信息或记录可以被存储在数据库160中。

数据库160可以是便于数据存储的任何类型的存储系统配置。例如,数据库160可以便于定位、访问和获取数据(例如,saas、sql、access等数据库、xml文件等)。网络发现设备120可以用网络发现设备120生成的数据库条目填充数据库160,并将数据库条目存储在数据库160中。数据库160可以通过多种方法填充。例如,可以以网络设备发现协议记录来填充数据库160。

网络180可以是便于诸如网络发现设备120、网络结构140和数据库160的组件之间的通信的任何类型的网络。例如,网络180可以是局域网(lan)、广域网(wan)、虚拟专用网络、专用内联网、因特网和/或无线网络。

图1中所示的布置仅仅是示例,系统100可以以多种不同配置来实现。例如,尽管图1示出了一个网络发现设备120、两个网络结构140、数据库160和网络180,但系统100可以包括任何数量的组件120、140、160和180以及图1中未示出的其它组件。系统100也可以省略组件120、140、160和180中的任何一个。例如,网络发现设备120和网络结构140可以直接连接而不是经由网络180连接。

图2至图3示出根据示例的用于自动发现有能力且被启用的设备的网络发现设备。参考图2,示出了网络发现设备120。在某些方面,网络发现设备120可以对应于图1的多个网络发现设备120。可以以各种方式实现网络发现设备120。例如,网络发现设备120可以是专用计算机、服务器、大型计算机、执行用于接收和处理信息并提供响应的指令的计算设备、和/或任何其它类型的计算设备。在图2示出的示例中,网络发现设备120可以包括机器可读存储介质250、处理器270和接口280。

处理器270可以是执行指令以执行操作的至少一个处理单元(cpu)、微处理器和/或另一种硬件设备。例如,处理器270可以提取、解码并执行存储在机器可读存储介质250中的自动发现指令260(例如,指令262、264和/或266),以执行与本文提供的示例有关的操作。

接口280可以是便于网络发现设备120和诸如网络结构140和/或数据库160的其它组件之间的信息传递的任何设备。在一些示例中,接口280可以包括网络接口设备,该网络接口设备允许网络发现设备120从网络180接收数据并向网络180发送数据。例如,接口280可以经由网络180从数据库160获取和处理与生成自然语言编程工具有关的数据。

机器可读存储介质250可以是存储可执行指令的任何电子、磁性、光学或其它物理存储设备。因此,机器可读存储介质250可以是例如存储器、存储驱动器、光盘等。在一些实施方式中,机器可读存储介质250可以是非暂时性的,例如非临时性计算机可读存储介质,其中术语“非暂时性”不包含暂时性传播信号。机器可读存储介质250可以用指令进行编码,所述指令在由处理器270执行时,执行与本文的示例一致的操作。例如,机器可读存储介质250可以包括执行自动发现网络设备的操作的指令。在图2中示出的示例中,机器可读存储介质250可以是存储指令的存储器资源,所述指令在被执行时,使得诸如处理器270的处理资源实现用于生成自然语言编程工具的系统。指令包括诸如发现指令262、记录指令264和拓扑指令266的自动发现指令260。

发现指令262可以运行来收集关于网络设备的网络设备发现协议结果的集合,并将网络设备发现协议结果插入到数据库中。例如,当发现指令262由处理器270执行时,发现指令262可以使得网络发现设备120的处理器270和/或另一处理器收集关于网络设备的网络设备发现协议结果的集合,并将网络设备发现协议结果插入到数据库中。网络设备发现协议的示例包括链路层发现协议(lldp)。发现指令262还可以在网络设备上启用诸如链路层发现协议的网络设备发现协议以及发送模式和接收模式,并且可以在网络设备上启用诸如简单服务发现协议的辅助通信协议。发现引擎还可以确定地址是否被分配给网络设备上的管理接口。

记录指令264可以运行来使用能够到达非直接连接的设备的辅助通信协议,向其它节点发送和从其它节点接收发现通知。例如,当记录指令264由处理器270执行时,记录指令264可以使得网络发现设备120的处理器270和/或另一处理器使用能够到达非直接连接的设备的辅助通信协议向其它节点发送和从其它节点接收发现通知。辅助通信协议的示例可以包括简单服务发现协议。记录指令264还可以从网络设备广播包括本地邻居和连接信息的网络设备发现协议记录。

拓扑指令266可以运行来合并和维护与网络设备列表、邻居信息列表、接口信息列表以及设备之间关于其接口的直接连接有关的记录集合。例如,当拓扑指令266由处理器270执行时,拓扑指令266可以使得网络发现设备120的处理器270和/或另一处理器合并和维护与网络设备列表、邻居信息列表、接口信息列表以及设备间的直接连接有关的记录集合。拓扑指令266还可以使用辅助通信协议和定时循环来处理拓扑信息,以更新拓扑信息记录集合的年龄,例如,关于存储记录的年龄的拓扑信息记录。拓扑指令266用于确定在第一时间段期间没有从网络上的每个网络设备接收到更新信息,并用诸如陈旧标识符的第一标记来标记该网络设备。拓扑指令266用于确定在第二时间段期间没有从网络上的网络设备接收到更新信息,并且使用诸如过时标识符的第二标记来标记该网络设备。第二标记可导致在所有活跃操作和当前拓扑表示中忽略该网络设备。

拓扑指令266可以维护网络结构以及网络设备的包括清单和年龄的拓扑信息记录的集合的本地副本。下面参照例如图4至图7进一步详细描述在自动发现网络设备时所涉及的步骤的示例。此外,可以以一时间间隔重复发现、记录和拓扑指令(262、264、266)。

参考图3,网络发现设备120被示出为包括发现引擎362、记录引擎364和拓扑引擎366。在某些方面,网络发现设备120可以对应于图1至图2的网络发现设备120。可以以各种方式实现网络发现设备120。例如,网络发现设备120可以是自动发现网络设备的计算系统和/或任何其它合适的组件或组件的集合。

接口280可以是便于网络发现设备120与外部组件之间的信息传递的任何设备。在一些示例中,接口280可以包括网络接口设备,该网络接口设备允许网络发现设备120从网络接收数据和向网络发送数据。例如,接口280可以获取和处理来自网络发现设备120和/或数据库160的、与自动发现网络设备有关的数据。

引擎362、364和366包括用于执行本文提供的功能的硬件和/或硬件和编程的组合。此外,模块(未示出)可以包括要由本文提供的硬件执行的编程功能和/或编程功能的组合。例如,引擎的指令可以是存储在非暂时性机器可读存储介质上的处理器可执行指令,并且引擎的硬件可以包括用于执行那些指令的处理器。在一些示例中,引擎362、364和366的功能可以对应于由图1至图2的网络发现设备120执行的操作,例如当处理器270执行自动发现指令260时执行的操作。在讨论引擎和模块时,注意到归因于引擎的功能也可归因于相应的模块,反之亦然。此外,归因于特定模块和/或引擎的功能也可以使用另一模块和/或引擎来实现。

系统进一步包括用于确定是否提供了网络设备的启动引擎。

在图3中,发现引擎362可以表示执行与当处理器270执行发现指令262时执行的那些操作类似的操作的硬件和指令的组合。类似地,记录引擎364可以表示执行与当处理器270执行记录指令264时执行的那些操作类似的操作的硬件和指令的组合,并且拓扑引擎366可以表示执行与当处理器270执行拓扑指令266时执行的那些操作类似的操作的硬件和指令的组合。

图4示出了根据示例的用于自动发现网络设备的方法的流程图。虽然以下参照系统100描述了过程400的执行,但是可以使用用于执行过程400的至少一个步骤的其它合适的系统和/或设备。例如,下面描述为由系统100执行的过程可以由网络发现设备120、网络结构140和/或任何其它合适的设备或系统来执行。过程400可以以存储在诸如机器可读存储介质的存储设备上的可执行指令的形式和/或以电子电路形式来实现。

可以通过启用附接的局域网设备发现协议(例如,可以使用链路层发现协议(lldp))以及通过启用允许未直接连接的设备在网络设备上交换信息的辅助通信协议(例如利用简单服务发现协议(ssdp))来启动对网络设备的发现(步骤402),而开始过程400。例如,网络发现设备120启用局域网设备发现协议可以包括启用网络设备的发送模式和接收模式。发现指令262的执行还可以使网络发现设备120的处理器270和/或另一处理器启用局域网设备发现协议。图6至图7示出了启用局域网设备发现协议的示例。

过程400还可以包括从网络设备获得并广播包括本地邻居和连接信息的网络设备发现协议记录集合(步骤404)。网络设备发现协议记录可以被存储在诸如数据库160的存储设备中,并且网络发现设备120和/或网络结构140可以查询数据库160以获得协议和网络设备信息。

过程400还可以包括处理关于远程邻居的拓扑信息(步骤406)。例如,网络发现设备120可以使用辅助通信协议和定时循环来关联和组合连接性和节点(网络设备)信息、标记清单以及拓扑信息记录集合的年龄,以更新拓扑信息记录集合的年龄。图6至7中示出了拓扑信息的处理的示例。

过程400可以以一时间间隔重复启动、获得和处理的步骤(402、404、406)。过程400还可以包括经由辅助通信协议发送通知,以指示网络设备何时正被关闭。网络发现设备120可以用于管理经由网络结构140发送并存储在数据库160中的通知。

图5示出了根据示例的通过网络发现设备成功处理的网络拓扑500。网络拓扑500包括具有交换设备角色的多层的节点。支持的有基本能力的网络元件或有能力且被启用的设备(本文称为网络发现设备)是网络交换机和路由器(物理和虚拟设备)以及诸如虚拟机、容器、物理服务器、工作站和存储单元以及其它设备的任何其它可连接网络的设备。网络发现设备是网元设备,其执行所需的功能并且已经配备有用于自动发现的逻辑,并且被或可以被正确地引入到系统中(换句话说,被物理地或逻辑地连接到网络结构)、加电并开启以进行正常操作。例如,网络发现设备具有作为附加特征的自发现功能。对于上述完整的操作,要求网络元件可以访问网络中的dhcp(v4或v6)功能,或者具有在ipv6链路本地模式下运行的能力。如上所述,网络发现设备是通过利用下面在图6至图7中描述的步骤和功能而被启用用于自发现并且还用于保持和共享连接性和拓扑信息的网络元件(例如,交换机、服务器等)。即使当存在无能力或未被启用的设备(即,没有发现功能或者该功能未启用或发生故障的设备)时,假定它们不是脊元件,也可以建立准确的拓扑表示。

例如,节点m1可以是简单的网络交换设备,或者表示构成管理网络的所有网络集线器、交换机、网桥和路由器设备,以将管理连接505与其它节点配对。节点m1可以包括有能力且被启用的设备,或者如图5中所示,可以包括无能力且未被启用的设备。节点m1经由管理连接505连接到诸如节点c1、s1-s3、l1-l6、e1-e2和560的其它网络发现设备。节点m1也经由管理连接505连接到诸如节点520、540和560的一些无能力或未被启用的设备。节点c1具有核心角色,并且包括经由管理连接505到管理节点m1的连接以及与具有脊(spine)角色的节点s2和s3的服务或生产连接515。节点s2-s3经由服务或生产连接515连接到叶角色节点l4-l6。叶角色节点520是连接到网络发现设备(即,有能力且被启用的节点530)的无能力或未被启用的设备。叶角色节点l4经由服务或生产连接515连接到无能力或未被启用的设备540,并且叶角色节点l5经由服务或生产连接515连接到扩展节点e2。类似地,脊节点s1通过服务或生产连接515连接到叶角色节点l1-l2。节点l1经由服务或生产连接515连接到无能力或未被启用的设备560,并且l2经由服务或生产连接515连接到扩展角色节点e1。即使当存在无能力或未被启用的设备(即,没有发现功能或者该功能未启用或发生故障的设备)时,假定它们不是脊元件,也可以建立准确的拓扑表示。可以将具体过程应用于拓扑中的节点,以在融合基础架构内的网络结构的整个生命周期和在初始化期间的基础架构的自动供应期间,自动发现并建立准确的结构拓扑。该过程是灵活的,可以以各种方式部署在融合基础架构中。图6至图7提供网络发现设备120内的顺序和流程的示例。

图6示出了根据示例的网络发现设备内部的顺序和流程的流程图600。图7示出了根据示例的系统中的网络发现设备的功能组件之间的发现信息的流程图700。参考图6,网络设备开始(步骤602)并启动自配置(步骤604)。在自配置之后,发现和拓扑信息被自动地建立在网络发现设备内并且在每个网络发现设备被引入到网络结构或从网络结构移除时被更新。如图7中所示,诸如链路层发现协议(lldp)和简单服务发现协议(ssdp)的网络协议是可用于确定连接性的协议的示例。清单和拓扑表示反映了在影响拓扑的任何网络发现设备处的连接性变化。

网络发现设备完成启动程序,从而包括访问网络的能力。网络发现设备开机并执行其正常的启动程序。网络发现设备可以以包括但不限于动态主机配置协议(dhcp)、静态地址分配或其它机制的任何标准方式访问网络。网络发现设备可以存在于专用管理网络或为客户数据共享的数据网络上。同一网络中的所有网络发现设备一旦通过初始启动阶段,就会以完全冗余的方式了解网络结构清单和拓扑结构。

网络发现设备确定地址是否分配给了设备上的管理接口。这是检查是否为本地管理端口获得并设置了ip。这一信息被用于确定接口是否在诸如图5中示出的具有管理连接505的m1的管理网络或数据网络上,并且是否将被用作数据模型的一部分,诸如图5中示出的服务或生产连接515。此外,执行检查以确定网络发现设备内是否存在(本地)特殊的预先供应的信号机。这用于用信号表示设备已经被供应因此不需要供应。

在步骤606,启用设备发现协议。例如,网络交换机或路由器包括用于发现插入到其上的端口中的其它设备的协议。例如,该协议是称为链路层发现协议(lldp)的工业标准协议,其在发送和接收模式中打开,以便设备接收和发布发现的信息。除了lldp,还可以使用其它方法或协议来收集发现信息。

在步骤616启用外部发现协议。例如,外部协议可以是辅助通信协议,其可以在网络上作为被管理实体和一组服务被发现。步骤616示出了为本地管理端口启用的标准协议简单服务发现协议(ssdp)。这个示例使用ssdp;然而,可以使用其它方法或协议来收集发现信息。

参照步骤608,收集lldp信息并且关于由网络发现设备收集的本地邻居和本地连接性,过滤lldp信息。特别是提取本地端口信息和感兴趣的连接的邻居(例如仅交换网元)。然后,将经由ssdp收集的任何更新或新邻居信息发送回步骤606,以便lldp保持任何更新的发现信息。例如,参照图7,发现设备702将从lldp得到的针对本地邻居和连接信息而记录和/或更新的lldp信息704接收到诸如数据库160的本地发现数据库中,本地发现数据库为元组类型,包括:1)包括关于每个网络发现设备的详细信息的设备信息;2)关于设备类型的邻居信息以及本地和远程连接信息;和3)关于每个设备的每个端口的接口信息。

当本地信息改变时,通过例如创建和发送关于当前本地邻居和本地连接性的ssdp通知来更新本地邻居信息(图6,步骤610、612、614、616、618、620)。参考图7,共享服务706利用ssdp通知,监听网络发现设备并从网络发现设备发送发现信息。此外,可以在网络发现设备正常关闭之前,发送特殊的ssdp通知。关于远程邻居的拓扑信息例如由图7中的用于接收、处理和过滤关于远程邻居和连接性的ssdp通知的共享服务706处理。从ssdp通知接收到的相关远程邻居和远程连接性被存储到本地发现数据库160中。例如,如图6的步骤614-620中所示,在614接收ssdp消息,并且在步骤616中确定消息是否来自新的网络发现设备。对于现有网络发现设备,在步骤618中进行更新的确定。当没有更新时,循环返回到步骤614,但是当存在更新或新的网络发现设备时,在循环返回到步骤614之前,通过步骤620从网络发现设备获得发现信息。

考虑到本地发现数据库160中存储的信息的年龄,针对网络发现设备记录清单和拓扑信息。未被更新的拓扑信息或已经在两个指定的超时时段期间没有更新的过期的信息将被相应地标记。例如,重要的是,要考虑至少两个主要超时时段,例如两个可调节循环时间周期。在第一可调节循环时间的时间周期内,如果没有收到每个注册到数据库的设备的更新信息,那么与该网络发现设备相关联的所有记录都可以被标记为陈旧的或者类似用语。该机制旨在维持设备清单和拓扑信息为最新,以检测可能的设备、连接或网络问题或持续、循环的验证和确认过程中的修改。在所有活跃操作和当前拓扑表示中将考虑陈旧的设备及其连接,可选地用不同的颜色或标签显示以进行区分。如果在第二可调节循环时间周期内没有接收到给定网络发现设备的更新信息,则第二可调节循环时间周期(通常是第一可调节循环时间的持续时间周期的倍数)将与该设备相关联的记录标记为过时的或类似用语。在所有活跃操作和当前的拓扑表示中,过时的设备及其连接被忽略。可以为了历史原因、故障排除和记账或其它用途,保留或存储过时的记录。

图6至图7中描述的步骤可以以定义的范围从若干毫秒到若干秒的可调节间隔进行重复。例如,以定义的可调节间隔重复图6的步骤606和614以及图7的702、704、706和160中示出的功能。上述过程和步骤的结果是,所有有能力的设备将具有诸如有能力且被启用的设备、接口和连接性以及拓扑的相关网络结构的本地副本。发现和拓扑不断发生,其作用是提供了物理融合基础架构网络结构的最新模型。

自动发现的重点在于使融合基础架构易于安装,并且易于以之前不可能的自动化方式使用。以前的解决方案使用易出错的手动步骤。自动发现以软件定义的敏捷性和自动化,消除了手动控制基础架构的低效率和不灵活性。具体而言,自动发现通过自发现机制以及融合基础架构设备间相关连接性和网元信息的自动交换,简化并加速了网络结构的部署、配置和管理。不需要用于提供类似益处的、诸如网络控制器或管理服务器的、作为传统网络管理系统中的常见安排的外部的或附加的物理元件、或者高性能的设备。因此,自动发现提供更低的拥有成本和更大的灵活性来满足更多的业务需求。

公开的示例可以包括用于生成自然语言编程工具的系统、设备、计算机可读存储介质以及方法。为了说明的目的,参考图1至图3中示出的组件来描述某些示例。示出组件的功能可以重叠并且可以存在于更少或更多数量的元件和组件中。此外,示出元件的全部或部分功能可以共存或分布在几个地理上分散的位置。此外,公开的示例可以在各种环境中实现,并不限于示出的示例。

而且,如说明书和所附权利要求书中所使用的,除非上下文另外指出,否则单数形式“一”、“一个”和“该”旨在也包括复数形式。此外,虽然术语第一、第二等可以在本文中用于描述各种元件,但是这些元件不应该受这些术语限制。相反,这些术语用于将一个元件与另一元件区分开来。

此外,结合图1至7描述的操作顺序是示例,并不意在限制。在不脱离公开的示例的范围的情况下,可以使用额外的或更少的操作或操作的组合。因此,本公开仅仅提出了实现的可能示例,可以对描述的示例做出许多变化和修改。所有这样的修改和变化旨在被包括在本公开的范围内并且由以下权利要求保护。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1