SNMP

网络管理的历史

美国国防部设计了世界上头几个包交换网之一的ARPANET,在70年代,TCP/IP协议族正式被定为军方通信标准,随着此协议的广泛使用,网络管理成了一件大事。在80年代未和90年代初,网络迅速发展,许多子网数目的增多使监视网络活动成为一种必须。

在网络管理的初期,对网络的管理停留在使用ICMP和PING的基础上,但是随着网络内主机数据的不断增多,这种简单的工具已经不可能完成网络管理的工作了。

SNMP历史

随着网络数目与网络内主机数目的日益增多,单纯依靠一些网络专业进行网络管理已经不可能了,必须有一种通行的网络管理标准以及相应的管理工具使普通人也能够管理网络。第一个相关的协议是SGMP,它提供了一种直接监视网关的方法,也因此成了一种通用的网络管理工具。下来,有三种可供选择的管理工具:HEMS,SNMP和建立在TCP/IP基础上的CMIP(CMOT),因为需要使用ISO/OSI模型进行网络管理,SNMP首选CMOT作为管理工具。基本的SNMP已经被广泛使用了,所有的网络产品都提供对SNMP的支持,新开发的具有远程管理能力的SNMP是RMON,它使管理人员可以将整个子网进行管理,而不是对整个子网内的设备进行管理。

一些定义

SNMP,Simple Network Management Protocol:简单网络管理协议
它是一个标准的用于管理IP网络上结点的协议。此协议包括了监视和控制变量集以及用于监视设备的两个数据格式:SMI和MIB。
MIB,Management Information Base:管理信息库
由网络管理协议访问的管理对象数据库,它包括SNMP可以通过网络设备的SNMP管理代理进行设置的变量。
SMI,Structure of Management Information:管理信息结构
用于定义通过网络管理协议可访问的对象的规则。SMI定义在MIB中使用的数据类型及网络资源在MIB中的名称或表示。
ASN.1,Abstract Syntax Notation One:抽象语法定义
用于定义语法的正式语言,在SNMP中它用于定义SNMP协议数据单元和对象的格式。
PDU,Protocol Data Unit:协议数据单元
在网络中传送的数据包。
BER,basic encoding rules:基本编码规则
由CCITT (X.209)和ISO (ISO 8825)指定的编码规则,它描述了如何将ASN.1类型表示为字符串。

SNMP介绍

使用SNMP进行网络管理需要下面几个重要部分:管理基站,管理代理,管理信息库和网络管理工具。管理基站通常是一个独立的设备,它用作网络管理者进行网络管理的用户接口。基站上必须装备有管理软件,管理员可以使用的用户接口和从MIB取得信息的数据库,同时为了进行网络管理它应该具备将管理命令发出基站的能力。

管理代理是一种网络设备,如主机,网桥,路由器和集线器等,这些设备都必须能够接收管理基站发来的信息,它们的状态也必须可以由管理基站监视。管理代理响应基站的请求进行相应的操作,也可以在没有请求的情况下向基站发送信息。

MIB是对象的集合,它代表网络中可以管理的资源和设备。每个对象基本上是一个数据变量,它代表被管理的对象的一方面的信息。

最后一个方面是管理协议,也就是SNMP,SNMP的基本功能是:取得,设置和接收代理发送的意外信息。取得指的是基站发送请求,代理根据这个请求回送相应的数据,设置是基站设置管理对象(也就是代理)的值,接收收代理发送的意外信息是指代理可以在基站未请求的状态下向基站报告发生的意外情况。

MIB和对象

MIB包括了对象列表,这些对象与指示对象类型的OBJECT IDENTIFIER相关。MIB的结构是树形结构,有两种方式可以访问MIB中对象的值,一种是快速访问,另一种慢速访问,快速访问时只用输入一些数据,慢速访问时要加上其它信息。

SNMP MIB是对象的定义是十分严格的,定义指定了对象的数据类型,允许的形式,取值范围和与其它MIB对象的关系。ASN.1定义方法用来定义每个对象,同时也定义整个MIB结构。

有两种不同对象数据结构:通用类型的专用类型,通用类型指的是整数,字符串,空值,对象标识,序列和序列号;专用类型是指网络地址,IP地址,记数器,标准等。

若要定义对象自身,必须使用ASN.1。下面是一个基本的定义结构:

        <模块名> DEFINITIONS ::=
                BEGIN
                        EXPORTS
                        IMPORTS
                        AssignmentList
                End

软件

应用程序可以显示SNMP数据,NAS公司开发的应用程序HNMS就是这方面的一个比较好的工具。详细情况请参阅:http://www.nas.nasa.gov/Groups/LAN/Trouble/HNMS.html

如果不想花钱可以在下面一些地方取得免费的管理软件

体系结构

简单网络管理体系结构

服务器处理过程

SNMP数据处理流程图


ASN.1

MIB树结构

PDU

Hash表设计

SNMP总结

SNMP是一种易于实现的基本的网络管理工具,它能够满足短期的管理要求。因为基于OSI的管理协议现在进展缓慢,所以它起到了一个重要的补充作用。

SNMP协议提供了用于定义网络信息和框架和用于交换信息的协议标准。SNMP模型引入了管理器和代理的概念,管理器指的是以人类管理员身份负责所有网络(或部分网络)的软件。代理指的被管理设备中的软件,它用以完成管理器所需要进行的局部管理和应急通知管理器的功能。