(57)【要約】【課題】アンダーレイネットワークシステムを構成する中継装置群によるカプセル化されたパケットの転送に係る設定を低コストにて実現する制御装置を提供する。【解決手段】制御装置は、トンネル接続することで仮想ネットワークを構成する第１及び第２の終端装置とそれぞれ接続された第１及び第２の中継装置を含む複数の中継装置を制御する。制御装置は、経路計算部と、制御情報設定部と、を備える。経路計算部は、第１の終端装置が送信するカプセル化されたパケットを、第１の中継装置から第２の中継装置まで転送するためのパケット転送経路を計算する。制御情報設定部は、パケット転送経路を実現するための制御情報を生成し、パケット転送経路上の中継装置に設定する。その際、制御情報設定部は、カプセル化されたパケットのヘッダに含まれる送信先アドレスを識別条件として含む制御情報を生成する。【選択図】図１
2016225933.tif 000002
【特許請求の範囲】
【請求項１】
トンネル接続することで仮想ネットワークを構成する第１及び第２の終端装置とそれぞれ接続された第１及び第２の中継装置を含む複数の中継装置を制御する制御装置であって、
前記第１の終端装置が送信するカプセル化されたパケットを、前記第１の中継装置から前記第２の中継装置まで転送するためのパケット転送経路を計算する、経路計算部と、
前記パケット転送経路を実現するための制御情報を生成し、前記パケット転送経路上の前記中継装置に設定する制御情報設定部と、
を備え、
前記制御情報設定部は、
前記カプセル化されたパケットのヘッダに含まれる送信先アドレスを識別条件として含む前記制御情報を生成する、制御装置。
【請求項２】
前記パケット転送経路を視認可能なデータを生成し、出力する転送経路可視化部をさらに備える、請求項１の制御装置。
【請求項３】
前記経路計算部は、
前記複数の中継装置からなるアンダーレイネットワークにおける前記第１及び第２の終端装置の位置と、前記第１及び第２の終端装置のアドレスと、に関する情報を含むトンネル終端ポイント情報に基づき、前記パケット転送経路を計算する、請求項１又は２の制御装置。
【請求項４】
他の中継装置が接続されていないリンクにより接続しているポートにより前記カプセル化されたパケットを受信した場合に、前記カプセル化されたパケットの受信を前記制御装置に通知するように前記複数の中継装置それぞれを制御することで、前記トンネル終端ポイント情報を生成する、トンネル終端ポイント情報管理部をさらに備える、請求項３の制御装置。
【請求項５】
前記経路計算部は、
前記トンネル終端ポイント情報と、前記複数の中継装置がなすアンダーレイネットワークのトポロジに関する情報と、に基づき、前記パケット転送経路を計算する、請求項３又は４の制御装置。
【請求項６】
前記制御情報設定部は、
前記識別条件に一致する前記カプセル化されたパケットを所定のポートから転送させる指示を含む、前記制御情報を生成する、請求項１乃至５のいずれか一項に記載の制御装置。
【請求項７】
前記第１及び第２の終端装置は、ＶＸＬＡＮ（Virtual eXtensible Local Area Network）ヘッダを付加することで、パケットのカプセル化を行う、請求項１乃至６のいずれか一項に記載の制御装置。
【請求項８】
トンネル接続することで仮想ネットワークを構成する第１及び第２の終端装置とそれぞれ接続された第１及び第２の中継装置を含む複数の中継装置を制御する方法であって、
前記第１の終端装置が送信するカプセル化されたパケットを、前記第１の中継装置から前記第２の中継装置まで転送するためのパケット転送経路を計算するステップと、
前記パケット転送経路を実現するための制御情報であって、前記カプセル化されたパケットのヘッダに含まれる送信先アドレスを識別条件として含む制御情報を生成するステップと、
前記パケット転送経路上の前記中継装置に、前記制御情報を設定するステップと、
を含む、中継装置の制御方法。
【請求項９】
トンネル接続することで仮想ネットワークを構成する第１及び第２の終端装置とそれぞれ接続された第１及び第２の中継装置を含む複数の中継装置を制御する制御装置に搭載されたコンピュータに実行させるプログラムであって、
前記第１の終端装置が送信するカプセル化されたパケットを、前記第１の中継装置から前記第２の中継装置まで転送するためのパケット転送経路を計算する処理と、
前記パケット転送経路を実現するための制御情報であって、前記カプセル化されたパケットのヘッダに含まれる送信先アドレスを識別条件として含む制御情報を生成する処理と、
前記パケット転送経路上の前記中継装置に、前記制御情報を設定する処理と、
を実行させるプログラム。
【請求項１０】
トンネル接続することで仮想ネットワークを構成する第１及び第２の終端装置とそれぞれ接続された第１及び第２の中継装置を含む、複数の中継装置と、
前記複数の中継装置を制御する制御装置と、
を含み、
前記制御装置は、
前記第１の終端装置が送信するカプセル化されたパケットを、前記第１の中継装置から前記第２の中継装置まで転送するためのパケット転送経路を計算する、経路計算部と、
前記パケット転送経路を実現するための制御情報を生成し、前記パケット転送経路上の前記中継装置に設定する制御情報設定部と、
を備え、
前記制御情報設定部は、
前記カプセル化されたパケットのヘッダに含まれる送信先アドレスを識別条件として含む前記制御情報を生成する、通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、中継装置の制御方法、プログラム及び通信システムに関する。特に、中継装置を集中制御する制御装置、中継装置の制御方法、プログラム及び通信システムに関する。
【背景技術】
【０００２】
近年、トンネリング技術を利用した種々のオーバレイネットワーク技術が用いられている。例えば、特許文献１には、仮想ネットワークにおける通信の経路の選択に関する技術が開示されている。さらに、ＲＦＣ（Request for Comments）７３４８等でネットワークの仮想化を実現するＶＸＬＡＮ（Virtual Extensible LAN）が規定されている。ＶＸＬＡＮでは、パケット（フレーム）にＶＸＬＡＮヘッダを付加することでパケットをカプセル化し、レイヤ３（Ｌ３）のネットワーク上に論理的なレイヤ２（Ｌ２）ネットワークを構築する。
【０００３】
また、近年、オープンフロー（ＯｐｅｎＦｌｏｗ）という技術が提案されている（非特許文献１、２参照）。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。非特許文献２に仕様化されているオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合する内容が定められたマッチフィールド（Ｍａｔｃｈ  Ｆｉｅｌｄｓ）と、フロー統計情報（Ｃｏｕｎｔｅｒｓ）と、処理内容を定義したインストラクション（Ｉｎｓｔｒｕｃｔｉｏｎｓ）と、の組が定義される。
【０００４】
例えば、オープンフロースイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するマッチフィールドを持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、フロー統計情報（カウンタ）を更新するとともに、受信パケットに対して、当該エントリのインストラクションフィールドに記述された処理内容（指定ポートからのパケット送信、フラッディング、廃棄等）を実施する。一方、検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対してエントリ設定の要求、即ち、受信パケットの処理内容の決定の要求を送信する。オープンフロースイッチは、要求に対応するフローエントリを受け取ってフローテーブルを更新する。このように、オープンフロースイッチは、フローテーブルに格納されたエントリを処理規則として用いてパケット転送を行う。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−５３６１０号公報
【非特許文献】
【０００６】
【非特許文献１】Nick McKeown、外７名、"OpenFlow: Enabling Innovation in Campus Networks"、［online］、［平成２７年５月２７日検索］、インターネット〈URL：http://www.openflow.org/documents/openflow-wp-latest.pdf〉
【非特許文献２】"OpenFlow Switch Specification" Version 1.4.0. (Wire Protocol 0x05) ［平成２７年５月２７日検索］、インターネット〈URL：https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-spec-v1.4.0.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００７】
なお、上記先行技術文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者らによってなされたものである。
【０００８】
オーバレイネットワークシステムを実現する手段の１つであるＶＸＬＡＮには、ＶＸＬＡＮカプセル化されたＩＰ（Internet Protocol）パケットを転送するために要する設定コストが高いという問題がある。具体的には、システムを構成する中継装置群のうち、Ｌ３レベルの中継装置に対してＩＰルーティング設定を行う必要があり、当該設定のために高いコストを要している（図１１参照の中継装置１１、１２を参照）。即ち、既存のオーバレイネットワークシステムでは、システムを構成する中継装置群がＶＸＬＡＮカプセル化されたＩＰパケットを転送するには、事前にＩＰネットワーク、ＩＰサブネットワーク群を構成する必要があり、設定作業に関する高いコストを要する。
【０００９】
本発明は、アンダーレイネットワークシステムを構成する中継装置群によるカプセル化されたパケットの転送に係る設定を低コストにて実現する、制御装置、中継装置の制御方法、プログラム及び通信システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の第１の視点によれば、トンネル接続することで仮想ネットワークを構成する第１及び第２の終端装置とそれぞれ接続された第１及び第２の中継装置を含む複数の中継装置を制御する制御装置であって、前記第１の終端装置が送信するカプセル化されたパケットを、前記第１の中継装置から前記第２の中継装置まで転送するためのパケット転送経路を計算する、経路計算部と、前記パケット転送経路を実現するための制御情報を生成し、前記パケット転送経路上の前記中継装置に設定する制御情報設定部と、を備え、前記制御情報設定部は、前記カプセル化されたパケットのヘッダに含まれる送信先アドレスを識別条件として含む前記制御情報を生成する、制御装置が提供される。
【００１１】
本発明の第２の視点によれば、トンネル接続することで仮想ネットワークを構成する第１及び第２の終端装置とそれぞれ接続された第１及び第２の中継装置を含む複数の中継装置を制御する方法であって、前記第１の終端装置が送信するカプセル化されたパケットを、前記第１の中継装置から前記第２の中継装置まで転送するためのパケット転送経路を計算するステップと、前記パケット転送経路を実現するための制御情報であって、前記カプセル化されたパケットのヘッダに含まれる送信先アドレスを識別条件として含む制御情報を生成するステップと、前記パケット転送経路上の前記中継装置に、前記制御情報を設定するステップと、を含む、中継装置の制御方法が提供される。
【００１２】
本発明の第３の視点によれば、トンネル接続することで仮想ネットワークを構成する第１及び第２の終端装置とそれぞれ接続された第１及び第２の中継装置を含む複数の中継装置を制御する制御装置に搭載されたコンピュータに実行させるプログラムであって、前記第１の終端装置が送信するカプセル化されたパケットを、前記第１の中継装置から前記第２の中継装置まで転送するためのパケット転送経路を計算する処理と、前記パケット転送経路を実現するための制御情報であって、前記カプセル化されたパケットのヘッダに含まれる送信先アドレスを識別条件として含む制御情報を生成する処理と、前記パケット転送経路上の前記中継装置に、前記制御情報を設定する処理と、を実行させるプログラムが提供される。
なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント（non-transient）なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
【００１３】
本発明の第４の視点によれば、トンネル接続することで仮想ネットワークを構成する第１及び第２の終端装置とそれぞれ接続された第１及び第２の中継装置を含む、複数の中継装置と、前記複数の中継装置を制御する制御装置と、を含み、前記制御装置は、前記第１の終端装置が送信するカプセル化されたパケットを、前記第１の中継装置から前記第２の中継装置まで転送するためのパケット転送経路を計算する、経路計算部と、前記パケット転送経路を実現するための制御情報を生成し、前記パケット転送経路上の前記中継装置に設定する制御情報設定部と、を備え、前記制御情報設定部は、前記カプセル化されたパケットのヘッダに含まれる送信先アドレスを識別条件として含む前記制御情報を生成する、通信システムが提供される。
【発明の効果】
【００１４】
本発明の各視点によれば、アンダーレイネットワークシステムを構成する中継装置群によるカプセル化されたパケットの転送に係る設定を低コストにて実現することに寄与する、制御装置、中継装置の制御方法、プログラム及び通信システムが、提供される。
【図面の簡単な説明】
【００１５】
【図１】一実施形態の概要を説明するための図である。
【図２】第１の実施形態に係る通信システムの概略構成の一例を示す図である。
【図３】ＶＸＬＡＮトンネルの終端を説明するための図である。
【図４】第１の実施形態に係る中継装置の内部構成の一例を示す図である。
【図５】第１の実施形態に係る制御装置の内部構成の一例を示す図である。
【図６】トンネル終端ポイント情報テーブルの一例を示す図である。
【図７】第１の実施形態に係るトンネル終端装置の内部構成の一例を示す図である。
【図８】トンネル終端装置の送信先記憶部が記憶する情報の一例を示す図である。
【図９】パケット転送経路の計算結果の一例を示す図である。
【図１０】制御装置の別の内部構成の一例を示す図である。
【図１１】通信システムの概略構成の一例を示す図である。
【発明を実施するための形態】
【００１６】
初めに、一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。
【００１７】
一実施形態に係る制御装置１００は、トンネル接続することで仮想ネットワークを構成する第１及び第２の終端装置とそれぞれ接続された第１及び第２の中継装置を含む複数の中継装置を制御する。さらに制御装置１００は、経路計算部１０１と、制御情報設定部１０２と、を備える。経路計算部１０１は、第１の終端装置が送信するカプセル化されたパケットを、第１の中継装置から第２の中継装置まで転送するためのパケット転送経路を計算する。制御情報設定部１０２は、パケット転送経路を実現するための制御情報を生成し、パケット転送経路上の中継装置に設定する。その際、制御情報設定部１０２は、カプセル化されたパケットのヘッダに含まれる送信先アドレスを識別条件として含む制御情報を生成する。
【００１８】
制御装置１００は、ネットワークシステムを構成する中継装置群に対して、カプセル化されたパケット（例えば、ＶＸＬＡＮカプセル化されたＩＰパケット）を宛先に転送するための制御情報を設定する。制御情報は、少なくともカプセル化されたパケットの送信先アドレスをキーとし、その条件にマッチしたパケットをパケット転送経路の計算結果の通りに転送する制御を行うものである。その結果、制御装置１００により、アンダーレイネットワークシステムを構成する中継装置群によるカプセル化されたパケットの転送に係る設定が自動的に行われ、当該設定に要するコストを低減できる。
【００１９】
以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。なお、各実施形態において同一構成要素には同一の符号を付し、その説明を省略する。
【００２０】
［第１の実施形態］
第１の実施形態について、図面を用いてより詳細に説明する。
【００２１】
図２は、第１の実施形態に係る通信システムの概略構成の一例を示す図である。図２を参照すると、通信システムには、中継装置１０−１〜１０−８と、制御装置２０と、トンネル終端装置３０−１〜３０−４と、端末４０−１〜４０−４と、が含まれる。
【００２２】
なお、以降の説明において、中継装置１０−１〜１０−８を区別する特段の理由がない場合には、単に「中継装置１０」と表記する。同様に、トンネル終端装置３０−１〜３０−４を区別する特段の理由がない場合には「トンネル終端装置３０」と、端末４０−１〜４０−４を区別する特段の理由がない場合には「端末４０」と、それぞれ表記する。
【００２３】
中継装置１０は、外部コマンドにより、パケットの転送に関わる動作を制御可能な装置である。即ち、中継装置１０は、制御装置２０からの指示に従って、受信したパケットを宛先に転送する機能を有する。
【００２４】
制御装置２０は、上記の中継装置１０を制御する装置である。
【００２５】
トンネル終端装置３０は、ＶＸＬＡＮの仮想トンネルを終端する装置（トンネル終端ポイント）である。トンネル終端装置３０は、例えば、図３に示すように、他のトンネル終端装置３０との間に形成されるＶＸＬＡＮトンネルを終端する。即ち、トンネル終端装置３０は、対になる装置とトンネル接続することで仮想ネットワーク（オーバレイネットワーク）を構築する。
【００２６】
端末４０は、トンネル終端装置３０に接続された情報処理装置である。
【００２７】
なお、図２において、端末４０は、物理的に独立した装置として記載されているが、必ずしもその必要はなく、仮想的な装置であってもよい。また、トンネル終端装置３０に関しても同様であり、物理的な装置でなくとも仮想的な装置であってもよい。さらに、端末４０とトンネル終端装置３０が一体化されていてもよい。また、図２に示す通信システムの構成は例示であって、中継装置１０等のノード数を限定する趣旨ではない。
【００２８】
各中継装置１０は、制御装置２０と制御用の通信チャネル（制御チャネル；図２の破線）を介して接続されている。また、各中継装置１０は、隣接する他の中継装置１０とデータ転送用のチャネル（データチャネル；図２の実線）により接続されている。
【００２９】
制御装置２０による集中制御ネットワークに属する中継装置１０−１〜１０−８のうち、当該ネットワークの端点に位置する中継装置１０−１、１０−４、１０−７及び１０−８のそれぞれは、トンネル終端装置３０とデータ転送用のチャネルにより接続されている。また、トンネル終端装置３０のそれぞれは、端末４０とデータ転送用のチャネルにより接続されている。
【００３０】
［中継装置の構成］
図４は、中継装置１０の内部構成の一例を示す図である。図４を参照すると、中継装置１０は、制御装置通信部２０１と、中継装置通信部２０２と、パケット制御情報設定部２０３と、記憶部２０４と、パケット処理検索部２０５と、パケット処理部２０６と、を含む。
【００３１】
制御装置通信部２０１は、制御装置２０との間の通信を制御する手段（インターフェイス）である。
【００３２】
中継装置通信部２０２は、他の中継装置１０との間のデータ転送用の通信を制御する手段（インターフェイス）である。
【００３３】
パケット制御情報設定部２０３は、制御装置通信部２０１で受信したパケット制御コマンド（制御情報）を、記憶部２０４に記憶されたパケット制御情報テーブルに設定する手段である。
【００３４】
記憶部２０４は、上記パケット制御情報テーブルを記憶する手段である。
【００３５】
パケット処理検索部２０５は、中継装置通信部２０２で受信したパケットに対する処理を、記憶部２０４のパケット制御情報テーブルから検索する手段である。
【００３６】
パケット処理部２０６は、パケット処理検索部２０５が検索した（決定した）処理を実行する手段である。
【００３７】
中継装置１０には、非特許文献１、２に記載されたオープンフロースイッチを用いることができる。その場合、記憶部２０４には、フローテーブルが格納され、パケット処理検索部２０５は、パケットを受信すると、当該受信パケットに適合するマッチフィールドを有するエントリをフローテーブルから検索する。さらに、パケット処理部２０６は、検索されたエントリを処理規則として用いて、パケット転送処理を行う。
【００３８】
なお、中継装置１０は、ＬＬＤＰ（Link Layer Discovery Protocol）等のデータリンク層接続検出プロトコルに対応した装置である。さらに、中継装置１０は、未知のパケットを受信した場合に、当該パケットの処理規則の設定を制御装置２０に依頼する機能を有する。例えば、中継装置１０は、中継装置通信部２０２にて、ＶＸＬＡＮカプセル化された未知のパケットを受信した場合に、制御装置通信部２０１を介して、当該パケットの処理規則の設定を制御装置２０に依頼する。
【００３９】
［制御装置の構成］
図５は、制御装置２０の内部構成の一例を示す図である。図５を参照すると、制御装置２０は、中継装置通信部３０１と、トポロジ管理部３０２と、トポロジ記憶部３０３と、トンネル終端ポイント情報管理部３０４と、トンネル終端ポイント情報記憶部３０５と、通信経路探索部３０６と、通信経路制御コマンド生成部３０７と、を含む。なお、通信経路探索部３０６は上述の経路計算部１０１に相当し、通信経路制御コマンド生成部３０７は上述の制御情報設定部１０２に相当する。
【００４０】
中継装置通信部３０１は、中継装置１０との間の制御用通信を行う手段（インターフェイス）である。中継装置通信部３０１は、中継装置１０との制御用セッションの確立、制御用コマンドの送信／受信を行う。なお、制御用コマンドとして、オープンフロープロトコルを用いても良いし、Ｔｅｌｎｅｔ経由のＣＬＩ（Command Line Interface）や、ＳＮＭＰ（Simple Network Management Protocol）を用いて通信を行っても良い。
【００４１】
トポロジ管理部３０２は、中継装置通信部３０１を介して、中継装置制御ネットワーク間のトポロジ（複数の中継装置１０がなすアンダーレイネットワークのトポロジ）を各中継装置１０から取得し、管理する手段である。
【００４２】
トポロジ記憶部３０３は、トポロジテーブルを用いて上記トポロジを記憶する手段である。
【００４３】
トンネル終端ポイント情報管理部３０４は、中継装置通信部３０１を介して中継装置１０からトンネル終端ポイント情報を取得し、管理する手段である。なお、トンネル終端ポイント情報とは、物理ネットワーク上でのトンネル終端装置３０の位置とトンネル終端装置３０のＩＰアドレスに関する情報である。
【００４４】
トンネル終端ポイント情報記憶部３０５は、トンネル終端ポイント情報テーブルを用いて上記トンネル終端ポイント情報を記憶する手段である。
【００４５】
図６は、トンネル終端ポイント情報テーブルの一例を示す図である。図６を参照すると、図２に示す通信システムに含まれる各トンネル終端装置３０それぞれについて、各終端装置が位置する場所（接続されている中継装置１０の名称）とＩＰアドレスが１組となってトンネル終端ポイント情報テーブルに登録されている。
【００４６】
なお、トポロジ管理部３０２によるトポロジの取得動作や、トンネル終端ポイント情報管理部３０４によるトンネル終端ポイント情報の取得動作の詳細は後述する。
【００４７】
通信経路探索部３０６は、トンネル終端装置３０が送信するＶＸＬＡＮカプセル化されたパケットを、当該パケットを受信した中継装置１０から宛先のトンネル終端装置３０に接続された中継装置１０まで転送するためのパケット転送経路を計算する手段である。具体的には、通信経路探索部３０６は、トポロジテーブルから得られる情報（ネットワークのトポロジ）と、トンネル終端ポイント情報テーブルから得られる情報（トンネル終端ポイント情報）と、に基づき、中継装置制御ネットワーク間の経路を探索する。
【００４８】
通信経路制御コマンド生成部３０７は、パケット転送経路を実現するための制御情報を生成し、当該パケット転送経路上の中継装置１０に設定する手段である。具体的には、通信経路制御コマンド生成部３０７は、通信経路探索部３０６により探索された経路に基づき、中継装置１０に設定する制御コマンドを生成し、当該制御コマンドを、中継装置通信部３０１を介して各中継装置１０に送信する。その際、通信経路制御コマンド生成部３０７は、カプセル化されたパケットのヘッダに含まれる送信先ＩＰアドレスによる識別条件と、当該識別条件に一致するＶＸＬＡＮカプセル化されたパケットを所定のポートから転送させる指示と、を含む制御情報（処理規則）を生成し、パケット転送経路の実現に必要な中継装置１０に設定する。
【００４９】
制御装置２０には、非特許文献１、２に記載されたオープンフローコントローラを用いることができる。この場合、通信経路探索部３０６は、ネットワークのトポロジとトンネル終端ポイント情報に基づいて、トンネル終端装置３０により形成されるＶＸＬＡＮトンネルを実現するためのパケット転送経路を計算する。通信経路制御コマンド生成部３０７は、上記の計算されたパケット転送経路上の中継装置１０に対して設定する処理規則を計算する。例えば、通信経路制御コマンド生成部３０７は、ＶＸＬＡＮトンネルに収容するパケットを送信先ＩＰパケットにより識別するマッチ条件と、当該マッチ条件に一致するパケットに対する処理（インストラクション；転送ポートの指定）と、を含む処理規則を計算し、各中継装置１０に設定する。
【００５０】
［トンネル終端装置の構成］
図７は、トンネル終端装置３０の内部構成の一例を示す図である。図７を参照すると、トンネル終端装置３０は、パケット送受信部４０１と、カプセル化部４０２と、送信先記憶部４０３と、パケット転送部４０４と、を含む。
【００５１】
パケット送受信部４０１は、端末４０とデータ転送用の通信を行う手段（インターフェイス）である。
【００５２】
カプセル化部４０２は、端末４０から受信したパケットのカプセル化（ＶＸＬＡＮカプセル化）と、中継装置１０から受信したパケットのカプセル化解除（ＶＸＬＡＮカプセル化解除）と、を行う手段である。
【００５３】
送信先記憶部４０３は、送信先の端末情報とトンネル終端装置の情報を記憶する手段である。
【００５４】
図８は、送信先記憶部４０３が記憶する情報の一例を示す図である。送信先記憶部４０３は、図８（ａ）に示すように、端末４０をパケットの宛先とする場合に、対応するトンネル終端装置３０との関係を規定する情報（送信先端末情報）を記憶する。例えば、図８（ａ）を参照すると、端末４０−１に向けて送信するパケットは、トンネル終端装置３０−１を宛先としてＶＸＬＡＮパケットを送信すれば良いことが分かる。
【００５５】
また、送信先記憶部４０３は、図８（ｂ）に示すように、トンネル終端装置のアドレス（ＩＰアドレス、ＭＡＣ（Media Access Control）アドレス）とＶＸＬＡＮによる仮想ネットワークを識別するための識別子ＶＮＩ（VXLAN Network Identifier）を対応付けた情報（トンネル終端装置情報）を記憶する。より具体的には、送信先記憶部４０３は、ＶＸＬＡＮを識別するＶＮＩと、宛先ＭＡＣアドレスと、宛先トンネル終端装置（宛先トンネル終端ポイント）のＩＰアドレスと、の組からなるテーブル情報をトンネル終端装置情報として記憶する。図８（ｂ）を参照することで、ＶＮＩが「１」であり、トンネル終端装置３０−１との間に形成されるＶＸＬＡＮにパケットを収容するための情報（ＶＸＬＡＮカプセル化のために必要な情報；宛先のアドレス）が得られる。
【００５６】
なお、トンネル終端装置情報の更新は、パケット転送部４０４からのＶＸＬＡＮカプセル化されたパケットの受信を契機に行われても良いし、ネットワーク管理者が事前に設定しておいても良い。
【００５７】
カプセル化部４０２は、送信先記憶部４０３に送信先端末情報が存在する場合、該当する情報によりＶＸＬＡＮカプセル化を行って（受信パケットにＶＸＬＡＮヘッダを付与して）、当該カプセル化されたパケットをパケット転送部４０４から送出する。あるいは、カプセル化部４０２は、パケット転送部４０４からＶＸＬＡＮカプセル化されたパケットを受信した場合には、当該受信パケットのＶＸＬＡＮカプセル化を解除し、パケット送受信部４０１から端末４０に向けて送信する。
【００５８】
パケット転送部４０４は、中継装置１０と通信し、端末４０からのパケットを中継装置１０に転送する手段である。あるいは、パケット転送部４０４は、中継装置１０からパケットを受信し、受信パケットをカプセル化部４０２に引き渡す。
【００５９】
［システム動作の説明］
次に、中継装置制御ネットワークを跨がって存在する２つの端末４０−１と端末４０−３の間にてパケットを転送する動作について説明する。その際、図２に示すトンネル終端装置３０のそれぞれには、一意のＩＰアドレスが付与されているものとする。
【００６０】
初めに、図２を参照しつつ、制御装置２０が物理ネットワークのトポロジを認識する動作を説明する。
【００６１】
制御装置２０のトポロジ管理部３０２は、各中継装置１０間の物理ネットワークのトポロジを認識するため、各中継装置１０間にて特定のメッセージを送受信させ、その結果をトポロジ情報として取得する。例えば、トポロジ管理部３０２は、ＬＬＤＰによるメッセージを中継装置１０間にて送受信させ、他の中継装置１０が接続されているポート等に関する情報を中継装置１０から取得する。
【００６２】
あるいは、トポロジ管理部３０２は、オープンフロープロトコルによるＰａｃｋｅｔ−Ｏｕｔ、Ｐａｃｋｅｔ−Ｉｎに係るメッセージを用いて、トポロジ情報を取得してもよい。さらに、上記のようなメッセージ（ＬＬＤＰメッセージ等）を使用せず、ネットワークの管理者が、事前に物理ネットワークのトポロジを制御装置２０に設定しておくことでもよい。
【００６３】
次に、図２を参照しつつ、制御装置２０が、トンネル終端装置３０の物理ネットワーク上での位置とそのＩＰアドレス（即ち、トンネル終端ポイント情報）を取得する動作を説明する。
【００６４】
制御装置２０のトンネル終端ポイント情報管理部３０４は、中継装置１０に対して、各中継装置１０同士が接続されていないリンクにより接続しているポート（外向きポート）でＶＸＬＡＮカプセル化されたパケットを受信した場合に、当該パケットの受信を制御装置２０に通知するように中継装置１０を制御することで、トンネル終端装置３０の物理ネットワーク上での位置とそのＩＰアドレスに関する情報を取得する。
【００６５】
トンネル終端ポイント情報管理部３０４は、各中継装置１０から取得した上記情報をトンネル終端ポイント情報記憶部３０５のトンネル終端ポイント情報テーブルに格納する。図２及び図６を参照すると、例えば、中継装置１０−１の外向きポートにはトンネル終端装置３０−１が接続され、そのトンネル終端装置３０−１のＩＰアドレスが「１０．０．０．１」であることが分かる。
【００６６】
なお、トンネル終端ポイント情報管理部３０４は、制御装置２０と中継装置１０間のプロトコルとしてオープンフロープロトコルのＰａｃｋｅｔ−Ｉｎメッセージを用いてもよい。あるいは、当該メッセージを使用せず、ネットワークの管理者が、事前に該当する情報（トンネル終端ポイント情報）を制御装置２０に設定しておいてもよい。
【００６７】
次に、図２を参照しつつ、制御装置２０が、ＶＸＬＡＮカプセル化されたパケットを、中継装置１０間にて転送されるように制御する動作を説明する。制御装置２０は、例えば、中継装置１０から、ＶＸＬＡＮカプセル化されたパケットに対する処理規則設定の依頼を受信した場合に、上記制御を行う。
【００６８】
制御装置２０の通信経路探索部３０６は、既に取得済みである中継装置１０間の物理ネットワークに関するトポロジ情報と、トンネル終端装置３０の物理ネットワーク上の位置及びそのＩＰアドレスに関するトンネル終端ポイント情報と、に基づき、中継装置１０間でＶＸＬＡＮカプセル化されたパケットを転送するための経路を計算する。
【００６９】
例えば、通信経路探索部３０６は、図９に示すようなパケット転送経路を計算する。具体的には、通信経路探索部３０６は、中継装置１０から処理規則の設定を依頼された受信パケットのＶＸＬＡＮヘッダから得られる宛先ＩＰアドレス（送信先ＩＰアドレス）に一致するエントリをトンネル終端ポイント情報テーブルから検索する。例えば、宛先ＩＰアドレスが「１０．０．０．２」であれば、図６に示す２行目のエントリが検索される。図６に示すトンネル終端ポイント情報テーブルの２行目のエントリは、トンネル終端装置３０−２は中継装置１０−４に接続されていることを示すので、通信経路探索部３０６は、処理規則の依頼を受けた中継装置１０から中継装置１０−４までのパケット転送経路を計算すればよいことが分かる。例えば、図２において、通信経路探索部３０６が、中継装置１０−１から処理規則の設定依頼を受信した場合には、中継装置１０−１から中継装置１０−４までのパケット転送経路を計算すれば良いことが分かる。
【００７０】
次に、通信経路探索部３０６は、トポロジ記憶部３０３に格納されたネットワークトポロジを参照すると、中継装置１０−１から中継装置１０−４に到達するには、中継装置１０−３を経由すれば良いことが分かる。そのため、パケット転送経路は、中継装置１０−１、１０−３、１０−４と計算される（図９参照）。
【００７１】
その後、制御装置２０の通信経路制御コマンド生成部３０７は、上記計算されたパケット転送経路を実現するための（パケットを制御するための）制御情報を生成し、各中継装置１０に設定する。上記の例でいえば、中継装置１０−１、１０−３、１０−４に制御情報が設定される。より具体的には、制御装置２０は、少なくともＶＸＬＡＮカプセル化されたＩＰパケットの送信先ＩＰアドレス（トンネル終端装置３０のＩＰアドレス）をキーとし（識別条件とし）、当該条件にマッチしたＩＰパケットを、計算されたパケット転送経路上の各中継装置に転送させる制御情報を、各中継装置１０に設定する。
【００７２】
なお、制御情報の設定には、オープンフロープロトコルを使用してもよい。オープンフロープロトコルを使用する制御では、パケットヘッダと照合する「マッチ条件」（Ｍａｔｃｈ  Ｆｉｅｌｄｓ）と、処理内容を定義した「インストラクション」（Ｉｎｓｔｒｕｃｔｉｏｎｓ）と、の組で定義される（非特許文献２の「５．２  Ｆｌｏｗ  Ｔａｂｌｅ」の項参照）情報が用いられる。より具体的には、「マッチ条件」として、少なくとも「送信先ＩＰアドレス」に当該ＶＸＬＡＮカプセル化されたＩＰパケットの送信先ＩＰアドレスが指定され、「インストラクション」には図９に示す通信経路計算結果に基づいて決定された出力先ポートへの転送が設定される。
【００７３】
次に、図２を参照しつつ、端末４０−１から送信されたパケットがＶＸＬＡＮカプセル化され、トンネル終端装置３０−１から送信される動作について説明する。
【００７４】
トンネル終端装置３０−１のパケット送受信部４０１が、端末４０−１から送信されたパケットを受信すると、当該パケットはカプセル化部４０２に送られる。
【００７５】
カプセル化部４０２は、送信先記憶部４０３を参照し、上記受信パケットをカプセル化するために必要な情報（送信先端末情報、トンネル終端装置情報）を取得する。カプセル化部４０２は、送信先記憶部４０３に送信先端末の情報が存在する場合、該当する情報によりＶＸＬＡＮカプセル化を行って、当該カプセル化されたパケットをパケット転送部４０４から送出する。
【００７６】
次に、図２を参照しつつ、トンネル終端装置３０−１から送信されたＶＸＬＡＮパケットが、宛先のトンネル終端装置（ここでは、トンネル終端装置３０−３を宛先とする）に転送される動作を説明する。
【００７７】
トンネル終端装置３０−１から送信されたＶＸＬＡＮパケットは、パケット転送経路（即ち、制御装置２０が中継装置１０−１、１０−３、１０−４、１０−６及び１０−７に設定された制御情報により実現される転送経路）上の中継装置１０間を順次転送されていき、最終的にトンネル終端装置３０−３に転送される。
【００７８】
次に、図２を参照し、トンネル終端装置３０−３から端末４０−３にパケットが転送される動作を説明する。
【００７９】
トンネル終端装置３０−３のパケット転送部４０４は、ＶＸＬＡＮカプセル化されたパケットを受信すると、当該受信パケットをカプセル化部４０２に引き渡す。カプセル化部４０２は、ＶＸＬＡＮカプセル化を解除し、パケット送受信部４０１を介して、受信パケットを端末４０−３に送信する。
【００８０】
このように、２つの端末４０−１と端末４０−３の間にて、パケット転送が実現される。
【００８１】
なお、中継装置１０、制御装置２０をなす各部は、中継装置１０、制御装置２０に搭載されたコンピュータに、そのハードウェアを用いて、上述の各部の動作（処理）を実行させるコンピュータプログラムにより実現することもできる。
【００８２】
以上のように、第１の実施形態に係る通信システムは、複数の中継装置からなる中継装置群と、当該中継装置群を制御する制御装置と、からなるオーバレイネットワークシステムを構成する。上記システムを構成する中継装置は、制御装置によりパケットの転送を制御する機構（機能）を有する。また、中継装置は、物理ネットワークのトポロジ情報とトンネル終端ポイントの情報を制御装置に送信する機構も有する。但し、これらの情報は、ネットワークの運用者が、制御装置に対して手動で登録する方法も考えられる。
【００８３】
制御装置は、中継装置又は運用者により制御装置に登録された物理ネットワークのトポロジ情報と、トンネル終端ポイントの情報から、それぞれのトンネル終端装置間でＶＸＬＡＮカプセル化されたＩＰパケットを転送するための通信経路（パケット転送経路）を計算する。制御装置は、システムを構成する中継装置群に対して、ＶＸＬＡＮカプセル化されたＩＰパケットを宛先に転送するための制御情報を設定する。制御情報とは、少なくともＶＸＬＡＮカプセル化されたＩＰパケットの送信先ＩＰアドレスをキーとし、その条件にマッチしたＩＰパケットを前述の通信経路の計算結果の通りに転送する制御を行うものである。中継装置はその制御情報に従ってＶＸＬＡＮカプセル化されたＩＰパケットを転送する。これにより、制御装置はＩＰサブネットワークを構成せずにＶＸＬＡＮカプセル化されたＩＰパケットを転送することを可能となる。
【００８４】
即ち、オーバレイネットワークシステムを構成する中継装置群によるＶＸＬＡＮカプセル化されたパケットの転送に係る設定が制御装置により自動的に行われるので、システムを構成する中継装置群に対するＩＰルーティングの設定及びＩＰネットワークの設計が不要となり、それらを設定するためのコストが低減する。
【００８５】
［変形例］
ここで、アンダーレイネットワークとして、既存の自律分散型のＩＰネットワークやＬ２ネットワークを使用すると障害発生時の解析作業が困難であるという問題がある。つまり、パケットの通信経路を把握するためには送受信を行う端末それぞれが使用しているアンダーレイネットワークのＩＰアドレス及びそのＩＰアドレスが使用するアンダーレイネットワーク上のＭＡＣアドレスを識別した上で、個々のルータの経路情報を追う必要がある。その上で、ＩＰサブネットワーク間の通信を把握し、ＩＰサブネットワーク内はアンダーレイネットワークで使用するＭＡＣアドレスについて、中継装置上での学習状況を逐一確認しながらパケットの通信経路を把握しなければならず、このような事実が障害発生時の解析作業を困難にしていた。
【００８６】
上記問題に対応するため、第１の実施形態に係る制御装置２０の変形例として、制御装置２０に転送経路可視化部３０８を備えるのが望ましい。具体的には、制御装置２０ａは、パケット転送経路を視認可能なデータを生成し、外部の表示装置等に出力する転送経路可視化部３０８をさらに備える（図１０参照）。つまり、制御装置２０ａは、中継装置１０間でＶＸＬＡＮカプセル化されたパケットを転送するための経路の計算結果（図９参照）を表示装置等に表示することで、通信経路の可視化が実現できる。さらに、転送経路可視化部３０８は、上述の中継装置１０間の物理ネットワークに関するトポロジ情報を可視化してもよい。
【００８７】
上述の通り、制御装置２０は、トンネル終端装置間でＶＸＬＡＮカプセル化されたＩＰパケットを転送するための通信経路の計算結果（図９参照）を保持している。この情報を表示することにより、ＩＰルーティング情報とＭＡＣアドレス学習情報を逐一確認することなく、通信経路の可視化を可能とする。即ち、通信経路の可視化により、障害発生時の解析作業が容易になる。
【００８８】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
［付記１］
上述の第１の視点に係る制御装置のとおりである。
［付記２］
前記パケット転送経路を視認可能なデータを生成し、出力する転送経路可視化部をさらに備える、付記１の制御装置。
［付記３］
前記経路計算部は、
前記複数の中継装置からなるアンダーレイネットワークにおける前記第１及び第２の終端装置の位置と、前記第１及び第２の終端装置のアドレスと、に関する情報を含むトンネル終端ポイント情報に基づき、前記パケット転送経路を計算する、付記１又は２の制御装置。
［付記４］
他の中継装置が接続されていないリンクにより接続しているポートにより前記カプセル化されたパケットを受信した場合に、前記カプセル化されたパケットの受信を前記制御装置に通知するように前記複数の中継装置それぞれを制御することで、前記トンネル終端ポイント情報を生成する、トンネル終端ポイント情報管理部をさらに備える、付記３の制御装置。
［付記５］
前記経路計算部は、
前記トンネル終端ポイント情報と、前記複数の中継装置がなすアンダーレイネットワークのトポロジに関する情報と、に基づき、前記パケット転送経路を計算する、付記３又は４の制御装置。
［付記６］
前記制御情報設定部は、
前記識別条件に一致する前記カプセル化されたパケットを所定のポートから転送させる指示を含む、前記制御情報を生成する、付記１乃至５のいずれか一に記載の制御装置。
［付記７］
前記第１及び第２の終端装置は、ＶＸＬＡＮ（Virtual eXtensible Local Area Network）ヘッダを付加することで、パケットのカプセル化を行う、付記１乃至６のいずれか一に記載の制御装置。
［付記８］
上述の第２の視点に係る中継装置の制御方法のとおりである。
［付記９］
上述の第３の視点に係るプログラムのとおりである。
［付記１０］
上述の第４の視点に係る通信システムのとおりである。
なお、付記８〜１０の形態は、付記１の形態と同様に、付記２の形態〜付記７の形態に展開することが可能である。
【００８９】
なお、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【００９０】
１０、１０−１〜１０−８、１１、１２  中継装置
２０、２０ａ、１００  制御装置
３０、３０−１〜３０−４  トンネル終端装置
４０、４０−１〜４０−４  端末
１０１  経路計算部
１０２  制御情報設定部
２０１  制御装置通信部
２０２、３０１  中継装置通信部
２０３  パケット制御情報設定部
２０４  記憶部
２０５  パケット処理検索部
２０６  パケット処理部
３０２  トポロジ管理部
３０３  トポロジ記憶部
３０４  トンネル終端ポイント情報管理部
３０５  トンネル終端ポイント情報記憶部
３０６  通信経路探索部
３０７  通信経路制御コマンド生成部
３０８  転送経路可視化部
４０１  パケット送受信部
４０２  カプセル化部
４０３  送信先記憶部
４０４  パケット転送部
【図１】
2016225933.tif 000003
【図２】
2016225933.tif 000004
【図３】
2016225933.tif 000005
【図４】
2016225933.tif 000006
【図５】
2016225933.tif 000007
【図６】
2016225933.tif 000008
【図７】
2016225933.tif 000009
【図８】
2016225933.tif 000010
【図９】
2016225933.tif 000011
【図１０】
2016225933.tif 000012
【図１１】
2016225933.tif 000013