问题标签 [trafficshaping]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
load-balancing - TC。我怎样才能结合prio圆盘和整形?
如何结合 PRIO 和 HTB 达到以下效果:
- 如果有第 1 类的交通,则不要继续第 2 类的交通
- 将第 1 类限制为特定带宽以避免总吞吐量垄断
amazon-web-services - 路由器 NAT 阻止从子网上传
我有这种情况。
我需要阻止从专用网络(10.0.30.0)到互联网的大量上传。我通过堡垒/路由器 eth1 从专用网络路由 0.0.0.0/0 流量。
我在那里转发: sudo sysctl -w net.ipv4.ip_forward=1
因为我们在 NAT 后面: iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
有用。
然后我试图限制来自 eth1 的下载带宽(因此限制从子网上传),但我无法正确标记包:
似乎带有标记的 iptables 规则不起作用。
到目前为止,我已经设法阻止了 eth0 上传,但它不一样。为此,我使用仅 TC 脚本而不标记连接或包。我不希望堡垒上传受到限制,因此它不是一个有效的解决方案。
下一步将是减少具有大量字节的连接的带宽。我认为 connbytes 是要走的路,但我需要先解决这一步。我认为 MASQUERADE 让我的生活变得更加艰难:D
谢谢!
linux - HTB“速率”参数限制可用带宽
再会,
我有以下情况:从一台机器到另一台机器的 4 个 TCP 数据流。每个流都有自己的目标 TCP 端口。4 个流有不同的优先级:高、中、低、大容量。高、中、低产生 1.67Mbit/s,批量产生 10Mbit/s。(iperf3 用于生成流量)。每个流的数据包都标有适当的 DiffServ 标记 (DSCP),该标记用于 HTB qdisc 中的流量分类。
目标:HTB qdisc 的配置方式应该是在任何时候高优先级流获得所需的 1.67Mbit/s,中等优先级也保证 1.67Mbit/s,但优先级略低,其余流量应保证 50kbit /秒。如果每个流空闲并且流生成的带宽比最初指定的多,则每个流必须能够使用整个链路。
流量的产生:
HTB qdisc的配置
流量分类正确。我可以看到 tc 类统计中的相关计数器在上升。我重新检查了很多次。
问题: 此配置正确地将带宽分配给高优先级和中等优先级流。Low prio 和 bulk 也获得了 50kbit。但是,我无法通过链接超过根类1:1中指定的值作为速率,即 3.5mbit。
在我阅读的每篇关于 HTB 的文章和手册中都指出,“rate”参数是该类的最低保证速率,“ceil”是它可以获得的最大数量。在我的情况下,“速率”似乎将链接限制在指定值。这绝对不是期望和预期的行为。
如果我将根类的“rate”参数设置为与“ceil”相同的值,即 1000mbit,则不会发生优先级,并且可用带宽在所有流之间平均分配。这不是所需的行为,因为在可用带宽波动的情况下,prio 流量将低于 1.67Mbit/s
我是否误解了根类中“rate”参数的含义?这个问题是否与“量子”等其他 HTB 参数有关?我还观察到,在数据传输过程中,每个类都有负数的令牌。这很糟糕吗?如果是这样,我应该调整哪些参数以及如何调整?
先感谢您!