ユビキタスネットワーク 其の四 20171030
チャネルについて
簡単に言えば、テレビのチャンネルのようなもの。これが各帯域に存在する。どのチャネルを使うかはAPが決定する。
2.5Gz帯の場合
チャネル幅は20MHzで5MHz間隔で配置されている。つまり、4つのチャネルが重複してしまっている。したがって、CSMA/CAを使う必要がある。
5.0GHz帯の場合
1チャネル20MHz。重複しないように配置されている。
フレームの種類とフォーマット
ACK,DIFS,SIFSなどの情報をやり取りしなくてはならないため、無線LANのフレームはEthernetに比べて複雑になっている(Ethernetはデータだけ送ればOKだった)。
フレーム制御
最初の2バイトはフレーム制御といい、このフレームがどのような性質を持っているのかを情報として持っている。フレームのタイプには
- 管理フレーム
- 制御フレーム
- データフレーム
の3種類ある。
また、フラグには
- ToDS*1:DSへ送る情報だったら1が立つ
- FromDS:DSから送られた情報だったら1が立つ
- Retry:再送したら1が立つ
- WEP:暗号化したら1が立つ
などの種類がある(ほかにもあるけど、押さえておくのはこれ)。
アドレスフィールド
宛先や送信元のMACアドレスが入っている。合計で4つ存在しているが、どれを使うかはフレームタイプによって異なる。
シーケンス制御フィールド
ここにはフレームの制御番号(通し番号、id)が入っている。現在の通信では、データをまとめて送ってブロックACKを返しているため、データの区別が必要になる。そのため、このシーケンスは必須となっている。このシーケンスによる制御をシーケンスControlと呼ぶ。
ここまでは、無線通信におけるフレームの大まかな構造について。ここからは、フレーム制御で指定される3つのフレームタイプについて書いていきます。データフレーム・制御フレーム・管理フレームの3つです。
データフレーム
フレーム制御で指定されるタイプの値が'01'。
ToDSフラグ、FromDSフラグでデータの方向を指定している。ここからはToDSとFromDSのビットを(ToDS , FromDS)と表すものとする。
- (0 , 0):アドホック通信。APを介さない。
- (0 , 1):APからSTAへの通信
- (1 , 0):STAからAPへの通信
- (1 , 1):DSが無線LANで構築されている Wireless DS による通信
この組み合わせによって、アドレスフィールドに入るアドレスにも変化が出る。基本的に、Address 1 は宛先、 Address 2 は送信元、 Address 3 は真の宛先または送信元、 Address 4 は真の送信元という分類になっている。ここからはアドレス1からアドレス4までの組み合わせを(Address 1 , Address 2 , Address 3 , Address 4)とする。また、Destination Address 、 Source Address 、 Receiver Address 、 Transmitter Address をそれぞれDA 、 SA 、 RA 、 TA と省略する。
- (DA , SA , BSSID , 無し)
- (DA , BSSID , SA , 無し)
- (BSSID , SA , DA , 無し)
- (RA , TA , DA , SA)
…といっても難しいので、ひとつずつ書いていこうと思う。
APからSTAへの通信(上記 2. )
Address 1 は宛先STAのMACアドレス。 Address 2 は通信を経由するAPのMACアドレス。 Address 3 はこの通信の真の送り主であるサーバーのMACアドレス。
管理フレーム
無線LANに接続するときの手順を実現している。フレーム制御で指定されるフレームタイプの値が'00'。
Beaconフレーム
これは、STAがAPを認識するための手順。
APが自分の情報を100msごとに広告している。しかし、STAはチャネルごとにBeaconを検知しなければならず、STAがAPを認識するためには、
- APがあるチャネルでSTAがBeaconを待つタイミング
- APがBeaconを送信するタイミング
この二つがぴったり重ならなければならない。
これではめんどくさいので、STAからAPの情報を要求できるシステムになっている。
- STAがProbe Request をブロードキャスト(各チャネルを網羅する)
- APがProbe Response に自らのAP情報を載せて送信する
このような手順を踏み、STAはProbe Response フレームを確認してAPを検出することができる。
Authentication
AP情報を受け取ったSTAは、そのAPが本当にいいものなのかを確認しなければならない。そこで、AuthenticationフレームをSTAとAPで交換して確認を取る。この方法には
- 全てのアクセスを承認するOpen System
- WEP暗号カギを用いて確認するShared Key
の2種類ある。
Association
認証が終了したSTAとAPの間でアソシエーションを作る必要がある。これには、初回アクセスと再アクセスでフレームのやり取りが若干違う。
- 初回アクセス:Association Request / Response フレーム
- 再アクセス:Re-association Request / Response フレーム
このフレームのやり取りによって、APは接続されているSTAのMACアドレスを手に入れることができる。
PLCP
Ethernetのプリアンブルみたいなもの。ただ、無線LANでは状況によって伝送速度が変わるため、どこかに基準を作らなければならない。
PLCPは「プリアンブル+無線LANフレームの性質」。これを受信するわけだが、この時の伝送速度は一律1Mbpsになっている。基準を作ることによって、状況に依存することなくPLCPを送ることができる。
このPLCPが前にくっつくため、無線LAN本来の約7割ほどに伝送速度は落ちてしまう。
*1:DSとは Distribution System の略。アクセスポイント同士のネットワークと考えておけばいい。