5G 从协议阅读开始(协议服务原语)

    科技2025-10-05  6

    前面提到,网络的模型OSI,由7层构成,每层通过使用下层提供的服务与对等层通信,从而使网络的节点相应应的层面上构成彼此同步的功能镜像,更充分地发挥彼此的底层资源。

    基于X.200的OSI模型,X.210进一步规范了OSI模型中提到的“Service”的使用模型,这就是服务原语Service Primitive,从而为定义协议服务提供一致性的语言;在实际的3GPP通信系统中,这些sevice primitive会更具体化为协议的层间消息。

    X.210的标题是:

    “ITU-T Recommendation X.210 (1993) | ISO/IEC 10731:1993, Information technology – Open Systems Interconnection – Conventions for the Definition of OSI services”

    为了更好的描述OSI service,制定更好的协议规范,我们引入service primitive的概念

    OSI-service primitive: An abstract, atomic, implementation-independent representation of an interaction between an service user and its service provider.

    按照primitive的发送和接收方向不同分别命名为: submit 和 deliver.

    服务原语之间的交互关系如下图示: 结合上图对等connection mode的4条相互关联的原语模型,4条原语定义为:

    (1)request (primitive)=requestor.submit (primitive): 服务请求者发出的原语(2)indication (primitive)=acceptor.deliver (primitive): 服务接收者收到的原语(3)response (primitive)=acceptor.submit (primitive): 服务接收者发出的原语(4)confirm (primitive)=requestor.deliver (primitive): 服务请求者接收到的原语

    并且request和indication,response和confirm相互关联;本地来看request和confirm,indication和response相互对应。

    对于connectionless mode只需(1)和(2)两条原语。

    一般来说,OSI-service primitives可以表达为:

    ServiceType(param1, …, paramn)

    当通过服务原语来准确全面描述协议服务功能时,服务原语的命名就体现了服务的结构化,服务原语命名规定如下:

    其中:

    service-name: identifies the (N)-layer or the component of the Application Layer providing the OSI-service

    【例如:C 代表应用层的Commitment, Concurrency and Recovery ASE (CCR)功能; P 代表Presentation Layer; S 代表Session Layer; T 代表 Transport Layer; N 代表Network Layer (see Note); DL代表Data Link Layer; Ph 代表Physical Layer.】

    service-primitive-name: identifies the facility to which the OSI-service primitive belongs

    【命名如下: A single word, consisting of the indicative form of a verb is recommended for the service-primitive-name (e.g. CONNECT | SYNCHRONIZE | …】

    basic-primitive: specifies whether the OSI-service primitive is of the type SUBMIT or DELIVER. primitive-sub-type: allows for a refinement of the OSI-service primitive type (e.g. REQUESTOR | ACCEPTOR | …)

    【如前面所述,这一部分通过request/indication/response/confirm等来替代 ***(a) Request in place of requestor.submit; b) Indication in place of acceptor.deliver; c) Response in place of acceptor.submit; d) Confirm in place of requestor.deliver.***】

    应用上述服务原语的例子在3GPP消息定义中随处可见,例如:

    3GPP TS44.005 第4章,服务原语的命名如下:XX Generic Name Type (Parameters),XX designates the layer providing the services 具体的例子不完全罗列如下: DL-DATA-REQUEST/INDICATION, DL-ESTABLISH-REQUEST/INDICATION/CONFIRM DL-SUSPEND-REQUEST/CONFIRM DL-RESUME-REQUEST/CONFIRM, PH-DATA-REQUEST/INDICATION, PH-RANDOM ACCESS-REQUEST/INDICATION/CONFIRM PH-CONNECT-INDICATION

    这样我们就可以通过服务原语来具体化特定协议了,比如X.210附录F提到的Abracadabra协议就根据下图所示的服务原语的定义如下:

    如果针对各条原语进行展开,分别描述原语的生命周期和处理过程,这就是具体的协议规范内容。

    从另一方面讲,借助自动工具把服务原语的具体化,这就产生了对应的协议开发语言,参见ISO-IEC TR10167,对于Estelle,SDL和LOTOS与OSI服务模型的对应说明。
    Processed: 0.011, SQL: 8