web-dev-qa-db-ja.com

QoS-高負荷時にすべてのIPに帯域幅を分割

現在、かなりうまく機能しているLinuxベースのルーターがありますが、ネットワークには1.5mbpsの着信接続しかありません。ネットワークは小規模ですが、負荷が高い期間には、一部のシステムが帯域幅を支配してしまう可能性があります。たとえば、ファイルをダウンロードするクライアントは接続を簡単に飽和させ、他のすべての人が外の世界にほとんどアクセスできないようにする可能性があります。

当然、これを修正したいと思います。 iptablesルールとtcの組み合わせは適切だと思いますが、クライアント間で帯域幅を均等に分散する方法がわかりません。

各接続を(帯域幅/クライアント数)にハード制限するのではなく、実際に接続を利用しているクライアント間でのみ帯域幅を分割する方法があれば便利です。

3
Matthew Iselin

それがWebトラフィックの場合、あなたが話しているのは、Squidがこれを行うことができるということです。すべてのユーザーの最大帯域幅とユーザーあたりの最大帯域幅を制限できます。

この正確な問題を修正するために、このソリューションを実装しました。

他のものを使用したい場合は、tcを使用しないでください。それは混乱です。 OpenSolarisとflowadmを使用します。これははるかに簡単です。

1

これは、私がかつて使用したスクリプトのように見えるものです。
http://www.amiryan.org/2009/02/16/traffic-shaping-under-linux-with-tc-and-iptables/

HTH

0
Paul