ワイヤーフィルター - クラウドでオンライン

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド ワイヤーフィルターです。

プログラム:

NAME


Wirefilter - 仮想分散イーサネット用のワイヤーパケットフィルター

SYNOPSIS


ワイヤーフィルター

[-f rcファイル] [-l 損失] [-l ロストバースト] [-d 遅らせる] [-D DUP] [-b 帯域幅] [-s
インターフェイス速度] [-c チャネルバッファサイズ] [-n ノイズ係数] [-m mtu_size] [-M 管理 ソケット] [-v
vde_plug1:vde_plug2] [- デーモン] [--pidfile pidfile_path] [-点滅 点滅] [--まばたきする
ブリンク識別子] [-N]

DESCRIPTION


A ワイヤーフィルター 仮想ワイヤ上の遅延とパケット損失をエミュレートできます。 例えば:

dパイプ vde_plug /tmp/s1 = ワイヤーフィルター -l 10 = vde_plug /tmp/s2

1 つの vde_switch 間にワイヤを作成します (それぞれソケット /tmp/s2 と /tmp/sXNUMX を使用)。
このケーブルでは、各方向にパケットの 10% が失われます。

以下を使用して同じケーブルを作成できます。

ワイヤーフィルター -v /tmp/s1:/tmp/s2 -l 10

OPTIONS


-f rcファイル
起動設定ファイルを使用します。 次のような複雑な定義に役立ちます。
マルコフモードの場合(以下を参照)。 起動設定ファイルは同じです
管理インターフェースの構文、つまり管理のスクリプトです。
最初のパケットが転送される前に実行されるコマンド。

-l 損失
浮動小数点数としての損失のパーセンテージ。 異なる指定も可能です
20.5 つのチャネルの損失率: LR20.5 は、左に流れるパケットの XNUMX% を意味します。
右が失われる場合、RL10 は右から左へ 10% を意味します。

-L ロストバースト
これがゼロでない場合、wirefilter はバースト エラーに対してギルバート モデルを使用します。 これ
損失パケット バーストの平均長です。 (これは XNUMX つの状態のマルコフ連鎖です:
障害状態から抜け出す確率は 1/ロストバースト、入る確率
故障した状態は 損失/(ロストバースト-(1-損失))。 損失率は値に収束します
損失.

-d 遅らせる
追加の遅延 (ミリ秒単位)。 この遅延は実際の通信遅延に加算されます。
パケットは一時的に保存され、遅延後に再送信されます。 可能です
前のオプションと同様に、LR と RL に異なる値を指定します。 遅れたときは
間に + を挟んだ XNUMX つの数値として指定されます。最初の数値は標準遅延です。
1000 つ目はランダムなバリエーションです。 500+XNUMX は、遅延が可能であることを意味します。
1.5秒からXNUMX秒の間でランダムに選択されます。 「U」または「U」を追加することができます。
最後に「ん」。 1000+500U はディーリーが均一に分散されていることを意味します。
1000+500N は、遅延がガウス正規分布 (以上) に従うことを意味します。
値の 98% が制限内にあります)。

-D DUP DUP パケットの割合。 -l と同じ構文になります。 重複係数 100% を使用しない
それは、各パケットが無限に送信されることを意味するためです。

-b 帯域幅
チャネル帯域幅 (バイト/秒)。 -d と同じ構文になります。 それも可能です
接尾辞 K、M、G を使用して 2^10、2^20、2^30 を省略します。 128K は 128KBytes/秒を意味します。
128+64K は 64i ~ 196KBytes/秒を意味します。 送信者はパケットの送信を妨げられません。
帯域幅を希望の値に制限するために配信が遅れます。 (ボトルネックのような
パスに沿って) 値の後の U と N (例: 128+64KN) は統計を設定します
使用する分布 (均一または正規)。

-s スピード
インターフェイス速度 (バイト/秒)。 -b と同じ構文になります。 入力がブロックされています
パケットの送信時間を制限するため、送信者も送信できなくなります。
高速です。

-c チャネルバッファサイズ
チャネル バッファ サイズ (バイト単位): パケット キューの最大サイズ。 パケット超過
捨てられます。

-n ノイズ 要因
破損したビット数/XNUMX メガバイト。

-m MTU サイズ
mtu_size より長いパケットは破棄されます。

-N ノフィフォ。 -N を使用すると、パケットを並べ替えることができます。

