keyboard samurai ZERO COOL

 

  1. ホーム
  2. IT技術及びツール紹介
  3. ネットワーク(無線LAN)2

ネットワーク(無線LAN)

無線LANや関係する周辺技術を徹底解剖し解説

進化し続ける無線ネットワーク技術を理解し使いこなしプライベートやパブリックなあらゆる環境やシチュエーションで活用し、ライフスタイルに取り入れよう。

 |  1 |  2 |  3 |  4 |  5 |  6 |  7 |  8 |  9 | 

無線LANがつながる仕組み [part2]
--  複数の子機(無線クライアント)混在環境にて、どのように  --

次に接続を許可して良いかどうかの判断を行います。

この判断を事前にお互いが設定していた認証方式を使って認証を行います。

この認証のやり取りを「Authentication(オーセンティケーション)」と呼びます。

お互いに“ 認証パケット”で認証を行っており、オープンシステム認証シェアードキー認証の2種類があります。

認証を行い、正しいクライアントだと判断されると、クライアントからアクセスポイントに接続要求を行います。

この要求を「Association Request(アソシエーション要求)」と呼びます。

この要求に対してアクセスポイントが許可を応答すると、ここで接続が完了し通信を行うことが可能になります。

この応答を「Association Response(アソシエーション応答)」と呼びます。

上記手順に基づき、接続が完了し通信を行う準備が整ったら、

 

次に暗号化したIEEE802.11フレームを、電波に乗せて伝送をします。

WEP or TKIP or CCMP による暗号化を行い伝送されます。

アクセスポイント(AP)からEthernetへデータを送信する際には、
アクセスポイント(AP)でIEEE802.11フレームをEthernetフレームに変換し伝送する。

※1 この2種類の認証はIEEE802.11における内容であり、
        当然ながら例えばIEEE802.11i には当てはまる内容ではありません。

 

どのような認証方式、暗号化方式であったとしても、

無線LAN接続における基本的なフローは上記の通りです。

使用チャネル、変調方式、ESSIDの相互確認がとれた後、

[ 認証 → アソシエーション → データのやりとり ]

 という基本的なフローをまず理解・暗記し、それぞれの詳細な認証方式、暗号化方式のフローを理解しましょう。

※ WPAやWPA2などのセキュリティ規格を使用する場合、アソシエーションの後に暗号化を行うための鍵の生成プロセスが開始されます。

 

無線LANにつながったら、次はデータを送出します。
(有線のイーサネットとは違うヘッダーをフレームに付けます。)

・ クライアントが1台だけの場合
(MACヘッダー、アクセスポイントのMACを格納するフィールド、物理層ヘッダー差替)

データをMAC(マック)フレームに乗せて送り出します。このフレームに付けるヘッダーは、実はイーサネットのものとは違います。

まず、MACヘッダーから見てみます。

イーサネットの場合、MACヘッダーに、あて先と送信元の二つのMACアドレスを格納しますが、無線LANで使うMACヘッダーにはさらに、「アクセスポイントのMACアドレスを格納するフィールド」が用意されています。

さらに、無線LANで送るデータには、イーサネットにはない「物理層ヘッダー」と呼ぶ情報を付けられています。

この部分に、ESS-IDや、通信速度を示す情報などを入れます。

有線と違い、無線では距離やノイズによって電波の状況が大きく変わります。

そのため、通信速度を常に変えることで最適な状態で通信するようにしなければなりません。

こうした通信速度などの情報を相手に伝えるために、物理層ヘッダーを利用しています。

こうしてフレームを作り上げたら、それをアナログ信号に変換し、電波に変えて、アンテナから送信されます。

送り出された電波は、アクセス・ポイントが受信します。

アクセス・ポイントは物理層ヘッダーとMACヘッダーを調べます。

そして、無線LANのMACフレームのデータ部分を、イーサネットのMACフレームに乗せ替えて、有線LANに送り出します。

こうして、クライアントが無線LAN経由で送ったデータは、有線LANの端末に届くことなります。

・ クライアントが複数台の場合
(MACヘッダー、アクセスポイントのMACを格納するフィールド、物理層ヘッダー差替
すると共に、衝突しないように回避することを考慮します)

これまでは、説明を簡単にするために、クライアントが1台だけの場合を見てきました。

しかし実際には、複数のクライアントが1台のアクセス・ポイントを共用するケースが多いわけです。

アクセス・ポイントは通信時に1種類の周波数の電波しか使わないため、1台ずつクライアントと通信することになります。

では、どのように通信するクライアントを決めているのでしょうか。

複数の端末から1台の通信相手を決める方法を「アクセス制御」と呼びます。

