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

パスワード:


パスワード紛失

新規登録
検索
メインメニュー
アクセスカウンター
2024/05/03:8/8
2024/05/02:19/23

2024/03/04より307/1375
人気モジュール
No.1: フォーラム 91
No.2: ニュース 3
No.3: QualNet概要 1
日曜日からの合計
人気Browser&OS
No.1:巡回ロボット79
No.2:Windows NT1

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

日曜日からの合計
メイン
   Documentation & Reference Links
     AODVのTotal Hop Counts for all routesについて
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
T.I
投稿日時: 2017/11/23 16:35
半人前
登録日: 2017/10/21
居住地:
投稿: 32
AODVのTotal Hop Counts for all routesについて
GUIでシミュレーションを行っているのですが、わからないことがあります。

マルチホップで各ノードのホップ数を見たいと考えています。
ルーティングでAODVを用いているのですが、statファイルのAODVのTotal Hop Counts for all routesの値が何を示しているのかわかりません。
この値の算出方法を教えていただきたいです。

私のstatファイルです。
qualnet_Oct_19_17_15_56_02.stat
hiro
投稿日時: 2017/11/24 8:39
長老
登録日: 2005/7/16
居住地:
投稿: 452
Re: AODVのTotal Hop Counts for all routesについて
routing_aodv.cpp をエディタで開きます。
.statファイル出力はFinalize関数で行うので、
AodvFinalize関数を見つけて、
文字列 Total Hop Counts for all routes を検索します。

そしてstats構造体のどのメンバを出力しているのか確認します。
なおstats構造体の定義は routing_aodv.h にあります。

メンバがわかったら、そのメンバに値を代入している部分を調べます。
QualNet8の場合は、3か所でした。
T.I
投稿日時: 2017/11/25 13:05
半人前
登録日: 2017/10/21
居住地:
投稿: 32
Re: AODVのTotal Hop Counts for all routesについて
ありがとうございます!
確認してみます。
T.I
投稿日時: 2017/11/25 14:56
半人前
登録日: 2017/10/21
居住地:
投稿: 32
Re: AODVのTotal Hop Counts for all routesについて
確認しました!
どうやらnumHopsというメンバかなと思っています。
QualNet-7.3も3箇所あり、
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
if (newMsg)
{
aodv->stats.numRoutes++;
aodv->stats.numHops += rtToSrc->hopCount;
}
// Send any buffered packets to the destination
while (newMsg)
{
aodv->stats.numDataInitiated++;

AodvTransmitData(
node,
newMsg,
rtToSrc,
previousHop);

newMsg = AodvGetBufferedPacket(
node,
sourceAddress,
&previousHop,
&aodv->msgBuffer);
} // while
}
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
if (!prevRtPtr)
{
if (AODV_DEBUG)
{
printf("\tfirst RREP received\n");
}

aodv->stats.numRoutes++;
aodv->stats.numHops += hopCount;

newRtAdded = TRUE;
rtToDest = newRtPtr;
}
else
{
aodv->stats.numRoutes++;
aodv->stats.numHops += hopCount;
routeUpdated = TRUE;
rtToDest = prevRtPtr;

if (AODV_DEBUG)
{
printf("\tcontains better route compared to known one\n");
}
}
}
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
のようになっています。

ここから算出方法を調べていくにはnumHopsを追えばいいのか、hopCountを追えばいいのか、はたまたどちらも違うのか、、
初心者なので見当がつきません。
教えていただけないでしょうか。
forum_admin
投稿日時: 2017/11/26 17:02
管理人
登録日: 2005/5/6
居住地: 東京都中野区中央4-5-3 ?構造計画研究所
投稿: 45
Re: AODVのTotal Hop Counts for all routesについて
QualNetはオープンなソフトウェアではありません。
ソースコードの引用はできるだけ避けて下さい。

よろしくお願いします。
hiro
投稿日時: 2017/11/27 10:42
長老
登録日: 2005/7/16
居住地:
投稿: 452
Re: AODVのTotal Hop Counts for all routesについて
初心者であれば、QualNetの内部構造を理解するのに
ちょうどよいと思いますので、numHopsとhopCountの
それぞれを追いかけてみるのがよいと思います。
T.I
投稿日時: 2017/11/27 16:59
半人前
登録日: 2017/10/21
居住地:
投稿: 32
Re: AODVのTotal Hop Counts for all routesについて
追いかけてみました!!


AodvHandleReplyでは、
NETWORK_IPV6かどうか判定するif文で、
AODV_RREP_HopCountに1を加えた値をhopCountに代入する。

そして!prevRtPtrか判定するif文で、
stats.numHopsとhopCountを足した数を、stas.numHopsに代入する。



AodvHandleRequestでは、
newMsgかどうか判定するif文で、
stats.numHopsとAodvReplaceInsertRouteTableを足した値を、stats.numHopsに代入する。



というふうに理解をしたのですがあっているでしょうか??
わかりにくい説明で申し訳ございません。
hiro
投稿日時: 2017/11/28 9:38
長老
登録日: 2005/7/16
居住地:
投稿: 452
Re: AODVのTotal Hop Counts for all routesについて
AODVプロトコルの詳細については理解していないので、
QualNetに関することだけです。
> stats.numHopsとAodvReplaceInsertRouteTableを足した値を、
ここ違ってませんか(というか説明が抜けてる)?
AodvReplaceInsertRouteTableはAodvRouteEntry* 型の関数ですよね。

> というふうに理解をしたのですがあっているでしょうか??
こちらで全てを調べることはできないので、私には抜け漏れの有無などは
わかりませんが、検索で見つかった場所が間違いなければそれで
良いのではないでしょうか。
また一方で、調べる方法は理解してもらったと思うので、徐々に理解を深める
努力を進めていけばよいと思います。
T.I
投稿日時: 2017/11/29 11:50
半人前
登録日: 2017/10/21
居住地:
投稿: 32
Re: AODVのTotal Hop Counts for all routesについて
>> stats.numHopsとAodvReplaceInsertRouteTableを足した値を、
> ここ違ってませんか(というか説明が抜けてる)?
> AodvReplaceInsertRouteTableはAodvRouteEntry* 型の関数ですよね。
rtToSrcという変数が使われていて、if文の少し前に
rtToSrc = AodvReplaceInsertRouteTable(
~~~~~~~~~~~~~~~~~
)
という文が書かれていたのでそう解釈したのですが違うのでしょうか。

あと疑問なのですがAodvRouteEntry* 型の関数というの何でしょうか?
Guideで調べても出てこなかったので教えていただきたいです。
hiro
投稿日時: 2017/11/29 18:46
長老
登録日: 2005/7/16
居住地:
投稿: 452
Re: AODVのTotal Hop Counts for all routesについて
もはやQualNetとは関係ない、単なるC言語の話題になってきたのでこれで最後にします。

関数AodvReplaceInsertRouteTableの定義と、
変数rtToSrcの定義を確認して下さい。

それぞれはAodvRouteEntry *なので、
hopCountやnumHopsの型とは異なります。
(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ
Copyright c KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
XOOPS Cube PROJECT