![]() ![]() ![]() | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
yu-ri | 投稿日時: 2010/10/4 13:55 |
新米 ![]() ![]() 登録日: 2010/10/4 居住地: 投稿: 2 |
マルチホップにおけるIPレイヤでの平均遅延 今、直線上に10個のノードを用意し、静的ルーティングでユニキャストで端から端のノードへマルチホップをさせる通信を考えています。
このとき、中継ノードではIPレイヤでパケットの宛先を確認し、ルーティングテーブルに従って、次ノードへパケットを送っていると思います。 この際、ソースから各中継ノードまでのIPレイヤでのパケットの平均遅延を求めたいと思っているのですが、documentationを拝見してもわからず、質問させていただきました。 アプリケーションはCBRを考えており、CBRだとdestinationノードまでのE2E平均遅延はstaticticsで確認できますが、デフォルトで通信の各中継端末までのIPレイヤでの遅延はわかりません。 どのようにすれば所望の情報を得られるのでしょうか? よろしくお願いします。 |
hed | 投稿日時: 2010/10/4 23:11 |
一人前 ![]() ![]() 登録日: 2006/7/3 居住地: 京都 投稿: 81 |
Re: マルチホップにおけるIPレイヤでの平均遅延 yu-riさんこんにちは
ソースコードのどこを変更するかは調べてみないとわからないので、network_ip.cpp等を調べて頂くとして、私ならこうやるという方法を書いてみます。 # 実際に試してはいません。 # 試した結果をForumに残して下さると、情報共有がされていいですね ![]() まずIPレイヤの遅延の定義は厳密には人それぞれ違うかもしれませんが、今回は送信側が下位レイヤにパケットを渡す時刻Tと受信側が下位レイヤから受け取る時刻T+Δtの差である、Δtとします。 (1) IPから下位レイヤにパケットが渡る際に呼ばれる関数を探す (NetworkLayerHasPacketToSendとかかもしれません。) (2) 下位レイヤからIPにパケットが渡る際に呼ばれる関数を探す (ReceivePhyFromMacみたいな名前の関数だった気がします) (3) (1)で送信側が下位レイヤにパケットを渡す際にMessage構造体にMESSAGE_AddInfoなどで、シミュレーション時刻Tをのせておく (4) (2)で受信側で下位レイヤからパケットを受け取った際にMESSAGE_ReturnInfoなどで、 送信側でのせたTと現在時刻との差分Δtを取得し記憶しておく (5) Finalize関数で平均値を求め、IO_PrintStat等でstatファイルや標準出力に出力 遅延の定義が変われば、(1), (2)の位置は変わるかもしれませんが、(3)から(5)の処理は変わらないと思います。 参考になれば幸いです。 |
yu-ri | 投稿日時: 2010/10/5 1:30 |
新米 ![]() ![]() 登録日: 2010/10/4 居住地: 投稿: 2 |
Re: マルチホップにおけるIPレイヤでの平均遅延 hedさんこんにちは
早速のご返信ありがとうございます。 やはり、ソースコードをいじらないとできませんよね。。。 ソースコード自体は私はC言語を少しかじったくらいですので ほとんどわからないのが現状です(大変お恥ずかしいことですが・・・) ですので、ソースやProgrammerGuideを読んで、少しずつ理解して、返信にありましたことを実践したいと思います。 読んでおくべきdocumentationや、そのページ数等、参考になるものがあれば教えていただいてもよろしいでしょうか? |
gp | 投稿日時: 2010/11/9 11:57 |
新米 ![]() ![]() 登録日: 2005/12/2 居住地: 投稿: 13 |
Re: マルチホップにおけるIPレイヤでの平均遅延 既に試されているかもしれませんが..
やはりProgrammer's Guideを読みながらソースコードを変更して、慣れていくのがいいと思います。 はじめにこのフォーラムの「QualNet概要」のページに目を通しておくと入りやすいかもしれません。 「QualNet 5.0 Programmer's Guide」だと、以下の章が関連してそうですね。 3.3 Discrete-event Simulation in QualNet 3.4 QualNet Simulator Architecture 4.1.2 Programming with Message Info Fields 4.4 Network Layer 4.4の中では以下の章が参考になりそうです。 以下にも含まれますが改修例を確認してみてはいかがでしょうか。 4.4.4 Network Layer APIs and Inter-layer Communication 4.4.5.11 Finalization 4.4.6.5 Implementing the Event Dispatcher |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |