説明

ゲートウェイ装置及びプログラム、並びに、通信システム

【課題】 VPNを採用した通信システムにおいて、割り当てるアドレスの重複を防ぐ。
【解決手段】 本発明は、ゲートウェイ装置間でVPN接続を行い、それぞれのゲートウェイ配下の通信装置間を、そのVPN接続を利用して通信させる通信システムに関する。そして、通信システムの第1のゲートウェイは、第2のゲートウェイから、少なくとも第2のゲートウェイの配下のサブネットワークにおけるネットワークアドレスの情報を保持し、複数の候補から少なくとも第2のゲートウェイのネットワークアドレスと重複しない仮想ネットワークアドレスを決定する。そして、第1のゲートウェイ装置と第2のゲートウェイ装置は、第1のゲートウェイ装置が決定した仮想ネットワークアドレスに属する仮想アドレスを用いてVPN接続を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲートウェイ装置及びプログラム、並びに、通信システムに関し、例えば、L3VPN(Layer3 Virtual Private Network)を利用したVPN接続に適用することができる。
【背景技術】
【0002】
企業内ネットワークなどの閉塞網に、コストの高い専用回線を用いず、コストの低い公衆網(例えば、インターネット等のIP網)をあたかも専用回線のように利用できるVPN(Virtual Private Network)が利用されることが増えており、多くの通信事業者からサービスが提供されている。
【0003】
VPNには、その実現方法により、L3VPN(レイヤ3VPN)とL2VPN(レイヤ2VPN)等の方式がある。なお、L3VPNはネットワーク層で実現するものであり、L2VPNはデータリンク層で実現するものである。
【0004】
VPNを用いると、異なるサブネットをVPNで繋ぎ、サブネット間でプライベートな通信を行うことが可能になる。
【0005】
図8は、従来のL3VPNを採用した通信システムの構成について示した説明図である。
【0006】
図8では、サブネットSN−A内のVPNゲートウェイGAと、サブネットSN−B内のVPNゲートウェイGBが公衆網を使用してVPN接続を行うことで、VPNトンネルを通して、サブネットSN−AとサブネットSN−Bの間でプライベートな通信を行うことができる。
【0007】
L3VPN方式の場合、VPNトンネルはネットワーク層のトンネルとなり、VPNゲートウェイGAとVPNゲートウェイGBにおいて、仮想アドレスで通信することにより、相互通信可能となる。
【0008】
また、VPNゲートウェイGAの配下端末とVPNゲートウェイGBの配下端末同士も、仮想アドレスで管理することで、VPNゲートウェイGAとVPNゲートウェイGBが仮想アドレスと実アドレスとの変換を行う。そして、VPNゲートウェイGAの配下端末とVPNゲートウェイGBの配下端末同士においても、VPNトンネルを通した相互通信を可能とする。
【0009】
しかしこの時、サブネットSN−AやサブネットSN−Bのネットワークアドレスが、仮想アドレスのネットワークアドレスと重複していると、そのままL3VPNで繋いでも、VPNゲートウェイGAやVPNゲートウェイGBで実施されるアドレス変換や経路制御が正常に実施されずに、サブネット間で通信することが出来ない場合がある。
【0010】
なお、ここでは、ネットワークアドレスとは、サブネットワーク(VPNトンネルも一つのサブネットワークとして見ることができる)ごとに割り振られたIPアドレス空間の識別子であるものとして説明する。例えば、ネットワークアドレスが、192.168.0.0/24(サブネットマスク長が24ビット)であれば、このネットワークアドレスに属するIPアドレスの範囲は、192.168.0.1〜192.168.0.255となる。
【0011】
通常、IP通信を行う通信装置は、レイヤ3においてはネットワークアドレス単位で経路制御(ルーチング等)を行っているため、重複するネットワークアドレスを有するサブネットワークが存在すると、正しく経路制御ができない場合がある。
【0012】
そこで、所属させるサブネットのアドレスが同一であるかどうかを判断して、仮想アドレスを自動生成する従来技術として特許文献1の記載技術がある。
【先行技術文献】
【特許文献】
【0013】
【特許文献1】特開2008−72473号公報
【発明の概要】
【発明が解決しようとする課題】
【0014】
しかしながら、特許文献1の記載技術において、この仮想アドレスの生成を行う具体的な処理については記載されておらず、実際には上述のネットワークアドレス重複を回避することはできない。
【0015】
また、仮想アドレスは、VPNゲートウェイ側のサブネットのアドレスと重複しないものを用いる必要があるが、複数のVPN接続を可能とするVPNゲートウェイ装置の場合、対向側に接続されるサブネットが不特定多数となり、サブネットのアドレスがあらかじめ想定できないことがあり、サブネットのアドレスに合わせ、使用する仮想アドレスを変更する必要がある。これを手作業で行うと、VPN接続を行うたびに手作業による設定が必要となり、さらに専門的な知識及び厳密なアドレス管理が必要となる。
【0016】
そのため、VPNを採用した通信システムにおいて、割り当てるアドレスの重複を防ぐことができるゲートウェイ装置及びプログラム、並びに、通信システムが望まれている。
【課題を解決するための手段】
【0017】
第1の本発明は、他のゲートウェイ装置との間でVPN接続を行い、上記VPN接続を利用して、当該ゲートウェイ装置の配下の第1のサブネットワークに配置された第1の通信装置と、上記他のゲートウェイ装置の配下の第2のサブネットワークに配置された第2の通信装置との通信を確立するゲートウェイ装置において、(1)上記他のゲートウェイ装置との上記VPN接続に用いる仮想ネットワークアドレスの候補について、複数の候補の情報を記憶する仮想ネットワークアドレス候補記憶手段と、(2)上記他のゲートウェイ装置から、少なくとも上記第2のサブネットワークのネットワークアドレスの情報を保持するサブネットワーク情報保持手段と、(3)上記仮想ネットワークアドレス候補記憶手段が記憶している、仮想ネットワークアドレスの候補から、少なくとも上記第2のサブネットワークのネットワークアドレスと重複しないものを選択する仮想ネットワークアドレス選択手段と、(4)上記仮想ネットワークアドレス選択手段が選択した仮想ネットワークアドレスに属する仮想アドレスを用いて、上記他のゲートウェイ装置との間で上記VPN接続を行うVPN接続手段とを有することを特徴とする。
【0018】
第2の本発明は、他のゲートウェイ装置との間でVPN接続を行い、上記VPN接続を利用して、上記他のゲートウェイ装置の配下の第1のサブネットワークに配置された第1の通信装置と、当該ゲートウェイ装置の配下の第2のサブネットワークに配置された第2の通信装置との通信を確立するゲートウェイ装置において、(1)上記他のゲートウェイ装置へ、少なくとも上記第2のサブネットワークのネットワークアドレスの情報を通知するサブネットワーク情報通知手段と、(2)上記他のゲートウェイ装置において複数の候補から選択された、上記VPN接続に用いる仮想ネットワークアドレスであって、少なくとも上記第2のサブネットワークのネットワークアドレスと重複しないものに属する仮想アドレスを用いて、上記他のゲートウェイ装置との間で上記VPN接続を行うVPN接続手段とを有することを特徴とする。
【0019】
第3の本発明のゲートウェイプログラムは、(1)他のゲートウェイ装置との間でVPN接続を行い、上記VPN接続を利用して、当該ゲートウェイ装置の配下の第1のサブネットワークに配置された第1の通信装置と、上記他のゲートウェイ装置の配下の第2のサブネットワークに配置された第2の通信装置との通信を確立するゲートウェイ装置に搭載されたコンピュータを、(2)上記他のゲートウェイ装置との上記VPN接続に用いる仮想ネットワークアドレスの候補について、複数の候補の情報を記憶する仮想ネットワークアドレス候補記憶手段と、(3)上記他のゲートウェイ装置から、少なくとも上記第2のサブネットワークのネットワークアドレスの情報を保持するサブネットワーク情報保持手段と、(4)上記仮想ネットワークアドレス候補記憶手段が記憶している、仮想ネットワークアドレスの候補から、少なくとも上記第2のサブネットワークのネットワークアドレスと重複しないものを選択する仮想ネットワークアドレス選択手段と、(5)上記仮想ネットワークアドレス選択手段が選択した仮想ネットワークアドレスに属する仮想アドレスを用いて、上記他のゲートウェイ装置との間で上記VPN接続を行うVPN接続手段として機能させることを特徴とする。
【0020】
第4の本発明のゲートウェイプログラムは、(1)他のゲートウェイ装置との間でVPN接続を行い、上記VPN接続を利用して、上記他のゲートウェイ装置の配下の第1のサブネットワークに配置された第1の通信装置と、当該ゲートウェイ装置の配下の第2のサブネットワークに配置された第2の通信装置との通信を確立するゲートウェイ装置に搭載されたコンピュータを、(2)上記他のゲートウェイ装置へ、少なくとも上記第2のサブネットワークのネットワークアドレスの情報を通知するサブネットワーク情報通知手段と、(3)上記他のゲートウェイ装置において複数の候補から選択された、上記VPN接続に用いる仮想ネットワークアドレスであって、少なくとも上記第2のサブネットワークのネットワークアドレスと重複しないものに属する仮想アドレスを用いて、上記他のゲートウェイ装置との間で上記VPN接続を行うVPN接続手段として機能させることを特徴とする。
【0021】
第5の本発明は、第1のゲートウェイ装置と、第2のゲートウェイ装置と、上記第1のゲートウェイ装置の配下の第1のサブネットワークに配置された第1の通信装置と、上記第2のゲートウェイ装置の配下の第2のサブネットワークに配置された第2の通信装置とを備え、上記第1のゲートウェイ装置と上記第2のゲートウェイ装置との間でVPN接続を行い、上記VPN接続を利用して、上記第1の通信装置と上記第2の通信装置との間の通信を確立する通信システムにおいて、(1)上記第1のゲートウェイ装置として、第1の本発明のゲートウェイ装置を適用し、(2)上記第2のゲートウェイ装置として、第2の本発明のゲートウェイ装置を適用したことを特徴とする。
【発明の効果】
【0022】
本発明によれば、VPNを採用した通信システムにおいて、割り当てるアドレスの重複を防ぐことができる。
【図面の簡単な説明】
【0023】
【図1】実施形態に係るGW(ゲートウェイ装置)の機能的構成について示したブロック図である。
【図2】実施形態に係る通信システムの全体構成について示したブロック図である。
【図3】実施形態に係る仮想アドレス候補テーブルの内容例について示した説明図である。
【図4】実施形態に係る仮想アドレス管理テーブルの内容例について示した説明図である。
【図5】実施形態に係る通信システムの動作(クライアント側から接続要求した場合)について示したシーケンス図である。
【図6】実施形態に係る、サーバ側のGW(ゲートウェイ装置)の仮想アドレス管理テーブルの内容例について示した説明図である。
【図7】実施形態に係る通信システムの動作(サーバ側から接続要求した場合)について示したシーケンス図である。
【図8】従来のL3VPNを採用した通信システムの構成について示した説明図である。
【発明を実施するための形態】
【0024】
(A)主たる実施形態
以下、本発明によるゲートウェイ装置及びプログラム、並びに、通信システムの第1の実施形態を、図面を参照しながら詳述する。なお、この実施形態のゲートウェイ装置は、ゲートウェイ(GW)であるものとする。
【0025】
(A−1)実施形態の構成
図2は、この実施形態の通信システム1の全体構成を示すブロック図である。
【0026】
通信システム1には、クライアント側のGW10−1(クライアント側のL3VPNゲートウェイ装置)とその配下の機器21、サーバ側のGW10−2(サーバ側のL3VPNゲートウェイ装置)とその配下の機器22(通信装置)が配置されている。
【0027】
機器21、22は、例えば、クライアント端末やルータ等既存の通信装置を用いることができる。
【0028】
また、クライアント側のGW10−1とその配下の機器21はサブネットN2に属し、サーバ側のGW10−2とその配下の機器22はサブネットN3に属する。そして、クライアント側のGW10−1とサーバ側のGW10−2は、それぞれ公衆網N1に接続している。
【0029】
以下では、説明を簡易にするため、ネットワークアドレスや個別の機器の個別アドレスについては、具体的なアドレス表記(例えば、「192.168.0.1」等)ではなく、符号により簡略した表記(例えば、「NA」、「PA1」等)を行う。
【0030】
そして、サブネットN2のネットワークアドレスは「NA」、サブネットN3のネットワークアドレスは「NB」とする。
【0031】
また、クライアント側のGW10−1のサブネットN2側の実アドレスは「PA1」、公衆網側の実アドレスは「G1」、配下の機器21の実アドレスは「PA2」とする。さらに、サーバ側のGW10−2のサブネットN3側の実アドレスは「PB1」、公衆網側の実アドレスは「G3」、配下の機器22の実アドレス「PB2」であるものとする。
【0032】
次に、クライアント側のGW10−1及びサーバ側のGW10−2の内部構成について説明する。なお、この実施形態においては、クライアント側のGW10−1及びサーバ側のGW10−2は、同様の構成を備えているものとして説明するが、異なる構成であっても良い。
【0033】
図1は、GW10(10−1、10−2)内部の機能的構成について示したブロック図である。
【0034】
GW10は、VPN部11、HTTP部12、アドレス変換部13、仮想アドレス管理部14、仮想アドレス候補テーブル15、仮想アドレス管理テーブル16、WAN接続部17、LAN接続部18を有している。
【0035】
ここで、GW10は、例えば、CPU、ROM、RAM、EEPROM、ハードディスクなどのプログラムの実行構成、及び、他の通信装置と通信をするためのインタフェースを有する情報処理装置に、実施形態のゲートウェイプログラム等をインストールして構築するようにしても良い。上述したプログラムを含め、GW10の機能的構成を示すと図1に示すようになる。
【0036】
VPN部11は、相手側のGWとの間にL3VPNのトンネルを生成し、パケットを転送するものである。
【0037】
HTTP部12は、相手側のGWとの間で、HTTPメッセージを送受信するものである。この実施形態においては、GW10は、相手側のGWとの間の制御情報のやりとりをHTTPメッセージを用いて行うものとする。
【0038】
アドレス変換部13は、ゲートウェイ配下のサブネットからのパケットを仮想アドレスに変換する。
【0039】
そして、アドレス変換部13は、仮想アドレスのパケットを、配下のサブネットの実アドレスに変換する。
【0040】
仮想アドレス管理部14は、当該GW10の配下の機器及び、相手側のGWへ割当てる仮想アドレス等を管理するものである。具体的には、仮想アドレス管理部14は、後述する仮想アドレス候補テーブル15及び仮想アドレス管理テーブル16の内容を管理する。
【0041】
仮想アドレス候補テーブル15は、割当てる仮想アドレスの候補を保持する。仮想アドレス候補テーブル15は、当該GW10が生成するVPNトンネルに対して割り当てるネットワークアドレス(以下、「仮想ネットワークアドレス」という)の候補を複数保持し、各ネットワークアドレス候補は候補順位に対応付けて保持されている。
【0042】
図3は、仮想アドレス候補テーブル15の内容の例について示した説明図である。
【0043】
仮想アドレス候補テーブル15には、図3に示すように、2つの仮想ネットワークアドレス候補「NA」、「NC」が、第1候補(NA)、第2候補(NC)という候補順位に対応付けて登録されている。なお、仮想アドレス候補テーブル15に登録する仮想ネットワークアドレス候補の数は、2以上であれば、その数は限定されないものである。
【0044】
仮想アドレス管理テーブル16は、各GW、配下の機器等、VPN接続に関連する装置のそれぞれについて、割り当てられている実アドレスと仮想アドレスとを対応付けた情報を保持している。
【0045】
図4は、仮想アドレス管理テーブル16の内容の例について示した説明図である。
【0046】
仮想アドレス管理テーブル16には、図4に示すように、通信システム1における各機器の実アドレスと仮想アドレスが対応付けて管理されている。
【0047】
仮想アドレス管理テーブル16には、図4に示すように、「機器名」、「実アドレス」、「仮想アドレス」の項目の情報が登録されている。なお、仮想アドレス管理テーブル16の内容を登録する処理については、後述する動作説明において詳述する。
【0048】
「機器名」は、アドレスを登録する対象の機器を特定するための識別子である。「機器名」については、各機器を識別することができればドメイン名やホスト名等他のパラメータを用いるようにしても良い。
【0049】
そして、仮想アドレス管理テーブル16には、「機器名」ごとに実アドレスと仮想アドレスの情報が登録されている。
【0050】
ここでは、各機器の機器名については、図4に示すようにクライアント側のGW10−1が「クライアント側GW」、サーバ側のGW10−2が「サーバ側GW」、機器21が「機器A」、機器22が「機器B」であるものとする。
【0051】
WAN接続部17は公衆網N1と接続するためのインタフェースである。
【0052】
LAN接続部18は、配下のサブネットと接続するためのインタフェースである。
【0053】
(A−2)実施形態の動作
次に、以上のような構成を有するこの実施形態の通信システム1の動作を説明する。
【0054】
(A−2−1)クライアント側からの接続要求があった場合の動作
図5は、クライアント側のGW10−1の配下における機器21が、VPN接続要求を行った場合の通信システム1の動作について示したシーケンス図である。
【0055】
なお、ここでは、サーバ側のGW10−2の仮想アドレス候補テーブル15に登録されている内容は、図3に示すように、仮想ネットワークアドレスの第1候補が「NA」、仮想ネットワークアドレスの第2候補が「NC」であるものとする。
【0056】
まず、機器21から、クライアント側のGW10−1にVPN接続要求が送られたものとする(S101)。
【0057】
そして、機器21の要求に基づいて、クライアント側のGW10−1から、サーバ側のGW10−2にHTTPメッセージでVPN接続要求が送られる(S102)。このとき、同時に自身の配下のサブネットN2のネットワークアドレス(NA)も通知する。
【0058】
サーバ側のGW10−2が接続要求及びサブネットN2のネットワークアドレス(NA)の通知を受けると、自身の仮想アドレス候補テーブル15が保持している仮想ネットワークアドレスの候補と、クライアント側のGW10−1から通知されたネットワークアドレス(NA)とを比較する。そして、サーバ側のGW10−2は、クライアント側のGW10−1から通知されたネットワークアドレス(NA)と重複しない仮想ネットワークアドレスを、VPNトンネルに対して割り当てる。そして、サーバ側のGW10−2は、VPNトンネルに割り当てた仮想ネットワークアドレスに属するアドレスの中から、サーバ側のGW10−2及び配下の機器22に仮想アドレスを割当て、割り当てた内容(割り当てた仮想ネットワークアドレス及び仮想アドレスの情報を含む)を、HTTPメッセージでクライアント側のGW10−1に通知する(S103)。
【0059】
クライアント側のGW10−1でこのメッセージを受け取ると、通知された仮想ネットワークアドレスから、クライアント側のGW10−1自身及び配下の機器21に仮想アドレスを割り当てる(ただし、サーバ側のGW10−2及び機器22とは重複しないアドレスを選択)。そして、クライアント側のGW10−1は、HTTPメッセージで割り当てた仮想アドレスをサーバ側のGW10−2に通知する(S104)。
【0060】
以上の処理により、クライアント側のGW10−1とサーバ側のGW10−2が各GW及び配下の機器の仮想アドレスの情報を共有することになる。
【0061】
そして、それぞれのGWは、配下の機器に通信相手側に割り当てられた仮想アドレスを通知する(S105、S106)。
【0062】
その後、クライアント側のGW10−1とサーバ側のGW10−2がVPN接続ネゴシエーションを行い、L3VPN接続を確立する(S107)。なお、GW間のVPN接続ネゴシエーションの処理については、既存のL3VPNと同様の処理を適用することができるため詳細については、説明を省略する。
【0063】
この後、サーバ側のGW10−2配下の機器22が仮想アドレスを用い、クライアント側のGW10−1配下の機器21と、VPNトンネルを通じて通信することが出来る(S108)。この際、サーバ側のGW10−2配下の機器22からの仮想アドレスヘのパケットは、クライアント側のGW10−1、サーバ側のGW10−2でアドレス変換を行って、クライアント側のGW10−1配下の機器21の実アドレス宛に届くようになる。
【0064】
次に、上述の図5のシーケンス図における、GW10−1、10−2内部の動作について説明する。
【0065】
まず、上述のステップS103におけるサーバ側のGW10−2の内部の処理について説明する。
【0066】
サーバ側のGW10−2では、上述のステップS102により、クライアント側のGW10−1から、VPN接続要求及び、HTTP部12にHTTPメッセージでライアント側のサブネットN2のアドレスが通知される。すると、そのアドレスはHTTP部12から仮想アドレス管理部14に通知される。
【0067】
仮想アドレス管理部14では、送られてきたサブネットN2のネットワークアドレス(NA)と、仮想アドレス候補テーブル15内の仮想ネットワークアドレスの第1候補(NA)を比較する。ここで、送られてきたサブネットN2のネットワークアドレスと、仮想ネットワークアドレスの第1候補が重複しない場合は、仮想ネットワークアドレスの第1候補を、仮想ネットワークアドレスに決定し、重複する場合は、第2候補(候補が3以上ある場合は、第2候補以降の重複しないもの)を仮想ネットワークアドレスとして決定する。しかし、ここでは、図4に示すように、サブネットN2のネットワークアドレス(NA)と第1候補のネットワークアドレス(NA)は重複するため、重複しない仮想ネットワークアドレスの第2候補が、仮想ネットワークアドレスとして決定される。
【0068】
そして、仮想アドレス管理部14は、自身と配下の機器に重複しないように、仮想ネットワークアドレスに属する仮想アドレスを割り当てる。この割り当てた仮想アドレスの情報を仮想アドレス管理テーブル16に追加する。この場合の、サーバ側のGW10−2側の仮想アドレス管理テーブル16の内容については、図6に示すような内容となる。
【0069】
図6に示すように、サーバ側のGW10−2では、仮想ネットワークアドレス(NC)の中から、サーバ側のGW10−2に対してPC1、機器22に対してPC2の仮想アドレスを割り当てている。
【0070】
次に、サーバ側のGW10−2は、仮想アドレス管理テーブル16の情報、及び、仮想ネットワークアドレス(NC)の情報を、HTTP部12を通じ、HTTPメッセージでクライアント側のGW10−1に通知する。
【0071】
なお、上述の説明では、サーバ側のGW10−2は、仮想アドレス管理テーブル16の情報、及び、仮想ネットワークアドレス(NC)の情報をクライアント側のGW10−1に通知しているが、クライアント側のGW10−1側で、仮想ネットワークアドレス(NC)が把握可能であれば、仮想アドレス管理テーブル16の情報だけを通知するようにしても良い。例えば、クライアント側のGW10−1側で、ネットワークアドレスに使用するサブネット長が予め把握されていれば、仮想アドレスの情報から仮想ネットワークアドレスを抽出して把握することができる。
【0072】
次に、上述のステップS104におけるクライアント側のGW10−1の内部の処理について説明する。
【0073】
クライアント側のGW10−1では、上述のステップS103により、サーバ側のGW10−2からのHTTPメッセージを受取ると、仮想アドレス管理部14において、クライアント側のGW10−1及び配下の機器21に仮想アドレスを割り当て、仮想アドレス管理テーブル16の内容を完成させる。
【0074】
この場合のクライアント側のGW10−1の仮想アドレス管理テーブル16の内容は、図4に示すような内容となる。図4に示すように、クライアント側のGW10−1側では、仮想ネットワークアドレス(NC)の中から、クライアント側のGW10−1に対してPC3、機器21に対してPC4の仮想アドレスを割り当てている。
【0075】
この時点で、クライアント側のGW10−1では、クライアント側のGW10−1、サーバ側のGW10−2、機器21、機器22の全ての実アドレス及び仮想アドレスが把握されるので、図4に示すように、仮想アドレス管理テーブル16の内容が完成される。
【0076】
そして、サーバ側のGW10−2は、HTTP部12を通じて、仮想アドレス管理テーブル16の内容を、サーバ側のGW10−2に通知する。
【0077】
次に、上述のステップS105におけるサーバ側のGW10−2の内部の処理について説明する。
【0078】
サーバ側のGW10−2では、上述のステップS104により、クライアント側のGW10−1からのHTTPメッセージを受取ると、その内容(テーブルの情報)を仮想アドレス管理部14に通知し、仮想アドレス管理部14が仮想アドレス管理テーブル16を更新する。これにより、サーバ側・クライアント側のGW10による、VPNトンネルに関連する全ての仮想アドレス情報の共有が完了する。
【0079】
次に、クライアント側のGW10−1、及び、サーバ側のGW10−2は、上述のステップS106の通り、仮想アドレス管理部14により、配下の機器22にクライアント側の仮想アドレスを通知する。
【0080】
上述のステップS101〜S106の処理により、各機器における仮想アドレスの共有が完了すると、上述のステップS107の通り、サーバ側のGW10−2のVPN部11と、クライアント側のGW10−1のVPN部との間で、VPN接続ネゴシエーションを行い、L3VPN接続を確立する。
【0081】
なお、図5では、通信システム1における全ての装置で、全ての装置に割り振られた実アドレス及び仮想アドレスを把握(例えば、図4の内容)しているが、各装置の通信に必要なアドレスだけを通知するようにしても良い。例えば、機器21やクライアント側のGW10−1において、サーバ側のGW10−2及び機器22の実アドレスについては把握しなくてもVPN通信に支障が無い場合は、サーバ側のGW10−2からクライアント側のGW10−1へは仮想アドレスのみを通知すれば良いことになる。
【0082】
以後(ステップS108)において、例えば、機器21から、機器22の仮想アドレス宛のパケットが、クライアント側のGW10−1に送られてくると、クライアント側のGW10−1のアドレス変換部13が、仮想アドレス管理テーブル16を参照する。そして、アドレス変換部13が、そのパケットのヘッダについて、機器21の実アドレスを仮想アドレスに変換する。そして、VPN部11を通じてVPNでサーバ側のGW10−2に届けられる。
【0083】
そして、サーバ側のGW10−2のVPN部11がこのパケットを受け取ると、アドレス変換部13に送られ、仮想アドレス管理テーブル16を参照し、機器22の仮想アドレスが実アドレスに変換される。そして、そのパケットは、サーバ側のGW10−2から、機器22に届けられる。
【0084】
(A−2−2)サーバ側からの接続要求があった場合の動作
上述の図5では、クライアント側のGW10−1の配下における機器21が、VPN接続要求を行った場合の通信システム1の動作について説明したが、逆に、サーバ側のGW10−2側からのVPN接続要求をする構成としても良い。これは、保守装置(サーバ側)から不特定多数の顧客装置(クライアント側)に対して遠隔保守を行う場合などに用いて好適なものである。
【0085】
なお、クライアント側のGW10−1と、サーバ側のGW10−2との間のVPN接続は、いずれか一方からのみ接続要求が可能な構成としても良いし、双方向に接続要求することが可能な構成としても良い。
【0086】
図7は、サーバ側のGW10−2の配下における機器22が、VPN接続要求を行った場合の通信システム1の動作について示したシーケンス図である。
【0087】
なお、サーバ側のGW10−2の仮想アドレス候補テーブル15に登録されている内容は、上述の図5の場合と同様に、図3に示す内容であるものとする。
【0088】
まず、機器22から、サーバ側のGW10−2にVPN接続要求が送られたものとする(S201)。
【0089】
そして、機器22の要求に基づいて、サーバ側のGW10−2から、クライアント側のGW10−1にHTTPメッセージでVPN接続要求が送られる(S202)。
【0090】
そして、サーバ側のGW10−2からVPN接続の要求が通知されると、クライアント側のGW10−1は、サーバ側のGW10−2へ、自身の配下のサブネットN2のネットワークアドレス(NA)を通知する(S203)。
【0091】
そして、以降ステップS204〜S209により、仮想ネットワークアドレス及び仮想アドレスの割当が行われ、サーバ側のGW10−2側とクライアント側のGW10−1との間でVPN接続が確立するが、これらの処理は、上述の図5におけるステップS103〜S108と同様の処理により行うことができるので説明を省略する。
【0092】
(A−3)実施形態の効果
この実施形態によれば、以下のような効果を奏することができる。
【0093】
クライアント側のGW10−1とサーバ側のGW10−2が、HTTPメッセージのやりとりによって、相手側のサブネットのネットワークアドレスを判別し、自動的に重複しない仮想ネットワークアドレスを割り当てるため、管理者による設定やアドレス管理等を行わなくても、割り当てるアドレスの重複を防ぐことができる。
【0094】
また、仮想アドレスはゲートウェイ間でのみ用いられ、アドレス変換により、配下の機器には実アドレスでパケットが送られるため、配下の機器は特別な機能や設定を必要としない。
【0095】
さらに、仮想ネットワークアドレスの生成も、異なる仮想ネットワークアドレスの候補を2つ以上用意しておくだけでよく、生成自体の処理も1度の比較のみ(候補が2つの場合)で重複を避けて仮想ネットワークアドレスを決定でき、少ない処理量で、容易に重複しない仮想アドレスの決定を行うことができる。
【0096】
(B)他の実施形態
本発明は、上記の実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
【0097】
(B−1)上記の実施形態において、通信システムに配置するGWの数及び、各GWの配下の機器の数は限定されないものである。
【0098】
例えば、上記の実施形態では、クライアント側GWが1つの場合の実施例を示したが、クライアント側GWが複数の場合でも、それぞれが、サーバ側のGWに対してアクセスするようにしても良い。
【0099】
また、その場合、サーバ側のGWにおいて、仮想ネットワークアドレスに属する仮想アドレスの使用状態を管理して、割当の競合を回避するようにしても良い。
【0100】
また、あるGWが、複数のGWとVPN接続する場合に、配下のサブネットだけでなく、既に通信中のVPNトンネルに係る仮想ネットワークアドレスとも重複しないように、新たに接続しようとするVPN接続の仮想ネットワークアドレスを選択するようにしても良い。
【0101】
例えば、上記の実施形態では、VPN接続を行う前に、対向するGWへ配下のサブネットのネットワークアドレスを通知しているが、それに加えて既に通信中のVPNトンネルに係る仮想ネットワークアドレスも全て通知するようにしても良い。そして、その通知を受けたGWでも同様に、通知された全てのネットワークアドレスに加えて、自身の配下のサブネット及び通信中のVPNトンネルの仮想ネットワークアドレスの全てに重複しないネットワークアドレスを、仮想ネットワークアドレスとして選択するようにしても良い。上述のように、新たに接続するVPNの仮想ネットワークアドレスを管理することにより、それぞれのGWが複数のVPN接続を行う場合にも、配下のサブネット及びVPNトンネルのネットワークアドレスの重複を避けることができる。
【0102】
(B−2)上記の実施形態では、GWの配下には一つのサブネットのみが存在する例について示したが、複数のサブネットが存在するようにしても良い。その場合には、例えば、クライアント側のGWからサーバ側のGWへ、全てのサブネットのネットワークアドレスを通知し、サーバ側のGWで、通知されたネットワークアドレスの全てと重複しない仮想ネットワークアドレスを決定するようにしても良い。
【0103】
(B−3)上記の実施形態のGWは、サーバ側のGWとクライアント側のGWという関係であったが、クライアントサーバの関係ではなく、単にピアツーピアで接続する構成とし、いずれかのGWで仮想ネットワークアドレスを決定するようにしても良い。
【0104】
(B−4)上記の実施形態においては、サーバ側のGWとクライアント側のGWとの間の制御情報のやり取りに、HTTPメッセージを用いる例について説明したが、SIP等他のメッセージ方式を用いるようにしても良い。
【0105】
(B−5)上記の実施形態においては、クライアント側のGW10−1とサーバ側のGW10−2とは同じ構成であるものとして説明したが、上述の通り異なる構成としても良い。
【0106】
例えば、上記の実施形態では、仮想ネットワークアドレスを決定するのは、サーバ側のGW10−2のみであるため、サーバ側のGW10−2側にのみ、仮想アドレス候補テーブル15及び、仮想ネットワークアドレスを決定する構成を備え、クライアント側のGW10−1側の構成の一部を省略するようにしても良い。
【符号の説明】
【0107】
1…通信システム、10、10−1、10−2…GW(ゲートウェイ装置)、21、22…機器、N1…公衆網、N2、N3…サブネット、11…VPN部、12…HTTP部、13…アドレス変換部、14…仮想アドレス管理部、15…仮想アドレス候補テーブル、16…仮想アドレス管理テーブル、17…WAN接続部、18…LAN接続部。

