拥塞控制定义
当网络资源供不应求,就会发生拥塞。拥塞控制就是防止过多的数据涌入网络中,防止网络中的路由器或链路过载。
拥塞控制与流量控制1:
- 拥塞控制是一个全局性的过程;
- 流量控制是点对点通信量的控制。
拥塞窗口和滑动窗口2:
- 拥塞窗口是发送方控制发送速率的,避免发的过多造成拥塞,由发送方的拥塞控制算法监测出的网络拥塞程度来决定的。
- 滑动窗口是接收方控制流量以及同步数据范围的,通知发送方目前接收的数据范围,用于流量控制、接收端使用。滑动窗口由接收方反馈缓存情况来维护。
TCP拥塞控制由4个核心算法组成:慢开始、拥塞避免、快速重传和快速恢复。
慢开始和拥塞避免
发送方维持一个叫拥塞窗口cwnd的状态变量。拥塞窗口的大小取决于网络的拥塞程度,并且动态的在变化。发送方的发送窗口小于等于拥塞窗口。
慢开始算法:
不要一开始就发送大量的数据,先探测一下网络的拥塞程度,也就是说由小到大逐渐增加(指数增加)拥塞窗口的大小。
拥塞避免算法:
慢启动完成后,当拥塞窗口不断增大,为了防止拥塞