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()とか)
メモ
- ノードの単位時間当たりの負荷を計測したい
- 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*)
- void AODV::nl_calc ( void )
- packet_count ÷ 時間間隔(10秒とか)
- nl_timer_.reched(時間間隔)
最終更新:2009年04月24日 19:34