一、SNMP简单网络管理协议发展历程SNMP(Simple Network Management Protocol,简单网络管理协议)的前身是简单网关监控协议(SGMP),用来对通信线路进行管理。随后,人们对SGMP进行了很大的修改,特别是加入了符合Internet定义的SMI和MIB:体系结构,改进后的协议就是著名的SNMP。SNMP的目标是管理互联网Internet上众多厂家生产的软硬件平台,因此SNMP受Internet标准网络管理框架的影响也很大。44643
SNMP开发于九十年代早期,其目的是简化大型网络中设备的管理和数据的获取。许多与网络有关的软件包,如HP的Open View和Nortel Networks的Optivity Network Management System,还有Multi Router Traffic Grapher(MRTG)之类的免费软件,都用SNMP服务来简化网络的管理和维护。简单网络管理协议(SNMP)是1990年之后TCP/IP网络中应用最为广泛的网络管理协议。1990年5月,RFC1157定义了SNMP(simplenetworkmanagementprotocol)的第一个版本SNMPv1。RFC1157和另一个关于管理信息的文件RFC1155一起,提供了一种监控和管理计算机网络的系统方法。因此,SNMP得到了广泛应用,并成为网络管理的事实上的标准。
在1 9 9 3年,发表了定义新版本S N M P的11个R F C。RFC 1441 [Case et al. 1993]是其中的第一个,它系统地介绍了S N M P v 2 ,SNMP第二版SMI在RFC 2578之中描述,它在SNMP第一版的SMI规格资料型态上进行增加和强化。
1998年SNMP第三版由RFC 3411-RFC 3418定义论文网,主要增加SNMP在安全性和远端配置方面的强化。虽然SNMPv3出现了一段时间,但并没有得到广泛的应用,在2012年以前的产品可能只支持SNMPv1和SNMPv2,即使支持SNMPv3也会因为厂商仍然使用默认标准的通信字符串而对安全没有任何帮助。
二、SNMP各个版本的比较
到目前为止SNMP已经发展到第三个版本,但是版本的应用方面V1和V2却仍是主流,至今V3仍然得不到广泛的使用。下面我们对这三个版本进行比较:
SNMPv1使用基于团体名进行报文认证,而且是明文传输因此在安全方面是一个巨大的问题。黑客可以通过截获报文来查获团体字从而控制目标设备。SNMPv1的PDU类型只有五种,分别是get request、get next request、get response、set request、trap。操作功能的局限导致NMS端无法一次获取大量的AGENT的MIB信息。这个问题在SNMPv2中得到了解决。SNMPv2增加了两个PDU类型,一个是getbulk request 用于一次查询多个对象标识,从而高效率的从代理端读取大量的数据。另一个是inform用来不同NMS之间的信息传递。在安全方面SNMPv2比SNMPv1有了很大的提升,SNMPv1仅仅通过明文传输团体字符串,而SNMPv2增加了鉴别和加密,在一定程度上避免了黑客的入侵。因此支持SNMPv2的厂家产品逐渐增多。
虽然说SNMPv2在安全上有所提升,但是总结SNMPv1和SNMPv2还是非常脆弱,针对这种情况SNMPv3在安全方面做了很大程度的提升。例如:信息完整性保证了信息在网络中传输不被篡改;认证保证只有来源正确的IP才能够控制设备;数据包也进行了加密来防止未被授权来源窥探等等。虽然SNMPv3的安全方面做得很好但是却没有得到广泛的应用,一方面是因为SNMPv3的配置比前两个版本要复杂,另一方面各个厂商并没有对设备进行很大程度的改动,要不设备不支持SNMPv3,要不就是团体名字符串没有改动仍然存在很大的漏洞。
三、SNMP简单网络管理协议提供的功能
RFC1213中定义了Internet标准的MIB和MIB-II,共包含171个对象,分成11组,分别是system、interface、at、ip、icmp、tcp、udp、egp、transmission、snmp。