(57)【特許請求の範囲】
【請求項１】
複数の通信装置により形成された無線ネットワーク内の各通信装置と直接又は間接的に無線通信することが可能な通信装置において、
直接の無線通信が可能な他の通信装置から送信された隣接ノード発見メッセージを受信すると、当該隣接ノード発見メッセージからその送信元である前記他の通信装置のＩＰアドレスとＭＡＣアドレスを取得し、当該取得したＩＰアドレスとＭＡＣアドレスを対応付けてＡＲＰテーブルに登録する拡張アドレス解決機能と、
当該通信装置から送出するＩＰパケットの宛先のＩＰアドレスに対応するＭＡＣアドレスが前記ＡＲＰテーブルから特定できない場合に、当該ＩＰアドレスについてのＡＲＰ要求を送信するＡＲＰ要求送信機能と、
前記隣接ノード発見メッセージに設定された維持時間が所定の閾値より長い場合には前記拡張アドレス解決機能を停止し、前記維持時間が前記閾値より短い場合には前記拡張アドレス解決機能を起動する制御を行う制御機能と、を有することを特徴とする通信装置。
【請求項２】
複数の通信装置により形成された無線ネットワーク内の各通信装置と直接又は間接的に無線通信することが可能な通信装置において、
直接の無線通信が可能な他の通信装置から送信された隣接ノード発見メッセージを受信すると、当該隣接ノード発見メッセージからその送信元である前記他の通信装置のＩＰアドレスとＭＡＣアドレスを取得し、当該取得したＩＰアドレスとＭＡＣアドレスを対応付けてＡＲＰテーブルに登録する拡張アドレス解決機能と、
前記ＡＲＰテーブルにＩＰアドレスとＭＡＣアドレスの対応が登録された他の通信装置から所定時間内に次の隣接ノード発見メッセージを受信できない場合に、前記ＡＲＰテーブルから当該他の通信装置のＩＰアドレスとＭＡＣアドレスの対応を削除するアドレス削除機能と、
前記隣接ノード発見メッセージに設定された維持時間が所定の閾値より長い場合には前記拡張アドレス解決機能を停止し、前記維持時間が前記閾値より短い場合には前記拡張アドレス解決機能を起動する制御を行う制御機能と、を有することを特徴とする通信装置。
【請求項３】
複数の通信装置により形成された無線ネットワーク内の各通信装置と直接又は間接的に無線通信することが可能な通信装置において、
直接の無線通信が可能な他の通信装置から送信された隣接ノード発見メッセージを受信すると、当該隣接ノード発見メッセージからその送信元である前記他の通信装置のＩＰアドレスとＭＡＣアドレスを取得し、当該取得したＩＰアドレスとＭＡＣアドレスを対応付けてＡＲＰテーブルに登録する拡張アドレス解決機能と、
当該通信装置から送出するＩＰパケットの宛先のＩＰアドレスに対応するＭＡＣアドレスが前記ＡＲＰテーブルから特定できない場合に、当該ＩＰアドレスについてのＡＲＰ要求を送信するＡＲＰ要求送信機能と、
前記ＡＲＰテーブルにＩＰアドレスとＭＡＣアドレスの対応が登録された他の通信装置から所定時間内に次の隣接ノード発見メッセージを受信できない場合に、前記ＡＲＰテーブルから当該他の通信装置のＩＰアドレスとＭＡＣアドレスの対応を削除するアドレス削除機能と、
前記隣接ノード発見メッセージに設定された維持時間が所定の閾値より長い場合には前記拡張アドレス解決機能を停止し、前記維持時間が前記閾値より短い場合には前記拡張アドレス解決機能を起動する制御を行う制御機能と、を有することを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動端末間無線自律ネットワークルーティング（アドホックルーティング）に係る無線通信システムに関する。
【背景技術】
【０００２】
近年、ＯＬＳＲ（Ｏｐｔｉｍｉｚｅｄ  Ｌｉｎｋ  Ｓｔａｔｅ  Ｒｏｕｔｉｎｇ）、ＡＯＤＶ（Ａｄｈｏｃ  Ｏｎｄｅｍａｎｄ  Ｄｉｓｔａｎｃｅ  Ｖｅｃｔｏｒ）をはじめとするアドホックルーティングプロトコルによる無線通信により、移動端末間で自律的に端末を検知し、自律的に通信経路の最適化を実施し、その場限りの無線ネットワーク（アドホックネットワーク）を構築するアドホックルーティングが検討されている。
なお、以下の説明における「ノード」は、無線ネットワークを形成する各移動端末を表す。また、移動端末とは、自在に移動させることが可能な通信装置であり、人により携帯可能な機器（例えば、モバイルコンピュータ、小型ゲーム機、無線機、携帯電話機）に組み込まれた通信装置や、移動体（例えば、車輌、船舶、ヘリコプター）に搭載された通信装置、などが挙げられる。
【０００３】
ＯＬＳＲプロトコルは、メッシュ型（綿状リンク型）のルーティングプロトコルの１つである。ＯＬＳＲプロトコルは、Ｐｒｏａｃｔｉｖｅ型のルーティングプロトコルであり、ＨｅｌｌｏメッセージやＴＣメッセージ（Ｔｏｐｏｌｏｇｙ  Ｃｏｎｔｒｏｌ）といった制御メッセージを交換することで通信経路を通信前に確定するので、いつでも直ちに中継を開始することができる。なお、ＯＬＳＲプロトコルの基本動作については後述する。
【０００４】
次に、ＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）について説明する。ＡＲＰは、Ｅｔｈｅｒｎｅｔ（登録商標）環境において、ＩＰアドレス（ネットワーク層の論理アドレス）からＭＡＣアドレス（データリンク層の物理アドレス）を得るために用いられるプロトコルである。
【０００５】
ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）では、ＩＰパケットを送受信するためには、ＩＰパケットの送信先となる端末やネットワークデバイス等のノードのデータリンク層アドレス（ＭＡＣアドレス）を知っている必要がある。ＡＲＰは、ＩＰパケットを送信するノードのＭＡＣアドレスを取得したい場合に用いられる。
【０００６】
図１５には、ＡＲＰ−Ｒｅｑｕｅｓｔ（ＡＲＰ要求）、ＡＲＰ−Ｒｅｐｌｙ（ＡＲＰ応答）のパケットフォーマットを示してある。図１５（ａ）は、ＡＲＰ−Ｒｅｑｕｅｓｔのパケットフォーマットを示しており、図１５（ｂ）は、ＡＲＰ−Ｒｅｐｌｙのパケットフォーマットを示している。
また、図１６には、ＡＲＰによるデータリンク層アドレス解決とデータ中継の概要を示してある。図１６（ａ）は、ＡＲＰによるデータリンク層アドレス解決とデータ中継の様子を示しており、図１６（ｂ）は、その処理シーケンスを示している。
【０００７】
ノードＡは、ノードＣ宛のデータ（ＩＰパケット）を中継ノードＢに送信する際、ＡＲＰ−Ｒｅｑｕｅｓｔにて、ノードＢのＭＡＣアドレスを要求する（Ｔ１２１）。ＡＲＰ−Ｒｅｑｕｅｓｔのパケットには、送信元（ノードＡ）のＩＰアドレス・ＭＡＣアドレスと、取得したいノードのＩＰアドレス（Ｄｓｔ  ＩＰ  Ａｄｄｒｅｓｓ）の情報が格納されて、Ｅｔｈｅｒｎｅｔネットワークにブロードキャストされる。
ＡＲＰ−Ｒｅｑｕｅｓｔのパケットを受け取ったノードＢは、ＡＲＰ−ＲｅｑｕｅｓｔのＤｓｔ  ＩＰ  Ａｄｄｒｅｓｓが自身のＩＰアドレスと同一であれば、自身のＭＡＣアドレスをノードＡに伝えるために、送信元（ノードＢ）のＭＡＣアドレスを格納したＡＲＰ−ＲｅｐｌｙのパケットをノードＡに送信する（Ｔ１２２）。
このようにして、ＩＰパケットを送信するノードは、ＩＰアドレスからＭＡＣアドレスを取得して、これらのアドレス（ＩＰアドレスとＭＡＣアドレス）を対応付けたアドレスエントリを、ＡＲＰテーブルと呼ばれる情報ベースに保存する。
【０００８】
次に、ノードＡは、ノードＢのＭＡＣアドレスを用いて、ノードＣ宛のデータをノードＢに送信する（Ｔ１２３）。
ノードＣ宛のＩＰパケットを受信したノードＢは、ＡＲＰ−ＲｅｑｕｅｓｔでノードＣのＭＡＣアドレスを要求し（Ｔ１２４）、その応答であるＡＲＰ−ＲｅｐｌｙからノードＣのＭＡＣアドレスを取得し（Ｔ１２５）、当該取得したＭＡＣアドレスを用いて、ノードＣ宛のデータをノードＣに送信する（Ｔ１２６）。
その後、ノードＡからノードＣ宛に別のデータを送る際には、ＡＲＰテーブルの該当アドレスエントリを参照してＭＡＣアドレスを解決できるので、ＡＲＰメッセージ（ＡＲＰ−Ｒｅｑｕｅｓｔ、ＡＲＰ−Ｒｅｐｌｙ）のやり取りを行うことなく、データの送信を行える（Ｔ１２６，Ｔ１２７）。
【０００９】
図１７には、ＡＲＰテーブルの一例を示してある。
ＡＲＰテーブルは、ＩＰアドレスとＭＡＣアドレスとを対応付けたアドレスエントリを保持する。また、そのアドレスエントリの種類（設定エントリ、永続的なエントリ、発光されたエントリなど）と出力インタフェースも併せて管理する。なお、永続的なエントリではないアドレスエントリは、一定時間（維持時間）の経過後に消去されるので、この場合には、再度、ＡＲＰメッセージのやり取りが必要になる。アドレスエントリの維持時間は、ノードによって異なる値が設定され得る。
【００１０】
なお、ＡＲＰを用いる技術に関しては、特許文献１等に示されるように、種々の発明がこれまでに提案されている。
【００１１】
また、図１８には、レイヤー２（Ｌ２）であるデータリンク層（ＭＡＣ層）で処理されるＭＡＣフレームのフォーマットを示してある。ＭＡＣフレームは、宛先のＭＡＣアドレスが格納されるＤｅｓｔｉｎａｔｉｏｎ  ＭＡＣ  Ａｄｄｒｅｓｓ（Ｆ３１）、送信元のＭＡＣアドレスが格納されるＳｏｕｒｃｅ  ＭＡＣ  Ａｄｄｒｅｓｓ（Ｆ３２）、ＩＰパケットやＡＲＰパケットといった種々のパケットが格納されるＮｅｔｗｏｒｋ  Ｌａｙｅｒ  Ｐｒｏｔｏｃｏｌ  Ｄａｔａ（Ｆ３３）などの領域を有する。
【００１２】
また、図１９には、レイヤー３（Ｌ３）であるネットワーク層で処理されるＩＰパケットのフォーマットを示してある。ＩＰパケットは、送信元のＩＰアドレスが格納されるＳｏｕｒｃｅ  ＩＰ  Ａｄｄｒｅｓｓ（Ｆ４１）、宛先のＩＰアドレスが格納されるＤｅｓｔｉｎａｔｉｏｎ  ＩＰ  Ａｄｄｒｅｓｓ（Ｆ４２）、トランスポート層やアプリケーション層などの上位層のプロトコル（例えば、ＯＬＳＲ）のデータが格納されるＴｒａｎｓＰｏｒｔ  Ｌａｙｅｒ／Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｐｒｏｔｏｃｏｌ  Ｄａｔａ（Ｆ４３）などの領域を有する。
【００１３】
すなわち、上述したＯＬＳＲの制御メッセージ（ＨｅｌｌｏメッセージやＴＣメッセージ）は、ネットワーク層にてＩＰパケットの領域Ｆ３３（Ｎｅｔｗｏｒｋ  Ｌａｙｅｒ  Ｐｒｏｔｏｃｏｌ  Ｄａｔａ）に格納され、更に、当該ＩＰパケットがデータリンク層（ＭＡＣ層）にてＭＡＣフレームの領域Ｆ４３（ＴｒａｎｓＰｏｒｔ  Ｌａｙｅｒ／Ａｐｐｌｉｃａｔｉｏｎ  Ｌａｙｅｒ  Ｐｒｏｔｏｃｏｌ  Ｄａｔａ）に格納されて、伝送路へ送出される。ＯＬＳＲの制御メッセージの受信側では、データリンク層（ＭＡＣ層）にてＭＡＣフレームからＩＰパケットが取り出され、ネットワーク層にて当該ＩＰパケットからＯＬＳＲの制御メッセージが取り出されて、より上位層のＯＬＳＲ部へ渡される。
【００１４】
図２０には、従来の通信装置の構成例を示してある。
従来の通信装置では、レイヤー４（Ｌ４）であるトランスポート層以上に、アドホックルーティングプロトコルを実現するネットワークモジュール１０が配置され、その中に、アドホックルーティング制御部１１、制御メッセージ送信部１２、制御メッセージ受信部１３、制御メッセージ生成部１４、ルーティング情報ベース１５が配置される。
【００１５】
従来の通信装置は、制御メッセージ受信部１３にて受信した制御メッセージをアドホックルーティング制御部１１にて解析し、ルーティング情報ベース１５に保存する。その後、アドホックルーティング制御部１１は、事前に設定されていた制御メッセージ送信間隔に従い、ルーティング情報ベース１５から情報を抽出して制御メッセージ生成部１４に渡す。制御メッセージ生成部１４にて生成された制御メッセージは、制御メッセージ送信部１２に渡されて、下位のレイヤーに送信される。
【００１６】
また、アドホックルーティング制御部１１は、ルーティング情報ベース１５に保存されている情報に基づいて、レイヤー３（Ｌ３）であるネットワーク層に配置されたルーティングテーブル１６に通信経路を登録する。経路を登録する際には、宛先ＩＰアドレス、ネットワーク識別フラグ（ネットマスク）、中継ノード（或いはゲートウェイ）のＩＰアドレス、経路の尺度（メトリック）、出力インタフェース（Ｅｔｈｅｒｎｅｔ  ＰＨＹ、又は、Ｗｉｒｅｌｅｓｓ  Ｎｅｔｗｏｒｋ  ＰＨＹ）などの情報が必要となる。
【００１７】
設定された経路は、出力インタフェースの選定に使用される。有線自律ネットワーク（Ｅｔｈｅｒｎｅｔ  ＰＨＹ）側からのＩＰパケット（Ｄ１）の入力があった場合、通信装置は、自身のルーティングテーブル１６に登録されている通信経路を確認する。その後、ＩＰパケットの宛先ＩＰアドレスと自身のルーティングテーブル１６に登録されている通信経路に合致したものがあれば、登録時に設定した出力インタフェースに対してＩＰパケットを出力する。また、ルーティングテーブル１６は、無線インタフェース（Ｗｉｒｅｌｅｓｓ  Ｎｅｔｗｏｒｋ  ＰＨＹ）側からのＩＰパケット（Ｄ２）に対しても同様に作用する。
【００１８】
有線或いは無線への出力の際、それぞれのインタフェース部は、レイヤー３（Ｌ３）であるネットワーク層に配置されたＡＲＰテーブル１７に登録されているアドレスエントリを確認する。
【００１９】
ＡＲＰテーブル１７に、宛先ＩＰアドレス（若しくはルーティングテーブル１６におけるゲートウェイと呼ばれる中継を行う通信装置のＩＰアドレスに相当するアドレス）に対応するＭＡＣアドレスが存在しなかった場合、各インタフェース部はアドレス解決を要求するＡＲＰ−Ｒｅｑｕｅｓｔのパケットを送信して、宛先（若しくはルーティングテーブル１６におけるゲートウェイ）のＭＡＣアドレスの取得要求を行う。そして、ＡＲＰ−Ｒｅｑｕｅｓｔに対する応答であるＡＲＰ−Ｒｅｐｌｙ（Ｄ３）を受信すると、宛先ＩＰアドレスに対するＭＡＣアドレスの組み合わせ（アドレスエントリ）をＡＲＰテーブル１７に追加する。
【００２０】
アドレスエントリを確認してＭＡＣアドレスが得られた場合、或いはＡＲＰメッセージのやり取りによりＭＡＣアドレスが得られた場合は、ＭＡＣフレーム若しくはＤａｔａＰｌａｎｅ（ユーザデータ）に変換し、レイヤー２（Ｌ２）であるデータリンク層（ＭＡＣ層）に配置された有線ＭＡＣ（Ｅｔｈｅｒｎｅｔ  ＭＡＣ）部１８、又は、無線ＭＡＣ（Ｗｉｒｅｌｅｓｓ  ＭＡＣ）部１９から、出力インタフェース（Ｅｔｈｅｒｎｅｔ  ＰＨＹ、又は、Ｗｉｒｅｌｅｓｓ  Ｎｅｔｗｏｒｋ  ＰＨＹ）へと出力する。
【先行技術文献】
【特許文献】
【００２１】
【特許文献１】特開２００２−７７２１３号公報
【発明の概要】
【発明が解決しようとする課題】
【００２２】
上述したようなアドホックルーティングプロトコルを用いることで、無線ネットワークを自律的に構築することができ、無線ネットワーク上での通信が可能となる。
しかしながら、従来の方式では、ＡＲＰにより得られたＭＡＣアドレスのアドレスエントリは、一定時間以上経過すると、永続的なエントリでなければ消去されるので、対象のＩＰアドレスに該当するＭＡＣアドレスを取得し直すために、ＡＲＰでの取得要求送信、応答受信を再度行う必要がある。このため、ＭＡＣアドレスの取得の度にＡＲＰメッセージの送受信で通信帯域が消費されてしまい、通信効率の悪化を招いてしまう。また、ＡＲＰメッセージの送受信によるＭＡＣアドレスの取得が完了するまでデータ送信が中断されるので、データの到達遅延も発生することになる。
【００２３】
本発明は、このような従来の事情に鑑みて為されたものであり、アドホックルーティングプロトコルによる無線ネットワークにおいて、ＩＰアドレスとＭＡＣアドレスの対応を、効率的に特定する技術を提案することを目的とする。
【課題を解決するための手段】
【００２４】
本発明では、複数の通信装置により形成された無線ネットワーク内の各通信装置と直接又は間接的に無線通信することが可能な通信装置において、直接の無線通信が可能な他の通信装置から送信された隣接ノード発見メッセージを受信すると、データリンク層にて、当該隣接ノード発見メッセージの送信に使用されたＩＰパケット及びＭＡＣフレームからその送信元である前記他の通信装置のＩＰアドレスとＭＡＣアドレスを取得し、当該取得したＩＰアドレスとＭＡＣアドレスを対応付けてネットワーク層のＡＲＰテーブルに登録するように構成した。
【００２５】
これにより、ＩＰアドレスとＭＡＣアドレスの対応を、ＡＲＰを用いずに或いは併用して、効率的に特定することができる。したがって、ＡＲＰメッセージの送受信による通信帯域の消費が抑制され、通信効率をより高めることができる。また、ＡＲＰメッセージの送受信によるＭＡＣアドレスの取得が完了するまでデータ送信を中断させる必要がなくなり、データの到達遅延も解消することができる。
【００２６】
また、本発明の通信装置では、当該通信装置から送出するＩＰパケットの宛先のＩＰアドレスに対応するＭＡＣアドレスが前記ＡＲＰテーブルから特定できない場合に、当該ＩＰアドレスについてのＡＲＰ要求を送信するように構成した。
これにより、隣接ノード発見メッセージからＩＰアドレスとＭＡＣアドレスの対応を特定できなかった通信装置との間でも通信を行うことができる。
【００２７】
また、本発明の通信装置では、前記ＡＲＰテーブルにＩＰアドレスとＭＡＣアドレスの対応が登録された他の通信装置から所定時間内に次の隣接ノード発見メッセージを受信できない場合に、前記ＡＲＰから当該他の通信装置のＩＰアドレスとＭＡＣアドレスの対応を削除するように構成した。
これにより、隣接ノード発見メッセージを送信した通信装置の移動等により通信できなくなった状況に対処することができる。
【発明の効果】
【００２８】
本発明の通信装置によれば、アドホックルーティングプロトコルによる無線ネットワークにおいて、ＩＰアドレスとＭＡＣアドレスの対応を、効率的に特定することができる。したがって、ＡＲＰメッセージの送受信による通信帯域の消費が抑制され、通信効率をより高めることができる。また、ＡＲＰメッセージの送受信によるＭＡＣアドレスの取得が完了するまでデータ送信を中断させる必要がなくなり、データの到達遅延も解消することができる。
【図面の簡単な説明】
【００２９】
【図１】本発明の一実施形態に係る通信装置の構成例を示す図である。
【図２】ＡＲＭＳ−ＡＲＰの概要を示す図である。
【図３】ＡＲＭＳ−ＡＲＰに関する処理フローの一例を示す図である。
【図４】ＡＲＭＳ−ＡＲＰに関する処理シーケンスの一例を示す図である。
【図５】ＡＲＭＳ−ＡＲＰの動作状態の切り替え条件の一例を示す図である。
【図６】ＡＲＭＳ−ＡＲＰに関する処理シーケンスの他の例を示す図である。
【図７】アドホックネットワークによる通信の概要を示す図である。
【図８】Ｈｅｌｌｏメッセージによる論理接続の概要を示す図である。
【図９】Ｈｅｌｌｏメッセージのフォーマットを示す図である。
【図１０】ＴＣメッセージのフラッディングの概要を示す図である。
【図１１】ＴＣメッセージによる経路決定の概要を示す図である。
【図１２】ＴＣメッセージのフォーマットを示す図である。
【図１３】ＨＮＡメッセージによる経路通知の概要を示す図である。
【図１４】ＨＮＡメッセージのフォーマットを示す図である。
【図１５】ＡＲＰ−Ｒｅｑｕｅｓｔ、ＡＲＰ−Ｒｅｐｌｙのパケットフォーマットを示す図である。
【図１６】ＡＲＰによるデータリンク層アドレス解決とデータ中継の概要を示す図である。
【図１７】ＡＲＰテーブルの一例を示す図である。
【図１８】ＭＡＣフレームのフォーマットを示す図である。
【図１９】ＩＰパケットのフォーマットを示す図である。
【図２０】従来の通信装置の構成例を示す図である。
【発明を実施するための形態】
【００３０】
本発明の実施例を説明するに先立って、ＯＬＳＲプロトコルの基本動作について説明しておく。
図７には、アドホックネットワークによる通信の概要を示してある。
図７の例では、ノードＡによる通信エリア１と、ノードＣによる通信エリア２とが重複するエリアにノードＢが滞在している。この場合、ノードＢは、ノードＡとノードＣとの通信を中継する中継ノードとなる。すなわち、例えば、ノードＡから送出されたノードＣ宛のデータは、ノードＢにより中継されてノードＣへ送付される。このように、アドホックルーティングを用いることで、無線ネットワーク（アドホックネットワーク）内の各移動端末は直接又は間接的に他の移動端末と無線通信することができる。
【００３１】
ＯＬＳＲによるパケットは、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）のポート番号６９８番を使って送受信される。ＯＬＳＲでは、そのパケットを利用して、主に、ＨｅｌｌｏメッセージとＴＣメッセージの２つの制御メッセージを交換しながらネットワーク内の情報を把握し、通信経路を構築する。
【００３２】
Ｈｅｌｌｏメッセージは、各ノードの持つ情報の配信を目的として定期的に送信される隣接ノード発見メッセージであり、各ノードはこのメッセージを受信して周辺ノードの情報を収集し、周辺ノードとの論理接続（ローカルリンク）や、ＭＰＲ（Ｍｕｌｔｉ  Ｐｏｉｎｔ  Ｒｅｌａｙ）と呼ばれる中継ノードの決定を行う。
【００３３】
図８には、Ｈｅｌｌｏメッセージによる論理接続の概要を示してある。図８（ａ）は、Ｈｅｌｌｏメッセージによる論理接続の様子を示しており、図８（ｂ）は、その処理シーケンスを示している。
また、図９には、Ｈｅｌｌｏメッセージのフォーマットを示してある。Ｈｅｌｌｏメッセージは、Ｈｅｌｌｏメッセージの送信元の存在を保証する維持時間が格納されるｉｎｖａｌｉｄ  ｔｉｍｅ（Ｆ１１）、Ｈｅｌｌｏメッセージの送信間隔が格納されるＨｅｌｌｏ  Ｉｎｔｅｒｖａｌ（Ｆ１２）、リンクの状態を表すＬＩＮＫＴＹＰＥが格納されるＬｉｎｋＣｏｄｅ（Ｆ１３）などの領域を有する。維持時間及び送信間隔は、システムの運用形態などに応じて定められた値が用いられ、ノード毎に異なる値を用いてもよく、運用中に値を変化させてもよい。なお、一般に、維持時間には送信時間の２．５倍以上の値が用いられる。
【００３４】
図８を参照してＨｅｌｌｏメッセージによる論理接続について説明する。ノードＢは、初期の段階では自分の存在をアピールするために、ＬＩＮＫＴＹＰＥ（Ｆ１３）をＵＮＳＰＥＣ＿ＬＩＮＫ（リンク状態不明）にしたＨｅｌｌｏメッセージを、隣接ノード（ノードＡ，Ｃ）へ送信する（Ｔ１０１）。
以下では、ノードＡとノードＢとの間の処理に着目して説明するが、ノードＢとノードＣとの間でも同様な処理が行われる。
【００３５】
ノードＢからのＨｅｌｌｏメッセージを受信したノードＡは、この時点で、送信元（ノードＢ）から自分へのリンクが構築されたと認識する（Ｔ１０２）。しかしながら、ノードＡは、双方向のリンクであることは分からないので、次の送信周期にて、ＬＩＮＫＴＹＰＥ（Ｆ１３）をＡＳＹＭ＿ＬＩＮＫ（片方向リンク）にしたＨｅｌｌｏメッセージを、隣接ノード（ノードＢ）へ送信する（Ｔ１０３）。
【００３６】
ノードＡからのＨｅｌｌｏメッセージを受信したノードＢは、ＡＳＹＭ＿ＬＩＮＫの対象に自身のノードが含まれていたとき、自身が送出したＵＮＳＰＥＣ＿ＬＩＮＫのＨｅｌｌｏメッセージが隣接ノードに受信されたこと、そして、隣接ノードからのＨｅｌｌｏメッセージを受信できたことから、送信元（ノードＡ）との間で双方向のリンクが構築されたことを認識する（Ｔ１０４）。その後、ノードＢは、次の送信周期にて、ＬＩＮＫＴＹＰＥ（Ｆ１３）をＳＹＭ＿ＬＩＮＫ（双方向リンク）にしたＨｅｌｌｏメッセージを、隣接ノード（ノードＡ，Ｃ）へ送信する（Ｔ１０５）。
【００３７】
ノードＢからのＨｅｌｌｏメッセージを受信したノードＡは、送信元（ノードＢ）との間で双方向のリンクが構築できたことと、送信元の先に次隣接ノード（ノードＣ）が存在することを認識し（Ｔ１０６）、次の送信周期にて、ＬＩＮＫＴＹＰＥ（Ｆ１３）をＳＹＭ＿ＬＩＮＫ（双方向リンク）にしたＨｅｌｌｏメッセージにて、双方向のリンクが構築できたノード（ノードＢ）との次隣接ノード（ノードＣ）をＮＥＸＴＨＯＰとして、隣接ノード（ノードＢ）へ送信する（Ｔ１０７）。また、その際に、ＭＰＲ（中継ノード）として隣接ノードの１つ（ノードＢ）を選択する旨を通知すべく、ＬＩＮＫＴＹＰＥ（Ｆ１３）をＭＰＲＬＩＮＫにしたＨｅｌｌｏメッセージを隣接ノード（ノードＢ）へ送信する。
なお、各ノードから送出されるＨｅｌｌｏメッセージは、全ての隣接ノードへブロードキャスト（フラッディング）されるが、それより先のノードへの中継送信は行われない。
【００３８】
ＴＣメッセージは、ＭＰＲ（中継ノード）に選択されたノードのみが送信する制御メッセージであり、ネットワーク全体の構成を通知するために使用される。
図１０には、ＴＣメッセージのフラッディングの概要を示してある。図１０（ａ）は、ＴＣメッセージのフラッディングの様子を示しており、図１０（ｂ）は、その処理シーケンスを示している。
また、図１１には、ＴＣメッセージによる経路決定の概要を示してある。図１１（ａ）は、ネットワーク構成（トポロジー）を示しており、図１１（ｂ）は、ノードＡからノードＧまでの経路を示している。
また、図１２には、ＴＣメッセージのフォーマットを示してある。ＴＣメッセージは、メッセージの寿命を表す値が格納されるＭｓｇＴＴＬ（Ｆ２１）、近隣広告ノードのアドレスが格納されるＡｄｖｅｒｔｉｓｅｄ  Ｎｅｉｇｈｂｏｒ  Ｎｏｄｅ（Ｆ２２）などの領域を有する。
【００３９】
ここでは、ＭＰＲに選ばれたノードＥを中心に説明する。
図８に示したＨｅｌｌｏメッセージによるＭＰＲ選定で選ばれたノードＥは、自分をＭＰＲに選んだノード（ノードＧ，Ｄ，Ｆ，Ｂ，Ｃ）を近隣広告ノード（Ｆ２２）として含めたＴＣメッセージをブロードキャスト送信する（Ｔ１１１）。
ＴＣメッセージを受信したノードは、自身もＭＰＲ（例えば、ノードＢ）の場合には、当該ＴＣメッセージから近隣広告ノードの情報を取得して自分のネットワークトポロジー情報に追加した後に、当該ＴＣメッセージのＭｓｇＴＴＬ（Ｆ２１）を１つ減らして再びブロードキャスト送信する（Ｔ１１２）。
一方、ＭＰＲ以外のノード（例えば、ノードＡ）がＴＣメッセージを受信した場合は、当該ＴＣメッセージから近隣広告ノードの情報を取得して自分のネットワークトポロジー情報に追加して終了する（Ｔ１１３）。
これらの処理は、他のＭＰＲ（例えば、ノードＦ）についても同様に行われる。
【００４０】
その後、各ノードは、自分のネットワークトポロジー情報から、他のノードへ到達する最短経路の計算を開始する。ここでは、ノードＡを中心に説明する。
ＴＣメッセージを受信できた各ノードは、共通のネットワークトポロジー情報を所有している。図１１の例では、トポロジー情報として、［Ｂ←Ａ］、［Ｂ←Ｄ］、［Ｂ←Ｅ］、［Ｃ←Ａ］、［Ｃ←Ｆ］、［Ｅ←Ｂ］、［Ｅ←Ｃ］、［Ｅ←Ｄ］、［Ｅ←Ｆ］、［Ｅ←Ｇ］、［Ｆ←Ｃ］、［Ｆ←Ｅ］、［Ｆ←Ｉ］の各リンク情報が所有されている。
【００４１】
ノードＡは、このトポロジー情報から他のノード（本例では、ノードＧ）へ到達するためのリンク情報をトポロジー情報から抽出し、最短経路の計算を行う。ノードＧとリンク（論理接続）しているのはノードＥであるため、まずは、［Ｅ⇔Ｇ］（Ｌ１）のリンク情報が抽出される。次に、ノードＥとリンクしているノードのリンク情報を抽出する。ここで、ノードＡは、ノードＥに到達するためのＭＰＲとしてノードＢを選択しているため、ここでは、［Ｂ⇔Ｅ］（Ｌ２）のリンク情報が抽出される。同様に、［Ｂ⇔Ａ］（Ｌ３）のリンク情報が抽出される。以上から、ノードＧに到達するために必要なリンク情報は［Ｇ⇔Ｅ⇔Ｂ⇔Ａ］（Ｌ４）となり、この情報を元に、ノードＡはノードＧまでの経路を設定する。
【００４２】
以上のように、ＯＬＳＲでは、ＨｅｌｌｏメッセージとＴＣメッセージの２つの制御メッセージにより、各ノードはメッシュネットワークに参加している全ノードと自由に通信ができるようになる。
【００４３】
また、ＯＬＳＲには、ＨＮＡ（Ｈｏｓｔ  ａｎｄ  Ｎｅｔｗｏｒｋ  Ａｓｓｏｃｉａｔｉｏｎ）メッセージと呼ばれる制御メッセージがある。ＨＮＡメッセージは、ノードがゲートウェイとして機能する場合に使用される補助的なメッセージである。ゲートウェイとなるノードに予め有線ネットワークの情報を設定しておくことで、ＨＮＡメッセージを送信することが可能になる。
【００４４】
図１３には、ＨＮＡメッセージによる経路通知の概要を示してある。図１３（ａ）は、ＨＮＡメッセージによる経路通知の様子を示しており、図１３（ｂ）は、ＨＮＡメッセージによる通知に従ってインターネット接続する様子を示している。
また、図１４には、ＨＮＡメッセージのフォーマットを示してある。
【００４５】
ＨＮＡメッセージの送信は、ＴＣメッセージと同様のフラッディング手法が用いられる。すなわち、ＨＮＡメッセージはＴＣメッセージと同様にブロードキャストされ、受信したＭＰＲが再度ブロードキャストを行うことで、構成中の無線ネットワーク内の移動端末全てに通知される。図１３の例では、インターネットゲートウィのアドレスが予め登録されたノードＧから送出されたＨＮＡメッセージにより、無線ネットワーク内の各ノードに、ノードＧの先にインターネットゲートウェイが存在することが通知される。これにより、例えば、ノードＡは、ノードＢ，Ｅ，Ｇを経由して、インターネットへの接続を行うことができる。
【００４６】
次に、本発明の一実施形態に係る通信装置について図面を参照して説明する。
図１には、本発明の一実施形態に係る通信装置（移動端末）の構成例を示してある。
本例の通信装置は、レイヤー４（Ｌ４）であるトランスポート層以上に、アドホックルーティングプロトコルを実現するネットワークモジュール１０が配置され、その中に、アドホックルーティング制御部１１、制御メッセージ送信部１２、制御メッセージ受信部１３、制御メッセージ生成部１４、ルーティング情報ベース１５が配置される。
また、レイヤー３（Ｌ３）であるネットワーク層に、ルーティングテーブル１６、ＡＲＰテーブル１７が配置される。
また、レイヤー２（Ｌ２）であるデータリンク層（ＭＡＣ層）に、有線ＭＡＣ部１８、無線ＭＡＣ部１９、無線リンクコントロール部２１、トラフィック監視部２２、ＡＲＰ情報管理・設定部２３が配置される。
【００４７】
すなわち、本例の通信装置は、従来の通信装置（図２０参照）に、無線リンクコントロール部２１、トラフィック監視部２２、ＡＲＰ情報管理・設定部２３を追加した構成になっている。
以下では、従来の通信装置と同様な動作・機能については説明を適宜省略し、主に相違部分について説明する。
【００４８】
無線リンクコントロール部２１は、ＯＬＳＲのＨｅｌｌｏメッセージ（隣接ノード発見メッセージ）の送信に使用されたＩＰパケット及びＭＡＣフレームを解析して、その送信元の通信装置のＩＰアドレスとＭＡＣアドレスを取得する機能（以下、ＡＲＭＳ−ＡＲＰ（Ａｄｈｏｃ  Ｒｏｕｔｉｎｇ  Ｍｅｓｓａｇｅ  Ｓｎｏｏｐｉｎｇ−Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）という）を有すると共に、ＡＲＭＳ−ＡＲＰの動作状態を切り替える（起動又は停止させる）機能を有する。
【００４９】
トラフィック監視部２２は、無線ＭＡＣ部１９を流れる情報を監視して無線回線使用率、無線送信レート、無線受信レートなどのトラフィック情報を取得する処理を定期的に行う。トラフィック監視部２２にて取得されたトラフィック情報は、無線リンクコントロール部２１へ渡されて、ＡＲＭＳ−ＡＲＰの動作状態の切り替え判断に使用される。
【００５０】
ＡＲＰ情報管理・設定部２３は、無線リンクコントロール部２１による指示に従って、ＡＲＭＳ−ＡＲＰで取得されたＩＰパケット及びＭＡＣフレームを対応付けたアドレスエントリをＡＲＰテーブル１７に設定（登録）し、或いはＡＲＰテーブル１７から削除する等の処理を行う。
【００５１】
無線リンクコントロール部２１により実施されるＡＲＭＳ−ＡＲＰについて説明する。
ＡＲＭＳ−ＡＲＰでは、他の通信装置から受信したＭＡＣフレームを解析して、当該ＭＡＣフレームがＯＬＳＲのＨｅｌｌｏメッセージを格納したＩＰパケットを搬送するものであれば、当該ＭＡＣフレームの領域Ｆ３２（Ｓｏｕｒｃｅ  ＭＡＣ  Ａｄｄｒｅｓｓ）に格納された送信元のＭＡＣアドレス及び当該ＩＰパケットの領域Ｆ４１（Ｓｏｕｒｃｅ  ＩＰ  Ａｄｄｒｅｓｓ）に格納された送信元のＩＰパケットを取得して、これらのアドレス（ＩＰアドレスとＭＡＣアドレス）を対応付けたアドレスエントリをＡＲＰテーブル１７に登録する処理を行う。
【００５２】
すなわち、アドホックネットワークを構築する段階で送受信されるＨｅｌｌｏメッセージからＩＰアドレスとＭＡＣアドレスを取得してＡＲＰテーブル１７に登録しておくことで、その後のパケット通信の際にＡＲＰメッセージを送受信することなく宛先ＭＡＣアドレスを特定できるようにする。
なお、ＡＲＭＳ−ＡＲＰは、ＭＡＣフレーム及びＩＰパケットを解析する必要があるため、これらの情報を参照可能なデータリンク層（ＭＡＣ層）にて実施される。
【００５３】
図２には、ＡＲＭＳ−ＡＲＰの概要を示してある。図２（ａ）は、ネットワーク構成の例を示しており、図２（ｂ）は、データ中継の処理シーケンスを示している。
以下では、通信装置＃１から送出された通信装置＃４宛ての送付データを通信装置＃２，＃３をそれぞれ中継して通信装置＃４へ伝送し、その応答データを逆順に中継して伝送する場合を例に説明する。ここで、通信装置＃２のみがＡＲＭＳ−ＡＲＰを使用でき、他の通信装置＃１，＃３，＃４は従来のＡＲＰしか使用できないものとする。なお、通信装置＃２は、自身に対するＡＲＰ−Ｒｅｑｕｅｓｔを受信した場合にはＡＲＰ−Ｒｅｐｌｙを送信するため、ＡＲＭＳ−ＡＲＰを適用していない通信装置＃１，＃３，＃４との通信も従来通り行うことができる。
【００５４】
通信装置＃２は、定期的に、隣接ノードである（直接の無線通信が可能な）通信装置＃１，＃３へＯＬＳＲのＨｅｌｌｏメッセージを送信し（Ｔ１）、また、通信装置＃１，＃３からのＯＬＳＲのＨｅｌｌｏメッセージを受信する（Ｔ２，Ｔ３）。
通信装置＃２は、ＡＲＭＳ−ＡＲＰにより通信装置＃１，＃３のＭＡＣアドレスを取得する。すなわち、通信装置＃１，＃３からのＯＬＳＲのＨｅｌｌｏメッセージを受信した際に、無線リンクコントロール部２１にて、Ｈｅｌｌｏメッセージの送信に使用されたＩＰパケット及びＭＡＣフレームを解析して、その送信元（通信装置＃１，＃３）の通信装置のＩＰアドレスとＭＡＣアドレスを取得し、これらを対応付けたアドレスエントリを、ＡＲＰ情報管理・設定部２３を通じてＡＲＰテーブル１７に設定（登録）する。
【００５５】
通信装置＃１は、Ｈｅｌｌｏメッセージ及びＴＣメッセージのやり取りで得た情報により、送付データの宛先である通信装置＃４までの経路として［＃１⇔＃２⇔＃３⇔＃４］を把握しているので、最初の中継ノードである通信装置＃２へ通信装置＃４宛ての送付データを送信すべく、通信装置＃２のＭＡＣアドレスを従来のＡＲＰにより取得する。すなわち、通信装置＃２のＩＰアドレスを指定したＡＲＰ−Ｒｅｑｕｅｓｔをブロードキャスト送信し（Ｔ４）、その応答として通信装置＃２から送信されたＡＲＰ−Ｒｅｐｌｙを受信して、当該ＡＲＰ−Ｒｅｐｌｙに格納された通信装置＃２のＭＡＣアドレスを取得する（Ｔ５）。その後、通信装置＃１は、取得したＭＡＣアドレスを用いて、通信装置＃４宛ての送付データを通信装置＃２へ送信する（Ｔ６）。
【００５６】
通信装置＃２は、通信装置＃１から通信装置＃４宛ての送付データを受信すると、当該送付データを次の中継ノードである通信装置＃３へ送信する（Ｔ７）。なお、通信装置＃３のＭＡＣアドレスはＡＲＭＳ−ＡＲＰにより既に取得されているため、通信装置＃３のＭＡＣアドレスを取得するためのＡＲＰメッセージのやり取りは行われない。
【００５７】
通信装置＃３は、通信装置＃１から通信装置＃２を中継して送信された通信装置＃４宛ての送付データを受信すると、通信装置＃４のＭＡＣアドレスを従来のＡＲＰにより取得し（Ｔ８，Ｔ９）、当該取得したＭＡＣアドレスを用いて、通信装置＃４宛ての送付データを通信装置＃４へ送信する（Ｔ１０）。
【００５８】
通信装置＃４は、通信装置＃１から通信装置＃２，＃３を中継して送信された送付データに対する応答データを最初の中継ノードである通信装置＃３へ送付すべく、通信装置＃３のＭＡＣアドレスを従来のＡＲＰにより取得し（Ｔ１１，Ｔ１２）、当該取得したＭＡＣアドレスを用いて、通信装置＃１宛ての応答データを通信装置＃３へ送信する。
【００５９】
通信装置＃３は、通信装置＃４から通信装置＃１宛ての応答データを受信すると、次の中継ノードである通信装置＃２のＭＡＣアドレスを従来のＡＲＰにより取得し（Ｔ１３，Ｔ１４）、当該取得したＭＡＣアドレスを用いて、通信装置＃１宛ての応答データを通信装置＃２へ送信する（Ｔ１５）。
【００６０】
通信装置＃２は、通信装置＃４から通信装置＃３を中継して送信された通信装置＃１宛ての応答データを受信すると、当該応答データを通信装置＃１へ送信する（Ｔ１６）。なお、通信装置＃１のＭＡＣアドレスはＡＲＭＳ−ＡＲＰにより既に取得されているため、通信装置＃１のＭＡＣアドレスを取得するためのＡＲＰメッセージのやり取りは行われない。
【００６１】
次に、無線リンクコントロール部２１の動作について更に説明する。
図３には、無線リンクコントロール部２１で実施されるＡＲＭＳ−ＡＲＰに関する処理フローの一例を示してある。
無線リンクコントロール部２１は、無線ＭＡＣ部１９からデータを受信すると（ステップＳ１）、ＯＬＳＲのＨｅｌｌｏメッセージ（アドホックルーティングメッセージ）か否かを判定し（ステップＳ２）、Ｈｅｌｌｏメッセージでなければ、当該データをＭＡＣフレームに変換してルーティングテーブル１６へ送信する（ステップＳ１２）。
一方、無線ＭＡＣ部１９から受信したデータがＨｅｌｌｏメッセージであれば、以下の処理を行う。
【００６２】
まず、ＡＲＭＳ−ＡＲＰの動作状態の切り替え条件（後述する）を満たす変化が生じたか否かを判定する（ステップＳ３）。
ステップＳ３でＡＲＭＳ−ＡＲＰを起動させる条件を満たす変化が生じたと判定された場合には、ＡＲＭＳ−ＡＲＰを起動して動作を開始させる（ステップＳ４）。
ステップＳ３で切り替え条件を満たす変化が生じていないと判定された場合、又は、ステップＳ４によりＡＲＭＳ−ＡＲＰが起動された場合には、ＡＲＭＳ−ＡＲＰの動作状態を判定する（ステップＳ５）。
【００６３】
ステップＳ５でＡＲＭＳ−ＡＲＰが起動されていないと判定された場合には、無線ＭＡＣ部１９から受信したデータをＭＡＣフレームに変換してルーティングテーブル１６へ送信する（ステップＳ１２）。
ステップＳ５でＡＲＭＳ−ＡＲＰが起動されていると判定された場合には、Ｈｅｌｌｏメッセージの送信元のＩＰアドレス及びＭＡＣアドレスを取得してアドレスエントリを作成し（ステップＳ６）、当該アドレスエントリがＡＲＰテーブル１７に登録済みか否かを判定する（ステップＳ７）。
【００６４】
ステップＳ７で登録済みと判定された場合には、無線ＭＡＣ部１９から受信したデータをＭＡＣフレームに変換してルーティングテーブル１６へ送信する（ステップＳ１２）。
一方、ステップＳ７で未登録と判定された場合には、作成したアドレスエントリをＡＲＰテーブル１７へ登録し（ステップＳ８）、ＡＲＭＳリストに保存した後に（ステップＳ９）、無線ＭＡＣ部１９から受信したデータをＭＡＣフレームに変換してルーティングテーブル１６へ送信する（ステップＳ１２）。
【００６５】
ステップＳ３でＡＲＭＳ−ＡＲＰを停止させる条件を満たす変化が生じたと判定された場合には、ＡＲＭＳ−ＡＲＰの動作を停止させて従来のＡＲＰによりアドレス解決するようにし（ステップＳ１０）、ＡＲＭＳリストに保存されたアドレスエントリ、及び、これに該当するＡＲＰテーブル１７のアドレスエントリを削除する（ステップＳ１１）。すなわち、ＡＲＭＳ−ＡＲＰにより作成されたアドレスエントリのみをＡＲＰテーブル１７から削除する。その後、無線ＭＡＣ部１９から受信したデータをＭＡＣフレームに変換してルーティングテーブル１６へ送信する（ステップＳ１２）。
【００６６】
ＡＲＭＳ−ＡＲＰの動作状態の切り替え条件について説明する。
切り替え条件としては、一例として、Ｈｅｌｌｏメッセージの維持時間（図９のＦ１１）が閾値（例えば、５秒）より長い場合（又は閾値以上の場合）にＡＲＭＳ−ＡＲＰを停止（すなわち、従来のＡＲＰを使用）し、閾値以下の場合（又は閾値より短い場合）にＡＲＭＳ−ＡＲＰを起動する切り替え条件が用いられる。
【００６７】
このＨｅｌｌｏメッセージの維持時間による切り替え条件は、アドホックネットワーク特有の事情を考慮したものである。
すなわち、通信装置として移動端末を用いて形成されたアドホックネットワークでは、通信装置の移動に伴ってネットワーク構成が変化するが、通常は、Ｈｅｌｌｏメッセージの維持時間内であれば送信元の存在が保証されるので支障が無い。しかしながら、維持時間はシステムの運用形態などに応じて自由に設定することができるため、維持時間内であっても送信元の存在が不明になる状況が発生し得る。このような状況でＡＲＭＳ−ＡＲＰによるアドレス解決を行うと、直接のパケット通信ができなくなった通信装置であるにも関わらず、そのＭＡＣアドレスが取得されてしまい、問題である。ここで、Ｈｅｌｌｏメッセージの維持時間内にその送信元が不明になる状況は、維持時間の設定が長過ぎる場合に発生し易いと考えられるため、維持時間が閾値より長い場合（又は閾値以上の場合）にＡＲＭＳ−ＡＲＰを停止させて通常のＡＲＰによりアドレス解決を行うようにすることで、上記問題の解決を図る。
【００６８】
なお、複数の通信装置との間でＨｅｌｌｏメッセージをやり取りする関係において、いずれかの通信装置から受信したＨｅｌｌｏメッセージの維持時間が閾値と比べて長い場合に、複数の通信装置の全てについてＡＲＭＳ−ＡＲＰを停止させてもよく、該当Ｈｅｌｌｏメッセージの送信元の通信装置のみについてＡＲＭＳ−ＡＲＰを停止させてもよい。
【００６９】
図４には、ＡＲＭＳ−ＡＲＰに関する処理シーケンスの一例を示してある。
アドホックルーティングが開始されていない場合、無線リンクコントロール部２１は、無線ＭＡＣ部１９から受信したＤａｔａＰｌａｎｅ（ユーザデータなど）やＣｏｎｔｒｏｌＰｌａｎｅ（制御メッセージなど）をＭＡＣフレームに変換してルーティングテーブル１６へ送信する（Ｔ２１〜Ｔ２４）。また、この場合は、ＡＲＭＳ−ＡＲＰが停止されており、従来のＡＲＰによりアドレス解決が実施され、それにより作成されたアドレスエントリがＡＲＰテーブル１７に追加される（Ａ１１）。
【００７０】
アドホックルーティング制御部１１においてアドホックルーティングが開始された場合には、無線リンクコントロール部２１においてＡＲＭＳ−ＡＲＰが起動される（Ｔ２５，Ｔ２６）。
無線リンクコントロール部２１は、ＡＲＭＳ−ＡＲＰを起動した状態では、無線ＭＡＣ部１９からのＤａｔａＰｌａｎｅやＣｏｎｔｒｏｌＰｌａｎｅをＭＡＣフレームに変換してルーティングテーブル１６へ送信すると共に（Ｔ２７〜Ｔ３０）、ＣｏｎｔｒｏｌＰｌａｎｅを解析し、ＯＬＳＲのＨｅｌｌｏメッセージが含まれる場合には送信元ＭＡＣアドレス及びＩＰアドレスを取得してＡＲＰ情報管理・設定部２２へ送信する（Ｔ３１）。
【００７１】
ＡＲＰ情報管理・設定部２２は、無線リンクコントロール部２１からのＭＡＣアドレス及びＩＰアドレスを対応付けたアドレスエントリがＡＲＰテーブル１７に未登録か否かを調べ、未登録であれば当該アドレスエントリをＡＲＰテーブル１７に追加する（Ｔ３２、Ａ１２）。
また、無線リンクコントロール部２１は、定期的にＨｅｌｌｏメッセージの維持間隔を監視して閾値（本例では５秒）と比較し（Ｔ３３）、ＡＲＭＳ−ＡＲＰを停止させるか否かを判断する。これらの処理が、アドホックルーティングが停止するまで繰り返される（Ｔ３４〜Ｔ４１、Ａ１３）。
【００７２】
なお、アドホックネットワークに参加していない通信装置と通信する場合には、そのＭＡＣアドレスはＡＲＰテーブル１７に登録されていないので、従来のＡＲＰによりアドレス解決が実施され、それにより作成されたアドレスエントリがＡＲＰテーブル１７に追加される（Ａ１３）。
また、ＡＲＰ情報管理・設定部２２は、ＡＲＭＳ−ＡＲＰによりＡＲＰテーブル１７にアドレスエントリが登録された通信装置（Ｈｅｌｌｏメッセージの送信元となった通信装置）について、直前のＨｅｌｌｏメッセージに設定された維持時間（又は送信間隔）内に次のＨｅｌｌｏメッセージを受信できない場合には、当該アドレスエントリをＡＲＰテーブル１７から削除する。これは、通信装置の移動等によりノード間の隣接関係が変化した場合などを考慮したものである。
【００７３】
アドホックルーティング制御部１１においてアドホックルーティングが停止された場合には、ＡＲＭＳ−ＡＲＰによって作成されたアドレスエントリがＡＲＰテーブル１７から削除され、また、無線リンクコントロール部２１においてＡＲＭＳ−ＡＲＰが停止される（Ｔ４２〜Ｔ４４、Ａ１４）。
無線リンクコントロール部２１は、ＡＲＭＳ−ＡＲＰを停止した状態では、ＣｏｎｔｒｏｌＰｌａｎｅから送信元ＭＡＣアドレス及びＩＰアドレスを取得する処理を行わない（Ｔ４５、Ｔ４６）。
【００７４】
ここで、上記では、ＡＲＭＳ−ＡＲＰの動作状態の切り替え条件として、Ｈｅｌｌｏメッセージの維持時間（図９のＦ１１）を用いているが、これに代えて、Ｈｅｌｌｏメッセージの送信間隔（図９のＦ１２）を用いるようにしてもよい。すなわち、Ｈｅｌｌｏメッセージの送信間隔が閾値より長い場合（又は閾値以上の場合）にＡＲＭＳ−ＡＲＰを停止させ、閾値以下の場合（又は閾値より短い場合）にＡＲＭＳ−ＡＲＰを起動する切り替え条件が用いられる。なお、維持時間には、通常、送信時間の２．５倍以上の値が用いられるので、送信時間に対する閾値としては、例えば、維持時間に対する閾値の１／２．５の値（例えば、２秒）を用いればよい。
【００７５】
また、ＡＲＭＳ−ＡＲＰの動作状態の切り替え条件として、Ｈｅｌｌｏメッセージ以外の情報を用いてもよい。
図５には、ＡＲＭＳ−ＡＲＰの動作状態の切り替え条件の他の例を示してある。
図５の例では、無線回線使用率が５０％以下、無線送信レートが２Ｍｂｐｓ以下、無線受信レートが４Ｍｂｐｓ以下、アドホックネットワークの構成ノード数が１６以下のいずれかを満たす場合にＡＲＭＳ−ＡＲＰを停止し（すなわち、従来のＡＲＰを使用）し、無線回線使用率が５０％以上、無線送信レートが４Ｍｂｐｓ以上、無線受信レートが８Ｍｂｐｓ以上、アドホックネットワークの構成ノード数が３２以上のいずれかを満たす場合にＡＲＭＳ−ＡＲＰを起動する切り替え条件となっている。
この場合、無線リンクコントロール部２１は、トラフィック監視部２２から渡される無線回線使用率、無線送信レート、無線受信レートなどのトラフィック情報、及び、無線リンクコントロール部２１内での解析により得られるアドホックネットワークの構成ノード数を各閾値と比較して、ＡＲＭＳ−ＡＲＰの動作状態の切り替え判断を行う。
【００７６】
これらの切り替え条件は、無線回線の使用率が高い場合や無線通信帯域の消費量が大きい場合に従来のＡＲＰを使用すると、ＡＲＰメッセージのやり取りによる通信負荷の更なる増大が懸念されるため、このような状況ではＡＲＭＳ−ＡＲＰによるアドレス解決を行うことでＡＲＰメッセージのやり取りを抑制するようにして、通信負荷の高まりを抑えることを意図したものである。
【００７７】
なお、図５に挙げた切り替え条件に係る各閾値の値は例示に過ぎない。また、無線回線使用率、無線送信レート、無線受信レート、構成ノード数の各要件の２以上（全てでもよい）が満たされた場合に切り替えを行ってもよく、更に、上述したＨｅｌｌｏメッセージの維持時間（又は送信間隔）を加味して切り替えを行ってもよく、システムの運用形態などに応じて適宜定めればよい。
【００７８】
図６には、ＡＲＭＳ−ＡＲＰに関する処理シーケンスの他の例を示してある。
本例では、無線回線使用率に応じてＡＲＭＳ−ＡＲＰの動作状態を切り替える。なお、ＡＲＭＳ−ＡＲＰは、当初は停止されている。
無線リンクコントロール部２１は、トラフィック監視部２２により取得された無線回線使用率が閾値以下の場合には、ＡＲＭＳ−ＡＲＰを起動せずに停止状態のままにして、無線ＭＡＣ部１９から受信したＤａｔａＰｌａｎｅ（ユーザデータなど）やＣｏｎｔｒｏｌＰｌａｎｅ（制御メッセージなど）をＭＡＣフレームに変換してルーティングテーブル１６へ送信する（Ｔ５１〜Ｔ５５）。また、この場合は、従来のＡＲＰによりアドレス解決が実施され、それにより作成されたアドレスエントリがＡＲＰテーブル１７に追加される（Ａ２１）。
【００７９】
トラフィック監視部２２により取得された無線回線使用率が閾値以上となった場合には、無線リンクコントロール部２１においてＡＲＭＳ−ＡＲＰが起動される（Ｔ５６，Ｔ５７）。
無線リンクコントロール部２１は、ＡＲＭＳ−ＡＲＰを起動した状態では、無線ＭＡＣ部１９からのＤａｔａＰｌａｎｅやＣｏｎｔｒｏｌＰｌａｎｅをＭＡＣフレームに変換してルーティングテーブル１６へ送信すると共に（Ｔ５８〜Ｔ６１）、ＣｏｎｔｒｏｌＰｌａｎｅを解析し、ＯＬＳＲのＨｅｌｌｏメッセージが含まれる場合には送信元ＭＡＣアドレス及びＩＰアドレスを取得してＡＲＰ情報管理・設定部２２へ送信する（Ｔ６２）。
【００８０】
ＡＲＰ情報管理・設定部２２は、無線リンクコントロール部２１からのＭＡＣアドレス及びＩＰアドレスを対応付けたアドレスエントリがＡＲＰテーブル１７に未登録か否かを調べ、未登録であれば当該アドレスエントリをＡＲＰテーブル１７に追加する（Ｔ６３、Ａ２２）。
また、無線リンクコントロール部２１は、定期的に無線回線使用率を監視して閾値と比較し（Ｔ６４）、ＡＲＭＳ−ＡＲＰを停止させるか否かを判断する。これらの処理が、アドホックルーティングが停止するまで繰り返される（Ｔ６５〜Ｔ７２、Ａ２３）。
【００８１】
なお、アドホックネットワークに参加していない通信装置と通信する場合には、そのＭＡＣアドレスはＡＲＰテーブル１７に登録されていないので、従来のＡＲＰによりアドレス解決が実施され、それにより作成されたアドレスエントリがＡＲＰテーブル１７に追加される（Ａ２３）。
また、ＡＲＰ情報管理・設定部２２は、ＡＲＭＳ−ＡＲＰによりＡＲＰテーブル１７にアドレスエントリが登録された通信装置（Ｈｅｌｌｏメッセージの送信元となった通信装置）について、直前のＨｅｌｌｏメッセージに設定された維持時間（又は送信間隔）内に次のＨｅｌｌｏメッセージを受信できない場合には、当該アドレスエントリをＡＲＰテーブル１７から削除する。これは、通信装置の移動等によりノード間の隣接関係が変化した場合などを考慮したものである。
【００８２】
トラフィック監視部２２により取得された無線回線使用率が閾値以下となった場合には、ＡＲＭＳ−ＡＲＰによって作成されたアドレスエントリがＡＲＰテーブル１７から削除され、また、無線リンクコントロール部２１においてＡＲＭＳ−ＡＲＰが停止される（Ｔ７３〜Ｔ７５、Ａ２４）。
無線リンクコントロール部２１は、ＡＲＭＳ−ＡＲＰを停止した状態では、ＣｏｎｔｒｏｌＰｌａｎｅから送信元ＭＡＣアドレス及びＩＰアドレスを取得する処理を行わない（Ｔ７６、Ｔ７７）。
【００８３】
以上のように、本例の通信装置では、ＯＬＳＲのＨｅｌｌｏメッセージ（隣接ノード発見メッセージ）を受信した際に、データリンク層にて送信元のＩＰアドレスとＭＡＣアドレスを取得してアドレスエントリを作成し、ネットワーク層のＡＲＰテーブルに登録するＡＲＭＳ−ＡＲＰを用いることで、ＡＲＰメッセージの送受信を行わずにアドレス解決を行えるようにした。また、Ｈｅｌｌｏメッセージの維持時間（又は送信間隔）、無線回線の使用率、無線通信帯域の消費量などの情報に基づいて、ＡＲＭＳ−ＡＲＰの動作状態を切り替えるようにした。このため、本例の通信装置によれば、従来のＡＲＰの使用による通信帯域の消費やデータの到達遅延を抑えることができる。
【００８４】
ここで、本例の通信装置では、ＡＲＭＳ−ＡＲＰの起動時に従来のＡＲＰを停止させるのではなく、これらを併用するようにしている。すなわち、ＡＲＭＳ−ＡＲＰが起動された状態において、当該通信装置から送出するデータ（ＩＰパケット）の宛先ＩＰアドレスに対応するＭＡＣアドレスをＡＲＰテーブル１７から特定できない場合（宛先ＩＰアドレスに関するアドレスエントリが存在しない場合）には、従来のＡＲＰにより、宛先ＩＰアドレスを指定したＡＲＰ−Ｒｅｑｕｅｓｔをブロードキャスト送信し、その応答として受信したＡＲＰ−ＲｅｐｌｙからＭＡＣアドレスを取得する。
これにより、ＡＲＭＳ−ＡＲＰによるアドレス解決ができなかった通信装置（ＨｅｌｌｏメッセージからＩＰアドレスとＭＡＣアドレスの対応を特定できなかった通信装置）との間でも通信を行うことができる。
【００８５】
また、本例の通信装置では、ＡＲＭＳ−ＡＲＰによりＡＲＰテーブルにアドレスエントリが登録された他の通信装置について、直前のＨｅｌｌｏメッセージに設定された維持時間（又は送信間隔）内に次のＨｅｌｌｏメッセージを受信できない場合には、当該アドレスエントリをＡＲＰテーブルから削除するようにしている。
これにより、Ｈｅｌｌｏメッセージを送信した通信装置の移動等により通信できなくなった状況に対処することができる。
【符号の説明】
【００８６】
１０：ネットワークモジュール、  １１：アドホックルーティング制御部、  １２：制御メッセージ送信部、  １３：制御メッセージ受信部、  １４：制御メッセージ生成部、  １５：ルーティング情報ベース、  １６：ルーティングテーブル、  １７：ＡＲＰテーブル、  １８：有線ＭＡＣ部、  １９：無線ＭＡＣ部、  ２１：無線リンクコントロール部、  ２２：アドホックルーティング制御部、  ２３：ＡＲＰ情報管理・設定部
【図１】
0005882688.tif 000002
【図２】
0005882688.tif 000003
【図３】
0005882688.tif 000004
【図４】
0005882688.tif 000005
【図５】
0005882688.tif 000006
【図６】
0005882688.tif 000007
【図７】
0005882688.tif 000008
【図８】
0005882688.tif 000009
【図９】
0005882688.tif 000010
【図１０】
0005882688.tif 000011
【図１１】
0005882688.tif 000012
【図１２】
0005882688.tif 000013
【図１３】
0005882688.tif 000014
【図１４】
0005882688.tif 000015
【図１５】
0005882688.tif 000016
【図１６】
0005882688.tif 000017
【図１７】
0005882688.tif 000018
【図１８】
0005882688.tif 000019
【図１９】
0005882688.tif 000020
【図２０】
0005882688.tif 000021