1. 标准概况与适用范围

“content”: “

1. 标准概况与适用范围

ISO/IEC 10728:1995(2018年确认),通常称为抽象服务定义约定(Abstract Service Definition Conventions, ASDC),是国际标准化组织(ISO)和国际电工委员会(IEC)联合发布的一项信息技术标准。2018年,加拿大标准委员会(SCC)通过CSA将其采纳为国家标准(CAN/CSA-ISO/IEC 10728-95),确认其技术内容继续有效。该标准由ISO/IEC JTC 1/SC 6(系统间远程通信和信息交换)分技术委员会制定,属于OSI应用层架构的核心基础性约定。

ASDC标准的主要适用范围包括:

  • 定义OSI应用层内抽象服务(Abstract Service)的概念模型和规范方法;
  • 提供用于描述服务原语、服务参数和服务行为的统一模板;
  • 指导应用层协议规范(如ACSE、ROSE、RTSE、CCR等)如何书写服务定义;
  • 供需要与OSI服务定义保持一致的分布式应用框架(如CORBA、Web服务)参考使用。
实用提示:尽管OSI协议栈已不再是市场主流,但ASDC定义的抽象服务方法至今仍被许多现代标准化组织(如ITU-T、IETF)用于协议规范中的服务接口描述,是理解”面向连接/无连接服务”规范的基石。

该标准适用于系统设计人员、协议规范作者、测试套件开发人员以及任何需要精确定义通信服务接口的技术人员。

2. 主要技术内容与要求

2.1 抽象服务的核心概念

ASDC围绕以下核心要素构建:

  • 服务提供者(Service Provider):位于服务边界之内,负责向服务用户提供通信能力;
  • 服务用户(Service User):位于服务边界之外,通过服务原语与服务提供者交互;
  • 服务原语(Service Primitive):服务用户与服务提供者之间不可分割的交互单元,可分为四种类型:Request(请求)、Indication(指示)、Response(响应)、Confirm(确认);
  • 服务参数(Service Parameter):伴随原语传递的数据元素,其数据结构和编码通常使用ASN.1定义;
  • 服务行为(Service Behavior):规定在特定时序下原语的产生顺序和参数约束。

2.2 服务原语类型与时序模型

ASDC定义了四种基本原语类型,以及它们在不同服务类型(确认型、非确认型)中的组合方式,如下表所示:

原语类型缩写方向含义
Requestreq用户 → 提供者服务用户请求服务提供者执行某个动作
Indicationind提供者 → 用户服务提供者向服务用户通报事件或传递数据
Responsersp用户 → 提供者服务用户响应之前收到的Indication
Confirmcnf提供者 → 用户服务提供者确认服务用户之前的Request已完成

对于确认型服务(Confirmed Service),时序要求为:Request → Indication → Response → Confirm。对于非确认型服务(Non-confirmed Service),简化为:Request → Indication。标准同时允许”Provider-initiated”原语(即Indication不因Request产生)。

重要注意事项:在编写服务定义时,必须严格区分”服务原语类型”与”协议数据单元(PDU)类型”。ASDC只关心服务边界上的交互,不涉及内部协议机制。常见的错误是在服务定义中混入底层协议细节,导致服务规范失去抽象性和复用性。

2.3 服务定义规范模板

ASDC要求每个服务必须包含以下信息:

  • 服务名称和分类(连接建立、数据传输、连接释放等);
  • 服务原语列表(每个原语包含其参数);
  • 每个参数的使用规则(是否必选、是否条件可选、值域、编码类型);
  • 服务时序图或状态表(描述原语合法顺序及服务提供者的内部状态转换);
  • 服务约束(如服务质量参数、流量控制等)。

标准还提供了使用ASN.1对服务参数进行抽象定义的具体示例,确保服务定义与实现无关。

2.4 对抽象语法和传输语法的要求

ASDC明确规定服务参数应使用抽象语法记法(ASN.1)进行定义,并建议使用标准的传输语法(如BER、DER或PER)进行编码。标准强调服务定义应独立于传输语法选择,由具体实现或协议实现在一致性声明中确定。

3. 实施与应用要点

3.1 在应用层协议规范中的应用

遵循ASDC的服务定义方法,可以使协议规范具有以下优点:

  • 抽象性:服务接口与实现机制解耦;
  • 一致性:所有应用层协议采用相同的定义风格,降低学习成本;
  • 互操作性:清晰的服务边界有助于多厂商实现之间的互联。

