假设发送窗口有1~1200,并已经全部发送,1~400已收到确认,401~800未收到确认,801~1200已收到确认;

来源:11-5 TCP协议的可靠传输

爱听故事的听书人

2019-10-28

1~400发送方收到的是累计确认, 那801~1200发送方是收到的什么确认?tcp是有两套确认机制吗?

写回答

1回答

咚咚呛

2019-10-28

这个问题挺好的。

从理论上来讲,选择重传和累计确认是相互冲突的机制。

选择重传是作为的标准写入到TCP协议里面的,称为S-ACK,也就是选择重传对于TCP来说是有理论基础的,但是现阶段的各种操作系统,基本都没有把选择重传实现到自身的协议栈里面去,并且在S-ACK文档中,也没有明确的说明应该如何进行选择确认和响应。

所以到现在为止,可以认为选择重传仍处于理论的阶段,实际上也并没有往前发展的动力了,因此对于大多数实现的TCP协议栈,都是使用累计确认、超时重传的机制去处理未按顺序到达,未被确认的数据块。但这不妨碍选择重传是一个理想的优化传输性能的一个设计,对新协议的开发有着重要的启发作用。

3
0

(新版)计算机基础,计算机组成原理+操作系统+网络

编程之前先学这门课,系统补足计算机基础知识,夯实编程地基

7739 学习 · 1580 问题

查看课程