本発明は、移動端末(モバイル端末、モバイルノード)が移動を行った場合でも、所定の通信ネットワークへの接続を維持することを可能とする通信技術に関する。
無線技術の出現と発展によって、モバイル(異なるドメイン間を移動し、トランスポートセッションの進行中に、異なる場所のパケット交換データ通信ネットワークに異なる接続ポイントで接続するという意味)である端末が、ますます増加してきている。このようなローミングの機能は、インターネットプロトコルバージョン4(IPv4)(下記の非特許文献2)のモバイルIPv4(下記の非特許文献1)や、インターネットプロトコルバージョン6(IPv6)(下記の非特許文献4)のモバイルIPv6(下記の非特許文献3)などの解決策によって提供されている。
モバイルIPでは、各モバイルノードは、永続的なホームドメインを有しており、モバイルノードが、自身のホームネットワークに接続している場合には、ホームアドレスとして知られる永続的に使用可能なグローバルアドレスが割り当てられている。一方、モバイルノードがホームネットワークから離れており、すなわち、他のフォーリンネットワークに接続している場合には、通常、気付アドレス(Care−of−address)として知られる一時的なグローバルアドレスが割り当てられる。モビリティサポートの考え方は、モバイルノードが他のフォーリンネットワークに接続した状態でさえ、ホームアドレスによって、その位置を特定可能とするものである。上記の事柄は、下記の非特許文献1や非特許文献3において、ホームエージェントとして知られるホームネットワークのエンティティの導入によって実現されている。
モバイルノードは、バインディングアップデートとして知られるメッセージを利用して、ホームエージェントに気付アドレスの登録を行う。また、ホームエージェントは、モバイルノードのホームアドレスを送信先とするメッセージを受信(intercept)し、IP−in−IPトンネリング(下記の非特許文献5及び下記の非特許文献6)を利用して、そのパケットをモバイルノードの気付アドレスあてに転送するよう要請されている。IP−in−IPトンネリングでは、オリジナルのIPパケットを別のIPパケットによってカプセル化することが行われる。オリジナルのパケットは、インナパケットと呼ばれることがあり、インナパケットをカプセル化するための新しいパケットはアウタパケットと呼ばれることがある。
しかしながら、双方向トンネルによる単純なアプローチでは、IPv4やIPv6における他の効果的な特徴(例えばマルチ・ホーミングなど)における要求を十分に満たすことはできない。グローバルネットワークへの独立したルートを提供する外部ネットワーク側インタフェース(イグレスインタフェース:egress interface)が複数存在する場合には、ノードはマルチホームとなり得る。これらのインタフェースがすべて、同一のルータに属する場合には、そのルータのみがマルチホームとなる。一方、これらのインタフェースがそれぞれ独立したルータに属する場合には、これらのルータが集合して存在するサイトやネットワークもマルチホームとなる。
現在、マルチホーミングの利点が、完全に活用されているわけではない。トランスポートレイヤでマルチホーミングをサポートする1つの解決策が提供されている(下記の特許文献1)。独立したフロントエンドプロセッサで構成されたホストシステムにトランスポートプロバイダを設けることによって、各トランスポートプロバイダがネットワークプロトコルスタックを有し、異なるネットワークや、同一ネットワークの異なる部分に接続して、ホストシステム上で実行される異なるタイプのアプリケーションからの様々な要求に応える完全なマルチホーミングのサポートが提供される。しかしながら、この解決策は、モバイルIPよりも高次のネットワークレイヤでなされるものであり、無線接続の切り換えが散発的にしか起こらない状況では、十分な応答を行わないこともあり得る。さらに、IP又はネットワークレイヤにおける変化と比較した場合、トランスポートレイヤにおける変化に伴うオーバヘッドの非効率性はかなり高い。
また、ホームエージェント間の通信に関して、別の解決策が提案されている(下記の非特許文献7)。関連するホームエージェントは、まず、それぞれ識別され、ホームエージェントのデータベースに手入力される必要がある。さらに、モバイルノードが移動する場合、この解決策では、利用可能なあらゆるホームエージェントに対して、すべてのアップデートのマルチキャストを求め、この影響によるオーバヘッドの非効率性によって、この解決策のスケーラビリティが制限される可能性もある。
また、マルチホーミングプロキシ装置に関して、別の解決策が提供されている(下記の特許文献2)。この解決策では、他のタイプのネットワークにパケットのトラフィックを転送するためのメディアゲートウェイを制御するエンティティの調整を行うセントラルエンティティの使用が提案されている。しかしながら、主な焦点は、セントラルエンティティによる負荷バランスの管理であり、2つ以上の管理エンティティ間の通信に関する提案はなされていない。
マルチホームサイト又はマルチホームホストは、同一又は異なるネットワーク上に存在し得る複数のデータリンクに物理的に接続される。これは、ある法人サイトが2つの異なるインターネットサービスプロバイダ(ISP:Internet Service Provider)を経由してグローバル通信ネットワークにリンクを有している場合に見られる。また、無線LAN(Local Area Network)(IEEE802.11)及びセルラネットワーク(GPRS:General Packet Radio Service)を介して接続を行うノードも、ホストの場合におけるマルチホーミングを表している。マルチホーミングを行う利点の1つは、ネットワークサイト又はノードが、その上り回線(アップリンク)の1つに障害や輻輳が起こった場合に、グローバルネットワークとの間で相互に到達可能とする代替経路を使用できるという点である。
サービスレベルアグリーメント(SLA:Service Level Agreement)はネットワークサービスのレベルを保証するプロバイダとクライアントとの契約である。モバイルクライアントのホームエージェントとして機能している際に、特定のリンクにおいてネットワークトラフィックの急上昇が起こった場合、ISPは、SLAに規定されている条件を満たすことができない可能性がある。このようにネットワークの速度が低下した場合には、モバイルクライアントは、輻輳したリンクを利用し続けてしまうことになる。したがって、リンクの障害や過剰の輻輳が生じた場合には、モバイルクライアントによる動的なホームエージェントのアドレス探索が、クライアント側で開始されなければならない。
モバイルネットワークの使用がますます普及していくに従って、あるモバイルルータが、そのモバイルネットワーク内のノードのホームエージェントとして機能するようになるという仮定は、決して途方もないことではない。これは、例えば、航空機内のモバイルルータが、長距離フライトの間に、乗客に対してホームエージェントとして機能したり、定期クルーズ船のモバイルルータが、1週間の航海の間に、乗客のノードに対してホームエージェントとして動作したりする場合に当てはまる。通常、モバイルネットワークは、グローバルネットワークと無線接続を行っている。近年、無線技術は非常に進歩しているが、有線ネットワークと比べると、依然として、チャンネルが不安定であり雑音が生じる傾向がある。
しかしながら、モバイルルータとホームエージェントとの間で双方向トンネルメカニズムが採用されている場合には、ホームエージェントが有する複数のインタフェースの1つをデフォルトルータとして選ぶことができるのは接続しているノードである。このインタフェースがグローバルネットワークへの接続に失敗した場合、もはやホームエージェントとモバイルルータとの間のトンネルは維持され得ない。したがって、同一のホームエージェントのルータにおける別のインタフェースが、グローバルネットワークへのアクティブなリンクを持っていたとしても、そのモバイルルータを利用するすべてのノードも、同様にグローバルネットワークへの接続性を失うことになる。そして、モバイルルータ及びモバイルネットワークのノードは、最終的に、それら自身のデフォルトのホームエージェントのインタフェースがもはやグローバルネットワークへのルートを持っていないことに気付いて、代理ホームエージェントを選択することになる。
このような案では、モバイルルータ及びモバイルネットワークのノードが、それら自身のルート探索を実行することに依存している。結局、モバイルルータは、ホームエージェントを切り換えなければならず(例えば、動的なホームエージェントのアドレス探索)、復旧の遅れが生じることになる。復旧において重大な遅れが生じた場合、モバイルネットワークのノードは、現在のデフォルトのルートが落ちている(down)と決定してしまうかもしれない。また、非常に限られた処理能力(例えば、組み込みデバイス)しか持たないモバイルネットワークのノードでは、処理負荷が増大して更なる遅れが生じてしまう。さらに、異なるモバイルルータは、異なるサブネットプリフィックスの通知を行うので、結局、モバイルノードがデフォルトルータを切り換える際に、異なる気付アドレスの使用が必須となってしまう。これにより、モバイルノードは、ホームエージェントへのバインディングアップデートの送信が必要になり、復旧の遅れがさらに増大してしまう。
Perkins,C.E.et.al.,″IP Mobility Support″,IETF RFC 2002,Oct 1996. DARPA,″Internet Protocol″,IETF RFC 791,Sep 1981. Johnson,D.B.,Perkins,C.E.,and Arkko,J.,″Mobility Support in IPv6″,Internet Draft:draft−ietf−mobileip−ipv6−24.txt,Work In Progress,June 2003. Deering,S.,and Hinden,R.,″Internet Protocol Version 6(IPv6)Specification″,IETF RFC 2460,Dec 1998. Simpson,W.,″IP in IP Tunneling″,IETF RFC 1853,Oct 1995. Conta,A.,and Deering,S.,″Generic Packet Tunneling in IPv6″,IETF RFC 2473,Dec 1998. Ryuji Wakikawa,Vijay Devarapalli and Pascal Thubert,″Inter Home Agents Protocol(HAHA)″,Internet Draft:draft−wakikawa−mip6−nemo−haha−00.txt,Oct 2003. 米国特許第6119170号 米国特許公開2002−118686号
しかしながら、上述の各文献(特に、非特許文献7)に記載されている技術によれば、モバイルノード/モバイルルータのホームエージェントは、異なる各リンク上に配置された複数のホームエージェントとの間で、バインディングキャッシュ情報やホームエージェントのリスト情報の同期付け(共有)を行う必要がある。この同期付けを行うためには、ホームエージェント間で相互に情報の交換を行う必要があり、すべてのホームエージェントがあらかじめ相互に情報を持つことは大変であるという問題がある。また、何らかのトリガに応じて、オンデマンドにすべてのホームエージェントに対してアップデートの送信を行うようにした場合でも、送信されるアップデートによるトラフィックの増加によって、逆に輻輳を招くことになるという問題がある。さらに、ホームエージェントの切り換えを行うタイミングがモバイルノード/モバイルルータ側の主導で決定されるため、ネットワークの状態を考慮したホームエージェントの切り換えが行われにくくなるとともに、ネットワーク側に障害が起こった場合には、障害発生後にモバイルノード/モバイルルータ側によってホームエージェントの切り換えが行われることになり、障害発生に係る対応が遅くなってしまうという問題がある。
本発明では、ホームエージェントに対して新たな機能が付加され、また、モバイルルータやモバイルノードにも若干の新たな機能が付加される。ホームエージェントは、転送するデータパケットを常に監視する。そして、別のホームエージェントを送信先とするパケットが検出された場合には、そのパケットの送信元及び送信先に関する情報が記録されるとともに、指定されたホームエージェントに対して、メッセージデータパケットが送られ、現在のホームエージェントの利用可能性が通知される。指定されたホームエージェントのイグレスリンクに障害が生じるか、所定のレベルを超える輻輳が発生した場合には、指定されたホームエージェントは、ホームエージェントとして機能するように選択されたモバイルルータやモバイルノードに対して、メッセージデータパケットを送信する。メッセージデータパケットには、例えば、指定されたホームエージェントのアドレスや、別のホームエージェントのアドレスが含まれ、実際の位置情報が、選択されたモバイルルータやモバイルノードに明らかとなる。メッセージデータパケットを受信すると、選択されたモバイルルータやモバイルノードは、本来のホームエージェント登録エントリを終了して、新たなホームエージェントの登録を行う。
本発明によれば、モバイルノードのホームエージェントの変更が可能となり、モバイルノードとそのホームエージェントとの接続性が常に維持されるようにすることが可能になる。また、ネットワーク側の主導でホームエージェントの切り換えが行われるようになり、ネットワークにおける障害発生などのネットワークの状態を考慮して、ホームエージェントの切り換えを、適切、かつ迅速に行うことが可能となる。また、例えば、DoS(Denial of Service)攻撃などによって、ホームエージェント又はホームエージェントとのリンクに障害が生じた場合でも、モバイルノードが、別のノードにそのホームエージェントを変更することによって、障害が生じたホームエージェントの管理下にあったモバイルノードの通信に係る接続性が維持されるようになる。
複数のインタフェースを有するホームエージェント内に存在する機能ブロックのフレームワークを示す図
システムマネージャが、インタフェースマネージャに対して、パケット選定基準を渡すために使用されるメッセージのフォーマットを示す図
インタフェースマネージャが、システムマネージャに対して、モバイルノードの検出を通知するために使用されるメッセージのフォーマットを示す図
インタフェースマネージャが、システムマネージャに対して、インタフェースの障害を通知するために使用されるメッセージのフォーマットを示す図
他のホームエージェントに対して、ホストのホームエージェントの利用可能性を通知するために使用されるメッセージのフォーマットを示す図
システムマネージャが、ルートマネージャに対して、利用可能なインタフェースを有するルートマネージャや、代理ホームエージェントのアップデートを行うために使用されるメッセージのフォーマットを示す図
システムマネージャからルートマネージャに対するクエリとして使用されるメッセージのフォーマットを示す図
新しいモビリティオプションのフォーマットを示す図
複数のインタフェースを有する複数のホームエージェントが存在するホームネットワーク(マルチホームサイト又はマルチホームホスト)を特徴とするネットワーク図
図9に図示される場合において行われる動作のフロー図
セントラルルートマネージャを利用するクライアントのホームエージェント内に存在する機能ブロックのフレームワークを示す図
セントラルルートマネージャを有するクライアントのホームエージェントを特徴とするネットワーク図
<第1の実施の形態>
本発明では、グローバルネットワークを移動するモバイルルータ又はモバイルノードに対して、ホームエージェントとして機能するノードが含まれている。この場合、ホームエージェント自身がモバイルルータの場合もある。本発明では、ホームエージェントが、代理ホームエージェントとしての機能を果たすことが可能な他のノードに関する通知を受けるだけではなく、グローバルネットワークへのルートを受動的に監視することが必要とされる。また、状況に応じて、ホームエージェントは、登録されるモバイルルータ又はモバイルノードを別のインタフェースや代理ホームエージェントに積極的に切り換えることも可能である。
開示される発明の理解を容易とするために、以下の定義が使用される。
「パケット」は、データネットワーク上で伝送可能な、任意のフォーマットのデータの独立した(self−contained)ユニットである。通常、「パケット」は「ヘッダ」部分と「ペイロード」部分の2つの部分により構成される。「ペイロード」部分には、伝送されるデータが含まれており、「ヘッダ」部分には、パケットの伝送を支援するための情報が含まれている。なお、「ヘッダ」部分には、「パケット」の送信者及び受信者のそれぞれを識別するために、送信元アドレス及び送信先アドレスが含まれる必要がある。
「パケットトンネリング」は、別のパケットをカプセルに入れた独立したパケットに関連するものである。「パケットトンネリング」の動作は、パケットの「カプセル化」とも呼ばれる。また、カプセル化されたパケットは、「トンネル化されたパケット」又は「インナパケット」と呼ばれ、「インナパケット」をカプセル化するパケットは「トンネリングパケット」又は「アウタパケット」と呼ばれる。なお、カプセル化されたパケットでは、「インナパケット」全体が、「アウタパケット」のペイロード部分を形成する。
「モバイルノード」は、グローバルデータ通信ネットワークへの接続ポイントを変更するネットワークエレメントである。この「モバイルノード」は、エンドユーザ端末や、グローバルデータ通信ネットワークへの接続ポイントを変更することが可能なゲートウェイ、ルータ、インテリジェントネットワークハブなどの中間的なネットワークエレメントを示すために使用される場合もある。また、「モバイルノード」がエンドユーザ端末の場合には、より明確に「モバイルホスト」と呼ばれ、「モバイルノード」が、ゲートウェイ、ルータ、インテリジェントネットワークハブなどとして機能する中間的なネットワークエレメントの場合には、より明確に「モバイルルータ」と呼ばれる。なお、説明のため、この用語を、「登録されたノード」という用語に置き換えて使用する場合もある。
「登録されたノード(registered node)」は、その登録されたノードのネットワーク上の位置情報を通知して、別のネットワークへの登録を行うネットワークエレメントである。ネットワークエレメント自体は、そのグローバルデータ通信ネットワークへの接続ポイントに対して、静的(static)でも移動可能(mobile)でもよい。なお、説明のため、この用語を、「モバイルノード」という用語に置き換えて使用する場合もある。
「ホームエージェント」は、モバイルノードのホームドメインに存在するネットワークエンティティである。「ホームエージェント」は、モバイルノードがホームネットワークから離れている場合の気付アドレスの登録サービスを行うものであり、モバイルノードのホームアドレスが送信先に設定されているパケットを、モバイルノードの気付アドレスに転送する。
「バインディングアップデート」は、モバイルノードから、そのホームエージェントやコレスポンデントノード(correspondent node)に対して送られるメッセージであり、受信者に対して送信者の現在の気付アドレスの通知を行うメッセージである。これによって、受信者は、モバイルノードのホームアドレスと気付アドレスとの間の関係の「バインディング」を行う。
「バインディングリフレッシュリクエスト」は、ホームエージェントやコレスポンデントノードからモバイルノードに送られるメッセージであり、その受信者に対して、その送信者へのバインディングアップデートメッセージを送るように通知するメッセージである。
なお、以下の記述では、説明のために、特定の数、時間、構造、その他のパラメータなどが、本発明を完全に理解してもらうために詳しく説明されるが、こうした詳細な設定は一例であり、こうした特定の詳細な設定を行わなくても、本発明を実行できることは、当業者にとって自明である。
図1には、本発明の適切な動作を行うためのホームエージェント(1000)に存在する必要な機能に係る要素が図示されている。なお、ルートマネージャ(1006)は分離可能であるが、これに関しては、後述の第2の実施の形態で説明する。上位レイヤプロトコル(1001)は、上位に存在するすべてのプロトコルやアプリケーションレイヤをまとめたものである。IPレイヤもこの上位レイヤプロトコル(1001)に含まれる。例えば、ICMPv6(Internet Control Message Protocol version6)などの通常のIPv6プロトコルは、パケットフローパス(1061)を通じて、ネットワークインタフェース(1002)にメッセージパケットを直接送出することも可能である。
ネットワークインタフェース(1002)は、イーサネット(登録商標)カードや、ブルートゥースカードのような無線インタフェースカードなど、複数の利用可能なインタフェースカードを表している。ネットワークインタフェース(1002)には、ハードウェアを動作させるために必要なソフトウェアドライバやプロトコルが含まれている。パケットフローパス(1057)は、イーサネット(登録商標)やGPRSなどの下層プロトコルによって処理され、インタフェースマネージャ(1005)に渡されるIPレイヤプロトコルデータパケットによって利用される。また、シグナルフローパス(1058)は、ハードウェアの障害やその他の故障を上位レイヤのアプリケーションに通知するために、インタフェースによって使用される通知信号を表している。このシグナルフローパス(1058)は、電気的な信号やその他の何らかの信号の形式が採用され、インタフェースマネージャ(1005)への通知に使用される。
また、モバイルIPプロトコルなどのような任意のプロトコルスタックは、双方向トンネリングユニット(1003)を利用することが可能である。双方向トンネリングユニット(1003)は、送受信パケット用の双方向トンネリングを実行する。双方向トンネリングユニット(1003)では、適切なネットワークインタフェース(1002)を経由する送信を行うために、上位レイヤプロトコル(1001)からパケットフローパス(1052)への、パケットフローパス(1051)におけるすべての送信パケットがカプセル化される。また、受信した入力パケットの脱カプセル化(カプセル化されたパケットを復元する処理)を行い、脱カプセル化されたパケットが、パケットフローパス(1051)を通じて上位レイヤプロトコル(1001)に渡される。
インタフェースマネージャ(1005)は、2つの主要な機能を有している。第1の機能は、ネットワークインタフェース(1002)で受信されたパケットをスキャンすることである。システムマネージャ(1004)は、インタフェースマネージャ(1005)がチェックを行うための何らかの選定基準を送る。なお、例えば、選定基準には、ネットワークプリフィックス、又は特定のホームエージェントのアドレスなどを含ませることが可能である。
図2には、パケットが取り得るフォーマットが与えられている。条件が妥当な場合には、このパケットが、システムマネージャ(1004)からインタフェースマネージャ(1005)に送られる。妥当な条件に係る例としては、ホストユニットが初めて起動した場合や、管理者が構成を変更した場合などが挙げられる。パケットを受信すると、インタフェースマネージャ(1005)は、“A”フィールドに基づいて、その情報が選定基準のデータベースに加えられるべきであるか、あるいは、削除されるべきであるかに注意し、適切な動作を行う。インタフェースマネージャ(1005)は、複数のネットワークインタフェース(1002)のいずれか1つを通るすべてのパケットのチェックを行う。これらのパケットは、パケットフローパス(1057)を通じて受信される。このチェックの目的は、これらのパケットがシステムマネージャ(1004)によって与えられた選定基準に指定されているホームエージェントへのモバイルIPパケットであるかどうかを決定することである。例えば、システムマネージャ(1004)によって与えられた選定基準のプリフィックスやアドレスと、あて先アドレスフィールドとの比較を行う方法が可能である。また、これがモバイルIPパケットであるかどうかを決定するために、IPv6拡張ヘッダを検査して、モバイルIP拡張ヘッダ、あるいは、モビリティヘッダ(MH:Mobility Header)として知られているヘッダを探索することも可能である。具体例としては、ペイロードプロトフィールド(Payload Proto field)内のIPPROTO_NONEの値を探索する。また、MHタイプフィールド(非特許文献3参照)内の値“5”の探索を行う。これは、パケットが、選択されたホームエージェントへのバインディングアップデートメッセージであることを示すものである。
また、そのイベントをシステムマネージャ(1004)に通知するために、パケットが送られる。図3には、このパケットが取り得るフォーマットが与えられている。このパケットは、インタフェースマネージャ(1005)の選定基準データベース内で発見される選定基準のいずれか1つと一致するあて先アドレスのバインディングアップデートメッセージが受信(intercept)された場合に送信されるものである。なお、受信者(システムマネージャ(1004))の動作は、後述のシステムマネージャ(1004)に関する記述で与えられる。
受信(intercept)されたパケットは、通常のルーティングルールに従って転送されるため、適切なネットワークインタフェース(1002)へのパケットフローパス(1057)を通じて送出される。すべての受信パケットは、通常の処理と同様に、パケットフローパス(1057)を通じて、引き続き伝送が許容されるか、あるいは、パケットフローパス(1055)を通じて、双方向トンネリングユニット(1003)に渡される。
また、インタフェースマネージャ(1005)は、ネットワークインタフェースにおいて生じたあらゆる問題や、これから起こり得る潜在的な問題を、システムマネージャ(1004)に通知するという別の機能を有している。インタフェースマネージャ(1005)は、様々なネットワークインタフェース(1002)における負荷を決定するために、ある種のメトリックを監視するように構成されることが望ましい。これは、例えば、利用状態、利用される帯域幅、インタフェースの障害などである。何らかの可能なアルゴリズムに基づくある閾値に達した場合(例えば、ネットワークカードの80%の利用率)には、パケットフローパス(1056)を通じてシステムマネージャ(1004)にパケットが送られて、その問題の通知が行われる。図4には、このパケットが取り得るフォーマットが与えられている。なお、受信者(システムマネージャ(1004))の動作は、後述のシステムマネージャ(1004)に関する記述で説明する。
ルートマネージャ(1006)は情報を格納するとともに、パケットフローパス(1059)を通じてシステムマネージャ(1004)からリクエストされた関連情報を抽出するためのツール及び機能を保持する必要がある。この情報は、利用可能な代理ホームエージェントと、パケットフローパス(1059)を通じてシステムマネージャ(1004)から供給される関連情報とを詳細に記載するテーブルの形式で格納される。例えば、この情報には、指示されたモバイルノード、代理ホームエージェントのアドレス、代理ホームエージェントのインタフェースのホップカウント距離、代理ホームエージェントのインタフェースの優先度やその他のメトリックが含まれている。
情報抽出の機能やツールは、リクエストを行ったシステムマネージャ(1004)から選定基準が与えられた場合に、上述のシステムマネージャ(1004)に対して関連エントリを供給するように構成されている。例えば、システムマネージャ(1004)は、最も高い優先度やその他のメトリックを有する任意のモバイルノードのための代理ホームエージェントに対してリクエストを行う。
モバイルノードの検出に関連して、インタフェースマネージャ(1005)からパケットフローパス(1056)を通じて図4に記載されているパケットで伝えられる情報を受信した場合には、システムマネージャ(1004)は、検出されたホームエージェントに対して、検出されたモバイルノードの利用可能性(availability)に関する情報を、パケットフローパス(1060)を通じて送信する処理を行う必要がある。図5には、このとき送信されるデータパケットの一例が与えられている。
また、システムマネージャ(1004)は、ホームエージェントとして機能しているインタフェースに関する情報を用いて、ルートマネージャ(1006)をアップデートする必要がある。図6には、アップデートメッセージのフォーマットの一例が与えられている。このアップデートは、起動又は構成変更時に行われる。システムマネージャ(1004)が、他のホームエージェントから、特定のモバイルノードの利用可能性を通知する何らかのパケットを受信した場合には、モバイルノードのホームアドレスが気付アドレスを用いて解析された後に、その情報が、図6のメッセージフォーマットを使用するルートマネージャ(1006)に送られる。
パケットフローパス(1056)を通じてインタフェースマネージャ(1005)から伝搬されるパケット(図4に図示)によって伝えられるインタフェースの障害や過負荷(overload)が検出された場合には、システムマネージャ(1004)は、利用可能な代替経路やインタフェースを探索するために、さらにアップデートを行い、パケットフローパス(1059)を通じてルートマネージャ(1006)に問い合わせを行う必要がある。障害を通知するアップデートパケットとして可能なフォーマットは、図6に図示されるパケットのライフタイムフィールド(1503)の値がゼロに設定されたものであり、これによって、エントリの効力がなくなる。
一方、クエリパケットの一例は図7に図示されている。クエリパケットは、どのホームエージェントが各モバイルノードに対する代理を務めるかを問い合わせるために送られる。そして、代理ホームエージェントのアドレスを有するリプライパケットが、ルートマネージャ(1006)からシステムマネージャ(1004)へのパケットフローパス(1059)を経由して送られることになる。なお、この代理ホームエージェントは、現在のホームエージェントの別のインタフェースであってもよい。また、このリプライパケットのメッセージフォーマットは、図7に図示されているクエリパケットのフォーマットと同様のものが利用可能である。そして、システムマネージャ(1004)は、パケットフローパス(1053)を通じてパケットを送り、影響を受けるモバイルノードに対して、ホームエージェントを変えるように要求する通知を行う。なお、ここで送信されるパケットの一例は、図8に図示されている。
以下、本発明に係る解決方法で使用される様々なメッセージフォーマットの一例について説明する。
システムマネージャ(1004)がパケット選定基準をインタフェースマネージャ(1005)に渡すために使用されるメッセージ用のフォーマットが、図2に図示されている。
タイプ(Type)(1101)は、パケットを特定するために使用される任意の数を示している。また、A(1102)は、後続のエントリが選定基準のリストに付加されるか否か、又は削除されるか否かを示すフラグである。また、プリフィックスレングス(Prefix Length)(1103)は、選定基準として使用されるプリフィックス/アドレス(Prefix/Address)(1104)フィールドにおけるビット数を決定するために使用される。また、プリフィックス/アドレス(1104)は、選定に使用されるプリフィックス又はアドレスである。
また、インタフェースマネージャ(1005)がモバイルノードの検出をシステムマネージャ(1004)に通知するために使用されるメッセージ用のフォーマットが、図3に図示されている。
タイプ(Type)(1201)は、パケットを特定するために使用される任意の数を示している。また、ホームエージェントアドレス(Home Agent Address)(1202)は、検査されたパケットの送信先フィールドから把握される特定のホームエージェントのアドレスを示している。また、モバイルノードの気付アドレス(Mobile Node’s Care−of−Address)(1203)は、検査されたパケットの送信元フィールドから把握されるモバイルノードの現在の気付アドレスである。
また、インタフェースマネージャ(1005)がインタフェースの障害をシステムマネージャ(1004)に通知するために使用されるメッセージ用のフォーマットが、図4に図示されている。
タイプ(Type)(1301)は、パケットを特定するために使用される任意の数を示している。また、エラーコード(Error Code)(1302)は、インタフェースで起こっているエラーや障害のタイプを示す。なお、様々な輻輳レベルやハードウェアの障害など、様々な状態を示すために異なる数値が割り当てられる。また、インタフェースアドレス(Interface Address)(1303)は、当該問題に直面しているインタフェースのアドレスである。
また、ホストのホームエージェントの利用可能性を、他のホームエージェントに通知するために使用されるメッセージのフォーマットが、図5に示されている。
タイプ(Type)(1401)は、パケットを特定するために使用される任意の数を示している。また、レングス(Length)(1402)は、パケットの長さである。また、ホップリミットカウント(Hop Limit Count)(1403)はIPv6ヘッダのホップカウントフィールドの初期値である。これは、特定のホームエージェントから現在のホストのホームエージェントがどれくらい離れているかを判断するためのメトリックの一例として使用される。基本的には、移動しているモバイルノードに最も近いホームエージェントが、特定のホームエージェントから最も遠いとみなされる。なお、ここでは、所定の初期値から、受信したIPv6ヘッダ内のホップカウントフィールドの値を減算することによって、ホップカウント距離を取得してもよい。また、ライフタイム(Lifetime)(1404)は、この情報が有効な時間である。また、検出されたモバイルノードの気付アドレス(Detected Mobile Node’s Care−of−Address)(1405)は、ホストのホームエージェントが検出したモバイルノードの気付アドレスである。ホームエージェントとして機能することができるインタフェースのアドレスは、IPv6ヘッダの送信元フィールドに与えられている。
また、システムマネージャ(1004)が、利用可能なインタフェースを有するルートマネージャ(1006)又は代理ホームエージェントをアップデートするために使用されるメッセージのフォーマットが、図6に図示されている。
タイプ(Type)(1501)は、パケットを特定するために使用される任意の数字を示している。また、メトリック(Metric)(1502)は、このエントリを使用する望ましさを計算する際に使用される数値である。メトリックの値は、ホームエージェントがどのくらい近くに存在するかに関する関数であり、概して、代理ホームエージェントを選択する際に使用される。また、ライフタイム(Lifetime)(1503)は、期間満了又は削除の後のこのエントリの有効なライフタイムである。ローカルインタフェースは、最大の可能な値(ビットをすべて1に設定)を持つことによって示される場合もある。また、入力パケットのこのフィールドが0に設定されている場合には、ルートマネージャ(1006)内のすべての対応エントリは、満了となり削除される。また、ホームエージェントアドレス(Home Agent Address)(1504)は、ローカルインタフェース又は代理ホームエージェントのアドレスである。また、モバイルノードアドレス(Mobile Node Address)(1505)は、代理ホームエージェントとして機能するモバイルノードのアドレスである。通常、ローカルインタフェースの場合には、このフィールドは空(empty)に設定される。
また、システムマネージャ(1004)からルートマネージャ(1006)への問い合わせ(クエリ)として使用されるメッセージのフォーマットが、図7に図示されている。なお、同一のフォーマットが、ルートマネージャ(1006)からシステムマネージャ(1004)へのリプライメッセージで使用される。
タイプ(Type)(1601)は、パケットを特定するために使用される任意の数を示している。リクエスト及びリプライパケットは、異なる値を有することになる。また、マジック(Magic)(1602)は、リクエスト及びリプライのペアを対応させるために使用されるランダムに選択された数である。送信されるリクエストには、ランダムに生成された値を有しており、リプライパケットには、リクエストと同一の値が保持される。また、ホームエージェント/モバイルノードアドレス(Home Agent/Mobile Node Address)(1603)フィールドには、リクエストメッセージではチェック用のモバイルノードのアドレスが、リプライメッセージでは選択されたホームエージェントのアドレスが与えられる。
また、モバイルノードは、図8に図示されている新しいモビリティオプションを理解する必要がある。
タイプ(Type)(1701)は、オプションを特定するために使用される任意の数を示している。また、レングス(Length)(1702)は、タイプ及びレングスフィールドを除くオプションの長さであり、オクテットで示される。また、代理ホームエージェントアドレス(Alternate Home Agent Address)(1703)は、代理ホームエージェントの128ビットのアドレスである。これは、同一のホームエージェント、又は、別の異なるホームエージェント上の代理インタフェースであってもよい。
この新しいオプションを受信したモバイルノードは、送信元アドレスがバインディングアップデートのリスト内の対応するエントリに含まれていることを、まずチェックしなければならず、対応するエントリがない場合には、オプションは無視されるべきである。また、このオプションを検証して、モバイルノードが、そのバインディングキャッシュエントリを維持することを選択した場合には、このオプションを含むパケットの送信元アドレスに対して、ライフタイムがゼロに設定されたバインディングアップデート(Binding Update:BU)を送信しなければならない。このとき、新しいバインディングアップデートは、代理ホームエージェントアドレスのフィールドで与えられたアドレスに送られるべきである。
このモビリティオプションの送信を可能とする方法の具体的な例としては、ホームエージェントからモバイルノードへのバインディングリフレッシュリクエストを使用することが可能である。仮定として、このオプションは、新たに定義されるIPv6拡張ヘッダとして伝送されることが想定される。このオプションの最も重要な機能は、メッセージの送信元が、登録されているホームエージェントであり、使用可能な新たなホームエージェントであることを、モバイルノードが見極められるようにすることにある。
第1の実施の形態では、ホームエージェントがマルチホームであり、代理ホームエージェントが存在する場合について説明する。図9は、ネットワークの概要図である。ホームエージェント(1802)は、アクセスルータ(1805)に向かうイグレスインタフェース(1810)と、アクセスルータ(1806)に向かうイグレスインタフェース(1811)とを介して、グローバルネットワーク(1807)に接続されており、登録されたノード(1801)に対するホームエージェントとして機能している。
また、代理ホームエージェントが存在している。ホームエージェント(1803)は、グローバルネットワーク(1807)とグローバルネットワーク(1808)との間に存在している。また、同様に、ホームエージェント(1804)が、グローバルネットワーク(1808)とグローバルネットワーク(1809)との間に存在している。
登録されたノード(1801)は、モバイルIPプロトコルスタックを利用する任意のモバイルターミナルを示している。また、この登録されたノード(1801)は、他のモバイルノードが存在可能なモバイルネットワークを提供するモバイルルータも表すものとする。登録されたノード(1801)は、本来はグローバルネットワーク(1807)内を移動するものであり、ホームエージェント(1802)のイグレスインタフェース(1810)が、ホームエージェントインタフェースとして機能している。しかしながら、仮にイグレスインタフェース(1810)が輻輳などによって落ちた(down)場合には、インタフェースマネージャ(1005)からシステムマネージャ(1004)への通知が行われる。システムマネージャ(1004)は、代替経路を取得するために、ルートマネージャ(1006)に対して問い合わせを行う。ルートマネージャ(1006)は、他方のイグレスインタフェース(1811)のアドレスによって返答を行い、システムマネージャ(1004)は、登録されたノード(1801)に対して、ホームエージェントをイグレスインタフェース(1811)に切り換えるように通知するメッセージの送信処理を行う。
登録されたノード(1801)がグローバルネットワーク(1809)に移動すると仮定する。登録されたノード(1801)は、その本来のホームエージェント(イグレスインタフェース(1810))に対して、バインディングアップデート(BU)メッセージを送信する処理を行う。BUがホームエージェント(1802)に向かう途中、そのパケットは代理ホームエージェント(ホームエージェント(1803)とホームエージェント(1804))を通り抜ける。そして、ホームエージェント(1803)及びホームエージェント(1804)の両方がパケットを検出し、それぞれ選択されたインタフェースのアドレスによって、ホームエージェント(1802)をアップデートする処理を行う。イグレスインタフェース(1811)が輻輳状態にある場合には、インタフェースマネージャ(1005)は、システムマネージャ(1004)に対して再度通知を行う。登録されたノード(1801)に関する問い合わせをシステムマネージャ(1004)から受けた際に、ルートマネージャ(1006)は、2つの代理ホームエージェント(ホームエージェント(1803)とホームエージェント(1804))が利用可能であることを把握し、メトリックに基づく選択を行って、ホップ距離がより遠い好適なホームエージェント(したがって、登録されたノード(1801)により近いと思われるホームエージェント)としてホームエージェント(1804)を選定することになる。
そして、システムマネージャ(1004)は、登録されたノードに対して、図8に図示されているモビリティオプションを有するメッセージの送信を行う。モビリティオプションを受信すると、登録されたノード(1801)は、まず、メッセージの検証を行うべきであり、例えば、IPv6パケットの送信元フィールドに、その登録されたホームエージェント(1802)のアドレスが含まれていることを確認する。そして、このアドレスが含まれていれば、メッセージに含まれるインタフェースアドレスを有するホームエージェント(1804)に、ホームエージェントの切り換えを行うべきである。
この状況では、図10に図示されるアルゴリズムが使用されることになる。インタフェースマネージャ(1005)は、インタフェースの障害を検出した後に、システムマネージャ(1004)に対して、アップデートを行って、モバイルノード用の代替経路をルートマネージャ(1006)に対してリクエストするように通知を行う(ステップ1901)。ルートマネージャ(1006)は、まず、利用可能なローカルインタフェース(代替インタフェースとなり得るローカルインタフェース)が存在するか否かのチェックを行う(ステップ1902)。ここで、ローカルの代替経路が存在しない場合(パス1954)には、代理ホームエージェントに関するチェックが行われる(ステップ1906)。
一方、代替インタフェースが見つかった場合(パス1951)には、代替インタフェースのアドレスを有するメッセージ(図8)が送信される。なお、この場合、本来のイグレスインタフェースが落ちている(down)のであれば、双方向トンネリングユニット(1003)によって新たなトンネルのセットアップが必要となる場合もある。そして、ホームエージェントは、代替インタフェースに関するモバイルルータからのBUを待機する(ステップ1903)。なお、このメッセージ(図8)は、タイムアウトの後も任意の回数、再送されてもよい。
ステップ1903でBUを受信しない場合(タイムアウトの場合、又はリトライが最大となった場合)には、ホームエージェントは、新しい代替インタフェースを求める一連の処理を繰り返し行ってもよい(パス1952)。このとき、現在のイグレスインタフェースをリストから削除する(ステップ1904)ことによって、前に試されたインタフェースは、このモバイルルータの検討対象から除外される。
また、ステップ1903でBUが代替インタフェース上で受信された場合(パス1953)には、古いバインディングキャッシュエントリは直ちに効力がなくなり、新しいインタフェースアドレスと関連付けられたモバイルノード用の新たなエントリが加えられることによって、代替インタフェースの使用に移行する(ステップ1905)。
ステップ1906において、ルートマネージャ(1006)がチェックを行って、代理ホームエージェントを発見しなかった場合(パス1955)には、動作は変更なく継続されることとなる(ステップ1907)。なお、本来のインタフェースが落ちている(down)場合には、ホームエージェントは切断状態となる。
しかしながら、ステップ1906において、ルートマネージャ(1006)が代理ホームエージェントの利用可能性に関する情報を有している場合(利用可能な代理ホームエージェントを発見した場合)には(パス1956)、代理ホームエージェントのアドレスを示すメッセージ(図8)が送信される(ステップ1908)。本来のイグレスインタフェースが落ちている(down)と、ルートマネージャ(1006)は、代替ルートを求めて、再度問い合わせを行うことになる。ここでは、例えば、何らかの他の方法を用いて検出された代理ホームエージェントを経由する内部ネットワーク側(イングレス:ingress)ルートを利用することも可能である。そして、新しいトンネルが、双方向トンネリングユニット(1003)によってセットアップされる。ホームエージェント(1000)は、バインディングキャッシュエントリを失効させることが可能なBU以外のパケットをモバイルルータから受信するか否かを確認する待機状態となる(ステップ1909)。
ステップ1909において、依然としてパケットを受信している場合(パス1957)には、ホームエージェントは、利用可能な新しい代理ホームエージェントを求める一連の処理を繰り返し行う。このとき、現在の代理ホームエージェントをリストから削除する(ステップ1911)ことによって、前に試されたホームエージェントは、このモバイルルータの検索対象から除外される。
また、もはやモバイルルータからパケットを受信しない場合(パス1958)には、ライフタイムの値がゼロに達して、バインディングキャッシュエントリが放置され、その効力が自然に満了となる(ステップ1910)。
<第2の実施の形態>
第2の実施の形態では、セントラルルートマネージャ(2001)が存在するホームネットワークに関する場合について説明する。セントラルルートマネージャ(2001)のみが必要とされる場合には、ホームエージェント(2000)に必要な機能コンポーネントは、図11に図示されるように、より簡単な構成となる。そのレイアウトは、ルートマネージャ(1006)のブロック、及び、関連するパケットフローパス(1059)が存在しないことを除いて、図1に示す構成と類似している。また、その代わり、各ホストのホームエージェント内のシステムマネージャ(1004)が、パケットフローパス(1062)を経由して、セントラルルートマネージャ(2001)内のルートマネージャに、すべてのアップデートを送信することになる。なお、セントラルルートマネージャ(2001)は、図1に示す機能コンポーネントを有しており、セントラルルートマネージャ(2001)の位置情報は、クライアントのホームエージェントのそれぞれにおいて、静的に構成された状態とすることが可能である。
図12には、ネットワーク(2005)を通じて、アップデート及びリクエストをセントラルルートマネージャ(2001)に送信するクライアントのホームエージェント(ホームエージェント(2002)、ホームエージェント(2003)、ホームエージェント(2004))において可能な配置構成が図示されている。セントラルルートマネージャ(2001)は、すべてのアップデート情報を収集して、それぞれに対するリプライメッセージを送信する。
第1の実施の形態における説明からの変更箇所は、ホームエージェントのインタフェースとして機能するローカルインタフェースのアップデートが含まれている点である。セントラルルートマネージャ(2001)の場合には、セントラルルートマネージャ(2001)上のローカルインタフェースが、ホームエージェントの機能を有している場合も、また、有していない場合も考えられる。クライアントのホームエージェント用のローカルインタフェースが、何らかのモバイルノードのホームエージェントのインタフェースとして機能しているときのみ、ローカルインタフェースはルートマネージャで更新されるべきである。また、図5に図示されているメッセージのフォーマットの所定の検出モバイルノード気付アドレス(1405)フィールドによって、モバイルノードの気付アドレスではなくホームアドレスが提供されることを示すために、クライアントのホームエージェントがセントラルルートマネージャ(2001)をアップデートする場合には、図5に図示されているメッセージのフォーマットのタイプ(1401)フィールドに、異なる値を入れることも可能である。
このとき、図6及び図7に図示されるメッセージは、IPv6を使用して伝搬されることになる。実施可能な例としては、IPv6パケットのペイロードとして運ばれる。なお、第1の実施の形態で説明されているその他のメッセージは、変更される必要はない。
セントラルルートマネージャ(2001)を有する主要な利点としては、他のホームエージェントにおける格納スペースの節約や処理能力の補完が挙げられる。したがって、他のホームエージェントは、データ格納の点において比較的安いコストで製造できるようになり、また、様々なエントリの検索や処理に必要な処理の負荷が、セントラルルートマネージャ(2001)にオフロードされるようになる。このような集中化のアプローチによれば、あらゆる関連情報を1箇所に集めるという利益が付加的にもたらされ、より効果的、かつ効率的なルート選定用のアルゴリズムの利用が可能となる。
本発明は、モバイルノードのホームエージェントの変更を可能とするものであり、移動端末に係る通信技術(特に、無線通信技術)に係る分野に適用可能である。
本発明は、移動端末(モバイル端末、モバイルノード)が移動を行った場合でも、所定の通信ネットワークへの接続を維持することを可能とする通信技術に関する。
無線技術の出現と発展によって、モバイル(異なるドメイン間を移動し、トランスポートセッションの進行中に、異なる場所のパケット交換データ通信ネットワークに異なる接続ポイントで接続するという意味)である端末が、ますます増加してきている。このようなローミングの機能は、インターネットプロトコルバージョン4(IPv4)(下記の非特許文献2)のモバイルIPv4(下記の非特許文献1)や、インターネットプロトコルバージョン6(IPv6)(下記の非特許文献4)のモバイルIPv6(下記の非特許文献3)などの解決策によって提供されている。
モバイルIPでは、各モバイルノードは、永続的なホームドメインを有しており、モバイルノードが、自身のホームネットワークに接続している場合には、ホームアドレスとして知られる永続的に使用可能なグローバルアドレスが割り当てられている。一方、モバイルノードがホームネットワークから離れており、すなわち、他のフォーリンネットワークに接続している場合には、通常、気付アドレス(Care-of-address)として知られる一時的なグローバルアドレスが割り当てられる。モビリティサポートの考え方は、モバイルノードが他のフォーリンネットワークに接続した状態でさえ、ホームアドレスによって、その位置を特定可能とするものである。上記の事柄は、下記の非特許文献1や非特許文献3において、ホームエージェントとして知られるホームネットワークのエンティティの導入によって実現されている。
モバイルノードは、バインディングアップデートとして知られるメッセージを利用して、ホームエージェントに気付アドレスの登録を行う。また、ホームエージェントは、モバイルノードのホームアドレスを送信先とするメッセージを受信(intercept)し、IP-in-IPトンネリング(下記の非特許文献5及び下記の非特許文献6)を利用して、そのパケットをモバイルノードの気付アドレスあてに転送するよう要請されている。IP-in-IPトンネリングでは、オリジナルのIPパケットを別のIPパケットによってカプセル化することが行われる。オリジナルのパケットは、インナパケットと呼ばれることがあり、インナパケットをカプセル化するための新しいパケットはアウタパケットと呼ばれることがある。
しかしながら、双方向トンネルによる単純なアプローチでは、IPv4やIPv6における他の効果的な特徴(例えばマルチ・ホーミングなど)における要求を十分に満たすことはできない。グローバルネットワークへの独立したルートを提供する外部ネットワーク側インタフェース(イグレスインタフェース:egress interface)が複数存在する場合には、ノードはマルチホームとなり得る。これらのインタフェースがすべて、同一のルータに属する場合には、そのルータのみがマルチホームとなる。一方、これらのインタフェースがそれぞれ独立したルータに属する場合には、これらのルータが集合して存在するサイトやネットワークもマルチホームとなる。
現在、マルチホーミングの利点が、完全に活用されているわけではない。トランスポートレイヤでマルチホーミングをサポートする1つの解決策が提供されている(下記の特許文献1)。独立したフロントエンドプロセッサで構成されたホストシステムにトランスポートプロバイダを設けることによって、各トランスポートプロバイダがネットワークプロトコルスタックを有し、異なるネットワークや、同一ネットワークの異なる部分に接続して、ホストシステム上で実行される異なるタイプのアプリケーションからの様々な要求に応える完全なマルチホーミングのサポートが提供される。しかしながら、この解決策は、モバイルIPよりも高次のネットワークレイヤでなされるものであり、無線接続の切り換えが散発的にしか起こらない状況では、十分な応答を行わないこともあり得る。さらに、IP又はネットワークレイヤにおける変化と比較した場合、トランスポートレイヤにおける変化に伴うオーバヘッドの非効率性はかなり高い。
また、ホームエージェント間の通信に関して、別の解決策が提案されている(下記の非特許文献7)。関連するホームエージェントは、まず、それぞれ識別され、ホームエージェントのデータベースに手入力される必要がある。さらに、モバイルノードが移動する場合、この解決策では、利用可能なあらゆるホームエージェントに対して、すべてのアップデートのマルチキャストを求め、この影響によるオーバヘッドの非効率性によって、この解決策のスケーラビリティが制限される可能性もある。
また、マルチホーミングプロキシ装置に関して、別の解決策が提供されている(下記の特許文献2)。この解決策では、他のタイプのネットワークにパケットのトラフィックを転送するためのメディアゲートウェイを制御するエンティティの調整を行うセントラルエンティティの使用が提案されている。しかしながら、主な焦点は、セントラルエンティティによる負荷バランスの管理であり、2つ以上の管理エンティティ間の通信に関する提案はなされていない。
マルチホームサイト又はマルチホームホストは、同一又は異なるネットワーク上に存在し得る複数のデータリンクに物理的に接続される。これは、ある法人サイトが2つの異なるインターネットサービスプロバイダ(ISP:Internet Service Provider)を経由してグローバル通信ネットワークにリンクを有している場合に見られる。また、無線LAN(Local Area Network)(IEEE802.11)及びセルラネットワーク(GPRS:General Packet Radio Service)を介して接続を行うノードも、ホストの場合におけるマルチホーミングを表している。マルチホーミングを行う利点の1つは、ネットワークサイト又はノードが、その上り回線(アップリンク)の1つに障害や輻輳が起こった場合に、グローバルネットワークとの間で相互に到達可能とする代替経路を使用できるという点である。
サービスレベルアグリーメント(SLA:Service Level Agreement)はネットワークサービスのレベルを保証するプロバイダとクライアントとの契約である。モバイルクライアントのホームエージェントとして機能している際に、特定のリンクにおいてネットワークトラフィックの急上昇が起こった場合、ISPは、SLAに規定されている条件を満たすことができない可能性がある。このようにネットワークの速度が低下した場合には、モバイルクライアントは、輻輳したリンクを利用し続けてしまうことになる。したがって、リンクの障害や過剰の輻輳が生じた場合には、モバイルクライアントによる動的なホームエージェントのアドレス探索が、クライアント側で開始されなければならない。
モバイルネットワークの使用がますます普及していくに従って、あるモバイルルータが、そのモバイルネットワーク内のノードのホームエージェントとして機能するようになるという仮定は、決して途方もないことではない。これは、例えば、航空機内のモバイルルータが、長距離フライトの間に、乗客に対してホームエージェントとして機能したり、定期クルーズ船のモバイルルータが、1週間の航海の間に、乗客のノードに対してホームエージェントとして動作したりする場合に当てはまる。通常、モバイルネットワークは、グローバルネットワークと無線接続を行っている。近年、無線技術は非常に進歩しているが、有線ネットワークと比べると、依然として、チャンネルが不安定であり雑音が生じる傾向がある。
しかしながら、モバイルルータとホームエージェントとの間で双方向トンネルメカニズムが採用されている場合には、ホームエージェントが有する複数のインタフェースの1つをデフォルトルータとして選ぶことができるのは接続しているノードである。このインタフェースがグローバルネットワークへの接続に失敗した場合、もはやホームエージェントとモバイルルータとの間のトンネルは維持され得ない。したがって、同一のホームエージェントのルータにおける別のインタフェースが、グローバルネットワークへのアクティブなリンクを持っていたとしても、そのモバイルルータを利用するすべてのノードも、同様にグローバルネットワークへの接続性を失うことになる。そして、モバイルルータ及びモバイルネットワークのノードは、最終的に、それら自身のデフォルトのホームエージェントのインタフェースがもはやグローバルネットワークへのルートを持っていないことに気付いて、代理ホームエージェントを選択することになる。
このような案では、モバイルルータ及びモバイルネットワークのノードが、それら自身のルート探索を実行することに依存している。結局、モバイルルータは、ホームエージェントを切り換えなければならず(例えば、動的なホームエージェントのアドレス探索)、復旧の遅れが生じることになる。復旧において重大な遅れが生じた場合、モバイルネットワークのノードは、現在のデフォルトのルートが落ちている(down)と決定してしまうかもしれない。また、非常に限られた処理能力(例えば、組み込みデバイス)しか持たないモバイルネットワークのノードでは、処理負荷が増大して更なる遅れが生じてしまう。さらに、異なるモバイルルータは、異なるサブネットプリフィックスの通知を行うので、結局、モバイルノードがデフォルトルータを切り換える際に、異なる気付アドレスの使用が必須となってしまう。これにより、モバイルノードは、ホームエージェントへのバインディングアップデートの送信が必要になり、復旧の遅れがさらに増大してしまう。
Perkins, C. E. et. al., "IP Mobility Support", IETF RFC 2002, Oct 1996.
DARPA, "Internet Protocol", IETF RFC 791, Sep 1981.
Johnson, D. B., Perkins, C. E., and Arkko, J., "Mobility Support in IPv6", Internet Draft: draft-ietf-mobileip-ipv6-24.txt, Work In Progress, June 2003.
Deering, S., and Hinden, R., "Internet Protocol Version 6 (IPv6) Specification", IETF RFC 2460, Dec 1998.
Simpson, W., "IP in IP Tunneling", IETF RFC 1853, Oct 1995.
Conta, A., and Deering, S., "Generic Packet Tunneling in IPv6", IETF RFC 2473, Dec 1998.
Ryuji Wakikawa, Vijay Devarapalli and Pascal Thubert, "Inter Home Agents Protocol (HAHA)", Internet Draft: draft-wakikawa-mip6-nemo-haha-00.txt, Oct 2003.
米国特許第6119170号
米国特許公開2002−118686号
しかしながら、上述の各文献(特に、非特許文献7)に記載されている技術によれば、モバイルノード/モバイルルータのホームエージェントは、異なる各リンク上に配置された複数のホームエージェントとの間で、バインディングキャッシュ情報やホームエージェントのリスト情報の同期付け(共有)を行う必要がある。この同期付けを行うためには、ホームエージェント間で相互に情報の交換を行う必要があり、すべてのホームエージェントがあらかじめ相互に情報を持つことは大変であるという問題がある。また、何らかのトリガに応じて、オンデマンドにすべてのホームエージェントに対してアップデートの送信を行うようにした場合でも、送信されるアップデートによるトラフィックの増加によって、逆に輻輳を招くことになるという問題がある。さらに、ホームエージェントの切り換えを行うタイミングがモバイルノード/モバイルルータ側の主導で決定されるため、ネットワークの状態を考慮したホームエージェントの切り換えが行われにくくなるとともに、ネットワーク側に障害が起こった場合には、障害発生後にモバイルノード/モバイルルータ側によってホームエージェントの切り換えが行われることになり、障害発生に係る対応が遅くなってしまうという問題がある。
本発明では、ホームエージェントに対して新たな機能が付加され、また、モバイルルータやモバイルノードにも若干の新たな機能が付加される。ホームエージェントは、転送するデータパケットを常に監視する。そして、別のホームエージェントを送信先とするパケットが検出された場合には、そのパケットの送信元及び送信先に関する情報が記録されるとともに、指定されたホームエージェントに対して、メッセージデータパケットが送られ、現在のホームエージェントの利用可能性が通知される。指定されたホームエージェントのイグレスリンクに障害が生じるか、所定のレベルを超える輻輳が発生した場合には、指定されたホームエージェントは、ホームエージェントとして機能するように選択されたモバイルルータやモバイルノードに対して、メッセージデータパケットを送信する。メッセージデータパケットには、例えば、指定されたホームエージェントのアドレスや、別のホームエージェントのアドレスが含まれ、実際の位置情報が、選択されたモバイルルータやモバイルノードに明らかとなる。メッセージデータパケットを受信すると、選択されたモバイルルータやモバイルノードは、本来のホームエージェント登録エントリを終了して、新たなホームエージェントの登録を行う。
本発明によれば、モバイルノードのホームエージェントの変更が可能となり、モバイルノードとそのホームエージェントとの接続性が常に維持されるようにすることが可能になる。また、ネットワーク側の主導でホームエージェントの切り換えが行われるようになり、ネットワークにおける障害発生などのネットワークの状態を考慮して、ホームエージェントの切り換えを、適切、かつ迅速に行うことが可能となる。また、例えば、DoS(Denial of Service)攻撃などによって、ホームエージェント又はホームエージェントとのリンクに障害が生じた場合でも、モバイルノードが、別のノードにそのホームエージェントを変更することによって、障害が生じたホームエージェントの管理下にあったモバイルノードの通信に係る接続性が維持されるようになる。
<第1の実施の形態>
本発明では、グローバルネットワークを移動するモバイルルータ又はモバイルノードに対して、ホームエージェントとして機能するノードが含まれている。この場合、ホームエージェント自身がモバイルルータの場合もある。本発明では、ホームエージェントが、代理ホームエージェントとしての機能を果たすことが可能な他のノードに関する通知を受けるだけではなく、グローバルネットワークへのルートを受動的に監視することが必要とされる。また、状況に応じて、ホームエージェントは、登録されるモバイルルータ又はモバイルノードを別のインタフェースや代理ホームエージェントに積極的に切り換えることも可能である。
開示される発明の理解を容易とするために、以下の定義が使用される。
「パケット」は、データネットワーク上で伝送可能な、任意のフォーマットのデータの独立した(self-contained)ユニットである。通常、「パケット」は「ヘッダ」部分と「ペイロード」部分の2つの部分により構成される。「ペイロード」部分には、伝送されるデータが含まれており、「ヘッダ」部分には、パケットの伝送を支援するための情報が含まれている。なお、「ヘッダ」部分には、「パケット」の送信者及び受信者のそれぞれを識別するために、送信元アドレス及び送信先アドレスが含まれる必要がある。
「パケットトンネリング」は、別のパケットをカプセルに入れた独立したパケットに関連するものである。「パケットトンネリング」の動作は、パケットの「カプセル化」とも呼ばれる。また、カプセル化されたパケットは、「トンネル化されたパケット」又は「インナパケット」と呼ばれ、「インナパケット」をカプセル化するパケットは「トンネリングパケット」又は「アウタパケット」と呼ばれる。なお、カプセル化されたパケットでは、「インナパケット」全体が、「アウタパケット」のペイロード部分を形成する。
「モバイルノード」は、グローバルデータ通信ネットワークへの接続ポイントを変更するネットワークエレメントである。この「モバイルノード」は、エンドユーザ端末や、グローバルデータ通信ネットワークへの接続ポイントを変更することが可能なゲートウェイ、ルータ、インテリジェントネットワークハブなどの中間的なネットワークエレメントを示すために使用される場合もある。また、「モバイルノード」がエンドユーザ端末の場合には、より明確に「モバイルホスト」と呼ばれ、「モバイルノード」が、ゲートウェイ、ルータ、インテリジェントネットワークハブなどとして機能する中間的なネットワークエレメントの場合には、より明確に「モバイルルータ」と呼ばれる。なお、説明のため、この用語を、「登録されたノード」という用語に置き換えて使用する場合もある。
「登録されたノード(registered node)」は、その登録されたノードのネットワーク上の位置情報を通知して、別のネットワークへの登録を行うネットワークエレメントである。ネットワークエレメント自体は、そのグローバルデータ通信ネットワークへの接続ポイントに対して、静的(static)でも移動可能(mobile)でもよい。なお、説明のため、この用語を、「モバイルノード」という用語に置き換えて使用する場合もある。
「ホームエージェント」は、モバイルノードのホームドメインに存在するネットワークエンティティである。「ホームエージェント」は、モバイルノードがホームネットワークから離れている場合の気付アドレスの登録サービスを行うものであり、モバイルノードのホームアドレスが送信先に設定されているパケットを、モバイルノードの気付アドレスに転送する。
「バインディングアップデート」は、モバイルノードから、そのホームエージェントやコレスポンデントノード(correspondent node)に対して送られるメッセージであり、受信者に対して送信者の現在の気付アドレスの通知を行うメッセージである。これによって、受信者は、モバイルノードのホームアドレスと気付アドレスとの間の関係の「バインディング」を行う。
「バインディングリフレッシュリクエスト」は、ホームエージェントやコレスポンデントノードからモバイルノードに送られるメッセージであり、その受信者に対して、その送信者へのバインディングアップデートメッセージを送るように通知するメッセージである。
なお、以下の記述では、説明のために、特定の数、時間、構造、その他のパラメータなどが、本発明を完全に理解してもらうために詳しく説明されるが、こうした詳細な設定は一例であり、こうした特定の詳細な設定を行わなくても、本発明を実行できることは、当業者にとって自明である。
図1には、本発明の適切な動作を行うためのホームエージェント(1000)に存在する必要な機能に係る要素が図示されている。なお、ルートマネージャ(1006)は分離可能であるが、これに関しては、後述の第2の実施の形態で説明する。上位レイヤプロトコル(1001)は、上位に存在するすべてのプロトコルやアプリケーションレイヤをまとめたものである。IPレイヤもこの上位レイヤプロトコル(1001)に含まれる。例えば、ICMPv6(Internet Control Message Protocol version 6)などの通常のIPv6プロトコルは、パケットフローパス(1061)を通じて、ネットワークインタフェース(1002)にメッセージパケットを直接送出することも可能である。
ネットワークインタフェース(1002)は、イーサネット(登録商標)カードや、ブルートゥースカードのような無線インタフェースカードなど、複数の利用可能なインタフェースカードを表している。ネットワークインタフェース(1002)には、ハードウェアを動作させるために必要なソフトウェアドライバやプロトコルが含まれている。パケットフローパス(1057)は、イーサネット(登録商標)やGPRSなどの下層プロトコルによって処理され、インタフェースマネージャ(1005)に渡されるIPレイヤプロトコルデータパケットによって利用される。また、シグナルフローパス(1058)は、ハードウェアの障害やその他の故障を上位レイヤのアプリケーションに通知するために、インタフェースによって使用される通知信号を表している。このシグナルフローパス(1058)は、電気的な信号やその他の何らかの信号の形式が採用され、インタフェースマネージャ(1005)への通知に使用される。
また、モバイルIPプロトコルなどのような任意のプロトコルスタックは、双方向トンネリングユニット(1003)を利用することが可能である。双方向トンネリングユニット(1003)は、送受信パケット用の双方向トンネリングを実行する。双方向トンネリングユニット(1003)では、適切なネットワークインタフェース(1002)を経由する送信を行うために、上位レイヤプロトコル(1001)からパケットフローパス(1052)への、パケットフローパス(1051)におけるすべての送信パケットがカプセル化される。また、受信した入力パケットの脱カプセル化(カプセル化されたパケットを復元する処理)を行い、脱カプセル化されたパケットが、パケットフローパス(1051)を通じて上位レイヤプロトコル(1001)に渡される。
インタフェースマネージャ(1005)は、2つの主要な機能を有している。第1の機能は、ネットワークインタフェース(1002)で受信されたパケットをスキャンすることである。システムマネージャ(1004)は、インタフェースマネージャ(1005)がチェックを行うための何らかの選定基準を送る。なお、例えば、選定基準には、ネットワークプリフィックス、又は特定のホームエージェントのアドレスなどを含ませることが可能である。
図2には、パケットが取り得るフォーマットが与えられている。条件が妥当な場合には、このパケットが、システムマネージャ(1004)からインタフェースマネージャ(1005)に送られる。妥当な条件に係る例としては、ホストユニットが初めて起動した場合や、管理者が構成を変更した場合などが挙げられる。パケットを受信すると、インタフェースマネージャ(1005)は、“A”フィールドに基づいて、その情報が選定基準のデータベースに加えられるべきであるか、あるいは、削除されるべきであるかに注意し、適切な動作を行う。インタフェースマネージャ(1005)は、複数のネットワークインタフェース(1002)のいずれか1つを通るすべてのパケットのチェックを行う。これらのパケットは、パケットフローパス(1057)を通じて受信される。このチェックの目的は、これらのパケットがシステムマネージャ(1004)によって与えられた選定基準に指定されているホームエージェントへのモバイルIPパケットであるかどうかを決定することである。例えば、システムマネージャ(1004)によって与えられた選定基準のプリフィックスやアドレスと、あて先アドレスフィールドとの比較を行う方法が可能である。また、これがモバイルIPパケットであるかどうかを決定するために、IPv6拡張ヘッダを検査して、モバイルIP拡張ヘッダ、あるいは、モビリティヘッダ(MH:Mobility Header)として知られているヘッダを探索することも可能である。具体例としては、ペイロードプロトフィールド(Payload Proto field)内のIPPROTO_NONEの値を探索する。また、MHタイプフィールド(非特許文献3参照)内の値“5”の探索を行う。これは、パケットが、選択されたホームエージェントへのバインディングアップデートメッセージであることを示すものである。
また、そのイベントをシステムマネージャ(1004)に通知するために、パケットが送られる。図3には、このパケットが取り得るフォーマットが与えられている。このパケットは、インタフェースマネージャ(1005)の選定基準データベース内で発見される選定基準のいずれか1つと一致するあて先アドレスのバインディングアップデートメッセージが受信(intercept)された場合に送信されるものである。なお、受信者(システムマネージャ(1004))の動作は、後述のシステムマネージャ(1004)に関する記述で与えられる。
受信(intercept)されたパケットは、通常のルーティングルールに従って転送されるため、適切なネットワークインタフェース(1002)へのパケットフローパス(1057)を通じて送出される。すべての受信パケットは、通常の処理と同様に、パケットフローパス(1057)を通じて、引き続き伝送が許容されるか、あるいは、パケットフローパス(1055)を通じて、双方向トンネリングユニット(1003)に渡される。
また、インタフェースマネージャ(1005)は、ネットワークインタフェースにおいて生じたあらゆる問題や、これから起こり得る潜在的な問題を、システムマネージャ(1004)に通知するという別の機能を有している。インタフェースマネージャ(1005)は、様々なネットワークインタフェース(1002)における負荷を決定するために、ある種のメトリックを監視するように構成されることが望ましい。これは、例えば、利用状態、利用される帯域幅、インタフェースの障害などである。何らかの可能なアルゴリズムに基づくある閾値に達した場合(例えば、ネットワークカードの80%の利用率)には、パケットフローパス(1056)を通じてシステムマネージャ(1004)にパケットが送られて、その問題の通知が行われる。図4には、このパケットが取り得るフォーマットが与えられている。なお、受信者(システムマネージャ(1004))の動作は、後述のシステムマネージャ(1004)に関する記述で説明する。
ルートマネージャ(1006)は情報を格納するとともに、パケットフローパス(1059)を通じてシステムマネージャ(1004)からリクエストされた関連情報を抽出するためのツール及び機能を保持する必要がある。この情報は、利用可能な代理ホームエージェントと、パケットフローパス(1059)を通じてシステムマネージャ(1004)から供給される関連情報とを詳細に記載するテーブルの形式で格納される。例えば、この情報には、指示されたモバイルノード、代理ホームエージェントのアドレス、代理ホームエージェントのインタフェースのホップカウント距離、代理ホームエージェントのインタフェースの優先度やその他のメトリックが含まれている。
情報抽出の機能やツールは、リクエストを行ったシステムマネージャ(1004)から選定基準が与えられた場合に、上述のシステムマネージャ(1004)に対して関連エントリを供給するように構成されている。例えば、システムマネージャ(1004)は、最も高い優先度やその他のメトリックを有する任意のモバイルノードのための代理ホームエージェントに対してリクエストを行う。
モバイルノードの検出に関連して、インタフェースマネージャ(1005)からパケットフローパス(1056)を通じて図4に記載されているパケットで伝えられる情報を受信した場合には、システムマネージャ(1004)は、検出されたホームエージェントに対して、検出されたモバイルノードの利用可能性(availability)に関する情報を、パケットフローパス(1060)を通じて送信する処理を行う必要がある。図5には、このとき送信されるデータパケットの一例が与えられている。
また、システムマネージャ(1004)は、ホームエージェントとして機能しているインタフェースに関する情報を用いて、ルートマネージャ(1006)をアップデートする必要がある。図6には、アップデートメッセージのフォーマットの一例が与えられている。このアップデートは、起動又は構成変更時に行われる。システムマネージャ(1004)が、他のホームエージェントから、特定のモバイルノードの利用可能性を通知する何らかのパケットを受信した場合には、モバイルノードのホームアドレスが気付アドレスを用いて解析された後に、その情報が、図6のメッセージフォーマットを使用するルートマネージャ(1006)に送られる。
パケットフローパス(1056)を通じてインタフェースマネージャ(1005)から伝搬されるパケット(図4に図示)によって伝えられるインタフェースの障害や過負荷(overload)が検出された場合には、システムマネージャ(1004)は、利用可能な代替経路やインタフェースを探索するために、さらにアップデートを行い、パケットフローパス(1059)を通じてルートマネージャ(1006)に問い合わせを行う必要がある。障害を通知するアップデートパケットとして可能なフォーマットは、図6に図示されるパケットのライフタイムフィールド(1503)の値がゼロに設定されたものであり、これによって、エントリの効力がなくなる。
一方、クエリパケットの一例は図7に図示されている。クエリパケットは、どのホームエージェントが各モバイルノードに対する代理を務めるかを問い合わせるために送られる。そして、代理ホームエージェントのアドレスを有するリプライパケットが、ルートマネージャ(1006)からシステムマネージャ(1004)へのパケットフローパス(1059)を経由して送られることになる。なお、この代理ホームエージェントは、現在のホームエージェントの別のインタフェースであってもよい。また、このリプライパケットのメッセージフォーマットは、図7に図示されているクエリパケットのフォーマットと同様のものが利用可能である。そして、システムマネージャ(1004)は、パケットフローパス(1053)を通じてパケットを送り、影響を受けるモバイルノードに対して、ホームエージェントを変えるように要求する通知を行う。なお、ここで送信されるパケットの一例は、図8に図示されている。
以下、本発明に係る解決方法で使用される様々なメッセージフォーマットの一例について説明する。
システムマネージャ(1004)がパケット選定基準をインタフェースマネージャ(1005)に渡すために使用されるメッセージ用のフォーマットが、図2に図示されている。
タイプ(Type)(1101)は、パケットを特定するために使用される任意の数を示している。また、A(1102)は、後続のエントリが選定基準のリストに付加されるか否か、又は削除されるか否かを示すフラグである。また、プリフィックスレングス(Prefix Length)(1103)は、選定基準として使用されるプリフィックス/アドレス(Prefix/Address)(1104)フィールドにおけるビット数を決定するために使用される。また、プリフィックス/アドレス(1104)は、選定に使用されるプリフィックス又はアドレスである。
また、インタフェースマネージャ(1005)がモバイルノードの検出をシステムマネージャ(1004)に通知するために使用されるメッセージ用のフォーマットが、図3に図示されている。
タイプ(Type)(1201)は、パケットを特定するために使用される任意の数を示している。また、ホームエージェントアドレス(Home Agent Address)(1202)は、検査されたパケットの送信先フィールドから把握される特定のホームエージェントのアドレスを示している。また、モバイルノードの気付アドレス(Mobile Node's Care-of-Address)(1203)は、検査されたパケットの送信元フィールドから把握されるモバイルノードの現在の気付アドレスである。
また、インタフェースマネージャ(1005)がインタフェースの障害をシステムマネージャ(1004)に通知するために使用されるメッセージ用のフォーマットが、図4に図示されている。
タイプ(Type)(1301)は、パケットを特定するために使用される任意の数を示している。また、エラーコード(Error Code)(1302)は、インタフェースで起こっているエラーや障害のタイプを示す。なお、様々な輻輳レベルやハードウェアの障害など、様々な状態を示すために異なる数値が割り当てられる。また、インタフェースアドレス(Interface Address)(1303)は、当該問題に直面しているインタフェースのアドレスである。
また、ホストのホームエージェントの利用可能性を、他のホームエージェントに通知するために使用されるメッセージのフォーマットが、図5に示されている。
タイプ(Type)(1401)は、パケットを特定するために使用される任意の数を示している。また、レングス(Length)(1402)は、パケットの長さである。また、ホップリミットカウント(Hop Limit Count)(1403)はIPv6ヘッダのホップカウントフィールドの初期値である。これは、特定のホームエージェントから現在のホストのホームエージェントがどれくらい離れているかを判断するためのメトリックの一例として使用される。基本的には、移動しているモバイルノードに最も近いホームエージェントが、特定のホームエージェントから最も遠いとみなされる。なお、ここでは、所定の初期値から、受信したIPv6ヘッダ内のホップカウントフィールドの値を減算することによって、ホップカウント距離を取得してもよい。また、ライフタイム(Lifetime)(1404)は、この情報が有効な時間である。また、検出されたモバイルノードの気付アドレス(Detected Mobile Node's Care-of-Address)(1405)は、ホストのホームエージェントが検出したモバイルノードの気付アドレスである。ホームエージェントとして機能することができるインタフェースのアドレスは、IPv6ヘッダの送信元フィールドに与えられている。
また、システムマネージャ(1004)が、利用可能なインタフェースを有するルートマネージャ(1006)又は代理ホームエージェントをアップデートするために使用されるメッセージのフォーマットが、図6に図示されている。
タイプ(Type)(1501)は、パケットを特定するために使用される任意の数字を示している。また、メトリック(Metric)(1502)は、このエントリを使用する望ましさを計算する際に使用される数値である。メトリックの値は、ホームエージェントがどのくらい近くに存在するかに関する関数であり、概して、代理ホームエージェントを選択する際に使用される。また、ライフタイム(Lifetime)(1503)は、期間満了又は削除の後のこのエントリの有効なライフタイムである。ローカルインタフェースは、最大の可能な値(ビットをすべて1に設定)を持つことによって示される場合もある。また、入力パケットのこのフィールドが0に設定されている場合には、ルートマネージャ(1006)内のすべての対応エントリは、満了となり削除される。また、ホームエージェントアドレス(Home Agent Address)(1504)は、ローカルインタフェース又は代理ホームエージェントのアドレスである。また、モバイルノードアドレス(Mobile Node Address)(1505)は、代理ホームエージェントとして機能するモバイルノードのアドレスである。通常、ローカルインタフェースの場合には、このフィールドは空(empty)に設定される。
また、システムマネージャ(1004)からルートマネージャ(1006)への問い合わせ(クエリ)として使用されるメッセージのフォーマットが、図7に図示されている。なお、同一のフォーマットが、ルートマネージャ(1006)からシステムマネージャ(1004)へのリプライメッセージで使用される。
タイプ(Type)(1601)は、パケットを特定するために使用される任意の数を示している。リクエスト及びリプライパケットは、異なる値を有することになる。また、マジック(Magic)(1602)は、リクエスト及びリプライのペアを対応させるために使用されるランダムに選択された数である。送信されるリクエストには、ランダムに生成された値を有しており、リプライパケットには、リクエストと同一の値が保持される。また、ホームエージェント/モバイルノードアドレス(Home Agent/Mobile Node Address)(1603)フィールドには、リクエストメッセージではチェック用のモバイルノードのアドレスが、リプライメッセージでは選択されたホームエージェントのアドレスが与えられる。
また、モバイルノードは、図8に図示されている新しいモビリティオプションを理解する必要がある。
タイプ(Type)(1701)は、オプションを特定するために使用される任意の数を示している。また、レングス(Length)(1702)は、タイプ及びレングスフィールドを除くオプションの長さであり、オクテットで示される。また、代理ホームエージェントアドレス(Alternate Home Agent Address)(1703)は、代理ホームエージェントの128ビットのアドレスである。これは、同一のホームエージェント、又は、別の異なるホームエージェント上の代理インタフェースであってもよい。
この新しいオプションを受信したモバイルノードは、送信元アドレスがバインディングアップデートのリスト内の対応するエントリに含まれていることを、まずチェックしなければならず、対応するエントリがない場合には、オプションは無視されるべきである。また、このオプションを検証して、モバイルノードが、そのバインディングキャッシュエントリを維持することを選択した場合には、このオプションを含むパケットの送信元アドレスに対して、ライフタイムがゼロに設定されたバインディングアップデート(Binding Update:BU)を送信しなければならない。このとき、新しいバインディングアップデートは、代理ホームエージェントアドレスのフィールドで与えられたアドレスに送られるべきである。
このモビリティオプションの送信を可能とする方法の具体的な例としては、ホームエージェントからモバイルノードへのバインディングリフレッシュリクエストを使用することが可能である。仮定として、このオプションは、新たに定義されるIPv6拡張ヘッダとして伝送されることが想定される。このオプションの最も重要な機能は、メッセージの送信元が、登録されているホームエージェントであり、使用可能な新たなホームエージェントであることを、モバイルノードが見極められるようにすることにある。
第1の実施の形態では、ホームエージェントがマルチホームであり、代理ホームエージェントが存在する場合について説明する。図9は、ネットワークの概要図である。ホームエージェント(1802)は、アクセスルータ(1805)に向かうイグレスインタフェース(1810)と、アクセスルータ(1806)に向かうイグレスインタフェース(1811)とを介して、グローバルネットワーク(1807)に接続されており、登録されたノード(1801)に対するホームエージェントとして機能している。
また、代理ホームエージェントが存在している。ホームエージェント(1803)は、グローバルネットワーク(1807)とグローバルネットワーク(1808)との間に存在している。また、同様に、ホームエージェント(1804)が、グローバルネットワーク(1808)とグローバルネットワーク(1809)との間に存在している。
登録されたノード(1801)は、モバイルIPプロトコルスタックを利用する任意のモバイルターミナルを示している。また、この登録されたノード(1801)は、他のモバイルノードが存在可能なモバイルネットワークを提供するモバイルルータも表すものとする。登録されたノード(1801)は、本来はグローバルネットワーク(1807)内を移動するものであり、ホームエージェント(1802)のイグレスインタフェース(1810)が、ホームエージェントインタフェースとして機能している。しかしながら、仮にイグレスインタフェース(1810)が輻輳などによって落ちた(down)場合には、インタフェースマネージャ(1005)からシステムマネージャ(1004)への通知が行われる。システムマネージャ(1004)は、代替経路を取得するために、ルートマネージャ(1006)に対して問い合わせを行う。ルートマネージャ(1006)は、他方のイグレスインタフェース(1811)のアドレスによって返答を行い、システムマネージャ(1004)は、登録されたノード(1801)に対して、ホームエージェントをイグレスインタフェース(1811)に切り換えるように通知するメッセージの送信処理を行う。
登録されたノード(1801)がグローバルネットワーク(1809)に移動すると仮定する。登録されたノード(1801)は、その本来のホームエージェント(イグレスインタフェース(1810))に対して、バインディングアップデート(BU)メッセージを送信する処理を行う。BUがホームエージェント(1802)に向かう途中、そのパケットは代理ホームエージェント(ホームエージェント(1803)とホームエージェント(1804))を通り抜ける。そして、ホームエージェント(1803)及びホームエージェント(1804)の両方がパケットを検出し、それぞれ選択されたインタフェースのアドレスによって、ホームエージェント(1802)をアップデートする処理を行う。イグレスインタフェース(1811)が輻輳状態にある場合には、インタフェースマネージャ(1005)は、システムマネージャ(1004)に対して再度通知を行う。登録されたノード(1801)に関する問い合わせをシステムマネージャ(1004)から受けた際に、ルートマネージャ(1006)は、2つの代理ホームエージェント(ホームエージェント(1803)とホームエージェント(1804))が利用可能であることを把握し、メトリックに基づく選択を行って、ホップ距離がより遠い好適なホームエージェント(したがって、登録されたノード(1801)により近いと思われるホームエージェント)としてホームエージェント(1804)を選定することになる。
そして、システムマネージャ(1004)は、登録されたノードに対して、図8に図示されているモビリティオプションを有するメッセージの送信を行う。モビリティオプションを受信すると、登録されたノード(1801)は、まず、メッセージの検証を行うべきであり、例えば、IPv6パケットの送信元フィールドに、その登録されたホームエージェント(1802)のアドレスが含まれていることを確認する。そして、このアドレスが含まれていれば、メッセージに含まれるインタフェースアドレスを有するホームエージェント(1804)に、ホームエージェントの切り換えを行うべきである。
この状況では、図10に図示されるアルゴリズムが使用されることになる。インタフェースマネージャ(1005)は、インタフェースの障害を検出した後に、システムマネージャ(1004)に対して、アップデートを行って、モバイルノード用の代替経路をルートマネージャ(1006)に対してリクエストするように通知を行う(ステップ1901)。ルートマネージャ(1006)は、まず、利用可能なローカルインタフェース(代替インタフェースとなり得るローカルインタフェース)が存在するか否かのチェックを行う(ステップ1902)。ここで、ローカルの代替経路が存在しない場合(パス1954)には、代理ホームエージェントに関するチェックが行われる(ステップ1906)。
一方、代替インタフェースが見つかった場合(パス1951)には、代替インタフェースのアドレスを有するメッセージ(図8)が送信される。なお、この場合、本来のイグレスインタフェースが落ちている(down)のであれば、双方向トンネリングユニット(1003)によって新たなトンネルのセットアップが必要となる場合もある。そして、ホームエージェントは、代替インタフェースに関するモバイルルータからのBUを待機する(ステップ1903)。なお、このメッセージ(図8)は、タイムアウトの後も任意の回数、再送されてもよい。
ステップ1903でBUを受信しない場合(タイムアウトの場合、又はリトライが最大となった場合)には、ホームエージェントは、新しい代替インタフェースを求める一連の処理を繰り返し行ってもよい(パス1952)。このとき、現在のイグレスインタフェースをリストから削除する(ステップ1904)ことによって、前に試されたインタフェースは、このモバイルルータの検討対象から除外される。
また、ステップ1903でBUが代替インタフェース上で受信された場合(パス1953)には、古いバインディングキャッシュエントリは直ちに効力がなくなり、新しいインタフェースアドレスと関連付けられたモバイルノード用の新たなエントリが加えられることによって、代替インタフェースの使用に移行する(ステップ1905)。
ステップ1906において、ルートマネージャ(1006)がチェックを行って、代理ホームエージェントを発見しなかった場合(パス1955)には、動作は変更なく継続されることとなる(ステップ1907)。なお、本来のインタフェースが落ちている(down)場合には、ホームエージェントは切断状態となる。
しかしながら、ステップ1906において、ルートマネージャ(1006)が代理ホームエージェントの利用可能性に関する情報を有している場合(利用可能な代理ホームエージェントを発見した場合)には(パス1956)、代理ホームエージェントのアドレスを示すメッセージ(図8)が送信される(ステップ1908)。本来のイグレスインタフェースが落ちている(down)と、ルートマネージャ(1006)は、代替ルートを求めて、再度問い合わせを行うことになる。ここでは、例えば、何らかの他の方法を用いて検出された代理ホームエージェントを経由する内部ネットワーク側(イングレス:ingress)ルートを利用することも可能である。そして、新しいトンネルが、双方向トンネリングユニット(1003)によってセットアップされる。ホームエージェント(1000)は、バインディングキャッシュエントリを失効させることが可能なBU以外のパケットをモバイルルータから受信するか否かを確認する待機状態となる(ステップ1909)。
ステップ1909において、依然としてパケットを受信している場合(パス1957)には、ホームエージェントは、利用可能な新しい代理ホームエージェントを求める一連の処理を繰り返し行う。このとき、現在の代理ホームエージェントをリストから削除する(ステップ1911)ことによって、前に試されたホームエージェントは、このモバイルルータの検索対象から除外される。
また、もはやモバイルルータからパケットを受信しない場合(パス1958)には、ライフタイムの値がゼロに達して、バインディングキャッシュエントリが放置され、その効力が自然に満了となる(ステップ1910)。
<第2の実施の形態>
第2の実施の形態では、セントラルルートマネージャ(2001)が存在するホームネットワークに関する場合について説明する。セントラルルートマネージャ(2001)のみが必要とされる場合には、ホームエージェント(2000)に必要な機能コンポーネントは、図11に図示されるように、より簡単な構成となる。そのレイアウトは、ルートマネージャ(1006)のブロック、及び、関連するパケットフローパス(1059)が存在しないことを除いて、図1に示す構成と類似している。また、その代わり、各ホストのホームエージェント内のシステムマネージャ(1004)が、パケットフローパス(1062)を経由して、セントラルルートマネージャ(2001)内のルートマネージャに、すべてのアップデートを送信することになる。なお、セントラルルートマネージャ(2001)は、図1に示す機能コンポーネントを有しており、セントラルルートマネージャ(2001)の位置情報は、クライアントのホームエージェントのそれぞれにおいて、静的に構成された状態とすることが可能である。
図12には、ネットワーク(2005)を通じて、アップデート及びリクエストをセントラルルートマネージャ(2001)に送信するクライアントのホームエージェント(ホームエージェント(2002)、ホームエージェント(2003)、ホームエージェント(2004))において可能な配置構成が図示されている。セントラルルートマネージャ(2001)は、すべてのアップデート情報を収集して、それぞれに対するリプライメッセージを送信する。
第1の実施の形態における説明からの変更箇所は、ホームエージェントのインタフェースとして機能するローカルインタフェースのアップデートが含まれている点である。セントラルルートマネージャ(2001)の場合には、セントラルルートマネージャ(2001)上のローカルインタフェースが、ホームエージェントの機能を有している場合も、また、有していない場合も考えられる。クライアントのホームエージェント用のローカルインタフェースが、何らかのモバイルノードのホームエージェントのインタフェースとして機能しているときのみ、ローカルインタフェースはルートマネージャで更新されるべきである。また、図5に図示されているメッセージのフォーマットの所定の検出モバイルノード気付アドレス(1405)フィールドによって、モバイルノードの気付アドレスではなくホームアドレスが提供されることを示すために、クライアントのホームエージェントがセントラルルートマネージャ(2001)をアップデートする場合には、図5に図示されているメッセージのフォーマットのタイプ(1401)フィールドに、異なる値を入れることも可能である。
このとき、図6及び図7に図示されるメッセージは、IPv6を使用して伝搬されることになる。実施可能な例としては、IPv6パケットのペイロードとして運ばれる。なお、第1の実施の形態で説明されているその他のメッセージは、変更される必要はない。
セントラルルートマネージャ(2001)を有する主要な利点としては、他のホームエージェントにおける格納スペースの節約や処理能力の補完が挙げられる。したがって、他のホームエージェントは、データ格納の点において比較的安いコストで製造できるようになり、また、様々なエントリの検索や処理に必要な処理の負荷が、セントラルルートマネージャ(2001)にオフロードされるようになる。このような集中化のアプローチによれば、あらゆる関連情報を1箇所に集めるという利益が付加的にもたらされ、より効果的、かつ効率的なルート選定用のアルゴリズムの利用が可能となる。
本発明は、モバイルノードのホームエージェントの変更を可能とするものであり、移動端末に係る通信技術(特に、無線通信技術)に係る分野に適用可能である。
複数のインタフェースを有するホームエージェント内に存在する機能ブロックのフレームワークを示す図
システムマネージャが、インタフェースマネージャに対して、パケット選定基準を渡すために使用されるメッセージのフォーマットを示す図
インタフェースマネージャが、システムマネージャに対して、モバイルノードの検出を通知するために使用されるメッセージのフォーマットを示す図
インタフェースマネージャが、システムマネージャに対して、インタフェースの障害を通知するために使用されるメッセージのフォーマットを示す図
他のホームエージェントに対して、ホストのホームエージェントの利用可能性を通知するために使用されるメッセージのフォーマットを示す図
システムマネージャが、ルートマネージャに対して、利用可能なインタフェースを有するルートマネージャや、代理ホームエージェントのアップデートを行うために使用されるメッセージのフォーマットを示す図
システムマネージャからルートマネージャに対するクエリとして使用されるメッセージのフォーマットを示す図
新しいモビリティオプションのフォーマットを示す図
複数のインタフェースを有する複数のホームエージェントが存在するホームネットワーク(マルチホームサイト又はマルチホームホスト)を特徴とするネットワーク図
図9に図示される場合において行われる動作のフロー図
セントラルルートマネージャを利用するクライアントのホームエージェント内に存在する機能ブロックのフレームワークを示す図
セントラルルートマネージャを有するクライアントのホームエージェントを特徴とするネットワーク図