JP2005260299A - 移動通信装置及び移動通信プログラム - Google Patents

移動通信装置及び移動通信プログラム Download PDF

Info

Publication number
JP2005260299A
JP2005260299A JP2004065071A JP2004065071A JP2005260299A JP 2005260299 A JP2005260299 A JP 2005260299A JP 2004065071 A JP2004065071 A JP 2004065071A JP 2004065071 A JP2004065071 A JP 2004065071A JP 2005260299 A JP2005260299 A JP 2005260299A
Authority
JP
Japan
Prior art keywords
route
node
mobile communication
packet
search
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004065071A
Other languages
English (en)
Other versions
JP3972338B2 (ja
Inventor
Noriyuki Kaiso
敬之 海藻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
THINKTUBE Ltd
Original Assignee
THINKTUBE Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by THINKTUBE Ltd filed Critical THINKTUBE Ltd
Priority to JP2004065071A priority Critical patent/JP3972338B2/ja
Publication of JP2005260299A publication Critical patent/JP2005260299A/ja
Application granted granted Critical
Publication of JP3972338B2 publication Critical patent/JP3972338B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】アドホックネットワークにおいて、パケット転送処理時に発生するカーネル空間とユーザ空間とのやり取りを抑える移動通信装置を提供する。
【解決手段】移動通信装置1は、経路情報を持つ経路テーブルRTを備える。ノードN1からノードN2宛のパケットを受けたとき(1)、カーネル空間20内の経路判断部22は、経路テーブルRTにノードN2宛の経路情報があるか否かを判断する(2)。経路情報がある場合、カーネル空間20はパケットをノードN2へ送信する(3)。経路情報がない場合、ユーザ空間10に経路探索を要求する。カーネル空間20は、探索された経路情報を受けた後、パケットをノードN2へ送信する。以上の動作により、経路テーブルRT内に経路情報がない場合のみ、カーネル空間20とユーザ空間10とでやり取りが発生する。
【選択図】図4

Description

本発明は、移動通信装置に関し、さらに詳しくは、アドホックネットワークに接続可能な移動通信装置に関する。
近年、アドホックネットワーク技術の研究が企業や大学等で進められている。アドホックネットワークは、パソコンやPDAや携帯電話といった複数の移動通信装置により自律的に構築される。
図15を参照して、ノードN11〜N15は、移動通信装置である。エリア111はノードN1の無線到達範囲を示す。ノードN11はエリア111内のノードN12及びN13と無線リンクで直接接続される。
さらに、ノードN11はノードN14及びN15とマルチホップで通信できる。ノードN14はエリア111内にはないが、ノードN13のエリア113内にある。そのため、ノードN13がノードN11から送信されたパケットをノードN14に中継する。同様に、ノードN15はノードN14のエリア114内にあるため、ノードN13及びN14がノードN11のパケットをノードN15へ中継する。各ノードが中継局として機能するため、アクセスポイントや基地局の設置が不要で、容易にネットワークが構築される。
アドホックネットワーク内のノードは自由に移動するため、ネットワークトポロジが動的に変化する。たとえばノードN16がエリア111内に移動した場合、ノードN11はノードN16と通信できる。また、ノードN13がエリア111外へ移動した場合、ノードN11はノードN13を中継局としてノードN14及びノードN15にパケットを送信できない。
ところで、複数の固定ノードで構成される従来の有線ネットワークでは、パケットを他のノードに送信するとき、ノード内のカーネル空間がパケット転送処理を実行する。一般的に、ノードに汎用オペレーティングシステムをインストールすることにより、パケット転送処理を実行できる。
図16を参照して、ノードN20がノードN21にパケットを送信する場合のパケット転送処理を説明する。ノードN21はノードN20と同じサブネット内の隣接ノード(OSI参照モデル第2層レベルで直接通信可能なノード)である。ノードN20内のカーネル空間が転送テーブルFTからノードN21の属するネットワークエントリを検索する。カーネル空間は検索したネットワークエントリに基づいてパケットを送信する。
他のサブネットSBのノードN22にパケットを送信する場合であって、転送テーブルFTにノードN22への経路を示すエントリ(ネットワークエントリ又はホストエントリ)が存在するとき、カーネル空間は該当エントリ内の次ホップノード情報に基づいて、パケットを転送する。具体的には、次ホップノードであるゲートウェイGW1にパケットを送信する。パケットはゲートウェイGW1及び複数のノードを介してノードN22に到達する。
有線のネットワークではネットワーク内のノードは固定されており、経路が変更されない。一度転送テーブルFTに登録された経路情報は長期間有効である。そのため、転送テーブルFTを参照すればパケットを転送できる。有線ネットワークでは、同一サブネット内の全てのノードへの経路情報は1つのネットワークエントリとして転送テーブルFT内に管理される。
しかしながら、アドホックネットワーク内のノードは有線ネットワーク内のノードのパケット転送処理機能をそのまま適用できない。アドホックネットワークでは、ノードが自由に移動し、トポロジが動的に変化する。そのため、同一サブネット内の全てのノードへの経路情報は、ノードごとのホストエントリとして転送テーブルFT内に登録する必要がある。以下、詳細を説明する。
アドホックネットワークでは、ある時刻で隣接ノードが移動した結果、次時刻では隣接ノードでは無くなる場合がある(たとえば図15中のノードN1に対するノードN13)。また、ある時刻に隣接ノードではなかったノードが自ノードへ接近することで次時刻に隣接ノードになる場合がある(たとえば図15中のノードN1に対するノードN16)。さらに、無線リンク状態の変化により隣接ノードが変化する。このようなトポロジの動的な変化により、アドホックネットワークでは、サブネット内の他ノードへOSI参照モデル第2層レベルで直接通信が可能な場合と、中継ノード経由で通信が可能となる場合とが混在する。後者の場合、大規模なアドホックネットワークではOSI参照モデル第3層レベルでルーティングを行う必要がある。
OSI参照モデル第3層レベルでルーティングを行う場合、サブネット内の全てのノードへの経路情報はノードごとにホストエントリとしてFTに登録される必要が生じる。上述したとおり、有線ネットワークでは同一サブネット内の全てのノードへの経路情報は一つのネットワークエントリとしてFT内で管理されており、アドホックネットワーク内のノードへの経路情報管理を実現する為には有線ネットワークの場合とは異なる、即ち既存の仕組みとは異なる仕組みが必要となる。
さらにアドホックネットワークでは各ノードへの経路が頻繁に変更されるため、一度転送テーブルFTに登録された経路情報(ホストエントリ)が短い時間の後に無効となるケースが多発する。そのため、各ノードは転送テーブルFT内に宛先ノードへのホストエントリが存在しない場合に経路探索処理(ルーティング)を実行する必要がある。つまり、アドホックネットワークでは、この経路探索処理機能に対応したパケット転送処理機能を持つ必要がある。
アドホックネットワークに対応した経路探索処理として、AODV(Ad hoc On-Demand Distance Vector Routing)に代表されるオンデマンド型のルーティングプロトコルが提供されている。このオンデマンド型のルーティングプロトコルに対応したパケット転送処理については、下記(1)及び(2)が報告されている。
(1)経路探索処理機能をユーザ空間に実装し、経路判断については全てユーザ空間で行う。具体的には、カーネル空間でのパケット転送処理中に、カーネル空間は、送信するパケットの情報をユーザ空間に送る。ユーザ空間は受けたパケットの情報に基づいて経路を決定し、カーネル空間に報告する。カーネル空間は決定された経路を受け、パケットを転送する(下記非特許文献1参照)。
(2)アドホックネットワークを構成するノードに関する経路情報の全てを事前にカーネル転送テーブルに登録する。カーネル転送テーブルに経路情報のないパケットについては、ユーザ空間で経路を判断する。経路探索処理機能はユーザ空間に実装する(下記非特許文献2参照)。
しかしながら、(1),(2)いずれの方法も、パケット転送処理時のスループットが問題となる。具体的には、(1)では、パケットを転送するとき必ずカーネル空間とユーザ空間とでやり取りが発生する。カーネル空間とユーザ空間とのやり取りが多ければ、それだけスループットは低下する。(2)は、アドホックネットワークを構成する全てのノードのホストエントリを転送テーブルFTに登録する必要がある。そのため、ネットワークに参加するノードが不特定の場合に対応が困難となる。
さらに、アドホックネットワークに対応したパケット転送処理機能を実現するために、汎用OSのカーネルコードを大幅に変更するのも好ましくない。汎用OSは既に多くの移動通信装置に実装されている。よって、汎用OSのカーネルコードを直接変更する場合、移動通信装置は既存の汎用OSをアンインストールし、カーネルソースコードを変更しカーネルを再構築した後、再インストールしなければならない。
アドホック・オンデマンド・ディスタンス・ベクトル・ルーティング(Ad-hoc On-demand Distance Vector Routing)、[online]、[平成16年2月24日検索]、インターネット<URL: http://user.it.uu.se/~henrikl/aodv/> ビカス・カワディア(Vikas Kawadia)外2名、「アドホックルーティングを実行するためのシステムサービス(System Services for Implementing Ad-Hoc Routing: Architecture, Implementation and Experiences)」、[online]、[平成16年2月24日検索]、インターネット<URL:http://black.csl.uiuc.edu/~kawadia/research.html>
本発明の目的は、パケット転送処理時に発生するカーネル空間とユーザ空間とのやり取りを抑制することでパケット転送時に発生する負荷ならびに処理遅延を軽減し、高いスループット性能を実現する移動通信装置及び移動通信プログラムを提供することである。
本発明の他の目的は、既存の汎用OSのカーネルコードをほぼ変更せずに、アドホックネットワークでパケット転送処理時に発生するカーネル空間とユーザ空間とのやり取りを抑えることができる移動通信装置及び移動通信プログラムを提供することである。
課題を解決するための手段及び発明の効果
本発明による移動通信装置は、アドホックネットワークに接続可能であり、カーネル空間とユーザ空間とを有する移動通信装置であって、カーネル空間は、経路テーブルと、受信手段と、経路テーブル検索手段と、要求手段とを備える。経路テーブルは、宛先アドレスと宛先アドレスに対応した経路とを含む経路情報を登録するためのものである。受信手段は、宛先アドレスを有するパケットを受信する。経路テーブル検索手段は、受信手段が受信したパケットの宛先アドレスに対応した経路を経路テーブルから検索する。要求手段は、経路テーブル検索手段が経路を経路テーブルから検索できないときに経路探索要求を出力する。ユーザ空間は、経路探索手段を備える。経路探索手段は、経路探索要求を受け、オンデマンド型のルーティングプロトコルに基づいて経路を探索する。カーネル空間はさらに、登録手段を備える。登録手段は、経路探索手段が探索した経路を含む経路情報を経路テーブルに登録する。
本発明による移動通信装置は、受信したパケットの宛先アドレスに対応した経路を経路テーブルから検索できなかったときに経路探索を実行する。すなわち、経路を経路テーブルから検索できたときは、カーネル空間とユーザ空間との一切のやり取りが発生しない。その結果、高いスループットでパケット転送処理を実行できる。
好ましくは、移動通信装置はさらに、経路情報を登録するための転送テーブルを備える。また、登録手段は、経路探索手段が探索した経路を含む経路情報を転送テーブルに登録する。移動通信装置はさらに、転送テーブル検索手段と、パケット送信手段とを備える。転送テーブル検索手段は、受信手段が受信したパケットの宛先アドレスに対応した経路を転送テーブルから検索する。パケット送信手段は、転送テーブル検索手段が検索した経路にパケットを送信する。
汎用のオペレーションシステムを移動通信装置にインストールすることにより、転送テーブルと転送テーブル検索手段とパケット送信手段とが移動通信装置に実装される。本発明による移動通信装置は、経路探索手段により取得した経路情報を転送テーブルにも登録する。その結果、従来の汎用OSのカーネルコードの標準のパケット転送機能を変更することなく、本発明で提供する上記の新規機能をモジュール等の独立した形式として追加することが可能となる。
好ましくは、経路テーブル検索手段は、経路を経路テーブルから検索できたとき、検索した経路に対応したタイムスタンプを経路テーブルに登録する。また、登録手段は、経路テーブルに経路情報を登録したとき、登録した経路情報に対応したタイムスタンプを経路テーブルに登録する。移動通信装置はさらに、テーブル更新手段を備える。テーブル更新手段は、経路情報に対応したタイムスタンプから所定期間が経過した経路情報を削除する。
この場合、移動通信装置は、経路テーブル内のタイムスタンプを参照し、所定期間を経過した古い経路情報を削除する。不要な経路情報を削除し、有効な経路情報のみを経路テーブル及び転送テーブルに登録する。
好ましくは、経路探索手段は所定期間毎にメッセージをブロードキャストする。ユーザ空間はさらに、メッセージに対応した、経路情報を含む応答メッセージを受け、経路情報をカーネル空間に送信する手段を備える。テーブル更新手段はさらに、送信された経路情報に基づいて、経路テーブル及び転送テーブルを更新する。
この場合、テーブル更新手段は、定期的に経路テーブル及び転送テーブルを更新する。その結果、経路テーブル及び転送テーブルは常に最新の経路情報を含む。そのため、パケット転送処理時におけるカーネル空間とユーザ空間とのやり取りを抑制でき、高いスループットでパケットを転送できる。
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
1.アドホックネットワークの構成
初めに、本実施の形態による移動通信装置1を用いたアドホックサブネットワークの概念を説明する。図1を参照して、各ノードN1〜N7は移動通信装置1である。An1〜An7は各ノードのIPアドレスを示す。また、ノードN5の無線到達範囲105内にノードN1〜N4が存在する。本実施の形態による移動通信装置1を用いたアドホックネットワークでは、サブネットSBはネットワークに参加する全てのノードN1〜N7で構成されるものとする。なお、サブネットSBのIPアドレスをAsbとする。
2.移動通信装置の構成
図2を参照して、図1中のノードN1(移動通信装置1)は、ユーザ空間10とカーネル空間20とを備える。カーネル空間20は、送受信部21A及び21Bと、経路判断部22と、パケット転送部23とを含む。送受信部21A及び21Bはカーネル空間20からユーザ空間10及び外部とデータを送受信する。たとえば、ユーザ空間10及び外部から宛先アドレスを有するパケットを受信する。送受信部21Aはたとえばソケットインタフェース経由でユーザ空間10とデータを送受信する。
パケット転送部23はパケット転送処理を実行する。パケット転送部23は、転送テーブルFT(Forwarding Table)と、転送テーブル検索部231と、パケット送信部232とを含む。転送テーブル検索部231は、パケットの経路を転送テーブルFTから検索する。転送テーブルFTを簡略的に表1に示す。転送テーブルFTのエントリは3つのフィールドを含む。なお、エントリはさらに他の複数のフィールドを含んでもよい。
Figure 2005260299
宛先IPアドレスは宛先のノード又は宛先のサブネットのIPアドレスである。ネットマスクは宛先IPアドレスのサブネットマスクである。宛先アドレスが個別のノードを示す場合(すなわち、ホストエントリの場合)、ネットマスクには「255.255.255.255」が登録される。宛先IPアドレスがサブネットを示す場合(すなわち、ネットワークエントリの場合)、対応するネットマスクとしてたとえば「255.255.255.0」等(クラスCサブネットの場合)が登録される。表1のネットワークエントリ=Asbのネットマスクがこれに該当する。
次ホップアドレスは宛先のノードまでの経路における隣接ノードのIPアドレスである。たとえば、宛先アドレスAn3の次ホップアドレスはAn5となっている。よって、ノードN1からノードN3へパケットを転送する場合、ノードN5を最初の中継局とする。
転送テーブル検索部231は、パケットに含まれる宛先IPアドレスに対応した次ホップアドレスを検索する。パケット送信部232は、転送テーブル検索部231が検索した次ホップアドレスに基づいてパケットを送信する。パケット転送部23が実行するパケット転送処理は、従来の有線ネットワークにおけるノードのパケット転送処理と同じである。
経路判断部22は、パケット転送部23がパケットを転送する前に、宛先アドレスがアドホックネットワークのサブネットに属する場合は、そのパケットの経路情報を確認する。カーネル空間20内に経路情報がない場合、経路情報を取得して転送テーブルFTに登録する。宛先アドレスがアドホックネットワークのサブネットに属していない場合や、経路テーブルRTに宛先アドレスと一致するホストエントリが存在する場合、経路判断部22は直ちにパケット転送部23に制御を戻す。これらの場合、追加負荷はほとんど発生しない。経路判断部22のサポートによりパケット転送部23は宛先ノードがアドホックネットワーク内に存在する場合、外に存在する場合のいかんを問わずパケットを確実に転送でき、かつ、高いスループットを確保できる。
経路判断部22は、経路テーブル(Routing Table)RTと、経路テーブル検索部222と、要求部223と、登録部221とを含む。経路テーブルRTを表2に示す。
Figure 2005260299
表2を参照して、経路テーブルRTは6つのフィールドを持つ。具体的には、フィールドとして、宛先IPアドレス、ネットマスク、次ホップアドレス、インタフェースインデックス、ホップカウント、タイムスタンプを持つ。
経路テーブルRTの6つのフィールドのうち宛先IPアドレスとサブネットマスクと次ホップアドレスとに登録されるホストエントリのデータは、転送テーブルFT内の同じフィールドに登録されるデータと同じである。要するに、表1及び表2に示すように、転送テーブルFT内のホストエントリの宛先IPアドレスとサブネットマスクと次ホップアドレスは、経路テーブルRT内のホストエントリのコピーである。なお、宛先IPアドレスが「0.0.0.0」のエントリは、デフォルトルートである。デフォルトルートは、ノードN1がアドホックネットワーク経由で外部ネットワーク(有線ネットワーク等)に接続されている場合のみ存在する。表2(及び表1)の場合、ノードN1はノードN2(IPアドレス=An2)を中継局として外部ネットワークと接続されている。
インタフェースインデックスには、移動通信装置1が持つ1又は複数の通信部103の識別子が登録される。たとえば、移動通信装置1が、通信部103として無線LANとBluetoothとを備える場合、無線LANのインタフェースインデックスを「1」、Bluetoothのインタフェースインデックスを「2」とする。なお通信部103の識別子が汎用OSで割り振られている場合、インタフェースインデックスにこの識別子の値を採用する。表2では、宛先アドレスがAn6に対応したインタフェースインデックスが「2」となっている。この場合、ノードN1とノードN6とはBluetoothで通信する。
ホップカウントには、宛先IPアドレスに到るまでのホップ数が登録される。宛先IPアドレスが隣接ノードである場合(たとえば宛先アドレス=An5)、ホップカウントには「1」が登録される。また、宛先IPアドレスが隣接ノードの隣接ノードである場合(たとえば宛先アドレス=An2)、ホップカウントには「2」が登録される。タイムスタンプは対応する経路情報の有効期限を決定する目的等に利用される。経路情報が検索又は更新されたときにタイムスタンプは更新される。
送受信部21A又は21Bがパケットを受けた場合であって、パケットの宛先アドレスがアドホックネットワークのサブネットに属しているとき、経路テーブル検索部222が、パケットの宛先IPアドレスに対応した経路情報(ホストエントリ)を経路テーブルRTから検索する。検索の結果、経路テーブルRTに経路情報が存在しない場合、要求部223はユーザ空間10に経路探索を要求する。経路テーブルRTに経路情報が登録されていない場合、転送テーブルFTにもその経路情報(次ホップアドレス)は登録されておらず、このままではパケット転送部23はパケットを転送できないためである。
登録部221は、経路探索によりユーザ空間10が取得した経路情報を経路テーブルRT及び転送テーブルFTに登録する。
ユーザ空間10は、アプリケーション11と、経路探索部12と、テーブル管理部13とを含む。アプリケーション11はたとえばメーラやウェブブラウザ等である。
経路探索部12は、要求部223からの要求に応じて直ちに経路探索を実施し、経路情報を取得する。また、所定期間毎にHelloメッセージをブロードキャストし、隣接ノードに関する最新の経路情報を得る。
テーブル管理部13とカーネル空間20内の登録部221とはテーブル更新部130を構成する。テーブル更新部130は経路テーブルRT及び転送テーブルFT(以下、これらをまとめてカーネル内テーブルと称する)の経路情報を管理し、不要となった経路情報を削除する。具体的には、テーブル管理部13が経路情報の追加又は削除を決定し、登録部221が経路テーブルに対して経路情報を追加又は削除する。詳細は後述する。
図3は一般的な移動通信装置100のハードウェア構成を示す。移動通信装置100はCPU101とメモリ102と通信部103とハードディスク105とを備える。これらはバス104で相互に接続される。
ハードディスク105には、図2中のアプリケーションプログラム11がインストールされる。また、ハードディスク105に汎用OSをインストールし、メモリ102にロードされたプログラムに従ってCPU101が動作することにより、パケット転送部23の機能が実現される。換言すれば、従来の移動通信装置100に汎用OSをインストールすれば、パケット転送部23は移動通信装置100のカーネル空間に実装される。
さらに、経路判断部22を実現するためのカーネル空間モジュール(以下、追加モジュールと称する)と、経路探索部12及びテーブル管理部13を実現するためのユーザ空間プログラム(以下、ミドルウェアプログラムと称する)とを移動通信装置100内のハードディスク105にインストールし、メモリ102にロードされたプログラムに従ってCPU101が動作することにより、経路判断部22の機能と経路探索部12の機能とテーブル管理部13の機能とが実現される。
要するに、従来の汎用OSがインストールされた移動通信装置100に、追加モジュール及びミドルウェアプログラムをインストールすれば、その移動通信装置100は本実施の形態による移動通信装置1になる。
3.動作概要
本実施の形態による移動通信装置1は、アドホックパケット転送処理とテーブル更新処理とを実行する。これらの処理により高いスループットでパケットを転送できる。
3.1.アドホックパケット転送処理
本実施の形態による移動通信装置1では、パケット転送部23がパケット転送処理を実行する前に、経路判断部22がパケットの経路情報を経路テーブルRTで確認する(以下、この処理を確認処理と称する)。つまり、アドホックパケット転送処理は、パケット転送処理と確認処理とを含む。
経路判断部22が確認した結果、宛先アドレスがアドホックネットワークのサブネットに属していない場合、又は経路テーブルRTに宛先アドレスと一致するホストエントリが存在する場合、制御は経路判断部22から直ちにパケット転送部23に移る。すなわち、これらの場合、カーネル空間20のみが動作し、パケットを転送する。一方、確認の結果、宛先アドレスがアドホックネットワークのサブネットに属し、かつ、経路テーブルRT内に経路情報がない場合のみ、カーネル空間20とユーザ空間10とがやり取りした後、パケットを転送する。
この経路判断部22の確認処理によりカーネル空間20とユーザ空間10とのやり取りを抑えるため、高いスループットを確保できる。なぜなら、アドホックパケット転送処理では、大多数のパケットがカーネル空間20の動作のみで転送されるからである。図1中のノードN5がノードN1のパケットをノードN2に中継する場合のアドホックパケット転送処理について説明する。
図4を参照して、ノードN5のカーネル空間20は、ノードN1からパケットを受信する(1)。カーネル空間20内の経路判断部22は、確認処理を実行する(2)。具体的には、宛先アドレスがアドホックネットワークのサブネットに属している場合、パケット内の宛先IPアドレスAn2のホストエントリを経路テーブルRTから検索する。経路テーブルRTにホストエントリが存在する場合、転送テーブルFT内にも同じホストエントリが存在する。そのため、経路判断部22は確認処理を終了する。確認処理後、パケット転送部23は転送テーブルFTから宛先アドレスAn2のホストエントリを検索し、ホストエントリ内の次ホップアドレス=An2に基づいてパケットをノードN2に送信する(3)。
以上のように、経路テーブルRT内にパケットの宛先のホストエントリがある場合、カーネル空間20のみが動作し、カーネル空間20とユーザ空間10とのやり取りは発生しない。そのため、高いスループットでパケットを転送できる。
一方、経路テーブルRTにホストエントリが存在しない場合、図5を参照して、経路判断部22は、ユーザ空間10内の経路探索部12に経路探索を要求する(4)。要求を受けた経路探索部12はオンデマンド型のルーティングプロトコル(たとえばAODV)に基づいて経路探索を実行し、ノードN2宛のホストエントリを取得する(5)。経路探索部12は取得したホストエントリを経路判断部22にソケット経由で送信する(6)。経路判断部22は経路テーブルRT及び転送テーブルFTにホストエントリを登録し、確認処理を終了する。確認処理後、パケット転送部23は転送テーブルFTからホストエントリを検索し、ホストエントリ内の次ホップアドレス=An2に基づいてパケットをノードN2に転送する(3)。
以上のように、ホストエントリが経路テーブルRTにない場合、カーネル空間20とユーザ空間10とのやり取りが発生する。
ノード同士が通信する場合、同じ宛先の複数のパケットが連続的に発生する。最初のパケットについて図5の動作(カーネル空間20+ユーザ空間10の動作)を実施し、ホストエントリを取得すれば、その後のパケットに関しては図4の動作(カーネル空間20のみの動作)で足りる。要するに、確認処理を実行することで、カーネル空間20とユーザ空間10とのやり取りを抑えることができる。そのため、高いスループットでパケットを転送できる。
さらに、パケット転送部23のパケット転送動作は、従来の有線ネットワークの場合と変わらない。つまり、汎用OSを搭載した従来の移動通信装置は追加モジュールをインストールすれば、本実施の形態による移動通信装置1になり、高いスループットでパケットを転送できる。汎用OSのカーネルコードを変更する必要はほとんどない。
図4及び図5では、パケットを転送する場合について説明したが、自ノードのアプリケーション11からパケットを発信する場合も同じである。
3.2.テーブル更新処理
アドホックネットワークでは、ノードが自由に移動する。そのため、カーネル内テーブル(経路テーブルRT及び転送テーブルFT)に登録した経路情報を必要に応じて最新の経路情報に更新する必要がある。古い経路情報は既に無効になっている可能性が高く、転送時のパケット損失や大きな転送遅延を発生する可能性が高いからである。
カーネル内テーブルに登録された経路情報が最新のものであるほど、経路が有効である可能性も高い。換言すれば、カーネル内テーブルに登録された経路情報が最新であるほど、アドホックパケット転送処理中のカーネル空間20とユーザ空間10とのやり取りを抑えることができる。そのため、テーブル更新部130がカーネル内テーブルの経路情報を必要に応じて更新する。テーブル更新部130は、定期的に隣接ノード探索処理と、経路再探索処理ならびに経路情報消去処理とを実行する。
隣接ノード探索処理では、所定期間毎の経路探索により得た経路情報をカーネル内テーブルに登録する。図6を参照して、経路探索部12は所定期間毎にHelloメッセージをブロードキャスト送信し、隣接ノードからHello応答メッセージを受信する(11)。これによりテーブル更新部130は自ノードを取り囲む全ての双方向リンク情報を取得する。テーブル更新部130は取得したHello応答メッセージに基づいてカーネル内テーブルの経路情報を更新する(12)。このとき、経路テーブルRT内の更新された経路情報のタイムスタンプも更新される。
経路情報消去処理では、テーブル更新部130は、経路テーブルRT内のタイムスタンプを参照し、所定期間以上の間タイムスタンプが更新されていない満了状態の経路情報を削除する(13)。なお、タイムスタンプは、パケット転送処理時に検索された時も更新される。
以下、パケット転送処理とテーブル更新処理とについて詳細を説明する。
4.アドホックパケット転送処理の動作フロー
アドホックパケット転送処理は、隣接する他のノードから受信したパケットを中継する場合と、自ノードからパケットを発送する場合とに分類される。前者はたとえば、図1中のノードN1がノードN7のパケットをノードN5へ中継する場合である。後者はたとえば、ノードN1がノードN2宛にパケットを送信する場合である。それぞれの場合におけるアドホックパケット転送処理を説明する。
4.1.隣接する他のノードからパケットを中継する場合
図7を参照して、ノードN1内のカーネル空間20は、ノードN7からパケットを受信する(S1)。受信後、カーネル空間20内の経路判断部22は確認処理を実行する(S5)。
確認処理(S5)では、初めに、パケットが有する宛先IPアドレスが自身の所属するアドホックサブネットに属するか否かを判断する(S51)。経路判断部22は、表3に示すアドホック定義テーブルを有する。
Figure 2005260299
アドホック定義テーブルには、自身の所属するサブネットアドレス(Asb)と、自ノードのIPアドレス(An1)とが登録される。アドレスAsb及びAn1は移動通信装置1が起動したときに初期設定で登録される。たとえば、起動時に、移動通信装置1に含まれる図示しない入力装置を用いて利用者がAsb及びAn1を入力する。外部ファイル等にサブネットアドレス及びIPアドレスを登録しておき、起動時にミドルウェアプログラムがファイルの内容を読み取ってもよい。
ステップS51で経路判断部22は、パケットが持つ宛先アドレスAn5の上位24ビットがアドホック定義テーブル内のサブネットアドレスAsbと一致するか否か判断する。ノードN5とノードN1とは同じサブネットSBに属するため、経路判断部22は、宛先アドレスAn5のホストエントリを経路テーブルRTから検索する(S52)。
検索の結果、宛先アドレスAn5のホストエントリが経路テーブルRTに存在する場合、転送テーブルFT内にも宛先アドレスAn5のホストエントリが存在する。そのため、ホストエントリを取得するためにカーネル空間20とユーザ空間10とでやり取りする必要はない。この場合、経路テーブル検索部222が経路テーブルRT内の該当ホストエントリのタイムスタンプを更新し(S53)、確認処理を終了する。タイムスタンプを更新することで、この宛先ノードへの経路で直近に利用されたことを示し、後述する経路情報削除処理時に経路情報が削除されるのを防ぐ。
確認処理が終了後、パケット転送部23はパケット転送処理(S6)を実行する。具体的には、転送テーブル検索部231が転送テーブルFTから宛先アドレスAn5のホストエントリを検索する(S61)。パケット送信部232は、検索されたホストエントリが持つ次ホップアドレス=An5に基づいてパケットをノードN5へ送信する(S62)。
一方、ステップS52で検索した結果、経路テーブルRT内に該当するホストエントリがない場合、ホストエントリを取得するためにカーネル空間20とユーザ空間10とでやり取りが発生する(S54〜S59)。具体的には、経路判断部22内の要求部223が経路探索要求をユーザ空間10に出力する(S54)。経路探索にはある程度時間がかかる。そのため、カーネル空間20は経路探索要求後に、パケットをカーネル空間20内の図示しないキューバッファに格納する(S55)。具体的には、経路判断部22がパケット転送部23にパケットのキューイングを要求する。要求を受けたパケット転送部23はパケットをキューバッファに格納する。
ユーザ空間10内の経路探索部12は経路探索要求を受け、オンデマンド型のルーティングプロトコルに基づいて経路探索を実行する(S7)。経路探索部12は経路探索により取得した宛先アドレスAn5のホストエントリをカーネル空間20にソケット経由で送信する(S8)。
経路判断部22はユーザ空間10からホストエントリを受け、登録部221は受けたホストエントリを経路テーブルRTと転送テーブルFTとに登録する(S56)。なお、このときタイムスタンプも登録される。
続いて、キューバッファに格納されたパケットを取り出す(S57)。複数のパケットがキューバッファに格納されている場合、カーネル空間20はステップS56で登録されたホストエントリの宛先IPアドレスと宛先が一致するパケットを取り出す。
経路判断部22は、取り出したパケットのパケットサイズがステップS56で登録したホストエントリ内で指定されたインターフェース(パケット送信時に使用するインターフェース)のMTU(Maximum Transmission Unit)よりも大きいか否かを判断する(S58)。各インタフェースは個別のMTU値を保有している。パケットサイズがMTUよりも小さい場合、確認処理を終了する。
一方、パケットサイズがMTUよりも大きい場合、フラグメンテーション処理を実行し(S59)、確認処理を終了する。次ホップアドレスのノードN5のインタフェースに対応したパケットサイズにするためである。
確認処理を実行後(S5)、パケット転送部がパケット転送処理を実行する(S6)。 以上のように、経路判断部22で確認処理を実行するため、ホストエントリが経路テーブルRTに存在すれば、カーネル空間20とユーザ空間10とのやり取りは発生しない。よって、高いスループットでパケットを転送できる。
4.2.自ノードからパケットを発信する場合
図8を参照して、ノードN1がノードN2宛のパケットを送信する場合、カーネル空間20内の送受信部21Aは、アプリケーション11からソケットインタフェース経由でパケットを受信する(S2)。たとえばアプリケーション11がWebブラウザの場合、パケットはWebブラウザからTCP層に送信され、TCP層から送受信部21Aに送信される。
パケット転送部23は受信したパケットの宛先アドレスAn2に対応したホストエントリを転送テーブルFTから検索する(S3)。検索後、ホストエントリの有無に関わらず、確認処理が実行される(S5)。
経路判断部22は、パケットの宛先のノードN2がアドホックサブネットに属するか否かを判断する(S51)。判断の結果、宛先アドレスがアドホックサブネットに属しない場合、つまり、ノードN2がアドホック以外のサブネット(たとえば有線ネットワーク)に属する場合、確認処理は終了する。ステップS51の判断の結果、ノードN2がアドホックサブネットに属する場合、経路テーブル検索部222は宛先アドレスAn2のホストエントリを経路テーブルRTから検索する(S52)。検索の結果、経路テーブルRT内にホストエントリが存在する場合、そのホストエントリのタイムスタンプを更新して(S53)、確認処理を終了する。
経路テーブルRT内にホストエントリが存在するため、転送テーブルFT内にもホストエントリが存在する。パケット転送部23は既にステップS3で宛先アドレスAn2のホストエントリを検索している。そのため、パケット転送処理(S6)では、ステップS3で取得したホストエントリの次ホップアドレス=An5に基づいて、パケット送信部232がパケットを送信する(S62)。
ステップS52での検索の結果、経路テーブルRT内にホストエントリが存在しない場合のアドホックパケット転送処理は、図7と同じである。
自ノードからパケットを発信する場合、確認処理(S5)の前に転送テーブルFTが検索される。このような動作フローにすれば、汎用OSのカーネルコードを変更する必要はない。たとえば汎用OSであるLinux(登録商標)において、カーネルコアの所定のフックに追加モジュールを実装すれば、カーネルコードを変更することなく図8の動作を実現できる。要するに、移動通信装置1は、汎用OSのカーネルコードを変更することなく、高いスループットでパケットを転送できる。
5.テーブル更新処理の動作フロー
5.1.隣接ノード探索処理
隣接ノード探索処理では、移動通信装置1は、一定期間ごとに隣接ノードへHelloメッセージをブロードキャスト送信後、そのHelloメッセージを受信した隣接ノードからHello応答メッセージを受信し経路情報を取得する。取得した経路情報に基づいて、テーブル更新部130がカーネル内テーブルの経路情報を更新する。テーブル更新部130内のテーブル管理部13は、表4に示すシャドー経路テーブルSRTを持つ。
Figure 2005260299
シャドー経路テーブルSRTは7つのフィールドを持つ。そのうち6つのフィールドは経路テーブルRTと同じデータを持つ。新たなフィールドであるステータスには、対応する経路情報の状態が登録される。経路情報のタイムスタンプから所定期間αを経過していない場合、経路情報内のステータスは「active」となる。所定期間αを経過した場合、ステータスは「inactive」となる。
テーブル更新部130は、隣接ノードから取得した経路情報に基づいてシャドー経路テーブルSRT内の経路情報を更新した後、カーネル内テーブルの経路情報を更新する。
図9を参照して、隣接ノード探索処理は、Helloメッセージブロードキャスト送信処理(S20)と更新処理(S21)とを実行する。
図10に時刻t10におけるアドホックネットワークを示す。図9及び図10を参照して、ノードN1内の経路探索部12は、表5に示すHelloメッセージをブロードキャストする(Helloメッセージブロードキャスト送信処理:S20)。
Figure 2005260299
Helloメッセージは、自ノードIPアドレス(An1)とシーケンス番号とを含む。ノードN1がHelloメッセージを生成するごとにシーケンス番号はカウントアップされる。ステップS20でノードN1は所定期間△t1ごとにHelloメッセージをブロードキャストする。たとえば所定期間△t1は「1秒」である。
図10中のノードN5はノードN1のHelloメッセージを受信する。ノードN5はHelloメッセージを受信してから所定期間△t2経過後の時刻t11(=t10+△t2)にHello応答メッセージを送信する。△t2>△t1であり、たとえば、所定期間△t2は「3秒」である。
図11に時刻t11におけるアドホックネットワークを示す。ノードN1は1秒ごとにHelloメッセージを送信するため、時刻t10から3秒後の時刻t11において、ノードN5はノードN1から3回Helloメッセージを受ける。さらに、△t2中にノードN5はノードN2〜N4からもHelloメッセージを受ける。
ノードN5が生成するHello応答メッセージを表6に示す。
Figure 2005260299
表6を参照して、Hello応答メッセージは、複数の隣接ノードデータとを含む。隣接ノードデータは、時刻t10〜時刻t11の間にノードN5が受信したHelloメッセージに基づくデータであり、具体的には、Helloメッセージの送信元のノード(N1〜N4)に関するデータである。隣接ノードデータは、IPアドレスとメッセージ受信回数と有効フラグとを持つ。IPアドレスは、ノードN1〜N4のIPアドレス(An1〜An4)である。
メッセージ受信回数は、時刻t10から時刻t11の間にノードN5が受信したHelloメッセージの回数である。受信回数はノードN5によりカウントされる。ノードN5は、同じノードから送信された同じシーケンス番号を持つ複数のHelloメッセージを重複してカウントしない。それらのHelloメッセージは同じタイミングで同じノードから出力されたものだからである。ノードN2〜N4からのHelloメッセージについても同様である。
有効フラグは、ノードN5と各隣接ノードN1〜N4とのリンクの状態を示す。ノードN5と隣接ノードN1〜N4とのリンクが双方向に通信可能な状態(Bi-directional-link)であり、かつそのリンクが安定している場合、有効フラグは「ON」である。リンクが一方向に通信可能であったり、双方向リンクではあるが、電波障害等の影響で不安定である場合、有効フラグは「OFF」である。Hello応答メッセージを送信するノードN5が有効フラグを決定する。なお、ノードN5の自ノードIPアドレス(An5)はHello応答メッセージのIPヘッダに含まれる。
ノードN5は、時刻t10でHelloメッセージを受信してから所定期間△t2経過後にHello応答メッセージを出力する。また、時刻t10から△t2が経過するまでに受信したHelloメッセージの送信元ノード(N1〜N4)の全てのデータをHello応答メッセージに含める。このため、Hello応答メッセージの送信頻度を軽減しネットワークへの負荷を抑制することに貢献する。この貢献によりアプリケーション11が送受信するパケットの実効スループットを向上させることが可能となる。
図9に戻って、ノードN1が時刻t11にノードN5から表5に示すHello応答メッセージを受けたとき、テーブル更新部130は更新処理を実行する(S21)。
Hello応答メッセージを受信した後(S211)、ノードN1内のテーブル管理部13は、Hello応答メッセージがノードN1のIPアドレス(An1)を含むか否かを判断する(S212)。表5のHello応答メッセージはIPアドレスAn1を含む。換言すれば、ノードN1が出力したHelloメッセージ内の情報を含む。そのため、ノードN1とノードN5とのリンクは、双方向に通信可能なリンクである。この場合、テーブル更新部130は、Hello応答メッセージに基づいてシャドー経路テーブルSRTとカーネル内テーブルとを更新する(S213〜S216)。このようにHelloメッセージの受信によってではなくHello応答メッセージの受信によって隣接ノードへのリンク情報を獲得することで、双方向の通信が有効なリンクのみを経路として採用することを可能としている。
ステップS213では、テーブル管理部13が、Hello応答メッセージに含まれる経路情報がシャドーテーブルSRTに既に登録されているか否かを判断する。具体的には、Hello応答メッセージ内の各IPアドレスを宛先IPアドレスに持つ経路情報がステータスが「active」のエントリとしてシャドーテーブルSRTに登録されているか否か判断する。表4を参照して、宛先IPアドレスがAn5及びAn2である経路情報はシャドーテーブルSRTに既にステータスが「active」のエントリとして登録されている。そのため、カーネル内テーブルにもこれらの経路情報は登録されている。この場合、テーブル管理部13は、シャドーテーブルSRT内のこれらの経路情報に対応したタイムスタンプをHello応答メッセージ受信時の「t11」に更新し(S216)、更新処理を終了する。
一方、表4を参照して、宛先IPアドレスがAn3及びAn4の経路情報は登録されていない(S213)。この場合、テーブル管理部13はこれらの経路情報をシャドー経路テーブルSRTにステータスが「inactive」のエントリとして登録する(S214)。ステータスが「inactive」のエントリとして存在している場合(An6)、ある所定の回数のHello応答メッセージを受信した時点で無線リンクの品質を"安定"と見なし、そのステータスを「active」に更新する。
宛先アドレスAn3の経路情報は以下のように登録される。宛先IPアドレスAn3はホストアドレスであるため、ネットマスクは「255.255.255.255」となる。また、次ホップアドレスはHello応答メッセージ中の自ノードIPアドレス「An5」となる。インタフェースインデックスは、ノードN1と次ホップのノードN5とのインタフェースインデックス=1となる。ノードN1はHello応答メッセージを受信したときに使用したインタフェースインデックスを判断する。ホップカウントは「2」となり、タイムスタンプは「t11」となる。宛先アドレスAn4の経路情報も同様に登録される。
以上の更新処理により更新されたシャドー経路テーブルSRTを表7に示す。
Figure 2005260299
ステップS214で、テーブル更新部130が所定の回数のHello応答メッセージ(隣接データ3、4を含む)を連続して又は一定期間内に受信した時、テーブル更新部130は、ノードN3及びN4とのリンクの品質を"安定"と見なす。このとき、シャドー経路テーブルSRT内の宛先アドレスAn3及びAn4のステータスを「inactive」から「active」に更新する。更新後、テーブル更新部130内のテーブル管理部13は、宛先アドレスAn3及びAn4の経路情報をカーネル空間20へ送信する(S215)。カーネル空間20は経路情報を受信し(S22)、経路判断部22内の登録部221は、受けた経路情報を経路テーブルRT及び転送テーブルFTに登録する(S23)。
なお、ステップS212の判断の結果、Hello応答メッセージがノードN1のIPアドレスを含まない場合、ノードN1とN5とのリンクは一方向のみ通信可能なリンクである。そのため、更新処理を終了する。
以上の動作により、カーネル内テーブルの隣接ノードに関する経路情報は定期的に更新される。換言すれば、カーネル内テーブルは隣接ノードに関しては常に最新の経路情報を含む。
上述の内容と一部重複するが、Hello応答メッセージ内のメッセージ受信回数及び有効フラグに基づいて、シャドー経路テーブルSRT内の該当エントリーにおけるステータスが登録される。たとえば、Hello応答メッセージ中の隣接ノードデータ1(ノードN1のデータ)のメッセージ受信回数が「1」の場合、ノードN5は所定期間△t2内にノードN1から送信された3回のHelloメッセージのうち1回しかHelloメッセージを受信していないことになる。この場合、ノードN1とノードN5とのリンクが不安定な状態と見なされ、テーブル管理部13がステップS214又はステップS216でシャドー経路テーブルSRT内の宛先IPアドレスAn5のステータスを「inactive」と設定する。また、Hello応答メッセージ内に存在した付随的な情報である宛先ノードAn2〜An4について、Hello応答メッセージ中の各宛先の有効フラグを利用してステータスを設定することも可能である。たとえば、Hello応答メッセージ中の隣接ノードデータ3の有効フラグは「OFF」であり、ノードN5にとってノードN3はリンクが不安定な隣接ノードであることを示している。そのため、自ノードのシャドー経路テーブルSRT内にノードN3に関するホストエントリが存在しない場合、テーブル管理部13はシャドー経路テーブルSRT内の宛先IPアドレスAn3のステータスを「inactive」としてもよい。
5.2.経路情報消去処理
経路情報消去処理では、経路テーブルRT内のタイムスタンプを参照し、更新されていない経路情報を削除する。不要な経路情報を削除し、有効な経路情報のみをカーネル内テーブルに登録するため、アドホックパケット転送処理において、カーネル空間20とユーザ空間10とのやり取りを抑えることができる。その結果、高いスループットでパケットを転送する。以下、経路情報削除処理について説明する。
図12を参照して、テーブル管理部13は、カーネル空間20内の経路判断部22にタイムスタンプデータを要求する。タイムスタンプデータとは、経路テーブルRT内の全ての経路情報の最新のエントリ参照時刻を表すデータであり、具体的には、宛先アドレス及びタイムスタンプで構成される。経路判断部22は、要求を受け、タイムスタンプデータを送信する(S302)。
タイムスタンプデータを受信後、テーブル管理部13はタイムスタンプデータに基づいてシャドー経路テーブルSRTを更新する(S303)。ステップS303の更新により、SRT内のタイムスタンプはRT内のタイムスタンプ(図8及び図9中ステップS53に相当)と同期する。なお、確認処理時に経路探索部12が経路探索を実行したとき(図8及び図9のステップS7に相当)、取得した経路情報とタイムスタンプとはシャドー経路テーブルSRTにも登録されている。
テーブル管理部13はシャドー経路テーブルSRT中の全てのエントリ(経路情報)に対し、最新のステータスを判断する(S304〜S309)。
具体的には、シャドー経路テーブルSRTの最初の経路情報を選択し(S304)、以下の式(1)に基づいてステータスを判断する(S305)。
現在時刻−タイムスタンプ>所定期間α…(1)
式(1)を満たす場合、その経路情報は所定期間α中に検索又は更新されてない情報である。そのため、その経路情報のステータスを「inactive」にする(S306)。続いて、テーブル管理部13は当該経路情報の削除要求をカーネル空間20に送信する(S307)。削除要求を受けた経路判断部22内の登録部221は、カーネル内テーブルの該当経路情報を削除する(S310)。
一方、ステップS305において、式(1)を満たさない場合、その経路情報のステータスは「active」である。そのため、次の経路情報を選択し(S309)、ステップ305へ戻る。全ての経路情報についてステータスを判断した場合(S308)、経路情報削除処理を終了する。なお、ステップS305で「active」であると判定された経路について再経路探索を起動させることも可能である。再経路探索を起動するか否かは、トポロジの変更頻度やノードの移動速度といった環境要因に応じて決定することが望ましい。
以上の動作により、カーネル内テーブルの不要な経路情報を削除できる。なお、シャドー経路テーブルSRT内の「inactive」の経路情報は残しておく。経路探索のときにこれらの過去の経路情報を利用した探索が可能となり、探索時間短縮ならびに探索処理で発生するネットワークへの負荷軽減などの効果が期待されるからである。
以上、本実施の形態を説明したが、本発明は上述した実施の形態に限られない。たとえば、従来の汎用OSのカーネルコードを変更し、図13に示すように、パケット転送部23の転送テーブルFTに経路テーブルRTの機能を追加し(以下経路転送テーブルRFTと称する)、さらに登録部221及び要求部223を追加すれば、図2の移動通信装置1と同じ機能を実現できる。経路転送テーブルRFTは、汎用OS内の転送テーブルFTに表2に示す経路テーブルのフィールドを追加したものである。
図14を参照して、他のノードからパケットを受けたカーネル空間20は、確認処理を実行する(S5)。経路転送テーブルRFT内のパケットの宛先アドレスに一致するホストエントリが存在する場合(S52)、参照した該当ホストエントリの情報に基づいてパケット送信部232がパケットを送信する(S62)。一方、経路転送テーブルRFTに該当ホストエントリが存在しない場合(S52)、経路探索をユーザ空間で稼動するミドルウェアに要求する(S54)。ユーザ空間10から経路情報を取得後、登録部221が経路転送テーブルRFTに経路情報を登録する(S561)。登録した経路情報に基づいて、パケット送信部232はパケットを送信する(S62)。その他の動作については、図7と同じである。なお、自ノードのアプリケーション11からパケットが発信された場合も、図14の動作が実行される。
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
本発明の実施の形態による移動通信装置を用いたアドホックネットワークの構成を示す概念図である。 本発明の実施の形態による移動通信装置のハードウェア構成を示す機能ブロック図である。 図2中のCPU及びメモリの構成を示す機能ブロック図である。 本発明の実施の形態による移動通信装置のパケット転送処理動作を示す概略図である。 本発明の実施の形態による移動通信装置のパケット転送処理動作の他の例を示す概略図である。 本発明の実施の形態による移動通信装置のテーブル更新処理動作を示す概略図である。 図4及び図5の動作の詳細を示すフロー図である。 パケット転送処理の他の例を示すフロー図である。 隣接ノード探索処理の動作の詳細を示すフロー図である。 隣接ノード探索処理を説明するための概略図である。 隣接ノード探索処理を説明するための概略図である。 経路情報削除処理の動作の詳細を示すフロー図である。 本発明の実施の形態による移動通信装置の他の例の構成を示す機能ブロック図である。 図13に示す移動通信装置のアドホックパケット転送処理の動作を示すフロー図である。 アドホックネットワークを説明するための概略図である。 有線ネットワークでのパケット転送処理を説明するための概略図である。
符号の説明
1 移動通信装置
10 ユーザ空間
11 アプリケーション
12 経路探索部
13 テーブル管理部
20 カーネル空間
21A,21B 送受信部
22 経路判断部
23 パケット転送部
101 CPU
102 メモリ
103 通信部
130 テーブル更新部
221 登録部
222 経路テーブル検索部
223 要求部
231 転送テーブル検索部
232 パケット送信部
RT 経路テーブル
FT 転送テーブル
RFT 経路転送テーブル

Claims (5)

  1. アドホックネットワークに接続可能であり、カーネル空間とユーザ空間とを有する移動通信装置であって、
    前記カーネル空間は、
    宛先アドレスと前記宛先アドレスに対応した経路とを含む経路情報を登録するための経路テーブルと、
    宛先アドレスを有するパケットを受信する受信手段と、
    前記受信手段が受信したパケットの宛先アドレスに対応した経路を前記経路テーブルから検索する経路テーブル検索手段と、
    前記経路テーブル検索手段が前記経路を経路テーブルから検索できないときに経路探索要求を出力する要求手段とを備え、
    前記ユーザ空間は、
    前記経路探索要求を受け、オンデマンド型のルーティングプロトコルに基づいて前記経路を探索する経路探索手段を備え、
    前記カーネル空間はさらに、
    前記経路探索手段が探索した経路を含む経路情報を前記経路テーブルに登録する登録手段を備えたことを特徴とする移動通信装置。
  2. 請求項1に記載の移動通信装置であってさらに、
    前記経路情報を登録するための転送テーブルを備え、
    前記登録手段は、前記経路探索手段が探索した経路を含む経路情報を前記転送テーブルに登録し、
    前記移動通信装置はさらに、
    前記受信手段が受信したパケットの宛先アドレスに対応した経路を前記転送テーブルから検索する転送テーブル検索手段と、
    前記転送テーブル検索手段が検索した経路に前記パケットを送信するパケット送信手段とを備えたことを特徴とする移動通信装置。
  3. 請求項2に記載の移動通信装置であって、
    前記経路テーブル検索手段は、前記経路を経路テーブルから検索できたとき、検索した経路に対応したタイムスタンプを前記経路テーブルに登録し、
    前記登録手段は、前記経路テーブルに前記経路情報を登録したとき、登録した経路情報に対応したタイムスタンプを前記経路テーブルに登録し、
    前記移動通信装置はさらに、
    前記経路情報に対応したタイムスタンプから所定期間が経過した経路情報を削除するテーブル更新手段を備えたことを特徴とする移動通信装置。
  4. 請求項2に記載の移動通信装置であって、
    前記経路探索手段は所定期間毎にメッセージをブロードキャストし、
    前記ユーザ空間はさらに、
    前記メッセージに対応した、経路情報を含む応答メッセージを受け、前記経路情報を前記カーネル空間に送信する手段を備え、
    前記テーブル更新手段はさらに、前記送信された経路情報に基づいて、前記経路テーブル及び転送テーブルを更新することを特徴とする移動通信装置。
  5. 請求項1〜4のいずれか1項に記載の手段をコンピュータに実現させるための移動通信プログラム。

JP2004065071A 2004-03-09 2004-03-09 移動通信装置及び移動通信プログラム Expired - Lifetime JP3972338B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004065071A JP3972338B2 (ja) 2004-03-09 2004-03-09 移動通信装置及び移動通信プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004065071A JP3972338B2 (ja) 2004-03-09 2004-03-09 移動通信装置及び移動通信プログラム

Publications (2)

Publication Number Publication Date
JP2005260299A true JP2005260299A (ja) 2005-09-22
JP3972338B2 JP3972338B2 (ja) 2007-09-05

Family

ID=35085648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004065071A Expired - Lifetime JP3972338B2 (ja) 2004-03-09 2004-03-09 移動通信装置及び移動通信プログラム

Country Status (1)

Country Link
JP (1) JP3972338B2 (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007181042A (ja) * 2005-12-28 2007-07-12 Japan Radio Co Ltd 認証方法およびそれを用いた基地局装置
JP2008022178A (ja) * 2006-07-12 2008-01-31 Nec Corp マルチホップネットワーク及びその経路情報管理方法並びにそれに用いる通信端末
WO2009130918A1 (ja) * 2008-04-25 2009-10-29 富士通株式会社 ノード装置及びプログラム
US7890112B2 (en) 2006-09-04 2011-02-15 Nec Communication Systems, Ltd. Radio device having fewer route disconnections and switchings by using control packets to maintain radio links
JP2011040960A (ja) * 2009-08-10 2011-02-24 Toshiba Corp パケット転送装置
JP2011250450A (ja) * 2011-07-11 2011-12-08 Nec Corp マルチホップネットワーク及びその経路情報管理方法並びにそれに用いる通信端末
JP2011250449A (ja) * 2011-07-11 2011-12-08 Nec Corp マルチホップネットワーク及びその経路情報管理方法並びにそれに用いる通信端末
WO2012133521A1 (ja) * 2011-03-29 2012-10-04 富士通株式会社 通信方法および通信装置
WO2014073040A1 (ja) * 2012-11-06 2014-05-15 富士通株式会社 ネットワーク装置および送信プログラム
JP2015099985A (ja) * 2013-11-18 2015-05-28 富士通株式会社 ノード装置、制御プログラム、無線通信システム、及びデータ通信方法
JPWO2013129669A1 (ja) * 2012-03-02 2015-07-30 富士通株式会社 通信機器探索方法、通信機器、通信機器探索プログラムおよびアドホックネットワークシステム
JP2015146598A (ja) * 2011-11-15 2015-08-13 ニシラ, インコーポレイテッド ミドルボックスを備えるネットワークのアーキテクチャ

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007181042A (ja) * 2005-12-28 2007-07-12 Japan Radio Co Ltd 認証方法およびそれを用いた基地局装置
JP2008022178A (ja) * 2006-07-12 2008-01-31 Nec Corp マルチホップネットワーク及びその経路情報管理方法並びにそれに用いる通信端末
US7890112B2 (en) 2006-09-04 2011-02-15 Nec Communication Systems, Ltd. Radio device having fewer route disconnections and switchings by using control packets to maintain radio links
RU2457627C2 (ru) * 2008-04-25 2012-07-27 Фудзицу Лимитед Узловое устройство и программа
WO2009130918A1 (ja) * 2008-04-25 2009-10-29 富士通株式会社 ノード装置及びプログラム
US8817616B2 (en) 2008-04-25 2014-08-26 Fujitsu Limited Node device and computer readable storage medium storing program
JP4888598B2 (ja) * 2008-04-25 2012-02-29 富士通株式会社 ノード装置及びプログラム
JP2011040960A (ja) * 2009-08-10 2011-02-24 Toshiba Corp パケット転送装置
WO2012133521A1 (ja) * 2011-03-29 2012-10-04 富士通株式会社 通信方法および通信装置
US10003532B2 (en) 2011-03-29 2018-06-19 Fujitsu Limited Communication method and communication apparatus
JP2012209741A (ja) * 2011-03-29 2012-10-25 Fujitsu Ltd 通信方法および通信装置
JP2011250449A (ja) * 2011-07-11 2011-12-08 Nec Corp マルチホップネットワーク及びその経路情報管理方法並びにそれに用いる通信端末
JP2011250450A (ja) * 2011-07-11 2011-12-08 Nec Corp マルチホップネットワーク及びその経路情報管理方法並びにそれに用いる通信端末
US10235199B2 (en) 2011-11-15 2019-03-19 Nicira, Inc. Migrating middlebox state for distributed middleboxes
US10977067B2 (en) 2011-11-15 2021-04-13 Nicira, Inc. Control plane interface for logical middlebox services
JP2015146598A (ja) * 2011-11-15 2015-08-13 ニシラ, インコーポレイテッド ミドルボックスを備えるネットワークのアーキテクチャ
US11740923B2 (en) 2011-11-15 2023-08-29 Nicira, Inc. Architecture of networks with middleboxes
US11593148B2 (en) 2011-11-15 2023-02-28 Nicira, Inc. Network control system for configuring middleboxes
US11372671B2 (en) 2011-11-15 2022-06-28 Nicira, Inc. Architecture of networks with middleboxes
US10089127B2 (en) 2011-11-15 2018-10-02 Nicira, Inc. Control plane interface for logical middlebox services
US10191763B2 (en) 2011-11-15 2019-01-29 Nicira, Inc. Architecture of networks with middleboxes
US10949248B2 (en) 2011-11-15 2021-03-16 Nicira, Inc. Load balancing and destination network address translation middleboxes
US10310886B2 (en) 2011-11-15 2019-06-04 Nicira, Inc. Network control system for configuring middleboxes
US10884780B2 (en) 2011-11-15 2021-01-05 Nicira, Inc. Architecture of networks with middleboxes
US10922124B2 (en) 2011-11-15 2021-02-16 Nicira, Inc. Network control system for configuring middleboxes
JPWO2013129669A1 (ja) * 2012-03-02 2015-07-30 富士通株式会社 通信機器探索方法、通信機器、通信機器探索プログラムおよびアドホックネットワークシステム
WO2014073040A1 (ja) * 2012-11-06 2014-05-15 富士通株式会社 ネットワーク装置および送信プログラム
JP5884919B2 (ja) * 2012-11-06 2016-03-15 富士通株式会社 ネットワーク装置および送信プログラム
JP2015099985A (ja) * 2013-11-18 2015-05-28 富士通株式会社 ノード装置、制御プログラム、無線通信システム、及びデータ通信方法
US9602386B2 (en) 2013-11-18 2017-03-21 Fujitsu Limited Node apparatus, record medium for storing control program, wireless communication system, and method for data communication

Also Published As

Publication number Publication date
JP3972338B2 (ja) 2007-09-05

Similar Documents

Publication Publication Date Title
RU2682930C2 (ru) Выбор маршрута в беспроводных сетях
Huhtonen Comparing AODV and OLSR routing protocols
JP4005996B2 (ja) 移動アドホックネットワークにおけるブロードキャストデータ処理方法
JP3972338B2 (ja) 移動通信装置及び移動通信プログラム
JP2002512479A (ja) 小規模無線データネットワークでのトラヒックルーティング
JP2004336716A (ja) アドホックネットワークにおけるパスmtu発見システム及び方法
JP5287622B2 (ja) 通信システム、ノード、通信制御方法、およびプログラム
JP5801887B2 (ja) 無線ネットワークのノード間で通信するためのシステムおよび方法
JP2009218922A (ja) 無線アドホック端末およびアドホック・ネットワーク・システム
Wang et al. A-DSR: A DSR-based anycast protocol for IPv6 flow in mobile ad hoc networks
WO2007066866A1 (en) Routing optimization method
JP4735202B2 (ja) アドホックネットワークについてルーティングプロトコルを選択する携帯端末及びプログラム
JP4951695B2 (ja) 無線ネットワークにおける経路選択
JP4430512B2 (ja) 中継装置および中継方法
CA2896911C (en) Route selection in wireless networks
JP2009290893A (ja) 無線ネットワークにおける経路選択
CA2817659C (en) Route selection in wireless networks
JP2007129516A (ja) 経路探索装置
JPWO2007080773A1 (ja) アドホック・ネットワーク・システムおよびそのノード装置
RU2008122984A (ru) Выбор маршрута в беспроводных сетях
JP2002223230A (ja) 移動データ通信システム、該システム内に設けられるネットワーク・アドレス・トランスファー装置及びフォーリン・エージェント装置
WO2007114186A1 (ja) バインディング更新システム、ホームエージェント、通信ノード、モバイルノード並びにバインディング更新要求方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070219

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070522

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070601

R150 Certificate of patent or registration of utility model

Ref document number: 3972338

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130622

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130622

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160622

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term