当前位置:文档之家› 第三章 简单网络管理协议-SNMP

第三章 简单网络管理协议-SNMP

第三章简单网络管理协议-SNMPSNMP(Simple Network Management Protocol,简单网络管理协议)是由Internet活动委员会(IAB)制订的,被采纳为基于TCP/IP协议的各种互联网络的管理标准。

由于它满足了人们长久以来对通用网络管理标准的需求,而且它本身简单明了,实现起来比较容易,占用的系统资源少,所以得到了众多网络产品厂家的支持,成为实际上的工业标准,基于它的网络管理产品在市场上占有统治地位。

1993年它的更新版本SNMP V ersion 2(SNMPv2)又被推出,改进了SNMP的不少缺陷。

本章及下一章在介绍SNMP协议的基础上,着重讨论SNMPv2协议的特点,并就作者自己开发的基于SNMPv2协议的网络计费管理软件作了介绍。

3.1 SNMP3.1.1SNMP协议的工作原理SNMP的管理结构如图3.1所示。

它的核心思想是在每个网络节点上存放一个管理信息库( MIB),由节点上的代理(agent)负责维护,管理站(manager)通过应用层协议对这些信息库进行管理。

SNMP最大的特点就是其简单性。

它的设计原则是尽量减少网络管理所带来的对系统资源的需求,尽量减少agent的复杂性。

它的整个管理策略和体系结构的设计都体现了这一原则。

管理工作站图3.1:SNMP管理模型3.1.2SNMP通信报文的操作处理SNMP标准主要由三部分组成:简单网络管理协议(SNMP);管理信息结构(Structure ofa nagement Information,简称SMI)和管理信息库(Management Information Base,简称MIB) 。

SNMP主要涉及通信报文的操作处理,协议规定manager如何与agent通信,定义了它们之间交换报文的格式和含义,以及每种报文该怎样处理等等。

SNMP中规定的网络管理操作有五种,分别是:(1)Get-Request;(2)Get-Next-Request;(3)Set-Request;(4)Get-Response;(5)Trap。

Get-Request被manager用来从agent取回某些变量的值;Get-Next-Request被manager 用来从agent取回某变量的下一个变量的值;Set-Request被manager用来设置(或改变)agent上某变量的取值;Get-Response是agent向manager发送的应答;Trap被agent用来向manage r报告某一异常事件的发生。

Get-Request、Get-Next-Request和Set-Request这三种操作都具有原子(atomic)特性,即如果一个SNMP报文中包括了对多个变量的操作,agent不是执行所有操作,就是都不执行(例如,一旦对其中某个变量的操作失败,其它的操作都不再执行,已执行过了的也要恢复)。

SNMP的报文格式为:version community dataversion域表示SNMP协议的版本,在SNMP中它是version-1(0);data域存放实际传送的报文,报文有五种,分别对应上述五种操作。

community域是为增加系统的安全性而引入的,它的作用相当于口令(password)。

3.1.3 SNMP的安全机制SNMP网络管理由几个特征,它包含一个管理站和一组代理之间的一对多的关系:管理站能够取得和设置代理中的对象,并从代理接收陷阱。

因此,从操作或控制的观点来看,管理站“管理”多个代理。

也可能有多个管理站,其中的每一个管理站管理全部代理或这些代理的一个子集,这些子集可能重叠。

我们也可以把SNMP网络管理看作是一个在一个代理和多个管理站之间的一对多的关系。

每个代理控制它自己的本地MIB,而且必须能够控制多个管理站对该MIB 的使用。

该控制有3个方面:1.认证服务:代理可以把对MIB的访问限制在授权的管理站。

2.访问策略:代理可以给不同的管理站不同的访问特权。

3.转换代理服务:一个代理可以作为其它被管理站的转换代理。

这可能包含在转换代理系统中,位其它的被管理系统实现认证服务和/或访问策略。

所有的这几方面都和安全考虑有关。

代理需要保护自身和它的MIB,使它们不受到未被授权的访问。

SNMP,对这种安全性,提供了团体的概念。

SNMP团体是一个在SNMP代理和多个SNMP管理者之间定义了认证、访问控制和转换代理特性的关系。

团体的概念是一个在代理上定义的局部概念。

代理为每个需要的认证、访问控制和转换代理特征的结合建立一个团体。

每个团体有一个唯一的(在这个代理内部)团体名字,在那个团体内的管理站必须在所有Get和Set操作中使用该团体的名字。

一个代理可以建立许多团体,这些团体可以包括重叠的管理站成员。

由于团体定义在代理本地上,不同的代理可以用相同的名字。

名字的相同是无关紧要的,不表明在被定义的团体之间有任何相似之处。

因此,管理站必须保持那些它所希望访问的代理的团体名字。

因为SNMP中的团体名字是一个字符串的形式,所以该名字又被称为团体字符串。

3.1.4 认证服务认证服务的目的是要保证通信是被授权的。

对于一个SNMP消息,认证服务的功能是保证接收消息来自于这个消息所声称的源。

SNMP提供了一个简单的认证方案。

从一个管理站到一个代理的每一个消息(获取或设置请求)都包括一个团体名字(community)。

这个名字起到一个密码的作用,如果发送者知道这个密码,消息就认为是可靠的。

代理可以要求管理站在其发来的报文中填写这一项,以验证管理站是否有权访问它上面的MIB信息。

团体名字的缺点是没有加密功能,由于是明码传送的,所以很容易被监听者窃取。

SNMPv2中改进了这一点。

3.1.5访问策略通过定义一个团体,代理把对它的MIB的访问限制在被选择的管理站。

通过使用多个团体,代理可以为不同的管理站提供不同的MIB访问类别。

访问控制由两个方面:1.SNMP MIB视域:在MIB中的一个对象子集。

每个团体,可以定义不同的MIB视域。

在一个视域中的对象集不必属于MIB的单个子树。

2.SNMP访问模式:集合{只读,读写}的一个元素。

每个团体,只定义一个访问模式。

MIB 视域和访问模式的结合被称为一个SNMP 团体框架文件(profile )。

因此,一个团体框架文件由在代理中定义的一个MIB 子集,加上对于那些对象的访问模式组成。

在MIB 视域中,如果选择的SNMP 访问模式为只读,它将被用于该视域中的所有对象,而且限制管理站对于该视域的访问是只读操作。

一个SNMP 团体和一个SNMP 团体框架文件的结合被称为一个SNMP 访问政策。

图3.2说明了SNMP 的安全访问概念。

图3.2:SNMP 的安全管理概念3.1. 6管理信息标准管理信息结构(SMI)和管理信息库(MIB)两个协议是关于管理信息的标准,它们规定了被管理的网 络对象的定义格式,MIB 库中都包含哪些对象,以及怎样访问这些对象等等。

SMI 协议规定了定义和标识MIB 变量的一组原则。

它规定所有的MIB 变量必须用ASN.1(即 抽象语法表示法I ,它是一种描述数据结构的通用方法,作为OSI 研究的一部分,由ISO 推出)来 定义。

每个MIB 变量都有一个名称用来标识。

在SMI 中,这个名称以对象标识符(Object Ident ifier)来表示。

对象标识符相互关联,共同构成一个分层结构。

在这个分层结构里,一个对象的标识符是由从根出发到对象所在节点的途中所经过的一个数字标号序列组SNMP代理一组SNMP 管理者SNMP 团体(团体名字)SNMP 视域SNMP 团体框架文件SNMP访问策略成。

在Internet节点下的mgmt节点,专门为管理信息库分配了一个子树,名为mib(1)。

所有的MIB变量都在mib节点下,因此它们的名称(对象标识符)都以.dod.internet.mgmt .mib开头,数字表示是1.3.6.1.2.1。

MIB协议规定管理信息库中应保存哪些网络对象,以及允许对每个对象的操作。

设计MI B的目标之一,就是建立一个通用的数据存储格式,使被管理对象与管理协议无关。

SNMP问世以后,各网络产品的厂商纷纷采用,能够支持各种网络产品的MIB协议不断被推出。

一些厂商也根据自己产品的特点,将标准的MIB加以扩充,加进去自己特有的内容,这使得SNMP能管理的对象越来越多。

1991年推出了MIB 的第二个版本———MIB-II,其中将管理对象分为11个类,每一类在mib节点下都对应一棵子树。

3.1.7 SNMP报文的传输格式SNMP标准中,还规定了报文的传输格式。

引入传输格式的目的,是为了定义一种标准的数据外在表示格式,这种外在表示格式与数据的内部处理格式无关,给内部处理格式不同的系统之间交换数据带来了方便。

发送方在发出报文之前,先将报文转换成传输格式;接受方收到之后,再转换成它的内部处理格式。

SNMP的传输格式必须遵照ASN.1的BER(Basic Encoding Rules)规范。

BER规定,每个要传输的数据都由三个域构成:tag length value·标识(tag)域,表示数据的ASN.1类型;·长度(length)域,表示数据的长度(字节数);·值(value)域,表示数据的实际编码。

如整数12,它的ASN.1类型是02,长度是一个字节,值为01,BER编码就是020112。

复杂的数据类型(如结构)由简单的数据类型复合而成,其编码格式为:tag length tag length value ...tag length value3.2 SNMPv2简单性是SNMP标准取得成功的主要原因。

因为在大型的、多厂商产品构成的复杂网络中,管理协议的明晰是至关重要的;但同时这又是SNMP的缺陷所在——为了使协议简单易行,SNMP简化了不少功能,如:·没有提供成批存取机制,对大块数据进行存取效率很低;·没有提供足够的安全机制,安全性很差;·只在TCP/IP协议上运行,不支持别的网络协议;·没有提供manager与manager之间通信的机制,只适合集中式管理,而不利于进行分布式管理;·只适于监测网络设备,不适于监测网络本身。

针对这些问题,对它的改进工作一直在进行。

如1991年11月,推出了RMON(Remote Netw ork Monitoring)MIB,加强SNMP对网络本身的管理能力。

它使得SNMP不仅可管理网络设备,还能收集局域网和互联网上的数据流量等信息。

1992年7月,针对SNMP缺乏安全性的弱点,又公布了S-SNMP(Secure SNMP)草案。

相关主题