本文将会对目前较为流行的两种网络治理协议:SNMP(简单网络治理协议)和CMIP(通用治理信息协议)进行比较和分析,以期使读者对网络治理协议有一个基本的熟悉和了解。对于每一种协议我们都将讨论其优缺点,并给出解决方法。
首先,我们从总体上简要介绍一下两种协议。
SNMP由一整套简单的网络通讯规范组成,可以完成所有基本的网络治理任务,对网络资源的需求量少;CMIP是一种设计非常全面的网络治理系统,改进了SNMP存在的诸多不足。但是,正是因为CMIP修正了SNMP的错误,使得自身变得大而全,对网络基础性能提出了相当严格的要求。
下面,我们就来具体介绍一下SNMP和CMIP这两种网络治理协议。
SNMP
二十世纪70年代末、80年代初的时候,计算机网络由最初的只是小范围内的几台计算机相互连接逐步发展成大规模的网络。随着网络跳跃式的发展,对网络进行的监控和维护等治理操作也变得更加困难,从而对开发出能够满足网络治理需要的协议提出了迫切要求。
第一个开始使用的网络治理协议就是SNMP。当时,人们只是把SNMP当作一种应急措施,等到日后有更加成功,更加成熟的新协议出现时将会被自然淘汰。然而,虽然不断有新的协议推出,但是SNMP凭借其结构简单,使用方便的特点一直到今天仍然被广泛使用。
SNMP协议的工作机制非常简单,主要通过各种不同类型的消息,即PDU(协议数据单位)实现网络信息的交换。PDU实际上就是一种变量对象,其中每一个变量都是由标题和变量值两部分组成。
SNMP主要使用5种类型的PDU对网络实施监控,两种用于读取终端信息,两种可以设置终端数据,最后一种被用来监视各种终端事件,如终端的启动和关闭等。
这样,假如用户希望了解是否某一台终端已经被接入到网络,可以使用SNMP向该终端发送一个具有信息读取功能的PDU。假如终端已经被连接到网络,用户将会得到返回的确认信息。当有终端被关闭时,可以通过事件变量(trap)发出数据包,通知用户终端系统已经被关闭。
SNMP协议的优势
SNMP协议的最大优势就是设计简单,既不需要复杂的实现过程,也不会占用太多的网络资源,非常便于使用。
一般来说,SNMP协议所使用的各种变量主要包含以下信息:
1.变量标题;
2.变量数据类型,如整数,字串等;
3.变量是否具有信息读取或读写功能 ;
4.变量值
SNMP协议的另外一个优势就是使用非常广泛,几乎所有的网络治理人员都喜欢使用简单的SNMP来完成工作操作。这就促使各大网络硬件产品商在设计和生产网桥、路由器等网络设备时都加入了对SNMP协议的支持。
良好的可扩展性是SNMP协议的另外一个可取之处。因为协议本身非常简单,所以对协议的任何升级或扩展也非常方便,从而能够满足今后网络的发展需求。
SNMP协议的不足之处和解决方法
虽然SNMP以其简单易用的特点成为目前最为流行的网络治理协议,但是无论如何SNMP都不能算是一种设计完美的协议。
首先,SNMP协议存在一些安全漏洞,网络入侵者很轻易获取正在通过网络传递的各种信息,设置可以关闭某些终端。对此,SNMP提出了自己的解决方案,在新版本SNMPv2中增加了一些安全机制,可以有效的解决以下几种安全性问题:
数据的保密性,可以防止网络入侵者获取网络信息;
验证,可以防止网络入侵者通过网络发送虚假数据;
访问控制,限制不同用户可以使用的变量类型,从而避免由于单个用户的错误操作所引发的网络崩溃。
SNMP协议的最大问题还是由于太过简单而无法处理各种细节信息,无法满足当今日益膨胀的网络的发展需要。同样,SNMPv2对这一问题也进行了改进。新版本的协议答应使用更多,更加具体的变量规范,并且加入了两种新的PDU可以对方便数据读取的表数据结构对象进行治理和控制。事实上,SNMPv2中融入了如此多的新功能,以至使协议规范从最初的36页猛增到416页。也有人认为SNMPv2已经丧失了原先的简单性,但是从另一方面来说,对SNMP的改造也是必需的,在网络飞速发展了几十年之后,SNMP必须能够适应新时代的网络要求。
SNMPv2
当我们介绍到这里时,大家可能都在期望NMPv2能够成为新一代的网络治理标准协议。但是,事实正好相反,SNMPv2仍然只停留在理论阶段。
SNMPv2的失败主要应当归因于开发商不能在要害性的问题上达成一致。此外,目前也很难找到能够全面支持SNMPv2协议各种扩展功能的产品。事实上,SNMP所获得的空间成功从某种意义上也影响了SNMPv2的进一步发展,无论是SNMPv2还是更高版本的SNMPv3似乎都无法成为SNMP的合格继续者。
CMIP
CMIP是二十世纪八十年代末推出的一种网络治理协议,在开发过程中曾得到美国政府和多家大公司的资助,被寄希望于可以取代SNMP。但是很不幸,事与愿违,由于在具体实现过程中所存在的问题使CMIP并没有被人们所广泛使用。
CMIP在设计上以SNMP为基础,对SNMP的缺陷进行了改进,是一种更加复杂,更加具体的网络治理协议。CMIP同样使用PDU变量对网络进行监控,但是相对于SNMP所具有的5种不同类型的PDU,CMIP进行了扩充,一共包含11种PDU。
CMIP协议所使用的变量是一种非常复杂的数据结构,具有许多不同的属性。其中包括:
1.变量属性:表示变量的各种特征,如数据类型,是否可写等;
2.变量行为:变量可以触发的行为类型;
提示:变量可以在特定事件发生时产生事件报告。例如,当有终端关闭时就会触发变量提示事件。
CMIP的优势
CMIP协议最突出的优势就在于协议所使用的变量不仅可以象SNMP那样在网络治理系统和终端之间传递信息,还可以被用来执行各种在SNMP中不可能实现的任务。例如,假如网络上的一台终端在预先设定的时间内无法访问文件服务器,CMIP就可以及时向有关人员发出事件提示,从而避免了整个过程中的人工干预。因此,CMIP可以说是一种更加有效的网络治理系统,可以大大简化用户对网络的人工监控。
CMIP协议的另外一个优势就是解决了SNMP协议中所存在的许多问题。例如,CMIP内置了安全治理设备,支持验证、访问控制和安全日志等安全防范措施,从而使CMIP协议本身成为一种安全的系统,不必再象SNMP那样需要进行安全升级。
CMIP的不足和解决方法
既然CMIP具有这么好的功能,为什么没有被广泛使用呢?答案很简单,那就是CMIP具有一个致命的缺陷:CMIP协议所占用的网络系统资源相当于SNMP的十倍。也就是说,假如不进行大规模的改造,很少有网络系统能够全面的支持CMIP。正是这一点使人们丧失了对CMIP的信心。唯一的解决方法就是修改规范,精简协议。
小节
综上所述,可以看出SNMP和CMIP两种治理系统既各具优势又各有不足。我们应当根据网络的实际性能,网络治理系统的需要权衡利弊,选择最佳的协议。不过,虽然CMIP从协议本身来说要优于SNMP或SNMPv2,但是假如我们的网络无法提供协议所需要的充足的资源的话,最好使用更加简单、方便的SNMP。