计算机网络中的拥塞控制
什么是拥堵?
当消息流量如此之大以致减慢网络响应时间时,网络层会出现一种状态。
拥塞的影响
拥塞控制算法
让我们考虑一个例子来理解
想象一个底部有一个小孔的水桶。无论水以何种速度进入水桶,流出的速度都是恒定的。当桶装满水时,额外的水会从侧面溢出并流失。
同样,每个网络接口都包含一个漏桶,漏桶算法涉及以下步骤:
需要令牌桶算法:-
漏桶算法以平均速率强制输出模式,无论流量有多突发。所以为了应对突发的流量,我们需要一个灵活的算法来保证数据不丢失。一种这样的算法是令牌桶算法。
该算法的步骤可以描述如下:
让我们通过一个例子来理解,
在图 (A) 中,我们看到一个包含三个令牌的桶,其中有五个数据包等待传输。对于要传输的数据包,它必须捕获并销毁一个令牌。在图 (B) 中,我们看到五个数据包中的三个已经通过,但另外两个被卡住等待生成更多令牌。
令牌桶优于漏桶的方式:
漏桶算法控制数据包引入网络的速率,但本质上非常保守。在令牌桶算法中引入了一些灵活性。在令牌桶中,算法令牌在每个滴答时生成(达到一定限制)。对于要传输的传入数据包,它必须捕获令牌并且以相同的速率进行传输。因此,如果令牌可用,一些繁忙的数据包将以相同的速率传输,从而在系统中引入一定程度的灵活性。
公式: M * s = C + ρ * s
其中 S – 是花费的时间
M – 最大输出速率
ρ – 令牌到达率
C – 令牌桶的容量(以字节为单位)
让我们通过一个例子来理解,
链接到关于漏桶算法的问题:https://www.geeksforgeeks.org/computer-networks-set-8/