web-dev-qa-db-ja.com

低帯域幅、高遅延の環境をシミュレートするにはどうすればよいですか?

リモートサイトでVPNの状態をエミュレートするには、サーバーへの低帯域幅、高遅延接続をシミュレートする必要があります。ソフトウェアパッケージを実行するために最適な組み合わせを見つけることができるように、帯域幅と待機時間を調整する必要があります。

197
Nic

macOSには、構成可能な帯域幅、遅延、およびパケット損失をシミュレートするNetwork Link Conditionerがあります。 ハードウェアIO Xcode用ツール に含まれています。 Screenshot

78
Jon Colverson

これを行うためにFreeBSDマシンをセットアップする優れた記事があります-標準的な古いデスクトップを用意し、追加のNICを追加してビルドします。

この記事は http://www.freebsd.org/doc/en/articles/filtering-bridges/article.html で入手できます。

上記の手順のステップ5では、ファイアウォールを有効にします。別のIP接続をシミュレートするために、(たとえば)次のことができます。

以下を含むファイル/etc/rc.firewall.56kを作成します。

ipfw add pipe 1 ip from any to any out
ipfw add pipe 2 ip from any to any in    
ipfw pipe 1 config bw 56Kbit/s   
ipfw pipe 2 config bw 56Kbit/s

そして、/etc/rc.conf...を変更し、行を置き換えます

firewall_type="open"

firewall_type="/etc/rc.firewall.56k"

再起動すれば、56Kブリッジになります!

Macintoshで作業している場合、そのOSにはデフォルトでipfwが組み込まれています。空港とイーサネットを介してネットワークトラフィックをルーティングし、空港を通過するものがエミュレートしようとしているものと同じ特性を持つように設定することで、同じことを行いました。端末からipfwコマンドを直接呼び出して、同じ効果を得ることができます。

36
heckj

過去に、Linux Netem (ネットワークエミュレーション)機能を使用してブリッジを使用しました。高度な構成が可能で、遅延(最初の例はWANの場合)、パケット損失、破損などの導入が可能です。

編集: MasterShaper Webインターフェイスも設定を制御します。

私は、Netemが私のアプリケーションで非常にうまく機能したことに気づいていますが、 WANem を数回使用することになりました。提供された起動可能なISO(および仮想アプライアンスイメージ)により、非常に便利になりました。

26
Kris Kumler

チャールズ

Charles Webデバッグプロキシアプリケーションに出会い、ネットワーク遅延のエミュレートに大成功しました。 Windows、Mac、Linuxで動作します。

Charles on Mac

帯域幅スロットル/帯域幅シミュレーター

Charlesは、インターネット接続の帯域幅と遅延を調整するために使用できます。これにより、高速接続を使用してモデムの状態をシミュレートできます。

帯域幅は、任意の1秒あたりのバイト数に調整できます。これにより、接続速度をシミュレートできます。

レイテンシは、任意のミリ秒数に設定することもできます。遅延の遅延は、低速な接続で発生する遅延、つまり要求を行ってからもう一方の端で受信される要求までの遅延をシミュレートします。

DummyNet

Vmwareを使用してBSDまたはLinuxを実行し、 この記事(DummyNet) または this one。 を試すこともできます。

21
Eugene Yokota

clumsy と呼ばれる、このWindows用のすてきなプログラムを見つけました。それは一種のアルファステータスですが、私にとってはうまくいくようで、オープンソースです。

編集:他の人は、不器用で帯域幅を制限できないことに気づきました、そしてそれは本当です。遅延とその他のネットワーク関連のエラーをいくつか追加できます。これは、この答えを質問に対する有効な答えとして失格にしますが、悪いネットワークをシミュレートしたいときに私はそれをうまく使っていたので、0票以上を持っている限りここに残します。

16
Markus

試す WANem

WANemは、LAN環境でのアプリケーション開発/テスト中に、ワイドエリアネットワーク/インターネットの実際の体験を提供することを目的とした、ワイドエリアネットワークエミュレータです。

13
epatel

Windowsの場合、このアプリケーションを使用できます。 http://www.softperfect.com/products/connectionemulator/

Windows 2000、XP、2003、Vista、Seven、および2008用のWAN接続エミュレーター。

おそらく、Windowsで利用できる唯一のものです。

12
Andrew Lock

Linuxで netem を使用してみます。これにより、追加の遅延、破損、パケット損失、複製をシミュレートできます。ループバックデバイスでも動作します。

7
Josh

WindowsマシンでNetBalancerを使用しています。

http://seriousbit.com/netbalancer/

2017-10-07の更新:NetBalancerの最後の無料バージョンは9.2.7です。プログラムにはハードコードされた有効期限があります。 NetBalancerサービスを開始する前に、2016-10-18以前にシステムクロックを戻す必要があります。詳細については この記事 をご覧ください。

5
Tony

