计算机网络-后退N帧协议(弊端 滑动窗口 运行中的GBN 滑动窗口长度习题 GBN协议性能分析 )

news2025/2/25 15:46:36

文章目录

  • 停等协议的弊端
  • 后退N帧协议中的滑动窗口
  • GBN发送方必须响应的三件事
  • GBN接受方要做的事
  • 运行中的GBN
  • 滑动窗口长度
  • GBN协议重点总结
  • 习题1
  • 习题2
  • GBN协议性能分析
  • 小结

停等协议的弊端

信道利用率低:在停等协议中,发送方在发送完一帧后必须等待接收方确认(ACK)才能发送下一帧。如果确认丢失或延迟,发送方会因超时而重新发送数据帧,这导致信道在等待确认时处于空闲状态,造成信道资源的浪费。(通过对比完成发送两个帧的所需时长可知道)

流水线:每个数据帧都会接着上一个数据帧发送

此时需要增加序号范围(流水线发送多)并可能还需要缓存多个数据帧(流水线连续发送)
在这里插入图片描述

后退N帧协议中的滑动窗口

发送窗口是一组连续的发送的帧序号(即一个一个发送出去)

发送一个帧后会复制一份保持到发送方
接受方接受到0号帧后会右移一位
发送方接受到0号帧的确认帧ACK 0后会右移一位

接受方可以接受多个帧后再发送最后一个帧的确认帧,这样也能保证前面的帧都已经接受到是因为接受到一个帧接收方的接受窗口才会移动,所以能发送最后一个帧那么之前的帧都已经接受到了。
在这里插入图片描述

GBN发送方必须响应的三件事

累计确认:GBN(Go-back-N)协议中的累计确认是一种机制,用于告知发送方哪些数据已经被接收方成功接收。

在GBN协议中,接收方使用累积确认(Cumulative Acknowledgment)的方式来通知发送方数据的接收状态。这意味着接收方不会为每一个成功接收的数据包都发送确认消息,而是发送一个确认号(ACK),该确认号代表了接收方期望收到的下一个数据包的序号。通过这种方式,发送方可以得知接收方已经成功接收了所有序号在确认号之前的数据包。

例如,如果接收方收到了序号为1、2和3的数据包,但是序号为4的数据包出现了错误或者丢失,那么接收方会发送确认号为4的ACK,表示它已经成功接收了序号为1、2和3的数据包,并且在等待序号为4的数据包。

超时事件GBN的处理行为与停等协议不同

在这里插入图片描述

GBN接受方要做的事

并为最近按序接收的帧重新发送ACK:将没有接收的序号的前一个的确认帧发送,发送方接收到后知道接收方接收到的帧的序号,从而能够发送接收方没有接收到的帧
在这里插入图片描述

运行中的GBN

当发送完1帧接收方并且接收到1帧后,发送的2帧丢失后,即使3帧发送并且接收方接收到了,也会丢弃并发送1号确认帧

当发送方接收到一个确认帧就会右移动相应的窗口数

发送方接收2号确认帧超时时将重传2号帧以及其之后的帧

可以理解接收方吃汉堡必须按照每层规定的吃
在这里插入图片描述

滑动窗口长度

后退N帧协议(Go-Back-N ARQ)中的滑动窗口长度的上界是为了确保接收方能够正确区分新帧和旧帧。

后退N帧协议中,发送方和接收方分别维护一个发送窗口和接收窗口。这些窗口本质上是序号的集合,指示了哪些帧可以被发送或接收。具体来说:

  • 发送窗口:允许发送方发送一组连续编号的帧。
  • 接收窗口:接收方只允许接受一个指定序号的帧,即接收窗口大小通常为1。

使用n比特进行帧编号时,可以产生(2^n)个不同的序号。为了确保接收方不会混淆新旧数据帧,发送窗口的大小应满足1 ≤ W_T ≤ 2^n - 1的条件。如果发送窗口的大小超过 (2^n - 1),则可能会发生一种情况,即某个已经发送但未被确认的数据帧的序号再次出现在窗口中,导致接收方无法区分这是新的传输还是之前已发送过的旧帧的重传。

