マエカワの備忘録的な何か

思い立ったが吉日

ユビキタスネットワーク 其の四 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が立つ

などの種類がある(ほかにもあるけど、押さえておくのはこれ)。

デュレーションフィールド

 次の2バイトはデュレーションフィールドという。ここには、NAVの時間がマイクロ秒単位で入っている。NAVについては、前回の講義ノートを参照。

アドレスフィールド

 宛先や送信元のMACアドレスが入っている。合計で4つ存在しているが、どれを使うかはフレームタイプによって異なる

シーケンス制御フィールド

 ここにはフレームの制御番号(通し番号、id)が入っている。現在の通信では、データをまとめて送ってブロックACKを返しているため、データの区別が必要になる。そのため、このシーケンスは必須となっている。このシーケンスによる制御をシーケンスControlと呼ぶ。

 ここまでは、無線通信におけるフレームの大まかな構造について。ここからは、フレーム制御で指定される3つのフレームタイプについて書いていきます。データフレーム・制御フレーム・管理フレームの3つです。

データフレーム

 フレーム制御で指定されるタイプの値が'01'。
 ToDSフラグ、FromDSフラグでデータの方向を指定している。ここからはToDSとFromDSのビットを(ToDS , FromDS)と表すものとする。

  1. (0 , 0):アドホック通信。APを介さない。
  2. (0 , 1):APからSTAへの通信
  3. (1 , 0):STAからAPへの通信
  4. (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 と省略する。

  1. (DA , SA , BSSID , 無し)
  2. (DA , BSSID , SA , 無し)
  3. (BSSID , SA , DA , 無し)
  4. (RA , TA , DA , SA)

…といっても難しいので、ひとつずつ書いていこうと思う。

アドホック通信(上記 1. )

 Address 1 は宛先STAのMACアドレス。 Address 2 は送信元のMACアドレス。 Address 3 はこの通信を経由するAPのMACアドレス

APからSTAへの通信(上記 2. )

 Address 1 は宛先STAのMACアドレス。 Address 2 は通信を経由するAPのMACアドレス。 Address 3 はこの通信の真の送り主であるサーバーのMACアドレス

STAからAPへの通信(上記 3. )

 Address 1 は宛先APのMACアドレス。 Address 2 は送信元であるSTAのMACアドレス。 Address 3 はこの通信の真の送り先であるサーバーのMACアドレス

Wireless DS による通信(上記 4. )

 Address 1 は通信を経由する宛先側APのMACアドレス。 Address 2 は通信を経由する送信元側のAPのMACアドレス。 Address 3 はこの通信の真の送り先であるSTAのMACアドレス。 Address 4 はこの通信の真の送り主であるSTAのMACアドレス

制御フレーム

 データ制御に関する機能を提供している。フレーム制御で指定されるフレームタイプの値が'10'。
 RTSCTS・ACKフレームなどの情報が入っている

管理フレーム

 無線LANに接続するときの手順を実現している。フレーム制御で指定されるフレームタイプの値が'00'。

Beaconフレーム

 これは、STAがAPを認識するための手順。
 APが自分の情報を100msごとに広告している。しかし、STAはチャネルごとにBeaconを検知しなければならず、STAがAPを認識するためには、

  • APがあるチャネルでSTAがBeaconを待つタイミング
  • APがBeaconを送信するタイミング

この二つがぴったり重ならなければならない。
 これではめんどくさいので、STAからAPの情報を要求できるシステムになっている。

  1. STAがProbe Request をブロードキャスト(各チャネルを網羅する)
  2. 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 の略。アクセスポイント同士のネットワークと考えておけばいい。