現在、ISPレベルの企業向けのトラフィックシェーピングソリューションに取り組んでおり、興味深い(一種の哲学的な)問題に遭遇しました。
システムが処理するエンドポイントの数(約20k程度)を見ると、より多くのユーザーのトラフィックをポリシー化/シェーピングする必要がある場合に何が起こるか少し心配になりました。現在、ネットワーク全体でHFSCシェーピングツリーを使用しているので(tc-hfscを参照してください。ほとんどがよく知られているHTBと同じです)、より多くのClassIDを使用する必要があります(明らかに、通信網)。私が見つけた問題は、TC ClassIDの種類が限られていることでした-それらは16ビットの数値であり、このソリューションによって形成された最大64kユーザーの可能性があります。
同様に、TCフィルターを効率的に管理したい場合(「すべての手法を使用しない」など)、個々のフィルターエントリを削除または変更できる必要があります。(LARTC [1]のハッシュテーブルに似たものを使用しています)。繰り返しますが、これで動作していると思われる唯一の方法は、個々の優先順位を使用してすべてのフィルターに番号を付けることです(tc filter add dev ... prio 1)。この目的に使用できる他のパラメーターはありません。残念ながら、prioも16ビットのみです。
私の質問は次のとおりです:「tc class」コマンドの32ビットclsid、「tc filter」の32ビット優先度(またはその他の変更ハンドル)など、利用可能な「識別子スペース」を拡大するための良い方法はありますかコマンド?
どうもありがとう、
-mk
(ところで、これは「64kユーザーですべての人に十分なはずです」シナリオに行かないことを願っています...)