tcフィルタでUDPパケットをフィルタリングする

tcフィルタでUDPパケットをフィルタリングする

こんにちは。 UDPテストの帯域幅を制限しようとしていますiperfiperf -u)。私はtc qdiscandクラスを使用して保証された料金と制限料金を設定しました。しかし、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 -uおよびiperf -c -u ip)の結果は1.05Mbpsのままになるようです。

UDPを正しくフィルタリングする方法を知っている人はいますか?

ベストアンサー1

tc-filter送信された制御パケットのトラフィックは調整されますが、受信したパケットのトラフィックは調整されません。したがって、udp を使用するとiperf応答が不要になり、速度は変わりません。 TCPを使用するときにiperf機能するにはackが必要です。

おすすめ記事