移动通信基站平台的SNMP系统设计

2014-09-25 10:19孙延
电子设计工程 2014年16期
关键词:码流通讯消息

孙延

(陕西工业职业技术学院 陕西 咸阳 712000)

移动通信基站平台的SNMP系统设计

孙延

(陕西工业职业技术学院 陕西 咸阳 712000)

文中首先介绍了OMS系统中SNMP模块的架构,然后对模块状态机和状态跳转关系进行分析,并提出了SNMP模块的关键数据和关键类的设计思路,在对系统的SNMP模块架构设计进行了充分讨论的基础上,考虑到模块与系统的功能扩展,设计了独立的SNMP系统框架,并对单一基站应对多个管理端提出了解决方案。

通信;SNMP;OMS;系统

随着移动通讯网络的飞速发展和越来越广泛的应用,对通用化、平台化的通信设备操作维护系统的研究也早已成为热门。对通信设备的通用化管理变为对通信网元的通用化管理,应用 SNMP(Simple Network Management Protocol,简单网络管理协议)对网元进行管理已经成为了通信网元软件发展演进的潮流[1]。因此,设计一款实用、高效的移动通信基站的SNMP软件系统具有重要意义。

1 OMS SNMP通讯模块介绍

SNMP模块设计为OMS子系统的一个组成部分。运行于主控板之上,承担着对整个NodeB前后台之间的通讯任务。SNMP模块是NodeB OMS子系统中新增的一个分模块。SNMP模块的主要功能是承担操作维护子系统中SNMP的协议处理、前后台消息的转发和接收、对OMS其他模块屏蔽SNMP差异的模块。SNMP模块主要完成的是对SNMPV1,V2报文的处理,BER的编解码,MIB的信息注册和管理,对应用的消息的自动中转等处理[2]。

目前对基站的软件设计可以达到如下的通用化:

1)对前台应用模块透明下支持多种前后台交互协议。

2)较容易地扩展支持其它协议,并且不对现有通讯方式产生影响。

3)同一个前后台交互完成的功能,切换前后台通讯方式,对前台可以做到不影响,比如某某功能以前是走SNMP,后来修改为RUDP或者MML,对前台代码可以做到无影响。

2 SNMP模块状态机

SNMP通讯模块状态机设计共分为3个状态:初始状态(SNMP_INIT_STATE)、主工作状态(SNMP_MASTER_WORK_STATE)和备工作状态(SNMP_SLAVE_WORK_STATE)。

SNMP_INIT_STATE下完成的主要功能有:

1)接收系统主上电消息,进行主用SNMP进程初始化,完成mib静态树的

创建,叶子节点对应功能注册,trap消息注册。

2)接收系统备上电消息,进行备用SNMP进程初始化,完成备用SNMP

数据区的构建。

3)响应和处理COMMGR的前后台建链、断链消息,进行相应SNMP会话管理。

SNMP_MASTER_WORK_STATE下完成的主要功能有:

1) 响应和处理后台(OMCB、EMOS、EFMS、PMS、DTM)的各种人工操作,发送对应命令到应用。

2)响应和处理应用返回的处理结果,发送给后台。

3)响应和处理前台应用主动上报后台的trap消息。

4)响应和处理COMMGR的前后台建链、断链消息,进行相应SNMP会话管理。

5)响应系统的主转备消息。

SNMP_SLAVE_WORK_STATE下完成的主要功能有:

1)响应系统的备转主消息 各状态间的迁移关系如表1所示。

表1SNMP状态关系Tab.1 SNMP state relations

3 SNMP模块关键数据设计

SNMP会话链路管理结构体设计如表2所示。

SNMP Mib树节点属性结构体设计如表3所示。

SNMP节点功能信息结构体设计如表4所示。

SNMP trap节点功能结构体设计如表5所示。

表2 SNMP会话链路管理结构体Tab.2 SNMP session link management structure

表3 Mib树节点属性结构体Tab.3 Mib tree node attributes structure

表4 点功能信息结构体Tab.4 Point function information structure

表5 trap节点功能结构体Tab.5 Trap structure node functionality

4 SNMP类设计

在模块设计中,SNMP的Agent主要处理SNMP操作,其中通过CSnmpSessionManager来管理多个介入设备的链接,其中每一个链接就是一个CSnmpSession对象,在CSnmpSession中调用CSnmpAgent的方法来处理码流,完成SNMP操作处理[3]。这种会话机制使单一代理对应多管理端有了良好的解决方案。在SNMP模块中主要有如下几个类完成基本的处理管理功能。如图1所示。

4.1 CSnmpAgent

在系统启动时SNMP模块会初始化一个CSnmpAgent对象,这个对象可以执行SNMP的基本功能,对其中主要方法详解如下processSnmpPkg():处理 SNMP报文,核心方法之一,该方法处理如下:

1)解码PDU头,构造不同的PDU请求和它的回应。

2)解码绑定数据流,得到OID和它们的值。

3)依据头中的信息找到SnmpSession去处理。

processMsgAck():处理来自应用程序的应答,核心方法之一,该方法处理如下:

图1 SNMP关键类设计Fig.1 SNMP key class design

1)收到Comm的回复消息(依据通讯头)。

