出现拥塞的条件:对资源需求的总和>可用资源

网络中有许多资源同时呈现供应不足—->网络性能变坏—->网络吞吐量将随输入负荷增大而下降

拥塞控制:防止过多的数据注入到网络中。(全局性)

拥塞控制四种算法

假定:

  1. 数据单方向传送,而另一个方向只传送确认
  2. 接收方总是有足够大的缓存空间,因而发送窗口大小取决于拥塞程度(发送窗口=Min{接收窗口rwnd,拥塞窗口cwnd})

接收窗口:接收方根据接受缓存设置的值,并告知给发送方,反应接收方容量。
拥塞窗口:发送方根据自己估算的网络拥塞程度而设置的窗口值,反应网络当前容量。

慢开始和拥塞避免

一个传输轮次:发送了一批报文段并收到它们的确认的时间,一个往返时延RTT。

image.png

快重传和快恢复

image.png

快速重传
  • 接收方
    • 当接收到一个失序数据段时,立刻发送它所期待的缺口ACK序列号
    • 当接收到填充失序缺口的数据段时,立刻发送它所期待的下一个ACK序列号
  • 发送方
    • 当接收到3个重复的失序ACK段(4个相同的失序ACK段时),不再等待重传定时器的触发,立刻基于快速重传机制重发报文
  • image.png