什么是SNMP

简单网络管理协议SNMP(Simple Network Management Protocol)

SNMP系统由网络管理系统NMS(Network Management System)、SNMP Agent、被管对象Management object和管理信息库MIB(Management Information Base)四部分组成。NMS作为整个网络的网管中心,对设备进行管理。

每个被管理设备中都包含驻留在设备上的SNMP Agent进程、MIB和多个被管对象。NMS通过与运行在被管理设备上的SNMP Agent交互,由SNMP Agent通过对设备端的MIB进行操作,完成NMS的指令。

NMS

NMS是网络中的管理者,是一个采用SNMP协议对网络设备进行管理/监视的系统,运行在NMS服务器上。

    • NMS可以向设备上的SNMP Agent发出请求,查询或修改一个或多个具体的参数值。

    • NMS可以接收设备上的SNMP Agent主动发送的SNMP Traps,以获知被管理设备当前的状态。

SNMP Agent

SNMP Agent是被管理设备中的一个代理进程,用于维护被管理设备的信息数据并响应来自NMS的请求,把管理数据汇报给发送请求的NMS。

    • SNMP Agent接收到NMS的请求信息后,通过MIB表完成相应指令后,并把操作结果响应给NMS。

    • 当设备发生故障或者其它事件时,设备会通过SNMP Agent主动发送SNMP Traps给NMS,向NMS报告设备当前的状态变化。

Managed Object

Managed object指被管理对象。每一个设备可能包含多个被管理对象,被管理对象可以是设备中的某个硬件,也可以是在硬件、软件(如路由选择协议)上配置的参数集合。

MIB

MIB是一个数据库,指明了被管理设备所维护的变量。MIB在数据库中定义了被管理设备的一系列属性:对象的名称、对象的状态、对象的访问权限和对象的数据类型等。

MIB也可以看作是NMS和SNMP Agent之间的一个接口,通过这个接口,NMS对被管理设备所维护的变量进行查询/设置操作。

MIB是以树状结构进行存储的,如图所示。树的节点表示被管理对象,它可以用从根开始的一条路径唯一地识别,这条路径就称为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}。

SNMP查询

SNMP查询是指NMS主动向SNMP Agent发送查询请求。SNMP Agent接收到查询请求后,通过MIB表完成相应指令,并将结果反馈给NMS。

SNMP设置

SNMP设置是指NMS主动向SNMP Agent发送对设备进行Set操作的请求。SNMP Agent接收到Set请求后,通过MIB表完成相应指令,并将结果反馈给NMS。

SNMP设置操作只有一种Set,NMS使用该操作可设置SNMP Agent中的一个或多个参数值。

SNMP Traps

SNMP Traps是指SNMP Agent主动将设备产生的告警或事件上报给NMS,以便网络管理员及时了解设备当前运行的状态。

SNMP Agent上报SNMP Traps有两种方式:Trap和Inform。SNMPv1版本不支持Inform。Trap和Inform的区别在于,SNMP Agent通过Inform向NMS发送告警或事件后,NMS需要回复InformResponse进行确认。

SNMP端口号

SNMP报文是普通的UDP报文,协议中规定有两个默认端口号:

  • 端口号161:NMS发送Get、GetNext、GetBulk和Set操作请求以及SNMP Agent响应这些请求操作时,使用该端口号。

    该端口号支持用户配置,但是需要保证NMS发送请求报文使用的端口号与SNMP Agent响应请求报文使用的端口号要一致。

  • 端口号162:SNMP Agent向NMS发送Trap或Inform时,使用该端口号。

    该端口号支持用户配置,但是需要保证SNMP Agent发送Trap或Inform的端口号与NMS监听Trap或Inform的端口号要一致。

 

 

华为MIB指令查询地址https://info.support.huawei.com/info-finder/search-center/zh/enterprise/index.html 在该链接输入设备型号选择版本号 mib 进行搜索查询OID

 

posted @   冰糖狐狸  阅读(430)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示