(57)【特許請求の範囲】
【請求項１】
少なくとも１つ以上の通信ノードと、
前記通信ノードを制御し、複数の外部ノード間の通信を制御する制御装置と、
前記複数の外部ノード間の通信可否を定義した通信可否情報を記憶する通信可否記憶装置と、を含み、
前記制御装置は、前記通信ノードを介して受信したアドレス解決要求メッセージが、一の外部ノードから当該外部ノードと通信が許可されている他の外部ノードのアドレスの解決を要求するアドレス解決要求メッセージでない場合、前記アドレス解決応答メッセージの転送を抑止するよう前記通信ノードを制御することにより、前記アドレス解決要求メッセージの送信元へのアドレスの応答を抑止する通信システム。
【請求項２】
前記アドレス解決要求メッセージの転送を抑止するよう前記通信ノードを制御することにより、前記アドレス解決要求メッセージの送信元へのアドレスの応答を抑止する請求項１の通信システム。
【請求項３】
前記制御装置は、前記通信ノードを介して受信したアドレス解決要求メッセージが、一の外部ノードから当該外部ノードと通信が許可されている他の外部ノードのアドレスの解決を要求するアドレス解決要求メッセージである場合、前記アドレス解決要求メッセージのユニキャストまたはブロードキャストを行うよう前記通信ノードを制御する請求項１または２の通信システム。
【請求項４】
前記制御装置は、前記通信ノードによって構成されるネットワークトポロジを参照して、前記アドレス解決要求メッセージが最短経路で転送されるよう前記通信ノードを制御する請求項３の通信システム。
【請求項５】
前記制御装置は、さらに、前記アドレス解決要求メッセージまたはアドレス解決応答メッセージに基づいて、各外部ノードのアドレスを記憶するアドレスキャッシュ部を備え、
前記アドレスキャッシュ部を参照して、前記アドレス解決要求メッセージの送信元へアドレスを応答する請求項１から４いずれか一の通信システム。
【請求項６】
前記制御装置は、さらに、各外部ノードのアドレスを記憶するアドレス記憶部を備え、
前記アドレス記憶部を参照して、前記アドレス解決要求メッセージの送信元へアドレスを応答する請求項１の通信システム。
【請求項７】
前記通信可否記憶装置には、前記外部ノードの前記アドレスよりも上位のアドレスを用いて前記外部ノード間の通信可否が定義されており、
前記制御装置は、アドレス解決要求メッセージに含まれる前記上位のアドレスの組を用いて、通信可否を判定する請求項１から６いずれか一の通信システム。
【請求項８】
前記アドレスはＭＡＣアドレスであり、
前記アドレス解決要求メッセージは、ＩＰｖ４またはＩＰｖ６のアドレス解決メッセージである請求項１から７いずれか一の通信システム。
【請求項９】
複数の外部ノード間に配置された少なくとも１つ以上の通信ノードと、
前記複数の外部ノード間の通信可否を定義した通信可否情報を記憶する通信可否記憶装置と、に接続され、
前記通信ノードを介して受信したアドレス解決要求メッセージが、一の外部ノードから当該外部ノードと通信が許可されている他の外部ノードのアドレスの解決を要求するアドレス解決要求メッセージでない場合、前記アドレス解決応答メッセージの転送を抑止するよう前記通信ノードを制御することにより、前記アドレス解決要求メッセージの送信元へのアドレスの応答を抑止する制御装置。
【請求項１０】
少なくとも１つ以上の通信ノードと、
前記通信ノードを制御し、複数の外部ノード間の通信を制御する制御装置と、
前記複数の外部ノード間の通信可否を定義した通信可否情報を記憶する通信可否記憶装置と、を含む通信システムにおいて、
前記通信ノードを介して受信したアドレス解決要求メッセージが、一の外部ノードから当該外部ノードと通信が許可されている他の外部ノードのアドレスの解決を要求するアドレス解決要求メッセージであるか否かを確認するステップと、
前記アドレス解決要求メッセージが、一の外部ノードから当該外部ノードと通信が許可されている他の外部ノードのアドレスの解決を要求するアドレス解決要求メッセージでない場合、前記アドレス解決応答メッセージの転送を抑止するよう前記通信ノードを制御することにより、前記アドレス解決要求メッセージの送信元へのアドレスの応答を抑止するステップとを含む通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、制御装置、通信方法およびプログラムに関し、特に、スイッチ等の通信ノードを集中制御する制御装置を含む通信システム、制御装置、通信方法およびプログラムに関する。
【背景技術】
【０００２】
近年、オープンフロー（ＯｐｅｎＦｌｏｗ）という技術が提案されている（特許文献１、非特許文献１、２参照）。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。非特許文献２に仕様化されているオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合する内容が定められたマッチフィールド（Ｍａｔｃｈ  Ｆｉｅｌｄｓ）と、フロー統計情報（Ｃｏｕｎｔｅｒｓ）と、処理内容を定義したインストラクション（Ｉｎｓｔｒｕｃｔｉｏｎｓ）と、の組が定義される（図１６参照）。
【０００３】
例えば、オープンフロースイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するマッチフィールド（図１６参照）を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、フロー統計情報（カウンタ）を更新するとともに、受信パケットに対して、当該エントリのインストラクションフィールドに記述された処理内容（指定ポートからのパケット送信、フラッディング、廃棄等）を実施する。一方、検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対してエントリ設定の要求、即ち、受信パケットの処理内容の決定の要求を送信する。オープンフロースイッチは、要求に対応するフローエントリを受け取ってフローテーブルを更新する。このように、オープンフロースイッチは、フローテーブルに格納されたエントリを処理規則として用いてパケット転送を行う。
【０００４】
また、非特許文献３には、上記したオープンフローを使用したシステムにおいてユーザ認証を用いてアクセスを制限する方法が提案されている。
【０００５】
特許文献２には、アクセスポリシーに基づき情報処理端末間の通信の可否を制御するネットワークセキュリティ監視システムが開示されている。同公報によると、ネットワークセキュリティ監視システムは、ネットワーク上に接続された情報処理端末間の通信許可／不許可をアクセスポリシーに基づき判断し、不許可と判断された情報処理端末のアクセスポリシーが不許可から許可に更新されるまで、不許可と判断された情報処理端末間の通信を遮断するための情報を一定時間間隔毎に繰返して送信することで、前記アクセスポリシーで不許可と定義された情報処理端末間の通信を迅速かつ確実に遮断し、許可と定義された情報処理端末間の通信可能状態を保持する、記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開第２００８／０９５０１０号
【特許文献２】再表２００９／０３１４５３号公報
【非特許文献】
【０００７】
【非特許文献１】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２３（２０１１）年９月１日検索］、インターネット〈URL: http://www.openflow.org/documents/openflow-wp-latest.pdf〉
【非特許文献２】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”  Ｖｅｒｓｉｏｎ  １．１．０  Ｉｍｐｌｅｍｅｎｔｅｄ  （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０２）、［ｏｎｌｉｎｅ］、［平成２３（２０１１）年９月１日検索］、インターネット〈URL:http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf〉
【非特許文献３】山崎康広、大和純一、宮本善則、後藤英昭、曽根秀昭、“ＯｐｅｎＦｌｏｗによるＣａｍｐｕｓ  ＶＬＡＮシステム”、信学技報、電子情報通信学会、２０１１年７月、信学技報  ＣＱ２０１１−２６、４３〜４８頁
【発明の概要】
【発明が解決しようとする課題】
【０００８】
以下の分析は、本発明によって与えられたものである。ある相手と通信を行う際に、当該通信相手に対するフレームやパケットを正しい相手に転送するため、下位レイヤのアドレスを解決しておく必要がある。このために、例えば、ＩＰｖ４（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ４）では、ＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）が用意され、ＩＰｖ６（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ６）では、ＮＤＰ（Ｎｅｉｇｈｂｏｒ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）が用意されている。以下、ＡＲＰやＮＤＰにおいて、上位アドレスに対応するＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス等のアドレスの解決を要求するメッセージを、「アドレス解決要求メッセージ」という。
【０００９】
上記したオープンフローに代表される集中制御型の通信システムにおいては、外部ノードから新規のアドレス解決要求メッセージを受信すると、通信ノード（特許文献１、非特許文献１、２の「オープンフロースイッチ」に相当。）は、制御装置（特許文献１、非特許文献１、２の「オープンフローコントローラ」に相当。）に対し、アドレス解決要求メッセージに対する処理を問い合わせてしまう。これを受けた制御装置は、必要に応じてアドレス解決要求メッセージの転送経路を決定し、宛先の外部ノードにアドレス解決要求メッセージを送信する制御を行ってしまう。また、前記宛先の外部ノードから応答があった場合も同様の手順で、送信元の外部ノードに対し、アドレスを含んだ応答メッセージを送信する制御が行われる。
【００１０】
前記応答メッセージには、当該外部ノードの下位アドレスが含まれている。このため、集中制御型の通信システムにおいても、アドレス解決要求メッセージを利用して、本来アクセスが許可されていない相手の下位アドレスを入手できてしまうという問題点がある。また、外部ノード同士が本来アクセスが許可されていない関係にある場合、上記したアドレス解決要求メッセージとその応答メッセージの転送は結果的に不必要なトラヒックを発生させていることになる。
【００１１】
なお、特許文献２のネットワークセキュリティ監視システムは、特許文献１、非特許文献１、２のような集中制御型の通信システムではない。このため、各情報処理端末同士は必要に応じてＡＲＰ要求パケットとその応答を授受してしまう。そこで、ネットワークセキュリティ監視システムは、ＡＲＰ要求パケットを傍受して、通信許可／不許可を判断し、通信不許可と判断した端末間の通信を遮断するための情報を一定時間繰り返して送信する処理を行っている。
【００１２】
本発明は、上記した事情に鑑みてなされたものであって、その目的とするところは、上記したオープンフローに代表される集中制御型の通信システムにおいて、禁止すべきあるいは不必要なアドレス解決要求メッセージとその応答メッセージの授受を抑制することのできる通信システム、制御装置、通信方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１３】
本発明の第１の視点によれば、少なくとも１つ以上の通信ノードと、前記通信ノードを制御し、複数の外部ノード間の通信を制御する制御装置と、前記複数の外部ノード間の通信可否を定義した通信可否情報を記憶する通信可否記憶装置と、を含み、前記制御装置は、前記通信ノードを介して受信したアドレス解決要求メッセージが、一の外部ノードから当該外部ノードと通信が許可されている他の外部ノードのアドレスの解決を要求するアドレス解決要求メッセージでない場合、前記アドレス解決応答メッセージの転送を抑止するよう前記通信ノードを制御することにより、前記アドレス解決要求メッセージの送信元へのアドレスの応答を抑止する通信システムが提供される。
【００１４】
本発明の第２の視点によれば、複数の外部ノード間に配置された少なくとも１つ以上の通信ノードと、前記複数の外部ノード間の通信可否を定義した通信可否情報を記憶する通信可否記憶装置と、に接続され、前記通信ノードを介して受信したアドレス解決要求メッセージが、一の外部ノードから当該外部ノードと通信が許可されている他の外部ノードのアドレスの解決を要求するアドレス解決要求メッセージでない場合、前記アドレス解決応答メッセージの転送を抑止するよう前記通信ノードを制御することにより、前記アドレス解決要求メッセージの送信元へのアドレスの応答を抑止する制御装置が提供される。
【００１５】
本発明の第３の視点によれば、少なくとも１つ以上の通信ノードと、前記通信ノードを制御し、複数の外部ノード間の通信を制御する制御装置と、前記複数の外部ノード間の通信可否を定義した通信可否情報を記憶する通信可否記憶装置と、を含む通信システムにおいて、前記通信ノードを介して受信したアドレス解決要求メッセージが、一の外部ノードから当該外部ノードと通信が許可されている他の外部ノードのアドレスの解決を要求するアドレス解決要求メッセージであるか否かを確認するステップと、前記アドレス解決要求メッセージが、一の外部ノードから当該外部ノードと通信が許可されている他の外部ノードのアドレスの解決を要求するアドレス解決要求メッセージでない場合、前記アドレス解決応答メッセージの転送を抑止するよう前記通信ノードを制御することにより、前記アドレス解決要求メッセージの送信元へのアドレスの応答を抑止するステップとを含む通信方法が提供される。本方法は、通信ノードを制御する制御装置という、特定の機械に結びつけられている。
【００１６】
本発明の第４の視点によれば、少なくとも１つ以上の通信ノードと、前記通信ノードを制御し、複数の外部ノード間の通信を制御する制御装置と、前記複数の外部ノード間の通信可否を定義した通信可否情報を記憶する通信可否記憶装置と、を含む通信システムにおいて、前記通信ノードを介して受信したアドレス解決要求メッセージが、一の外部ノードから当該外部ノードと接続が許可されている他の外部ノードのアドレスの解決を要求するアドレス解決要求メッセージであるか否かを確認する処理と、前記アドレス解決要求メッセージが、一の外部ノードから当該外部ノードと接続が許可されている他の外部ノードのアドレスの解決を要求するアドレス解決要求メッセージでない場合、前記アドレス解決要求メッセージの送信元へのアドレスの応答を抑止する処理とを、前記制御装置を構成するコンピュータに実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１７】
本発明によれば、集中制御型の通信システムにおいて、禁止すべきあるいは不必要なアドレス解決要求メッセージとその応答メッセージの授受を抑制することが可能となる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態の構成を表わした図である。
【図２】本発明の一実施形態の動作概要を説明するための図である。
【図３】本発明の一実施形態の動作概要を説明するための別の図である。
【図４】本発明の第１の実施形態の構成を表わした図である。
【図５】本発明の第１の実施形態のＯＦＣおよびＯＦＳの詳細構成を表した図である。
【図６】ＡＲＰテーブルのエントリの例である。
【図７】ＡＲＰ要求パケットに含まれる情報を説明するための図である。
【図８】ＡＲＰ応答パケットに含まれる情報を説明するための図である。
【図９】本発明の第１の実施形態のＯＦＣのアクセス制御ＤＢに保持されるエントリの例である。
【図１０】本発明の第１の実施形態のＯＦＣの動作を表したフローチャートである。
【図１１】本発明の第１の実施形態の動作（アクセス可判定時）を表したシーケンス図である。
【図１２】本発明の第１の実施形態の動作（アクセス不可判定時）を表したシーケンス図である。
【図１３】本発明の第２の実施形態の構成を表わした図である。
【図１４】本発明の第３の実施形態の構成を表わした図である。
【図１５】本発明の第４の実施形態のアクセス制御ＤＢに保持されるエントリの例である。
【図１６】非特許文献２に記載のフローエントリの構成を表した図である。
【発明を実施するための形態】
【００１９】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００２０】
本発明は、図１に示すように、その一実施形態において、少なくとも１つ以上の通信ノード２００と、通信ノード２００を制御し、複数の外部ノード間の通信を制御する制御装置１００と、通信可否記憶装置３００と、を含む構成にて実現できる。通信可否記憶装置３００は、前記複数の外部ノード間の接続可否を定義した接続可否情報を記憶する。例えば、図１の例では、外部ノードＡ−外部ノードＢ間および外部ノードＢ−外部ノードＣ間は接続可（ＯＫ）であるが、外部ノードＡ−外部ノードＣ間は接続不可（ＮＧ）との接続可否情報が設定されているものとする。
【００２１】
制御装置１００は、通信ノード２００を介して受信したアドレス解決要求メッセージが、一の外部ノードから当該外部ノードと接続が許可されている他の外部ノードのアドレスの解決を要求するアドレス解決要求メッセージでない場合、即ち、接続が禁止されている外部ノード間のアドレスを解決を要求するメッセージである場合、前記アドレス解決要求メッセージの送信元へのアドレスの応答を抑止する。
【００２２】
例えば、図１の外部ノードＡと外部ノードＢとの通信に先立って、外部ノードＡは外部ノードＢのアドレスを解決する必要がある。そこで、外部ノードＡは、外部ノードＢ宛てのアドレス解決要求メッセージを送信する（図２の「外部ノードＢのアドレス解決要求メッセージ」）。
【００２３】
前記アドレス解決メッセージを受信した通信ノード２００は、制御装置１００に対し、アドレス解決要求メッセージを受信したことを報告する（図２の「アドレス解決要求メッセージ受信報告」）。制御装置１００は、通信可否記憶装置３００に保持されている接続可否情報を参照して、外部ノードＡ−外部ノードＢ間が接続可であることを確認する。この場合、制御装置１００は、通信ノード２００に対し、前記アドレス解決要求メッセージを外部ノードＢに送信するよう指示する（図２の「アドレス解決要求メッセージの処理内容指示」）。
【００２４】
通信ノード２００は、外部ノードＢに、アドレス解決要求メッセージを転送する。その後、図３に示すように、外部ノードＢからアドレス解決要求メッセージに対する応答（アドレス解決応答メッセージ）が送信されると、通信ノード２００は、制御装置１００に対し、アドレス解決応答メッセージを受信したことを報告する（図３の「アドレス解決応答メッセージ受信報告」）。
【００２５】
制御装置１００は、通信可否記憶装置３００に保持されている接続可否情報を参照して、外部ノードＡ−外部ノードＢ間が接続可であることを確認する。この場合、制御装置１００は、通信ノード２００に対し、前記アドレス解決応答メッセージを外部ノードＡに送信するよう指示する（図３の「アドレス解決応答メッセージの処理内容指示」）。
【００２６】
通信ノード２００は、外部ノードＢに、アドレス解決応答メッセージを転送する（図３の「外部ノードＢのアドレス解決メッセージ」）。これにより、外部ノードＡに外部ノードＢのアドレスが通知される。その後、外部ノードＡは、通知された外部ノードＢのアドレスを用いて外部ノードＢとの通信を開始する。
【００２７】
一方、外部ノードＡが外部ノードＣのアドレス解決要求メッセージを送信した場合、制御装置１００は、次のように動作する。外部ノードＡから外部ノードＣ宛てのアドレス解決メッセージを受信した通信ノード２００は、制御装置１００に対し、アドレス解決要求メッセージを受信したことを報告する（図２の「アドレス解決要求メッセージ受信報告」）。制御装置１００は、通信可否記憶装置３００に保持されている接続可否情報を参照して、外部ノードＡ−外部ノードＣ間が接続不可であることを確認する。この場合、制御装置１００は、通信ノード２００に対し、前記アドレス解決要求メッセージを破棄するよう指示する（図２の「アドレス解決要求メッセージの処理内容指示」）。
【００２８】
この結果、禁止すべきあるいは不必要なアドレス解決要求メッセージとその応答メッセージの授受が抑制される。なお、通信ノード２００が複数ある場合には、制御装置１００は、通信ノード２００によって構成されるネットワークトポロジーを参照して、アドレス解決要求メッセージが最短経路で転送されるよう経路の計算等を行うようにしてもよい。
【００２９】
なお、図２の例では、アドレス解決要求メッセージを破棄することによって、アドレス解決要求メッセージの送信元（外部ノードＡ）へのアドレスの応答を抑止するものとしたが、前記アドレスの応答を抑止する態様としては、種々の態様を採ることができる。例えば、上記したアドレス解決要求メッセージを応答ノード（外部ノードや制御装置）に送信しないようにする方法のほか、応答ノードでアドレス解決要求メッセージを破棄する方法、図３に示すように、アドレス解決要求メッセージの送信元に応答ノード（外部ノードＣ）からの応答を送信しないように制御する方法等が考えられる。
【００３０】
また、制御装置１００に、アドレス解決要求メッセージまたはアドレス解決応答メッセージに基づいて、各外部ノードのアドレスを記憶するアドレスキャッシュ部を備えておき、制御装置１００が、アドレス解決要求メッセージの転送を行う前に、前記アドレスキャッシュ部を参照して、前記アドレス解決要求メッセージの送信元へアドレスを応答するようにしてもよい。
【００３１】
［第１の実施形態］
続いて、上記した制御装置に相当するＯＦＣ（オープンフローコントローラ）にアドレス解決機能を持たせた本発明の第１の実施形態について図面を参照して詳細に説明する。
【００３２】
図４は、本発明の第１の実施形態の構成を表わした図である。図４を参照すると、ＯＦＣ１０と、ＯＦＣ１０によって制御されるｋ台のＯＦＳ（オープンフロースイッチ）２０ａ〜２０ｋと、ＯＦＳ２０ａに接続するｍ台の外部ノード９ａ１〜９ａｍと、ＯＦＳ２０ｋに接続するｎ台の外部ノード９ｋ１〜９ｋｎと、を含む構成が示されている。なお、図４に示したネットワークトポロジーは、本発明の理解を助けるために作成した一例であり、実際には種々の変形を加えることができる。
【００３３】
ＯＦＣ１０は、ＯＦＳ２０ａ〜２０ｋ（以下、ＯＦＳを特に区別しない場合、「ＯＦＳ２０」と記す。）を制御するコンピュータであり、上述した制御装置に相当する。ＯＦＣ１０は、ＯＦＳ２０とセキュアチャネルで接続され、非特許文献２のオープンフロープロトコルを用いてＯＦＳ２０と必要な通信を行う。なお、図４の例では、１台をＯＦＣを示しているが、複数のＯＦＣからクラスタを構成してもよい。このようにすることで処理可能なＯＦＳ２０の数を増大させるとともに、耐障害性を向上させることができる。
【００３４】
ＯＦＳ２０は、上記した通信ノード２００に相当するパケットを処理する通信装置である。外部ノード９ａ１〜９ａｍ、９ｋ１〜９ｋｎ（以下、外部ノードを特に区別しない場合、「外部ノード９００」と記す。）は、ユーザが使用する各種のホスト装置やサーバ装置である。このほか、外部ノードとして、携帯端末等と無線接続する無線基地局装置等が含まれていてもよい。
【００３５】
図５は、本発明の第１の実施形態のＯＦＣおよびＯＦＳの詳細構成を表した図である。図５を参照すると、ＯＦＣ１０と、ＯＦＳ２０とが示されている。はじめに、ＯＦＣ１０の構成について説明する。ＯＦＣ１０は、ＡＲＰ処理部１１と、アクセス制御データベース（アクセス制御ＤＢ）１２とを備えている。ＯＦＣ１０は、その他経路計算機能やＯＦＳ管理機能、フローエントリの設定機能等を備えているが、これらの処理ブロックは省略している。
【００３６】
ＡＲＰ処理部１１は、図６に示すようなＩＰアドレスとＭＡＣアドレスとを対応付けたエントリを格納したＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）テーブル（アドレス記憶部として機能する。）を保持している。ＡＲＰテーブルのエントリの登録はユーザ（ネットワーク管理者）が行うこととしてもよいし、ＯＦＣ１０が、受信したパケットからＩＰアドレスとＭＡＣアドレスの組合せを取得してＡＲＰテーブルに登録し、アドレスキャッシュ部として機能するようにしてもよい。
【００３７】
ＡＲＰ処理部１１は、ＯＦＳ２０を介してＡＲＰ要求パケットを受信すると、アクセス制御ＤＢ１２にアクセスして、ＡＲＰ要求パケットの送信元のＩＰアドレスと宛先（ＡＲＰ要求先）ＩＰアドレスの組合せが、通信が許可されている外部のノードの組合せであるか否かを確認する。前記確認の結果、通信が許可されている外部ノード同士の通信に先立って行われるＭＡＣアドレスの解決であることが判明した場合、ＡＲＰ処理部１１は、ＡＲＰテーブルから、ＡＲＰ要求パケットにて指定されたＩＰアドレスに対応するＭＡＣアドレスを検索し、その結果を用いてＡＲＰ応答パケットを生成する。さらに、ＡＲＰ処理部１１は、ＯＦＳ２０を制御して、ＡＲＰ要求パケットの送信元に前記生成したＡＲＰ応答パケットを転送させる。一方、前記確認の結果、通信が許可されていない外部ノード同士の通信に先立って行われるＭＡＣアドレスの解決であることが判明した場合、ＡＲＰ処理部１１は、ＡＲＰ要求パケットを破棄する。
【００３８】
図７は、ＡＲＰ要求パケットのヘッダ情報に含まれる情報を説明するための図である。上述した外部ノード同士の通信が許可されているか否かは、アクセス制御ＤＢ１２からＡＲＰ要求パケットの発信元／宛先ＩＰアドレスの組合せを持つエントリの通信可否フラグ（図９参照）を読み出すことで判別できる。通信可否フラグが肯定的な値であった場合、ＡＲＰ処理部１１は、図６に示すエントリを格納するＡＲＰテーブルから、ＡＲＰ要求パケットの宛先（ＡＲＰ要求先）ＩＰアドレスに適合するＩＰアドレスを持つエントリのＭＡＣアドレスを検索する。なお、この時点では、宛先（ＡＲＰ要求先）ＭＡＣアドレスは不知であるので、ＭＡＣアドレスフィールドには０値が設定される。
【００３９】
図８は、ＡＲＰ応答パケットのヘッダ情報に含まれる情報を説明するための図である。ＡＲＰ処理部１１は、図６に示すエントリを格納するＡＲＰテーブルから、ＡＲＰ要求パケットの宛先（ＡＲＰ要求先）ＩＰアドレスに適合するＩＰアドレスを持つエントリが見つかった場合、図８の検索結果（ＡＲＰ要求受信側情報）のＭＡＣフィールドに当該エントリのＭＡＣアドレスを格納したＡＲＰ応答パケットを生成する。
【００４０】
アクセス制御ＤＢ１２は、上述した通信可否記憶装置３００に相当し、外部ノードにそれぞれ付与されたＩＰアドレスを用いて外部ノード同士の通信可否情報を定義したエントリを保持する。図９は、アクセス制御ＤＢ１２に保持されるエントリの例である。なお、図９の例では、通信可否フラグフィールドを設け、各エントリ毎に通信可否状態を定義可能となっているが、通信が許可されている組合せのみをエントリとして保持し、該当する組合せが見つからなければ、通信が禁止されていると判定する構成も採用可能である。同様に、通信が禁止されている組合せのみをエントリとして保持し、該当する組合せが見つからなければ、通信が許可されていると判定する構成も採用可能である。また、図９のようにＩＰアドレスを用いる場合、ネットマスクと組み合わせることでアドレスの範囲として扱うことが可能である。
【００４１】
続いて、図５のＯＦＳ２０の構成について説明する。ＯＦＳ２０は、パケット処理部２１と、フローエントリ記憶部２２とを備えている。このようなＯＦＳ２０としては、非特許文献１、２に記載のオープンフロースイッチを用いることができる。
【００４２】
フローエントリ記憶部２２は、テーブル等を用いて図１６に示すようなフローエントリを記憶している。
【００４３】
パケット処理部２１は、外部ノード９００からパケットを受信すると、フローエントリ記憶部２２から、そのパケットヘッダ等の受信パケットの特徴に適合するマッチフィールドを持つエントリを検索する。前記検索の結果、受信パケットの特徴に適合するマッチフィールドを持つエントリが見つかった場合、パケット処理部２１は、当該エントリのインストラクションフィールドの記述された処理内容を実行する。一方、前記検索の結果、受信パケットの特徴に適合するマッチフィールドを持つエントリが見つからなかった場合、パケット処理部２１は、ＯＦＣ１０に対して、受信パケットまたは受信パケットに含まれる情報を送信し、フローエントリの設定を要求する。
【００４４】
ＯＦＣ１０は、ＡＲＰ要求パケットに対応するフローエントリを作成しないため、フローエントリ記憶部２２には、ＡＲＰ要求パケットに対応するフローエントリは存在しない。このため、ＯＦＳ２０は、ＡＲＰ要求パケットを受信すると、ＯＦＣ１０に対して、ＡＲＰ要求パケットまたはＡＲＰ要求パケットに含まれる情報を送信し、フローエントリの設定を要求する。本実施形態では、この仕組みを用いて、ＯＦＳ２０からＯＦＣ１０へのＡＲＰ要求パケットの送信を実現している。
【００４５】
なお、図５に示したＯＦＣ１０の各部（処理手段）は、ＯＦＣ１０を構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００４６】
続いて、本実施形態の動作について図面を参照して詳細に説明する。図１０は、本発明の第１の実施形態のＯＦＣの動作を表したフローチャートである。図１０を参照すると、まず、ＯＦＣ１０は、ＯＦＳ２０からのパケット（またはパケットに含まれる情報）の受信を待ち（ステップＳ００１）、ＯＦＳ２０からパケット（またはパケットに含まれる情報）を受信すると、ＯＦＳ２０が受信したパケットがＡＲＰ要求パケットであるか否かを判別する（ステップＳ００２）。
【００４７】
ＯＦＳ２０がＡＲＰ要求パケットを受信したか否かは、例えば、イーサネット（登録商標）フレームのタイプフィールドに０ｘ０８０６が設定されているか否かにより判別することができる。ここで、ユーザパケット等のＡＲＰ要求パケット以外のパケットであると判断された場合（ステップＳ００２のＮｏ）、ＯＦＣ１０は、ＯＦＳ２０にて構成されるネットワークトポロジーを参照して、当該パケット（またはパケットに含まれる情報）の送信元のＯＦＳから出口側のＯＦＳまでのパケットの転送経路を計算し、計算した経路に沿ってパケットを転送するよう各ＯＦＳにフローエントリを設定する（ステップＳ００７）。
【００４８】
一方、ステップＳ００２で、ＯＦＳ２０がＡＲＰ要求パケットを受信したと判定した場合（ステップＳ００２のＹｅｓ）、ＯＦＣ１０は、アクセス制御ＤＢ１２にアクセスし、ＯＦＳ２０から受信したパケット（またはパケットに含まれる情報）に含まれる送信元ＩＰアドレスおよび送信先（宛先）ＩＰアドレスに対応するエントリを検索する（ステップＳ００３）。前記検索の結果、通信可否フラグフィールドに通信可のフラグが設定されているエントリが見つからなかった場合、ＯＦＣ１０は、ＡＲＰ要求パケットへの応答を行うことなく処理を終了する（ステップＳ００４のＮｏ）。
【００４９】
一方、前記検索の結果、通信可否フラグフィールドに通信可のフラグが設定されているエントリが見つかった場合、ＯＦＣ１０は、図６に示すエントリ群を格納したＡＲＰテーブルから、ＡＲＰ要求パケットにて照会を受けたＩＰアドレスに対応するＭＡＣアドレスを検索する（ステップＳ００５）。そして、ＯＦＣ１０は、前記検索されたＭＡＣアドレスを用いて、ＡＲＰ応答パケットを生成し、ＯＦＳ２０に送信する（ステップＳ００６）。さらに、ＯＦＣ１０は、ＯＦＳ２０に対し、ＡＲＰ要求パケットの送信元の外部ノードに前記ＡＲＰ応答パケットを転送するようＯＦＳを制御する。このＡＲＰ応答パケットの転送指示には、非特許文献２のオープンフロープロトコルのＰａｃｋｅｔ−Ｏｕｔメッセージを用いることができる。
【００５０】
続いて、外部ノード９００からＡＲＰ要求パケットが送信された場合の全体の動作について図１１、図１２を用いて説明する。
【００５１】
外部ノード９００が、ＡＲＰ要求パケットを送信すると（図１１、図１２のＳ１０１）、ＯＦＳ２０は、ＯＦＣ１０にＡＲＰ要求パケット（またはＡＲＰ要求パケットに含まれる情報）を転送する（図１１、図１２のＳ１０２）。
【００５２】
ＯＦＣ１０は、ＯＦＳ２０から受信したＡＲＰ要求パケット（またはＡＲＰ要求パケットに含まれる情報）を元に、アクセス制御ＤＢ１２を参照し、ＡＲＰ要求パケットの送信元の外部ノードと、アドレス解決を要求されている外部ノードとが、通信可能であるか否かを確認する（図１１、図１２のＳ１０３、Ｓ１０４）。
【００５３】
前記確認の結果、ＡＲＰ要求パケットの送信元の外部ノードと、アドレス解決を要求されている外部ノードとが、通信不可であることが判明した場合、ＯＦＣ１０は、以後の処理を終了する（図１２参照）。
【００５４】
一方、前記確認の結果、ＡＲＰ要求パケットの送信元の外部ノードと、アドレス解決を要求されている外部ノードとが、通信可であることが判明した場合、ＯＦＣ１０は、図６に示すエントリが格納されたＡＲＰテーブルから、アドレス解決を要求されている外部ノードのＩＰアドレスに対応するＭＡＣアドレスを検索する（図１１のＳ１０５、Ｓ１０６）。
【００５５】
前記検索の結果、アドレス解決を要求されている外部ノードのＩＰアドレスに対応するＭＡＣアドレスが見つかった場合、ＯＦＣ１０は、発見されたＭＡＣアドレスを含んだＡＲＰ応答パケットを生成し、ＯＦＳ２０に送信するとともに、ＡＲＰ要求パケットの送信元の外部ノード９００への前記ＡＲＰ応答パケットの転送を指示する（図１１のＳ１０７）。
【００５６】
ＯＦＳ２０は、ＯＦＣ１０からの指示に従い、外部ノード９００に対し、ＡＲＰ応答パケットを転送する（図１１のＳ１０８）。なお、図１１のＳ１０５、Ｓ１０６の検索の結果、ＭＡＣアドレスが見つからなかった場合、ＯＦＣ１０が自らＡＲＰ要求パケットを転送してＭＡＣアドレスを解決してもよいし、あるいは、ＯＦＳ２０のＡＲＰ要求パケットの転送を指示してもよい。
【００５７】
以上のようにすることで、ある外部ノードから見て通信が禁止されている外部ノードにＭＡＣアドレスが知られることを防止することが可能となる。このようなＭＡＣアドレスの秘匿化はセキュリティの向上にも役立っている。
【００５８】
また、本実施形態では、上記通信可否の確認によるＭＡＣアドレスの払い出し制御に加えて、ＡＲＰ要求パケットのブロードキャストをしないようにしているため、ＭＡＣアドレスの解決のための不必要なトラヒックも大幅に低減される。このようにネットワークを流れるパケット量を減少させることができるため、ネットワークの利用効率も向上する。
【００５９】
［第２の実施形態］
続いて、上記した第１の実施形態に変更を加えた本発明の第２の実施形態について説明する。本実施形態は、第１の実施形態の構成に変更を加えたものであるが、機能および動作はほぼ同様であるので、以下その相違点を中心に説明する。
【００６０】
図１３は、本発明の第２の実施形態の構成を表わした図である。図５に示した第１の実施形態との相違点は、ＯＦＣ１０Ｂが、外部のアクセス制御ＤＢ１２にアクセスして外部ノード９００から送信されたＡＲＰ要求パケットに応答するか否かを判断する点である。
【００６１】
このようなアクセス制御ＤＢ１２としては、ＡＣＬ（Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ｌｉｓｔ）を管理するポリシーサーバ等と呼ばれるサーバと同等の装置等を用いることができる。
【００６２】
従って、本実施形態によれば、第１の実施形態の効果に加えて、アクセス制御ＤＢ１２の設置コスト及び管理コストを低減することが可能となる。
【００６３】
［第３の実施形態］
続いて、上記した第２の実施形態に変更を加えた本発明の第３の実施形態について説明する。本実施形態は、第１、第２の実施形態の構成に変更を加えたものであるが、機能および動作はほぼ同様であるので、以下その相違点を中心に説明する。
【００６４】
図１４は、本発明の第３の実施形態の構成を表わした図である。図１３に示した第２の実施形態との相違点は、ＯＦＣ１０ＢのＡＲＰ処理部１１が省略され、代わりに、外部のＡＲＰ処理装置１３を用いてアドレス解決を行う点である。
【００６５】
ＡＲＰ処理装置１３は、第１、第２の実施形態のＡＲＰ処理部１１と同様に、ＡＲＰテーブル（アドレス記憶部）を保持し、ＡＲＰ要求パケットに対して、ＡＲＰ応答パケットを生成するアドレス記憶装置として機能する装置である。
【００６６】
本実施形態では、ＯＦＣ１０Ｃは、ＡＲＰ要求パケットの送信元の外部ノードと、アドレス解決を要求されている外部ノードとが、通信可能であると判断すると、ＯＦＳ２０経由でＡＲＰ要求パケットをＡＲＰ処理装置１３に転送する。また、ＯＦＣ１０は、ＯＦＳ２０に、ＡＲＰ要求パケットの送信元の外部ノード９００に、ＡＲＰ処理装置１３から出力されるＡＲＰ応答パケットを転送させるフローエントリを設定する。
【００６７】
以上により、ＡＲＰ処理装置１３から出力されたＡＲＰ応答パケットは、ＡＲＰ要求パケットの送信元の外部ノード９００に転送される。
【００６８】
以上のように本実施形態によれば、第１、第２の実施形態の効果に加えて、ＯＦＣ１０の負荷を低減することができる。その理由は、外部のリソースを用いてＡＲＰ応答処理を行うよう構成したことにある。
【００６９】
また、上記した実施形態では、ＡＲＰ要求パケットをＡＲＰ処理装置１３に転送するか否かで制御を行うものとして説明したが、原則としてＡＲＰ処理装置１３にＡＲＰ要求パケットを転送することとし、ＡＲＰ処理装置１３からのＡＲＰ応答パケットを転送するか否かにより制御を行ってもよい。
【００７０】
［第４の実施形態］
続いて、上記した第１〜第３の実施形態のアクセス制御ＤＢ１２に変更を加えた本発明の第４の実施形態について説明する。本実施形態は、第１〜第３の実施形態のアクセス制御ＤＢ１２のエントリに変更を加えたものであり、構成、機能および動作はほぼ同様であるので、以下その相違点を中心に説明する。
【００７１】
図１５は、本発明の第４の実施形態のアクセス制御ＤＢに保持されるエントリの例である。図９に示したエントリとの相違点は、プロトコルフィールド、発信元と、宛先にそれぞれポート番号フィールドが追加されている点である。
【００７２】
プロトコルフィールドは、ＴＣＰ／ＵＤＰ等のプロトコルを指定する値が設定されるフィールドである。ポート番号フィールドは、ＴＣＰ／ＵＤＰの発信元ポート番号と、ＴＣＰ／ＵＤＰの宛先ポート番号が設定される。
【００７３】
なお、プロトコル、ポート番号に、ＡＮＹを示す値を登録することでポート番号やプロトコルの指定を外すことも可能である。また、ポート番号については、特定の番号だけでなく、任意の範囲を指定できるようにしてもよい。また、ＩＰアドレスは、ネットマスクと組み合わせることでアドレスの範囲として扱うことも可能である。
【００７４】
以上のように、本実施形態によれば、ポート番号単位でアクセスの可否、即ち、ＡＲＰ応答の要否を制御することが可能となる。もちろん、本実施形態においても、通信が許可されている組合せのみをエントリとして保持し、該当する組合せが見つからなければ、通信が禁止されていると判定する構成としてもよい。同様に、通信が禁止されている組合せのみをエントリとして保持し、該当する組合せが見つからなければ、通信が許可されていると判定する構成とすることもできる。
【００７５】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した実施形態の説明で例示したＯＦＣ、ＯＦＳ、外部ノードの数やそのトポロジー構成は、本発明の理解を助けるために簡略化したものであり、より多くの要素で構成された複雑なネットワークにも適用することが可能である。
【００７６】
また、上記した各実施形態では、アドレス解決要求メッセージとしてＡＲＰ要求パケットを用いた例を挙げて説明したが、本発明は、ＩＰｖ６のＮＤＰにおける近隣者要請（Ｎｅｉｇｈｂｏｒ  Ｓｏｌｉｃｉｔａｔｉｏｎ）メッセージとその応答の授受にも適用可能である。
【００７７】
また、上記した各実施形態では、ＡＲＰ要求パケットに対してＯＦＣまたはＡＲＰ処理装置が応答するものとして説明したが、ＯＦＣがＯＦＳを制御して、宛先の外部ノードにＡＲＰ要求パケットを転送し、その応答を返させるようにしてもよい。また、この場合において、ＯＦＣが、ＡＲＰ要求パケットの転送経路を計算してユニキャストを行ってもよいし、転送経路の計算は行わずブロードキャストするようにしてもよい。
【００７８】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点による通信システム参照）
［第２の形態］
第１の形態の通信システムにおいて、
前記アドレス解決要求メッセージまたはアドレス解決応答メッセージの転送を抑止するよう前記通信ノードを制御することにより、前記アドレス解決要求メッセージの送信元へのアドレスの応答を抑止する通信システム。
［第３の形態］
第１または第２の形態の通信システムにおいて、
前記制御装置は、前記通信ノードを介して受信したアドレス解決要求メッセージが、一の外部ノードから当該外部ノードと通信が許可されている他の外部ノードのアドレスの解決を要求するアドレス解決要求メッセージである場合、前記アドレス解決要求メッセージのユニキャストまたはブロードキャストを行うよう前記通信ノードを制御する通信システム。
［第４の形態］
第３の形態の通信システムにおいて、
前記制御装置は、前記通信ノードによって構成されるネットワークトポロジを参照して、前記アドレス解決要求メッセージが最短経路で転送されるよう前記通信ノードを制御する通信システム。
［第５の形態］
第１〜第４いずれか一の形態の通信システムにおいて、
前記制御装置は、さらに、前記アドレス解決要求メッセージまたはアドレス解決応答メッセージに基づいて、各外部ノードのアドレスを記憶するアドレスキャッシュ部を備え、
前記アドレスキャッシュ部を参照して、前記アドレス解決要求メッセージの送信元へアドレスを応答する通信システム。
［第６の形態］
第１の形態の通信システムにおいて、
前記制御装置は、さらに、各外部ノードのアドレスを記憶するアドレス記憶部を備え、
前記アドレス記憶部を参照して、前記アドレス解決要求メッセージの送信元へアドレスを応答する通信システム。
［第７の形態］
第１の形態の通信システムにおいて、
前記制御装置は、さらに、各外部ノードのアドレスを記憶するアドレス記憶装置と接続され、
前記アドレス記憶装置へのアドレス解決要求メッセージの転送または前記アドレス記憶装置からのアドレス解決応答メッセージの転送を抑止することにより、前記アドレス解決要求メッセージの送信元へのアドレスの応答を抑止する通信システム。
［第８の形態］
第１〜第７いずれか一の形態の通信システムにおいて、
前記通信可否記憶装置には、前記外部ノードの前記アドレスよりも上位のアドレスを用いて前記外部ノード間の通信可否が定義されており、
前記制御装置は、アドレス解決要求メッセージに含まれる前記上位のアドレスの組を用いて、通信可否を判定する通信システム。
［第９の形態］
第１〜第８いずれか一の形態の通信システムにおいて、
前記アドレスはＭＡＣアドレスであり、
前記アドレス解決要求メッセージは、ＩＰｖ４またはＩＰｖ６のアドレス解決メッセージである通信システム。
［第１０の形態］
（上記第２の視点による制御装置参照）
［第１１の形態］
（上記第３の視点による通信方法参照）
［第１２の形態］
（上記第４の視点によるプログラム参照）
【００７９】
本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００８０】
１０、１０Ｂ、１０Ｃ  ＯＦＣ
１１  ＡＲＰ処理部
１２、１２Ｂ  アクセス制御データベース（アクセス制御ＤＢ）
１３  ＡＲＰ処理装置
２０、２０ａ〜２０ｋ  ＯＦＳ
２１  パケット処理部
２２  フローエントリ記憶部
１００  制御装置
２００  通信ノード
３００  通信可否記憶装置
９ａ１〜９ａｍ、９ｋ１〜９ｋｎ、９００  外部ノード
【図１】
0005861424.tif 000002
【図２】
0005861424.tif 000003
【図３】
0005861424.tif 000004
【図４】
0005861424.tif 000005
【図５】
0005861424.tif 000006
【図６】
0005861424.tif 000007
【図７】
0005861424.tif 000008
【図８】
0005861424.tif 000009
【図９】
0005861424.tif 000010
【図１０】
0005861424.tif 000011
【図１１】
0005861424.tif 000012
【図１２】
0005861424.tif 000013
【図１３】
0005861424.tif 000014
【図１４】
0005861424.tif 000015
【図１５】
0005861424.tif 000016
【図１６】
0005861424.tif 000017