APP下载

ST OS20平台上的SNMP代理端的开发

2011-08-10周腾,陈建

电视技术 2011年1期
关键词:定义

周 腾,陈 建

(中山大学 信息科学与技术学院,广东 广州 510006)

责任编辑:任健男

1 开发背景

随着Internet的普及和有线数字电视的推广,越来越多的家庭正在享受着高科技带来的便利生活。有线数字机顶盒用户数量庞大,虽然家庭网络的拓扑结构比较简单,但用户一般不具备专业的操作技能,并且目前的机顶盒不支持对电视频道和互动应用进行实时监控,所以亟需开发基于现行平台的网络管理软件。

简单网络管理协议(SNMP)[1-3]是当下比较成熟的网络管理协议,从20世纪90年代初提出至今已经过近20年的发展,得到了众多网络产品提供商的支持。SNMP协议使用UDP进行通信,降低了连接建立和拆除的代价。

本文将着重讨论意法半导体有限公司(STMicro⁃electronics)的OS20/OS21平台上SNMP的实现。OS20/OS21是ST公司推出的基于ST芯片的开源的、免费的、轻量级的实时嵌入式操作系统,目前主要用于使用ST芯片的机顶盒中。

虽然现在有很多现成的成熟的SNMP Agent的开源软件,如net-snmp,但是ST芯片的处理能力不强,整个平台的资源相对紧缺,并且OS20操作系统移植但又不完全移植于Linux操作系统,所以必须从最底层开始,以最少的资源消耗方式开发SNMP的代理端。

2 SNMP的报文格式

SNMP有SNMPv1,SNMPv2和SNMPv3三个版本,本文使用SNMPv1进行代理端的开发,SNMPv2和SNMPv3的原理与SNMPv1类似。

SNMP使用基本编码规则(BER)对传输的内容进行编码[1]。BER的基本规则是通过将数据表示为标记(Tag)、长度(Length)及内容(Value),如图1所示。

图1 BER的组成

其中,标识的最高两位用表示ASN.1所定义的变量类别,有UNIVERSAL,APPLICATION,CONTEXT和PRIVATE四种;一位用于区分该变量是否为结构类型;……

登录APP查看全文

猜你喜欢

定义
活用定义巧解统计概率解答题
例谈椭圆的定义及其应用
题在书外 根在书中——圆锥曲线第三定义在教材和高考中的渗透
永远不要用“起点”定义自己
严昊:不定义终点 一直在路上
定义“风格”
成功的定义
有壹手——重新定义快修连锁
修辞学的重大定义
山的定义