(57)【要約】【課題】ネットワーク制御装置とノード装置間のメッセージ交換にかかる処理負荷を軽減する。【解決手段】ネットワーク制御装置と、ネットワーク制御装置から指示を受けて、データ通信経路を確立するノード装置とを含むネットワークシステムにおいて、ネットワーク制御装置は、ノード装置へのネットワーク制御指示メッセージを、ネットワーク制御装置から指示対象の全ノード装置との間で交換するのでは無く、指示対象の端点のノード装置だけにネットワーク制御指示メッセージを送信する。ノード装置は、ネットワーク制御指示メッセージを受信した際、隣接ノードに対して、そのネットワーク制御指示メッセージをリレーし、データ通信経路を確立する。【選択図】図３
2013115733.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを形成し、パケットをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリに従って、受信したパケットの処理を行うノード装置と、
前記ノード装置に対して制御メッセージを送信し、前記フローエントリの設定を変更するネットワーク制御装置と
を含み、
前記ネットワーク制御装置は、前記ネットワークにおけるデータ通信経路を決定し、前記データ通信経路上のノード装置のうちの１つに対して前記制御メッセージを送信し、
前記データ通信経路上のノード装置は、隣接するノード装置に対して、前記制御メッセージをリレーする
ネットワークシステム。
【請求項２】
請求項１に記載のネットワークシステムであって、
前記ネットワーク制御装置は、前記データ通信経路の終点のノード装置に対して前記制御メッセージを送信し、前記データ通信経路の始点のノード装置から前記制御メッセージに応じた応答メッセージを受信し、
前記データ通信経路上のノード装置は、前記データ通信経路の終点から始点に向けて、前記制御メッセージをリレーする
ネットワークシステム。
【請求項３】
請求項１又は２に記載のネットワークシステムであって、
前記データ通信経路の端点のノード装置は、前記制御メッセージが経路の変更を指示する経路変更指示メッセージである場合、変更前の経路上のノード装置に対して前記経路変更指示メッセージをリレーし、
前記変更前の経路上のノード装置は、前記経路変更指示メッセージを受信し、前記変更前の経路に関するフローエントリを削除する
ネットワークシステム。
【請求項４】
請求項１乃至３のいずれか一項に記載のネットワークシステムであって、
前記データ通信経路の端点のノード装置は、前記データ通信経路上のデータ通信の有無を監視し、一定時間、前記データ通信経路上のデータ通信が無い場合、前記データ通信経路に関するフローエントリを削除し、前記データ通信経路に関するフローエントリを削除するための経路削除指示メッセージを生成し、隣接するノード装置に対して、前記経路削除指示メッセージをリレーし、
前記データ通信経路上の他のノード装置は、前記経路削除指示メッセージを受信した際、前記データ通信経路に関するフローエントリを削除し、隣接するノード装置に対して、前記経路削除指示メッセージをリレーする
ネットワークシステム。
【請求項５】
ネットワークを形成し、パケットをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリに従って、受信したパケットの処理を行う手段と、
ネットワーク制御装置からの制御メッセージを受信し、前記フローエントリの設定を変更する手段と、
隣接するノード装置に対して、前記制御メッセージをリレーする手段と
を具備する
ノード装置。
【請求項６】
請求項５に記載のノード装置であって、
前記制御メッセージを解析し、解析結果に基づいて、データ通信経路上で隣接するノード装置の有無を判断する手段と、
隣接するノード装置がある場合、隣接するノード装置に対して、前記制御メッセージをリレーする手段と、
隣接するノード装置が無い場合、前記ネットワーク制御装置に対して、前記制御メッセージに応じた応答メッセージを送信する手段と
を更に具備する
ノード装置。
【請求項７】
請求項５又は６に記載のノード装置であって、
前記データ通信経路の端点である場合、前記データ通信経路上のデータ通信の有無を監視する手段と、
一定時間、前記データ通信経路上のデータ通信が無い場合、前記データ通信経路に関するフローエントリを削除する手段と、
前記データ通信経路に関するフローエントリを削除するための経路削除指示メッセージを生成し、隣接するノード装置に対して、前記経路削除指示メッセージをリレーする手段と、
前記経路削除指示メッセージを受信した場合、前記データ通信経路に関するフローエントリを削除する手段と
を更に具備する
ノード装置。
【請求項８】
ノード装置が、ネットワークを形成し、パケットをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリに従って、受信したパケットの処理を行うことと、
ネットワーク制御装置が、前記ネットワークにおけるデータ通信経路を決定し、前記データ通信経路上のノード装置のうちの１つに対して、前記フローエントリの設定を変更するための制御メッセージを送信することと、
前記データ通信経路上のノード装置が、前記制御メッセージに基づいて、前記フローエントリの設定を変更し、隣接するノード装置に対して、前記制御メッセージをリレーすることと
を含む
ネットワーク制御方法。
【請求項９】
ネットワークを形成し、パケットをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリに従って、受信したパケットの処理を行うステップと、
ネットワーク制御装置からの制御メッセージを受信し、前記フローエントリの設定を変更するステップと、
隣接するノード装置に対して、前記制御メッセージをリレーするステップと
をノード装置に実行させるための
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークシステムに関し、特にネットワークシステムの制御方法に関する。
【背景技術】
【０００２】
［ＣＵ分離型ネットワークシステムの説明］
従来のネットワークシステムの制御方法の１つとして、ネットワーク制御を管理するネットワーク制御装置（コントロールプレーン）と、実際にデータを転送するノード装置（ユーザプレーン）が物理的に分離されており、ネットワーク制御装置とノード装置の間で制御指示を交換することによってネットワーク制御を実現するＣＵ（Ｃ：コントロールプレーン／Ｕ：ユーザプレーン）分離型ネットワークシステムが提案されている。
【０００３】
ＣＵ分離型ネットワークシステムの一例として、コントローラからスイッチを制御してネットワークシステムの経路制御を行うオープンフロー（ＯｐｅｎＦｌｏｗ）技術を利用したオープンフローネットワークシステムが挙げられる。オープンフロー技術の詳細については、非特許文献１に記載されている。なお、オープンフローネットワークシステムは一例に過ぎない。
【０００４】
［オープンフローネットワークシステムの説明］
オープンフローネットワークシステムでは、ＯＦＣ（ＯｐｅｎＦｌｏｗ  Ｃｏｎｔｒｏｌｌｅｒ）等のコントローラが、ＯＦＳ（ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ）等のスイッチのフローテーブルを操作することによりスイッチの挙動を制御する。コントローラとスイッチの間は、コントローラがオープンフロープロトコルに準拠した制御メッセージを用いてスイッチを制御するためのセキュアチャネル（Ｓｅｃｕｒｅ  Ｃｈａｎｎｅｌ）により接続されている。
【０００５】
オープンフローネットワークシステムにおけるスイッチとは、オープンフローネットワークを形成し、コントローラの管理下にあるエッジスイッチ及びコアスイッチのことである。オープンフローネットワークにおける入力側エッジスイッチでのパケット（ｐａｃｋｅｔ）の受信から出力側エッジスイッチでの送信までのパケットの一連の流れをフロー（Ｆｌｏｗ）と呼ぶ。
【０００６】
パケットは、フレーム（ｆｒａｍｅ）と読み替えても良い。パケットとフレームの違いは、プロトコルが扱うデータの単位（ＰＤＵ：Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）の違いに過ぎない。パケットは、「ＴＣＰ／ＩＰ」（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）のＰＤＵである。一方、フレームは、「Ｅｔｈｅｒｎｅｔ」（登録商標）のＰＤＵである。
【０００７】
フローテーブルとは、所定のマッチ条件（ルール）に適合するパケット（通信データ）に対して行うべき所定の動作（アクション）を定義したフローエントリ（Ｆｌｏｗ  ｅｎｔｒｙ）が登録されたテーブルである。
【０００８】
フローエントリのルールは、パケットの各プロトコル階層のヘッダ領域に含まれる宛先アドレス（Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）、送信元アドレス（Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）、宛先ポート（Ｄｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔ）、送信元ポート（Ｓｏｕｒｃｅ  Ｐｏｒｔ）のいずれか又は全てを用いた様々な組み合わせにより定義され、区別可能である。なお、上記のアドレスには、ＭＡＣアドレス（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ａｄｄｒｅｓｓ）やＩＰアドレス（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ａｄｄｒｅｓｓ）を含むものとする。また、上記に加えて、入口ポート（Ｉｎｇｒｅｓｓ  Ｐｏｒｔ）の情報も、フローエントリのルールとして使用可能である。また、フローエントリのルールとして、フローを示すパケットのヘッダ領域の値の一部（又は全部）を、正規表現やワイルドカード「＊」等で表現したものを設定することもできる。
【０００９】
フローエントリのアクションは、「特定のポートに出力する」、「廃棄する」、「ヘッダを書き換える」といった動作を示す。例えば、スイッチは、フローエントリのアクションに出力ポートの識別情報（出力ポート番号等）が示されていれば、これに該当するポートにパケットを出力し、出力ポートの識別情報が示されていなければ、パケットを破棄する。或いは、スイッチは、フローエントリのアクションにヘッダ情報が示されていれば、当該ヘッダ情報に基づいてパケットのヘッダを書き換える。
【００１０】
オープンフローネットワークシステムにおけるスイッチは、フローエントリのルールに適合するパケット群（パケット系列）に対して、フローエントリのアクションを実行する。
【００１１】
すなわち、オープンフローネットワークシステムでは、端点から端点へのデータ通信経路をフローパスとして扱い、コントローラがスイッチに対してデータ中継動作ポリシーとなるフローエントリを設定することで、フローパス単位での経路制御を実施する。
【００１２】
以上のように、ネットワーク制御装置から指示を受けてデータ通信経路を確立するデータ通信ノード装置により形成されるネットワークシステムでは、ネットワーク制御装置とノード装置間でネットワーク制御指示メッセージを交換することで、データ通信経路を確立する。
【００１３】
また、このようなネットワークシステムでは、データ通信経路を確立するために、図１に示すとおり、ネットワーク制御装置の管理下にある経路確立が必要なノード装置の全てに対して、ネットワーク制御指示メッセージを送信する必要がある。
【００１４】
更に、経路が確立したかどうかを、ネットワーク制御装置が知る必要がある場合は、ネットワーク制御指示メッセージに応じた応答メッセージを各ノード装置から応答する必要がある。
【００１５】
このため、ネットワーク制御装置が各ノード装置に対してネットワーク制御指示メッセージを頻繁に交換することになり、ネットワーク制御装置の処理負荷が高くなる。
【００１６】
更に、ネットワークを拡張する場合には、図２に示すように、ネットワーク制御装置が１台で管理するノード装置数が増加することになるため、増加したノード装置数の分だけ、「ノード装置に対するネットワーク制御指示メッセージの送信処理」及び「ノード装置からの応答の受信処理」のオーバーヘッドが増大する。
【００１７】
また、ネットワーク制御指示メッセージの交換にかかるネットワーク制御装置の負荷を軽減するために、「管理対象のノード装置数を制限する」、「ネットワーク制御装置のハードウェアの処理性能を増加させる」、又は「ネットワーク制御装置を複数用意して負荷を分散させる」という対処を実施する方法がとられている。
【００１８】
これらの対処は、いずれもネットワークシステムを拡張したい場合に、ネットワーク制御装置の拡張に多大なコストをかけることになる。
【先行技術文献】
【非特許文献】
【００１９】
【非特許文献１】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ，  Ｖｅｒｓｉｏｎ  １．０．０”，［ｏｎｌｉｎｅ］，Ｄｅｃｅｍｂｅｒ  ３１，２００９，インターネット（ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗｓｗｉｔｃｈ．ｏｒｇ／ｄｏｃｕｍｅｎｔｓ／ｏｐｅｎｆｌｏｗ−ｓｐｅｃ−ｖ１．０．０．ｐｄｆ）
【発明の概要】
【発明が解決しようとする課題】
【００２０】
ネットワーク制御装置と実際にデータ通信を行うノード装置との間でネットワーク制御指示メッセージを交換することにより、ネットワーク制御を実施するネットワークシステムにおいては、ネットワークの拡張等により、ネットワーク制御装置が管理するノード装置の数が増加すると、その分だけ、ネットワーク制御装置から管理対象となるノード装置にネットワーク制御指示メッセージを送信する回数が増えるため、ネットワーク制御装置がネットワーク制御を指示する場合のネットワーク制御装置のＣＰＵ処理負荷と、ネットワーク制御指示を各ノード装置に送信するための通信経路にかかるメッセージ送信負荷が大きくなる。
【００２１】
このようなネットワーク制御構成では、ネットワーク制御装置が管理するノード装置の数が増える毎に処理負荷が高くなるため、ネットワークの拡張が難しいという問題がある。
【００２２】
本発明の目的は、ネットワーク制御装置のＣＰＵ処理負荷と、ネットワーク制御指示メッセージを各ノード装置に送信することによるネットワーク制御装置とノード装置間の通信経路の帯域の圧迫を軽減するネットワークシステムを提供することである。
【課題を解決するための手段】
【００２３】
本発明に係るネットワークシステムは、ネットワークを形成し、パケットをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリに従って、受信したパケットの処理を行うノード装置と、ノード装置に対して制御メッセージを送信し、フローエントリの設定を変更するネットワーク制御装置とを含む。ネットワーク制御装置は、ネットワークにおけるデータ通信経路を決定し、データ通信経路上のノード装置のうちの１つに対して制御メッセージを送信する。データ通信経路上のノード装置は、隣接するノード装置に対して、制御メッセージをリレーする。
【００２４】
本発明に係るノード装置は、ネットワークを形成し、パケットをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリに従って、受信したパケットの処理を行う手段と、ネットワーク制御装置からの制御メッセージを受信し、フローエントリの設定を変更する手段と、隣接するノード装置に対して、制御メッセージをリレーする手段とを具備する。
【００２５】
本発明に係るネットワーク制御方法では、ノード装置が、ネットワークを形成し、パケットをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリに従って、受信したパケットの処理を行う。また、ネットワーク制御装置が、ネットワークにおけるデータ通信経路を決定し、データ通信経路上のノード装置のうちの１つに対して、フローエントリの設定を変更するための制御メッセージを送信する。また、データ通信経路上のノード装置が、制御メッセージに基づいて、フローエントリの設定を変更し、隣接するノード装置に対して、制御メッセージをリレーする。
【００２６】
本発明に係るプログラムは、ネットワークを形成し、パケットをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリに従って、受信したパケットの処理を行うステップと、ネットワーク制御装置からの制御メッセージを受信し、フローエントリの設定を変更するステップと、隣接するノード装置に対して、制御メッセージをリレーするステップとをノード装置に実行させるためのプログラムである。なお、本発明に係るプログラムは、記憶装置や記憶媒体に格納することが可能である。
【発明の効果】
【００２７】
ネットワーク制御装置がネットワーク制御指示メッセージを全ノード装置との間で送信することによるネットワーク制御装置のＣＰＵ処理負荷を軽減することができる。
【図面の簡単な説明】
【００２８】
【図１】従来のシステムにおいて、ネットワーク制御装置が、管理下にある全てのノード装置との間で制御メッセージの送受信処理を行う例を説明するための図である。
【図２】従来のシステムにおいて、ネットワーク制御装置の管理下にあるノード装置が増加した分だけ、ネットワーク制御装置の負荷が増大する例を説明するための図である。
【図３】本発明に係るネットワークシステムの基本構成を示す図である。
【図４】本発明におけるネットワーク構成の例を説明するための図である。
【図５】経路確立指示のリレー手順について説明するための図である。
【図６】本発明の実施例におけるネットワーク構成について説明するための図である。
【図７】経路登録指示メッセージの送信について説明するための図である。
【図８】実施例におけるリレー手順について説明するための図である。
【図９】ネットワーク構成情報の一斉通知について説明するための図である。
【図１０】ノード装置間での接続構成の検出について説明するための図である。
【図１１】フローエントリ登録を行う契機について説明するための図である。
【図１２】データ通信経路の変更について説明するための図である。
【図１３】データ通信経路の削除について説明するための図である。
【図１４】データ通信経路の使用終了時点での経路の削除について説明するための図である。
【発明を実施するための形態】
【００２９】
本発明は、ＣＵ分離型ネットワークシステムを対象としている。ここでは、ＣＵ分離型ネットワークシステムの１つであるオープンフローネットワークシステムを例に説明する。但し、実際には、オープンフローネットワークシステムに限定されない。
【００３０】
＜第１実施形態＞
以下に、本発明の第１実施形態について添付図面を参照して説明する。
【００３１】
図３に示すように、本発明に係るネットワークシステムは、ネットワーク制御装置１０と、ノード装置２０（２０−ｉ、ｉ＝１〜ｎ：ｎは任意）を備える。
【００３２】
ネットワーク制御装置１０は、ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）の各々との間で、ネットワーク制御指示メッセージの送受信を行う。
【００３３】
ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）の各々は、ネットワーク制御装置１０からのネットワーク制御指示メッセージを、隣接するノード装置（以下、隣接ノード装置）との間でリレー（転送）することで、データ通信経路を生成することができる。
【００３４】
また、ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）の各々は、通信経路の生成が完了した時点で、ネットワーク制御指示メッセージの応答をネットワーク制御装置１０に対して送信する。例えば、ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）の各々は、転送先となる隣接ノード装置が存在しない場合、通信経路の生成が完了したと判断し、ネットワーク制御指示メッセージの応答をネットワーク制御装置１０に対して送信する。
【００３５】
［ネットワーク制御装置の構成］
次に、ネットワーク制御装置１０の構成の詳細について説明する。
【００３６】
ネットワーク制御装置１０は、制御指示送受信部１１と、経路管理部１２を備える。
【００３７】
制御指示送受信部１１は、ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）との間で、ネットワーク制御指示メッセージを送受信する。
【００３８】
経路管理部１２は、ネットワーク上の通信経路を管理する。
【００３９】
［ノード装置の構成］
次に、ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）の各々の構成の詳細について説明する。
【００４０】
ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）の各々は、制御指示処理部２１と、フロー管理部２２と、経路生存監視部２３を備える。
【００４１】
制御指示処理部２１は、ネットワーク制御装置１０からのネットワーク制御指示メッセージを受信した際、未だネットワーク制御指示メッセージを受信していない隣接ノード装置の有無を確認する。該当する隣接ノード装置がある場合、ネットワーク制御装置１０からのネットワーク制御指示メッセージを隣接ノード装置にリレーする。該当する隣接ノード装置が無い場合、制御指示を終端し、ネットワーク制御装置１０に応答を送信する。
【００４２】
フロー管理部２２は、ネットワーク制御指示メッセージに基づいて、データ中継動作ポリシーとなるフローエントリをフローテーブルに登録して管理する。また、フロー管理部２２は、データ通信経路の使用が終了した場合に、データ通信経路に関するフローエントリをフローテーブルから削除する。
【００４３】
経路生存監視部２３は、データ通信（データ通信経路の使用状況）の監視を行い、データ通信経路の使用が終了した場合に、データ通信経路の使用の終了を検知する。
【００４４】
［基本構成］
次に、本発明に係るネットワークシステムの基本構成の例について説明する。
【００４５】
図３では、ネットワーク制御装置１０と、ノード装置２０−１と、ノード装置２０−２と、ノード装置２０−ｎを例示している。
【００４６】
ノード装置２０−１は、データ通信経路の始点のノード装置であり、ネットワーク制御装置１０からのネットワーク制御指示メッセージを受信して解析するノード装置である。
【００４７】
ノード装置２０−２は、データ通信経路の中間のノード装置であり、ネットワーク制御装置１０からのネットワーク制御指示メッセージを隣接ノード装置に中継するノード装置である。
【００４８】
ノード装置２０−ｎは、データ通信経路の終点のノード装置であり、ネットワーク制御装置１０に対して、ネットワーク制御指示メッセージの応答を送信するノード装置である。
【００４９】
［ハードウェアの例示］
以下に、本発明に係るネットワークシステムを実現するための具体的なハードウェアの例について説明する。
【００５０】
ネットワーク制御装置１０の例として、ＰＣ（パソコン）、アプライアンス（ａｐｐｌｉａｎｃｅ）、シンクライアントサーバ、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。なお、ネットワーク制御装置１０は、端末やサーバに限らず、中継機器や周辺機器でも良い。また、ネットワーク制御装置１０は、計算機等に搭載される拡張ボードや、物理マシン上に構築された仮想マシン（ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）でも良い。
【００５１】
ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）の例として、ネットワークスイッチ（ｎｅｔｗｏｒｋ  ｓｗｉｔｃｈ）、ルータ（ｒｏｕｔｅｒ）、プロキシ（ｐｒｏｘｙ）、ゲートウェイ（ｇａｔｅｗａｙ）、ファイアウォール（ｆｉｒｅｗａｌｌ）、ロードバランサ（ｌｏａｄ  ｂａｌａｎｃｅｒ：負荷分散装置）、帯域制御装置（ｐａｃｋｅｔ  ｓｈａｐｅｒ）、セキュリティ監視制御装置（ＳＣＡＤＡ：Ｓｕｐｅｒｖｉｓｏｒｙ  Ｃｏｎｔｒｏｌ  Ａｎｄ  Ｄａｔａ  Ａｃｑｕｉｓｉｔｉｏｎ）、ゲートキーパー（ｇａｔｅｋｅｅｐｅｒ）、基地局（ｂａｓｅ  ｓｔａｔｉｏｎ）、アクセスポイント（ＡＰ：Ａｃｃｅｓｓ  Ｐｏｉｎｔ）、通信衛星（ＣＳ：Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓａｔｅｌｌｉｔｅ）、或いは、複数の通信ポートを有する計算機等が考えられる。また、物理マシン上に構築された仮想マシン（ＶＭ）により実現される仮想スイッチでも良い。
【００５２】
ネットワーク制御装置１０及びノード装置２０（２０−ｉ、ｉ＝１〜ｎ）は、プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリと、ネットワークとの通信に用いられるインターフェースによって実現される。
【００５３】
上記のプロセッサの例として、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ネットワークプロセッサ（ＮＰ：Ｎｅｔｗｏｒｋ  Ｐｒｏｃｅｓｓｏｒ）、マイクロプロセッサ（ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ）、マイクロコントローラ（ｍｉｃｒｏｃｏｎｔｒｏｌｌｅｒ）、或いは、専用の機能を有する半導体集積回路（ＬＳＩ：Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等が考えられる。
【００５４】
上記のメモリの例として、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュメモリ等の半導体記憶装置、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の補助記憶装置、又は、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のリムーバブルディスクや、ＳＤメモリカード（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  ｍｅｍｏｒｙ  ｃａｒｄ）等の記憶媒体（メディア）等が考えられる。また、バッファ（ｂｕｆｆｅｒ）やレジスタ（ｒｅｇｉｓｔｅｒ）等でも良い。或いは、ＤＡＳ（Ｄｉｒｅｃｔ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）、ＦＣ−ＳＡＮ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  −  Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）、ＩＰ−ＳＡＮ（ＩＰ  −  Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等を用いたストレージ装置でも良い。
【００５５】
なお、上記のプロセッサ及び上記のメモリは、一体化していても良い。例えば、近年では、マイコン等の１チップ化が進んでいる。従って、電子機器等に搭載される１チップマイコンが、上記のプロセッサ及び上記のメモリを備えている事例も考えられる。
【００５６】
上記のインターフェースの例として、ネットワーク通信に対応した基板（マザーボード、Ｉ／Ｏボード）やチップ等の半導体集積回路、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）等のネットワークアダプタや同様の拡張カード、アンテナ等の通信装置、接続口（コネクタ）等の通信ポート等が考えられる。
【００５７】
また、ネットワークの例として、インターネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、無線ＬＡＮ（Ｗｉｒｅｌｅｓｓ  ＬＡＮ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、バックボーン（Ｂａｃｋｂｏｎｅ）、ケーブルテレビ（ＣＡＴＶ）回線、固定電話網、携帯電話網、ＷｉＭＡＸ（ＩＥＥＥ  ８０２．１６ａ）、３Ｇ（３ｒｄ  Ｇｅｎｅｒａｔｉｏｎ）、専用線（ｌｅａｓｅ  ｌｉｎｅ）、ＩｒＤＡ（Ｉｎｆｒａｒｅｄ  Ｄａｔａ  Ａｓｓｏｃｉａｔｉｏｎ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、シリアル通信回線、データバス等が考えられる。
【００５８】
なお、ネットワーク制御装置１０及びノード装置２０（２０−ｉ、ｉ＝１〜ｎ）の内部の構成要素は、モジュール（ｍｏｄｕｌｅ）、コンポーネント（ｃｏｍｐｏｎｅｎｔ）、或いは専用デバイス、又はこれらの起動（呼出）プログラムでも良い。
【００５９】
但し、実際には、これらの例に限定されない。
【００６０】
［ネットワーク構成］
図４を参照して、ネットワークの構成例について説明する。
【００６１】
ネットワーク制御装置１０と、ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）の各々とは、ネットワーク制御指示メッセージ交換用コネクションにより接続されている。
【００６２】
また、ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）の各々は、隣接ノード装置間でネットワーク制御指示メッセージをリレーするためのメッセージ通信経路により接続されている。なお、メッセージ通信経路は、ネットワーク制御指示メッセージ交換用コネクションと同等のメッセージ通信経路である。これにより、隣接ノード装置間でのネットワーク制御指示メッセージの交換が可能となる。
【００６３】
ここでは、ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）の各々として、ノード装置２０−１〜ノード装置２０−７を示している。このうち、ノード装置２０−１とノード装置２０−５は、エッジスイッチに相当する。ノード装置２０−２、ノード装置２０−３、ノード装置２０−４、ノード装置２０−６、及びノード装置２０−７は、コアスイッチに相当する。エッジスイッチに相当するノード装置は、端末や他のネットワークと接続されている。ノード装置は、エッジスイッチとコアスイッチを兼務することもできる。
【００６４】
［経路確立指示のリレー手順］
図５を参照して、経路確立指示のリレー手順について説明する。
【００６５】
例えば、ネットワーク制御装置１０からノード装置２０−１に、ネットワーク制御指示メッセージを送信し、ノード装置２０−１からノード装置２０−５までの経路確立指示を行う場合、ネットワーク制御指示メッセージにおいて、以下の２通りの方法で経路を指定することができる。
【００６６】
（１）経由する全てのノード装置（ノード装置２０−１、ノード装置２０−２、ノード装置２０−３、ノード装置２０−５）を指定する。
【００６７】
（２）端点のノード装置のように、必ず経由させたいノード装置（ノード装置２０−１、ノード装置２０−５）のみを指定する。
【００６８】
（１）のように、経由する全てのノード装置を指定する場合は、ネットワーク制御指示メッセージを受信したノード装置が、ネットワーク制御指示メッセージを解析し、経路上の次段の隣接ノード装置を特定し、次段の隣接ノード装置に対してネットワーク制御指示を順次リレーする。
【００６９】
（２）のように、経由が必須なノード装置のみを指定する場合は、ネットワーク制御指示メッセージを受信したノード装置自身が、次にネットワーク制御指示メッセージをリレーすべき隣接ノード装置を判断し、その隣接ノード装置に対してネットワーク制御指示を順次リレーする。
【００７０】
［データ通信経路の確立］
まず、データ通信経路を確立する手順について説明する。
【００７１】
経路上のノード装置（ノード装置２０−１、ノード装置２０−２、ノード装置２０−３、ノード装置２０−５）の各々は、ネットワーク制御装置１０からのネットワーク制御指示メッセージ（データ通信経路の登録・変更・削除等の指示メッセージ）を、隣接ノード装置間でリレーしながら、端点（ノード装置２０−１）から端点（ノード装置２０−５）へのデータ通信経路を確立する。
【００７２】
経路上のノード装置（ノード装置２０−１、ノード装置２０−２、ノード装置２０−３、ノード装置２０−５）のフロー管理部２２は、制御指示処理部２１がネットワーク制御指示メッセージを受信した際、ネットワーク制御指示メッセージに基づいて、データ中継動作ポリシーとなるフローエントリを登録する。
【００７３】
これにより、ネットワーク制御装置１０は、経路上のノード装置（ノード装置２０−１、ノード装置２０−２、ノード装置２０−３、ノード装置２０−５）の各々がどのようなマッチ条件（ルール）に一致したパケットを中継するかについて、任意のルールを指定することができる。
【００７４】
また、ネットワーク制御装置１０は、経路上のノード装置（ノード装置２０−１、ノード装置２０−２、ノード装置２０−３、ノード装置２０−５）の各々が任意のルールに一致したパケットに対してどのような動作（アクション）を実施するかについても、任意のアクションを指定することができる。
【００７５】
更に、ネットワーク制御装置１０は、経路上のノード装置（ノード装置２０−１、ノード装置２０−２、ノード装置２０−３、ノード装置２０−５）の各々に対して、個別にルール、アクションを指定することができる。
【００７６】
［データ通信経路の使用終了］
次に、データ通信経路の使用が終了した際の手順について説明する。
【００７７】
データ通信経路の始点のノード装置（ノード装置２０−１）の経路生存監視部２３は、データ通信経路の使用が終了した場合、データ通信経路の使用が終了したことを検知する。
【００７８】
例えば、始点のノード装置（ノード装置２０−１）の制御指示処理部２１が、ネットワーク制御装置１０から、データ通信経路の使用が終了した旨の制御指示メッセージを受信した場合、始点のノード装置（ノード装置２０−１）の経路生存監視部２３は、データ通信経路の使用が終了したことを検知する。
【００７９】
或いは、始点のノード装置（ノード装置２０−１）が、一定時間、フローに該当するパケットを受信しなかった場合、始点のノード装置（ノード装置２０−１）の経路生存監視部２３は、データ通信経路の使用が終了したことを検知する。この場合、始点のノード装置（ノード装置２０−１）の制御指示処理部２１が、データ通信経路の使用が終了した旨の制御指示メッセージを発生する。
【００８０】
経路上のノード装置（ノード装置２０−１、ノード装置２０−２、ノード装置２０−３、ノード装置２０−５）の各々の制御指示処理部２１は、データ通信経路の確立と同様の手順で、当該制御指示メッセージをデータ通信経路上のノード装置間でリレーする。
【００８１】
これにより、経路上のノード装置（ノード装置２０−１、ノード装置２０−２、ノード装置２０−３、ノード装置２０−５）の各々は、当該制御指示メッセージを受信した順に、データ通信経路に関するフローエントリをフローテーブルから削除し、データ通信経路の使用を終了する。
【００８２】
最後に、データ通信経路の終点のノード装置（ノード装置２０−５）の制御指示処理部２１は、ネットワーク制御装置１０に対して、データ通信経路に関するフローエントリが削除された旨を示すメッセージを通知する。
【００８３】
［本実施形態の利点］
次に、本実施形態の利点について説明する。
【００８４】
上記の特徴により、ネットワーク制御装置は、常に、ネットワーク制御指示メッセージを端点のノード装置（図５のノード装置２０−１等）のみに送信し、その応答を他の端点のノード装置（図５のノード装置２０−５等）から受信するだけで良い。ネットワーク制御装置が「ネットワーク制御指示メッセージの送信処理」及び「応答の受信処理」を行う際にかかる負荷は、経路が変化した場合でも、ほとんど増加することが無くなる。このため、ネットワーク制御装置が複数のノード装置との間で経路登録指示メッセージを交換することによる処理負荷を軽減することができる。
【００８５】
更に、ネットワークシステムの拡張等で、ネットワーク制御装置が管理するノード装置の数を増加させる場合でも、ネットワーク制御装置は、常に、ネットワーク制御指示メッセージを端点のノード装置（図５のノード装置２０−１等）のみに送信し、その応答を他の端点のノード装置（図５のノード装置２０−５等）から受信するだけで良い。ネットワーク制御装置が「ネットワーク制御指示メッセージの送信処理」及び「応答の受信処理」を行う際にかかる負荷は、管理するノード装置の数が増えた場合でも、ほとんど増加することが無くなる。このため、ネットワークシステムのスケールアウト（ｓｃａｌｅ  ｏｕｔ）を容易に実施できる。
【００８６】
［実施例］
図６を参照して、本発明の実施例におけるネットワーク構成について説明する。
【００８７】
本発明の実施例に係るネットワークシステムは、ネットワーク制御装置１０と、ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）と、端末３０（３０−ｊ、ｊ＝１〜ｍ：ｍは任意）を備える。
【００８８】
ネットワーク制御装置１０及びノード装置２０（２０−ｉ、ｉ＝１〜ｎ）は、図３に示すものと同様である。端末３０（３０−ｊ、ｊ＝１〜ｍ）は、オープンフローネットワークの外部の端末である。
【００８９】
ここでは、ネットワーク制御装置１０と、ノード装置２０−１〜ノード装置２０−７と、端末３０−１〜端末３０−２を用いて説明する。
【００９０】
ネットワーク制御装置１０は、ノード装置２０−１〜ノード装置２０−７を管理している。ノード装置２０−１〜ノード装置２０−７は、オープンフローネットワークを形成する。ノード装置２０−１は、端末３０−１と接続されている。ノード装置２０−５は、端末３０−２と接続されている。
【００９１】
このとき、ネットワーク制御装置１０は、端末３０−２から端末３０−１へのデータ通信経路を確立するため、端末３０−２から端末３０−１へのデータ通信に最適な経路（最短経路）を決定する。その後、ネットワーク制御装置１０は、ノード装置２０−１に対して、端末３０−２から端末３０−１への最適な経路を登録するための経路登録指示メッセージを送信する。
【００９２】
ノード装置２０−１は、ネットワーク制御装置１０からの経路登録指示メッセージを受信する。ノード装置２０−１の制御指示処理部２１は、受信したメッセージの指示内容を解析する。ノード装置２０−１のフロー管理部２２は、メッセージの指示内容に応じて、データ中継動作ポリシーとなるフローエントリをフローテーブルに登録する。ノード装置２０−１の制御指示処理部２１は、ネットワーク制御装置１０から指示された次のノード装置２０−２へ経路登録指示メッセージをリレーする。
【００９３】
ノード装置２０−２は、隣接するノード装置２０−１から経路登録指示メッセージを受信する。ノード装置２０−２の制御指示処理部２１は、ノード装置２０−１から受信した経路登録指示メッセージの内容を解析する。ノード装置２０−２のフロー管理部２２は、メッセージの指示内容に応じて、データ中継動作ポリシーとなるフローエントリをフローテーブルに登録する。ノード装置２０−２の制御指示処理部２１は、次のノード装置２０−３へ経路登録指示メッセージをリレーする。
【００９４】
ノード装置２０−３は、隣接するノード装置２０−２から経路登録指示メッセージを受信する。ノード装置２０−３の制御指示処理部２１は、ノード装置２０−２から受信した経路登録指示メッセージの内容を解析する。ノード装置２０−３のフロー管理部２２は、メッセージの指示内容に応じて、データ中継動作ポリシーとなるフローエントリをフローテーブルに登録する。ノード装置２０−３の制御指示処理部２１は、次のノード装置２０−５へ経路登録指示メッセージをリレーする。
【００９５】
ノード装置２０−５は、経路登録の最終地点のノード装置である。ノード装置２０−５の制御指示処理部２１は、ノード装置２０−３から受信した経路登録指示メッセージの内容を解析する。ノード装置２０−５のフロー管理部２２は、メッセージの指示内容に応じて、データ中継動作ポリシーとなるフローエントリをフローテーブルに登録する。ノード装置２０−５の制御指示処理部２１は、ネットワーク制御装置１０に対して、経路登録指示メッセージに応じた登録応答メッセージを送信する。
【００９６】
端末３０−１及び端末３０−２は、データ通信経路が確立した後、それぞれ接続されたノード装置を経由して、パケットを送受信する。
【００９７】
なお、ノード装置２０−１やノード装置２０−５の先には、必ずしも端末が接続されているわけでは無く、別のネットワーク制御装置が管理するネットワークや、別のネットワーク制御方法のネットワークに接続されている構成もありえる。すなわち、端末３０−１及び端末３０−２は、実際には端末とは限らない。例えば、端末３０−１及び端末３０−２は、ネットワーク制御装置１０の管理下に無い他のネットワークのノード装置でも良い。
【００９８】
［経路登録指示メッセージの送信］
図７を参照して、ネットワーク制御装置１０からの経路登録指示メッセージの送信について説明する。
【００９９】
例えば、ネットワーク制御装置１０の経路管理部１２は、「ノード装置２０−５」→「ノード装置２０−４」→「ノード装置２０−２」→「ノード装置２０−１」を順に経由するデータ通信経路を、端末３０−２から端末３０−１への最適な経路として決定する。
【０１００】
ネットワーク制御装置１０の制御指示送受信部１１は、端末３０−２から端末３０−１への最適な経路が決定された後、最適な経路の最下流のノード装置２０−１に対して、当該経路に関するフローエントリを登録するための経路登録指示メッセージを送信する。
【０１０１】
ネットワーク制御装置１０が、経由させたいノード装置を指定する方法としては、ノード装置毎になんらかの識別情報を割り当て、その識別情報を指定することが考えられる。
【０１０２】
ここでは、経路上の各ノード装置へのデータ通信経路に関するフローエントリ登録中に、フローエントリ登録済のノード装置において、そのフローのルールにヒットするパケットが流入した場合の意図しない動作（フローエントリ未登録の隣接ノード装置への中継）を防止するため、データ転送経路の最下流から上流に向かって経路設定を行っている。但し、実際には、経路上のいずれのノード装置から設定を開始しても良い。
【０１０３】
［実施例におけるリレー手順］
図８を参照して、実施例におけるリレー手順について説明する。
【０１０４】
ノード装置２０−１は、ネットワーク制御装置１０から「ノード装置２０−５」→「ノード装置２０−４」→「ノード装置２０−２」→「ノード装置２０−１」を経由する通信経路に関するフローエントリを登録するための経路登録指示メッセージを受信する。
【０１０５】
ノード装置２０−１は、経路登録指示メッセージを受信した時点で、ネットワーク制御装置１０が指示した内容（経路登録指示メッセージの内容）を基に、ノード装置２０−２から受信した端末３０−２からのデータを端末３０−１へ中継するためのフローエントリを登録する。なお、ネットワーク制御装置１０からの指示が無い部分（例えば、出力ポートや転送先）については、ノード装置２０−１が、ネットワーク制御装置１０からの指示に反しない範囲で、適切なフローエントリを生成し、フローエントリを登録することも考えられる。
【０１０６】
ノード装置２０−１は、経路登録指示メッセージに基づいてフローエントリを登録した時点で、当該経路登録指示メッセージをノード装置２０−２にリレーする。なお、フローエントリの登録と、経路登録指示メッセージのリレーについては、直列に（逐次、順次）処理しても良いし、並列に（同時に）処理しても良い。
【０１０７】
このとき、全てのノード装置２０（２０−ｉ、ｉ＝１〜ｎ）は、次にどのノード装置に経路登録指示メッセージをリレーするかを決定する必要があるため、隣接するノード装置の識別情報を予め知っておく必要がある。
【０１０８】
［ネットワーク構成情報の一斉通知］
図９を参照して、各ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）が隣接するノード装置２０（２０−ｉ、ｉ＝１〜ｎ）の識別情報を認識するための方法の１つとして、ネットワーク制御装置１０からネットワーク構成情報を一斉通知する方法について説明する。
【０１０９】
ここでは、ネットワーク制御装置１０の経路管理部１２は、ネットワーク制御装置１０が管理する全ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）の接続構成を示すネットワーク構成情報を、予め記憶しているものとする。
【０１１０】
なお、実際には、コントローラ２０の経路管理部１２は、ＬＬＤＰ（Ｌｉｎｋ  Ｌａｙｅｒ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）等によって、トポロジ（ｔｏｐｏｌｏｇｙ：ネットワークの接続形態）検知を行い、ネットワークを構成するノード装置２０（２０−ｉ、ｉ＝１〜ｎ）を検知し、ネットワーク構成情報を生成するようにしても良い。これにより、コントローラ２０の経路管理部１２は、ネットワークを構成する全てのノード装置の識別情報（ノード装置ＩＤ、ＭＡＣアドレス等）、及び各ノード装置の接続形態を認識し、各ノード装置の次段のノード装置を特定することができるようになる。
【０１１１】
ネットワーク制御装置１０の制御指示送受信部１１は、ネットワーク制御装置１０が管理する全ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）の接続構成を通知するため、ネットワーク制御装置１０の経路管理部１２が管理するネットワーク構成情報を、各ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）に送信する。
【０１１２】
各ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）は、ネットワーク制御装置１０からネットワーク構成情報を受信し、ネットワーク構成情報を基に、全ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）の接続構成を記憶する。
【０１１３】
各ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）は、全ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）の接続構成を基に、隣接ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）の識別情報を把握する。
【０１１４】
［ノード装置間での接続構成の検出］
図１０を参照して、各ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）が隣接するノード装置２０（２０−ｉ、ｉ＝１〜ｎ）の識別情報を認識するための方法の１つとして、ノード装置間で接続構成を検出する方法について説明する。
【０１１５】
各ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）は、隣接ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）間で接続情報を交換することで、ネットワーク制御装置１０からのネットワーク構成情報を必要とせず、ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）のみで、各ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）の接続構成を検出し、隣接ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）の識別情報を把握する。
【０１１６】
［両方の情報の合算］
図９及び図１０に示す各方法を組み合わせた方法について説明する。
【０１１７】
各ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）は、ネットワーク制御装置１０からのネットワーク構成情報と、隣接ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）からの接続情報との、両方の情報を合算した情報を記憶する。
【０１１８】
各ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）は、両方の情報を合算した情報を基に、隣接ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）の識別情報を把握する。
【０１１９】
［フローエントリ登録を行う契機］
図１１を参照して、各ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）がフローエントリ登録を行う契機について説明する。
【０１２０】
各ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）は、ネットワーク制御装置１０からの経路登録指示メッセージを「ノード装置２０−１」→「ノード装置２０−２」→「ノード装置２０−４」→「ノード装置２０−５」と順次リレーしていくことで、端末３０−２から端末３０−２にデータを中継するためのデータ通信経路に関するフローエントリ登録を実施する。
【０１２１】
各ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）は、ネットワーク制御装置１０から経路登録指示メッセージを受信した時点で、経路登録指示メッセージの内容を基に、フローエントリを登録する。
【０１２２】
このとき、各ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）は、フローエントリを無効状態で登録しておいて、経路上の全てのノード装置（ノード装置２０−１、ノード装ノード装置２０−２、ノード装置２０−４、ノード装置２０−５）へのフローエントリの登録が完了したことを確認してから、ネットワーク制御装置１０からの指示で、経路上の全てのノード装置（ノード装置２０−１、ノード装ノード装置２０−２、ノード装置２０−４、ノード装置２０−５）のフローエントリを有効化するようにしても良い。
【０１２３】
経路上の全てのノード装置（ノード装置２０−１、ノード装ノード装置２０−２、ノード装置２０−４、ノード装置２０−５）のフローエントリの登録が完了した時点で、端末３０−２から端末３０−１へのデータ通信経路の生成が完了し、以降の端末３０−２から端末３０−１へのデータ通信の際には、「ノード装置２０−５」→「ノード装置２０−４」→「ノード装置２０−２」→「ノード装置２０−１」の経路で中継する。
【０１２４】
各ノード装置２０（２０−ｉ、ｉ＝１〜ｎ）は、データ通信経路の確立に成功した場合は、確立したデータ通信経路と経路上の全てのノード装置（ノード装置２０−１、ノード装ノード装置２０−２、ノード装置２０−４、ノード装置２０−５）に登録されたフローエントリの情報について、ネットワーク制御装置１０に応答メッセージを送信する。
【０１２５】
ネットワーク制御装置１０の経路管理部１２は、応答メッセージを受信し、確立したデータ通信経路を管理する。
【０１２６】
［効果の説明］
本実施形態では、ネットワーク制御装置は、管理下のノード装置に対して経路登録指示メッセージを行う場合に、指示メッセージを送信すべきノード装置全てに対して個別に経路登録指示メッセージを送信するのでは無く、代表のノード装置のみに経路登録指示メッセージを送信する。各ノード装置は、ノード装置間で経路登録指示メッセージをリレーしながら、経路登録指示メッセージに対する処理を実施することができる。このため、ネットワーク制御装置が指示メッセージを全ノード装置との間で送信することによるネットワーク制御装置のＣＰＵ処理負荷を軽減することができる。
【０１２７】
また、ネットワーク制御装置と各ノード装置間の指示交換用コネクションについても、ネットワーク制御装置は、代表のノード装置のみに経路登録指示メッセージを送信する。各ノード装置は、ノード装置間で経路登録指示メッセージをリレーしながらネットワーク制御装置からの指示に対する処理を実施することができる。このため、その他のノード装置の指示交換用コネクションのデータ転送量を削減できる。
【０１２８】
更に、ネットワークの規模を拡張する場合に、１台のネットワーク制御装置が大量のノード装置を管理する必要がある場合でも、ネットワーク制御装置は、代表のノード装置のみに経路登録指示メッセージを送信する。各ノード装置は、ノード装置間で経路登録指示メッセージをリレーしながら指示に対する処理を実施することができる。このため、ネットワーク制御装置が管理するノード装置間との制御メッセージの交換にかかるネットワーク制御指示メッセージの送信処理負荷は、ほとんど増加することが無くなる。従って、ノード装置数のスケールアウトが容易に実施できる。
【０１２９】
＜第２実施形態＞
以下に、本発明の第２実施形態について説明する。
【０１３０】
本発明の第２実施形態においても、ネットワーク構成や、ネットワーク制御装置及びノード装置については、基本的に、第１実施形態と同様である。
【０１３１】
第１実施形態では、ネットワーク制御装置１０からの指示で端末３０−２から端末３０−１へのデータ通信路を確立する場合について説明したが、本実施形態では、ネットワーク制御装置１０からの指示でデータ通信経路を変更する場合について説明する。
【０１３２】
［データ通信経路の変更］
図１２を参照して、データ通信経路を変更する場合について説明する。
【０１３３】
例えば、端末３０−２から端末３０−１へのデータ通信経路を、「ノード装置２０−５」→「ノード装置２０−４」→「ノード装置２０−２」→「ノード装置２０−１」の経路から、「ノード装置２０−５」→「ノード装置２０−３」→「ノード装置２０−２」→「ノード装置２０−１」の経路に変更するものとする。
【０１３４】
このとき、ネットワーク制御装置１０は、端点のノード装置２０−１に対して、端末３０−２から端末３０−１へのデータ通信経路を変更するための経路変更指示メッセージを送信する。
【０１３５】
ノード装置２０−１は、経路変更指示メッセージを受信して、内容を解析し、解析の結果、ノード装置２０−２からのパケットを端末３０−１へ中継するためのフローエントリに変わりは無く、フローエントリを変更する必要が無いため、経路変更指示メッセージを、ノード装置２０−２にリレーする。
【０１３６】
ノード装置２０−２は、経路変更指示メッセージを受信して、内容を解析し、解析の結果に基づいて、ノード装置２０−３からのパケットをノード装置２０−１へ中継するための新規のフローエントリをフローテーブルに登録する。このとき、ノード装置２０−２は、フローテーブルから、古い経路に関するフローエントリを削除しても良い。或いは、新規のフローエントリを登録するのでは無く、古い経路に関するフローエントリのアクションを「ノード装置２０−３からのパケットをノード装置２０−１へ中継する動作」に変更するようにしても良い。その後、ノード装置２０−２は、ノード装置２０−３に対して経路変更指示メッセージをリレーする。なお、ノード装置２０−２は、古い経路に関するフローエントリを削除する必要があるノード装置２０−４に対しても経路変更指示メッセージをリレーするようにしても良い。
【０１３７】
ノード装置２０−３は、経路変更指示メッセージを受信して、内容を解析し、解析の結果に基づいて、ノード装置２０−５からのパケットをノード装置２０−２へ中継するための新規のフローエントリをフローテーブルに登録する。その後、ノード装置２０−３は、ノード装置２０−５に対して経路変更指示メッセージをリレーする。
【０１３８】
ノード装置２０−５は、経路変更指示メッセージを受信して、内容を解析し、解析の結果に基づいて、端末３０−２からのパケットをノード装置２０−３へ中継するための新規のフローエントリをフローテーブルに登録する。このとき、ノード装置２０−５は、フローテーブルから、古い経路に関するフローエントリを削除しても良い。或いは、新規のフローエントリを登録するのでは無く、古い経路に関するフローエントリのアクションを「端末３０−２からのパケットをノード装置２０−３へ中継する動作」に変更するようにしても良い。
【０１３９】
この時点で、端末３０−２から端末３０−１へのデータ通信経路の変更が完了するため、ノード装置２０−５は、ネットワーク制御装置１０に対して、経路変更指示メッセージに応じた変更応答メッセージを送信する。
【０１４０】
ノード装置２０−５は、データ通信経路が変更された時点で、古い経路に関するフローエントリを削除する必要があるため、経路変更指示メッセージをノード装置２０−４へリレーする。
【０１４１】
ノード装置２０−４は、経路変更指示メッセージを受信して、内容を解析し、解析の結果に基づいて、古い経路に関するフローエントリを削除する。また、ノード装置２０−４は、古い経路に関するフローエントリを削除する必要があるノード装置２０−２へ経路変更指示をリレーする。
【０１４２】
ノード装置２０−２は、経路変更指示メッセージを受信して、内容を解析し、古い経路に関するフローエントリが未だフローテーブルに登録されている場合、古い経路に関するフローエントリを削除する。また、ノード装置２０−２は、古い経路に関するフローエントリを削除する必要があるノード装置が他に無いため、経路変更指示メッセージを破棄する。
【０１４３】
なお、実際には、ノード装置２０−５では無く、経路変更指示メッセージを最後に受信したノード装置２０−２が、ネットワーク制御装置１０に対して、変更応答メッセージを送信するようにしても良い。
【０１４４】
また、データ通信経路の変更とは別に、別途、ネットワーク制御装置１０からの指示で経路を削除することもできる。
【０１４５】
［データ通信経路の削除］
図１３を参照して、ネットワーク制御装置１０からの指示で経路を削除する場合について説明する。
【０１４６】
例えば、ノード装置２０−５」→「ノード装置２０−４」→「ノード装置２０−２」→「ノード装置２０−１」のデータ通信経路に関するフローエントリを、各ノード装置のフローテーブルから削除するものとする。
【０１４７】
このとき、ネットワーク制御装置１０は、端点のノード装置２０−１に対して、端末３０−２から端末３０−１への古いデータ通信経路を削除するための経路削除指示メッセージを送信する。
【０１４８】
ノード装置２０−１は、経路削除指示メッセージを受信して、内容を解析し、解析の結果に基づいて、ノード装置２０−２からのパケットを端末３０−１へ中継するための古いフローエントリをフローテーブルから削除する。その後、ノード装置２０−１は、経路削除指示メッセージを、ノード装置２０−２にリレーする。
【０１４９】
ノード装置２０−２は、経路削除指示メッセージを受信して、内容を解析し、解析の結果に基づいて、ノード装置２０−４からのパケットをノード装置２０−１へ中継するための古いフローエントリをフローテーブルから削除する。その後、ノード装置２０−２は、ノード装置２０−４に対して経路削除指示メッセージをリレーする。
【０１５０】
ノード装置２０−４は、経路削除指示メッセージを受信して、内容を解析し、解析の結果に基づいて、ノード装置２０−５からのパケットをノード装置２０−２へ中継するための古いフローエントリをフローテーブルから削除する。その後、ノード装置２０−４は、ノード装置２０−５に対して経路削除指示メッセージをリレーする。
【０１５１】
ノード装置２０−５は、経路削除指示メッセージを受信して、内容を解析し、解析の結果に基づいて、端末３０−２からのパケットをノード装置２０−４へ中継するための古いフローエントリをフローテーブルから削除する。
【０１５２】
この時点で、端末３０−２から端末３０−１への古いデータ通信経路の削除が完了するため、ノード装置２０−５は、ネットワーク制御装置１０に対して、経路削除指示メッセージに応じた削除応答メッセージを送信する。
【０１５３】
［データ通信経路の使用終了時点での経路の削除］
図１４を参照して、ネットワーク制御装置１０からの指示に依存せず、データ通信経路の使用が終了した時点で、データ通信経路に関するフローエントリをフローテーブルから削除する場合について説明する。
【０１５４】
例えば、ノード装置２０−５」→「ノード装置２０−４」→「ノード装置２０−２」→「ノード装置２０−１」のデータ通信経路に関するフローエントリが、各ノード装置のフローテーブルに登録されているものとする。
【０１５５】
このとき、端点のノード装置２０−１は、端末３０−２と端末３０−１間のデータ通信の完了を検知した場合、経路削除指示メッセージを生成し、ノード装置２０−２に対して、端末３０−２から端末３０−１への古いデータ通信経路を削除するための経路削除指示メッセージをリレーする。例えば、ノード装置２０−１の経路生存監視部２３は、端末３０−２と端末３０−１間のデータ通信を監視し、一定時間、一定時間、端末３０−２と端末３０−１間のデータ通信が無い場合、ノード装置２０−１のフロー管理部２２へ通知する。ノード装置２０−１のフロー管理部２２は、ノード装置２０−２からのパケットを端末３０−１へ中継するための古いフローエントリをフローテーブルから削除する。その後、ノード装置２０−１の制御指示処理部２１は、端末３０−２から端末３０−１への古いデータ通信経路を削除するための経路削除指示メッセージを生成し、隣接するノード装置２０−２に対して、経路削除指示メッセージをリレーする。
【０１５６】
ノード装置２０−２は、経路削除指示メッセージを受信して、内容を解析し、解析の結果に基づいて、ノード装置２０−４からのパケットをノード装置２０−１へ中継するための古いフローエントリをフローテーブルから削除する。その後、ノード装置２０−２は、ノード装置２０−４に対して経路削除指示メッセージをリレーする。
【０１５７】
ノード装置２０−４は、経路削除指示メッセージを受信して、内容を解析し、解析の結果に基づいて、ノード装置２０−５からのパケットをノード装置２０−２へ中継するための古いフローエントリをフローテーブルから削除する。その後、ノード装置２０−４は、ノード装置２０−５に対して経路削除指示メッセージをリレーする。
【０１５８】
ノード装置２０−５は、経路削除指示メッセージを受信して、内容を解析し、解析の結果に基づいて、端末３０−２からのパケットをノード装置２０−４へ中継するための古いフローエントリをフローテーブルから削除する。
【０１５９】
この時点で、端末３０−２から端末３０−１への古いデータ通信経路の削除が完了するため、ノード装置２０−５は、ネットワーク制御装置１０に対して、経路削除指示メッセージに応じた削除応答メッセージを送信する。
【０１６０】
これにより、ネットワーク制御装置１０は、各ノード装置において、古いデータ通信経路の削除が行われたことを把握する。
【０１６１】
＜各実施形態の関係＞
なお、上記の各実施形態は、組み合わせて実施することも可能である。
【０１６２】
＜本発明の特徴＞
本発明では、経路設定時に、ネットワーク制御装置からの指示を、経路上のノード装置間でリレーしながら経路を設定する。
【０１６３】
本発明では、ネットワーク制御装置と、ネットワーク制御装置からのネットワーク制御指示メッセージを受けて実際に通信データの中継を行うノード装置とを含むネットワークシステムにおいて、ネットワーク制御装置とノード装置間のネットワーク制御メッセージの交換数を削減する。これにより、ネットワーク制御装置のＣＰＵ処理負荷と、ネットワーク制御指示メッセージを各ノード装置に送信することによるネットワーク制御装置とノード装置間の通信経路の帯域の圧迫を軽減する。また、ネットワークを拡張した場合でもネットワーク制御装置の負荷が増加しにくいネットワークシステムを提供する。
【０１６４】
本発明に係るネットワークシステムは、ネットワーク制御装置と、ネットワーク制御装置から指示を受けて、データ通信経路を確立するノード装置とを含む。ネットワーク制御装置は、ノード装置へのネットワーク制御指示メッセージを、ネットワーク制御装置から指示対象の全ノード装置との間で交換するのでは無く、指示対象の端点のノード装置だけにネットワーク制御指示メッセージを送信する。ノード装置は、ネットワーク制御指示メッセージを受信した際、隣接ノードに対して、そのネットワーク制御指示メッセージをリレーし、データ通信経路を確立する。これにより、ネットワーク制御装置とノード装置間のメッセージ交換にかかる処理負荷を軽減する。
【０１６５】
本発明では、ネットワーク制御装置とノード装置との間で経路登録メッセージを交換するための制御コネクションを、ノード装置間でも用いることで、ネットワーク制御装置からのネットワーク制御指示メッセージをデータ中継装置間でリレーできるようにした。
【０１６６】
また、ネットワーク制御装置からの経路登録指示メッセージをノード装置間でリレーしながらデータ通信経路を確立し、最後にメッセージを受信したノード装置からネットワーク制御装置に対して、経路登録応答メッセージを送信する。
【０１６７】
また、ネットワーク制御装置からの経路変更指示メッセージをノード装置間でリレーしながらデータ通信経路を変更し、最後にメッセージを受信したノード装置からネットワーク制御装置に対して、経路変更応答メッセージを送信する。
【０１６８】
また、ネットワーク制御装置からの経路削除指示メッセージをノード装置間でリレーしながらデータ通信経路を削除し、最後にメッセージを受信したノード装置からネットワーク制御装置に対して、経路削除応答メッセージを送信する。
【０１６９】
なお、各ノード装置は、ネットワーク制御装置からのネットワーク制御指示メッセージを受信して、ネットワーク制御指示メッセージを解析する機能を持つ。
【０１７０】
また、各ノード装置は、ネットワーク制御装置からのネットワーク制御指示メッセージを、別のノード装置にリレーできる機能を持つ。
【０１７１】
また、各ノード装置は、ネットワーク制御装置からのネットワーク制御指示メッセージを終端し、指示元のネットワーク制御装置に対して応答を送信する。
【０１７２】
＜備考＞
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものでは無く、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
【符号の説明】
【０１７３】
１０…  ネットワーク制御装置
１１…  制御指示送受信部
１２…  経路管理部
２０…  ノード装置
２１…  制御指示処理部
２２…  フロー管理部
２３…  経路生存監視部
３０…  端末
【図１】
2013115733.tif 000003
【図２】
2013115733.tif 000004
【図３】
2013115733.tif 000005
【図４】
2013115733.tif 000006
【図５】
2013115733.tif 000007
【図６】
2013115733.tif 000008
【図７】
2013115733.tif 000009
【図８】
2013115733.tif 000010
【図９】
2013115733.tif 000011
【図１０】
2013115733.tif 000012
【図１１】
2013115733.tif 000013
【図１２】
2013115733.tif 000014
【図１３】
2013115733.tif 000015
【図１４】
2013115733.tif 000016