网络

网络知识体系(四) —— TCP 拥塞控制

2021-05-26  本文已影响0人  Vic_wkx

转自 HuanBlog:这一篇 TCP 总结请收下

拥塞控制用来避免网络过分拥挤导致的丢包严重、网络效率降低的问题。

以交通为例:高速公路同一时间可通行的汽车数量是一定的,当节假日时,会发生严重的堵车。在 TCP 中,数据包超时会进行重传。就像是本就堵车的公路进入了更多的汽车,导致的结果是网络中不断地 丢包 - 重传 - 丢包 - 重传。直至网络瘫痪。

拥塞控制通过限制发送方的滑动窗口大小来限制流量。当然,拥塞控制的手段不只是流量控制,导致拥塞的因素有:路由器缓存、带宽、处理器处理速度等等。提升硬件能力(四车道改成八车道)是其中一个方法,但毕竟硬件提升是有瓶颈的,没办法不断提升,还是需要从 TCP 本身来增加算法,解决拥塞。

拥塞控制的重点有四个:慢开始、快恢复、快重传、拥塞避免。

慢开始和拥塞避免算法

Y 轴表示的是发送方窗口大小,X 轴表示的是发送的轮次(不是字节编号)。

通过这个算法,可以在很大程度上避免网络拥挤。

除此之外,还可以让路由器在缓存即将满的时候,通知发送方我快满了,而不是等到出现了超时再进行处理,这被称为主动队列管理 AQM(Active Queue Management)。

上一篇下一篇

猜你喜欢

热点阅读