無線アクセスポイントリンク“WAPL”

無線アクセスポイントリンク“WAPL”の立上げ方式
小島
崇広
市川 祥平
渡邊
名城大学大学院理工学研究科
晃
Starting system of Wireless Access Point Link WAPL
Takahiro Kojima
Shouhei Ichikawa
Akira Watanabe
Graduate School of Science and Technology, Meijo University
1.
はじめに
通信端末の小型化,高性能化などの技術革新によるインタ
ーネットの急速な普及に伴い,時間や場所を気にせずインタ
ーネットに接続できる無線 LAN の需要が高まってきている.
今後も無線 LAN を利用したサービスが増えることが予想さ
れ,どこにいてもインターネットに接続できるようになるこ
とが想定される.このようなネットワーク環境を実現するに
は , 無 線 LAN エ リ ア の 拡 大 , ア ク セ ス ポ イ ン ト (Access
Point;AP)の整備が不可欠である.しかし,現在 AP 間は有
線で接続されており,AP の設置に多大な費用と時間を伴う
のが現状である.また,一度 AP を設置してしまうと,移設
や増設が困難であるので計画的な配備が必要である.そこで,
AP 間を無線で結合できればこのような課題が解決され,無
線 LAN エリアの拡大が容易になると考えられる.
無線 LAN の通信形態には AP を経由して通信を行うインフ
ラストラクチャモードと端末自身がパケットを中継して互い
に通信を行うアドホックモードがある.アドホックモードで
は自動的に経路が生成され端末は自由に移動することが可能
ある.しかし,アドホックモードでは端末が増加すると経路
生成にかかわる制御パケットのトラヒックが増大してしまう
といった問題がある.よって,一般的な通信にはインフラス
トラクチャモードが適している.
AP 間 を 無 線 化 す る 研 究 と し て は こ れ ま で ,
Multihop-Wireless LAN(M-WLAN)が提案されており,実験
環境の構築が行われている[1]-[4].M-WLAN は,AP 間をアド
ホックモードで接続し,端末と AP 間はインフラストラクチ
ャモードで接続するもので,両モードの利点を合わせもった
システムである.しかし,M-WLAN では,すべての AP がす
べての端末の物理アドレスと IP アドレスを所持する必要が
あるため,ホスト数が増加すると,AP が管理するテーブル
の量が多くなることや,経路維持のためのトラヒックが増大
するという課題がある.
そこで,我々はホストからの通信要求があった時点で,随
時必要なテーブルをオンデマンドで作成することにより,テ
ーブル量の増加を抑えるとともに,トラヒックを大幅に減少
させることができる WAPL(Wireless Access Point Link)を提
案している[5].しかし,WAPL では初期の立上げに関わる端
末の IP アドレス取得方法と MAC アドレスの解決方法が未検
討であった.
IP アドレスを動的に割当てる方式として DHCP[6.7]が事実
上の標準となっており広く利用されている.そこで,WAPL
では DHCP を採用し,端末側には一切手を加えず IP アドレ
スを取得できるよう,WAP で DHCP メッセージを加工する
ことにした.また,MAC アドレスの解決についても,端末側
に一切手を加えずにすむように,WAP で ARP メッセージを
加工する方式を採用した.
以下,2 章で WAPL の概要を説明し,3 章に WAPL の立上
インターネット
WAPL
端末1
WAP-1
有線
WAP-5
WAP-2
WAP-3
WAP-4
端末2
端末5
端末3
端末4
DHCPサーバ
インフラストラクチャモード
アドホックモード
図 1
WAPL 構成例
げ,4章で WAPL の実装について述べ,最後の章でまとめを
行う.
2.
WAPL の概要
2.1
WAPL のコンセプト
図1に WAPL の構成例を示す.また,WAPL における AP
を以後 WAP(Wireless Access Point)と呼ぶ.
WAP は,無線 LAN のインタフェースを 2 つ持つ.一つは
WAP どうしの通信用,もう一つは WAP 配下の端末との通信
に用いる.WAP 間は MANET のルーティングプロトコルによ
りルーティングテーブルを自動的に生成する[8]-[11].WAP端末間はインフラストラクチャモードで接続する.ユーザは
必要な時だけ端末を立上げ,自分の通信だけに専念すればよ
い.端末間通信パケットは最寄りの WAP でカプセル化・デ
カプセル化することにより WAP 間を中継され宛先端末に到
達する.端末からは WAP 全体が一つのルータのように見え,
WAPL 全体は LAN のような働きをする.このため,WAPL
内で端末は自由に移動が可能である.インターネットへは特
定の WAP から有線で接続される.WAP どうしは電波が必ず
届くように適切に配置する.
2.2
WAPL の動作概要
WAP は自らが保持しているルーティングテーブルとリン
クテーブルに従い通信の中継処理を行う.ルーティングテー
ブルは次にどの WAP にパケットを送信すべきかを示すテー
ブルで,MANET のルーティングプロトコルにより生成する.
一方 リ ンク テ ーブ ル は通 信 した い 相手 端 末が 所 属し て い る
WAP の位置を示すテーブルで,通信開始に先だってその都度
生成する.
WAP は端末からパケットを受け取るとリンクテーブルか
ら宛先の端末がどの WAP に所属しているかを調べる.上記
パケットはカプセル化されルーティングテーブルに従いその
端末が所属している WAP まで届けられる.そして宛先端末
が所属する WAP でデカプセル化され宛先端末に送られる.
3.
端末1
WAP-2
MACアドレス
①DISCOVER
DHCPサーバ
WAP-3
MACアドレス
IPアドレス
[x]
[X]
MACアドレス
IPアドレス
[y]
[Y]
・テーブル作成
・chaddrの書換え
②DISCOVER
フラッディング
③DISCOVER
④OFFER
⑤OFFER
⑥OFFER
WAPL の立上げ
端末は自由に WAPL に参加,離脱できる必要がある.その
ためには端末が自動的に IP アドレスを取得し,通信可能な状
態になる必要がある.また,通信開始時には MAC アドレス
の解決が必要である.
3.1
[a]
ユニキャスト
・テーブル検索
・chaddrの書換え
REQUEST
・テーブル作成
・chaddrの書換え
REQUEST
フラッディング
REQUEST
端末の IP アドレス取得方法
ACK
IP アドレスの取得には既存の DHCP の原理をそのまま適
用できる方式を採用する.DHCP サーバは WAPL 内の任意の
場所に配置する.また WAPL 内には DHCP サーバを複数台
置くことも可能とする.端末及び DHCP サーバの動作は通常
の IP アドレス取得と全く同じでよいように WAP においてパ
ケットを加工する.ユーザは WAPL の存在を意識することな
く DHCP サーバから IP アドレスを取得することができる.
これを実現するためには,WAP は DHCP パケットの内容を
解読し,内容を書き換える必要がある.
DHCP パケットフォーマットを図2に示す.加工の際に使
用する DHCP パケット内のフィールドには以下のような情
報が含まれる.
A)
トランザクション ID フィールド(xid);クライアント
が要求ごとに用意するランダムな数字でメッセージ
の対応をとるために使用される.
B)
クライアントハードウェアアドレス(chaddr);クライ
ア ン ト 側 の ハ ー ド ウ ェ ア ア ド レ ス で ethernet で は
MAC アドレスを指す.
C)
ユーザ IP アドレス(yiaddr);クライアントに割当てた
IP アドレスを指す
図3に端末の IP アドレス取得における WAP の動作シーケ
ンスを,図4にパケットの内容がどのように変化するかにつ
いて示す.
0
78
op(1)
1516
htype(1)
hlen(1)
hops(1)
xid(4)
secs(2)
flags(2)
ciaddr(4)
yiaddr(4)
siaddr(4)
giaddr(4)
chaddr(16)
sname(64)
file(128)
options(可変長)
図2
DHCP パケットフォーマット
31
ACK
ACK
・テーブル検索
・chaddrの書換え
ユニキャスト
IPアドレス
取得
図3
IP アドレス取得シーケンス
IPヘッダ
①
UDP
ヘッダ
DHCP メッセージ
xid
yiaddr chaddr
T
a
T
a
T
y
IPヘッダ
②
③
④
ブロード
キャスト
X
DISCOVER
OFFER
T
A
y
T
A
a
T
A
a
IPヘッダ
⑤
Y
X
⑥
図4
DHCP 動作時のパケット内容の変化
端末は電源を立上げると DISCOVER パケットをブロード
キャストする.最寄りの WAP-2 は DISCOVER パケットを受
信すると,ブロードキャスト IP アドレスでカプセル化して
WAP 全体にフラッディングする.このパケットを受け取った
WAP-3 は DISCOVER パケット内のトランザクション ID
『T』,
クライアントハードウェアアドレス『a』,送信元 IP アドレス
『X』を関連付けてテーブルとして一定時間保持する.そし
て DHCP サーバからの OFFER パケットが最寄りの WAP-3
に戻るように,DISCOVER パケット内のクライアントハード
ウェアアドレスを自分の MAC アドレス『y』に書き換え,配
下の端末にブロードキャストする.
DHCP サーバはクライアントへの設定値「候補」を通知す
るメッセージ OFFER パケットを送信する.パケットを受け
取った WAP-3 は先ほど作ったテーブルから OFFER パケット
内のトランザクション ID が一致するクライアントハードウ
ェアアドレスを検索し,OFFER パケット内のクライアント
ハードウェアアドレスを『a』に戻す.また,同テーブルに
記憶されていた IP アドレス『X』によりパケットカプセル化
しユニキャストで送り返す.このパケットを受け取った
WAP-2 はデカプセル化を行い,宛先 MAC アドレスを『a』
としてクライアントに送信する.
後に続く REQUEST パケット,ACK パケットはそれぞれ
DISCOVER パケット,OFFER パケットと同様の動作を行う.
このようにしてクライアントは WAPL の存在を意識するこ
となく,DHCP サーバから IP アドレスを取得することができ
る.
3.2
MAC アドレスの解決及びリンクテーブルの生成
端末が通信を行うためには,MAC アドレスの解決が必要で
ある. WAP において ARP メッセージの内容を加工すること
により端末には手を加えることなく MAC アドレスの解決が
できる.また,このとき同時にリンクテーブルを生成するこ
とが可能である.
図1の構成において端末1から端末4宛にパケットを送信
する場合の MAC アドレス解決の動作を示す
図5に MAC アドレス解決シーケンスを図6にパケット内容
の変化を示す.
端末1は端末4を探索するための ARP 要求を送信する.
ARP 要求を受け取った WAP-2はブロードキャスト IP アド
レスでカプセル化し,WAP 全体にフラッディングする.
上記パケットを受け取った WAP はパケットの情報から端
末1の IP アドレス『A』を取り出し,端末1と WAP-2を関
連付けるリンクテーブルを生成する.その後デカプセル化を
端末1
WAP-2
MACアドレス
IPアドレス
[a]
[A]
端末4
WAP-4
MACアドレス
IPアドレス
[x]
[X]
MACアドレス
IPアドレス
[z]
[Z]
MACアドレス
IPアドレス
①ARP要求
②ARP要求
・リンクテーブル作成
・送信元MACアドレス書換え
フラッディング
③ARP要求
④ARP応答
[d]
[D]
行い,端末4から返信される ARP 応答が WAP-4に到達する
ように ARP 要求内の送信元 MAC アドレスを端末1の MAC
アドレス『a』から自分の MAC アドレス『z』に書き換える.
また,返信される ARP 応答を判別するために端末1の MAC
アドレス『a』を上記のリンクテーブルに関連付けて保存す
る.上記のリンクテーブルは一定時間内に ARP 応答を受信
しなかった場合は消去される.
端末4は問い合わせの IP アドレスが自分であるので ARP
応答を返す.ARP 応答を受け取った WAP-4は ARP メッセ
ージ内の宛先 IP アドレス『A』からリンクテーブルを検索し,
ARP 応答内の宛先 MAC アドレスを元の『a』に戻す.さら
に,宛先 IP アドレスを『X』としてカプセル化して WAP-2
に返送する.このパケットを受け取った WAP-2はパケット
の情報から端末2の IP アドレス『D』を取り出し,端末2と
WAP-4を関連付けるリンクテーブルを生成する.また,パ
ケットのデカプセル化を行い,ARP 応答内の送信元 MAC ア
ドレス『d』を自分の MAC アドレスである『x』に書き換え
送信する.
以上の処理により,ARP によるアドレス解決が可能となる.
同時にカプセル化に必要となるリンクテーブルを完成させる
ことが出来る.
4.
WAPL の実装
4.1
モジュール構成
実装対象となる OS はオープンソースで,IP 層に関する情
報や処理内容の資料が多い FreeBSD を採用する.
図 7 に WAPL の階層モデルを示す.WAPL のコンセプトと
して端末には一切手を加えない.また,MANET のルーティ
ングプロトコルは他の処理とは独立させるため,全ての実装
は WAP のネットワーク層に組み込む.WAPL のモジュール
構成を図 8 に示す.
端末
端末
アプリケーショ
ン
アプリケーショ
ン
⑤ARP応答
ユニキャスト
・宛先MACアドレス書換え
TCP/UDP
⑥ARP応答
IP
IP
・リンクテーブル作成
・送信元MACアドレス書換え
図5
WAP
イン
フラ
インフラストラクチャ
IP
WAPL
アド
ホック
WAP
TCP/UDP
WAPL
IP
アド
ホック
イン
フラ
インフラストラクチャ
MAC アドレス解決シーケンス
図 7
WAPL の階層モデル
ARPメッセージ
送信元
送信元
宛先
宛先
MACアドレス IPアドレス MACアドレス IPアドレス
①
a
A
D
a
A
D
y
A
D
d
D
y
A
d
D
a
A
x
D
a
A
IP
WAPL
ip_input
ip_output
IPヘッダ
②
③
④
X
ブロード
キャスト
ARP要求
ARP応答
カプセル化処理
call
リンクテーブル管理
IPヘッダ
⑤
Y
⑥
図6
X
アドレス解決時のパケット内容の変化
ARP
インフラ/アドホック
図 8
WAPL のモジュール構成
if_output
IP パケットについては既存の処理に変更を加えないよう
パケット受信時には IP 入力関数である ip_input で WAPL を
呼び出す.WAPL 内でカプセル化/デカプセル化を行った後,
ip_output に処理を移行する.ただし,ARP パケットの処理
の場合は,FreeBSD の ARP 処理モジュール内から WAPL を
直接呼び出す.
5.
まとめ
WAPL を実現するために, WAPL における端末の IP アド
レス取得方法と通信開始時の MAC アドレス解決方法につい
て検討した結果を述べた.いずれの処理においても端末やサ
ーバには一切変更を加えることをせず,WAP がパケットの内
容を書き換えることにより実現を可能とした.また,アドレ
ス解決と同時にリンクテーブルも同時に生成できることを示
した.今後は WAPL の実装とトラヒックシミュレーションを
並行して実施し,動作検証と評価を行う.
参考文献
1. K.Mase,et al.,“Wireless LAN with Wireless Multihop
Backbone Network”,IEEE ICWLHN 2001.pp349-358,
2001
2. 大和田泰伯,間瀬憲一,“無線マルチホップ LAN の通信
方式の検討とスループット評価”,電子情報通信学会 信
学技報(2002)
3. 大和田泰伯,間瀬憲一,“M-LAN における LAN エミュレ
ータの実装と性能評価”,電気情報通信学会総合大会,
SB-9-4(2002)
4. 朴鐘甲,須田利章,大和田泰伯,照井宏康,間瀬憲一,
“アドホックネットワークの通信実験・経路制御方式の性
能評価”,信学技報,IN/MoMuC/MVE2003-11,pp13-18,
Nov.2003
5. 市川祥平,渡邊晃,“アクセスポイントの無線化を実現す
るシステム”WAPL“の提案”,第 30 回 MBL 研究報告会,
Sept.2004
6. R.Droms , “Dynamic Host Congiguration Protocol” ,
RFC2131(1997)
7. S.Alexander,and R.Droms,“DHCP Options and BOOTP
Vendor Extensions”,RFC2132(1997)
8. IEEE Home Page. http://www.ietf.org
9. T.Clausen P.jacquet , “Optimized Link State Routing
Protocol”(OLSR)REC3626 Oct.2003
10. C.Perkins S.Das , “Ad hoc on-Demand Distance
Vector”(AODV) RFC3561 July 2003
11. R.Ogier,M.Lewis,“Topology Dissemination Based on
Reverse-Path Forwarding”(TBRPF) RFC3684 February
2004
無線アクセスポイントリンク
”WAPL”の立上げ方式
名城大学大学院理工学研究科
小島崇広 市川祥平 渡邊晃
研究背景
‡ インターネットの普及
„ 無線LANの需要の高まり
„ 無線LANを利用したサービスの増加
無線LANエリアの拡大
アクセスポイントの整備
‡ アクセスポイント間通信にアドホックを利用
„ 設置・移設が容易
WAPL(Wireless Access Point Link)
2
WAPL(Wireless Access Point Link)
‡ WAPLのシステム構成
„ 2つの無線LANインターフェースをもつAP(WAP)
„ WAP間通信用(アドホック・モード)
„ 端末-WAP間通信用(インフラストラクチャ・モード)
アドホック・モード
インフラストラクチャ・モード
‡ 構成例
3
WAPLにおけるカプセル化
‡ EthernetフレームをMANETの
ルーティングプロトコルでカプセル化
„ 端末にWAP間でのアドホック通信が
有線接続
Ethernet上で通信しているように見せる
Ethernet
フレーム
WAPL
フレーム
フレーム
アドホック
フレーム
フレーム
無線MACヘッダ
MACヘッダ
IPヘッダ
フレーム
有線接続と同様の通信が可能
4
WAPLの立上げ
‡ 通信開始前
„ ルーティングテーブル生成
„ MANETのルーティングプロトコルにより自動生成
„ MANETの処理には手を加えない
‡ WAPLの立上げ
„ IPアドレス割当て方法
„ WAPL内の任意の場所に設置されたDHCPサーバか
ら割当てる
„ リンクテーブル生成
„ 通信開始時のアドレス解決(ARP)と同時に生成
„ 一定時間参照されなければ削除
5
IPアドレス割当て
アドホック
Ethernet
DHCPサーバ
DISCOVER
DISCOVER
OFFER
OFFER
DISCOVER
OFFER
REQUEST
REQUEST
REQUEST
ACK
‡
ACK
ACK
有線と同様の方法でIPアドレス割当て可能
6
リンクテーブル生成
‡ ARPを利用
WAP1
端末1
WAP2
端末2
WAP2リンクテーブル作成
MAC
IP
IP
IP
MAC
IP
カプセリング Ether
ヘッダ
ヘッダ
ARP
IP-W1ブロードMAC Mac-T1 IP-T1
IP-T2
ARP要求
リンクテーブル
IP-W1
ARP要求
フラッディング
ARP応答
ARP応答
ユニキャスト
ARP要求
ARP応答
Mac-T1
タイマ
WAP1リンクテーブル作成
カプセリング Ether
ヘッダ
ヘッダ
ARP
IP-W2 IP-W1 MAC Mac-T2 IP-T2 Mac-T1 IP-T1
リンクテーブル
IP-W2
Mac-T2
タイマ
7
WAPLのアーキテクチャ
WAP
端末
WAP
端末
Application
Application
TCP/UDP
IP
IEEE
802.11
WAPL
AP処理
‡
‡
IP
Ethernet
TCP/UDP
IP
IEEE
IEEE
Ether Ether
802.11
802.11
インフラストラクチャ
‡
WAPL
IP
AP処理
IEEE
IEEE
Ether Ether
802.11
802.11
Ad-hoc
WAPはAP機能とカプセル化機能
で構成される
試作として一般のAPとPCでWAP
を構成
AP-PC間はEthernetでデータを中
継
IEEE
802.11
Ethernet インフラストラクチャ
WAP
WAP
MANET
8
実装
‡
WAPLの実装方式
FreeBSDのカーネルにモジュールを組み込む
„ Ethernetインターフェース→EthernetのドライバからWAPLモジュールへ
„ 無線インターフェース→IP処理終了後WAPLモジュールへ
„
IP
Call
ip_input
WAPL
ip_output
カプセル化処理
リンクテーブル管理
ether_output
データリンク
802.11
Ehter
Ethernetフレームのカプ
セル化・デカプセル化を
行う
リンクテーブル管理
ether_input
Call
カプセル化処理
Ether
リンクテーブルの作成・削
除を行う
802.11
9
ハンドオーバ
アソシエーション張替
え後にLLCパケットを
送信
‡ APが保持している端
末の情報の書き換え
‡
有線接続でのハンドオーバ
通信
移動
LLCパケット
Ether上での処理は
そのまま利用可能
通信
ハンドオーバ可能
端末:Windows AP:BUFFALO社製
10
まとめ
‡ AP間通信をアドホックによってカプセル化す
るWAPLのリンクテーブル作成方法とWAPL
のアーキテクチャについて説明した
‡ 今後は、本提案の実装を完了し、検証を行っ
ていく
11
おわり