ネットワークスイッチ上のパケット損失をシミュレートする

ネットワークスイッチ上のパケット損失をシミュレートする

ここにはネットワーク スイッチがあり、許可する帯域幅を制限するよう簡単に要求できます。これは便利です。パケット損失を生成するよう要求できればすばらしいのですが、WANem でこれを行うことは可能ですが、遅延が追加されます。また、リアルタイム アプリケーションを扱っているため、追加される遅延は私たちにとって不利です。これを可能にする、またはこれに対応するためにハッキングできるネットワーク スイッチまたはルーターを知っている人はいますか?

答え1

ポートまたは VLAN のいずれかにレート制限があるすべてのスイッチでは、パケット損失を「シミュレート」できます。アプリケーションで 1 MB のトラフィックが必要な場合は、制限をそれよりわずかに低く設定すると、スイッチはパケットをドロップします。

この機能を持つすべてのスイッチは、制限するためにサンプリングする必要があることに注意してください。たとえば、ポート 1 は 1 MB の制限に設定されています。ポート 1 は、ほんの一瞬で 2 MB のトラフィックを送信します。そのほとんどは通過するでしょう。これは、スイッチが通過するトラフィックの量を検出して測定できるようになるまで、何をドロップするかがわからないためです。ベンダーによって、これはさまざまな方法で実装できます。バッファリングしてからバッファからパケットをドロップするものもあれば、パケットの出入りを一時的に許可してから制限するものもあります。

アプリケーションがどのように反応するかを正確に知りたい場合は、アプリケーションをテストするコンピュータのすぐ前にBSDボックスを設置することをお勧めします。BSD(ファイアウォールに使用しているだけ)には、というコマンドがあります。ipfwこれにより、接続を直接制御できるようになります。現在のシナリオが次のとおりであると仮定します。

+--------------------+ +----------------+
| アプリケーション サーバー | ---> | クライアント マシン |
+--------------------+ +----------------+

これは過度に単純化されていると理解していますが、概念を示しています。中間にNATを設定し、レート制限を設定することができます。

+--------------------+ +-----------------------+ +----------------+
| アプリケーション サーバー | ---> | レート制限ボックス | ---> | クライアント マシン |
| 10.0.0.5 | | 10.0.0.6 192.168.1.1 | | 192.168.1.2 |
+--------------------+ +-----------------------+ +----------------+

もう一度言いますが、これは過度に単純化していることは承知しています。IP を追加したのは、レート制限ボックスの BSD でどのようなコマンドが実行されるかを示すためです。まず、BSD を通常のルーターとして動作するように設定し、pf sense などを使用できます。次に、プロンプトで次のコマンドを追加できます。

ipfw パイプ 1 構成 bw 101Kbit
ipfw は 10.0.0.5 から 192.168.1.2 に 1 つのパイプと 1 つの IP を追加します
ipfw は 192.168.1.2 から 10.0.0.5 に 2 つのパイプと 1 つの IP を追加します。

これは、クライアントとサーバー間の 101kb の接続をシミュレートします。101 の値を任意の値に変更して、さまざまな制限で何が起こるかを確認できます。制限機能をサポートするスイッチに比べてこれが持つ本当の利点は、安価 (インターフェイスがいくつかある単純なコンピューター) であり、必要に応じて Wireshark を使用してトラフィックをキャプチャし、ドロップされている内容とその量を正確に確認できることです。この情報は、より優れたアプリケーションを設計する上で非常に役立ちます。

私見では

関連情報