一、停止等待协议
停止等待”就是每发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组。
全双工通信的双方既是发送方也是接收方。

为了讨论问题的方便,我们仅考虑 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 协议相关推荐

  1. TCP连续ARQ协议和滑动窗口协议

    TCP协议通过使用连续ARQ协议和滑动窗口协议,来保证数据传输的正确性,从而提供可靠的传输. 一.ARQ协议 ARQ协议,即自动重传请求(Automatic Repeat-reQuest),是OSI模 ...

  2. 运输层----ARQ 协议 ---- 连续 ARQ 协议

    连续 ARQ 协议 ARQ:自动重传请求,(Automatic Repeat reQuest) 停止等待协议 (学习ARQ的基础) "停止等待"就是每发送完一个分组就停止发送,等待 ...

  3. 连续arq协议的利用率_KCP 协议与源码分析

    文章来源于 CSDN-专业IT技术社区-登录 简介 这部分摘自https://github.com/skywind3000/kcp,这是源码的官方网站,有一些使用介绍,其他各种衍生版本,在实际中的使用 ...

  4. 连续arq协议的利用率_Chrome底层原理和HTTP协议 - 石吴玉

    转自公众号: 程序员小灰 第一问:Chrome为什么打开一个页面,会有4个进程? 学习掌握:浏览器中的网络流程,页面渲染过程,JavaScript执行流程,以及Web安全理论.下面展开问题了解多进程架 ...

  5. 深入探讨——信道利用率[停止-等待协议、回退N帧的ARQ协议]

    ✅ 在学<计算机网络与通信>时,深入探讨并总结了 "信道利用率" 这个重点,做了一点笔记 个人简介:南京邮电大学,计算机科学与技术,在读本科 兴趣领域:数据结构.C/C ...

  6. TCP可靠传输:ARQ协议(停止等待、超时重传、滑动窗口、回退N帧、选择重传)

    ARQ(Automatic Repeat-reQuest,自动重传请求) 一. ARQ简介 二. 停止等待ARQ (1)正常传输 (2)传输出现差错 1. 超时重传 2. 编号 (3)信道利用率 三. ...

  7. 计算机网络——ARQ协议(自动重传请求)原理

    摘要 自动重传请求(Automatic Repeat-reQuest,ARQ)是OSI模型中数据链路层和传输层的错误纠正协议之一.它通过使用确认和超时这两个机制,在不可靠服务的基础上实现可靠的信息传输 ...

  8. 计算机网络——ARQ协议

    ARQ协议 ARQ协议 停等式 ARQ 协议 停等协议的工作流程 数据帧在链路上传输的几种情况 信道利用率 连续 ARQ 协议 回退N帧的ARQ协议 基本特点 优点与缺点 选择重传ARQ协议 基本特点 ...

  9. 计算机网络各层协议说明及常见协议

    计算机网络协议,记录 目录 概念图 各层说明及协议 一.物理层(Physical Layer) 二.数据链路层(Datalink Layer) 三.网络层(Network Layer) 四.传输层(T ...

最新文章

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

热门文章

  1. 一行代码实现自制炫酷二维码
  2. 嵌入式学习⑤——STM32嵌入式应用系统设计
  3. java Swing组件总结
  4. 光学红外雨量IFR202型传感器应用于智慧灌溉智能家居地质灾害等行业
  5. Elesticsearch基础
  6. 使用HtmlUnit爬取知网论文
  7. GTD时间管理:高效管理你的时间,GTD软件一款就够
  8. 【LeetCode刷题笔记-39 714.买卖股票的最佳时机(含手续费)】
  9. 视频剪辑必备,5个视频素材网站,马住
  10. 选好核心交换机六个关键指标有哪些?