(57)【要約】  異なるドメイン間のＶＬＡＮ間通信を実現する際、転送装置等の処理負荷を低減する通信システムを提供する。通信システムは、ネットワークの端点に位置する第１の転送装置と、ネットワークの端点に位置する第２の転送装置と、第１及び第２の転送装置を制御することで、仮想ネットワークを構築する制御装置と、を含む。制御装置は、第１の転送装置に対し、仮想ネットワークを識別する識別子を含む第１のタグが挿入されたパケットを受信した場合に、受信パケットに第２のタグを挿入すると共に受信パケットを所定のポートから転送させる第１の処理規則を設定すると共に、第２の転送装置に対し、第２のタグが挿入されたパケットを受信した場合に、第２のタグを取り除き、所定のポートから転送させる第２の処理規則を設定する。
2016152903.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークの端点に位置する第１及び第２の転送装置と、
前記第１及び第２の転送装置を制御し、仮想ネットワークを構築する制御装置と、を含み、
前記制御装置は、
前記第１の転送装置に対し、前記仮想ネットワークを識別する識別子を含む第１のタグが挿入されたパケットを受信した場合に、受信パケットに第２のタグを挿入すると共に受信パケットを所定のポートから転送させる第１の処理規則を設定すると共に、
前記第２の転送装置に対し、前記第２のタグが挿入されたパケットを受信した場合に、前記第２のタグを取り除き、所定のポートから転送させる第２の処理規則を設定する、通信システム。
【請求項２】
前記制御装置は、前記第１の転送装置に対し、前記第２の処理規則を設定し、前記第２の転送装置に対し、前記第１の処理規則を設定する、請求項１の通信システム。
【請求項３】
前記制御装置は、前記第１の処理規則を用いて、前記第２のタグに前記ネットワーク内に仮想的に構築された仮想転送装置の識別子を設定すると共に、前記ネットワーク内の転送装置に対して、前記仮想転送装置の識別子が前記第２のタグに設定されたパケットを受信した場合には、前記仮想転送装置の識別子が前記第２のタグに設定されたパケットを所定のポートから転送させる第３の処理規則を設定する、請求項１又は２の通信システム。
【請求項４】
ネットワークの端点に位置する第１の転送装置と、前記ネットワークの端点に位置する第２の転送装置と、を制御することで、仮想ネットワークを構築する制御装置であって、
前記第１の転送装置に対し、前記仮想ネットワークを識別する識別子を含む第１のタグが挿入されたパケットを受信した場合に、受信パケットに第２のタグを挿入すると共に受信パケットを所定のポートから転送させる第１の処理規則を設定すると共に、
前記第２の転送装置に対し、前記第２のタグが挿入されたパケットを受信した場合に、前記第２のタグを取り除き、所定のポートから転送させる第２の処理規則を設定する、制御装置。
【請求項５】
前記第１の転送装置に対し、前記第２の処理規則を設定し、前記第２の転送装置に対し、前記第１の処理規則を設定する、請求項４の制御装置。
【請求項６】
前記第１の処理規則を用いて、前記第２のタグに、前記ネットワーク内に仮想的に構築された仮想転送装置の識別子を設定すると共に、前記ネットワーク内の転送装置に対して、前記仮想転送装置の識別子が前記第２のタグに設定されたパケットを受信した場合には、前記仮想転送装置の識別子が前記第２のタグに設定されたパケットを所定のポートから転送させる第３の処理規則を設定する、請求項４又は５の制御装置。
【請求項７】
ネットワークの端点に位置する第１の転送装置と、前記ネットワークの端点に位置する第２の転送装置と、を制御することで、仮想ネットワークを構築する制御装置の制御方法であって、
前記第１の転送装置に対し、前記仮想ネットワークを識別する識別子を含む第１のタグが挿入されたパケットを受信した場合に、受信パケットに第２のタグを挿入すると共に受信パケットを所定のポートから転送させる第１の処理規則を設定するステップと、
前記第２の転送装置に対し、前記第２のタグが挿入されたパケットを受信した場合に、前記第２のタグを取り除き、所定のポートから転送させる第２の処理規則を設定するステップと、
を含む制御装置の制御方法。
【請求項８】
ネットワークの端点に位置する第１の転送装置と、前記ネットワークの端点に位置する第２の転送装置と、を制御することで、仮想ネットワークを構築する制御装置に搭載されたコンピュータに実行させるプログラムであって、
前記第１の転送装置に対し、前記仮想ネットワークを識別する識別子を含む第１のタグが挿入されたパケットを受信した場合に、受信パケットに第２のタグを挿入すると共に受信パケットを所定のポートから転送させる第１の処理規則を設定する処理と、
前記第２の転送装置に対し、前記第２のタグが挿入されたパケットを受信した場合に、前記第２のタグを取り除き、所定のポートから転送させる第２の処理規則を設定する処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２０１５−０６０４７４号（２０１５年  ３月２４日出願）に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信システム、制御装置、制御方法及びプログラムに関する。特に、物理ネットワーク上に仮想ネットワークを形成する通信システム、制御装置、制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、ハードウェアの構成を変更させず、ソフトウェアによる設定によりネットワークの構成を変更するＳＤＮ（Software Defined Network）の利用が進んでいる。非特許文献１、２にて、オープンフロー（Open Flow）という技術が提案され、このオープンフローに対応した制御装置（Controller）や転送装置（Switch）が広く利用されている。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。【０００３】
非特許文献２に仕様化されているオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するマッチ条件（Match Fields）と、フロー統計情報（Counters）と、処理内容を定義したインストラクション（Instructions）と、の組が定義される（非特許文献２の「４．１  Ｆｌｏｗ  Ｔａｂｌｅ」の項参照）。【０００４】
特許文献１及び２にて、ＶＬＡＮ（Virtual Local Area Network）を構成するにあたり、ＶＬＡＮの識別子を含むタグ（ＶＬＡＮタグ）をイーサネット（登録商標、以下同じ）フレームに付与することが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−２７３８９３号公報
【特許文献２】特開２００３−１６９０８２号公報
【非特許文献】
【０００６】
【非特許文献１】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２７（２０１５）年３月９日検索］、インターネット〈URL:http://www.openflow.org/documents/openflow-wp-latest.pdf〉
【非特許文献２】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”  Ｖｅｒｓｉｏｎ  １．１．０  Ｉｍｐｌｅｍｅｎｔｅｄ  （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０２）、［ｏｎｌｉｎｅ］、［平成２７（２０１５）年３月９日検索］、インターネット〈URL:http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００７】
なお、上記先行技術文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者らによってなされたものである。【０００８】
オープンフロー技術が適用された制御装置と転送装置を利用することで、ユーザは、物理ネットワーク上に仮想ネットワークを構築できる。具体的には、仮想ネットワークの仮想ルータ、仮想スイッチ、アプライアンスに対応した物理ネットワーク上の転送装置が、構築された仮想ネットワークを実現するように制御される。即ち、転送装置は、自律的に通信を制御（フローを制御）するのではなく、制御装置からの設定（処理規則、フローテーブル）に従って通信を制御する。【０００９】
ここで、ネットワークドメイン（トポロジ）を越える仮想ネットワークを構築したいという要望がある。発明者らは、検討の結果、当該要望は以下の手法により実現可能であるとの知見を得た。なお、特許文献１及び２の技術は、同一の回線業者が提供するネットワーク内で仮想ネットワークを構築するものであり、特許文献１及び２の技術を適用しても異なるネットワーク間で１つの仮想ネットワークを構築することはできない。【００１０】
例えば、制御装置は、ネットワークドメインの端点に位置する転送装置を以下のように制御する。制御装置は、端点に位置する転送装置が、ＶＬＡＮ間通信を行うＶＬＡＮ  ＩＤとポートに適合するパケットを受信した際、イーサネットフレームの送信元ＭＡＣアドレスとペイロードの間に存在するＶＬＡＮタグを、仮想ネットワークのＩＤと仮想転送装置のＩＤを含むタグに変換（ＶＬＡＮタグを書き換え）し、変換後のＶＬＡＮタグを含むパケットを、ネットワークドメンイン内の他の転送装置に転送させる処理規則を転送装置に設定する。なお、仮想転送装置とは、ネットワークドメンイン内の転送装置であって、制御装置が、仮想ネットワークを実現する転送装置として扱う装置である。【００１１】
ネットワークドメンイン内の転送装置は、上記変換されたＶＬＡＮタグを含むパケットを受信すると、変換されたＶＬＡＮタグに従って、当該パケットを他の転送装置に転送していく。そして、最終的には、ネットワークの端点に位置する他の転送装置にパケットが到達する。【００１２】
制御装置は、ネットワークドメインの端点に位置する他の転送装置に対し、上記変換されたＶＬＡＮタグを受信した場合には、当該変換されたＶＬＡＮタグを変換前のＶＬＡＮタグに書き戻す処理規則を設定する。当該他の転送装置は、ＶＬＡＮタグが当初の内容に書き戻されたＶＬＡＮタグを有するパケットを他のドメインに向けて転送する。【００１３】
以上のように、ネットワークドメインの端点に位置する２つの転送装置に設定される処理規則により、ドメインを越えるＶＬＡＮ間通信が実現できる。【００１４】
ここで、上記制御の実現には、制御装置と転送装置はそれぞれテーブル情報を保持し、当該テーブル情報に従った処理が必要となる。例えば、転送装置は、ＶＬＡＮ間通信を行うＶＬＡＮ  ＩＤと、仮想ネットワークのＩＤと、仮想転送装置のＩＤと、転送ポートと、を対応付けるテーブルを保持し、当該テーブル情報に従って、ＶＬＡＮタグを仮想ネットワークのＩＤと仮想転送装置のＩＤを含むタグに変換する処理が必要となる。【００１５】
このような処理は、処理すべきパケットの数が少なければ問題になることは少ないが、膨大な数のパケットを処理する場合には、転送装置の処理負荷が増大し、問題となる。【００１６】
本発明は、ネットワークドメインを越えるＶＬＡＮ間通信を実現する際、転送装置等の処理負荷を低減する通信システム、制御装置、制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明の第１の視点によれば、ネットワークの端点に位置する第１及び第２の転送装置と、前記第１及び第２の転送装置を制御し、仮想ネットワークを構築する制御装置と、を含み、前記制御装置は、前記第１の転送装置に対し、前記仮想ネットワークを識別する識別子を含む第１のタグが挿入されたパケットを受信した場合に、受信パケットに第２のタグを挿入すると共に受信パケットを所定のポートから転送させる第１の処理規則を設定すると共に、前記第２の転送装置に対し、前記第２のタグが挿入されたパケットを受信した場合に、前記第２のタグを取り除き、所定のポートから転送させる第２の処理規則を設定する、通信システムが提供される。【００１８】
本発明の第２の視点によれば、ネットワークの端点に位置する第１の転送装置と、前記ネットワークの端点に位置する第２の転送装置と、を制御することで、仮想ネットワークを構築する制御装置であって、前記第１の転送装置に対し、前記仮想ネットワークを識別する識別子を含む第１のタグが挿入されたパケットを受信した場合に、受信パケットに第２のタグを挿入すると共に受信パケットを所定のポートから転送させる第１の処理規則を設定すると共に、前記第２の転送装置に対し、前記第２のタグが挿入されたパケットを受信した場合に、前記第２のタグを取り除き、所定のポートから転送させる第２の処理規則を設定する、制御装置が提供される。【００１９】
本発明の第３の視点によれば、ネットワークの端点に位置する第１の転送装置と、前記ネットワークの端点に位置する第２の転送装置と、を制御することで、仮想ネットワークを構築する制御装置の制御方法であって、前記第１の転送装置に対し、前記仮想ネットワークを識別する識別子を含む第１のタグが挿入されたパケットを受信した場合に、受信パケットに第２のタグを挿入すると共に受信パケットを所定のポートから転送させる第１の処理規則を設定するステップと、前記第２の転送装置に対し、前記第２のタグが挿入されたパケットを受信した場合に、前記第２のタグを取り除き、所定のポートから転送させる第２の処理規則を設定するステップと、を含む制御装置の制御方法が提供される。【００２０】
本発明の第４の視点によれば、ネットワークの端点に位置する第１の転送装置と、前記ネットワークの端点に位置する第２の転送装置と、を制御することで、仮想ネットワークを構築する制御装置に搭載されたコンピュータに実行させるプログラムであって、前記第１の転送装置に対し、前記仮想ネットワークを識別する識別子を含む第１のタグが挿入されたパケットを受信した場合に、受信パケットに第２のタグを挿入すると共に受信パケットを所定のポートから転送させる第１の処理規則を設定する処理と、前記第２の転送装置に対し、前記第２のタグが挿入されたパケットを受信した場合に、前記第２のタグを取り除き、所定のポートから転送させる第２の処理規則を設定する処理と、を実行させるプログラムが提供される。
なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント（non-transient）なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００２１】
本発明の各視点によれば、ネットワークドメインを越えるＶＬＡＮ間通信を実現する際、転送装置等の処理負荷を低減することに寄与する通信システム、制御装置、制御方法及びプログラムが、提供される。
【図面の簡単な説明】
【００２２】
【図１】一実施形態の概要を説明するための図である。
【図２】第１の実施形態に係る通信システムの概略構成の一例を示す図である。
【図３】制御装置の内部構成の一例を示す図である。
【図４】制御装置の動作の一例を示すフローチャートである。
【図５】転送装置の内部構成の一例を示す図である。
【図６】転送装置の記憶部に格納されているフローテーブルの一例を示す図である。
【図７】転送装置の動作の一例を示すフローチャートである。
【図８】転送装置の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００２３】
初めに、一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。
【００２４】
一実施形態に係る通信システムは、ネットワークの端点に位置する第１の転送装置１００−１と、ネットワークの端点に位置する第２の転送装置１００−２と、第１及び第２の転送装置を制御することで、仮想ネットワークを構築する制御装置１０１と、を含む（図１参照）。制御装置１０１は、第１の転送装置１００−１に対し、仮想ネットワークを識別する識別子を含む第１のタグ（例えば、ＶＬＡＮタグ）が挿入されたパケットを受信した場合に、受信パケットに第２のタグ（例えば、後述するＶＬＡＮ透過タグ）を挿入すると共に受信パケットを所定のポートから転送させる第１の処理規則を設定すると共に、第２の転送装置１００−２に対し、第２のタグが挿入されたパケットを受信した場合に、第２のタグを取り除き、所定のポートから転送させる第２の処理規則を設定する設定部１０２を備える。
【００２５】
第１の処理規則が設定された第１の転送装置１００−１は、ＶＬＡＮ間通信を行う仮想ネットワークを識別するためのＶＬＡＮタグがヘッダに設定されたパケットを受信すると、例えば、送信元ＭＡＣアドレスとＶＬＡＮタグの間に、仮想転送装置のＩＤを含むタグ（後述のＶＬＡＮ透過タグ）を挿入し、当該パケットを所定のポートから転送する。当該パケットを受信した転送装置は、当該パケットを第２の転送装置１００−２に転送する。第２の処理規則が設定された第２の転送装置１００−２は、仮想転送装置のＩＤを含むタグを取り除き、所定のポートからパケットを転送する。
【００２６】
以上の制御の結果、同一のＶＬＡＮ  ＩＤを有する仮想ネットワーク（ＶＬＡＮネットワーク）間に様々なネットワーク（ドメイン、トポロジ）が存在していても、容易に中間のネットワークを飛び越す（経由しない）仮想ネットワークが構築される。即ち、制御装置１０１は、ＶＬＡＮ透過制御装置として機能する。また、図１に示す通信システムでは、ＶＬＡＮ間通信を行うＶＬＡＮ  ＩＤ及びその対応ポートと、仮想転送装置のＩＤを記憶すれば十分である。さらに、上述の例とは異なり、ＶＬＡＮタグの変換処理は不要であって、パケットにＶＬＡＮ透過タグを挿入するというより負荷の軽い処理により、複数のネットワークドメインに跨がる仮想ネットワークを構築できる。
【００２７】
以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。なお、各実施形態において同一構成要素には同一の符号を付し、その説明を省略する。
【００２８】
［第１の実施形態］
第１の実施形態について、図面を用いてより詳細に説明する。
【００２９】
［通信システムの構成］
図２は、第１の実施形態に係る通信システムの概略構成の一例を示す図である。図２を参照すると、通信システムは、端末１０−１及び１０−２と、制御装置２０と、転送装置３０−１及び３０−２と、を含んで構成される。
【００３０】
端末１０は、ユーザが使用する情報処理装置であって、例えば、端末１０−１と端末１０−２の間でパケットの送受信が行われる。制御装置２０は、オープンフローコントローラに相当し、転送装置３０は、パケットを転送するスイッチであって、オープンフロースイッチに相当する。但し、制御装置２０、転送装置３０に適用するプロトコルは、オープンフロープロトコルに限定されない。また、オープンフローコントローラやオープンフロースイッチを用いて制御装置２０、転送装置３０とするだけでなく、同等の機能を有するサーバや情報処理装置（ＰＣ；Personal Computer）を用いてもよい。
【００３１】
制御装置２０は、物理ネットワーク上に、独立したネットワーク（仮想ネットワーク；ＶＬＡＮ）を構築する。図２の例では、制御装置２０は、識別子（ＩＤ）が１００に設定されている仮想ネットワークを構築している。なお、制御装置２０は、物理ネットワーク上にて複数の仮想ネットワークを構築可能であるが、第１の実施形態では、理解の容易のため、１つの仮想ネットワークを構築するものとする。
【００３２】
図２に示す物理ネットワーク上での仮想ネットワークは、端末１０−１の側のネットワークドメイン（トポロジ）と、端末１０−２の側のネットワークドメインと、に跨がって構成される。
【００３３】
転送装置３０−１、３０−２はそれぞれ、自身が属するネットワークドメインの端点（エッジ）に位置する転送装置である。つまり、転送装置３０−１、３０−２は、ネットワークの末端に位置し、他のネットワークとの接続ノードとして動作する。転送装置３０−１、３０−２は端点に位置するため、少なくとも、自身が属するネットワーク内部の転送装置と接続されたポート（図２の例では、ポートＰ１、Ｐ４）と、他のネットワークと接続されたポート（ポートＰ３、Ｐ６）と、を有する。なお、転送装置３０−１、３０−２は、それぞれ制御装置２０と通信するためのポート（Ｐ２、Ｐ５）も有する。
【００３４】
制御装置２０は、ネットワークドメイン２０１を越えるＶＬＡＮ間通信を実現するため、転送装置３０−１、３０−２を初めとしたネットワークドメイン２０１に含まれる転送装置に処理規則を設定する機能を有する。なお、制御装置２０は、ネットワークドメイン２０１の内部に位置する転送装置に処理規則を設定し、当該内部に位置する転送装置を仮想転送装置４０として扱う。また、仮想転送装置４０は、仮想ネットワークにより構築されたネットワーク上でのＬ２（Layer  ２）スイッチに相当する。
【００３５】
［通信システムの動作概略］
次に、図２を参照しつつ、通信システムの動作の概略を説明する。
【００３６】
端末１０−１が、端末１０−２に向けてパケット（仮想ネットワークに収容されるパケット）を送信すると、当該パケットは転送装置３０−１に到達する。その際、転送装置３０−１は、ＶＬＡＮ  ＩＤ（図２の例ではＶＬＡＮ  ＩＤ＝１００）が設定されたＶＬＡＮタグが送信元ＭＡＣ（Media Access Control）アドレスとペイロードの間に挿入されたパケットを受信する（図２のパケット１参照）。
【００３７】
転送装置３０−１は、パケットを受信すると、制御装置２０から設定される処理規則を参照し、受信パケットに対する処理を実行する。転送装置３０−１には、例えば、ＶＬＡＮ  ＩＤ＝１００が設定されたパケットの受信がマッチ条件として設定される。図２に示すパケット１が上記マッチ条件を満たすとすると、転送装置３０−１は、パケット１の送信元ＭＡＣアドレスとＶＬＡＮタグの間に、仮想転送装置４０の識別子を含むタグを挿入する。
【００３８】
なお、第１の実施形態では、仮想転送装置４０の識別子をＶＴＩＤ（Virtual Transport ＩＤ）と表記し、ＶＴＩＤ（仮想転送装置４０の識別子）を含むタグを、ＶＬＡＮ透過タグと表記する。また、仮想転送装置４０の識別子（ＶＴＩＤ）の値は、ＩＤ１とする。
【００３９】
転送装置３０−１は、パケット１にＶＬＡＮ透過タグを挿入したパケット（図２のパケット２）を、ネットワークドメイン２０１に含まれる他の転送装置に送信する。上記パケット２は、ネットワークドメイン２０１に位置する転送装置に送られる。
【００４０】
当該転送装置は、受信パケットに含まれるＶＬＡＮ透過タグに設定されたＩＤ（ＶＴＩＤ）を確認し、ＶＴＩＤとパケットの送信先が関係づけられたテーブルを参照し、受信パケット（パケット２）を適切なポートから出力する。ＶＬＡＮ透過タグが挿入されたパケットは、ネットワークドメイン２０１の内部に位置する転送装置（制御装置２０が仮想転送装置４０として扱う転送装置）を経由して、転送装置３０−２に到達する。
【００４１】
転送装置３０−２は、仮想転送装置４０から送信されるパケットをポートＰ４により受信する。転送装置３０−２は、パケットを受信すると、制御装置２０から設定される処理規則を参照し、受信パケットに対する処理を実行する。転送装置３０−２には、例えば、ＶＬＡＮ透過タグが挿入されたパケットの受信がマッチ条件に設定される。転送装置３０−２は、上記マッチ条件に合致するパケットを受信すると、挿入されたＶＬＡＮ透過タグを取り除き、ポートＰ６から出力する（パケット３を端末１０−２に向けて送信する）。
【００４２】
［制御装置の構成］
図３は、制御装置２０の内部構成の一例を示す図である。図３（ａ）を参照すると、制御装置２０は、仮想ネットワーク制御部２１と、記憶部２２と、通信制御部２３と、を含んで構成される。
【００４３】
仮想ネットワーク制御部２１は、通信システムに含まれる転送装置からなる物理ネットワーク上に仮想ネットワークを構築し、制御する手段である。より具体的には、仮想ネットワーク制御部２１は、物理ネットワーク上に仮想ネットワークをマッピングし、必要な転送経路の計算及び処理規則の設定を行う。なお、仮想ネットワーク制御部２１は、通信システムの管理者等から、通信システムに構築したい仮想ネットワークの情報を取得する。
【００４４】
仮想ネットワーク制御部２１は、当該入力された情報と、物理ネットワークに関する情報（例えば、転送装置間のリンクに関する情報）と、に基づいて、入力された仮想ネットワークの構成を実現するためのパケット転送経路を計算する。仮想ネットワーク制御部２１は、計算した経路を記憶部２２に格納すると共に、当該計算された経路上の転送装置に対して、処理規則を設定する。例えば、仮想ネットワーク制御部２１は、仮想ネットワークに収容するパケットを識別するマッチ条件と、当該マッチ条件に一致するパケットに対する処理（インストラクション；例えば、転送ポートの指定）と、を含む処理規則を計算し、各転送装置に設定する。
【００４５】
仮想ネットワーク制御部２１は、ネットワークドメインを越えたＶＬＡＮ間通信を実現するための処理規則を、各ドメインの端点に位置する転送装置に設定する。具体的には、仮想ネットワークを識別するためのマッチ条件と、当該マッチ条件に合致したパケットに対する処理（ＶＬＡＮ透過タグの挿入、指定ポートからの転送）と、を含む処理規則を計算し、ドメインの端点に位置する転送装置３０−１、３０−２に設定する。
【００４６】
なお、以降の説明において、ネットワークドメインを越えるＶＬＡＮ間の通信を実現するための処理規則を、ＶＬＡＮ透過設定用の処理規則、又は、単にＶＬＡＮ透過設定と表記する。図２に示す例では、仮想ネットワーク制御部２１は、転送装置３０−１と転送装置３０−２にＶＬＡＮ透過設定の設定を行う。転送装置３０−１、３０−２に設定するＶＬＡＮ透過設定の具体的内容は後述する。
【００４７】
さらに、仮想ネットワーク制御部２１は、転送装置３０−１、３０−２以外のネットワークドメイン２０１に含まれる転送装置に設定する処理規則を計算し、当該転送装置に計算した処理規則を設定する。仮想ネットワーク制御部２１は、仮想転送装置４０を実現するための処理規則を計算し、ネットワークドメイン２０１に含まれる転送装置に設定する機能を有する。具体的には、仮想ネットワーク制御部２１は、ＶＬＡＮ透過タグが設定されたパケットを受信した場合に、当該パケットを所定のポートから転送させる処理規則を、転送装置に設定し、仮想転送装置４０を実現する。
【００４８】
以上のように、仮想ネットワーク制御部２１は、仮想ネットワークを構築するために必要な転送経路を計算するための手段（転送経路計算部１２１）と、計算された処理規則（ＶＬＡＮ透過設定を含む）を各転送装置３０に設定する手段（処理規則設定部１２２）と、を含む（図３（ｂ）参照）。
【００４９】
通信制御部２３は、制御装置２０と転送装置３０間の通信を制御する手段である。通信制御部２３は、パケットを受信すると仮想ネットワーク制御部２１に引き渡す。
【００５０】
制御装置２０の動作をまとめると図４に示すフローチャートのとおりとなる。
【００５１】
ステップＳ１０１において、仮想ネットワーク制御部２１は、仮想ネットワークの作成を行う。
【００５２】
ステップＳ１０２において、仮想ネットワーク制御部２１は、作成した仮想ネットワークを物理ネットワークにマッピングする。具体的には、仮想ネットワーク制御部２１は、各転送装置に対して、必要な処理規則を設定する。
【００５３】
ステップＳ１０３において、仮想ネットワーク制御部２１は、ドメインの端点に位置する転送装置に設定するＶＬＡＮ透過設定を作成し、各転送装置に設定する。
【００５４】
なお、仮想ネットワーク制御部２１は、制御装置２０に搭載されたコンピュータに、そのハードウェアを用いて、上述の処理を実行させるコンピュータプログラムにより実現することもできる。
【００５５】
［転送装置の構成］
図５は、転送装置３０−１の内部構成の一例を示す図である。図５を参照すると、転送装置３０−１は、通信制御部３１と、テーブル管理部３２と、記憶部３３と、転送処理部３４と、を含んで構成されている。なお、転送装置３０−１は、オープンフロースイッチに相当するため、未知のパケットを受信した場合に、当該パケットの処理規則の設定を制御装置２０に依頼する機能を有するが、その詳細な説明は省略する。また、転送装置３０−２は、転送装置３０−１と同様の構成を有するため、転送装置３０−２に関する構成及びその動作の説明は省略する。
【００５６】
通信制御部３１は、制御装置２０や他の転送装置との間の通信を制御する手段である。通信制御部３１は、パケットやメッセージを受信すると、その内容に応じてテーブル管理部３２や転送処理部３４にパケット等を振り分ける。
【００５７】
テーブル管理部３２は、記憶部３３に保持されているテーブルを管理する手段である。より具体的には、テーブル管理部３２は、制御装置２０から指示された処理規則を記憶部３３に登録又は更新する。
【００５８】
記憶部３３は、転送処理部３４が受信パケットの処理を行う際に参照するテーブルを１つ以上格納可能な記憶手段である。
【００５９】
転送処理部３４は、テーブル検索部１４１と、アクション実行部１４２と、を含んで構成される。
【００６０】
テーブル検索部１４１は、記憶部３３に格納されたテーブルから、受信パケットに適合するマッチ条件（マッチフィールド）を持つ処理規則を検索する手段である。
【００６１】
アクション実行部１４２は、テーブル検索部１４１にて検索された処理規則のインストラクションフィールドに示す処理内容（例えば、パケットの編集、送信先の決定、送信ポートの決定等）に従ってパケット処理を行う手段である。具体的には、アクション実行部１４２は、ＶＬＡＮ透過タグの挿入等の処理を行い、当該処理後のパケットを、通信制御部３１を介して適切なポート（処理規則により決まるポート）から転送する。
【００６２】
図６は、転送装置３０−１の記憶部３３に格納されているフローテーブルの一例を示す図である。図６には、図２を参照して説明した仮想ネットワーク（ドメインを越える仮想ネットワーク；ＩＤ＝１００）を実現するためのＶＬＡＮ透過設定の一例が示されている。
【００６３】
図６の１行目は、転送装置３０−１が、ネットワークドメイン２０１内の転送装置にパケットを転送する際の処理規則である。図６の２行目は、転送装置３０−１が、ネットワークドメイン２０１内の転送装置からパケットを受信した際の処理規則である。
【００６４】
図６の１行目には、ＶＬＡＮ  ＩＤに１００が設定されたＶＬＡＮタグを有するパケットを識別するためのマッチ条件が記載されている。また、図６の１行目の処理内容（Instructions）には、ＶＴＩＤ＝ＩＤ１となるＶＬＡＮ透過タグを挿入する処理と、受信パケットをポートＰ１から転送する処理と、が記載されている。
【００６５】
図６の２行目には、ネットワークドメイン２０１の転送装置からＶＴＩＤにＩＤ１が設定されたＶＬＡＮ透過タグが挿入されたパケットを識別するためのマッチ条件が設定されている。また、図６の２行目の処理内容には、ＶＬＡＮ透過タグを取り除く処理（除去する処理）と、受信パケットをポートＰ３から転送する処理と、が記載されている。
【００６６】
図６に示す処理規則は転送装置３０−１に設定される処理規則の一例であるが、転送装置３０−２に対しても、転送先ポートや受信ポートを適宜変更した同様の処理規則が設定される。
【００６７】
転送装置３０の動作をまとめると、図７及び図８に示すフローチャートのようになる。
【００６８】
図７を参照すると、テーブル管理部３２は、制御装置２０から処理規則（ＶＬＡＮ透過設定）に係るメッセージの受信を待機する（ステップＳ２０１）。
【００６９】
テーブル管理部３２は、ＶＬＡＮ透過設定を受信すると（ステップＳ２０１、Ｙｅｓ分岐）、当該設定を記憶部３３に格納し、フローテーブルを更新する（ステップＳ２０２）。
【００７０】
図８を参照すると、転送装置３０は、パケットを受信する（ステップＳ３０１）。転送処理部３４は、受信パケットがフローテーブルに格納されたマッチ条件に合致するか（ＶＬＡＮ透過設定に適合するか）否かを判定する（ステップＳ３０２）。具体的には、転送装置３０−１や３０−２では、ＶＬＡＮ透過設定のマッチ条件と受信パケットの間のマッチングが確認される。
【００７１】
受信パケットとＶＬＡＮ透過設定のマッチ条件が一致すれば（ステップＳ３０２、Ｙｅｓ分岐）、転送処理部３４はＶＬＡＮ透過処理（ＶＬＡＮ透過タグの挿入又は除去）を実行する（ステップＳ３０３）。転送装置３０は、ＶＬＡＮ透過処理が施されたパケットを、ＶＬＡＮ透過設定により定まるポートから転送する（ステップＳ３０４）。具体的には、通信制御部３１が、イーサネットフレームに従ってパケットを送信する。
【００７２】
以上のように、第１の実施形態に係る通信システムは、ドメインを越えるような仮想ネットワークに収容されるパケットに対しては、ＶＬＡＮ透過タグを挿入又は除去する処理規則（ＶＬＡＮ透過設定）を転送装置に設定する。その結果、端点に位置する転送装置が、ＶＬＡＮ透過タグをパケットのヘッダに挿入するという単純な処理を行うことで、ドメインを越えるＶＬＡＮ間通信が実現できる。即ち、第１の実施形態に係る転送装置には、ＶＬＡＮタグを変換するという処理が不要となり、その負荷が低減される。
【００７３】
さらに、各転送装置が多くの情報（上述の例であれば、ＶＬＡＮ  ＩＤ、仮想ネットワークのＩＤ、仮想転送装置のＩＤ、転送ポート）を保持する必要がなく、各転送装置のリソースを有効活用できる。
【００７４】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
［付記１］
ネットワークの端点に位置する第１及び第２の転送装置と、
前記第１及び第２の転送装置を制御し、仮想ネットワークを構築する制御装置と、を含み、
前記制御装置は、
前記第１の転送装置に対し、前記仮想ネットワークを識別する識別子を含む第１のタグが挿入されたパケットを受信した場合に、受信パケットに第２のタグを挿入すると共に受信パケットを所定のポートから転送させる第１の処理規則を設定すると共に、
前記第２の転送装置に対し、前記第２のタグが挿入されたパケットを受信した場合に、前記第２のタグを取り除き、所定のポートから転送させる第２の処理規則を設定する、通信システム。
［付記２］
前記設定部は、前記第１の転送装置に対し、前記第２の処理規則を設定し、前記第２の転送装置に対し、前記第１の処理規則を設定する、付記１の通信システム。
［付記３］
前記設定部は、前記第１の処理規則を用いて、前記第２のタグに、前記ネットワーク内に仮想的に構築された仮想転送装置の識別子を設定させると共に、前記ネットワーク内の転送装置に対して、前記仮想転送装置の識別子が前記第２のタグに設定されたパケットを受信した場合には、所定のポートから転送させる第３の処理規則を設定する、付記１又は２の通信システム。
［付記４］
ネットワークの端点に位置する第１の転送装置と、前記ネットワークの端点に位置する第２の転送装置と、を制御することで、仮想ネットワークを構築する制御装置であって、
前記第１の転送装置に対し、前記仮想ネットワークを識別する識別子を含む第１のタグが挿入されたパケットを受信した場合に、受信パケットに第２のタグを挿入すると共に受信パケットを所定のポートから転送させる第１の処理規則を設定するすると共に、
前記第２の転送装置に対し、前記第２のタグが挿入されたパケットを受信した場合に、前記第２のタグを取り除き、所定のポートから転送させる第２の処理規則を設定する、制御装置。
［付記５］
前記設定部は、前記第１の転送装置に対し、前記第２の処理規則を設定し、前記第２の転送装置に対し、前記第１の処理規則を設定する、付記４の制御装置。
［付記６］
前記設定部は、前記第１の処理規則を用いて、前記第２のタグに、前記ネットワーク内に仮想的に構築された仮想転送装置の識別子を設定させると共に、前記ネットワーク内の転送装置に対して、前記仮想転送装置の識別子が前記第２のタグに設定されたパケットを受信した場合には、所定のポートから転送させる第３の処理規則を設定する、付記４又は５の制御装置。
［付記７］
ネットワークの端点に位置する第１の転送装置と、前記ネットワークの端点に位置する第２の転送装置と、を制御することで、仮想ネットワークを構築する制御装置の制御方法であって、
前記第１の転送装置に対し、前記仮想ネットワークを識別する識別子を含む第１のタグが挿入されたパケットを受信した場合に、受信パケットに第２のタグを挿入すると共に受信パケットを所定のポートから転送させる第１の処理規則を設定するステップと、
前記第２の転送装置に対し、前記第２のタグが挿入されたパケットを受信した場合に、前記第２のタグを取り除き、所定のポートから転送させる第２の処理規則を設定するステップと、
を含む制御装置の制御方法。
［付記８］
ネットワークの端点に位置する第１の転送装置と、前記ネットワークの端点に位置する第２の転送装置と、を制御することで、仮想ネットワークを構築する制御装置に搭載されたコンピュータに実行させるプログラムであって、
前記第１の転送装置に対し、前記仮想ネットワークを識別する識別子を含む第１のタグが挿入されたパケットを受信した場合に、受信パケットに第２のタグを挿入すると共に受信パケットを所定のポートから転送させる第１の処理規則を設定する処理と、
前記第２の転送装置に対し、前記第２のタグが挿入されたパケットを受信した場合に、前記第２のタグを取り除き、所定のポートから転送させる第２の処理規則を設定する処理と、
を実行させるプログラム。
なお、付記７の形態及び付記８の形態は、付記４の形態と同様に、付記５の形態〜付記６の形態に展開することが可能である。
【００７５】
なお、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【００７６】
１０−１、１０−２  端末
２０、１０１  制御装置
２１  仮想ネットワーク制御部
２２、３３  記憶部
２３、３１  通信制御部
３０、３０−１、３０−２、１００−１、１００−２  転送装置
３２  テーブル管理部
３４  転送処理部
４０  仮想転送装置
１０２  設定部
１２１  転送経路計算部
１２２  処理規則設定部
１４１  テーブル検索部
１４２  アクション実行部
２０１  ネットワークドメイン
【図１】
2016152903.tif 000003
【図２】
2016152903.tif 000004
【図３】
2016152903.tif 000005
【図４】
2016152903.tif 000006
【図５】
2016152903.tif 000007
【図６】
2016152903.tif 000008
【図７】
2016152903.tif 000009
【図８】
2016152903.tif 000010
【国際調査報告】
2016152903.tif 000011
2016152903.tif 000012
2016152903.tif 000013
2016152903.tif 000014