ネットワーキング – Linux ネットワークインターフェイスの帯域幅をスロットルするには?

bandwidth linux networking

linuxでNICの帯域幅を制限する方法はありますか?任意に遅い接続をシミュレーションできるようにしたいです

  57  Mark Borgerding  2008-08-28


ベストアンサー

iproute によって制御される netem カーネルモジュール

Netemをカーネルでコンパイルする必要があります

Networking -->
Networking Options -->
QoS and/or fair queuing -->
Network emulator

netemモジュールがロードされると、 iprouteのtcは以下のようなことを可能にします

tc qdisc add dev  tap0 root netem delay 50ms loss 50%

(50%のパケットロス、50msの余分な遅延)

32  bortzmeyer  2009-04-28


クライアント側ですよね?

trickle で望み通りになるはずです。Ubuntu(もしくはDebianだと思います)を動かしているのであれば、sudo apt-get install trickleでインストールしてから実行すればいいと思います。trickle -s -d 10 -u 10 firefox(というか、しばらく使っていませんが)であれば、Firefoxを実行して、ダウンロードとアップロードの速度を1秒間に10キロバイトに制限します

27  Bernard  2008-08-28


私はubuntuで’wondershaper’と呼ばれるツールを使用してネットワーク上で利用可能なすべての帯域幅を食べるから私の箱を避ける方法を発見しました。私はそれが他のlinuxのdestrosにも存在することを願っています。私は私のlinuxのホームPCが次のコマンドを使用して消費できる帯域幅を制限することができます

sudo wondershaper eth0 1000 200

これにより、ダウンロード制限は1000キロビット、アップロードは200キロビットに制限されます。詳細はwondershaperのマニュアルページを参照してください

16  harry  2010-12-20


NISTではNistNetというネットワークシミュレータを作っています

http://snad.ncsl.nist.gov/nistnet/(リンクは死んでいるようです)

http://cs.ecs.baylor.edu/~donahoo/tools/nistnet/

NistNetを使用すると、選択した通信リンクをエミュレートするルータを作成することができます

最も簡単な操作のためには、2つのネットワークの間に2つのNICがあるボックス上に設置する必要があります

例えば、衛星リンクを介して動作しなければならないアプリケーションがありました

データは大きなレイテンシで2Mbpsのリンクを越えることができました。制御は同じ遅延で128kbpsのリンクを経由しなければなりませんでした

NistNetのおかげで128kbpsで全て動くようになりました

NistNetを使用することで、帯域幅だけでなく、遅延もシミュレートすることができ、パケットをドロップすることもできます

アビトラリー接続をシミュレートしたい場合は、帯域幅を制限するだけでなく、レイテンシも巻き上げてください

パケットの断片化も忘れずに。偽のリンクには小さなMTUを設定することができます

IIRCではパケットジッターを追加することで、規格外のパケットに対処できるかどうかを知ることができます

8  Tim Williscroft  2008-08-28


私は個人的に過去に wondershaper をこのために使用したことがありますが、それは反対のユースケースのために書かれています – あなたの ADSL 接続を最大限に活用する

でも、ここで紹介されている他のものも試してみる必要がありますね

4  Thomas Vander Stichele  2008-09-01


ローカルにインストールされたイカプロキシを使用して帯域幅を制限することができます

  1. ディストリビューションから squid proxy をインストールしてください – 私の Fedora では yum install squid のように簡単でした

  2. /etc/squid/squid.confに以下を追加します

    delay_pools 1 delay_class 1 1 delay_access 1 allow all delay_parameters 1 16000/16000

    これにより、帯域幅が約128kbps(16000bps)に制限されます

  3. イカを起動します。/etc/init.d/squid start

  4. プロキシサーバーlocalhostポート3128を使用するようにブラウザを設定します

3  Tometzky  2011-05-19


Debian リポジトリでは、ip_relay、”iprelay” という名前のものはまだ誰も言及していません。これは TCP プロキシとして動作し、Trickle のように呼び出しを傍受するのではなく、TCP プロキシとして動作し、プロキシ (ウェブブラウザなど) を使用したり、ユーザ定義の宛先ポート (telnet, ssh, ftp, curl, et cetera) を受け入れることができるアプリケーションであれば、どんなものでも動作します

設定は少し難しいですが、トリクルが効かないような状況ではよく効きます

3  CodeGnome  2012-04-18


タイトルとURLをコピーしました