用于网络设备管理的系统和方法与流程

文档序号:12143393阅读:427来源:国知局
本发明涉及通信网络领域。特别地,本发明涉及用于网络设备管理的系统和方法。
背景技术
::在通信网络(例如,IP网络)中,网络管理是指与网络设备的操作、管控、维护和布建(provisioning)有关的若干个任务。操作包括旨在使通信网络和该网络提供的服务保持下去并且平稳运行的管理任务。管控包括旨在跟踪网络资源以及它们对于各种服务的分配的管理任务。维护包括旨在修复和升级网络资源的管理任务(例如,添加新的硬件、调整网络设备的配置参数等)。布建包括旨在配置网络设备即旨在定制网络设备以支持某个网络环境内的一个或多个给定服务的管理任务。以上网络管理任务通常由网络管理中心(简称为NMC)执行。为了对网络设备执行管理任务,通常从NMC将管理指令发送到网络设备。管理指令通常顺序地给予将被管理的每一个网络设备,该网络设备由操作者手动管理或者由NMC的合适的工具自动管理。每个网络设备顺序地逐一执行接收的配置指令。管理指令可以经由命令行接口(CLI)(使用例如用于Cisco设备的IOS或IOX操作系统的命令或者用于Juniper设备的Junos命令)或者经由管理协议(诸如例如简单网络管理协议(SNMP))给予。US7,656,818描述了用于提供可定制的网络装置管理的方法和系统,在这些方法和系统中,用户创建的策略在网络装置(诸如路由器)上被接收并注册。由该策略识别的事件在网络装置处检测。作为响应,该策略在网络装置上运行,并且由该策略指定的动作被执行。该策略可以由远程计算机装置的用户准备。该策略可以以网络装置可执行的脚本或小应用程序的形式提供。技术实现要素:申请人已注意到,上述已知的网络设备管理方法具有一些缺点。关于CLI(或SNMP)方法,提到三个示例性的典型管理任务:(i)配置网络设备(例如,在部署它们时,或者当添加新的硬件或者应当实现新的服务时),(ii)发现网络设备的配置(即,发现其硬件和软件装备),以及(iii)监视网络设备的功能(例如,通过收集性能参数来测量封包(packet)损失率、延迟、抖动等)。关于(i),经由CLI或者以SNMPSetRequest消息的形式的配置指令通常被分派(dispatch)给将被配置的每个网络设备。这使得配置过程长且复杂。配置指令实际上应当针对每个网络设备个性化,并且应当仅在低业务(traffic)时间期间(例如,在夜晚)才被发送到网络设备,以使得更多的计算资源在网络设备处可用于管理目的并且可能的服务中断对用户业务的影响最小化。此外,一些配置指令对于多个网络设备的分派(例如,以部署新的服务)应当同步,以便避免故障。由于所有这些原因,经由CLI或SNMP配置通信网络(其可能包括数百个网络设备)的网络设备是非常复杂的,并且可能花费非常长的时间。然后关于(ii),经由CLI或者以SNMPGetRequest消息的形式的发现指令通常被分派给其配置将被发现的网络设备。该发现过程周期性地重复,以便近乎实时地检测配置改变、告警等并且使网络库存(inventory)保持更新。然而,尽管及时的检测将需要发现过程的更频繁的重复,但太频繁的重复可能不必要地占用通信网络中的计算资源和带宽。然后关于(iii),为了监视网络设备的功能(例如,从网络设备收集性能参数),对网络设备经由CLI或者以SNMPGetRequest消息的形式周期性地执行轮询。最佳的轮询周期取决于监视目标,并且通常为5-15分钟。然而,实际上,轮询周期的选择受其它变量约束,这些其它变量诸如网络设备的数量和NMC的计算机的数量之间的比率、轮询的复杂度(即,将从每个网络设备收集的数据量)以及网络设备的响应时间(该响应时间又取决于当前的网络设备工作负荷)。关于由US7,656,818所描述的方法,该方法部分克服了以上讨论的CLI(或SNMP)方法的缺点中的一些。实际上,当应当执行配置过程、发现过程或监视过程时,代替从NMC向所有相关的网络设备提供配置指令、发现指令或监视指令,每个网络设备原则上可以提供有允许该网络设备自主地执行这样的任务的脚本。然而,US7,656,818的方法表现出其它缺点。特别地,发明人已注意到,由US7,656,818所描述的脚本(或者更一般地,策略)是静态的,因为它们是由远程计算机装置的用户定义并且被加载在网络设备上的。因此,这些脚本适合于对预定义的一组事件做出反应以及根据预定义的逻辑执行预定义动作。如果例如脚本逻辑未预见到的事件发生,则该脚本不能够解决该事件,直到该脚本的升级版本被开发并且被加载在网络设备上。例如,按照US7,656,818的方法,某个通信网络的网络设备原则上可以提供有适合于自动地且自主地配置某一组资源的配置脚本,该组资源通常包括在该通信网络的网络设备的装备中。然而,如果新类型的资源被添加到网络设备(例如,LTE天线),则配置脚本不能够对它进行配置。还包括用于新类型的资源的配置指令的配置脚本的新版本必须被开发并且被加载到网络设备上。这花费长的时间,并且需要能够重新编写脚本的熟练操作者的干预。类似的考虑也适用于发现和监视的场景。鉴于以上,申请人已解决了提供克服前述缺点的用于网络设备管理的系统和方法的问题,即,在该系统和方法中,提供有被配置为主动地参与一些网络管理任务的代理的网络设备能够以动态的方式使其行为自动地适应通信网络中发生的改变(例如,新类型的事件、新类型的硬件等),而不需要重新编写代理逻辑的操作者的干预。在本说明书和权利要求书中,术语“代理”将指定软件程序,该软件程序在网络设备处可执行并且其算法包含该代理为了执行某个管理任务(例如,配置任务、发现任务或监视任务)的至少一部分而应当执行的特定指令。可以使用不同的编程语言来开发代理。特别地,可以通过使用经编译的编程语言或者经解释的编程语言来开发代理。在后一种情况下,代理可以实现为脚本或软件应用。根据第一方面,本发明提供一种用于管理通信网络的网络设备的系统,该系统包括:-提供有板载管理管理器的网络管理中心;以及-在网络设备处可执行的板载管理代理,其中,板载管理代理被配置为当在网络设备处被执行时对网络设备执行管理任务的至少一部分,所述板载管理代理被进一步配置为在其执行期间从板载管理管理器检索至少一个指令并且执行所述至少一个指令来完成管理任务。优选地,板载管理代理被配置为在从网络管理中心接收到命令时开始和/或停止其执行。可替代地,板载管理代理被配置为在发生预定义的事件时自动地开始和/或停止其执行。优选地,板载管理代理被配置为在发生板载管理代理的逻辑未预见到的事件时从板载管理管理器检索所述至少一个指令。可替代地,板载管理代理被配置为每次板载管理代理被执行时从板载管理管理器检索所述至少一个指令,所述管理任务默认地通过来自板载管理管理器的所述至少一个指令的执行来执行。优选地,板载管理管理器被配置为在板载管理代理的执行开始之前将所述至少一个指令传输到网络设备。可替代地,板载管理管理器被配置为在板载管理代理被执行的同时将所述至少一个指令传输到网络设备。优选地,所述至少一个指令是与网络设备的操作系统兼容并且可由网络设备直接执行的单个指令的有序列表的形式。可替代地,所述至少一个指令是单个设备无关的指令的有序列表的形式,所述设备无关的指令的格式对于通信网络的所有网络设备是唯一的。优选地,板载管理代理被配置为顺序地逐一执行单个指令的有序列表的指令。优选地,单个指令的有序列表被包括在指令文件内,每一单个指令在指令文件的相应行中被阐述。有利地,板载管理管理器被配置为将指令文件加载到网络设备的预定义目录中,板载管理代理被配置为在其执行期间从预定义目录检索指令文件。优选地,板载管理代理被配置为对单个指令的有序列表的每一单个指令执行以下操作中的一个或多个:·校正语法错误;·检查所述单个指令是否是允许的指令;·如果所述单个指令是其格式对于通信网络的所有网络设备唯一的单个设备无关的指令,则将所述单个指令翻译为与网络设备的操作系统兼容并且可由网络设备直接执行的对应指令;以及·基于网络设备的实际配置来定制所述单个指令。优选地,板载管理代理还被配置为如果指令不能被恰当地执行,则中断单个指令的有序列表的执行。根据优选的变体,板载管理代理还被配置为通过执行若干个撤销命令(counter-command)来取消单个指令的有序列表的已经执行的指令。板载管理代理被配置为自主地确定撤销命令或者向板载管理管理器请求撤销命令。优选地,板载管理代理还被配置为检测在执行所述至少一个指令时由网络设备产生的至少一个输出。优选地,板载管理代理被进一步配置为产生报告文件并且将该报告文件发送到网络管理中心,该报告文件包含在执行所述至少一个指令时由网络设备产生的所述至少一个输出。根据优选的变体,板载管理代理被进一步配置为将在执行所述至少一个指令时由网络设备产生的所述至少一个输出格式化为对于通信网络的所有网络设备唯一的设备无关的格式。优选地,板载管理代理是以脚本语言编写的。可替代地,板载管理代理是以编译语言编写的。板载管理代理被配置为偶尔、周期性地或连续地执行。根据第二方面,本发明提供一种用于管理通信网络的网络设备的方法,该方法包括:-在与通信网络协作的网络管理中心处执行板载管理管理器;以及-在网络设备处执行板载管理代理,其中,板载管理代理对网络设备执行管理任务的至少一部分,并且在其执行期间,从板载管理管理器检索至少一个指令并执行所述至少一个指令以完成管理任务。附图说明从以下通过示例、但非限制的方式给出的将参照附图阅读的详细描述,本发明将变得更清楚,其中:-图1示意性地示出根据本发明的实施例的用于管理网络设备的系统;-图2是根据本发明的实施例的代理的操作的流程图;-图3进一步详细示出图1的系统;以及-图4是用于操作图3的系统的示例性方法的流程图。具体实施方式图1示意性地示出了根据本发明的实施例的用于管理网络设备NA的系统S。网络设备NA优选地是通信网络的一部分,为了简单起见,通信网络在附图中未示出。通信网络可以是有线网络、无线网络或它们的组合。通信网络可以例如是IP网络、MPLS网络等。网络设备NA可以是路由器、交换机、或适于支持通信网络内的数字数据流的传输的任何计算装置。网络设备NA优选为可编程网络设备,诸如例如提供有EEM(嵌入式事件管理器)工具的Cisco网络设备、支持Junos脚本工具的Juniper网络设备、或SDN(软件定义网络)设备。优选地,用于管理网络设备NA的系统S包括与网络设备NA协作的网络管理中心NMC。更一般地,网络管理中心NMC负责对通信网络的所有网络设备(包括网络设备NA)执行管理任务(即,如以上定义的操作、管控、维护和布建任务)。网络设备NA和网络管理中心NMC借助于双向链路相互互连,该双向链路可能通过通信网络的其它网络设备(未示出)。根据本发明的实施例,网络管理中心NMC优选地提供有代理管理器AM和板载管理管理器MoB-M。网络管理中心NMC还可以包括如下文将详细描述的其它组件。此外,根据本发明的实施例,用于管理网络设备NA的系统S还包括安装在网络设备NA上并且在网络设备NA处可执行的板载管理代理MoB-A。可以使用不同的编程语言来开发代理MoB-A。特别地,可以通过使用经编译的编程语言来开发代理MoB-A,例如在Juniper网络设备的情况下,使用JunosSDK来开发代理MoB-A。可替代地,可以以可以被网络设备NA的软件环境解释(但不被编译)的脚本语言来编写板载管理代理MoB-A。根据优选的变体,板载管理代理MoB-A是脚本。例如,在提供有EEM(嵌入式事件管理器)工具的Cisco网络设备的情况下,以TCL(工具命令语言)来编写代理MoB-A。在支持Junos脚本工具的Juniper网络设备的情况下,优选地使用作为脚本语言的Junos来编写代理MoB-A。优选地,板载管理代理MoB-A被配置为通过与板载管理管理器MoB-M协作来执行管理任务的至少一部分。如下文将详细描述的,板载管理代理MoB-A可以被配置为(与板载管理管理器MoB-M协作)执行的示例性管理任务是配置、发现和监视。更特别地,代理MoB-A被配置为执行实现某个管理任务所需的若干个操作。这样的操作是静态的,因为它们由代理逻辑明确地定义,以使得每次代理被执行时,该代理以完全相同的方式执行这些操作。此外,代理MoB-A还被配置为从管理器MoB-M接收用于执行实现该管理任务所需的至少一个进一步操作的至少一个指令。因此,通过将合适的指令发送到代理MoB-A,管理器MoB-M可以动态地修改代理MoB-A的行为,例如以便使它适应代理MoB-A的静态逻辑未明确地预见到的可能事件(例如,新硬件的添加、未知告警的检测等)。为了执行从管理器MoB-M接收的指令,代理MoB-A优选地提供有解释器IN。如下文将进一步详细描述的,解释器IN优选为当来自NMC的指令应当被执行时被代理MoB-A调用的软件例程。解释器对于在网络设备NA处运行的所有代理可以是唯一的。可替代地,每个代理可以提供有它自己的解释器。如下文将详细描述的,解释器IN被配置为接收有序指令序列并且对每一单个指令进行处理以便提供网络设备NA的操作系统的对应的可执行指令(即,用于Cisco设备的IOS或IOX指令、或者用于Juniper设备的Junos指令)。通常,解释器IN不是编程语言解释器,因此不输出流程控制命令(例如,ifthenelse)。代理MoB-A优选地由代理管理器AM加载到网络设备NA中(参见图1中的箭头A1),更一般地,该代理管理器AM负责将板载管理代理加载到通信网络的各种网络设备上。代理管理器AM还优选地负责各种网络设备处的代理(包括网络设备NA处的代理MoB-A)的激活和停用。此外,管理器MoB-M优选地被配置为向代理管理器AM通知网络设备上不存在代理或者存在未更新的代理(参见图1中的箭头A4)。代理管理器AM优选地被配置为通过在网络设备上加载代理的更新版本来对这样的通知做出反应。现在参照图2的流程图,将进一步详细描述系统S(以及特别地,代理MoB-A)的操作。首先在网络设备NA处启动板载管理代理MoB-A的执行(步骤200)。板载管理代理MoB-A的执行可以根据来自NMC(特别地,来自代理管理器AM)的明确命令启动。可替代地,代理MoB-A可以在没有代理管理器AM的干预的情况下例如在预定义的时间和日期自动地启动。代理MoB-A可以偶尔执行。例如,如果代理MoB-A是配置脚本,则当网络设备NA的配置应当改变或更新时,执行代理MoB-A。如果相反代理MoB-A是监视脚本(例如,被配置为产生封包计数器并且将它们周期性地发送到NMC的脚本),则只要监视过程必须被执行,就连续地执行代理MoB-A。可替代地,代理MoB-A可以周期性地执行。例如,如果代理MoB-A是发现脚本,则可以周期性地执行代理MoB-A以用于周期性地重复网络设备NA的发现。然后,代理MoB-A开始执行由其预定义逻辑所定义的静态操作(步骤201)。这样的静态操作取决于必须进行的管理任务。例如,以非限制性示例为例,如果代理MoB-A是监视代理(例如,被配置为对某个数据流产生封包计数器并且周期性地将它们发送到NMC的代理),则步骤201可以包括几个子步骤,在这些子步骤期间,代理MoB-A识别在网络设备NA处传入的数据流之中的将被监视的数据流,对一组封包计数器进行初始化,当识别的数据流的封包从网络设备NA传输时适当地增大它们的值,检查监视周期是否终止,以及在肯定时,将当前计数器值发送到NMC。可选地,如下文将详细描述的,由代理MoB-A执行的静态操作可以包括在同一个网络设备NA上执行的进一步的板载管理代理的启动。代理MoB-A继续执行由其预定义逻辑所定义的静态操作,直到它意识到为了继续其管理任务的执行,它需要来自管理器MoB-M的指令(步骤202)。这可以例如因为代理MoB-A检测到“未知事件”而发生,未知事件即代理MoB-A的预定义的静态逻辑未预见到的事件,诸如在网络设备NA处检测到新硬件、检测到未知类型的告警等。代理MoB-A在其它情况下可能也需要来自管理器MoB-M的指令。例如,代理MoB-A的静态逻辑可以被配置为使得每次代理被执行以在网络设备NA上执行某个管理任务(例如,配置或发现)时,该管理任务的至少一部分默认地通过由管理器MoB-M提供的详细指令的执行来执行。例如,在代理MoB-A是发现或配置代理的情况下,它的静态逻辑可以被配置为使得当该静态逻辑的执行开始时,代理MoB-A执行从管理器MoB-M检索指令的几个预备操作,并且然后立即需要来自管理器MoB-M的发现或配置指令。当代理MoB-A意识到它需要来自管理器MoB-M的指令时,它优选地检索指令文件,该指令文件包含由管理器MoB-M产生的指令,并且管理器MoB-M已将该指令文件加载到网络设备NA上,参见图1中的箭头A2(步骤203)。指令可以由板载管理管理器MoB-M自动产生或者它们可以由人操作者产生并且被输入到管理器MoB-M。指令优选地为与网络设备NA的操作系统兼容、并因此可由网络设备NA直接执行的单独CLI指令的有序列表的形式。每个指令优选地包括命令,并且可选地,包括命令的一个或多个参数。例如,在网络设备NA是Cisco设备的情况下,指令可以是IOS/IOX发现指令,诸如:·showversion|includeIOS;·showinterfacesdescription;·showmac-address-tabledynamic;·showarpvrfLTE-TRAFFIC。在Juniper设备的情况下,可以提供对应的JunOS指令。可替代地,每一单个指令可以是“更高级指令”,即,设备无关的指令,该设备无关的指令的格式对于通信网络的所有网络设备是唯一的,并且与该指令被寻址的特定网络设备的类型、操作系统等无关。更高级指令的格式可以由网络管理者定义。在指令文件内,每个更高级指令优选地由一个或多个预定义的控制字符识别,这些预定义的控制字符指示该指令应当在执行之前被翻译。特别地,更高级指令可以是&commandparameter1parameter2,其中,&是指示command是应当在执行之前被翻译的设备类型无关命令的控制字符。另一方面,更高级指令可以是command€parameter1parameter2,其中,€是指示parameter1是应当被其在网络设备NA处的当前值(例如,1000)代替的变量的控制字符。以上提及的两个控制字符都可以用在同一个指令(例如,&command€parameter1parameter2)中。下文将描述示例性的更高级指令。根据一些变体,指令文件可以包括CLI指令和更高级指令两者。在任何情况下(即,在CLI指令的情况和更高级指令的情况两种情况下),在指令文件内,每个指令优选地在该文件的相应行中阐述。指令文件然后优选地从管理器MoB-M发送到网络设备NA。指令文件可以使用任何已知的适合于传送文件的协议从管理器MoB-M发送到网络设备NA,所述协议诸如FTP(文件传送协议)、SFTP(简单文件传送协议)、TFTP(小型文件传送协议)、Telnet、SSH(安全shell)等。在网络设备NA处,指令文件优选地存储在网络设备NA的预定义的本地目录中,代理MoB-A使用该目录来与管理器MoB-M交换信息。管理器MoB-M可以响应于由代理MoB-A在其执行期间产生的明确请求来产生指令文件并且将指令文件加载到网络设备NA上。例如,如果代理MoB-A在它正在执行由其静态逻辑所定义的操作的同时检测到“未知事件”,则它优选地向MoB-M报告该事件,并且请求对该事件的指令。在这样的情况下,管理器MoB-M对代理MoB-A的请求进行处理,从而产生指令文件,该指令文件包含允许代理MoB-A对“未知事件”恰当地做出反应的指令。例如,响应于来自网络设备NA的接口中的一个的未知类型的告警,板载管理管理器MoB-M可以产生切断产生该告警的接口的指令。可替代地,管理器MoB-M可以在代理MoB-A的执行开始之前将指令文件加载到网络设备NA上。例如,如果代理MoB-A是配置脚本并且网络设备NA的配置的更新安排在某个日期和时间,则管理器MoB-M优选地在安排的日期和时间之前将包含配置指令的指令文件加载到网络设备NA上。在这样的情况下,代理MoB-A的静态逻辑包含检索具有配置指令的文件的指令。在任何情况下,在步骤203,代理MoB-A优选地对若干个变量进行初始化,这些变量即为:·Directory_name:代理MoB-A用来与管理器MoB-M交换信息的预定义的本地目录的名称;·FTP_server_name:代理MoB-A应当将其报告文件发送给的FTP服务器的名称(如果FTP用于文件交换);·Instruction_file_name:将被检索的指令文件的名称。这样的变量被初始化的值优选地由管理器MoB-M提供给代理MoB-A。因此,为了在步骤203从预定义的本地目录检索指令文件,代理MoB-A优选地使用变量Directory_name和Instruction_file_name的值。然后,代理MoB-A优选地调用解释器IN(步骤204)。解释器IN优选地对指令文件进行处理(步骤205)。特别地,对于指令文件的每一行(即,对于指令文件的每一单个指令),解释器IN优选地执行以下子步骤中的一个或多个:·校正语法错误,并且可选地,取消可能的注释和空格;·检查该行中所包含的指令是否是允许的指令(例如,如果代理MoB-A是发现脚本,则仅读取或获得(get)指令被允许);·如果指令是如上所述的更高级指令,则它可选地将该更高级指令翻译成与网络设备NA的类型、型号和操作系统兼容的对应指令;·如果需要,基于网络设备的实际配置来定制指令(例如,如果指令一般化地提供“发现端口状态”,则解释器IN将该指令翻译为若干个指令,网络设备的每个端口一个指令,每一单个指令例如利用端口标识符来定制。端口标识符和端口的数量是在网络设备NA处本地可获得的信息,例如,从其MIB获得)。因此,当对指令文件的每一行执行以上子步骤时,解释器IN提供在网络设备NA上由代理MoB-A可执行的指令的列表(步骤206)。在下文中描述解释器功能的示例。例如,指令文件可以包括更高级指令listactiveinterfaces(优选地前面加有控制字符&)。如果网络设备NA例如是Cisco路由器,则解释器IN优选地将更高级指令listactiveinterfaces翻译为对应的设备特定指令showipinterfacebrief。否则如果网络设备NA是Juniper设备,则解释器IN优选地将更高级指令listactiveinterfaces翻译为对应的设备特定指令showinterfaceterse。然后,代理MoB-A优选地逐一执行由解释器IN提供的指令(步骤207)。优选地,在步骤207,代理MoB-A还检测在执行由解释器IN提供的每一单个指令时由网络设备NA产生的输出(如果有的话)。例如,请求某个变量的值的发现指令的执行提供被请求的值作为输出。例如,以上提及的IOS/IOX发现指令“showversion|includeIOS”的执行提供在网络设备NA处运行的软件的版本作为输出。另一方面,将某个变量设置为等于某个值的配置指令的执行提供设置操作的结果是否为正(positive)的指示作为输出。可选地,代理MoB-A可以被配置为中断由解释器IN提供的指令的列表的执行。例如,如果某个指令的执行提供该指令不能被恰当地执行的指示作为输出,则代理MoB-A可以省略后续指令的执行。根据特别有利的实施例,代理MoB-A可以被配置为不仅省略后续指令的执行,而且还执行已经执行的指令的“回滚”,即,通过执行若干个撤销命令来取消已经执行的指令。为了此目的,代理MoB-A优选地被配置为访问以下表:在该表中,在网络设备NA的软件环境内可执行的每个可能的指令与相应的撤销命令相关联。为了执行回滚,代理MoB-A优选地对表进行查找以构建与已经执行的指令相关联的撤销命令的有序列表,并且执行这些撤销命令。这例如在配置脚本的情况下是有利的,在配置脚本的情况下,回滚防止当某个配置操作执行时发生的错误导致网络设备NA的不完整(并因此不正确)的配置。可替代地,代理MoB-A可以被配置为在中断指令的列表的执行之后向管理器MoB-M报告该中断,并且请求对该中断的进一步指令。在这样的情况下,管理器MoB-M可以向代理MoB-A提供包含进一步指令的进一步指令文件,例如,用于执行已经执行的指令的回滚的撤销命令的列表。在完成由解释器IN提供的所有指令的执行(或者如上所述中断其执行并且可能执行回滚)之后,代理MoB-A优选地产生报告文件,并且将它发送到管理器MoB-M,参见图1中的箭头A3(步骤208)。特别地,在步骤208,代理MoB-A优选地对更多若干变量进行初始化,这些变量即为:·Network_apparatus_name:网络设备NA的名称;·Date_time:当前日期和时间;·Apparatus_model_SO:网络设备NA的型号和SO。这样的变量被初始化的值优选地基于代理MoB-A对网络设备NA的了解提供给代理MoB-A。然后,在步骤208,代理MoB-A优选地产生报告文件名称。报告文件名称优选地包括变量Apparatus_model_SO、Network_apparatus_name和Date_time的值的串联。另外,报告文件名称还包括由代理MoB-A执行的管理任务的名称,例如,“discovery”、“configuration”或“monitoring”。这样,报告文件名称允许唯一地识别报告文件。然后,在步骤208,代理MoB-A优选地收集在执行由解释器IN提供的每个命令时由网络设备NA提供的输出,并且将它们插入在报告文件中。每个指令的输出的格式取决于网络设备NA的型号、操作系统等。根据特别优选的实施例,每一单个输出可以被表达为设备无关的格式,即,对于通信网络的所有网络设备是唯一的并且与产生输出的特定网络设备的类型、操作系统等无关的输出格式。这样,由各种网络设备提供的报告文件是同构的。输出的格式可以由网络管理者定义。例如,如果网络设备是Cisco路由器,则以上提及的指令showipinterfacebrief的输出是以下表:在该表中,每行对应于一个接口,并且包括预定义的字段序列,该预定义的字段序列包括与该接口相关的信息,例如:接口IP地址OK?方法状态协议TenGigabitEthernet2/1172.16.181.121YESNVRAMupupGigabitEthernet5/11172.16.113.201YESNVRAMupupGigabitEthernet6/2163.162.172.143YESNVRAMupupLoopback0172.16.117.137YESNVRAMupup表1另一方面,如果网络设备是Juniper设备,则以上提及的指令showinterfacesterse的输出是以下表:在该表中,每行对应于一个接口,并且包括预定义的字段序列,该预定义的字段序列包括与该接口相关的信息,例如:接口Admin链路协议本地xe-0/0/0.240upupinet172.16.181.233/30It-0/2/10.0upupinet192.168.0.1/30It-0/2/10.1upupinet192.168.0.2/30Io0.0upupinet172.16.116.26表2优选地,在提供表1和表2作为输出的网络设备处运行的代理MoB-A将表1和表2格式化为相同的设备类型无关的格式。特别地,表1被转换为以下表:接口IP地址Fisical_statusLogical_statusTenGigabitEthernet2/1172.16.181.121upupGigabitEthernet5/11172.16.113.201upupGigabitEthernet6/2163.162.172.143upupLoopback0172.16.117.137upup表3同时表2被转换为以下表:接口IP地址Fisical_statusLogical_statusxe-0/0/0.240172.16.181.233/30upupIt-0/2/10.0192.168.0.1/30upupIt-0/2/10.1192.168.0.2/30upupIo0.0172.16.116.26upup表4然后,在步骤208,代理MoB-A优选地将报告文件加载在代理MoB-A和管理器MoB-M用来交换信息的预定义的本地目录中。为了此目的,代理MoB-A优选地再次使用在步骤203初始化的变量Directory_name的值。然后,在步骤208,最后将报告文件发送到管理器MoB-M。特别地,在FTP协议用于支持代理MoB-A和管理器MoB-M之间的文件交换的情况下,报告文件被发送到其名称由在步骤203初始化的变量FTP_server_name提供的FTP服务器。然后,代理MoB-A可以返回到静态操作的执行,如果其预定义逻辑提供它的话。这是例如以下监视脚本的情况:该监视脚本在检测到网络设备NA的某个端口上的未知告警并且遵循管理器MoB-M的指令、切断该端口之后,返回到其静态操作(例如,对封包进行计数,并且周期性地将计数器发送到NMC)。代理MoB-A的执行然后结束(步骤209)。代理MoB-A的执行可以根据来自NMC的、特别是来自代理管理器AM的明确命令结束。可替代地,代理MoB-A可以自动地结束,例如在管理任务完成时自动地结束。代理MoB-A的执行结束的条件取决于代理MoB-A被配置为执行的管理任务的类型。例如,如下文将描述的,配置脚本和发现脚本在它们的报告文件传输到管理器MoB-M之后结束。可替代地,发现脚本可以连续地执行,即,它一直保持处于待机模式,并且周期性地进入活动状态。另一方面,监视脚本在网络设备NA处连续地执行,并且其执行直到监视到感兴趣的某个数据流才停止。因此,在网络设备NA处执行的板载管理代理MoB-A主动地参与网络设备NA自身上的管理任务的执行,从而减轻NMC的工作负荷。这允许在各种网络设备之间分配执行管理任务所需的计算工作量,从而优化网络的计算资源的利用并且最小化用于在NMC和网络设备之间传输管理数据的带宽的消耗。此外,有利地,与NMC(并且特别地,与板载管理管理器MoB-M)的协作有利地允许每次需要改变代理行为时代理MoB-A自动地以动态方式使其行为适应通信网络中发生的改变(例如,新类型的事件、新类型的硬件等),而不需要重新编写和重新加载代理逻辑的操作者的干预。实际上,尽管代理MoB-A就其预定义逻辑所提供的静态操作的执行而言是自主的,但是代理MoB-A有利地能够从板载管理管理器MoB-M接收以下指令:这些指令允许它处理可能随时间以不可预测的方式变化的它的管理任务的一些方面。因此,虽然代理MoB-A就其管理任务的一些静态方面而言具有来自于NMC的一些自主权,但是NMC仍保持对管理任务的动态方面的控制,在应当进行超出代理的自主技能的操作时进行干预。因此,当代理MoB-A的静态逻辑未预见到的事件发生时,板载管理管理器MoB-M通过向代理MoB-A发送代理用来补充其预定义的静态逻辑的指令来施加其控制。因此,实现同一个管理任务的所有代理可以具有使用同一个编程工具(例如,用于Cisco网络设备的TCL或者用于Juniper网络设备的Junos)以对于所有网络设备的同一个编程语言编写的同一个预定义逻辑。每一单个代理的行为然后将由管理器MoB-M动态地完成,这取决于运行该代理的网络设备的需要。这有利地使对通信网络的几个网络设备进行编程的操作非常容易,因为同一个代理可以在没有任何定制的情况下被加载在几个网络设备上。还应当注意到,解释器IN有利地执行NMC和网络设备之间的“中介(mediation)功能”,因为它“掩蔽”各种网络设备之间的差异(不同的供应商、不同的型号、不同的配置等),使得NMC看到由基本上同构的网络设备构成的通信网络。实际上,如上所述,解释器可以接收高级指令并且将它们翻译成在网络设备NA的软件环境中可执行的CLI命令,并且还可以基于网络设备的实际配置来定制接收的指令。因此,由管理器MoB-M提供的指令可以是通用的(因此,可适用于任何网络设备),因为针对特定网络设备的指令的定制是由解释器使用其对网络设备特征(类型、型号、硬件和软件配置等)的了解进行的。此外,由于解释器的中介功能,即使网络设备是异构的,对于各种网络设备的代理的指令也可以使用常见的格式以非常通用的方式提供。这有利地使出于管理目的向网络设备提供指令的操作变得容易。类似的考虑也适用于由代理提供的报告文件,如以上提及的,报告文件可以由解释器根据相同的统一格式进行格式化。现在参照图3,将进一步详细描述系统S的结构和操作。如图3所示,除了上述板载管理管理器MoB-M和代理管理器AM之外,NMC优选地还包括可视化管理器VM和网络库存管理器NIM。如下文将详细描述的,可视化管理器VM和网络库存管理器NIM优选地被配置为与板载管理管理器MoB-M协作。此外,以非限制性示例为例,假定-为了执行网络设备NA的发现、配置和监视-定义三个不同的脚本,即:·适合于与管理器MoB-M协作地发现网络设备NA的配置的发现代理MoB-A(D);·适合于与管理器MoB-M协作地配置网络设备NA的配置代理MoB-A(C);以及·适合于可能与管理器MoB-M协作地监视网络设备NA的监视代理MoB-A(M)。每个代理MoB-A(D)、MoB-A(C)和MoB-A(M)优选地提供有类似于图1的解释器IN的各自的解释器,然而为了简单起见在图3中未示出解释器。代理MoB-A(D)、MoB-A(C)和MoB-A(M)由代理管理器AM加载到网络设备NA上(参见图3中的箭头A1),代理管理器AM也在需要时启动它们的执行。例如,代理管理器AM可以加载监视代理MoB-A(M),并且在应当启动网络设备NA的监视时,在网络设备NA上启动监视代理MoB-A(M)的执行。监视代理MoB-A(M)可以被配置为提供一个或多个监视服务。例如,监视代理MoB-A(M)可以被配置为提供以下监视服务中的一个或多个:·在封包损失率测量方面和/或在延迟或抖动测量方面的性能监视,例如,如由归于同一个申请人名下的WO2010/072251、WO2011/079857、WO2012/059138、WO2013/013720或WO2013/174417所描述的那样;·由Cisco的IPSLA(因特网协议服务水平协议)定义的性能监视;·TWAMP(双向主动测量协议)或OWAMP(单向主动测量协议)性能监视;·Juniper的RPM(实时性能监视);·Y.1731SLM(综合损失测量);·Y.1731LM(损失测量);·Y.1731DM(延迟测量);·路径分析PWE3(伪线仿真EEE);·路径分析VPN(虚拟私有网络);·路径分析VLAN(虚拟局域网)。以上监视服务仅仅是示例性的。监视代理MoB-A(M)在网络设备NA处连续地或周期性地执行,以便周期性地向管理器MoB-M提供包括被监视的参数(例如,封包计数器、时间戳等)的值的监视报告文件,参见图3中的箭头A3″。管理器MoB-M优选地将这样的监视报告文件的内容转发给可视化管理器VM(参见图3中的箭头A7),可视化管理器VM负责向人操作者显示该内容(例如,以用于统计分析或计费目的)。监视代理MoB-A(M)的逻辑优选为主要是静态的,即,监视代理MoB-A(M)被配置为能够在不需要来自管理器MoB-M的指令的情况下自主地主要执行监视任务。然而,在它正在执行其静态定义的逻辑的同时,监视代理MoB-A(M)可能偶尔需要来自管理器MoB-M的指令(参见图3中的箭头A2″)。例如,当检测到监视代理MoB-A(M)的静态逻辑未预见到的事件(例如,未预料到的告警)时,监视代理MoB-A(M)可能需要指令。此外,管理器MoB-M可能偶尔向监视代理MoB-A(M)提供目的在于例如在不需要重新编写和重新加载整个代理逻辑的情况下增强监视功能、或者对代理功能进行控制或调试的指令。现在参照图4的流程图,在监视代理MoB-A(M)如上所述被执行的同时,代理管理器AM可以将发现代理MoB-A(D)加载到网络设备NA上(步骤401)。发现代理MoB-A(D)优选地被配置为仅执行几个从管理器MoB-M检索发现指令的预备的静态操作。因此,管理器MoB-M优选地将发现指令文件发送到网络设备NA的预定义目录(步骤402,还参见图3中的箭头A2'),发现代理MoB-A(D)使用该预定义目录来与管理器MoB-M交换信息。发现指令文件在发现代理MoB-A(D)的执行开始之前被加载。因此,通过适当地修改发现指令文件,每次发现代理MoB-A(D)被执行时,管理器MoB-M可以改变发现代理MoB-A(D)的行为。然后,周期性地执行发现代理MoB-A(D)(步骤403)。发现代理MoB-A(D)的执行可以例如在每一天的预定义时间自动地启动。在其执行期间,发现代理MoB-A(D)如以上参照图2描述的那样表现,即:它从预定义的本地目录检索发现指令文件(步骤203),它调用它自己的解释器(步骤204),该解释器对发现指令文件进行处理(205)以便产生发现指令的列表(步骤206),该发现指令的列表被执行(步骤207),并且产生发现报告文件并将该发现报告文件发送到管理器MoB-M(步骤208)。发现代理MoB-A(D)的执行然后在分派发现报告文件(参见图3中的箭头A3′)时结束(步骤209)。然后,发现报告文件优选地由管理器MoB-M接收(步骤404)。在下文中阐述步骤402、403和404的详细示例。由管理器MoB-M提供的发现指令文件中所包含的发现指令可以包括以下发现指令:当发现代理MoB-A(D)执行以上指令时,产生以下发现报告文件:然后,管理器MoB-M优选地将发现的与网络设备NA相关的信息转发给网络库存管理器NIM,以使得网络库存管理器NIM可以使用它们来更新网络库存(步骤405,还参见图3中的箭头A5)。管理器MoB-M还优选地通过与网络库存管理器NIM协作来确定是否需要更新网络设备NA的配置(步骤406,还参见图3中的箭头A6)。例如,参照以上详述的示例,管理器MoB-M确定在执行发现指令showmac-address-tabledynamic时由网络设备NA提供的MAC地址表是否包括任何新的MAC地址(即,不包括在以前发现的MAC地址表内的MAC地址),该新的MAC地址指示例如新的LTE天线已连接到网络设备NA并且现在应当被配置。如果不需要配置更新,则继续执行监视代理MoB-A(M),直到再次执行发现代理MoB-A(D)(可选地与新的发现指令文件一起执行,如果发现功能必须同时被修改的话)。如果需要配置更新,则管理器MoB-M优选地检查配置代理MoB-A(C)是否已经被加载到网络设备NA上(步骤407),并且在否定时,指示代理管理器AM加载配置代理MoB-A(C)(步骤408,还参见图3中的箭头A4)。配置代理MoB-A(C)优选地被配置为仅执行几个从管理器MoB-M检索配置指令的预备的静态操作。因此,管理器MoB-M优选地基于接收的发现报告文件的内容来产生配置指令文件,并然后将配置指令文件发送到网络设备的预定义目录(步骤409,还参见箭头A2),配置代理MoB-A(C)使用该预定义目录来与管理器MoB-M交换信息。配置指令文件优选地在配置代理MoB-A(C)的执行开始之前加载。因此,通过适当地修改配置指令文件,每次配置代理MoB-A(C)被执行时,管理器MoB-M可以改变配置代理MoB-A(C)的行为。根据一些有利的变体,配置指令可以由发现代理MoB-A(D)自身、而不是由管理器MoB-M提供给配置代理MoB-A(C)。这可以是例如当需要网络设备NA的配置中的较小的预定义改变时的情况。在这种情况下,除了或者替代向管理器MoB-M发送发现报告文件,发现代理MoB-A(D)自身对发现信息进行处理,并且产生配置指令文件,而不请求管理器MoB-M的任何干预。因此,网络设备NA的自主权增加。然后,执行配置代理MoB-A(C)(步骤410)。配置代理MoB-A(C)的执行可以例如在预定义的时间和日期自动地启动(例如,以用于使通信网络的几个网络设备的配置同步)。配置代理MoB-A(C)的执行还可以由发现代理MoB-A(D)启动,如果发现代理MoB-A(D)如上所述负责向配置代理MoB-A(C)提供配置指令的话。在其执行期间,配置代理MoB-A(C)如以上参照图2所描述的那样表现,即:它从预定义的本地目录检索配置指令文件(步骤203),它调用它自己的解释器(步骤204),该解释器对配置指令文件进行处理(205)以便产生配置指令的列表(步骤206),该配置指令的列表被执行(步骤207),并且产生配置报告文件并将该配置报告文件发送到管理器MoB-M(步骤208)。如上所述,在错误的情况下,还可以提供回滚。配置代理MoB-A(C)的执行然后在分派配置报告文件(参见图3中的箭头A3)时结束(步骤209)。在执行配置代理MoB-A(C)时,代理管理器AM优选地停止可能在网络设备NA处运行的其它脚本(诸如例如监视代理MoB-A(M))的执行。然后,当配置代理MoB-A(C)的执行结束时,优选地重新开始其它脚本的执行。参照以上详述的示例,将进一步详细描述步骤409、410和411。通过示例的方式,假定在以上阐述的发现的MAC地址表内检测到新的MAC地址(例如,MAC地址74c9.9a30.9456),该新的MAC地址指示新的LTE天线已连接到网络设备NA。然后,从在执行发现指令showarpvrfLTE_TRAFFIC时提供的ARP表,还发现关联到新的MAC地址74c9.9a30.9456的IP地址10.10.108.200。假定监视代理MoB-A(M)被配置为执行在封包损失率测量方面的性能监视(例如,如归于同一个申请人名下的WO2010/072251所描述的那样),那么产生包括以下配置指令的配置指令文件:应当注意到,新的LTE天线的IP地址10.10.108.200被插入在访问列表中以用于在传入方向和传出方向两个方向上进行封包计数。还应当注意到,监视代理MoB-A(M)的执行的中断和恢复在以上配置指令文件内明确地提供。然而,这不是限制性的。监视代理MoB-A(M)的执行的中断和恢复实际上可以由配置代理MoB-A(C)自身的静态逻辑提供。当单个监视代理MoB-A(M)在网络设备NA处运行时,或者如果网络设备NA可以自主地确定哪个监视代理MoB-A(M)应当被中断和/或恢复,这是可能的。当配置代理MoB-A(C)执行以上指令时,产生以下配置报告文件:应当注意到,在指令文件的每一行执行时,网络设备NA以具有网络设备NA的名称(举例的情况下,“router1”)的提示返回配置指令的副本。配置指令文件的空白行导致配置报告文件内的对应行,该对应行仅包括提示。在配置指令不能恰当地执行的情况下,其输出还包括错误消息。在这样的情况下,省略后续的配置指令的执行,并且可选地执行回滚。配置报告文件然后优选地由管理器MoB-M接收(步骤411)。然后,基于配置报告文件的内容,管理器MoB-M优选地产生汇总报告文件,该汇总报告文件包括例如在配置过程期间出现的可能的问题的汇总(步骤412)。管理器MoB-M优选地将汇总报告文件转发给可视化管理器VM(参见图3中的箭头A7),虚拟管理器VM负责向人操作者显示汇总报告文件(步骤413)。因此,如上所述的发现代理MoB-A(D)、配置代理MoB-A(C)和监视代理MoB-A(M)主动地参与网络设备NA自身上的发现任务、配置任务和监视任务的执行。此外,有利地,与管理器MoB-M的协作有利地允许这样的代理以动态的方式自动地适应或改变它们的行为,而不需要操作者重新编写和重新加载脚本的干预。实际上,板载管理管理器MoB-M通过向代理发送代理用来补充它们的预定义的静态逻辑的发现指令、配置指令或监视指令来施加其控制。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1