《现代电子技术》2006年第24期摘录:2006年第24期总第239图
-
如发现有乱码,请点击下面链接浏览原文
正文摘录:
2006年第24期总第239图1t~Clinux应用程序调试模型3.2交叉编译环境建立项目中使用的开发板处理器是ARM7芯片,操作系统是t~Clinux,编译器则选择armelfgcc。将编译器安装软件arm—elf—tools一20040427.sh拷贝到目录(设为/usr/src)下,并执行该软件即可完成安装。./arm—elf—tools一200404027sh将/~Clinux源代码包ttClinux—dist一20040428.tar.gz也拷贝~lj/usr/src目录下,并解压。tarxzvf~Clinux—dist一20040428.tar.gz解压后,新生成的ttClinux—dist目录即是~Clinux的源代码目录。这样,就在宿主机上建立了完整的交叉编译开发环境。4SNMP代理的实现RFCll57描述了SNMP中所使用的代理/管理站模型。SNMP代理是能够回答来自SNMP管理站的关于MIB中定义的各种查询(get)和设置(set)命令的一个软件;同时SNMP代理能够把通信设备的一些信息(如告警信息)主动上报给管理站,即trap功能。SNMP使用UDP作为传输层协议,而UDP使用无连接的服务,故SNMP不需要依靠在代理和管理站之间保持连接来传输消息,SNMP代理通过161和162端口来接收和发送消息。图2是SNMP代理功能结构图,可完成对设备状态的控制等。图2中采集设备数据可以采用直接在MIB处理模块中实现,也可以通过自定义的简单设备管理协议(SDMP)0’来实现数据采集。图2Agent功能结构图4.1MIB库定义MIB定义了可以通过网络管理协议进行访问的管理对象的集合,是被管理对象的虚拟数据库。最初的RFCll56定义的MIB为MIB—I,接下来的RFCl213定义了正式的标准称为MIB—II,他是MIB—I的扩充,增加了一些组和对象0]。MIB可以描述为一棵树,各个数据项构成了树的叶结点。每个MIB对象都有一个惟一的对象标识符(OID)来标识和命名,这个标识符取决于MIB对象在树中的位置,而对象的实例也有标识符,由对象类的对象标识符加上实例标识符构成的。对众多通信传输设备光端机的管理,管理对象有告警查询、告警屏蔽、设备环回等,如设告警查询叶结点的OlD号为1.3.6.1.4.1.8000.515.10.10.10.20.1。4.2net—SNMP软件包net—SNMP从ued—SNMP更名过来。ucd—SNMP源自CarnegieMellon大学的SNMP软件包CMU—SNMP2.1.2.1,由UniversityofCalifoniaatDavis开发和维护,故命名为ucd—SNMP。2000年11月,ued—SNMP转由SourceForge管理,并更名为net—SNMP。net—SNMP软件包在所使用的tlClinux源代码包~Clinuxdist20040428.tar.gz中已经包含,该版本为Version5.0.9,也可以从http://www.netSNMP.org下载。4.3MIB模块程序这里MIB模块是指要实现的MIB叶结点的get,set,trap功能的程序模块。在net—SNMP源包中../netSNMP/agent/mibgroup中已经包含了一些标准库的MIB模块。扩展SNMP代理程序有几种方法:静态加载、动态加载共享链接库和AgentX子代理协议扩展代理方法“3。这里采用静态加载方式。MIB模块程序及静态加载:(1)编写一个需要加入的MIB库文件。MIB库文件的编写是根据SNMP协议中SMI部分描述,SMI所采用的是ASN.1的一个子集。ASN.1是一种可以用来定义数据结构的语言,他的基本组成单元是模块;结构定义以命名模块的形式进行,然后模块的名称就可以被用来引用该结构,模块的基本形式为:~modulereferrenee->DEFINITIONS::一BEGIN.EXPORTSIMPORTSAssignmentListENDmodulereference是模块名称,后面可以跟一个对象标识符来标识该模块。EXPORTS结构表示该模块中的一个定义可以由其他模块引入。IMPORTS接口表示有其他模块中的那一些类型和取值定义要被引入到该模块中。AssignmentList是赋值列表,是由类型赋值、取值赋值和宏定义组成。79
阅读此文(图):
点击此处在线翻阅