# 路由速率限制的方法

Canonical: https://www.nsecsoft.com/technet/%E8%B7%AF%E7%94%B1%E9%80%9F%E7%8E%87%E9%99%90%E5%88%B6%E7%9A%84%E6%96%B9%E6%B3%95.html

Language: zh-CN

Updated: 2020-10-26T09:42:48Z

随着用户信息流的急剧增加，服务提供者必须找到一种方法能够将共享络资源分发给不同的用户和应用，这意味着服务提供者 \[…\]

随着用户信息流的急剧增加，服务提供者必须找到一种方法能够将共享络资源分发给不同的用户和应用，

这意味着服务提供者必须能够管理进入SP网络信息流的流量和速率，因为有这样才能保证每一个用户的基本服务。速率限制和信息流管理是十分重要的，因为它允许服务提供者确定进人网络的信息流类型、每一类信息流允许的速率和流量，当络拥挤情况随着信息流负载改变发生变化时，重新确定每一跳由器的报文丢弃策略。

本文介绍一下路由速率限制的方法也就是信息流整形。

信息流整形通过将报立放入带有整形器的队列来减小网络发生拥挤的可能性，它通过平滑输出报文速率使其达到网络许可的速率和流帚，目前有两种基本的信息流整形工具。

1）信息流平滑工具：消除信息流的突发性，将突发性信息流平滑成稳定的信息流送入网络，这种速率限制功能通常通过漏斗算法实现；

2）长期平均信息流速率整形工具：允许事先确定持续时间的突发性信息流进入网络，可以将突发性信息流整形成受限制的突发性信息流进入网络，这种限制就是突发性信电流持续时词不能超过事先确定的持续时间。这种速率限制功能通过令牌桶算法实现。

每一种方法支持不同的速率限制能力，并导致具有不同特性的输出流。

(1)漏斗算法

漏斗速率限制算法将突发性报文流转换成稳定的输出报文流，如下图所示。

在漏斗速率限制算法操作过程中，突发性报文流被放入受漏斗队列稳定器控制的报文队列。如果报文流量超出了队列的存储容量，多余的搬文将被丢弃，当报文到达队列前端，它以稳定的速率送入网络，这个速率通过配置队列稳定器确定。

通过使用漏斗速率限制算法，服务提供者可以将报盘速率限制在网络允许的速率上，报文队列的长度确定了报文由于信息流整形所导致的延迟大小。

(2)令牌桶算法

令牌桶速率限制算法限制长期平均传输速率，允许有限制的突发性信息流进入网络，在选种方法中，令牌桶用于管理、控制报文进入网络速率的调节器，下图给出了这种速率控制算法的操作过程。

令牌生成器以R个令牌每秒的速率产生令牌，并将它们放入具有D个令牌深度的令牌桶。每个令牌授于传输同定数量字节的能力。当令牌桶装满（D个令牌）时，新产生的令牌将被丢弃，在令牌生成器产生令牌的同时，突发性报文流到达并被放入长度为L的队列中，当报文流帚超出队列能够存储的容量时，将丢弃多余的报文。

队列调节器在确定转发一个具有P个令牌所对应的字节长度的报文时，必须考虑下述因素：

·如果令牌桶是满的，报文送入网络，从令牌桶中移走P个令牌；

·如果令牌桶是空的，报文一直在队列前端等待，直到有P个令牌产生并放入令牌桶中，只有当令牌桶拥有了P个令牌，报文才能送入网络，然后从令牌桶中移走P个令牌；

·如果令牌只包含了T个令牌，当P小于等于T时，报文立即送入网络，并从令牌桶中移走P个令牌。如果P大于T，报文必须在队列前端等待，直到令牌拥有P个令牌，报文才能送入网络，然后从令牌桶中移走P个令牌。

令牌桶速率限制算法既可以调节长期平均传输速率，又允许一定流量、一定持续时间的突发性信息流的长期平均速率。令牌深度确定了突发性信息流的流量。队列长度限制报文由于信息流整形而导致的延迟大小。
