拥塞?网络层中的一种状态,当消息流量过大,导致网络响应时间变慢时出现这种状态。
影响 拥塞
- 随着延迟的增加,性能下降。
- 如果延迟增加,则发生重传,使得情况更糟。
拥塞控制算法
- 拥塞控制是一种控制数据包进入网络的机制,可以更好地使用共享网络基础设施并避免拥塞崩溃。
- 拥塞避免算法(CAA)在TCP层实现,作为避免网络中的拥塞崩溃的机制。
- 存在如下两种拥塞控制算法:
- 漏桶算法
- 漏桶算法发现它在网络流量整形或速率限制的上下文中的用途。
- 漏桶执行和令牌桶执行主要用于流量整形算法。
- 该算法用于控制流量发送到网络的速率,并将突发流量整形为稳定的流量流。
- 与漏桶算法相比的缺点是可用网络资源的低效使用。
- 带宽等大面积网络资源没有得到有效利用。
让我们考虑一个例子来理解想象一个底部有一个小孔的水桶,无论水以什么速度进入水桶,流出的速度都是恒定的,当水桶装满水时,额外的水从桶的两侧溢出并流失。
类似地,每个网络接口都包含一个漏桶和以下内容
步骤 涉及漏桶算法:
- 当主机要发送数据包时,数据包被扔进桶中。
- 桶以恒定速率泄漏,这意味着网络接口以恒定速率传输数据包。
- 通过漏桶将突发业务转换为均匀业务。
- 实际上,桶是以有限速率输出的有限队列。
- 令牌桶算法
- 漏桶算法在独立于突发流量的平均速率下具有刚性输出设计。
- 在一些应用中,当大突发到达时,允许输出加速。这就需要一种更灵活的算法,最好是一种永远不会丢失信息的算法。因此,令牌桶算法发现其在网络流量整形或速率限制中的用途。
- 它是一种控制算法,指示何时应发送流量。此顺序基于存储桶中令牌的显示。
- 存储桶包含令牌。每个令牌定义预定大小的分组。桶中的令牌被删除以获得共享分组的能力。
- 当示出令牌时,用于传输业务的流出现在令牌的显示中。
- 没有令牌意味着没有流发送其分组。因此,流在桶中的良好令牌中将流量传输到其峰值突发速率。
需要 token bucket算法:-漏桶算法以平均速率强制输出模式,而不管流量有多突发。因此,为了处理突发业务,我们需要一个灵活的算法,使数据不会丢失。一种这样的算法是令牌桶算法。
步骤 该算法的性能可以描述如下:
- 每隔一段时间,代币就会被扔进桶中。ƒ
- 铲斗具有最大容量。ƒ
- 如果存在就绪分组,则从桶中移除令牌,并且发送分组。
- 如果桶中没有令牌,则无法发送数据包。
让我们用一个例子来理解在图(A)中,我们看到一个桶包含三个令牌,其中有五个数据包等待传输。对于要传输的数据包,它必须捕获并销毁一个令牌。在图(B)中,我们看到五个数据包中的三个已经通过,但另外两个被卡住,等待生成更多的令牌。
令牌桶上级漏桶的方式:漏桶算法控制分组被引入网络的速率,但它本质上非常保守。在令牌桶算法中引入了一定的灵活性。在令牌桶中,算法令牌在每个滴答处生成(直到某个限制)。对于要传输的传入数据包,它必须捕获令牌,并且以相同的速率进行传输。因此,如果令牌可用,则以相同的速率发送一些突发分组,从而在系统中引入一定量的灵活性。
公式:M * s = C + ρ * s其中S -为所用时间M -最大输出速率ρ -令牌到达速率C -令牌桶的容量,单位为字节让我们用一个例子来理解
THE END
暂无评论内容