
TCPトラフィックの優先順位を指定するために、IPヘッダーのToSフィールドを使用しようとしています。 iperfを介して1GBのデータを転送し、ToSフィールドを0x10(待機時間最小化)に設定してインターフェイス(イーサネット)を飽和させます。次に、デフォルトのToS(0)を使用して別のTCPクライアントを起動します。
期待:私のTCPクライアントは、iperfがデータ転送を完了するまでデータを送信しないでください。
結果:iperfがより高い優先順位でパケットを送信しても、私のクライアントからのデータが送信されています。
また、2つの別々のクライアントを作成し、iptablesを使用してそのクライアントに0x10と0x08 ToSを割り当てて同じシナリオを作成しました。私は待ち時間を最小限に抑えるために、iptables -A PREROUTING -t mangle -p tcp --sport 5000 -j TOS --set-tos を使用しました。
それでも、ある顧客を他の顧客より優先することはできません。 WiresharkでToSとマークされたパケットを見ることができますが。
Ubuntu(14.04)とiptablesバージョン1.4.21を使用しています。