• 2.23 MB
  • 2022-04-22 13:45:18 发布

GBT16264.5-2008信息技术开放系统互连目录协议规范.pdf

  • 81页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'ICS35.100.70L79囝雪中华人民共和国国家标准GB/T16264.5—2008/ISO/IEC9594—5:2005代替GB/T16264.51996信息技术开放系统互连目录第5部分:协议规范Informationtechnology--OpenSystemsInterconnection--TheDirectory--Part5:Protocolspecifications(ISO/IEC9594—5:2005Informationtechnology--OpenSystemsInterconnectionTheDirectory:Protocolspecifications,IDT)2008-08-06发布2009—01—01实施车瞀徽紫瓣訾襻瞥篓发布中国国家标准化管理委员会“”’ GB/T16264.5—2008/lSo/lEc9594-5:2005目次前言⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯·⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。引言⋯⋯⋯⋯⋯⋯⋯⋯·⋯⋯⋯··⋯⋯⋯⋯⋯⋯⋯⋯··⋯1范围·⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯·⋯⋯⋯⋯⋯⋯⋯⋯⋯··2规范性引用文件⋯⋯⋯⋯·⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯3术语和定义⋯⋯⋯⋯⋯··⋯⋯·⋯⋯⋯⋯⋯⋯⋯⋯⋯·4缩略语⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯····5约定⋯⋯⋯·⋯⋯⋯··⋯⋯⋯⋯⋯⋯⋯-⋯⋯⋯⋯⋯⋯6公共协议规范⋯···⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯·7使用OSI栈的目录协议⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯·8目录协议映射到OSI服务⋯⋯⋯⋯⋯·⋯⋯⋯⋯⋯·9IDM协议⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯··⋯·⋯⋯···⋯⋯··10目录协议映射到IDM协议⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯··11协议栈共存⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯··12版本及扩展规则⋯⋯⋯⋯⋯⋯⋯⋯··⋯⋯⋯⋯⋯⋯13一致性⋯⋯⋯⋯⋯⋯⋯·⋯⋯⋯⋯·⋯⋯⋯⋯⋯⋯⋯附录A(规范性附录)用ASN.1描述的公共协议规范附录B(规范性附录)用ASN.1描述的OSI协议⋯··附录C(规范性附录)用ASN.1描述的目录OSI协议附录D(规范性附录)用ASN.1描述IDM协议⋯⋯··附录E(规范性附录)用ASN.1描述的目录IDM协议附录F(规范性附录)目录操作绑定类型⋯⋯⋯⋯⋯··ⅢⅣ●,000卵弘们“蛎拈弘w∞加他巧 GB/T16264.5--2008/1SO/IEC9594-5:2005前言16264{信息技术开放系统互连目录》包括以下lo个部分:——第1部分:概念、模型和服务的概述;——第2部分:模型;——第3部分:抽象服务定义;——第4部分:分布式操作规程;——第5部分:协议规范;——第6部分:选定的属性类型;——第7部分:选定的客体类;——第8部分:公钥和属性证书框架;——第9部分:复制(待发布);——第lo部分:公用目录管理机构的系统管理用法(待发布)。本部分是GB/T16264的第5部分。本部分等同采用ISO/IEC9594—5:2005{信息技术开放系统互连目录协议规范》,仅有编辑性修改。本部分代替GB/T16264.5—1996。本部分与GB/T16264.51996的差异如下:——增加了对TCP/IP协议的支持;——增加了对OSI和TCP/IP两种协议共存的支持;——增加了互联网直接映射;——增加了版本及扩展规则。本部分的附录A、附录B、附录C、附录D、附录E、附录F是规范性附录。本部分由中华人民共和国信息产业部提出。本部分由全国信息技术标准化技术委员会归口。本部分起草单位:中国电子技术标准化研究所。本部分主要起草人:徐冬梅、郑洪仁、郭楠、胡顺。本部分于1996年首次发布,本次为第一次修订。Ⅲ GB/T16264.5--2008/ISO/IEC9594-5:2005引言16264的本部分连同本标准其他部分是为方便信息处理系统之间的互连以提供目录服务而制定的。所有这些系统的集合,连同它们所拥有的目录信息可被视为一个整体,被称为“目录”。目录所拥有的信息,总称为目录信息库(DIB).典型地被用于方便客体之间的通信、与客体的通信或有关客体的通信等,这些客体如应用实体、个人、终端和分布列表等。目录在开放系统互连中扮演了重要角色,其目标是,在它们自身的互连标准之外做最少的技术约定的情况下,允许下述各种信息处理系统之间的互连:——来自不同生产厂商;——具有不同的管理;——具有不同的复杂程度,以及——有不同的年代。本部分规定了两个协议——目录访问协议(DAP)和目录系统协议(DSP)的应用服务元素和应用上下文。DAP供访问目录之用.以便检索或修改目录信息。DSP供链接请求之用,以便对可以拥有相应信息的分布式目录系统的其他部分进行目录信息的检索或修改。此外,本部分还规定了目录信息影像协议(DISP)和目录操作绑定管理协议(DOP)的应用服务元素和应用上下文。DISP将某个DSA中拥有的信息影像到另一个DSA。DOP在DSA对之问提供绑定的建立、修改和终止功能,以便管理DSA之间的关系(例如影像关系或等级关系)。本部分提供了一个基础框架,在此框架基础上,其他标准化组织和业界论坛可以定义工业配置集。在本框架中定义为可选的许多特性,可通过配置集的说明,在某种环境下作为必选特性来使用。IsO/IEC9594的第5版是原有国际标准第4版的修订和增强,但不是替代。在系统实现时仍可以声明为遵循第4版。然而,在某些方面,将不再支持第4版(即不再消除一些报告上来的差错)。建议在系统实现时尽快遵循第5版。第5版详细定义了目录协议的第1版和第2版。第1版和第2版仅定义了协议第1版。本版本(第5版)中定义的许多服务和协议被设计为可运行在第1版下。然而,一些增强的服务和协议,如署名差错,只有包含在操作中的所有的目录条目都协商支持协议第2版时才可运行。无论协商的是哪一版,第5版中所定义的服务之间的差异和协议之间的差异.除了那些特别分配给第2版的外,都可以使用GB/Tl6264.5--2008中定义的扩展规则调节。本部分使用术语“第1版系统”来指遵循国际标准第1版的所有系统,即ISO/IEC9594:1990版本;本部分使用术语“第2版系统”来指遵循国际标准第2版本的所有系统,即ISO/IEC9594:1995版本;本部分使用术语“第3版系统”来指遵循国际标准第3版的所有系统,即ISO/IEC9594:1998版本;本部分使用术语“第4版系统”来指遵循国际标准第4版的所有系统.即ISO/IEC9594:2001版本的第1部分到第10部分;本部分使用术语“第5版系统”来指遵循国际标准第5版的所有系统,即ISO/1EC9594:2005版本。16264—1996是参照1s0/IEC9594:1990而制定的。我国没有制定与国际标准第2版、第3版、第4版对应的国家标准。本部分提到的版本号是指国际标准的版本号。附录A是规范性附录,提供了目录协议公共规范的ASN.1模块定义。附录B是规范性附录,提供了OsI协议规范的ASN.1模块定义。附录c是规范性附录,提供了目录OSI协议的ASN.I模块定义。Ⅳ GB/T16264.5--2008/ISO/IEC9594—5:2005附录D是规范性附录,提供了IDM协议规范的ASN.1模块定义。附录E是规范性附录,提供了目录IDM协议的ASN.1模块定义。附录F是规范性附录,提供了ASN.1模块定义,包含了为标识本系列部分中的操作绑定类型而分配的所有的ASN.1客体标识符。 1范围GB/T16264.5--2008/1SO/IEC9594-5:2005信息技术开放系统互连目录第5部分:协议规范GB/T16264的本部分规定了目录访问协议、目录系统协议、目录信息影像协议和目录操作绑定管理协议,用以实现在GB/Tl6264.2—2008、GB/T16264.3—2008、GB/T16264.4—2008以及ISO/IEC9594—9:2005中规定的抽象服务。2规范性引用文件下列文件中的条款通过GB/T16264的本部分的引用而成为本部分的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本部分,然而,鼓励根据本部分达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本部分。GB/T9387.1—1998信息技术开放系统互连基本参考模型第1部分:基本模型(idt1SO/IEC7498—1:1994)GB/T124532008信息技术开放系统互连运输服务定义(ISO/1EC8072:1996,IDT)GB/T5126--2008信息技术开放系统互连网络服务定义(ISO/IEC8348:2002,IDT)GB/T6262.12006信息技术抽象语法记法一(ASN.1)第1部分:基本记法规范(ISO/1EC88241:2002,IDT)GB/T16262.22006信息技术抽象语法记法一(ASN.1)第2部分:信息客体规范(ISO/IEC8824—2:2002,IDT)GB/T16262.32006信息技术抽象语法记法一(ASN.1)第3部分:约束规范(1SO/1EC88243:2002,1DT)GB/T16262.4—2006信息技术抽象语法记法一(AsN.1)第4部分:ASN.1规范的参数化(ISO/IEC8824—4:2002,IDT)GB/T16263.1—2006信息技术ASN.1编码规则第l部分:基本编码规则(BER)、正则编码规则(CER)和非典型编码规则(DER)规范(ISO/IEC8825—1:2002,IDT)GB/T16263.2—2006信息技术ASN.1编码规则第2部分:紧缩编码规则(PER)规范(1SO/IEC8825—2:2002,1DT)GB/T16264.1—2008信息技术开放系统互连目录第1部分:概念、模型和服务的概述(ISO/IEC9594-1:2005,IDT)GB/T16264.2—2008信息技术开放系统互连目录第2部分:模型(Is0/IEc95942:2005,IDT)GB/T16264.32008信息技术开放系统互连目录第3部分:抽象服务定义(ISO/IEC9594—3:2005,IDT)GB/T16264.4—2008信息技术开放系统互连目录第4部分:分布式操作规程(ISO/IEC9594—4:2005,IDT)GB/T16264.62008信息技术开放系统互连目录第6部分:选定的属性类型(ISO/IEC95946:2005,IDT) GB/T16264.5--2008/ISO/IEC9594-5:200516264.72008信息技术开放系统互连目录第7部分:选定的客体类(idtISO/IEC9594—7:2005,IDT)16688信息处理系统开放系统互连联系控制服务元素服务定义(GB/T16688—1996,idtISO/IEC8649:1988)16975.12000信息技术远程操作第1部分:概念、模型和表示法(idt1SO/IEC13712-1:1995)16975.21997信息技术远程操作第2部分:OSI实现远程操作服务元素(ROSE)服务定义(idtISO/IEC13712-2:I995)179652000信息技术开放系统互连高层安全模型(idt1SO/]EC10745:1995)18237.12000信息技术开放系统互连通用高层安全第1部分:概述、模型和记法(idtISO/]EC11586—1:1996)18794.2—2002信息技术开放系统互连开放系统安全框架第2部分:鉴别框架(idtIS0/IEC10i8卜2:1996)18794.32002信息技术开放系统互连开放系统安全框架第3部分:访问控制框架(idtISO/1EC10181—3:1996)ISO/IEC8327—1:1996信息技术开放系统互连面向连接的会话协议:协议规范ISO/IEC8650—1:1996信息处理系统开放系统互连联系控制服务元素协议规范1SO/IEC88231:1994信息技术开放系统互连面向连接的表示协议:协议规范Is0/IEC8825—4信息技术ASN.1编码规则:XML编码规则(XER)ISO/]EC9594—8:2005信息技术开放系统互连目录:公钥和属性证书框架1SO/IEC95949:2005信息技术开放系统互连目录:复制Iso/IEc9594—10:2005信息技术开放系统互连目录:公用目录管理机构的系统管理用法lsO/IEC10646:2003通用多八位编码字符集(UCS)ITuT建议E.164:2005国际公共远程通信编号计划ITUT建议x.121:2000公共数据网的国际编号方案IETFRFC793:1981运输控制协议DARPA网际协议DARPA网际程序协议规范IETFRFC1277:1991在非OSI较低层支持操作的网络地址编码IETFRFC1738:1994统一资源地址(URI。)IETFRFC2025:1996简单公钥GSS—API机制(SPKM)IETFRFC2246:1999TLS协议版本1.0IETFRFC2251:1997轻量级目录访问涛议(v3)IETFRFC3546:2003运输层安全性(TLS)扩展3术语和定义下列术语和定义适用于GB/T16264的本部分。3.1基本目录定义下列术语在GB/T16264.22008中规定ta)目录thedirectory;b)(目录)用户(directory)user;c)目录系统代理directorysystemagent(DSA)d)目录用户代理directoryuseragent(DSA)。3.2分布式操作定义下列术语在GB/T16264.42008中规定:2 GB/T16264.5--2008/IS0/IEC9594—5:2005a)链接chaining;b)转向推荐referral。3.3协议规范定义下列术语在GB/T16264的本部分中规定。注:本条定义的术语是通用定义,可适用于OSI和TCP/IP环境,除非有明确说明。3.3.1抽象语法abstractsyntax使用独立于编码技术的记法规则来表示的数据类型和/或数据值的规范。3.3.2应用联系application-association通过绑定操作建立的两个应用实体之间的一种协作关系。3.3.3应用上下文application-context(仅适用于OSI)两个应用实体为了支持某个应用联系而共享的规则集。3.3.4应用上下文名称application-context—name标识(或命名)某个应用上下文的一个ASN.1客体标识符。3.3.5应用层ApplicationLayerOSI七层模型中的顶层,用以表示通信语义。3.3.6应用实体application-entity某个应用进程外部行为的一种表示,以通信能力的形式表示。3.3.7应用实体标题application-entitytitle某个应用实体,尤其是一个表示目录应用进程的应用实体的目录可辨别名。3.3.8应用进程applicationprocess系统内的一个进程,该进程出于某种特定的目的而执行信息处理,尤其是处理目录操作。3.3.9绑定操作Bindoperation一种用于建立一个应用联系的操作类型。3.3.10目录操作Directoryoperation一种用于交换目录信息的操作类型。3.3.11目录协议数据单元directoryprotocol-data-unit某种目录协议的数据单元,包括控制信息,一般情况下还包括目录操作所规定的应用数据。注1:OSI环境中的一个目录PDU包含OSI表示层的所有协议元素,并且如果相关的话,除了且录特定的协议元素外还包含ACSE协议元素。注2:术语“应用协议数据单元(APDU)”是OSI应用协议定义的一种数据单元。该术语不用于本系列目录规范的第5版本和后续版本。然而,该缩略语可以出现在某些ASN.I元素中。3 GB/T16264.5--2008/ISO/IEC9594-5:20053.3.12发起者initiator通过发出一个绑定请求而发起一个应用联系的应用进程。3.3.13操作operation两个应用进程之间为了执行一个特定任务而进行的交换。它包括从一个应用进程向另一个应用进程的请求.以及零个或多个响应(结果和/或差错)的返回。一个操作意味着接收请求的应用进程将执行某种处理。3.3.14协议数据单元protocol—data-unit由一个目录协议数据单元的表示协议元素或ACSE协议元素组成。3.3.15表示层PresentationLayerOSl参考模型的第6层。3.3.16协议差错protocolerror表示接收到的未识别的或非期望的协议数据单元,或者带有非期望的或无效参数的协议数据单元。3.3.17响应者responder接收到一个绑定请求的应用进程,该进程或者接受或者拒绝此应用联系。3.3.18会话层sessionlayerOSl参考模型的第5层。3.3.19会话协议数据单元session-protocol-data-unit(仅适用于OSI)OSI会话层的一个数据单元,包括控制信息,一般情况下还携带目录协议数据单元。4缩略语下列缩略语适用于GB/T16264的本部分:AC应用上下文ACSE联系控制服务元素AE应用实体APDU应用协议数据单元DAP目录访问协议DISP目录信息影像协议DOP目录操作绑定管理协议DSA目录系统代理DSP目录系统协议DUA目录用户代理IDM互联网直接映射I.DAP轻量级目录访问坍议PDU协议数据单元,=熬≥戮哪-吾。小阶m一心m蝌№mD一{萋一一一一一一一一一一一ⅢⅢ眦扪叫∞∞∞∞∞“眦d紫篡一篡篡篡罴删即Ⅲ州埘㈣m㈣㈣∽m㈣讪_亘~m印印吼吼吼吼肼肼h¨" GB/T16264.5--2008/ISO/IEC9594-5:2005表示协议数据单元(presentation~protocol—dataunit)会话协议数据单元(session-protocol—data-unit)传输控制协议/网际协议(TransmissionControlProtoc。l/InternetProtoc01)运输服务数据单元(transport—servicedataunit)术语“目录规范(或本目录规范)”指的是GB/T16264.5。术语“系列目录规范”指的是GB/T16264(或者1s0/1EC9594)的所有部分。本目录规范使用术语“第1版系统”来指遵循系列目录规范第1版的所有系统,即GB/T16264~1996版本。本目录规范使用术语“第2版系统”来指遵循系列目录规范第2版本的所有系统,即]so/IEC9594:1995版本。本目录规范使用术语“第3版系统”来指遵循系列目录规范第3版的所有系统,即]SO/IEC9594:1998版本。本目录规范使用术语“第4版系统”来指遵循系列目录规范第4版的所有系统,即2001年版本的ISO/IEC9594:2001年版本的第1到第10部分。本目录规范使用术语“第5版系统”来指遵循系列目录规范第5版的所有系统,即GB/T16264~2008版本的第1到第7部分以及IsO/IEC9594—8:2005、IS0/IEC9594—9:2005和ISO/IEC959410:2005。本目录规范使用粗体字来表示ASN.1记法。若在常规文本中要表示ASN.1的类型和值时,为了区别于常规文本,使用了粗体字表示。为了表示过程的语义而引用过程名时,为了区别于常规文本,使用了粗体字表示。访问控制许可使用斜体字表示。6公共协议规范6.1目录联系和操作本系列目录规范中的协议被描述为一系列的操作。操作被定义为从一个系统向另一个系统所发送的请求,并且期望后者来执行此请求,如果后者可应用,则返回~个或多个构成结果的答复。一个操作可以是一个绑定操作,或者是一个被调用来访问目录信息的操作(即一个目录操作)。如果遇到异常条件,则可返回一个或多个差错,以代替或附加于可能的结果。注l:当前定义的操作将返回一个或多个结果或单个差错。本系列目录规范中定义的目录协议可以使用OSI协议栈、TCP/IP协议栈或者两种协议栈均使用。本章提供的规范独立于特定的协议栈。OSI特定的规范在第7章和第8章提供,而TCP/]P特定的规范在第9章和第10章提供。系统内处理目录操作的进程被称为应用进程。应用实体是某个应用进程外部行为的一种体现。在两个目录应用进程之间发起目录操作调用之前,须在相应的两个应用实体间首先建立应用联系。应用联系是两个应用实体之间的一种协作关系,其建立是通过在一个绑定操作的请求和结果中交换控制信息,并且通过使用一个共同的底层服务而完成的。注2:这是对GB/T16688中定义的应用联系的一种修改定义,以备既可适用于底层OSI协议栈也可用于底层TCP/IP协议栈。一个应用联系通过一个解绑定的交换来终止。一个应用联系的解绑定没有被定义为一种操作。6.2目录操作规范本系列目录规范定义了多种操作类型。操作类型通过ASN.1的OPERATl0N信息客体类来规定。与某种操作类型联系的可能的差错通过ASN.1的ERRORS信息客体类来定义。0PERATION::一CLASSf&ArgumentType,&ResultTypeOPTIONAL,5裂搿定雾蒜缝5 GB/T16264.5--2008/ISO/IEC9594—5:2005&ErrorsERROROPTIONAL。&operationCodeCodeUNIQUEOPTl0NAL)WITHSYNTAX{ARGUMENTArgumentType[RESULT&ResultType][ERRORS&Errors][CODE&operationcode])ERROR::一CLASS{&ParameterType.&errorCodeCodeUNIQUEOPTIONAL}WITHSYNTAX{PARAMETER&ParameterType[CODE&errorCode])Code::一CHOICE{localINTEGER,global0BJECTIDENTIFIER)信息客体类OPERATION是一种表示某个特定操作类型的目录请求、结果和差错的语法的便捷方法。此ASN.1信息客体类具有下列字段:a)字段&ArgumentType为一个操作的请求部分规定了一种开放的数据类型;b)字段&ResultType为组成请求结果的一个或多个答复规定了一种开放的数据类型。如果该字段不存在,则此操作没有相关的结果;c)字段&Errors规定了处理请求的结果可以出现的一个或多个差错。如果该字段不存在,则此操作没有相关的差错;d)字段&operationCode规定了将要执行的目录操作的类型。对于绑定操作,此字段不存在。目前定义的操作代码见6.4。目录操作大致可通过两种不同的方式执行:a)如果一个目录操作应在发起另一个新的目录操作之前完成,则操作方式为同步;或者b)如果多个操作可以在同一时间进行,则操作方式为异步。如果为某种特定类型的应用联系所定义的所有目录操作:a)既包含一个请求,又包含一个或多个结果和/或差错;以及b)仅允许被一个指定的系统所调用。则这样的操作可以同步或异步方式执行。否则.操作的方式总是异步的。信息客体类oPERATION本身并不隐含任何顺序。某个目录请求可以没有结果和/或差错,或者某个请求可具有多个结果和/或差错。它是通过携带相同的操作代码和相同的调用ID(见下),将一个请求与可能的响应(结果和差错)系在一起。然而,某种特定操作类型的规范也可规定顺序上的限制。差错是对某个操作不成功执行的一种报告。差错由ERROR的ASN.1信息客体类来表示。不同的字段描述如下:a)字段ParameterType规定了差错参数的数据类型.这些参数规定了差错的性质;b)字段&errorCode规定了标识差错的代码(所定义的差错代码见6.5)。6 GB/T16264.5--2008/1S0/1EC9594-5:2005尽管没有体现在信息客体类0PERATl0N或ERRORs中,但一个Ifi录操作的每次调用都被分配了一个lnvokeld,该调用标识符携带在协议中。这使得指明一个特定的请求、结果或差错属于哪个目录操作成为可能。Invokeld的定义如下所述:Invokeld::一CHOICE{presentINTEGER。absentNULLl如果操作类型没有规定operationCode.则这种类型的操作不能被分配Invokeld。6.3目录协议概述6.3.1底层服务的使用当来自不同开放系统的两个应用进程交互时,应用联系被由或者使用OSI或者使用TCP/IP底层服务的应用层协议来实现。使用OSI服务的详细信息见第8章,而使用TCP/IP服务的详细信息见第lo章。6.3.2目录访问协议(DAp)当来自不同开放系统的DUA和DSA能进行交互之前,应在它们之间调用绑定操作来建立应用联系,用以支持目录协议,此目录协议被称为目录访问协议(DAP)。建立一个DAP应用联系的绑定操作(directoryBind)在GB/T16264.3—2008的第8章中定义。本版本以及本系列目录规范的所有之前版本都仅允许一个DUA来调用一个绑定操作,并且发起后续的目录操作。如果使用的是OS]底层协议栈,则目录操作可以以同步方式或异步方式被调用。如果使用的是TCP/IP底层协议栈,则目录操作将总是以异步方式被调用。所有的目录操作都要求返回单个答复或单个差错。6.3.3目录系统协议(DSP)当来自不同开放系统的-x十DSA进行交互之前,应在它们之间调用绑定操作来建立应用联系.用以支持目录协议,此目录协议被称为目录系统协议(DSP)。建立DSP应用联系的绑定操作(dSABind)在GB/T16264.42008的第11章中定义。任意DSA都可以调用绑定操作。发起方DSA和响应方DSA都可以调用后续的目录操作。DSP上的目录操作将总是以异步方式被调用。所有的目录操作都要求返回单个答复或单个差错。6.3.4目录信息影像协议(DISP)当来自不同开放系统的一对DSA出于交换影像信息的目的进行交互之前,须在它们之间调用绑定操作来建立应用联系,用以支持目录协议,此目录协议被称为目录信息影像协议(DISP)。建立一个DISP应用联系的绑定操作(dSAShadowBind)在ISO/1EC9594—9:2005的7.4.1中定义。如果使用的是OSI底层坍议栈,则操作模式是同步方式或异步方式依赖于为绑定操作所选择的应用上下文。如果使用的是TCP/IP底层协议栈.则目录操作将总是以异步方式被调用。所有的目录操作都要求返回单个答复或单个差错。6.3.5目录操作绑定管理协议(DOP)当来自不同开放系统的一对DSA出于维护操作绑定的目的进行交互之前.应调用绑定操作来建立应用联系,用以支持目录协议,此目录协议被称为目录操作绑定管理协议(DOP)。可以在绑定操作中担任发起者角色的DSA,依赖于在应用联系中使用目录操作为被管理的操作绑定所分配的DSA角色。仅有发起者可以发起目录操作凋用。只有当不同类型的DSA角色是兼容的(例如,一个DSA为每种绑定类型都担任角色A)时,才可以有多于一个的操作绑定类型在此应用联系内被管理。7 GB/T16264.5--2008/1SO/IEC9594-5:2005所有的目录操作都要求返回单个答复或单个差错。6.4操作代码6.4.1DAP和DSP的操作代码下列操作代码用于DAP和DSP中。id-opcode—readCode::一local:1id-opcode—compareCode::一local:2id-opcode—abandonCode::一local:3id—opcode—listCode::一local:4id-opcode—searchCode::一local:5id-opcodeaddEntryCode::一local:6id-opcode—removeEntryCode::一local17id—opcode—modifyEntryCode::一local:8id—opcode—modifyDNCode::一local:9这些操作代码的用法在GB/T16264.32008中规定。6.4.2DISP的操作代码下列操作代码用于DISP中。id—opcode—requestShadowUpdateCode::一10cal:1idopcode—updateShadowCode::一locaI:2id-opcode—coordinateShadowUpdateCode::一local:3这些操作代码的用法在ISO/IEC9594—9:2005中规定。6.4.3DOP的操作代码下列操作代码用于DOP中。id-opestablishoperationalBindingCode::一local:100id—op—modifyOperationalBindingCode::一local:102id-op—terminateOperationalBindingCode::一local:101这些操作代码的用法在GB/T16264.2—2008中规定。6.5差错代码6.5.1DAP和DSP的差错代码下列差错代码用于DAP和DSP中。代码id-errcode—referral仅用于DAP中。代码id-opeodedsaReferral仅用于DSP中:id—errcode—-attributeErrorid-errcode—nameErrorid—-errcode—.serviceErrorid-errcode—referralid—-errcode--abandonedid—。erreode—。securityErrorid-errcodeabandonFailedid-errcode—updateErroriderrcode—dsaReferral6.5.2DISP的差错代码下列差错代码用于DISP中id—errcode--shadowError8Codelocal:1local:2local:3local:4local:510cal:6local:7local:8local:9Code::=local:lII一II|I一lI GB/T16264.5--2008/1SO/IEC9594—5:20056.5.3DOP的差错代码下列差错代码用于DOP中:id-err—operationalBindingErrorCode::一local:1006.6抽象语法协议规范包括数据类型的规范,这些数据类型可作为协议交换的一部分被传递。数据类型使用一种类似于ASN.1记法的抽象记法来定义,并由此组成协议的抽象语法。抽象语法对于OSI通信和TCP/IP通信是非常类似的,尽管还是有所区别。相对应四种不同的目录协议,为这些通信类型分别定义了四种抽象语法。抽象语法仅对OSI通信分配客体标识符。当建立OS]应用联系时,抽象语法的相关客体标识符在绑定中被告知(见7.6.1)。7使用OSI栈的目录协议本章定义了目录协议,以及它们如何映射到OSI的会话协议。它将1SO/IEC88231中定义的OSI表示协议的相关元素与ISO/1EC8650—1中定义的联系控制服务元素(ACSE)相结合起来。这些元素结合的方式确保与国际标准第5版之前的系统编码兼容。OSI会话协议的相关部分在8.3中定义。7.1()SJ—PDU基于OSI的协议消息在一个OSI应用联系中作为目录协议数据单元被传递,此协议数据单元由下述的OSI—PDU数据类型表示:OSI—PDU{APPLICATION~CONTEXT:protoc01)::一TYPE-IDENTIFIER.&Type(OsiBind“protoc01))【OsiBindResult{{protoc01)}1OsiBindError“protoc01)}lOsiOperation“protoc01.&Operations)}lPresentationAbort)7.2目录PDU结构OSI环境中的一个目录PDU.包含ISO/IEC8823—1中定义的OSI表示层的协议元素,如果相关的话,还包含ISO/IEC8650—1中定义的ACSE协议元素,以及正讨论的协议的目录特定的协议元素。OsiBind、OsiBindResult和OsiBindError除了具有目录特定的协议元素外,还具有表示协议元素和ACSE侨议元素,而OsiOperation除了具有目录特定的协议元素外,仅具有表示西议元素。Presentati—onAbort仅具有表示协议元素。在一个特定的目录PDU中包含的表示层协议元素包含PPDU。注1:术语PPDU(表示协议数据单元)在此引入,当讨论表示协议差错时被Abort—reason数据类型所引用。否则,此术语与本系列目录规范无关。在一个特定的目录PDU中包含的ACSE协议元素组成一个ACSEPDU。注2:在1SO/IEC8650I中为ACSEPDU使用术语APDU(应用侨议数据单元)。但由于一个特定的目录PDU中的目录特定的协议元素在原则上也包含一个APDU.因此这里使用术语ACSEPDU以避免混淆。本目录规范使用下列PPDU:a)CPPPDU,由ISO/IEC8823—1中定义的数据类型CP-typc来反映。它是数据类型OsiBind的一部分。b)CPAPPDU,由]SO/IEC8823—1中定义的数据类型CPAPPDU来反映。它是数据类型OsiB—indResult的一部分。c)CPRPPDU,由ISO/IEC8823—1中定义的数据类型CPR—PPDU来反映。它是数据类型OsiB—indError的一部分。9 GB/T16264.5--2008/ISO/IEC9594—5:2005d)TDPPDu,由ISO/1EC88231中定义的数据类型User-data来反映。它是数据类型OsiOper—ation的一部分。e)ARUPPDU.由lsO/IEC8823—1中定义的ARU—PPDU来反映。它是本目录规范中定义的数据类型ARu—PPDU的一部分;以及f)ARPPPDU,由ISO/]EC88231中定义的ARP—PPDU来反映。它组成了本目录规范中定义的数据类型ARp-PPDU。没有为应用联系的释放(OsiUnbind和OsiUnbindResuh)定义PPDU。然而,ISO/IEC8823—1中定义的User-data数据类型被用于携带OsiUnbind和OsiUnbindResult。本目录规范使用如下ACSEPDU:a)AARQ-apdu是数据类型OsiBind的一部分;b)AARE-apdu是数据类型OsiBindResuh和数据类型OsiBindError的一部分;c)RLRQ-apdu是数据类型OsiUnbind的一部分;d)RLRE—apdu是数据类型OsiUnbindresult的一部分;以及e)ABRT—apdu是数据类型ARU-PPDU的一部分。7.3会话PDU除了目录PDU外,本目录规范还定义了会话协议数据单元(SPDU)。所有的目录PDU都包含在一个SPDU中。本目录规范使用了如下SPDU:a)CONNECTSPDU用于携带OsiBind;b)ACCEPTSPDU用于携带OsiBindResult;注:根据ISO/1EC8650—1:1998的8.1.3.AAREACSEPDU(表示为AARE-apdu和AAREerr-apdu)被映射为PCONNECT响应/证实,并且结果被设置为‘userrejeclion(用户拒绝)’。根据ISO/1EC8823一l:1994的625.6,CPRPPDU应当在表示层发出。另外.根据ISO/IEC88231:1994的7.1.3,CPRPPDU在S-CONNEC]’响应和证实会话原语中携带。c)REFUSESPDU用于携带OsiBindError,并且用于根据会话层条件拒绝一个应用联系;d)FINISHSPDU用于携带OsiUnbind来发起一个应用联系的终止;e)DISCONNECTSPDU用于携带OsiUnbindResult来完成一个应用联系的终止;f)ABORTsPpU除了根据会话层问题而夭折时可以独立使用外,还用于携带ARU—PPDU和ARPPPDU:g)ABORTACCEPTSPDU不携带上层信息,但它指示了对端系统已经接收到一个夭折;以及h)DATATRANSFERSPDU用于携带OsiOperation。关于SPDU的详细信息在8.3中给出。7.4OSI编址OSl为网络层及以上各层,包括表示层,都定义了地址。网络层上的地址被称为网络服务访问点(NSAP)地址。NSAP地址的结构在GB/T151262008中定义。运输层上的运输地址被定义为NSAP地址加上一个可选的运输选择因子。会话层上的会话地址被定义为运输地址加上一个可选的会话选择因子。一个表示地址被定义为会话地址加上一个可选的表示选择因子。本目录规范中仅涉及到会话选择因子和表示选择因子。7.5规程与排序两个应用进程之间的一个应用联系通过其中一个应用进程调用7.6.1定义的OsiBind而发起。始发的应用进程在此应用联系上发送任意目录PDU前,须等待一个0siBindResuh来证实此应用联系已经建立。独立于任何排序规则,始发的应用进程在调用一个OsiBind后,可以在任意时间点发起一个ARU一10 GB/T16264.5--2008/]SO/IEC9594-5:2005PPDU或ARP-PPDU(见7.6.7)。类似的,响应的应用进程在接收到一个OsiBind后,可以在任意时间点发起一个ARU-PPDU或ARP-PPDU。如果接收到一个OsiBindResult,则始发的应用进程根据正在讨论的协议,可以发送包含OsiReq,OsiRes,OsiErr和OsiRej的OsiOperation。如果作为OsiBind的响应而接收到一个OsiBindError(见7.6.3),或者应用联系在会话层被拒绝(见8.3.5),则一个应用联系将不能够被建立。两个应用进程可能几乎同时向对方发起OsiBind。这将被认为是两个独立的应用联系建立尝试。如果两个都成功,则结果是有两个应用联系被建立。协议差错可以在会话协议元素、表示协议元素、ACSE协议元素,以及目录特定的协议元素中发生。一个协议差错可以由如下情况引起:a)接收到一个未识别的或非期望的PDU;或者b)在所接收的PDU中有一个或多个参数是无效的或非期望的。注1:根据第12章所规定的扩展规则.未知参数应当被忽略。1SO/IEC8823—1:1994的8.5和ISO/IEC8650—1:1996的7.4也规定了类似的规则。注2:ISO/IEC8823—1:1994的6.4.4.2和6.4,43区分了侨议差错和无效PPDU。由于这两种情况都引起相同类型的夭折。因此本目录规范对此不做区分。1SO/IEC86501:1996的7.3.34也没有对此进行区分。在这两种情况下,应用联系或处于建立/终止阶段的应用联系都应夭折。如果此问题是在会话协议中检测到的,则应当发出一个ABORTSPDU(见8.3.8),不携带用户数据。如果此问题是在表示协议中检测到的,则应当发出一个ARP-PPDU(见7.6.7.2)。如果此问题是在ACSE协议中检测到的,则应当发出一个ARU—PPDU,且abort—source被设置为acse—serviceprovider(见7.6.7.1)。如果此问题是在目录协议中检测到的,则应当发出一个ARU—PPDU,且abort—source被设置为acse—service—user。7.6目录PDU规范7.6.1OSI绑定请求OsiBind{APPLICATl0N—CONTEXT:Protocols)::一SET{mode—selectorEo]IMPLICITSET{mode—value[o]IMPLICITINTEGER(1)),normal-mode—parameters[2]IMPLIcITSEQUENCE{protoco卜version[03IMPLICITBITSTRING{version-1(o))DEFAULT(version-1},calling—presentationselector[1]IMPLICITPresentation-selectoroPTIONAL,cMled-presentation-selectorr21IMPLICITPresentation-selectorOPTIONAL,presentation-context-definitionlist[43IMPLICITContext—list,user-dataCHOICEf“ly-encoded-data[APPLICATION1]IMPLICITSEQUENCESIZE(1)OFSEQUENCE{transfer-syntax_nameTransfer—syntax-name0PTIONAL,presentation—contextidentifierPresentation-context—identifier, GB/T16264.5--2008/ISO/IEC9594-5:2005presentation—‘data‘‘valuessingle—。ASNl—。typeCHOICE{E03AARQ-apdu{{Protocols))))}})Presentation-selector::一OCTETSTRING(SIZE(1..4,⋯,5..MAX))Context-list::一SEQUENCESIZE(2)OFSEQUENCE{presentation-context—identifierPresentation-context—identifier,abstract—syntax-nameAbstract—syntax—name,transfer—syntax-name—listSEQUENCEOFTransfer-syntax-name)Presentation-context-identifier::一INTEGER(1..127,⋯,128..MAX)Abstract-syntax-name::=OBJECTIDENTIFIERTransfer-syntax-name::一OEMECTIDENTIFIERAARQ-apdu{APPLICATION—CONTEXT:Protocols)::=[APPLICATION0]IMPLICITSE—QUENCE{protocol—versionE03IMPLICITBITSTRING{versionl(o))DEFAULT{versionl),application-context—namecalled—Ap-titlecalled—AE-qualifiercalled—-AP—·invocation—-identifiercalled--AE—-invocation—-identifiercalling-APtitlecalling—-AE—。qualifiercalling—-AP-invocation—identifiercalling-AE—invocation-identifierimplementation—informationuser-information[13Application-context-name,[2]Name[3]RelativeDistinguishedNamer4]Ap-invocation—identifier[53AE—invocation-identifier[6]Name[7]RelativeDistinguishedName[8]AP-invocation-identifierr9]AE-invocation-identifier[29]IMPLICITImplementation-data[30]OPTIONAL。0pTIONAL.0PTIONAL。OPTl0NAL,OPTIONAL,OPTIONAL.oPTl0NAL。0pTIONAL.oPTl0NAL,IMPLIcITsEQuENcESIZE(1)OF[UNIVERSAL8]IMPLICITSEQUENCE(direct-referenceOBJECTIDENTIFIER0PTIONAL,indirect—referencePresentation-context—identifier,encodingCHOICE{single—ASNl一typeEo]TheOsiBind“Protocols))}))注:在1SO/1EC88231:1994中,userinformation组件被定义为一个EXTERNAL。由于external的内容是已知的,因此如果提供了EXTERNAL的确切编码,则它可以用来辅助实现者。这里,external的记法根据的是GB/T16263.1、GB/T16263.2和GB/T162634中定义的编码。这不是一个完全合法的ASN1。使用EXTERNAI。记法的正式、合法的ASN.1规范在附录B中提供。Application-context-name::=OBJECTIDENTIFIERAp-invocation-ldentifier::一INTEGER AI■invocation—identifier::一INTEGERImplementation”data::一GraphicStringGB/T16264.5--2008/ISO/1EC9594-5:2005TheOsiBind{APPLICATION—CONTEXT:Protocols)::一[16]APPLIcATIoN~CONTEXT.&bind-operation.&ArgumentType({Proto—cols))OsiBind被用来发起一个应用联系。OsiBind包含表示协议元素(见7.6.1.1),ACSE协议元素(见7.6.1.2)和目录绑定协议元素(见7.6.1.3)。绑定请求的格式应当按照这些条中给出的规范进行约束。OsiBind在会话cONNEcTSPDU(见8.3.3)的用户数据参数或扩展的用户数据参数中携带。应用联系的响应者应当按照如下顺序检测协议元素:1)会话协议元素应被检测。如果有一个或多个这些协议元素是不可接受的,则应当返回一个REFUSESPDU(见8.3.5)。否则,继续。2)表示协议元素应被检测。如果有一个或多个这些协议元素是不可接受的,则应当返回一个OsiBindError,且包含一个provider-reason组件,同时不包含user—data组件(见7.6.3.1)。否则,继续。3)ACSE协议元素应被检测。如果有一个或多个这些协议元素是不可接受的,则应当返回一个OsiBindError,且AAREerr-apdu中的resulresult—source—diagnostic组件存在,同时user—infor—mation组件不存在,如7.6.3.2中的规定。否则,继续。4)目录绑定应当根据正在讨论的目录协议的规则来进行检测。如果响应者能够接收目录绑定,则应当返回一个OsiBindResult(见7.6.2)。否则,应当返回一个0siBindError,且AAREerr—apdu中的user-information组件存在。如果在上述顺序中,任何时刻检测到一个协议差错,则应当按照7.5的规定发出相应的夭折。7.6.1.1表示协议元素组成一个CPPPDU的表示协议元素是由上述的OsiBind数据类型来定义的,除了内嵌的AARQ-apdu之外。mode—selector组件应当总是被设置为1。注1:ISO/IEC8823—1:1994定义了表示连接的两种方式。本系列目录规范总是使用其中的normal-mode。normal—mode—parameters组件具有下列子组件:a)protocol—version子组件应当被忽略,或者被设置为version-1。如果有不同的指定,则响应者应当返回一个OsiBindError,其中providerreason被设置为protocol—version-not-supported。b)calling-presentation-selector子组件,如果提供的话,其值应当从本地拥有的信息中获取。关于表示选择因子的定义,见7.4。c)called-presentation-selector子组件,如果提供的话,其值应当从下述方式中获取:——作为之前目录操作结果的一个continuationReference中的AccessPoint值中获取到的信息(见GB/T16264.4—2008);或者——本地拥有的信息。如果响应者不使用表示选择因子编址,或者如果所提供的表示选择因子不是目录应用进程的.则响应者应当返回一个OsiBindError,且provider_reason被设置为called-presentation-ad—dress—unknown。d)presentation-context—definition—list子组件应当具有两个元素,每个都是一个序列(sequence)类型,包括:13 GB/T16264.5--2008/ISO/IEC9594-5:2005——一个由发起者选择的presentation-context-identifier。它应是~个奇数整数,且为两个元素所分配的应当是不同的。——一个abstract—syntax-name:i)对于其中一个元素,它应当是一个客体标识符,标识了ACSE抽象语法(id—acseAS);并且ii)对于另一个元素,它应当是与要建立的应用联系类型相对应的目录抽象语法的客体标识符(相应的,为id-as-directoryAccessAS,id-as-directorySystemAS,id-asdirecto~ryShadowAS或者id-as—directoryOperationalBindingManagementAS);——一个transfer-syntax-name—list,它应当由一个单独元素组成,此元素为基本编码规则(BER)的客体标识符;注2:ISO/IEC88231:1994允许建议多个传送语法,在这些传送语法中,响应者可以选择其一。在第12章中定义的扩展规则中要求使用BER。关于抽象语法和传送语法的详细信息见8.1。e)user—data子组件具有下列元素:注3:user_data子组件体现了ISO/1EC8823—1:1994中定义的CPPPDU的user-data的fully-encoded-da—ta选项。fully-encoded-data包括一个PVD-Iist的序列。本目录规范精确地要求仅有一个PVD—list。因此.此序列类型规定了有且仅有一个值。——transfer—syntax-name子组件,如果存在的话,应当是基本编码规则(BER)的客体标识符;注4:根据ISO/IEC8823—1:1994的8.427:“当为表示数据值的表示上下文提议了多个传送语法的名字时,应当出现传送语法的名字”。——presentation—context—identifier子组件应当给定一个值。其值与规定了ACSE抽象语法的presentation-context-definition-list中的元素的presentation-context—identi—tier相同;--presentation-data-values子组件应当拥有7.6.1.2规定的ACSE协议元素。7.6.1.2ACSE协议元素ACSE协议元素是上述AARQ-apdu数据类型所定义的那些元素,除了内嵌的TheOsiBind之外。注1:ACSE协议元素是ISO/1EC86501:1996中定义的AARQ-apdu中的相关组件。本系列目录规范中仅使用了ACSE的核心功能单元。根据ISO/IEC8650—1:1996的9.1,组件sender-acse—requirements。mechanism-name,calling-authentication-value和applieation-context—namelist是不适用的。protocol-version组件应当被忽略,或者被设置为versionl,即比特0被设置。如果该组件存在.则发起者不能在比特0后包含任何比特。如果响应者接收到一个绑定请求,其中该组件存在,且比特0被设置.同时有一个或多个其他比特也都被设置,则这些比特应当被忽略。如果比特0未被设置,但是其他某些比特被设置,则响应者应用进程应当以一个OsiBindError(见7.6.3)作为答复,其中Associate—source—diagnostic被设置为no—common-acse—version。application-context-name组件应当:a)对于DAP,被设置为id—ac-directoryAccessAC;b)对于DSP,被设置为id-as—directorySystemAC;c)对于DISP,被设置为如下之一:——id—ac_shadowConsumerInitiatedAC:——id—ac-shadowSupplierlnitiatedAC:——id—ae—shadowSupplierlnitiatedAsynchronousAC;或者--id-ac-shadowConsumerlnitiatedAsynchronousAC;d)对于DOP.被设置为id-ac—directoryOperationalBindingManagementAC。14 GB/T16264.5--2008/ISO/1EC9594-5:2005如果响应者不支持规定的application-context-name,则它应以一个OsiBindError(见7.6.3)来答复,其中Associate—source—diagnostic被设置为application-context-name—not-supported。called-AP-title组件,如果存在的话,其值应当从如下方式中获取:——作为之前目录操作结果的ContinuationReference中返回的信息中;或者——本地拥有的信息中。如果响应者不能识{Jt]called-AP—title.则它应当以一个OsiBindError(见7.6.3)来答复,其中Asso—ciate—source—diagnostic被设置为ealled-AP-title—not—recognized。called-AE-qualifier组件,如果存在的话,其值应当从如下方式中获取:——作为之前目录操作结果的ContinuationReference中返回的信息中;或者——本地拥有的信息中。如果响应者不能够识5JlJcalled-AE—qualifier,则它应当以一个OsiBindError(见7.6.3)来答复,其中Associate—source—diagnostic被设置为called-AE—qualifier-not—recognized。called-AP-invocation-identifier组件可以可选地被提供,如果关于其值的信息从之前的应用联系中还保留的话。如果响应者不能够识}]t]caned-AP-invocation-identifier,则它应当以一个OsiBindError(见7.6.3)来答复,其中Associate-source-diagnostic被设置为called-AP-invocation-identifier-not-recognized。called-AE—invocation-identifier组件可以可选地被提供,如果关于其值的信息从之前的应用联系中还保留的话。如果响应者不能够识别called—AE-invocation—identifier,则它应当以一个OsiBindError(见7.6.3)来答复,其中Associate—source—diagnostic被设置为called—AE-invocation-identifier—not—recognized。calling-AP-title组件,如果被提供的话,应当从本地所拥有的信息中获得。如果响应者希望确信发起者的身份,但又不识jJI]calling-AP-title时,则它可以通过一个OsiBindError(见7.6.3)来拒绝此应用联系,其中Associate—source—diagnostic被设置为calling—AP—title—not—recognized。calling-AE-qualifier组件,如果被提供的话,应当从本地所拥有的信息中获得。如果响应者希望确信发起者的身份,但又不识别calling-AE—qualifier时.则它可以通过一个OsiBindError(见7.6.3)来拒绝此应用联系,其中Associate—source—diagnostic被设置为calling—AE—qualifier-not’recognized。caUing-AP~invocation-identifier组件可以可选地被提供。一个接收系统可以忽略其值,如果该组件存在的话。如果响应者希望确信发起者的身份,但又不识gllcalling—AP-invocation—identifier时,则它可以通过一个OsiBindError(见7.6.3)来拒绝此应用联系,其中Associatesource—diagnostic被设置为calling—AP-invocation-identifier-not-recognized。calling-AE-invocation—identifier组件可以可选地被提供。一个响应系统可以忽略其值,如果该组件存在的话。如果响应者希望确信发起者的身份,但叉不识gtJcalling-AE—invocation-identifier时,则它可以通过一个OsiBindError(见7.6.3)来拒绝此应用联系,其中Associate—source—diagnostic被设置为calling-AE—invocation—identifier-not-recognized。implementation-information组件可以拥有与实现相关的特定信息。该信息不影响应用联系的建立规程。userinformation组件具有下述子组件:a)direct-reference,如果存在的话,应当具有基本编码规则(BER)的客体标识符;b)indirect—reference应当标识7.6.1.1的d)中定义的presentation—context—definition—list内的目录抽象语法;以及c)single—ASNl一type应当具有7.6.1.3中规定的绑定济议元素。注2:user-information组件对应于ISO/IEC8650—1:1996中定义的AARQ-apdu中的user-information组件。该组件是一个SEQUENCEOFEXTERNAL。本系列目录规范要求仅存在一个EXTERNAL(见7.6.1中的注)。15 GB/T16264.5--2008/1SO/IEC9594—5:20057.6.1.3绑定协议元素TheOsiBind应当是为讨论中的目录协议所定义的绑定请求参数。注:绑定参数起始于GB/T16975.1--2000中定义的[16]标签。7.6.2OSI绑定结果如果OsiBind被接受,且响应者决定参与到此应用联系中时,响应者将会返回一个OsiBindResult。OsiBindResult{APPLICATIoN—CONTEXT{Protocols)::=SET{mode—selectorE03IMPLIcITSET{mode—valueE03IMPLICITINTEGER(1)),normal—modeparametersE2]IMPLICITSEQUENCE{protocol-version[o]IMPLIcITBITSTRING{version-1(o))DEFAULT{ver~sion一1),responding。。presentation—。solector[3]IMPLICITPresentation-selectorOPTl0NAL,presentation-context-definition-result-listEs]IMPucITSEQUENCESIZE(2)OFSEQuENcE{result[03IMPLICITResult(acceptance),transfer-syntax-name[1]IMPLIcITTransfer-syntax-name),user-dataCHOICEffully—encoded—dataFAPPLICATION1]IMPLICITSEQUENCESIZE(1)OFSEQUENCE{transfer—syntax-nameTransfer-syntax-name0PTIONAL。presentation-context-identifierPresentation-context-identifier,presentation-data-valuesCHOICE{single—AsNl一typeEo]AARE-apdu“Protocols)}))}))Result::一INTEGER{acceptanceuser-rejectionprovider—rejection(O),(1),(2))AARE-apdu{APPLICATION—CONTEXT:Protocols)::一[APPLICATION1]IMPLICITSE—QUENCE{protoco卜version[03IMPLICITBITSTRING{versionl(0)}DEFAULT{versionl),application-context-nameresultresult—·source—-diagnosticresponding—AP-titleresponding-AEqualifierresponding-AP—invocation-identifierresponding—-AE-iuvocation。、identifierimplementation-informationuser-information16FI]Application-context-name,E2]Associate—result(accepted),[3]Associate—source—diagnostic,E4]NameOPTl0NAL,[5]RelativeDistinguishedNameOPTIONAL,[6]AP-invocation-identifierOPTIONAL,[7]AN-invocation-identifierOPTIONAL,E29]IMPLICITImplementation-dataOPTIONAL,E30] GB/T16264.5--2008/ISO/IEC9594-5:2005IMPLICITSEQUENCESIZE(1)OF[-UNIVERSALs3IMPLICITSEQUENCEfdirect—referenceOBJECTIDENTIFIEROPTIONAL.indirect’re[erencePresentation—context-identiffer.encodingCHOICE{single—ASNl一typeEo]TheOsiBindRes“Protocols}}}”注:见7.6.1中的注。Associate—result::一INTEGER{accepted(0),roected—permanent(1),rejected-transient(2))(O..2,⋯)Associate—source—diagnostic::一CHOICE{acse—service—userEliINTEGER{null(0),no—reason-given(1),application-context-name—not-supported(2),ealling-AP-title—not-recognized(3),ealling-AP-invocation-identifier-not—recognized(4),calling-AE-qualifier-not-recognized(5),calling-AE-invocation—identifier-not-recognized(6),calle&AP-title—not-recognized(7),ealled-AP-invocation-identifier-nor—recognized(8),ealled-AE—qualifier-not-recognized(9),called-AE-invoeation-identifiermot-recognized(10))(0..10,⋯)acse—service—providerE2]INTEGER{null(0),no—reason-given(1),no—common—acse~version(2))(O..2,⋯)}TheosiBindRes{APPLICATION-CONTEXT:Protocols)::一[17]APPLICATION—CONTEXT.&bind—operation.&ResuhType((Protoco[s})OsiBindResuh被携带在会话ACCEPTSPDU(见8.3.4)的用户数据参数中。7.6.2.1表示协议元素组成一个CPAPPDU的表示协议元素是由上述的OsiBindResult数据类型来定义的,除了内嵌的AARE-apdu之外。mode—selector组件应当总是被设置为l。normal—mode—parameters组件具有下列子组件:a)protocol—version子组件应当被忽略,或者被设鼍为version-1;b)responding—presentation—selector子组件,如果被提供,其值应当从本地拥有的信息中获取;c)presentation-context—definition~result—list子组件应当具有两个元素,其顺序对应于绑定请求的presentation-context—definitionlist中所提供的元素顺序.每个元素都为相应元素提供上下 GB/T16264.5--2008/ISO/IEC9594—5:2005文协商的结果,如下所述:——result应当存在,并且被设置为acceptance。--transfer-syntax-name应当存在,并且指定了基本编码规则(BER)的客体标识符。d)user-data子组件具有下列元素:——transfer—syntax-name子组件,如果存在的话,应当是基本编码规则(BER)的客体标识符。--presentation-context-identifier子组件应当被给定一个值.其值应与规定了ACSE抽象语法名字的绑定请求中的presentation-context-definition-list中元素的presentation-contex—tidentifier具有相同的值。--presentation-data-values子组件应当拥有7.6.2.2规定的ACSE协议元素。7.6.2.2ACSE协议元素protocol—version组件应当被忽略,或者被设置为versionl,即比特0被设置。如果该组件存在.则响应者不应当在比特0之后包含任何比特。result组件应当被响应者设置为accepted。result_source—diagnostic组件应当选取acse—serviceuser选项,并且取值为null或者no—reason—giv—enoapplication-context—name组件应当存在,并且被设置为绑定请求中相应组件的值。responding-AP-title组件,如果被提供,则应当从本地拥有的信息中获取。responding-AE—qualifier组件,如果被提供,则应当从本地拥有的信息中获取。responding-AP—invocation-identifier组件可以可选地被提供。响应者可以忽略此组件,如果此组件存在的话。responding—AE—invocation—identifier组件可以可选地被提供。响应者可以忽略此组件,如果此组件存在的话。implementation-information组件可以拥有与实现相关的特定信息。这些信息不会影响应用联系的建立规程。user-information组件具有下列子组件:a)direct-reference,如果存在的话,应当为ASN.1基本编码规则(BER)分配的客体标识符。b)indirect-reference应当标识7.6.1.1的d)中定义的presentation-context-definition-list内的目录抽象语法。c)single~ASNI—type应当拥有7.6.2.3中规定的绑定结果协议元素。7.6.2.3绑定结果协议元素TheOsiBindRes应当是为讨论中的目录协议所定义的绑定结果类型。注:绑定结果以GB/T16975.1--2000中定义的[t7]标签开始。7.6.3OSI绑定差错OsiBindError{APPLICATl0N—CONTEXT:Protocols}::一CHOICE{normal—mode—parametersSEQUENCE{protocol—versionE03IMPLICITBITSTRING{version-1(o)}DEFAuLT{version-1),responding-presentation—selector[3]IMPLICITPresentation—selectorOPTIONAL,presentation-context-definition-resuh—listIs]IMPLICITResult-listOPTIONAL,provider_reason[10]IMPLICITProvider—reasonOPTIONAL,user—dataCHOICEffully-encoded—data[APPLIcATION1]IMPLICITSEQuENcESIZE(1)OF18 SEQUENCE{TIONAL})GB/T16264.5--2008/ISO/IEC9594—5:2005transfer-syntax-nameTransfer-syntax-nameOPTIONAL,presentation-contextidentifierPresentation-context-identifier,presentation-data-valuesCHOICE{single—ASNl一type[03AAREerr—apdu“Protocols))})}OPResult-Kst::一SEQUENCESIZE(2)OFSEQUENCE(resultE03IMPLICITResult,transfer-syntax-namer1]IMPLICITTransfer—syntax-name0PTl0NALprovider-reason[2]IMPLICITINTEGER{reason-not-specified(O),abstract—syntax-not-supported(1),proposed-transfer-syntaxes-not-supported(2))OPTIONAL)Provider-reason::一INTEGER{reason-not-specifiedtemporary-congestionlocal-limit-exceededcalle士presentation-address—unknownprotocol-version-not-supporteddefault-context-not—supporteduser-data—-not—-readableno—PSAp-available(O),(1),(2),(3),(4),(5),(6),(7))AAREerr—apdu{APPLICATION—CONTEXT:Protocols)::一[APPLIcATION1]IMPLICITSEQUENCE{protocol—versionapplication-context-nameresultE03IMPLICITBITSTRING{versionl(O)}DEFAULT{version1),[1]Application-context—name,[23Associate—result(rejected-pennanent..reiected-transiresult-souree—diagnostic[3]Associate—source—diagnostic,responding-AP-title[43NameOPTIONAL,responding-AE-qualifier[5]RelativeDistinguishedNameOPTIONAL,responding-AP—invocation-identifier[63AP-invocation-identifierOPTIONAL,responding—AE—invocation—identifier[7]AE—invocation-identifierOPTl0NAL,implementation-information[29]IMPLIcITImplementation-dataOPTl0NAL,user—informationE303IMPLICITSEQuENcESIZE(1)oF[UNIVERSAL8]IMPLlCITsEQUENCE{direct-reference0BJECTIDENTIFIEROPTIONAL,indirect—referencePresentation-context-identifier,encodingCHOICE{]9 GB/T16264.5--2008/ISO/IEC9594-5:2005single—ASNl一typeE03TheOsiBindErr“Protocols)))OPTIONAL¨注:见7.6.1中的注。TheOsiBindErr{APPLICATl0N~CONTEXT:Protocols)::一r18]APPLICATlON—CONTEXT.&bind-operation.&Errors.&ParameterType({Protocols))OsiBindError被携带在会话REFUSESPDU(见8.3.5)的原因代码字段中。7.6.3.1表示协议元素组成一个CPRPPDU的表示协议元素是由上述的OsiBindError数据类型来定义的,除了内嵌的AAREerrapdu之外。normal-mode—parameters组件具有下列子组件:注1:CPR-PPDU可在x410方式和常规方式之间进行选择。本系列目录规范仅使用常规方式。但依然保留CHOICE声明,以便确保当使用非BER或其他类似编码时可以按位后向兼容。a)protocol—version子组件应当按照7.6.2.1的规定。b)responding—presentation-selector子组件,如果被提供,则应当按照7.6.2.1的规定。c)presentation-context-definition-result-list子组件应当按照如下规定:——如果拒绝是与表示上下文协商无关的,则result元素应当被设置为acceptance,transfer—syntax-name应当存在,并指定基本编码规则(BER)的客体标识符,同时provider—reason元素应当不存在;——如果讨论中的抽象语法不被任何提议的传送语法所支持,则result元素应当被设置为pro—rider-rejection,且provider-reason元素应当存在,并具有适当的值;或者——如果讨论中的抽象语法根本不被支持,且之前的项都不适用时,则result元素应当被设置为user-rejection,且provider—reason元素应当存在,并具有适当的值。d)如果是由于在绑定请求的表示协议元素内检测到问题而使得应用联系被拒绝时,provider-reason子组件应当存在。否则,该组件应当不存在。注2:IS0/IEC88231:1994的6.2.4.9对provider-reason的声明如下:“如果该字段存在.则表明拒绝是由响应方表示服务提供者提出的;如果该字段不存在,则表明拒绝是由响应方PS用户提出的。”e)如果provider-reasoⅡ子组件存在,则user-data子组件应当不存在。否则,该子组件应当存在,且具有下列元素:——transfer_syntapname子组件.如果存在,则应当是ASN.1基本编码规则(BER)的客体标识符。--presentation-context-identifier子组件应当被给定一个值,其值应与规定了ACSE抽象语法名字的绑定请求中的presentation-context—definition-list中元素的presentation-contex~tidentifier具有相同的值。——presentation—data-values子组件应当拥有7.6.3.2中规定的ACSE协议元素。7.6.3.2ACSE协议元素protocol—version组件应当按照7.6.2.2的规定。application-context-name组件应当存在,并且被设置为绑定请求中相应组件的值。result组件应当基于本地考虑.被设置为rejected-permanent或者rejected—transient。注:根据GB/T16975.1--2000中的11.1.1,一个绑定差错被携带在AASSOCIATE响应/证实中,其中A—ASSO—CIATE服务原语中的结果参数值被设置为“r叫eeted(permanent)”或者“r旬ecled(transient)”,且绑定操作中的差错值被映射到这些服务原语的用户信息参数中。在坍议级别,则被翻译为result组件.该组件或者被设置为rejected-permanent,或者被设置为rejected—transient。大多数绑定差错都反映了一种永久条件。然而,问题为unavailable的serviceError可以被认为是暂时的。result—source—diagnostic组件应当根据条件.具有下述取值:20 GB/T16264.5--2008/ISO/IEC9594-5:2005a)如果拒绝是在一个目录协议之内,则应当选取acse—service—user选项,且取值为null或者no—reason—given;或者b)如果拒绝是与ACSE相关的,或者是由于指定的应用进程名称,应用实体标题或应用上下文中的差错而引起的,则应当选取aese—service—user选项,且取适当的值。responding-AP-title组件,如果存在,则其值应当从本地拥有的信息中获取。responding—AE-qualifier组件,如果存在,则其值应当从本地拥有的信息中获取。responding-AP-invocation-identifier组件,如果存在,则可以被忽略,或者为将来与该DSA进行连接而保留。responding-AE-invocation-identifier组件.如果存在,则可以被忽略,或者为将来与该DSA进行连接而保留。implementation-information组件可以拥有与实现相关的特定信息。user—information组件具有下列子组件:a)direct-reference,如果存在,应当拥有ASN.1基本编码规则(BER)的客体标识符;b)indirect-reference应当标识7.6.1.1的d)中定义的presentation—context—definition-list内的目录抽象语法;c)single—AsNl一type应当拥有7.6.3.3中规定的绑定差错协议元素。7.6.3.3绑定差错协议元素TheOsiBindErr应当是与差错类型相关的绑定差错类型。注:绑定差错起始于GB/T16975.1—2000中定义的[iaJ标签。7.6.4OSI解绑定请求OsiUnbind::一CHOICE{fully-encoded-data[APPLICATION1]IMPLICITSEQUENCESIZE(1)OFSE—QUENCE{presentation-context-identifierPresentation-context-identifier,presentation-data-valuesCHOICE{single—AsNl一type[o]TheOsiUnbind}))TheOsiUnbind::一[APPLICATION23IMPLICITSEQUENCEfreasonEo]IMPLICITRelease—request—reasonOPTIONAL)Release—request_reason::一INTEGERfnormal(O)}OsiUnbind被携带在会话FINISHSPDU(见8.3.6)的用户数据中。仅有应用联系的发起者才可以调用一个解绑定请求。注1:GB/T16975.i一2000的85定义了一个CONNECTION—PACKAGE信息客体类,其中的字段&responderCanUnbind规定了响应者是否可以发起一个解绑定请求。其缺省值为FALSE。本目录规范的第4版没有为任何协议增加&responderCanUnbind字段。IDM侪议允许响应者发起一个解绑定请求.除了DAP协议之外(见9.2.2)。注2:GB/T16975.12000的8.5还在CONNECTION-PACKAGE信息客体类中定义了一个&unbindCanFail字段,其缺省值为FALSE。本目录规范的第4版没有为任何西议增加&unbindCanFail字段。7.6.4.1表示协议元素表示协议元素仅指那些由ISO/IEC8823l:1994定义的数据类型User-data所定义的协议元素。presentation-context—identifier组件应当被给定一个值.其值应与规定了ACSE抽象语法的绑定请2I GB/T16264.5--2008/ISO/IEC9594—5:2005求中[j4Jpresentation—context-definition-list中元素的presentation-context~identifier具有相同的值。presentatJon—data—values组件应当拥有7.6.4.2中规定的ACSE坍议元素。7.6.4.2ACSE协议元素reason组件应当被设置为normal或该组件不存在。reason组件的不存在表示正常释放。注1:根据GB/T16975.2一1997的11.1.2,g∞SOn应当总是被设置为normal。注2:根据ISO/IEC88231:1994,一个连接的正常释放是没有表示协议元素的。正常释放是通过底层会话连接的正常释放而完成的。7.6.5OSI解绑定结果.0siUnbindResult::一CHOICE{fully-encoded-data[APPLIcATION13IMPLICITSEQUENCESIZE(1)OFsE—QUENCE{presentation-context-identifierPresentation-context-identifier,presentation-data-valuesCHOICE{single—ASNl~type[o]TheOsiUnbindRes))TheOsiUnbindRes::一[APPLIcATION33IMPLICITSEQUENCE{reason[o]IMPLICITRelease—response—reasonOPTIONAL}Release—response—reason::一INTEGERfnormal(O)}注:第5版之前的规范规定了GB/T16688中定义的A—REI。EASE服务的结果参数应当被设置“affirmati。。”。OsiUnbindResult被携带在会话DISCONNECTSPDU(见8.3.7)的用户数据中。7.6.5.1表示协议元素表示坍议元素仅指的是那些被ISO/7IEC8823i:1994中定义User-data数据类型所定义的协议元素。presentation—context—identifier组件应当被给定一个值,其值应与规定了ACSE抽象语法的绑定请求中的presentation-context—definition-list中元素presentatiomcontext-identifier具有相同的值。presentation—data—values组件应当拥有ACSE释放请求。7.6.5.2ACSE协议元素原因(reason)组件的不存在表示正常释放。7.6.6OSI操作OsiOperation{OPERATION:Operations)::一CHOICE{fully-encoded—data[APPLlcATION1]IMPLICITSEQUENCESIZE(1)OFsE—QUENCE{presentation-context—identifierPresentation-context-identifier,presentation—data-valuesCHOICE{single—ASNl一type[o]CHOICE{requestOsiReq“Operations)),resultOsiRes“Operations)),errorOsiErr{{Operations”,rejectOsiRej)})}OsiOperation被携带在会话DATATRANSFERSPDU(贝,8.3.10)的用户信息字段中。7.6.6.j表示协议元素presentation—context—identifier组件宜给定一个值.其值与绑定请求中presentation-context~defini一?2 GB/T16264.5--2008/ISO/IEC9594-5:2005tion-list元素的presentation-context-identifier具有相同的值,该绑定请求规定了有关问题的目录协议的目录抽象语法名(称)。presentation-data-values组件应保持目录请求、结果、差错或拒绝。7.6.6.2OSI请求OsiReq{OPERATION:Operations)::一[1]IMPLICITSEQUENCE{invokeldInvokeld,opcodeOPERATION.&operationCode({Operations)),argumentOPERATION.&ArgumentType({Operations){@opcode})}注1:请求起始于GB/T169751--2000中定义的[1]标签。invokeld组件标识了一个特定的调用。它的取值不应是已经用于先前请求的值,该请求要求一个响应(结果和/或差错)并仍在进行过程中。如果出现了这种情况,则接收者应当发出一个OsiReject,其中InvokeProblem被设置为duplicateInvocation。如果该请求不是应要求有响应,则在多长时间后可以重用invokeld是由内部进行选择的。注2:所有目前定义的目录操作都要求有一个响应。opcode组件的取值应为特定操作类型的操作代码。如果指定了一个未知的操作代码,则接收者应当发出一个OSIRejeet,其中InvokeProblem被设置为unrecognizedOperation。argument组件应持有变元,该变元由所涉及协议的opcode组件标识的操作类型中的ArgumentType字段形成。7.6.6.3OSI结果OsiRes{OPERATION:Operations)::一[2]IMPLICITSEQUENCE{InvokeldInvokeld,resultSEQUENCE{opcodeOPERATION.&operationCode({Operations)),resultOPERATION.&ResultType({Operations){@opcode))})注:结果起始于GB/T16975.12000中定义的[2]标签。invokelD组件的取值应当与相应请求中指定的值相同。opcode组件的取值应当与相应请求中指定的值相同。result组件的取值应当是根据所讨论协议的opcode组件指定的操作类型中的&ResultType字段来构造的结果。7.6.6.4OSI差错OsiErr{OPERATION:Operations)::一E3]IMPLICITSEQUENcE{invokelDInvokeld,errcodeOPERATl0N.&Errors.&errorCode({Operations)),errorOPERATION.&Errors.&ParameterType({Operations){@.errcode)))注:差错起始于GB/T16975.1~2000中定义的[3]标签。invokeID组件的取值应当与相应的OsiRequest中指定的值相同。errcode组件的取值应当被设置为某种差错代码,该差错是由相应的OsiRequest中的opcode所标识的OPERATION信息客体中的ERRORS字段所标识的差错之一。error组件持有由errcode组件所标识的参数。7.6.6.5OSl拒绝类型OsiRej被用于报告其他目录PDU的差错使用。它被规定如下:OsiRej::一[4]IMPLICITSEQUENCE{lnvokeldInvokeld,23 GB/T16264.5--2008/IS0/IEC9594—5:2005problemCHOICE{generalEo]GeneralProblem,invoke[1]InvokeProblem,returnResultE2]ReturnResultProblem,returnError[3]ReturnErrorProblem}}注:拒绝起始于GB/T16975.12000中定义的[4]标签。invokeld组件的取值应当与被拒绝的PDU中指定的调用号相同,除非如invokeld不能够被终止,则该字段应当选取absent选项(见6.2)。problem组件应当拥有7.6.6.6中定义的拒绝问题。7.6.6.6拒绝问题GeneralProblem;:一INTEGERfunrecognizedPDU(o),mistypedPDU(1),badlyStructuredPDU(2))GeneralProblem是目录PDU的具有格式或结构的基本问题。其可能性规定如下:a)unrecognizedPDU:PDU的引导标签指示出它不是一个OsiRequest,OsiResuh,OsiError或OsiRejeet;b)mistypedPDU:PDU的结构与相应的定义不符合;或者c)badlyStrueturedPDU:基于所期望的抽象语法,PDU的结构不能被确定。InvokeProblem::一INTEGER{duplicateInvocation(0),unrecognizedOperation(1),mistypedArgument(2),resourceLimitation(3),releaselnProgress(4)}InvokeProblem指z示OsiRequest中的某些组件是错误的。其可能性规定如下:a)dupIicateInvocation:见7.6.6.2;b)unrecognizedOperation:操作代码不在所涉及的目录协议定义的代码之内;c)mistypedArgument:变元没有"按?}}}opcode组件所标识的操作的&ArgumentType字段所要求的那样组织;d)resourceLimitation:由于资源的限制,预期的执行者不愿意执行此操作;或者e)releaseInProgress:由于正准备释放应用联系,预期的执行者不愿意执行此操作。ReturnResultProblem::一INTEGER