40

LAN経由でインターネットにアクセスできる組み込みデバイスを開発しています。私は現在テスト段階にあり、インターネットへの接続が悪いときにデバイスがどのように機能するかをテストしたいと思います. 現在、デバイスはハブを介してルーターに接続されており、これを使用して Wireshark でパケットを監視しています。発生する可能性のあるシナリオを模倣するために、デバイスのインターネット速度を下げる最良の方法は何ですか?

PCからでもできますか?ルーターにアクセスする必要がありますか? もしそうなら、ルーターインターフェースで各IPの速度を制限することは可能ですか?

実際、友人は、usb2lan イーサネット カードを購入し、PC の lan 接続を組み込みデバイスにブリッジし、ソフトウェア QoS リミッターを使用することを提案しました。うまくいくと思いますか?

4

4 に答える 4

24

手元に Mac がある場合、Mac にはdummynetビルトインと呼ばれるカーネル機能があり、 で制御しipfwます。低速接続をシミュレートしたり、特定の確率でパケットをランダムにドロップしたりできます。

Linux やその他の OS にも同じ機能が存在します。

ダミーネットのホームページより

2010 年 2 月の時点で、dummynet の 3 番目のメジャー バージョンをリリースしました。これは現在、ネイティブ ディストリビューションの一部として FreeBSD、Mac OS X のすべての主要プラットフォームで動作します。Linux、OpenWRT、および Windows のバージョンはこちらで確認できます。

それはあなたのために多くのことをすることができます:

着信 TCP トラフィックの合計を 2Mbit/s に制限し、UDP を 300Kbit/s に制限します

ipfw add pipe 2 in proto tcp
ipfw add pipe 3 in proto udp
ipfw pipe 2 config bw 2Mbit/s
ipfw pipe 3 config bw 300Kbit/s

ネットワーク 10.1.2.0/24 上の各ホストの着信トラフィックを 300Kbit/s に制限します。

ipfw add pipe 4 src-ip 10.1.2.0/24 in
ipfw pipe 4 config bw 300Kbit/s queue 20 mask dst-ip 0x000000ff

月への ADSL リンクをシミュレートします。

ipfw add pipe 3 out
ipfw add pipe 4 in
ipfw pipe 3 config bw 128Kbit/s queue 10 delay 1000ms
ipfw pipe 4 config bw 640Kbit/s queue 30 delay 1000ms
于 2012-08-06T05:52:09.950 に答える
16

liveCd の (ほとんど) Linux ディストリビューション (ubuntu、mandriva など) を使用して、任意のハードウェアで実行し、カーネルベースのツールnetem、別名「ネットワーク エミュレーション」を「iproute2」パッケージ ツールと共に使用できます。遅延、パッケージの損失、破損、重複、および広域ネットワークのその他の問題を制御できます。

次のような、最もよく使用されるシミュレーションのリストがあります。

  • Token Bucket Filter を使用したレート制御:

    tc qdisc add dev eth0 root handle 1:0 netem delay 100ms
    tc qdisc add dev eth0 parent 1:1 handle 10: tbf rate 256kbit buffer 1600 limit 3000
    
  • すべてのパケットを一定時間遅らせる:tc qdisc add dev eth0 root netem delay 100ms

  • パッケージの損失:tc qdisc change dev eth0 root netem loss 0.1%
于 2013-04-05T00:37:26.713 に答える
5

これは別の OSX ソリューションです。Network Link Conditioner をご覧ください。

次の引用は次のブログからの抜粋です (以下のすべてのクレジットは Matt Gemmell に帰属します)。

http://mattgemmell.com/2011/07/25/network-link-conditioner-in-lion/

Xcode 用のハードウェア IO ツールを入手します。これを行うには、Xcode メニューに移動し、[Open Developer Tool] を選択し、最後に [More Developer Tools…] を選択します。Apple の開発者ダウンロード サイトに移動します。「Xcode 用ハードウェア IO ツール」をダウンロードする必要があります。

結果として得られるディスク イメージには、(とりわけ) 「ネットワーク リンク コンディショナー」と呼ばれるシステム環境設定の環境設定ペインが含まれます。prefpane ファイルをダブルクリックして認証し、インストールを許可します。次に、システム環境設定にペインが表示されます。

[プロファイル] ポップアップ メニューを使用して、さまざまな種類のネットワーク条件から選択できます。

[プロファイルの管理] をクリックして、最初から、または既存のプロファイルを複製して、独自のプロファイルを追加することもできます。

アプリのテスト中に最適ではないネットワーク条件をシミュレートするのに非常に便利です。その後、スイッチをオフにすることを忘れないでください。

于 2013-04-07T10:45:35.360 に答える