AODVメモ


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*)
        • nl_calc () を実行する
      • void AODV::nl_calc ( void )
        • packet_count ÷ 時間間隔(10秒とか)
        • nl_timer_.reched(時間間隔)
最終更新:2009年04月24日 19:34