(57)【特許請求の範囲】
【請求項１】
複数の中継装置を含んで構成されるネットワークトポロジを管理するトポロジ管理部と、
前記ネットワークトポロジの任意のノードとの間に物理リンクを有する複数の中継装置の各ポートをグループ化して、前記任意のノードとの間の仮想的な論理リンクのポートとして管理するリンクアグリゲーショングループ管理部と、
ブロードキャストパケットまたはマルチキャストパケットの受信時に、前記仮想的な論理リンクを構成する物理リンクに同一のパケットを複数転送しないように、前記グループ化されたポートを有する中継装置を制御する中継装置制御部と、
前記グループ化されたポートを有する中継装置が前記仮想的な論理リンクを介して接続されているノードを管理するリンクアグリゲーションノード管理部と、を備え、
前記リンクアグリゲーショングループ管理部は、前記グループ化されたポートを有する中継装置からブロードキャストパケットまたはマルチキャストパケットを受信した場合、前記リンクアグリゲーションノード管理部に、前記ブロードキャストパケットまたはマルチキャストパケットの送信元のノードの情報を追加し、
パケットの送信元が、前記リンクアグリゲーションノード管理部に登録されているノードであるか否かにより、制御対象のブロードキャストパケットまたはマルチキャストパケットであるか否かを判別する、
ことを特徴とする制御装置。
【請求項２】
前記中継装置制御部は、
前記仮想的な論理リンクが設定された際に、前記グループ化されたポートの中から予め選択された代表ポート以外のポートからブロードキャストパケットまたはマルチキャストパケットの転送を抑止するようなブロードキャスト経路またはマルチキャスト経路を用いてパケット転送を行うよう、前記中継装置を制御する請求項１の制御装置。
【請求項３】
さらに、前記仮想的な論理リンクが設定される度に、前記仮想的な論理リンクから選択された代表ポート以外のポートからブロードキャストパケットまたはマルチキャストパケットの転送を抑止するようなブロードキャスト経路またはマルチキャスト経路の計算を行う経路計算部を備え、
前記中継装置制御部は、前記ブロードキャスト経路またはマルチキャスト経路に従ったパケット転送を行わせる制御情報を前記中継装置に設定する請求項１または２の制御装置。
【請求項４】
前記中継装置制御部は、
前記仮想的な論理リンクが設定された段階で、前記グループ化されたポートを有する中継装置が、前記グループ化されたポートからブロードキャストパケットまたはマルチキャストパケットを受信した場合、制御装置に転送させる制御情報を設定し、
前記中継装置制御部は、
前記ノードから送信されたブロードキャストパケットまたはマルチキャストパケットについて、前記選択された代表ポート以外のポートからブロードキャストパケットまたはマルチキャストパケットの転送を抑止するようなブロードキャスト経路またはマルチキャスト経路を用いてパケット転送を行うよう前記中継装置を制御する請求項１から３いずれか一の制御装置。
【請求項５】
前記中継装置制御部は、前記代表ポートの障害を検出した場合、前記グループ化されたポートの中から代表ポートの再選択を行ない、
前記仮想的な論理リンクを構成する物理リンクに同一のパケットを複数転送しないように、前記再選択された代表ポート以外のポートを有する中継装置を制御する請求項１から３いずれか一の制御装置。
【請求項６】
請求項１から５いずれか一の制御装置と、前記制御装置によって制御される中継装置とを含む通信システム。
【請求項７】
複数の中継装置を含んで構成されるネットワークトポロジを管理するトポロジ管理部を備えた制御装置が、
前記ネットワークトポロジの任意のノードとの間に物理リンクを有する複数の中継装置の各ポートをグループ化して、前記任意のノードとの間の仮想的な論理リンクのポートとして管理するステップと、
ブロードキャストパケットまたはマルチキャストパケットの受信時に、前記仮想的な論理リンクを構成する物理リンクに同一のパケットを複数転送しないように、前記グループ化されたポートを有する中継装置を制御するステップと、
前記グループ化されたポートを有する中継装置が前記仮想的な論理リンクを介して接続されているノードをリンクアグリゲーションノード管理部にて管理するステップと、
前記グループ化されたポートを有する中継装置からブロードキャストパケットまたはマルチキャストパケットを受信した場合、前記リンクアグリゲーションノード管理部に、前記ブロードキャストパケットまたはマルチキャストパケットの送信元のノードの情報を追加するステップと、
パケットの送信元が、前記リンクアグリゲーションノード管理部に登録されているノードであるか否かにより、制御対象のブロードキャストパケットまたはマルチキャストパケットであるか否かを判別するステップと、を含む、通信方法。
【請求項８】
さらに、前記仮想的な論理リンクが設定される度に、前記仮想的な論理リンクから選択された代表ポート以外のポートからブロードキャストパケットまたはマルチキャストパケットの転送を抑止するようなブロードキャスト経路またはマルチキャスト経路の計算を行い、ブロードキャスト経路またはマルチキャスト経路に従ったパケット転送を行わせる制御情報を前記中継装置に設定するステップを含む請求項７の通信方法。
【請求項９】
複数の中継装置を含んで構成されるネットワークトポロジを管理するトポロジ管理部を備えた制御装置を構成するコンピュータに、
前記ネットワークトポロジの任意のノードとの間に物理リンクを有する複数の中継装置の各ポートをグループ化して、前記任意のノードとの間の仮想的な論理リンクのポートとして記憶させる処理と、
ブロードキャストパケットまたはマルチキャストパケットの受信時に、前記仮想的な論理リンクを構成する物理リンクに同一のパケットを複数転送しないように、前記グループ化されたポートを有する中継装置を制御する処理と、
前記グループ化されたポートを有する中継装置が前記仮想的な論理リンクを介して接続されているノードをリンクアグリゲーションノード管理部にて管理する処理と、
前記グループ化されたポートを有する中継装置からブロードキャストパケットまたはマルチキャストパケットを受信した場合、前記リンクアグリゲーションノード管理部に、前記ブロードキャストパケットまたはマルチキャストパケットの送信元のノードの情報を追加する処理と、
パケットの送信元が、前記リンクアグリゲーションノード管理部に登録されているノードであるか否かにより、制御対象のブロードキャストパケットまたはマルチキャストパケットであるか否かを判別する処理と、を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２０１２−０２６８１３号（２０１２年  ２月１０日出願）に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、制御装置、通信システム、通信方法およびプログラムに関し、特に、中継装置を集中制御する制御装置、該制御装置を含む通信システム、通信方法およびプログラムに関する。
【背景技術】
【０００２】
近年、オープンフロー（ＯｐｅｎＦｌｏｗ）という技術が提案されている（非特許文献１、２参照）。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。非特許文献２に仕様化されているオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するマッチング条件（Ｍａｔｃｈ条件）と、フロー統計情報（Ｃｏｕｎｔｅｒｓ）と、処理内容を定義したインストラクション（Ｉｎｓｔｒｕｃｔｉｏｎｓ）と、の組が定義される（非特許文献２の「４．１  Ｆｌｏｗ  Ｔａｂｌｅ」参照）。【０００３】
例えば、オープンフロースイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するマッチング条件（非特許文献２の「４．３  Ｍａｔｃｈ  Ｆｉｅｌｄｓ」参照）を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、フロー統計情報（カウンタ）を更新するとともに、受信パケットに対して、当該エントリのインストラクションフィールドに記述された処理内容（指定ポートからのパケット送信、フラッディング、廃棄等）を実施する。一方、検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対してエントリ設定の要求、即ち、受信パケットの処理内容の決定の要求を送信する。オープンフロースイッチは、処理内容が定められたフローエントリを受け取ってフローテーブルを更新する。このように、オープンフロースイッチは、フローテーブルに格納されたエントリを処理規則として用いてパケット転送を行う。【０００４】
特許文献１には、リンクアグリゲーショングループに属する物理ポートもオープンフローコントローラの管理対象とすることにより、リンクアグリゲーショングループに属する物理ポートを有する装置内部の振り分けアルゴリズム等に依存せず、ユーザが任意に出力先物理ポートを制御できるようにした発明が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１６０１７１号公報
【非特許文献】
【０００６】
【非特許文献１】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２４（２０１２）年１月１１日検索］、インターネット〈URL: http://www.openflow.org/documents/openflow-wp-latest.pdf〉
【非特許文献２】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”  Ｖｅｒｓｉｏｎ  １．１．０  Ｉｍｐｌｅｍｅｎｔｅｄ  （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０２）、［ｏｎｌｉｎｅ］、［平成２４（２０１２）年１月１１日検索］、インターネット〈URL:http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００７】
なお、上記先行技術文献の各開示を、本書に引用をもって繰り込むものとする。
以下の分析は、本発明によって与えられたものである。しかしながら、特許文献１のようにオープンフローネットワーク上にリンクアグリゲーショングループが設定されている構成にて、ブロードキャストパケットやマルチキャストパケットが流入してきた場合、リンクアグリゲーショングループの両端のノードの振る舞いによっては、同一のパケットが重複して転送され、リンクアグリゲーショングループに設定されたルールでトラヒック分散ができないという問題点がある。【０００８】
本発明の目的とするところは、オープンフローに代表される集中制御型のネットワーク上にリンクアグリゲーショングループを設定した環境下においてもブロードキャストパケットやマルチキャストパケットを効率よく転送できる制御装置、通信システム、通信方法およびプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
第１の視点によれば、複数の中継装置を含んで構成されるネットワークトポロジを管理するトポロジ管理部と、前記ネットワークトポロジの任意のノードとの間に物理リンクを有する複数の中継装置の各ポートをグループ化して、前記任意のノードとの間の仮想的な論理リンクのポートとして管理するリンクアグリゲーショングループ管理部と、ブロードキャストパケットまたはマルチキャストパケットの受信時に、前記仮想的な論理リンクを構成する物理リンクに同一のパケットを複数転送しないように、前記グループ化されたポートを有する中継装置を制御する中継装置制御部と、を備えた制御装置が提供される。前記制御装置は、前記グループ化されたポートを有する中継装置が前記仮想的な論理リンクを介して接続されているノードを管理するリンクアグリゲーションノード管理部を備えている。また、前記リンクアグリゲーショングループ管理部は、前記グループ化されたポートを有する中継装置からブロードキャストパケットまたはマルチキャストパケットを受信した場合、前記リンクアグリゲーションノード管理部に、前記ブロードキャストパケットまたはマルチキャストパケットの送信元のノードの情報を追加する。さらに、パケットの送信元が、前記リンクアグリゲーションノード管理部に登録されているノードであるか否かにより、制御対象のブロードキャストパケットまたはマルチキャストパケットであるか否かを判別する。
【００１０】
第２の視点によれば、上記した制御装置と、前記制御装置によって制御される中継装置とを含む通信システムが提供される。【００１１】
第３の視点によれば、複数の中継装置を含んで構成されるネットワークトポロジを管理するトポロジ管理部を備えた制御装置が、前記ネットワークトポロジの任意のノードとの間に物理リンクを有する複数の中継装置の各ポートをグループ化して、前記任意のノードとの間の仮想的な論理リンクのポートとして管理するステップと、ブロードキャストパケットまたはマルチキャストパケットの受信時に、前記仮想的な論理リンクを構成する物理リンクに同一のパケットを複数転送しないように、前記グループ化されたポートを有する中継装置を制御するステップと、を含む、通信方法が提供される。前記通信方法は、前記グループ化されたポートを有する中継装置が前記仮想的な論理リンクを介して接続されているノードをリンクアグリゲーションノード管理部にて管理するステップと、前記グループ化されたポートを有する中継装置からブロードキャストパケットまたはマルチキャストパケットを受信した場合、前記リンクアグリゲーションノード管理部に、前記ブロードキャストパケットまたはマルチキャストパケットの送信元のノードの情報を追加するステップと、パケットの送信元が、前記リンクアグリゲーションノード管理部に登録されているノードであるか否かにより、制御対象のブロードキャストパケットまたはマルチキャストパケットであるか否かを判別するステップと、を含む。本方法は、複数の中継装置を制御する制御装置という、特定の機械に結びつけられている。
【００１２】
第４の視点によれば、複数の中継装置を含んで構成されるネットワークトポロジを管理するトポロジ管理部を備えた制御装置を構成するコンピュータに、前記ネットワークトポロジの任意のノードとの間に物理リンクを有する複数の中継装置の各ポートをグループ化して、前記任意のノードとの間の仮想的な論理リンクのポートとして記憶させる処理と、ブロードキャストパケットまたはマルチキャストパケットの受信時に、前記仮想的な論理リンクを構成する物理リンクに同一のパケットを複数転送しないように、前記グループ化されたポートを有する中継装置を制御する処理と、を実行させるプログラムが提供される。前記プログラムは、前記グループ化されたポートを有する中継装置が前記仮想的な論理リンクを介して接続されているノードをリンクアグリゲーションノード管理部にて管理する処理と、前記グループ化されたポートを有する中継装置からブロードキャストパケットまたはマルチキャストパケットを受信した場合、前記リンクアグリゲーションノード管理部に、前記ブロードキャストパケットまたはマルチキャストパケットの送信元のノードの情報を追加する処理と、パケットの送信元が、前記リンクアグリゲーションノード管理部に登録されているノードであるか否かにより、制御対象のブロードキャストパケットまたはマルチキャストパケットであるか否かを判別する処理と、を前記コンピュータに実行させる。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１３】
本発明によれば、オープンフローに代表される集中制御型のネットワーク上にリンクアグリゲーショングループを設定した環境下においても、ブロードキャストパケットやマルチキャストパケットを効率よく転送させることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態の構成を示す図である。
【図２】本発明の一実施形態の動作を説明するための図である。
【図３】本発明の第１の実施形態の構成を示す図である。
【図４】本発明の第１の実施形態の制御装置の詳細構成を示すブロック図である。
【図５】本発明の第１の実施形態の制御装置に保持されるトポロジテーブルの一例を示す図である。
【図６】本発明の第１の実施形態の制御装置に保持されるＬＡＧポート管理テーブルの一例を示す図である。
【図７】本発明の第１の実施形態の制御装置に保持されるＬＡＧ端末管理テーブルの一例を示す図である。
【図８】本発明の第１の実施形態の動作（ＬＡＧ登録前）を表したフローチャートである。
【図９】本発明の第１の実施形態の中継装置に設定される制御情報の一例（ＬＡＧポート構成前）である。
【図１０】本発明の第１の実施形態の動作（ＬＡＧ登録受付と経路再計算）を表したフローチャートである。
【図１１】代表ポートを経由するブロードキャスト経路の計算例を示す図である。
【図１２】本発明の第１の実施形態の中継装置に設定される制御情報の一例（ＬＡＧ登録受付と経路再計算後）である。
【図１３】本発明の第１の実施形態の動作（ＬＡＧ対象ポート用制御情報の設定）を表したフローチャートである。
【図１４】本発明の第１の実施形態の中継装置に設定される制御情報の一例（ＬＡＧ対象ポートへの転送抑止）である。
【図１５】本発明の第１の実施形態の中継装置に設定される制御情報（ＬＡＧ対象ポートからの受信時）の一例である。
【図１６】本発明の第１の実施形態の動作（ＬＡＧ対象ポート障害時の制御情報の再設定）を表したフローチャートである。
【発明を実施するための形態】
【００１５】
はじめに本発明の一実施形態の概要について図面を参照して説明する。以下、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００１６】
本発明は、その一実施形態において、図１に示すように、端末装置１１０１、１１０５、１１０６間のパケットを中継する複数の中継装置１１０２〜１１０４と、これらの中継装置１１０２〜１１０４を制御する制御装置１１００Ａと、により実現できる。
【００１７】
より具体的には、制御装置１１００Ａは、中継装置１１０２〜１１０４を含んで構成されるネットワークトポロジを管理するトポロジ管理部１０１と、前記ネットワークトポロジの任意のノードとの間に物理リンクを有する複数の中継装置の各ポートをグループ化して、前記任意のノードとの間の仮想的な論理リンクのポートとして管理するリンクアグリゲーショングループ管理部（ＬＡＧ管理部）１０２と、中継装置を制御する中継装置制御部１０３と、を備える。前記中継装置制御部１０３は、ブロードキャストパケットまたはマルチキャストパケットの受信時に、前記仮想的な論理リンクを構成する物理リンクに同一のパケットが複数流れないように、前記グループ化されたポートを有する中継装置を制御する。
【００１８】
例えば、図２に示すように、端末装置１１０１と物理リンクＬ１〜Ｌ３を介して接続された中継装置１１０２〜１１０４の各ポートをグループ化したリンクアグリゲーショングループ（ＬＡＧ）が構成されている場合、中継装置制御部１０３は、ブロードキャストパケットまたはマルチキャストパケットの受信時に、前記仮想的な論理リンクを構成する物理リンクに同一のパケットを複数転送しないように、前記グループ化されたポートを有する中継装置を制御する。
【００１９】
より具体的には、中継装置制御部１０３は、図２の両矢線に示すように、ブロードキャストパケットまたはマルチキャストパケットが、予め定められた代表ポート（該ポートを端点とするリンクＬ３）を含む経路で転送され、代表ポートで無いポート（該ポートを端点とするリンクＬ１、Ｌ２）を通らないように中継装置１１０１〜１１０３を制御する。
【００２０】
以上のようにすることで、リンクアグリゲーショングループを設定した環境下においても、ブロードキャストパケットやマルチキャストパケットを効率よく転送させることが可能となる。
【００２１】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図３は、本発明の第１の実施形態の構成を示す図である。図３を参照すると、ネットワークを介して互いに通信を行う端末装置１１０１、１１０５、１１０６と、端末装置１１０１、１１０５、１１０６間の通信経路として端末装置から送信されるパケットを転送する中継装置１１０２、１１０３、１１０４と、制御チャネル（図３の一点鎖線）を介して中継装置１１０２、１１０３、１１０４と接続され、中継装置１１０２、１１０３、１１０４を制御する制御装置１１００とを含む構成が示されている。また、図３の符号１１０８はリンクアグリゲーショングループを表している。
【００２２】
中継装置１１０２、１１０３、１１０４は、例えば、非特許文献１、２に記載のオープンフロースイッチにより構成することができる。もちろん、制御装置１１００からの制御情報に基づいてパケットを転送可能なその他のスイッチング機器を用いることも可能である。また、中継装置１１０２、１１０３、１１０４を示すボックス内に示されたＰ１〜Ｐ４は、各中継装置のポート番号を示している。
【００２３】
端末装置１１０１、１１０５、１１０６は、ネットワークの利用者が操作するコンピュータや、これらコンピュータにサービスやコンテンツを提供するサーバ等である。
【００２４】
図４は、本発明の第１の実施形態の制御装置１１００の詳細構成を示すブロック図である。図４を参照すると、中継装置通信部１１１と、トポロジ生成部１１２と、トポロジテーブル１１３と、ブロードキャスト経路計算部（ＢＣ経路計算部）１１４と、ブロードキャスト経路制御部（ＢＣ経路制御部）１１５と、アドレス取得部１１６と、リンクアグリゲーショングループ管理部（ＬＡＧ管理部）１１７と、リンクアグリゲーショングループポート管理テーブル（ＬＡＧポート管理テーブル）１１８と、リンクアグリゲーショングループ端末管理テーブル（ＬＡＧ端末管理テーブル）１１９とを備えた構成が示されている。
【００２５】
中継装置通信部１１１は、トポロジ生成部１１２やＢＣ経路制御部１１５からの要求に応じて中継装置１１０２〜１１０４に対し、制御コマンドを送信する。中継装置通信部１１１は、中継装置１１０２〜１１０４からの応答をトポロジ生成部１１２やＢＣ経路制御部１１５に転送する。
【００２６】
トポロジ生成部１１２は、中継装置通信部１１１を介して中継装置１１０２〜１１０４に対して、各中継装置の接続情報を要求し、その応答結果を元に、ネットワークトポロジを生成し、トポロジテーブル１１３に記録する。接続情報の収集方法としては、ある特定の中継装置から全ポートに到達確認用のパケットを送信させ、すべての中継装置にて前記到達確認用のパケット受信結果の蓄積を行い、制御装置１１００が前記蓄積されたパケット受信結果から中継装置間の接続情報を読み出す方法が挙げられる。また、中継装置に到達確認用のパケット受信結果を蓄積せず、各中継装置が前記到達確認パケットを受信したことを制御装置１１００に通知する方法でもよい。この種のプロトコルで代表的なものとしては、ＬＬＤＰ（Ｌｉｎｋ  Ｌａｙｅｒ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）があるが、プロトコルは問わない。また、トポロジ生成部１１２が、ユーザからトポロジ情報の入力を受け付け、トポロジテーブル１１３に登録する方法でもよい。
【００２７】
図５は、図３のネットワーク構成に対応するトポロジテーブルの一例である。図３を参照すると、中継装置１１０２のポートＰ１は端末装置１１０１と接続されているので、図５において、隣接中継装置、隣接ポート情報は共に「無し」となる。一方、中継装置１１０２のポートＰ２は中継装置１１０４と接続されているので、図５において、隣接中継装置＝１１０４、隣接ポート情報＝Ｐ２（隣接中継装置１１０４のポートＰ２と対向していることを示す）となる。
【００２８】
ＢＣ経路計算部１１４は、トポロジテーブル１１３に登録されたネットワークトポロジを参照して、端末装置１１０１、１１０５、１１０６を起点としたブロードキャスト経路を計算する。ブロードキャスト経路の計算方法としては、最小全域木（プリム法、クラスカル法が代表的）等を用いることができる。
【００２９】
ＢＣ経路制御部１１５は、上述した図１の中継装置制御部１０３に相当し、ＢＣ経路計算部１１４にて計算されたブロードキャスト経路に沿ったパケット転送を行わせるための制御情報を作成し、中継装置通信部１１１を介して中継装置１１０２〜１１０４に設定する。また、ＢＣ経路制御部１１５は、ＬＡＧポート管理テーブル１１８またはＬＡＧ端末管理テーブル１１９が更新された場合も、後記する手順に従い、ＬＡＧおよびその代表ポートの存在を考慮した制御情報の再設定を行う。
【００３０】
また、本実施形態の説明では割愛するが、ＢＣ経路計算部１１４およびＢＣ経路制御部１１５が、中継装置通信部１１１を介して中継装置１１０２〜１１０４の要求に応じてユニキャスト用の経路計算と制御情報の設定を行うようにしてもよい。
【００３１】
アドレス取得部１１６は、中継装置通信部１１１からパケットの送信元アドレス及び送信先アドレスを抽出し、ＬＡＧ管理部１１７に出力する。
【００３２】
ＬＡＧ管理部１１７は、ＬＡＧポート管理テーブル１１８及びＬＡＧ端末管理テーブル１１９を用いて、リンクアグリゲーショングループを識別する情報（以降は、「ＬＡＧ識別情報」と呼ぶ）及びそのリンクアグリゲーショングループに接続する端末装置を管理する。また、ＬＡＧ管理部１１７は、前記ＬＡＧ識別情報を付与したＬＡＧの中継装置のポート（以降は、「メンバポート」と呼ぶ）から、メンバポートを代表する１つのポート（以降は、「代表ポート」と呼ぶ）を選出する。なお、代表ポートの選出は、各メンバポートのトラヒックの平準化や、リンクコストなどを考慮した適当なアルゴリズムを用いればよい。
【００３３】
ＬＡＧポート管理テーブル１１８は、ＬＡＧのポート情報等の構成を管理するためのテーブルである。図６は、ＬＡＧポート管理テーブル１１８の一例である。図６の例では、ある端末装置（例えば、図３の端末装置１１０１）と接続された複数の中継装置（例えば、図３の中継装置１１０２〜１１０４）のポート（中継装置１１０２〜１１０４のポートＰ１）をメンバポートとするＬＡＧが登録されている。また、このＬＡＧの代表ポートとして中継装置１１０４のポートＰ１が選出されている。
【００３４】
ＬＡＧ端末管理テーブル１１９は、ＬＡＧに接続する端末を管理するためのテーブルである。図７は、ＬＡＧ端末管理テーブル１１９の一例である。図７の例では、上記したＬＡＧ識別情報「１１０８」に、端末装置１１０１のＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスが対応付けられている。これは、図３において、ＬＡＧ１１０８に端末装置１１０１が接続されている状態に対応している。
【００３５】
なお、図４に示した制御装置１１００の各部（処理手段）は、制御装置１１００を構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００３６】
続いて、本実施形態の動作について図面を参照して詳細に説明する。始めに、制御装置１１００によるネットワークトポロジの生成とブロードキャスト経路の設定（ＬＡＧ登録前）について説明する。
【００３７】
図８は、本発明の第１の実施形態の動作（ＬＡＧ登録前）を表したフローチャートである。図８を参照すると、まず、トポロジ生成部１１２が、中継装置通信部１１１を介して中継装置間の接続情報を収集し、ネットワークトポロジを生成する（ステップＳ００１）。トポロジ生成部１１２は、トポロジテーブル１１３に前記生成したトポロジを記録する。
【００３８】
次に、ＢＣ経路計算部１１４は、トポロジテーブル１１３を参照して、ブロードキャスト経路を計算する（ステップＳ００２）。
【００３９】
次に、ＢＣ経路制御部１１５は、ＢＣ経路計算部１１４によるブロードキャスト経路の計算結果に従って、中継装置１１０２〜１１０４に対する制御情報を生成する（ステップＳ００３）。本実施形態では、前記制御情報として、受信パケットと照合するマッチフィールド（Ｍａｔｃｈ  Ｆｉｅｌｄｓ）と、処理内容を定義したインストラクション（Ｉｎｓｔｒｕｃｔｉｏｎｓ）と、を対応付けたフローエントリが生成されるものとする。
【００４０】
次に、ＢＣ経路制御部１１５は、中継装置通信部１１１に対して、生成した制御情報の送信を要求する。前記要求を受けた中継装置通信部１１１は、中継装置に制御情報を設定する（ステップＳ００４）。このとき、ＢＣ経路制御部１１５は、各中継装置に、ブロードキャストパケットのうち特定のブロードキャストパケットを制御装置１１００に転送させる制御情報を設定してもよい。前記特定のブロードキャストパケットとしては、例えば、ＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）パケットやＬＡＣＰ（Ｌｉｎｋ  Ａｇｇｒｅｇａｔｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）パケットが挙げられる。これにより、端末装置を認識することや、リンクアグリゲーションに関するネゴシエーションを行うことが可能となる。
【００４１】
図９は、ＢＣ経路制御部１１５にて生成された制御情報の一例である。中継装置１１０２には、上から１番目〜３番目の制御情報が設定される。同様に、中継装置１１０３、１１０４には、それぞれ上から４番目〜６番目、７番目〜９番目の制御情報が設定される。例えば、中継装置１１０２は、ポートＰ１からブロードキャストパケット（以下、「ＢＣパケット」）を受信すると、Match条件（ＢＣパケット）に適合することを確認し、ポートＰ３、Ｐ４に転送する。中継装置１１０２のポートＰ４から送信されたＢＣパケットは端末装置１１０５に到達する。一方、中継装置１１０２のポートＰ３から送信されたＢＣパケットは、中継装置１１０３のポートＰ２にて受信される。中継装置１１０３は、ポートＰ２からブロードキャストパケット（以下、「ＢＣパケット」）を受信すると、Match条件（Any（指定なし））に適合することを確認し、ポートＰ１、Ｐ３に転送する。以下、同様にしてＢＣパケットがすべてのノードに到達する。
【００４２】
続いて、ユーザによってリンクアグリケーションが登録された後の制御情報の再設定（最適化）する動作について説明する。
【００４３】
図１０は、本発明の第１の実施形態の動作（ＬＡＧ登録受付と経路再計算）を表したフローチャートである。図１０を参照すると、まず、ＬＡＧ管理部１１７が、ユーザから指定されたＬＡＧ構成情報（ＬＡＧ識別情報とメンバポート情報）をＬＡＧポート管理テーブル１１８に記録する（ステップＳ１０１）。ここでは、図６に示すように、ＬＡＧ識別情報＝１１０８、メンバポート情報＝（中継装置）１１０２のＰ１、１１０３のＰ１、１１０４のＰ１というＬＡＧ構成情報が記録されたものとする。
【００４４】
次に、ＬＡＧ管理部１１７は同じＬＡＧに所属するポートから代表ポートを選出し、ＬＡＧポート管理テーブル１１８に記録する（ステップＳ１０２）。ここでは、図６に示すように、（中継装置）１１０４のＰ１が代表ポートに選出されたものとする。
【００４５】
次に、ＢＣ経路計算部１１４はトポロジテーブル１１３と、ＬＡＧポート管理テーブル１１８とを参照して、ブロードキャスト経路を計算する（ステップＳ１０３）。図１１は、選出された代表ポートを経由するよう計算されたブロードキャスト経路を示す図である。
【００４６】
次に、ＢＣ経路制御部１１５は、前記計算されたブロードキャスト経路に沿ったパケット転送を実現する制御情報を生成する（ステップＳ１０４）。この時、ＢＣ経路制御部１１５は、同じＬＡＧに属するポート（メンバポート）の代表ポート以外のポートを配信先から除外することになる。
【００４７】
最後に、ＢＣ経路制御部１１５は、中継装置通信部１１１に対して、生成した制御情報の送信を要求する。前記要求を受けた中継装置通信部１１１は、中継装置に制御情報を設定する（ステップＳ１０５）。
【００４８】
図１２は、ＢＣ経路制御部１１５にて生成される制御情報の一例である。図９に示した制御情報との相違点は、メンバポートＰ１からＢＣパケットを受信した場合に、制御装置１１００にパケットを転送するようになっている点と、図１１のブロードキャスト経路に対応し、転送先ポートからポートＰ１が削除されている点である（図１２の破線円参照）。なお、これら制御情報の設定は、各中継装置１１０２〜１１０４に図９に示す制御情報が設定済みである場合、これらの制御情報のＩｎｓｔｒｕｃｔｉｏｎｓフィールドの書き換えを要求することでも実現できる。
【００４９】
図１２の例では、中継装置１１０４は、ポートＰ４からＢＣパケットを受信すると、Ｍａｔｃｈ条件（ＢＣパケット）に適合することを確認し、ポートＰ１、Ｐ３に転送する。中継装置１１０４のポートＰ１から送信されたＢＣパケットは端末装置１１０１に到達する。一方、中継装置１１０４のポートＰ３から送信されたＢＣパケットは、中継装置１１０３のポートＰ３にて受信される。中継装置１１０３は、ポートＰ３からブロードキャストパケット（以下、「ＢＣパケット」）を受信すると、Match条件（Any（指定なし））に適合することを確認し、ポートＰ２に転送する。以下、同様にしてＢＣパケットがすべてのノードに到達する。
【００５０】
続いて、上記のような制御情報が設定された状態において、ＬＡＧに接続された端末装置１１０１からＢＣパケットが送出された場合の動作について説明する。
【００５１】
上記図１２の制御情報に示したように、端末装置１１０１からＢＣパケットが送出されると、ＬＡＧを構成する中継装置１１０２〜１１０４のメンバポートＰ１のいずれかで受信され、制御装置１１００に転送される。
【００５２】
図１３は、上記ＬＡＧに接続された端末装置１１０１からＢＣパケットを受信した際の制御装置１１００の動作（ＬＡＧ対象ポート用制御情報の設定）を表したフローチャートである。図１３を参照すると、ＢＣパケットを受信すると、アドレス取得部１１６は、受信したＢＣパケットから送信元アドレス情報を取得し、ＢＣパケットの送信元の中継装置とポートの情報とともにＬＡＧ管理部１１７に通知する（ステップＳ２０１）。ここでは、図３の端末装置１１０１のアドレス情報が取得されることになる。
【００５３】
次に、ＬＡＧ管理部１１７は、ＬＡＧポート管理テーブル１１８を参照し、ＢＣパケットがＬＡＧに所属するポートからの受信であるか否かを確認する（ステップＳ２０２）。ここで、ＬＡＧに所属するポートからの受信でない場合には、以降の処理は省略される。
【００５４】
次に、ＬＡＧ管理部１１７は、ＬＡＧ端末管理テーブル１１９に、ＬＡＧ識別情報と対応付けて、前記アドレス取得部１１６から通知された送信元アドレスを登録する（ステップＳ２０３）。
【００５５】
さらに、ＬＡＧ管理部１１７は、ＢＣ経路制御部１１５に対し、前記ＬＡＧに接続された端末装置からのＢＣパケットを処理するための制御情報の生成を要求する（ステップＳ２０４）。前記要求を受けたＢＣ経路制御部１１５は、次の２種類の制御情報を追加生成する。
【００５６】
第１の制御情報は、同じＬＡＧの代表ポートが属する中継装置内のポートから該ＬＡＧの対象ポートに接続されている端末装置（ここでは、端末装置１１０１）のアドレスを送信元アドレス情報に持つパケットを受信した場合に、該代表ポートには転送しないようにする制御情報（以降、「送信元フィルターＢＣ」と呼ぶ）である。
【００５７】
図１４は、ＢＣ経路制御部１１５にて生成される制御情報（送信元フィルターＢＣ）の一例である。図１２に示した同一中継装置の同一ポートの制御情報との相違点は、Ｍａｔｃｈ条件に送信元ＭＡＣが１１０１のＭＡＣアドレス（ＬＡＧ端末管理テーブル１１９から取得可能）が設定され、転送先からポートＰ１が除外されている点である。これにより、端末装置１１０１から送信されたＢＣパケットがメンバポートに転送されることがなくなるため、ループが回避される。
【００５８】
第２の制御情報は、ＬＡＧのメンバポートから、ＬＡＧに接続されている端末装置１１０１のＭＡＣアドレスを送信元とするＢＣパケットを受信した場合に、ブロードキャスト経路に従ったパケット転送を行わせる制御情報（以降、「送信元許可ＢＣ」と呼ぶ）である。
【００５９】
図１５は、ＢＣ経路制御部１１５にて生成される制御情報（送信元許可ＢＣ）の一例である。これにより、ＬＡＧに接続されている端末装置１１０１からのＢＣパケットが他の中継装置又は端末装置に転送される。
【００６０】
なお、図１４、図１５に示した第１、第２の制御情報は、図１２に示した制御情報よりも高い優先度が与えられる。優先度の付与の方法は、各制御情報に優先度情報を持たせてもよいし、あるいは、各中継装置において、図１２に示した制御情報よりも先に探索されるように、前記第１、第２の制御情報の格納位置を指示する方法でもよい。
【００６１】
最後に、ＢＣ経路制御部１１５は、中継装置通信部１１１に対して、生成した第１、第２の制御情報（送信元フィルタＢＣ、送信元許可ＢＣ）の送信を要求する。前記要求を受けた中継装置通信部１１１は、中継装置に制御情報を設定する（ステップＳ２０５）。
【００６２】
以上のような第１、第２の制御情報を設定することにより、各中継装置が、ＢＣパケットの受信時に、ＬＡＧを構成するリンクに同一のパケットを流さないように制御できる。
【００６３】
なお、本実施形態の構成によれば、ＬＡＧの代表ポートに障害が生じた場合にも、同様の制御を継続することができる。以下、ＬＡＧの代表ポートに障害が生じた場合の動作について図面を参照して詳細に説明する。
【００６４】
図１６は、上記ＬＡＧの代表ポートに障害が生じた場合の制御装置１１００の動作（ＬＡＧ対象ポート障害時の制御情報の再設定）を表したフローチャートである。図１６を参照すると、ＬＡＧ管理部１１７は代表ポートの障害を検出する（ステップＳ３０１）。なお、代表ポートの障害は、例えば、トポロジ生成部１１２による中継装置間の接続情報の収集や、端末装置からの通知等により検出することができる。
【００６５】
次に、ＬＡＧ管理部１１７は、ＬＡＧポート管理テーブルを参照し、代表ポートに障害が発生したＬＡＧのメンバポートから代表ポートを選出し、ＬＡＧポート管理テーブル１１８に記録する（ステップＳ３０２）。
【００６６】
その後の動作は、図１０にて説明した内容と同様であるので説明を省略する（ステップＳ３０３〜Ｓ３０５）。また、この場合も必要に応じて、図１３に示した手順が行わせて、第１、第２の制御情報（送信元フィルタＢＣ、送信元許可ＢＣ）が設定される。
以上説明したように、本発明においては、以下に記載するような効果を奏する。
【００６７】
以上のように、本実施形態によれば、オープンフローに代表される集中制御型のネットワーク上にＬＡＧを設定した環境下においても、ＢＣパケットを効率よく転送させることができる。また、上記代表ポートの選出アルゴリズムを用いて、ＬＡＧに接続する端末装置と中継装置間のトラヒックを極め細やかに分散することも可能である。
【００６８】
以上、本発明の実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した実施形態では、ブロードキャストパケットを取り扱うものとして説明したが、マルチキャストパケットについても同様に適用することが可能である。
【００６９】
また、上記した実施形態に示した制御装置、端末装置、中継装置の数やネットワーク構成は、本発明の理解を助けるために示した一例であり、特に制限するものではない。本発明は、ＬＡＧを構成可能なその他のネットワーク構成にも適用可能である。
【００７０】
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲および図面を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００７１】
Ｐ１〜Ｐ４  ポート（番号）
１０１  トポロジ管理部
１０２、１１７  リンクアグリゲーショングループ管理部（ＬＡＧ管理部）
１０３  中継装置制御部
１１１  中継装置通信部
１１２  トポロジ生成部
１１３  トポロジテーブル
１１４  ブロードキャスト経路計算部（ＢＣ経路計算部）
１１５  ブロードキャスト経路制御部（ＢＣ経路制御部）
１１６  アドレス取得部
１１８  リンクアグリゲーショングループポート管理テーブル（ＬＡＧポート管理テーブル）
１１９  リンクアグリゲーショングループ端末管理テーブル（ＬＡＧ端末管理テーブル）
１１０１、１１０５、１１０６  端末装置
１１０２、１１０３、１１０４  中継装置
１１００、１１００Ａ  制御装置
【図１】
0005850068.tif 000002
【図２】
0005850068.tif 000003
【図３】
0005850068.tif 000004
【図４】
0005850068.tif 000005
【図５】
0005850068.tif 000006
【図６】
0005850068.tif 000007
【図７】
0005850068.tif 000008
【図８】
0005850068.tif 000009
【図９】
0005850068.tif 000010
【図１０】
0005850068.tif 000011
【図１１】
0005850068.tif 000012
【図１２】
0005850068.tif 000013
【図１３】
0005850068.tif 000014
【図１４】
0005850068.tif 000015
【図１５】
0005850068.tif 000016
【図１６】
0005850068.tif 000017