パケットのドロップやメッセージの損失を心配しているため、このようなリンク間でUDPパケットを送信してネットワークを調整することはできません。
一見すると、これはネットワークではなく、アプリケーションの設計上の問題のように聞こえます。
- ネットワークは信頼できません。
- UDPは、アプリケーション層の損失の検出と再送信を追加せずにメッセージを確実に転送することを意図したものではありません。
アプリケーションが信頼できるメッセージングを必要とする場合、多くの人々はTCP(ユニキャストエンドポイントの場合)またはTIBCO RV(マルチキャストエンドポイント)を使用します。悪魔は常に詳細にあり、1つのサイズですべてのソリューションに対応することはできません。
2つのデータセンター間で利用可能な帯域幅を瞬時に繰り返し検出する方法はありますか?パケットでスロットルできるようにするにはどうすればよいですか?
あなたは本質的に伝統的にQoSと呼ばれるものを求めています。
トラフィックを分類して優先順位を付けるルールを作成したら、CBWFQやLLQなどのQoS規則を使用して、輻輳に直面して最も重要なトラフィッククラスに優先順位を付けることができます(使用可能な帯域幅が少ないなど)。
または、QoSを使用して、特定のトラフィッククラスを平均レートにシェーピングすることもできます。
一般に、UDPトラフィッククラスは、TCPクラスよりも損失の影響を受けやすいと考えられています。もちろん、このルールには常に例外があります。たとえば、TIBCO RVは一般にUDPマルチキャストに基づいていますが、TIBCOには再送信の必要性を検出するためのシーケンス番号が含まれています。アプリケーションによっては、UDP TIBCOクラスを他のTCPトラフィックよりも優先する必要がある場合とない場合があります。
使用可能な帯域幅を検出する方法が見つかりませんでした。
それはQoSの特定のタイプに依存しますが、一般的に:
- QoSクラスは、トラフィッククラス内の平均使用率を監視します
- QoSはインターフェイスキューの輻輳を監視し、インターフェイスのキューサイズがゼロでない場合(つまり、輻輳)にのみ優先順位を付けます。
この回答は、1種類のQoS構成を示しています。
最終メモ: