简单网络管理协议(SNMP)

简单网络管理协议(SNMP)是目前TCP/IP网络中应用最广泛的网络管理协议,是网络管理事实上的标准。它不仅指简单的网络管理协议本身,而且代表采用SNMP协议的网络管理框架,经历了从SNMPv1到SNMPv3的发展历程,本文将从下面几个方面探讨其 演变过程。

SNMPv1管理模型

SNMPv1管理模型包括四个关键元素:管理站、管理代理、管理信息库、管理协议。下图显示了上述四个元素的关系。

1、管理站

管理站是网络管理员与网络管理系统的接口,它实际上是一台运行特殊管理软件的计算机。管理站运行一个或多个管理进程,它通过SNMP协议在网络上与代理通信,发送命令并接收代理的应答。管理站通过获取 MIB 对象的值来实现网络资源监视,也可以通过修改特殊变量的值来使代理执行一个动作或修改资源的配置。许多管理站的应用进程都具有图形用户界面,提供数据分析、故障发现的功能,网络管理者能方便地检查网络状态并在需要时采取行动。

2、管理代理

网络中的主机、路由器、网桥和交换机等都可配置SNMP,成为管理代理,以便管理站对它进行管理。每个代理负责维护本地 MIB 来存放被管资源的状态、运行情况等,对来自管理站的信息查询和动作执行的请求作出响应,同时还可以异步地向管理站提供一些重要的非请求信息。

管理站可以访问多个管理代理的MIB对象,接收来自多个代理的Trap,因此从操作和控制的角度看,管理站“管理”着许多代理。同时,管理代理也能对多个管理站的请求作出响应,是一种一对多的关系,管理代理为了控制管理站对它的 MIB 的使用,保护它自己和它的MIB,避免不希望的或未授权的访问,使用了共同体的概念。管理代理为每一个必要的认证、访问控制和代理特性的联合建立一个共同体。从管理站发往代理的报文都包含共同体名,它起着口令的作用,只要报文发送方知道口令,该报文就被认为是可信的。由此可见,这并不是很安全的方式,所以,很多管理者仅仅提供网络监视的功能(get和trap操作),屏蔽掉了网络控制功能(set操作)。

3、管理信息库

MIB是一个信息存储库,它包含了管理代理中的有关配置和性能的数据,是网络管理的基础。每一个被管资源由一个对象来表示,MIB就是由这样一些对象组成的结构化的集合。在RFC1155中定义的管理信息结构给出了MIB结构的总体框架。

4、管理协议

管理站和管理代理之间是通过SNMP网络管理协议连接的,通过SNMP报文的形式来交换信息。协议主要支持Get、Set和Trap三种功能共五种操作, Get用于管理站获取代理的MIB对象值,Set用于管理站去设置代理的MIB对象值,Trap用于代理向管理站通告重要事件。

SNMPv1存在的问题及SNMPv2的改进

SNMPv1协议以其简单和灵活性,获得了许多厂商的支持,得到广泛应用,但其缺点也很多,功能简单、安全性差。SNMPv1是基于一种主动轮询的监视机制,轮询间隔短时对网络性能影响很大,不适合大规模的网络管理; SNMPv1不支持管理站-管理站之间的通信,这样,它不允许一个管理系统去了解由另一个管理系统管理的设备和网络的状况。

与SNMPv1单纯的集中式管理模式不同,SNMPv2支持分布式/分层式的网络管理结构,在SNMPv2管理模型中有些系统可以同时具有管理器和代理的功能,作为代理,它可以接收上一级管理系统的命令,访问其存储的本地信息,也可以提供它所负责的管理域中其它代理的信息摘要,向上级管理器发送Trap信息。

SNMPv2定义了两个MIB库,一个相当于SNMPv1的MIB-II,另一个是Manager-to-Manager(M2M) MIB,提供对分布式管理结构的支持。

网络管理的安全威胁和SNMPv3体系结构

使用SNMPv1、SNMPv2 进行网络管理时,由于安全功能有限,面临着假冒、信息篡改、报文序列和定时机制的修改、信息暴露等几种安全威胁。

SNMPv3通过简明的方式实现了加密和验证功能。SNMPv3结构是由分布的、相互连接的SNMP实体组成。每一个实体可以作为一个代理节点、管理器节点或代理和管理器的混合节点。

SNMPv3实体通常由一SNMP引擎和一个或多个相关联的应用组成。应用主要有:命令产生器(Command Generator)、通知接收器(Notification Receiver)、代理转发器(Proxy Forwarder)、命令响应器(Command Responder)、通知始发器(Notification Originator)和一些其他的应用。

RFC 2271定义的SNMPv3体系结构,体现了模块化的设计思想, SNMP引擎和它支持的应用被定义为一系列独立的模块。SNMP实体的功能由所在实体的多个模块决定,每个实体仅仅是模块的不同组合,每个模块具有相对独立性,当改进或替换某一模块时,不会影响整个结构,这样可以简单地实现功能的增加和修改。

作为SNMP实体核心的SNMP引擎用于发送和接受消息、鉴别消息、对消息进行解密和加密以及控制对被管对象的访问等功能。

SNMPv3可运用于多种操作环境,可根据需要增加、替换模块和算法,具有多种安全处理模块,有极好的安全性和管理功能,既弥补了前两个版本在安全方面的不足,同时又保持了SNMPv1和SNMPv2易于理解、易于实现的特点。随着 SNMPv3的进一步扩充和完善,必将进一步推动网络管理技术的发展。

你可能感兴趣的:(snmp)