一、滑动窗口协议

为了解决停等操作的性能问题(发了一个分组之后一直等到确认了这个分组才发下一个),推出了流水线机制,提供资源利用率。就是允许发送方在收到对方的ACK前,发送多个分组

其中窗口是一个范围管理发出去还没确认的分组,随着不断传输,这个窗口不断滑动,名称的由来。窗口左端的序号收到了ACK,就可以往右滑动了。

滑动窗口协议有GBN、SR

二、滑动窗口协议的实现:GBN

1.分组头部包含序列号

2.窗口如下,大小为N,最多允许N个分组未确认

3.ACK(n),则表示确认从开始到n(包含n)的序列号全部正确接收

4.会空中在传的分组设置一个Timer计时器,处理超时,如果收到了timeout(n)事件,那么会重传的是n以及n以后的所有分组(尽管后面的可能已经收到了,这就是回退,回退到n开始传,GBN)

5.接收方会有一个期望序列号,如果收到的不是期望的分组,直接丢弃

三、滑动窗口协议的实现:SR(选择重传)

GBN缺陷,累积确认机制导致回退到N,重复传了很多。解决这个。

1.对每个分组分别确认,不再只接收期望的,接到不期望的,就先缓存(设置缓存机制),接到期望的才交付上层

2.发送方只需要重传那些没收到ACK的分组了

3.产生了接收方窗口(GBN只有发送方窗口),用来缓存,现在有两窗口了

4.序列号的位数是K的话,那么得满足 接收方窗口大小N+发送方N<= 2的k次方,防止因为接收方ACK丢失导致发送重发k号分组,而此时接收方滑到了新窗口,新窗口有新的k号分组(不是原来的,共用序号产生的),导致出错

转载于:https://www.cnblogs.com/chz-blogs/p/9526618.html

流水线机制、滑动窗口协议、GBN、SR相关推荐

  1. 三句话介绍清楚滑动窗口协议/GBN/SR

    滑动窗口协议.GBN.SR之间不得不说的故事 首先我们来介绍什么是滑动窗口协议 滑动窗口协议(Sliding Window Protocol),属于TCP协议的一种应用,用于网络数据传输时的流量控制, ...

  2. rdt滑动窗口协议Java实现_可靠传输数据概述之RDT到滑动窗口协议的发展

    主要思想是有限状态机. RDT1.0 RDT1.0是模拟信道可靠的情况下. RDT1.0存在的问题: 信道完全可靠是理论的模型 RDT2.0 RDT2.0是模拟信道不可靠的情况下(数据位翻转,但不丢失 ...

  3. TCP 滑动窗口协议 详解

    滑动窗口机制 (1).窗口机制     滑动窗口协议的基本原理就是在任意时刻,发送方都维持了一个连续的允许发送的帧的序号,称为发送窗口:同时,接收方也维持了一个连续的允许接收的帧的序号,称为接收窗口. ...

  4. 计算机网络 TCP 滑动窗口协议 详解

    滑动窗口机制解析: 1.窗口机制 滑动窗口协议的基本原理就是在任意时刻,发送方都维持了一个连续的允许发送的帧的序号,称为发送窗口:同时,接收方也维持了一个连续的允许接收的帧的序号,称为接收窗口.发送窗 ...

  5. 滑动窗口协议 c语言,TCP滑动窗口协议详解.docx

    本文源自CSDN博客: HYPERLINK "/THISISPAN" /THISISPAN欢迎各位访问博客,进行技术交流 滑动窗口机制 (1)?窗口机制 滑动窗口协议的基本原理就是 ...

  6. 【计算机网络】数据链路层 : 流量控制 ( “流量控制“ 机制 | 停止-等待协议 | 滑动窗口协议 | 后退 N 帧协议 GBN | 选择重传协议 SR | 滑动窗口 与 流量控制、可靠传输 )

    文章目录 一. 数据链路层 流量控制 二. 数据链路层 与 传输层 流量控制 机制 三. 数据链路层 流量控制 四. 数据链路层 流量控制 方法分类 五.停止等待协议 六.滑动窗口协议 七.滑动窗口协 ...

  7. 计算机网络笔记(5) 传输层滑动窗口协议(GBN、SR)

    文章目录 滑动窗口协议(Sliding-window protocol) GBN(Go-Back-N/后退N帧协议) SR协议(Selective Repeat/选择重传协议) 滑动窗口协议(Slid ...

  8. 网络通信-滑动窗口协议-SWP

    本篇主要讲解:网络通信-滑动窗口协议-SWP 参考链接1 参考链接2 参考链接3 目录 文章目录 网络通信-滑动窗口协议-SWP TCP可靠传输 窗口介绍 窗口和缓存的关系 功能作用 窗口大小 工作原 ...

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

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

  10. WireShark 探索网络请求过程(五层网络模型、三次握手、滑动窗口协议)

    ​当我们在浏览器输入URL点击确认后,浏览器展示出网页信息.可你曾想过这其中的过程是怎样的?理论性较强的朋友可能知道后续DNS会解析地址,然后TCP/IP三次握手建立起连接,紧接着客户端与服务器开始传 ...

最新文章

  1. 史上最详细“截图”搭建Hexo博客——For Windows
  2. python打印log重复问题
  3. 利用Flask来构建项目的大概步骤
  4. 用python绘制好看的图形_如何使用Python绘制好word cloud,怎么,画出,好看,的,词,云图...
  5. python热力图背景_python 绘制场景热力图的示例
  6. ubuntu14安装python_ubuntu14.04 安装python3.7
  7. [微博]页面table 闪动问题解决
  8. 机器学习及深度学习相关资料汇总
  9. 十大算法(动图讲解)❤️超详细!
  10. 从吴军的书《见识》总结的49条商业本质、为人方法
  11. nginx: worker process is shutting down
  12. java SpringBoot报错Servlet.service() for servlet 和No converter for的解决办法
  13. Axure RP9教程 内部框架
  14. 软件生存周期的图示——DO-178B/ED-12B学习笔记之九
  15. MATLAB中均值、方差、均方差的计算方法
  16. linux在线ipa签名,利用Cydia Impactor免越狱安装未签名APP教程 | ZMMOO
  17. 【纯萌新】初学KOA的一些避雷一点点经验
  18. 【网络篇】第三篇——源端口号和目的端口号
  19. 新氧打出精细化运营组合拳 激活医美发展新动力
  20. 三极管电路--低通滤波器

热门文章

  1. 关于动态规划,你该了解这些!
  2. Acrobat Pro DC 教程,如何发送电子签名文件?
  3. 如何在 macOS Monterey 中使用空间音频?
  4. TypeIt4Me for Mac(快捷输入自定义工具)
  5. beaTunes5的关键词的检测分析
  6. 如何使用Xilisoft Video Editor将多个视频文件合并到一个文件中?
  7. Xilisoft DVD to iPhone Converter使用教程
  8. 如何设置NeoFinder在共享网络中的目录数据库
  9. 巧用DOS命令上传文件
  10. 竞价推广账户日常优化需要注意十大要点