计算机网络 令牌桶算法是什么

计算机网络中的令牌桶算法是什么

令牌桶算法是拥塞控制算法之一。当网络中存在过多的数据包时,会导致数据包延迟和丢失,从而降低系统的性能。这种情况被称为拥塞。

网络层和传输层共同负责处理拥塞。控制拥塞的最有效方法之一是尽量减少传输层对网络的负荷。为了维护这种网络和传输层之间的协作,需要使用令牌桶算法。

以下是令牌桶算法的示意图 −

计算机网络中的令牌桶算法是什么?

随着流量过大,性能显著下降。

令牌桶算法

漏桶算法以平均速率强制输出模式,不论流量有多忙碌。为了处理更多的流量,我们需要一种灵活的算法,以避免数据丢失。令牌桶算法是一种适用的方法。

让我们逐步了解该算法,如下所示 −

  • 第1步 − 定期向令牌桶中投放令牌。

  • 第2步 − 令牌桶具有最大容量。

  • 第3步 − 如果数据包准备好了,则从令牌桶中移除一个令牌,并发送数据包。

  • 第4步 − 假设令牌桶中没有令牌,则无法发送数据包。

例子

让我们通过一个示例来了解令牌桶算法 −

计算机网络中的令牌桶算法是什么?

在图(a)中,令牌桶中有两个令牌,还有三个数据包等待发送到接口。

在图(b)中,通过消耗两个令牌已经发送了两个数据包,还剩下一个数据包。

与漏桶相比,令牌桶算法的限制较小,也就是说它允许更多的流量。繁忙程度的限制由令牌桶中可用令牌的数量在特定时间内决定。

令牌桶算法的实施很简单 − 使用一个变量来计数令牌。每隔t秒,计数器增加,然后在发送数据包时递减。当计数器为零时,不再发送数据包。

如下所示:

计算机网络中的令牌桶算法是什么?

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

计算机网络 精选笔记