TCP流量控制和拥塞控制

文章目录

  • 流量控制
  • 拥塞控制

流量控制

当发送方发送速率大于接收方的处理速率时,接收方会把数据包放入缓冲区,当缓冲区满了,就只能将数据包丢弃。为了应对这种情况,流量控制就可以大展身手了
流量控制的作用对象是发送方和接收方

TCP流量控制和拥塞控制_第1张图片

拥塞控制

当接收方网络拥塞,未能及时ACK时,导致发送方超时重传大量数据,使网络更加拥塞。为了应对这种情况,拥塞控制就可以大战身手了,拥塞控制用来调节网络负载
拥塞控制的作用对象是整个网络

  1. 慢启动阶段
    TCP连接刚建立时,cwnd(拥塞窗口)大小为1,发送方可以发送拥塞窗口大小的数据,当发送方接收到接收方的ack确认包时cwnd拥塞窗口大小翻倍,可以发送拥塞窗口大小的数据,当所有数据确认包都返回了,拥塞窗口继续翻倍
    当拥塞窗口达到慢启动的阈值时开始进行拥塞避免
  2. 拥塞避免
    将发送方接收到接收方的确认包后,拥塞窗口大小不在翻倍增加,而是转变为每次加1,同时阈值加1,当收到3个重复ACK时进行快速重传
  3. 快速重传
    将阈值减半,拥塞窗口的大小减半,继续进行拥塞避免

(注:TCP Tahoe当出现丢包时直接将拥塞窗口设置为1,会导致发送速率不稳定,目前已经废弃)

TCP流量控制和拥塞控制_第2张图片

你可能感兴趣的:(计算机网络,tcp/ip,服务器,网络协议)