(57)【要約】【課題】ネットワーク機能仮想化（ＮＦＶ）の環境下において、ホスト端末の負荷を軽減することができ、仮想ネットワークに要する初期投資やランニングコストを抑えることができるアクセラレータを提供する。【解決手段】アクセラレータ２０は、ネットワーク機能仮想化（ＮＦＶ）を実行するホスト端末１０に接続可能であり、ホスト端末１０の複数の仮想マシン１２が該仮想マシン１２間において送受信するパケット、または、仮想マシン１２がホスト端末１０の外部と送受信するパケットを取得可能なパケット取得手段２６と、パケット取得手段２６が取得したパケットに対してＮＦＶにおけるデータプレーン処理を実行可能なパケット処理手段２８と、を有して構成される。【選択図】図１
2018137616.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク機能仮想化（ＮＦＶ）を実行するホスト端末に接続可能なアクセラレータであって、
前記ホスト端末の複数の仮想マシンが該仮想マシン間において送受信するパケット、または、前記仮想マシンが前記ホスト端末の外部と送受信するパケットを取得可能なパケット取得手段と、
前記パケット取得手段が取得した前記パケットに対してＮＦＶにおけるデータプレーン処理を実行可能なパケット処理手段と、を有して構成される、
ことを特徴とするアクセラレータ。
【請求項２】
請求項１に記載のアクセラレータにおいて、
前記パケット処理手段は、前記複数の仮想マシンのトラフィック量の変化を少なくとも監視することが可能な監視手段を備える、
ことを特徴とするアクセラレータ。
【請求項３】
請求項１または請求項２に記載のアクセラレータにおいて、
前記パケット処理手段は、前記パケットのミラーリングを実行可能なミラーリング手段を備える、
ことを特徴とするアクセラレータ。
【請求項４】
請求項１乃至請求項３のいずれか一項に記載のアクセラレータにおいて、
前記パケット取得手段が取得した前記パケットを外部に出力可能なパケット出力手段を備える、
ことを特徴とするアクセラレータ。
【請求項５】
請求項１乃至請求項４のいずれか一項に記載のアクセラレータにおいて、
前記データプレーン処理には、ＴＣＰ／ＩＰ処理、ＩＰｓｅｃ／ＳＳＬ暗号化・復号化処理、テーブル検索、Ｎ−Ｔｕｐｌｅ分類、ＩＰパケットフォワーディング、イーサネットフレームフォワーディングのいずれかの処理が含まれる、
ことを特徴とするアクセラレータ。
【請求項６】
請求項１乃至請求項５のいずれか一項に記載のアクセラレータにおいて、
前記ホスト端末の拡張スロットに拡張カードとして搭載され、前記仮想マシンの仮想ネットワークカード（ｖＮＩＣ）として認識される、
ことを特徴とするアクセラレータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク機能仮想化（ＮＦＶ）におけるデータプレーン処理を高めることが可能なアクセラレータに関する。
【背景技術】
【０００２】
従来、ハードウェアを物理的な構成にとらわれずに論理的に利用する技術の一つとして、同一の物理ホスト（サーバ）上に、論理的なホストである仮想マシン（ＶＭ）を生成するネットワーク機能仮想化（ＮＦＶ）の技術が広く知られている。
【０００３】
このようなＮＦＶにおいて利用されるアクセラレータとして、特許文献１には、ＶＭ間のトラフィックを輻輳させること無く通信させ、パケットロスやスループットの低下を防ぐことが可能な制御装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１２６０６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、ＮＦＶでは、ハイパーバイザと呼ばれるＶＭ管理ソフトウェアが、例えばＮＩＣ（ネットワークインタフェースカード）等のハードウェアを論理的に分割することで、データプレーン（Ｄプレーン）と呼ばれる処理を実行している。ここで、データプレーン処理とは、ＮＦＶにおいてデータ転送における経路の制御や計算等を行う機能をいい、例えば、ＴＣＰ／ＩＰ処理、ＩＰｓｅｃ／ＳＳＬ暗号化・復号化処理等が含まれる。
【０００６】
しかしながら、近年のデータ転送量の増加に伴い、ＮＦＶ環境下では、ハイパーバイザにおけるデータプレーン処理の制御負担が年々、増加傾向にあり、ハイパーバイザの負荷が高くなった場合に、パケットロスやスループットの低下等を招くことがあった。
【０００７】
また、このような問題を解決する一手段として、物理ホストの台数を増やしたり、物理ホストのＣＰＵのクロック周波数を高めたりすることも考えられるが、初期投資やランニングコストが必要であり、コスト面等において限界があった。
【０００８】
本発明は、このような従来の問題点を解決するためのものであって、ネットワーク機能仮想化（ＮＦＶ）の環境下において、ホスト端末の負荷を軽減することができ、仮想ネットワークに要する初期投資やランニングコストを抑えることができるアクセラレータを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係るアクセラレータは、ネットワーク機能仮想化（ＮＦＶ）を実行するホスト端末に接続可能なアクセラレータであって、前記ホスト端末の複数の仮想マシンが該仮想マシン間において送受信するパケット、または、前記仮想マシンが前記ホスト端末の外部と送受信するパケットを取得可能なパケット取得手段と、前記パケット取得手段が取得した前記パケットに対してＮＦＶにおけるデータプレーン処理を実行可能なパケット処理手段と、を有して構成される、ことを特徴とするアクセラレータである。
【発明の効果】
【００１０】
本発明に係るアクセラレータによれば、ネットワーク機能仮想化（ＮＦＶ）の環境下において、ホスト端末の負荷を軽減することができ、仮想ネットワークに要する初期投資やランニングコストを抑えることができるという優れた効果を奏し得る。
【図面の簡単な説明】
【００１１】
【図１】ホスト端末１０とアクセラレータ２０の内部構成を示したブロック図である。
【図２】アクセラレータ２０の内部構成を示したブロック図である。
【発明を実施するための形態】
【００１２】
以下、図面を用いて、本発明の実施の形態に係るアクセラレータ２０について詳細に説明する。
【００１３】
＜ホスト端末＞
最初に、アクセラレータ２０の説明に先立って、アクセラレータ２０が接続されるホスト端末１０について説明する。図１は、ホスト端末１０とアクセラレータ２０の内部構成を示したブロック図である。
【００１４】
ホスト端末１０は、ネットワーク機能仮想化（ＮＦＶ）を実行するための端末であり、ホスト端末１０としては、汎用のサーバやＰＣ等を適用することができる。本例のホスト端末１０には、複数の仮想マシン（ＶＭ）１２を生成することが可能なハイパーバイザ（Ｈｙｐｅｒ  Ｖｉｓｏｒ）１４と、このハイパーバイザ１４と連携して複数の仮想マシン１２間の通信制御等を行うオープンソース仮想スイッチ（ＯＶＳ：Ｏｐｅｎ  ｖＳｗｉｔｃｈ）１６と、インターフェイスマネージャ（ＩＦｍｇｒ）１８が実装されている。
【００１５】
なお、本発明に係るホスト端末は、ネットワーク機能仮想化（ＮＦＶ）が実行可能な端末であればよく、図１に示すホスト端末１０の構成に限定されるものではない。したがって、例えば、本発明に係るホスト端末は、インターフェイスマネージャ１８を備えていない端末であってもよい。
【００１６】
＜ホスト端末／仮想マシン（ＶＭ）＞
仮想マシン（ＶＭ）１２は、ファイアウォール、ルータやスイッチ等のＤＰＩ（ディープパケットインスペクション）、ロードバランサ等の専用機器を仮想化したものであり、ハイパーバイザ１４上において、これらの専用機器として振る舞うソフトウェア（制御プログラム）である。
【００１７】
＜ホスト端末／ハイパーバイザ＞
ハイパーバイザ１４は、ホスト端末が備えるＮＩＣ（ネットワークインタフェースカード）等のハードウェアを論理的に分割することで、コントロールプレーン(Ｃプレーン)、データプレーン（Ｄプレーン）と呼ばれる処理等を実行するソフトウェア（制御プログラム）である。ここで、コントロールプレーン処理とは、ＮＦＶにおいてフレームの転送等を行う処理のことであり、データプレーン処理とは、ＮＦＶにおいてデータ転送における経路の制御や計算等を行う処理のことである。
【００１８】
本例に係るデータプレーン処理には、ＴＣＰ／ＩＰ処理、ＩＰｓｅｃ／ＳＳＬ暗号化・復号化処理、テーブル検索、Ｎ−Ｔｕｐｌｅ分類、ＩＰパケットフォワーディング、イーサネット（登録商標）フレームフォワーディングの各処理が含まれる。ここで、テーブル検索やＮ−Ｔｕｐｌｅ分類は、パケットのルーティング処理の一種である。また、ＩＰパケットフォワーディングとは、他のホストから受け取ったＩＰパケットを別の経路に向けて再送信することであり、イーサネットフレームフォワーディングとは、他のホストから受け取ったイーサネットフレームを別の経路に向けて再送信することである。
【００１９】
＜ホスト端末／オープンソース仮想スイッチ、インターフェイスマネージャ＞
オープンソース仮想スイッチ１６とインターフェイスマネージャ１８は、制御プログラム（ソフトウェア）によって実現される。オープンソース仮想スイッチ１６とインターフェイスマネージャ１８は、ネットワークの保守等を行うユーザとのインターフェイス（ＵＩ）として機能するソフトウェア（制御プログラム）である。
【００２０】
ホスト端末１０のユーザは、各種コマンドを実行することで、オープンソース仮想スイッチ１６やインターフェイスマネージャ１８を介してアクセラレータ２０の各種設定が可能であるとともに、オープンソース仮想スイッチ１６やインターフェイスマネージャ１８を介してアクセラレータ２０から各種情報（例えば、ポート毎等の状態情報）を取得可能である。
【００２１】
＜アクセラレータ＞
次に、図１と図２を用いて、アクセラレータ２０について説明する。図２は、アクセラレータ２０の内部構成を示したブロック図である。
【００２２】
本例のアクセラレータ２０は、ホスト端末１０の拡張スロット（図示省略）に拡張カード（本例では、ＰＣＩｅカード）として接続され、ホスト端末１０の仮想マシン１２からは仮想ネットワークカード（ｖＮＩＣ）として認識される。
【００２３】
図１に示すように、アクセラレータ２０は、アクセラレータ２０全体の制御を行うＣＰＵ２２と、ホスト端末１０のオープンソース仮想スイッチ１６やインターフェイスマネージャ１８とアクセラレータ２０とを通信可能に接続するＮＩＣＩ／Ｆ部２４と、ホスト端末１０の仮想マシン１２とアクセラレータ２０とを通信可能に接続するｖＮＩＣＩ／Ｆ部２６と、パケットの振り分け等の処理を行うパケット処理部２８と、物理ポートの制御を行う複数のＩ／Ｏ部３０と、を有して構成される。
【００２４】
＜アクセラレータ／ＮＩＣＩ／Ｆ部＞
ＮＩＣＩ／Ｆ部２４は、ホスト端末１０のオープンソース仮想スイッチ１６やインターフェイスマネージャ１８から受信した各種コマンドをＣＰＵ２２に送信することでアクセラレータ２０の各種設定を行ったり、ＣＰＵ２２から取得した各種情報（例えば、ポート毎の状態情報）をホスト端末１０のオープンソース仮想スイッチ１６やインターフェイスマネージャ１８に送信したりすることが可能な手段である。このＮＩＣＩ／Ｆ部２４は、例えば、電子回路等のハードウェアや制御プログラム（ソフトウェア）によって構成される。
【００２５】
＜アクセラレータ／ｖＮＩＣＩ／Ｆ部＞
ｖＮＩＣＩ／Ｆ部２６は、ホスト端末１０の複数の仮想マシン１２が仮想マシン１２間において送受信するパケット、または、仮想マシン１２がホスト端末１０の外部と送受信するパケットを取得可能な手段（本発明に係る「パケット取得手段」）である。このｖＮＩＣＩ／Ｆ部２６は、例えば、電子回路等のハードウェアや制御プログラム（ソフトウェア）によって構成される。
【００２６】
＜アクセラレータ／パケット処理部＞
パケット処理部２８は、ｖＮＩＣＩ／Ｆ部２６が取得したパケットに対してＮＦＶにおけるデータプレーン処理を実行可能な手段（本発明に係る「パケット処理手段」）であり、例えば、電子回路等のハードウェアや制御プログラム（ソフトウェア）によって構成される。このパケット処理部２８は、複数の仮想マシン１２のトラフィック量の変化（例えば、ポート毎の、入出力パケット数、パケットバイト数、パケットエラー数、パケットドロップ数、パケットオーバーフロー数、および転送レート）を少なくとも監視することが可能な監視手段と、パケットのミラーリングを実行可能なミラーリング手段と、を備える。
【００２７】
図２に示すように、パケット処理部２８は、データプレーン処理に含まれるＩＰパケットフォワーディングやイーサネットフレームフォワーディング等を行う第一のパケット処理部２８ａと、データプレーン処理に含まれるテーブル検索等を行う第二のパケット処理部２８ｂと、データプレーン処理に含まれるＮ−Ｔｕｐｌｅ分類等を行う第三のパケット処理部２８ｃと、を有して構成される。
【００２８】
このように、本例に係るアクセラレータ２０のパケット処理部２８は、ＮＦＶによるデータプレーン処理を実行可能なため、ホスト端末１０のハイパーバイザ１４が実行するデータプレーン処理の少なくとも一部を実行することで、当該ホスト端末１０のデータプレーン処理の負荷を従来よりも大幅に軽減することができ、ホスト端末１０のリソースをコントロールプレーン処理等の他の処理に割り当てることができる。
【００２９】
＜アクセラレータ／Ｉ／Ｏ部＞
Ｉ／Ｏ部３０は、ｖＮＩＣＩ／Ｆ部２６等が取得したパケットを外部に出力可能な手段（本発明に係る「パケット出力手段」）を備え、物理ポートに接続された機器（例えば、パケットキャプチャ）に向けてパケットを出力することが可能である。
【００３０】
以上説明したように、本実施形態に係るアクセラレータ（例えば、図１に示すアクセラレータ２０）は、ネットワーク機能仮想化（ＮＦＶ）を実行するホスト端末に接続可能なアクセラレータであって、前記ホスト端末の複数の仮想マシン（例えば、図１に示す仮想マシン（ＶＭ）１２）が該仮想マシン間において送受信するパケット、または、前記仮想マシンが前記ホスト端末の外部と送受信するパケットを取得可能なパケット取得手段（例えば、図１に示すｖＮＩＣＩ／Ｆ部２６）と、前記パケット取得手段が取得した前記パケットに対してＮＦＶにおけるデータプレーン処理を実行可能なパケット処理手段（例えば、図１に示すパケット処理部２８）と、を有して構成される、ことを特徴とするアクセラレータである。
【００３１】
ＮＦＶでは、仮想ネットワーク上のトラフィックが増えると、ホスト端末のハイパーバイザが実行するデータプレーン処理の負荷が増大することで、ホスト端末のリソースが当該処理に費やされてしまうといった問題があるが、本発明に係るアクセラレータは、ＮＦＶによるデータプレーン処理を実行可能なため、ホスト端末のハイパーバイザが実行するデータプレーン処理の負荷を従来よりも大幅に軽減することができ、ホスト端末のリソースをコントロールプレーン処理等の他の処理に割り当てることができる。このため、ホスト端末の台数を増やしたり、ホスト端末の性能を高めたりする必要がなく、仮想ネットワークに要する初期投資やランニングコストを抑えることができる。
【００３２】
なお、前記パケット処理手段は、前記複数の仮想マシンのトラフィック量の変化を少なくとも監視することが可能な監視手段を備えてもよい。
【００３３】
ＮＦＶでは、複数の仮想マシンがオープンなインターフェイスで結合されるため、仮想ネットワークにおける障害部位をリアルタイムに特定することが困難であるが、本発明に係るアクセラレータによれば、ホスト端末の負荷を増大させることなく、仮想マシンの稼働状況や負荷状況を監視することができ、仮想ネットワークの運用や管理の信頼性を従来よりも高めることができるとともに、仮想マシンの監視結果に応じて仮想ネットワークの障害対策等を行うことができる。
【００３４】
また、前記パケット処理手段は、前記パケットのミラーリングを実行可能なミラーリング手段を備えてもよい。
【００３５】
このような構成とすれば、ホスト端末の負荷を増大させることなく、仮想マシンが送受信するパケットのミラーリングを行うことができるとともに、ネットワーク障害が発生した場合に、パケットに基づいた解析等を容易に行うことができる。
【００３６】
また、前記パケット取得手段が取得した前記パケットを外部に出力可能なパケット出力手段（例えば、Ｉ／Ｏ部３０）を備えてもよい。
【００３７】
このような構成とすれば、ホスト端末の負荷を増大させることなく、ホスト端末の外部においてパケットの監視や解析、統計情報の収集等を行うことができる。
【００３８】
また、前記データプレーン処理には、ＴＣＰ／ＩＰ処理、ＩＰｓｅｃ／ＳＳＬ暗号化・復号化処理、テーブル検索、Ｎ−Ｔｕｐｌｅ分類、ＩＰパケットフォワーディング、イーサネットフレームフォワーディングのいずれかの処理が含まれてもよい。
【００３９】
このような構成とすれば、負荷の大きいＩＰパケット処理をホスト端末に代わって実行することで、ホスト端末の負荷を軽減することができ、ホスト端末のリソースをコントロールプレーン処理等の他の処理に割り当てることができる。
【００４０】
また、前記ホスト端末の拡張スロットに拡張カードとして搭載され、前記仮想マシンの仮想ネットワークカード（ＮＩＣ）として認識されるものであってもよい。
【００４１】
このような構成とすれば、ＮＦＶを実行するホスト端末に拡張スロットがあれば容易に搭載することができ、既存の仮想ネットワークへの導入が容易である。
【００４２】
なお、本発明に係るアクセラレータの構成は、上記実施形態に係るアクセラレータの構成に限定されるものではなく、適宜、変更することが可能である。
【産業上の利用可能性】
【００４３】
本発明に係るアクセラレータは、ネットワーク機能仮想化（ＮＦＶ）を実行するサーバ等に適用することができる。
【符号の説明】
【００４４】
１０  ホスト端末
１２  仮想マシン（ＶＭ）
１４  ハイパーバイザ
１６  オープンソース仮想スイッチ
１８  インターフェイスマネージャ
２０  アクセラレータ
２２  ＣＰＵ
２４  ＮＩＣＩ／Ｆ部
２６  ｖＮＩＣＩ／Ｆ部
２８  パケット処理部
３０  Ｉ／Ｏ部
【図１】
2018137616.tif 000003
【図２】
2018137616.tif 000004