ISO/IEC 10728-95在实际中常被引用作为给定应用层标准(例如ITU-T Rec. X.217 / ISO/IEC 8649 — ACSE服务定义)的规范性引用文件。实施者在编写新的应用层服务定义时,应按ASDC的要求:

  1. 从OSI高层架构(ISO/IEC 7498-1)中明确服务角色;
  2. 使用ASN.1模块单独定义所有服务参数;
  3. 提供时序图和原语表;
  4. 对每个服务原语标注是否可能产生原语序列的异常(如拒绝、失败等)。
标准实施的益处:采用ASDC后,协议规范更容易被自动机测试工具验证(如基于TTCN的ETSI测试套件),显著降低协议一致性测试的复杂度,尤其适用于电信和航空电子等高可靠性领域。

3.2 与其他标准的一致性要求

尽管标准本身不强制要求所有服务定义必须完全按照其模板书写,但ISO/IEC 10728-95在OSI标准体系中是规范性引用,因此凡是声称符合”OSI应用层服务定义”的规范都必须遵守。在实施过程中需注意:

  • 服务原语类型(req/ind/rsp/cnf)不能任意扩充或改变名称;
  • 如果服务需要支持多用户,则应遵循ASDC中对”服务连接”和”服务端点”的约定;
  • 服务参数必须明确标注其”服务边界可见性”(是仅在本地可见还是需要编码传输)。
安全关键要求:在涉及安全服务的应用协议(如ISO/IEC 10181系列)中,ASDC要求强制使用”确认型原语”来保证安全信息的可靠交付。任何将安全相关服务定义为非确认型的行为,必须提供充分的风险合理性论证,否则将不满足OSI安全架构的基本要求。

4. 与其他标准的关系

ASDC并非孤立的规范,它与以下标准构成了OSI应用层设计的核心支柱:

标准编号名称关系说明
ISO/IEC 7498-1OSI基本参考模型提供分层模型,ASDC中”服务层”的概念直接派生于此
ISO/IEC 10731OSI服务定义约定提供更抽象的服务定义框架(如原语通用语义),ASDC进一步细化为应用层服务定义
ISO/IEC 8824/8825ASN.1 (抽象语法记法) 及其编码规则ASDC要求使用ASN.1描述服务参数,两者通常配套使用
ISO/IEC TR 8509OSI服务约定与ASDC互补,前者侧重服务约定的一般原则,后者侧重应用层具体约定
ISO/IEC 9545 (已撤)应用层结构ASDC曾被用于指导应用服务元素(ASE)和ACSE的定义

此外,虽然TCP/IP架构不使用OSI服务定义,但IETF在定义RPC、NFS等协议时也吸收了ASDC中原语分离(Primitive Splitting)的思想。因此,了解ASDC有助于更深入地理解现代通信协议设计的演进脉络。

常见问题(FAQ)

问:ISO/IEC 10728-95与ISO/IEC 10731有何区别?
答:ISO/IEC 10731(OSI服务定义约定)是更通用的服务定义框架(包括服务原语的一般概念、服务类别等),适用于所有OSI层次;而ISO/IEC 10728-95专门针对应用层,提供了更具体的服务原语类型、时序模型和参数定义模板,并强调与ASN.1的直接结合。
问:ASDC标准现在还有实际使用价值吗?
答:是的。虽然纯OSI协议栈已较少部署,但ASDC定义的抽象服务方法被多个现代标准继承,例如ITU-T的Q系列信令协议、工业自动化中的OPC UA通信模型,以及部分军用数据链标准(如Link 16的J系列报文定义)仍采用类似原语约定。它也是学习服务化架构(SOA)和微服务接口设计原理的重要思想源泉。
问:使用ASDC定义服务时,必须使用ASN.1吗?
答:标准强烈推荐使用ASN.1,但未绝对禁止其他抽象语法。然而,若协议需要与OSI环境互操作,或需要引用其他OSI服务定义中的参数类型,则ASN.1几乎是唯一选择。对于非OSI环境,可参考其方法但不必完全绑定ASN.1。
问:2018年的确认意味着标准内容发生了变更吗?
答:不,2018年的确认审查(Review)表明标准的技术内容仍符合当前需求,无需修改或撤销。标准文本保持1995年版本不变,确认标签只表明ISO/IEC对其有效性进行了重新确认。加拿大CSA版本同样确认了该标准成为2018年版的国家标准。

本文版权归作者所有,2026年。任何转载或引用应保留此声明。

📥 标准文件下载

🔒
请等待 10 秒,广告加载完成后将自动显示下载链接

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注