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

パスワード:


パスワード紛失

新規登録
検索
メインメニュー
アクセスカウンター
2024/05/14:6/6
2024/05/13:21/24

2024/03/15より388/1397
人気モジュール
No.1: フォーラム 39
No.2: ニュース 2
日曜日からの合計
人気Browser&OS
No.1:巡回ロボット34
No.2:Unknown OS1

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

日曜日からの合計
メイン
   Routing Protocols Implementation & Model Development
     AODVでの迂回経路生成
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
yosio
投稿日時: 2012/3/18 23:44
常連
登録日: 2011/11/24
居住地:
投稿: 41
AODVでの迂回経路生成
いつもお世話になっております.

AODVの動作に疑問があり投稿しました.

AODVでは,常に最短の経路を生成します,そこで,キューの使用率によって経路探索の処理を変え,迂回経路が生成されるような処理を作りました.
具体的に,AodvHandleRequestの処理の所に,キューの使用率の高い順からRREQを破棄(無視),保持,通常の処理の三つのに分岐させた処理を書きました.
RREQを受け取った端末のキューの使用率が高い場合,RREQを破棄するようにしました.中継端末でRREQを破棄した場合は,その経路で経路生成されず,ほかの経路(迂回経路)が生成されると思うのですが,経路が正常に生成されず,生成されたとしても,すぐにリンク切断が起きてしまい通信が全然されません.原因が全然わかりません.
RREPが返ってきている場合もあります.

距離は問題なく,通信できる距離にあり,移動はありません.
処理の変更点として,AodvHandleRequestの部分を変更しただけです.

ご教授お願いします.
hiro
投稿日時: 2012/3/19 9:29
長老
登録日: 2005/7/16
居住地:
投稿: 452
Re: AODVでの迂回経路生成
一般的に、改造した結果が思わしくない(期待した動作をしない)場合は
改造内容そのものが自分の意図した改造ではないからだと思います。
思わぬ副作用を引き起こした改造になっているのか、改造した内容が
機能的に不十分だと思われます。

まず行うべきは、全てのAODVパケットを追いかけ、AODVのアルゴリズムに
したがって、各NodeのAODVがどのような処理を行っているかをきちんと
把握することでしょう。そして改造したことによりAODVの処理がどのように
変化したのかを確認することです。

何をどのように改造したのかは、改造した本人にしかわかりません。
AODVの動きをどこまで確認したのかも、本人しかわかりません。
実際に何が起きているか、確認できるのは本人だけです。

原因がわからなければ、わかるための調査を行うしかありません。

近道はありません、AODVのデバッグを地道に行うしかないと思います。
yosio
投稿日時: 2012/3/19 10:11
常連
登録日: 2011/11/24
居住地:
投稿: 41
Re: AODVでの迂回経路生成
お返事ありがとうございます.

そう思いまして,今も追っている状況です.

そこで,わかったことが経路が生成されていない時は,前ホップノードがRREPを送った後,送信元が受け取って処理を行っていなかった(送信したアドレスは合っていた)ことです.

また,RREPを送った端末の周りでリンク切断が多く行われていました.そのため,RERRの送信数とリンク切断の数がものすごく増えていました.

リンク切断の原因でRREPが送信元に届かなかったことは関係あると思うのですが,その先が解りません.

また,既存のAODVにキューの使用率でRREQを受信→無視(破棄)をする.と処理を加えただけでも,できませんでした.AODVの機構に破棄処理を加えた場合に影響が出る部分はあるんですかね?

chackn
投稿日時: 2012/4/3 18:16
常連
登録日: 2005/5/13
居住地: Kanagawa, Japan
投稿: 61
Re: AODVでの迂回経路生成
yosioさん

もう既に試されているかもしれませんが、routing_aodv.cppの先頭に以下のスイッチがありますよね。


#define  AODV_DEBUG_AODV_TRACE 0



これを0->1にして動かしてみてはいかがでしょうか。
そうしておいて、RREQを破棄した場合としなかった場合のトレース出力を比べてみるとなにか分かるような気がします。

ご参考まで。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ
Copyright c KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
XOOPS Cube PROJECT