本発明は、移動端末(以下、MN:Mobile Nodeと記載することもある)が、その移動に応じてIP(インターネットプロトコル:Internet Protocol)ネットワークへの接続先を次々と変更する状況においても、移動中の移動端末と、IPネットワーク上のノードとの通信を継続させることを可能とするIPモビリティ技術に関する。
従来知られているIPモビリティ技術の1つとして、下記の非特許文献1に記載されているモバイルIPv6(Mobile Internet Protocol version 6)技術が存在する。モバイルIPv6技術は、MNが、IPネットワークへの接続先であるアクセスルータ(以下、AR:Access Routerと記載することもある)を変更した場合でも、MN宛てのパケットを受け取ることを可能とする技術である。
モバイルIPv6技術は、以下の手順で、MNが、MNに割り当てられたホームアドレス(以下、HoA:Home Addressと記載することもある)宛てのIPパケットを、IPネットワークとの新たな接続先で受け取ることを可能とする。
MNは接続するARを変更し、新たなIPアドレス(以下、CoA:Care−of Address又は気付アドレスと記載することもある)を取得すると、IPネットワークと接続されたホームネットワーク上のホームエージェント(以下、HA:Home Agentと記載することもある)にCoAを通知する。MNの通信相手(通信相手装置)であるコレスポンデントノード(以下、CN:Correspondent Nodeと記載することもある)からHoA宛てに送信されたIPパケットは、IPネットワークを経由してホームネットワークに届けられるが、HAには、MNがCoAを取得していることが通知されているため、このIPパケットをCoA宛てにパケットトンネリング(Packet Tunneling、下記の非特許文献2を参照)し、HoAを記載したルーティングヘッダ(Routing Header、下記の非特許文献3を参照)を付加して送信する。CoA宛てに送信されたこのIPパケットは、IPネットワークを経由してMNに届き、MNは、IPパケットに付加されたルーティングヘッダを処理することによって、このIPパケットが自分宛て(HoA宛て)であることを認識する。
また、モバイルIPv6技術は、以下の手順で、MNが、IPネットワークとの新たな接続先からCN宛てにIPパケットを送信することも可能とする。
MNは、CN宛てにIPパケットを送信する際、IPパケットの始点としてHoAを設定することができない。これは、セキュリティ上の問題(下記の非特許文献4を参照)に基づいて、IPネットワーク上のルータが、ネットワークトポロジ的に矛盾のあるアドレスからのIPパケットを転送せずに破棄してしまうからである。このため、MNはCN宛てのIPパケットをHA宛てにパケットトンネリングし、HoAを記載したホームアドレスオプション(Home Address Option)を付加して送信する。MNからHA宛てに送信されたこのIPパケットは、IPネットワークを経由してHAに届けられる。HAは,IPパケットに付加されたホームアドレスオプションを処理することにより、このIPパケットがMNからのパケットであることを認識し、パケットデトンネリング(Packet Detunneling、非特許文献3を参照)した後、ホームネットワーク上に送出する。HAからCN宛てに送信されたこのIPパケットは、IPネットワークを経由してCNに届けられる。
また、モバイルIPv6技術は、以下の手順で、MNが、IPネットワークとの新たな接続先からHAを経由せずに、CNからのIPパケットを受け取ることを可能とする。なお、この機能はルート最適化と呼ばれている。また、HAを経由したIPパケットの送信に係る上述の手法は、CNがルート最適化機能に対応していない場合も可能であるが、以下に説明するHAを経由しないIPパケットの送信に係る手法は、CNがルート最適化機能に対応している場合のみ可能となる。
MNは、接続するARを変更しCoAを取得すると、HAにCoAを通知すると同時に、CNに対してもCoAを通知する。CNがルート最適化に対応している場合には、この通知に対して応答メッセージを返す。以下は、CNがルート最適化に対応しているものとして説明する。CNはMN宛てのIPパケットを送信する際、送信パケットにHoAを記載したルーティングヘッダを付加し、CoA宛てにIPパケットを送信する。CNからCoA宛てに送信されたこのIPパケットは、IPネットワークを経由してMNに届けられる。MNは、IPパケットに付加されたルーティングヘッダを処理することにより、このIPパケットが自分宛て(HoA宛て)であることを認識する。
また、モバイルIPv6技術は、以下の手順で、MNがIPネットワークとの新たな接続先からHAを経由せずにルート最適化に対応したCN宛てのパケットを送信することも可能とする。
上述の通り、MNは、CN宛てにIPパケットを送信する際、IPパケットの始点としてHoAを設定することができない。このため、MNは、始点アドレスとしてCoAを設定し、HoAを記載したホームアドレスオプションを付加して送信する。MNからCN宛てに送信されたこのIPパケットは、IPネットワークを経由してCNに届けられる。ルート最適化に対応したCNは、IPパケットに付加されたホームアドレスオプションを処理することにより、このIPパケットがMNからのパケットであることを認識する。
一方、モバイルIPv6技術の問題の1つとして、MNの状態が、あるCoA(ここでは、古いCoAと呼ぶことにする)を取得した状態で、あるAR(ここでは古いARと呼ぶことにする)と接続した状態から、古いARとの接続を切断して新たな別のARに接続して新たなCoAを取得した状態に変更される場合、新たなCoAをHAやCNに通知するまでの間、HAやCNから古いARとの切断前に古いCoA宛てに転送又は送信されたIPパケットが、新たな別のARに接続した状態のMNに届かない場合があるという問題が存在している。
この問題を解決する手法の1つとして、下記の非特許文献5に記載されているファストハンドオーバ(Fast Handover)技術が存在する。ファストハンドオーバ技術では、新たなCoAをHAやCNに通知するまでの間、古いAR(PAR:Previous Access Router)から新しい接続先のAR(NAR:New Access Router)にパケットトンネリングを行うことにより、古いCoAに届いたパケットがNARに転送される。これにより、MNは、古いCoAに届いたパケットをNARから受け取ることが可能となる。
また、複数のノードに対してIPパケットを送信するマルチキャスト技術を発展させたものとして、Xcast(eXplicit multicast、下記の非特許文献6を参照)と呼ばれる技術が存在する。このXcast技術は、IPパケットに複数の終点アドレスを設定し、このIPパケットを受信した最初の受信ノードが他の未受信のノードに対してIPパケットを転送し、順次転送を繰り返すことで複数の終点アドレスのすべてにIPパケットを行き渡らせたり、このIPパケットの転送を行うルータが、複数の終点アドレスの解析を行って、複数の終点アドレスに係る次ホップ(次の転送先)が異なる場合にIPパケットの配送を分岐させたりすることによって、複数の終点アドレスのすべてに対して、IPパケットのマルチキャストを可能とするものである。また、特定の機能を有するルータのみが解釈可能なホップバイホップオプションを利用することによって、Xcast技術と既存のネットワーク構成との融合も検討されている。さらには、このXcast技術を利用して、MNがハンドオーバ前後に接続する両方の基地局を通じて、IPパケットのマルチキャストを行うことによって、ハンドオーバ時におけるスムーズな接続切り換えの実現を図る技術も存在する(下記の非特許文献7を参照)。
D.Johnson,C.Perkins,J.Arkko,″Mobility Support in IPv6″,draft−ietf−mobileip−ipv6−24,December 29 2003,Work In Progress,<http://www.ietf.org/internet−drafts/draft−ietf−mobileip−ipv6−24.txt>. Conta,A.and S.Deering,″Generic Packet Tunneling in IPv6 Specification″,RFC2473,December 1998,<http://www.ietf.org/rfc/rfc2473.txt>. Deering,S.and R.Hinden,″Internet Protocol,Version 6(IPv6)Specification″,RFC 2460,December 1998,<http://www.ietf.org/rfc/rfc2460.txt>. Ferguson,P.and D.Senie,″Network Ingress Filtering:Defeating Denial of Service Attacks which employ IP Source Address Spoofing″,RFC 2267,January 1998,<http://www.ietf.org/rfc/rfc2267.txt>. K.Rajeev,″Fast Handovers for Mobile IPv6″,draft−ietf−mipshop−fast−mipv6−01,January 30 2004,Work In Progress,<http://www.ietf.org/internet−drafts/draft−ietf−mipshop−fast−mipv6−01.txt>. R.Boivie,N.Feldman,Y.Imai,W.Livens,D.Ooms,O.Paridaens,″Expilicit Multicast(Xcast)Basic Specification″,draft−ooms−xcast−basic−spec−05,August 2003,Work In Progress. Y.Ezaki,Y.Imai,″Mobile IPv6 handoff by Explicit Multicast″,draft−ezaki−handoff−xcast−01,May 2001,Work In Progress.
しかしながら、上述した従来のIPモビリティ技術には、下記に挙げる課題が存在している。
(A)IPパケットの送信者(Sender)、及び、送信者と受信者(Receiver)との間に存在するGW(Gateway:ゲートウェイ)のいずれか一方において、受信者が用いていることが予想されるIPアドレス、及び受信者が接続していることが予想されるARのIPアドレスのいずれか一方のIPアドレスしか設定することができず、その結果、送信者が設定したIPアドレスを現時点において受信者が用いていないか、あるいは送信者が設定したARに受信者が接続していない場合には、そのIPパケットは廃棄されてしまうという課題が生じる。
(B)特に、受信者が高速で移動する場合には、受信者が送信者に対して、移動に係る情報を通知するのが遅れてしまい、上記(A)の課題が顕著に現れてしまうという課題がある。
(C)非特許文献5に記載されているファストハンドオーバ技術においては、AR間のパケットトンネリング技術を用いており、受信者が高速で移動し、多くのARをまたがって移動する場合には、スケーラビリティの問題が発生するという課題がある。
(D)非特許文献6に記載されているXcast技術においては、IPパケットに記載されたすべての終点アドレスを順次巡る必要があるため、最終のノードに到達するまでに時間がかかるという課題、途中のノードが障害発生や移動によりパケット到達不能になると、以降のノードにはパケットが配信されないという課題、IPパケットに設定される複数の終点アドレスのすべてに対して、IPパケットの配送が行われるため、設定された複数の終点アドレスの数だけのIPパケットの分岐が生じてしまい、トラフィックが増大するおそれがあるという課題がある。この課題は、特に、IPパケットに設定された複数の終点アドレスの数が増大すればするほど顕著に現れることになる。さらに、非特許文献7に記載されているXcast技術を用いたハンドオーバ時のスムーズな通信の実現に関しては、MNが受信するIPパケットが、ハンドオーバ前後で重複したり失われてしまったりする可能性があり、必ずしも効率的な通信を実現できるわけではないという課題がある。
上記課題に鑑み、本発明は、効率の良い通信を実現することを考慮しながら、MNが複数のARのいずれかに接続しているが、これらの複数のARのうちのどのARと接続しているかが明確ではない状況(すなわち、MNが、複数のARのうちのいずれか1つと接続している可能性があることは分かるものの、どのARと接続しているかは確実には把握できない状況)において、MN宛てのパケットを、MNに対して確実に配信できるようにすることを目的とする。
上記目的を達成するため、本発明に係るパケット転送方法は、それぞれの配下に所定の通信エリアを形成する複数のアクセスルータと、前記複数のアクセスルータのうちの少なくとも1つに接続して、接続した前記アクセスルータを介して任意の通信装置とパケット通信を行うことが可能な移動端末と、前記任意の通信装置であって前記移動端末とのパケット通信を行う通信相手装置とにより構成される通信ネットワークシステムにおけるパケット転送方法であって、
前記通信相手装置が前記移動端末に対して送信するオリジナルパケットが前記移動端末が接続している可能性のある複数のアクセスルータのいずれか1つに到達する前に、前記オリジナルパケットに係る処理を行うことが可能な通信装置が、前記移動端末が接続している可能性のある複数のアクセスルータの識別情報、及び、前記移動端末が接続している可能性のある複数のアクセスルータのそれぞれに接続する際に用いられる前記移動端末の識別情報の少なくとも一方を移動端末接続候補情報として、前記オリジナルパケットに付加する接続候補情報設定ステップと、
前記移動端末が接続している可能性のある複数のアクセスルータのいずれか1つが、前記オリジナルパケットに対して前記移動端末接続候補情報が付加されたパケットを受信した場合、自身の配下に前記移動端末が現在接続されているか否かを確認する接続確認ステップと、
前記接続確認ステップで前記移動端末が現在接続されていることが確認された場合には、前記アクセスルータが、前記パケット又は前記パケットから前記移動端末接続候補情報を取り除いた前記オリジナルパケットを、前記移動端末に対して送信するパケット送信ステップと、
前記接続確認ステップで前記移動端末が現在接続されていることが確認されなかった場合には、前記アクセスルータが、前記移動端末接続候補情報に記載されている他のアクセスルータに対して、前記パケットを転送するパケット転送ステップとを有している。
この構成により、効率の良い通信を実現することを考慮しながら、MN(移動端末)が複数のAR(アクセスルータ)のいずれかに接続しているが、これらの複数のARのうちのどのARと接続しているかが明確ではない状況において、MN宛てのパケットを、MNに対して確実に配信できるようにすることが可能となる。
さらに、上記構成に加えて、本発明のパケット転送方法では、前記接続候補情報設定ステップにおいて、前記移動端末が接続している可能性のある複数のアクセスルータの順列が把握可能となるように前記移動端末接続候補情報を設定し、前記パケット転送ステップにおいて、前記アクセスルータが、自身の次の順列に位置する他のアクセスルータに対して前記パケットを転送する。
この構成により、ARが、パケットの次のホップ先を明確に把握することができるようになるとともに、MNが接続している可能性の高いARから順にパケットの転送を行えるようになる。
さらに、上記構成に加えて、本発明のパケット転送方法では、前記オリジナルパケットに前記移動端末接続候補情報を付加する通信装置が、前記通信相手装置、及び、前記移動端末が接続している可能性のある複数のアクセスルータを含むネットワークと前記通信相手装置の存在するネットワークとをつなぐゲートウェイの少なくとも一方である。
この構成により、CN又はGWが、オリジナルパケットに移動端末接続候補情報を付加することが可能となる。
さらに、上記構成に加えて、本発明のパケット転送方法では、前記オリジナルパケットに前記移動端末接続候補情報を付加する通信装置が、前記オリジナルパケットのオプションヘッダ内に前記移動端末接続候補情報を設定する。
この構成により、オプションヘッダを理解できない通信装置では、このオプションヘッダは無視されるので、オプションヘッダを理解できない通信装置も、オプションヘッダ内に移動端末接続候補情報が設定されたパケットの中継を行うことが可能となり、本発明に係る通信ネットワークシステムを既存の通信ネットワークシステム内に容易に組み込むことが可能となる。
さらに、上記構成に加えて、本発明のパケット転送方法では、前記オリジナルパケットに前記移動端末接続候補情報を付加する通信装置が、前記オリジナルパケットのトンネリング化を行うとともに、前記トンネリング化されたパケットのオプションヘッダ内に前記移動端末接続候補情報を設定する。
この構成により、オプションヘッダを理解できない通信装置では、このオプションヘッダは無視されるので、オプションヘッダを理解できない通信装置も、オプションヘッダ内に移動端末接続候補情報が設定されたパケットの中継を行うことが可能となり、本発明に係る通信ネットワークシステムを既存の通信ネットワークシステム内に容易に組み込むことが可能となる。また、オリジナルパケットのトンネリング化により、オリジナルパケットの完全性が保持される。
さらに、上記構成に加えて、本発明のパケット転送方法では、前記移動端末が現在接続している前記アクセスルータの位置情報と、前記複数のアクセスルータの配置位置情報とに基づいて、前記移動端末がその後接続する可能性のある複数のアクセスルータが任意のタイミングで推測され、その推測結果から前記移動端末接続候補情報が生成される。
この構成により、MNが現在接続しているARに係る情報から、MNが今後接続する可能性のあるAR候補の絞り込みを行うことが可能となる。
さらに、上記構成に加えて、本発明のパケット転送方法では、前記移動端末の移動方向が把握可能な場合には、前記移動端末との接続状態が切断された前記アクセスルータに係る前記移動端末接続候補情報内の情報が削除される。
この構成により、移動端末接続候補情報内の情報量を制限するとともに、MNが今後接続する可能性のあるAR候補の絞り込みを行うことが可能となる。
また、上記目的を達成するため、本発明に係るパケット処理方法は、それぞれの配下に所定の通信エリアを形成する複数のアクセスルータと、前記複数のアクセスルータのうちの少なくとも1つに接続して、接続した前記アクセスルータを介して通信相手装置とパケット通信を行うことが可能な移動端末とにより構成される通信ネットワークシステム内の前記アクセスルータにおけるパケット処理方法であって、
前記通信相手装置が前記移動端末に対して送信するオリジナルパケットが前記移動端末が接続している可能性のある複数のアクセスルータのいずれか1つに到達する前に、前記オリジナルパケットに係る処理を行うことが可能な通信装置によって、前記移動端末が接続している可能性のある複数のアクセスルータの識別情報、及び、前記移動端末が接続している可能性のある複数のアクセスルータのそれぞれに接続する際に用いられる前記移動端末の識別情報の少なくとも一方を移動端末接続候補情報として、前記オリジナルパケットに付加されたパケットを受信するパケット受信ステップと、
前記オリジナルパケットに対して前記移動端末接続候補情報が付加されたパケットを受信した場合、自身の配下に前記移動端末が現在接続されているか否かを確認する接続確認ステップと、
前記接続確認ステップで前記移動端末が現在接続されていることが確認された場合には、前記アクセスルータが、前記パケット又は前記パケットから前記移動端末接続候補情報を取り除いた前記オリジナルパケットを、前記移動端末に対して送信するパケット送信ステップと、
前記接続確認ステップで前記移動端末が現在接続されていることが確認されなかった場合には、前記アクセスルータが、前記移動端末接続候補情報に記載されている他のアクセスルータに対して、前記パケットを転送するパケット転送ステップとを有している。
この構成により、効率の良い通信を実現することを考慮しながら、MNが複数のARのいずれかに接続しているが、これらの複数のARのうちのどのARと接続しているかが明確ではない状況において、MN宛てのパケットを、MNに対して確実に配信できるようにすることが可能となる。
また、上記目的を達成するため、本発明に係るパケット転送方法は、それぞれの配下に所定の通信エリアを形成する複数のアクセスルータと、前記複数のアクセスルータのうちの少なくとも1つに接続して、接続した前記アクセスルータを介して任意の通信装置とパケット通信を行うことが可能な移動端末と、前記任意の通信装置であって前記移動端末とのパケット通信を行う通信相手装置とにより構成される通信ネットワークシステム内の前記通信相手装置におけるパケット処理方法であって、
前記移動端末が接続している可能性のある複数のアクセスルータの識別情報、及び、前記移動端末が接続している可能性のある複数のアクセスルータのそれぞれに接続する際に用いられる前記移動端末の識別情報の少なくとも一方を移動端末接続候補情報として、前記通信相手装置が前記移動端末に対して送信するオリジナルパケットに付加する接続候補情報設定ステップと、
前記オリジナルパケットに対して前記移動端末接続候補情報が付加されたパケットを送信するパケット送信ステップとを有している。
この構成により、効率の良い通信を実現することを考慮しながら、MNが複数のARのいずれかに接続しているが、これらの複数のARのうちのどのARと接続しているかが明確ではない状況において、MN宛てのパケットを、MNに対して確実に配信できるようにすることが可能となる。
また、上記目的を達成するため、本発明に係るパケット転送方法は、それぞれの配下に所定の通信エリアを形成する複数のアクセスルータと、前記複数のアクセスルータのうちの少なくとも1つに接続して、接続した前記アクセスルータを介して任意の通信装置とパケット通信を行うことが可能な移動端末と、前記任意の通信装置であって前記移動端末とのパケット通信を行う通信相手装置と、前記複数のアクセスルータを含むネットワークと前記通信相手装置の存在するネットワークとをつなぐゲートウェイにより構成される通信ネットワークシステム内の前記ゲートウェイにおけるパケット処理方法であって、
前記通信相手装置が前記移動端末に対して送信したオリジナルパケットを受信するパケット受信ステップと、
前記移動端末が接続している可能性のある複数のアクセスルータの識別情報、及び、前記移動端末が接続している可能性のある複数のアクセスルータのそれぞれに接続する際に用いられる前記移動端末の識別情報の少なくとも一方を移動端末接続候補情報として、前記オリジナルパケットに付加する接続候補情報設定ステップと、
前記オリジナルパケットに対して前記移動端末接続候補情報が付加されたパケットを送信するパケット送信ステップとを有している。
この構成により、効率の良い通信を実現することを考慮しながら、MNが複数のARのいずれかに接続しているが、これらの複数のARのうちのどのARと接続しているかが明確ではない状況において、MN宛てのパケットを、MNに対して確実に配信できるようにすることが可能となる。
本発明は、上記構成を有しており、MNが移動している状況においても、MN宛てのパケットを、MNに対して確実に配信できるようにすることが可能となる。
本発明の第1〜第4の実施の形態に共通する通信システムの構成を示す図
本発明の第1の実施の形態において伝送されるパケットの一例を模式的に示す図
本発明の第1の実施の形態におけるMNの構成を示す図
本発明の第1の実施の形態におけるARの構成を示す図
本発明の第1の実施の形態におけるGWの構成を示す図
本発明の第1の実施の形態における通信システム全体に係る動作を示すシーケンスチャート
本発明の第1の実施の形態におけるGWの処理の詳細を示すフローチャート
本発明の第1の実施の形態におけるARの処理の詳細を示すフローチャート
通常のIPv6におけるパケットフォーマットの一例を示す図
通常のモバイルIPv6におけるパケットフォーマットの一例を示す図
本発明の第1の実施の形態におけるGW400からAR1300−1に対して送信されるIPパケットのパケットフォーマットの一例を示す図
本発明の第1の実施の形態におけるAR1300−1からAR2300−2に対して送信されるIPパケットのパケットフォーマットの一例を示す図
本発明の第1の実施の形態において伝送されるパケットの別の一例を模式的に示す図
本発明の第1の実施の形態におけるGW400からAR1300−1に対して送信されるIPパケットのパケットフォーマットの別の一例を示す図
本発明の第2の実施の形態において伝送されるパケットの一例を模式的に示す図
本発明の第2の実施の形態において伝送されるパケットの別の一例を模式的に示す図
本発明の第3の実施の形態において伝送されるパケットの一例を模式的に示す図
本発明の第3の実施の形態におけるCNの構成を示す図
本発明の第3の実施の形態において伝送されるパケットの別の一例を模式的に示す図
本発明の第4の実施の形態において伝送されるパケットの一例を模式的に示す図
本発明の第4の実施の形態において伝送されるパケットの別の一例を模式的に示す図
以下、図面を参照しながら、本発明の第1〜第4の実施の形態について説明する。まず、本発明の概念について説明する。本発明は、MNが複数のARのいずれか1つに接続しているが、これらの複数のARのうちのどのARと接続しているかが明確ではない状況(すなわち、MNが、複数のARのうちのいずれか1つと接続している可能性があることは分かるものの、どのARと接続しているかは確実には把握できない状況)において、MNが接続している可能性がある複数のARのいずれか1つに対してMN宛てのパケットを配送し、このパケットを受けたARが、その配下にMNが存在しているか否かを判断して、MNが配下に存在する場合には、MNにパケットを渡す一方、MNが配下に存在しない場合には、MNが接続している可能性がある別のARにパケットを転送し、結果的に、MNが接続している可能性がある複数のARによって順次、MNにパケットを渡すことができるか否かの判断が行われるようにするものである。
なお、上述のようなMNの接続先が明確ではない状況としては、例えば、MNが、異なるAR間におけるハンドオーバを行って接続先のARの切り換えを行うことによって、MNへのパケットの送信者又は中継者にとって、MNが現在どのARに接続しているかが明確ではない状況が挙げられる。以下では、特に、所定の軌道(道路や線路)上を移動する車両や列車などの移動体にMNが存在しているとともに、この所定の軌道に沿って複数のARが配設されており、MNがARへの接続を切り換えながら所定の軌道上を移動する場合を一例として説明する。また、このような構成(例えば、図1に示す構成)では、通常、各ARの配下に存在するAP(アクセスポイント)によって形成される通信セルが、所定の軌道全体を覆うように配置されているが、特に必要がない限り、APに係る動作に関しては説明を省略する。
まず、以下に、本発明の第1〜第4の実施の形態に共通する通信システムの構成について説明する。図1は、本発明の第1〜第4の実施の形態に共通する通信システムの構成を示す図である。図1に示す通信システム100は、MN(モバイルノード)200、複数のAR(アクセスルータ)300−1〜AR300−N、GW(ゲートウェイ)400、CN(コレスポンデントノード)500、GW400とCN500とをつなぐネットワーク600により構成されている。なお、通信システム100には、複数(N個)のAR300−1〜300−Nが所定の軌道(不図示)に沿って配設されており、図1には、AR1300−1、AR2300−2、ARα300−α、ARN300−Nが図示されている。また、本明細書では、特定のARについて言及する場合には、AR1300−1のように下付き文字を使用して記載するが、特にARを特定する必要がない場合には、単にAR300と記載する。また、図1に示されているネットワークの形態は一例であり、他のネットワークの形態を有するシステムに本発明を適用することも可能である。
図1に示す通信システム100では、GW400を挟んで相互に接続された一方のネットワーク600には、CN500が接続されており、他方のネットワーク(GW400の配下のネットワーク)には、複数のAR300が接続されている。なお、以下では、GW400に対してCN500が接続されているネットワーク600側をGW400の外部と記載することがあり、GW400に対して複数のAR300が接続されているGW400の配下のネットワーク側をGW400の内部と記載することがある。
MN200は、移動可能なノードであり、複数のAR300のいずれか1つと接続して通信を行うことが可能なノードである。また、CN500は、このMN200の通信相手である。なお、MN200とCN500とは、MN200が接続する複数のAR300のうちのいずれか1つ及びGW400を経由して、ネットワーク600(例えば、インターネット)を通じて互いに通信を行うことが可能である。なお、ここでは、移動可能なノードをMNと記載するが、例えば、配下にモバイルネットワークを有するモバイルルータ(MR:Mobile Router)と読み換えることも可能である。
また、各AR300は、MN200の接続を許可し、通信を行うことが可能なノードである。また、GW400は、異なるネットワーク(複数のAR300が接続されているネットワークと、CN500が接続されているネットワーク600)を相互に接続する機能を有している。
以下、本発明の第1〜第4の実施の形態において、上述の図1に示す通信システムに本発明を適用した際の構成及び動作について説明する。
<第1の実施の形態>
まず、本発明の第1の実施の形態について説明する。この第1の実施の形態では、例えば図2に示すように、CN500からMN200宛てに送信されたパケットに対して、GW400が、パケットトンネリングするとともに、MN200が接続している可能性のあるAR300−1〜300−αに係る情報を付加し、この情報に基づいてAR300間でIPパケットが転送されて、最終的にMN200が接続先のAR300からIPパケットを受け取る場合について説明する。
図3〜図5は、本発明の第1の実施の形態におけるMN、AR、GWのそれぞれの構成を示す図である。
まず、図3に示すMN200の構成について説明する。図3に示すMN200は、IPパケット検出部201、IPパケット処理部202、データ処理部203、MN接続候補生成部204、データ生成部205、IPパケット送信部206を有している。
IPパケット検出部201は、このMN200が受信した信号からIPパケットを検出して、IPパケットを取り出すための処理部である。また、IPパケット処理部202は、IPパケット検出部201で取り出したIPパケットに対する処理を行うための処理部である。IPパケット処理部202は、自分宛て(自MN200宛て)のIPパケットのペイロードに対する処理を行って、このペイロードに含まれるデータをデータ処理部203に送る機能を有している。また、IPパケット処理部202は、ペイロードに含まれるデータに、MN200が接続する候補を決定する情報が含まれている場合には、このデータをMN接続候補生成部204に送る機能を有している。
なお、この機能(接続候補決定機能)は、MN200が、MN200の接続するAR候補を自ら生成する場合にのみ用いられるものであって、IPパケット処理部202は、この接続候補決定機能を必ずしも実装する必要はない。また、この接続候補決定機能を実装しない場合には、MN200は、従来利用されているMNによって実現可能である。
また、データ処理部203は、IPパケット処理部202から送られてきたデータを処理する処理部である。また、MN接続候補生成部204は、IPパケット処理部202から送られてきた情報に基づいて、MN200が接続する候補に係る情報(MN接続候補情報)を生成するための処理部である。また、データ生成部205は、MN200が送信するデータを生成するための処理部である。また、IPパケット送信部206は、MN接続候補生成部204で生成されたMN接続候補情報や、データ生成部205で生成されたデータをIPパケットとして送信するための処理部である。
次に、図4に示すAR300の構成について説明する。図4に示すAR300は、IPパケット検出部301、IPヘッダ判定部302、IPパケット処理部303、ホップバイホップオプション処理部304、データ処理部305、近隣AR情報生成部306、AR情報生成部307、MN接続状態確認部308、IPパケット送信部309を有している。
IPパケット検出部301は、本AR300が受信した信号からIPパケットを検出して、IPパケットを取り出すための処理部である。また、IPヘッダ判定部302は、IPパケット検出部301で取り出したIPパケットに対して、IPヘッダの判定を行うための処理部である。このIPヘッダ判定部302によるIPヘッダの判定の結果、ホップバイホップオプションが付加されているIPパケットに関しては、ホップバイホップオプション処理部304に送られ、自AR300宛てのIPパケットに関しては、IPパケット処理部303に送られ、それ以外のIPパケットに関しては、IPパケット転送のためにIPパケット送信部309に送られる。
また、IPパケット処理部303は、IPヘッダ判定部302から送られたIPパケットに対する処理を行うための処理部であり、自分宛て(自AR宛て)のIPパケットのペイロードに対する処理を行って、このペイロードに含まれるデータをデータ処理部305に送る。また、IPパケット処理部303は、ペイロードに含まれるデータに、当該AR300の近隣に存在するAR300に係る情報が含まれている場合には、このデータを近隣AR情報生成部306に送信する。また、ホップバイホップオプション処理部304は、ホップバイホップオプションに対して処理を行うための処理部であり、処理した情報をIPパケット送信部309に送る。また、データ処理部305は、IPパケット処理部303から送られてきたデータを処理するための処理部である。
また、近隣AR情報生成部306は、IPパケット処理部303から送られてきた情報(近隣のAR300に係る情報)に基づいて、MN200が接続するAR300の候補を含む近隣AR情報を生成するための処理部であり、生成した情報をIPパケット送信部309に送る。また、AR情報生成部307は、自AR300の情報(自AR通知情報)を生成するための処理部である。また、MN接続状態確認部308は、MN200が接続されているか否かを確認するための処理部である。また、IPパケット送信部309は、IPヘッダ判定部302から送られたIPパケットや、ホップバイホップオプション処理部304でホップバイホップオプションが処理されたIPパケットを送信したり、近隣AR情報生成部306で生成された近隣AR情報やAR情報生成部307で生成された自AR通知情報をIPパケットとして送信したりするための処理部である。
また、図5に示すGW400の構成について説明する。図5に示すGW400は、IPパケット検出部401、IPヘッダ判定部402、IPパケット処理部403、ホップバイホップオプション処理部404、データ処理部405、MN接続候補データベース生成部406、IPパケット送信部407を有している。
IPパケット検出部401は、本GW400が受信した信号からIPパケットを検出して、IPパケットを取り出すための処理部である。また、IPヘッダ判定部402は、IPパケット検出部401で取り出したIPパケットに対して、IPヘッダの判定を行うための処理部である。このIPヘッダ判定部402によるIPヘッダの判定の結果、ホップバイホップオプションを付加すべきと判定されたIPパケットに関しては、ホップバイホップオプション処理部404に送られ、自GW400宛てのIPパケットに関しては、IPパケット処理部403に送られ、それ以外のIPパケットに関しては、IPパケット転送のためにIPパケット送信部407に送られる。なお、ここでは、IPヘッダ判定部402がIPヘッダの判定を行っているが、IPパケットに記載されている情報に基づいて、IPパケットの送出先となる処理部(すなわち、IPパケットの処理方法)を決定することも可能である。
また、IPパケット処理部403は、IPヘッダ判定部402から送られたIPパケットに対する処理を行うための処理部であり、自分宛て(自GW宛て)のIPパケットのペイロードに対する処理を行って、このペイロードに含まれるデータをデータ処理部405に送る。また、IPパケット処理部403は、ペイロードに含まれるデータに、MN200が接続する候補を通知する情報が含まれている場合には、このデータをMN接続候補データベース生成部406に送信する。また、ホップバイホップオプション処理部404は、IPヘッダ判定部402から送られてきたIPパケットに対するトンネリング化、及びホップバイホップオプションの付加処理などを行うための処理部である。また、データ処理部405は、IPパケット処理部403から送られてきたデータを処理するための処理部である。また、MN接続候補データベース生成部406は、IPパケット処理部403から送られてきた情報に基づいて、MN200が接続する候補となるAR300を示す情報(MN接続候補情報)のデータベース(MN接続候補データベース)を生成するための処理部である。また、IPパケット送信部407は、IPヘッダ判定部402から送られてきたIPパケットや、ホップバイホップオプション処理部404で処理されたIPパケットを送信するための処理部である。
(GW400におけるMN接続候補データベースの作成)
次に、GW400におけるMN接続候補データベースの作成について説明する。このMN接続候補情報は、MN200がCN500からのIPパケット受信時に接続している可能性のある1つ又は複数のAR300の候補を特定する識別情報(例えば、AR300の気付アドレス)を含む情報である。
ここでは、GW400が、AR300から受ける情報(近隣AR情報)に基づいて、ホップバイホップオプションを作成するための基となるMN接続候補情報を取得する方法について説明する。まず、各AR300は、AR情報生成部307において、自AR300の情報(例えば、自AR300のIPアドレス)を示すデータを生成して、IPパケット送信部309に送出することによって、各AR300から他のAR300に対してAR300の情報(自AR通知情報)の通知が行われる。
また、各AR300は、他のAR300から信号を取得した場合、IPパケット検出部301においてIPパケットを検出し、IPヘッダ判定部302に送出する。IPヘッダ判定部302は、自AR300を含むAR300宛てのIPパケットであることを判定して、IPパケット処理部303に送る。IPパケット処理部303は、IPパケットに近隣ARに関する情報が含まれていること(近隣のAR300の自AR通知情報であること)を把握して、近隣ARに係る自AR通知情報を近隣AR情報生成部306に送る。近隣AR情報生成部306は、この近隣ARに係る自AR通知情報を受け取り、近隣AR情報(近隣ARリスト)を生成する。これによって、各AR300は、それぞれの近隣に存在するAR300のリストを生成することが可能となる。
なお、上述の処理では、各AR300が自AR300の情報を交換することによって、近隣AR情報を取得する場合について説明したが、例えば、各AR300の近隣AR情報生成部306に、あらかじめ静的に近隣ARの情報を保持させておくなど、任意の方法によって、AR300が、互いに近隣ARの情報を保持できるようにすることも可能である。
このように、AR300に近隣ARの情報が保持された状態で、MN200がAR300に接続した場合、AR300は、まずMN接続状態確認部308において、MN200の接続を確認する。なお、このときの確認の方法の一例として、IPv6においてはND(近隣発見:Neighbor Discovery)を使用することが可能である。例えば、MN200が新しいAR300に接続する際には、RS(ルータ要請:Router Solicitation)の送信によるRA(ルータ通知:Router Advertisement)の要求や、NS(近隣要請:Neighbor Solicitation)の送信によるDAD(重複アドレス検出:Duplicate Address Detection)が行われる。このようなMN200からの要求を受けたAR300は、MN200からのIPパケットをIPパケット検出部301において検出し、IPヘッダ判定部302で判定を行って、IPパケット処理部303に送る。
このとき、MN200から送られてきた情報がRSやNSの場合には、IPパケット処理部303からMN接続状態確認部308に情報が送られ、MN接続状態確認部308において、特定のCoAを使用したMN200が接続したことが確認される。また、逆にAR300から定期的にNSを送信することによって、MN200が現在も自AR300に接続しているか否かを確認することも可能である。さらに、MN200からモバイルIPv6に基づくBU(バインディングアップデート:Binding Update)が送信された場合には、AR300が、そのIPパケットを確認することによって、MN200が使用するCoAと、MN200が有するHoAとの間の関係付けを行うことも可能である。
以上の処理によって、特定のMN200が自AR300に接続したことが確認された場合には、AR300は、近隣AR情報生成部306において保持されている近隣AR情報の中から、そのMN200が今後接続する可能性のある近隣ARに関する情報(例えば、AR300のIPアドレス)を選択的に抽出し、抽出された近隣ARの一覧を示すMN接続候補情報と、そのMN200のIPアドレスの情報とをIPパケット化して、IPパケット送信部309からGW400に送信することが可能となる。
また、ここでは、IPレイヤにおける処理を用いてMN200の接続の有無を確認する方法を示したが、下位レイヤ(物理層(Physical Layer)やMAC層(MAC Layer))で、MN200の接続の有無の確認を行うようにすることも可能である。
なお、MN200が今後接続する可能性のある近隣ARを選択する際には、例えば、自AR300の電波の届くエリアに隣接するエリアを管轄するAR300を選択したり、自AR300から数エリア内若しくは固定の距離内のAR300を選択したりすることが可能である。また、MN200の移動状況(移動方向や移動速度)の情報を取得し、その値によってAR300の選択範囲を変えることも可能である。すなわち、MN200が高速移動している場合には、選択するAR300の数を増やし、MN200が低速移動している場合には、選択するAR300の数を減らすことも可能である。なお、AR300がMN200の移動状況を把握する方法としては、電波変動(フェージングのドップラ周波数)の検出、MN200からの移動状況の情報通知、AR300間のハンドオーバの状態の管理・計算など、複数の方法が考えられるが、本発明では特に限定されるものではない。また、特に、図1に示すようにAR300が所定の軌道に沿って線形に配設されている場合には、MN200は、線形かつ一方向の移動しか行うことができないことが想定でき、AR300の選択範囲を所定のAR300(例えば、MN200が接続しているAR300)から所定の軌道に沿った範囲とし、その範囲内に配設されているAR300を選択してもよい。
このようにして、AR300からMN接続候補情報を受け取るGW400は、AR300から送られてきた信号をIPパケット検出部401においてIPパケットとして検出してIPヘッダ判定部402に送り、IPヘッダ判定部402が、自GW400宛ての情報であることを把握して、IPパケット処理部403に送る。IPパケット処理部403では、IPパケットのペイロードからMN200が接続する可能性のあるMN接続候補情報を取り出し、取り出したMN接続候補情報をMN接続候補データベース生成部406に送る。MN接続候補データベース生成部406は、受け取ったMN接続候補情報から、各MN200と、各MN200の接続するAR300の候補に係る情報(例えば、AR300の気付アドレス)との対応関係をデータベース化する。これにより、GW400は、特定のMN200が今後接続する可能性のあるAR300を示すMN接続候補情報を取得し、MN接続候補データベースを作成することが可能となる。
なお、GW400がMN接続候補情報を取得する方法は、上述の方法に限らず、他の任意の方法を取ることが可能である。例えば、上述した方法以外の例としては、GW400がAR300の配置位置を動的又は静的に把握し、GW400が、特定のAR300から、MN200が接続した旨の通知を受けた場合には、MN200が特定のAR300から移動する移動先のAR300を予測して、その予測結果をMN接続候補情報とするなどの方法が挙げられる。
また、特に、所定の軌道上のみを移動する移動体内にMN200が配置されている場合や、移動体の移動方向が把握可能な場合などのように、MN200の移動の態様が限定されている場合には、ある時点においてMN200が接続しているAR300が把握されれば、その後のMN200の移動先となるAR300を容易に予測し、MN接続候補情報内に記載されるAR300を限定することが可能となる。この場合、さらに、移動体の速度(MN200の移動の速度)や、移動体のタイムスケジュール(例えば、移動体が列車の場合には、時刻表)などを参照することによって、MN200の接続先となるAR300の絞り込みを行うことも可能である。また、上述のような場合には、所定の軌道に沿ってAR300が配設されるなど、AR300の配置とMN200の移動方向との関係があらかじめ俯瞰的に分かるため、AR300間における情報交換(自AR通知情報の交換)などの処理が軽減できるか、又は、情報交換自体を行うことなく、AR300やGW400が、当該通信システム100全体のネットワーク構成をあらかじめ把握できるように構成することも可能である。
(CN500からMN200へのIPパケットの伝送)
次に、CN500からMN200に対してIPパケットが伝送される際の通信システムにおける動作について説明する。なお、図6に示すシーケンスチャート(ステップS1100番台)によって、通信システム全体におけるIPパケットの流れを説明するとともに、図7及び図8に示すフローチャート(ステップS1400番台、ステップS1300番台)によって、GW400及びAR300の処理の詳細について説明する。
本発明の第1の実施の形態では、GW400によって、MN200の接続先となり得る1つ又は複数のAR300の指定が行われるように構成されており、まず、GW400が、MN200に係るMN接続候補データベースを作成する必要がある。例えば、MN200がAR1300−1に接続した場合(図6のステップS1101)、AR1300−1がMN接続候補情報を生成して、GW400に通知する(図6のステップS1103)。GW400は、AR1300−1からのMN接続候補情報に基づいて、特定のMN200に係るMN接続候補データベースを作成する(図6のステップS1105)。なお、このステップS1105までの処理は、上述のMN接続候補データベースの作成に係る処理によって行われる。
CN500がMN200宛てのIPパケットを送信した場合、CN500によって送信されたMN200宛てのIPパケットは、ネットワーク600を通じて、まずGW400に入力される(図6のステップS1107、図7のステップS1401)。このCN500からGW400に伝送されるIPパケットのフォーマットは、図9に示す通常のIPv6におけるパケットフォーマットや、図10に示す通常のモバイルIPv6におけるパケットフォーマットが使用される。なお、以下の説明では、図10に示すモバイルIPv6が使用されていることを想定して説明を行うが、モバイルIPv6の使用は必須ではなく、他の任意のプロトコルにおけるパケットフォーマットの使用が可能である。
GW400は、CN500から送られてきた信号を、IPパケット検出部401においてIPパケットとして取り出して、IPヘッダ判定部402に出力する(図7のステップS1403)。IPヘッダ判定部402は、IPヘッダに記載されている終点アドレス(Destination Address)、ホームアドレスオプション(Home Address Option)、その他の情報などに基づいて、ホップバイホップオプションを付加するか否かを判断し(図7のステップS1405)、ホップバイホップオプションを付加する場合には、ホップバイホップオプション処理部404に送る。なお、ホップバイホップオプションを付加しない場合には、通常のIPパケット転送処理が行われる(図7のステップS1407)。
IPヘッダ判定部402からIPパケットを受けたホップバイホップオプション処理部404は、MN200のホームアドレスの情報をキーワードとして、MN接続候補データベース生成部406に対して、MN200が接続するAR300の候補の情報を問い合わせ、MN200が現在接続している可能性のあるAR300が記載されたMN接続候補情報を取得する(図7のステップS1409)。なお、ここでは、MN200が現在接続している可能性のあるAR300として、k個のAR300(AR1300−1〜ARk300−k)が選択され、MN接続候補情報には、AR1300−1〜ARk300−kのそれぞれの識別情報(例えば、気付アドレス)が含まれているものとする。
ホップバイホップオプション処理部404は、IPパケットに関して、現在MN200が接続していると思われるAR300(MN200が現在接続している可能性が最も高いと思われるAR300)(ここではAR1300−1とする)に対するトンネリング化処理を行うとともに、MN接続候補情報内のAR300のうち、現在接続していると思われるAR1300−1以外のAR300(ここではAR2300−2〜ARk300−kとなる)のIPアドレスをホップバイホップオプションとして付加する(図6のステップS1109、図7のステップS1411)。以下では、トンネリング化されたIPパケットに包含されるCN500から送信されたIPパケットを、オリジナルIPパケットと呼ぶことがある。
なお、このホップバイホップオプションによって付加されるAR2300−2〜ARk300−kのIPアドレスは、IPパケットが順次転送される転送先のAR2300−2〜ARk300−kを表すものであり、例えば、ホップバイホップオプションに記載された順番に従って、各AR2300−2〜ARk300−kに転送されるようにルールを定めることによって、転送先のAR2300−2〜ARk300−kのIPアドレスの付加と同時に、その転送に係る優先度の設定を行うことも可能である。
ホップバイホップオプション処理部404によるトンネリング化及びホップバイホップオプションの付加が行われた結果、図11に示すようなパケットフォーマットを有するIPパケットが生成される。この図11に示すパケットフォーマットを有するIPパケットは、IPパケット送信部407に送出され、GW400からAR1300−1宛てに送信される(図6のステップS1111、図7のステップS1413)。
AR1300−1は、GW400から送られてきたIPパケットに係る信号を受信し(図8のステップS1301)、IPパケット検出部301においてIPパケットとして取り出して(図8のステップS1303)、IPヘッダ判定部302に出力する。IPヘッダ判定部302は、受信したIPパケットが自AR1300−1宛てに送信されたものであり、さらにホップバイホップオプションが付加されていることを検出して(図8のステップS1305)、このIPパケットをホップバイホップオプション処理部304に送る。
ホップバイホップオプション処理部304は、トンネリング化されたIPパケットの中に含まれているオリジナルIPパケットの終点アドレス、又はルーティングヘッダのホームアドレスなどのMN200を識別するための情報を使って、該当するMN200が自AR1300−1に接続しているか否かをMN接続状態確認部308に対して確認する(図8のステップS1307)。
そして、MN接続状態確認部308による確認によって、MN200が現時点において自AR1300−1に接続していることが分かった場合には、トンネリング化されたIPパケットのデトンネリング化、及びホップバイホップオプションの削除を行って(図6のステップS1113、図8のステップS1309)、IPパケット送信部309に送出する。その結果、AR1300−1からMN200に対して、IPパケットが送信されることになる(図6のステップS1115、図8のステップS1311)。このとき、AR1300−1からMN200に対して送信されるIPパケットは、CN500から送信されたオリジナルIPパケットであり、図9又は図10に示すオリジナルIPパケットのパケットフォーマットを有している。
一方、MN接続状態確認部308による確認によって、例えば、オリジナルIPパケット内のCoA1(AR1300−1との接続時に使用されるMN200のCoA)に相当するMN200が、すでに別のAR300(例えば、AR2300−2)へのハンドオーバを行っており(図6のステップS1117)、現時点において自AR1300−1に接続していないことが分かった場合には、ホップバイホップオプション処理部304は、トンネリング化されたIPパケットの再構築を行う。なお、以降、ARi300−iとの接続時に使用されるMN200のCoAをCoAiと記載する。
具体的には、CN500からGW400を経由して送信されてきたIPパケット(図6のステップS1119〜S1123)に対して、AR1300−1は、ホップバイホップオプションに含まれているAR2300−2〜ARk300−kのいずれか1つのARを次の転送先のARとして選択(例えば、ホップバイホップオプションの先頭に記載されており、優先度の最も高いAR2300−2を選択)して(図8のステップS1313)、このAR2300−2に対するトンネリング化処理を行うとともに、選択したAR2300−2のIPアドレスを消去したホップバイホップオプションを付加する(図8のステップS1315)。なお、このIPパケットの再構築処理は、単に、送信されてきたIPパケットの送信先アドレスを選択されたアドレスで置き換えるという簡単な処理であり、送信されてきたIPパケットを再利用することができる。
この結果、図12に示すように、AR2300−2の宛て先に設定されたトンネリングヘッダを有するとともに、AR3300−3〜ARk300−kのIPアドレスがホップバイホップオプションとして付加されたIPパケットが生成される。この図12に示すパケットフォーマットを有するIPパケットは、IPパケット送信部309に送出され、AR1300−1からAR2300−2宛てに送信される(図6のステップS1125、図8のステップS1317)。
AR2300−2では、AR1300−1から送信されたこのIPパケットを受信した場合には、基本的に上述のAR1300−1と同様の処理が行われる。すなわち、該当するMN200が自AR2300−2に接続しているか否かを確認し、MN200が自AR2300−2に接続している場合には、IPパケットのデトンネリング化(及びホップバイホップオプションの削除)を行って(図6のステップS1127)、MN200に対してオリジナルIPパケットを送信する(図6のステップS1129)。
一方、MN200が自AR2300−2に接続していない場合には、AR2300−2は、上述のAR1300−1からAR2300−2へのIPパケットの転送と同様の処理を行って、ホップバイホップオプションによって指定された次の転送先のAR(例えば、AR3300−3)に対して、トンネリング化されたIPパケットの送信を行う。
また、さらに、MN200がハンドオーバを行って(図6のステップS1131)、ARα300−α(αは1≦α≦kまでの任意の値)に接続先を変更した場合も同様の処理が行われる。すなわち、CN500からGW400を経由して送信されてきたIPパケット(図6のステップS1133〜S1137)に対して、MN200の接続確認を行いながら、AR300は順次、MN200の移動(ハンドオーバ)に追随するようにIPパケットの転送を行って(ステップS1139、ステップS1141)、最終的に、MN200が接続しているARα300−αが、IPパケットのデトンネリング化及びホップバイホップオプションの削除を行って(図6のステップS1143)、MN200に対してオリジナルIPパケットを送信する(図6のステップS1145)ことができるように構成されている。
ただし、最終的に、IPパケットが到達した時点でMN200が接続しているAR(ARα300−α)から、MN200に対して、オリジナルIPパケットが渡されることになる。したがって、α=1の場合とα≠1とでは、AR300は異なる処理を行う必要が生じる場合もある。
例えば、MN200がAR1300−1(α=1)に接続しており、オリジナルIPパケットに含まれているMN200のCoA1を使用している場合には、オリジナルIPパケットの終点に指定されているMN200のCoA1との対応関係が明確であり、AR1300−1は、MN200の接続状態を確認するとともに、MN200が配下に存在する場合には、MN200に対してオリジナルIPパケットを送信することは容易である。しかしながら、MN200が、AR1300−1とは異なるAR2300−2〜ARk300−kのいずれかに移動しており、オリジナルIPパケットに含まれているMN200のCoA1とは異なるCoA(CoA2〜CoAkのいずれか)を使用している場合には、AR2300−2〜ARk300−kは、オリジナルIPパケットの終点に指定されているCoA1を参照しただけでは、MN200が配下に接続しているか否かを把握することは不可能となるという問題が生じる。
上述の問題を解決するためには、例えば、MN200がAR2300−2〜ARk300−kが、接続するMN200によって送信されたRS/NS又はBUを用いて、そのAR2300−2〜ARk300−kの配下でMN200が使用するCoA2〜CoAkと、MN200のHoAとの関係を取得できるように構成すればよい。これにより、AR300が、受信したIPパケットに含まれるHoAから、そのHoAに対応するMN200のCoA2〜CoAkを導くことが可能となり、MN200の接続状態の確認などが行えるようになる。また、例えば、AR300が近隣のAR300(MN接続候補情報に記載されたAR300)に対して、MN200のCoAやHoAと共に、MN200のレイヤ2アドレス(リンクレイヤアドレス)を教えることによって、近隣のAR300が、MN200の接続状態の確認などを行えるようにすることも可能である。
なお、AR2300−2〜ARk300−kからMN200に対してオリジナルIPパケットを渡すことを考慮した場合には、例えば、過去に用いていたCoA(具体的には、オリジナルIPパケットの終点に指定されているCoA1)に対する受信機能をMN200に設けたり、オリジナルIPパケットの終点アドレスを、MN200が現時点で使用しているCoA(CoA2〜CoAk)に変換して、終点アドレスが現時点でのMN200のCoAに変更されたIPパケットをMN200に対して送信する機能をAR2300−2〜ARk300−kに設けたりすることが望ましい。
また、例えば、AR300が、MN200が接続している状態から未接続の状態となって所定の時間が経過(例えば、他のAR300にハンドオーバを行ってから所定の時間が経過)したことを検出した場合には、GW400に対して、MN接続候補データベースのAR候補から除外するように要求を行うことも可能である。また、MN200が新たに接続した場合に、GW400に対して新たなMN接続候補情報を提供する役割を有するAR300を定めておいたり、GW400からAR300に対して、新たなMN接続候補情報の送信要求を行ったりすることも可能である。これらによって、MN200の移動に伴って、GW400が格納するMN接続候補データベースの更新を行うことが可能となる。
また、上述の第1の実施の形態における態様では、MN200が現時点で接続しているAR300の探索を、AR300の識別情報(例えば、AR300の気付アドレス)を用いて行っているが、AR300の識別情報ではなく、例えば、MN200が各AR300に接続した場合に割り当てられるCoAを用いるようにしてもよい。この場合、MN接続候補情報内には、MN200が現在接続している可能性のあるAR1300−1〜ARk300−kにおいて、MN200に対して割り当てられるMN200のCoAの一覧が記載されることとなる。なお、この場合には、GW400は、MN200に対して割り当てられることになるCoA1〜CoAkをあらかじめ把握しておく必要があり、例えば、MN200がAR1300−1に接続した時点で、AR2300−2〜ARk300−kにおいてMN200に割り当てられるCoA2〜CoAkが定められるようにすることが望ましい。
また、上述の第1の実施の形態における態様では、GW400によって、IPパケットにトンネリングヘッダ及びホップバイホップオプションが付加され、MN200が接続されているAR300において、トンネリングヘッダ及びホップバイホップオプションが削除されるように構成されており、この構成によって、MN200の探索(例えば、MN200の移動に追随)を行うための経路設定が可能となるようにしているが、他の経路設定に係る方法を採用することも可能である。
他の経路設定の方法としては、例えば、図13に図示されているように、GW400によって、トンネリングヘッダの付加を行わずに、IPパケットに対して直接ホップバイホップオプションを挿入して(図14のフォーマットを参照)、このパケットフォーマットのIPパケットがAR300間で転送されるようにするとともに、MN200が接続されているAR300において、このホップバイホップオプションの削除が行われるようにする方法などが挙げられる。なお、この方法の場合には、図6のステップS1109、S1121、S1135において、GW400によるトンネリング化処理は行われず、図6のステップS1113、S1127、S1143において、デトンネリング化処理も行われない。
<第2の実施の形態>
次に、本発明の第2の実施の形態について説明する。この第2の実施の形態では、上述の第1の実施の形態と同様に、CN500からMN200宛てに送信されたパケットに対して、GW400が、パケットトンネリングするとともに、MN200が接続している可能性のあるAR300に係る情報を付加し、この情報に基づいてAR300間でIPパケットが転送されるが、例えば図15に示すように、最終的にMN200がトンネリングヘッダの付加されたIPパケットを受信し、MN200自身で、トンネリングヘッダの削除を行う場合について説明する。
この第2の実施の形態におけるCN500及びGW400は、上述の第1の実施の形態と同一のものが使用可能である。一方、AR300及びMN200に関しては、第1の実施の形態において、AR300に配置されているパケットのトンネリングヘッダの削除機能(具体的には、MN200に対してパケットを送信する際に、トンネリングヘッダやホップバイホップオプションの削除を行うためのホップバイホップオプション処理部304の機能)が、第2の実施の形態では、MN200に配置されるように構成されている。
すなわち、この第2の実施の形態では、AR300及びMN200として、図4に図示されているAR300のホップバイホップオプション処理部304からトンネリングヘッダの削除機能が削除されたAR300と、図3に図示されているMN200のIPパケット処理部202から出力されるIPパケットにトンネリングヘッダが付加されている場合に、このトンネリングヘッダやホップバイホップオプションの削除を行うため機能を有するホップバイホップオプション処理部を有するMN200が使用可能である。
次に、本発明の第2の実施の形態における動作について、図6を参照しながら説明する。本発明の第2の実施の形態では、GW400におけるMN接続候補データベースの作成やCN500からGW400へのIPパケットの伝送、GW400における処理、AR300間におけるIPパケットの伝送は、上述の第1の実施の形態と同一である。
一方、IPパケットを受信した時点で、IPパケットの終点(送信先)となるMN200が接続されているAR300は、IPパケットをそのままのフォーマット(図11のフォーマット)でMN200に転送する。すなわち、この第2の実施の形態では、図6に図示されているシーケンスチャートにおいて、ステップS1113、S1127、S1143における処理は行われず、ステップS1115、S1129、S1145において、図11のフォーマットのIPパケットが、AR300からMN200に送信される。
そして、図6のステップS1115、S1129、S1145において、図11のフォーマットのIPパケットを受信したMN200は、自分宛てのIPパケットであることを確認し、トンネリングヘッダやホップバイホップオプションの削除などの処理を経て、IPパケットのペイロードに含まれているデータを取り出すことによって、IPパケット内のデータを処理することが可能となる。
なお、この第2の実施の形態においても、上述の第1の実施の形態と同様に、MN接続候補情報として、AR300のIPアドレスの代わりにMN200のCoAを使用したり、MN接続候補データベースを適宜更新したりすることが可能である。
また、上述の第2の実施の形態における態様では、GW400によってIPパケットにトンネリングヘッダ及びホップバイホップオプションが付加され、MN200によってトンネリングヘッダ及びホップバイホップオプションが削除されるように構成されており、この構成によって、MN200の探索(例えば、MN200の移動に追随)を行うための経路設定が可能となるようにしているが、上述の第1の実施の形態と同様に、他の経路設定に係る方法を採用することも可能である。
他の経路設定の方法としては、例えば、図16に図示されているように、GW400によって、トンネリングヘッダの付加を行わずに、パケットに対して直接ホップバイホップオプションを挿入して(図14のフォーマットを参照)、このパケットフォーマットのIPパケットがAR300間で転送されるようにするとともに、MN200において、このホップバイホップオプションの削除が行われるようにする方法などが挙げられる。なお、この方法の場合には、図6のステップS1109、S1121、S1135において、GW400によるトンネリング化処理は行われず、IPパケットを受信したMN200によるデトンネリング化処理も行われない。
<第3の実施の形態>
次に、本発明の第3の実施の形態について説明する。この第3の実施の形態では、例えば図17に示すように、CN500がMN200宛てのIPパケットを送信する際に、パケットトンネリングするとともに、MN200が接続している可能性のあるAR300に係る情報を付加したIPパケットを送信し、この情報に基づいてAR300間でIPパケットが転送され、最終的にMN200が接続先のAR300からIPパケットを受け取る場合について説明する。
この第3の実施の形態では、CN500によってIPパケットのトンネリング化が行われるため、CN500が、MN200が接続している可能性のあるAR300を示すMN接続候補情報を取得・格納したり、MN接続候補情報内の識別情報をIPパケットに付加したりする機能を有している。
図18は、本発明の第3の実施の形態におけるCNの構成を示す図である。図18に示すCN500は、IPパケット検出部501、IPパケット処理部502、データ処理部503、MN接続候補データベース生成部504、データ生成部505、ホップバイホップオプション処理部506、IPパケット送信部507を有している。
IPパケット検出部501は、CN500が受信した信号からIPパケットを検出して、IPパケットを取り出すための処理部である。また、IPパケット処理部502は、IPパケット検出部501で取り出したIPパケットに対する処理を行うための処理部である。IPパケット処理部502は、自分宛て(自CN500宛て)のIPパケットのペイロードに対する処理を行って、このペイロードに含まれるデータをデータ処理部503に送る機能を有している。また、IPパケット処理部502は、ペイロードに含まれるデータに、MN200が接続する候補を通知する情報が含まれている場合には、このデータをMN接続候補データベース生成部504に送信する。
また、データ処理部503は、IPパケット処理部502から送られてきたデータを処理する処理部である。また、MN接続候補データベース生成部504は、IPパケット処理部502から送られてきた情報に基づいて、MN200が接続する候補となるAR300を示す情報(MN接続候補情報)のデータベース(MN接続候補データベース)を生成するための処理部である。
また、データ生成部505は、CN500が送信するデータを生成するための処理部である。なお、データ生成部505で生成されたデータのうち、本発明を利用してMN200に送信されるデータは、ホップバイホップオプション処理部506に送出され、その他のデータは、IPパケット送信部507に送出される。また、IPパケット送信部507は、データ生成部505で生成されたデータや、ホップバイホップオプション処理部506で処理されたIPパケットを送信するための処理部である。
また、ホップバイホップオプション処理部506は、データ生成部505から受けたデータに対して、IPパケットのトンネリング化、及びホップバイホップオプションの付加処理などを行うための処理部である。なお、このとき、ホップバイホップオプション処理部506は、MN接続候補データベース生成部504によって作成されたMN200に係るMN接続候補情報を参照して、AR300間における転送を経たMN200への伝送が可能となるように、MN200に送信するIPパケットに対する処理を行う。ここでは、上述の第1の実施の形態におけるGW400と同様に、例えば、MN200へのIPパケットに対して、現在MN200が接続していると思われるAR300(MN200が現在接続している可能性が最も高いと思われるAR300)に対するトンネリング化処理が行われ、MN接続候補情報内のAR300のうち、現在接続していると思われるAR1300−1以外のAR300のIPアドレスがホップバイホップオプションとして付加される。
一方、本発明の第3の実施の形態におけるGW400は、上述の第1の実施の形態のようなMN接続候補情報に基づくパケットへの情報付加機能を有する必要はなく、必ずしも、ホップバイホップオプションを理解できる必要はない。例えば、本発明の第3の実施の形態におけるGW400として、従来の構成を有するGW400を使用することも可能である。
次に、本発明の第3の実施の形態における動作について説明する。本発明の第3の実施の形態では、まず、CN500がMN接続候補情報を取得して、MN接続候補データベースを作成する必要がある。これは、例えば、上述の第1の実施の形態でGW400によって作成されたMN接続候補データベースが、GW400からCN500に通知されるようにしたり、AR300間のメッセージ交換によって作成されたAR近隣リストが、AR300に接続したMN200に通知され、その後、MN200からCN500に対して、MN接続候補情報として通知されるようにしたりするなど、様々な方法によって実現可能である。
本発明の第3の実施の形態では、上述の第1の実施の形態に比べて、基本的に、CN500及びGW400の動作が異なるのみである。すなわち、AR300やMN200に係る動作に関しては、本発明の第1及び第3の実施の形態では同一となり得る。以下、図6を参照して、上述の第1の実施の形態との相違点を説明しながら、本発明の第3の実施の形態におけるCN500及びGW400の動作について説明する。
本発明の第3の実施の形態では、まず、CN500によってMN接続候補データベースが作成される。すなわち、この第3の実施の形態では、図6に図示されているシーケンスチャートのステップS1105における処理が、CN500によって行われる。次に、CN500がMN200に対してIPパケットを送信する場合、CN500は、IPパケットに対して、トンネリングヘッダ及びホップバイホップオプションの付加処理を行った後、IPパケットを送信する。すなわち、CN500は、IPパケットを送信する際、図6に図示されているシーケンスチャートのステップS1109、S1121、S1135における処理を行った後に、ステップS1111、S1123、S1137において、図11のフォーマットのIPパケットの送信を行う。
一方、GW400は、GW400の外部に存在するCN500から、MN200宛てのIPパケットを受信した場合、このIPパケットをそのままのフォーマット(図11のフォーマット)で、IPパケットの終点アドレス(図11に図示されているパケットの場合には、AR1300−1のCoA)に向けて転送する。すなわち、図6に図示されているシーケンスチャートのステップS1109、S1121、S1135における処理は、本発明の第3の実施の形態におけるGW400では行われない。その後のAR300間における転送処理及びMN200への転送処理は、上述の第1の実施の形態と同一である。
なお、この第3の実施の形態においても、上述の第1及び第2の実施の形態と同様に、MN接続候補情報として、AR300のIPアドレスの代わりにMN200のCoAを使用したり、MN接続候補データベースを適宜更新したりすることが可能である。
また、上述の第3の実施の形態における態様では、CN500によってIPパケットにトンネリングヘッダ及びホップバイホップオプションが付加され、AR300によってトンネリングヘッダ及びホップバイホップオプションが削除されるように構成されており、この構成によって、MN200の探索(例えば、MN200の移動に追随)を行うための経路設定が可能となるようにしているが、他の経路設定に係る方法を採用することも可能である。他の経路設定の方法としては、例えば、図19に図示されているように、上述の第1の実施の形態の説明に記載されている、パケットに直接ホップバイホップオプションを挿入する方法などが挙げられる。
<第4の実施の形態>
次に、本発明の第4の実施の形態について説明する。本発明の第4の実施の形態は、上述の第2及び第3の実施の形態を組み合わせたものと言える。すなわち、例えば、図20や図21に図示されているように、CN500によるIPパケットの送信処理、GW400におけるIPパケットの転送処理、AR300間におけるIPパケットの転送処理に関しては、上述の第3の実施の形態の動作に基づいて行われ、AR300からMN200へのIPパケットの送信処理及びMN200におけるIPパケットの処理に関しては、上述の第2の実施の形態に基づいて行われるように構成されている。
また、この第4の実施の形態のように、上述の各実施の形態を様々に組み合わせることによって、本発明の目的を達成するような他の構成を実現することも可能である。これらの各組み合わせは、上述の各実施の形態を参照することによって実現可能であり、本発明の範疇に属するものである。
以上、説明したように、本発明によれば、MN200が複数のAR300のいずれか1つに接続しているが、これらの複数のAR300のうちのどのAR300と接続しているかが明確ではない状況において、MN200が接続している可能性がある複数のAR300のいずれか1つに対してMN200宛てのパケットを配送し、このパケットを受けたAR300が、その配下にMN200が存在しているか否かを判断して、MN200が配下に存在する場合には、MN200にパケットを渡す一方、MN200が配下に存在しない場合には、MN200が接続している可能性がある別のAR300にパケットを転送し、結果的に、MN200が接続している可能性がある複数のAR300によって順次、MN200にパケットを渡すことができるか否かの判断が行われるようにすることが可能となり、MN200が移動している状態であっても、MN200宛てのパケットを、MN200に対して確実に配信できるようにすることが可能となる。
なお、上記の本発明の実施の形態の説明で用いた各機能ブロックは、典型的には集積回路であるLSI(Large Scale Integration)として実現される。これらは個別に1チップ化されてもよいし、一部又はすべてを含むように1チップ化されてもよい。なお、ここでは、LSIとしたが、集積度の違いにより、IC(Integrated Circuit)、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。例えば、バイオ技術の適応などが可能性としてあり得る。
本発明は、MNが移動している状況においても、MN宛てのパケットを、MNに対して確実に配信できるようにするという効果を有しており、IPモビリティ技術に適用可能である。
本発明は、移動端末(以下、MN:Mobile Nodeと記載することもある)が、その移動に応じてIP(インターネットプロトコル:Internet Protocol)ネットワークへの接続先を次々と変更する状況においても、移動中の移動端末と、IPネットワーク上のノードとの通信を継続させることを可能とするIPモビリティ技術に関する。
従来知られているIPモビリティ技術の1つとして、下記の非特許文献1に記載されているモバイルIPv6(Mobile Internet Protocol version 6)技術が存在する。モバイルIPv6技術は、MNが、IPネットワークへの接続先であるアクセスルータ(以下、AR:Access Routerと記載することもある)を変更した場合でも、MN宛てのパケットを受け取ることを可能とする技術である。
モバイルIPv6技術は、以下の手順で、MNが、MNに割り当てられたホームアドレス(以下、HoA: Home Addressと記載することもある)宛てのIPパケットを、IPネットワークとの新たな接続先で受け取ることを可能とする。
MNは接続するARを変更し、新たなIPアドレス(以下、CoA:Care-of Address又は気付アドレスと記載することもある)を取得すると、IPネットワークと接続されたホームネットワーク上のホームエージェント(以下、HA:Home Agentと記載することもある)にCoAを通知する。MNの通信相手(通信相手装置)であるコレスポンデントノード(以下、CN:Correspondent Nodeと記載することもある)からHoA宛てに送信されたIPパケットは、IPネットワークを経由してホームネットワークに届けられるが、HAには、MNがCoAを取得していることが通知されているため、このIPパケットをCoA宛てにパケットトンネリング(Packet Tunneling、下記の非特許文献2を参照)し、HoAを記載したルーティングヘッダ(Routing Header、下記の非特許文献3を参照)を付加して送信する。CoA宛てに送信されたこのIPパケットは、IPネットワークを経由してMNに届き、MNは、IPパケットに付加されたルーティングヘッダを処理することによって、このIPパケットが自分宛て(HoA宛て)であることを認識する。
また、モバイルIPv6技術は、以下の手順で、MNが、IPネットワークとの新たな接続先からCN宛てにIPパケットを送信することも可能とする。
MNは、CN宛てにIPパケットを送信する際、IPパケットの始点としてHoAを設定することができない。これは、セキュリティ上の問題(下記の非特許文献4を参照)に基づいて、IPネットワーク上のルータが、ネットワークトポロジ的に矛盾のあるアドレスからのIPパケットを転送せずに破棄してしまうからである。このため、MNはCN宛てのIPパケットをHA宛てにパケットトンネリングし、HoAを記載したホームアドレスオプション(Home Address Option)を付加して送信する。MNからHA宛てに送信されたこのIPパケットは、IPネットワークを経由してHAに届けられる。HAは,IPパケットに付加されたホームアドレスオプションを処理することにより、このIPパケットがMNからのパケットであることを認識し、パケットデトンネリング(Packet Detunneling、非特許文献3を参照)した後、ホームネットワーク上に送出する。HAからCN宛てに送信されたこのIPパケットは、IPネットワークを経由してCNに届けられる。
また、モバイルIPv6技術は、以下の手順で、MNが、IPネットワークとの新たな接続先からHAを経由せずに、CNからのIPパケットを受け取ることを可能とする。なお、この機能はルート最適化と呼ばれている。また、HAを経由したIPパケットの送信に係る上述の手法は、CNがルート最適化機能に対応していない場合も可能であるが、以下に説明するHAを経由しないIPパケットの送信に係る手法は、CNがルート最適化機能に対応している場合のみ可能となる。
MNは、接続するARを変更しCoAを取得すると、HAにCoAを通知すると同時に、CNに対してもCoAを通知する。CNがルート最適化に対応している場合には、この通知に対して応答メッセージを返す。以下は、CNがルート最適化に対応しているものとして説明する。CNはMN宛てのIPパケットを送信する際、送信パケットにHoAを記載したルーティングヘッダを付加し、CoA宛てにIPパケットを送信する。CNからCoA宛てに送信されたこのIPパケットは、IPネットワークを経由してMNに届けられる。MNは、IPパケットに付加されたルーティングヘッダを処理することにより、このIPパケットが自分宛て(HoA宛て)であることを認識する。
また、モバイルIPv6技術は、以下の手順で、MNがIPネットワークとの新たな接続先からHAを経由せずにルート最適化に対応したCN宛てのパケットを送信することも可能とする。
上述の通り、MNは、CN宛てにIPパケットを送信する際、IPパケットの始点としてHoAを設定することができない。このため、MNは、始点アドレスとしてCoAを設定し、HoAを記載したホームアドレスオプションを付加して送信する。MNからCN宛てに送信されたこのIPパケットは、IPネットワークを経由してCNに届けられる。ルート最適化に対応したCNは、IPパケットに付加されたホームアドレスオプションを処理することにより、このIPパケットがMNからのパケットであることを認識する。
一方、モバイルIPv6技術の問題の1つとして、MNの状態が、あるCoA(ここでは、古いCoAと呼ぶことにする)を取得した状態で、あるAR(ここでは古いARと呼ぶことにする)と接続した状態から、古いARとの接続を切断して新たな別のARに接続して新たなCoAを取得した状態に変更される場合、新たなCoAをHAやCNに通知するまでの間、HAやCNから古いARとの切断前に古いCoA宛てに転送又は送信されたIPパケットが、新たな別のARに接続した状態のMNに届かない場合があるという問題が存在している。
この問題を解決する手法の1つとして、下記の非特許文献5に記載されているファストハンドオーバ(Fast Handover)技術が存在する。ファストハンドオーバ技術では、新たなCoAをHAやCNに通知するまでの間、古いAR(PAR:Previous Access Router)から新しい接続先のAR(NAR: New Access Router)にパケットトンネリングを行うことにより、古いCoAに届いたパケットがNARに転送される。これにより、MNは、古いCoAに届いたパケットをNARから受け取ることが可能となる。
また、複数のノードに対してIPパケットを送信するマルチキャスト技術を発展させたものとして、Xcast(eXplicit multicast、下記の非特許文献6を参照)と呼ばれる技術が存在する。このXcast技術は、IPパケットに複数の終点アドレスを設定し、このIPパケットを受信した最初の受信ノードが他の未受信のノードに対してIPパケットを転送し、順次転送を繰り返すことで複数の終点アドレスのすべてにIPパケットを行き渡らせたり、このIPパケットの転送を行うルータが、複数の終点アドレスの解析を行って、複数の終点アドレスに係る次ホップ(次の転送先)が異なる場合にIPパケットの配送を分岐させたりすることによって、複数の終点アドレスのすべてに対して、IPパケットのマルチキャストを可能とするものである。また、特定の機能を有するルータのみが解釈可能なホップバイホップオプションを利用することによって、Xcast技術と既存のネットワーク構成との融合も検討されている。さらには、このXcast技術を利用して、MNがハンドオーバ前後に接続する両方の基地局を通じて、IPパケットのマルチキャストを行うことによって、ハンドオーバ時におけるスムーズな接続切り換えの実現を図る技術も存在する (下記の非特許文献7を参照)。
D. Johnson, C. Perkins, J. Arkko, "Mobility Support in IPv6", draft-ietf-mobileip-ipv6-24, December 29 2003, Work In Progress, <http://www.ietf.org/internet-drafts/draft-ietf-mobileip-ipv6-24.txt>.
Conta, A. and S. Deering, "Generic Packet Tunneling in IPv6 Specification", RFC2473, December 1998, <http://www.ietf.org/rfc/rfc2473.txt>.
Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", RFC 2460, December 1998, <http://www.ietf.org/rfc/rfc2460.txt>.
Ferguson, P. and D. Senie, "Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing", RFC 2267, January 1998, <http://www.ietf.org/rfc/rfc2267.txt>.
K. Rajeev, "Fast Handovers for Mobile IPv6", draft-ietf-mipshop-fast-mipv6-01, January 30 2004, Work In Progress, <http://www.ietf.org/internet-drafts/draft-ietf-mipshop-fast-mipv6-01.txt>.
R. Boivie, N. Feldman, Y. Imai, W. Livens, D. Ooms, O. Paridaens, "Expilicit Multicast (Xcast) Basic Specification", draft-ooms-xcast-basic-spec-05, August 2003, Work In Progress.
Y. Ezaki, Y. Imai, "Mobile IPv6 handoff by Explicit Multicast", draft-ezaki-handoff-xcast-01, May 2001, Work In Progress.
しかしながら、上述した従来のIPモビリティ技術には、下記に挙げる課題が存在している。
(A)IPパケットの送信者(Sender)、及び、送信者と受信者(Receiver)との間に存在するGW(Gateway:ゲートウェイ)のいずれか一方において、受信者が用いていることが予想されるIPアドレス、及び受信者が接続していることが予想されるARのIPアドレスのいずれか一方のIPアドレスしか設定することができず、その結果、送信者が設定したIPアドレスを現時点において受信者が用いていないか、あるいは送信者が設定したARに受信者が接続していない場合には、そのIPパケットは廃棄されてしまうという課題が生じる。
(B)特に、受信者が高速で移動する場合には、受信者が送信者に対して、移動に係る情報を通知するのが遅れてしまい、上記(A)の課題が顕著に現れてしまうという課題がある。
(C)非特許文献5に記載されているファストハンドオーバ技術においては、AR間のパケットトンネリング技術を用いており、受信者が高速で移動し、多くのARをまたがって移動する場合には、スケーラビリティの問題が発生するという課題がある。
(D)非特許文献6に記載されているXcast技術においては、IPパケットに記載されたすべての終点アドレスを順次巡る必要があるため、最終のノードに到達するまでに時間がかかるという課題、途中のノードが障害発生や移動によりパケット到達不能になると、以降のノードにはパケットが配信されないという課題、IPパケットに設定される複数の終点アドレスのすべてに対して、IPパケットの配送が行われるため、設定された複数の終点アドレスの数だけのIPパケットの分岐が生じてしまい、トラフィックが増大するおそれがあるという課題がある。この課題は、特に、IPパケットに設定された複数の終点アドレスの数が増大すればするほど顕著に現れることになる。さらに、非特許文献7に記載されているXcast技術を用いたハンドオーバ時のスムーズな通信の実現に関しては、MNが受信するIPパケットが、ハンドオーバ前後で重複したり失われてしまったりする可能性があり、必ずしも効率的な通信を実現できるわけではないという課題がある。
上記課題に鑑み、本発明は、効率の良い通信を実現することを考慮しながら、MNが複数のARのいずれかに接続しているが、これらの複数のARのうちのどのARと接続しているかが明確ではない状況(すなわち、MNが、複数のARのうちのいずれか1つと接続している可能性があることは分かるものの、どのARと接続しているかは確実には把握できない状況)において、MN宛てのパケットを、MNに対して確実に配信できるようにすることを目的とする。
上記目的を達成するため、本発明に係るパケット転送方法は、それぞれの配下に所定の通信エリアを形成する複数のアクセスルータと、前記複数のアクセスルータのうちの少なくとも1つに接続して、接続した前記アクセスルータを介して任意の通信装置とパケット通信を行うことが可能な移動端末と、前記任意の通信装置であって前記移動端末とのパケット通信を行う通信相手装置とにより構成される通信ネットワークシステムにおけるパケット転送方法であって、
前記通信相手装置が前記移動端末に対して送信するオリジナルパケットが前記移動端末が接続している可能性のある複数のアクセスルータのいずれか1つに到達する前に、前記オリジナルパケットに係る処理を行うことが可能な通信装置が、前記移動端末が接続している可能性のある複数のアクセスルータの識別情報、及び、前記移動端末が接続している可能性のある複数のアクセスルータのそれぞれに接続する際に用いられる前記移動端末の識別情報の少なくとも一方を移動端末接続候補情報として、前記オリジナルパケットに付加する接続候補情報設定ステップと、
前記移動端末が接続している可能性のある複数のアクセスルータのいずれか1つが、前記オリジナルパケットに対して前記移動端末接続候補情報が付加されたパケットを受信した場合、自身の配下に前記移動端末が現在接続されているか否かを確認する接続確認ステップと、
前記接続確認ステップで前記移動端末が現在接続されていることが確認された場合には、前記アクセスルータが、前記パケット又は前記パケットから前記移動端末接続候補情報を取り除いた前記オリジナルパケットを、前記移動端末に対して送信するパケット送信ステップと、
前記接続確認ステップで前記移動端末が現在接続されていることが確認されなかった場合には、前記アクセスルータが、前記移動端末接続候補情報に記載されている他のアクセスルータに対して、前記パケットを転送するパケット転送ステップとを有している。
この構成により、効率の良い通信を実現することを考慮しながら、MN(移動端末)が複数のAR(アクセスルータ)のいずれかに接続しているが、これらの複数のARのうちのどのARと接続しているかが明確ではない状況において、MN宛てのパケットを、MNに対して確実に配信できるようにすることが可能となる。
さらに、上記構成に加えて、本発明のパケット転送方法では、前記接続候補情報設定ステップにおいて、前記移動端末が接続している可能性のある複数のアクセスルータの順列が把握可能となるように前記移動端末接続候補情報を設定し、前記パケット転送ステップにおいて、前記アクセスルータが、自身の次の順列に位置する他のアクセスルータに対して前記パケットを転送する。
この構成により、ARが、パケットの次のホップ先を明確に把握することができるようになるとともに、MNが接続している可能性の高いARから順にパケットの転送を行えるようになる。
さらに、上記構成に加えて、本発明のパケット転送方法では、前記オリジナルパケットに前記移動端末接続候補情報を付加する通信装置が、前記通信相手装置、及び、前記移動端末が接続している可能性のある複数のアクセスルータを含むネットワークと前記通信相手装置の存在するネットワークとをつなぐゲートウェイの少なくとも一方である。
この構成により、CN又はGWが、オリジナルパケットに移動端末接続候補情報を付加することが可能となる。
さらに、上記構成に加えて、本発明のパケット転送方法では、前記オリジナルパケットに前記移動端末接続候補情報を付加する通信装置が、前記オリジナルパケットのオプションヘッダ内に前記移動端末接続候補情報を設定する。
この構成により、オプションヘッダを理解できない通信装置では、このオプションヘッダは無視されるので、オプションヘッダを理解できない通信装置も、オプションヘッダ内に移動端末接続候補情報が設定されたパケットの中継を行うことが可能となり、本発明に係る通信ネットワークシステムを既存の通信ネットワークシステム内に容易に組み込むことが可能となる。
さらに、上記構成に加えて、本発明のパケット転送方法では、前記オリジナルパケットに前記移動端末接続候補情報を付加する通信装置が、前記オリジナルパケットのトンネリング化を行うとともに、前記トンネリング化されたパケットのオプションヘッダ内に前記移動端末接続候補情報を設定する。
この構成により、オプションヘッダを理解できない通信装置では、このオプションヘッダは無視されるので、オプションヘッダを理解できない通信装置も、オプションヘッダ内に移動端末接続候補情報が設定されたパケットの中継を行うことが可能となり、本発明に係る通信ネットワークシステムを既存の通信ネットワークシステム内に容易に組み込むことが可能となる。また、オリジナルパケットのトンネリング化により、オリジナルパケットの完全性が保持される。
さらに、上記構成に加えて、本発明のパケット転送方法では、前記移動端末が現在接続している前記アクセスルータの位置情報と、前記複数のアクセスルータの配置位置情報とに基づいて、前記移動端末がその後接続する可能性のある複数のアクセスルータが任意のタイミングで推測され、その推測結果から前記移動端末接続候補情報が生成される。
この構成により、MNが現在接続しているARに係る情報から、MNが今後接続する可能性のあるAR候補の絞り込みを行うことが可能となる。
さらに、上記構成に加えて、本発明のパケット転送方法では、前記移動端末の移動方向が把握可能な場合には、前記移動端末との接続状態が切断された前記アクセスルータに係る前記移動端末接続候補情報内の情報が削除される。
この構成により、移動端末接続候補情報内の情報量を制限するとともに、MNが今後接続する可能性のあるAR候補の絞り込みを行うことが可能となる。
また、上記目的を達成するため、本発明に係るパケット処理方法は、それぞれの配下に所定の通信エリアを形成する複数のアクセスルータと、前記複数のアクセスルータのうちの少なくとも1つに接続して、接続した前記アクセスルータを介して通信相手装置とパケット通信を行うことが可能な移動端末とにより構成される通信ネットワークシステム内の前記アクセスルータにおけるパケット処理方法であって、
前記通信相手装置が前記移動端末に対して送信するオリジナルパケットが前記移動端末が接続している可能性のある複数のアクセスルータのいずれか1つに到達する前に、前記オリジナルパケットに係る処理を行うことが可能な通信装置によって、前記移動端末が接続している可能性のある複数のアクセスルータの識別情報、及び、前記移動端末が接続している可能性のある複数のアクセスルータのそれぞれに接続する際に用いられる前記移動端末の識別情報の少なくとも一方を移動端末接続候補情報として、前記オリジナルパケットに付加されたパケットを受信するパケット受信ステップと、
前記オリジナルパケットに対して前記移動端末接続候補情報が付加されたパケットを受信した場合、自身の配下に前記移動端末が現在接続されているか否かを確認する接続確認ステップと、
前記接続確認ステップで前記移動端末が現在接続されていることが確認された場合には、前記アクセスルータが、前記パケット又は前記パケットから前記移動端末接続候補情報を取り除いた前記オリジナルパケットを、前記移動端末に対して送信するパケット送信ステップと、
前記接続確認ステップで前記移動端末が現在接続されていることが確認されなかった場合には、前記アクセスルータが、前記移動端末接続候補情報に記載されている他のアクセスルータに対して、前記パケットを転送するパケット転送ステップとを有している。
この構成により、効率の良い通信を実現することを考慮しながら、MNが複数のARのいずれかに接続しているが、これらの複数のARのうちのどのARと接続しているかが明確ではない状況において、MN宛てのパケットを、MNに対して確実に配信できるようにすることが可能となる。
また、上記目的を達成するため、本発明に係るパケット転送方法は、それぞれの配下に所定の通信エリアを形成する複数のアクセスルータと、前記複数のアクセスルータのうちの少なくとも1つに接続して、接続した前記アクセスルータを介して任意の通信装置とパケット通信を行うことが可能な移動端末と、前記任意の通信装置であって前記移動端末とのパケット通信を行う通信相手装置とにより構成される通信ネットワークシステム内の前記通信相手装置におけるパケット処理方法であって、
前記移動端末が接続している可能性のある複数のアクセスルータの識別情報、及び、前記移動端末が接続している可能性のある複数のアクセスルータのそれぞれに接続する際に用いられる前記移動端末の識別情報の少なくとも一方を移動端末接続候補情報として、前記通信相手装置が前記移動端末に対して送信するオリジナルパケットに付加する接続候補情報設定ステップと、
前記オリジナルパケットに対して前記移動端末接続候補情報が付加されたパケットを送信するパケット送信ステップとを有している。
この構成により、効率の良い通信を実現することを考慮しながら、MNが複数のARのいずれかに接続しているが、これらの複数のARのうちのどのARと接続しているかが明確ではない状況において、MN宛てのパケットを、MNに対して確実に配信できるようにすることが可能となる。
また、上記目的を達成するため、本発明に係るパケット転送方法は、それぞれの配下に所定の通信エリアを形成する複数のアクセスルータと、前記複数のアクセスルータのうちの少なくとも1つに接続して、接続した前記アクセスルータを介して任意の通信装置とパケット通信を行うことが可能な移動端末と、前記任意の通信装置であって前記移動端末とのパケット通信を行う通信相手装置と、前記複数のアクセスルータを含むネットワークと前記通信相手装置の存在するネットワークとをつなぐゲートウェイにより構成される通信ネットワークシステム内の前記ゲートウェイにおけるパケット処理方法であって、
前記通信相手装置が前記移動端末に対して送信したオリジナルパケットを受信するパケット受信ステップと、
前記移動端末が接続している可能性のある複数のアクセスルータの識別情報、及び、前記移動端末が接続している可能性のある複数のアクセスルータのそれぞれに接続する際に用いられる前記移動端末の識別情報の少なくとも一方を移動端末接続候補情報として、前記オリジナルパケットに付加する接続候補情報設定ステップと、
前記オリジナルパケットに対して前記移動端末接続候補情報が付加されたパケットを送信するパケット送信ステップとを有している。
この構成により、効率の良い通信を実現することを考慮しながら、MNが複数のARのいずれかに接続しているが、これらの複数のARのうちのどのARと接続しているかが明確ではない状況において、MN宛てのパケットを、MNに対して確実に配信できるようにすることが可能となる。
本発明は、上記構成を有しており、MNが移動している状況においても、MN宛てのパケットを、MNに対して確実に配信できるようにすることが可能となる。
以下、図面を参照しながら、本発明の第1〜第4の実施の形態について説明する。まず、本発明の概念について説明する。本発明は、MNが複数のARのいずれか1つに接続しているが、これらの複数のARのうちのどのARと接続しているかが明確ではない状況(すなわち、MNが、複数のARのうちのいずれか1つと接続している可能性があることは分かるものの、どのARと接続しているかは確実には把握できない状況)において、MNが接続している可能性がある複数のARのいずれか1つに対してMN宛てのパケットを配送し、このパケットを受けたARが、その配下にMNが存在しているか否かを判断して、MNが配下に存在する場合には、MNにパケットを渡す一方、MNが配下に存在しない場合には、MNが接続している可能性がある別のARにパケットを転送し、結果的に、MNが接続している可能性がある複数のARによって順次、MNにパケットを渡すことができるか否かの判断が行われるようにするものである。
なお、上述のようなMNの接続先が明確ではない状況としては、例えば、MNが、異なるAR間におけるハンドオーバを行って接続先のARの切り換えを行うことによって、MNへのパケットの送信者又は中継者にとって、MNが現在どのARに接続しているかが明確ではない状況が挙げられる。以下では、特に、所定の軌道(道路や線路)上を移動する車両や列車などの移動体にMNが存在しているとともに、この所定の軌道に沿って複数のARが配設されており、MNがARへの接続を切り換えながら所定の軌道上を移動する場合を一例として説明する。また、このような構成(例えば、図1に示す構成)では、通常、各ARの配下に存在するAP(アクセスポイント)によって形成される通信セルが、所定の軌道全体を覆うように配置されているが、特に必要がない限り、APに係る動作に関しては説明を省略する。
まず、以下に、本発明の第1〜第4の実施の形態に共通する通信システムの構成について説明する。図1は、本発明の第1〜第4の実施の形態に共通する通信システムの構成を示す図である。図1に示す通信システム100は、MN(モバイルノード)200、複数のAR(アクセスルータ)300−1〜AR300−N、GW(ゲートウェイ)400、CN(コレスポンデントノード)500、GW400とCN500とをつなぐネットワーク600により構成されている。なお、通信システム100には、複数(N個)のAR300−1〜300−Nが所定の軌道(不図示)に沿って配設されており、図1には、AR1300−1、AR2300−2、ARα300−α、ARN300−Nが図示されている。また、本明細書では、特定のARについて言及する場合には、AR1300−1のように下付き文字を使用して記載するが、特にARを特定する必要がない場合には、単にAR300と記載する。また、図1に示されているネットワークの形態は一例であり、他のネットワークの形態を有するシステムに本発明を適用することも可能である。
図1に示す通信システム100では、GW400を挟んで相互に接続された一方のネットワーク600には、CN500が接続されており、他方のネットワーク(GW400の配下のネットワーク)には、複数のAR300が接続されている。なお、以下では、GW400に対してCN500が接続されているネットワーク600側をGW400の外部と記載することがあり、GW400に対して複数のAR300が接続されているGW400の配下のネットワーク側をGW400の内部と記載することがある。
MN200は、移動可能なノードであり、複数のAR300のいずれか1つと接続して通信を行うことが可能なノードである。また、CN500は、このMN200の通信相手である。なお、MN200とCN500とは、MN200が接続する複数のAR300のうちのいずれか1つ及びGW400を経由して、ネットワーク600(例えば、インターネット)を通じて互いに通信を行うことが可能である。なお、ここでは、移動可能なノードをMNと記載するが、例えば、配下にモバイルネットワークを有するモバイルルータ(MR:Mobile Router)と読み換えることも可能である。
また、各AR300は、MN200の接続を許可し、通信を行うことが可能なノードである。また、GW400は、異なるネットワーク(複数のAR300が接続されているネットワークと、CN500が接続されているネットワーク600)を相互に接続する機能を有している。
以下、本発明の第1〜第4の実施の形態において、上述の図1に示す通信システムに本発明を適用した際の構成及び動作について説明する。
<第1の実施の形態>
まず、本発明の第1の実施の形態について説明する。この第1の実施の形態では、例えば図2に示すように、CN500からMN200宛てに送信されたパケットに対して、GW400が、パケットトンネリングするとともに、MN200が接続している可能性のあるAR300−1〜300−αに係る情報を付加し、この情報に基づいてAR300間でIPパケットが転送されて、最終的にMN200が接続先のAR300からIPパケットを受け取る場合について説明する。
図3〜図5は、本発明の第1の実施の形態におけるMN、AR、GWのそれぞれの構成を示す図である。
まず、図3に示すMN200の構成について説明する。図3に示すMN200は、IPパケット検出部201、IPパケット処理部202、データ処理部203、MN接続候補生成部204、データ生成部205、IPパケット送信部206を有している。
IPパケット検出部201は、このMN200が受信した信号からIPパケットを検出して、IPパケットを取り出すための処理部である。また、IPパケット処理部202は、IPパケット検出部201で取り出したIPパケットに対する処理を行うための処理部である。IPパケット処理部202は、自分宛て(自MN200宛て)のIPパケットのペイロードに対する処理を行って、このペイロードに含まれるデータをデータ処理部203に送る機能を有している。また、IPパケット処理部202は、ペイロードに含まれるデータに、MN200が接続する候補を決定する情報が含まれている場合には、このデータをMN接続候補生成部204に送る機能を有している。
なお、この機能(接続候補決定機能)は、MN200が、MN200の接続するAR候補を自ら生成する場合にのみ用いられるものであって、IPパケット処理部202は、この接続候補決定機能を必ずしも実装する必要はない。また、この接続候補決定機能を実装しない場合には、MN200は、従来利用されているMNによって実現可能である。
また、データ処理部203は、IPパケット処理部202から送られてきたデータを処理する処理部である。また、MN接続候補生成部204は、IPパケット処理部202から送られてきた情報に基づいて、MN200が接続する候補に係る情報(MN接続候補情報)を生成するための処理部である。また、データ生成部205は、MN200が送信するデータを生成するための処理部である。また、IPパケット送信部206は、MN接続候補生成部204で生成されたMN接続候補情報や、データ生成部205で生成されたデータをIPパケットとして送信するための処理部である。
次に、図4に示すAR300の構成について説明する。図4に示すAR300は、IPパケット検出部301、IPヘッダ判定部302、IPパケット処理部303、ホップバイホップオプション処理部304、データ処理部305、近隣AR情報生成部306、AR情報生成部307、MN接続状態確認部308、IPパケット送信部309を有している。
IPパケット検出部301は、本AR300が受信した信号からIPパケットを検出して、IPパケットを取り出すための処理部である。また、IPヘッダ判定部302は、IPパケット検出部301で取り出したIPパケットに対して、IPヘッダの判定を行うための処理部である。このIPヘッダ判定部302によるIPヘッダの判定の結果、ホップバイホップオプションが付加されているIPパケットに関しては、ホップバイホップオプション処理部304に送られ、自AR300宛てのIPパケットに関しては、IPパケット処理部303に送られ、それ以外のIPパケットに関しては、IPパケット転送のためにIPパケット送信部309に送られる。
また、IPパケット処理部303は、IPヘッダ判定部302から送られたIPパケットに対する処理を行うための処理部であり、自分宛て(自AR宛て)のIPパケットのペイロードに対する処理を行って、このペイロードに含まれるデータをデータ処理部305に送る。また、IPパケット処理部303は、ペイロードに含まれるデータに、当該AR300の近隣に存在するAR300に係る情報が含まれている場合には、このデータを近隣AR情報生成部306に送信する。また、ホップバイホップオプション処理部304は、ホップバイホップオプションに対して処理を行うための処理部であり、処理した情報をIPパケット送信部309に送る。また、データ処理部305は、IPパケット処理部303から送られてきたデータを処理するための処理部である。
また、近隣AR情報生成部306は、IPパケット処理部303から送られてきた情報(近隣のAR300に係る情報)に基づいて、MN200が接続するAR300の候補を含む近隣AR情報を生成するための処理部であり、生成した情報をIPパケット送信部309に送る。また、AR情報生成部307は、自AR300の情報(自AR通知情報)を生成するための処理部である。また、MN接続状態確認部308は、MN200が接続されているか否かを確認するための処理部である。また、IPパケット送信部309は、IPヘッダ判定部302から送られたIPパケットや、ホップバイホップオプション処理部304でホップバイホップオプションが処理されたIPパケットを送信したり、近隣AR情報生成部306で生成された近隣AR情報やAR情報生成部307で生成された自AR通知情報をIPパケットとして送信したりするための処理部である。
また、図5に示すGW400の構成について説明する。図5に示すGW400は、IPパケット検出部401、IPヘッダ判定部402、IPパケット処理部403、ホップバイホップオプション処理部404、データ処理部405、MN接続候補データベース生成部406、IPパケット送信部407を有している。
IPパケット検出部401は、本GW400が受信した信号からIPパケットを検出して、IPパケットを取り出すための処理部である。また、IPヘッダ判定部402は、IPパケット検出部401で取り出したIPパケットに対して、IPヘッダの判定を行うための処理部である。このIPヘッダ判定部402によるIPヘッダの判定の結果、ホップバイホップオプションを付加すべきと判定されたIPパケットに関しては、ホップバイホップオプション処理部404に送られ、自GW400宛てのIPパケットに関しては、IPパケット処理部403に送られ、それ以外のIPパケットに関しては、IPパケット転送のためにIPパケット送信部407に送られる。なお、ここでは、IPヘッダ判定部402がIPヘッダの判定を行っているが、IPパケットに記載されている情報に基づいて、IPパケットの送出先となる処理部(すなわち、IPパケットの処理方法)を決定することも可能である。
また、IPパケット処理部403は、IPヘッダ判定部402から送られたIPパケットに対する処理を行うための処理部であり、自分宛て(自GW宛て)のIPパケットのペイロードに対する処理を行って、このペイロードに含まれるデータをデータ処理部405に送る。また、IPパケット処理部403は、ペイロードに含まれるデータに、MN200が接続する候補を通知する情報が含まれている場合には、このデータをMN接続候補データベース生成部406に送信する。また、ホップバイホップオプション処理部404は、IPヘッダ判定部402から送られてきたIPパケットに対するトンネリング化、及びホップバイホップオプションの付加処理などを行うための処理部である。また、データ処理部405は、IPパケット処理部403から送られてきたデータを処理するための処理部である。また、MN接続候補データベース生成部406は、IPパケット処理部403から送られてきた情報に基づいて、MN200が接続する候補となるAR300を示す情報(MN接続候補情報)のデータベース(MN接続候補データベース)を生成するための処理部である。また、IPパケット送信部407は、IPヘッダ判定部402から送られてきたIPパケットや、ホップバイホップオプション処理部404で処理されたIPパケットを送信するための処理部である。
(GW400におけるMN接続候補データベースの作成)
次に、GW400におけるMN接続候補データベースの作成について説明する。このMN接続候補情報は、MN200がCN500からのIPパケット受信時に接続している可能性のある1つ又は複数のAR300の候補を特定する識別情報(例えば、AR300の気付アドレス)を含む情報である。
ここでは、GW400が、AR300から受ける情報(近隣AR情報)に基づいて、ホップバイホップオプションを作成するための基となるMN接続候補情報を取得する方法について説明する。まず、各AR300は、AR情報生成部307において、自AR300の情報(例えば、自AR300のIPアドレス)を示すデータを生成して、IPパケット送信部309に送出することによって、各AR300から他のAR300に対してAR300の情報(自AR通知情報)の通知が行われる。
また、各AR300は、他のAR300から信号を取得した場合、IPパケット検出部301においてIPパケットを検出し、IPヘッダ判定部302に送出する。IPヘッダ判定部302は、自AR300を含むAR300宛てのIPパケットであることを判定して、IPパケット処理部303に送る。IPパケット処理部303は、IPパケットに近隣ARに関する情報が含まれていること(近隣のAR300の自AR通知情報であること)を把握して、近隣ARに係る自AR通知情報を近隣AR情報生成部306に送る。近隣AR情報生成部306は、この近隣ARに係る自AR通知情報を受け取り、近隣AR情報(近隣ARリスト)を生成する。これによって、各AR300は、それぞれの近隣に存在するAR300のリストを生成することが可能となる。
なお、上述の処理では、各AR300が自AR300の情報を交換することによって、近隣AR情報を取得する場合について説明したが、例えば、各AR300の近隣AR情報生成部306に、あらかじめ静的に近隣ARの情報を保持させておくなど、任意の方法によって、AR300が、互いに近隣ARの情報を保持できるようにすることも可能である。
このように、AR300に近隣ARの情報が保持された状態で、MN200がAR300に接続した場合、AR300は、まずMN接続状態確認部308において、MN200の接続を確認する。なお、このときの確認の方法の一例として、IPv6においてはND(近隣発見:Neighbor Discovery)を使用することが可能である。例えば、MN200が新しいAR300に接続する際には、RS(ルータ要請:Router Solicitation)の送信によるRA(ルータ通知:Router Advertisement)の要求や、NS(近隣要請:Neighbor Solicitation)の送信によるDAD(重複アドレス検出:Duplicate Address Detection)が行われる。このようなMN200からの要求を受けたAR300は、MN200からのIPパケットをIPパケット検出部301において検出し、IPヘッダ判定部302で判定を行って、IPパケット処理部303に送る。
このとき、MN200から送られてきた情報がRSやNSの場合には、IPパケット処理部303からMN接続状態確認部308に情報が送られ、MN接続状態確認部308において、特定のCoAを使用したMN200が接続したことが確認される。また、逆にAR300から定期的にNSを送信することによって、MN200が現在も自AR300に接続しているか否かを確認することも可能である。さらに、MN200からモバイルIPv6に基づくBU(バインディングアップデート:Binding Update)が送信された場合には、AR300が、そのIPパケットを確認することによって、MN200が使用するCoAと、MN200が有するHoAとの間の関係付けを行うことも可能である。
以上の処理によって、特定のMN200が自AR300に接続したことが確認された場合には、AR300は、近隣AR情報生成部306において保持されている近隣AR情報の中から、そのMN200が今後接続する可能性のある近隣ARに関する情報(例えば、AR300のIPアドレス)を選択的に抽出し、抽出された近隣ARの一覧を示すMN接続候補情報と、そのMN200のIPアドレスの情報とをIPパケット化して、IPパケット送信部309からGW400に送信することが可能となる。
また、ここでは、IPレイヤにおける処理を用いてMN200の接続の有無を確認する方法を示したが、下位レイヤ(物理層(Physical Layer)やMAC層(MAC Layer))で、MN200の接続の有無の確認を行うようにすることも可能である。
なお、MN200が今後接続する可能性のある近隣ARを選択する際には、例えば、自AR300の電波の届くエリアに隣接するエリアを管轄するAR300を選択したり、自AR300から数エリア内若しくは固定の距離内のAR300を選択したりすることが可能である。また、MN200の移動状況(移動方向や移動速度)の情報を取得し、その値によってAR300の選択範囲を変えることも可能である。すなわち、MN200が高速移動している場合には、選択するAR300の数を増やし、MN200が低速移動している場合には、選択するAR300の数を減らすことも可能である。なお、AR300がMN200の移動状況を把握する方法としては、電波変動(フェージングのドップラ周波数)の検出、MN200からの移動状況の情報通知、AR300間のハンドオーバの状態の管理・計算など、複数の方法が考えられるが、本発明では特に限定されるものではない。また、特に、図1に示すようにAR300が所定の軌道に沿って線形に配設されている場合には、MN200は、線形かつ一方向の移動しか行うことができないことが想定でき、AR300の選択範囲を所定のAR300(例えば、MN200が接続しているAR300)から所定の軌道に沿った範囲とし、その範囲内に配設されているAR300を選択してもよい。
このようにして、AR300からMN接続候補情報を受け取るGW400は、AR300から送られてきた信号をIPパケット検出部401においてIPパケットとして検出してIPヘッダ判定部402に送り、IPヘッダ判定部402が、自GW400宛ての情報であることを把握して、IPパケット処理部403に送る。IPパケット処理部403では、IPパケットのペイロードからMN200が接続する可能性のあるMN接続候補情報を取り出し、取り出したMN接続候補情報をMN接続候補データベース生成部406に送る。MN接続候補データベース生成部406は、受け取ったMN接続候補情報から、各MN200と、各MN200の接続するAR300の候補に係る情報(例えば、AR300の気付アドレス)との対応関係をデータベース化する。これにより、GW400は、特定のMN200が今後接続する可能性のあるAR300を示すMN接続候補情報を取得し、MN接続候補データベースを作成することが可能となる。
なお、GW400がMN接続候補情報を取得する方法は、上述の方法に限らず、他の任意の方法を取ることが可能である。例えば、上述した方法以外の例としては、GW400がAR300の配置位置を動的又は静的に把握し、GW400が、特定のAR300から、MN200が接続した旨の通知を受けた場合には、MN200が特定のAR300から移動する移動先のAR300を予測して、その予測結果をMN接続候補情報とするなどの方法が挙げられる。
また、特に、所定の軌道上のみを移動する移動体内にMN200が配置されている場合や、移動体の移動方向が把握可能な場合などのように、MN200の移動の態様が限定されている場合には、ある時点においてMN200が接続しているAR300が把握されれば、その後のMN200の移動先となるAR300を容易に予測し、MN接続候補情報内に記載されるAR300を限定することが可能となる。この場合、さらに、移動体の速度(MN200の移動の速度)や、移動体のタイムスケジュール(例えば、移動体が列車の場合には、時刻表)などを参照することによって、MN200の接続先となるAR300の絞り込みを行うことも可能である。また、上述のような場合には、所定の軌道に沿ってAR300が配設されるなど、AR300の配置とMN200の移動方向との関係があらかじめ俯瞰的に分かるため、AR300間における情報交換(自AR通知情報の交換)などの処理が軽減できるか、又は、情報交換自体を行うことなく、AR300やGW400が、当該通信システム100全体のネットワーク構成をあらかじめ把握できるように構成することも可能である。
(CN500からMN200へのIPパケットの伝送)
次に、CN500からMN200に対してIPパケットが伝送される際の通信システムにおける動作について説明する。なお、図6に示すシーケンスチャート(ステップS1100番台)によって、通信システム全体におけるIPパケットの流れを説明するとともに、図7及び図8に示すフローチャート(ステップS1400番台、ステップS1300番台)によって、GW400及びAR300の処理の詳細について説明する。
本発明の第1の実施の形態では、GW400によって、MN200の接続先となり得る1つ又は複数のAR300の指定が行われるように構成されており、まず、GW400が、MN200に係るMN接続候補データベースを作成する必要がある。例えば、MN200がAR1300−1に接続した場合(図6のステップS1101)、AR1300−1がMN接続候補情報を生成して、GW400に通知する(図6のステップS1103)。GW400は、AR1300−1からのMN接続候補情報に基づいて、特定のMN200に係るMN接続候補データベースを作成する(図6のステップS1105)。なお、このステップS1105までの処理は、上述のMN接続候補データベースの作成に係る処理によって行われる。
CN500がMN200宛てのIPパケットを送信した場合、CN500によって送信されたMN200宛てのIPパケットは、ネットワーク600を通じて、まずGW400に入力される(図6のステップS1107、図7のステップS1401)。このCN500からGW400に伝送されるIPパケットのフォーマットは、図9に示す通常のIPv6におけるパケットフォーマットや、図10に示す通常のモバイルIPv6におけるパケットフォーマットが使用される。なお、以下の説明では、図10に示すモバイルIPv6が使用されていることを想定して説明を行うが、モバイルIPv6の使用は必須ではなく、他の任意のプロトコルにおけるパケットフォーマットの使用が可能である。
GW400は、CN500から送られてきた信号を、IPパケット検出部401においてIPパケットとして取り出して、IPヘッダ判定部402に出力する(図7のステップS1403)。IPヘッダ判定部402は、IPヘッダに記載されている終点アドレス(Destination Address)、ホームアドレスオプション(Home Address Option)、その他の情報などに基づいて、ホップバイホップオプションを付加するか否かを判断し(図7のステップS1405)、ホップバイホップオプションを付加する場合には、ホップバイホップオプション処理部404に送る。なお、ホップバイホップオプションを付加しない場合には、通常のIPパケット転送処理が行われる(図7のステップS1407)。
IPヘッダ判定部402からIPパケットを受けたホップバイホップオプション処理部404は、MN200のホームアドレスの情報をキーワードとして、MN接続候補データベース生成部406に対して、MN200が接続するAR300の候補の情報を問い合わせ、MN200が現在接続している可能性のあるAR300が記載されたMN接続候補情報を取得する(図7のステップS1409)。なお、ここでは、MN200が現在接続している可能性のあるAR300として、k個のAR300(AR1300−1〜ARk300−k)が選択され、MN接続候補情報には、AR1300−1〜ARk300−kのそれぞれの識別情報(例えば、気付アドレス)が含まれているものとする。
ホップバイホップオプション処理部404は、IPパケットに関して、現在MN200が接続していると思われるAR300(MN200が現在接続している可能性が最も高いと思われるAR300)(ここではAR1300−1とする)に対するトンネリング化処理を行うとともに、MN接続候補情報内のAR300のうち、現在接続していると思われるAR1300−1以外のAR300(ここではAR2300−2〜ARk300−kとなる)のIPアドレスをホップバイホップオプションとして付加する(図6のステップS1109、図7のステップS1411)。以下では、トンネリング化されたIPパケットに包含されるCN500から送信されたIPパケットを、オリジナルIPパケットと呼ぶことがある。
なお、このホップバイホップオプションによって付加されるAR2300−2〜ARk300−kのIPアドレスは、IPパケットが順次転送される転送先のAR2300−2〜ARk300−kを表すものであり、例えば、ホップバイホップオプションに記載された順番に従って、各AR2300−2〜ARk300−kに転送されるようにルールを定めることによって、転送先のAR2300−2〜ARk300−kのIPアドレスの付加と同時に、その転送に係る優先度の設定を行うことも可能である。
ホップバイホップオプション処理部404によるトンネリング化及びホップバイホップオプションの付加が行われた結果、図11に示すようなパケットフォーマットを有するIPパケットが生成される。この図11に示すパケットフォーマットを有するIPパケットは、IPパケット送信部407に送出され、GW400からAR1300−1宛てに送信される(図6のステップS1111、図7のステップS1413)。
AR1300−1は、GW400から送られてきたIPパケットに係る信号を受信し(図8のステップS1301)、IPパケット検出部301においてIPパケットとして取り出して(図8のステップS1303)、IPヘッダ判定部302に出力する。IPヘッダ判定部302は、受信したIPパケットが自AR1300−1宛てに送信されたものであり、さらにホップバイホップオプションが付加されていることを検出して(図8のステップS1305)、このIPパケットをホップバイホップオプション処理部304に送る。
ホップバイホップオプション処理部304は、トンネリング化されたIPパケットの中に含まれているオリジナルIPパケットの終点アドレス、又はルーティングヘッダのホームアドレスなどのMN200を識別するための情報を使って、該当するMN200が自AR1300−1に接続しているか否かをMN接続状態確認部308に対して確認する(図8のステップS1307)。
そして、MN接続状態確認部308による確認によって、MN200が現時点において自AR1300−1に接続していることが分かった場合には、トンネリング化されたIPパケットのデトンネリング化、及びホップバイホップオプションの削除を行って(図6のステップS1113、図8のステップS1309)、IPパケット送信部309に送出する。その結果、AR1300−1からMN200に対して、IPパケットが送信されることになる(図6のステップS1115、図8のステップS1311)。このとき、AR1300−1からMN200に対して送信されるIPパケットは、CN500から送信されたオリジナルIPパケットであり、図9又は図10に示すオリジナルIPパケットのパケットフォーマットを有している。
一方、MN接続状態確認部308による確認によって、例えば、オリジナルIPパケット内のCoA1(AR1300−1との接続時に使用されるMN200のCoA)に相当するMN200が、すでに別のAR300(例えば、AR2300−2)へのハンドオーバを行っており(図6のステップS1117)、現時点において自AR1300−1に接続していないことが分かった場合には、ホップバイホップオプション処理部304は、トンネリング化されたIPパケットの再構築を行う。なお、以降、ARi300−iとの接続時に使用されるMN200のCoAをCoAiと記載する。
具体的には、CN500からGW400を経由して送信されてきたIPパケット(図6のステップS1119〜S1123)に対して、AR1300−1は、ホップバイホップオプションに含まれているAR2300−2〜ARk300−kのいずれか1つのARを次の転送先のARとして選択(例えば、ホップバイホップオプションの先頭に記載されており、優先度の最も高いAR2300−2を選択)して(図8のステップS1313)、このAR2300−2に対するトンネリング化処理を行うとともに、選択したAR2300−2のIPアドレスを消去したホップバイホップオプションを付加する(図8のステップS1315)。なお、このIPパケットの再構築処理は、単に、送信されてきたIPパケットの送信先アドレスを選択されたアドレスで置き換えるという簡単な処理であり、送信されてきたIPパケットを再利用することができる。
この結果、図12に示すように、AR2300−2の宛て先に設定されたトンネリングヘッダを有するとともに、AR3300−3〜ARk300−kのIPアドレスがホップバイホップオプションとして付加されたIPパケットが生成される。この図12に示すパケットフォーマットを有するIPパケットは、IPパケット送信部309に送出され、AR1300−1からAR2300−2宛てに送信される(図6のステップS1125、図8のステップS1317)。
AR2300−2では、AR1300−1から送信されたこのIPパケットを受信した場合には、基本的に上述のAR1300−1と同様の処理が行われる。すなわち、該当するMN200が自AR2300−2に接続しているか否かを確認し、MN200が自AR2300−2に接続している場合には、IPパケットのデトンネリング化(及びホップバイホップオプションの削除)を行って(図6のステップS1127)、MN200に対してオリジナルIPパケットを送信する(図6のステップS1129)。
一方、MN200が自AR2300−2に接続していない場合には、AR2300−2は、上述のAR1300−1からAR2300−2へのIPパケットの転送と同様の処理を行って、ホップバイホップオプションによって指定された次の転送先のAR(例えば、AR3300−3)に対して、トンネリング化されたIPパケットの送信を行う。
また、さらに、MN200がハンドオーバを行って(図6のステップS1131)、ARα300−α(αは1≦α≦kまでの任意の値)に接続先を変更した場合も同様の処理が行われる。すなわち、CN500からGW400を経由して送信されてきたIPパケット(図6のステップS1133〜S1137)に対して、MN200の接続確認を行いながら、AR300は順次、MN200の移動(ハンドオーバ)に追随するようにIPパケットの転送を行って(ステップS1139、ステップS1141)、最終的に、MN200が接続しているARα300−αが、IPパケットのデトンネリング化及びホップバイホップオプションの削除を行って(図6のステップS1143)、MN200に対してオリジナルIPパケットを送信する(図6のステップS1145)ことができるように構成されている。
ただし、最終的に、IPパケットが到達した時点でMN200が接続しているAR(ARα300−α)から、MN200に対して、オリジナルIPパケットが渡されることになる。したがって、α=1の場合とα≠1とでは、AR300は異なる処理を行う必要が生じる場合もある。
例えば、MN200がAR1300−1(α=1)に接続しており、オリジナルIPパケットに含まれているMN200のCoA1を使用している場合には、オリジナルIPパケットの終点に指定されているMN200のCoA1との対応関係が明確であり、AR1300−1は、MN200の接続状態を確認するとともに、MN200が配下に存在する場合には、MN200に対してオリジナルIPパケットを送信することは容易である。しかしながら、MN200が、AR1300−1とは異なるAR2300−2〜ARk300−kのいずれかに移動しており、オリジナルIPパケットに含まれているMN200のCoA1とは異なるCoA(CoA2〜CoAkのいずれか)を使用している場合には、AR2300−2〜ARk300−kは、オリジナルIPパケットの終点に指定されているCoA1を参照しただけでは、MN200が配下に接続しているか否かを把握することは不可能となるという問題が生じる。
上述の問題を解決するためには、例えば、MN200がAR2300−2〜ARk300−kが、接続するMN200によって送信されたRS/NS又はBUを用いて、そのAR2300−2〜ARk300−kの配下でMN200が使用するCoA2〜CoAkと、MN200のHoAとの関係を取得できるように構成すればよい。これにより、AR300が、受信したIPパケットに含まれるHoAから、そのHoAに対応するMN200のCoA2〜CoAkを導くことが可能となり、MN200の接続状態の確認などが行えるようになる。また、例えば、AR300が近隣のAR300(MN接続候補情報に記載されたAR300)に対して、MN200のCoAやHoAと共に、MN200のレイヤ2アドレス(リンクレイヤアドレス)を教えることによって、近隣のAR300が、MN200の接続状態の確認などを行えるようにすることも可能である。
なお、AR2300−2〜ARk300−kからMN200に対してオリジナルIPパケットを渡すことを考慮した場合には、例えば、過去に用いていたCoA(具体的には、オリジナルIPパケットの終点に指定されているCoA1)に対する受信機能をMN200に設けたり、オリジナルIPパケットの終点アドレスを、MN200が現時点で使用しているCoA(CoA2〜CoAk)に変換して、終点アドレスが現時点でのMN200のCoAに変更されたIPパケットをMN200に対して送信する機能をAR2300−2〜ARk300−kに設けたりすることが望ましい。
また、例えば、AR300が、MN200が接続している状態から未接続の状態となって所定の時間が経過(例えば、他のAR300にハンドオーバを行ってから所定の時間が経過)したことを検出した場合には、GW400に対して、MN接続候補データベースのAR候補から除外するように要求を行うことも可能である。また、MN200が新たに接続した場合に、GW400に対して新たなMN接続候補情報を提供する役割を有するAR300を定めておいたり、GW400からAR300に対して、新たなMN接続候補情報の送信要求を行ったりすることも可能である。これらによって、MN200の移動に伴って、GW400が格納するMN接続候補データベースの更新を行うことが可能となる。
また、上述の第1の実施の形態における態様では、MN200が現時点で接続しているAR300の探索を、AR300の識別情報(例えば、AR300の気付アドレス)を用いて行っているが、AR300の識別情報ではなく、例えば、MN200が各AR300に接続した場合に割り当てられるCoAを用いるようにしてもよい。この場合、MN接続候補情報内には、MN200が現在接続している可能性のあるAR1300−1〜ARk300−kにおいて、MN200に対して割り当てられるMN200のCoAの一覧が記載されることとなる。なお、この場合には、GW400は、MN200に対して割り当てられることになるCoA1〜CoAkをあらかじめ把握しておく必要があり、例えば、MN200がAR1300−1に接続した時点で、AR2300−2〜ARk300−kにおいてMN200に割り当てられるCoA2〜CoAkが定められるようにすることが望ましい。
また、上述の第1の実施の形態における態様では、GW400によって、IPパケットにトンネリングヘッダ及びホップバイホップオプションが付加され、MN200が接続されているAR300において、トンネリングヘッダ及びホップバイホップオプションが削除されるように構成されており、この構成によって、MN200の探索(例えば、MN200の移動に追随)を行うための経路設定が可能となるようにしているが、他の経路設定に係る方法を採用することも可能である。
他の経路設定の方法としては、例えば、図13に図示されているように、GW400によって、トンネリングヘッダの付加を行わずに、IPパケットに対して直接ホップバイホップオプションを挿入して(図14のフォーマットを参照)、このパケットフォーマットのIPパケットがAR300間で転送されるようにするとともに、MN200が接続されているAR300において、このホップバイホップオプションの削除が行われるようにする方法などが挙げられる。なお、この方法の場合には、図6のステップS1109、S1121、S1135において、GW400によるトンネリング化処理は行われず、図6のステップS1113、S1127、S1143において、デトンネリング化処理も行われない。
<第2の実施の形態>
次に、本発明の第2の実施の形態について説明する。この第2の実施の形態では、上述の第1の実施の形態と同様に、CN500からMN200宛てに送信されたパケットに対して、GW400が、パケットトンネリングするとともに、MN200が接続している可能性のあるAR300に係る情報を付加し、この情報に基づいてAR300間でIPパケットが転送されるが、例えば図15に示すように、最終的にMN200がトンネリングヘッダの付加されたIPパケットを受信し、MN200自身で、トンネリングヘッダの削除を行う場合について説明する。
この第2の実施の形態におけるCN500及びGW400は、上述の第1の実施の形態と同一のものが使用可能である。一方、AR300及びMN200に関しては、第1の実施の形態において、AR300に配置されているパケットのトンネリングヘッダの削除機能(具体的には、MN200に対してパケットを送信する際に、トンネリングヘッダやホップバイホップオプションの削除を行うためのホップバイホップオプション処理部304の機能)が、第2の実施の形態では、MN200に配置されるように構成されている。
すなわち、この第2の実施の形態では、AR300及びMN200として、図4に図示されているAR300のホップバイホップオプション処理部304からトンネリングヘッダの削除機能が削除されたAR300と、図3に図示されているMN200のIPパケット処理部202から出力されるIPパケットにトンネリングヘッダが付加されている場合に、このトンネリングヘッダやホップバイホップオプションの削除を行うため機能を有するホップバイホップオプション処理部を有するMN200が使用可能である。
次に、本発明の第2の実施の形態における動作について、図6を参照しながら説明する。本発明の第2の実施の形態では、GW400におけるMN接続候補データベースの作成やCN500からGW400へのIPパケットの伝送、GW400における処理、AR300間におけるIPパケットの伝送は、上述の第1の実施の形態と同一である。
一方、IPパケットを受信した時点で、IPパケットの終点(送信先)となるMN200が接続されているAR300は、IPパケットをそのままのフォーマット(図11のフォーマット)でMN200に転送する。すなわち、この第2の実施の形態では、図6に図示されているシーケンスチャートにおいて、ステップS1113、S1127、S1143における処理は行われず、ステップS1115、S1129、S1145において、図11のフォーマットのIPパケットが、AR300からMN200に送信される。
そして、図6のステップS1115、S1129、S1145において、図11のフォーマットのIPパケットを受信したMN200は、自分宛てのIPパケットであることを確認し、トンネリングヘッダやホップバイホップオプションの削除などの処理を経て、IPパケットのペイロードに含まれているデータを取り出すことによって、IPパケット内のデータを処理することが可能となる。
なお、この第2の実施の形態においても、上述の第1の実施の形態と同様に、MN接続候補情報として、AR300のIPアドレスの代わりにMN200のCoAを使用したり、MN接続候補データベースを適宜更新したりすることが可能である。
また、上述の第2の実施の形態における態様では、GW400によってIPパケットにトンネリングヘッダ及びホップバイホップオプションが付加され、MN200によってトンネリングヘッダ及びホップバイホップオプションが削除されるように構成されており、この構成によって、MN200の探索(例えば、MN200の移動に追随)を行うための経路設定が可能となるようにしているが、上述の第1の実施の形態と同様に、他の経路設定に係る方法を採用することも可能である。
他の経路設定の方法としては、例えば、図16に図示されているように、GW400によって、トンネリングヘッダの付加を行わずに、パケットに対して直接ホップバイホップオプションを挿入して(図14のフォーマットを参照)、このパケットフォーマットのIPパケットがAR300間で転送されるようにするとともに、MN200において、このホップバイホップオプションの削除が行われるようにする方法などが挙げられる。なお、この方法の場合には、図6のステップS1109、S1121、S1135において、GW400によるトンネリング化処理は行われず、IPパケットを受信したMN200によるデトンネリング化処理も行われない。
<第3の実施の形態>
次に、本発明の第3の実施の形態について説明する。この第3の実施の形態では、例えば図17に示すように、CN500がMN200宛てのIPパケットを送信する際に、パケットトンネリングするとともに、MN200が接続している可能性のあるAR300に係る情報を付加したIPパケットを送信し、この情報に基づいてAR300間でIPパケットが転送され、最終的にMN200が接続先のAR300からIPパケットを受け取る場合について説明する。
この第3の実施の形態では、CN500によってIPパケットのトンネリング化が行われるため、CN500が、MN200が接続している可能性のあるAR300を示すMN接続候補情報を取得・格納したり、MN接続候補情報内の識別情報をIPパケットに付加したりする機能を有している。
図18は、本発明の第3の実施の形態におけるCNの構成を示す図である。図18に示すCN500は、IPパケット検出部501、IPパケット処理部502、データ処理部503、MN接続候補データベース生成部504、データ生成部505、ホップバイホップオプション処理部506、IPパケット送信部507を有している。
IPパケット検出部501は、CN500が受信した信号からIPパケットを検出して、IPパケットを取り出すための処理部である。また、IPパケット処理部502は、IPパケット検出部501で取り出したIPパケットに対する処理を行うための処理部である。IPパケット処理部502は、自分宛て(自CN500宛て)のIPパケットのペイロードに対する処理を行って、このペイロードに含まれるデータをデータ処理部503に送る機能を有している。また、IPパケット処理部502は、ペイロードに含まれるデータに、MN200が接続する候補を通知する情報が含まれている場合には、このデータをMN接続候補データベース生成部504に送信する。
また、データ処理部503は、IPパケット処理部502から送られてきたデータを処理する処理部である。また、MN接続候補データベース生成部504は、IPパケット処理部502から送られてきた情報に基づいて、MN200が接続する候補となるAR300を示す情報(MN接続候補情報)のデータベース(MN接続候補データベース)を生成するための処理部である。
また、データ生成部505は、CN500が送信するデータを生成するための処理部である。なお、データ生成部505で生成されたデータのうち、本発明を利用してMN200に送信されるデータは、ホップバイホップオプション処理部506に送出され、その他のデータは、IPパケット送信部507に送出される。また、IPパケット送信部507は、データ生成部505で生成されたデータや、ホップバイホップオプション処理部506で処理されたIPパケットを送信するための処理部である。
また、ホップバイホップオプション処理部506は、データ生成部505から受けたデータに対して、IPパケットのトンネリング化、及びホップバイホップオプションの付加処理などを行うための処理部である。なお、このとき、ホップバイホップオプション処理部506は、MN接続候補データベース生成部504によって作成されたMN200に係るMN接続候補情報を参照して、AR300間における転送を経たMN200への伝送が可能となるように、MN200に送信するIPパケットに対する処理を行う。ここでは、上述の第1の実施の形態におけるGW400と同様に、例えば、MN200へのIPパケットに対して、現在MN200が接続していると思われるAR300(MN200が現在接続している可能性が最も高いと思われるAR300)に対するトンネリング化処理が行われ、MN接続候補情報内のAR300のうち、現在接続していると思われるAR1300−1以外のAR300のIPアドレスがホップバイホップオプションとして付加される。
一方、本発明の第3の実施の形態におけるGW400は、上述の第1の実施の形態のようなMN接続候補情報に基づくパケットへの情報付加機能を有する必要はなく、必ずしも、ホップバイホップオプションを理解できる必要はない。例えば、本発明の第3の実施の形態におけるGW400として、従来の構成を有するGW400を使用することも可能である。
次に、本発明の第3の実施の形態における動作について説明する。本発明の第3の実施の形態では、まず、CN500がMN接続候補情報を取得して、MN接続候補データベースを作成する必要がある。これは、例えば、上述の第1の実施の形態でGW400によって作成されたMN接続候補データベースが、GW400からCN500に通知されるようにしたり、AR300間のメッセージ交換によって作成されたAR近隣リストが、AR300に接続したMN200に通知され、その後、MN200からCN500に対して、MN接続候補情報として通知されるようにしたりするなど、様々な方法によって実現可能である。
本発明の第3の実施の形態では、上述の第1の実施の形態に比べて、基本的に、CN500及びGW400の動作が異なるのみである。すなわち、AR300やMN200に係る動作に関しては、本発明の第1及び第3の実施の形態では同一となり得る。以下、図6を参照して、上述の第1の実施の形態との相違点を説明しながら、本発明の第3の実施の形態におけるCN500及びGW400の動作について説明する。
本発明の第3の実施の形態では、まず、CN500によってMN接続候補データベースが作成される。すなわち、この第3の実施の形態では、図6に図示されているシーケンスチャートのステップS1105における処理が、CN500によって行われる。次に、CN500がMN200に対してIPパケットを送信する場合、CN500は、IPパケットに対して、トンネリングヘッダ及びホップバイホップオプションの付加処理を行った後、IPパケットを送信する。すなわち、CN500は、IPパケットを送信する際、図6に図示されているシーケンスチャートのステップS1109、S1121、S1135における処理を行った後に、ステップS1111、S1123、S1137において、図11のフォーマットのIPパケットの送信を行う。
一方、GW400は、GW400の外部に存在するCN500から、MN200宛てのIPパケットを受信した場合、このIPパケットをそのままのフォーマット(図11のフォーマット)で、IPパケットの終点アドレス(図11に図示されているパケットの場合には、AR1300−1のCoA)に向けて転送する。すなわち、図6に図示されているシーケンスチャートのステップS1109、S1121、S1135における処理は、本発明の第3の実施の形態におけるGW400では行われない。その後のAR300間における転送処理及びMN200への転送処理は、上述の第1の実施の形態と同一である。
なお、この第3の実施の形態においても、上述の第1及び第2の実施の形態と同様に、MN接続候補情報として、AR300のIPアドレスの代わりにMN200のCoAを使用したり、MN接続候補データベースを適宜更新したりすることが可能である。
また、上述の第3の実施の形態における態様では、CN500によってIPパケットにトンネリングヘッダ及びホップバイホップオプションが付加され、AR300によってトンネリングヘッダ及びホップバイホップオプションが削除されるように構成されており、この構成によって、MN200の探索(例えば、MN200の移動に追随)を行うための経路設定が可能となるようにしているが、他の経路設定に係る方法を採用することも可能である。他の経路設定の方法としては、例えば、図19に図示されているように、上述の第1の実施の形態の説明に記載されている、パケットに直接ホップバイホップオプションを挿入する方法などが挙げられる。
<第4の実施の形態>
次に、本発明の第4の実施の形態について説明する。本発明の第4の実施の形態は、上述の第2及び第3の実施の形態を組み合わせたものと言える。すなわち、例えば、図20や図21に図示されているように、CN500によるIPパケットの送信処理、GW400におけるIPパケットの転送処理、AR300間におけるIPパケットの転送処理に関しては、上述の第3の実施の形態の動作に基づいて行われ、AR300からMN200へのIPパケットの送信処理及びMN200におけるIPパケットの処理に関しては、上述の第2の実施の形態に基づいて行われるように構成されている。
また、この第4の実施の形態のように、上述の各実施の形態を様々に組み合わせることによって、本発明の目的を達成するような他の構成を実現することも可能である。これらの各組み合わせは、上述の各実施の形態を参照することによって実現可能であり、本発明の範疇に属するものである。
以上、説明したように、本発明によれば、MN200が複数のAR300のいずれか1つに接続しているが、これらの複数のAR300のうちのどのAR300と接続しているかが明確ではない状況において、MN200が接続している可能性がある複数のAR300のいずれか1つに対してMN200宛てのパケットを配送し、このパケットを受けたAR300が、その配下にMN200が存在しているか否かを判断して、MN200が配下に存在する場合には、MN200にパケットを渡す一方、MN200が配下に存在しない場合には、MN200が接続している可能性がある別のAR300にパケットを転送し、結果的に、MN200が接続している可能性がある複数のAR300によって順次、MN200にパケットを渡すことができるか否かの判断が行われるようにすることが可能となり、MN200が移動している状態であっても、MN200宛てのパケットを、MN200に対して確実に配信できるようにすることが可能となる。
なお、上記の本発明の実施の形態の説明で用いた各機能ブロックは、典型的には集積回路であるLSI(Large Scale Integration)として実現される。これらは個別に1チップ化されてもよいし、一部又はすべてを含むように1チップ化されてもよい。なお、ここでは、LSIとしたが、集積度の違いにより、IC(Integrated Circuit)、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。例えば、バイオ技術の適応などが可能性としてあり得る。
本発明は、MNが移動している状況においても、MN宛てのパケットを、MNに対して確実に配信できるようにするという効果を有しており、IPモビリティ技術に適用可能である。
本発明の第1〜第4の実施の形態に共通する通信システムの構成を示す図
本発明の第1の実施の形態において伝送されるパケットの一例を模式的に示す図
本発明の第1の実施の形態におけるMNの構成を示す図
本発明の第1の実施の形態におけるARの構成を示す図
本発明の第1の実施の形態におけるGWの構成を示す図
本発明の第1の実施の形態における通信システム全体に係る動作を示すシーケンスチャート
本発明の第1の実施の形態におけるGWの処理の詳細を示すフローチャート
本発明の第1の実施の形態におけるARの処理の詳細を示すフローチャート
通常のIPv6におけるパケットフォーマットの一例を示す図
通常のモバイルIPv6におけるパケットフォーマットの一例を示す図
本発明の第1の実施の形態におけるGW400からAR1300−1に対して送信されるIPパケットのパケットフォーマットの一例を示す図
本発明の第1の実施の形態におけるAR1300−1からAR2300−2に対して送信されるIPパケットのパケットフォーマットの一例を示す図
本発明の第1の実施の形態において伝送されるパケットの別の一例を模式的に示す図
本発明の第1の実施の形態におけるGW400からAR1300−1に対して送信されるIPパケットのパケットフォーマットの別の一例を示す図
本発明の第2の実施の形態において伝送されるパケットの一例を模式的に示す図
本発明の第2の実施の形態において伝送されるパケットの別の一例を模式的に示す図
本発明の第3の実施の形態において伝送されるパケットの一例を模式的に示す図
本発明の第3の実施の形態におけるCNの構成を示す図
本発明の第3の実施の形態において伝送されるパケットの別の一例を模式的に示す図
本発明の第4の実施の形態において伝送されるパケットの一例を模式的に示す図
本発明の第4の実施の形態において伝送されるパケットの別の一例を模式的に示す図