摘要:本文分析了多形式配置管理中目前存在的问题,并给出了一种适配多形式配置管理的方法,引入管理信息模型的概念。介绍了管理信息模型的核心功能:建模、建数据库表,统一消息结构,检查、分发和恢复配置。同时,通过一个实例,给出了具体的实施过程。
关键词:管理信息模型;多形式配置;检查、分发和恢复配置
1 多形式配置管理目前存在的问题
随着internet的飞速发展,网络设备的配置管理形式也日趋多元化。从传统的数据设备管理方式,以人机接口为主导的基于命令行接口CLI(Command Line Interface)配置方式,简单的机机接口为主导的WEB管理;到引入了管理信息库MIB(Management Information Base)的简单网络管理协议SNMP(Simple Network Management Protocol);再到近年来随着软件定义网络SDN(Software Defined Network)兴起而发展起来的基于XML的网络配置协议NETCONF(Network Configuration Protocol)、支持JISON作为编码的网络配置协议RESTCONF。
多元化的配置管理途经,对应着不同的网络接口协议,也就意味着报文的格式均不相同。这给承载协议的业务编码带来了极大的复杂性。有些厂商设备的解决方法是将不同的终端配置管理协议进行融合,或者将不同的终端配置管理协议根据结果转换成传统的CLI配置,下发到承载协议的各个业务执行。协议在不同的终端定义的业务粒度不一致,强行融合不同配置管理终端协议会导致逻辑处理的复杂性和实施的困难性。而根据配置的结果来将配置转换成CLI的报文格式,又会导致某些配置终端的高级能力无法更好地呈现,比如netconf的validate能力,replace能力等。
2 管理信息模型介绍
为了解决上述问题,本文引入了管理信息模型MIM(Management Information Model),为承载协议的业务分离了不同的配置管理终端的区别,在C/S结构中,统一了不同的配置终端到协议的消息格式,完成了配置语义和语法校验,完成了配置分发和配置恢复。
2.1 承载协议的业务建模
模型是由语义和语义的用户视图组成。语义包括结构、行为和功能。对承载协议的业务建模就是设计表结构来保存业务配置,一个对象就是一张数据库表,对象的一个属性对应数据库表的一个字段,对象的一个实例对应数据库表的一行记录。
承载协议的业务需要将业务逻辑上属于同一个概念的配置数据设计在同一个对象里,罗列每个配置数据并将其作为该对象的属性建模,并给每个属性进行相关信息的补充,如:数据类型、长度、默认配置值、取值范围等。
2.2 统一消息结构
管理信息模型作为一个独立的模块,在各个配置终端驻留客户端,并提供组包消息接口给配置终端进程使用。同时,在承载协议的业务侧也会驻留客户端,并提供解包的接口给业务调用。根据承载协议的业务建模,定义出消息的ITLV结构,I(identity)为报文的标识,T(type)为配置的类型,L(Length)为配置的长度,V(Value)为配置的值。ITLV结构的消息,就是管理信息模型服务端和客户端通信的消息结构。图1为管理信息模型上下游消息交互图。
2.3 检查、分发和恢复配置
由于管理信息模型可以直接读写数据库,因此,配置管理终端的过程数据,管理信息模型是可以获取到的。基于此,管理信息模型可以对不同的配置管理终端下发的报文进行一些语义上的检查。比如检查接口配置的地址是否在合法范围内,协议配置之间的顺序关系是否正确,协议允许配置的实例个数是否超限等。这样的好处是,避免配置报文发送到承载协议的业务后,业务检查报错,业务报错后,需要处理错误流程,恢复协议状态。如果能够提前报错,即极大地减轻了业务的负担,又快速地给用户提示出配置错误信息。
管理信息模型的客户端驻留在承载协议的业务进程,通过管理信息模型提供的接口进行模型的动态信息的注册,当管理信息模型的服务端感知到客户端UP后,会将客户端注册的信息以建模中对象的粒度进行缓存。当配置管理终端下发配置,管理信息模型会将配置管理终端下发的配置和数据库中的配置进行比较,有差异的配置会通过可靠消息机制分发到注册了该对象的业务执行。
当前设备中已经生效的配置,可以通过写盘,保存到设备的物理内存中。当设备掉电重启,管理信息模型会将设备物理内存中的配置恢复到设备的数据库中,并根据承载协议的业务定义的配置恢复順序将设备中恢复出来的配置数据分发到业务进程生效配置。
3 实例操作指导
本文通过CLI以及NETCONF作为配置管理终端,承载协议的业务为FTP为例,来说明管理信息模型在系统配置中的作用。本文中需要支持的协议能力是:配置FTP服务器允许用户通过FTP访问的顶层目录和其访问权限。
3.1 分析协议功能并完成协议建模
根据协议需要支持的功能,一个是设置用户通过FTP访问的顶层目录,一个是设置用户通过FTP访问的顶层目录的权限。因为两个是相关联的,所以,可以设置成一个对象的两个配置属性。顶层目录可以设置成字符型,并作为必选属性。必选属性在建数据库表的时候,就是该数据库表的主键。权限可以设置的值是读、写,因此用unit8就已经足够。
3.2 将不同的用户配置终端报文转换成管理信息模型定义的统一消息格式
本文以基于命令行接口CLI终端配置接入、基于XML的网络配置协议NETCONF接入为例。管理信息模型驻留在不同的配置管理进程的客户端,将对应的不同配置管理协议,转换成统一的ITLV报文。
3.3 检查,分发和恢复配置
管理信息模型的服务端在收到配置管理终端的ITLV报文后,根据模型对其检查,比如设置的目录合法性,配置长度是否超过范围等。
驻留在承载协议的业务侧的管理信息模块客户端,在收到管理信息模型发送过来的ITLV报文后,对报文进行解包,分离出配置对应的业务领域信息,承载协议的业务再对协议配置信息进行处理。如,本例中,分离出的配置信息就是:用户通过FTP协议上传和下载时顶层路径名称(/sysdisk0/)、用户通过FTP协议访问顶层路径的权限为只读。同时管理信息模型还会提供一套配置结果的设置接口供承载协议的业务使用。承载协议的业务再处理协议逻辑之后,将处理结果通过管理信息模型的接口,从管理信息模型驻留在承载协议的业务的客户端通过可靠消息发送到管理信息模型的服务端。管理信息模型同时会在配置管理终端进程提供一套解析业务返回码信息的接口,转换成不同的配置管理用户可以识别的码字。
当承载协议的业务完成协议逻辑处理,并给管理信息模型的服务端返回成功后,管理信息模型将本次的配置提交到运行数据库中。此时,操作任一配置管理终端的用户,可以通过出发写盘操作,将运行数据库中的配置写入到物理设备中。目前支持的写入格式包括:二进制格式文件,文本格式文件。二进制格式文件有启动版本速度快的优点,适用于同版本掉电重启恢复配置。文本格式文件,适用于跨版本升级。不论是采取哪种文件格式,都是先将配置恢复到内存数据库中。当承载协议的业务进程UP后,会调用管理信息模型提供的接口,来向管理信息模型注册需要恢复的配置信息,将内存数据库中的配置数据按照配置顺序进行恢复。
4 展望
路由设备或者是交换机设备,在引入了管理信息模型之后,业务可以专注于逻辑处理,分离了配置终端对业务逻辑层面代码的冲击,增加了业务侧的稳定性,也就间接增加了产品的稳定性和市场竞争性。
随着互联网,5G的飞速发展,设备管理多元化将成为不可避免的趋势,传统的机机接口配置管理对用户的要求过高,已经渐渐被其他人机接口的管理配置终端替代。未来,越来越多的承载协议的业务需要支持多配置终端。而有了管理信息模型之后,业务支持多配置终端,在业务层面上冲击大大减少。提高了设备的稳定性和市场的竞争力。
參考文献
[1]浪潮思科网络科技有限公司.一种多形式配置管理的公共配置数据库方法以及装置:中国,CN 112272104[P].2021-01-26
[2]李晨.基于CLI的IP RAN 网络管理系统框架的研究和实现[D].武汉邮电科学研究院,2014
作者介绍:李艳文(1988-) ,安徽桐城人,现任职于中兴通讯股份有限公司,负责高端路由器的软件研发和维护,通信协议软件开发有限专家级工程师。研究方向:配置管理,用户数据的存储和恢复。
2249501705262