- ベストアンサー
CSMA/CAの有効性について
- CSMA/CAは無線通信において重要なメカニズムで、データ送出前にチャネル帯に電波が出ていないか確認し、出ていた場合は待機する仕組みです。
- CSMA/CAは無線LANだけでなく、電子レンジやコードレス電話など他の電波も含めて考慮するよう設計されています。
- CSMA/CAのメカニズムは一般的に有効とされていますが、混在環境や特定の状況によって無効になる場合もあります。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
IEEE-SA -IEEE Get 802 Program - 802.11: Wireless LANs http://standards.ieee.org/about/get/802/802.11.html IEEE802.11規格を見ると 「19.7 DSSS-OFDM operation specifications」には、 CCA と SIFS の機能が確実に働くようになると書かれているようです。 SIFSについては、ヘッダに長さの情報が入っているので それを元に待機時間を適切に決定できると言うことかと思います。 以下のページに書かれているようにSIFS期間に割り込んでしまうと、 ACKがつぶされてしまいます。 無線LAN - CSMA/CAとは http://www.infraexpert.com/study/wireless6.html (例えば、電波状況が変わって、ヘッダは受信できたが 後続のデータ部分は観測できない状況があったりすると、 ヘッダを解釈できないと判断を誤ることもあるかもしれません。) それからCCAについてですが、調べてみると ・Wi-Fi信号のみを検出するCS/CCAモード ・信号フォーマットに関わらず電波の平均受信強度を検出するCCA-ED(Energy Detect)モード の2種類があるようで、後者についてはオプションであるため実装されていないこともあるようです。 前者のモードだけだと、知らない信号形式は検出できないですね。 2015年1月から変わる欧州の「R&TTE」指令に無線製品をどう対応させるのか? | マイナビニュース http://news.mynavi.jp/articles/2014/09/24/silex_wirelesslan/ ↑にCCAに触れている記述有り。
その他の回答 (3)
- Gotthold
- ベストアンサー率47% (396/832)
> いただいた情報から自分の質問(疑問)に関して > 強引に当てはめてみました。 まあ推測としてならそんなところでしょうか。 その辺りの記事がどこまでそのことを正確に理解した上で 書かれているかは怪しい気もしますが。 実際の実装については、 無線LAN機器開発の関係者に聞けると良いのでしょうけどね。 (スペックシートをよく見れば書いてあるかもしれませんが。)
補足
いろいろありがとうございました。 > まあ推測としてならそんなところでしょうか。 ノイズがあってもお構いなしにフレーム送信するタイプのAPや 端末なら見せかけのスループットが向上しそうなのでユーザーには 性能の良い製品と映るのやもしれません。 フレーム再送率も高そうですが、ノイズがあれば大人しく待機する 控えめな端末よりも送信権を獲得しやすそうですから。 ※その分控えめな端末が割を食うんでしょうけれど… > 無線LAN機器開発の関係者に聞けると良いのでしょうけどね。 > (スペックシートをよく見れば書いてあるかもしれませんが。) はい。 結局、メーカー技術者の必須やオプション機能の解釈違いによる "相性"とかに行きついてしまい、我々エンドユーザーの自己防衛 には製品の仕様書や機器の設定メニューだけが頼りとなります。 例えば… CSMA/CAにて使用するフレーム受信完了を示すANKフレームだけでなく 個々の端末のスループットは低下するが全体のスループットを改善 させる(はず)のRTS&CTS方式もあるようですがてっきりユーザーが APに対してどちらのモードを使用するのか明確に設定するものだと 思ってました。 ※この知識自体が古く現状では全くお門違いなのかもしれません 自分の持っているWN-AG450GDRにはそのような設定項目はありません。 憶測ですが、どちらかの方式だけを採用している訳ではなくチップが 現在の子機や電波状況から判断してANK方式にするのかRTS&CTS方式 にするのか刻一刻と自動判断して最適に切り替えているために パラメータ設定をあえて開放していないのではと思ってます。 (思いたい…性善説) メーカーさんのポリシーもあるとは思いますが自分のような人間には ・ANK方式固定 ・RTS&CTS固定 ・自動認識(デフォルト) とちゃんと選定メニューでどれにするのか開放してほしいです。
- Gotthold
- ベストアンサー率47% (396/832)
> このとおりだとするとCCA-EDモードの方が必須(というかベース?) > でCS/CCAモードがオプション(更にくわしく調べると言う意味です) > のような感じとなり矛盾しているような気もします。 ネットワークレイヤを考えると、 電波強度を検知できるのは物理層ですが、 CSMA/CAの制御を行うのはMAC層です。 MAC層の仕事を考えると、MAC層で必要な情報は フレームデータ等であって 電波強度などの情報は基本的には不要です。 しかし、CCA-EDに対応しようとすると MAC層でも電波強度の情報が必要になるので、 PHY-SAP(物理層-MAC層間インターフェース)でその情報をやりとりする必要があります。 (さらにMAC層内にその情報を処理するための仕組みの追加が必要。) 具体的にこの情報に該当するのは、おそらく PHY-CCA.indicationのIPI-REPORTパラメータでしょう。 (このパラメータはオプション) IEEE802.11規格のIPIの説明は以下の通りです。 | idle power indicator (IPI): | A physical layer (PHY) indication | of the total channel power (noise and interference) | as measured in the channel at the receiving antenna connector | while the station (STA) is idle, | i.e., neither transmitting nor receiving a frame →無線局がIDLEの時の総チャネル受信電力(ノイズや干渉)。ここでIDLEというのは送受信をしてないと言うこと。 なお、PHY-CCA.indicationのSTATUSパラメータという IDLEステータス or BUSYステータスを返すパラメータもありますが、 こちらはおそらく CS/CCAモード に使うのだと思います。 ※おそらくと何度も書いてあるとおり、私は規格を斜め読みしかしていません。 確実な情報が必要なら規格を確認してください。 > ・使用チャネル帯に電波が存在しているかしていないか > がまず調査…CCA-EDモード搭載端末はここで判断終了 > > ・電波が存在していたらWi-Fi信号がどうか更に調べる > …CS/CCAモード端末はここで判断 > > の調査順序 IDLE or BUSYを判断材料に使用するCS/CCAモード用回路、 受信強度を判断材料に使用するCCA-EDモード用回路、 があると考える方が近い気がします。 また、「電波が存在しているかいないか」と書かれていますが、 正確には受信強度の測定が必要です。 CCA-EDでは ◯◯dBm 以上の電波強度ならチャネルが 占有されていると判断する必要があるからです。 Wi-Fi電波があるかどうかだけで良いなら、電波強度の測定は無くてもできそうですね。 (とにかく受信にトライしてみて成功したらWi-Fi電波がある。)
補足
重ねてありがとうございます > Gottholdさん すません、もう少しお付き合いください。 いただいた情報から自分の質問(疑問)に関して強引に当てはめて みました。 http://www.silex.jp/blog/wireless/2013/12/post-8.html ・11bは 11g のプリアンブルを解釈できず11g 送信中にもお構いなし に送信を開始…(抜粋) こちらはWiFi信号(フォーマットを解釈できる)のみを検出するCS/CCA 回路だけが搭載されている端末での話。 受信にトライしてみて成功したらWi-Fi電波がある…ことだけが検知 可能であり、その際はデータ送信を待機する。 検知できない場合の原因がWi-Fi電波自体が無いのかノイズまみれで 検知できないのかは特定せず一律にデータ送信準備する。 11b端末において検知できない原因が11gのデータだった場合 11b端末はWi-Fi電波を検知できないため、電波が流れていないと判断 してデータ出力してしまう。 ※この仕様だと他製品の電波(本当のノイズ)であっても常にデータ ※出力してしまうことになるため自分がどこか誤解しているのでは ※と思います… ※CS/CCA回路だけが搭載されている端末におけるCSMA/CAでのCA(回避) ※とはWiFi信号に対しては回避するがノイズに対しては結果的に果敢 ※に立ち向かうものなのでしょうか? 対する http://wnyan.jp/2353 ・Bluetoothでもコードレス電話でも、なんなら電子レンジが発射元 でもとにかく「使おうと思っている周波数帯で一定以上の電力が 飛んでいたら」送信取りやめ(抜粋) こちらはCS/CCA回路だけでなくCCA-ED回路も搭載されている端末での 話。この回路が11b端末に搭載されていればDSSS-OFDMに頼らなくとも 11g端末迷惑かけずに済む(はず)。 自分はこれがデフォルトだと思い込んでましたがオプション機能な ため個人向け製品での採用率は低くそう…つまり民生品レベルでは ・CSMA/CAはノイズ(11bにとっての11gフレームも含む)に対しては 行っていないに等しい という感じに理解しました。
- Gotthold
- ベストアンサー率47% (396/832)
> つまり認識できない電波だとデータ送出開始するのではなく > 電子レンジがチンするまで端末は大人しく延々と待機するの > ですよね? 概ねその通りですが、 電子レンジが発する電波は常に出ているわけではなく ONとOFFを繰り返すようなパターンなので OFFの隙間で送信が可能です。 (よく見たら、質問者さんのリンク先にも書いてましたね。) > CSMA/CAは無効と記載されてます。 > 11b/11gという混在環境故の事情があるのかもしれませんがどうも > 腑に落ちません。 IEEE802.11gには、送信開始時にIEEE802.11bにも理解できるような プリアンブルを送出するDSSS-OFDMという機能があります。 ただ、調べてみるとこれがこれが実装されている製品は そう多くないとの記載も見つかりました。 以下のページの「DSSS-OFDM」の所を読んでみてください。 WiFiの盲腸のはなし|Wireless・のおと|サイレックス・テクノロジー株式会社 http://www.silex.jp/blog/wireless/2013/12/post-8.html
補足
情報ありがとうございます > Gottholdさん http://www.silex.jp/blog/wireless/2013/12/post-8.html ここで記載されてます ・802.11b と g の機器が混在した場合、11g は 11b のプリアンブルを受信 して「道を譲る」ことができますが、11b は 11g のプリアンブルを解釈 できず11g 送信中にもお構いなしに送信を開始(抜粋) …が理解できないためもがいております。 CSMA/CAのCS部分がちゃんと機能していない…に一票なんですよね。 11b端末にとっては電子レンジと11g端末の電波は同レベルのノイズ源 であり11b端末がキャリアセンスした際に ・プリアンブルが理解できないけど使用チャネル帯に誰かからノイズが 出てるっぽいのでとりあえずランダム時間のバックオフを設定して 待機しよう となり、CSMA/CAはちゃんと有効に働いているのではないかと思ってます。 ランダム時間の待機期間が終了してもすぐに送信開始するのではなく 再キャリアセンスして本当に電波が出てないか再確認して…を繰り返す のではないかと… 11b端末同士とかのプリアンブルが理解できる間柄であれば ・プリアンブル(の中の PLCP ヘッダ部分)に「今から何マイクロ秒間 送信しますよ」という情報が入っているので、ランダムではない適正 なバックオフ時間が設定(抜粋) …できるだけなのではないのでしょうか? 自分が根本的に誤認しているっぽいので恐縮なのですが… もし補足いただければ幸いです。
補足
お手数をお掛けしてすいません > Gottholdさん >それからCCAについてですが、調べてみると > ・Wi-Fi信号のみを検出するCS/CCAモード > ・信号フォーマットに関わらず電波の平均受信強度を検出するCCA-ED(Energy Detect)モード > の2種類があるようで、後者についてはオプションであるため実装されていないこともあるようです。 > 前者のモードだけだと、知らない信号形式は検出できないですね。 無線LANのCSMA/CAにおけるキャリアセンスはてっきり後者の モードだけだと思い込み今回質問しておりました。(汗) 加えてCS/CCAモードというものが実は必須なんですね… 端末がキャリアセンス開始すると ・使用チャネル帯に電波が存在しているかしていないか がまず調査…CCA-EDモード搭載端末はここで判断終了 ・電波が存在していたらWi-Fi信号がどうか更に調べる …CS/CCAモード端末はここで判断 の調査順序だとするとCS/CCAモード端末は電子レンジ等の 非Wi-Fi信号だと、なにか電波が存在していると認識して いるにもかかわらずデータ送信を強行してしまうということ なんでしょうか… このとおりだとするとCCA-EDモードの方が必須(というかベース?) でCS/CCAモードがオプション(更にくわしく調べると言う意味です) のような感じとなり矛盾しているような気もします。 それともまったく逆で無線LAN端末において 使用チャネル帯にWi-Fi信号が存在しているのかを調べることは 朝飯前(つまりCS/CCAモードが必須)だが、電波(電子レンジの ノイズも含む)が存在しているかどうかを調べることはコスト がかかるためCCA-EDモードはオプションとなる… 重ねてのお願いとなりますが補足いただければ幸いです。