好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

Snmp协议总结.pdf

15页
  • 卖家[上传人]:阿汪
  • 文档编号:227762112
  • 上传时间:2021-12-21
  • 文档格式:PDF
  • 文档大小:33.44KB
  • / 15 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 简单网络管理协议(SNMP : Simple Network Management Protocol)是由互联网工程任务组(IETF :Internet Engineering Task Force )定义的一套网络管理协议该协议基于简单网关监视协议( SGMP :Simple Gateway Monitor Protocol ) 利用 SNMP,一个管理工作站可以远程管理所有支持这种协议的网络设备,包括监视网络状态、修改网络设备配置、接收网络事件警告等虽然SNMP 开始是面向基于IP 的网络管理,但作为一个工业标准也被成功用于网络管理1.网络管理基于 TCP/IP的网络管理包含两个部分:网络管理站(也叫管理进程,manager Station)和被管的网络单元(也叫被管设备Network Element ) 被管设备种类繁多,例如:路由器、 X 终端、终端服务器和打印机等这些被管设备的共同点就是都运行TCP/IP 协议被管设备端和管理相关的软件叫做代理程序( agent ) 或代理进程管理站一般都是带有彩色监视器的工作站,可以显示所有被管设备的状态(例如连接是否掉线、各种连接上的流量状况等)。

      管理进程和代理进程之间的通信可以有两种方式一种是管理进程向代理进程发出请求,询问一个具体的参数值(例如:你产生了多少个不可达的ICMP 端口) 另外一种方式是代理进程主动向管理进程报告有某些重要的事件发生(例如:一个连接口掉线了)当然,管理进程除了可以向代理进程询问某些参数值以外,它还可以按要求改变代理进程的参数值(例如:把默认的IP TTL值改为 6 4) 基于 T C P/IP的网络管理包含3 个组成部分:1)管理信息库MIB(Management Information Base ) 管理信息库包含所有代理进程的所有可被查询和修改的参数RFC 1213 McCloghrie and Rose 1991定义了第二版的MIB,叫做 MIB-II;2)管理信息结构SMI(Structure of Management Information)它是关于 MIB 的一套公用的结构和表示符号,这个在 RFC 1155 Rose and McCloghrie 1990 中定义例如: SMI 定义计数器是一个非负整数,它的计数范围是04 294 967 295,当达到最大值时,又从0 开始计数;3)简单网络管理协议SNMP 管理进程和代理进程之间的通信协议,叫做简单网络管理协议SNMP(Simple Network Management Protocol ) 。

      在 RFC 1157 Case et al. 1990中定义 S N M P 包括数据报交换的格式等 尽管可以在运输层采用各种各样的协议,但是在 SNMP中, 用得最多的协议还是UDP2.SNMP 体系SNMP采用了 Client/Server 模型的特殊形式:代理 /管理站模型 对网络的管理与维护是通过管理工作站与SNMP 代理间的交互工作完成的每个 SNMP从代理负责回答SNMP管理工作站(主代理)关于MIB 定义信息的各种查询图1 是 SNMP协议的实现模型图 1 SNMP 协议的实现模型3.SNMP 报文种类SNMP代理和管理站通过SNMP协议中的标准消息进行通信,每个消息都是一个单独的数据报 SNMP 使用 UDP(用户数据报协议)作为第四层协议(传输协议),进行无连接操作SNMP规定了 5 种协议消息(也就是SNMP报文),用来在管理进程和代理之间的交换Get-Request:从代理进程处提取一个或多个参数值;Get-Next-Request:从代理进程处提取紧跟当前参数值的下一个参数值;Get-Response:返回的一个或多个参数值,这个操作是由代理进程发出的,它是前面三种操作的响应操作。

      SNMP管理站用Get-Request 消息从拥有SNMP代理的网络设备中检索信息,而SNMP 代理则用 Get-Response 消息响应Get-Next-Request 用于和Get-Request 组合起来查询特定的表对象中的列元素如:首先通过下面的原语获得所要查询的设备的接口数:iso org(3) dod(6) internet(1) mgmt(2) mib(1) interfaces(2) ifNumber(2) 然后再通过下面的原语,进行查询 (其中第一次用Get-Request,其后用 Get-Next-Request) :iso org(3) dod(6) internet(1) mgmt(2) mib(1) interfaces(2) ifTable(2) Set-Request :SNMP管理站用Set-Request 可以对网络设备进行远程配置(包括设备名、设备属性、删除设备或使某一个设备属性有效/无效等)Trap: SNMP代理使用 Trap向 SNMP 管理站发送非请求消息,一般用于描述某一事件的发生前面的 Request 操作是由管理进程向代理进程发出的,后面的Response和 Trap 操作是代理进程发给管理进程的,为了简化起见,前面3 个操作今后叫做get、get-next 和 set 操作。

      ,在代理进程端是用熟知端口161 接收 get 或 set 报文,而在管理进程端是用熟知端口162 来接收 trap 报文4.SNMP 报文格式SNMP消息报文包含两个部分:SNMP报头和协议数据单元PDU图 2 SNMP 报文格式图 2 是封装成UDP数据报的5 种操作的SNMP报文格式可见一个SNMP 报文共有三个部分组成,即公共SNMP首部、 get/set 首部 trap 首部、变量绑定版本识别符( version identifier ) :确保 SNMP代理使用相同的协议,每个SNMP代理都直接抛弃与自己协议版本不同的数据报团体名( Community Name ) :用于 SNMP 从代理对 SNMP 管理站进行认证;如果网络配置成要求验证时, SNMP从代理将对团体名和管理站的IP 地址进行认证,如果失败,SNMP从代理将向管理站发送一个认证失败的Trap 消息(见后) ; 协议数据单元(PDU) :其中 PDU指明了 SNMP的消息类型及其相关参数4.1 公共 SNMP首部版本写入版本字段的是版本号减1,对于 SNMP(即 SNMPV1)则应写入0共同体 (community ) 共同体就是一个字符串,作为管理进程和代理进程之间的明文口令,常用的是 6 个字符“ public” 。

      PDU类型根据PDU的类型,填入04 中的一个数字,其对应关系如表1 所示表 1 PDU类型 PDU PDU 类型0 get-request 1 get-next-request 2 get-response 3 set-request 4 Trap 4.2get/set 首部请求标识符 (request ID) 这是由管理进程设置的一个整数值代理进程在发送get-response报文时也要返回此请求标识符管理进程可同时向许多代理发出get 报文, 这些报文都使用UDP传送,先发送的有可能后到达设置了请求标识符可使管理进程能够识别返回的响应报文对于哪一个请求报文差错状态( error status )由代理进程回答时填入05 中的一个数字,见表2 的描述表 2 查错状态描述表差错状态差错状态名字说明0 noError 一切正常1 tooBig 代理无法将回答装入一个SNMP报文中2 noSuchName 操作指明了一个不存在的变量3 badValue 一个 set 操作指明了一个无效值或无效语法4 readOnly 管理进程试图修改一个只读变量5 genErr 某些其他的查错差错索引 (errorl index) 当出现 noSuchName、badValue 或 readOnly 的差错时,由代理进程在回答时设置的一个整数,它指明有差错的变量在变量列表中的偏移。

      4.3trap 首部企业( enterprise )填入trap报文的网络设备的对象标识符此对象标识符肯定是在图3 的对象命名树上的enterprise 结点 1.3.6.1.4.1下面的一棵子树上trap 类型 此字段正式的名称是generic-trap ,共分为表3 中的 7 种表 3 trap 类型说明trap 类型trap 类型 名字说明0 coldStart 代理进行了初始化1 warmStart 代理进行了重新初始化2 linkDown 一个接口从工作状态变为故障状态3 linkUp 一个接口从故障状态变为工作状态4 authenticationFailure 从 SNMP 管理进程接收到具有一个无效共同体的报文5 egpNeighborLoss 一个 EGP相邻路由器变为故障状态6 enterpriseSpecific 代理自定义的事件,需要用后面的“特定代码”来指明当使用上述类型2、3、5 时,在报文后面变量部分的第一个变量应标识响应的接口特定代码 (specific-code):指明代理自定义的时间(若trap 类型为 6) ,否则为0时间戳 (timestamp): 指明自代理进程初始化到trap 报告的事件发生所经历的时间,单位为10ms。

      例如时间戳为1908 表明在代理初始化后1908ms 发生了该时间4.4 变量绑定 (variable-bindings) 指明一个或多个变量的名和对应的值在get 或 get-next 报文中,变量的值应忽略5.管理信息库MIB 管理信息库MIB 指明了网络元素所维持的变量(即能够被管理进程查询和设置的信息) MIB给出了一个网络中所有可能的被管理对象的集合的数据结构SNMP的管理信息库采用和域名系统 DNS相似的树型结构,它的根在最上面,根没有名字图3 画的是管理信息库的一部分,它又称为对象命名(objectnamingtree ) 图 3 管理信息库的对象命名举例管理信息库MIB, 就是所有代理进程包含的,能够被管理进程进行查询和设置的信息的结构IETF规定的管理信息库MIB (其中定义了可访问的网络设备及其属性,由对象标识符OID:Object Identifier 唯一指定)的一套公用的结构与表示符号称之为SMI MIB 是一个树形结构,SNMP协议消息通过遍历MIB 树形目录中的节点来访问网络中的设备对象命名是一种数据类型,它指明一种“授权”命名的对象授权”的意思就是这些标识不是随便分配的,它是由一些权威机构进行管理和分配的。

      对象标识是一个整数序列,以点( “.” )分隔这些整数构成一个树型结构,对象标识从树的顶部开始,顶部没有标识,以root 表示 图 3 显示了在S N M P中用到的这种树型结构所有的 M I B 变量都从1.3 .6 .1 .2 .1这 个 标 识 开 始 树 上 的 每 个 结 点 同 时 还 有 一 个 文 字 名 例 如 标 识1.3.6.1.2.1就 和iso.org.dod.internet.memt.mib对应这主要是为了人们阅读方便在实际应用中,也就是说在管理进程和代理进程进行数据报交互时,MIB 变量名是以对象标识来标识的,当然都是以1.3.6.1.2.1 开头的对象命名树的顶级对象有三个,即 ISO、ITU-T和这两个组织的联合体在 ISO的下面有4 个结点,其中的一个(标号3)是被标识的组织在其下面有一个美国国防部(Department of Defense)的子树(标号是6) ,再下面就是Internet (标号是1) 在只讨论Internet 中的对象时,可只画出Internet 以下的子树(图中带阴影的虚线方框),并在Internet 结点旁边标注上 1.3.6.1即可。

      在 Internet 结点下面的第二个结点是mgmt(管理),。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.