(57)【要約】  本発明は、集中制御型の通信システムにおいて大量のパケット通信や細粒度のアクセス制御に好適な構成を提供する。通信システムは、転送ノードに制御情報を設定する制御装置と、転送ノードと、アクセス制御装置と、を含む。前記転送ノードは、前記制御装置から設定された第１の制御情報と、前記制御装置から設定された前記第１の制御情報のマッチ条件に適合しないパケットを所定のポートから転送する第２の制御情報とを用いてパケットを転送する。前記アクセス制御装置は、前記転送ノードの前記所定のポートから転送されたパケットについて制御情報の生成要否を判定し、前記制御装置に対し、制御情報の生成を要求する判定部を備える。
2013164988.tif 000002
【特許請求の範囲】
【請求項１】
転送ノードに制御情報を設定する制御装置と、
前記制御装置から設定された第１の制御情報と、前記制御装置から設定された前記第１の制御情報のマッチ条件に適合しないパケットを所定のポートから転送する第２の制御情報とを用いてパケットを転送する転送ノードと、
前記転送ノードの前記所定のポートから転送されたパケットについて制御情報の生成要否を判定し、前記制御装置に対し、制御情報の生成を要求する判定部を備えたアクセス制御装置と、
を含む通信システム。
【請求項２】
前記アクセス制御装置は、さらに、
前記転送ノードの前記所定のポートから転送されたパケットから、前記判定部に送信する制御対象パケットを抽出する制御対象パケット抽出部を備える請求項１の通信システム。
【請求項３】
前記転送ノードは、さらに、
前記所定のポートから転送するパケットに、前記アクセス制御装置への転送用のヘッダを付加するヘッダ付加処理部を備える請求項１又は２の通信システム。
【請求項４】
前記アクセス制御装置が複数配置され、
前記第２の制御情報として、前記複数のアクセス制御装置への振り分けを行う複数の制御情報が設定されている請求項１から３いずれか一の通信システム。
【請求項５】
前記判定部は、所定のアクセスポリシに基づいて、制御情報の生成要否を判定する請求項１から４いずれか一の通信システム。
【請求項６】
前記判定部は、前記転送ノードの前記所定のポートから転送されたパケットが所定の特徴を有する場合、前記制御装置に対し、前記転送ノードに前記特徴を有するパケットの破棄を実行させる制御情報の生成を要求する請求項１から６いずれか一の通信システム。
【請求項７】
前記制御対象パケット抽出部が、前記制御装置から制御される第２の転送ノードで構成されている請求項２から６いずれか一の通信システム。
【請求項８】
転送ノードに制御情報を設定する制御装置と、
前記制御装置から設定された第１の制御情報と、前記制御装置から設定された前記第１の制御情報のマッチ条件に適合しないパケットを所定のポートから転送する第２の制御情報とを用いてパケットを転送する転送ノードと、を含む通信システムに配置され、
前記転送ノードの前記所定のポートから転送されたパケットについて制御情報の生成要否を判定し、前記制御装置に対し、制御情報の生成を要求する判定部を備えたアクセス制御装置。
【請求項９】
転送ノードに制御情報を設定する制御装置と、接続され、
前記制御装置から設定された第１の制御情報と、前記制御装置から設定された前記第１の制御情報のマッチ条件に適合しないパケットを所定のポートから転送する第２の制御情報とが設定され、
前記第２の制御情報のマッチ条件に適合するパケットを受信した場合、所定のヘッダを付加してからパケットを転送する転送ノード。
【請求項１０】
制御装置から設定された第１の制御情報と、前記制御装置から設定された前記第１の制御情報のマッチ条件に適合しないパケットを所定のポートから転送する第２の制御情報とを用いてパケットを転送する転送ノードから、前記第２の制御情報によって転送されたパケットについて制御情報の生成要否を判定するステップと、
前記判定結果に基づいて、前記制御装置に対し、制御情報の生成を要求するステップと、を含むネットワーク制御方法。
【請求項１１】
転送ノードに制御情報を設定する制御装置と、
前記制御装置から設定された第１の制御情報と、前記制御装置から設定された前記第１の制御情報のマッチ条件に適合しないパケットを所定のポートから転送する第２の制御情報とを用いてパケットを転送する転送ノードと、を含む通信システムに配置されたコンピュータに、
前記転送ノードの前記所定のポートから転送されたパケットについて制御情報の生成要否を判定する処理と、
前記判定結果に基づいて、前記制御装置に対し、制御情報の生成を要求する処理とを実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願についての記載）
本発明は、日本国特許出願：特願２０１２−１０４６６４号（２０１２年５月１日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。【０００２】
本発明は、通信システム、アクセス制御装置、スイッチ、ネットワーク制御方法及びプログラムに関し、特に、スイッチを集中制御するコントローラを有する通信システム、アクセス制御装置、スイッチ、ネットワーク制御方法及びプログラムに関する。
【背景技術】
【０００３】
近年、オープンフロー（ＯｐｅｎＦｌｏｗ）というネットワークが注目を浴びている（特許文献１、非特許文献１、２参照）。オープンフローは、オープンフローコントローラと呼ばれる制御装置が、オープンフロースイッチと呼ばれるスイッチの振る舞いを制御する集中制御型のネットワークアーキテクチャを採用している。より具体的には、オープンフローコントローラは、オープンフロースイッチに、入力ポート、レイヤ２〜レイヤ４のヘッダを指定したマッチ条件と処理内容を規定したフローエントリを設定することにより、きめ細かな経路制御を行うことが可能となっている。【０００４】
その他、ネットワークシステムにおいて、セキュリティやサービス品質などを一元管理するために、ネットワーク管理システム（ＮＭＳ）やポリシーサーバが用いられている。【０００５】
特許文献１には、ネットワークマネージャによって集中管理されるネットワークにおける管理方法が開示されている。同文献の段落００３１〜００３２には、ネットワーク内のスイッチが上記したオープンフローのスイッチと同様に動作することが記載されている。また、同段落末文には、多数のフローヘッダエントリとマッチしているパケットが最も高いプライオリティのフローエントリに割り当てられる、即ち、ロンゲストマッチのようなルールを用いうることが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２０１０−５４１４２６号公報
【非特許文献】
【０００７】
【非特許文献１】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２４（２０１２）年３月１４日検索］、インターネット〈URL: http://www.openflow.org/documents/openflow-wp-latest.pdf〉
【非特許文献２】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”  Ｖｅｒｓｉｏｎ  １．１．０  Ｉｍｐｌｅｍｅｎｔｅｄ  （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０２）、［ｏｎｌｉｎｅ］、［平成２４（２０１２）年３月１４日検索］、インターネット〈URL:http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００８】
以下の分析は、本発明によって与えられたものである。非特許文献１、２のオープンフローに代表される集中制御型の通信システムでは、大量のパケット通信や細粒度のアクセス制御を行う場合、機器を集中制御する制御装置（非特許文献１、２のオープンフローコントローラに相当）への問い合わせが増え、負荷が増大してしまうという問題点がある。また、制御装置によって制御される転送ノード（非特許文献１、２のオープンフロースイッチや特許文献１のネットワークエレメントに相当）の方も、保持可能なフローエントリの数やＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の処理性能に制約がある。加えて、受信したパケットに適合するフローエントリが無い場合、制御装置との通信を行う必要があるため、大量のパケット受信や細粒度のアクセス制御を行うと本来の性能を発揮できない状況が起こりうる。【０００９】
とりわけ、スイッチと制御装置間のセキュアチャネルに、ＴＬＳ／ＳＳＬ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ／Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ）を用いると、上記傾向は顕著となり、パケット遅延等も起こりうる。【００１０】
これらの対策としては、制御装置を複数用意することによる負荷分散等が検討されている。しかしながら、制御対象の転送ノードの数、これらの転送ノードに接続する端末数、各端末が取り扱うサービスの種類が増えれば、これらの大量の処理対象パケットに対応するフローエントリが必要となり、制御装置への問い合わせが飛躍的に増加することは避けられない。このため、根本的な対策が望まれている。【００１１】
本発明は、大量のパケット通信や細粒度のアクセス制御を行う場合であっても、制御装置やスイッチの負荷増大を抑え、その本来の性能を発揮できるようにすることのできる通信システム、アクセス制御装置、転送ノード、ネットワーク制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
第１の視点によれば、転送ノードに制御情報を設定する制御装置と、前記制御装置から設定された第１の制御情報と、前記制御装置から設定された前記第１の制御情報のマッチ条件に適合しないパケットを所定のポートから転送する第２の制御情報とを用いてパケットを転送する転送ノードと、前記転送ノードの前記所定のポートから転送されたパケットについて制御情報の生成要否を判定し、前記制御装置に対し、制御情報の生成を要求する判定部を備えたアクセス制御装置と、を含む通信システムが提供される。【００１３】
第２の視点によれば、転送ノードに制御情報を設定する制御装置と、前記制御装置から設定された第１の制御情報と、前記制御装置から設定された前記第１の制御情報のマッチ条件に適合しないパケットを所定のポートから転送する第２の制御情報とを用いてパケットを転送する転送ノードと、を含む通信システムに配置され、前記転送ノードの前記所定のポートから転送されたパケットについて制御情報の生成要否を判定し、前記制御装置に対し、制御情報の生成を要求する判定部を備えたアクセス制御装置が提供される。【００１４】
第３の視点によれば、転送ノードに制御情報を設定する制御装置と、接続され、前記制御装置から設定された第１の制御情報と、前記制御装置から設定された前記第１の制御情報のマッチ条件に適合しないパケットを所定のポートから転送する第２の制御情報とが設定され、前記第２の制御情報のマッチ条件に適合するパケットを受信した場合、所定のヘッダを付加してからパケットを転送する転送ノードが提供される。【００１５】
第４の視点によれば、制御装置から設定された第１の制御情報と、前記制御装置から設定された前記第１の制御情報のマッチ条件に適合しないパケットを所定のポートから転送する第２の制御情報とを用いてパケットを転送する転送ノードから、前記第２の制御情報によって転送されたパケットについて制御情報の生成要否を判定するステップと、前記判定結果に基づいて、前記制御装置に対し、制御情報の生成を要求するステップと、を含むネットワーク制御方法が提供される。本方法は、転送ノードからのパケットを受信して制御情報の生成要否を判断するコンピュータという、特定の機械に結びつけられている。【００１６】
第５の視点によれば、転送ノードに制御情報を設定する制御装置と、前記制御装置から設定された第１の制御情報と、前記制御装置から設定された前記第１の制御情報のマッチ条件に適合しないパケットを所定のポートから転送する第２の制御情報とを用いてパケットを転送する転送ノードと、を含む通信システムに配置されたコンピュータに、前記転送ノードの前記所定のポートから転送されたパケットについて制御情報の生成要否を判定する処理と、前記判定結果に基づいて、前記制御装置に対し、制御情報の生成を要求する処理とを実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な（非トランジエントな）記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１７】
本発明によれば、大量のパケット通信や細粒度のアクセス制御を行う場合であっても、制御装置やスイッチの負荷増大を抑え、その本来の性能を発揮できるようにすることが可能となる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態の構成を示す図である。
【図２】本発明の第１の実施形態の通信システムの構成を示す図である。
【図３】本発明の第１の実施形態のスイッチの構成を示す図である。
【図４】本発明の第１の実施形態のスイッチに設定されているフローエントリ（第２の制御情報）の例である。
【図５】本発明の第１の実施形態のコントローラが保持するアクセスポリシの一例である。
【図６】本発明の第１の実施形態の動作を表したシーケンス図である。
【図７】図６のステップＳ０８の時点で、本発明の第１の実施形態のスイッチに設定されているフローエントリの例である。
【図８】図２にパケット転送経路を追記した図である。
【図９】本発明の第２の実施形態の通信システムの構成を示す図である。
【図１０】本発明の第２の実施形態のスイッチに設定されているフローエントリ（第２の制御情報）の例である。
【図１１】本発明の第３の実施形態の通信システムの構成を示す図である。
【図１２】本発明の第３の実施形態のスイッチの構成を示す図である。
【図１３】本発明の第４の実施形態の通信システムの構成を示す図である。
【発明を実施するための形態】
【００１９】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００２０】
本発明は、その一実施形態において、図１に示すように、転送ノード１０に制御情報を設定する制御装置３０と、この制御装置３０から設定された制御情報を用いてパケットを転送する１または複数の転送ノード１０と、アクセス制御装置２０と、を含む構成にて実現できる。
【００２１】
より具体的には、制御装置３０は、転送ノード１０に、所定の外部ノード間（例えば、図１のクライアント−サーバ間）のパケットを転送する第１の制御情報と、前記第１の制御情報のマッチ条件に適合しないパケットを所定のポートから転送する第２の制御情報とを設定する。そして、転送ノード１０は、前記第１、第２の制御情報を用いて受信パケットの転送を行う。
【００２２】
アクセス制御装置２０は、転送ノード１０の所定ポートから受信したパケット（第２の制御情報により転送されたパケット）について制御情報の生成要否を判定し、前記制御装置に対し、制御情報の生成を要求する判定部２２を備える。ここで、制御情報の生成を要求の対象とならなかったパケットは、判定部２２にて廃棄される。
【００２３】
以上のように、所定の外部ノード間（例えば、図１のクライアント−サーバ間）のパケットを転送する第１の制御情報による転送の対象とならなかったパケットは、アクセス制御装置２０に送信される（図１の太矢線参照）。そして、アクセス制御装置２０では、判定部２２を介して、制御情報の生成要求の対象とならないパケットは廃棄される。この結果、必要な制御情報だけが制御装置３０にて生成され、転送ノード１０に設定される。
【００２４】
従って、大量のパケットが転送ノード１０に流れ込むようなケースや、多数の転送ノード１０において細粒度のアクセス制御を行う場合であっても、制御装置３０や転送ノード１０の負荷増大を抑えることが可能となる。
【００２５】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図２は、本発明の第１の実施形態の通信システムの構成を示す図である。図２を参照すると、ネットワークに配置された複数のスイッチ１１と、これらスイッチ１１を制御するコントローラ６０と、スイッチ１１が配置されたネットワークに接続されたクライアント４１、４２、サーバ５０とが示されている。
【００２６】
スイッチ１１は、コントローラ６０から設定されたフローエントリに従ってパケットを処理する。
【００２７】
図３は、本発明の第１の実施形態のスイッチの構成を示す図である。図３を参照すると、本実施形態のスイッチ１１は、制御メッセージ処理部１１１と、パケット処理部１１２と、フローテーブル１１３とを備えた構成が示されている。また、図３のポートＰ１〜Ｐｘは、他のスイッチやサーバ５０と接続されたポートであり、ポートＰＰは、コントローラ６０の制御対象パケット抽出部６１に接続されたポートであるものとする。
【００２８】
フローテーブル１１３は、コントローラ６０から設定されたフローエントリを格納するためのテーブルである。フローエントリは、受信パケットと照合するマッチ条件（Ｍａｔｃｈ  Ｆｉｅｌｄｓ）と、処理内容（Ｉｎｓｔｒｕｃｔｉｏｎｓ）とを対応付けたエントリによって構成される。
【００２９】
パケット処理部１１２は、パケットを受信すると、フローテーブル１１３から、受信パケットに適合するマッチ条件を持つフローエントリを検索する。前記検索の結果、受信パケットに適合するマッチ条件を持つフローエントリが見つかった場合、パケット処理部１１２は、当該フローエントリに設定された処理内容（Ｉｎｓｔｒｕｃｔｉｏｎｓ）を実行する。
【００３０】
制御メッセージ処理部１１１は、コントローラ６０と制御メッセージを授受する。例えば、コントローラ６０から、フローテーブル１１３へのフローエントリの追加、変更、削除等を実行する。
【００３１】
図４は、初期状態において、スイッチ１１に設定されているフローエントリ（第２の制御情報）を示す図である。図４の例では、マッチ条件として、送信元ＩＰアドレス（Ｓｒｃ  ＩＰ）、宛先ＩＰアドレス（Ｄｓｔ  ＩＰ）、ＴＣＰ／ＵＤＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｃｏｌ／Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）宛先ポート（ｄｓｔ  ｐｏｒｔ）等の各フィールドにワイルドカード（ＡＮＹ）が設定され、コントローラ６０の制御対象パケット抽出部６１に転送するとの処理内容（Ｉｎｓｔｒｕｃｔｉｏｎｓ）が設定されたフローエントリが示されている。従って、図４のフローエントリだけが設定された状態では、受信パケットはすべてコントローラ６０の制御対象パケット抽出部６１に転送されることになる。
【００３２】
また、図４の例では、フローエントリには、統計情報（Ｃｏｕｎｔｅｒｓ）フィールドが設けられており、フローエントリ毎に統計情報を記録できるようになっている。これらの統計情報は、制御メッセージ処理部１１１を介して、コントローラ６０に提供することも可能であり、例えば、異常トラヒックの特定などに利用できる。
【００３３】
なお、図４のようなフローエントリは、予めスイッチ１１に設定されていてもよいし、スイッチ１１のネットワーク接続時に、コントローラ６０が設定するものとしてもよい。
【００３４】
上記のようなスイッチ１１としては、非特許文献１、２のオープンフロースイッチを用いることができる。また、上記したパケット処理部１１２及びフローテーブルは、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）を用いたハードウェア構成とすることができ、フローエントリのサーチや各種処理を高速に実行することが可能となる。
【００３５】
また、以下の説明では、クライアント４１、４２とサーバ５０とが通信するものとして説明するが、その他の通信機器が含まれていてもよい。また、例えば、クライアント４１、４２として使用する機器に、上記スイッチ１１相当の機能が内蔵されていて、内蔵アプリケーションから出力されたパケットについて、スイッチ１１と同様の動作を行うものとしてもよい。
【００３６】
コントローラ６０は、制御対象パケット抽出部６１と、判定部６２と、フローエントリ生成部６３と、スイッチ制御部６４とを備えている。
【００３７】
制御対象パケット抽出部６１は、上記のようにスイッチ１１から、ネットワークカードにおけるプロミスキャスモード（ｐｒｏｍｉｓｃｕｏｕｓ  ｍｏｄｅ）と同様に動作し、初期設定されているフローエントリ（第２の制御情報）に基づいて転送されたパケットすべてを受信する。そして、制御対象パケット抽出部６１は、受信したパケットのヘッダ情報を参照して、制御対象パケットを抽出して判定部６２に出力する。制御対象パケットの選択基準は、想定されるトラヒックの内容や、コントローラ６０の能力に応じて決定される。例えば、ＶＬＡＤ  ＩＤの値が所定の範囲にあるパケットだけを判定部６２に転送するものとしてもよいし、あるいは、異常トラヒックや不正アクセスが疑われる特徴のあるパケット以外を判定部６２送信するものとしてもよい。
【００３８】
判定部６２は、所定のアクセスポリシ等に基づいて、制御対象パケット抽出部６１から転送されたパケットに対応するフローエントリの生成要否を判定する。前記判定の結果、フローエントリの生成が必要と判定した場合、判定部６２は、フローエントリ生成部６３に、受信パケットまたは受信パケットから抽出した情報を送信し、フローエントリの生成を依頼する。一方、前記判定の結果、フローエントリの生成が不要と判定した場合、判定部６２は、受信パケットを廃棄する。
【００３９】
図５は、判定部６２が、フローエントリの生成要否を判定するために参照するアクセスポリシの一例である。図５の例では、送信元ＩＰアドレスが１９２．１６８．１００．１であり、宛先ＩＰアドレスが１９２．１６８．０．１であるパケットは、アクセス権限が「ａｌｌｏｗ」であるので、フローエントリの生成要と判定される。一方、送信元ＩＰアドレスが１９２．１６８．１００．２であり、宛先ＩＰアドレスが１９２．１６８．０．１であるパケットは、アクセス権限が「ｄｅｎｙ」であるので、フローエントリの生成不可と判定される。なお、図５の例では、ＩＰアドレスだけを用いて判定を行っているが、その他、レイヤ２、レイヤ４のヘッダ情報やプロトコル情報などを用いて判定を行ってもよい。
【００４０】
フローエントリ生成部６３は、判定部６２からフローエントリの生成要求を受けると、スイッチ１１によって構成されるネットワークトポロジを参照して、受信パケットを送信元から宛先まで転送する経路を計算し、スイッチ１１に該経路に沿ったパケット転送を行わせるフローエントリを生成する。例えば、図１のクライアント４２からサーバ５０宛てのパケットについてフローエントリの生成要求を受けた場合、フローエントリ生成部６３は、スイッチ１１に、クライアント４２からサーバ５０宛てのパケットを、転送経路上の次ホップに転送させるフローエントリを生成する。
【００４１】
スイッチ制御部６４は、フローエントリ生成部６３にて生成されたフローエントリを該当するスイッチ１１に設定する動作を行う。なお、スイッチ制御部６４に、各スイッチ１１の設定されているフローエントリを管理するフローエントリデータベース等を保持させて、フローエントリ生成部６３にて生成されたフローエントリの設定要否を行わせてもよい。
【００４２】
上記のようなコントローラ６０は、非特許文献１、２のオープンフローコントローラをベースに、上記制御対象パケット抽出部６１及び判定部６２に相当する機能を追加ことで実現することが可能である。
【００４３】
なお、図１〜図３に示したアクセス制御装置、コントローラ、スイッチの各部（処理手段）は、これらの装置に搭載されたコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００４４】
続いて、本実施形態の動作について図面を参照して詳細に説明する。図６は、本発明の第１の実施形態の動作を表したシーケンス図である。以下、クライアント４２がサーバ５０宛てのパケットを送信するものとして一連の動作を説明する。
【００４５】
図６を参照すると、まず、クライアント４２がサーバ５０宛てのパケットを送信すると（ステップＳ０１）、スイッチ１１は、フローテーブル１１３を参照して、受信パケットに適合するフローエントリに従いパケットを処理する（ステップＳ０２）。ここでは、図４に示すフローエントリ（第２の制御情報）がヒットする。スイッチ１１は、フローエントリ（第２の制御情報）の内容に従って、コントローラ６０の制御対象パケット抽出部６１に対して、前記パケットを転送する。
【００４６】
コントローラ６０の制御対象パケット抽出部６１は、前記パケットを受信すると、制御対象パケットであるか否かを判断する（ステップＳ０３）。ここでは、クライアント４２からサーバ５０宛てのパケットは制御対象パケットであると判定されたものとする。従って、クライアント４２からサーバ５０宛てのパケットは、判定部６２に送信される（ステップＳ０３のＹｅｓ）。なお、ステップＳ０３で制御対象パケットでないと判断された場合（ステップＳ０３のＮｏ）、当該パケットは廃棄される（ステップＳ０４）。
【００４７】
次に、コントローラ６０の判定部６２は、制御対象パケットを受信すると、フローエントリの生成を行うか否かを判断する（ステップＳ０５）。ここでは、クライアント４２からサーバ５０宛てのパケットは、図５のアクセスポリシに従い、フローエントリ生成要と判定されたものとする。従って、コントローラ６０の判定部６２は、フローエントリ生成部６３に対して、フローエントリの生成を要求する（ステップＳ０５のＹｅｓ）。なお、ステップＳ０５でフローエントリ生成不要と判断された場合（ステップＳ０５のＮｏ）、当該パケットは廃棄される（ステップＳ０６）。
【００４８】
次に、コントローラ６０のフローエントリ生成部６３は、フローエントリの生成要求を受けると、パケットの転送経路を計算し、スイッチ１１を含むその転送経路上のスイッチに設定するフローエントリを生成し、スイッチ制御部６４に送る（ステップＳ０７）。
【００４９】
次に、コントローラ６０のスイッチ制御部６４は、前記生成されたフローエントリをその転送経路上のスイッチに設定する（ステップＳ０８）。また、スイッチ制御部６４は、スイッチ１１に対して、今回受信したパケットの次ホップへの送信またはフローテーブルの再検索を指示する。これにより、ステップＳ０１で受信したパケットが次ホップに転送される。
【００５０】
図７は、上記ステップＳ０８で設定されたフローエントリ（第１の制御情報）の例である。図３に示したフローエントリ（第２の制御情報）よりも高優先となる位置に、クライアント４２（ＩＰアドレス＝１９２．１６８．１００．１とする）からサーバ５０（ＩＰアドレス＝１９２．１６８．０．１とする）宛てのパケットを次ホップに転送するフローエントリが設定されている。即ち、スイッチ１１は、フローテーブル１１３を上位エントリから順番にサーチし、受信パケットに適合するマッチ条件が見つかったら、そのフローエントリを採択する。なお、図７の例では、上位に位置するフローエントリ程、優先度が高いものとして説明したが、フローエントリに優先度情報フィールドを設けて、受信パケットに適合するマッチ条件を持つフローエントリの優先度を順次比較して最優先のフローエントリを選択する方式も採用可能である。
【００５１】
その後、クライアント４２が後続パケットを送信すると（ステップＳ１１）、スイッチ１１は、ステップＳ０８で設定されたフローエントリ（第１の制御情報）に基づいてパケットを転送する。以降は、アクセス制御装置２０やコントローラ６０を介さずに高速な転送が行われる。また、サーバ５０からクライアント４２への応答パケットも上記と同様の手順により、通信を許可するフローエントリが設定される。
【００５２】
一方、図１のクライアント４１がサーバ５０宛てのパケットを送信した場合、上記の流れと同様に、スイッチ１１は、アクセス制御装置２０に、前記パケットを転送する。この場合、アクセス制御装置２０は、前記制御対象パケット抽出部６１または判定部６２にてパケット廃棄動作を行うことになる（制御対象パケット抽出部６１における制御対象外判定、または、判定部６２におけるフローエントリ生成不要判定）。この場合は、コントローラ６０のフローエントリ生成部６３にフローエントリの生成要求は発行されないので、コントローラのフローエントリ生成部６３に負荷が掛かることはない。
【００５３】
図８は、上記フローエントリの設定手順により実現されるパケット転送経路を示す図である。クライアント４２とサーバ５０間のパケットは、図７に示したフローエントリ（第１の制御情報；サーバ５０からクライアント４２へのパケット転送用のフローエントリは省略）に従って、図８の太い矢線で示す経路で転送される。一方、クライアント４１からのパケットは、図４、図７の下段に示したフローエントリ（第２の制御情報）に従って、図８の細い矢線で示すように制御対象パケット抽出部６１、判定部６２に転送され、廃棄される。
【００５４】
従って、クライアント４１からスイッチ１１に大量のパケットを送信されたとしても、コントローラ６０の負荷が過大となることはない。また、クライアントやスイッチの数が増えたとしても、それぞれ制御対象パケット抽出部６１、判定部６２にて、選別が行われるため、コントローラ６０の負荷を抑えることが可能となる。
【００５５】
なお、上記した第１の実施形態では、コントローラ６０に、制御対象パケット抽出部６１、判定部６２が内蔵された例を挙げて説明したが、図１に示すように、コントローラ（制御装置）とは別の情報処理装置（アクセス制御装置）に、制御対象パケット抽出部６１及び判定部６２を配置した構成も採用可能である。また、この場合には、情報処理装置（アクセス制御装置）の台数を増やすことで負荷を分散することも可能である。
【００５６】
［第２の実施形態］
続いて、情報処理装置（アクセス制御装置）を複数配置して負荷分散を行うようにした第２の実施形態について説明する。
【００５７】
図９は、本発明の第２の実施形態の通信システムの構成を示す図である。図１、図２に示した実施形態との相違点は、制御対象パケット抽出部６１及び判定部６２を備えてスイッチ１１からのパケットを受信するアクセス制御装置２０Ａ〜２０Ｃが複数配置されている点である。その他、アクセス制御装置２０Ａ〜２０Ｃの個々の動作は、上記した第１の実施形態のコントローラ６０の制御対象パケット抽出部６１及び判定部６２の動作と同じであるので説明を省略する。
【００５８】
図１０は、本実施形態のスイッチ１１に設定されているフローエントリ（第２の制御情報）の例である。図４に示したフローエントリ（第２の制御情報）との相違点は、受信パケットの特徴に応じて、送信先のアクセス制御装置を切り替えるフローエントリ（第２の制御情報）が複数設定されている点である。図１０の例では、クライアント４２においてアクセス制御装置への転送を指示するフローエントリ（第２の制御情報）にヒットしたパケット（第１の制御情報未設定パケット）は、アクセス制御装置２０Ａに転送される。また、その他のクライアントにおいてアクセス制御装置への転送を指示するフローエントリ（第２の制御情報）にヒットしたパケット（第１の制御情報未設定パケット）は、アクセス制御装置２０Ｂに転送される。
【００５９】
以上のように、本実施形態によれば、図９に示すように、スイッチ１１から転送される大量のパケット（第１の制御情報未設定パケット）の処理を複数のアクセス制御装置２０Ａ〜２０Ｃに分散させることができる。なお、図９の例では、スイッチ１１とアクセス制御装置２０Ａ〜２０Ｃ間は、単一のリンクで接続されているが、スイッチ１１とアクセス制御装置２０Ａ間を複数のリンクをまとめたリングアグリゲーションで接続することもできる。例えば、大量のパケットの処理が想定されるフローについては、リングアグリゲーションで接続された高性能のアクセス制御装置に処理させるようにしてもよい。
【００６０】
［第３の実施形態］
続いて、スイッチ１１とアクセス制御装置間が別のネットワークを介して接続されている場合にも、アクセス制御装置へパケット（第１の制御情報未設定パケット）を転送できるようにした第３の実施形態について説明する。
【００６１】
図１１は、本発明の第３の実施形態の通信システムの構成を示す図である。図１１に示すように、スイッチ１１Ａとアクセス制御装置２０Ｄとが離れて設置されている場合、例えば、サーバ５０宛てとなっているパケット（第１の制御情報未設定パケット）をアクセス制御装置に転送する仕組みが必要になる。そこで、本実施形態では、スイッチに変更を加えている。
【００６２】
図１２は、本発明の第３の実施形態のスイッチ１１Ａの構成を示す図である。図３に示した第１の実施形態のスイッチ１１との相違点は、アクセス制御装置２０Ｄに送信するパケットに付加ヘッダを追加するヘッダ付加処理部１１４が追加されている点である。
【００６３】
ヘッダ付加処理部１１４は、パケット処理部１1２から転送されたパケットに、データパスＩＤ（ＤＰＩＤ；スイッチ１１Ａの識別子）と、アクセス制御装置２０Ｄのアドレス情報を含んだヘッダを付加してからポートＰＰに出力する。
【００６４】
以上のように、本実施形態によれば、図１１に示すように、スイッチ１１Ａとアクセス制御装置２０Ｄとが離れて設置されている場合であっても、パケット（第１の制御情報未設定パケット）をアクセス制御装置に転送することが可能となる。
【００６５】
また、本実施形態では、付加ヘッダ中に、データパスＩＤ（ＤＰＩＤ；スイッチ１１Ａの識別子）を含めるようにしてあるので、アクセス制御装置２０Ｄが、パケット（第１の制御情報未設定パケット）の送信元のスイッチを把握することが可能となっている。
【００６６】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した実施形態で用いたネットワーク構成やスイッチ、アクセス制御装置、コントローラの数に制約は無い。
【００６７】
また、上記した第１〜第３の実施形態では、制御対象パケット抽出部は、アクセス制御装置２０またはコントローラに内蔵されているものとして説明したが、図１３に示すように、制御対象パケット抽出部を非特許文献１、２のオープンフロースイッチ等の転送ノード（第２の転送ノード）１２により構成することもできる（第４の実施形態）。この場合、制御装置またはコントローラが、転送ノード（第２の転送ノード）に、前記制御対象パケットを抽出する制御情報（フローエントリ）を設定することで、転送ノード（第２の転送ノード）１２を制御対象パケット抽出部として機能させることが可能になる。
【００６８】
また、上記した第１の実施形態では、スイッチと制御対象パケット抽出部６１、スイッチとスイッチ制御部６４間に、別々のチャネルが設けられるものとして説明したが、１つのチャネルで、パケット（第１の制御情報未設定パケット）と、スイッチとコントローラ間の制御メッセージとを送信するようにしてもよい。例えば、非特許文献１、２においてオープンフロースイッチ、オープンフローコントローラ間に設けられるセキュアチャネルを共用して用いる構成も採用可能である。
【００６９】
また、上記した実施形態では判定部６２がアクセスポリシに基づいてフローエントリの生成要否を判定するものとして説明したが、前記判定部６２に、パケット分析機能を追加してもよい。例えば、前記制御対象パケット抽出部６１から転送されたパケットの分析の結果、所定期間に所定のしきい値（Ｎ回）以上同一送信元ＩＰアドレスのパケットが転送されている場合、判定部６２は、ＤＤｏＳ攻撃（Ｄｉｓｔｒｉｂｕｔｅｄ Ｄｅｎｉａｌ  ｏｆ  Ｓｅｒｖｉｃｅ  ａｔｔａｃｋ）等の不正パケットと判断する。そして、判定部６２は、フローエントリ生成部６３に対し、受信パケットまたは受信パケットから抽出した情報を送信し、同一の送信元ＩＰアドレスのパケットを破棄させるフローエントリの生成を依頼する。このようにすることで、制御対象パケット抽出部６１の転送対象とするパケットを間引くことも可能である。
【００７０】
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００７１】
１０  転送ノード
１１、１１Ａ  スイッチ
１２  第２の転送ノード
２０、２０Ａ〜２０Ｅ  アクセス制御装置
２１、６１、１２１  制御対象パケット抽出部
２２、６２  判定部
３０  制御装置
４１、４２  クライアント
５０  サーバ
６０  コントローラ
６３  フローエントリ生成部
６４  スイッチ制御部
１１１  制御メッセージ処理部
１１２  パケット処理部
１１３  フローテーブル
１１４  ヘッダ付加処理部
Ｐ１〜Ｐｘ、ＰＰ  ポート
【図１】
2013164988.tif 000003
【図２】
2013164988.tif 000004
【図３】
2013164988.tif 000005
【図４】
2013164988.tif 000006
【図５】
2013164988.tif 000007
【図６】
2013164988.tif 000008
【図７】
2013164988.tif 000009
【図８】
2013164988.tif 000010
【図９】
2013164988.tif 000011
【図１０】
2013164988.tif 000012
【図１１】
2013164988.tif 000013
【図１２】
2013164988.tif 000014
【図１３】
2013164988.tif 000015
【手続補正書】
【提出日】平成26年10月30日(2014.10.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項６
【補正方法】変更
【補正の内容】
【請求項６】
前記判定部は、前記転送ノードの前記所定のポートから転送されたパケットが所定の特徴を有する場合、前記制御装置に対し、前記転送ノードに前記特徴を有するパケットの破棄を実行させる制御情報の生成を要求する請求項１から５いずれか一の通信システム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００５０
【補正方法】変更
【補正の内容】
【００５０】
図７は、上記ステップＳ０８で設定されたフローエントリ（第１の制御情報）の例である。図４に示したフローエントリ（第２の制御情報）よりも高優先となる位置に、クライアント４２（ＩＰアドレス＝１９２．１６８．１００．１とする）からサーバ５０（ＩＰアドレス＝１９２．１６８．０．１とする）宛てのパケットを次ホップに転送するフローエントリが設定されている。即ち、スイッチ１１は、フローテーブル１１３を上位エントリから順番にサーチし、受信パケットに適合するマッチ条件が見つかったら、そのフローエントリを採択する。なお、図７の例では、上位に位置するフローエントリ程、優先度が高いものとして説明したが、フローエントリに優先度情報フィールドを設けて、受信パケットに適合するマッチ条件を持つフローエントリの優先度を順次比較して最優先のフローエントリを選択する方式も採用可能である。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００５９
【補正方法】変更
【補正の内容】
【００５９】
以上のように、本実施形態によれば、図９に示すように、スイッチ１１から転送される大量のパケット（第１の制御情報未設定パケット）の処理を複数のアクセス制御装置２０Ａ〜２０Ｃに分散させることができる。なお、図９の例では、スイッチ１１とアクセス制御装置２０Ａ（〜２０Ｃ）間は、単一のリンクで接続されているが、スイッチ１１とアクセス制御装置２０Ａ間を複数のリンクをまとめたリングアグリゲーションで接続することもできる。例えば、大量のパケットの処理が想定されるフローについては、リングアグリゲーションで接続された高性能のアクセス制御装置に処理させるようにしてもよい。
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図１０
【補正方法】変更
【補正の内容】
【図１０】
2013164988.tif 000016
【国際調査報告】
2013164988.tif 000017
2013164988.tif 000018
2013164988.tif 000019
2013164988.tif 000020