凌云首页 | 网站地图 | 微博: EN 夜场招聘


合作伙伴:单机除尘器 焦化厂除尘器 布袋除尘器 除尘滤芯 除尘器设备
光技术探索
视觉图像技术
工业视觉检测技术
光通信接入网技术
光纤器件与仪器技术

在线咨询

联系电话:

合作伙伴:单机除尘器 焦化厂除尘器 布袋除尘器 除尘滤芯 除尘器设备
首页 > 光技术探索 > 光通信接入网技术 > 【技术干货】SNMP之三...

【技术干货】SNMP之三——v1、v2、v3异同大展现2017-05-15

点击:

凌云天博
在上两期的介绍中,小编带领大家已经了解了SNMP的基本原理、运行过程、学习环境,也学习了RMON的一些基本知识。在这一期里面,我们将对SNMP的历史做一个回顾,并给大家分析下SNMP v1/v2/v3的异同,给大家进行普及。

SNMP发展历史
1989年——SNMPv1;
1991年——RMON(Remote Network Monitoring 远程网络监视),它扩充了SNMP的功能,包括对LAN的管理及对依附于这些网络的设备的管理。RMON 没有修改和增加SNMPv1,只是增加了SNMP监视【子网】的能力;
1993年——SNMPv2(SNMPv1的升级版);
1995年—— SNMPv2正式版,其中规定了如何在基于OSI的网络中使用SNMP;
1995年—— RMON扩展为RMON2;
1998年—— SNMPv3,一系列文档定义了SNMP的【安全性】,并定义了将来改进的总体结构,SNMPv3可以和SNMPv2、SNMPv1一起使用。
SNMP很简单也很成熟,很久远很有年代感!现如今绝大部分系统都是用的SNMPv2,凌云天博的蜂巢网管系统也是用的SNMPv2。

SNMP版本解析
SNMP共有v1,v2,v3三个版本:
•v1和v2都具有基本的【读、写】MIB功能;
•v2增加了警报、批量数据获取、管理站和管理站通信能力;
•v3在v2的基础上增加了USM,使用加密的数据和用户验证技术,提高了安全性;
RMON是SNMP的一个重要扩展,为SNMP增加了【子网流量、统计、分析】能力。
现有两个版本: 
Rmon1:提供了OSI七层网络结构中【网络层】和【数据链路层】监视能力;
Rmon2:提供了OSI七层网络结构中网络层【之上】各层的监视能力。

SNMPv1的一些不足
SNMPv1的一个主要的缺陷就是:没有提供安全功能,特别是不能对管理消息进行鉴别,也不能防止监听。从安全的角度看,消息头中的公共体名称毫无用处,公共体名称没有被加密,明文传输,可以被轻易地观测,监听者可以知道并获得相应的权限。由于缺少鉴别功能,SNMP对分组篡改也没有保护能力,防止网络攻击能力弱,导致许多的供应商不实现Set操作,这等于缩小了SNMPv1的功能。
另一方面,SNMPv1缺少管理站到管理站的通信机能,使管理站之间不能有效协作。同时,因为没有应答,Trap工作于无连接的数据报层,因而传输是不可靠的,很容易发生丢失重要警报的情况。

SNMPv2的增强
SNMPv2能支持高度集中的网络管理策略,也能支持分布式的管理策略。在分布式的管理策略下,一些系统在运行时既有管理站的功能还有代理的功。
从代理角色来讲,这样的系统接收从上级管理系统发过来的命令,这些命令可以处理:
•代理本身的管理信息,因为此时中间管理站对上级管理站而言是一台独立的网络设备,上级管理站可以像对待普通代理一样看待中间站;
•对中间管理站所管理的代理的信息摘要进行访问,中间管理站有管理功能,对所管理的系统有轮询、接收Trap、分析、统计等功能,所得数据可以存放在相应MIB结构中,上级管理站可以对其进行访问。
另外,中间管理站能够发送Trap消息到上级管理站,在SNMPv2中,管理站之间可以发送可靠的消息Inform Request,inform是需要接收方应答的,所以比Trap可靠。

SNMPv2对SNMPv1的主要增强可以分为以下几类:
•SMI
•管理站到管理站功能
•协议控制
SMIv2中增加了用于定义对象的扩展宏,增加了几个新的数据类型。另一个非常显著的变化是对创建和删除表中的概念行提供了新规范。该规范是从RMON MIB规范中产生的,但描述的更加详细。

