计算机网络中的拥塞控制

拥塞?网络层中的一种状态,当消息流量过大,导致网络响应时间变慢时出现这种状态。

影响 拥塞

  • 随着延迟的增加,性能下降。
  • 如果延迟增加,则发生重传,使得情况更糟。

拥塞控制算法

  •  拥塞控制是一种控制数据包进入网络的机制,可以更好地使用共享网络基础设施并避免拥塞崩溃。
  • 拥塞避免算法(CAA)在TCP层实现,作为避免网络中的拥塞崩溃的机制。
  • 存在如下两种拥塞控制算法:
     
  • 漏桶算法
  • 漏桶算法发现它在网络流量整形或速率限制的上下文中的用途。
  • 漏桶执行和令牌桶执行主要用于流量整形算法。
  • 该算法用于控制流量发送到网络的速率,并将突发流量整形为稳定的流量流。
  • 与漏桶算法相比的缺点是可用网络资源的低效使用。
  • 带宽等大面积网络资源没有得到有效利用。
     

让我们考虑一个例子来理解想象一个底部有一个小孔的水桶,无论水以什么速度进入水桶,流出的速度都是恒定的,当水桶装满水时,额外的水从桶的两侧溢出并流失。

Leaky Bucket

类似地,每个网络接口都包含一个漏桶和以下内容 

步骤 涉及漏桶算法:

  1.  当主机要发送数据包时,数据包被扔进桶中。
  2.  桶以恒定速率泄漏,这意味着网络接口以恒定速率传输数据包。
  3.  通过漏桶将突发业务转换为均匀业务。
  4. 实际上,桶是以有限速率输出的有限队列。
  • 令牌桶算法
  • 漏桶算法在独立于突发流量的平均速率下具有刚性输出设计。
  • 在一些应用中,当大突发到达时,允许输出加速。这就需要一种更灵活的算法,最好是一种永远不会丢失信息的算法。因此,令牌桶算法发现其在网络流量整形或速率限制中的用途。
  • 它是一种控制算法,指示何时应发送流量。此顺序基于存储桶中令牌的显示。
  • 存储桶包含令牌。每个令牌定义预定大小的分组。桶中的令牌被删除以获得共享分组的能力。
  • 当示出令牌时,用于传输业务的流出现在令牌的显示中。
  •  没有令牌意味着没有流发送其分组。因此,流在桶中的良好令牌中将流量传输到其峰值突发速率。

需要 token bucket算法:-漏桶算法以平均速率强制输出模式,而不管流量有多突发。因此,为了处理突发业务,我们需要一个灵活的算法,使数据不会丢失。一种这样的算法是令牌桶算法。

步骤 该算法的性能可以描述如下:

  1. 每隔一段时间,代币就会被扔进桶中。ƒ
  2. 铲斗具有最大容量。ƒ
  3. 如果存在就绪分组,则从桶中移除令牌,并且发送分组。
  4. 如果桶中没有令牌,则无法发送数据包。

让我们用一个例子来理解在图(A)中,我们看到一个桶包含三个令牌,其中有五个数据包等待传输。对于要传输的数据包,它必须捕获并销毁一个令牌。在图(B)中,我们看到五个数据包中的三个已经通过,但另外两个被卡住,等待生成更多的令牌。

令牌桶上级漏桶的方式:漏桶算法控制分组被引入网络的速率,但它本质上非常保守。在令牌桶算法中引入了一定的灵活性。在令牌桶中,算法令牌在每个滴答处生成(直到某个限制)。对于要传输的传入数据包,它必须捕获令牌,并且以相同的速率进行传输。因此,如果令牌可用,则以相同的速率发送一些突发分组,从而在系统中引入一定量的灵活性。

公式:M * s = C + ρ * s其中S -为所用时间M -最大输出速率ρ -令牌到达速率C -令牌桶的容量,单位为字节让我们用一个例子来理解

image0031
THE END
抢沙发

请登录后发表评论

    暂无评论内容