ISO/IEC 10731:1996 信息技术 开放系统互连 服务定义的约定 技术详解

OSI服务规范化定义的核心框架与实施要点指南

标准概况与适用范围

ISO/IEC 10731:1996《信息技术 — 开放系统互连 — 基本参考模型 — 服务定义的约定》(Information technology — Open Systems Interconnection — Basic Reference Model — Conventions for the definition of OSI services)是OSI参考模型(ISO 7498)框架下的重要支撑标准。该标准于1996年首次发布,随后被多个国家采纳,如加拿大标准CAN/CSA-ISO/IEC 10731-96(R2004)。其核心目标是统一和规范OSI服务定义所使用的概念、术语、抽象模型和表述方法。

本标准适用于所有需要定义OSI层服务的专家、标准制定者及协议设计者。它为服务定义文档提供了通用的结构、规则和符号,确保不同层级(从物理层到应用层)的服务定义能够在语义和形式上保持一致,从而降低互操作歧义。

长期价值:即使在当代的TCP/IP和分布式系统设计中,ISO/IEC 10731所确立的服务抽象原则和原语分类方法仍被广泛借鉴,保证了技术传承与设计规范性。

主要技术内容与要求

ISO/IEC 10731围绕着OSI服务定义的四个核心方面做出规定:

  • 服务原语体系结构:定义服务原语的四类类型及其交互方向。
  • 服务原语定义表:规定使用标准表格描述原语的参数和语义。
  • 服务时间序列描述:通过时序图或状态机表达服务过程的动态行为。
  • 服务质量(QoS)规定约定:明确如何定义、描述和传递服务质量参数。

服务原语体系结构

标准将服务访问点(SAP)之间的交互抽象为四类原语,每种原语代表一个服务事件:

原语类型缩写方向典型用途
请求(Request)Req服务用户 → 服务提供者发起一个服务操作(如建立连接、发送数据)
指示(Indication)Ind服务提供者 → 服务用户通知服务用户远端发生了某个事件
响应(Response)Resp服务用户 → 服务提供者服务用户对某个指示作出应答
确认(Confirm)Conf服务提供者 → 服务用户确认之前请求的结果(成功或失败)

并非所有服务操作都使用全部四种原语。无连接服务通常只需Req和Ind两种原语;而面向连接的服务在连接建立阶段通常包含完整的四原语交换。标准明确给出了在不同服务类型中原语的取舍规则。

服务原语定义表

标准要求每个服务原语必须通过一个标准表格加以详细定义,表格包括:原语名称、类型、携带的参数列表、每个参数的数据类型、取值范围及语义说明。参数表中应明确参数的存在条件(必选/可选/条件可选)以及在此原语中出现的方向(交互时是用户提供还是提供者指定)。

实用提示:在依照ISO/IEC 10731定义新服务时,建议先建立参数字典,再逐一填入不同原语的表格,这样可避免参数定义的不一致。

时间序列描述

标准推荐使用时间序列图(与服务原语图类似)来描述多个原语在时间轴上的交互顺序。图中垂直虚线代表不同的服务用户和服务提供者实体,带箭头的水平线段标注原语类型和参数概略。这种图示法与ISO 7498附录的风格一致,有助于直观理解服务过程。

常见误区:有些设计者将时间序列图与协议数据单元(PDU)交换图混淆。前者仅描述服务接口上的抽象原语,不应包含具体的协议头部格式;后者属于协议规范层,需在对应层协议标准中定义。

实施与应用要点

服务定义编写规范

遵循ISO/IEC 10731编写服务定义时,应注意以下几点:

  • 明确服务模型是面向连接、无连接还是二者兼有。
  • 为每个服务操作定义清晰的服务原语语序(如Req→Ind→…),并说明失败和异常处理的时序。
  • 在定义参数时,建议使用标准预定义的类型(如整数、布尔、枚举、八位位组串等),避免自定义复杂结构。
  • QoS参数应采用统一的度量单位,并规定在服务原语中QoS是显式传递还是隐含在上下文中。
强制条款:本标准第6章明确规定,任何OSI服务定义文档必须包含服务原语分类的说明,否则不能声称符合OSI服务定义约定。对于声称符合ISO/IEC 10731的文档,必须通过一致性检查,确保所有原语类型均按本标准命名和归类。

一致性与验证

实现者可将服务定义作为测试用例设计的输入,通过检查服务提供者是否按照定义的原语序列响应来验证服务实现的一致性。此外,标准还给出了服务原语描述的形式化符号规则,支持工具化验证。

标准实施益处:采用统一的约定可显著降低多层服务接口定义的复杂性,使得不同层(如X.25数据链路层与网络层、或TCP与IP层)的服务定义风格一致,便于开发者理解和跨层适配。

与其他标准的关系

ISO/IEC 10731是OSI基础参考模型(ISO 7498)的直接子标准,两者相辅相成。ISO 7498提供了分层模型和术语,而ISO/IEC 10731定义了这些术语如何被用来编写具体的服务定义标准。

该标准还紧密关联于:

  • ITU-T X.200系列建议书:X.210(OSI服务定义约定)与ISO/IEC 10731在技术内容上等效。
  • 各层服务定义标准:如ISO 8348(网络层服务定义)、ISO 8072(传输层服务定义)等,它们都明确引用ISO/IEC 10731作为服务定义的编排规范。
  • ISO/IEC 10732系列:用于协议规范的定义约定,与服务定义约定配套使用。

在2026年的技术环境下,尽管基于OSI模型的完整协议栈已不为主流,但ISO/IEC 10731所确立的服务抽象方法(如SAP、服务原语四分类)仍被ITU-T的下一代网络规范和某些工业总线标准所沿用。理解该标准有助于深入阅读旧版通信标准,并能更好地把握服务与协议分离的设计哲学。

问:ISO/IEC 10731与ISO 7498有何根本区别?
答:ISO 7498是OSI参考模型本身,定义了7层架构和基本概念;ISO/IEC 10731则是关于如何编写这些层服务定义的元标准(约定标准),不定义任何具体服务,只提供工具。
问:在当今TCP/IP主导的环境下,学习本标准还有实际价值吗?
答:有。其一,很多遗留系统(如X.25、帧中继)仍使用OSI服务定义;其二,服务原语的思想被广泛用于SDN北向接口、中间件API设计;其三,理解OSI服务定义约定有助于提升协议抽象设计能力。
问:服务原语定义表中的参数必须全部列出吗?
答:标准要求所有参数都必须列出,但允许根据条件标注为“必选”“可选”或“条件可选”。在定义无连接服务时,可能只有少数参数;面向连接服务参数会较多。关键是保证每条原语的定义明确无歧义。
问:该标准在2026年的官方状态如何?
答:ISO/IEC 10731:1996已被ISO/IEC 10731:2015(第三版)替代,但1996版仍被广泛参考(尤其许多国家采纳版本如CAN/CSA-ISO/IEC 10731-96 (R2004))。本文内容基于1996版,主要概念在新版中保持一致。建议查阅最新版以获得完全一致性的要求。

📥 标准文件下载

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

发表回复

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