以下、本発明の実施の形態について、図面を参照しながら説明する。
図1は、本発明の一実施形態にかかるネットワークシステムを示す構成図である。
このネットワークシステム1は、IPv4およびIPv6を両方とも利用するLAN−a100と、IPv4のみを利用するLAN−b101と、公衆回線や専用線によってLAN−a100とLAN−b101間を接続するWAN102からなる。
LAN−a100上には、IPv4端末103と、IPv6端末104と、Mobile IPv4に従った手順によりIPv4を利用した通信を行う端末に対するネットワーク間移動を支援するIPv4移動支援装置a105と、IPv4/v6移動端末106と、IPv4およびIPv6を利用した通信を行い且つIPv6を利用した通信を行う端末に対するネットワーク間移動を支援するIPv6移動支援装置107が存在する。IPv6移動支援装置107は、ルータとしても動作し、LAN−a100とWAN102間を接続する。
LAN−b101上には、IPv4移動支援装置b108と、ルータ109とが存在する。ルータ109はLAN−b101とWAN102間を接続する。
本実施形態例では、IPアドレスは、
IPv4アドレス IPv6アドレス
LAN−a100 “10.0.0.0” “::11.0.0.0”
IPv4端末103 “10.0.0.10”
IPv6端末104 “::11.0.0.30”
IPv4/v6移動端末106 “10.0.0.1” “::11.0.0.1”
IPv4移動支援装置a105 “10.0.0.11”
IPv6移動支援装置107 “10.0.0.20” “::11. 0.0.20”
LAN−b101 “20.0.0.0”
IPv4移動支援装置b108 “20.0.0.11”
をそれぞれ保持するものとする。
IPv4/v6移動端末106は、別のネットワークへ移動した時に各種処理を行うIPv4/v6移動処理部114と、別のネットワークへ移動したことを検出する処理を行う移動検出処理部115と、別のIPv4ネットワークまたはIPv4/v6ネットワークへ移動したことをIPv4移動支援装置a105へ通知する移動通知処理を行うIPv4移動登録処理部116と、別のIPv6ネットワークまたはIPv4/v6ネットワークへ移動したことをIPv6移動支援装置107へ通知する移動通知処理を行うIPv6移動登録処理部117と、別のIPv4ネットワークへ移動したことをIPv6移動支援装置107へ通知する移動通知処理を行うIPv4only移動登録処理部118と、移動状態を管理する移動状態管理テーブル119と、IPv4の提供するサービスに従った処理を行うIPv4処理部111と、IPv6の提供するサービスに従った処理を行うIPv6処理部112と、IPv6パケットの送信処理を行うIPv6パケット送信処理部113と、LANへのパケットの送受信制御等を行う通信処理部110とを具備している。
上記IPv4/v6移動端末106の構成要素の内、本発明において特に設けたものは、移動検出処理部114と、IPv4only移動登録処理部118と、IPv6パケット送信処理部113と、移動状態管理テーブル119である。
IPv6移動支援装置107は、IPv4/IPv6移動端末106またはIPv6を利用した通信を行い且つネットワーク間を移動するIPv6移動端末(図示省略)からの移動通知(IPv6ネットワークまたはIPv4/v6ネットワークへ移動したことの通知)を受けて支援を行うIPv6移動支援処理部121と、移動端末の移動状態情報を管理する移動端末管理テーブル126と、IPv4の提供するサービスに従った処理を行うIPv4処理部122と、IPv4/v6移動端末106がIPv6端末104へ送信したパケットの転送を行う他端末宛転送処理部123と、IPv6の提供するサービスに従った処理を行うIPv6処理部124と、IPv6端末104がIPv4/v6移動端末106へ送信したパケットの転送を行う移動端末宛転送処理部125と、LANへのパケットの送受信制御等を行う通信処理部120とを具備している。
上記IPv6移動支援装置107の構成要素の内、本発明において特に設けたものは、IPv6移動支援処理部121と、他端末宛転送処理部123と、移動端末宛転送処理部125と、移動端末管理テーブル126である。
図2に、移動状態管理テーブル119の構成例を示す。
移動状態管理テーブル119は、次のフィールドを有している。
・自IPv4アドレス200:IPv4/v6移動端末106の移動を支援するIPv6移動支援装置107が存在するLAN−a100上におけるIPv4/v6移動端末106のIPv4アドレスである。
・自IPv4ネットワークアドレス201:IPv4/v6移動端末106の移動を支援するIPv6移動支援装置107が存在するLAN−a100のIPv4ネットワークアドレスである。
・自IPv6アドレス202:IPv4/v6移動端末106の移動を支援するIPv6移動支援装置107が存在するLAN−a100上におけるIPv4/v6移動端末106のIPv6アドレスである。
・自IPv6ネットワークアドレス203:IPv4/v6移動端末106の移動を支援するIPv6移動支援装置107が存在するLAN−a100のIPv6ネットワークアドレスである。
・IPv4移動支援装置IPv4アドレス204:IPv4/v6移動端末106の移動を支援するIPv4移動支援装置a105が存在するLAN−a100上のIPv4移動支援装置a105のIPv4アドレスである。
・IPv6移動支援装置IPv4アドレス205:IPv4/v6移動端末106の移動を支援するIPv6移動支援装置107が存在するLAN−a100上のIPv6移動支援装置107のIPv4アドレスである。
・IPv6移動支援装置IPv6アドレス206:IPv4/v6移動端末106の移動を支援するIPv6移動支援装置107が存在するLAN−a100上のIPv6移動支援装置107のIPv6アドレスである。
・移動後IPv4ネットワークアドレス207:IPv4/v6移動端末106が現時点において存在しているネットワークのIPv4ネットワークアドレスである。
・移動前IPv4ネットワークアドレス208:IPv4/v6移動端末106が移動する前のネットワークのIPv4ネットワークアドレスである。
・移動後IPv6ネットワークアドレス209:IPv4/v6移動端末106が現時点で存在しているネットワークのIPv6ネットワークアドレスである。現時点で存在しているネットワークがIPv4ネットワークであった場合には“NULL”が設定される。・移動前IPv6ネットワークアドレス210:IPv4/v6移動端末106が移動する前のネットワークのIPv6ネットワークアドレスである。移動する前のネットワークがIPv4ネットワークであった場合には“NULL”が設定される。なお、初期化時、移動後IPv4ネットワークアドレス207、移動前IPv4ネットワークアドレス208、移動後IPv6ネットワークアドレス209、移動前IPv6ネットワークアドレス210の各フィールドには、IPv4/v6移動端末106の移動を支援するIPv6移動支援装置107が存在するLAN−a100のネットワークアドレスが設定される。
図3に、移動端末管理テーブル126の構成例を示す。
移動端末管理テーブル126は、次のエントリを有している。
・移動端末IPv6アドレス30:IPv6移動支援装置107が移動を支援する移動端末のIPv6アドレスである。
・移動先IPv6アドレス31:移動端末が現時点で存在しているネットワーク上のIPv6アドレスである。現時点で存在しているネットワークがIPv4ネットワークであった場合には“NULL”が設定される。
・移動先IPv4アドレス32:移動端末が現時点で存在しているネットワーク上のIPv4アドレスである。現時点で存在しているネットワークがIPv6ネットワークであった場合には“NULL”が設定される。
なお、初期時、移動端末管理テーブル126には、移動端末のエントリは存在しない。
図4は、IPv4/v6移動処理部114が実行するIPv4/v6移動処理40を示すフロー図である。
ステップ41では、移動状態管理テーブル119の初期化を行う。
ステップ50では、移動検出処理部115に移動検出処理50を繰り返し実行させる。
図5は、移動検出処理部115が実行する移動検出処理50を示すフロー図である。
ステップ51では、別のIPv4ネットワーク、IPv6ネットワーク、またはIPv4/v6ネットワークへ移動したことを検出するためのメッセージであるIPv4移動検出用メッセージおよびIPv6移動検出用メッセージの送信を要求するためのメッセージであるIPv4移動検出用メッセージ送信要求メッセージおよびIPv6移動検出用メッセージ送信要求メッセージを送信する。このIPv4移動検出用メッセージ送信要求メッセージおよびIPv6移動検出用メッセージ送信要求メッセージを受信したIPv4移動支援装置およびIPv6移動支援装置は、IPv4移動検出用メッセージおよびIPv6移動検出用メッセージを送信する。この外、IPv4移動支援装置およびIPv6移動支援装置は、定期的に、IPv4移動検出用メッセージおよびIPv6移動検出用メッセージを送信する。
ステップ52では、タイマーをセットする。
ステップ53では、IPv4移動検出用メッセージを受信したならステップ54へ進み、受信しないならステップ55へ進む。
ステップ54では、受信したIPv4移動検出用メッセージを送信したIPv4移動支援装置の属するネットワークのネットワークアドレスと移動状態管理テーブル119内の移動後IPv4ネットワークアドレス207の比較を行い、同じネットワークアドレスならステップ55へ進み、異なるネットワークアドレスならステップ60へ進む。
ステップ55では、IPv6移動検出用メッセージを受信したならステップ56へ進み、受信しないならステップ57へ進む。
ステップ56では、受信したIPv6移動検出用メッセージを送信したIPv6移動支援装置の属するネットワークのネットワークアドレスと移動状態管理テーブル119内の移動後IPv6ネットワークアドレス209の比較を行い、同じネットワークアドレスならステップ57へ進み、異なるネットワークアドレスならステップ70へ進む。
ステップ57では、タイムアウトでないなら前記ステップ53へ戻り、タイムアウトならステップ58へ進む。
ステップ58では、移動状態管理テーブル内119の移動後IPv4ネットワークアドレス207と移動前IPv4ネットワークアドレス208とが異なるアドレスであり且つ移動後IPv6ネットワークアドレス209と移動前IPv6ネットワークアドレス210とが同じネットワークアドレスであるか判定し、判定結果がYesならステップ80へ進み、Noなら処理を終了する。
ステップ60では、IPv4移動登録処理部116にIPv4移動登録処理60を実行させる。
ステップ70では、IPv6移動登録処理部117にIPv6移動登録処理70を実行させる。
ステップ80では、IPv4only移動登録処理部118にIPv4only移動登録処理80を実行させる。
上記移動検出処理50を具体的に説明すると、IPv4/v6移動端末106が現時点でLAN−a100上に存在する場合、IPv4/v6移動端末106は、IPv4移動支援装置a105およびIPv6移動支援装置107が送信したIPv4移動検出用メッセージおよびIPv6移動検出用メッセージを受信する。そして、IPv4移動検出用メッセージを送信したIPv4移動支援装置a105の属するLAN−a100のネットワークアドレス(=“10.0.0.0”)と移動状態テーブル119の移動後IPv4ネットワークアドレス207(=“10.0.0.0”)とが同じアドレスであるから、別のIPv4ネットワークまたはIPv4/IPv6ネットワークへ移動していないことが判り、ステップ54からステップ55へ進み、ステップ60(IPv4移動登録処理)を実行しない。また、IPv6移動検出用メッセージを送信したIPv6移動支援装置107の属するネットワークアドレス(=“::11.0.0.0”)と移動状態テーブル119の移動後IPv6ネットワークアドレス209(=“::11.0.0.0”)とが同じアドレスであることから、別のIPv6ネットワークまたはIPv4/IPv6ネットワークへ移動していないことが判り、ステップ56からステップ57へ進み、ステップ70(IPv6移動登録処理)を実行しない。
次に、IPv4/v6移動端末106が現時点でLAN−b101へ移動していた場合、IPv4/v6移動端末106は、IPv4移動支援装置b108が送信したIPv4移動検出用メッセージを受信する。そして、IPv4移動検出用メッセージを送信したIPv4移動支援装置b108の属するLAN−b101のネットワークアドレス(=“20.0.0.0”)と移動状態テーブル119の移動後IPv4ネットワークアドレス207(= “10.0.0.0”)とが異なることから、別のIPv4ネットワークまたはIPv4/v6ネットワークへ移動したことが判り、ステップ54からステップ60へ進み、IPv4移動登録処理60を実行する。図6を参照して後述するように、このIPv4移動登録処理60で、移動状態テーブル119の移動前IPv4ネットワークアドレス208は“10.0.0.0”)に更新され、移動後IPv4ネットワークアドレス207は“20.0.0.0”)に更新される。
一方、LAN−b101にはIPv6移動支援装置が存在しないため、IPv6移動検出用メッセージを受信することはないから、ステップ55からステップ57へ進み、ステップ56およびステップ70(IPv6移動登録処理)は実行しない。
そして、タイムアウト後、移動状態テーブル119の移動後IPv4ネットワークアドレス207(=“20.0.0.0”)と移動前IPv4ネットワークアドレス208(=“10.0.0.0”)とが異なり、かつ、移動後IPv6ネットワークアドレス209(=“::11.0.0.0”)と移動前IPv6ネットワークアドレス210(=“::11.0.0.0”)とが同じアドレスであることから、IPv4ネットワークへ移動したことが判り、ステップ58からステップ80へ進み、IPv4only移動登録処理80を実行する。
なお、IPv4/v6移動端末106が、LAN−a100のような別のIPv4/v6ネットワークへ移動した場合、IPv4移動検出用メッセージおよびIPv6移動検出用メッセージを両方とも受信するから、IPv4移動登録処理60およびIPv6移動登録処理70の両方が実行される。一方、移動状態テーブル119の移動後IPv4ネットワークアドレス207≠移動前IPv4ネットワークアドレス208となり、かつ、移動後IPv6ネットワークアドレス209≠移動前IPv6ネットワークアドレス210となるから、ステップ58からステップ80へは進まず、IPv4only移動登録処理80は実行されない。
図6は、IPv4移動登録処理部116が実行するIPv4移動登録処理の一例を示すフロー図である。なお、このIPv4移動登録処理60は、Mobile IPv4の処理手順に従った処理である。
ステップ61では、移動状態管理テーブル119の自IPv4ネットワークアドレス201とIPv4移動検出用メッセージを送信したIPv4移動支援装置の属するネットワークのネットワークアドレスを比較する。そして、同じネットワークアドレスでなかった場合、別のネットワークへ移動したことが判り、ステップ62へ進む。一方、同じネットワークアドレスであった場合、IPv4/v6移動端末106の移動を支援するIPv6移動支援装置107が存在するLAN−a100に戻ったことが判り、ステップ63へ進む。
ステップ62では、IPv4/v6移動端末106が使用可能な移動先のネットワーク上のIPv4アドレスを取得する。このIPv4アドレスの取得は、アドレスの自動配布を行うDHCPの利用や、手設定等により行う。
ステップ63では、移動状態管理テーブル119のIPv4移動支援装置IPv4アドレス204に登録されたIPv4移動支援装置に対してIPv4移動登録要求メッセージを送信する。
ステップ64では、前記IPv4移動支援装置からIPv4移動登録要求メッセージの応答であるIPv4移動登録許可メッセージを受信するまで待ち、IPv4移動登録許可メッセージ受信後、ステップ65へ進む。
ステップ65では、移動状態管理テーブル119の移動後IPv4ネットワークアドレス207を移動前IPv4ネットワークアドレス208に代入し、次に、IPv4移動検出用メッセージを送信したIPv4移動支援装置の属するネットワークのネットワークアドレスを移動後IPv4ネットワークアドレス207に代入する。
上記IPv4移動登録処理60を具体的に説明すると、IPv4/v6移動端末106がLAN−a100からLAN−b101へ移動した場合、ステップ61からステップ62へ進み、さらにステップ63へ進み、IPv4移動登録要求メッセージをIPv4移動支援装置a105へ送信する。そして、IPv4移動支援装置a105からIPv4移動登録許可メッセージ受信後、ステップ64からステップ65へ進み、移動前IPv4ネットワークアドレス208に“10.0.0.0”を設定し、移動後IPv4ネットワークアドレス207に“20.0.0.0”を設定する。
図7は、IPv6移動登録処理部117が実行するIPv6移動登録処理の一例を示すフロー図である。なお、このIPv6移動登録処理70は、Mobile IPv6の処理手順に従った処理である。
ステップ71では、移動状態管理テーブル119の自IPv6ネットワークアドレス203とIPv6移動検出用メッセージを送信したIPv6移動支援装置の属するネットワークのネットワークアドレスを比較する。そして、同じネットワークアドレスでなかった場合、別のネットワークへ移動したことが判り、ステップ72へ進む。一方、同じネットワークアドレスであった場合、IPv4/v6移動端末106の移動を支援するIPv6移動支援装置107が存在するLAN−a100に戻ったことが判り、ステップ73へ進む。
ステップ72では、IPv4/v6移動端末106が使用可能な移動先のネットワーク上のIPv6アドレスを取得する。このIPv6アドレスの取得は、アドレスの自動配布を行うDHCPの利用や、手設定等により行う。
ステップ73では、移動状態管理テーブル119のIPv6移動支援装置IPv6アドレス206に登録されたIPv6移動支援装置に対してIPv6移動登録要求メッセージを送信する。このIPv6移動登録要求メッセージは、図13に示すように、自IPv6アドレス1301と、移動先IPv6アドレス1302と、移動先IPv4アドレス1303とからなる。IPv6移動登録処理70では、自IPv6アドレス1301には、移動状態管理テーブル119の自IPv6アドレス202に保持されたIPv6アドレスを設定し、移動先IPv6アドレス1302には、移動先でのIPv6アドレスを設定し、移動先IPv4アドレス1303には、“NULL”を設定する。
ステップ74では、前記IPv6移動支援装置からIPv6移動登録要求メッセージの応答であるIPv6移動登録許可メッセージを受信するまで待ち、IPv6移動登録許可メッセージ受信後、ステップ75へ進む。
ステップ75では、移動状態管理テーブル119の移動後IPv6ネットワークアドレス209を移動前IPv6ネットワークアドレス210に代入し、次に、IPv6移動検出用メッセージを送信したIPv6移動支援装置の属するネットワークのネットワークアドレスを移動後IPv6ネットワークアドレス209に代入する。
図8は、IPv4only移動登録処理部118が実行するIPv4only移動登録処理の一例を示すフロー図である。
ステップ81では、移動状態管理テーブル119のIPv6移動支援装置IPv6アドレス206に登録されたIPv6移動支援装置に対してIPv4カプセル化したIPv6移動登録要求メッセージを送信する。このIPv4カプセル化したIPv6移動登録要求メッセージは、図14に示すように、IPv4ヘッダ1401と、IPv6移動登録要求メッセージ1300とからなる。前記IPv4ヘッダ1401は、送信先IPv4アドレス1402と、送信元IPv4アドレス1403からなる。前記送信先IPv4アドレス1402には、移動状態管理テーブル119のIPv6移動支援装置IPv4アドレス205のアドレスを設定し、前記送信元IPv4アドレス1403には、移動先のIPv4ネットワークにおいて取得したIPv4アドレスを設定する。前記IPv6移動登録要求メッセージは、図13に示すように、自IPv6アドレス1301と、移動先IPv6アドレス1302と、移動先IPv4アドレス1303とからなる。IPv4only移動登録処理80では、自IPv6アドレス1301には、移動状態管理テーブル119の自IPv6アドレス202に保持されたIPv6アドレスを設定し、移動先IPv6アドレス1302には、“NULL”を設定し、移動先IPv4アドレス1303には、移動先でのIPv4アドレスを設定する。
ステップ82では、前記IPv6移動支援装置からIPv4カプセル化したIPv6移動登録要求メッセージの応答であるIPv4カプセル化したIPv6移動登録許可メッセージを受信するまで待ち、IPv4カプセル化したIPv6移動登録許可メッセージ受信後、ステップ83へ進む。なお、受信したIPv4カプセル化したIPv6移動登録許可メッセージは、IPv4処理部111にて、IPv4ヘッダが取り除かれてから(以下、IPv4デカプセル化と記す)、IPv4only移動登録処理部118へ渡される。なお、このIPv4処理部111におけるIPv4デカプセル化は、既存のIPv4が提供するサービスの1つある。
ステップ83では、移動状態管理テーブル119の移動後IPv6ネットワークアドレス209を移動前IPv6ネットワークアドレス210に代入し、次に、“NULL”を移動後IPv6ネットワークアドレス209に代入する。
上記IPv4only移動登録処理80を具体的に説明すると、IPv4/v6移動端末106がLAN−a100からLAN−b101へ移動した場合、ステップ81で、次のようなIPv4カプセル化したIPv6移動登録許可メッセージ1400を作成する。
・IPv4ヘッダ
・・送信先IPv4アドレス1402:“10.0.0.20”(IPv6移動支援装置107のIPv4アドレス)
・・送信元IPv4アドレス1403:“20.0.0.1”(IPv4/v6移動端末106がLAN−b101上で新たに使用するIPv4アドレス)
・IPv6移動登録メッセージ1300
・・自IPv6アドレス1301 :“:: 11.0.0.1”
・・移動先IPv6アドレス1302:“NULL”
・・移動先IPv4アドレス1303:“20.0.0.1”
そして、上記IPv4カプセル化したIPv6移動登録許可メッセージ1400を、IPv6移動支援装置107へ送信する。
次に、ステップ82で、IPv6移動支援装置107からのIPv4カプセル化したIPv6移動登録許可メッセージを受信後、ステップ83で、移動前IPv6ネットワークアドレス210に“::11.0.0.1”を設定し、移動後IPv6ネットワークアドレス209に“NULL”を設定する。
図9は、IPv4/v6移動端末106におけるIPv6処理部112のIPv6パケット送信処理部113が実行するIPv6パケット送信処理90の一例を示すフロー図である。
ステップ91では、ネットワークアプリケーション等によるIPv6パケット送信要求を待ち、送信要求があったらステップ92へ進む。
ステップ92では、移動状態管理テーブル119の移動後IPv6ネットワークアドレス209が“NULL”であるか否かを調べ、“NULL”である場合はステップ93へ進み、“NULL”でない場合はステップ94へ進む。
ステップ93では、移動先がIPv4ネットワークであるから、IPv6パケットをIPv4カプセル化して送信する。すなわち、図15に示すように、IPv6パケット1501にIPv4ヘッダ1401を付加し、そのIPv4ヘッダ1401の送信先IPv4アドレス1402に移動状態管理テーブル119のIPv6移動支援装置IPv4アドレス205を設定し、送信元IPv4アドレス1403には移動先のIPv4ネットワークにおいて取得したIPv4アドレスを設定し、IPv4カプセル化したIPv6パケット1500を作成して送信する。そして、前記ステップ91に戻る。
ステップ94では、移動先がIPv6ネットワークまたはIPv4/IPv6ネットワークであるから、IPv6パケットをそのまま送信する。そして、前記ステップ91に戻る。
上記IPv6パケット送信処理90を具体的に説明すると、IPv4/v6移動端末106がLAN−a100からLAN−b101へ移動した場合、ネットワークアプリケーション等によるIPv6パケット1501の送信要求をステップ91で受け取ると、ステップ92で、そのIPv6パケット1501に対して、送信先IPv4アドレス1402として“10.0.0.20” (IPv6移動支援装置107のIPv4アドレス)を設定し且つ送信元IPv4アドレス1403として“20.0.0.1”を設定したIPv4ヘッダ1401を付加し、そのIPv4カプセル化したIPv6パケットをIPv6移動支援装置107へ送信する。
図10は、IPv6移動支援装置107のIPv6移動支援処理部121が実行するIPv6移動支援処理1000の一例を示すフロー図である。
ステップ1001では、IPv6移動端末(図示省略)またはIPv4/v6移動端末106からIPv6移動検出用メッセージ送信要求メッセージを受信したか否かを調査し、受信していた場合はステップ1002へ進み、受信していなかった場合はステップ1003へ進む。
ステップ1002では、前記IPv6移動検出用メッセージ送信要求メッセージを送信してきた端末へIPv6移動検出用メッセージを送信する。
ステップ1003では、IPv6移動登録要求メッセージ1300を受信したか否かを調査し、受信していた場合はステップ1004へ進み、受信していなかった場合は前記ステップ1001に戻る。
ステップ1004では、移動登録要求を受理可能か否かを調査し、受理可能でない場合はステップ1005へ進み、受理可能である場合はステップ1006へ進む。
ステップ1005では、IPv6移動登録要求メッセージ1300を送信してきた端末に対してIPv6移動登録拒否メッセージを送信する。そして、前記ステップ1001に戻る。
ステップ1006では、IPv6移動登録要求メッセージ1300の自IPv6アドレス1301と移動先IPv6アドレス1302とを比較し、同じアドレスである場合はステップ1007へ進み、異なるアドレスである場合はステップ1008へ進む。
ステップ1007では、移動端末が自ネットワークに戻ってきたと判断し、移動端末管理テーブル126内の該当する移動端末の情報を削除する。そして、ステップ1011へ進む。
ステップ1008では、IPv6移動登録要求メッセージ1300内の移動先IPv4アドレス1303を調査し、“NULL”が設定されている場合はステップ1009へ進み、“NULL”が設定されていない場合はステップ1010へ進む。
ステップ1009では、移動端末がIPv6ネットワークまたはIPv4/v6ネットワークへ移動したと判断し、移動端末管理テーブル126に該移動端末の情報を設定する。すなわち、移動端末管理テーブル126内の移動先IPv6アドレス31には受信したIPv6移動登録要求メッセージ1300内の移動先IPv6アドレス1302の値を設定し、移動先IPv4アドレス32には“NULL”を設定する。そして、ステップ1011へ進む。
ステップ1010では、移動端末がIPv4ネットワークへ移動したと判断し、移動端末管理テーブル126に該移動端末の情報を設定する。すなわち、移動端末管理テーブル126内の移動先IPv6アドレス31には“NULL”を設定し、移動先IPv4アドレス32には受信したIPv6移動登録要求メッセージ1300内の移動先IPv4アドレス1303の値を設定する。そして、ステップ1012へ進む。
ステップ1011では、IPv6移動登録許可メッセージを移動端末へ送信する。そして、前記ステップ1001に戻る。
ステップ1012では、移動端末へIPv4カプセル化したIPv6移動登録許可メッセージを送信する。すなわち、図16に示すように、IPv6移動登録許可メッセージ1601にIPv4ヘッダ1401を付加し、そのIPv4ヘッダ1401の送信先IPv4アドレス1402にはIPv6移動登録要求メッセージ1300内の移動先IPv4アドレス1303を設定し、送信元IPv4アドレス1403にはIPv6移動支援装置107のIPv4アドレスを設定し、IPv4カプセル化したIPv6移動登録許可メッセージを作成し、送信する。そして、前記ステップ1001に戻る。
なお、前述したように、IPv4/v6移動端末106がIPv4ネットワークへ移動した場合、IPv4/v6移動端末106はIPv6移動支援装置107へIPv4カプセル化したIPv6移動登録要求メッセージ1300を送信するが、このIPv4カプセル化したIPv6移動登録要求メッセージ1300をIPv6移動支援装置107が受信した場合、IPv4処理部122にて該メッセージのIPv4デカプセル化が行われ、IPv6移動登録要求メッセージ1300が取り出されてIPv6移動支援処理部121へ渡される。これは、既存のIPv4の提供するサービスであるため、IPv4処理部122に対して新たな機能を加える必要はない。
上記IPv6移動支援処理1000を具体的に説明すると、IPv4/v6移動端末106がLAN−a100からLAN−b101へ移動した場合、ステップ1001,1002,1003,1004と進み、ステップ1005で、IPv6移動登録要求メッセージ1300内の移動先IPv6アドレス1302(=“NULL”)と自IPv6アドレス1301(=“::11.0.0.1”)とが異なるから、ステップ1008へ進む。ステップ1008で、IPv6移動登録要求メッセージ1300内の移動先IPv4アドレス1303(=“20.0.0.1”)が“NULL”でないから、ステップ1010へ進む。ステップ1010で、移動端末管理テーブル126に、IPv4/v6移動端末106の情報として、移動端末IPv6アドレス30に“::11.0.0.1”を登録し、移動先IPv4アドレス32に“20.0.0.1”を登録し、移動先IPv6アドレス31に“NULL”を登録する。そして、ステップ1012で、IPv6移動登録許可メッセージ1601に、送信先IPv4アドレス1402として“20.0.0.1”を設定し且つ送信元IPv4アドレス1403として“10.0.0.20” を設定したIPv4ヘッダ1401を付加して、IPv4/v6移動端末106へ送信する。
図11は、IPv6移動支援装置107におけるIPv6処理部124の移動端末宛転送処理部125が実行する移動端末宛転送処理1100の一例を示したフロー図である。
ステップ1101では、IPv6端末104や他のIPv6端末(図示省略)等が送信したIPv6パケットの内、移動端末管理テーブル126に登録された移動端末宛のIPv6パケットを受信するまで待ち、受信したならステップ1102へ進む。
ステップ1102では、移動端末管理テーブル126内の該当する移動端末の移動先IPv6アドレス31が“NULL”であるか否かを調査し、“NULL”である場合はステップ1103へ進み、“NULL”でない場合はステップ1104へ進む。
ステップ1103では、IPv6パケットの宛先の移動端末がIPv4ネットワークへ移動中であると判断し、IPv6パケットをIPv4カプセル化して、宛先の移動端末が移動中のIPv4ネットワークへ送信する。この時のIPv4カプセル化したIPv6パケットの構成は、図15で示した通りであり、送信先IPv4アドレス1402には移動端末管理テーブル126内の該当する移動端末の移動先IPv4アドレス32を設定し、送信元IPv4アドレス1403にはIPv6移動支援装置107のIPv4アドレスを設定する。そして、前記ステップ1101に戻る。
ステップ1104では、IPv6パケットの宛先の移動端末がIPv6ネットワークまたはIPv4/v6ネットワークへ移動中であると判断し、IPv6パケットに対して、新たにIPv6ヘッダを付加して(以下、IPv6カプセル化と記す)、宛先の移動端末が移動中のIPv6ネットワークまたはIPv4/IPv6ネットワークへ送信する。すなわち、図17に示すように、IPv6パケット1704にIPv6ヘッダ1701を付加し、そのIPv6ヘッダ1701の送信先IPv6アドレス1702には移動端末管理テーブル126内の該当する移動端末の移動先IPv6アドレス31を設定し、送信元IPv6アドレス1703にはIPv6移動支援装置107のIPv6アドレスを設定し、IPv6カプセル化したIPv6パケット1700を作成し、送信する。そして、前記ステップ1101に戻る。なお、IPv6パケットをIPv6カプセル化して送信する処理手順は、Mobile IPv6に従った手順である。
上記移動端末宛転送処理1100を具体的に説明すると、IPv4/v6移動端末106がLAN−a100からLAN−b101へ移動した場合、先述のIPv6移動支援処理1000によりIPv4/v6移動端末106の情報として移動端末管理テーブル126内の移動端末IPv6アドレス30に“::11.0.0.1”が設定されると共に移動先IPv6アドレス31に“NULL”が設定され且つ移動先IPv4アドレス32に“20.0.0.1”が設定されているから、IPv6移動支援装置107はIPv4/v6移動端末106宛のIPv6パケットを受信すると、該IPv6パケットに対して、送信先IPv4アドレス1402に“20.0.0.1”を設定し且つ送信元IPv4アドレス1403に“10.0.0.20”を設定したIPv4ヘッダ1401を付加して、LAN−b101のIPv4/v6移動端末106へ転送する。そのIPv4カプセル化したIPv6パケット1500は、IPv4/v6移動端末106にて受信され、IPv4処理部111によりIPv4デカプセル化されて、通常のIPv6パケットとして処理される。
かくして、IPv4/v6ネットワークであるLAN−a100からIPv4ネットワークであるLAN−b101へ移動した場合においても、IPv4/v6移動端末106は、LAN−a100のIPv6端末104が送信したIPv6パケットを受信できる。
図12は、IPv6移動支援装置107におけるIPv4処理部122の他端末宛転送処理部123が実行する他端末宛転送処理1200の一例を示したフロー図である。
ステップ1201では、自分(IPv6移動支援装置107)宛のIPv4パケットを受信するまで待ち、受信したならステップ1202へ進む。
ステップ1202では、受信したIPv4パケットがIPv4カプセル化したIPv6パケットであるか否かを調査し、IPv4カプセル化したIPv6パケットである場合はステップ1203へ進み、IPv4カプセル化したIPv6パケットでない場合はステップ1205へ進む。
ステップ1203では、IPv4カプセル化したIPv6パケットの送信元の端末が移動端末管理テーブル126に登録されている移動端末か否かを調査し、登録されている場合はステップ1204へ進み、登録されていない場合はステップ1205へ進む。
ステップ1204では、IPv4カプセル化したIPv6パケットをIPv4デカプセル化して、宛先の端末があるネットワークへ送信する。そして、前記ステップ1201に戻る。
ステップ1205では、受信したIPv4パケットを破棄する。そして、前記ステップ1201に戻る。
上記他端末宛転送処理1200を具体的に説明すると、IPv4/v6移動端末106がLAN−a100からLAN−b101へ移動した場合、IPv4/v6移動端末106がIPv6端末104宛へIPv6パケットを送信する際、先述のIPv6パケット送信処理90により該IPv6パケットに対して送信先IPv4アドレス1402として“10.0.0.20” (IPv6移動支援装置107宛)を設定し且つ送信元IPv4アドレス1403として“20.0.0.1”を設定したIPv4ヘッダ1401でIPv4カプセル化して、IPv6移動支援装置107へ送信するから、それをIPv6移動支援装置107は受信し、ステップ1201,1202,1203を経て、ステップ1204で、IPv4カプセル化したIPv6パケットのIPv4ヘッダ1401を取り除き、IPv6パケット1501を宛先のIPv6端末104があるLAN−a100へ送信する。そのIPv6パケットは、IPv6端末104にて通常のIPv6パケットとして受信される。
かくして、IPv4/v6ネットワークであるLAN−a100からIPv4ネットワークであるLAN−b101へ移動した場合においても、IPv4/v6移動端末106は、LAN−a100のIPv6端末104宛へIPv6パケットを送信できる。
なお、既存の方法であるMobile IPv4をサポートしたIPv4移動支援装置a105およびIPv4移動支援装置b108によるIPv4での端末の移動支援により、IPv4/v6移動端末106と他の端末の間のIPv4を利用した通信も可能である。
IPv4/v6移動端末106がLAN−b101からLAN−a100へ戻った場合、IPv4/v6移動端末106は、先述の移動検出処理50により、IPv6ネットワークまたはIPv4/v6ネットワークへ移動したことを検出する。そして、先述のIPv6移動登録処理70により、LAN−a100へ戻ったと判断し、自IPv6アドレス1301に“::11.0.0.1”を設定し且つ移動先IPv6アドレス1302に自IPv6アドレス1301と同じ“::11.0.0.1”を設定し且つ移動先IPv4アドレス1303に“NULL”を設定したIPv6移動登録要求メッセージ1300をIPv6移動支援装置107へ送信する。
IPv6移動支援装置107は、IPv6移動登録要求メッセージ1300を受信すると、該IPv6移動登録要求メッセージ1300内の自IPv6アドレス1301と移動先IPv6アドレス1302とが同じアドレスであることから、IPv4/v6移動端末106がLAN−a100へ戻ったと判断し、移動端末管理テーブル126内のIPv4/v6移動端末106に対する情報を削除する。その結果、IPv4/v6移動端末106は通常のIPv6を利用した通信が可能となる。
なお、IPv4/v6移動端末106は、Mobile IPv4の処理手順に従い、IPv4移動支援装置a105に対しても、LAN−a100に戻ってきたことをIPv4移動登録要求メッセージにより通知するため、通常のIPv4を利用した通信も可能である。
上述の実施形態では、IPv4移動検出用メッセージやIPv6移動検出用メッセージを利用してネットワーク間移動を自動的に検出するようにしているが、移動端末のユーザー自らが、移動したことを移動検出処理部116へ指示し、IPv4移動登録処理60や、IPv6移動登録処理70、またはIPv4only移動登録処理80を実行するようにしてもよい。
106:IPv4/v6移動端末、110:通信処理部、111:IPv4処理部、112:IPv6処理部、113:IPv6パケット送信処理部、114:IPv4/v6移動処理部、115:移動検出処理部、116:IPv4移動登録処理部、117:IPv6移動登録処理部、118:IPv4only移動登録処理部、119:移動状態管理テーブル、107:IPv6移動支援装置、120:通信処理部、121:IPv6移動支援処理部、122:IPv4処理部、123:他端末宛転送処理部、124:IPv6処理部、125:移動端末宛転送処理部、126:移動端末管理テーブル、40:IPv4/v6移動処理、50:移動検出処理、60:IPv4移動登録処理、70:IPv6移動登録処理、80:IPv4only移動登録処理、90:IPv6パケット送信処理、1000:IPv6移動支援処理、1100:移動端末宛転送処理、1200:他端末宛転送処理。