![]() ![]() ![]() | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
nanajiro | 投稿日時: 2017/12/8 18:37 |
新米 ![]() ![]() 登録日: 2017/12/7 居住地: 投稿: 5 |
OLSRv2における中継ノードについて こんにちは。
ノード間でCBRにてパケット転送を行っていますが、パケットがどのノードを中継しているか知りたいです。 どのファイルや関数に注目すればよいか教えていただけませんでしょうか。どうかよろしくお願いいたします。 |
hiro | 投稿日時: 2017/12/9 15:49 |
長老 ![]() ![]() 登録日: 2005/7/16 居住地: 投稿: 452 |
Re: OLSRv2における中継ノードについて IPルーティング設定状態を確認すればよいので、
./libraries/developer/src/network_ip.cpp で定義されている、 NetworkPrintForwardingTable関数 を呼び出すようにしてみてはいかがでしょうか。 |
nanajiro | 投稿日時: 2017/12/11 12:34 |
新米 ![]() ![]() 登録日: 2017/12/7 居住地: 投稿: 5 |
Re: OLSRv2における中継ノードについて 返信ありがとうございます。
この関数を呼び出すことで、時間ごとの転送表を呼び出すことができるようになりました。 最終的には、ノードごとに、他のノードからのパケットを中継した回数・他ノード(パケット送信元)のノードID(またはアドレス)を格納する変数を作りたいと考えています。 パケットごとにパケットの経路を追うことはできるのでしょうか?または、パケットがドロップしたノードを把握することはできるのでしょうか。 |
hiro | 投稿日時: 2017/12/12 9:27 |
長老 ![]() ![]() 登録日: 2005/7/16 居住地: 投稿: 452 |
Re: OLSRv2における中継ノードについて > パケットごとにパケットの経路を追うことはできるのでしょうか?
> または、パケットがドロップしたノードを把握することはできるのでしょうか。 それぞれできますが、それなりに手間がかかります。 まず、パケット単位で状況を確認するためには、 送信処理、中継処理、受信処理がどのように行われているかを理解する必要があります。 これは簡単に説明できるものでもないので、以下の解説書を読んでみて下さい。 http://simweb.kke.co.jp/download/QualNetHacks-04-Routing.pdf 対象としているQualNetのバージョンが少し古いですが、 最新のQualNet 8でも当てはまる内容です。 次に、パケット単位の情報を出力する必要がありますが、方法は2つです。 その1 ソースコードに手を入れて自分でログを出す。 ./libraries/developer/src/network_ip.cpp が対象になります。 上記の解説書に大まかなパケットの流れが説明してあるので、 参考になると思います。 その2 statdbに情報を出して解析する。 シナリオ設定でStatistics Database出力をYESにして、 APPLICATION,NETWORK,TRANSPORTのEvents出力をYESにすれば、 これらレイヤでのパケット単位の情報がdbに出力されます。 dbファイルの中身を見るのにSQliteのtoolが必要ですが、 丁寧に内容を見ればおそらくパケットの流れを把握できると思います。 いずれの方法も簡単な方法ではありませんけど、時系列でパケットの流れを把握することができますので、好きな方法を試してみて下さい。 |
nanajiro | 投稿日時: 2017/12/16 10:54 |
新米 ![]() ![]() 登録日: 2017/12/7 居住地: 投稿: 5 |
Re: OLSRv2における中継ノードについて 返信ありがとうございます。
./libraries/developer/src/network_ip.cpp を変更することで、ノードの中継を確認することができるようになりました。 非常に助かりました。ありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |