跳转至

TCP拥塞控制

来源:计算机网络 / 运输层/TCP拥塞控制.md

拥塞控制

拥塞控制的目的

拥塞控制是指防止过多的数据注入网络,保证网络中的路由器或链路不致过载。出现拥塞时,端点并不了解拥塞发生的细节,对通信的端点来说,拥塞往往表现为通信时延的增加。

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

拥塞控制是让网络能够承受现有的网络负荷,是一个全局性的过程,涉及所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素。相反,流量控制往往是指点对点的通信量的控制,是个端到端的问题(接收端控制发送端),它所要做的是抑制发送端发送数据的速率。以便使接收端来得及接收。当然,拥塞控制和流量控制也有相似的地方,即它们都通过控制发送方发送数据的速率来达到控制效果。

拥塞窗口

\[ 发送窗口 = \min\{拥塞窗口,接收窗口\} \]

慢开始

需要设置一个慢开始门限ssthresh 超过这个门限就进入拥塞避免

拥塞避免

当出现网络拥塞后,把ssthresh减半,从cwnd=1开始,再慢开始 image.png

快重传

三个冗余ACK

快恢复

不是从1开始,而是把cwnd也减半,这样可以快速恢复 image.png

  • ssthresh

相关笔记