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

前面提到,网络的模型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的发送和接收方向不同分别命名为: submitdeliver.

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

  1. (1)request (primitive)=requestor.submit (primitive): 服务请求者发出的原语
  2. (2)indication (primitive)=acceptor.deliver (primitive): 服务接收者收到的原语
  3. (3)response (primitive)=acceptor.submit (primitive): 服务接收者发出的原语
  4. (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服务模型的对应说明。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值