例如,如果用3比特进行编号,虽然理论上可以有8个不同的序号,但如果设置发送窗口大小为8,那么当发送完0到7号帧后,若这些帧都已正确到达但还未被确认,发送窗口将满且暂停发送。此时,如果发生了错误需要重传,由于序号会重复出现,接收方将无法区分是新的传输还是旧帧的重传,从而可能导致混乱。

在这里插入图片描述

GBN协议重点总结

偶尔捎带确认:接收方偶尔会发送数据给发送方并将确认帧捎带上

确认序列号最大的,按序到达的帧:即当接收到1,2,4确认帧时,会以2为确认帧传回

发送窗口确定后在运行过程就不能轻易改变
在这里插入图片描述

习题1

收到3号帧确认时此时意味着3及之前的帧都接收到了,那么发送窗口将右移4个
在这里插入图片描述

习题2

发送方接收到第一个确认帧时已经发送的字节/发送方接收到第一个确认帧的时间
在这里插入图片描述

GBN协议性能分析

在这里插入图片描述

小结

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1473890.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

教师编制取消?什么时候执行?

有关教师编制取消的传闻在教育界和社交媒体上闹得沸沸扬扬。许多老师、家长、学生都对此表示了极大的关注。教师编制真的会取消吗?如果取消,又将在何时执行? 教师编制,作为一种职业保障和身份,在很长一段时间内被视为教…

利用 ChatGPT 提升个人工作、生活品质

利用 ChatGPT 提升个人工作、生活品质和个人智慧是一个多方面而又切实可行的方法。 以下是一些具体的建议: 获取信息和知识: ChatGPT 可以回答各种问题并提供相关信息和知识。你可以利用它来查询工作中遇到的问题、学习新的知识领域或是获取日常生活中的…

Python进阶:Pandas -- 清理重复数据

Python进阶:Pandas – 清理重复数据 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程 👈 希望得到您的订阅和支持…

11.vue学习笔记(组件生命周期+生命周期应用+动态组件+组件保持存活)

文章目录 1.组件生命周期2.生命周期应用2.1通过ref获取元素DOM结构2.2.模拟网络请求渲染数据 3.动态组件3.1.A,B两个组件 4.组件保持存活(销毁期) 1.组件生命周期 每个Vue组件实例在创建时都需要经历一系列的初始化步骤,比如设置…

Swagger3 使用详解

Swagger3 使用详解 一、简介1 引入依赖2 开启注解3 增加一个测试接口4 启动服务报错1.5 重新启动6 打开地址:http://localhost:8093/swagger-ui/index.html 二、Swagger的注解1.注解Api和ApiOperation2.注解ApiModel和ApiModelProperty3.注解ApiImplicitParams和Api…

五大跨平台桌面应用开发框架:Electron、Tauri、Flutter等

hello,我是贝格前端工场,本次介绍跨平台开发的框架,欢迎大家评论、点赞。 一、什么是跨平台桌面应用开发框架 跨平台桌面应用开发框架是一种工具或框架,它允许开发者使用一种统一的代码库或语言来创建能够在多个操作系统上运行的…

开源大模型LLM大爆发,数据竞赛已开启!如何使用FuseLLM实现大语言模型的知识融合?

开源大模型LLM大爆发,数据竞赛已开启!如何使用FuseLLM实现大语言模型的知识融合? 现在大多数人都知道LLM是什么,以及可以做什么。 人们讨论着它的优缺点,畅想着它的未来, 向往着真正的AGI,又有…

蓝桥杯备赛第一篇(数论)

数论 1.判断质数 注意i 的终止条件本来是 i < s q r t ( n u m ) i<sqrt(num)i<sqrt(num),但是计算开方太慢了&#xff0c;所以用 i ∗ i < n u m &#xff0c;但是i ∗ i 容易爆int&#xff0c;所以最终改成 i < n u m / i &#xff0c;后面的其他 代码也会…

5000字深度好文!WMS仓库管理系统的应用场景有哪些?

WMS仓库管理系统提供了全面的仓库管理功能&#xff0c;从物料管理到日常库存调整&#xff0c;从仓库拣选到成品出库。那么仓库管理系统都有哪些功能呢&#xff1f;仓库管理系统的应用场景有哪些呢&#xff1f;企业又该如何使用仓库管理系统呢&#xff1f; 这篇就结合图示零代码…

