解析关于微控制器的web服务器设计

电子说

1.2w人已加入

描述

基于Web的网络管理(WBM)技术是Internet网络不断普及的结果。其根本点就是允许通过Web浏览器进行网络管理,可以把SNMP数据汇集到Web应用中去,既集成了SNMP协议,又能较好地解决网络管理平台存在的困难。WBM融合了Web功能与网管技术,从而为网管人员提供了比传统工具更强有力的能力。

管理者的操作不受地理位置的限制,可在任何平台下被访问。对系统的修改只需在Web Server上进行,无需在客户端作任何修改,减少了系统维护及修改的工作量与费用。具体包括HTTP协议、HTML语言、CGI原理以及B/S结构。

4.2 基于Rabbit2000的嵌入式服务器

4.2.1 TCP/IP协议栈与HTTP的实现

IP包含编址方案,并提供寻址功能;TCP则是在不同主机的对等进程之间提供可靠的进程间通信。与TCP两端口所连接的实体中,一端为应用程序进程或用户,另一端则为底层协议,如IP协议。TCP在建立连接过程中采用三向握手机制,以保证数据的可靠性。 Dynamic C实现TCP/IP协议通信的程序主体框架。在Dynamic C中,HTTP由HTTP.LIB来负责实现。

4.2.2 系统工作流程

系统流程如下:

(1) 系统上电,从FLASH读取系统配置信息,进行相应的配置。

(2) 各个变量初始化。

(3) 设置波特率,清空接收,发送缓冲区。

(4) 初始化各受控变量,及相关标记。

(5) 读flash,判断是否有数据保存标志。如有,则读出各个设置,赋值给各相关变量。

(6) 如没有,则认为是设置初始化,重新初始化文件系统,格式化,写入缺省设置。

(7) 初始化socket,启动以太网。

(8) 进入通讯,与机架上的各台设备通信。

(9) 启动web服务器,等待连接。

(10) 8与9各作为一个线程一直循环执行。

(11) 隔一段时间查询,如果掉电后需要保存的数据发生变化,则把数据保存到flash o

(12) 如果用户改变agentip,管理ip,子网掩码,网关等,则重新配置网络。

4.3 UCD-SNMP代理扩展

基于SNMP的网络管理软件及应用开发工具有很多,较为普及和流行的一种即为UCD-SNMP。由于UCD-SNMP的应用较为广泛,而该软件提供了较多的实用SNMP网络管理工具和SNMP代理,所以在实际使用中可以直接用于网络管理,进行各种操作。对该工具进行功能上的扩展,可以修改代理配置文件使SNMP代理能够执行外部命令,也可以扩展代理支持的MIB使代理能够支持自定义的被管对象。包括三方面扩展: 1) MIB定义文件;2) C代码头文件;3) C 代码执行文件。

4.4 MIB设计

MIB包括代理端本身MIB和设备MIB两大部分。

4.4.1 代理端本身MIB

代理端本身MIB:包括私有MIB和标准的MIBⅡ两大部分。

1.私有MIB

私有MIB:代理端系统描述,代理端ip地址,代理端mac地址,管理端ip,子网掩码,网关,代理OID,代理启动时间,设备数目,一些标记等。OID前缀为1.3.6.1.4.1.20353.1。

2. MIBⅡ

MIBⅡ是目前最重要,也是获得支持最广泛的MIB, UCD_ SNMP支持MIBⅡ。只要把MIBⅡ编译进agent,作一些小的修改就可以了。

4.4.2 设备MIB

设备MIB:设备型号,设备总体状态,各指示灯状态,各按钮状态,设置按钮(按下或弹出),其他设置等。

OID前缀为1.3.6.1.4.1.20353.2.

动态MIB的设计:

各型号设备的MIB子树的结构作为全局变量,在系统启动时就已经存在。系统启动时,通信程序轮询一遍各设备的状态,发现某个地址有设备,读取该设备型号及MIB信息,为该设备注册MIB子树。这样,一遍轮询后,设备的MIB都已经建立起来了。

程序不停的轮询各设备的状态,当发现设备已经不在线时,从系统MIB树注销该设备所在位置的子MIB树。当发现新设备时,向系统MIB树注册该设备所在位置的子MIB树。当设备状态改变时,改变相应的MIB变量。这样,就实现了MIB的动态刷新。

5 本文作者创新点

近年来,随着计算机软硬件技术的迅速发展,计算机的应用已逐渐深入各个领域,它渗透到我们工作、学习和生活的方方面面。本文设计并实现了基于RABBIT 2000的WEB服务器,基于ARM+UCLINUX的SNMP代理。这两个系统均用于通信设备的网路管理,工作稳定。本系统设计不需要多少成本,而性能与商用的嵌入式操作系统相差无几。因此非常适合于对成本敏感的系统设计。

参考文献:

[1] 李驹光,聂雪媛,江泽明,王兆卫,ARM应用系统开发详解-基于S3C4510B的系统设计,清华大学出版社2003年12月

[2] 王航。嵌入式通信平台的硬件设计与实现,国防科学技术大学研究生院,2002年l月

[3] 周立功等,ARM微控制器基础与实战,北京航空航天大学出版社2003年11月

[4] [美]Mark A.Miller, P.E.著晏明峰李静晏峻峰译,用SNMP管理互联网络(第三版),中国水利水电出版社2000年3月第一版

[5] 杨妮妮,赵新慧,李文超,冯锡炜。 基于Web的SNMP网络管理[J]。 微计算机信息, 2006, 2-3: P110-111、P72

节选自:微计算机信息

编辑:jq

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分