Japan QualNet Community Forums Japan QualNet Community Forums
Welcome Guest 
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
検索
メインメニュー
アクセスカウンター
2024/05/01:7/8
2024/04/30:18/24

2024/03/02より296/1373
人気モジュール
No.1: フォーラム 54
日曜日からの合計
人気Browser&OS
No.1:巡回ロボット53

No.1:どっかの巡回ロボット52
No.2:Majestic-12巡回ロボット1

日曜日からの合計
メイン
   Routing Settings
     AODVプロトコルのローカルリペアについて
投稿するにはまず登録を

題名 投稿者 日時
   AODVプロトコルのローカルリペアについて yosio 2012/1/7 17:00
   » Re: AODVプロトコルのローカルリペアについて chackn 2012/1/11 21:00
       Re: AODVプロトコルのローカルリペアについて yosio 2012/1/12 10:13
         Re: AODVプロトコルのローカルリペアについて chackn 2012/1/12 14:29
           Re: AODVプロトコルのローカルリペアについて yosio 2012/1/13 11:46
             Re: AODVプロトコルのローカルリペアについて chackn 2012/1/13 12:05
               Re: AODVプロトコルのローカルリペアについて yosio 2012/1/13 12:26
                 Re: AODVプロトコルのローカルリペアについて chackn 2012/1/13 15:02
                   Re: AODVプロトコルのローカルリペアについて yosio 2012/1/14 8:14
フラット表示 前のトピック | 次のトピック
投稿者 スレッド
chackn
投稿日時: 2012/1/11 21:00
常連
登録日: 2005/5/13
居住地: Kanagawa, Japan
投稿: 61
Re: AODVプロトコルのローカルリペアについて
yosioさん

投稿から4日経っても誰も答えてないようなので、ちょっとソースを読んで見ました。
yosioさんはソース"routing_aodv.cpp"は見られましたか?
もう見つけられたかもしれませんが、80回も閲覧されているので他のユーザの皆様のためにも、一応分かったことを書きますね。

リンクが切断するとAodvHandleLinkFailure()が呼ばれますよね。
その中からAodvMarkRouteAsLocallyRepairable()が呼ばれていて、恐らくAODVの管理しているルーティングテーブルのエントリに、「ローカルリペア可能」という印が付くのだと容易に想像できます。

一方、ローカルリペアが実際に起きるのは、ノードに到着したパケットが利用しようとしたエントリに「ローカルリペア可能」の印を見つけた時でしょうね。そう考えると、"rtEntry->locallyRepairable"をサーチしていけば自ずと見つかるはず。

って見てたらそれっぽい関数AodvHandleData()の中にこんなコメントが・・・。

 // No rreq has been sent for the route
 if (aodv->localRepair && rtToDest && rtToDest->locallyRepairable)
 {
--> // Try to do local repair if possible
  BOOL ifLocalRepairPossible = FALSE;

  ifLocalRepairPossible =
   AodvHandleLinkFailure(
    node,
    aodv,
    msg,
    rtToDest->nextHop,
    destAddr);
  ...
 }

ここまで分かればもう大丈夫ですよね。

では頑張ってください。

フラット表示 前のトピック | 次のトピック
Copyright c KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
XOOPS Cube PROJECT