关键字:
u SNMP
u Agent
u MIB
u SMI
u UCD-SNMP
u LIBSMI
一:简单网管概念概述
所谓网管,一般是指对网络系统中的各种设备进行监测、分析与控制,从而保障整个网络系统可靠、有效地运行.网络管理员通过管理者与管理代理之间的交互通信而达到对网络进行管理的目的.
为了保证管理者与管理代理之间能正确地交换管理信息,需对管理信息作出定义和在两者之间达成一致协议.前者即是管理对象,有时简称为对象,管理对象的集合称为管理信息库MIB(Management Information Base),后者就是网管协议.目前,世界上使用最广泛的网管协议是基于TCP/IP的简单网络管理协议SNMP(Simple Network Management Protocol),该协议简单、易于实现且具有良好的可扩充性,是工业界事实上的网管协议标准.
SNMP协议现在有3个版本。
SNMPv1有5个基本原语
l get-request
l set-request
l get-next-request
l get-reponse
l trap
SNMPv2增加了两个原语
l get-bulk- request
l inform-request
SNMPv3主要是在安全上进行了加强。
二 网管系统软件结构概述
一个典型网管系统软件是由以下部分组成的
1:Manager:
管理员使用的工作站,通过网管软件查看和分析网管数据。 2:Agent
网管代理。网管代理一般分为两个功能模块和一个公用模块MIB库 2.1查询/设置模块
此模块接受来自Manager的查询和设置指令,并根据指令处理相关数据,如将被查询的数据返回给Manager,或使设置的数据对相关Device生效。
对于SNMP Agent,此模块至少需要实现以下协议接口:
l get-request
l set-request
l get-next-request
l get-reponse 2.2告警模块
告警模块将设备产生的告警发送给Manager。对于SNMP Agent.此模块至少需要实现Trap协议接口。 2.3 MIB库
MIB(管理信息库)保存被管理设备的相关管理信息。在SNMP Agent里, MIB通常用文本文件格式保存。
一个MIB描述了包含在数据库中的对象或表项。每一个对象或表项都有以下四个属性:
l 对象类型(Object Type)
l 语法(Syntax)
l 存取(Access)
l 状态(Status)
在SNMP规范之一的管理信息结构与标识(SMI;RFC 1155/1065)规范中定义了这些属性。SMI对于MIB来说就相当于模式对于数据库。
4: Agent设计
可见Agent在网管系统结构的位置相当于管理器和被管设备之间的网关和协议转换器。对Agent的功能需求的范围应该为:
l 协议转换。将SNMP协议和被管设备之间的协议互相转换
l 转发请求。包括向被管设备转发查询,设置请求。向Manager转发设备产生的告警
l 通过MIB库维护被管设备的信息结构
l 对Manager提供一个统一的网管接口,无论被管设备有多复杂,对Manager来说只需要和Agent交互就可以获得所有被管设备的网管信息
l 不需要牵涉诸如轮巡,告警策略等网管业务逻辑。也不参与被管设备本身对网管数据的处理流程。这些由被管设备的网管业务逻辑层自行处理。
l 不需要对数据进行统计分析
l 不需要保存历史或实时网管数据
可见对于网管系统来说,Agent功能明确,结构相对简单,虽然必不可少但并非核心部件,并且SNMP Agent已经是事实上的工业标准,有大量的开发包帮助开发人员快速的实现Agent,可以让开发人员将精力投入到网管业务逻辑上。
三 开发工具介绍 3.1 UCD-SNMP
SNMP网管系统的开发包最出名的是开源项目UCD-SNMP(最新版本已经更名为NET-SNMP)。.
UCD-SNMP开发包提供了几乎所有SNMP网管开发所需要的资源
l SNMP API。封装SNMP协议和网络接口细节。提供了方便调用的SNMP操作接口
l MIB管理。提供了所有的典型MIB库。并可以将MIB库映射到进程内部,按MIB所定义的层次结构组织数据
l 扩展Agent的编程框架。屏蔽所有SNMP操作流程和细节,用户只需要接管格式化过的SNMP请求,编写网管业务代码。
l 相关工具,包括snmpget,snmpgetnext,snmpwalk,snmpbulkget,snmpbulkwalk,snmptable,snmpset,snmptrap,snmpinform,snmpdelta,snmptest,snmptranslate,snmpstatus,等等。 3.2 LIBSMI
LIBSMI同样也是开源的开发包,提供针对MIB库的一套功能函数 。可以很方便的解析和修改MIB。