DVB-RCS小站嵌入式网管代理的设计与实现
2009-07-09姚培荣
姚培荣
DVB-RCS系统是一个支持用户终端信息回传的卫星通信系统,该系统由一个系统主站和若干个远端小站组成。网管代理存在并作用于嵌入式DVB-RCS小站上,用于完成对该小站的运行状态、设备特性和系统配置等相关信息的监视和控制,以确保其能正常、高效地运行。
嵌入式网管代理的系统资源
DVB-RCS小站是DVB-RCS系统的嵌入式设备,采用AMCC PPC405系列芯片作为其CPU,采用2.6内核的开源的嵌入式Linux操作系统作为其基础平台。DVB-RCS小站是DVB-RCS卫星网络中的一个设备,涉及到的网络不是普通的Internet局域网,而是基于卫星链路的卫星网,因此在协议栈IP层以下有一个虚拟的卫星网卡接口来实现卫星网络数据的收发。网管代理作为应用软件运行在嵌入式Linux操作系统之上。通过卫星网卡接口实现与管理站的交
互。
SNMP网络管理协议
SNMP即简单网络管理协议,它是TCP/IP协议簇的一部分,负责定义管理站和代理之间的信息交换格式和操作规则,为网络管理系统提供底层网络管理框架。基于SNMP的网络管理模型由一个或多个管理站、多个被管设备组成。为了实现管理站和代理之间管理信息的交互,SNMP定义4类和网管代理有关的基本操作命令:Get-request操作,从代理的MIB中获取被管理对象的值;Set-request,改变代理MIB中某一个被管理对象的值;Get-response操作,代理对上述2种操作的执行结果做出响应;Trap操作,代理报告事件信息。这4种基本操作体现了一个网管代理最基本的功能特性。
DVB-RCS小站嵌入式网管
代理的设计
DVB-RCS小站嵌入式网管代理是驻留在该小站设备上的一个进程,负责接受、处理来自管理站的请求报文,然后从DVB-RCS小站上其他协议处理模块中取得管理变量的数值,形成响应报文,送给管理站。在一些紧急的情况下,如接口状态发生改变等,通过发送Trap报文主动通知管理站。以下是DVB-RCS小站嵌入式网管代理功能模块。
编码与解码模块解码与编码模块主要的功能是能够把卫星网络上传输的SNMP报文转换成本机能够理解的形式,同时也将本机的管理信息转换成SNMP报文最终通过卫星网送给管理站。
解码模块首先要对报文进行认证、获取操作命令,在解析协议数据单元(PDU)参数时,要根据参数的类型,调用针对其类型的解析函数,最后获取参数列表的具体内容。
编码模块首先构造ASN.1的报文头和认证字段,然后根据发送参数的不同类型和长度进行协议数据单元(PDU)的构造,最后封装成一个UDP报文发送。编解码模块提供根据BER和ASN.1规则,对SNMP协议数据单元进行编码和解码的功能给上层调用,该模块是上层请求处理与应答和Trap发送的基础。
请求的处理与应答模块该模块是DVB-RCS小站嵌入式网管代理模块中的核心模块,负责解析并响应管理站的SNMP命令,实现对管理对象信息的查询和设置。它包含SNMP命令接受与处理,以及回应协议数据单元(PDU)的组织。接受与处理:接受到请求的协议数据单元后,根据命令类型和参数执行相应的操作。构造与发送:首先将操作的返回参数进行封装,结合共同体(Community)等信息,交给编码模块进行编码,形成SNMP协议数据单元,组装成UDP报文,最终通过收发模块发送到管理站。
Trap触发模块SNMP中的Trap报文是一种由DVB-RCS小站嵌入式网管代理主动向管理站发出的告警报文。SNMP协议规定6种保留的Trap类型:coldStart,warmStart,linkDown,linkUp,authenticationFailure,egpNeighborLoss。这6种信息都是对错误状态的报告,体现Trap用于告警的性质。Trap报文的构造过程与应答报文类似,只是从触发源来看,前者是在代理内部,后者来自于管理站。
MIB访问接口模块MIB访问接口模块处在MIB库和请求应答模块之间,负责根据请求命令从MIB库中提取出管理对象的信息以及实现对管理对象状态的更新。前者即为Get类操作,后者是Set类操作。开发人员在MIB编译器所生成读写函数框架的基础之上,进一步实现对管理对象MIB的读写功能。为了对DVB-RCS小站进行有效管理,这里根据DVB-RCS协议规定的DVB-RCS小站的特点及管理要求定义私有的MIB文件,从而使该嵌入式设备的可管理性大大增强。
嵌入式网管代理设计应
注意的问题
首先,DVB-RCS小站是DVB-RCS卫星网络中的一个设备,涉及到的网络不是普通的Internet局域网,而是基于卫星链路的卫星网,因此在网络上传递的不是简单的UDP报文,而是符合DVB相关协议的某种格式的报文,这是通过在IP层以下设计一个虚拟的卫星网卡来实现的,在设计嵌入式网管代理时,需要考虑与该虚拟卫星网卡的接口。其次,该网管代理是嵌入式DVB-RCS设备上的网管代理,考虑到硬件平台和操作系统平台的约束,需要减少代理可执行代码的大小,在设计中采用如下方式:1)采用C语言作为协议实现语言;2)采用基本库函数,尽量减少链接库的数量;3)优化代码设计,尽量减少非主要功能。
结束语
本文提出一种DVB-RCS小站设备嵌入式网管代理的实现方案,该网管代理的实现为DVB-RCS系统的网络管理提供一个良好的基础。
(作者单位:山东经贸职业学院计算机系)