【杂记-浅谈SNMP网络管理标准协议】

一、SNMP概述、作用、优点

概述
1、SNMP,Simple Network Management Protocol,简单网络管理协议、利用网络管理网络,网络管理员利用SNMP平台在网络上的任意节点完成信息查询、信息修改和故障排查等工作,工作效率得以提高。
2、SNMP广泛应用于TCP/IP网络管理标准,该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。
3、SNMP采用轮询机制,提供最基本的功能集,适合小型、快速、低价格的环境使用。SNMP管理站和SNMP代理之间是松散耦合。他们之间的通信是通过UDP协议完成的。,因而受到绝大多数设备的支持,同时保证管理信息在任意两点传送,便于管理员在网络上的任何节点检索信息,进行故障排查。
4、SNMP为不同的设备定义为一个统一的接口和协议,使得管理员可以是使用统一的外观面对这些需要管理的网络设备进行管理。通过网络,管理员可以管理位于不同物理空间的设备,从而大大提高网络管理的效率,简化网络管理员的工作。
作用
1、一般情况下,SNMP管理站通过UDP协议向SNMP代理发送各种命令,当SNMP代理收到命令后,返回SNMP管理站需要的参数。但是当SNMP代理检测到网络元素异常的时候,也可以主动向SNMP管理站发送消息,通告当前异常状况。
2、网络管理员需要向设备获取数据,所以SNMP提供了读操作;管理员需要向设备执行设置操作,所以SNMP提供了写操作;设备需要在重要状况改变的时候,向管理员通报事件的发生,SNMP提供Trap操作。
优点
SNMP屏蔽了设备间的物理差异,SNMP仅提供最基本的功能集,使得管理任务与被管理设备的物理特性、网络类型相互独立,因而可以实现对不同设备的统一管理,管理成本低。设计简单、运行代价低,SNMP采用尽可能简单的设计思想,其在设备上添加的软件/硬件、报文的种类和报文的格式都力求简单,因而运行SNMP给设备造成的影响和代价都被最小化。

二、SNMP的基本组件

1、NMS,Network Management System,网络管理系统,NMS是运行可以执行网络管理任务软件的服务器,NMS负责采样网络中Agent的信息,并接受Agent的Trap。NMS在网络中扮演管理者角色,是一个采用SNMP协议对网络设备进行管理/监视的系统,运行在NMS服务器上。NMS可以向设备上的Agent发出请求,查询或修改一个或多个具体的参数值。NMS可以接收设备上的Agent主动发送的Trap信息,以获知被管理设备当前的状态。
2、Agent,代理进程。Agent是被管理设备中的一个代理进程,用于维护被管理设备的信息数据并响应来自NMS的请求,把管理数据汇报给发送请求的NMS。Agent接收到NMS的请求信息后,通过MIB表完成相应指令后,并把操作结果响应给NMS。当设备发生故障或者其它事件时,设备会通过Agent主动发送信息给NMS,向NMS报告设备当前的状态变化。
3、Managed Object,被管对象。每一个设备可能包含多个被管理对象,被管理对象可以是设备中的某个硬件,也可以是在硬件、软件(如路由选择协议)上配置的参数集合。
4、MIB,Management Information Base,管理信息库。MIB是一个数据库,指明了被管理设备所维护的变量,是能够被Agent查询和设置的信息。管理信息(MIB)库可以理解成为agent维护的管理对象数据库,MIB中定义的大部分管理对象的状态和统计信息都可以被NMS访问。MIB是一个按照层次结构组织的树状结构,每个被管对象对应树形结构的一个叶子节点,称为一个object,拥有唯一的数字标识符.MIB在数据库中定义了被管理设备的一系列属性:对象的名称、对象的状态、对象的访问权限和对象的数据类型等。通过MIB,可以完成:1.Agent通过查询MIB,可以获知设备当前的状态信息。2.Agent通过修改MIB,可以设置设备的状态参数。

三、SNMP的版本、端口

版本
1、SNMPv1:SNMP的第一个版本,它提供了一种监控和管理计算机网络的系统方法,它基于团体名认证,安全性较差,且返回报文的错误码也较少。它在RFC 1155和RFC 1157中定义。
2、SNMPv2c:第二个版本SNMPv2c引入了GetBulk和Inform操作,支持更多的标准错误码信息,支持更多的数据类型。它在RFC 1901,RFC 1905和RFC 1906中定义。
3、SNMPv3:鉴于SNMPv2c在安全性方面没有得到改善,IETF颁布了SNMPv3版本,提供了基于USM(User Security Module)的认证加密和基于VACM(View-based Access Control Model)的访问控制,是迄今为止最安全的版本。SNMPv3在RFC 1905,RFC 1906,RFC 2571,RFC 2572,RFC 2574和RFC 2575中定义。
端口
SNMP消息传输通过UDP进行,通常使用UDP端口号161/162,有时也使用传输层安全性(TLS)或数据报传输层安全性(DTLS)协议。
1、代理进程接收请求信息:UDP协议,161端口。
2、NMS与代理进程之间的通信:UDP协议,161端口。
3、NMS接收通知信息:UDP协议,162端口。
4、代理进程生成通知信息:任何可用的端口。
5、接收请求信息:TLS/DTLS协议,10161端口
6、接收通知信息:TLS/DTLS协议,10162端口。

四、SNMP工作过程、操作类型

工作过程
NMS是一个中心节点,负责收集维护各个SNMP元素的信息,并对这些信息进行处理,最后反馈给网络管理员。Agent运行在各个被管理的网络节点之上,负责统计该节点的各项信息,并且负责与NMS交互,接收并执行管理站的命令,上传各种本地的网络信息。
NMS与Agent通过MIB进行接口统一,MIB定义了设备中的被管理对象。NMS和Agent都实现了相应的MIB对象,使得双方可以识别对方的数据,实现通信。NMS向Agent申请MIB中定义的数据,Agent识别后,将管理设备提供的相关状态或参数等数据转换为MIB定义的格式,应答给NMS,完成一次管理操作。
1、NMS作为整个网络的网管中心,会对设备进行管理。
2、每个被管理设备都包含驻留在设备上的Agent、多个被管对象和MIB,NMS通过与运行在被管理设备上的Agent交互,由Agent通过对设备端的MIB的操作,完成NMS的指令。
3、SNMP的工作原理是将协议数据单元(也称为SNMP GET请求)发送到响应SNMP的网络设备,用户通过网络监控工具可以跟踪所有通信过程,并从SNMP获取数据。
操作类型
SNMP规定了几个操作类型来完成各组件之间的信息交换。
1、Get:NMS发出,从Agent中提取一个或多个参数值。
2、GetNext:NMS发出,从Agent中按照字典序提取下一个参数值。
3、Set:NMS发出,设置Agent的一个或多个参数值。
4、Response:Agent发出,返回一个或多个参数值,Response是GetRequest、GetNextRequest、SetRequest和GetBulkRequest四种操作的响应操作。Agent接收到来自NMS的Get/Set指令后,通过MIB完成相应的查询/修改操作,然后利用Response操作将信息回应给NMS。
5、Trap:Agent发出,用于主动向NMS发出的信息,告知管理进程设备端出现的情况。
6、GetBulk:实现NMS对被管理设备的信息群查询。
7、Inform:被管理设备向NMS主动发送告警。与Trap告警不同的是,被管理设备发送Inform告警后,需要NMS回复InformResponse来进行确认。

五、SNMP的消息构成

一条SNMP消息由:版本号、SNMP共同体名(团体名)、协议数据单元(PDU)构成,数据包的长度不是固定的。
1、version identifier,版本识别符:用于说明现在使用的是哪个版本的SNMP协议,确保SNMP代理使用相同的协议,每个SNMP代理都直接抛弃与自己协议版本不同的数据报。
2、Community Name,团体名:community团体是基本的安全机制,用于实现SNMP网络管理员访问SNMP管理代理时的身份验证。类似于密码,默认值为 public。团体名(Community name)是管理代理的口令,管理员被允许访问数据对象的前提就是网络管理员知道网络代理的口令。如果把配置管理代理成可以执行Trap命令,当网络管理 员用一个错误的分区名查询管理代理时,系统就发送一个autenticationFailure trap报文。
3、PDU,协议数据单元:PDU 协议数据单元是SNMP消息中的数据区, 即SNMP通信时报文数据的载体。PDU指明了SNMP的消息类型及其相关参数.

