(57)【特許請求の範囲】
【請求項１】
パケットと照合する照合規則と前記照合規則に適合するパケットに適用する処理とを定めた処理規則に従って受信パケットを処理する複数の転送ノードと、制御情報を用いて前記転送ノードを制御する制御装置と、を含み、
前記制御装置は、前記各転送ノードについてそれぞれ前記制御情報の転送経路を決定し、各転送経路上の転送ノードに設定する前記制御情報の転送用の処理規則を含むトンネル確立メッセージを前記転送ノードに送信するトンネル確立部を備え、
前記各転送ノードは、前記トンネル確立メッセージに含まれる前記制御情報の転送用の処理規則を保持して、前記制御装置と制御情報を授受する通信システムであって、
前記トンネル確立メッセージは、前記トンネル確立メッセージに含まれる経路情報を用いて、ソースルーティングされ、
前記各転送ノードは、前記経路情報に含まれるホップカウントを用いて前記制御情報の転送用の処理規則を設定する通信システム。
【請求項２】
パケットと照合する照合規則と前記照合規則に適合するパケットに適用する処理とを定めた処理規則に従って受信パケットを処理する複数の転送ノードと、制御情報を用いて前記転送ノードを制御する制御装置と、を含み、
前記制御装置は、前記各転送ノードについてそれぞれ前記制御情報の転送経路を決定し、各転送経路上の転送ノードに設定する前記制御情報の転送用の処理規則を含むトンネル確立メッセージを前記転送ノードに送信するトンネル確立部を備え、
前記各転送ノードは、前記トンネル確立メッセージに含まれる前記制御情報の転送用の処理規則を保持して、前記制御装置と制御情報を授受する通信システムであって、
前記トンネル確立メッセージは、前記トンネル確立メッセージに含まれる経路情報を用いて、ソースルーティングされ、
前記各転送ノードは、前記トンネル確立メッセージに含まれる処理規則を設定すべき転送ノードを指定する情報を用いて前記制御情報の転送用の処理規則を設定する通信システム。
【請求項３】
前記トンネル確立メッセージは、複数の制御情報の転送用の処理規則を格納可能である請求項１又は２の通信システム。
【請求項４】
前記制御装置は、
ソースルーティングを用いて、前記転送ノードとトンネルの確立のための情報を収集するトンネル確立パケット生成部と、
前記トンネル確立パケット生成部にて生成された情報に基づいて、転送ノードに前記制御情報の転送用の処理規則を設定するとともに、前記処理規則を用いて、前記転送ノードに制御情報を送信するトンネリング部と、を備え、
前記各転送ノードは、
前記トンネル確立パケット生成部に応答し、または、他の転送ノードにトンネル確立パケットを転送するトンネル確立パケット処理部と、
前記制御装置のトンネリング部と、制御情報を送受信する転送ノード側トンネリング部とを備える請求項１から３いずれか一の通信システム。
【請求項５】
さらに、前記転送ノードが、
前記制御装置のトンネリング部から受信した制御情報を所定の形式に変換する制御パケット処理部を備える請求項１から４いずれか一の通信システム。
【請求項６】
パケットと照合する照合規則と、前記照合規則に適合するパケットに適用する処理を定めた処理規則に従って受信パケットを処理する複数の転送ノードと接続され、
前記各転送ノードについてそれぞれ制御情報の転送経路を決定し、各転送経路上の転送ノードに設定する前記制御情報の転送用の処理規則を含むトンネル確立メッセージを前記転送ノードに送信するトンネル確立部を備える制御装置であって、
前記トンネル確立メッセージは、前記トンネル確立メッセージに含まれる経路情報を用いて、ソースルーティングされ、
前記各転送ノードに、前記経路情報に含まれるホップカウントを用いて前記制御情報の転送用の処理規則を設定させること、
を特徴とする制御装置。
【請求項７】
パケットと照合する照合規則と、前記照合規則に適合するパケットに適用する処理を定めた処理規則に従って受信パケットを処理する複数の転送ノードと接続され、
前記各転送ノードについてそれぞれ制御情報の転送経路を決定し、各転送経路上の転送ノードに設定する前記制御情報の転送用の処理規則を含むトンネル確立メッセージを前記転送ノードに送信するトンネル確立部を備える制御装置であって、
前記トンネル確立メッセージは、前記制御情報の転送経路上の転送ノードのうち、前記トンネル確立メッセージに含まれる処理規則を設定すべき転送ノードを指定する情報を含むこと、
を特徴とする制御装置。
【請求項８】
前記トンネル確立メッセージとして、複数の制御情報の転送用の処理規則を格納したトンネル確立メッセージを生成する請求項６又は７の制御装置。
【請求項９】
さらに、
ソースルーティングを用いて、前記転送ノードとトンネルの確立のための情報を収集するトンネル確立パケット生成部と、
前記トンネル確立パケット生成部にて生成された情報に基づいて、転送ノードに前記制御情報の転送用の処理規則を設定するとともに、前記処理規則を用いて、前記転送ノードに制御情報を送信するトンネリング部と、を備える請求項６から８いずれか一の制御装置。
【請求項１０】
請求項９の制御装置のトンネル確立パケット生成部に応答し、または、他の転送ノードにトンネル確立パケットを転送するトンネル確立パケット処理部と、
前記制御装置のトンネリング部と、制御情報を送受信する転送ノード側トンネリング部とを備える転送ノード。
【請求項１１】
さらに、
前記制御装置のトンネリング部から受信した制御情報を所定の形式に変換する制御パケット処理部を備える請求項１０の転送ノード。
【請求項１２】
パケットと照合する照合規則と前記照合規則に適合するパケットに適用する処理とを定めた処理規則に従って受信パケットを処理する複数の転送ノードと、制御情報を用いて前記転送ノードを制御する制御装置と、を含む通信システムにおいて、
前記制御装置が、前記各転送ノードについてそれぞれ前記制御情報の転送経路を決定し、各転送経路上の転送ノードに設定する前記制御情報の転送用の処理規則を含むトンネル確立メッセージを前記転送ノードに送信するステップと、
前記各転送ノードが、前記トンネル確立メッセージに含まれる前記制御情報の転送用の処理規則を保持して、前記制御装置と制御情報を授受するステップと、
を含み、
前記トンネル確立メッセージは、前記トンネル確立メッセージに含まれる経路情報を用いて、ソースルーティングされ、
前記各転送ノードは、前記経路情報に含まれるホップカウントを用いて前記制御情報の転送用の処理規則を設定する通信システムの制御方法。
【請求項１３】
パケットと照合する照合規則と前記照合規則に適合するパケットに適用する処理とを定めた処理規則に従って受信パケットを処理する複数の転送ノードと、制御情報を用いて前記転送ノードを制御する制御装置と、を含む通信システムにおいて、
前記制御装置が、前記各転送ノードについてそれぞれ前記制御情報の転送経路を決定し、各転送経路上の転送ノードに設定する前記制御情報の転送用の処理規則を含むトンネル確立メッセージを前記転送ノードに送信するステップと、
前記各転送ノードが、前記トンネル確立メッセージに含まれる前記制御情報の転送用の処理規則を保持して、前記制御装置と制御情報を授受するステップと、
を含み、
前記トンネル確立メッセージは、前記トンネル確立メッセージに含まれる経路情報を用いて、ソースルーティングされ、
前記各転送ノードは、前記トンネル確立メッセージに含まれる処理規則を設定すべき転送ノードを指定する情報を用いて前記制御情報の転送用の処理規則を設定する通信システムの制御方法。
【請求項１４】
パケットと照合する照合規則と前記照合規則に適合するパケットに適用する処理とを定めた処理規則に従って受信パケットを処理する複数の転送ノードと、制御情報を用いて前記転送ノードを制御する制御装置と、を含む通信システムに含まれるコンピュータに、
前記各転送ノードについてそれぞれ前記制御情報の転送経路を決定する処理と、
前記各転送経路上の転送ノードに設定する前記制御情報の転送用の処理規則を含むトンネル確立メッセージを前記転送ノードに送信する処理と、を実行させるプログラムであって、
前記トンネル確立メッセージを前記転送ノードに送信する処理において、前記トンネル確立メッセージは、前記トンネル確立メッセージに含まれる経路情報を用いて、ソースルーティングされ、
前記トンネル確立メッセージは、前記各転送ノードに、前記経路情報に含まれるホップカウントを用いて前記制御情報の転送用の処理規則を設定させるよう構成されているプログラム。
【請求項１５】
パケットと照合する照合規則と前記照合規則に適合するパケットに適用する処理とを定めた処理規則に従って受信パケットを処理する複数の転送ノードと、制御情報を用いて前記転送ノードを制御する制御装置と、を含む通信システムに含まれるコンピュータに、
前記各転送ノードについてそれぞれ前記制御情報の転送経路を決定する処理と、
前記各転送経路上の転送ノードに設定する前記制御情報の転送用の処理規則を含むトンネル確立メッセージを前記転送ノードに送信する処理と、を実行させるプログラムであって、
前記トンネル確立メッセージを前記転送ノードに送信する処理において、前記トンネル確立メッセージは、前記トンネル確立メッセージに含まれる経路情報を用いて、ソースルーティングされ、
前記トンネル確立メッセージは、前記各転送ノードに、前記トンネル確立メッセージに含まれる処理規則を設定すべき転送ノードを指定する情報を用いて前記制御情報の転送用の処理規則を設定させるよう構成されているプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願についての記載）
本発明は、日本国特許出願：特願２０１１−１２４２６３号（２０１１年６月２日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信システム、制御装置、転送ノード、通信システムの制御方法およびプログラムに関し、特に、制御装置が制御情報を用いて、ネットワークに配置された転送ノードを制御する通信システム、制御装置、転送ノード、通信システムの制御方法およびプログラムに関する。
【背景技術】
【０００２】
制御装置が転送ノードを集中制御する通信システムとしては、オープンフロー（ＯｐｅｎＦｌｏｗ）という技術が知られている（特許文献１、非特許文献１、２参照）。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。非特許文献２に仕様化されているオープンフロースイッチは、制御装置と位置付けられるオープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するマッチングルール（ヘッダフィールド）と、フロー統計情報（Ｃｏｕｎｔｅｒｓ）と、処理内容を定義したアクション（Ａｃｔｉｏｎｓ）と、の組が定義される（図１２参照）。
【０００３】
例えば、オープンフロースイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するマッチングルール（図１２のヘッダフィールド参照）を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、フロー統計情報（カウンタ）を更新するとともに、受信パケットに対して、当該エントリのアクションフィールドに記述された処理内容（指定ポートからのパケット送信、フラッディング、廃棄等）を実施する。一方、前記検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対して受信パケットを転送し、受信パケットの送信元・送信先に基づいたパケットの経路の決定を依頼し、これを実現するフローエントリを受け取ってフローテーブルを更新する。このように、オープンフロースイッチは、フローテーブルに格納されたエントリを処理規則として用いてパケット転送を行っている。
【０００４】
非特許文献３に、上記のようなオープンフローネットワークにおけるセキュアチャネルを、特殊フレームとソースルーティングを用いて実ネットワーク上に構築することが提案されている（以下、この実ネットワーク上に構築された制御チャネルを「インバンド・セキュアチャネル」と称する。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２００８／０９５０１０号
【特許文献２】特表２００９−５１０５６６号公報
【非特許文献】
【０００６】
【非特許文献１】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２３（２０１１）年５月２６日検索］、インターネット〈URL: http://www.openflow.org/documents/openflow-wp-latest.pdf〉
【非特許文献２】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”  Ｖｅｒｓｉｏｎ  １．０．０．  （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０１）  ［平成２３（２０１１）年５月２６日検索］、インターネット〈URL:http://www.openflow.org/documents/openflow-spec-v1.0.0.pdf〉
【非特許文献３】小出  俊夫、下西  英之、「ＯｐｅｎＦｌｏｗネットワークにおける制御ネットワークの構築自動化に関する一検討」、信学技報、社団法人電子情報通信学会、ＮＳ２００９−１６５（２０１０−３）、Ｖｏｌ．１０９、  Ｎｏ．４４８、ｐｐ．１９−２４、２０１０年３月
【発明の概要】
【発明が解決しようとする課題】
【０００７】
以下の分析は、本発明によって与えられたものである。今後、上記非特許文献３の手法等を用いることで、企業や家庭において、制御専用ネットワークを用意しなくとも、インバンド・セキュアチャネルを用いて、上記オープンフローに準拠したネットワークを構築することが可能となる。
【０００８】
上記インバンド・セキュアチャネルは、オープンフローコントローラとして機能する制御装置と、オープンフロースイッチとして機能する転送ノードとの間で確立される。非特許文献３では、ソースルーティングを用いて上記インバンド・セキュアチャネルを構築することが提案されている。
【０００９】
しかしながら、ソースルーティングを用いる非特許文献３の方式では転送ノードのソフトウェア処理に頼っているため、特に、転送ノードの数が多く、インバンド・セキュアチャネルが複数の転送ノードを経由して確立される場合には、ルート側の転送ノードでの転送負荷が高まりやすいという問題点がある。このため、制御装置とすべての転送ノードが直接接続するインバンド・セキュアチャネルを用いない構成と比べて、制御情報の送受信の遅延が増すなどして、ネットワーク全体の性能が劣化する可能性がある。
【００１０】
本発明の目的とするところは、上記インバンド・セキュアチャネルを用いてオープンフローに代表される集中制御型ネットワークを構築する場合における、制御情報の転送負荷を軽減できる構成を提供することにある。
【課題を解決するための手段】
【００１１】
本発明の第１の視点によれば、パケットと照合する照合規則と前記照合規則に適合するパケットに適用する処理とを定めた処理規則に従って受信パケットを処理する複数の転送ノードと、制御情報を用いて前記転送ノードを制御する制御装置と、を含み、前記制御装置は、前記各転送ノードについてそれぞれ前記制御情報の転送経路を決定し、各転送経路上の転送ノードに設定する前記制御情報の転送用の処理規則を含むトンネル確立メッセージを前記転送ノードに送信するトンネル確立部を備え、前記各転送ノードは、前記トンネル確立メッセージに含まれる前記制御情報の転送用の処理規則を保持して、前記制御装置と制御情報を授受する通信システムであって、前記トンネル確立メッセージは、前記トンネル確立メッセージに含まれる経路情報を用いて、ソースルーティングされ、前記各転送ノードは、前記経路情報に含まれるホップカウントを用いて前記制御情報の転送用の処理規則を設定する通信システムが提供される。
【００１２】
本発明の第２の視点によれば、パケットと照合する照合規則と前記照合規則に適合するパケットに適用する処理とを定めた処理規則に従って受信パケットを処理する複数の転送ノードと接続され、前記各転送ノードについてそれぞれ制御情報の転送経路を決定し、各転送経路上の転送ノードに設定する前記制御情報の転送用の処理規則を含むトンネル確立メッセージを前記転送ノードに送信するトンネル確立部を備える制御装置であって、前記トンネル確立メッセージは、前記トンネル確立メッセージに含まれる経路情報を用いて、ソースルーティングされ、前記各転送ノードに、前記経路情報に含まれるホップカウントを用いて前記制御情報の転送用の処理規則を設定させること、を特徴とする制御装置が提供される。
【００１３】
本発明の第３の視点によれば、パケットと照合する照合規則と前記照合規則に適合するパケットに適用する処理とを定めた処理規則に従って受信パケットを処理する複数の転送ノードと、制御情報を用いて前記転送ノードを制御する制御装置と、を含む通信システムにおいて、前記制御装置が、前記各転送ノードについてそれぞれ前記制御情報の転送経路を決定し、各転送経路上の転送ノードに設定する前記制御情報の転送用の処理規則を含むトンネル確立メッセージを前記転送ノードに送信するステップと、前記各転送ノードが、前記トンネル確立メッセージに含まれる前記制御情報の転送用の処理規則を保持して、前記制御装置と制御情報を授受するステップと、を含み、前記トンネル確立メッセージは、前記トンネル確立メッセージに含まれる経路情報を用いて、ソースルーティングされ、
前記各転送ノードは、前記経路情報に含まれるホップカウントを用いて前記制御情報の転送用の処理規則を設定する通信システムの制御方法が提供される。本方法は、前記制御装置と転送ノードとを含む通信システムという、特定の機械に結びつけられている。
【００１４】
本発明の第４の視点によれば、パケットと照合する照合規則と前記照合規則に適合するパケットに適用する処理とを定めた処理規則に従って受信パケットを処理する複数の転送ノードと、制御情報を用いて前記転送ノードを制御する制御装置と、を含む通信システムに含まれるコンピュータに、前記各転送ノードについてそれぞれ前記制御情報の転送経路を決定する処理と、前記各転送経路上の転送ノードに設定する前記制御情報の転送用の処理規則を含むトンネル確立メッセージを前記転送ノードに送信する処理と、を実行させるプログラムであって、前記トンネル確立メッセージを前記転送ノードに送信する処理において、前記トンネル確立メッセージは、前記トンネル確立メッセージに含まれる経路情報を用いて、ソースルーティングされ、前記トンネル確立メッセージは、前記各転送ノードに、前記経路情報に含まれるホップカウントを用いて前記制御情報の転送用の処理規則を設定させるよう構成されているプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１５】
本発明によれば、上記したインバンド・セキュアチャネルを用いて、オープンフローに代表される集中制御型ネットワークを構築する場合における制御情報の転送負荷を軽減することが可能になる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態の概要を説明するための図である。
【図２】図１の制御装置と各転送ノード間にトンネルが確立された状態を示す図である。
【図３】本発明の第１の実施形態に係る通信システムの構成を示す図である。
【図４】本発明の第１の実施形態の制御装置が設定するトンネル確立区間とポート系列の対応関係の例である。
【図５】本発明の第１の実施形態の制御装置の動作を説明するための流れ図である。
【図６】本発明の第１の実施形態の制御情報の流れを説明するための参考図である。
【図７】本発明の第１の実施形態の制御情報の流れを説明するための参考図である。
【図８】本発明の第１の実施形態のトンネル確立区間を実現するために各転送ノードに設定する処理規則の例である。
【図９】本発明の第１の実施形態の制御情報の流れを説明するための参考図である。
【図１０】本発明の第２の実施形態に係る通信システムの構成を示す図である。
【図１１】本発明の第２の実施形態の制御情報の流れを説明するための参考図である。
【図１２】非特許文献２に記載のフローエントリの構成を表した図である。
【発明を実施するための形態】
【００１７】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００１８】
本発明の一実施形態は、図１に示すように、複数の転送ノード２０Ａ〜転送ノード２０Ｄと、これらの転送ノードを制御する制御装置１０Ａとを含む構成にて実現できる。なお、図１では、通信システムが４つの転送ノード２０Ａ〜２０Ｄを備える場合を例示しているが、転送ノードの台数や、転送ノードの接続関係は特に限定されない。また、図１では、制御装置１０Ａに２台の転送ノード２０Ａ、２０Ｂが接続されている例を示しているが、制御装置１０Ａに接続される転送ノードの台数は１台であっても、３台以上であってもよい。制御装置１０Ａには、少なくとも１台の転送ノードが接続されていればよい。
【００１９】
制御装置１０Ａは、制御情報を用いて前記転送ノードを制御する転送ノード制御部１６と、各転送ノードについてそれぞれ前記制御情報の転送経路を決定し、各転送経路上の転送ノードに設定する前記制御情報の転送用の処理規則を含むトンネル確立メッセージを前記転送ノードに送信するトンネル確立部１５と、を備えて構成される。
【００２０】
トンネル確立部１５は、非特許文献３の手法等を用いることで、転送ノード２０Ａ〜２０Ｄの存在や接続関係の把握、制御装置１０Ａと各転送ノードの間の制御情報の転送経路の計算と、当該転送経路を実現する制御情報の転送用の処理規則を含むトンネル確立メッセージを各転送ノードに送信する。前記制御情報の転送用の処理規則は、転送ノード制御部１６から各転送ノード２０Ａ〜２０Ｄに宛てられた制御情報を一意に特定することのできるような照合規則と、転送ノード２０Ａ〜２０Ｄのうち宛先の転送ノードに該制御情報を転送させる処理とが設定される。
【００２１】
各転送ノード２０Ａ〜２０Ｄは、それぞれ、パケットと照合する照合規則と前記照合規則に適合するパケットに適用する処理とを定めた処理規則を記憶する処理規則記憶部２４と、前記処理規則に従って受信パケットを処理するパケット処理部２１と、前記制御装置１０Ａから送信されたトンネル確立メッセージに含まれる前記制御情報の転送用の処理規則を抽出して、前記処理規則記憶部２４に記憶させるメッセージ処理部２６とを備えて構成される。
【００２２】
前記トンネル確立部１５による各転送ノード２０Ａ〜２０Ｄの処理規則記憶部２４への制御情報の転送用の処理規則の設定が完了すると、図２に示すように、制御装置１０Ａと、転送ノード２０Ａ〜２０Ｄ間にそれぞれ独立したトンネル１００ａ〜１００ｄが確立される。
【００２３】
その後、転送ノード制御部１６が、転送ノード２０Ａ〜２０Ｄのうち宛先の転送ノードに制御情報を含んだパケットを送信すると、制御情報は、各転送ノード２０Ａ〜２０Ｄに設定された制御情報の転送用の処理規則に従って、目的とする転送ノードに転送される。その後は、前記制御情報によって、転送ノードからの求めに応じて、一般のデータパケットを転送するための処理規則が各転送ノードに設定されることになる。
【００２４】
以上のように、本発明の一実施形態によれば、非特許文献３のように、ソースルーティングを用いて制御情報を送信するのはトンネル確立までであり、その後は、非特許文献１、２のオープンフロースイッチのような処理規則による制御情報の授受が実現される。従って、転送ノードの数が多い場合でも、制御情報の転送経路上にある転送ノードにおける制御情報の転送負荷を軽減することが可能となる。
【００２５】
なお、トンネル確立メッセージに前記制御情報の転送用の処理規則を含める形態としては、個々の転送ノードに対して、制御情報の転送用の処理規則を含んだトンネル確立メッセージを送信する形態のほか、種々の形態を採ることができる。例えば、１つのトンネル確立メッセージに、複数の転送ノードに設定する処理規則を格納する形態が考えられる。この場合、個々の転送ノードが自装置に設定すべき処理規則を特定できるように、転送ノードの識別情報や制御装置１０Ａからのホップカウントなどを含めるようにすることができる。また、転送経路の経路順に処理規則を並べて格納し、転送ノードが順次、自装置に設定した処理規則を削除したり、無効化する形態なども考えられる。また、トンネル確立メッセージに、その転送経路上の処理規則の設定対象の転送ノードを特定するフラグを設けたり、転送経路の終端にある転送ノードが処理規則の設定対象であることを示すフラグ等を設けても良い。
【００２６】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図３は、本発明の第１の実施形態に係る通信システムの構成を示す図である。図３を参照すると、制御装置１０と、二つの転送ノード２０ａ、２０ｂとを含む構成が示されている。なお、制御装置１０と転送ノード２０ａと転送ノード２０ｂ間に付した＃１、＃２等は、ポート番号を表わしている。
【００２７】
制御装置１０は、その出力ポート＃１を介して転送ノード２０ａと接続されている。また、転送ノード２０ａは、その出力ポート＃１を介して制御装置１０と接続され、その出力ポート＃２を介して転送ノード２０ｂと接続されている。さらに、転送ノード２０ｂは、その出力ポート＃２を介して転送ノード２０ａと接続されている。
【００２８】
制御装置１０は、トンネル確立パケット生成部１１と、トンネル確立パケット送受信部１２と、トンネリング部１３と、制御パケット送受信部１４とを備えて構成される。
【００２９】
トンネル確立パケット生成部１１は、トンネル確立パケットを生成し、その送信および受信を制御する。具体的には、トンネル確立パケット生成部１１は、非特許文献３の手法等を用いることで、トンネル確立パケットを用いて転送ノードと対話し、転送ノード２０ａ〜２０ｄの存在や接続関係を把握し、制御装置１０と各転送ノードの間のトンネルとなる制御情報の転送用の転送経路を計算し、最終的には、当該転送経路を実現する処理規則を含んだトンネル確立パケットを生成する。以下、本実施形態では、制御装置１０と各転送ノードの間で制御情報を授受するパケットのうち、ソースルーティングを用いる非特許文献３の方式等を用いて授受されるパケットを「トンネル確立パケット」と呼び、各転送ノードに設定された処理規則により授受されるパケットを「制御パケット」と呼ぶ。
【００３０】
図４は、図３のように、制御装置１０に対し、転送ノード２０ａ、転送ノード２０ｂが直列に接続されている場合における制御装置１０と各転送ノード間のトンネル確立区間と、その際にトンネル確立パケット生成部１１が算出するポート系列の例である。例えば、制御装置１０から転送ノード２０ａへの制御情報を送るトンネルは、制御装置１０のポート＃１によって特定される。また、制御装置１０から転送ノード２０ｂへの制御情報を送るトンネルは、制御装置１０のポート＃１、転送ノード２０ａのポート＃２というポート系列によって特定される。
【００３１】
トンネル確立パケット送受信部１２は、トンネル確立パケット生成部１１の指示に従って、トンネル確立パケットの送受信を行う。
【００３２】
以下、本実施形態では、トンネル確立パケットは、ＥｔｈｅｒＴｙｐｅフィールドの値を０ｘ１Ｆ０３とし、宛先ＭＡＣアドレスをブロードキャストアドレスとし、データ領域に、経路情報として、出力ポート系列や、起点からのホップ数を示し、各転送ノードで更新されるホップカウントを含むものとする。ただし、トンネル確立パケットの構成はあくまで一例であり、データプレーンで送受信されるパケットと区別可能であり、ソースルーティングに必要な情報を含んでいれば、形式はこれに限らない。
【００３３】
トンネリング部１３は、制御装置１０と各転送ノード２０ａ〜２０ｄとの間で授受する制御情報をトンネリングする。具体的には、トンネリング部１３は、トンネル確立パケット送受信部１２または制御パケット送受信部１４に対して、宛先の転送ノードを指定して制御情報を含んだパケット（トンネル確立パケットまたは制御パケット）を出力する処理と、トンネル確立パケット送受信部１２または制御パケット送受信部１４を介して制御情報を含んだパケットを受信する処理を行う。
【００３４】
本実施形態では、トンネリング部１３は、ＩＰｖ４やＩＰｖ６パケットとして制御情報を送受信できる仮想デバイスとしての役割を負い、宛先ＩＰアドレスによって転送ノードの指定を行うものとして説明するが、パケットの形式や転送ノードの指定方法はこれには限らない。
【００３５】
制御パケット送受信部１４は、転送ノードまたは制御装置１０の識別子を含む制御情報を含む制御パケットを送受信する。なお、このときに、制御パケット送受信部１４が、トンネリング部１３から受け取ったパケットを、転送ノードのパケット処理部２１が処理規則記憶部２４に記憶された処理規則を参照して処理可能な形式のパケットとの相互変換を行うようにしてもよい。以下、本実施形態では、制御パケットは、宛先ＭＡＣアドレスを転送ノードまたは制御装置１０のＭＡＣアドレスとし、ＥｔｈｅｒＴｙｐｅフィールドの値を０ｘ１Ｆ０３とするパケットであるものとする。ただし、制御パケットの構成はあくまで一例であり、トンネル確立パケットやデータプレーンで送受信されるパケットと区別可能であれば、形式はこれには限らない。
【００３６】
なお、上記したトンネル確立パケット生成部１１、トンネル確立パケット送受信部１２およびトンネリング部１３の一部が、上記したトンネル確立部１５に相当し、上記したトンネリング部１３および制御パケット送受信部１４が上記した転送ノード制御部１６に相当する。
【００３７】
転送ノード２０ａ〜２０ｄは、パケット処理部２１と、トンネル確立パケット処理部２２と、トンネリング部２３と、処理規則記憶部２４とを備えて構成される。
【００３８】
パケット処理部２１は、処理規則記憶部２４に保持された処理規則に従った受信パケットの処理を行う。ただし、受信パケットがトンネル確立パケットであった場合には、受信パケットをトンネル確立パケット処理部２２へ出力する。具体的には、パケット処理部２１は、非特許文献２に開示される仕様等と同様に、パケットを受信すると、フローテーブルに相当する処理規則記憶部２４から、受信パケットのヘッダ情報に適合する照合規則（マッチングルール）を持つエントリに相当する処理規則を検索する。前記検索の結果、受信パケットに適合する処理規則が見つかった場合、パケット処理部２１は、受信パケットに対して、当該処理規則に記述された処理内容（指定ポートからのパケット送信、フラッディング、廃棄等）を実施する。
【００３９】
一方、前記検索の結果、受信パケットに適合する処理規則が見つからなかった場合、パケット処理部２１は、トンネリング部２３を介して、制御装置１０に対して受信パケットを転送する。ただし、受信パケットがトンネル確立パケットであった場合、パケット処理部２１は、処理規則記憶部２４に保持された処理規則に拘らず、トンネル確立パケット処理部２２へ受信パケット（トンネル確立パケット）を出力する。なお、前記受信パケット（トンネル確立パケット）を受信した場合のトンネル確立パケット処理部２２へのパケット出力も、処理規則を用いて実現することができる。例えば、トンネル確立パケットがＥｔｈｅｒＴｙｐｅフィールドの値として０ｘ１Ｆ０３を持ち、宛先ＭＡＣアドレスにブロードキャストアドレスが設定されている場合には、そのような照合規則に適合するパケットをトンネル確立パケット処理部２２に出力する処理内容の処理規則を処理規則記憶部２４に設定しておけばよい。
【００４０】
トンネル確立パケット処理部２２は、前述の制御装置１０から送信されたトンネル確立パケットの処理を行うとともに、必要に応じて制御装置１０に対するトンネル確立パケットの生成、送信を行う。具体的には、トンネル確立パケット処理部２２は、非特許文献３において開示される、転送ノードの情報提供、制御装置への経路の保持、トンネル確立パケットを用いた制御情報のトンネリング、トンネル確立パケットに含まれる経路情報（出力ポート系列とホップカウント）を用いたソースルーティングによるトンネル確立パケットの転送を行う。
【００４１】
トンネリング部（転送ノード側トンネリング部）２３は、上記したメッセージ処理部２６に相当し、制御装置１０との間で授受する制御情報をトンネリングする。具体的には、トンネリング部２３は、転送ノード２０ａが制御装置１０へ送信しようとする制御情報を、トンネル確立パケット処理部２２、または、パケット処理部２１へ出力する。また、トンネリング部２３は、制御装置１０から送られた転送ノード２０ａで処理すべき制御情報をトンネル確立パケット処理部２２、または、パケット処理部２１から受け取って、転送ノード２０ａ内部の制御部（図示省略）に出力する。
【００４２】
本実施形態では、トンネリング部２３は、制御情報をＩＰｖ４やＩＰｖ６パケットとして送受信できる仮想デバイスとしての役割を負い、宛先ＩＰアドレスによって制御装置１０の指定を行った場合のみに処理を行うものとして説明するが、トンネリング部２３が扱うパケットの形式や制御装置の指定方法および制御装置以外が指定された場合の処理はこれには限らない。
【００４３】
処理規則記憶部２４は、パケット処理部２１で受信するパケットに対する処理規則を保持する。具体的には、非特許文献２に開示される仕様等と同様に、パケットヘッダと照合するマッチングルール（ヘッダフィールド）に相当する規則と、アクション（Ａｃｔｉｏｎｓ）に相当する処理内容とを含んだ組を複数保持することができる。
【００４４】
なお、図３では、転送ノード２０ｂの構成を省略しているが、転送ノード２０ｂも転送ノード２０ａと同様に構成される。
【００４５】
従って、制御装置１０は、非特許文献３の手法等を用いて各転送ノードとの間でインバンド・セキュアチャネルを確立した後、非特許文献２に開示される仕様等を用いて、各転送ノードの処理規則記憶部２４に対して、前述の制御パケットの形式に適合した処理規則を設定する。
【００４６】
上記処理規則には、ある転送ノードからみて、他の転送ノードを宛先とするデータパケットや他の転送ノードと制御装置１０間の制御情報を含んだパケットを転送するための処理規則と、当該転送ノードのトンネリング部２３と制御装置１０のトンネリング部１３間で制御情報を含んだパケットを授受するための処理規則とが含まれる。なお、前記制御装置１０と授受する制御情報を含んだパケットと、転送ノードの内部で取り扱い可能なパケットの形式が異なる場合には、該当する処理規則に、両者を相互に変換する処理を設定すればよい。
【００４７】
また、これらの処理規則は、トンネル確立パケット生成部１１において計算された各転送ノードと制御装置１０との間のパケット転送経路を反映するように作成される。ただし、前記転送経路は、事前に計算されたものや、別途任意のアルゴリズムを用いて計算したものを利用してもよい。
【００４８】
なお、図３に示した制御装置１０および転送ノード２０ａの各部（処理手段）は、制御装置１０および転送ノード２０ａを構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００４９】
続いて、本発明の第１の実施形態の動作について図面を参照して詳細に説明する。以下の説明では、制御装置１０は、初期状態においては、転送ノード２０ａ、２０ｂの存在や接続関係を把握しておらず、制御チャネルも確立されていないものとする。
【００５０】
図５は、本発明の第１の実施形態の制御装置の動作を説明するための流れ図である。図５を参照すると、制御装置１０のトンネル確立パケット生成部１１は、非特許文献３の手法等によりトンネル確立パケットを転送ノード２０ａ、２０ｂに送信し、転送ノード２０ａ、２０ｂからその応答が含まれたトンネル確立パケットを受信して、転送ノード２０ａ、２０ｂの存在や接続関係の把握を行う（ステップＳ００１）。図６は、ステップＳ００１におけるトンネル確立パケットを用いて授受される制御情報の流れを示す図である。
【００５１】
例えば、トンネル確立パケット生成部１１は、転送ノード２０ａ、２０ｂのトンネル確立パケット処理部２２と順次対話して、図４に示すようなポート系列を得る。制御装置１０と転送ノード２０ｂ間のトンネル確立パケットは、図４の制御装置１０と転送ノード２０ｂ間のポート系列を用いてソースルーティングにより転送される。
【００５２】
続いて、トンネル確立パケット生成部１１は、制御装置１０と転送ノード２０ａ、２０ｂの間の経路を計算する動作を行い（ステップＳ００２）、トンネル確立パケットを用いて、インバンド・セキュアチャネルを確立する（ステップＳ００３）。
【００５３】
具体的には、制御装置１０から転送ノード２０ａへ向かうトンネル確立パケットには、ポート系列として［＃１］が含まれる。また、転送ノード２０ａから制御装置１０へ向かうトンネル確立パケットには、ポート系列として［＃１］が含まれる。制御装置１０から転送ノード２０ｂへ向かうトンネル確立パケットには、ポート系列として［＃１、＃２］が含まれる。転送ノード２０ｂから制御装置１０へ向かうトンネル確立パケットには、ポート系列として［＃１、＃１］が含まれる。
【００５４】
図７は、ステップＳ００３の時点でトンネル確立パケットにより授受される制御情報の流れを示す図である。制御装置１０のトンネリング部１３は、転送ノード２０ａのトンネリング部２３との間に、トンネル確立パケットを用いて通信トンネル１００ａを構成する。この通信トンネル１００ａの上で、制御装置１０が転送ノード２０ａを制御するためのインバンド・セキュアチャネルが確立されている。なお、図７においても、転送ノード２０ｂの内部のブロックは転送ノード２０ａと同一であるため、省略している。
【００５５】
通信トンネル１００ａは、制御装置１０のトンネリング部１３、トンネル確立パケット送受信部１２、制御装置１０と転送ノード２０ａ間の通信回線、転送ノード２０ａのパケット処理部２１、トンネル確立パケット処理部２２、トンネリング部２３を経由して構成される。
【００５６】
同様に、制御装置１０のトンネリング部１３は、転送ノード２０ｂのトンネリング部２３（図７に図示せず）との間に、トンネル確立パケットを用いて通信トンネル１００ｂを構成する。この通信トンネル１００ｂの上で、制御装置１０が転送ノード２０ｂを制御するためのインバンド・セキュアチャネルが確立されている。
【００５７】
通信トンネル１００ｂは、制御装置１０のトンネリング部１３、制御装置１０のトンネル確立パケット送受信部１２、制御装置１０と転送ノード２０ａ間の通信回線、転送ノード２０ａのパケット処理部２１、転送ノード２０ａのトンネル確立パケット処理部２２、転送ノード２０ａのパケット処理部２１、転送ノード２０ａと転送ノード２０ｂ間の通信回線、転送ノード２０ｂのパケット処理部２１（図７に図示せず）、転送ノード２０ｂのトンネル確立パケット処理部２２（図７に図示せず）、転送ノード２０ｂのトンネリング部２３（図７に図示せず）を経由して構成される。
【００５８】
その後、制御装置１０は、前記インバンド・セキュアチャネルの経路を各転送ノード２０ａ、２０ｂの処理規則集合へ変換し（ステップＳ００４）、インバンド・セキュアチャネルを用いて各転送ノード２０ａ、２０ｂに、それぞれ処理規則を設定する（ステップＳ００５）。
【００５９】
図８は、図４に示したトンネル確立区間を実現するために各転送ノードに設定する処理規則の例である。図８を参照すると、転送ノード２０ａには、ポート＃１に入力された、転送ノード２０ａを宛先とする制御パケットを、所定の制御メッセージに変換した上でトンネリング部２３へ出力する処理規則と、トンネリング部２３から入力された、制御装置１０を宛先とする制御メッセージを、制御パケットに変換した上でポート＃１から出力する処理規則と、ポート＃１に入力された転送ノード２０ｂを宛先とする制御パケットをポート＃２から出力する処理規則と、ポート＃２に入力された制御装置１０を宛先とする制御パケットを、ポート＃１から出力する処理規則とが設定される。
【００６０】
また、転送ノード２０ｂには、ポート＃１に入力された、転送ノード２０ｂを宛先とする制御パケットを、所定の制御メッセージに変換した上でトンネリング部２３へ出力する処理規則と、トンネリング部２３から入力された、制御装置１０を宛先とする制御メッセージを、制御パケットに変換して、ポート＃１から出力する処理規則とが設定される。
【００６１】
前記処理規則の設定後、制御装置１０のトンネリング部１３と、転送ノード２０ａ、２０ｂのトンネリング部２３とが、それぞれ、トンネル確立パケットの代わりに制御パケットを用いて通信トンネルを構成するように切り替える。これにより、制御パケットを用いてインバンド・セキュアチャネルが確立される（ステップＳ００６）。
【００６２】
図９は、ステップＳ００６の時点で制御パケットにより授受される制御情報の流れを示す図である。なお、図９においても、転送ノード２０ｂの内部のブロックは転送ノード２０ａと同一であるため、省略している。
【００６３】
制御装置１０のトンネリング部１３は、転送ノード２０ａのトンネリング部２３との間に、制御パケットを用いて通信トンネル１０１ａを構成する。この通信トンネル１０１ａの上で、制御装置１０が転送ノード２０ａを制御するためのインバンド・セキュアチャネルが確立されている。
【００６４】
通信トンネル１０１ａは、制御装置１０のトンネリング部１３、制御パケット送受信部１４、制御装置１０と転送ノード２０ａ間の通信回線、転送ノード２０ａのパケット処理部２１、トンネリング部２３を経由して構成される。
【００６５】
同様に、制御装置１０のトンネリング部１３は、転送ノード２０ｂのトンネリング部２３との間に、制御パケットを用いて通信トンネル１０１ｂを構成する。この通信トンネル１０１ｂの上で、制御装置１０が転送ノード２０ｂを制御するためのインバンド・セキュアチャネルが確立されている。
【００６６】
通信トンネル１００ｂは、制御装置１０のトンネリング部１３、制御パケット送受信部１４、制御装置１０と転送ノード２０ａ間の通信回線、転送ノード２０ａのパケット処理部２１、転送ノード２０ａと転送ノード２０ｂ間の通信回線、転送ノード２０ｂのパケット処理部２１、転送ノード２０ｂのトンネリング部２３を経由して構成される。
【００６７】
以上のように動作する本実施形態によれば、各転送ノードは、他の転送ノードのための制御パケットの転送を、トンネル確立パケット処理部２２を介して行うことなく、パケット処理部２１の処理によって行うことが可能となる。これにより、各転送ノードの転送負荷を下げ、高速な転送を実現することが可能となる。なお、図３の例では、他の転送ノードのための制御パケットの転送を行う転送ノードは、転送ノード２０ａのみであるため、転送ノード２０ａの転送負荷のみが下がることになるが、転送ノードの数が増えるに従って、他の転送ノードのための制御パケットの転送を行う転送ノードも増えるため、本発明の効果も増大することになる。
【００６８】
［第２の実施形態］
続いて、転送ノード２０ａ、２０ｂの構成に変更を加えた本発明の第２の実施形態について図面を参照して詳細に説明する。以下、第１の実施形態と共通する部分については説明を省略し、その相違点を中心に説明を加える。
【００６９】
図１０は、本発明の第２の実施形態に係る通信システムの構成を示す図である。図１０を参照すると、本発明の第１の実施形態に加え、転送ノード１２０ａのパケット処理部２１と転送ノード側トンネリング部２３との間に、新たに制御パケット処理部２５が追加されている。なお、図１０においても、転送ノード１２０ｂの内部のブロックは転送ノード２０ａと同一であるため、省略している。
【００７０】
パケット処理部２１は、処理規則記憶部２４に設定された処理規則に従って、自転送ノード宛の制御パケットを加工せずにそのまま制御パケット処理部２５へ出力し、かつ、制御パケット処理部２５から入力された制御パケットを加工せずにそのまま処理規則に従って指定されたポートから送信する。
【００７１】
上記した第１の実施形態では、トンネリング部２３は、パケット処理部２１から制御パケットを送受信していたが、本発明の第２の実施形態では、トンネリング部２３は、制御パケット処理部２５を介して制御パケットを送受信する。
【００７２】
制御パケット処理部２５は、パケット処理部２１から入力された制御パケットを、所定の制御メッセージに変換してから、トンネリング部２３へ出力する。また、制御パケット処理部２５は、トンネリング部２３から入力された制御メッセージを制御パケットに変換してから、パケット処理部２１に出力する。
【００７３】
以上のように、本実施形態では、転送ノード１２０ａ、１２０ｂに、制御パケット処理部２５が備えられているため、転送ノード１２０ａ、１２０ｂのトンネリング部２３が、制御パケットと異なる制御メッセージへの変換を要求する場合でも、当該変換処理を実現する処理規則の設定を省略することができる。
【００７４】
従って、本実施形態では、転送ノード１２０ａには、ポート＃１から入力された、転送ノード２０ａを宛先とする制御パケットを、制御パケット処理部２５へ出力する処理規則と、制御パケット処理部２５に入力された制御パケットをポート＃１から出力する処理規則と、ポート＃１に入力された転送ノード２０ｂを宛先とする制御パケットをポート＃２から出力する処理規則と、ポート＃２に入力された制御装置１０を宛先とする制御パケットをポート＃１から出力する処理規則とが設定される。
【００７５】
同様に、転送ノード１２０ｂには、ポート＃１に入力された転送ノード１２０ｂを宛先とする制御パケットを、制御パケット処理部２５へ出力する処理規則と、制御パケット処理部２５から入力された制御装置１０を宛先とする制御パケットをポート＃１から出力する処理規則とが設定される。図８に示した処理規則群と比較すると、各転送ノード２０ａ、２０ｂに設定される処理規則から、制御パケットと制御メッセージ間の変換処理が省略されている。
【００７６】
以上のように動作する本実施形態によれば、制御パケット処理部２５に、パケット処理部２１において処理規則として表現できない制御メッセージと制御パケットとの変換を行わせることができ、より幅広い制御パケットの形式を適用することが可能となる。
【００７７】
また、本実施形態によれば、トンネル確立パケットと制御パケットを宛先ＭＡＣアドレス以外の情報で区別することも可能となる。この結果、図１１に示すように、宛て先が他の転送ノード１２０ｂであるトンネル制御パケットを、そのまま他の転送ノード１２０ｂに転送することも可能となる。これにより、第１の実施形態と比較して、さらに、各転送ノード１２０ａの転送負荷を下げ、高速な転送を実現することが可能となる。
【００７８】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した第１、第２の実施形態では、制御装置１０は、トンネル確立パケットを用いて転送ノードの情報収集や接続関係の把握を行うものとして説明したが、転送ノードの情報収集や接続関係の把握が予め得られている場合には、これらの情報を用いることとしてもよいし、その他のプロトコルを用いてこれらの情報を収集することとしてもよい。
【００７９】
上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００８０】
１０、１０Ａ  制御装置
１１  トンネル確立パケット生成部
１２  トンネル確立パケット送受信部
１３  トンネリング部
１４  制御パケット送受信部
１５  トンネル確立部
１６  転送ノード制御部
２０ａ〜２０ｄ、２０Ａ〜２０Ｄ、１２０ａ、１２０ｂ  転送ノード
２１  パケット処理部
２２  トンネル確立パケット処理部
２３  トンネリング部
２４  処理規則記憶部
２５  制御パケット処理部
２６  メッセージ処理部
２７  パケット処理部
１００ａ〜１００ｄ、１０１ａ、１０１ｂ  通信トンネル
【図１】
0005987841.tif 000002
【図２】
0005987841.tif 000003
【図３】
0005987841.tif 000004
【図４】
0005987841.tif 000005
【図５】
0005987841.tif 000006
【図６】
0005987841.tif 000007
【図７】
0005987841.tif 000008
【図８】
0005987841.tif 000009
【図９】
0005987841.tif 000010
【図１０】
0005987841.tif 000011
【図１１】
0005987841.tif 000012
【図１２】
0005987841.tif 000013