![]() ![]() ![]() | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
yuki33 | 投稿日時: 2016/12/4 5:10 |
新米 ![]() ![]() 登録日: 2016/11/13 居住地: 投稿: 4 |
11nのAP間でのスループットについて AP間の通信での
Enable Support for 40MHz Bandwidth Enable AMPDUs Enable AMSDUs をそれぞれYES/NOに設定した際のスループットの違いを測定したいと思い. dot11n_phy_antenna1を使って, 送信・受信ノードともにSet as Access Point をYESに設定しました. そして,上記のそれぞれの設定をYES/NOに設定し,スループットを計測したのですが,どのように設定しても同じ値になってしまいます. Set as Access Point をNOとして,STAやad-hocモードとすると, スループットに違いがでる場合もあるのですが, Set as Access Point をYESの場合でスループットに違いを出すためには どうすればよいのでしょうか? qualnetのバージョンは7.4です. ご教授宜しくお願い致します. |
ipoten | 投稿日時: 2016/12/5 19:42 |
一人前 ![]() ![]() 登録日: 2005/7/12 居住地: 投稿: 102 |
Re: 11nのAP間でのスループットについて こんにちは
ベースとしているシナリオは、 QUALNET_HOME/scenarios/wireless/wifi/dot11n/throughput_test/dot11n_phy_1antenna/dot11n_phy_1antenna.config で合っていますか? このシナリオは2つのノードで構成されていて、ざっくりと以下のような設定になっています。 ・インフラストラクチャモード: ・Node 1 が AP (MAC-DOT11-AP YES) ・Node 2 が STA (MAC-DOT11-AP NO ネットワークのデフォルト) ・CBRトラフィックが Node1 (AP) → Node2 (STA) 設定 ・MAC-DOT11-AMPDU-ENABLE YES ・MAC-DOT11-AMSDU-ENABLE NO (デフォルト) 上記のシナリオに対して、2つのノードを両方ともAccess Point (MAC-DOT11-AP YES) に設定したということでよいでしょうか。 まずここが疑問です。802.11 で Access Point 同士で直接通信させるのは、個人的にはかなり特殊なケースのように感じます。 Wireless Distribution System の様に規定上はAP同士で無線ネットワークを構成できるようですが。 yuki33 さんの研究上、明確に意図された設定でしょうか。 次に QualNet の動作ですが、yuki33 さんも確認されているように、AP を2台配置してそのままで直接通信ができているようです。 この時、Beaconの受信もなく、アソシエーションもせず、いきなり上位レイヤのデータフレームを通しているように見えます。 AP-AP間の通信シナリオで、AMPDU や AMSDU, 40MHz Bandwidth の動作や実装がどのようになっているか少し確認してみました。 ■AMPDU オリジナルのシナリオと異なり、MAC-DOT11-AMPDU-ENABLE YES を設定しても、 *.stat に MAC, 802.11nDCF, Ampdus *** 系のカウントがすべて0になります。 AMPDUの設定が無効になっているように見えます。 ソースコードは細かく追えていませんが、たとえば mac_dot11-ap.cpp に MacDot11nCanAmpduBeCreated() という関数があって、 この中では自身がAPの場合に、送信先が自AP配下のSTAでなければ AMPDU は無効としているようです。 ■AMSDU オリジナルの dot11n_phy_1antenna シナリオに対して MAC-DOT11-AMSDU-ENABLE YES を設定しても、 バッファリングはされるもののアグリゲーションの条件にならず *.stat に MAC, 802.11nDCF, Ampdus *** 系のカウントはされないようです。 AMSDU の設定の効果を見るためには、パラメータ設定を調整する必要があるように思われます。 そこで、AMSDU を確認できる QUALNET_HOME/scenarios/wireless/wifi/dot11n/throughput_test/amsdu_test/amsdu_test.config をベースにしてみました。(もともと3ノードあったので、Node3を削除しています。) AP-APの設定にした場合、オリジナルのシナリオと異なり、MAC-DOT11-AMSDU-ENABLE YES を設定しても、 *.stat に MAC, 802.11nDCF, Amsdus *** 系のカウントがすべて0になります。 AMPDUの場合と同様にAMSDUの設定が無効になっているように見えます。 こちらもAMPDUと同様に、たとえば mac_dot11n.cpp に Macdot11nCanAmsduBeCreated() という関数があり、 自身がAPの場合に、送信先が自AP配下のSTAでなければ AMSDU は無効と返しています。 ■40MHz Bandwidth これについてはすみません、インフラストラクチャモードで PHY802.11-40MHz-SUPPORTED YES に設定したシナリオでうまく通信させることができませんでした。 もし yuki33 の方でうまくできているようでしたら、シナリオ作成手順を教えてください。 で、dot11n_phy_1antenna をベースにAP-APの設定にした場合は、 PHY802.11-40MHz-SUPPORTED YES でも NO でも通信できましたが、確かに結果は変わりませんでした。 これは、AMPDU も AMSDU も無効の状態で、元々のCBR設定のままでは 20MHz の帯域を使い切っていないため、40MHz を有効にしても結果は同じになったのだと思われます。 別のシナリオを作って、AP-AP間通信設定で実行したところ、PHY802.11-40MHz-SUPPORTED YES と NO とで、CBRのスループットが変化することは確認できました。 ●中間結論?的なもの AP-AP間の直接通信のシナリオにおいて AMPDU や AMSDU の設定が効かないということが、 QualNetの実装として妥当なのかとか、802.11n standard はどうなっているのかとかまでは確認していません。 少なくとも現状のQualNet(7.4)はこのようになっているということなので、 もし yuki33 さんが評価をするうえで AP-AP間の通信で AMPDU や AMSDU の機能を有効にする必要があるのであれば、ソースコードの改修が必要と思います。 少しハードルは高そうです。 インフラモードやアドホックモードでは、評価シナリオを代替できないでしょうか。 ![]() |
yuki33 | 投稿日時: 2016/12/6 18:09 |
新米 ![]() ![]() 登録日: 2016/11/13 居住地: 投稿: 4 |
Re: 11nのAP間でのスループットについて ipoten様
ご返信頂きありがとうございます. 途方に暮れていたので大変助かります. 本当にありがとうございます. >ベースとしているシナリオは、 >QUALNET_HOME/scenarios/wireless/wifi/dot11n/throughput_test/dot11n_>phy_1antenna/dot11n_phy_1antenna.config >で合っていますか? はい.上記シナリオをベースとしております. >上記のシナリオに対して、2つのノードを両方ともAccess Point (MAC->DOT11-AP YES) に設定したということでよいでしょうか。 はい,ご認識の通り設定しております. >まずここが疑問です。802.11 で Access Point 同士で直接通信させるのは、個人的にはかなり特殊なケースのように感じます。 >Wireless Distribution System の様に規定上はAP同士で無線ネットワ>ークを構成できるようですが。 >yuki33 さんの研究上、明確に意図された設定でしょうか。 こちらに関してですが,研究で添付パワポのようなトポロジを考えており,AP-AP,AP-STAの通信のスループットを測定したいと考えております. >■AMPDU■AMSDU 動作をご確認頂きありがとうございます.AP-APの通信でこれらを有効にするためにはソースコードを改修する必要があるということが分かったことが大変助かりました.ipoten様も仰られているように,私にはソースコードの改修はハードルが高いと思うので,一旦こちらについてはAP-APで有効とするのが妥当なのかの検討も含め保留したいと思います. >■40MHz Bandwidth >もし yuki33 の方でうまくできているようでしたら、シナリオ作成手順を教えてください。 AP->STAについては私の方でもうまく通信させることができませんでした.申し訳ございません. >これは、AMPDU も AMSDU も無効の状態で、元々のCBR設定のままでは 20MHz の帯域を使い切っていないため、40MHz を有効にしても結果は同じになったのだと思われます。 ご説明頂きありがとうございます. dot11n_phy_1antennaではCBPの設定が40000byte/0.001secondsとなっており,アプリケーション層のofferd loadは320Mbpsになっているのですが,アプリケーション層のスループットは20MHz,40MHzともに32Mbps程度でした.320Mbpsは帯域を使い切るに十分大きな設定だと思うのですが,スループットに変化がないのはなぜなのでしょうか? >別のシナリオを作って、AP-AP間通信設定で実行したところ、PHY802.11-40MHz-SUPPORTED YES と NO とで、CBRのスループットが変化することは確認できました。 上記と同様,私の方ではAP-AP間で20MHzと40MHzでスループットの変化を確認することができませんでした.宜しければipoten様が確認されたシナリオの作成手順を教えて頂けないでしょうか? 質問ばかりで申し訳ございません. お手数をお掛け致しますが.また返信頂けると大変ありがたいです. 宜しくお願い致します. ![]() |
ipoten | 投稿日時: 2016/12/8 22:47 |
一人前 ![]() ![]() 登録日: 2005/7/12 居住地: 投稿: 102 |
Re: 11nのAP間でのスループットについて > こちらに関してですが,研究で添付パワポのようなトポロジを考えており,AP-AP,AP-STAの通信のスループットを測定したいと考えております.
ありがとうございます。 ここで、AP-APを構成する無線ネットワークと、AP-STAを構成する無線ネットワークは、同じ無線リンクを共有しなければならないでしょうか。 そうだとすると、確かにAP-AP間はあくまでもAccessPointとして通信する必要がありそうですね。 そうではない、つまり、AP-AP と AP-STA を別の無線ネットワークとして構成してよいのであれば、 AP-APのネットワークはアドホックモードで置き換えることができるように思います。 >■40MHz Bandwidth > dot11n_phy_1antennaではCBPの設定が40000byte/0.001secondsとなっており,アプリケーション層のofferd loadは320Mbpsになっているのですが, > アプリケーション層のスループットは20MHz,40MHzともに32Mbps程度でした.320Mbpsは帯域を使い切るに十分大きな設定だと思うのですが,スループットに変化がないのはなぜなのでしょうか? なるほど。だとすると、どこか別の個所にボトルネックがあるか、あるいは 40MHz設定が機能していないかのどちらかですね。 残念なことに、QualNet 7.4 のサンプルシナリオには、11n で 40MHz バンド幅を有効にしたシナリオを見つけることができず、参考にできるものがありません。 ちょっと調べてみますが、時間がかかるかも、です。 >>別のシナリオを作って、AP-AP間通信設定で実行したところ、PHY802.11-40MHz-SUPPORTED YES と NO とで、CBRのスループットが変化することは確認できました。 > 上記と同様,私の方ではAP-AP間で20MHzと40MHzでスループットの変化を確認することができませんでした.宜しければipoten様が確認されたシナリオの作成手順を教えて頂けないでしょうか? QUALNET_HOME/scenarios/wireless/wifi/dot11n/ad-hoc_test をベースにして、3ノードあるうちの真ん中のNode2を削除、 Node1と3の距離を近づけて、それぞれを AccessPoint に設定しました。 シナリオを添付してみます。(ZIPを解凍すると、2つのディレクトリができます。) * ad-hoc_test_2node_ap2ap_woAMxDU :40MHzモードオフ * ad-hoc_test_2node_ap2ap_woAMxDU_40MHz :40MHzモードオン あらためてみてみましたが、CBR Server のスループットに変化はあるものの、 帯域幅が倍になったにしては増加はごくわずかで、これは別の要因による誤差かもしれません。 うーん。こちらももう少し見てみましょうか。。 ![]() ![]() |
yuki33 | 投稿日時: 2016/12/11 10:31 |
新米 ![]() ![]() 登録日: 2016/11/13 居住地: 投稿: 4 |
Re: 11nのAP間でのスループットについて ipoten様
ご返信頂きありがとうございます. >ここで、AP-APを構成する無線ネットワークと、AP-STAを構成する無線ネットワークは、同じ無線リンクを共有しなければならないでしょうか。 >そうではない、つまり、AP-AP と AP-STA を別の無線ネットワークとして構成してよいのであれば、 >AP-APのネットワークはアドホックモードで置き換えることができるように思います。 ご提案頂きありがとうございます. 確かにAP-APが一対一の場合アドホックモードで置き換えることができるように思いました. ただ,今回の研究では無線メッシュネットワークを想定しており,最終的にはAPが複数APに送受信を行うことが考えられます. そのことを考えると,ipoten様が仰られているように,AP-AP間はあくまでもAccessPointとしての通信を想定したいと思っております. >>>AP-AP間の直接通信のシナリオにおいて AMPDU や AMSDU の設定が効かないということが、 >>>QualNetの実装として妥当なのかとか、802.11n standard はどうなっているのかとかまでは確認していません。 こちらに関して,参考になりそうな文献をみつけましたのでご共有致します. 次のページを参考にすると,少なくとも無線メッシュネットワークを想定する場合は,通常AP-AP間ではAMPDU,AMSDUが無効であることは妥当のように思えました. qualnetではAP-APの通信は無線メッシュネットワーク上のMP-MPを想定しているため,AMPDUなどのフレームアグリゲーションが効かないのかもしれません. (http://www.ekouhou.net/無線メッシュネットワークにおけるデータ送信方法及びA−MSDUフォーマット/disp-A,2011-503997.html) > シナリオを添付してみます。 添付頂きありがとうございます. 私の方でもスループットの変化を確認できました. ただ,ipoten様も仰られているように,帯域幅が2倍になったことを考えるとスループットの変化が小さいように思えます. そこで,phy_802.11n.cppでgetDataRate()で返している値を表示させるようにしたところ, >* ad-hoc_test_2node_ap2ap_woAMxDU :40MHzモードオフ では,6.5,39,52(Mbps)が伝送レートとして選択されており, >* ad-hoc_test_2node_ap2ap_woAMxDU_40MHz :40MHzモードオン でも同じく,6.5,39,52(Mbps)が選択されていました. phy_802.11n.cppのMCS_Paramsというテーブルからデータレートを引っ張ってきているようで,6.5,39,52という値はどれも20MHzのときに参照する値のようなのですが, (http://telec.org/feature/feature18.html) 40MHzでも同様の場所を参照してしまっているようです. これが40MHzでスループットがでない原因なのではないかと思うのですが,なぜ40MHZで20MHzのところを参照してしまうのかについては分かりませんでした. 私ではどの部分を改修するべきなのかを見つけることができるのか非常に怪しく思います. もしipoten様の方でもお調べ頂けると非常にありがたいです.. お手数をお掛け致しますが.また返信頂けると大変うれしく思います. 宜しくお願い致します |
ipoten | 投稿日時: 2016/12/13 15:15 |
一人前 ![]() ![]() 登録日: 2005/7/12 居住地: 投稿: 102 |
Re: 11nのAP間でのスループットについて >phy_802.11n.cppのMCS_Paramsというテーブルからデータレートを引っ張ってきている
>ようで,6.5,39,52という値はどれも20MHzのときに参照する値のようなのですが, >40MHzでも同様の場所を参照してしまっているようです. >これが40MHzでスループットがでない原因なのではないかと思うのですが,なぜ40MHZで >20MHzのところを参照してしまうのかについては分かりませんでした. QualNetの動作や実装を調べてみてわかったことを書いてみます。 (11n のスタンダードの確認はしていません。) 11n で 40MHz 帯域幅で通信を行う条件は、 自端末が 40MHz モードをサポートしている (PHY802.11-40MHz-SUPPORTED YES) ことと、 通信相手の端末が 40MHz モードをサポートしている (PHY802.11-40MHz-SUPPORTED YES) こと になります。 自分の通信相手が 40MHz をサポートしているかどうかは、MAC のマネージメントフレーム(Beacon, Associate, Probe, ...)に情報を載せてやり取りしているようです。 今回、AP-AP 間で直接通信しているわけですが、このスレッドの冒頭に述べたように、AP-AP 間の直接通信では、Beaconは受信せず、ほかの Association や Probe のやり取りの手順もなしで、直接データを流しているようです。 したがって、AP-AP 間の直接通信では通信相手が 40MHz をサポートしているかどうかを知る手段がなく、デフォルトの 20MHz で通信を行っているというのが、私の得た結論です。 ---- 上記の私の調査が正しいとして、yuki33 さんのこの後確認手順としては以下のようなものが考えられます。 ・上記の内容が、11n のスタンダードや、世の中の一般的な製品実装に沿ったものかを確認する。 ・スタンダードの通り、あるいはスタンダードの規定はなく実装依存の仕様である場合、かつAP-AP間の通信で40MHz帯域幅を使うという研究上の明確な意図がある場合は、yuki33 さんの方でQualNetを改造してAP-AP間の40MHz通信ができるようにする必要があります。 ・スタンダードと異なる、世の中の一般的な製品実装と異なるということであれば、なぜQualNetがこのような実装になっているのか、あるいはバグの可能性があるのではないかということをサポートに問い合わせることができると思います。 ---- 以下は、yuki33 さんの MCS_Params の引き方の疑問からソースコードを追った経緯です。 MCS_Params は、phy_802_11n.cpp の頭の方で静的なグローバル変数として設定されていて、 頭のインデックスで 0: 20MHz か 1: 40MHz かを参照するようになっています。 ソースコード内の複数の個所で、この MCS_Params を引く際に、MAC_PHY_TxRxVector::chBwdth - 1 を指定しているので、 この chBwdth がどのように設定されているのかを手繰ってみました。 【パラメータ設定】 mac_dot11_channelmanager.cpp / ChannelController::readCfgParamsFor40MHz() →パラメータ PHY802.11-40MHz-SUPPORTED の読み込みで、ChannelController::m_chBwdth と Phy802_11Manager::m_ChBwdth を CHBWDTH_40MHZ (2) に設定 【DATAフレーム送信時の帯域幅設定】 mac_dot11.cpp / MacDot11SetChnlBwdthForDataMgmtFrame() →ブロードキャストでなく、11n で、MacDataDot11::isVHTEnable でかつ DOT11_NeighborHtInfo::isFortyMhzIntolerant でない場合、MAC_PHY_TxRxVector::chBwdth を CHBWDTH_40MHZ (2) に設定 ※isVHTEnable は 11acの場合なのでおそらくここは関係ない →ブロードキャストでなく、11n で、MacDataDot11::isVHTEnable でなく、Phy802_11Manager::m_ChBwdth が CHBWDTH_40MHZ でかつ DOT11_NeighborHtInfo::isFortyMhzIntolerant でない場合、MAC_PHY_TxRxVector::chBwdth を CHBWDTH_40MHZ (2) に設定 ※AP-APの通信では、isFortyMhzIntolerant が常に TRUE になっている模様。そのため MAC_PHY_TxRxVector::chBwdth は CHBWDTH_40MHZ (2) に設定されない。★
【isFortyMhzIntolerant, fortyMhzIntolerent の設定】 mac_dot11.cpp / MacDot11nUpdNeighborHtInfo() →DOT11_NeighborHtInfo のコンストラクタで isFortyMhzIntolerant に TRUE が設定されている。 →更新される(MacDot11nUpdNeighborHtInfo()が呼ばれる)のは、以下のマネージメントフレームのやり取りの際なので、AP-AP間の通信では更新されないらしい。★ ・MacDot11eManagementBuildAssociateResponseFrame() ・MacDot11eManagementBuildReassociateResponseFrame() ・MacDot11ManagementProcessBeacon() ・MacDot11ManagementProcessProbeResponse() mac_dot11-ap.cpp / MacDot11AddHTCapability() →11n の場合、初期設定の Phy802_11Manager::m_ChBwdth が CHBWDTH_20MHZ でない場合に、struct_mac_dot11_HT_CapabilityInfo::fortyMhzIntolerent に FALSE が設定されている。 ---- なお、先に添付したシナリオを、AccessPoint ではなく元のアドホックモードで実行すると、40MHz をちゃんと使っているようです。 (phy_802.11n.cpp で getDataRate() の中で参照している、txRxVector.chBwdth をデバッグ出力して確認しました。) こちらもシナリオを添付してみます。 * ad-hoc_test_2node_woAMxDU :40MHzモードオフ * ad-hoc_test_2node_woAMxDU_40MHz :40MHzモードオン ![]() |
yuki33 | 投稿日時: 2016/12/29 17:18 |
新米 ![]() ![]() 登録日: 2016/11/13 居住地: 投稿: 4 |
Re: 11nのAP間でのスループットについて ipoten様、
ご返信頂きありがとうございます。 また、質問している身に関わらず返信が遅くなってしまい大変申し訳ございません。 >QualNetの動作や実装を調べてみてわかったことを書いてみます。 >(11n のスタンダードの確認はしていません。) ありがとうございます。 AP-APで40MHzが適応されない理由が分かりました。 >上記の私の調査が正しいとして、yuki33 さんのこの後確認手順としては以下のようなものが考えられます。 ありがとうございます。 頂いたご助言に従い、AP-AP通信について調べていたのですが、 メッシュネットワークに関する論文で、以前ipoten様からご助言頂いたように、MP-MPやMAP-MPなどをアドホックで接続し、AODVでルート選択し通信を行うといったメッシュネットワークを構築しているものがみつかりました。 教授にも相談したところ、私の研究のメッシュネットワークでも上記の構成で良いように思える、とのことでした。 一度ご助言頂いたときにはメッシュネットワークに関する知識が足りず、せっかくのご助言を無駄にしてしまい大変申し訳ございませんでした。 そこで、AP-APアドホックモードのネットワーク(11n 40MHz)とAP-STA(11n 20MHz)のネットワークでqualnetでメッシュネットワークを構築することを考え、configファイルなどの自動生成するプログラムなどを作成しておりました。 具体的にはAPをN*Nで格子状に配置し、アドホックモードで通信するネットワーク、各APごとにSTAとインフラモードで通信するネットワークで構築し、例えばN=4の時、添付のようになります。 (Node1はBS(CBRの送り先)、Node2-17はAP,Node18-33はSTA、STAをどのAPのサブネットに割り当てるかはランダムにしております) このネットワークでスループットを測定したところ、受信できているパケットの送り元が4つしかありませんでした。 N=1,2,3の時は送り元がSTAの数確認できたのですが、N>3になると、送り元のSTAの数が減ってしまう原因、お分かりになりますでしょうか? いろいろとご回答頂いたにも関わらず、また質問で申し訳ございません。 ご教授頂けると大変うれしく思います。 宜しくお願い致します。 ![]() |
ipoten | 投稿日時: 2017/1/12 16:45 |
一人前 ![]() ![]() 登録日: 2005/7/12 居住地: 投稿: 102 |
Re: 11nのAP間でのスループットについて 確認が遅くなりましたが、その後進展ありましたでしょうか?
STA->AP で1ホップ、 AP->AP で0〜数ホップ、 AP->BS で1ホップ とあり、見るべき個所が上記それぞれのネットワークで各レイヤにまたがるため解析は大変だと思いますが、これは地道に追っていくしかないです。 問題が起こるなるべく小さな構成で確認されることをお勧めします。 同じ構成でも、CBR の end-end を、STA->AP と AP->BS に分けてみるのもよいと思いますし、 CBR を特定の1本だけに絞り込んでみるのも手です。 状況から想像だけでいうと、 ・APやSTAが混み合うことによる伝搬状況の悪化 ・AP-AP 間のホップ数が増えることによる、中間リンクのボトルネック が考えられます。 statをざっと見てみて気づいた点を挙げてみます。参考まで。 STA 20, 22, 23, 28 : BS 1 の CBR Server で受信されている。 STA 20, 22 は AP 2 の配下。AP 2 は BS 1 に近く1ホップで届きそうなので、条件はよさそうに見える。 STA 23 は AP 8 の配下。AP 8 の配下にはほかに STA 19, 21 がいるがこれらは BS 1 には到達していないため、AP-STA 間の転送に問題がありそう。 STA 19 : MAC で authentication のやり取りがドロップしている。 APからのBeaconの受信数も他より少ない。 PHYでエラーが頻発しているようなので、位置的に受信品質が悪いと思われる。 STA 21 : こちらは MAC レベルの接続はできているようだが、やはり PHY のエラーが多く STA<->AP(8) 間の品質が問題のように見える。 ・・・ やはりノードが多すぎて詳細原因に到達するのは大変ですね。。 ![]() |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |