snmp协议与snmp++

0.学习及引用

SNMP++库-【搜索SNMP++】

SNMP++ 00-开发准备篇

SNMP原理与实战详解

《计算机网络管理原理与实现》

dog250在此文中提到了snmp

SNMP协议是什么?

百度百科中的SNMP

三个版本的SNMP​​​​​​​

1.简单认识SNMP

1.1什么是snmp

简单网络管理协议(Simple Network Management Protocol,SNMP)是由互联网工程任务组定义的一套网络管
理协议。该协议是基于简单网关监视协议(Simple Gateway Monitor Protocol,SGMP)制定的。


SNMP可以使网络管理员通过一台工作站完成对计算机、路由器和其他网络设备的远程管理和监视.利用SNMP协
议可以更好地管理和监控网络. 管理工作站可以远程管理所有支持该协议的网络设备,如监视网络状态、修改
网络设备配置、接收网络事件警告等.


SNMP的前身是简单网关监控协议(SGMP),用来对通信线路进行管理。随后,人们对SGMP进行了很大的修改,特
别是加入了符合Internet定义的SMI和MIB,改进后的协议就是著名的SNMP。


基于TCP/IP的SNMP网络管理框架是工业上的现行标准,由3个主要部分组成,分别是
(1)管理信息结构SMI(Structure ofManagement Information);
(2)管理信息库MIB;
(3)管理协议SNMP.



SMI定义了SNMP框架所用信息的组织和标识,为MIB定义管理对象及使用管理对象提供模板.
MIB定义了可以通过SNMP进行访问的管理对象的集合.
SNMP协议是应用层协议,定义了网络管理者如何对代理进程的MIB对象进行读写操作.
SNMP中的MIB是一种树状数据库,MIB管理的对象,就是树的端节点,每个节点都有唯一位置和唯一名字.
IETF规定管理信息库对象识别符(OID,Object Identifier)唯一指定,其命名规则就是父节点的名字作为子节
点名字的前缀。

1.2 snmp的诞生背景

Telnet协议可以用于连接远程计算机,并进行管理与控制,如远程执行命令.这种情况下,执行的命令有一定的局限
性,如只能执行远程主机上支持的命令.


由于网络设备越来越多,网络规模越来越大,管理这些设备也越来越重要.远程管理网络的需求日益迫切,SNMP 
应运而生.

SNMP协议能够帮助网络管理员提高网络管理效率,及时发现和解决网络问题,对网络增长做好规划. 网络管理员
还可以通过SNMP协议,接收网络节点的通知消息和警告事件报告等,从而获知网络出现的问题.

1.3 snmp的版本

SNMP目前共有3个版本,分别为v1,v2和v3,说明如下:
(1)SNMPv1: 是SNMP 协议的最初版本,在1988年被制定,并被Internet体系结构委员会(IAB)采纳作为一个短期
的网络管理解决方案.

(2)SNMPv2: 是1992年发布的SNMP的第二个版本,它修订了第一版,并且在性能、安全、机密性和管理者之间通信
等方面进行了大量改进.

(3)SNMPv3: 是目前最新的版本. 它是 2004 年制定的,协议编号为 RFC3411-RFC3418(STD0062),它为提升协
议的安全性,增加了认证和密文传输功能.

1.4 snmp协议的优势 

SNMP是管理进程(NMS)和代理进程(Agent)之间的通信协议。它规定了在网络环境中对设备进行监视和管理的标准化管理框架、通信的公共语言、相应的安全和访问控制机制。网络管理员使用SNMP功能可以查询设备信息、
修改设备的参数值、监控设备状态、自动发现网络故障、生成报告等.

SNMP具有以下技术优点:
(1)基于TCP/IP互联网的标准协议,传输层协议一般采用UDP;
(2)自动化网络管理,网络管理员可以利用SNMP平台在网络上的节点检索信息、修改信息、发现故障、完成故障诊
断、进行容量规划和生成报告;
(3)屏蔽不同设备的物理差异,实现对不同厂商产品的自动化管理. SNMP只提供最基本的功能集,使得管理任务与
被管设备的物理特性和实际网络类型相对独立,从而实现对不同厂商设备的管理.
(4)简单的请求—应答方式和主动通告方式相结合,并有超时和重传机制.
(5)报文种类少,报文格式简单,方便解析,易于实现.
(6)SNMPv3版本提供了认证和加密安全机制,以及基于用户和视图的访问控制功能,增强了安全性.

1.5 SNMP的架构组成

由3部分组成,分别为社区,网络管理站和节点,如图所示 

社区,网络管理站和节点说明如下:
(1)社区:同一个管理框架下的网络管理站和所有节点的集合;
(2)网络管理站:一个管理控制台,也称为网络管理系统(Network Management System,NMS),它是一台带有必要
SNMP管理软件的普通计算机,主要用来管理与监控网络上的设备.
(3)节点:网络上的设备(被管理的设备), 例如,上图中的路由器、网关等都是节点设备.

1.6 工作原理

SNMP可以用来发现、查询和监视网络中其他设备的状态信息,其工作流程如图所示.

下图中展现了管理员通过NMS获取网关监控数据的工作流程,其中涉及了一些SNMP协议的关键信息.

为了方便理解,下面先介绍这些信息的作用及含义:
(1)MIB(管理信息库)
任何一个被管理的设备都表示成一个对象,并称为被管理的对象,而 MIB 就是被管理对象的集合.它定义了被管理
对象的一系列属性,如对象的名称、对象的访问权限和对象的数据类型等.每个设备都有自己的 MIB. MIB是一种
树状数据库,MIB 管理的对象,就是树的端节点,每个节点都有唯一位置和唯一名字.

(2)SNMP代理
是一种嵌入在被管理设备中的网络管理软件模块,主要用来控制本地机器的管理信息.它还负责将管理信息转换成
SNMP兼容的格式传递给NMS.

上图所示的工作流程分为以下4个步骤:
(1)当管理员查询被管理设备中的对象的相关值时,首先通过网络管理站NMS中的MIB找到相关对象.
(2)网络管理站NMS向SNMP代理申请MIB中定义对象的相关值.
(3)SNMP代理在自己的MIB库中进行查找.
(4)SNMP代理将找到的对象相关值返回给网络管理站NMS.

1.7 通信方式

SNMP采用特殊的客户机/服务器模式进行通信.这里的客户端指的是网络管理站NMS,服务器指的是SNMP代理.
实际上它们的通信方式是网络管理站NMS与SNMP代理之间的通信,如图所示。

1.8 操作类型

SNMP协议用来管理管理站NMS与SNMP代理之间的信息交互,因此,它提供了多种操作类型:
常用的6种操作类型如图所示:

 

上图中为 5 种信息交互形式的操作类型,一共有6种操作类型,每种操作类型含义如下:
(1)get-request 
网络管理站NMS从SNMP代理处提取一个或多个参数值.
(2)get-response
返回一个或多个参数的值.
(3)get-next-request
网络管理站NMS从SNMP代理处提取一个或多个参数的下一个参数值.
(4)set-request
网络管理站NMS设置SNMP代理处MIB的相关参数值.
(5)trap
SNMP代理主动向网络管理站NMS发送报文消息.
(6)informRequest
SNMP代理主动向网络管理站NMS发送报文消息,NMS进行响应.

1.9 操作系统中与snmp相关的参数

cat /proc/net/snmp

2.snmp++

2.1 安装与编译

SNMP++ 在Linux环境上的搭建与编译

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值