六、SNMP Traps

涵义
SNMP Traps,SNMP Agent主动将设备产生的告警或事件上报给NMS,以便网络管理员及时了解设备当前运行的状态。有两种方式:Trap和Inform,Trap和Inform的区别在于,SNMP Agent通过Inform向NMS发送告警或事件后,NMS需要回复InformResponse进行确认。
Trap操作工作原理
Trap不属于NMS对被管理设备的基本操作,它是被管理设备的自发行为。当被管理设备达到告警的触发条件时,会通过SNMP Agent向NMS发送Trap消息,告知设备侧出现的异常情况,便于网络管理人员及时处理。
这种Trap信息是受限制的,只有在设备端的模块达到模块预定义的告警触发条件时,SNMP Agent才会向管理进程报告。这种方法的好处是仅在严重事件发生时才发送Trap信息,减少报文交互产生的流量。
Inform操作工作原理
Inform操作也是被管理设备向NMS主动发送告警。与Trap告警不同的是,被管理设备发送Inform告警后,需要NMS进行接收确认,如果被管理设备没有收到确认信息则:将告警或事件暂时保存在Inform缓存中、重复发送该告警或事件,直到NMS确认收到该告警或者发送次数达到最大重传次数、被管设备上会生成相应的告警或事件日志。

七、SNMP的应用

1、网管可以通过SNMP协议管理设备,管理员要对整个网络的设备进行配置和管理,这些设备分布较为分散,管理员到现场进行设备配置是不现实的。当这些网络设备来自不同的厂商,而每个厂商都提供一套独立的管理接口(比如使用不同的命令行),将使得批量配置网络设备的工作量巨大。此时网络管理员可以利用SNMP远程管理和配置其下属设备,并对这些设备进行实时监控。
2、在组网中配置SNMP协议,首先需要在管理端配置SNMP管理程序NMS,同时在被管理设备端配置SNMP的Agent。
3、通过SNMP协议,NMS可以通过Agent在任何时候及时地获得设备的状态信息,实现远端控制被管理设备。Agent可以及时地向NMS报告设备的当前状态信息。

相关推荐

  1. 杂记-SNMP网络管理标准协议

    2024-06-16 19:44:02       11 阅读
  2. 杂记-VRRP虚拟路由冗余协议

    2024-06-16 19:44:02       6 阅读
  3. 杂记-OSPF协议中的RouterDeadInterval】

    2024-06-16 19:44:02       6 阅读
  4. 杂记-VLAN技术】

    2024-06-16 19:44:02       8 阅读
  5. 杂记-MAC地址】

    2024-06-16 19:44:02       6 阅读
  6. 工业标准通讯协议SECS\GEM格式

    2024-06-16 19:44:02       38 阅读
  7. 杂记-Internet、Intranet、Extranet】

    2024-06-16 19:44:02       8 阅读
  8. 杂记-缺省VLAN】

    2024-06-16 19:44:02       7 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-16 19:44:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-16 19:44:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-16 19:44:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-16 19:44:02       20 阅读

热门阅读

  1. Azure OpenAI 服务

    2024-06-16 19:44:02       9 阅读
  2. LeetCode 0521.最长特殊序列 Ⅰ:脑筋急转弯

    2024-06-16 19:44:02       10 阅读
  3. Qt进程间通信QLocalSocket客户端无法接收消息

    2024-06-16 19:44:02       7 阅读
  4. Eclipse 内容辅助

    2024-06-16 19:44:02       10 阅读
  5. Redis数据结构之字符串(sds)

    2024-06-16 19:44:02       5 阅读
  6. c语言中的宏是什么?

    2024-06-16 19:44:02       7 阅读
  7. 速盾:服务器遭受ddos攻击如何防御

    2024-06-16 19:44:02       10 阅读
  8. 堆排序(Heap_sort)

    2024-06-16 19:44:02       9 阅读
  9. stm32实战

    2024-06-16 19:44:02       6 阅读
  10. vue3:父组件如何给子组件传值

    2024-06-16 19:44:02       6 阅读
  11. leetcode 字符串

    2024-06-16 19:44:02       7 阅读
  12. 11.NiO多线程优化

    2024-06-16 19:44:02       6 阅读