0

送信シーケンスに関して一般的な質問があります。INET -> 例 -> manetrouting -> dynamicNodeCreation では、どのノードがビーコン送信を開始する必要があるかをどのように決定しますか。そして、送信する次のノードはどのように選択されるのでしょうか。

初期化関数の getIndex() が送信ノードの選択に使用される tic-toc の例を試してみました (例: txc10.cc)。しかし、私は INET の例でそのような機能を理解していません。

ビーコン占有マップ ベクトルとして、ビーコン送信用のそれぞれのノードを選択する方法はありますか?

ビーコン占有マップ ベクトルとして、ビーコン送信用のそれぞれのノードを選択できる方法はありますか。

この問題について包括的でないことをお許しください。

4

1 に答える 1

0

私の質問に答えるために、INET ->examples->manetrouting->dynamicNodeCreation の例を取り上げます。この例を omnet で実行すると、(実行時に) 初期化した後の最初のイベントは fixhost の 'beaconTimer' です (私の場合は meshtest.fixhost2[4].wlan[0].magmt です) したがって、基本的には mgmt で始まりますサブモジュール。(実行時に任意の単一ノードの階層を確認すると、次のようになります:- Delayunit -> wlan0 で、wlan0 では再び mgmt->mac->radio。mgmt のコードは、inet->source->linklayer- で記述されています。 >ieee80211->mgmt->Ieee80211MgmtAP.cc

このクラスの初期化関数には、コード行がありますscheduleAt(simTime()+uniform(0,beaconInterval) , beaconTimer)。ここで、uniform は Omnet で定義された一様分布関数で、ランダムな値を与えます。beaconInterval は次のスーパー フレームが開始するまでの時間で、beaconTimer はメッセージです。この関数は、すべてのノードのビーコンを送信するためのランダムな時間をスケジュールします (それぞれ独自の mgmt モジュールによって)。したがって、この一様関数によって値が最も低いデバイスがビーコンの送信を開始します。他のデバイスはそれに応じて従う必要があります。

事前にスケジュールされた方法でビーコンを送信する場合は、次のイベントの scheduleAt() 関数を提供するのと同じモジュールで handleTimer 関数を変更します。

于 2015-05-06T06:15:39.513 に答える