SNMP网络管理初探
摘 要: 随着通信业务量需求的成倍增长,网络规模的日益膨胀,网元设备的种类和数量不断增加,各个网元都有自己的管理系统,这给网络的管理维护带来了很多困难。为了提高网络管理的效率,很有必要对各网元进行集中管理,实现在一个统一的平台上管理各种设备。SNMP是目前应用最为广泛的网络管理协议,本文重点对SNMP的概念、工作方式、实现基础和一些改进作了阐述,供参考。
关键词: 网络管理;SNMP;管理信息数据库
随着现代网络技术的高速发展,网络数量呈指数增加,网络设备功能的复杂性与生产厂商的多样化,使得网络管理无法用传统的手工方式完成,必须借助先进有效的管理手段。SNMP应运而生,它以简单且易于实现的优点,在 TCP/IP网络、电话系统等领域获得蓬勃发展。
一、SNMP的基本概念
(一)SNMP的含义
SNMP(Simple Network Management Protocol 简单网络管理协议)是用来监视、管理和配置网络设备的协议,最早由IETF研究小组为解决Internet网路由器管理问题而提出。它使用嵌入到网络设施中的代理软件来收集网络通信信息和有关网络设备的统计数据,网管员通过向代理的管理信息库发出查询信号便可以得到这些信息。这种网络管理技术基于远程监控和被管对象的数字化,它不仅改变了原来的网络维护管理方式,将现场物理管理变成了远程逻辑管理,而且使管理系统有了很好的预测能力[1]。SNMP协议应用广泛,几乎支持所有网络厂商推出的设备和网络管理系统,非常适合小型、快速、低价的网络环境使用。
(二)SNMP的体系结构
为了便于实现,SNMP体系结构一般是非对称的,即Manager实体和Agent实体分别配置。基本的体系结构是Manager/Agent两级结构,它是一个管理站、多个代理的非对称式体系结构,管理站一般由专用设备构成,配备Manager实体和一组管理应用程序,提供网络的配置、性能、故障、安全、计费等管理功能,通过读取管理信息数据库中对象的值来进行网络监控。代理是配备了Agent实体的各类设备,如主机、集线器、网桥、路由器、网关等,在Agent实体的支持下响应管理站的操作请求,对系统中各类资源的被管对象进行访问。管理站可以向代理下达操作命令访问代理所在系统的管理信息,但是代理却不能访问管理站所在系统的管理信息。另外,为获得更高的性能和灵活性,有时需要将SNMP的体系结构配置为三级结构。在这个模式下,一个SNMP的代理者不仅要配备SNMP Agent,与SNMP管理站通信,而且要配备一个或多个托管设备支持的协议,与托管设备通信,通过代管可以将没有配备SNMP的被管设备纳入SNMP系统,有利于扩大SNMP的应用面,降低网络管理的成本,提高灵活性[2]。
二、SNMP的工作方式
SNMP采用面向自陷的轮询方法(Trap-directed polling)进行网络设备管理。一般情况下,管理站通过轮询被管理设备中的代理进行信息收集,在控制台上用数字或图形的表示方式显示这些信息,提供对网络设备工作状态和网络通信量的分析和管理功能。代理负责接受、处理来自管理站的请求报文,然后将设备接口等特性管理变量的数值形成响应报文,发送给管理站;当被管理设备出现异常状态时(如接口状态发生改变),代理通过SNMP自陷立即向管理站发送出错通知。管理站一旦发现异常情况,可以直接轮询报告事件的代理或它的相邻代理,对事件进行诊断以获取更多的信息[3]。
三、SNMP的实现基础
SNMP网络管理是建立在管理信息共享和协作基础上的动态网络管理过程,管理站或代理根据本系统的管理信息数据库中的信息对动态的网络环境作出反应,可以说,管理信息数据库和协议数据单元是实现SNMP网络管理的物理基础。
(一)管理信息数据库(MIB)
MIB(Management
Information Base)是一个信息存储库,它包含了数千个数据对象,网络管理员可以通过直接控制这些数据对象去控制、配置或监控网络设备。MIB数据对象以一种树状分层结构进行组织,这个树状结构中的每个分支都有一个专用的名字和一个数字形式的标识符,分支表示数据对象的逻辑分组,树叶代表各个数据对象。使用这个树状分层结构,MIB浏览器能够遍历整棵MIB结构树,并以图形显示的形式来表示各个分支和树叶对象。
(二)协议数据单元(PDU)
管理站和代理之间的信息交换是通过SNMP报文实现的,为确保因网络管理而带来的开销最小,SNMP规定了5种简单的协议数据单元PDU(Protocol Data Unit)。当管理站提取一个或多个变量值到其应用程序中时,就发出get-request或get-next-request报文,前者是指定对象的读操作,后者则表示从代理进程处提取紧跟当前的下一个参数值;当管理站要修改代理进程中的变量值时,只要发出set-request报文即可。如果没有发生错误,代理进程则用get-reponse原语回答这些请求。使用trap原语,代理进程可以异步地发送告警给管理站,告诉它发生了某个满足预设条件的事件。在SNMP的改进协议中,管理站新增了一个成块读操作get-bulk-request报文,当需要用一个请求原语提取大量数据(如读取某个表的内容)时就可以调用它以提高效率。
四、SNMP的发展
(一)SNMP存在的缺陷
1、SNMP使用简单的口令验证机制,安全性较差,入侵者如果具备相应能力,就可以对重要的网络管理信息(如设备的状态和动作)进行修改,使系统或服务陷于崩溃。
2、SNMP使用集中式网络管理模式,大型网络的管理站收集数据的负担太重,且来自各个代理的报告会在网上形成巨大的业务量,可能导致网络拥塞。
(二)SNMP的主要改进
1、支持分布式管理。SNMP的改进版SNMPv2不仅可以采用集中式的模式,也可以采用分布式模式,它有多个被称为管理服务器的顶层管理站,每个管理站可以直接管理代理,同时也可以委托中间管理者担当Manager角色监控一部分代理,这种体系结构分散了处理负担,减少了网络的业务量。
2、提高了安全性。为了防止非授权用户对网络管理信息的修改、伪装和窃听,SNMPv3提出了基于用户的安全模型,通过认证、保密和时限模块,对去往和到来的各类消息提供安全保证。
3、扩展了功能。RMON最初只是基于对以太网、令牌环网链路层的远程监测,现在已将其功能扩展到网络层和更高层,有力地支持SNMP成为最为流行的网络管理协议。
参考文献
[1] William stallings.SNMP SNMPv2
and RMON.Addison-Wesley,1997
[2] Mani
Subransnian. Network Management-principles and practice,Higher Education
PressPefrson Education,2001
[3]杨家海等,网络管理原理与实现技术.清华大学出版社,2000