停止等待协议与连续 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 ...
最新文章
- ASP.net session 使用总结(2)
- MyBatis框架使用(一)
- ATTCK框架简介 已知攻击技术汇总
- Google工程师带你学算法
- Ribbon为什么要加入点对点直连的功能?如何操作?两句话玩转!
- php旅行社网站源码在线支付,PHP各大支付平台在线支付集成源码
- 一个逐页抓取网站小说的爬虫
- Ubuntu8.04安置XCrysDen
- 【交易技术前沿】新一代证券交易系统应用架构的研究
- mysql数据库入门传智播客答案_MySQL数据库入门
- 分布式机器学习——入门篇
- 访问控制列表——ACL
- 计算机图形学教程动画实验报告,计算机图形学画圆实验报告.doc
- 【百元钱买百只鸡问题】一只公鸡5元钱,一只母鸡3元钱,三只小鸡1元钱。要求100元买100只鸡,请给出所有可行的结果?
- tipask火车头采集器文章和提问发布模块|非免登录
- 一图看懂自然资源资金监测监管系统
- 阿里M8级大神整理出SQL手册:收获不止SQL优化,抓住SQL的本质
- Ubuntu设置仅允许特定用户或特定IP通过ssh访问
- nginx设置cookie
- 【100个 Unity实用技能】| C# 中List 使用Exists方法判断是否存在符合条件的元素对象