t @ wiki
http://w.atwiki.jp/shibugaki/
t @ wiki
ja
2009-09-17T18:16:12+09:00
1253178972
-
トレースファイル
https://w.atwiki.jp/shibugaki/pages/32.html
***トレースファイルを読む
-&link_anchor(ip){IP部}
-&link_anchor(maodv){AODV部}
-&link_anchor(maodv){MAODV部}
----
****&aname(ip,option=nolink){IP部の書式}
>‐‐‐‐‐‐‐ [%d:%d %d:%d %d %d]
>-&bold(){src:ih->sport()}
>-&bold(){dst:ih->dport()}
>-&bold(){ih->ttl_}
>-&bold(){ch->next_hop_} ※ない場合は0
----
****&aname(aodv,option=nolink){AODV部の書式}
>[0x%x %d [%d %d] %f] (HELLO || REPLY || ERROR)
>-&bold(){rp->rp_type}
>-&bold(){rp->rp_hop_count}
>-&bold(){rp->rp_dst}
>-&bold(){rp->rp_dst_seqno}
>-&bold(){rp->rp_lifetime}
----
****&aname(maodv,option=nolink){MAODV部の書式}
>[0x%x 0x%x %d %d [%d %d]] (GROUP HELLO)
>-&bold(){gh->gh_type}
>-&bold(){gh->gh_flags}
>-&bold(){gh->gh_hop_count}
>-&bold(){gh->gh_grp_leader_addr}
>-&bold(){gh->gh_multi_grp_addr}
>-&bold(){gh->gh_grp_seqno}
2009-09-17T18:16:12+09:00
1253178972
-
メニュー
https://w.atwiki.jp/shibugaki/pages/2.html
**メニュー
-[[トップページ]]
-[[プラグイン紹介>プラグイン]]
-VM
--[[vmware]]
-NS-2のあれこれ
--[[Install NS-2]]
--[[gdb & tcl-debug for NS-2]]
--[[Eclipseで開発]]
--[[CBRのデフォルト]]
--[[トポロジの自動生成]]
--[[受信範囲の設定]]
--[[odmrp]]
--[[dsr]]
--[[maodv]]
--[[multi channel]]
--[[ADMR]]
--[[AODV-UU]]
--[[AODVメモ]]
--[[ノードのグラフ化]]
-NS-3のあれこれ
--[[Install NS-3]]
-[[gccの切り替え]]
-[[MapReduce]]
-[[Hadoop]]
-[[メモ]]
-[[トレースファイル]]
#search()
**リンク
-[[@wiki>>http://atwiki.jp]]
-[[@wikiご利用ガイド>>http://atwiki.jp/guide/]]
**他のサービス
-[[無料ホームページ作成>>http://atpages.jp]]
-[[無料ブログ作成>>http://atword.jp]]
-[[無料掲示板レンタル>>http://atbbs.jp]]
-[[2ch型掲示板レンタル>>http://atchs.jp]]
-[[お絵かきレンタル>>http://atpaint.jp/]]
// リンクを張るには "[" 2つで文字列を括ります。
// ">" の左側に文字、右側にURLを記述するとリンクになります
//**更新履歴
//#recent(20)
&link_editmenu(text=ここを編集)
2009-09-17T17:53:06+09:00
1253177586
-
ノードのグラフ化
https://w.atwiki.jp/shibugaki/pages/31.html
***ノードのグラフ化
----
2009-04-27T00:44:08+09:00
1240760648
-
AODVメモ
https://w.atwiki.jp/shibugaki/pages/30.html
-&link_anchor(overview){AODVの構造}
-&link_anchor(memo){メモ}
&link_edit(text=ここを編集,page=AODVメモ)
----
****&aname(overview,option=nolink){AODVの構造}
''*NS-2.33''
-aodv.h
--タイマー関係(HelloTimer,NeighborTimerとか)
--AODVクラス
---ルーティングテーブルの管理
---隣接ノードの管理
---ブロードキャストIDの管理
---パケット送信処理
----forward ( aodv_rt_entry *rt, Packet *p, double delay )
----sendHello ( void )
----sendRequest ( nsaddr_t dst )
----sendReply ( nsaddr_t ipdst, u_int32_t hop_count, nsaddr_t rpdst,u_int32_t rpseq, u_int32_t lifetime, double timestamp )
----sendError ( Packet *p, bool jitter = true )
---パケット受信処理
----recvAODV ( Packet *p )
----recvHello ( Packet *p )
----recvRequest ( Packet *p )
----recvReply ( Packet *p )
----recvError ( Packet *p )
---History management?
----double PerHopTime ( aodv_rt_entry *rt )
---タイマー
---ルーティングテーブル
---キュー
-aodv.cc
--送信(send())
--中継(forward())
--受信(recv()とか)
&link_edit(text=ここを編集,page=AODVメモ)
----
****&aname(memo,option=nolink){メモ}
-ノードの単位時間当たりの負荷を計測したい
--aodv.h
---TimerHandler の追加(NewTimerとする)
----timer-handler.h のTimerHandler クラスを継承
---AODV クラス
----NewTimer のための変数を宣言(NewTimer nl_timer_)
----負荷を格納する変数を宣言(double my_nl)
----受信パケット数をカウントするための変数(int packet_count)
----負荷を計算する関数を宣言(void nl_calc ( void ))
--aodv.cc
---AODV::AODV ( nsaddr_t id )
----変数の初期化
----nl_calc () の実行(以降,タイマーにより指定間隔で実行される)
---NewTimer::expire (Event*)
----nl_calc () を実行する
---void AODV::nl_calc ( void )
----packet_count ÷ 時間間隔(10秒とか)
----nl_timer_.reched(時間間隔)
2009-04-24T19:34:40+09:00
1240569280
-
Install NS-2
https://w.atwiki.jp/shibugaki/pages/24.html
***NS-2のインストール
-NS-2本家のページ
--http://www.isi.edu/nsnam/ns/
-&link_anchor(ubu){Ubuntu 8.0.4LTS にインストール}
--NS-2.33(2008年10月時点で最新)
--NS-2.29 インストールでの注意点
-&link_anchor(remake){NS-2 の再make}
&link_edit(text=ここを編集,page=Install NS-2)
----
****&aname(ubu,option=nolink){Ubuntu 8.0.4LTS にインストール}
-ns-allinone-2.33.tar.gz をダウンロード,解凍しておく
> # cd ns-allinone-2.33
> # ./install
-PATHを通す
> # vi ~/.bashrc
> 例)以下のように加筆
> NS_HOME=~/ns-allinone-2.33
> export PATH=$PATH:$NS_HOME/bin:$NS_HOME/ns-2.33/bin:$NS_HOME/tcl8.4.18/unix:$NS_HOME/tk8.4.18/unix
> export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$NS_HOME/otcl-1.13:$NS_HOME/lib
> export TCL_LIBRARY=$NS_HOME/tcl8.4.18/library
> # source ~/.bashrc
-うまくインストールできたか確認
> # cd ~/ns-allinone-2.33/ns-2.33/tcl/ex
> # ns simple.tcl
> namが起動されればOK.参考ページ↓
> http://netlab.ce.nihon-u.ac.jp/~sue/page006.html
----
-NS-2.29 インストールの注意点
g++,gcc,cpp のバージョンが3.*でないと,make が成功しない.
バージョンを確認して,切り替える必要がある.
NS-2.29.3(http://nchc.dl.sourceforge.net/sourceforge/nsnam/ns-allinone-2.29.3.tar.gz
)で,g++ / gcc 4.* に対応しているようだ.
----
****&aname(remake,option=nolink){NS-2 の再make}
> # cd ~/ns-allinone-2.xx/ns-2.xx
> # ./configure
> # make distclean
> # ./configure
> # make
----
****NS-2古いバージョンのインストールエラーについて
tclとtkでconfigureを実行するとエラーになる.
configureファイルの
/etc/.relid' を
/etc/.relid にかえる.
2008-11-06T22:54:37+09:00
1225979677
-
vmware
https://w.atwiki.jp/shibugaki/pages/23.html
-&link_anchor(vm){VMware Server のインストール}
-&link_anchor(ubuntu){Ubuntu のインストール}
-&link_anchor(vmtools){VMware tools のインストール}
-&link_anchor(hdd){HDD容量を追加する}
&link_edit(text=ここを編集,page=vmware)
----
****&aname(vm,option=nolink){VMware Server のインストール}
-Windows XP sp2 に VMware Server をインストールする
-参考ページ
--http://www.aconus.com/~oyaji/windows/vmware_server_win.htm
----
****&aname(ubuntu,option=nolink){Ubuntu のインストール}
-VMware の上に Ubuntu 8.04 をインストールする
-参考ページ
--http://www.hasta-pronto.org/archives/2006/06/09-0010.php
----
****&aname(vmtools,option=nolink){VMware tools のインストール}
-ウィンドウ上部のVM → Install VMware Tools
-VMwareTools-xxx.tar.gz をローカルにコピー,解凍
-展開されたディレクトリに入る
-root権限で, ./vmware-install.pl
-あとは,基本的にEnter
-ツールボックスの起動
> # vmware-tool &
----
****&aname(hdd,option=nolink){HDD容量を追加する}
-既存の仮想ディスクサイズを、10GBに拡張する場合(windows)
> 1) コマンドシンタックス
> # vmware-vdiskmanager.exe -x <拡張後のサイズ> 仮想ディスクファイル.vmdk
> 2) 実行例
> コマンドプロンプトより、
> # vmware-vdiskmanager.exe -x 10Gb C:\Virtual Machines\VRedhat\redhat.vmdk
2008-10-17T21:16:49+09:00
1224245809
-
AODV-UU
https://w.atwiki.jp/shibugaki/pages/27.html
-&link_anchor(overview){AODV-UUの概要}
-&link_anchor(protocol){しくみ}
-&link_anchor(sim){Simulation using NS-2}
-&link_anchor(memo){memo}
&link_edit(text=ここを編集,page=AODV-UU)
----
****&aname(overview,option=nolink){AODV-UUの概要}
NS-2 のAODV 拡張版
> http://core.it.uu.se/core/index.php/AODV-UU
----
****&aname(protocol,option=nolink){しくみ}
----
****&aname(sim,option=nolink){Simulation using NS-2}
バージョン0.9.5(2008年10月時点で最新)
> http://sourceforge.net/projects/aodvuu/
パッチをあてることで
NS-2.26,2.27,2.28,2.29,2.29.3,2.32 に対応.
> # tar xfvz aodv-uu-0.9.5.tar.gz
> # cp -R aodv-uu-0.9.5 ~/ns-allinone/ns-2.29
> # cd ~/ns-allinone/ns-2.29/
> # ln -s aodv-uu-0.9.5 aodv-uu
> ・NS のバージョンに合わせて,パッチをあてる.
> # cd ~/ns-allinone/ns-2.29/
> # patch -p1 < patches/ns-2.29.3-aodv-uu-0.9.2.patch
> ・再コンパイル.
----
****&aname(memo,option=nolink){memo}
2008-10-15T19:18:10+09:00
1224065890
-
gdb & tcl-debug for NS-2
https://w.atwiki.jp/shibugaki/pages/29.html
***NS-2 に gdb と tcl-debug を導入する
-&link_anchor(gdb){gdb のインストール}
-&link_anchor(tcl-debug){tcl-debug のインストール}
-&link_anchor(remake){NS-2 の再make}
&link_edit(text=ここを編集,page=gdb & tcl-debug for NS-2)
----
****&aname(gdb,option=nolink){gdb のインストール}
-apt-get で
> # sudo apt-get install gdb
----
****&aname(tcl-debug,option=nolink){tcl-debug のインストール}
-パッケージのダウンロード,展開
-http://expect.nist.gov/tcl-debug/tcl-debug.tar.gz
> # cd ~/ns-allinone-2.xx
> # wget http://expect.nist.gov/tcl-debug/tcl-debug.tar.gz
> # tar xvfz tcl-debug.tar.gz
-コンパイル
> # cd ~/ns-allinone-2.xx/tcl-debug-2.0
> # ./configure
こんなエラーメッセージが出ることがある.
> loading cache ./config.cache
> checking for Tcl configuration... configure: warning: Can't find Tcl configuration
> definitions
> ./configure: line 630: #: No such file or directory
-対策
-tclConfig.sh を指定してあげる.
> # ./configure --with-tcl=~/ns-allinone-2.xx/tcl8.4.xx/unix/
> # make
----
****&aname(remake,option=nolink){NS-2 の再make}
> # cd ~/ns-allinone-2.xx/ns-2.xx
> # ./configure --enable-debug --with-tcldebug=../tcl-debug-2.0
> # make clean
> # make
2008-10-15T16:07:06+09:00
1224054426
-
トポロジの自動生成
https://w.atwiki.jp/shibugaki/pages/28.html
***トポロジの自動生成
-モバイルノードの動作シナリオを自動生成
-ns-2.xx / indep-utils / cmu-scen-gen / setdest にある.
&link_edit(text=ここを編集,page=トポロジの自動生成)
----
-make しておく.
-ns-2.xx / indep-utils / cmu-scen-gen / setdest に移動.
-使い方
> 例: ./setdest -v 1 -n 20 -p 2.0 -s 10.0 -t 200 -x 500 -y 500 > scen-20-test
> [ オプション ]
> -v : version of setdest;
> 1 : original 1999 CMU version (デフォルト)
> 2 : modified 2003 U.Michigan version
> バージョン 1
> -p : 移動方向が変わるときに,停止する時間
> -M : 最高移動速度
> バージョン 2
> -s : speed type (uniform, normal)
> -m : minimum speed > 0
> -M : maximum speed
> -P : pause type (constant, uniform)
> -p : pause time (a median if uniform is chosen)
> 共通
> -n : ノード数
> -t : シミュレーション時間
> -x : x 軸の最大値
> -y : y 軸の最大値
2008-10-10T17:32:35+09:00
1223627555
-
admr
https://w.atwiki.jp/shibugaki/pages/22.html
-&link_anchor(overview){ADMRの概要}
-&link_anchor(protocol){しくみ}
-&link_anchor(sim){Simulation using NS-2}
-&link_anchor(memo){memo}
&link_edit(text=ここを編集,page=admr)
----
****&aname(overview,option=nolink){ADMRの概要}
-Adaptive Demand-Driven Multicast Routing protocol
> 「Adaptive demand-driven multicast routing in multi-hop wireless ad hoc networks」
> Jorjeta G. Jetcheva,David B. Johnson
> MobiHOC 2001
-オンデマンド・マルチキャストルーティングプロトコル
--オンデマンド ≒ リアクティブ
--MAODV,ODMRP
-Source-based forwarding tree
--最小遅延の経路を通る
--Single-Pathである
-Tree flood
--Network flood:ネットワーク全体に及ぶ,通常のフラッディング
--Tree flood:Forwarding tree内に限られた,フラッディング
--定期的なNetwork floodを行わない
---他のオンデマンドプロトコルは,制御部分で頻繁に使っている
-通信パターンを解析
--アプリケーションによって,パケット送信のパターンが異なる
--サイズ,間隔
--タイマ
---次パケットの到着時刻を予想する
---リンクブレーク,配信の終了を判断
---状態遷移を宣言する余計なコントロールパケットを削減
-ノードの移動速度によって,動作を変える
--リンクの切れやすさから判断
--GPS等の位置測定は行わない
--リンクが切れやすいときは,Network floodを使う
----
****&aname(protocol,option=nolink){しくみ}
----
****&aname(sim,option=nolink){Simulation using NS-2}
NS-2.1b8 用 ADMR,ODMRP ソース
> http://www.monarch.cs.rice.edu/multicast_extensions.html
NS-2.29 用 ODMRP ソース
> http://www.radiolabs.it/obamp/
----
****&aname(memo,option=nolink){memo}
2008-10-07T17:35:28+09:00
1223368528