协议操作中最显著的变化就是包含了两种新的PDU:
•GetBulkRequest PDU,能够有效地检索大块的数据,特别适合在表中检索多行数据;
•InformRequest PDU,使一个管理站能够向另一个管理站发送Trap消息。

SNMPv3介绍
SNMPv3只是一个安全规范,没有定义其他新的SNMP功能,只为SNMPv1和SNMPv2提供安全方面的功能。SNMPv3的RFC描述了SNMPv3的整体框架和具体的消息结构及安全特性,没有定义新的SNMP PDU格式。因此,在新的结构中必须使用已有的SNMPv1和SNMPv2 PDU、SMI及主要MIB。所以有这样一个公式:SNMPv3= SNMPv2 + 安全 + 管理

对于SNMP面临的安全问题,就是对数据进行加密和鉴别。
鉴别:  数据整体性和数据发送源鉴别,保证消息是由该发送源发送的,不是别人伪造的数据包,传输过程中没有被篡改过。使用HMAC、MD5散列函数或SHA-1这些算法对数据进行摘要,从而鉴别数据有没有被篡改。
加密:  对数据进行加密,保证不能使用网络数据包截获技术,将包监听而直接解读。使用DES的CBC(Cipher Block Chaining)模式来加密数据,即保证了加解密的效率,又保证了足够的强度。

SNMPv3中的框架
SNMPv3为SNMP系统定义了一个框架,将SNMP主要功能定义为引擎,在上面集成不同的应用程序,就构成了不同的SNMP实体。
引擎有分配器,消息处理子系统,安全子系统,访问控制子系统构成。
对于现在的SNMP系统,原有系统上加上消息处理系统,安全子系统,访问控制子系统就可以添加安全特性。从SNMPv1或SNMPv2完整的消息体开始加装就可以,既不影响原有功能,又增强安全功能。相应的消息处理、安全处理、访问控制的功能与参数都体现在新的消息体上。

SNMPv3体系结构
在现有的SNMP系统消息一级上加装相应框架中的子系统,就可以实现加装安全控制的功能。
框架中的元素包括实体、标识、管理信息、以及这些元素的支持模块、技术。
实体是SNMP的角色定义单位。实体包含一个SNMP引擎和相关应用程序。



引擎
实体的核心是SNMP引擎,是一个核心功能的集合体。SNMP的引擎提供了消息的发送、接收、鉴别、加密,并控制对管理对象的访问这些核心功能。在引擎上配置不同的应用程序就构成了SNMP实体。

•分配器:发送和接收SNMP消息;通过SNMP消息体判断消息版本,并发送到相应的消息处理子系统;提供一个抽象接口,以便向应用程序转发SNMP消息;提供一个抽象接口,使应用程序可以向另外的SNMP实体发送消息。

•消息处理系统:从接收的消息里提取数据、组装准备发送的消息;包含不同版本消息处理子模块,实现简单扩展和模块化,每一个子模块负责一个版本的消息处理。



•安全系统:提供安全功能,如加密和鉴别。包括安全协议,安全协议定义了安全机制,实现过程,MIB数据。



•访问控制系统:提供了对设备访问的控制模式。



snmpEngineID:每一个SNMP实体都包含一个SNMP引擎,那么就为引擎赋予一个唯一的、明确的标识,用来标记这个引擎。因为引擎和实体是一一对应的关系,因此,此ID也唯一标识了SNMP实体。

snmpSecurityModel:安全子系统的安全模型的唯一标识符,可能取值包括:SNMPv1、SNMPv2和USM,他用原语规范定义,语法为Integer。用来指出相应引擎中的安全子系统使用的安全模型。

应用程序
应用程序是一种高级别的程序,实现高级别的管理功能,与SNMP引擎一起构成SNMP实体。
•命令发生器:产生指令操作MIB数据(用于管理站)
•命令响应器:响应MIB数据操作指令(用于代理)
•通告产生器:向外发出Trap(用于代理)
•通告接收器:处理Trap(用于管理站)
•代理服务器:在不同实体见转发消息(用于代理服务器)

SNMP管理站
一个管理站有一个或若干个命令发生器或通告接收器,与SNMP引擎一起叫做SNMP管理站。



至此SNMP网络管理协议介绍完毕,请大家在实际的工作中多使用多体会,SNMP是如今一切网络管理思想起源和体系的基础。