-M 管理 ソケット
パラメータ(損失率、遅延など)を確認できるUNIXソケット
そしてランタイムを変更しました。 ユニクターム(1) ワイヤーフィルターのリモート端子として使用できます。

-v vde_plug1:vde_plug2
このオプションを使用すると、1 つのローカル vde_plug (vde_plug2 および vde_plugXNUMX) が
stdin/stdout の代わりに、libvdeplug ライブラリを使用して相互に接続しました。 これ
オプションは、コンソール (stdin/stdout) で対話型管理セッションをアクティブにします。

--mgmtmode モード
このオプションは、管理ソケットのアクセス モードを設定します。 コマンド構文は非常に複雑です
シンプル。 助けます にコマンドのリストを示します。 スクリプトファイルの読み込みが可能
負荷 管理コマンド。

- デーモン
ワイヤーフィルターがデーモンになる

--pidfile パス名fP
Wirefilter はその PID をファイルに保存します。

--まばたきする
このオプションは、各パケットに対してブリンク サーバーに送信される ID を定義します (「
以下の --blink オプション)。 ワイヤーフィルターの標準識別子はプロセスです
ピド。

-点滅 ソケット
Wirefilter は、それぞれの指定された PF_UNIX/DATAGRAM ソケットにログ メッセージを送信します。
パケットが送信されました。 各パケットの形式は、id 方向の長さです。 例えば:

6768LR44
6768LR44
6768RL100
6768LR100
6768LR44

マルコフ モード


Wirefilter は、マルコフチェーンを使用してエミュレートするより複雑なパラメータのセットも提供します
リンクのさまざまな状態と状態間の遷移。 それぞれの状態を表す
ノードによって。 マルコフ連鎖パラメータは、管理コマンドまたは rc ファイルでのみ設定できます。
実際、パラメータが多数あるため、コマンド ラインは次のようになります。
読めない。

マルコフ-ノード数 n
さまざまな状態の数を定義します。 接続のすべてのパラメータは次のように指定できます。
ノードごとに定義されます。 ノードには 1 から始まる (n-XNUMX まで) 番号が付けられます。 例えば:

遅延 100+10N[4]
損失10[2]

これらのコマンドは、ノード番号に対して 90 ~ 110 ミリ秒 (正規分布) の遅延を定義します。
4、ノード 10 の損失は 2 です。実行時にマルコフ連鎖のサイズを変更することが可能です。
時間。 新しいノードは到達不能であり、他の状態とのエッジを持ちません (つまり、
新しいノードにはそれぞれ、100% の確率でノード自体へのループバック エッジがあります)。 いつ
ノードの数を減らすと、削除されたノードに対するエッジの重みは次のようになります。
ループバック エッジに追加されます。 エミュレーションの現在のノードが削除されると、ノード
0 が現在のノードになります。 (エミュレーションは常にノード 0 から開始されます)。

マルコフ時間 ms
マルコフ連鎖計算の期間 (ミリ秒)。 それぞれ ms マイクロ秒、ランダム
数値ジェネレータは次の状態を決定します (デフォルト値 = 100ms)。

マルコフ名 名前
マルコフ連鎖のノードに名前を割り当てます。

マルコフセットノード n
現在のノードを手動でノードに設定します n.

セットエッジ n1、n2、w
間のエッジを定義します n1 および n2; w の重み (確率パーセンテージ) です。
角。 ループバック エッジ (ノードからノード自体まで) は常に 100% マイナスとして計算されます。
出ていくエッジの重みの合計。

ショー [ n ]
ノードからのエッジをリストする n (またはコマンドに何もない場合は現在のノードから
パラメーター)。 ヌルウェイトエッジは省略されます。

現在の表示
現在のマルコフ状態を表示します。

SHOWINFO [ n ]
ステータスと状態 (ノード) に関する情報を表示します n。 パラメータが省略された場合は、
ステータスと現在の状態に関する情報を示します。

マルコフデバッグ [ n ]
現在の管理接続のデバッグ レベルを設定します。 実際には
n が XNUMX より大きい場合の実装では、マルコフ ノードが変更されるたびに、
デバッグ トレースの出力。 デバッグ トレースは次の場合に無効になります n ゼロまたは
パラメータがありません。

注意


仮想分散イーサネットは www.vde.com とは何の関係もありません (「Verband der」
Elektrotechnik、Elektronik und Informationstechnik、すなわちドイツの「協会」
電気、電子、情報技術」)。

onworks.net サービスを使用してオンラインで Wirefilter を使用する



最新のLinuxおよびWindowsオンラインプログラム