-
为什么快速重传是选择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,我们快速重传一次(不等重传计时器),并使用快恢复策略,即拥塞窗口减半,阈值等于拥塞窗口。
-
个人理解,欢迎指正!
学习笔记18——个人理解为什么快速重传是3次ACK
热烈小狗2024-01-12 10:41
相关推荐
WWJA王文举4 分钟前
FreeRTOS事件组和任务通知详解:为什么任务通知比队列更轻量?点心的游戏开发世界2 小时前
GDScript 入门笔记(五):函数PHP实战开发录3 小时前
PHP权限系统设计为什么越改越复杂wp123_13 小时前
硬件设计笔记:1μH功率电感选型实战——线艺 XFL4020-102MEC 与 国产 pin to pin MVLH4020-1R0M 详细参数测评Zenova EdgeOS4 小时前
工业网关重试机制:从固定间隔到指数退避的工程实战zyf1044164 小时前
暑期实践日志 Day48:复盘大纲与知识点对照表,系统汇总整理成果摇滚侠4 小时前
《SpringBoot 3:入门与应用实战》第 14 章 打包与部署 Spring Boot 应用打包 阅读笔记 41金立基包装胶水4 小时前
纸袋热封胶常见都有哪些问题?Figo_Cheung4 小时前
Figo共振网络宇宙演化论(RNC) :从原初对称破缺到全息大和谐的演化路径研究chnyi6_ya5 小时前
论文阅读笔记 | HoneyBee: Data Recipes for Vision-Language Reasoners