2009-04-09 10 views
3

サーバアプリケーションの開発中に、接続が減速したり、突然死んだり、スループットが非常に低いときに、どのように動作するかを知ることは重要です。しかし、上記のすべての機能をエミュレートできるテストネットワークを開発するには、ソフトウェアでエミュレートする必要があります。不正なネットワークをエミュレートするUnixツールにはどのようなものがありますか?

これを実行する方法の1つは、クライアントとサーバーのアプリケーションを変更することですが、それはあまりコスト効率的ではありません。もう一つの方法はOSレベルでの動作を傍受したり変更したりすることであり、これはもっと有望であり、私が今探しているツールのタイプです。

私のケースは特にSolarisサーバーですが、一般的なUnix/BSDツールは大歓迎です。また、Unixを使用していない他の人たちに役立つように、Windowのツールを投稿することも自由です。

ありがとうございます!

答えて

0

私のお気に入りのテクニックは、ネットワークケーブルを引き出すことです。

+0

はい、その技術が実際には非常に安いですが、それは低速接続をエミュレートしません。 ) –

+1

彼らはケーブルを外に持っているよりもかなり遅くなりません:-) – paxdiablo

2

IPTABLESは、帯域幅やそのような泡を絞ることができますが、最も直感的ではないかもしれませんが、行うことができます。 (私たちはFreeBSDを実行している 'Strangler'とは別のボックスを使用しましたが、IPtablesはほとんどの* nix系にあります)

ほとんどのネットワーク障害については、NetDisturbというツールを使用しました。

1

これを行うユーティリティを書きました。 Javaで書かれているので、Javaがインストールされている必要があります。それはうまく実行し、あなたが必要とするものを行う必要があります。それはDonsProxyと呼ばれています。ちょうどリンクに従ってください、そして、私はあなたがそれを好きだと思います。

0

私たちは、何年も前に私たちのプロジェクトの1つにツールを開発しました。これは、基本的にUNIXのボックスでinetdデーモンによって開始されたプログラムでした。それは基本的にクライアントとサーバーの間のコンジットとして機能しました。例えば

我々がwww.test.boxでそれを開始した場合、:

conduit 1465 www.target.box 80 

我々はその後www.test.box:1465でそれにクライアントを接続することができ、それはWWWにコンジットを開くでしょう。 target.box:80(inetdは実際に接続の厄介な作業のほとんどを行いましたが、独自の長期実行サーバーとして機能するバージョンもありましたが)。

デフォルトの動作では、フルスピードで両方向にを通じて、すべてを渡すことだったが、それは、設定した(共有メモリを介して渡されたコマンドで、実行時に、他の方法も可能である)へ:

遅い
  • ダウントランスミッション。
  • 破損送信。
  • データを失う。
  • は擬似データを送信します。 などがあります。

これは私たちに役立ち、ネットワーク例外テストに多大な貢献をしました。クライアント側では

1

trickleが遅いネットワークをシミュレートするために非常に簡単な方法である(それはもともと帯域幅整形器ではなく、テストツールとしてのものですので、それは、任意のパケット廃棄を行いません)

0

WANemはトリックを行います。 (彼らはあなたがNetemなどに必要になります\設定時にインストールするを使用して保存することができますのLiveCDを持っている...) http://wanem.sourceforge.net/

関連する問題