研究課題名:異種無線ネットワーク間の透過的な接続を実現する基盤研究

氏名:高橋 ひとみ

所属 :政策・メディア研究科・ 博士課程 2 年

 

研究課題

 近年,無線端末の普及により無線ネットワークに多くの形態が出現している.しかし,様々な無線ネットワークは同一の無線デバイスで構成され,異種の無線ネットワーク間における即興的な相互接続は考慮されていない.本研究では無線ネットワーク間を相互に接続し,終端端末間で無線デバイスを仮想的に同一デバイスとして使用が可能なIWNR (Interchangeable Wireless Network Routing Protocol) を提案する.IWNRは異種無線ネットワークを相互に接続する経路制御機構であり,MANETのプロトコルを利用する.宛て先は複数の無線デバイスを所持する端末へ動的な経路を生成し,中間ノードが適切に無線デバイスを切り替え,他の無線ネットワークへの透過的な接続が可能となる.

研究内容

研究背景

 今日,無線技術および集積技術の発達により,より小型となった機器端末に無線が搭載され,携帯電話,無線LAN端末など無線端末の普及が著しいこのような無線端末の普及に伴い,高性能な無線規格も多く提案されている.例えば,高速なデータ転送が可能な携帯電話の規格である,IMT-2000のFOMAがサービスを開始し,また携帯電話だけでなく,機器端末の使用用途に対し適応するよう,多くの無線メディアの規格も提案・出現されている.例えば,802.11a, 802.11b, HiperLAN,などが無線ネットワークとして提案・実現されており,近距離無線として,IrDA,Bluetooth,HomeRFが提案もしくは実際に端末機器に搭載されている.
 一方,端末機器の小型化や集積技術が進み,無線を利用したICタグとしてRFIDが注目を集めている.また,Moteなど小型センサを搭載したセンサデバイスは環境情報をセンシングし,無線を用いそれらの情報を伝達することから新しい無線端末として認識できる.このように,無線ネットワークの形態は多種多様に変化しつつ,膨大な数の無線端末群が私たちの日常生活に浸透し始めている.
 このような,無線通信技術の急速な発展や機器端末の小型化,バッテリーの性能向上より,将来,小型機器同士が必要に応じて情報交換をしながら結合する,ユビキタスコンピューティングの到来する日も近いと考えられる.ユビキタスコンピューティングでは,既存のインターネットと共に,センサ同士のネットワーク,Bluetoothなどの無線規格で提案されているパーソナルエリアネットワーク (PAN),また,家電といった日常生活に使う機器同士のネットワークといった身近な端末のみでネットワークを構築する,プライベートな無線ネットワーク体系 (WPN: Wireless Private Network) が発展する.このWPN ではセンサネットワーク,MANET,PANを包括する統合的なネットワークとなり,ユーザが希望する空間および端末のみで構成された内なるネットワークである.WPNは外部との通信頻度が少ないネットワークになると予想され,既存のインターネットは現在使用されている用途の他に,このようなWPN同士を連結させるためにも利用されるだろう.
 WPNでは,種々のセンサといった非常に小型で特殊なデバイスを所持した端末や,無線デバイスを搭載し移動が前提な端末が存在する.しかし既存のインターネットでは,ユーザや機器端末の移動が考慮されておらず,また無線ネットワークは既存インフラの存在が前提となっている.膨大な数の機器端末が通信するWPNでは,拡張性や無線の干渉を考えると,中央集権的なネットワークは不適当である.また、既存の無線ネットワークはそれぞれの無線規格同士の相互接続を考慮していない。例えば無線デバイスが802.11bである場合、802.11bのみの端末でネットワークが構成され,BluetoothやIrDAといった他のネットワークへの透過的な接続方法は考慮されていない.そこでユーザや機器端末の移動を意識し,機器端末同士の差違を吸収しながら自律的にネットワークを構築するといった,新たな基盤技術が必要である.

研究目的

 本研究ではユーザがネットワーク接続性を意識することなく,機器端末が自律し知的なネットワークを構築するためMANETの技術を用いた,WPN 構築の基盤技術を提案する.具体的には,センサや家電といった数多くの無線規格が混在する環境において,無線規格の差異を吸収し,ユーザとユーザ,ユーザと機器,また機器同士が,煩雑な設定なしで瞬時にネットワークへ接続可能となることが目的である.ユーザの利便性を考慮すると,それぞれのデバイス,ネットワークの境界をなくし,希望する端末へ透過的に接続できる新たな無線ネットワーク体系が必要である.無線デバイスの異なる端末同士が集まった場合,ユーザへ終端端末間において無線デバイスを仮想的に同一に見せることで,透過的な無線ネットワークを構築できる.そこで本研究は無線デバイスを仮想的に同一に見せる具体的な構築手法として経路制御を使用したIWNR (Interchangeable Wireless Network Routing Protocol)を提案する.IWNRはMANET技術を用い,経路制御によって送受信端末間の透過的な仮想デバイスを構築する.IWNRの長所として以下が挙げられる.

  • 無線デバイス差異の吸収 :IWNRが無線デバイスの差異を吸収するため,ユーザは自分や送信相手が所持する無線デバイスを意識せず,データ通信が可能となる.
  • 既存アプリケーションに対する柔軟性:IWNRはカーネルモジュールとして実装されているため,既存アプリケーションを変更せずにそのまま使用できる.また無線デバイスが独自に提供するAPIをIWNRが提供し,無線デバイスに依存するアプリケーションを実際にその無線デバイスを所持していない端末上で動作できる.
  • 端末移動に対する通信の持続性:IWNRはMANETの経路制御機構を応用しているため,端末の移動に対して通信経路が途切れた場合でも,送信元は新たな経路を探索して通信の持続を図る.また,その場に存在する端末のみでネットワークが構築できるため,既存インフラストラクチャの存在が必要ない.
  • IWNR

     IWNRはMANETの制御プロトコルを拡張し,ユーザが無線デバイスを意識せずに無線ネットワークを透過的に接続するための機構である.この機構はユーザに様々な無線デバイスで構築される異種混在無線ネットワークを,透過的な無線ネットワークとして提供できる.ユーザは宛て先が実際に搭載している無線デバイスを考慮することなく,ユーザの希望する無線デバイスの端末として宛て先と通信が可能である.ただし,送信元のユーザは,宛て先のアドレスを予め知っている必要がある.
    既存のネットワーク機構において,ネットワークデバイスの差異を吸収するために第3層が存在する.しかし近年の無線デバイスは用途や用法により,様々な規格が存在しておりIPアドレスをサポートしない,ブロードキャストやプロミスキャスモードが不可能である,また,リンクレベルでの接続を行なわなければ上位層によるデータ送信が不可能な無線デバイスなどが存在し,これらの無線デバイスを使用する場合,第3層だけでは様々な無線デバイスの差異を吸収できない.そこでIWNRでは,第2層によって無線デバイスの差異を吸収する方針を取る.
    図に示すように,無線デバイスとしてデバイスAのみを所持する端末であるNodeAが,無線デバイスとしてデバイスBを所持するNodeCまでデータ通信を行なうとする.IWNRでは,送信元がデバイスA,デバイスBの無線デバイスを両方所持するNodeB (ブリッジ端末) まで動的に経路を構築し,ブリッジ端末がデータの宛て先によりデバイスA,デバイスBを適切に切り替えることで,異種混在無線ネットワークへ透過的な接続を提供できる.IWNRは既存のMANETと異なり,多くの無線ネットワークを透過的に接続するため,既存のMANETでは考慮されていない問題も発生してくる.そこで,それらの問題を解決する新たな機構を設ける必要がある.以下に透過的な無線ネットワーク下で起こりうる問題の具体的なシナリオと共に,必要となる新たな機能に関して述べる.

  • プロトコルスタック改変が不可能な端末
     既存のMANETは参加端末として高性能な無線端末であるラップトップやPDAなどを想定し,端末に搭載されるカーネルの改変が可能である,もしくは作成したアプリケーションの動作が可能であることが前提であった.しかしBluetoothなどの小型な近距離無線デバイスは,デジタルカメラや携帯電話など組み込み機器に搭載されている場合が多く,カーネルの改変や作成したアプリケーションを自由に実行できない.
     作成したプログラムが端末上で動作不可能であれば,その端末はIWNRが構築するネットワーク (IWNRネットワーク) に参加できず,ユーザの利便性が低下すると考えられる.そこでソフトウェアおよびカーネルの改変なしで,端末がIWNRネットワークに参加できるよう,IWNRをサポートする各端末はNAT (Network Address Translation)機能を保持するものとする.例えば,IWNRネットワークとIWNRが未搭載の端末である宛て先とを接続し,経路の途中に存在する端末(中間ノード)が存在する.中間ノードがIWNRのプロトコルスタック(IWNRスタック)を未搭載な端末とIWNRスタックを搭載した端末とを接続している場合,IWNRのヘッダの追加,削除,およびアドレス変換を行う.この中間ノードのNAT機能により,ソフトウェアが改変できない機器端末でもIWNRネットワークへ参加できる.ただし,プロトコルスタック改変が不可能な端末がIWNRネットワークへ参加できる条件は,IWNRネットワークのエッジに端末単体で存在する場合のみに限られる.
  • デバイスに依存するアプリケーション

  •  いくつかのネットワークデバイスは独自のAPIを提供しており,独自のAPIを利用し通信を行うアプリケーションはそのAPIが利用できない場合,正常に動作しない.例えば,BluetoothのプロトコルスタックであるBlueのAPIを考えた場合,IPv4を使用するアプリケーションはsocketシステムコールのドメインとしてPF_INETを呼び出すが,Bluetoothに依存するアプリケーションはドメインとしてPF_BLUETOOTHを呼び出す.そのためBluetoothに依存するアプリケーションは,Bluetoothが搭載されてない端末上では正常に動作しない.そのような状況下でIWNRを利用しBluetoothデバイスのみを搭載した送信元と,IEEE 802.11bのみを搭載した宛て先への接続を行なうとする.送信元のアプリケーションがBluetoothに依存しPF_BLUETOOTHを呼び出すプログラムであった場合,送信元で動作しているアプリケーションはBluetoothが未搭載な宛て先では動作できない.そこで無線デバイスが独自に提供しているAPI をIWNRが仮想的なAPI(仮想API)として提供し,その仮想APIを通じ送信データをIWNRが仮想デバイスとして送信することで,ユーザは無線デバイスを意識せずにアプリケーションの使用が可能となる.
    以上より,IWNRの機能用件として,1,MANETルーティング機能 (経路発見,データ転送,経路維持),2,無線デバイス切り替え機能,3,NAT機能,4,仮想APIの提供となる.

    成果内容

    システム設計

    本システムの機能として,要件の説明を述べる.また各機能のモジュール図を示す.

  • MANET経路制御機能 (経路発見,データ転送,経路維持)
      先に示したように,本システムは複数デバイスを所持する端末まで動的なネットワークを構築する.そこで,本システムはMANETの技術を用い,動的な経路構築,経路維持を行なう必要がある.具体的には,宛て先希望端末の発見および,中間経路の作成.マルチホップによるデータ転送制御,端末の移動による経路破壊の監視および再構築となる.
  • 無線インタフェース切り替え機能
     複数無線デバイスを所持するブリッジ端末が,データの配送先により適切な無線デバイスに切り替える機能.
  • トランスレーション機能
     BluetoothやZigbeeなどの小型な近センサデバイスは,組み込みであるためソフトウェアの改変や作成したアプリケーションを自由に実行できない場合が存在する.作成したプログラムがデバイス上で動作不可能であれば,その端末は本システムが構築するネットワークに参加できず,ユーザの利便性が低下すると考えられる.そこでソフトウェアおよびカーネルの改変なしで,センサデバイスがネットワークに参加できるよう,本システムをサポートする各端末はトランスレーション機能を保持する.
     トランスレーション機能として,まずNAT (Network Address Translation)機能を保持する.このアドレスとは,IPに限ったものではなく,センサデバイス固有のIDも示す.他のあるセンサネットワーク群から,他のセンサネットワークへデータの送信をする場合,送信元と宛て先がどのセンサであるかを知る必要があるが,各センサデバイス固有のIDを使用していた場合,それらのID同士を変換する必要がある.また,センサに対する制御命令群に関しても,各センサデバイスで独自の命令群を用いる場合が考えられる.そこで,トランスレーション機能を保持したブリッジ端末が,それらの命令群を宛て先のセンサデバイスが理解できる命令群に変換させ,センサデバイスの制御をする.最後に,本システムを搭載した端末ではデータへ,本システムの独自のデータパケットが追加される.そこで,本システムの独自ヘッダの追加,削除も行なう.
  • 仮想APIの提供
     センサデバイスや無線デバイスが独自に提供しているAPI を本システムが仮想的なAPI(仮想API)として提供し,その仮想APIを通じ送信データを本システムが仮想デバイスとして送信することで,アプリケーションは無線デバイスを意識せずにアプリケーションの使用が可能となる.

  •  
     本機構が提供するネットワークでは,本機構を搭載しない端末(未搭載端末),本機構を搭載し,無線デバイスが1種類しかもたない端末(通常端末),本機構を搭載し無線デバイスを複数もつ端末(ブリッジ端末)の3種類のノードが存在することとなる.送信元が通常端末の場合,経路を確立し,本機構によりホップバイホップによるデータ配送が行われる.もし,宛て先が異なる無線デバイスを所持する場合,ブリッジ端末までデータが配送され,ブリッジ端末にて異なる無線デバイスへに適応するようデータのヘッダが交換され,ブリッジ端末が次の配送先での適切な無線デバイスを選択し,データが転送される.また,送信元および宛て先が未搭載端末の場合は,未搭載端末へ接続している通常端末が宛て先までの経路確立,データのトランスレートを行い,データ配送が行われる.

     次に,本システムの動作手順の詳細を以下に示す.
    1. 経路確立
     まず送信元は宛て先までの経路が判明しない場合,経路要求パケット (RREQ) に一意な識別子(RREQ ID),宛て先アドレス,送信元アドレスを格納し,ブロードキャストにてネットワーク全ての端末に対し送信する.RREQを受信した端末はRREQに格納してある経路情報,インタフェース情報を経路表に登録し,自らのアドレス,インタフェース情報をRREQへ格納し,再びRREQをブロードキャストにて他の端末へ転送する.もしRREQを受信し,かつ通信デバイスを複数所持する端末は全ての無線デバイスに対して,RREQを転送する.宛て先に指定された端末がRREQを受信した場合,送信元へ経路応答パケット(RREP) を送信する.宛て先はRREQより送信元への転送先の端末,インタフェースを判別できるため,ユニキャストにてRREPを送信元へ送信する.
    2. データ転送
     RREPを受信した送信元は宛て先までの経路が判明した場合,データ送信を開始する.送信元は通常データのヘッダにIWNRが構築する独自のヘッダを付随させる.転送データを受信した中間ノードは宛て先アドレスをキーとして経路表に問い合わせを行ない,次の転送先とインタフェース情報を取得し,転送を行なう.
    3. 経路維持
     本システムが提供するネットワークは端末,センサの移動を前提としており,経路発見後端末の移動により通信に使用していた経路の崩壊が予想される.その際,経路上の中間ノードは経路の途切れを検知し,送信元へ再び宛て先への経路発見を行なうよう,通知しなくてはならない.端末が転送データを受信した場合,そこで端末はデータを転送した際に,ACKパケットを生成して,転送元へ送信する.もし転送元が転送先からACKを受信できない場合,転送先にデータの再送を行ない,ある一定回数の再送が失敗した場合その使用経路が途切れたことを検知する.転送元による再送が失敗し,使用経路が途切れたことを検知した際,転送元は途切れた経路の転送先とは逆方向へ,途切れた経路の情報を格納した経路エラーパケット (RERR) を送信する.RERRを受信した全端末はその経路を含む経路表に格納された経路を全て削除する.
    4. トランスレート
     本システムはソフトウェアの改変ができないセンサデバイス,無線端末もネットワークへ接続できるよう,端末はアドレスやデータの変換および,データへのヘッダの付加(カプセル化)および削除(カプセル解除)を行なう.本システムが動作する端末がRREQを転送後,端末はデバイス毎に本システムを使用せず,改変していないプロトコルスタックへRREQの宛て先アドレスを宛て先として,パケットの送信を試みる.もし本システム内で近隣端末と認識していない端末から返答があった場合,本システムを所持していない端末(未搭載端末)として扱われる.本システムネットワークと未搭載端末との中間に存在する端末はアドレスの変換やデータの変換をする.また,希望する端末へデータ送信が行なわれる場合,未搭載端末に接続をしている本システム端末が代わりに宛て先に対する経路要求を行ない,宛て先までの経路を確立する.

    プロトタイプ実装


    提案システムのプロトタイプ実装として,802.11bとBluetoothを用い,Linux上でプロトタイプ実装を行なった.実装した機能としては,最低限,接続およびデータ通信が行なえる機能が行なえるよう,MANETルーティング機能 (経路発見,データ転送)および,無線デバイス切り替え機能,仮想APIである.以下に実装方針について説明する.
    本システムは将来的に多くの無線,センサデバイスの対応を予定している.本システムが新たな無線デバイスをサポートするために,大幅なコードの追加や変更は望ましくない.無線やセンサデバイスに依存する部分であるごく一部のコードを新規に追加すれことで,新たな無線デバイスが対応できるよう実装すべきである.そこで本システムの実装方針として,無線デバイスに依存する部分のコード (Depコード) と,無線,センサデバイスに依存せずに使用でき,機能において中核となる部分のコード (Coreコード) を明確に分け,なるべく,Depコードのコード量が少なくなるよう実装する.この実装方針により無線デバイスに特化したDepコードを本システムへ追加することで,簡単に新たな無線デバイスをIWNRへサポートできる.