1. 基于SNMP的网络管理
网络设备的复杂化、异构化使得网络管理不可或缺。目前存在:公共管理信息服务/公共管理信息协议(CMIS/CMIP)、局域网个人管理协议(LMMP)、简单网络管理协议(SNMP)等几种标准的网络管理协议。简单网络管理协议(SNMP控制工程网版权所有,Simple Network Management Protocol)以下简称SNMP控制工程网版权所有,由于其简单与实用性CONTROL ENGINEERING China版权所有,已经成为TCP/IP网络事实上的管理标准。现在所提的SNMP已经不仅仅是指一种管理协议,而是一种网络管理体系结构。
SNMP遵循标准的Client/Server结构,它的管理模型包括四个主要元素,即管理者(Manager),代理(Agent),管理信息库(MIB,Management Information Base)以及管理协议SNMP。SNMP网络管理模型如图1所示。
图1 SNMP网络管理模型
Manager是实施网络管理的处理实体,它定期查询Agent收集到的相关信息,实现对网络中各种资源的监测;并负责发出网络管理操作的各种指令www.cechina.cn,完成各种网络管理功能。在模型中起到Client的作用。
Agent定期收集和维护本地管理信息,响应Manager的命令或操作请求。另外,Agent也可以将自身系统中的发生的事件主动通知给Manager。可见,Agent在模型中担任Server的角色。
MIB是被管对象的抽象集合,它规定了被管理设备须保存的数据项目和数据类型CONTROL ENGINEERING China版权所有,以及每个数据项目所允许的操作等。Manager可通过SNMP协议对MIB进行操作,实现对被管理设备的监视和控制。
SNMP协议提供了Manager和Agent之间交换管理信息的方法,信息按照SNMP消息的形式进行信息交换。SNMP每一个消息包括一个代表SNMP版本的版本号,一个用于消息认证的共同体名,以及5种中的一种协议数据单元(PDU), 5种PDU对应如下5种SNMP协议报文的操作。
ž GetRequest:Manager用来从Agent取得相关变量的值;
ž GetNextRequest:Manager用来从Agent取得相关变量的下一个变量的值;
ž SetRequest:Manager用来设置Agent上的相关变量的值;
ž GetResponse:Agent对Manager发送的应答信息;
ž Trap:Agent在满足一定的触发条件时,向Manager报告异常事件。
Manager通常在工作站或高性能PC实现,提供人机接口。Agent一般嵌入在被管理设备内部提供标准SNMP接口。随着微处理器技术、存储器技术,以及嵌入式操作系统的飞速发展,使得在交换机上嵌入Agent方便可行。
在笔者为总参通信部(十五项目)开发的三层加固以太网交换机(以下简称以太网交换机)网管系统中,实现了嵌入式 Agent。下面结合该系统,说明嵌入式Agent的设计与实现。
2 嵌入式 Agent系统结构模型
加固以太网交换机对外提供80个10/100M以太网接口、10个千兆光纤接口、2个SDSL RJ11接口。该交换机系统的交换结构采用交叉开关型,这样交换机硬件主要由交叉开关、交换芯片、CPU模块及SDSL模块四个部分组成,如图2所示。交叉开关采用Marvell公司的GT48304、三层10/100M以太网交换芯片和三层千兆交换芯片分别采用Marvell公司的GT48510和GT48520、 CPU采用Motorola公司的MPC8260CONTROL ENGINEERING China版权所有,配置512M RAM、SDSL模块芯片组采用GlobeSpan公司的OrionTM芯片组。
加固以太网交换机采用了美国WindRiver公司的VxWorks实时操作系统,SNMP Agent的开发采用了该公司与VxWorks高度集成的WindNet开发工具。SNMP Agent 位于系统的CPU模块上,实现交换模块和SDSL模块的统一管理,并通过系统以太网接口连接外部网管工作站Manager。
图2 交换机硬件系统结构及Agent系统结构模型
3 定义和扩充MIB
IETF 在RFC1155 规定了SNMP MIB 能够使用的数据类型及如何描述和命名MIB中的管理对象类。SNMP MIB是围绕管理对象进行组织的,每个对象从本质上讲是代表被管设备某一特性的变量,RFC1155 规定SNMP MIB用ASN.1来命名所有的管理对象。ASN.1定义了一个树状的名字空间,每一对象的名字都反映了该对象在这一树中的位置,对应于树中的一个叶子对象。