(57)【要約】【課題】  コントローラの負荷を低減し、制御対象装置数、及び装置の制御に必要なフローエントリの総数を削減する【解決手段】  本発明は、WAN側のエッジスイッチが、WANに接続された端末からパケットを受信すると、第１のフローエントリに基づいて、サービスIDとGWの位置情報を含む第１のラベルを該パケットに付与して、ゲートウェイスイッチに転送し、GWスイッチが、第１のラベルが付与されたパケットを受信すると、第２のフローエントリに基づいてNW機能サーバのVMのIDと該NW機能サーバの位置情報を第２のラベルとして受信したパケットに付与して、該NW機能サーバに転送し、NW機能サーバが、第２のラベルが付与されたパケットを該第２のラベルに基づいて処理し、該第２のラベル中の自身のラベルを削除し、削除したラベルの次のラベルに含まれる位置情報を該パケットの宛先に上書きして転送する。【選択図】  図１
2015154421.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク機能が仮想化されてクラウドとして提供され、WAN(Wide Area Network)に接続する端末の通信に対して、SDN(Software Defined Networking)を利用してクラウド上のNW機能を適用するための通信ネットワークの経路制御連携システムであって、
WAN側に、
クラウド側から取得したネットワーク(NW)機能と最大リソースを抽象化した情報、ゲートウェイ（GW）スイッチのIPアドレス、クラウドの位置情報を格納するクラウドDBと、
前記クラウドDBの情報に基づいて、WAN内サービスチェイン計算アルゴリズムにより第１のフローエントリを作成するWANコントローラと、
前記WANコントローラから前記フローエントリを取得し、第１のフローテーブルを更新し、前記WANに接続する端末からパケットを受信すると、該第１のフローテーブルを参照して、装置の位置情報と該装置の識別子を含む第１のラベルを該パケットに付与して、前記クラウドに接続するゲートウェイスイッチに転送するエッジスイッチと、
を有し、
前記クラウド側に、
前記WANコントローラに、NW機能と最大リソースを抽象化した情報、GWスイッチのIPアドレス、クラウドの位置情報を通知し、スケーラビリティや遅延を考慮したクラウド内サービスチェイン計算アルゴリズムを用いて第２のフローエントリを生成するクラウドコントローラと、
前記クラウドコントローラから前記フローエントリを取得して第２のフローテーブルを更新し、前記WAN側から前記第１のラベルが付与されたパケットを受信すると、該パケットの該第１のラベルを、該第２のフローテーブルを参照して、該クラウド内の仮想マシン(VM)の識別子と機能サーバの位置情報を含む第２のラベルで書き替えて転送するゲートウェイスイッチと、
前記ゲートウェイスイッチから受信した前記第２のラベルが付与されたパケットを受信すると、該パケットの該第２のラベルに基づいてVMが通信するパケットの処理を行い、該第２のラベル中の自身のラベルを削除し、削除したラベルの次のラベルに含まれる位置情報を該パケットの宛先に上書きして転送するNW機能サーバと、
を有する
ことを特徴とする通信ネットワークの経路制御連携システム。
【請求項２】
前記ゲートウェイスイッチは、
前記エッジスイッチから受信したパケットの前記第１のラベルが前記第１のフローテーブルの内容と合致しない場合には、該パケットを前記クラウドコントローラに送信し、フローを処理するためのフローエントリを受信し、クラウドのNW機能サーバの位置情報とVMの識別子、及び、ゲートウェイスイッチの位置情報を含む前記第２のラベルを該パケットに付与する手段を含む
請求項１記載の通信ネットワークの経路制御連携システム。
【請求項３】
前記WAN内サービスチェイン計算アルゴリズムは、
ユーザのサービス契約情報とクラウドの情報に基づいて、サービスを提供しているクラウドを検索し、サービスのリソース使用量に応じてクラウドを選択し、選択されたクラウドとサービスの組み合わせに該当するリソース使用量を求め、該選択されたクラウドとサービスの組み合わせを順にラベルに付与するための前記第１のフローエントリを作成する手段を有し、
前記クラウド内サービスチェイン計算アルゴリズムは、
パケット内の前記第１のラベルの情報とNW機能サーバの情報から、NW機能DBを参照して該VMのリソース使用量に応じて該ラベルに含まれるサービスを提供しているVMを選択し、該第１のラベルに含まれる全てのNW機能サーバと選択したVMの組合せに該当するリソース使用量の和を求め、該NW機能DBを更新する処理を行い、該NW機能サーバのIDと該VMのIDの組み合わせを順にラベルとして、該第１のラベルに上書きし、その後の位置情報が自身のクラウドIDであるラベルをパケットに付与するための前記第２のフローエントリを作成する手段を含む
請求項１記載の通信ネットワークの経路制御連携システム。
【請求項４】
ネットワーク機能が仮想化されてクラウドとして提供され、WAN(Wide Area Network)に接続する端末の通信に対して、SDN(Software Defined Networking)を利用してクラウド上のNW機能を適用するための通信ネットワークの経路制御連携方法であって、
WAN側のエッジスイッチが、WANに接続された端末からパケットを受信すると、パケットの処理ルールが記述された第１のフローエントリに基づいて、サービスIDとゲートウェイスイッチ(GW)の位置情報を含む第１のラベルを該パケットに付与して、ゲートウェイスイッチに転送し、
前記ゲートウェイスイッチが、前記第１のラベルが付与されたパケットを受信すると、パケットの処理ルールが記述された第２のフローエントリに基づいて、ネットワーク(NW)機能サーバの仮想マシン(VM)のIDと該NW機能サーバの位置情報を第２のラベルとして受信したパケットに付与して、該NW機能サーバに転送し、
クラウド側の前記NW機能サーバが、前記第２のラベルが付与されたパケットを該第２のラベルに基づいて処理し、該第２のラベル中の自身のラベルを削除し、削除したラベルの次のラベルに含まれる位置情報を該パケットの宛先に上書きして転送する
ことを特徴とする通信ネットワークの経路制御連携方法。
【請求項５】
前記クラウド側のクラウドコントローラが、
WANコントローラに、NW機能と最大リソースを抽象化した情報、GWスイッチのIPアドレス、クラウドの位置情報を通知し、
前記WAN側の前記WANコントローラが、
前記クラウドコントローラから通知された情報に基づいて前記フローエントリを生成する
請求項４記載の通信ネットワークの経路制御連携方法。
【請求項６】
前記ゲートウェイスイッチにおいて、
前記エッジスイッチから受信したパケットの前記第１のラベルがフローテーブル内のフローエントリと合致しない場合には、該パケットを前記クラウドコントローラに送信し、フローを処理するためのフローエントリを受信し、クラウドのNW機能サーバの位置情報とVMの識別子、及び、ゲートウェイスイッチの位置情報を含む前記第２のラベルを該パケットに付与する
請求項４記載の通信ネットワークの経路制御連携方法。
【請求項７】
前記WANコントローラが、
WAN内サービスチェイン計算アルゴリズムにより、ユーザのサービス契約情報とクラウドの情報に基づいて、サービスを提供しているクラウドを検索し、サービスのリソース使用量に応じてクラウドを選択し、選択されたクラウドとサービスの組み合わせに該当するリソース使用量を求め、該選択されたクラウドとサービスの組み合わせを順にラベルに付与するための前記第１のフローエントリを作成し、
前記クラウドコントローラが、
クラウド内サービスチェイン計算アルゴリズムにより、パケット内の前記第１のラベルの情報とNW機能サーバの情報から、NW機能DBを参照して該VMのリソース使用量に応じて該ラベルに含まれるサービスを提供しているVMを選択し、該第１のラベルに含まれる全てのNW機能サーバと選択したVMの組合せに該当するリソース使用量の和を求め、該NW機能DBを更新する処理を行い、該NW機能サーバのIDと該VMのIDの組み合わせを順にラベルとして、該第１のラベルに上書きし、その後の位置情報が自身のクラウドIDであるラベルをパケットに付与するための前記第２のフローエントリを作成する
請求項４記載の通信ネットワークの経路制御連携方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワークの経路制御連携システム及び方法に係り、特に、ネットワーク(NW)機能が仮想化されてクラウドとして提供される際に、WAN(Wide Area Network)に接続する端末の通信に対して、SDN(Software Defined Networking)を利用してクラウド上のNW機能を適用するための通信ネットワークの経路制御連携システム及び方法に関する。
【背景技術】
【０００２】
現在のキャリア網、特に固定網においては、インターネットアクセスやIPTV(Internet Protocol TV)やVPN(Virtual Private Network)などのネットワークサービスを提供するための機能（以下、「NW機能」と記す）が、エッジルータや専用のアプライアンスといった形態で実装されている。
【０００３】
近年では、このようなNW機能を仮想化して汎用サーバ上で動作させ、ネットワークサービスを提供できるようにするNFV(Network Function Virtualization)が検討されている（例えば、非特許文献１参照）。
【０００４】
上記のNFVが実現されると、NW機能を仮想マシン(以下、「VM」と記す)上に実装して管理し、サーバ群やデータセンタに集約して、NW機能をクラウドとして管理することで、リソースの柔軟な割り当てや他の物理サーバへの移動(マイグレーション)などが可能になり、設備効率を向上できると考えられる。
【０００５】
一方、ユーザの通信に対してNW機能を適用する際、現在のキャリア網はIPネットワークとして構成されているため、IPルーティングによって通信経路を制御している。
【０００６】
一般に、IPのルーティングプロトコルでは、複数のユーザのトラヒックをまとめたフローに対して経路制御を実施する。そのため、全てのユーザに一律に同じサービスを提供する場合には、このような経路制御で問題はない。
【０００７】
しかし、インターネットユーザの増加により、ユーザ層が幅広くなり、個々のユーザのニーズが多様化してきていることを鑑みると、ユーザごとにカスタマイズされたサービスを提供することが求められている。
【０００８】
そのためには、ユーザごとやサービスごとに異なる経路制御を行ってそれぞれで異なるNW機能を提供する技術（以下、「サービスチェイニング技術」と記す）が必要になるが、全国規模のネットワークでは、数百万単位のユーザを収容する必要があり、既存のIPルーティングプロトコルによる経路制御で、サービスチェイニングを実現することは困難であると考えられる。
【０００９】
このような状況において、データセンタでの利用が始まっている。
【００１０】
OpenFlow（例えば、非特許文献２参照）のようなSDNの技術を、キャリア網に適用する検討がなされている。
【００１１】
OpenFlowは、予め定義されたフローの単位で経路制御を実現することができるため、ユーザごとのトラフィックをフローとして定義することで、前述のようにユーザごとに経路制御を柔軟に変えることができる。
【００１２】
しかしながら、現在のOpenFlowは、まずデータセンタをターゲットに開発された技術であり、キャリア網規模でのユーザ数（数百万から数千万）規模に適用しようとすると、フローの情報を保持するハードウェアの制約がある。
【００１３】
そのため、現在のキャリアのIP網をすべてOpenFlowで置き換えることは現実的ではない。
【００１４】
こうした課題に対し、非特許文献３では、キャリアの広域ネットワーク（以下、「WAN」と記す）への入口にあたるエッジルータにおいて、ユーザ単位やサービス単位に定義されたフローを、その宛先に応じて、エッジルータ間に確立されたトンネルに転送する技術を提案している。当該技術では、エンドエンド間でトンネルを張り、ユーザの通信をIPネットワークから抽象化することでNW機能の位置に依存しない柔軟なネットワーク制御を実現しているが、NW機能がクラウドとして提供された環境を想定していない。そのため、クラウド内の装置やVMが増加すると、制御対象装置数や信号量の増加を招くため、コントローラのスケーラビリティが問題になる。
【００１５】
このような問題に対して、非特許文献４の技術では、図１に示すように、キャリアのネットワークとNW機能クラウドのネットワークそれぞれが別個のコントローラ（WANコントローラ、クラウドコントローラ）で制御されるアーキテクチャを提案し、コントローラ間の連携方式を提案している。本方式を用いることで、大多数の端末が接続される個々のコントローラの負荷を軽減しており、全体を一つのコントローラで制御する方式に比べてスケーラビリティが向上する。
【００１６】
しかし、上記の非特許文献４の技術では、WANとNW機能クラウドを別々のコントローラで制御する上で、WANとNW機能クラウドの境界となるゲートウェイ装置に対する制御が新たに必要になる。そのため、個々のコントローラの負荷が下がるものの、ネットワーク全体としては、制御対象装置数やフローエントリ数が増えてしまうという課題がある。
【００１７】
制御対象装置数やフローエントリ数を低減する方法として、サービスチェインの経路情報をラベルとしてパケットに付与する方式が提案されている（例えば、非特許文献５参照）。
【００１８】
当該方式は、非特許文献４の方式に対して、図２（ｂ）に示すように、前述のパケットにラベルを付与する方式を適用することで、図２（ａ）に示す方式のように、トンネルの端点にある全てのスイッチに対してサービスチェインの経路情報を設定する方式に比べて、全ての装置に対してネットワーク全体としてみた場合の制御対象装置やフローエントリ数を削減できると考えられる。
【先行技術文献】
【非特許文献】
【００１９】
【非特許文献１】"Network Functions Virtualisation,"NFV White Paper， Oct． 22， 2012．  http://portal.etsi.org.NFV/NFV_White_Paper.pdf.
【非特許文献２】"Software-Defined Networking: The New Norm for Networks,"ONF White Paper, Open Network Foundation, April 13, 2012. https://www.opennetworking.org/images/stories/downloads/whitepapaers/wp-sdn-newnorm.pdf.
【非特許文献３】小島久史,北田裕之,高谷直樹,松林泰則,"NWサービス機能の仮想化を考慮した経路制御方式の検討,"2012信学総大,分冊通信2, B-6-114,p.114, March 2013.
【非特許文献４】小島久史,北田裕之,高谷直樹,松林泰則,"NWサービス機能の仮想化を考慮した経路制御方式の検討,"2012信学総大,分冊通信2, B-7-36,p.133, Sept. 2013.
【非特許文献５】小島久史,北田裕之,高谷直樹,松林泰則,"キャリア網におけるNW機能の仮想化を考慮したサービスチェイニング方式の提案"信学技報,vol.113, no.205, NS2013-73, pp.13-18, Sept. 2013.
【発明の概要】
【発明が解決しようとする課題】
【００２０】
しかしながら、非特許文献５の方式では、WANコントローラとクラウドコントローラは互いの情報を抽象化して保持しているため、WANコントローラは、NW機能を適用するVMの情報まで含めた経路情報をパケットに付与することができないという課題がある。
【００２１】
本発明は、上記の点に鑑みなされたもので、コントローラの負荷を低減し、制御対象装置数、及び装置の制御に必要なフローエントリの総数を削減することが可能な通信ネットワークの経路制御連携システム及び方法を提供することを目的とする。
【課題を解決するための手段】
【００２２】
一態様によれば、ネットワーク機能が仮想化されてクラウドとして提供され、WAN(Wide Area Network)に接続する端末の通信に対して、SDN(Software Defined Networking)を利用してクラウド上のNW機能を適用するための通信ネットワークの経路制御連携システムであって、
WAN側に、
クラウド側から取得したネットワーク(NW)機能と最大リソースを抽象化した情報、ゲートウェイ（GW）スイッチのIPアドレス、クラウドの位置情報を格納するクラウドDBと、
前記クラウドDBの情報に基づいて、WAN内サービスチェイン計算アルゴリズムにより第１のフローエントリを作成するWANコントローラと、
前記WANコントローラから前記フローエントリを取得し、第１のフローテーブルを更新し、前記WANに接続する端末からパケットを受信すると、該第１のフローテーブルを参照して、装置の位置情報と該装置の識別子を含む第１のラベルを該パケットに付与して、前記クラウドに接続するゲートウェイスイッチに転送するエッジスイッチと、
を有し、
前記クラウド側に、
前記WANコントローラに、NW機能と最大リソースを抽象化した情報、GWスイッチのIPアドレス、クラウドの位置情報を通知し、スケーラビリティや遅延を考慮したクラウド内サービスチェイン計算アルゴリズムを用いて第２のフローエントリを生成するクラウドコントローラと、
前記クラウドコントローラから前記フローエントリを取得して第２のフローテーブルを更新し、前記WAN側から前記第１のラベルが付与されたパケットを受信すると、該パケットの該第１のラベルを、該第２のフローテーブルを参照して、該クラウド内の仮想マシン(VM)の識別子と機能サーバの位置情報を含む第２のラベルで書き替えて転送するゲートウェイスイッチと、
前記ゲートウェイスイッチから受信した前記第２のラベルが付与されたパケットを受信すると、該パケットの該第２のラベルに基づいてVMが通信するパケットの処理を行い、該第２のラベル中の自身のラベルを削除し、削除したラベルの次のラベルに含まれる位置情報を該パケットの宛先に上書きして転送するNW機能サーバと、
を有する通信ネットワークの経路制御連携システムが提供される。
【発明の効果】
【００２３】
一態様によれば、入口のGWのみに対してコントローラから制御を行い、その他の装置では、パケットに記述された経路情報を元に自律的にパケットを転送するため、フローの経路上の装置全てを制御する従来方式と比較して、コントローラの負荷を低減し、制御対象装置数、及び装置の制御に必要なフローエントリの総数を削減できる。
【図面の簡単な説明】
【００２４】
【図１】WANとクラウドを別々のコントローラで制御する例である。
【図２】サービスチェインの経路情報をパケットに付与する例である。
【図３】本発明の概要を示す図である。
【図４】本発明の一実施の形態におけるラベル、パケットの例である。
【図５】本発明の一実施の形態における経路制御連携システムの構成例である。
【図６】本発明の一実施の形態におけるWANコントローラの機能構成例である。
【図７】本発明の一実施の形態におけるサービスチェインDBの例である。
【図８】本発明の一実施の形態におけるクラウドDBの例である。
【図９】本発明の一実施の形態におけるエッジスイッチの機能構成例である。
【図１０】本発明の一実施の形態におけるクラウドコントローラの機能構成例である。
【図１１】本発明の一実施の形態におけるNW機能DBの例である。
【図１２】本発明の一実施の形態におけるゲートウェイスイッチの機能構成例である。
【図１３】本発明の一実施の形態におけるゲートウェイスイッチの経路計算機能部の処理例である。
【図１４】本発明の一実施の形態におけるNW機能サーバの機能構成例である。
【図１５】本発明の一実施の形態におけるNW機能サーバの経路計算機能部の処理の例である。
【図１６】本発明の一実施の形態におけるクラウド状態取得のシーケンスチャートである。
【図１７】本発明の一実施の形態におけるNW機能ＤＢとクラウドＤＢの例である。
【図１８】本発明の一実施の形態におけるサービス契約時のシーケンスチャートである。
【図１９】本発明の一実施の形態におけるサービス提供時のシステム構成例である。
【図２０】本発明の一実施の形態におけるサービス提供時のシーケンスチャートである。
【発明を実施するための形態】
【００２５】
以下、図面と共に本発明の実施の形態を説明する。
【００２６】
本発明は、WANとNW機能クラウドが別個のネットワークとして管理された環境において、パケットに付与された経路情報をもとに経路制御を行うために、GW（ゲートウェイ）スイッチにおいて、パケットに付与されているサービスチェインの経路情報を付け替えることで、ユーザやサービス単位で所望のNW機能を適用するものである。
【００２７】
図３は、本発明の概要を示しており、NW機能が仮想化されたクラウドとして提供される際に、WANに接続する端末の通信に対して、SDNを利用してクラウド上にNW機能を適用する。同図の例は、ユーザＡがファイアーウォール（以下「FW」と記す）サービスを契約している例であり、WANコントローラ１１０は、WAN１内の経路を計算し、エッジスイッチ１２０に通知し、エッジスイッチ１２０はWAN１内において、ゲートウェイサービスIDとゲートウェイのIPアドレスをラベルに入れてパケットを転送する。クラウドコントローラ２１０は、パケット内のサービスIDとクラウド２内のVMの情報に基づいてクラウド２内のサービスチェインを設定するアルゴリズムを有する。GW２２０では、VM IDとサーバIPアドレスをラベルに入れてパケットを転送する。サーバ２３０は、DBを持たず、パケットのヘッダ情報のみを用いて処理を行い、次の宛先ヘッダがない場合には、デフォルトのGWに送信する。
【００２８】
最初に、以下で用いられる「サービスチェイン情報」について説明する。
【００２９】
サービスチェイン情報は、パケットが経由する装置、サーバ、VMやパケットに適用するサービスの情報であり、パケットのヘッダ（ラベル）として記述される情報である。ラベルはIPパケットの外側、トンネルのためのカプセル化の内側に付与される。経由する装置等や契約サービスが複数の場合は、複数のラベルがパケットに付与される。一つのラベルには、装置等の位置情報（例えば、IPアドレス）と装置等の識別子（例えば、IDやサービス名）が含まれる。その例を以下に示す。
【００３０】
・「クラウドA」でファイアーウォール（FW）サービスを適用する場合のラベル：
『「クラウドA」のゲートウェイ装置のIPアドレス、FW』
・「サーバB」の「VMｂ」で処理を行う場合のラベル：
『「サーバB」の仮想スイッチのIPアドレス、VMｂ』
・「サーバB」の「VMｂ」で処理を行った後、「サーバC」の「VMｃ」で処理を行う場合のラベル：
『「サーバB」の仮想スイッチのIPアドレス、VMb』『「サーバC」の仮想スイッチのIPアドレス、VMｃ』
具体的なラベル及びパケットの構造の例を図４に示す。同図に示すように、ラベルは、識別子（FW）と位置情報(GW)の組からなり、パケットは、IPアドレスと、サービスチェイン情報と、宛先のGWのアドレスから構成される。
【００３１】
図５は、本発明の一実施の形態におけるシステム構成例である。同図の例では、NW機能クラウドが２つある場合を示すが、この例に限定されることなく、１つでも３つ以上でもよい。
【００３２】
IPネットワーク１００側に、WANコントローラ１１０、エッジスイッチ１２０を有し、NW機能クラウド２００側に、クラウドコントローラ２１０、ゲートウェイスイッチ２２０、NW機能サーバ２３０を有する。
【００３３】
＜WANコントローラ１１０＞
図６にWANコントローラ１１０の機能構成例を示す。
【００３４】
WANコントローラ１１０は、サービスチェインＤＢ１１１、インタフェース１１５、１１６，１１７、クラウドＤＢ１１２、経路計算部１１３、NW制御部１１４を有する。
【００３５】
サービスチェインＤＢ１１１は、図７に示すように、サービスチェインを識別するID（サービスチェインID）と、ネットワークサービスを適用する対象となるフローの種類と、対象フローの識別子（IPアドレス、TCP/UDPポート番号、入力インタフェース番号、アプリケーション種別等）と、そのフローに対して適用するサービスチェインの情報を保持する。
【００３６】
インタフェース１１５は、サービスチェインDB１１１の内容を参照、登録するためのインタフェースである。当該インタフェース１１５には、サービス契約を行うための機能や装置が接続されることを想定しているが、これらの機能、装置は、本発明の範囲外とする。例として、サービス契約のWebサイト、サービスオーダシステムなどを想定している。
【００３７】
クラウドＤＢ１１２は、図８に示すように、クラウドネットワークを識別するID（クラウドID）と、クラウドネットワークにおけるWANとの接続点となるゲートウェイスイッチのIPアドレスと、そのクラウドに含まれるNW機能と、そのNW機能の最大リソースと、そのNW機能の使用量を保持する。
【００３８】
経路計算部１１３は、クラウドＤＢ１１２とサービスチェインＤＢ１１１にある情報をもとに、WAN内サービスチェイン計算アルゴリズムによってフローエントリを作成する。
【００３９】
ここで、WAN内サービスチェイン計算アルゴリズムの手順を以下に示す。
【００４０】
１．ユーザのサービス契約情報とクラウドの情報を取得する。
【００４１】
２．i=1とする。
【００４２】
３．i個目のサービスを提供しているクラウドを検索し、次の優先度でクラウドを選択する。
【００４３】
1)  i−１個目のサービスと同一のクラウドにおいて、i個目のサービスのリソース使用量に空きがあれば、そのクラウドを選択する。
【００４４】
2)  クラウドの位置情報から、i−１個目のサービスのクラウドに最も近いクラウドにおいて、i個目のサービスリソース使用量に空きがあれば、そのクラウドを選択する。
【００４５】
3)  最もリソース使用量が少ないクラウドを選択する。
【００４６】
４．上記の３．で選択したクラウドとサービスの組合せに該当するクラウドDB１１２のリソース使用量をインクリメントする。
【００４７】
５．次のサービスチェインが存在すれば、iをインクリメントして３．に移行し、なければ６．に移行する。
【００４８】
６．これまでに選択したサービスをクラウドの組み合わせを、順にラベルとしてパケットに付与するフローエントリを作成する。
【００４９】
７．終了。
【００５０】
NW制御部１１４は、経路計算部１１３で作成されたフローエントリによってインタフェース１１７Ａ，１１７Ｂ，…，１１７ｙを介してエッジスイッチ１２０，１３０，１４０を制御するほか、エッジスイッチ１２０，１３０，１４０、及びクラウドコントローラ２１０から通知された情報をもとにクラウドＤＢ１１２の情報を更新する機能を有する。
【００５１】
＜エッジスイッチ１２０＞
WAN側のエッジスイッチ１２０について説明する。
【００５２】
エッジスイッチ１２０は、図９に示すように、セキュアチャネル１２１、経路計算機能部１２２、フローテーブル１２３、パケット処理部１２４及び、インタフェースＡ１２５Ａ、インタフェースＢ１２５Ｂ、インタフェースＣ１２５Ｃを有する。
【００５３】
セキュアチャネル１２１は、WANコントローラ１１０と通信し、WANコントローラ１１０から受信したフローエントリをフローテーブル１２３に書き込む。
【００５４】
経路計算機能部１２２は、サービスチェイン情報が付与されているパケットを受信した際に、サービスチェイン情報を元にフローエントリを作成し、フローテーブル１２３に書き込む。
【００５５】
ここで、経路計算機能部１２２の処理手順を以下に示す。
【００５６】
パケットを受信した際には、以下の１〜３のいずれかの処理を行う。なお、処理を行うか否かの判別は１．から順に行う。
【００５７】
１．受信したパケットの処理がフローエントリに記述されている場合は、フローエントリに基づいて処理される。
【００５８】
２．パケットにサービスチェイン情報が含まれる場合は、一つ目のサービスチェイン情報の位置情報をパケットの宛先に上書きし、その宛先へ転送する。
【００５９】
３．上記の処理において、宛先が自身の場合は、WANコントローラ１１０にパケットの情報を送信し、フローエントリを取得する。
【００６０】
フローテーブル１２３は、パケットの処理ルールが記述されたフローエントリを保持する。
【００６１】
パケット処理部１２４は、フローテーブル１２３のあるフローエントリを参照し、パケットを処理する。
【００６２】
＜クラウドコントローラ２１０＞
図１０に、クラウドコントローラ２１０の構成例を示す。
【００６３】
クラウドコントローラ２１０は、NW機能ＤＢ２１１、インタフェース２１２，２１５，２１６、NW制御部２１３、経路計算部２１４を有する。
【００６４】
NW機能ＤＢ２１１は、図１１に示すように、クラウド２００にあるVMのIDと、そのVMが接続するNW機能サーバ２３０内の仮想スイッチのIPアドレスと、そのVMに含まれるNW機能と、そのVMの最大リソースと、そのVMのリソース使用量の情報を保持する。
【００６５】
インタフェース２１２は、NW機能ＤＢ２１１の内容を参照、登録するためのインタフェースである。当該インタフェース２１２には、NW機能サーバ２３０のVMを管理する機能や装置が接続されることを想定しているが、これらの機能、装置は本発明の範囲外とする。例として、クラウド管理アプリケーション等を想定している。
【００６６】
経路計算部２１４は、NW機能ＤＢ２１１と、パケットのサービスチェイン情報を元に、クラウド内サービスチェイン計算アルゴリズムによってフローエントリを作成する。
【００６７】
ここで、クラウド内サービスチェイン計算アルゴリズムの手順を説明する。
【００６８】
１．パケット内のサービスチェイン情報と、NW機能ＤＢ２１１からNW機能の情報を取得する。
【００６９】
２．i=1とする。
【００７０】
３．i個目のラベルに含まれるサービスを提供しているVMをNW機能ＤＢ２１１から検索し、次の優先度でVMを選択する。
【００７１】
1)  i-1個目のVMと同一のサーバにおいて、i個目のVMのリソース使用量に空きがあれば、そのVMを選択する。
【００７２】
2)  最もリソース使用量が少ないVMを選択する。
【００７３】
なお、当該処理は、サービスIDとクラウドIDとリソース使用量を元にクラウドを選択しているが、選択に用いるパラメータはパケットに記載されているサービスチェイン情報とNW機能の情報から自由に組み合わせてもよい（同じサーバ内のVMを優先的に選択せず、リソース使用量だけを用いる。特定のサービスチェインは特定のサーバ内の任意のVMを優先的に選択するなど）。
【００７４】
４．上記の３．で選択した機能サーバとVMの組み合わせ該当するNW機能ＤＢ２１１のリソース使用量をインクリメントする。
【００７５】
５．次のサービスIDとクラウドIDが存在し、かつクラウドIDが自身のものであれば、iをインクリメントして、３．に戻り、なければ６．に移行する。
【００７６】
６．サービスチェイン情報のラベルのうち、i個目までのラベルを削除し、これまでに選択したサーバIDとVM-IDの組み合わせを、順にラベルとして先に削除したラベルの位置に付与し、その後位置情報が自身のクラウドIDであるラベル（識別子はなし）をパケットに付与するフローエントリを作成する。
【００７７】
７．終了。
【００７８】
NW制御部２１３は、経路計算部２１４で作成されたフローエントリによって、インタフェース２１６を介してWANコントローラ１１０に通知する機能を有する。
【００７９】
＜ゲートウェイスイッチ２２０＞
ゲートウェイスイッチ２２０は、図１２に示すように、セキュアチャネル２２１、フローテーブル２２２、経路計算機能部２２３、パケット処理部２２４、インタフェースＡ２２５Ａ、インタフェースＢ２２５Ｂ、インタフェースＣ２２５Ｃを有する。
【００８０】
セキュアチャネル２２１は、クラウドコントローラ２１０と通信し、クラウドコントローラ２１０から受信したフローエントリをフローテーブル２２２に書き込む。
【００８１】
フローテーブル２２２は、パケットの処理のルールが記述されたフローエントリを保持する。
【００８２】
経路計算機能部２２３は、サービスチェイン情報が付与されているパケットを受信した際に、サービスチェイン情報をセキュアチャネル２２１を介してクラウドコントローラ２１０に送信するほか、サービスチェイン情報を元にフローエントリを作成し、フローテーブル２２２に書き込む。
【００８３】
ここで、経路計算機能部２２３の処理手順を図１３に基づいて説明する。
【００８４】
１．パケット内のサービスチェイン情報を参照し、一つ目の位置情報が自身の場合は、クラウドコントローラ２１０にサービスチェイン情報を送信し、処理を終了する（図１３（ａ））。
【００８５】
２．サービスチェイン情報を参照し、一つ目の位置情報を、パケットの宛先に上書きし、送信するフローエントリを作成し、パケットを処理する（図１３（ｂ））。
【００８６】
パケット処理部２２４は、フローテーブル２２３にあるフローエントリを参照し、パケットを処理する。
【００８７】
＜NW機能サーバ２３０＞
NW機能サーバ２３０は、図１４に示すように、経路計算機能部２３１、フローテーブル２３２、仮想スイッチ２３３、インタフェース２３４、VM２３５１〜２３５ｚを有する。
【００８８】
経路計算機能部２３１は、サービスチェイン情報が付与されているパケットを受信した際に、サービスチェイン情報をもとにフローエントリを作成し、フローテーブル２３２に書き込む。
【００８９】
ここで、経路計算機能部２３１の処理の手順を図１５に基づいて説明する。
【００９０】
１．サービスチェイン情報を参照し、サービスチェイン情報から位置情報が自身のラベルを抽出し、抽出されたラベルをパケットから削除し、削除したらベルンの次のラベルに含まれる位置情報をパケットの宛先に上書きし、抽出したラベルに含まれるVM２３５へ順にパケットを転送されるようフローエントリを作成する（図１５（ａ））。
【００９１】
２．但し、削除したラベルの次のラベルに識別子が含まれない場合は、そのラベルも削除してから転送されるようフローエントリを作成する（図１５（ｂ））。
【００９２】
フローテーブル２３２は、パケットの処理ルールが記述されたフローエントリを保持する。
【００９３】
仮想スイッチ部２３３は、フローテーブル２３２にあるフローエントリを参照し、VM２３５が通信するパケットを処理する。
【００９４】
次に、上記のシステムにおける処理について説明する。
【００９５】
以下では、NW機能サーバ２３０の管理にクラウド管理アプリケーションを利用した場合において、クラウドコントローラ２１０がNW機能サーバ２３０のVM２３５の状態を取得し、WANコントローラ１１０が各クラウドの状態を取得する際の処理の流れを示す。
【００９６】
図１６は、本発明の一実施の形態におけるクラウド状態取得のシーケンスチャートである。
【００９７】
ステップ１０１）クラウド管理アプリケーションは、クラウドコントローラ２１０に対して、仮想スイッチのIPアドレス、VM２３５ごとのVM-ID、NW機能、最大リソースを送出する。
【００９８】
ステップ１０２）クラウドコントローラ２１０は、取得した仮想スイッチのIPアドレス、VM-ID、NW機能、最大リソースをNW機能DB２１１に追加する。
【００９９】
ステップ１０３）クラウドコントローラ２１０は、NW機能DB２１１の抽象化処理を行う。抽象化処理は、図１７に示すように、NW機能（FWやDPI(Deep Packet Inspection)ごとに最大リソースを合算する。図１７の例では、VM-IDが1,2,4のリソース使用量が合算され、次ステップにおいて、WANコントローラ１１０のクラウドDB１１２に登録される。
【０１００】
ステップ１０４）クラウドコントローラ２１０は、インタフェース２１６を介してWANコントローラ１１０に、NW機能DB２１１のNW機能、ステップ１０３で最大リソースを抽象化した情報、クラウドコントローラ２１０内部に予め保持されているGWスイッチ２２０のIPアドレス、クラウドの位置情報をWANコントローラ１１０に送信する。
【０１０１】
ステップ１０５）WANコントローラ１１０は、NW制御部１１４において、インタフェース１１６を介してクラウドコントローラ２１０から受信した情報（NW機能、最大リソースを抽象化した情報（最大リソース）、GWスイッチ２２０のIPアドレス、クラウドの位置情報）でクラウドDB１１２を更新する。
【０１０２】
ステップ１０６）WANコントローラ１１０の経路計算部１１３は、ステップ１０５で更新されたクラウドDB１１２とサービスチェインＤＢ１１１にある情報をもとに、前述のWAN内サービスチェイン計算アルゴリズムを用いてフローエントリを作成する。
【０１０３】
次に、ユーザがWebサイトを経由してサービス契約を行う際の処理について説明する。
【０１０４】
図１８は、本発明の一実施の形態におけるサービス契約のシーケンスチャートである。
【０１０５】
ステップ２０１）ユーザは端末１０１からWebサイトに対して、対象フローの種類と識別子、契約サービスに関する情報を送信する。
【０１０６】
ステップ２０２）Webサイトはユーザからの情報を取得し、対象フローの種類と識別子、契約サービスに関する情報をWANコントローラ１１０に送信する。
【０１０７】
ステップ２０３）WANコントローラ１１０は、インタフェース１１５を介して取得した対象フローの種類と識別子、契約サービスに関する情報をサービスチェインDB１１１に追加する。
【０１０８】
ステップ２０４）WANコントローラ１１０の経路計算部１１３は、クラウドＤＢ１１２とステップ２０３で更新されたサービスチェインＤＢ１１１にある情報をもとに、前述のWAN内サービスチェイン計算アルゴリズムによってフローエントリを作成する。
【０１０９】
ステップ２０５）WANコントローラ１１０は、インタフェース１１７を介してフローエントリをエッジスイッチ１２０に送信する。
【０１１０】
ステップ２０６）エッジスイッチ１２０は、インタフェース１２５Ｃを介してフローエントリを取得すると、セキュアチャネル１２１がフローテーブル１２３に書き込み、フローテーブル１２３を更新する。
【０１１１】
次に、サービス提供時の処理について説明する。
【０１１２】
図１９は、本発明の一実施の形態におけるサービス提供時のシステム構成例であり、図２０は、図１９に示すシステムにおけるシーケンスチャートであり、シーケンスと共にパケットのヘッダ構成も例示する。
【０１１３】
端末１０１ＡがWebサーバと通信する際のフローに対して、DPIを適用するというサービス契約がなされている状態において、端末ＡがWebサーバに対してパケットを送信した場合の処理について説明する。
【０１１４】
ステップ３０１）端末１０１ＡがWebサーバ１０３宛にパケットを送ると、エッジスイッチ１２０１において、サービス契約時に設定されたフローエントリに基づいて、サービスチェイン情報（ラベル）がパケットに付与され、DPIのNW機能を有するクラウドＡに接続するゲートウェイスイッチ２２０Ａに送信される。図２０の例では、パケットの宛先にゲートウェイスイッチ２２０ＡのIPアドレス、ラベルに『ゲートウェイスイッチ２２０ＡのIPアドレス(GW1)、DPI』、『エッジスイッチ１２０２のIPアドレス（ES2）』が設定される。
【０１１５】
ステップ３０２）ゲートウェイスイッチ２２０Ａは、パケットを受け取ると、ラベルの情報から宛先が自身のクラウドＡであると判断し、クラウドコントローラ２１０Ａにラベルの情報を送信し、そのフローを処理するためのフローエントリを受信する。図２０の例では、『NW機能サーバ２３０ＡのＩＰアドレス、「VM1」』、『ゲートウェイスイッチ２２０ＡのIPアドレス、識別子なし』のラベルを付与し、パケットの宛先をNW機能サーバ２３０Ａに設定するフローエントリがゲートウェイスイッチ２２０Ａに設定される。
【０１１６】
ステップ３０３）ゲートウェイスイッチ２２０Ａはフローエントリに基づいて、パケットを処理し、DPIのNW機能を有するNW機能サーバ２３０Ａに送信する。
【０１１７】
ステップ３０４）NW機能サーバ２３０Ａの仮想スイッチ部２３３がパケットを受け取ると、ラベルの情報『「NW機能サーバA，ＶＭ1」』からこのパケットをVM２３５Ａ（VM1）に適用すると判断し、DPIのNW機能を有するVM２３５Ａ(VM1)にパケットを転送する。その際、また、NW機能サーバ２３０Ａが含まれるラベルは削除し、パケットの宛先を次のラベルの位置情報『エッジスイッチ１２０１のIPアドレス（ES1）』で上書きし、そのラベルも削除して、VM２３５１（VM1）に転送する。
【０１１８】
ステップ３０５）VM２３５１（VM1）は、パケットに対してDPIの処理を行った後、NW機能サーバ２３０Ａにパケットを戻し、さらに、NW機能サーバ２３０Ａは、パケットをゲートウェイスイッチ２２０Ａに送信する。
【０１１９】
ステップ３０６）ゲートウェイスイッチ２２０Ａは、NW機能サーバ２３０Ａからのパケットを受け取ると、ラベルの情報（IPアドレス等）から、パケットの宛先をエッジスイッチ１２０２のＩＰアドレスに設定し、『エッジスイッチ１２０２のIPアドレス（ES2）』のラベルを削除し、エッジスイッチ１２０２に送信する。
【０１２０】
ステップ３０７）エッジスイッチ１２０２では、IPルーティング等に基づいて、Webサーバ１０３の存在するネットワークのポートへ、パケットを転送する。
【０１２１】
以上の動作により、端末１０１Ａからインターネット１０２のWebサーバ１０３に向かうパケットに対してNW機能(DPI)を適用する。
【０１２２】
なお、本発明は、図５に示すWANコントローラ１１０、エッジスイッチ１２０、クラウドコントローラ２１０、ゲートウェイスイッチ２２０、NW機能サーバ２３０が有する各機能の処理をプログラムとして構築し、これらの装置として機能するコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【０１２３】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【０１２４】
１  WAN
２  クラウド
１００  IPネットワーク
１０１  端末
１０１Ａ  端末Ａ
１０２  インターネット
１０３  Webサーバ
１１０  WANコントローラ
１１１  サービスジェインＤＢ
１１２  クラウドＤＢ
１１３  経路計算部
１１４  NW制御部
１１５，１１６，１１７  インタフェース
１２０  エッジスイッチ
１２１  セキュアチャネル
１２２  経路計算機能部
１２３  フローテーブル
１２４  パケット処理部
１２５A  インタフェースＡ
１２５Ｂ  インタフェースＢ
１２５Ｃ  インタフェースＣ
２００  NW機能クラウド
２１０  クラウドコントローラ
２３０Ａ  クラウドコントローラＡ
２３０Ｂ  クラウドコントローラＢ
２１１  NW機能ＤＢ
２１２  インタフェース
２１３  NW制御部
２１４  経路計算部
２１５  インタフェース
２２０  ゲートウェイスイッチ
２２１  セキュアチャネル
２２２  フローテーブル
２２３  経路計算機能部
２２４  パケット処理部
２２５Ａ  インタフェースＡ
２２５Ｂ  インタフェースＢ
２２５Ｃ  インタフェースＣ
２３０  NW機能サーバ
２３０Ａ  NW機能サーバＡ
２３０Ｂ  NW機能サーバＢ
２３１  経路計算機能部
２３２  フローテーブル
２３３  仮想スイッチ部
２３４  インタフェース
２３５１〜２３５ｚ  VM(仮想マシン)
２３５Ａ、２３５Ｂ  VM
【図１】
2015154421.tif 000003
【図２】
2015154421.tif 000004
【図３】
2015154421.tif 000005
【図４】
2015154421.tif 000006
【図５】
2015154421.tif 000007
【図６】
2015154421.tif 000008
【図７】
2015154421.tif 000009
【図８】
2015154421.tif 000010
【図９】
2015154421.tif 000011
【図１０】
2015154421.tif 000012
【図１１】
2015154421.tif 000013
【図１２】
2015154421.tif 000014
【図１３】
2015154421.tif 000015
【図１４】
2015154421.tif 000016
【図１５】
2015154421.tif 000017
【図１６】
2015154421.tif 000018
【図１７】
2015154421.tif 000019
【図１８】
2015154421.tif 000020
【図１９】
2015154421.tif 000021
【図２０】
2015154421.tif 000022