[转] 计算机网络中的服务原语

点击阅读原文

从一个驱动的代码中看到了 request / indication / response / confirm 等函数,不知是什么功能,上网找了找才发现原来是《计算机网络》中有关服务原语的概念。摘抄如下:

服务原语包含四种类型:

请求(request):一个实体希望得到完成某些操作的服务
指示(indication):通知一个实体,有某个事件发生
响应(response):一个实体希望响应一个事件
证实(confirm):返回对先前请求的响应

原语一般都携带参数。
证实型(confirmed)和非证实型(unconfirmed)服务的区别:
证实型服务包含所有4种服务原语。
非证实型服务只包含请求和指示2种服务原语。

服务原语工作示例

  1. COENNCT.request:呼叫方请求建立连接
  2. CONNECT.indication:被呼叫方指示有人请求建立连接
  3. CONNECT.response:被呼叫方表示接受/拒绝建立连接请求
  4. CONNECT.confirm:通知呼叫方建立连接的请求是否被接受
  5. DATA.request:请求发送数据
  6. DATA.indication:指示数据的到达
  7. DISCONNECT.request:请求释放连接
  8. DISCONNECT.indication:指示对方释放了连接

服务与协议的关系

服务是各层向它上层提供的一组原语,定义了两层之间的接口。
协议是同层对等实体之间交换数据帧、分组和报文的格式及意义等信息的一组规则。
服务确定了能为上一层提供的操作。
协议实现为上一层提供服务的具体方法。

posted @ 2018-08-30 09:34  icuic  阅读(4139)  评论(0编辑  收藏  举报