このドキュメントは http://edu.net.c.dendai.ac.jp/ 上で公開されています。
IEEE 802.11 委員会では物理層として赤外線、電波を使用する LAN の規格の 標準化が行われています。 そこで提案されたのが IEEE 802.11a, b, g です。
802.11a | 802.11b | 802.11g | |
---|---|---|---|
使用周波数 | 5GHz | 2.4GHz(電子レンジなどと同じ) | |
通信速度 | 54Mbps | 11Mbps | 54Mbps |
伝送方式 | OFDM | HR/DSSS | OFDM |
業界団体 WECA(ワイヤレス・イーサネット・コンパティビリティ・アライアン ス) は IEEE802.11 で相互に互換性を保証するブランドとして WIFI(Wireless Fidelity) という名前を使ってます。
Ethernet の CSMA/CD 方式では LAN のサイズがあらかじめ決まっているので、 チャネルが空いているかどうかはチャネルを受信すればわかります。 また、宛先にパケットが到達したことは送信後一定時間混信がなければ判定で きます。 しかし無線 LAN では隠れ局問題と露出局問題という 問題があり、チャネルの空きを判定するのが困難です。
C から B へデータを送信していても、 C の電波は A に届かないため、 A は B に送信可能だと考える。 しかし、A から B には送信できない。
C から D へデータを送信している間、 C の電波は B に届くため、B はチャ ネルは塞がっていると考える。 実際は B から A へデータを送ることができる。
無線 LAN には DCF と PCF の二種類の送信方式があります。 DCF(Distributed Coodination Function 分散制御機構)は各ホストが相互に通 信を制御する方式でアドホックネットワークとも言われます。 一方 PCF(Point Coodination Function 集中制御機構)は一点で通信を制御す る方式でです。
PCF では中央の局が全てを管理するため競合は起きません。 基地局は各端末局に対して送信データの有無を聞く、ポーリングサービスを行 います。 また、基地局がビーコン・フレームと呼ばれる定期的なパラメータの送信を行 い、新規の局はポーリングサービスに参加できるようになってます。
一方、 DCF では競合回避のアルゴリズムとしてCSMA/CA(Carrier Sence, Multiple Access, Collision Avoidance) が用いられます。 これは二つのアルゴリズムを含みます。 一つは送信前にキャリアを検出しますが、検出した時は 802.3 の巾乗バック オフのように送信時間をずらします。 もう一つは仮想チャネルを考える物で次のような工程でデータを送ります。
この際、送受信者以外は転送許可要求または転送許可を受信したらチャネルを 使用するのを止めます。そして、データの終了または ACK を受信したらチャ ネルを使用できます。
集中管理と分散管理の併用は困難なように思えますが、ACK をトリガーとして プロトコルを時分割で使用すると併用できるようになります。 ACK の送信後の時間を次のように 4 つに区切ります。
WEP(Wired Equivalent Privacy) は無線 LAN が有線 LAN と同等 のセキュリティレベルを持つように考案されたセキュリティモデルです。 これは基地局と端末で 128 bit の共通鍵を用い、 RC4 と呼ばれる暗号方式を 使ったストリーム暗号です。 但し、 RC4 自体は 2001 年に破られてしまい安全ではありません。 そして、 IEEE は WEP が破られてしまったことに対し 802.11i という規格で 新しい暗号を出すと発表しました。
IEEE 802.11i の策定には時間がかかったため、 2002 年 10 月にその規格の 一部を先取りした WPA(Wi-Fi Protected Access)という規格を出しました。
2004年6月になってようやくIEEE802.11iが策定されたので、これをました。こ れを受け、WECA は IEEE802.11i仕様と同じ機能を備えたWPA2を発表しました。 Microsoft は 2005 年 5 月に Windows XP SP2 用の WPA2 に対応したモジュー ルを発表しました。
Ethernet では相互の通信は Ethernet のプロトコルで行います。 そのためにはMAC アドレス(Ethernet アドレス)を使用します。 一方、インターネットでは IP アドレスを使用して通信を行うことになってま す。 インターネットとして Ethernet を使うにはどうすれば良いのでしょうか? そのためには IP アドレス同士の通信を MAC アドレス同士の通信に変換 する必要があります。
ARP(Address Resolution Protocol RFC826) は特定の IP アドレ スから、その IP アドレスを持つホストの MAC アドレスを取得するプロ トコルです。 これを用いると同一ネットワーク上の IP 通信を Ethernet で行うことができ ます。
IP アドレス A のホストから IP アドレス B のホストへ通信を行うことを考 えます。 A の MAC アドレスは X、 B の MAC アドレスは Y とします。
送られて来たIPアドレスと MAC アドレスの対応の情報は ARP テーブル
というテーブルに蓄えられてます。これを操作するのが
arp -a
ARP テーブル蓄えられたアドレスは数分で消えます。 しかし、一旦あるホスト X に付けた IP アドレス A を別のホスト Y で使お うとする時、X と通信を行っていたホスト Z には数分の間、ARP テーブルに X と A の組が残ることになり、その間ホスト Y とは通信できません。 また、大量のファイル転送を行うときなどに、無線 LAN から有線 LAN へ切替 えた時、 IP アドレス A は無線アクセスポイントに付けられた Ethernet ア ドレス X から、ホストの Ethernet アドレス Y に切り替わりますので、同じ ことが起こります。 これに対処するにはホストの登録を ARP テーブルから消す必要があります。 特定のホストを ARP テーブルから消去するのは次のコマンドです。
arp -d ホスト名
ここでは、MAC アドレス EX, IP アドレス IX を持つ ホスト X が、 IP アドレス IY を持つホスト Y の MAC アドレス EY を求める時のプロトコルの流れを示します。
ARP の問い合わせをするには、次のようなパケットを Ethernet フレームに入 れてブロードキャストします。 なお、Ethernet フレームの長さの欄は、実際は IANA の Ethernet-numbers( http://www.iana.org/assignments/ethernet-numbers で定められた値を入れることで、フレームのタイプも指定することができます。 IPパケットは 0x0800(RFC 894)、ARP は 0x0806 を入れます。
イーサフレーム | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
宛先 | FF-FF-FF-FF-FF-FF(ブロードキャスト) | ||||||||||||||||||
送信者 | 自分の MAC アドレス=EX | ||||||||||||||||||
長さ/タイプ | ARP=0x0806 | ||||||||||||||||||
データフィールド(ARP パケット)
|
ARP の問い合わせに対して、返答するには、次のようなパケットを Ethernet フレームに入れて相手に直接ユニキャストします。
イーサフレーム | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
宛先 | 相手の MAC アドレス=EX | ||||||||||||||||||
送信者 | 自分の MAC アドレス=EY | ||||||||||||||||||
長さ/タイプ | ARP=0x0806 | ||||||||||||||||||
データフィールド(ARP パケット)
|
ARP パケットは次のような手順で処理されます。