(57)【特許請求の範囲】
【請求項１】
制御対象のスイッチに対し、第１のネットワークのリンク層検出プロトコルのパケットと、前記第１のネットワークとは異なる第２のネットワークのリンク層検出プロトコルのパケットとを識別し、それぞれ所定の処理を実行させる制御情報を設定する制御装置と、
前記制御装置から設定された制御情報に従って、所定のトポロジ管理装置に対し前記第１のネットワークのリンク層検出プロトコルのパケットを送信するスイッチ群と、
前記スイッチから受信した前記第１のネットワークのリンク層検出プロトコルのパケットに含まれる情報に基づいて、前記スイッチ群によって構成されるネットワークトポロジを管理するトポロジ管理装置と、
を含む通信システム。
【請求項２】
前記第１のネットワークのリンク層検出プロトコルのパケットは、前記第２のネットワークのリンク層検出プロトコルのパケットに含まれる情報要素に、所定の情報要素が追加されているパケットである請求項１の通信システム。
【請求項３】
前記所定の情報要素に、物理スイッチと仮想スイッチについて一意に付与される識別子が含まれ、
前記トポロジ管理装置は、前記物理スイッチと仮想スイッチによって構成されるネットワークトポロジを管理する請求項２の通信システム。
【請求項４】
前記所定の情報要素に、前記各スイッチのポートが前記制御装置の制御対象であるか否かを示す情報が含まれ、
前記制御装置は、前記スイッチに、前記各スイッチのポートが前記制御装置の制御対象であるか否かを示す情報に基づき、前記第１のネットワークのリンク層検出プロトコルのパケットを識別させる請求項２又は３の通信システム。
【請求項５】
前記所定の情報要素に、前記各スイッチが制御を受ける制御装置の情報が含まれ、
前記トポロジ管理装置は、前記制御装置の情報に基づいて、前記ネットワークトポロジの管理に用いるパケットを選択する請求項２から４いずれか一の通信システム。
【請求項６】
前記制御装置が、前記第１のネットワークのリンク層検出プロトコルのパケットと、前記第１のネットワークとは異なる第２のネットワークのリンク層検出プロトコルのパケットとを識別し、それぞれ所定の処理を実行させる制御情報に代えて、
リンク層検出プロトコルのパケットを所定のトポロジ管理装置に転送させる制御情報を設定し、
前記トポロジ管理装置が、パケットに前記所定の情報要素が含まれるか否かに応じて、前記第１のネットワークのリンク層検出プロトコルのパケットか、前記第２のネットワークのリンク層検出プロトコルのパケットであるかを判別して、前記スイッチ群によって構成されるネットワークトポロジを管理する請求項２から５いずれか一の通信システム。
【請求項７】
前記制御装置が、前記トポロジ管理装置として機能する請求項１から６いずれか一の通信システム。
【請求項８】
前記制御装置が、前記スイッチ群に対して、前記第１のネットワークのリンク層検出プロトコルのパケットの送信を指示する請求項１から７いずれか一の通信システム。
【請求項９】
制御対象のスイッチに対し、第１のネットワークのリンク層検出プロトコルのパケットと、前記第１のネットワークとは異なる第２のネットワークのリンク層検出プロトコルのパケットとを識別し、それぞれ所定の処理を実行させる制御情報を設定する制御情報設定部を備え、
スイッチに、所定のトポロジ管理装置に対し前記第１のネットワークのリンク層検出プロトコルのパケットを送信させ、
前記所定のトポロジ管理装置に、前記スイッチから受信した前記第１のネットワークのリンク層検出プロトコルのパケットに含まれる情報に基づいて、前記スイッチ群によって構成されるネットワークトポロジを管理させる制御装置。
【請求項１０】
制御対象のスイッチに対し、第１のネットワークのリンク層検出プロトコルのパケットと、前記第１のネットワークとは異なる第２のネットワークのリンク層検出プロトコルのパケットとを識別し、それぞれ所定の処理を実行させる制御情報を設定するステップと、
前記スイッチが、前記制御装置から設定された制御情報に従って、所定のトポロジ管理装置に対し前記第１のネットワークのリンク層検出プロトコルのパケットを送信するステップと、
前記スイッチから受信した前記第１のネットワークのリンク層検出プロトコルのパケットに含まれる情報に基づいて、前記スイッチ群によって構成されるネットワークトポロジを管理するステップと、
を含むネットワークトポロジの管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２０１３−００８１３２号（２０１３年１月２１日出願）に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信システム、制御装置及びネットワークトポロジの管理方法に関し、特に、複数のスイッチとこれらスイッチを集中制御する制御装置とを含む通信システム、制御装置及びネットワークトポロジの管理方法に関する。
【背景技術】
【０００２】
非特許文献１、２に、オープンフローという技術が提案されている。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。非特許文献２に仕様化されているオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するマッチ条件（Ｍａｔｃｈ  Ｆｉｅｌｄｓ）と、フロー統計情報（Ｃｏｕｎｔｅｒｓ）と、処理内容を定義したインストラクション（Ｉｎｓｔｒｕｃｔｉｏｎｓ）と、の組が定義される（非特許文献２の「５．２  Ｆｌｏｗ  Ｔａｂｌｅ」の項参照）。【０００３】
例えば、オープンフロースイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するマッチ条件（非特許文献２の「５．３  Ｍａｔｃｈｉｎｇ」参照）を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、フロー統計情報（カウンタ）を更新するとともに、受信パケットに対して、当該エントリのインストラクションフィールドに記述された処理内容（指定ポートからのパケット送信、フラッディング、廃棄等）を実施する。一方、検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対してエントリ設定の要求、即ち、受信パケットを処理するための制御情報の送信要求（Ｐａｃｋｅｔ−Ｉｎメッセージ）を送信する。オープンフロースイッチは、処理内容が定められたフローエントリを受け取ってフローテーブルを更新する。このように、オープンフロースイッチは、フローテーブルに格納されたエントリを制御情報として用いてパケット転送を行う。【０００４】
上記オープンフローに代表される集中制御型のネットワークでは、スイッチの集中制御する制御装置がスイッチ間のリンクトポロジを把握する必要がある。例えば、特許文献１には、ＬＬＤＰ（Ｌｉｎｋ  Ｌａｙｅｒ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ、ＩＥＥＥ８０２．１ａｂにより標準化）を用いて、外部装置およびオープンフロースイッチから収集した情報を用いてトポロジ情報更新する機能を備えたオープンフローコントローラが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１７５３９４号公報
【非特許文献】
【０００６】
【非特許文献１】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２４（２０１２）年１１月２４日検索］、インターネット〈URL:http://www.openflow.org/documents/openflow-wp-latest.pdf〉
【非特許文献２】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”  Ｖｅｒｓｉｏｎ  １．３．１  （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０４）、［ｏｎｌｉｎｅ］、［平成２４（２０１２）年１２月１１日検索］、インターネット〈URL: https://www.opennetworking.org/images/stories/downloads/specification/openflow-spec-v1.3.1.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記特許文献及び非特許文献の各記載を引用をもって本書に繰り込み記載する。
以下の分析は、本発明によって与えられたものである。集中制御型のネットワークにおいて、特許文献１のようにトポロジの把握に、リンク層検出プロトコルを用いる場合、スイッチ及び制御装置が、ユーザトラフィックとしてネットワークに流入したＬＬＤＰパケットと、集中制御型のネットワーク自身のトポロジ検出用のＬＬＤＰパケットとを区別でできないという問題点がある。例えば、スイッチの中には、レイヤ２で構成された他のネットワークと接続されている場合があり、これらのスイッチは、他のネットワークから受け取ったＬＬＤＰパケットをデータプレーン上に流すことがある。これらのＬＬＤＰパケットは、コントローラが収集するトポロジ検出のためのＬＬＤＰパケットと区別がつかないため、コントローラによるトポロジ構築に支障を来たしてしまう。【０００８】
本発明は、上記のような異なるネットワークのリンク層検出プロトコルのパケットが混在するネットワーク構成であって、意図したネットワークのトポロジを把握できるようにした通信システム、制御装置及びネットワークトポロジの管理方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
第１の視点によれば、制御対象のスイッチに対し、第１のネットワークのリンク層検出プロトコルのパケットと、前記第１のネットワークとは異なる第２のネットワークのリンク層検出プロトコルのパケットとを識別し、それぞれ所定の処理を実行させる制御情報を設定する制御装置と、前記制御装置から設定された制御情報に従って、所定のトポロジ管理装置に対し前記第１のネットワークのリンク層検出プロトコルのパケットを送信するスイッチ群と、前記スイッチから受信した前記第１のネットワークのリンク層検出プロトコルのパケットに含まれる情報に基づいて、前記スイッチ群によって構成されるネットワークトポロジを管理するトポロジ管理装置と、を含む通信システムが提供される。【００１０】
第２の視点によれば、制御対象のスイッチに対し、第１のネットワークのリンク層検出プロトコルのパケットと、前記第１のネットワークとは異なる第２のネットワークのリンク層検出プロトコルのパケットとを識別し、それぞれ所定の処理を実行させる制御情報を設定する制御情報設定部を備え、スイッチに、所定のトポロジ管理装置に対し前記第１のネットワークのリンク層検出プロトコルのパケットを送信させ、前記所定のトポロジ管理装置に、前記スイッチから受信した前記第１のネットワークのリンク層検出プロトコルのパケットに含まれる情報に基づいて、前記スイッチ群によって構成されるネットワークトポロジを管理させる制御装置が提供される。【００１１】
第３の視点によれば、制御対象のスイッチに対し、第１のネットワークのリンク層検出プロトコルのパケットと、前記第１のネットワークとは異なる第２のネットワークのリンク層検出プロトコルのパケットとを識別し、それぞれ所定の処理を実行させる制御情報を設定するステップと、前記スイッチが、前記制御装置から設定された制御情報に従って、所定のトポロジ管理装置に対し前記第１のネットワークのリンク層検出プロトコルのパケットを送信するステップと、前記スイッチから受信した前記第１のネットワークのリンク層検出プロトコルのパケットに含まれる情報に基づいて、前記スイッチ群によって構成されるネットワークトポロジを管理するステップと、を含むネットワークトポロジの管理方法が提供される。本方法は、集中制御型のネットワークのトポロジ把握機能を実現する装置という、特定の機械に結びつけられている。
【発明の効果】
【００１２】
本発明によれば、異なるネットワークのリンク層検出プロトコルのパケットが混在するネットワーク構成であっても、意図したネットワークのトポロジを把握することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態の構成を示す図である。
【図２】本発明の第１の実施形態の通信システムの構成を示す図である。
【図３】本発明の第１の実施形態の通信システムで用いるリンク層検出プロトコルのパケットの構成を示す図である。
【図４】本発明の第１の実施形態の通信システムの制御装置がスイッチに設定するフローエントリを示す図である。
【図５】本発明の第１の実施形態の通信システムの動作を表した図である。
【図６】図５のステップＳ００１〜Ｓ００２の動作を説明するための図である。
【図７】図５のステップＳ００３の動作を説明するための図である。
【図８】図５のステップＳ００４の動作を説明するための図である。
【図９】図５のステップＳ００５〜Ｓ００６の動作を説明するための図である。
【図１０】本発明の第１の実施形態のスイッチの動作を表した図である。
【図１１】図１０のステップＳ１０１の動作を説明するための図である。
【図１２】図１０のステップＳ１０２の動作を説明するための図である。
【図１３】図１０のステップＳ１０２の後に行われる動作を説明するための図である。
【図１４】図１０のステップＳ１０２の後に行われる別の動作を説明するための図である。
【図１５】本発明の第２の実施形態の通信システムの制御装置がスイッチに設定するフローエントリを示す図である。
【発明を実施するための形態】
【００１４】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００１５】
本発明は、その一実施形態において、図１に示すように、制御装置１０と、制御装置１０から設定される制御情報に従い動作するスイッチ２０Ａ、２０Ｂと、スイッチ２０Ａ、２０Ｂによって構成されるネットワークトポロジを管理するトポロジ管理装置６０とを含む構成にて実現できる。
【００１６】
より具体的には、制御装置１０は、制御対象のスイッチ（例えば、スイッチ２０Ａ）に対し、第１のネットワークのリンク層検出プロトコルのパケット（ＬＬＤＰ−１）と、前記第１のネットワークとは異なる第２のネットワークのリンク層検出プロトコルのパケット（ＬＬＤＰ−２）とを識別し、それぞれ所定の処理を実行させる制御情報を設定する。そして、スイッチ２０Ａは、前記制御情報に定められた所定の処理として、トポロジ管理装置６０に対し第１のネットワークのリンク層検出プロトコルのパケットを送信する。
【００１７】
トポロジ管理装置６０は、例えば、スイッチ２０Ａが、スイッチ２０Ｂから送信された第１のネットワークのリンク層検出プロトコルのパケット（ＬＬＤＰ−１）を受信したことを検出することで、スイッチ２０Ａ−スイッチ２０Ｂ間のリンクを検出する。なお、スイッチ２０Ａが、第２のネットワークのリンク層検出プロトコルのパケット（ＬＬＤＰ−２）を受信した場合の動作としては、制御装置１０に対する受信通知（応答指示依頼）、予め制御装置１０から指示されたパケット（ＬＬＤＰパケット等）の送信などが考えられる。
【００１８】
また、スイッチ２０Ｂからスイッチ２０Ａへの第１のネットワークのリンク層検出プロトコルのパケット（ＬＬＤＰ−１）の送信は、制御装置１０が指示してもよいし、トポロジ管理装置６０が指示してもよい。
【００１９】
以上のように構成することで、異なるネットワークのリンク層検出プロトコルのパケットが混在するネットワーク構成であっても、意図したネットワークのトポロジを把握することが可能となる。
【００２０】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図２は、本発明の第１の実施形態の通信システムの構成を示す図である。図２を参照すると、互いに接続されて第１のネットワークを構成する複数のスイッチ２０と、これらの複数のスイッチにフローエントリを設定することにより、これらスイッチ２０を制御する制御装置１０と、を含む構成が示されている。また、スイッチ２０のうち、他のネットワークとの境界に位置するスイッチは、ルータ４１、４２とも接続されている。
【００２１】
制御装置１０は、図２の破線で示す専用チャネルを介して、スイッチ２０に対して、フローエントリを設定する。また、制御装置１０は、スイッチ２０に対して、第１のネットワークのトポロジを検出するためのＬＬＤＰパケットの送信を指示する。このような制御装置１０としては、非特許文献１、２に記載のオープンフローコントローラと同等の機能を備えた装置を用いることができる。前記フローエントリの設定には、非特許文献２のＦｌｏｗ＿Ｍｏｄメッセージを用いることができる。同様に、ＬＬＤＰパケットの送信指示には、Ｐａｃｋｅｔ＿Ｏｕｔメッセージを用いることができる。また、本実施形態の制御装置１０は、上記したトポロジ管理装置としても動作する。
【００２２】
スイッチ２０は、前記制御装置１０から設定されたフローエントリをフローテーブルと呼ばれるルックアップテーブルに保持している。また、他の装置からパケットを受信すると、スイッチは、フローテーブルに登録されたフローエントリの中から、受信パケットに適合するマッチ条件を持つフローエントリを検索し、該当するフローエントリに定められた処理内容（指定ポートからの転送、ヘッダ書換え等）を実行する。また、前記検索の結果、受信パケットに適合するマッチ条件を持つフローエントリが見つからなかった場合、スイッチ２０は制御装置１０に対して、受信パケット又は受信パケットから抽出した情報を送信し、フローエントリの設定を要求する。このようなスイッチ２０としては、非特許文献１、２に記載のオープンフロースイッチと同等の機能を備えた装置を用いることができる。前記フローエントリの設定要求には、非特許文献２のＰａｃｋｅｔ＿Ｉｎメッセージを用いることができる。
【００２３】
ルータ４１、４２は、レイヤ２／レイヤ３ネットワーク等の他のネットワークに属する機器であり、規定されたタイミングでＬＬＤＰパケットを送信する。
【００２４】
ここで、ルータ４１、４２が送信するＩＥＥＥ８０２．１ａｂで標準化されているＬＬＤＰパケットと、制御装置１０がスイッチ２０に送信を指示するＬＬＤＰパケットとの違いについて説明する。
【００２５】
図３は、本発明の第１の実施形態の通信システムで用いるリンク層検出プロトコルのパケット（制御装置１０がスイッチ２０に送信を指示するＬＬＤＰパケット）の構成を示す図である。ＩＥＥＥ８０２．１ａｂで標準化されているＬＬＤＰパケットと異なるのは、ＬＬＤＰデータユニット中の必須情報要素（ＴＬＶ）である、シャーシＩＤ、ポートＩＤ、有効期間（ＴＴＬ；Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）に加えて、追加の情報要素として、「識別フラグ」、「コントローラ  ＩＤ」及び「ＤＰＩＤ」が追加されている点である。なお、このような情報要素の追加は、ＩＥＥＥ８０２．１ａｂにおいてもオプションとして許容されているものである。
【００２６】
「識別フラグ」は、ＬＬＤＰの送信ポート及びスイッチが制御装置１０の制御対象であるか否かを示している。この情報要素は、スイッチ２０が、一般のＬＬＤＰパケットと、制御装置１０がスイッチ２０に送信を指示するＬＬＤＰパケットとを識別するために用いられる。
【００２７】
「コントローラ  ＩＤ」は、ＬＬＤＰパケットの送信指示を出した制御装置１０のＩＤを格納する情報要素である。集中制御型ネットワークには、制御装置が複数配置され、それぞれ連携して動作する構成を持つことがある。「コントローラ  ＩＤ」は、このような場合に、ＬＬＤＰパケットの送信指示元の制御装置を識別する際に使用される。なお、「コントローラ  ＩＤ」としては、制御装置の名前やＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスやＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｏｒｏｌ）アドレスなどを用いることができる。
【００２８】
「ＤＰＩＤ」は、ＬＬＤＰパケットの送信元のスイッチ２０のポートに設定されたＤａｔａＰａｔｈＩＤを格納する情報要素である。ネットワークによっては、物理的な１台のスイッチに、論理的なスイッチ（仮想スイッチ）が複数存在する場合がある。このような「ＤＰＩＤ」を用いることにより、物理スイッチのみならず仮想スイッチを含んで構成される論理的に分割されたネットワーク（仮想ネットワーク）のトポロジを把握することができる。
【００２９】
続いて、スイッチ２０にて、上記したＬＬＤＰパケットの違いを識別する仕組みについて説明する。図４は、スイッチ２０のフローテーブルの登録されたフローエントリを示す図である。図４に示すとおり、個々のフローエントリは、受信パケットと照合する内容を定めたマッチ条件と、マッチ条件に適合したパケット数等を記録するためのフロー統計情報フィールドと、マッチ条件に適合したパケットに適用する処理内容を定めたインストラクションとを対応付けて構成されている。また、図４では、優先度が高いフローエントリほど、フローテーブルの上位に格納されているものとする。
【００３０】
図４のフローテーブルの上段に配置されたユーザトラヒック用フローエントリは、スイッチ２０に接続するユーザからのパケットの転送等を実行するためのフローエントリである。ユーザトラヒック用フローエントリには、例えば、ルータ４１、４２から送信された一般的なＬＬＤＰパケットを転送するためのフローエントリが含まれていてもよい。一方、図４のフローテーブルの下段に配置された第１ネットワークのトポロジ検出用パケットの処理用フローエントリは、上記追加の情報要素が設定されたＬＬＤＰパケットについての処理内容を定めたエントリである。例えば、マッチ条件として、ＬＬＤＰであることを示すＥｔｈｅｒｎｅｔ（登録商標）  Ｔｙｐｅ（８８ＣＣ）が設定され、かつ、識別フラグが「１（＝制御対象）」であるとの内容が設定される。また、図４の例では、上記マッチ条件に適合するパケットに適用する処理内容として「制御装置１０に転送」が設定されている。なお、非特許文献２のマッチ条件の必須項目には、上記ＬＬＤＰの追加の情報要素の識別フラグは存在しないため、ベンダが自由に拡張できる一項目として設定することになる。
【００３１】
以上のような優先度を持つ２以上のフローエントリを設定することで、スイッチ２０に、ユーザトラヒック用フローエントリに適合するユーザトラヒック（ルータ４１、４２から送信されるＬＬＤＰパケットを含む）については、それぞれの転送先等へ転送させ、制御装置１０がスイッチ２０に送信を指示することによって送られたＬＬＤＰパケット（追加の情報要素が設定されたＬＬＤＰパケット）については、制御装置１０に転送させるよう制御することができる。
【００３２】
続いて、本実施形態の動作について図面を参照して詳細に説明する。図５は、本発明の第１の実施形態の通信システムの動作を表した図である。図５を参照すると、まず、制御装置１０は、図４に示すフローエントリを作成し、スイッチ２０に設定する（図５のステップＳ００１）。
【００３３】
前記フローエントリの設定指示を受けたスイッチ２０は、制御装置１０から送信されたフローエントリをフローテーブルに登録する（図５のステップＳ００２）。
【００３４】
図６は、図５のステップＳ００１〜Ｓ００２の動作を説明するための図である。図６に示すように、制御装置１０は、制御対象のスイッチ２０にＦｌｏｗ＿Ｍｏｄメッセージを用いて、ＬＬＤＰパケットであり、かつ、識別フラグに「１」が設定されているパケットを制御装置１０に転送させるフローエントリを設定する。
【００３５】
次に制御装置１０は、スイッチ２０に対して、第１ネットワークトポロジ検出用パケットを送信し、受信ポート以外のポートから送信するよう指示する（図５のステップＳ００３）。スイッチ２０は、前記指示に従い、受信ポート以外のポートから、制御装置１０から受信した第１ネットワークトポロジ検出用パケットを送信する（図５のステップＳ００４）。
【００３６】
図７は、図５のステップＳ００３の動作を説明するための図である。図７に示すように、制御装置１０は、制御対象のスイッチ２０にＰａｃｋｅｔ＿Ｏｕｔメッセージを用いて、上記追加の情報要素を設定したＬＬＤＰパケット（トポロジ検出用ＬＬＤＰパケット）を送信し、受信ポート以外の他のポートから、上記追加の情報要素を設定したＬＬＤＰパケット（トポロジ検出用ＬＬＤＰパケット）を送信するよう指示する。
【００３７】
図８は、図５のステップＳ００４の動作を説明するための図である。前記指示を受けたスイッチ２０は、それぞれ上記追加の情報要素を設定したＬＬＤＰパケット（トポロジ検出用ＬＬＤＰパケット）を該当するポートから送信する。
【００３８】
これらの追加の情報要素を設定したＬＬＤＰパケット（トポロジ検出用ＬＬＤＰパケット）が、接続先のスイッチ２０にて受信されると、接続先のスイッチ２０は、ステップＳ００１、Ｓ００２にて設定されたフローエントリに従い、制御装置１０に対し、追加の情報要素を設定したＬＬＤＰパケット（トポロジ検出用ＬＬＤＰパケット）を送信する（図５のＳ００５）。
【００３９】
追加の情報要素を設定したＬＬＤＰパケット（トポロジ検出用ＬＬＤＰパケット）を受信した制御装置１０は、その追加の情報要素に含まれるコントローラＩＤやＤＰＩＤを参照して、スイッチ２０間の接続関係を特定し、トポロジを構築する（図５のＳ００６）。例えば、制御装置１０のコントローラＩＤと異なるコントローラＩＤが設定されているＬＬＤＰパケット（トポロジ検出用ＬＬＤＰパケット）は、他の集中制御型のネットワークの制御装置１０が送信させたＬＬＤＰパケットであるため、廃棄される。
【００４０】
図９は、図５のステップＳ００５〜Ｓ００６の動作を説明するための図である。他のスイッチ２０から追加の情報要素を設定したＬＬＤＰパケット（トポロジ検出用ＬＬＤＰパケット）を受信したスイッチ２０は、制御装置１０に対して、他のスイッチ２０から追加の情報要素を設定したＬＬＤＰパケット（トポロジ検出用ＬＬＤＰパケット）を送信する。
【００４１】
続いて、追加の情報要素を設定したＬＬＤＰパケット（トポロジ検出用ＬＬＤＰパケット）でないパケットを受信した場合も含めてスイッチ２０の基本的な動作について説明する。
【００４２】
図１０は、本発明の第１の実施形態のスイッチの動作を表した図である。図１０を参照すると、パケットを受信するとスイッチ２０は、フローテーブルを参照して、受信パケットに適合するマッチ条件を持つフローエントリを検索する（図１０のステップＳ１０１）。前記検索の結果、受信パケットに適合するマッチ条件を持つフローエントリが存在しなかった場合（ステップＳ１０１のＮｏ）、スイッチ２０は、制御装置１０に対し、受信パケット又は受信パケットから抽出した情報を送信し、フローエントリの設定を要求する（図１０のステップＳ１０２）。例えば、図１１のように、ルータ４１から他のネットワークのＬＬＤＰパケットを受信した場合も、図１２に示すように、制御装置１０に対して、Ｐａｃｋｅｔ＿Ｉｎメッセージでフローエントリの設定要求が行われる。
【００４３】
前記フローエントリの設定要求を受けた制御装置１０は、スイッチ２０にフローエントリを設定し、例えば、図１３に示すように、ルータ４１から受信した他のネットワークのＬＬＤＰパケットをスイッチ２０経由でルータ４２に転送するような制御を行ってもよい。
【００４４】
また、例えば、前記フローエントリの設定要求を受けた制御装置１０が、図１４に示すように、スイッチ２０に、ルータ４１に対するＬＬＤＰパケットの送信を指示してもよい。このようにすれば、ルータ４１からは、第１のネットワーク全体を一つのスイッチであるかのように見せかけることもできる。
【００４５】
一方、図１０のステップＳ１０１で受信パケットに適合するマッチ条件を持つフローエントリが見つかり（ステップＳ１０１のＹｅｓ）、かつ、そのフローエントリが図４のトポロジ検出用パケットの処理用フローエントリである場合（ステップＳ１０３のＹｅｓ）、スイッチ２０は、図４のトポロジ検出用パケットの処理用フローエントリに従い、制御装置１０に、受信パケット（制御装置１０が送信を指示したＬＬＤＰパケット）を送信する（ステップＳ１０４）。これは、図９を用いて説明した動作に相当する。
【００４６】
また、ステップＳ１０３で、図４のトポロジ検出用パケットの処理用フローエントリでないと判断された場合（ステップＳ１０３のＮｏ）、即ち、受信パケットがユーザトラヒック用のフローエントリにマッチした場合、スイッチ２０は、適合したフローエントリのインストラクションに従い、パケットを処理する。例えば、図１０のステップＳ１０５に対する動作として、制御装置１０が、他のネットワークのＬＬＤＰパケットをルータ４２等に転送させるフローエントリを設定している場合には、そのフローエントリに従い、他のネットワークのＬＬＤＰパケットをルータ４２に送信する制御が行われる。
【００４７】
以上のように、本実施形態によれば、ユーザトラヒックとして流れるＬＬＤＰパケットのうち、制御装置１０がスイッチに送信した自ネットワーク（第１のネットワーク）のトポロジ検出用のＬＬＤＰパケットだけを識別して制御装置１０に転送させることが可能となる。
【００４８】
［第２の実施形態］
上記した第１の実施形態では、スイッチ２０に設定したフローエントリのマッチ条件に、ＬＬＤＰパケットの追加の情報要素として格納されている識別フラグを用いることで、制御装置１０がスイッチに送信した自ネットワーク（第１のネットワーク）のトポロジ検出用のＬＬＤＰパケットを識別するものとして説明した。続いて、スイッチ２０に設定するフローエントリのマッチ条件に、上記識別フラグを用いずに同等の効果を実現する本発明の第２の実施形態を説明する。本発明の第２の実施形態は、制御装置１０がスイッチ２０に設定するフローエントリが異なるだけであるので、以下のその相違点を中心に説明する。
【００４９】
図１５は、本発明の第２の実施形態の通信システムの制御装置がスイッチに設定するフローエントリを示す図である。図４に示したフローエントリの配置と異なる点は、トポロジ検出用のＬＬＤＰパケットを制御装置１０に転送させるフローエントリを上位に配置し、その下位に、個別のユーザトラヒックを処理するフローエントリを配置した点である。
【００５０】
上記のようなフローエントリを設定した場合、ルータ４１、４２から送信されるＬＬＤＰパケットを含むトポロジ検出用のＬＬＤＰパケットが制御装置１０に転送されることになる。しかしながら、図３にて説明したように、制御装置１０がスイッチ２０に送信を指示したＬＬＤＰパケットは、追加の情報要素（ＴＬＶ）を含んでいるため、ルータ４１、４２から送信されるＬＬＤＰパケットと区別することが可能である。
【００５１】
従って、本実施形態においても、トポロジ管理装置として動作する制御装置１０が、スイッチ２０によって構成されたネットワークトポロジを把握することができる。また、ルータ４１、４２から送信されるＬＬＤＰパケットについても識別することができるため、制御装置１０がスイッチ２０に、図１３に示すように所定の宛先に転送させたり、図１４に示すようにＬＬＤＰパケットの送信を指示するといった処理を行うことができる。
【００５２】
また、本実施形態では、スイッチ２０がＬＬＤＰパケットの追加の情報要素の値を確認する必要がなくなるため、第１の実施形態と比べて、非特許文献２の仕様に沿ったスイッチを使用可能である、スイッチ２０の転送性能に与える影響が少ない、といった利点がある。
【００５３】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成や要素の構成は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
【００５４】
例えば、上記した実施形態では、第１のネットワークのリンク層検出プロトコルのパケットとしてＬＬＤＰパケットを用いるものとして説明したが、その他のパケットを用いることも可能である。
【００５５】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点による通信システム参照）
［第２の形態］
第１の形態において、
前記第１のネットワークのリンク層検出プロトコルのパケットは、前記第２のネットワークのリンク層検出プロトコルのパケットに含まれる情報要素に、所定の情報要素が追加されているパケットである通信システム。
［第３の形態］
第１又は第２の形態において、
前記所定の情報要素に、物理スイッチと仮想スイッチについて一意に付与される識別子（ＤＰＩＤ）が含まれ、
前記トポロジ管理装置は、前記物理スイッチと仮想スイッチによって構成されるネットワークトポロジを管理する通信システム。
［第４の形態］
第１〜第３いずれか一の形態において、
前記所定の情報要素に、前記各スイッチのポートが前記制御装置の制御対象であるか否かを示す情報が含まれ、
前記制御装置は、前記スイッチに、前記各スイッチのポートが前記制御装置の制御対象であるか否かを示す情報に基づき、前記第１のネットワークのリンク層検出プロトコルのパケットを識別させる通信システム。
［第５の形態］
第１〜第４いずれか一の形態において、
前記所定の情報要素に、前記各スイッチが制御を受ける制御装置の情報（コントローラＩＤ）が含まれ、
前記トポロジ管理装置は、前記制御装置の情報に基づいて、前記ネットワークトポロジの管理に用いるパケットを選択する通信システム。
［第６の形態］
第１〜第５いずれか一の形態において、
前記制御装置が、前記第１のネットワークのリンク層検出プロトコルのパケットと、前記第１のネットワークとは異なる第２のネットワークのリンク層検出プロトコルのパケットとを識別し、それぞれ所定の処理を実行させる制御情報に代えて、
リンク層検出プロトコルのパケットを所定のトポロジ管理装置に転送させる制御情報を設定し、
前記トポロジ管理装置が、前記第１のネットワークのリンク層検出プロトコルのパケットか、前記第２のネットワークのリンク層検出プロトコルのパケットであるかを判別して、前記スイッチ群によって構成されるネットワークトポロジを管理する通信システム。
［第７の形態］
第１〜第６いずれか一の形態において、
前記制御装置が、前記トポロジ管理装置として機能する通信システム。
［第８の形態］
第１〜第７いずれか一の形態において、
前記制御装置が、前記スイッチ群に対して、前記第１のネットワークのリンク層検出プロトコルのパケットの送信を指示する通信システム。
［第９の形態］
（上記第２の視点による制御装置参照）
［第１０の形態］
（上記第３の視点によるネットワークトポロジの管理方法参照）
なお、上記第９、第１０の形態は、第１の形態と同様に、第２〜第８の形態に展開することが可能である。
【００５６】
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【００５７】
１０  制御装置
２０、２０Ａ、２０Ｂ  スイッチ
４１、４２  ルータ
６０  トポロジ管理装置
【図１】
0005987920.tif 000002
【図２】
0005987920.tif 000003
【図３】
0005987920.tif 000004
【図４】
0005987920.tif 000005
【図５】
0005987920.tif 000006
【図６】
0005987920.tif 000007
【図７】
0005987920.tif 000008
【図８】
0005987920.tif 000009
【図９】
0005987920.tif 000010
【図１０】
0005987920.tif 000011
【図１１】
0005987920.tif 000012
【図１２】
0005987920.tif 000013
【図１３】
0005987920.tif 000014
【図１４】
0005987920.tif 000015
【図１５】
0005987920.tif 000016