DummyNetの使い方
fxp0(制御用)
|
bge0--BSD-BOX--bge1
root権限に移行し
(1)ネットワーク設定
rc.confでifconfig_fxp0を設定
(2)ブリッジの設定
/etc/sysctl.conf
net.link.ether.bridge.enable=1
net.link.ether.bridge_cfg=bge0,bge1
net.link.ether.bridge_ipfw=1
net.inet.ip.fw.one_pass=1
(利用者はここ以降だけ意識すればいいです)
(3)dummynetの設定
(これは実験時にパラメータを変えて入力を繰り返すことで、
その都度条件を変えることが可能である)
パケットロスを一意に発生させるとき
ipfw add pipe1 ip from any to any bridged
ipfw pipe 1 config plr 0.1
パイプの設定方法
参考資料
http://infonet.cse.kyutech.ac.jp/~nori/memo/dummynet.html
が分かりやすくてGoodです。というか、ここを見れば十分すね。
ポイントを引用させていただきます。
パイプ制御の書式は以下のようになります.
% ipfw pipe < number > config bw < bandwidth > delay < delay time > queue < queue size > plr < packet loss rate >< number >には,制御したいパイプのID(数)を指定してあげます.< bandwidth >には,パイプに割り当てる帯域を指定します.< bandwidth >で使用できる単位は,
・Kbit/s
・Mbit/s
・KByte/s
・MByte/sとなっています.ちなみに,< bandwidth >に0(デフォルト値)を指定すると
帯域を制限しないことになります.< delay time >には,遅延を[ms]単位で指定します.デフォルト値は0で遅延なしです.< queue size >には,スロット数もしくはKBytes単位でキュー長を指定します.
デフォルト値は50スロットで,一般的なイーサネットデバイスのキュー長となってます.< packet loss rate >には,パケットのロス率を0〜1の小数で指定します.
0(デフォルト値)であればパケットロスなしを意味し,1は100%ロスを意味します.