一种基于可继承结构的网络设备配置模型及配置方法与流程

文档序号:15776103发布日期:2018-10-30 15:19阅读:375来源:国知局
一种基于可继承结构的网络设备配置模型及配置方法与流程

本发明涉及it设备运维管理技术领域,具体来说,涉及一种基于可继承结构的网络设备配置模型及配置方法。



背景技术:

首先,目前网络设备、安全设备的生产厂商、品牌、型号繁杂,数量众多,仅仅考虑国内的网络设备制造厂商就不下于百家,每个厂商的品牌、型号就更是不计其数,涉及到的配置信息更是复杂多样。

另一方面,随着技术的发展,网络中的业务得到了长足的发展,网络设备从原来单一的网络接入业务扩展至如今的语音、视频、准入控制等多种新业务并存。网络设备中的配置信息中,所涉及的除了tcp/ip体系结构模型、常见协议、网络地址规划等基本方面外,还有vlan、stp、rip、ospf、nat等协议和配置。

这些多种多样的网络设备,被运用在我国的多个行业的各个领域,那么如何快速、批量、正确、方便的管理这些设备,是广大it技术人员需要面临的一个问题。以一个中等规模的股份制银行为例,就会存在包括思科、华为、华三、山石网科、锐捷等厂家的各种网络设备,数量至少在上百台。

那么对于企业的运维人员来讲,需要熟悉这些厂家各种类型设备的配置项,并且需要熟知相关命令,这对任何水平的技术人员来讲都是一个相当头疼的难题。另外,如何快速、及时、准确、安全的配置这些设备,也是急需解决的问题。

目前,一些研发水平较高的it信息服务商开发了相关的工具,包括具有自动化运维属性的堡垒机、巡检工具、故障处理工具等,但是这些软件和工具,只能针对某些特定厂商和、品牌和类型的网络设备,支持的设备品牌、类型比较单一;而且无法快速扩展支持的广度和深度。造成这种现象的一个重要原因就是无法处理好各种繁杂的网络设备配置信息。以最简单的网络设备配置巡检工具为例,常见的处理方式就是将在巡检中会用到的各种巡检命令,固化到文本文件,例如txt或者excel。



技术实现要素:

针对相关技术中的上述技术问题,本发明提出一种基于可继承结构的网络设备配置模型及配置方法,能够克服现有技术的上述不足。

为实现上述技术目的,本发明的技术方案是这样实现的:

一种基于可继承结构的网络设备配置模型,包括:

网络设备模型基本架构:用于在原有模型的基础上开发尚未使用的品牌或类型的网络设备;及

若干驱动包:用于实现统一的ssh或telnet命令行协议登陆到设备上,运行对应的命令,并从命令结果中匹配出对应配置项具体的值存入制定好的模型中,最终实现不同设备同一模型的配置数据展现;每个驱动包对应一个唯一的适配器账号,驱动包中的路径名称与适配器账号的名称一一对应。

进一步的,所述的网络设备模型基本架构包括:

核心模型:是所有设备模型的根节点,用于定义所有设备的核心属性;

通用设备模型:继承自核心模型,用于定义所有设备所有通用的属性,且不同类型的设备可以选择不同的通用属性;

特定模型:继承了核心模型和通用设备模型所有属性,并针对特定设备,定义设备的特有属性,类似思科模型、华为模型;

类别模型:属于基础支撑模块,用于定义其他模型中将要用到的属性类型。

进一步的,每个驱动包均包括:

备份函数模块:通过调用登陆模块登陆到对应设备上,然后执行一批查看的命令,获取相关命令的输出结果,将所有结果分别记录到哈希变量中,最后调用解析和打印模块,将匹配到的配置项内容输出到对应的网络设备模型基本架构模型文件中,完成整个备份过程;

登录模块:首先获取设备的ip地址、用户名、密码、协议信息,然后通过ssh/telnet命令行协议尝试登陆设备,匹配到输入用户名密码的信息,则输入设备的账号,若登陆失败则提示失败,若登陆成功,则判断并获取最终出现的提示符,作为之后每次执行命令后进行匹配的结束等待提示符;

解析和打印模块:处理备份模块中传递过来的命令结果对应的哈希数据,根据正则表达式解析设备上命令的输出,匹配相应的配置项,并根据网络设备模型基本架构模型,将配置项的值按照规定的格式打印出来。

本发明还提供一种基于可继承结构的网络设备配置模型的配置方法,包括如下步骤:

s1:备份函数模块向登陆模块发起申请,通过连接设备后输入相应的密码规则,验证通过后,自动获得设备对应的匹配符正则表达式,获取并保存从登录模块获得的设备登陆提示符;

s2:备份函数模块到设备上执行不同命令后,将命令结果以哈希变量的形式存储,并调用解析和打印模块对系统信息、配置文件、用户信息、接口信息、访问控制策略信息、路由信息、snmp信息、vlan信息进行解析,并按照网络设备模型基本架构模型规范输出结果;

s3:解析和打印模块根据网络设备模型基本架构模型中对应信息定义的格式规范,输出设备解析出的各类信息;

s4:备份函数模块抓取解析与打印模块输出的设备信息,获得完整的网络设备模型基本架构模型输出,并保存为xml格式文件。

本发明的有益效果:本发明采用可继承的网络设备模型架构,通过采用可方便维护的脚本驱动包的方式来抽象不同网络设备的配置信息,抽象了实际网络设备操作的底层实现,使业务人员能够在更高层面、根据运维的业务需求进行请求和下发命令,达到了简化网络设备配置信息管理的技术效果,在兼容性、扩展性、安全性和管理深度等方面都有显著优势,对企业用户在精细化配置管理、规范操作、规避操作风险等方面具有积极的意义。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本发明实施例所述的网络设备模型基本架构的组成框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,根据本发明实施例所述的一种基于可继承结构的网络设备配置模型,包括:

网络设备模型基本架构:用于在原有模型的基础上开发尚未使用的品牌或类型的网络设备;及

若干驱动包:用于实现统一的ssh或telnet命令行协议登陆到设备上,运行对应的命令,并从命令结果中匹配出对应配置项具体的值存入制定好的模型中,最终实现不同设备同一模型的配置数据展现;每个驱动包对应一个唯一的适配器账号,驱动包中的路径名称与适配器账号的名称一一对应。

其中,所述的网络设备模型基本架构包括:

核心模型:是所有设备模型的根节点,用于定义所有设备的核心属性;

通用设备模型:继承自核心模型,用于定义所有设备所有通用的属性,且不同类型的设备可以选择不同的通用属性;

特定模型:继承了核心模型和通用设备模型所有属性,并针对特定设备,定义设备的特有属性,类似思科模型、华为模型;

类别模型:属于基础支撑模块,用于定义其他模型中将要用到的属性类型。

其中,每个驱动包均包括:

备份函数模块:通过调用登陆模块登陆到对应设备上,然后执行一批查看的命令,获取相关命令的输出结果,将所有结果分别记录到哈希变量中,最后调用解析和打印模块,将匹配到的配置项内容输出到对应的网络设备模型基本架构模型文件中,完成整个备份过程;

登录模块:首先获取设备的ip地址、用户名、密码、协议信息,然后通过ssh/telnet命令行协议尝试登陆设备,匹配到输入用户名密码的信息,则输入设备的账号,若登陆失败则提示失败,若登陆成功,则判断并获取最终出现的提示符,作为之后每次执行命令后进行匹配的结束等待提示符;

解析和打印模块:处理备份模块中传递过来的命令结果对应的哈希数据,根据正则表达式解析设备上命令的输出,匹配相应的配置项,并根据网络设备模型基本架构模型,将配置项的值按照规定的格式打印出来。

本发明还提供一种基于可继承结构的网络设备配置模型的配置方法,包括如下步骤:

s1:备份函数模块向登陆模块发起申请,通过连接设备后输入相应的密码规则,验证通过后,自动获得设备对应的匹配符正则表达式,获取并保存从登录模块获得的设备登陆提示符;

s2:备份函数模块到设备上执行不同命令后,将命令结果以哈希变量的形式存储,并调用解析和打印模块对系统信息、配置文件、用户信息、接口信息、访问控制策略信息、路由信息、snmp信息、vlan信息进行解析,并按照网络设备模型基本架构模型规范输出结果;

s3:解析和打印模块根据网络设备模型基本架构模型中对应信息定义的格式规范,输出设备解析出的各类信息;

s4:备份函数模块抓取解析与打印模块输出的设备信息,获得完整的网络设备模型基本架构模型输出,并保存为xml格式文件。

为了方便理解本发明的上述技术方案,以下通过具体使用方式上对本发明的上述技术方案进行详细说明。

本发明主要是通过ssh、telnet等协议实现。我们用perl脚本按照一定框架定义,编写与设备的交互过程函数,将这些perl脚本按照设备厂商和型号系列分类打包,称之为驱动程序包。驱动程序包是系统的底层支持,可以单独进行升级、扩展和自定义等。中间主要包括平台核心管理引擎、合规检测引擎、报表引擎,以及任务与计划管理模块。

