大家好,欢迎来到IT知识分享网。
目录
8.2 关键功能亮点 (接收第三方SNMP Trap信息等)
本文地址:【SNMP】snmp trap 介绍、安装、命令|Trap的发送与接收代码实现
本文大部分摘抄自:https://blog.csdn.net/sunrj_niu/article/details/
零、简略
监测管理网络设备的工具。
SNMP=”Simple Network Management Protocol”=”简单网络管理协议”,应用层协议,传输层一般采用UDP。
SNMP网络架构组成:NMS(网络管理站)、Agent(代理)、MIB(管理信息库)
Agent(代理)运行在被管理的网络节点上。NMS(网络管理站)负责收集维护各个SNMP 元素的信息(NMS主动向Agent请求,或Agent主动SNMP trap 上传),能请求/上传哪些内容去MIB中读取(MIB定义了设备中的被管理对象)。
管理站向代理申请MIB中定义的数据,代理识别后,将管理设备提供的相关状态或参数等数据转换为MIB定义的格式,应答给管理站,完成一次管理操作。
一个SNMP管理的网络由3部分构成:
- 网络管理系统(NMS,Network-management systems)
- 被管理的设备(managed device)
- 代理者(agent)。
- 物理实体角度架构如下所示:
SNMP采用UDP 161端口接收和发送请求,162端口接收trap
一、SNMP简单概述
1.1、什么是Snmp
SNMP协议简单可靠 ,成为目前众多厂商的网管协议。
SNMP网络架构组成:NMS(网络管理站)、Agent(代理)、MIB(管理信息库)
SNMP管理站是一个中心节点,负责收集维护各个SNMP元素的信息,并对这些信息进行处理,最后反馈给网络管理员;
而SNMP代理是运行在各个被管理的网络节点之上,负责统计该节点的各项信息,并且负责与SNMP管理站交互,接收并执行管理站的命令,上传各种本地的网络信息。
SNMP管理站和SNMP代理之间是松散耦合,MIB是NMS(网管系统)和Agent之间的沟通桥梁。他们之间的通信是通过UDP协议完成的。
一般情况下,SNMP管理站通过UDP协议向SNMP代理发送各种命令,当SNMP代理收到命令后,返回SNMP管理站需要的参数。但是当SNMP代理检测到网络元素异常的时候,也可以主动向SNMP管理站发送消息,通告当前异常状况。
SNMP的工作方式:
管理员需要向设备获取数据,所以SNMP提供了【读】操作;
管理员需要向设备执行设置操作,所以SNMP提供了【写】操作;
设备需要在重要状况改变的时候,向管理员通报事件的发生,所以SNMP提供了【Trap】操作。
1.2、为什么需要SNMP?
- 网络设备数量增多;
- 网络设备盖地域大,实时监控和故障排查变困难。
- 网络设备种类多,不同设备厂商提供的管理接口(如命令行接口)各不相同。
SNMP应运而生:
- 网络管理员可以利用SNMP平台在网络上的任意节点完成信息查询、信息修改和故障排查等工作,工作效率得以提高。
- 屏蔽了设备间的物理差异,实现对不同设备的统一管理,管理成本低。
- 设计简单、运行代价低,SNMP采用“尽可能简单”的设计思想,运行SNMP给设备造成的影响和代价都被最小化。
1.3、SNMP的基本组件
- 网络管理系统NMS(Network Management System)
- 代理进程(Agent)
- 被管对象(Managed Object)
- 管理信息库MIB(Management Information Base)
如图所示他们共同构成SNMP的管理模型,在SNMP的体系结构中都起着至关重要的作用。
NMS
NMS 在网络中扮演管理者角色,是一个采用 SNMP 协议对网络设备进行管理/监视的系统,运行在 NMS 服务器上。
NMS 可向设备上的 Agent 发出请求,查询或修改一个或多个具体的参数值。也可以接收 Agent 主动发送的 Trap 信息,以获知被管理设备当前的状态。
Agent
Agent 是被管理设备中的一个代理进程,用于维护被管理设备的信息数据并响应来自 NMS 的请求。Agent 接收到 NMS 的请求信息后,通过 MIB 表完成相应指令后,并把操作结果响应给 NMS。
当设备发生故障或者其它事件时,设备会通过 Agent 主动发送信息给 NMS,向NMS报告设备当前的状态变化。
MIB
管理信息库MIB:
任何一个被管理的资源称为被管理的对象,MIB是被管理对象的集合。
MIB定义了被管理对象的一系列属性:对象的名称、对象的访问权限和对象的数据类型等。
每个SNMP设备(Agent)都有自己的MIB,NMS可以对MIB库中的对象的值进行读取或者设置。MIB也可以看作是NMS(网管系统)和Agent之间的沟通桥梁。它们之间的关系如图1所示
- MIB是一个按照层次结构组织的树状结构,称为MIB树
- 每个被管对象对应树形结构的一个叶子节点,称为一个object,拥有唯一的数字标识符
- 网管通过读写MIB中的被管对象实现对设备的管理
MIB数据对象以一种树状分层结构进行组织,这个树状结构中的每个分枝都有一个专用的名字和一个数字形式的标识符。
结构树的分枝实际表示的是数据对象的逻 辑分组。而树叶,有时候也叫节点(node),代表了各个数据对象。在结构树中使用子树表示增加的中间分枝和增加的树叶。
这种访问方式和文件系统的组织方式一致。两者的主要区别在于文件系统中的路径名可以以绝对也可以以相对方式表示,而MIB数据 对象只能以绝对方式表示,不能使用相对方式。
网络资源被抽象为对象进行管理。但SNMP中的对象是表示被管资源某一方面的数据变量。对象被标准化为跨系统的类,对象的集合被组织为管理信息库 (MIB)。MIB作为设在代理者处的管理站访问点的集合,管理站通过读取MIB中对象的值来进行网络监控。管理站可以在代理者处产生动作,也可以通过修改变量值改变代理者处的配置。
通过 MIB,可以完成以下功能:
◆ Agent 通过 get 消息查询 MIB,可以获知设备当前的状态信息。
◆ Agent 通过 set 消息修改 MIB,可以设置设备的状态参数。
Management object
Management object 指被管理对象。每一个设备可能包含多个被管理对象,被管理对象可以是设备中的某个硬件(如一块接口板),也可以是某些硬件,软件(如路由选择协议)及其的配置参数的集合。
1.4、SNMP 和 UDP
1.5、Snmp版本
二、Snmp有关的基本概念
2.1、代理和管理站的模型
管理站指的是运行了可以执行网络管理任务软件的服务器,通常被称作为网络管理工作站(NMS),NMS负责采样网络中agent的信息,并接受agent的trap。
代理是实际网络设备中用来实现SNMP功能的部分。代理在UDP的161端口接收NMS的读写请求消息,管理站在UDP的162端口接收代理的事件通告消息。
所以,一旦获取设备的访问权限(community,默认为public),就可以访问设备信息、改写和配置设备参数。由于采用UDP协议,不需要在代理和管理站之间保持连接。
2.2、SNMP的操作命令
Get:管理站读取代理者处对象的值。它是SNMP协议中使用率最高的一个命令,因为该命令是从网络设备中获得管理信息的基本方式。
Set:管理站设置代理者处对象的值。它是一个特权命令,因为可以通过它来改动设备的配置或控制设备的运转状态。它可以设置设备的名称,关掉一个端口或清除一个地址解析表中的项等。
Trap: 代理者主动向管理站通报重要事件。它的功能就是在网络管理系统没有明确要求的前提下,由管理代理通知网络管理系统有一些特别的情况或问题 发生了。如果发生意外情况,客户会向服务器的162端口发送一个消息,告知服务器指定的变量值发生了变化。通常由服务器请求而获得的数据由服务器的161 端口接收。Trap 消息可以用来通知管理站线路的故障、连接的终端和恢复、认证失败等消息。管理站可相应的作出处理。
2.3、SNMP 报文
PDU的5种协议数据单元:
SNMP规定了5种协议数据单元PDU(也就是SNMP报文),用来在管理进程和代理之间的交换。
- get-request 请求查询
- get-next-request 请求查询
- set-request 设置
- get-response 对前边的三种报文进行响应
- trap上报告警
前面的3种操作是由管理进程向代理进程发出的,后面的2个操作是代理进程发给管理进程的
—》
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/129794.html