网络管理技术协议学习教程PPT课件.ppt_第1页
网络管理技术协议学习教程PPT课件.ppt_第2页
网络管理技术协议学习教程PPT课件.ppt_第3页
网络管理技术协议学习教程PPT课件.ppt_第4页
网络管理技术协议学习教程PPT课件.ppt_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

简单网络管理协议 Part2 1 SNMPv2的特点 SNMPv2既可以支持完全集中的网络管理 又可以支持分布式网络管理 在分布式情况下 有些系统既是管理站又是代理 作为代理系统 它可以接受上级管理系统的查询命令 提供本地存储的管理信息 作为管理站它也可以要求下级代理系统提供有关被管理设备的汇总信息 此外 中间管理系统可以向它的上级系统发出陷入报告 2 SNMPv2的新内容 SNMPv2的增强主要在以下3方面 管理信息结构的扩充管理站和管理站之间的通讯能力新的协议操作 3 SNMPv2增强的具体内容 扩充了对象类型的宏 引入新的数据类型 增强了对象的表达能力提供了更完善的表操作功能 SNMPv2还定义了新的MIB功能组 在协议操作方面 引入了两种新的PDU GetBulkRequest和InformRequest 分别用于大块数据的传送和管理站之间的通讯 SNMPv2定义了两个新的MIB库 SNMPv2MIB和M2M MIB Manager to ManagerMIB 前者对基本的MIB的支持 后者提供了对分布式管理结构的支持 SNMPv2的新内容 4 SNMPv2管理信息结构 SNMPv2SMI引入了4个关键的概念 RFC1442 对象的定义概念表通知 notification 的定义信息模块 5 SNMPv2管理信息结构 新的对象宏定义新的数据类型对象宏定义的扩展 6 SNMPv2管理信息结构 SNMPv2的数据类型 7 SNMPv2中的数据类型 rfc1442 8 SNMPv2增加的数据类型 Unsigned32Counter64Unsigned32 一个32位的非负整数类型 在ASN 1中 它与Gauge32是无区别的 但是在SNMPv2中语义不一样 Counter64与Counter32一样 都表示计数器 只能增加 不能减少 当增加到264 1或232 1时回零 从头再增加 9 OBJECT TYPEMACRO BEGINTYPENOTATION SYNTAX type TYPEOjectSyntax ACCESS Access STATUS StatusVALUENOTATION value VALUEObjectName Access read only read write write only not accessible Status mandatory optional obsolete deprecated ENDVALUENOTATION中 指明对象的访问名 RFC1155中旧的对象类型宏定义 10 SNMPv2新的对象宏定义 对象的定义 UnitsPart在SNMPv2的OBJECT TYPE宏定义中增加了任选的UNITS子句 这个子句包含了与对象相关的度量单位的文本定义 当管理对象表示一种度量手段 例如时间 时 这个子句是有用的 11 SNMPv2新的对象宏定义 对象的定义 MAX ACCESSSNMPv2定义的访问类型中去掉了write only属性 增加了一个与概念行有关的访问属性read create 表示可读 可写 可生成 还增加了accessible for notify访问属性 这种访问方式与陷入有关 12 SNMPv2新的对象宏定义 对象的定义 MAX ACCESSSNMPv2的5种访问级别从低到高排列如下 not accessibleaccessible for notifyread onlyread writeread create 13 SNMPv2新的对象宏定义 对象的定义 STATUSSTATUS子句是必须的 也就是说必须指明对象的状态 SNMPv2去掉了SNMPv1中的optional和mandatory 只有3种可选的状态 v1中Status mandatory optional obsolete deprecated v2中Status current obsolete deprecated 如果说明管理对象的状态是current 则表示在当前的标准中是有效的 如果管理对象的状态是obsolete 表示已过时不必实现这种对象 状态deprecated表示对象是不赞成的 但是为了与老的实现互操作 实现时还要支持这种对象 14 SNMPv2新的表定义 表定义的共同点无论是SNMPv1 还是SNMPv2 都遵循以下约定 一张概念表是行的序列概念行是列对象的序列列对象的定义 15 SNMPv2新的表定义 表的分类SNMPv2把表分为两类 1 禁止删除和生成行的表 这种表的最高的访问级别是read write 2 允许删除和生成行的表 这种表可以初始化为0行 然后由管理站生成和删除行 当然 行数的改变同时由管理站的操作和代理的操作来完成也是可能的 16 SNMPv2新的表定义 表的索引SNMPv2中每个概念行的定义必须含有INDEX或AUGMENTS子句 但是不能同时包含二者 INDEX子句定义了一个基本概念行 行定义的INDEX部分确定了哪个对象值可以唯一区分表中的一行 也就是说 INDEX的值可以无二义性的区分表中的一行 17 SNMPv2新的表定义 表的索引假定一个对象的标识符为y 索引对象为i1 i2 iN 则对象y的一个实例标识符为y i1 i2 iN 18 SNMPv2新的表定义 表的索引索引对象i的类型可能是 整数 每个整数作为一个子标识符固定长度的字符串 每个字节编码为一个子标识符 有修饰符IMPLIED的变长度字符串 每个字节编码为一个子标识符 共n个子标识符 无修饰符IMPLIED的变长度字符串 第一个子标识符是n 然后是n个字节编码的子标识符 共n 1个子标识符 19 SNMPv2新的表定义 表的索引索引对象i的类型可能是 有修饰符IMPLIED的对象标识符 对象标识符的n个子串 无修饰符IMPLIED的对象标识符 第一个子标识符是n 然后是对象标识符的n个子串 IP地址 由4个子标识符组成 20 SNMPv2新的表定义 表的索引AugmentedTable 扩展表 在已定义的表对象的基础上通过增加列对象定义的新表 这样扩展定义的新表和全部重新定义的新表的作用完全一样 扩展表有以下限制 概念行数与原表一致 新表和原表的行是一对一的 新表的INDEX和原表的一样 21 SNMPv2新的表定义 表的索引关于AugmentedTable 扩展表 22 表的定义 表索引关于AugmentedTable 扩展表 基本概念行 概念行扩展 23 4 6SNMPv2管理信息结构 表的定义 表索引关于AugmentedTable 扩展表 例子2 24 4 6SNMPv2管理信息结构 表的定义 表索引关于AugmentedTable 扩展表 例子2 25 SNMPv2新的表定义 表的定义 表索引作为索引的列对象叫做辅助对象 是不可访问的 这个限制是必要的 考虑以下情况 1 读 SNMPv2规定 读任何列对象的实例 都必须知道该对象实例所在行的索引对象的值 然而在已经知道辅助对象变量值的情况下读辅助变量的内容就是多余的了 2 写 如果管理器改变了辅助对象实例的值 则行的标识也改变了 因此 这是不应该允许的 3 生成 行实例生成时必须同时给一个列对象实例赋值 在SNMPv2中这个操作是由代理而不是由管理站完成的 26 SNMPv2新的表操作 表的操作引入一个列对象RowStatus 其SYNTAX子句的值为RowStatus MAX ACCESS子句的值为read create 这种列叫做概念行的状态列 27 SNMPv2新的表操作 表的操作状态列可取6种值 active 可读写 被管理设备可以使用概念行 notInService 可读写 概念行存在 但由于其它原因 下面解释 而不能使用 notReady 只读 概念行存在 但因没有信息而不能使用 28 SNMPv2新的表操作 表的操作状态列可取6种值 createAndWait 只写不读 管理站生成一个概念行实例时先设置成这种状态 但不会自动变成active destroy 只写不读 管理站需删除所有的概念行实例时设置成这种状态 createAndGo 只写不读 管理站生成一个概念行实例时先设置成这种状态 生成过程结束时自动变为active 被管理设备就可以使用了 29 SNMPv2新的表操作 生成行的方法生成一行 并激活它 createAndGo 生成一行 以后激活 createAndWait 30 SNMPv2新的表操作 生成行的步骤 选择实例标识符 针对不同的索引对象可考虑用不同方法选择实例标识符 方法一 createAndGo 管理站通过事务处理产生和激活概念行 方法二 createAndWait 管理站与代理协商生成概念行 初始化非默认值对象 激活概念行 31 SNMPv2新的表操作 生成行的例子同一例 分别采用两种方法生成行 32 4 6SNMPv2管理信息结构 表的操作 生成行createAndGo方法生成行 33 表的操作 生成行createAndWait方法生成行 该行由于某些值缺少这里是data 3 而不能被激活 管理器用get操作检查相应列是否需要设置值 对无缺省值的对象 返回noSuchInstance错误代码 管理器设定data 3的缺省值 至此 所有对象都有缺省值 但该行还未被激活 所有对象都创建以后 管理器将状态列设置为 active noSuchInstance 34 SNMPv2新的表操作 生成行的方法比较 生成一行 并激活它 createAndGo 只涉及一到两个PDU的交换 能有效节约通信资源和管理站的时间 减轻代理的复杂性 生成一行 以后激活 createAndWait 负担放在代理上 要求代理必须维持概念行在noInSevice状态 可以处理任意行的生成 采用哪种方法 取决于代理系统如何实现 35 SNMPv2新的表操作 表的操作 概念行的挂起当概念行处于active状态时 如果管理站希望概念行脱离服务 以便进行修改 则可以发出set命令 把状态列由active置为notInService 这时有两种可能 若代理不执行该操作 则返回wrongValue若代理可执行该操作 则返回noError表定义中的DESCRIPTION子句需指明 在何种情况下可以把状态列置为notInService 36 SNMPv2新的表操作 表的操作 删除行管理站发出set命令 把状态列置为destroy 如果这个操作成功 概念行立即被删除 37 SNMPv2新的表操作 表的操作 删除行 38 SNMPv2通知定义 通知定义通知类型的宏定义NOTIFICATION TYPE 用于定义SNMPv2实体主动向管理器发送的信息 当代理实体发生某种异常事件时 它就向管理器发出这种通告信息 39 SNMPv2管理信息结构 SNMPv2MIB rfc1450 SNMPv2MIB扩展和细化了MIB 2中定义的管理对象 又增加了新的管理对象 40 访问管理信息的方法 SNMPv2提供了3种访问管理信息的方法 管理站和代理之间的请求 响应通信 这种方法与SNMPv1是一样的 管理站和管理站之间的请求 响应通信 这种方法是SNMPv2特有的 可以由一个管理站把有关管理信息告诉另外一个管理站 代理系统到管理站的非确认通信 即由代理向管理站发送陷入报文 报告出现的异常情况 SNMPv1中也有对应的通信方式 41 42 SNMPv2报文 SNMPv2报文的结构分为3部分 版本号 团体名和作为数据传送的PDU 这个格式与SNMPv1一样 版本号取值0代表SNMPv1 取值1代表SNMPv2 团体名提供简单的认证功能 与SNMPv1的用法一样 43 SNMPv2协议数据单元 SNMPv2PDUSNMPv2共有7种协议数据单元 分为3种PDU结构 GetRequest GetNextRequest SetRequest InformRequest Trap Response GetBulkRequest 44 SNMPv2PDU交换序列 45 GetRequestPDU SNMPv2对这种操作的响应方式与SNMPv1不同 SNMPv1的响应是原子性的 即只要有一个变量的值检索不到 就不返回任何值 而SNMPv2的响应不是原子性的 允许部分响应 46 GetRequestPDU 在SNMPv1中 如果get操作的一个或多个变量不存在 代理就返回错误noSuchName 剩下的事情完全由管理站处理 要么不向上层返回值 要么去掉不存在的变量 重发检索请求 然后向上层返回部分结果 由于生成部分检索算法的复杂性 很多管理站并不实现这一功能 因而就不可能与实现部分管理对象的代理系统互操作 47 GetRequestPDU SNMPv2中 对GetRequest的响应按照以下规则对变量绑定表中的各个变量进行处理 1 如果该变量的对象标识符前缀不能与这一请求可访问的任何变量的对象标识符前缀匹配 则返回错误值noSuchObject 2 如果变量名不能与这一请求可访问的任何变量名完全匹配 则返回一个错误值noSuchInstance 这种情况可能出现在表访问中 访问了不存在的行 或正在生成中的表行等 48 GetRequestPDU 3 否则 在变量绑定表返回被访问的值 4 如果生成的响应PDU太大 超过了本地的或请求方的最大报文限制 则放弃这个PDU 构造一个新的响应PDU 其错误状态为tooBig 错误索引为0 变量绑定表为空 49 GetNextRequestPDU SNMPv2PDU 2 GetNextRequestPDU在SNMPv2中 GetNext请求的格式和语义与SNMPv1基本相同 唯一的差别就是改变了响应的原子性 SNMPv2实体按照下面的规则处理GetNextPDU变量绑定表中的每一个变量 构造响应PDU 对变量绑定表中指定的变量在MIB中查找按照词典顺序的后继变量 如果找到 返回该变量 对象实例 的名字和值 如果找不到按照词典顺序的后继变量 则返回请求PDU中的变量名和错误值endOfMibView 如果出现其它情况使得构造响应PDU失败 以与GetRequest类似的方式返回错误值 50 GetBulkRequestPDU SNMPv2对原标准的主要增强 目的是以最少的交换次数检索大量的管理信息 或者说管理站要求尽可能大的响应报文 对这个操作的响应 在选择MIB变量值时采用与GetNextRequest同样的原理 即按照词典顺序选择后继对象实例 区别是这个操作可以指明选择多个按词典顺序的后继 51 GetBulkRequestPDU 这种块检索操作的工作过程 假设GetBulkRequestPDU变量绑定表中有L个变量 该PDU的 非重复数 字段的值为N 则对前N个变量应各返回一个词典后继 即对前N个变量的检索与GetNext相同 设请求PDU的 最大后继数 字段的值为M 则对其余的R L N个变量应该各返回最多M个词典后继 如果可能 总共返回N R M个值 如果在任何一步查找过程中遇到不存在后继的情况 则返回错误值endOfMibView 52 GetBulkRequestPDU 变量名1变量名2变量名N变量名N 1变量名N R变量名N 1变量名N R 前N个变量各有一个后继 后R个变量的第1个后继 后R个变量的第M个后继 共R M个值 共N个值 变量绑定表 L 53 GetBulkRequestPDU 例子1 54 GetBulkRequestPDU 使用GetRequestPDU和GetNextRequestPDU 55 4 7SNMPv2协议数据单元 GetBulkRequestPDU 2 3 0 3 使用GetBulkRequestPDU 如果在任何一步查找过程中遇到不存在后继的情况 则返回错误值endOfMibView 56 SetRequestPDU 格式和语义与SNMPv1的相同 差别是处理响应的方式不同 SNMPv2实体分两个阶段处理这个请求的变量绑定表 首先是检验操作的合法性 然后再更新变量 如果有一个变量绑定对的合法性检验没有通过 则不进行下一阶段的更新操作 这个操作与SNMPv1一样是原子性的 57 SetRequestPDU SNMPv2实体分两个阶段处理这个请求的变量绑定表 首先是检验操作的合法性 然后再更新变量 合法性检验有以下内容 如果有一个变量不可访问 则返回错误状态noAccess 如果与绑定表中变量共享对象标识符的任何MIB变量都不能生成 不能修改 也不接受指定的值 则返回错误状态notWritable 如果要设置的值的类型不适合被访问的变量 则返回错误状态wrongType 58 SetRequestPDU 如果要设置的值的长度与变量的长度限制不同 则返回错误状态wrongLength 如果要设置的值的ASN 1编码不适合变量的ASN 1标签 则返回错误状态wrongEncoding 如果指定的值在任何情况下都不能赋予变量 则返回错误状态wrongValue 如果变量不存在 也不能生成 则返回错误状态noCreation 如果变量不存在 只是在当前的情况下不能生成 则返回错误状态inconsistantName 59 SetRequestPDU 如果变量存在 但不能修改 则返回错误状态notWritable 如果变量在其它情况下可以赋予指定的值 但当前不行 则返回错误状态inconsistantValue 如果为了给变量赋值而缺乏需要的资源 则返回错误状态resourceUnavailable 如果由于其它原因而处理变量绑定对失败 则返回错误状态genErr 60 SetRequestPDU 如果没有检查出错误 就可以给所有指定变量赋予新值 若有至少一个赋值操作失败 则所有赋值被撤消 并返回错误状态为commitFailed的PDU 错误索引指向问题变量的序号 但是若不能全部撤消所赋的值 则返回错误状态undoFailed 错误索引字段置0 61 TrapPDU 与SNMPv1Trap不同的是 新的PDU结构SNMPv1Trap 与Get操作不同的PDU格式 SNMPv2Trap 与Get等操作相同的PDU格式 62 TrapPDU 与SNMPv1Trap不同的是 TrapPDU的变量绑定表前两个变量Varbind1 sysUpTime 0与其值 即发出陷入的时间 Varbind2 snmpTrapOID 0与其值 这是SNMPv2MIB对象组定义的陷入对象的标识符 63 InformRequestPDU 管理站发送给管理站的消息 PDU格式与Get等操作相同 变量绑定表的内容与陷入报文的一样 但是与陷入不同 这个消息是需要应答的 管理站收到Inform请求后 把其中的有关信息传送给本地的应用实体 然后返回一个错误状态为noErr的响应报文 该响应的变量绑定表与收到的请求PDU相同 64 65 SNMPv2PDUSequences 管理站之间的通信 通知报文InformRequest管理站数据库 manager to managerMIB 管理站数据库主要由3个表组成 snmpAlarmTable 报警表提供被监视变量的有关情况 类似于RMON警报组功能 但这个表记录的是管理站之间的报警信息 snmpEventTable 事件表记录SNMPv2实体产生的重要事件 或者是报警事件 或者是通知类型宏定义的事件 snmpEventNotifyTable 事件通知表定义了发送通知的目标和通知的类型 66 SNMPv3 SNMPv3针对SNMPv2的最大改进主要在安全性和管理能力两个方面 SNMPv3采用User based安全模型和View based访问控制模型提供SNMP网络管理的安全性 并利用加密的方式来避免信息的泄漏 67 SNMPv3实体 命令发生器 通告接收器 代理服务器转发器 命令响应器 通告产生器 其它 调度器 处理子系统 安全子系统 访问控制子系统 应用程序 SNMP引擎 由snmpEngineerID识别 SNMP协议实体 68 4 8SNMPv3 表15 2SNMP实体 RFC2271和2273 的组件 69 SNMP引擎的作用 发送和接收报文认证和加密报文控制对管理对象的访问 70 SNMP引擎的结构 调度器 Dispatcher 报文处理子系统 MessageProcessingSubsystem 安全子系统 SecuritySubsystem 访问控制子系统 AccessControlSubsystem 71 SNMP引擎 调度器 SNMP引擎1 调度器 Dispatcher 是SNMP引擎的关键部件 一个引擎只有一个调度器 它可以并发地处理多个版本的SNMP报文 调度器的功能 向 从网络中发送 接收SNMP报文确定SNMP报文的版本 并交给相应的报文处理模块处理 为接收PDU的SNMP应用提供一个抽象的接口为发送PDU的SNMP应用提供一个抽象的接口 72 SNMP引擎 报文处理子系统 SNMP引擎2 报文处理子系统 MessageProcessingSubsystem 由一个或多个报文处理模块组成 每个模块将按照相应的格式准备要发送的报文 或者从接收的报文中提取数据 可以扩充模块 企业专用的或者标准新增的 SNMPv3报文处理模块 SNMPv1报文处理模块 SNMPv2C报文处理模块 其他报文处理模块 报文处理子系统 73 SNMP引擎 安全子系统 SNMP引擎3 安全子系统 SecuritySubsystem 提供报文的认证和保密等安全服务 一个安全子系统可以有多个安全模块 以提供不同的安全服务 User BasedSecurityModel 安全子系统 OtherSecurityModel OtherSecurityModel 74 SNMP引擎 访问控制子系统 SNMP引擎4 访问控制子系统 AccessControlSubsystem 通过访问控制模块访问控制模块提供授权服务 确定对一个管理对象的访问是否合法 View BasedAccessControlModel 访问控制子系统 OtherAccessControlModel OtherAccessControlModel 75 SNMP引擎的标识 SNMP引擎在一个管理域中 每个引擎都有一个唯一的标识符snmpEngineID 由于引擎和实体之间一一对应 因此snmpEngineID也能在管理域中唯一地标识实体 但在不同的管理域中 SNMP的实体可能会有相同的snmpEngineID 76 SNMP引擎的标识 77 SNMP应用模块 SNMP应用模块SNMP应用和SNMP引擎之间形成应用与服务的关系 即SNMP应用是SNMP引擎的应用 SNMP引擎为SNMP应用提供服务 78 SNMP应用分类 SNMPv3的应用分为5种 命令生成器 CommandGenerator 命令响应器 CommandResponder 通知产生器 NotificationOriginatior 通知接收器 NotificationReceiver 代管转发器 ProxyForwarder 应用模块部分由上述的一到多个应用构成 选择不同的应用构成不同功能的实体 79 ApplicationExampleCommandgeneratorget requestCommandresponderget responseNotificationoriginatortrapgenerationNotificationreceivertrapprocessingProxyForwarderget bulktoget next SNMPversionsonly OtherSpecialapplication 80 SNMP管理站和代理 SNMP管理站和代理一个SNMP实体包含一个或多个命令生成器以及通知接收器 传统上称该实体为管理站 一个SNMP实体包含一个或多个命令响应器以及通知产生器 传统上称该实体为代理 81 SNMPv3的安全性 SNMP报文将使用DES加密来避免信息泄漏SNMP管理端与SNMPAgent通讯时必须要通过认证来保证身份的正确性 信息的完整性SNMPAgent实现了User base和View base访问控制模型 82 VACM的五个元素 VACM模型的元素RFC2275定义了VACM的五个元素 组安全等级上下文MIB视图访问策略 83 VACM的五个元素 组组定义为一系列的零个或更多的元 securityName是指要素 给定组中所有要素的访问权限都是相同的 每一个组都有一个与之相关的groupName 组的概念对于按照访问权限来分类管理站是很有用的 所有定securityModel和securityName的组合只能属于同一个组 84 VACM的五个元素 2 安全等级一个分组的访问权限可能不同 这依赖于包含该请求的消息的安全等级 例如 代理可能允许未鉴别的请求消息进行只读访问 但可能对写访问要求鉴别 进一步说 对于某些敏感的对象 代理可能要求请求和响应使用加密服务来通信 85 VACM的五个元素 3 上下文MIB上下文是指本地MIB中对象实例的子集 上下文把对象聚集在具有不同访问策略的集合中 上下文具有下列重要特征 SNMP实体由一个contextEngineID唯一识别 SNMP实体可能维护不止一个下文 一个对象或对象实例可能出现在不止一个上下文中 当存在多个上下文时 要识别单个的对象实例 除了其对象类型和其实例之外 必须识别contextName和contextEngineID 86 VACM的五个元素 87 VACM的五个元素 4 MIB视图MIB视图定义了被管理对象的个体集合 MIB视图按照子树的集合来定义 每一个子树都包含在视图内 或者不包含在视图内三个MIB视图 每一个都用来读 写和通告 每一个MIB视图都由一系列的视图子树组成 88 VACM的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论