JP2011019007A - ネットワークアドレス重複回避方法、装置、システムおよびプログラム - Google Patents

ネットワークアドレス重複回避方法、装置、システムおよびプログラム Download PDF

Info

Publication number
JP2011019007A
JP2011019007A JP2009161058A JP2009161058A JP2011019007A JP 2011019007 A JP2011019007 A JP 2011019007A JP 2009161058 A JP2009161058 A JP 2009161058A JP 2009161058 A JP2009161058 A JP 2009161058A JP 2011019007 A JP2011019007 A JP 2011019007A
Authority
JP
Japan
Prior art keywords
address
virtual
information
virtual network
network address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009161058A
Other languages
English (en)
Inventor
Yosuke Tanabe
陽介 田部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2009161058A priority Critical patent/JP2011019007A/ja
Publication of JP2011019007A publication Critical patent/JP2011019007A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】各ネットワークのゲートウェイとして動作する機器同士が情報の授受を行わずにアドレス重複を回避できるようにするネットワークアドレス重複回避方法を提供する。
【解決手段】アドレス重複判定手段91は、ネットワークアドレス重複回避装置および所属する所属ホストが宛先とする可能性がある宛先ネットワークアドレスを含むルーティング情報と、仮想ネットワークの構成情報である仮想ネットワーク情報とを用いて、宛先ネットワークアドレスと、仮想ネットワーク情報に含まれている仮想ネットワークアドレスとが重複しているか否かを判定する。重複回避仮想ネットワークアドレス生成手段92は、アドレス重複判定手段91によって重複していると判定された場合、宛先ネットワークアドレスと重複しない仮想ネットワークアドレスである重複回避仮想ネットワークアドレスを生成する。
【選択図】図26

Description

本発明は、ネットワークアドレス重複回避方法、ネットワークアドレス重複回避装置、ネットワークアドレス重複回避システムおよびネットワークアドレス重複回避プログラムに関し、特に、1以上のネットワークから構築される基本ネットワークと基本ネットワーク上に仮想的に構築される仮想ネットワークのネットワークアドレスの重複を回避するネットワークアドレス重複回避方法、ネットワークアドレス重複回避装置、ネットワークアドレス重複回避システムおよびネットワークアドレス重複回避プログラムに関する。
1つ以上のネットワークから構築される基本ネットワーク(以下、基本NWと記す。)上に、L2TP(Layer 2 Tunneling Protocol)やIPsec(Security Architecture for Internet Protocol )、SSL(Secure Socket Layer )などのVPN(Virtual Private Network )トンネル技術やGRE(Generic Routing Encapsulation )やIPIP(Internet Protocol - Internet Protocol )などのトンネル技術を用いて仮想的なネットワーク(以下、仮想NWと記す。)を実現する方法がある。このような方法として、仮想NWの管理サーバや管理者、使用者などが、仮想NWに参加するゲートウェイ(以下、仮想NWゲートウェイと記す。)に、基本NWのネットワークアドレス(以下、基本NWアドレスと記す。)、ホストアドレス(以下、基本ホストアドレスと記す。)とは別に仮想NWのネットワークアドレス(以下、仮想NWアドレスと記す。)、ホストアドレス(以下、仮想ホストアドレスと記す。)を付与する方法がある。この仮想NWゲートウェイは、仮想NWに参加する基本NW上のホストである仮想NW参加ホストの代理として仮想NWに参加するゲートウェイである。そして、この方法では、その付与された仮想ホストアドレスを基本ホストアドレスでカプセル化/デカプセル化し、基本NWアドレスを用いてルーティングすることにより仮想NW上での通信を行う。
ここで、基本NWアドレスと仮想NWアドレスの重複を避ける方法として、仮想NWの管理サーバや管理者、使用者などが仮想NWアドレスや仮想ホストアドレスを基本NWアドレスや基本ホストアドレスと重複しないように事前に設定しておく方法がある。以下、この方法を方法1と記す。
また、アドレスの重複が生じた場合には、アドレスの重複に関係する仮想NW参加ホストや仮想NWゲートウェイの基本NWにおける基本NWアドレス、基本ホストアドレスを再設定したり、または既に仮想NW参加ホストや仮想NWゲートウェイに付与されている仮想NWアドレス、仮想ホストアドレスを再設定したりする方法がある。以下、この方法を方法2と記す。
また、その他にも、仮想NWを実現する際のアドレス重複の解決方法としては、VPNでお互いのネットワーク同士を接続する際にお互いのゲートウェイがアドレス情報やルーティング情報を送受信し合い、アドレス重複時にはアドレス重複を回避するアドレスを生成し、VPN内でその生成したアドレスと元のアドレスとの変換設定を行う技術が開示されている(例えば、特許文献1、特許文献2参照)。以下、この方法を方法3と記す。
また、特許文献3には、プライベートネットワーク(以下、PNWと記す。)間でデータをカプセル化して通信する際、PNW1のNWアドレスとPNW2のNWアドレスが重複していても通信可能とする方法が記載されている。この方法では、PNWは、ゲートウェイの他に、変換ゲートウェイを有する。PNW1のゲートウェイは、PNW1,2のNWアドレスが重複しているか否かを判断し、重複していなければPNW2のゲートウェイと接続し、重複していればPNW2の変換ゲートウェイと接続する。また、PNW2の変換ゲートウェイは、PNW間でNWアドレスの重複がある場合に用いるために、PNW2の仮想アドレスと実NWアドレスとの変換テーブルを事前に用意し、その変換テーブルを用いてアドレスを変換する。PNW1のゲートウェイは、PNW1とPNW2のNWアドレスのテーブルを事前に保持し、そのテーブルによりアドレス重複の判断を行う。そして、PNW2のゲートウェイや変換ゲートウェイは、他のPNWからのデータをPNW2のノードに転送する際に、データの送信元アドレスをPNW2のゲートウェイのアドレスやPNW2の変換ゲートウェイのアドレスに変換する。また、特許文献3には、以下の方法も記載されている。NWアドレスが重複しない場合はPNW1のゲートウェイがPNW2のゲートウェイと接続し、重複する場合はPNW1の変換ゲートウェイがPNW2のゲートウェイと接続する。ここで、PNW1の変換ゲートウェイは、PNW間でNWアドレスの重複がある場合用にPWN2の仮想NWアドレスと実NWアドレスの変換テーブルを事前に用意しており、その変換テーブルを基にアドレスの変換を行う。また、PNW2のゲートウェイは他のPNWからのデータをPNW2のノードに転送する際に、送信元アドレスをPNW2のゲートウェイのアドレスに変換する。PNW1のノードがPNW2のノードにデータを送信する際には、PNW1のノードはPNW1とPNW2のNWアドレスに重複があるかないかを判断し、重複していない場合はPNW1のゲートウェイにデータを転送し、重複している場合はPNW1の変換ゲートウェイにデータを転送する。以下、特許文献3に記載された方法を方法4と記す。
また、特許文献4には、各拠点間でVPNを構成し、各拠点の実NWアドレスが重複する場合に、マスタVPNルータが各VPNルータから各VPNルータの拠点ネットワークの実NWアドレスを収集し、重複しない仮想NWアドレスを各VPNルータに割り当て、各VPNルータが各拠点の実NWアドレスと仮想NWアドレスの変換を行うシステムが記載されている。以下、この方法を方法5と記す。
特開2004−229299号公報 特開2007−202036号公報 特開2003−152767号公報 特開2008−301024号公報
仮想NWを実現する際に、基本NWアドレスと仮想NWアドレスが重複していると、仮想NW参加ホストや仮想NWゲートウェイはルーティングを意図した通りに行えないため、基本NWや仮想NW上の通信相手に意図した通りにデータを送信できない問題があった。なお、データとは、例えばOSI(Open Systems Interconnection)参照モデルのデータリンク層のフレームやネットワーク層のデータグラムのことであり、以降、データとは、これを指すものとする。
このようなアドレス重複を解決する方法として、前述の方法1〜3などがある。しかし、方法1では、アドレス重複が生じないように事前設定するためには、綿密な調査が必要であり、煩雑な調査を要してしまう。
また、方法2では、アドレスを再設定するノードとそれに関係するノード数の増加に伴い、再設定作業が非常に困難になる。
また、方法3では、VPNでお互いのネットワーク同士を接続する際に、ネットワークの内部情報を外部のゲートウェイに公開することになり、情報漏洩の可能性が存在する。例えば、特許文献1に記載された方法では、VPNでお互いのネットワーク同士を接続する際に、ゲートウェイが互いにアドレス情報を送受信し合うため、情報漏洩の可能性がある。特許文献2に記載された方法でも、ゲートウェイが互いにルーティング情報を送受信し合うため、情報漏洩の可能性がある。また、多点間での接続などのように接続関係が複雑になるにつれ、各ゲートウェイの保持するネットワークへのメトリックがわからなくなるために、ルーティングの混乱が起こる可能性が存在する。
方法4では、PNW1が1つのPNWだけでなく複数のPNW(例えば、PNW2,3)と接続するときに、ルーティングできない場合がある。例えば、PNW1、PNW2、PNW3でNWアドレスは重複していないが、PNW2、PNW3でNWアドレスが重複している場合や、PNW1、PNW2、PNW3でNWアドレスが重複していて、PNW2、PNW3で仮想NWアドレスが重複している場合、ルーティングできない。また、PNW1,2のNWアドレスが重複し、PNW1,3のNWアドレスが重複していないときに、PNW2の仮想NWアドレスとPNW3のNWアドレスが重複しているとルーティングできない。
方法5では、VPNルータが情報を送受信するので、方法3で述べた場合と同様に、情報漏洩の可能性がある。
本発明は、オーバーレイネットワーク用のアドレスとして割り当てられた仮想NWアドレスと、ネットワーク内の実アドレスとが重複する場合であっても、各ネットワークのゲートウェイとして動作する機器同士が情報の授受を行わずにアドレス重複を回避できるようにするネットワークアドレス重複回避方法、ネットワークアドレス重複回避装置、ネットワークアドレス重複回避システムおよびネットワークアドレス重複回避プログラムを提供することを目的とする。
本発明によるネットワークアドレス重複回避方法は、1以上のネットワークを含む基本ネットワークと仮想ネットワークとの間のデータ中継を行い、前記基本ネットワークのネットワークアドレスである基本ネットワークアドレスと、前記仮想ネットワークのアドレスである仮想ネットワークアドレスとの重複を回避するネットワークアドレス重複回避装置、および、当該ネットワークアドレス重複回避装置に所属する所属ホストが宛先とする可能性がある基本ネットワークアドレスである宛先ネットワークアドレスを含むルーティング情報と、前記仮想ネットワークの構成情報である仮想ネットワーク情報とを用いて、前記ルーティング情報に含まれている宛先ネットワークアドレスと、前記仮想ネットワーク情報に含まれている仮想ネットワークアドレスとが重複しているか否かを判定し、前記判定で重複していると判定された場合、前記宛先ネットワークアドレスと重複しない仮想ネットワークアドレスである重複回避仮想ネットワークアドレスを生成し、前記仮想ネットワーク情報に含まれている仮想ネットワークアドレスと前記重複回避仮想ネットワークアドレスとの間のアドレス変換情報を生成し、前記アドレス変換情報に基づいて、前記仮想ネットワーク情報から、アドレス重複を回避した仮想ネットワーク情報である重複回避仮想ネットワーク情報を生成し、前記重複回避仮想ネットワーク情報に基づいた設定により前記基本ネットワークと前記仮想ネットワークとの間のデータ中継を行うことを特徴とすることを特徴とする。
また、本発明によるネットワークアドレス重複回避装置は、1以上のネットワークを含む基本ネットワークと仮想ネットワークとの間のデータ中継を行い、前記基本ネットワークのネットワークアドレスである基本ネットワークアドレスと、前記仮想ネットワークのアドレスである仮想ネットワークアドレスとの重複を回避するネットワークアドレス重複回避装置であって、当該ネットワークアドレス重複回避装置、および、当該ネットワークアドレス重複回避装置に所属する所属ホストが宛先とする可能性がある基本ネットワークアドレスである宛先ネットワークアドレスを含むルーティング情報と、前記仮想ネットワークの構成情報である仮想ネットワーク情報とを用いて、前記ルーティング情報に含まれている宛先ネットワークアドレスと、前記仮想ネットワーク情報に含まれている仮想ネットワークアドレスとが重複しているか否かを判定するアドレス重複判定手段と、前記アドレス重複判定手段によって重複していると判定された場合、前記宛先ネットワークアドレスと重複しない仮想ネットワークアドレスである重複回避仮想ネットワークアドレスを生成する重複回避仮想ネットワークアドレス生成手段と、前記仮想ネットワーク情報に含まれている仮想ネットワークアドレスと前記重複回避仮想ネットワークアドレスとの間のアドレス変換情報を生成するアドレス変換情報生成手段と、前記アドレス変換情報に基づいて、前記仮想ネットワーク情報から、アドレス重複を回避した仮想ネットワーク情報である重複回避仮想ネットワーク情報を生成する重複回避仮想ネットワーク情報生成手段と、前記重複回避仮想ネットワーク情報に基づいた設定により前記基本ネットワークと前記仮想ネットワークとの間のデータ中継を行うデータ中継手段とを備えることを特徴とする。
また、本発明によるネットワークアドレス重複回避システムは、1以上のネットワークを含む基本ネットワークと仮想ネットワークとの間のデータ中継を行い、前記基本ネットワークのネットワークアドレスである基本ネットワークアドレスと、前記仮想ネットワークのアドレスである仮想ネットワークアドレスとの重複を回避するネットワークアドレス重複回避装置と、前記仮想ネットワークの構成情報である仮想ネットワーク情報を提供する仮想ネットワーク管理装置とを備え、ネットワークアドレス重複回避装置は、当該ネットワークアドレス重複回避装置、および、当該ネットワークアドレス重複回避装置に所属する所属ホストが宛先とする可能性がある基本ネットワークアドレスである宛先ネットワークアドレスを含むルーティング情報と、前記仮想ネットワーク情報とを用いて、前記ルーティング情報に含まれている宛先ネットワークアドレスと、前記仮想ネットワーク情報に含まれている仮想ネットワークアドレスとが重複しているか否かを判定するアドレス重複判定手段と、前記アドレス重複判定手段によって重複していると判定された場合、前記宛先ネットワークアドレスと重複しない仮想ネットワークアドレスである重複回避仮想ネットワークアドレスを生成する重複回避仮想ネットワークアドレス生成手段と、前記仮想ネットワーク情報に含まれている仮想ネットワークアドレスと前記重複回避仮想ネットワークアドレスとの間のアドレス変換情報を生成するアドレス変換情報生成手段と、前記アドレス変換情報に基づいて、前記仮想ネットワーク情報から、アドレス重複を回避した仮想ネットワーク情報である重複回避仮想ネットワーク情報を生成する重複回避仮想ネットワーク情報生成手段と、前記重複回避仮想ネットワーク情報に基づいた設定により前記基本ネットワークと前記仮想ネットワークとの間のデータ中継を行うデータ中継手段とを有することを特徴とする。
また、本発明によるネットワークアドレス重複回避プログラムは、1以上のネットワークを含む基本ネットワークと仮想ネットワークとの間のデータ中継を行い、前記基本ネットワークのネットワークアドレスである基本ネットワークアドレスと、前記仮想ネットワークのアドレスである仮想ネットワークアドレスとの重複を回避するコンピュータに搭載されるネットワークアドレス重複回避プログラムであって、前記コンピュータに、当該コンピュータ、および、当該コンピュータに所属する所属ホストが宛先とする可能性がある基本ネットワークアドレスである宛先ネットワークアドレスを含むルーティング情報と、前記仮想ネットワークの構成情報である仮想ネットワーク情報とを用いて、前記ルーティング情報に含まれている宛先ネットワークアドレスと、前記仮想ネットワーク情報に含まれている仮想ネットワークアドレスとが重複しているか否かを判定するアドレス重複判定処理、前記アドレス重複判定処理で重複していると判定された場合、前記宛先ネットワークアドレスと重複しない仮想ネットワークアドレスである重複回避仮想ネットワークアドレスを生成する重複回避仮想ネットワークアドレス生成処理、前記仮想ネットワーク情報に含まれている仮想ネットワークアドレスと前記重複回避仮想ネットワークアドレスとの間のアドレス変換情報を生成するアドレス変換情報生成処理、前記アドレス変換情報に基づいて、前記仮想ネットワーク情報から、アドレス重複を回避した仮想ネットワーク情報である重複回避仮想ネットワーク情報を生成する重複回避仮想ネットワーク情報生成処理、および、前記重複回避仮想ネットワーク情報に基づいた設定により前記基本ネットワークと前記仮想ネットワークとの間のデータ中継を行うデータ中継処理を実行させることを特徴とする。
本発明によれば、仮想NWアドレスと実アドレスとが重複する場合であっても、各ネットワークのゲートウェイとして動作する機器同士が情報の授受を行わずにアドレス重複を回避できる。
本発明の第1の実施形態のネットワークアドレス重複回避システムの例を示す説明図である。 仮想NWアドレス情報テーブルの一例を示す説明図である。 仮想ホスト情報テーブルの一例を示す説明図である。 仮想NWゲートウェイ情報テーブルの一例を示す説明図である。 所属関係情報テーブルの一例を示す説明図である。 仮想NWゲートウェイ処理部の構成例を示すブロック図である。 所属ホスト情報の一例を示す説明図である。 ルーティング情報の一例を示す説明図である。 アドレス変換情報の一例を示す説明図である。 重複回避仮想NW情報を生成する処理の例を示すフローチャートである。 仮想NWを構築する動作の例を示すフローチャートである。 データ転送時の動作の例を示すフローチャートである。 第1の実施形態の主な変形例を示す説明図である。 第1の実施形態の主な変形例を示す説明図である。 第1の実施形態の主な変形例を示す説明図である。 新規にホストが追加される際の状況の例を示す説明図である。 第2の実施形態における仮想NWゲートウェイ処理部の構成例を示すブロック図である。 第2の実施形態における重複回避仮想NW情報生成の例を示すフローチャートである。 第2の実施形態における仮想NWを構築する動作の例を示すフローチャートである。 第2の実施形態におけるデータ転送時の動作の例を示すフローチャートである。 第3の実施形態における仮想NWアドレス情報テーブルの一例を示す説明図である。 第3の実施形態における仮想ホスト情報テーブルの一例を示す説明図である。 第5の実施形態における仮想NWゲートウェイ処理部の構成例を示すブロック図である。 仮想インタフェース処理部の処理経過の例を示すフローチャートである。 第6の実施形態における仮想NWゲートウェイ処理部の構成例を示すブロック図である。 本発明の最小構成を示すブロック図である。
以下、本発明の実施形態を、図面を参照して説明する。
実施形態1.
図1は、本発明の第1の実施形態のネットワークアドレス重複回避システムの例を示す説明図である。本発明のネットワークアドレス重複回避システムは、仮想NWを構築する場合のネットワークアドレスの重複回避に適用される。以下、本発明のネットワークアドレス重複回避システムを、仮想NWシステムと記す。仮想NWシステムは、仮想NW参加ホスト2000と、仮想NWゲートウェイ処理部3000と、仮想NW管理部(仮想ネットワーク管理装置)4000とを含む。仮想NW参加ホスト2000、仮想NWゲートウェイ処理部3000、および仮想NW管理部4000は、基本NW1000に配置され、また、基本NWにおいて仮想NW5000が構築される。なお、以下の説明では、仮想NW参加ホスト2000をホスト2000と記す。
基本NW1000は、1つ以上のネットワークを含む。図1に示す例では、基本NW1000が、ネットワークA,B,C,D(以下、ネットワーク1000A〜1000Dと記す。)を含む場合を例示している。また、図1に示す例では、ネットワーク1000A〜1000Dのネットワークアドレスは、それぞれ10.0.0.0/24 、192.168.0.0/24、192.168.0.0/24、1.0.0.0/16であるものとする。また、ネットワーク1000Dと各ネットワーク間にはNAT(Network Address Translation )が存在するものとする。なお、基本NW1000を構成する各ネットワークの種類は特に限定されず、例えば、インターネット、イントラネット、パケット交換網、回線交換網、専用線、仮想NWなどであってもよい。
ホスト2000は基本NW1000上に存在しており、1つの仮想NWゲートウェイ処理部3000に所属する。ホスト2000が仮想NWゲートウェイ処理部3000に所属するとは、その仮想NWゲートウェイ処理部3000が、そのホスト2000の代理として仮想NW5000に参加することを意味する。換言すれば、ホスト2000が仮想NWゲートウェイ処理部3000に所属するとは、ホスト2000が仮想NWゲートウェイ処理部3000を経由して仮想NW5000に参加することを意味する。この所属関係は、仮想NW管理部4000の仮想NW情報4011の所属関係情報テーブルや、仮想NWゲートウェイ処理部3000の所属ホスト情報3011や、仮想NW情報3021に記述される。仮想NW情報4011の所属関係情報テーブル、仮想NWゲートウェイ処理部3000の所属ホスト情報3011、仮想NW情報3021については、それぞれ後述する。
ホスト2000と仮想NWゲートウェイ処理部3000は同一のネットワーク上に存在してもよいし、異なるネットワーク上に存在してもよい。図1に示す例では、ホストA,B,C,D(以下、ホスト2000A〜2000Dと記す。)が存在している。図1に示す例では、ホスト2000A、ホスト2000Bはネットワーク1000A上に存在し、ネットワーク1000A上の仮想NWゲートウェイ処理部Aに所属している。同様に、ホスト2000Cはネットワーク1000B上に存在し、ネットワーク1000B上の仮想NWゲートウェイ処理部Bに所属している。ホスト2000Dはネットワーク1000C上に存在し、ネットワーク1000C上の仮想NWゲートウェイ処理部Cに所属している。また、ホスト2000A、ホスト2000B、ホスト2000C、ホスト2000Dの基本ホストアドレスはそれぞれ10.0.0.1、10.0.0.2、192.168.0.1 、192.168.0.1 であるとする。
仮想NWゲートウェイ処理部3000は、本発明によるネットワークアドレス重複回避装置である。仮想NWゲートウェイ処理部3000は、基本NW1000上に存在し、その仮想NWゲートウェイ処理部3000に所属する0個以上のホスト2000(以下、所属ホスト2000と記す。)への到達性と、仮想NW管理部4000への到達性を持つ。仮想NWゲートウェイ処理部3000は、仮想NW管理部4000から受信した仮想NW5000に関する仮想NW情報4011に基づき、仮想NWゲートウェイ処理部3000上や、基本NW1000上に仮想的に仮想NW5000を構築する。このとき、仮想NWゲートウェイ処理部3000は、他の1つ以上の仮想NWゲートウェイ処理部3000と連携する場合はトンネル技術(以降、VPNトンネル技術も含む。)を用いて基本NW1000上に仮想的に仮想NW5000を構築する。また、仮想NWゲートウェイ処理部3000は、ホスト2000と仮想NW5000の中継処理を行う。なお、仮想NWゲートウェイ処理部3000は、ルータ上やサーバ上に設けられていてもよい。図1では、仮想NWゲートウェイ処理部A,B,C(以下、仮想NWゲートウェイ処理部3000A〜3000Cと記す。)が存在している場合を例示している。仮想NWゲートウェイ処理部3000Aはネットワーク1000A上に存在し、ホスト2000A、ホスト2000Bが仮想NWゲートウェイ処理部3000Aに所属している。同様に、仮想NWゲートウェイ処理部3000Bはネットワーク1000B上に存在し、ホスト2000Cが仮想NWゲートウェイ処理部3000Bに所属している。また、同様に、仮想NWゲートウェイ処理部3000Cはネットワーク1000C上に存在し、ホスト2000Dが仮想NWゲートウェイ処理部3000Cに所属している。
仮想NW管理部4000は基本NW1000上に存在し、仮想NWゲートウェイ処理部3000への到達性を持つ。仮想NW管理部4000は仮想NW情報管理部4010を有し、仮想NW情報管理部4010は仮想NW5000に関する仮想NW情報4011を管理する。仮想NW管理部4000は仮想NWゲートウェイ処理部3000に仮想NW情報4011を送信する。このとき、仮想NW管理部4000は、必要に応じて仮想NW情報4011を加工して送信する。仮想NW情報4011の送信形態は、仮想NW情報4011の全情報を送信する形態であっても、更新された情報のみを送信する形態であってもよい。また、仮想NW情報4011の送信タイミングの例として、仮想NW情報4011の更新時や、仮想NWゲートウェイ処理部3000からの要求時などが挙げられる。また、仮想NW管理部4000は定期的に仮想NW情報4011を送信してもよい。なお、仮想NW管理部4000の配置位置は基本NW1000上に限らず、仮想NWゲートウェイ処理部3000やホスト2000上に設けられていてもよい。図1に示す例では、仮想NW管理部4000がネットワーク1000D上に存在するものとする。また、ここでは、仮想NW管理部4000は、仮想NW情報4011の更新情報のみを仮想NWゲートウェイ処理部3000に送信するものとし、送信タイミングは仮想NW情報4011の更新時である場合を例にする。
仮想NW情報4011は、仮想NWの構成情報である。仮想NW情報4011の一例を図2、図3、図4、図5に示す。図2は、仮想NW情報4011のうちの仮想NWアドレス情報テーブルの一例を示す説明図である。仮想NWアドレス情報テーブルは、仮想NWアドレスを含むテーブルである。また、図2に示すように、仮想NWアドレス情報テーブル内の仮想NWアドレスはプレフィックス長も含むが、プレフィックス長の代わりにネットワークマスクとともに示されるアドレスであってもよい。
図3は、仮想NW情報4011のうちの仮想ホスト情報テーブルの一例を示す説明図である。仮想ホスト情報テーブルは、仮想ホストの識別子(以下、仮想ホストIDと記す。)と、その仮想ホストアドレスとの対応関係を示すテーブルである。仮想ホスト情報テーブルにおいて、仮想ホストアドレスとして、プロトコル番号やポート番号などのリソース情報を加えてもよい。
図4は、仮想NW情報4011のうちの仮想NWゲートウェイ情報テーブルの一例を示す説明図である。仮想NWゲートウェイ情報テーブルは、仮想NWゲートウェイ処理部3000の識別子(以下、仮想NWゲートウェイIDと記す。)と、その仮想NWゲートウェイ処理部3000の基本ホストアドレスとの対応関係を示すテーブルである。この基本ホストアドレスは、他の仮想NWゲートウェイ処理部3000からアクセス可能な仮想NWゲートウェイ処理部3000の基本ホストアドレスである。なお、仮想NWゲートウェイ処理部3000によっては、基本ホストアドレスが複数存在する場合もある。
図5は、仮想NW情報4011のうちの所属関係情報テーブルの一例を示す説明図である。所属関係情報テーブルは、仮想NWゲートウェイ処理部と、その仮想NWゲートウェイ処理部に所属する仮想ホストとの対応関係を示すテーブルである。所属関係情報テーブルでは、仮想NWゲートウェイ処理部を仮想NWゲートウェイIDで示し、仮想ホストを仮想ホストIDで示す。この仮想NWゲートウェイIDは、仮想NWゲートウェイ情報テーブル(図4参照)における仮想NWゲートウェイIDと同一である。また、仮想ホストIDは、仮想ホスト情報テーブル(図3参照)における仮想ホストIDと同一である。
仮想NW5000は、仮想NWゲートウェイ処理部3000上や基本NW1000上に仮想的に構築されるネットワークである。2つ以上の仮想NWゲートウェイ処理部3000が連携する場合、仮想NW5000は、トンネル技術により基本NW1000上に仮想的に構築される。図1に示す例では、仮想NW5000の仮想NWアドレスは10.0.0.0/24であるとする。また、ホスト2000A、ホスト2000B、ホスト2000C、ホスト2000Dの仮想NW5000上の仮想ホストアドレスは、それぞれ10.0.0.1、10.0.0.2、10.0.0.3、10.0.0.4であるとする。
以下、仮想NWゲートウェイ処理部3000(ネットワークアドレス重複回避装置)の構成を説明する。図6は、仮想NWゲートウェイ処理部3000の構成例を示すブロック図である。仮想NWゲートウェイ処理部3000は、所属ホスト情報管理部3010と、仮想NW情報管理部3020と、トンネル処理部3030と、ルーティング情報処理部3040と、データ転送処理部3050と、ルーティング情報管理部3060と、アドレス重複回避処理部3070とを備える。
所属ホスト情報管理部3010は所属ホスト情報3011を管理する。所属ホスト情報3011は、所属ホストのIDと、仮想NWゲートウェイ処理部3000がアクセス可能なその所属ホストの基本ホストアドレスとを含む情報である。図7は、所属ホスト情報3011の一例を示す説明図である。図7では、図1における仮想NWゲートウェイ処理部3000Aが保持する所属ホスト情報の例を示している。なお、基本ホストアドレスとして、プロトコル番号やポート番号などのリソース情報を加えてもよい。また、所属ホスト2000によっては基本ホストアドレスが複数存在する場合もある。ここで、所属ホストIDとして、仮想NW情報4011に含まれる仮想ホストIDと同一の識別子(ID)が用いられる。
仮想NW情報管理部3020は、仮想NW情報3021を管理する。仮想NW情報管理部3020は、仮想NWゲートウェイ処理部3000が仮想NW管理部4000から受信した仮想NW情報4011を仮想NW情報3021として保存する。なお、受信した仮想NW情報4011が、後述のルーティング情報3061に含まれるアドレスとの重複を回避するように変換された場合は、仮想NW情報管理部3020は変換後の仮想NW情報4011を仮想NW情報3021として保存する。以下、受信した仮想NW情報4011に対する変換処理(後述の図10に例示する処理)の後で、受信した仮想NW情報と同一内容のままとなっている仮想NW情報と、重複を回避するようにアドレスが変換された仮想NW情報との両方を併せて、「(重複回避)仮想NW情報」と記す。また、仮想NW情報管理部3020に保存される前の(重複回避)仮想NW情報には符号“4011”を用い、仮想NW情報管理部3020に保存された(重複回避)仮想NW情報には符号“3021”を用いる。
トンネル処理部3030は、(重複回避)仮想NW情報4011や(重複回避)仮想NW情報3021に基づいて、所属ホスト2000以外の仮想ホスト用に、外部の他の仮想NWゲートウェイ処理部3000との間にトンネル技術を用いてトンネルを構築する。
また、トンネル処理部3030は、(重複回避)仮想NW情報4011や(重複回避)仮想ネットワーク情報3021と、所属ホスト情報3011とに基づいて、所属ホスト2000の仮想ホスト用に、内部の所属ホスト2000とトンネル技術を用いてトンネルを構築し、その所属ホスト2000のトンネルインタフェースにその所属ホスト2000の仮想ホストアドレスを設定する。この動作は、より具体的には、その所属ホスト2000のトンネルインタフェースにその所属ホスト2000の仮想ホストアドレスが設定されるように、その所属ホスト2000に通知することである。この仮想ホストアドレスは、アドレスの重複を回避するように設定される。以下、この仮想ホストアドレスを「(重複回避)仮想ホストアドレス」と記す。
ルーティング情報処理部3040は、(重複回避)仮想NW情報4011や(重複回避)仮想NW情報3021に基づいて、(重複回避)仮想ホストアドレス宛てのデータを、トンネル処理部3030が構築した適切なトンネルに入れるように仮想NWゲートウェイ処理部3000のルーティングテーブルを設定する。このルーティングテーブルは、データのルーティング先を決める際に用いるテーブルであり、後述のルーティング情報3061とは異なる。
データ転送処理部3050は、仮想NWゲートウェイ処理部3000のルーティングテーブルに基づいてデータをルーティングし、データを転送する。
ルーティング情報管理部3060は、仮想NWゲートウェイ処理部3000や所属ホスト2000に関係する基本NW1000のルーティング情報3061を管理する。ここで、仮想NWゲートウェイ処理部3000に関係する基本NW1000とは、仮想NWゲートウェイ処理部3000が通信する際に宛先とする可能性がある基本NWであり、所属ホスト2000に関係する基本NW1000とは、所属ホスト2000が所属している仮想NWゲートウェイ処理部3000や所属ホスト2000が通信する際に宛先とする可能性がある基本NWである。図8は、ルーティング情報3061の一例を示す説明図である。図8では、図1における仮想NWゲートウェイ処理部3000Aが管理するルーティング情報の例を示している。ルーティング情報3061は、図8に示すように宛先ネットワークアドレスを含む。図8に示すように、ルーティング情報3061内の宛先ネットワークアドレスはプレフィックス長も含むが、プレフィックス長の代わりにネットワークマスクとともに示されるアドレスであってもよい。
また、ルーティング情報3061は、仮想NW管理部4000から割り当てられる仮想NWアドレスがある範囲のアドレスであることが前提であるならば、仮想NWゲートウェイ処理部3000およびその所属ホスト2000が通信する際に、その範囲内で宛先アドレスとする可能性があるアドレスが全て含まれていればよい。
また、仮想NWゲートウェイ処理部3000が保持するルーティングテーブルに、宛先アドレスとする可能性があるアドレスが全て含まれているならば、そのルーティングテーブルをルーティング情報3061の代わりに用いてもよい。
アドレス重複回避処理部3070は、重複判定処理部3071と、アドレス変換情報管理部3072と、重複回避仮想NW情報生成処理部3074と、外部トンネル構築情報変換処理部3075と、外部トンネルデータ変換処理部3076とを有する。
重複判定処理部3071は、受信した仮想NW情報4011の仮想NWアドレスとルーティング情報3061の宛先NWアドレスに重複が生じているか否かを判定する。
アドレス変換情報管理部3072は、ルーティング情報3061の宛先NWアドレスと重複しないネットワークアドレス(以下、重複回避仮想NWアドレスと記す。)を仮想NW5000のネットワークアドレス空間と同じ大きさ、または、それ以上の大きさで生成する。そして、アドレス変換情報管理部3072は、仮想NW管理部4000から受信した仮想NW情報4011に含まれている仮想NWアドレスと重複回避仮想NWアドレスとの間のアドレス変換情報3073を生成し、管理する。
なお、アドレス変換情報管理部3072は、重複回避仮想NWアドレスと仮想NWアドレスとの相互変換が可能ならば、仮想NWアドレスと異なるプロトコルにおける重複回避仮想NWアドレスを生成してもよい。例えば、仮想NWアドレスがIPv4アドレスである場合に、アドレス変換情報管理部3072は、IPv6アドレスの重複回避仮想NWアドレスを生成してもよい。
図9は、アドレス変換情報3073の一例を示す説明図である。なお、図9に示すアドレス変換情報は、図1における仮想NWゲートウェイ処理部3000Aで生成されたアドレス変換情報であるものとする。図9に示すように、アドレス変換情報3073における仮想NWアドレスおよび重複回避仮想NWアドレスは、それぞれプレフィックス長も含むが、プレフィックス長の代わりにネットワークマスクとともに示されるアドレスであってもよい。また、図9は仮想NWアドレスおよび重複回避仮想NWアドレスのプレフィックス長やネットマスクが同じである場合は、プレフィックス長やネットマスクを含まない仮想NWアドレスおよび重複回避仮想NWアドレスと、プレフィックス長やネットマスクだけの項目から構成されていてもよい。
また、アドレス変換情報3073は、仮想ホストアドレスと、その仮想ホストアドレスに1対1に対応する重複回避仮想NWアドレスを持つホストアドレス(以下、重複回避仮想ホストアドレスと記す。)の組み合わせを含んでいてもよい。
重複回避仮想NW情報生成処理部3074は、アドレス変換情報3073に基づいて、仮想NW情報4011から重複回避仮想NW情報4011を生成する。具体的には、仮想NW情報4011に含まれる仮想NWアドレス(図2参照)を重複回避仮想NWアドレスに変換し、同様に、仮想NW情報4011に含まれる仮想ホストアドレス(図3参照)を重複回避仮想ホストアドレスに変換した重複回避仮想NW情報4011を生成する。
外部トンネル構築情報変換処理部3075は、アドレス変換情報3073に基づいて、トンネル処理部3030が外部トンネルを構築する際に外部の他の仮想NWゲートウェイ処理部3000と送受信するトンネル構築情報に含まれる仮想NWアドレスと重複回避仮想NWアドレスとを相互変換する設定を行う。具体的には、仮想NWゲートウェイ処理部3000のトンネル処理部3030が外部の他の仮想NWゲートウェイ処理部3000に送信するトンネル構築情報に対しては、重複回避仮想NWアドレスを仮想NWアドレスに変換し、重複回避仮想ホストアドレスを仮想ホストアドレスに変換する処理を行うように設定する。また、仮想NWゲートウェイ処理部3000のトンネル処理部3030が外部の他の仮想NWゲートウェイ処理部3000から受信するトンネル構築情報に対しては、仮想NWアドレスを重複回避仮想NWアドレスに変換し、仮想ホストアドレスを重複回避仮想ホストアドレスに変換する処理を行うように設定する。
なお、トンネル構築情報とは、トンネルを構築する装置間で送受信される情報である。例えば、IPsecを用いてトンネルを構築する場合、IPsec SA(Security Association)の自動生成および管理のためにIKE(Internet Key Exchange )を用いるならば、IKEによって送受信されるメッセージがトンネル構築情報となる。IKE phase2で送受信されるIdentificationペイロードにはIPアドレスが含まれることが一般的であり、外部トンネル構築情報変換処理部3075は、例えば、このIPアドレスに関して仮想NWアドレスと重複回避仮想NWアドレスとを相互変換するように設定する。
外部トンネルデータ変換処理部3076は、アドレス変換情報3073に基づいて、トンネル処理部3030が構築した外部トンネルのインタフェースにおいて、データに含まれる仮想NWアドレスと重複回避仮想NWアドレスとを相互変換する設定を行う。具体的には、仮想NWゲートウェイ処理部3000が外部の他の仮想NWゲートウェイ処理部3000に向けて外部トンネルを通して送信するデータに対しては、重複回避仮想NWアドレスを仮想NWアドレスに変換し、重複回避仮想ホストアドレスを仮想ホストアドレスに変換する処理を行うように設定する。また、仮想NWゲートウェイ処理部3000が外部トンネルを通して外部の他の仮想NWゲートウェイ処理部3000から受信するデータに対しては、仮想NWアドレスを重複回避仮想NWアドレスに変換し、仮想ホストアドレスを重複回避仮想ホストアドレスに変換する処理を行うように設定する。
所属ホスト情報管理部3010、仮想NW情報管理部3020、トンネル処理部3030、ルーティング情報処理部3040、データ転送処理部3050、ルーティング情報管理部3060、およびアドレス重複回避処理部3070(重複判定処理部3071、アドレス変換情報管理部3072、重複回避仮想NW情報生成処理部3074、外部トンネル構築情報変換処理部3075、外部トンネルデータ変換処理部3076)は、例えば、プログラムに従って動作するコンピュータのCPUによって実現される。例えば、コンピュータのプログラム記憶部(図示略)に記憶されたネットワークアドレス重複回避プログラムをCPUが読み込み、CPUがそのプログラムに従って、上記の構成要素として動作してもよい。
次に、動作について説明する。
図10は、仮想NWゲートウェイ処理部3000が仮想NW管理部4000から仮想NW情報4011を受信した場合に、仮想NW情報4011から重複回避仮想NW情報を生成する処理の例を示すフローチャートである。
仮想NWゲートウェイ処理部3000が仮想NW管理部4000から仮想NW情報4011を受信すると(ステップS101)、以下の処理を行う。その仮想NW情報4011の受信が初めての仮想NW情報4011の受信である場合(ステップS102のY)、重複判定処理部3071は、受信した仮想NW情報4011内の仮想NWアドレス(図2参照)とルーティング情報3061内の宛先NWアドレス(図8参照)に重複が生じているか否かを判定する(ステップS103)。なお、仮想NW情報4011の受信が初めてであるか否かの判定(ステップS102)は、例えば、仮想NW情報管理部3020が行えばよい。ステップS102における仮想NW情報4011を初めて受信したか否かの判定は、少なくとも、仮想NW情報管理部3020に仮想NW情報3021が存在するか否かの判定によって行うことができる。すなわち、仮想NW情報3021が保存されていなければ、初めての受信であると判定し、仮想NW情報3021が保存されていれば、初めての受信ではないと判定することができる。
受信した仮想NW情報4011内の仮想NWアドレスとルーティング情報3061内の宛先NWアドレスとに重複が生じている場合(ステップS104のY)、アドレス変換情報管理部3072が、ルーティング情報3061内の宛先NWアドレスと重複しない重複回避仮想NWアドレスを生成する(ステップS105)。
続いて、アドレス変換情報管理部3072は、仮想NWアドレスと重複回避仮想NWアドレスとの間のアドレス変換情報3073を生成する(ステップS106)。
ステップS106の次に、重複回避仮想NW情報生成処理部3074は、アドレス変換情報3073に基づいて、仮想NW情報4011から重複回避仮想NW情報4011を生成する(ステップS107)。なお、重複回避仮想NW情報生成処理部3074は、重複回避仮想ホストアドレスが重複回避仮想NWアドレスに属するように重複回避仮想ホストアドレスを定める。
また、このアドレス変換情報3073は、仮想ホストアドレスと重複回避仮想ホストアドレスとの変換情報も含んでいる。仮想ホストアドレスと重複回避仮想ホストアドレスとの対応関係は、アドレス変換情報3073で明示的に示されていなくてもよい。例えば、図9に例示するアドレス変換情報3073において、仮想ホストアドレスが10.0.0.100の場合に、重複回避仮想ホストアドレスが10.0.1.100になることが非明示的に定められているとしてもよい。また、仮想ホストアドレスと重複回避仮想ホストアドレスとを明示的に1対1にマッピングする場合には、仮想ホストアドレスと、その仮想ホストアドレスに1対1に対応する重複回避仮想NWアドレスを明示的にアドレス変換情報3073に含めておけばよい。例えば、仮想ホストアドレスが10.0.0.100の場合は、重複回避仮想ホストアドレスは10.0.1.200であるという組み合わせなどを明示的にアドレス変換情報3073に記述しておけばよい。
また、ステップS101での仮想NW情報4011の受信が初めての仮想NW情報4011の受信でない場合(ステップS102のN)、既に重複判定処理部3071がネットワークアドレスの重複判定を行っていることになるので、ネットワークアドレスに重複が生じている場合はアドレス変換情報3073が存在することになる。仮想NW情報4011の受信が初めてでない場合(ステップS102のN)であって、アドレス変換情報3073が存在しているならば(ステップS108のY)、重複回避仮想NW情報生成処理部3074がステップS107の処理を行う。一方、仮想NW情報4011の受信が初めてでない場合(ステップS102のN)であって、アドレス変換情報3073が存在していない場合には(ステップS108のN)、重複回避仮想NW情報生成処理を終了する。なお、アドレス変換情報3073が存在するか否かの判定(ステップS108)は、例えば、アドレス変換情報管理部3072が行えばよい。
また、ステップS103の判定の結果、ネットワークアドレスに重複が生じていないと判定された場合(ステップS104のN)にも、重複回避仮想NW情報生成処理を終了する。
以下、仮想NWゲートウェイ処理部3000Aが図8に例示するルーティング情報3061を保持し、図2から図5までに例示する仮想NWを受信した場合における処理の具体例を示す。
ステップS103では、仮想NWゲートウェイ処理部3000Aの重複判定処理部3071は、仮想NW情報4011内の仮想NWアドレス10.0.0.0/24 (図2参照)と、ルーティング情報3061の宛先NWアドレス10.0.0.0/24 (図8参照)とから、ネットワークアドレスに重複が生じていると判定する。
また、ステップS105では、仮想NWゲートウェイ処理部3000Aのアドレス変換情報管理部3072は、ルーティング情報3061の宛先NWアドレス(図8参照)と重複せずに、仮想NW5000の仮想NWアドレス10.0.0.0/24と同じアドレス空間を持つ重複回避仮想NWアドレスを生成する。ここでは、重複回避仮想NWアドレスとして、10.0.1.0/24 を生成するものとする。
その結果、ステップS106では、仮想NWゲートウェイ処理部3000Aのアドレス変換情報管理部3072は、図9に示すアドレス変換情報3073を生成するものとする。
また、ステップS107では、仮想NWゲートウェイ処理部3000Aの重複回避仮想NW情報生成処理部3074は、仮想NW管理部4000から受信した仮想NW情報4011に含まれる仮想NWアドレス10.0.0.0/24 を、そのアドレス変換情報3073に基づいて、重複回避仮想NWアドレス10.0.1.0/24 に変換する。さらに、仮想NW情報4011に含まれるホスト2000A,2000B,2000C,2000Dの仮想ホストアドレス(図3参照)を、それぞれ重複回避仮想ホストアドレスに変換する。本例では、図3に示す10.0.0.1を10.0.1.1に変換する。同様に、10.0.0.2を10.0.1.2に変換する。同様に、10.0.0.3を10.0.1.3に変換する。同様に、10.0.0.4を10.0.1.4に変換する。以上の変換により、重複回避仮想NW情報生成処理部3074は、重複回避仮想NW情報4011を生成する。
なお、図10に示す処理において、ステップS104でネットワークアドレスが重複しないと判定された場合(ステップS104のN)などでは、変換は行われず、受信した仮想NW情報4011と同内容の仮想NW情報が得られる。
次に、図10に示す重複回避仮想NW情報の生成処理後に、仮想NWゲートウェイ処理部3000が(重複回避)仮想NW情報4011や(重複回避)仮想NW情報3021、所属ホスト情報3011に基づいて、仮想NW5000を構築する際の動作について説明する。図11は、仮想NWゲートウェイ処理部3000が仮想NW5000を構築する動作の例を示すフローチャートである。
仮想NWゲートウェイ処理部3000は、(重複回避)仮想NW情報4011から、処理対象とする処理対象仮想ホストを決定する。そして、決定した処理対象仮想ホスト毎に図11に示すステップS202およびS203、または、ステップS202およびステップS204〜S209の処理を行う。
仮想NWゲートウェイ処理部3000は、(重複回避)仮想NW情報4011から、処理対象仮想ホストを決定する(ステップS201)。ステップS201では、(重複回避)仮想NW情報4011の仮想ホスト情報テーブルや所属関係情報テーブルが示す各仮想ホストを処理対象仮想ホストとして、順次、決定すればよい。
仮想NWゲートウェイ処理部3000は、(重複回避)仮想NW情報4011における全ての処理対象仮想ホストに対して、ステップS201,S202,S203の処理、または、ステップS201,S202,S204〜S209の処理を実行する。そして、その後、ステップS210を実行する。
ステップS201の次に、仮想NWゲートウェイ処理部3000は、決定した処理対象仮想ホストが、所属ホスト2000であるか否かを判定する(ステップS202)。ステップS202では、処理対象仮想ホストの仮想ホストIDが所属ホスト情報3011に含まれていれば、所属ホスト2000に該当し、処理対象仮想ホストの仮想ホストIDが所属ホスト情報3011に含まれていなければ所属ホスト2000に該当しないと判定すればよい。または、(重複回避)仮想NW情報4011の所属関係情報テーブルから処理対象仮想ホストが所属ホスト2000に該当するかしないかを判定すればよい。
処理対象仮想ホストが所属ホスト2000である場合(ステップS202のY)、トンネル処理部3030およびルーティング情報処理部3040は、処理対象仮想ホストであるその所属ホスト2000を仮想NW5000に参加させるための処理を行う(ステップS203)。ステップS203において、トンネル処理部3030は、まず、(重複回避)仮想NW情報4011や(重複回避)仮想ネットワーク情報3021と、所属ホスト情報3011とに基づいて、処理対象仮想ホストである所属ホスト2000と内部トンネルを構築する(ステップS203−1)。次に、トンネル処理部3030は、その所属ホスト2000の内部トンネルインタフェースに処理対象仮想ホストの(重複回避)仮想ホストアドレスが設定されるようにその所属ホスト2000に通知する(ステップS203−2)。そして、ルーティング情報処理部3040が、(重複回避)仮想NW情報4011や(重複回避)仮想NW情報3021に基づいて、処理対象仮想ホスト宛てのデータを、ステップS203−1でトンネル処理部3030が構築した内部トンネルに入れるように仮想NWゲートウェイ処理部3000のルーティングテーブルを設定する(ステップS203−3)。なお、既に処理対象仮想ホスト用の内部トンネル構築や(重複回避)仮想ホストアドレスの設定、ルーティングテーブルの設定が完了している場合は、完了している処理に関しては処理を行わなくてもよい。また、ステップS203−2とステップS203−3の処理はどちらが先であってもよい。
なお、仮想NWゲートウェイ処理部3000がステップS203−1,S203−2,S203−3を行うときには、処理対象仮想ホストに該当する所属ホスト2000は、以下のように動作する。すなわち、その所属ホスト2000は、ステップS203−1において、トンネルを構築する処理を行い、ステップS203−2において、そのトンネルインタフェースに(重複回避)仮想ホストアドレスを設定する。そして、ステップS203−3で、そのトンネルに対して(重複回避)仮想NWアドレス宛のデータをそのトンネルに入れるように設定する。
ステップS201で決定した処理対象仮想ホストが所属ホスト2000ではない場合には(ステップS202のN)、例えば、アドレス変換情報管理部3072が、アドレス変換情報3073の有無を判定する(ステップS204)。
アドレス変換情報3073が存在する場合(ステップS204のY)、外部トンネル構築情報変換処理部3075は、アドレス変換情報3073に基づいて、トンネル処理部3030が処理対象仮想ホスト用の外部トンネルを構築する際に送受信するトンネル構築情報に含まれる仮想NWアドレスと重複回避仮想NWアドレスを相互変換する設定を行う(ステップS205)。ステップS205において、外部トンネル構築情報変換処理部3075は、外部の仮想NWゲートウェイ処理部3000に送信するトンネル構築情報に対しては、重複回避仮想NWアドレスを仮想NWアドレスに変換し、重複回避仮想ホストアドレスを仮想ホストアドレスに変換する処理を行うように設定する。また、外部の仮想NWゲートウェイ処理部3000などから受信するトンネル構築情報に対しては、仮想NWアドレスを重複回避仮想NWアドレスに変換し、仮想ホストアドレスを重複回避仮想ホストアドレスに変換する処理を行うように設定する。
ステップS205の後、トンネル処理部3030は、重複回避仮想NW情報4011や重複回避仮想NW情報3021に基づいて、処理対象仮想ホスト用の外部トンネルを構築する(ステップS206)。なお、既に処理対象仮想ホスト用の外部トンネル構築が完了している場合はこれらの処理を行わなくてもよい。
アドレス変換情報3073が存在しない場合(ステップS204のN)、外部トンネル構築情報変換処理部3075がステップS205の処理を実行せずに、トンネル処理部3030がステップS206を実行する。この場合においても、既に処理対象仮想ホスト用の外部トンネル構築が完了している場合はこの処理(ステップS206)を行わなくてよい。
ここで、トンネル処理部3030が処理対象仮想ホスト用の外部トンネルを構築する際にトンネル構築情報の送受信を行わない場合は、ステップS205の処理を行う必要がなく、従って、ステップS204の処理も行わなくてよい。従って、この場合には、ステップS201で決定した処理対象仮想ホストが所属ホスト2000ではないならば(ステップS202のN)、ステップS206に移行すればよい。
ステップS206の後、アドレス変換情報3073が存在する場合(ステップS207のY)、外部トンネルデータ変換処理部3076は、アドレス変換情報3073に基づいて、トンネル処理部3030が構築した処理対象仮想ホスト用の外部トンネルのインタフェースにおいて、データに含まれる仮想NWアドレスと重複回避仮想NWアドレスを相互変換する設定を行う(ステップS208)。ステップS208において、外部トンネルデータ変換処理部3076は、外部トンネルを通して送信するデータに対しては、重複回避仮想NWアドレスを仮想NWアドレスに変換し、重複回避仮想ホストアドレスを仮想ホストアドレスに変換する処理を行うように設定する。また、外部トンネルを通して受信するデータに対しては、仮想NWアドレスを重複回避仮想NWアドレスに変換し、仮想ホストアドレスを重複回避仮想ホストアドレスに変換する処理を行うように設定する。
ステップS208の後、ルーティング情報処理部3040は、(重複回避)仮想NW情報4011や(重複回避)仮想NW情報3021に基づいて、処理対象仮想ホスト宛てのデータを、トンネル処理部3030が構築した処理対象仮想ホスト用の外部トンネルに入れるように仮想NWゲートウェイ処理部3000のルーティングテーブルを設定する(ステップS209)。なお、既に処理対象仮想ホスト用の外部トンネルインタフェースへの仮想NWアドレスと重複回避仮想NWアドレスとの相互変換の設定やルーティングテーブルの設定が完了している場合、完了している処理に関しては処理を行わなくてもよい。また、ルーティング情報処理部3040は、ステップS209の処理を、ステップS206とステップS207との間で行ってもよい。
ステップS206の後、アドレス変換情報3073が存在しない場合(ステップS207のN)、外部トンネルデータ変換処理部3076がステップS208の処理を実行せずに、ルーティング情報処理部3040がステップS209の処理を実行する。また、既にルーティングテーブルの設定が完了している場合はこの処理(ステップS209)を行わなくてもよい。この場合においても、ルーティング情報処理部3040は、ステップS209の処理を、ステップS206とステップS207との間で行ってもよい。
(重複回避)仮想NW情報4011における全ての処理対象仮想ホストに対して、ステップS201,S202,S203の処理、または、ステップS201,S202,S204〜S209の処理が終わった後、仮想NW情報管理部3020は(重複回避)仮想NW情報4011を(重複回避)仮想NW情報3021として保存する(ステップS210)。なお、ステップS210の処理は、STARTからステップS210間のどこで実施してもよい。
なお、仮想NW5000の構築後に所属ホスト2000の基本ホストアドレスに変更があった場合は、トンネル処理部3030およびルーティング情報処理部3040が、ステップS203(図11参照)の処理を、基本ホストアドレスが変更された所属ホスト2000に対応する仮想ホストに関してだけ行う。
以下、処理の具体例を示す。図1に例示する仮想NWゲートウェイ処理部3000Aのトンネル処理部3030は、ステップS203において、所属ホスト2000Aと内部トンネル(“AA”と記す。)を構築し、所属ホスト2000Aの内部トンネルAAインタフェースに所属ホスト2000Aの重複回避仮想ホストアドレス10.0.1.1が設定されるように所属ホスト2000Aに通知する。同様に、所属ホスト2000Bと内部トンネル(“AB”と記す。)を構築し、所属ホスト2000Bの内部トンネルABインタフェースに所属ホスト2000Bの重複回避仮想ホストアドレス10.0.1.2が設定されるように所属ホスト2000Bに通知する。そして、仮想NWゲートウェイ処理部3000Aのルーティング情報処理部3040は、所属ホスト2000Aの重複回避仮想ホストアドレス10.0.1.1宛のデータを内部トンネルAAに入れるようにし、また、所属ホスト2000Bの重複回避仮想ホストアドレス10.0.1.2宛のデータを内部トンネルABに入れるように、ルーティングテーブルを更新する。他の仮想NWゲートウェイ処理部3000B,3000Cも、同様にステップS203を実行する。
また、仮想NWゲートウェイ処理部3000Aのトンネル処理部3030は、ステップS206において、仮想NWゲートウェイ処理部3000Bのトンネル処理部3030と外部トンネル(“AB”と記す。)を構築し、また、仮想NWゲートウェイ処理部3000Cのトンネル処理部3030と外部トンネル(“AC”と記す。)を構築する。他の仮想NWゲートウェイ処理部3000Bや3000Cも、同様にステップS206を実行する。
また、仮想NWゲートウェイ処理部3000Aの外部トンネルデータ変換処理部3076は、ステップS208において、アドレス変換情報3073を基に、トンネル処理部3030が構築した外部トンネルABの入力インタフェースにおいて、データに含まれるホスト2000Aの重複回避仮想ホストアドレス10.0.1.1を仮想ホストアドレス10.0.0.1に変換し、ホスト2000Bの重複回避仮想ホストアドレス10.0.1.2を仮想ホストアドレス10.0.0.2に変換し、ホスト2000Cの重複回避仮想ホストアドレス10.0.1.3を仮想ホストアドレス10.0.0.3に変換する設定を行う。また、外部トンネルABの出力インタフェースにおいて、データに含まれるホスト2000Aの仮想ホストアドレス10.0.0.1を重複回避仮想ホストアドレス10.0.1.1に変換し、ホスト2000Bの仮想ホストアドレス10.0.0.2を重複回避仮想ホストアドレス10.0.1.2に変換し、ホスト2000Cの仮想ホストアドレス10.0.0.3を重複回避仮想ホストアドレス10.0.1.3に変換する設定を行う。外部トンネルデータ変換処理部3076は、外部トンネルACのインタフェースに関しても同様の設定を行う。
仮想NWゲートウェイ処理部3000Aのルーティング情報処理部3040は、ステップS209において、ホスト2000Cの重複回避仮想ホストアドレス10.0.1.3宛のデータを外部トンネルABに入れるように、また、ホスト2000Dの重複回避仮想ホストアドレス10.0.1.4宛のデータを外部トンネルACに入れるように、仮想NWゲートウェイ処理部3000Aのルーティングテーブルを更新する。他の仮想NWゲートウェイ処理部3000Bや3000Cも、同様にステップS209を実行する。
次に、仮想NW5000の構築後に、仮想NWゲートウェイ処理部3000が受信したデータを転送する際の動作について説明する。図12は、仮想NWゲートウェイ処理部3000のデータ転送時の動作の例を示すフローチャートである。
仮想NWゲートウェイ処理部3000は、データを受信すると(ステップS301)、受信したデータの宛先アドレスが(重複回避)仮想NWアドレスに属するアドレスであるか否かを判定する(ステップS302)。ここで、「(重複回避)仮想NWアドレス」は、図10に示す処理で得られた(重複回避)仮想NW情報に含まれている仮想NWアドレスである。
受信したデータの宛先アドレスが(重複回避)仮想NWアドレスに属するアドレスである場合(ステップS302のY)、仮想NWゲートウェイ処理部3000は、データの送信元が所属ホスト2000であるか否かを判定する(ステップS303)。
データの送信元が所属ホスト2000である場合(ステップS303のY)、データ転送処理部3050は、ルーティングテーブルに基づいて、データの宛先アドレスに応じてデータを適切にルーティングする(ステップS306)。
データの送信元が所属ホスト2000でない場合には(ステップS303のN)、仮想ゲートウェイ処理部3000はアドレス変換情報3073の有無に応じて動作する。アドレス変換情報3073が存在する場合(ステップS304のY)、仮想NWゲートウェイ処理部3000は、外部トンネルデータ変換処理部3076の設定に基づいて、外部トンネルの出力インタフェースにおいて、データに含まれる仮想NWアドレスを重複回避仮想NWアドレスに変換し(ステップS305)、その後、ステップS306の処理を行う。
また、ステップS304においてアドレス変換情報3073が存在しない場合(ステップS304のN)、仮想NWゲートウェイ処理部3000は、ステップS305の処理を行わずに、ステップS306の処理を行う。
データのルーティング処理(ステップS306)の後、仮想NWゲートウェイ処理部3000は、データの宛先が所属ホスト2000であるかないかを判定する(ステップS307)。
データの宛先が所属ホスト2000である場合(ステップS307のY)、データ転送処理部3050はデータを適切に転送する(ステップS311)。
また、データの宛先が所属ホスト2000でない場合には(ステップS307のN)、仮想ゲートウェイ処理部3000はアドレス変換情報3073の有無に応じて動作する。アドレス変換情報3073が存在する場合(ステップS308のY)、仮想NWゲートウェイ処理部3000は、外部トンネルデータ変換処理部3076の設定に基づいて、外部トンネルの入力インタフェースにおいて、データに含まれる重複回避仮想NWアドレスを仮想NWアドレスに変換し(ステップS309)、その後、ステップS311の処理を行う。
また、アドレス変換情報3073が存在しない場合(ステップS308のN)、仮想NWゲートウェイ処理部3000は、ステップS309の処理を行わずに、ステップS311の処理を行う。
また、ステップS302において、受信したデータの宛先アドレスが(重複回避)仮想NWアドレスに属するアドレスでないと判定した場合(ステップS302のN)、データ転送処理部3050は、ルーティングテーブルに基づいて、データの宛先アドレスに応じてデータを適切にルーティングし(ステップS310)、ステップS311の処理を行う。
このように、本実施形態では、仮想NWゲートウェイ処理部3000や所属ホスト2000に関係する基本NW1000のネットワークアドレスと仮想NWアドレスが重複していた場合に、仮想NWゲートウェイ処理部3000は、重複回避仮想NWアドレスを生成し、その重複回避仮想NWアドレスと仮想NWアドレス間のアドレス変換情報3073を生成し、そのアドレス変換情報3073に基づいて仮想NW情報4011から重複回避仮想NW情報4011を生成する。そして、仮想NWゲートウェイ処理部3000は、その重複回避仮想NW情報4011に基づいて仮想NW5000を構築する。また、仮想NWゲートウェイ処理部3000は、外部トンネルインタフェースにおいて、アドレス変換情報3073に基づいて、データに含まれる仮想NWアドレスと重複回避仮想NWアドレスを相互変換する設定を行う。従って、仮想NWゲートウェイ処理部3000や所属ホスト2000は、基本NW1000や仮想NW5000上の通信相手に意図した通りにデータを送信できる。
また、ネットワークアドレスの重複に関係する仮想NWゲートウェイ処理部3000のみで自動的にネットワークアドレスの重複を回避するので、ネットワークアドレスの重複が生じないようにするための事前設定において、綿密な調査が必要なくなる。さらに、ネットワークアドレスの重複が生じた場合に、ネットワークアドレスの重複に関係する仮想NWゲートウェイ処理部3000や所属ホスト2000の基本NW1000において、基本ネットワークアドレス、基本ホストアドレスを再設定する必要がなく、また、既に全仮想NWゲートウェイ処理部3000に付与されている仮想NWアドレス、仮想ホストアドレスを再設定する必要もない。
また、ネットワークアドレスの重複に関係する仮想NWゲートウェイ処理部3000は、ネットワークアドレスの重複を回避するために仮想NW管理部4000や他の仮想NWゲートウェイ処理部3000と基本NW1000に関する情報の送受信をしなくてもよい。従って、ネットワークアドレスの重複に関係する仮想NWゲートウェイ処理部3000がネットワークアドレスの重複を回避する処理をしたとしても仮想NW管理部4000や他の仮想NWゲートウェイ処理部3000は影響を受けない。よって、仮想NW5000のルーティングに混乱が起こることを防止できる。
次に、本発明の第1の実施形態の主な変形例について図13、図14、図15を参照して説明する。図13、図14および図15は、本発明の第1の実施形態の主な変形例を示す説明図である。
図13に示す仮想NWシステムは、図1に示す仮想NWシステムにネットワーク1000Eを追加した例を示す。ネットワーク1000Eは、仮想NWゲートウェイ処理部およびその所属ホストが存在するネットワークと接続関係を持っているネットワークであり、仮想NWゲートウェイ処理部3000や所属ホスト2000が通信する際に宛先とする可能性があるネットワークである。図13に示す例では、ネットワーク1000Eは、仮想NWゲートウェイ処理部3000Bおよびその所属ホスト2000Cが存在するネットワーク1000Bと接続関係を有する。本例において、ネットワーク1000Eのネットワークアドレスは10.0.0.0/24 であるとする。このように、仮想NWゲートウェイ処理部3000や所属ホスト2000が存在するネットワーク1000Bのネットワークアドレスと仮想NWアドレスが重複していなくても、仮想NWゲートウェイ処理部3000や所属ホスト2000に関係するネットワーク1000Eのネットワークアドレスが仮想NWアドレスと重複している場合、仮想NWゲートウェイ処理部3000は仮想NWアドレスの重複回避処理を行う。ここで、ネットワーク1000Eが、接続関係を持っていても仮想NWゲートウェイ処理部3000のルーティング情報3061に載らない場合もある。例えば、ネットワーク1000Eとネットワーク1000Bとの間にNATがある場合である。この場合、仮想NWゲートウェイ処理部3000や所属ホスト2000に関係するネットワークに、ネットワーク1000Eは含めないものとする。この場合の仮想NWゲートウェイ処理部3000の構成や動作、効果は、第1の実施形態と同様である。
図14に示す仮想NWシステムは、図1に示す仮想NWシステムにおけるネットワーク1000A,1000Bが接続関係を持っている場合の構成を示す。この場合、仮想NWゲートウェイ処理部3000Bに着目すると、図14に示すネットワーク1000Aは、図13に示すネットワーク1000Eと同様であると見なせる。よって、図14に示す仮想NWゲートウェイ処理部3000Bは、図13に示す仮想NWゲートウェイ処理部3000Bと同様の処理を行う。また、仮想NWゲートウェイ処理部3000Aに着目すると、仮想NWゲートウェイ処理部3000Aは、仮想NWアドレスと重複しないネットワークアドレスを有するネットワーク1000Bと接続関係を持つだけである。従って、図1に示す仮想NWゲートウェイ処理部3000Aと同様に、ネットワークアドレスの重複回避処理を行う。このように、仮想NWゲートウェイ処理部3000と所属ホスト2000が存在するネットワーク(1000A)が、他の仮想NWゲートウェイ処理部3000とその所属ホスト2000が存在するネットワーク(1000B)と接続関係を持っている場合でも、仮想NWゲートウェイ処理部3000の構成や動作、効果は変わらない。なお、同一のネットワーク上に仮想NWゲートウェイ処理部3000とそれぞれの所属ホスト2000が存在する場合についても同様である。
図15に示す仮想NWシステムは、図13に示す仮想NWシステムと比較すると、ホスト2000Cが、自身の所属している仮想NWゲートウェイ処理部3000Bと同一のネットワーク1000Bではなく、他のネットワーク1000Eに存在している点で異なる。この場合、図15に示す仮想NWゲートウェイ処理部3000Bは、図13に示す仮想NWゲートウェイ処理部3000Bと同様の処理を行う。このように、仮想NWゲートウェイ処理部3000とその所属ホスト2000とが同一ネットワーク上ではなく、異なるネットワーク上に存在していても、仮想NWゲートウェイ処理部3000の構成や動作、効果は、図13に例示する場合と同様である。
実施形態2.
第2の実施形態は、仮想NWゲートウェイ処理部3000に新規に所属ホスト2000を追加した場合に、新規に追加した所属ホスト2000に関係する基本NW1000のネットワークアドレスと、構築済みの仮想NW5000の(重複回避)仮想NWアドレスとの重複を回避する実施形態である。
まず、新規にホストが追加される際の状況について説明する。仮想NW5000を構築した仮想NWゲートウェイ処理部3000にホスト2000が新規に所属する場合のアドレスの例を図16に示す。図16(a)〜(d)に示す各例では、ネットワーク1000F(10.0.0.0/24 )上の仮想NWゲートウェイ処理部3000Fは、仮想NW5000(12.0.0.0/24 )を構築済みである。そして、ネットワーク1000G(11.0.0.0/24 )上のホスト2000Gは、仮想NWゲートウェイ処理部3000Fに所属している。なお、図16(c),(d)に示す例では、本来の仮想NW5000の仮想NWアドレスが10.0.0.0/24 であるため、仮想NWゲートウェイ処理部3000Fが既に重複回避処理を行った状態を示している。
図16(a)〜(d)に示す各状態において、ネットワーク1000H上のホスト2000Hが新規に仮想NWゲートウェイ処理部3000Fに所属するとする。ここで、図16(a),(c)に示す場合では、(重複回避)仮想NWアドレスが12.0.0.0/24 であり、ネットワーク1000Hのネットワークアドレスが11.0.0.0/24 である。従って、ホスト2000Hが新規に仮想NWゲートウェイ処理部3000Fに所属しても、ネットワークアドレスの重複は生じないので問題はない。一方、図16(b),(d)に示す場合では、(重複回避)仮想NWアドレスが12.0.0.0/24 であり、ネットワーク1000Hのネットワークアドレスが12.0.0.0/24 である。そのため、ホスト2000Hが新規に仮想NWゲートウェイ処理部3000Fに所属すると、ネットワークアドレスの重複が生じてしまう。第2の実施形態は、図16(b),(d)に例示するようなアドレス重複に対応するための実施形態である。
図17は、第2の実施形態における仮想NWゲートウェイ処理部3000の構成例を示すブロック図である。第2の実施形態における仮想NWゲートウェイ処理部3000は、第1の実施形態の仮想NWゲートウェイ処理部3000の各構成要素を備え、さらに、仮想NWゲートウェイ処理部3000内のアドレス重複回路処理部3070が所属ホスト間データ変換処理部3077を有する構成である。図17において、第1の実施形態と同様の構成要素については、図6と同一の符号を付す。
以下、本実施形態の仮想NWゲートウェイ処理部3000の構成要素に関し、第1の実施形態と異なる点について説明し、第1の実施形態と同様の点については説明を省略する。
本実施形態における仮想NW情報管理部3020は、仮想NWゲートウェイ処理部3000と各所属ホスト2000ごとに(重複回避)仮想NW情報3021を管理する。ここで、仮想NWゲートウェイ処理部3000の仮想NW情報3021と、各所属ホスト2000の仮想NW情報3021は、仮想NWゲートウェイ処理部3000が仮想NW管理部4000から受信した仮想NW情報4011からそれぞれ生成される。なお、仮想NWゲートウェイ処理部3000の(重複回避)仮想NW情報や、各所属ホスト2000の(重複回避)仮想NW情報を、それぞれ、「仮想NWゲートウェイ処理部3000用」、「所属ホスト2000用」という文言で表す場合がある。また、仮想NW情報管理部3020に保存される前の(重複回避)仮想NW情報には符号“4011”を用い、仮想NW情報管理部3020に保存された(重複回避)仮想NW情報には符号“3021”を用いる点ついては、既に説明したとおりである。
仮想NWゲートウェイ処理部3000の仮想NW情報3021と、各所属ホスト2000の仮想NW情報3021とでは、仮想NWゲートウェイ情報テーブル(図4参照)および所属関係情報テーブル(図5参照)の内容は共通である。よって、仮想NWゲートウェイ処理部3000および各所属ホスト2000の仮想NW情報3021において、仮想NWゲートウェイ情報テーブルおよび所属関係情報テーブルを共有してもよい。一方、仮想NWアドレス情報テーブル(図2参照)および仮想ホスト情報テーブル(図3参照)に関しては、それぞれ、第2の実施家形態における重複回避仮想NW情報生成処理の結果が反映される。仮想NWアドレス情報テーブル(図2参照)および仮想ホスト情報テーブル(図3参照)のデータ構造自体は、共通である。
例えば、図1の仮想NWシステムにおいて、仮想NWゲートウェイ処理部3000AがホストAに関する重複回避仮想NW情報3021を生成したとする。このホストAの仮想NW情報3021において、仮想NWアドレス情報テーブル(図2と同様のテーブル)の仮想NWアドレスは、ホストA用の重複回避仮想NWアドレスとなる。また、仮想ホスト情報テーブル(図3と同様のテーブル)の仮想ホストアドレスは、全てホストA用の重複回避仮想NWアドレスに基づいた重複回避仮想ホストアドレスとなる。
また、本実施形態における仮想NW情報管理部3020は、受信した仮想NW情報4011をそのまま仮想NW情報3021として別途管理してもよい。また、仮想NW情報管理部3020は、同じ内容の(重複回避)仮想ネットワーク情報3021に関しては1つにまとめて管理してもよい。
また、仮想NWゲートウェイ処理部3000の仮想NW情報3021は、外部の仮想NWゲートウェイ処理部から外部の仮想NWゲートウェイ処理部へデータを転送する際に使用される。従って、仮想NWゲートウェイ処理部3000の仮想NW情報3021における仮想ホスト情報テーブル(図3と同様のテーブル)では、その所属ホスト2000以外のホストについての情報のみ含まれていればよい。但し、仮想NWゲートウェイ処理部3000と同じ(重複回避)仮想NWアドレスを使用する各所属ホスト2000の(重複回避)仮想NW情報3021を1つにまとめて処理する場合には、仮想ホスト情報テーブルは全てのホスト情報を含む必要がある。また、仮想NWゲートウェイ処理部3000の仮想NW情報3021における仮想NWアドレス情報テーブルは、各所属ホスト2000に関する重複回避仮想NW情報を生成するかどうかの判断に使用する。
本実施形態におけるトンネル処理部3030は、仮想NWゲートウェイ処理部3000用や各所属ホスト2000用の(重複回避)仮想NW情報4011や(重複回避)仮想NW情報3021に基づいて、所属ホスト2000以外の仮想ホスト用に外部トンネルを構築する。また、トンネル処理部3030は、各所属ホスト2000用の(重複回避)仮想NW情報4011や(重複回避)仮想NW情報3021、および所属ホスト情報3011に基づいて、各所属ホスト2000の仮想ホスト用に内部トンネルを構築し、その各所属ホスト2000の内部トンネルインタフェースに各所属ホスト2000の(重複回避)仮想ホストアドレスが設定されるように各所属ホスト2000に通知する。
本実施形態におけるルーティング情報処理部3040は、仮想NWゲートウェイ処理部3000用や各所属ホスト2000用の(重複回避)仮想NW情報4011や(重複回避)仮想NW情報3021に基づいて、所属ホスト2000以外の(重複回避)仮想ホストアドレス宛てのデータをトンネル処理部3030が構築した適切な外部トンネルに入れるように仮想NWゲートウェイ処理部3000のルーティングテーブルを設定する。また、ルーティング情報処理部3040は、各所属ホスト2000用の(重複回避)仮想NW情報4011や(重複回避)仮想NW情報3021に基づいて、各所属ホスト2000の(重複回避)仮想ホストアドレス宛てのデータをトンネル処理部3030が構築した適切な内部トンネルに入れるように仮想NWゲートウェイ処理部3000のルーティングテーブルを設定する。
本実施形態におけるルーティング情報管理部3060は、仮想NWゲートウェイ処理部3000と各所属ホスト2000ごとにルーティング情報3061を管理する。なお、各所属ホスト2000用のルーティング情報3061には仮想NWゲートウェイ処理部3000用のルーティング情報3061の内容が含まれているが、仮想NWゲートウェイ処理部3000用のルーティング情報3061の内容を除外したルーティング情報3061を各所属ホスト2000用のルーティング情報3061としてもよい。
本実施形態におけるアドレス重複回避処理部3070は所属ホスト間データ変換処理部3077も有する。
本実施形態における重複判定処理部3071は、仮想NWゲートウェイ処理部3000や各所属ホスト2000ごとにネットワークアドレスの重複判定を行う。仮想NWゲートウェイ処理部3000に関して判定を行う場合、重複判定処理部3071は、受信した仮想NW情報4011の仮想NWアドレスと仮想NWゲートウェイ処理部3000のルーティング情報3061の宛先NWアドレスとに重複が生じているか否かを判定する。所属ホスト2000に関して判定を行う場合、重複判定処理部3071は、仮想NWゲートウェイ処理部3000用の(重複回避)仮想NWアドレスとその所属ホスト2000のルーティング情報3061の宛先NWアドレスに重複が生じているか否かを判定する。
本実施形態におけるアドレス変換情報管理部3072は、仮想NWゲートウェイ処理部3000用や各所属ホスト2000用に重複回避仮想NWアドレスを生成する。仮想NWゲートウェイ処理部3000に関する処理を行う場合、アドレス変換情報管理部3072は、仮想NWゲートウェイ処理部3000のルーティング情報3061における宛先NWアドレスと重複しないように、仮想NWゲートウェイ処理部3000用の重複回避仮想NWアドレスを生成する。なお、所属ホスト2000の重複判定においてネットワークアドレスに重複が生じていると判定される可能性を低減するために、仮想NWゲートウェイ処理部3000のルーティング情報3061だけでなく、各所属ホスト2000のルーティング情報3061も使用してもよい。また、所属ホスト2000に関する処理を行う場合、アドレス変換情報管理部3072は、仮想NWゲートウェイ処理部3000とその所属ホスト2000のルーティング情報3061の宛先NWアドレスと重複しない所属ホスト2000用の重複回避仮想NWアドレスを生成する。なお、アドレス変換情報管理部3072は、各所属ホスト2000用のアドレス変換情報3073を参照するなどして、他の所属ホスト2000と可能な限り同一の重複回避仮想NWアドレスを生成してもよい。そのようにすれば、仮想NWゲートウェイ処理部3000の処理や管理が簡略化できる。
また、アドレス変換情報管理部3072は、仮想NWゲートウェイ処理部3000用や各所属ホスト2000用にアドレス変換情報3073を生成し、管理する。ここで、ネットワークアドレスに重複が生じていない所属ホスト2000に関してアドレス変換情報3073を生成するときに、仮想NWゲートウェイ処理部3000用のアドレス変換情報3073が存在する場合には、アドレス変換情報管理部3072は、その所属ホスト2000用のアドレス変換情報3073として、仮想NWゲートウェイ処理部3000用のアドレス変換情報3073と同内容の情報を生成し、管理する。なお、アドレス変換情報管理部3072は、同じ内容のアドレス変換情報3073を1つにまとめて管理してもよい。
本実施形態における重複回避仮想NW情報生成処理部3074は、仮想NWゲートウェイ処理部3000用や各所属ホスト2000用のアドレス変換情報3073に基づいて、仮想NW情報4011から仮想NWゲートウェイ処理部3000用や各所属ホスト2000用の重複回避仮想NW情報4011を生成する。なお、重複回避仮想NW情報生成処理部3074は、同じ内容の重複回避仮想NW情報4011を1つにまとめて管理してもよい。
本実施形態における外部トンネル構築情報変換処理部3075は、仮想NWゲートウェイ処理部3000用や各所属ホスト2000用のアドレス変換情報3073に基づいて、トンネル処理部3030が外部トンネルを構築する際に送受信するトンネル構築情報に含まれる仮想NWアドレスと、仮想NWゲートウェイ処理部3000用や各所属ホスト2000用の重複回避仮想NWアドレスとを相互変換する設定を行う。
本実施形態における外部トンネルデータ変換処理部3076は、仮想NWゲートウェイ処理部3000用や各所属ホスト2000用のアドレス変換情報3073に基づいて、トンネル処理部3030が構築した外部トンネルのインタフェースにおいて、データに含まれる仮想NWアドレスと重複回避仮想NWアドレスとを相互変換する設定を行う。
外部トンネルデータ変換処理部3076は、仮想NWゲートウェイ処理部3000に関する処理を行う場合、以下のように処理を行う。すなわち、外部トンネルデータ変換処理部3076は、トンネル処理部3030が構築した外部トンネルのインタフェースにおいて、データの送信元と宛先のどちらも他の仮想NWゲートウェイ処理部3000に所属している仮想ホストであり、データが仮想NWゲートウェイ処理部3000を経由する場合に、データに含まれる仮想NWアドレスと仮想NWゲートウェイ処理部3000用の重複回避仮想NWアドレスとを相互変換する設定を行う。この設定は、仮想NWゲートウェイ処理部3000用のアドレス変換情報3073に基づいて行う。
また、外部トンネルデータ変換処理部3076は、所属ホスト2000に関する処理を行う場合、以下のように処理を行う。すなわち、外部トンネルデータ変換処理部3076は、トンネル処理部3030が構築した外部トンネルのインタフェースにおいて、データの送信元と宛先のどちらかがその所属ホスト2000である場合に、データに含まれる仮想NWアドレスとその所属ホスト2000用の重複回避仮想NWアドレスを相互変換する設定を行う。この設定は、その所属ホスト2000用のアドレス変換情報3073に基づいて行う。
本実施形態における所属ホスト間データ変換処理部3077は、異なる内容の(重複回避)仮想NW情報4011や(重複回避)仮想NW情報3021を用いる所属ホスト2000の組み合わせを選択する。そして、その組み合わせにおける一方の所属ホスト2000が送信元となっていて、他方の所属ホスト2000が宛先となっているデータに関して、その二つの所属ホスト2000用の(重複回避)仮想NW情報4011や(重複回避)仮想NW情報3021に基づいて、データに含まれている送信元の所属ホスト2000用の(重複回避)仮想NWアドレスを、宛先の所属ホスト2000用の(重複回避)仮想NWアドレスに変換する設定を行う。
例えば、仮想NWゲートウェイ処理部3000にホストA,Bが所属しているとする。ここで、ホストAの(重複回避)仮想NWアドレスが「11.0.0.0/24 」であり、ホストBの(重複回避)仮想NWアドレスが「12.0.0.0/24 」であるとする。ホストAがホストBにデータを送信すると、そのデータにおいて、送信元アドレスはホストAのアドレス(例えば、11.0.0.1)であり、宛先アドレスはホストBのアドレス(例えば、11.0.0.2)である。一方、ホストBが受信するデータにおいて、送信元のホストAのアドレスは、例えば、12.0.0.1となっていて、宛先のホストBのアドレスは、例えば、12.0.0.2になっていなければならない。所属ホスト間データ変換処理部3077は、所属ホスト間同士のデータの送受信におけるデータ内のアドレス変換を行うように設定する。
所属ホスト間データ変換処理部3077は、例えば、プログラムに従って動作するコンピュータのCPUによって実現される。この場合、CPUが、プログラムに従って、所属ホスト間データ変換処理部3077や、仮想NWゲートウェイ処理部3000内の他の各構成要素として動作すればよい。
次に、本実施形態における仮想NWゲートウェイ処理部3000の重複回避仮想NW情報生成に関する動作を、図18を参照して説明する。第1の実施形態における重複回避仮想NW情報生成に関する動作(図10参照)と比較すると、ステップS109が追加されている点が異なるが、他の動作は図10に示す処理と同様である。第1の実施形態と同様の動作に関しては、第1の実施形態と同一のステップ番号を付す。
また、第2の実施形態では、仮想NWゲートウェイ処理部3000は、ステップS102以降の処理を、仮想NWゲートウェイ処理部3000や各所属ホスト2000ごとに行う。なお、仮想NWゲートウェイ処理部3000は、仮想NW管理部4000から仮想NW情報4011を初めて受信した場合には、仮想NWゲートウェイ処理部3000に関する処理を終えてから各所属ホスト2000に関する処理を行う。
まず、仮想NWゲートウェイ処理部3000に関して処理を行う場合について説明する。仮想NWゲートウェイ処理部3000は仮想NW管理部4000から仮想NW情報4011を受信すると(ステップS101)、初めて仮想NWゲートウェイ処理部3000用の仮想NW情報4011を受信した場合(ステップS102のY)には、重複判定処理部3071が、その仮想NW情報4011の仮想NWアドレスと、仮想NWゲートウェイ処理部3000のルーティング情報3061に含まれる宛先NWアドレスとに重複が生じているか否かの判定する(ステップS103)。
ステップS103の判定の結果、ネットワークアドレスに重複が生じている場合(ステップS104のY)、アドレス変換情報管理部3072が、仮想NWゲートウェイ処理部3000用の重複回避仮想NWアドレスとして、仮想NWゲートウェイ処理部3000のルーティング情報3061に含まれる宛先NWアドレスと重複しない重複回避仮想NWアドレスを生成する(ステップS105)。続いて、アドレス変換情報管理部3072は、仮想NWゲートウェイ処理部3000用のアドレス変換情報3073として、仮想NWアドレスと仮想NWゲートウェイ処理部3000用の重複回避仮想NWアドレスとの間のアドレス変換情報を生成する(ステップS106)。
そして、重複回避仮想NW情報生成処理部3074が、仮想NWゲートウェイ処理部3000用のアドレス変換情報3073に基づいて、仮想NW情報4011から、仮想NWゲートウェイ処理部3000用の重複回避仮想NW情報4011を生成する(ステップS107)。
仮想NWゲートウェイ処理部3000用の仮想NW情報4011の受信が初めてでなく(ステップS102のN)、仮想NWゲートウェイ処理部3000用のアドレス変換情報3073が存在する場合(ステップS108のY)、重複回避仮想NW情報生成処理部3074は、ステップS107の処理を行う。また、仮想NWゲートウェイ処理部3000用のアドレス変換情報3073が存在しない場合(ステップS108のN)、受信した仮想NW情報4011を、仮想NWゲートウェイ処理部3000用の仮想NW情報4011とする。
また、ステップS103の判定の結果、ネットワークアドレスに重複が生じていない場合には(ステップS104のN)、例えば、アドレス変換情報管理部3072が、仮想NWゲートウェイ処理部3000用のアドレス変換情報3073が存在しているかを判定する(ステップS109)。ただし、仮想NWゲートウェイ処理部3000に関する処理において、ステップS109に移行した場合には、仮想NWゲートウェイ処理部3000用のアドレス変換情報3073は存在しない(ステップS109のN)。この場合、受信した仮想NW情報4011を、仮想NWゲートウェイ処理部3000用の仮想NW情報4011とする。
なお、上記のステップS102における、仮想NWゲートウェイ処理部3000用の仮想NW情報4011を初めて受信したか否かの判定は、少なくとも、仮想NWゲートウェイ処理部3000用の仮想NW情報3021が存在するか否かの判定によって行うことができる。すなわち、仮想NWゲートウェイ処理部3000用の仮想NW情報3021が保存されていなければ、初めての受信であると判定し、仮想NWゲートウェイ処理部3000用の仮想NW情報3021が保存されていれば、初めての受信ではないと判定することができる。
また、ステップS103の判定処理では、重複判定処理部3071は、受信した仮想NW情報4011の仮想NWアドレスと、仮想NWゲートウェイ処理部3000のルーティング情報3061に含まれる宛先NWアドレスとの重複だけでなく、受信した仮想NW情報4011の仮想NWアドレスと、所属ホスト2000のルーティング情報3061とに重複が生じているか否かの判定を行ってもよい。
また、ステップS105において、アドレス変換情報管理部3072は、仮想NWゲートウェイ処理部3000用の重複回避仮想NWアドレスとして、仮想NWゲートウェイ処理部3000のルーティング情報3061に含まれる宛先NWアドレス、および、所属ホスト2000のルーティング情報3061に含まれる宛先NWアドレスと重複しない重複回避仮想NWアドレスを生成してもよい。
次に、所属ホスト2000に関して処理を行う場合について説明する。なお、所属ホスト2000に関する処理を行う場合における、その所属ホストを該当所属ホストと記す場合がある。仮想NWゲートウェイ処理部3000は仮想NW管理部4000から仮想NW情報4011を受信すると(ステップS101)、該当所属ホスト2000用の仮想NW情報4011を初めて受信した場合(ステップS102のY)には、重複判定処理部3071が、仮想NWゲートウェイ処理部3000用の(重複回避)仮想NWアドレスと、該当所属ホスト2000のルーティング情報3061の宛先NWアドレスとに重複が生じているか否かを判定する(ステップS103)。なお、仮想NWゲートウェイ処理部3000に関してアドレス重複が生じていた場合であっても、生じていない場合であっても、ステップS102で初めての受信と判定した場合には、ステップS103を実行することになる。
ステップS103の判定の結果、ネットワークアドレスに重複が生じている場合(ステップS104のY)、アドレス変換情報管理部3072が、仮想NWゲートウェイ処理部3000のルーティング情報3061における宛先NWアドレスおよび該当所属ホスト2000のルーティング情報3061における宛先NWアドレスと重複しない該当所属ホスト2000用の重複回避仮想NWアドレスを生成する(ステップS105)。続いて、アドレス変換情報管理部3072は、該当所属ホスト2000用のアドレス変換情報3073として、仮想NWアドレスと該当所属ホスト2000用の重複回避仮想NWアドレスとの間のアドレス変換情報3073を生成する(ステップS106)。
そして、重複回避仮想NW情報生成処理部3074が、該当所属ホスト2000用のアドレス変換情報3073に基づいて、仮想NW情報4011から、該当所属ホスト2000用の重複回避仮想NW情報4011を生成する(ステップS107)。
該当所属ホスト2000用の仮想NW情報4011の受信が初めてでなく(ステップS102のN)、該当所属ホスト2000用のアドレス変換情報3073が存在する場合(ステップS108のY)、重複回避仮想NW情報生成処理部3074は、ステップS107の処理を行う。また、該当所属ホスト2000用のアドレス変換情報3073が存在しない場合(ステップS108のN)、受信した仮想NW情報4011を該当所属ホスト2000用の仮想NW情報4011とする。
また、ステップS103の判定の結果、ネットワークアドレスに重複が生じていない場合には(ステップS104のN)、例えば、アドレス変換情報管理部3072が、仮想NWゲートウェイ処理部3000用のアドレス変換情報3073が存在しているかを判定する(ステップS109)。仮想NWゲートウェイ処理部3000用のアドレス変換情報3073が存在する場合(ステップS109のY)、アドレス変換情報管理部3072は、該当所属ホスト2000用のアドレス変換情報3073として、仮想NWゲートウェイ処理部3000用のアドレス変換情報3073と同じ内容のアドレス変換情報3073を生成し(ステップS106)、ステップS107に移行する。
また、ステップS109において仮想NWゲートウェイ処理部3000用のアドレス変換情報3073が存在しない場合(ステップS109のN)、受信した仮想NW情報4011を、該当所属ホスト2000用の仮想NW情報4011とする。
なお、上記のステップS102における、該当所属ホスト2000用の仮想NW情報4011を初めて受信したか否かの判定は、少なくとも、該当所属ホスト2000用の仮想NW情報3021が存在するか否かの判定によって行うことができる。すなわち、該当所属ホスト2000用の仮想NW情報3021が保存されていなければ、初めての受信であると判定し、保存されていれば初めての受信ではないと判定することができる。
また、上記のステップS105におけるアドレス変換情報管理部3072による重複回避仮想NWアドレスの生成は、以下のように行ってもよい。アドレス変換情報管理部3072は、仮想NWゲートウェイ処理部3000のルーティング情報3061および該当所属ホスト2000のルーティング情報3061における宛先NWアドレスと重複しない該当所属ホスト2000用の重複回避仮想NWアドレスとして、該当所属ホスト2000以外の所属ホスト2000と同一の重複回避仮想NWアドレスを生成してもよい。このとき、アドレス変換情報管理部3072は、該当所属ホスト2000以外の所属ホスト用のアドレス変換情報3073、重複回避仮想NWアドレス、重複回避仮想NW情報4011、重複回避仮想NW情報3021のうち少なくともいずれか1つを参照すればよい。
また、受信した仮想NW情報4011が差分情報であり、仮想NWゲートウェイ処理部3000用の(重複回避)仮想NW情報3021が存在する場合に、初めて仮想NW情報4011を受信した該当所属ホストに関しては、以下のように処理を行う。すなわち、ステップS102〜S107の処理の間、もしくは、ステップS109の処理の前後で、仮想NWゲートウェイ処理部3000は受信した仮想NW情報4011に仮想NW情報3021を追加することによって、その時点での全仮想NW情報を生成する。そして、その全仮想NW情報を、該当所属ホスト用の仮想NW情報4011とする。なお、仮想NW情報3021が、仮想NW情報管理部3020に管理されている場合には、その仮想NW情報3021を用いればよい。そうでない場合には、少なくとも仮想NWゲートウェイ処理部3000用の(重複回避)仮想NW情報3021とアドレス変換情報3073から仮想NW情報3021を生成し、その仮想NW情報3021を用いればよい。また、該当所属ホストに関する仮想NW情報4011を初めて受信した場合でも、アドレス変換情報3073の内容が同じ仮想NWゲートウェイ処理部3000や各所属ホスト2000に関して1つにまとめて処理する場合には、以下のように処理すればよい。すなわち、アドレス変換情報管理部3072が、該当所属ホスト2000用に新規のアドレス変換情報3073を生成した場合のみ、ステップS106とステップS107との間で、仮想NWゲートウェイ処理部3000は、仮想NW情報4011に仮想NW情報3021を追加することによって、その時点での全仮想NW情報4011を生成する。そして、その全仮想NW情報を、該当所属ホスト用の仮想NW情報4011とする。
また、図18に示す処理を仮想NWゲートウェイ処理部3000や各所属ホスト2000ごとに行う態様として、以下の2通り考えられる。第1の態様は、仮想NWゲートウェイ処理部3000と、仮想NWゲートウェイ処理部3000が所属ホスト情報3011とルーティング情報3061で管理している各所属ホスト2000毎に処理を行う態様である。第2の態様は、仮想NWゲートウェイ処理部3000と、仮想NWゲートウェイ処理部3000が受信する仮想NW情報4011に含まれている所属ホスト2000と、仮想NW情報3021に示されている所属ホスト2000毎に行う態様である。どちらの態様でも以下のように処理を行う。
例えば、仮想NWゲートウェイ処理部3000の所属ホスト2000がホストAだけであり、仮想NWゲートウェイ処理部3000が初めて仮想NW情報4011を受信したとする。この仮想NW情報4011には、ホストAの情報が含まれている。この場合、仮想NWゲートウェイ処理部3000は、仮想NWゲートウェイ処理部3000およびホストAに関して、それぞれステップS102からS103に移行し、ステップS103以降の処理を行うことになる。
この状態で、仮想NWゲートウェイ処理部3000が、別の仮想NWゲートウェイ処理部3000に所属しているホストCの情報を含む仮想NW情報4011を受信したとする。この場合、仮想NWゲートウェイ処理部3000は、仮想NWゲートウェイ処理部3000およびホストAに関する処理では、ステップS102からS108に移行して、ステップS108以降の処理を行うことになる。
次に、仮想NWゲートウェイ処理部3000の所属ホストとしてホストBが新規に追加されたとする。この状態で、仮想NWゲートウェイ処理部3000が、ホストBの情報を含む仮想NW情報4011を受信したとする。この場合、仮想NWゲートウェイ処理部3000およびホストAに関する処理では、ステップS102からS108に移行して、ステップS108以降の処理を行うことになる。一方、ホストBに関しては、初めて仮想NW情報4011を受信していることになるので、ステップS102からS103に移行し、ステップS103以降の処理を行うことになる。
次に、本実施形態における仮想NW5000を構築する動作を、図19を参照して説明する。仮想NWゲートウェイ処理部3000は、重複回避仮想NW情報を生成するフローチャート(図18参照)の処理を終了後、仮想NWゲートウェイ処理部3000用や各所属ホスト2000用の(重複回避)仮想NW情報4011や(重複回避)仮想NW情報3021、および所属ホスト情報3011に基づいて、仮想NW5000を構築する。図19は、この処理経過の例を示すフローチャートである。第1の実施形態における仮想NW5000構築動作(図11参照)と比較すると、ステップS211,S212が追加されている点が異なるが、他の動作は図11に示す処理と同様である。第1の実施形態と同様の動作に関しては、第1の実施形態と同一のステップ番号を付す。
第2の実施形態では、仮想NWゲートウェイ処理部3000は、図19に示す全処理を、仮想NWゲートウェイ処理部3000や各所属ホスト2000ごとに行う。なお、アドレス変換情報3073の内容が同じ仮想NWゲートウェイ処理部3000や各所属ホスト2000に関しては、1つにまとめて処理してもよい。
まず、仮想NWゲートウェイ処理部3000に関して処理を行う場合について説明する。仮想NWゲートウェイ処理部3000は、仮想NWゲートウェイ処理部3000用の(重複回避)仮想NW情報4011から、処理対象とする処理対象仮想ホストを決定する(ステップS201)。仮想NWゲートウェイ処理部3000は、仮想NWゲートウェイ処理部3000用の(重複回避)仮想NW情報4011における全ての処理対象仮想ホストに対して、ステップS201,S202,S211の処理、または、ステップS201,S202,S204〜S209の処理を実行する。そして、その後、ステップS210を実行する。
ステップS201の次に、仮想NWゲートウェイ処理部3000は、決定した処理対象仮想ホストが、所属ホスト2000であるか否かを判定する(ステップS202)。
処理対象仮想ホストが所属ホストである場合(ステップS202のY)、仮想NWゲートウェイ処理部3000は、処理対象仮想ホストが、該当所属ホスト2000であるか否かを判定する(ステップS211)。仮想NWゲートウェイ処理部3000に関して処理を行っている場合には、処理対象仮想ホストは該当所属ホスト2000でないと判定する(ステップS211のN)。この場合、次の処理対象仮想ホストについて、ステップS201以降の処理を行う。ステップS210の処理は全ての処理対象仮想ホストの処理後に実行する。
ステップS201で決定した処理対象仮想ホストが所属ホストでない場合には(ステップS202のN)、例えば、アドレス変換情報管理部3072が、仮想NWゲートウェイ処理部3000用のアドレス変換情報3073の有無を判定する(ステップS204)。
仮想NWゲートウェイ処理部3000用のアドレス変換情報3073が存在する場合(ステップS204のY)、外部トンネル構築情報変換処理部3075は、仮想NWゲートウェイ処理部3000用のアドレス変換情報3073に基づいて、トンネル処理部3030が処理対象仮想ホスト用の外部トンネルを構築する際に送受信するトンネル構築情報に含まれる仮想NWアドレスと仮想NWゲートウェイ処理部3000用の重複回避仮想NWアドレスとを相互変換する設定を行う(ステップS205)。この設定は、第1の実施形態と同様に行えばよい。
ステップS205の後、トンネル処理部3030は、仮想NWゲートウェイ処理部3000用の重複回避仮想NW情報4011や重複回避仮想NW情報3021に基づいて、処理対象仮想ホスト用の外部トンネルを構築する(ステップS206)。なお、既に処理対象仮想ホスト用の外部トンネル構築が完了している場合はこれらの処理を行わなくてもよい。
仮想NWゲートウェイ処理部3000用のアドレス変換情報3073が存在しない場合(ステップS204のN)、外部トンネル構築情報変換処理部3075がステップS205の処理を実行せずに、トンネル処理部3030がステップS206を実行する。この場合においても、既に処理対象仮想ホスト用の外部トンネル構築が完了している場合はこの処理(ステップS206)を行わなくてもよい。
なお、第1の実施形態で説明したように、トンネル処理部3030が処理対象仮想ホスト用の外部トンネルを構築する際にトンネル構築情報の送受信を行わない場合、処理対象仮想ホストが所属ホスト2000ではないならば(ステップS202のN)、ステップS206に移行すればよい。
ステップS206の後、仮想NWゲートウェイ処理部3000用のアドレス変換情報3073が存在する場合(ステップS207のY)、外部トンネルデータ変換処理部3076は、トンネル処理部3030が構築した処理対象仮想ホスト用の外部トンネルのインタフェースにおいて、所定のデータに含まれる仮想NWアドレスと仮想NWゲートウェイ処理部3000用の重複回避仮想NWアドレスを相互変換する設定を行う(ステップS208)。この所定のデータとは、仮想NWゲートウェイ処理部3000を経由するデータであって、データの送信元と宛先の組み合わせが処理対象仮想ホストと他の仮想NWゲートウェイ処理部3000に所属している仮想ホストの組み合わせとなっているデータである。外部トンネルデータ変換処理部3076は、ステップS208におけるアドレス相互変換の設定を、仮想NWゲートウェイ処理部3000用のアドレス変換情報3073に基づいて行えばよい。また、アドレス相互変換の設定は、第1の実施形態と同様に行えばよい。
ステップS208の後、ルーティング情報処理部3040は、仮想NWゲートウェイ処理部3000用の重複回避仮想NW情報4011や重複回避仮想NW情報3021に基づいて、処理対象仮想ホスト宛てのデータをトンネル処理部3030が構築した処理対象仮想ホスト用の外部トンネルに入れるように、仮想NWゲートウェイ処理部3000のルーティングテーブルを設定する(ステップS209)。なお、既に処理対象仮想ホスト用の外部トンネルインタフェースへの相互変換の設定やルーティングテーブルの設定が完了している場合、完了している処理に関しては処理を行わなくてもよい。また、ルーティング情報処理部3040は、ステップS209の処理を、ステップS206とステップS207との間で行ってもよい。
ステップS206の後、仮想NWゲートウェイ処理部3000用のアドレス変換情報3073が存在しない場合(ステップS207のN)、外部トンネルデータ変換処理部3076がステップS208の処理を実行せずに、ルーティング情報処理部3040がステップS209の処理を実行する。また、既にルーティングテーブルの設定が完了している場合はこの処理(ステップS209)を行わなくてもよい。この場合においても、ルーティング情報処理部3040は、ステップS209の処理を、ステップS206とステップS207との間で行ってもよい。
全ての処理対象仮想ホストに対して、ステップS201,S202,S211の処理、または、ステップS201,S202,S204〜S209の処理が終わった後、仮想NW情報管理部3020は、仮想NWゲートウェイ処理部3000用の(重複回避)仮想NW情報4011を、仮想NWゲートウェイ処理部3000用の(重複回避)仮想NW情報3021として保存する(ステップS210)。なお、ステップS210の処理は、STARTからステップS210間のどこで実施してもよい。
次に、所属ホスト2000に関して処理を行う場合について説明する。仮想NWゲートウェイ処理部3000は、該当所属ホスト2000用の(重複回避)仮想NW情報4011から処理対象とする処理対象仮想ホストを決定する(ステップS201)。仮想NWゲートウェイ処理部3000は、該当所属ホスト2000用の(重複回避)仮想NW情報4011における全ての処理対象仮想ホストに対して、ステップS201,S202,S211,S203,S212の処理(ステップS211でNと判定されステップS203に移行しない場合も含む。)、または、ステップS201,S202,S204〜S209の処理を実行する。そして、その後、ステップS210を実行する。
ステップS201の次に、仮想NWゲートウェイ処理部3000は、決定した処理対象仮想ホストが、所属ホスト2000であるか否かを判定する(ステップS202)。
処理対象仮想ホストが所属ホストである場合(ステップS202のY)、仮想NWゲートウェイ処理部3000は、処理対象仮想ホストが、該当所属ホストであるか否かを判定する(ステップS211)。
処理対象仮想ホストが該当所属ホスト2000である場合(ステップS211のY)、トンネル処理部3030およびルーティング情報処理部3040は、処理対象仮想ホストであるその所属ホスト2000が仮想NW5000に参加するための処理を行う(ステップS203)。ステップS203において、トンネル処理部3030は、まず、該当所属ホスト2000用の(重複回避)仮想NW情報4011や(重複回避)仮想ネットワーク情報3021と、所属ホスト情報3011とに基づいて、処理対象仮想ホストである所属ホスト2000と内部トンネルを構築する(ステップS203−1)。次に、トンネル処理部3030は、その所属ホスト2000の内部トンネルインタフェースに処理対象仮想ホストの(重複回避)仮想ホストアドレスが設定されるようにその所属ホスト2000に通知する(ステップS203−2)。そして、ルーティング情報処理部3040が、該当所属ホスト2000用の(重複回避)仮想NW情報4011や(重複回避)仮想NW情報3021に基づいて、処理対象仮想ホスト宛てのデータを、ステップS203−1でトンネル処理部3030が構築した内部トンネルに入れるように仮想NWゲートウェイ処理部3000のルーティングテーブルを設定する(S203−3)。
さらに、所属ホスト間データ変換処理部3077は、該当所属ホスト2000以外の所属ホスト2000を選択する。そして、所属ホスト間データ変換処理部3077は、該当所属ホスト2000用、および、選択した所属ホスト2000用の(重複回避)仮想NW情報4011や(重複回避)仮想NW情報3021に基づいて、データに含まれる該当所属ホスト2000用の(重複回避)仮想NWアドレスを、選択した所属ホスト2000用の(重複回避)仮想NWアドレスに変換する設定を行う。もしくは、データに含まれる選択した所属ホスト2000用の(重複回避)仮想NWアドレスを該当所属ホスト2000用の(重複回避)仮想NWアドレスに変換する設定を行う。もしくはそれら両方を行う(ステップS212)。
ステップS212では、(重複回避)仮想NW情報4011や(重複回避)仮想NW情報3021の内容が該当所属ホスト2000と他の所属ホスト2000とで異なっている場合にのみ、上記のような設定を行ってもよい。
なお、既に処理対象仮想ホスト用の内部トンネル構築や仮想ホストアドレスの設定、ルーティングテーブルの設定、所属ホスト間データの宛先の所属ホスト2000用の(重複回避)仮想NWアドレスへの変換設定が完了している場合、完了している処理に関しては処理を行わなくてもよい。また、ステップS203−2とステップS203−3の処理はどちらが先であってもよい。また、ステップS212の処理は、ステップS203−3の後に限らず、ステップS211でYと判定した後であればよい。例えば、ステップS203−1の前または後、あるいは、ステップS203−2の前または後、あるいは、ステップS203−3の前または後で、ステップS212を行ってもよい。
また、ステップS211において、処理対象仮想ホストが該当所属ホスト2000でないと判定した場合(ステップS211のN)、この場合、次の処理対象仮想ホストについて、ステップS201以降の処理を行う。ステップS210の処理はまとめて実行する。
ステップS201で決定した処理対象仮想ホストが所属ホスト2000でない場合には(ステップS202のN)、例えば、アドレス変換情報管理部3072が、該当所属ホスト2000用のアドレス変換情報3073の有無を判定する(ステップS204)。
該当所属ホスト2000用のアドレス変換情報3073が存在する場合(ステップS204のY)、外部トンネル構築情報変換処理部3075は、該当所属ホスト2000用のアドレス変換情報3073に基づいて、トンネル処理部3030が処理対象仮想ホスト用の外部トンネルを構築する際に送受信するトンネル構築情報に含まれる仮想NWアドレスと該当所属ホスト2000用の重複回避仮想NWアドレスとを相互変換する設定を行う(ステップS205)。この設定は、第1の実施形態と同様に行えばよい。
ステップS205の後、トンネル処理部3030は、該当所属ホスト2000用の重複回避仮想NW情報4011や重複回避仮想NW情報3021に基づいて、処理対象仮想ホスト用の外部トンネルを構築する(ステップS206)。なお、既に処理対象仮想ホスト用の外部トンネル構築が完了している場合はこれらの処理を行わなくてもよい。
なお、既に説明したように、トンネル処理部3030が処理対象仮想ホスト用の外部トンネルを構築する際にトンネル構築情報の送受信を行わない場合、処理対象仮想ホストが所属ホスト2000ではないならば(ステップS202のN)、ステップS206に移行すればよい。
ステップS206の後、該当所属ホスト2000用のアドレス変換情報3073が存在する場合(ステップS207のY)、外部トンネルデータ変換処理部3076は、トンネル処理部3030が構築した処理対象仮想ホスト用の外部トンネルのインタフェースにおいて、所定のデータに含まれる仮想NWアドレスと該当所属ホスト2000用の重複回避仮想NWアドレスを相互変換する設定を行う(ステップS208)。この所定のデータとは、データの送信元と宛先の組み合わせが処理対象仮想ホストと該当所属ホスト2000の仮想ホストの組み合わせとなっているデータである。外部トンネルデータ変換処理部3076は、ステップS208におけるアドレス相互変換の設定を、該当所属ホスト2000用のアドレス変換情報3073に基づいて行えばよい。また、アドレス相互変換の設定は、第1の実施形態と同様に行えばよい。
ステップS208の後、ルーティング情報処理部3040は、該当所属ホスト2000用の重複回避仮想NW情報4011や重複回避仮想NW情報3021に基づいて、処理対象仮想ホスト宛てのデータをトンネル処理部3030が構築した処理対象仮想ホスト用の外部トンネルに入れるように、仮想NWゲートウェイ処理部3000のルーティングテーブルを設定する(ステップS209)。なお、既に処理対象仮想ホスト用の外部トンネルインタフェースへの相互変換の設定やルーティングテーブルの設定が完了している場合、完了している処理に関しては処理を行わなくてもよい。また、ルーティング情報処理部3040は、ステップS209の処理を、ステップS206とステップS207との間で行ってもよい。
ステップS206の処理後に、該当所属ホスト2000用のアドレス変換情報3073が存在しない場合(ステップS207のN)、外部トンネルデータ変換処理部3076がステップS208の処理を実行せずに、ルーティング情報処理部3040がステップS209の処理を実行する。また、既にルーティングテーブルの設定が完了している場合はこの処理(ステップS209)を行わなくてもよい。この場合においても、ルーティング情報処理部3040は、ステップS209の処理を、ステップS206とステップS207との間で行ってもよい。
全ての処理対象仮想ホストに対して、ステップS201,S202,S211,S203,S212の処理(ステップS211でNと判定されステップS203に移行しない場合も含む。)、または、ステップS201,S202,S204〜S209の処理が終わった後、仮想NW情報管理部3020は、該当所属ホスト2000用の(重複回避)仮想NW情報4011を該当所属ホスト2000用の(重複回避)仮想NW情報3021として保存する(ステップS210)。なお、ステップS210の処理は、STARTからステップS210間のどこで実施してもよい。
次に、本実施形態において、仮想NW5000の構築後に、仮想NWゲートウェイ処理部3000が受信したデータを転送する際の動作を説明する。図20は、この動作の例を示すフローチャートである。第1の実施形態におけるデータ転送時の動作(図12参照)と比較すると、ステップS312が追加されている点が異なるが、他の動作は図12に示す処理と同様である。第1の実施形態と同様の動作に関しては、第1の実施形態と同一のステップ番号を付す。ステップS312以外の動作は、第1の実施形態と同様である。
本実施形態では、ステップS303において、データの送信元が所属ホスト2000であると判定した場合(ステップS303のY)、仮想NWゲートウェイ処理部3000は以下に示すステップS312の処理を実行する。すなわち、仮想NWゲートウェイ処理部3000は、データの宛先が所属ホスト2000である場合に、所属ホスト間データ変換処理部3077が行った設定に基づいて、データをデータの宛先の所属ホスト2000用の(重複回避)仮想NWアドレスに変換する(ステップS312)。そして、データ転送処理部3050が、ルーティングテーブルに基づいて、データの宛先アドレスに応じて適切にルーティングする(ステップS306)。なお、ステップS312の処理において、データの送信元の所属ホスト2000に関するデータの宛先の所属ホスト2000用の(重複回避)仮想NWアドレスへの変換は、ステップS306からステップS311までの間に行ってもよい。
本実施形態では、仮想NWゲートウェイ処理部3000が所属ホスト間データ変換処理部3077を備え、仮想NWゲートウェイ処理部3000や各所属ホスト2000ごとにネットワークアドレスの重複回避処理を行うので、仮想NWゲートウェイ処理部3000に新規に所属ホスト2000を追加した場合でもアドレス重複を回避できる。
実施形態3.
第3の実施形態は、仮想NW5000が複数存在する場合の実施形態である。本実施形態おける仮想NWシステムは、第1の実施形態と同様に、ホスト2000と、仮想NWゲートウェイ処理部3000と、仮想NW管理部4000とを含む。仮想NWゲートウェイ処理部3000の構成は、第1の実施形態と同様である(図6参照)。
ただし、本実施形態では、仮想NW管理部4000が仮想NWゲートウェイ処理部3000に送信する仮想NW情報4011内の仮想NWアドレス情報テーブルおよび仮想ホスト情報テーブルは、複数の仮想NW5000に関する情報を含む。
図21は、第3の実施形態における仮想NW情報4011内の仮想NWアドレス情報テーブルの一例を示す。第3の実施形態では、仮想NWアドレス情報テーブルは、図21に示すように、例えば、仮想NWの識別子と仮想NWアドレスとを対応付け、仮想NW毎の仮想NWアドレスを含む。以下、仮想NWの識別子を“仮想NW ID”と記す。図21では、仮想NW5000が2つ存在し、一方の仮想NW「A」の仮想NWアドレスが“10.0.0.0/24 ”であり、他方の仮想NW「B」の仮想NWアドレスが「10.0.1.0/24 」である場合を例示している。なお、仮想NW5000の数は特に限定されず、3つ以上存在していてもよい。
図22は、第3の実施形態における仮想NW情報4011内の仮想ホスト情報テーブルの一例を示す。第3の実施形態では、仮想ホスト情報テーブルは、“仮想NW ID”毎に(すなわち、仮想NW毎に)仮想ホストIDと仮想ホストアドレスとの対応関係を示す。仮想ホストは仮想NW5000毎に仮想ホストアドレスが割り当てられており、仮想NW5000毎に参加できる仮想ホストが決められている。本実施形態における仮想ホスト情報テーブルは、仮想NW毎に、その仮想NWに参加できる仮想ホストおよびその仮想ホストの仮想ホストアドレスを示している。なお、仮想NW5000に参加できる仮想ホストの数は制限されない。図22では、仮想NW「A」に、ホストA、ホストB、ホストCが所属している場合を例示している。同様に、仮想NW「B」に、ホストB、ホストC、ホストDが所属している場合を例示している。
第1の実施形態と比較すると、本実施形態では、各仮想NWゲートウェイ処理部3000が仮想NW管理部4000から受信する仮想NW情報4011には、図2に例示する仮想NWアドレス情報テーブルの代わりに図21に例示する仮想NWアドレス情報テーブルが含まれる。また、図3に例示する仮想ホスト情報テーブルの代わりに図21に例示する仮想ホスト情報テーブルが含まれる。なお、各仮想NWゲートウェイ処理部3000が受信する仮想NW情報4011のうち、仮想NWアドレス情報テーブルおよび仮想ホスト情報テーブル以外の情報は、第1の実施形態と同様である。
各仮想NWゲートウェイ処理部3000の重複回避仮想NW情報の生成に関する動作、および、仮想NW5000を構築する際の動作は、仮想NW5000毎に行う点以外は、第1の実施形態と同様である。また、仮想NWゲートウェイ処理部3000が行う他の動作は、第1の実施形態と同様である。
また、仮想NWゲートウェイ処理部3000が重複回避仮想NW情報を生成する場合、ステップS105(図10参照)において、以下のように処理を行ってもよい。
すなわち、ステップS105で、アドレス変換情報管理部3072が、ルーティング情報3061内の宛先NWアドレスと重複しない重複回避仮想NWアドレスを生成する際に、処理対象としている仮想NWの宛先NWアドレスだけでなく、他の仮想NWの(重複回避)仮想NWアドレスとも重複しない重複回避仮想NWアドレスを生成してもよい。この重複回避仮想NWアドレスは、処理対象としている仮想NW用の重複回避仮想NWアドレスである。ステップS105で、このように重複回避仮想NWアドレスを生成することで、処理対象としている仮想NW用の重複回避仮想NWアドレスが、他の仮想NW5000用の(重複回避)仮想NWアドレスと重複する可能性を低減できる。なお、仮想NWゲートウェイ処理部3000が処理対象としている仮想NW以外の仮想NW5000を既に構築している場合、ルーティング情報3061には、既に構築されているその仮想NW5000の仮想NWアドレスが含まれている。既に構築済みの仮想NW5000の仮想NWアドレスをルーティング情報3061に含める処理は、例えば、ルーティング情報管理部3060が行えばよい。
第3の実施形態によれば、仮想NW5000が複数存在する場合でも、第1の実施形態と同様の効果を得ることができる。
上記の第3の実施形態では、第1の実施形態において、図21および図22に例示するテーブルを含む仮想NW情報4011を用いた場合を示した。第2の実施形態において、図21および図22に例示するテーブルを含む仮想NW情報4011を用いてもよい。この場合においても、各仮想NWゲートウェイ処理部3000が、重複回避仮想NW情報の生成に関する動作、および、仮想NW5000を構築する際の動作を、仮想NW5000毎に行えばよい。
実施形態4.
第4の実施形態は、アドレス変換情報管理部3072が1つ以上の重複回避仮想NWアドレスを生成する実施形態である。
例えば、図1に例示する仮想NWシステムにおいて、ネットワーク1000Aのネットワークアドレスが10.0.0.0/25 であるとする。また、仮想NWアドレスは10.0.0.0/24 である。この場合、アドレス変換情報管理部3072は、1つの重複回避仮想NWアドレス10.0.1.0/24 を生成してもよいし、2つの重複回避仮想NWアドレス10.0.0.128/25 と10.0.1.0/25 とを生成してもよい。また、3つ、4つ、・・・、256個などのように、さらに多くの重複回避仮想NWアドレスを生成してもよい。ここで、生成する重複回避仮想NWアドレスは互いに重複してはならない。また、生成するすべての重複回避仮想NWアドレスのアドレス空間の合計は仮想NW5000のネットワークアドレス空間と同じ大きさであるか、あるいは、それ以上の大きさでなくてはならない。なお、ここでは2つ以上の重複回避仮想NWアドレスを生成する場合はネットワークアドレスやブロードキャストアドレスに関しては除外して考えている。また、この場合の10.0.0.128/25 のように元々ネットワークアドレスが重複していないネットワークアドレスに関しては、アドレス変換情報管理部3072は生成しなくてもよいが、ここでは便宜上生成するとしている。
第4の実施形態における仮想NWゲートウェイ処理部3000の構成は、第1の実施形態と同様である(図6参照)。本実施形態では、アドレス変換情報管理部3072が1つ以上の重複回避仮想NWアドレスを生成する。
各仮想NWゲートウェイ処理部3000の重複回避仮想NW情報の生成に関する動作は、アドレス変換情報管理部3072が1つ以上の重複回避仮想NWアドレスを生成する点で第1の実施形態と同様である。ここで、アドレス変換情報管理部3072が1つ以上の重複回避仮想NWアドレスを生成できる場合は、重複判定処理部3071が受信した仮想NW情報4011に含まれる仮想ホストアドレス単位でネットワークアドレスの重複判定処理を行ってもよい。この場合は、ステップS102(図10参照)以降の処理を仮想NW情報4011に含まれる仮想ホストごとに行う。以下、図10を参照して、第4の実施形態におけるこの場合の重複回避仮想NW情報の生成動作を説明する。
仮想NWゲートウェイ処理部3000が仮想NW管理部4000から仮想NW情報4011を受信すると(S101)、以下の処理を行う。仮想NW情報4011に含まれる仮想ホストに関する情報のうち、初めて受信した情報(仮想ホストに関する情報)がある場合(ステップS102のY)、重複判定処理部3071は、その仮想ホストの仮想ホストアドレスと、ルーティング情報3061内の宛先NWアドレスとに重複が生じているか否かを判定する(ステップS103)。なお、ステップS102の処理は、例えば、仮想NW情報管理部3020が行えばよい。
着目している仮想ホストの仮想ホストアドレスとルーティング情報3061内の宛先NWアドレスとに重複が生じている場合(ステップS104のY)、アドレス変換情報管理部3072は、着目している仮想ホスト用の重複回避仮想ホストアドレスとして、ルーティング情報3061の宛先NWアドレスと重複しない重複回避仮想ホストアドレスを生成する(ステップS105)。そして、アドレス変換情報管理部3072は、着目している仮想ホストの仮想ホストアドレスと、その仮想ホスト用の重複回避仮想ホストアドレスとの間のアドレス変換情報3073を生成する(ステップS106)。ステップS106では、着目している仮想ホストの仮想ホストアドレスと、その仮想ホスト用の重複回避仮想ホストアドレスとを対応付けることによりアドレス変換情報3073を生成すればよい。
仮想NW情報4011に含まれる仮想ホストに関する情報のうち、初めて受信する仮想ホストに関する情報がない場合(ステップS102のN)、仮想NW情報4011に含まれる仮想ホストのうち着目する仮想ホストに関して、アドレス変換情報3073が存在しているならば(ステップS108のY)、ステップS107の処理を行うこととする。また、着目する仮想ホストに関して、アドレス変換情報3073が存在しないならば(ステップS108のN)、その仮想ホストに関して処理を終了する。また、ステップS104において重複が生じていない場合にも、着目している仮想ホストに関して処理を終了する。
仮想NW情報4011に含まれる全ての仮想ホストに対して、ステップS102〜S106の処理(ステップS104でNと判定する場合も含む)、または、ステップS102,S108の処理が完了した後に、重複回避仮想NW情報生成処理部3074は、アドレス変換情報に基づいて、仮想NW情報4011から重複回避仮想NW情報4011を生成する(ステップS107)。なお、ステップS107の処理は、着目している仮想ホストに対するステップS102〜S106の処理(ステップS104でNと判定する場合も含む)、または、ステップS102,S108の処理が完了する毎に随時行ってもよい。
なお、ステップS102の判定は、少なくとも、以下に例示する方法で行うことができる。すなわち、仮想NW情報3021が存在しない場合、または、受信した仮想NW情報4011に含まれている仮想ホストに関する情報であって、仮想NW情報3021に含まれていない情報がある場合に、仮想NW情報管理部3020は、その仮想ホストに関して、初めての受信であると判定すればよい。また、受信した仮想NW情報4011に含まれている仮想ホストに関する情報が仮想NW情報3021に含まれていれば、仮想NW情報管理部3020は、その仮想ホストに関して、初めての受信でないと判定すればよい。
重複回避仮想NW情報の生成以外に関する仮想NWゲートウェイ処理部3000の動作は、第1の実施形態と同様である。
本実施形態によれば、重複回避仮想NWアドレスとして、1つ以上の重複回避仮想NWアドレスを生成できるので、ネットワークアドレス空間の有効利用を図ることが可能となる。
上記の例では、1つ以上の重複回避仮想NWアドレス生成を、第1の実施形態に適用した場合を例にして説明したが、1つ以上の重複回避仮想NWアドレス生成を第2の実施形態に適用してもよい。
実施形態5.
第5の実施形態は、仮想NWゲートウェイ処理部3000が所属ホスト上に存在する実施形態である。
図23は、第5の実施形態における仮想NWゲートウェイ処理部3000の構成例を示すブロック図である。第5の実施形態における仮想NWゲートウェイ処理部3000は、所属ホスト上に設けられ、また、第1の実施形態の仮想NWゲートウェイ処理部3000の各構成要素に加えて、仮想インタフェース処理部3080も備える。図23において、第1の実施形態と同様の構成要素については、図6と同一の符号を付し説明を省略する。
仮想インタフェース処理部3080は、仮想NWゲートウェイ処理部3000が設けられている所属ホスト2000に仮想インタフェースを作成し、作成した仮想インタフェースにその所属ホスト2000の(重複回避)仮想ホストアドレスを設定する。このとき、仮想インタフェース処理部3080は、仮想インタフェースに対する(重複回避)仮想ホストアドレスの設定を、(重複回避)仮想NW情報4011や(重複回避)仮想NW情報3021に基づいて行う。
仮想インタフェースは、物理ネットワークインタフェースを仮想化したネットワークインタフェースであり、仮想ネットワークインタフェースと呼ぶことができる。仮想インタフェースの目的は、処理対象仮想ホストと、仮想NWゲートウェイ処理部3000が設けられた所属ホスト2000とが一致する場合に、その処理対象仮想ホスト宛のデータをその所属ホスト2000で終端し、また、他の仮想ホスト宛にデータを送信する際に、そのデータの送信元アドレスを、処理対象仮想ホストの仮想ホストアドレスにすることである。
仮想インタフェース処理部3080は、例えば、プログラムに従って動作するコンピュータのCPUによって実現される。この場合、CPUが、プログラムに従って、仮想インタフェース処理部3080や、仮想NWゲートウェイ処理部3000内の他の各構成要素として動作すればよい。
次に、本実施形態における仮想NW5000構築時の動作を、第1の実施形態と異なる点に関して説明する。本実施形態では、仮想NWゲートウェイ処理部3000は、ステップS202(図11参照)において、所属対象仮想ホストが所属ホスト2000であると判定した場合に、所属対象仮想ホストに該当するその所属ホスト2000が、仮想NWゲートウェイ処理部3000が設けられている所属ホストであるか否かを判定する。
所属対象仮想ホストに該当する所属ホスト2000と、仮想NWゲートウェイ処理部3000が設けられている所属ホストとが異なっているならば、第1の実施形態で説明したステップS203以降の処理(図11参照)を実行すればよい。
一方、所属対象仮想ホストに該当する所属ホスト2000と、仮想NWゲートウェイ処理部3000が設けられている所属ホストとが一致している場合、仮想インタフェース処理部3080が、以下に示すステップS203−4,S203−5の処理を実行する。図24は、仮想インタフェース処理部3080の処理経過の例を示すフローチャートである。
まず、仮想インタフェース処理部3080は、処理対象仮想ホストに該当する所属ホスト2000に仮想インタフェースを作成する(ステップS203−4)。なお、その所属ホスト2000の仮想インタフェースを作成済みである場合には、ステップS203−4の処理を行わなくてもよい。
次に、仮想インタフェース処理部3080は、(重複回避)仮想NW情報4011や(重複回避)仮想NW情報3021に基づいて、処理対象仮想ホストに該当している所属ホスト2000の(重複回避)仮想ホストアドレスを、ステップS203−4で作成した仮想インタフェースに設定する(ステップS203−5)。なお、既にこの設定が完了している場合には、ステップS203−5の処理を行わなくてもよい。
このように、所属対象仮想ホストに該当する所属ホスト2000と、仮想NWゲートウェイ処理部3000が設けられている所属ホストとが一致するか否かを判定し、一致する場合にステップS203−4,S203−5の処理を行う。そして、(重複回避)仮想NW情報4011における全ての処理対象仮想ホストに対して、ステップS201,S202,S203の処理、あるいは、ステップS201,S202,S203−4,S203−5、あるいは、ステップS201,S202,S204〜S209の処理が終わった後、仮想NW情報管理部3020はステップS210(図11参照)を実行する。なお、ステップS210の処理は、STARTからステップS210間のどこで実施してもよい。
他の動作に関しては、第1の実施形態と同様である。
また、重複回避仮想NW情報の生成に関する動作やデータ転送時の動作は、第1の実施形態と同様である。
なお、本実施形態において、仮想NWゲートウェイ処理部3000の所属ホストが、その仮想NWゲートウェイ処理部3000が設けられている所属ホストのみであるならば、仮想NWゲートウェイ処理部3000は所属ホスト情報管理部3010を備えず、所属ホスト情報3011を保持しない構成であってもよい。
本実施形態によれば、仮想NWゲートウェイ処理部3000が所属ホスト2000上に存在してもよいので、仮想NWシステムの構成の自由度が高くなる。また、仮想NWゲートウェイ処理部3000の所属ホストが、その仮想NWゲートウェイ処理部3000が設けられている所属ホストのみである場合には、所属ホスト情報管理部3010を備えていなくてもよいので構成をさらに簡略化することができる。
また、上記の説明では、第1実施形態における仮想NWゲートウェイ処理部3000に仮想インタフェース処理部3080を追加し、所属ホスト2000に仮想NWゲートウェイ処理部3000を設ける場合を例にして説明した。同様に、第2の実施形態における仮想NWゲートウェイ処理部3000に仮想インタフェース処理部3080を追加し、所属ホスト2000に仮想NWゲートウェイ処理部3000を設けてもよい。
実施形態6.
第6の実施形態は、所属ホスト2000が仮想NW5000に参加するために、仮想NWゲートウェイ処理部3000がNAT処理を行う実施形態である。
図25は、第6の実施形態における仮想NWゲートウェイ処理部3000の構成例を示すブロック図である。第6の実施形態における仮想NWゲートウェイ処理部3000は、第1の実施形態の仮想NWゲートウェイ処理部3000の各構成要素に加えて、NAT処理部3090と、ルーティング情報広告処理部3100とを備える。図25において、第1の実施形態と同様の構成要素については、図6と同一の符号を付し説明を省略する。
NAT処理部3090は、仮想NWゲートウェイ処理部3000が受信したデータの送信元アドレスが所属ホスト2000の基本ホストアドレスである場合に、データに含まれる所属ホスト2000の基本ホストアドレスをその所属ホスト2000の(重複回避)仮想ホストアドレスに変換するための設定を行う。また、NAT処理部3090は、仮想NWゲートウェイ処理部3000が受信したデータの宛先アドレスが所属ホスト2000の(重複回避)仮想ホストアドレスである場合に、データに含まれる所属ホスト2000の(重複回避)仮想ホストアドレスをその所属ホスト2000の基本ホストアドレスに変換するための設定を行う。NAT処理部3090は、(重複回避)仮想NW情報4011や(重複回避)仮想NW情報3021、所属ホスト情報3011に基づいて、これらの設定を行う。
ルーティング情報広告処理部3100は、(重複回避)仮想NW情報4011や(重複回避)仮想NW情報3021、所属ホスト情報3011に基づいて、仮想NW5000に関するルーティング情報を、所属ホスト2000や、所属ホスト2000が存在するネットワーク上のルータや、所属ホスト2000と仮想NWゲートウェイ処理部3000の経路上にあるルータなどに対して広告する設定を行う。ここで、広告されるルーティング情報(仮想NW5000に関するルーティング情報)として、例えば、宛先アドレスが(重複回避)仮想NWアドレスである場合に関する情報、宛先アドレスが(重複回避)仮想ホストアドレスである場合に関する情報、送信元アドレスが所属ホスト2000の基本ホストアドレスであり宛先アドレスが(重複回避)仮想NWアドレスである場合に関する情報、送信元アドレスが所属ホスト2000の基本ホストアドレスであり宛先アドレスが(重複回避)仮想ホストアドレスである場合に関する情報などが挙げられる。この「仮想NW5000に関するルーティング情報」は、ルーティング情報管理部3061が管理するルーティング情報3061とは異なる情報である。以下、ルーティング情報3061と区別するために、「仮想NW5000に関するルーティング情報」を仮想NWルーティング情報と記す。
NAT処理部3090およびルーティング情報広告処理部3100は、例えば、プログラムに従って動作するコンピュータのCPUによって実現される。この場合、CPUが、プログラムに従って、NAT処理部3090、ルーティング情報広告処理部3100、および仮想NWゲートウェイ処理部3000内の他の各構成要素として動作すればよい。
本実施形態において、仮想NWゲートウェイ処理部3000の重複回避仮想NW情報の生成に関する動作は、第1の実施形態におけるステップS101〜S108(図10参照)と同様である。
次に、本実施形態における仮想NW5000構築時の動作を、第1の実施形態と異なる点に関して説明する。本実施形態では、仮想NWゲートウェイ処理部3000がステップS202(図11参照)において所属対象仮想ホストが所属ホスト2000であると判定した場合に、NAT処理部3090は、処理対象仮想ホストがNAT処理を行う対象の所属ホスト2000であるか否かを判定する。ここで、所属ホスト2000がNAT処理を行う対象の所属ホスト2000となるためには、その所属ホスト2000の基本ホストアドレスのプロトコルと(重複回避)仮想NWアドレスのプロトコルが変換可能であるという条件を満たす必要がある。
処理対象仮想ホストがNAT処理を行う対象の所属ホスト2000ではない場合、トンネル処理部3030およびルーティング情報処理部3040が第1の実施形態と同様に、ステップS203−1,S203−2,S203−3を行う。
また、処理対象仮想ホストがNAT処理を行う対象の所属ホスト2000である場合、ステップS203の例外として、ステップS203−2の代わりに、NAT処理の設定を行うようにした処理を行う。すなわち、トンネル処理部3030がステップS203−1の処理を実行する。そして、NAT処理部3090が、NAT処理の設定(ステップS203−6と記す。)を行う。そして、ルーティング情報処理部3040がステップS203−3の処理を実行する。
ステップS203−6においては、NAT処理部3090は、データの送信元アドレスが、処理対象仮想ホストとなっている所属ホスト2000の基本ホストアドレスである場合に、データに含まれるその所属ホスト2000の基本ホストアドレスを、その所属ホスト2000の(重複回避)仮想ホストアドレスに変換するための設定を行う。また、NAT処理部3090は、データの宛先アドレスが、処理対象仮想ホストとなっている所属ホスト2000の(重複回避)仮想ホストアドレスである場合に、データに含まれるその所属ホスト2000の(重複回避)仮想ホストアドレスを、その所属ホスト2000の基本ホストアドレスに変換するための設定を行う。NAT処理部3090は、(重複回避)仮想NW情報4011や(重複回避)仮想NW情報3021、所属ホスト情報3011に基づいて、これらの設定を行う。
また、第6の実施形態では、ステップS210(図11参照)の処理を行う前に、NAT処理の設定を行った所属ホスト2000に関して、仮想NWルーティング情報の広告処理(ステップS213と記す。)を行う点で、第1の実施形態と異なる。本実施形態では、(重複回避)仮想NW情報4011における全ての処理対象仮想ホストに対して、ステップS201,S202〜S203−3の処理、あるいは、ステップS201,S202,S204〜S209の処理が終わった後、ルーティング情報広告処理(ステップS213)を行ってからステップS210を実行する。なお、ステップS210の処理は、STARTからステップS210間のどこで実施してもよい。
ステップS213においては、ルーティング情報広告処理部3100は、(重複回避)仮想NW情報4011や(重複回避)仮想NW情報3021、所属ホスト情報3011に基づいて、仮想NWルーティング情報を、NAT処理の設定を行った所属ホスト2000や、NAT処理の設定を行った所属ホスト2000が存在するネットワーク上のルータや、NAT処理の設定を行った所属ホスト2000と仮想NWゲートウェイ処理部3000の経路上にあるルータなどに対して広告する設定を行う。
仮想NW5000構築時の他の動作は、第1の実施形態と同様である。
次に、仮想NWゲートウェイ処理部3000が受信したデータを転送する際の動作を、第1の実施形態と異なる点に関して説明する。本実施形態では、ステップS303においてデータの送信元が所属ホスト2000であると判定されてステップS306に移行する場合、および、ステップS304,S305からステップS306に移行する場合に、ステップS306の前にNAT処理(ステップS313と記す。)を行う点で、第1の実施形態と異なる。データ転送時の他の動作は第1の実施形態と同様である。
ステップS313においては、仮想NWゲートウェイ処理部3000は、データの送信元アドレスが所属ホスト2000の基本ホストアドレスである場合に、上記のステップS203−6の設定に基づいて、データに含まれる所属ホスト2000の基本ホストアドレスをその所属ホスト2000の(重複回避)仮想ホストアドレスに変換する。また、仮想NWゲートウェイ処理部3000は、データの宛先アドレスが所属ホスト2000の(重複回避)仮想ホストアドレスである場合に、上記のステップS203−6の設定に基づいて、データに含まれる所属ホスト2000の(重複回避)仮想ホストアドレスをその所属ホスト2000の基本ホストアドレスに変換する。
なお、本実施形態の仮想NWゲートウェイ処理部3000は、所属ホスト2000上に存在していてもよい。仮想NWゲートウェイ処理部3000が所属ホスト2000上に存在する場合、仮想NWゲートウェイ処理部3000はその所属ホスト2000に対しては、仮想NWルーティング情報の広告処理を行わない。従って、仮想NWゲートウェイ処理部3000が所属ホスト2000上に存在し、その仮想NWゲートウェイ処理部3000の所属ホストが他に存在していなければ、ルーティング情報広告処理部3100はなくてもよい。
また、本実施形態の仮想NWゲートウェイ処理部3000がルータ上に存在し、仮想NWゲートウェイ処理部3000と所属ホスト2000が同一のネットワーク上に存在し、所属ホスト2000のデフォルトルートが仮想NWゲートウェイ処理部3000の存在するルータであるならば、その仮想NWゲートウェイ処理部3000は、ルーティング情報広告処理部3100を備えていなくてよい。
第6の実施形態によれば、仮想NWゲートウェイ処理部3000においてNAT処理を行うことによっても所属ホスト2000を仮想NW5000に参加させることが可能となる。
上記の説明では、第1実施形態における仮想NWゲートウェイ処理部3000にNAT処理部3090およびルーティング情報広告処理部3100を追加する場合を例にして説明した。同様に、第2の実施形態における仮想NWゲートウェイ処理部3000にNAT処理部3090およびルーティング情報広告処理部3100を追加してもよい。
また、第3、第4、第5、および第6の実施形態の一部または全部を組み合わせてもよい。
以上のような各実施形態で説明した発明によれば、仮想NWゲートウェイ処理部3000や所属ホスト2000に関係する基本NW1000のネットワークアドレスと仮想NWアドレスとが重複していた場合に、仮想NWゲートウェイ処理部3000は、重複回避仮想NWアドレスを生成する。仮想NWゲートウェイ処理部3000は、その重複回避仮想NWアドレスと仮想NWアドレスとの間のアドレス変換情報3073を生成し、そのアドレス変換情報3073に基づいて仮想NW情報4011から重複回避仮想NW情報4011を生成する。そして、その重複回避仮想NW情報4011に基づいて仮想NW5000を構築する。また、仮想NWゲートウェイ処理部3000は、外部トンネルインタフェースにおいて、アドレス変換情報3073に基づいて、データに含まれる仮想NWアドレスと重複回避仮想NWアドレスとを相互変換する設定を行う。
従って、仮想NWゲートウェイ処理部3000や所属ホスト2000が、基本NW1000や仮想NW5000上の通信相手に意図した通りにデータを送信できる。
また、本発明では、ネットワークアドレスの重複に関係する仮想NWゲートウェイ処理部3000のみが、自動的にネットワークアドレスの重複を回避する。
従って、ネットワークアドレスの重複が生じないように事前設定するための綿密な調査が必要でなくなる。また、ネットワークアドレスの重複が生じた場合に、ネットワークアドレスの重複に関係する仮想NWゲートウェイ処理部や所属ホストの基本ネットワークにおいて基本ネットワークアドレス、基本ホストアドレスを再設定したり、または既に全仮想NWゲートウェイ処理部に付与されている仮想ネットワークアドレス、仮想ホストアドレスを再設定したりしなくて済む。
また、ネットワークアドレスの重複に関係する仮想NWゲートウェイ処理部3000は、ネットワークアドレスの重複を回避するために仮想NW管理部4000や他の仮想NWゲートウェイ処理部3000と、基本NW1000に関する情報の送受信をしなくてよい。
従って、ネットワークアドレスの重複に関係する仮想NWゲートウェイ処理部3000がネットワークアドレスの重複を回避する処理をしたとしても、仮想NW管理部4000や他の仮想NWゲートウェイ処理部3000は、影響を受けない。また、この効果の付随効果として、仮想NWのルーティングに混乱が起きないことが挙げられる。さらに、他の仮想NWゲートウェイ処理部3000との情報の送受信がないので、情報漏洩を防止することができる。
次に、本発明の最小構成を説明する。図26は、本発明の最小構成を示すブロック図である。本発明によるネットワークアドレス重複回避装置は、アドレス重複判定手段91と、重複回避仮想ネットワークアドレス生成手段92と、アドレス変換情報生成手段93と、重複回避仮想ネットワーク情報生成手段94と、データ中継手段95とを備える。
アドレス重複判定手段91は、ネットワークアドレス重複回避装置、および、ネットワークアドレス重複回避装置に所属する所属ホストが宛先とする可能性がある基本ネットワークアドレスである宛先ネットワークアドレスを含むルーティング情報と、仮想ネットワークの構成情報である仮想ネットワーク情報とを用いて、ルーティング情報に含まれている宛先ネットワークアドレスと、仮想ネットワーク情報に含まれている仮想ネットワークアドレスとが重複しているか否かを判定する。
重複回避仮想ネットワークアドレス生成手段92は、アドレス重複判定手段91によって重複していると判定された場合、宛先ネットワークアドレスと重複しない仮想ネットワークアドレスである重複回避仮想ネットワークアドレスを生成する。
アドレス変換情報生成手段93は、仮想ネットワーク情報に含まれている仮想ネットワークアドレスと重複回避仮想ネットワークアドレスとの間のアドレス変換情報を生成する。
重複回避仮想ネットワーク情報生成手段94は、アドレス変換情報に基づいて、仮想ネットワーク情報から、アドレス重複を回避した仮想ネットワーク情報である重複回避仮想ネットワーク情報を生成する。
データ中継手段95は、重複回避仮想ネットワーク情報に基づいた設定により基本ネットワークと仮想ネットワークとの間のデータ中継を行う。
そのような構成により、仮想NWアドレスと実アドレスとが重複する場合であっても、各ネットワークのゲートウェイとして動作する機器同士が情報の授受を行わずにアドレス重複を回避できる。
また、上記の各実施形態には、以下のような構成のネットワークアドレス重複回避装置が開示されている。
(1)1以上のネットワークを含む基本ネットワークと仮想ネットワークとの間のデータ中継を行い、基本ネットワークのネットワークアドレスである基本ネットワークアドレスと、仮想ネットワークのアドレスである仮想ネットワークアドレスとの重複を回避するネットワークアドレス重複回避装置であって、当該ネットワークアドレス重複回避装置、および、当該ネットワークアドレス重複回避装置に所属する所属ホストが宛先とする可能性がある基本ネットワークアドレスである宛先ネットワークアドレスを含むルーティング情報と、仮想ネットワークの構成情報である仮想ネットワーク情報とを用いて、ルーティング情報に含まれている宛先ネットワークアドレスと、仮想ネットワーク情報に含まれている仮想ネットワークアドレスとが重複しているか否かを判定するアドレス重複判定手段(例えば、重複判定処理部3071)と、アドレス重複判定手段によって重複していると判定された場合、宛先ネットワークアドレスと重複しない仮想ネットワークアドレスである重複回避仮想ネットワークアドレスを生成する重複回避仮想ネットワークアドレス生成手段(例えば、アドレス変換情報管理部3072)と、仮想ネットワーク情報に含まれている仮想ネットワークアドレスと重複回避仮想ネットワークアドレスとの間のアドレス変換情報を生成するアドレス変換情報生成手段(例えば、アドレス変換情報管理部3072)と、アドレス変換情報に基づいて、仮想ネットワーク情報から、アドレス重複を回避した仮想ネットワーク情報である重複回避仮想ネットワーク情報を生成する重複回避仮想ネットワーク情報生成手段(例えば、重複回避仮想NW情報生成処理部3074)と、重複回避仮想ネットワーク情報に基づいた設定により基本ネットワークと仮想ネットワークとの間のデータ中継を行うデータ中継手段(例えば、データ転送処理部3050)とを備えることを特徴とするネットワークアドレス重複回避装置。
(2)アドレス重複判定手段が、ネットワークアドレス重複回避装置に関して、ネットワークアドレス重複回避装置の宛先ネットワークアドレスと仮想ネットワークアドレスとが重複しているかを判定し、重複回避仮想ネットワークアドレス生成手段が、アドレスが重複していると判定されたネットワークアドレス重複回避装置に関して、ネットワークアドレス重複回避装置の宛先ネットワークアドレスと重複しないネットワークアドレス重複回避装置用の重複回避仮想ネットワークアドレスを生成し、アドレス変換情報生成手段が、アドレスが重複していると判定されたネットワークアドレス重複回避装置に関して、仮想ネットワークアドレスと重複回避仮想ネットワークアドレスとの間のアドレス変換情報を生成し、重複回避仮想ネットワーク情報生成手段が、アドレスが重複していると判定されたネットワークアドレス重複回避装置に関して、アドレス変換情報に基づいて仮想ネットワーク情報から重複回避仮想ネットワーク情報を生成し、アドレス重複判定手段が、ネットワークアドレス重複回避装置の各所属ホストに関して、所属ホスト毎に、所属ホストの宛先ネットワークアドレスと、ネットワークアドレス重複回避装置用の仮想ネットワークアドレスとが重複しているかを判定し、重複回避仮想ネットワークアドレス生成手段が、アドレスが重複していると判定された所属ホストに関して、ネットワークアドレス重複回避装置および所属ホストの宛先ネットワークアドレスと重複しない所属ホスト用の重複回避仮想ネットワークアドレスを生成し、アドレス変換情報生成手段が、アドレスが重複していると判定された所属ホストに関して、仮想ネットワークアドレスと重複回避仮想ネットワークアドレスとの間のアドレス変換情報を生成し、重複回避仮想ネットワーク情報生成手段が、アドレスが重複していると判定された所属ホストに関して、所属ホスト用に生成されたアドレス変換情報に基づいて仮想ネットワーク情報から重複回避仮想ネットワーク情報を生成し、アドレスが重複していないと判定された所属ホストであって、ネットワークアドレス重複回避装置に関してはアドレスが重複していると判定されている所属ホストに関して、所属ホスト用に生成されたアドレス変換情報に基づいて仮想ネットワーク情報から重複回避仮想ネットワーク情報を生成し、データ中継手段が、各重複回避仮想ネットワーク情報に基づいた設定により基本ネットワークと仮想ネットワークとの間のデータ中継を行うネットワークアドレス重複回避装置。
(3)アドレス重複判定手段が、ネットワークアドレス重複回避装置に関して、ネットワークアドレス重複回避装置の宛先ネットワークアドレスおよびその所属ホストの宛先ネットワークアドレスと、仮想ネットワークアドレスとが重複しているかを判定するネットワークアドレス重複回避装置。
(4)重複回避仮想ネットワークアドレス生成手段が、ネットワークアドレス重複回避装置に関して、ネットワークアドレス重複回避装置の宛先ネットワークアドレスおよびその所属ホストの宛先ネットワークアドレスと重複しないネットワークアドレス重複回避装置用の重複回避仮想ネットワークアドレスを生成するネットワークアドレス重複回避装置。
(5)重複回避仮想ネットワークアドレス生成手段が、所属ホスト用の重複回避仮想ネットワークアドレスを生成する際に、他の所属ホスト用のアドレス変換情報、他の所属ホスト用の重複回避仮想NWアドレス、および、他の所属ホスト用の重複回避仮想ネットワーク情報のうちの少なくともいずれか1つを参照して、他の所属ホスト用の重複回避仮想ネットワークアドレスと同一の重複回避仮想ネットワークアドレスを生成するネットワークアドレス重複回避装置。
(6)データの送信元と宛先の組み合わせがいずれもネットワークアドレス重複回避装置の所属ホストである場合に、データに含まれる送信元の所属ホスト用の仮想ネットワークアドレスもしくは重複回避仮想ネットワークアドレスを、宛先の所属ホスト用の仮想ネットワークアドレスもしくは重複回避仮想ネットワークアドレスに変換する設定を行う変換設定手段(例えば、所属ホスト間データ変換処理部3077)を備えるネットワークアドレス重複回避装置。
(7)変換設定手段が、データに含まれる送信元の所属ホスト用の仮想ネットワークアドレスもしくは重複回避仮想ネットワークアドレスを、データの宛先の所属ホスト用の仮想ネットワークアドレスもしくは重複回避仮想ネットワークアドレスに変換する設定を、データの送信元の所属ホスト用の仮想ネットワークアドレスもしくは重複回避仮想ネットワークアドレスと、データの宛先の所属ホスト用の仮想ネットワークアドレスもしくは重複回避仮想ネットワークアドレスとが異なる場合にのみ行うネットワークアドレス重複回避装置。
(8)アドレス重複判定手段が、仮想ネットワーク情報に含まれる仮想ネットワーク毎に判定を行い、重複回避仮想ネットワークアドレス生成手段が、仮想ネットワーク情報に含まれる仮想ネットワーク毎に重複回避仮想ネットワークアドレスを生成し、アドレス変換情報生成手段が、仮想ネットワーク情報に含まれる仮想ネットワーク毎にアドレス変換情報を生成し、重複回避仮想ネットワーク情報生成手段が、仮想ネットワーク情報に含まれる仮想ネットワーク毎に重複回避仮想ネットワーク情報を生成するネットワークアドレス重複回避装置。
(9)アドレス重複判定手段が、仮想ネットワーク情報に含まれる仮想ネットワーク毎に判定を行い、重複回避仮想ネットワークアドレス生成手段が、仮想ネットワーク情報に含まれる仮想ネットワーク毎に重複回避仮想ネットワークアドレスを生成し、アドレス変換情報生成手段が、仮想ネットワーク情報に含まれる仮想ネットワーク毎にアドレス変換情報を生成し、変換設定手段が、仮想ネットワーク情報に含まれる仮想ネットワーク毎にアドレスを変換する設定を行い、重複回避仮想ネットワーク情報生成手段が、仮想ネットワーク情報に含まれる仮想ネットワーク毎に重複回避仮想ネットワーク情報を生成するネットワークアドレス重複回避装置。
(10)重複回避仮想ネットワークアドレス生成手段は、重複回避仮想ネットワークアドレスとして、仮想ネットワーク情報に含まれる他の仮想ネットワークの仮想ネットワークアドレスおよび重複回避仮想ネットワークアドレスと重複しないネットワークアドレスを生成するネットワークアドレス重複回避装置。
(11)重複回避仮想ネットワークアドレス生成手段は、重複回避仮想ネットワークアドレスとして、互いに重複しないネットワークアドレスであって、当該ネットワークアドレスのアドレス空間の合計が仮想ネットワークアドレス空間の合計以上であるという条件を満たす1以上のネットワークアドレスを生成するネットワークアドレス重複回避装置。
(12)重複回避仮想ネットワークアドレス生成手段は、仮想ネットワークアドレスとは異なるプロトコルの重複回避仮想ネットワークアドレスを生成するネットワークアドレス重複回避装置。
(13)アドレス重複判定手段によってアドレスが判定された場合に、ネットワークアドレス重複回避装置が他のネットワークアドレス重複回避装置と構築するトンネルに関して、アドレス変換情報に基づいて、仮想ネットワークアドレスと重複回避仮想ネットワークアドレスとの相互変換を設定するアドレス相互変換設定手段(例えば、外部トンネルデータ変換処理部3076)を備えるネットワークアドレス重複回避装置。
(14)アドレス重複判定手段によってアドレスが判定された場合に、アドレス変換情報に基づいて、ネットワークアドレス重複回避装置が他のネットワークアドレス重複回避装置と送受信するトンネル構築情報に含まれる仮想ネットワークアドレスと重複回避仮想ネットワークアドレスとの相互変換を設定するトンネル構築情報内アドレス相互変換設定手段(例えば、外部トンネル構築情報変換処理部3075)を備えるネットワークアドレス重複回避装置。
本発明は、基本ネットワークと仮想ネットワークでデータを中継する装置におけるアドレス重複回避のために好適に適用される。
1000 基本ネットワーク
2000 ホスト
3000 仮想NWゲートウェイ処理部
3010 所属ホスト情報管理部
3020 仮想NW情報管理部
3030 トンネル処理部
3040 ルーティング情報処理部
3050 データ転送処理部
3060 ルーティング情報管理部
3070 アドレス重複回避処理部
3071 重複判定処理部
3072 アドレス変換情報管理部
3074 重複回避仮想NW情報生成処理部
3075 外部トンネル構築情報変換処理部
3076 外部トンネルデータ変換処理部
3077 所属ホスト間データ変換処理部
3080 仮想インタフェース処理部
3090 NAT処理部
3100 ルーティング情報広告処理部
4000 仮想NW管理部
4010 仮想NW情報管理部
5000 仮想ネットワーク

Claims (30)

  1. 1以上のネットワークを含む基本ネットワークと仮想ネットワークとの間のデータ中継を行い、前記基本ネットワークのネットワークアドレスである基本ネットワークアドレスと、前記仮想ネットワークのアドレスである仮想ネットワークアドレスとの重複を回避するネットワークアドレス重複回避装置、および、当該ネットワークアドレス重複回避装置に所属する所属ホストが宛先とする可能性がある基本ネットワークアドレスである宛先ネットワークアドレスを含むルーティング情報と、前記仮想ネットワークの構成情報である仮想ネットワーク情報とを用いて、前記ルーティング情報に含まれている宛先ネットワークアドレスと、前記仮想ネットワーク情報に含まれている仮想ネットワークアドレスとが重複しているか否かを判定し、
    前記判定で重複していると判定された場合、前記宛先ネットワークアドレスと重複しない仮想ネットワークアドレスである重複回避仮想ネットワークアドレスを生成し、
    前記仮想ネットワーク情報に含まれている仮想ネットワークアドレスと前記重複回避仮想ネットワークアドレスとの間のアドレス変換情報を生成し、
    前記アドレス変換情報に基づいて、前記仮想ネットワーク情報から、アドレス重複を回避した仮想ネットワーク情報である重複回避仮想ネットワーク情報を生成し、
    前記重複回避仮想ネットワーク情報に基づいた設定により前記基本ネットワークと前記仮想ネットワークとの間のデータ中継を行う
    ことを特徴とすることを特徴とするネットワークアドレス重複回避方法。
  2. ネットワークアドレス重複回避装置に関するアドレス重複判定処理で、
    ネットワークアドレス重複回避装置の宛先ネットワークアドレスと仮想ネットワークアドレスとが重複しているかを判定し、
    ネットワークアドレス重複回避装置に関する重複回避仮想ネットワークアドレス生成処理で、
    アドレスが重複していると判定されたネットワークアドレス重複回避装置に関して、前記ネットワークアドレス重複回避装置の宛先ネットワークアドレスと重複しないネットワークアドレス重複回避装置用の重複回避仮想ネットワークアドレスを生成し、
    ネットワークアドレス重複回避装置に関するアドレス変換情報生成処理で、
    アドレスが重複していると判定されたネットワークアドレス重複回避装置に関して、前記仮想ネットワークアドレスと前記重複回避仮想ネットワークアドレスとの間のアドレス変換情報を生成し、
    ネットワークアドレス重複回避装置に関する重複回避仮想ネットワーク情報生成処理で、
    アドレスが重複していると判定されたネットワークアドレス重複回避装置に関して、前記アドレス変換情報に基づいて仮想ネットワーク情報から重複回避仮想ネットワーク情報を生成し、
    前記ネットワークアドレス重複回避装置の各所属ホストに関するアドレス重複判定処理で、
    所属ホスト毎に、所属ホストの宛先ネットワークアドレスと、ネットワークアドレス重複回避装置用の仮想ネットワークアドレスとが重複しているかを判定し、
    前記各所属ホストに関する重複回避仮想ネットワークアドレス生成処理で、
    アドレスが重複していると判定された所属ホストに関して、前記ネットワークアドレス重複回避装置および前記所属ホストの宛先ネットワークアドレスと重複しない所属ホスト用の重複回避仮想ネットワークアドレスを生成し、
    前記各所属ホストに関するアドレス変換情報生成処理で、
    アドレスが重複していると判定された所属ホストに関して、前記仮想ネットワークアドレスと前記重複回避仮想ネットワークアドレスとの間のアドレス変換情報を生成し、
    アドレスが重複していないと判定された所属ホストであって、前記ネットワークアドレス重複回避装置に関してはアドレスが重複していると判定されている所属ホストに関して、前記ネットワークアドレス重複回避装置用のアドレス変換情報と同じ内容のアドレス変換情報を生成し、
    前記各所属ホストに関する重複回避仮想ネットワーク情報生成処理で、
    アドレスが重複していると判定された所属ホストに関して、前記所属ホスト用に生成されたアドレス変換情報に基づいて仮想ネットワーク情報から重複回避仮想ネットワーク情報を生成し、
    アドレスが重複していないと判定された所属ホストであって、前記ネットワークアドレス重複回避装置に関してはアドレスが重複していると判定されている所属ホストに関して、前記所属ホスト用に生成されたアドレス変換情報に基づいて仮想ネットワーク情報から重複回避仮想ネットワーク情報を生成し、
    データ中継処理で、
    前記各重複回避仮想ネットワーク情報に基づいた設定により基本ネットワークと仮想ネットワークとの間のデータ中継を行う
    請求項1に記載のネットワークアドレス重複回避方法。
  3. ネットワークアドレス重複回避装置に関するアドレス重複判定処理で、
    ネットワークアドレス重複回避装置の宛先ネットワークアドレスおよびその所属ホストの宛先ネットワークアドレスと、仮想ネットワークアドレスとが重複しているかを判定する
    請求項2に記載のネットワークアドレス重複回避方法。
  4. ネットワークアドレス重複回避装置に関する重複回避仮想ネットワークアドレス生成処理で、
    ネットワークアドレス重複回避装置の宛先ネットワークアドレスおよびその所属ホストの宛先ネットワークアドレスと重複しないネットワークアドレス重複回避装置用の重複回避仮想ネットワークアドレスを生成する
    請求項2または請求項3に記載のネットワークアドレス重複回避方法。
  5. ネットワークアドレス重複回避装置の各所属ホストに関する重複回避仮想ネットワークアドレス生成処理で、所属ホスト用の重複回避仮想ネットワークアドレスを生成する際に、他の所属ホスト用のアドレス変換情報、他の所属ホスト用の重複回避仮想NWアドレス、および、他の所属ホスト用の重複回避仮想ネットワーク情報のうちの少なくともいずれか1つを参照して、他の所属ホスト用の重複回避仮想ネットワークアドレスと同一の重複回避仮想ネットワークアドレスを生成する
    請求項2から請求項4のうちのいずれか1項に記載のネットワークアドレス重複回避方法。
  6. 重複回避仮想ネットワーク情報生成処理とデータ中継処理との間で、
    データの送信元と宛先の組み合わせがいずれもネットワークアドレス重複回避装置の所属ホストである場合に、
    データに含まれる前記送信元の所属ホスト用の仮想ネットワークアドレスもしくは重複回避仮想ネットワークアドレスを、前記宛先の所属ホスト用の仮想ネットワークアドレスもしくは重複回避仮想ネットワークアドレスに変換する設定を行う
    請求項2から請求項5のうちのいずれか1項に記載のネットワークアドレス重複回避方法。
  7. データに含まれる送信元の所属ホスト用の仮想ネットワークアドレスもしくは重複回避仮想ネットワークアドレスを、前記データの宛先の所属ホスト用の仮想ネットワークアドレスもしくは重複回避仮想ネットワークアドレスに変換する設定を、データの送信元の所属ホスト用の仮想ネットワークアドレスもしくは重複回避仮想ネットワークアドレスと、前記データの宛先の所属ホスト用の仮想ネットワークアドレスもしくは重複回避仮想ネットワークアドレスとが異なる場合にのみ行う
    請求項6に記載のネットワークアドレス重複回避方法。
  8. 仮想ネットワーク情報に含まれる仮想ネットワーク毎に、アドレス重複判定処理、重複回避仮想ネットワークアドレス生成処理、アドレス変換情報生成処理、および、重複回避仮想ネットワーク情報生成処理を行う
    請求項1から請求項5のうちのいずれか1項に記載のネットワークアドレス重複回避方法。
  9. 仮想ネットワーク情報に含まれる仮想ネットワーク毎に、アドレス重複判定処理、重複回避仮想ネットワークアドレス生成処理、アドレス変換情報生成処理、アドレス変換設定処理、および、重複回避仮想ネットワーク情報生成処理を行う
    請求項6または請求項7に記載のネットワークアドレス重複回避方法。
  10. 重複回避仮想ネットワークアドレス生成処理で、
    重複回避仮想ネットワークアドレスとして、仮想ネットワーク情報に含まれる他の仮想ネットワークの仮想ネットワークアドレスおよび重複回避仮想ネットワークアドレスと重複しないネットワークアドレスを生成する
    請求項8または請求項9に記載のネットワークアドレス重複回避方法。
  11. 重複回避仮想ネットワークアドレス生成処理で、
    重複回避仮想ネットワークアドレスとして、互いに重複しないネットワークアドレスであって、当該ネットワークアドレスのアドレス空間の合計が仮想ネットワークアドレス空間の合計以上であるという条件を満たす1以上のネットワークアドレスを生成する
    請求項1から請求項10のうちのいずれか1項に記載のネットワークアドレス重複回避方法。
  12. 重複回避仮想ネットワークアドレス生成処理で、仮想ネットワークアドレスとは異なるプロトコルの重複回避仮想ネットワークアドレスを生成する
    請求項1から請求項11のうちのいずれか1項に記載のネットワークアドレス重複回避方法。
  13. アドレス重複判定処理でアドレスが重複していると判定した場合に、重複回避仮想ネットワーク情報生成処理とデータ中継処理との間で、ネットワークアドレス重複回避装置が他のネットワークアドレス重複回避装置と構築するトンネルに関して、アドレス変換情報に基づいて、仮想ネットワークアドレスと重複回避仮想ネットワークアドレスとの相互変換を設定する
    請求項1から請求項12のうちのいずれか1項に記載のネットワークアドレス重複回避方法。
  14. アドレス重複判定処理でアドレスが重複していると判定した場合に、重複回避仮想ネットワーク情報生成処理と、トンネルに関するアドレス相互変換設定処理との間で、アドレス変換情報に基づいて、ネットワークアドレス重複回避装置が他のネットワークアドレス重複回避装置と送受信するトンネル構築情報に含まれる仮想ネットワークアドレスと重複回避仮想ネットワークアドレスとの相互変換を設定する
    請求項13に記載のネットワークアドレス重複回避方法。
  15. 1以上のネットワークを含む基本ネットワークと仮想ネットワークとの間のデータ中継を行い、前記基本ネットワークのネットワークアドレスである基本ネットワークアドレスと、前記仮想ネットワークのアドレスである仮想ネットワークアドレスとの重複を回避するネットワークアドレス重複回避装置であって、
    当該ネットワークアドレス重複回避装置、および、当該ネットワークアドレス重複回避装置に所属する所属ホストが宛先とする可能性がある基本ネットワークアドレスである宛先ネットワークアドレスを含むルーティング情報と、前記仮想ネットワークの構成情報である仮想ネットワーク情報とを用いて、前記ルーティング情報に含まれている宛先ネットワークアドレスと、前記仮想ネットワーク情報に含まれている仮想ネットワークアドレスとが重複しているか否かを判定するアドレス重複判定手段と、
    前記アドレス重複判定手段によって重複していると判定された場合、前記宛先ネットワークアドレスと重複しない仮想ネットワークアドレスである重複回避仮想ネットワークアドレスを生成する重複回避仮想ネットワークアドレス生成手段と、
    前記仮想ネットワーク情報に含まれている仮想ネットワークアドレスと前記重複回避仮想ネットワークアドレスとの間のアドレス変換情報を生成するアドレス変換情報生成手段と、
    前記アドレス変換情報に基づいて、前記仮想ネットワーク情報から、アドレス重複を回避した仮想ネットワーク情報である重複回避仮想ネットワーク情報を生成する重複回避仮想ネットワーク情報生成手段と、
    前記重複回避仮想ネットワーク情報に基づいた設定により前記基本ネットワークと前記仮想ネットワークとの間のデータ中継を行うデータ中継手段とを備える
    ことを特徴とするネットワークアドレス重複回避装置。
  16. アドレス重複判定手段が、ネットワークアドレス重複回避装置に関して、ネットワークアドレス重複回避装置の宛先ネットワークアドレスと仮想ネットワークアドレスとが重複しているかを判定し、
    重複回避仮想ネットワークアドレス生成手段が、アドレスが重複していると判定されたネットワークアドレス重複回避装置に関して、前記ネットワークアドレス重複回避装置の宛先ネットワークアドレスと重複しないネットワークアドレス重複回避装置用の重複回避仮想ネットワークアドレスを生成し、
    アドレス変換情報生成手段が、アドレスが重複していると判定されたネットワークアドレス重複回避装置に関して、前記仮想ネットワークアドレスと前記重複回避仮想ネットワークアドレスとの間のアドレス変換情報を生成し、
    重複回避仮想ネットワーク情報生成手段が、アドレスが重複していると判定されたネットワークアドレス重複回避装置に関して、前記アドレス変換情報に基づいて仮想ネットワーク情報から重複回避仮想ネットワーク情報を生成し、
    アドレス重複判定手段が、ネットワークアドレス重複回避装置の各所属ホストに関して、所属ホスト毎に、所属ホストの宛先ネットワークアドレスと、ネットワークアドレス重複回避装置用の仮想ネットワークアドレスとが重複しているかを判定し、
    重複回避仮想ネットワークアドレス生成手段が、アドレスが重複していると判定された所属ホストに関して、前記ネットワークアドレス重複回避装置および前記所属ホストの宛先ネットワークアドレスと重複しない所属ホスト用の重複回避仮想ネットワークアドレスを生成し、
    アドレス変換情報生成手段が、アドレスが重複していると判定された所属ホストに関して、前記仮想ネットワークアドレスと前記重複回避仮想ネットワークアドレスとの間のアドレス変換情報を生成し、
    重複回避仮想ネットワーク情報生成手段が、アドレスが重複していると判定された所属ホストに関して、前記所属ホスト用に生成されたアドレス変換情報に基づいて仮想ネットワーク情報から重複回避仮想ネットワーク情報を生成し、アドレスが重複していないと判定された所属ホストであって、前記ネットワークアドレス重複回避装置に関してはアドレスが重複していると判定されている所属ホストに関して、前記所属ホスト用に生成されたアドレス変換情報に基づいて仮想ネットワーク情報から重複回避仮想ネットワーク情報を生成し、
    データ中継手段が、前記各重複回避仮想ネットワーク情報に基づいた設定により基本ネットワークと仮想ネットワークとの間のデータ中継を行う
    請求項15に記載のネットワークアドレス重複回避装置。
  17. アドレス重複判定手段は、ネットワークアドレス重複回避装置に関して、ネットワークアドレス重複回避装置の宛先ネットワークアドレスおよびその所属ホストの宛先ネットワークアドレスと、仮想ネットワークアドレスとが重複しているかを判定する
    請求項16に記載のネットワークアドレス重複回避装置。
  18. 重複回避仮想ネットワークアドレス生成手段は、ネットワークアドレス重複回避装置に関して、ネットワークアドレス重複回避装置の宛先ネットワークアドレスおよびその所属ホストの宛先ネットワークアドレスと重複しないネットワークアドレス重複回避装置用の重複回避仮想ネットワークアドレスを生成する
    請求項16または請求項17に記載のネットワークアドレス重複回避装置。
  19. 重複回避仮想ネットワークアドレス生成手段は、所属ホスト用の重複回避仮想ネットワークアドレスを生成する際に、他の所属ホスト用のアドレス変換情報、他の所属ホスト用の重複回避仮想NWアドレス、および、他の所属ホスト用の重複回避仮想ネットワーク情報のうちの少なくともいずれか1つを参照して、他の所属ホスト用の重複回避仮想ネットワークアドレスと同一の重複回避仮想ネットワークアドレスを生成する
    請求項16から請求項18のうちのいずれか1項に記載のネットワークアドレス重複回避装置。
  20. データの送信元と宛先の組み合わせがいずれもネットワークアドレス重複回避装置の所属ホストである場合に、
    データに含まれる前記送信元の所属ホスト用の仮想ネットワークアドレスもしくは重複回避仮想ネットワークアドレスを、前記宛先の所属ホスト用の仮想ネットワークアドレスもしくは重複回避仮想ネットワークアドレスに変換する設定を行う変換設定手段を備える
    請求項16から請求項19のうちのいずれか1項に記載のネットワークアドレス重複回避装置。
  21. 変換設定手段は、データに含まれる送信元の所属ホスト用の仮想ネットワークアドレスもしくは重複回避仮想ネットワークアドレスを、前記データの宛先の所属ホスト用の仮想ネットワークアドレスもしくは重複回避仮想ネットワークアドレスに変換する設定を、データの送信元の所属ホスト用の仮想ネットワークアドレスもしくは重複回避仮想ネットワークアドレスと、前記データの宛先の所属ホスト用の仮想ネットワークアドレスもしくは重複回避仮想ネットワークアドレスとが異なる場合にのみ行う
    請求項20に記載のネットワークアドレス重複回避装置。
  22. アドレス重複判定手段は、仮想ネットワーク情報に含まれる仮想ネットワーク毎に判定を行い、
    重複回避仮想ネットワークアドレス生成手段は、仮想ネットワーク情報に含まれる仮想ネットワーク毎に重複回避仮想ネットワークアドレスを生成し、
    アドレス変換情報生成手段は、仮想ネットワーク情報に含まれる仮想ネットワーク毎にアドレス変換情報を生成し、
    重複回避仮想ネットワーク情報生成手段は、仮想ネットワーク情報に含まれる仮想ネットワーク毎に重複回避仮想ネットワーク情報を生成する
    請求項15から請求項19のうちのいずれか1項に記載のネットワークアドレス重複回避装置。
  23. アドレス重複判定手段は、仮想ネットワーク情報に含まれる仮想ネットワーク毎に判定を行い、
    重複回避仮想ネットワークアドレス生成手段は、仮想ネットワーク情報に含まれる仮想ネットワーク毎に重複回避仮想ネットワークアドレスを生成し、
    アドレス変換情報生成手段は、仮想ネットワーク情報に含まれる仮想ネットワーク毎にアドレス変換情報を生成し、
    変換設定手段は、仮想ネットワーク情報に含まれる仮想ネットワーク毎にアドレスを変換する設定を行い、
    重複回避仮想ネットワーク情報生成手段は、仮想ネットワーク情報に含まれる仮想ネットワーク毎に重複回避仮想ネットワーク情報を生成する
    請求項20または請求項21に記載のネットワークアドレス重複回避装置。
  24. 重複回避仮想ネットワークアドレス生成手段は、重複回避仮想ネットワークアドレスとして、仮想ネットワーク情報に含まれる他の仮想ネットワークの仮想ネットワークアドレスおよび重複回避仮想ネットワークアドレスと重複しないネットワークアドレスを生成する
    請求項22または請求項23に記載のネットワークアドレス重複回避装置。
  25. 重複回避仮想ネットワークアドレス生成手段は、重複回避仮想ネットワークアドレスとして、互いに重複しないネットワークアドレスであって、当該ネットワークアドレスのアドレス空間の合計が仮想ネットワークアドレス空間の合計以上であるという条件を満たす1以上のネットワークアドレスを生成する
    請求項15から請求項24のうちのいずれか1項に記載のネットワークアドレス重複回避装置。
  26. 重複回避仮想ネットワークアドレス生成手段は、仮想ネットワークアドレスとは異なるプロトコルの重複回避仮想ネットワークアドレスを生成する
    請求項15から請求項25のうちのいずれか1項に記載のネットワークアドレス重複回避装置。
  27. アドレス重複判定手段によってアドレスが判定された場合に、ネットワークアドレス重複回避装置が他のネットワークアドレス重複回避装置と構築するトンネルに関して、アドレス変換情報に基づいて、仮想ネットワークアドレスと重複回避仮想ネットワークアドレスとの相互変換を設定するアドレス相互変換設定手段を備える
    請求項15から請求項26のうちのいずれか1項に記載のネットワークアドレス重複回避装置。
  28. アドレス重複判定手段によってアドレスが判定された場合に、アドレス変換情報に基づいて、ネットワークアドレス重複回避装置が他のネットワークアドレス重複回避装置と送受信するトンネル構築情報に含まれる仮想ネットワークアドレスと重複回避仮想ネットワークアドレスとの相互変換を設定するトンネル構築情報内アドレス相互変換設定手段を備える
    請求項27に記載のネットワークアドレス重複回避装置。
  29. 1以上のネットワークを含む基本ネットワークと仮想ネットワークとの間のデータ中継を行い、前記基本ネットワークのネットワークアドレスである基本ネットワークアドレスと、前記仮想ネットワークのアドレスである仮想ネットワークアドレスとの重複を回避するネットワークアドレス重複回避装置と、
    前記仮想ネットワークの構成情報である仮想ネットワーク情報を提供する仮想ネットワーク管理装置とを備え、
    ネットワークアドレス重複回避装置は、
    当該ネットワークアドレス重複回避装置、および、当該ネットワークアドレス重複回避装置に所属する所属ホストが宛先とする可能性がある基本ネットワークアドレスである宛先ネットワークアドレスを含むルーティング情報と、前記仮想ネットワーク情報とを用いて、前記ルーティング情報に含まれている宛先ネットワークアドレスと、前記仮想ネットワーク情報に含まれている仮想ネットワークアドレスとが重複しているか否かを判定するアドレス重複判定手段と、
    前記アドレス重複判定手段によって重複していると判定された場合、前記宛先ネットワークアドレスと重複しない仮想ネットワークアドレスである重複回避仮想ネットワークアドレスを生成する重複回避仮想ネットワークアドレス生成手段と、
    前記仮想ネットワーク情報に含まれている仮想ネットワークアドレスと前記重複回避仮想ネットワークアドレスとの間のアドレス変換情報を生成するアドレス変換情報生成手段と、
    前記アドレス変換情報に基づいて、前記仮想ネットワーク情報から、アドレス重複を回避した仮想ネットワーク情報である重複回避仮想ネットワーク情報を生成する重複回避仮想ネットワーク情報生成手段と、
    前記重複回避仮想ネットワーク情報に基づいた設定により前記基本ネットワークと前記仮想ネットワークとの間のデータ中継を行うデータ中継手段とを有する
    ことを特徴とするネットワークアドレス重複回避システム。
  30. 1以上のネットワークを含む基本ネットワークと仮想ネットワークとの間のデータ中継を行い、前記基本ネットワークのネットワークアドレスである基本ネットワークアドレスと、前記仮想ネットワークのアドレスである仮想ネットワークアドレスとの重複を回避するコンピュータに搭載されるネットワークアドレス重複回避プログラムであって、
    前記コンピュータに、
    当該コンピュータ、および、当該コンピュータに所属する所属ホストが宛先とする可能性がある基本ネットワークアドレスである宛先ネットワークアドレスを含むルーティング情報と、前記仮想ネットワークの構成情報である仮想ネットワーク情報とを用いて、前記ルーティング情報に含まれている宛先ネットワークアドレスと、前記仮想ネットワーク情報に含まれている仮想ネットワークアドレスとが重複しているか否かを判定するアドレス重複判定処理、
    前記アドレス重複判定処理で重複していると判定された場合、前記宛先ネットワークアドレスと重複しない仮想ネットワークアドレスである重複回避仮想ネットワークアドレスを生成する重複回避仮想ネットワークアドレス生成処理、
    前記仮想ネットワーク情報に含まれている仮想ネットワークアドレスと前記重複回避仮想ネットワークアドレスとの間のアドレス変換情報を生成するアドレス変換情報生成処理、
    前記アドレス変換情報に基づいて、前記仮想ネットワーク情報から、アドレス重複を回避した仮想ネットワーク情報である重複回避仮想ネットワーク情報を生成する重複回避仮想ネットワーク情報生成処理、および、
    前記重複回避仮想ネットワーク情報に基づいた設定により前記基本ネットワークと前記仮想ネットワークとの間のデータ中継を行うデータ中継処理
    を実行させるためのネットワークアドレス重複回避プログラム。
JP2009161058A 2009-07-07 2009-07-07 ネットワークアドレス重複回避方法、装置、システムおよびプログラム Pending JP2011019007A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009161058A JP2011019007A (ja) 2009-07-07 2009-07-07 ネットワークアドレス重複回避方法、装置、システムおよびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009161058A JP2011019007A (ja) 2009-07-07 2009-07-07 ネットワークアドレス重複回避方法、装置、システムおよびプログラム

Publications (1)

Publication Number Publication Date
JP2011019007A true JP2011019007A (ja) 2011-01-27

Family

ID=43596481

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009161058A Pending JP2011019007A (ja) 2009-07-07 2009-07-07 ネットワークアドレス重複回避方法、装置、システムおよびプログラム

Country Status (1)

Country Link
JP (1) JP2011019007A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013005199A (ja) * 2011-06-16 2013-01-07 Seiko Epson Corp ネットワークシステム及びその制御方法
WO2014157241A1 (ja) * 2013-03-26 2014-10-02 日本電気株式会社 制御装置、通信システム、制御情報の送信方法及びプログラム
WO2017134537A1 (en) * 2016-02-04 2017-08-10 Trinity Mobile Networks, Inc. Overloading address space for improved routing, diagnostics, and content-relay network

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013005199A (ja) * 2011-06-16 2013-01-07 Seiko Epson Corp ネットワークシステム及びその制御方法
WO2014157241A1 (ja) * 2013-03-26 2014-10-02 日本電気株式会社 制御装置、通信システム、制御情報の送信方法及びプログラム
JP5991427B2 (ja) * 2013-03-26 2016-09-14 日本電気株式会社 制御装置、通信システム、制御情報の送信方法及びプログラム
WO2017134537A1 (en) * 2016-02-04 2017-08-10 Trinity Mobile Networks, Inc. Overloading address space for improved routing, diagnostics, and content-relay network
US10462054B2 (en) 2016-02-04 2019-10-29 Trinity Mobile Networks, Inc. Overloading address space for improved routing, diagnostics, and content-relay network

