(57)【要約】  本願のいくつかの実施例では仮想マシンパケット制御方法及び装置を提案する。この仮想マシンパケット制御方法及び装置は、ＯｐｅｎＳｔａｃｋネットワークに適用され、前記ＯｐｅｎＳｔａｃｋネットワークは、ＯｐｅｎＳｔａｃｋコントローラノードと、ＯｐｅｎＳｔａｃｋコンピュートノードと、仮想ネットワークシステムとを含み、前記ＯｐｅｎＳｔａｃｋネットワークは、ソフトウェア・デファインド・ネットワーク（ＳＤＮ）コントローラと通信接続され、前記仮想ネットワークシステムは、仮想マシン及び前記仮想マシンのパケットを転送する仮想ネットワーク装置を含む。この仮想マシンパケット制御方法において、ＯｐｅｎＳｔａｃｋコントローラノードは、仮想マシン（ＶＭ）のポートを作成し、ＶＭのために生成したポートＵＵＩＤ及びポートに適用される転送ルールをＳＤＮコントローラに通知し、仮想ネットワークシステムにおいてＶＭが作成された後、ＯｐｅｎＳｔａｃｋコントローラノードは、ＯｐｅｎＳｔａｃｋコンピュートノードが問い合わせて得られたＶＭのポート識別子（ＩＤ）を受信し、ＯｐｅｎＳｔａｃｋコントローラノードは、ＶＭのポートＩＤとＶＭのポートＵＵＩＤとの対応関係をＳＤＮコントローラに送信し、ＳＤＮコントローラは、当該ポートに適用される転送ルールに従ってフローテーブルを生成し、対応関係に基づいてフローテーブルを仮想ネットワーク装置に配信することを含む。【選択図】図２
2019500822.tif 000002
【特許請求の範囲】
【請求項１】
オープンスタック（ＯｐｅｎＳｔａｃｋ）ネットワークに適用される仮想マシン（ＶＭ）パケット制御方法において、前記ＯｐｅｎＳｔａｃｋネットワークは、ＯｐｅｎＳｔａｃｋコントローラノードと、ＯｐｅｎＳｔａｃｋコンピュートノードと、ＶＭ及び前記ＶＭのパケットを転送する仮想ネットワーク装置を含む仮想ネットワークシステムとを含み、ソフトウェア・デファインド・ネットワーク（ＳＤＮ）コントローラと通信接続され、
前記方法は、
前記ＯｐｅｎＳｔａｃｋコントローラノードは、ＶＭのポートを作成し、前記ＶＭのために生成したポート汎用一意識別子（ＵＵＩＤ）及び前記ポートに適用される転送ルールを前記ＳＤＮコントローラに通知し、
前記仮想ネットワークシステムにおいて前記ＶＭが作成された後、前記ＯｐｅｎＳｔａｃｋコントローラノードは、前記ＯｐｅｎＳｔａｃｋコンピュートノードが問い合わせて得られた前記ＶＭのポート識別子（ＩＤ）を受信し、前記ＶＭのポートＩＤは、前記仮想ネットワークシステムが、設定されたポートグループに応じて割り当てたものであり、
前記ＯｐｅｎＳｔａｃｋコントローラノードは、前記ＶＭのポートＩＤと前記ＶＭのポートＵＵＩＤとの対応関係を前記ＳＤＮコントローラに送信することにより、前記ＳＤＮコントローラが当該ポートに適用される転送ルールに従ってフローテーブルを生成し、前記対応関係に基づいて前記フローテーブルを前記仮想ネットワーク装置に配信するようにすることを含むことを特徴とする方法。
【請求項２】
前記ＯｐｅｎＳｔａｃｋコントローラノードは、前記ＶＭのポートＩＤと前記ＶＭのポートＵＵＩＤとの対応関係を前記ＳＤＮコントローラに送信することは、
前記ＯｐｅｎＳｔａｃｋコントローラノードは、前記ＶＭのポート名であるポートＩＤ及び前記ポートＩＤに対応するポートＵＵＩＤを含むポート更新メッセージを生成し、
前記ＯｐｅｎＳｔａｃｋコントローラノードは、前記ポート更新メッセージを前記ＳＤＮコントローラに送信することを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記ＯｐｅｎＳｔａｃｋコントローラノードがＶＭのポートを作成する前に、
前記ＯｐｅｎＳｔａｃｋコントローラノードは、設定されたそれぞれユニークな識別子を有する転送グループ、及び転送ルールを前記ＳＤＮコントローラに送信することをさらに含み、
前記ＶＭのために生成したポートＵＵＩＤ及び前記ＶＭのポートに適用される転送ルールを前記ＳＤＮコントローラに通知することは、
前記ＶＭのために生成したポートＵＵＩＤ及び前記ＶＭのポートのために設定した転送グループの転送グループ識別子を前記ＳＤＮコントローラに通知することを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記転送グループはセキュリティグループであり、前記転送ルールはセキュリティグループルールであり、前記転送グループ識別子はセキュリティグループ識別子であり、
あるいは、前記転送グループはサービスチェーンであり、前記転送ルールはサービスチェーン情報であり、前記転送グループ識別子はサービスチェーン識別子であることを特徴とする請求項３に記載の方法。
【請求項５】
仮想マシン（ＶＭ）パケット制御方法であって、ＯｐｅｎＳｔａｃｋネットワークと通信接続されるソフトウェア・デファインド・ネットワーク（ＳＤＮ）コントローラに適用され、前記ＯｐｅｎＳｔａｃｋネットワークは、ＯｐｅｎＳｔａｃｋコントローラノードと、ＯｐｅｎＳｔａｃｋコンピュートノードと、ＶＭ及び前記ＶＭのパケットを転送する仮想ネットワーク装置を含む仮想ネットワークシステムとを含み、
前記方法は、
前記ＯｐｅｎＳｔａｃｋコントローラノードがＶＭのポートを作成した後、前記ＳＤＮコントローラは、前記ＯｐｅｎＳｔａｃｋコントローラノードが生成したＶＭのポート汎用一意識別子（ＵＵＩＤ）及び前記ポートに適用される転送ルールを取得し、
前記ＳＤＮコントローラは、前記ＯｐｅｎＳｔａｃｋコントローラノードからＶＭのポート識別子（ＩＤ）とＶＭのポートＵＵＩＤとの対応関係を受信して格納し、設定されたポートグループに応じて前記仮想ネットワークシステムが割り当てた前記ＶＭのポートＩＤは、前記ＯｐｅｎＳｔａｃｋコントローラノードが前記ＯｐｅｎＳｔａｃｋコンピュートノードから受信した、当該ＯｐｅｎＳｔａｃｋコンピュートノードが問い合わせて得られたものであり、
前記ＳＤＮコントローラは、前記ポートに適用される転送ルールに従ってフローテーブルを生成し、前記対応関係に基づいて前記フローテーブルを前記仮想ネットワーク装置に配信することを含むことを特徴とする方法。
【請求項６】
前記ＳＤＮコントローラは、ＶＭのポートＩＤとＶＭのポートＵＵＩＤとの対応関係を受信して格納することは、
前記ＳＤＮコントローラは、ＯｐｅｎＳｔａｃｋコントローラノードからのポート更新メッセージを受信し、
前記ＳＤＮコントローラは、前記ポート更新メッセージを解析してＶＭのポートＵＵＩＤ及びポート名に含まれるＶＭのポートＩＤを取得し、
前記ＳＤＮコントローラは、ＶＭのポートＵＵＩＤとＶＭのポートＩＤとの対応関係を格納することを含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記ＳＤＮコントローラは、ＯｐｅｎＳｔａｃｋコントローラノードが生成したＶＭのポートＵＵＩＤ及び前記ポートに適用される転送ルールを取得する前に、
前記ＳＤＮコントローラは、前記ＯｐｅｎＳｔａｃｋコントローラノードから送信されたそれぞれユニークな識別子を有する転送グループ、及び転送ルールを受信することをさらに含み、
前記ＳＤＮコントローラは、前記ＯｐｅｎＳｔａｃｋコントローラノードが生成したＶＭのポートＵＵＩＤ及び前記ポートに適用される転送ルールを取得することは、
前記ＳＤＮコントローラは、前記ＯｐｅｎＳｔａｃｋコントローラノードから送信されたＶＭのポートＵＵＩＤ及び前記ＶＭのポートに使用される転送グループの転送グループ識別子を受信し、前記ＶＭのポートＵＵＩＤと前記ＶＭのポートに使用される転送グループの転送グループ識別子との対応関係を確立することを含み、
前記ＳＤＮコントローラは、前記ポートに適用される転送ルールに従ってフローテーブルを生成し、前記対応関係に基づいて前記フローテーブルを前記仮想ネットワーク装置に配信することは、
前記ＳＤＮコントローラは、前記転送グループ識別子に基づいて前記ＶＭのポートに適用される転送グループに含まれる転送ルールを特定し、
前記ＳＤＮコントローラは、特定した転送ルールに従ってフローテーブルを生成し、
前記ＳＤＮコントローラは、前記ＶＭのポートＵＵＩＤとＶＭのポートＩＤとの対応関係に基づいて前記フローテーブルを対応する仮想ネットワーク装置に配信することを含むことを特徴とする請求項５に記載の方法。
【請求項８】
ＯｐｅｎＳｔａｃｋネットワークにおけるＯｐｅｎＳｔａｃｋコントローラノードに適用される仮想マシン（ＶＭ）パケット制御装置であって、前記ＯｐｅｎＳｔａｃｋネットワークは、ソフトウェア・デファインド・ネットワーク（ＳＤＮ）コントローラと通信接続される前記ＯｐｅｎＳｔａｃｋコントローラノードと、ＯｐｅｎＳｔａｃｋコンピュートノードと、ＶＭ及び前記ＶＭのパケットを転送する仮想ネットワーク装置を含む仮想ネットワークシステムとを含み、
前記ＶＭパケット制御装置は、
ＶＭのポートを作成し、前記ＶＭのために生成したポート汎用一意識別子（ＵＵＩＤ）及び前記ポートに適用される転送ルールを前記ＳＤＮコントローラに通知するポート作成通知モジュールと、
前記ＯｐｅｎＳｔａｃｋコントローラノードが前記仮想ネットワークシステムにおいて前記ＶＭを作成した後、前記ＯｐｅｎＳｔａｃｋコンピュートノードが問い合わせて得られた前記ＶＭのポート識別子（ＩＤ）を受信するポート更新通知モジュールと、を備え、
前記ＶＭのポートＩＤは、前記仮想ネットワークシステムが、設定されたポートグループに応じて割り当てたものであり、
前記ポート更新通知モジュールは、ＶＭのポートＩＤとＶＭのポートＵＵＩＤとの対応関係を前記ＳＤＮコントローラに送信することにより、前記ＳＤＮコントローラが当該ポートに適用される転送ルールに従ってフローテーブルを生成し、前記対応関係に基づいて前記フローテーブルを前記仮想ネットワーク装置に配信するようにすることを特徴とする装置。
【請求項９】
前記ポート更新通知モジュールは、ＶＭのポートＩＤとＶＭのポートＵＵＩＤとの対応関係をＳＤＮコントローラに送信することは、
ＶＭのポート名であるポートＩＤ及び前記ポートＩＤに対応するポートＵＵＩＤを含むポート更新メッセージを生成し、
前記ポート更新メッセージを前記ＳＤＮコントローラに送信することを含むことを特徴とする請求項８に記載の装置。
【請求項１０】
前記ポート作成通知モジュールはさらに、ＶＭのポートを作成する前に、設定されたそれぞれユニークな識別子を有する転送グループ、及び転送ルールをＳＤＮコントローラに送信し、
前記ポート作成通知モジュールは、前記ＶＭのために生成したポートＵＵＩＤ及び前記ＶＭのポートに適用される転送ルールを前記ＳＤＮコントローラに通知することは、
前記ＶＭのために生成したポートＵＵＩＤ及び前記ＶＭのポートのために設定した転送グループの転送グループ識別子を前記ＳＤＮコントローラに通知することを含むことを特徴とする請求項８に記載の装置。
【請求項１１】
仮想マシン（ＶＭ）パケット制御装置であって、ＯｐｅｎＳｔａｃｋネットワークと通信接続されるソフトウェア・デファインド・ネットワーク（ＳＤＮ）コントローラに位置し、前記ＯｐｅｎＳｔａｃｋネットワークは、ＯｐｅｎＳｔａｃｋコントローラノードと、ＯｐｅｎＳｔａｃｋコンピュートノードと、ＶＭ及び前記ＶＭのパケットを転送するＳＤＮ仮想ネットワーク装置を含み、
前記ＶＭパケット制御装置は、
前記ＯｐｅｎＳｔａｃｋコントローラノードがＶＭのポートを作成した後、前記ＯｐｅｎＳｔａｃｋコントローラノードが生成したＶＭのポート汎用一意識別子（ＵＵＩＤ）及び前記ポートに適用される転送ルールを取得するポート作成通知受信モジュールと、
前記ＯｐｅｎＳｔａｃｋコントローラノードからＶＭのポート識別子（ＩＤ）とＶＭのポートＵＵＩＤとの対応関係を受信して格納するフローテーブル生成モジュールとを備え、
設定されたポートグループに応じて前記仮想ネットワークシステムが割り当てた前記ＶＭのポートＩＤは、前記ＯｐｅｎＳｔａｃｋコントローラノードが前記ＯｐｅｎＳｔａｃｋコンピュートノードから受信した、当該ＯｐｅｎＳｔａｃｋコンピュートノードが問い合わせて得られたものであり、
前記フローテーブル生成モジュールは、前記ポートに適用される転送ルールに従ってフローテーブルを生成し、前記対応関係に基づいて前記フローテーブルを前記仮想ネットワーク装置に配信することを特徴とする装置。
【請求項１２】
前記フローテーブル生成モジュールは、ＶＭのポートＩＤとＶＭのポートＵＵＩＤとの対応関係を受信して格納することは、
前記ＯｐｅｎＳｔａｃｋコントローラノードからのポート更新メッセージを受信し、
前記ポート更新メッセージを解析してＶＭのポートＵＵＩＤ及びポート名に含まれるＶＭのポートＩＤを取得し、
前記ＶＭのポートＵＵＩＤとＶＭのポートＩＤとの対応関係を格納することを含むことを特徴とする請求項１１に記載の装置。
【請求項１３】
前記ポート作成通知受信モジュールはさらに、前記ＯｐｅｎＳｔａｃｋコントローラノードが生成したＶＭのポートＵＵＩＤ及び前記ポートに適用される転送ルールを取得する前に、前記ＯｐｅｎＳｔａｃｋコントローラノードから送信されたそれぞれユニークな識別子を有する転送グループ、及び転送ルールを受信し、
前記ポート作成通知受信モジュールは、前記ＯｐｅｎＳｔａｃｋコントローラノードが生成したＶＭのポートＵＵＩＤ及び前記ポートに適用される転送ルールを取得することは、
前記ＯｐｅｎＳｔａｃｋコントローラノードから送信されたＶＭのポートＵＵＩＤ及び前記ＶＭのポートに使用される転送グループの転送グループ識別子を受信し、前記ＶＭのポートＵＵＩＤと前記ＶＭのポートに使用される転送グループの転送グループ識別子との対応関係を確立することを含み、
前記フローテーブル生成モジュールは、前記ポートに適用される転送ルールに従ってフローテーブルを生成し、前記対応関係に基づいて前記フローテーブルを前記仮想ネットワーク装置に配信することは、
前記転送グループ識別子に基づいてＶＭのポートに適用される転送グループに含まれる転送ルールを特定し、
特定した転送ルールに従ってフローテーブルを生成し、
前記ＶＭのポートＵＵＩＤとＶＭのポートＩＤとの対応関係に基づいて前記フローテーブルを対応する仮想ネットワーク装置に配信することを含むことを特徴とする請求項１１に記載の装置。
【発明の詳細な説明】
【背景技術】
【０００１】
オープンスタック（ＯｐｅｎＳｔａｃｋ）は、ほとんどのタイプのクラウド環境をサポートするオープンソースのクラウドコンピューティング管理プラットフォームプロジェクトである。ＯｐｅｎＳｔａｃｋは、さまざまな相補的なサービスによって、インフラストラクチャ・アズ・ア・サービス（ＩａａＳ、Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）のソリューションを提供しており、各サービスは、統合のためにＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ、アプリケーション・プログラミング・インターフェース）を提供する。
【０００２】
標準的なＯｐｅｎＳｔａｃｋネットワークは、一般に、コントローラノード、ネットワークノード及びコンピュートノードから構成される。コントローラノードは、ＯｐｅｎＳｔａｃｋネットワークの中核であって、ネットワークノード及びコンピュートノードを管理するものである。コントローラノードは、仮想マシンの作成、起動及び停止などの機能を達成するようにコンピュートノードを制御する。コンピュートノードにより作成された仮想マシンは、ネットワークノードを介して外部ネットワークにアクセスする。異なるコンピュートノードに位置する仮想マシンもネットワークノードを介して互いに通信する。
【図面の簡単な説明】
【０００３】
【図１】図１は、本願のいくつかの実施例におけるネットワークトポロジの模式図である。
【図２】図２は、本願の１つの実施例による、ＯｐｅｎＳｔａｃｋネットワークに適用されるＶＭパケット制御方法のフローチャートである。
【図３】図３は、本願の１つの実施例による、ＳＤＮコントローラに適用されるＶＭパケット制御方法のフローチャートである。
【図４】図４は、本願の１つの実施例による、コンピュートノードがＶＭｗａｒｅ  ｖＳｐｈｅｒｅタイプのハイパーバイザー（Ｈｙｐｅｒｖｉｓｏｒ）をサポートする場合にＶＭパケット制御を行う際のメッセージのフローチャートである。
【図５】図５は、本願の１つの実施例による、コンピュートノードがＶＭｗａｒｅ  ｖＳｐｈｅｒｅタイプのハイパーバイザーをサポートする場合にＶＭパケット制御を行う際のメッセージのフローチャートである。
【図６】図６は、本願の実施例による、ＯｐｅｎＳｔａｃｋネットワークに位置するＶＭパケット制御装置の構成模式図である。
【図７】図７は、本願の実施例による、ＯｐｅｎＳｔａｃｋネットワークに位置するＶＭパケット制御装置のもう１つの構成模式図である。
【図８】図８は、本願の実施例による、ＳＤＮコントローラに位置するＶＭパケット制御装置の構成模式図である。
【図９】図９は、本願の実施例による、ＳＤＮコントローラに位置するＶＭパケット制御装置のもう１つの構成模式図である。
【発明を実施するための形態】
【０００４】
以下、図面及び具体的な実施例を参照しながら、本願をさらに詳しく説明する。
【０００５】
ＯｐｅｎＳｔａｃｋネットワークにおいて、ＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ、仮想マシン）のパケットがコンピュートノードを経由せずに転送されるので、コンピュートノードは、仮想マシンのパケットをフィルタリングすることができず、仮想マシンのパケットに対して転送制御を行うこともできない。
【０００６】
本願のいくつかの実施例において、上記したＯｐｅｎＳｔａｃｋネットワークにＳＤＮ（Ｓｏｆｔｗａｒｅ  Ｄｅｆｉｎｅｄ  Ｎｅｔｗｏｒｋ、ソフトウェア・デファインド・ネットワーク）コントローラを導入する。ＯｐｅｎＳｔａｃｋコントローラノードは、ＶＭのポートを作成し、ＶＭのために生成したポートＵＵＩＤ（Ｕｎｉｖｅｒｓａｌｌｙ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒ、汎用一意識別子）及びポートに適用される転送ルールをＳＤＮコントローラに通知する。仮想ネットワークシステムにおいてＶＭが作成された後、ＯｐｅｎＳｔａｃｋコントローラノードは、ＯｐｅｎＳｔａｃｋコンピュートノードが問い合わせて得られたＶＭのポートＩＤを受信する。ＯｐｅｎＳｔａｃｋコントローラノードは、ＶＭのポートＩＤとＶＭのポートＵＵＩＤとの対応関係をＳＤＮコントローラに送信する。ＳＤＮコントローラは、当該ポートに適用される転送ルールに従ってフローテーブルを生成し、対応関係に基づいてフローテーブルを仮想ネットワーク装置に配信する。前記仮想ネットワーク装置は、前記フローテーブルに基づいてＶＭのパケットを転送し、これによりＶＭのパケットに対する転送制御を実現する。
【０００７】
ＳＤＮは新しいネットワーク通信アーキテクチャである。ＳＤＮ技術によって、ネットワーク装置に対する集中制御、分散転送が実現される。ＳＤＮ技術では、ネットワーク機能を、ＳＤＮコントローラと転送装置との２つの部分に分け、この２つの部分の間は、１つのセキュアチャンネルを介して互いに通信する。ＳＤＮコントローラは、制御対象となるネットワーク装置を集中的に管理し、ネットワーク挙動に対して統括的に計画管理し、転送装置の転送挙動を規定することができる。ＳＤＮ技術は、ネットワーク管理の制御性及び柔軟性を大幅に向上させた。
【０００８】
図１は、本願のいくつかの実施例におけるネットワークトポロジの模式図である。図１に示すように、ＯｐｅｎＳｔａｃｋコントローラノード１０１、ＯｐｅｎＳｔａｃｋコンピュートノード１０２、ＯｐｅｎＳｔａｃｋネットワークノード１０３、仮想ネットワークシステム１０４、及びＳＤＮコントローラ１０５を含む。
【０００９】
仮想ネットワークシステム１０４は、仮想ネットワークセンター（ｖＣｅｎｔｅｒ）１０６と、当該仮想ネットワークシステムにおいて仮想化したホスト１０７、仮想ネットワーク装置１０８、ＶＭ１０９とを含む。この仮想ネットワーク装置１０８は、前記ＶＭ１０９のパケットを転送するための仮想スイッチ（ｖＳｗｉｔｃｈ）または仮想ルータであってもよい。
【００１０】
Ｏｐｅｎｓｔａｃｋコントローラノード１０１、ＯｐｅｎＳｔａｃｋコンピュートノード１０２及びＯｐｅｎＳｔａｃｋネットワークノード１０３の間は、管理ネットワークを介して繋がる。ＳＤＮコントローラ１０５は仮想ネットワーク装置１０８と繋がる。仮想ネットワーク装置１０８とＯｐｅｎＳｔａｃｋネットワークノード１０３との間は、データネットワークを介して繋がる。ＯｐｅｎＳｔａｃｋネットワークノード１０３は、外部ネットワーク接続によってインターネットと通信する。
【００１１】
図１を参照すると、ＯｐｅｎＳｔａｃｋコントローラノード１０１は、ＶＭのポートを作成し、ＶＭのために生成したポートＵＵＩＤ及びポートに適用される転送ルールをＳＤＮコントローラ１０５に通知する。仮想ネットワークシステム１０４においてＶＭが作成された後、ＯｐｅｎＳｔａｃｋコントローラノード１０１は、ＯｐｅｎＳｔａｃｋコンピュートノード１０２が問い合わせて得られたＶＭのポートＩＤを受信する。ＯｐｅｎＳｔａｃｋコントローラノード１０１は、ＶＭのポートＩＤとＶＭのポートＵＵＩＤとの対応関係をＳＤＮコントローラ１０５に送信する。ＳＤＮコントローラ１０５は、当該ポートに適用される転送ルールに従ってフローテーブルを生成し、対応関係に基づいてフローテーブルを仮想ネットワーク装置１０４に配信する。前記仮想ネットワーク装置１０４は、前記フローテーブルに基づいてＶＭのパケットを転送し、これによりＶＭのパケットに対する転送制御を実現する。
【００１２】
いくつかの実施例において、前記仮想ネットワーク装置と前記ＳＤＮコントローラとの間は、ＯｐｅｎＦｌｏｗプロトコルに準拠して通信を行うことができる。この場合、前記仮想ネットワーク装置は、ＯｐｅｎＦｌｏｗプロトコルをサポートする仮想スイッチまたはＯｐｅｎＦｌｏｗプロトコルをサポートする仮想ルータであってもよい。
【００１３】
ＯｐｅｎＦｌｏｗプロトコルをサポートするスイッチは、ＯｐｅｎＦｌｏｗスイッチと称してもよい。各ＯｐｅｎＦｌｏｗスイッチはいずれもパケットの検索及び転送を行うためのフローテーブルを有する。ＯｐｅｎＦｌｏｗスイッチは、ＯｐｅｎＦｌｏｗプロトコルに準拠してセキュアチャンネルを介して外部ＳＤＮコントローラ（ｃｏｎｔｒｏｌｌｅｒ）に接続してフローテーブルの検索及び管理を行うことができる。
【００１４】
フローテーブルは、ヘッダフィールド（ｈｅａｄｅｒ  ｆｉｅｌｄｓ）と、アクティビティカウンタ（ｃｏｕｎｔｅｒｓ）と、０個または複数個のアクション（ａｃｔｉｏｎｓ）とを含む。パケット毎に検索し、マッチングするものであれば関連ポリシを実行し、さもなければ、パケットはセキュアチャネルを介してＳＤＮコントローラ（ｃｏｎｔｒｏｌｌｅｒ）に送信され、ＳＤＮコントローラにより関連アクションを決定する。
【００１５】
ヘッダフィールドは、表１に示すように、入力ポート（Ｉｎｇｒｅｓｓ  Ｐｏｒｔ）、イーサネットソースアドレス（Ｅｔｈｅｒ  Ｓｒｃ）、イーサネット宛先アドレス（Ｅｔｈｅｒ  Ｄｓｔ）、イーサネットタイプ（Ｅｔｈｅｒ  Ｔｙｐｅ）、仮想ローカルエリアネットワーク識別子（Ｖｌａｎ  ｉｄ）、仮想ローカルエリアネットワーク優先度（Ｖｌａｎ  Ｐｒｉｏｒｉｔｙ）、ＩＰソースアドレス（ＩＰ  ｓｒｃ）、ＩＰ宛先アドレス（ＩＰ  ｄｓｔ）、プロトコル（Ｐｒｏｔｏｃｏｌ）、ＩＰサービスタイプ（ＩＰ  ＴｏＳ）ビット、トランスミッションコントロールプロトコル／ユーザデータグラムプロトコルソースポート（ＴＣＰ／ＵＤＰ  Ｓｒｃ  Ｐｏｒｔ）、ＴＣＰ／ＵＤＰ宛先ポート（ＴＣＰ／ＵＤＰ  ｄｓｔ  Ｐｏｒｔ）との１２個のフィールドを含む。各フィールドは１つの特定値または任意値（ａｎｙ）を含み、より正確なマッチングはマスクによって実現することができる。
【表１】
2019500822.tif 000003
【００１６】
アクティビティカウンタは、テーブル、フロー、ポート、キュー毎にメンテナンスすることができ、トラフィックに関する情報、例えばアクティブテーブル、検索回数、送信パケット数等を統計するためのものである。
【００１７】
各エントリは０個または複数個のアクションに対応し、転送アクションがない場合、デフォルトで破棄される。複数のアクションは、優先度に従って順次実行される必要がある。ただし、パケットの送信順番は保証されない。また、スイッチは、サポートされていないアクションに対してエラー（ｕｎｓｕｐｐｏｒｔｅｄ  ｆｌｏｗ  ｅｒｒｏｒ）を返すことができる。
【００１８】
いくつかの実施例では、仮想ネットワークシステムにおいて、仮想ネットワークシステムにおけるリソースを監視するためのハイパーバイザーが実行されている。ＯｐｅｎＳｔａｃｋコンピュートノードは、このようなタイプのハイパーバイザーをサポートする必要がある。
【００１９】
本願のいくつかの実施例は、ＯｐｅｎＳｔａｃｋネットワークに適用されるＶＭパケット制御方法を提供する。前記ＯｐｅｎＳｔａｃｋネットワークは、ＯｐｅｎＳｔａｃｋコントローラノードと、ＯｐｅｎＳｔａｃｋコンピュートノードと、仮想ネットワークシステムとを含む。前記ＯｐｅｎＳｔａｃｋネットワークは、ソフトウェア・デファインド・ネットワーク（ＳＤＮ）コントローラと通信接続される。前記仮想ネットワークシステムは、仮想マシン及び前記仮想マシンのパケットを転送する仮想ネットワーク装置を含む。図２に示すように、前記方法は以下のステップを含む。
【００２０】
ステップ２０１において、ＯｐｅｎＳｔａｃｋコントローラノードは、仮想マシン（ＶＭ）のポートを作成し、前記ＶＭのために生成したポートＵＵＩＤ及び前記ポートに適用される転送ルールをＳＤＮコントローラに通知する。
【００２１】
ここで、転送ルールは、ＯｐｅｎＳｔａｃｋ技術におけるセキュリティグループルールであってもよい。ＯｐｅｎＳｔａｃｋ技術には、ＶＭのポートに適用されるセキュリティグループ及びセキュリティグループルールが設定されている。セキュリティグループ毎に複数のセキュリティグループルールが設定され、各セキュリティグループにはセキュリティグループ識別子と呼ばれる１つのユニークな識別子が設定されていてもよい。
【００２２】
あるいは、この転送ルールはサービスチェーン情報であってもよい。ＯｐｅｎＳｔａｃｋ技術において、パケットの転送時に経由すべき複数のサービスノードからなるサービスチェーン、及び各サービスノードの関連情報（例えば、５タプル情報）であるサービスチェーン情報を設定することができる。各サービスチェーンは、それ自身のサービスチェーン識別子によって識別される。
【００２３】
ステップ２０２において、前記仮想ネットワークシステムにおいて前記ＶＭが作成された後、ＯｐｅｎＳｔａｃｋコントローラノードは、ＯｐｅｎＳｔａｃｋコンピュートノードが問い合わせて得られた前記ＶＭのポート識別子（ＩＤ）を受信する。
【００２４】
ここで、前記ＶＭのポートＩＤは、前記仮想ネットワークシステムが、設定されたポートグループに応じて割り当てたものである。仮想ネットワークシステムには、複数のポートグループが設定されている。ＶＭが作成された後、ｖＣｅｎｔｅｒは、設定されたポートグループの中から１つのポートＩＤを選択してＶＭに割り当てる。ＯｐｅｎＳｔａｃｋコンピュートノードは、前記仮想ネットワークシステムへ前記ＶＭのポートＩＤを問い合わせ、取得した前記ＶＭのポートＩＤを前記ＯｐｅｎＳｔａｃｋコントローラノードに提供する。
【００２５】
ステップ２０３において、ＯｐｅｎＳｔａｃｋコントローラノードは、ＶＭのポートＩＤとＶＭのポートＵＵＩＤとの対応関係をＳＤＮコントローラに送信する。これにより、ＳＤＮコントローラが当該ポートに適用される転送ルールに従ってフローテーブルを生成し、前記対応関係に基づいて前記フローテーブルを前記仮想ネットワーク装置に配信するようにする。
【００２６】
ＯｐｅｎＳｔａｃｋコンピュートノードが問い合わせてポートＩＤを取得した後、ＯｐｅｎＳｔａｃｋコントローラノードは、当該ポートＩＤを取得し、ＳＤＮコントローラに通知する。この場合、ＯｐｅｎＳｔａｃｋコントローラノードは、ＳＤＮコントローラにＶＭのポートＩＤとＶＭのＵＵＩＤとの対応関係を配信する際に、ＯｐｅｎＳｔａｃｋプロトコルにおけるポート更新メッセージによって通知することができる。これにより、既存のＯｐｅｎＳｔａｃｋプロトコルを変更することなく、かつＯｐｅｎＳｔａｃｋプロトコルに新たなメッセージタイプを追加しなくて済む。具体的には、ポート更新メッセージはポート名フィールドを含み、ポートＩＤはポート更新メッセージのポート名フィールドに書き込まれる。また、このポート更新メッセージはさらにポートＵＵＩＤを含む。これにより、ＳＤＮコントローラは、ポート更新メッセージからＶＭのポートＩＤとポートＵＵＩＤを同時に取得し、両者の対応関係を記録することができる。
【００２７】
これに対応して、本願のいくつかの実施例はさらに、ＳＤＮコントローラに適用されるＶＭパケット制御方法を提供する。前記ＳＤＮコントローラは、ＯｐｅｎＳｔａｃｋネットワークと通信接続され、前記ＯｐｅｎＳｔａｃｋネットワークは、ＯｐｅｎＳｔａｃｋコントローラノードと、ＯｐｅｎＳｔａｃｋコンピュートノードと、仮想ネットワークシステムとを含む。前記仮想ネットワークシステムは、仮想マシン及び前記仮想マシンのパケットを転送する仮想ネットワーク装置を含む。図３に示すように、前記方法は以下のステップを含む。
【００２８】
ステップ３０１において、ＯｐｅｎＳｔａｃｋコントローラノードがＶＭのポートを作成した後、ＳＤＮコントローラは、ＯｐｅｎＳｔａｃｋコントローラノードが生成したＶＭのポートＵＵＩＤ及び前記ポートに適用される転送ルールを取得する。
【００２９】
いくつかの実施例において、ステップ３０１の前にさらに、ＳＤＮコントローラは、ＯｐｅｎＳｔａｃｋコントローラノードから送信されたそれぞれユニークな識別子を有する転送グループ、及び転送ルールを受信することを含んでもよい。
【００３０】
この場合、ステップ３０１において前記ＳＤＮコントローラは、ＯｐｅｎＳｔａｃｋコントローラノードが生成したＶＭのポートＵＵＩＤ及び前記ポートに適用される転送ルールを取得することは、具体的に以下のことを含む。
【００３１】
ＳＤＮコントローラは、ＯｐｅｎＳｔａｃｋコントローラノードから送信されたＶＭのポートＵＵＩＤ及び前記ＶＭのポートに使用される転送グループの転送グループ識別子を受信し、前記ＶＭのポートＵＵＩＤと前記転送グループ識別子との対応関係を確立する。
【００３２】
ステップ３０２において、ＳＤＮコントローラは、ＶＭのポートＩＤとＶＭのポートＵＵＩＤとの対応関係を受信して格納する。
【００３３】
いくつかの実施例において、ステップ３０２には、ＳＤＮコントローラは、ＯｐｅｎＳｔａｃｋコントローラノードからのポート更新メッセージを受信し、前記ポート更新メッセージを解析してＶＭのポートＵＵＩＤ及びポート名に含まれるＶＭのポートＩＤを取得し、ＶＭのポートＵＵＩＤとＶＭのポートＩＤとの対応関係を格納することが含まれる。
【００３４】
ステップ３０３において、ＳＤＮコントローラは、前記ポートに適用される転送ルールに従ってフローテーブルを生成し、前記ＶＭのポートＵＵＩＤとＶＭのポートＩＤとの対応関係に基づいて前記フローテーブルを仮想ネットワーク装置に配信する。
【００３５】
いくつかの実施例において、ステップ３０３には、ＳＤＮコントローラは、前記転送グループ識別子に基づいてＶＭのポートに適用される転送グループに含まれる転送ルールを特定し、特定した転送ルールに従ってフローテーブルを生成し、ステップ３０２における対応関係に基づいて前記フローテーブルを対応する仮想ネットワーク装置に配信することが含まれる。
【００３６】
本願によるＶＭパケット制御方法では、ＯｐｅｎＳｔａｃｋネットワークと仮想ネットワークシステムによるネットワーキングにおいて、ＳＤＮコントローラによって、設定された転送ルールに従ってフローテーブルを生成し、ＶＭのポートＩＤとポートＵＵＩＤとの対応関係に基づいて、生成されたフローテーブルを対応する仮想ネットワーク装置に配信する。これにより、仮想ネットワークシステムにおいてＯｐｅｎＳｔａｃｋコンピュートノードを経由しないパケットに対する転送制御を実現する。
【００３７】
図４は、本願の１つの実施例による、コンピュートノードがＶＭｗａｒｅ  ｖＳｐｈｅｒｅタイプのハイパーバイザーをサポートする場合にＶＭパケット制御を行う際のメッセージのフローチャートである。いくつかの実施例において、ＯｐｅｎＳｔａｃｋコンピュートノードがＶＭｗａｒｅ  ｖＳｐｈｅｒｅタイプのハイパーバイザーをサポートし、ホストがＥＳＸｉホストであると仮定する。図４に示すように、フローは以下のステップを含む。
【００３８】
ステップ４００において、ＳＤＮコントローラを設け、ＶＭｗａｒｅ  ｖＳｐｈｅｒｅ自身の有する仮想スイッチの代わりに、ＯｐｅｎＦｌｏｗ仮想スイッチ（ｖＳｗｉｔｃｈ）をＶＭｗａｒｅ  ｖＳｐｈｅｒｅのＥＳＸｉホストに設ける。
【００３９】
ＳＤＮコントローラは、ＯｐｅｎＳｔａｃｋネットワーク及びＶｍｗａｒｅ  Ｖｓｐｈｅｒｅとは独立したノードである。
【００４０】
ステップ４０１において、ＯｐｅｎＳｔａｃｋコントローラノードは、それ自身に設定された各セキュリティグループ識別子（ＩＤ）及び各セキュリティグループのルールをＳＤＮコントローラに送信する。
【００４１】
ブロック４０２において、ＯｐｅｎＳｔａｃｋコントローラノードは、作成すべきＶＭの仕様等の情報、例えばＶＭのＣＰＵ、メモリ等を含むＶＭ作成メッセージをＯｐｅｎＳｔａｃｋコンピュートノードに送信する。
【００４２】
ステップ４０３において、ＯｐｅｎＳｔａｃｋコンピュートノードは、ＯｐｅｎＳｔａｃｋコントローラノードから送信されたＶＭ作成メッセージを受信し、ＯｐｅｎＳｔａｃｋコントローラノードと対話して、作成すべきＶＭのポートＵＵＩＤ、ポートＩＰアドレス、ポートＭＡＣアドレス、及びポートに使用されるセキュリティグループＩＤ等の情報を特定する。
【００４３】
ステップ４０４において、ＯｐｅｎＳｔａｃｋコントローラノードは、作成すべきＶＭのポートＵＵＩＤ、ポートＩＰアドレス、ポートＭＡＣアドレス、ポートに使用されるセキュリティグループＩＤ等の情報を含むＶＭポート作成メッセージをＳＤＮコントローラに送信する。そして、ＳＤＮコントローラは、ＶＭポート作成メッセージに含まれるＶＭのポートＵＵＩＤ、ポートＩＰアドレス、ポートＭＡＣアドレス、ポートに使用されるセキュリティグループＩＤ等の情報を格納する。
【００４４】
ステップ４０５において、ＯｐｅｎＳｔａｃｋコンピュートノードは、作成すべきＶＭの仕様及びポートＭＡＣアドレス等の情報を含むＶＭ作成メッセージをＶＭｗａｒｅ  ｖＳｐｈｅｒｅのｖＣｅｎｔｅｒ（仮想センタノード）に送信する。
【００４５】
ステップ４０６において、ｖＣｅｎｔｅｒは、当該ＶＭ作成メッセージを受信してＥＳＸｉホストに転送する。そして、ＥＳＸｉホストは、作成すべきＶＭの仕様に応じてＶＭのために対応するリソースを割り当て、ｖＣｅｎｔｅｒは、当該ＶＭのポートをポートグループに加入し、当該ＶＭのポートにポートＩＤを割り当てる。
【００４６】
ステップ４０７において、ｖＣｅｎｔｅｒは、ＥＳＸｉホストから送信されたＶＭ作成完了メッセージを受信してＯｐｅｎＳｔａｃｋコンピュートノードに転送する。
【００４７】
ステップ４０８において、ＯｐｅｎＳｔａｃｋコンピュートノードは、ｖＣｅｎｔｅｒから送信されたＶＭ作成完了メッセージを送信し、ｖＣｅｎｔｅｒにＶＭポートＩＤ問い合わせメッセージを送信する。
【００４８】
ステップ４０９において、ｖＣｅｎｔｅｒは、当該ＶＭポートＩＤ問い合わせメッセージを受信し、ＶＭのポートＩＤをＶＭポートＩＤ問い合わせ応答メッセージに含ませてＯｐｅｎＳｔａｃｋコンピュートノードに返す。
【００４９】
ステップ４１０において、ＯｐｅｎＳｔａｃｋコンピュートノードは、当該ＶＭポートＩＤ問い合わせ応答メッセージを受信し、ポートＩＤをＶＭポート更新メッセージに含ませてＯｐｅｎＳｔａｃｋコントローラノードに送信する。
【００５０】
ステップ４１１において、ＯｐｅｎＳｔａｃｋコントローラノードは、当該ＶＭポート更新メッセージを受信し、ＶＭのポートＵＵＩＤ及びポートＩＤを含むＶＭポート更新メッセージをＳＤＮコントローラに送信する。ＳＤＮコントローラは、当該ＶＭポート更新メッセージを受信して、当該メッセージに含まれるＶＭのポートＵＵＩＤとポートＩＤとの対応関係を格納する。
【００５１】
ステップ４１２において、ＯｐｅｎＳｔａｃｋコンピュートノードは、ＶＭを起動するようにｖＣｅｎｔｅｒに通知する。
【００５２】
ステップ４１３において、ｖＳｗｉｔｃｈは、ＶＭ起動後、ＳＤＮコントローラにポートＩＤ及びポート状態「ｕｐ」を含むポート状態メッセージを送信する。
【００５３】
ステップ４１４において、ＳＤＮコントローラは、当該ポート状態メッセージを受信し、当該メッセージにおけるポートＩＤに基づいて対応するポートＵＵＩＤを検索し、当該ポートＵＵＩＤに基づいてポートのセキュリティグループＩＤを検索し、当該セキュリティグループＩＤに基づいて対応するセキュリティグループルールを検索し、当該セキュリティグループルールをＯｐｅｎＦｌｏｗフローテーブルの形式に変換し、変換して得られたＯｐｅｎＦｌｏｗフローテーブルをｖＳｗｉｔｃｈに配信する。
【００５４】
図５は、本願のもう１つの実施例による、コンピュートノードがＶＭｗａｒｅ  ｖＳｐｈｅｒｅタイプのハイパーバイザーをサポートする場合にＶＭパケット制御を行う際のメッセージのフローチャートである。その具体的なステップは以下のとおりである。
【００５５】
ステップ５００において、ＳＤＮコントローラを設け、ＶＭｗａｒｅ  ｖＳｐｈｅｒｅ自身の有する仮想スイッチの代わりに、ＯｐｅｎＦｌｏｗ仮想スイッチ（ｖＳｗｉｔｃｈ）をＶＭｗａｒｅ  ｖＳｐｈｅｒｅのＥＳＸｉホストに設ける。
【００５６】
ＳＤＮコントローラは、ＯｐｅｎＳｔａｃｋネットワーク及びＶＭｗａｒｅ  Ｖｓｐｈｅｒｅとは独立したノードである。
【００５７】
ステップ５０１において、ＯｐｅｎＳｔａｃｋコントローラノードは、それ自身に設定されたサブネット識別子をＳＤＮコントローラに送信し、ＳＤＮコントローラは、マネージャにより設定されたサブネット識別子とリダイレクトされたサービスノード識別子との対応関係を格納する。
【００５８】
ステップ５０２において、ＯｐｅｎＳｔａｃｋコントローラノードは、作成すべきＶＭの仕様等の情報、例えばＶＭのＣＰＵ、メモリ等を含むＶＭ作成メッセージをＯｐｅｎＳｔａｃｋコンピュートノードに送信する。
【００５９】
ステップ５０３において、ＯｐｅｎＳｔａｃｋコンピュートノードは、ＯｐｅｎＳｔａｃｋコントローラノードから送信されたＶＭ作成メッセージを受信し、ＯｐｅｎＳｔａｃｋコントローラノードと対話して、作成すべきＶＭのポートＵＵＩＤ、ポートＩＰアドレス、ポートＭＡＣアドレス等の情報を特定する。
【００６０】
ステップ５０４において、ＯｐｅｎＳｔａｃｋコントローラノードは、作成すべきＶＭのポートＵＵＩＤ、ポートＩＰアドレス、ポートＭＡＣアドレス等の情報を含むＶＭポート作成メッセージをＳＤＮコントローラに送信する。そして、ＳＤＮコントローラは、ＶＭポート作成メッセージに含まれるＶＭのポートＵＵＩＤ、ポートＩＰアドレス、ポートＭＡＣアドレス等の情報を格納する。
【００６１】
ステップ５０５において、ＯｐｅｎＳｔａｃｋコンピュートノードは、作成すべきＶＭの仕様及びポートＭＡＣアドレス等の情報を含むＶＭ作成メッセージをＶＭｗａｒｅ  ｖＳｐｈｅｒｅのｖＣｅｎｔｅｒに送信する。
【００６２】
ステップ５０６において、ｖＣｅｎｔｅｒは、当該ＶＭ作成メッセージを受信してＥＳＸｉホストに転送する。そして、ＥＳＸｉホストは、作成すべきＶＭの仕様に応じてＶＭのために対応するリソースを割り当て、ｖＣｅｎｔｅｒは、当該ＶＭのポートをポートグループに加入し、当該ＶＭのポートにポートＩＤを割り当てる。
【００６３】
ステップ５０７において、ｖＣｅｎｔｅｒは、ＥＳＸｉホストから送信されたＶＭ作成完了メッセージを受信してＯｐｅｎＳｔａｃｋコンピュートノードに転送する。
【００６４】
ステップ５０８において、ＯｐｅｎＳｔａｃｋコンピュートノードは、ｖＣｅｎｔｅｒから送信されたＶＭ作成完了メッセージを送信し、ｖＣｅｎｔｅｒにＶＭポートＩＤ問い合わせメッセージを送信する。
【００６５】
ステップ５０９において、ｖＣｅｎｔｅｒは、当該ＶＭポートＩＤ問い合わせメッセージを受信し、ＶＭのポートＩＤをＶＭポートＩＤ問い合わせ応答メッセージに含ませてＯｐｅｎＳｔａｃｋコンピュートノードに返す。
【００６６】
ステップ５１０において、ＯｐｅｎＳｔａｃｋコンピュートノードは、当該ＶＭポートＩＤ問い合わせ応答メッセージを受信し、ポートＩＤをＶＭポート更新メッセージに含ませてＯｐｅｎＳｔａｃｋコントローラノードに送信する。
【００６７】
ステップ５１１において、ＯｐｅｎＳｔａｃｋコントローラノードは、当該ＶＭポート更新メッセージを受信し、ＶＭのポートＵＵＩＤ及びポートＩＤを含むＶＭポート更新メッセージをＳＤＮコントローラに送信する。ＳＤＮコントローラは、当該ＶＭポート更新メッセージを受信して、当該メッセージに含まれるＶＭのポートＵＵＩＤとポートＩＤとの対応関係を格納する。
【００６８】
ステップ５１２において、ＯｐｅｎＳｔａｃｋコンピュートノードは、ＶＭを起動するようにｖＣｅｎｔｅｒに通知する。
【００６９】
ステップ５１３において、ｖＳｗｉｔｃｈは、ＶＭ起動後、ＳＤＮコントローラにポートＩＤ及びポート状態「ｕｐ」を含むポート状態メッセージを送信する。
【００７０】
ステップ５１４において、ＳＤＮコントローラは、当該ポート状態メッセージを受信し、当該メッセージにおけるポートＩＤに基づいて対応するポートＵＵＩＤを検索し、当該ポートＵＵＩＤに基づいてポートＩＰアドレスを検索し、ポートＩＰアドレスに基づいて当該ＩＰアドレスが位置するサブネットのリダイレクトされたサービスノード識別子を検索する。これにより、ＶＭのＩＰアドレス及びポートＩＤとリダイレクトされたサービスノード識別子との対応関係を取得し、当該対応関係をＯｐｅｎＦｌｏｗフローテーブルに変換し、当該ＯｐｅｎＦｌｏｗフローテーブルをｖＳｗｉｔｃｈに配信する。
【００７１】
本願の実施例による技術案によれば、ＯｐｅｎＳｔａｃｋコントローラノードは、ＶＭのポートを作成した後、ＶＭのポートＵＵＩＤをＳＤＮコントローラに送信する。ＯｐｅｎＳｔａｃｋコンピュートノードは、当該ＶＭが作成された後、仮想センタノードに当該ＶＭのポートＩＤを問い合わせてＯｐｅｎＳｔａｃｋコントローラノードに返す。ＯｐｅｎＳｔａｃｋコントローラノードは、当該ＶＭのポートＩＤとポートＵＵＩＤとの対応関係をＳＤＮコントローラに送信し、ＳＤＮコントローラは、当該ポートに適用される転送ルールに従ってフローテーブルを生成し、当該対応関係に基づいてフローテーブルを仮想ネットワーク装置に配信し、これによりＶＭパケットに対する転送制御を実現する。
【００７２】
図６は、本願の実施例による、ＯｐｅｎＳｔａｃｋネットワークにおけるＯｐｅｎＳｔａｃｋコントローラノードのＶＭパケット制御装置の構成模式図である。前記ＯｐｅｎＳｔａｃｋネットワークは、前記ＯｐｅｎＳｔａｃｋコントローラノードと、ＯｐｅｎＳｔａｃｋコンピュートノードと、仮想ネットワークシステムとを含む。前記ＯｐｅｎＳｔａｃｋコントローラノードは、ソフトウェア・デファインド・ネットワーク（ＳＤＮ）コントローラと通信接続される。前記仮想ネットワークシステムは、仮想マシン及び前記仮想マシンのパケットを転送する仮想ネットワーク装置を含む。この装置は主に、ポート作成通知モジュール６０１及びポート更新通知モジュール６０２を含む。
【００７３】
ポート作成通知モジュール６０１は、ＶＭのポートを作成し、当該ＶＭのために生成したポートＵＵＩＤ及び当該ポートに適用される転送ルールをＳＤＮコントローラに通知するとともに、当該ＶＭのポートＵＵＩＤをポート更新通知モジュール６０２に通知する。
【００７４】
ポート更新通知モジュール６０２は、前記ＯｐｅｎＳｔａｃｋコントローラノードが仮想ネットワークシステムにおいて当該ＶＭが作成された後、ＯｐｅｎＳｔａｃｋコンピュートノードが問い合わせて得られた当該ＶＭのポートＩＤを受信する。ここで、当該ＶＭのポートＩＤは、仮想ネットワークシステムが、設定されたポートグループに応じて割り当てたものである。ポート更新通知モジュール６０２は、ＶＭのポートＩＤとＶＭのポートＵＵＩＤとの対応関係をＳＤＮコントローラに送信することにより、ＳＤＮコントローラが当該ポートに適用される転送ルールに従ってフローテーブルを生成し、当該対応関係に基づいて当該フローテーブルを仮想ネットワーク装置に配信するようにする。
【００７５】
本願のいくつかの実施例において、ポート更新通知モジュール６０２は、ＶＭのポートＩＤとＶＭのポートＵＵＩＤとの対応関係をＳＤＮコントローラに送信することは、具体的に以下のことを含む。
【００７６】
当該ＶＭのポート名であるポートＩＤ及び当該ポートＩＤに対応するポートＵＵＩＤを含むポート更新メッセージを生成してＳＤＮコントローラに送信する。
【００７７】
本願のいくつかの実施例において、ポート作成通知モジュール６０１はさらに、ＶＭのポートを作成する前に、設定されたそれぞれユニークな識別子を有する転送グループ、及び転送ルールをＳＤＮコントローラに送信する。
【００７８】
ポート作成通知モジュール６０１は、当該ＶＭのために生成したポートＵＵＩＤ及び当該ＶＭのポートに適用される転送ルールをＳＤＮコントローラに通知することは、具体的に以下のことを含む。
【００７９】
当該ＶＭのために生成したポートＵＵＩＤ及び当該ＶＭのポートのために設定した転送グループの転送グループ識別子をＳＤＮコントローラに通知する。
【００８０】
本願のいくつかの実施例において、転送グループはセキュリティグループであり、転送ルールはセキュリティグループルールであり、転送グループ識別子はセキュリティグループ識別子である。
【００８１】
あるいは、転送グループはサービスチェーンであり、転送ルールはサービスチェーン情報であり、転送グループ識別子はサービスチェーン識別子である。
【００８２】
図７は、本願の実施例による、ＯｐｅｎＳｔａｃｋネットワークに位置するＯｐｅｎＳｔａｃｋコントローラノードのＶＭパケット制御装置のもう１つの構成模式図である。図７に示すように、前記装置７００は、プロセッサ７１０、メモリ７２０、及びネットワークインタフェース７３０を含む。
【００８３】
前記メモリ７２０には、コンピュータ可読命令が記憶されており、プロセッサ７１０は、前記メモリ７２０に記憶されているコンピュータ可読命令を実行することにより、前記ポート作成通知モジュール６０１及び前記ポート更新通知モジュール６０２のさまざまな機能を実現する。具体的な機能及び動作はすでに上記の実施例において詳しく説明したので、ここでは省略する。
【００８４】
前記ネットワークインタフェース７１０は、前記装置７００とＳＤＮコントローラ及び前記ＯｐｅｎＳｔａｃｋコンピュートノードとの間の通信接続を実現するためのものである。
【００８５】
図８は、本願の実施例による、ＳＤＮコントローラに位置するＶＭパケット制御装置の構成模式図である。前記ＳＤＮコントローラは、ＯｐｅｎＳｔａｃｋネットワークと通信接続される。前記ＯｐｅｎＳｔａｃｋネットワークは、ＯｐｅｎＳｔａｃｋコントローラノードと、ＯｐｅｎＳｔａｃｋコンピュートノードと、仮想ネットワークシステムとを含む。前記仮想ネットワークシステムは、仮想マシン及び前記仮想マシンのパケットを転送するＳＤＮ仮想ネットワーク装置を含む。この装置は主に、ポート作成通知受信モジュール８０１とフローテーブル生成モジュール８０２を含む。
【００８６】
ポート作成通知受信モジュール８０１は、ＯｐｅｎＳｔａｃｋコントローラノードがＶＭのポートを作成した後、ＯｐｅｎＳｔａｃｋコントローラノードが生成したＶＭのポートＵＵＩＤ及び当該ポートに適用される転送ルールを取得する。
【００８７】
フローテーブル生成モジュール８０２は、前記ＯｐｅｎＳｔａｃｋコントローラノードからＶＭポートＩＤとＶＭのポートＵＵＩＤとの対応関係を受信して格納し、前記ＯｐｅｎＳｔａｃｋコントローラノードは、前記ＯｐｅｎＳｔａｃｋコンピュートノードから前記ＯｐｅｎＳｔａｃｋコンピュートノードが問い合わせて得られた前記ＶＭのポート識別子（ＩＤ）を受信し、前記ＶＭのポートＩＤは、前記仮想ネットワークシステムが、設定されたポートグループに応じて割り当てたものである。フローテーブル生成モジュール８０２は、ポート作成通知受信モジュール７０１が取得した当該ポートに適用される転送ルールに従ってフローテーブルを生成し、当該対応関係に基づいて当該フローテーブルを前記仮想ネットワーク装置に配信する。
【００８８】
本願のいくつかの実施例において、フローテーブル生成モジュール８０２は、ＶＭのポートＩＤとＶＭのポートＵＵＩＤとの対応関係を受信して格納することは、以下のことを含む。
【００８９】
ＯｐｅｎＳｔａｃｋコントローラノードからのポート更新メッセージを受信し、ポート更新メッセージを解析してＶＭのポートＵＵＩＤ及びポート名に含まれるＶＭのポートＩＤを取得して、ＶＭのポートＵＵＩＤとＶＭのポートＩＤとの対応関係を格納する。
【００９０】
本願のいくつかの実施例において、ポート作成通知受信モジュール８０１はさらに、ＯｐｅｎＳｔａｃｋコントローラノードが生成したＶＭのポートＵＵＩＤ及び当該ポートに適用される転送ルールを取得する前に、ＯｐｅｎＳｔａｃｋコントローラノードから送信されたそれぞれユニークな識別子を有する転送グループ、及び転送ルールを受信する。
【００９１】
ポート作成通知受信モジュール８０１は、ＯｐｅｎＳｔａｃｋコントローラノードが生成したＶＭのポートＵＵＩＤ及び当該ポートに適用される転送ルールを取得することは、具体的に以下のことを含む。
【００９２】
ＯｐｅｎＳｔａｃｋコントローラノードから送信されたＶＭのポートＵＵＩＤ及び当該ＶＭのポートに使用される転送グループの転送グループ識別子を受信し、当該ＶＭのポートＵＵＩＤと当該ＶＭのポートに使用される転送グループの転送グループ識別子との対応関係を確立する。
【００９３】
フローテーブル生成モジュール８０２は、当該ポートに適用される転送ルールに従ってフローテーブルを生成し、当該対応関係に基づいて当該フローテーブルを仮想ネットワーク装置に配信することは、以下のことを含む。
【００９４】
転送グループ識別子に基づいてＶＭのポートに適用される転送グループに含まれる転送ルールを特定し、特定した転送ルールに従ってフローテーブルを生成し、当該対応関係に基づいて当該フローテーブルを対応する仮想ネットワーク装置に配信する。
【００９５】
本願のいくつかの実施例において、転送グループはセキュリティグループであり、転送ルールはセキュリティグループルールであり、転送グループ識別子はセキュリティグループ識別子である。
【００９６】
あるいは、転送グループはサービスチェーンであり、転送ルールはサービスチェーン情報であり、転送グループ識別子はサービスチェーン識別子である。
【００９７】
図９は、本願の実施例による、ＯｐｅｎＳｔａｃｋネットワークに位置するＯｐｅｎＳｔａｃｋコントローラノードのＶＭパケット制御装置のもう１つの構成模式図である。図９に示すように、前記装置９００は、プロセッサ９１０、メモリ９２０及びネットワークインタフェース９３０を含む。
【００９８】
前記メモリ９２０には、コンピュータ可読命令が記憶されており、プロセッサ９１０は、前記メモリ９２０に記憶されているコンピュータ可読命令を実行することにより、前記ポート作成通知受信モジュール８０１及び前記フローテーブル生成モジュール８０２のさまざまな機能を実現する。具体的な機能及び動作はすでに上記の実施例において詳しく説明したので、ここでは省略する。
【００９９】
前記ネットワークインタフェース９３０は、前記ＳＤＮコントローラと前記ＯｐｅｎＳｔａｃｋコントローラノード及び前記仮想ネットワーク装置との通信接続を実現するためのものである。
【０１００】
本願の実施例において、ＯｐｅｎＳｔａｃｋコントローラノードは、ＶＭのポートＵＵＩＤとＶＭのポートＩＤとの対応関係をＳＤＮコントローラに送信し、ＳＤＮコントローラは、当該ポートに適用される転送ルールに従ってフローテーブルを生成し、当該対応関係に基づいて当該フローテーブルを仮想ネットワーク装置に配信し、これによりＶＭパケットに対する転送制御を実現する。
【０１０１】
以上の説明は、本発明の好適な例に過ぎず、本発明を限定するものではない。本発明の趣旨および原理を逸脱しない範囲内で行われる任意の変更、同等の置換、改良などはいずれも、本発明の範囲に含まれる。
【図１】
2019500822.tif 000004
【図２】
2019500822.tif 000005
【図３】
2019500822.tif 000006
【図４】
2019500822.tif 000007
【図５】
2019500822.tif 000008
【図６】
2019500822.tif 000009
【図７】
2019500822.tif 000010
【図８】
2019500822.tif 000011
【図９】
2019500822.tif 000012
【国際調査報告】
2019500822.tif 000013
2019500822.tif 000014
2019500822.tif 000015
2019500822.tif 000016