別のクライアント側プログラム(Windowsのみ)、NetLimiter- http://www.netlimiter.com

5
kaliatech

Fiddler(無料ソリューション)を使用してWindows用にこれを見つけました http://www.logic-worx.com/index.php/tools-and-apps/fiddler-connection-simulator/

4
hB0

tcはUNIXベースのプラットフォームで仕事をすることができると思います。

tcは、Linuxカーネルでトラフィック制御を構成するために使用されます
http://lartc.org/manpages/tc.txt

4
Sawan

Google Chromeを使用してWebサイトをテストするための低帯域幅接続をシミュレートするには、F12ツールの[ネットワーク]タブに移動し、シミュレートする帯域幅レベルを選択するか、シミュレートするカスタム帯域幅を作成します。

3
user1785960
2

http://www.shunra.com の製品はVEデスクトップと呼ばれ、さまざまなネットワーク条件をシミュレートするために使用できます。シンプルなUIでレイテンシ、帯域幅、パケット損失を微調整できます。唯一の注意点は、無料ではありません。お役に立てれば。

1

Linuxを使用している場合、 Traffic Control プログラムがこの種のことの大きな助けになると思います。

1
smo

必要なものを見つけたと思う。 charles proxy または slowy を使用できます。それが役に立てば幸い。

1

NE-ONEネットワークエミュレーターをご覧ください。これにより、帯域幅、遅延、パケット損失、パケットの並べ替え、パケットの複製、パケットの断片化、ネットワークの輻輳、その他の多くの障害を設定して、ラボで実際のネットワーク条件を作成できます。 。アップとダウンリンクに異なる障害を設定できるため、アップリンクは非常に良好ですが、ダウンリンクのエクスペリエンスは非常に悪く、アプリがTCPキューイングを処理する方法を確認するには最適です。したがって、タイムリーな方法で全体的なレイテンシが増加します!

ここに概要ビデオがあります http://www.youtube.com/watch?v=DwtqlE7LcrQ 特にゲーム開発者向けですが、それが何であるかを示しています。 NE-ONEはWebブラウザを使用して設定されるため、インストールと設定が非常に簡単です-ネットワークの達人である必要はありません:-)

ハードウェアバージョンがあります- http://www.itrinegy.com/index.php/products/network-emulators/ne-one -または、以下で実行される仮想アプライアンス(ソフトウェア)バージョンをダウンロードできますVMware ESXiサーバー。仮想アプライアンスは、VMwareのSolution Exchange-solutionexchange.vmware.com/store/products/ne-one-flex-network-emulatorからダウンロードできます。

1
Peter White

私はしばらくの間、このタイプのテストに使いやすいツールを探していました。先日、私はこれに出会いました: Network Delay Simulator

Windowsを実行している場合は、チェックアウトする必要があります。セットアップと導入は非常に簡単で、本当にうまくいくようです。これにより、各方向の帯域幅、遅延、およびパケット損失を定義できます。もう1つの素晴らしい点は、「フロー一致条件」を定義して、必要なトラフィックのみに影響を与えることができることです。そうそう、それは無料です。

1
Mark

LANforge ICEは、仮想ルーティング、ジッター、破損、遅延に重点を置いた ネットワークエミュレーター です。プロジェクトはこれを使用して、衛星リンク、ケーブルとモデムの接続、および高速(10Gbit)WANエミュレーションをエミュレートしました。 Java GUIを使用して、仮想ネットワークを構築し、トラフィックフローの非常に詳細なレポートを生成できます。 LANforge製品は、フレーム、イーサネット、レイヤー3、ステートフルトラフィック(NFS、http)などのトラフィック生成機能も提供します。 LANforgeの最近のエディションには、洗練されたWiFiテスト機能もあります。

0
memnoch_proxy

これを試すことができます: CovenantSQL/GNTE このようにYAMLを書くだけです:

group:
  - 
    name: china
    nodes:
      - 
        ip: 10.250.1.2
        cmd: "cd /scripts && ./YourBin args"
      - 
        ip: 10.250.1.3
        cmd: "cd /scripts && ./YourBin args"
    delay: "100ms 10ms 30%"
    loss: "1% 10%"
  - 
    name: us
    nodes:
      - 
        ip: 10.250.2.2
        cmd: "cd /scripts && ./YourBin args"
      - 
        ip: 10.250.2.3
        cmd: "cd /scripts && ./YourBin args"
    delay: "1000ms 10ms 30%"
    loss: "1% 10%"

network:
  -
    groups:
      - china
      - us
    delay: "200ms 10ms 1%"
    corrupt: "0.2%"
    rate: "10mbit"

./generate scripts/your.yamlを実行します

0
auxten

仮想マシン内でこのソフトウェアを使用して、帯域幅スケールテストを実行しました。

http://www.softinengines.com/index.php?section=download&langu=en

無料ではありませんが、30日間の試用版があります。

0
Bob King