停止等待协议与连续 ARQ 协议
一、停止等待协议
停止等待”就是每发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组。
全双工通信的双方既是发送方也是接收方。
为了讨论问题的方便,我们仅考虑 A 发送数据,而 B 接收数据并发送确认。因此 A 叫做发送方,而 B 叫做接 收方。
1. 无差错情况
2. 出现差错情况:
- 在接收方 B 会出现两种情况:
(1)B 接收 M1 时检测出了差错,就丢弃 M1,其他什么也不做(不通知 A 收到有差错的分组)。
(2)M1 在传输过程中丢失了,这时 B 当然什么都不知道,也什么都不做。 - 在这两种情况下,B 都不会发送任何信息。
- 但A都必须重发分组,直到B正确接收为止,这样才能实现可靠通信。
问题1:A如何知道 B 是否正确收到了 M1 呢?
解决方法:超时重传
A 为每一个已发送的分组都设置了一个超时计时器
。
A 只要在超时计时器到期之前收到了相应的确认,就撤销该超时计时器,继续发送下一个分组 M2 。
若A在超时计时器规定时间内没有收到B的确认,就认为分组错误或丢失,就重发该分组。
问题2:若分组正确到达B,但B回送的确认丢失或延迟了,A未收到B的确认,会超时重发。B 可能会收到重复的 M1 。B如何知道收到了重复的分组,需要丢弃呢?
解决方法:编号
A为每一个发送的分组都进行编号。若B收到了编号相同的分组,则认为收到了重复分组,丢弃重复的分组,并回送确认。
B为发送的确认也进行编号,指示该确认是对哪一个分组的确认。
A根据确认及其编号,可以确定它是对哪一个分组的确认,避免重发发送。若为重复的确认,则将其丢弃。
二、连续 ARQ 协议
基本思想
:
发送方一次可以发出多个分组。
使用滑动窗口协议
控制发送方和接收方所能发送和接收的分组的数量和编号。
每收到一个确认,发送方就把发送窗口向前滑动
。
接收方一般采用累积
确认的方式。
采用回退N
(Go-Back-N)方法进行重传。
学习自课件
停止等待协议与连续 ARQ 协议相关推荐
- TCP连续ARQ协议和滑动窗口协议
TCP协议通过使用连续ARQ协议和滑动窗口协议,来保证数据传输的正确性,从而提供可靠的传输. 一.ARQ协议 ARQ协议,即自动重传请求(Automatic Repeat-reQuest),是OSI模 ...
- 运输层----ARQ 协议 ---- 连续 ARQ 协议
连续 ARQ 协议 ARQ:自动重传请求,(Automatic Repeat reQuest) 停止等待协议 (学习ARQ的基础) "停止等待"就是每发送完一个分组就停止发送,等待 ...
- 连续arq协议的利用率_KCP 协议与源码分析
文章来源于 CSDN-专业IT技术社区-登录 简介 这部分摘自https://github.com/skywind3000/kcp,这是源码的官方网站,有一些使用介绍,其他各种衍生版本,在实际中的使用 ...
- 连续arq协议的利用率_Chrome底层原理和HTTP协议 - 石吴玉
转自公众号: 程序员小灰 第一问:Chrome为什么打开一个页面,会有4个进程? 学习掌握:浏览器中的网络流程,页面渲染过程,JavaScript执行流程,以及Web安全理论.下面展开问题了解多进程架 ...
- 深入探讨——信道利用率[停止-等待协议、回退N帧的ARQ协议]
✅ 在学<计算机网络与通信>时,深入探讨并总结了 "信道利用率" 这个重点,做了一点笔记 个人简介:南京邮电大学,计算机科学与技术,在读本科 兴趣领域:数据结构.C/C ...
- TCP可靠传输:ARQ协议(停止等待、超时重传、滑动窗口、回退N帧、选择重传)
ARQ(Automatic Repeat-reQuest,自动重传请求) 一. ARQ简介 二. 停止等待ARQ (1)正常传输 (2)传输出现差错 1. 超时重传 2. 编号 (3)信道利用率 三. ...
- 计算机网络——ARQ协议(自动重传请求)原理
摘要 自动重传请求(Automatic Repeat-reQuest,ARQ)是OSI模型中数据链路层和传输层的错误纠正协议之一.它通过使用确认和超时这两个机制,在不可靠服务的基础上实现可靠的信息传输 ...
- 计算机网络——ARQ协议
ARQ协议 ARQ协议 停等式 ARQ 协议 停等协议的工作流程 数据帧在链路上传输的几种情况 信道利用率 连续 ARQ 协议 回退N帧的ARQ协议 基本特点 优点与缺点 选择重传ARQ协议 基本特点 ...
- 计算机网络各层协议说明及常见协议
计算机网络协议,记录 目录 概念图 各层说明及协议 一.物理层(Physical Layer) 二.数据链路层(Datalink Layer) 三.网络层(Network Layer) 四.传输层(T ...
最新文章
- topcoder13444
- 编程之美-电梯调度算法方法整理
- 吴恩达《优化深度神经网络》精炼笔记(1)-- 深度学习的实用层面
- ajax php 投票,PHP 实例 AJAX 投票
- 他靠一生仅有的三篇论文改变了摩尔根,后来却从生物学界销声匿迹了
- angularJS之angular-datatable的方法
- macOS中LaTeX报错Package fontspec Error: The font “SimHei“ cannot be found
- 个人博客登录注册部分
- 2019牛客多校赛第8场 D Distance 三维树状数组
- Unity3D 《拥挤城市》3D房子建筑透视效果实
- JavaScript 之 学习网站推荐 强推【javascript.info】
- 今日头条视频如何收益
- 从中医的角度认识感冒
- 国内技术管理人员批阅google的“春运交通图”项目
- 拥有微软Windows CE的实时系统
- 针对德尔塔等变异株!国产皮卡新冠疫苗开启临床实验;重庆成都互为人才外流第一目标城市 | 美通社头条...
- python如何获取股票数据_Python|一行代码获取股票数据
- 推荐一个第三方微博客户端
- 第三次自考第一阶段总结
- 画论74 邵梅臣《画耕偶录·论画》
热门文章
- Windows 11录屏的方法
- 蓝牙耳机什么牌子的好?口碑、销量双高的十大蓝牙耳机品牌!
- Android学习笔记 2.5.3 实例——使用SimpleAdapter创建ListView 2.5.4 自动完成文本框(AutoCompleteTextView)的功能与用法
- linux中tomcat部署项目步骤以及命令
- 阿拉伯字母发音--全集
- IntelliJ IDEA之开发环境配置
- C#中操作Word(8)—— 向Word中插入图表的三种方法(一)
- [转载]JS和AS交互 作者:ludanlove
- 31_ElasticSearch 修改IK分词器源码来基于mysql热更新词库
- 狂神说Spring笔记(全网最全)