【特許請求の範囲】
【請求項1】
他のゲートウェイ装置との間でVPN接続を行い、上記VPN接続を利用して、当該ゲートウェイ装置の配下の第1のサブネットワークに配置された第1の通信装置と、上記他のゲートウェイ装置の配下の第2のサブネットワークに配置された第2の通信装置との通信を確立するゲートウェイ装置において、
上記他のゲートウェイ装置との上記VPN接続に用いる仮想ネットワークアドレスの候補について、複数の候補の情報を記憶する仮想ネットワークアドレス候補記憶手段と、
上記他のゲートウェイ装置から、少なくとも上記第2のサブネットワークのネットワークアドレスの情報を保持するサブネットワーク情報保持手段と、
上記仮想ネットワークアドレス候補記憶手段が記憶している、仮想ネットワークアドレスの候補から、少なくとも上記第2のサブネットワークのネットワークアドレスと重複しないものを選択する仮想ネットワークアドレス選択手段と、
上記仮想ネットワークアドレス選択手段が選択した仮想ネットワークアドレスに属する仮想アドレスを用いて、上記他のゲートウェイ装置との間で上記VPN接続を行うVPN接続手段と
を有することを特徴とするゲートウェイ装置。
【請求項2】
上記仮想ネットワークアドレス選択手段が選択した仮想ネットワークアドレスの範囲内で、当該ゲートウェイ装置及び上記第1の通信装置に対する仮想アドレスを割り当てるアドレス割当手段と、
上記アドレス割当手段が割り当てた仮想アドレスに係る第1の割当情報を、上記他のゲートウェイ装置に通知する通知手段とをさらに有する
ことを特徴とする請求項1に記載のゲートウェイ装置。
【請求項3】
上記通知手段は、さらに、上記仮想ネットワークアドレス選択手段が選択した仮想ネットワークアドレスを、上記他のゲートウェイ装置に通知することを特徴とする請求項2に記載のゲートウェイ装置。
【請求項4】
上記仮想ネットワークアドレス選択手段が選択した仮想ネットワークアドレスの範囲内で、上記他のゲートウェイ装置及び上記第2の通信装置に対して割り当てられた仮想アドレスに係る第2の割当情報を、上記他のゲートウェイ装置から保持する割当情報保持手段をさらに有することを特徴とする請求項2又は3に記載のゲートウェイ装置。
【請求項5】
他のゲートウェイ装置との間でVPN接続を行い、上記VPN接続を利用して、上記他のゲートウェイ装置の配下の第1のサブネットワークに配置された第1の通信装置と、当該ゲートウェイ装置の配下の第2のサブネットワークに配置された第2の通信装置との通信を確立するゲートウェイ装置において、
上記他のゲートウェイ装置へ、少なくとも上記第2のサブネットワークのネットワークアドレスの情報を通知するサブネットワーク情報通知手段と、
上記他のゲートウェイ装置において複数の候補から選択された、上記VPN接続に用いる仮想ネットワークアドレスであって、少なくとも上記第2のサブネットワークのネットワークアドレスと重複しないものに属する仮想アドレスを用いて、上記他のゲートウェイ装置との間で上記VPN接続を行うVPN接続手段と
を有することを特徴とするゲートウェイ装置。
【請求項6】
他のゲートウェイ装置との間でVPN接続を行い、上記VPN接続を利用して、当該ゲートウェイ装置の配下の第1のサブネットワークに配置された第1の通信装置と、上記他のゲートウェイ装置の配下の第2のサブネットワークに配置された第2の通信装置との通信を確立するゲートウェイ装置に搭載されたコンピュータを、
上記他のゲートウェイ装置との上記VPN接続に用いる仮想ネットワークアドレスの候補について、複数の候補の情報を記憶する仮想ネットワークアドレス候補記憶手段と、
上記他のゲートウェイ装置から、少なくとも上記第2のサブネットワークのネットワークアドレスの情報を保持するサブネットワーク情報保持手段と、
上記仮想ネットワークアドレス候補記憶手段が記憶している、仮想ネットワークアドレスの候補から、少なくとも上記第2のサブネットワークのネットワークアドレスと重複しないものを選択する仮想ネットワークアドレス選択手段と、
上記仮想ネットワークアドレス選択手段が選択した仮想ネットワークアドレスに属する仮想アドレスを用いて、上記他のゲートウェイ装置との間で上記VPN接続を行うVPN接続手段と
して機能させることを特徴とするゲートウェイプログラム。
【請求項7】
他のゲートウェイ装置との間でVPN接続を行い、上記VPN接続を利用して、上記他のゲートウェイ装置の配下の第1のサブネットワークに配置された第1の通信装置と、当該ゲートウェイ装置の配下の第2のサブネットワークに配置された第2の通信装置との通信を確立するゲートウェイ装置に搭載されたコンピュータを、
上記他のゲートウェイ装置へ、少なくとも上記第2のサブネットワークのネットワークアドレスの情報を通知するサブネットワーク情報通知手段と、
上記他のゲートウェイ装置において複数の候補から選択された、上記VPN接続に用いる仮想ネットワークアドレスであって、少なくとも上記第2のサブネットワークのネットワークアドレスと重複しないものに属する仮想アドレスを用いて、上記他のゲートウェイ装置との間で上記VPN接続を行うVPN接続手段と
して機能させることを特徴とするゲートウェイプログラム。
【請求項8】
第1のゲートウェイ装置と、第2のゲートウェイ装置と、上記第1のゲートウェイ装置の配下の第1のサブネットワークに配置された第1の通信装置と、上記第2のゲートウェイ装置の配下の第2のサブネットワークに配置された第2の通信装置とを備え、上記第1のゲートウェイ装置と上記第2のゲートウェイ装置との間でVPN接続を行い、上記VPN接続を利用して、上記第1の通信装置と上記第2の通信装置との間の通信を確立する通信システムにおいて、
上記第1のゲートウェイ装置として、請求項1〜4のいずれかに記載のゲートウェイ装置を適用し、
上記第2のゲートウェイ装置として、請求項5に記載のゲートウェイ装置を適用した
ことを特徴とする通信システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−160103(P2011−160103A)
【公開日】平成23年8月18日(2011.8.18)
【国際特許分類】
【出願番号】特願2010−18839(P2010−18839)
【出願日】平成22年1月29日(2010.1.29)
【出願人】(308033722)株式会社OKIネットワークス (165)
【Fターム(参考)】