2)如果不是主动上报的消息:依据通讯头得到流水号,依据该流水号从请求的PDU中查找到对应的PDU[4]。

3)调用查找到的 PDU processMsgAck方式,在 PDU的processMsgAck中,会找到对应功能的的回应消息号处理函数,通过该函数,可以把消息转为 OID[5]。 在 next(get-bulk)中还存在如下情况:如果该PDU返回处理OK,如果全局处理完毕(对Next,Get:则把该PDU最终的码流发给后台(IP和端口),如果是Get-Bulk,则还存在看获取个数是否和重复个数一致)。如果该PDU返回处理的是NoSuchName,则Response从MibTree中查找下一个Oid,并把实例号设置为0,重新走以下OID->码流,并通过Comm发送给应用[6]。

4)如果在第2步发现是主动上报的消息,则转化为TrapPdu,并调用消息转绑定OID的处理函数即可。

4.2 CSnmpSessionManager

CSnmpSessionManager是SNMP链接session的管理类,管理多个连接,这个管理类主要是提供给RDUP,COMM接入时的所有Session的管理类[7]。但实际上不处理任何业务,而是交给Session去处理。

4.3 CSnmpSession

CSnmpSession表示一个会话,该会话由RUDP通过CSnmpSessionManager得到 Ip和Community,SNMP版本则是固定v2。它和CSnmpSessionManager是个聚合的关系,生命周期完全由CSnmpSessionManager通过RUDP,和CSnmpProc来维护。这个类完成如下功能:

1)构建Pdu,并且保存最近5条的Pdu以及其Response。

2)和 Comm 通讯模块得到 Ip,Community,CommId。

3)和OamAgent进行交互得到真正的码流。

其中主要方法详解如下:

processRequest():处理一个 SNMP 请求。

processAppMsgAck():处理应用层对SNMP请求的应答。

continueAppRequestAsk():处理来自应用层的私有消息,并将之转换成OID序列。

4.4 COneRequest

表示一次PDU的请求的码流及相应的其它信息。对于Get操作,该对象保存Get的OID序列,在系统处理完成之后向码流中填入得到的数据[8]。对于SET操作,该对象保存码流,在系统返回设置结果后向后台回应。

5 结 论

本文分析了OMS操作维护系统SNMP模块的实现,通过对SNMP模块的一些关键数据设计和类的设计的分析,以及对架构的良好设计,为SNMP系统的实现以及单代理对应多管理端的策略创造了良好的解决方案。

[1]张朕,应吉康.基于SNMP的统一网管框架的设计与实现[J].计算机技术与发展,2006(1):27-29.

ZHANG Zhen,YING Ji-kang.SNMP-based network management framework for a unified design and implementation[J].Computer Technology and Development,2006(1):27-29.

[2]彭林,朱小敏,朱凌霄.WCDMA无线通信技术及演化[M].北京:中国铁道出版社,2004.

[3]王学龙.WCDMA移动通信技术 [M].北京:清华出版社,2004.

[4]Douglas E Gomer, David L Stevens.用TCP/IP进行网际互联第一卷:原理、协议与结构[M].4版.林瑶,等译.北京:电子工业出版社,2001.

[5]吕谦,黄本雄.ASN.1及其两种编码方式(BER和PER)的对比研究[J].数据通信,2001(3):18-20.

LU Qian,HUANG Ben-xiong.Its two encoding ASN.1(BER and PER) comparative study[J].Data Communications,2001(3):18-20.

[6]刘英浩,孙明海,阮方.SNMP委托代理在嵌入式系统中的实现[J].微计算机信息,2005(16):51-53.

LIU Ying-hao,SUN Ming-hai,RUAN Fang.SNMP proxy agent implementation in embedded systems[J].Microcomputer Information,2005(16):51-53.

[7]李刚.基于SOA的Web GIS系统框架设计分析 [J].陕西电力,2011(2):38-41.

LI Gang.Web GIS system frame design analysis based on SOA[J].Shaanxi Electric Power,2011(2):38-41.

[8]王坤.基于SVPWM的STATCOM设计及实现[J].陕西电力,2011(1):11-15.

WANG Kun.SVPWM based design and realization of STATCOM[J].Shaanxi Electric Power,2011(1):11-15.

Mobile communication base station platform's SNMP system design

SUN Yan
(Shaanxi Polytechnic Institute, Xianyang 712000, China)

This chapter introduces the OMS system SNMP module structure,then the module state machine and state transition analysis of the relationship and SNMP module presents key data and key class design ideas,SNMP module in the system architecture design had a full discussion on the basis,taking into account the system’s function expansion module designed independent SNMP system framework and respond to more than one management-side single station proposed solutions.

communication;SNMP;OMS;system

10.14022/j.cnki.dzsjgc.2014.16.044

TN929.51

A

1674-6236(2014)16-0147-04

2013-11-12 稿件编号:201311118

孙 延(1982—),女,陕西咸阳人,讲师。研究方向:软件工程与机械工程。

猜你喜欢
码流通讯消息
《茶叶通讯》简介
《茶叶通讯》简介
通讯报道
数字电视TS码流协议简要分析
一张图看5G消息
高清网络摄像机图像延迟分析及解决方案
通讯简史
一种比较ASN.1码流差异的方法
消息
消息