(57)【要約】【課題】パケットのルーティングループ（特に、ＭＲ（モバイルルータ）によって形成されるネスティングループ）を検出できるようにする。【解決手段】ＭＲ１１０の配下に接続したＭＲ１１４は、自身のＨＡ（ホームエージェント）１４０に、現在接続しているルータ（ＭＲ１１０）のアドレスを含むＡＲＯ（アクセスルータオプション）を付加したＢＵ（バインディングアップデート）メッセージを送信する。さらに、ＭＲ１１４の配下にＭＲ１１２が接続しており、ＭＲ１１０はＭＲ１１２に接続した場合に、ＭＲ１１２のアドレスを含むＡＲＯを付加したＢＵメッセージをＨＡ１４０に送信する。このとき、ＭＲ１１２も、ＭＲ１１４のアドレスを含むＡＲＯを付加したＢＵメッセージをＨＡ１４０に送信する。これにより、ＨＡ１４０は、接続１２０、１２２、１２４によって形成されるルーティングループを検出できるようになる。【選択図】図１
2009518876.tif 000002
【特許請求の範囲】
【請求項１】
複数のモバイルルータのそれぞれのアドレス、及び前記複数のモバイルルータのそれぞれが接続している上位モバイルルータのアドレスを取得するアドレス情報取得手段と、
前記アドレス情報取得手段で取得した情報に基づいて、前記複数のモバイルルータ間におけるルーティングループを検出するループ検出手段とを、
有するルーティングループ検出制御装置。
【請求項２】
前記ループ検出手段が、
所定のモバイルルータが接続している上位モバイルルータのアドレスをパラメータに設定するパラメータ設定手段と、
前記パラメータ設定手段で設定された前記パラメータの値と、前記所定のモバイルルータのアドレスとが一致するか否かを検証するアドレス比較手段と、
前記アドレス比較手段の検証において前記パラメータの値と前記所定のモバイルルータのアドレスとが一致しない場合には、前記パラメータに設定されている前記上位モバイルルータが接続している上位モバイルルータのアドレスを前記パラメータに再設定するとともに、前記アドレス比較手段における処理を再度行うように指示する一方、前記アドレス比較手段の検証において前記パラメータの値と前記所定のモバイルルータのアドレスとが一致した場合には、前記ルーティングループが検出されたと判断するルーティングループ検出制御手段とを、
有する請求項１に記載のルーティングループ検出制御装置。
【請求項３】
前記ルーティングループ検出制御装置が前記複数のモバイルルータのうちの少なくとも１つのモバイルルータのホームエージェントに配置されており、
前記上位モバイルルータのアドレスを含むアクセスルータオプションが付加されたバインディングアップデートメッセージを前記複数のモバイルルータのそれぞれから受信するバインディングアップデートメッセージ受信手段と、
前記バインディングアップデートメッセージ受信手段で受信した前記複数のモバイルルータのそれぞれのアドレス、及び前記複数のモバイルルータのそれぞれが接続している前記上位モバイルルータのアドレスを含むバインディング情報を格納するバインディングキャッシュ格納手段とを、
有する請求項１又は２に記載のルーティングループ検出制御装置。
【請求項４】
前記ループ検出手段で検出された前記ルーティングループを解消するために、前記ループ検出手段で検出された前記ルーティングループを形成する前記モバイルルータの一部又はすべての前記バインディング情報を削除するバインディング情報削除手段を有する請求項３に記載のルーティングループ検出制御装置。
【請求項５】
前記ループ検出手段で検出された前記ルーティングループを形成する前記モバイルルータに対して、前記ルーティングループを形成するすべての前記モバイルルータの前記バインディング情報のリストを通知するバインディング情報通知手段を有する請求項３に記載のルーティングループ検出制御装置。
【請求項６】
前記バインディング情報を追加又は更新する際に、前記バインディング情報に通常よりも短いライフタイムを設定して受け入れるとともにバインディングアクノレッジメッセージを返信した後に、前記ループ検出手段が、前記受け入れたバインディング情報に関して前記ルーティングループが発生しているか否かを検証するように制御するループ検出制御手段と、
前記ループ検出手段で前記ルーティングループが検出された場合には、前記短いライフタイムが設定されたバインディング情報に関して次にバインディングアップデートメッセージを受信した際に、前記バインディング情報を拒否する一方、前記ループ検出手段で前記ルーティングループが検出されなかった場合には、前記短いライフタイムが設定されたバインディング情報に関して次にバインディングアップデートメッセージを受信した際に、前記バインディング情報に対して通常のライフタイムを設定して受け入れるようにループ解消制御手段とを、
有する請求項３に記載のルーティングループ検出制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット交換型データ通信ネットワークにおいて、パケットのルーティングループ（特に、モバイルルータによって形成されるネスティングループ）を検出するルーティングループ検出制御装置に関する。
【背景技術】
【０００２】
無線デバイスの台数の増加は更に加速しており、モビリティ技術において、新たな技術分野（class）が現れるであろうことが予想される。その１つが、ノードを含むネットワーク全体が、そのまま接続ポイントを変えるネットワークモビリティ（ＮＥＭＯ：Network Mobility）である。個々のホスト用のモビリティサポートの概念を、ノードを含むネットワーク用のモビリティサポートに拡張した場合、移動を行うネットワークに係る解決策は、モバイルネットワークがインターネットに対してどの接続ポイントで接続している場合でも、プライマリグローバルアドレスでモバイルネットワーク内のノードに到達可能とするメカニズムの提供を目的としている。
【０００３】
ＩＥＴＦ（Internet Engineering Task Force）では、現在、下記の非特許文献１に記載されているようなネットワークモビリティに対する解決策が進展している。ネットワークモビリティ（ＮＥＭＯ）サポートでは、各モバイルネットワークは、永続的なホームドメインを持っている。モバイルネットワークが自身のホームネットワークに接続している場合、モバイルネットワークのモバイルルータ（ＭＲ：Mobile Router）には、ホームアドレス（ＨｏＡ：Home Address）として知られるプライマリグローバルアドレスが割り当てられ、モバイルネットワークには、モバイルネットワークプレフィックスが割り当てられる。一方、モバイルネットワークがホームネットワークから離れている場合、すなわち、他のフォーリンネットワークに接続している場合には、通常、モバイルルータには、気付アドレス（ＣｏＡ：Care-of Address）として知られる一時的なグローバルアドレスが割り当てられる。モビリティサポートの考えは、モバイルルータが他のフォーリンネットワークに接続している場合でも、モバイルネットワークプレフィックスから構成されるアドレスで、そのモバイルネットワーク内のノードまで到達可能となるようにするものである。
【０００４】
このような考えは、ホームエージェント（ＨＡ：Home Agent）として知られるエンティティをホームネットワークに導入することによって実践されている。モバイルルータは、バインディングアップデート（ＢＵ：Binding Update）として知られるメッセージを使用して、ホームエージェントへの気付アドレスの登録を行う。これにより、ホームエージェントは、モバイルルータのホームアドレス及びモバイルネットワークのプレフィックスと、気付アドレスとの間のバインディングを生成することが可能となる。ホームエージェントは、モバイルネットワークのプレフィックスあてのメッセージを受信（intercept）し、パケットのカプセル化（あるパケットを新たなパケットのペイロードとすることであり、パケットトンネリングとしても知られている）を用いて、そのパケットをモバイルルータの気付アドレスに転送する機能を担っている。
【０００５】
ＩＰｖ６トンネリングでは、内部のＩＰｖ６パケット（インナパケット）を、外部のＩＰｖ６パケット（アウタパケット）のペイロードとするカプセル化が行われる。このＩＰｖ６トンネリングは、主に下記の非特許文献２に定義されている。なお、インナパケットは、ペイロードパケットと呼ばれることもあり、アウタパケットは、トンネルパケットと呼ばれることもある。また、モバイルルータとそのホームエージェントとの間で双方向トンネルを用いるという考えは、例えば下記の特許文献１にも記載されている。
【０００６】
双方向トンネリングを用いることによって、ネットワークモビリティサポートは可能となった場合でも、ルーティングループが発生する危険性がある。図１には、ルーティングループ（ネスティングループ）が発生し得るシナリオが図示されている。図１において、モバイルルータ（ＭＲ１１０、ＭＲ１１２、ＭＲ１１４）はインターネット１００を移動しており、これらの各モバイルルータによって、トンネリングループが形成される可能性がある。
【０００７】
ここで、ＭＲ１１０は、接続１２０に示されるようにＭＲ１１２に接続されており、ＭＲ１１２は、接続１２２に示されるようにＭＲ１１４に接続されており、ＭＲ１１４は、接続１２４に示されるようにＭＲ１１０に接続されている。モバイルルータの１つ（例えば、ＭＲ１１０）が、自身のＨＡ１４０にトンネルを行っている場合には、ＭＲ１１０は、ＨＡ１４０へのトンネル用にパケットをカプセル化して、ＭＲ１１０のアクセスルータであるＭＲ１１２にパケットを渡す。
【０００８】
ＭＲ１１２も、自身のホームエージェントに渡すために、パケットを更にカプセル化する。そして、パケットはＭＲ１１４に渡され、ここでも、パケットのカプセル化が行われる。これは永久に続き、各モバイルルータは、パケットに対して、カプセル化のレイヤを１つずつ付加し続ける。この現象は一般的にルーティングループとして知られている。また、このように、複数のモバイルルータのネスティング（入れ子状態）に関連するシナリオにおいては、ネスティングループ（nesting loop）としても知られている。
【０００９】
ルーティングループは、ネットワークリソースを瞬間的に消費してしまうので、極めて望ましくないものである。カプセル化されたパケットには、それぞれ新たなホップリミットフィールド（hop limit field：中継限界数フィールド）が設定されるので、パケットは、モバイルネットワークのルーティングループ上で無限に発送され続けることになる。その結果、ルーティングループを防ぐためにホップリミットを使用する既存のメカニズムは、有効ではなくなる。
【００１０】
さらに、各カプセル化によって、パケットには余分なパケットヘッダが付加され、パケットのサイズが大きくなる。パケットサイズが非常に大きくなることで、パケット分割（fragmentation）が行われる可能性もある。その結果、別のパケット（分割されたパケット）がトンネリングループに導入されてしまうことになる。
【００１１】
一方、ルーティングループに関する問題を解決しようとする従来技術は様々存在している。例えば、下記の特許文献２には、ＩＰヘッダに含まれているホップ数ごとに、パケットの個数を所定の期間カウントするカウンタを設けることによって、ルーティングループが起こっているか否かの推定を試みる、一般的なルーティングループの検出方法が開示されている。
【００１２】
また、ルーティングループそのものを防ごうとしている別の従来の技術も存在する。例えば、下記の特許文献３には、ルーティングループを防ごうとしているモバイルアドホックルーティング方法が記載されている。また、下記の特許文献４には、レイヤ２のトンネリングプロトコル（Ｌ２ＴＰ：Layer 2 Tunneling Protocol）や仮想プライベートネットワーク（ＶＰＮ：Virtual Private Network）に関して、ルーティングループを防ぐために、スパニングツリーアルゴリズム（全域木アルゴリズム）を使用するルーティング方法が開示されている。また、下記の特許文献５では、モバイルルータがモバイルネットワークのスパニングツリートポロジを計算するために、モバイルルータがブロードキャストするルータアドバタイズメントメッセージに特別なオプションを埋め込み、これによってループの回避が行われる技術が記載されている。
【００１３】
また、ネットワークモビリティサポートに関して、下記の非特許文献３には、各モバイルルータが自身のホームエージェントに対して、バインディングアップデートメッセージによって、自身のアクセスルータ（これはモバイルルータの可能性もある）のアドレスを通知するという拡張技術が記載されている。このアクセスルータのアドレスは、アクセスルータオプション（ＡＲＯ：Access Router Option）と呼ばれる特別なオプションとして、バインディングアップデートメッセージ内に挿入される。続いて、自身の親モバイルルータも同一のホームエージェントにバインディングアップデートを送信する。これは、経路の最適化を行えるようにするという考え方に基づいている。この経路最適化では、ホームエージェントは、ネスト状態のモバイルルータに到達するために通過する一連のアドレスを構築することが可能となる。
【非特許文献１】“NEMO Basic Support Protocol”、ＲＦＣ３９６３、２００５年１月
【非特許文献２】“Generic Packet Tunneling in IPv6 Specification”、ＲＦＣ２４７３、１９９８年１２月
【非特許文献３】“Securing Nested Tunnels Optimization with Access Router Option”、Internet Draft: draft-ng-nemo-access-router-option-01.txt、２００４年７月
【特許文献１】米国特許６６３６４９８号公報
【特許文献２】米国特許公開公報２００５／００６３３１１
【特許文献３】米国特許公開公報２００４／０１４６００７
【特許文献４】米国特許６７６５８８１号公報
【特許文献５】米国特許公開公報２００４／００３２８５２
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかしながら、特許文献１に開示されている方法は、１秒あたりに何千個ものパケットの処理を行うルータには適していない。さらに、この方法は、実際のループ検出アルゴリズムというよりも、ルーティングループの兆候を推定する発見的方法である。
【００１５】
また、特許文献２、３に開示されているような方法に関しては、特に、ループ発生の確率がかなり小さい場合に、ループをわざわざ防ぐために費やされる計算コストが割に合わないという問題がある。したがって、トンネリングプロトコルに関しては、完全かつ複雑なループ回避メカニズムは適していない。
【００１６】
さらに、従来の技術で開示されているすべてのループ検出方法では、ループ上のノードによってループの検出や回避が行われる。モバイルネットワークに関しては、このようなノードはモバイルルータに相当するが、通常、モバイルルータは計算能力や電力、メモリのリソースなどに制限がある。これらのノードにループ検出アルゴリズムやループ回避アルゴリズムが実装された場合には、モバイルルータの負荷が増大するとともに、モバイルルータの動作時間が減少してしまうことになる。
【００１７】
上記の課題に鑑み、本発明は、パケットのルーティングループ（特に、モバイルルータによって形成されるネスティングループ）を検出できるようにするためのルーティングループ検出制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１８】
上記の目的を達成するため、本発明のルーティングループ検出制御装置は、複数のモバイルルータのそれぞれのアドレス、及び前記複数のモバイルルータのそれぞれが接続している上位モバイルルータのアドレスを取得するアドレス情報取得手段と、
前記アドレス情報取得手段で取得した情報に基づいて、前記複数のモバイルルータ間におけるルーティングループを検出するループ検出手段とを、
有する。
上記の構成により、パケットのルーティングループ（特に、モバイルルータによって形成されるネスティングループ）を検出できるようになる。
【００１９】
さらに、本発明のルーティングループ検出制御装置は、上記の構成に加えて、
前記ループ検出手段が、
所定のモバイルルータが接続している上位モバイルルータのアドレスをパラメータに設定するパラメータ設定手段と、
前記パラメータ設定手段で設定された前記パラメータの値と、前記所定のモバイルルータのアドレスとが一致するか否かを検証するアドレス比較手段と、
前記アドレス比較手段の検証において前記パラメータの値と前記所定のモバイルルータのアドレスとが一致しない場合には、前記パラメータに設定されている前記上位モバイルルータが接続している上位モバイルルータのアドレスを前記パラメータに再設定するとともに、前記アドレス比較手段における処理を再度行うように指示する一方、前記アドレス比較手段の検証において前記パラメータの値と前記所定のモバイルルータのアドレスとが一致した場合には、前記ルーティングループが検出されたと判断するルーティングループ検出制御手段とを、
有する。
上記の構成により、所定のモバイルルータのアクセスルータとして機能している上位モバイルルータを段階的にたどり、再び、上位モバイルルータとして所定のモバイルルータが現れた場合に、ルーティングループが発生していると判断することが可能となる。
【００２０】
さらに、本発明のルーティングループ検出制御装置は、上記の構成に加えて、前記ルーティングループ検出制御装置が前記複数のモバイルルータのうちの少なくとも１つのモバイルルータのホームエージェントに配置されており、
前記上位モバイルルータのアドレスを含むアクセスルータオプションが付加されたバインディングアップデートメッセージを前記複数のモバイルルータのそれぞれから受信するバインディングアップデートメッセージ受信手段と、
前記バインディングアップデートメッセージ受信手段で受信した前記複数のモバイルルータのそれぞれのアドレス、及び前記複数のモバイルルータのそれぞれが接続している前記上位モバイルルータのアドレスを含むバインディング情報を格納するバインディングキャッシュ格納手段とを、
有する。
上記の構成により、ホームエージェントがパケットのルーティングループを検出できるようになる。
【００２１】
さらに、本発明のルーティングループ検出制御装置は、上記の構成に加えて、前記ループ検出手段で検出された前記ルーティングループを解消するために、前記ループ検出手段で検出された前記ルーティングループを形成する前記モバイルルータの一部又はすべての前記バインディング情報を削除するバインディング情報削除手段を有する。
上記の構成により、ホームエージェントが、バインディング情報を削除することによってルーティングループを切断することが可能となる。
【００２２】
さらに、本発明のルーティングループ検出制御装置は、上記の構成に加えて、前記ループ検出手段で検出された前記ルーティングループを形成する前記モバイルルータに対して、前記ルーティングループを形成するすべての前記モバイルルータの前記バインディング情報のリストを通知するバインディング情報通知手段を有する。
上記の構成により、ホームエージェントが、モバイルルータに対して、ルーティングループの発生及びルーティングループの発生の原因となるバインディング情報の通知を行うことで、モバイルルータがルーティングループの解消を行うことが可能となる。
【００２３】
さらに、本発明のルーティングループ検出制御装置は、上記の構成に加えて、前記バインディング情報を追加又は更新する際に、前記バインディング情報に通常よりも短いライフタイムを設定して受け入れるとともにバインディングアクノレッジメッセージを返信した後に、前記ループ検出手段が、前記受け入れたバインディング情報に関して前記ルーティングループが発生しているか否かを検証するように制御するループ検出制御手段と、
前記ループ検出手段で前記ルーティングループが検出された場合には、前記短いライフタイムが設定されたバインディング情報に関して次にバインディングアップデートメッセージを受信した際に、前記バインディング情報を拒否する一方、前記ループ検出手段で前記ルーティングループが検出されなかった場合には、前記短いライフタイムが設定されたバインディング情報に関して次にバインディングアップデートメッセージを受信した際に、前記バインディング情報に対して通常のライフタイムを設定して受け入れるようにループ解消制御手段とを、
有する。
上記の構成により、ルーティングループの検出処理により発生し得る遅延を抑制することが可能となる。
【発明の効果】
【００２４】
本発明は、上記の構成を有しており、ホームエージェントがパケットのルーティングループ（特に、モバイルルータによって形成されるネスティングループ）を検出できるようになるという効果を有している。
【発明を実施するための最良の形態】
【００２５】
以下、図面を参照しながら、本発明の実施の形態について説明する。なお、以下では、ホームエージェントが、モバイルルータにネスティングループが存在する旨を検出するための方法に関して説明を行う。
【００２６】
図２には、本発明の実施の形態におけるホームエージェントの好適な機能アーキテクチャの一例が図示されている。図２に示すホームエージェントは、１つ又は複数のネットワークインタフェース２１０と、ルーティング部２２０とを有している。なお、図２では、ネットワークインタフェース２１０は、１つのみ図示されている。
【００２７】
各ネットワークインタフェース２１０は、ホームエージェントが、リンクアクセス技術を使用して経路２８５を通じた他のノードとの通信を行うために必要な、すべてのネットワークハードウェア、ソフトウェア、プロトコルを表す機能ブロックである。例えば、ＩＳＯ（International Standards Organization：国際標準化機構）のＯＳＩ（Open System Interconnect）の７レイヤモデルにおいて、ネットワークインタフェース２１０は、物理層及びデータリンク層を包含している。
【００２８】
ネットワークインタフェース２１０がパケットを受信した場合には、更なる処理のために、データ経路２９５を通じてルーティング部２２０にパケットを渡す。同様に、ルーティング部２２０は、パケットの送信を行う際には、データ経路２９５を通じた送信を行うために、対応するネットワークインタフェース２１０にパケットを渡す。
【００２９】
また、ルーティング部２２０は、インターネットワーキングレイヤにおけるルーティングに関するすべての処理を行う。ＯＳＩモデルの下では、ルーティング部２２０は、ネットワーク層のすべての機能を包含している。ルーティング部２２０は、基本的に、ＩＰｖ６やモバイルＩＰｖ６／ＮＥＭＯのホームエージェント機能を実行する。
【００３０】
ルーティング部２２０には、ルーティングテーブル２３０、バインディングキャッシュ２４０、ループ検出モジュール２５０が存在している。
【００３１】
ルーティングテーブル２３０には、ルーティング部２２０が経路を決定するための情報が含まれている。なお、ルーティングテーブル２３０は、エントリのリストとして構成されており、各エントリには、あて先フィールド及び次ホップフィールドが含まれていることが望ましい。あて先フィールドには、完全なあて先アドレス、又はあて先アドレスのプレフィックスが格納されており、次ホップフィールドには、あて先フィールドに格納されている値と一致するあて先アドレスを有するパケットの転送場所が記載されている。
【００３２】
また、ルーティング部２２０は、必要に応じて、双方向トンネルの確立、維持、破棄を行う機能も有している。例えば、ＮＥＭＯベーシックサポートの下では、モバイルルータは、自身のホームエージェントとの間に双方向トンネルを確立する。
【００３３】
なお、当業者であれば、ルーティング部２２０は、トンネルインタフェースとして知られる仮想ネットワークインタフェースを作成することが望ましいことが分かる。このトンネルインタフェースは、ルーティング部２２０にとっては、他のネットワークインタフェース２１０と等価に見える。さらに、ルーティングテーブル２３０において、このトンネルインタフェースが、選択可能な次ホップのインタフェースとして参照できるようにしてもよい。
【００３４】
また、バインディングキャッシュ２４０は、モバイルノード（すなわち、ＭＩＰｖ６モバイルホスト又はＮＥＭＯモバイルルータ）に関して、ホームアドレスと気付アドレスとのバインディングを格納するために使用される。
【００３５】
図３には、バインディングキャッシュ２４０の概念的なデータ構造の一例が図示されている。バインディングキャッシュ２４０は、基本的にエントリのリストであり、各バインディングキャッシュエントリには、特定のバインディングに関する情報が含まれている。各バインディングキャッシュエントリには、例えば、ホームアドレス（ＨｏＡ）フィールド３１０、気付アドレス（ＣｏＡ）フィールド３２０、アクセスルータオプション（ＡＲＯ）フィールド３３０、フラグフィールド３４０が含まれている。
【００３６】
ＨｏＡフィールド３１０は、モバイルノードのホームアドレスを格納するために用いられる。また、ＣｏＡフィールド３２０は、モバイルノードの気付アドレスを格納するために用いられる。また、ＡＲＯフィールド３３０は、モバイルノードのアクセスルータのアドレスを格納するために用いられる。また、フラグフィールド３４０は、バインディングに関する関連情報を格納するために用いられる。
【００３７】
例えば、フラグフィールド３４０の一部を用いて、バインディングアップデートメッセージで受信したフラグ情報を格納することが可能である。本発明では、フラグフィールド３４０の一部に、特定のバインディングキャッシュエントリに関してループが検出されたか否かに係る情報が格納されることが望ましい。
【００３８】
なお、当業者には、図３ではバインディングキャッシュエントリの他のフィールドが省略されていることは明白である。例えば、各バインディングキャッシュエントリには、バインディングが有効であるエントリのライフタイムが格納可能である。また、モバイルルータのバインディングに関しては、モバイルルータが所有しているモバイルネットワークプレフィックスがバインディングキャッシュエントリに含まれてもよい。さらに、単一のホームアドレスに対して複数の気付アドレスの登録をサポートするため、同一のホームアドレスに対して関連付けられている複数の異なるバインディングを特定するための識別子フィールドが、バインディングキャッシュエントリに含まれてもよい。
【００３９】
また、図２のループ検出モジュール２５０は、ネスティングループの存在を検出する機能を有している。なお、後述のように、ループ検出モジュール２５０は、バインディングキャッシュ２４０に格納されている情報を使用して、ホームエージェントに登録されているモバイルルータ間におけるルーティングループ（ネスティング状態にあるモバイルルータに係るネスティングループ）を検出する。上記のホームエージェントへの登録とは、ホームアドレスと１つ以上の気付アドレスとの有効なバインディングをホームエージェントに持たせることである。
【００４０】
なお、当業者であれば、実際には他の機能がいくつか必要かもしれないが、図２に図示されているホームエージェントの機能アーキテクチャには、ホームエージェントを実現するために最低限必要な機能ブロックしか含まれていないことは明白である。例えば、ホームエージェントは、信頼できるモバイルルータだけがホームエージェントに基本的（プライマリ）なバインディングを確立することができるようにするためのセキュリティモジュールを必要とする場合もある。
【００４１】
次に、図４Ａ及び図４Ｂを参照しながら、本発明の好適な実施の形態に係る動作について説明する。
【００４２】
図４Ａには、モバイルルータ（ＭＲ１１０、ＭＲ１１２、ＭＲ１１４）とホームエージェント（ＨＡ１４０）との間のバインディングアップデート処理に係るメッセージシーケンスが図示されている。また、図４Ｂには、このときの図１に示すホームエージェント（ＨＡ１４０）のバインディングキャッシュ２４０の内容の一例が図示されている。
【００４３】
ここで、図１のネットワーク構成を用いて、ホームエージェント（ＨＡ１４０）がモバイルルータ（ＭＲ１１４）のホームエージェントであると仮定する。また、ＭＲ１１０が接続１２０に示されるようにＭＲ１１２に接続され、ＭＲ１１２が接続１２２に示されるようにＭＲ１１４に接続され、ＭＲ１１４が接続１２４に示されるようにＭＲ１１０に接続されて、その結果、ネスティングループが形成されるとする。なお、ＭＲ１１０は複数のネットワークインタフェースを有しており、接続１２０に示されるようにＭＲ１１２に接続するインタフェース以外に、別のインタフェースが、接続１２６に示されるように固定アクセスルータ１３０に接続されている。
【００４４】
また、各ＭＲ１１０、１１２、１１４には、非特許文献３に記載されているように、上位ルータのアドレスを含むアクセスルータオプションが付加されたＢＵメッセージの送信を行う機能が実装されているとする。
【００４５】
図４Ａに図示されているメッセージシーケンスでは、まず、ＭＲ１１４が自身のホームエージェント（ＨＡ１４０）に対してＢＵメッセージ４００を送信する。
【００４６】
なお、当業者であれば、このときには、ＭＲ１１４が自身のホームエージェント（ＨＡ１４０）に対してバインディングアップデートを完了しておらず、ＭＲ１１４は他のモバイルネットワークノードからの接続を受け付けないので、まだ接続１２２が確立されていないことは明白である。また同様に、このとき、ＭＲ１１２が自身のホームエージェントに対してバインディングアップデートを完了しておらず、ＭＲ１１２は他のモバイルネットワークノードからの接続を受け付けないので、まだ接続１２０も確立されていない。したがって、このとき確立されている接続は、接続１２４、１２６のみである。
【００４７】
ＭＲ１１４がＢＵメッセージ４００をＨＡ１４０に送信すると、ＢＵメッセージ４００は、まずＭＲ１１０に到達する。ここで、ＭＲ１１０は、ＨＡ１４０にバインディングを登録していないとする。このとき、ＭＲ１１０は、自身のホームエージェント（不図示）へのトンネル４０１にＢＵメッセージ４００をカプセル化する。このＢＵメッセージ４００は、ＭＲ１１０のホームエージェントでメッセージ４０２にデカプセル化されて転送される。
【００４８】
ＨＡ１４０は、メッセージ４０２を受信すると、処理４０４に示されるように、自身のバインディングキャッシュを更新する。
【００４９】
なお、非特許文献３によれば、ＢＵメッセージには、ＭＲ１１４のホームアドレス（すなわち、ＭＲ１１４．ＨｏＡ）とＭＲ１１４の気付アドレス（すなわち、ＭＲ１１４．ＣｏＡ１２４）とのバインディングと、ＭＲ１１０のホームアドレス（すなわち、ＭＲ１１０．ＨｏＡ）に等しいＡＲＯ値とが記載されている。したがって、この時点で、図４Ｂに図示されているエントリ４８１が、ＨＡ１４０のバインディングキャッシュ２４０に作成される。
【００５０】
ＨＡ１４０からＭＲ１１４に送信されるバインディングアクノレッジ（ＢＡ：Binding Acknowledgement）メッセージ４０５は、逆の経路をたどって、まずＭＲ１１０のホームエージェントに受信（intercept）される。そして、トンネル４０６を通じてＭＲ１１０にトンネルされ、最終的にメッセージ４０７としてＭＲ１１４に転送される。
【００５１】
また、ＢＵメッセージ４００を送信する際に、ＭＲ１１４は、ＭＲ１１０からパケットのあて先に対する直接転送を要求するための特別なルータ警告オプション（ＲＡＯ：Router Alert Option）を含ませることも可能である。これにより、ＭＲ１１０は、自身がＨＡ１４０に登録されているか否かをチェックすることになる。
【００５２】
ここでは、ＭＲ１１０は、ＨＡ１４０への登録を行っておらず、ＨＡ１４０に対してＢＵメッセージ４１０を送信する処理を行うとする。このＢＵメッセージ４１０の送信時には接続１２０はまだ確立されていないので、ＭＲ１１０はＡＲ１３０との現在の接続１２６のみを登録する。したがって、ＢＵメッセージ４１０には、自身のホームアドレス（ＭＲ１１０．ＨｏＡ）と、接続１２６から構成された自身の気付アドレス（すなわち、ＭＲ１１０．ＣｏＡ１２６）のみが含まれる。
【００５３】
ＨＡ１４０は、ＢＵメッセージ４１０を受信すると、処理４１４に示されるように、自身のバインディングキャッシュを更新するとともに、ＢＡメッセージ４１５を返信する。この時点で、図４Ｂに図示されているエントリ４８２が、ＨＡ１４０のバインディングキャッシュ２４０に作成される。
【００５４】
ここまでの処理によって、ＭＲ１１４は、自身のバインディングを完了したので、自身のモバイルネットワークリンク上における接続の受け付けを開始する。なお、このとき、ＭＲ１１４は、例えばＲＡ（Router Advertisement）メッセージ４２０をブロードキャストすることが望ましい。このＲＡメッセージ４２０を受信したＭＲ１１２は、ＭＲ１１４への接続を行い、図１に示す接続１２２の確立処理を行う。
【００５５】
ＭＲ１１２は、処理４２５に示されるように、自身のホームエージェント（不図示）への登録処理（バインディングアップデート処理）を開始する。そして、このバインディングが完了した後、ＭＲ１１２は、自身のモバイルネットワークリンク上における接続の受付を開始することが可能となる。なお、このとき、ＭＲ１１２は、例えばＲＡメッセージ４３０をブロードキャストすることが望ましい。このＲＡメッセージ４３０を受信したＭＲ１１０は、ＭＲ１１２への接続を行い、図１に示す接続１２０の確立処理を行う。
【００５６】
次に、ＭＲ１１０は、以前にＢＵメッセージを送信したノード（自身のホームエージェント及びＨＡ１４０を含む）に対してバインディングアップデートメッセージを送信する。新たなバインディングアップデートによって、接続１２０から構成されるＭＲ１１０の新たな気付アドレス（すなわち、ＭＲ１１０．ＣｏＡ１２０）がこれらのノードに通知される。
【００５７】
ＭＲ１１０からＨＡ１４０に送信されるＢＵメッセージは、図４Ａにメッセージ４４０として図示されている。このメッセージ４４０は、接続１２０を経由して送信されて、ＭＲ１１２に到達する。ＭＲ１１２は、ＨＡ１４０に対してまだＢＵメッセージを送信していないので、ＭＲ１１２自身のホームエージェント（不図示）へのトンネルにＢＵメッセージ４４０をカプセル化する。このトンネルパケット４４１はＭＲ１１４を経由し、ＭＲ１１４で、さらに、ＨＡ１４０へのトンネルパケット４４２にカプセル化される。このトンネルパケット４４２を受信したＭＲ１１０は、ＨＡ１４０へのバインディング登録を行っているので、このパケットをパケット４４３として、単にＨＡ１４０に転送する。なお、２重にカプセル化されているので、ＭＲ１１０は、このパケットが自身から送信されたものであると把握することはできない。
【００５８】
ＨＡ１４０は、パケット４４３をデカプセル化して、ＭＲ１１２のホームエージェントにそのトンネルパケットのインナパケットを送信する。このとき、ＭＲ１１２のホームエージェントは、パケットをデカプセル化して、実際のＢＵメッセージ４４０をＨＡ１４０に転送する。なお、このＭＲ１１２のホームエージェントにいったん送信された後にＨＡ１４０が再びＢＵメッセージを受信する処理は、図４Ａでは処理４４５として簡略化して示されている。
【００５９】
そして、ＨＡ１４０は、処理４５０に示されているように、自身のバインディングキャッシュに、ＢＵメッセージ４４０に記載されているバインディングを含むエントリを追加する。図４Ｂのバインディングキャッシュ２４０に図示されているように、このバインディングキャッシュエントリ４８３には、ＭＲ１１０．ＨｏＡのＨｏＡフィールド、ＭＲ１１０．ＣｏＡ１２０のＣｏＡフィールド、ＭＲ１１２．ＨｏＡのＡＲＯフィールドが含まれることになる。
【００６０】
なお、ＨＡ１４０からＭＲ１１０に送信されるＢＡメッセージ４５５は逆の経路をたどることになるが、図４Ａでは、２重カプセル化に係る詳細な処理については省略し、代わりにＢＡメッセージの矢印を１つのみ表すことによって、図示を簡略化する。
【００６１】
また、ＢＵメッセージ４４０を送信する際に、ＭＲ１１０は、ＭＲ１１２からパケットのあて先に対する直接転送を要求するための特別なルータ警告オプションを含ませることも可能である。これにより、ＭＲ１１２は、自身がＨＡ１４０に登録されているか否かをチェックすることになる。
【００６２】
ここでは、ＭＲ１１２は、ＨＡ１４０への登録を行っておらず、ＨＡ１４０に対してＢＵメッセージ４６０を送信する処理を行うとする。このＢＵメッセージ４６０には、自身のホームアドレス（ＭＲ１１２．ＨｏＡ）と自身の気付アドレス（ＭＲ１１２．ＣｏＡ１２２）とのバインディングと、アクセスルータオプション値（ＭＲ１１４．ＨｏＡ）とが含まれている。
【００６３】
ＢＵメッセージ４６０はＭＲ１１４に到達し、ＭＲ１１４においてトンネルパケット４６１にカプセル化される。そして、ＭＲ１１０において、パケット４６１はパケット４６２として直接ＨＡ１４０に転送される。
【００６４】
なお、このとき既にネスティングループ（接続１２０、接続１２２、接続１２４のループ）が確立されている。したがって、パケット４６２を転送する際に、ＭＲ１１０は、接続１２６ではなく接続１２０を選択する可能性もある。この場合には、パケットは再びＭＲ１１２、ＭＲ１１４のループを通じて、ＭＲ１１０に戻ることになる。また、ＭＲ１１０が、自身の複数のインタフェース間でロードバランスを実施しており、パケットが接続１２０の代わりに接続１２６を通じて発送される確率があると仮定することもできる。図４Ａには、パケット４６２が接続１２６を通じて発送され、ＨＡ１４０に到達する場合が簡略化されて図示されている。
【００６５】
なお、当業者であれば、パケット４６１が繰り返しネスティングループを経由した場合でも、ＭＲ１１０が、最終的に接続１２０ではなく接続１２６を選択し、ＢＵメッセージが最終的にＨＡ１４０に到達すると仮定できることは明白である。
【００６６】
ＢＵメッセージ４６２を受信すると、ＨＡ１４０は、処理４６４に示されるように、自身のバインディングキャッシュにエントリを追加する。図４Ｂに図示されているように、このバインディングキャッシュエントリ４８４には、ＭＲ１１２．ＨｏＡのＨｏＡフィールド、ＭＲ１１２．ＣｏＡ１２２のＣｏＡフィールド、ＭＲ１１４．ＨｏＡのＡＲＯフィールドが含まれることになる。
【００６７】
ループ検知アルゴリズムが存在しない場合には、ＨＡ１４０は、ＢＡメッセージ４６５を送信してバインディングに対する確認処理を行う。このＢＡメッセージは、ＭＲ１１０、ＭＲ１１４を経由してＭＲ１１２に到達する。なお、これは、図４Ａにパケット４６５、４６６、４６７として図示されている。
【００６８】
一方、ＨＡ１４０でループ検知アルゴリズムが実行されている場合には、バインディングキャッシュエントリ４８４が作成される時点で、このアルゴリズムによって、ループの形成が検出されることになる。ループが検出された場合には、ＢＡメッセージ４６５を、バインディングを拒絶するメッセージとしてもよい。
【００６９】
なお、上述のように、新たなＢＵメッセージを受信して、バインディングキャッシュエントリが作成される時点でネスティングループの検出が行われる以外に、例えば、非特許文献３に記載されているように、ＡＲＯが記載されているエントリからルーティングヘッダを作成する場合や、経路最適化のためにエントリを再度参照する場合などに、ループ検出アルゴリズムが作動し、ネスティングループの検出処理が行われてもよい。
【００７０】
また、図５には、ネスティングループを検出するアルゴリズムが図示されている。なお、このアルゴリズムは、ループ検出モジュール２５０で実施されることが望ましい。また、このアルゴリズムは、新たなＢＵメッセージを受信した際に実行されてもよく、あるいはネスティングループの検出を行うためにバインディングキャッシュを定期的に監視するデーモンプロセスとして実行されてもよい。ここで示す例では、新たなＢＵメッセージを受信するたびにアルゴリズムが実行されると仮定する。なお、当業者であれば、図５に示すアルゴリズムを監視用デーモンとして実行する場合に、特別な変更は必要としないか、あるいは、最小限の変更のみでよいことは明白である。
【００７１】
図５において、新たなＢＵメッセージを受信した場合に、まずステップＳ５１０で、一時的な変数（図５ではtmpと表す）の初期化が行われ、ＢＵメッセージに記載されているＡＲＯ値が一時的な変数として格納される。なお、ＢＵメッセージ内にＡＲＯが存在しない場合には、ループは検出されずにアルゴリズムは終了となる。
【００７２】
次に、ステップＳ５２０において、バインディングキャッシュ２４０の検索が行われる。この検索では、このときに一時的な変数として格納されている値に等しいＨｏＡフィールド３１０を有するエントリの検索が行われる。
【００７３】
ステップＳ５３０において、上記のエントリが発見されなかった場合には、ステップＳ５６０に示されるように、ループは検出されずにアルゴリズムは終了となる。一方、ステップＳ５３０で上記のエントリが１つ以上発見された場合には、ステップＳ５４０において、発見された各エントリのチェックが行われ、新たなＢＵメッセージ内のホームアドレスに等しい値がＡＲＯフィールド３３０に含まれているか否かの確認が行われる。
【００７４】
ＡＲＯフィールド３３０に新たなＢＵメッセージ内のホームアドレスに等しい値が含まれている場合には、ステップＳ５７０に示すように、ネスティングループが検出され、アルゴリズムは終了となる。一方、ＡＲＯフィールド３３０に新たなＢＵメッセージ内のホームアドレスに等しい値が含まれていない場合には、発見された各エントリに関して複製処理を行うステップＳ５５０に進む。
【００７５】
ステップＳ５５０では、一時的な変数が更新され、バインディングキャッシュエントリのＡＲＯフィールド３３０の値が一時的な変数として格納される。そして、ステップＳ５２０に戻って、この新たな一時的な変数の値を使用した処理が繰り返し行われる。
【００７６】
ここで、図５に示すアルゴリズムがネスティングループを検出する方法を例示するため、図４Ａに図示されているシナリオにこのアルゴリズムを適用する。なお、ここでは、ＨＡ１４０がＢＵメッセージ４６２を受信した時点における処理４６４が行われ、バインディングキャッシュ２４０は、図４Ｂに図示される内容を有している。
【００７７】
ステップＳ５１０では、ＢＵメッセージ４６０のＡＲＯ値（すなわち、ＭＲ１１４．ＨｏＡ）によって一時的な変数が初期化される。そして、ステップＳ５２０において、バインディングキャッシュ２４０の検索が行われ、この時点で一時的な変数に格納されている値（ＭＲ１１４．ＨｏＡ）に等しいＨｏＡフィールド３１０を有するエントリの検索が行われる。これによって、エントリ４８１が検出される。
【００７８】
そして、ステップＳ５４０において、エントリ４８１のＡＲＯフィールド３３０がチェックされ、新たなＢＵメッセージ内のホームアドレスに等しい値がＡＲＯフィールド３３０に含まれているか否かの確認が行われる。ＡＲＯフィールド３３０にはＭＲ１１０．ＨｏＡが含まれており、新たなＢＵメッセージ内のホームアドレスの値とは異なるので、ステップＳ５５０において、一時的な変数は、ＭＲ１１０．ＨｏＡに置換される。
【００７９】
そして、アルゴリズムはステップＳ５２０に戻り、再びバインディングキャッシュ２４０の検索が行われ、この時点で一時的な変数に格納されている値（ＭＲ１１０．ＨｏＡ）に等しいＨｏＡフィールド３１０を有するエントリの検索が行われる。これによって、エントリ４８２及びとエントリ４８３が検出される。
【００８０】
ステップＳ５４０では、有効なＡＲＯフィールド３３０を持たないエントリ４８２に関しては、評価が行われない。しかしながら、エントリ４８３に関しては、ＡＲＯフィールド３３０に、受信したＢＵメッセージのホームアドレス（すなわち、ＭＲ１１２．ＨｏＡ）と同一の値が含まれていることが発見される。これによって、ループが確実に検出される。
【００８１】
ネスティングループの存在が検出されると、ホームエージェントは、様々な手段を用いて、この問題を調整することが可能である。例えば、１つの方法としては、単に管理者（人間）に通知して、管理者が問題の調整を行えるようにするものが挙げられる。ネスティングループが非常に複雑な方法で形成されているかもしれず、いかなるソフトウェアでも問題を調整することができないこともある。したがって、上述のように、管理者に通知を行うことは、人間が介入して問題の調整を行うことができるという利点がある。
【００８２】
また、ホームエージェントは、ネスティングループの存在を知らせるメッセージを、ネスティングループに該当するモバイルルータに送信することも可能である。なお、このメッセージには、ループ上に存在するモバイルルータのリストが含まれ、バインディングアクノレッジメントメッセージやバインディングエラーメッセージで運ばれることが好適である。モバイルルータは、このリストから自身の接続に係るバインディングを特定して、ループの原因となっている接続を切断することが可能となる。
【００８３】
また、ホームエージェントは、ネスティングループの影響を受けるモバイルルータのバインディングを取り除くとともに、適切な状態値をバインディングアクノレッジメントメッセージ又はバインディングエラーメッセージに記載して、バインディングのエラーがネスティングループの形成によるものであることを示すのが望ましい。これによって、モバイルルータに対して問題の発生を通知し、モバイルルータが、自ら問題を調整することが可能となる。
【００８４】
また、影響を受けるモバイルルータのバインディングを取り除くことによって、これらのモバイルルータが、このバインディングを使用したパケットの送信を行わなくなるという利点がある。その結果、ネットワークリソースを消費するネスティングループにおけるパケット伝送で発生し得る、望ましくない影響を制限することが可能となる。
【００８５】
なお、影響を受けるモバイルルータすべてのバインディングを単に取り除いてしまうことが極端な対処法となる場合もある。したがって、ネスティングループの発生の原因となっているモバイルルータを特定し、このモバイルルータのバインディングのみを取り除くようにしてもよい。
【００８６】
また、上述のループ回避方法以外にも、例えば、ループを形成する複数のモバイルルータのそれぞれのホームエージェント間で、ループを回避するためのネゴシエーションを行うことによって、ループが形成されないようにしてもよい。また、ホームエージェントが、検出されたループを回避する経路を特定して、この経路を明示的に設定することで、パケットがループ内で転送され続けないようにしてもよい。
【００８７】
また、上述の説明では、モバイルルータの上位に存在するモバイルルータ（例えば、ＭＲ１１４から見たＭＲ１１０）が、下位のモバイルルータ（ＭＲ１１４）のホームエージェント（ＨＡ１４０）に対してＢＵメッセージ（図４ＡのＢＵメッセージ４１０）を送信することによって、ＨＡ１４０にバインディングの情報が集約されるが、各モバイルルータが、ＡＲＯが付加されたＢＵメッセージを自身のＨＡに対してのみ送信し、各モバイルルータのＨＡが協同して、ループの検出を行うようにしてもよい。この場合には、ＨＡ間でバインディングの情報の交換などが行われることによって、図４Ｂに図示されているバインディングキャッシュ２４０と同等の情報が作成される。
【００８８】
ここでは、ＭＲ１１０は、ＨＡ１４０への登録を行っておらず、ＨＡ１４０に対してＢＵメッセージ４１０を送信する処理を行うとする。
【００８９】
また、図６には、ネスティングループを切断する（ループが形成されないようにする）ために、ホームエージェントが、取り除くべきバインディングキャッシュエントリを特定する際に使用可能なアルゴリズムの一例が図示されている。ここでは、ホームエージェントが、ネスティングループを切断するために１つ又はいくつかのバインディングのみを取り除く方法について説明する。
【００９０】
最初のステップＳ６１０において、まず、ネスティングループに関連するバインディングキャッシュエントリのリストを取得する。これは、様々な方法で実現可能である。例えば、図５に図示されているアルゴリズムを使用して、リストの抽出を行うことが可能である。なお、図５に示すアルゴリズムは、ループの存在を検出するために使用されるものであり、このアルゴリズムによってループの検出を行う間に、エントリのリストを格納してもよい。
【００９１】
ループ上のエントリのリストを取得した後、ステップＳ６２０において、バインディングキャッシュ２４０が検索され、リスト内の他のエントリと同一のＨｏＡフィールド３１０を有するすべてのエントリの探索が行われる。なお、このようなエントリが発見されない場合には、ステップＳ６５０に進み、最も新しく挿入されたバインディングキャッシュエントリに“ループ（in-loop）”というマークが付与される。
【００９２】
一方、リスト内の他のエントリと同一のＨｏＡエントリを有するエントリが存在する場合には、ステップＳ６４０に進む。このステップＳ６４０では、リスト内の該当エントリに“ループ（in-loop）”というマークが付与される。
【００９３】
この結果、“ループ”というマークが付与されたバインディングキャッシュエントリが除去されて、ループの切断が行われる。なお、当業者であれば、図６のアルゴリズムによって、実質的に、複数のバインディングを有しておりネスティングループに関連しているモバイルルータを特定しようとしていることは明白である。
【００９４】
このようなモバイルルータが発見された場合には、ループに関わっているこのモバイルルータのバインディングを除去することが、ループを切断する好適な方法である。なお、この方法でループを切断した場合でも、すべてのモバイルルータは、モバイルルータ間の接続のうちの少なくとも１つを利用し続けることが可能となる。
【００９５】
また、図４Ｂに関する例を参照した場合、当業者であれば、図６に例示されるアルゴリズムによって、バインディングキャッシュエントリ４８３に、“ループ”というマークが付与されることは明白である。このバインディングキャッシュエントリ４８３は、図１の接続１２０に対応するものである。また、当業者であれば、接続１２０が取り除かれた場合に、ネスティングループがなくなる一方、ＭＲ１１０、ＭＲ１１２、ＭＲ１１４はインターネット１００への経路を維持していることは明白である。
【００９６】
また、図６のアルゴリズムで使用されるものと同様の原理を、モバイルルータに適用することも可能である。このとき、ホームエージェントは、モバイルルータに対して、ループに関連するバインディングのリストを送信することが望ましい。
【００９７】
各モバイルルータは、このリストを調べて、現在の自身の接続のうちのどれがループに関連しているかを特定することが可能である。複数の接続を有しており、少なくとも１つがループに関連していない場合には、モバイルルータは、ループに関連している接続を自発的に除去することが可能である。
【００９８】
なお、当業者であれば、本明細書で説明されるループ検知アルゴリズムやループ切断アルゴリズムが、特に、ホームエージェントが、大量（数千）のエントリを含む大きなバインディングキャッシュ２４０を保持している場合には、かなりの計算負荷を要するかもしれないと危惧するであろう。
【００９９】
したがって、ホームエージェントがアルゴリズムを完了した後でバインディングアクノレッジメントを送信する場合には、バインディングアクノレッジメントの返送に重大な遅延が生じる可能性がある。この理由から、ループ検出アルゴリズム及びループ切断アルゴリズムは、デーモンプロセスとして実行され、バックグラウンドでバインディングキャッシュの監視を行うことが望ましい。
【０１００】
また、ループが検出され、ループ切断アルゴリズムが、ループの切断のために取り除かれるべきバインディングキャッシュエントリを特定すると、これらのエントリに対して“ループ”のマークを付与することが可能となる。なお、“ループ”のマークとして、バインディングキャッシュエントリのフラグフィールド３４０内の１ビットを使用できるようにすることが望ましい。これにより、モバイルルータがバインディングの更新を行おうとした場合に、ホームエージェントは、そのエントリに“ループ”のビットがセットされているか否かをチェックして、セットされている場合にはＢＵ更新メッセージを拒否することが可能となる。
【０１０１】
また、ホームエージェントは、新たなＢＵメッセージを受信した場合にのみループ検出アルゴリズムを始動させ、既存のバインディングを更新するＢＵメッセージの場合にはアルゴリズムを実行しないようにしてもよい。
【０１０２】
また、さらに、ホームエージェントは一時的にすべての新たなバインディングを受け付け、これらのバインディングに短いライフタイムを割り当てるようにしてもよい。これによって、ループ検出アルゴリズム／ループ切断アルゴリズムが、ループの存在をチェックするとともに、迅速にバインディングアクノレッジメントを送信することができるようになる。また、このとき、モバイルルータは、短い時間の後にバインディングの更新を迫られることになる。
【０１０３】
ループが検出されなかった場合には、更新に係る次のＢＵメッセージに対して、通常のライフタイムで受け付けが行われる。一方、ループが検出された場合には、ホームエージェントは、更新に係るＢＵメッセージを拒否することが可能となる。なお、このとき、拒否の理由として、ループが検出された旨がモバイルルータに通知されるようにしてもよい。また、ホームエージェントは、モバイルルータが自らループの切断を行えるような関連情報を、ＢＡメッセージに付加できるようにすることが望ましい。
【０１０４】
また、別の実施例として、ホームネットワーク内に配置されるホームエージェントが複数存在してもよい。なお、当業者であれば、本発明が、各ホームエージェントがそれぞれループ検出アルゴリズムを実行する場合に限定されないことは明白である。また、ループ検出モジュール２５０が、独立した物理エンティティに実装されており、１つ又は複数のホームエージェントにおけるループ検出を実行できるようにしてもよい。
【０１０５】
なお、上述の実施の形態では、パケット転送の際にパケットのカプセル化（パケットトンネリング）が行われる場合について説明を行ったが、カプセル化の代わりに、パケットにルーティングヘッダが付加されて転送が行われる場合もある。本発明は、このようなパケットの転送方法に関係なく、ＭＲ間で生じるルーティングループを検出することが可能である。
【０１０６】
また、ここでは、本発明は、最も実用的かつ好適であると考えられる実施の形態で開示及び説明されているが、当業者であれば、本発明の範囲から逸脱しない程度において、設計事項やパラメータの詳細に関して様々な変更が加えられてもよいことが分かることは明白である。
【０１０７】
例えば、本明細書では、非特許文献３に記載されているメカニズムに基づいて本発明の説明を行っており、特に、アクセスルータオプションの値には、アクセスルータのホームアドレスが記載される。しかしながら、当業者であれば、本明細書で説明されているループ検出アルゴリズムは、アクセルルータのホームアドレスの代わりに気付アドレスがアクセスルータオプションに格納された場合に対しても同様に適用可能であることが明白である。この場合、ループ検出アルゴリズムの比較処理において、ＡＲＯフィールド３３０とホームアドレスとの比較が、ＡＲＯフィールド３３０と気付アドレスとの比較に置き換えられる。
【０１０８】
なお、上記の本発明の実施の形態の説明で用いた各機能ブロックは、典型的には集積回路であるＬＳＩ（Large Scale Integration）として実現される。これらは個別に１チップ化されてもよいし、一部又はすべてを含むように１チップ化されてもよい。なお、ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ（Integrated Circuit）、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０１０９】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０１１０】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。例えば、バイオ技術の適応などが可能性としてあり得る。
【産業上の利用可能性】
【０１１１】
本発明は、パケットのルーティングループ（特に、モバイルルータによって形成されるネスティングループ）を検出できるようになるという効果を有しており、パケット交換型データ通信ネットワークに係る通信分野や、パケットのルーティングループ（特に、ネスティングループ）を検出するための技術分野に適用可能である。
【図面の簡単な説明】
【０１１２】
【図１】従来の技術及び本発明の実施の形態において、ネスティングループの発生が予想される構成例を示す図
【図２】本発明の実施の形態におけるホームエージェントの構成例を示す図
【図３】本発明の実施の形態におけるホームエージェントのバインディングキャッシュの構成例を示す図
【図４Ａ】本発明の実施の形態における動作の一例を示すシーケンスチャート
【図４Ｂ】図４Ａに示すシーケンスチャートの動作によって作成されるホームエージェントのバインディングキャッシュの一例を示す図
【図５】本発明の実施の形態において、ホームエージェントで実行されるネスティングループ検出アルゴリズムの一例を示すフローチャート
【図６】本発明の実施の形態において、ホームエージェントで実行されるネスティングループ切断アルゴリズムの一例を示すフローチャート
【符号の説明】
【０１１３】
１００  インターネット
１０２  モバイルネットワーク
１１０、１１２、１１４  ＭＲ（モバイルルータ）
１３０  ＡＲ（アクセスルータ）
１４０  ＨＡ（ホームエージェント）
２１０  ネットワークインタフェース
２２０  ルーティング部
２３０  ルーティングテーブル
２４０  バインディングキャッシュ
２５０  ループ検出モジュール
【図１】
2009518876.tif 000003
【図２】
2009518876.tif 000004
【図３】
2009518876.tif 000005
【図４Ａ】
2009518876.tif 000006
【図４Ｂ】
2009518876.tif 000007
【図５】
2009518876.tif 000008
【図６】
2009518876.tif 000009
【国際調査報告】
2009518876.tif 000010
2009518876.tif 000011
2009518876.tif 000012