本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
図1は、この発明の実施の形態による無線装置を用いた無線通信ネットワークの概略図である。無線通信ネットワーク100は、無線装置31〜43を備える。無線装置31〜43は、無線通信空間に配置され、自律的にネットワークを構成している。アンテナ51〜63は、それぞれ、無線装置31〜43に装着される。
例えば、無線装置31から無線装置42へパケットを送信する場合、無線装置32,35〜41は、無線装置31からのパケットを中継して無線装置42へ届ける。
この場合、無線装置31は、各種の経路を介して無線装置42との間で無線通信を行なうことができる。即ち、無線装置31は、無線装置37,41を介して無線装置42との間で無線通信を行なうことができ、無線装置32,36,39を介して無線装置42との間で無線通信を行なうこともでき、無線装置32,35,38,40を介して無線装置42との間で無線通信を行なうこともできる。
無線装置37,41を介して無線通信を行なう場合、ホップ数が”3”であり、無線装置32,36,39を介して無線通信を行なう場合、ホップ数が”4”であり、無線装置32,35,38,40を介して無線通信を行なう場合、ホップ数が”5”である。
このように、無線通信ネットワーク100においては、パケットは、マルチホップによって送信元から送信先へ送信される。
そこで、以下においては、パケットが送信元から送信先へ送信される場合に、送信元から送信先までの経路上の無線装置がパケットの転送を高速に行なう方式について説明する。
図2は、図1に示す無線装置31の構成を示す概略ブロック図である。無線装置31は、アンテナ11と、通信制御部12とを含む。アンテナ11は、図1に示すアンテナ51〜63の各々を構成する。そして、アンテナ11は、無線通信空間を介して他の無線装置からデータを受信し、その受信したデータを通信制御部12へ出力するとともに、通信制御部12からのデータを無線通信空間を介して他の無線装置へ送信する。
通信制御部12は、ARPA(Advanced Research Projects Agency)インターネット階層構造からなり、ARPA階層構造に従って、通信制御を行なう。そして、通信制御部12は、無線インターフェースモジュール13と、転送モジュール14と、転送テーブル15と、通信モジュール16と、ルーティングテーブル17とからなる。
無線インターフェースモジュール13は、物理層に属し、所定の規定に従って送信信号または受信信号の変復調を行なうとともに、アンテナ11を介して信号を送受信する。
転送モジュール14は、インターネット層よりも下位のMAC(Media Access Control)層に属し、後述する方法によって各無線装置のIP(Internet Protocol)アドレスとMACアドレスとの対応表を取得する。また、転送モジュール14は、後述する方法によって、パケットを転送するときの経路を示す転送テーブル15を作成する。更に、転送モジュール14は、アンテナ11および無線インターフェースモジュール13を介して他の無線装置から受信したパケットを通信モジュール16へ出力し、または転送テーブル15に基づいて送信先までの経路上における隣接無線装置へ転送する。このパケットの転送処理については、後に詳細に説明する。更に、転送モジュール14は、通信モジュール16からIPパケットを受けると、その受けたIPパケットにMACヘッダを付加してパケットを作成し、その作成したパケットを無線インターフェースモジュール13およびアンテナ11を介して送信する。
転送テーブル15は、MAC層に属し、後述するように、送信先に対応付けて経路情報を格納する。
通信モジュール16は、インターネット層、トランスポート層およびアプリケーション層に属する各種のモジュールからなる。そして、通信モジュール16は、データに基づいてTCP(Transmission Control Protocol)パケットを生成し、その生成したTCPパケットに基づいて、IPパケットを生成する。IPパケットは、IPヘッダと、TCPパケットを格納するためのIPデータ部とからなる。そして、通信モジュール16は、TCPパケットを生成すると、その生成したTCPパケットをIPデータ部に格納してIPパケットを生成し、その生成したIPパケットを転送モジュール14へ出力する。
また、通信モジュール16は、ルーティングテーブル17を作成する。この場合、通信モジュール16は、テーブル駆動型プロトコルまたはオンデマンド型プロトコルに従って、ルーティングテーブル17を作成する。
テーブル駆動型プロトコルは、定期的に経路に関する制御情報の交換を行ない、予め経路表を構築しておくものであり、FSR(Fish−eye State Routing)、OLSR(Optimized Link State Routing)およびTBRPF(Topology Dissemination Based on Reverse−Path Forwarding)等が知られている。
また、オンデマンド型プロトコルは、データ送信の要求が発生した時点で、初めて宛先までの経路を構築するものであり、DSR(Dynamic Source Routing)およびAODV(Ad Hoc On−Demand Distance Vector Routing)等が知られている。
そして、通信モジュール16は、作成したルーティングテーブル17に基づいて、パケットを送受信する経路を制御し、その制御した経路を用いてパケットを送受信する。
ルーティングテーブル17は、インターネット層に属し、後述するように、送信先に対応付けられ経路情報を格納する。
なお、図1に示す無線装置32〜43の各々も、図2に示す無線装置31の構成と同じ構成からなる。
図3は、図2に示す転送テーブルの構成図である。転送テーブル15は、送信先と、次の無線装置とからなる。送信先および次の無線装置は、相互に対応付けられている。“送信先”は、送信先の無線装置のMACアドレスを表す。“次の無線装置”は、送信先にパケットを送信するときに、次に送信すべき無線装置のMACアドレスを表す。
図4は、図2に示すルーティングテーブルの構成図である。ルーティングテーブル17は、送信先と、次の無線装置とからなる。送信先および次の無線装置は、相互に対応付けられている。“送信先”は、送信先の無線装置のIPアドレスを表す。“次の無線装置”は、送信先にパケットを送信するときに、次に送信すべき無線装置のIPアドレスを表す。
図5は、パケットの構成図である。パケットPKTは、MACヘッダ部と、データ部と、FCS(Frame Check Sequence)とからなる。MACヘッダ部は、パケットの制御情報が格納される。データ部は、IPパケットが格納される。FCSは、フレームのヘッダ部とデータ部に誤りがないかどうかを検出するための値である。
MACヘッダ部は、フレーム制御部と、デュレーション/IDと、アドレス1〜4と、シーケンス制御部とからなる。フレーム制御部は、MACフレームの制御情報が格納される。デュレーションは、無線回線を使用する予定時間(μs)である。
アドレス1は、隣接する2つの無線装置間においてパケットPKTを送信する場合の送信先のMACアドレスが格納される。アドレス2は、隣接する2つの無線装置間においてパケットを送信する場合の送信元のMACアドレスが格納される。アドレス3は、無線通信ネットワーク100が属するセルのIDが格納される。アドレス4は、パケットPKTが送信元または中継無線装置から最終的な送信先である無線装置へ送信される無線通信においては、パケットPKTに格納されず、パケットPKTが2ホップ以上の無線通信によって送信される場合、最終的な送信先のMACアドレスが格納される。
シーケンス制御部は、MACフレームのシーケンス番号とフラグメントのためのフラグメント番号とを示す。
フレーム制御部は、プロトコル/バージョンと、タイプと、サブタイプと、To DSと、From DSと、More Fragと、Retryと、PM(Power Management)と、WEPと、Orderとからなる。
プロトコル/バージョンは、IEEE802.11のMACプロトコルのバージョンを示し、通常、“0”に固定される。タイプおよびサブタイプは、フレームタイプを示す。To DSは、アドレス4の領域がパケットPKTに設けられているか否かを示し、アドレス4の領域がパケットPKTに設けられるとき、“1”が設定され、アドレス4の領域がパケットPKTに設けられないとき、“0”が設定される。From DSは、パケットPKTが転送されたパケットであるか否かを示し、パケットPKTが転送されたパケットであるとき、“1”が設定され、パケットPKTが転送されたパケットでないとき、“0”が設定される。More Fragは、MAC層よりも上位層のパケットを複数に分割して送信する特別の場合に用いられ、“1”が格納された場合、当該フレームに後続するフレームが存在することを示す。Retryは、再送フレームか否かを示し、“1”が格納された場合、再送フレームであることを示す。PMは、送信局のモードが省電力モードか否かを示す。WEPは、暗号化の有無を示す。Orderは、ストリクトリ・オーダード・サービス・クラス(中継順序を入れ替えてはならないサービス・クラス)であるか否かを示す。
[ルーティングテーブルの作成]
次に、ルーティングテーブル17を作成する方法について説明する。
(1)テーブル駆動型プロトコル
まず、テーブル駆動型プロトコルを用いてルーティングテーブル17を作成する方法について説明する。テーブル駆動型プロトコルとしてOLSRプロトコルを用いる。
無線装置31〜43は、OLSRプロトコルを用いてルーティングテーブル17を作成する場合、HelloメッセージおよびTCメッセージを送受信する。
Helloメッセージは、各無線装置31〜43が有する情報の配信を目的として、定期的に送信される。このHelloメッセージを受信することによって、各無線装置31〜43は、周辺の無線装置に関する情報を収集でき、自己の周辺にどのような無線装置が存在するのかを認識する。
OLSRプロトコルにおいては、各無線装置31〜43は、ローカルリンク情報を管理する。そして、Helloメッセージは、このローカルリンク情報の構築および送信を行なうためのメッセージである。ローカルリンク情報は、「リンク集合」、「隣接無線装置集合」、「2ホップ隣接無線装置集合とそれらの無線装置へのリンク集合」、「MPR(Multipoint Relay)集合」、および「MPRセレクタ集合」を含む。
リンク集合は、直接的に電波が届く無線装置(隣接無線装置)の集合へのリンクのことであり、各リンクは2つの無線装置間のアドレスの組の有効時間によって表現される。なお、有効時間は、そのリンクが単方向なのか双方向なのかを表すためにも利用される。
隣接無線装置集合は、各隣接無線装置のアドレス、およびその無線装置の再送信の積極度(Willingness)等によって構成される。2ホップ隣接無線装置集合は、隣接無線装置に隣接する無線装置の集合を表す。
MPR集合は、MPRとして選択された無線装置の集合である。なお、MPRとは、各パケットPKTを無線通信ネットワーク100の全ての無線装置31〜43へ送信する場合、各無線装置31〜43が1つのパケットPKTを1回だけ送受信することによってパケットPKTを全ての無線装置31〜43へ送信できるように中継無線装置を選択することである。MPRセレクタ集合は、自己をMPRとして選択した無線装置の集合を表す。
ローカルリンク情報が確立される過程は、概ね、次のようになる。Helloメッセージは、初期の段階では、各無線装置31〜43が自己の存在を知らせるために、自己のアドレスが入ったHelloメッセージを隣接する無線装置へ送信する。これを、無線装置31〜43の全てが行ない、各無線装置31〜43は、自己の周りにどのようなアドレスを持った無線装置が存在するのかを把握する。このようにして、リンク集合および隣接無線装置集合が構築される。
そして、構築されたローカルリンク情報は、再び、Helloメッセージによって定期的に送り続けられる。これを繰返すことによって、各リンクが双方向であるのか、隣接無線装置の先にどのような無線装置が存在するのかが徐々に明らかになって行く。各無線装置31〜43は、このように徐々に構築されたローカルリンク情報を蓄える。
更に、MPRに関する情報も、Helloメッセージによって定期的に送信され、各無線装置31〜43へ告知される。各無線装置31〜43は、自己が送信するパケットPKTの再送信を依頼する無線装置として、いくつかの無線装置をMPR集合として隣接無線装置の中から選択している。そして、このMPR集合に関する情報は、Helloメッセージによって隣接する無線装置へ送信されるので、このHelloメッセージを受信した無線装置は、自己がMPRとして選択してきた無線装置の集合を「MPRセレクタ集合」として管理する。このようにすることにより、各無線装置31〜43は、どの無線装置から受信したパケットPKTを再送信すればよいのかを即座に認識できる。
Helloメッセージの送受信により各無線装置31〜43において、ローカルリンク集合が構築されると、無線通信ネットワーク100全体のトポロジーを知らせるためのTCメッセージが無線装置31〜43へ送信される。このTCメッセージは、MPRとして選択されている全ての無線装置によって定期的に送信される。そして、TCメッセージは、各無線装置とMPRセレクタ集合との間のリンクを含んでいるため、無線通信ネットワーク100の全ての無線装置31〜43は、全てのMPR集合および全てのMPRセレクタ集合を知ることができ、全てのMPR集合および全てのMPRセレクタ集合に基づいて、無線通信ネットワーク100全体のトポロジーを知ることができる。各無線装置31〜43は、無線通信ネットワーク100全体のトポロジーを用いて最短路を計算し、それに基づいて経路表を作成する。
なお、各無線装置31〜43は、Helloメッセージとは別に、TCメッセージを頻繁に交換する。そして、TCメッセージの交換にも、MPRが利用される。
無線装置31〜43の通信モジュール16は、上述したHelloメッセージおよびTCメッセージを送受信し、受信したHelloメッセージおよびTCメッセージに基づいて無線通信ネットワーク100全体のトポロジーを認識し、その認識した無線通信ネットワーク100全体のトポロジーに基づいて、最短路を計算し、それに基づいて、図4に示すルーティングテーブル17を作成する。
図6は、図4に示すルーティングテーブル17の具体例を示す図である。例えば、図1に示す無線装置36の通信モジュール16は、上述した方法によって、[送信先/次の無線装置]=[無線装置31/無線装置32],[無線装置32/無線装置32],[無線装置42/無線装置39],[無線装置39/無線装置39]からなるルーティングテーブル17Aを作成する(図6参照)。
(2)オンデマンド型プロトコル
次に、オンデマンド型プロトコルを用いたルーティングテーブル17の作成について説明する。無線通信ネットワーク100内の無線装置31〜43の各々は、オンデマンド型プロトコルを用いてルーティングテーブル17を作成する場合、送信先のIPアドレスを含むルート要求パケットRREQをブロードキャストし、送信先の無線装置からルート返答パケットRREPを受信して送信先との間で無線通信経路を確立する過程においてルーティングテーブル17を作成する。
例えば、図1において、無線装置31が無線装置42との間で無線通信経路を確立する場合を例にして説明する。無線装置31の通信モジュール16は、送信元である無線装置31のIPアドレスIPadd31、送信先である無線装置42のIPアドレスIPadd42、ホップ数Hopおよび中継無線装置(送信元の無線装置を含む)のIPアドレスIPadd_Tを含むルート要求パケットRREQ=[IPadd42/IPadd31/0/IPadd31]を生成してブロードキャストする。
無線装置31からブロードキャストされたルート要求パケットRREQは、無線装置32〜41,43によって中継され、無線装置42へ送信される。この場合、中継無線装置である無線装置32〜41,43は、ルート要求パケットRREQを中継する毎に、ホップ数Hopを“1”だけインクリメントするとともに、自己のIPアドレスによってIPadd_Tを更新して送信する。
例えば、無線装置32の通信モジュール16は、ルート要求パケットRREQ=[IPadd42/IPadd31/0/IPadd31]をルート要求パケットRREQ=[IPadd42/IPadd31/1/IPadd32]に更新して中継する。また、無線装置35の通信モジュール16は、ルート要求パケットRREQ=[IPadd42/IPadd31/1/IPadd32]をルート要求パケットRREQ=[IPadd42/IPadd31/2/IPadd35]に更新して中継する。
これによって、無線装置32〜41,43の各々は、ルート要求パケットRREQを自己に送信した無線装置を検知できるとともに、自己から送信元の無線装置31までのホップ数を検知できる。例えば、無線装置32の通信モジュール16は、ルート要求パケットRREQを自己に送信した無線装置を“無線装置31”と検知し、無線装置31までのホップ数を“1(=0+1)”と検知する。また、無線装置35の通信モジュール16は、ルート要求パケットRREQを自己に送信した無線装置を“無線装置32”と検知し、無線装置31までのホップ数を“2(=1+1)”と検知する。
送信先である無線装置42の通信モジュール16は、無線装置42に隣接する無線装置39,40,41から複数のルート要求パケットRREQを受信し、無線装置31との間の無線通信を承諾する場合、複数のルート要求パケットRREQのうち、ホップ数が最も小さいルート要求パケットRREQを送信した無線装置へルート返答パケットRREPを作成して送信する。この場合、ルート返答パケットRREPは、送信先のIPアドレスIPadd31、送信元のIPアドレスIPadd42、ホップ数、および中継無線装置のIPアドレスIPadd_Tを含む。従って、無線装置42の通信モジュール16は、ルート返答パケットRREP=[IPadd31/IPadd42/0/IPadd42]を作成して無線装置39へ送信する。
無線装置39の通信モジュール16は、ルート返答パケットRREP=[IPadd31/IPadd42/0/IPadd42]をルート返答パケットRREP=[IPadd31/IPadd42/1/IPadd39]に更新して中継する。そして、ルート返答パケットRREPは、無線装置36および無線装置32によって、順次、中継されて無線装置31へ送信される。
この場合、ルート返答パケットRREPを中継する無線装置32,36,39は、ルート要求パケットRREQを中継する過程においてホップ数が最小であるルート要求パケットRREQを自己に送信した無線装置へルート返答パケットRREPを中継する。
これによって、無線装置32,36,39の各々は、ルート返答パケットRREPを中継する過程において、ルート返答パケットRREPを自己に送信した無線装置を検知できるとともに、自己から送信元の無線装置42までのホップ数を検知できる。例えば、無線装置39の通信モジュール16は、ルート返答パケットRREPを自己に送信した無線装置を“無線装置42”と検知し、無線装置42までのホップ数を“1(=0+1)”と検知する。また、無線装置36の通信モジュール16は、ルート返答パケットRREPを自己に送信した無線装置を“無線装置39”と検知し、無線装置42までのホップ数を“2(=1+1)”と検知する。
ルート返答パケットRREPが無線装置31へ到着すると、無線装置31−無線装置32−無線装置36−無線装置39−無線装置42からなる無線通信経路が確立される。
そして、無線装置32,36,39の各々は、この無線通信経路を確立する過程において、各無線装置を送信先とするルーティングテーブル17を作成する。例えば、無線装置36の通信モジュール16は、ルート要求パケットRREQを中継する過程において、無線装置32が無線装置36に隣接する無線装置であり、無線装置36から2ホップの位置に無線装置31が存在し、無線装置31を送信先とするときの“次の無線装置”が無線装置32であることを認識する。また、無線装置36の通信モジュール16は、ルート返答パケットRREPを中継する過程において、無線装置39が無線装置36に隣接する無線装置であり、無線装置36から2ホップの位置に無線装置42が存在し、無線装置42を送信先とするときの“次の無線装置”が無線装置39であることを認識する。従って、無線装置36の通信モジュール16は、[送信先/次の無線装置]=[無線装置31/無線装置32],[無線装置32/無線装置32],[無線装置42/無線装置39],[無線装置39/無線装置39]からなるルーティングテーブル17Aを作成する(図6参照)。
[転送テーブルの作成]
転送テーブル15を作成する方法について説明する。図7は、IPアドレスとMACアドレスとの対応表を示す図である。図1に示す無線装置31〜43のうち、無線装置36の転送モジュール14が転送テーブル15を作成する場合を例にして転送テーブル15を作成する方法について説明する。
無線装置36の転送モジュール14は、転送テーブル15を作成する場合、自己が搭載された無線装置36のIPアドレスIPadd36を通信モジュール16から取得する。そして、無線装置36の転送モジュール14は、無線装置36のMACアドレスMACadd36を保持しているため、通信モジュール16から取得したIPアドレスIPadd36と、保持しているMACアドレスMACadd36とに基づいて、対応表RLT1(図7の(a)参照)を作成する。無線装置36の転送モジュール14は、対応表RLT1を作成すると、その作成した対応表RLT1を送信する。
無線装置36以外の無線装置31〜35,37〜43の転送モジュール14も、同様にして自己が搭載された無線装置におけるIPアドレスとMACアドレスとの対応表を作成し、その作成した対応表を送信する。
そして、無線装置36の転送モジュール14は、無線装置35から対応表RLT2(図7の(b)参照)を受信し、その受信した対応表RLT2の内容と、自己が保持する対応表RLT1の内容とが異なるので、対応表RLT2のIPアドレスIPadd35とMACアドレスMACadd35との対応関係を対応表RLT1に登録する。これによって、対応表RLT1は、対応表RLT3(図7の(c)参照)に更新される。そして、無線装置36の転送モジュール14は、自己が保持する対応表が更新されると、例えば、5秒間隔で、その更新された対応表を送信する。
また、無線装置36の転送モジュール14は、無線装置35以外の隣接する無線装置32,37,38,39,41からも対応表を受信し、その受信した対応表に基づいて、自己が保持する対応表を更新し、その更新した対応表を5秒間隔で送信する。
このように、無線装置36の転送モジュール14は、対応表を更新するごとに、その更新した対応表を一定時間間隔で送信するとともに、更新された対応表を他の無線装置から一定時間間隔で受信することによって、無線装置36に隣接する無線装置32,35,37,38,39,41のみならず、無線装置36から2ホップ以上離れた無線装置31,33,34,40,42,43におけるIPアドレスIPaddとMACアドレスMACaddとの対応関係も取得でき、最終的に、無線通信ネットワーク100内の全ての無線装置31〜43におけるIPアドレスIPaddとMACアドレスMACaddとの対応関係を示す対応表RLT4(図7の(d)参照)を作成できる。
そして、無線装置36の転送モジュール14は、対応表RLT4を作成した後に、他の無線装置から対応表を受信すると、その受信した対応表の内容と、自己が保持する対応表の内容との間に差分があれば、その差分を自己が保持する対応表RLT4に登録して対応表RLT4を更新するとともに、その更新した対応表RLT4を定期的に送信する。一方、無線装置36の転送モジュール14は、受信した対応表の内容と、自己が保持する対応表の内容との間に差分がなければ、対応表の定期送信を中止し、後述するパケットの転送モードへ移行する。
図8は、転送テーブルの具体例を示す図である。無線装置36の転送モジュール14は、対応表RLT4を作成すると、通信モジュール16からルーティングテーブル17A(図6参照)を取得する。そして、無線装置36の転送モジュール14は、作成した対応表RLT4と、取得したルーティングテーブル17Aとに基づいて、転送テーブル15Aを作成する。
より具体的には、無線装置36の転送モジュール14は、取得したルーティングテーブル17Aの“送信先”のIPアドレスIPadd31を検出し、その検出したIPアドレスIPadd31に対応するMACアドレスMACadd31を対応表RLT4を参照して検出する。次に、無線装置36の転送モジュール14は、ルーティングテーブル17Aの“次の無線装置”のIPアドレスIPadd32を検出し、その検出したIPアドレスIPadd32に対応するMACアドレスMACadd32を対応表RLT4を参照して検出する。そうすると、無線装置36の転送モジュール14は、ルーティングテーブル17AのIPアドレスIPadd31,IPadd32をそれぞれMACアドレスMACadd31,MACadd32に書換える。
以下、同様にして、無線装置36の転送モジュール14は、ルーティングテーブル17Aの第2行目〜第4行目に格納されたIPアドレスをMACアドレスに書換えて転送テーブル15A(図8参照)を作成する。
なお、無線装置36以外の無線装置31〜35,37〜43の各々の転送モジュール14も、上述した方法によって、各無線装置31〜43におけるIPアドレスIPaddとMACアドレスMACaddとの対応関係を示す対応表RLT4を作成するとともに、転送テーブル15を作成する。
引き続いて、転送モジュール14によるパケットPKTの転送処理について説明する。図9は、図1に示す無線通信ネットワーク100において形成されるアドホックネットワークの構成を示す概略図である。無線通信ネットワーク100においては、例えば、無線装置31,32,36,39,42は、アドホックネットワークを自律的に構成する。
そして、通信領域REG1〜REG5は、それぞれ、無線装置31,32,36,39,42の通信領域である。従って、無線装置31は、無線装置32と直接無線通信を行なうことができるが、無線装置36と直接無線通信を行なうことができず、無線装置32を介して無線装置36と無線通信を行なうことができる。また、無線装置31は、無線装置32,36を介して無線装置39と無線通信を行なうことができ、無線装置32,36,39を介して無線装置42と無線通信を行なうことができる。即ち、無線装置31は、無線装置36,39,42とは、マルチホップの無線通信によってパケットPKTを送受信できる。
このような、マルチホップ無線通信ネットワークにおいて、パケットPKTを送信元から送信先へ送信する場合、パケットPKTのアドレスフィールドは、次のように設定される。表1は、パケットPKTのアドレスフィールドの内容を示す。
隣接する2つの無線装置である無線装置31,32間でパケットPKTが無線装置31から無線装置32へ送信される場合、パケットPKTのTo DSおよびFrom DSには、“0”が設定され、送信先を示すアドレス1には、“MACadd32”が設定され、送信元を示すアドレス2には、“MACadd31”が設定され、アドレス3には、“IBSSID”が格納され、アドレス4の領域は、設けられない。
また、パケットPKTが無線装置31から無線装置36へ送信される場合、2つの区間:無線装置31→無線装置32,無線装置32→無線装置36を経由してパケットPKTが無線装置36へ送信される。そして、区間:無線装置31→無線装置32においては、パケットPKTのTo DSには、“1”が設定され、From DSには、“0”が設定され、アドレス1には、“MACadd32”が設定され、アドレス2には、“MACadd31”が設定され、アドレス3には、“IBSSID”が格納され、アドレス4には、最終的な送信先を示す“MACadd36”が設定される。また、区間:無線装置32→無線装置36においては、パケットPKTのTo DSには、“0”が設定され、From DSには、“1”が設定され、アドレス1には、“MACadd36”が設定され、アドレス2には、“MACadd32”が設定され、アドレス3には、“IBSSID”が格納され、アドレス4の領域は、設けられない。
更に、パケットPKTが無線装置31から無線装置39へ送信される場合、3つの区間:無線装置31→無線装置32,無線装置32→無線装置36,無線装置36→無線装置39を経由してパケットPKTが無線装置39へ送信され、パケットPKTが無線装置31から無線装置42へ送信される場合、4つの区間:無線装置31→無線装置32,無線装置32→無線装置36,無線装置36→無線装置39,無線装置39→無線装置42を経由してパケットPKTが無線装置42へ送信される。
そして、パケットPKTが無線装置31から無線装置39へ送信される場合、区間:無線装置31→無線装置32,無線装置32→無線装置39の各々において、To DSには、“1”が設定され、アドレス4には、最終的な送信先を示す“MACadd39”が設定されるとともに、区間:無線装置36→無線装置39において、To DSには“0”が設定され、アドレス4には、アドレスが設定されない。また、パケットPKTが無線装置31から無線装置42へ送信される場合、区間:無線装置31→無線装置32,無線装置32→無線装置36,無線装置36→無線装置39の各々において、To DSには、“1”が設定され、アドレス4には、最終的な送信先を示す“MACadd42”が設定されるとともに、区間:無線装置39→無線装置42において、To DSには“0”が設定され、アドレス4の領域は、設けられない。
更に、全ての場合において、パケットPKTが転送されたパケットであるとき、From DSには、“1”が設定され、パケットPKTが転送されたパケットでないとき、From DSには、“0”が設定される。
このように、各区間の送信先が最終的な送信先でないとき、To DSには、“1”が設定されるとともに、アドレス4の領域が設けられ、その設けられたアドレス4の領域に最終的な送信先のアドレスが設定される。また、各区間の送信先が最終的な送信先であるとき、To DSには、“0”が設定され、アドレス4の領域は、設けられない。
パケットPKTの転送処理について説明する。図10は、転送テーブルの他の具体例を示す図である。無線装置31,32,36,39の転送モジュール14は、それぞれ、転送テーブル15B,15C,15D,15Eを上述した方法によって作成する。
[1ホップによる無線通信]
図11は、1ホップによる無線通信に用いられるパケットPKTの概念図である。また、図12は、1ホップによる無線通信の概念図である。なお、図12における太実線は、パケットPKTの流れを示す。
無線装置31が無線装置32へパケットPKTを送信する場合、無線装置31の転送モジュール14は、通信モジュール16から受けたIPパケットをデータ部に格納する。そして、無線装置31の転送モジュール14は、無線装置32を最終的な送信先とするときの“次の無線装置”のMACアドレスMACadd32を転送テーブル15B(図10の(a)参照)から検出し、To DS=“0”、From DS=“0”、アドレス1=“MACadd32”、アドレス2=“MACadd31”、アドレス3=“IBSSID”からなるMACヘッダ部をデータ部に付加してパケットPKT1を生成する。なお、この場合、無線装置31の転送モジュール14は、アドレス4の領域をMACヘッダ部に設けない(図11参照)。無線装置31の転送モジュール14は、パケットPKT1を生成すると、その生成したパケットPKT1を無線インターフェースモジュール13を介して無線装置32へ送信する。
そうすると、無線装置32の転送モジュール14は、パケットPKT1を無線インターフェースモジュール13を介して受信し、その受信したパケットPKT1のMACヘッダ部のアドレス1に“MACadd32”が設定されており、MACヘッダ部のTo DSに“0”が設定されていることを検出してパケットPKT1が無線装置32を最終的な送信先とするパケットPKTであることを検知する。そして、無線装置32の転送モジュール14は、パケットPKT1を通信モジュール16へ出力し、通信モジュール16は、転送モジュール14からのパケットPKT1を受信する(図12参照)。
この場合、無線装置32の転送モジュール14は、“To DS”に設定されている値を参照してパケットPKT1の最終的な送信先が無線装置32であるか否かを判定するので、パケットPKT1の転送処理を高速化できる。
[2ホップによる無線通信]
図13は、2ホップによる無線通信に用いられるパケットPKTの概念図である。また、図14は、2ホップによる無線通信の概念図である。なお、図14における太実線は、この発明による通信方式におけるパケットPKTの流れを示し、太点線は、従来の通信方式におけるパケットPKTの流れを示す。
無線装置31が無線装置32を介して無線装置36へパケットPKTを送信する場合、無線装置31の転送モジュール14は、通信モジュール16から受けたIPパケットをデータ部に格納する。そして、無線装置31の転送モジュール14は、無線装置36を最終的な送信先とするときの“次の無線装置”のMACアドレスMACadd32を転送テーブル15B(図10の(a)参照)から検出し、To DS=“1”、From DS=“0”、アドレス1=“MACadd32”、アドレス2=“MACadd31”、アドレス3=“IBSSID”、アドレス4=“MACadd36”からなるMACヘッダ部をデータ部に付加してパケットPKT2を生成し(図13参照)、その生成したパケットPKT2を無線インターフェースモジュール13を介して無線装置32へ送信する。
そうすると、無線装置32の転送モジュール14は、無線インターフェースモジュール13を介してパケットPKT2を受信し、その受信したパケットPKT2のMACヘッダ部のアドレス1に“MACadd32”が設定されていることを検出してパケットPKT2が無線装置32宛てのパケットであることを検知する。そして、無線装置32の転送モジュール14は、MACヘッダ部のTo DSに“1”が設定されていることを検出してアドレス4が設定されていることを検知し、アドレス4に“MACadd36”が設定されていることを検出する。そして、無線装置32の転送モジュール14は、パケットPKT2の最終的な送信先が無線装置36であることを検知し、その検知した無線装置36を最終的な送信先とするときの“次の無線装置”を転送テーブル15C(図10の(b)参照)に基づいて検出する。この場合、最終的な送信先である無線装置36のMACアドレスMACadd36に対応する“次の無線装置”のMACアドレスは、“MACadd36”であるので、無線装置32の転送モジュール14は、転送テーブル15Cから“MACadd36”を検出し、パケットPKT2のアドレス1を“MACadd32”から“MACadd36”に書き換え、パケットPKT2のアドレス2を“MACadd31”から“MACadd32”に書き換え、パケットPKT2のTo DSを“1”から“0”に更新し、パケットPKT2のFrom DSを“0”から“1”に更新し、パケットPKT2のアドレス4の領域を削除したパケットPKT3を作成して無線装置36へ送信する(図13および図14参照)。
無線装置36の転送モジュール14は、無線インターフェースモジュール13を介してパケットPKT3を受信し、その受信したパケットPKT3のMACヘッダ部のアドレス1に“MACadd36”が設定されており、MACヘッダ部のTo DSに“0”が設定されていることを検出してパケットPKT3が無線装置36を最終的な送信先とするパケットPKTであることを検知する(図13参照)。なお、無線装置36の転送モジュール14は、MACヘッダのFrom DSに“1”が設定されていることを検出してパケットPKT3が転送されたパケットであることを検知する。そして、無線装置36の転送モジュール14は、パケットPKT3を通信モジュール16へ出力し、通信モジュール16は、パケットPKT3を受信する(図14参照)。
このように、無線装置31が無線装置32を介して無線装置36へパケットPKTを送信する場合、パケットPKTは、中継端末である無線装置32の通信モジュール16ではなく、通信モジュール16よりも下位の層に設けられた転送モジュール14によって無線装置36へ転送される。そして、無線装置32の転送モジュール14は、MACアドレスからなる転送テーブル15に従ってパケットPKTを転送する。従って、無線装置32におけるパケットPKTの転送処理時間が短縮され、パケットPKTの転送処理を高速化できる。
また、パケットPKTが無線装置32から無線装置36へ送信される場合、MACヘッダ部には、アドレス領域4の領域が存在しないので(図13のパケットPKT3参照)、パケットPKT3のサイズをパケットPKT2のサイズよりも小さくできる。従って、無線装置32の転送モジュール14によるパケットPKTの転送処理を更に高速化できる。
[3ホップによる無線通信]
図15は、3ホップによる無線通信に用いられるパケットPKTの概念図である。また、図16は、3ホップによる無線通信の概念図である。なお、図16における太実線は、この発明による通信方式におけるパケットPKTの流れを示し、太点線は、従来の通信方式におけるパケットPKTの流れを示す。
無線装置31が無線装置32,36を介して無線装置39へパケットPKTを送信する場合、無線装置31の転送モジュール14は、通信モジュール16から受けたIPパケットをデータ部に格納する。そして、無線装置31の転送モジュール14は、無線装置39を最終的な送信先とするときの“次の無線装置”のMACアドレスMACadd32を転送テーブル15B(図10の(a)参照)から検出し、To DS=“1”、From DS=“0”、アドレス1=“MACadd32”、アドレス2=“MACadd31”、アドレス3=“IBSSID”、アドレス4=“MACadd39”からなるMACヘッダ部をデータ部に付加してパケットPKT4を生成し(図15参照)、その生成したパケットPKT4を無線インターフェースモジュール13を介して無線装置32へ送信する(図16参照)。
そうすると、無線装置32の転送モジュール14は、無線インターフェースモジュール13を介してパケットPKT4を受信し、その受信したパケットPKT4のMACヘッダ部のアドレス1に“MACadd32”が設定されていることを検出してパケットPKT4が無線装置32宛てのパケットであることを検知する。そして、無線装置32の転送モジュール14は、MACヘッダのTo DSに“1”が設定されていることを検出してアドレス4が設定されていることを検知し、アドレス4に“MACadd39”が設定されていることを検出する。そして、無線装置32の転送モジュール14は、パケットPKT4の最終的な送信先が無線装置39であることを検知し、その検知した無線装置39を最終的な送信先とするときの“次の無線装置”を転送テーブル15C(図10の(b)参照)に基づいて検出する。この場合、最終的な送信先である無線装置39のMACアドレスMACadd39に対応する“次の無線装置”のMACアドレスは、“MACadd36”であるので、無線装置32の転送モジュール14は、転送テーブル15Cから“MACadd36”を検出し、パケットPKT4のアドレス1を“MACadd32”から“MACadd36”に書き換え、パケットPKT4のアドレス2を“MACadd31”から“MACadd32”に書き換え、パケットPKT4のFrom DSを“0”から“1”に更新したパケットPKT5を作成して無線装置36へ送信する(図15および図16参照)。
無線装置36の転送モジュール14は、無線インターフェースモジュール13を介してパケットPKT5を受信し、その受信したパケットPKT5のMACヘッダ部のアドレス1に“MACadd36”が設定されていることを検出してパケットPKT5が無線装置36宛てのパケットであることを検知する。そして、無線装置36の転送モジュール14は、MACヘッダのTo DSに“1”が設定されていることを検出してアドレス4が設定されていることを検知し、アドレス4に“MACadd39”が設定されていることを検出する。また、無線装置36の転送モジュール14は、MACヘッダ部のFrom DSに“1”が設定されていることを検出してパケットPKT5が転送されたパケットであることを検知する。そして、無線装置36の転送モジュール14は、パケットPKT5の最終的な送信先が無線装置39であることを検知し、その検知した無線装置39を最終的な送信先とするときの“次の無線装置”を転送テーブル15D(図10の(c)参照)に基づいて検出する。この場合、最終的な送信先である無線装置39のMACアドレスMACadd39に対応する“次の無線装置”のMACアドレスは、“MACadd39”であるので、無線装置36の転送モジュール14は、転送テーブル15Dから“MACadd39”を検出し、パケットPKT5のアドレス1を“MACadd36”から“MACadd39”に書き換え、パケットPKT5のアドレス2を“MACadd32”から“MACadd36”に書き換え、パケットPKT5のTo DSを“1”から“0”に更新し、パケットPKT5のアドレス4の領域を削除したパケットPKT6を作成して無線装置39へ送信する(図15および図16参照)。
無線装置39の転送モジュール14は、無線インターフェースモジュール13を介してパケットPKT6を受信し、その受信したパケットPKT6のMACヘッダ部のアドレス1に“MACadd39”が設定されており、MACヘッダ部のTo DSに“0”が設定されていることを検出してパケットPKT6が無線装置39を最終的な送信先とするパケットPKTであることを検知する。なお、無線装置39の転送モジュール14は、MACヘッダ部のFrom DSに“1”が設定されていることを検出してパケットPKT6が転送されたパケットであることを検知する(図15参照)。そして、無線装置39の転送モジュール14は、パケットPKT6を通信モジュール16へ出力し、通信モジュール16は、パケットPKT6を受信する。
このように、無線装置31が無線装置32,36を介して無線装置39へパケットPKTを送信する場合、パケットPKTは、中継端末である無線装置32,36の通信モジュール16ではなく、通信モジュール16よりも下位の層に設けられた転送モジュール14によって無線装置39へ転送される。そして、無線装置32,36の転送モジュール14は、MACアドレスからなる転送テーブル15に従ってパケットPKTを転送する。従って、無線装置32,36におけるパケットPKTの転送処理時間が短縮され、パケットPKTの転送処理を高速化できる。
また、パケットPKTが無線装置36から無線装置39へ送信される場合、MACヘッダ部には、アドレス領域4の領域が存在しないので(図15のパケットPKT6参照)、パケットPKT6のサイズをパケットPKT4,PKT5のサイズよりも小さくできる。従って、無線装置36の転送モジュール14によるパケットPKTの転送処理を更に高速化できる。
[4ホップによる無線通信]
図17は、4ホップによる無線通信に用いられるパケットPKTの概念図である。また、図18は、4ホップによる無線通信の概念図である。なお、図18における太実線は、この発明による通信方式におけるパケットPKTの流れを示し、太点線は、従来の通信方式におけるパケットPKTの流れを示す。
無線装置31が無線装置32,36,39を介して無線装置42へパケットPKTを送信する場合、無線装置31の転送モジュール14は、通信モジュール16から受けたIPパケットをデータ部に格納する。そして、無線装置31の転送モジュール14は、無線装置42を最終的な送信先とするときの“次の無線装置”のMACアドレスMACadd32を転送テーブル15B(図10の(a)参照)から検出し、To DS=“1”、From DS=“0”、アドレス1=“MACadd32”、アドレス2=“MACadd31”、アドレス3=“IBSSID”、アドレス4=“MACadd42”からなるMACヘッダ部をデータ部に付加してパケットPKT7を生成し(図17参照)、その生成したパケットPKT7を無線インターフェースモジュール13を介して無線装置32へ送信する(図18参照)。
そうすると、無線装置32の転送モジュール14は、無線インターフェースモジュール13を介してパケットPKT7を受信し、その受信したパケットPKT7のMACヘッダ部のアドレス1に“MACadd32”が設定されていることを検出してパケットPKT7が無線装置32宛てのパケットであることを検知する。そして、無線装置32の転送モジュール14は、MACヘッダのTo DSに“1”が設定されていることを検出してアドレス4が設定されていることを検知し、アドレス4に“MACadd42”が設定されていることを検出する。そして、無線装置32の転送モジュール14は、パケットPKT7の最終的な送信先が無線装置42であることを検知し、その検知した無線装置42を最終的な送信先とするときの“次の無線装置”を転送テーブル15C(図10の(b)参照)に基づいて検出する。この場合、最終的な送信先である無線装置42のMACアドレスMACadd42に対応する“次の無線装置”のMACアドレスは、“MACadd36”であるので、無線装置32の転送モジュール14は、転送テーブル15Cから“MACadd36”を検出し、パケットPKT7のアドレス1を“MACadd32”から“MACadd36”に書き換え、パケットPKT7のアドレス2を“MACadd31”から“MACadd32”に書き換え、パケットPKT7のFrom DSを“0”から“1”に更新したパケットPKT8を作成して無線装置36へ送信する(図17および図18参照)。
無線装置36の転送モジュール14は、無線インターフェースモジュール13を介してパケットPKT8を受信し、その受信したパケットPKT8のMACヘッダ部のアドレス1に“MACadd36”が設定されていることを検出してパケットPKT8が無線装置36宛てのパケットであることを検知する。そして、無線装置36の転送モジュール14は、MACヘッダ部のTo DSに“1”が設定されていることを検出してアドレス4が設定されていることを検知し、アドレス4に“MACadd42”が設定されていることを検出する。また、無線装置36の転送モジュール14は、MACヘッダ部のFrom DSに“1”が設定されていることを検出してパケットPKT8が転送されたパケットであることを検知する(図17参照)。そして、無線装置36の転送モジュール14は、パケットPKT8の最終的な送信先が無線装置42であることを検知し、その検知した無線装置42を最終的な送信先とするときの“次の無線装置”を転送テーブル15D(図10の(c)参照)に基づいて検出する。この場合、最終的な送信先である無線装置42のMACアドレスMACadd42に対応する“次の無線装置”のMACアドレスは、“MACadd39”であるので、無線装置36の転送モジュール14は、転送テーブル15Dから“MACadd39”を検出し、パケットPKT8のアドレス1を“MACadd36”から“MACadd39”に書き換え、パケットPKT8のアドレス2を“MACadd32”から“MACadd36”に書き換えたパケットPKT9を作成して無線装置39へ送信する(図17および図18参照)。
無線装置39の転送モジュール14は、無線インターフェースモジュール13を介してパケットPKT9を受信し、その受信したパケットPKT9のMACヘッダ部のアドレス1に“MACadd39”が設定されていることを検出してパケットPKT9が無線装置39宛てのパケットであることを検知する。そして、無線装置39の転送モジュール14は、MACヘッダのTo DSに“1”が設定されていることを検出してアドレス4が設定されていることを検知し、アドレス4に“MACadd42”が設定されていることを検出する。また、無線装置39の転送モジュール14は、MACヘッダ部のFrom DSに“1”が設定されていることを検出してパケットPKT9が転送されたパケットであることを検知する(図17参照)。そして、無線装置39の転送モジュール14は、パケットPKT9の最終的な送信先が無線装置42であることを検知し、その検知した無線装置42を最終的な送信先とするときの“次の無線装置”を転送テーブル15E(図10の(d)参照)に基づいて検出する。この場合、最終的な送信先である無線装置42のMACアドレスMACadd42に対応する“次の無線装置”のMACアドレスは、“MACadd42”であるので、無線装置39の転送モジュール14は、転送テーブル15Eから“MACadd42”を検出し、パケットPKT9のアドレス1を“MACadd39”から“MACadd42”に書き換え、パケットPKT9のアドレス2を“MACadd36”から“MACadd39”に書き換え、パケットPKT9のTo DSを“1”から“0”に更新し、パケットPKT9のアドレス4の領域を削除したパケットPKT10を作成して無線装置42へ送信する(図17および図18参照)。
無線装置42の転送モジュール14は、無線インターフェースモジュール13を介してパケットPKT10を受信し、その受信したパケットPKT10のMACヘッダ部のアドレス1に“MACadd42”が設定されており、MACヘッダ部のTo DSに“0”が設定されていることを検出してパケットPKT10が無線装置42を最終的な送信先とするパケットPKTであることを検知する。なお、無線装置42の転送モジュール14は、MACヘッダ部のFrom DSに“1”が設定されていることを検出してパケットPKT10が転送されたパケットであることを検知する(図17参照)。そして、無線装置42の転送モジュール14は、パケットPKT10を通信モジュール16へ出力し、通信モジュール16は、パケットPKT10を受信する。
このように、無線装置31が無線装置32,36,39を介して無線装置42へパケットPKTを送信する場合、パケットPKTは、中継端末である無線装置32,36,39の通信モジュール16ではなく、通信モジュール16よりも下位の層に設けられた転送モジュール14によって無線装置42へ転送される。そして、無線装置32,36,39の転送モジュール14は、MACアドレスからなる転送テーブル15に従ってパケットPKTを転送する。従って、無線装置32,36,39におけるパケットPKTの転送処理時間が短縮され、パケットPKTの転送処理を高速化できる。
また、パケットPKTが無線装置39から無線装置42へ送信される場合、MACヘッダ部には、アドレス4の領域が存在しないので(図17のパケットPKT10参照)、パケットPKT10のサイズをパケットPKT7〜PKT9のサイズよりも小さくできる。従って、無線装置39の転送モジュール14によるパケットPKTの転送処理を更に高速化できる。
上述したように、送信元以外の無線装置32,36,39,42においては、通信モジュール16よりも下位の層に配置された転送モジュール14が無線装置31,32,36,39から受信したパケットPKTを当該無線装置の通信モジュール16へ出力し、または他の無線装置へ転送する転送処理を行なうので、パケットPKTの転送処理を高速化できる。
また、無線装置31,32,36,39の転送モジュール14は、パケットPKTを最終的な送信先へ送信または転送する場合、MACヘッダの“To DS”に“0”を設定し、アドレス4の領域を設けずにパケットPKTを作成する(パケットPKT1,PKT3,PKT6,PKT10参照)。一方、無線装置31,32,36,39の転送モジュール14は、パケットPKTを最終的な送信先以外の無線装置へ送信または転送する場合、MACヘッダの“To DS”に“1”を設定し、アドレス4の領域を設けてパケットPKTを作成する(パケットPKT2,PKT4,PKT5,PKT7〜PKT9参照)。このように、アドレス4の領域は、パケットPKTを最終的な送信先へ直接送信する場合には、設けられず、パケットPKTを送信または中継する無線装置31,32,36,39と最終的な送信先(=無線装置36,39,42)との間に少なくとも1つの中継端末(=無線装置32,36,39)が存在する場合にパケットPKTに設けられる。
そして、無線装置32,36,39,42の転送モジュール14は、それぞれ、無線装置31,32,36,39から受信したパケットPKTのMACヘッダ部に含まれる“To DS”に“0”が設定されていれば、アドレス4の領域が設けられておらず、受信したパケットPKTの最終的な送信先が当該無線装置(=自己が搭載された無線装置)であると判定してパケットを通信モジュール16へ出力する。また、無線装置32,36,39,42の転送モジュール14は、それぞれ、無線装置31,32,36,39から受信したパケットPKTのMACヘッダ部に含まれる“To DS”に“1”が設定されていれば、アドレス4の領域が設けられており、アドレス4の領域に設定された最終的な送信先を解析してパケットPKTを転送する。
従って、送信元以外の無線装置32,36,39,42の転送モジュール14は、MACヘッダ部の“To DS”のフィールドを参照することにより、受信したパケットPKTを自己が搭載された無線装置の通信モジュール16へ出力するか他の無線装置へ転送するかを迅速に決定できる。その結果、パケットPKTの転送処理を高速化できる。
更に、無線装置31,32,36,39の転送モジュール14は、パケットPKTを最終的な送信先へ送信または転送する場合、アドレス4の領域をMACヘッダ部に設けないので(パケットPKT1,PKT3,PKT6,PKT10参照)、パケットPKTのサイズを小さくでき、パケットPKTの転送処理時間を短くできる。その結果、パケットの転送処理を高速化できる。
更に、MAC層に配置された転送モジュール14がパケットPKTを転送する転送処理は、アドホックモード、インフラモードおよび基地局間の通信モードで使用されるパケット構成を用い、“To DS”に“1”が設定されたときアドレス4の領域を設けるように変えることによって実現されるので、転送モジュール14による転送処理を容易に実現できる。
図19は、パケットの転送処理を行なう動作を説明するためのフローチャートである。一連の動作が開始されると、送信元の無線装置において、転送モジュール14は、上述した方法によって、MACヘッダ部のアドレスフィールドを設定してパケットを作成し、その作成したパケットを送信する(ステップS1)。そして、送信元以外の無線装置において、転送モジュール14は、パケットを受信し(ステップS2)、その受信したパケットのMACヘッダ部に含まれる“To DS”のフィールドを参照する(ステップS3)。
その後、送信元以外の無線装置において、転送モジュール14は、“To DS”に“0”が設定されているか否かを判定し(ステップS4)、“To DS”に“0”が設定されていないとき、パケットの最終的な送信先を当該無線装置以外の無線装置と決定する(ステップS5)。そして、送信元以外の無線装置において、転送モジュール14は、MACヘッダ部のアドレス4の領域に設定されているMACアドレスを解析し、その解析したMACアドレスと、転送テーブル15とに基づいて、上述した方法によってMACヘッダ部を更新してパケットを転送する(ステップS6)。その後、一連の動作は、ステップS2へ戻り、ステップS4において、“To DS”に“0”が設定されていると判定されるまで、上述したステップS2〜ステップS6が繰り返し実行される。
そして、ステップS4において、“To DS”に“0”が設定されていると判定されると、送信元以外の無線装置において、転送モジュール14は、パケットの最終的な送信先を当該無線装置と決定し(ステップS7)、パケットを当該無線装置の通信モジュール16へ出力する(ステップS8)。これによって、一連の動作は終了する。
なお、ステップS2〜ステップS6のループは、パケットが繰り返し転送される動作を示す。即ち、上述した無線装置31が無線装置42へパケットを送信する例においては、無線装置32,36,39がパケットの転送処理を行なう動作を示す。
また、ステップS2,S3,S4のYES,S7,S8の動作は、パケットが最終的な送信先へ送信されたときの動作を示す。即ち、上述した例では、無線装置32,36,39,42が最終的な送信先である場合に、無線装置32,36,39,42の転送モジュール14が受信したパケットを通信モジュール16へ出力する動作を示す。
更に、ステップS4、ステップS5およびステップS7の動作は、アドレス4の領域の有無を検出することによってパケットを通信モジュール16へ出力するか他の無線装置へ転送するかを決定する動作に相当する。
図20は、パケットのアドレスフィールの他の設定方式を説明するための図である。上記においては、パケットを最終的な送信先へ送信または転送する場合、“To DS”に“0”を設定してアドレス4の領域を設けないと説明したが、この発明においては、これに限らず、パケットを最終的な送信先へ送信または転送する場合も、“To DS”に“1”を設定するとともに、アドレス4の領域を設け、アドレス4の領域に最終的な送信先のMACアドレスを設定するようにしてもよい。例えば、図11に示すパケットPKT1においてアドレス4の領域を設けた場合、パケットは、図20に示すパケットPKT’になる。この場合、最終的な送信先の転送モジュール14は、パケットPKT1’のアドレス1とアドレス4との両方に自己が搭載された無線装置のMACアドレスが設定されていることを検出すると、自己が搭載された無線装置を最終的な送信先と判定し、受信したパケットPKT1’を通信モジュール16へ出力する。また、パケットPKT1’を中継する無線装置の転送モジュール14は、パケットPKT1’のアドレス4に設定されたMACアドレスと異なるMACアドレスがパケットPKT1’のアドレス1に設定されていることを検出すると、パケットPKT1’を転送するものと判定し、転送テーブル15に基づいてパケットPKT1’を転送する。
そして、パケットを最終的な送信先へ送信または転送する場合も、“To DS”に“1”を設定するとともに、アドレス4の領域を設ける場合、パケットの転送処理は、図19に示すフローチャートに従って実行される。この場合、図19に示すフローチャートのステップS4においては、送信元以外の無線装置の転送モジュール14は、アドレス1に設定されたMACアドレスがアドレス4に設定されたMACアドレスと同じであるか否かを判定する。
パケットを最終的な送信先へ送信または転送する場合もアドレス4の領域を設けるようにしても、パケットPKTを中継する中継端末においては、通信モジュール16よりも下位の層に設けられた転送モジュール14がパケットPKTの転送処理を実行するので、中継端末におけるパケットPKTの転送処理時間が短縮され、パケットPKTの転送処理を高速化できる。
[IPアドレス/MACアドレスの対応表の他の取得方法]
上記においては、各無線装置の転送モジュール14は、IPアドレス/MACアドレスの対応表を定期的に送信することによって、無線通信ネットワーク100内の全ての無線装置におけるIPアドレスとMACアドレスとの対応関係を示す対応表を作成すると説明したが、この発明においては、これに限らず、各無線装置の転送モジュール14は、次の方法によって、対応表を作成するようにしてもよい。
(1)MPRを用いる方式
テーブル駆動型プロトコルであるOLSRプロトコルが用いられる場合、経路情報を含むHelloパケットは、上述したように、MPR集合を用いて無線通信ネットワーク100内の全ての無線装置31〜43へ効率的に送信される。従って、このMPR集合を用いて各無線装置におけるIPアドレス/MACアドレスの対応関係を無線通信ネットワーク100内の全ての無線装置31〜43へ効率的に送信することによって、無線装置31〜43の各々は、対応表を効率的に作成できる。
この場合、無線通信ネットワーク100に参加した無線装置は、自己のIPアドレスおよびMACアドレスをブロードキャストして通知する。そして、その通知を受けたMPR端末は、IPアドレス/MACアドレスの対応表を更新し、その更新した対応表をMPRによるユニキャストによって配信する。各MPR端末がIPアドレス/MACアドレスの対応表の更新およびMPRによるフラッディングを繰り返すことによって、無線通信ネットワーク100内の全ての無線装置31〜43は、対応表を効率的に作成する。この場合、各無線装置において、転送モジュール14は、転送テーブル15が構築されるまで、フラグを立て、フラグが立っている場合、MPRリストにMACアドレスの情報を含めて交換する。そして、転送テーブル15が構築されると、転送モジュール14は、パケットの転送処理を行なうモードに移行する。
(2)arp機能を用いる方式
各無線装置の転送モジュール14は、arp(address resolution protocol)機能を用いて、知りたい無線装置のIPアドレスを含むパケットPKT_SRCHをフラッディングによって送信する。そして、パケットPKT_SRCHを受信した無線装置の転送モジュール14は、自己が搭載された無線装置のIPアドレス/MACアドレスをパケットPKT_SRCHに格納して転送するとともに、パケットPKT_SRCHの中に未登録のIPアドレス/MACアドレスがあれば対応表に登録する。これによって、制御トラフィックを抑え、転送テーブル15の構築が速くなる。そして、各無線装置の転送モジュール14は、転送テーブル15を作成でき次第、パケットの転送処理を行なうモードへ移行する。
(3)サーバ問合せ方式
無線メッシュネットワークにおいては、アクセスポイントとなる親の無線装置は、DHCP(Dynamic Host Configuration Protocol)サーバを動作させ、自己にアクセスする無線装置に対してIPアドレスを付与するとともに、配下の無線装置のIPアドレス/MACアドレスの対応表を管理する。
そして、配下の無線装置の転送モジュール14は、アクセスポイントとなる無線装置へIPアドレスの付与を要求し、IPアドレスを取得するときにIPアドレス/MACアドレスの対応表も同時に取得する。
なお、このサーバ問合せ方式においては、無線通信ネットワーク100に既に存在する無線装置は、無線通信ネットワーク100に新規に参入した無線装置と無線通信を行なう場合、その新規に参入した無線装置のIPアドレス/MACアドレスの対応関係を知らないので、その新規に参入した無線装置のIPアドレス/MACアドレスの対応関係をアクセスポイントとなる親の無線装置から取得して上述した方法によって無線通信を行なう。
上記においては、ルーティングテーブル17に基づいて無線通信経路を制御し、その制御した無線通信経路を用いてパケットPKTを送受信する通信モジュール16よりも下位の層に設けられた転送モジュール14がパケットPKTの転送処理を行なうことを説明した。そして、IEEE802.11プロトコルに従って無線通信を行なう場合、無線通信経路を制御するのは、インターネット層に設けられるIPモジュールである。従って、無線通信を行なうプロトコルがIEEE802.11プロトコルである場合、転送モジュール14は、インターネット層よりも下位の層であるMAC層に設けられる。しかし、IEEE802.11プロトコルを改良したプロトコルまたはIEEE802.11プロトコル以外のプロトコルを用いてIPモジュール以外のモジュールが無線通信経路を制御するようにした場合、転送モジュール14は、IPモジュール以外のモジュールが設けられる層よりも下位の層に設けられる。つまり、この発明においては、転送モジュール14は、IPモジュールが設けられるインターネット層よりも下位の層であるMAC層に限定して設けられる趣旨ではなく、一般的に、無線通信経路を制御するモジュールが設けられる層よりも下位の層に設けられる。従って、転送モジュール14は、物理層に設けられてもよい。
なお、転送モジュール14は、「転送手段」を構成し、通信モジュール16は、「通信手段」を構成し、IPアドレスは、「第1の種類のアドレス」を構成し、MACアドレスは、「第2の種類のアドレス」を構成する。
また、パケットPKTのアドレス1が設けられる領域は、「第1の領域」を構成し、パケットPKTのアドレス2が設けられる領域は、「第2の領域」を構成し、パケットPKTのアドレス4が設けられる領域は、「第3の領域」を構成する。
更に、アドレス1、アドレス2およびアドレス4は、それぞれ、「第1のアドレス」、「第2のアドレス」および「第3のアドレス」を構成し、“To DS”に設定される“0”または“1”は、「フラグ」を構成する。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
11,51〜63 アンテナ、12 通信制御部、13 無線インターフェースモジュール、14 転送モジュール、15,15A,15B,15C,15D,15E 転送テーブル、16 通信モジュール、17,17A ルーティングテーブル、31〜43 無線装置、100 無線通信ネットワーク。