「优选算法刷题」:矩阵区域和

一、题目 给你一个 m x n 的矩阵 mat 和一个整数 k &#xff0c;请你返回一个矩阵 answer &#xff0c;其中每个 answer[i][j] 是所有满足下述条件的元素 mat[r][c] 的和&#xff1a; i - k < r < i k, j - k < c < j k 且(r, c) 在矩阵内。 示例 1&#xff1…

大数据构建知识图谱:从技术到实战的完整指南

文章目录 大数据构建知识图谱&#xff1a;从技术到实战的完整指南一、概述二、知识图谱的基础理论定义与分类核心组成历史与发展 三、知识获取与预处理数据源选择数据清洗实体识别 四、知识表示方法知识表示模型RDFOWL属性图模型 本体构建关系提取与表示 五、知识图谱构建技术图…

unity shaderGraph实例-物体线框显示

文章目录 本项目基于URP实现一&#xff0c;读取UV网格&#xff0c;由自定义shader实现效果优缺点效果展示模型准备整体结构各区域内容区域1区域2区域3区域4shader属性颜色属性材质属性后处理 实现二&#xff0c;直接使用纹理&#xff0c;使用默认shader实现优缺点贴图准备材质准…

开源大数据集群部署(十二)Ranger 集成 hive

作者&#xff1a;櫰木 1、解压安装 在hd1.dtstack.com主机上执行&#xff08;一般选择hiveserver2节点&#xff09; 解压ranger-2.3.0-hive-plugin.tar.gz [roothd1.dtstack.com software]#tar -zxvf ranger-2.3.0-hive-plugin.tar.gz修改install.properties配置 [roothd1…

Python算法题集_子集

Python算法题集_子集 题78&#xff1a;子集1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【递归】2) 改进版一【双层下标循环】3) 改进版二【双层枚举循环】4) 改进版三【双层下标循环位运算】5) 改进版四【单行双层循环位运算】6) 改进版五【…

C#区域医院云LIS信息管理系统源码 标本管理、两癌筛查、数据分析、试剂管理

目录 ​编辑 区域医院云LIS系统功能亮点&#xff1a; 云LIS系统功能&#xff1a; 一、 基础管理 二、 前处理&#xff08;实验室&#xff09; 三、 标本处理 四、 样本检验 五、 统计报表 六、 质控管理 七、 基本工作流程 区域LIS系统特点&#xff1…

mapbox高德地图与相机

高德地图与相机 演示效果引入 CDN 链接地图显示 创建地图实例定义地图数据源配置地图图层 设置地图样式实现代码 1. 演示效果 本案例使用Mapbox GL JavaScript库创建高德地图。 2. 引入 CDN 链接 <script src"https://api.mapbox.com/mapbox-gl-js/v2.12.0/mapbox-gl.j…

华为算法题 go语言或者python

1 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返…

端侧显著性检测新高度,OPPO提出面向真实场景的PSUNet

https://arxiv.org/abs/2312.07100 在高分辨率场景下&#xff0c;现有的显著目标检测方法难以同时满足快速推理和准确结果的要求。它们受到用于高分辨率图像的公共数据集和高效网络模块的质量的限制。 为了缓解这些问题&#xff0c;我们构建一个显著对象匹配数据集HRSON和一个…

Windows已经安装了QT 6.3.0,如何再安装一个QT 5.12

要在Windows上安装Qt 5.12&#xff0c;您可以按照以下步骤操作&#xff1a; 下载Qt 5.12&#xff1a;访问Qt官方网站或其他可信赖的来源&#xff0c;下载Qt 5.12的安装包。 下载安装地址 下载安装详细教程 安装问题点 qt安装时“Error during installation process(qt.tools…

蒋勤勤48岁亮相,新穿法惊艳全场:上商务下夜店。

♥ 为方便您进行讨论和分享&#xff0c;同时也为能带给您不一样的参与感。请您在阅读本文之前&#xff0c;点击一下“关注”&#xff0c;非常感谢您的支持&#xff01; 文 |猴哥聊娱乐 编 辑|徐 婷 校 对|侯欢庭 蒋勤勤与陈建斌的恩爱典范&#xff0c;娱乐圈中的爱情佳话。虽…