設定: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 に戻ります。
考えられる理由は何ですか?