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

パスワード:


パスワード紛失

新規登録
検索
メインメニュー
アクセスカウンター
2024/05/09:5/6
2024/05/08:22/25

2024/03/10より368/1383
人気モジュール
No.1: フォーラム 86
No.2: QualNet概要 6
日曜日からの合計
人気Browser&OS
No.1:巡回ロボット75
No.2:Linux3
No.3:Unknown OS1

No.1:どっかの巡回ロボット71
No.2:Safari3
No.3:Baidu巡回ロボット3

日曜日からの合計
メイン
   Routing Protocols Implementation & Model Development
     データ受信時にAODV_RREQを開始するには?
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
the_thirdman
投稿日時: 2006/1/8 2:03
新米
登録日: 2005/9/21
居住地:
投稿: 10
データ受信時にAODV_RREQを開始するには?
こんばんは。

現在以下のような状況を実現すべくプログラミングを
行っています。

(目標)
?送信元ノード1はGroupAを探索。
(ルーティングプロトコルとしてはAODVを使用。)

?規定のホップ数(2or3程度)を越えても宛先がない場合は
ノード1の近接ノードであるノード(紫色の三角形)にDATAを送信。

?GroupAのノード1からのDATAを受け取ったノードはGroupB内を探索。
(この際のホップ数制限はデフォルト値)
(ルーティングプロトコルとしてはAODVを使用。)

このような状況を実現するためにノードIdによって
グループAとグループBを区別しました。

目標を実現したいためにいくつかお聞きしたいことがあります。

?について
AODV_RREQ内にあるHOPカウントを取得したいのですが
どこを参照すればよろしいのでしょうか?

?について
送信元ノードは一定時間経ってもACKが返ってこないということを
トリガーとして近接ノード(紫の三角形)にDATA送信。
ということを実現するためにはAODVのどのあたりを
いじればよいのでしょうか??

?について
DATAを受信したことをトリガーとして新たなAODV_RREQを開始する。
といったことを実現するにはどのあたりをいじる必要が
あるのでしょうか??

質問が多岐にわたってしまい申し訳ありませんが、
分かる範囲で結構ですので回答のほうよろしくお願いします。
sample.JPG
forum_support
投稿日時: 2006/1/10 16:03
モデレータ
登録日: 2005/5/17
居住地: 東京都中野区中央4-5-3 ?構造計画研究所
投稿: 322
Re: データ受信時にAODV_RREQを開始するには?
引用:
?について
AODV_RREQ内にあるHOPカウントを取得したいのですが
どこを参照すればよろしいのでしょうか?

AodvRreqPacketのhopCountメンバを参照すればよいです。
例えば、RREQ受信時の処理を行うAodvHandleRequest()においてであれば、
AodvRreqPacket* rreqPkt = (AodvRreqPacket *) MESSAGE_ReturnPacket(msg);

としてRREQパケットを参照しているので、rreqPkt->hopCountで参照できます。


以下の質問については、「プロトコル仕様としてAODVをどういじれば良いか」
という質問に相当するかと思われます。つまり、「既存のRFC/I-Dにどのよう
な記述を追記/修正すればよいか?」と質問していることに相当するかと思わ
れます。残念ながら、そういった質問には、forum_supportとして個別にお
答えすることはできません。ですので、以下では話を一般化した上で回答させ
てもらいます。

引用:
?について
送信元ノードは一定時間経ってもACKが返ってこないということを
トリガーとして近接ノード(紫の三角形)にDATA送信。
ということを実現するためにはAODVのどのあたりを
いじればよいのでしょうか??


一般的には、仰られているようなトリガは専用タイマの発火で実現されるもの
と思います。ですので、一般的には、RREQなどの送信時に近接ノードへの送信
のためのタイマを仕込み、RREPなどの受信時に、そのタイマの解除を行うよう
に実装することになるかと思います。
タイマの仕込み方については、AodvSetTimer()関数やプログラマーズガイドの
「3.3.2.2 Timer Events」(章番号は3.9用December 6, 2005版のもの)を参考
にしてみてください。なお、RREQ送信処理関数は、AodvInitiateRREQ()、
RREP受信処理関数は、AodvHandleReply()になります。

引用:
?について
DATAを受信したことをトリガーとして新たなAODV_RREQを開始する。
といったことを実現するにはどのあたりをいじる必要が
あるのでしょうか??

AODVプロトコルに「DATAを受信したこと」を認識させるためには、まず
"DATA"を定義する必要があるかとは思いますが、そういうものをAODVのパケ
ットタイプとして既に定義済みであるということを前提とすれば、AODVパケ
ットの受信処理関数は、AodvHandleProtocolPacket()になりますので、まず
はそのあたりから手を加えてみてはいかがでしょうか?

なお、QualNetのAODVは、SNT社のサイトによると、
「Internet Draft: AODV-09」が実装対象ということになっています。
ですので、このI-D(またはそこから参照されているドキュメント)に記載され
ていない機能については、基本的に現状のQualNetのAODVには実装されていな
いとご理解ください。そういう意味でも、既存プロトコルに新たな機能を追加
したい、という場合には、まずQualNetが実装対象としている仕様書(RFCやI-D
など)上への追記・修正を行ったうえで、実際に実装すべき箇所を特定していく、
というアプローチが最も効果的かと考えられます。
the_thirdman
投稿日時: 2006/1/11 20:01
新米
登録日: 2005/9/21
居住地:
投稿: 10
Re: データ受信時にAODV_RREQを開始するには?
詳細な回答ありがとうございます
参考にしてまずはDATAパケットの定義から始めてみたいと思います。

サポートについてですが、Qualnet購入者対照のテクニカルサポートのほうでは、プロトコルの仕様についてもサポートしていただけたりするのでしょうか??
forum_support
投稿日時: 2006/1/11 20:55
モデレータ
登録日: 2005/5/17
居住地: 東京都中野区中央4-5-3 ?構造計画研究所
投稿: 322
Re: データ受信時にAODV_RREQを開始するには?
んーー そうですねぇ。基本的には、プロトコル仕様自体をサポート
はしません。仕様自体は殆どの場合、公開されていますし・・。
the_thirdman
投稿日時: 2006/1/12 0:24
新米
登録日: 2005/9/21
居住地:
投稿: 10
Re: データ受信時にAODV_RREQを開始するには?
了解しました。
お手数をおかけして申しわけありませんでした。
また、なにかありましたら質問させていただくかと思いますが
よろしくお願いいたします。
forum_support
投稿日時: 2006/1/12 11:01
モデレータ
登録日: 2005/5/17
居住地: 東京都中野区中央4-5-3 ?構造計画研究所
投稿: 322
Re: データ受信時にAODV_RREQを開始するには?
ちなみに Japan QualNet Community Forum の意図は、ユーザー
同士のコミュニケーションの場を提供しているにすぎず、我々
Forum Support Team はJapan QualNet Community Forumsの単な
るサポータです。いわゆる Help Desk とは違って、我々が
返答することをお約束しているわけではないので、その点
どうぞご理解いただきたく思います。

もう少しユーザー数が増えるともっとユーザー間のコミュニケー
ションがとりやすくなると思っております。それまではできる
限り Support Team もお手伝いしたいと思っています。

今後ともよろしくお願いいたします。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ
Copyright c KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
XOOPS Cube PROJECT