JPWO2013118690A1 - コンピュータシステム、及び仮想ネットワークの可視化方法 - Google Patents
コンピュータシステム、及び仮想ネットワークの可視化方法 Download PDFInfo
- Publication number
- JPWO2013118690A1 JPWO2013118690A1 JP2013557510A JP2013557510A JPWO2013118690A1 JP WO2013118690 A1 JPWO2013118690 A1 JP WO2013118690A1 JP 2013557510 A JP2013557510 A JP 2013557510A JP 2013557510 A JP2013557510 A JP 2013557510A JP WO2013118690 A1 JPWO2013118690 A1 JP WO2013118690A1
- Authority
- JP
- Japan
- Prior art keywords
- virtual
- information
- node
- virtual node
- controller
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
- H04L41/122—Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/58—Association of routers
- H04L45/586—Association of routers of virtual routers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本発明によるコントローラは、異なるコントローラで管理される仮想ネットワーク間に転送されるパケットデータの受信通知を前記スイッチから取得することで、前記パケットデータの送信仮想ノードと受信仮想ノードを特定する。管理装置は、特定された送信仮想ノードと受信仮想ノードを共通の仮想ノードとして、異なるコントローラで管理された仮想ネットワークを結合する。これにより、オープンフロー技術を利用した複数のコントローラによって制御された仮想ネットワーク全体を一元的に管理することができる。
Description
本発明は、コンピュータシステム、及びコンピュータシステムの可視化方法に関し、特
に、オープンフロー(プログラマブルフローとも称す)技術を利用したコンピュータシス
テムの仮想ネットワークの可視化方法に関する。
に、オープンフロー(プログラマブルフローとも称す)技術を利用したコンピュータシス
テムの仮想ネットワークの可視化方法に関する。
従来、パケットの送信元から送信先への経路の決定とパケット転送処理は、経路上の複数のスイッチが行っていた。近年、データセンタといった大規模ネットワークにおいては、故障による機器の停止や規模拡大のための機器の新規追加により、ネットワーク構成の変化が常に発生している。このため、ネットワークの構成の変化に即応し適切な経路を決定するという柔軟性が必要となってきた。しかし、スイッチにおける経路決定処理のプログラムは、外部から変更することができないため、ネットワーク全体を一元的に制御及び管理することはできなかった。
一方、コンピュータネットワークにおいて、各スイッチの転送動作等を外部のコントローラによって一元的に制御する技術(オープンフロー)が、Open Networking Foundationによって提案されている(非特許文献1参照)。この技術に対応したネットワークスイッチ(以下、オープンフロースイッチ(OFS)と称す)は、プロトコル種別やポート番号等の詳細な情報をフローテーブルに保持し、フローの制御と統計情報の採取を行うことができる。
オープンフロープロトコルを利用したシステムでは、オープンフローコントローラ(プログラマブルフローコントローラとも称す。以下OFCと称す)によって通信経路の設定や、経路上のOFSに対する転送動作(中継動作)等の設定が行われる。この際、OFCは、OFSが保持するフローテーブルに、フロー(パケットデータ)を特定するルールと、当該フローに対する動作を規定するアクションとを対応付けたフローエントリを設定する。通信経路上のOFSは、OFCによって設定されたフローエントリに従って受信パケットデータの転送先を決定し、転送処理を行う。これにより、クライアント端末は、OFCによって設定された通信経路を利用して他のクライアント端末との間でパケットデータの送受信が可能となる。すなわち、オープンフローを利用したコンピュータシステムでは、通信経路を設定するOFCと、転送処理を行うOFSとが分離され、システム全体の通信を一元的に制御及び管理することが可能となる。
OFCは、L1〜L4のヘッダ情報によって規定されるフロー単位で、クライアント端末間の転送を制御できるため、ネットワークを任意に仮想化することができる。これにより、物理構成の制約は緩和され、仮想テナント環境の構築が容易となるとともに、スケールアウトによる初期投資費用を低減することができる。
オープンフローを利用したシステムに接続するクライアント端末やサーバ、ストレージ等の端末数が増大すると、フローを管理するOFCに対する負荷が増大する。このため、OFCに対する負荷を軽減するため、1つのシステム(ネットワーク)に複数のOFCが設置されることがある。あるいは、通常、データセンタ毎に1つのOFCが設置されるため、複数のデータセンタを有するシステムの場合、システム全体におけるネットワークを複数のOFCが管理することとなる。
1つのネットワークを複数のコントローラで管理するシステムが、例えば、特開2011−166692号公報(特許文献1参照)、特開2011−166384号公報(特許文献2参照)、特開2011−160363号公報(特許文献3参照)に記載されている。特許文献1には、オープンフローを利用したネットワークのフロー制御を、トポロジ情報を共有した複数のコントローラで行うシステムが記載されている。特許文献2には、通信経路上のスイッチに対して、優先度を付加したフローエントリの設定を指示する複数のコントローラと、優先度に応じてフローエントリの設定許否を判定し、自身に設定されたフローエントリに適合する受信パケットに対し、自身設定されたフローエントリに従った中継動作を行うスイッチとを具備するシステムが記載されている。特許文献3には、通信経路上のスイッチに対して、フローエントリの設定を指示する複数のコントローラ1と、複数のコントローラ1の1つを経路決定者として指定し、経路決定者によって設定されたフローエントリに従って、受信パケットの中継処理を行う複数のスイッチとを具備するシステムが記載されている。
OpenFlow Switch Specification Version 1.1.0 Implemented ( Wire Protocol 0x02 ) 2011年2月28日
1つの仮想ネットワークを複数のコントローラで管理する場合、コントローラ毎で管理している仮想ネットワークの状況等は個々において把握できるが、複数のコントローラによって管理される仮想ネットワーク全体を1つの仮想ネットワークとして把握することはできない。例えば、2つのOFCによって管理される2つの仮想ネットワーク“VNW1”、“VNW2”によって1つの仮想テナントネットワーク“VTN1”が形成される場合、2つの仮想ネットワーク“VNW1”、“VNW2”のそれぞれの状況は、2つのOFCのそれぞれによって把握され得る。しかし、2つの仮想ネットワーク“VNW1”、“VNW2”を統合することはできないため、仮想テナントネットワーク“VTN1”全体の状況を一元的に把握することはできなかった。
従って、本発明による目的は、オープンフロー技術を利用した複数のコントローラによって制御された仮想ネットワーク全体を一元的に管理することにある。
本発明の一の観点によるコンピュータシステムは、複数のコントローラと、スイッチと、管理装置とを具備する。複数のコントローラのそれぞれは、通信経路を算出し、通信経路上のスイッチに対してフローエントリを設定し、通信経路に基づいて構築された仮想ネットワークを管理する。スイッチは、自身のフローテーブルに設定されたフローエントリに従って、受信パケットの中継動作を行う。複数のコントローラのうち、一のコントローラは、自身及び他のコントローラのそれぞれで管理される2つの仮想ネットワーク間に転送されるパケットデータの受信通知をスイッチから取得することで、パケットデータの送信仮想ノードと受信仮想ノードを特定する。管理装置は、送信仮想ノードと受信仮想ノードを共通の仮想ノードとして、2つの仮想ネットワークを結合して視認可能に出力する。
本発明の他の観点による仮想ネットワークの可視化方法は、それぞれが、通信経路を算出し、通信経路上のスイッチに対して、フローエントリを設定する複数のコントローラと、自身のフローテーブルに設定された前記フローエントリに従って、受信パケットの中継動作を行うスイッチとを具備するコンピュータシステムにおいて実行される。本発明による仮想ネットワークの可視化方法は、コントローラが、複数のコントローラのうち、自身と他のコントローラのそれぞれで管理される2つの仮想ネットワーク間に転送されるパケットデータの受信通知をスイッチから取得し、パケットデータの送信仮想ノードと受信仮想ノードを特定するステップと、管理装置が、送信仮想ノードと受信仮想ノードを共通の仮想ノードとして、2つの仮想ネットワークを結合し視認可能に出力するステップとを具備する。
本発明によれば、オープンフロー技術を利用した複数のコントローラによって制御された仮想ネットワーク全体を一元的に管理することができる。
上記発明の目的、効果、特徴は、添付される図面と連携して実施の形態の記述から、より明らかになる。
図1は、本発明によるコンピュータシステムの実施の形態における構成を示す図である。
図2は、本発明によるオープンフローコントローラの実施の形態における構成を示す図である。
図3は、本発明によるオープンフローコントローラが保持するVNトポロジ情報の一例を示す図である。
図4は、本発明によるオープンフローコントローラが保持するVNトポロジ情報の概念図である。
図5は、本発明による管理装置の実施の形態における構成を示す図である。
図6は、本発明による管理装置がオープンフローコントローラからVNトポロジ情報及び対応仮想ノード情報を取得する動作の一例を示すシーケン図である。
図7は、本発明による共通仮想ノードの特定に利用するパケットデータの構造の一例を示す図である。
図8は、図1に示す複数のオープンフローコントローラのそれぞれが保持するVNトポロジ情報の一例を示す図である。
図9は、対応仮想ノード特定処理によって特定された対応仮想ノード情報の一例を示す図である。
図10は、図9に示すVNトポロジ情報を統合して生成された、仮想ネットワーク全体のVTNトポロジ情報の一例を示す図である。
以下、添付図面を参照しながら本発明の実施の形態を説明する。図面において同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示す。
(コンピュータシステムの構成)
図1を参照して、本発明によるコンピュータシステムの構成を説明する。図1は、本発明によるコンピュータシステムの実施の形態における構成を示す図である。本発明によるコンピュータシステムは、オープンフローを利用して通信経路の構築及びパケットデータの転送制御を行う。本発明によるコンピュータシステムは、オープンフローコントローラ1−1〜1−5(以下、OFC1−1〜1−5と称す)、複数のオープンフロースイッチ2(以下、OFS2と称す)、複数のL3ルータ3、複数のホスト4(例えばストレージ4−1、サーバ4−2、クライアント端末4−3)、管理装置100を具備する。尚、OFC1−1〜1−5を区別せずに総称する場合はOFC1と称す。
図1を参照して、本発明によるコンピュータシステムの構成を説明する。図1は、本発明によるコンピュータシステムの実施の形態における構成を示す図である。本発明によるコンピュータシステムは、オープンフローを利用して通信経路の構築及びパケットデータの転送制御を行う。本発明によるコンピュータシステムは、オープンフローコントローラ1−1〜1−5(以下、OFC1−1〜1−5と称す)、複数のオープンフロースイッチ2(以下、OFS2と称す)、複数のL3ルータ3、複数のホスト4(例えばストレージ4−1、サーバ4−2、クライアント端末4−3)、管理装置100を具備する。尚、OFC1−1〜1−5を区別せずに総称する場合はOFC1と称す。
ホスト4は、図示しないCPU、主記憶装置、及び外部記憶装置を備えるコンピュータ装置であり、外部記憶装置に格納されたプログラムを実行することで、他のホスト4との間で通信を行う。ホスト4間の通信は、スイッチ2又はL3ルータ3を介して行われる。ホスト4は、実行するプログラムやそのハードウェア構造に応じて、ストレージ4−1、サーバ(例えばWebサーバ、ファイルサーバ、アプリケーションサーバ)、あるいはクライアント端末4−3等に例示される機能を実現する。
OFC1は、オープンフロー技術により、システム内におけるパケット転送に係る通信経路パケット転送処理を制御するフロー制御部13を備える。オープンフロー技術とは、コントローラ(ここではOFC1)が、ルーティングポリシー(フローエントリ:フロー+アクション)に従い、マルチレイヤ及びフロー単位の経路情報をOFS2に設定し、経路制御やノード制御を行う技術を示す(詳細は、非特許文献1を参照)。これにより、経路制御機能がルータやスイッチから分離され、コントローラによる集中制御によって最適なルーティング、トラフィック管理が可能となる。オープンフロー技術が適用されるOFS2は、従来のルータやスイッチのようにパケットやフレームの単位ではなく、END2ENDのフローとして通信を取り扱う。
OFC1は、OFS2が保持するフローテーブル(図示なし)にフローエントリ(ルール+アクション)を設定することで当該OFS2の動作(例えばパケットデータの中継動作)を制御する。OFC1によるOFS2に対するフローエントリの設定や、OFS2からOFC1に対するファーストパケットの通知(パケットIN)は、予めOFS2に設定されたOFC1に対し、制御用ネットワーク200(以下、制御用NW200と称す)を介して行われる。
図1に示す一例では、データセンタDC1内のネットワーク(OFS2)を制御するOFC1としてOFC1−1〜1−4が設置され、データセンタDC2内のネットワーク(OFS2)を制御するOFC1としてOFC1−5が設置されている。OFC1−1〜1−4は、データセンタDC1内のOFS2と制御用NW200−1を介して接続され、OFC1−5は、データセンタDC2内のOFS2と制御用NW200−2を介して接続されている。又、データセンタDC1のネットワーク(OFS2)とデータセンタDC2のネットワーク(OFS2)は、レイヤ3でルーティングを行うL3ルータ3を介して接続された異なるIPアドレス範囲のネットワーク(サブネットワーク)である。
図2を参照して、OFC1の構成の詳細を説明する。図2は、本発明によるOFC1の構成を示す図である。OFC1は、CPU及び記憶装置を備えるコンピュータによって実現されることが好適である。OFC1では、図示しないCPUが記憶装置に格納されたプログラムを実行することで、図2に示す対応仮想ノード特定部11、VNトポロジ管理部12、フロー制御部13の各機能が実現される。又、OFC1は、記憶装置に格納されたVNトポロジ情報14を保持する。
フロー制御部13は、自身が管理するOFS2にフローエントリ(ルール+アクション)の設定又は削除を行う。OFS2は、設定されたフローエントリを参照し、受信パケットのヘッダ情報に応じたルールに対応するアクション(例えばパケットデータの中継や破棄)を実行する。ルール、アクションの詳細は後述する。
ルールには、例えば、TCP/IPのパケットデータにおけるヘッダ情報に含まれる、OSI(Open Systems Interconnection)参照モデルのレイヤ1からレイヤ4のアドレスや識別子の組み合わせが規定される。例えば、レイヤ1の物理ポート、レイヤ2のMACアドレス、VLANタグ(VLAN id)、レイヤ3のIPアドレス、レイヤ4のポート番号のそれぞれの組み合わせがルールとして設定される。尚、VLANタグには、優先順位(VLAN Priority)が付与されていても良い。
ここで、ルールに設定されるポート番号等の識別子やアドレス等は、所定の範囲で設定されても構わない。又、宛先や送信元のアドレス等を区別してルールとして設定されることが好ましい。例えば、MAC宛先アドレスの範囲や、接続先のアプリケーションを特定する宛先ポート番号の範囲、接続元のアプリケーションを特定する送信元ポート番号の範囲がルールとして設定される。更に、データ転送プロトコルを特定する識別子をルールとして設定してもよい。
アクションには、例えばTCP/IPのパケットデータを処理する方法が規定される。例えば、受信パケットデータを中継するか否かを示す情報や、中継する場合はその送信先が設定される。又、アクションには、パケットデータの複製や、破棄することを指示する情報が設定されてもよい。
OFC1によるフロー制御により、予め設定された仮想ネットワーク(VN)がOFC1毎に構築される。又、OFC1毎に管理される少なくとも1つの仮想ネットワーク(VN)により1つの仮想テナントネットワーク(VTN)が構築される。例えば、異なるIPネットワークを制御するOFC1−1〜1−5のそれぞれに管理される仮想ネットワークによって、1つの仮想テナントネットワークVTN1が構築される。あるいは、同一IPネットワークを制御するOFC1−1〜1−4のそれぞれに管理される仮想ネットワークによって、1つの仮想テナントネットワークVTN2が構築されても良い。更には、1つのOFC1(例えばOFC1−5)によって管理される仮想ネットワークが1つの仮想テナントネットワークVTN3を構成しても良い。尚、図1に示すように、仮想テナントネットワーク(VTN)は、システム内に複数構築されても良い。
対応仮想ノード特定部11は、管理装置100からの指示に応じて対応仮想ノードの特定を行う。対応仮想ノードとは、複数のOFC1のそれぞれで管理する仮想ネットワークのうち、共通(同一)の仮想ノードを示し、例えば、共通(同一)の仮想ノードとして特定された仮想ノード名の組合せで示される。対応仮想ノード特定部11は、他のOFC1が管理する仮想ネットワークのうち、自身の管理する仮想ネットワークの構成要素である仮想ノードと共通(同一)の仮想ノードを特定し、それぞれを対応付けて対応仮想ノード情報105として記憶装置(図示なし)に記録する。
詳細には、対応仮想ノード特定部11は、他のOFC1に試験パケットを送信し、応答パケットを受信したOFS2からのパケットINから抽出した受信仮想ノード名と、試験パケットの送信元仮想ネットワークにおける仮想ノード名のうち、受信仮想ノードと同じ要素の仮想ノード名との組合せを対応仮想ノード情報105として記録する。又、対応仮想ノード特定部11は、管理装置100に対応仮想ノード情報105を通知する。対応仮想ノード情報105の通知は、管理装置100からの要求に応じて実行されても、任意の時期に実行してもどちらでも良い。対応仮想ノード特定部11の詳細な動作は後述する。
VNトポロジ管理部12は、自身が属するOFS1が管理する仮想ネットワーク(VN)のトポロジ情報(VNトポロジ情報14)を管理する。又、VNトポロジ管理部12は、自身が管理する仮想ネットワークのVNトポロジ情報14を管理装置100に通知する。VNトポロジ情報14は、図3及び図4に示すように、OFC1が管理(制御)する仮想ネットワーク(VN)のトポロジに関する情報を含む。図1を参照して、本発明によるコンピュータシステムは、複数のOFC1によって制御されることで複数の仮想テナントネットワークVTN1、VTN2、・・・を実現している。仮想テナントネットワークには、OFC1−1〜1−5のそれぞれが管理(制御)する仮想ネットワーク(VN)を含んでいる。OFC1は、自身が管理する仮想ネットワーク(以下、管理対象仮想ネットワークと称す)のトポロジに関する情報をVNトポロジ情報14として保持する。
図3は、OFC1が保持するVNトポロジ情報14の一例を示す図である。図4は、OFC1が保持するVNトポロジ情報14の概念図である。VNトポロジ情報14は、OFS2や図示しないルータ等の物理スイッチによって実現される仮想ネットワークにおける仮想ノードの接続状況に関する情報を含む。具体的には、VNトポロジ情報14は、管理対象仮想ネットワークに属する仮想ノードを識別する情報(仮想ノード情報142)と、当該仮想ノードの接続状況を示す接続情報143を含む。仮想ノード情報142と接続情報143は、管理対象仮想ネットワークが属する仮想ネットワーク(例えば、仮想テナントネットワーク)の識別子であるVTN番号141に対応付けられて記録される。
例えば、仮想ノード情報142には、仮想ノードとして仮想ブリッジ、仮想エクスターナル、仮想ルータのそれぞれを特定する情報(例えば、仮想ブリッジ名、仮想エクスターナル名、仮想ルータ名)を含む。仮想エクスターナルとは、仮想ブリッジの接続先となる端末(ホスト)やルータを示す。例えば、仮想ルータの識別子(仮想ルータ名)と、当該下層ルータに接続している仮想ブリッジの情報とが対応付けられて仮想ノード情報142として設定される。ここで、仮想ブリッジ名、仮想エクスターナル名、仮想ルータ名等に例示される仮想ノード名は、OFC1毎に固有に設定されても良いし、システム内の全てのOFC1に共通の名称が設定されても良い。
接続情報143は、仮想ノードの接続先を特定する情報を含み、当該仮想ノードの仮想ノード情報142に対応付けられる。例えば、図4を参照して、仮想ブリッジ(vBridge)“VB11”の接続先として仮想ルータ(vRouter)“VR11”と仮想エクスターナル(vExternal)“VE11”が接続情報143として設定される。接続情報143には、接続相手を特定する接続種別(ブリッジ/エクスターナル/ルータ/外部ネットワーク(L3ルータ)や、接続先を特定する情報(例えばポート番号、MACアドレス、VLAN名)が含まれても良い。詳細には、仮想ブリッジの識別子(仮想ブリッジ名)に当該仮想ブリッジに属するVLAN名が対応付けられて接続情報143として設定される。又、仮想エクスターナルの識別子(仮想エクスターナル名)に、VLAN名とMACアドレス(又はポート番号)との組合せが対応付けられて接続情報143として設定される。すなわち、仮想エクスターナルは、VLAN名とMACアドレス(又はポート番号)との組合せによって定義される。
図4を参照して、OFC1が保持するVNトポロジ情報14に基づいて作成された仮想ネットワークの一例を説明する。図4に示す仮想ネットワークは、仮想テナントネットワークVTN1に属し、仮想ルータ“VR11”、仮想ブリッジ“VB11”、“VB12”、仮想エクスターナル“VE11”、“VE12”によって構成される。仮想ブリッジ“VB11”、“VB12”は仮想ルータ“VR11”を介して接続される別サブネットワークである。仮想ブリッジ“VB11”には、仮想エクスターナル“VE11”が接続され、仮想エクスターナル“VE11”には、OFC1−2“OFC2”が管理する仮想ルータ“VR22”のMACアドレスが対応付けられている。これは、仮想ブリッジ“VB11”から、OFC1−2“OFC2”が管理する仮想ルータ“VR22”のMACアドレスが見えていることを示す。同様に、仮想ブリッジ“VB12”には、仮想エクスターナル“VE12”が接続され、仮想エクスターナル“VE12”には、L3ルータが対応付けられている。これは、仮想ブリッジ“VB12”がL3ルータを介して外部ネットワークに接続されていることを示す。
図1を参照して、対応仮想ノード特定部11やVNトポロジ管理部12は、セキュアな管理用ネットワーク300(以下、管理用NW300と称す)を介して、対応仮想ノード情報105やVNトポロジ情報14を管理装置100に通知する。管理装置100は、OFC1−1〜1−5から収集したVNトポロジ情報14を、対応仮想ノード情報105に基づいて結合し、システム全体の仮想ネットワーク(例えば仮想テナントネットワークVTN1、VTN2、・・・)を生成する。
図5を参照して、管理装置100の構成の詳細を説明する。図5は、本発明による管理装置100の実施の形態における構成を示す図である。管理装置100は、CPU及び記憶装置を備えるコンピュータによって実現されることが好適である。管理装置100では、図示しないCPUが記憶装置に格納された可視化プログラムを実行することで、図5に示すVN情報収集部101、VNトポロジ結合部102、VTNトポロジ出力部103の各機能が実現される。又、管理装置100は、記憶装置に格納されたVTNトポロジ情報104、対応仮想ノード情報105を保持する。尚、VTNトポロジ情報104は、初期状態では記録されてなく、VNトポロジ結合部102によって生成された時点で初めて記録される。又、対応仮想ノード情報105も、初期状態では記録されてなく、OFC1から通知された対応仮想ノード情報105が記録される。
VN情報収集部101は、管理用NW300を介してOFC1に対してVNトポロジ情報収集指示を発行し、OFC1からVNトポロジ情報14及び対応仮想ノード情報105を取得する。取得したVNトポロジ情報14や対応仮想ノード情報105は、図示しない記憶装置に一時記憶される。
VNトポロジ結合部102は、対応仮想ノード情報105に基づいて、VNトポロジ情報14をシステム全体における仮想ネットワーク単位(例えば仮想テナントネットワーク単位)で結合(統合)し、システム全体における仮想ネットワークに対応するトポロジ情報を生成する。VNトポロジ結合部102によって生成されたトポロジ情報は、VTNトポロジ情報104として記録されるとともに、VTNトポロジ出力部103によって視認可能に出力される。例えば、VTNトポロジ出力部103は、VTNトポロジ情報104をモニタ等の出力装置(図示なし)に、テキスト形式又はグラフィカルに表示させる。VTNトポロジ情報104は、図3に示すVNトポロジ情報14と同様な構成であり、VTN番号に対応付けられた仮想ノード情報及び接続情報を含む。
VNトポロジ結合部102は、OFC1から取得したVNトポロジ情報14と、対応仮想ノード情報105とに基づいて、OFC1毎の管理対象仮想ネットワーク上の仮想ノードのうち、共通の(同一の)仮想ノードを特定する。VNトポロジ結合部102は、共通の仮想ノードを介して当該仮想ノードが属する仮想ネットワークを結合する。ここで、VNトポロジ結合部102は、同一IPアドレス範囲の仮想ネットワーク(サブネット)同士を接続する場合、当該ネットワークに共通の仮想ブリッジを介して仮想ネットワークの結合を行う。又、VNトポロジ結合部102は、異なるIPアドレス範囲の仮想ネットワーク(サブネット)同士を接続する場合、当該ネットワークで接続関係にある仮想エクスターナルを介して仮想ネットワークの結合を行う。
(仮想ネットワークの結合(統合)動作)
次に、図6から図10を参照して、本発明によるコンピュータシステムにおける仮想ネットワークの結合動作の詳細を説明する。本発明では、仮想ネットワークの結合に先立ち、複数の管理対象仮想ネットワークにおいて共通の仮想ノードを特定する処理が行われる。以下では、図1に示すコンピュータシステムにおいて、仮想テナントネットワーク“VTN1”に含まれる仮想ネットワーク(管理対象ネットワーク)を結合する動作を一例に説明する。
次に、図6から図10を参照して、本発明によるコンピュータシステムにおける仮想ネットワークの結合動作の詳細を説明する。本発明では、仮想ネットワークの結合に先立ち、複数の管理対象仮想ネットワークにおいて共通の仮想ノードを特定する処理が行われる。以下では、図1に示すコンピュータシステムにおいて、仮想テナントネットワーク“VTN1”に含まれる仮想ネットワーク(管理対象ネットワーク)を結合する動作を一例に説明する。
OFC1は、自身の管理対象ネットワークにおける仮想ブリッジ上のホストから、試験パケットを、他のOFC1の管理対象ネットワークにおける仮想ブリッジ上のホストに送信する。続いて、OFC1は、試験パケットの応答パケット(試験パケット受信情報)に含まれる受信仮想ノードを送信仮想ノードと同一の仮想ノード(対応仮想ノード)として特定し、自身が管理するVNトポロジ情報14とともに管理装置100に通知する。同様にして、管理装置100は、システム内の全てのOFC1からVNトポロジ情報14及び対応仮想ノード情報105を取得し、これらに基づいて、管理対象仮想ネットワークを結合する。
図6を参照して、本発明による管理装置100が、OFC1からVNトポロジ情報14及び対応仮想ノード情報105を取得する動作を説明する。
管理装置100は、VNトポロジ情報収集指示をOFC1−1に発行する(ステップS101)。VNトポロジ情報収集指示には、可視化対象となる仮想ネットワーク(ここでは、一例として仮想テナントネットワーク“VTN1”)を特定する情報が含まれる。OFC1−1は、VNトポロジ情報収集指示でしめされた可視化対象の仮想ネットワークにおいて、自身の管理対象仮想ネットワークと、他のOFC1−2〜1−5の管理対象仮想ネットワークとの共通の仮想ノードを特定する処理を行う(ステップS102〜S107)。以下では、OFC1−1(コントローラ名“OFC1”)の管理対象仮想ネットワークとOFC1−2(コントローラ名“OFC2”)の管理対象仮想ネットワークとの対応仮想ノードを特定する動作を説明する。
OFC1−1は、VNトポロジ情報収集指示に応じて、試験パケット情報要求をOFC1−2に送信する(ステップS102)。試験パケット情報要求は、管理用NW300を介してOFC1−2に送信される。試験パケット情報要求には、可視化対象となる仮想ネットワークを特定する情報が含まれる。一例として、試験パケット情報要求は、仮想テナントネットワーク“VTN1”を特定する情報を含む。
図7を参照して、OFC1−1からOFC1−2に送信される試験パケット情報要求のパケット構造の具体例を説明する。試験パケット情報要求は、宛先MACアドレスとしてOFC1−2“OFC2”のMACアドレス、送信元MACアドレスとしてOFC1−1“OFC1”のMACアドレス、宛先IPアドレスとしてOFC1−2“OFC2”の管理IPアドレス、送信元MACアドレスとしてOFC1−1“OFC1”の管理IPアドレス、プロトコルとしてUDP(User Datagram Protocol )、UDPデータとして、メッセージID=1、識別番号=X、VTN名=VTN1を含む。ここで、管理IPアドレスとは、管理用NW300に接続するOFC1に割り当てられたIPアドレスを示す。メッセージID=1は、当該パケットデータが試験パケット情報要求であることを示す。識別番号は、後述する送信先アドレス通知と紐つけるための識別子である。VTN名は、可視化対象となる仮想ネットワークを特定するための情報である。
OFC1−2は、試験パケット情報要求に応答して送信先アドレス情報を通知する(ステップS102)。OFC1−2は、試験パケット情報要求に含まれるVTN名の仮想ネットワークに自身の管理対象仮想ネットワークが属している場合、当該要求に応答する。一方、自身の管理対象仮想ネットワークが、要求されたVTN名の仮想ネットワークに属していない場合、OFC1−2は応答せず当該要求を破棄する。試験パケット情報要求に応答する場合、OFC1−2は、試験パケット情報要求に含まれるVTN名の仮想ネットワークに属する管理対象仮想ネットワーク上に存在する全てのホストのIPアドレスを、送信先アドレス情報として要求元のOFC1−1に通知する。OFC1−2は、例えば図7に示されるような送信アドレス情報を、管理用NW300を介して通知する。
図7を参照して、OFC1−2からOFC1−1に送信される試験パケット情報のパケット構造の具体例を説明する。試験パケット情報は、宛先MACアドレスとしてOFC1−1“OFC1”のMACアドレス、送信元MACアドレスとしてOFC1−2“OFC2”のMACアドレス、宛先IPアドレスとしてOFC1−1“OFC1”の管理IPアドレス、送信元MACアドレスとしてOFC1−2“OFC2”の管理IPアドレス、プロトコルとしてUDP、UDPデータとして、メッセージID=2、識別番号=X、VTN名=VTN1、試験パケットの送信先ホストのIPアドレスを含む。ここで、メッセージID=2は、当該パケットデータが試験パケット情報であることを示す。識別番号は、ステップS102の試験パケット情報要求の応答を示す識別子(ここでは“X”)が付与される。試験パケットの送信先ホストのIPアドレスは、試験パケットの送信先としてOFC1−2が指定したVTN1に属する仮想ネットワーク上のホストのIPアドレスである。試験パケットの送信先となるVTN1に属する仮想ネットワーク上のホストが複数存在する場合は、複数のホストIPが送信先アドレスとして、送信先アドレス情報に設定される。
OFC1−1は、送信先アドレス情報を受け取ると、当該送信先アドレス情報に含まれる送信先アドレス(VTN1のホストIPアドレス)を送信先とした試験パケットを送信する(ステップS104)。詳細には、OFC1−1は、ステップS102において要求した送信先アドレス情報を、識別番号(ここでは“X”)で特定し、特定した送信先アドレス情報に含まれるホストIPアドレスを宛先とした試験パケットを、VTN名で指定した仮想ネットワークを介して送信する。一例としてOFC1−1は、図7に示されるような試験パケットを、図8に示す仮想テナントネットワークVTN1を介して送信する。
図7を参照して、OFC1−1の管理対象仮想ネットワーク上のホストからOFC1−2の管理対象仮想ネットワーク上のホストに送信される試験パケットのパケット構造の具体例を説明する。試験パケットは、宛先MACアドレスとして仮想テナントネットワーク“VTN1”上の、OFC1−2“OFC2”が管理するホストのMACアドレス、送信元MACアドレスとして仮想テナントネットワーク“VTN1”上の、OFC1−1“OFC1”が管理するホストのMACアドレス、宛先IPアドレスとして仮想テナントネットワーク“VTN1”上の、OFC1−2“OFC2”が管理するホストのIPアドレス、送信元IPアドレスとして仮想テナントネットワーク“VTN1”上の、OFC1−1“OFC1”が管理するホストのIPアドレス、プロトコルとしてUDP(User Datagram Protocol )、UDPデータとして、メッセージID=3、識別番号=Y、VTN名=VTN1を含む。ここで、送信先ホストのIPアドレスは、送信先アドレス通知によってOFC1−1が取得したIPアドレスである。メッセージID=3は、当該パケットデータが試験パケットであることを示す。識別番号は、後述する試験パケット受信通知と紐つけるための識別子である。
OFC1−1は、自身の制御下にあり、仮想テナントネットワーク“VTN1”に属する仮想ブリッジを構成するOFS2−1に対し、制御用NW200−1を介して試験パケットを送信する。この際、OFC1−1は、試験パケットが仮想テナントネットワーク“VTN1”上を転送するためのフローエントリを当該OFS2−1に設定する。これにより、試験パケットは仮想テナントネットワーク“VTN1”を介して宛先ホストに転送されることとなる。
仮想テナントネットワーク“VTN1”を介して転送される試験パケットは、OFC1−2の制御下のOFS2−2に受信される。OFS2−2は、受信した試験パケットに適合するフローエントリがないため、当該試験パケットをファーストパケットとしてOFC1−2に通知する(パケットIN、ステップS105)。ここでOFC1−2へのパケットINは、制御用NW200−1を介して行われる。OFC1−2は、OFS2−2からのパケットINにより、OFS2−2において受信された試験パケットを取得する。又、パケットINの際、OFS2−2は、試験パケットを受信したポートに割り当てられたVLAN名やポート番号をOFC1−2に通知する。OFC1−2は、通知されたVLAN名とVNトポロジ情報14に基づいて、試験パケットを受信したOFS2が属する仮想ブリッジ(すなわち、試験パケットの受信した仮想ブリッジ)を特定することができる。又、OFC1−2は、通知されたVLAN名や、試験パケットの送信元ホストMACアドレスと、VNトポロジ情報14とに基づいて、試験パケットを受信した仮想エクスターナルを特定することができる。
OFC1−2は、試験パケットを受信したことを示す試験パケット受信情報を、当該試験パケットの送信元ホスト宛に送信する(ステップS106)。詳細には、OFC1−2は、OFS2−1に対し、制御用NW200−1を介して試験パケット受信情報を送信するとともに、試験パケット受信情報が仮想テナントネットワーク“VTN1”上を転送するためのフローエントリを当該OFS2−2に設定する。これにより、試験パケット受信情報は仮想テナントネットワーク“VTN1”を介して送信元ホストに転送されることとなる。
OFC1−2は、パケットINとともに通知されたVLAN名やポート番号から、試験パケットを受信した仮想ブリッジ名や仮想エクスターナル名を特定し、これらを含む試験パケット受信情報をOFS2−2から転送させる。OFC1−2は、試験パケットの宛先ホストを試験パケット受信情報の送信元とし、試験パケットの送信元ホストを試験パケット受信情報の宛先として設定する。一例としてOFC1−2は、図7に示されるような試験パケット受信情報を、図8に示す仮想テナントネットワークVTN1を介して送信する。
図7を参照して、試験パケット受信情報のパケット構造の具体例を説明する。試験パケット受信情報は、宛先MACアドレスとして仮想テナントネットワーク“VTN1”上の、OFC1−1“OFC1”が管理するホストのMACアドレス、送信元MACアドレスとして仮想テナントネットワーク“VTN1”上の、OFC1−2“OFC2”が管理するホストのMACアドレス、宛先IPアドレスとして仮想テナントネットワーク“VTN1”上の、OFC1−1“OFC1”が管理するホストのIPアドレス、送信元IPアドレスとして仮想テナントネットワーク“VTN1”上の、OFC1−2“OFC2”が管理するホストのIPアドレス、プロトコルとしてUDP(User Datagram Protocol )、UDPデータとして、メッセージID=4、識別番号=Y、VTN名=VTN1、受信vBridge名、受信vExternal名を含む。ここで、送信先ホストのMACアドレスやIPアドレスは、試験パケットの送信元ホストのMACアドレスやIPアドレスである。メッセージID=4は、当該パケットデータが試験パケット受信情報であることを示す。識別番号は、試験パケットの応答を示す識別子(ここでは“Y”)が付与される。受信vBridge名、受信vExternal名は、OFC1−2で特定された試験パケットを受信した仮想ブリッジや仮想エクスターナルを識別する名称である。
仮想テナントネットワーク“VTN1”を介して転送される試験パケット受信情報は、OFC1−1の制御下のOFS2−2に受信される。OFS2−1は、受信した試験パケット受信情報に適合するフローエントリがないため、当該試験パケット受信情報をファーストパケットとしてOFC1−1に通知する(パケットIN、ステップS107)。ここでOFC1−1へのパケットINは、制御用NW200−1を介して行われる。OFC1−1は、OFS2−1からのパケットINにより、OFS2−1において受信された試験パケット受信情報を取得する。又、パケットINの際、OFS2−1は、試験パケット受信情報を受信したポートに割り当てられたVLAN名やポート番号をOFC1−1に通知する。OFC1−1は、通知されたVLAN名とVNトポロジ情報14に基づいて、試験パケットを受信したOFS2が属する仮想ブリッジ(すなわち、試験パケットの受信した仮想ブリッジ)を特定する。又、OFC1−1は、通知されたVLAN名や、試験パケットの送信元ホストのMACアドレスとVNトポロジ情報14とに基づいて、試験パケットを受信した仮想エクスターナルを特定する。
OFC1−1は、試験パケット受信情報に含まれる受信仮想ブリッジ名や受信仮想エクスターナル名と、OFS2−1からのパケットINにより特定した試験パケット受信情報の受信仮想ブリッジ名や受信仮想エクスターナル名(すなわち試験パケットの送信仮想ブリッジ名や送信仮想エクスターナル名)を対応付けて対応仮想ノード情報105として記録する(ステップS108)。この際、他のOFC1から通知された送信先アドレスが、自身の管理するネットワークに割り当てられたIPアドレスと同一のIPアドレス範囲である場合、OFC1−1は、当該OFC1の管理対象仮想ネットワークと自身の管理対象仮想ネットワークがL2接続されているものとみなす。この場合、OFC1−1は、試験パケットの受信仮想ブリッジと送信仮想ブリッジを対応付けて対応仮想ノード情報105として記録する。一方、他のOFC1から通知された送信先アドレスが、自身の管理するネットワークに割り当てられたIPアドレスと異なるIPアドレス範囲である場合、OFC1−1は、当該OFC1の管理対象仮想ネットワークと自身の管理対象仮想ネットワークがL3接続されているものとみなす。この場合、OFC1−1は、試験パケットの受信仮想エクスターナルと送信仮想エクスターナルを対応付けて対応仮想ノード情報105として記録する。管理装置100は、対応仮想ノード情報105により、仮想テナントネットワーク“VTN1”において、OFC1−1とOFC1−2のそれぞれの管理対象仮想ネットワークに共通の仮想ノード(仮想ブリッジや仮想エクスターナル)を特定することが可能となる。
OFC1−1は、ステップS101において指示された可視化対象の仮想ネットワークに属する管理対象仮想ネットワークのVNトポロジ情報14と、ステップS108において記録した対応仮想ノード情報105を管理装置100に送信する。ここでは仮想テナントネットワーク“VTN1”に属するOFC1−1の管理対象仮想ネットワークのVNトポロジ情報14と、OFC1−1とOFC1−2の管理対象仮想ネットワークに共通の仮想ノードを特定する対応仮想ノード情報105が管理装置100に送信される。
以上のように、本発明では、オープンフローの機能の1つであるOFS2からのパケットINによって、仮想ネットワーク上でパケットを受信した受信仮想ブリッジや受信仮想エクスターナルを特定する。又、OFC1は、試験パケットを受信した仮想ブリッジや仮想エクスターナルと、試験パケットの宛先ホストと送信元ホストを入れ替えた試験パケット受信情報を受信した仮想ブリッジ及び仮想エクスターナルを共通の仮想ブリッジ及び仮想エクスターナルとして特定する。
OFC1−1は、他のOFC1−3〜1−5に対しても同様に試験パケットを送信し、その試験パケット受信情報に基づいて、仮想テナントネットワーク“VNT1”において自身の管理対象ネットワークと共通する仮想ノード(仮想ブリッジ、仮想エクスターナル)を特定し、対応仮想ノード情報として管理装置100に通知される。
他のOFC1−2〜1−5も同様に、管理装置100からのVTNトポロジ情報収集指示に応じて、自身の管理対象仮想ネットワークのVNトポロジ情報14と、上述と同様な方法により生成した対応仮想ノード情報105を管理装置100に通知する。
次に、図8に示す管理対象仮想ノードを結合し、1つの仮想テナントネットワークとして可視化する方法について具体的に説明する。図8は、図1に示す複数のOFC1−1〜1−5のそれぞれが保持する仮想テナントネットワークVTN1に属する管理対象仮想ネットワークのVNトポロジ情報14の一例を示す図である。
図8を参照して、OFC1−1“OFC1”は、自身の管理対象仮想ネットワークのVNトポロジ情報14として、相互に接続された仮想ブリッジ“VB11”及び仮想エクスターナル“VE11”を保持する。仮想ブリッジ“VB11”にはホスト“H11”が接続されている。OFC1−2“OFC2”は、自身の管理対象仮想ネットワークのVNトポロジ情報14として、仮想ルータ“VR21”、仮想ブリッジ“VB21”、“VB22”、仮想エクスターナル“VE21”、“VE22”を保持する。仮想ブリッジ“VB21”、“VB22”は仮想ルータ“VR21”を介して接続される別サブネットワークを示す。仮想ルータ“VR21”と仮想ブリッジ“VB21”との接続ノードはホスト“H21”を示し、仮想ルータ“VR21”と仮想ブリッジ“VB22”との接続ノードはホスト“H22”を示す。仮想ブリッジ“VB21”には、仮想エクスターナル“VE21”が接続されている。仮想ブリッジ“VB22”には、仮想エクスターナル“VE22”が接続され、仮想エクスターナル“VE22”には、L3ルータ“SW1”が対応付けられている。OFC1−3“OFC3”は、自身の管理対象仮想ネットワークのVNトポロジ情報14として、仮想ブリッジ“VB31”、仮想エクスターナル“VE31”、“VE32”を保持する。仮想ブリッジ“VB31”にはホスト“H31”が接続されている。OFC1−4“OFC4”は、自身の管理対象仮想ネットワークのVNトポロジ情報14として、仮想ブリッジ“VB41”、仮想エクスターナル“VE41”を保持する。仮想ブリッジ“VB41”にはホスト“H41”が接続されている。OFC1−5“OFC5”は、自身の管理対象仮想ネットワークのVNトポロジ情報14として、仮想ルータ“VR51”、仮想ブリッジ“VB51”、“VB52”、仮想エクスターナル“VE51”、“VE52”を保持する。仮想ブリッジ“VB51”、“VB52”は仮想ルータ“VR51”を介して接続される別サブネットワークを示す。仮想ルータ“VR21”と仮想ブリッジ“VB21”との接続ノードはホスト“H21”を示し、仮想ルータ“VR21”と仮想ブリッジ“VB22”との接続ノードはホスト“H22”を示す。仮想ブリッジ“VB51”には、仮想エクスターナル“VE51”が接続され、仮想エクスターナル“VE51”には、L3ルータ“SW2”が対応付けられている。仮想ブリッジ“VB52”には、仮想エクスターナル“VE52”が接続されている。
可視化対象の仮想テナントネットワーク“VTN1”の属する管理対象仮想ネットワークが図8のように管理されている場合、OFC1−1“OFC1”からの試験パケット情報要求に対し、OFC1−2〜1−5は、それぞれの送信先アドレスとして、ホスト“H21”、“H22”、“H31”、“H41”、“H51”、“H52”を返す。OFC1−1は、送信元ホストをホスト“H11”とした試験パケットをOFC1−2〜1−5で管理するホスト“H21”、“H22”、“H31”、“H41”、“H51”、“H52”に送信し、図6と同様な動作により、管理対象仮想ネットワーク間で共通の仮想ノード(対応仮想ノード)を特定する。通常、試験パケット以外のパケットは、TCP/IPプロトコルスタックに渡されて転送される。一方、本発明に係る試験パケットに対する中継処理は、仮想ネットワークにおけるTCP/IPプロトコルスタックの直前で行われる。このため、試験パケットは、TCP/IPプロトコルスタックに渡されず送信元に応答パケットとして返送される。例えば、図8に示す仮想テナントネットワーク“VTN1”では、ホスト“H22”“H51”、“H52”宛の試験パケットは、転送途中の仮想ルータ“VR21”によって破棄され、ホスト“H41”宛の試験パケットは仮想エクスターナル“VE32”によって破棄される。この場合、ホスト“H21”、“H31”からのみ試験パケット受信情報が送信される。
図9を参照して、試験パケットを受信した仮想ブリッジ及び仮想エクスターナルを受信仮想ブリッジ及び受信エクスターナルとし、試験パケット受信情報を受信した仮想ブリッジ及び仮想エクスターナルを送信仮想ブリッジ及び送信エクスターナルとして、試験パケットによって特定される対応仮想ノードの一例を説明する。
送信元ホストをホスト“H11”とし、宛先をホスト“H21”とした試験パケットにより、送信仮想ブリッジが“VB11”、受信仮想ブリッジが“VB21”となることから、仮想ブリッジ“VB11”と“VB21”が共通の仮想ブリッジであることが特定される。同様に、送信元と宛先を入れ替えた試験パケットによっても仮想ブリッジ“VB11”と“VB21”が共通の仮想ブリッジであることが特定される。
又、送信元ホストをホスト“H11”とし、宛先をホスト“H31”とした試験パケットにより、送信仮想ブリッジが“VB11”、受信仮想ブリッジが“VB31”となることから、仮想ブリッジ“VB11”と“VB31”が共通の仮想ブリッジであることが特定される。同様に、送信元と宛先を入れ替えた試験パケットによっても仮想ブリッジ“VB11”と“VB21”が共通の仮想ブリッジであることが特定される。
更に、送信元ホストをホスト“H22”とし、宛先をホスト“H51”とした試験パケットにより、送信仮想ブリッジが“VB22”、受信仮想ブリッジが“VB51”となる。ここで、送信先としてOFC1−5から通知された送信先アドレスが、OFC1−2の管理するネットワークに割り当てられたIPアドレス範囲と異なるIPアドレス範囲である場合、OFC1−2は、ホスト“H22”とホスト“H51”とはL3接続しているものとして、対応仮想ノードの特定処理を行う。この場合、送信仮想エクスターナルと受信仮想エクスターナルが、対応仮想エクスターナルとして特定される。ここでは、送信仮想エクスターナル“VE22”、受信仮想エクスターナルが“VE51”となることから、仮想エクスターナル“VE22”と“VE51”が共通の仮想エクスターナルであることが特定される。同様に、送信元と宛先を入れ替えた試験パケットによっても仮想エクスターナル“VE22”と“VE51”が共通の仮想ブリッジであることが特定される。
更に、送信元ホストをホスト“H31”とし、宛先をホスト“H41”とした試験パケットにより、送信仮想ブリッジが“VB31”、受信仮想ブリッジが“VB41”となることから、仮想ブリッジ“VB31”と“VB41”が共通の仮想ブリッジであることが特定される。同様に、送信元と宛先を入れ替えた試験パケットによっても仮想ブリッジ“VB31”と“VB41”が共通の仮想ブリッジであることが特定される。
以上のように特定された対応仮想ノードに関する情報(対応仮想ノード情報105)に基づいて、OFC1−1〜1−5のそれぞれから送信されたVNトポロジ情報14を結合することで管理装置100は、図10に示す仮想テナントネットワーク“VTN1”のトポロジ情報を作成することができる。
図10を参照して、OFC1−1〜1−3のそれぞれで管理された仮想ブリッジ“VB11”、“VB21”、“VB31”は、ホスト“H11”、“H21”、“H31”、“H41”が接続される共通の仮想ブリッジ“VB11”として認識される。又、OFC1−2及びOFC1−5のそれぞれで管理された仮想エクスターナル“VE22”、“VB51”は、仮想ブリッジ“VB21”、“VB51”が接続される共通の仮想エクスターナル“VE22”として認識される。このように、管理装置100は、共通の仮想ノードを介してOFC1毎に管理されたVNトポロジ情報14を結合することで、指定した仮想テナントネットワーク“VTN1”のトポロジ情報を生成し、視認可能に出力することができる。これにより、ネットワーク管理者は、図1に示すシステム全体における仮想ネットワークのトポロジを一元的に管理することが可能となる。
管理装置100によるVNトポロジ情報14を対応仮想ノード情報105の収集は、任意の時期に実行されても定期的に実行されてもどちらでもよい。定期的に行われた場合、仮想ネットワークの変更に追随して自動的にネットワークトポロジの変更が行われ得る。
以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。例えば、図1に示す管理装置100は、OFC1とは別に設けられているが、これに限らず、OFC1−1〜OFC1−5のいずれかに設けられても構わない。又、図1では、コンピュータシステムでは、5つのOFC1が設けられた形態を示したが、ネットワークに接続されるOFC1の数やホスト4の数は、これに限らない。更に、管理装置100は、OFC1毎に管理しているVNトポロジ情報14を対応仮想ノード情報105の取得よりも前に予め収集し、保持していてもかまわない。
尚、本システムにバックアップ系として仮想ネットワークが設定されている場合、当該仮想ネットワークを管理するOFC1は、試験パケットの送信先アドレスとして運用系の仮想ブリッジ上のホストアドレスの他、バックアップ系の仮想ブリッジ上のホストアドレスを通知しても良い。例えば、PFC1は、試験パケット情報要求にバックアップ系のホストアドレスを要求する情報を含めることで、バックアップ系のホストアドレスを取得するとともに、バックアップ系の仮想ネットワークを通信可能な状態とする。このような状態の元、上述と同様な方法により、バックアップ系のトポロジを確認することが可能となる。
尚、本出願は、日本特許出願番号2012−027780に基づき、日本特許出願番号2012−027780における開示内容は引用により本出願に組み込まれる。
Claims (11)
- それぞれが、通信経路を算出し、前記通信経路上のスイッチに対してフローエントリを設定し、前記通信経路に基づいて構築された仮想ネットワークを管理する複数のコントローラと、
自身のフローテーブルに設定された前記フローエントリに従って、受信パケットの中継動作を行うスイッチと、
前記複数のコントローラによって管理される複数の前記仮想ネットワークを結合して視認可能に出力する管理装置と
を具備し、
前記複数のコントローラのうち、一のコントローラは、自身及び他のコントローラのそれぞれで管理される2つの仮想ネットワーク間に転送されるパケットデータの受信通知を前記スイッチから取得することで、前記パケットデータの送信仮想ノードと受信仮想ノードを特定し、
前記管理装置は、前記送信仮想ノードと前記受信仮想ノードを共通の仮想ノードとして、前記2つの仮想ネットワークを結合し、視認可能に出力する
コンピュータシステム。 - 請求項1に記載のコンピュータシステムにおいて、
前記2つのコントローラのうち、第1コントローラは、自身が管理する第1仮想ネットワーク上の第1ホストから、他の第2コントローラで管理する第2仮想ネットワーク上の第2ホストに試験パケットを転送し、
前記第2コントローラは、前記試験パケットを受信したスイッチから通知される前記試験パケットと、自身が管理する前記第2仮想ネットワークのトポロジ情報とに基づき、前記第2仮想ネットワークにおいて前記試験パケットを受信した仮想ノードを前記受信仮想ノードとして特定し、前記受信仮想ノードの情報を含む試験パケット受信情報を、前記第2ホストから前記第1ホストに転送し、
前記第1コントローラは、前記試験パケット受信情報を受信したスイッチから通知される前記試験パケット受信情報と、自身が管理する前記第1仮想ネットワークのトポロジ情報とに基づき、前記第1仮想ネットワークにおいて前記試験パケット受信情報を受信した仮想ノードを前記送信仮想ノードとして特定し、前記送信仮想ノードと、前記試験パケット受信情報に含まれる前記受信仮想ノードとを対応付けて、対応仮想ノード情報として前記管理装置に通知する
コンピュータシステム。 - 請求項2に記載のコンピュータシステムにおいて、
前記仮想ノードは仮想ブリッジを含み、
前記対応仮想ノード情報には、対応する送信仮想ブリッジと受信仮想ブリッジの組合せが設定され、
前記管理装置は、前記複数の仮想ネットワークのトポロジ情報と、前記対応仮想ノード情報とに基づいて、前記複数の仮想ネットワークに共通の仮想ブリッジを特定し、前記共通の仮想ブリッジを介して前記複数の仮想ネットワークを結合する
コンピュータシステム。 - 請求項3に記載のコンピュータシステムにおいて、
前記仮想ノードは前記仮想ブリッジの接続先として見える仮想エクスターナルを含み、
前記仮想ノード情報には、対応する送信仮想エクスターナルと受信仮想エクスターナルの組合せが設定され、
前記管理装置は、前記複数の仮想ネットワークのトポロジ情報と、前記対応仮想ノード情報とに基づいて、前記複数の仮想ネットワークに共通の仮想エクスターナルを特定し、前記共通の仮想エクスターナルを介して前記複数の仮想ネットワークを結合する
コンピュータシステム。 - 請求項1から4のいずれか1項に記載のコンピュータシステムにおいて、
前記コントローラは、仮想ノードにVLAN名が対応付けられて設定された仮想ネットワークのトポロジ情報を保持し、
前記スイッチは、パケットデータの受信通知の際、前記パケットデータを受信したポートに割り当てられたVLAN名をコントローラに通知し、
前記コントローラは、前記トポロジ情報に基づき、前記VLAN名により前記パケットデータを受信した仮想ノードを特定する
コンピュータシステム。 - 請求項1から5のいずれか1項に記載のコンピュータシステムにおいて、
前記管理装置は、前記複数のコントローラのいずれかに搭載される
コンピュータシステム。 - それぞれが、通信経路を算出し、前記通信経路上のスイッチに対して、フローエントリを設定し、前記通信経路に基づいて構築された仮想ネットワークを管理する複数のコントローラと、
自身のフローテーブルに設定された前記フローエントリに従って、受信パケットの中継動作を行うスイッチと
を具備するコンピュータシステムにおいて実行される仮想ネットワークの可視化方法であって、
コントローラが、前記複数のコントローラのうち、自身と他のコントローラのそれぞれで管理される2つの前記仮想ネットワーク間に転送されるパケットデータの受信通知を前記スイッチから取得し、前記パケットデータの送信仮想ノードと受信仮想ノードを特定するステップと、
前記管理装置が、前記送信仮想ノードと前記受信仮想ノードを共通の仮想ノードとして、前記2つの仮想ネットワークを結合し視認可能に出力するステップと
を具備する
仮想ネットワークの可視化方法。 - 請求項7に記載の可視化方法において、
前記2つのコントローラのうち、第1コントローラが、自身が管理する第1仮想ネットワーク上の第1ホストから、他の第2コントローラで管理する第2仮想ネットワーク上の第2ホストに試験パケットを転送するステップと、
前記第2コントローラが、前記試験パケットを受信したスイッチから通知される前記試験パケットと、自身が管理する前記第2仮想ネットワークのトポロジ情報とに基づき、前記第2仮想ネットワークにおいて前記試験パケットを受信した仮想ノードを前記受信仮想ノードとして特定するステップと
前記第2コントローラが、前記受信仮想ノードの情報を含む試験パケット受信情報を、前記第2ホストから前記第1ホストに転送するステップと、
前記第1コントローラが、前記試験パケット受信情報を受信したスイッチから通知される前記試験パケット受信情報と、自身が管理する前記第1仮想ネットワークのトポロジ情報とに基づき、前記第1仮想ネットワークにおいて前記試験パケット受信情報を受信した仮想ノードを前記送信仮想ノードとして特定するステップと、
前記第1コントローラが、前記送信仮想ノードと、前記試験パケット受信情報に含まれる前記受信仮想ノードとを対応付けて、対応仮想ノード情報として前記管理装置に通知するステップと
を備える
仮想ネットワークの可視化方法。 - 請求項8に記載の可視化方法において、
前記仮想ノードは仮想ブリッジを含み、
前記対応仮想ノード情報には、対応する送信仮想ブリッジと受信仮想ブリッジの組合せが設定され、
前記複数の仮想ネットワークを結合し視認可能に出力するステップは、
前記管理装置が、前記複数の仮想ネットワークのトポロジ情報と、前記対応仮想ノード情報とに基づいて、前記複数の仮想ネットワークに共通の仮想ブリッジを特定するステップと、
前記管理装置が、前記共通の仮想ブリッジを介して前記複数の仮想ネットワークを結合するステップと
を備える
仮想ネットワークの可視化方法。 - 請求項9に記載の可視化方法において、
前記仮想ノードは前記仮想ブリッジの接続先として見える仮想エクスターナルを含み、
前記仮想ノード情報には、対応する送信仮想エクスターナルと受信仮想エクスターナルの組合せが設定され、
前記複数の仮想ネットワークを結合し、視認可能に出力するステップは、
前記管理装置が、前記複数の仮想ネットワークのトポロジ情報と、前記対応仮想ノード情報とに基づいて、前記複数の仮想ネットワークに共通の仮想エクスターナルを特定するステップと、
前記管理装置が、前記共通の仮想エクスターナルを介して前記複数の仮想ネットワークを結合するステップと
を備える
仮想ネットワークの可視化方法。 - 請求項7から10のいずれか1項に記載の可視化方法において、
前記コントローラは、仮想ノードにVLAN名が対応付けられて設定された仮想ネットワークのトポロジ情報を保持し、
前記スイッチが、パケットデータの受信通知の際、前記パケットデータを受信したポートに割り当てられたVLAN名をコントローラに通知するステップと、
前記コントローラが、前記トポロジ情報に基づき、前記VLAN名により前記パケットデータを受信した仮想ノードを特定するステップと、
前記管理装置が、前記共通の仮想ノードを介して前記複数の仮想ネットワークを結合するステップと
を備える
仮想ネットワークの可視化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013557510A JP5811196B2 (ja) | 2012-02-10 | 2013-02-05 | コンピュータシステム、及び仮想ネットワークの可視化方法 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012027780 | 2012-02-10 | ||
JP2012027780 | 2012-02-10 | ||
JP2013557510A JP5811196B2 (ja) | 2012-02-10 | 2013-02-05 | コンピュータシステム、及び仮想ネットワークの可視化方法 |
PCT/JP2013/052527 WO2013118690A1 (ja) | 2012-02-10 | 2013-02-05 | コンピュータシステム、及び仮想ネットワークの可視化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2013118690A1 true JPWO2013118690A1 (ja) | 2015-05-11 |
JP5811196B2 JP5811196B2 (ja) | 2015-11-11 |
Family
ID=48947454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013557510A Active JP5811196B2 (ja) | 2012-02-10 | 2013-02-05 | コンピュータシステム、及び仮想ネットワークの可視化方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9425987B2 (ja) |
EP (1) | EP2814204B1 (ja) |
JP (1) | JP5811196B2 (ja) |
CN (1) | CN104137479B (ja) |
WO (1) | WO2013118690A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9515947B1 (en) * | 2013-03-15 | 2016-12-06 | EMC IP Holding Company LLC | Method and system for providing a virtual network-aware storage array |
US11388082B2 (en) | 2013-11-27 | 2022-07-12 | Oracle International Corporation | Methods, systems, and computer readable media for diameter routing using software defined network (SDN) functionality |
US20150215228A1 (en) * | 2014-01-28 | 2015-07-30 | Oracle International Corporation | Methods, systems, and computer readable media for a cloud-based virtualization orchestrator |
JP6307932B2 (ja) * | 2014-02-28 | 2018-04-11 | 日本電気株式会社 | パケット転送経路取得システムおよびパケット転送経路取得方法 |
US9800549B2 (en) | 2015-02-11 | 2017-10-24 | Cisco Technology, Inc. | Hierarchical clustering in a geographically dispersed network environment |
JP2016192660A (ja) * | 2015-03-31 | 2016-11-10 | 日本電気株式会社 | ネットワークシステム、ネットワーク制御方法、制御装置および運用管理装置 |
JP2018088650A (ja) * | 2016-11-29 | 2018-06-07 | 富士通株式会社 | 情報処理装置、通信制御方法及び通信制御プログラム |
US10567228B2 (en) * | 2017-06-19 | 2020-02-18 | Cisco Technology, Inc. | Validation of cross logical groups in a network |
US10812336B2 (en) * | 2017-06-19 | 2020-10-20 | Cisco Technology, Inc. | Validation of bridge domain-L3out association for communication outside a network |
US10536563B2 (en) * | 2018-02-06 | 2020-01-14 | Nicira, Inc. | Packet handling based on virtual network configuration information in software-defined networking (SDN) environments |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5948055A (en) * | 1996-08-29 | 1999-09-07 | Hewlett-Packard Company | Distributed internet monitoring system and method |
JP2006019866A (ja) * | 2004-06-30 | 2006-01-19 | Fujitsu Ltd | 伝送装置 |
WO2011083780A1 (ja) * | 2010-01-05 | 2011-07-14 | 日本電気株式会社 | 通信システム、制御装置、処理規則の設定方法、パケットの送信方法およびプログラム |
US20110246669A1 (en) * | 2010-03-30 | 2011-10-06 | Hitachi, Ltd. | Method and system of virtual machine migration |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09130421A (ja) | 1995-11-02 | 1997-05-16 | Furukawa Electric Co Ltd:The | 仮想ネットワーク管理方法 |
US7752024B2 (en) | 2000-05-05 | 2010-07-06 | Computer Associates Think, Inc. | Systems and methods for constructing multi-layer topological models of computer networks |
US20030115319A1 (en) | 2001-12-17 | 2003-06-19 | Dawson Jeffrey L. | Network paths |
US7219300B2 (en) | 2002-09-30 | 2007-05-15 | Sanavigator, Inc. | Method and system for generating a network monitoring display with animated utilization information |
AU2003300900A1 (en) | 2002-12-13 | 2004-07-09 | Internap Network Services Corporation | Topology aware route control |
US7366182B2 (en) * | 2004-08-13 | 2008-04-29 | Qualcomm Incorporated | Methods and apparatus for efficient VPN server interface, address allocation, and signaling with a local addressing domain |
US7681130B1 (en) | 2006-03-31 | 2010-03-16 | Emc Corporation | Methods and apparatus for displaying network data |
US7852861B2 (en) | 2006-12-14 | 2010-12-14 | Array Networks, Inc. | Dynamic system and method for virtual private network (VPN) application level content routing using dual-proxy method |
US10313191B2 (en) | 2007-08-31 | 2019-06-04 | Level 3 Communications, Llc | System and method for managing virtual local area networks |
US8161393B2 (en) | 2007-09-18 | 2012-04-17 | International Business Machines Corporation | Arrangements for managing processing components using a graphical user interface |
EP2582092A3 (en) | 2007-09-26 | 2013-06-12 | Nicira, Inc. | Network operating system for managing and securing networks |
US8447181B2 (en) | 2008-08-15 | 2013-05-21 | Tellabs Operations, Inc. | Method and apparatus for displaying and identifying available wavelength paths across a network |
WO2010103909A1 (ja) * | 2009-03-09 | 2010-09-16 | 日本電気株式会社 | OpenFlow通信システムおよびOpenFlow通信方法 |
US7937438B1 (en) | 2009-12-07 | 2011-05-03 | Amazon Technologies, Inc. | Using virtual networking devices to manage external connections |
JP5488979B2 (ja) | 2010-02-03 | 2014-05-14 | 日本電気株式会社 | コンピュータシステム、コントローラ、スイッチ、及び通信方法 |
JP5488980B2 (ja) | 2010-02-08 | 2014-05-14 | 日本電気株式会社 | コンピュータシステム、及び通信方法 |
JP5521613B2 (ja) | 2010-02-15 | 2014-06-18 | 日本電気株式会社 | ネットワークシステム、ネットワーク機器、経路情報更新方法、及びプログラム |
US8407366B2 (en) | 2010-05-14 | 2013-03-26 | Microsoft Corporation | Interconnecting members of a virtual network |
US8958292B2 (en) | 2010-07-06 | 2015-02-17 | Nicira, Inc. | Network control apparatus and method with port security controls |
JP5683859B2 (ja) | 2010-07-26 | 2015-03-11 | 株式会社東芝 | 画面受信装置、画面受信方法及び画面受信プログラム |
CA2818375C (en) | 2010-12-15 | 2014-06-17 | ZanttZ, Inc. | Network stimulation engine |
US8625597B2 (en) | 2011-01-07 | 2014-01-07 | Jeda Networks, Inc. | Methods, systems and apparatus for the interconnection of fibre channel over ethernet devices |
US9043452B2 (en) | 2011-05-04 | 2015-05-26 | Nicira, Inc. | Network control apparatus and method for port isolation |
US10514941B2 (en) | 2011-11-15 | 2019-12-24 | Nicira, Inc. | Load balancing and destination network address translation middleboxes |
US8593958B2 (en) | 2011-09-14 | 2013-11-26 | Telefonaktiebologet L M Ericsson (Publ) | Network-wide flow monitoring in split architecture networks |
US9154433B2 (en) | 2011-10-25 | 2015-10-06 | Nicira, Inc. | Physical controller |
US8824274B1 (en) | 2011-12-29 | 2014-09-02 | Juniper Networks, Inc. | Scheduled network layer programming within a multi-topology computer network |
-
2013
- 2013-02-05 EP EP13746843.5A patent/EP2814204B1/en not_active Not-in-force
- 2013-02-05 JP JP2013557510A patent/JP5811196B2/ja active Active
- 2013-02-05 WO PCT/JP2013/052527 patent/WO2013118690A1/ja active Application Filing
- 2013-02-05 CN CN201380008944.7A patent/CN104137479B/zh not_active Expired - Fee Related
- 2013-02-05 US US14/376,831 patent/US9425987B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5948055A (en) * | 1996-08-29 | 1999-09-07 | Hewlett-Packard Company | Distributed internet monitoring system and method |
JP2006019866A (ja) * | 2004-06-30 | 2006-01-19 | Fujitsu Ltd | 伝送装置 |
WO2011083780A1 (ja) * | 2010-01-05 | 2011-07-14 | 日本電気株式会社 | 通信システム、制御装置、処理規則の設定方法、パケットの送信方法およびプログラム |
US20110246669A1 (en) * | 2010-03-30 | 2011-10-06 | Hitachi, Ltd. | Method and system of virtual machine migration |
Non-Patent Citations (1)
Title |
---|
JPN6015032530; '等身大のOpenFlow Part2 [データセンターでの活用シーン] VLAN、マルチテナント、"' 日経コミュニケーション 第577号, 20120201, p.20〜23 * |
Also Published As
Publication number | Publication date |
---|---|
CN104137479B (zh) | 2017-06-20 |
EP2814204A4 (en) | 2015-06-24 |
JP5811196B2 (ja) | 2015-11-11 |
CN104137479A (zh) | 2014-11-05 |
US9425987B2 (en) | 2016-08-23 |
WO2013118690A1 (ja) | 2013-08-15 |
EP2814204A1 (en) | 2014-12-17 |
EP2814204B1 (en) | 2016-05-25 |
US20150036538A1 (en) | 2015-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5967109B2 (ja) | コンピュータシステム、及び仮想ネットワークの可視化方法 | |
JP5811196B2 (ja) | コンピュータシステム、及び仮想ネットワークの可視化方法 | |
JP5300076B2 (ja) | コンピュータシステム、及びコンピュータシステムの監視方法 | |
JP5884832B2 (ja) | コンピュータシステム、コントローラ、スイッチ、通信方法、及びネットワーク管理プログラムが格納された記録媒体 | |
JP5874726B2 (ja) | 通信制御システム、制御サーバ、転送ノード、通信制御方法および通信制御プログラム | |
US9215175B2 (en) | Computer system including controller and plurality of switches and communication method in computer system | |
JP5590262B2 (ja) | 情報システム、制御装置、仮想ネットワークの提供方法およびプログラム | |
EP3958509A1 (en) | Method, apparatus and system for communication between controllers in tsn | |
JP5757552B2 (ja) | コンピュータシステム、コントローラ、サービス提供サーバ、及び負荷分散方法 | |
JP5488979B2 (ja) | コンピュータシステム、コントローラ、スイッチ、及び通信方法 | |
JP2010178089A (ja) | 遠隔管理システム、遠隔管理装置及び接続装置 | |
JP5861772B2 (ja) | ネットワークアプライアンス冗長化システム、制御装置、ネットワークアプライアンス冗長化方法及びプログラム | |
WO2014054691A1 (ja) | 通信システム、制御装置、制御方法及びプログラム | |
EP2873196A1 (en) | Connectivity fault management in a communication network | |
JP2015525983A (ja) | 通信方法、情報処理装置、通信システム、通信端末およびプログラム | |
JP6206493B2 (ja) | 制御装置、通信システム、中継装置の制御方法及びプログラム | |
JP3794496B2 (ja) | ネットワーク接続方法及びネットワーク接続システム及びそれを構成するレイヤ2スイッチ及び管理サーバ | |
JP2017158103A (ja) | 通信管理装置、通信システム、通信管理方法およびプログラム | |
JP2015226235A (ja) | ネットワーク輻輳回避システム及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150818 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150831 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5811196 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |