以下、本発明に係る拠点間接続システム、拠点間接続方法、アドレス変換情報生成装置、アドレス変換情報生成方法、及びプログラムの実施形態を説明する。なお、以下の実施形態により本発明が限定されるものではない。
(第1の実施形態)
図1は、第1の実施形態に係る拠点間接続システム1の構成例を示す図である。図1に示すように、第1の実施形態に係る拠点間接続システム1は、IP(Internet Protocol)ルータを介して拠点1及び拠点2を収容し、拠点1と拠点2とを広域ネットワークを介して相互に接続する。なお、図示を省略するが、一般に、VPN終端装置と拠点間接続システム1との間や、IPルータと拠点間接続システム1との間にも、VPNが構築される。また、拠点間接続システム1は、IPルータの替わりに、VPNとしての拠点を終端するVPN終端装置を介して、拠点1及び拠点2を収容してもよい。
例えば、拠点間接続システム1は、拠点1配下の端末30−1から送信されたパケットを、拠点2配下の端末30−2に向けて転送する。
具体的には、第1の実施形態に係る拠点間接続システム1は、アドレス変換部10と、転送部20−1と、転送部20−2とを備える。転送部20−1は、拠点1配下の端末30−1から送信されたパケットを受信すると、このパケットに含まれるアドレスに基づく経路制御(以下、ルーティング)によって、受信したパケットを転送する。なお、この経路制御は公知の手法を用いて実現することができる。
例えば、拠点1配下の端末30−1から送信されたパケットには、宛先アドレスとして「拠点1内で拠点2配下の端末30−2が一意に識別されるアドレス」が含まれる。一方、転送部20−1は、このアドレスを宛先アドレスとして含むパケットを出力すべきインタフェースの情報をルーティング情報として有している。このため、転送部20−1は、このルーティング情報に従って、拠点1配下の端末30−1から送信されたパケットを転送する。
転送部20−1によって転送されたパケットは、アドレス変換部10によって受信される。アドレス変換部10は、転送部20−1によって転送されたパケットを受信すると、このパケットに含まれるアドレスを変換する。
例えば、転送部20−1によって転送されたパケットには、送信元アドレスとして、「拠点1内で拠点1配下の端末30−1が一意に識別されるアドレス」が含まれ、宛先アドレスとして、「拠点1内で拠点2配下の端末30−2が一意に識別されるアドレス」が含まれる。アドレス変換部10は、予め設定されたアドレス変換情報を参照し、この送信元アドレスを、「拠点2内で拠点1配下の端末30−1が一意に識別されるアドレス」に変換し、宛先アドレスを、「拠点2内で拠点2配下の端末30−2が一意に識別されるアドレス」に変換する。
アドレス変換部10によってアドレスが変換されたパケットは、転送部20−2によって受信される。転送部20−2は、アドレス変換部10によってアドレスが変換されたパケットを受信すると、このパケットに含まれるアドレスに基づくルーティングによって、受信したパケットを転送する。
例えば、アドレス変換部10によってアドレスが変換されたパケットには、宛先アドレスとして「拠点2内で拠点2配下の端末30−2が一意に識別されるアドレス」が含まれる。一方、転送部20−2は、このアドレスを宛先アドレスとして含むパケットを出力すべきインタフェースの情報をルーティング情報として有している。このため、転送部20−2は、このルーティング情報に従って、アドレス変換部10によってアドレスが変換されたパケットを転送する。
このように、第1の実施形態に係る拠点間接続システム1は、送信元側の拠点内で独立に用いられているアドレスに従ってまずルーティングを行い、ルーティング後、パケットに含まれるアドレスを変換する。変換後のアドレスは、宛先側の拠点内で独立に用いられているアドレスである。このため、拠点間接続システム1は、この変換後のアドレスに従ってルーティングを行い、宛先の端末に向けてパケットを転送する。なお、第1の実施形態において、パケットに含まれるアドレスは転送の途中で変換される。このため、拠点間接続システム1は、公知の手法により、このようなアドレス変換時にもARP(Address Resolution Protocol)に対応する。
ここで、拠点間接続システム1は、パケットに含まれる送信元アドレス及び宛先アドレスの双方を、送信元側の拠点内で独立に用いられているアドレスから、宛先側の拠点内で独立に用いられているアドレスへと強制的に変換し、アドレス変換後のパケットを、転送部20−2に向けて強制的に出力する。
この「強制的に」の意味は、IPレイヤのルーティングを前提としないことを意味する。すなわち、IPレイヤのアドレスによってルーティングを行う場合、各拠点で用いられるアドレスは重複してはならない。一方で、IPレイヤのルーティングを前提とせずにパケットに含まれるアドレスを変換し、予め設定されたインタフェースに出力する場合には、各拠点で用いられるアドレスが重複することも許容される。ルーティングに用いられないからである。第1の実施形態に係る拠点間接続システム1は、転送部20−1及び転送部20−2においてIPレイヤのルーティングを行う一方で、アドレス変換部10においてはIPレイヤのルーティングを度外視したアドレス変換を行うことで、各拠点で用いられるアドレスの重複が問題とならない構成を実現する。
この点、従来は、アドレスの重複の問題を回避するために、各拠点と広域ネットワークとの間にアドレス変換装置を設置し、このアドレス変換装置が、TwiceNATによってパケットの送信元アドレス及び宛先アドレスの双方を変換する構成となっていた。すなわち、各拠点と広域ネットワークとの間に設置されたアドレス変換装置がパケットの送信元アドレス及び宛先アドレスの双方を変換することで、広域ネットワーク側で用いられるアドレスと各拠点で用いられるアドレスとを分離し、各拠点で用いられるアドレスを拠点毎に独立させていた。しかしながら、この従来の構成では、TwiceNATによるアドレス変換を、例えば送信元側と宛先側とで2回行わなければならず、アドレス変換に要する処理時間が長くなっていた。
これに対し、第1の実施形態によれば、図1に示すように、2拠点間でパケットを転送する場合、アドレス変換は1回で済む。このため、第1の実施形態によれば、アドレス変換に要する処理時間は短くなる。ここで、一般に、アドレス変換に要する処理時間と、パケットのルーティングに要する処理時間とでは、前者の方が長い。このため、ルーティングの回数が増えたとしても、アドレス変換の回数が減ることにより、パケット転送全体の処理時間を短縮することができる。
なお、第1の実施形態に係る拠点間接続システム1は、上述のアドレスとして、グローバルアドレス及びプライベートアドレスの双方に対応することが可能である。もっとも、一般的には、上述のアドレスとしてプライベートアドレスが用いられる方が望ましい。
(第2の実施形態)
次に、第2の実施形態を説明する。第2の実施形態に係る拠点間接続システム1と、第1の実施形態に係る拠点間接続システム1とは、その基本構成が共通である。すなわち、第2の実施形態は、第1の実施形態に係る拠点間接続システム1を、より具体的な事例にあてはめて説明するものである。
なお、第2の実施形態においては、拠点間接続システム1が、拠点1、拠点2、及び拠点3の3拠点を広域ネットワークを介して相互に接続する例を説明するが、これに限られるものではない。拠点間接続システム1は、1つの協働空間に参加する複数の拠点について、2拠点ずつフルメッシュ型に接続するので、拠点の数は任意に変更可能である。以下、アドレス変換の方式として、「TwiceNAT1回双方向方式」、「TwiceNAT1回片方向方式」、「SingleNAT2回双方向方式」、「SingleNAT2回片方向方式」の4方式について、順に説明する。
(TwiceNAT1回双方向方式)
図2及び3は、第2の実施形態に係るアドレス変換の具体例(TwiceNAT1回双方向方式)を説明するための図である。なお、図2において、「A」、「b」、及び「c」は、アドレスを示し、例えば「01−A」と表記する場合は、拠点1内で用いられているアドレス「A」を示す。従って、「01−A」と「02−A」とは、拠点1と拠点2とでアドレス「A」が重複することを示す。
図2に示すように、拠点1においては、拠点1内で端末30−1が一意に識別されるアドレスとして「01−A」を用い、拠点1内で端末30−2が一意に識別されるアドレスとして「01−b」を用い、拠点1内で端末30−3が一意に識別されるアドレスとして「01−c」を用いる。同様に、拠点2においては、拠点2内で端末30−1が一意に識別されるアドレスとして「02−c」を用い、拠点2内で端末30−2が一意に識別されるアドレスとして「02−A」を用い、拠点2内で端末30−3が一意に識別されるアドレスとして「02−b」を用いる。同様に、拠点3においては、拠点3内が一意に識別されるアドレスとして「03−b」を用い、拠点3内で端末30−2が一意に識別されるアドレスとして「03−c」を用い、拠点3内で端末30−3が一意に識別されるアドレスとして「03−A」を用いる。
また、第2の実施形態に係る拠点間接続システム1は、拠点1と拠点2との間を、転送部20−1、アドレス変換部10−1、及び転送部20−2によって相互に接続する。同様に、第2の実施形態に係る拠点間接続システム1は、拠点2と拠点3との間を、転送部20−2、アドレス変換部10−2、及び転送部20−3によって相互に接続する。同様に、第2の実施形態に係る拠点間接続システム1は、拠点1と拠点3との間を、転送部20−1、アドレス変換部10−3、及び転送部20−3によって相互に接続する。
また、転送部20−1は、拠点1内で用いられているアドレスに従ってルーティングを行うためのルーティング情報を予め有し、転送部20−2は、拠点2内で用いられているアドレスに従ってルーティングを行うためのルーティング情報を予め有し、転送部20−3は、拠点3内で用いられているアドレスに従ってルーティングを行うためのルーティング情報を予め有する。
なお、第3の実施形態において説明するように、アドレス変換情報を生成する上での便宜上、各アドレス変換部は、アドレス変換部を識別するための名前情報を有する。例えば、図2に示すように、アドレス変換部10−1は、名前情報として[T−NAT01−02]を有し、アドレス変換部10−2は、名前情報として[T−NAT02−03]を有し、アドレス変換部10−3は、名前情報として[T−NAT01−03]を有する。例えば、名前情報[T−NAT01−02]は、拠点「1」と拠点「2」との間に設置され、拠点「1」と拠点「2」との間でアドレス変換を行うアドレス変換部であることを示す。
このような構成の下、例えば、拠点間接続システム1は、拠点1配下の端末30−1から送信されたパケットを、拠点2配下の端末30−2に向けて転送する。
具体的には、転送部20−1は、拠点1配下の端末30−1から送信されたパケットを受信すると、このパケットに含まれるアドレスに基づくルーティングによって、受信したパケットを転送する。
例えば、拠点1配下の端末30−1から送信されたパケットには、宛先アドレスとして「01−b」が含まれる。一方、転送部20−1は、「01−b」を宛先アドレスとして含むパケットを出力すべきインタフェースの情報をルーティング情報として有している。このため、転送部20−1は、パケットの宛先アドレスを参照し、このルーティング情報に従って、拠点1配下の端末30−1から送信されたパケットを転送する。
転送部20−1によって転送されたパケットは、アドレス変換部10−1によって受信される。アドレス変換部10−1は、転送部20−1によって転送されたパケットを受信すると、このパケットに含まれるアドレスを変換する。
例えば、転送部20−1によって転送されたパケットには、送信元アドレスとして「01−A」が含まれ、宛先アドレスとして「01−b」が含まれる。アドレス変換部10−1は、予め設定されたアドレス変換情報を参照し、送信元アドレスを「02−c」に変換し、宛先アドレスを「02−A」に変換する。このアドレス変換は、アドレスが重複するか否かに関係なく行われる。
アドレス変換部10−1は、アドレスを変換したパケットを、パケットを受信したインタフェースと対として指定されたインタフェースから出力する。すると、このパケットは、転送部20−2によって受信される。転送部20−2は、アドレス変換部10−1によってアドレスが変換されたパケットを受信すると、このパケットに含まれるアドレスに基づくルーティングによって、受信したパケットを転送する。
例えば、アドレス変換部10−1によってアドレスが変換されたパケットには、宛先アドレスとして「02−A」が含まれる。一方、転送部20−2は、「02−A」を宛先アドレスとして含むパケットを出力すべきインタフェースの情報をルーティング情報として有している。このため、転送部20−2は、パケットの宛先アドレスを参照し、このルーティング情報に従って、アドレス変換部10−1によってアドレスが変換されたパケットを転送する。こうして、拠点1配下の端末30−1から送信されたパケットは、拠点2配下の端末30−2に転送される。
一方、例えば、拠点間接続システム1は、拠点2配下の端末30−2から送信されたパケットを、拠点1配下の端末30−1に向けて転送する。
具体的には、転送部20−2は、拠点2配下の端末30−2から送信されたパケットを受信すると、このパケットに含まれるアドレスに基づくルーティングによって、受信したパケットを転送する。
例えば、拠点2配下の端末30−2から送信されたパケットには、宛先アドレスとして「02−c」が含まれる。一方、転送部20−2は、「02−c」を宛先アドレスとして含むパケットを出力すべきインタフェースの情報をルーティング情報として有している。このため、転送部20−2は、パケットの宛先アドレスを参照し、このルーティング情報に従って、拠点2配下の端末30−2から送信されたパケットを転送する。
転送部20−2によって転送されたパケットは、アドレス変換部10−1によって受信される。アドレス変換部10−1は、転送部20−2によって転送されたパケットを受信すると、このパケットに含まれるアドレスを変換する。
例えば、転送部20−2によって転送されたパケットには、送信元アドレスとして「02−A」が含まれ、宛先アドレスとして「02−c」が含まれる。アドレス変換部10−1は、予め設定されたアドレス変換情報を参照し、送信元アドレスを「01−b」に変換し、宛先アドレスを「01−A」に変換する。このアドレス変換は、アドレスが重複するか否かに関係なく行われる。
アドレス変換部10−1は、アドレスを変換したパケットを、パケットを受信したインタフェースと対として指定されたインタフェースから出力する。すると、このパケットは、転送部20−1によって受信される。転送部20−1は、アドレス変換部10−1によってアドレスが変換されたパケットを受信すると、このパケットに含まれるアドレスに基づくルーティングによって、受信したパケットを転送する。
例えば、アドレス変換部10−1によってアドレスが変換されたパケットには、宛先アドレスとして「01−A」が含まれる。一方、転送部20−1は、「01−A」を宛先アドレスとして含むパケットを出力すべきインタフェースの情報をルーティング情報として有している。このため、転送部20−1は、パケットの宛先アドレスを参照し、このルーティング情報に従って、アドレス変換部10−1によってアドレスが変換されたパケットを転送する。こうして、拠点2配下の端末30−2から送信されたパケットは、拠点1配下の端末30−1に転送される。
さて、上述した拠点1配下の端末30−1と拠点2配下の端末30−2との間のパケット転送について、図3を用いて具体的に説明する。図3に示すように、拠点1においては、拠点1内で端末30−1が一意に識別されるアドレスとして「10.0.0.5/24」を用い、拠点1内で端末30−2が一意に識別されるアドレスとして「172.16.0.5/24」を用いる。同様に、拠点2においては、拠点2内で端末30−2が一意に識別されるアドレスとして「10.0.0.5/24」を用い、拠点2内で端末30−1が一意に識別されるアドレスとして「172.16.0.6/24」を用いる。
また、図3において、アドレス変換部10−1、転送部20−1、及び転送部20−2に付された黒色矩形の印はインタフェースを示し、各アドレスは、インタフェースに付与されたアドレスを示す。
このような構成の下、例えば、拠点間接続システム1は、拠点1配下の端末30−1から送信されたパケットを、拠点2配下の端末30−2に向けて転送する。このパケットは、図3に示すように、送信元アドレス(Src)が「10.0.0.5」であり、宛先アドレス(Dst)が「172.16.0.5」である。
ここで、転送部20−1は、「172.16.0.5」を宛先アドレスとして含むパケットは、「192.168.0.1/30」のインタフェースにルーティングして転送するとのルーティング情報を有している。このため、転送部20−1は、拠点1配下の端末30−1から送信されたパケットを「192.168.0.1/30」のインタフェースにルーティングし、出力する。なお、この段階において、送信元アドレス及び宛先アドレスに変更はない。
転送部20−1によって転送されたパケットは、アドレス変換部10−1によって受信される。アドレス変換部10−1は、送信元アドレスを「172.16.0.6」に変換し、宛先アドレスを「10.0.0.5」に変換する。このアドレス変換は、アドレスが重複するか否かに関係なく行われる。すなわち、図3に示す具体例において、拠点1内で拠点1配下の端末30−1が一意に識別されるアドレス「10.0.0.5」と、拠点2内で拠点2配下の端末30−2が一意に識別されるアドレス「10.0.0.5」とは重複するが、アドレス変換部10−1は、この点に関係なくアドレス変換を行う。
アドレス変換部10−1は、アドレスを変換したパケットを、パケットを受信したインタフェース「192.168.0.2/30」と対として指定されたインタフェース「192.168.1.1/30」から出力する。すると、このパケットは、転送部20−2によって受信される。ここで、転送部20−2は、「10.0.0.5」を宛先アドレスとして含むパケットは、「10.0.0.254/24」のインタフェースにルーティングして転送するとのルーティング情報を有している。このため、転送部20−2は、アドレス変換部10−1によってアドレスが変換されたパケットを「10.0.0.254/24」のインタフェースにルーティングし、出力する。なお、この段階において、送信元アドレス及び宛先アドレスに変更はない。こうして、拠点1配下の端末30−1から送信されたパケットは、拠点2配下の端末30−2に転送される。
一方、例えば、拠点間接続システム1は、拠点2配下の端末30−2から送信されたパケットを、拠点1配下の端末30−1に向けて転送する。このパケットは、図3に示すように、送信元アドレス(Src)が「10.0.0.5」であり、宛先アドレス(Dst)が「172.16.0.6」である。
ここで、転送部20−2は、「172.16.0.6」を宛先アドレスとして含むパケットは、「192.168.1.2/30」のインタフェースにルーティングして転送するとのルーティング情報を有している。このため、転送部20−2は、拠点2配下の端末30−2から送信されたパケットを「192.168.1.2/30」のインタフェースにルーティングし、出力する。なお、この段階において、送信元アドレス及び宛先アドレスに変更はない。
転送部20−2によって転送されたパケットは、アドレス変換部10−1によって受信される。アドレス変換部10−1は、送信元アドレスを「172.16.0.5」に変換し、宛先アドレスを「10.0.0.5」に変換する。このアドレス変換は、アドレスが重複するか否かに関係なく行われる。
アドレス変換部10−1は、アドレスを変換したパケットを、パケットを受信したインタフェース「192.168.1.1/30」と対として指定されたインタフェース「192.168.0.2/30」から出力する。すると、このパケットは、転送部20−1によって受信される。ここで、転送部20−1は、「10.0.0.5」を宛先アドレスとして含むパケットは、「10.0.0.254/24」のインタフェースにルーティングして転送するとのルーティング情報を有している。このため、転送部20−1は、アドレス変換部10−1によってアドレスが変換されたパケットを「10.0.0.254/24」のインタフェースにルーティングし、出力する。なお、この段階において、送信元アドレス及び宛先アドレスに変更はない。こうして、拠点2配下の端末30−2から送信されたパケットは、拠点1配下の端末30−1に転送される。
なお、上述した具体例では、拠点1内で拠点1配下の端末30−1が一意に識別されるアドレスと、拠点2内で拠点2配下の端末30−2が一意に識別されるアドレスとが同一の場合の例を示したが、仮に、拠点1内で拠点2配下の端末30−2が一意に識別されるアドレスと、拠点2内で拠点1配下の端末30−1が一意に識別されるアドレスとが同一の場合にも、拠点間接続システム1は、端末30−1と端末30−2との間のパケット転送を同様に実現することができる。例えば、この場合、アドレス変換部10−1は、転送用のパケットの宛先アドレスを、受信したパケットに含まれる送信元アドレスに変換し、転送用のパケットの送信元アドレスを、受信したパケットに含まれる宛先アドレスに変換する。
なお、説明を省略するが、拠点2配下の端末30−2と拠点3配下の端末30−3との間のパケット転送、及び拠点1配下の端末30−1と拠点3配下の端末30−3との間のパケット転送についても同様に、拠点間接続システム1は、送信元側の拠点内で用いられているアドレスに従ってまずルーティングを行い、ルーティング後、パケットに含まれるアドレスを変換し、変換後のアドレスに従ってルーティングを行い、宛先の端末に向けてパケットを転送する。
(TwiceNAT1回片方向方式)
図4は、第2の実施形態に係るアドレス変換の具体例(TwiceNAT1回片方向方式)を説明するための図である。図2と対比するとわかるように、例えば、アドレス変換部10−11及びアドレス変換部10−12は、図2に示すアドレス変換部10−1によるアドレス変換を、パケット転送の向きに応じ、異なる部によって実現するものである。
すなわち、アドレス変換部10−11は、拠点1配下の端末30−1から拠点2配下の端末30−2にパケットを転送する場合のアドレス変換を行い、アドレス変換部10−12は、拠点2配下の端末30−2から拠点1配下の端末30−1にパケットを転送する場合のアドレス変換を行う。
ここで、図4に示すアドレス変換は、「→(右向き矢印)」及び「←(左向き矢印)」を用いた上下2行で表現されており、上の行のアドレスが、矢印の先に記載された下の行のアドレスに変換されることを示す。例えば、アドレス変換部10−11の場合、上の行のアドレス「01−A:01−b」が、下の行の「→」の先の「02−c:02−A」に変換される。また、例えば、アドレス変換部10−12の場合、上の行のアドレス「02−c:02−A」が、下の行の「←」の先の「01−A:01−b」に変換される。
(SingleNAT2回双方向方式)
図5及び6は、第2の実施形態に係るアドレス変換の具体例(SingleNAT2回双方向方式)を説明するための図である。なお、アドレスの表記方法や、各拠点で用いられるアドレスは、図2を用いて説明した例と同じである。
図5に示すように、拠点間接続システム1は、拠点1と拠点2との間を、転送部20−1、アドレス変換部15−1、アドレス変換部15−2、及び転送部20−2によって相互に接続する。同様に、拠点間接続システム1は、拠点2と拠点3との間を、転送部20−2、アドレス変換部15−3、アドレス変換部15−4、及び転送部20−3によって相互に接続する。同様に、拠点間接続システム1は、拠点1と拠点3との間を、転送部20−1、アドレス変換部15−5、アドレス変換部15−6、及び転送部20−3によって相互に接続する。
また、転送部20−1は、拠点1内で用いられているアドレスに従ってルーティングを行うためのルーティング情報を予め有し、転送部20−2は、拠点2内で用いられているアドレスに従ってルーティングを行うためのルーティング情報を予め有し、転送部20−3は、拠点3内で用いられているアドレスに従ってルーティングを行うためのルーティング情報を予め有する。
アドレス変換部15−1〜15−6のそれぞれは、送信元アドレスのアドレス変換、宛先アドレスのアドレス変換のいずれか一方を行う。例えば、拠点1配下の端末30−1から拠点2配下の端末30−2にパケットを転送する場合、アドレス変換部15−1は、拠点1配下の端末30−1から転送されてきたパケットの送信元アドレスのアドレス変換を行い、アドレス変換部15−2は、このパケットの宛先アドレスのアドレス変換を行う。また、拠点2配下の端末30−2から拠点1配下の端末30−1にパケットを転送する場合、アドレス変換部15−2は、拠点2配下の端末30−2から転送されてきたパケットの送信元アドレスのアドレス変換を行い、アドレス変換部15−1は、このパケットの宛先アドレスのアドレス変換を行う。
なお、アドレス変換部15−1とアドレス変換部15−2とのアドレス変換の順番は、任意に変更することができる。例えば、拠点1配下の端末30−1から拠点2配下の端末30−2にパケットを転送する場合、アドレス変換部15−1が、拠点1配下の端末30−1から転送されてきたパケットの宛先アドレスのアドレス変換を行い、アドレス変換部15−2が、このパケットの送信元アドレスのアドレス変換を行ってもよい。
なお、第3の実施形態において説明するように、アドレス変換情報を生成する上での便宜上、各アドレス変換部は、アドレス変換部を識別するための名前情報を有する。例えば、図5に示すように、アドレス変換部15−1は、名前情報として[S−NAT01−02]を有し、アドレス変換部15−2は、名前情報として[S−NAT02−01]を有し、アドレス変換部15−3は、名前情報として[S−NAT02−03]を有し、アドレス変換部15−4は、名前情報として[S−NAT03−02]を有し、アドレス変換部15−5は、名前情報として[S−NAT01−03]を有し、アドレス変換部15−6は、名前情報として[S−NAT03−01]を有する。
例えば、名前情報[S−NAT01−02]は、拠点「1」と拠点「2」との間に設置され、拠点「1」と拠点「2」との間でアドレス変換を行うアドレス変換部であり、かつ、2台設置されるアドレス変換部のうち、拠点「1」側に設置されるアドレス変換部であることを示す。また、例えば、名前情報[S−NAT02−01]は、拠点「1」と拠点「2」との間に設置され、拠点「1」と拠点「2」との間でアドレス変換を行うアドレス変換部であり、かつ、2台設置されるアドレス変換部のうち、拠点「2」側に設置されるアドレス変換部であることを示す。
このような構成の下、例えば、拠点間接続システム1は、拠点1配下の端末30−1から送信されたパケットを、拠点2配下の端末30−2に向けて転送する。
具体的には、転送部20−1は、拠点1配下の端末30−1から送信されたパケットを受信すると、このパケットに含まれるアドレスに基づくルーティングによって、受信したパケットを転送する。
例えば、拠点1配下の端末30−1から送信されたパケットには、宛先アドレスとして「01−b」が含まれる。一方、転送部20−1は、「01−b」を宛先アドレスとして含むパケットを出力すべきインタフェースの情報をルーティング情報として有している。このため、転送部20−1は、パケットの宛先アドレスを参照し、このルーティング情報に従って、拠点1配下の端末30−1から送信されたパケットを転送する。
転送部20−1によって転送されたパケットは、アドレス変換部15−1によって受信される。アドレス変換部15−1は、転送部20−1によって転送されたパケットを受信すると、このパケットに含まれる送信元アドレスを変換する。
例えば、転送部20−1によって転送されたパケットには、送信元アドレスとして「01−A」が含まれ、宛先アドレスとして「01−b」が含まれる。アドレス変換部15−1は、予め設定されたアドレス変換情報を参照し、送信元アドレスを「02−c」に変換する。このアドレス変換は、アドレスが重複するか否かに関係なく行われる。
アドレス変換部15−1は、アドレスを変換したパケットを、パケットを受信したインタフェースと対として指定されたインタフェースから出力する。すると、このパケットは、アドレス変換部15−2によって受信される。アドレス変換部15−2は、アドレス変換部15−1によって転送されたパケットを受信すると、このパケットに含まれる宛先アドレスを変換する。
例えば、アドレス変換部15−1によって転送されたパケットには、送信元アドレスとして「02−c」が含まれ、宛先アドレスとして「01−b」が含まれる。アドレス変換部15−2は、予め設定されたアドレス変換情報を参照し、宛先アドレスを「02−A」に変換する。このアドレス変換は、アドレスが重複するか否かに関係なく行われる。
アドレス変換部15−2は、アドレスを変換したパケットを、パケットを受信したインタフェースと対として指定されたインタフェースから出力する。すると、このパケットは、転送部20−2によって受信される。転送部20−2は、アドレス変換部15−2によってアドレスが変換されたパケットを受信すると、このパケットに含まれるアドレスに基づくルーティングによって、受信したパケットを転送する。
例えば、アドレス変換部15−2によってアドレスが変換されたパケットには、宛先アドレスとして「02−A」が含まれる。一方、転送部20−2は、「02−A」を宛先アドレスとして含むパケットを出力すべきインタフェースの情報をルーティング情報として有している。このため、転送部20−2は、パケットの宛先アドレスを参照し、このルーティング情報に従って、アドレス変換部15−2によってアドレスが変換されたパケットを転送する。こうして、拠点1配下の端末30−1から送信されたパケットは、拠点2配下の端末30−2に転送される。
一方、例えば、拠点間接続システム1は、拠点2配下の端末30−2から送信されたパケットを、拠点1配下の端末30−1に向けて転送する。
具体的には、転送部20−2は、拠点2配下の端末30−2から送信されたパケットを受信すると、このパケットに含まれるアドレスに基づくルーティングによって、受信したパケットを転送する。
例えば、拠点2配下の端末30−2から送信されたパケットには、宛先アドレスとして「02−c」が含まれる。一方、転送部20−1は、「02−c」を宛先アドレスとして含むパケットを出力すべきインタフェースの情報をルーティング情報として有している。このため、転送部20−1は、パケットの宛先アドレスを参照し、このルーティング情報に従って、拠点2配下の端末30−2から送信されたパケットを転送する。
転送部20−2によって転送されたパケットは、アドレス変換部15−2によって受信される。アドレス変換部15−2は、転送部20−2によって転送されたパケットを受信すると、このパケットに含まれる送信元アドレスを変換する。
例えば、転送部20−2によって転送されたパケットには、送信元アドレスとして「02−A」が含まれ、宛先アドレスとして「02−c」が含まれる。アドレス変換部15−2は、予め設定されたアドレス変換情報を参照し、送信元アドレスを「01−b」に変換する。このアドレス変換は、アドレスが重複するか否かに関係なく行われる。
アドレス変換部15−2は、アドレスを変換したパケットを、パケットを受信したインタフェースと対として指定されたインタフェースから出力する。すると、このパケットは、アドレス変換部15−1によって受信される。アドレス変換部15−1は、アドレス変換部15−2によって転送されたパケットを受信すると、このパケットに含まれる宛先アドレスを変換する。
例えば、アドレス変換部15−2によって転送されたパケットには、送信元アドレスとして「01−b」が含まれ、宛先アドレスとして「02−c」が含まれる。アドレス変換部15−1は、予め設定されたアドレス変換情報を参照し、宛先アドレスを「01−A」に変換する。このアドレス変換は、アドレスが重複するか否かに関係なく行われる。
アドレス変換部15−1は、アドレスを変換したパケットを、パケットを受信したインタフェースと対として指定されたインタフェースから出力する。すると、このパケットは、転送部20−1によって受信される。転送部20−1は、アドレス変換部15−1によってアドレスが変換されたパケットを受信すると、このパケットに含まれるアドレスに基づくルーティングによって、受信したパケットを転送する。
例えば、アドレス変換部15−1によってアドレスが変換されたパケットには、宛先アドレスとして「01−A」が含まれる。一方、転送部20−1は、「01−A」を宛先アドレスとして含むパケットを出力すべきインタフェースの情報をルーティング情報として有している。このため、転送部20−1は、パケットの宛先アドレスを参照し、このルーティング情報に従って、アドレス変換部15−1によってアドレスが変換されたパケットを転送する。こうして、拠点2配下の端末30−2から送信されたパケットは、拠点1配下の端末30−1に転送される。
さて、上述した拠点1配下の端末30−1と拠点2配下の端末30−2との間のパケット転送について、図6を用いて具体的に説明する。なお、アドレスの表記方法や、各拠点で用いられるアドレスは、図3を用いて説明した例と同じである。
例えば、拠点間接続システム1は、拠点1配下の端末30−1から送信されたパケットを、拠点2配下の端末30−2に向けて転送する。このパケットは、図6に示すように、送信元アドレス(Src)が「10.0.0.5」であり、宛先アドレス(Dst)が「172.16.0.5」である。
ここで、転送部20−1は、「172.16.0.5」を宛先アドレスとして含むパケットは、「192.168.0.1/30」のインタフェースにルーティングして転送するとのルーティング情報を有している。このため、転送部20−1は、拠点1配下の端末30−1から送信されたパケットを「192.168.0.1/30」のインタフェースにルーティングし、出力する。なお、この段階において、送信元アドレス及び宛先アドレスに変更はない。
転送部20−1によって転送されたパケットは、アドレス変換部15−1によって受信される。アドレス変換部15−1は、送信元アドレスを「172.16.0.6」に変換する。このアドレス変換は、アドレスが重複するか否かに関係なく行われる。また、アドレス変換部15−1は、アドレスを変換したパケットを、パケットを受信したインタフェースと対として指定されたインタフェースから出力する。すると、このパケットは、アドレス変換部15−2によって受信される。
アドレス変換部15−2は、宛先アドレスを「10.0.0.5」に変換する。このアドレス変換は、アドレスが重複するか否かに関係なく行われる。また、アドレス変換部15−2は、アドレスを変換したパケットを、パケットを受信したインタフェースと対として指定されたインタフェースから出力する。すると、このパケットは、転送部20−2によって受信される。
ここで、転送部20−2は、「10.0.0.5」を宛先アドレスとして含むパケットは、「10.0.0.254/24」のインタフェースにルーティングして転送するとのルーティング情報を有している。このため、転送部20−2は、アドレス変換部15−2によってアドレスが変換されたパケットを「10.0.0.254/24」のインタフェースにルーティングし、出力する。なお、この段階において、送信元アドレス及び宛先アドレスに変更はない。こうして、拠点1配下の端末30−1から送信されたパケットは、拠点2配下の端末30−2に転送される。
一方、例えば、拠点間接続システム1は、拠点2配下の端末30−2から送信されたパケットを、拠点1配下の端末30−1に向けて転送する。このパケットは、図6に示すように、送信元アドレス(Src)が「10.0.0.5」であり、宛先アドレス(Dst)が「172.16.0.6」である。
ここで、転送部20−2は、「172.16.0.6」を宛先アドレスとして含むパケットは、「192.168.2.2/30」のインタフェースにルーティングして転送するとのルーティング情報を有している。このため、転送部20−2は、拠点2配下の端末30−2から送信されたパケットを「192.168.2.2/30」のインタフェースにルーティングし、出力する。なお、この段階において、送信元アドレス及び宛先アドレスに変更はない。
転送部20−2によって転送されたパケットは、アドレス変換部15−2によって受信される。アドレス変換部15−2は、送信元アドレスを「172.16.0.5」に変換する。このアドレス変換は、アドレスが重複するか否かに関係なく行われる。また、アドレス変換部15−2は、アドレスを変換したパケットを、パケットを受信したインタフェースと対として指定されたインタフェースから出力する。すると、このパケットは、アドレス変換部15−1によって受信される。
アドレス変換部15−1は、宛先アドレスを「10.0.0.5」に変換する。このアドレス変換は、アドレスが重複するか否かに関係なく行われる。また、アドレス変換部15−1は、アドレスを変換したパケットを、パケットを受信したインタフェースと対として指定されたインタフェースから出力する。すると、このパケットは、転送部20−1によって受信される。
ここで、転送部20−1は、「10.0.0.5」を宛先アドレスとして含むパケットは、「10.0.0.254/24」のインタフェースにルーティングして転送するとのルーティング情報を有している。このため、転送部20−1は、アドレス変換部15−1によってアドレスが変換されたパケットを「10.0.0.254/24」のインタフェースにルーティングし、出力する。なお、この段階において、送信元アドレス及び宛先アドレスに変更はない。こうして、拠点2配下の端末30−2から送信されたパケットは、拠点1配下の端末30−1に転送される。
なお、仮に、拠点1内で拠点2配下の端末30−2が一意に識別されるアドレスと、拠点2内で拠点1配下の端末30−1が一意に識別されるアドレスとが同一の場合にも、拠点間接続システム1は、端末30−1と端末30−2との間のパケット転送を同様に実現することができる。例えば、この場合、アドレス変換部15−1は、転送用のパケットの宛先アドレスと送信元アドレスとが同一になるように変換する。
なお、説明を省略するが、拠点2配下の端末30−2と拠点3配下の端末30−3との間のパケット転送、及び拠点1配下の端末30−1と拠点3配下の端末30−3との間のパケット転送についても同様に、拠点間接続システム1は、送信元側の拠点内で用いられているアドレスに従ってまずルーティングを行い、ルーティング後、パケットに含まれるアドレスを変換し、変換後のアドレスに従ってルーティングを行い、宛先の端末に向けてパケットを転送する。
(SingleNAT2回片方向方式)
図7は、第2の実施形態に係るアドレス変換の具体例(SingleNAT2回片方向方式)を説明するための図である。図5と対比するとわかるように、例えば、アドレス変換部15−11及びアドレス変換部15−12は、図5に示すアドレス変換部15−1によるアドレス変換を、パケット転送の向きに応じ、異なる部によって実現するものである。
すなわち、アドレス変換部15−11、15−12は、拠点1配下の端末30−1から拠点2配下の端末30−2にパケットを転送する場合のアドレス変換を行い、アドレス変換部15−21、15−22は、拠点2配下の端末30−2から拠点1配下の端末30−1にパケットを転送する場合のアドレス変換を行う。
(第3の実施形態)
続いて、第3の実施形態を説明する。第3の実施形態においては、既存の拠点間接続用に生成されたアドレス変換情報から、第1の実施形態又は第2の実施形態に係る拠点間接続システム1用のアドレス変換情報を生成するオペレーションシステムを説明する。
すなわち、既存の拠点間接続においては、例えば2拠点間の拠点間接続の場合、TwiceNATのアドレス変換情報が2エントリ分(パケットの送信側に設置されたアドレス変換装置用、及びパケットの受信側に設置されたアドレス変換装置用)生成される。第3の実施形態に係るオペレーションシステムは、このアドレス変換情報から、必要に応じ、「TwiceNAT1回双方向方式」、「TwiceNAT1回片方向方式」、「SingleNAT2回双方向方式」、「SingleNAT2回片方向方式」に対応するアドレス変換情報を再生成する。
図8は、第3の実施形態に係るオペレーションシステム100の構成例を示す図である。図8に示すように、第3の実施形態に係るオペレーションシステム100は、既存の拠点間接続管理システム110と、アドレス変換情報再生成部150とを備える。また、オペレーションシステム100は、図8において点線の矢印で示すように、生成した各種設定情報を、アドレス変換部10、転送部20−1、及び転送部20−2に設定する。
図9は、第3の実施形態に係るオペレーションシステム100による処理手順を示すシーケンス図である。なお、第3の実施形態に係るオペレーションシステム100による処理のうち、拠点間接続管理システム110による処理は、既に提案されている公知のシステムと同様の機能であり、この公知のシステムを用いて実現することができる。また、図9に示す処理手順は一例に過ぎず、任意に変更することができる。例えばルーティング情報の設定及びアドレス変換情報の設定の順番は、反対でもよい。
図9に示すように、例えば、拠点間接続管理システム110は、拠点間接続サービスの利用申請を利用者から受け付ける(ステップS1)。この利用申請は、電話などによって行われてもよく、例えば、拠点間接続管理システム110の運用者が拠点の管理者から電話にてヒアリングすることで、拠点側にて用いられているIPアドレス帯などの拠点情報を収集する。その後、拠点間接続管理システム110は、利用申請によって収集された拠点情報を記憶部に格納し、登録する(ステップS2)。
また、拠点間接続管理システム110は、拠点間接続の接続申請を利用者から受け付ける(ステップS3)。この接続申請は、拠点の管理者向けに設置されたWebサーバ上の入力画面などによって行われてもよく、例えば、拠点間接続管理システム110は、拠点間接続に参加する拠点を識別するIDや、拠点間接続を利用する時間帯などの情報を受け付ける。
その後、拠点間接続管理システム110は、接続申請によって申請された時間帯に拠点間接続を提供できるタイミングで、各種設定情報の生成や、生成した設定情報の設定などを行う。具体的には、拠点間接続管理システム110は、まず、各種設定情報として、ルーティング情報や、アドレス変換情報の生成を行う(ステップS4)。
なお、第3の実施形態において生成されるルーティング情報は、拠点間接続が、例えば図1の構成で構築されることを前提として生成される。すなわち、ルーティング情報には、上述したように、接続元の拠点内で接続先の拠点配下の端末が一意に識別されるアドレスと、このアドレスを宛先アドレスとして含むパケットを転送するインタフェースの情報とが含まれる。例えば、拠点間接続管理システム100は、利用者によって予め申請されたIPアドレス帯を参照し、未だ利用されていないアドレスの中から、接続先の拠点配下の端末が一意に識別されるアドレスを特定し、特定したこのアドレスと、所定のインタフェースの情報とから、ルーティング情報を生成する。
また、ここで生成されるアドレス変換情報は、既存の拠点間接続用のアドレス変換情報であり、例えば2拠点間の拠点間接続の場合、TwiceNATのアドレス変換情報2エントリ分(パケットの送信側に設置されたアドレス変換装置用、及びパケットの受信側に設置されたアドレス変換装置用)である。
次に、拠点間接続管理システム110は、既存の拠点間接続用として生成したアドレス変換情報を、アドレス変換情報再生成部150に送信する(ステップS5)。すると、アドレス変換情報再生成部150は、既存の拠点間接続用のアドレス変換情報から、新たなアドレス変換情報を再生成する(ステップS6)。
ここで、新たなアドレス変換情報とは、既存のアドレス変換情報とは異なり、第1の実施形態や第2の実施形態におけるアドレス変換部に設定されるアドレス変換情報のことである。言い換えると、新たなアドレス変換情報とは、IPレイヤのルーティングを前提とせずにアドレスの重複を許容する強制的なアドレス変換に用いられるアドレス変換情報であり、「TwiceNAT1回双方向方式」、「TwiceNAT1回片方向方式」、「SingleNAT2回双方向方式」、「SingleNAT2回片方向方式」などに適用されるアドレス変換情報である。なお、アドレス変換情報再生成部150によるアドレス変換情報の再生成については、後に詳述する。
そして、アドレス変換情報再生成部150が、新たに再生成したアドレス変換情報を拠点間接続管理システム110に送信すると(ステップS7)、拠点間接続管理システム110は、ステップS4において既に生成したルーティング情報を転送部20に設定するとともに(ステップS8)、ステップS7において受信したアドレス変換情報をアドレス変換部に設定する(ステップS9)。この結果、拠点間接続が提供される(ステップS10)。
図10は、第3の実施形態に係るアドレス変換情報再生成部150の構成例を示す図である。図10に示すように、第3の実施形態に係るアドレス変換情報再生成部150は、アドレス変換方式記憶部150aと、アドレス変換情報受付部150bと、アドレス変換方式判定部150cと、TwiceNAT生成部150dと、TwiceNAT複製部150eと、SingleNAT生成部150fと、SingleNAT複製部150gと、アドレス変換情報出力部150hとを備える。
アドレス変換方式記憶部150aは、どの方式のアドレス変換情報を再生成すべきかが記述された方式情報を記憶する。また、アドレス変換方式記憶部150aに記憶された方式情報は、アドレス変換方式判定部150cによる処理に用いられる。アドレス変換方式記憶部150aは、例えばオペレーションシステム100の運用者によって予め入力されることで、この方式情報を予め記憶する。
図11は、第3の実施形態に係る方式情報の具体例を説明するための図である。図11に示すように、アドレス変換方式記憶部150aは、方式情報として、例えば、『拠点No』、『拠点No』、『SorT』、及び『KorS』を対応付けて記憶する。『拠点No』は、拠点を一意に識別する番号であり、2つの『拠点No』を対応付けることで、2拠点の組み合わせを一意に識別する。また、『SorT』は、「SingleNAT2回方式」であるのか「TwiceNAT1回方式」であるのかを特定する情報である。また、『KorS』は、「片方向」であるのか「双方向」であるのかを特定する情報である。
このような方式情報によって、「TwiceNAT1回双方向方式」、「TwiceNAT1回片方向方式」、「SingleNAT2回双方向方式」、「SingleNAT2回片方向方式」の4方式のうち、どの方式のアドレス変換情報を再生成すべきかが記述される。例えば、『1,2,T,S』は、『拠点1』と『拠点2』との間に適用されるアドレス変換情報としては、「TwiceNAT1回双方向方式」のアドレス変換情報を再生成すべきであることを示す。
なお、第3の実施形態においては、アドレス変換方式記憶部150aが予め方式情報を記憶する例を説明するが、これに限られるものではない。例えば、拠点間接続システム110がアドレス変換情報をアドレス変換情報再生成部150に送信する際に、その都度、方式情報を併せて送信してもよい。この場合、アドレス変換方式判定部150cは、アドレス変換情報と併せて送信された方式情報を用いて処理を行う。
アドレス変換情報受付部150bは、既存のアドレス変換情報と、拠点の組み合わせを一意に識別する情報とを、拠点間接続管理システム110から受け付ける。また、アドレス変換情報受付部150bは、拠点間接続管理システム110から受け付けた既存のアドレス変換情報と、拠点の組み合わせを一意に識別する情報とを、アドレス変換方式判定部150cに送る。
図12は、既存の拠点間接続システム2の構成例を示す図であり、図13は、既存のアドレス変換情報の具体例を説明するための図である。図12に示すように、既存の拠点間接続システム2は、広域ネットワーク側に設置された転送部に各拠点をスター型に収容するとともに、各拠点と転送部との間にアドレス変換部を設置する。
また、既存の拠点間接続システム2において、アドレス変換部は、TwiceNATによってパケットの送信元アドレス及び宛先アドレスの双方を変換する。例えば、アドレス変換部Xは、拠点1からパケットを受信すると、予め設定されたアドレス変換情報「01−A:01−b⇔α:β」を参照する。そして、アドレス変換部Yは、そのパケットの送信元アドレス「01−A」及び宛先アドレス「01−b」の双方を、広域ネットワーク側で用いられるアドレス「α」及び「β」に変換する。一方、アドレス変換部Yは、広域ネットワーク側からパケットを受信すると、予め設定されたアドレス変換情報「02−A:02−c⇔β:α」を参照する。そして、アドレス変換部Yは、そのパケットの送信元アドレス「α」及び宛先アドレス「β」の双方を、拠点2で用いられるアドレス「02−c」及び「02−A」に変換する。
図12に示す構成例の場合、アドレス変換部X、アドレス変換部Y、及びアドレス変換部Zに設定されるアドレス変換情報は、例えば図13に示すアドレス変換情報となる。アドレス変換情報受付部150bは、例えば図13に示すアドレス変換情報を、拠点間接続管理システム110から受け付ける。
図10に戻り、アドレス変換方式判定部150cは、既存のアドレス変換情報と、拠点の組み合わせを一意に識別する情報とを、アドレス変換情報受付部150bから受け取ると、アドレス変換方式記憶部150aを参照し、この拠点の組み合わせに適用すべきアドレス変換方式を判定する。また、アドレス変換方式判定部150cは、既存のアドレス変換情報と、判定結果とを、TwiceNAT生成部150dに送る。
例えば、アドレス変換方式判定部150cは、図13に示すアドレス変換情報と、拠点の組み合わせ『1、2、3』とをアドレス変換情報受付部150bから受け取ると、アドレス変換方式記憶部150aを参照し、方式情報『1,2,T,S』、『1,3,T,S』、『2,3,T,S』を取得する。そして、アドレス変換方式判定部150cは、拠点1と拠点2との間、拠点1と拠点3との間、拠点2と拠点3との間には、いずれも、「TwiceNAT1回双方向方式」を適用すべきであると判定する。
TwiceNAT生成部150dは、既存のアドレス変換情報と、判定結果とをアドレス変換方式判定部150cから受け取ると、既存のアドレス変換情報からTwiceNATのアドレス変換情報を再生成する。具体的には、TwiceNAT生成部150dは、拠点1内で拠点1配下の端末30−1が一意に識別されるアドレスと、拠点2内で拠点1配下の端末30−1が一意に識別されるアドレスとを対応付けた情報、及び、拠点1内で拠点2配下の端末30−2が一意に識別されるアドレスと、拠点2内で拠点2配下の端末30−2が一意に識別されるアドレスとを対応付けた情報の組み合わせを生成する。
また、TwiceNAT生成部150dは、再生成したTwiceNATのアドレス変換情報を、判定結果に基づいて、アドレス変換情報出力部150h、TwiceNAT複製部150e、又はSingleNAT生成部150fに送る。
ここで、第3の実施形態に係るアドレス変換情報再生成部150は、後述するように、既存のアドレス変換情報から、まず「TwiceNAT1回双方向方式」のアドレス変換情報を生成し、この「TwiceNAT1回双方向方式」のアドレス変換情報から、「TwiceNAT1回片方向方式」、「SingleNAT2回双方向方式」、「SingleNAT2回片方向方式」それぞれのアドレス変換情報を生成する。
このため、TwiceNAT生成部150dは、判定結果が「TwiceNAT1回双方向方式」である場合には、再生成した「TwiceNAT1回双方向方式」のアドレス変換情報を、そのままアドレス変換情報出力部150hに送る。また、TwiceNAT生成部150dは、判定結果が「TwiceNAT1回片方向方式」である場合には、再生成した「TwiceNAT1回双方向方式」のアドレス変換情報を、TwiceNAT複製部150eに送る。
また、TwiceNAT生成部150dは、判定結果が「SingleNAT2回双方向方式」又は「SingleNAT2回片方向方式」である場合には、再生成した「TwiceNAT1回双方向方式」のアドレス変換情報を、SingleNAT生成部150fに送る。
図14及び図16は、第3の実施形態に係るアドレス変換情報の再生成処理手順を示すフローチャートであり、図15は、第3の実施形態に係るアドレス変換情報の再生成処理を説明するための図である。
TwiceNAT生成部150dは、既存のアドレス変換情報をアドレス変換方式判定部150cから受け付けると(ステップS101肯定)、アドレス変換情報の1エントリを読み込む(ステップS102)。例えば、TwiceNAT生成部150dは、既存のアドレス変換情報として、図15の(A)に示すアドレス変換情報を受け付ける。なお、図15の(A)に示すアドレス変換情報は、6エントリの例である。
次に、TwiceNAT生成部150dは、読み込んだ1エントリのアドレス変換情報から広域ネットワーク側のアドレスを抽出すると、抽出した広域ネットワーク側のアドレスから逆順のキーを作成し、作成した逆順のキーを用いて一時データベースを検索する(ステップS103)。例えば、TwiceNAT生成部150dは、図15の(A)に示すように、読み込んだ1エントリ「01−A:01−b⇔α:β」から「α:β」を抽出すると、逆順のキー「β:α」を作成し、この逆順のキー「β:α」を用いて一時データベースを検索する。
そして、TwiceNAT生成部150dは、検索できたか否かを判定する(ステップS104)。図15の(A)に示す例の場合、一時データベースには何も格納されておらず、TwiceNAT生成部150dは、検索に失敗する。このため、TwiceNAT生成部150dは、広域ネットワーク側のアドレス(正順)と検索元のアドレス変換情報とを対応付けて、一時データベースに格納する(ステップS105)。すなわち、TwiceNAT生成部150dは、「α:β」と「01−A:01−b」とを対応付けて、一時データベースに格納する(図15の(B)の一時データベースを参照)。
続いて、TwiceNAT生成部150dは、処理を行うべき他のエントリがあるか否かを判定する(ステップS106)。図15の(A)に示す例の場合、5エントリが残っているので、TwiceNAT生成部150dは、ステップS102の処理に戻る。
その後、TwiceNAT生成部150dは、同様の処理を繰り返し行う。すなわち、TwiceNAT生成部150dは、図15の(B)に示すように、読み込んだ次の1エントリ「01−A:01−c⇔α:γ」から逆順のキー「γ:α」を作成し、この逆順のキー「γ:α」を用いて一時データベースを検索するが、検索に失敗するので、「α:γ」と「01−A:01−c」とを対応付けて、一時データベースに格納する(図15の(C)の一時データベースを参照)。
また、TwiceNAT生成部150dは、図15の(C)に示すように、読み込んだ次の1エントリ「02−A:02−b⇔β:γ」から逆順のキー「γ:β」を作成し、この逆順のキー「γ:β」を用いて一時データベースを検索するが、検索に失敗するので、「β:γ」と「02−A:02−b」とを対応付けて、一時データベースに格納する(図15の(D)の一時データベースを参照)。
さて、TwiceNAT生成部150dが、図15の(D)に示すように、読み込んだ次の1エントリ「02−A:02−c⇔β:α」から逆順のキー「α:β」を作成し、この逆順のキー「α:β」を用いて一時データベースを検索すると、今度は、検索に成功する。このため、TwiceNAT生成部150dは、検索元のアドレス変換情報を逆順にし、既に格納済みのアドレス変換情報と組み合わせて、一時データベースに格納する(ステップS107)。すなわち、TwiceNAT生成部150dは、検索元のアドレス変換情報を逆順にした「02−c:02−A」と、「α:β」に対応付けられた格納済みのアドレス変換情報「01−A:01−b」とを対応付けて、一時データベースに格納する(図15の(E)の一時データベースを参照)。
その後、TwiceNAT生成部150dは、同様の処理を繰り返し行う。すなわち、TwiceNAT生成部150dは、図15の(E)に示すように、読み込んだ次の1エントリ「03−A:03−b⇔γ:α」から逆順のキー「α:γ」を作成し、この逆順のキー「α:γ」を用いて一時データベースを検索すると、検索に成功するので、検索元のアドレス変換情報を逆順にした「03−b:03−A」と、「α:γ」に対応付けられた格納済みのアドレス変換情報「01−A:01−c」とを対応付けて、一時データベースに格納する(図15の(F)の一時データベースを参照)。
また、TwiceNAT生成部150dは、図15の(F)に示すように、読み込んだ次の1エントリ「03−A:03−c⇔γ:β」から逆順のキー「β:γ」を作成し、この逆順のキー「β:γ」を用いて一時データベースを検索すると、検索に成功するので、検索元のアドレス変換情報を逆順にした「03−c:03−A」と、「β:γ」に対応付けられた格納済みのアドレス変換情報「02−A:02−b」とを対応付けて、一時データベースに格納する(図15において図示を省略)。
その後、TwiceNAT生成部150dは、処理を行うべき他のエントリはないと判定し(ステップS106否定)、一時データベースに格納されたアドレス変換情報の組合せを、新たなアドレス変換情報として生成する(ステップS108)。
図16に示すように、まず、TwiceNAT生成部150dは、一時データベースから1行分に相当する1エントリを読み込む(ステップS201)。例えば、TwiceNAT生成部150dは、「01−A:01−b 02−c:02−A」を読み込む。
次に、TwiceNAT生成部150dは、このエントリから拠点を示す情報を抽出し、読み込んだエントリがどの拠点間接続のアドレス変換情報として適用されるものであるかを特定する(ステップS202)。例えば、TwiceNAT生成部150dは、「01−A:01−b 02−c:02−A」から、拠点を示す情報として「01」及び「02」を抽出し、このエントリが、拠点「01」と拠点「02」との拠点間接続のアドレス変換情報として適用されるものであることを特定する。
続いて、TwiceNAT生成部150dは、該当するアドレス変換部のアドレス変換情報としてこのエントリを挿入する(ステップS203)。図17は、第3の実施形態に係るアドレス変換情報の具体例(TwiceNAT1回双方向方式)を説明するための図である。例えば、第3の実施形態に係るTwiceNAT生成部150dは、図17に示すように、アドレス変換情報の生成過程において、アドレス変換部の名前情報とアドレス変換情報とを対応付けて記憶する。このため、TwiceNAT生成部150dは、例えば、拠点「01」と拠点「02」との拠点間接続用であることが特定されたエントリについて、「01」及び「02」を用いて名前情報を検索し、「01」及び「02」を名前情報に有するアドレス変換部[T−NAT01−02]用のアドレス変換情報として挿入する。このアドレス変換情報は、図2に示したアドレス変換部10−1用のアドレス変換情報である。
続いて、TwiceNAT生成部150dは、処理を行うべき他のエントリがあるか否かを判定する(ステップS204)。残っている場合には(ステップS204肯定)、TwiceNAT生成部150dは、ステップS201の処理に戻り、例えば、次のエントリ「01−A:01−c 03−b:03−A」を読み込む。残っていない場合には(ステップS204否定)、TwiceNAT生成部150dは、処理を終了する。
なお、図14及び図16に示す処理手順は一例に過ぎず、処理の順番は任意に変更することができる。また、アドレス変換情報の生成処理が終了した後は、一時データベースに格納されたデータは消去される。
このように、TwiceNAT生成部150dは、広域ネットワーク側のアドレスを用いて、拠点xのアドレス変換情報と拠点yのアドレス変換情報とを照合する。また、TwiceNAT生成部150dは、拠点x側アドレス変換情報に含まれる「拠点x内で拠点x配下の端末が一意に識別されるアドレス」と、拠点y側アドレス変換情報に含まれる「拠点y内で拠点x配下の端末が一意に識別されるアドレス」とを対応付ける。また、TwiceNAT生成部150dは、拠点x側アドレス変換情報に含まれる「拠点x内で拠点y配下の端末が一意に識別されるアドレス」と、拠点y側アドレス変換情報に含まれる「拠点y内で拠点y配下の端末が一意に識別されるアドレス」とを対応付ける。その後、TwiceNAT生成部150dは、対応付けた結果を、新たなアドレス変換情報として生成する。なお、ここにいう「拠点x」及び「拠点y」は、拠点間接続に属する任意の2拠点を意味する。
こうして、TwiceNAT生成部150dは、図17に示すように、図2に示したアドレス変換部10−1用のアドレス変換情報として、「01−A:01−c 03−b:03−A」を生成し、アドレス変換部10−2用のアドレス変換情報として、「02−A:02−b⇔03−c:03−A」を生成し、アドレス変換部10−3用のアドレス変換情報として、「01−A:01−c⇔03−b:03−A」を生成する。なお、図13に示すアドレス変換情報と図17に示すアドレス変換情報とを対比するとわかるように、図2に示す拠点間接続システム1によれば、アドレス変換のためのエントリも少なくなる。
なお、上述したように、TwiceNAT生成部150dは、判定結果が「TwiceNAT1回双方向方式」である場合には、再生成した「TwiceNAT1回双方向方式」のアドレス変換情報を、そのままアドレス変換情報出力部150hに送る。
TwiceNAT複製部150eは、判定結果が「TwiceNAT1回片方向方式」である場合に、TwiceNAT生成部150dから「TwiceNAT1回双方向方式」のアドレス変換情報を受け取る。
「TwiceNAT1回片方向方式」の場合、図2と図4とを比較するとわかるように、アドレス変換情報が2つ必要である。このため、TwiceNAT複製部150eは、TwiceNAT生成部150dから受け取った「TwiceNAT1回双方向方式」のアドレス変換情報を複製し、複製元及び複製先の2つアドレス変換情報を、「TwiceNAT1回片方向方式」のアドレス変換情報として生成する。また、TwiceNAT複製部150eは、生成した「TwiceNAT1回片方向方式」のアドレス変換情報を、アドレス変換情報出力部150hに送る。
SingleNAT生成部150fは、判定結果が「SingleNAT2回双方向方式」又は「SingleNAT2回片方向方式」である場合に、TwiceNAT生成部150dから「TwiceNAT1回双方向方式」のアドレス変換情報を受け取る。そして、SingleNAT生成部150fは、「TwiceNAT1回双方向方式」のアドレス変換情報から、拠点1内で拠点1配下の端末30−1が一意に識別されるアドレスと、拠点2内で拠点1配下の端末30−1が一意に識別されるアドレスとを対応付けた情報を生成する。また、SingleNAT生成部150fは、拠点1内で拠点2配下の端末30−2が一意に識別されるアドレスと、拠点2内で拠点2配下の端末30−2が一意に識別されるアドレスとを対応付けた情報を生成する。
例えば、「SingleNAT2回双方向方式」の場合、SingleNAT生成部150fは、「TwiceNAT1回双方向方式」のアドレス変換情報を2つに分割することで、「SingleNAT2回双方向方式」のアドレス変換情報を生成する。例えば、図18に示すように、SingleNAT生成部150fは、「01−A:01−b⇔02−c:02−A」を対応する広域ネットワークアドレス毎に2つに分割し、広域ネットワークアドレス「α」に対応する「01−A⇔02−c」と、広域ネットワークアドレス「β」に対応する「02−A⇔01−b」とを生成する。この生成において、SingleNAT生成部150fは、例えば「α」に対応する各組の左側のアドレスについては、元のエントリから正順に「01−A」と「02−c」とを読み出して、「01−A⇔02−c」を生成する。一方、SingleNAT生成部150fは、例えば「β」に対応する各組の右側のアドレスについては、元のエントリから逆順に「02−A」と「01−b」とを読み出して、「02−A⇔01−b」を生成する。なお、図18は、第3の実施形態に係るアドレス変換情報の再生成処理を説明するための図である。
ここで、例えば、第3の実施形態に係るSingleNAT生成部150fは、図19に示すように、アドレス変換情報の生成過程において、アドレス変換部の名前情報とアドレス変換情報とを対応付けて記憶する。図19は、第3の実施形態に係るアドレス変換情報の具体例(SingleNAT2回双方向方式)を説明するための図である。
このため、SingleNAT生成部150fは、例えば、アドレス変換情報「01−A⇔02−c」から、拠点を示す情報として「01」及び「02」を抽出し、「01」及び「02」をこの順で名前情報に有するアドレス変換部[S−NAT01−02]用のアドレス情報として、このアドレス変換情報を挿入する。また、SingleNAT生成部150fは、例えば、アドレス変換情報「02−A⇔01−b」から、拠点を示す情報として「02」及び「01」を抽出し、「02」及び「01」をこの順で名前情報に有するアドレス変換部[S−NAT02−01]用のアドレス情報として、このアドレス変換情報を挿入する。「01−A⇔02−c」は、図5に示したアドレス変換部15−1用のアドレス変換情報であり、「02−A⇔01−b」は、アドレス変換部15−2用のアドレス変換情報である。
SingleNAT生成部150fは、同様に、図5に示したアドレス変換部15−3用のアドレス変換情報として、「02−A⇔03−c」を生成し、アドレス変換部15−4用のアドレス変換情報として、「03−A⇔02−b」を生成し、アドレス変換部15−5用のアドレス変換情報として、「01−A⇔03−b」を生成し、アドレス変換部15−6用のアドレス変換情報として、「03−A⇔01−c」を生成する。
なお、SingleNAT生成部150fは、判定結果が「SingleNAT2回双方向方式」である場合には、再生成した「SingleNAT2回双方向方式」のアドレス変換情報を、そのままアドレス変換情報出力部150hに送る。
図10に戻り、SingleNAT複製部150gは、判定結果が「SingleNAT2回片方向方式」である場合に、SingleNAT生成部150fから「SingleNAT2回双方向方式」のアドレス変換情報を受け取る。
「SingleNAT2回片方向方式」の場合、図5と図7とを比較するとわかるように、アドレス変換情報が2つ必要である。このため、SingleNAT複製部150gは、SingleNAT生成部150fから受け取った「SingleNAT2回双方向方式」のアドレス変換情報を複製し、複製元及び複製先の2つアドレス変換情報を、「SingleNAT2回片方向方式」のアドレス変換情報として生成する。また、SingleNAT複製部150gは、生成した「SingleNAT2回片方向方式」のアドレス変換情報を、アドレス変換情報出力部150hに送る。
図10に戻り、アドレス変換情報出力部150hは、TwiceNAT生成部150d、TwiceNAT複製部150e、SingleNAT生成部150f、又はSingleNAT複製部150gからアドレス変換情報を受け取ると、受け取ったアドレス変換情報を拠点間接続管理システム110に送信する。
このように、第3の実施形態に係るオペレーションシステム100は、既存のアドレス変換情報から、アドレスの重複を許容する強制的なアドレス変換に用いられるアドレス変換情報を自動生成することができるので、既存の拠点間接続システム2と、第1の実施形態や第2の実施形態のように新しいアドレス変換の構成を採用した拠点間接続システム1とを統合することも可能になる。言い換えると、スター型の構成とフルメッシュ型の構成との共存も可能になる。
(他の実施形態)
ところで、上述した拠点間接続システム1は、上述した実施形態以外にも、種々の異なる形態にて実施されてよい。
第1の実施形態〜第3の実施形態においては、拠点間接続の一例として端末間を相互に接続する利用形態を説明したが、例えば、データセンタ(Data Center)のVPNと自社のVPNとを相互に接続し、データセンタに設置された社内サーバに自社の利用者端末からアクセスする、といった利用形態などでもよい。また、このデータセンタが複数あった場合、データセンタ間も拠点間接続によって相互に接続してもよい。
例えば、実施形態3においては、既存のアドレス変換情報から、アドレスの重複を許容する強制的なアドレス変換に用いられる新たなアドレス変換情報を自動生成する手法を説明したが、これに限られるものではない。例えば、拠点間接続システム1は、既存のアドレス変換情報を流用することなく、新たなアドレス変換情報を生成してもよい。
[装置構成]
また、上記実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
例えば、第1の実施形態において図1に示したアドレス変換部10、転送部20−1、及び転送部20−2は、それぞれ物理的に異なる装置であってもよい。同様に、例えば、第2の実施形態において図2に示したアドレス変換部10−1、アドレス変換部10−2、アドレス変換部10−3、転送部20−1、転送部20−2、及び転送部20−3も、それぞれ物理的に異なる装置であってもよい。図4、図5、図7などに示すアドレス変換部、転送部も同様に、それぞれ物理的に異なる装置であってもよい。また、例えば、アドレス変換情報再生成部150は、拠点間接続管理システム110に組み込まれてもよい。また、例えば、アドレス変換情報再生成部150は、オペレーションシステム100とは物理的に異なる装置に備えられてもよい。
[プログラム]
また、上記実施例1に係るアドレス変換情報再生成部150が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上述した実施形態と同様の効果を得ることができる。さらに、かかるプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上述の実施形態と同様の処理を実現してもよい。以下に、図10に示したアドレス変換情報再生成部150と同様の機能を実現するプログラムを実行するコンピュータの一例を説明する。
図20は、アドレス変換情報を生成するプログラムを実行するコンピュータを示す図である。図20に示すように、コンピュータは、例えば、メモリと、CPU(Central Processing Unit)と、ハードディスクドライブインタフェースと、ディスクドライブインタフェースと、シリアルポートインタフェースと、ビデオアダプタと、ネットワークインタフェースとを有し、これらの各部はバスによって接続される。
メモリは、図20に示すように、ROM(Read Only Memory)及びRAM(Random Access Memory)を含む。ROMは、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェースは、図20に示すように、ハードディスクドライブに接続される。ディスクドライブインタフェースは、図20に示すように、ディスクドライブに接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブに挿入される。シリアルポートインタフェースは、図20に示すように、例えばマウス、キーボードに接続される。ビデオアダプタは、図20に示すように、例えばディスプレイに接続される。
ここで、図20に示すように、ハードディスクドライブは、例えば、OS、アプリケーションプログラム、プログラムモジュール、プログラムデータを記憶する。すなわち、上述のプログラムは、コンピュータによって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブに記憶される。例えば、図10に示したアドレス変換情報受付部150bと同様の情報処理を実行する手順と、アドレス変換方式判定部150cと同様の情報処理を実行する手順と、TwiceNAT生成部150dと同様の情報処理を実行する手順と、TwiceNAT複製部150eと同様の情報処理を実行する手順と、SingleNAT生成部150fと同様の情報処理を実行する手順と、SingleNAT複製部150gと同様の情報処理を実行する手順と、アドレス変換情報出力部150hと同様の情報処理を実行する手順と、が記述されたプログラムモジュールが、ハードディスクドライブに記憶される。
また、上記実施例で説明したアドレス変換情報再生成部150が保持する各種データは、プログラムデータとして、例えばメモリやハードディスクドライブに記憶される。そして、CPUが、メモリやハードディスクドライブに記憶されたプログラムモジュールやプログラムデータを必要に応じてRAMに読み出し、各手順を実行する。
なお、上述のプログラムに係るプログラムモジュールやプログラムデータは、ハードディスクドライブに記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPUによって読み出されてもよい。あるいは、上述のプログラムに係るプログラムモジュールやプログラムデータは、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェースを介してCPUによって読み出されてもよい。