メイン Routing Protocols Implementation & Model Development ip.cppのNetworkIpSendPacketToMacLayerとNetworkIpSendPacketToMacLayerWithDelay | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
banana | 投稿日時: 2006/9/20 16:22 |
新米 登録日: 2006/8/29 居住地: 投稿: 13 |
ip.cppのNetworkIpSendPacketToMacLayerとNetworkIpSendPacketToMacLayerWithDelay こんにちは。
いつもお世話になっております。 ip.cppにはNetworkIpSendPacketToMacLayerとNetworkIpSendPacketToMacLayerWithDelayの2つの関数があり ブロードキャスト送信の場合には衝突防止のためにNetworkIpSendPacketToMacLayerWithDelayを使用しています。 この2つの関数の違いはdelayをかけているか否かだと考えていました。 そのため後者の関数を使用するときにdelayに0を入れると 前者の関数と同様の動作をすると思うのですが 実際にシミュレーションしてみますと結果に違いがありました。 (後者のほうが、配信率が5%程度低下していました) この2つの関数の違いについて教えていただきたいと思います。 以上よろしくお願いいたします。 |
maxam | 投稿日時: 2006/9/21 15:59 |
常連 登録日: 2006/4/11 居住地: 投稿: 58 |
Re: ip.cppのNetworkIpSendPacketToMacLayerとNetworkIpSendPacketToMacLayerWithDelay こんにちは
私もdelay=0とdelay無しは同じだと思っていたので MCBRアプリで試してみたところ、 確かに違う結果になりました。 (配信率、というのはどれのことでしょう? 私は統計情報のMAC->BroadCasts receivedの値を見たのですが。) withDelayのソースを見ても、「delayが入るだけで NetworkIpSendPacketToMacLayer()と同じ」 というようなことが書いてありますし、実際動作を 追ってみても通常はそのようになっていました。 ただ、delay=0の場合、プログラムとしては 「0秒後にこのイベントを実行して」 とスケジューリングするということなので、 もし、まったく同じ時刻に他のイベントが登録されていた 場合、そちらが先に実行されてしまうということは有り得ます。 結果に違いが出たのはその影響ではないでしょうか? もしそうだとして、具体的に何の処理と同時刻になって 影響されるのかは分からないのですが・・。 withDelay( delay=0 ) と delayナシの違い、 私もちょっと気になりますので、何か追加情報 がありましたら教えて頂けると嬉しいです |
banana | 投稿日時: 2006/9/27 17:19 |
新米 登録日: 2006/8/29 居住地: 投稿: 13 |
Re: ip.cppのNetworkIpSendPacketToMacLayerとNetworkIpSendPacketToMacLayerWithDelay 返信遅くなりまして、誠に申し訳ございます。
ご返事ありがとうございました。 配信率とはstatファイルの受信パケット数/送信パケット数 のことであります。 こちらもソースを追っていたのですが delayがあるだけで、その他の違いがあまりわかりませんでした。 前の書き込みでは詳しく書いていませんでしたが delay=0としたときのほうが結果が悪かったので maxamさんが言うようなことが起こっているのかもしれませんね。 引き続き調査していきたいと思っています。 今後ともよろしくお願いいたします。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |