(57)【特許請求の範囲】
【請求項１】
制御情報に従って受信パケットを処理する通信装置に設定する前記制御情報を生成する制御情報生成部と、
前記生成した制御情報を前記通信装置に設定する通信装置制御部と、
ネットワーク上のノードのアドレス情報を記憶するアドレス情報記憶部と、
受信パケットから前記ノードのアドレス情報を取得して前記アドレス情報記憶部に登録するパケット解析部と、
を備え、
前記制御情報生成部は、前記アドレス情報記憶部が記憶する前記アドレス情報に基づいて、前記制御情報を生成し、
特定のパケットを受信した際に、前記特定のパケットに対応するパケットを生成し、指定した送信先に送信させるとの処理内容を定めたパケット生成用の制御情報を前記通信装置に設定することを特徴とする制御装置。
【請求項２】
前記パケット生成用の制御情報として、前記通信装置に、アドレス解決要求パケットに対する応答パケットを返信させる制御情報を設定する請求項１の制御装置。
【請求項３】
前記パケット生成用の制御情報の前記特定パケットを識別するためのマッチ条件に、送信元のアドレス情報が設定されており、前記通信装置に送信元の識別を行わせる請求項１又は２の制御装置。
【請求項４】
前記パケット生成用の制御情報として、前記通信装置に、所定のサーバに対するデータ要求パケットに対する応答パケットを返信させる制御情報を設定する請求項１から３いずれか一の制御装置。
【請求項５】
通信装置に設定する制御情報を生成する制御情報生成部と、
前記生成した制御情報を前記通信装置に設定する通信装置制御部と、
ネットワーク上のノードのアドレス情報を記憶するアドレス情報記憶部と、
受信パケットから前記ノードのアドレス情報を取得して前記アドレス情報記憶部に登録するパケット解析部と、を備え、
前記制御情報生成部は、前記アドレス情報記憶部が記憶する前記アドレス情報に基づいて、前記制御情報を生成し、
特定のパケットを受信した際に、前記特定のパケットに対応するパケットを生成し、指定した送信先に送信させるとの処理内容を定めたパケット生成用の制御情報を前記通信装置に設定する制御装置と接続され、
前記制御装置から設定されたパケット生成用の制御情報に従って、パケットの生成と送信とを行う通信装置。
【請求項６】
制御情報に従って受信パケットを処理する通信装置に設定する前記制御情報を生成する制御情報生成部と、
前記生成した制御情報を前記通信装置に設定する通信装置制御部と、
ネットワーク上のノードのアドレス情報を記憶するアドレス情報記憶部と、
受信パケットから前記ノードのアドレス情報を取得して前記アドレス情報記憶部に登録するパケット解析部と、を備え、
前記制御情報生成部は、前記アドレス情報記憶部が記憶する前記アドレス情報に基づいて、前記制御情報を生成し、
特定のパケットを受信した際に、前記特定のパケットに対応するパケットを生成し、指定した送信先に送信させるとの処理内容を定めたパケット生成用の制御情報を前記通信装置に設定する制御装置と、
前記制御装置から設定されたパケット生成用の制御情報に従って、パケットの生成と送信とを行う通信装置と、を含む通信システム。
【請求項７】
制御情報に従って受信パケットを処理する通信装置に設定する制御情報を生成する制御情報生成部と、前記生成した制御情報を前記通信装置に設定する通信装置制御部と、ネットワーク上のノードのアドレス情報を記憶するアドレス情報記憶部と、を備える制御装置が、
受信パケットから前記ノードのアドレス情報を取得して前記アドレス情報記憶部に登録するステップと、
前記アドレス情報記憶部に記憶される前記アドレス情報に基づいて、前記制御情報を生成するステップと、
特定のパケットを受信した際に、前記特定のパケットに対応するパケットを生成し、指定した送信先に送信させるとの処理内容を定めたパケット生成用の制御情報を前記通信装置に設定するステップと、
前記通信装置に、前記制御装置から設定されたパケット生成用の制御情報に従って、パケットの生成と送信とを実行させるステップと、を含む通信方法。
【請求項８】
制御情報に従って受信パケットを処理する通信装置に設定する前記制御情報を生成する制御情報生成部と、前記生成した制御情報を前記通信装置に設定する通信装置制御部と、ネットワーク上のノードのアドレス情報を記憶するアドレス情報記憶部と、を備える制御装置に搭載されたコンピュータに、
受信パケットから前記ノードのアドレス情報を取得して前記アドレス情報記憶部に登録する処理と、
前記アドレス情報記憶部に記憶される前記アドレス情報に基づいて、前記制御情報を生成する処理と、
特定のパケットを受信した際に、前記特定のパケットに対応するパケットを生成し、指定した送信先に送信させるとの処理内容を定めたパケット生成用の制御情報を生成する処理と、
前記生成した制御情報を前記通信装置に設定する処理と、を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２０１２−０６７０４３号（２０１２年  ３月２３日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、制御装置、通信装置、通信システム、通信方法及びプログラムに関し、特に、制御情報を通信装置に設定することにより当該通信装置を制御する制御装置、通信装置、通信システム、通信方法及びプログラムに関する。
【背景技術】
【０００２】
従来のネットワーク機器はブラックボックスであり、外部から負荷分散や片寄せ等の柔軟性に富んだ制御ができない。このため、ネットワークの規模が大きくなると、システムとしての挙動の把握と改善が困難になり、設計や構成変更において、多大な遅延を伴うことが問題となっていた。【０００３】
こうした問題を解決するための手法として、従来のネットワーク機器が行っていたパケット転送と経路制御の機能を分離する手法が考えられている。例えば、ネットワーク機器がパケット転送を担当し、ネットワーク機器の外部に置かれたコントローラが経路制御を担当することで、外部からの制御が容易になり、柔軟性に富んだネットワークを構築することが可能になる。【０００４】
上記手法の具体的な例として、非特許文献１、２のオープンフロー（ＯｐｅｎＦｌｏｗ）について説明する。ＯｐｅｎＦｌｏｗは、「Ｏｐｅｎ Ｎｅｔｗｏｒｋｉｎｇ Ｆｏｕｎｄａｔｉｏｎ」（https://www.opennetworking.org/）で規定されているアーキテクチャである。【０００５】
図９にＯｐｅｎＦｌｏｗ  １．１．０の基本的な構成例を示す。図９では、ネットワーク機器の例としてスイッチを示す。オープンフローは、非特許文献２のオープンフロープロトコルをサポートしたネットワーク機器（スイッチＸ２０）と、外部に置かれたコントローラＸ１０で構成される。ネットワーク機器とコントローラは、セキュアチャンネル（Ｓｅｃｕｒｅ  Ｃｈａｎｎｅｌ）で接続されており、オープンフロープロトコルで通信を行う。オープンフローでは、ネットワーク機器のパケット転送と経路制御は分離されており、ネットワーク機器（スイッチＸ２０）はパケット転送を行い、コントローラＸ１０はネットワーク機器の経路制御を行う。【０００６】
オープンフローをサポートするネットワーク機器は、内部にフローテーブルと呼ばれる制御情報を格納するためのテーブルを持つ。フローテーブルは、フローとして定義されたパケットのヘッダ領域情報（Ｈｅａｄｅｒ  Ｆｉｅｌｄ）と当該パケットに対する処理内容を規定するインストラクション（Ｉｎｓｔｒｕｃｔｉｏｎ）との対応付けたエントリを管理するテーブルである。ここでは、ヘッダ領域情報（Ｈｅａｄｅｒ  Ｆｉｅｌｄ；Ｍａｔｃｈ  Ｆｉｅｌｄｓともいう。）とインストラクション（Ｉｎｓｔｒｕｃｔｉｏｎ）の組をフローエントリと呼称する。【０００７】
ヘッダ領域情報（Ｈｅａｄｅｒ  Ｆｉｅｌｄ）フィールドには、処理対象パケットを識別するためのマッチ条件が記述される。ヘッダ領域情報（Ｈｅａｄｅｒ  Ｆｉｅｌｄ）の一部にワイルドカードを指定することもできる。インストラクション（Ｉｎｓｔｒｕｃｔｉｏｎ）フィールドには、パケットを他ネットワーク機器へ転送するフォワード処理や、パケットを廃棄するドロップ処理等の処理内容が記述される。【０００８】
インストラクション（Ｉｎｓｔｒｕｃｔｉｏｎ）フィールドに記述するアクション（Ａｃｔｉｏｎ）として、上記したフォワード処理やドロップ処理のほか、ネットワーク機器にパケットのヘッダ領域情報（Ｈｅａｄｅｒ  Ｆｉｅｌｄ）の値の変更を指示することもできる。一つのフローエントリに複数のアクション（Ａｃｔｉｏｎ）を設定してもよい。ネットワーク機器は、受信したパケット内のヘッダ領域情報（Ｈｅａｄｅｒ  Ｆｉｅｌｄ）と、フローテーブル内のヘッダ領域情報（Ｈｅａｄｅｒ  Ｆｉｅｌｄ）を照合し、照合の結果、合致していれば、インストラクション（Ｉｎｓｔｒｕｃｔｉｏｎ）フィールドのアクション（Ａｃｔｉｏｎ）を実行する。【０００９】
図９を参照して、ヘッダ領域情報（Ｈｅａｄｅｒ  Ｆｉｅｌｄ）の要素となり得る情報について説明する。図９では、ヘッダ領域情報（Ｈｅａｄｅｒ  Ｆｉｅｌｄ）の要素となり得る情報として、「Ｉｎｇｒｅｓｓ  Ｐｏｒｔ」と、「Ｅｔｈｅｒ  ｓｒｃ」と、「Ｅｔｈｅｒ  ｄｓｔ」と、「Ｅｔｈｅｒ  ｔｙｐｅ」と、「ＶＬＡＮ  ＩＤ」と、「ＶＬＡＮ  ｐｒｉｏｒｉｔｙ」と、「ＩＰ  ｓｒｃ」と、「ＩＰ  ｄｓｔ」と、「ＩＰ  ｐｒｏｔｏ」と、「ＩＰ  ＴｏＳ」と、「ＴＣＰ／ＵＤＰ  ｓｒｃ  ｐｏｒｔ」と、「ＴＣＰ／ＵＤＰ  ｄｓｔ  ｐｏｒｔ」を示している。フローエントリとパケットとの照合の際には、これらの情報のいずれか又はすべてが使用される。すなわち、これらの情報のいずれか又はすべてを組み合わせて、フローが定義される。
【００１０】
「Ｉｎｇｒｅｓｓ  Ｐｏｒｔ」は、入力ポートを示す。「Ｅｔｈｅｒ  ｓｒｃ」は、送信元のＭＡＣアドレス（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ａｄｄｒｅｓｓ）を示す。「Ｅｔｈｅｒ  ｄｓｔ」は、宛先のＭＡＣアドレスを示す。「Ｅｔｈｅｒ  ｔｙｐｅ」は、上位層のプロトコルの種類を示す。「ＶＬＡＮ  ＩＤ」は、仮想ＬＡＮ(Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ)スイッチのポート毎に設定された識別情報を示す。「ＶＬＡＮ  ｐｒｉｏｒｉｔｙ」は、仮想ＬＡＮスイッチの該当ポートの優先度を示す。「ＩＰ  ｓｒｃ」は、送信元のＩＰアドレス（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ａｄｄｒｅｓｓ）を示す。「ＩＰ  ｄｓｔ」は、宛先のＩＰアドレスを示す。「ＩＰ  ｐｒｏｔｏ」は、ＩＰのプロトコル番号やＡＲＰのオペレーションコードを示す。「ＩＰ  ＴｏＳ」は、ＩＰの優先度を示す。「ＴＣＰ／ＵＤＰ  ｓｒｃ  ｐｏｒｔ」は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）やＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）における送信元のポート番号を示す。「ＴＣＰ／ＵＤＰ  ｄｓｔ  ｐｏｒｔ」は、ＴＣＰやＵＤＰにおける宛先のポート番号を示す。【００１１】
続いて、図１０を参照して、パケットのヘッダ領域情報（Ｈｅａｄｅｒ  Ｆｉｅｌｄ）を変更できるフローエントリのインストラクションフィールドに設定可能なヘッダ書き換えアクション（Ｓｅｔ−Ｆｉｅｌｄ  Ａｃｔｉｏｎｓ）について説明する。図１０では、フローエントリに設定可能なヘッダ書き換えアクション（Ａｃｔｉｏｎ）として、「Ｓｅｔ  ＶＬＡＮ  ＩＤ」と、「Ｓｅｔ  ＶＬＡＮ  ｐｒｉｏｒｉｔｙ」と、「Ｓｔｒｉｐ  ＶＬＡＮ  ｈｅａｄｅｒ」と、「Ｍｏｄｉｆｙ  Ｅｔｈｅｒｎｅｔ  ｓｒｃ  ＭＡＣ  ａｄｄｒｅｓｓ」と、「Ｍｏｄｉｆｙ  Ｅｔｈｅｒｎｅｔ  ｄｓｔ  ＭＡＣ  ａｄｄｒｅｓｓ」と、「Ｍｏｄｉｆｙ  ＩＰｖ４  ｓｒｃ  ａｄｄｒｅｓｓ」と、「Ｍｏｄｉｆｙ  ＩＰｖ４  ｄｓｔ  ａｄｄｒｅｓｓ」と、「Ｍｏｄｉｆｙ  ＩＰｖ４  ＴｏＳ  ｂｉｔｓ」と、「Ｍｏｄｉｆｙ  ｔｒａｎｓｐｏｒｔ  ｓｒｃ  ｐｏｒｔ」と、「Ｍｏｄｉｆｙ  ｔｒａｎｓｐｏｒｔ  ｄｓｔ  ｐｏｒｔ」を示している。これらのアクション（Ａｃｔｉｏｎ）は、複数を組み合わせて実行することができる。【００１２】
「Ｓｅｔ  ＶＬＡＮ  ＩＤ」は、ヘッダ領域情報（Ｈｅａｄｅｒ  Ｆｉｅｌｄ）に「ＶＬＡＮ  ＩＤ」を追加する、あるいは、ヘッダ領域情報（Ｈｅａｄｅｒ  Ｆｉｅｌｄ）の「ＶＬＡＮ  ＩＤ」を変更することを示す。「Ｓｅｔ  ＶＬＡＮ  ｐｒｉｏｒｉｔｙ」は、ヘッダ領域情報（Ｈｅａｄｅｒ  Ｆｉｅｌｄ）に「ＶＬＡＮ  ｐｒｉｏｒｉｔｙ」を追加する、あるいは、ヘッダ領域情報（Ｈｅａｄｅｒ  Ｆｉｅｌｄ）の「ＶＬＡＮ  ｐｒｉｏｒｉｔｙ」を変更することを示す。「Ｓｔｒｉｐ  ＶＬＡＮ  ｈｅａｄｅｒ」は、ヘッダ領域情報（Ｈｅａｄｅｒ  Ｆｉｅｌｄ）から、「ＶＬＡＮ  ＩＤ」と「ＶＬＡＮ  ｐｒｉｏｒｉｔｙ」を除去することを示す。「Ｍｏｄｉｆｙ  Ｅｔｈｅｒｎｅｔ  ｓｒｃ  ＭＡＣ  ａｄｄｒｅｓｓ」は、ヘッダ領域情報（Ｈｅａｄｅｒ  Ｆｉｅｌｄ）の「Ｅｔｈｅｒ  ｓｒｃ」を変更することを示す。「Ｍｏｄｉｆｙ  Ｅｔｈｅｒｎｅｔ  ｄｓｔ  ＭＡＣ  ａｄｄｒｅｓｓ」は、ヘッダ領域情報（Ｈｅａｄｅｒ  Ｆｉｅｌｄ）の「Ｅｔｈｅｒ  ｄｓｔ」を変更することを示す。「Ｍｏｄｉｆｙ  ＩＰｖ４  ｓｒｃ  ａｄｄｒｅｓｓ」は、ヘッダ領域情報（Ｈｅａｄｅｒ  Ｆｉｅｌｄ）の「ＩＰ  ｓｒｃ」を変更することを示す。「Ｍｏｄｉｆｙ  ＩＰｖ４  ｄｓｔ  ａｄｄｒｅｓｓ」は、ヘッダ領域情報（Ｈｅａｄｅｒ  Ｆｉｅｌｄ）の「ＩＰ  ｄｓｔ」を変更することを示す。「Ｍｏｄｉｆｙ  ＩＰｖ４  ＴｏＳ  ｂｉｔｓ」は、ヘッダ領域情報（Ｈｅａｄｅｒ  Ｆｉｅｌｄ）の「ＩＰ  ＴｏＳ」を変更することを示す。「Ｍｏｄｉｆｙ  ｔｒａｎｓｐｏｒｔ  ｓｒｃ  ｐｏｒｔ」は、ヘッダ領域情報（Ｈｅａｄｅｒ  Ｆｉｅｌｄ）の「ＴＣＰ／ＵＤＰ  ｓｒｃ  ｐｏｒｔ」を変更することを示す。「Ｍｏｄｉｆｙ  ｔｒａｎｓｐｏｒｔ  ｄｓｔ  ｐｏｒｔ」は、ヘッダ領域情報（Ｈｅａｄｅｒ  Ｆｉｅｌｄ）の「ＴＣＰ／ＵＤＰ  ｄｓｔ  ｐｏｒｔ」を変更することを示す。なお、「Ｅｔｈｅｒｎｅｔ」は、登録商標である。【００１３】
コントローラＸ１０は、ネットワーク機器制御手段（図９のスイッチ制御手段Ｘ１１）を備え、セキュアチャネル（Ｓｅｃｕｒｅ  Ｃｈａｎｎｅｌ）を介して、ネットワーク機器のフローテーブルを更新して、ネットワーク機器（スイッチＸ２０）を制御する。【００１４】
ネットワーク機器（スイッチＸ２０）は、上述したフローエントリに従いパケット転送やパケット更新を行うパケット制御手段Ｘ２１を備え、パケットが到着すると、内部に持つフローテーブルＸ２２とパケットの照合を行い、該当するフローエントリが存在する場合は、関連付けられたパケット転送や廃棄等のアクション（Ａｃｔｉｏｎ）を実行する。【００１５】
ここで図１１を参照して、オープンフローのネットワーク機器（スイッチＸ２０）基本動作について説明する。ネットワーク機器（スイッチＸ２０）は、ネットワークからパケットを受信すると（図１１のステップＳ１１）、受信したパケットのヘッダ領域情報（Ｈｅａｄｅｒ  Ｆｉｅｌｄ）の解析をする（図１１のステップＳ１２）。【００１６】
ネットワーク機器（スイッチＸ２０）は、受信したパケットのヘッダ領域情報（Ｈｅａｄｅｒ  Ｆｉｅｌｄ）と合致するフローエントリがフローテーブル内に存在するか調べる（図１１のステップＳ１３）。【００１７】
ネットワーク機器（スイッチＸ２０）は、受信したパケットのヘッダ領域情報（Ｈｅａｄｅｒ  Ｆｉｅｌｄ）と合致するフローエントリがフローテーブル内に存在する場合は、フローエントリのインストラクション（Ｉｎｓｔｒｕｃｔｉｏｎ）フィールドに記述されたアクション（Ａｃｔｉｏｎ）を実行する（図１１のステップＳ１４）。【００１８】
一方、受信したパケットのヘッダ領域情報（Ｈｅａｄｅｒ  Ｆｉｅｌｄ）と合致するフローエントリがフローテーブル内に存在しない場合、ネットワーク機器（スイッチＸ２０）は、このパケットを内部に保留し、セキュアチャネル（Ｓｅｃｕｒｅ  Ｃｈａｎｎｅｌ）を介して、コントローラＸ１０へパケットを送信することで、コントローラに未知のパケットが到着したことを通知する（図１１のステップＳ１５）。ここでは、合致するフローエントリが存在しない場合の未知のパケットを１ｓｔパケットと呼称する。【００１９】
前記１ｓｔパケットを受信したコントローラは、１ｓｔパケット送信元の位置や１ｓｔパケットに含まれる情報に基づいて宛先までの経路を計算し、ネットワーク機器（スイッチＸ２０）のフローテーブルに新しいフローエントリを追加し、フローテーブルを更新する。ネットワーク機器は、フローテーブルが更新されると、滞留していた１ｓｔパケットとそれ以降の同種のパケットを追加されたアクション（Ａｃｔｉｏｎ）に従って処理する。【００２０】
その他、特許文献１には、オープンフローを用いた通信システムの一例が開示されている。また、特許文献２には、クライアントとサーバ群との間に配置され、ＭＡＣアドレスの変換、代理応答を行うレイヤ２負荷分散装置が開示されている。
【先行技術文献】
【特許文献】
【００２１】
【特許文献１】特開２０１１−１８８４３３号公報
【特許文献２】特開２００８−６０７４７号公報
【非特許文献】
【００２２】
【非特許文献１】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２４（２０１２）年２月１４日検索］、インターネット〈URL: http://www.openflow.org/documents/openflow-wp-latest.pdf〉
【非特許文献２】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”  Ｖｅｒｓｉｏｎ  １．１．０  Ｉｍｐｌｅｍｅｎｔｅｄ  （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０２）、［ｏｎｌｉｎｅ］、［平成２４（２０１２）年２月１４日検索］、インターネット〈URL:http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【００２３】
以下の分析は、本発明によって与えられたものである。図１２のｓ２１〜ｓ２４に示したように、コントローラＸ１０は、ネットワーク機器から受信した１ｓｔパケットの宛先ＭＡＣアドレスや宛先ＩＰアドレスがコントローラのＭＡＣアドレスやＩＰアドレスであった場合、コントローラが受信パケットに対する応答パケットを生成し、ネットワーク機器へと送信する。ネットワーク機器は、コントローラから受信した応答パケットを宛先ノードへと送信する。【００２４】
このため、ネットワーク機器（例えば、図１２のネットワーク機器Ａ）がコントローラを宛先とするパケットを大量に受け取ると、大量のパケットがコントローラＸ１０へ送信され、セキュアチャンネル（Ｓｅｃｕｒｅ Ｃｈａｎｎｅｌ）やコントローラへの負荷が高まり、システム全体のパフォーマンスが下がってしまうという問題点がある。【００２５】
上記のような現象は、１ｓｔパケットの宛先がコントローラの場合だけでなく、その他、ネットワーク機器に接続されたサーバ等へのパケットが短期間に大量に送信された場合にも起こりうる。【００２６】
本発明の目的とするところは、上記オープンフローのコントローラに代表される集中制御型ネットワークの制御装置へのパケットが集中することによるパフォーマンス低下の抑止に貢献できる制御装置、通信装置、通信システム、通信方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００２７】
第１の視点によれば、制御情報に従って受信パケットを処理する通信装置に設定する前記制御情報を生成する制御情報生成部と、前記生成した制御情報を前記通信装置に設定する通信装置制御部と、ネットワーク上のノードのアドレス情報を記憶するアドレス情報記憶部と、受信パケットから前記ノードのアドレス情報を取得して前記アドレス情報記憶部に登録するパケット解析部と、を備え、前記制御情報生成部は、前記アドレス情報記憶部が記憶する前記アドレス情報に基づいて、前記制御情報を生成し、特定のパケットを受信した際に、前記特定のパケットに対応する応答パケットを生成し、前記特定のパケットの送信元に返信させるとの処理内容を定めた代理応答用の制御情報を前記通信装置に設定する制御装置が提供される。
【００２８】
第２の視点によれば、通信装置に設定する制御情報を生成する制御情報生成部と、前記生成した制御情報を前記通信装置に設定する通信装置制御部と、ネットワーク上のノードのアドレス情報を記憶するアドレス情報記憶部と、受信パケットから前記ノードのアドレス情報を取得して前記アドレス情報記憶部に登録するパケット解析部と、を備え、前記制御情報生成部は、前記アドレス情報記憶部が記憶する前記アドレス情報に基づいて、前記制御情報を生成し、特定のパケットを受信した際に、前記特定のパケットに対応する応答パケットを生成し、前記特定のパケットの送信元に返信させるとの処理内容を定めた代理応答用の制御情報を前記通信装置に設定する制御装置と接続され、前記制御装置から設定された代理応答用の制御情報に従って、応答パケットの生成と送信とを行う通信装置が提供される。
【００２９】
第３の視点によれば、制御情報に従って受信パケットを処理する通信装置に設定する前記制御情報を生成する制御情報生成部と、前記生成した制御情報を前記通信装置に設定する通信装置制御部と、ネットワーク上のノードのアドレス情報を記憶するアドレス情報記憶部と、受信パケットから前記ノードのアドレス情報を取得して前記アドレス情報記憶部に登録するパケット解析部と、を備え、前記制御情報生成部は、前記アドレス情報記憶部が記憶する前記アドレス情報に基づいて、前記制御情報を生成し、特定のパケットを受信した際に、前記特定のパケットに対応する応答パケットを生成し、前記特定のパケットの送信元に返信させるとの処理内容を定めた代理応答用の制御情報を前記通信装置に設定する制御装置と、前記制御装置から設定された代理応答用の制御情報に従って、応答パケットの生成と送信とを行う通信装置と、を含む通信システムが提供される。
【００３０】
第４の視点によれば、制御情報に従って受信パケットを処理する通信装置に設定する前記制御情報を生成する制御情報生成部と、前記生成した制御情報を前記通信装置に設定する通信装置制御部と、ネットワーク上のノードのアドレス情報を記憶するアドレス情報記憶部と、を備える制御装置が、受信パケットから前記ノードのアドレス情報を取得して前記アドレス情報記憶部に登録するステップと、前記アドレス情報記憶部に記憶される前記アドレス情報に基づいて、前記制御情報を生成するステップと、特定のパケットを受信した際に、前記特定のパケットに対応する応答パケットを生成し、前記特定のパケットの送信元に返信させるとの処理内容を定めた代理応答用の制御情報を前記通信装置に設定するステップと、前記通信装置に、前記制御装置から設定された代理応答用の制御情報に従って、応答パケットの生成と送信とを実行させるステップと、を含む通信方法が提供される。本方法は、ネットワーク上の通信装置を制御する制御装置という、特定の機械に結びつけられている。
【００３１】
第５の視点によれば、制御情報に従って受信パケットを処理する通信装置に設定する前記制御情報を生成する制御情報生成部と、前記生成した制御情報を前記通信装置に設定する通信装置制御部と、ネットワーク上のノードのアドレス情報を記憶するアドレス情報記憶部と、を備える制御装置に搭載されたコンピュータに、受信パケットから前記ノードのアドレス情報を取得して前記アドレス情報記憶部に登録する処理と、前記アドレス情報記憶部に記憶される前記アドレス情報に基づいて、前記制御情報を生成する処理と、特定のパケットを受信した際に、前記特定のパケットに対応する応答パケットを生成し、前記特定のパケットの送信元に返信させるとの処理内容を定めた代理応答用の制御情報を生成する処理と、前記生成した制御情報を前記通信装置に設定する処理と、を実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な（非トランジエントな）記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００３２】
本発明によれば、集中制御型ネットワークの制御装置へのパケットが集中することによるパフォーマンス低下の抑止に貢献することが可能となる。
【図面の簡単な説明】
【００３３】
【図１】本発明の一実施形態の構成を示す図である。
【図２】本発明の第１の実施形態の通信システムの構成を示す図である。
【図３】本発明の第１の実施形態のコントローラが生成する代理応答用のフローエントリのフォーマットを説明するための図である。
【図４】図３のフローエントリにより生成されるパケットのフレームフォーマットの一例を示す図である。
【図５】本発明の第１の実施形態の通信システムにおける処理の流れを説明するための図である。
【図６】本発明の第１の実施形態の通信システムの動作を説明するためのシーケンス図である。
【図７】本発明の第２の実施形態の通信システムのネットワーク構成を示す図である。
【図８】本発明の第２の実施形態の通信システムにおける処理の流れを説明するための図である。
【図９】非特許文献１、２のオープンフローネットワークの基本的な構成を示す概念図である。
【図１０】非特許文献１、２のオープンフローネットのヘッダ書き換えアクション（Ｓｅｔ−Ｆｉｅｌｄ  Ａｃｔｉｏｎｓ）のリストである。パケット書き換えアクションを説明するための図である。
【図１１】非特許文献１、２のオープンフロースイッチの基本動作を説明するための図である。
【図１２】非特許文献１、２のオープンフローネットワークにおける処理の流れを説明するための図である。
【発明を実施するための形態】
【００３４】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００３５】
本発明は、図１に示すように、その一実施形態において、通信装置に設定する制御情報を生成する制御情報生成部１１０と、前記生成した制御情報を前記通信装置に設定する通信装置制御部１２０と、を備える制御装置１００と、前記制御装置から設定された制御情報に従って、パケットを処理する通信装置２００と、を接続した構成にて実現できる。
【００３６】
より具体的には、制御装置１００は、通信装置２００に、特定のパケットを受信した際に、前記特定のパケットに対応する応答パケットを生成し、前記特定のパケットの送信元に返信させるとの処理内容を定めた代理応答用の制御情報を設定する。そして、通信装置２００は、前記代理応答用の制御情報に従って、前記特定のパケット受信時に、応答パケットの生成と送信とを行う。
【００３７】
例えば、図１に示すように、制御装置１００は、事前に、通信装置２００に、ノード３００からパケット（特定のパケット）を受信した際に、前記特定のパケットに対応する応答パケットを生成し、前記特定のパケットの送信元に返信させるとの処理内容を定めた制御情報（代理応答用制御情報）を設定しておく（（１）代理応答用制御情報）。
【００３８】
通信装置２００は、ノード３００から前記代理応答用制御情報にて定められた特定のパケットを受信すると（（２）特定パケット）、前記代理応答用制御情報に従って応答パケットを生成し、特定のパケットの送信元に送信する（（３）代理応答）。
【００３９】
以上のように、新規パケット受信時に、通信装置２００が制御装置１００に代わって応答パケットを送信できるようにしたため、制御装置１００の負荷を低減することが可能なっている。また、通信装置２００と制御装置１００間のチャネルのトラヒック量も低減することが可能となっている。
【００４０】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図２は、本発明の第１の実施形態の通信システムの構成を示す図である。図２を参照すると、上述した制御装置に相当するコントローラ１０と、ネットワーク機器２０と、を含む通信システムが開示されている。なお、図２の例では、それぞれ１台のコントローラ１０と、ネットワーク機器２０とが示されているが、コントローラ１０およびネットワーク機器２０の数は任意の台数とすることができる。
【００４１】
コントローラ１０は、ネットワーク機器２０と物理的に分離されたサーバマシン又は当該サーバマシン上で動作する仮想マシンである。コントローラ１０は、複数のネットワーク機器を管理することができ、各ネットワーク機器と専用線もしくは通常のネットワークを利用したセキュアチャネル（Ｓｅｃｕｒｅ  Ｃｈａｎｎｅｌ）で接続されており、オープンフロープロトコルで通信を行う。
【００４２】
コントローラ１０は、フローエントリ生成部１１と、ネットワーク機器制御部１２と、パケット解析部１３と、アドレス情報記憶部１４とを備えている。
【００４３】
フローエントリ生成部１１は、ネットワーク機器２０からの要求に応じて、ネットワーク機器２０に設定するフローエントリの生成を行う。また、ネットワーク機器２０からの要求を受けたパケットが特定の条件を満たすパケットである場合、フローエントリ生成部１１は、当該ネットワーク機器２０にパケットの生成と送信とを行わせる代理応答用のフローエントリを生成する。フローエントリ生成部１１は、上述した制御情報生成部１１０に相当する。
【００４４】
本実施形態では、フローエントリのアクション種別（Ａｃｔｉｏｎ  ｔｙｐｅ）として、新規に、ネットワーク機器２０にパケットの生成と送信とを行わせるパケット生成アクションを用意する。なお、このような新規のアクションは、非特許文献２のヘッダ書き換えアクション（Ｓｅｔ−Ｆｉｅｌｄ  Ａｃｔｉｏｎｓ）の一変形形態（ベンダ定義アクション）として追加することもできる。
【００４５】
図３は、パケット生成アクションが設定されたフローエントリのフォーマットを示す図である。図３を参照すると、パケット生成アクションは、パケット生成を表すアクション種別（Ａｃｔｉｏｎ  ｔｙｐｅ）と生成するパケットの情報を持つ。生成するパケットの情報には、Ｅｔｈｅｒｎｅｔ  ＩＩ準拠のフレームフォーマットを指定し、プリアンブルと、ｄｓｔ（宛先アドレス）と、ｓｒｃ（送信元アドレス）と、Ｔｙｐｅ（タイプ）と、Ｄａｔａと、ＦＣＳ（Ｆｒａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅ）等の領域を含む。
【００４６】
ここでは、図４に示すフレームフォーマットのＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）応答パケットの生成を行うものとして説明する。ＡＲＰ応答パケットは、「ｏｐｃｏｄｅ」フィールドに２（＝ＡＲＰ応答パケット）が設定される。そして、ここではコントローラ１０に代わってＡＲＰ応答パケットを返すため、「Ｅｔｈｅｒ  ｓｒｃ」、「ＩＰ  ｓｒｃ」には、コントローラのＭＡＣアドレス、ＩＰアドレスが設定され、「Ｅｔｈｅｒ  ｄｓｔ」、「ＩＰ  ｄｓｔ」には、ＡＲＰパケットにて要求されたノード（例えば、ノードＡ）のＭＡＣアドレス、ＩＰアドレスが格納されている。また、このノード（例えば、ノードＡ）のＭＡＣアドレス、ＩＰアドレスの組みは、アドレス情報記憶部１４から取得できるようになっている。
【００４７】
また、本実施形態では、フローエントリ生成部１１は、アドレス情報記憶部１４に保持しているＭＡＣアドレスやＩＰアドレスを用いて、図３のフローエントリのヘッダフィールド（Ｈｅａｄｅｒ  Ｆｉｅｌｄ）に、ＡＲＰ送信元のノード（例えば、ノードＡ）の「Ｅｔｈｅｒ  ｄｓｔ」や「ＩＰ  ｄｓｔ」を設定し、上述したパケット生成アクションの対象となるパケット（特定パケット）の送信元を識別できるようなフローエントリを生成する。
【００４８】
ネットワーク機器制御部１２は、上述したセキュアチャネルを介してフローエントリ生成部１１にて生成されたフローエントリの設定、更新、削除等を行うことにより、ネットワーク機器２０を制御する手段である。ネットワーク機器制御部１２は、上述した通信装置制御部１２０に相当する。
【００４９】
パケット解析部１３は、ネットワーク機器２０から受信したパケットを解析し、送信元のＭＡＣアドレスやＩＰアドレスとの組みを取得して、アドレス情報記憶部に登録する。
【００５０】
アドレス情報記憶部１４は、コントローラ１０を含むネットワーク機器２０に接続されたノードのＭＡＣアドレスとＩＰアドレスとの組を記憶する。
【００５１】
ネットワーク機器２０は、パケット処理部２１と、フローテーブル２２と、フローテーブル管理部２３と、を備えるネットワークスイッチ等の機器である。
【００５２】
パケット処理部２１は、フローテーブルから受信パケットに適合するフローエントリを検索してパケットを処理する手段である。
【００５３】
フローテーブル２２は、非特許文献２のフローテーブルと同じく、パケットの転送や廃棄等を行うフローエントリを管理するテーブルである。
【００５４】
フローテーブル管理部２３は、コントローラ１０から送信されたフローエントリをフローテーブル２２に追加・更新・削除する手段である。
【００５５】
本実施形態のパケット処理部２１は、さらに、パケット送信部２１１と、パケット受信部２１２と、パケット解析部２１３と、パケット生成部２１４とによって構成されている。
【００５６】
パケット送信部２１１は、ネットワーク機器２０の物理ポートやコントローラ１０との接続ポートにパケットを送信する手段である。前記ネットワーク機器２０の物理ポートは、図６に示すようなノードや他のネットワーク機器に接続されている。
【００５７】
パケット受信部２１２は、ネットワーク機器２０の物理ポートやコントローラ１０からパケットを受信する手段である。
【００５８】
パケット解析部２１３は、受信したパケットを解析し、フローテーブル２２から、受信パケットのヘッダ情報等に適合するマッチ条件を持つフローエントリを検索する手段である。
【００５９】
パケット生成部２１４は、前記パケット解析部２１３により検索されたフローエントリのインストラクションフィールドに格納されたアクションに従いパケットを生成する手段である。
【００６０】
なお、図２に示したコントローラ１０及びネットワーク機器２０は、非特許文献１、２のオープンフローコントローラ及びオープンフロースイッチをベースに、上述したフローエントリ生成部１１、パケット解析部１３、アドレス情報記憶部１４、パケット生成部２１４に相当する機能を追加することによって実現できる。また、これらの処理手段は、コントローラ１０及びネットワーク機器２０に搭載されたコンピュータに、それぞれのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００６１】
続いて、本実施形態の動作について図面を参照して詳細に説明する。以下の説明では、図５に示すように、コントローラ１０に２台のネットワーク機器２０Ａ、２０Ｂが接続され、さらに、ネットワーク機器２０Ａ、２０Ｂには、それぞれノード３０Ａ、ノード３０Ｂが接続されているものとして説明する。
【００６２】
図６は、本発明の第１の実施形態の通信システムの動作を説明するためのシーケンス図である。図６を参照すると、ノード３０Ａは、「Ｅｔｈｅｒ  ｓｒｃ」がノード３０ＡのＭＡＣアドレス、「ＩＰ  ｓｒｃ」がノード３０ＡのＩＰアドレスであるパケット（このパケットはＡＲＰパケットでなくともよい。）をネットワーク機器２０Ａへ送信する（図６のステップＳ１０１）。
【００６３】
ネットワーク機器２０Ａのパケット受信部２１２は、ノード３０Ａが送信したパケットを受信する。パケット解析部２１３は、受信したパケットのヘッダ領域情報（Ｈｅａｄｅｒ Ｆｉｅｌｄ）と合致するフローエントリをフローテーブル２２から検索する。合致するフローエントリが存在しない場合、パケット送信部２１１は、受信したパケットを１ｓｔパケットとして、コントローラ１０へと送信する（図６のステップＳ１０２）。
【００６４】
コントローラ１０のネットワーク機器制御部１２は、ネットワーク機器２０Ａからの１ｓｔパケットを受信する。パケット解析部１３は、１ｓｔパケットを解析し、１ｓｔパケットの「Ｅｔｈｅｒ  ｓｒｃ」及び「ＩＰ  ｓｒｃ」に記述されたＭＡＣアドレスとＩＰアドレスの組をアドレス情報記憶部１４へ保存する（図６のステップＳ１０３）。
【００６５】
コントローラ１０は、１ｓｔパケットに対し、非特許文献１、２のオープンフローコントローラと同様に、経路計算とフローエントリの設定処理を行う。さらに、フローエントリ生成部１１は、アドレス情報記憶部１４に保存されているＭＡＣアドレスとＩＰアドレスを参照し、「Ｅｔｈｅｒ  ｓｒｃ」がノードＡのＭＡＣアドレス、「Ｅｔｈｅｒ  ｔｙｐｅ」が０ｘ０８０６、「ＩＰ  ｓｒｃ」がノードＡのＩＰアドレス、「ＩＰ  ｄｓｔ」がコントローラのＩＰアドレス、「ＩＰ  ｐｒｏｔｏ」が１であるヘッダ領域情報（マッチ条件）と、図３、４に示すフレームフォーマットのＡＲＰ応答パケットの生成と送信とを行わせるパケット生成アクションとを対応付けたフローエントリを生成する（図６のステップＳ１０４）。ここでは、図４に示したように、「Ｅｔｈｅｒ  ｓｒｃ」がコントローラのＭＡＣアドレス、「ＩＰ  ｓｒｃ」がコントローラのＩＰアドレス、「Ｅｔｈｅｒ  ｄｓｔ」がノードＡのＭＡＣアドレス、「ＩＰ  ｄｓｔ」がノードＡのＩＰアドレスであるＡＲＰ応答パケットを作成させる代理応答用フローエントリが生成されたものとする。
【００６６】
ネットワーク機器制御部１２は、ネットワーク機器２０Ａへ、図６のステップＳ１０４で生成した代理応答用フローエントリを送信する（図６のステップＳ１０５；図５の（ｓ１）代理応答用フローエントリ設定）。
【００６７】
ネットワーク機器２０Ａのパケット受信部２１２は、コントローラ１０から代理応答用フローエントリを受信する。フローテーブル管理部２３は、フローテーブル２２に、代理応答用フローエントリを追加し、フローテーブル２２を更新する（図６のステップＳ１０６）。
【００６８】
その後、ノード３０Ａが、コントローラ１０のＭＡＣアドレスの解決するためＡＲＰ要求パケットを送信する（図６のステップＳ１０７）。このＡＲＰ要求パケットは、「Ｅｔｈｅｒ  ｓｒｃ」にノードＡのＭＡＣアドレス、「Ｅｔｈｅｒ  ｔｙｐｅ」に０ｘ０８０６、「ＩＰ  ｓｒｃ」にノードＡのＩＰアドレス、「ＩＰ  ｄｓｔ」にコントローラのＩＰアドレス、「ＩＰ  ｐｒｏｔｏ」に１が設定されている。
【００６９】
ネットワーク機器２０Ａのパケット受信部２１２は、ノード３０Ａからパケットを受信する（図５の（ｓ２）パケット受信）。パケット解析部２１３は、パケットを解析し、「Ｅｔｈｅｒ  ｓｒｃ」がノードＡのＭＡＣアドレス、「Ｅｔｈｅｒ  ｔｙｐｅ」が０ｘ０８０６、「ＩＰ  ｓｒｃ」がノードＡのＩＰアドレス、「ＩＰ  ｄｓｔ」がコントローラのＩＰアドレス、「ＩＰ  ｐｒｏｔｏ」が１とのパケットヘッダに適合するマッチ条件を持つフローエントリを検索する。ここでは、ステップＳ１０６にてフローテーブル２２に追加された代理応答用フローエントリがヒットすることになる。パケット生成部２１４は、代理応答用フローエントリのインストラクションフィールドのアクション（Ａｃｔｉｏｎ）に従い、図５のフレームフォーマットのＡＲＰ応答パケットを生成する（図６のステップＳ１０８；図５の（ｓ３）代理応答パケット生成）。
【００７０】
パケット送信部２１１は、前記代理応答用フローエントリのアクションに従い、前記生成したＡＲＰ応答パケットをノード３０Ａへ送信する（図６のステップＳ１０９；図５の（ｓ４）パケット送信）。
【００７１】
以上のように、本実施形態によれば、コントローラ１０に代わって、ネットワーク機器２０Ａが応答を行うことにより、コントローラ１０及びセキュアチャネルの負荷が軽減し、コントローラの処理効率が向上する。
【００７２】
また、本実施形態は、コントローラ１０のソフトウェアバージョンアップ時や、コントローラが単一障害点になるのを避けるために、コントローラをクラスタシステム構成とした場合のクラスタ切り替え時に、コントローラが一時的に無応答状態となっている場合にも有効に機能する。即ち、コントローラ１０が無応答状態になっている場合に、ノード３０Ａ、３０Ｂからコントローラ１０宛の通信が発生しても、ネットワーク機器２０Ａ、２０Ｂがコントローラ１０宛のパケットに対する応答を行うことで、ノード３０Ａ、３０Ｂからの通信が停止することを抑制することができる。
【００７３】
［第２の実施形態］
続いて、本発明の第２の実施形態について図面を参照して詳細に説明する。本発明の第２の実施形態は、第１の実施形態と同様の構成にて実現可能であるので、以下、その相違点を中心に説明する。
【００７４】
図７は、本発明の第２の実施形態の通信システムのネットワーク構成を示す図である。図５に示したネットワーク構成と相違するのは、ネットワーク機器２０Ｂに、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）サーバ４０が接続されている点である。その他、コントローラ１０やネットワーク機器２０Ａ、２０Ｂ、ノード３０Ａ、３０Ｂは、第１の実施形態と同様である。
【００７５】
本実施形態では、コントローラ１０が、ＨＴＴＰサーバ４０へのＨＴＴＰ要求が集中し、ＨＴＴＰサーバ４０の負荷が高いことを検知する。なお、例えば、コントローラ１０が、ネットワーク機器２０Ｂのフローエントリのフロー統計情報等（非特許文献２の１０頁「４．５  Ｃｏｕｎｔｅｒｓ」参照）を取得することで、ＨＴＴＰサーバ４０へのＨＴＴＰ要求が集中しているか否かを把握することができる。
【００７６】
ＨＴＴＰサーバ４０の負荷が高いことを検出すると、図８に示すように、コントローラ１０は、ネットワーク機器２０Ａに、ノード３０ＡからＨＴＴＰサーバ４０へのＨＴＴＰ要求パケットに対する応答パケットを生成してノード３０Ａへ送信する処理を行わせる代理応答用フローエントリを設定する。なお、ここでの応答パケットとしては、ＨＴＴＰ要求パケットに対するエラーを表すＨＴＴＰのステータスコードが設定されたパケットなどが考えられる。
【００７７】
これにより、ノード３０ＡからＨＴＴＰサーバ４０までの経路上を流れるパケット数を抑制でき、ＨＴＴＰサーバ４０への負荷も減少する。
【００７８】
なお、上記の例では、ＨＴＴＰサーバ４０へのＨＴＴＰ要求パケットに対する応答を返す者として説明したが、その他、ＤｏＳ（Ｄｅｎｙ  ｏｆ  Ｓｅｒｖｉｃｅ）攻撃が疑われるパケットに対する応答パケットを生成、送信させる代理応答用フローエントリをネットワーク機器２０Ａ、２０Ｂに設定することで、同様の効果を得ることができる。
【００７９】
以上、本発明の実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した実施形態では、ネットワーク機器２０を制御対象として例示したが、これに限られない。例えば、上記したフローエントリを保持し、その内容に従って、受信パケットや搭載アプリケーションからのパケットを処理する携帯電話端末、スマートフォン、タブレット端末、パーソナルコンピュータ、ゲーム機器、モバイルルータなどの通信装置も、代理応答用のフローエントリの設定対象とすることができる。これにより例えば、これらの機器の内部のパケット処理部から、周辺機器や搭載アプリケーション等へ応答パケットを返す構成を得ることができる。
【００８０】
また例えば、上記した各実施形態では、各ネットワーク機器に１台のノードが接続されている例を挙げて説明したが、１台のネットワーク機器に複数のノードが接続されている構成においても同様に適用することができる。この場合、コントローラ１０がネットワーク機器２０に、ヘッダフィールド（マッチ条件）の「Ｅｔｈｅｒ  ｓｒｃ」や「ＩＰ  ｓｒｃ」が各ノードのＭＡＣアドレスやＩＰアドレスであるフローエントリを設定することでノード（パケット送信先）を特定することができる。
【００８１】
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００８２】
１０  コントローラ
１１  フローエントリ生成部
１２  ネットワーク機器制御部
１３  パケット解析部
１４  アドレス情報記憶部
２０、２０Ａ、２０Ｂ  ネットワーク機器
２０  ネットワーク機器
２１  パケット処理部
２２  フローテーブル
２３  フローテーブル管理部
３０Ａ、３０Ｂ、３００  ノード
４０  ＨＴＴＰサーバ
１００  制御装置
１１０  制御情報生成部
１２０  通信装置制御部
２００  通信装置
２１１  パケット送信部
２１２  パケット受信部
２１３  パケット解析部
２１４  パケット生成部
【図１】
0005858141.tif 000002
【図２】
0005858141.tif 000003
【図３】
0005858141.tif 000004
【図４】
0005858141.tif 000005
【図５】
0005858141.tif 000006
【図６】
0005858141.tif 000007
【図７】
0005858141.tif 000008
【図８】
0005858141.tif 000009
【図９】
0005858141.tif 000010
【図１０】
0005858141.tif 000011
【図１１】
0005858141.tif 000012
【図１２】
0005858141.tif 000013