無線通信システム
【課題】アドホックルーティングプロトコルによる無線ネットワークにおいて、IPアドレスとMACアドレスの対応を、効率的に特定する技術を提案する。
【解決手段】アドホックルーティングプロトコルによる無線ネットワークに含まれる通信装置が、当該無線ネットワーク内の他の通信装置からOLSRのHelloメッセージを受信した際に、データリンク層(MAC層)の無線リンクコントロール部21にて、Helloメッセージの送信に使用されたIPパケット及びMACフレームを解析して、その送信元の通信装置のIPアドレスとMACアドレスを取得し、これらを対応付けたアドレスエントリを、ARP情報管理・設定部23を通じてネットワーク層のARPテーブル17に設定(登録)する。
【解決手段】アドホックルーティングプロトコルによる無線ネットワークに含まれる通信装置が、当該無線ネットワーク内の他の通信装置からOLSRのHelloメッセージを受信した際に、データリンク層(MAC層)の無線リンクコントロール部21にて、Helloメッセージの送信に使用されたIPパケット及びMACフレームを解析して、その送信元の通信装置のIPアドレスとMACアドレスを取得し、これらを対応付けたアドレスエントリを、ARP情報管理・設定部23を通じてネットワーク層のARPテーブル17に設定(登録)する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、移動端末間無線自律ネットワークルーティング(アドホックルーティング)に係る無線通信システムに関する。
【背景技術】
【0002】
近年、OLSR(Optimized Link State Routing)、AODV(Adhoc Ondemand Distance Vector)をはじめとするアドホックルーティングプロトコルによる無線通信により、移動端末間で自律的に端末を検知し、自律的に通信経路の最適化を実施し、その場限りの無線ネットワーク(アドホックネットワーク)を構築するアドホックルーティングが検討されている。
なお、以下の説明における「ノード」は、無線ネットワークを形成する各移動端末を表す。また、移動端末とは、自在に移動させることが可能な通信装置であり、人により携帯可能な機器(例えば、モバイルコンピュータ、小型ゲーム機、無線機、携帯電話機)に組み込まれた通信装置や、移動体(例えば、車輌、船舶、ヘリコプター)に搭載された通信装置、などが挙げられる。
【0003】
OLSRプロトコルは、メッシュ型(綿状リンク型)のルーティングプロトコルの1つである。OLSRプロトコルは、Proactive型のルーティングプロトコルであり、HelloメッセージやTCメッセージ(Topology Control)といった制御メッセージを交換することで通信経路を通信前に確定するので、いつでも直ちに中継を開始することができる。なお、OLSRプロトコルの基本動作については後述する。
【0004】
次に、ARP(Address Resolution Protocol)について説明する。ARPは、Ethernet(登録商標)環境において、IPアドレス(ネットワーク層の論理アドレス)からMACアドレス(データリンク層の物理アドレス)を得るために用いられるプロトコルである。
【0005】
TCP/IP(Transmission Control Protocol/Internet Protocol)では、IPパケットを送受信するためには、IPパケットの送信先となる端末やネットワークデバイス等のノードのデータリンク層アドレス(MACアドレス)を知っている必要がある。ARPは、IPパケットを送信するノードのMACアドレスを取得したい場合に用いられる。
【0006】
図15には、ARP−Request(ARP要求)、ARP−Reply(ARP応答)のパケットフォーマットを示してある。図15(a)は、ARP−Requestのパケットフォーマットを示しており、図15(b)は、ARP−Replyのパケットフォーマットを示している。
また、図16には、ARPによるデータリンク層アドレス解決とデータ中継の概要を示してある。図16(a)は、ARPによるデータリンク層アドレス解決とデータ中継の様子を示しており、図16(b)は、その処理シーケンスを示している。
【0007】
ノードAは、ノードC宛のデータ(IPパケット)を中継ノードBに送信する際、ARP−Requestにて、ノードBのMACアドレスを要求する(T121)。ARP−Requestのパケットには、送信元(ノードA)のIPアドレス・MACアドレスと、取得したいノードのIPアドレス(Dst IP Address)の情報が格納されて、Ethernetネットワークにブロードキャストされる。
ARP−Requestのパケットを受け取ったノードBは、ARP−RequestのDst IP Addressが自身のIPアドレスと同一であれば、自身のMACアドレスをノードAに伝えるために、送信元(ノードB)のMACアドレスを格納したARP−ReplyのパケットをノードAに送信する(T122)。
このようにして、IPパケットを送信するノードは、IPアドレスからMACアドレスを取得して、これらのアドレス(IPアドレスとMACアドレス)を対応付けたアドレスエントリを、ARPテーブルと呼ばれる情報ベースに保存する。
【0008】
次に、ノードAは、ノードBのMACアドレスを用いて、ノードC宛のデータをノードBに送信する(T123)。
ノードC宛のIPパケットを受信したノードBは、ARP−RequestでノードCのMACアドレスを要求し(T124)、その応答であるARP−ReplyからノードCのMACアドレスを取得し(T125)、当該取得したMACアドレスを用いて、ノードC宛のデータをノードCに送信する(T126)。
その後、ノードAからノードC宛に別のデータを送る際には、ARPテーブルの該当アドレスエントリを参照してMACアドレスを解決できるので、ARPメッセージ(ARP−Request、ARP−Reply)のやり取りを行うことなく、データの送信を行える(T126,T127)。
【0009】
図17には、ARPテーブルの一例を示してある。
ARPテーブルは、IPアドレスとMACアドレスとを対応付けたアドレスエントリを保持する。また、そのアドレスエントリの種類(設定エントリ、永続的なエントリ、発光されたエントリなど)と出力インタフェースも併せて管理する。なお、永続的なエントリではないアドレスエントリは、一定時間(維持時間)の経過後に消去されるので、この場合には、再度、ARPメッセージのやり取りが必要になる。アドレスエントリの維持時間は、ノードによって異なる値が設定され得る。
【0010】
なお、ARPを用いる技術に関しては、特許文献1等に示されるように、種々の発明がこれまでに提案されている。
【0011】
また、図18には、レイヤー2(L2)であるデータリンク層(MAC層)で処理されるMACフレームのフォーマットを示してある。MACフレームは、宛先のMACアドレスが格納されるDestination MAC Address(F31)、送信元のMACアドレスが格納されるSource MAC Address(F32)、IPパケットやARPパケットといった種々のパケットが格納されるNetwork Layer Protocol Data(F33)などの領域を有する。
【0012】
また、図19には、レイヤー3(L3)であるネットワーク層で処理されるIPパケットのフォーマットを示してある。IPパケットは、送信元のIPアドレスが格納されるSource IP Address(F41)、宛先のIPアドレスが格納されるDestination IP Address(F42)、トランスポート層やアプリケーション層などの上位層のプロトコル(例えば、OLSR)のデータが格納されるTransPort Layer/Application Layer Protocol Data(F43)などの領域を有する。
【0013】
すなわち、上述したOLSRの制御メッセージ(HelloメッセージやTCメッセージ)は、ネットワーク層にてIPパケットの領域F33(Network Layer Protocol Data)に格納され、更に、当該IPパケットがデータリンク層(MAC層)にてMACフレームの領域F43(TransPort Layer/Application Layer Protocol Data)に格納されて、伝送路へ送出される。OLSRの制御メッセージの受信側では、データリンク層(MAC層)にてMACフレームからIPパケットが取り出され、ネットワーク層にて当該IPパケットからOLSRの制御メッセージが取り出されて、より上位層のOLSR部へ渡される。
【0014】
図20には、従来の通信装置の構成例を示してある。
従来の通信装置では、レイヤー4(L4)であるトランスポート層以上に、アドホックルーティングプロトコルを実現するネットワークモジュール10が配置され、その中に、アドホックルーティング制御部11、制御メッセージ送信部12、制御メッセージ受信部13、制御メッセージ生成部14、ルーティング情報ベース15が配置される。
【0015】
従来の通信装置は、制御メッセージ受信部13にて受信した制御メッセージをアドホックルーティング制御部11にて解析し、ルーティング情報ベース15に保存する。その後、アドホックルーティング制御部11は、事前に設定されていた制御メッセージ送信間隔に従い、ルーティング情報ベース15から情報を抽出して制御メッセージ生成部14に渡す。制御メッセージ生成部14にて生成された制御メッセージは、制御メッセージ送信部12に渡されて、下位のレイヤーに送信される。
【0016】
また、アドホックルーティング制御部11は、ルーティング情報ベース15に保存されている情報に基づいて、レイヤー3(L3)であるネットワーク層に配置されたルーティングテーブル16に通信経路を登録する。経路を登録する際には、宛先IPアドレス、ネットワーク識別フラグ(ネットマスク)、中継ノード(或いはゲートウェイ)のIPアドレス、経路の尺度(メトリック)、出力インタフェース(Ethernet PHY、又は、Wireless Network PHY)などの情報が必要となる。
【0017】
設定された経路は、出力インタフェースの選定に使用される。有線自律ネットワーク(Ethernet PHY)側からのIPパケット(D1)の入力があった場合、通信装置は、自身のルーティングテーブル16に登録されている通信経路を確認する。その後、IPパケットの宛先IPアドレスと自身のルーティングテーブル16に登録されている通信経路に合致したものがあれば、登録時に設定した出力インタフェースに対してIPパケットを出力する。また、ルーティングテーブル16は、無線インタフェース(Wireless Network PHY)側からのIPパケット(D2)に対しても同様に作用する。
【0018】
有線或いは無線への出力の際、それぞれのインタフェース部は、レイヤー3(L3)であるネットワーク層に配置されたARPテーブル17に登録されているアドレスエントリを確認する。
【0019】
ARPテーブル17に、宛先IPアドレス(若しくはルーティングテーブル16におけるゲートウェイと呼ばれる中継を行う通信装置のIPアドレスに相当するアドレス)に対応するMACアドレスが存在しなかった場合、各インタフェース部はアドレス解決を要求するARP−Requestのパケットを送信して、宛先(若しくはルーティングテーブル16におけるゲートウェイ)のMACアドレスの取得要求を行う。そして、ARP−Requestに対する応答であるARP−Reply(D3)を受信すると、宛先IPアドレスに対するMACアドレスの組み合わせ(アドレスエントリ)をARPテーブル17に追加する。
【0020】
アドレスエントリを確認してMACアドレスが得られた場合、或いはARPメッセージのやり取りによりMACアドレスが得られた場合は、MACフレーム若しくはDataPlane(ユーザデータ)に変換し、レイヤー2(L2)であるデータリンク層(MAC層)に配置された有線MAC(Ethernet MAC)部18、又は、無線MAC(Wireless MAC)部19から、出力インタフェース(Ethernet PHY、又は、Wireless Network PHY)へと出力する。
【先行技術文献】
【特許文献】
【0021】
【特許文献1】特開2002−77213号公報
【発明の概要】
【発明が解決しようとする課題】
【0022】
上述したようなアドホックルーティングプロトコルを用いることで、無線ネットワークを自律的に構築することができ、無線ネットワーク上での通信が可能となる。
しかしながら、従来の方式では、ARPにより得られたMACアドレスのアドレスエントリは、一定時間以上経過すると、永続的なエントリでなければ消去されるので、対象のIPアドレスに該当するMACアドレスを取得し直すために、ARPでの取得要求送信、応答受信を再度行う必要がある。このため、MACアドレスの取得の度にARPメッセージの送受信で通信帯域が消費されてしまい、通信効率の悪化を招いてしまう。また、ARPメッセージの送受信によるMACアドレスの取得が完了するまでデータ送信が中断されるので、データの到達遅延も発生することになる。
【0023】
本発明は、このような従来の事情に鑑みて為されたものであり、アドホックルーティングプロトコルによる無線ネットワークにおいて、IPアドレスとMACアドレスの対応を、効率的に特定する技術を提案することを目的とする。
【課題を解決するための手段】
【0024】
本発明では、複数の通信装置により形成された無線ネットワーク内の各通信装置と直接又は間接的に無線通信することが可能な通信装置において、直接の無線通信が可能な他の通信装置から送信された隣接ノード発見メッセージを受信すると、データリンク層にて、当該隣接ノード発見メッセージの送信に使用されたIPパケット及びMACフレームからその送信元である前記他の通信装置のIPアドレスとMACアドレスを取得し、当該取得したIPアドレスとMACアドレスを対応付けてネットワーク層のARPテーブルに登録するように構成した。
【0025】
これにより、IPアドレスとMACアドレスの対応を、ARPを用いずに或いは併用して、効率的に特定することができる。したがって、ARPメッセージの送受信による通信帯域の消費が抑制され、通信効率をより高めることができる。また、ARPメッセージの送受信によるMACアドレスの取得が完了するまでデータ送信を中断させる必要がなくなり、データの到達遅延も解消することができる。
【0026】
また、本発明の通信装置では、当該通信装置から送出するIPパケットの宛先のIPアドレスに対応するMACアドレスが前記ARPテーブルから特定できない場合に、当該IPアドレスについてのARP要求を送信するように構成した。
これにより、隣接ノード発見メッセージからIPアドレスとMACアドレスの対応を特定できなかった通信装置との間でも通信を行うことができる。
【0027】
また、本発明の通信装置では、前記ARPテーブルにIPアドレスとMACアドレスの対応が登録された他の通信装置から所定時間内に次の隣接ノード発見メッセージを受信できない場合に、前記ARPから当該他の通信装置のIPアドレスとMACアドレスの対応を削除するように構成した。
これにより、隣接ノード発見メッセージを送信した通信装置の移動等により通信できなくなった状況に対処することができる。
【発明の効果】
【0028】
本発明の通信装置によれば、アドホックルーティングプロトコルによる無線ネットワークにおいて、IPアドレスとMACアドレスの対応を、効率的に特定することができる。したがって、ARPメッセージの送受信による通信帯域の消費が抑制され、通信効率をより高めることができる。また、ARPメッセージの送受信によるMACアドレスの取得が完了するまでデータ送信を中断させる必要がなくなり、データの到達遅延も解消することができる。
【図面の簡単な説明】
【0029】
【図1】本発明の一実施形態に係る通信装置の構成例を示す図である。
【図2】ARMS−ARPの概要を示す図である。
【図3】ARMS−ARPに関する処理フローの一例を示す図である。
【図4】ARMS−ARPに関する処理シーケンスの一例を示す図である。
【図5】ARMS−ARPの動作状態の切り替え条件の一例を示す図である。
【図6】ARMS−ARPに関する処理シーケンスの他の例を示す図である。
【図7】アドホックネットワークによる通信の概要を示す図である。
【図8】Helloメッセージによる論理接続の概要を示す図である。
【図9】Helloメッセージのフォーマットを示す図である。
【図10】TCメッセージのフラッディングの概要を示す図である。
【図11】TCメッセージによる経路決定の概要を示す図である。
【図12】TCメッセージのフォーマットを示す図である。
【図13】HNAメッセージによる経路通知の概要を示す図である。
【図14】HNAメッセージのフォーマットを示す図である。
【図15】ARP−Request、ARP−Replyのパケットフォーマットを示す図である。
【図16】ARPによるデータリンク層アドレス解決とデータ中継の概要を示す図である。
【図17】ARPテーブルの一例を示す図である。
【図18】MACフレームのフォーマットを示す図である。
【図19】IPパケットのフォーマットを示す図である。
【図20】従来の通信装置の構成例を示す図である。
【発明を実施するための形態】
【0030】
本発明の実施例を説明するに先立って、OLSRプロトコルの基本動作について説明しておく。
図7には、アドホックネットワークによる通信の概要を示してある。
図7の例では、ノードAによる通信エリア1と、ノードCによる通信エリア2とが重複するエリアにノードBが滞在している。この場合、ノードBは、ノードAとノードCとの通信を中継する中継ノードとなる。すなわち、例えば、ノードAから送出されたノードC宛のデータは、ノードBにより中継されてノードCへ送付される。このように、アドホックルーティングを用いることで、無線ネットワーク(アドホックネットワーク)内の各移動端末は直接又は間接的に他の移動端末と無線通信することができる。
【0031】
OLSRによるパケットは、UDP(User Datagram Protocol)のポート番号698番を使って送受信される。OLSRでは、そのパケットを利用して、主に、HelloメッセージとTCメッセージの2つの制御メッセージを交換しながらネットワーク内の情報を把握し、通信経路を構築する。
【0032】
Helloメッセージは、各ノードの持つ情報の配信を目的として定期的に送信される隣接ノード発見メッセージであり、各ノードはこのメッセージを受信して周辺ノードの情報を収集し、周辺ノードとの論理接続(ローカルリンク)や、MPR(Multi Point Relay)と呼ばれる中継ノードの決定を行う。
【0033】
図8には、Helloメッセージによる論理接続の概要を示してある。図8(a)は、Helloメッセージによる論理接続の様子を示しており、図8(b)は、その処理シーケンスを示している。
また、図9には、Helloメッセージのフォーマットを示してある。Helloメッセージは、Helloメッセージの送信元の存在を保証する維持時間が格納されるinvalid time(F11)、Helloメッセージの送信間隔が格納されるHello Interval(F12)、リンクの状態を表すLINKTYPEが格納されるLinkCode(F13)などの領域を有する。維持時間及び送信間隔は、システムの運用形態などに応じて定められた値が用いられ、ノード毎に異なる値を用いてもよく、運用中に値を変化させてもよい。なお、一般に、維持時間には送信時間の2.5倍以上の値が用いられる。
【0034】
図8を参照してHelloメッセージによる論理接続について説明する。ノードBは、初期の段階では自分の存在をアピールするために、LINKTYPE(F13)をUNSPEC_LINK(リンク状態不明)にしたHelloメッセージを、隣接ノード(ノードA,C)へ送信する(T101)。
以下では、ノードAとノードBとの間の処理に着目して説明するが、ノードBとノードCとの間でも同様な処理が行われる。
【0035】
ノードBからのHelloメッセージを受信したノードAは、この時点で、送信元(ノードB)から自分へのリンクが構築されたと認識する(T102)。しかしながら、ノードAは、双方向のリンクであることは分からないので、次の送信周期にて、LINKTYPE(F13)をASYM_LINK(片方向リンク)にしたHelloメッセージを、隣接ノード(ノードB)へ送信する(T103)。
【0036】
ノードAからのHelloメッセージを受信したノードBは、ASYM_LINKの対象に自身のノードが含まれていたとき、自身が送出したUNSPEC_LINKのHelloメッセージが隣接ノードに受信されたこと、そして、隣接ノードからのHelloメッセージを受信できたことから、送信元(ノードA)との間で双方向のリンクが構築されたことを認識する(T104)。その後、ノードBは、次の送信周期にて、LINKTYPE(F13)をSYM_LINK(双方向リンク)にしたHelloメッセージを、隣接ノード(ノードA,C)へ送信する(T105)。
【0037】
ノードBからのHelloメッセージを受信したノードAは、送信元(ノードB)との間で双方向のリンクが構築できたことと、送信元の先に次隣接ノード(ノードC)が存在することを認識し(T106)、次の送信周期にて、LINKTYPE(F13)をSYM_LINK(双方向リンク)にしたHelloメッセージにて、双方向のリンクが構築できたノード(ノードB)との次隣接ノード(ノードC)をNEXTHOPとして、隣接ノード(ノードB)へ送信する(T107)。また、その際に、MPR(中継ノード)として隣接ノードの1つ(ノードB)を選択する旨を通知すべく、LINKTYPE(F13)をMPRLINKにしたHelloメッセージを隣接ノード(ノードB)へ送信する。
なお、各ノードから送出されるHelloメッセージは、全ての隣接ノードへブロードキャスト(フラッディング)されるが、それより先のノードへの中継送信は行われない。
【0038】
TCメッセージは、MPR(中継ノード)に選択されたノードのみが送信する制御メッセージであり、ネットワーク全体の構成を通知するために使用される。
図10には、TCメッセージのフラッディングの概要を示してある。図10(a)は、TCメッセージのフラッディングの様子を示しており、図10(b)は、その処理シーケンスを示している。
また、図11には、TCメッセージによる経路決定の概要を示してある。図11(a)は、ネットワーク構成(トポロジー)を示しており、図11(b)は、ノードAからノードGまでの経路を示している。
また、図12には、TCメッセージのフォーマットを示してある。TCメッセージは、メッセージの寿命を表す値が格納されるMsgTTL(F21)、近隣広告ノードのアドレスが格納されるAdvertised Neighbor Node(F22)などの領域を有する。
【0039】
ここでは、MPRに選ばれたノードEを中心に説明する。
図8に示したHelloメッセージによるMPR選定で選ばれたノードEは、自分をMPRに選んだノード(ノードG,D,F,B,C)を近隣広告ノード(F22)として含めたTCメッセージをブロードキャスト送信する(T111)。
TCメッセージを受信したノードは、自身もMPR(例えば、ノードB)の場合には、当該TCメッセージから近隣広告ノードの情報を取得して自分のネットワークトポロジー情報に追加した後に、当該TCメッセージのMsgTTL(F21)を1つ減らして再びブロードキャスト送信する(T112)。
一方、MPR以外のノード(例えば、ノードA)がTCメッセージを受信した場合は、当該TCメッセージから近隣広告ノードの情報を取得して自分のネットワークトポロジー情報に追加して終了する(T113)。
これらの処理は、他のMPR(例えば、ノードF)についても同様に行われる。
【0040】
その後、各ノードは、自分のネットワークトポロジー情報から、他のノードへ到達する最短経路の計算を開始する。ここでは、ノードAを中心に説明する。
TCメッセージを受信できた各ノードは、共通のネットワークトポロジー情報を所有している。図11の例では、トポロジー情報として、[B←A]、[B←D]、[B←E]、[C←A]、[C←F]、[E←B]、[E←C]、[E←D]、[E←F]、[E←G]、[F←C]、[F←E]、[F←I]の各リンク情報が所有されている。
【0041】
ノードAは、このトポロジー情報から他のノード(本例では、ノードG)へ到達するためのリンク情報をトポロジー情報から抽出し、最短経路の計算を行う。ノードGとリンク(論理接続)しているのはノードEであるため、まずは、[E⇔G](L1)のリンク情報が抽出される。次に、ノードEとリンクしているノードのリンク情報を抽出する。ここで、ノードAは、ノードEに到達するためのMPRとしてノードBを選択しているため、ここでは、[B⇔E](L2)のリンク情報が抽出される。同様に、[B⇔A](L3)のリンク情報が抽出される。以上から、ノードGに到達するために必要なリンク情報は[G⇔E⇔B⇔A](L4)となり、この情報を元に、ノードAはノードGまでの経路を設定する。
【0042】
以上のように、OLSRでは、HelloメッセージとTCメッセージの2つの制御メッセージにより、各ノードはメッシュネットワークに参加している全ノードと自由に通信ができるようになる。
【0043】
また、OLSRには、HNA(Host and Network Association)メッセージと呼ばれる制御メッセージがある。HNAメッセージは、ノードがゲートウェイとして機能する場合に使用される補助的なメッセージである。ゲートウェイとなるノードに予め有線ネットワークの情報を設定しておくことで、HNAメッセージを送信することが可能になる。
【0044】
図13には、HNAメッセージによる経路通知の概要を示してある。図13(a)は、HNAメッセージによる経路通知の様子を示しており、図13(b)は、HNAメッセージによる通知に従ってインターネット接続する様子を示している。
また、図14には、HNAメッセージのフォーマットを示してある。
【0045】
HNAメッセージの送信は、TCメッセージと同様のフラッディング手法が用いられる。すなわち、HNAメッセージはTCメッセージと同様にブロードキャストされ、受信したMPRが再度ブロードキャストを行うことで、構成中の無線ネットワーク内の移動端末全てに通知される。図13の例では、インターネットゲートウィのアドレスが予め登録されたノードGから送出されたHNAメッセージにより、無線ネットワーク内の各ノードに、ノードGの先にインターネットゲートウェイが存在することが通知される。これにより、例えば、ノードAは、ノードB,E,Gを経由して、インターネットへの接続を行うことができる。
【0046】
次に、本発明の一実施形態に係る通信装置について図面を参照して説明する。
図1には、本発明の一実施形態に係る通信装置(移動端末)の構成例を示してある。
本例の通信装置は、レイヤー4(L4)であるトランスポート層以上に、アドホックルーティングプロトコルを実現するネットワークモジュール10が配置され、その中に、アドホックルーティング制御部11、制御メッセージ送信部12、制御メッセージ受信部13、制御メッセージ生成部14、ルーティング情報ベース15が配置される。
また、レイヤー3(L3)であるネットワーク層に、ルーティングテーブル16、ARPテーブル17が配置される。
また、レイヤー2(L2)であるデータリンク層(MAC層)に、有線MAC部18、無線MAC部19、無線リンクコントロール部21、トラフィック監視部22、ARP情報管理・設定部23が配置される。
【0047】
すなわち、本例の通信装置は、従来の通信装置(図20参照)に、無線リンクコントロール部21、トラフィック監視部22、ARP情報管理・設定部23を追加した構成になっている。
以下では、従来の通信装置と同様な動作・機能については説明を適宜省略し、主に相違部分について説明する。
【0048】
無線リンクコントロール部21は、OLSRのHelloメッセージ(隣接ノード発見メッセージ)の送信に使用されたIPパケット及びMACフレームを解析して、その送信元の通信装置のIPアドレスとMACアドレスを取得する機能(以下、ARMS−ARP(Adhoc Routing Message Snooping−Address Resolution Protocol)という)を有すると共に、ARMS−ARPの動作状態を切り替える(起動又は停止させる)機能を有する。
【0049】
トラフィック監視部22は、無線MAC部19を流れる情報を監視して無線回線使用率、無線送信レート、無線受信レートなどのトラフィック情報を取得する処理を定期的に行う。トラフィック監視部22にて取得されたトラフィック情報は、無線リンクコントロール部21へ渡されて、ARMS−ARPの動作状態の切り替え判断に使用される。
【0050】
ARP情報管理・設定部23は、無線リンクコントロール部21による指示に従って、ARMS−ARPで取得されたIPパケット及びMACフレームを対応付けたアドレスエントリをARPテーブル17に設定(登録)し、或いはARPテーブル17から削除する等の処理を行う。
【0051】
無線リンクコントロール部21により実施されるARMS−ARPについて説明する。
ARMS−ARPでは、他の通信装置から受信したMACフレームを解析して、当該MACフレームがOLSRのHelloメッセージを格納したIPパケットを搬送するものであれば、当該MACフレームの領域F32(Source MAC Address)に格納された送信元のMACアドレス及び当該IPパケットの領域F41(Source IP Address)に格納された送信元のIPパケットを取得して、これらのアドレス(IPアドレスとMACアドレス)を対応付けたアドレスエントリをARPテーブル17に登録する処理を行う。
【0052】
すなわち、アドホックネットワークを構築する段階で送受信されるHelloメッセージからIPアドレスとMACアドレスを取得してARPテーブル17に登録しておくことで、その後のパケット通信の際にARPメッセージを送受信することなく宛先MACアドレスを特定できるようにする。
なお、ARMS−ARPは、MACフレーム及びIPパケットを解析する必要があるため、これらの情報を参照可能なデータリンク層(MAC層)にて実施される。
【0053】
図2には、ARMS−ARPの概要を示してある。図2(a)は、ネットワーク構成の例を示しており、図2(b)は、データ中継の処理シーケンスを示している。
以下では、通信装置#1から送出された通信装置#4宛ての送付データを通信装置#2,#3をそれぞれ中継して通信装置#4へ伝送し、その応答データを逆順に中継して伝送する場合を例に説明する。ここで、通信装置#2のみがARMS−ARPを使用でき、他の通信装置#1,#3,#4は従来のARPしか使用できないものとする。なお、通信装置#2は、自身に対するARP−Requestを受信した場合にはARP−Replyを送信するため、ARMS−ARPを適用していない通信装置#1,#3,#4との通信も従来通り行うことができる。
【0054】
通信装置#2は、定期的に、隣接ノードである(直接の無線通信が可能な)通信装置#1,#3へOLSRのHelloメッセージを送信し(T1)、また、通信装置#1,#3からのOLSRのHelloメッセージを受信する(T2,T3)。
通信装置#2は、ARMS−ARPにより通信装置#1,#3のMACアドレスを取得する。すなわち、通信装置#1,#3からのOLSRのHelloメッセージを受信した際に、無線リンクコントロール部21にて、Helloメッセージの送信に使用されたIPパケット及びMACフレームを解析して、その送信元(通信装置#1,#3)の通信装置のIPアドレスとMACアドレスを取得し、これらを対応付けたアドレスエントリを、ARP情報管理・設定部23を通じてARPテーブル17に設定(登録)する。
【0055】
通信装置#1は、Helloメッセージ及びTCメッセージのやり取りで得た情報により、送付データの宛先である通信装置#4までの経路として[#1⇔#2⇔#3⇔#4]を把握しているので、最初の中継ノードである通信装置#2へ通信装置#4宛ての送付データを送信すべく、通信装置#2のMACアドレスを従来のARPにより取得する。すなわち、通信装置#2のIPアドレスを指定したARP−Requestをブロードキャスト送信し(T4)、その応答として通信装置#2から送信されたARP−Replyを受信して、当該ARP−Replyに格納された通信装置#2のMACアドレスを取得する(T5)。その後、通信装置#1は、取得したMACアドレスを用いて、通信装置#4宛ての送付データを通信装置#2へ送信する(T6)。
【0056】
通信装置#2は、通信装置#1から通信装置#4宛ての送付データを受信すると、当該送付データを次の中継ノードである通信装置#3へ送信する(T7)。なお、通信装置#3のMACアドレスはARMS−ARPにより既に取得されているため、通信装置#3のMACアドレスを取得するためのARPメッセージのやり取りは行われない。
【0057】
通信装置#3は、通信装置#1から通信装置#2を中継して送信された通信装置#4宛ての送付データを受信すると、通信装置#4のMACアドレスを従来のARPにより取得し(T8,T9)、当該取得したMACアドレスを用いて、通信装置#4宛ての送付データを通信装置#4へ送信する(T10)。
【0058】
通信装置#4は、通信装置#1から通信装置#2,#3を中継して送信された送付データに対する応答データを最初の中継ノードである通信装置#3へ送付すべく、通信装置#3のMACアドレスを従来のARPにより取得し(T11,T12)、当該取得したMACアドレスを用いて、通信装置#1宛ての応答データを通信装置#3へ送信する。
【0059】
通信装置#3は、通信装置#4から通信装置#1宛ての応答データを受信すると、次の中継ノードである通信装置#2のMACアドレスを従来のARPにより取得し(T13,T14)、当該取得したMACアドレスを用いて、通信装置#1宛ての応答データを通信装置#2へ送信する(T15)。
【0060】
通信装置#2は、通信装置#4から通信装置#3を中継して送信された通信装置#1宛ての応答データを受信すると、当該応答データを通信装置#1へ送信する(T16)。なお、通信装置#1のMACアドレスはARMS−ARPにより既に取得されているため、通信装置#1のMACアドレスを取得するためのARPメッセージのやり取りは行われない。
【0061】
次に、無線リンクコントロール部21の動作について更に説明する。
図3には、無線リンクコントロール部21で実施されるARMS−ARPに関する処理フローの一例を示してある。
無線リンクコントロール部21は、無線MAC部19からデータを受信すると(ステップS1)、OLSRのHelloメッセージ(アドホックルーティングメッセージ)か否かを判定し(ステップS2)、Helloメッセージでなければ、当該データをMACフレームに変換してルーティングテーブル16へ送信する(ステップS12)。
一方、無線MAC部19から受信したデータがHelloメッセージであれば、以下の処理を行う。
【0062】
まず、ARMS−ARPの動作状態の切り替え条件(後述する)を満たす変化が生じたか否かを判定する(ステップS3)。
ステップS3でARMS−ARPを起動させる条件を満たす変化が生じたと判定された場合には、ARMS−ARPを起動して動作を開始させる(ステップS4)。
ステップS3で切り替え条件を満たす変化が生じていないと判定された場合、又は、ステップS4によりARMS−ARPが起動された場合には、ARMS−ARPの動作状態を判定する(ステップS5)。
【0063】
ステップS5でARMS−ARPが起動されていないと判定された場合には、無線MAC部19から受信したデータをMACフレームに変換してルーティングテーブル16へ送信する(ステップS12)。
ステップS5でARMS−ARPが起動されていると判定された場合には、Helloメッセージの送信元のIPアドレス及びMACアドレスを取得してアドレスエントリを作成し(ステップS6)、当該アドレスエントリがARPテーブル17に登録済みか否かを判定する(ステップS7)。
【0064】
ステップS7で登録済みと判定された場合には、無線MAC部19から受信したデータをMACフレームに変換してルーティングテーブル16へ送信する(ステップS12)。
一方、ステップS7で未登録と判定された場合には、作成したアドレスエントリをARPテーブル17へ登録し(ステップS8)、ARMSリストに保存した後に(ステップS9)、無線MAC部19から受信したデータをMACフレームに変換してルーティングテーブル16へ送信する(ステップS12)。
【0065】
ステップS3でARMS−ARPを停止させる条件を満たす変化が生じたと判定された場合には、ARMS−ARPの動作を停止させて従来のARPによりアドレス解決するようにし(ステップS10)、ARMSリストに保存されたアドレスエントリ、及び、これに該当するARPテーブル17のアドレスエントリを削除する(ステップS11)。すなわち、ARMS−ARPにより作成されたアドレスエントリのみをARPテーブル17から削除する。その後、無線MAC部19から受信したデータをMACフレームに変換してルーティングテーブル16へ送信する(ステップS12)。
【0066】
ARMS−ARPの動作状態の切り替え条件について説明する。
切り替え条件としては、一例として、Helloメッセージの維持時間(図9のF11)が閾値(例えば、5秒)より長い場合(又は閾値以上の場合)にARMS−ARPを停止(すなわち、従来のARPを使用)し、閾値以下の場合(又は閾値より短い場合)にARMS−ARPを起動する切り替え条件が用いられる。
【0067】
このHelloメッセージの維持時間による切り替え条件は、アドホックネットワーク特有の事情を考慮したものである。
すなわち、通信装置として移動端末を用いて形成されたアドホックネットワークでは、通信装置の移動に伴ってネットワーク構成が変化するが、通常は、Helloメッセージの維持時間内であれば送信元の存在が保証されるので支障が無い。しかしながら、維持時間はシステムの運用形態などに応じて自由に設定することができるため、維持時間内であっても送信元の存在が不明になる状況が発生し得る。このような状況でARMS−ARPによるアドレス解決を行うと、直接のパケット通信ができなくなった通信装置であるにも関わらず、そのMACアドレスが取得されてしまい、問題である。ここで、Helloメッセージの維持時間内にその送信元が不明になる状況は、維持時間の設定が長過ぎる場合に発生し易いと考えられるため、維持時間が閾値より長い場合(又は閾値以上の場合)にARMS−ARPを停止させて通常のARPによりアドレス解決を行うようにすることで、上記問題の解決を図る。
【0068】
なお、複数の通信装置との間でHelloメッセージをやり取りする関係において、いずれかの通信装置から受信したHelloメッセージの維持時間が閾値と比べて長い場合に、複数の通信装置の全てについてARMS−ARPを停止させてもよく、該当Helloメッセージの送信元の通信装置のみについてARMS−ARPを停止させてもよい。
【0069】
図4には、ARMS−ARPに関する処理シーケンスの一例を示してある。
アドホックルーティングが開始されていない場合、無線リンクコントロール部21は、無線MAC部19から受信したDataPlane(ユーザデータなど)やControlPlane(制御メッセージなど)をMACフレームに変換してルーティングテーブル16へ送信する(T21〜T24)。また、この場合は、ARMS−ARPが停止されており、従来のARPによりアドレス解決が実施され、それにより作成されたアドレスエントリがARPテーブル17に追加される(A11)。
【0070】
アドホックルーティング制御部11においてアドホックルーティングが開始された場合には、無線リンクコントロール部21においてARMS−ARPが起動される(T25,T26)。
無線リンクコントロール部21は、ARMS−ARPを起動した状態では、無線MAC部19からのDataPlaneやControlPlaneをMACフレームに変換してルーティングテーブル16へ送信すると共に(T27〜T30)、ControlPlaneを解析し、OLSRのHelloメッセージが含まれる場合には送信元MACアドレス及びIPアドレスを取得してARP情報管理・設定部22へ送信する(T31)。
【0071】
ARP情報管理・設定部22は、無線リンクコントロール部21からのMACアドレス及びIPアドレスを対応付けたアドレスエントリがARPテーブル17に未登録か否かを調べ、未登録であれば当該アドレスエントリをARPテーブル17に追加する(T32、A12)。
また、無線リンクコントロール部21は、定期的にHelloメッセージの維持間隔を監視して閾値(本例では5秒)と比較し(T33)、ARMS−ARPを停止させるか否かを判断する。これらの処理が、アドホックルーティングが停止するまで繰り返される(T34〜T41、A13)。
【0072】
なお、アドホックネットワークに参加していない通信装置と通信する場合には、そのMACアドレスはARPテーブル17に登録されていないので、従来のARPによりアドレス解決が実施され、それにより作成されたアドレスエントリがARPテーブル17に追加される(A13)。
また、ARP情報管理・設定部22は、ARMS−ARPによりARPテーブル17にアドレスエントリが登録された通信装置(Helloメッセージの送信元となった通信装置)について、直前のHelloメッセージに設定された維持時間(又は送信間隔)内に次のHelloメッセージを受信できない場合には、当該アドレスエントリをARPテーブル17から削除する。これは、通信装置の移動等によりノード間の隣接関係が変化した場合などを考慮したものである。
【0073】
アドホックルーティング制御部11においてアドホックルーティングが停止された場合には、ARMS−ARPによって作成されたアドレスエントリがARPテーブル17から削除され、また、無線リンクコントロール部21においてARMS−ARPが停止される(T42〜T44、A14)。
無線リンクコントロール部21は、ARMS−ARPを停止した状態では、ControlPlaneから送信元MACアドレス及びIPアドレスを取得する処理を行わない(T45、T46)。
【0074】
ここで、上記では、ARMS−ARPの動作状態の切り替え条件として、Helloメッセージの維持時間(図9のF11)を用いているが、これに代えて、Helloメッセージの送信間隔(図9のF12)を用いるようにしてもよい。すなわち、Helloメッセージの送信間隔が閾値より長い場合(又は閾値以上の場合)にARMS−ARPを停止させ、閾値以下の場合(又は閾値より短い場合)にARMS−ARPを起動する切り替え条件が用いられる。なお、維持時間には、通常、送信時間の2.5倍以上の値が用いられるので、送信時間に対する閾値としては、例えば、維持時間に対する閾値の1/2.5の値(例えば、2秒)を用いればよい。
【0075】
また、ARMS−ARPの動作状態の切り替え条件として、Helloメッセージ以外の情報を用いてもよい。
図5には、ARMS−ARPの動作状態の切り替え条件の他の例を示してある。
図5の例では、無線回線使用率が50%以下、無線送信レートが2Mbps以下、無線受信レートが4Mbps以下、アドホックネットワークの構成ノード数が16以下のいずれかを満たす場合にARMS−ARPを停止し(すなわち、従来のARPを使用)し、無線回線使用率が50%以上、無線送信レートが4Mbps以上、無線受信レートが8Mbps以上、アドホックネットワークの構成ノード数が32以上のいずれかを満たす場合にARMS−ARPを起動する切り替え条件となっている。
この場合、無線リンクコントロール部21は、トラフィック監視部22から渡される無線回線使用率、無線送信レート、無線受信レートなどのトラフィック情報、及び、無線リンクコントロール部21内での解析により得られるアドホックネットワークの構成ノード数を各閾値と比較して、ARMS−ARPの動作状態の切り替え判断を行う。
【0076】
これらの切り替え条件は、無線回線の使用率が高い場合や無線通信帯域の消費量が大きい場合に従来のARPを使用すると、ARPメッセージのやり取りによる通信負荷の更なる増大が懸念されるため、このような状況ではARMS−ARPによるアドレス解決を行うことでARPメッセージのやり取りを抑制するようにして、通信負荷の高まりを抑えることを意図したものである。
【0077】
なお、図5に挙げた切り替え条件に係る各閾値の値は例示に過ぎない。また、無線回線使用率、無線送信レート、無線受信レート、構成ノード数の各要件の2以上(全てでもよい)が満たされた場合に切り替えを行ってもよく、更に、上述したHelloメッセージの維持時間(又は送信間隔)を加味して切り替えを行ってもよく、システムの運用形態などに応じて適宜定めればよい。
【0078】
図6には、ARMS−ARPに関する処理シーケンスの他の例を示してある。
本例では、無線回線使用率に応じてARMS−ARPの動作状態を切り替える。なお、ARMS−ARPは、当初は停止されている。
無線リンクコントロール部21は、トラフィック監視部22により取得された無線回線使用率が閾値以下の場合には、ARMS−ARPを起動せずに停止状態のままにして、無線MAC部19から受信したDataPlane(ユーザデータなど)やControlPlane(制御メッセージなど)をMACフレームに変換してルーティングテーブル16へ送信する(T51〜T55)。また、この場合は、従来のARPによりアドレス解決が実施され、それにより作成されたアドレスエントリがARPテーブル17に追加される(A21)。
【0079】
トラフィック監視部22により取得された無線回線使用率が閾値以上となった場合には、無線リンクコントロール部21においてARMS−ARPが起動される(T56,T57)。
無線リンクコントロール部21は、ARMS−ARPを起動した状態では、無線MAC部19からのDataPlaneやControlPlaneをMACフレームに変換してルーティングテーブル16へ送信すると共に(T58〜T61)、ControlPlaneを解析し、OLSRのHelloメッセージが含まれる場合には送信元MACアドレス及びIPアドレスを取得してARP情報管理・設定部22へ送信する(T62)。
【0080】
ARP情報管理・設定部22は、無線リンクコントロール部21からのMACアドレス及びIPアドレスを対応付けたアドレスエントリがARPテーブル17に未登録か否かを調べ、未登録であれば当該アドレスエントリをARPテーブル17に追加する(T63、A22)。
また、無線リンクコントロール部21は、定期的に無線回線使用率を監視して閾値と比較し(T64)、ARMS−ARPを停止させるか否かを判断する。これらの処理が、アドホックルーティングが停止するまで繰り返される(T65〜T72、A23)。
【0081】
なお、アドホックネットワークに参加していない通信装置と通信する場合には、そのMACアドレスはARPテーブル17に登録されていないので、従来のARPによりアドレス解決が実施され、それにより作成されたアドレスエントリがARPテーブル17に追加される(A23)。
また、ARP情報管理・設定部22は、ARMS−ARPによりARPテーブル17にアドレスエントリが登録された通信装置(Helloメッセージの送信元となった通信装置)について、直前のHelloメッセージに設定された維持時間(又は送信間隔)内に次のHelloメッセージを受信できない場合には、当該アドレスエントリをARPテーブル17から削除する。これは、通信装置の移動等によりノード間の隣接関係が変化した場合などを考慮したものである。
【0082】
トラフィック監視部22により取得された無線回線使用率が閾値以下となった場合には、ARMS−ARPによって作成されたアドレスエントリがARPテーブル17から削除され、また、無線リンクコントロール部21においてARMS−ARPが停止される(T73〜T75、A24)。
無線リンクコントロール部21は、ARMS−ARPを停止した状態では、ControlPlaneから送信元MACアドレス及びIPアドレスを取得する処理を行わない(T76、T77)。
【0083】
以上のように、本例の通信装置では、OLSRのHelloメッセージ(隣接ノード発見メッセージ)を受信した際に、データリンク層にて送信元のIPアドレスとMACアドレスを取得してアドレスエントリを作成し、ネットワーク層のARPテーブルに登録するARMS−ARPを用いることで、ARPメッセージの送受信を行わずにアドレス解決を行えるようにした。また、Helloメッセージの維持時間(又は送信間隔)、無線回線の使用率、無線通信帯域の消費量などの情報に基づいて、ARMS−ARPの動作状態を切り替えるようにした。このため、本例の通信装置によれば、従来のARPの使用による通信帯域の消費やデータの到達遅延を抑えることができる。
【0084】
ここで、本例の通信装置では、ARMS−ARPの起動時に従来のARPを停止させるのではなく、これらを併用するようにしている。すなわち、ARMS−ARPが起動された状態において、当該通信装置から送出するデータ(IPパケット)の宛先IPアドレスに対応するMACアドレスをARPテーブル17から特定できない場合(宛先IPアドレスに関するアドレスエントリが存在しない場合)には、従来のARPにより、宛先IPアドレスを指定したARP−Requestをブロードキャスト送信し、その応答として受信したARP−ReplyからMACアドレスを取得する。
これにより、ARMS−ARPによるアドレス解決ができなかった通信装置(HelloメッセージからIPアドレスとMACアドレスの対応を特定できなかった通信装置)との間でも通信を行うことができる。
【0085】
また、本例の通信装置では、ARMS−ARPによりARPテーブルにアドレスエントリが登録された他の通信装置について、直前のHelloメッセージに設定された維持時間(又は送信間隔)内に次のHelloメッセージを受信できない場合には、当該アドレスエントリをARPテーブルから削除するようにしている。
これにより、Helloメッセージを送信した通信装置の移動等により通信できなくなった状況に対処することができる。
【符号の説明】
【0086】
10:ネットワークモジュール、 11:アドホックルーティング制御部、 12:制御メッセージ送信部、 13:制御メッセージ受信部、 14:制御メッセージ生成部、 15:ルーティング情報ベース、 16:ルーティングテーブル、 17:ARPテーブル、 18:有線MAC部、 19:無線MAC部、 21:無線リンクコントロール部、 22:アドホックルーティング制御部、 23:ARP情報管理・設定部
【技術分野】
【0001】
本発明は、移動端末間無線自律ネットワークルーティング(アドホックルーティング)に係る無線通信システムに関する。
【背景技術】
【0002】
近年、OLSR(Optimized Link State Routing)、AODV(Adhoc Ondemand Distance Vector)をはじめとするアドホックルーティングプロトコルによる無線通信により、移動端末間で自律的に端末を検知し、自律的に通信経路の最適化を実施し、その場限りの無線ネットワーク(アドホックネットワーク)を構築するアドホックルーティングが検討されている。
なお、以下の説明における「ノード」は、無線ネットワークを形成する各移動端末を表す。また、移動端末とは、自在に移動させることが可能な通信装置であり、人により携帯可能な機器(例えば、モバイルコンピュータ、小型ゲーム機、無線機、携帯電話機)に組み込まれた通信装置や、移動体(例えば、車輌、船舶、ヘリコプター)に搭載された通信装置、などが挙げられる。
【0003】
OLSRプロトコルは、メッシュ型(綿状リンク型)のルーティングプロトコルの1つである。OLSRプロトコルは、Proactive型のルーティングプロトコルであり、HelloメッセージやTCメッセージ(Topology Control)といった制御メッセージを交換することで通信経路を通信前に確定するので、いつでも直ちに中継を開始することができる。なお、OLSRプロトコルの基本動作については後述する。
【0004】
次に、ARP(Address Resolution Protocol)について説明する。ARPは、Ethernet(登録商標)環境において、IPアドレス(ネットワーク層の論理アドレス)からMACアドレス(データリンク層の物理アドレス)を得るために用いられるプロトコルである。
【0005】
TCP/IP(Transmission Control Protocol/Internet Protocol)では、IPパケットを送受信するためには、IPパケットの送信先となる端末やネットワークデバイス等のノードのデータリンク層アドレス(MACアドレス)を知っている必要がある。ARPは、IPパケットを送信するノードのMACアドレスを取得したい場合に用いられる。
【0006】
図15には、ARP−Request(ARP要求)、ARP−Reply(ARP応答)のパケットフォーマットを示してある。図15(a)は、ARP−Requestのパケットフォーマットを示しており、図15(b)は、ARP−Replyのパケットフォーマットを示している。
また、図16には、ARPによるデータリンク層アドレス解決とデータ中継の概要を示してある。図16(a)は、ARPによるデータリンク層アドレス解決とデータ中継の様子を示しており、図16(b)は、その処理シーケンスを示している。
【0007】
ノードAは、ノードC宛のデータ(IPパケット)を中継ノードBに送信する際、ARP−Requestにて、ノードBのMACアドレスを要求する(T121)。ARP−Requestのパケットには、送信元(ノードA)のIPアドレス・MACアドレスと、取得したいノードのIPアドレス(Dst IP Address)の情報が格納されて、Ethernetネットワークにブロードキャストされる。
ARP−Requestのパケットを受け取ったノードBは、ARP−RequestのDst IP Addressが自身のIPアドレスと同一であれば、自身のMACアドレスをノードAに伝えるために、送信元(ノードB)のMACアドレスを格納したARP−ReplyのパケットをノードAに送信する(T122)。
このようにして、IPパケットを送信するノードは、IPアドレスからMACアドレスを取得して、これらのアドレス(IPアドレスとMACアドレス)を対応付けたアドレスエントリを、ARPテーブルと呼ばれる情報ベースに保存する。
【0008】
次に、ノードAは、ノードBのMACアドレスを用いて、ノードC宛のデータをノードBに送信する(T123)。
ノードC宛のIPパケットを受信したノードBは、ARP−RequestでノードCのMACアドレスを要求し(T124)、その応答であるARP−ReplyからノードCのMACアドレスを取得し(T125)、当該取得したMACアドレスを用いて、ノードC宛のデータをノードCに送信する(T126)。
その後、ノードAからノードC宛に別のデータを送る際には、ARPテーブルの該当アドレスエントリを参照してMACアドレスを解決できるので、ARPメッセージ(ARP−Request、ARP−Reply)のやり取りを行うことなく、データの送信を行える(T126,T127)。
【0009】
図17には、ARPテーブルの一例を示してある。
ARPテーブルは、IPアドレスとMACアドレスとを対応付けたアドレスエントリを保持する。また、そのアドレスエントリの種類(設定エントリ、永続的なエントリ、発光されたエントリなど)と出力インタフェースも併せて管理する。なお、永続的なエントリではないアドレスエントリは、一定時間(維持時間)の経過後に消去されるので、この場合には、再度、ARPメッセージのやり取りが必要になる。アドレスエントリの維持時間は、ノードによって異なる値が設定され得る。
【0010】
なお、ARPを用いる技術に関しては、特許文献1等に示されるように、種々の発明がこれまでに提案されている。
【0011】
また、図18には、レイヤー2(L2)であるデータリンク層(MAC層)で処理されるMACフレームのフォーマットを示してある。MACフレームは、宛先のMACアドレスが格納されるDestination MAC Address(F31)、送信元のMACアドレスが格納されるSource MAC Address(F32)、IPパケットやARPパケットといった種々のパケットが格納されるNetwork Layer Protocol Data(F33)などの領域を有する。
【0012】
また、図19には、レイヤー3(L3)であるネットワーク層で処理されるIPパケットのフォーマットを示してある。IPパケットは、送信元のIPアドレスが格納されるSource IP Address(F41)、宛先のIPアドレスが格納されるDestination IP Address(F42)、トランスポート層やアプリケーション層などの上位層のプロトコル(例えば、OLSR)のデータが格納されるTransPort Layer/Application Layer Protocol Data(F43)などの領域を有する。
【0013】
すなわち、上述したOLSRの制御メッセージ(HelloメッセージやTCメッセージ)は、ネットワーク層にてIPパケットの領域F33(Network Layer Protocol Data)に格納され、更に、当該IPパケットがデータリンク層(MAC層)にてMACフレームの領域F43(TransPort Layer/Application Layer Protocol Data)に格納されて、伝送路へ送出される。OLSRの制御メッセージの受信側では、データリンク層(MAC層)にてMACフレームからIPパケットが取り出され、ネットワーク層にて当該IPパケットからOLSRの制御メッセージが取り出されて、より上位層のOLSR部へ渡される。
【0014】
図20には、従来の通信装置の構成例を示してある。
従来の通信装置では、レイヤー4(L4)であるトランスポート層以上に、アドホックルーティングプロトコルを実現するネットワークモジュール10が配置され、その中に、アドホックルーティング制御部11、制御メッセージ送信部12、制御メッセージ受信部13、制御メッセージ生成部14、ルーティング情報ベース15が配置される。
【0015】
従来の通信装置は、制御メッセージ受信部13にて受信した制御メッセージをアドホックルーティング制御部11にて解析し、ルーティング情報ベース15に保存する。その後、アドホックルーティング制御部11は、事前に設定されていた制御メッセージ送信間隔に従い、ルーティング情報ベース15から情報を抽出して制御メッセージ生成部14に渡す。制御メッセージ生成部14にて生成された制御メッセージは、制御メッセージ送信部12に渡されて、下位のレイヤーに送信される。
【0016】
また、アドホックルーティング制御部11は、ルーティング情報ベース15に保存されている情報に基づいて、レイヤー3(L3)であるネットワーク層に配置されたルーティングテーブル16に通信経路を登録する。経路を登録する際には、宛先IPアドレス、ネットワーク識別フラグ(ネットマスク)、中継ノード(或いはゲートウェイ)のIPアドレス、経路の尺度(メトリック)、出力インタフェース(Ethernet PHY、又は、Wireless Network PHY)などの情報が必要となる。
【0017】
設定された経路は、出力インタフェースの選定に使用される。有線自律ネットワーク(Ethernet PHY)側からのIPパケット(D1)の入力があった場合、通信装置は、自身のルーティングテーブル16に登録されている通信経路を確認する。その後、IPパケットの宛先IPアドレスと自身のルーティングテーブル16に登録されている通信経路に合致したものがあれば、登録時に設定した出力インタフェースに対してIPパケットを出力する。また、ルーティングテーブル16は、無線インタフェース(Wireless Network PHY)側からのIPパケット(D2)に対しても同様に作用する。
【0018】
有線或いは無線への出力の際、それぞれのインタフェース部は、レイヤー3(L3)であるネットワーク層に配置されたARPテーブル17に登録されているアドレスエントリを確認する。
【0019】
ARPテーブル17に、宛先IPアドレス(若しくはルーティングテーブル16におけるゲートウェイと呼ばれる中継を行う通信装置のIPアドレスに相当するアドレス)に対応するMACアドレスが存在しなかった場合、各インタフェース部はアドレス解決を要求するARP−Requestのパケットを送信して、宛先(若しくはルーティングテーブル16におけるゲートウェイ)のMACアドレスの取得要求を行う。そして、ARP−Requestに対する応答であるARP−Reply(D3)を受信すると、宛先IPアドレスに対するMACアドレスの組み合わせ(アドレスエントリ)をARPテーブル17に追加する。
【0020】
アドレスエントリを確認してMACアドレスが得られた場合、或いはARPメッセージのやり取りによりMACアドレスが得られた場合は、MACフレーム若しくはDataPlane(ユーザデータ)に変換し、レイヤー2(L2)であるデータリンク層(MAC層)に配置された有線MAC(Ethernet MAC)部18、又は、無線MAC(Wireless MAC)部19から、出力インタフェース(Ethernet PHY、又は、Wireless Network PHY)へと出力する。
【先行技術文献】
【特許文献】
【0021】
【特許文献1】特開2002−77213号公報
【発明の概要】
【発明が解決しようとする課題】
【0022】
上述したようなアドホックルーティングプロトコルを用いることで、無線ネットワークを自律的に構築することができ、無線ネットワーク上での通信が可能となる。
しかしながら、従来の方式では、ARPにより得られたMACアドレスのアドレスエントリは、一定時間以上経過すると、永続的なエントリでなければ消去されるので、対象のIPアドレスに該当するMACアドレスを取得し直すために、ARPでの取得要求送信、応答受信を再度行う必要がある。このため、MACアドレスの取得の度にARPメッセージの送受信で通信帯域が消費されてしまい、通信効率の悪化を招いてしまう。また、ARPメッセージの送受信によるMACアドレスの取得が完了するまでデータ送信が中断されるので、データの到達遅延も発生することになる。
【0023】
本発明は、このような従来の事情に鑑みて為されたものであり、アドホックルーティングプロトコルによる無線ネットワークにおいて、IPアドレスとMACアドレスの対応を、効率的に特定する技術を提案することを目的とする。
【課題を解決するための手段】
【0024】
本発明では、複数の通信装置により形成された無線ネットワーク内の各通信装置と直接又は間接的に無線通信することが可能な通信装置において、直接の無線通信が可能な他の通信装置から送信された隣接ノード発見メッセージを受信すると、データリンク層にて、当該隣接ノード発見メッセージの送信に使用されたIPパケット及びMACフレームからその送信元である前記他の通信装置のIPアドレスとMACアドレスを取得し、当該取得したIPアドレスとMACアドレスを対応付けてネットワーク層のARPテーブルに登録するように構成した。
【0025】
これにより、IPアドレスとMACアドレスの対応を、ARPを用いずに或いは併用して、効率的に特定することができる。したがって、ARPメッセージの送受信による通信帯域の消費が抑制され、通信効率をより高めることができる。また、ARPメッセージの送受信によるMACアドレスの取得が完了するまでデータ送信を中断させる必要がなくなり、データの到達遅延も解消することができる。
【0026】
また、本発明の通信装置では、当該通信装置から送出するIPパケットの宛先のIPアドレスに対応するMACアドレスが前記ARPテーブルから特定できない場合に、当該IPアドレスについてのARP要求を送信するように構成した。
これにより、隣接ノード発見メッセージからIPアドレスとMACアドレスの対応を特定できなかった通信装置との間でも通信を行うことができる。
【0027】
また、本発明の通信装置では、前記ARPテーブルにIPアドレスとMACアドレスの対応が登録された他の通信装置から所定時間内に次の隣接ノード発見メッセージを受信できない場合に、前記ARPから当該他の通信装置のIPアドレスとMACアドレスの対応を削除するように構成した。
これにより、隣接ノード発見メッセージを送信した通信装置の移動等により通信できなくなった状況に対処することができる。
【発明の効果】
【0028】
本発明の通信装置によれば、アドホックルーティングプロトコルによる無線ネットワークにおいて、IPアドレスとMACアドレスの対応を、効率的に特定することができる。したがって、ARPメッセージの送受信による通信帯域の消費が抑制され、通信効率をより高めることができる。また、ARPメッセージの送受信によるMACアドレスの取得が完了するまでデータ送信を中断させる必要がなくなり、データの到達遅延も解消することができる。
【図面の簡単な説明】
【0029】
【図1】本発明の一実施形態に係る通信装置の構成例を示す図である。
【図2】ARMS−ARPの概要を示す図である。
【図3】ARMS−ARPに関する処理フローの一例を示す図である。
【図4】ARMS−ARPに関する処理シーケンスの一例を示す図である。
【図5】ARMS−ARPの動作状態の切り替え条件の一例を示す図である。
【図6】ARMS−ARPに関する処理シーケンスの他の例を示す図である。
【図7】アドホックネットワークによる通信の概要を示す図である。
【図8】Helloメッセージによる論理接続の概要を示す図である。
【図9】Helloメッセージのフォーマットを示す図である。
【図10】TCメッセージのフラッディングの概要を示す図である。
【図11】TCメッセージによる経路決定の概要を示す図である。
【図12】TCメッセージのフォーマットを示す図である。
【図13】HNAメッセージによる経路通知の概要を示す図である。
【図14】HNAメッセージのフォーマットを示す図である。
【図15】ARP−Request、ARP−Replyのパケットフォーマットを示す図である。
【図16】ARPによるデータリンク層アドレス解決とデータ中継の概要を示す図である。
【図17】ARPテーブルの一例を示す図である。
【図18】MACフレームのフォーマットを示す図である。
【図19】IPパケットのフォーマットを示す図である。
【図20】従来の通信装置の構成例を示す図である。
【発明を実施するための形態】
【0030】
本発明の実施例を説明するに先立って、OLSRプロトコルの基本動作について説明しておく。
図7には、アドホックネットワークによる通信の概要を示してある。
図7の例では、ノードAによる通信エリア1と、ノードCによる通信エリア2とが重複するエリアにノードBが滞在している。この場合、ノードBは、ノードAとノードCとの通信を中継する中継ノードとなる。すなわち、例えば、ノードAから送出されたノードC宛のデータは、ノードBにより中継されてノードCへ送付される。このように、アドホックルーティングを用いることで、無線ネットワーク(アドホックネットワーク)内の各移動端末は直接又は間接的に他の移動端末と無線通信することができる。
【0031】
OLSRによるパケットは、UDP(User Datagram Protocol)のポート番号698番を使って送受信される。OLSRでは、そのパケットを利用して、主に、HelloメッセージとTCメッセージの2つの制御メッセージを交換しながらネットワーク内の情報を把握し、通信経路を構築する。
【0032】
Helloメッセージは、各ノードの持つ情報の配信を目的として定期的に送信される隣接ノード発見メッセージであり、各ノードはこのメッセージを受信して周辺ノードの情報を収集し、周辺ノードとの論理接続(ローカルリンク)や、MPR(Multi Point Relay)と呼ばれる中継ノードの決定を行う。
【0033】
図8には、Helloメッセージによる論理接続の概要を示してある。図8(a)は、Helloメッセージによる論理接続の様子を示しており、図8(b)は、その処理シーケンスを示している。
また、図9には、Helloメッセージのフォーマットを示してある。Helloメッセージは、Helloメッセージの送信元の存在を保証する維持時間が格納されるinvalid time(F11)、Helloメッセージの送信間隔が格納されるHello Interval(F12)、リンクの状態を表すLINKTYPEが格納されるLinkCode(F13)などの領域を有する。維持時間及び送信間隔は、システムの運用形態などに応じて定められた値が用いられ、ノード毎に異なる値を用いてもよく、運用中に値を変化させてもよい。なお、一般に、維持時間には送信時間の2.5倍以上の値が用いられる。
【0034】
図8を参照してHelloメッセージによる論理接続について説明する。ノードBは、初期の段階では自分の存在をアピールするために、LINKTYPE(F13)をUNSPEC_LINK(リンク状態不明)にしたHelloメッセージを、隣接ノード(ノードA,C)へ送信する(T101)。
以下では、ノードAとノードBとの間の処理に着目して説明するが、ノードBとノードCとの間でも同様な処理が行われる。
【0035】
ノードBからのHelloメッセージを受信したノードAは、この時点で、送信元(ノードB)から自分へのリンクが構築されたと認識する(T102)。しかしながら、ノードAは、双方向のリンクであることは分からないので、次の送信周期にて、LINKTYPE(F13)をASYM_LINK(片方向リンク)にしたHelloメッセージを、隣接ノード(ノードB)へ送信する(T103)。
【0036】
ノードAからのHelloメッセージを受信したノードBは、ASYM_LINKの対象に自身のノードが含まれていたとき、自身が送出したUNSPEC_LINKのHelloメッセージが隣接ノードに受信されたこと、そして、隣接ノードからのHelloメッセージを受信できたことから、送信元(ノードA)との間で双方向のリンクが構築されたことを認識する(T104)。その後、ノードBは、次の送信周期にて、LINKTYPE(F13)をSYM_LINK(双方向リンク)にしたHelloメッセージを、隣接ノード(ノードA,C)へ送信する(T105)。
【0037】
ノードBからのHelloメッセージを受信したノードAは、送信元(ノードB)との間で双方向のリンクが構築できたことと、送信元の先に次隣接ノード(ノードC)が存在することを認識し(T106)、次の送信周期にて、LINKTYPE(F13)をSYM_LINK(双方向リンク)にしたHelloメッセージにて、双方向のリンクが構築できたノード(ノードB)との次隣接ノード(ノードC)をNEXTHOPとして、隣接ノード(ノードB)へ送信する(T107)。また、その際に、MPR(中継ノード)として隣接ノードの1つ(ノードB)を選択する旨を通知すべく、LINKTYPE(F13)をMPRLINKにしたHelloメッセージを隣接ノード(ノードB)へ送信する。
なお、各ノードから送出されるHelloメッセージは、全ての隣接ノードへブロードキャスト(フラッディング)されるが、それより先のノードへの中継送信は行われない。
【0038】
TCメッセージは、MPR(中継ノード)に選択されたノードのみが送信する制御メッセージであり、ネットワーク全体の構成を通知するために使用される。
図10には、TCメッセージのフラッディングの概要を示してある。図10(a)は、TCメッセージのフラッディングの様子を示しており、図10(b)は、その処理シーケンスを示している。
また、図11には、TCメッセージによる経路決定の概要を示してある。図11(a)は、ネットワーク構成(トポロジー)を示しており、図11(b)は、ノードAからノードGまでの経路を示している。
また、図12には、TCメッセージのフォーマットを示してある。TCメッセージは、メッセージの寿命を表す値が格納されるMsgTTL(F21)、近隣広告ノードのアドレスが格納されるAdvertised Neighbor Node(F22)などの領域を有する。
【0039】
ここでは、MPRに選ばれたノードEを中心に説明する。
図8に示したHelloメッセージによるMPR選定で選ばれたノードEは、自分をMPRに選んだノード(ノードG,D,F,B,C)を近隣広告ノード(F22)として含めたTCメッセージをブロードキャスト送信する(T111)。
TCメッセージを受信したノードは、自身もMPR(例えば、ノードB)の場合には、当該TCメッセージから近隣広告ノードの情報を取得して自分のネットワークトポロジー情報に追加した後に、当該TCメッセージのMsgTTL(F21)を1つ減らして再びブロードキャスト送信する(T112)。
一方、MPR以外のノード(例えば、ノードA)がTCメッセージを受信した場合は、当該TCメッセージから近隣広告ノードの情報を取得して自分のネットワークトポロジー情報に追加して終了する(T113)。
これらの処理は、他のMPR(例えば、ノードF)についても同様に行われる。
【0040】
その後、各ノードは、自分のネットワークトポロジー情報から、他のノードへ到達する最短経路の計算を開始する。ここでは、ノードAを中心に説明する。
TCメッセージを受信できた各ノードは、共通のネットワークトポロジー情報を所有している。図11の例では、トポロジー情報として、[B←A]、[B←D]、[B←E]、[C←A]、[C←F]、[E←B]、[E←C]、[E←D]、[E←F]、[E←G]、[F←C]、[F←E]、[F←I]の各リンク情報が所有されている。
【0041】
ノードAは、このトポロジー情報から他のノード(本例では、ノードG)へ到達するためのリンク情報をトポロジー情報から抽出し、最短経路の計算を行う。ノードGとリンク(論理接続)しているのはノードEであるため、まずは、[E⇔G](L1)のリンク情報が抽出される。次に、ノードEとリンクしているノードのリンク情報を抽出する。ここで、ノードAは、ノードEに到達するためのMPRとしてノードBを選択しているため、ここでは、[B⇔E](L2)のリンク情報が抽出される。同様に、[B⇔A](L3)のリンク情報が抽出される。以上から、ノードGに到達するために必要なリンク情報は[G⇔E⇔B⇔A](L4)となり、この情報を元に、ノードAはノードGまでの経路を設定する。
【0042】
以上のように、OLSRでは、HelloメッセージとTCメッセージの2つの制御メッセージにより、各ノードはメッシュネットワークに参加している全ノードと自由に通信ができるようになる。
【0043】
また、OLSRには、HNA(Host and Network Association)メッセージと呼ばれる制御メッセージがある。HNAメッセージは、ノードがゲートウェイとして機能する場合に使用される補助的なメッセージである。ゲートウェイとなるノードに予め有線ネットワークの情報を設定しておくことで、HNAメッセージを送信することが可能になる。
【0044】
図13には、HNAメッセージによる経路通知の概要を示してある。図13(a)は、HNAメッセージによる経路通知の様子を示しており、図13(b)は、HNAメッセージによる通知に従ってインターネット接続する様子を示している。
また、図14には、HNAメッセージのフォーマットを示してある。
【0045】
HNAメッセージの送信は、TCメッセージと同様のフラッディング手法が用いられる。すなわち、HNAメッセージはTCメッセージと同様にブロードキャストされ、受信したMPRが再度ブロードキャストを行うことで、構成中の無線ネットワーク内の移動端末全てに通知される。図13の例では、インターネットゲートウィのアドレスが予め登録されたノードGから送出されたHNAメッセージにより、無線ネットワーク内の各ノードに、ノードGの先にインターネットゲートウェイが存在することが通知される。これにより、例えば、ノードAは、ノードB,E,Gを経由して、インターネットへの接続を行うことができる。
【0046】
次に、本発明の一実施形態に係る通信装置について図面を参照して説明する。
図1には、本発明の一実施形態に係る通信装置(移動端末)の構成例を示してある。
本例の通信装置は、レイヤー4(L4)であるトランスポート層以上に、アドホックルーティングプロトコルを実現するネットワークモジュール10が配置され、その中に、アドホックルーティング制御部11、制御メッセージ送信部12、制御メッセージ受信部13、制御メッセージ生成部14、ルーティング情報ベース15が配置される。
また、レイヤー3(L3)であるネットワーク層に、ルーティングテーブル16、ARPテーブル17が配置される。
また、レイヤー2(L2)であるデータリンク層(MAC層)に、有線MAC部18、無線MAC部19、無線リンクコントロール部21、トラフィック監視部22、ARP情報管理・設定部23が配置される。
【0047】
すなわち、本例の通信装置は、従来の通信装置(図20参照)に、無線リンクコントロール部21、トラフィック監視部22、ARP情報管理・設定部23を追加した構成になっている。
以下では、従来の通信装置と同様な動作・機能については説明を適宜省略し、主に相違部分について説明する。
【0048】
無線リンクコントロール部21は、OLSRのHelloメッセージ(隣接ノード発見メッセージ)の送信に使用されたIPパケット及びMACフレームを解析して、その送信元の通信装置のIPアドレスとMACアドレスを取得する機能(以下、ARMS−ARP(Adhoc Routing Message Snooping−Address Resolution Protocol)という)を有すると共に、ARMS−ARPの動作状態を切り替える(起動又は停止させる)機能を有する。
【0049】
トラフィック監視部22は、無線MAC部19を流れる情報を監視して無線回線使用率、無線送信レート、無線受信レートなどのトラフィック情報を取得する処理を定期的に行う。トラフィック監視部22にて取得されたトラフィック情報は、無線リンクコントロール部21へ渡されて、ARMS−ARPの動作状態の切り替え判断に使用される。
【0050】
ARP情報管理・設定部23は、無線リンクコントロール部21による指示に従って、ARMS−ARPで取得されたIPパケット及びMACフレームを対応付けたアドレスエントリをARPテーブル17に設定(登録)し、或いはARPテーブル17から削除する等の処理を行う。
【0051】
無線リンクコントロール部21により実施されるARMS−ARPについて説明する。
ARMS−ARPでは、他の通信装置から受信したMACフレームを解析して、当該MACフレームがOLSRのHelloメッセージを格納したIPパケットを搬送するものであれば、当該MACフレームの領域F32(Source MAC Address)に格納された送信元のMACアドレス及び当該IPパケットの領域F41(Source IP Address)に格納された送信元のIPパケットを取得して、これらのアドレス(IPアドレスとMACアドレス)を対応付けたアドレスエントリをARPテーブル17に登録する処理を行う。
【0052】
すなわち、アドホックネットワークを構築する段階で送受信されるHelloメッセージからIPアドレスとMACアドレスを取得してARPテーブル17に登録しておくことで、その後のパケット通信の際にARPメッセージを送受信することなく宛先MACアドレスを特定できるようにする。
なお、ARMS−ARPは、MACフレーム及びIPパケットを解析する必要があるため、これらの情報を参照可能なデータリンク層(MAC層)にて実施される。
【0053】
図2には、ARMS−ARPの概要を示してある。図2(a)は、ネットワーク構成の例を示しており、図2(b)は、データ中継の処理シーケンスを示している。
以下では、通信装置#1から送出された通信装置#4宛ての送付データを通信装置#2,#3をそれぞれ中継して通信装置#4へ伝送し、その応答データを逆順に中継して伝送する場合を例に説明する。ここで、通信装置#2のみがARMS−ARPを使用でき、他の通信装置#1,#3,#4は従来のARPしか使用できないものとする。なお、通信装置#2は、自身に対するARP−Requestを受信した場合にはARP−Replyを送信するため、ARMS−ARPを適用していない通信装置#1,#3,#4との通信も従来通り行うことができる。
【0054】
通信装置#2は、定期的に、隣接ノードである(直接の無線通信が可能な)通信装置#1,#3へOLSRのHelloメッセージを送信し(T1)、また、通信装置#1,#3からのOLSRのHelloメッセージを受信する(T2,T3)。
通信装置#2は、ARMS−ARPにより通信装置#1,#3のMACアドレスを取得する。すなわち、通信装置#1,#3からのOLSRのHelloメッセージを受信した際に、無線リンクコントロール部21にて、Helloメッセージの送信に使用されたIPパケット及びMACフレームを解析して、その送信元(通信装置#1,#3)の通信装置のIPアドレスとMACアドレスを取得し、これらを対応付けたアドレスエントリを、ARP情報管理・設定部23を通じてARPテーブル17に設定(登録)する。
【0055】
通信装置#1は、Helloメッセージ及びTCメッセージのやり取りで得た情報により、送付データの宛先である通信装置#4までの経路として[#1⇔#2⇔#3⇔#4]を把握しているので、最初の中継ノードである通信装置#2へ通信装置#4宛ての送付データを送信すべく、通信装置#2のMACアドレスを従来のARPにより取得する。すなわち、通信装置#2のIPアドレスを指定したARP−Requestをブロードキャスト送信し(T4)、その応答として通信装置#2から送信されたARP−Replyを受信して、当該ARP−Replyに格納された通信装置#2のMACアドレスを取得する(T5)。その後、通信装置#1は、取得したMACアドレスを用いて、通信装置#4宛ての送付データを通信装置#2へ送信する(T6)。
【0056】
通信装置#2は、通信装置#1から通信装置#4宛ての送付データを受信すると、当該送付データを次の中継ノードである通信装置#3へ送信する(T7)。なお、通信装置#3のMACアドレスはARMS−ARPにより既に取得されているため、通信装置#3のMACアドレスを取得するためのARPメッセージのやり取りは行われない。
【0057】
通信装置#3は、通信装置#1から通信装置#2を中継して送信された通信装置#4宛ての送付データを受信すると、通信装置#4のMACアドレスを従来のARPにより取得し(T8,T9)、当該取得したMACアドレスを用いて、通信装置#4宛ての送付データを通信装置#4へ送信する(T10)。
【0058】
通信装置#4は、通信装置#1から通信装置#2,#3を中継して送信された送付データに対する応答データを最初の中継ノードである通信装置#3へ送付すべく、通信装置#3のMACアドレスを従来のARPにより取得し(T11,T12)、当該取得したMACアドレスを用いて、通信装置#1宛ての応答データを通信装置#3へ送信する。
【0059】
通信装置#3は、通信装置#4から通信装置#1宛ての応答データを受信すると、次の中継ノードである通信装置#2のMACアドレスを従来のARPにより取得し(T13,T14)、当該取得したMACアドレスを用いて、通信装置#1宛ての応答データを通信装置#2へ送信する(T15)。
【0060】
通信装置#2は、通信装置#4から通信装置#3を中継して送信された通信装置#1宛ての応答データを受信すると、当該応答データを通信装置#1へ送信する(T16)。なお、通信装置#1のMACアドレスはARMS−ARPにより既に取得されているため、通信装置#1のMACアドレスを取得するためのARPメッセージのやり取りは行われない。
【0061】
次に、無線リンクコントロール部21の動作について更に説明する。
図3には、無線リンクコントロール部21で実施されるARMS−ARPに関する処理フローの一例を示してある。
無線リンクコントロール部21は、無線MAC部19からデータを受信すると(ステップS1)、OLSRのHelloメッセージ(アドホックルーティングメッセージ)か否かを判定し(ステップS2)、Helloメッセージでなければ、当該データをMACフレームに変換してルーティングテーブル16へ送信する(ステップS12)。
一方、無線MAC部19から受信したデータがHelloメッセージであれば、以下の処理を行う。
【0062】
まず、ARMS−ARPの動作状態の切り替え条件(後述する)を満たす変化が生じたか否かを判定する(ステップS3)。
ステップS3でARMS−ARPを起動させる条件を満たす変化が生じたと判定された場合には、ARMS−ARPを起動して動作を開始させる(ステップS4)。
ステップS3で切り替え条件を満たす変化が生じていないと判定された場合、又は、ステップS4によりARMS−ARPが起動された場合には、ARMS−ARPの動作状態を判定する(ステップS5)。
【0063】
ステップS5でARMS−ARPが起動されていないと判定された場合には、無線MAC部19から受信したデータをMACフレームに変換してルーティングテーブル16へ送信する(ステップS12)。
ステップS5でARMS−ARPが起動されていると判定された場合には、Helloメッセージの送信元のIPアドレス及びMACアドレスを取得してアドレスエントリを作成し(ステップS6)、当該アドレスエントリがARPテーブル17に登録済みか否かを判定する(ステップS7)。
【0064】
ステップS7で登録済みと判定された場合には、無線MAC部19から受信したデータをMACフレームに変換してルーティングテーブル16へ送信する(ステップS12)。
一方、ステップS7で未登録と判定された場合には、作成したアドレスエントリをARPテーブル17へ登録し(ステップS8)、ARMSリストに保存した後に(ステップS9)、無線MAC部19から受信したデータをMACフレームに変換してルーティングテーブル16へ送信する(ステップS12)。
【0065】
ステップS3でARMS−ARPを停止させる条件を満たす変化が生じたと判定された場合には、ARMS−ARPの動作を停止させて従来のARPによりアドレス解決するようにし(ステップS10)、ARMSリストに保存されたアドレスエントリ、及び、これに該当するARPテーブル17のアドレスエントリを削除する(ステップS11)。すなわち、ARMS−ARPにより作成されたアドレスエントリのみをARPテーブル17から削除する。その後、無線MAC部19から受信したデータをMACフレームに変換してルーティングテーブル16へ送信する(ステップS12)。
【0066】
ARMS−ARPの動作状態の切り替え条件について説明する。
切り替え条件としては、一例として、Helloメッセージの維持時間(図9のF11)が閾値(例えば、5秒)より長い場合(又は閾値以上の場合)にARMS−ARPを停止(すなわち、従来のARPを使用)し、閾値以下の場合(又は閾値より短い場合)にARMS−ARPを起動する切り替え条件が用いられる。
【0067】
このHelloメッセージの維持時間による切り替え条件は、アドホックネットワーク特有の事情を考慮したものである。
すなわち、通信装置として移動端末を用いて形成されたアドホックネットワークでは、通信装置の移動に伴ってネットワーク構成が変化するが、通常は、Helloメッセージの維持時間内であれば送信元の存在が保証されるので支障が無い。しかしながら、維持時間はシステムの運用形態などに応じて自由に設定することができるため、維持時間内であっても送信元の存在が不明になる状況が発生し得る。このような状況でARMS−ARPによるアドレス解決を行うと、直接のパケット通信ができなくなった通信装置であるにも関わらず、そのMACアドレスが取得されてしまい、問題である。ここで、Helloメッセージの維持時間内にその送信元が不明になる状況は、維持時間の設定が長過ぎる場合に発生し易いと考えられるため、維持時間が閾値より長い場合(又は閾値以上の場合)にARMS−ARPを停止させて通常のARPによりアドレス解決を行うようにすることで、上記問題の解決を図る。
【0068】
なお、複数の通信装置との間でHelloメッセージをやり取りする関係において、いずれかの通信装置から受信したHelloメッセージの維持時間が閾値と比べて長い場合に、複数の通信装置の全てについてARMS−ARPを停止させてもよく、該当Helloメッセージの送信元の通信装置のみについてARMS−ARPを停止させてもよい。
【0069】
図4には、ARMS−ARPに関する処理シーケンスの一例を示してある。
アドホックルーティングが開始されていない場合、無線リンクコントロール部21は、無線MAC部19から受信したDataPlane(ユーザデータなど)やControlPlane(制御メッセージなど)をMACフレームに変換してルーティングテーブル16へ送信する(T21〜T24)。また、この場合は、ARMS−ARPが停止されており、従来のARPによりアドレス解決が実施され、それにより作成されたアドレスエントリがARPテーブル17に追加される(A11)。
【0070】
アドホックルーティング制御部11においてアドホックルーティングが開始された場合には、無線リンクコントロール部21においてARMS−ARPが起動される(T25,T26)。
無線リンクコントロール部21は、ARMS−ARPを起動した状態では、無線MAC部19からのDataPlaneやControlPlaneをMACフレームに変換してルーティングテーブル16へ送信すると共に(T27〜T30)、ControlPlaneを解析し、OLSRのHelloメッセージが含まれる場合には送信元MACアドレス及びIPアドレスを取得してARP情報管理・設定部22へ送信する(T31)。
【0071】
ARP情報管理・設定部22は、無線リンクコントロール部21からのMACアドレス及びIPアドレスを対応付けたアドレスエントリがARPテーブル17に未登録か否かを調べ、未登録であれば当該アドレスエントリをARPテーブル17に追加する(T32、A12)。
また、無線リンクコントロール部21は、定期的にHelloメッセージの維持間隔を監視して閾値(本例では5秒)と比較し(T33)、ARMS−ARPを停止させるか否かを判断する。これらの処理が、アドホックルーティングが停止するまで繰り返される(T34〜T41、A13)。
【0072】
なお、アドホックネットワークに参加していない通信装置と通信する場合には、そのMACアドレスはARPテーブル17に登録されていないので、従来のARPによりアドレス解決が実施され、それにより作成されたアドレスエントリがARPテーブル17に追加される(A13)。
また、ARP情報管理・設定部22は、ARMS−ARPによりARPテーブル17にアドレスエントリが登録された通信装置(Helloメッセージの送信元となった通信装置)について、直前のHelloメッセージに設定された維持時間(又は送信間隔)内に次のHelloメッセージを受信できない場合には、当該アドレスエントリをARPテーブル17から削除する。これは、通信装置の移動等によりノード間の隣接関係が変化した場合などを考慮したものである。
【0073】
アドホックルーティング制御部11においてアドホックルーティングが停止された場合には、ARMS−ARPによって作成されたアドレスエントリがARPテーブル17から削除され、また、無線リンクコントロール部21においてARMS−ARPが停止される(T42〜T44、A14)。
無線リンクコントロール部21は、ARMS−ARPを停止した状態では、ControlPlaneから送信元MACアドレス及びIPアドレスを取得する処理を行わない(T45、T46)。
【0074】
ここで、上記では、ARMS−ARPの動作状態の切り替え条件として、Helloメッセージの維持時間(図9のF11)を用いているが、これに代えて、Helloメッセージの送信間隔(図9のF12)を用いるようにしてもよい。すなわち、Helloメッセージの送信間隔が閾値より長い場合(又は閾値以上の場合)にARMS−ARPを停止させ、閾値以下の場合(又は閾値より短い場合)にARMS−ARPを起動する切り替え条件が用いられる。なお、維持時間には、通常、送信時間の2.5倍以上の値が用いられるので、送信時間に対する閾値としては、例えば、維持時間に対する閾値の1/2.5の値(例えば、2秒)を用いればよい。
【0075】
また、ARMS−ARPの動作状態の切り替え条件として、Helloメッセージ以外の情報を用いてもよい。
図5には、ARMS−ARPの動作状態の切り替え条件の他の例を示してある。
図5の例では、無線回線使用率が50%以下、無線送信レートが2Mbps以下、無線受信レートが4Mbps以下、アドホックネットワークの構成ノード数が16以下のいずれかを満たす場合にARMS−ARPを停止し(すなわち、従来のARPを使用)し、無線回線使用率が50%以上、無線送信レートが4Mbps以上、無線受信レートが8Mbps以上、アドホックネットワークの構成ノード数が32以上のいずれかを満たす場合にARMS−ARPを起動する切り替え条件となっている。
この場合、無線リンクコントロール部21は、トラフィック監視部22から渡される無線回線使用率、無線送信レート、無線受信レートなどのトラフィック情報、及び、無線リンクコントロール部21内での解析により得られるアドホックネットワークの構成ノード数を各閾値と比較して、ARMS−ARPの動作状態の切り替え判断を行う。
【0076】
これらの切り替え条件は、無線回線の使用率が高い場合や無線通信帯域の消費量が大きい場合に従来のARPを使用すると、ARPメッセージのやり取りによる通信負荷の更なる増大が懸念されるため、このような状況ではARMS−ARPによるアドレス解決を行うことでARPメッセージのやり取りを抑制するようにして、通信負荷の高まりを抑えることを意図したものである。
【0077】
なお、図5に挙げた切り替え条件に係る各閾値の値は例示に過ぎない。また、無線回線使用率、無線送信レート、無線受信レート、構成ノード数の各要件の2以上(全てでもよい)が満たされた場合に切り替えを行ってもよく、更に、上述したHelloメッセージの維持時間(又は送信間隔)を加味して切り替えを行ってもよく、システムの運用形態などに応じて適宜定めればよい。
【0078】
図6には、ARMS−ARPに関する処理シーケンスの他の例を示してある。
本例では、無線回線使用率に応じてARMS−ARPの動作状態を切り替える。なお、ARMS−ARPは、当初は停止されている。
無線リンクコントロール部21は、トラフィック監視部22により取得された無線回線使用率が閾値以下の場合には、ARMS−ARPを起動せずに停止状態のままにして、無線MAC部19から受信したDataPlane(ユーザデータなど)やControlPlane(制御メッセージなど)をMACフレームに変換してルーティングテーブル16へ送信する(T51〜T55)。また、この場合は、従来のARPによりアドレス解決が実施され、それにより作成されたアドレスエントリがARPテーブル17に追加される(A21)。
【0079】
トラフィック監視部22により取得された無線回線使用率が閾値以上となった場合には、無線リンクコントロール部21においてARMS−ARPが起動される(T56,T57)。
無線リンクコントロール部21は、ARMS−ARPを起動した状態では、無線MAC部19からのDataPlaneやControlPlaneをMACフレームに変換してルーティングテーブル16へ送信すると共に(T58〜T61)、ControlPlaneを解析し、OLSRのHelloメッセージが含まれる場合には送信元MACアドレス及びIPアドレスを取得してARP情報管理・設定部22へ送信する(T62)。
【0080】
ARP情報管理・設定部22は、無線リンクコントロール部21からのMACアドレス及びIPアドレスを対応付けたアドレスエントリがARPテーブル17に未登録か否かを調べ、未登録であれば当該アドレスエントリをARPテーブル17に追加する(T63、A22)。
また、無線リンクコントロール部21は、定期的に無線回線使用率を監視して閾値と比較し(T64)、ARMS−ARPを停止させるか否かを判断する。これらの処理が、アドホックルーティングが停止するまで繰り返される(T65〜T72、A23)。
【0081】
なお、アドホックネットワークに参加していない通信装置と通信する場合には、そのMACアドレスはARPテーブル17に登録されていないので、従来のARPによりアドレス解決が実施され、それにより作成されたアドレスエントリがARPテーブル17に追加される(A23)。
また、ARP情報管理・設定部22は、ARMS−ARPによりARPテーブル17にアドレスエントリが登録された通信装置(Helloメッセージの送信元となった通信装置)について、直前のHelloメッセージに設定された維持時間(又は送信間隔)内に次のHelloメッセージを受信できない場合には、当該アドレスエントリをARPテーブル17から削除する。これは、通信装置の移動等によりノード間の隣接関係が変化した場合などを考慮したものである。
【0082】
トラフィック監視部22により取得された無線回線使用率が閾値以下となった場合には、ARMS−ARPによって作成されたアドレスエントリがARPテーブル17から削除され、また、無線リンクコントロール部21においてARMS−ARPが停止される(T73〜T75、A24)。
無線リンクコントロール部21は、ARMS−ARPを停止した状態では、ControlPlaneから送信元MACアドレス及びIPアドレスを取得する処理を行わない(T76、T77)。
【0083】
以上のように、本例の通信装置では、OLSRのHelloメッセージ(隣接ノード発見メッセージ)を受信した際に、データリンク層にて送信元のIPアドレスとMACアドレスを取得してアドレスエントリを作成し、ネットワーク層のARPテーブルに登録するARMS−ARPを用いることで、ARPメッセージの送受信を行わずにアドレス解決を行えるようにした。また、Helloメッセージの維持時間(又は送信間隔)、無線回線の使用率、無線通信帯域の消費量などの情報に基づいて、ARMS−ARPの動作状態を切り替えるようにした。このため、本例の通信装置によれば、従来のARPの使用による通信帯域の消費やデータの到達遅延を抑えることができる。
【0084】
ここで、本例の通信装置では、ARMS−ARPの起動時に従来のARPを停止させるのではなく、これらを併用するようにしている。すなわち、ARMS−ARPが起動された状態において、当該通信装置から送出するデータ(IPパケット)の宛先IPアドレスに対応するMACアドレスをARPテーブル17から特定できない場合(宛先IPアドレスに関するアドレスエントリが存在しない場合)には、従来のARPにより、宛先IPアドレスを指定したARP−Requestをブロードキャスト送信し、その応答として受信したARP−ReplyからMACアドレスを取得する。
これにより、ARMS−ARPによるアドレス解決ができなかった通信装置(HelloメッセージからIPアドレスとMACアドレスの対応を特定できなかった通信装置)との間でも通信を行うことができる。
【0085】
また、本例の通信装置では、ARMS−ARPによりARPテーブルにアドレスエントリが登録された他の通信装置について、直前のHelloメッセージに設定された維持時間(又は送信間隔)内に次のHelloメッセージを受信できない場合には、当該アドレスエントリをARPテーブルから削除するようにしている。
これにより、Helloメッセージを送信した通信装置の移動等により通信できなくなった状況に対処することができる。
【符号の説明】
【0086】
10:ネットワークモジュール、 11:アドホックルーティング制御部、 12:制御メッセージ送信部、 13:制御メッセージ受信部、 14:制御メッセージ生成部、 15:ルーティング情報ベース、 16:ルーティングテーブル、 17:ARPテーブル、 18:有線MAC部、 19:無線MAC部、 21:無線リンクコントロール部、 22:アドホックルーティング制御部、 23:ARP情報管理・設定部
【特許請求の範囲】
【請求項1】
複数の通信装置により形成された無線ネットワーク内の各通信装置と直接又は間接的に無線通信することが可能な通信装置において、
直接の無線通信が可能な他の通信装置から送信された隣接ノード発見メッセージを受信すると、当該隣接ノード発見メッセージからその送信元である前記他の通信装置のIPアドレスとMACアドレスを取得し、当該取得したIPアドレスとMACアドレスを対応付けてARPテーブルに登録する、
ことを特徴とする通信装置。
【請求項2】
請求項1に記載の通信装置において、
当該通信装置から送出するIPパケットの宛先のIPアドレスに対応するMACアドレスが前記ARPテーブルから特定できない場合に、当該IPアドレスについてのARP要求を送信する、
ことを特徴とする通信装置。
【請求項3】
請求項1又は請求項2に記載の通信装置において、
前記ARPテーブルにIPアドレスとMACアドレスの対応が登録された他の通信装置から所定時間内に次の隣接ノード発見メッセージを受信できない場合に、前記ARPから当該他の通信装置のIPアドレスとMACアドレスの対応を削除する、
ことを特徴とする通信装置。
【請求項1】
複数の通信装置により形成された無線ネットワーク内の各通信装置と直接又は間接的に無線通信することが可能な通信装置において、
直接の無線通信が可能な他の通信装置から送信された隣接ノード発見メッセージを受信すると、当該隣接ノード発見メッセージからその送信元である前記他の通信装置のIPアドレスとMACアドレスを取得し、当該取得したIPアドレスとMACアドレスを対応付けてARPテーブルに登録する、
ことを特徴とする通信装置。
【請求項2】
請求項1に記載の通信装置において、
当該通信装置から送出するIPパケットの宛先のIPアドレスに対応するMACアドレスが前記ARPテーブルから特定できない場合に、当該IPアドレスについてのARP要求を送信する、
ことを特徴とする通信装置。
【請求項3】
請求項1又は請求項2に記載の通信装置において、
前記ARPテーブルにIPアドレスとMACアドレスの対応が登録された他の通信装置から所定時間内に次の隣接ノード発見メッセージを受信できない場合に、前記ARPから当該他の通信装置のIPアドレスとMACアドレスの対応を削除する、
ことを特徴とする通信装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【公開番号】特開2013−110521(P2013−110521A)
【公開日】平成25年6月6日(2013.6.6)
【国際特許分類】
【出願番号】特願2011−252989(P2011−252989)
【出願日】平成23年11月18日(2011.11.18)
【出願人】(000001122)株式会社日立国際電気 (5,007)
【Fターム(参考)】
【公開日】平成25年6月6日(2013.6.6)
【国際特許分類】
【出願日】平成23年11月18日(2011.11.18)
【出願人】(000001122)株式会社日立国際電気 (5,007)
【Fターム(参考)】
[ Back to top ]