tcp协议的拥塞控制
Quote
导致拥塞的原因有
一条数据链路经过非常多的设备
数据链路中各个部分都有可能成为网络传输的瓶颈
流量控制与拥塞控制的区别
- 流量控制考虑点对点的通信量的控制
- 拥塞控制考虑整个网络,是全局性的考虑
检测网络是否发生用赛的依据
- 报文超时则认为是拥塞
- 网络故障等
拥塞控制的算法
慢启动算法
- 由小到大逐渐增加发送数据量
- 每收到一个报文确认,就加一(指数增长),当增长到
慢启动阈值(ssthresh)
就会停止增长- 例如:1、2、4、8、16
拥塞避免算法
- 维护一个拥塞窗口的变量
- 只要网络不拥塞,就试探着拥塞窗口调大
假设当前达到了慢启动的 慢启动阈值(ssthresh)
,则会启动拥塞避免算法,拥塞避免算法就会试探着把拥塞窗口调大,则会在1、2、4、8、16
的基础上发送17、18