学历改变命运
24小时客服:4008135555/010-82335555
当前位置:首页 > 笔记串讲 > 自考“计算机网络管理”知识重点(3)

自考“计算机网络管理”知识重点(3)

2007年07月04日    来源:   字体:   打印

  第三章 简单网络管理协议 SNMPv1

  考试要求

  1.SNMPv1支持的操作,要求达到识记层次

  SNMPv1 PDU的格式

  SNMPv1报文的应答序列

  报文的发送和接收过程

  2.SNMPv1的安全机制,要求达到识记层次

  团体的概念

  SNMPv1的简单认证过程

  SNMPv1可采用的访问策略

  3.SNMPv1的操作,要求达到综合应用层次

  检索简单对象的方法

  检索未知对象的方法

  检索表对象的方法

  表的更新和删除操作

  陷入操作的原理和陷入的种类

  4.SNMP功能组,要求达到领会层次

  SNMPv1功能组对象的含义和作用

  5.实现问题,要求达到领会层次

  对网络管理站的功能要求

  轮询频率对网络管理性能的影响

  SNMPv1的局限性

  知识重点

  (一)SNMPv1 协议数据单元

  1.SNMPv1支持的操作

  SNMP仅支持对管理对象值的检索和修改等简单操作。具体地说, SNMP实体可以对MIB-2中的对象支持执行下列操作:

  。 Get:管理站用于检索管理信息库中标量对象的值。

  。 Set:管理站用于设置管理信息库中标量对象的值。

  。 Trap:代理用于向管理站报告管理对象的状态变化。

  2.SNMP PDU格式

  RFC1157给出了SNMPv1协议的定义,这个定义是用ASN.1表示的,在SNMP管理中,管理站和代理之间交换的管理信息构成了SNMP报文。报文由3部分组成,即版本号、团体名和协议数据单元(PDU)。报文头中的版本号是指SNMP的版本,RFC1157为第一版。团体名用于身份认证,我们将在下一节介绍SNMP的安全机制时谈到团体名的作用。SNMP共有5种管理操作,但只有4种PDU格式。管理站发出的3种请求报文GetRequest、 GetNextRequest和SetRequest采用的格式是一样的,代理的应答报文格式只有一种:GetResponsePDU,从而减少了PDU的种类。

  3.报文应答序列

  SNMP报文在管理站和代理之间传送,包含GetRequest、GetNextRequest和SetRequest的报文由管理站发出,代理以GetRequest响应。Trap报文由代理发给管理站,不需要应答。一般来说,管理站可连续发出多个请求报文,然后等待代理返回的应答报文。如果在规定的时间内收到应答,则按照请求标识进行配对,亦即应答报文必须与请求报文有相同的请求标识。

  4.报文发送和接收

  当一个 SNMP协议实体(PE)发送报文执行下面的过程:首先是按照ASN.1的格式构造PDU,交给认证进程。认证进程检查源和目标之间是否可以通信,如果通过这个检查则把有关信息(版本号、团体名、PDU)组装成报文。更后经过BER编码,交传输实体发送出去。

  当一个 SNMP协议实体(PE)接收到报文时执行的过程:首先是按照BER编码恢复ASN.1报文,然后对报文进行语法分析、验证版本号和认证信息等。如果通过分析和验证,则分离出协议数据单元,并进行语法分析,必要、时经过适当处理后返回应答报文。在认证检验失败时可以生成一个陷入报文,向发送站报告通信异常情况。无论何种检验失败,都丢弃报文。

  SNMP操作访问对象实例,而且只能访问对象标识符树的叶子结点。然而为了减少通信负载,我们希望一次检索多个管理对象,把多个变量的值装入一个PDU.这时要用到变量绑定表。RFC1157建议在Get和GetNext协议数据单元中发送实体把变量置为ASN.1的NULL值,接收实体处理时忽略它,在返回的应答协议数据单元中设置为变量的实际值。

  (二)SNMPv1的安全机制

  1.团体的概念

  SNMP网络管理是一种分布式应用。这种应用的特点是管理站和被管理站之间的关系可以是一对多关系,即一个管理站可以管理多个代理,从而管理多个被管理设备。另一方面,管理站和代理之间还可能存在多对一的关系。代理控制自己的管理信息库,也控制多哥管理站对管理信息库的访问,例如,只有授权的管理站才允许访问管理信息库,或者限制不同的管理站可以访问管理信息库的不同部分。另外,委托代理也可能按照预定的访问策略控制对其代理的设备的访问。RFC1157为此提供的认证和控制机制就是这种更初等更基本的团体名验证功能。

  2.简单的认证服务

  一般来说,认证服务的目的是保证通信是经过授权的。具体到 SNMP环境中,认证服务主要是保证接收的报文来自它所声称的源。RFC1157提供的只是更简单的认证方案:从管理站发送到代理的报文(Get,Set等)都有一个团体名,就像是口令字一样。通过团体名验证的报文才是更有效的。

  3.访问策略

  前面说过,代理系统可以通过设置团体选择访问 MIB的管理站,或者通过定义管理对象的访问模式限制管理站对MIB的访问。这样,所谓的访问控制就有两方面的含义:

  。 MIB视阈:MIB中对象一个子集,对不同的团体可以定义不同的视阈(View)。属于同一视阈的对象不必属于同一子树。

  。访问模式:集合 {read-only,read-write}的一个元素。对于一个团体可以定义一种访问模式。

  4.委托代理服务

  团体形象的概念同样适用于委托代理服务。通常,委托代理是代表不支持 SNMP的设备工作的。但是在有些情况下,被代理的设备也可能支持TCP/IP和SNMP,而委托代理的作用是减少被代理的设备与管理站之间的交互过程。对于被代理的设备,委托代理定义并且维护一种SNMP访问策略。委托代理知道那些MIB对象代表被管理的设备,也知道这些设备的访问模式。

  (三)SNMPv1操作

  1.检索简单对象

  检索简单的标量对象值可以用 Get操作,如果变量绑定表中包含多个标量,一次还可以检索多个标量对象的值。接收GetRequest的SNMP实体以请求标识相同的GetRequest响应。特别要注意的识GetRequest操作的原子性:如果所有请求的对象值可以得到,则给予应答;反之,只要有一个对象的值得不到,则可能返回下列错误条件之一:

  。变量绑定表中得一个对象无法与 MIB中的任何对象标识符匹配,或者要检索得对象是一个数据块(子树或表),没有对象实例生成。在这些情况下,响应实体返回得GetRequestPDU中错误状态字段置为noSuch Name,错误索引设置为一个数,指明有问题变量。变量绑定表中不返回任何值。

  。响应实体可以提供所有要检索的值,但是变量太多,一个响应 PDU装不下,这往往是由下曾协议数据单元大小限制的。这时响应实体返回一个应答PDU,错误状态字段置为tooBig。

  。由于其他原因(例如代理不支持)响应实体至少不能提供一个对象的值,则返回的 PDU中错误字段置为genError,错误索引置一个数,指明有问题的变量。变量绑定表中不返回任何值。

  2.检索未知对象

  Get Next命令检索变量名指示下一个对象实例,但是并不要求变量名是对象标识符,或者是实例标识符。

  3.检索表对象

  GetNext可用于有效地搜索表对象。

  4.表的更新和删除

  Set 命令用于设置或更新变量的值。它的 PDU 格式与 Get 是相同的,但是在变量绑定表中必须包含要设置的变量名和变量值。对于 Set 命令的应答也是 GetResponse ,同样是原子性的。如果所有的变量都可以设置,则更新所有变量的值,并在应答 GetResponse 中确认变量的新值;如果至少有一个变量的值不能设置,则所有变量的值都保持不变,并在错误状态中指明出错的原因。 Set 出错的原因与 Get 是类似的( tooBig,noSuchName 和 genError ),然后若有一个变量的名字和要设置的值在类型、长度或实际方面不匹配,则返回错误条件 badValue .

  5. 陷入操作

  陷入是由代理向管理站发出的异步事件报告,不需要应答报文。 SNMP规定了6种陷入条件:

  。 coldStart 发送实体重新初始化,代理的配置已改变,能常是由系统失效引起的。

  。 warmStart 发送实体重新初始化,但代理的配置没有改变,这是正常的重启动过程。

  。 linkDown 链路失效通知,变量绑定表的第一项指明对应接口表的索引变量及其变值。

  。 linkUp 链路启动通知,变量绑定表的第一项指明对应接口表的索引变量及其值。

  。 authenticationFailure 发送实体收到一个没有通过认证的报文。

  。 egpNeighborLoss 相邻的外部路由器失效或关机。

  。 enterpriseSpecific 由设备制造商定义的陷入条件,在特殊陷入(specifc-trap)字段指明具体的陷入类型。

  (四)SNMP功能组

  SNMP组包含的西关系到SNMP协议的实现和操作。这一组共有30个对象,在只支持SNMP站管理功能或只支持SNMP代理功能的实现中,有些对象是没有值的。除了更后一个对象,这一组的其他对象都是只读的计数器。对象snmpEnableAutheuTrap可以由管理站设置,它指示是否允许代理产生“认证失效”陷入,这种设置优先于代理自己的配置。这样就提供了一种可以排除所有认证失效陷入的手段。

  (五)实现问题

  1.网络管理站的功能

  。支持扩展的 MIB:强有力的SNMP对管理信息库的支持必须是开放的。特别对于管理站来说,应该能够装入其他制造商定义的扩展MIB.

  。图形用户接口:好的用户接口可以使网络管理工作更容易更有效。通常要求具有图形用户接口,而且对网络管理的不同部分有不同的窗口。例如能够显示网络拓扑接口、显示设备的地理位置和状态信息,可以计算并显示通信统计数据图表,具有各种辅助计算工具等。

  。自动发现机制:要求管理站能够自动发现代理系统,能够自动建立图标并绘制出连接图形。

  。可编程的事件:支持用户定义事件,以及出现这些事件时执行的动作。例如路由器失效时应闪动图标或改变图标的颜色,显示错误状态信息,向管理员发送电子邮件,并启动故障检测程序等。

  。高级网络控制功能:例如配置管理站使其可以自动地关闭有问题的集线器、自动地分离出活动过度频繁地网段等。这样地功能要使用 set操作。由于SNMP欠缺安全性,很多产品不支持set操作,所以这种要求很难满足。

  。面向对象地管理模型: SNMP其实不是面向对象的系统。但很多产品是面向对象的系统,也能支持SNMP.

  。用户定义的图标:方便用户为自己的网络设备定义有表现力的图标。

  2.轮询频率

  我们需要一种能提高网络管理性能的轮询策略,以决定合适的轮询频率。通常轮询频率与网络的规模和代理的多少有关。而网络管理性能还取决于管理站的处理速度、子网数据速率、网络拥挤程度等众多的其他因素,所以很难给出准确的判断规则。为了使问题简化,我们假定管理站以次只能与一个代理作用,轮询只是采用 get请求/响应这种简单形式,而且管理站全部时间都用来轮询,于是我们有下面的不等式:

  3.SNMPv1的局限性

  用户利用 SNMP进行网络管理时一定要清楚SNMPv1本身的局限性:

  。由于轮询的性能限制, SNMP不适合管理很大的网络。轮询产生的大量管理信息传送可能引起网络响应时间的增加。

  。 SNMP不适合检索大量的数据,例如检索整个表中的数据。

  。 SNMP的陷入报文时没有应答的,管理站是否收到陷入报文,代理不得而知。这样可能丢掉很重要得管理信息。

  。 SNMP只提供简单的团体名认证,这样的安全措施时很不够的。

  。 SNMP并不直接支持向被管理设备发送命令。

  。 SNMP的管理信息库MIB-2支持的管理对象是有限的,不足以完成复杂的管理功能。

  。 SNMP不支持管理站之间的通信,而这一点在分布式网络管理中是很需要的。

  以上局限性有很多在 SNMP的第2版都有所改进。

关闭