学习笔记18——个人理解为什么快速重传是3次ACK

  • 为什么快速重传是选择3次ACK?

    • 个人理解:首先网络中的丢包,乱序以及网路故障都会让服务器端发回duplicated ACK,表示有一个包一直未收到。快速重传是通过3次ACK来区分乱序,丢包和网路拥塞的情况,是基于实践经验得到的,所以说这种判断方式不一定准确,只是“大概率”可以解决问题。
    • 在timeout期间,如果并没有收到ACK,就直接超时重传并执行慢开始
    • 在timeout期间,如果收到的duplicated ACK小于等于两次,那么很可能是因为包到达的顺序是乱序:包A后边的包先到了,但是A还没有到达,所以服务器端就会请求包A,由于网络中没有别的问题,所以服务器稍微等了一会儿(一般小于等于两次),包A就到了,如果是这种情况,那么我们不需要做任何改动,因为乱序问题服务器端TCP会处理
    • 在timeout期间,如果收到的duplicated ACK达到3次,那么很可能是因为丢包或者网络拥塞导致包无法发送到服务器端:
      • 如果是网络拥塞,那么我们直接降低网络流量是合理的
      • 如果是因为偶然的错误某个包丢了,我们就慢开始从1开始发送网络流量,就很影响传输效率
    • 对于上述情况出现概率都是50%,我们采用一种稍微乐观的态度(毕竟3次都能传回来,应该心态好点),将上述情况中和一下,也不重新慢开始,也不能什么都不做,当看到3次 duplicated ACK,我们快速重传一次(不等重传计时器),并使用快恢复策略,即拥塞窗口减半,阈值等于拥塞窗口。
  • 个人理解,欢迎指正!

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

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

相关文章

解决jenkins需要jdk11,项目需要jdk8的问题

思路:jdk8 采用解压缩模式,jdk11采用安装模式,然后在jenkins中指定jdk路径 下载解压缩jdk8 https://www.oracle.com/java/technologies/downloads/#java8 解压缩:jdk-8u391-linux-i586.tar.gz /lib/ld-linux.so.2: bad ELF inte…

2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷⑥

2023年全国职业院校技能大赛(高职组) “云计算应用”赛项赛卷6 目录 需要竞赛软件包环境以及备赛资源可私信博主!!! 2023年全国职业院校技能大赛(高职组) “云计算应用”赛项赛卷6 模块一…

时空数据各大顶会最新论文和代码分享,结合多模态、扩散学习等热门主题

本次继续分享时空数据相关的论文。上一期戳这里↓:时空预测方向最新研究成果汇总,附13篇必看顶会论文https://blog.csdn.net/weixin_42645636/article/details/135369217 在刚刚过去的2023年间,我们不仅在时空数据领域的传统任务上取得了许多…

Java线程学习笔记

1、判断线程存活 1. 当线程run()或者call()方法执行结束,线程进入终止状态 2. 当线程内发生异常,并且异常没有被捕获,线程进入终止状态 3. 线程调用stop()方法后,线程进入终止状态(不推荐使用) 当主线程结束时,其他线程…

下一代人工智能的设计思路

大模型扭转了此前人工智能研究的思路,放弃了可解释性,而开始拥抱复杂网络和大规模参数。 这些让现代神经网络的能力超越前代,但也带来了不少问题。 巨大的成本:训练模型需要的数据和算力都是海量,动辄数百万千万&…

Redis 内存淘汰策略有哪些?过期数据如何删除?

Redis 在面试中出现的概率非常大,毕竟后端项目如果用到分布式缓存的话,一般用的都是 Redis。目前,还没有出现一个能够取代 Redis 的分布式缓存解决方案。 这篇文章中,我会分享几道 Redis 内存管理相关的问题,都很常见…

Redis的过期策略

Redis 支持的过期策略主要有以下几种: 定时过期(Timed Expiration) 这种策略会在设置键的过期时间时,创建一个定时器,当达到指定的过期时间点时,立即执行删除操作。这种方式可以精确控制键的生命周期,但是如果有大量的…

uniapp引入第三方字体库如(宋体、喜鹊燕书体、字小魂歌以晓手迹行楷体等) 最优解决方案

最近在开发一个写对联的小程序,其中要求对联文字以不同字体呈现,比如(宋体、喜鹊燕书体、字小魂歌以晓手迹行楷体等),如图: 一般UI设计给的都是这种.tff格式的字体文件,如图: 那么…

