このプログラムはインタフェースを2個もったコンピュータでイーサネットHUBとし
動作します。HUBって、あのポートが4つくらいあって、お店で1500円くらいで買え
るあのHUBのこと?そもそも2つだけのイーサネットポートでHUBを作ってなにが楽
しいわけ?単なるレピータじゃない。と思われるでしょう。そのとおりです。一方
のイーサネットポートで受信したフレームはそのままなにも細工を加えないで、
他方のイーサネットポートに送出するだけの単調作業を繰り返すのがHUBです。
MACアドレスを選別するブリッジのような高度な処理は必要ありません。単なる
レピータなのです。
しかし、私自身はこの自作HUBを非常に重宝して使っています。なぜでしょう。
それは、このHUBにちょっと細工を加えるだけで結構面白いツールに化けるのです。
細工というのは、例えばフレーム転送処理を100フレームに1フレーム程度サボって
やるとか、受信してから反対側に送信するまでワンテンポ待ってみるようなことです。
このようなことをするとこのHUBにつながっているコンピュータにはどう見えるで
しょうか。このHUBの反対側に接続されているコンピュータは非常に遠いところにあ
るように見えます。遅延があり、時たまパケットロスを発生する伝送路をエミュレ
ートできるのです。適当にパラメータを動かして、遅延時間を大きくしたり小さく
したりすることで、実際のネットワークを使わずして、品質の悪いネットワーク上
でファイル転送やVoIPなどのアプリケーションがどのように動作するのかを試験で
きるのです。
Download ver1.3(Dec.06,2005)
前のバージョンでは、プロトタイプ宣言が適切でなかったために、パケット廃棄が
うまく動作しないことがありました。このファイルでは修正されています。