综合资讯 在线阅读 原文阅读 在线商城 下载专区 DATASHEET 技术论坛 商务频道

嵌入式系统  单片机  D S P  EDA/PLD  接口电路  存储技术  显示光电  电源技术
传感/控制  模拟技术  通信网络  无线通信  电测仪表  消费电子  汽车电子

所在的位置:首页技术文章通信网络正文
 
一种基于消息驱动的网管工作站设计方案
发布日期:2005-10-20 作者:张研 朱玉 韩露 曲剑 来源:微计算机信息

摘要:通过分析基于SNMP协议的网络管理体系结构,提出了一种基于消息驱动的网管工作站方案,并给出了具体的实现方法,实现了高效的网络管理。
关键词: SNMP协议;网络管理;消息驱动

    随着互联网技术的空前发展和网络带宽的不断提高,路由器成为互联网最为关键的核心设备,为了满足未来网络发展的需要,路由器的处理速度要达到T比特级(terabit)。为了实现对T比特路由器的有效管理,要求开发一个高效的扩展性好的网络管理系统。SNMP[1](Simple Network Management Protocol,简单网络管理协议)以其简单性和实效性成为网络管理的标准协议,基于SNMP协议的网管软件一般分为三个部分:客户端、网管工作站和网络设备,如图1所示。对网络的管理和维护是通过SNMP管理和SNMP代理之间的交互完成的[2]。其中SNMP管理程序运行在网管工作站上,网管工作站的工作效率将对网络管理的效果产生很大影响。


 
1. WEB网络管理技术的适用性分析

    目前,随着Web技术的流行和发展,普遍采用基于Web的网络管理系统。常用的基于Web的网络管理技术有两种,一种是基于嵌入式的网络管理,将网管工作站嵌入到网络端设备中,每个设备都有自己的Web地址,网管人员可以通过浏览器访问并管理设备,这种技术适合于小型网管系统,而且不利于扩展。第二种是基于代理的网络管理,由代理程序来管理设备,将管理程序加载到网管工作站中,通过snmp协议与代理程序通信,浏览器通过HTTP协议与网管工作站通信,这种技术使得浏览器与网管工作站可以采用B/S(Browser/Server,浏览器/服务器)结构通信,软件系统的部署、升级维护和数据备份只需在服务器端完成,客户端无需做应用程序的安装和调试,极大降低了系统总维护成本,加强了系统的稳定性和可扩展性。由于T比特路由器是核心路由器,用于大规模网络,且对可扩展性有较高要求,所以应采用基于代理的管理方法。

2. 网管工作站的设计方案
    为提高网管工作站的扩展性和维护性,采用模块化设计,根据X.700系列建议书和在研项目的性能要求,划分为五个模块,网络管理工作站的模块结构如图2所示。
  
     •故障管理模块(Fault Management):检测和确定网络环境中异常操作,完成网络系统中问题的发现、定位、修复;同时提供诊断的功能,以定位和解决问题,并且把告警信息记录到数据库中,作为以后诊断和分析的依据。
    •配置管理模块(Configuration Management ):完成对资源的识别、配置和控制,使网络管理人员可以生成、查询和修改软硬件的运行参数和条件,以保持网络的正常工作。通过配置管理,能够完成网络设备的在线配置。
    •性能管理模块(Performance Management):完成对系统服务质量的监测,能够实时连续地收集网络和系统运行的相关数据,并存入数据库,监视网络和系统的运行状况和效率,同时可以以图形方式显示网络运作的状态,在需要时通过命令进行控制。
    •Web服务模块(Web Server):提供安全管理和流量统计的功能,根据流量统计的结果进行计费管理,还要与上述三个模块通信,及时收集网络信息。
    •消息管理模块(Message Management):以上四个模块之间的通信采用基于消息的通信机制,为了实现消息的转发,同时实现对消息的集中管理,设计了消息管理模块,作为通信的中转站,消息管理模块是网管工作站的核心模块。

3. 消息管理模块的实现
3.1消息管理模块的需求分析
     网管工作站采用B/S(浏览器/服务器)结构,网管人员利用浏览器访问网管工作站的Web服务模块,发出各种“管理请求”,Web服务模块把“管理请求”转发给消息管理模块。因为网管工作站支持多个浏览客户,所以浏览器与Web服务模块之间是多对一的通信,Web服务模块会“同时”向消息管理模块提交多个“管理请求”。因此消息管理模块应具有并发服务器[3]的功能,可以“同时”处理多个客户的请求。
 消息管理模块作为消息的中转站,要对各模块通信的消息进行管理和转发,为了实现可靠的消息通信,消息管理模块除监听Web服务模块的“管理请求”外,还要与故障管理模块、配置管理模块、性能管理模块和路由器的IMI(Integrated Management Interface,集成管理接口)模块建立基于TCP协议的可靠连接。这种基于TCP的连接称为“line”连接,基于“line”连接的通信消息称为“line”消息,消息的报文格式如下:
 
      图3  “line”消息的报文格式
