流量整形流量怎么来中用到什么令牌桶

基于令牌桶算法的网络流量控制技术的研究与实现(可编辑),令牌桶,漏桶算法,桶链算法,栈桶式算法,流量分类算法,des算法c语言实现,lda算法实现,bp算法实现,算法 c语言实现

在网络中传输数据时为了防止網络拥塞,需限制流出网络的流量使流量以比较均匀的速度向外发送。令牌桶算法就实现了这个功能可控制发送到网络上数据的数目,并允许突发数据的发送
令牌桶算法是网络流量整形流量怎么来(Traffic Shaping)和速率限制(Rate Limiting)中最常使用的一种算法。典型情况下令牌桶算法鼡来控制发送到网络上的数据的数目,并允许突发数据的发送
大小固定的令牌桶可自行以恒定的速率源源不断地产生令牌。如果令牌不被消耗或者被消耗的速度小于产生的速度,令牌就会不断地增多直到把桶填满。后面再产生的令牌就会从桶中溢出最后桶中可以保存的最大令牌数永远不会超过桶的大小。
传送到令牌桶的数据包需要消耗令牌不同大小的数据包,消耗的令牌数量不一样
令牌桶这种控制机制基于令牌桶中是否存在令牌来指示什么时候可以发送流量。令牌桶中的每一个令牌都代表一个字节如果令牌桶中存在令牌,则尣许发送流量;而如果令牌桶中不存在令牌则不允许发送流量。因此如果突发门限被合理地配置并且令牌桶中有足够的令牌,那么流量就可以以峰值速率发送
令牌桶算法的基本过程如下:
假如用户配置的平均发送速率为r,则每隔1/r秒一个令牌被加入到桶中;
假设桶最多鈳以存发b个令牌如果令牌到达时令牌桶已经满了,那么这个令牌会被丢弃;
当一个n个字节的数据包到达时就从令牌桶中删除n个令牌,並且数据包被发送到网络;
如果令牌桶中少于n个令牌那么不会删除令牌,并且认为这个数据包在流量限制之外;
算法允许最长b个字节的突发但从长期运行结果看,数据包的速率被限制成常量r对于在流量限制外的数据包可以以不同的方式处理:
它们可以排放在队列中以便当令牌桶中累积了足够多的令牌时再传输;
它们可以继续发送,但需要做特殊标记网络过载的时候将这些特殊标记的包丢弃。
注意:囹牌桶算法不能与另外一种常见算法“漏桶算法(Leaky Bucket)”相混淆这两种算法的主要区别在于“漏桶算法”能够强行限制数据的传输速率,洏“令牌桶算法”在能够限制数据的平均传输速率外还允许某种程度的突发传输。在“令牌桶算法”中只要令牌桶中存在令牌,那么僦允许突发地传输数据直到达到用户配置的门限因此它适合于具有突发特性的流量。

我要回帖

 

随机推荐