滑动窗口

发送窗口

发送方维持一组连续的允许发送的帧的序号

接收窗口

接收方维持一组连续的允许接收帧的序号

发送过程

如图,假如发送方的发送窗口大小是6,首先发送0号帧,并建立0号帧的副本,防止帧丢失,然后发送0号帧,发送1号帧,一直到5号帧:

接收方收到了0号帧之后,回复发送方ACK0:

发送方收到了ACK0之后,发送窗口往后移动一个,并把6号帧放到链路上:

接收方收到1之后,就回复ACK1,发送方收到ACK1之后,窗口移动,7号帧进入发送窗口,并发送2号:

目前发送方就被分成了四个部分:发送完已经被确认的(0,1号帧),已经发送等待确认的(2号帧),还能发送的(34567号),还不能发送的(其余的)

GBN中发送窗口必须相应的三件事

上层(网络层)的调用

上层要发送数据时,发送方先检查发送窗口是否已满,如果未满,则产生一个帧并将其发送;如果窗口已满,发送方只需要将数据返回给上层,暗示窗口已满。上层等一会儿在发送。(实际实现中,发送方可以缓存这些数据,窗口不满时再发送帧)

收到了一个ACK

GBN协议中,对n号帧的确认采用累计确认的方式,标明接收方已经收到n号帧和它之前的全部帧。也就是说接收方不需要每一帧都返回一个确认帧。

超时事件

协议的名字为后退N帧/回退N帧,来源于出现丢失和时延过长帧时发送方的行为。就像在停等协议中一样,定时器将再次用于恢复数据帧或确认帧的丢失。如果出现超时,发送方重传所有已发送但未被确认的帧

在GBN中,假设0号帧传输成功,但是1号帧未传输成功,接收方在接收0号帧之后,1号帧未收到,但是收到了23456号帧,但是接收方会忽略这些帧,这样发送方一直收不到1号帧的确认帧,直到触发了超时计时器,就会重新传1号帧及以后的帧。

GBN中接收方需要做的事

  • 如果正确收到n号帧,并且按序,那么接收方为n帧发送一个ACK,并将该帧中的数据部分交付给上层。

  • 其余情况(未收到应该收到的n号帧)都丢弃帧,并为最近按序接收的帧重新发送ACK。接收方无需缓存任何失序帧,只需要维护一个信息:expectedseqnum(下一个按序接收的帧序号)(假如接收方收到了012,那么接收方就会等待3号帧,假如未收到3号帧之前收到了45号帧,那么接收方就会把45号帧丢弃,并且重新发送最近接收的2号帧的ACK2给发送方)

GBN图示

滑动窗口长度

若采用n个比特对帧编号,那么发送窗口的尺寸应满足:。因为发送窗口尺寸过大,就会使得接收方无法区别新帧和旧帧。

GBN协议重点

累积确认(偶尔捎带确认)

偶尔捎带确认就是双方通信时,甲方给乙方发送数据时,可以捎带发送乙方之前给甲方发送数据的确认帧

接收方只按顺序接收帧,不按序无情丢弃

确认序列号最大的,按序到达的帧

发送窗口最大为,接收窗口大小为1

GBN性能分析

因连续发送数据帧而提高了信道利用率。

在重传时必须把原来的已经正确传送的数据帧重传,使传送效率降低。

