一、滑动窗口协议
1.简述
TCP以1个段为单位,每发一个段进行一次确认应答的处理。这样的传输方式有一个缺点:包的往返时间越长通信性能就越低。为了解决这个问题,TCP引入了窗口这个概念。即使在往返时间较长的情况下,它也能控制网络性能的下降。因此确认应答不再是以每个分段,而是以更大的单位进行确认时,转发时间将会被大幅度缩短。也就是说,发送端主机,在发送了一个段以后不必要一直等待确认应答,而是继续发送。窗口大小就是指无需等待确认应答而可以继续发送数据的最大值。
2.发送窗口和接收窗口
发送窗口是发送缓存中的一部分,是可以被TCP协议发送的那部分,其实应用层需要发送的所有数据都被放进了发送者的发送缓冲区;发送窗口中相关的有四个概念:已发送并收到确认的数据(不在发送窗口和发送缓冲区之内)、已发送但未收到确认的数据(位于发送窗口之中)、允许发送但尚未发送的数据以及发送窗口外发送缓冲区内暂时不允许发送的数据;每次成功发送数据之后,发送窗口就会在发送缓冲区中按顺序移动,将新的数据包含到窗口中准备发送。


二、重发控制
使用窗口控制时,如果出现段丢失怎么办?
1.ACK在返回的路途中丢失
在这种情况下,数据包已经到达了对端,实际上不需要再被重新发送了。在没有使用窗口控制的情况下,没有收到确认应答的数据会不断地重新发送,而在使用窗口控制的情况下,即使某些数据包的ACK被丢失也没有影响! 如下图所示,发送端收到了AC

本文详细介绍了TCP的滑动窗口协议,包括发送窗口和接收窗口的概念及工作原理。同时,讨论了TCP的重发控制策略,如高速重发控制。此外,文章还阐述了流量控制机制,确保发送端根据接收端的能力调整发送速率。最后,讨论了TCP的拥塞控制,包括慢启动、拥塞窗口和慢启动阀值的概念,以防止网络拥塞。
最低0.47元/天 解锁文章
619

被折叠的 条评论
为什么被折叠?



