(57)【要約】【課題】通信を効率化する。【解決手段】通信装置は、制御装置で決定された処理ルールに基づいてパケットを処理する。通信装置は、取得部、通信部、生成部、および、送信部を備える。取得部は、処理ルールを問合わせる際に制御装置に通知する情報要素と、処理ルールを問合わせる対象のパケットの特徴を表わす特徴情報の組み合わせを取得する。通信部は、処理対象のパケットを受信する。生成部は、処理対象のパケットが特徴情報を含む場合、特徴情報に対応付けられた情報要素の処理対象のパケットでの値と、処理対象のパケットに適用する処理ルールの要求とを含む要求メッセージを生成する。送信部は、要求メッセージを制御装置に送信する。【選択図】図３
2017123522.tif 000002
【特許請求の範囲】
【請求項１】
制御装置で決定された処理ルールに基づいてパケットを処理する通信装置であって、
前記処理ルールを問合わせる際に前記制御装置に通知する情報要素と、前記処理ルールを問合わせる対象のパケットの特徴を表わす特徴情報の組み合わせを取得する取得部と、
処理対象のパケットを受信する通信部と、
前記処理対象のパケットが前記特徴情報を含む場合、前記特徴情報に対応付けられた情報要素の前記処理対象のパケットでの値と、前記処理対象のパケットに適用する処理ルールの要求とを含む要求メッセージを生成する生成部と、
前記要求メッセージを前記制御装置に送信する送信部
を備えることを特徴とする通信装置。
【請求項２】
前記生成部は、前記処理対象のパケット中の情報のうち前記特徴情報に対応付けられていない情報を、前記要求メッセージに含める対象から除外する
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記制御装置から通知された処理ルールと前記組み合わせを記憶する記憶部と、
前記記憶部に格納されている処理ルールが適用可能な受信パケットを処理するパケット処理部
をさらに備え、
前記生成部は、
前記処理対象のパケットが前記パケット処理部で処理されない場合、前記処理対象のパケット中の情報と前記特徴情報を比較し、
前記処理対象のパケットが前記特徴情報を含む場合、前記要求メッセージを生成する
ことを特徴とする請求項１または２に記載の通信装置。
【請求項４】
前記取得部は、第１のアプリケーションで処理されるパケットの特徴を表わす第１の特徴情報と第１の情報要素が対応付けられた第１の組み合わせ、および、第２のアプリケーションで処理されるパケットの特徴を表わす第２の特徴情報と第２の情報要素が対応付けられた第２の組み合わせを取得し、
前記生成部は、
前記処理対象のパケットが前記第１の特徴情報を含む場合、前記第１の情報要素を含む要求メッセージを生成し、
前記処理対象のパケットが前記第２の特徴情報を含む場合、前記第２の情報要素を含む要求メッセージを生成する
ことを特徴とする請求項１〜３のいずれか１項に記載の通信装置。
【請求項５】
通信装置からのパケットの処理の問合せに応じて、前記通信装置での前記パケットの処理を決定すると共に、決定した処理の実行を前記通信装置に要求することにより、ネットワークでの通信を制御する制御装置であって、
前記通信装置でのパケットの処理の方法を表す処理ルールを決定する際に使用する情報要素を、前記処理ルールの問合せの対象のパケットに含まれる特徴情報に対応付けるとともに、前記処理ルールの問合せの際に前記特徴情報に対応付けられた情報要素を前記制御装置に送信することを要求する制御メッセージを生成する制御部と、
前記通信装置に、前記制御メッセージを送信する送信部
を備えることを特徴とする制御装置。
【請求項６】
前記制御部は、
前記処理ルールを通知する通知メッセージに、通知対象の処理ルールの適用の優先順位を表わす第１の優先度を含めると共に、前記制御メッセージに前記特徴情報に対応付けられた情報要素を含む要求メッセージの送信処理の優先順位を表わす第２の優先度を含め、
前記第２の優先度よりも前記第１の優先度の優先順位を高くする
ことを特徴とする請求項５に記載の制御装置。
【請求項７】
通信装置からのパケットの処理の問合せに応じて、前記通信装置での前記パケットの処理ルールを決定すると共に、前記処理ルールを前記通信装置に通知する制御装置と、
前記処理ルールに基づいてパケットを処理する前記通信装置
を含み、
前記通信装置は、
前記処理ルールを問合わせる際に前記制御装置に通知する情報要素と、前記処理ルールを問合わせる対象のパケットの特徴を表わす特徴情報の組み合わせを取得し、
処理対象のパケットを受信すると、前記処理対象のパケットが前記特徴情報を含む場合、前記特徴情報に対応付けられた情報要素の前記処理対象のパケットでの値と、前記処理対象のパケットに適用する処理ルールの要求を含む要求メッセージを前記制御装置に送信する
ことを特徴とする通信システム。
【請求項８】
制御装置で決定された処理ルールに基づいてパケットを処理する通信装置が、
前記処理ルールを問合わせる際に前記制御装置に通知する情報要素と、前記処理ルールを問合わせる対象のパケットの特徴を表わす特徴情報の組み合わせを取得し、
処理対象のパケットを受信し、
前記処理対象のパケットが前記特徴情報を含む場合、前記特徴情報に対応付けられた情報要素の前記処理対象のパケットでの値と、前記処理対象のパケットに適用する処理ルールの要求とを含む要求メッセージを生成し、
前記要求メッセージを前記制御装置に送信する
処理を行うことを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の装置間での通信に関する。
【背景技術】
【０００２】
近年、ＳＤＮ(Software Defined Networking)に対応したシステムの研究や開発が進められており、様々なＳＤＮコントローラ、ＳＤＮスイッチ、ＳＤＮルータなどが提供されている。また、コントローラとスイッチまたはルータとの間の通信にＯｐｅｎＦｌｏｗ（ＯＦ）プロトコルが使用されることがある。
【０００３】
図１は、Ｏｐｅｎ  Ｆｌｏｗによる転送処理の例を説明する図である。図１に示すネットワークでは、ＯＦコントローラ４とＯＦスイッチ２が制御回線Ｌ３で接続されている。また、ＯＦスイッチ２には、データ回線Ｌ１とデータ回線Ｌ２も接続されている。ＯｐｅｎＦｌｏｗでは、ＯＦコントローラ４において、ネットワーク中のＯＦスイッチ２でのパケットの処理が決定される。ＯＦスイッチ２は、ＯＦコントローラ４から通知された処理ルールに従って受信パケットを処理する。
【０００４】
まず、ＯＦコントローラ４は、ＯＦスイッチ２が記憶している処理ルールが適用されないパケットの処理をＯＦコントローラ４に問合わせることを要求する制御メッセージをＯＦスイッチ２に送信する（矢印Ａ１）。すると、ＯＦスイッチ２は、記憶している処理ルールが適用されないパケットを受信した場合、制御回線Ｌ３を介して、ＯＦコントローラ４に受信パケットの処理方法を問合わせることを記憶する。ＯＦスイッチ２が動作を開始した段階では、ＯＦスイッチ２は、矢印Ａ１で通知された情報のみを記憶している。その後、ＯＦスイッチ２は、受信パケットの処理をＯＦコントローラ４に問合わせた結果として取得した情報も処理ルールとして記憶する。
【０００５】
テーブルＴ１は、ＯＦスイッチ２が保持するフローテーブルの例である。フローテーブルには、項番、マッチ条件、動作が含まれており、各エントリには、パケットの処理ルールが記録されている。ＯＦスイッチ２は、受信パケットのヘッダ中の情報を、フローテーブル中のマッチ条件と比較し、受信パケットのマッチ条件に対応付けられた動作を、受信パケットに対して行う。ここで、ＯＦスイッチ２は、項番が小さいエントリほど優先的に適用する。例えば、データ回線Ｌ１からＯＦスイッチ２に向けてユーザパケットＰ１が送信されたとする（矢印Ａ２）。パケットＰ１の宛先アドレスが１０．０．０．１０である場合、パケットＰ１は項番＃１の条件に合致する。このため、ＯＦスイッチ２は、パケットＰ１を受信すると、矢印Ａ３に示すように、データ回線Ｌ２に転送する。一方、パケットＰ１の宛先アドレスが１０．０．０．０／８の条件に当てはまらない場合、パケットＰ１には項番＃１の処理は適用されない。すると、ＯＦスイッチ２は、パケットＰ１を項番＃２の条件で処理するかを判定する。項番＃２の条件は、ＯＦスイッチ２がデータ回線Ｌ２から受信したパケットに適用されるので、パケットＰ１には適用されない。そこで、ＯＦスイッチ２は、項番＃３の条件に従って、パケットＰ１の処理をＯＦコントローラ４に問合わせるためのＰａｃｋｅｔ−ＩｎメッセージＰ２を、制御回線Ｌ３からＯＦコントローラ４に向けて送信する（矢印Ａ４）。
【０００６】
図２は、Ｐａｃｋｅｔ−Ｉｎメッセージの例を説明する図である。図２は、図１の矢印Ａ４の処理で送信されるＰａｃｋｅｔ−ＩｎメッセージＰ２に含まれている情報要素の例を示している。Ｐａｃｋｅｔ−Ｉｎメッセージには、共通ヘッダ、Ｐａｃｋｅｔ−Ｉｎヘッダ、ｍａｔｃｈフィールド、パケットデータ（Ｐａｃｋｅｔ  ｒａｗ  ｄａｔａ）が含まれる。なお、１つのＰａｃｋｅｔ−Ｉｎメッセージに含まれるｍａｔｃｈフィールドは２つ以上であっても良い。ｍａｔｃｈフィールドには、処理ルールの問い合わせ対象となっている受信パケットをＯＦスイッチ２が受信したときの入力ポートと、受信パケットのヘッダ情報が含まれる。ヘッダ情報として、宛先ＭＡＣ（Media Access Control）アドレス、送信元ＭＡＣアドレス、Ｅｔｈｅｒｎｅｔ（登録商標）タイプ、宛先ＩＰ（Internet Protocol）アドレス等が含まれ得る。パケットデータは、処理ルールの問い合わせ対象となっている受信パケットの少なくとも一部である。なお、パケットデータはＰａｃｋｅｔ−Ｉｎメッセージに含まれてなくても良い。
【０００７】
ＯＦコントローラ４は、ＯＦスイッチ２から受信したＰａｃｋｅｔ−ＩｎメッセージＰ２に含まれているｍａｔｃｈフィールド中の情報を用いて、問合せの対象となっているパケットに対してＯＦスイッチ２が行う処理を決定する。なお、ＯＦコントローラ４は、ＯＦスイッチ２での処理を決定する際に、適宜、ネットワークのトポロジ情報なども使用する。ＯＦコントローラ４は、決定した処理の内容を表わす処理ルールを、ＦｌｏｗＭｏｄメッセージを用いて、ＯＦスイッチ２に通知する。すると、ＯＦスイッチ２は、通知された情報を記憶すると共に、通知された情報に従って、受信パケットＰ１を処理する。
【０００８】
関連する技術として、端末から転送されてくるパケットの送信元ＭＡＣアドレスとポート番号を用いて、ノード装置群に接続されている端末が、どのノード装置の何番ポートに接続されているか特定するシステムが提案されている。ノード装置は、受信パケットのポート番号と送信元ＭＡＣアドレスの組み合わせが検索テーブル中に含まれていない場合、受信パケットのポート番号と送信元ＭＡＣアドレス情報を制御装置に通知する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】国際公開第２０１２／１３７６４６号
【発明の概要】
【発明が解決しようとする課題】
【００１０】
コントローラは、スイッチから受信した制御メッセージに含まれている情報の一部を使用して、問合せ元のスイッチでのパケットの処理を決定することが多い。コントローラで使用されない情報がスイッチからコントローラに送信されると、コントローラで廃棄される無駄なデータがコントローラとスイッチの間で送受信されることになってしまい、効率が悪い。
【００１１】
本発明は、１つの側面として、通信を効率化することを目的とする。
【課題を解決するための手段】
【００１２】
実施形態にかかる通信装置は、制御装置で決定された処理ルールに基づいてパケットを処理する。通信装置は、取得部、通信部、生成部、および、送信部を備える。取得部は、前記処理ルールを問合わせる際に前記制御装置に通知する情報要素と、前記処理ルールを問合わせる対象のパケットの特徴を表わす特徴情報の組み合わせを取得する。通信部は、処理対象のパケットを受信する。生成部は、前記処理対象のパケットが前記特徴情報を含む場合、前記特徴情報に対応付けられた情報要素の前記処理対象のパケットでの値と、前記処理対象のパケットに適用する処理ルールの要求とを含む要求メッセージを生成する。送信部は、前記要求メッセージを前記制御装置に送信する。
【発明の効果】
【００１３】
通信が効率化される。
【図面の簡単な説明】
【００１４】
【図１】Ｏｐｅｎ  Ｆｌｏｗによる転送処理の例を説明する図である。
【図２】Ｐａｃｋｅｔ−Ｉｎメッセージの例を説明する図である。
【図３】実施形態にかかる通信方法の例を説明する図である。
【図４】通信装置の構成の例を説明する図である。
【図５】制御装置の構成の例を説明する図である。
【図６】通信装置および制御装置のハードウェア構成の例を説明する図である。
【図７】通信システムの例を説明する図である。
【図８】通知情報テーブルの例を説明する図である。
【図９】通知情報設定メッセージの例を説明する図である。
【図１０】通知情報の設定例を説明する図である。
【図１１】通知情報が設定される場合の処理の例を説明する図である。
【図１２】認証処理の例を説明する図である。
【図１３】データパケットの転送処理の例を説明する図である。
【図１４】制御装置の処理の例を説明するフローチャートである。
【図１５】通知情報設定メッセージを受信した通信装置の処理の例を説明するフローチャートである。
【図１６】処理ルールを要求する際の通信装置の処理の例を説明するフローチャートである。
【図１７】制御装置と通信装置の間で送受信する情報の削減例を説明する図である。
【発明を実施するための形態】
【００１５】
図３は、実施形態にかかる通信方法の例を説明する図である。図３に示すネットワークには、制御装置５０と通信装置１０が含まれている。制御装置５０はＯＦコントローラとして動作し、通信装置１０はＯＦスイッチとして動作する。以下、処理ルールを制御装置５０に要求するために使用されるメッセージを「要求メッセージ」と記載することがある。Ｐａｃｋｅｔ−Ｉｎメッセージは要求メッセージの一例である。また、通信装置１０が制御装置５０以外の装置から受信するパケットを、通信装置１０と制御装置５０との間の通信に使用されるパケットと区別するために、「ユーザパケット」と記載することがある。ユーザパケットは、通信装置１０が制御装置５０以外の装置から受信する任意の種類のパケットである。
【００１６】
矢印Ａ１１において、制御装置５０は、ネットワーク中の通信装置１０に対して、通知情報設定メッセージＰ１１を送信する。通知情報設定メッセージＰ１１は、通信装置１０が保持しているいずれの処理ルールも適用されないパケットに対する処理ルールを、制御回線Ｌ３を介して制御装置５０に要求することと、処理ルールの要求の際に通知する情報要素を含むとする。処理ルールの要求の際に通知する情報要素を特定する情報として、ユーザパケットの特徴を表わす特徴情報と、その特徴情報を有するパケットに対して通信装置１０が行う処理を決定するために制御装置５０が使用する情報要素の組合せが使用され得る。図３の例では、通知情報設定メッセージＰ１１では、通知対象の情報要素として、処理ルールを要求するパケットの入力ポート（ＩＮ＿ＰＯＲＴ）と、処理ルールを要求するパケットの送信元ＭＡＣアドレス（ＥＴＨ＿ＳＲＣ）が指定されているとする。
【００１７】
通信装置１０は、通知情報設定メッセージＰ１１を受信すると、通知情報設定メッセージＰ１１の情報を記憶する。例えば、通知情報設定メッセージＰ１１に含まれている情報は、他の処理ルールと共にフローテーブルに記憶されても良い。この場合、通知情報設定メッセージＰ１１によって受信した情報を含むエントリの優先度は、他の処理ルールよりも低くなっている。テーブルＴ２は、通信装置１０が記憶しているフローテーブルの例である。フローテーブルＴ２のうち、項番＃３のエントリは、通知情報設定メッセージＰ１１で通知された情報である。一方、項番＃１のエントリと項番＃２のエントリ中の情報は、通知情報設定メッセージではなく、処理ルールの通知に使用されるＦｌｏｗＭｏｄなどから得られた情報である。なお、項番の値が小さいエントリ中の情報ほど優先的に使用されるので、項番＃１のエントリと項番＃２のエントリのいずれも適用されないパケットに対して、項番＃３のエントリの処理が適用される。
【００１８】
矢印Ａ１２において、通信装置１０は、データ回線Ｌ１を介して、ユーザパケットＰ１２を受信したとする。また、ユーザパケットＰ１２の宛先は、１０．０．０．０／８に該当しないものとする。すると、通信装置１０は、フローテーブルＴ２中の項番＃１のエントリの処理を適用しないことを決定する。次に、通信装置１０は、ユーザパケットＰ１２をデータ回線Ｌ１から受信しているので、フローテーブルＴ２中の項番＃２のエントリの情報も適用しないことを決定する。そこで、通信装置１０は、項番＃３のエントリの情報に従って、ユーザパケットＰ１２を受信したときの入力ポートの番号と、ユーザパケットＰ１２の送信元ＭＡＣアドレスを、処理ルールを要求するパケットの情報として含む要求メッセージＰ１３を生成する。このとき、通信装置１０は、ユーザパケットＰ１２中のデータのうち、項番＃３のエントリで指定されていない情報は、要求メッセージＰ１３に含めない。このため、要求メッセージＰ１３は、処理ルールの決定に使用される情報以外のユーザパケットＰ１２中の情報は含まない。要求メッセージＰ１３としてＰａｃｋｅｔ−Ｉｎメッセージが使用される場合、要求メッセージＰ１３には、図３に示すように、共通ヘッダ、Ｐａｃｋｅｔ−Ｉｎヘッダ、入力ポート（ＩＮ＿ＰＯＲＴ）、送信元ＭＡＣアドレス（ＥＴＨ＿ＳＲＣ）が含まれる。要求メッセージＰ１３は、矢印Ａ１３に示すように、通信装置１０から制御装置５０に送信される。
【００１９】
制御装置５０は、要求メッセージＰ１３を受信すると、要求メッセージＰ１３に含まれている情報要素を用いて、要求メッセージＰ１３の送信のきっかけとなったパケットについての、通信装置１０での処理ルールを決定する。
【００２０】
このように、実施形態にかかる方法では、通信装置１０は、制御装置５０が処理ルールの決定に使用する情報要素を、ユーザパケットの特徴を表わす特徴情報に対応付けて取得することができる。通信装置１０は、予め取得した対応関係を用いて、処理ルールを問合わせるパケットについて、制御装置５０が処理ルールの決定に使用する情報要素を、制御装置５０宛の要求メッセージ中に含める。このため、処理ルールを問合わせる通信装置１０は、処理ルールの決定の際に制御装置５０で使用されないデータを制御装置５０に送信することを防止できる。また、このため、通信装置１０と制御装置５０との間でのデータ通信量を削減することができる。
【００２１】
＜装置構成＞
図４は、通信装置１０の構成の例を説明する図である。通信装置１０は、通信部１１、通信部２０、制御部３０、記憶部４０を備え、オプションとして入出力部１３を備えても良い。通信部２０は、送信部２１と受信部２２を有する。制御部３０は、パケット処理部３１、生成部３２、取得部３３を有する。記憶部４０は、バッファ４１として動作し、さらに、フローテーブル４２を格納する。
【００２２】
通信部１１は、端末５（５ａ、５ｂ）などの他の装置にパケットを転送する際に使用されるポート１２（１２ａ、１２ｂ）を含む。なお、個々のポート１２には、データ回線が接続されている。入出力部１３は、オペレータが入力処理に使用する入力装置や、オペレータが処理結果を視認するために使用する出力装置として動作する。
【００２３】
通信部２０は、通信装置１０と制御装置５０との間での、制御回線Ｌ３を介した通信処理を行う。送信部２１は、要求メッセージなどの制御パケットを制御装置５０に送信する。一方、受信部２２は、制御装置５０から制御パケットを受信する。受信部２２は、受信した制御パケットを取得部３３に出力する。取得部３３は、入力された制御パケットを処理し、適宜、フローテーブル４２を更新する。生成部３２は、通信部１１で受信したパケットを取得すると、フローテーブル４２中で受信パケットに対して適用する処理ルールを検索する。制御装置５０への要求メッセージを送信することが受信パケットの特徴情報に対応付けられている場合、生成部３２は、受信パケットの特徴情報に対応付けられた情報要素を含む要求メッセージを生成する。このとき、生成部３２は、受信パケットを適宜、バッファ４１に格納する。制御装置５０への要求メッセージの送信以外の処理を指定する処理ルールが受信パケットに適用される場合、生成部３２は、得られた処理ルールを処理対象のパケットと共にパケット処理部３１に出力する。パケット処理部３１は、生成部３２から入力された処理ルールに従ってパケットを処理する。
【００２４】
なお、図４では、フローテーブル４２を１つ図示しているが、通信装置１０が保持するフローテーブル４２の数は実装に応じて任意に変更され得る。同様に、通信装置１０が備えるポート１２の数や、通信装置１０と通信する端末５の数なども任意である
図５は、制御装置５０の構成の例を説明する図である。制御装置５０は、通信部５１、制御部６０、記憶部７０を備え、オプションとして入出力部５４を備えても良い。通信部５１は、送信部５２と受信部５３を有する。制御部６０は、メッセージ処理部６１、パケット解析部６２、フロー制御計算部６３を有する。記憶部７０は、バッファ７１として動作し、さらに、通知情報テーブル７２などの情報を格納する。
【００２５】
送信部５２は、制御パケットを通信装置１０に送信する。一方、受信部５３は、通信装置１０から要求メッセージなどの制御パケットを受信する。受信部５３は、受信した制御パケットをメッセージ処理部６１に出力する。また、受信部５３は、メッセージ処理部６１の処理状況に応じて、制御パケットをバッファ７１に出力しても良い。入出力部５４は、制御装置５０のオペレータが入力処理に使用する入力装置や、オペレータが処理結果を視認するために使用する出力装置として動作する。
【００２６】
通知情報テーブル７２は、制御装置５０が通信装置１０に設定する処理ルールのうち予めオペレータ等によって設定されている情報を保持している。例えば、通知情報テーブル７２は、制御装置５０が処理ルールを決定する際に使用する情報の種類が、処理ルールの問合せの対象のパケットに含まれる特徴を表わす情報（特徴情報）に対応付けて記録されている。特徴情報は、パケットの分類に使用される情報であり、例えば、Ｏｐｅｎｆｌｏｗのｍａｔｃｈ条件として使用され得る。通知情報テーブル７２には、要求メッセージで通知される情報の設定に使用される処理ルール以外の処理ルールが含まれていても良い。通知情報テーブル７２の例は後述する（図８）。
【００２７】
メッセージ処理部６１は、システム中の通信装置１０に対して、処理ルールを決定する際に使用する情報を通知するための制御パケットを、通知情報テーブル７２や予め記憶している情報を用いて生成すると、送信部５２を介して送信する。一方、制御装置５０がパケットを受信した場合、メッセージ処理部６１は、入力された制御パケットを処理して、通知された情報をパケット解析部６２やフロー制御計算部６３に出力する。パケット解析部６２は、制御メッセージ中に制御メッセージの送信元の通信装置１０が他の装置から受信したパケットが含まれている場合にパケットを解析し、得られた情報をフロー制御計算部６３に出力する。フロー制御計算部６３は、記憶部７０に記憶されている情報を用いて、フロー制御を行うための計算処理を行う。フロー制御計算部６３は、１つのネットワークアプリケーションによる処理を行っても良く、また、複数のネットワークアプリケーションによる処理を並行して行っても良い。さらに、フロー制御計算部６３の処理の一部または全部は、制御装置５０に接続されているアプリケーションサーバで行われても良い。フロー制御計算部６３で得られた処理結果に合わせて、メッセージ処理部６１は、通信装置１０に通知するための制御メッセージを生成し、送信部５２を介して通信装置１０に送信する。
【００２８】
図６は、通信装置１０および制御装置５０のハードウェア構成の例を説明する図である。通信装置１０と制御装置５０のいずれも、プロセッサ１０１、メモリ１０２、バス１０３、ネットワーク接続装置１０４を備え、さらにオプションとして入出力装置１０６を備える。バス１０３は、プロセッサ１０１、メモリ１０２、ネットワーク接続装置１０４、入出力装置１０６を、相互にデータの送受信が可能になるように接続する。プロセッサ１０１は、ＣＰＵ（Central Processing Unit）を含む任意のプロセッサのいずれかとすることができる。メモリ１０２は、ＲＡＭ（Random Access Memory）とＲＯＭ（Read Only Memory）を備えており、バッファとして動作する他、プロセッサ１０１での処理に使用される情報やプロセッサ１０１での処理により得られた情報などを記録する。また、メモリ１０２は、プロセッサ１０１が実行するプログラムを記憶する。入出力装置１０６は、オペレータが入力処理を行う際に用いるキーボードなどの入力装置や、プロセッサ１０１での処理結果をオペレータが認識できるように出力するための出力装置などである。例えば、出力装置は、ディスプレイなどであっても良い。ネットワーク接続装置１０４は、ネットワーク１０５との通信を行う。
【００２９】
通信装置１０では、プロセッサ１０１は、制御部３０を実現する。メモリ１０２は、例えば、記憶部４０として動作する。ネットワーク接続装置１０４は、通信部１１と通信部２０を実現し、ポート１２も含む。入出力装置１０６は、入出力部１３として動作する。
【００３０】
制御装置５０では、プロセッサ１０１は、制御部６０を実現する。メモリ１０２は、例えば、記憶部７０として動作する。ネットワーク接続装置１０４は、通信部５１を実現する。さらに、入出力装置１０６は、入出力部５４として動作する。
【００３１】
＜実施形態＞
図７は、通信システムの例を説明する図である。図７に示す通信システムには、制御装置５０、通信装置１０（１０ａ〜１０ｃ）、ＭＡＣアドレス認証システム６４、ＩＰルーティングシステム６５、ルータ６が含まれており、ルータ６はインターネット８に接続されている。通信装置１０ａ〜１０ｃの各装置は、ルータ６および制御装置５０に接続されている。図７中の太い線は制御メッセージ等の送受信に使用され、細い線はユーザパケットなどのデータの送受信に使用される。また、端末５（５ａ〜５ｆ）は、通信装置１０を介して他の装置と通信できる。端末５ａと端末５ｂは通信装置１０ａに接続され、端末５ｃと端末５ｄは通信装置１０ｂに接続されている。さらに、端末５ｅと端末５ｆは通信装置１０ｃに接続されている。図７のシステムのうち、通信装置１０ａ〜１０ｃは、制御装置５０から取得した処理ルールに従ってパケットを処理する装置であり、Ｏｐｅｎｆｌｏｗスイッチとして動作する。一方、ルータ６は制御装置５０によって制御されないスイッチであり、例えば、コアスイッチであっても良い。制御装置５０、ＭＡＣアドレス認証システム６４、ＩＰルーティングシステム６５の組合せは、Ｏｐｅｎｆｌｏｗコントローラとして動作する。
【００３２】
なお、図７はシステムの一例であり、例えばシステム中の端末５や通信装置１０の数は任意である。また、通信装置１０に接続されている端末５の数も任意である。また、図７では、ＭＡＣアドレス認証システム６４とＩＰルーティングシステム６５は、制御装置５０に接続されているサーバ等によって実現される場合の例を図示しているが、これも一例に過ぎない。例えば、ＭＡＣアドレス認証システム６４やＩＰルーティングシステム６５は制御装置５０中のフロー制御計算部６３によって実現されても良い。ＭＡＣアドレス認証システム６４では、通信システムを用いて通信を行うユーザのＭＡＣアドレスを用いた認証処理を行う。一方、ＩＰルーティングシステム６５は、いずれかの端末５が通信先との間で送受信するパケットに対する処理ルールが通信装置１０から要求された場合に、経路計算を行う。
【００３３】
以下、図７に示すシステムで行われる通信の例を、通信装置１０が制御装置５０に通知する情報の設定、ＭＡＣアドレスの認証処理、データパケットの転送処理に分けて説明した後、装置ごとの動作を時系列にそって説明する。
【００３４】
（１）通信装置１０が制御装置５０に通知する情報の設定
制御装置５０は、処理ルールの問合せの際に制御装置５０宛の要求メッセージに含める情報要素を通信装置１０に通知するための制御パケットを、通知情報テーブル７２を参照しながら生成する。以下、要求メッセージに含められる情報要素を通知するための制御パケットのことを「通知情報設定メッセージ」と記載することがある。なお、通知情報設定メッセージによって、通信装置１０に通知される情報要素は、要求メッセージにより問合わせられている処理ルールの決定に使用される情報要素である。さらに、以下の説明では、各通信装置１０が複数のフローテーブル４２を保持している場合を例として説明する。制御装置５０や通信装置１０は、通信装置１０中のフローテーブル４２を一意に特定する識別情報（テーブルＩＤ）を使用する。以下、テーブルＩＤは、Ｔａｂｌｅという文字列に数字を続けた文字列で表わされるものとする。さらに、いずれの通信装置１０においても、テーブルＩＤ＝Ｔａｂｌｅ０のフローテーブル４２が最優先され、テーブルＩＤ＝Ｔａｂｌｅ０中の記録に応じて、適宜、他のフローテーブル４２が参照されるものとする。
【００３５】
図８は、通知情報テーブル７２の例を説明する図である。通知情報テーブル７２は、ネットワーク（ＮＷ）アプリケーション、ｍａｔｃｈ条件、登録先テーブルＩＤ、情報要素を対応付けている。ネットワークアプリケーションは、エントリ中のｍａｔｃｈ条件で特定されるパケットに対する処理ルールの決定に使用されるアプリケーションの種類である。また、ネットワークアプリケーションは、エントリ中のｍａｔｃｈ条件で特定されるパケット中の情報を処理するアプリケーションであっても良い。登録先テーブルＩＤは、通知情報設定メッセージで通知された情報の格納先となるフローテーブル４２の識別情報である。なお、通知情報設定メッセージによって通知される情報は、エントリ中のｍａｔｃｈ条件で特定されるパケットに適用する処理ルールを要求する要求メッセージに含める情報であり、要求メッセージを生成するための処理ルールであるといえる。情報要素は、エントリ中のｍａｔｃｈ条件で特定されるパケットに対する処理ルールを求める際に、ネットワークアプリケーションでの処理に使用される情報要素である。換言すると、制御装置５０は、通知情報テーブル７２中の情報要素を、エントリ中のｍａｔｃｈ条件で特定されるパケットに対する処理ルールを要求する際に通知することを、通信装置１０に対して要求している。
【００３６】
図８の１番目のエントリには、Ｅｔｈｅｒｎｅｔプロトコルタイプ＝０ｘ０８０６のパケットの処理ルールの決定に用いられるアプリケーションや、処理ルールの決定に使用される情報要素が記録されている。Ｅｔｈｅｒｎｅｔプロトコルタイプ＝０ｘ０８０６のパケットは、ＡＲＰ（Address Resolution Protocol）パケットである。ＡＲＰパケット中の送信元ＭＡＣアドレス等の情報に対する処理は、ＭＡＣアドレス認証システム６４で行われる。また、ＡＲＰパケットに対する処理ルールを要求するときに通信装置１０が参照する処理ルールは、テーブルＩＤ＝Ｔａｂｌｅ０のフローテーブル４２に登録される。さらに、通信装置１０がＡＲＰパケットに対する処理ルールを要求するときに要求メッセージに含める情報は、ＡＲＰパケットの入力ポート（ＩＮ＿ＰＯＲＴ）とＡＲＰパケットの送信元ＭＡＣアドレス（ＥＴＨ＿ＳＲＣ）である。
【００３７】
図８の２番目のエントリは、Ｅｔｈｅｒｎｅｔプロトコルタイプ＝０ｘ０８００のパケットの処理ルールの決定に用いられるアプリケーションや、処理ルールの決定に使用される情報要素を保持する。Ｅｔｈｅｒｎｅｔプロトコルタイプ＝０ｘ０８００のパケットは、ＩＰｖ４（Internet Protocol version 4）パケットである。ＩＰｖ４パケット中の情報は、ＩＰルーティングシステム６５で処理される。また、ＩＰｖ４パケットに対する処理ルールを要求するときに通信装置１０が参照する処理ルールは、テーブルＩＤ＝Ｔａｂｌｅ１のフローテーブル４２に登録される。さらに、通信装置１０がＩＰｖ４パケットに対する処理ルールを要求するとき要求メッセージに含める情報は、ＩＰｖ４パケットの宛先ＩＰアドレス（ＩＰｖ４＿ＤＳＴ）である。
【００３８】
図９は、通知情報設定メッセージの例を説明する図である。図９は、通知情報設定メッセージがＯｐｅｎｆｌｏｗのＦｌｏｗＭｏｄメッセージとして実現される場合の例を示している。図９の例では、要求メッセージによって通信装置１０から制御装置５０に通知させる情報は、ＯＸＭ（OpenFlow eXtensible Match）ヘッダを用いて通信装置１０に通知される。
【００３９】
通知情報設定メッセージは、共通ヘッダ部とＦｌｏｗＭｏｄ情報を含む。共通ヘッダ部には、通知情報設定メッセージの送信元の制御装置５０に適用されているＯｐｅｎＦｌｏｗバージョンとメッセージ種別（ｔｙｐｅ）が含まれる。ＦｌｏｗＭｏｄ情報には、ｃｏｏｋｉｅ値、ｃｏｏｋｉｅ＿ｍａｓｋ、ｔａｂｌｅ＿ｉｄ、ｐｒｉｏｒｉｔｙ、ｍａｔｃｈ条件、ｉｎｓｔｒｕｃｔｉｏｎｓが含まれる。ｃｏｏｋｉｅ値は制御装置５０からフローエントリを指定する際に使用される値であり、ｃｏｏｋｉｅ＿ｍａｓｋは、ｃｏｏｋｉｅ値のマスクである。ｔａｂｌｅ＿ｉｄは、通知情報設定メッセージの宛先の通信装置１０中での、通知情報設定メッセージで通知された処理ルールの格納先となるフローテーブル４２を指定するテーブルＩＤである。ｐｒｉｏｒｉｔｙは、通知情報設定メッセージで通知する処理ルールが適用される優先度である。通知情報設定メッセージで通知される処理ルールの優先度は、例えば、通知情報設定メッセージで通知される処理ルールと同じテーブル中の他の条件よりも低くなるように設定される。この場合、フローテーブル４２中のいずれの条件にも当てはまらないパケットに対して、通知情報設定メッセージで通知される処理ルールが適用される。ｍａｔｃｈ条件は、マッチ種別（ｔｙｐｅ）とマッチ情報サイズ（ｌｅｎｇｔｈ）を含む。なお、図９では、ｍａｔｃｈ条件中の情報の一部は省略しているが、ｍａｔｃｈ条件としてフローテーブル４２に設定される情報が、ｍａｔｃｈ条件のフィールドに格納される。
【００４０】
ｉｎｓｔｒｕｃｔｉｏｎｓはパケットの処理内容を通知する情報であり、ｉｎｓｔｒｕｃｔｉｏｎフィールドと、１つ以上のアクションを含んでも良い。ｉｎｓｔｒｕｃｔｉｏｎフィールドには、ｉｎｓｔｒｕｃｔｉｏｎの種別（ｔｙｐｅ）、ｉｎｓｔｒｕｃｔｉｏｎ情報のサイズ（ｌｅｎ）が含まれ、適宜、パディングも含まれる。
【００４１】
通知情報設定メッセージには、アクションとして、出力アクション（ｏｆｐ＿ａｃｔｉｏｎ＿ｏｕｔｐｕｔ）が含まれる。ｏｆｐ＿ａｃｔｉｏｎ＿ｏｕｔｐｕｔには、アクションの種別（ｔｙｐｅ）、アクション情報のサイズ（ｌｅｎ）、出力先ポート番号（ｐｏｒｔ）、ｍａｘ＿ｌｅｎなどが含まれる。ここで、ｍａｘ＿ｌｅｎは、通信装置１０が要求メッセージ中に、処理ルールを問合わせる対象となるパケットを含める場合に、制御装置５０に送信される問合せ対象のパケットの最大サイズである。さらに、ｏｆｐ＿ａｃｔｉｏｎ＿ｏｕｔｐｕｔには、制御装置５０へ通知する情報を特定する情報がｍａｔｃｈ条件として記録される。図９の例では、制御装置５０へ通知する情報を特定する情報の特定に使用されるｍａｔｃｈ条件として、マッチ種別、マッチ情報サイズ、ＯＸＭフィールド、パディングが含まれる。出力アクション（ｏｆｐ＿ａｃｔｉｏｎ＿ｏｕｔｐｕｔ）の具体的な設定の例については、図１０を参照しながら説明する。
【００４２】
図１０は、通知情報設定メッセージでの通知情報の設定の例を説明する図である。図１０は、図８の１番目のエントリに従って通知情報設定メッセージが生成される場合について、ｏｆｐ＿ａｃｔｉｏｎ＿ｏｕｔｐｕｔに含まれる各情報要素と、情報要素の値の設定例を示している。図１０では、アクション種別を表わすｔｙｐｅフィールドの値が０に設定されている。アクション種別を表わすｔｙｐｅフィールド＝０は、アクション種別がＯＦＰＭＴ＿ＯＵＴＰＵＴであることを示す。アクション情報サイズ（ｌｅｎ）は、ｏｆｐ＿ａｃｔｉｏｎ＿ｏｕｔｐｕｔの全体のフィールド長をバイト単位で表わしたものであり、図１０の例では２０バイトである。ｐｏｒｔフィールドには、出力先ポート番号として、０ｘｆｆｆｆｆｆｆｄが記録されている。なお、ポート番号＝０ｘｆｆｆｆｆｆｆｄは、通知情報設定メッセージの宛先となる通信装置１０において制御装置５０に接続されているポートの番号（ｏｆｐｐ＿ｃｏｎｔｒｏｌｌｅｒ）である。ｍａｘ＿ｌｅｎは、処理ルールを問合わせる対象となったパケットのうち要求メッセージ中に含められたデータ量であるが、図１０の例では、ｍａｘ＿ｌｅｎ＝０に設定されている。このため、図１０に示す設定では、通信装置１０は、制御装置５０に対して処理ルールの問合せの際に、処理ルールを要求するきっかけとなったパケットを制御装置５０に転送しない。
【００４３】
次に、ｍａｔｃｈ条件の設定例を説明する。図１０の例では、ｍａｔｃｈ条件を表わすｔｙｐｅフィールドの値が１に設定されている。ｍａｔｃｈ条件を表わすｔｙｐｅフィールド＝１は、ｍａｔｃｈ条件がＯＦＰＭＴ＿ＯＸＭであることを示す。ｍａｔｃｈ情報サイズ（ｌｅｎｇｔｈ）は、ｍａｔｃｈ条件のフィールド長をバイト単位で表わしたものであり、図１０の例では１０バイトである。ｍａｔｃｈ条件には、任意の数のＯＸＭヘッダが含まれる。ここで、ＯＸＭヘッダには、ＯＸＭクラス（ｏｘｍ＿ｃｌａｓｓ）とＯＸＭフィールド（ｏｘｍ＿ｆｉｅｌｄ）が含まれる。各ＯＸＭヘッダは、要求メッセージによって通信装置１０から制御装置５０に通知される情報が記録されている。
【００４４】
例えば、１つ目のＯＸＭヘッダには、ｏｘｍ＿ｃｌａｓｓ＝０ｘ８０００、ｏｘｍ＿ｆｉｅｌｄ＝０が記録されている。ここで、ｏｘｍ＿ｃｌａｓｓ＝０ｘ８０００はＯＦＰＸＭＣ＿ＯＰＥＮＦＬＯＷ＿ＢＡＳＩＣを表わし、ｏｘｍ＿ｆｉｅｌｄ＝０はＯＦＰＸＭＴ＿ＯＦＢ＿ＩＮ＿ＰＯＲＴを表わす。このため、図１０の１つ目のＯＸＭフィールドでは、通信装置１０から制御装置５０への要求メッセージに含める情報として、処理ルールを問合わせる対象となっているパケットの入力ポートが設定されている。一方、２つ目のＯＸＭヘッダには、ｏｘｍ＿ｃｌａｓｓ＝０ｘ８０００、ｏｘｍ＿ｆｉｅｌｄ＝４が記録されている。ここで、ｏｘｍ＿ｆｉｅｌｄ＝４はＯＦＰＸＭＴ＿ＯＦＢ＿ＥＴＨ＿ＳＲＣを表わす。このため、図１０の２つ目のＯＸＭフィールドでは、通信装置１０から制御装置５０への要求メッセージに含める情報として、処理ルールを問合わせる対象となっているパケットの送信元ＭＡＣアドレスが設定されている。
【００４５】
なお、通知情報テーブル７２のその他のエントリや制御装置５０が記憶している情報に従って、要求メッセージ中に含める情報を通信装置１０に通知する際にも、図９、図１０を参照しながら説明したフォーマットと同様の通知情報メッセージが使用される。
【００４６】
図１１は、通知情報が設定される場合の処理の例を説明する図である。メッセージ処理部６１は、図８に示す通知情報テーブル７２の１番目のエントリの条件を参照することにより、図９、図１０に示す情報要素を備えた通知情報設定メッセージを生成したとする。図８に示す通知情報テーブル７２の１番目のエントリの条件を通信装置１０に設定するための通知情報設定メッセージをパケットＰ２１とする。すなわち、パケットＰ２１によって、ＡＲＰパケットを受信したときには、制御装置５０に対してＰａｃｋｅｔ−Ｉｎを送信することと、Ｐａｃｋｅｔ−Ｉｎに入力ポートと送信元ＭＡＣアドレスを含めることが通信装置１０に通知される。従って、端末５からのＡＲＰパケットについては、通信装置１０から制御装置５０に処理の問合せが行われ得る。
【００４７】
図１１の例では、メッセージ処理部６１は、パケットＰ２１中の情報の格納場所として、Ｔａｂｌｅ０の項番＃９９を指定している。なお、情報の格納に使用される項番の値は、Ｐｒｉｏｒｉｔｙを用いて通知される。以下の説明では、通信装置１０において、項番の値の小さい順にパケットの情報のｍａｔｃｈが行われるので、項番の値が大きいほど、優先度が低くなるものとする。
【００４８】
次に、ＡＲＰパケットに対してＡＲＰ応答を送信することを要求するためのＦｌｏｗＭｏｄメッセージが、パケットＰ２２として、メッセージ処理部６１によって生成されたとする。なお、パケットＰ２２のフォーマットは、Ｏｐｅｎｆｌｏｗの標準のＦｌｏｗＭｏｄメッセージと同様である。メッセージ処理部６１は、パケットＰ２２中の情報の格納場所として、Ｔａｂｌｅ１の項番＃９８を指定している。パケットＰ２２のメッセージは、同じ端末５に対して重複して認証処理を行うことを避けるために使用される。認証処理の重複を避ける方法等については後述する。
【００４９】
さらに、メッセージ処理部６１は、図８に示す通知情報テーブル７２の２番目のエントリの条件を参照することにより、パケットＰ２３に示す通知情報設定メッセージを生成したとする。このとき、メッセージ処理部６１は、パケットＰ２３中の情報の格納場所として、Ｔａｂｌｅ１の項番＃９９を指定したとする。パケットＰ２３によって、処理ルールが決定されていないＩＰパケットを受信したときには、制御装置５０に対してＰａｃｋｅｔ−Ｉｎを送信することと、Ｐａｃｋｅｔ−Ｉｎに宛先ＩＰアドレスを含めることが通信装置１０に通知される。
【００５０】
メッセージ処理部６１は、生成したパケットＰ２１〜Ｐ２３を、送信部５２に出力する。送信部５２は、パケットＰ２１〜Ｐ２３を通信装置１０ａに送信する（矢印Ａ２１）。すると、通信装置１０ａ中の受信部２２は、パケットＰ２１〜Ｐ２３を受信し、これらのパケットを取得部３３に出力する。取得部３３は、パケットＰ２１で通知された処理を、Ｔａｂｌｅ０の項番＃９９に記録する。このため、通信装置１０ａのＴａｂｌｅ０には、図１１に図示するＴａｂｌｅ０の情報が記録される。従って、Ｅｔｈｅｒｎｅｔプロトコルタイプ＝０ｘ０８０６のパケットを受信すると、入力ポートと受信パケットの送信元ＭＡＣアドレスを含むＰａｃｋｅｔ−Ｉｎを制御装置５０に送信することが通信装置１０ａのフローテーブル４２に記録される。なお、図１１以降の図面では、紙面の関係から、入力ポートと送信元ＭＡＣアドレスをまとめて、「ＭＡＣ情報」と記載することがある。
【００５１】
通信装置１０ａ中の取得部３３は、受信部２２を介してパケットＰ２２を取得すると、パケットＰ２２中の情報をＴａｂｌｅ１の項番＃９８に記録する。さらに、通信装置１０ａの取得部３３は、パケットＰ２３を取得すると、パケットＰ２３中の情報をＴａｂｌｅ１の項番＃９９に記録する。このため、パケットＰ２２とパケットＰ２３の処理後には、通信装置１０ａのＴａｂｌｅ１には、図１１に図示するＴａｂｌｅ１の情報が記録される。なお、図１１以降の図面では、紙面の関係から、宛先ＩＰアドレスを「ＩＰ情報」と記載することがある。
【００５２】
制御装置５０中の送信部５２は、パケットＰ２１〜Ｐ２３を通信装置１０ｂと通信装置１０ｃにも送信する（矢印Ａ２２、Ａ２３）。すると、通信装置１０ｂ、通信装置１０ｃのいずれでも、通信装置１０ａと同様の処理が行われるため、いずれの通信装置１０でも、Ｔａｂｌｅ０とＴａｂｌｅ１の情報は、図１１に示すようになる。
【００５３】
（２）ＭＡＣアドレスの認証処理
図１２は、認証処理の例を説明する図である。図１２に示す通信処理の開始時点において、通信装置１０ａ〜１０ｃの各々は、図１１に示すＴａｂｌｅ０とＴａｂｌｅ１をフローテーブル４２として保持しているものとする。また、図１２に示す通信処理の開始時点において、端末５ａは通信装置１０ａを介した通信を行ったことが無いものとする。
【００５４】
矢印Ａ３１において、端末５ａがパケットＰ３１を通信装置１０ａに送信したとする。以下、パケットＰ３１は、端末５ａがインターネット８中の装置との間で通信を行うために生成したＡＲＰ  Ｒｅｑｕｅｓｔであるとする。通信装置１０ａの通信部１１は、ポート１２ａを介してパケットＰ３１を受信したとする。通信部１１は、パケットＰ３１を生成部３２に出力する。生成部３２は、パケットＰ３１に適用する処理を特定するために、フローテーブル４２を検索する。パケットＰ３１は、ＡＲＰ  Ｒｅｑｕｅｓｔであるので、Ｅｔｈｅｒｎｅｔプロトコルタイプ＝０ｘ０８０６のパケットである。そこで、生成部３２は、図１１に示すＴａｂｌｅ０の項番＃９９の条件を適用することを決定する。生成部３２は、パケットＰ３１の処理を問合わせるためのＰａｃｋｅｔ−Ｉｎメッセージ（パケットＰ３２）を生成する。パケットＰ３２には、以下の情報がＭＡＣ情報として含められるが、パケットＰ３１中の他の情報は含められない。
入力ポート          ：ポート１２ａ
送信元ＭＡＣアドレス：ＭＡＣ５ａ（端末５ａのＭＡＣアドレス）
換言すると、生成部３２は、パケットＰ３１のうちで、Ｔａｂｌｅ０の項番＃９９のエントリにおいて指定されていない情報を、Ｐａｃｋｅｔ−Ｉｎメッセージに含める対象から除外している。生成部３２は、生成したＰａｃｋｅｔ−Ｉｎメッセージを、送信部２１を介して制御装置５０に送信する（矢印Ａ３２）。
【００５５】
制御装置５０の受信部５３は、パケットＰ３２のＰａｃｋｅｔ−Ｉｎメッセージを受信すると、メッセージ処理部６１に出力する。メッセージ処理部６１は、パケットＰ３２が処理ルールを問合わせるためのＰａｃｋｅｔ−Ｉｎメッセージであることから、パケットＰ３２をフロー制御計算部６３に出力する。フロー制御計算部６３は、パケットＰ３２にＭＡＣ情報が含まれていることから、ＭＡＣアドレスの認証が行われていない端末５からのパケットについての処理が問合わせられたと判定する。そこで、フロー制御計算部６３は、パケットＰ３２で処理が問合わせられているパケット（パケットＰ３１）の送信元のＭＡＣアドレスの認証処理をＭＡＣアドレス認証システム６４に要求することを決定する。フロー制御計算部６３は、パケットＰ３２に含まれているＭＡＣ情報を抽出して、ＭＡＣアドレス認証システム６４に認証処理を要求する（矢印Ａ３３）。
【００５６】
ＭＡＣアドレス認証システム６４は、予め、通信装置１０ａ〜１０ｃを介した通信を許可する装置のＭＡＣアドレスの情報を保持しており、認証に成功した装置の通信を許可するために、認証の結果を制御装置５０に通知する。図１２の例では、ＭＡＣアドレス認証システム６４での認証処理が成功したとする。ＭＡＣアドレス認証システム６４は、フロー制御計算部６３に対して、認証処理の成功を通知する。
【００５７】
フロー制御計算部６３は、ＭＡＣアドレスの認証処理が成功した場合、同じ装置から送信されたパケットを複数回にわたって認証することを避けるために、通信を許可させるための処理ルールを生成する。図１２の例では、フロー制御計算部６３は、通信装置１０ａがポート１２ａから送信元ＭＡＣアドレス＝ＭＡＣ５ａのパケットを受信した場合は、Ｔａｂｌｅ１中の処理ルールを参照することを求めるＦｌｏｗＭｏｄメッセージを生成する（パケットＰ３３）。このとき、フロー制御計算部６３は、パケットＰ３３で通知する条件が通信装置１０ａにおいて、認証処理に使用される条件よりも優先度が高くなるように、パケットＰ３３で通知する条件の登録に使用される項番を決定する。ここでは、フロー制御計算部６３は、パケットＰ３３の条件をＴａｂｌｅ０の項番＃１に登録されるようにＦｌｏｗＭｏｄメッセージを生成したとする。フロー制御計算部６３は、送信部５２を介して、パケットＰ３３を通信装置１０ａに送信する（矢印Ａ３４）。
【００５８】
通信装置１０ａの受信部２２は、パケットＰ３３を受信すると、パケットＰ３３を取得部３３に出力する。取得部３３は、パケットＰ３３に含まれている情報を、パケットＰ３３での指定に従って、通信装置１０ａが備えるフローテーブル４２中のＴａｂｌｅ０の項番＃１に登録する。このため、通信装置１０ａが保持するフローテーブル４２の情報は、図１１に示す情報から図１２に示すように変更される。
【００５９】
取得部３３は、パケットＰ３３は、パケットＰ３２に示すＰａｃｋｅｔ−Ｉｎメッセージに対する応答として受信したパケットであることから、生成部３２にパケットＰ３３で通知された処理ルールを通知する。生成部３２は、通知された処理ルールを用いて、Ｔａｂｌｅ１中でパケットＰ３１に適用可能な処理ルールを検索する。ここで、パケットＰ３１はＡＲＰ  Ｒｅｑｕｅｓｔであるので、Ｅｔｈｅｒｎｅｔプロトコルタイプ＝０ｘ０８０６のパケットである。そこで、生成部３２は、図１２に示すＴａｂｌｅ１の項番＃９８の条件を適用することを決定する。Ｔａｂｌｅ１の項番＃９８では、Ｅｔｈｅｒｎｅｔプロトコルタイプ＝０ｘ０８０６のパケットに対してＡＲＰ応答を送信することが記録されている。生成部３２は、パケットＰ３１と適用する条件をパケット処理部３１に出力する。パケット処理部３１は、生成部３２からの通知に従って、通信装置１０ａに割り当てられたＭＡＣアドレスを通知するＡＲＰ応答（パケットＰ３４）を生成する。生成部３２は、生成したパケットＰ３４を、通信部１１を介して端末５ａに送信する（矢印Ａ３５）。端末５ａは、ＡＲＰ応答を受信することにより、通信装置１０ａのＭＡＣアドレスを取得するので、取得したＭＡＣアドレスを用いて、通信を行うことができる。
【００６０】
（３）データパケットの転送処理
図１３は、データパケットの転送処理の例を説明する図である。図１２に示す認証処理が終わった後で端末５ａがインターネット８中の装置と通信を行うために、パケットＰ４１を生成したとする。図１３の例では、パケットＰ４１は、ＩＰｖ４パケットである。ここで、端末５ａに割り当てられているＩＰアドレスがＩＰａ、端末５ａの通信先の装置に割り当てられているＩＰアドレスがＩＰｂであるとする。すると、パケットＰ４１には、以下のアドレス情報が含まれる。
Ｅｔｈｅｒｎｅｔプロトコルタイプ：０ｘ０８００
送信元ＭＡＣアドレス：ＭＡＣ５ａ（端末５ａのＭＡＣアドレス）
宛先ＭＡＣアドレス  ：ＭＡＣ１０ａ（通信装置１０ａのＭＡＣアドレス）
送信元ＩＰアドレス  ：ＩＰａ
宛先ＩＰアドレス    ：ＩＰｂ
端末５ａは、パケットＰ４１を通信先に向けて送信するので、パケットＰ４１は通信装置１０ａに到達する（矢印Ａ４１）。
【００６１】
通信装置１０ａの通信部１１は、ポート１２ａを介してパケットＰ４１を受信する。通信部１１は、パケットＰ４１を、入力ポートの情報と共に生成部３２に出力する。生成部３２は、パケットＰ４１に適用する処理ルールをＴａｂｌｅ０から検索する。この時点では、通信装置１０ａは、図１２に示すフローテーブル４２を保持している。このため、生成部３２は、パケットＰ４１の送信元ＭＡＣアドレスと入力ポートの組合せがＴａｂｌｅ０の項番＃１のｍａｔｃｈ条件に当てはまると判定し、Ｔａｂｌｅ１を参照する。生成部３２は、パケットＰ４１のＥｔｈｅｒｎｅｔプロトコルタイプの情報から、パケットＰ４１にＴａｂｌｅ１の項番＃９９のｍａｔｃｈ条件を適用することを決定する。そこで、生成部３２は、パケットＰ４１の処理を問合わせるためのＰａｃｋｅｔ−Ｉｎメッセージ（パケットＰ４２）を生成する。パケットＰ４２には、パケットＰ４１の宛先ＩＰアドレス（ＩＰｂ）がＩＰ情報として含められるが、パケットＰ４１中の他の情報は含められない。換言すると、生成部３２は、パケットＰ４１のうちで、Ｔａｂｌｅ１の項番＃９９のエントリにおいて指定されていない情報を、Ｐａｃｋｅｔ−Ｉｎメッセージに含める対象から除外している。生成部３２は、生成したＰａｃｋｅｔ−Ｉｎメッセージを、送信部２１を介して、制御装置５０に送信する（矢印Ａ４２）。
【００６２】
制御装置５０の受信部５３は、パケットＰ４２のＰａｃｋｅｔ−Ｉｎメッセージを受信すると、メッセージ処理部６１に出力する。メッセージ処理部６１は、パケットＰ４２が処理ルールを問合わせるためのＰａｃｋｅｔ−Ｉｎメッセージであることから、パケットＰ４２をフロー制御計算部６３に出力する。フロー制御計算部６３は、パケットＰ４２にＩＰ情報が含まれていることから、経路計算処理の対象となるパケットについての処理が問合わせられたと判定する。そこで、フロー制御計算部６３は、パケットＰ４２で処理が問合わせられているパケット（パケットＰ４１）の宛先ＩＰアドレスに向けた経路計算処理をＩＰルーティングシステム６５に要求することを決定する。フロー制御計算部６３は、パケットＰ４２に含まれているＩＰ情報を抽出して、ＩＰルーティングシステム６５に経路計算処理を要求する（矢印Ａ４３）。
【００６３】
ＩＰルーティングシステム６５は、予め、通信システム中のトポロジ情報などを保持しており、トポロジ情報を用いた経路計算が可能であるとする。ＩＰルーティングシステム６５は、経路計算処理の結果を制御装置５０に通知する。図１３の例では、ＩＰルーティングシステム６５において、ＩＰｂ宛てのパケットはルータ６を介してインターネット８に向けて転送することが決定されたとする。フロー制御計算部６３は、経路計算の結果が得られると、処理ルールを生成する。図１３の例では、フロー制御計算部６３は、通信装置１０ａが宛先ＩＰアドレス＝ＩＰｂのＩＰｖ４パケットを受信した場合、受信パケットをルータ６に転送することを求めるＦｌｏｗＭｏｄメッセージ（パケットＰ４３）を生成する。なお、受信パケットをルータ６に転送するために、受信パケットの宛先ＭＡＣアドレスをルータ６に設定されているＭＡＣアドレスに設定することも、パケットＰ４３によって合わせて要求される。また、フロー制御計算部６３は、パケットＰ４３で通知する条件が、ＩＰｖ４パケットの処理ルールをＰａｃｋｅｔ−Ｉｎで制御装置５０に問合わせる条件よりも優先されるように、パケットＰ４３で通知する条件の登録に使用される項番を決定する。ここでは、フロー制御計算部６３は、パケットＰ４３の条件をＴａｂｌｅ１の項番＃１に登録されるようにＦｌｏｗＭｏｄメッセージを生成したとする。フロー制御計算部６３は、送信部５２を介して、パケットＰ４３を通信装置１０ａに送信する（矢印Ａ４４）。
【００６４】
通信装置１０ａの受信部２２は、パケットＰ４３を受信すると、パケットＰ４３を取得部３３に出力する。取得部３３は、パケットＰ４３に含まれている情報を、通信装置１０ａが備えるフローテーブル４２中のＴａｂｌｅ１の項番＃１に登録する。このため、通信装置１０ａが保持するフローテーブル４２の情報は、図１２に示す情報から図１３に示すように変更される。
【００６５】
取得部３３は、パケットＰ４３がパケットＰ４２に示すＰａｃｋｅｔ−Ｉｎメッセージに応答するパケットであることから、生成部３２にパケットＰ４３で通知された処理ルールを通知する。生成部４２は、通知された処理ルールとともにパケットＰ４１をパケット処理部３１に出力する。パケット処理部３１は、パケットＰ４１をルータ６に転送するためのＭＡＣアドレスの変更処理などを行った上で、通信部１１を介して、パケットＰ４１をルータ６に転送する（矢印Ａ４５）。
【００６６】
以下、図１４〜図１６のフローチャートを参照しながら、各装置の動作を時系列に沿って説明する。
【００６７】
図１４は、制御装置５０の処理の例を説明するフローチャートである。図１４は、制御装置５０が通信装置１０に対して、要求メッセージ中に含める情報を通知する際に行う処理の例を示している。図１４の例でも、要求メッセージとしてＰａｃｋｅｔ−Ｉｎメッセージが使用され、通知情報設定メッセージとして図９や図１０に示す情報要素を含むＦｌｏｗＭｏｄメッセージが使用される場合について説明する。図１４では、ループ端Ｌ１とＬ２で挟まれたループのことを「装置設定ループ」と記載する。また、ループ端Ｌ１１とＬ１２で挟まれたループのことを「エントリ設定ループ」と記載する。
【００６８】
まず、メッセージ処理部６１は、処理対象の通信装置１０を選択することにより、装置設定ループ中の処理を開始する（ループ端Ｌ１）。メッセージ処理部６１は、通知情報テーブル７２中の未処理のエントリを処理対象のエントリとして選択することにより、エントリ設定ループの処理を開始する（ループ端Ｌ１１）。メッセージ処理部６１は、処理対象のエントリはＰａｃｋｅｔ−Ｉｎメッセージで通知される通知情報の設定用の条件を保持したエントリであるかを判定する（ステップＳ１）。処理対象のエントリが通知情報の設定用の条件を保持したエントリである場合、メッセージ処理部６１は、パケットの処理ルールを決定するときに使用する情報を処理対象のエントリから特定する（ステップＳ１でＹｅｓ、ステップＳ２）。メッセージ処理部６１は、特定した情報をＰａｃｋｅｔ−Ｉｎメッセージでの通知対象に設定したＦｌｏｗＭｏｄメッセージを生成する（ステップＳ３）。その後、メッセージ処理部６１は、送信部５２を介して、生成したＦｌｏｗＭｏｄを処理対象の通信装置１０に送信する（ステップＳ５）。
【００６９】
一方、処理対象のエントリが通知情報の設定用の条件を保持したエントリではない場合、メッセージ処理部６１は、エントリ中の情報を含むＦｌｏｗＭｏｄメッセージを生成する（ステップＳ１でＮｏ、ステップＳ４）。なお、ステップＳ４で生成されるＦｌｏｗＭｏｄメッセージは、図９、図１０を参照したフォーマットでなくても良い。ステップＳ４の処理が行われた場合も、ステップＳ５の処理が行われる。
【００７０】
メッセージ処理部６１は、通知情報テーブル７２中の全てのエントリを処理したかを判定する（ループ端Ｌ１２）。通知情報テーブル７２中の全てのエントリを処理していない場合、ループ端Ｌ１１以降の処理が繰り返される。一方、通知情報テーブル７２中の全てのエントリを処理した場合、メッセージ処理部６１は、ネットワーク中の全ての通信装置１０を処理対象としたかを判定する（ループ端Ｌ２）。このとき、適宜、メッセージ処理部６１は、ネットワーク中のトポロジ情報を使用することができるものとする。ネットワーク中の全ての通信装置１０を処理対象としていない場合、メッセージ処理部６１は、処理対象の通信装置１０を変更した上で、ループ端Ｌ１以降の処理を繰り返す。一方、ネットワーク中の全ての通信装置１０を処理対象とした場合、メッセージ処理部６１は、処理を終了する。
【００７１】
なお、図１４は一例であって、実装に応じて変更され得る。例えば、エントリ設定ループの中に装置設定ループが含まれていても良い。この場合、特定のエントリについての設定処理がネットワーク中の全ての通信装置１０に対して行われた後で、他のエントリの情報についての処理が行われる。
【００７２】
図１５は、通知情報設定メッセージを受信した通信装置１０の処理の例を説明するフローチャートである。通信装置１０中の受信部２２は、制御装置５０から通知情報設定メッセージを受信する（ステップＳ１１）。受信部２２は、通知情報設定メッセージを取得部３３に出力する。すると、取得部３３は、通知情報設定メッセージで指定された内容を保持するエントリを、フローテーブル４２中に設定する（ステップＳ１２）。
【００７３】
図１６は、処理ルールを要求する際の通信装置１０の処理の例を説明するフローチャートである。図１６でも、要求メッセージとしてＰａｃｋｅｔ−Ｉｎメッセージが使用される。また、図１６では、通知情報設定メッセージで指定された内容を保持するエントリのことを、その他のエントリと区別し易くするために「Ｐａｃｋｅｔ−Ｉｎ内容指定のフローエントリ」と記載する。
【００７４】
通信装置１０中の通信部１１がユーザパケットを受信する（ステップＳ２１）。生成部３２は、ユーザパケットがＰａｃｋｅｔ−Ｉｎ内容指定のフローエントリ以外のエントリのｍａｔｃｈ条件にｍａｔｃｈするかを判定する（ステップＳ２２）。ユーザパケットがＰａｃｋｅｔ−Ｉｎ内容指定のフローエントリ以外のエントリのｍａｔｃｈ条件にｍａｔｃｈする場合、パケット処理部３１は、ｍａｔｃｈしたエントリに従ってパケットを処理する（ステップＳ２２でＹｅｓ、ステップＳ２３）。一方、ステップＳ２２でｍａｔｃｈしないと判定した場合、生成部３２は、ユーザパケットがＰａｃｋｅｔ−Ｉｎ内容指定のフローエントリのｍａｔｃｈ条件にｍａｔｃｈするかを判定する（ステップＳ２４）。ユーザパケットがＰａｃｋｅｔ−Ｉｎ内容指定のフローエントリのｍａｔｃｈ条件にもｍａｔｃｈしない場合、生成部３２は、ユーザパケットを破棄する（ステップＳ２４でＮｏ、ステップＳ２５）。
【００７５】
ユーザパケットがＰａｃｋｅｔ−Ｉｎ内容指定のフローエントリのｍａｔｃｈ条件にｍａｔｃｈする場合、生成部３２は、処理対象のエントリをユーザパケットに適用することを決定する（ステップＳ２４でＹｅｓ）。生成部３２は、ユーザパケットに適用するエントリから、Ｐａｃｋｅｔ−Ｉｎメッセージに含める情報要素を取得する（ステップＳ２６）。生成部３２は、取得した情報要素に対応する値を、ユーザパケットから抽出する（ステップＳ２７）。さらに、生成部３２は、抽出した値を用いてＰａｃｋｅｔ−Ｉｎメッセージを作成し、制御装置５０に送信する（ステップＳ２８）。
【００７６】
図１７は、制御装置５０と通信装置１０の間で送受信する情報の削減例を説明する図である。パケットＰ５１は、実施形態にかかる通信方法が適用されない場合に送受信されるＰａｃｋｅｔ−Ｉｎメッセージの例である。パケットＰ５１では、ＡＲＰパケットに対する処理ルールが問合わせられている。このときのＰａｃｋｅｔ−Ｉｎメッセージには、共通ヘッダ、Ｐａｃｋｅｔ−Ｉｎヘッダの他に、ＶＬＡＮ（Virtual Local Area Network）  ＩＤやＶＬＡＮ  プライオリティ（ＶＬＡＮ  ＰＣＰ）等の情報も含まれる。パケットＰ５１の場合、さらに、入力ポート（ＩＮ  ＰＯＲＴ）、物理ポート（ＰＨＹ  ＰＯＲＴ）、宛先ＭＡＣアドレス（ＥＴＨ  ＤＳＴ）、送信元ＭＡＣアドレス（ＥＴＨ  ＳＲＣ）、イーサタイプ（ＥＴＨ  ＴＹＰＥ）も含まれる。ＡＲＰオペコード（ＡＲＰ  ＯＰ）、ＡＲＰ送信元ＩＰアドレス（ＡＲＰ  ＳＰＡ）、ＡＲＰターゲットＩＰアドレス（ＡＲＰ  ＴＰＡ）もパケットＰ５１に含まれる。さらに、ＡＲＰ送信元ＭＡＣアドレス（ＡＲＰ  ＳＨＡ）、ＡＲＰターゲットＭＡＣアドレス（ＡＲＰ  ＴＨＡ）等もパケットＰ５１に含まれる。このため、パケットＰ５１の例では、共通ヘッダとＰａｃｋｅｔ−Ｉｎヘッダの後に１０４バイト分もの情報が含められている。
【００７７】
一方、実施形態にかかる通信装置１０がＡＲＰパケットに対する処理ルールの問い合わせに使用するＰａｃｋｅｔ−ＩｎメッセージをパケットＰ５２に示す。パケットＰ５２に示すパケットには、共通ヘッダ、Ｐａｃｋｅｔ−Ｉｎヘッダの他に、入力ポートと送信元ＭＡＣアドレスしか含まれていない。このため、パケットＰ５２の例では、共通ヘッダとＰａｃｋｅｔ−Ｉｎヘッダの後に２４バイト分の情報を含めるだけですむ。
【００７８】
共通ヘッダとＰａｃｋｅｔ−Ｉｎヘッダの合計は８０バイト程度である。このため、パケットＰ５１では、１つのＰａｃｋｅｔ−Ｉｎメッセージとして、８０＋１０４＝１８４バイトが送信されていることになる。しかし、実施形態にかかる方法によると、１つのＰａｃｋｅｔ−Ｉｎメッセージは、パケットＰ５２に示すように、８０＋２４＝１０４バイトですむ。このため、Ｐａｃｋｅｔ−Ｉｎメッセージで送信される情報量は、実施形態にかかる方法を用いると、実施形態にかかる方法を用いない場合の１０４／１８４＝５６％程度に抑えられる。従って、実施形態にかかる方法では、処理ルールの問合せの対象の際に制御装置５０と通信装置１０の間で送受信される情報量を、実施形態にかかる方法を使用しない場合の半分程度に削減することができる。従って、通信装置１０と制御装置５０との間でのデータ通信量を削減することができる。
【００７９】
図１７を参照しながら述べたデータ削減の例は一例であり、実施形態にかかる通信方法で用いられるＰａｃｋｅｔ−Ｉｎメッセージに含められる情報要素の数などによって、通信装置１０と制御装置５０の間で送受信されるデータの削減状況は変わりうる。しかし、実施形態にかかる通信方法を用いると、制御装置５０やアプリケーションサーバ等での処理に使用されないデータが通信装置１０から制御装置５０に送信されることが防止されるので、制御装置５０と通信装置１０の間の通信が効率化される。
【００８０】
＜その他＞
なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
【００８１】
以上の説明では、処理ルールの決定に使用されるアプリケーションに応じて制御装置５０に通知される情報が異なることを示すために、複数のアプリケーションでパケットが処理される場合を例として説明したが、これは一例である。例えば、制御装置５０において１種類のアプリケーションで処理ルールが生成される場合であっても、制御装置５０は、処理ルールの決定に使用する情報を要求メッセージ中に含める対象として、通信装置１０に通知する。さらに、図１１〜図１３などを参照しながら述べた説明は一例であり、処理ルールの決定に使用されるアプリケーションの種類も任意である。また、処理ルールの決定に使用されるアプリケーションは、制御装置５０中のフロー制御計算部６３で動作しても良い。
【００８２】
図１３の例では、分かりやすくするために、通信装置１０がルータ６を介してインターネット８に接続されている場合を説明したが、通信装置１０は、レイヤ２対応のコアスイッチを介してインターネット８に接続されていても良い。通信装置１０がレイヤ２対応のコアスイッチを介してインターネット８に接続されている場合、通信装置１０は、インターネット８中のＬ３スイッチやルータのＭＡＣアドレスを宛先ＭＡＣアドレスに変更した後で、インターネット８宛のパケットを転送する。
【００８３】
以上の説明で示したテーブルやメッセージのフォーマットは一例であり、テーブルやメッセージ中に含められる情報要素は、実装に応じて任意に変更され得る。
【００８４】
以上の説明では、制御装置５０が通知情報テーブル７２を保持している場合を例としたが、これは一例に過ぎず、制御装置５０は、要求メッセージに含めることを要求する情報要素とパケットの特徴情報の組合せを任意の方法で取得できる。例えば、制御装置５０に対して、ＩＰルーティングシステム６５やＭＡＣアドレス認証システム６４などの個々のアプリケーションシステムが、処理に使用する情報を制御装置５０に通知しても良い。この場合、制御装置５０中のメッセージ処理部６１は、個々のシステムで処理されるパケットの特徴情報と、各システムから通知された情報要素を組み合わせることにより、通信装置１０に通知する情報を取得する。
【００８５】
上述の実施形態に関し、さらに以下の付記を開示する。
（付記１）
制御装置で決定された処理ルールに基づいてパケットを処理する通信装置であって、
前記処理ルールを問合わせる際に前記制御装置に通知する情報要素と、前記処理ルールを問合わせる対象のパケットの特徴を表わす特徴情報の組み合わせを取得する取得部と、
処理対象のパケットを受信する通信部と、
前記処理対象のパケットが前記特徴情報を含む場合、前記特徴情報に対応付けられた情報要素の前記処理対象のパケットでの値と、前記処理対象のパケットに適用する処理ルールの要求とを含む要求メッセージを生成する生成部と、
前記要求メッセージを前記制御装置に送信する送信部
を備えることを特徴とする通信装置。
（付記２）
前記生成部は、前記処理対象のパケット中の情報のうち前記特徴情報に対応付けられていない情報を、前記要求メッセージに含める対象から除外する
ことを特徴とする付記１に記載の通信装置。
（付記３）
前記制御装置から通知された処理ルールと前記組み合わせを記憶する記憶部と、
前記記憶部に格納されている処理ルールが適用可能な受信パケットを処理するパケット処理部
をさらに備え、
前記生成部は、
前記処理対象のパケットが前記パケット処理部で処理されない場合、前記処理対象のパケット中の情報と前記特徴情報を比較し、
前記処理対象のパケットが前記特徴情報を含む場合、前記要求メッセージを生成する
ことを特徴とする付記１または２に記載の通信装置。
（付記４）
前記取得部は、第１のアプリケーションで処理されるパケットの特徴を表わす第１の特徴情報と第１の情報要素が対応付けられた第１の組み合わせ、および、第２のアプリケーションで処理されるパケットの特徴を表わす第２の特徴情報と第２の情報要素が対応付けられた第２の組み合わせを取得し、
前記生成部は、
前記処理対象のパケットが前記第１の特徴情報を含む場合、前記第１の情報要素を含む要求メッセージを生成し、
前記処理対象のパケットが前記第２の特徴情報を含む場合、前記第２の情報要素を含む要求メッセージを生成する
ことを特徴とする付記１〜３のいずれか１項に記載の通信装置。
（付記５）
通信装置からのパケットの処理の問合せに応じて、前記通信装置での前記パケットの処理を決定すると共に、決定した処理の実行を前記通信装置に要求することにより、ネットワークでの通信を制御する制御装置であって、
前記通信装置でのパケットの処理の方法を表す処理ルールを決定する際に使用する情報要素を、前記処理ルールの問合せの対象のパケットに含まれる特徴情報に対応付けるとともに、前記処理ルールの問合せの際に前記特徴情報に対応付けられた情報要素を前記制御装置に送信することを要求する制御メッセージを生成する制御部と、
前記通信装置に、前記制御メッセージを送信する送信部
を備えることを特徴とする制御装置。
（付記６）
前記制御部は、
前記処理ルールを通知する通知メッセージに、通知対象の処理ルールの適用の優先順位を表わす第１の優先度を含めると共に、前記制御メッセージに前記特徴情報に対応付けられた情報要素を含む要求メッセージの送信処理の優先順位を表わす第２の優先度を含め、
前記第２の優先度よりも前記第１の優先度の優先順位を高くする
ことを特徴とする付記５に記載の制御装置。
（付記７）
前記制御部は、第１のアプリケーションで処理されるパケットの特徴を表わす第１の特徴情報と第１の情報要素が対応付けられた第１の制御メッセージと、第２のアプリケーションで処理されるパケットの特徴を表わす第２の特徴情報と第２の情報要素が対応付けられた第２の制御メッセージとを生成し、
前記送信部は、前記第１および第２の制御メッセージを、前記ネットワーク中に含まれる通信装置の各々に送信する
ことを特徴とする付記５または６に記載の制御装置。
（付記８）
通信装置からのパケットの処理の問合せに応じて、前記通信装置での前記パケットの処理ルールを決定すると共に、前記処理ルールを前記通信装置に通知する制御装置と、
前記処理ルールに基づいてパケットを処理する前記通信装置
を含み、
前記通信装置は、
前記処理ルールを問合わせる際に前記制御装置に通知する情報要素と、前記処理ルールを問合わせる対象のパケットの特徴を表わす特徴情報の組み合わせを取得し、
処理対象のパケットを受信すると、前記処理対象のパケットが前記特徴情報を含む場合、前記特徴情報に対応付けられた情報要素の前記処理対象のパケットでの値と、前記処理対象のパケットに適用する処理ルールの要求を含む要求メッセージを前記制御装置に送信する
ことを特徴とする通信システム。
（付記９）
前記制御装置は、
前記処理ルールを決定する際に使用する情報要素を、前記処理ルールの問合せの対象のパケットに含まれる特徴情報に対応付け、
前記処理ルールの問合せの際に前記特徴情報に対応付けられた情報要素を前記制御装置に送信することを要求する制御メッセージを、前記通信装置に送信する
ことを特徴とする付記８に記載の通信システム。
（付記１０）
前記通信装置は、前記処理対象のパケット中の情報のうち前記特徴情報に対応付けられていない情報を前記要求メッセージに含める対象から除外する
ことを特徴とする付記８または９に記載の通信システム。
（付記１１）
前記制御装置は、
前記処理ルールを通知する通知メッセージに、通知対象の処理ルールの適用の優先順位を表わす第１の優先度を含めると共に、前記制御メッセージに前記特徴情報に対応付けられた情報要素を含む要求メッセージの送信処理の優先順位を表わす第２の優先度を含め、
前記第２の優先度よりも前記第１の優先度の優先順位を高くし、
前記通信装置は、前記処理対象のパケットに前記通知メッセージで通知された処理ルールが適用できる場合、前記特徴情報に対応付けられた情報要素を含む要求メッセージの送信処理を行わずに、前記通知メッセージで通知された処理ルールを前記処理対象のパケットに適用する
ことを特徴とする付記９または１０に記載の通信システム。
（付記１２）
制御装置で決定された処理ルールに基づいてパケットを処理する通信装置が、
前記処理ルールを問合わせる際に前記制御装置に通知する情報要素と、前記処理ルールを問合わせる対象のパケットの特徴を表わす特徴情報の組み合わせを取得し、
処理対象のパケットを受信し、
前記処理対象のパケットが前記特徴情報を含む場合、前記特徴情報に対応付けられた情報要素の前記処理対象のパケットでの値と、前記処理対象のパケットに適用する処理ルールの要求とを含む要求メッセージを生成し、
前記要求メッセージを前記制御装置に送信する
処理を行うことを特徴とする通信方法。
（付記１３）
前記制御装置は、
前記処理ルールを決定する際に使用する情報要素を、前記処理ルールの問合せの対象のパケットに含まれる特徴情報に対応付け、
前記処理ルールの問合せの際に前記特徴情報に対応付けられた情報要素を前記制御装置に送信することを要求する制御メッセージを、前記通信装置に送信する
ことを特徴とする付記１２に記載の通信方法。
（付記１４）
前記通信装置は、前記処理対象のパケット中の情報のうち前記特徴情報に対応付けられていない情報を前記要求メッセージに含める対象から除外する
ことを特徴とする付記１２または１３に記載の通信方法。
（付記１５）
前記制御装置は、
前記処理ルールを通知する通知メッセージに、通知対象の処理ルールの適用の優先順位を表わす第１の優先度を含めると共に、前記制御メッセージに前記特徴情報に対応付けられた情報要素を含む要求メッセージの送信処理の優先順位を表わす第２の優先度を含め、
前記第２の優先度よりも前記第１の優先度の優先順位を高くし、
前記通信装置は、前記処理対象のパケットに前記通知メッセージで通知された処理ルールが適用できる場合、前記特徴情報に対応付けられた情報要素を含む要求メッセージの送信処理を行わずに、前記通知メッセージで通知された処理ルールを前記処理対象のパケットに適用する
ことを特徴とする付記１３または１４に記載の通信方法。
【符号の説明】
【００８６】
２  ＯＦスイッチ
４  ＯＦコントローラ
５  端末
６  ルータ
８  インターネット
１０  通信装置
１１、２０、５１  通信部
１２  ポート
１３、５４  入出力部
２１、５２  送信部
２２、５３  受信部
３０、６０  制御部
３１  パケット処理部
３２  生成部
３３  取得部
４０、７０  記憶部
４１、７１  バッファ
４２  フローテーブル
５０  制御装置
６１  メッセージ処理部
６２  パケット解析部
６３  フロー制御計算部
６４  ＭＡＣアドレス認証システム
６５  ＩＰルーティング
７２  通知情報テーブル
１０１  プロセッサ
１０２  メモリ
１０３  バス
１０４  ネットワーク接続装置
１０５  ネットワーク
１０６  入出力装置
【図１】
2017123522.tif 000003
【図２】
2017123522.tif 000004
【図３】
2017123522.tif 000005
【図４】
2017123522.tif 000006
【図５】
2017123522.tif 000007
【図６】
2017123522.tif 000008
【図７】
2017123522.tif 000009
【図８】
2017123522.tif 000010
【図９】
2017123522.tif 000011
【図１０】
2017123522.tif 000012
【図１１】
2017123522.tif 000013
【図１２】
2017123522.tif 000014
【図１３】
2017123522.tif 000015
【図１４】
2017123522.tif 000016
【図１５】
2017123522.tif 000017
【図１６】
2017123522.tif 000018
【図１７】
2017123522.tif 000019