1 拥塞
1.1 什么是拥塞?
拥塞是一种持续过载的网络状态,此时用户对网络资源(包括链路带宽、存储空间和处理器处理能力等)的需求超过了固有的容量。一句话说就是,接收方一口气收到了太多的数据,处理不了了。
1.2 解决方法
限制发送方的发送窗口。
而发送方的发送窗口是由两方面决定的。1、接收方的接受窗口。2、网络影响。
2 拥塞处理
2.1 拥塞处理流程
1、刚开始时,对于网络状况一无所知,所以需要把初始值设置的比较小。RFC建议2-4个MSS。
2、如果发出去的包都得到了确认,表明没有达到拥塞点,可以增大拥塞窗口。如果初始值为2的话,那么每次收到2个ACK,那么发送窗口就会增大2。1-2这个过程被称为慢启动过程。
3、当窗口的值达到ss阈值之后,如果继续,传输速度比较快,那么拥塞的概率就会变大。此时RFC建议每一个RTT窗口加1。这一个过程称为拥塞避免。 如果没有发生拥塞的话就可以和最大接受窗口相同。
4.1、当发生网络拥塞时,会出现重传,如果发生超时重传,那么发送窗口会初始值开始,重新开始慢启动。此时不但慢启动耗时,而且还会等待RTO的时间。影响网络的传输。 图片引用自:https://blog.csdn.net/rock_joker/article/details/76769404
4.2、当发生快速重传时(发送方收到大于3个ACK)(之所以时快速,是因为不需要和超时重传一样等待一段时间)。此时重新开始重传时,重传的窗口大小为拥塞时窗口大小的一半;并且继续保留在拥塞避免阶段。 这个阶段称为快恢复。
Q:SS阈值怎么设定?
来源:CSDN
作者:WenLang_M
链接:https://blog.csdn.net/Shawn_Ch/article/details/104038327