nineth
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第九次课讲义 CMIP与OSI系统管理
ASN.1¹ÜÀí¹¦ÄÜÐ-Òé
¿´Ò»¸ö´òÓ¡·þÎñÆ÷¹ÜÀíµÄCMIP实现
然后系统讲述OSI系统管理的知识最后讲述TMN的相关知识
CMIP管理实例
首先讲述问题背景最后通过某种平台实现管理者
和代理
代理模型OID
2 不同之处1SNMP vs CMIP
信息模型不同
GDMO/ASN.1 vs ASN.13
1 问题描述每个打印服务包含若干个打印机和若干个打印队列
3
信息模型描述ASN.1
一个被管理对象是由它所具有的属性它可以发出的通告以及它与其它被管理对象的关系所定义的
ü 被管理对象的可视属性
ü 可应用于被管理对象的系统管理操作
ü 被管理对象响应管理操作时所展示的行为
ü 被管理对象能够发出的通告
ü 可以在被管理对象内部封装的条件包
ü 被管理对象在继承结构中的位置
信息模型描述的结果是一个文本文件包方法等都有具体的模板定义在X.722中具体问题请参看X.722
<class-label> MANAGED OBJECT CLASS
[DERIVED FROM <class label > [,<class-label>]*;] [CHARACTERIZED BY <package-label>]*;]
[CONDITIONAL PACKAGES <package-label> PRESENT IF
condition-definition
[,<package-label> PRESENT IF condition-definition]*;] REGISTERED AS object-identifier;
实例
命名树和MIT
-- managed object classes
printService MANAGED OBJECT CLASS ---套用被管对象类模板
DERIVED FROM "CCITT Rec. X.721 (1992) | ISO/IEC 10165-2 : 1992":top; ---父类
CHARACTERIZED BY printServicePackage; -PACKAGE相当于把类中的成员进行了分组
REGISTERED AS { 1 512 1}; --对象类定义的OID
CHARACTERIZED BY printJobPackage;
REGISTERED AS { 1 512 4};
-- packages
printServicePackage PACKAGE ---套用PACKAGE模板
BEHAVIOUR printServicePackageBehaviour;
ATTRIBUTES
printerServiceId GET; --属性名字以及可以对该属性进行的操作REGISTERED AS {1 512 1 1}; --该属性定义的OID
printerPackage PACKAGE
BEHAVIOUR printerPackageBehaviour;
ATTRIBUTES
printerId GET,
printerStatus GET,
paperSize GET,
maxCopies GET-REPLACE,
paperType GET;
REGISTERED AS {1 512 2 1};
printQueuePackage PACKAGE
BEHAVIOUR printQueuePackageBehaviour;
ATTRIBUTES
queueId GET,
numberOnQueue GET,
queueEnabled GET-REPLACE,
queueAccepting GET-REPLACE,
queueStatus GET-REPLACE;
REGISTERED AS {1 512 3 1};
printJobPackage PACKAGE
BEHAVIOUR printJobPackageBehaviour;
ATTRIBUTES
jobId GET,
mimeTypes GET,
requiredPaperTypes GET,
prinntJobStatus GET;
REGISTERED AS {1 512 4 1};
-- Attributes
printServiceId ATTRIBUTE --套用ATTRIBUTE模板
WITH ATTRIBUTE SYNTAX COJ.ASN1Integer; --本属性的ASN.1类型 MATCHES FOR EQUALITY, ORDERING; --本属性可以做相等比较
BEHAVIOUR printServiceIdBehaviour; --上述MATCHES FOR子句的应用条件REGISTERED AS { 1 512 1 1 1};
printerId ATTRIBUTE
WITH ATTRIBUTE SYNTAX COJ.ASN1Integer;
MATCHES FOR EQUALITY, ORDERING;
BEHAVIOUR printerIdBehaviour;
REGISTERED AS { 1 512 2 1 1};
printerStatus ATTRIBUTE
WITH ATTRIBUTE SYNTAX COJ.ASN1Integer;
MATCHES FOR EQUALITY, ORDERING;
BEHAVIOUR printerStatusBehaviour;
REGISTERED AS { 1 512 2 1 2};
paperSize ATTRIBUTE
WITH ATTRIBUTE SYNTAX COJ.ASN1Integer;
MATCHES FOR EQUALITY, ORDERING;
BEHAVIOUR paperSizeBehaviour;
REGISTERED AS { 1 512 2 1 3};
maxCopies ATTRIBUTE
WITH ATTRIBUTE SYNTAX COJ.ASN1Integer;
MATCHES FOR EQUALITY, ORDERING;
BEHAVIOUR maxCopiesBehaviour;
REGISTERED AS { 1 512 2 1 4};
paperType ATTRIBUTE
WITH ATTRIBUTE SYNTAX COJ.OctetString;
MATCHES FOR SUBSTRINGS;
BEHAVIOUR paperTypeBehaviour;
REGISTERED AS { 1 512 2 1 5};
queueId ATTRIBUTE
WITH ATTRIBUTE SYNTAX COJ.ASN1Integer;
MATCHES FOR EQUALITY, ORDERING;
BEHAVIOUR queueIdBehaviour;
REGISTERED AS { 1 512 3 1 1};
numberOnQueue ATTRIBUTE
WITH ATTRIBUTE SYNTAX COJ.ASN1Integer;
MATCHES FOR EQUALITY, ORDERING;
BEHAVIOUR numberOnQueueBehaviour; REGISTERED AS { 1 512 3 1 2};
queueEnabled ATTRIBUTE
WITH ATTRIBUTE SYNTAX COJ.ASN1Boolean; MATCHES FOR EQUALITY;
BEHAVIOUR queueEnabledBehaviour; REGISTERED AS { 1 512 3 1 3};
queueAccepting ATTRIBUTE
WITH ATTRIBUTE SYNTAX COJ.ASN1Boolean; MATCHES FOR EQUALITY;
BEHAVIOUR queueAcceptingBehaviour; REGISTERED AS { 1 512 3 1 4};
queueStatus ATTRIBUTE
WITH ATTRIBUTE SYNTAX COJ.OctetString;
MATCHES FOR SUBSTRINGS;
BEHAVIOUR queueStatusBehaviour; REGISTERED AS { 1 512 3 1 5};
jobId ATTRIBUTE
WITH ATTRIBUTE SYNTAX COJ.ASN1Integer; MATCHES FOR EQUALITY, ORDERING;
BEHAVIOUR jobIdBehaviour;
REGISTERED AS { 1 512 4 1 1};
mimeTypes ATTRIBUTE
WITH ATTRIBUTE SYNTAX COJ.OctetString;
MATCHES FOR SUBSTRINGS;
BEHAVIOUR mimeTypesBehaviour; REGISTERED AS { 1 512 4 1 2};
requiredPaperTypes ATTRIBUTE
WITH ATTRIBUTE SYNTAX COJ.OctetString;
MATCHES FOR SUBSTRINGS;
BEHAVIOUR requiredPaperTypesBehaviour; REGISTERED AS { 1 512 4 1 3};
printJobStatus ATTRIBUTE
WITH ATTRIBUTE SYNTAX COJ.ASN1Integer; MATCHES FOR EQUALITY, ORDERING;
BEHAVIOUR printJobStatusBehaviour;
REGISTERED AS { 1 512 4 1 4};
-- Name Bindings
DN RDN
printer-printService NAME BINDING
SUBORDINATE OBJECT CLASS printer AND SUBCLASSES; --子类
属主对象 WITH ATTRIBUTE printerId; --命名属性
若没有指明命名属性的值
若该对象实例还包含有子对象
3
¿ª·¢Õß»áʹÓõÚÈý·½ÌṩµÄÐ-ÒéÕ»
µ«ÊÇÁ˽âÐ-ÒéʵÏֵı¾ÖÊ
±ÈÈçDN SCOPE和FILTER等
3 1 协议图
上图其实是OSI协议栈上层的一个缩影网络中的服务与协议关系也就是我常说的格子的含义
下层为上层提供服务
通常情况下服务可以理解为过程调用
本文中而CMIS是为上层提供的服务
可以理解为CMISE将构造相应的CMIP PDU×Ó由于OSI协议栈不常用尤其是ACSEËü¾ÍÊdzÆΪAssociation Control Service Element的东西ACSE检查应用程序标记和环境参数和ROSE
¶øROSE提供应用实体之间的真正数据交换
在实施中
如图3-6所示说明CMIP是如何将服务请求原语映射到PDU
ÓÖÈçºÎ½«PDU映射成服务指示原语交给管理实体
1一般是AgentÐèÒªÏòÁíÒ»¸ö¹ÜÀíʵÌåB
报告该现象时这时
即CMIP实体
2Ïȼì²éÔ-ÓïµÄÕýÈ·ÐÔ²¢´ÓÔ-ÓïµÄ²ÎÊýÖлñÖª¸ÃÔ-Óïʱ¹ØÓÚʼþ±¨¸æ²Ù×÷µÄ
ÊÇʲôÀàÐ͵ÄʼþÒÔ¼°ÓйظÃʼþµÄһЩÆäËüÐÅÏ¢该PDU
的格式只有对等的CMIP协议机才能识别和理解
因此它需要把PDU映射成另一种原语
通过系统内的原语交换机制把这个原语交给ROSE 协议机
图3-6 CMIP操作过程
3¼ì²éÆäÕýÈ·ÐԾ͵÷Óñíʾ²ãµÄ·þÎñͨ¹ýÍøÂç°ÑÇëÇóÔ-ÓïÖеÄPDU传送到目的系统的ROSE协议机
目的系统的ROSE协议机收到请求方ROSE协议机的PDU
5´ÓÖÐÈ¡³ö±¾Ð-ÒéµÄPDU¾Í°´ÕÕPDU的格式从PDU中分解出各个参数
然后就这些参数构造M-EVENT-REPORT.indication原语送交其用户即响应方管理实体
6ÔòÏìÓ¦·½¹ÜÀíʵÌåÊÕµ½Ê¼þ±¨¸æÒÔºóÒª¸ø³öÒ»¸ö¹ØÓÚÊÕµ½±¾´Îʼþ±¨¸æµÄÏìӦΪ´ËÏìÓ¦·½¹ÜÀíʵÌåÒª¹¹ÔìÒ»¸öM-EVENT-REPORT.response原语本次操作的类型
收到的事件类型
若事件报告是错误的最后把该响应原语交给CMIP协议机要求继续服务
与请求方CMIP一样首先检查原语的正确性
知道是事件报告服务的响应
再把它映射成另一个服务原语RO-RESULT.request递交给ROSE协议机
8
9
10Ê×ÏÈ·Ö½â³öCMIP协议数据单元PDUÈ»ºó¸ù¾ÝPDU中的有关参数构造一个M-EVENT-REPORT.confirm原语上交给本地的管理实体
本次事件报告服务也就完成了3
CMIP协议的数据结构
其中分别RO-INVOKE RO-ERROR和RO-REJECT
RORS
识别符ID为赋予该操作的ID
操作IDÓÃÀ´±êʶÕâ¶à¸öÏìÓ¦
本次操作所要访问的MIT树的起始节点的类的OID
本次操作所要访问的MIT树的起始节点的实例绝对标识名
范围
2
CMISFilter ::= CHOICE {
item [8] FilterItem,
and [9] IMPLICIT SET OF CMISFilter,
or [10] IMPLICIT SET OF CMISFilter,
not [11] CMISFilter
}
attributeIdList [12] IMPLICIT SET OF AttributeId OPTIONAL AttributeId ::= CHOICE {
globalForm [0] IMPLICIT OBJECT IDENTIFIER,
localForm [1] IMPLICIT INTEGER
}
举例如下
nonSpecificForm [3] IMPLICIT OCTET STRING, localDistinguishedName [4] IMPLICIT RDNSequence }
编码例子参见CmisJavaAPI用户指南上的例子程序。