当前位置: 首页 > article >正文

实体、协议、服务和服务访问点

目录

一、概念

二、相邻两层之间的关系

三、面向连接服务的特点

四、无连接服务的特点

五、著名的协议举例


一、概念

  • 实体(entity)表示任何可发送或接收信息的硬件或软件进程。同机器上同一层的实体叫做对等实体(peer entity)。
  • 协议(protocol)是控制两个对等实体进行通信的规则的集合,即协议是“水平的”。 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下层所提供的服务。
  • 服务(serve)是各层向它的直接上层提供的一组原语或操作,是由下层向它的直接上层通过层间接口提供的,即服务是“垂直的”。本层的服务用户只能看见服务而无法看见下面的协议。下面的协议对上面的服务用户是透明的。

二、相邻两层之间的关系

  • 连接:是两个对等实体为进行数据通信而进行的一种结合。
  • 服务:是各层向它的直接上层提供的一组原语或操作,有面向连接和无连接两类类型的服务。
  • 面向连接服务(connection-oriented) ——具有连接建立数据传输连接释放这三个阶段。
  • 无连接服务(connectionless) ——两个实体之间的通信不需要先建立好连接。 是一种不可靠的服务。这种服务常被描述为“尽最大努力交付”(best effort delivery)或“尽力而为”。

三、面向连接服务的特点

(1)面向连接服务的数据传输过程必须经过连接建立、连接维护与释放连接的三个阶段;
(2)面向连接服务的传输连接类似一个通信管道,发送者在一端放入数据,接收者从另一端取出数据,分组在数据传输过程中可以不携带目的结点的地址;
(3)面向连接数据传输的收发数据顺序不变,传输可靠性好,但是协议复杂,通信效率不高
(4)比较适合于在一定期间内要向同一目的地发送许多

四、无连接服务的特点

(1)无连接服务中的数据传输过程不需要经过连接建立、连接维护不释放连接的三个过程。
(2)无连接服务的每个分组都携带完整的目的结点地址,各分组在系统中是独立传送的;
(3)数据分组传输过程中,目的结点接收的数据分组可能出现乱序、重复不丢失的现象;
(4)无连接服务的可靠性不好,但是协议相对简单,通信效率较高
注意: 面向连接服务并不等同于“可靠的服务“

、著名的协议举例

       占据两个山顶的 蓝军 与驻扎在这山谷的 白军 作战。
       力量对比是:一个山顶上的蓝军打不过白军,但两个山顶的蓝军协同作战就可战胜白军。一个山顶上的蓝军拟于次日正午向白军发起攻击。于是发送电文给另一山顶上的友军。但通信线路很丌好,电文出错的可能性很大。因此要求收到电文的友军必须发送确认电文。但确认电文也可能出错。
      试问能否设计出一种协议,使得蓝军能实现协同作战因而一定(即100 %)取得胜利?

即,一边收到消息后发送确认,两边就一直在确认,这样的协议是不行的。

http://www.kler.cn/a/157121.html

相关文章:

  • 一文大白话讲清楚javascript浮点数精度丢失和解决策略
  • 什么是Dirac分布?为什么用它来做MAP(最大后验估计, Maximum A Posteriori)?中英双语
  • `we_chat_union_id IS NOT NULL` 和 `we_chat_union_id != ‘‘` 这两个条件之间的区别
  • Springboot关于格式化记录
  • Nmon(Nigel‘s Performance Monitor)
  • 修改 ssh 默认访问端口
  • 【重点】【滑动窗口】239. 滑动窗口最大值
  • Appium:iOS部署
  • 深度学习在训练时更新和保存最佳训练结果的方法(字典方法,本地保存方法,模型深拷贝方法)
  • selenium中元素定位正确但是操作失败,6种解决办法全搞定
  • 六、ZooKeeper Java API操作
  • 【数据结构】——栈|队列(基本功能)
  • Python字符串模糊匹配工具:TheFuzz 库详解
  • 关于使用百度开发者平台处理语音朗读问题排查
  • Spring-Security取消验证-Get请求接口正常,Post请求报错403
  • java后端技术演变杂谈(未完结)
  • c语言笔记之小项目家庭收支记账软件
  • java synchronized详解
  • ruby安装(vscode、rubymine)
  • 「Qt Widget中文示例指南」如何创建一个计算器?(二)
  • 深度学习(五):pytorch迁移学习之resnet50
  • MySQL安装,建立,导入本地Txt文件
  • 寻找两个有序数组的中位数算法(leetcode第4题)
  • Android 7.1 点击清空全部按钮清空一切运行进程(包括后台在播音乐)
  • 【Linux】进程控制--进程创建/进程终止/进程等待/进程程序替换/简易shell实现
  • CPP-SCNUOJ-Problem P29. [算法课指针] 颜色分类,小白偏题超简单方法