SNMP协议的作用就是进行网络管理。这个给大型网络的设备维护工作带来了很多好处。但是由于它的不断引入,几乎所有设备上都会有默认的SNMP协议设置,导致安全问题层出不穷。到底该不该用SNMP呢?下面我们就来分析一下它的优点和缺点。
对网络管理理念的实施过程中,技术和工业标准或许是最为重要的环节。如果没有统一的工业标准,管理的复杂性和成本将成倍增加,网络的稳定性和可靠性将大幅度下降,智能、安全、开放的目标也无法实现。在现实中,普通网络上的所有设备都支持工业标准协议,以便不同的设备之间可以实现畅通无阻的通信,而使用专用产品则还需要配套使用高价值的附加产品。基于此,网络管理的主流技术便在几个主要的工业标准之上衍生而来,其中SNMP (简单网络管理协议)、RMON (远程监控)和RMON II等标准和技术无疑是最重要的部分。
用户数据网络通常是使用SNMP协议进行管理的。SNMP(Simple Network Management Protocol,简单网络管理协议)是一种广为执行的网络协议,它使用嵌入到网络设施中的代理软件来收集网络通信信息和有关网络设备的统计数据。代理不断地收集统计数据,如所收到的字节数等,并把这些数据记录到一个管理信息库(MIB,Management Information Base)中,网管员通过向代理的MIB发出查询信号就可以得到这些信息,这个过程就叫做轮询(polling),是SNMP最基本的特点。
SNMP是被广泛接受并投入使用的工业标准,它的目标是保证管理信息在任意两点中传送,便于网络管理员在网络上的任何节点检索信息、进行修改、寻找故障,并完成故障诊断、容量规划和报告生成。采用轮询机制的SNMP协议能够提供网络管理最基本的功能集,最适合小型、快速、低价的网络环境使用。由于SNMP只要求无证实的传输层协议UDP,因而受到许多产品的广泛支持。
工作方式
SNMP以GET-SET方式替代了复杂的命令集,可以利用基本操作完成全部操作,同时,用户可以采用管理信息库标准或按标准的方式来定义自己的MIB。这样就可以通过降低网管系统中众多代理部件的成本来降低整个网管系统的成本。
在SNMP中,网管站(NMS)是网络管理的实体,网管站里运行网络管理软件,它对网络设备发送各种查询报文,并接收来自被管设备的响应及陷阱(Trap)报文,将结果显示出来。网管站通常是一台工作站、PC Server或者就是一台PC机,通过数据网络本身与被管设备相连(如局域网口),它在网络中就是一个主机,因此在通常的网络里面都是带内网管,即网管站与设备间的数据与普通的数据是相同的。当然,在网络设备里面可以设置QoS来对相应的数据进行保护。
网管代理(Agent)则是驻留在被管设备(如路由器、交换机等)上的一个进程,负责接受、处理来自网管站的请求报文,然后将设备接口等特性管理变量的数值形成响应报文,发送给NMS,并在一些紧急情况下,如接口状态发生改变、呼叫成功等时候,主动通知NMS(发送陷阱Trap报文)。网管软件则根据这些响应的数据包,通过构建直观的拓扑图等方式,便于网管人员进行设备的监控及管理。SNMP就是用来规定NMS和Agent之间是如何传递管理信息的应用层协议。
弱点不容忽视
然而,部分业内人士也认为,SNMP协议也存在着一定的问题: 它使用嵌入到网络设施中的代理软件来收集网络通信信息和有关网络设备的统计数据,代理不断地收集统计数据并记录到MIB中,网络管理人员通过向代理的MIB发出查询信号(轮询)可以得到这些信息。因此,虽然MIB计数器将统计数据的总和记录下来了,但它无法对日常通信量进行历史分析。当然,为了能全面地查看一天的通信流量和变化率,管理人员必须不断地轮询SNMP代理,例如一天中的每分钟都要轮询一次。这样,网管员可以使用SNMP来评价网络的运行状况,并揭示出通信的趋势,如哪一个网段接近通信负载的***能力或正在导致通信出错,先进的SNMP网管站甚至可以进行编程来自动关闭端口或采取其他矫正措施来处理历史的网络数据。
尽管如此,SNMP协议建立在轮询上的管理依然存在着两个明显的弱点:在大型的网络中,轮询会产生巨大的网络管理通信量,因而导致通信拥挤情况的发生; 它将收集数据的负担加在网络管理控制台上,管理站也许能轻松地收集8个网段的信息,但当它们监控48个网段时恐怕就难以应付了。