在tc过滤器中过滤UDP数据包

在tc过滤器中过滤UDP数据包

您好,我正在尝试限制 udp 测试的带宽iperf( iperf -u)。我用tc qdiscand class为其制定一些保证率和上限率。但是,我不知道应该使用什么过滤器来限制 UDP 性能?我尝试了几个匹配标准,例如:

$ sudo tc filter add dev $DEV parent 1: prio 1 u32 match ip src 10.0.0.1 match ip protocol 17 0xffff flowid 1:20
$ sudo tc filter add dev $DEV parent 1: prio 1 u32 match ip src 10.0.0.1 match ip protocol 17 0xff flowid 1:20
$ sudo tc filter add dev $DEV parent 1: prio 1 u32 match udp src 10.0.0.1 flowid 1:20

但它们都不起作用。我尝试了很多次,但 UDP iperfiperf -s -uiperf -c -u ip)结果似乎保持不变,即 1.05 Mbps。

有谁知道如何正确过滤UDP?

答案1

tc-filter对发送的控制数据包的流量进行整形,但不能控制接收的数据包。因此,当您使用 udp 时,iperf不需要回复,速度保持不变。当你使用 tcp 时,iperf需要一个 ack,所以它可以工作......我猜。

相关内容