(57)【特許請求の範囲】
【請求項１】
事前に設定された未知パケット用の第１の処理規則と、制御装置から設定された第２の処理規則とを格納可能な処理規則記憶部と、
前記処理規則記憶部に格納された処理規則に基づいて受信パケットを処理するパケット処理部と、
前記第１の処理規則を用いてパケットを処理した際に、前記制御装置に対して、所定のメッセージを送信する状態通知部とを備え、
前記制御装置から前記第２の処理規則が設定されるまで、前記第１の処理規則を用いてパケット処理を継続する通信装置。
【請求項２】
前記所定のメッセージは、前記制御装置に対して、前記第１の処理規則を用いて処理したパケットに対する第２の処理規則の設定を求める制御メッセージである請求項１の通信装置。
【請求項３】
コントロールプレーンでのパケット転送が許容される所定の条件下において、前記状態通知部は、前記第１、第２の処理規則のいずれにも適合しないパケットを受信した場合、前記制御装置に対して、前記第２の処理規則の設定と、前記パケットの転送指示とを要求する第２の制御メッセージを送信する請求項１または２の通信装置。
【請求項４】
前記状態通知部は、
前記所定のメッセージの送信後、所定の条件が成立するまで、前記第１の処理規則を用いてパケットを処理しても、前記制御装置に対する前記所定の制御メッセージの送信を抑止する請求項１から３いずれか一の通信装置。
【請求項５】
前記所定の条件は、所定時間の経過、所定数以上のパケット受信、及び、所定量以上のデータ量受信のいずれかである請求項４の通信装置。
【請求項６】
前記第１の処理規則は、予め定められた経路で、ブロードキャストまたはマルチキャストを行うための処理規則である請求項１から５いずれか一の通信装置。
【請求項７】
事前に設定された未知パケット用の第１の処理規則と、制御装置から設定された第２の処理規則とを格納可能な処理規則記憶部と、
前記処理規則記憶部に格納された処理規則に基づいて受信パケットを処理するパケット処理部と、
前記第１の処理規則を用いてパケットを処理した際に、前記制御装置に対して、所定の制御メッセージを送信する状態通知部とを備えた通信装置と接続され、
前記所定の制御メッセージを受信すると、前記通信装置に設定する第２の処理規則を作成し、前記通信装置に設定するとともに、前記制御メッセージに含まれるパケットを廃棄する制御装置。
【請求項８】
事前に設定された未知パケット用の第１の処理規則と、制御装置から設定された第２の処理規則とを格納可能な処理規則記憶部と、
前記処理規則記憶部に格納された処理規則に基づいて受信パケットを処理するパケット処理部と、
前記第１の処理規則を用いてパケットを処理した際に、前記制御装置に対して、所定の制御メッセージを送信する状態通知部とを備え、
前記制御装置から前記第２の処理規則が設定されるまで、前記第１の処理規則を用いてパケット処理を継続する通信装置と、
前記通信装置と接続され、
前記所定の制御メッセージを受信すると、前記通信装置に設定する第２の処理規則を作成し、前記通信装置に設定するとともに、前記制御メッセージに含まれるパケットを廃棄する制御装置と、を含む通信システム。
【請求項９】
事前に設定された未知パケット用の第１の処理規則と、制御装置から設定された第２の処理規則とを格納可能な処理規則記憶部と、前記処理規則記憶部に格納された処理規則に基づいて受信パケットを処理するパケット処理部と、を備えた通信装置が、前記第１の処理規則を用いてパケットを処理した際に、前記制御装置に対して、所定の制御メッセージを送信するステップと、
前記制御装置から前記第２の処理規則が設定されるまで、前記第１の処理規則を用いてパケット処理を継続するステップと、を含む通信方法。
【請求項１０】
事前に設定された未知パケット用の第１の処理規則と、制御装置から設定された第２の処理規則とを格納可能な処理規則記憶部と、前記処理規則記憶部に格納された処理規則に基づいて受信パケットを処理するパケット処理部と、前記第１の処理規則を用いてパケットを処理した際に、前記制御装置に対して、所定の制御メッセージを送信する状態通知部とを備えた通信装置と接続された制御装置が、
前記通信装置から、前記所定の制御メッセージを受信すると、前記通信装置に設定する第２の処理規則を作成し、前記通信装置に設定するステップと、
前記制御メッセージに含まれるパケットを廃棄するステップと、を含む通信装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、日本国特許出願：特願２０１２−０７４６５５号（２０１２年  ３月２８日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信装置、制御装置、通信システム、通信方法、通信装置の制御方法及びプログラムに関し、特に、制御装置から設定された制御情報に従ってパケット処理を行う通信装置、制御装置、通信システム、通信装置の制御方法及びプログラムに関する。
【背景技術】
【０００２】
ネットワークの広帯域化に伴い、画像配信など、大量データが扱われるサービスが求められるようになってきている。その要素技術の一つとして非特許文献１、２のオープンフローが挙げられる。オープンフローでは、高速転送可能なスイッチをユーザプレーンに配し、経路情報をオープンフローコントローラから最適に設定することでリーズナブルに高速転送のニーズに応えることを可能にしている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２４（２０１２）年２月１４日検索］、インターネット〈URL: http://www.openflow.org/documents/openflow-wp-latest.pdf〉
【非特許文献２】“ＯｐｅｎＦｌｏｗ  １．２”、［ｏｎｌｉｎｅ］、［平成２４（２０１２）年３月２７日検索］、インターネット〈URL: https://www.opennetworking.org/images/stories/downloads/openflow/openflow-spec-v1.2.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００４】
以下の分析は、本発明によって与えられたものである。非特許文献１、２のオープンフローに代表される集中制御型のネットワークでは、制御装置からの処理規則（オープンフローのフローエントリがこれに相当。）の設定が完了するまでの間は、コントロールプレーンを経由した転送（オープンフロープロトコルのＰａｃｋｅｔ−ｉｎ、Ｐａｃｋｅｔ−ｏｕｔメッセージ）を行う必要がある問題点がある。これにより、バースト的乃至大量のデータが流入してきた場合、入口側の通信装置や制御装置を含むシステム全体の負荷が高まり、パケットロス等が発生する問題もある。【０００５】
また、コントロールプレーンを経由した転送が行われる結果、制御装置からの制御情報の設定前後において、制御装置がコントロールプレーンを経由して転送を指示したパケットと、新規に設定された処理規則により順次転送開始されるパケットとの順序が逆転してしまうという問題点もある。例えば、図９の例では、コントローラからのコントロールプレーンを経由して転送指示（Ｐａｃｋｅｔ−ｏｕｔ；Ｓ２０７）を受信したが、それよりも先に、ステップＳ２０４、Ｓ２０５（Ｆｌｏｗ−ｍｏｄ）で設定されたユニキャスト用フローエントリによる後続パケットのＵｎｉｃａｓｔ（Ｓ２０６）が先に行われている。【０００６】
本発明は、上記した集中制御型のネットワークにおいて、比較的多くのデータが流入してきた際の負荷の低減、また、上記したパケットの到着の順序逆転の抑止に貢献できる通信装置、制御装置、通信システム、通信方法、通信装置の制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の視点によれば、事前に設定された未知パケット用の第１の処理規則と、制御装置から設定された第２の処理規則とを格納可能な処理規則記憶部と、前記処理規則記憶部に格納された処理規則に基づいて受信パケットを処理するパケット処理部と、前記第１の処理規則を用いてパケットを処理した際に、前記制御装置に対して、所定のメッセージを送信する状態通知部とを備え、前記制御装置から前記第２の処理規則が設定されるまで、前記第１の処理規則を用いてパケット処理を継続する通信装置が提供される。【０００８】
第２の視点によれば、上記した通信装置と接続され、前記所定の制御メッセージを受信すると、前記通信装置に設定する第２の処理規則を作成し、前記通信装置に設定するとともに、前記制御メッセージに含まれるパケットを廃棄する制御装置が提供される。【０００９】
第３の視点によれば、上記した通信装置と制御装置と、を含む通信システムが提供される。【００１０】
第４の視点によれば、事前に設定された未知パケット用の第１の処理規則と、制御装置から設定された第２の処理規則とを格納可能な処理規則記憶部と、前記処理規則記憶部に格納された処理規則に基づいて受信パケットを処理するパケット処理部と、を備えた通信装置が、前記第１の処理規則を用いてパケットを処理した際に、前記制御装置に対して、所定の制御メッセージを送信するステップと、前記制御装置から前記第２の処理規則が設定されるまで、前記第１の処理規則を用いてパケット処理を継続するステップと、を含む通信方法が提供される。本方法は、制御装置から処理規則を用いてパケットを処理する通信装置という、特定の機械に結びつけられている。【００１１】
第５の視点によれば、事前に設定された未知パケット用の第１の処理規則と、制御装置から設定された第２の処理規則とを格納可能な処理規則記憶部と、前記処理規則記憶部に格納された処理規則に基づいて受信パケットを処理するパケット処理部と、前記第１の処理規則を用いてパケットを処理した際に、前記制御装置に対して、所定の制御メッセージを送信する状態通知部とを備えた通信装置と接続された制御装置が、前記通信装置から、前記所定の制御メッセージを受信すると、前記通信装置に設定する第２の処理規則を作成し、前記通信装置に設定するステップと、前記制御メッセージに含まれるパケットを廃棄するステップと、を含む通信装置の制御方法が提供される。本方法は、通信装置からの要求に応じて処理規則を設定する制御装置という、特定の機械に結びつけられている。【００１２】
第６の視点によれば、上記した通信装置及び制御装置において、それぞれ実行させるコンピュータプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な（非トランジエントな）記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１３】
本発明によれば、集中制御型のネットワークにおいて、大量のデータが流入してきた際の各機器の負荷の低減、また、パケットの送信の順序逆転の抑止に貢献することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態の構成を示す図である。
【図２】本発明の一実施形態の動作を説明するための図である。
【図３】本発明の第１の実施形態の通信システムの構成を示す図である。
【図４】本発明の第１の実施形態のスイッチの構成を示す図である。
【図５】本発明の第１の実施形態の通信装置に保持されるフローテーブルの一例である。
【図６】本発明の第１の実施形態の動作を表わしたシーケンス図である。
【図７】図６の続図である。
【図８】本発明の第２の実施形態の動作を表わしたシーケンス図である。
【図９】比較例として示す非特許文献１、２のスイッチ−コントローラ間の動作を表わしたシーケンス図である。
【発明を実施するための形態】
【００１５】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００１６】
本発明は、その一実施形態において、図１に示すように、１台以上の通信装置１０Ａと、この通信装置１０Ａを制御する制御装置２０Ａとを含む構成にて実現できる。より具体的には、この通信装置１０Ａは、事前に設定された未知パケット用の第１の処理規則と、制御装置から設定された第２の処理規則とを格納可能な処理規則記憶部１１Ａと、前記処理規則記憶部に格納された処理規則に基づいて受信パケットを処理するパケット処理部１２Ａと、前記第１の処理規則を用いてパケットを処理した際に、前記制御装置２０Ａに対して、所定のメッセージを送信する状態通知部１３Ａとを備える。そして、この通信装置１０Ａは、制御装置２０Ａから第２の処理規則が設定されるまで、第１の処理規則を用いてパケット処理を継続する。
【００１７】
一方、前記制御装置２０Ａは、通信装置１０Ａから、前記所定の制御メッセージを受信すると、この通信装置１０Ａに設定する第２の処理規則を作成し、通信装置１０Ａに設定する。なお、前記制御装置２０Ａは、非特許文献１、２で行われていた通信装置１０Ａに対するパケット送信指示は行わずに、前記制御メッセージに含まれるパケットを廃棄する（即ち、コントロールプレーンを経由するパケット転送動作を行わない。）。
【００１８】
以上のように構成することで、大量のデータが流入してきても、第１の処理規則にて処理が行われるため、制御装置２０Ａが過負荷になることはない。また、制御装置２０Ａによる第２の処理規則の設定後は、図２に示すように、既知パケットとして第２の処理規則による処理に切り替えられるため、パケットの送信順序が逆転することもない。
【００１９】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図３は、本発明の第１の実施形態の通信システムの構成を示す図である。図３を参照すると、相互に接続されたスイッチ１０−１〜１０−３と、これらスイッチ１０−１〜１０−３を制御するコントローラ２０と、を含む通信システムが示されている。また、図３のサーバ３０、クライアント４０は、それぞれスイッチ１０−１、１０−３を介して通信することが可能となっている。なお、図３の実線は、ネットワーク接続関係を示し、破線は、コントローラ２０とスイッチ間の制御用のチャネルを表している。
【００２０】
図４は、本発明の第１の実施形態のスイッチ１０−１の構成を示す図である。図４を参照すると、スイッチ１０−１にフローエントリを設定することによりスイッチ１０−１を制御するコントローラ２０と、コントローラ２０から設定されたフローエントリの中から、受信パケットに適合するマッチフィールドを持つフローエントリを検索してパケット処理を行うスイッチ１０−１と、が示されている。
【００２１】
スイッチ１０−１は、フローエントリを記憶するフローエントリ記憶部１１（上記処理規則記憶部１１Ａに相当）と、フローエントリ記憶部１１に格納されたフローエントリに従い受信パケットを処理するパケット処理部１２（上記パケット処理部１２Ａに相当）と、前記パケット処理部１２において、受信パケットがＵｎｋｎｏｗｎ  Ｕｎｉｃａｓｔ用フローエントリにヒットし、転送が行われた場合に、コントローラ２０にその旨の制御メッセージを送信するコントローラ通信部１３（上記状態通知部１３Ａに相当）とを備えている。
【００２２】
図５は、フローエントリ記憶部１１に記憶されるフローエントリ格納テーブル（フローテーブル）の一例を示す図である。図中のＰｒｉｏｒｉｔｙフィールドは、各フローエントリの優先度を示す。図５の例では、Ｐｒｉｏｒｉｔｙ＝６５５３５、Ｐｒｉｏｒｉｔｙ＝６００００、Ｐｒｉｏｒｉｔｙ＝ａ（但し、ａ＜６００００）の３つのフローエントリが登録されている例を示している。この中では、Ｐｒｉｏｒｉｔｙ＝６５５３５のフローエントリが最優先のフローエントリとなる。
【００２３】
また、図５の検索条件フィールドは、受信パケットと照合するマッチフィールドの情報が格納される。図中「Ｅｘａｃｔ」が指定されているフローエントリは、受信パケットのヘッダ等とＥｘａｃｔ  Ｍａｔｃｈｉｎｇによる照合が行われる。また、ｄｌ＿ｄｅｓｔ＝X．X．X．Xが指定されているフローエントリの場合、受信パケットのデータリンク層アドレス、即ち、宛先ＭＡＣマックアドレスがX．X．X．Xである場合、ヒットとなる。また、Ｉｎ＿ｐｏｒｔ＝０／ｂｂが指定されているフローエントリの場合、ポート０／ｂｂから入力されたパケットである場合、ヒットとなる。
【００２４】
また、図５のアクションフィールドは、検索条件フィールドに示す条件にマッチした場合に受信パケットに適用される処理内容を示している。例えば、Ｐｒｉｏｒｉｔｙ＝６５５３５のフローエントリにヒットしたパケットの場合、ポート０／ｃｃから転送する処理が行われる（即ち、スイッチ１０−２に転送される）。また例えば、Ｐｒｉｏｒｉｔｙ＝６００００のフローエントリにヒットしたパケットの場合、ポート０／ｄｄから転送する処理が行われる（即ち、スイッチ１０−３に転送される）。また例えば、Ｐｒｉｏｒｉｔｙ＝ａのフローエントリにヒットしたパケットの場合、ポート０／ｃｃおよびポート０／ｄｄから転送するフラッディング処理（非特許文献２の「４．５  Ｒｅｓｅｒｖｅｄ  ｐｏｒｔｓ」のＦＬＯＯＤ参照）とコントローラ２０に新規パケット受信を通知するＰａｃｋｅｔ−ｉｎメッセージ（転送済み）の送信が行われる（即ち、スイッチ１０−２、１０−３に転送される）。Ｐａｃｋｅｔ−ｉｎメッセージ（転送済み）とは、非特許文献１、２に記載のＰａｃｋｅｔ−ｉｎメッセージと異なり、少なくともコントローラ２０が、当該受信パケットの転送が済んでいること、即ち、コントロールプレーンでの受信パケットの出力指示が不要であることを通知する識別子等が付与された制御メッセージである。
【００２５】
以下の説明では、Ｐｒｉｏｒｉｔｙ＝６５５３５のフローエントリと、Ｐｒｉｏｒｉｔｙ＝６００００のフローエントリがコントローラ２０により設定されたフローエントリ（第２処理規則）であるものとする。また、Ｐｒｉｏｒｉｔｙ＝ａのフローエントリが、事前に設定されたＵｎｋｎｏｗｎ  Ｕｎｉｃａｓｔ用フローエントリ（未知パケット用のフローエントリ）であるものとする。従って、スイッチ１０−１は、パケットを受信すると、図５のフローテーブルの優先度順に、フローエントリと受信パケットとの照合を行っていき、Ｐｒｉｏｒｉｔｙ＝６５５３５のフローエントリまたはＰｒｉｏｒｉｔｙ＝６００００のフローエントリにヒットした場合、各フローエントリのアクションフィールドに定められた処理を行う。一方、Ｐｒｉｏｒｉｔｙ＝６５５３５のフローエントリ及びＰｒｉｏｒｉｔｙ＝６００００のフローエントリのいずれにもヒットしなかったパケットについては、Ｕｎｋｎｏｗｎ  Ｕｎｉｃａｓｔ用フローエントリ（未知パケット用のフローエントリ）に従ってフラッディング処理とコントローラ２０へのＰａｃｋｅｔ−ｉｎメッセージ（転送済み）の送信を行うことになる。
【００２６】
このようなスイッチ１０−１は、非特許文献１、２のオープンフロースイッチに、上記低優先で、ヒット時にフラッディング処理とコントローラ２０へのＰａｃｋｅｔ−ｉｎメッセージ（転送済み）の送信を行うＵｎｋｎｏｗｎ  Ｕｎｉｃａｓｔ用フローエントリ（未知パケット用のフローエントリ）を設定することで実現できる。なお、スイッチ１０−２、１０−３は、上記スイッチ１０−１と同様の構成（フローエントリ記憶部の内容（対象フロー、実行アクションなど）は適宜異なる。）であるため、説明を省略する。
【００２７】
図３、図４のコントローラ２０は、非特許文献１、２のオープンフローコントローラに、Ｐａｃｋｅｔ−ｉｎメッセージ（転送済み）を受信した場合に、経路計算やフローエントリの設定動作を行うが、スイッチ（以下、スイッチを特に区別しない場合、「スイッチ１０」と記す。）に対するパケット出力指示を行わず、Ｐａｃｋｅｔ−ｉｎメッセージ（転送済み）に含まれるパケットを廃棄する機能を追加することで実現可能である。
【００２８】
なお、図３、図４に示したスイッチ１０及びコントローラ２０の機能は、これらの装置に搭載されたコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００２９】
続いて、本実施形態の動作について図面を参照して詳細に説明する。以下の説明では、図３のサーバ３０からクライアント４０にデータが送信される例を挙げて説明する。また、初期状態では、図５のフローテーブルには、Ｐｒｉｏｒｉｔｙ＝ａ（但し、ａはコントローラ２０から設定されるフローエントリのＰｒｉｏｒｉｔｙよりも小さい値が設定される）のＵｎｋｎｏｗｎ  Ｕｎｉｃａｓｔ用フローエントリだけが設定されているものとする。
【００３０】
図６は、本発明の第１の実施形態の動作を表わしたシーケンス図である。図６に示すように、まず、サーバ３０からクライアント４０に対し最初のパケットが送信されると（図６のＳ００１）、スイッチ１０−１のポート０／ｂｂにて受信される。
【００３１】
スイッチ１０−１は、フローエントリ記憶部１１から、サーバ３０から受信したパケットに適合するマッチ条件（検索条件）を持つフローエントリを検索する。この時点では、Ｐｒｉｏｒｉｔｙ＝６５５３５のフローエントリとＰｒｉｏｒｉｔｙ＝６００００のフローエントリは設定されていないため、Ｐｒｉｏｒｉｔｙ＝ａのフローエントリにヒットする（図６のＳ００２）。この場合、スイッチ１０−１は、Ｐｒｉｏｒｉｔｙ＝ａのフローエントリ（Ｕｎｋｎｏｗｎ  Ｕｎｉｃａｓｔ用フローエントリ）のアクションフィールドの内容に従い、フラッディング処理（図６のＳ００３）と、Ｐａｃｋｅｔ−ｉｎ（転送済み）の送信（図６のＳ００４）を行う。
【００３２】
なお、図６では、省略しているが、スイッチ１０−２においても同様の処理が行われ、サーバ３０から送信されたパケットは、スイッチ１０−２を介してクライアント４０に転送される。
【００３３】
一方、制御メッセージＰａｃｋｅｔ−ｉｎ（転送済み）を受信したコントローラ２０は、通常のＰａｃｋｅｔ−ｉｎではなく、Ｐａｃｋｅｔ−ｉｎ（転送済み）であることを認識し、経路の計算やフローエントリの作成を開始するが、Ｐａｃｋｅｔ−ｉｎ（転送済み）に含まれるパケットやパケット情報を用いたパケット出力指示（Ｐａｃｋｅｔ−ｏｕｔ）は行わない（図６のＳ００５）。
【００３４】
以降、スイッチ１０−１は、サーバ３０からパケットを受信すると、Ｐｒｉｏｒｉｔｙ＝ａのフローエントリ（Ｕｎｋｎｏｗｎ  Ｕｎｉｃａｓｔ用フローエントリ）のアクションフィールドの内容に従い、フラッディング処理（図６のＳ００３）と、Ｐａｃｋｅｔ−ｉｎ（転送済み）の送信（図６のＳ００４）を継続する。
【００３５】
その後、図７に示すように、コントローラ２０は、Ｕｎｉｃａｓｔ用フローエントリ（ＵＣフローエントリ）を作成すると（図７のＳ１０３）、スイッチ１０−１とスイッチ１０−２に対し、作成したＵｎｉｃａｓｔ用フローエントリ（ＵＣフローエントリ）を設定する（図７のＳ１０４；Ｆｌｏｗ−ｍｏｄ）。
【００３６】
Ｕｎｉｃａｓｔ用フローエントリ（ＵＣフローエントリ）の設定が完了、以降、スイッチ１０−１、１０−２は、サーバ３０からパケットを受信すると、Ｕｎｉｃａｓｔ用フローエントリ（ＵＣフローエントリ）に従って、ユニキャスト転送を行う（図７のＳ１０５）。
【００３７】
以上のように、本実施形態によれば、スイッチ１０およびコントローラ２０の処理性能を超えたパケットが発生しても、パケットの順序逆転やパケットロスの発生も有効に抑止されている。その理由は、事前に設定されたＵｎｋｎｏｗｎ  Ｕｎｉｃａｓｔ用フローエントリにより、フラッディングとコントローラに対するＰａｃｋｅｔ−ｉｎ（転送済み）の送信だけを行っておき、コントローラからのコントロールプレーンを介したパケット送信指示、これに伴うパケット出力処理を抑止するように構成したためである。
【００３８】
［第２の実施形態］
続いて、上記スイッチ１０に機能を追加し、Ｐａｃｋｅｔ−ｉｎ（転送済み）の送信自体の抑制するようにした本発明の第２の実施形態について説明する。本実施形態は、上記した第１の実施形態と同様の構成にて実現できるので、以下、その動作の相違点を中心に説明する。
【００３９】
図８は、本発明の第２の実施形態の動作を表わしたシーケンス図である。スイッチ１０及びコントローラ２０の基本的な動作は第１の実施形態と同様であるが、図８の左端に示すように、スイッチ１０は、１回目の制御メッセージＰａｃｋｅｔ−ｉｎ（転送済み）の送信後、所定期間、２回目以降の制御メッセージＰａｃｋｅｔ−ｉｎ（転送済み）の送信を抑止する点である。なお、前記所定の期間は、システムの規模や想定されるフローの種類等から算出することができる。
【００４０】
具体的には、スイッチ１０−１は、初回のパケット受信時に、Ｐｒｉｏｒｉｔｙ＝ａのフローエントリ（Ｕｎｋｎｏｗｎ  Ｕｎｉｃａｓｔ用フローエントリ）のアクションフィールドの内容に従い、フラッディング処理（図８のＳ００３）と、Ｐａｃｋｅｔ−ｉｎ（転送済み）の送信（図８のＳ００４）を行う。しかし、その後、所定の期間が経過するまで、後続パケットを受信しても、フラッディング処理（図８のＳ００３）は行うが、Ｐａｃｋｅｔ−ｉｎ（転送済み）の送信（図８のＳ００４）を休止する。
【００４１】
そして、前記所定の期間が経過すると、スイッチ１０は、フラッディング処理（図８のＳ００３）と、Ｐａｃｋｅｔ−ｉｎ（転送済み）の送信（図８のＳ００４）を行なう。以降また、所定期間が経過するまで、データの転送は行っても、Ｐａｃｋｅｔ−ｉｎ（転送済み）の送信を休止する。
【００４２】
以上のように、本実施形態によれば、第１の実施形態よりもさらに、スイッチ１０とコントローラ２０の負荷増大を抑えることができる。また、本実施形態によれば、Ｐａｃｋｅｔ−ｉｎ（転送済み）の送信間隔を調整できるようになるため、リソース（メモリ、ＣＰＵなど）を節約することも可能となる。
【００４３】
なお、上記した実施形態では、１回目の制御メッセージＰａｃｋｅｔ−ｉｎ（転送済み）の送信後、所定期間、２回目以降の制御メッセージＰａｃｋｅｔ−ｉｎ（転送済み）の送信を抑止するものとして説明したが、所定期間に代えて、制御メッセージＰａｃｋｅｔ−ｉｎ（転送済み）の対象となるパケットの受信回数やデータ量などを用いてもよい。この場合、スイッチ１０は、制御メッセージＰａｃｋｅｔ−ｉｎ（転送済み）の送信後、パケット受信回数やデータ量が所定のしきい値を超えるまでは、制御メッセージＰａｃｋｅｔ−ｉｎ（転送済み）を抑止する。その後、パケット受信回数やデータ量が所定のしきい値を超えると、スイッチ１０は、これらの値をリセットし、制御メッセージＰａｃｋｅｔ−ｉｎ（転送済み）を送信することになる。なお、パケット受信回数やデータ量は、非特許文献１、２に記載されているフローエントリと同様に、フロー統計情報フィールド（Ｃｏｕｎｔｅｒ）を設けることで実装することができる。
【００４４】
以上、本発明の実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した実施形態では、特に限定しなかったが、本発明の上記した利点に鑑みれば、データセンタ用途のほか、順序制御、パケットロスの影響が大きい画像配信サービスやＴＶ電話サービスに好適に適用できる。
【００４５】
また、上記した実施形態ではフラッディング処理を行うものとして説明したが、ネットワークトポロジーを考慮して通信の発生が見込まれるエンドツーエンドの経路を計算しておき、これらの経路に従ってパケット転送を行うようなフローエントリを設定することもできる。
【００４６】
また、上記した実施形態では省略したが、接続先のセキュリティレベル（認証状況等）に応じて、フラッディング処理を許容するか否かや、フラッディングの対象範囲を限定する（ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）パケットに限定等）ようにしてもよい。これらは、コントローラ２０から、Ｕｎｋｎｏｗｎ  Ｕｎｉｃａｓｔ用フローエントリ（未知パケット用フローエントリ）のマッチ条件（検索条件）を書き換えることで実現可能である。これにより、接続先やその状態に応じた制御の切り替え等が可能となる。
【００４７】
また、上記した第１の実施形態や第２の実施形態では、コントローラ２０がスイッチ１０を制御するものとして説明したが、上記したフローエントリを保持し、その内容に従って、受信パケットや搭載アプリケーションからのパケットを処理する携帯電話端末、スマートフォン、タブレット端末、パーソナルコンピュータ、ゲーム機器、モバイルルータなどの通信装置も、制御対象とすることができる。これにより例えば、これらの機器の内部のパケット処理部からのパケットによる負荷増大やパケットの順序逆転等を抑止することができる。
【００４８】
また、上記した第１の実施形態や第２の実施形態は、常時実施するのではなく、統計的に把握されるトラヒック量や時間帯等を考慮して実施することも好ましい。例えば、ネットワークの監視レベルが落ちる夜間、休日などには、非特許文献１、２のようなコントロールプレーンでのパケット転送を許容する制御を行ない、大容量データの通信が発生する時間帯や、大容量データ通信に見合った監視を強化できる状況下で、第１の実施形態や第２の実施形態のような動作を行うようにしてもよい。
【００４９】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点による通信装置参照）
［第２の形態］
第１の形態の通信装置において、
前記所定のメッセージは、前記制御装置に対して、前記第１の処理規則を用いて処理したパケットに対する第２の処理規則の設定を求める制御メッセージである通信装置。
［第３の形態］
第１又は第２の形態の通信装置において、
前記状態通知部は、前記第１、第２の処理規則のいずれにも適合しないパケットを受信した場合、前記制御装置に対して、前記第２の処理規則の設定と、前記パケットの転送指示とを要求する第２の制御メッセージを送信する通信装置。
［第４の形態］
第１から第３いずれか一の形態の通信装置において、
前記状態通知部は、
前記所定のメッセージの送信後、所定の条件が成立するまで、前記第１の処理規則を用いてパケットを処理しても、前記制御装置に対する前記所定の制御メッセージの送信を抑止する通信装置。
［第５の形態］
第４の形態の通信装置において、
前記所定の条件は、所定時間の経過、所定数以上のパケット受信、及び、所定量以上のデータ量受信のいずれかである通信装置。
［第６の形態］
第１から第５いずれか一の形態の通信装置において、
前記第１の処理規則は、予め定められた経路で、ブロードキャストまたはマルチキャストを行うための処理規則である通信装置。
［第７の形態］
（上記第２の視点による制御装置参照）
［第８の形態］
（上記第３の視点による通信システム参照）
［第９の形態］
（上記第４の視点による通信方法参照）
［第１０の形態］
（上記第５の視点による通信装置の制御方法参照）
［第１１の形態］
事前に設定された未知パケット用の第１の処理規則と、制御装置から設定された第２の処理規則とを格納可能な処理規則記憶部と、前記処理規則記憶部に格納された処理規則に基づいて受信パケットを処理するパケット処理部と、を備えた通信装置に搭載されたコンピュータに、
前記第１の処理規則を用いてパケットを処理した際に、前記制御装置に対して、所定の制御メッセージを送信する処理と、
前記制御装置から前記第２の処理規則が設定されるまで、前記第１の処理規則を用いてパケット処理を継続する処理と、を実行させるプログラム。
［第１２の形態］
事前に設定された未知パケット用の第１の処理規則と、制御装置から設定された第２の処理規則とを格納可能な処理規則記憶部と、前記処理規則記憶部に格納された処理規則に基づいて受信パケットを処理するパケット処理部と、前記第１の処理規則を用いてパケットを処理した際に、前記制御装置に対して、所定の制御メッセージを送信する状態通知部とを備えた通信装置と接続された制御装置に搭載されたコンピュータに、
前記通信装置から、前記所定の制御メッセージを受信すると、前記通信装置に設定する第２の処理規則を作成し、前記通信装置に設定する処理と、
前記制御メッセージに含まれるパケットを廃棄する処理と、を実行させるプログラム。
なお、上記第７〜第１２の形態は、第１の形態と同様に、第２〜第６の形態に展開することが可能である。
【００５０】
なお、上記の非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００５１】
１０−１〜１０−３  スイッチ
１０Ａ  通信装置
１１  フローエントリ記憶部
１１Ａ  処理規則記憶部
１２、１２Ａ  パケット処理部
１３  コントローラ通信部
１３Ａ  状態通知部
２０  コントローラ
２０Ａ  制御装置
３０  サーバ
４０  クライアント
【図１】
0006052284.tif 000002
【図２】
0006052284.tif 000003
【図３】
0006052284.tif 000004
【図４】
0006052284.tif 000005
【図５】
0006052284.tif 000006
【図６】
0006052284.tif 000007
【図７】
0006052284.tif 000008
【図８】
0006052284.tif 000009
【図９】
0006052284.tif 000010