我正在尝试限制流量来测试一些内部应用程序的性能,但是在配置我的家用电脑和公司测试平台时我得到的结果不一致。
目标是将速率控制在 256kbps,在家里可以正常工作(通过 wget 测试),但是当我在公司测试台上重复相同测试时,速率下降到 20KBps。我测试过,如果没有 TC 设置,测试台的运行速度超过 10 mbps。
我想知道 TC 是否会以某种方式破坏数据包,从而导致防火墙以不同的方式对待它们?
我的配置命令:
tc qdisc add dev eth0 handle ffff: ingress
tc filter add dev eth0 parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police rate 256kbps burst 100kb drop flowid :1
答案1
不,tc
不改变数据包。它将它们放入队列中,然后从队列中拉出,以指定的速率将它们放到线路上。
但是,防火墙可能对数据包特性要求较高,或者您使用的协议的生命周期很短。您应该联系防火墙管理员,看看他们能否告诉您可能发生的情况。
请记住,当今的网络非常复杂。各种不经常相互接触的技术有时会产生奇怪的结果。