ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Network Simulator 2 (NS-2)コミュのルーティングについて

  • mixiチェック
  • このエントリーをはてなブックマークに追加
初めまして.
ns2.32を使っています.

ルーティングについてお聞きします.

例えば,UDPの接続を定義して,
あるノード同士(n1とn3)が通信を行ったとします.

例:
set udp [new Agent/UDP]
$ns attach-agent $n1 $udp
set null [new Agent/Null]
$ns attach-agent $n3 $null
$ns connect $udp $null
$udp set fid_ 2

set cbr [new Application/Traffic/CBR]
$cbr attach-agent $udp
$cbr set type_ CBR
$cbr set packet_size_ 1000
$cbr set rate_ 1mb
$cbr set random_ false

この時の経路情報(n1→?→?→n3)は,どうやって表示すればいいのでしょうか?
(シミュレーション内のどこで(どの変数で)記載されているのでしょうか?)

もし分かる方がいましたら,御指導の程よろしくお願いします.
簡単な質問なのかもしれませんが,よろしくお願いします.

コメント(2)

はじめまして.

首題の件に関しまして,解決方法は2つあると思います.
どのレイヤのトレースをしているのかにもよりますが,とりあえずはRTR(ネットワークレイヤ)で考えてみます.

解決方法1:
実行中に書き出す処理を行う.トレース用のコードをいじるか,ルーティングのコードをいじるかで方法は異なります.私は,経路確認用のヘッダをルーティングプロトコルに追加しました.フォワーディングの度に経路情報が書き込まれ,受信時(送信先ノード)に表示するようにしました.
*利点*
シミュレーション実行中に経路情報が確認できるため,異常が発見しやすい.
*欠点*
シミュレーションの性能自体に大きな影響を及ぼす.数百万パケットでそれが行われるともう..orz

解決方法2:
トレースファイルから地道にgrep.もちろんシェルスクリプトによる自動実行ですが:-)
経路を見る場合は,送信(s),中継(f),受信(r)をシーケンス番号で追っていくとなんとかなります.
*利点*
トレースファイル等々を汚したり,ファイルサイズを抑えることができる.結局,トレースファイルに書かれている内容と重複するので[解決方法1]は無駄が多い.
*欠点*
単純にパケット数が多い場合には,平均を算出するだけで数日が..orz



以上,書いていてふと思ったのですが,私は無線ネットワーク(AODV)に単一の経路を構築して実験を行っていました.ネットワークコーディング等の手法は用いていないのでうまくいったとも考えられます.

違う環境では,全く役に立たないとは思えないので,適宜読み替えて使って下さい.
> HYDさん

ありがとうございます.
やっぱり,シミュレータをいじらないといけないですね ^^;
経路情報を吐き出すような関数や変数があったらと,思ったのですが…

HYDさんの’1’を参考にして書いてみます.
ありがとうございました〜.

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Network Simulator 2 (NS-2) 更新情報

Network Simulator 2 (NS-2)のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。