滑动窗口和拥塞窗口的区别

15
滑动窗口和拥塞控制中的拥塞窗口有何区别和联系?
我认为两者都是用于传输控制大小的,但它们的区别是什么?我也不太明白流量控制和拥塞控制之间的区别。
1个回答

20

拥塞窗口和流量控制是TCP的不同特性,它们的输入都被馈送到滑动窗口中。

拥塞窗口基于对网络发送速率的估计。它从单个MSS开始,使用慢启动进行增长。一旦达到阈值,就开始使用拥塞避免算法进行增长。该窗口的值表示发送方可以发送的最大字节数。

流量控制在接收端运行,并在接收方向发送数据包(通常为ACK)时与发送方通信。接收窗口是接收缓冲区中可用空间的量,发送方会记录下这个量。当发送方需要发送数据时,它选择拥塞窗口和接收方窗口中的最小值,并仅发送这么多数据。可以发送的数据量表示滑动窗口。基本上,滑动窗口表示发送方所拥有的未完成数据的数量。如果任何一个窗口(拥塞或流量控制)打开,则窗口将在右侧拉伸。


即使接收端窗口(rwnd)为0,知道这一点也有帮助;发送方至少继续传输1字节。如果发送0个字节,则无法知道接收方缓冲区空间何时清空。 - XChikuX

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接