论文部分内容阅读
随着网络技术的发展,网络设备往往由许多相对独立的可管理模块组成,并要求实现灵活扩展,以满足特定的应用。由于这些可管理模块可能包含其相应的标准或私有的MIB,故对于网络管理,尤其是对代理的可扩展性提出了更高的要求。然而作为网络管理协议业界标准的SNMP却没有能够提供能将众多模块纳入统一的agent管理之下的解决方案。当前工业上事实的网络管理标准是SNMP(Simple Network ManagementPortocol),它共有SNMP(v1/2c/3)三个版本,设备配备最多的还是v1和v2c版本的代理程序。由于HFC接入网还没有定义标准的节点,因此,要用SNMP对如光端机、光放大器等设备进行管理,必须要扩展原有的MIB。由于不同设备的操作系统有很大的区别,这就要求代理程序能够很方便进行移植,不应带有专有系统的痕迹。目前商业上的一些SNMP代理的开发工具,如VxWorks操作系统附带有较好的MIB编译工具,用户只需要通过接口函数来维护MIB库,完成私有MIB变量的代理的实现。它的整体设计思想很好,模块化程度比较高,便于用户的二次开发,但是它的价格昂贵。Agent++是以snmp++为基础,以C++语言来实现。Agent++并没有提供MIB文件的编译工具程序,需用户把MIB文件邮寄给他们,他们编译好后再寄回来,限制了开发的灵活性。基于目前的状况,笔者对SNMP代理进行了一定的分析,以ucd-snmp软件包为蓝本实现了一个光端机的基于SNMP v2c的代理,实现了基本的SNMP管理功能,并成功移植到运行于Samsung S3C4510B上的uClinux嵌入式系统。