TCP的拥塞控制

一. 基本概念

  1. 在某段时间,若对网络中的某一资源的需求超过了该资源所能提供的可用部分,网络性能就要被破坏,这种情况就叫做拥塞

  2. 在计算机网络中的链路容量(即带宽)、交换结点中的缓存和处理机等,都是网络的资源

  3. 若出现拥塞而不进行控制,整个网络的吞吐量将随着负荷的增大而下降

我们使用下图来说明拥塞控制的作用

横坐标是输入负载,代表单位时间内输入给网络的分组数量
纵坐标是吞吐量,代表单位时间内从网络输出的分组数量

具有理想拥塞控制的网络,在吞吐量达到饱和之前,网络吞吐量应等于输入的负载,故吞吐量曲线是45°的斜线

但当输入负载超过某一限度时,吞吐量就不再增长而保持水平线:

也就是吞吐量达到饱和,这就表明输入的负载中有一部分损失掉了。

例如,输入到网络中的某些分组被某个节点丢弃了

虽然如此,网络的吞吐量仍然维持在其所能达到的最大值。

然而,实际的网络就很不同了,我们再来看这条吞吐量曲线

随着输入负载的增大,网络吞吐量的增长率逐渐减小,也就是在网络吞吐量还未达到饱和时,就已经有一部分的输入分组被丢弃了。

再来看下图:

当网络的吞吐量明显地小于理想的吞吐量时,网络就进入了轻度拥塞的状态。

更值得注意的是,当输入负载到达某一数值时,网络的吞吐量反而随着负载的增大而减小,这是网络就进入了拥塞状态。

当输入负载继续增大到某一数值时,网络的吞吐量就减小为0,此时网络就无法工作了,这就是所谓的死锁

因此,进行拥塞控制是非常有必要的,实际的拥塞曲线,应该尽量接近理想的拥塞控制曲线。

posted @   独特且押韵  阅读(138)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
Title
点击右上角即可分享
微信分享提示