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

パスワード:


パスワード紛失

新規登録
検索
メインメニュー
アクセスカウンター
2024/05/03:15/15
2024/05/02:19/23

2024/03/04より312/1375
人気モジュール
No.1: フォーラム 95
No.2: ニュース 3
No.3: QualNet概要 1
日曜日からの合計
人気Browser&OS
No.1:巡回ロボット84
No.2:Windows NT1

No.1:どっかの巡回ロボット81
No.2:Majestic-12巡回ロボット2
No.3:Safari1

日曜日からの合計
メイン
   Link (MAC) Layer Protocol Implementation & Model Development
     NAV期間を設定する際の処理について
投稿するにはまず登録を

題名 投稿者 日時
 » NAV期間を設定する際の処理について tya 2012/12/20 18:11
     Re: NAV期間を設定する際の処理について hina 2013/1/9 10:56
       Re: NAV期間を設定する際の処理について tya 2013/1/16 8:22
フラット表示 前のトピック | 次のトピック
投稿者 スレッド
tya
投稿日時: 2012/12/20 18:11
半人前
登録日: 2010/11/30
居住地:
投稿: 21
NAV期間を設定する際の処理について
こんにちは。
当方、QualNet5.0.2を使っています。

現在、MAC層における処理について検証しているのですが
mac_dot11.cpp内にあるMacDot11ProcessNotMyFrame関数における処理において、分からない点があるので教えて下さい。

例として、以下のようなオムニノードが配置してあるとします.

A B C
○ ○→○

BがCに対してRTSの制御メッセージを送信した場合、当然、Aも受信することができます。この時、MacDot11ProcessNotMyFrame関数においてAはNAVを設定するための処理を以下の通り行います。

NewNAV = currentTime + duration + EPSILON_DELAY;
if (NewNAV > dot11->NAV) {
dot11->NAV = NewNAV;
navHasChanged = TRUE;
}

この場合、NewNAVに代入された値がdot11->NAVに代入されることで、その時間までのNAV期間として処理されると認識しています。
しかし、BがCからのCTSを受信後、DATAパケットを送信した際に、AはDATAパケットを受信することになりますが、再びMacDot11ProcessNotMyFrame関数で上記の処理を行う際に、dot11->NAVが先程のRTSで設定したdot11->NAVの値よりも大きくなることで上書きする処理を行うことになります。これは、おかしな動作だと個人的には思うのですが、処理的に問題ないのでしょうか?

私が認識しているのは、RTSを受信した際にNAV期間を設定(t1とします)し、そのNAV期間が切れるのはt1にも関わらず、上記の処理によってt2にNAV期間が切れるといったことになっているように感じます。
DATAパケット自体にNAVを設定する機構はないと思いますので、この処理は不可解です。

この処理を意図的に行わせることによって、整合性などを図っているのでしょうか?
もしくは、dot11->NAVに対する考え方(NAV期間が切れる時間)が間違っているのでしょうか?
それとも、この質問自体がおかしなことを言っている??

よろしくお願いします。
フラット表示 前のトピック | 次のトピック
Copyright c KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
XOOPS Cube PROJECT