基于MIB数据库的网络设备多种管理方式的方法及系统
技术领域
本发明涉及网络设备管理技术领域,具体涉及一种基于MIB数据库的网络设备多种管理方式的方法及系统。
背景技术
随着互联网和电信行业的高速发展,各类网络通信设备广泛覆盖到各个地方,形成了众多的大型网络,然而这些大型网络给网络运营商的管理带来了很大的挑战。大型网络包含多种网络设备,集成多种网络操作系统,运行多种网络应用服务。为了保证网络系统的高效运行,需要对网络运行状况进行监视的实时系统,对全网运行状况进行控制。
随着技术的发展,各种管理协议也越来越多,不同组织和机构对于网络设备提供的管理方式也有不同的要求,比如要求设备支持SNMP管理,支持WEB管理,支持命令行方式的管理,支持Netconf管理,支持TR069等等,特别是随着SDN/NFV技术的发展,更多的管理技术也随之而来,比如OF-Confg,OVSDB,Restful等等,这就对网络设备的管理功能提出了前所未有的挑战。
如果每个管理方式都实现一套完全独立的管理过程,独自的协议,独自的对象读写,设备的重复开发工作量会相当大,而不同的管理方式对上层NMS的协议接口不一样,亟需一种支持网络设备多种管理方式的技术方案。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种基于MIB数据库的网络设备多种管理方式的方法及系统,实现网络设备的多个管理模块的管理功能。
为达到以上目的,本发明采取的技术方案是:一种基于MIB数据库的网络设备多种管理方式的方法,包括以下步骤:
在网络设备中建立一个管理信息库MIB数据库,所述MIB数据库中存储有与MIB对象对应的MIB对象名称、南向读写接口;
在网络设备中启动MIB数据库引擎模块,所述MIB数据库引擎模块向各种管理模块提供北向读写接口;
设备中的管理模块接收到网络管理系统NMS应用的管理指令时,从管理指令中解析出管理信息,并映射得到管理信息对应的MIB对象名称和值,通过北向读写接口将MIB对象名称和值传递至MIB数据库引擎模块;
MIB数据库引擎模块根据MIB对象名称获得对应的底层资源的南向读写接口;根据MIB对象的值,通过南向读写接口执行对应的底层资源的读写操作。
在上述方案的基础上,还包括以下步骤:所述MIB数据库引擎模块对所述MIB数据库进行维护。
在上述方案的基础上,所述MIB数据库中还存储有与MIB对象对应的对象标识符OID和MIB对象的属性信息,所述MIB对象的属性信息包括读/写属性、最大值、最小值和元素类型。
在上述方案的基础上,所述管理模块包括命令行管理模块、简单网络管理协议SNMP管理模块、WEB管理模块、Netconf管理模块、TR069管理模块和新扩展管理模块。
在上述方案的基础上,所述NMS应用包括Telnet客户端、安全外壳协议SSH客户端、WEB浏览器、SNMP网管系统和门禁系统ACS服务器。
本发明还公开了一种基于MIB数据库的网络设备多种管理方式的系统,包括MIB数据库、MIB数据库引擎模块和管理模块,其中:
MIB数据库,用于存储有与MIB对象对应的MIB对象名称、南向读写接口;
MIB数据库引擎模块,用于向各种管理模块提供北向读写接口;
管理模块,用于接收到NMS应用的管理指令时,从管理指令中解析出管理信息,并映射得到管理信息对应的MIB对象名称和值,通过北向读写接口将MIB对象名称和值传递至MIB数据库引擎模块;
MIB数据库引擎模块,还用于根据MIB对象名称获得对应的底层资源的南向读写接口;根据MIB对象的值,通过南向读写接口执行对应的底层资源的读写操作。
在上述方案的基础上,所述MIB数据库引擎模块还用于对所述MIB数据库进行维护。
在上述方案的基础上,所述MIB数据库中还存储有与MIB对象对应的对象标识符OID和MIB对象的属性信息,所述MIB对象的属性信息包括读/写操作、最大值、最小值和元素类型。
在上述方案的基础上,所述管理模块包括命令行管理模块、SNMP管理模块、WEB管理模块、Netconf管理模块、TR069管理模块和新扩展管理模块。
在上述方案的基础上,所述NMS应用包括Telnet客户端、SSH客户端、WEB浏览器、SNMP网管系统和ACS服务器。
与现有技术相比,本发明的优点在于:
本发明通过建立MIB数据库将网络设备的管理数据的形式统一为MIB对象,同时对各种管理模块的操作接口形式进行统一标准化,通过MIB数据库引擎模块统一调度操作,在多种管理方式并发的情况下提高了数据操作安全和可靠性,从而快速的实现网络设备的多个管理模块的管理功能,更高效的实现设备的多种管理功能的扩展。并且有助于在配置出错的情况下实现恢复,保持配置的一致性,同时该发明具有很强的扩展性和兼容性,对于将来可能新出现的管理方式可以轻松的实现扩展。
附图说明
图1为本发明实施例中基于MIB数据库的网络设备多种管理方式的方法的框架示意图;
图2为本发明实施例中基于MIB数据库的网络设备多种管理方式的方法的流程示意图;
图3为本发明实施例中基于MIB数据库的网络设备多种管理方式的系统的结构示意图。
具体实施方式
术语解释:
MIB(Management Information Base,管理信息库):管理信息库是TCP/IP网络管理协议标准框架的内容之一,MIB定义了受管设备必须保存的数据项、允许对每个数据项进行的操作及其含义,即管理系统可访问的受管设备的控制和状态信息等数据变量都保存在MIB中。MIB定义的通用化格式支持对每一个新的被管理设备定义其特定的MIB组,因此厂家可以采用标准的方法定义其专用的管理对象,从而可以管理许多新协议和设备,可扩展性很好。
OID(Object identifier,对象标识符):对象标识符又称为物联网域名是由ISO/IEC、ITU国际标准组织共同提出的标识机制,用于对任何类型的对象、概念或者“事物”进行全球无歧义、唯一命名。一旦命名,该名称终生有效。由于OID具有分层灵活、可扩展性强等特点,适合作为现有各种编码方案之间进行交换的元标识机制。
NMS(Network Management System,网络管理系统):NMS是通信网络中的网络管理系统,它的管理对象可以包括网络中所有的实体,如:网络设备、应用程序、服务器系统、路由器、交换机、HUB、辅助设备等,给网络系统管理员提供一个全系统的网络视图。NMS管理不同地域和不同设备供应商的网络。网络管理员通过NMS对网络进行全面监控。在中国运营商网管系统中,NMS指的是省级通信网络管理系统或未来的区域网络管理系统。
SNMP(Simple Network Management Protocol,简单网络管理协议):由一组网络管理的标准组成,包含一个应用层协议(application layer protocol)、数据库模型(database schema)和一组资源对象。该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。该协议是互联网工程工作小组(IETF,Internet Engineering Task Force)定义的internet协议簇的一部分。
Netconf:IETF在2003年5月成立了Netconf工作组,该工作组主要是为了提出一个全新的基于XML的网络配置(NETCONF)协议而成立的。该工作组已于2006年12月通过了NETCONF协议的基本标准RFC4741-4744,2011年6月RFC6241、RFC6242替代了原有的RFC4741、RFC4742,RFC4743和RFC4744则被标记为历史资料。
Telnet:Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。
SSH(Secure Shell,安全外壳协议):由IETF的网络小组(Network WorkingGroup)所制定;SSH为建立在应用层基础上的安全协议。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。
ACS(Access Control System,门禁系统):ACS在智能建筑领域,指“门”的禁止权限,是对“门"的戒备防范。“门”广义来说,包括能够通行的各种通道,包括人通行的门,车辆通行的门等。因此,门禁就包括了车辆门禁。在车场管理应用中,车辆门禁是车辆管理的一种重要手段,不以收取停车费为目的,主要是管理车辆进出权限。
以下结合附图及实施例对本发明作进一步详细说明。
实施例1:
参见图1所示,本发明实施例提供一种基于MIB数据库的网络设备多种管理方式的方法,包括以下步骤,参见图2所示:
S1,在网络设备中建立一个MIB数据库,所述MIB数据库中存储多条记录,每条记录对应一个MIB对象,每条记录包括MIB对象名称、OID、南向读写接口以及该MIB对象的属性信息;所述MIB对象的属性信息包括读/写属性、最大值、最小值和元素类型。
S2,在网络设备中启动一个MIB数据库引擎模块,所述MIB数据库引擎模块向各种管理模块提供北向读写接口;所述管理模块包括命令行管理模块、SNMP管理模块、WEB管理模块、Netconf管理模块、TR069管理模块和新扩展管理模块中的一种或多种,可以根据配置文件,可选择地加载各个模块。
S3,设备中的各种管理模块接收到NMS应用的各种管理指令时,从管理指令中解析出管理信息,并映射得到管理信息对应的MIB对象名称和值,通过北向读写接口将MIB对象名称和值传递至所述MIB数据库引擎模块;所述NMS应用包括Telnet客户端、SSH客户端、WEB浏览器、SNMP网管系统和ACS服务器。
S4,所述MIB数据库引擎模块,根据MIB对象名称获得对应的底层资源的南向读写接口;通过南向读写接口并根据MIB对象的值,执行对应的底层资源的读写操作。所述底层资源包括软件、硬件和原始数据。
实施例2:
在实施例1的基础上,本实施例还包括以下步骤,通过所述MIB数据库引擎模块对所述MIB数据库进行维护。即通过所述MIB数据库引擎模块对所述MIB数据库的MIB对象进行增删查改操作,实现在配置出错的情况下实现恢复,保持配置的一致性。
本发明通过建立MIB数据库将网络设备的管理数据的形式统一为MIB对象,同时对各种管理模块的操作接口形式进行统一标准化,通过MIB数据库引擎模块统一调度操作,在多种管理方式并发的情况下提高了数据操作安全和可靠性,从而快速的实现网络设备的多个管理模块的管理功能的,更高效的实现设备的多种管理功能的扩展。该发明具有很强的扩展性和兼容性,对于将来可能新出现的管理方式可以轻松的实现扩展。
实施例3:
在实施例1的基础上,在网络设备上实现多种管理方式具体包括以下步骤:
1)各种NMS网管应用(包括Telnet客户端、SSH客户端、WEB浏览器、SNMP网管系统、ACS服务器等等)下发管理指令到网络设备。下发的指令可以是命令行脚本,也可以是HTTP配置页面,也可能SNMP报文,也可以是Netconf XML指令。
2)设备上运行了多个不同的管理模块来接受来自不同通道的指令,包括SNMP代理,WEB管理模块,Netconf管理模块,命令行管理模块等等,不同的管理模块对报文进行解析,并分析出不同格式的管理信息,比如命令指令,xml对象,html对象,分析出的各自对象统一映射到预先设计的MIB数据库的“管理对象名称”,根据操作是读或者写,调用不同的北向读写接口,北向读写接口包括mibGet和mibSet,将“管理对象名称”以及“值”传递给MIB数据库引擎模块;
3)MIB数据库引擎模块根据“管理对象名称”,从MIB数据库中找出该对象的底层资源的南向读写接口,南向读写接口包括Get操作接口或Set操作接口,进行下一步操作。
4)MIB数据库引擎模块通过调用该对象的底层资源的Get操作接口或Set操作接口,完成最终的资源信息获取,或者实现最终的资源配置修改。
实施例4:
参见图3所示,本实施例提供一种基于MIB数据库的网络设备多种管理方式的系统,包括MIB数据库、MIB数据库引擎模块和管理模块,其中:
MIB数据库,用于存储有与MIB对象对应的MIB对象名称、南向读写接口;所述MIB数据库中还存储有与MIB对象对应的对象标识符OID和MIB对象的属性信息,所述MIB对象的属性信息包括读/写操作、最大值、最小值和元素类型。
MIB数据库引擎模块,用于向各种管理模块提供北向读写接口;
网络设备中的管理模块,用于接收到NMS应用的管理指令时,从管理指令中解析出管理信息,并映射得到管理信息对应的MIB对象名称和值,通过北向读写接口将MIB对象名称和值传递至MIB数据库引擎模块;所述管理模块包括命令行管理模块、SNMP管理模块、WEB管理模块、Netconf管理模块、TR069管理模块和新扩展管理模块中的一种或多种,可以根据配置文件,可选择地加载各个模块。所述NMS应用包括Telnet客户端、SSH客户端、WEB浏览器、SNMP网管系统和ACS服务器。
MIB数据库引擎模块,还用于根据MIB对象名称获得对应的底层资源的南向读写接口;根据MIB对象的值,通过南向读写接口执行对应的底层资源的读写操作。所述底层资源包括软件、硬件和原始数据。
实施例5:
在实施例4的基础上,所述MIB数据库引擎模块还用于对所述MIB数据库进行维护。即通过所述MIB数据库引擎模块对所述MIB数据库的MIB对象进行增删查改操作,实现在配置出错的情况下实现恢复,保持配置的一致性。
本发明通过建立MIB数据库将网络设备的管理数据的形式统一为MIB对象,同时对各种管理模块的操作接口形式进行统一标准化,通过MIB数据库引擎模块统一调度操作,在多种管理方式并发的情况下提高了数据操作安全和可靠性,从而快速的实现网络设备的多个管理模块的管理功能的,更高效的实现设备的多种管理功能的扩展。该发明具有很强的扩展性和兼容性,对于将来可能新出现的管理方式可以轻松的实现扩展。
实施例6:
在实施例4的基础上,在网络设备上实现多种管理方式具体包括以下步骤:
1)各种NMS网管应用(包括Telnet客户端、SSH客户端、WEB浏览器、SNMP网管系统、ACS服务器等等)下发管理指令到网络设备。下发的指令可以是命令行脚本,也可以是HTTP配置页面,也可能SNMP报文,也可以是Netconf XML指令。
2)设备上运行了多个不同的管理模块来接受来自不同通道的指令,包括SNMP代理,WEB管理模块,Netconf管理模块,命令行管理模块等等。管理模块对报文进行解析,并分析出不同格式的管理信息,比如命令指令,xml对象,html对象,分析出的各自对象统一映射到预先设计的MIB数据库的“管理对象名称”,根据操作是读或者写,调用不同的北向读写接口,北向读写接口包括mibGet和mibSet,将“管理对象名称”以及“值”传递给MIB数据库引擎模块。
3)MIB数据库引擎模块根据“管理对象名称”,从MIB数据库中找出该对象的底层资源的南向读写接口,南向读写接口包括Get操作接口或Set操作接口,进行下一步操作。
4)MIB数据库引擎模块通过调用该对象的底层资源的Get操作接口或Set操作接口,完成最终的资源信息获取,或者实现最终的资源配置修改。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。