一种可扩展的新型可网管光纤收发器的设计方案

2013-11-05 22:58 来源:互联网 作者:和静

4.2CLI控制程序设计

CLI模块主要是用于在本地直接通过Console口和Telnet两种方式来配置和监控系统。模块名字为Console,包含arm9.c和console.c两个源文件:arm9.c中主要定义了一些接口函数用来获取、设置系统的信息和业务子卡的信息,如:getIP()、getSysName()、getCardStatus()、setCardStatus()等;console.c调用了这些函数,在命令行下建立了一个层次型的菜单结构,用户可以根据菜单的提示来选择完成功能强大的监控操作。通过配置Linux系统的启动脚本文件让Console模块在系统启动时自动加载,并屏蔽“Ctrl+c”中断让Console进程进入一个无限循环。

4.3Web服务程序的设计

本系统使用了BOA作为Web服务器,BOA是一个单任务的小型HTTP服务器,源代码开放、性能优秀,特别适合应用在嵌入式系统中。外部的应用扩展程序和BOAWeb服务器之间使用CGI(commongatewayinterface),按照CGI标准编写的外部扩展应用程序可以处理客户端浏览器输入的数据,从而完成客户端与服务器的交互操作。

CGI扩展程序模块名字为Hello,包含arm9.c和hello.c两个源文件。这里的arm9.c和CLI模块中的arm9.c基本相同;hello.c利用CGI从BOA服务器获取或传送浏览器端的信息,并调用arm9.c中的函数来获取、设置系统的信息和业务子卡的信息。模块中涉及到的Web页面通过Deamweaver来设计完成,如:loginSuc.htm、loginErr.htm、menu.htm等。

4.4SNMP管理功能的实现

SNMP基于TCP/IP协议体系,具有简单、易于实现的特点,是当前使用得最广泛的网络管理协议。SNMP采用代理/管理站模型进行网络管理,主要包括SMI(管理信息结构)、MIB(管理信息库)和SNMP协议几部分。SMI给出了管理对象定义的一般框架。MIB是设备所维护的全部被管理对象的结构集合。SNMP协议包括SNMP操作、SNMP信息的格式以及如何在应用程序和设备间交换消息。

本系统中SNMP模块的设计参考了开源CMU-SNMP软件包和相关的RFC文档。根据管理光纤收发器的实际需求和SNMPv2c规范建立了MIB,实现了GetRequest、GetNextRequest、SetRequest、GetResponse、InformRequest、GetBulkRequest和TrapPDU。通过符合SNMP规范的网络管理软件(如SNMPcv6)可以监控光纤收发器各业务子卡、端口、电源等的工作状态,同时光纤收发器也可以在系统发生变化时候根据预先的设定向指定的IP地址发送Trap报警信息[4,5]。

5结束语

本文介绍的这种光纤收发器设计方案,由于在硬件上采用了基于ARM920T的SamsungS3C2410以及功能强大的媒体转换芯片KS8993f,在软件上采用了稳定高效的Linux2.6为底层操作系统,所以开发过程简单迅速,并且经过实际测试,性能稳定,完全可以满足电信级的应用要求。此外本方案具有高度的可扩展性,只需要更新网络管理卡的软件便可以实现新的功能,可以从以下两方面考虑扩展功能:业务子卡上的媒体转换芯片KS8993f具有非常强大的功能,提供了3个接口,本方案中只使用了2个,在扩展方案中还可以把第3个接口连接到背板总线上,实现业务子卡之间的数据交换;媒体转换芯片KS8993f还可以支持OAM(operationaladministration and maintenance)管理帧,用于管理远程设备。

< 1 2 3 4 
光纤收发器

一周热门