これは、ケーブルや電波といった一つの伝送媒体を複数の端末で共用する技術です。

無線LANでは、「CSMA/CA」と呼ぶアクセス制御方式を採用しています。

これは、通信したいクライアントが、だれも通信していないことを確認してから、通信を始める方式であす。

これで衝突を回避し、電波が混ざり合うことを避けているのです。

だれも電波を出していないことを確認してフレーム送信、無線では、イーサネットのような有線とは違い、複数の端末が同時にフレームを送信して干渉しても、それを検知することができません。

そこで、だれも電波を発信していないことを確認してから、ランダム時間待ってフレーム・データを送信する「CSMA/CA」(carrier sense multiple access with collision avoidance)と呼ぶ方法を採用し、フレームの衝突を防いでいるのです。

また、フレームを受け取ったアクセス・ポイントは送信元のクライアントにACKを返信するようにして、データの信頼性を高めています。

さらに無線LANは、もうひと工夫しています。アクセス・ポイントはクライアントからフレームを受け取ったら、かならず確認応答(ACK)を返信するのです。

こうすることで、さらに信頼性を高めています。

理解を進めるために、ここまでは子機と親機の1対1の通信シーケンスをベースに解説してきました。

しかし、実際の利用ケースでは、複数の子機が混在した環境で通信することが多々あります。

次のページでは、この伝送方式に関して説明します。

ここでは、複数の無線LAN端末が混在した環境の中で、どのような手続きで通信シーケンスが進んでいくのか解説します。

伝送媒体へのアクセス制御には、イーサネットのように送信を待ち合わせる仕組みキャリアセンス多重アクセス(Carrier Sense Multiple Access : CSMA) を使います。

初期のEthernet(有線)で使われていたものは「CSMA/CD」ですが、

初期の無線LANの規格 IEEE802.11

(IEEEにより策定された無線LAN関連規格の一つ) は、

以前のIEEE 802(IEEE標準規格のうち、ローカル・エリア・ネットワークなどの規格を定めたもの)標準から革命的に変化したものではなく、

イーサネットスタイルのネットワークを無線にうまく適用したものです。

しかし、無線において衝突は貴重な資源を無駄にするので、イーサネットで使われている衝突検出 (CSMA with Collision Detection : CSMA/CD)ではなく

衝突回避(CSMA with Collision Avoidance : CSMA/CA)を使います。

Carrier Sense Multiple Access with Collision Avoidanceとなります。

有線での利用例には,米アップル・コンピュータの「AppleTalk」があります。

 

CSMA/CD (CSMA with Collision Detection): 衝突検出

 

CSMA/CA(CSMA with Collision Avoidance):   衝突回避

 

CSMAについてはCSMA/CDと同様に、通信開始前に伝送媒体上(無線LANでは電波) に、現在通信をしているホストがいないかどうかを確認するというCarrier Sence ( CS )、複数のホストが同じ伝送媒体を共有して、他のホストが通信していない場合は通信を開始するというMultiple Access ( MA )、のCSMAです。

そして、Carrier Sence によって通信できる状態と判明してもCSMA/CAの場合、さらにランダムな時間だけ待機してからデータを送信する。

WLANではフレーム衝突を検出できないため、この手法により衝突を回避 (Collision Avoidance) しているのです。

無線LANのチャネル(監視しても距離によって電波の強度が大きく減衰するため、衝突を検知することがわからない、共有している同じ回線/電波)では、お互いに送信を待ち合わせないとパケットが衝突して効率的な通信が成り立たちません。

ここで、一度、CSMAのシーケンスをおさらいしましょう。

 

子機は通信を開始する前に、一度受信を試みることで
   現在通信をしているホストが他にあるかどうか確認します。
   [搬送波感知(CarrierSense) ]

 

複数の子機は同じ回線を共用し、
   他の子機が通信をしていなければ自分の通信を開始します。
   [多重アクセス(MultipleAccess) ]

 

ここでより理解を深める為に、CSMA/CDとCSMA/CAの違いを見てみましょう。

Ethernetでは、送信する前にケーブルの電圧を監視することで衝突を検知します。

電圧が送信信号の電圧以上に上昇すれば、他端末の送信が被さっていると判断でき(衝突)、即時に送信を中断できます。

これが「CD(Collision Detect、衝突検知)」と呼ばれる理由です。

しかし無線の場合、電波の強度を監視しても衝突はわかりません。

電波は距離によって大きく減衰するため、衝突を引き起こす相手が遠くにいるとその電波を検知できない可能性があるからです。

無線LANの通信は基本的に半二重通信ですが、送信と受信を同時に行なえる無線ユニットもあります。

しかし、高価なものになってしまいます。

そこで送信前に必ず、「待ち時間(DIFS、Distributedaccess Inter Frame Space)」を設け、ほかに送信信号がないことを確認してから送信する形をとります。

このことから「CA(Collision Avoidance、衝突回避)」の名称となりました。

送信後は必ず「ACK(ACKnowledgement、到着確認応答)」を待ち、ACKが戻らない場合は衝突などが起きたと判断して再送信を行ないます。

ただし、これらの待ち時間は無視できないオーバーヘッドであり、無線LANの実行速度が仕様の半分程度に留まる原因になっています。

送信前に必ず待ち時間が入るため、オーバーヘッドが生じる訳です。

 

搬送波感知の段階で通信中のホストが存在した場合、
   通信終了と同時に送信を試みると衝突する可能性が高い。
   そのため、他のホストの送信終了を検知した場合は
   自分が送信を開始する前にランダムな長さの待ち時間をとる。
   なお、永久に送信できない事態を防ぐため、
   この待ち時間は徐々に短くされてゆく。
   [衝突回避(CollisionAvoidance)]

 

ACKやCTS、データフレームの送信前にもキャリアセンスの待ち時間がありますが、これは「SIFS(Short Inter Frame Space)」と呼ばれ、DIFSよりも短く待ち時間としては一番短いものです。

待ち時間が短いフレームほど、他のフレームより先に送信開始できる可能性が高く、高い優先度で送信されます。

ACKはデータフレームと、CTSはRTSと、CTSに続くデータフレームはCTSと一体になった送信であり、他のフレームに割り込まれては困るためです。

DIFSやSIFSの時間は、11aや11gなどの規格ごとに異なりますが、同じ規格内であればデータ送信速度に依存せず、つねに同じです。

待ち時間が短いほど高優先度で送信できるという考え方は11eで策定された「QoS (EDCA、EnhancedDistributed Channel Access)」にも使われています。

CSMA/CAは、「Carrier Sense Multiple Access with Collision Avoidance」の略で、搬送波感知多重アクセス/衝突回避方式とも呼ばれます。

無線LANの規格であるIEEE802.11a、IEEE802.11b、IEEE802.11g、 IEEE802.11nで採用されています。

CSMA/CAは、IEEE 802.3(Ethernet)で採用されているCSMA/CD方式に類似したプロトコルです。

名前だけ見ると最後の一文字が、「D」と「A」が違うだけです。

CSMA/CD方式では、衝突を検出(Collision Detection)しますが、CSMA/CAでは、衝突を回避(Collision Avoidance)します。

それでは、CSMA/CAの仕組みを簡単に説明してゆきます。

CSMA/CDと同様に、通信を開始する前に無線LANでは電波に、現在通信をしているホストがいないかどうかを確認します。

これが「Carrier Sence」です。

複数のホストが同じ伝送媒体(無線)を共有し、現在、他のホストが通信を行っていない場合に通信を開始します。

これが「Multiple Access」です。

「Carrier Sence」によって、通信できる状態と判断できても、CSMA/CAの場合、ランダムな時間を待機してからデータを送信するようになっています。

ここが、CSMA/CDとの違いです。

CSMA/CDであれば、伝送媒体(有線)に送信した信号が、他の信号と衝突すると影響を受けるので、データの衝突(Collision)を検出することができます。

しかし、無線LANでは、送信される信号が非常に弱いので、衝突の検出を行うことが困難です。

信頼できる衝突を検出する手段がないので、データ送信の衝突確率を小さくする為に、ランダムな待ち時間(バックオフ時間)を各ホストが待機してからデータを送信するようになっています。

電波上で、信号が流れていないと判断するとランダムな時間を待ち、データの伝送を開始します。

そして、アクセスポイントからホストにACKが送信されます。

このACKを受け取るとランダムな時間を待機し、データを伝送します。

無線では、フレームの衝突を検出できない為、このようにして、衝突を回避 (Carrier Avoidance) しています。

回避アルゴリズムにはいくつか種類があり、「CSMA/CA with Ack」や「CSMA/CA with RTS/CTS」などがあります。

A、B、C、の3台のホストにおいて、A ⇔ B と A ⇔ Cが通信でき、B ⇔ C が通信できない場合はBとCが同時にAに対して送信を試みてどちらも失敗する可能性がある。

これを「隠れホスト」と呼ぶ。

IEEE 802.11においては、RTS/CTSを用いることで隠れホスト問題を解決しています。

次のページではこの「隠れホスト」「隠れ端末」の問題について触れていきます。

 

    スポンサーリンク