GBN协议和SR协议关于窗口大小的分析

计算机网络(九)——可靠传输协议 文章目录1. 可靠数据传输协议1.1 经完全可靠信道的可靠数据传输:rdt1.01.2 经具有比特差错信道的可靠数据传输1.3 经具有比特差错的丢包信道的可靠数据传输:rdt3.0 1. 可靠数据传输协议 (1)服务抽象 数据可以通过一条可靠信道进行传输。借助于可靠信道,传输数据比特不会发生损坏或丢失,而且所有数据按照发送顺序进行交付。 由于可靠传输协议的下层协议可能是不可靠的,随着底层通道模型越来越复杂,我们需要不断开发一个可靠传输协议。(可靠数据传输–>比特损坏–>丢包) 1.1 经完全可靠 阅读详情

文章最新内容请移步原文地址

n表示用于帧编号的比特数

GBN协议

结论

1<WT<=2n-1,WR=1

WT=2n会怎么样

假设此时n为3,WT=8,W=1,若此时发送窗口[0,1,2,3,4,5,6,7],接收窗口[0];

接收窗口成功接收到了帧编号0~7共计7个数据帧,接收方窗口向前移动为7个帧单位变为又变为了[0],接收方发送这7个数据帧相对应的确认帧;

但是由于某种原因,发送方没有收到这7个确认帧,于是在定时器超时之后发送方选择重传这7个数据帧;

接收方在再次收到这7个数据帧时,由于帧(1,2,3,4,5,6,7)落在接收窗口外于是被拒绝,而帧(0)被再次接受,于是会错误的接收这1个重复帧,导致传输出错。

SR协议

在讨论SR协议的窗口大小时,我们一般会定义一个大前提:接收方窗口和发送方窗口的大小通常是相同的。(做题时一般默认有大前提,除非题目给定了WT>2n-1)
接下来我们根据有无这个大前提来分析一下SR协议下发送窗口和接收窗口的尺寸大小问题

有大前提

结论

WT=WR<=2n-1

大于2n-1会怎么样

在有大前提的情况下,发送窗口尺寸WT和接收窗口尺寸WR总是相同,假设此时n为3,WT=WR=5,若此时发送窗口[0,1,2,3,4],接收窗口[0,1,2,3,4];

接收窗口成功接收到了帧编号0~4共计五个数据帧,接收方窗口向前移动为[5,6,7,0,1,2],接收方发送这五个数据帧相对应的确认帧;

但是由于某种原因,发送方没有收到这五个确认帧,于是在定时器超时之后发送方选择重传这五个数据帧;

接收方在再次收到这五个数据帧时,由于帧(0,1,2)落在接收窗口内,于是会错误的接收这三个重复帧,导致传输出错。

无大前提

结论

WR<=WT且WR+WT<=2n

WR>WT

接收窗口总有窗口资源被浪费

WR+WT>2n

已知WR>WT非法,因此我们只讨论WR<=WT下WR+WT>2n的情况。由于WR<=WT,若要WR+WT>2n,则WT>2n-1,结合有大前提情况下大于2n-1的分析,容易有也会出现接收方无法分辨新帧和旧帧的情况,因此WR+WT>2n非法。

计算机网络笔记(5) 传输层滑动窗口协议(GBN、SR) 观看MOOC(哈尔滨工业大学 聂兰顺)课程+杨振启的《计算机网络》总结的笔记 阅读详情

相关推荐

选择重传(SR)协议中的一些总结

在学习停止等待协议、后退N帧协议(GBN)、选择重传协议(SR)时,遇到了一些问题。当在实现可靠传输的过程中,出现数据帧误码的情况下,由于GBN的累计确认的存在,一旦出错就要重传出错帧之后的所有帧。便可设法只重传出现差错的数据分组。(逐一对帧)->(临时把错误帧之后的帧存起来),可以接收乱序到达的帧,使得只重发出错的帧。->

qq_52631320的博客 1875

计算机网络传输层之SR协议

系列文章目录 第二章计算机网络传输层之可靠数据传输之流水线机制与滑动窗口协议-Selective Repeat协议(SR协议) 计算机网络传输层之SR协议系列文章目录SR协议发送方/接收方SR协议示列SR协议困境 # 九、Selective Repeat协议(SR协议) GBN协议ACK(n)和TimeOut(n)会导致重传很多资源,浪费资源。 **SR协议:** ![在这里插入图片描述](https://img-blog.csdnimg.cn/3c9d229bcfec4673989861a15398

