(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0016】
[第一の実施形態]
本発明の第一の実施形態を説明する。
図1は、パケットの転送経路を制御する制御装置100と、複数の通信装置210〜240と、を含む通信システムを示す。この通信システムにおいて、各通信装置は、パケットを識別するための規則に基づいて受信パケットを識別し、制御装置に従って受信パケットを転送するか、制御装置を介さずにパケットを転送するかを判定する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【0017】
図1において、通信装置210は、受信パケットの転送に用いるテーブル2000を保持する。テーブル2000は、制御装置により設定されたエントリAと通信装置により設定されたエントリBの、少なくとも2種類のエントリを保持する。
【0018】
制御装置100は、通信装置210からの要求に従って、エントリAを生成し、生成したエントリAを、通信装置210が保持するテーブル2000に設定する。通信装置210は、例えば、テーブル2000により転送方法を特定することができない新規パケットを受信した場合に、制御装置に対してこの新規パケットの転送方法に対応するエントリの設定を要求する。
【0019】
また、通信装置210は、テーブル2000に対してエントリBを自律的に設定する。例えば、通信装置210は、RIP(Routing Information Protocol)やOSPF(Open Shortest Path First)等のルーティングプロトコルに基づいて、隣接する通信装置220や240との間で情報を交換することにより、テーブル2000にエントリBを設定する。また、例えば、受信パケットの送信元MACアドレスと該受信パケットを受信したポートとの対応関係を学習することにより、エントリBを生成し、テーブル2000に設定する。他の通信装置220−240も、同様の方式でエントリBを設定する。但し、通信装置210−240がエントリBを設定する方法は、これらの方式に限定されるものではない。
【0020】
図1は、テーブル2000に、エントリAとエントリBの双方が設定される例を示している。このように、両エントリを1つのテーブル2000に設定することにより、実装が容易になるという利点がある。テーブル2000を参照したパケットの処理をハードウェア処理により実行する場合、エントリAとBとを1つのテーブル2000に設定されるように実装することにより、テーブル2000の参照処理が効率的に実行できる。
【0021】
しかし、
図2のように、各通信装置は、制御装置により設定されるエントリA用のテーブル2000−1と、通信装置210−240が設定するエントリB用のテーブル2000−2とを保持してもよい。なお、テーブルの構成は、
図1、
図2に示した構成に限定されるものではない。
【0022】
通信装置210は、受信パケットを識別するための識別規則に基づいて、テーブル2000のエントリAに従って受信パケットを転送するか、テーブル2000のエントリBに従って受信パケットを転送するかを判定する。
【0023】
識別規則は、本発明が適用されるシステムの用途や制御装置と通信装置間の役割分担、広域的な集中制御が必要か否か等に応じて、パケットの送信元・宛先や、パケットの種別などを適宜組み合わせて設定することができる。
【0024】
例えば、識別規則は、受信パケットが所定のネットワークドメイン内で転送されるものか、複数のネットワークドメインに跨って転送されるものかを識別するように構成されてもよい。つまり、例えば、あるネットワークと別のネットワークとの境界に位置する通信装置(エッジノード)は制御装置100に従って受信パケットを転送し、あるネットワークの内部でデータを伝送する通信装置(コアノード)は自律的に受信パケットを転送する。また、識別規則は、受信パケットが所定の種類のものであるか否かを識別するように構成されてもよい。また、識別規則は、受信パケットが所定の送信元情報若しくは宛先情報に関連するものであるか否かを識別するように構成されてもよい。但し、識別規則は、これらに限定されるものではない。
【0025】
図3および4を参照し、
図1に示した通信システムの動作例を説明する。なお、本発明の動作は、
図3および4に示したものに限定されるものではない。
【0026】
図3には、
図1に示したように、テーブル2000がエントリAとエントリBとを含む場合の動作例が示されている。
図3において、識別規則は、それぞれのエントリに含まれている。テーブル2000は、複数種類のエントリAと、複数種類のエントリBを有している。通信装置210は、受信パケットのヘッダ部と、テーブル2000の各エントリの識別規則とを比較する。通信装置210は、ヘッダ部がいずれかの識別規則とマッチした場合、その識別規則に対応するエントリで規定されている転送方法に従って受信パケットを転送する。なお、受信パケットのヘッダ部と識別規則とを比較する例により説明したが、これに限るものではなく、受信パケット内のいずれかの情報と識別規則とを比較してもよい。
【0027】
例えば、受信パケットが
図3における識別規則A−2にマッチした場合、通信装置210は、転送方法A−2に従って受信パケットを転送する。また、受信パケットが
図3における識別規則B−1にマッチした場合、通信装置210は、転送方法B−1に従って受信パケットを転送する。
【0028】
通信装置210は、例えば、テーブル2000に、マッチする識別規則を有するエントリが存在しない場合、制御装置100に対してエントリの設定を要求する。
【0029】
以上の動作例により、通信装置210は、識別規則に基づいて、制御装置により設定されたエントリAに従って受信パケットを転送するか、通信装置により自律的に設定されたエントリBに従って受信パケットを転送するかを判定する。
【0030】
図4には、
図2に示したように、通信装置210が、制御装置により設定されたエントリAが格納されたテーブル2000−1と、通信装置210により自律的に設定されたエントリBが格納されたテーブル2000−2とを有する場合の動作例が示されている。
【0031】
通信装置210は、受信パケットのヘッダ部と、識別規則とを比較し、エントリAが格納されたテーブル2000−1を参照するか、エントリBが格納されたテーブル2000−2を参照するかを判断する。なお、受信パケットのヘッダ部と識別規則とを比較する例により説明したが、これに限るものではなく、受信パケット内のいずれかの情報と識別規則とを比較してもよい。
【0032】
エントリAおよびBには、受信パケットを、テーブル内のどのエントリに従ってパケットを転送すべきかを照合するための照合ルールが含まれる。また、エントリAおよびBには、その照合ルールに対応した転送方法も含まれる。通信装置210は、受信パケットのヘッダ部と、各エントリの照合ルールとを比較し、照合したエントリの転送方法に従って、パケットを転送する。照合ルールには、例えば、パケットの送信先のネットワーク情報が規定されており、受信パケットの送信先がこのネットワーク情報に適合する場合、転送方法に規定されたポートから受信パケットが転送される。なお、受信パケットのヘッダ部と照合ルールとを比較する例により説明したが、これに限るものではなく、受信パケット内のいずれかの情報と照合ルールとを比較してもよい。
【0033】
なお、例えば、通信装置210がテーブル2000−1を参照し、受信パケットに適合する照合ルールを有するエントリがテーブル2000−1に存在しない場合、通信装置210は制御装置100に対してエントリの設定を要求する。
【0034】
以上の動作例により、通信装置210は、識別規則に基づいて、制御装置により設定されたエントリAに従って受信パケットを転送するか、通信装置により自律的に設定されたエントリBに従って受信パケットを転送するかを判定する。
【0035】
図5および6を参照し、制御装置100と通信装置210の構成例を説明する。なお、本発明は、
図5および6に示した構成例に限定されるものではない。
【0036】
図5に、通信装置210の構成例を示す。なお、他の通信装置220−240についても同様の構成例となる。通信部2104は、制御装置100と通信を行う。例えば、制御装置100に対してエントリの設定を要求したり、制御装置100から送信されたエントリに関する情報を受信する。記憶部2105は、テーブル2000や、識別規則を保持する。パケット処理部2100は、記憶部2105が保持するテーブル2000や識別規則を参照し、受信パケットの転送、パケットの廃棄、パケットヘッダの書き換え等のパケット処理を実行する。パケット処理部2100は、エントリ設定部2101、パケット識別部2102および判定部2103を含む。エントリ設定部2101は、所定のルーティングプロトコル(例えば、RIPやOSPF)に基づき、隣接する通信装置とルーティング情報を交換し、記憶部2105が保持するテーブルにエントリを設定する。また、エントリ設定部2101は、受信パケットの送信元MACアドレスと該受信パケットを受信したポートとの対応関係を学習することにより、エントリを生成し、テーブルに設定する。パケット識別部2102は、記憶部2105が保持する、識別規則に基づいて、受信パケットを識別する。判定部2103は、パケット識別部2102の識別結果に応じて、制御装置100により設定されたエントリで受信パケットを処理するか、エントリ設定部2101により設定されたエントリで受信パケットを処理するかを判定する。
【0037】
図6に、制御装置100の構成例を示す。通信部1001は、通信装置210と通信を行う。例えば、通信装置210からエントリの設定要求を受信したり、通信装置210に対してエントリに関する情報を送信する。エントリDB1003は、通信装置210に設定するエントリの候補を格納する。トポロジ管理部1005は、通信装置210−240から収集した、通信装置間の接続関係に基づいてネットワークトポロジ情報を構築する。計算部1004は、トポロジ管理部1005により構築されたネットワークトポロジ情報を参照し、パケットの転送経路上の通信装置に実行させるパケットの処理方法と、その処理方法の実行対象となるパケットを特定するための照合ルールを生成し、エントリDBに格納されるエントリを生成する。エントリ管理部1002は、計算部1004で生成されたエントリをエントリDB1003に格納する。また、エントリ管理部1002は、エントリDB1003に格納されたエントリから通信装置210に対して設定されるべきエントリを決定する。識別規則管理部1006は、通信装置210が受信パケットを識別するための識別規則を管理する。例えば、テーブルが
図3に示す構成例である場合は、識別規則管理部1006は、識別規則をエントリDB1003のエントリAに設定し、また、エントリBに対応する識別規則を通信装置210に設定する。また、例えば、テーブルが
図4に示す構成例である場合は、識別規則管理部1006は、識別規則を通信装置210に対して通知する。
【0038】
識別規則管理部1006は、例えば、通信装置210に委譲する権限の範囲に基づいて識別規則を生成し、通信装置210に対して識別規則を設定する。例えば、識別規則管理部1006は、受信パケットが所定のネットワークドメイン内で転送されるものであれば通信装置210に権限委譲し、受信パケットが複数のネットワークドメインに跨って転送されるものであれば権限を委譲しない。通信装置210は、受信パケットが制御装置100から権限委譲されていない範囲に属する場合、制御装置100に従って受信パケットを処理する。通信装置210は、受信パケットが制御装置100から権限委譲されている範囲に属する場合、自装置に自律的にエントリを設定する。なお、識別規則管理部1006は、制御装置100の負荷や、制御装置100と通信装置210間の輻輳状態等も加味して、通信装置210に委譲する権限の範囲を決定し、設定範囲に基づいて識別規則を生成してもよい。このような構成により、識別規則管理部1006は、例えば、制御装置100の負荷が高いような場合に、通信装置210に委譲する権限の範囲を拡大することができる。通信装置210に委譲する権限範囲を拡大することにより、制御装置100へのエントリ設定要求が抑止され、制御装置100の負荷が軽減できる。
【0039】
通信装置210は、例えば、受信パケットに対応するエントリがテーブル2000に存在しない場合等に、制御装置100に対してエントリの設定要求を送信する。但し、通信装置210は、識別規則管理部1006が設定した識別規則と受信パケットとの比較結果に応じて、制御装置100に対してエントリの設定要求を送信するか否かを判定する。つまり、通信装置210は、制御装置100から委譲された権限の範囲外である場合に、通信装置100に対してエントリの設定要求を送信する。これにより、制御装置100の負荷を抑制することができる。
【0040】
本発明は、
図7に示すように、制御装置100が、一部の種類のエントリAの設定を通信装置210−240に委譲するようにしてもよい。制御装置100が、全ての種類のエントリAを設定するよりも、制御装置100の負荷がより下がる。通信装置210−240は、制御装置100から委譲された範囲内で、エントリAをテーブル2000に設定する。通信装置210は、エントリAの設定に関し、制御装置100から委譲された範囲内であるか否かの判断に、例えば、識別規則を用いる。例えば、識別規則に基づいて受信パケットを識別し、受信パケットの種類が所定の条件に合致した場合には、通信装置210は、エントリAの設定について制御装置100から委譲されていると判断する。
【0041】
以上のように、すべてのパケットについて、制御装置100に転送経路の制御を要求せずに、その一部を通信装置に担わせることで、制御装置100の負荷を軽減することが可能になる。なお、上記識別条件としては、本発明が適用されるシステムの用途や制御装置と通信装置間の役割分担、広域的な集中制御が必要か否か等に応じて、パケットの送信元・宛先や、パケットの種別などを適宜組み合わせて設定することができる。
【0042】
[第2の実施形態]
次に、本発明の第2の実施形態について図面を参照して詳細に説明する。
図8は、本発明の第2の実施形態の通信システムの構成を表わした図である。
図8を参照すると、通信サブシステム2、3と、これら通信サブシステム内の中間制御装置12、13を制御する制御装置11と、を含んだ通信システム1の構成が示されている。また、この通信システム1には、通信端末140〜142が接続されている。
【0043】
また、
図8の制御装置11、中間制御装置12、13、パケット転送装置21〜23、31〜33間の破線は、制御チャネルを示している。また、制御プロトコルとしては、非特許文献2のオープンフロープロトコルを用いることができる。
【0044】
また、以下の説明では、通信サブシステム2(3)は、中間制御装置12(13)と、3つのパケット転送装置21〜23(31〜33)とにより構成されているものとして説明する。
図8の構成は、本発明を簡単説明するためのものであり、
図8に表わされた各要素の数や接続関係等は
図8の例に限定されるものではない。
【0045】
図9は、
図8の制御装置11の詳細構成を表した図である。
図9を参照すると、中間制御装置12、13との通信を行う通信部51と、制御メッセージ処理部52と、経路・アクション計算部53と、中間制御装置管理部54と、トポロジ管理部55と、フロー終端点管理部56と、処理規則管理部57と、処理規則記憶部58と、権限委譲範囲管理部59と、権限委譲範囲記憶部60と、を備えた構成が示されている。これらはそれぞれ次のように動作する。
【0046】
制御メッセージ処理部52は、中間制御装置12、13から受信した制御メッセージを解析して、制御装置11内の該当する処理手段に制御メッセージ情報を引き渡す。
【0047】
経路・アクション計算部53は、フロー終端点管理部56にて管理されているフローの終端点の情報と、トポロジ管理部55にて構築されたネットワークトポロジ情報に基づいてパケットの転送経路および該転送経路上の仮想的なパケット転送装置として動作する中間制御装置に実行させるアクションを求める。
【0048】
中間制御装置管理部54は、制御装置11によって制御されている中間制御装置12、13の能力(例えば、通信端末や他の中間制御装置が管理する通信サブシステムに接続するポートの数や種類、サポートするアクションの種類など)を管理する。
【0049】
トポロジ管理部55は、通信部51を介して収集された中間制御装置12、13が管理する通信サブシステムの接続関係に基づいてネットワークトポロジ情報を構築する。
【0050】
フロー終端点管理部56は、通信システム1で発生するフローの終端点を特定するための情報を管理する。本実施形態では、フローの終端点を特定するための情報として、通信端末が接続可能なポートの先に括り付けられたIPサブネット情報を管理しているものとするが、フロー終端点として管理する情報としては、これに限定しない。例えば、フロー終端点として管理するその他の情報としては、外部ノードの位置情報(どの外部ノードがどの通信装置のどのポートにつながっているかを特定できる情報)などがある。このフロー終端点の管理は、例えば、中間制御装置12、13からの後記するパケット転送能力通知や転送機能能力更新メッセージなどに基づいて行われる。
【0051】
処理規則管理部57は、どの中間制御装置にどのような処理規則が設定されているかを管理する。具体的には、経路・アクション計算部53にて計算された結果を処理規則として処理規則記憶部58に登録し、中間制御装置12、13に処理規則を設定する。また、処理規則管理部57は、中間制御装置12、13からの処理規則の設定通知や処理規則の削除通知等に基づいて、中間制御装置12、13にて設定された処理規則に変更が生じた場合も対応する処理規則記憶部58の内容をアップデートする。
【0052】
なお、制御装置11にて、処理規則を保持する必要が無い場合、処理規則記憶部58は省略することが可能である。また、処理規則記憶部58を別途外部サーバ等に設ける構成も採用可能である。
【0053】
権限委譲範囲管理部59は、各中間制御装置12、13に独自の経路制御を許可するパケットフローの範囲(上記した「識別条件」に相当。以下の実施形態では「権限委譲範囲」と称する。)を管理する。具体的には、中間制御装置12、13と制御チャネルを構築した際に、権限委譲範囲を決定し、権限委譲範囲記憶部60に登録し、中間制御装置12、13、に権限委譲範囲を設定するとともに、通信サブシステム間のトポロジの変化などにより権限委譲範囲に変更が生じた場合にも対応して権限委譲範囲記憶部60の内容をアップデートする。なお、
図9の例では、権限委譲範囲記憶部60が制御装置11内に備えられているものとしているが、別途外部サーバ等に、権限委譲範囲記憶部60を設ける構成も採用可能である。
【0054】
なお、本実施形態では、権限委譲範囲として、各中間制御装置12、13が管理する通信サブシステムのインポート情報と、アウトプットポート情報、フロースコープを用いている。インポート情報とは、通信サブシステムに流入するフローの入力ポート情報である。アウトプットポート情報とは、通信サブシステムに流出するフローの出力ポート情報である。フロースコープとは、送信元および宛先MAC(Media Access Control)アドレス、送信元および宛先IPアドレス、送信元および宛先L4(レイヤ4)ポート情報などで指定される通信サブシステムに流れるフローのスコープを示す情報である。権限委譲範囲については、後に
図12、
図13を用いて詳細に説明する。
【0055】
また、本実施形態では、権限委譲範囲管理部59は、通信サブシステム内での通信であれば、いかなる通信も中間制御装置12、13で転送経路の制御を行ってよいという権限委譲範囲作成ポリシを持っているものとする。
【0056】
上記のような制御装置11は、非特許文献1のオープンフローコントローラをベースに、上記中間制御装置管理部54および権限委譲範囲管理部59を追加した構成にて実現することも可能である。
【0057】
また、
図9に示した制御装置11の各部(処理手段)は、制御装置11を構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。また、このプログラムは、コンピュータが読み取り可能な記録媒体に記録することができる。この場合、このプログラムは、全体として制御装置11を構成するように、意図した(プログラムされた)処理または動作ステップを実行する機能部(処理手段)としてコンピュータを動作させる。
【0058】
図10は、
図2の中間制御装置12(13)の詳細構成を表した図である。
図10を参照すると、パケット転送装置21〜23、31〜33との通信を行う通信部51と、制御メッセージ処理部52と、経路・アクション計算部53と、パケット転送装置管理部61と、トポロジ管理部55と、フロー終端点管理部56と、処理規則管理部57と、処理規則記憶部58と、権限委譲範囲管理部59と、権限委譲範囲記憶部60と、仮想パケット転送装置部62とを備えた構成が示されている。これらはそれぞれ次のように動作する。
【0059】
制御メッセージ処理部52は、パケット転送装置21〜23、31〜33から受信した制御メッセージを解析して、中間制御装置12(13)内の該当する処理手段に制御メッセージ情報を引き渡す。
【0060】
経路・アクション計算部53は、パケット転送装置から新規フロー検出通知(Packet−In)メッセージによる処理規則の設定依頼に基づき、新規に検出されたパケットフローが権限委譲範囲管理部59で管理している権限委譲範囲に属するか否か確認し、属する場合は、フロー終端点管理部56にて管理されているフローの終端点の情報と、トポロジ管理部55にて構築されたネットワークトポロジ情報に基づいてパケットの転送経路および該転送経路上のパケット転送装置に実行させるアクションを求める。一方、新規に検出されたパケットフローが権限委譲範囲に属さない場合は、仮想パケット転送装置部62と連携して制御装置11に、処理規則の設定依頼を行う。また、経路・アクション計算部53は、仮想パケット転送装置部62を介して受信した制御装置11からの処理規則の設定指示に従い、制御装置11から受信した処理規則に応じたパケット転送経路および該転送経路上のパケット転送装置に実行させるアクションを求める。
【0061】
パケット転送装置管理部61は、中間制御装置12(13)によって制御されているパケット転送装置の能力(例えば、ポートの数や種類、サポートするアクションの種類など)を管理する。
【0062】
トポロジ管理部55は、通信部51を介して収集されたパケット転送機能の接続関係に基づいてネットワークトポロジ情報を構築する。
【0063】
フロー終端点管理部56は、通信サブシステムで発生するフローの終端点を特定するための情報を管理する。本実施形態では、フローの終端点を特定するための情報として、通信端末が接続可能なポートの先に括り付けられたIPサブネット情報を管理しているものとするが、フロー終端点として管理する情報としては、制御装置11同様、これに限定しない。このフロー終端点を特定するための情報は、例えば、パケット転送装置からの後記する転送機能能力通知メッセージなどに基づいて適宜更新される。
【0064】
処理規則管理部57は、どのパケット転送装置にどのような処理規則が設定されているかを管理する。具体的には、処理規則管理部57は、経路・アクション計算部53にて計算された結果を処理規則として処理規則記憶部58に登録するとともに、該当するパケット転送装置に処理規則を設定する。また、処理規則管理部57は、パケット転送装置からの処理規則削除通知などにより、パケット転送装置にて設定された処理規則に変更が生じた場合にも対応する処理規則記憶部58の内容をアップデートする。
【0065】
なお、中間制御装置12(13)にて、処理規則を保持する必要が無い場合、処理規則記憶部58は省略することが可能である。また、処理規則記憶部58を別途外部サーバ等に設ける構成も採用可能である。
【0066】
権限委譲範囲管理部59は、制御装置11から許可された権限委譲範囲を管理する。具体的には、権限委譲範囲管理部59は、制御装置11と制御チャネルを構築した際に通知された権限委譲範囲を、権限委譲範囲記憶部60に登録する。また、権限委譲範囲管理部59は、通信サブシステム間のトポロジの変化などにより、制御装置11が権限委譲範囲を更新した場合にも対応する権限委譲範囲記憶部60の内容をアップデートする。なお、権限委譲範囲記憶部60を別途外部サーバ等に設ける構成も採用可能である。
【0067】
なお、本実施形態では、権限委譲範囲として、各中間制御装置12(13)が管理する通信サブシステムのインポート情報と、アウトプットポート情報、フロースコープを用いている。インポート情報とは、通信サブシステムに流入するフローの入力ポート情報である。アウトプットポート情報とは、通信サブシステムに流出するフローの出力ポート情報である。フロースコープとは、送信元および宛先MAC(Media Access Control)アドレス、送信元および宛先IPアドレス、送信元およびL4(レイヤ4)ポート情報などで指定される通信サブシステムに流れるフローのスコープを示す情報である。権限委譲範囲については、後に
図12、
図13を用いて詳細に説明する。
【0068】
仮想パケット転送装置部62は、1つ以上のパケット転送装置21〜23(31〜33)で構成された通信サブシステム2(3)を1つの論理的なパケット転送装置として管理する。具体的には、パケット転送装置管理部61およびトポロジ管理部55と連携して、外部の通信機能(例えば、通信端末や他通信サブシステムに属するパケット転送装置)と接続可能なポート群を検知し、これらポート群を具備する仮想的なパケット転送装置を形成する。そして、中間制御装置12(13)が制御装置11と制御チャネルを構築した際には、仮想パケット転送装置部62は、中間制御装置12(13)が管理する通信サブシステム2(3)を1つの仮想パケット転送装置として制御装置11にパケット転送能力を通知する。また、仮想パケット転送装置部62は、経路・アクション計算部53からの要請に基づいて、制御装置11に処理規則の設定依頼を行う。また、制御装置11から処理規則設定メッセージを受信すると、通信サブシステム用に変換し、経路・アクション計算部53に処理規則の設定を依頼する。
【0069】
上記のような中間制御装置12(13)は、非特許文献1のオープンフローコントローラをベースに、権限委譲範囲管理部59と仮想パケット転送装置部62とを追加した構成にて実現することも可能である。
【0070】
また、
図10に示した中間制御装置12(13)の各部(処理手段)は、中間制御装置12(13)を構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。また、このプログラムは、コンピュータが読み取り可能な記録媒体に記録することができる。この場合、このプログラムは、全体として制御装置11を構成するように、意図した(プログラムされた)処理または動作ステップを実行する機能部(処理手段)としてコンピュータを動作させる。
【0071】
パケット転送装置21〜23、31〜33は、パケットを受信すると、処理規則を格納する処理規則記憶部から、受信したパケットに適合するマッチングルール(照合規則)を持つ処理規則エントリを探し出し、その処理規則エントリに紐づいているアクション通りの処理(例えば、特定のポートへの転送、フラッディング、廃棄など)を実施する。
【0072】
また、パケット転送装置21〜23、31〜33は、パケットを処理する度に、該当処理規則エントリのアクションフィールド内のタイマー(タイムアウト情報)をリセットする。タイマーが0になると、パケット転送装置21〜23、31〜33は、処理規則記憶部から、該当処理規則エントリを削除する。これにより、使用されなくなった処理規則がいつまでも残ってしまい、意図しないアクションが実行されてしまう事態が防止される。
【0073】
なお、上記したパケット転送装置21〜23、31〜33は、非特許文献1のオープンフロースイッチと同等の構成にて実現することが可能である。
【0074】
続いて、本実施形態の全体の動作について図面を参照して詳細に説明する。中間制御装置12がパケット転送装置21〜23と制御チャネルを構築する際の一連の手順および中間制御装置12が制御装置11と制御チャネルを構築する際の一連の手順を説明する。
【0075】
図11は、本発明の第2の実施形態の動作(権限委譲範囲の通知)を表わしたシーケンス図である。
図11を参照すると、まず中間制御装置12は、パケット転送装置21、22と制御チャネルを構築し(ステップS001、S003)、そして制御装置11と制御チャネルを構築する(ステップS005)。また
図11の例では、さらにその後、中間制御装置12がパケット転送装置23と制御チャネルを構築して(ステップS008)通信サブシステム2の構成が変化すると、制御装置11にその変化を通知している(ステップS010)。
【0076】
以下、上記中間制御装置12との各制御チャネルの構築およびその後の手続について
図11のシーケンスに従って説明する。パケット転送装置21は通信サブシステム2に接続し、中間制御装置12と制御チャネルを構築する(ステップS001)。ここで確立される制御チャネルとは、例えば、制御チャネル用のポート番号を用いたTCP(Transmission Control Protocol)やSSL(Secure Sockets Layer)のコネクションである。そして、パケット転送装置21は、転送能力通知メッセージを介して、自身に関する情報を中間制御装置12に通知する(ステップS002)。
【0077】
ここで、パケット転送装置21が送信する情報には、例えば、パケット転送装置自身(ここでは、パケット転送装置21)の識別子、各ポート情報、サポートするアクション情報などが挙げられる。パケット転送送信自身の識別子としては、例えば、IPアドレスを送信してもよい。IPアドレスは、パケット転送装置の識別子の例であり、識別子としてIPアドレス以外の情報を送信してもよい。ポート情報は、例えば、パケット転送装置の各ポートのポート識別子、個々のポートに接続されているリンクの種別、個々のポートに接続されているリンクに関連する情報である。上記のポートの識別子として、例えば、ポート番号を用いることができる。リンクタイプ情報は、例えば、Ethernet(登録商標)、ファイバチャネル等のフレームタイプの異なるリンク種別を表す情報である。リンクに関連する情報の内容は、リンクの種別により変化する。例えば、リンクの種別がEthernetである場合、リンクに関連する情報として、MACアドレスや、サポートする通信速度や、通信方式(例えば、全二重、半二重)等が挙げられる。リンクに関連する情報は、リンクの属性情報と称することもできる。アクション情報は、例えば、通常のパケット転送に加え、MACアドレス変換やIPアドレス変換、L4ポート番号変換などである。
【0078】
なお、このような転送能力通知メッセージとして、非特許文献2のFeature Requestに対する応答として送信するFeature Replyメッセージを用いることができる。
【0079】
中間制御装置12はパケット転送装置21から送信された転送能力通知メッセージを受信すると、その内容をパケット転送装置管理部61に記憶する。
【0080】
続いて、中間制御装置12は、同様の手順で、パケット転送装置22と制御チャネルを構築し、パケット転送装置22の転送能力をパケット転送装置管理部61に記憶する(ステップS003、S004)。
【0081】
次に、中間制御装置12は、制御装置11と制御チャネルを構築するための事前準備として、通信サブシステム2内のトポロジ探索を行い、その結果をトポロジ管理部55に記憶する(
図11では省略)。トポロジ情報が更新されると、仮想パケット転送装置部62はパケット転送装置21、22で構築されている通信サブシステム2を1つの仮想パケット転送装置として形成する。ここで形成された仮想パケット転送装置は、2つのポートを持っている。1つは
図8で通信サブシステム2が通信端末140と接続するポートで、もう1つは通信サブシステム2がパケット転送装置31と接続するポートである。ここでは、ポート番号としてそれぞれ、1と2が与えられたものとする。
【0082】
中間制御装置12は、通信サブシステム2を構成する自装置およびパケット転送装置で仮想パケット転送装置を形成すると、制御装置11と制御チャネルを構築し(ステップS005)、転送能力通知メッセージを介して、上記仮想パケット転送装置に関する情報を制御装置11に通知する(ステップS006)。その際に、中間制御装置12は、自身が中間制御装置であることを通知する。
【0083】
制御装置11は、中間制御装置12の仮想パケット転送装置に関する情報を取得すると、中間制御装置管理部54に記憶する。そして、中間制御装置12の仮想パケット転送装置情報が新たに登録または更新されると、制御装置11内の権限委譲範囲管理部59は、中間制御装置12が任意に経路制御可能な権限委譲範囲を決定し、権限委譲範囲通知メッセージを介して、その権限委譲範囲を中間制御装置12に通知する(ステップS007)。
【0084】
本実施形態では、上記ステップS007で、
図12に示す権限委譲範囲が通知されたものとする。
図12の例では、先のポート番号として1、2を持つ仮想パケット転送装置に関する情報に基づいて、インポート情報、アウトプットポート情報がそれぞれ1であり、フロースコープが、特段対象を限定しない「Any」である権限委譲範囲が通知されたものとする。
【0085】
中間制御装置12は、権限委譲範囲情報を取得すると、権限委譲範囲管理部59で記憶する。
【0086】
その後、パケット転送装置23が中間制御装置12と制御チャネルの構築を試みると、中間制御装置12は、パケット転送装置21、22と同様の手順で、パケット転送装置23と制御チャネルを構築し(ステップS008)、パケット転送装置23の転送能力をパケット転送装置管理部61に記憶させる(ステップS009)。そして、中間制御装置12はトポロジの再探索を行い、トポロジ情報の更新を検知すると、仮想パケット転送装置を再形成し、最新の仮想パケット転送装置に関する情報を制御装置11に通知する(ステップS010)。
【0087】
ここで形成された仮想パケット転送装置は、4つのポートを持っている。1つ目は
図8で通信端末140と接続するポート、2つ目はパケット転送装置31と接続するポート、3つ目はパケット転送装置33と接続するポート、4つ目は通信端末141と接続するポートである。ここでは、ポート番号としてそれぞれ、1〜4が与えられたものとする。
【0088】
制御装置11は中間制御装置12の仮想パケット転送装置に関する情報の更新を検知すると、権限委譲範囲を再決定し、権限委譲範囲通知メッセージを介して、その権限委譲範囲を中間制御装置12に通知する(ステップS011)。
【0089】
本実施形態では、上記ステップS011で、
図13に示す権限委譲範囲が通知されたものとする。
図13の例では、先のポート番号として1、2に加え、3、4が追加された仮想パケット転送装置に関する情報に基づいて、インポート情報、アウトプットポート情報がそれぞれ1および4であり、フロースコープが、特段対象を限定しない「Any」である権限委譲範囲が通知されたものとする。つまり、本実施の形態では、通信サブシステムに閉じた通信(両通信端末間の通信が通信サブシステム内で完結する通信)であれば、中間制御装置12が自分で経路を決めてよいという権限が委譲されたことを意味する。
【0090】
続いて、上記制御チャネルの構築後の通信の流れについて説明する。
図14は、
図8の通信端末140と通信端末141との間の通信の流れを表わしたシーケンス図である。
図8の通信端末140と通信端末141は、それぞれ通信サブシステム2のパケット転送装置21、23に接続されている点に注意されたい。つまり、通信端末140と通信端末141との間の通信は、通信サブシステムに閉じた通信である。
【0091】
図14を参照すると、まず、通信端末140は、通信端末141宛てにデータパケットを送信する(ステップS101)。パケット転送装置21はデータパケットを受信すると、処理規則記憶部を参照し、受信したパケットに適合する処理規則エントリを検索する。しかしながら、このパケットは通信端末140から通信端末141に宛てられた最初のパケットであるため、該当する処理規則は存在しない。そこで、パケット転送装置21は受信したパケットをバッファリングしてから、中間制御装置12に新規フロー検出通知(Packet−Inメッセージ)を送信する(ステップS102)。
【0092】
この新規フロー検出通知には処理規則の作成に必要な情報(例えば、MACアドレス、IPアドレス、ポート番号(それぞれ送信元と宛先両方含む))とパケット受信ポート情報が含まれている。
【0093】
なお、上記ステップS102では、パケット転送装置21が受信したパケットをバッファリングして、処理規則の作成に必要な情報のみ中間制御装置12に送ることとしているが、パケット転送装置21が受信したパケットをそのまま中間制御装置12に送信することとしても良い。
【0094】
中間制御装置12は、新規フロー検出通知を受信すると、
図15のフローチャートに示すように当該パケットフローが自装置の制御対象フローであるか否かの判定処理を行ってから、経路の計算と処理規則の作成を実行する。ここでは、先に述べたとおり通信端末140と通信端末141との間の通信は、通信サブシステムに閉じた通信であるため、中間制御装置12は、経路上のパケット転送装置であるパケット転送装置21、23に、処理規則を設定する(ステップS103)。上記処理規則の設定には、非特許文献2のFlow Modificationメッセージを用いることができる。
【0095】
さらに中間制御装置12は、処理規則設定通知として、設定した処理規則を制御装置11に通知する。ここで通知される処理規則は、仮想パケット転送装置部62によって形成している仮想パケット転送装置に対応した処理規則に変換されていることが望ましい。
【0096】
パケット転送装置21、23への処理規則の設定が完了すると、パケット転送装置21はバッファリングしてあるパケットを、処理規則のアクションフィールドの内容に従って転送を行う。このパケットの転送経路上でパケット転送装置21の次に当たるパケット転送装置23には既に処理規則の設定が行われているので、このパケットはパケット転送装置21、23の順で転送され、通信端末141に届く。
【0097】
ここで、上記新規フロー検出通知を受信した中間制御装置12の動作について説明する。
図15は、上記新規フロー検出通知を受信した中間制御装置12の動作を表したフローチャートである。
【0098】
図15を参照すると、新規フロー検出通知を受信すると(ステップS201)、中間制御装置12は、新規フロー検出通知に含まれる情報から、新規フローを検出したパケット転送装置とその入力ポートの特定を行い、入力ポートが権限委譲範囲で規定されたインポート情報に属するか否かをチェックする(ステップS202)。新規フローを検出したパケット転送装置は、パケット転送装置21であり、その入力ポートは、通信端末140と接続されたポート番号#1のポートである。従って、ステップS202では、権限委譲範囲内(制御対象フロー)であると判定される。
【0099】
次に、中間制御装置12は、続いて受信したデータパケットが権限委譲範囲で規定されたフロースコープに属するか否かをチェックする(ステップS203)。
図13に示したとおり、フロースコープは特段対象を限定しない「Any」に設定されているため、ステップS203では、権限委譲範囲内(制御対象フロー)であると判定される。
【0100】
次に、中間制御装置12は、フロー終端点管理部56の管理情報と受信したデータパケットの宛先IPアドレスから特定したデータパケットの出力先が権限委譲範囲で規定されたアウトプットポートに属するか否かをチェックする(ステップS204)。データパケットの宛先は、端末装置141であり、出力先は、通信端末141と接続されたパケット転送装置23のポート番号#4のポートである。従って、ステップS204では、権限委譲範囲内(制御対象フロー)であると判定される。
【0101】
上記のように、受信したデータパケットが権限委譲範囲(制御対象フロー)であると判定すると、中間制御装置12は、経路計算と、処理規則の作成を行う(ステップS205)。ここでは、経路計算の結果、パケット転送装置21、パケット転送装置23の順でパケットを転送する経路が計算されたものとする。また、送信元MACアドレスと送信元IPアドレスが通信端末140のものと、宛先MACアドレスと宛先IPアドレスが通信端末141のものであることを要求する照合規則を持ち、該当するパケットについて、計算された経路通りにパケットを転送するアクションを実行させる処理規則が作成されたものとする。
【0102】
その後、中間制御装置12は、作成した処理規則の設定と(ステップS206)、制御装置11への処理規則設定通知の送信を実行する(ステップS207)。また、併せて、中間制御装置12は、パケット転送装置21、23に設定した処理規則を処理規則管理部57を介して処理規則記憶部58に登録する。
【0103】
なお、上記ステップS202〜S204において、いずれかひとつでも、権限委譲範囲外(制御対象外フロー)であると判定された場合、中間制御装置12は、制御装置11に新規フロー検出通知を送信する。この新規フロー検出通知に含まれるパケット転送装置の識別情報と入力ポート情報は、中間制御装置12の仮想パケット転送装置部62によって、形成している仮想パケット転送装置に対応した情報に変換されていることが望ましい。その後の動作は、冒頭に
図21を用いて説明したように、制御装置11によりパケット転送経路の計算と、個々のパケット転送装置への処理規則の作成・設定が行われる。
【0104】
次に
図16を参照して、
図8の通信端末140が通信端末142との間の通信の流れを表わしたシーケンス図である。
図8の通信端末140は、通信サブシステム2のパケット転送装置21に接続されており、
図8の通信端末142は、通信サブシステム3のパケット転送装置32に接続されている点に注意されたい。つまり、通信端末140と通信端末142との間の通信は、通信サブシステムに閉じた通信ではない。
【0105】
まず、通信端末140は、通信端末142宛てにデータパケットを送信する(ステップS301)。ここでも、該当する処理規則は存在しないため、パケット転送装置21は、
図13のときと同様に、受信したパケットをバッファリングしてから、中間制御装置12に対し、新規フロー検出通知を送信する(ステップS302)。
【0106】
中間制御装置12は、新規フロー検出通知を受信すると、
図15のフローチャートに示すように当該パケットフローが自装置の制御対象フローであるか否かの判定処理を行う。ここでは、先に述べたとおり通信端末140と通信端末142との間の通信は、通信サブシステムに閉じた通信ではない(アウトプットポートが中間制御装置12の権限範囲外にある。)ため、
図15のステップS208に示したように、中間制御装置12は、制御装置11に新規フロー検出通知を送信する(ステップS303)。
【0107】
なお、上記新規フロー検出通知に含まれるパケット転送装置の識別情報と入力ポート情報は、中間制御装置12の仮想パケット転送装置部62によって、形成している仮想パケット転送装置に対応した情報に変換されていることが望ましい。
【0108】
制御装置11は、通信サブシステム2、3をそれぞれ1つの仮想パケット転送装置と認識しているため、新規フロー検出通知を受信すると、パケット転送経路を計算するとともに、新規に設定する処理規則を作成する。ここでは経路計算の結果、通信サブシステム2に対応した仮想パケット転送装置、通信サブシステム3に対応した仮想パケット転送装置の順でパケットを転送する経路が計算されたものとする。また、送信元MACアドレスと送信元IPアドレスが通信端末140のものであり、かつ、宛先MACアドレスと宛先IPアドレスが通信端末142とする照合規則が決定され、計算した経路に従いパケットを転送するアクションを持つ処理規則がそれぞれ作成されたものとする。
【0109】
制御装置11は、前記パケット転送経路上の中間制御装置である中間制御装置12、13に、前記作成した処理規則を設定する(ステップS304)。制御装置11は、前記設定した処理規則を処理規則管理部57を介して処理規則記憶部58に登録する。
【0110】
中間制御装置12、13は、制御装置11から処理規則の設定メッセージを受信すると、仮想パケット転送装置部62および経路・アクション計算部53を用いて、自装置の管轄となる通信サブシステム用に処理規則を変換(仮想パケット転送装置の処理規則から実際の個々のパケット転送装置の処理規則への変換)し、パケット転送装置に処理規則を設定する(ステップS305)。
【0111】
パケット転送装置への処理規則の設定が完了すると、パケット転送装置21は、バッファリングしてあるパケットを処理規則に従って転送を行う(ステップS306−1)。このパケットの転送経路上のパケット転送装置には、既に処理規則の設定が行われているので、このパケットはパケット転送装置21、22、31、32の順で転送され、通信端末142に届く(ステップS306−2〜306−4)。同様に、後続するパケットフローも前記設定された処理規則に従って転送される(ステップS307−1〜307−4)。
【0112】
以上のように、本実施形態によれば、1台当たりの制御装置の制御負荷を抑えることができる(第1の効果)。その理由は、制御装置の階層化・分散化を行い、パケット転送経路の制御に掛かる負荷を複数の制御装置に分散できるよう構成したことにある。
【0113】
また、本実施形態によれば、下位の制御装置が持つローカルなネットワーク情報だけでは計算できない、もしくは計算すべきでないパケットフローの経路制御も実現可能である(第2の効果)。その理由は、上位の制御装置が、下位の制御装置に対して、経路制御を許可する範囲(権限委譲範囲)として、下位の制御装置が持つローカルなネットワーク情報だけで対処が可能な、もしくは対処すべき範囲を指定し、上位の制御装置がこの範囲を超えるものを経路制御するよう構成したためである。
【0114】
また、本実施形態によれば、きめ細かい経路制御も実現することが可能である(第3の効果)。その理由は、上位の制御装置が、通信サブシステムレベルの経路制御を行い、パケットフローの入口と出口のみを指定すること(上記仮想パケット転送装置に関する記載参照。)、また、上位の制御装置が下位の制御装置に対して、個別パケットフローへの対処は指定せずに、経路制御を許可する権限委譲範囲のみを指定することにより、下位の制御装置が、より詳細な経路制御を行う構成としたためである。このとき、下位の制御装置が、個々の自装置の管理する範囲のネットワーク状況を考慮した経路制御を行うことで、時々刻々と変化するネットワーク状態を考慮した経路制御も実現される。
【0115】
また、本実施形態によれば、処理規則(フローエントリ)の設定メッセージにより、上記上位の制御装置がパケットフローの入口と出口とを指定し、これを受けた中間制御装置も処理規則(フローエントリ)の設定メッセージによりパケット転送装置を制御することとしているため、接続しているパケット転送装置が仮想的な装置か否かを判断する必要がなければ、上位の制御装置は非特許文献2のオープンフローコントローラやオープンフロースイッチの基本構成を採用することができる。
【0116】
また、パケット転送装置は非特許文献2のオープンフロースイッチの基本構成を採用することができる。
【0117】
[第3の実施形態]
続いて、本発明をモバイルバックホールシステムに適用した第3の実施形態について図面を参照して詳細に説明する。
図17は、本発明の第3の実施形態を説明するための図である。
【0118】
図17を参照すると、本発明の第3の実施形態の通信システム1は、上記した第1および第2の実施形態の制御装置11及び100に相当する制御装置111と、上記した第1および第2の実施形態の通信装置、パケット転送装置および中間制御装置に機能を併せ持ったOFS121〜123、131〜133とが示されている。
【0119】
そして、本実施形態の通信システム1には、Long Term Evolution(LTE)やWiMAXなどの無線技術をサポートした基地局150、基地局150と連携して通信端末に通信サービスを提供するアクセスGateway(GW)152、新規基地局151が増設される際に基地局の設定をリモートで行うブートストラップサーバ153が接続されている。
【0120】
ここで、中間制御装置としても動作するOFSに与えられた権限委譲範囲は、パケットの種別がデータパケットであることと記載されているものとする。詳しくは、インポート情報はAny、アウトプットポート情報はAny、そしてフロースコープは、LTEのバックホールを流れるGPRS Tunneling Protocol(GTP)のデータパケットを識別するため、IPヘッダ中のプロトコル番号がUser Datagram Protocol(UDP)を示す17で、宛先ポート番号が2152であるパケットフロー、もしくはWiMAXのバックホールを流れるGeneric Routing Encapsulation(GRE)パケットを識別するため、IPヘッダ中のプロトコル番号がGREを示す47であるフローのいずれかと記載されているものとする。
【0121】
そして、中間制御装置としても動作する各OFSのこれらパケットに対する経路制御ポリシは、Open Shortest Path First(OSPF)のような経路制御プロトコルを用いて、周囲のOFSと連携して構築したルーティングテーブルに基づいて転送するものとする。
【0122】
以上のような本発明の第3の実施形態によれば、バックホールシステムを流れるデータパケット(例えば、
図17の基地局150〜アクセスGW152間でやり取りされるGTPまたはGREのデータパケット)は、個々のOFSで自律分散の経路制御を行い、それ以外のトラフィック(例えば、新規基地局151を増設する時に新規基地局151がブートストラップサーバ153へアクセスするためのトラフィックや不正アクセスしてきた端末からのトラフィックなど)が発生した場合には、上位の制御装置111で通信可否判断を行い、通信を許可したら経路設定を行うといった制御が可能となる。つまり、第2の実施形態のように通信サブシステムに閉じた通信かといった通信の端点に基づいて権限委譲するのとは異なり、トラフィックの種類に応じて権限委譲しても良い。
【0123】
[第4の実施形態]
続いて、本発明を広域分散データセンタシステムに適用した第4の実施形態について図面を参照して詳細に説明する。
図18は、本発明の第4の実施形態を説明するための図である。
【0124】
図18を参照すると、本発明の第4の実施形態の通信システム1は、上記した第1および第2の実施形態の制御装置11および100に相当する制御装置111と、上記した第1および第2の実施形態の通信装置、パケット転送装置および中間制御装置に機能を併せ持ったOFS121〜124と、通信端末140、141にサービスを提供するサーバ171、172と、が示されている。
【0125】
OFS121〜124は、ルータ網内に分散して配置されており、OFS間でIPトンネルを構築している。このとき、OFSはOFS間で構築しているIPトンネルを仮想的に物理ポートとして認識しているものとする。このような構成をとることにより、ルータ網にオーバーレイする形で仮想的に広域分散データセンタシステムを構築することができる。
【0126】
また、各OFS121〜124は、サーバ171、172宛てのパケットは自装置に転送するように周囲のルータ網に公告しているものとする。これにより、通信端末140、141が広域分散データセンタシステムにアクセスするためのパケットは、通信端末140、141の近隣に存在するOFSに届けられる。
【0127】
ここで、中間制御装置としても動作するOFSに与えられた権限委譲範囲は、インポート情報はAny、アウトプットポート情報はAny、そしてフロースコープは、送信元もしくは宛先のIPアドレスのいずれかがサーバ171またはサーバ172ではないパケットと設定されているものとする。
【0128】
そして、中間制御装置としても動作する各OFSのこれらパケットフロー(サーバ171、172宛てまたはサーバ171、172からのパケットフロー)に対する経路制御ポリシは、OSPFのような経路制御プロトコルを用いて、周囲のOFSと連携して構築したルーティングテーブルに基づいて転送するものとする。
【0129】
このような構成をとることにより、本広域分散データセンタシステムにアクセスするためのパケットフローは上位の制御装置111で経路制御を行い、それ以外のパケットフローは、各OFSで自律分散の経路制御を行う構成とすることができる。
【0130】
以上、本発明の実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した第2の実施形態では、制御装置11とパケット転送装置の間の中間制御装置の階層が1階層であるものとして説明したが、複数の階層を設け、上位の中間制御装置が下位の中間制御装置に権限(制御対象のパケットフロー)を委譲していく構成も採用可能である。
【0131】
また、上記した実施形態における、通信装置の数、中間制御装置の数、中間制御装置が管理するパケット転送装置(OFS)の数、OFSの数は一例であって、その数に特に制限はない。
【0132】
また、上記した実施形態では、データパケットがパケット転送装置に届くことをトリガとして、各制御装置が処理規則の設定を行うものとして説明したが、データパケット受信以外の処理規則の設定のトリガを用いても良い。
【0133】
また、例えば、上記した第1の実施形態では、中間制御装置は、自装置の制御対象のパケットフローを識別するための識別条件(権限委譲範囲)を参照し、パケット転送装置から処理規則の設定要求を受けたパケットが、前記識別条件(権限委譲範囲)に属すか否かを判断し、属していれば、自身で経路制御を行い、属していなければ、上位の制御装置に問い合わせを行うものとして説明したが、中間制御装置が具備する情報は、自装置の制御対象外のパケットフローを識別するための識別条件(権限非委譲範囲)を用いるものとしてもよい。この場合、中間制御装置は、処理規則の設定要求があったパケットフローが、前記権限非委譲範囲に属すか否かを判断し、属していれば、上位の制御装置に問い合わせを行い、属していなければ、自身で経理制御を行うという処理を行うことになる。
【0134】
また上記した実施形態では、制御装置11が中間制御装置に権限委譲範囲を通知していたが、中間制御装置に権限委譲範囲を通知する役目は他の機能(例えば、ネットワークマネジメント機能など)が担っても良い。
【0135】
また、上記した実施形態では、制御装置が中間制御装置に権限委譲範囲を通知するものとして説明したが、そのほかに許可するアクションや経路計算/選択ポリシーなどを併せて通知しても良い。
【0136】
また、上記した実施形態では、通信システム内のすべてのパケット転送装置は中間制御装置を介して制御されていたが、一部のパケット転送装置は中間制御装置を介して制御され、残りのパケット転送装置は制御装置に直接制御されても良い。
【0137】
また、上記した第4の実施形態では、権限委譲範囲としてサーバのIPアドレスで指定したが、サブネットで指定しても良い。
【0138】
本発明は、経路制御対象のパケットはEthernetフレームであるものとして説明したが、Ethernetヘッダを含まないIPパケットにも適用することが可能である。つまり、本発明は、通信プロトコルにより制限されるものではない。
なお、上記の特許文献及び非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【0139】
最後に、本発明の形態を要約する。
[第1の形態]
パケットフローの転送経路を制御する制御装置と、
自装置の制御対象のパケットフローを識別するための識別条件を参照し、前記制御装置にパケットフローの転送経路の制御を依頼するか、自装置がパケットフローの転送経路を制御するかを判定する通信装置と、を含む通信システム。
[第2の形態]
第1の形態の通信システムにおいて、
前記制御装置および前記通信装置は、パケットに適用する処理と前記処理を適用するパケットを特定するための照合規則とを対応付けた処理規則に従って受信パケットを処理するパケット処理部を備えるパケット転送装置に、前記処理規則を設定することにより、パケットフローの転送経路を制御する通信システム。
[第3の形態]
第2の形態の通信システムにおいて、
前記通信装置は、前記パケット転送装置から前記処理規則の設定依頼を受信した際に、前記処理規則の設定依頼が、前記識別条件に適合するか否かにより、前記制御装置にパケットフローの転送経路の制御を依頼するか、自装置がパケットフローの転送経路を制御するかを判定する通信システム。
[第4の形態]
第1から第3いずれか一の通信システムにおいて、
前記通信装置は、パケットに適用する処理と前記処理を適用するパケットを特定するための照合規則とを対応付けた処理規則に従って受信パケットを処理するパケット処理部を備える通信システム。
[第5の形態]
第4の形態の通信システムにおいて、
前記通信装置は、前記処理規則を適用するパケットを特定するための照合規則のいずれにも該当しないパケットを受信した場合に、前記受信パケットが、前記識別条件に適合するか否かにより、前記制御装置にパケットフローの転送経路の制御を依頼するか、自装置がパケットフローの転送経路を制御するかを判定する通信システム。
[第6の形態]
第1から第5いずれか一の形態の通信システムにおいて、
前記識別条件として、前記通信装置が配置されたサブ通信システム内で閉じたパケットフローであるか否かを判別する条件が設定されている通信システム。
[第7の形態]
第1から第5いずれか一の形態の通信システムにおいて、
前記識別条件として、パケットの種別が所定の種別であるか否かを判別する条件が設定されている通信システム。
[第8の形態]
第1から第5いずれか一の形態の通信システムにおいて、
前記識別条件として、パケットの送信元または宛先が所定の送信元または宛先であるか否かを判別する条件が設定されている通信システム。
[第9の形態]
第1から第8いずれか一の形態の通信システムにおいて、
前記通信装置は、自装置が配置されたサブ通信システムのパケット転送装置を制御することにより、仮想的なパケット転送装置を構成する通信システム。
[第10の形態]
第9の形態の通信システムにおいて、
前記制御装置は、前記通信装置に対して、仮想的なパケット転送装置としての処理規則を送信し、
前記通信装置は、前記制御装置から受信した処理規則を、前記自装置が配置されたサブ通信システムのパケット転送装置の処理規則に変換する通信システム。
[第11の形態]
第1から第10いずれか一の形態の通信システムにおいて、
前記識別条件は、当該パケットを最初に受信した通信装置とその入力ポートの範囲を表わすインポート情報、当該パケットの出力先の範囲を表わすアウトプットポート情報、制御対象となるフローの範囲を表わすフロースコープ情報のいずれかの情報要素によって構成されている通信システム。
[第12の形態]
パケットに適用する処理と前記処理を適用するパケットを特定するための照合規則とを対応付けた処理規則に従って受信パケットを処理するパケット処理部を備えるパケット転送装置と、
前記パケット転送装置に処理規則を設定する中間制御装置と、
前記中間制御装置を制御する上位の制御装置と、を含み、
前記中間制御装置が、自装置の制御対象のパケットフローを識別するための識別条件を参照し、前記上位の制御装置にパケットフローの転送経路の制御を依頼するか、自装置がパケットフローの転送経路を制御するかを判定する通信システム。
[第13の形態]
パケットに適用する処理と前記処理を適用するパケットを特定するための照合規則とを対応付けた処理規則に従って受信パケットを処理するパケット処理部を備える複数のパケット転送装置と、
前記パケット転送装置に処理規則を設定する制御装置と、を含み、
前記パケット転送装置のうちの中間制御装置として動作する装置が、自装置の制御対象のパケットフローを識別するための識別条件を参照し、前記制御装置にパケットフローの転送経路の制御を依頼するか、自装置がパケットフローの転送経路を制御するかを判定する通信システム。
[第14の形態]
自装置の制御対象のパケットフローを識別するための識別条件を参照し、前記制御装置にパケットフローの転送経路の制御を依頼するか、自装置がパケットフローの転送経路を制御するかを判定する通信装置。
[第15の形態]
第14の形態の通信装置において、
パケットに適用する処理と前記処理を適用するパケットを特定するための照合規則とを対応付けた処理規則に従って受信パケットを処理するパケット処理部を備えるパケット転送装置に、前記処理規則を設定することにより、パケットフローの転送経路を制御する通信装置。
[第16の形態]
第15の形態の通信装置において、
前記パケット転送装置から前記処理規則の設定依頼を受信した際に、前記処理規則の設定依頼が、前記識別条件に適合するか否かにより、前記制御装置にパケットフローの転送経路の制御を依頼するか、自装置がパケットフローの転送経路を制御するかを判定する通信装置。
[第17の形態]
第14から第16いずれか一の通信装置において、
パケットに適用する処理と前記処理を適用するパケットを特定するための照合規則とを対応付けた処理規則に従って受信パケットを処理するパケット処理部を備える通信装置。
[第18の形態]
第17の形態の通信装置において、
前記処理規則を適用するパケットを特定するための照合規則のいずれにも該当しないパケットを受信した場合に、前記受信パケットが、前記識別条件に適合するか否かにより、前記制御装置にパケットフローの転送経路の制御を依頼するか、自装置がパケットフローの転送経路を制御するかを判定する通信装置。
[第19の形態]
第14から第18いずれか一の形態の通信装置において、
前記識別条件として、前記通信装置が配置されたサブ通信システム内で閉じたパケットフローであるか否かを判別する条件が設定されている通信装置。
[第20の形態]
第14から第18いずれか一の形態の通信装置において、
前記識別条件として、パケットの種別が所定の種別であるか否かを判別する条件が設定されている通信装置。
[第21の形態]
第14から第18いずれか一の形態の通信装置において、
前記識別条件として、パケットの送信元または宛先が所定の送信元または宛先であるか否かを判別する条件が設定されている通信装置。
[第22の形態]
第14から第21いずれか一の形態の通信装置において、
自装置が配置されたサブ通信システムのパケット転送装置を制御することにより、仮想的なパケット転送装置を構成する通信装置。
[第23の形態]
第22の形態の通信装置において、
前記制御装置から受信した仮想的なパケット転送装置としての処理規則を、前記自装置が配置されたサブ通信システムのパケット転送装置の処理規則に変換する通信装置。
[第24の形態]
第14から第23いずれか一の形態の通信装置において、
前記識別条件は、当該パケットを最初に受信した通信装置とその入力ポートの範囲を表わすインポート情報、当該パケットの出力先の範囲を表わすアウトプットポート情報、制御対象となるフローの範囲を表わすフロースコープ情報のいずれかの情報要素によって構成されている通信装置。
[第25の形態]
パケット転送装置を制御することにより仮想的なパケット転送装置を構成する通信装置に対して、仮想的なパケット転送装置としての処理規則を送信して、パケットフローの転送経路を制御させる制御装置。
[第26の形態]
第25の形態の制御装置において、
前記通信装置に対し、前記識別条件を設定する(権限委譲範囲を設定する)制御装置。
[第27の形態]
パケットフローの転送経路を制御する制御装置と接続された通信装置が、
自装置の制御対象のパケットフローを識別するための識別条件の設定を受け付けるステップと、
前記識別条件を参照し、前記制御装置にパケットフローの転送経路の制御を依頼するか、自装置がパケットフローの転送経路を制御するかを判定するステップと、を含むパケットフローの転送経路の制御方法。
[第28の形態]
パケットフローの転送経路を制御する制御装置と接続された通信装置に実行させるプログラムであって、
自装置の制御対象のパケットフローを識別するための識別条件を参照し、前記制御装置にパケットフローの転送経路の制御を依頼すると判定した場合に、前記制御装置にパケットフローの転送経路の制御を依頼する処理と、
前記識別条件を参照し、自装置がパケットフローの転送経路を制御すると判定した場合に、前記パケットフローの転送経路を制御する処理と、
を実行させるプログラム。