摘 要:针对FOM网络管理系统的组成和功能设计了软件的总体构架。着重阐述了代理的设计,包括MIB树的设计、MIB初始化、MIB访问以及Trap的实现。经过测试,证明了设计的正确性。
关键词:FOM网络管理系统;代理;MIB;Trap
FOM(Fiber Optical Multiplex)是一种中、小容量的时分复用光纤通信系统。用它来设计实现4~16路E1(2.048 Mb/s)通道的单步复/分接,具有自定义的仿SDH侦结构;预留网络维护和管理通道,系统开销丰富;采用光纤进行远距离传输,可以组成二纤自动倒换的光纤自愈环网[1]。
1 FOM网络管理系统组成
FOM组网的网络管理分两部分:(1)每个网络结点内嵌网管单元;(2)通用PC机安装网络管理软件构成的网管终端。
内嵌的网管单元采用嵌入式系统构架,硬件由嵌入式CPU MPC850及其外围电路构成,软件在嵌入式操作系统VxWorks平台上运行。每个网管单元都可以通过Ethernet或RS232接口连接网管终端,同时经FOM帧中的EOC通道与网中其他结点的网管单元相连。与网管终端相连的结点为主结点,不仅要负责与网管终端通信,而且要实时汇集网中其他结点的运行和维护信息,并传送给网管终端FOM自愈环网中,当网络发生严重故障(无光信号、无34.56 Mb/s信号等,将导致通信中断的故障)时,网管终端或网络主结点(网管终端不工作时)会自动发出命令、启动备用通道、实现系统自愈。
PC机上安装的网络管理软件既可以在本地通过RS-232接口对本地FOM进行管理,也可以通过Internet。采用与之兼容的网络管理协议对网络上的各个结点进行管理。SNMP协议由于其设计简单、容易扩展得到广泛应用,被采纳为基于TCP/IP协议的各种互联网络管理的标准[2]。
2 FOM网络管理系统的功能
FOM网络管理系统主要包括:设置功能、报警处理功能、loopback功能、传输功能。设置功能包括基本设置:系统识别码、系统位置、系统IP地址、系统管理人员设置,E1设置,即16路E1上下设置。报警处理功能包括高速信号告警:高速信号分为东向、西向,每个方向都包括光信号丢失告警、侦信号丢失告警、本站错误告警(正常,有错,严重错误或通信中断)、对方错误告警(正常,有错,严重错误或通信中断)。E1信号告警处理,即每一路E1信号的丢失。loopback功能包括:本地FOM高速环回、本地FOM低速环回、远端FOM高速环回、远端FOM低速环回、远端LIU(Line Interface Unit)模拟(HDB3)环回、远端手动电缆连接环回。传输功能:网管利用FOM系统的384 KB/s通道进行传输,并且采用TCP/IP和SNMP协议,网络管理模块的1个结点可以对网络中的所有结点进行管理,对本地管理员提供所有的功能(包括提供远端管理功能)。
3 FOM系统网管软件的总体结构
FOM嵌入式网管功能强大,所有这些功能的实现不可能在同一个任务中完成,整个系统的应用软件通过FOM_SM、SM Agent、SNMP、LCD Control、Tributary control 0~3、Test等共15个任务来实现。其中,FOM_SM是主任务,所有其他各个任务之间的交互都通过该任务实现中转,这样可以避免系统中存在过多的消息队列。SMAgent则把用户发来的管理命令进行翻译归类后,通知FOM_SM做出相应的回答并转发该次的回答消息[3]。其中主要任务的通信机制如图1所示。
4 SM Agent的实现
SM Agent将管理站对管理对象的操作进而转换为对相应的设备参数的操作,并确保管理功能的实现。通过管理进程基于UDP的SNMP协议进行通信,将管理站的命令转发给FOM_SM,再把FOM_SM做出的相应回答转发给管理站,利用这种中介作用,使管理站可以对FOM-ADM设备实现监测和控制。
4.1 MIB树设计
FOM系统的嵌入式网管单元使用VxWorks作为其操作系统,利用Tornado自带的WindNet SNMPv1/v2的支持,创建SNMP代理。具体步骤如下:FOM系统特定MIB文件的编写,将得到的MIB文件转化为.c和.h文件编写、修改,最终将代理相关功能整合到VxWorks中,即可以实现基于WindNetSNMPv1/v2c的代理,从而与管理站进行通信,实现对FOM-ADM监测与控制的目的。
FOM的网管功能包括系统工作模式设置、配置管理、性能监视、故障报警和系统维护等。针对上述功能对FOM(1)给出了6个组:系统组(FOMsystem)、卡的类型组(FOMcard)、pm设置组(FOMsetpm)、pm查询组(FOMgetpm)、报警组(FOMalarm)、维护组(FOMmaintence)。每个组都有很多变量,包括简单变量和表变量。图2描述了FOM系统的MIB树结构。
其中,FOMsystem描述了配置系统相关的变量;FOMcard描述了应用卡配置的相关变量,各路信号的编码方式、传输参数等设置;FOMsetpm描述设置最近1天内15 min间隔和1周内24 h间隔的误码秒(ES)、严重误码秒(SES)、不可用秒(UAS)的极限值的变量;FOMgetpm则描述PM查询后存放ES、SES、UAS返回值的变量;FOMalarm描述报警历史的相关变量,以及查询报警历史的相关条件变量;FOMmaintence则描述了设置系统需要的环回信号测试参数变量,以及得到的测试结果变量。
在编辑构造MIB文件后,通过mib2c等第三方工具,利用mib文件构建原始的mib.c和mib.h框架。
4.2 MIB初始化
初始化首先对全局变量(包括当前通道号、卡号等)赋默认值。利用msgQCreate函数,创建了1个ID为APP_SNMP_Mbox的消息队列,用来接收FOM_SM任务发给SMAgent的消息,它的队列长为64。消息按优先级排列。然后向FOM_SM发送初始化成功的信息,若成功,则WindNet SNMPv1/v2c中自带的函数使代理进入消息处理循环。
在需要的时候,给访问变量设初始值。其流程图如图3所示。
4.3 MIB访问
在创建代理MIB树时,访问函数已经赋予了MIB树叶节点中的访问函数指针,这样当查找到相应的叶子节点时,就会通过访问函数指针调用相应的访问函数。主要包括Get函数、Next函数、Test函数、Set函数,其中Get函数、Next函数、Set函数分别完成对Get、GetNext、 Set命令的响应。
4.4 Trap设计
代理的作用之一就是检查异常事件的发生,并及时向管理站发送Trap消息。Trap设计中要考虑两方面问题:一是定义何种事件可以产生Trap;二是Trap中含有什么信息。在一些标准MIB文件规范中已经定义了产生Trap的事件,而对于企业专有MIB,要根据设备的实际情况确定产生Trap的事件。
在SM Agent的Trap设计中,既有标准MIB文件规范中预定义的Trap事件(表示代理已经开始工作的coldStart),也有为FOM系统专门设计的Trap事件,如对出现卡的状态变化、系统各路信号的ES、SES、UAS超过设定阈值,各路信号出现信号丢失(LOS)、帧失步(LOF)等情况时给出实时告警。
在PC机上运行MIB Browser软件,通过向目标机发送Get、Set指令,制造FOM预定义的异常现象,观察Trap警告信息,均可以得到正确的信息。
参考文献
[1] 徐钊,杨福锦,郑红党.FOM光纤自愈环网[J].光网络技术,2003(8):6-8.
[2] 徐钊,张林,李建成.FOM-ADM嵌入式网管的设计[J].光通信技术,2004(5):32-34.
[3] 李娜,赵兵,翟文艳.FOM嵌入式网管SNMP Agent的设计与实现[J].工矿自动化,2008(2):44-47.