Redhat_yan 6602

3种数据链路层可靠传输协议对比:SW、GBN、SR的窗口大小与信道利用率分析

本文深入解析数据链路层三种可靠传输协议(SW、GBN、SR)的窗口机制与性能优化。通过对比停止-等待协议、后退N帧协议和选择重传协议的工作原理及信道利用率,揭示不同网络环境下的最佳实践方案,特别关注流量控制和可靠传输机制的应用。

weixin_34008805的博客 513

计算机网络数据链路层 --- 选择重传协议(SR)

引言 GBN协议的弊端 累计确认,从而导致某一帧错误后会批量重传。 可行的解决方案 可以只重传出错的帧,设置单个确认,同时加大接收窗口,设置接收缓存,缓存乱序到达的帧。这也就是选择重传协议SR。 SR中的滑动窗口 如图所示为SR中的发送窗口,假设此时3的确认帧已经收到: 可分为以下部分: 发送完被确认的:01 发送完等待确认的:24 目前可发送:5 不可发送的:其余的 再看接收方(假设此时5号帧没有收到): 希望收到还未收到:5号帧 收到且确认的:6号帧 等待接收的:7

Michael__Wu的博客 1万+

可靠传输协议对比:停止等待 vs GBN vs SR,3种场景下的信道利用率实测

本文对比了三种可靠传输协议(停止等待、回退N帧和选择重传)在低延迟局域网、高延迟卫星链路和高误码率无线链路下的信道利用率表现。实测结果显示,选择重传协议在高误码环境下优势明显,而回退N帧协议在低延迟环境中表现优异。文章还提供了协议优化建议和不同场景下的选型策略。

weixin_30765505的博客 439

BMS开发避坑指南:如何用ADBMS6815实现0.03%精度的电池采样?

本文深入解析了如何利用ADBMS6815等高精度AFE芯片,在车规级BMS开发中实现0.03%级别的电池电压采样精度。文章从芯片选型、硬件设计、软件配置、算法优化到系统验证,提供了一套完整的实战指南,帮助工程师系统性地提升BMS测量精度,从而保障电池安全、延长寿命并增强产品竞争力。

weixin_28314575的博客 134

计算机网络——滑动窗口协议的窗口大小

在学习滑动窗口协议的时候,我在链路层的滑动窗口这吃了不少苦头,因为动态的窗口变化真的不适合看老师发的pdf(话说老师为什么不能发PPT非得发PDF?) 虽然后来摸索着看懂了不少,但是到了窗口大小的问题上又蒙圈了。在GBN(go back n)和SR(select repeat)中,我迷糊了特别久,最后终于搞明白了两者的区别 现在开始看问题:假设发送方和接收方约定好,发送的帧的编号总共有n=3位...

Mr_J0304的博客 2万+

不止于ACC:用CarSim的‘Multiple Objects’和路径跟踪器玩转复杂交通流场景

本文深入探讨了如何利用CarSim的'Multiple Objects'模块和路径跟踪器模拟复杂交通流场景,超越传统ACC测试的局限。通过批量控制、动态交互和参数化设计,实现多车智能响应和复杂轨迹模拟,适用于连续变道、拥堵博弈、匝道汇流等真实交通场景。

weixin_30954265的博客 497

数据链路层 3 大可靠传输协议对比:SW、GBN、SR 的窗口大小与信道利用率分析

本文深入对比数据链路层三大可靠传输协议(SW、GBN、SR)的窗口机制与信道效率。分析停止-等待协议、后退N帧协议和选择重传协议在窗口大小、重传策略及信道利用率方面的核心差异,提供典型例题演示关键参数计算方法,帮助读者理解不同网络环境下协议选择与优化策略。

329

高效低功耗设计:PMOS电子开关在墨水屏与ADC采样电路中的创新应用

本文深入探讨了PMOS电子开关在低功耗设计中的创新应用,特别是在墨水屏和ADC采样电路中的关键作用。通过详细分析PMOS的导通机制和近乎零静态功耗特性,展示了其在待机低功耗场景下的显著优势,并提供了实用的电路设计技巧和元器件选型建议,帮助工程师实现极致的功耗优化。

weixin_29193359的博客 162

gephi生成网络关系图_路网拓扑重建专题 (3) 网络图生成

城市道路网建模在获得基础路网之后,需要考虑道路交通网络的描述与表达问题。网络是将现实世界中的事物及其关系进行适当的抽象,构造成由节点和边按照一定规则组成的形式。一个实体网络可以由有限个“节点”集合与“边”集合构成的图表示,即网络表示为。对于一个由个节点组成的无权复杂网络,该图有邻接矩阵,这里。根据研究对象不同,建模方法主要包括原始法[1]和对偶法[2]两种,见图1,字母a-j为交叉口编号...

weixin_39761195的博客 3504

数据链路层 3 大可靠传输协议对比:SW、GBN、SR 窗口大小与信道利用率分析

本文深入对比数据链路层三大可靠传输协议(停止-等待、后退N帧、选择重传)的窗口机制与信道效率。通过分析窗口大小、确认方式和重传策略等核心差异,揭示各协议在流量控制和可靠传输机制上的优劣,为不同网络环境下的协议选型提供实践指导。特别探讨了后退N帧协议在高误码率环境下的性能优化方案。

weixin_33795806的博客 419

Zynq 双核AMP 通信

4、配置离线编译(这里不讲),配置linux的内核地址空间(0x4000_0000改为0x2000_0000),以及单核启动。CPU1设置为0x2000_0000~0x3FFF_FFFF(也可以小于0x3FFF_FFFF)如果禁用CPU1的L2 cache,在CPU1的bsp里面添加编译时候所需要的宏。3、配置工程,将vivado产生的.xsa文件复制到amp_com项目目录下。9、使用petalinux-package --boot 打包。一、vivado工程。5、编译u-boot。

y183128184的博客 1086

对于数据链路层滑动窗口协议中窗口大小的总结

本文是学习《计算机网络》一书3.4节的一些总结,主要关注窗口大小限制的由来。若要浏览此文,请保证你已了解滑动窗口协议中的基本机制,在这里推荐一篇博客:https://blog.youkuaiyun.com/do_best_/article/details/79771841 3.4节中介绍了三种滑动窗口协议:1位滑动窗口协议、GBN协议、SR协议。1位滑动窗口协议本质上就是一种全双工的停等式协议,它的发送窗口和...

EightSnow的博客 1万+

2080Ti双卡开启NVLink

本文介绍了如何在Ubuntu 22.04系统下给2080Ti双卡开启NVLink的方法。

flymyd的博客 2900

HighTec安装使用

HighTec安装使用

qq_43552564的博客 3835

为什么回退N步(GBN)协议和选择重传(SR)协议的发送窗口有限制

为什么回退N步(GBN)协议的发送窗口大小最大为 2^N-1 为什么选择重传(SR)协议的发送窗口大小最大为 2^(N-1)

Hoper-J的博客 6898

基于STM32L4XX、HAL库的ESP32-C3-WROOM-02-N4 WIFI模块驱动程序设计

支持802.11 b/g/n Wi-Fi (2.4GHz)RISC-V 32位单核处理器,主频高达160MHz。封装尺寸:18mm × 20mm × 3mm。工作温度范围:-40°C ~ 85°C。// 设置WiFi模式为STA。支持Bluetooth 5 (LE)// 发送AT指令测试通信。// 检查响应是否包含OK。内置4MB SPI Flash。// 连接TCP服务器。// 发送HTTP请求。// 初始化UART。// 建立TCP连接。低功耗设计,适合IoT应用。

zhusl6688的博客 384

别再死记硬背了!用Python模拟GBN和SR协议,5分钟搞懂滑动窗口核心差异

本文通过Python代码动态模拟GBN(回退N帧)和SR(选择重传)协议,直观展示滑动窗口协议的核心差异。从基础模型搭建到协议效率量化对比,帮助读者深入理解批量重传与选择性重传的机制差异,并提供工程实践中的选择建议。

weixin_30571465的博客 485

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

【流量控制】算不对 GBN 窗口?分不清 SR 重传?滑动窗口 + 3 大协议一篇吃透

