以下に、本願の開示するアドレス登録装置、アドレス登録方法、アドレス登録プログラム、端末、アドレス応答方法、アドレス応答プログラム、及びアドレス登録システムの実施例を説明する。なお、以下の実施例により開示の技術が限定されるものではない。
[実施例1に係るアドレス登録システムの概要]
図1を用いて、実施例1に係るアドレス登録システムの概要を説明する。図1は、実施例1に係るアドレス登録システムの概要を説明するための図である。なお、実施例1においては、拠点が、ネットワークであり、かつ、電気通信事業者などによって提供されたVPNサービスに属する拠点である場合を一例として説明する。すなわち、実施例1における拠点間接続は、VPNサービスに属する拠点間を接続する「VPN間接続」である。
図1に例示するように、VPN間接続は、VPN配下の端末から送信されたパケットを他方のVPN配下の端末に対して転送するための情報を、該VPN間の経路上に存在するVPN終端装置や集合仮想ルータなどに設定することで、VPN間を通信可能に相互接続するものである。ここで、集合仮想ルータは、広域ネットワーク内のパケット転送を制御する装置である。集合仮想ルータには、VPN間接続のための仮想ルータが、VPN間接続要求に応じて時限的に設定される。すなわち、仮想ルータは、物理的な筐体としての集合仮想ルータ内に、仮想化技術を用いて生成された、互いに独立な論理的なルータであり、時限的に設定されたルーティング情報に従ってVPN間をルーティングすることで、一時的な仮想協働空間を実現する。また、VPN終端装置は、所定のVPN間接続に属する各VPNを収容するとともに、収容した各VPNを広域ネットワーク側で終端する。なお、VPN終端装置は、VPNと広域ネットワークとの境界に設置されたルータなどである。
このように、各VPN終端装置が終端するVPN間を集合仮想ルータを介して接続するシステムが、VPN間接続システムである。かかるVPN間接続システムは、VPN間接続管理システム(図1において図示を省略)によって構築され、VPN間接続管理システムによってVPN間接続サービスとして提供される。
次に、VPN間接続管理システムについて簡単に説明する。VPN間接続管理システムは、VPN間接続要求を受け付け、受け付けたVPN間接続要求に基づいてVPN間接続を構築する。具体的には、VPN間接続管理システムは、VPN間接続要求にて指定されたVPNそれぞれを収容するVPN終端装置を特定し、かつ、集合仮想ルータを特定する。次に、VPN間接続管理システムは、特定したVPN終端装置に設定すべき設定情報であってVPN間接続要求にて指定されたVPNそれぞれに対応する設定情報それぞれを、特定したVPN終端装置に応じて生成する。また、VPN間接続管理システムは、特定した集合仮想ルータに設定すべき設定情報を、特定した集合仮想ルータに応じて生成する。
なお、VPN間接続管理システムは、設定情報の生成に、後述するアドレス登録装置によって取得されたアドレスが必要な場合には、取得されたアドレスをアドレス登録装置から適宜取得して設定情報を生成する。そして、VPN間接続管理システムは、生成した設定情報を、特定したVPN終端装置及び集合仮想ルータに対して反映する。なお、設定情報の反映は、例えば、事前に予約設定されたサービス開始時刻などに併せて行われる。このように、VPN間接続管理システムによって、VPN間接続システムに、VPN間接続要求に基づくVPN間接続が構築される。
ところで、複数のVPN間をオンデマンドにVPN間接続する場合には、事前にアドレス設計を行うことが難しいため、通常、VPN間接続要求の都度、アドレスの払い出しが行われることになる。また、図1に例示するように、実施例1に係るVPN間接続システムにおいては、集合仮想ルータとVPN終端装置との間に、アドレス変換装置及びパケットフィルタリング装置が設置される。アドレス変換装置は、集合仮想ルータから受信したパケットのアドレスを変換し、アドレス変換後のパケットをVPN終端装置に送信するとともに、VPN終端装置から受信したパケットのアドレスを変換し、アドレス変換後のパケットを集合仮想ルータに送信する装置である。一方、パケットフィルタリング装置は、パケットに含まれるアドレスに基づいてフィルタリング制御を行う装置である。
このため、実施例1においてVPN間接続を実現するには、VPN間接続要求の都度、一連のアドレス登録処理が行われなければならない。アドレス登録処理には、まず、アドレスの払い出しがある。また、アドレス変換情報の登録もある。すなわち、アドレスの払い出しが行われ、その都度、アドレス変換情報が生成され、その都度、生成されたアドレス変換情報がアドレス変換装置に登録される。その他にも、例えば、DNS(Domain Name Service)登録情報の登録もある。すなわち、アドレスの払い出しが行われ、その都度、DNS登録情報が生成され、その都度、生成されたDNS登録情報がDNS装置に登録される。また、例えば、フィルタリング情報の登録もある。すなわち、アドレスの払い出しが行われ、その都度、フィルタリング情報が生成され、その都度、生成されたフィルタリング情報がパケットフィルタリング装置に登録される。
このようなことから、実施例1においては、図1に例示するように、アドレス登録装置が、一連のアドレス登録処理のうち、主に、アドレス変換情報の生成と、生成したアドレス変換情報の登録とを行う。具体的には、実施例1においては、例えばVPN間接続管理システムが、所定のVPN間接続において通信相手となる他VPN配下の端末をVPN内で識別するための第一アドレス、及び、所定のVPN間接続に属する各VPN配下の端末を広域ネットワーク内で識別するための第二アドレスの払い出しを行うものとする。そして、実施例1に係るアドレス登録装置は、これら第一アドレス及び第二アドレスを、VPN間接続管理システムから取得する。また、アドレス登録装置は、VPN間接続に属する各VPN配下の端末を該VPN内で識別するために払い出された拠点内アドレスと第二アドレスとを変換するアドレス変換情報、及び、第一アドレスと第二アドレスとを変換するアドレス変換情報を生成する。そして、アドレス登録装置は、生成したアドレス変換情報をアドレス変換装置に登録する。
なお、実施例1においては、アドレス登録装置が、VPN間接続管理システムとは異なる装置として設置される例を説明するが、開示の技術はこれに限られるものではない。そもそも、アドレス登録装置は、VPN間接続管理システムに対してアドレスの登録処理を行う装置であるから、VPN間接続管理システムの一部として動作してもよい。
また、図1においては、1台の筐体のアドレス登録装置が設置される構成を例示したが、開示の技術はこれに限られるものではない。例えば、複数台の筐体のアドレス登録装置が設置される構成や、例えば、記憶部などアドレス登録装置の一部が別の筐体で設置される構成などにも、開示の技術を同様に適用することができる。また、図1においては、パケットフィルタリング装置が設置される例を説明するが、開示の技術はこれに限られるものではなく、パケットフィルタリング装置は必ずしも設置されなくてもよい。この場合には、フィルタリング情報の生成や登録も行わなくてよいことになる。
また、図1においては、複数台の筐体のVPN終端装置と1台の筐体の集合仮想ルータとが設置される構成を例示するが、開示の技術はこれに限られるものではない。例えば、複数台の筐体のVPN終端装置と1台の筐体の集合仮想ルータとの組合せがさらに複数設置される構成にも開示の技術を同様に適用することができる。また、例えば、複数台の筐体のVPN終端装置と複数台の筐体の集合仮想ルータとが組み合わせて設置される構成にも開示の技術を同様に適用することができる。また、例えば、VPN終端装置が有する機能(VPNを収容するとともにVPNを終端する機能)と、アドレス変換装置が有する機能(ネットワークアドレス変換(NAT機能))と、集合仮想ルータが有する機能(広域ネットワーク内のパケット転送を制御する機能)とが1台の筐体に収まった装置が設置される構成にも開示の技術を同様に適用することができる。
[実施例1におけるアドレス決定方式]
上述したように、実施例1に係るアドレス登録システムは、アドレス登録装置を備える。また、アドレス登録装置は、第一アドレス及び第二アドレスをVPN間接続管理システムから取得し、取得した第一アドレス及び第二アドレス、さらに拠点内アドレスを用いてアドレス変換情報を生成し、生成したアドレス変換情報をアドレス変換装置に自動的に登録するものである。そこで、実施例1に係るアドレス登録システムについて説明する前に、まず、実施例1におけるアドレス決定方式を説明する。なお、実施例1においては、アドレス変換の技術として、IETF(Internet Engineering Task Force)によって公開されたRFC(Request for Comments)2663の技術(以下「Twice−NAT」)を用いる。以下では、比較の観点から、まず、RFC1631の技術(以下「Single−NAT」)を説明し、続いて、Twice−NATを説明する。なお、以下では、VPN間接続される拠点を「VPN」という。「VPNi」は、VPN名である。また、集合仮想ルータに設定された仮想ルータを「VRF」という。「VRFm」は、仮想ルータ名である。なお、VRFは、Virtual Routing and Forwardingの略である。また、「VPN」や「VRF」を区別するための添え字として『i』、『j』、『k』、『l』、『m』、『n』を用いるが、いずれも、1,2,3,・・・といった自然数である。
[Single−NATを用いたアドレス決定方式]
図2−1は、Single−NATを用いたアドレス決定方式を説明するための図である。図2−1を参照しながら、以下の説明で用いる変数を定義する。「a
i」は、VPN
iの内部で利用するアドレス(以下「拠点内アドレス」)である。また、(1−1)式は、VPN
iからVRF
m向けのアドレス変換を表す作用素である。
すると、VPN
iの拠点内アドレスa
iは、VRF
m向けにアドレス変換されると(1−2)式となる。一方、VPN
jの拠点内アドレスa
jは、VRF
m向けにアドレス変換されると(1−3)式となる。すなわち、図2−1に例示するように、VRF
mにおいて、VPN
iを識別するためのアドレスは(1−2)式であり、VPN
jを識別するためのアドレスは(1−3)式である。また、VPN
iにおいて、接続先であるVPN
jを識別するためのアドレスは(1−3)式である。一方、VPN
jにおいて、接続先であるVPN
iを識別するためのアドレスは(1−2)式である。
例えば、図2−1に示すVPN
iからVPN
jに向けてパケットが送信されると、パケットは、VRF
mを経由し、VPN
i→VRF
m→VPN
jのように送信される。ここで、アドレス変換にSingle−NATを用いる場合、アドレス変換装置は、送信元のアドレスのみを変換して宛先のアドレスを変換しない、または、宛先のアドレスのみを変換して送信元のアドレスを変換しない。このため、{送信元アドレス,宛先アドレス}の組合せは、アドレス変換により、VPN
i内、VRF
m内、VPN
j内の各領域において、それぞれ(1−4−1)、(1−4−2)、(1−4−3)式となる。なお、i≠jである。
さて、アドレスは、「(1)VPN側からルーティングが可能であること」かつ「(2)VRF側からルーティングが可能であること」の2つの条件を満たすように決定されなければならない。
「(1)VPN側からルーティングが可能であること」を検討すると、(1)の条件は、すなわち、「VPNiから同時にアクセスする可能性がある接続先に関するVRFに対するルートが異なっていること」という条件となる。これをさらに言い換えると、「通信相手となる他VPN配下の端末をVPN内で識別するためのアドレスを、VPN間接続を利用する時間帯と重複する時間帯に該VPN内で通信相手となり得る端末の中で一意となるように決定しなければならない」という条件となる。
上記変数を用いて表すと、(1−5)式となる。すなわち、例えば、VPN
iから同時にアクセスする可能性がある接続先が、VPN
j及びVPN
kであり、VPN
jとはVRF
m経由で、また、VPN
kとはVRF
n経由でVPN間接続するとする(m≠n)。すると、VPN
iにおいて、接続先VPN
jのアドレスは(1−6)式であり、接続先VPN
kのアドレスは(1−7)式であるので、上記(1−5)式は、これらが一意となるように決定しなければならないことを表す。
また、「(2)VRF側からルーティングが可能であること」を検討すると、(2)の条件は、すなわち、「VRFmに同時にアクセスする可能性があるVPNに対するルートが異なっていること」という条件となる。これをさらに言い換えると、「VPN間接続に属する各VPN配下の端末を広域ネットワーク内で識別するためのアドレスを、該VPN間接続を利用する時間帯と重複する時間帯に該VPN間接続として制御され得る端末の中で一意となるように決定しなければならない」という条件となる。
上記変数を用いて表すと、(1−8)式となる。すなわち、例えば、VRF
mに同時にアクセスする可能性があるVPNが、VPN
i及びVPN
jであるとする(i≠j)。すると、VRF
mにおいて、VPN
iを識別するためのアドレスは(1−9)式であり、VPN
jを識別するためのアドレスは(1−10)式であるので、上記(1−8)式は、これらが一意となるように決定しなければならないことを表す。
ここで、注目すべきは、(1−5)式は、異なるVRF間で一意にアドレスを決定することを表しており、一方、(1−8)式は、各VRF内にて一意にアドレスを決定することを表している点である。結局、(1−5)式かつ(1−8)式を満たすためには、「同時にアクセスする可能性がある全てのVRF間でアドレスの重複がないこと」を満たさなければならず、(1)の条件と(2)の条件とは独立の条件とはならない。
例えば、VPN1が同時にアクセスする可能性があるVRF(群)と、VPN2が同時にアクセスする可能性があるVRF(群)とが一部でも重複した場合、VPN1とVPN2とが同時にアクセスする可能性があるVRF(群)で、(1)の条件と(2)の条件とを完全に独立に考えることはできない。
また、オンデマンドなVPN間接続サービスにおいて、VRFは、時限的に生成消滅を繰り返す。このため、例えば、同時にアクセスする可能性があるVRFが複数存在する場合や、既にアドレスを割り当て済みのVRFに対して時間的に遡って新たなVPNを収容しなければならない場合などには、他のVRFの生成消滅も含め時間軸上でアドレスを管理しなければならず、アドレスの管理が困難である。さらに、同時にアクセスする可能性があるVRFの数が膨大になると、アドレスが枯渇し、アドレスの割り当てができなくなるおそれがある。
[Twice−NATを用いたアドレス決定方式]
続いて、実施例1において用いるTwice−NATを説明する。図2−2は、Twice−NATを用いたアドレス決定方式を説明するための図である。図2−2を参照しながら、以下の説明で用いる変数を定義する。「VPN
i」は、VPN名である。「a
i」は、VPN
iの内部で利用する拠点内アドレスである。「VRF
m」は、仮想ルータ名である。また、(2−1)式は、VPN
iからVRF
m向けのアドレス変換を表す作用素である。なお、Sigle−NATの場合のアドレス変換作用素と区別するため、Twice−NATの場合のアドレス変換作用素はイタリック体で表現する。また、(2−2)式は、VRF
mからVPN
j向けのアドレス変換を表す作用素である。また、定義より、(2−3)式が成立し、したがって(2−4)式が成立する。
すると、VPN
iの拠点内アドレスa
iは、VRF
m向けにアドレス変換されると(2−5)式となる。一方、VPN
jの拠点内アドレスa
jは、VRF
m向けにアドレス変換されると(2−6)式となる。すなわち、図2−2に例示するように、VRF
mにおいて、VPN
iを識別するためのアドレス(第二アドレス)は(2−5)式であり、VPN
jを識別するためのアドレス(第二アドレス)は(2−6)式である。また、VPN
iにおいて、接続先であるVPN
jを識別するためのアドレス(第一アドレス)は、(2−6)式にさらにVRF
mからVPN
i向けのアドレス変換が行われた(2−7)式となる。一方、VPN
jにおいて、接続先であるVPN
iを識別するためのアドレス(第一アドレス)は、(2−5)式にさらにVRF
mからVPN
j向けのアドレス変換が行われた(2−8)式となる。
例えば、図2−2に示すVPN
iからVPN
jに向けてパケットが送信されると、パケットは、VRF
mを経由し、VPN
i→VRF
m→VPN
jのように送信される。ここで、アドレス変換にTwice−NATを用いる場合、アドレス変換装置は、送信元のアドレス及び宛先のアドレスを変換する。このため、{送信元アドレス,宛先アドレス}の組合せは、アドレス変換により、VPN
i内、VRF
m内、VPN
j内の各領域において、それぞれ(2−9−1)、(2−9−2)、(2−9−3)式となる。なお、i≠jである。
さて、アドレスは、Single−NATを用いる場合の条件と同様、「(1´)VPN側からルーティングが可能であること」かつ「(2´)VRF側からルーティングが可能であること」の2つの条件を満たすように決定されなければならない。
「(1´)VPN側からルーティングが可能であること」を検討すると、(1´)の条件は、Single−NATを用いる場合の条件と同様、すなわち、「VPNiから同時にアクセスする可能性がある接続先に関するVRFに対するルートが異なっていること」という条件となる。これをさらに言い換えると、「通信相手となる他VPN配下の端末をVPN内で識別するためのアドレスを、VPN間接続を利用する時間帯と重複する時間帯に該VPN内で通信相手となり得る端末の中で一意となるように決定しなければならない」という条件となる。
上記変数を用いて表すと、(2−10)式となる。すなわち、例えば、VPN
iから同時にアクセスする可能性がある接続先が、VPN
j及びVPN
kであり、VPN
jとはVRF
m経由で、また、VPN
kとはVRF
n経由でVPN間接続するとする(m≠n)。すると、VPN
iにおいて、接続先VPN
jを識別するためのアドレスは(2−11)式であり、接続先VPN
kを識別するためのアドレスは(2−12)式であるので、上記(2−10)式は、これらが一意となるように決定しなければならないことを表す。
また、「(2´)VRF側からルーティングが可能であること」を検討すると、(2´)の条件は、Single−NATを用いる場合の条件と同様、すなわち、「VRFmに同時にアクセスする可能性があるVPNに対するルートが異なっていること」という条件となる。これをさらに言い換えると、「VPN間接続に属する各VPN配下の端末を広域ネットワーク内で識別するためのアドレスを、該VPN間接続を利用する時間帯と重複する時間帯に該VPN間接続として制御され得る端末の中で一意となるように決定しなければならない」という条件となる。
上記変数を用いて表すと、Single−NATを用いる場合の条件と同様、(2−13)式となる。すなわち、例えば、VRF
mに同時にアクセスする可能性があるVPNが、VPN
i及びVPN
jであるとする(i≠j)。すると、VRF
mにおいて、VPN
iを識別するためのアドレスは(2−14)式であり、VPN
jを識別するためのアドレスは(2−15)式であるので、上記(2−13)式は、これらが一意となるように決定しなければならないことを表す。
ここで、注目すべきは、(2−10)式は、各VPN内にて一意にアドレスを決定することを表しており、(2−13)式は、各VRF内にて一意にアドレスを決定することを表しており、(2−10)式の条件と(2−13)式の条件とが独立の条件となっている点である。すなわち、アドレス変換にTwice−NATを用いる場合、アドレス変換装置は、送信元のアドレス及び宛先のアドレスを変換するので、アドレス変換装置を境界として、VPN側のアドレス体系と、広域ネットワーク側のアドレス体系とを、独立させることができる。この結果、(1´)の条件と(2´)の条件とが独立の条件となる。したがって、例えば、VPN側のアドレス体系をIP(Internet Protocol)v4とし、広域ネットワーク側のアドレス体系をIPv6とすることも可能である。
このようなことから、例えば、VPN1が同時にアクセスする可能性があるVRF(群)と、VPN2が同時にアクセスする可能性があるVRF(群)とが一部でも重複した場合、VPN1とVPN2とが同時にアクセスする可能性があるVRF(群)で、(1´)の条件と(2´)の条件とを完全に独立に考えることができる。また、あるひと組のVPNが、異なるVRFに同時にアクセスする(多重帰属する)場合、(1´)の条件から、一方のVPNにおいて、接続対象である他VPN配下の一つの端末に、経由するVRFの違いによって、異なるアドレスが対応付けられることになる。
また、オンデマンドなVPN間接続サービスにおいて、VRFは、時限的に生成消滅を繰り返すが、複数に同時にアクセスする可能性があるVRF間での整合性まで考慮する必要がないので、アドレス管理の困難さやアドレスの枯渇といったおそれも解消する。
[アドレス決定方式のフローチャート]
次に、図3を用いて、上述したアドレス決定方式のフローチャートを説明する。図3は、実施例1におけるアドレス決定方式の処理手順を示すフローチャートである。なお、時刻t1〜t2の間に、VRFmにVPNjを収容する例を用いて説明する。
上述したように、(2´)の条件は、各VRFにて判断される条件である。このため、新規にVRFを構築する場合には、必ずアドレスの払い出しが可能である。一方、既に構築されたVRFに新たにVPNを収容する場合には、空きのアドレスが存在する場合にのみアドレスの払い出しが可能である。このようなことから、図3に例示するように、VPN間接続管理システムは、まず、新規にVRFを構築するか否かを判断する(ステップS11)。
新規にVRFを構築する場合(ステップS11肯定)、VPN間接続管理システムは、VRF
mにて接続先VPN
jを識別するアドレス(3−1)式を決定する(ステップS12)。
続いて、VPN間接続管理システムは、時刻t1〜t2の間に、VRF
mに収容された他のVPN
i(i≠j)内部で、(3−2)式を満たす(3−3)式が存在するかを判定する(ステップS13)。
そして、存在すると判定した場合には(ステップS13肯定)、払い出し可能であるので(ステップS14)、VPN間接続管理システムは、(3−3)式を決定する(ステップS15)。一方、存在しないと判定した場合には(ステップS13否定)、払い出し不可であるので(ステップS16)、VPN間接続管理システムは、エラー応答を行う(ステップS17)。
一方、ステップS11において、既に構築されたVRFに新たにVPNを収容する場合には(ステップS11否定)、VPN間接続管理システムは、時刻t1〜t2の間に、VRF
m内部で、(3−4)式を満たす(3−5)式が存在するかを判定する(ステップS18)。
存在すると判定した場合には(ステップS18肯定)、続いて、VPN間接続管理システムは、時刻t1〜t2の間に、VRF
mに収容された他のVPN
i(i≠j)内部で、(3−6)式を満たす(3−7)式が存在するかを判定する(ステップS19)。
そして、存在すると判定した場合には(ステップS19肯定)、払い出し可能であるので(ステップS20)、VPN間接続管理システムは、(3−8)式及び(3−9)式を決定する(ステップS21)。一方、ステップS18において存在しないと判定した場合(ステップS18否定)、及び、ステップS19において存在しないと判定した場合には(ステップS19否定)、払い出し不可であるので(ステップS22)、VPN間接続管理システムは、エラー応答を行う(ステップS23)。
このように、(1´)の条件と(2´)の条件とを、独立に、無関係に、逐次的に検討することができるので、アドレスを決定するアルゴリズムは簡素化される。
[拠点内アドレスの払い出し]
ところで、これまで、第一アドレス及び第二アドレスの決定方式について説明してきたが、次に、拠点内アドレスの払い出しについて説明する。上述したように、実施例1においてはTwice−NATが用いられるので、アドレス変換装置は、送信元のアドレス及び宛先のアドレスの双方を変換する。例えば、端末αと端末βとが通信を行う場合、端末αを配下とするVPN側に設置されたアドレス変換装置は、(送信元アドレス、宛先アドレス)=(端末αの拠点内アドレス、端末βの第一アドレス)を、(送信元アドレス、宛先アドレス)=(端末αの第二アドレス、端末βの第二アドレス)に変換する。したがって、アドレス変換情報としては、端末αの拠点内アドレスと端末αの第二アドレスとを変換するアドレス変換情報、端末βの第一アドレスと端末βの第二アドレスとを変換するアドレス変換情報が、アドレス変換装置に登録されることになる。
このように、アドレス変換情報は、第一アドレス及び第二アドレスが決定されただけでは生成されず、拠点内アドレスが明らかになって初めて生成されるものであるといえる。そうであるとすると、拠点内アドレスがどのように端末に払い出され、払い出された拠点内アドレスをアドレス登録装置がどのように取得するかが問題となる。
図4−1〜4−3は、拠点内アドレスの払い出しを説明するための図である。なお、図4−1及び4−2において、アドレス変換装置及びパケットフィルタリング装置は、説明の便宜上一体化して表現し、「アドレス変換装置/パケットフィルタリング装置」とする。また、『VPN1』や『VRF2』も、説明の便宜上の一例に過ぎない。また、各装置が、広域ネットワーク設備であるのか、VPN設備であるのか、ユーザ設備であるのかを示す境界線を、一例として示した。
まず、図4−1は、拠点内アドレスが固定的に払い出される場合を示す。拠点内アドレスが固定的に払い出される場合、拠点内アドレスと端末名との対応関係は固定される。例えば、図4−1に例示するように、アドレス『a1(A)』と端末名『userA』との対応関係が固定され、アドレス『a1(B)』と端末名『userB』との対応関係が固定され、アドレス『a1(C)』と端末名『userC』との対応関係が固定され、アドレス『a1(D)』と端末名『userD』との対応関係が固定される。
ここで、実施例1においては、端末名は、例えばVPN間接続サービスの契約時などに、VPN間接続管理システムに登録されるものとする(図4−3(A)を参照)。また、実施例1においては、第一アドレス及び第二アドレスは、例えばVPN間接続要求がVPN間接続管理システムによって受け付けられ、VPN間接続管理システムがVPN間接続を構築する際などに、VPN間接続管理システムによって、拠点内アドレスとは独立に払い出される(図4−3(B)を参照)。すると、DNS登録情報のDNS装置への登録は、端末名と第一アドレスとの対応関係が明らかとなっていればよいので、少なくとも第一アドレスが払い出された段階で行うことができる(図4−3(B)を参照)。
なお、例えばVPN間接続サービスの契約時などにVPN間接続管理システムに登録された端末名が『userA@vpni.example.com』である一方で、DNS登録情報として登録される端末名は『userA@vrfm.vpni.example.com』であり、ドメイン名に仮想ルータ名『vrfm』が含まれるか否かの違いがある。VPN間接続管理システムに予め登録される段階においては、仮想協働空間の構築が開始されていないこともあり、端末名は、仮想ルータ名を含まない『userA@vpni.example.com』となるが、仮想協働空間内で用いられる端末名は、仮想ルータ名を含む『userA@vrfm.vpni.example.com』となり、仮想協働空間毎に独立に構成される名前空間において名前解決される。
また、アドレス変換情報のアドレス変換装置への登録も、拠点内アドレスと第二アドレスとの対応関係、第一アドレスと第二アドレスとの対応関係が明らかとなっていれば行うことができる。したがって、拠点内アドレスが固定的に払い出されている図4−1の場合、登録された端末名から拠点内アドレスを特定することができるので、第一アドレス及び第二アドレスが払い出された段階で、拠点内アドレスと第二アドレスとの対応関係、第一アドレスと第二アドレスとの対応関係が明らかとなり、アドレス変換情報のアドレス変換装置への登録を行うことができる。すなわち、図4−3(C)に例示するように、端末名『userA@vpni.example.com』と拠点内アドレス『ai(A)』との対応関係が固定的であれば、図4−3(D)に例示するように、拠点内アドレスと、第一アドレス及び第二アドレスとの対応関係も明らかとなり、アドレス変換情報を生成するための情報が、第一アドレス及び第二アドレスが払い出された段階で揃うことになる。
一方、図4−2は、拠点内アドレスが動的に払い出される場合を示す。拠点内アドレスが動的に払い出される場合、拠点内アドレスと端末名との対応関係は動的に変化し、確定しない。例えば、図4−2に例示するように、端末名『userA』、端末名『userB』、端末名『userC』、及び端末名『userD』と、アドレスとの対応関係は確定しない。
すると、DNS登録情報のDNS装置への登録は、端末名と第一アドレスとの対応関係が明らかとなっていればよいので、少なくとも第一アドレスが払い出された段階で行うことができるが、アドレス変換情報のアドレス変換装置への登録は、拠点内アドレスと第二アドレスとの対応関係が明らかとなっていないので、拠点内アドレスが明らかとなっていない段階では、行うことができない。すなわち、図4−3(C)に例示するように、端末名『userA@vpni.example.com』と拠点内アドレス『ai(A)』との対応関係が明らかになるまでは、図4−3(D)に例示する対応関係が明らかとならず、アドレス変換情報を生成するための情報が揃わないことになる。
ここで、改めて、DNS登録情報及びアドレス変換情報の登録について検討する。例えば端末αと端末βとが、あるVRF経由で通信を行う場合、上述したように、端末αの拠点内アドレスと端末αの第二アドレスとを変換するアドレス変換情報、端末αの第一アドレスと端末αの第二アドレスとを変換するアドレス変換情報、及び、端末βの拠点内アドレスと端末βの第二アドレスとを変換するアドレス変換情報、端末βの第一アドレスと端末βの第二アドレスとを変換するアドレス変換情報を生成しなければならない。また、仮想協働空間内で通信相手の端末を指定する方法としては、FQDN(Fully Qualified Domain Name)を用い、通信を行う度にDNSにより名前解決を行うことを想定するので、端末αの端末名と端末αの第一アドレスとの対応関係を示すDNS登録情報、端末βの端末名と端末βの第一アドレスとの対応関係を示すDNS登録情報も生成しなければならない。
第一アドレス及び第二アドレスは、例えばVPN間接続毎に払い出されるものであるので、動的なものである。一方、拠点内アドレスは、固定的に払い出される場合と、動的に払い出される場合とがある。拠点内アドレスが固定的に払い出される場合は、第一アドレス及び第二アドレスさえ払い出されれば、DNS登録情報及びアドレス変換情報の双方を生成することができる。一方、拠点内アドレスが動的に払い出される場合は、拠点内アドレスが払い出されるまでは、第一アドレス及び第二アドレスをそれ以前に払い出しておくことはできるため、DNS登録情報を生成することはできても、アドレス変換情報を生成することはできない。
このように、DNS登録情報のDNS装置への登録という観点においては、拠点内アドレスが固定的に払い出されていようと動的に払い出されていようと違いはないが、アドレス変換情報のアドレス変換装置への登録という観点においては、両者は相違する。すなわち、少なくとも拠点内アドレスが動的に払い出されている場合には、アドレス登録装置は、DHCP(Dynamic Host Configuration Protocol)サーバやPPPoE(Point to Point Protocol over Ethernet(登録商標))サーバなどによって拠点内アドレスが払い出された時よりも後のタイミングで拠点内アドレスを取得しなければならない。これは、少なくともユーザが協働空間のサービスを利用しようとしたときには、拠点内アドレスを取得しなければならないことを意味する。このような意味で、アドレス登録装置が、動的に払い出された拠点内アドレスをいかにして取得するかが重要であり、このため、実施例1においては、主に拠点内アドレスがDHCPサーバなどによって動的に払い出された場合を想定して説明するが、開示の技術はこれに限られるものではなく、拠点内アドレスが固定的に払い出された場合にも、同様に適用することができる。
[実施例1に係るアドレス登録装置の構成]
次に、図5を用いて、実施例1に係るアドレス登録装置10の構成を説明する。図5は、実施例1に係るアドレス登録装置10の構成を示すブロック図である。
図5に例示するように、アドレス登録装置10は、入力部11と、出力部12と、入出力制御I/F(Interface)部13と、通信部14と、制御部30とを備える。
入力部11は、例えばキーボードやマウスなどであり、各種操作の入力などを受け付ける。出力部12は、例えばディスプレイなどであり、各種操作のための情報などを出力する。入出力制御I/F部13は、入力部11と、出力部12と、制御部30との間における入出力を制御する。通信部14は、例えばIP通信用の一般的なインタフェースなどであり、アドレス変換情報の設定対象となるアドレス変換装置などとの間で通信を行う。なお、アドレス登録装置10は、必ずしも入力部11や出力部12を備える必要はなく、例えば、通信部14を介して他の管理端末やユーザ用のWebサーバと通信を行い、入出力に係る情報を送受信してもよい。
アドレス取得部31は、第一アドレス及び第二アドレスを、第一アドレス及び第二アドレスを決定するVPN間接続管理システムから取得する。ここで、第一アドレスとは、所定のVPN間接続において通信相手となる他VPN配下の端末を自VPN内で識別するために、このVPN間接続を利用する時間帯において自VPN内で通信相手となり得る端末の中で一意となるように決定されたアドレスである。また、第二アドレスとは、VPN間接続に属する各VPN配下の端末を広域ネットワーク内で識別するために、このVPN間接続を利用する時間帯においてこのVPN間接続として制御され得る端末の中で一意となるように決定されたアドレスである。
アドレス変換情報生成部32は、拠点内アドレスと、アドレス取得部31によって取得された第二アドレスとを変換するアドレス変換情報を生成する。また、アドレス変換情報生成部32は、アドレス取得部31によって取得された第一アドレスとアドレス取得部31によって取得された第二アドレスとを変換するアドレス変換情報を生成する。ここで、拠点内アドレスとは、VPN間接続に属する各VPN配下の端末をそのVPN内で識別するために払い出されたアドレスである。
アドレス変換情報登録部33は、アドレス変換情報生成部32によって生成されたアドレス変換情報を、広域ネットワークとVPNそれぞれとの間に設置されたアドレス変換装置に登録する。
このようなことから、実施例1によれば、VPN間接続管理システムから取得した第一アドレス及び第二アドレスと、拠点内アドレスとを用いてアドレス変換情報を自動的に生成し、自動的にアドレス変換装置に登録するので、アドレスの登録処理を適切に行うことが可能になる。
[実施例3に係るアドレス登録装置の構成]
次に、図8を用いて、実施例3に係るアドレス登録装置100の構成を説明する。図8は、実施例3に係るアドレス登録装置100の構成を示すブロック図である。
図8に例示するように、アドレス登録装置100は、通信部110と、入力部111と、出力部112と、入出力制御I/F部113と、記憶部120と、制御部130とを備える。
通信部110は、例えばIP通信用の一般的なインタフェースなどであり、DNS登録情報やアドレス変換情報、フィルタリング情報などの設定対象となるDNS装置、アドレス変換装置、パケットフィルタリング装置などとの間で通信を行う。
入力部111は、例えばキーボードやマウスなどであり、各種操作の入力などを受け付ける。実施例3において、例えば、入力部111は、端末名の入力をキーボードやマウスによって受け付ける。出力部112は、例えばディスプレイなどであり、各種操作のための情報などを出力する。実施例3において、出力部112は、例えば、端末名を入力するための入力画面を出力する。入出力制御I/F部113は、入力部111と、出力部112と、記憶部120と、制御部130との間における入出力を制御する。なお、アドレス登録装置100は、必ずしも入力部111や出力部112を備える必要はなく、例えば、通信部110を介して他の管理端末やユーザ用のWebサーバと通信を行い、入出力に係る情報を送受信してもよい。
記憶部120は、例えばRAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(flash memory)などの半導体メモリ素子、ハードディスク、光ディスクなどであり、各種情報を記憶する。具体的には、記憶部120は、図8に例示するように、端末名記憶部121と、個人認証情報記憶部122と、アタッチメント記憶部123とを有する。
端末名記憶部121は、VPN間接続サービスに用いられる端末の端末名を記憶する。具体的には、端末名記憶部121は、例えばVPN間接続サービスの契約時などにVPN間接続サービスの運用者によって予め登録されることで端末名を記憶し、端末名記憶部121が記憶する端末名は、後述するDNS管理部132や、アドレス変換情報生成部133cによる処理に利用される。図9は、端末名記憶部121を説明するための図である。例えば、端末名記憶部121は、図9に例示するように、『接続先ID(ユーザ名)』と『端末名』とを対応付けて記憶する。なお、上述したように、例えばVPN間接続サービスの契約時などに予め登録される端末名は、ドメイン名に仮想ルータ名を含まない端末名(例えば『userA@vpn1.example.com』)である。
個人認証情報記憶部122は、VPN間接続サービスの提供を受けるユーザを認証するための個人認証情報を記憶する。具体的には、個人認証情報記憶部122は、例えばVPN間接続サービスの契約時などに、VPN間接続サービスの運用者によって予め登録されることで個人認証情報を記憶し、個人認証情報記憶部122が記憶する個人認証情報は、後述する個人認証部133aによる処理に利用される。図10は、個人認証情報記憶部122を説明するための図である。例えば、個人認証情報記憶部122は、図10に例示するように、『接続先ID(ユーザ名)』と『パスワード』とを対応付けて記憶する。
アタッチメント記憶部123は、DNS装置毎、アドレス変換装置毎、パケットフィルタリング装置毎に、アタッチメントを記憶する。ここで、アタッチメントとは、DNS登録情報をDNS装置に登録するためのプログラム、アドレス変換情報をアドレス変換装置に登録するためのプログラム、フィルタリング情報をパケットフィルタリング装置に登録するためのプログラム、及び、DNS装置に登録されたDNS登録情報を削除するためのプログラム、アドレス変換装置に登録されたアドレス変換情報を削除するためのプログラム、パケットフィルタリング装置に登録されたパケットフィルタリング情報を削除するためのプログラムである。図11は、アタッチメント記憶部123を説明するための図である。例えば、アタッチメント記憶部123は、図11に例示するように、『装置識別情報』と『アタッチメント』とを対応付けて記憶する。
また、アタッチメントには、アドレス登録装置100とDNS装置との間で用いられる通信プロトコル、アドレス登録装置100とアドレス変換装置との間で用いられる通信プロトコルや、アドレス登録装置100とパケットフィルタリング装置との間で用いられる通信プロトコルが規定される。なお、一般に、当該通信プロトコルには、DNS装置のベンダ、アドレス変換装置のベンダやパケットフィルタリング装置のベンダによって規定される独自仕様の通信プロトコルが用いられる。アタッチメント記憶部123は、例えばVPN間接続サービスの運用者によって予め登録されることで、アタッチメントを事前に記憶する。また、アタッチメント記憶部123が記憶するアタッチメントは、後述するアドレス変換情報登録部133dによる処理に利用される。
制御部130は、アドレス登録装置100において実行される各種処理を制御する。具体的には、図8に例示するように、制御部130は、アドレス取得部131と、DNS管理部132と、アドレス変換管理部133とを有する。
アドレス取得部131は、VPN間接続に用いられる第一アドレス及び第二アドレスを取得する。具体的には、アドレス取得部131は、VPN間接続管理システムとの間で通信を行い、VPN間接続管理システムから第一アドレス及び第二アドレスを取得する。また、アドレス取得部131は、取得した第一アドレス及び第二アドレスを、DNS管理部132(少なくとも第一アドレス)及びアドレス変換管理部133に通知する。
ここで、アドレス取得部131は、通信相手となる他VPN配下の端末をVPN内で識別するための第一アドレスを取得する。第一アドレスは、VPN間接続管理システムにおいて、VPN間接続を利用する時間帯と重複する時間帯に該当するVPN内で通信相手となり得る端末の中で一意となるように決定されたものである。また、アドレス取得部131は、VPN間接続に属する各VPN配下の端末を集合仮想ルータにて識別する第二アドレスを取得する。第二アドレスは、VPN間接続管理システムにおいて、VPN間接続を利用する時間帯と重複する時間帯に、該当するVPN間接続として制御され得る端末の中で一意となるように決定されたものである。
DNS管理部132は、DNS登録情報を生成し、生成したDNS登録情報をDNS装置に登録する。具体的には、DNS管理部132は、アドレス取得部131から第一アドレス及び第二アドレスを受け付けると、端末名記憶部121を参照し、端末名と第一アドレスとの対応関係を特定してDNS登録情報(Aレコードなど)を生成する。このとき、DNS管理部132は、端末名記憶部121に記憶された端末名をそのまま用いてDNS登録情報を生成するのではなく、ドメイン名に仮想ルータ名を含ませた端末名を新たに生成し、新たに生成した端末名を用いてDNS登録情報を生成する。例えば、DNS管理部132は、VPN間接続管理システムとの間で通信を行い、VPN間接続管理システムから仮想ルータ名を取得し、取得した仮想ルータ名をドメイン名に含ませた新たな端末名を生成し、新たに生成した端末名と第一アドレスとの対応関係を示すDNS登録情報を生成する。また、DNS管理部132は、アタッチメント記憶部123を参照して該当するDNS装置にDNS登録情報を登録するためのプログラムを取得し、生成したDNS登録情報を、該当するDNS装置に対して送信する。
なお、例えば、VPNにおいてVPN間接続を管理する管理者が、ユーザ用のWebサーバなどを用いて、アドレス登録装置100に対して、外部からのアクセスを許容する端末を事前に登録した場合には、アドレス登録装置100は、この登録に従って、DNS登録情報を登録するか否かを判定してもよい。すなわち、アドレス登録装置100は、外部からのアクセスを許容しない端末については、DNS登録情報をDNS装置に対して送信しない、といった制御を行ってもよい。
アドレス変換管理部133は、個人認証部133aと、アドレス取得部133bと、アドレス変換情報生成部133cと、アドレス変換情報登録部133dとを有する。
個人認証部133aは、端末のユーザを認証する。具体的には、個人認証部133aは、端末から送信された接続要求を受け付け、端末経由で送信された個人認証情報及び個人認証情報記憶部122に記憶された個人認証情報を用いて認証処理を行い、認証結果をアドレス取得部133bに通知する。なお、端末経由で送信された個人認証情報とは、端末のユーザが、自らが保持する(あるいは記憶する)個人認証情報を端末から入力することで送信された個人認証情報であって、ユーザ個人を特定する情報である。なお、以下では、端末のユーザ個人を認証することを「ユーザ認証」といい、端末を認証することを「端末認証」という。
ここで、VPN間接続サービスを利用する端末の中には、VPN間接続サービスのためのユーザ認証とは別に、自端末が所属するVPNサービスに接続する際にもユーザ認証が必要となる端末がある。この点、個人認証部133aは、VPNサービスに接続するためのユーザ認証の認証結果を取得することで、VPN間接続サービスのためのユーザ認証に替えることも可能である。すなわち、個人認証部133aは、VPNサービスに接続する際にもユーザ認証が必要となる端末については、端末と認証サーバとの間の個人認証情報などの送受信を中継することで認証結果を取得し、VPNサービスに接続するためのユーザ認証の認証結果をもって、VPN間接続サービスのためのユーザ認証の認証結果とする。
アドレス取得部133bは、拠点内アドレスを端末から取得する。具体的には、アドレス取得部133bは、個人認証部133aからユーザ認証の認証結果(成功)の通知を受け付けると、端末に対して拠点内アドレスを問い合わせ、問い合わせに対する端末からの応答によって拠点内アドレスを取得する。また、アドレス取得部133bは、取得した拠点内アドレスを、アドレス変換情報生成部133cに通知する。
アドレス変換情報生成部133cは、アドレス変換情報を生成する。具体的には、アドレス変換情報生成部133cは、アドレス取得部131から受け付けた第一アドレス及び第二アドレスと、アドレス取得部133bから受け付けた拠点内アドレスとを用いて、アドレス変換情報を生成する。そして、アドレス変換情報生成部133cは、生成したアドレス変換情報を、アドレス変換情報登録部133dに通知する。
例えば、端末αと端末βとが通信を行う場合、端末αを配下とするVPN側に設置されたアドレス変換装置は、(送信元アドレス、宛先アドレス)=(端末αの拠点内アドレス、端末βの第一アドレス)を、(送信元アドレス、宛先アドレス)=(端末αの第二アドレス、端末βの第二アドレス)に変換する。したがって、アドレス変換情報生成部133cは、アドレス変換情報として、端末αの拠点内アドレスと端末αの第二アドレスとを変換するアドレス変換情報、端末βの第一アドレスと端末βの第二アドレスとを変換するアドレス変換情報を生成する。
同様に、端末βを配下とするVPN側に設置されたアドレス変換装置は、(送信元アドレス、宛先アドレス)=(端末βの拠点内アドレス、端末αの第一アドレス)を、(送信元アドレス、宛先アドレス)=(端末βの第二アドレス、端末αの第二アドレス)に変換する。したがって、アドレス変換情報生成部133cは、アドレス変換情報として、端末βの拠点内アドレスと端末βの第二アドレスとを変換するアドレス変換情報、端末αの第一アドレスと端末αの第二アドレスとを変換するアドレス変換情報を生成する。
なお、アドレス変換情報生成部133cは、アドレス変換情報を生成するための対応付けを、例えば端末名に基づいて行う。すなわち、例えば、アドレス取得部131が、VPN間接続管理システムから第一アドレス及び第二アドレスを取得する際に、端末名と対応付けてこれら第一アドレス及び第二アドレスを取得する。また、アドレス取得部133bも、端末名と対応付けて拠点内アドレスを取得する。すると、アドレス変換情報生成部133cは、端末名によって、第一アドレス及び第二アドレスと、拠点内アドレスとを対応付けることができる。
アドレス変換情報登録部133dは、アドレス変換情報をアドレス変換装置に登録する。具体的には、アドレス変換情報登録部133dは、アドレス変換情報をアドレス変換情報生成部133cから受け付けると、アタッチメント記憶部123を参照して、該当するアドレス変換装置にアドレス変換情報を登録するためのプログラムを取得し、アドレス変換情報を、該当するアドレス変換装置に対して送信する。
[実施例3に係るアドレス登録処理]
続いて、図12〜14を用いて、実施例3に係るアドレス登録処理を説明する。図12〜14においては、説明の便宜上、「アドレス変換装置」と「パケットフィルタリング装置」とをまとめて「NAT装置/PF(Packet Filtering)装置」と表記するが、図1などを用いて説明した「アドレス変換装置」及び「パケットフィルタリング装置」と異なるものではない。「アドレス変換装置」が「NAT装置」に対応し、「パケットフィルタリング装置」が「PF装置」に対応する。なお、上述したように、実施例3に係るアドレス登録装置100は、アドレス変換情報の登録処理のみならず、第一アドレス及び第二アドレスの取得や、DNS登録情報の生成、生成したDNS登録情報のDNS装置への登録なども行う。もっとも、アドレス登録装置100は、拠点内アドレスの払い出しとは独立に、これらの処理を行うことができる。
例えば、アドレス登録装置100は、第一アドレス及び第二アドレスの取得を、拠点内アドレスの払い出し前に行ってもよいし、払い出し後に行ってもよい。また、例えば、アドレス登録装置100は、DNS登録情報の生成を、アドレス変換情報の生成と並行して行ってもよいし、前後に行ってもよい。また、例えば、アドレス登録装置100は、生成したDNS登録情報のDNS装置への登録を、アドレス変換情報の登録と並行して行ってもよいし、前後に行ってもよい。
実施例3に係るアドレス登録装置100にとって重要となるのは、拠点内アドレスをどのように端末から取得するか、という点である。特に、拠点内アドレスがDHCPサーバなどから動的に払い出される場合には、そのタイミングや手法が重要となる。そこで、以下では、この点に着目して説明する。
まず、図12は、実施例3に係るアドレス登録処理の概要を説明するための図である。図12に例示するように、実施例3においては、DHCPサーバなどが、端末に対して動的に拠点内アドレスを払い出す(S1)。拠点内アドレスの払い出しを受けた端末は、接続要求を行う(S2)。なお、ユーザ認証には、上述したように2種類の方法がある。
一方、アドレス登録装置100は、ユーザ認証の完了を契機として、端末に対して拠点内アドレスを問い合わせる(S3)。すると、端末は、拠点内アドレスの問い合わせをアドレス登録装置100から受け付け、拠点内アドレスをアドレス登録装置100に対して応答する(S4)。このように、実施例3においては、ユーザ認証の完了を契機として、言い換えると、ユーザがVPN間接続を行おうとしたことを契機として、アドレス登録装置100が誘起信号を送信する機能を有し、端末がこれに反応して拠点内アドレスをアドレス登録装置100に送信する機能を有するからこそ、アドレス登録装置100は、払い出された拠点内アドレスを適切なタイミングで取得することができる。こうして、アドレス登録装置100は、アドレス変換情報等を生成することができるので、生成したアドレス変換情報等を、アドレス変換装置やパケットフィルタリング装置に登録する(S5)。
次に、図13及び14は、実施例3に係るアドレス登録処理を示すシーケンス図である。図13に例示するように、例えば、ユーザが端末を起動したタイミングなどに(ステップS101)、DHCPサーバなどが、端末に対して拠点内アドレスを動的に払い出す(ステップS102)。なお、このとき、DHCPサーバなどが、端末が正当な端末であるか否かの認証(以下、払い出しのための認証という意味で「払出認証」という)を行い、払出認証の認証結果が成功の場合にのみ拠点内アドレスを払い出してもよい。この場合には、DHCPサーバなどには、払出認証に必要な情報(例えば、MAC(Media Access Control)アドレスで払出認証を行うのであればMACアドレス情報)が事前に(例えば、VPN間接続サービス契約時などに)登録されなければならない。
図13では、VPN間接続サービスの提供を受けるユーザの端末は、自端末が属する広域ネットワーク認証ゲートウェイ装置(広域ネットワーク認証GW)に対して、VPN間接続サービスを利用するための接続要求を送信する(ステップS103)。なお、一般的に、ユーザは、例えばメールや郵便などで予め通知された、アドレス登録装置100のIPアドレス(端末のIPアドレスの通知先、すなわち後述する『Dynamic Update メッセージ』の送信先)及び広域ネットワーク認証ゲートウェイ装置のURL(Uniform Resource Locator)などを端末のソフトウェアに設定し、VPN間接続サービス利用時には、このソフトウェアを起動する。すると、端末は、設定されたURLにアクセスを試み接続要求を送信するが、この接続要求は、広域ネットワーク認証ゲートウェイ装置において受け付けられる。
一方、広域ネットワーク認証ゲートウェイ装置は、接続要求を端末から受け付けると、受け付けた接続要求を、アドレス登録装置100に転送する(ステップS104)。例えば、広域ネットワーク認証ゲートウェイ装置は、VPN間接続システムのユーザ名『userA』からの接続要求を、アドレス登録装置100に転送する。
すると、アドレス登録装置100は、ユーザ認証を行う(ステップS105)。例えば、アドレス登録装置100は、端末のユーザに対して端末経由で個人認証情報を送信するように要求する。例えば、アドレス登録装置100は、端末に対して、例えばID及びパスワードの入力画面を送信する。端末のユーザは、端末経由で個人認証情報を送信するようにアドレス登録装置100から要求されると、個人認証情報を端末に入力することで、アドレス登録装置100に対して個人認証情報を送信する。例えば、端末のユーザは、アドレス登録装置100から送信された入力画面に対して、ID『userA』及びパスワード『*****・・・』を入力し、入力された個人認証情報を端末経由でアドレス登録装置100に対して送信する。
すると、アドレス登録装置100は、ユーザ認証処理を行う。例えば、アドレス登録装置100は、端末経由で送信されたID『userA』を用いて個人認証情報記憶部122を参照し、VPN間接続システムのユーザ名『userA』に対応付けて記憶されているパスワード『*****・・・』を取得する。そして、アドレス登録装置100は、個人認証情報記憶部122から取得したパスワード『*****・・・』と、端末経由で送信されたパスワード『*****・・・』とが一致するか否かを照合することで、ユーザ認証処理を行う。
そして、アドレス登録装置100は、ユーザ認証の認証結果の完了通知を、広域ネットワーク認証ゲートウェイ装置及び端末に対して送信する(ステップS106及びS107)。なお、図13において、点線の枠で囲んだシーケンスは、ユーザ認証のシーケンスを示す。
さて、アドレス登録装置100は、ユーザ認証の完了を契機として、端末に対して拠点内アドレスを問い合わせる(ステップS108)。例えば、アドレス登録装置100は、DDNS(Dynamic DNS)の機能を備え、端末に対して、『Dynamic Update メッセージ』を誘起する誘起信号を送信する。
すると、端末は、アドレス登録装置100からの問い合わせを受け付け、拠点内アドレスを応答する(ステップS109)。例えば、端末は、アドレス登録装置100に備えられたDDNSの機能に向けて、『Dynamic Update メッセージ』を送信する。この『Dynamic Update メッセージ』には、端末名と、ステップS102においてDHCPサーバなどから動的に払い出された拠点内アドレスとが含まれる。なお、端末には、予め、『Dynamic Update メッセージ』の送信先として、アドレス登録装置100のアドレスが設定されている。
そして、アドレス登録装置100は、端末からの応答によって取得した拠点内アドレスと、別途払い出していた第二アドレスとを用いてアドレス変換情報を生成する(ステップS110)。なお、アドレス登録装置100は、その他のアドレス変換情報も生成する。
続いて、アドレス登録装置100は、端末に対して応答(ACKなど)するとともに(ステップS111)、アドレス変換装置(NAT装置)に対して、ステップS110において生成したアドレス変換情報を登録する(ステップS112)。なお、パケットフィルタリング装置(PF装置)に対しても、所定の拠点内アドレスについてフィルタリング(例えば開通など)を設定するようにフィルタリング情報を登録してもよい。
次に、図14を説明する。図14に例示するように、例えば、ユーザが端末を起動したタイミングなどに(ステップS201)、DHCPサーバなどが、端末に対して拠点内アドレスを動的に払い出す(ステップS202)。
図14では、VPN間接続サービスの提供を受けるユーザの端末は、自端末が属するVPN認証ゲートウェイ装置(VPN認証GW)に対して、VPNサービスを利用するための接続要求を送信する(ステップS203)。なお、一般的に、ユーザは、例えばメールや郵便などで予め通知された、アドレス登録装置100のIPアドレス(端末のIPアドレスの通知先、すなわち後述する『Dynamic Update メッセージ』の送信先)及びVPN認証ゲートウェイ装置のURLなどを端末のソフトウェアに設定し、VPN間接続サービス利用時には、このソフトウェアを起動する。すると、端末は、設定されたURLにアクセスを試み接続要求を送信するが、この接続要求は、VPN認証ゲートウェイ装置において受け付けられる。
一方、VPN認証ゲートウェイ装置は、接続要求を端末から受け付けると、受け付けた接続要求を、アドレス登録装置100に転送する(ステップS204)。例えば、VPN認証ゲートウェイ装置は、VPNサービスのユーザ名『userB』からの接続要求を、アドレス登録装置100に転送する。
すると、アドレス登録装置100は、端末のユーザから端末経由で送信された個人認証情報を、認証サーバ(VPN RADIUS(Remote Authentication Dial In User Service))に対して中継する(ステップS205)。例えば、アドレス登録装置100は、端末に対して、例えばID及びパスワードの入力画面を送信する。端末のユーザは、端末経由で個人認証情報を送信するようにアドレス登録装置100から要求されると、個人認証情報を端末に入力することで、アドレス登録装置100に対して個人認証情報を送信する。例えば、端末のユーザは、アドレス登録装置100から送信された入力画面に対して、ID『userB』及びパスワード『*****・・・』を入力し、入力された個人認証情報を端末経由でアドレス登録装置100に対して送信する。すると、アドレス登録装置100は、端末から送信された個人認証情報を、認証サーバに対して中継する。
一方、認証サーバは、ユーザ認証処理を行い、ユーザ認証の認証結果をアドレス登録装置100に対して送信する(ステップS206)。例えば、認証サーバは、アドレス登録装置100から送信されたID『userB』を用いて記憶部(図示を省略)を参照し、VPNサービスのユーザ名『userB』に対応付けて記憶されているパスワード『*****・・・』を取得する。そして、認証サーバは、記憶部から取得したパスワード『*****・・・』と、アドレス登録装置100から送信されたパスワード『*****・・・』とが一致するか否かを照合することで、ユーザ認証処理を行う。
そして、アドレス登録装置100は、ユーザ認証の認証結果の完了通知を、VPN認証ゲートウェイ装置及び端末に対して送信する(ステップS207及びS208)。なお、図14において、点線の枠で囲んだシーケンスは、ユーザ認証のシーケンスを示す。
さて、その後のシーケンスのステップS209〜S213は、図13を用いて説明したステップS108〜S112と同様である。すなわち、アドレス登録装置100は、ユーザ認証の完了を契機として、端末に対して拠点内アドレスを問い合わせる(ステップS209)。すると、端末は、アドレス登録装置100からの問い合わせを受け付け、拠点内アドレスを応答する(ステップS210)。そして、アドレス登録装置100は、端末からの応答によって取得した拠点内アドレスと、別途払い出していた第二アドレスとを用いてアドレス変換情報を生成する(ステップS211)。続いて、アドレス登録装置100は、端末に対して応答するとともに(ステップS212)、アドレス変換装置(NAT装置)に対して、ステップS211において生成したアドレス変換情報を登録する(ステップS213)。
[実施例3の効果]
上述したように、実施例3において、アドレス登録装置100は、広域ネットワークを介して複数の拠点間を拠点間接続するシステムに対して、該拠点間接続にて用いられるアドレス変換情報を登録するアドレス登録装置である。また、アドレス取得部131が、所定の拠点間接続において通信相手となる他拠点配下の端末を拠点内で識別するための第一アドレス、及び、該拠点間接続に属する各拠点配下の端末を前記広域ネットワーク内で識別するための第二アドレスを取得する。また、アドレス取得部133b及びアドレス変換情報生成部133cが、拠点間接続に属する各拠点配下の端末を該拠点内で識別するために払い出された拠点内アドレスと第二アドレスとを変換するアドレス変換情報、および、第一アドレスと第二アドレスとを変換するアドレス変換情報を生成する。そして、アドレス変換情報登録部133dが、生成されたアドレス変換情報を、広域ネットワークと拠点それぞれとの間に設置されたアドレス変換装置に登録する。
このようなことから、実施例3によれば、拠点内アドレスが動的に払い出される場合あるいは静的に払い出される場合のいずれの場合においても、アドレスを決定するアルゴリズムを同じ方式で実現することができるようになり、また、取得したアドレスと拠点内アドレスとを用いてアドレス変換情報を自動的に生成し、自動的にアドレス変換装置に登録するので、アドレスの登録処理を適切に行うことが可能になる。
また、実施例3において、拠点内アドレスは、各拠点配下の端末に動的に払い出されるものであって、アドレス登録装置100は、ユーザ認証の完了を契機として端末に対して拠点内アドレスを問い合わせ、問い合わせに対する端末からの応答によって拠点内アドレスを取得し、取得した拠点内アドレスと第二アドレスとを用いてアドレス変換情報を生成する。このようなことから、実施例3によれば、アドレスが動的に払い出される場合にも、拠点内アドレスを端末から適切に取得し、アドレスの登録処理を適切に行うことが可能になる。
さて、これまで実施例1〜5について説明したが、開示の技術は、上記した実施例以外にも種々の異なる形態にて実施されてよいものである。
[ユーザ認証]
上記実施例3〜5においては、アドレス登録装置100がユーザ認証を行い、ユーザ認証の完了を契機として端末の拠点内アドレスを問い合わせる手法を説明してきたが、開示の技術はこれに限られるものではない。アドレス登録装置100がユーザ認証を行わない場合、例えば、アドレス登録装置100は、広域ネットワーク認証ゲートウェイ装置から転送されることで端末からの接続要求を受信したり、VPN認証ゲートウェイ装置から転送されることで端末からの接続要求を受信するので、この接続要求の受信を検知したことを契機として、端末の拠点内アドレスを問い合わせてもよい。
[拠点の態様]
また、上記実施例では、拠点が、電気通信事業者などによって提供されたVPNサービスに接続するローカルエリアネットワークである場合を想定したが、開示の技術はこれに限られるものではない。拠点は、いわゆるネットワークではなく一端末であってもよい。例えば、拠点に設置されるルータが、物理的なルータではなく端末内のソフトウェアで実現される場合などである。また、拠点は、電気通信事業者などによって提供されたVPNサービスによって接続された複数のローカルエリアネットワーク群による社内網のようなものであってもよい。
図22〜24は、VPNサービスによって接続された複数のローカルエリアネットワーク群としての拠点を説明するための図である。なお、図22〜24においては、2種類の点線を用いて示す。一方は、通常の点線であり、他方は、破線(短い線と長い線との組合せ)である。破線は、同じVPNサービスに属する複数の拠点であって、かつ、例えば同じ社内(例えばC社内)の拠点間でVPNを形成していることを示す。一方、点線は、VPN間を接続することを示す。例えば、異なるVPNサービスに属する複数の拠点間を接続することや、同じVPNサービスに属する複数の拠点間であっても、異なる会社のVPN間を接続することを示す。
図22に例示するように、例えば、C社は、VPNサービス1に属する拠点群を有し、また、VPNサービス3に属する拠点を有する。一方、D社は、VPNサービス2に属する拠点を有し、また、VPNサービス4に属する拠点を有する。アドレス登録装置は、このような、異なるVPNサービスに属するC社の拠点群とD社の拠点群との拠点間接続について、アドレス登録処理を適切に行うことができる。
また、図23に例示するように、例えば、C社は、VPNサービス3でグループ化された拠点群を有する。一方、D社は、VPNサービス4でグループ化された拠点群を有する。アドレス登録装置は、このような、異なるVPNサービスに属するC社の拠点群とD社の拠点群との拠点間接続についても、アドレス登録処理を適切に行うことができる。
また、図24に例示するように、例えば、C社及びD社は、いずれも、VPNサービス2でグループ化された拠点群を有する。アドレス登録装置は、このような、同じVPNサービスに属するC社の拠点群とD社の拠点群との拠点間接続、言い換えると、同じVPN終端装置に属する複数の拠点群間の拠点間接続についても、アドレス登録処理を適切に行うことができる。
[VPN間接続管理システムの構成]
以下、上記各実施例にてVPN間接続を管理するVPN間接続管理システムを説明する。もっとも、以下に説明するVPN間接続管理システムは一例にすぎず、上記各実施例において構築されたVPN間接続は、他のシステムによって構築されたものであってもよい。また、以下では、上述したアドレス登録装置がVPN間接続管理システムの一部として動作する手法を説明するが、開示の技術はこれに限られるものではなく、VPN間接続管理システムは、アドレス登録装置との間で通信を行い、必要な情報を互いに送受信してもよい。
図25は、VPN間接続管理システム200の構成を示すブロック図である。図25に例示するように、VPN間接続管理システム200は、通信部210と、入力部211と、出力部212と、入出力制御I/F部213と、記憶部220と、制御部230とを備える。なお、上記実施例3〜5に例示したアドレス登録装置100との対応関係を説明すると、アドレス取得部131及びアドレス変換管理部133として説明した機能が、主に変換用アドレス決定部233及びアドレス変換情報設定部234によって実現され、DNS管理部132として説明した機能が、主にDNS登録情報生成部237及びDNS登録部238によって実現される。
通信部210は、例えばIP通信用の一般的なインタフェースなどであり、アドレス変換情報やルーティング情報の設定対象となるVPN終端装置、NAT装置(アドレス変換装置)及び集合仮想ルータとの間で通信を行う。なお、VPN間接続管理システム200は、通信部210を介して他の管理端末やユーザ用のWebサーバなどとの間で通信を行うこともでき、他の管理端末やユーザ用のWebサーバなどからVPN間接続要求を受信することもできる。
入力部211は、例えばキーボードやマウスなどであり、各種操作の入力などを受け付ける。入力部211は、例えば、VPN間接続要求の入力をキーボードやマウスによって受け付ける。出力部212は、例えばディスプレイなどであり、各種操作のための情報などを出力する。出力部212は、例えば、VPN間接続要求の入力画面を出力する。入出力制御I/F(Interface)部213は、入力部211と、出力部212と、記憶部220と、制御部230との間における入出力を制御する。なお、VPN間接続管理システム200は、必ずしも入力部211や出力部212を備える必要はなく、例えば、通信部210を介して他の管理端末やユーザ用のWebサーバと通信を行い、入出力に係る情報を送受信してもよい。
記憶部220は、例えばRAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(flash memory)などの半導体メモリ素子、ハードディスク、光ディスクなどであり、各種情報を記憶する。具体的には、記憶部220は、図25に例示するように、VPN間接続情報記憶部221と、設定パターン記憶部222と、VPN間接続要求記憶部223と、アドレス変換情報記憶部224と、ルーティング情報記憶部225と、DNS登録情報記憶部226と、アタッチメント記憶部227と、装置情報記憶部228とを有する。
VPN間接続情報記憶部221は、VPN間接続情報を記憶する。ここで、VPN間接続情報には、拠点を識別する情報や、拠点を収容するVPN終端装置、NAT装置及び集合仮想ルータを識別する情報が含まれる。また、VPN間接続情報には、アドレス変換情報やルーティング情報の作成に必要なその他の情報も含まれる。VPN間接続情報記憶部221は、例えばVPN間接続管理システム200の利用者に入力されることで、VPN間接続情報を事前に記憶する。また、VPN間接続情報記憶部221が記憶するVPN間接続情報は、後述する仮想ルータ構築部232、変換用アドレス決定部233、ルーティング情報生成部235による処理などに利用される。なお、VPN間接続管理システム200の「利用者」には、電気通信事業者などの運用者と、企業内の情報システム部などの管理者とが含まれる。すなわち、以下では、「運用者」は、VPN間接続サービスの運用担当者を意味し、「管理者」は、例えば企業側で拠点の社内網を管理しているネットワーク管理者などを意味する用語として用いる。
図26は、VPN間接続情報記憶部221を説明するための図である。図26に例示するように、例えば、VPN間接続情報記憶部221は、VPN間接続情報として、集合仮想ルータの識別情報と、集合仮想ルータの設定パターンの識別情報とを対応付けて記憶する。例えば、集合仮想ルータの識別情報『集合仮想ルータ1』と、集合仮想ルータの設定パターンの識別情報『VR−P1』とを対応付けて記憶する。『集合仮想ルータ1』によって識別される集合仮想ルータの設定パターンは、『VR−P1』によって識別される設定パターンであることを示す。
また、VPN終端装置と集合仮想ルータとは予め対応付けられ、VPN終端装置が一意に特定されると、集合仮想ルータも一意に特定される関係にある。すなわち、物理的に1台の集合仮想ルータと、この集合仮想ルータにおいて一つ又は複数の仮想ルータを設定されるVPN終端装置とは、予め特定される関係にある(なお、本発明はこれに限られるものではなく、例えば、あるVPN終端装置が、複数台の集合仮想ルータそれぞれにおいて仮想ルータを設定されることも可能である)。このようなことから、例えば、VPN間接続情報記憶部221は、図26に例示するように、集合仮想ルータの識別情報ごとに、拠点(又は拠点のユーザ)を識別する識別情報(接続先ID(IDentifier)及び端末名)と、拠点が用いるVPN種別と、拠点が収容されるVPN終端装置の識別情報と、VPN終端装置の設定パターンの識別情報と、NAT装置の識別情報とを記憶する。
『接続先ID』は、例えばVPN間接続サービスの契約時などにVPN間接続管理システム200の運用者によって払い出され、VPN間接続情報記憶部221に格納される。また、『端末名』は、例えばVPN間接続サービスの契約時などにユーザからヒアリングされ、VPN間接続情報記憶部221に格納される。なお、図26に例示するように、VPN間接続情報記憶部221に格納される端末名は、『userA@vpn1.example.com』など、ドメイン名に仮想ルータ名を含まないものである。
『VPN種別』は、例えばVPN間接続サービスの契約時などにユーザからヒアリングされ、VPN間接続情報記憶部221に格納される。『VPN終端装置』は、例えばVPN間接続サービスの契約時などにVPN間接続管理システム200の運用者によって決定され、VPN間接続情報記憶部221に格納される。また、『VPN終端装置の設定パターン』は、例えばVPN間接続サービスの契約時などにVPN間接続管理システム200の運用者によって決定され、VPN間接続情報記憶部221に格納される。『NAT装置』は、例えばVPN間接続サービスの契約時などにVPN間接続管理システム200の運用者によって決定され、VPN間接続情報記憶部221に格納される。
例えば、接続先ID『UserA−Office』、端末名『α1@vpn1.example.com』、VPN種別『OpenVPN』、VPN終端装置『VPN終端装置1』、VPN終端装置の設定パターン『VPN−P1』、NAT装置『NAT装置1』の行について説明する。まず、『UserA−Office』によって識別される拠点(VPN間接続に用いられる端末の端末名は『α1@vpn1.example.com』)では、『OpenVPN』が用いられていることを示す。また、『UserA−Office』によって識別される拠点は『VPN終端装置1』に収容されること、また、VPN終端装置の設定パターンには『VPN−P1』が用いられることを示す。
また、『UserA−Office』によって識別される拠点は『NAT装置1』に収容されることを示す。
図25に戻り、設定パターン記憶部222は、VPN終端装置、NAT装置、及び転送制御装置の設定パターンを記憶する。具体的には、設定パターン記憶部222は、VPN終端装置に設定すべき設定情報がVPN間接続の種別に応じて定型化されたVPN終端装置の設定パターンを記憶する。また、設定パターン記憶部222は、集合仮想ルータに設定すべき設定情報がVPN間接続の種別に応じて定型化された集合仮想ルータの設定パターンを記憶する。また、設定パターン記憶部222は、NAT装置の設定パターンを記憶する。
設定パターン記憶部222は、例えばVPN間接続管理システム200の運用者に入力されることで、設定パターンを事前に記憶する。また、設定パターン記憶部222が記憶する設定パターンは、後述する変換用アドレス決定部233やルーティング情報生成部235による処理などに利用される。
図27は、集合仮想ルータの設定パターンの一例である。図27に例示するように、例えば、設定パターン記憶部222は、集合仮想ルータの設定パターンとして、設定パターンの各項目を管理するための項番と、設定情報を設定内容に応じて区分けする区分と、設定内容と、設定情報の登録タイミングと、削除タイミングと、設定内容の仕様とを対応付けて記憶する。また、図27に例示する設定パターンの内、項番1〜項番3が、設定情報の設定パターンであり、項番4が、オプション設定情報の設定パターンである。なお、オプション要求に関する設定情報を一般的な設定情報と区別して用いる場合には、『オプション設定情報』と呼ぶ。また、図27においては図示を省略するが、設定パターン記憶部222は、集合仮想ルータの設定パターンとして、所定のコマンド文をも記憶する。なお、設定パターンは、設定パターンの識別情報によって識別される。
例えば、項番1の行を説明する。区分『仮想ルータ定義』の設定パターンは、VPN間接続要求に基づいて仮想的に構築される伝送路(VPN)においてパケット転送を制御する「仮想ルータ」を定義するための設定パターンである。設定内容『仮想ルータ名』は、設定される「仮想ルータ」の名称であり、『半角英数字』で設定すべきことが、仕様として規定されている。また、設定内容『仮想ルータID』は、設定される「仮想ルータ」のIDであり、『16ビット数値』と『32ビット数値』とを『:(コロン)』で接続した形式で設定すべきことが、仕様として規定されている。なお、仕様は、例えば、該当する機器の製造業者などによって規定され、機器の利用者に提供されるもので、上記は一例であり、これに限定されない。また、登録タイミング『サービス開始直前』は、項番1の情報は、サービス開始直前にVPN終端装置に反映されるべきことを示す。また、削除タイミング『サービス終了直後』は、項番1の情報は、サービス終了直後にVPN終端装置から削除されるべきことを示す。
また、例えば、項番2の行を説明する。区分『I/F設定』の設定パターンは、「仮想ルータ」に設定されるインタフェースの設定パターンである。設定内容『IPアドレス』は、インタフェースに設定するIPアドレスは『数字.数字.数字.数字』のように数字をピリオドで区切った形式で設定すべきこと、数字は『0〜255』の値を設定すべきことが、仕様として規定されている。また、設定内容『I/Fの指定』は、インタフェースの指定は『I/Fの種別 数字/数字/数字』の形式で設定すべきことが、仕様として規定されている。また、設定内容『所属仮想ルータ』は、インタフェースを設定する仮想ルータ名を指定すべきことが、仕様として規定されている。また、登録タイミング『サービス開始直前』は、項番2の情報は、サービス開始直前にVPN終端装置に反映されるべきことを示す。また、削除タイミング『サービス終了直後』は、項番2の情報は、サービス終了直後にVPN終端装置から削除されるべきことを示す。
また、例えば、項番3の行を説明する。区分『仮想ルータ単位のルーティング設定』の設定パターンは、「仮想ルータ」に設定されるルーティング情報の設定パターンである。設定内容『ルーティング設定』は、ルーティング情報を設定する仮想ルータ名を指定すべきこと、ルーティング情報のIPアドレスは『数字.数字.数字.数字』のように数字をピリオドで区切った形式で設定すべきこと、数字は『0〜255』の値を設定すべきことが、仕様として規定されている。また、登録タイミング『サービス開始直前』は、項番3の情報は、サービス開始直前にVPN終端装置に反映されるべきことを示す。また、削除タイミング『サービス終了直後』は、項番3の情報は、サービス終了直後にVPN終端装置から削除されるべきことを示す。
また、例えば、項番4の行を説明する。区分『アクセス制御』の設定パターンは、「仮想ルータ」に設定されるアクセス制御の設定パターンである。設定内容『フィルタリング(ACL(Access Control List)など)』は、IPアドレスは『数字.数字.数字.数字』のように数字をピリオドで区切った形式で設定すべきこと、数字は『0〜255』の値を設定すべきこと、ポート番号は、数字で設定すべきこと、数字は『1〜65535』の値を設定すべきことが、仕様として規定されている。また、登録タイミング『サービス開始直前』は、項番4の情報は、サービス開始直前にVPN終端装置に反映されるべきことを示す。また、削除タイミング『サービス終了直後』は、項番4の情報は、サービス終了直後にVPN終端装置から削除されるべきことを示す。
図28は、VPN終端装置の設定パターンの一例である。図28に例示するように、例えば、設定パターン記憶部222は、VPN終端装置の設定パターンとして、設定パターンの各項目を管理するための項番と、設定情報を区分けする区分と、設定内容と、設定情報の登録タイミングと、削除タイミングと、設定内容の仕様とを対応付けて記憶する。また、図28に例示する設定パターンの内、項番1が、設定情報の設定パターンであり、項番2が、オプション設定情報の設定パターンである。また、図28においては図示を省略するが、設定パターン記憶部222は、VPN終端装置の設定パターンとして、所定のコマンド文をも記憶する。なお、設定パターンは、設定パターンの識別情報によって識別される。
例えば、項番1の行を説明する。区分『VPNユーザ設定』の設定パターンは、VPN間接続要求に基づいてVPN終端装置に収容する拠点のユーザに関する設定パターンである。設定内容『認証ID/パスワード』は、拠点のユーザに払い出される認証ID及びパスワードであり、認証ID及びパスワードは、『128文字以内』の『半角英数字』で設定すべきことが、仕様として規定されている。なお、『認証ID/パスワード』の替わりにその他の『認証情報』であってもよい。また、登録タイミング『サービス開始直前』は、項番1の情報は、サービス開始直前にVPN終端装置に反映されるべきことを示す。また、削除タイミング『サービス終了直後』は、項番1の情報は、サービス終了直後にVPN終端装置から削除されるべきことを示す。
また、例えば、項番2の行を説明する。区分『アクセス制御』の設定パターンは、「VPN終端装置」に設定されるアクセス制御の設定パターンである。設定内容『フィルタリング(ACLなど)』は、IPアドレスは『数字.数字.数字.数字』のように数字をピリオドで区切った形式で設定すべきこと、数字は『0〜255』の値を設定すべきこと、ポート番号は、数字で設定すべきこと、数字は『1〜65535』の値を設定すべきことが、仕様として規定されている。また、登録タイミング『サービス開始直前』は、項番2の情報は、サービス開始直前にVPN終端装置に反映されるべきことを示す。また、削除タイミング『サービス終了直後』は、項番2の情報は、サービス終了直後にVPN終端装置から削除されるべきことを示す。
また、図示を省略したが、設定パターン記憶部222は、NAT装置の設定パターンについても同様に記憶する。例えば、設定パターン記憶部222は、設定情報の登録タイミングと、削除タイミングと、設定内容の仕様とを対応付けて記憶する。例えば、IPアドレスは『数字.数字.数字.数字』のように数字をピリオドで区切った形式で設定すべきこと、数字は『0〜255』の値を設定すべきことなどが、仕様として規定される。また、例えば、『サービス開始直前』にNAT装置に反映されるべきこと、『サービス終了直後』にNAT装置から削除されるべきことなどが、仕様として規定される。また、設定パターン記憶部222は、NAT装置の設定パターンとして、所定のコマンド文をも記憶する。
なお、上記設定パターンはいずれも一例に過ぎず、VPN間接続の種別などによって、設定内容、設定情報の登録タイミング、削除タイミング、設定内容の仕様などは異なってくると考えられる。すなわち、例えば、VPN間接続の種別が『L3VPN』であれば、VPN間接続先とVPN間接続元とのIPアドレスの組や、IPsecの動作設定情報(認証方式や暗号化アルゴリズム)、事前秘密共有鍵などの項目も、設定パターンに定型化され得る。また、例えば、VPN間接続の種別が『L2VPN』であれば、VPN間接続先とVPN間接続元とのL2などのIDなどの項目も、設定パターンに定型化され得る。このように、設定パターンは、VPN間接続の種別などに応じて適切に定型化される。
図25に戻り、VPN間接続要求記憶部223は、VPN間接続要求情報を記憶する。VPN間接続要求記憶部223は、後述するVPN間接続要求受付部231によって格納されることで、VPN間接続要求情報を記憶する。また、VPN間接続要求記憶部223が記憶するVPN間接続要求情報は、後述する仮想ルータ構築部232、ルーティング情報生成部235による処理などに利用される。
図29は、VPN間接続要求記憶部223を説明するための図である。図29に例示するように、例えば、VPN間接続要求記憶部223は、VPN間接続要求情報として、VPN間接続サービスを開始すべきサービス開始時刻と、VPN間接続サービスを終了すべきサービス終了時刻と、VPN間接続が設定される仮想ルータ名と、VPN間接続に収容される拠点(又は拠点のユーザ)を識別する識別情報(端末名)とを対応付けて記憶する。なお、VPN間接続要求記憶部223が記憶する端末名は、仮想ルータ名で識別される仮想協働空間内で用いられる端末名として生成されたものであるので、図29に例示するように、ドメイン名に仮想ルータ名を含む。
例えば、サービス開始時刻『t1』と、サービス終了時刻『t3』と、仮想ルータ名『vrf1』と、端末名『α1@vrf1.vpn1.example.com』及び『β1@vrf1.vpn2.example.com』とを対応付けて記憶する。時刻『t1』から『t3』までの間、『α1@vrf1.vpn1.example.com』と『β1@vrf1.vpn2.example.com』とをVPN間接続するVPN間接続要求がなされ、当該VPN間接続が設定される仮想ルータ名が『vrf1』であることを示す。なお、説明の便宜上、サービス開始時刻やサービス終了時刻を『t1』、『t3』などと記載するが、例えば、『2009/8/21 13:00』といった具体的な年月日や時刻を示す。
図25に戻り、アドレス変換情報記憶部224は、予約情報及びアドレス変換情報を記憶する。ここで、アドレス変換情報とは、後述する変換用アドレス決定部233によって決定されたユーザ側アドレスと仮想ルータ側アドレスとがNAT装置を境界として相互に変換されるように、ユーザ側アドレスと仮想ルータ側アドレスとを変換する変換情報である。なお、ユーザ側アドレスとは、拠点にて用いられている拠点内アドレス、及び、当該拠点にて通信相手となる他拠点配下の端末を識別するための第一アドレスである。また、仮想ルータ側アドレスとは、広域ネットワークにてVPN間接続に属する各拠点配下の端末を識別するための第二アドレスである。
アドレス変換情報記憶部224は、後述する変換用アドレス決定部233によって格納されることで、予約情報及びアドレス変換情報を記憶する。また、アドレス変換情報記憶部224が記憶する予約情報及びアドレス変換情報は、アドレス変換情報設定部234による処理などに利用される。
図30は、アドレス変換情報記憶部224を説明するための図である。図30に例示するように、例えば、アドレス変換情報記憶部224は、予約情報として、VPN間接続サービスを開始すべきサービス開始時刻と、VPN間接続サービスを終了すべきサービス終了時刻とを記憶する。また、アドレス変換情報記憶部224は、予約情報と対応付けて、アドレス変換情報を記憶する。例えば、アドレス変換情報記憶部224は、アドレス変換情報として、VPN間接続を識別する仮想ルータ名と、NAT装置に設定されるアドレス変換テーブルとを対応付けて記憶する。
例えば、サービス開始時刻『t1』及びサービス終了時刻『t3』と対応付けて記憶されているアドレス変換情報は、仮想ルータ名『vrf1』によって識別される仮想ルータに関するアドレス変換情報である。
また、NAT装置1においては、ユーザ側アドレス『192.168.1.10』と仮想ルータ側アドレス『10.0.1.10』とを相互に変換すること、ユーザ側アドレス『172.16.2.10』と仮想ルータ側アドレス『10.0.2.10』とを相互に変換することを示す。ここで、ユーザ側アドレス『192.168.1.10』は、拠点にて用いられている拠点内アドレスであり、ユーザ側アドレス『172.16.2.10』は、当該拠点にて通信相手となる他拠点配下の端末を識別するためのアドレスである。
また、NAT装置2においては、ユーザ側アドレス『172.16.1.10』と仮想ルータ側アドレス『10.0.1.10』とを相互に変換すること、ユーザ側アドレス『192.168.1.10』と仮想ルータ側アドレス『10.0.2.10』とを相互に変換することを示す。
なお、図30においては、仮想ルータ名『vrf1』によって識別される仮想ルータに関するアドレス変換情報のみを例示したが、アドレス変換情報記憶部224は、VPN間接続管理システム200によって構築された他の仮想ルータに関するアドレス変換情報も記憶している。
また、図30においては図示を省略したが、アドレス変換情報記憶部224は、実施例2において図7−1及び図7−2を用いて説明したように、拠点毎に、少なくともアドレス空間a(プライベートアドレス全体のアドレス空間)及びアドレス空間b(拠点A内で利用されているプライベートアドレスのアドレス空間)を記憶する。
なお、ルーティング情報生成部235は、オンデマンドに構築されるVPN間接続に応じて、集合仮想ルータのインタフェースに設定するアドレス、VPN終端装置のインタフェースに設定するアドレス、NAT装置のインタフェースに設定するアドレスを割り当てるが、変換用アドレス決定部233は、各機器のインタフェースに割り当てられたこれらのアドレスとも重複しないように変換用のアドレスを決定しなければならない。このため、アドレス変換情報記憶部224が、各機器のインタフェースにアドレスが割り当てられた段階でこれらのアドレスを記憶しておくことで、変換用アドレス決定部233は、アドレス変換情報記憶部224を参照し、各機器のインタフェースに割り当てられた(あるいは割り当てられる)これらのアドレスと重複しないように、変換用のアドレスを決定することができる。
図25に戻り、ルーティング情報記憶部225は、予約情報及びルーティング情報を記憶する。ルーティング情報記憶部225は、後述する仮想ルータ構築部232及びルーティング情報生成部235によって格納されることで、予約情報及びルーティング情報を記憶する。また、ルーティング情報記憶部225が記憶する予約情報及びルーティング情報は、ルーティング情報設定部236による処理などに利用される。
図31及び図32は、ルーティング情報記憶部225を説明するための図である。図31に例示するように、例えば、ルーティング情報記憶部225は、予約情報として、VPN間接続サービスを開始すべきサービス開始時刻と、VPN間接続サービスを終了すべきサービス終了時刻とを記憶する。また、ルーティング情報記憶部225は、予約情報と対応付けて、ルーティング情報を記憶する。例えば、ルーティング情報記憶部225は、集合仮想ルータに設定される設定情報(ルーティング情報を含む)を設定ファイルの形式で記憶し、VPN終端装置に設定される設定情報を設定ファイルの形式で記憶し、NAT装置に設定される設定情報を設定ファイルの形式で記憶する。
例えば、図32の(A)は、集合仮想ルータに設定される設定情報の一部を例示するものである。また、例えば、図32の(B)は、VPN終端装置に設定される設定情報の一部を例示するものである。例えば、図32の(C)は、NAT装置に設定される設定情報の一部を例示するものである。
図25に戻り、DNS登録情報記憶部226は、DNS登録情報を記憶する。DNS登録情報記憶部226は、後述するDNS登録情報生成部237によって格納されることで、DNS登録情報を記憶する。また、DNS登録情報記憶部226が記憶するDNS登録情報は、後述するDNS登録部238による処理などに利用される。
図33は、DNS登録情報記憶部226を説明するための図である。図33に例示するように、例えば、DNS登録情報記憶部226は、通信相手となる他拠点配下の端末を識別するための第一アドレスと、端末名との組を示すDNS登録情報として、Aレコード「β1 IN A 172.16.2.10」や「α1 IN A 172.16.1.10」を記憶する。ここで、「β1」や「α1」が端末名であり、「172.16.2.10」や「172.16.1.10」が第一アドレスである。なお、Aレコードの記載としてドメイン名を省略することができるので、単に「β1」や「α1」と記載されているが、DNS登録情報に用いられる端末名は、仮想ルータ名で識別される仮想協働空間内で用いられる端末名として生成されたものであるので、ドメイン名に仮想ルータ名を含むものである。
図25に戻り、アタッチメント記憶部227は、集合仮想ルータごと、VPN終端装置ごと、NAT装置ごとに、アタッチメントを記憶する。また、アタッチメント記憶部227は、DNS装置についてもアタッチメントを記憶する。ここで、アタッチメントとは、アドレス変換情報をNAT装置に反映するためのプログラム、ルーティング情報をVPN終端装置及び集合仮想ルータに対して反映するためのプログラム、DNS登録情報をDNS装置に対して反映するためのプログラム、及び、NAT装置に対して反映されたアドレス変換情報を削除するためのプログラム、VPN終端装置及び集合仮想ルータに対して反映されたルーティング情報を削除するためのプログラム、DNS装置に対して反映されたDNS登録情報を削除するためのプログラムである。
また、アタッチメントには、VPN間接続管理システム200とNAT装置との間で用いられる通信プロトコル、VPN間接続管理システム200とVPN終端装置との間で用いられる通信プロトコルや、VPN間接続管理システム200と集合仮想ルータとの間で用いられる通信プロトコル、あるいは、VPN間接続管理システム200とDNS装置との間で用いられる通信プロトコルが規定される。なお、一般に、当該通信プロトコルには、NAT装置のベンダ、VPN終端装置のベンダや集合仮想ルータのベンダ、あるいはDNS装置によって規定される独自仕様の通信プロトコルが用いられる。アタッチメント記憶部227は、例えばVPN間接続管理システム200の運用者に入力されることで、アタッチメントを事前に記憶する。また、アタッチメント記憶部227が記憶するアタッチメントは、後述するアドレス変換情報設定部234、ルーティング情報設定部236、DNS登録部238及び削除部239による処理に利用される。
図34は、アタッチメント記憶部227を説明するための図である。図34に例示するように、例えば、アタッチメント記憶部227は、集合仮想ルータ、VPN終端装置やNAT装置、あるいはDNS装置(図示を省略)の装置識別情報とアタッチメントとを対応付けて記憶する。例えば、反映用のアタッチメントには、NAT装置、VPN終端装置、集合仮想ルータやDNS装置にログインするためのID/パスワードや、アドレス変換情報やルーティング情報、DNS登録情報を格納すべきパスを指定し、指定したパスにアドレス変換情報やルーティング情報、DNS登録情報を格納するためのコマンド、NAT装置、VPN終端装置や集合仮想ルータ、DNS装置を再起動させるコマンドなどが記載される。なお、アドレス変換情報やルーティング情報、DNS登録情報の反映には、格納して再起動することで反映する場合と、格納によって反映する場合とがある。また、反映用のアタッチメントには、VPN間接続管理システム200とNAT装置との間で用いられる通信プロトコル、VPN間接続管理システム200とVPN終端装置との間で用いられる通信プロトコルや、VPN間接続管理システム200と集合仮想ルータとの間で用いられる通信プロトコル、VPN間接続管理システム200とDNS装置との間で用いられる通信プロトコルが規定される。
また、例えば、削除用のアタッチメントには、NAT装置、VPN終端装置や集合仮想ルータ、DNS装置にログインするためのID/パスワードや、アドレス変換情報やルーティング情報、DNS登録情報が格納されているパスからアドレス変換情報やルーティング情報、DNS登録情報を削除するためのコマンド、NAT装置、VPN終端装置や集合仮想ルータ、DNS装置を再起動させるコマンドなどが記載される。また、削除用のアタッチメントには、VPN間接続管理システム200とNAT装置との間で用いられる通信プロトコル、VPN間接続管理システム200とVPN終端装置との間で用いられる通信プロトコルや、VPN間接続管理システム200と集合仮想ルータとの間で用いられる通信プロトコル、VPN間接続管理システム200とDNS装置との間で用いられる通信プロトコルが規定される。
図25に戻り、装置情報記憶部228は、VPN終端装置に事前設定されたVPN終端装置の事前設定情報、及び、集合仮想ルータに事前設定された集合仮想ルータの事前設定情報を記憶する。装置情報記憶部228は、例えばVPN間接続管理システム200の運用者に入力されることで、VPN終端装置の事前設定情報及び集合仮想ルータの事前設定情報を事前に記憶する。また、装置情報記憶部228が記憶する事前設定情報は、後述するルーティング情報生成部235による処理などに利用される。
図35は、集合仮想ルータの事前設定情報を説明するための図である。図35に例示するように、例えば、装置情報記憶部228は、集合仮想ルータの事前設定情報として、ホスト名(又はルータ名)及びパスワードを記憶する。「ホスト名」は、集合仮想ルータの名称であり、例えば『jpn100』といった名称である。「パスワード」は、集合仮想ルータにログインするためのパスワードであり、例えば『rootroot』といったパスワードである。
図36は、VPN終端装置の事前設定情報を説明するための図である。図36に例示するように、例えば、装置情報記憶部228は、VPN終端装置の事前設定情報として、ホスト名(又はルータ名)、パスワード、VPN終端装置ID、VPN種別、集合仮想ルータ向けIPアドレス、サーバモードを記憶する。また、図36においては図示を省略するが、装置情報記憶部228は、事前設定情報として、例えば、サーバ側待ち受けIPアドレス、プロトコル、ポート番号なども記憶する。
「ホスト名」は、VPN終端装置の名称であり、例えば『jpn1』といった名称である。「パスワード」は、VPN終端装置にログインするためのパスワードであり、例えば『rootroot』といったパスワードである。「VPN終端装置ID」は、VPN終端装置を識別するIDであり、例えば『VPN終端装置1』といったIDである。「VPN種別」は、VPN種別であり、例えば『OpenVPN』といった種別である。
「集合仮想ルータ向けIPアドレス」は、拠点から送出されたパケットを集合仮想ルータに向けて送出する際に転送すべきIPアドレスであり、集合仮想ルータに仮想ルータが構築され、集合仮想ルータのインタフェースにIPアドレスが割り当てられて初めて決定するものである。このため、図36においては、未だ割り当てられていないという意味で空欄とする。サーバモードは、VPN終端装置が選択したルーティング方式であり、例えばOpenVPNを用いる場合、ルーティング方式には『routing』と『bridge』とがある。
図25に戻り、制御部230は、VPN間接続管理システム200において実行される各種処理を制御する。具体的には、図25に例示するように、制御部230は、VPN間接続要求受付部231と、仮想ルータ構築部232と、変換用アドレス決定部233と、アドレス変換情報設定部234と、ルーティング情報生成部235と、ルーティング情報設定部236と、DNS登録情報生成部237と、DNS登録部238と、削除部239とを有する。
VPN間接続要求受付部231は、VPN間接続要求を受け付ける。具体的には、例えば、インターネットなどのネットワークにユーザ用のWebサーバが設置され、VPN間接続要求受付部231は、ユーザ用の入力画面をWebサーバに配信する。ここで、ユーザ用の入力画面とは、VPN間接続を行うVPNの管理者から、そのVPN間接続要求を受け付けるために、VPN間接続サービスを提供する電気通信事業者などが提供するものである。すると、例えば拠点それぞれの管理者が、当該Webサーバにアクセスし、ユーザ用の入力画面にVPN間接続要求を入力することで、VPN間接続要求受付部231は、VPN間接続要求の入力を受け付け、受け付けたVPN間接続要求をVPN間接続要求記憶部223に格納する。
図37は、VPN間接続要求の入力画面の一例を説明するための図である。例えば、VPN間接続要求受付部231は、まず、図37の(A)に例示する入力画面を出力する。入力画面には、仮想ルータ名の入力を受け付ける枠、及び、パスワードの入力を受け付ける枠が設けられる。なお、仮想ルータ名及びパスワードは、例えば、同じ協働空間に属する予定の『A社』と『B社』との間で、オフラインで決定されるなどする。こうして、例えば、図37の(A)に例示するように、『A社』の管理者が仮想ルータ名『vrf1』及びパスワードを入力すると、VPN間接続要求受付部231は、仮想ルータ名として『vrf1』を受け付け、続いて、『A社』に関する情報を受け付ける。なお、VPN間接続要求として仮想ルータ名の入力を受け付ける例を説明するが、これに限られるものではなく、例えば、VPN間接続管理システム200側で仮想ルータ名を自動的に割り当ててもよい。
また、図37の(B)に例示するように、図37の(A)に例示する入力画面に続く次の入力画面には、接続先ID及び端末名の入力を受け付ける枠が設けられる。例えば、『A社』の管理者が、接続先IDとして『UserA−Office』を入力し、端末名として『α1@vpn1.example.com』を入力すると、VPN間接続要求受付部231は、仮想ルータ名『vrf1』によってVPN間接続される『A社』側の端末として『α1@vpn1.example.com』を受け付ける。なお、例えば『More』のボタンが管理者によって押下されると、VPN間接続要求受付部231は、入力画面上に、端末名の入力を受け付ける枠をさらに設ける。
また、入力画面には、予約時間の年月日及び時刻の入力を受け付ける枠が設けられる。例えば、図37の(B)に例示するように、管理者が、予約時間『2009.8.21 13:00』〜『2009.8.21 15:00』を入力すると、VPN間接続要求受付部231は、VPN間接続サービス開始時刻として『2009.8.21 13:00』、VPN間接続サービス終了時刻として『2009.8.21 15:00』を受け付ける。
さて、図37の(B)に例示する入力画面において、例えば『OK』ボタンが管理者によって押下されると、VPN間接続要求受付部231は、VPN間接続要求の受け付けを終了する。なお、この後、『B社』の管理者も同様に、仮想ルータ名『vrf1』によってVPN間接続される端末として『β1@vpn2.example.com』を入力する。
例えば、『B社』の管理者が、入力画面に仮想ルータ名『vrf1』及びパスワードを入力すると、VPN間接続要求受付部231は、仮想ルータ名として『vrf1』を受け付ける。ここで、仮想ルータ名『vrf1』によって識別されるVPN間接続については、既に『A社』の管理者が予約時間の年月日及び時刻の入力を済ませているので、例えば、VPN間接続要求受付部231は、図37の(B)に例示する入力画面のうち、予約時間の年月日及び時刻が入力された状態の入力画面を出力してもよい。すると、例えば、『B社』の管理者が、接続先IDとして『UserB−Office』を入力し、端末名として『β1@vpn2.example.com』を入力すると、VPN間接続要求受付部231は、仮想ルータ名『vrf1』によってVPN間接続される『B社』側の端末として『β1@vpn2.example.com』を受け付ける。こうして、『端末α』と『端末β』とを接続するためのVPN間接続要求として、仮想ルータ名『vrf1』によって識別されるVPN間接続要求が受け付けられる。
なお、VPN間接続要求受付部231は、受け付けたVPN間接続要求をVPN間接続要求記憶部223に格納するが、このとき、仮想ルータ名『vrf1』が判明している場合には、VPN間接続要求受付部231は、入力された端末名をそのままをVPN間接続要求記憶部223に格納するのではなく、仮想協働空間内で用いられる端末名として、ドメイン名に仮想ルータ名を含ませた端末名を新たに生成し、新たに生成した端末名をVPN間接続要求記憶部223に格納する。
なお、ユーザ用の入力画面にVPN間接続要求を入力させる手法を説明したが、本発明はこれに限られるものではない。例えば、VPN間接続サービスを提供する電気通信事業者などの運用者が、VPN間接続管理システム200の出力部212に出力された入力画面に直接VPN間接続要求を入力する手法でもよい。
仮想ルータ構築部232は、VPN間接続要求に基づき、集合仮想ルータに仮想ルータを構築する。具体的には、仮想ルータ構築部232は、VPN間接続要求受付部231によって受け付けられたVPN間接続要求に基づき、集合仮想ルータに構築すべき仮想ルータ名を決定する。また、仮想ルータ構築部232は、集合仮想ルータに設定する設定情報のうち仮想ルータの構築情報を生成し、生成した仮想ルータの構築情報を予約情報とともにルーティング情報記憶部225に格納する。また、仮想ルータ構築部232は、変換用アドレス決定部233に、アドレス変換情報を生成すべき旨を通知する。
例えば、仮想ルータ構築部232は、VPN間接続要求記憶部223(図29に例示)を定期的に参照し、現在時刻とサービス開始時刻とを比較して、仮想ルータを構築すべきタイミングであるか否かを判定する。例えば、仮想ルータ構築部232は、現在時刻とサービス開始時刻『t1』とを比較して、仮想ルータを構築すべきタイミングであるか否かを判定する。
次に、仮想ルータ構築部232は、仮想ルータを構築すべきタイミングであると判定すると、VPN間接続要求記憶部223を参照し、サービス開始時刻に対応付けて記憶されている仮想ルータ名及び端末名を取得する。例えば、仮想ルータ構築部232は、サービス開始時刻『t1』に対応付けて記憶されている仮想ルータ名『vrf1』、並びに、端末名『α1@vrf1.vpn1.example.com』及び『β1@vrf1.vpn2.example.com』を取得する。
そして、仮想ルータ構築部232は、取得した端末名(ただし、ドメイン名に仮想ルータ名を含まない端末名)を用いてVPN間接続情報記憶部221(図26に例示)を参照し、端末名によって識別される拠点が収容される集合仮想ルータを特定し、設定パターンの識別情報を取得する。例えば、仮想ルータ構築部232は、集合仮想ルータ『集合仮想ルータ1』を特定し、設定パターンの識別情報『VR−P1』を取得する。
続いて、仮想ルータ構築部232は、取得した設定パターンの識別情報を用いて設定パターン記憶部222(図27に例示)を参照し、区分『仮想ルータ定義』に対応付けて記憶されている仕様を取得する。ここで、図27には例示しなかったが、設定パターン記憶部222は、設定パターンの一つとして、設定情報を集合仮想ルータに反映するための所定のコマンド文も集合仮想ルータごとに記憶する。このため、仮想ルータ構築部232は、該当する所定のコマンド文も取得する。
そして、仮想ルータ構築部232は、VPN間接続要求記憶部223(図29に例示)を参照してサービス開始時刻及びサービス終了時刻を取得し、取得したサービス開始時刻及びサービス終了時刻をルーティング情報記憶部225(図31に例示)に格納する。例えば、仮想ルータ構築部232は、サービス開始時刻『t1』及びサービス終了時刻『t3』をルーティング情報記憶部225に格納する。
次に、仮想ルータ構築部232は、取得した仕様やコマンド文を用いて仮想ルータの構築情報をファイルに記載し、サービス開始時刻及びサービス終了時刻に対応付けてルーティング情報記憶部225に格納する。例えば、仮想ルータ構築部232は、仮想ルータ名『vrf1』を、取得した所定のコマンド文を用いて『ip vrf vrf1』と記載したファイルを作成する。また、仮想ルータ構築部232は、作成したファイルに、図27に例示する仕様に従って決定した仮想ルータID『100:10』を、所定のコマンド文を用いて『rd 100:10』と記載する。そして、仮想ルータ構築部232は、作成したファイルをサービス開始時刻『t1』及びサービス終了時刻『t3』に対応付けてルーティング情報記憶部225に格納する(図32の(A)を参照)。
変換用アドレス決定部233は、VPN間接続要求に基づき、VPN間接続に用いられるアドレスを決定する。具体的には、変換用アドレス決定部233は、VPN間接続要求受付部231によって受け付けられたVPN間接続要求に基づき、VPN間接続に用いられるアドレスを決定し、アドレス変換情報を生成する。
ここで、変換用アドレス決定部233は、通信相手となる他拠点配下の端末を拠点にて識別するためのアドレス(以下「第一アドレス」)を、VPN間接続を利用する時間帯と重複する時間帯に該当する拠点内で通信相手となり得る端末の中で一意となるように決定する。また、変換用アドレス決定部233は、VPN間接続に属する各拠点配下の端末を集合仮想ルータにて識別するアドレス(以下「第二アドレス」)を、VPN間接続を利用する時間帯と重複する時間帯に該当するVPN間接続として制御され得る端末の中で一意となるように決定する。また、変換用アドレス決定部233は、決定した二つのアドレスがNAT装置を境界として相互に変換されるようにアドレス変換情報を生成する。
ここで、VPN間接続管理システム200は、上述したように、拠点毎に、少なくともアドレス空間a及びアドレス空間bを記憶する。また、アドレス変換情報記憶部224は、各機器のインタフェースにアドレスが割り当てられた段階で、これらのアドレスも記憶する。
このため、変換用アドレス決定部233は、アドレス変換情報記憶部224を参照し、既に予約されたアドレスを時間軸上で探索する。以下、実施例2において図7−1及び図7−2に例示したアドレス空間を用いて説明すると、変換用アドレス決定部233は、第一アドレスを決定する際には、まず、アドレス空間aから、アドレス空間bを除くアドレス空間を求め、次に、アドレス空間dに優先して決定されたアドレス空間cを除くアドレス空間を求め、このアドレス空間が、すなわちアドレス空間dであるので、このアドレス空間dのうち、あるVPN間接続を利用する時間帯について既に払い出された(あるいは予約された)第一アドレス(すなわちアドレス空間d1)以外のアドレス空間(すなわちアドレス空間d2)から、第一アドレスを決定する。また、変換用アドレス決定部233は、第二アドレスを決定する際には、まず、アドレス空間aから、アドレス空間dに優先して決定されたアドレス空間cを除くアドレス空間を求め、このアドレス空間が、すなわちアドレス空間b及びアドレス空間dであるので、このアドレス空間b及びアドレス空間dのうち、あるVPN間接続について既に払い出された(あるいは予約された)第二アドレス(すなわちアドレス空間d1´)以外のアドレス空間(すなわちアドレス空間b及びアドレス空間d2´)から、第二アドレスを決定する。
また、変換用アドレス決定部233は、上記実施例1〜3で説明したアドレス変換管理部133と同様の機能も有する。すなわち、変換用アドレス決定部233は、端末のユーザを認証し、拠点内アドレスを端末から取得し、決定した第一アドレス及び第二アドレスと、端末から取得した拠点内アドレスとを用いてアドレス変換情報を生成する。
また、変換用アドレス決定部233は、生成したアドレス変換情報を予約情報とともにアドレス変換情報記憶部224に格納する。また、変換用アドレス決定部233は、ルーティング情報生成部235に、ルーティング情報を含む設定情報を生成すべき旨を通知する。また、変換用アドレス決定部233は、DNS登録情報生成部237に、DNS登録情報を生成すべき旨を通知する。
例えば、変換用アドレス決定部233は、仮想ルータ構築部232からアドレス変換情報を生成すべき旨の通知を受けると、アドレス変換情報記憶部224(図30に例示)を参照し、通信相手となる他拠点配下の端末を拠点にて識別するための第一アドレスを決定する。
例えば、変換用アドレス決定部233は、VPN接続要求として取得した端末名を用いてVPN間接続情報記憶部221(図26に例示)を参照し、この端末が属する拠点の接続先ID『UserA−Office』を取得する。そして、変換用アドレス決定部233は、接続先ID『UserA−Office』に属する端末名(ただし、仮想協働空間内で用いられる端末名であってドメイン名に仮想ルータ名を含むもの)、並びに、サービス開始時刻『t1』及びサービス終了時刻『t3』を用いてアドレス変換情報記憶部224を検索し、重複する時間帯に、接続先ID『UserA−Office』に関するアドレス変換情報が存在すれば、これを全て取得する。また、変換用アドレス決定部233は、プライベートアドレス全体の値、及び、各機器のインタフェースに割り当てられるアドレスとして予め確保されたアドレスも取得する。このとき、変換用アドレス決定部233は、全ての仮想ルータに対応付けて記憶されたアドレス変換情報を対象として検索する。
次に、変換用アドレス決定部233は、取得したアドレス変換情報を解析し、接続先ID『UserA−Office』によって識別される拠点にて、通信相手となる他拠点配下の端末を識別するためのアドレスとして用いられているユーザ側アドレスを全て抽出する。そして、変換用アドレス決定部233は、抽出したユーザ側アドレスと重複しないように、また、各機器のインタフェースに割り当てられるアドレスとして予め確保されたアドレスとも重複しないように、接続先ID『UserA−Office』によって識別される拠点にて端末名『β1@vpn2.example.com』を識別するための第一アドレスを決定する。例えば、変換用アドレス決定部233は、『172.16.2.10』を決定する。
続いて、変換用アドレス決定部233は、接続先ID『UserA−Office』及び端末名『α1@vpn1.example.com』を用いてVPN間接続情報記憶部221(図26に例示)を参照し、『NAT装置1』を取得する。そして、変換用アドレス決定部233は、端末のユーザを認証し、拠点内アドレス『192.168.1.10』を端末から取得すると、図30の1行目に例示するように、『NAT装置1』に対応付けて、『192.168.1.10』と『172.16.2.10』とをユーザ側アドレスとして格納する。なお、変換用アドレス決定部233は、接続先ID『UserB−Office』についても同様に第一アドレスを決定し、図30の1行目に例示するように、『NAT装置2』に対応付けて、『172.16.1.10』と『192.168.1.10』とをユーザ側アドレスとして格納する。
また、例えば、変換用アドレス決定部233は、アドレス変換情報記憶部224(図30に例示)を参照し、集合仮想ルータにてVPN間接続に属する各拠点配下の端末を識別するための第二アドレスを決定する。
例えば、変換用アドレス決定部233は、VPN間接続を識別する仮想ルータ名『vrf1』、並びに、サービス開始時刻『t1』及びサービス終了時刻『t3』を用いてアドレス変換情報記憶部224を検索し、重複する時間帯に、仮想ルータ名『vrf1』に関するアドレス変換情報が存在すれば、これを全て取得する。すなわち、変換用アドレス決定部233は、仮想ルータ名『vrf1』に対応付けて記憶されたアドレス変換情報を対象として検索する。
次に、変換用アドレス決定部233は、取得したアドレス変換情報を解析し、仮想ルータ名『vrf1』に関するアドレス変換情報として用いられている仮想ルータ側アドレスを全て抽出する。そして、変換用アドレス決定部233は、抽出した仮想ルータ側アドレスと重複しないように、また、各機器のインタフェースに割り当てられるアドレスとして予め確保されたアドレスとも重複しないように、端末名『α1@vrf1.vpn1.example.com』及び『β1@vrf1.vpn2.example.com』によって識別される端末を集合仮想ルータにて識別するための第二アドレスを決定する。例えば、変換用アドレス決定部233は、『10.0.1.10』及び『10.0.2.10』を決定する。
続いて、変換用アドレス決定部233は、図30の1行目に例示するように、『NAT装置1』及び『NAT装置2』に対応付けて、『10.0.1.10』と『10.0.2.10』とを仮想ルータ側アドレスとして格納する。
そして、変換用アドレス決定部233は、決定した二つのアドレスがNAT装置を境界として相互に変換されるようにアドレス変換情報を生成する。例えば、変換用アドレス決定部233は、設定パターン記憶部222を参照し、アドレス変換情報の仕様、及び、アドレス変換情報をNAT装置に反映するための所定のコマンド文を取得する。そして、変換用アドレス決定部233は、取得した仕様及びコマンド文を用いて、図30の1行目に例示するアドレス変換テーブルからアドレス変換情報を生成する。なお、使用後アドレスは再度利用できるため、未使用扱いとする。
アドレス変換情報設定部234は、アドレス変換情報をNAT装置に設定する。具体的には、アドレス変換情報設定部234は、変換用アドレス決定部233によって決定された第一アドレスと第二アドレスとが、また、拠点内アドレスと第二アドレスとが、NAT装置を境界として相互に変換されるように、アドレス変換情報をNAT装置に設定する。
例えば、アドレス変換情報設定部234は、アドレス変換情報記憶部224(図30に例示)を定期的に参照し、現在時刻とサービス開始時刻とを比較して、アドレス変換情報を設定すべきタイミングであるか否かを判定する。例えば、アドレス変換情報設定部234は、現在時刻とサービス開始時刻『t1』とを比較して、アドレス変換情報を設定すべきタイミングであるか否かを判定する。
次に、アドレス変換情報設定部234は、アドレス変換情報を設定すべきタイミングであると判定すると、アドレス変換情報記憶部224を参照し、サービス開始時刻に対応付けて記憶されているアドレス変換情報を取得する。例えば、アドレス変換情報設定部234は、『NAT装置1』及び『NAT装置2』に対応付けて記憶されているアドレス変換テーブルを取得する。
そして、アドレス変換情報設定部234は、アタッチメント記憶部227(図34に例示)を参照し、該当するアタッチメントを取得し、取得したアタッチメントを用いて、該当するNAT装置にアドレス変換情報を送信する。例えば、アドレス変換情報設定部234は、『NAT装置1』及び『NAT装置2』を用いてアタッチメント記憶部227を参照し、アタッチメント『NAT1.exe』及び『NAT2.exe』を取得する。続いて、アドレス変換情報設定部234は、取得したアタッチメント『NAT1.exe』を用いて、アドレス変換情報記憶部224において『NAT装置1』に対応付けて記憶されているアドレス変換情報を『NAT装置1』に送信する。また、アドレス変換情報設定部234は、取得したアタッチメント『NAT2.exe』を用いて、アドレス変換情報記憶部224において『NAT装置2』に対応付けて記憶されているアドレス変換情報を『NAT装置2』に送信する。
なお、アドレス変換情報設定部234は、VPN間接続サービスを開始する時刻にアドレス変換情報の設定を開始するものとして説明するが、これに限られるものではない。VPN間接続サービスを開始する時刻として予約を受け付けた時刻には即時にVPN間接続が実現されるように、例えば、アドレス変換情報の設定に要する時間を予め予測し、『サービス開始時刻』から、予測した当該時間を差し引いた時刻を、アドレス変換情報の反映を開始する時刻としてもよい。例えば、変換用アドレス決定部233が、アドレス変換情報記憶部224に予約時間とアドレス変換情報とを格納する際に、アドレス変換情報の設定に要する時間を差し引いた時刻も併せて格納し、アドレス変換情報設定部234が、当該時刻であるか否かを判定してアドレス変換情報の設定を開始してもよい。
ルーティング情報生成部235は、VPN間接続要求及びアドレス変換情報に基づき、ルーティング情報を生成する。具体的には、ルーティング情報生成部235は、各機器(集合仮想ルータ、VPN終端装置、NAT装置)のインタフェースに設定するアドレスを、予め確保されたアドレスの中から割り当てる。また、ルーティング情報生成部235は、変換用アドレス決定部233によって決定されたアドレス変換情報に基づきルーティング情報を生成する。また、ルーティング情報生成部235は、生成したルーティング情報を予約情報とともにルーティング情報記憶部225に格納する。なお、既に仮想ルータ構築部232が、仮想ルータの構築情報をファイルに記載してルーティング情報記憶部225に格納しているので、ルーティング情報生成部235は、このファイルに、ルーティング情報(VPN終端装置(Next Hop)へのルーティング情報)などを追記することになる。また、ルーティング情報生成部235は、VPN終端装置のファイルには、集合仮想ルータ(Next Hop)へのルーティング情報など、NAT装置のファイルには、パケットの転送情報などを記載することになる。
まず、集合仮想ルータの設定情報の生成について説明する。例えば、ルーティング情報生成部235は、変換用アドレス決定部233からルーティング情報を含む設定情報を生成すべき旨の通知を受けると、アドレス変換情報記憶部224(図30に例示)を参照し、NAT装置側I/Fに設定すべきアドレスを決定する。例えば、ルーティング情報生成部235は、NAT装置1側のI/Fとして『10.0.10.97』を決定し、NAT装置2側のI/Fとして『10.0.20.97』を決定する。
また、ルーティング情報生成部235は、設定パターン記憶部222(図27に例示)を参照し、区分『I/Fの設定』及び『仮想ルータ単位のルーティング設定』に対応付けて記憶されている仕様を取得する。ここで、図27には例示しなかったが、設定パターン記憶部222は、設定パターンの一つとして、設定情報を集合仮想ルータに反映するための所定のコマンド文も集合仮想ルータごとに記憶する。このため、ルーティング情報生成部235は、該当する所定のコマンド文も取得する。
そして、ルーティング情報生成部235は、『数字.数字.数字.数字』の仕様に従って「IPアドレス」を決定する。また、例えば、ルーティング情報生成部235は、図27に例示する設定パターンを参照し、『I/Fの種別 数字/数字/数字』の仕様に従って「I/Fの指定」を決定する。
例えば、ルーティング情報生成部235は、NAT装置1と接続するインタフェースに設定するIPアドレスとして『10.0.10.97 255.255.255.0』を決定し、I/Fの指定として『GigabitEthernet(登録商標)1/0/0』を決定する。また、例えば、ルーティング情報生成部235は、NAT装置2と接続するインタフェースに設定するIPアドレスとして『10.0.20.97 255.255.255.0』を決定し、I/Fの指定として『GigabitEthernet(登録商標)2/0/0』を決定する。
次に、ルーティング情報生成部235は、アドレス変換情報記憶部224を参照し、NAT装置に対応付けて記憶されている仮想ルータ側アドレスを取得する。例えば、ルーティング情報生成部235は、NAT装置『NAT装置1』と対応付けて記憶されている仮想ルータ側アドレス『10.0.1.10』及び『10.0.2.10』を取得する。
そして、例えば、ルーティング情報生成部235は、図32の(A)に示すように、NAT装置1と接続するインタフェースに設定するIPアドレスとして決定した『10.0.10.97 255.255.255.0』を、所定のコマンド文を用いて『ip address 10.0.10.97 255.255.255.0』と記載する。また、例えば、ルーティング情報生成部235は、I/Fの指定として決定した『GigabitEthernet(登録商標)1/0/0』を、所定のコマンド文を用いて『interface GigabitEthernet(登録商標)1/0/0』と記載する。その他、ルーティング情報生成部235は、インタフェースを仮想ルータ『vrf1』に所属させるコマンドとして、『ip vrf forwarding vrf1』と記載する。なお、ルーティング情報生成部235は、NAT装置2と接続するインタフェースについても同様に記載する。
また、ルーティング情報生成部235は、いわゆるルーティング情報であるルーティング設定コマンドを記載する。ここで、NextHopはNAT装置である。例えば、ルーティング情報生成部235は、仮想ルータ名『vrf1』と、『10.0.1.0 255.255.255.0』と、IPアドレス『10.0.10.98』とを用いて、図27に例示する仕様に従い所定のコマンド文を用いて『ip route vrf vrf1 10.0.1.0 255.255.255.0 10.0.10.98』と記載する。なお、ルーティング情報生成部235は、NAT装置2と接続するインタフェースについても同様に記載する。
次に、VPN終端装置の設定情報の生成について説明する。ルーティング情報生成部235は、VPN間接続要求受付部231によって受け付けられた接続先IDを用いてVPN間接続情報記憶部221を参照し、接続先IDそれぞれと対応付けて記憶されているVPN終端装置の設定パターンの識別情報を取得する。そして、ルーティング情報生成部235は、VPN終端装置の設定パターンの識別情報それぞれを用いて設定パターン記憶部222を参照し、設定パターン記憶部222に記憶されたVPN終端装置の設定パターンの中から設定情報の生成に利用すべきVPN終端装置の設定パターンを選択する。そして、ルーティング情報生成部235は、選択した設定パターンを用いて設定情報を生成する。
例えば、ルーティング情報生成部235は、VPN終端装置のI/F(拠点側及び集合仮想ルータ側)に設定すべきアドレスを決定し、決定したアドレスを用いてルーティング情報を生成する。例えば、ルーティング情報生成部235は、図32の(B)に示すように、『VPN終端装置1』のルーティング情報を生成する。図32(B)の最初の4行は、『VPN終端装置1』のインタフェースにアドレスを設定するコマンドである。また、図32(B)の5行目は、NextHopを『NAT装置1』とするためのルーティング設定コマンドである。
次に、NAT装置の設定情報の生成について説明する。なお、図27及び図28においては図示を省略したが、設定パターン記憶部222は、NAT装置の設定パターンも記憶する。このため、例えば、ルーティング情報生成部235は、VPN間接続要求受付部231によって受け付けられた接続先IDを用いてVPN間接続情報記憶部221を参照し、接続先IDそれぞれと対応付けて記憶されているNAT装置の識別情報を取得する。そして、ルーティング情報生成部235は、NAT装置の設定パターンの識別情報それぞれを用いて設定パターン記憶部222を参照し、設定パターン記憶部222に記憶されたNAT装置の設定パターンの中から設定情報の生成に利用すべきNAT装置の設定パターンを選択する。そして、ルーティング情報生成部235は、選択した設定パターンを用いて設定情報を生成する。
例えば、ルーティング情報生成部235は、NAT装置のI/F(拠点側及び集合仮想ルータ側)に設定すべきアドレスを決定し、決定したアドレスを用いてルーティング情報を生成する。例えば、ルーティング情報生成部235は、図32の(C)に示すように、『NAT装置1』のルーティング情報を生成する。図32(C)の最初の4行は、『NAT装置1』のインタフェースにアドレスを設定するコマンドである。また、図32(C)の5行目は、『VPN終端装置1』側へのルーティング設定コマンドであり、アドレス変換前のアドレスを設定する。図32(C)の6行目は、仮想ルータ『vrf1』側へのルーティング設定コマンドであり、アドレス変換後のアドレスを設定する。
なお、上述したように、設定情報それぞれは、例えば、図32に例示するように、設定ファイルの形式で、ルーティング情報記憶部225に記憶される。すなわち、ルーティング情報生成部235は、生成した設定情報それぞれを、設定ファイルの形式で、ルーティング情報記憶部225に格納する。もっとも、これに限られるものではなく、生成した設定情報をデータベースに格納する手法でもよい。あるいは、生成した設定情報をファイル形式で記憶するとともにデータベースにも格納する手法でもよい。これらの手法によれば、設定情報は、検索や参照に適したデータベースに格納されるので、例えば、ルーティング情報生成部235は、設定情報を生成する際に、既に生成された設定情報を参照して重複を判定するが、その都度ファイルオープンの処理を実行する必要がなく、処理が効率的になる。
ルーティング情報設定部236は、ルーティング情報をNAT装置、VPN終端装置及び集合仮想ルータに設定する。例えば、ルーティング情報設定部236は、ルーティング情報記憶部225(図31に例示)を定期的に参照し、現在時刻とサービス開始時刻とを比較して、設定情報を設定すべきタイミングであるか否かを判定する。例えば、ルーティング情報設定部236は、現在時刻とサービス開始時刻『t1』とを比較して、設定情報を設定すべきタイミングであるか否かを判定する。
次に、ルーティング情報設定部236は、設定情報を設定すべきタイミングであると判定すると、ルーティング情報記憶部225を参照し、サービス開始時刻に対応付けて記憶されている設定情報を取得する。例えば、ルーティング情報設定部236は、サービス開始時刻『t1』に対応付けて記憶されている設定情報を取得する。
そして、ルーティング情報設定部236は、アタッチメント記憶部227(図34に例示)を参照し、該当するアタッチメントを取得し、取得したアタッチメントを用いて、該当する集合仮想ルータ、VPN終端装置及びNAT装置に設定情報を送信する。例えば、ルーティング情報設定部236は、『集合仮想ルータ1』、『VPN終端装置1』、『VPN終端装置2』、『NAT装置1』、及び『NAT装置2』を用いてアタッチメント記憶部227を参照し、アタッチメント『VR1.exe』、『VPN1.exe』、『VPN2.exe』、『NAT1.exe』、及び『NAT2.exe』を取得する。続いて、ルーティング情報設定部236は、取得したアタッチメント『VR1.exe』を用いて、設定情報を『集合仮想ルータ1』に送信する。同様に、ルーティング情報設定部236は、『VPN終端装置1』、『VPN終端装置2』、『NAT装置1』及び『NAT装置2』にも設定情報を送信する。
なお、アタッチメントには、例えば、VPN間接続管理システム200から各機器に対してtelnetやSSH(Secure SHell)などを用いて遠隔操作することにより、設定情報を設定する手法が含まれていてもよい。
また、ルーティング情報設定部236は、VPN間接続サービスを開始する時刻に設定情報の設定を開始するものとして説明するが、これに限られるものではない。VPN間接続サービスを開始する時刻として予約を受け付けた時刻には即時にVPN間接続が実現されるように、例えば、設定情報の設定に要する時間を予め予測し、『サービス開始時刻』から、予測した当該時間を差し引いた時刻を、設定情報の設定を開始する時刻としてもよい。例えば、仮想ルータ構築部232が、ルーティング情報記憶部225に予約時間と設定情報とを格納する際に、設定情報の設定に要する時間を差し引いた時刻も併せて格納し、ルーティング情報設定部236が、当該時刻であるか否かを判定して設定情報の設定を開始してもよい。
DNS登録情報生成部237は、端末名と第一アドレスとの組を、DNS登録情報としてVPN間接続に属する拠点ごとに生成する。具体的には、DNS登録情報生成部237は、変換用アドレス決定部233から、登録情報を生成すべき旨の通知を受けると、アドレス変換情報記憶部224(図30に例示)を参照し、変換用アドレス決定部233によって新たに決定されたアドレス変換情報を取得する。
例えば、図30に例示するように、『α1@vrf1.vpn1.example.com』の端末を通信相手とする他の拠点内で『α1@vrf1.vpn1.example.com』の端末を識別するために払い出された第一アドレスは、『NAT装置2』について端末名『α1@vrf1.vpn1.example.com』に対応付けて記憶されているユーザ側アドレス『172.16.1.10』である。
同様に、『β1@vrf1.vpn2.example.com』の端末を通信相手とする他の拠点内で『β1@vrf1.vpn2.example.com』の端末を識別するために払い出された第一アドレスは、『NAT装置1』について端末名『β1@vrf1.vpn2.example.com』に対応付けて記憶されているユーザ側アドレス『172.16.2.10』である。
ここで、仮想ルータ名「vrf1」で識別されるVPN間接続に属する拠点は、端末名『α1@vrf1.vpn1.example.com』が属する拠点、及び、端末名『β1@vrf1.vpn2.example.com』が属する拠点である。これらの拠点は、それぞれ、接続先ID「UserA−Office」で識別される拠点、及び、接続先ID「UserB−Office」で識別される拠点であることは、VPN間接続情報記憶部221(図26に例示)を参照することなどによって判明する。
すると、例えば、DNS登録情報生成部237は、まず、VPN間接続に属する拠点のひとつとして、接続先ID「UserA−Office」で識別される拠点用のDNS登録情報を生成する。接続先ID「UserA−Office」で識別される拠点に属する端末名『α1@vrf1.vpn1.example.com』の端末にとって通信相手となる他拠点配下の端末は、端末名『β1@vrf1.vpn2.example.com』である。そこで、DNS登録情報生成部237は、端末名『β1@vrf1.vpn2.example.com』と第一アドレス『172.16.2.10』との組から、DNS登録情報であるAレコード「β1 IN A 172.16.2.10」を生成する。
また、例えば、DNS登録情報生成部237は、VPN間接続に属する拠点のひとつとして、接続先ID「UserB−Office」で識別される拠点用のDNS登録情報を生成する。接続先ID「UserB−Office」で識別される拠点に属する端末名『β1@vrf1.vpn2.example.com』の端末にとって通信相手となる他拠点配下の端末は、端末名『α1@vrf1.vpn1.example.com』である。そこで、DNS登録情報生成部237は、端末名『α1@vrf1.vpn1.example.co.jp』と第一アドレス『172.16.1.10』との組からDNS登録情報であるAレコード「α1 IN A 172.16.1.10」を生成する。
そして、DNS登録情報生成部237は、拠点ごとに生成したDNS登録情報を拠点ごとにDNS登録情報記憶部226に格納する。例えば、図33に例示するように、DNS登録情報記憶部226は、接続先IDごとにAレコードを記憶する。
DNS登録部238は、第一アドレスと端末名との対応関係を示すDNS登録情報を、VPN間接続に属する拠点ごとにDNSに登録する。具体的には、DNS登録部238は、DNS登録情報生成部237によって生成されたDNS登録情報をDNS装置に登録する。
例えば、DNS登録部238は、アドレス変換情報記憶部224(図30に例示)を定期的に参照し、現在時刻とサービス開始時刻とを比較して、DNS登録情報を設定すべきタイミングであるか否かを判定する。少なくともアドレス変換情報を設定すべきタイミングであれば、DNS登録情報を設定すべきタイミングであるからである。例えば、DNS登録部238は、現在時刻とサービス開始時刻『t1』とを比較して、DNS登録情報を設定すべきタイミングであるか否かを判定する。
次に、DNS登録部238は、DNS登録情報を設定すべきタイミングであると判定すると、DNS登録情報記憶部226を参照し、DNS登録情報を取得する。例えば、DNS登録部238は、図33に例示するDNS登録情報(Aレコード)を取得する。
そして、DNS登録部238は、例えば、DDNSなどのプロトコルを利用して、DNS装置に記憶されているゾーンファイルにDNS登録情報を登録する。なお、DDNSなどのプロトコルに限られず、DNSソフトウェアのデータベースのつくりによって、例えば、sqlコマンド、Telnetログインなどを利用してもよい。もっとも、この場合には、DNS装置において、ファイルの再読み込みや、DNSプロセスの再起動などが必要になる。そこで、再読み込みを指示するコマンドや、再起動を指示するコマンドを含むプログラムをアタッチメント記憶部227に予め格納しておき、DNS登録部238は、アタッチメント記憶部227に格納されたアタッチメントを用いてDNS装置に登録情報を登録してもよい。なお、運用者などが直接ログインしファイルを書き換える等の方法により登録することは当然可能である。
削除部239は、VPN終端装置、NAT装置、集合仮想ルータ、及びDNS装置に設定されたアドレス変換情報やルーティング情報、あるいはDNS登録情報を削除する。具体的には、削除部239は、タイマやポーリングなどによって定期的にアドレス変換情報記憶部224やルーティング情報記憶部225を参照し、VPN間接続サービスを終了する時刻であるか否かを判定する。サービス終了時刻であると判定すると、アタッチメント記憶部227を参照し、該当するVPN終端装置や集合仮想ルータ、あるいはDNS装置のアタッチメント(削除用)を取得する。そして、削除部239は、該当するアタッチメントを用いて、該当するVPN終端装置や集合仮想ルータ、あるいはDNS装置から設定情報やDNS登録情報を削除する。なお、削除部239は、アドレス変換情報記憶部224やルーティング情報記憶部225に記憶されている予約情報などを削除してもよい。
次に、図38及び図39を用いて、VPN間接続管理システム200による処理手順を説明する。図38は、VPN間接続管理システム200による処理手順を示すフローチャートであり、図39は、DNS登録の処理手順を示すフローチャートである。
図38に例示するように、VPN間接続管理システム200は、仮想ルータを構築すべきタイミングであると判定すると(ステップS701肯定)、仮想ルータを構築する(ステップS702)。具体的には、仮想ルータ構築部232が、仮想ルータを構築する。
次に、VPN間接続管理システム200は、変換用アドレスを決定する(ステップS703)。具体的には、変換用アドレス決定部233が、変換用アドレスを決定する。
続いて、VPN間接続管理システム200は、ルーティング情報を生成する(ステップS704)。具体的には、ルーティング情報生成部235が、ルーティング情報を生成する。
そして、VPN間接続管理システム200は、アドレス変換情報及びルーティング情報を設定する(ステップS705)。具体的には、アドレス変換情報設定部234が、該当するNAT装置にアドレス変換情報を設定し、ルーティング情報設定部236が、該当する集合仮想ルータ及びVPN終端装置にルーティング情報を設定する。
なお、サービス開始時刻までに、アドレス変換情報及びルーティング情報の設定が終了してれば、いつ仮想ルータを構築し、いつアドレス変換情報を決定し、いつルーティング情報を生成し、いつアドレス変換情報やルーティング情報を設定するかは、任意である。例えば、サービス開始時刻よりもかなり早い段階で設定まで終了させておき、ファイアウォールの設定などによりVPN間接続の通信を行わせないようにしてもよい。この場合には、サービス開始時刻になると、ファイアウォールの設定が変更され、VPN間接続が可能になる。
ところで、図39に例示するように、VPN間接続管理システム200は、変換用アドレス(第一アドレス及び第二アドレス)が決定されたか否かを判定している(ステップS801)。具体的には、DNS登録情報生成部237が、変換用アドレスが決定されたか否か(変換用アドレス決定部233から通知を受けたか否か)を判定している。
そして、DNS登録情報生成部237は、変換用アドレスが決定されたと判定すると(ステップS801肯定)、アドレス変換情報記憶部224を参照し(ステップS802)、該当するアドレス変換情報を取得する(ステップS803)。
続いて、DNS登録情報生成部237は、端末名と第一アドレスとの組を、DNS登録情報としてVPN間接続に属する拠点ごとに生成する(ステップS804)。次に、VPN間接続管理システム200は、拠点ごとに生成されたDNS登録情報をDNS装置に設定する(ステップS805)。
なお、VPN間接続管理システムの構成は、上記例に限られるものではない。上述したように、VPN間接続管理システムは、VPN間接続要求を受け付ける機能(例えば、VPN間接続要求受付部231)、VPN間接続に関する各種情報を管理する機能(例えば、記憶部221)、アドレス変換情報やルーティング情報、DNS登録情報などを生成する機能(例えば、仮想ルータ構築部232、変換用アドレス決定部233、ルーティング情報生成部235、DNS登録情報生成部237)、生成した各種情報を各装置に設定する機能(例えば、アドレス変換情報設定部234、ルーティング情報設定部236、DNS登録部238)などを有する。また、VPN間接続に関する認証を行う機能や、VPN間接続が構築された後にVPN間接続のトラヒックなどを制御する機能などを有することもある。これらの機能は、必ずしも物理的な1つの筐体としてのVPN間接続管理システムに備えられていなければならないものではなく、例えば、VPN間接続要求を受け付ける機能を切り出して他の筐体に備えたり、VPN間接続に関する各種情報を管理する機能を切り出して他の筐体に備えたり、VPN間接続に関する認証を行う機能や、VPN間接続が構築された後にVPN間接続のトラヒックなどを制御する機能などを他の筐体に備えるなど、その物理的な構成は任意である。
[その他]
また、上記実施例において説明した各処理のうち、自動的に行われるとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、集合仮想ルータの一例として、VRF(VPN routing and forwarding table)を適用してもよく、これにより、1つの集合仮想ルータ内で仮想的に複数の集合仮想ルータが稼動しているようにみなすことができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPU(Central Processing Unit)および当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
なお、上記の実施例で説明したアドレス登録方法は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのIPネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD(Floppy(登録商標) Disk))、CD−ROM(Compact Disk Read Only Memory)、MO(Magneto-Optical disk)、DVD(Digital Versatile Disk)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。