(57)【要約】【課題】外部装置を用いた仮想ネットワークの監視において、仮想ネットワークを流れるトラフィックの内容を識別することができる仮想ネットワーク監視システム、仮想ネットワーク監視装置、仮想ネットワーク監視方法及びコンピュータープログラムを提供すること。【解決手段】オーケストレータとして機能する仮想マシン制御部によって生成される仮想マシンが接続された仮想ネットワークに関するネットワーク情報のうち、仮想マシン制御部が有するネットワーク情報である第一ネットワーク情報と、仮想マシンが有するネットワーク情報である第二ネットワーク情報と、を取得する取得部と、第一ネットワーク情報及び第二ネットワーク情報に基づいて、仮想ネットワークを流れるトラフィックのフィルタを示すトラフィックフィルタを生成する生成部と、を備える仮想ネットワーク監視システム。【選択図】図１
2019220862.tif 000002
【特許請求の範囲】
【請求項１】
オーケストレータとして機能する仮想マシン制御部によって生成される仮想マシンが接続された仮想ネットワークに関するネットワーク情報のうち、前記仮想マシン制御部が有する前記ネットワーク情報である第一ネットワーク情報と、前記仮想マシンが有する前記ネットワーク情報である第二ネットワーク情報と、を取得する取得部と、
前記第一ネットワーク情報及び前記第二ネットワーク情報に基づいて、前記仮想ネットワークを流れるトラフィックのフィルタを示すトラフィックフィルタを生成する生成部と、
を備える仮想ネットワーク監視システム。
【請求項２】
前記トラフィックフィルタに基づいて、前記トラフィックを識別する識別部と、
前記トラフィック及び前記トラフィックフィルタに基づいて、前記仮想ネットワークが正常に動作しているか否かを判定する判定部と、
をさらに備える請求項１に記載の仮想ネットワーク監視システム。
【請求項３】
前記生成部は、前記第一ネットワーク情報及び前記第二ネットワーク情報に基づいて、前記仮想ネットワークが正常に構成されているか否かを監視する、
請求項１又は２に記載の仮想ネットワーク監視システム。
【請求項４】
判定部の判定結果に基づいて、ユーザーに警告を行う警告部を
さらに備え、
前記警告部は、前記判定部が前記仮想ネットワークの動作が正常でないと判定する場合、ユーザーに警告を行う、
請求項３に記載の仮想ネットワーク監視システム。
【請求項５】
オーケストレータとして機能する仮想マシン制御部によって生成される仮想マシンが接続された仮想ネットワークに関するネットワーク情報のうち、前記仮想マシン制御部が有する前記ネットワーク情報である第一ネットワーク情報と、前記仮想マシンが有する前記ネットワーク情報である第二ネットワーク情報と、を取得する取得部と、
前記第一ネットワーク情報及び前記第二ネットワーク情報に基づいて、前記仮想ネットワークを流れるトラフィックのフィルタを生成する生成部と、
を備える仮想ネットワーク監視装置。
【請求項６】
１又は複数の情報処理装置が
オーケストレータとして機能する仮想マシン制御部によって生成される仮想マシンが接続された仮想ネットワークに関するネットワーク情報のうち、前記仮想マシン制御部が有する前記ネットワーク情報である第一ネットワーク情報と、前記仮想マシンが有する前記ネットワーク情報である第二ネットワーク情報と、を取得する取得ステップと、
前記第一ネットワーク情報及び前記第二ネットワーク情報に基づいて、前記仮想ネットワークを流れるトラフィックのフィルタを生成する生成ステップと、
を有する仮想ネットワーク監視方法。
【請求項７】
請求項１から４のいずれか一項に記載の仮想ネットワーク監視システムとしてコンピューターを機能させるためのコンピュータープログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想ネットワーク監視システム、仮想ネットワーク監視装置、仮想ネットワーク監視方法及びコンピュータープログラムに関する。
【背景技術】
【０００２】
従来、ＮＦＶ（Network Function Virtualization）やＳＤＮ（Software-Defined Network）などのネットワークの仮想化技術において、生成された仮想ネットワークの正常性を担保する監視機能が求められている。仮想マシンが接続される仮想ネットワークのセキュリティを向上させるために、仮想ネットワークを流れるトラフィックを取得し、監視する方法が存在する。仮想ネットワークの監視方法として、仮想ネットワークのミラーリングを行う方法がある。ミラーリングを用いた監視方法は、仮想マシンのトラフィックをミラーリングし、ミラーリングしたトラフィックを解析し、解析結果に基づいて仮想ネットワークを監視する方法である。
【０００３】
特許文献１では、ミラーリングが行われた時刻に基づいてミラーリングパケットの解析を行う方法が開示されている。特許文献１では、ネットワークを流れるパケットをミラーリングしたミラーパケットを生成し、ミラーリングが行われた時刻に基づいて、ミラーパケットを解析することができる。
【０００４】
ただし、ミラーリングを用いた監視方法では、監視装置と仮想マシンを同一の筐体でミラーリング処理を行うと、ＣＰＵやメモリに負荷がかかり、仮想マシンの動作に影響を及ぼす問題があった。このため、外部装置を用いて、仮想マシンが通信を行う際に使用される仮想スイッチからトラフィックを取得し、仮想ネットワークを監視する手法が一般的に用いられている。外部装置を用いた監視方法は、ＴＡＰやスプリッタなどの分配器を用いて、トラフィックを外部装置に分岐させ、外部装置で取得したトラフィックに基づいて仮想ネットワークを監視する方法である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１８−７４５１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、仮想マシン及び仮想ネットワークは、オーケストレータなどの仮想マシンの制御装置から指示を受けて動的に生成される。このため、外部装置を用いた監視方法では、仮想ネットワークを流れるトラフィックを取得することができても、トラフィックの内容を識別することができない問題があった。
【０００７】
上記事情に鑑み、本発明は、外部装置を用いた仮想ネットワークの監視において、仮想ネットワークを流れるトラフィックの内容を識別するためのトラフィックフィルタを生成することができる仮想ネットワーク監視システム、仮想ネットワーク監視装置、仮想ネットワーク監視方法及びコンピュータープログラムを提供することを目的としている。
【課題を解決するための手段】
【０００８】
本発明の一態様は、オーケストレータとして機能する仮想マシン制御部によって生成される仮想マシンが接続された仮想ネットワークに関するネットワーク情報のうち、前記仮想マシン制御部が有する前記ネットワーク情報である第一ネットワーク情報と、前記仮想マシンが有する前記ネットワーク情報である第二ネットワーク情報と、を取得する取得部と、前記第一ネットワーク情報及び前記第二ネットワーク情報に基づいて、前記仮想ネットワークを流れるトラフィックのフィルタを生成する生成部と、を備える仮想ネットワーク監視システムである。
【０００９】
本発明の一態様は、上記の仮想ネットワーク監視システムであって、前記トラフィックフィルタに基づいて、前記トラフィックを識別する識別部と、前記トラフィック及び前記トラフィックフィルタに基づいて、前記仮想ネットワークが正常に動作しているか否かを判定する判定部と、をさらに備える。
【００１０】
本発明の一態様は、上記の仮想ネットワーク監視システムであって、前記生成部は、前記第一ネットワーク情報及び前記第二ネットワーク情報に基づいて、前記仮想ネットワークが正常に構成されているか否かを監視する。
【００１１】
本発明の一態様は、上記の仮想ネットワーク監視システムであって、前記判定部の判定結果に基づいて、ユーザーに警告を行う警告部をさらに備え、前記警告部は、前記判定部が前記仮想ネットワークの動作が正常でないと判定する場合、ユーザーに警告を行う。
【００１２】
本発明の一態様は、オーケストレータとして機能する仮想マシン制御部によって生成される仮想マシンが接続された仮想ネットワークに関するネットワーク情報のうち、前記仮想マシン制御部が有する前記ネットワーク情報である第一ネットワーク情報と、前記仮想マシンが有する前記ネットワーク情報である第二ネットワーク情報と、を取得する取得部と、前記第一ネットワーク情報及び前記第二ネットワーク情報に基づいて、前記仮想ネットワークを流れるトラフィックのフィルタを生成する生成部と、を備える仮想ネットワーク監視装置である。
【００１３】
本発明の一態様は、１又は複数の情報処理装置がオーケストレータとして機能する仮想マシン制御部によって生成される仮想マシンが接続された仮想ネットワークに関するネットワーク情報のうち、前記仮想マシン制御部が有する前記ネットワーク情報である第一ネットワーク情報と、前記仮想マシンが有する前記ネットワーク情報である第二ネットワーク情報と、を取得する取得ステップと、前記第一ネットワーク情報及び前記第二ネットワーク情報に基づいて、前記仮想ネットワークを流れるトラフィックのフィルタを生成する生成ステップと、を有する仮想ネットワーク監視方法である。
【００１４】
本発明の一態様は、上記の仮想ネットワーク監視装置としてコンピューターを機能させるためのコンピュータープログラムである。
【発明の効果】
【００１５】
本発明により、外部装置を用いた仮想ネットワークの監視において、仮想ネットワークを流れるトラフィックの内容を識別することが可能となる。
【図面の簡単な説明】
【００１６】
【図１】第１実施形態に係る仮想ネットワーク監視システム５００の全体構成の一例を示す図である。
【図２】実施形態に係る仮想マシン制御装置１０の具体例を示す機能ブロック図である。
【図３】実施形態に係る仮想化基盤１１の具体例を示す機能ブロック図である。
【図４】実施形態に係るトラフィック監視装置２の具体例を示す機能ブロック図である。
【図５】実施形態に係る識別データの具体例を示す図である。
【図６】実施形態に係る仮想ネットワーク監視システム５００の処理の具体例を示すフローチャートである。
【図７】実施形態に係る仮想ネットワーク監視システム５００の処理の具体例を示すシーケンス図である。
【図８】第２実施形態に係る仮想ネットワーク監視システム５００の全体構成の一例を示す図である。
【図９】第２実施形態に係るログサーバー５の具体例を示す機能ブロック図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態について、図面を参照して説明する。
【００１８】
［第１実施形態］
図１は、第１実施形態に係る仮想ネットワーク監視システム５００の全体構成の一例を示す図である。仮想ネットワーク監視システム５００は、情報処理システム１、トラフィック監視装置２、分配器３及びルーター４を備える。
【００１９】
仮想ネットワーク監視システム５００が備える装置の概要を説明する。
情報処理システム１は、仮想マシン制御装置１０及び仮想化基盤１１を備える。情報処理システム１は、仮想マシン制御装置１０及び仮想化基盤１１を動作させることで、仮想マシンを動作させる。
【００２０】
トラフィック監視装置２は、ネットワーク９００を介して情報処理システム１から仮想ネットワークの情報を取得する。トラフィック監視装置２は、取得した仮想ネットワークの情報に基づいて、分配器３から取得するトラフィックを識別する。トラフィック監視装置２は、識別したトラフィックから生成したフィルタ（以下「トラフィックフィルタ」という。）に基づいて、仮想ネットワークを監視する。
【００２１】
分配器３は、ＴＡＰやスプリッタなどのトラフィックを分配する装置である。トラフィックとは、通信回線やネットワーク上で送受信される信号及びデータである。分配器３は、情報処理システム１の通信用インターフェース１３０を流れるトラフィックをトラフィック監視装置２へ送信する。
ルーター４は、外部ネットワークと接続する。情報処理装置は、ルーター４を介して他の情報処理装置及び仮想マシン１５０と通信を行う。
以下の説明では、仮想ネットワーク監視システム５００の具体例として、図１の構成を用いて説明する。
【００２２】
図２は、実施形態に係る仮想マシン制御装置１０の具体例を示す機能ブロック図である。仮想マシン制御装置１０は、記憶部１００、通信部１０１及び制御部１０２を備える。
仮想マシン制御装置１０は、仮想化基盤１１を制御する。本実施形態では、情報処理システム１でＮＦＶのアーキテクチャーを構成する際のＮＦＶ  ＭＡＮＯ（NFV Management and Network Orchestration）を仮想マシン制御装置１０の例として説明する。ＮＦＶ  ＭＡＮＯは、ＮＦＶＩ（NFV Infrastructure）やＶＮＦ（Virtual Network Functions）、また複数のＶＮＦで構成されるネットワークサービスを統合的に制御する。
【００２３】
記憶部１００は磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。記憶部１００は、仮想ネットワーク制御部１０４によって定められた仮想マシン１５０が接続する仮想ネットワークの情報を第一ネットワーク情報として記憶する。第一ネットワーク情報とは、仮想マシン制御装置１０によって生成される仮想マシン１５０が接続された仮想ネットワークに関するネットワーク情報のうち、仮想マシン制御装置１０が有するネットワーク情報である。例えば、第一ネットワーク情報は、仮想ネットワーク制御部１０４が仮想マシン１５０に指示する、ＩＰ（Internet Protocol）やＭＡＣ（Media Access Control）のアドレス、仮想パスの設計情報などを含むネットワーク情報である。例えば、第一ネットワーク情報は、ＶＬＡＮ（Virtual Local Area Network）やＶＸＬＡＮ（Virtual eXtensible Local Area Network）などのネットワークを構成するトンネリングプロトコルである。記憶部１００は、仮想マシン制御装置１０において動作するアプリケーションのプログラムデータを記憶する。なお、記憶部１００は、さらに他の情報を記憶してもよい。
【００２４】
通信部１０１は、通信インターフェースである。通信部１０１は、ネットワーク９００を介して、トラフィック監視装置２と相互にデータ通信する。通信部１０１は、第一ネットワーク情報をトラフィック監視装置２へ送る。
【００２５】
制御部１０２は、ＣＰＵ（Central Processing Unit）等のプロセッサを用いて構成される。プロセッサがプログラムを実行することによって、制御部１０２は、仮想マシン制御部１０３、仮想ネットワーク制御部１０４及び仮想化基盤制御部１０５として機能する。
【００２６】
これらの構成要素のうち一部または全部は、ＬＳＩ（Large Scale Integration）やＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field-Programmable Gate Array）、ＧＰＵ（Graphics Processing Unit）などのハードウェア（回路部；circuitryを含む）によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予めＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの記憶装置に格納されていてもよいし、ＤＶＤやＣＤ−ＲＯＭなどの着脱可能な記憶媒体に格納されており、記憶媒体がドライブ装置に装着されることでインストールされてもよい。
【００２７】
仮想マシン制御部１０３は、仮想マシン１５０を制御する。例えば、本実施形態では、仮想マシン制御部１０３は、ＮＦＶＯ（NFV Orchestrator）として機能する。仮想マシン制御部１０３は、オーケストレータとして、仮想マシン１５０を生成するための指示を制御部１２０へ送る。例えば、仮想マシン制御部１０３は、複数のインスタンスで構成されるＶＮＦを、仮想マシン１５０を生成するためのテンプレートとして制御部１２０へ送る。仮想マシン制御部１０３のオーケストレータは、仮想マシンの立ち上げに必要な構成や設定、仮想マシンに接続される仮想ネットワークの構成、セキュリティ確保に必要なファイアウォールの構成、負荷分散に必要なロードバランサの構成、などの仮想マシンを構成するインスタンスを、テンプレートとして提供するソフトウェアである。仮想マシン制御部１０３は、複数のＶＮＦから構成される仮想ネットワークサービスの管理（生成、監視、運用、削除など）を行い、システム全体の統合的な管理を担う。
【００２８】
仮想ネットワーク制御部１０４は、仮想化基盤１１の仮想ネットワークを制御する。例えば、本実施形態では、仮想ネットワーク制御部１０４は、ＶＮＦＭ（Virtual Network Functions Manager）として機能する。仮想ネットワーク制御部１０４は、仮想ネットワーク制御部１０４は、仮想マシン１５０が接続する仮想ネットワークの情報を設定し、仮想化基盤１１の仮想ネットワークを制御する。また、仮想ネットワーク制御部１０４は、仮想マシン１５０が接続する仮想ネットワークの情報を記憶部１００に格納する。
【００２９】
仮想化基盤制御部１０５は、仮想化基盤１１を制御する。例えば、本実施形態では、仮想化基盤制御部１０５は、ＶＩＭ（Virtualized Infrastructure Manager）として機能する。例えば、仮想化基盤制御部１０５は、物理・仮想リソースを有する仮想化基盤１１のインフラシステムの管理を担う。
【００３０】
以上より、仮想マシン制御装置１０は、仮想マシン制御部１０３、仮想ネットワーク制御部１０４及び仮想化基盤制御部１０５を有することにより、ＶＮＦの起動やソフトウェア設定などを自動化することや、サービスの構築、柔軟な設備変更、障害時の自動復旧などが可能である。
【００３１】
図３は、実施形態に係る仮想化基盤１１の具体例を示す機能ブロック図である。仮想化基盤１１は、システムメモリ１１０、制御部１２０、通信用インターフェース１３０、仮想ブリッジ１４０及び仮想マシン１５０を備える。仮想化基盤１１は、ＶＮＦを実行するための物理リソースと、仮想化機能を有する仮想マシンと、を実行するための基盤である。例えば、仮想化基盤１１は、ＮＦＶＩである。ＮＦＶＩは、ＩＡサーバーやｘ８６サーバーなどのストレージを示すハードウェアリソースと、仮想化のためのハイパーバイザーが含まれる。
【００３２】
システムメモリ１１０は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。システムメモリ１１０は、仮想マシン１５０が接続する仮想ネットワークの情報を第二ネットワーク情報として記憶する。第二ネットワーク情報とは、仮想マシン制御装置１０によって生成される仮想マシンが接続された仮想ネットワークに関するネットワーク情報のうち、仮想マシンが有するネットワーク情報である。つまり、仮想マシン１５０が実際に構築した、ＩＰやＭＡＣのアドレス、仮想パスの設定情報などを含むネットワーク情報である。システムメモリ１１０は、通信用インターフェース１３０の受信側のインターフェース「ＲＸ」及び送信側のインターフェース「ＴＸ」を流れるトラフィックを記憶する。システムメモリ１１０は、さらに他の情報を記憶してもよい。なお、システムメモリ１１０は、記憶部の一態様である。
【００３３】
制御部１２０は、ＣＰＵ等のプロセッサを用いて構成される。制御部１２０は、プログラムをメインメモリに展開し、プロセッサがプログラムを実行することによって、プログラムに従って処理を実行する。本実施形態では、制御部１２０は、プログラムを実行することで、図３の他の機能部を制御する制御部として機能する。制御部１２０は、仮想マシン１５０を動作させるためのハイパーバイザーとして機能する。
【００３４】
これらの構成要素のうち一部または全部は、ＬＳＩやＡＳＩＣ、ＦＰＧＡ、ＧＰＵなどのハードウェア（回路部；circuitryを含む）によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予めＨＤＤやフラッシュメモリなどの記憶装置に格納されていてもよいし、ＤＶＤやＣＤ−ＲＯＭなどの着脱可能な記憶媒体に格納されており、記憶媒体がドライブ装置に装着されることでインストールされてもよい。
【００３５】
通信用インターフェース１３０は、通信用の物理インターフェースである。通信用インターフェース１３０は、分配器３を介して、トラフィック監視装置２とデータ通信する。通信用インターフェース１３０は、情報処理システム１が通信を行う際、入力時のトラフィックと、出力時のトラフィックと、をトラフィック監視装置２へ送る。例えば、通信用インターフェース１３０は、受信側のインターフェースを「ＲＸ」、送信側のインターフェースを「ＴＸ」として、トラフィック監視装置２にトラフィックを送る。本実施形態では、外部ネットワークから仮想マシン１５０へトラフィックが流れる場合、通信用インターフェース１３０は、「ＲＸ」を使用する。仮想マシン１５０から外部ネットワークへトラフィックが流れる場合、通信用インターフェース１３０は、「ＴＸ」を使用する。
【００３６】
仮想ブリッジ１４０は、通信用インターフェース１３０から受け取ったトラフィックを仮想マシン１５０に渡すための仮想的なスイッチである。仮想ブリッジ１４０は、仮想マシン１５０が複数存在する場合、異なるネットワークの仮想マシン１５０同士をソフトウェア処理によって接続することにより、同一の仮想マシン１５０として結合する。これにより、同じ仮想ブリッジ１４０に接続された仮想マシン１５０同士及び外部ネットワークから接続された情報処理装置は，仮想ブリッジ１４０を経由することで互いに通信可能になる。
【００３７】
仮想マシン１５０は、１台のコンピューター（仮想化基盤１１）上で、複数のコンピューターやＯＳ（Operating System）を動作させる場合や、別のアーキテクチャー用のソフトウェアを動作させる場合に、使用される仮想的な情報処理装置の総称である。
【００３８】
図３に示す例では、仮想マシン１５０の数は、Ｎ（Ｎは、１以上の整数）個である。なお、以下の説明では、仮想マシン１５０−１〜仮想マシン１５０−Ｎにおいて、共通の事項を説明する場合など、個々の仮想マシン１５０−１〜仮想マシン１５０−Ｎを区別しない場合には、単に仮想マシン１５０と呼ぶ。
【００３９】
仮想マシン１５０は、仮想ネットワーク制御部１０４から指示された仮想ネットワークを構築する。仮想マシン１５０は、仮想ネットワークに接続することで、他の仮想マシン１５０やコンピューターと通信を行う。例えば、仮想化基盤１１上に、仮想マシン１５０が複数存在する場合、仮想マシン１５０−１は、他の仮想マシン１５０−Ｎと、外部ネットワークに接続されたコンピューターと、通信が可能である。
【００４０】
仮想マシン１５０間の通信は、ＴＣＰ／ＩＰ（Transmission Control Protocol / Internet Protocol）などのネットワーク通信用の通信プロトコル（以下「ＮＷ通信プロトコル」という。）を使用する。トラフィックは、ＮＷ通信プロトコルを用いて通信する場合、データを制御するためのデータを付与する工程を経て通信される。これは、ＮＷ通信プロトコルのデータ通信モデルに基づいて、各階層で通信を制御するためのデータが付与されるためである。
【００４１】
仮想マシン１５０は、仮想ＮＩＣ（Network Interface Card）生成部１５１、通信部１５２及び記憶部１５３を備える。なお、仮想マシン１５０は、他の機能部を有してもよい。
仮想ＮＩＣ生成部１５１は、仮想マシン１５０にネットワーク機能を追加するための仮想のネットワークカードを生成する。例えば、仮想ＮＩＣ生成部１５１は、仮想ＮＩＣを仮想マシン１５０に生成する。仮想ＮＩＣ生成部１５１は、仮想マシン１５０で生成した仮想ＮＩＣを仮想ブリッジ１４０と接続する。仮想ＮＩＣと仮想ブリッジ１４０が接続することで、仮想マシン１５０は、外部ネットワークのコンピューターと通信用インターフェース１３０を介して通信が可能になる。
【００４２】
通信部１５２は、通信用のインターフェースである。通信部１５２は、仮想ＮＩＣ生成部１５１で生成された仮想ＮＩＣと通信用インターフェース１３０との間でデータ通信する。通信部１５２は、仮想ＮＩＣ生成部１５１で生成された仮想ＮＩＣと仮想ブリッジ１４０との間でデータ通信する。
【００４３】
記憶部１５３は、仮想的なストレージである。記憶部１５３は、仮想マシン１５０で動作するプログラムを記憶する。記憶部１５３は、仮想マシン１５０で処理されるデータを記憶する。なお、記憶部１５３は、さらに他の情報を記憶してもよい。
【００４４】
図４は、実施形態に係るトラフィック監視装置２の具体例を示す機能ブロック図である。トラフィック監視装置２は、記憶部２０、通信部２１及び制御部２２を備える。
【００４５】
記憶部２０は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。記憶部２０は、トラフィック監視装置２において動作するアプリケーションのプログラムデータを記憶する。記憶部２０は、取得部２２１で取得された、トラフィック、第一ネットワーク情報及び第二ネットワーク情報を記憶する。記憶部２０は、識別部２２２で識別されたトラフィックのデータ（以下「識別データ」という。）を記憶する。識別データとは、トラフィックのヘッダパケットのデータなどを示す。例えば、識別データは、送信先ＭＡＣアドレスや送信先ＩＰアドレスなどである。識別データについては、図５を用いて説明する。記憶部２０は、生成部２２３で生成されたトラフィックフィルタの情報を記憶する。記憶部２０は、判定部２２４の判定結果を記憶する。なお、記憶部２０は、さらに他の情報を記憶してもよい。
【００４６】
通信部２１は、通信インターフェースである。通信部２１は、ネットワーク９００を介して、情報処理システム１と相互にデータ通信する。また、通信部２１は、分配器３からトラフィックを受け取る。通信部２１は、情報処理システム１から受け取った第一ネットワーク情報と、第二ネットワーク情報と、分配器３から受け取ったトラフィックと、を制御部２２へ送る。
【００４７】
制御部２２は、ＣＰＵ等のプロセッサを用いて構成される。プロセッサがプログラムを実行することによって、制御部２２は、取得部２２１、識別部２２２、生成部２２３、判定部２２４及び警告部２２５として機能する。
【００４８】
これらの構成要素のうち一部または全部は、ＬＳＩやＡＳＩＣ、ＦＰＧＡ、ＧＰＵなどのハードウェア（回路部；circuitryを含む）によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予めＨＤＤやフラッシュメモリなどの記憶装置に格納されていてもよいし、ＤＶＤやＣＤ−ＲＯＭなどの着脱可能な記憶媒体に格納されており、記憶媒体がドライブ装置に装着されることでインストールされてもよい。
【００４９】
取得部２２１は、仮想マシン制御装置１０が有する第一ネットワーク情報を取得する。取得部２２１は、仮想化基盤１１が有する第二ネットワーク情報を取得する。取得部２２１は、仮想ネットワークを流れるトラフィックを分配器３から取得する。取得部２２１は、取得した第一ネットワーク情報、第二ネットワーク情報及びトラフィックを記憶部２０へ格納する。
【００５０】
識別部２２２は、トラフィックのデータ内容を識別する。判定部２２４で第一ネットワーク情報及び第二ネットワーク情報が同じであると判定された場合、識別部２２２は、後述するトラフィックフィルタに基づいて、トラフィックのデータ内容を識別する。例えば、識別部２２２は、ＲＸ及びＴＸに流れるトラフィックのパケット長を識別する。また例えば、識別部２２２は、ＲＸ及びＴＸに流れるトラフィックのヘッダ情報を識別する。識別部２２２は、トンネリングプロトコルなどのイーサタイプを識別し、判定部２２４で判定を行う箇所のビットを抽出する。
【００５１】
識別部２２２が識別するトンネリングプロトコルについて、「L2 over L3」及び「Ｌ２カプセリング」の具体的な組み合わせを説明する。「L2 over L3」のトンネリングプロトコルの組み合わせは、例えば、ＶＸＬＡＮ及びＶＬＡＮのペアと、ＭＰＬＳ（Multi-Protocol Label Switching） over ＧＲＥ（General Routing Encapsulation）及びＶＬＡＮのペアと、ＧＥＮＥＶＥ及びＶＬＡＮのペアと、である。「Ｌ２カプセリング」のトンネリングプロトコルの組み合わせは、例えば、Ｌ２ＴＰ（Layer Two Tunneling Protocol）及びＶＬＡＮのペアと、Ｑ−ｉｎ−Ｑ及びＶＬＡＮのペアと、である。識別部２２２は、識別したトラフィックを識別データとして、記憶部２０へ格納する。識別データの詳細は、図５を用いて説明する。
【００５２】
図５は、実施形態に係る識別データの具体例を示す図である。
図５では、仮想マシン１５０が通信を行う際に流れるトラフィックの識別データの具体例を示す。例えば、図５では、識別データは、送信元ＭＡＣアドレス、送信先ＭＡＣアドレス、イーサタイプ、プロトコル、送信元ＩＰアドレス、送信先ＩＰアドレス、送信元ポート番号及び送信先ポート番号である。ＲＸ及びＴＸに流れるトラフィックは、分配器３を介して取得される。図５では、例として、仮想マシン１５０−１がＬ３スイッチ（ルーター）を介して外部ネットワークの情報処理装置（対向先）と通信を行った際の識別データを示す。
【００５３】
送信元ＭＡＣアドレスは、トラフィックを送信する側の装置が有するＭＡＣアドレスである。例えば、図５では、ＲＸを流れるトラフィックの場合、対向先の情報処理装置が持つインターフェースのＭＡＣアドレスが、送信元ＭＡＣアドレスを示す。ＴＸを流れるトラフィックの場合、仮想マシン１５０−１が持つインターフェースのＭＡＣアドレスが、送信元ＭＡＣアドレスを示す。
【００５４】
送信先ＭＡＣアドレスは、トラフィックを受信する側の装置が有するＭＡＣアドレスである。例えば、図５では、ＲＸを流れるトラフィックの場合、仮想マシン１５０−１が持つインターフェースのＭＡＣアドレスが、送信先ＭＡＣアドレスを示す。ＴＸを流れるトラフィックの場合、対向先の情報処理装置が持つインターフェースのＭＡＣアドレスは、送信先ＭＡＣアドレスを示す。
【００５５】
イーサタイプは、イーサネット（登録商標）で使われるＮＷ通信プロトコルの種類を表す識別子である。例えば、図５では、ＲＸ及びＴＸを流れるトラフィックのイーサタイプは、例えば、ＩＰｖ４、ＩＰｖ６、ＭＰＬＳ及びＶＬＡＮである。
【００５６】
プロトコル番号は、ＮＷ通信プロトコル毎に定められた番号である。例えば、図５では、ＲＸ及びＴＸを流れるトラフィックのプロトコル番号は、ＩＣＭＰのプロトコル番号１、ＴＣＰのプロトコル番号６、ＵＤＰのプロトコル番号１７である。
【００５７】
送信元ＩＰアドレスは、ネットワークを介して通信する装置に割り当てられるＩＰアドレスである。例えば、図５では、ＲＸを流れるトラフィックの場合、対向先の情報処理装置のＩＰアドレスが、送信元ＩＰアドレスを示す。ＴＸを流れるトラフィックの場合、仮想マシン１５０−１のＩＰアドレスが、送信元ＩＰアドレスを示す。
【００５８】
送信先ＩＰアドレスは、ネットワークを介して通信する側の装置に割り当てられるＩＰアドレスである。例えば、図５では、ＲＸを流れるトラフィックの場合、仮想マシン１５０−１のＩＰアドレスが、送信元ＩＰアドレスを示す。ＴＸを流れるトラフィックの場合、対向先の情報処理装置のＩＰアドレスが、送信元ＩＰアドレスを示す。
【００５９】
送信元ポート番号及び送信先ポート番号は、コンピューターが通信を行うために通信先のアプリケーションを特定するための番号である。送信元ポート番号及び送信先ポート番号は、任意で取得してもよい。
【００６０】
図４の説明に戻る。生成部２２３は、第一ネットワーク情報及び第二ネットワーク情報に基づいて、トラフィックフィルタを生成する。トラフィックフィルタとは、任意のトラフィックを抽出するために生成されるフィルタである。例えば、本実施形態では、生成部２２３は、フィルタを生成する際のルールテーブルを記憶部２０に格納する。ルールテーブルとは、基準となるネットワーク情報を格納するデータテーブルである。例えば、本実施形態では、ルールテーブルは、識別データを、送信元ＭＡＣアドレス、送信先ＭＡＣアドレス、イーサタイプ、プロトコル、送信元ＩＰアドレス、送信先ＩＰアドレス、送信元ポート番号及び送信先ポート番号として格納する。
【００６１】
生成部２２３は、第一ネットワーク情報及び第二ネットワーク情報が同じであるか否かを判定する。第一ネットワーク情報及び第二ネットワーク情報が同じである場合、生成部２２３は、仮想ネットワークが正常に構築されていると判定し、トラフィックフィルタとして、ルールテーブルを生成する。第一ネットワーク情報及び第二ネットワーク情報が同じでない場合、判定部２２４は、仮想ネットワークが正常に構築されていないと判定し、生成部２２３は、トラフィックフィルタを生成しない。
【００６２】
判定部２２４は、トラフィック及びトラフィックフィルタに基づいて、仮想ネットワークを流れるトラフィックが正常か否かを判定する。トラフィックが正常な状態とは、識別部２２２で抽出されたトラフィックの識別データと、トラフィックフィルタ（ルールテーブル）と、が同じ状態であることを示す。トラフィックが正常である場合、判定部２２４は、仮想ネットワークが正常に動作していると判定する。トラフィックが正常でない場合、判定部２２４は、仮想ネットワークが正常に動作していないと判定する。
【００６３】
警告部２２５は、判定部２２４の判定結果に基づいて、ユーザーに警告を行う。なお、警告部２２５は、警告を、情報処理システム１を通してユーザーに出力してもよいし、トラフィック監視装置２から出力してもよい。
【００６４】
図６は、仮想ネットワーク監視システム５００の処理の具体例を示すフローチャートである。取得部２２１は、仮想マシン制御装置１０及び仮想化基盤１１から第一ネットワーク情報及び第二ネットワーク情報を取得する（ステップＳ１０１）。取得部２２１は、分配器３からＲＸ及びＴＸを流れるトラフィックを取得する。識別部２２２は、トラフィックからトンネリングプロトコルなどのイーサタイプを識別し、判定部２２４で判定を行う箇所のビットを抽出する（ステップＳ１０３）。
【００６５】
生成部２２３は、第一ネットワーク情報及び第二ネットワーク情報が同じであるか否かを判定する（ステップＳ１０４）。第一ネットワーク情報及び第二ネットワーク情報が同じでない場合（ステップＳ１０４：ＮＯ）、生成部２２３は、仮想ネットワークが正常に構築されていないと判定し、処理を終了する。第一ネットワーク情報及び第二ネットワーク情報が同じである場合（ステップＳ１０４：ＹＥＳ）、生成部２２３は、仮想ネットワークが正常に構築されていると判定し、トラフィックフィルタとして、ルールテーブルを生成する（ステップＳ１０５）。
【００６６】
判定部２２４は、トラフィック及びトラフィックフィルタに基づいて、仮想ネットワークを流れるトラフィックが正常か否かを判定する（ステップＳ１０６）。トラフィックが正常でない場合（ステップＳ１０６：ＮＯ）、判定部２２４は、仮想ネットワークが正常に動作していないと判定する（ステップＳ１０７）。警告部２２５は、判定部２２４の判定結果に基づいて、ユーザーに警告を行う（ステップＳ１０８）。トラフィックが正常である場合（ステップＳ１０６：ＹＥＳ）、判定部２２４は、仮想ネットワークが正常に動作していると判定する（ステップＳ１０９）。
【００６７】
図７は、実施形態に係る仮想ネットワーク監視システム５００の処理の具体例を示すシーケンス図である。なお、図６で説明した処理に関しては、説明を省略する。
仮想マシン制御部１０３は、仮想化基盤１１に対し、仮想マシン１５０を生成する指示（以下「仮想マシン生成指示」という。）を送る（ステップＳ２０１）。仮想化基盤１１は、仮想マシン生成指示に基づいて、仮想マシン１５０を生成する（ステップＳ２０２）。仮想ネットワーク制御部１０４は、仮想化基盤１１に対し、仮想ネットワークを生成する指示（以下「仮想ネットワーク生成指示」という。）を送る（ステップＳ２０３）。仮想ネットワーク制御部１０４は、仮想ネットワーク生成指示のデータ内容を第一ネットワーク情報として記憶部１００に格納する（ステップＳ２０４）。
【００６８】
仮想化基盤１１は、仮想ネットワーク生成指示に基づいて、仮想ネットワークを構築する（ステップＳ２０５）。仮想化基盤１１は、構築した仮想ネットワーク情報を第二ネットワーク情報としてシステムメモリ１１０に格納する（ステップＳ２０６）。トラフィック監視装置２は、第一ネットワーク情報を取得するための指示（以下「第一ネットワーク情報送信指示」という。）を、仮想マシン制御装置１０に送る（ステップＳ２０７）。仮想マシン制御装置１０は、第一ネットワーク情報送信指示に基づいて、第一ネットワーク情報をトラフィック監視装置２に送る（ステップＳ２０８）。同様に、トラフィック監視装置２は、第二ネットワーク情報を取得するための指示（以下「第二ネットワーク情報送信指示」という。）を、仮想マシン制御装置１０に送る（ステップＳ２０９）。仮想マシン制御装置１０は、第二ネットワーク情報送信指示に基づいて、第二ネットワーク情報をトラフィック監視装置２に送る（ステップＳ２１０）。
【００６９】
トラフィック監視装置２は、ステップＳ１０１〜Ｓ１０３及びステップＳ１０５の処理を実行する。トラフィック監視装置２は、仮想ネットワークを監視する（ステップＳ２１１）。具体的には、ステップＳ２１１の処理は、ステップＳ１０６〜ステップＳ１０９の処理を示す。
【００７０】
このように構成された仮想ネットワーク監視システム５００によれば、取得部２２１及び生成部２２３を備えることにより、正常なトラフィックを識別するためのトラフィックフィルタを生成することができる。さらに識別部２２２を備えることにより、ＲＸ及びＴＸを流れるトラフィックを識別することができる。これにより、仮想ネットワーク監視システム５００は、外部装置を用いた仮想ネットワークの監視において、仮想ネットワークを流れるトラフィックの内容を識別するためのトラフィックフィルタを生成することが可能となる。
【００７１】
［第２実施形態］
図８は、第２実施形態に係る仮想ネットワーク監視システム６００の全体構成の一例を示す図である。なお、第１実施形態において既に説明した事項については以下において説明を省略する場合がある。ここでは、本実施形態に特有の事項を中心に説明する。
仮想ネットワーク監視システム６００は、情報処理システム１、トラフィック監視装置２、分配器３、ルーター４及びログサーバー５を備える。
【００７２】
ログサーバー５は、ネットワーク９００を介してトラフィック監視装置２から識別データを取得する。ログサーバー５は、トラフィック監視装置２から取得した識別データに基づいて、グラフを描画する。
【００７３】
図９は、第２実施形態に係るログサーバー５の具体例を示す機能ブロック図である。
ログサーバー５は、記憶部５０、通信部５１、表示部５２及び制御部５３を備える。
記憶部５０は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。記憶部５０は、トラフィック監視装置２から受け取った識別データをログデータとして記憶する。なお、記憶部５０は、第一ネットワーク情報及び第二ネットワーク情報を記憶してもよい。なお、記憶部５０は、さらに他の情報を記憶してもよい。
通信部５１は、通信インターフェースである。通信部５１は、ネットワーク９００を介して、トラフィック監視装置２と相互にデータ通信する。
【００７４】
表示部５２は、ＣＲＴ（Cathode Ray Tube）ディスプレイ、液晶ディスプレイ、有機ＥＬ（Electro Luminescence）ディスプレイ等の画像表示装置である。表示部５２は、描画部５３２から受け取る映像信号を表示する。表示部５２は、画像表示装置をログサーバー５の少なくとも一方に接続するためのインターフェースであっても良い。この場合、表示部５２は、テキストデータや映像データを表示するための映像信号を生成し、自身に接続されている画像表示装置に映像信号を出力する。
【００７５】
制御部５３は、ＣＰＵ等のプロセッサを用いて構成される。プロセッサがプログラムを実行することによって、制御部５３は、取得部５３１及び描画部５３２として機能する。
【００７６】
これらの構成要素のうち一部または全部は、ＬＳＩやＡＳＩＣ、ＦＰＧＡ、ＧＰＵなどのハードウェア（回路部；circuitryを含む）によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予めＨＤＤやフラッシュメモリなどの記憶装置に格納されていてもよいし、ＤＶＤやＣＤ−ＲＯＭなどの着脱可能な記憶媒体に格納されており、記憶媒体がドライブ装置に装着されることでインストールされてもよい。
【００７７】
取得部５３１は、トラフィック監視装置２から識別データを取得する。取得部５３１は、取得した識別データを記憶部５０及び描画部５３２へ送る。例えば、取得部５３１は、トラフィックを監視するためのＡＰＬ（A Programming Language）を用いて識別データを取得してもよい。
描画部５３２は、取得部５３１から受け取った識別データに基づいて、グラフを描画する。例えば、描画部５３２は、可視化アプリケーションを用いて、識別データのグラフを描画する。
【００７８】
このように構成された仮想ネットワーク監視システム６００によれば、取得部２２１、識別部２２２、生成部２２３及び描画部５３２を備えることにより、トラフィックフィルタに基づいて、識別したトラフィックのデータを描画することができる。これにより、仮想ネットワーク監視システム６００は、外部装置を用いた仮想ネットワークの監視において、仮想ネットワークを流れるトラフィックの内容を識別するためのトラフィックフィルタを生成し、識別したトラフィックのデータを描画することが可能となる。
【００７９】
［変形例］
図１では、例として、仮想マシン制御装置１０及び仮想化基盤１１を情報処理システム１の同一筐体内で機能させるが、仮想マシン制御装置１０及び仮想化基盤１１は、ネットワークを介し、互いに通信して機能してもよい。ネットワークは、例えば、その一部にインターネット、公衆無線ネットワークなどの広域ネットワークを含んで構成されてもよいし、ＷＡＮ（Wide Area Network）、ＬＡＮ（Local Area Network）、セルラー網を含んで構成されてもよい。
【００８０】
本実施形態における仮想マシンは、ホスト型でもよいし、ハイパーバイザー型でもよい。つまり、同一ホストマシン上で動作する仮想マシンであれば、仮想マシンの稼働方式及び稼働数は問わない。
情報処理システム１及びトラフィック監視装置２は表示部を備えてもよい。情報処理システム１及びトラフィック監視装置２は、取得したトラフィック、第一ネットワーク情報及び第二ネットワーク情報を表示部に表示してもよい。
警告部２２５は、トラフィック監視装置２に警告のテキストを表示させてもよいし、ビープ音などの音声を出力してもよい。
【００８１】
描画部５３２は、記憶部５０に格納されたログデータに基づいて、識別データを描画してもよい。
描画部５３２は、トラフィックの識別データを識別部２２２から測定し、描画してもよい。
識別部２２２は、ポート番号に基づいて、使用されるアプリケーションを識別してもよい。
【００８２】
情報処理システム１、トラフィック監視装置２及びログサーバー５は、入力部を備えてもよい。入力部は、キーボード、ポインティングデバイス（マウス、タブレット等）、ボタン、タッチパネル等の既存の入力装置を用いて構成される。入力部は、作業者の指示を情報処理システム１、トラフィック監視装置２及びログサーバー５に入力する際に作業者によって操作される。入力部は、入力装置を情報処理システム１、トラフィック監視装置２及びログサーバー５に接続するためのインターフェースであっても良い。この場合、入力部は、入力装置において作業者の入力に応じ生成された入力信号を情報処理システム１、トラフィック監視装置２及びログサーバー５に入力する。
【００８３】
第一ネットワーク情報及び第二ネットワーク情報が同じでない場合、警告部２２５は、判定部２２４の判定結果に基づいて、ユーザーに警告を行う。このとき、生成部２２３は、第一ネットワーク情報及び第二ネットワーク情報に基づいて、トラフィックフィルタとして、ルールテーブルを生成してもよい。
【００８４】
上述した実施形態における仮想ネットワーク監視システム、仮想ネットワーク監視装置、仮想ネットワーク監視方法及びコンピュータープログラムをコンピューターで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＦＰＧＡ（Field Programmable Gate Array）等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００８５】
１…情報処理システム、２…トラフィック監視装置、３…分配器、４…ルーター、５…ログサーバー、１０…仮想マシン制御装置、１１…仮想化基盤、２０…記憶部、２１…通信部、２２…制御部、５０…記憶部、５１…通信部、５２…表示部、５３…制御部、１００…記憶部、１０１…通信部、１０２…制御部、１０３…仮想マシン制御部、１０４…仮想ネットワーク制御部、１０５…仮想化基盤制御部、１１０…システムメモリ、１１１…仮想ブリッジ記憶部、１１２…通信データ記憶部、１２０…制御部、１３０…通信用インターフェース、１４０…仮想ブリッジ、１５０…仮想マシン、１５１…仮想ＮＩＣ生成部、１５２…通信部、１５３…記憶部、２２１…取得部、２２２…識別部、２２３…生成部、２２４…判定部、２２５…警告部、３００…パケット、３０１…送信先ＭＡＣアドレス、３０２…送信元ＭＡＣアドレス、３０３…イーサタイプ、３０４…プロトコル、３０５…送信元ＩＰアドレス、３０６…送信先ＩＰアドレス、３０７…ＦＣＳ、５００…仮想ネットワーク監視システム、５３１…取得部、５３２…描画部、６００…仮想ネットワーク監視システム、９００…ネットワーク
【図１】
2019220862.tif 000003
【図２】
2019220862.tif 000004
【図３】
2019220862.tif 000005
【図４】
2019220862.tif 000006
【図５】
2019220862.tif 000007
【図６】
2019220862.tif 000008
【図７】
2019220862.tif 000009
【図８】
2019220862.tif 000010
【図９】
2019220862.tif 000011