(57)【要約】 【課題】集中制御型のネットワークにおいて、制御装置に転送する対象のパケットが通信装置に大量に流入しても、システム全体のパフォーマンスへの影響を抑えるようにする。【解決手段】通信装置は、制御装置と所定のプロトコルに従って制御メッセージを授受するプロトコル処理部と、前記制御メッセージを用いて前記制御装置から設定された制御情報を参照してパケットを処理するパケット処理部と、前記制御装置と授受可能な制御メッセージのうち、前記制御装置に受信パケットの情報を送信する制御メッセージについて、前記プロトコル処理部を介さずに、受信パケットに所定の加工を施して前記制御装置に送信する制御メッセージ転送部と、を備える。【選択図】図１
2014154958.tif 000002
【特許請求の範囲】
【請求項１】
制御装置と所定のプロトコルに従って制御メッセージを授受するプロトコル処理部と、
前記制御メッセージを用いて前記制御装置から設定された制御情報を参照してパケットを処理するパケット処理部と、
前記制御装置と授受可能な制御メッセージのうち、前記制御装置に受信パケットの情報を送信する制御メッセージについて、前記プロトコル処理部を介さずに、受信パケットに所定の加工を施して前記制御装置に送信する制御メッセージ転送部と、
を備えた通信装置。
【請求項２】
前記制御メッセージ転送部は、
前記制御装置に受信パケットの情報を送信する契機となったパケットに、前記制御装置宛の追加ヘッダを付加して送信することにより、前記制御装置に受信パケットの情報を送信する請求項１の通信装置。
【請求項３】
前記制御メッセージ転送部は、
前記制御装置から、前記パケットの出力ポートを指定した追加ヘッダが付加されたパケットを受信した場合、前記追加ヘッダを削除して前記追加ヘッダにて指定された出力ポートから転送する動作を行う請求項１又は２の通信装置。
【請求項４】
前記パケット処理部が、
前記制御装置に受信パケットの情報を送信する対象となるパケットを特定するマッチ条件と、該マッチ条件に適合するパケットに適用する処理内容と、を指定した制御情報を保持し、該制御情報に従い受信パケットを処理する制御メッセージ転送部として機能する請求項１から３いずれか一の通信装置。
【請求項５】
前記プロトコル処理部を介さずに、前記送信又は受信パケットに所定の加工を施して前記制御装置と通信する対象のパケット種別が定められている請求項１から４いずれか一の通信装置。
【請求項６】
前記所定の加工として、前記パケット種別で用いられていないヘッダ領域の書換えを実行する請求項５の通信装置。
【請求項７】
前記制御メッセージ転送部が、
前記制御装置に受信パケットの情報を送信する対象となるパケットから、前記所定のプロトコルに規定された前記制御装置に受信パケットの情報を送信する制御メッセージを作成する制御メッセージ作成部と、
前記制御メッセージ作成部にて作成された制御メッセージと、前記プロトコル処理部にて生成された制御メッセージとを調停してから送信するＴＯＥ（ＴＣＰ／ＩＰ  Ｏｆｆｌｏａｄ  Ｅｎｇｉｎｅ）部と、を含んで構成されている請求項１の通信装置。
【請求項８】
前記制御メッセージ転送部が、
さらに、前記制御装置からのパケットを指定ポートから送信を指示する制御メッセージに従い、パケットを指定ポートから出力するパケット送信部を含み、
前記ＴＯＥ部は、前記制御装置から受信した制御メッセージが、前記パケットを指定ポートから送信を指示する制御メッセージである場合、前記パケット送信部に前記制御メッセージを送信する請求項７の通信装置。
【請求項９】
制御対象の通信装置と所定のプロトコルに従って制御メッセージを授受するネットワーク制御部と、
前記制御対象の通信装置からの所定の加工が施されたパケットの受信を監視するパケット監視部と、
前記制御対象の通信装置から前記所定の加工が施されたパケットを受信した場合、前記所定のプロトコルによるパケットの情報を送信する制御メッセージとして処理する制御メッセージ処理部と、
を備えた制御装置。
【請求項１０】
前記制御メッセージ処理部は、
前記パケットの出力ポートを指定した追加ヘッダを付加して前記通信装置に転送することにより、前記通信装置にパケットを出力させる請求項９の制御装置。
【請求項１１】
前記制御メッセージ処理部は、
前記通信装置から、前記所定の加工が施されたパケットを受信した場合、前記パケットに適用する処理内容を決定し、前記通信装置に対し前記処理内容を実行させる制御情報を送信する請求項９又は１０の制御装置。
【請求項１２】
制御装置と所定のプロトコルに従って制御メッセージを授受するプロトコル処理部と、前記制御メッセージを用いて前記制御装置から設定された制御情報を参照してパケットを処理するパケット処理部と、前記制御装置と授受可能な制御メッセージのうち、前記制御装置に受信パケットの情報を送信する制御メッセージについて、前記プロトコル処理部を介さずに、受信パケットに所定の加工を施して前記制御装置に送信する制御メッセージ転送部と、を備えた通信装置と、
前記通信装置と所定のプロトコルに従って制御メッセージを授受するプロトコル処理部と、前記制御対象の通信装置からの所定の加工が施されたパケットの受信を監視するパケット監視部と、前記制御対象の通信装置から前記所定の加工が施されたパケットを受信した場合、前記所定のプロトコルによるパケットの情報を送信する制御メッセージとして処理する制御メッセージ処理部と、を備えた制御装置と、
を含む通信システム。
【請求項１３】
制御装置と所定のプロトコルに従って制御メッセージを授受するプロトコル処理部を備えた通信装置が、
前記制御装置と授受可能な制御メッセージのうち、前記制御装置に受信パケットの情報を送信する制御メッセージの送信の契機となるパケットを受信するステップと、
前記パケットを受信した場合、前記プロトコル処理部を介さずに、受信パケットに所定の加工を施して前記制御装置に送信するステップと、を含む制御メッセージの送信方法。
【請求項１４】
制御装置と所定のプロトコルに従って制御メッセージを授受するプロトコル処理部を備えた通信装置が、
前記制御装置に受信パケットの情報を送信する制御メッセージを送信する契機となるパケットの受信を契機に、前記パケットから、前記所定のプロトコルに規定された前記制御装置に受信パケットの情報を送信する制御メッセージを作成するステップと、
前記通信装置に、前記プロトコル処理部とは別に設けられたＴＯＥ（ＴＣＰ／ＩＰ  Ｏｆｆｌｏａｄ  Ｅｎｇｉｎｅ）部が、前記制御メッセージ作成部にて作成された所定の制御メッセージと、前記プロトコル処理部にて生成された制御メッセージとを調停してから送信するステップとを含む制御メッセージの送信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、制御装置、通信システム、制御メッセージの送信方法に関し、特に、集中制御型のネットワークに配置される通信装置、制御装置、通信システム、制御メッセージの送信方法に関する。
【背景技術】
【０００２】
非特許文献１、２に、オープンフローという技術が提案されている。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。非特許文献２に仕様化されているオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するマッチ条件（Ｍａｔｃｈ  Ｆｉｅｌｄｓ）と、フロー統計情報（Ｃｏｕｎｔｅｒｓ）と、処理内容を定義したインストラクション（Ｉｎｓｔｒｕｃｔｉｏｎｓ）と、の組が定義される（非特許文献２の「５．２  Ｆｌｏｗ  Ｔａｂｌｅ」の項参照）。
【０００３】
例えば、オープンフロースイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するマッチ条件（非特許文献２の「５．３  Ｍａｔｃｈｉｎｇ」参照）を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、フロー統計情報（カウンタ）を更新するとともに、受信パケットに対して、当該エントリのインストラクションフィールドに記述された処理内容（指定ポートからのパケット送信、フラッディング、廃棄等）を実施する。一方、検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対してエントリ設定の要求、即ち、受信パケットを処理するための制御情報の送信要求（Ｐａｃｋｅｔ−Ｉｎメッセージ）を送信する。オープンフロースイッチは、処理内容が定められたフローエントリを受け取ってフローテーブルを更新する。このように、オープンフロースイッチは、フローテーブルに格納されたエントリを制御情報として用いてパケット転送を行う。
【０００４】
また、非特許文献２には、オープンフローコントローラからオープンフロースイッチに、指定したパケットの出力を指示する制御メッセージが規定されている（非特許文献２の「Ａ．３．７  Ｐａｃｋｅｔ−Ｏｕｔ  Ｍｅｓｓａｇｅ」参照）。この制御メッセージは、オープンフローコントローラが、制御情報の送信要求（Ｐａｃｋｅｔ−Ｉｎメッセージ）を受け取った際に、任意のオープンフロースイッチに当該パケットを出力させる場合に使用される。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２５（２０１３）年１月２４日検索］、インターネット〈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〉
【発明の概要】
【発明が解決しようとする課題】
【０００６】
以下の分析は、本発明によって与えられたものである。上記オープンフロースイッチに代表される制御装置から設定される制御情報に従い動作する通信装置は、ＣＡＭ（Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ）等に上述したフローエントリを格納し、受信パケットを高速に処理するハードウェア実装部（通常、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等で構成される専用回路が用いられる。）を備えている。その一方で、制御装置との制御メッセージを授受するための処理は、通信装置に搭載されたネットワークプロセッサとも呼ばれる組み込み用のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）上で動作するソフトウェア実装部にて実行される。
【０００７】
上記ネットワークプロセッサは、上記ハードウェア実装部や、大量のメッセージ処理を行うことを前提とした制御装置のＣＰＵに比べて低速である。また、上記オープンフロースイッチに代表される通信装置は、新規に発生した通信を処理するために、自身が保持する制御情報に適合しない未知のパケットを受信すると、制御装置へ当該受信パケットを処理するための制御情報の送信を要求する制御メッセージ（Ｐａｃｋｅｔ−Ｉｎメッセージ）を送信するよう規定されている。このため、急激なトラヒックの増大等が発生すると、上記通信装置のソフトウェア実装部が前記制御メッセージ（Ｐａｃｋｅｔ−Ｉｎメッセージ）の送信に追われてしまい、ひいては、システム全体のパフォーマンスが低下してしまうという問題点がある。
【０００８】
本発明は、集中制御型のネットワークの制御装置に転送する対象のパケットが通信装置に大量に流入しても、システム全体のパフォーマンスへの影響を抑えることに貢献できる通信装置、制御装置、通信システム、制御メッセージの送信方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
第１の視点によれば、制御装置と所定のプロトコルに従って制御メッセージを授受するプロトコル処理部と、前記制御メッセージを用いて前記制御装置から設定された制御情報を参照してパケットを処理するパケット処理部と、前記制御装置と授受可能な制御メッセージのうち、前記制御装置に受信パケットの情報を送信する制御メッセージについて、前記プロトコル処理部を介さずに、受信パケットに所定の加工を施して前記制御装置に送信する制御メッセージ転送部と、を備えた通信装置が提供される。
【００１０】
第２の視点によれば、制御対象の通信装置と所定のプロトコルに従って制御メッセージを授受するネットワーク制御部と、前記制御対象の通信装置からの所定の加工が施されたパケットの受信を監視するパケット監視部と、前記制御対象の通信装置から前記所定の加工が施されたパケットを受信した場合、前記所定のプロトコルによるパケットの情報を送信する制御メッセージとして処理する制御メッセージ処理部と、を備えた制御装置が提供される。
【００１１】
第３の視点によれば、制御装置と所定のプロトコルに従って制御メッセージを授受するプロトコル処理部と、前記制御メッセージを用いて前記制御装置から設定された制御情報を参照してパケットを処理するパケット処理部と、前記制御装置と授受可能な制御メッセージのうち、前記制御装置に受信パケットの情報を送信する制御メッセージについて、前記プロトコル処理部を介さずに、受信パケットに所定の加工を施して前記制御装置に送信する制御メッセージ転送部と、を備えた通信装置と、前記通信装置と所定のプロトコルに従って制御メッセージを授受するプロトコル処理部と、前記制御対象の通信装置からの所定の加工が施されたパケットの受信を監視するパケット監視部と、前記制御対象の通信装置から前記所定の加工が施されたパケットを受信した場合、前記所定のプロトコルによるパケットの情報を送信する制御メッセージとして処理する制御メッセージ処理部と、を備えた制御装置と、を含む通信システムが提供される。
【００１２】
第４の視点によれば、制御装置と所定のプロトコルに従って制御メッセージを授受するプロトコル処理部を備えた通信装置が、前記制御装置と授受可能な制御メッセージのうち、前記制御装置に受信パケットの情報を送信する制御メッセージの送信の契機となるパケットを受信するステップと、前記パケットを受信した場合、前記プロトコル処理部を介さずに、受信パケットに所定の加工を施して前記制御装置に送信するステップと、を含む制御メッセージの送信方法が提供される。本方法は、制御装置と所定のプロトコルに従って制御メッセージを授受するプロトコル処理部を備えた通信装置という、特定の機械に結びつけられている。
【発明の効果】
【００１３】
本発明によれば、集中制御型のネットワークの制御装置に転送する対象のパケットが通信装置に大量に流入しても、システム全体のパフォーマンスへの影響を抑えることが可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態の構成を示す図である。
【図２】本発明の第１の実施形態の通信システムの構成を示す図である。
【図３】本発明の第１の実施形態の通信装置に保持される制御情報の一例を示す図である。
【図４】本発明の第１の実施形態の通信装置が制御装置に送信するパケットに付加する追加ヘッダの構成例を示す図である。
【図５】本発明の第１の実施形態の制御装置が通信装置に送信するパケットに付加する追加ヘッダの構成例を示す図である。
【図６】本発明の第１の実施形態の通信システムの動作を説明するための図である。
【図７】本発明の第１の実施形態の通信システムの動作を説明するための図である。
【図８】本発明の第２の実施形態の通信装置に保持される制御情報の一例を示す図である。
【図９】本発明の第２の実施形態の通信装置によるヘッダ書換え内容を説明するための図である。
【図１０】本発明の第２の実施形態の制御装置によるヘッダ書換え内容を説明するための図である。
【図１１】本発明の第２の実施形態の通信システムの動作を説明するための図である。
【図１２】本発明の第２の実施形態の通信システムの動作を説明するための図である。
【図１３】本発明の第３の実施形態の通信システムの構成を示す図である。
【図１４】本発明の第３の実施形態の通信システムの動作を説明するための図である。
【発明を実施するための形態】
【００１５】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００１６】
本発明は、その一実施形態において、図１に示すように、集中制御型のネットワークの制御装置１００と所定のプロトコルに従って制御メッセージを授受するプロトコル処理部２１０と、制御メッセージを用いて制御装置１００から設定された制御情報を参照してパケットを処理するパケット処理部２２０と、制御装置１００と授受可能な制御メッセージのうち、制御装置１００に受信パケットの情報を送信する制御メッセージについて、プロトコル処理部２１０を介さずに、受信パケットに所定の加工を施して制御装置に送信する制御メッセージ転送部２３０と、を備えた通信装置にて実現できる。
【００１７】
なお、前記制御メッセージ転送部２３０が、受信パケットに施す所定の加工は、制御装置１００が、制御メッセージの代替として送られたものであることを判別可能であれば、どのような形態であってもよい。例えば、図４に示すように、追加ヘッダを付加する形態であってもよいし、図９に示すようにヘッダを書換えることでもよい。
【００１８】
以上のようにすることで、制御装置１００と授受可能な制御メッセージのうち、制御装置１００に受信パケットの情報を送信する制御メッセージについては、プロトコル処理部２１０ではなく、制御メッセージ転送部２３０で直接処理されることになる。このため、制御装置１００に転送する対象のパケットが通信装置２００に大量に流入しても、システム全体のパフォーマンスへの影響を抑えることが可能となる。
【００１９】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。本発明の第１の実施形態は、非特許文献１、２のオープンフロースイッチと同様に、通信装置が、制御装置から設定された制御情報（フローエントリ）を参照して受信パケットを処理する仕組みを用いて、制御装置に対し、受信パケットの情報を送信する。
【００２０】
図２は、本発明の第１の実施形態の通信システムの構成を示す図である。図２を参照すると、制御装置１００と、制御用チャネルを介して、この制御装置１００から制御される通信装置２００と、が示されている。
【００２１】
通信装置２００は、プロトコル処理部２１０と、パケット処理部２２０と、制御情報記憶部２４０とを備えている。
【００２２】
プロトコル処理部２１０は、非特許文献２のオープンフロープロトコルに従って、制御装置１００と通信し、制御装置１００から受信した制御情報（フローエントリ）を制御情報記憶部２４０に格納する動作や、制御装置１００から指示した制御情報（フローエントリ）を制御情報記憶部２４０から削除する動作等を実行する。本実施形態では、プロトコル処理部２１０は、通信装置２００に搭載されているＣＰＵ上で動作するプログラムによって構成されているものとする。
【００２３】
パケット処理部２２０は、ポートを介して接続された他の通信装置や制御装置１００からパケットを受信すると、制御情報記憶部２４０から、受信パケットに適合するマッチ条件を持つ制御情報（フローエントリ）を見つけ、その制御情報（フローエントリ）に規定された処理内容（インストラクション）を実行する。このようなパケット処理部２２０及び制御情報記憶部２４０は、ＡＳＩＣ等によって構成され、ＣＡＭに格納された制御情報（フローエントリ）を高速に検索して処理するハードウェア実装部として実現することが望ましい。
【００２４】
また、本実施形態の通信装置２００のパケット処理部２２０は、受信パケットに適合するマッチ条件を持つ制御情報（フローエントリ）が無い場合に、当該パケットをカプセル化してから制御装置１００に転送する動作を行う（非特許文献２のＰａｃｋｅｔ−Ｉｎメッセージの代替）。
【００２５】
また、本実施形態の通信装置２００のパケット処理部２２０は、制御装置１００からカプセル化されたパケットを受信した場合に、当該パケットをデカプセル化して元のパケットを取り出し、制御装置１００から指定されたポートから出力する動作を行う（非特許文献２のＰａｃｋｅｔ−Ｏｕｔメッセージの代替）。
【００２６】
図３は、通信装置２００に上記動作を行わせるために、制御情報記憶部２４０に設定される制御情報（フローエントリ）の例である。図３の制御情報（フローエントリ）は、優先度が高い順に格納されているものとする。図３の一番上の制御情報（フローエントリ）は、ユーザパケット（例えば、端末Ａ宛のパケット）を転送するための制御情報（フローエントリ）である。図３の一番下にある制御情報（フローエントリ）ＦＥ１は、最も優先度が低いが、マッチ条件には、ワイルドカードを意味する「Ａｎｙ」が設定されている。このため、受信パケットに適合するマッチ条件を持つ制御情報（フローエントリ）が上位に存在しないパケットを受信した場合、通信装置２００は、この制御情報（フローエントリ）を選択する。そして、この場合、通信装置２００は、そのインストラクションフィールドの内容に従い、受信パケットをカプセル化して制御装置１００に転送する動作を行う。
【００２７】
図４は、上記通信装置２００によるカプセル化処理の例である。図４の例では、例えば、ＩＥＥＥ  ８０２．１ａｈに規定されたＭＡＣ  ｉｎ  ＭＡＣ（以下、ＭＡＣは、「Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ」を意味する。）を利用して、元のパケットに追加ヘッダを付加している。この追加ヘッダの宛先ＭＡＣ（ＤＭＡＣ）フィールドには、制御装置１００のＭＡＣアドレスが設定される。また、送信元ＭＡＣ（ＳＭＡＣ）フィールドには、通信装置２００が、受信パケットを受信したポート（入力ポート）に付与されているＭＡＣアドレスが格納される。このようにすることで、制御装置１００は、追加ヘッダが付加されたパケットの受信時に、送信元の通信装置２００において、受信パケットに適合するマッチ条件を持つ制御情報（フローエントリ）が設定されていないことと、その入力ポート（経路計算等に利用）を把握することが可能となる。
【００２８】
図３の下から３番目にある制御情報（フローエントリ）ＦＥ２は、制御装置１００からカプセル化されたパケットを受信した場合に、当該パケットをデカプセル化して元のパケットを取り出し、制御装置１００から指定されたポートから出力する動作を行うための制御情報（フローエントリ）である。そのマッチ条件フィールドには、パケット受信ポートが制御装置１００が接続されたポートであることと、宛先ＭＡＣアドレスが通信装置２００のポートに予め設定されているＭＡＣアドレスであるとの条件が設定されている。従って、通信装置２００は、制御装置１００から宛先ＭＡＣアドレスに自身のポートが指定されたパケットを受信した場合に、図３の下から３番目の制御情報（フローエントリ）を選択する。この場合、通信装置２００は、そのインストラクションフィールドの内容に従い、受信パケットからヘッダを外した後（デカプセル化）、宛先ＭＡＣアドレスに指定されたＭＡＣアドレスを持つポートから出力する動作を行う。
【００２９】
図５は、上記通信装置２００によるデカプセル化処理の例である。図５の例では、図４の例と同様に、元のパケットに追加ヘッダを付加している。この追加ヘッダの宛先ＭＡＣ（ＤＭＡＣ）フィールドには、通信装置２００の出力ポートに付与されたＭＡＣアドレスが設定される。また、送信元ＭＡＣ（ＳＭＡＣ）フィールドには、制御装置１００のＭＡＣアドレスが設定される。従って、通信装置２００は、追加ヘッダが付加されたパケットの受信時に、そのパケットが制御装置１００からのパケット出力指示であると判断し、その追加ヘッダが付された元のパケットを指定ポートから送信する動作を行う。
【００３０】
なお、このような通信装置２００は、非特許文献２のオープンフロースイッチに相当する機器にて実現できる。もちろん、図１に示すように、図３の制御情報（フローエントリ）と同等の動作を行う制御メッセージ部を独立して有する構成とすることもできる。また通信装置２００は、ユーザ等が有するパーソナルコンピュータ、モバイル端末等の機器において、上位アプリケーションからのパケットを処理するスイッチ機能を備えたものであってもよい。
【００３１】
続いて、図２の制御装置１００について説明する。制御装置１００は、ネットワーク制御部１１０と、パケット監視部１２０と、Ｐａｃｋｅｔ−Ｉｎ処理部１３０と、Ｐａｃｋｅｔ−Ｏｕｔ処理部１４０と、を備えている。
【００３２】
ネットワーク制御部１１０は、例えば、非特許文献２のオープンフロープロトコルに従って、通信装置２００を制御する。ネットワーク制御部１１０は、前記通信装置２００から追加ヘッダが付されたパケットを受信すると、そのパケットに後続するパケットを処理するための制御情報（フローエントリ）を生成し、通信装置２００に送信する。また、その際に、ネットワーク制御部１１０が、通信装置２００によって構成されるネットワークトポロジを参照して、通信装置２００に転送させるパケットの経路計算を行ってもよい。
【００３３】
パケット監視部１２０は、通信装置２００から受信したパケットのうち、図４に示した所定の追加ヘッダが付加されているパケットをＰａｃｋｅｔ−Ｉｎ処理部１３０に転送し、その他のものは、ネットワーク制御部１１０に転送する。
【００３４】
Ｐａｃｋｅｔ−Ｉｎ処理部（制御メッセージ処理部−１）１３０は、図４に示した所定の追加ヘッダが付加されているパケットが入力されると、図４の追加ヘッダを外すとともに、追加ヘッダの内容を読み出して、ネットワーク制御部１１０に送信する。前述のとおり、図４の追加ヘッダの送信元ＭＡＣアドレスフィールドには、受信パケットを受信したポート（入力ポート）に付与されているＭＡＣアドレスが格納されているため、ネットワーク制御部１１０は、パケットの送信元の通信装置２００とその入力ポートを特定することができる。
【００３５】
Ｐａｃｋｅｔ−Ｏｕｔ処理部（制御メッセージ処理部−２）１４０は、ネットワーク制御部１１０から通信装置２００に対し、パケットの出力を指示するよう要求を受けると、ネットワーク制御部１１０から受信したパケットに図５に示す追加ヘッダを付加してから、指定された通信装置に送信する。前述のとおり、図５の追加ヘッダの宛先ＭＡＣアドレスフィールドには、受信パケットを出力すべきポート（出力ポート）に付与されているＭＡＣアドレスが格納されているため、通信装置２００は、図３の下から３番目に示した制御情報（フローエントリ）に従い、当該パケットの追加ヘッダを外した上で出力する動作を行うことができる。
【００３６】
なお、このような制御装置１００は、非特許文献２のオープンフローコントローラに相当する機器に、上述したパケット監視部１２０、Ｐａｃｋｅｔ−Ｉｎ処理部１３０及びＰａｃｋｅｔ−Ｏｕｔ処理部１４０を追加することで実現できる。
【００３７】
なお、図３に示した制御情報（フローエントリ）ＦＥ１、ＦＥ２の設定タイミングとしては種々のものが考えられる。例えば、制御用チャネルを介して通信装置２００が制御装置１００に接続した際に、制御装置１００が初期設定として、これらの制御情報（フローエントリ）ＦＥ１、ＦＥ２を設定するようにしてもよい。また、制御装置１００がシステム全体のトラヒック等に基づいて、Ｐａｃｋｅｔ−Ｉｎメッセージの送信頻度の高い通信装置２００に、これらの制御情報（フローエントリ）ＦＥ１、ＦＥ２を設定することでもよい。
【００３８】
続いて、本実施形態の動作について図面を参照して詳細に説明する。図６は、本発明の第１の実施形態の通信システムの動作（通信装置→制御装置）を説明するための図である。図６を参照すると、まず、通信装置２００が、未知のパケット（新規パケット）を受信すると（ステップＳ１）、通信装置２００は、制御情報記憶部２４０を参照して、受信パケット（新規パケット）に適合するマッチ条件を持つ制御情報（フローエントリ）を検索する。前記検索の結果、この時点では、受信パケット（新規パケット）にマッチする上位制御情報（フローエントリ）は存在しないので、図３のマッチ条件「Ａｎｙ」の制御情報（フローエントリ）ＦＥ１がヒットすることになる。
【００３９】
通信装置２００は、図３のマッチ条件「Ａｎｙ」の制御情報（フローエントリ）ＦＥ１のインストラクションフィールドに従い、受信パケットをカプセル化した上で（図４参照）、制御装置１００の接続ポートから出力する（ステップＳ２）。
【００４０】
前記カプセル化されたパケットを受信した制御装置１００は、そのパケット監視部１２０にてカプセル化されたパケットを検出する（ステップＳ３）。そして、Ｐａｃｋｅｔ−Ｉｎ処理部１３０は、カプセル化を解除して、元のパケットイメージを取得する。また、Ｐａｃｋｅｔ−Ｉｎ処理部１３０は、追加ヘッダの送信元ＭＡＣアドレスから、送信元の通信装置２００とその受信ポートを特定し、ネットワーク制御部１１０に、デカプセル化したパケットとともに送信する（ステップＳ４）。
【００４１】
図７は、本発明の第１の実施形態の通信システムの動作（制御装置→通信装置）を説明するための図である。前記デカプセル化したパケットと、送信元の通信装置２００とその受信ポートの情報を受け取ったネットワーク制御部１１０は、受信したパケットに基づいて、送信元の通信装置２００に設定すべき制御情報（フローエントリ）を生成し、通信装置２００に送信する（ステップＳ５）。通信装置２００は、プロトコル処理部２１０で制御情報（フローエントリ）を受け取ると、制御情報記憶部２４０に格納する。以後、通信装置２００は、同一の特徴を持つパケットを受信した場合、この制御情報（フローエントリ）を用いて受信パケットを処理することになる。
【００４２】
さらに、制御装置１００のネットワーク制御部１１０は、上記ステップＳ１からＳ４で受信したパケットを宛先に転送するために、Ｐａｃｋｅｔ−Ｏｕｔ処理部１４０に対し、送信すべきパケットと、その送信先の通信装置及びその出力ポート情報を含んだパケット出力指示を送信する（ステップＳ７）。
【００４３】
前記パケット出力指示を受信したＰａｃｋｅｔ−Ｏｕｔ処理部１４０は、ネットワーク制御部１１０から受信したパケットをカプセル化した上で（図５参照）、指定された通信装置２００に送信する（ステップＳ８）。なお、図７の例では、上記ステップＳ１からＳ４のパケットの送信元の通信装置２００に対し、カプセル化したパケットを送信しているが、例えば、当該パケットの宛先に近いその他の通信装置に、カプセル化したパケットを送信してもよい。
【００４４】
前記カプセル化されたパケットを受信した通信装置２００は、制御情報記憶部２４０から、前記カプセル化されたパケットに適合するマッチ条件を持つ制御情報（フローエントリ）ＦＥ２のインストラクションフィールドに従い、受信パケットをデカプセル化した上で（図５参照）、制御装置１００から指定されたポートから当該受信パケットを出力する（ステップＳ９）。
【００４５】
以上のように、本実施形態によれば、プロトコル処理部２１０を介さずに、未知のパケット（新規パケット）の受信を契機とする制御装置１００へのパケット送信動作（非特許文献２のＰａｃｋｅｔ−Ｉｎメッセージの送信処理に相当）と、制御装置１００からパケット出力指示に伴う動作（非特許文献２のＰａｃｋｅｔ−Ｏｕｔメッセージの処理に相当）と、を高速に処理することが可能となる。また、プロトコル処理部２１０が、これらの処理から解放されるため、プロトコル処理部２１０の負荷が軽減され、上述した制御情報（フローエントリ）の設定、変更、削除等のその他のプロトコルに則った処理も高速化される。 
【００４６】
［第２の実施形態］
続いて、本発明の第１の実施形態と同様の構成で、対象パケットを特定のプロトコルのパケットに限定した第２の実施形態について図面を参照して詳細に説明する。本発明の第２の実施形態は、制御装置と通信装置間で授受するパケットに追加ヘッダを追加するのではなく、ヘッダを書換える点でも相違している。以下、これらの相違点を中心に本発明の第２の実施形態について説明する。
【００４７】
通信装置２００が受信するパケットのうち、プロトコルによってはヘッダの一部が未使用又は固定の値が設定されるものがある。このようなプロトコルのパケットは、追加ヘッダを用いなくとも、前記未使用フィールドや固定値が入るフィールドを書換えることで、制御装置１００が制御用パケットであると解釈可能なパケットを構成することができる。
【００４８】
本実施形態では、ここでは、ＬＬＤＰ（Ｌｉｎｋ  Ｌａｙｅｒ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）のパケットについて、プロトコル処理部２１０を介さずに処理する例を挙げて説明する。
【００４９】
ＬＬＤＰパケットの宛先ＭＡＣアドレスは、ＬＬＤＰ仕様（ＩＥＥＥ  ８０２．１ａｂ）によって決められた固定アドレス（マルチキャストアドレス）になる。そのため、通信装置２００と制御装置１００との間でパケットを送るとき、宛先ＭＡＣアドレスフィールドの内容を一時的に書換えて、Ｐａｃｋｅｔ−Ｉｎメッセージに相当するパケットであること、Ｐａｃｋｅｔ−Ｏｕｔメッセージに相当するパケットであることをそれぞれ示す制御情報を埋め込むことができる。
【００５０】
また、非特許文献１、２のオープンフローに代表される集中制御型のネットワークにおいては、制御装置１００がネットワークトポロジを把握する必要があり、ＬＬＤＰを使用することができる。例えば、制御装置１００が、任意の通信装置２００に対し、Ｐａｃｋｅｔ−Ｏｕｔメッセージを用いてＬＬＤＰパケットの送信を指示し、そのパケットを受信した他の通信装置からＰａｃｋｅｔ−Ｉｎメッセージを受信することで通信装置間のリンクを検出できる。
【００５１】
また、上記のようなＬＬＤＰの用法においては、制御装置１００から通信装置２００に送信を指示するＬＬＤＰパケットの送信元ＭＡＣアドレスは、制御装置１００が当該ＬＬＤＰパケットを一意に識別できる値であればよい。よって、送信元ＭＡＣアドレスも一時的に書換え可能である。
【００５２】
本実施形態は、第１の実施形態と同様の構成にて実現可能である。但し、上記したＬＬＤＰパケットの識別と、ヘッダ書換えを行う点で相違する。
【００５３】
図８は、本実施形態の通信装置２００に上記動作を行わせるために、制御情報記憶部２４０に設定される制御情報（フローエントリ）の例である。図８においても、優先度が高い順に制御情報（フローエントリ）が格納されているものとする。図８の一番上の制御情報（フローエントリ）は、ユーザパケット（例えば、端末Ａ宛のパケット）を転送するための制御情報（フローエントリ）である。
【００５４】
図８の一番下にある制御情報（フローエントリ）ＦＥ１１は、最も優先度が低いが、マッチ条件の入力ポートはＡｎｙであるが、宛先ＭＡＣアドレス、ＥｔｈｅｒタイプがＬＬＤＰパケットの特徴を持つことを条件としている。また、送信元ＭＡＣアドレスが、ＬＬＤＰをＰａｃｋｅｔ−Ｏｕｔ要求時の固定値であることを条件としているのは、制御装置１００が明示的に他の通信装置に送信を指示したＬＬＤＰパケットであることを識別するためである。このため、制御装置１００からの指示に基づいて他の通信装置から送信されたＬＬＤＰパケットを受信した場合、通信装置２００は、この制御情報（フローエントリ）を選択する。そして、この場合、通信装置２００は、そのインストラクションフィールドの内容に従い、受信パケットのヘッダの内容を書換えた上で制御装置１００に転送する動作を行う。なお、それ以外のいずれの制御情報（フローエントリ）にも適合しないパケットを受信した場合には、通信装置２００は、Ｐａｃｋｅｔ−Ｉｎメッセージを用いた制御装置１００への転送、受信パケットの破棄などの予め定められた動作を行う。
【００５５】
図９は、上記通信装置２００によるヘッダ書換え処理の例である。図９の例では、例えば、元のＬＬＤＰパケットヘッダの宛先ＭＡＣアドレス（ＤＭＡＣ）を制御装置１００のＭＡＣアドレスに書換え、送信元ＭＡＣアドレス（ＳＭＡＣ）を、自装置のＬＬＤＰパケットを受信したポート（入力ポート）に付与されているＭＡＣアドレスに書換える処理を行う。このようにすることで、制御装置１００は、自装置を宛先とするＬＬＤＰパケットの受信時に、送信元の通信装置２００が、他の通信装置からＬＬＤＰパケットを受信したこと、その入力ポートを把握することが可能となる。
【００５６】
図８の下から３番目にある制御情報（フローエントリ）ＦＥ１２は、制御装置１００から送信対処のＬＬＤＰパケットを受信した場合に、当該パケットのヘッダを書換えた上で指定ポートから出力する動作を行うための制御情報（フローエントリ）である。そのマッチ条件フィールドには、パケット受信ポートが制御装置１００が接続されたポートであることと、宛先ＭＡＣアドレスが通信装置２００のポートに予め設定されているＭＡＣアドレスであること、そして、ＥｔｈｅｒタイプがＬＬＤＰを示す値（８８ＣＣ）となっていることが条件として設定されている。従って、通信装置２００は、制御装置１００から宛先ＭＡＣアドレスに自身のポートが指定されたＬＬＤＰパケットを受信した場合に、図８の下から３番目の制御情報（フローエントリ）を選択する。この場合、通信装置２００は、そのインストラクションフィールドの内容に従い、ヘッダを書換えた後、宛先ＭＡＣアドレスに指定されたＭＡＣアドレスを持つポートから出力する動作を行う。
【００５７】
図１０は、上記通信装置２００によるヘッダ書換え処理の例である。図１０の例では、ＬＬＤＰの宛先ＭＡＣアドレス（ＤＭＡＣ）をＬＬＤＰ仕様（ＩＥＥＥ  ８０２．１ａｂ）によって決められた固定アドレス（マルチキャストアドレス）に書換える処理を行っている。従って、通信装置２００は、宛先ＭＡＣアドレスに自身のポートが指定されたＬＬＤＰパケットを受信時に、そのパケットが制御装置１００からのＬＬＤＰパケット出力指示であると判断し、そのヘッダの宛先ＭＡＣアドレスをＬＬＤＰのマルチキャストアドレスに書換えた後、指定ポートから送信する動作を行う。
【００５８】
また、本実施形態の制御装置１００のパケット監視部１２０は、通信装置２００から受信したパケットのうち、図９の下段に示したようにヘッダが書換えられているＬＬＤＰパケットをＰａｃｋｅｔ−Ｉｎ処理部１３０に転送し、その他のものは、ネットワーク制御部１１０に転送する。
【００５９】
また、本実施形態のＰａｃｋｅｔ−Ｉｎ処理部１３０は、図９の下段に示したヘッダが書換えられているＬＬＤＰパケットが入力されると、書換えられたヘッダの内容を読み出した後、図９の上段に示すヘッダに復元し、ネットワーク制御部１１０に送信する。前述のとおり、図９の書換え後ヘッダの送信元ＭＡＣアドレスフィールドには、ＬＬＤＰパケットを受信したポート（入力ポート）に付与されているＭＡＣアドレスが格納されているため、ネットワーク制御部１１０は、ＬＬＤＰパケットの送信元の通信装置２００とその入力ポートを特定することができる。
【００６０】
また、本実施形態のＰａｃｋｅｔ−Ｏｕｔ処理部１４０は、ネットワーク制御部１１０から通信装置２００に対し、ＬＬＤＰパケットの出力を指示するよう要求を受けると、ネットワーク制御部１１０から受信したＬＬＤＰパケットのヘッダを、図１０の上段に示すように書換えてから、指定された通信装置２００に送信する。前述のとおり、図１０の上段の各ＭＡＣアドレスフィールドには、ＬＬＤＰパケットであることを示す内容が格納されているため、通信装置２００は、図８の下から３番目に示した制御情報（フローエントリ）ＦＥ１２に従い、当該ＬＬＤＰパケットのヘッダを書換えた上で出力する動作を行うことができる。
【００６１】
続いて、本実施形態の動作について図面を参照して詳細に説明する。図１１は、本発明の第２の実施形態の通信システムの動作（通信装置→制御装置）を説明するための図である。図１１を参照すると、まず、通信装置２００が、他の通信装置からＬＬＤＰパケットを受信すると（ステップＳ１１）、通信装置２００は、制御情報記憶部２４０を参照して、ＬＬＤＰパケットに適合するマッチ条件を持つ制御情報（フローエントリ）を検索する。前記検索の結果、図８の制御情報（フローエントリ）ＦＥ１１がヒットすることになる。
【００６２】
通信装置２００は、図８の制御情報（フローエントリ）ＦＥ１１のインストラクションフィールドに従い、受信パケットの宛先ＭＡＣアドレスと、送信元ＭＡＣアドレスを書換えた上で（図９参照）、制御装置１００の接続ポートから出力する（ステップＳ１２）。
【００６３】
前記ヘッダが書換えられたＬＬＤＰパケットを受信した制御装置１００は、そのパケット監視部１２０にてヘッダが書換えられたＬＬＤＰパケットであることを検出する（ステップＳ１３）。そして、Ｐａｃｋｅｔ−Ｉｎ処理部１３０は、通信装置２００によって、宛先ＭＡＣアドレスと、送信元ＭＡＣアドレスとを、それぞれ固定値に復元することで、
書換え前のパケットイメージを取得する。また、Ｐａｃｋｅｔ−Ｉｎ処理部１３０は、書換え前の送信元ＭＡＣアドレスから、送信元の通信装置２００とその受信ポートを特定し、ネットワーク制御部１１０に、復元したパケットとともに送信する（ステップＳ１４）。
【００６４】
図１２は、本発明の第２の実施形態の通信システムの動作（制御装置→通信装置）を説明するための図である。制御装置１００のネットワーク制御部１１０は、所定のタイミングで、ＬＬＤＰパケットを生成し、Ｐａｃｋｅｔ−Ｏｕｔ処理部１４０に対し、生成したＬＬＤＰパケットと、その送信先の通信装置及びその出力ポート情報を含んだパケット出力指示を送信する（ステップＳ１７）。
【００６５】
前記パケット出力指示を受信したＰａｃｋｅｔ−Ｏｕｔ処理部１４０は、ネットワーク制御部１１０から受信したＬＬＤＰパケットのヘッダを書換えた上で（図１０参照）、指定された通信装置２００に送信する（ステップＳ１８）。
【００６６】
前記ヘッダが書換えられたＬＬＤＰパケットを受信した通信装置２００は、制御情報記憶部２４０から、前記ＬＬＤＰパケットに適合するマッチ条件を持つ制御情報（フローエントリ）ＦＥ１２のインストラクションフィールドに従い、受信パケットのヘッダを書換えた上で（図１０参照）、制御装置１００から指定されたポートから当該受信パケットを出力する（ステップＳ１９）。
【００６７】
以上のように、本実施形態によれば、プロトコル処理部２１０を介さずに、ＬＬＤＰパケットの授受を高速に処理することが可能となる。また、プロトコル処理部２１０が、これらの処理から解放されるため、プロトコル処理部２１０の負荷が軽減され、上述した制御情報（フローエントリ）の設定、変更、削除等のその他のプロトコルに則った処理も高速化される。また、本実施形態によれば、ＬＬＤＰ以外の未知のパケットが受信されると、プロトコル処理部２１０が制御装置１００にＰａｃｋｅｔ−Ｉｎメッセージを送信し、制御装置１００は、Ｐａｃｋｅｔ−Ｏｕｔメッセージで、その他のパケットの出力指示を行うことになるが、追加ヘッダが無い分、オーバーヘッドが少ないという利点がある。
【００６８】
また、上記した実施形態では、ＬＬＤＰパケットを対象とした例を挙げて説明したが、他のプロトコルのパケットにも適用することができる。この場合、そのパケットを特定するマッチ条件を持つ制御情報（フローエントリ）を設定しヘッダを書換えさせ、制御装置１００に対応する動作を行わせることになる。
【００６９】
［第３の実施形態］
続いて、制御装置１００のパケット監視部１２０、Ｐａｃｋｅｔ−Ｉｎ処理部１３０及びＰａｃｋｅｔ−Ｏｕｔ処理部１４０を省略可能とした本発明の第３の実施形態について図面を参照して詳細に説明する。本発明の第３の実施形態は、上記のとおり、制御装置１００の構成を簡略化する代わりに、通信装置２００に、ＴＯＥ（ＴＣＰ／ＩＰ  Ｏｆｆｌｏａｄ  Ｅｎｇｉｎｅ）部を追加し、通信装置がプロトコル処理部を介することなく、制御装置と通信できるようにしたものである。以下、これらの相違点を中心に本発明の第３の実施形態について説明する。
【００７０】
図１３は、本発明の第３の実施形態の通信システムの構成を示す図である。図１３を参照すると、制御装置１００Ａと、通信装置２００Ａとが接続された構成が示されている。
【００７１】
本実施形態の制御装置１００Ａは、ネットワーク制御部１１０を備え、通信装置２００Ａからの要求に応じて制御情報（フローエントリ）を生成し、ネットワーク全体を制御する。このような制御装置１００Ａとしては、非特許文献２のオープンフローコントローラに相当する機器を用いることができる。
【００７２】
通信装置２００Ａは、第１、第２の実施形態と同様のプロトコル処理部２１０と制御情報記憶部２４０のほか、ＴＯＥ部２５０、Ｐａｃｋｅｔ−Ｉｎ処理部２６０及びＰａｃｋｅｔ−Ｏｕｔ処理部２７０を内蔵したパケット処理部２２０Ａとを備えている。
【００７３】
ＴＯＥ部２５０は、プロトコル処理部２１０やＰａｃｋｅｔ−Ｉｎ処理部２６０から渡されたデータのセグメンテーションや結合等のＴＣＰ／ＩＰプロトコルに関する処理を行って制御装置１００Ａと通信する。また、本実施形態のＴＯＥ部２５０は、一般的なＴＣＰ／ＩＰプロトコルに関する処理に加えて、次の処理を実行する。
【００７４】
具体的には、ＴＯＥ部２５０は、パケット受信時に、ＴＣＰ／ＩＰストリーム上の制御メッセージの種別を識別し、制御メッセージの種別に応じて、パケットの転送先を切り替える。具体的には、ＴＯＥ部２５０は、受信パケットから制御メッセージのヘッダを検出し、Ｐａｃｋｅｔ−Ｏｕｔメッセージである場合、当該ＴＣＰ／ＩＰストリームのパケットをＰａｃｋｅｔ−Ｏｕｔ処理部２７０に転送する。
【００７５】
また、ＴＯＥ部２５０は、プロトコル処理部２１０とＰａｃｋｅｔ−Ｉｎ処理部２６０とのそれぞれから送信要求を受けると、両者を調停した後、それぞれから制御メッセージを受け取り、制御装置１００Ａに送信する。
【００７６】
Ｐａｃｋｅｔ−Ｉｎ処理部２６０は、受信パケットに適合する制御情報（フローエントリ）が制御情報記憶部２４０に登録されていない場合や、受診パケットに適合する制御情報（フローエントリ）によってＰａｃｋｅｔ−Ｉｎメッセージの送信が規定されている場合、当該受信パケットの情報を制御装置１００Ａに送信するＰａｃｋｅｔ−Ｉｎメッセージを生成し、ＴＯＥ部２５０に出力する（制御メッセージ生成部）。
【００７７】
Ｐａｃｋｅｔ−Ｏｕｔ処理部２７０は、ＴＯＥ部２５０から、Ｐａｃｋｅｔ−Ｏｕｔメッセージを受け取ると、そのＰａｃｋｅｔ−Ｏｕｔメッセージからパケットを取り出して、Ｐａｃｋｅｔ−Ｏｕｔメッセージにて指定されたポートから出力するパケット送信部として機能する。
【００７８】
また本実施形態のプロトコル処理部２１０は、ＴＯＥ部２５０を介して制御メッセージを制御装置１００Ａに送信する。また、プロトコル処理部２１０は、制御メッセージの受信時もＴＯＥ部２５０を介して、制御メッセージを受信する。
【００７９】
なお、本実施形態においても、パケット処理部２２０Ａ及び制御情報記憶部２４０は、ハードウェア実装部として実現することが望ましい。その他のプロトコル処理部２１０の基本的な動作及び制御情報記憶部２４０の構成は、第１、第２の実施形態と同様であるので説明を省略する。
【００８０】
続いて、本実施形態の動作について図面を参照して詳細に説明する。図１４は、本発明の第３の実施形態の通信システムの動作を説明するための図である。
【００８１】
（Ｐａｃｋｅｔ−Ｉｎ以外の制御メッセージ）
始めに、図１３、図１４を参照して、通信装置２００Ａが、制御装置１００Ａに対し、Ｐａｃｋｅｔ−Ｉｎ以外の制御メッセージを送信するときの流れを説明する。
【００８２】
例えば、通信装置２００Ａのプロトコル処理部２１０が、Ｐａｃｋｅｔ−Ｉｎ以外の制御メッセージを作成すると、ＴＯＥ部２５０に前記生成した制御メッセージを出力する。なお、Ｐａｃｋｅｔ−Ｉｎ以外の制御メッセージとしては、例えば、通信装置２００Ａに制御情報（フローエントリ）を削除したことを知らせるＦｌｏｗＲｅｍｏｖｅメッセージや通信装置２００Ａにポートの状態を知らせるＰｏｒｔ  Ｓｔａｔｕｓメッセージ等がある。
【００８３】
前記制御メッセージを受信したＴＯＥ部２５０は、適切に調停を行って制御メッセージを受け取り、制御チャネルを介して、制御装置１００Ａに送信する（図１４のＳ３００→Ｓ３０１参照）。
【００８４】
その後、制御装置１００Ａは、セキュアチャネルを介して受信したパケットからメッセージを取り出して、メッセージに応じた処理をする。
【００８５】
（Ｐａｃｋｅｔ−Ｉｎメッセージ）
続いて、通信装置２００Ａが、制御装置１００Ａに対し、Ｐａｃｋｅｔ−Ｉｎメッセージを送信するときの流れを説明する。
【００８６】
パケット処理部２２０Ａは、制御情報記憶装置２４０からパケットに対応する制御情報（フローエントリ）の検索の結果、受信パケットに適合する制御情報（フローエントリ）が制御情報記憶部２４０に登録されていない場合や、受診パケットに適合する制御情報（フローエントリ）によってＰａｃｋｅｔ−Ｉｎメッセージの送信が規定されている場合、Ｐａｃｋｅｔ−Ｉｎ処理部２６０に、Ｐａｃｋｅｔ−Ｉｎメッセージの送信を依頼する。
【００８７】
Ｐａｃｋｅｔ−Ｉｎ処理部２６０は、前記パケット処理部２２０Ａが受信したパケットの情報を制御装置１００Ａに送信するＰａｃｋｅｔ−Ｉｎメッセージを生成し、ＴＯＥ部２５０に出力する。
【００８８】
前記Ｐａｃｋｅｔ−Ｉｎメッセージを受信したＴＯＥ部２５０は、適切に調停を行って制御メッセージを受け取り、制御チャネルを介して、制御装置１００Ａに送信する（図１４のＳ３００→Ｓ３０１参照）。
【００８９】
その後、制御装置１００Ａは、セキュアチャネルを介して受信したパケットからＰａｃｋｅｔ−Ｉｎメッセージを取り出して、メッセージに応じた処理をする。
【００９０】
（Ｐａｃｋｅｔ−Ｏｕｔ以外の制御メッセージ）
続いて、制御装置１００Ａが、通信装置２００Ａに対し、Ｐａｃｋｅｔ−Ｏｕｔメッセージ以外の制御メッセージを送信するときの流れを説明する。
【００９１】
制御装置１００Ａは、Ｐａｃｋｅｔ−Ｏｕｔメッセージ以外の制御メッセージを生成すると、通信装置２００Ａに送信する。Ｐａｃｋｅｔ−Ｏｕｔメッセージ以外の制御メッセージとしては、通信装置２００Ａに特定の制御情報（フローエントリ）を送信するＦｌｏｗ−Ｍｏｄメッセージ等の制御メッセージが挙げられる（非特許文献２の「Ａ．３  Ｃｏｎｔｏｒｏｌｌｅｒ−ｔｏ−Ｓｗｉｔｃｈ  Ｍｅｓｓａｇｅｓ」参照）。
【００９２】
通信装置２００Ａは、前記制御メッセージをＴＯＥ部２５０で受信する。ＴＯＥ部２５０は、前記受信した制御メッセージの種別を識別し、制御メッセージの種別に応じて、パケットの転送先を切り替える。具体的には、ＴＯＥ部２５０は、受信パケットから制御メッセージのヘッダを検出し、Ｐａｃｋｅｔ−Ｏｕｔメッセージである場合、一連のパケットをＰａｃｋｅｔ−Ｏｕｔ処理部２７０に転送する。また、受信した制御メッセージが、Ｐａｃｋｅｔ−Ｏｕｔメッセージ以外の制御メッセージである場合、ＴＯＥ部２５０は、一連のパケットをプロトコル処理部２１０に転送する（図１４のＳ３０２→Ｓ３０３参照）。
【００９３】
Ｐａｃｋｅｔ−Ｏｕｔ処理部２７０は、Ｐａｃｋｅｔ−Ｏｕｔメッセージを受け取ると、そのＰａｃｋｅｔ−Ｏｕｔメッセージからパケットを取り出して、Ｐａｃｋｅｔ−Ｏｕｔメッセージにて指定されたポートから出力する。
【００９４】
また、プロトコル処理部２１０は、ＴＯＥ部２５０を介して制御メッセージを受け取ると、その制御メッセージに応じた処理を実行する。例えば、Ｆｌｏｗ−Ｍｏｄメッセージを受信した場合、Ｆｌｏｗ−Ｍｏｄメッセージにて指定された制御情報（フローエントリ）を制御情報記憶部２４０に登録する動作を行う。
【００９５】
以上のように、本実施形態によれば、制御装置側に機能を追加しなくとも、プロトコル処理部２１０を経由しないＰａｃｋｅｔ−Ｉｎメッセージの送出と、Ｐａｃｋｅｔ−Ｏｕｔメッセージの解釈、実行が可能となる。その理由は、ハードウェアで構築されているパケット処理部２２０Ａ内に、Ｐａｃｋｅｔ−Ｉｎ処理部２６０とＰａｃｋｅｔ−Ｏｕｔ処理部２７０とを設けるとともに、ＴＯＥ部２５０を設置して、制御メッセージを分配、調停するように構成したことにある。
【００９６】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成や要素の構成は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
【００９７】
また例えば、上記した第１、第２の実施形態において、通信装置２００が、制御装置１００との接続ポートを代表としてプロキシＡＲＰ（Ｐｒｏｘｙ  Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）動作を行うようにすることも好ましい。上記した第１、第２の実施形態では、Ｐａｃｋｅｔ−Ｉｎメッセージの受信を契機に制御用チャネル上の機器で受信ポートのＭＡＣアドレスの学習が行われている。このため、Ｐａｃｋｅｔ−Ｉｎメッセージが発生しない、あるいは、受信頻度の低いポートでは、該当ポートのＭＡＣアドレスが未学習となり、制御装置１００がＰａｃｋｅｔ−Ｏｕｔメッセージを送信する度にフラッディングが発生してしまう。上記のように通信装置２００がプロキシＡＲＰ動作を行うことで、フラッディングの発生を抑止することが可能となる（第４の実施形態）。
【００９８】
また例えば、上記した第１の実施形態では、ＩＥＥＥ  ８０２．１ａｈに規定されたＭＡＣ  ｉｎ  ＭＡＣを用いてカプセル化を行うものとして説明したが、ＭＡＣ  ｉｎ  ＭＡＣの代わりにＩＰヘッダを付加することでもよい。このようにすることで、制御装置１００と通信装置２００が、同一のレイヤ２ネットワークに接続しなければならないという制約が解消される（第５の実施形態）。
【００９９】
また例えば、上記した第１、第３の実施形態では、通信装置２００がプロトコル処理部２１０を介さずに制御装置１００に送信するパケットのプロトコル種別に制限を設けないものとして説明したが、特定のプロトコル種別のパケットのみ、プロトコル処理部２１０を介さずに制御装置１００に送信する対象としてもよい。上記したように、本発明の適用により、通信装置２００側のボトルネックが解消するが、その半面、Ｐａｃｋｅｔ−Ｉｎメッセージが大量に発生することにより、制御装置１００が過負荷になるケースが起こりうる。第１、第３の実施形態においても、第２の実施形態と同様に、ＬＬＤＰ等特定のプロトコルのパケットのみプロトコル処理部２１０を介さずに制御装置１００に送信し、その他のパケットはプロトコル処理部２１０経由でＰａｃｋｅｔ−Ｉｎメッセージを送信するようにしてもよい（第６の実施形態）。
【０１００】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点による通信装置参照）
［第２の形態］
第１の形態の通信装置において、
前記制御メッセージ転送部は、
前記制御装置に受信パケットの情報を送信する契機となったパケットに、前記制御装置宛の追加ヘッダを付加して送信することにより、前記制御装置に受信パケットの情報を送信する通信装置。
［第３の形態］
第１又は第２の形態の通信装置において、
前記制御メッセージ転送部は、
前記制御装置から、前記パケットの出力ポートを指定した追加ヘッダが付加されたパケットを受信した場合、前記追加ヘッダを削除して前記追加ヘッダにて指定された出力ポートから転送する動作を行う通信装置。
［第４の形態］
第１から３いずれか一の形態の通信装置において、
前記パケット処理部が、
前記制御装置に受信パケットの情報を送信する対象となるパケットを特定するマッチ条件と、該マッチ条件に適合するパケットに適用する処理内容と、を指定した制御情報を保持し、該制御情報に従い受信パケットを処理する制御メッセージ転送部として機能する通信装置。
［第５の形態］
第１から３いずれか一の形態の通信装置において、
前記プロトコル処理部を介さずに、前記送信又は受信パケットに所定の加工を施して前記制御装置と通信する対象のパケット種別が定められている通信装置。
［第６の形態］
第５の形態の通信装置において、
前記所定の加工として、前記パケット種別で用いられていないヘッダ領域の書換えを実行する通信装置。
［第７の形態］
第１の形態の通信装置において、
前記制御メッセージ転送部が、
前記制御装置に受信パケットの情報を送信する対象となるパケットから、前記所定のプロトコルに規定された前記制御装置に受信パケットの情報を送信する制御メッセージを作成する制御メッセージ作成部と、
前記制御メッセージ作成部にて作成された制御メッセージと、前記プロトコル処理部にて生成された制御メッセージとを調停してから送信するＴＯＥ（ＴＣＰ／ＩＰ  Ｏｆｆｌｏａｄ  Ｅｎｇｉｎｅ）部と、を含んで構成されている通信装置。
［第８の形態］
第７の形態の通信装置において、
前記制御メッセージ転送部が、
さらに、前記制御装置からのパケットを指定ポートから送信を指示する制御メッセージに従い、パケットを指定ポートから出力するパケット送信部を含み、
前記ＴＯＥ部は、前記制御装置から受信した制御メッセージが、前記パケットを指定ポートから送信を指示する制御メッセージである場合、前記パケット送信部に前記制御メッセージを送信する通信装置。
［第９の形態］
（上記第２の視点による制御装置参照）
［第１０の形態］
第９の形態の制御装置において、
前記制御メッセージ処理部は、
前記パケットの出力ポートを指定した追加ヘッダを付加して前記通信装置に転送することにより、前記通信装置にパケットを出力させる制御装置。
［第１１の形態］
第９又は第１０の形態の制御装置において、
前記制御メッセージ処理部は、
前記通信装置から、前記所定の加工が施されたパケットを受信した場合、前記パケットに適用する処理内容を決定し、前記通信装置に前記処理内容を実行させる制御情報を送信する制御装置。
［第１２の形態］
（上記第３の視点による通信システム参照）
［第１３の形態］
（上記第４の視点による制御メッセージの送信方法参照）
［第１４の形態］
制御装置と所定のプロトコルに従って制御メッセージを授受するプロトコル処理部を備えた通信装置が、
前記制御装置に受信パケットの情報を送信する制御メッセージを送信する契機となるパケットの受信を契機に、前記パケットから、前記所定のプロトコルに規定された前記制御装置に受信パケットの情報を送信する制御メッセージを作成するステップと、
前記通信装置に、前記プロトコル処理部とは別に設けられたＴＯＥ（ＴＣＰ／ＩＰ  Ｏｆｆｌｏａｄ  Ｅｎｇｉｎｅ）部が、前記制御メッセージ作成部にて作成された所定の制御メッセージと、前記プロトコル処理部にて生成された制御メッセージとを調停してから送信するステップとを含む制御メッセージの送信方法。
なお、上記第１２〜第１４の形態は、第１の形態と同様に、第２〜第８の形態に展開することが可能である。
【０１０１】
なお、上記の非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【０１０２】
１００、１００Ａ  制御装置
１１０  ネットワーク制御部
１２０  パケット監視部
１３０  Ｐａｃｋｅｔ−Ｉｎ処理部
１４０  Ｐａｃｋｅｔ−Ｏｕｔ処理部
２００、２００Ａ  通信装置
２１０  プロトコル処理部
２２０、２２０Ａ  パケット処理部
２３０  制御メッセージ転送部
２４０  制御情報記憶部
２５０  ＴＯＥ部
２６０  Ｐａｃｋｅｔ−Ｉｎ処理部
２７０  Ｐａｃｋｅｔ−Ｏｕｔ処理部
【図１】
2014154958.tif 000003
【図２】
2014154958.tif 000004
【図３】
2014154958.tif 000005
【図４】
2014154958.tif 000006
【図５】
2014154958.tif 000007
【図６】
2014154958.tif 000008
【図７】
2014154958.tif 000009
【図８】
2014154958.tif 000010
【図９】
2014154958.tif 000011
【図１０】
2014154958.tif 000012
【図１１】
2014154958.tif 000013
【図１２】
2014154958.tif 000014
【図１３】
2014154958.tif 000015
【図１４】
2014154958.tif 000016