ターミナル エンド (クライアント) でイングレス トラフィックを調整するための概念実証をセットアップしています。
eth0 -> ifb0 -> htb -> filter by ip -> htb rate -> fq_codel+ecn
スロットルしたい特定のプログラム用に 2 つのソース IP があります。問題のプログラムは、一連の tcp 接続 (ダウンロード、したがってイングレス スロットル) を開きます。使用する総イングレス帯域幅を制限し (完了)、同じ IP アドレスへの接続間で公平なスケジューリングを行いたい (この質問)。
最終的に、レートがアタッチされた 1 つのバケットと 1つのfq_codel
インスタンスがあります。
動作していますが、いくつか質問があります。
- 確かに codel はプロトコルごとに別のキューを持っています (tcp と udp)?
- codel にはソース IP ごとに個別のキューがありますか?
- codel には tcp 接続ごとに個別のキューがありますか?
- 手動でフローを分離/タグ付けする必要がありますか?
インターネット調査フロー ID は「5 タプルのハッシュ」です。問題は、パケットのどの要素が 5 タプルの一部であるかということです。送信元ポートと宛先ポートの両方が含まれていますか?