自考《计算机网络管理》听课笔记(三) 下载本文

? 第三章SNMPv1 3.1SNMPv1协议数据单元 1、SNMPv1支持的操作 仅支持对象值的检索和修改 a)Get:检索管理信息库中标量对象的值 b)Set:管理站用于设置管理信息库中标量对象的值 c)Trap:代理用于向管理站报告管理对象的状态变化 SNMP不支持管理站改变管理信息库中的叶子节点,不能增加和删除MIB中的管理对象实例。管理站也不能向管理对象发出执行一个动作的命令。管理站只能逐个访问管理信息库中的叶子节点,不能一次性访问一个子数。 2、SNMPv1PDU格式 管理站和代理站之间交换的管理信息构成SNMP报文,由三部分组成:版本号、团体名、协议数据单元(PDU)。 SNMP有5种管理操作,只有4种PDU,管理站发出三种请求报文GetRequest,GetNextRequest和SetRequest采用的格式是一样的。代理的应答报文只有一种:GetResponse.除Trap外,4种pdu格式相同,共有5个字段: a)PDU类型:共5种类型 b)请求标识:赋予每个请求报文唯一的整数,用于区别不同请求 c)错误状态:共有5种错误状态:noerror(1),tooBig(1),noSuchName(2),badOnly(4),genError(5) d)错误索引当错误状态非0时指出出错的变量 e)变量绑定表:变量名和对应值的表 Trap包含: 制造商ID 代理地址 一般陷入:SNMP定义6类: 特殊陷入:与设备有关的特殊陷入代码 时间戳:代理发出陷入的时间 3、报文应答序列 a)GetRequest b)GetNextRequest c)SetRequest d)GetResponse e)Trap,不需要应答 4、报文的发送和接收过程 当一个SNMP协议实体(PE)发送一个报文时执行以下过程P71 a)按照ASN1的格式构造PDU,交给认证进程 b)认证进程检查源和目标之间是否可以通信 c)通过检查,相关的版本号、团体名、PDU组装成报文 d)经过BER编码,绞传输实体发送出去 当一个SNMP协议实体(PE)接收一个报文时执行以下过程: 按照BER编码恢复ASN1报文 1、对报文验证版本号和认证信息 2、通过分析和验证,分离出协议数据单元,进行语法分析 3、必要时经过适当处理返回应答报文 4、如果认证检验失败,生成一个陷入报文,向发送站报告通信异常情况。 如希望检索多个管理对象,则要把多个管理对象装入一个PDU,这就用到变量绑定表 ? 3.2SNMPv1的安全机制 SNMP的安全机制很简单,只验证团体名。 1、团体的概念:SNMP网络管理是一种分布式应用,这种应用的特点是管理站和被管理站之间的关系可以是一对多的关系,即一个管理站可以管理多个代理,从而管理多个被管理设备。只有属于同一团体的管理站和被管理站才能互相作用,发送给不同团体的报文被忽略。 SNMP的团体是一个代理和多个管理站之间的认证和访问控制关系 2、SNMPv1的简单认证过程:RFC1157提供的只是简单的认证方案:从管理站发送到代理的报文(Get,Set)都有一个团体名,就像口令字一样。 3、SNMPv1可采用的访问策略:访问控制有两方面含义: a)MIB视阈:MIB中对象的一个子集,对不同的团体可以定义不视阈(View)。 b)访问模式:集合{read-only,read-write}的一个元素。 团体的形象(Profile):有关一个团体的MIB视阈和访问模式的组合叫做该团体的~,团体的形象由代理中MIB对象的一个子集和这些对象的访问模式组成。 SNMP团体和SNMP团体形象的组合叫做访问策略。 4、转换代理在SNMP中的作用:委托代理是代表不支持SNMP的设备工作的。其作用是减少被代理的设备与管理站之间的交互过程。 3.3SNMPv1的操作(综合应用) 1、检索简单标量对象值的方法:使用Get操作,如果变量绑定表中包含多个变量,一次可以检索多个标量对象的值。 GetResponse操作的原子性:如果请求对象的值可以得到,则给与应答;反之,返回下列错误之一: 1)变量绑定表中的一个对象无法与MIB中的任何对象标示符匹配,或要检索的对象是一个数据块(子树和表),没有对象实例生成。返回的GetResponsePDU中错误状态字段为noSuchName 2)由于上下层协议限制,响应实体可以提供所要检索的值,但变量太多,一个相应PDU装不下,tooBig 3)由于其它原因响应实体至少不能提供一个对象的值,返回genError 例:3.1P74、75 2、检索未知对象的方法P76:使用GetNext命令检索变量名指示的下一个对象实例。如果交叉标示符没有有效性,直接查找下一个有效的标示符,并返回对象实例。如果不知道UDP组内有哪些变量可以直接发送GetNextRequest(udp),将得到响应是UDP组内的第一个对象。 3、检索表对象的方法P76:使用GetNext命令可以有效的检索表 4、表的更新和删除操作P78: 1)Set命令用于设置或更新变量的值,其PDU格式与Get相同。 2)变量绑定表(variablebindings)中必须包含要设置的变量名和变量值。 3)Set命令的应答也是GetResponse,同样是原子性的。 4)如果所有的变量都可以设置,则更新所有变量的值,返回GetResponse中确认新值; 5)如果至少有一个变量的值不能设置,所有变量值都保持不变,并在错误状态中指出出错原因。SET出错原因和GET类似(tooBigno,SuchName,GenError),若有一个变量的名字和要设置的值在类型、长度或实际值方面不匹配,返回badValid. 例3.8P78:设置一个完整行,返回可以是noSuchName、badvalue、或者生成新行 例3.9P78:设置一行,不完整,返回可能是增加新行或拒绝这个操作; 1.删除一行只需把一个对象的值设为invalid,返回响应确认之 MIB-2中只有2中标可以删除ipRouteTable包含ipRouteType可取值为invalid;ipNetMediaTable包含ipNetToMediaType可取值为invalid 2.SNMP没有提供向管理对象发出动作的命令,但可以利用SET命令对以专用对象设置值。错误状态readonly没有在任何回应报文中出现。 5、陷入操作的原理和陷入的种类:陷入是由代理向管理站发出的异步事件报告,不需要应答报文。SNMPv1规定了7种陷入条件: 1)coldStart:发送实体重新初始化,代理配置已改变,通常由于系统失效引起; 2)warmStart:发送实体重新初始化,代理配置没有改变,正常重新启动引起; 3)linkDown:链路失效通知,变量绑定表的第一项指明对应接口表的索引变量及其值; 4)linkUp:链路启动通知变量绑定表的第一项指明对应接口表的索引变量及其值; 5)authenticationFailure:发送实体收到一个没有通过认证的报文; 6)egpNeighborLoss:相邻的外部路由器失效或关机; 7)enterpriseSpecific:设备制造商定义的陷入条件,在特殊陷入字段指明具体的陷入类型。 ? 3.4SNMP功能组对象含义和作用(领会): SNMP组包含的信息关系到SNMP协议的实现操作。这一组共30个对象,在只支持SNMP站管理或只支持SNMP代理功能的实现中有些对象是没有值的。除了snmpEnableAuthenTrap可由管理站设置,只是它是否允许代理产生“认证失效”陷入外,其它对象都是只读的计数器。(P80) 3.5实现问题(领会) 1、网络管理站的功能要求:选择站管理产品时首先要关心它与标准的一致程度,与代理的互操作性。以及用户界面、功能齐全、方便使用,具体有以下选择标准: a)支持扩展的MIB b)图形用户接口: c)自动发现机制: d)可编程事件: