![]() ![]() ![]() | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
yochaso | 投稿日時: 2011/5/9 18:24 |
新米 ![]() ![]() 登録日: 2011/2/11 居住地: 投稿: 2 |
RTS/CTSなどのソースについて いつもお世話になっております.
今回初投稿のQualNet初心者です. 無線LAN(IEEE802.11a)のインフラモードモデルでシミュレーションを 検討しています. QualNet5.0.2を使用. 複数の無線端末からAPを通し, サーバーとなる端末にCBRパケットを送信したときのスループットを測定しています. 既存サンプルにあるRTS/CTSの手順を改良して, 考案している方式をコーディングしようとしていますが, ソースを解読するのに困難で,アドバイスなどいただけると有難いです. 例えばCTS送信前のSIFSをPIFSに変更したり, パケット衝突した場合に任意のSTAからのパケットを残し, それ以外は破棄するなど,規格とは異なるような改造を考えています. 以下についてまずはお教えいただけないでしょうか. ・RTS/CTS+Data+ACKの一連の手順が書かれている箇所(手を加えられる箇所) ・パケット衝突を判定している箇所 (キャプチャ効果を再現するためパケット衝突後に成否を任意で変更したい) ・ノード配置に依存せず,隠れ端末を作る方法 (Q&AにはLOS/NLOSが記載されていましたが具体的なやり方が知りたい) よろしくお願いします. |
ino | 投稿日時: 2011/5/10 11:13 |
新米 ![]() ![]() 登録日: 2011/1/24 居住地: 投稿: 16 |
Re: RTS/CTSなどのソースについて > ソースを解読するのに困難で,アドバイスなどいただけると有難いです.
私がこれに取り組むなら、というものを書いてみます。 ちなみにEclipseやVisualStudioなどのIDEに取り込んで 参照検索や関数ジャンプなどの機能ができる環境を前提としています。 VisualStudioはQualNet-5.0.2-ProgrammersGuide.pdfの11ページ あたりに記載があります。 ・RTS/CTS+Data+ACKの一連の手順が書かれている箇所(手を加えられる箇所) 例えばRTS受信イベントを処理のきっかけとして探しに行きます。 全文検索で「RTS」をさがすと177行くらい見つかりますが、 その結果から「receive」なんていうキーワードで絞ると 「 // Received RTS,・・・」 というのが見つかりました。 mac_dot11.cppのMacDot11ProcessMyFrame()という関数です。 QualNetでは「〇〇Process××()」という関数が〇〇モジュールでの イベント処理関数になっており、switchでイベント種別によって 処理を振り分けて記述している場合が多いです。 上記の検索で見つかったのは「DOT11_RTS」というenumで振り分けられた先で RTS受信時の処理っぽいブロックに飛んできました。 このへんをざっと見ているとMacDot11StationTransmitCTSFrame()という 関数が見つかります。さらにこの関数に飛んでみると、関数の最後のほうで MacDot11StationStartTransmittingPacket() もしくは MacDot11StationStartTransmittingPacketDirectionally() という関数のどちらかが呼ばれパケット送信処理をしているのだと 推測できます。しかも、引数で「dot11->sifs」を与えているところを見ると このへんをいじればいいと考えられます。この値自体を何かしらの条件で 変えたいならば、さらにこのメンバ変数が左辺値参照されている箇所を 検索し・・・といった具合です。 ・パケット衝突を判定している箇所 (キャプチャ効果を再現するためパケット衝突後に成否を任意で変更したい) ちょっと意図が分かりにくいですが、例えばRTSをほぼ同時に複数の端末が だしてしまい、CTSを受信できなかった場面を見たいとしますと、以下の関数 MacDot11StationRTSTransmitted() なんかが手がかりになるかと思います(holdForCts待つタイマをセットしているので さらにこれが弾ける部分を探す。タイマ関連はMacDot11HandleTimeout()が 処理の入口)。 |
yochaso | 投稿日時: 2011/5/10 15:43 |
新米 ![]() ![]() 登録日: 2011/2/11 居住地: 投稿: 2 |
Re: RTS/CTSなどのソースについて inoさん
返信ありがとうございます。 参考にさせていただきます。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |