TCP的拥塞控制
学习拥塞控制最重要的就是理解慢启动与拥塞避免
学习慢启动,拥塞避免机制/快速恢复机制
1.怎么判断发生了网络拥塞?
拥塞时,路由器的队列排满了,来的分组都会丢失,判断依据分组丢失
判断分组丢失:1.当超时重传启动,2.快速重传机制启动(多次确认)
快速重传说明接收方还能接受到其他的,网络拥塞还不算太严重
超时重传说明拥塞严重了
快速恢复机制(与快速快速重传配套):出现拥塞时,拥塞窗口不置为1,而是直接从慢启动门限开始,并且直接使用拥塞避免不用慢启动
网络拥塞也分程度来控制发送
2.具体怎么控制发送到达拥塞?
因为发送窗口不知道整个网络什么时候会发生拥塞,所以要试探性发送数据
慢启动和拥塞避免都是扩大拥塞窗口只不过速度不一样
慢启动是按照指数方式增长
假设cwnd为发送方的拥塞窗口,设置cwnd=1,发送一个报文段,收到报文段确认则cwnd+1,再发送两个报文段
因为发送延时远远小于传输延时,所以近乎指数方式增长
拥塞避免
拥塞避免是依据每个往返时间RTT来增加一个MISS大小,实际做法是每收到一个确认cwnd增加一个MISS*(MISS/cwnd).(Miss是一个报文段大小)
暂时理解慢启动门限初始值是自己设置,之后的慢启动门限是依据拥塞值一半来设置的
发送窗口取拥塞窗口与接收方接收窗口较小的一个
静,静,静