问题标签 [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.

0 投票
0 回答
13 浏览

load-balancing - TC。我怎样才能结合prio圆盘和整形?

如何结合 PRIO 和 HTB 达到以下效果:

  • 如果有第 1 类的交通,则不要继续第 2 类的交通
  • 将第 1 类限制为特定带宽以避免总吞吐量垄断
0 投票
0 回答
19 浏览

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

谢谢!

0 投票
0 回答
23 浏览

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 参数有关?我还观察到,在数据传输过程中,每个类都有负数的令牌。这很糟糕吗?如果是这样,我应该调整哪些参数以及如何调整?

先感谢您!