时间:2024-05-04
张 钦 张 星
【摘要】文章在介绍了TETRA数字集群网络管理系统的逻辑模型之后,基于C/C++语言,使用AdventNet Agent Toolkit C Editon 6、Microsoft Visual Studio C++(2005)以及HP SNMP++开发工具实现了TETRA数字集群网络管理接口功能,并对接口的可用性和正确性进行了测试。测试结果表明网络管理接口能够完成设计需求,可用于TETRA数字集群网络管理系统的开发。
【关键词】TETRA数字集群网络管理接口 SNMP Agent Manager
TETRA数字集群网络管理接口是TETRA数字集群网络管理系统开发的基础,是TETRA数字集群系统的重要组成部分之一,负责提供管理工作站(Manager)与代理(Agent)和相关管理信息数据库之间的连接和操作接口,从而使网络管理人员能进行网络管理操作。
1 TETRA数字集群网络管理系统
TETRA数字集群网络管理系统由多个代理(Agent)、至少一个网络管理器(Manager)(亦称为管理工作站)、定义管理信息交换格式和过程的网络管理协议以及管理信息库(MIB,Manage Information Base)四个部分组成,其逻辑模型如图1所示:
图1网络管理系统逻辑模型
通信网各子系统设备和子系统互连设备等所有被管理的网络设备统称为被管设备;驻留在这些被管设备中,配合网络管理处理的实体称为代理;管理处理实体称为管理器或者管理工作站;管理工作站和代理之间通过交换相关管理信息实现网络管理功能,这种管理信息的交换通过一种网络管理协议实现;管理信息分别储存在被管设备和管理工作站上的管理信息库中。
目前主流的网络管理协议是SNMP(Simple Network Management Protocol,简单网络管理协议)和CMIP(Common Management Information Protocol,公共管理信息协议)。与CMIP相比,SNMP通用性更强,实现更简单,对系统要求更低,在对设备造成更少负荷的同时能很好地实现大部分CMIP支持的网络管理功能,更符合实际需要。因此,TETRA数字集群系统的网络管理接口采用SNMP网络管理协议。
2 TETRA数字集群网络管理接口的功能
TETRA数字集群网络管理接口参考TMN(Telecommu-
nicationManagement Network,电信管理网)对电信管理网络管理功能的建议,并结合TETRA数字集群系统实际的使用情况,支持下列六个管理功能模块:
(1)用户(组)和用户终端管理模块
该模块提供管理人员管理系统用户的工具模块,包括创建、修改以及删除系统数据库中的用户信息等多种功能。
(2)性能管理模块
该模块可对TETRA数字集群系统进行性能测试、获取测试数据以及根据测试数据进行性能管理。
(3)故障管理模块
该模块可对TETRA数字集群系统中被管设备告警信息进行处理,例如:过滤告警信息、对告警信息进行分级以及显示告警等。
(4)配置管理模块
该模块对系统设备和设施变化进行管理,从网络信息模型的角度看,是对管理对象的创建、修改以及删除。
(5)业务信息管理模块
该模块支持收集和存储系统业务数据功能及输出业务数据功能。
(6)安全管理模块
该模块能够支持管理网络管理系统用户的功能,保障网络管理系统的接入安全和管理信息的安全。
3TETRA数字集群网络管理接口的开发
3.1开发语言和开发环境
C++语言是一种应用较广的面向对象的程序设计语言,使用它可以实现面向对象的程序设计。因此,选择C/C++语言进行网络管理接口的开发。
AdventNet Agent Toolkit C Edition是一个以ANSI C创建SNMP(SNMP v1、SNMP v2c以及SNMP v3)代理、TL1代理以及CLI代理的快速原型创建和开发工具,提供了一个模块化的平台用于代理的创建。Visual Studio 2005是一个全面高效的专业开发环境(适用于独立或在小型团队中工作的开发人员),用于构建高性能、多层的Windows、Web以及移动设备应用程序。HP SNMP++开发工具包是HP公司开发的一套开源的C++类,它为网络管理应用开发者提供了SNMP的服务编程接口。因此,选择AdventNet Agent Toolkit C Editon 6、Microsoft Visual Studio C++(2005)以及HP SNMP++开发工具进行网络管理接口的开发。
3.2Agent软件的开发
(1)Agent软件功能和组件
结合TETRA数字集群网络管理的需求,Agent软件需要实现以下功能:
◆充分地支持SNMPv1、SNMPv2c以及SNMPv3;
◆对网络和系统中的数据安全提供验证;
◆支持SNMPv3中的USM、VACM机制;
◆支持在代理中发送和过滤陷阱;
◆满足TETRA数字集群系统管理功能对设备的管理和监视的需求;
◆内嵌于TETRA数字集群系统设备协议栈程序,与协议栈保持良好的互操作性和兼容性;
◆与物理设备之间保持良好的互操作性和兼容性。
根据RFC2271提出的标准SNMP实体框架,一般的Agent软件功能组件之间的关系如图2所示。
1)传输提供模块
该模块主要完成管理工作站和代理之间的网络层通信功能。Agent软件能够支持UDP/IP或者TCP/IP传输协议。
2)安全模块
该模块主要负责MIB数据操作安全和Agent接入安全,分为安全子模块和访问控制子模块两个部分。
图2 Agent软件功能组件之间的关系
3)消息处理模块
当接收到来自安全模块的消息时,该模块根据接收到的SNMP消息中的版本信息,将SNMP消息分配到相应版本的消息处理子模块中,各消息处理子模块对SNMP消息进行分析处理;当接收到来自MIB应用模块的消息时,该模块根据发送目标管理器所支持的不同版本的SNMP,将MIB信息发送到各版本对应的消息处理子模块中进行封装后发送。
4)MIB应用模块
该模块含有公开的、由代理存储的、与应用程序和设备相关的管理信息,能够实现代理与被管应用程序和设备之间的通信。来自于应用程序或者设备检索的信息将发送到消息处理模块。
(2)Agent软件的开发流程
由于AdventNet Agent Toolkit C Edition 6支持对SNMP v1、SNMP v2c以及SNMP v3的代理开发,所以Agent软件使用AdventNet Agent Toolkit C Edition 6进行开发。图3示出了Agent软件的开发流程:
图3 Agent软件开发流程
1)定义和编辑MIB
设计和定义Agent软件中可进行管理和检测的设备参数和状态变量,需要按照ASN.1语法定义、编辑生成标准的MIB文件、设计数据布局以及数据类型。通过MibEditor工具完成这个步骤。
2)生成源代码
在代理编译器中,加载标准MIB文件并生成代码,生成的代码能够提供基本的SNMP代理框架。通过AgentComplier工具完成这个步骤。
3)添加功能代码
在已经生成的基本SNMP代理框架中,根据具体需求对框架代码进行修改,进而完成Agent的完整功能。
4)合并协议栈程序
将Agent软件工程和TETRA数字集群系统协议栈软件工程合并至同一个工程。通过TAU G2软件,将已生成的SNMP代理框架和修改完成的功能代码与TETRA数字集群系统协议栈软件工程进行合并,最终生成支持SNMP代理的协议栈软件。
5)测试Agent软件功能
使用MIB浏览器测试所开发的Agent软件的代理功能。
6)打包和部署
对所开发的SNMP代理进行包装并部署到目标环境。
3.3Manager接口的开发
(1)Manager接口功能
Manager软件是位于管理工作站的功能实体,是网络管理系统用户和被管设备之间通信的工具,主要完成对网络状态的监视、告警信息处理以及网络设备性能控制等管理行为。Manager接口需要提供发送管理指令、处理Agent端返回SNMP协议响应、Trap、同级Manager发送的通知以及网络管理数据库读取操作等管理行为的基本操作功能,从而实现Manager软件的管理功能。其主要实现以下功能:
◆充分地支持SNMPv1、SNMPv2c以及SNMPv3;
◆SNMP数据结构和C语言数据结构转换功能;
◆向Agent端发送SNMP协议并能接收返回的协议响应;
◆接收Agent端发送的Trap数据包和同级Manager端发送的通知数据包;
◆支持对网络管理数据库进行添加、查询、删除以及修改等操作;
◆支持对HLR数据库进行添加、查询、删除以及修改等操作;
◆实现TETRA数字集群系统用户信息进行有效的添加、查询、删除以及修改功能;
◆实现协议栈软件对相关数据库表的接入。
(2)Manager接口的开发
根据Manager软件互连对象的不同,Manager接口开发分为下列几个部分:
◆Manager与网络管理数据库互连的数据库操作接口;
◆Manager与HLR数据库互连的数据库操作接口和用户信息操作接口;
◆Manager与Agent互连的SNMP协议操作接口。
4TETRA数字集群网络管理接口的测试
根据测试对象和测试方法,测试内容可分为两个部分:Agent软件测试和Manager端接口测试。利用AdventNet Agent Toolkit C Editon6配套的MIB Browser工具进行Agent软件测试,其测试过程如图4所示。通过设计一套用于测试接口的TETRA网络管理工作站软件,并通过Microsoft Visual Studio C++的调试工具对上述内容进行Manager端接口测试,其测试过程如图5所示。
图4 Agent软件的测试过程
图5 Manager端接口的测试过程
通过对测试结果进行分析,可以得出以下结论:
Agent的启动Trap携带信息正常,Agent的Trap发送机制正常,Agent端对sndcpVersion参数的操作处理正确,Manage端SNMP_GET、SNMP_SET和SNMP_INFORM_ LISTENER接口正常,SNMP++错误信息返回正确,协议栈软件可收到来自Agent的修改sndcpVersion参数的信号,并做出正确处理。
5 结束语
随着我国TETRA数字集群系统的开发,开发与TETRA数字集群通信网相匹配的先进的网络管理系统,能够确保通信网为用户提供高效可靠的通信服务。本文所给出的TETRA数字集群网络管理接口开发方法,可为数字集群网管系统的开发提供参考。
参考文献
[1]ITU-T Rec.M.3000(10/94). Overview of TMN Recommendations [S]. 1994.10.
[2]郑祖辉,陆锦华,郑岚,等. 数字集群移动通信系统(第二版)[M]. 北京: 电子工业出版社,2005.
[3]MSDN. 微软Visual Studio2005开发工具路线图详解[EB/OL]. [2005-11-11] http://www.pconline.com.cn/pcedu/empolder/gj/vc/0511/720853.html.★
【作者简介】
张钦:北京交通大学博士后,主要研究方向为专业移动通信系统及信号处理技术。
张星:北京交通大学副教授,主要从事现代通信原理和交换技术的教学和科研工作。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!