目录
1、什么是snmp协议?
2、snmp协议的用途
3、snmp的基本组件
1、 NMS
2、Agent
3、Managed Object
4、MIB
4、SNMP端口
5、SNMP协议工作原理
6、SNMP的应用
1、什么是snmp协议?
snmp协议是广泛应用于TCP/IP网络的网络管理标准协议,该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。
snmp协议采用轮询机制,提供最基本的功能集,适合小型、快速、低价格的环境使用,而且snmp协议以用户数据报协议(UDP)报文为承载,因而受到绝大多数设备的支持,同时保证管理信息再任意两点传送,便于管理员在网络上的任何节点检索信息,进行故障排查。
snmp协议有三个版本:SNMPv1、SNMPv2c和SNMPv3,我们可以根据情况选择配置一个或多个版本。
使用SNMPv1或SNMPv2c具有潜在安全风险,推荐使用SNMPv3协议。
2、snmp协议的用途
随着网络设备数量的急剧增加,网络管理员对设备的管理变得更加困难,网络作为一个复杂的分布式系统,其覆盖地域不断扩大,也使得对这些设备进行实时监控和故障排查变得极为困难。
网络设备种类多种多样, 不同设备厂商提供的管理接口(如命令行接口)各不相同,这使得网络管理变得愈发复杂。
在这种背景下,snmp是广泛应用于TCP/IP网络的网络管理标准协议,该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。利用网络管理网络的方式:
- 网络管理员可以利用SNMP平台在网络上的任意节点完成信息查询、信息修改和故障排查等工作,工作效率得到提高。
- 屏蔽了设备间的物理差异,snmp仅提供最基本的功能集,使得管理任务与被管理设备的物理特性、网络类型相互独立,因而可以实现对不同设备的统一管理,管理成本低。
- 设计简单、运行代价低,snmp采用“尽可能简单”的设计思想,其在设备上添加的软件、硬件、报文的种类和报文的格式都力求简单,因而运行snmp给设备造成的影响和代价都被最小化。
3、snmp的基本组件
snmp基本组件包括网络管理系统NMS(Network Management System)、代理进程(Agent)、被管对象(Management Object)和管理信息库MIB(Management Information Base)。snmp体系结构为:
1、 NMS
NMS:NMS在网络中扮演管理者的角色,是一个采用SNMP协议对网络设备进行管理、监视的系统,运行在NMS服务器上。
- NMS可以向设备上的Agent发出请求,查询或修改一个或多个具体的参数值。
- NMS可以接收设备上的Agent主动发送的Trap信息,以获知被管理设备当前的状态。
2、Agent
Agent是被管理设备中的一个代理进程,用于维护被管理设备的信息数据并响应来自NMS的请求,把管理数据汇报发送请求的NMS。
- Agent接收到NMS的请求信息后,通过MIB表完成相应指令后,并把操作结果响应给NMS。
- 当设备发生故障或者其他事件时,设备会通过Agent主动发送信息给NMS,向NMS报告设备当前的状态变化。
3、Managed Object
Managed Object指被管理对象。每一个设备可能包含多个被管理对象,被管理对象可以是设备中的某个硬件,也可以是在硬件、软件(如路由选择协议)上配置的参数集合。
4、MIB
MIB是一个数据库,指明了被管理设备所维护的变量,是能够被Agent查询和设置的信息。MIB在数据库中定义了被管理设备的一系列属性;对象的名称、对象的状态、对象的访问权限和对象的数据类型等。通过MIB,可以完成以下功能:
Agent通过查询MIB,可以获知设备当前的状态信息。
Agent通过修改MIB,可以设置设备的状态参数。
SNMP的MIB采用树型结构,它的根在最上面,根没有名字。
4、SNMP端口
SNMP端口是SNM[通信端点,SNMP消息传输通过UDP进行,通常使用UDP端口号161/162。有时也使用传输层安全性(TLS)或数据报传输层安全性(DTLS)协议,端口使用情况如下表所示:
SNMP端口使用介绍表
过程 | 协议 | 端口号 |
代理进程接收请求信息 | UDP协议 | 161 |
NMS与代理进程之间的通信 | UDP协议 | 161 |
NMS接收通知信息 | UDP协议 | 162 |
代理进程生成通知信息 | 任何可用的端口 | |
接收请求信息 | TLS/DTLS | 10161 |
接收通知信息 | TLS/DTLS | 10162 |
5、SNMP协议工作原理
网络中使用了SNMP协议,NMS作为整个网络的网管中心,会对设备进行管理。每个被管理的设备都包含驻留在设备上得Agent、多个被管对象和MIB,NMS通过与运行在被管理设备上的Agent交互,由Agent通过对设备端的MIB的操作,完成NMS的指令。SNMP的工作原理是将协议数据单元(也称为SNMP GET请求)发送到响应SNMP的网络设备。用户通过网络监控工具可以跟踪所有通信过程,并将SNMP获取数据。
SNMP规定了几个操作类型来完成各组件之间的信息交换,如图为:
SNMP操作类型表
操作类型 | 描述 | 备注 |
Get | Get操作可以从Agent中提取一个或多个参数值。 | |
GetNext | GetNext操作可以从Agent中按照字典序提取下一个参数值。 | |
Set | Set操作可以设置Agent的一个或多个参数值。 | |
Response | Resopnse操作可以返回一个或多个参数值。这个操作是由Agent发出的,它是GetRequest、GetNextRequest、SetRequest和GetBulkRequest四种操作的响应操作。Agent接收到来自NMS的Get/Set指令后,通过MIB完成相应的查询/修改操作,然后利用Response操作将信息回应给NMS。 | |
Trap | Trap信息是Agent主动向NMS发出的信息,告知管理进程设备端出现的情况。 | |
GetBulk | GetBulk操作实现了NMS对被管理设备放入信息群查询。 | SNMPv1版本不支持GetBulk操作 |
Inform | InformRequest也是被管理设备向NMS主动发送告警。与Trap告警不同的是,被管理设备发送Inform告警后,需要NMS回复InformResponse来进行确认。 | SNMPv1版本不支持lnform操作 |
6、SNMP的应用
网管可以通过SNMP协议管理设备,管理员要对整个网络的设备进行配置和管理,这些设备分布较为分散,管理员到现场进行设备配置是很麻烦的。如果这些网络设备是来自不同的厂商,而如果每个厂商都提供一套独立的管理接口(比如使用不同的命令行),将使用批量配置网络设备的工作量巨大。因此,我们如果采用传统的人工方式,将会带来成本高、效率低的弊端,此时网络管理员可以利用snmp远程管理和配置其下属设备,并对这些设备进行实时监控。
在组网中配置SNMP协议,先需要在管理端配置SNMP管理程序NMS,同时在被管理设备端配置SNMP的Agent。
通过SNMP协议:
NMS可以通过Agent在任何时候及时地获得设备的状态信息,实现远端控制被管理设备。
Agent可以及时地向NMS报告设备的当前状态信息。文章来源:https://www.toymoban.com/news/detail-401910.html
学习参考:什么是SNMP?为什么需要SNMP? - 华为 (huawei.com)文章来源地址https://www.toymoban.com/news/detail-401910.html
到了这里,关于snmp协议详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!