帮助中心 >  行业资讯 >  其他 >  简单网络管理协议SNMP

简单网络管理协议SNMP

2021-04-28 10:56:15 3737

一、SNMP的概念与作用

1.SNMP概述

SNMP(Simple Network Management Protocol)简单网络管理协议是基于TCP/IP五层协议中的应用层协议。SNMP 使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。由于其简单可靠,提供了一种监控和管理网络设备的系统方法,因此受到了众多厂商的欢迎,成为了目前最为广泛的网管协议。

SNMP是管理进程(NMS)和代理进程(Agent)之间的通信协议。它规定了在网络环境中对设备进行监视和管理的标准化管理框架、通信的公共语言、相应的安全和访问控制机制。通过网络,管理员可以管理位于不同物理空间的设备,从而大大提高网络管理的效率,简化网络管理员的工作。

2.SNMP的组成

SNMP模型包括NMS、Agent、Management object和MIB。

1)NMS(Network-management systems网络管理系统):在网络中扮演管理者角色,是一个采用SNMP协议对网络设备进行管理/监视的系统,运行在NMS服务器上。

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

3)Management object(被管理对象):每一个设备可能包含多个被管理对象,被管理对象可以是设备中的某个硬件(如一块接口板)、软件(如路由选择协议)及其配置参数的集合。

4)MIB(管理信息库):任何一个被管理的资源都表示成一个对象,称为被管理对象,MIB是被管理对象的集合。MIB在数据库中定义了被管理设备的一系列属性:对象的名称、对象的状态、对象的访问权限和对象的数据类型等。MIB也可以看作是NMS(网管系统)和Agent之间的沟通桥梁。


1.png


二、SNMP的版本

SNMP目前共有v1、v2、v3三个版本。

SNMP v1:SNMP协议的最初版本,存在较多安全缺陷,现在这个版本使用的比较少了。

SNMP v2:在兼容SNMPv1的同时又扩充了SNMPv1的功能,具体扩展了数据类型、支持分布式网络管理、可以实现大量数据的传输,提高了效率和性能,丰富了故障处理能力及增加了集合处理功能。

SNMP v3:是最新版本的SNMP。它相对于V2版本,在安全性上得到了重要提升,增加了对认证和密文传输的支持。

三、报文格式

SNMP封装在UDP中,一个SNMP报文由三个主要部分组成:协议版本(version)、SNMP共同体(community)标识符、数据区。

Version:SNMP 版本号。管理器和代理器必须使用相同版本的 SNMP。

Community:团体名称,用于在访问代理器之前认证管理器。

数据区:分成若干个协议数据单元PDU(Protocol Data Unit),每个PDU包括一个请求(由管理系统发送)或一个响应(由管理代理发送)。


2.png


四、操作类型

SNMP v1 版本规定了5种操作类型,用来在管理进程和代理之间信息的交换。

get-request 操作:由管理进程发出,从代理进程处提取一个OID(对象标识符)值。

get-next-request 操作:由管理进程发出,从代理进程(MIB中)处提取紧跟当前参数值的下一个OID值,进行遍历。

set-request 操作:由管理进程发出,设置代理进程的一个或多个参数值。

get-response 操作:由代理进程发出,返回的一个或多个参数值。

trap 操作:由代理进程主动发出,告知管理进程设备端出现的情况。

其中代理进程端是用 161 端口接收 get 或 set 报文,而在管理进程端是用 162 端口来接收 trap 报文。


3.png


在SNMP v2版本又增加了2种操作类型。

inform-request 操作:由代理进程发出,需要NMS回复InformResponse来进行确认

getBulk-request 操作:由管理进程发出,实现了NMS对被管理设备的信息群查询。该操作基于GetNext实现,相当于连续执行多次GetNext操作。在NMS上可以设置被管理设备在一次GetBulk报文交互时,执行GetNext操作的次数。


4.jpg


SNMPv3涉及的部分操作。

1)NMS向Agent发送不带安全参数的Get请求报文。

2)Agent响应NMS的请求,并向NMS反馈请求的参数。

3)NMS再次向Agent发送带安全参数的Get请求报文。

4)Agent对响应消息进行加密,并向NMS反馈请求的参数。


5.jpg


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: