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

パスワード:


パスワード紛失

新規登録
検索
メインメニュー
アクセスカウンター
2024/05/04:22/24
2024/05/03:22/24

2024/03/06より328/1375
メイン
   Network Layer Settings: IP, QoS, Queuing & Scheduling
     マルチホップにおけるIPレイヤでの平均遅延
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ
Copyright c KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
XOOPS Cube PROJECT