TCP拥塞窗口大小

时间:2013-09-15 07:06:59

标签: tcp window size sliding-window congestion-control

我正在进行一些修改,我被TCP问题困扰了。也许有人可以给我一个快速提示或推动正确的方向,这样我就可以通过这一部分了。

“为什么TCP中的发送实体在确定滑动窗口大小时需要考虑拥塞窗口的大小?”

2 个答案:

答案 0 :(得分:7)

  

“为什么TCP中的发送实体在确定滑动窗口大小时需要考虑拥塞窗口的大小?”

这是因为拥塞窗口的大小表示网络中可能的拥塞。这是TCP提供的关键功能之一。该窗口分三个阶段更新。

在第一阶段,当TCP启动时,它从拥塞窗口开始为1 MSS(最大段大小),然后以慢启动方式将其加速。 TCP发送器以此值启动,因为它“估计”它可以在网络中发送多少数据包。这个阶段也称为慢启动阶段。顺便说一句,即使它被称为慢启动,TCP也会通过将拥塞窗口加倍来增加数据包,并且在接收到ACK时会增加。

在第二阶段,当拥塞窗口达到慢启动(ss)阈值(是的,有一个!)时,TCP发送器会累加增长其拥塞窗口 - 这就是拥塞避免阶段。在这里,发件人变得更加谨慎。再次,收到ACK后会发生增加。

在第三阶段,当数据包被丢弃时(一个原因是重发超时发生),然后TCP将其拥塞窗口切换回1 MSS并重新开始再次增长。这样做是因为遇到了可能的拥塞,因此减少拥塞窗口可能会释放沿路径的拥塞情况。与其他阶段不同,由于缺乏接收ACK而导致减少。

答案 1 :(得分:0)

TCP可以使用滑动窗口方法来调节需要发送到接收器的数据包。接收器还可以保留滑动窗口以跟踪已经接收到哪些分组以及哪些分组已经被接收。在确定发送方侧的滑动窗口大小时,我们应考虑拥塞窗口大小,因为我们不想压倒网络通道。网络中的实际流量为min {awnd,cwnd},其中awnd是接收方向接收方通告的窗口大小,cwnd代表拥塞窗口大小,其最大值将根据网络状况而变化。 / p>