猫咪主食冻干真的对猫好吗?最热门的三款主食冻干对比测评

随着对猫咪主食健康和营养问题的关注度提高,越来越多的铲屎官开始重视科学养猫。 主食冻干因其模拟猫咪原始捕猎猎物模型配比、低温加工的特点,被认为是最符合猫咪饮食天性的选择。 相比传统的膨化猫粮,主食冻干中的淀粉和碳水化合物添加较…

如何删除mysql-bin

“删除mysql-bin”,用于记录一下后面还会用到. 删除mysql-bin的方法: 1、通过“mysql> reset master;reset slave;”命令删除“mysql-bin”文件;2、删除“my.cnf”中的“log-binmysql-bin”一行即可。 默认情况下mysql会一直保留mysql-bin文件&…

QT基础篇(2)QT5模板库,工具类及控件

1.字符串类 QT中的字符串类包括以下几种: QString类:是Qt中最常用的字符串类,用来存储Unicode字符。它支持各种字符串操作,例如连接、替换、截取等。 QByteArray类:用来存储字节序列,适用于处理非Unicode…

计算机网络 物理层

文章目录 物理层物理层的基本概念数据通信的基础知识数据通信系统的模型有关信道的几个基本概念信道的极限容量 物理层下面的传输媒体导引型传输媒体非引导型传输媒体 信道复用技术波分复用码的复用 宽带接入技术ADSL 技术光纤同轴混合网 (HFC 网)FTTx 技术 物理层 …

爬虫01-爬虫原理以及爬虫前期准备工作

文章目录 1 爬虫基本原理什么是爬虫爬虫功能详解爬虫基本流程两个概念:request和response 2 一些问题爬虫能抓取什么样的数据?抓取的数据怎么提取部分内容?数据解析方式。为什么我爬虫抓取的数据和浏览器看到的不一样怎样解决JavaScript渲染的…

阿里云弹性计算技术公开课-ECS 安全季 全新上线!

云布道师 如何保障云上业务的应用安全和数据安全,是每一个上云的企业和用户关注的重点。云上安全建设是一个体系化工程,需要用户主动进行多方面的考虑和实施,包括制定完善的安全策略和规范,如身份认证、访问控制、漏洞管理、安全…

超实用的公众号内容制作流程,小白也能轻松学会

公众号是以内容为王的平台,保持优质原创内容发布可以给公众号带来源源不断的流量,稳定输出内容,会获得平台的流量扶持。 很多小伙伴运营公众号都没有什么阅读量,一方面是公众号内容同质化越来越严重,另外一方面是公众…

编程笔记 html5cssjs 030 HTML音频

编程笔记 html5&css&js 030 HTML音频 一、<audio>元素二、属性三、事件三、使用 CSS 设置样式练习小结 有时候网页上也需要嵌入音频。比如播放歌曲或老师讲课的音频等。 一、<audio>元素 <audio> HTML 元素用于在文档中嵌入音频内容。<audio>…

寒假刷题第四天

PTA甲级 1017 Queueing at Bank 可以使用小顶堆模拟窗口的情况&#xff0c;一定是最小的时间的窗口先空出来 #include<iostream> #include<algorithm> #include<queue> #include<vector>using namespace std;struct people {int time;int process; …

完全卸载grafana

查看要卸载的包的名字 yum list installed yum remove grafana-enterprise.x86_64 成功

【tensorflowflutterweb】机器学习模型怎样用到前端上(未写完)

书接上回 在上一章 我们谈了怎么根据项目需求构建一个简单的机器学习模型。 ​​​​​​ ​​​​​​【tensorflow&flutter】自己写个机器学习模型用在项目上&#xff1f;-CSDN博客文章浏览阅读852次&#xff0c;点赞22次&#xff0c;收藏15次。【tensorflow&flutter…

【2023 - 探索】博0到博1,游戏新地图的探索日志

【2023 - 探索】博0到博1&#xff0c;游戏新地图的探索日志 写在最前面CSDN探索日志2023的探险 探索日志年终回顾探索 冒险回顾实习6月开始跟着老师做科研年中的一些其他事情9月开始上课开学后11月&#xff0c;读者互动 新年展望新年祝福 写在最前面 2023&#xff0c;我解锁了新…