メイン 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); ... } ここまで分かればもう大丈夫ですよね。 では頑張ってください。 |
フラット表示 | 前のトピック | 次のトピック |