利用可维护的脚本驱动包的方式来实现网络配置自动化,抽象了实际网络设备操作的底层实现,让工程师能够在需求层面上请求和下发命令。采用脚本方式预先定义好与设备的命令交互过程,执行配置变更时,通过鼠标的简单点击触发执行脚本。诸如配置vlan端口、修改用户密码、设置ntp/syslog服务器等,以及调整访问控制列表等频繁执行的任务对于管理员来说都是费时费力的重复性工作,完全可以通过自动化脚本来实现。

系统具有优秀的兼容性和扩展性,具有从横向(管理设备类型的扩展)和纵向(管理功能的深化)两个方面的可扩展能力,可以通过编写新的设备模型(xml/xsd)、驱动脚本(perl),实现对新设备、新版本的良好支持;同时,通过升级原有的模型和驱动,可以扩展设备的管理深度,增加新的自动化操作功能。

界面与接口上,netconfig采用了b/s架构,默认提供友好而安全的https协议的web人机交互界面,也提供cli(telnet/ssh)命令行模式,允许通过命令行登录和操作。与此同时,netconfig提供完善的webservice接口,也可以提供javaapi专用接口,实现与第三方的工单流程、网管、itil运维、soc安管、堡垒机等系统进行全方位整合,从而实现完整的一体化运维。

本发明的网络设备模型基本架构(以下简称ned)包括核心模型,是所有设备模型的根节点,用于定义所有设备所共有的属性;通用设备模型,通用设备模型继承自核心模型,没有单独定义模型的设备,都会基于这个模型进行管理;类别模型用于定义其他模型中将要用到的属性类型,属于基础支撑模块。继承自通用设备模型的是各个品牌、型号的网络设备模型,例如,类别模型中的思科模型继承自通用设备模型,定义了大量思科设备特有的属性项;华为模型继承自通用设备模型,是专门为管理华为、华三设备所定义的模型。这种支持继承与扩展的模型,能够保证针对尚未使用的品牌或类型的网络设备,在原有模型的基础上快速开发。

为了能实现所有的设备使用统一的模型记录相关配置项和配置文件,针对不同厂商,不同系列,甚至不同类型,开发不同的驱动包。该驱动的具体功能是实现统一的ssh或telnet登陆到设备上,运行对应的命令,并从命令结果中匹配出对应配置项具体的值存入制定好的模型中,最终实现不同设备同一模型的配置数据展现。

每个驱动包对应一个唯一的适配器账号,驱动包中的路径名称与适配器账号的名称一一对应。每个驱动主要包含三个主体部分:备份函数的模块、登陆模块(autologin.pm)、解析和打印模块(parsers.pm)。登陆模块主要负责设备的整个登陆过程,备份模块和解析打印模块主要打印设备备份过程中生成的包含有配置文件的ned文件。

设备备份是到设备上获取设备的软硬件和配置文件等信息,然后按照可扩展的网络设备模型架构,存储设备的配置项信息和配置文件等内容。

备份模块通过调用登陆模块,登陆到对应设备上,然后执行一批查看的命令,获取相关命令的输出结果,将所有结果分别记录到哈希变量中,最后调用解析和打印模块,将匹配到的配置项内容输出到对应的ned模型文件中,完成整个备份过程。其中,调用的模块入口、到设备上执行命令调用的函数、调用解析和分析模块等,均做了统一管理,使用统一的执行函数进行操作。实际的执行命令按照不同种类的设备,以不同的驱动包的形式出现。

登陆模块的执行流程为首先获取设备的ip地址、用户名密码、协议等信息,然后通过ssh/telnet命令行协议尝试登陆设备,匹配到输入用户名密码的信息,则输入设备的账号,若登陆失败则提示失败,若登陆成功,则判断并获取最终出现的提示符,作为之后每次执行命令后进行匹配的结束等待提示符。

解析和打印模块主要处理备份模块中传递过来的命令结果对应的哈希数据,根据正则表达式解析设备上命令的输出,匹配相应的配置项,并根据ned模型,将配置项的值按照规定的格式打印出来。格式具体参考模型介绍,待设备上所有的数据按ned模型输出成功后,即完成整个备份过程。

综上所述,本发明采用可继承的网络设备模型架构,通过采用可方便维护的脚本驱动包的方式来抽象不同网络设备的配置信息,抽象了实际网络设备操作的底层实现,使业务人员能够在更高层面、根据运维的业务需求进行请求和下发命令,达到了简化网络设备配置信息管理的技术效果,在兼容性、扩展性、安全性和管理深度等方面都有显著优势,对企业用户在精细化配置管理、规范操作、规避操作风险等方面具有积极的意义。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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