Similar Documents

Publication Publication Date Title
US11516080B2 (en) Using virtual networking devices and routing information to associate network addresses with computing nodes
JP6306640B2 (ja) 管理されたコンピュータネットワークのための論理ネットワーキング機能の提供
JP5589866B2 (ja) アドレス変換方法、アドレス変換代理応答方法、アドレス変換装置及びアドレス変換代理応答装置
JP4995891B2 (ja) Macブリッジを用いたマルチホップメッシュネットワークの接続
US11153205B2 (en) Systems and methods for establishing communication links between networks and devices with different routing protocols
JP2011160103A (ja) ゲートウェイ装置及びプログラム、並びに、通信システム
JP6386166B2 (ja) IPv4とIPv6との間の翻訳方法及び装置
WO2018135428A1 (ja) ゲートウェイ装置、ネットワークアドレス変換装置、通信システム、通信方法、および、プログラム
JP2011019007A (ja) ネットワークアドレス重複回避方法、装置、システムおよびプログラム
JP5670279B2 (ja) 仮想ネットワーク制御装置、仮想ネットワーク制御方法、仮想ネットワーク制御システム、及びプログラム
JP2009212739A (ja) データ処理システム、データ処理方法、及びデータ処理プログラム
JP6002642B2 (ja) 通信ノード及びネットワークシステム及び機器制御方法
CN102970218B (zh) Mf-tdma卫星终端基于广播型接口进行匿名互联的方法
JP5054666B2 (ja) Vpn接続装置、パケット制御方法、及びプログラム
JP2014003449A (ja) 転送装置及び転送方法
CN115225634B (zh) 虚拟网络下的数据转发方法、装置及计算机程序产品
JP2009225258A (ja) ネットワークシステム及び電文の転送方法
JP2009206876A (ja) サービス公開システム、通信中継装置、およびサービス公開装置
JP6403225B2 (ja) 中継装置のipアドレス解決方法、中継装置、及び、プログラム
JP5464360B2 (ja) 移動体通信における改良された端末情報管理方式及び通信方式を実現するメッシュ型ネットワーク及び基地局
JP5171608B2 (ja) Vpn接続装置、パケット制御方法、及びプログラム
JP6134571B2 (ja) 疎通確認装置、ネットワークシステム、疎通確認方法、および疎通確認プログラム
JP2022006834A (ja) 通信方法
CN117201510A (zh) 一种文件同步方法、装置、设备及存储介质
JP2010157858A (ja) Vpn接続装置、dnsパケット制御方法、及びプログラム