1Gb ネットワークを使用しており、レートを 100MB に制限してから 1Gb に制限して、特定の TCP パフォーマンス テストを実行する必要があります。私の理解では、以下に示すように、階層型トークン バケット (htb) を使用してこれを実現できます。
tc qdisc add dev eth0 root handle 1: htb default 12
tc class add dev eth0 parent 1: classid 1:1 htb rate 1gbps ceil 1gbps
tc class add dev eth0 parent 1: classid 1:10 htb rate 100mbps ceil 100mbps
これにより、2 つのルート クラス 1:1 と 1:10 が作成され、それぞれ帯域幅が 1 GB と 100 MB になります。私の理解が間違っている場合は修正してください。
次に、TCP アプリケーションで上記のクラスを使用するにはどうすればよいですか? たとえば、100 Mb のみを使用する必要があるアプリケーションを実行する場合、ソケット オプションで何かを指定して、アプリケーションから送信されるすべてのメッセージがクラス 1:1 に属し、レートが 100 Mb に制限されるようにする必要がありますか?