Skip to content

tcp协议的拥塞控制

Quote

导致拥塞的原因有
一条数据链路经过非常多的设备
数据链路中各个部分都有可能成为网络传输的瓶颈

流量控制与拥塞控制的区别

  • 流量控制考虑点对点的通信量的控制
  • 拥塞控制考虑整个网络,是全局性的考虑

检测网络是否发生用赛的依据

  • 报文超时则认为是拥塞
  • 网络故障等

拥塞控制的算法

慢启动算法

  • 由小到大逐渐增加发送数据量
  • 每收到一个报文确认,就加一(指数增长),当增长到 慢启动阈值(ssthresh) 就会停止增长
    • 例如:1、2、4、8、16

拥塞避免算法

  • 维护一个拥塞窗口的变量
  • 只要网络不拥塞,就试探着拥塞窗口调大

假设当前达到了慢启动的 慢启动阈值(ssthresh),则会启动拥塞避免算法,拥塞避免算法就会试探着把拥塞窗口调大,则会在1、2、4、8、16的基础上发送17、18

慢启动算法与拥塞避免算法的增长图示

TCP协议的流量控制