本文通过快递配送的比喻,生动讲解了网络协议中的流量控制与可靠传输机制。核心内容分为三部分:1)基础概念区分,说明流量控制是"限速防溢出",可靠传输是"纠错保顺序";2)对比分析三种滑动窗口协议(停止-等待、GBN、SR)的工作原理和优缺点;3)重点解析滑动窗口机制如何同时实现流量控制和可靠传输,包括窗口大小与编号位数的关键计算公式。文章采用生活化类比,将ACK比作收件回执、数据帧比作快递,帮助理解网络协议的核心原理,并总结了三大协议的差异本质和常见考点。

qq_63736560的博客 1109

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

16 三种协议的信道利用率分析

本文介绍了三种ARQ协议的信道利用率计算方法:1.停止等待协议的信道利用率公式为数据帧传输时延与总时延之比;2.后退N帧协议和选择重传协议的信道利用率仅受发送窗口大小影响,当窗口较大时利用率可达1;3.ARQ协议包含停止等待、后退N帧和选择重传三种,其中后两种属于连续ARQ协议。文中还指出滑动窗口协议仅包含后退N帧和选择重传协议,考试时需注意区分术语。

2401_85032854的博客 681

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【Linux网络#22】滑动窗口详述(概念 | 协议 | 仿真代码)

如果将 GBN 升级为接收方缓存乱序帧发送方只重传丢失帧使用单个 ACK(非累积)就能避免“一丢全重传”的问题特性接收方行为只接受按序帧,丢弃乱序帧缓存乱序帧,等缺失帧到达后按序交付ACK 机制累积 ACK(ACK n 表示 ≤n 都收到)单个 ACK(ACK n 仅表示 n 收到)发送方重传超时后重发整个窗口超时后只重发未 ACK 的特定帧窗口大小限制无严格限制(但效率低)必须满足Ws + Wr ≤ 序号空间(通常为什么 Server 能“一次性交付多个帧”?缓存所有在窗口内的帧(用当。

island1314的博客 1096

滑动窗口协议深度解析:GBN与SR的机制、实现与选型指南

可靠传输是网络通信的基石,其核心在于平衡效率与正确性。滑动窗口机制通过动态调整发送窗口大小,实现流量控制与差错恢复。GBN采用累积确认与批量重传,实现简单但效率受限于丢包率;SR支持独立确认与选择性重传,通过接收缓存和独立定时器提升高误码环境下的吞吐量。理解窗口大小与序号空间的约束关系(如GBN要求2^k >= N+1,SR要求2^k >= 2N)是避免序号回绕误判的关键。这些机制广泛应用于TCP、无线链路控制及分布式系统,是构建高效可靠通信系统的技术基础。

weixin_32430941的博客 266

可靠传输协议GBN与SR:5个典型场景下的窗口滑动与ACK处理代码实现

本文深入解析了数据链路层中的两种可靠传输协议——回退N帧协议(GBN)和选择重传协议(SR),通过5个典型场景的Python代码实现,详细展示了窗口滑动与ACK处理的核心机制。文章对比了两种协议在传输效率、实现复杂度等方面的差异,并提供了优化策略和选择建议,帮助开发者根据实际网络环境选择合适的可靠传输协议。

weixin_34224941的博客 487

数据链路层3大可靠传输协议对比:停止-等待 vs GBN vs SR,重传效率实测分析

本文深入对比了数据链路层三大可靠传输协议:停止-等待、回退N帧和选择重传,通过理论分析和实测数据揭示其性能差异。重点分析了各协议的重传效率、窗口管理及适用场景,为网络工程师提供协议选择与优化的实践指导,帮助提升数据传输的可靠性和效率。

weixin_30702441的博客 363

数据链路层避坑指南:滑动窗口协议中的7个典型计算错误及解法(含帧编号/信道利用率真题)

本文针对计算机网络考试中的核心难点,系统剖析了数据链路层滑动窗口协议在计算中的七个典型错误,重点聚焦后退N帧协议和选择重传协议。指南详细讲解了窗口大小、信道利用率、帧长计算等关键问题的避坑技巧,并结合真题演示了如何避免混淆协议公式、单位换算错误及确认语义误解,帮助考生和开发者巩固原理,提升解题准确率。

weixin_28318011的博客 602
上一篇: 指令流水线“控制冒险”解析
下一篇: TCP四次握手为什么客户端等待的时间是2MSL
red-fox-yj
博客等级 码龄8年 9粉丝 18原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

red-fox-yj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值