linux tcコマンドを使用したUDPトラフィックの制御

linux tcコマンドを使用したUDPトラフィックの制御

設定:Wi-Fiルーター(dd-wrtファームウェアを含むatheros NIC)にワイヤレスで接続されたクライアントノートブック(mac)。サーバー(Linux)はイーサネットインターフェースを介してルーターに直接接続されます。今スループットをテストするためにiperf3を使用しています。

サーバー上

iperf3 -s

お客様の事業所で

iperf3 -R -c 192.168.1.121 -t 60 -b 50M

つまり、クライアントはサーバーから-Rオプションを使用してダウンロードしています。これはTCPトラフィックです(Reno輻輳制御を含む)。これにより、予想される順次スループットは約50Mbpsであった。輻輳は任意の時間に存在するため、その瞬間にスループットが低下します。これはいいですね。これで、Wi-Fiルーターからクライアント(Wi-Fi送信ポートなど)へのトラフィックを制御したいと思います。これを行うには、Linuxのtcユーティリティを使用します。

Wi-Fiルーターから:

tc qdisc add dev ath0 root tbf rate 5mbit burst 32kbit latency 400ms

いったん実行すると、スループットは予想通り5Mbpsに低下しました。

質問:TCPの代わりにUDPを使用する場合:

iperf3 -R -c 192.168.1.121 -t 60 -b 50M -u

UDPトラフィックを生成するオプション-uもうまく機能します。ただし、トラフィックを制御するために同じ tc コマンドが生成されると、UDP スループットは 0 Mbps に低下します。 tc qdisc コントロールを削除すると、50Mbps に戻ります。

考えられる理由は何ですか?

関連情報