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/(リンクは死んでいるようです)
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
ローカルにインストールされたイカプロキシを使用して帯域幅を制限することができます
ディストリビューションから squid proxy をインストールしてください – 私の Fedora では
yum install squid
のように簡単でした/etc/squid/squid.conf
に以下を追加しますdelay_pools 1
delay_class 1 1
delay_access 1 allow all
delay_parameters 1 16000/16000
これにより、帯域幅が約128kbps(16000bps)に制限されます
イカを起動します。
/etc/init.d/squid start
プロキシサーバー
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