背景
CMIP是20世纪80年代末推出的一种网络管理协议,在开发过程中曾得到美国政府和多家大公司的资助,被寄希望于可以取代SNMP。但由于在具体实现过程中所存在的问题,CMIP并没有获得广泛应用。
CMIP在设计上以SNMP为基础,对SNMP的缺陷进行了改进,是一种更加复杂、更加详细的网络管理协议。
CMIP 协议的结构OSI 系统管理的基本功能是通过协议在两个实体 (管理者、代理者)之间进行管理信息的交换,这种功 能被称为 CMISE(公共管理信息服务元素) ,CMISE 的 定义分为两部分:
( 1)接口。指定提供的服务,即 CMIS(公共管理 信息服务)。
( 2)协议。指定协议数据单元的格式和相关过 程,即 CMIP。
CMIS 以服务原语的形式为实现管理操作提供了 7 种服务,如表所示。
ACSE(联系控制服务元素)为 CMISE 用户提供服 务建立联系,并且以 CMISE 为通道提供给系统管理应 用,与 CMIP 协议无关; 对于管理操作服务,CMISE 采 用CMIP 来交换协议数据单元,而 CMIP 又依赖于 ROSE(远程操作服务元素)的服务。ACSE 和 ROSE 都 依赖于表示层服务。CMIP 的协议结构如图所示。1
图 CMIP 的协议结构
CMIP 支持服务CMIP 支持 7 种服务( M-EVENT-REPORT ,M-GET, M-SET, M-ACTION , M-CREATE, M-DELETE, M-CANCEL-GET) ,这些服务在前面已作了解释。与其它 OSI 通信协议一样,CMIP 定义了一套规则,CMIP 实体之 间按照这种规则交换各种PDU。所有的CMIP PDU 都 是由 ASN . 1来表示的。1
CMIP 协议数据单元不同的 CMISE 服务对应不同的 PDU, 例如 MCREATE 服务对应 M-CREATEPDU,PDU 携带了本项 服务所需的各项参数,其语法则是按照 ASN. 1规则确 定的。
CMISE 服务用户产生请求原语,CMIP 协议接受 服务请求原语,把服务请求原语中的相关参数映射进 CMIP 的PDU 中,从而形成CMIP 的 PDU。PDU 调用其它应用层协议实体把 PDU 传送到对等的 CMIP 协议 实体,对等的 CMIP 协议实体再把收到的 PDU 转换成 指示原语,完成了从发送方到接收方的 PDU 的单程传送,另一方向的 PDU传送也如此进行。1
CMIP管理模型可用三种模型描述CMIP协议是在OSI制订的网络管理框架中提出的网络管理协议。与其说它是一个网络管理协议,不如说它是一个网络管理体系。这个体系包含以下组成部分:一套用于描述协议的模型,一组用于描述被管对象的注册、标识和定义的管理信息结构,被管对象的详细说明以及用于远程管理的原语和服务。CMIP与SNMP一样,也是由被管代理和管理者、管理协议与管理信息库组成。在CMIP中,被管代理和管理者没有明确的指定,任何一个网络设备既可以是被管代理,也可以是管理者。
组织模型用于描述管理任务如何分配;功能模型描述了各种网络管理功能和它们之间的关系;信息模型提供了描述被管对象和相关管理信息的准则。
从组织模型来说,所有CMIP的管理者和被管代理者存在于一个或多个域中,域是网络管理的基本单元。
从功能模型来说,CMIP主要实现失效管理、配置管理、性能管理、记帐管理和安全性管理。每种管理均由一个特殊管理功能领域(SMFA,Special Management Functional Area)负责完成。
从信息模型来说,CMIP的MIB库是面向对象的数据存储结构,每一个功能领域以对象为MIB库的存储单元。
CMIP是一个完全独立于下层平台的应用层协议,它的五个特殊管理功能领域由多个系统管理功能(SMF)加以支持。相对来说,CMIP是一个相当复杂和详细的网络管理协议。它的设计宗旨与SNMP相同,但用于监视网络的协议数据报文要相对多一些。CMIP共定义了11类PDU。在CMIP中,变量以非常复杂和高级的对象形式出现,每一个变量包含变量属性、变量行为和通知。CMIP中的变量体现了CMIPMIB库的特征,并且这种特征表现了CMIP的管理思想,即基于事件而不是基于轮询。每个代理独立完成一定的管理工作。
优点和缺点优点(1)它的每个变量不仅传递信息,而且还完成一定的网络管理任务。这是CMIP协议的最大特点,在SNMP中是不可能的。这样可减少管理者的负担并减少网络负载。
(2)完全安全性。它拥有验证、访问控制和安全日志等一整套安全管理方法。
缺点(1)它是一个大而全的协议,所以使用时,其资源占用量是SNMP的数十倍。它对硬件设备的要求比人们所能提供的要高得多。
(2)由于它在网络代理上要运行相当数量的进程,所以大大增加了网络代理的负担。
(3)它的MIB库过分复杂,难于实现。迄今为止,还没有任何一个符合CMIP的网络管理系统。
SNMP 和 CMIP 比较管理通信模型CMIP 是一个面向连接的协议,两个 CMIP 的应用 实体只要建立了连接就可交换管理操作信息; SNMP是一个面向无连接的协议,SNMP 的应用实体可直接 向对方发送信息,在通信前不必建立连接。1
管理功能( 1)对象选择。CMIP 提供了基于对象类型值和其在网络中的相对位置的复杂条件命令,而 SNMP 无此类功能,SNMP 要求指明被管理对象。
( 2)同步。CMIP 和SNMP 在一个请求中均可以包含一个或多个操作,但基于 CMIP(多对象实例)的请求,并不要求一定是原子的,而 SNMP 请求则要求一定是原子的,只要有一个操作不能执行就返回错误信息。
( 3)请求-应答。SNMP 和 CMIP 均支持请求-应答顺序,但 SNMP 用于请求-应答的操作很少: SNMP 只有单一的 SET 操作; 而 CMIP 则较复杂, 有 CREATE,DELETE ,ACTION 等操作。
( 4)链接应答。CMIP 允许通过单个请求从多个被管理系统中检索大量数据,并以链接应答方式回送,SNMP 不支持链接应答。这样 SNMP 通过单个请 求检索的信息受到限制。
( 5)动作。CMIP 支持对象的直接命令,而 SNMP 则依赖于通过具体动作的间接效应来实现, 例如 CMIP 用命令 reboot system 直接引起系统的重启, 而 SNMP 是通过一个变量( reboot MIB)的设定引起系统的重启。
( 6)事件确认。CMIP 事件可以是确认的,也可是不确认的; 而 SNMP 事件是不确认的,这就导致发送 一个SNMP 事件报告的被管理设备无法确定目的管 理系统是否收到这一事件报告。
( 7)协议操作方式。SNMP 的主导思想是简洁、清晰,采用精简指令,SNMPV1 有GET,SET 和 TRAP 3 类 基本操作,SNMPV2 添加了GetBulk 和 InformRequest 操作。CMIP 采用复杂指令,其基本操作有 7 种: GET, CANCELGET, SET, ACTION, CREATE, DELETE 和 EVENTREPORT。1
管理信息( 1)对象定义。CMIP 对象和 SNMP 对象不同, CMIP 对象定义包含属性表、事件和动作, 对象类型是 继承结构,实际被管理对象实例通过包含层次进行命名; SNMP 对象则类似 CMIP 的对象属性,它们另外构成组。SNMP 的MIB 虽然也按照数据类型产生,具有封装性,但不能动态增加或删除对象。
( 2)对象命名。CMIP 命名体系基于包含模型,即一个被管理对象总是包含于另一个被管理对象中,确 定类型的多个对象实例可以远程创建和删除,应用可以通过名字进行对象管理。该名字和特定的网络寻址机制无关。相反,SNMP 被管理设备是通过 IP 地址直接命名的,设备被管理对象是用一个静态的预定义 命名树来命名的。
( 3)对象表示。CMIP 对象用 ISO ASN. 1 定义,用 ISO BER编码。SNMP 对象用 ISO ASN . 1 的一个子集定义,用相关的 ISO BER子集编码。用一个合适定义的ASN. 1 和 BER 子集,可以降低代码规模和处理时间,但也导致再定义对象类型受到限制。1