在Linux下用tc限制接口带宽

前端之家收集整理的这篇文章主要介绍了在Linux下用tc限制接口带宽前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个 linux路由器,外面有一个10GBe的接口,内部有绑定的千兆以太网接口.

我们目前的预算为2GBit / s.如果我们超过该速率超过平均一个月的5%,那么我们将收取整个10Gbit / s的容量.以美元计算相当一步.

所以,我想在10GBe接口上将其限制为2GBit / s.

TBF过滤器可能是理想的,但这个评论值得关注.

On all platforms except for Alpha,it is able to shape up to 1mbit/s of normal traffic with ideal minimal burstiness,sending out data exactly at the configured rates.

我应该使用TBF或其他过滤器将此速率应用于接口,我该怎么做.我不明白这里给出的例子:Traffic Control HOWTO

特别是“例9.创建256kbit / s TBF”

tc qdisc add dev eth0 handle 1:0 root dsmark indices 1 default_index 0
tc qdisc add dev eth0 handle 2:0 parent 1:0 tbf burst 20480 limit 20480 mtu 1514 rate 32000bps

如何计算256K bit / s速率?在此示例中,32000bps =每秒32k字节.由于tc每秒使用bps =字节.
我想突发和限制发挥作用,但你会如何选择合理的数字达到理想的速度?

这不是一个错误.我对此进行了测试,它的速率接近256K,但并非如此.

编辑

在做了大量的阅读和测试之后,我得出的结论是TBF是不合适的,因为它涉及带宽.无论我尝试什么设置,我都无法获得TBF来提供带宽> 〜达到50Mbit /秒.根据lartc.org/lartc.pdf,RED方法更适合于整形带宽> 100Mbit / s所以我会尝试使用它.

但是,选择min的值(即标记成为可能的平均队列大小).给出的例子如下:

You should set the min by calculating that highest acceptable base
queueing latency you wish,and multiply it by your bandwidth. For
instance,on my 64kbit/s ISDN link,I might want a base queueing
latency of 200ms so I set min to 1600 bytes.

>您将如何选择最高可接受的基本排队延迟?例子是64kbit / s.
> 2Gbit / s可以接受什么?

解决方法

>您应该根据流量类型选择可接受的排队延迟.

>例如,对于语音排队而言,200ms已经是一个问题.
>虽然拥有500毫秒的ftp / torrent流量缓冲区并不是一个大问题.

>排队延迟/策略是流量类型而非接口速度的问题.例如,VOIP可能根本不应排队.不幸的是,tc RED文档不是很清楚,你最好在瞻博网络/思科网站上阅读一些RED信息并将这些知识应用到tc.

原文链接:https://www.f2er.com/linux/400258.html

猜你在找的Linux相关文章