26次浏览 发布时间:2024-03-11 15:23:27
简单网络管理协议SNMP(Simple Network Management Protocol)用于网络设备的管理。网络设备种类多种多样,不同设备厂商提供的管理接口(如命令行接口)各不相同,这使得网络管理变得愈发复杂。为解决这一问题,SNMP应运而生。SNMP作为广泛应用于TCP/IP网络的网络管理标准协议,提供了统一的接口,从而实现了不同种类和厂商的网络设备之间的统一管理。
SNMP协议分为三个版本:SNMPv1、SNMPv2c和SNMPv3。
SNMP系统由网络管理系统NMS(Network Management System)、SNMP Agent、被管对象Management object和管理信息库MIB(Management Information Base)四部分组成。NMS作为整个网络的网管中心,对设备进行管理。
每个被管理设备中都包含驻留在设备上的SNMP Agent进程、MIB和多个被管对象。NMS通过与运行在被管理设备上的SNMP Agent交互,由SNMP Agent通过对设备端的MIB进行操作,完成NMS的指令。
图1-1 SNMP系统组成
NMS是网络中的管理者,是一个采用SNMP协议对网络设备进行管理/监视的系统,运行在NMS服务器上。
SNMP Agent是被管理设备中的一个代理进程,用于维护被管理设备的信息数据并响应来自NMS的请求,把管理数据汇报给发送请求的NMS。
Managed object指被管理对象。每一个设备可能包含多个被管理对象,被管理对象可以是设备中的某个硬件,也可以是在硬件、软件(如路由选择协议)上配置的参数集合。
MIB是一个数据库,指明了被管理设备所维护的变量。MIB在数据库中定义了被管理设备的一系列属性:对象的名称、对象的状态、对象的访问权限和对象的数据类型等。MIB也可以看作是NMS和SNMP Agent之间的一个接口,通过这个接口,NMS对被管理设备所维护的变量进行查询/设置操作。
MIB是以树状结构进行存储的,如图1-2所示。树的节点表示被管理对象,它可以用从根开始的一条路径唯一地识别,这条路径就称为OID,如system的OID为1.3.6.1.2.1.1,interfaces的OID为1.3.6.1.2.1.2。
子树可以用该子树根节点的OID来标识。如以private为根节点的子树的OID为private的OID——{1.3.6.1.4}。
图1-2 OID树结构
用户可以配置MIB视图来限制NMS能够访问的MIB对象。MIB视图是MIB的子集合,用户可以将MIB视图内的对象配置为exclude或include。exclude表示当前视图不包含该MIB子树的所有节点;include表示当前视图包含该MIB子树的所有节点。
SNMP查询是指NMS主动向SNMP Agent发送查询请求,如图1-3所示。SNMP Agent接收到查询请求后,通过MIB表完成相应指令,并将结果反馈给NMS。
SNMP查询操作有三种:Get、GetNext和GetBulk。SNMPv1版本不支持GetBulk操作。
图1-3 SNMP查询操作
SNMPv1和SNMPv2c查询报文格式如图1-4所示。SNMPv1和SNMPv2c的报文主要由版本、团体名、SNMP PDU组成。各类SNMP操作的报文封装在SNMP PDU中。
图1-4 SNMPv1/SNMPv2c查询操作报文格式
报文中的主要字段如下:
通过捕获报文工具获取设备发送的SNMPv2c版本Get请求报文如图1-5所示,SNMPv2c版本GetNext请求报文如图1-6所示。SNMPv2c版本GetBulk请求报文如图1-7所示。
图1-5 SNMPv2c版本Get请求报文
图1-6 SNMPv2c版本GetNext请求报文
图1-7 SNMPv2c版本GetBulk请求报文
SNMPv3查询报文格式如图1-8所示,SNMPv3报文主要由版本、MsgID、MaxSize、Flags、Security Model、Security Parameters、Context EngineID、Context Name和SNMP PDU组成。SNMPv3报文的SNMP PDU的格式与SNMPv2c的一致。SNMPv3版本的报文可以使用鉴权机制,会对Context EngineID、Context Name和SNMP PDU进行加密。
图1-8 SNMPv3报文格式
报文中的主要字段定义如下:
SNMPv3提供了鉴权机制,推荐用户使用SNMPv3版本。通过捕获报文工具获取设备发送的SNMPv3版本加密的Get请求报文如图1-9所示,SNMPv3版本不加密的Get请求报文如图1-10所示。
图1-9 SNMPv3版本加密的Get请求报文
图1-10 SNMPv3版本不加密Get请求报文
不同版本的SNMP查询操作的工作原理基本一致,唯一的区别是SNMPv3版本增加了身份验证和加密处理。下面以SNMPv2c版本的Get操作为例介绍SNMP查询操作的工作原理。
假定NMS想要获取被管理设备MIB节点sysContact的值,使用可读团体名为public,过程如下所示:
SNMP设置是指NMS主动向SNMP Agent发送对设备进行Set操作的请求,如图1-11所示。SNMP Agent接收到Set请求后,通过MIB表完成相应指令,并将结果反馈给NMS。
SNMP设置操作只有一种Set,NMS使用该操作可设置SNMP Agent中的一个或多个参数值。
图1-11 SNMP Set操作
SNMPv1和SNMPv2c的Set操作报文格式如图1-12所示。一般情况下,SNMPv3的Set操作信息是经过加密封装在SNMP PDU中,其格式与SNMPv2c的Set操作报文格式一致。
图1-12 SNMPv1/SNMPv2c Set操作报文格式
报文中主要字段的含义如下:
通过捕获报文工具获取设备发送的SNMPv2c版本Set请求报文如图1-13所示。
图1-13 SNMPv2c版本Set请求报文
不同版本的SNMP Set操作的工作原理基本一致,唯一的区别是SNMPv3版本增加了身份验证和加密处理。下面以SNMPv3版本的Set操作为例介绍SNMP Set操作的工作原理。
假定NMS想要设置被管理设备MIB节点sysName的值为HUAWEI,过程如下所示:
SNMP Traps是指SNMP Agent主动将设备产生的告警或事件上报给NMS,以便网络管理员及时了解设备当前运行的状态。
SNMP Agent上报SNMP Traps有两种方式:Trap和Inform。SNMPv1版本不支持Inform。Trap和Inform的区别在于,SNMP Agent通过Inform向NMS发送告警或事件后,NMS需要回复InformResponse进行确认,如图1-14所示。
SNMPv1的Trap操作报文格式如图1-15所示,Trap PDU由PDU type、enterprise、Agent addr、Generic trap、Specific trap、Time stamp和Variable bindings组成。
报文中的主要字段定义如下:
通过捕获报文工具获取设备发送的SNMPv1版本Trap报文如图1-16所示。
SNMPv2c的Trap操作的报文格式和Inform操作的报文格式如图1-17所示。一般情况下,SNMPv3的Trap操作或inform操作是经过加密封装在SNMP PDU中,其格式与SNMPv2c的Trap操作或inform操作的报文格式一致。
报文中的主要字段定义如下:
通过捕获报文工具获取设备发送的SNMPv2版本Trap报文如图1-18所示,SNMPv2版本Inform报文如图1-19所示。
Trap操作工作原理
Trap不属于NMS对被管理设备的基本操作,它是被管理设备的自发行为。当被管理设备达到告警的触发条件时,会通过SNMP Agent向NMS发送Trap消息,告知设备侧出现的异常情况,便于网络管理人员及时处理。例如被管理设备热启动后,SNMP Agent会向NMS发送warmStart的Trap。
这种Trap信息是受限制的。只有在设备端的模块达到模块预定义的告警触发条件时,SNMP Agent才会向管理进程报告。这种方法的好处是仅在严重事件发生时才发送Trap信息,减少报文交互产生的流量。
Inform操作工作原理
Inform操作也是被管理设备向NMS主动发送告警。与Trap告警不同的是,被管理设备发送Inform告警后,需要NMS进行接收确认。如果被管理设备没有收到确认信息则:
由此可知,使用Inform操作会占用较多的系统资源。
SNMP报文是普通的UDP报文,协议中规定有两个默认端口号:
如果您想了解如何配置或使用SNMP,可参考以下产品文档:
S12700 V200R013C00 配置指南-网络管理与监控中的SNMP章节
CloudEngine 12800, 12800E V200R005C10 配置指南-网络管理与监控中的SNMP章节
无线接入控制器(AC和FITAP) V200R010C00 配置指南(命令行)-网络管理与监控配置中的SNMP章节
HUAWEI USG6000, USG9500, NGFW Module V500R005C00 产品文档-管理员指南-系统中的SNMP章节
AR100, AR120, AR150, AR160, AR200, AR1200, AR2200, AR3200, AR3600 V200R010 产品文档 配置指南(命令行)-网络管理与监控配置指南中的SNMP章节
NE20E-S V8R10C10SPC500 产品文档-配置-系统管理中的SNMP章节
NE40E V8R10C10SPC500 产品文档-配置-系统管理中的SNMP章节
IP数据报UDP数据报SNMP报文公共SNMP首部get/set首部get/set变量部分IP首部UDP首部"版本(0)"共同体"PDU类型(0-3)"请求标识"差错状态(0-5)"差错索引名称值名称值..."PDU类型(4)"企业代理地址"trap类型(0-6)"特定代码时间戳名称值...trap首部有意义的变量SNMP报文的格式PDU类型名称差错状态名称描述0get-request0noError没有进程1get-nextrequest1tooBig代理进程无法把响应放在一个SNMP消息中发送2get-response2noSuchName操作一个不存在的变量3set-request3badValueset操作的值或语义有错误4trap4readOnly管理进程试图修改一个只读变量SNMP报文中的PDU类型5genErr其他错误SNMP差错状态的值trap类型名称描述0clodStart代理进程对自己初始化1warmStart2linkDown"一个接口从影工作状态变为故障状态,报文中的第一个变量标识次接口"3linkUp"一个接口从影故障状态变为工作状态,报文中的第一个变量标识次接口"4authenticationFailure从SNMP管理进程收到无效共同体的报文5egpNeighborLoss一个FGP邻站已变为故障状态。报文中的第一个变量包含此邻站的IP地址6enterpriseSpecific在这个特定的代码段总查找trap信息trap的类型
IP数据报UDP数据报SNMP报文公共SNMP首部get/set首部get/set变量部分IP首部UDP首部"版本(0)"共同体"PDU类型(0-3)"请求标识"差错状态(0-5)"差错索引名称值名称值..."PDU类型(4)"企业代理地址"trap类型(0-6)"特定代码时间戳名称值...trap首部有意义的变量SNMP报文的格式PDU类型名称差错状态名称描述0get-request0noError没有进程1get-nextrequest1tooBig代理进程无法把响应放在一个SNMP消息中发送2get-response2noSuchName操作一个不存在的变量3set-request3badValueset操作的值或语义有错误4trap4readOnly管理进程试图修改一个只读变量SNMP报文中的PDU类型5genErr其他错误SNMP差错状态的值trap类型名称描述0clodStart代理进程对自己初始化1warmStart代理进程对自己重新初始化2linkDown"一个接口从影工作状态变为故障状态,报文中的第一个变量标识次接口"3linkUp"一个接口从影故障状态变为工作状态,报文中的第一个变量标识次接口"4authenticationFailure从SNMP管理进程收到无效共同体的报文5egpNeighborLoss一个FGP邻站已变为故障状态。报文中的第一个变量包含此邻站的IP地址6enterpriseSpecific在这个特定的代码段总查找trap信息trap的类型
IP数据报UDP数据报SNMP报文公共SNMP首部get/set首部get/set变量部分IP首部UDP首部"版本(0)"共同体"PDU类型(0-3)"请求标识"差错状态(0-5)"差错索引名称值名称值..."PDU类型(4)"企业代理地址"trap类型(0-6)"特定代码时间戳名称值...trap首部有意义的变量SNMP报文的格式PDU类型名称差错状态名称描述0get-request0noError没有进程1get-nextrequest1tooBig代理进程无法把响应放在一个SNMP消息中发送2get-response2noSuchName操作一个不存在的变量3set-request3badValueset操作的值或语义有错误4trap4readOnly管理进程试图修改一个只读变量SNMP报文中的PDU类型5genErr其他错误SNMP差错状态的值trap类型名称描述0clodStart代理进程对自己初始化1warmStart代理进程对自己重新初始化2linkDown"一个接口从影工作状态变为故障状态,报文中的第一个变量标识次接口"3linkUp"一个接口从影故障状态变为工作状态,报文中的第一个变量标识次接口"4authenticationFailure从SNMP管理进程收到无效共同体的报文5egpNeighborLoss一个FGP邻站已变为故障状态。报文中的第一个变量包含此邻站的IP地址6enterpriseSpecific在这个特定的代码段中查找trap信息trap的类型
《仙剑世界》试玩:一品国产仙侠的独特魅力
2025-04-21 15:35:37王者荣耀:掌握不知火舞,解锁法师上分新姿势
2025-04-21 13:55:33备受期待的Steam游戏排行
2025-04-21 08:06:16《三国群侠传》:会玩的很简单,不会玩的玩几天都感觉莫名其妙!
2025-04-21 05:18:01魔兽世界副本介绍——黑鸦堡垒
2025-04-21 00:03:27LOL还在玩无限火力?噩梦人机秘密推出,这难度高得可怕!
2025-04-20 03:40:51暗黑破坏神3赛季大型开荒攻略 从0级到70级
2025-04-20 01:22:50《原神》蒙德城市声望怎么提升 蒙德城市声望提升方法分享
2025-04-20 00:52:19LOL大乱斗套路,AP老鼠
2025-04-20 00:13:10幻想神域公测 攻略 幻想神域新手操作指南 轻轻松松玩游戏
2025-04-20 00:06:31网站内容来自网络,如有侵权请联系我们,立即删除!
Copyright © 鸾百科 琼ICP备2023010660号-6