CN111010305A - 一种基于netconf协议的配置管理系统及方法 - Google Patents
一种基于netconf协议的配置管理系统及方法 Download PDFInfo
- Publication number
- CN111010305A CN111010305A CN201911340126.2A CN201911340126A CN111010305A CN 111010305 A CN111010305 A CN 111010305A CN 201911340126 A CN201911340126 A CN 201911340126A CN 111010305 A CN111010305 A CN 111010305A
- Authority
- CN
- China
- Prior art keywords
- configuration
- netconf
- module
- information
- client
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0213—Standardised network management protocols, e.g. simple network management protocol [SNMP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于NETCONF协议的配置管理系统及方法,涉及通信技术领域。基于NETCONF协议的配置管理系统包括非NETCONF协议网络管理代理、NETCONF服务器组件和设备数据库,设备数据库包括运行数据库、候选配置数据库和启动数据库;NETCONF服务器组件用于从客户端接收携带第一配置信息的RPC消息,并通过第一内部数据库IDB接口将第一配置信息下发到所述设备数据库;非NETCONF协议网络管理代理用于从客户端接收基于非NETCONF协议的第二配置信息,并下发到设备数据库。本发明能够提高配置信息管理效率。
Description
技术领域
本发明涉及通信技术领域,具体是涉及一种基于网络配置协议(NetworkConfiguration Protocol,NETCONF)的配置管理系统及方法。
背景技术
随着互联网(Internet)技术的高速发展,新一代的NETCONF技术应运而生,NETCONF协议由RFC6241定义,采用客户端/服务器端(Client/Server)结构,提供了一个标准框架和一个标准远程过程调用协议(Remote Procedure Call,RPC)方法的集合,网络管理用户可以增加、修改和删除网络设备的配置信息,以及获取网络设备的配置信息和状态信息。
在基于NETCONF协议的配置管理框架中,除了NETCONF协议外,还可以通过其它专有配置机制进行配置管理,例如命令行界面(Command Line Interface,CLI)、简单网络管理协议(Simple Network Management Protocol,SNMP)和网页(Web)等。由于各专有配置机制与NETCONF服务器之间均需要通过专用接口通信,造成配置信息管理效率低。
另外,在现有的NETCONF协议中,NETCONF服务器只有一个候选配置数据库,候选配置数据库通常采用锁操作,以保证多用户状态下配置信息的一致性和安全性,但也会导致资源竞争问题。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种基于NETCONF协议的配置管理系统及方法,提高配置信息管理效率。
本发明提供一种基于网络配置NETCONF协议的配置管理系统,所述系统包括非NETCONF协议网络管理代理、NETCONF服务器组件和设备数据库,设备数据库包括运行数据库、候选配置数据库和启动数据库;
所述NETCONF服务器组件用于从客户端接收携带第一配置信息的RPC消息,并通过第一内部数据库IDB接口将第一配置信息下发到所述设备数据库;
所述非NETCONF协议网络管理代理用于从客户端接收基于非NETCONF协议的第二配置信息,并下发到所述设备数据库。
在上述技术方案的基础上,所述NETCONF服务器组件还用于从客户端接收携带第一获取请求的RPC消息,第一获取请求包括待获取的配置数据的信息;
所述NETCONF服务器组件包括YANG文件模块和网关模块,YANG文件模块用于接收YANG文件,网关模块用于基于YANG文件对所述第一配置信息进行封装后,调用所述第二IDB接口下发到所述设备数据库;以及根据第一获取请求从所述设备数据库获取配置数据。
在上述技术方案的基础上,所述网关模块为NETCONF/SNMP网关模块,NETCONF/SNMP网关模块包括转换模块、XML/MIB适配层、解析验证器、对象树和错误处理模块;
转换模块用于将所述YANG文件转换为相应的网关适配文件,并发送到XML/MIB适配层;
XML/MIB适配层用于进行XML格式数据与MIB格式数据之间的转换;
解析验证器用于对XML格式数据进行解析和合法性验证,将验证失败信息反馈给错误处理模块;将通过验证的XML格式数据写入对象树中;
对象树用于将存储的数据发送给XML/MIB适配层;
错误处理模块用于将携带验证失败信息的RPC-reply消息回复给客户端;
其中,XML格式数据包括所述第一配置信息和网关适配文件。
在上述技术方案的基础上,所述NETCONF服务器组件包括NETCONF参数配置模块;
所述非NETCONF协议网络管理代理还用于向所述NETCONF参数配置模块下发所述NETCONF服务器组件的配置参数以及所述配置参数的获取请求;
所述NETCONF参数配置模块用于通过第二IDB接口向所述设备数据库转发所述配置参数;以及根据所述配置参数的获取请求从所述设备数据库获取所述配置参数,并转发给所述非NETCONF协议网络管理代理。
在上述技术方案的基础上,所述非NETCONF协议网络管理代理还用于向所述NETCONF参数配置模块分别下发所述第二配置信息和客户端发送的第二获取请求,第二获取请求包括待获取的配置数据的信息;
所述NETCONF参数配置模块还用于通过所述第二IDB接口向所述设备数据库转发所述第二配置信息;以及根据第二获取请求从所述设备数据库获取配置数据,并转发给所述非NETCONF协议网络管理代理。
本发明还提供一种基于前述的配置管理系统的配置管理方法,所述NETCONF服务器组件从客户端接收携带第一配置信息的RPC消息,并通过第一IDB接口将第一配置信息下发到所述设备数据库;
所述非NETCONF协议网络管理代理从客户端接收基于非NETCONF协议的第二配置信息,并下发到所述设备数据库。
在上述技术方案的基础上,所述NETCONF服务器组件包括YANG文件模块和网关模块;
YANG文件模块接收YANG文件;
网关模块基于YANG文件对所述第一配置信息进行封装后,调用所述第一IDB接口下发到所述设备数据库;
所述方法还包括:所述NETCONF服务器组件从客户端接收携带第一获取请求的RPC消息,网关模块根据第一获取请求从所述设备数据库中获取所述配置数据,其中,第一获取请求包括待获取的配置数据的信息。
在上述技术方案的基础上,所述网关模块为NETCONF/SNMP网关模块,NETCONF/SNMP网关模块包括转换模块、XML/MIB适配层、解析验证器、对象树和错误处理模块;
转换模块将所述YANG文件转换为相应的网关适配文件,并发送到XML/MIB适配层;
解析验证器对XML格式数据进行解析和合法性验证,将验证失败信息反馈给错误处理模块,错误处理模块将携带验证失败信息的RPC-reply消息回复给客户端;解析验证器将通过验证的XML格式数据写入对象树中,对象树将存储的数据发送给XML/MIB适配层;
XML/MIB适配层进行XML格式数据与MIB格式数据之间的转换,其中,XML格式数据包括所述第一配置信息和网关适配文件。
在上述技术方案的基础上,所述NETCONF服务器组件包括NETCONF参数配置模块;
所述方法还包括:
所述非NETCONF协议网络管理代理向所述NETCONF参数配置模块下发所述NETCONF服务器组件的配置参数以及所述配置参数的获取请求;
所述NETCONF参数配置模块通过第二IDB接口向所述设备数据库转发所述配置参数;以及根据所述配置参数的获取请求从所述设备数据库获取所述配置参数,并转发给所述非NETCONF协议网络管理代理。
在上述技术方案的基础上,所述方法还包括:
所述非NETCONF协议网络管理代理向所述NETCONF参数配置模块分别下发所述第二配置信息和客户端发送的第二获取请求,第二获取请求包括待获取的配置数据的信息;
所述NETCONF参数配置模块通过所述第二IDB接口向所述设备数据库转发所述第二配置信息;以及根据第二获取请求从所述设备数据库获取配置数据,并转发给所述非NETCONF协议网络管理代理。
与现有技术相比,本发明实施例提供基于网络配置NETCONF协议的配置管理系统,配置管理系统包括非NETCONF协议网络管理代理、NETCONF服务器组件和设备数据库,设备数据库包括运行数据库、候选配置数据库和启动数据库;NETCONF服务器组件用于从客户端接收携带第一配置信息的RPC消息,并通过第一IDB接口将第一配置信息下发到设备数据库;非NETCONF协议网络管理代理用于从客户端接收基于非NETCONF协议的第二配置信息,并下发到设备数据库,能够简化配置管理系统,提高配置管理效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例基于NETCONF协议的配置管理系统示意图;
图2是NETCONF/SNMP网关模块的示意图;
图3是本发明实施例NETCONF服务器组件下发第一配置信息的流程图;
图4是本发明实施例配置回滚流程图;
图5是本发明实施例NETCONF服务器组件从设备数据库中获取配置数据的流程图;
图6是本发明实施例CLI/SNMP/WEB网络管理代理下发第二配置信息到设备数据库的流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述。
参见图1所示,本发明实施例基于NETCONF协议的配置管理系统设于NETCONF服务器端中,下文中的NETCONF服务器端简称为服务器端,服务器端包括NETCONF服务器组件、非NETCONF协议网络管理代理和设备数据库(Database)。设备数据库包括运行数据库(Running)、候选配置数据库(Candidate)和启动数据库(Startup)。
如图1所示,非NETCONF协议网络管理代理可以是CLI/SNMP/WEB网络管理代理,CLI/SNMP/WEB网络管理代理支持CLI、SNMP和WEB中的至少一种配置机制。
本发明实施例配置管理系统用于响应客户端的请求,通过NETCONF服务器组件和非NETCONF协议网络管理代理分别下发配置信息到设备数据库中,以及从设备数据库获取配置数据。
在下发配置信息过程中:
NETCONF服务器组件用于从客户端接收携带第一配置信息的RPC消息,并通过第一内部数据库(Internal Database,IDB)接口将第一配置信息下发到设备数据库。
非NETCONF协议网络管理代理用于从客户端接收基于非NETCONF协议的第二配置信息,并下发到设备数据库。
从设备数据库获取配置数据的过程中:
NETCONF服务器组件用于从客户端接收携带第一获取请求的RPC消息,并从设备数据库获取配置数据。
非NETCONF协议网络管理代理用于从客户端接收第二获取请求,并通过NETCONF服务器组件从设备数据库获取配置数据。
具体的,第一获取请求和第二获取请求均包括待获取的配置数据的信息,配置数据的信息包括过滤条件。
本发明实施例的非NETCONF协议网络管理代理(例如CLI/SNMP/WEB网络管理代理)接收客户端的配置请求后,不需要通过NETCONF服务器组件就可以访问设备数据库,能够简化配置管理系统,提高配置管理效率。
设备数据库供NETCONF协议和其他非NETCONF协议网络管理代理共用,非NETCONF协议网络管理代理和NETCONF服务器组件接收客户端的配置请求后,都将配置信息下发到设备数据库中,一方面,可以节约存储资源;另一方面,可以灵活地从设备数据库中获取配置数据,例如,可以通过NETCONF服务器组件获取由非NETCONF网络管理代理下发到设备数据库的配置数据,也可以通过非NETCONF网络管理代理获取NETCONF服务器组件下发到设备数据库的配置数据。
在一种可选的实施方式中,NETCONF服务器组件包括NETCONF参数配置模块。
非NETCONF协议网络管理代理还用于向NETCONF参数配置模块下发NETCONF服务器组件的配置参数以及配置参数的获取请求。
NETCONF参数配置模块用于通过第二IDB接口向设备数据库转发配置参数;以及根据配置参数的获取请求从设备数据库获取配置参数,并转发给非NETCONF协议网络管理代理。
在一种可选的实施方式中,第一配置信息和第二配置信息均包括下发模式的信息,下发模式包括立即模式和两阶段模式。
在立即模式下,第一配置信息和第二配置信息均被直接下发到运行数据库。
在两阶段模式下,第一配置信息和第二配置信息先下发到候选配置数据库,根据客户端的提交指令,再被下发到运行数据库。
以下对NETCONF服务器组件和非NETCONF协议网络管理代理的配置管理分别说明。
参见图1所示,NETCONF服务器组件包括NETCONF参数配置模块、可扩展标记语言(Extensible Markup Language,XML)处理模块、会话(SESSION)管理模块、安全外壳协议(Secure Shell,SSH)连接子系统、RPC消息处理模块、通知(NOTIFY)消息处理模块、增强认证模块、错误处理模块、YANG文件模块和网关模块,网关模块为NETCONF/SNMP网关模块。
NETCONF参数配置模块用于存储NETCONF服务器组件的配置参数,用户可以通过CLI/SNMP/WEB网络管理代理向NETCONF服务器组件下发配置参数,具体的,CLI/SNMP/WEB网络管理代理调用NETCONF服务器端网管应用程序编程接口(Application ProgrammingInterface,API)下发配置参数,配置参数包括配置NETCONF支持会话个数和打开/关闭DEBUG消息等。NETCONF支持的会话个数表明客户端和服务器建立会话连接的个数,也表明有多少个用户可以同时下发配置信息。客户端和服务器端之间的会话个数为服务器端配置的会话个数和SSH支持的会话个数的较小值。
NETCONF参数配置模块调用第二IDB接口,把通过CLI/SNMP/WEB网络管理代理下发的NETCONF服务器组件的配置参数存储到设备数据库中。在本发明实施例中,通过CLI/SNMP/WEB网络管理代理和NETCONF/SNMP网关模块都能获取该配置参数。
SESSION管理模块用于会话管理,主要功能包括:根据NETCONF连接消息建立SESSION;定时器如果连接超时关闭SESSION;根据NETCONF删除会话消息关闭SESSION;多个SESSION管理以及SESSION信息处理。
XML处理模块用于针对libxml库函数实现适用于NETCONF使用的XML函数二次封装,并解析收到的XML报文,生成回应的XML报文。
NETCONF报文使用XML格式,具有强大的过滤能力,而且每一个数据项都有一个固定的元素名称和位置,这使得同一厂商的不同设备具有相同的访问方式和结果呈现方式,不同厂商之间的设备也可以经过映射XML得到相同的结果。
SSH连接子系统用于处理SSH服务器(Server)与NETCONF代理(Agent)之间的交互。
RPC消息处理模块用于处理NETCONF协议定义的各种RPC消息,包括rpc、rpc-reply和rpc-error,并处理NETCONF协议定义的操作,包括:获取<get>、获取配置<get-config>、编辑配置<edit-config>、复制配置<copy-config>、删除配置<delete-config>、上锁<lock>、解锁<unlock>、关闭会话<close-session>和<kill-session>,以及处理配置操作的各种操作码,例如合并<merge>、创建<create>、删除<delete>和替换<replace>消息封装和解包。
NOTIFY消息处理模块用于处理NOTIFY消息,发送NOTIFY通知给客户端。当系统启动、会话开始/停止、配置改变、以及能力集变化时,NETCONF服务器组件自带相关通知消息给客户端,也同时向客户端发送TRAP报文。
增强认证模块用于收到RPC消息后,进行用户、组认证以及RPC消息访问控制和数据消息访问控制。
在配置管理之前,客户端通过830端口向NETCONF SERVER发起连接请求,服务器端分支出SSH连接子系统,用于处理SSH Server与NETCONF Agent之间的交互消息,客户端与服务器端建立SSH连接。SSH会话成功建立后,客户端和服务器端交换各自的能力集。
SSH连接子系统接收到来自客户端的连接后,建立与客户端交互的NETCONF会话。此后SSH连接子系统接收客户端的配置报文,解密后发送给NETCONF模块处理。NETCONF模块处理后的回应报文发送SSH连接子系统加密后的tcp报文发给客户端。
SESSION管理模块管理会话的建立和关闭,当会话状态出现变化时,通过NOTIFY消息处理模块将改变的会话状态传递给用户。
会话建立成功后,客户端下发第一配置信息,NETCONF Agent接收到第一配置信息后,将第一配置信息传递给XML处理模块进行XML解析,解析得到RPC消息,通过增强认证模块对用户、组认证以及RPC消息和数据消息进行访问控制。
认证通过的RPC消息通过NETCONF/SNMP网关模块进行转换,并调用第一IDB接口下发到设备数据库。
YANG文件模块用于接收YANG文件。
NETCONF/SNMP网关模块用于基于YANG文件模块实现NETCONF协议与SNMP协议的兼容。
通常来说,网络设备包含底层、数据管理面、协议控制面和管理面等部分。每个部分下面又包含了各类协议。一台大型的网络设备可以包含几十种协议,每个协议都对应一个Yang文件,Yang文件模块包含所有协议的Yang文件。实现这些协议、NETCONF协议和SNMP协议的兼容是一个大工程。
NETCON协议结构分为内容层、操作层、RPC层和传输协议四层,YANG文件实现的是对内容层数据对象建模。YANG模型通过树形结构的节点定义描述了数据模型的层级嵌套结构以及各属性的数据类型。YANG模型具有自己的语法格式,也可以无差别地转换为XML格式。到目前为止,NETCONF内容层是唯一没有被标准化的层,没有标准的NETCONF数据建模语言和数据模型,所以各制造商设备的配置数据可能会不相同。
本发明实施例配置管理系统提供一种自动通过YANG模型生成NETCONF/SNMP适配层代码的工具。当YANG模型发生改变时,输入命令行能自动生成各个协议的适配层代码,而不用手动修改数据适配层代码。NETCONF/SNMP适配层用来实现XML和管理信息库(Management Information Base,MIB)的数据模型互相转换,提高了设备的兼容性,能快速适配不同NETCONF客户端以及不同NETCONF内容层YANG组织架构。
参见图2所示的NETCONF/SNMP网关模块的示意图,NETCONF/SNMP网关模块包括转换模块、XML/MIB适配层、解析验证器、对象树(Object tree)和错误处理模块。
转换模块用于将YANG文件转换为相应的网关适配文件,并发送到XML/MIB适配层。
XML/MIB适配层用于进行XML格式数据与MIB格式数据之间的转换。
解析验证器用于对XML格式数据进行解析和合法性验证,将验证失败信息反馈给错误处理模块;将通过验证的XML格式数据写入对象树中。
对象树用于将存储的数据发送给XML/MIB适配层。
错误处理模块用于将携带验证失败信息的RPC-reply消息回复给客户端。
其中,XML格式数据包括第一配置信息和网关适配文件。
当确定了设备的YANG文件组织架构后,本发明实施例配置管理系统可以通过配置脚本自动把YANG文件转换成对应的适配层C/H文件,实现XML格式与MIB格式的数据模型类型转换。不需要手动编写,高效实现NETCONF协议与SNMP协议的兼容适配。由于实现了NETCONF协议和SNMP协议的兼容性,能为上层用户屏蔽底层网络设备的差异性,提供统一的操作接口,并实现配置批量下发,提高网络配置的能力和效率。
具体的,当XML格式的配置输入到NETCONF/SNMP网关后,先通过解析验证器进行配置数据的解析以及合法性验证,如果验证失败,则反馈给错误处理模块,通过RPC-reply消息回复给客户端,如果验证成功,则将配置数据写入存储在对象树中,并通过适配层完成XML结构到MIB结构的封装下发。同理,当客户端要获取设备配置信息时,适配层完成MIB结构到XML结构的解析,并通过RPC-reply消息回复给客户端。
图3为本发明实施例NETCONF服务器组件下发第一配置信息到设备数据库的流程图,包括以下步骤:
S110 NETCONF服务器组件接收客户端发送的RPC消息。
具体的,SSH连接子系统收到客户端关于某会话的携带第一配置信息的RPC消息。
S120解析XML消息,判断用户等信息是否合法,若是,进入步骤S130;若否,进入步骤S190。
S130判断RPC消息是否合法,若是,进入步骤S140;若否,进入步骤S190。
S140将第一配置信息传递到NETCONF/SNMP网关模块,封装第一配置消息。
S150判断第一配置信息的下发模式,若是立即模式,进入步骤S160;若是两阶段模式,进入步骤S170。
S160直接调用第一IDB接口下发到运行数据库。
第一配置信息中的操作指令包括编辑配置(edit-config)操作和复制配置(copy-config)操作。如果是edit-config操作,在立即模式下直接调用第一IDB接口将第一配置信息下发到运行数据库;如果是copy-config操作,则复制第一配置信息,候选配置数据库存储配置数据。
S170调用第一IDB接口下发到候选配置数据库。
S180接收并执行用户下发的Commit操作或者Rollback操作,结束。
S190生成错误信息,并通过RPC reply消息回复给客户端。
在步骤S180中,当用户下发Commit操作时,将候选配置数据库里的配置数据拷贝到运行数据库中,并生成配置节点和配置节点信息表。当用户下发Rollback操作时,则还原之前某个节点的配置。
两阶段模式下,配置缓存的对象应是会导致表项增删或者参数改变的命令,类似write file和ftp这样执行一个动作的命令不被缓存。缓存对象包括里应将相关的模块名、表名、索引、命令字和参数等信息进行存储。当前配置和候选配置都允许,或者,当前配置不允许且候选配置允许的情况下,调用IDB接口下发到候选配置数据库,否则返回错误信息。
如果IDB层检查非法,会返回错误回复报文给客户端。当客户端确认配置时,下发commit命令,将候选配置数据库里的配置数据下发到运行数据库,并生成配置节点和配置节点信息表。当用户下发Rollback操作时,则还原之前某个节点的配置。客户端可以通过NETCONF下发节点编号配置,来主动还原之前的配置。
步骤S180具体包括:
S181执行commit或者rollback操作。
S182读取commit_id.ini,获取新的commit-id。
S183读immediate-config表,该表所有行添加commit-id后写入candidate表之后清空。
S184下发到运行数据库。
S185向客户端发送RPC reply信息,并生成配置节点信息表。
在上述实施例的基础上,在常规的NETCONF协议系统中还可以增加NETCONF/SNMP网关模块,实现NETCONF协议和SNMP协议的兼容,以及NETCONF服务器组件和CLI/SNMP/WEB网络管理代理对彼此下发的配置信息的访问。
在一种可选的实施方式中,第一配置信息包括每个客户端的用户标识ID,候选配置数据库包括用户标识ID的节点。当多个客户端下发配置信息时,服务器端可以通过用户标识ID进行区分。在收到客户端的commit操作时,会根据用户标识ID检索对应客户端的配置数据,进行配置数据的校验和下发,从而无需锁操作来保证配置数据的一致性和安全性,而且缩短了多用户状态下配置信息的下发时间,在工程应用中能提高下发获取配置的效率,节约工程部署时间,提高了资源利用率。
图4为本发明实施例NETCONF配置回滚流程图,用户可以一键回退到任意历史回退点,回退之后配置管理系统会生成新的配置回退点。配置管理系统从最后一个配置回退点开始,把每个配置节点里缓存的配置按照倒序执行反向操作,一直执行到要回退到的配置节点为止。为了避免中间过程中反复对同一个的表添加删除,对同一个回滚命令,将所有配置节点里判断是否进行反向操作一直进行到最后的配置节点,如果最后的var参数跟当前的配置节点不同,才调用第一IDB接口,否则不调用。设备采用数据库或者数据表的方式缓存配置数据,提供对于这些表的相关的增删改查接口,还提供对外接口供网络管理模块调用设置或者获取。
例如配置一条命令时,先判断该命令是否可以执行。首先需要调用相关IDB接口从当前运行配置中获取相关信息来做判断,如当前运行配置不允许写配置,再通过第一IDB接口中读取相关信息再判断是否允许执行写操作。每一次提交配置后都会生成一个配置回退点,若当前配置节点数量已超出系统数量限制则自动删除最早的回退点。每个回退点使用配置节点ID来唯一标识,该配置回退点保存配置回退点的相关信息包括:生成时间、生成用户、描述信息、配置节点ID和该配置节点的完整配置等。
配置回滚包括以下步骤:
S210接收配置回滚命令。
S220从当前配置节点IDcommit_id逆向遍历配置节点。
S230遍历配置节点对应的配置节点信息表,获取一个命令字。
S240倒序从配置节点信息表获取当前配置节点ID和目标ID间同一个命令字的配置,进行反向比较,更新下发的参数var。
配置节点信息表:用于保存配置数据的表,每一次配置都分配一个ID用于标识。
目标ID:需要回退的配置节点ID。
命令字:回退命令的关键字。
反向比较:当前配置和计划回退节点配置进行比较。
S250判断var是否跟当前配置相同,若是,返回步骤S230;若否,进入步骤S260。
S260将更新后的命令字写入配置节点信息表并调用第一IDB接口下发配置。
S270判断该配置节点ID是否还有命令字,若是,返回步骤S230;若否,进入步骤S280。
S280判断该配置节点ID是否等于目的ID,若否,返回步骤S220;若是,进入步骤S290。
S290生成新的配置节点信息表。
图5为本发明实施例NETCONF服务器组件从设备数据库中获取配置数据的流程图,包括以下步骤:
S310 NETCONF服务器组件接收客户端发送的RPC消息。
具体的,SSH连接子系统收到客户端关于某会话的携带第一获取请求的RPC消息。
S320解析XML消息,判断用户等信息是否合法,若是,进入步骤S330;若否,进入步骤S370。
S330判断RPC消息是否合法,若是,进入步骤S340;若否,进入步骤S370。
S340根据Xpath/Subtree过滤条件得到待获取的配置数据。
S350将待获取的配置数据传递到NETCONF/SNMP网关模块。
S360直接调用第一IDB接口从运行数据库中获取配置数据,进入步骤S380。
S370生成错误信息。
S380向客户端发送携带配置数据的RPC reply消息,结束。
当用户获取配置的时候,客户端通过RPC消息下发过滤的条件和需要获取的配置。NETCONF服务器组件通过SSH连接子系统收到客户端关于某会话的RPC消息,并解析XML消息,分析用户等信息是否合法。如果消息不合法,则生成错误信息,通过RPC reply消息回复给客户端。如果分析用户等信息合法,则根据Xpath/Subtree过滤条件得到待获取的配置数据。通过NETCONF/SNMP网关模块解析XML文件格式,调用第一IDB接口读取运行数据库里的配置数据。
参见图6所示的CLI/SNMP/WEB网络管理代理下发第二配置信息到设备数据库的流程图,包括以下步骤:
S410 CLI/SNMP/WEB网络管理代理接收客户端发送的第二配置信息。
S420判断第二配置信息的下发模式,若是立即模式,进入步骤S430;若是两阶段模式,进入步骤S440。
S430将第二配置信息下发到运行数据库,结束。
第二配置信息中的操作指令包括编辑配置(edit-config)操作和复制配置(copy-config)操作。如果是edit-config操作,在立即模式下直接将第二配置信息下发到运行数据库;如果是copy-config操作,则复制配置信息,候选配置数据库存储配置数据。
S440将第二配置信息下发到候选配置数据库。
S450接收并执行用户下发的Commit操作或者Rollback操作,结束。
在一种可选的实施方式中,非NETCONF协议网络管理代理还用于向NETCONF参数配置模块分别下发第二配置信息和客户端发送的第二获取请求,第二获取请求包括待获取的配置数据的信息。
NETCONF参数配置模块还用于通过第二IDB接口向设备数据库转发第二配置信息;以及根据第二获取请求从设备数据库获取配置数据,并转发给非NETCONF协议网络管理代理。
CLI/SNMP/WEB网络管理代理向设备数据库中下发第二配置信息包括以下步骤:
S510 CLI/SNMP/WEB网络管理代理从客户端接收第二配置信息,并下发给NETCONF参数配置模块。
S520NETCONF参数配置模块通过第二IDB接口向设备数据库转发第二配置信息。
CLI/SNMP/WEB网络管理代理从设备数据库中获取配置数据包括以下步骤:
S610 CLI/SNMP/WEB网络管理代理接收客户端发送的第二获取请求,并通过API接口发送给NETCONF参数配置模块。
S620 NETCONF参数配置模块调用第二IDB接口从运行数据库中获取配置数据。
S630 NETCONF参数配置模块将配置数据发送给CLI/SNMP/WEB网络管理代理。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (10)
1.一种基于网络配置NETCONF协议的配置管理系统,其特征在于:所述系统包括非NETCONF协议网络管理代理、NETCONF服务器组件和设备数据库,设备数据库包括运行数据库、候选配置数据库和启动数据库;
所述NETCONF服务器组件用于从客户端接收携带第一配置信息的RPC消息,并通过第一内部数据库IDB接口将第一配置信息下发到所述设备数据库;
所述非NETCONF协议网络管理代理用于从客户端接收基于非NETCONF协议的第二配置信息,并下发到所述设备数据库。
2.如权利要求1所述的基于网络配置NETCONF协议的配置管理系统,其特征在于:
所述NETCONF服务器组件还用于从客户端接收携带第一获取请求的RPC消息,第一获取请求包括待获取的配置数据的信息;
所述NETCONF服务器组件包括YANG文件模块和网关模块,YANG文件模块用于接收YANG文件,网关模块用于基于YANG文件对所述第一配置信息进行封装后,调用所述第二IDB接口下发到所述设备数据库;以及根据第一获取请求从所述设备数据库获取配置数据。
3.如权利要求2所述的基于网络配置NETCONF协议的配置管理系统,其特征在于:
所述网关模块为NETCONF/SNMP网关模块,NETCONF/SNMP网关模块包括转换模块、XML/MIB适配层、解析验证器、对象树和错误处理模块;
转换模块用于将所述YANG文件转换为相应的网关适配文件,并发送到XML/MIB适配层;
XML/MIB适配层用于进行XML格式数据与MIB格式数据之间的转换;
解析验证器用于对XML格式数据进行解析和合法性验证,将验证失败信息反馈给错误处理模块;将通过验证的XML格式数据写入对象树中;
对象树用于将存储的数据发送给XML/MIB适配层;
错误处理模块用于将携带验证失败信息的RPC-reply消息回复给客户端;
其中,XML格式数据包括所述第一配置信息和网关适配文件。
4.如权利要求1所述的基于网络配置NETCONF协议的配置管理系统,其特征在于:
所述NETCONF服务器组件包括NETCONF参数配置模块;
所述非NETCONF协议网络管理代理还用于向所述NETCONF参数配置模块下发所述NETCONF服务器组件的配置参数以及所述配置参数的获取请求;
所述NETCONF参数配置模块用于通过第二IDB接口向所述设备数据库转发所述配置参数;以及根据所述配置参数的获取请求从所述设备数据库获取所述配置参数,并转发给所述非NETCONF协议网络管理代理。
5.如权利要求4所述的基于网络配置NETCONF协议的配置管理系统,其特征在于:
所述非NETCONF协议网络管理代理还用于向所述NETCONF参数配置模块分别下发所述第二配置信息和客户端发送的第二获取请求,第二获取请求包括待获取的配置数据的信息;
所述NETCONF参数配置模块还用于通过所述第二IDB接口向所述设备数据库转发所述第二配置信息;以及根据第二获取请求从所述设备数据库获取配置数据,并转发给所述非NETCONF协议网络管理代理。
6.一种基于权利要求1所述的配置管理系统的配置管理方法,其特征在于:
所述NETCONF服务器组件从客户端接收携带第一配置信息的RPC消息,并通过第一IDB接口将第一配置信息下发到所述设备数据库;
所述非NETCONF协议网络管理代理从客户端接收基于非NETCONF协议的第二配置信息,并下发到所述设备数据库。
7.如权利要求6所述的配置管理方法,其特征在于:
所述NETCONF服务器组件包括YANG文件模块和网关模块;
YANG文件模块接收YANG文件;
网关模块基于YANG文件对所述第一配置信息进行封装后,调用所述第一IDB接口下发到所述设备数据库;
所述方法还包括:所述NETCONF服务器组件从客户端接收携带第一获取请求的RPC消息,网关模块根据第一获取请求从所述设备数据库中获取所述配置数据,其中,第一获取请求包括待获取的配置数据的信息。
8.如权利要求7所述的配置管理方法,其特征在于:
所述网关模块为NETCONF/SNMP网关模块,NETCONF/SNMP网关模块包括转换模块、XML/MIB适配层、解析验证器、对象树和错误处理模块;
转换模块将所述YANG文件转换为相应的网关适配文件,并发送到XML/MIB适配层;
解析验证器对XML格式数据进行解析和合法性验证,将验证失败信息反馈给错误处理模块,错误处理模块将携带验证失败信息的RPC-reply消息回复给客户端;解析验证器将通过验证的XML格式数据写入对象树中,对象树将存储的数据发送给XML/MIB适配层;
XML/MIB适配层进行XML格式数据与MIB格式数据之间的转换,其中,XML格式数据包括所述第一配置信息和网关适配文件。
9.如权利要求6所述的配置管理方法,其特征在于:
所述NETCONF服务器组件包括NETCONF参数配置模块;
所述方法还包括:
所述非NETCONF协议网络管理代理向所述NETCONF参数配置模块下发所述NETCONF服务器组件的配置参数以及所述配置参数的获取请求;
所述NETCONF参数配置模块通过第二IDB接口向所述设备数据库转发所述配置参数;以及根据所述配置参数的获取请求从所述设备数据库获取所述配置参数,并转发给所述非NETCONF协议网络管理代理。
10.如权利要求9所述的配置管理方法,其特征在于,所述方法还包括:
所述非NETCONF协议网络管理代理向所述NETCONF参数配置模块分别下发所述第二配置信息和客户端发送的第二获取请求,第二获取请求包括待获取的配置数据的信息;
所述NETCONF参数配置模块通过所述第二IDB接口向所述设备数据库转发所述第二配置信息;以及根据第二获取请求从所述设备数据库获取配置数据,并转发给所述非NETCONF协议网络管理代理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911340126.2A CN111010305A (zh) | 2019-12-23 | 2019-12-23 | 一种基于netconf协议的配置管理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911340126.2A CN111010305A (zh) | 2019-12-23 | 2019-12-23 | 一种基于netconf协议的配置管理系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111010305A true CN111010305A (zh) | 2020-04-14 |
Family
ID=70117464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911340126.2A Pending CN111010305A (zh) | 2019-12-23 | 2019-12-23 | 一种基于netconf协议的配置管理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111010305A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112398683A (zh) * | 2020-10-27 | 2021-02-23 | 烽火通信科技股份有限公司 | 一种支持yang协议的多设备混合组网的配置方法和装置 |
CN112636973A (zh) * | 2020-12-22 | 2021-04-09 | 南方电网深圳数字电网研究院有限公司 | 基于netconf协议的自动化云网融合方法 |
CN112688952A (zh) * | 2020-12-28 | 2021-04-20 | 京信网络系统股份有限公司 | 消息处理方法、装置、射频拉远单元和介质 |
CN113067737A (zh) * | 2021-03-30 | 2021-07-02 | 重庆邮电大学 | 一种时间敏感网络配置管理系统及方法 |
CN113867818A (zh) * | 2021-09-28 | 2021-12-31 | 潍柴动力股份有限公司 | 一种ini文件的生成方法、装置、计算机设备及介质 |
CN114039892A (zh) * | 2021-11-26 | 2022-02-11 | 中国电信集团系统集成有限责任公司 | 一种网络抖动分析及可视化方法及系统 |
CN114205230A (zh) * | 2021-12-13 | 2022-03-18 | 中国电信股份有限公司 | 云原生网元的配置方法、系统、介质及电子设备 |
CN114553750A (zh) * | 2022-02-24 | 2022-05-27 | 杭州迪普科技股份有限公司 | 基于网络配置协议的自动化测试方法及装置 |
WO2022134672A1 (zh) * | 2020-12-22 | 2022-06-30 | 华为技术有限公司 | 用于配置节点的方法和装置 |
CN114726717A (zh) * | 2020-12-22 | 2022-07-08 | 华为技术有限公司 | 用于配置节点的方法和装置 |
CN114978903A (zh) * | 2022-05-20 | 2022-08-30 | 中国电信股份有限公司 | 配置下发方法、装置、服务器及可读存储介质 |
CN115065594A (zh) * | 2022-06-08 | 2022-09-16 | 亚信科技(中国)有限公司 | 数据配置方法、装置、设备、可读存储介质及程序产品 |
CN116661784A (zh) * | 2023-06-01 | 2023-08-29 | 北京首都在线科技股份有限公司 | 页面配置方法和电子设备 |
US12074948B1 (en) * | 2023-03-01 | 2024-08-27 | Dell Products L.P. | Distributed and federated radio access network configuration management |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102368716A (zh) * | 2011-11-29 | 2012-03-07 | 迈普通信技术股份有限公司 | 一种网络配置协议的数据获取方法及网络配置服务器 |
CN102427409A (zh) * | 2012-01-31 | 2012-04-25 | 迈普通信技术股份有限公司 | 基于网络配置协议的配置数据提交方法及服务器 |
US20140365621A1 (en) * | 2013-06-06 | 2014-12-11 | Alcatel-Lucent Canada, Inc. | Netconf snmp gateway |
CN107302443A (zh) * | 2016-04-15 | 2017-10-27 | 华为技术有限公司 | 基于网络配置协议的设备配置方法及装置 |
US20190245732A1 (en) * | 2016-09-19 | 2019-08-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for network management based on netconf protocol, and associated network device |
-
2019
- 2019-12-23 CN CN201911340126.2A patent/CN111010305A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102368716A (zh) * | 2011-11-29 | 2012-03-07 | 迈普通信技术股份有限公司 | 一种网络配置协议的数据获取方法及网络配置服务器 |
CN102427409A (zh) * | 2012-01-31 | 2012-04-25 | 迈普通信技术股份有限公司 | 基于网络配置协议的配置数据提交方法及服务器 |
US20140365621A1 (en) * | 2013-06-06 | 2014-12-11 | Alcatel-Lucent Canada, Inc. | Netconf snmp gateway |
CN107302443A (zh) * | 2016-04-15 | 2017-10-27 | 华为技术有限公司 | 基于网络配置协议的设备配置方法及装置 |
US20190245732A1 (en) * | 2016-09-19 | 2019-08-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for network management based on netconf protocol, and associated network device |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112398683B (zh) * | 2020-10-27 | 2022-08-12 | 烽火通信科技股份有限公司 | 一种支持yang协议的多设备混合组网的配置方法和装置 |
CN112398683A (zh) * | 2020-10-27 | 2021-02-23 | 烽火通信科技股份有限公司 | 一种支持yang协议的多设备混合组网的配置方法和装置 |
WO2022134672A1 (zh) * | 2020-12-22 | 2022-06-30 | 华为技术有限公司 | 用于配置节点的方法和装置 |
CN114726717A (zh) * | 2020-12-22 | 2022-07-08 | 华为技术有限公司 | 用于配置节点的方法和装置 |
CN114726717B (zh) * | 2020-12-22 | 2023-09-01 | 华为技术有限公司 | 用于配置节点的方法和装置 |
CN112636973A (zh) * | 2020-12-22 | 2021-04-09 | 南方电网深圳数字电网研究院有限公司 | 基于netconf协议的自动化云网融合方法 |
CN112688952A (zh) * | 2020-12-28 | 2021-04-20 | 京信网络系统股份有限公司 | 消息处理方法、装置、射频拉远单元和介质 |
CN113067737B (zh) * | 2021-03-30 | 2022-07-01 | 重庆邮电大学 | 一种时间敏感网络配置管理系统及方法 |
CN113067737A (zh) * | 2021-03-30 | 2021-07-02 | 重庆邮电大学 | 一种时间敏感网络配置管理系统及方法 |
CN113867818B (zh) * | 2021-09-28 | 2024-04-16 | 潍柴动力股份有限公司 | 一种ini文件的生成方法、装置、计算机设备及介质 |
CN113867818A (zh) * | 2021-09-28 | 2021-12-31 | 潍柴动力股份有限公司 | 一种ini文件的生成方法、装置、计算机设备及介质 |
CN114039892A (zh) * | 2021-11-26 | 2022-02-11 | 中国电信集团系统集成有限责任公司 | 一种网络抖动分析及可视化方法及系统 |
CN114039892B (zh) * | 2021-11-26 | 2022-11-29 | 中电信数智科技有限公司 | 一种网络抖动分析及可视化方法及系统 |
CN114205230A (zh) * | 2021-12-13 | 2022-03-18 | 中国电信股份有限公司 | 云原生网元的配置方法、系统、介质及电子设备 |
CN114205230B (zh) * | 2021-12-13 | 2023-12-15 | 中国电信股份有限公司 | 云原生网元的配置方法、系统、介质及电子设备 |
CN114553750B (zh) * | 2022-02-24 | 2023-09-22 | 杭州迪普科技股份有限公司 | 基于网络配置协议的自动化测试方法及装置 |
CN114553750A (zh) * | 2022-02-24 | 2022-05-27 | 杭州迪普科技股份有限公司 | 基于网络配置协议的自动化测试方法及装置 |
CN114978903A (zh) * | 2022-05-20 | 2022-08-30 | 中国电信股份有限公司 | 配置下发方法、装置、服务器及可读存储介质 |
CN114978903B (zh) * | 2022-05-20 | 2023-10-31 | 中国电信股份有限公司 | 配置下发方法、装置、服务器及可读存储介质 |
CN115065594B (zh) * | 2022-06-08 | 2024-03-26 | 亚信科技(中国)有限公司 | 数据配置方法、装置、设备、可读存储介质及程序产品 |
CN115065594A (zh) * | 2022-06-08 | 2022-09-16 | 亚信科技(中国)有限公司 | 数据配置方法、装置、设备、可读存储介质及程序产品 |
US12074948B1 (en) * | 2023-03-01 | 2024-08-27 | Dell Products L.P. | Distributed and federated radio access network configuration management |
CN116661784A (zh) * | 2023-06-01 | 2023-08-29 | 北京首都在线科技股份有限公司 | 页面配置方法和电子设备 |
CN116661784B (zh) * | 2023-06-01 | 2024-05-07 | 北京首都在线科技股份有限公司 | 页面配置方法和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111010305A (zh) | 一种基于netconf协议的配置管理系统及方法 | |
CN109361550B (zh) | 网络设备配置管理的方法、装置及设备 | |
US7065588B2 (en) | Method and system for data transformation in a heterogeneous computer system | |
CN101194233B (zh) | 测试无线组件应用程序的系统和方法 | |
KR100972306B1 (ko) | 애플리케이션 발생기 | |
CA2569665C (en) | A generic framework for developing ems provisioning services | |
KR20060099392A (ko) | 웹 서비스 환경 내에서 통신하도록 개발되지 않은 레거시애플리케이션 컴포넌트를 위한 동적인 웹 서비스를생성하는 방법 및 컴퓨터 프로그램 제품 | |
JP2006146927A (ja) | Snmp基盤のネットワーク管理装置および方法 | |
CN108833565B (zh) | 一种监控服务器的方法、装置、服务器和存储介质 | |
CN102158498A (zh) | 一种支持服务定制与扩展的网络节点结构实现方法 | |
CN113556359B (zh) | 一种通讯协议转换方法、设备、系统及网关设备 | |
US20210344766A1 (en) | Systems and methods for decentralization of blockchain-based processes employing a blockchain-associated front end or blockchain-associated user interface | |
CN101795206A (zh) | 一种在分布式构成设备上实现snmp代理的方法和装置 | |
CN112055078A (zh) | 一种数据传输方法、装置、计算机设备和存储介质 | |
CN104243198B (zh) | 一种基于网络配置协议的网络管理方法和系统 | |
US7987455B1 (en) | System and method of command processing | |
US7853676B1 (en) | Protocol for efficient exchange of XML documents with a network device | |
CN117687716A (zh) | 基于lua开发的kong插件业务参数统一获取的方法及系统 | |
CN113472848A (zh) | 一种虚拟机和容器的网络融合方法、装置及相关设备 | |
CN111327680B (zh) | 认证数据同步方法、装置、系统、计算机设备和存储介质 | |
CN111885203A (zh) | 一种基于cmsp进行远程管理的方法 | |
CN111258778B (zh) | 安全管理平台接入管理接收方法、发送方法及系统 | |
JP6893568B2 (ja) | データインタラクションの方法、装置および機器 | |
CN115812296A (zh) | 设备升级控制方法、装置、计算机设备及存储介质 | |
CN102255872A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200414 |
|
RJ01 | Rejection of invention patent application after publication |