限流器使用tokenbucket的算法流量flow的带宽利用率。在每个流入的帧到达的时候,就把它们的长度加到tokenbucket(记号桶)上。每隔0.25毫秒(四千分之一秒),就从tokenbucket减去CIR(CommittedInformationRate,承诺信息速率)或者说是平均限流速率的值。这样做的思是,保持tokenbucket等于0,从而稳定数据速率。 路由器限速软件限流器允许流量速率突发超出平均速率一定的量。tokenbucket增长到突发值(以字节为单位)水平之间的质量是允许的有效突发量,这也叫做in-profiletraffic(限内流量)。当tokenbucket的大小超过了突发值,限流器就认为流量“过大”了。这时我们可以定义一个PIR(PeakInformationRate,峰值信息速率)。当流量超出最大突发值达到PIR的时候,限流器就认为流量违规,这类流量也叫做out-of-profiletraffic(限外流量)。所以当实际的流量通过限流器(tokenbucket)后,可以看到会有两种情况发生: (1)实际流量小于或等于用户希望速率,帧离开bucket的实际速率将和其来到的速率一样,bucket内可以看作是空的。流量不会超过用户的希望值。 (2)实际流量大于用户希望速率。帧进入bucket的速率比其离开bucket的速率快,这样在一段时间内,帧将填满该bucket,继续到来的帧将溢出(excess)bucket,则CAR采取相应的动作(一般是丢弃或将其IP前缀改变以改变该token的优先级)。这样就了数据流量速率在用户定义的希望值内。 |
不良信息举报Q:2000617|Archiver|ROS软路由论坛 ROSABC.com 网络方案网络工程交流
GMT+8, 2025-7-1 19:56 , Processed in 0.050732 second(s), 15 queries .
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.