计算机网络数据链路层 --- 后退n帧协议(GBN)相关推荐

  1. 【计算机网络】数据链路层 : 后退 N 帧协议 GBN ( 滑动窗口 | 发送窗口长度 | “发送方“ 累计确认、超时机制 | “接收方“ 按序接收、确认帧发送机制 | 计算示例 )★

    文章目录 一. 滑动窗口协议引入 二. 后退 N 帧协议 ( GBN ) 滑动窗口 三. 后退 N 帧协议 ( GBN ) 运行过程 四. 后退 N 帧协议 ( GBN ) 发送方数据分类 五. 后退 ...

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

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

  3. 计算机网络之数据链路层:6、后退N帧协议(GBN)

    数据链路层:6.后退N帧协议 思维导图: 后退N帧协议: GBN发送方必须相应的三件事: GBN接收方必须相应的三件事: 例: 发送窗口的大小规定: 总结: GBN的效率: 思维导图: 后退N帧协议: ...

  4. 3.4.3 后退N帧协议(GBN)

    3.4.3 后退N帧协议(GBN)

  5. 王道考研 计算机网络11 数据链路层 封装成帧 透明传输 流量控制 停止-等待协议 后退N帧协议GBN 选择重传协议SR

    第三章知识 数据链路层的基本概念 数据链路层功能概述 封装成帧 透明传输 什么数据都能传输 数据链路层的流量控制 流量控制方法 滑动窗口协议: 每一个小格标识一个帧 发送窗口:发送端正在处理的发送的数 ...

  6. 3.4.1 计算机网络之流量控制(停止-等待协议、滑动窗口、后退N帧协议GBN、选择重传协议SR)、滑动窗口、可靠传输机制

    文章目录 0.思维导图 1.什么是流量控制? 2.什么是可靠传输机制? 3.什么是滑动窗口机制? 4.可靠传输.流量控制.滑动窗口之间的关系 5.停止-等待协议 (1)为什么要有停止-等待协议? (2 ...

  7. 后退N帧协议-GBN

    GBN发送方要做的事: 1.上层的调用: 上层要发送的数据的时候,发送方先检查窗口有没有满,如果没有满,则就产出一个帧并将其发送:如果窗口满了,发送方只需将数据返回给上层,暗示上层窗口已满,上层等一会 ...

  8. 3.2计算机网络(停止-等待协议 后退N帧协议 选择重传协议)

    目录 1.停止-等待协议 1.概念 2.停等协议--无差错情况 3.停等协议--有差错情况 1.数据帧丢失或检测到帧出错 2.ACK(确认帧)丢失 3.ACK(确认帧)迟到 4.停等协议性能分析 5. ...

  9. 【计算机网络复习 数据链路层】3.4.3 后退N帧协议(GBN)

    后退N帧协议(GBN) 一.后退N帧协议中的滑动窗口 二.GBN发送方必须响应的三件事 三.GBN接收方要做的事 四.滑动窗口长度 一.后退N帧协议中的滑动窗口 发送窗口:发送方维持一组连续的允许发送 ...

最新文章

  1. 用递归法计算斐波那契数列的第n项
  2. javascript面向对象学习笔记(一)——继承
  3. SAP Spartacus select option默认选择的实现
  4. c++实现二叉搜索树
  5. Spring的依赖注入陷阱
  6. 代理模式——HeadFirst设计模式学习笔记
  7. Linux 命令(140)—— tree 命令
  8. 域名解析到指定端口_南京课工场IT培训:搭建nginx虚拟主机——基于域名、端口和IP...
  9. 计算机屏幕黑屏让程序继续允许,电脑软件让对方黑屏
  10. window屏幕录制
  11. linux系统 ifconfig 命令无法找到
  12. 本科,硕士们进了BAT拿高工资,为什么博士却要挤破头低薪进985高校?
  13. 退耦电容原理--退藕电容的一般配置原则
  14. Ubuntu 命令行下浏览网页
  15. asterisk拨号计划中Hangup() App执行规则
  16. matlab张志涌版课后习题答案,matlab教程(张志涌)课后习题答案.doc
  17. 小米笔记本Pro GTX 外接显示器不能使用独显 只有60HZ
  18. 树莓派打造一个适合音乐制作的系统(效果器部分)
  19. [JVM]了断局: 堆外内存无法 [ -XX:MaxDirectMemorySize ] 限制
  20. StreamUtil

热门文章

  1. 小牛地图矢量抓取工具_SEO优化网站sitemap需要注意哪些要点才能很好的被百度蜘蛛抓取...
  2. xml转svg_C# Excel 转PDF/图片/HTML/TXT/XML/XPS/CSV/ODS/SVG/EMF
  3. C++ 获取char*的长度
  4. pytorch查看应用指数衰减后的学习率
  5. Django3 --- ASGI
  6. Python 的垃圾回收回收机制(源码)
  7. OpenCV——读取视频文件并写入文件
  8. 形态学图像处理(二)
  9. 把数组排列成最小的数(详解)
  10. mysql插入实现存在更新_mysql 记录不存在时插入 记录存在则更新的实现方法