背景
当网络通信中每个数据包都需要确认应答,那么包的往返时间越长,网络的吞吐量就会越低,所以TCP引入了窗口这个概念。
窗口大小
窗口大小就是无需确认等待应答的最大连续发送的数据量。窗口大小由TCP头部的Window字段决定。
窗口传输丢包
假设此时发送三个数据包,分别为1,1461和2921三个,那么这三个数据包不需要等待ack包确认就可以发送下一个数据包,这样即使中间有一个ack丢失了,只要后续的ack能传输到,也能证明丢失的回应对应的数据包已经被接收到了。那么假设如果发送的数据包真丢失了怎么办?这就是上篇文章说到的快速重发机制,当1包丢了,对方都不会确认应答ack为1461,而是在后续包接收的ack回应中设置为1,提示三次发送方1包丢了,这就是快速重发机制。
Window字段
这个字段是接收方告诉发送方自己还要多少缓冲区可以接受数据,于是发送方就可以根据这个接收端的处理能力来发送数据,而不会导致接受端处理不过来。
滑动窗口指针

接收窗口的RCV.NXT表示窗口开始的字节所在位


1万+

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



