以下、本発明の実施の形態につき図面を参照して説明する。
[第1の実施形態]
図1は本発明の第1の実施形態に係るネットワークシステムの構成を示すブロック図である。図1において、ネットワーク11には、ネットワーク(有線ネットワーク)12-1(#1),12-2(#2),12-3(#3)が接続されている。本実施形態において、ネットワーク11,12-1〜12-3のネットワークアドレスは同一である。つまりネットワーク11,12-1〜12-3は、同一セグメントを構成する。したがって、図1のネットワークシステムでは、ネットワーク11,12-1〜12-3を相互接続するのにルータを必要としない。ネットワーク12-1には、有線で通信を行う有線端末(固定端末)13-1,13-2が接続(収容)されている。ネットワーク12-2には、有線で通信を行う有線端末13-3と、VPNゲートウェイ(VPNゲートウェイ装置)14と、無線基地局15-1とが接続(収容)されている。ネットワーク12-3には、無線基地局15-2が接続(収容)されている。また図1には、無線ネットワークを実現する無線基地局15-1,15-2の無線通信エリア(無線区間)内に無線端末(移動端末)16-1,16-2が配置されている状態が示されている。
VPNゲートウェイ14は、IPsecを適用して無線ネットワークにおける無線区間での通信を暗号化する。即ちVPNゲートウェイ14は、有線端末13-j(j=1,2,…4)からの無線端末16-i宛ての全ての通信データを代理で受け取り、暗号化して当該無線端末に16-i(i=1,2)に転送する機能を有する。VPNゲートウェイ14は、同一ネットワークアドレスのネットワーク上の無線端末16-iとの間でセキュリティアソシエーション(SA)を交換(確立)する。VPNゲートウェイ14は後述するように、無線基地局の設置位置に依存せずに設置可能である。一方、無線端末16-iは、IPsecの機能を実現するためのクライアント機能(クライアントソフトウェア)を有し、全ての通信データを必ずVPNゲートウェイ14を中継して送信する。
次に、図1のネットワークシステムにおける無線端末16-iとVPNゲートウェイ14と無線端末16-iの通信相手となる有線端末13-jとの間の通信について、図2のシーケンスチャートを参照して説明する。
まず、VPNゲートウェイ14及び無線端末16-iはSA(セキュリティアソシエーション)確立(交換)手段として機能して、暗号化通信を行うためIPsecのSAを確立させておく。またVPNゲートウェイ14及び無線端末16-iは、互いに連携して、それぞれ相手のMAC(Media Access Control(メディアアクセスコントロール))アドレスとIPアドレスとの対を含むアドレス情報が登録された、後述するアドレステーブル145及び165(図4及び図15参照)を、当該VPNゲートウェイ14及び無線端末16-i内に事前に作成しておく。VPNゲートウェイ14及び無線端末16-iのMACアドレスは、それぞれ当該VPNゲートウェイ14及び無線端末16-iに固有のハードウェアアドレス(物理アドレス)である。上記アドレステーブル145を作成する方法については後述する。
無線端末16-iが起動された場合、クライアントソフトウェアも起動される。すると無線端末16-iは、全てのARP(Address Resolution Protocol;アドレス解決プロトコル)要求に対し応答を停止する状態(ARP応答停止状態)に設定される。このARP要求に対しては、VPNゲートウェイ14が代理ARPにより応答を行う。これにより有線端末13-jからの無線端末16-i宛ての通信データは、全てVPNゲートウェイが受信する。また無線端末16-iは、ARP応答停止状態では、当該無線端末16-iに有線端末13-jから直接通信データが送信されないようにするため、ARP要求を送信しないように設定される。
有線端末13-jは、無線端末16-iに通信データを送信しようとする場合、当該無線端末16-iのMACアドレスを取得するために、当該無線端末16-iのIPアドレスに対するARP要求のパケットを、ブロードキャストアドレスを用いてブロードキャスト送信する(ステップS1)。しかし、無線端末16-i(内のクライアント機能)は、このARP要求に対して応答停止(非応答)状態にあるため、応答(ARP応答)を返さない。一方、VPNゲートウェイ14は、有線端末13-jからのARP要求を受信すると代理ARP応答手段として機能し、当該ARP要求に対する応答を代理ARPにより要求元の有線端末13-jに返す(ステップS2)。これにより、VPNゲートウェイ14から有線端末13-jに対し、無線端末16-iのMACアドレスではなくて、VPNゲートウェイ14自身のMACアドレスが通知される。これを受けて有線端末13-jは、通知されたVPNゲートウェイ14のMACアドレスを、当該有線端末13-jのMACアドレスであるかの如く用いることにより、当該無線端末16-i宛ての通信データ(通信データパケット)をVPNゲートウェイ14に対して送信する(ステップS3)。ここでは、無線端末16-i宛ての通信データの宛先IPアドレス及び宛先MACアドレスには、それぞれ無線端末16-iのIPアドレス及びVPNゲートウェイ14のMACアドレスが用いられる。
VPNゲートウェイ14は、有線端末13-jから当該VPNゲートウェイ14に対して無線端末16-i宛ての通信データ(非暗号化通信データ)が送信された場合、非暗号化通信データ受信手段として機能して、当該無線端末16-i宛ての通信データを受信する。するとVPNゲートウェイ14は暗号化手段として機能して、受信データ、つまり無線端末16-i宛ての通信データをIPsecの機能により暗号化する。ここで、IPsecにより実際に暗号化されるのは、受信データ中の後述するIPペイロードの部分であり、宛先IPアドレスを含むIPヘッダは暗号化の対象とならない。
VPNゲートウェイ14は、無線端末16-i宛ての通信データを暗号化すると暗号化通信データ送信手段として機能して、その暗号化された通信データを、データリンク層を介して無線端末16-iのMACアドレスに対して送信する(ステップS4)。無線端末16-iはVPNゲートウェイとの間でSAを確立している。このため無線端末16-iは、VPNゲートウェイ14から送信された暗号化された通信データをIPsecの機能により復号することができる。
一方、無線端末16-iが有線端末13-jに対して通信データ(通信データパケット)を送信しようとする場合、当該無線端末16-iは、有線端末13-j宛ての通信データをIPsecの機能により暗号化する。ここで、IPsecにより実際に暗号化されるのは、送信すべき通信データ中のIPペイロードの部分であり、宛先IPアドレスを含むIPヘッダは暗号化の対象とならない。無線端末16-iは、この暗号化された通信データを、データリンク層を介してVPNゲートウェイ14のMACアドレスに対して送信する(ステップS5)。
VPNゲートウェイ14は、無線端末16-iから当該VPNゲートウェイ14に対して有線端末13-j宛ての暗号化された通信データが送信された場合、暗号化通信データ受信手段として機能して、当該通信データを受信する。するとVPNゲートウェイ14は復号手段として機能して、受信データ、つまり有線端末13-j宛ての暗号化された通信データをIPsecの機能により復号する。VPNゲートウェイ14は、復号された通信データから宛先となる有線端末13-jのIPアドレスを取得する。VPNゲートウェイ14は、このIPアドレスが割り当てられている有線端末13-jのMACアドレスを取得するためにARP要求手段として機能して、当該有線端末13-jのIPアドレスに対するARP要求を同報送信する(ステップS6)。有線端末13-jはVPNゲートウェイ14からのARP要求を受信すると、当該ARP要求に対する応答(ARP応答)を要求元のVPNゲートウェイ14に返す(ステップS7)。これにより、有線端末13-jからVPNゲートウェイ14に対し、当該有線端末13-jのMACアドレスが通知される。これを受けてVPNゲートウェイ14は非暗号化通信データ送信手段として機能して、先に復号された有線端末13-j宛ての通信データを、当該有線端末13-jから通知されたMACアドレスを用いて当該有線端末13-jに送信する(ステップS8)。
このように本実施形態においては、有線端末13-jからの無線端末16-i宛ての通信データ及び無線端末16-iからの有線端末13-j宛ての通信データを、無線端末16-iとVPNゲートウェイ14との間の通信で暗号化できる。つまり本実施形態によれば、無線端末16-iが置かれている無線区間を実現する無線基地局とVPNゲートウェイ14との位置関係に無関係に、当該無線区間の通信を暗号化できる。
次に、無線端末16-i及びVPNゲートウェイ14において、上記アドレステーブル145及び165(即ち、相手のMACアドレスとIPアドレスとの対を含むアドレス情報が格納された特定テーブル)を自動的に作成する手順について、図3のシーケンスチャートを参照して説明する。
無線端末16-iは、上記の暗号化通信を実現するため、ARP応答及びARP要求を送信しないように構成されている。このため無線端末16-iは、TCP/IPにおけるARPテーブル(つまり、MACアドレスとIPアドレスとの対を含むアドレス情報が格納されるテーブル)を作成することができない。したがって無線端末16-iは、VPNゲートウェイ24のMACアドレスとIPアドレスとの対を含むアドレス情報が格納されたアドレステーブル165を作成するまでは、以下に述べるようにブロードキャストパケットしか送受信しない。
まず無線端末16-iは、VPNゲートウェイ14のMACアドレスを取得するために、ブロードキャストでICMP(Internet Control Message Protocol(インターネットコントロールメッセージプロトコル))のルータ請願(Router Solicitation)メッセージを含むルータ請願パケットを送信する(ステップS11)。このルータ請願パケットは、無線端末16-iのMACアドレス及びIPアドレスを送信元MACアドレス及び送信元IPアドレスとして含む。VPNゲートウェイ14は、無線端末16-iからのルータ請願パケットを受信するとアドレス交換手段として機能して、当該パケットの送信元MACアドレスを使用して、ICMPのルータ広告(Router Advertisement)メッセージを含むルータ広告パケットを送信する(ステップS12)。このルータ広告パケットは、VPNゲートウェイ14のMACアドレス及びIPアドレスを送信元MACアドレス及び送信元IPアドレスとして含む。よって、無線端末16-iとVPNゲートウェイ14との間でルータ請願パケット(第1のICMP)とルータ広告パケット(第2のICMP)とを交換することで、無線端末16-iの物理アドレス及びIPアドレスの対とVPNゲートウェイ14の物理アドレス及びIPアドレスの対とを交換したことになる。
このように本実施形態においては、VPNゲートウェイ14が接続されているネットワーク12-2とネットワークアドレスが同一のネットワーク(ここではネットワーク12-2または12-3)に接続された無線端末16-i、つまりVPNゲートウェイ14が位置しているのと同一のセグメントに位置する無線端末16-iがルータ請願パケットを送信し、このルータ請願パケットに応じてVPNゲートウェイ14がルータ広告パケットを無線端末16-iに返すことで、互いのMACアドレス及びIPアドレスの対を交換している。即ち本実施形態によれば、無線端末16-iは、ARP要求/応答の送信を停止しているためにARP要求/応答を使用できないにも拘わらず、VPNゲートウェイ14との間で、ルータ請願パケットとルータ広告パケットとを授受することにより、互いのMACアドレス及びIPアドレスの対を交換することができる。
無線端末16-iは、VPNゲートウェイ14からのルータ広告パケットを受信すると、当該パケットの送信元MACアドレスを宛先MACアドレスとして使用して、暗号化通信を開始するための登録要求を送信する(ステップS13)。この無線端末16-iからの登録要求は、IP層以上の階層で送受信されるパケット(IPパケット)を使用して、少なくとも無線端末16-iのMACアドレスを含むアドレス情報の登録に関する有効期限を指定するのに用いられる。ここで有効期限を示す値が0の登録要求は、無線端末16-iから明示的に登録を解除する場合に使用される。
VPNゲートウェイ14は、無線端末16-iからの登録要求を受信すると後述する登録処理部(登録処理手段)143b(図4参照)として機能する。するとVPNゲートウェイ14は、IPsecの機能(認証機能)により無線端末16-iからの登録要求が正当であるか否かを判定し、その判定結果から登録の成功/失敗を判定する。登録要求の正当性の判定自体は従来から良く知られているため説明を省略する。また、VPNゲートウェイ14は、登録要求で指定される後述する有効期限をチェックする。VPNゲートウェイ14は、登録成功で且つ有効期限の値が0以外の場合、送信元の無線端末16-iの送信元IPアドレス及び送信元MACアドレスの対と有効期限(を示す値)とを含むアドレス情報をアドレステーブル145に追加登録する。以後、VPNゲートウェイ14は、アドレステーブル145に登録された無線端末16-iのIPアドレスに対する有線端末13-jからのARP要求を受信すると、当該ARPの要求元である有線端末13-jに対して自身のMACアドレスを通知するための代理ARP応答を送信する。またVPNゲートウェイ14は、アドレステーブル145に格納されているアドレス情報のうち、有効期限が経過したアドレス情報をアドレステーブル145から削除する。この場合、VPNゲートウェイ14は、削除されたアドレス情報に含まれているIPアドレスに対するARP要求に対して代理ARP応答を返す動作を直ちに停止する。
一方、登録成功で且つ有効期限の値が0の場合、VPNゲートウェイ14は、アドレステーブル145から、送信元の無線端末16-iの送信元IPアドレス及び送信元MACアドレスの対と有効期限とを含むアドレス情報を削除する。この場合、VPNゲートウェイ14は、削除されたアドレス情報に含まれているIPアドレスに対するARP要求に対して代理ARP応答を返す動作を直ちに停止する。
VPNゲートウェイ14は、無線端末16-iからの登録要求に対して登録の成功または失敗を判定すると、当該登録要求に対する応答(登録応答)を当該無線端末16-iに返す(ステップS14)。この登録応答は、IP層以上の階層で送受信されるパケットを使用して、少なくとも登録成功または失敗を通知するのに用いられる。無線端末16-iは、有効期限の値が0以外の登録要求に対して、VPNゲートウェイ14からの登録応答により登録成功が通知されると、IPsecによる暗号化通信を開始する。この際に、VPNゲートウェイ14及び無線端末16-iとの間で、鍵交換プロトコルであるIKE(Internet Key Exchange;インターネット鍵交換)(RFC2409)を使用して、動的にSAを確立してもよい。また無線端末16-iは、先に送信した登録要求で指定された有効期限内の時間間隔で、定期的にVPNゲートウェイ14に対して新たな登録要求を送信する。これにより、無線端末16-iのIPアドレス及びMACアドレスの対を含むアドレス情報がアドレステーブル145に登録されている状態を維持することができる。一方、無線端末16-iからの有効期限の値が0の登録要求に対して、VPNゲートウェイ14からの登録応答により登録成功が通知された場合には、当該無線端末16-iはARP応答停止状態から解除され、ARP要求/応答を使用する通常の端末として動作する。
このように本実施形態においては、無線端末16-iからVPNゲートウェイ14に対して有効期限の情報を含む登録要求を送信し、この登録要求に応じてVPNゲートウェイ14から無線端末16-iに、少なくとも登録の成功/失敗を通知するための登録応答を返信している。ここでは、無線端末16-iは、登録成功が通知される都度、登録要求で指定した有効期限より短い、例えば一定の時間間隔で(つまり定期的に)新たな登録要求をVPNゲートウェイ14に送信することで、当該VPNゲートウェイ14におけるアドレスの登録状態の維持を図ることができる。
また本実施形態において、VPNゲートウェイ14は、無線端末16-iからの登録要求で指定された有効期限内に当該無線端末16-iから新たな登録要求が送られなかった場合、当該無線端末16-iのアドレスの登録状態を解除し、アドレステーブル145から無線端末16-iのMACアドレス及びIPアドレスの対を含むアドレス情報を削除する。つまり、無線端末16-iは、VPNゲートウェイ14に対する登録要求の送信を停止することにより、VPNゲートウェイ14における当該無線端末16-iのアドレスの登録状態を解除させることができる。これにより、ネットワークシステム内の各無線端末16-iとVPNゲートウェイ14との間のアドレスの交換で、VPNゲートウェイ14のアドレステーブル145に登録されるアドレス情報が一方的に増加するのを防止できる。しかも、VPNゲートウェイ14における上記登録状態の解除は、無線端末16-iから予測できるため、当該登録状態の解除によって無線端末16-iと有線端末13-jとの間の通信が突然途切れるのを予め防止できる。
また本実施形態において、無線端末16-iは、有効期限内に、有効期限の値が0の新たな登録要求を送信することでも、VPNゲートウェイ14における当該無線端末16-iのアドレスの登録状態を解除させることができる。この有効期限の値が0の登録要求は、一種のアドレス情報登録解除要求であり、この要求を用いて無線端末16-iがVPNゲートウェイ14における上記登録状態を明示的に解除させることで、当該無線端末16-iは、登録状態の解除後に、ARP要求/応答を使用する通常の端末として動作することができる。
図4は、VPNゲートウェイ14の構成を示すブロック図である。VPNゲートウェイ14は、ネットワークインタフェース(以下、ネットワークIFと称する)141と、データリンク層処理部142と、IP層処理部143と、トランスポート層処理部144と、アドレステーブル145とを備えている。ここでは、アドレステーブル145は、本実施形態に特有の特定テーブル及び従来から知られているARPテーブルの両テーブルとして管理されるものとする。特定テーブルは、VPNゲートウェイ14が無線端末16-iとの間のアドレス交換により取得した当該無線端末16-iの物理アドレス及びIPアドレスの対を格納するのに用いられる。なお、特定テーブル及びARPテーブルがそれぞれ独立して設けられる構成であっても構わない。
データリンク層処理部142と、IP層処理部143と、トランスポート層処理部144とは、例えばVPNゲートウェイ14にインストールされた特定のソフトウェアプログラムを当該ゲートウェイ14が読み取って実行することにより実現される。このプログラムは、コンピュータで読み取り可能な記憶媒体(フロッピー(登録商標)ディスクに代表される磁気ディスク、CD−ROM、DVDに代表される光ディスク、フラッシュメモリに代表される半導体メモリ等)に予め格納して頒布可能である。また、このプログラムが、ネットワークを介してダウンロード(頒布)されても構わない。また、IP層処理部143及びトランスポート層処理部144の一部の機能が、VPNゲートウェイ14上で動作するOS(オペレーティングシステム)によって実現される構成であっても良い。これらの点は、無線端末16-iにインストールされた特定のソフトウェアプログラムにおいても同様である。なお、トランスポート層処理部144は、従来から知られているトランスポート層の処理機構と同様の機能を有する。
ネットワークIF141は、VPNゲートウェイ14が接続されているネットワーク12-2とのインタフェースをなす。ネットワークIF141は、IF入力部141aと、IF出力部141bとを有する。データリンク層処理部142は、VPNGW(VPNゲートウェイ)入力部142aと、VPNGW出力部142bとを有する。IP層処理部143は、ルータ広告(Router Advertisement)処理部143aと、登録処理部143bと、IP入力部143cと、IP出力部143dと、ARP処理部143eと、IPsec処理部143fとを有する。
次にVPNゲートウェイ14内の各部の動作を説明する。ネットワークIF141内のIF入力部141aは、ネットワーク12-2を介して入力された通信データ(通信データパケット)を全てデータリンク層処理部142内のVPNGW入力部142aに送る。ネットワークIF141内のIF出力部141bは、データリンク層処理部142内のVPNGW出力部142bから出力された通信データパケットをネットワーク12-2へ送信する。
ここで、VPNGW入力部142aの動作について、図5のフローチャート及び図6のデータフォーマットを参照して説明する。まず、IF入力部141aからVPNGW入力部142aに入力される通信データパケットは、データフォーマット上、図6(a)に示すパケット601と図6(b)に示すパケット602とに大別される。パケット601は、データリンク層ヘッダ601aと、IPヘッダ601bと、IPペイロード601cとを含む。IPヘッダ601bとIPペイロード601cとから構成されるデータを、IPパケットと呼ぶ。一方、パケット602は、データリンク層ヘッダ602aと、ARP要求/応答(ARP要求またはARP応答)602bとを含むARPパケット(ARP要求/応答パケット)である。データリンク層ヘッダ601a,602aは、宛先MACアドレス及び送信元MACアドレスを含む。
VPNGW入力部142aは、IF入力部141aによって入力された通信データパケット(入力パケット)を受信すると、当該パケットがルータ請願(Router Solicitation)パケット、登録要求パケットまたはそれ以外のパケットであるか(つまりパケット種別)を判別する(ステップS21,S22)。もし、入力パケットがルータ請願パケットでも登録要求パケットでもない場合、VPNGW入力部142aは、当該入力パケット中のデータリンク層ヘッダに後続するデータ部分を、IP層処理部143のIP入力部143cに送る(ステップS23)。ルータ請願パケットでも登録要求パケットでもないパケットには、図6(a)に示すパケット601と、図6(b)に示すパケット602の、何れのフォーマットのパケットも用いることができる。もし、入力パケットが、図6(a)に示すフォーマットのパケット601の場合、当該パケット601中のデータリンク層ヘッダ601aに後続するデータ部分(つまりIPヘッダ601b及びIPペイロード601c)が、図6(c)に示すIPパケット603としてIP入力部143cに送られる。これに対し、入力パケットが、図6(b)に示すフォーマットのパケット(ARPパケット)602の場合には、当該パケット602中のデータリンク層ヘッダ602aに後続するデータ部分(つまりARP要求/応答602b)が、図6(d)に示すARPパケット604としてIP入力部143cに送られる。
一方、入力パケットが登録要求パケットである場合(ステップS22)、VPNGW入力部142aは、当該入力パケットをそのまま登録処理部143bに送る(ステップS24)。登録要求パケットには、図6(a)のフォーマットのパケット601が用いられる。ここでは、パケット601に対応する図6(e)に示す登録要求パケット605が登録処理部143bに送られる。この登録要求パケット605のIPペイロード601cには、有効期限(の値)を含む登録要求データが設定される。
次に、入力パケットがルータ請願パケットである場合(ステップS21)、VPNGW入力部142aは、当該入力パケットをそのままルータ広告処理部143aに送る(ステップS25)。ルータ請願パケットには、図6(a)のフォーマットのパケット601が用いられる。ここでは、パケット601に対応する図6(f)に示すルータ請願パケット606がルータ広告処理部143aに送られる。このルータ請願パケット606のIPペイロード601cには、ICMPのルータ請願メッセージが設定される。
このように、IP入力部143cには、入力パケットのデータリンク層ヘッダ601a(602a)を除く部分が送られる。その理由は、IP入力部143cより上位の処理部では、アドレステーブル145(ここではARPテーブル)とARPパケットを使用したアドレス解決が行われるためである。これに対し、ルータ広告処理部143aと登録処理部143bには、入力パケットがデータリンク層ヘッダ601aを含めてそのまま送られる。その理由は、ルータ広告処理部143aと登録処理部143bでは、ARPテーブルが使用されないためである。つまり、ルータ広告処理部143aと登録処理部143bでは、入力パケットの送信元MACアドレスを使用して、通信データが無線端末16-iに送信される。このために、データリンク層ヘッダ601aが必要となる。
VPNGW出力部142bは、ルータ広告処理部143aと登録処理部143bとIP出力部143dとから、図7に示すMACアドレス701とIPパケット702とを受け取る。このMACアドレス701には、上記入力パケットの送信元MACアドレスが用いられる。VPNGW出力部142bは、MACアドレス701とIPパケット702とから、データリンク層での通信に用いられる図7に示す通信データパケット703を生成する。このパケット703は、データリンク層ヘッダ704と、上記IPパケット702とから構成される。データリンク層ヘッダ704は、宛先MACアドレス705と、送信元MACアドレス706とを含む。宛先MACアドレス705には上記MACアドレス701が用いられ、送信元MACアドレス706にはVPNゲートウェイ14のMACアドレスが用いられる。VPNGW出力部142bは、生成された通信データパケット703をIF出力部141bに送る。
ルータ広告処理部143aは、VPNGW入力部142aから送られるルータ請願パケット606を受信する。ルータ請願パケット606のデータリンク層ヘッダ601aは、図8に示すように、宛先MACアドレス801と送信元MACアドレス802とを含む。ルータ広告処理部143aは、図8に示すように、ルータ請願パケット606に対応する、ルータ広告(Router Advertisement)パケット803を生成する。ルータ広告パケット803は、IPヘッダ803bとICMPのルータ広告メッセージが設定されたIPペイロード803cとから構成されるIPパケットである。ルータ広告処理部143aは、ルータ広告パケット803を、ルータ請願パケット606の送信元MACアドレス802に対して送信するよう、当該ルータ広告パケット803とMACアドレス804とをVPNGW出力部142bに送る。このMACアドレス804には、ルータ請願パケット606の送信元MACアドレス802が用いられる。
登録処理部143bは、VPNGW入力部142aから送られる登録要求パケット605を受信する。この登録要求パケット605中のデータリンク層ヘッダ601aは、図9に示すように、宛先MACアドレス901と送信元MACアドレス902とを含む。この登録処理部143bの登録要求パケット受信時の動作について、図10のフローチャート及び図11のアドレステーブル145の一例を参照して説明する。
登録処理部143bは、登録要求パケット605を受信すると、当該パケット605の指定する登録要求が正当であるならば、登録成功と判断して、当該パケット605中のIPペイロード601cに設定されている登録要求データ中の有効期限の値を調べる(ステップS31)。もし、有効期限の値が0であるならば、登録処理部143bは登録データの削除が要求されているものと判断する。この場合、登録処理部143bは、アドレステーブル145から対応する登録データを検索して、当該データを削除する(ステップS32)。アドレステーブル145の各エントリに登録されるデータ(アドレス情報)は、図11に示すように、MACアドレス及びIPアドレスの対と有効期限の値(有効期限を示す有効期限情報)との組を含む。ここでは、登録要求パケット605のデータリンク層ヘッダ601aに含まれている送信元MACアドレス902とIPヘッダ601bに含まれている送信元IPアドレスとの対を有する登録データが、削除の対象となる登録データとして検索される。これに対し、有効期限の値が0でないならば、登録処理部143bは、アドレステーブル145へのデータ登録が要求されているものと判断する。この場合、登録処理部143bは、要求されたデータをアドレステーブル145に追加登録する(ステップS33)。このアドレステーブル145に追加登録されるデータは、登録要求パケット605のIPペイロード601cに設定されている登録要求データ(有効時間情報)と、当該パケット605のデータリンク層ヘッダ601a及びIPヘッダ601bにそれぞれ含まれている送信元MACアドレス902及び送信元IPアドレスの対とを有する。
登録処理部143bは、ステップS32またはS33を実行すると、図9に示すように、登録要求パケット605に対する応答のための登録応答パケット903を生成する。登録応答パケット903は、IPヘッダ903bと登録応答データが設定されたIPペイロード903cとから構成されるIPパケットである。登録応答データは、登録成功または失敗を通知するデータを含む。登録処理部143bは、生成された登録応答パケット903を、登録要求パケット605の送信元MACアドレス902に対して送信するよう、当該登録応答パケット903とMACアドレス904とをVPNGW出力部142bに送る(ステップS34)。このMACアドレス904には、登録応答パケット903の送信元MACアドレス902が用いられる。
また登録処理部143bは、定期的にアドレステーブル145を監視し、有効期限が切れているデータを当該テーブル145から削除する処理を行う。
IP入力部143cは、VPNGW入力部142aから送られるIPパケットを受信する。IP入力部143cは、受信したIPパケットが、図6(d)に示すARPパケット(ARP要求/応答パケット)604の場合、当該IPパケット(ARPパケット)をARP処理部143eに送り、それ以外の場合には、当該IPパケットをIPsec処理部143fに送る。
IP出力部143dは、ARP処理部143eから送られるARP要求パケットまたはARP応答(代理ARPを含む)パケットを受信する。IP出力部143dはまた、IPsec処理部143fから送られるIPパケット(通信データ)も受信する。このIP出力部143dのパケット受信時の動作について、図12のフローチャート及び図13のデータフォーマットを参照して説明する。
IP出力部143dは、受信パケットが図6(d)に示すARPパケット(ARP要求/応答パケット)604の場合(ステップS41)、当該ARPパケット604を含むデータをVPNGW出力部142bに送る(ステップS42)。このデータは、ARPパケット604の種別によって異なる。まず、ARPパケット604が、図13(a)に示すARP要求パケット131の場合には、当該ARP要求パケット131とデータリンク層ブロードキャストアドレス132とを含むデータがVPNGW出力部142bに送られる。これに対し、ARPパケット604が、図13(b)に示すARP応答(代理ARPを含む)パケット133である場合には、当該ARP応答パケット133とMACアドレス134とを含むデータがVPNGW出力部142bに送られる。ARP応答パケット133は、ARPパケットを使用して解決されたMACアドレス、つまりターゲットMACアドレス135を含む。VPNGW出力部142bに送られるMACアドレス134には、このARP応答パケット133中のターゲットMACアドレス135が用いられる。
次に、受信パケットが、図13(c)に示すIPパケット136である場合について述べる。IP出力部143dは、受信パケットがIPパケット136の場合、つまりARPパケットでない場合(ステップS41)、当該IPパケット136のIPヘッダに含まれている宛先IPアドレスに対応するMACアドレス137をアドレステーブル145から取得するための動作を行う(ステップS43)。もし、宛先IPアドレスに対応するMACアドレス136がアドレステーブル145に存在した結果、当該MACアドレス137を取得するのに成功したならば(ステップS44)、IP出力部143dは、VPNGW出力部142bへ、当該MACアドレス137とIPパケット136とを含む図13(d)に示すデータを送る(ステップS42)。これに対し、宛先IPアドレスに対応するMACアドレス137がアドレステーブル145に存在しないために、当該MACアドレス137を取得するのに失敗した場合(ステップS44)、IP出力部143dは、ARP処理部143eに対してARP要求パケットの発行を要求する(ステップS45)。すると、この要求に応じてARP処理部143eからARP要求パケットが発行される。その後、このARP要求パケットに従うARP応答に従ってアドレステーブル(ARPテーブル)145にMACアドレス137を含むアドレス情報が追加登録される。このアドレス情報の追加登録により、アドレステーブル145からMACアドレス137を取得できた場合(ステップS46,S47)、IP出力部143dは、当該MACアドレス137とIPパケット136とを含む図13(c)に示すデータを、VPNGW出力部142bに送る(ステップS42)。
ARP処理部143eは、IP入力部143cからARPパケット(ARP要求/応答パケット)を受信する。またARP処理部143eは、IP出力部143dからARP要求パケットの発行要求を受信する。このARP処理部143eのARPパケット受信時とARP要求パケット発行要求受信時の動作について、図14のフローチャートを参照して説明する。
今、ARP処理部143eが、IP出力部143dからARP要求パケットを受信したものとする。ARP処理部143eは、この例のように、受信ARPパケットがARP要求パケットである場合(ステップS51)、当該ARP要求パケットの示すARP要求がVPNゲートウェイ14のIPアドレスに対する要求であるかを判別する(ステップS52)。もし、VPNゲートウェイ14のIPアドレスに対する要求である場合、ARP処理部143eは、ネットワークIF141のMACアドレスとVPNゲートウェイ14のIPドレスとの対を含むARP応答パケットを生成する(ステップS53)。ARP処理部143eは、生成したARP応答パケットをVPNGW出力部142bに送る(ステップS54)。
これに対し、VPNゲートウェイ14以外のIPアドレスに対するARP要求である場合には、ARP処理部143eは、要求されたIPアドレスをアドレステーブル145から取得するための動作を行う(ステップS55)。もし、要求されたIPアドレス取得できたならば(ステップS56)、ARP処理部143eは、ネットワークIF141のMACアドレスと当該IPアドレスとの対を含むARP応答パケット(代理ARP応答パケット)を生成する(ステップS57)。ARP処理部143eは、このARP応答パケットをVPNGW出力部142bに送る(ステップS54)。
一方、受信パケットがARP応答パケットの場合、ARP処理部143eは、当該ARP応答パケットに含まれている、MACアドレスとIPアドレスとの対を、アドレステーブル(ARPテーブル)145に追加登録する(ステップS58)。
次に、ARP処理部143eが、IP出力部143dからARP要求パケットの発行要求を受信したものとする。この場合、ARP処理部143eは、要求されたARP要求パケットを生成する(ステップS61)。ARP処理部143eは、生成したARP要求パケットをVPNGW出力部142bに送る(ステップS62)。
IPsec処理部143fは、従来から知られている通常のIPsec機構と同様の機能を有する。但し、IPsec処理部143fは、IP入力部143cから受け取ったパケットの宛先が、VPNゲートウェイ14のIPアドレス以外で、且つSAを確立した端末のアドレス宛てである場合に、IPsecによる暗号化を施し、暗号化されたデータをIP出力部143dに送る機能を有する。このIPsec処理部143fが、動的な鍵交換プロトコルIKE或いはSKIPをサポートしていても良い。
トランスポート層処理部144は、従来から知られているトランスポート層の処理機構と同様の機能を有する。
図15は、無線端末16-i(i=1,2)の構成を示すブロック図である。無線端末16-iは、ネットワークIF(ネットワークインタフェース)161と、データリンク層処理部162と、IP層処理部163と、トランスポート層処理部164と、アドレステーブル165とを備えている。このアドレステーブル165は、VPNゲートウェイ14内のアドレステーブル145と同様に、特定テーブル及びARPテーブルとして管理されるものとする。但し、ここでの特定テーブルは、無線端末16-iがVPNゲートウェイ14との間のアドレス交換により取得した当該VPNゲートウェイ14の物理アドレス及びIPアドレスの対を格納するのに用いられる。
データリンク層処理部162と、IP層処理部163と、トランスポート層処理部164とは、例えば無線端末16-iにインストールされた特定のソフトウェアプログラムを当該無線端末16-iが読み取って実行することにより実現される。また、IP層処理部163及びトランスポート層処理部164の一部の機能が、無線端末16-i上で動作するOSによって実現される構成であっても良い。トランスポート層処理部164は、従来から知られているトランスポート層の処理機構と同様の機能を有する。
ネットワークIF161は、VPNゲートウェイ14内のネットワークIF141に相当し、IF入力部161aと、IF出力部161bとを有する。データリンク層処理部162は、VPNゲートウェイ14内のデータリンク層処理部142に相当し、クライアント端末入力部162aと、クライアント端末出力部162bとを有する。IP層処理部163は、VPNゲートウェイ14内のIP層処理部143に相当し、ルータ請願(Router Solicitation)処理部163aと、登録処理部163bと、IP入力部163cと、IP出力部163dと、IPsec処理部163eとを有する。
ネットワークIF161内のIF入力部161aは、ネットワークを介して入力された通信データパケットを全てデータリンク層処理部162内のクライアント端末入力部162aに送る。ネットワークIF161内のIF出力部161bは、データリンク層処理部162内のクライアント端末出力部162bから出力された通信データパケットをネットワークへ送信する。
ここで、クライアント端末入力部162aの動作について、図16のフローチャートと図6及び図17のデータフォーマットとを参照して説明する。
クライアント端末入力部162aは、IF入力部161aによって入力された通信データパケット(入力パケット)を受信すると、当該パケットの種別を判別する(ステップS71,S72,S73)。ここでは、入力パケットが、登録要求パケット、ルータ広告パケット、ARPパケット、またはそれ以外のパケットの何れであるかが判別される。ARPパケットには、図6(b)に示すフォーマットのパケット602が用いられ、登録要求パケット及びルータ広告パケットなど、ARPパケット以外のパケットには、図6(a)に示すフォーマットのパケット601が用いられる。
もし、入力パケットが図6(a)のフォーマットのパケット601で、且つ当該入力パケット(パケット601)が登録要求パケットである場合(ステップS73)、クライアント端末入力部162aは、当該入力パケットをそのまま登録処理部163bに送る(ステップS74)。ここでは、パケット601に対応する図6(e)に示す登録要求パケット605が登録処理部163bに送られる。
また、入力パケットが図6(a)のフォーマットのパケット601で、且つ当該入力パケット(パケット601)がルータ広告パケットである場合(ステップS72)、クライアント端末入力部162aは、当該入力パケットをそのまま登録処理部163bに送る(ステップS74)。ここでは、パケット601に対応する図17に示すルータ広告パケット171が登録処理部163bに送られる。このルータ広告パケット171のIPペイロード601cには、ICMPのルータ広告メッセージが設定されている。
また、入力パケットが、登録要求パケット605、ルータ広告パケット171または図6(b)に示すARPパケット602の何れでもない場合(ステップS71〜S73)、クライアント端末入力部162aは、当該入力パケット中のデータリンク層ヘッダに後続するデータ部分を、IP層処理部163のIP入力部163cに送る(ステップS75)。登録要求パケット605、ルータ広告パケット171またはARPパケット602の何れでもないパケットのフォーマットは、図6(a)に示すパケット601のフォーマットに一致する。この場合、パケット601中のデータリンク層ヘッダ601aに後続するデータ部分(つまりIPヘッダ601b及びIPペイロード601c)が、図6(c)に示すIPパケット603としてIP入力部163cに送られる。
また、入力パケットがARPパケット602の場合(ステップS71)、クライアント端末入力部162aは、当該入力パケット(ARPパケット602)を登録処理部163b及びIP入力部163cの何れにも送らずに、処理を終了する。つまりクライアント端末入力部162aは、入力パケット(ARPパケット602)を破棄する。
このように、IP入力部163cには、入力パケットのデータリンク層ヘッダ601aを除く部分が送られる。その理由は、IP入力部163cより上位の処理部では、アドレステーブル165(ここではARPテーブル)とARPパケットとを使用したアドレス解決が行われるためである。これに対し、登録処理部163bには、入力パケットがデータリンク層ヘッダ601aを含めてそのまま送られる。その理由は、登録処理部163bでは、ARPテーブルが使用されないためである。つまり、登録処理部163bは、登録応答パケットをVPNゲートウェイ14に送信するのに、入力パケットの送信元MACアドレスを宛先MACアドレスとして使用する。このために、データリンク層ヘッダ601aが必要となる。
クライアント端末出力部162bは、IF出力部161bとルータ請願処理部163aと登録処理部163bとから、図7に示すMACアドレス701とIPパケット702とを受け取る。このMACアドレス701には、上記入力パケットの送信元MACアドレスが用いられる。クライアント端末出力部162bは、先に述べたVPNゲートウェイ14内のVPNGW出力部142bと同様に、MACアドレス701とIPパケット702とから、データリンク層での通信に用いられる図7に示す通信データパケット(データリンク層パケット)703を生成する。このパケット703は、データリンク層ヘッダ704と、IPパケット702とから構成される。データリンク層ヘッダ704は、宛先MACアドレス705と、送信元MACアドレス706とを含む。宛先MACアドレス705には、上記MACアドレス701が用いられる。一方、送信元MACアドレス706には、VPNGW出力部142bによるデータリンク層パケットの生成の場合と異なり、無線端末16-iのMACアドレスが用いられる。クライアント端末出力部162bは、生成された通信データパケットをIF出力部161bに送る。
ルータ請願処理部163aは、登録処理部163bからの後述するルータ請願パケット発行要求に応じて、図18に示すルータ請願パケット181を生成する。ルータ請願パケット181は、IPヘッダ181bとICMPのルータ請願メッセージが設定されたIPペイロード181cとから構成されるIPパケットである。ルータ請願処理部163aは、生成したルータ請願パケット181を同報送信するように、図18に示すように、当該パケット181とネットワーク層ブロードキャストアドレス182とをクライアント端末出力部162bに送る。このように、ルータ請願処理部163aが動作するのは、登録処理部163bで登録要求パケットを送信するときであり、具体的には当該登録処理部163bからルータ請願パケットの発行が要求された場合である。
次に、登録処理部163bの登録要求パケット送信時及び登録応答パケット受信時の動作について、図19のフローチャート、図20のアドレステーブル165の一例及び図21のデータフォーマットを参照して説明する。
まず登録処理部163bは、登録要求パケットを送信するに際し、VPNゲートウェイ14のMACアドレスを含むアドレス情報がアドレステーブル165に存在するか否かをチェックする(ステップS81,S82)。なお、本実施形態において、無線端末16-iは自身でARP応答及びARP要求を一切送信しない。このためアドレステーブル165には、VPNゲートウェイ14以外のアドレス情報は常に存在しない。
登録処理部163bは、アドレステーブル165にVPNゲートウェイ14のアドレス情報が存在しない場合、ルータ請願処理部163aに対して、ルータ請願パケットの送信(発行)を要求する(ステップS83)。これに対し、図20に示すように、アドレステーブル165にVPNゲートウェイ14のアドレス情報が存在する場合、登録処理部163bは、図21に示す登録要求パケット211を生成する(ステップS84)。登録要求パケット211は、IPヘッダ211bと登録要求データが設定されたIPペイロード211cとから構成されるIPパケットである。登録処理部163bは、生成された登録要求パケット211を、アドレステーブル165から取得される図21に示すMACアドレス212(つまりVPNゲートウェイ14のMACアドレス212)に対して送信するよう、当該登録要求パケット211とMACアドレス212とをクライアント端末出力部162bに送る(ステップS85)。
さて、登録処理部163bからクライアント端末出力部162bに送った登録要求パケット211がVPNゲートウェイ14に転送された結果、当該VPNゲートウェイ14から、図9に示す登録応答パケット903に相当し、且つデータリンク層ヘッダを含む登録応答パケットが無線端末16-iに返されたものとする。この登録応答パケットは、IF入力部161a及びクライアント端末入力部162aを介して登録処理部163bに入力される。登録処理部163bは、この登録応答パケットを受け取ると、当該パケットのIPペイロードに設定されている登録応答データをもとに、VPNゲートウェイ14でのアドレス情報登録に成功したか否かを判別する(ステップS91)。もし、登録に成功した場合、登録処理部163bは、アドレステーブル165にVPNゲートウェイ14のアドレス情報の登録を行う(ステップS92)。この例のように、アドレステーブル165にVPNゲートウェイ14のアドレス情報が存在している状態で、無線端末16-iからVPNゲートウェイ14に送られた登録要求パケットに対する登録応答の場合、上記ステップS92では、アドレス情報中の有効期限の値だけが書き換えられる。その後、登録処理部163bは、先に登録要求パケット211を用いて送信した登録要求データの示す有効期限以内の間隔で、定期的に登録要求パケットを送信することにより、アドレステーブル165にVPNゲートウェイ14のアドレス情報が登録されている状態を維持する。アドレステーブル165からVPNゲートウェイ14のアドレス情報が削除されるのは、登録応答パケットにより登録成功が通知された後、有効期限以内に登録成功を通知する新たな登録応答パケットを受信しなかった場合である。
次に、登録処理部163bのルータ広告パケット受信時の動作について、図22のフローチャート及び図23のデータフォーマットを参照して説明する。今、登録処理部163bが、クライアント端末入力部162aから入力される、図17に示すルータ広告パケット171を受信したものとする。このルータ広告パケット171のデータリンク層ヘッダ601aは、図23に示すように、宛先MACアドレス231と送信元MACアドレス232とを含む。登録処理部163bは、ルータ広告パケット171を受信すると、上記登録要求パケット211に相当する図23に示す登録要求パケット233を生成する(ステップS101)。登録要求パケット233は、IPヘッダ233bと登録要求データが設定されたIPペイロード233cとから構成されるIPパケットである。登録処理部163bは、受信したルータ広告パケット171のデータリンク層ヘッダ601aに含まれている送信元MACアドレス231を、図23に示すMACアドレス234として、登録要求パケット233と当該MACアドレス234とをクライアント端末出力部162bに送る(ステップS102)。
IP入力部163cは、クライアント端末入力部162aから入力される、図6(c)に示すフォーマットのIPパケット603を受信する。IP入力部163cは、受信したIPパケット603をIPsec処理部163eに送る。IPsec処理部163eは通常のIPsec機構と同様の機能を有する。この点で、IPsec処理部163eは、VPNゲートウェイ14内のIPsec処理部143fと同様である。但し、IPsec処理部163eは、IPsec処理部143fと異なり、IP入力部163cから受け取ったIPパケットの送信元が、VPNゲートウェイ14のIPアドレス以外の場合には、当該パケットを破棄する。
IPsec処理部163eは、IP出力部163dに対してIPパケットを送る。するとIP出力部163dは、IPsec処理部163eから送られたIPパケットを受信する。このIP出力部163dのIPパケット受信時の動作について、図24のフローチャート及び図25のデータフォーマットを参照して説明する。
今、IP出力部163dが、図25(a)に示すルータ広告パケット251を受信したものとする。このルータ広告パケット251は、図17に示すルータ広告パケット171のデータリンク層ヘッダ601aに後続するデータ部分に相当するIPパケットである。ルータ広告パケット251は、IPヘッダ251bと、ICMPのルータ広告メッセージが設定されたIPペイロード251cとから構成される。
IP出力部163dは、IPsec処理部163eからルータ広告パケット251を受信すると、アドレステーブル165にVPNゲートウェイ14のMACアドレスを含むアドレス情報が存在するか否かをチェックする(ステップS101,S102)。もし、アドレステーブル165に、図25(b)に示す、VPNゲートウェイ14のMACアドレス252が存在する場合、IP出力部163dは、当該MACアドレス252とルータ広告パケット251に対する登録要求パケット253とを、クライアント端末出力部162bに送る。登録要求パケット253は、IPヘッダ253bと、登録要求データが設定されたIPペイロード253cとから構成されるIPパケットである。
これに対し、アドレステーブル165にVPNゲートウェイ14のMACアドレスを含むアドレス情報が存在しない場合、IP出力部163dは、クライアント端末出力部162bへのパケッデータ送信を行わずに処理を終了する。
[第2の実施形態]
図26は本発明の第2の実施形態に係るネットワークシステムの構成を示すブロック図である。図26において、図1と同様の部分には同一符号を付してある。
図26において、ネットワーク21には、ネットワーク(有線ネットワーク)22-1(#1),21-2(#2),22-3(#3)が、それぞれルータ20-1,20-2,20-3を介して接続されている。本実施形態において、ネットワーク21,22-1〜22-3のネットワークアドレスはそれぞれ異なり、この点で図26のシステムは、前記第1の実施形態における図1のシステムと相異する。ルータ20-1〜20-3は、この異なるネットワークアドレスのネットワーク21,22-1〜22-3相互間を接続するためのルーティング機能を有する。
第2の実施形態の特徴は、第1の実施形態で適用された技術を応用して、ルータ20-1〜20-3を介したネットワークにおいても、IPsecを使用して無線ネットワークの無線区間における通信を暗号化しながら、VPNゲートウェイ装置の設置位置が無線基地局の位置に依存しないネットワークシステムを実現した点にある。
ネットワーク21,22-1〜22-3のうちの例えばネットワーク22-2には、VPNゲートウェイ(VPNゲートウェイ装置)24が接続されている。このVPNゲートウェイ24は、IPsecの機能を有する図1中のVPNゲートウェイ14にモバイルIP(RFC3344)のホームエージェントの機能を追加することにより実現される。つまり、VPNゲートウェイ24は、ホームエージェントを兼ねたホームエージェント機能付きVPNゲートウェイである。モバイルIPとは、ネットワークアドレスを異にするネットワーク間(つまり異なるセグメント間)をモバイル端末(ホスト)が移動したときに、その移動を検出し、移動後においても移動前と同様に通信可能なように、IPアドレスの管理と移動先への通信データパケットの転送を自動化する技術(プロトコル)をいう。ホームエージェントは、モバイル端末の位置を管理する。モバイルIPの技術の特徴の1つとして、モバイル端末がホームエージェントとは異なるセグメントに移動した状態では、当該モバイル端末は全ての通信データを必ずホームエージェントを中継して送信できることが知られている。
図26には、無線ネットワークにおける無線基地局15-1,15-2の無線通信エリア(無線区間)内に無線端末(移動端末)26-1,26-2が配置されている状態が示されている。無線端末26-2は、VPNゲートウェイ24が接続されているネットワーク22-2に接続された無線基地局15-1の無線通信エリアから、当該ネットワーク22-2とはネットワークアドレスが異なるネットワーク22-3に接続された無線基地局15-2の無線通信エリアに移動された無線端末26-1を指す。つまり無線端末26-2は、VPNゲートウェイ24が位置しているのと同一のセグメントから当該VPNゲートウェイ24が位置しているのとは異なるセグメントに移動された無線端末26-1を指す。無線端末26-i(i=1,2)は、IPsecの機能を有する図1中の無線端末16-iに、モバイルIPのモバイルノードの機能を追加することにより実現される。つまり、無線端末16-iは、モバイルIPのプロトコルを適用するモバイルノードを兼ねたモバイルノード機能付き無線端末(モバイル端末)である。
このように、本実施形態では、無線端末26-i及びVPNゲートウェイ24に、IPsecの機能だけでなくモバイルIPの機能も持たせている。これにより本実施形態では、以下に述べるように、無線端末26-iがVPNゲートウェイ24(のホームエージェント)と同一のセグメント(図26の例では、ネットワーク22-2)上に位置している場合でも、無線端末26-iがVPNゲートウェイ24とは異なるセグメント(図26の例では、ネットワーク22-3)に移動している場合でも、共に全ての通信データを必ずVPNゲートウェイ24(のホームエージェント)を中継させる仕組みを実現している。
ここで、図26のネットワークシステムにおける、移動前の無線端末26-1及び移動後の無線端末26-2とVPNゲートウェイ24と有線端末13-jとの間の通信について、図27のシーケンスチャートを参照して説明する。
まず、VPNゲートウェイ24と無線端末26-1とは、暗号化通信を行うためIPsecのSA(セキュリティアソシエーション)を確立させておく。前記したように、モバイルIPの技術では、ホームエージェント(ここでは、VPNゲートウェイ24に実装されている)を中継した通信は、無線端末(モバイル端末)が移動した先のセグメントでのみ可能である。そこで本実施形態では、無線端末26-iがホームエージェントと同一のセグメント上に位置している移動前の状態では、前記第1の実施形態で適用した、無線端末26-iの位置に無関係に必ずVPNゲートウェイ24を中継して通信させる機能を働かせる。これにより、無線端末26-iがホームエージェントと同一のセグメント上に位置している場合にも、ホームエージェント(VPNゲートウェイ24)を中継した通信が可能となり、後述するように、VPNゲートウェイ24と無線端末26-iとの間で送受信される通信データが暗号化される。
今、無線端末26-1がVPNゲートウェイ24及び無線基地局15-1と同一のセグメント(つまりネットワーク22-2)に位置しているものとする。この状態では、無線端末26-1、VPNゲートウェイ24及び有線端末13-jの間の通信は、前記第1の実施形態と同様に行われる。即ち無線端末26-1の通信相手である有線端末13-jは、無線端末16-i宛ての通信データをVPNゲートウェイ24に対して送信する(ステップS111)。VPNゲートウェイ24は、有線端末13-jからの無線端末26-1宛ての通信データを受信すると、当該データをIPsecの機能により暗号化する。VPNゲートウェイ24は、暗号化された通信データを無線端末26-1に対して送信する(ステップS112)。なお、図27では、図2のステップS1,S2に相当する手順は省略されている。
一方、無線端末26-1が有線端末13-jに対して通信データを送信しようとする場合、当該無線端末26-1は、有線端末13-j宛ての通信データをIPsecの機能により暗号化する。無線端末26-1は、この暗号化された通信データをVPNゲートウェイ24に送信する(ステップS113)。VPNゲートウェイ24は、無線端末26-1から送信された有線端末13-j宛ての通信データを受信すると、当該通信データをIPsecの機能により復号する。VPNゲートウェイ24は、復号された有線端末13-j宛ての通信データを当該有線端末13-jに送信する(ステップS114)。なお、図27では、図2のステップS6,S7に相当する手順は省略されている。
図28(a)に、上記ステップS112,S113で無線端末26-1及びVPNゲートウェイ24の間で送受信される暗号化された通信データ(IPパケット)281のフォーマットを示す。図28(a)から明らかなように、IPパケット281は、IPヘッダ281bと、IPペイロード281cとから構成される。ここでは、IPペイロード281cのみが、IPsecにより暗号化されている。
次に、無線端末26-1が、VPNゲートウェイ24及び無線基地局15-1が位置しているセグメント(ネットワーク22-2)とは別のセグメント、例えば無線基地局15-2が位置しているセグメント(つまりネットワーク22-3)に移動して、無線端末26-2として機能するものとする。このような、異なるセグメントへの移動を、ルータを超えたセグメントへの移動と呼ぶ。この場合、無線端末26-2及びVPNゲートウェイ24の双方は、前記第1の実施形態で示された動作のうち、IPsecによる暗号化以外の全動作を停止する。この停止した動作の代わりに、無線端末26-2及びVPNゲートウェイ24は、モバイルIPのプロトコルに従う動作を次のように行う。
今、有線端末13-jからVPNゲートウェイ24に対して、移動後の無線端末26-1、つまり無線端末26-2宛ての通信データが送信されたものとする(ステップS115)。VPNゲートウェイ24は、モバイルIPの機能により、無線端末26-2宛ての全ての通信データを代理で受信する。このとき、無線端末26-2及びVPNゲートウェイ24におけるIPsecによる暗号化の動作は停止されていない。そこでVPNゲートウェイ24は、無線端末26-2宛ての通信データを受信すると、当該データ(中のIPペイロード)をIPsecの機能により暗号化する。
VPNゲートウェイ24は、無線端末26-2宛ての暗号化された通信データ(暗号化されたIPペイロードを含むIPパケット)をカプセル化して、モバイルIPのIPペイロードとする。VPNゲートウェイ24は、モバイルIPのIPペイロードにモバイルIPのIPヘッダを付加することで、暗号化され且つカプセル化された通信データを含む、無線端末26-2宛ての新たな通信データを生成する。
ここでは、図28(b)のフォーマットに示すように、有線端末13-jから受け取って暗号化された無線端末26-2宛ての通信データ(IPパケット)282が、モバイルIPのIPペイロード283cとされる。IPパケット282は、IPヘッダ282bと、IPペイロード282cとから構成される。このIPパケット282中のIPペイロード282cのみが、IPsecの機能により暗号化されている。IPヘッダ282bは宛先IPアドレス及び送信元IPアドレスを含む。このIPヘッダ282bの宛先IPアドレス及び送信元IPアドレスには、それぞれ無線端末26-2(26-1)のホームアドレス(つまり、無線端末の移動に拘わらずに一定のIPアドレス)及び有線端末13-jのIPアドレスが用いられる。モバイルIPのIPペイロード283cには、モバイルIPのIPヘッダ283bが付加される。IPヘッダ283bは宛先IPアドレス及び送信元IPアドレスを含む。このIPヘッダ283bの宛先IPアドレス及び送信元IPアドレスには、それぞれ無線端末26-2のケアオブアドレス(つまり、無線端末の移動に伴って変化するIPアドレス)及びVPNゲートウェイ24(ホームエージェント)のIPアドレスが用いられる。VPNゲートウェイ24は、このIPヘッダ283bとIPペイロード283cとから構成される暗号化された通信データ、つまり暗号化されたIPペイロード282cを含むモバイルIPのIPパケット283を無線端末26-2に転送する(ステップS116)。
一方、無線端末26-2が有線端末13-jに対して通信データを送信しようとする場合、当該無線端末26-2は、図28(b)に示すフォーマットの有線端末13-j宛ての通信データ(IPパケット)282(に含まれているIPペイロード282c)をIPsecの機能により暗号化する。無線端末26-2は、この暗号化された有線端末13-j宛てのIPパケット282を含む、図28(b)に示すフォーマットのモバイルIPの通信データ(IPパケット)283をVPNゲートウェイ24に送信する(ステップS117)。ここで、無線端末16-2からVPNゲートウェイ24に送信される通信データ(IPパケット)283のIPヘッダ282b,283bの宛先IPアドレス及び送信元IPアドレスには、上記ステップS116でVPNゲートウェイ24から無線端末26-2に送信されたIPパケット283に含まれているIPヘッダ282b,282cの送信元IPアドレス及び宛先IPアドレスが用いられる。このように無線端末26-2は、RFC3024で規定されたモバイルIPのリバース・トンネリング(Reverse Tunneling)を使用することで、無線端末26-2がVPNゲートウェイ14とは異なるセグメントに位置していても、当該無線端末26-2からの有線端末13-j宛ての全ての通信データ(暗号化されたIPペイロードを含む有線端末13-j宛てのIPパケット)がVPNゲートウェイ14によって中継されることを可能とする。
VPNゲートウェイ24は、無線端末26-2からの通信データ(IPパケット)283を受信すると、当該データ283をIPsecの機能により復号する。ここでは、カプセル化された有線端末13-j宛ての通信データ(IPパケット)282中のIPペイロード282cが復号される。VPNゲートウェイ24は、復号されたIPペイロード282cを含む、有線端末13-j宛ての通信データ(IPパケット)282を、モバイルIPのプロトコルにより当該有線端末13-jに送信する(ステップS118)。
このように、本発明の第2の実施形態においては、無線端末26-1が、VPNゲートウェイ24とは異なるセグメント(ルータを超えたセグメント)に移動して無線端末26-2として機能しても、当該無線端末26-2と有線端末13-jとの間の通信が必ずVPNゲートウェイ24を中継して行われるようにしたので、無線端末26-2とVPNゲートウェイ24との間の通信を(当該無線端末26-2が位置する無線基地局の無線区間における通信を含めて)暗号化することができる。
次に、無線端末26-1が、当該無線端末26-1、VPNゲートウェイ24及び無線基地局15-1が位置しているセグメント(ネットワーク22-2)から、別のセグメント、例えば無線基地局15-2が位置しているセグメント(ネットワーク22-3)に移動して無線端末26-2として動作する場合の、移動前と移動後の動作について、図29のシーケンスチャートを参照して説明する。
前記第1の実施形態で適用された登録要求パケットは、IP層以上の階層で送受信されるパケット(IPパケット)であり、少なくとも有効期限を示す登録要求データを含んでいる。これに対して本実施形態(第2の実施形態)では、上記登録要求パケットに相当するパケットとして、モバイルIPの移動登録要求パケットを適用する。但し、モバイルIPの移動登録要求パケットでは、無線端末26-1が移動していない状態において、有効期限の値を常に0にしなければならないのが一般的である。そこで本実施形態では、移動登録要求パケットの拡張部分を使用して、第1の実施形態で適用された、有効期限を示すデータを含む登録要求データが設定される構成としている。また、無線端末26-1が無線端末26-2として移動している状態では、前記したように、無線端末26-2及びVPNゲートウェイ24の双方は、第1の実施形態で示された動作のうち、IPsecによる暗号化以外の全動作を停止する必要がある。そこで本実施形態では、無線端末の移動先におけるアドレス情報のVPNゲートウェイ24での登録(移動登録)に関し、移動登録要求パケットの拡張部分に値が0の有効期限を設定する。
図30は、移動登録要求パケットの例を、無線端末が移動していない状態で適用される移動登録要求パケット301と、無線端末が移動している状態で適用される移動登録要求パケット302とについてそれぞれ示す。移動登録要求パケット301,302は、IPヘッダ301b,302bと、IPペイロード301c,302cとから構成される。IPペイロード301c,302cは、モバイルIPの移動登録要求データが設定される移動登録要求フィールドF1と、モバイルIPの拡張フィールドF2とを含む。フィールドF1に設定されるモバイルIPの移動登録要求データは、移動登録の有効期限のデータを含む。モバイルIPの拡張フィールドF2の一部であるフィールドF3は、VPNゲートウェイ24におけるアドレス情報(無線端末のMACアドレスを含むアドレス情報)の登録に関するデータ(登録要求データ)の設定に用いられる。このフィールドF3に設定されるデータは、有効期限の情報を含む。
無線端末が移動していない状態で適用される移動登録要求パケット301では、フィールドF1,F3のうちのF3が有効期限を含む有効な登録要求データの設定に用いられ、F1には値が0の有効期限が設定される。これに対し、無線端末が移動している状態で適用される移動登録要求パケット302では、フィールドF1,F3のうちのF1が有効期限を含む有効な登録要求データの設定に用いられ、F3には値が0の有効期限が設定される。
このように本実施形態においては、モバイルIPの移動登録要求パケットの拡張フィールドF2(中のF3)を利用して、無線端末26-1が移動していない状態における、第1の実施形態で適用された登録要求パケットに相当するパケットを実現している。このため、無線端末26-1が移動していない状態においても、第1の実施形態と同様に、登録有効期限内の時間間隔でモバイルIPの移動登録要求パケットを発行することにより、無線端末26-1のMACアドレスを含むアドレス情報がアドレステーブル(図3中のアドレステーブル145に相当)に登録されている状態を維持することができる。
同様に、第1の実施形態で適用される登録応答パケットに相当するパケットに関しても、モバイルIPの移動登録応答パケットの拡張部分を使用して、当該拡張部分に有効な登録応答データを設定することで実現している。図31は、移動登録応答パケット310のフォーマット例を示す。この移動登録応答パケット310は、IPヘッダ310bとIPペイロード310cとから構成される。IPペイロード310cは、モバイルIPの移動登録応答データが設定されるフィールドF11と、モバイルIPの拡張フィールドF12とを含む。フィールドF11に設定される移動登録応答データは移動登録要求に対する登録結果を含む。フィールドF12は、無線端末26-1が移動していない状態におけるVPNゲートウェイ24への登録要求に対する登録結果を設定するのに用いられるフィールドF13を含む。
上述の説明から明らかなように、無線端末26-1が移動していない状態においては、無線端末26-1とVPNゲートウェイ24との間で、上述の移動登録要求パケット及び移動登録応答パケットの拡張部分(フィールドF3,F13)を使用して、図29のシーケンスチャートに示すように当該移動登録要求パケット及び移動登録応答パケットの送受信を行うことで(ステップS121,S122)、図3中のステップS13,S14に相当する登録要求及び登録応答を実現できる。一方、無線端末26-1が移動して無線端末26-2として動作する状態においては、上述の移動登録要求パケットの移動登録要求データフィールドF1及び移動登録応答パケットの移動登録応答要求データフィールドF11を使用して、図29のシーケンスチャートに示すように当該移動登録要求パケット及び移動登録応答パケットの送受信を行うことで(ステップS123,S124)、モバイルIPの移動登録要求及び移動登録応答を実現できる。
このモバイルIPの移動登録要求に対する登録に成功した場合、VPNゲートウェイ24の転送機能がモバイルIPに切り替わり、以後、VPNゲートウェイ24及び無線端末26-2はモバイルIPに従って動作する。
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
11,12-1〜12-3,21,22-1〜22-3…ネットワーク、13-1〜13-3…有線端末、14…VPNゲートウェイ、15-1,15-2…無線基地局、16-1,16-2,26-1,26-2…無線端末、20-1〜20-3…ルータ、24…ホームエージェント機能付きVPNゲートウェイ、26-1,26-2…モバイルノード機能付き無線端末、143a…ルータ広告処理部、143b,163b…登録処理部,143e…ARP処理部、143f,163e…IPsec処理部、145,165…アドレステーブル、163a…ルータ請願処理部。