各域的含义是:
 Length域,占两个字节,代表消息的长度,即Message域的长度。
 Module域,占两个字节,代表目的模块标识符,目前目的模块包括Web服务模块、性能管理模块、故障管理模块、配置管理模块。一个模块占用1比特,例如Web服务模块占用第0比特,则Module域的第0比特为“1”表示消息的接收方是Web服务模块。
 CLI key域,占两个字节,代表建立line连接的标识符。
 Mode域,占一个字节,这个域是针对配置管理设置的,代表配置命令所属的命令节点。
 Privilege域,占一个字节,代表命令的特权等级。
 code域,占一个字节,代表命令执行的结果。
 Reserved域代表保留字,缺省填零。
以上各域共占12个字节,组成消息头。
 Message域存放具体的消息内容。
3.2 消息管理模块中并发服务器的实现
消息管理模块采用多线程技术实现对“管理请求”的并发处理。模块初始化时启动一个线程,并将线程加入到线程队列中,监听网管人员的“管理请求”,当收到请求后,该线程开始处理消息,并启动另一个线程继续监听。考虑到“管理请求”的优先权问题,增加了线程队列调度功能。设置三个线程队列,按优先级分为高、中、低三级,由一个线程管理器统一管理。线程队列的结构体设计如下:
struct thread
{
  struct thread *next;  /* 指向前趋结点的指针 */
  struct thread *prev;  /* 指向后继结点的指针 */
  struct thread_master *master;    /* 指向线程管理器的指针*/
  int (*func) (struct thread *);  /* 线程处理管理请求的函数  */
  char type;    /* 线程类型  */
  char priority;   /* 优先级  */
}
线程管理器的结构体设计如下:
struct thread_master
{
  struct thread_list queue_high;  /* 三个基于不同优先级的线程队列 */
  struct thread_list queue_middle;
  struct thread_list queue_low;
}
3.3消息管理模块的工作流程
 首先启动故障管理模块、配置管理模块、性能管理模块和路由器的IMI模块,每一模块监听一个端口。然后启动消息管理模块,消息管理模块主动连接上述模块监听的端口,连接成功则建立了“line”连接,同时还要启动一个线程,监听来自Web服务模块的“管理请求”。最后启动Web服务模块,Web服务模块与消息管理模块建立“line”连接。
 
     消息管理模块接收“line”消息,先对消息头进行解析,根据消息中Module域的内容得到消息的目的地,然后判断是否与消息接收方建立了“line”连接,如果没有建立连接,则填写消息的code域,向Web服务模块返回“消息发送失败”的编码,如果建立了连接,则转发消息。消息接收方根据消息的Length域得知Message域的长度,准确地从Message域提取消息内容,对消息进行具体处理,处理之后,发送应答的“line”消息,code域存放消息接收方处理消息的结果,应答消息的Message域可以为空,该消息经消息管理模块返回消息发送方。简要的处理流程如图4所示,消息管理模块处理消息的流程图如图5所示。


4. 结束语
 网管工作站的模块化设计增强了网管软件的维护性和扩展性,消息管理模块为网管工作站各模块之间提供了统一的通信格式,便于消息的转发和处理。基于消息驱动的网管工作站提高了管理效率,增强了网络管理系统的可扩展性和可维护性。希望这种网络管理模型对其它类似的网络管理起到积极的参考作用。
                 参考文献
[1] J. Case, M. Fedor, M. Schoffstall and J. Davin, “A Simple Network Management Protocol ”, RFC1157, 1990
[2] 林恒,李华锋,SNMP纵论,北京工业大学学报第30卷第1期,2004
[3] Dougalas E.Comer  David L.Stevens,用TCP/IP进行网际互联 第三卷 ,电子工业出版社,2001


 (全文结束)

信息发布:   转引自: 【 】 【打印】 【关闭
 相 关 文 章
协议适配层技术在网络管理中的应用及研究 (09-21)
网络设备监管系统的设计与实现 (10-27)
关于我们 ┋ 友情链接


深圳市福田区海滨广场恒福花园恒华阁11F
电话:0755-88305872 传真:0755-88305880
Copyright©2005-2007 无忧电子开发网版权所有

粤ICP备05064233号