(57)【特許請求の範囲】
【請求項１】
ソフトウェア定義ネットワーク（ＳＤＮ）コントローラに適用される転送エントリ生成方法であって、
ＳＤＮネットワークトポロジーに基づいてトラフィックフローに対して複数の転送経路を算出することと、
前記各転送経路に対して、最大流量レートおよび前記最大流量レートに対応する流量レート識別子を確定することと、
前記トラフィックフローのパケット特徴情報と、前記各転送経路の流量レート識別子と、入口ノードの各前記転送経路での出力ポートとに基づいて、複数の入口フローエントリを生成することと、
前記トラフィックフローのパケット特徴情報と、前記各転送経路の流量レート識別子と、各中間ノードの各前記転送経路での出力ポートとに基づいて、各前記中間ノードに対応する中間フローエントリを生成することと、
前記トラフィックフローのパケット特徴情報と、出口ノードが前記トラフィックフローを送信する出力ポートとに基づいて、出口フローエントリを生成することと、
生成された入口フローエントリ、前記各転送経路の最大流量レートおよび前記各転送経路の流量レート識別子を前記入口ノードに送信し、対応する前記中間フローエントリを各転送経路における前記中間ノードに送信し、前記出口フローエントリを前記出口ノードに送信することとを含むことを特徴とする転送エントリ生成方法。
【請求項２】
各前記入口フローエントリにおいて、整合規則は、少なくとも、パケット特徴情報と流量レート識別子とを含み、動作指令セットは、入口ノードの各転送経路での出力ポートと、流量レート識別子を追加する動作と、流量レート識別子が付加されたパケットを入口ノードの各転送経路での出力ポートを介して送信する動作とを少なくとも含み、
各前記中間フローエントリにおいて、整合規則は、少なくとも、パケット特徴情報と流量レート識別子とを含み、動作指令セットは、少なくとも、転送経路における中間ノードの出力ポートと、流量レート識別子が付加されたパケットを転送経路における中間ノードの出力ポートを介して送信する動作とを含み、
前記出口フローエントリにおいて、整合規則は、少なくとも、パケット特徴情報を含み、動作指令セットは、少なくとも、出口ノードの出力ポートと、流量レート識別子を除去する動作と、流量レート識別子が除去されたパケットを出口ノードの出力ポートを介して送信する動作とを含むことを特徴とする請求項１に記載の方法。
【請求項３】
ＳＤＮネットワークトポロジーに基づいてトラフィックフローに対して複数の転送経路を算出することは、
前記入口ノードから送信された前記トラフィックフローの最初のパケットを受信することと、
前記トラフィックフローのＳＤＮネットワークトポロジー内での出口ノードを確定することと、
前記ＳＤＮネットワークトポロジーに基づいて、前記トラフィックフローの、前記入口ノードと前記出口ノードとの間における複数の転送経路を算出することとを含むことを特徴とする請求項１に記載の方法。
【請求項４】
ＳＤＮネットワークトポロジーに基づいてトラフィックフローに対して複数の転送経路を算出することは、
予め設定されたフロー特徴リストに基づいて前記トラフィックフローの入口ノードおよび前記トラフィックフローの出口ノードを確定し、自身が維持するＳＤＮ転送ドメインのネットワークトポロジーおよびリンク状態に基づいて、前記トラフィックフローの、前記入口ノードと前記出口ノードとの間における複数の転送経路を算出することを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記各転送経路の最大流量レートおよび前記各転送経路の流量レート識別子を確定することは、
各前記転送経路における各リンクの帯域幅に基づいて、前記各転送経路の最大流量レートを確定することと、
前記各転送経路の最大流量レートについて順番をつけることと、
前記順番に従って、前記各転送経路の流量レート識別子を設定することとを含むことを特徴とする請求項１に記載の方法。
【請求項６】
ソフトウェア定義ネットワーク（ＳＤＮ）コントローラに適用される転送エントリ生成装置であって、
ＳＤＮネットワークトポロジーに基づいてトラフィックフローに対して複数の転送経路を算出する転送経路算出ユニットと、
前記各転送経路の最大流量レートおよび前記各転送経路の前記最大流量レートに対応する流量レート識別子を確定するレート識別子設定ユニットと、
前記トラフィックフローのパケット特徴情報と、前記各転送経路の流量レート識別子と、入口ノードの各前記転送経路での出力ポートとに基づいて、複数の入口フローエントリを生成し、前記トラフィックフローのパケット特徴情報と、前記各転送経路の流量レート識別子と、各中間ノードの各前記転送経路での出力ポートとに基づいて、前記中間ノードに対応する中間フローエントリを生成し、前記トラフィックフローのパケット特徴情報と、出口ノードが前記トラフィックフローを送信する出力ポートとに基づいて、出口フローエントリを生成するフローエントリ生成ユニットと、
生成された入口フローエントリ、前記各転送経路の最大流量レートおよび前記各転送経路の流量レート識別子を前記入口ノードに送信し、対応する前記中間フローエントリを各転送経路における前記中間ノードに送信し、前記出口フローエントリを前記出口ノードに送信する送信ユニットとを備えることを特徴とする転送エントリ生成装置。
【請求項７】
各前記入口フローエントリにおいて、整合規則は、少なくとも、パケット特徴情報と流量レート識別子とを含み、動作指令セットは、入口ノードの各転送経路での出力ポートと、流量レート識別子を追加する動作と、流量レート識別子が付加されたパケットを入口ノードの各転送経路での出力ポートを介して送信する動作とを少なくとも含み、
各前記中間フローエントリにおいて、整合規則は、少なくとも、パケット特徴情報と流量レート識別子とを含み、動作指令セットは、少なくとも、転送経路における中間ノードの出力ポートと、流量レート識別子が付加されたパケットを転送経路における中間ノードの出力ポートを介して送信する動作とを含み、
前記出口フローエントリにおいて、整合規則は、少なくとも、パケット特徴情報を含み、動作指令セットは、少なくとも、出口ノードの出力ポートと、流量レート識別子を除去する動作と、流量レート識別子が除去されたパケットを出口ノードの出力ポートを介して送信する動作とを含むことを特徴とする請求項６に記載の装置。
【請求項８】
前記入口ノードから送信された前記トラフィックフローの最初のパケットを受信する受信ユニットをさらに備え、
前記転送経路算出ユニットは、前記トラフィックフローのＳＤＮネットワークトポロジー内での出口ノードを確定し、前記ＳＤＮネットワークトポロジーに基づいて、前記トラフィックフローの、前記入口ノードと前記出口ノードとの間における複数の転送経路を算出することを特徴とする請求項６に記載の装置。
【請求項９】
前記転送経路算出ユニットは、予め設定されたフロー特徴リストに基づいて前記トラフィックフローの入口ノードおよび前記トラフィックフローの出口ノードを確定し、自身が維持するＳＤＮ転送ドメインのネットワークトポロジーおよびリンク状態に基づいて、前記トラフィックフローの、前記入口ノードと前記出口ノードとの間における複数の転送経路を算出することを特徴とする請求項６に記載の装置。
【請求項１０】
前記レート識別子設定ユニットは、各前記転送経路における各リンクの帯域幅に基づいて、前記各転送経路の最大流量レートを確定し、前記各転送経路の最大流量レートについて順番をつけ、前記順番にしたがって前記各転送経路の流量レート識別子を設定することを特徴とする請求項８または９に記載の装置。
【請求項１１】
ＳＤＮスイッチング機器に適用されるパケット転送装置であって、
第１パケットおよび複数の入口フローエントリを受信する受信ユニットと、
受信された複数の前記入口フローエントリをフローテーブルに配置する処理ユニットと、
各転送経路の最大流量レートおよび各前記転送経路の前記最大流量レートに対応する流量レート識別子を受信する流量レート確定ユニットであって、前記第１パケットのトラフィックフローの流量レートを測定し、前記測定された流量レートと各転送経路の最大流量レートとを比較し、測定された流量レートよりも大きい最大流量レートに対応する転送経路の流量レート識別子を選択する流量レート確定ユニットと、
前記第１パケットのパケット特徴情報と選択された流量レート識別子とに基づいて、前記複数の入口フローテーブルエントリから整合した入口フローエントリを見つけ、前記整合した入口フローエントリに基づいて、前記第１パケットに対して前記選択された流量レート識別子を追加する転送ユニットと、
前記選択された流量レート識別子が付加された前記第１パケットを、前記整合した入口フローエントリの出力ポートを介して送信する送信ユニットとを備え、
前記複数の入口フローエントリの整合規則は、同じ第１パケット特徴情報と、異なる流量レート識別子とを有し、前記第１パケット特徴情報は、前記第１パケットが属するトラフィックフローに関連することを特徴とするパケット転送装置。
【請求項１２】
前記受信ユニットは、複数の中間フローエントリと流量レート識別子が付加された第２パケットとを受信し、前記複数の中間フローエントリの整合規則は、同じ第２パケット特徴情報と、異なる流量レート識別子とを有し、前記第２パケット特徴情報は、前記第２パケットが属するトラフィックフローに関連し、
前記フローエントリ処理ユニットは、複数の前記中間フローエントリを前記フローテーブルに配置し、
前記転送ユニットは、前記第２パケットのパケット特徴情報と前記第２パケットに付加された流量レート識別子とに基づいて、整合した前記中間フローエントリを見つけ出し、
前記送信ユニットは、流量レート識別子が付加された前記第２パケットを、前記整合した中間フローエントリの出力ポートを介して送信することを特徴とする請求項１１に記載の装置。
【請求項１３】
前記受信ユニットは、出口フローエントリと流量レート識別子が付加された第３パケットとを受信し、前記出口フローエントリの整合規則のパケット特徴情報は、前記第３パケットが属するトラフィックフローに関連し、
前記フローエントリ処理ユニットは、受信された出口フローエントリを前記フローテーブルに配置可能であり、
前記転送ユニットは、前記第３パケットのパケット特徴情報と、前記第３パケットに付加された流量識別子とに基づいて、前記フローテーブルにおいて、整合した前記出口フローエントリを見つけ出し、前記第３パケットに付加された流量レート識別子を除去し、
前記送信ユニットは、前記流量レート識別子が除去された第３パケットを、前記出口フローエントリの出力ポートを介して送信することを特徴とする請求項１１に記載の装置。
【発明の詳細な説明】
【背景技術】
【０００１】
パケットがソースサイトからネットワークを介して宛先サイトに到着する手順は、本質的にパケットがルーティングして転送される手順である。途中で経由する転送ノードは、ルータ、スイッチであってもよい。理論的には、間接的に接続されたネットワークトポロジー内のソースサイトと宛先サイトとの間に複数の転送経路が存在可能であるが、パケットを伝送するために、これらの複数の転送経路のうちの１つしかソースサイトと宛先サイトとの間の転送経路として選択され得ない。
【０００２】
レイヤ３転送を実行するＩＰ（ｉｎｔｅｒｎｅｔ  ｐｒｏｔｏｃｏｌ）ネットワークを例にすると、２台のルータの間には、異なる転送経路が存在する。動的ルーティングプロトコルによれば、２台のルータの間のアドレッシング転送のために、ルータのリンクパラメータ（例えば、リンクタイプ、帯域幅など）でコスト（ｃｏｓｔ）が最も低い１つの最短経路により１つの最適なルートを生成し、または、コストが同じである幾つかの経路により等価ルートを生成する。
【図面の簡単な説明】
【０００３】
【図１】本発明の実施例によるＳＤＮコントローラが転送エントリを生成するフローチャートである。
【図２】本発明の実施例によるＳＤＮネットワークの模式図である。
【図３】図２におけるＳＤＮネットワーク内のＳＤＮスイッチング機器がフローエントリに基づいてトラフィックフローについて異なる転送経路を選択する処理手順図である。
【図４】本発明の実施例によるＳＤＮコントローラの構成の模式図である。
【図５】本発明の実施例によるＳＤＮスイッチング機器の構成の模式図である。
【図６】本発明の実施例によるＳＤＮコントローラの模式図である。
【図７】本発明の実施例によるＳＤＮスイッチング機器の模式図である。
【発明を実施するための形態】
【０００４】
説明の簡潔さおよび直観のために、以下、いくつかの代表的な実施例を記載することによって、本発明の技術案を説明する。しかしながら、全ての実施形態はここには示されていない。実施例における多くの詳細は、本発明の技術案を理解することを助けるためにのみ使用され、本発明の技術案は、実施されるとき、これらの詳細に限定されなくてもよい。本発明の技術案を不必要に不明瞭にすることを避けるために、一部の実施形態は詳細に説明されておらず、アーキテクチャのみが示されている。以下、「含む」は、「．．を含むが、これに限定されない」ことを意味し、「．．．に基づく」は、「少なくとも．．．に基づくが、．．．のみに基づくことに限定されない」ことを意味する。明細書および特許請求の範囲における「含む」は、ある程度で少なくとも含むことを指すが、「含む」の前に言及される特徴に加えて、他の特徴も存在してもよいと理解すべきである。
【０００５】
本発明の実施例によるＳＤＮ（Ｓｏｆｔｗａｒｅ  Ｄｅｆｉｎｅｄ  Ｎｅｔｗｏｒｋ）コントローラが転送エントリを生成する流れは、図１に示される。
【０００６】
ステップ１０１では、ＳＤＮネットワークトポロジーに基づいてトラフィックフローに対して複数の転送経路を算出する。
【０００７】
ステップ１０２では、各転送経路の最大流量レートおよび各転送経路の流量レート識別子を確定する。
【０００８】
ステップ１０３では、トラフィックフローのパケット特徴情報と、各転送経路の流量レート識別子と、入口ノードの各転送経路での出力ポートとに基づいて、入口フローエントリを生成する。
【０００９】
ステップ１０４では、トラフィックフローのパケット特徴情報と、各転送経路の流量レート識別子と、各中間ノードの各転送経路での出力ポートとに基づいて、各中間ノードの中間フローエントリを生成する。
【００１０】
ステップ１０５では、トラフィックフローのパケット特徴情報と、出口ノードがトラフィックフローを送信する出力ポートとに基づいて、出口フローエントリを生成する。
【００１１】
ステップ１０６では、生成された入口フローエントリ、各転送経路の最大流量レートおよび各転送経路の流量レート識別子を入口ノードに送信し、対応する中間フローエントリを各転送経路における中間ノードに送信し、出口フローエントリを出口ノードに送信する。
【００１２】
トラフィックフローのパケット特徴情報とは、ＳＤＮ転送ドメイン内で当該トラフィックフローのパケットを転送するための識別子を指す。トラフィックフローの入口機器は、当該トラフィックフローのパケットをＳＤＮドメインにアクセスする第１のＳＤＮスイッチング機器であり、当該パケットにおける情報を利用して当該パケットに対応するパケット特徴情報を確定し、パケット特徴情報をパケットに追加する。このように、転送経路における後続のＳＤＮスイッチング機器は、当該パケットを解析する必要はなく、直接に当該パケットに追加されたパケット特徴情報およびトラフィックフローの流量レートに基づいて転送を行なう。
【００１３】
流量レート識別子は、ある流量レートに対応する予め設定された識別子であり、例えば、「００」が５Ｍに対応し、「０１」が１０Ｍ対応にし、「１０」が１５に対応するといったことを予め設定する。
【００１４】
図１に示す方法に基づいて、ＳＤＮコントローラは、ＳＤＮネットワーク内のトラフィックフローの各転送経路および各転送経路の流量レートに基づいて、入口ノードおよび中間ノードに対してフローエントリを生成する。このように、トラフィックフローの転送経路における入口ノードおよび中間ノードは、これらのフローエントリに基づいて経路を選択して転送する。
【００１５】
図２に示すように、ＳＤＮネットワークは、ｏｐｅｎ  ｆｌｏｗプロトコルを実行しているＳＤＮコントローラ２０１およびＳＤＮスイッチング機器２１１〜２１６からなる。ＳＤＮスイッチング機器２１２およびＳＤＮスイッチング機器２１６は、それぞれホスト２２１およびホスト２２２が接続される。
【００１６】
ＳＤＮスイッチング機器２１１は、ホスト２２１がホスト２２２に送信したパケットを受信したとき、フローエントリを整合していなければ、デフォルトフローエントリに基づいて最初のパケットをＳＤＮコントローラ２０１に送信する。ＳＤＮコントローラ２０１は、ＳＤＮネットワークトポロジーおよびリンク状態に基づいて、以下の３つの転送経路を算出する。
【００１７】
第１転送経路：ＳＤＮスイッチング機器２１２−＞ＳＤＮスイッチング機器２１１−＞ＳＤＮスイッチング機器２１３−＞ＳＤＮスイッチング機器２１６。
【００１８】
第２転送経路：ＳＤＮスイッチング機器２１２−＞ＳＤＮスイッチング機器２１１−＞ＳＤＮスイッチング機器２１４−＞ＳＤＮスイッチング機器２１５−＞ＳＤＮスイッチング機器２１３−＞ＳＤＮスイッチング機器２１６。
【００１９】
第３転送経路：ＳＤＮスイッチング機器２１２−＞ＳＤＮスイッチング機器２１４−＞ＳＤＮスイッチング機器２１５−＞ＳＤＮスイッチング機器２１６。
【００２０】
他のＳＤＮスイッチング機器は、他のトラフィックフローの最初のパケットを受信したとき、ローカルのフローテーブルにおいて対応するフローエントリを整合していなければ、最初のパケットをＳＤＮコントローラに送信し、ＳＤＮコントローラは、最初のパケットのサービス特徴情報、ＳＤＮネットワークトポロジーおよびリンク状態に基づいて、これらのトラフィックフローの最初のパケットに基づいて利用可能な複数の転送経路を算出する。
【００２１】
ＳＤＮコントローラ２０１は、ＳＤＮスイッチング機器２１１〜２１６によって転送されたトラフィックフローの最初のパケットに基づいて転送経路の算出をトリガすることに加えて、さらに、予め配置されたフロー特徴リスト、ＳＤＮネットワークトポロジーおよびリンク状態に基づいて、フロー特徴リストにおける各トラフィックフロー対して複数の転送経路を算出する。
【００２２】
従来のレイヤ３転送ネットワークでは、パケットの転送はルート算出によって得られた最短経路および等価経路に沿って実行される。ルート算出によって得られたこれらの転送経路には障害が発生しない限り、ルートは再収束しない。たとえ最短経路または等価経路に輻輳があっても、他の転送経路を選択することもできない。これに対し、本発明の図２に示すＳＤＮネットワークは、パケットが属するトラフィックフローの流量レートに基づいて転送経路を動的に選択することができ、最短経路、等価経路、コストが最短経路よりも大きくまたはコストが等価経路よりも大きい転送経路によってパケットを転送することができ、経路輻輳を回避することができる。
【００２３】
図２に示すＳＤＮネットワーク内の各スイッチング機器は、ｏｐｅｎ  ｆｌｏｗなどのＳＤＮネットワークプロトコルに加えて、ＩＰプロトコル、ＭＰＬＳプロトコルなどのレイヤ３転送プロトコル、または、イーサネット（登録商標）プロトコルまたはＶＰＬＳプロトコルなどのレイヤ２転送プロトコルをも実行するが、それらのプロトコルに限定されない。
【００２４】
ＳＤＮコントローラ２０１は、それぞれ３つの転送経路の転送経路毎の各リンクの最大帯域幅に基づいて、３つの転送経路の最大流量レートを算出する。仮にＳＤＮコントローラ２０１が算出した上記３つの転送経路の最大流量レートは、順に５Ｍ、１０Ｍ、１５Ｍであるとする。
【００２５】
ＳＤＮコントローラ２０１は、対応する流量レート識別子「００」、「０１」および「１０」を３つの転送経路の最大流量レートに割り当てる。ＳＤＮコントローラ２０１は、レート識別子を割り当てる際に、最大流量レートについて高から低へまたは低から高への順に割り当てもよく、直接に対応する流量レート識別子を各転送経路の最大流量レートに割り当てもよく、本発明は、それを限定しない。同様に、本発明は、流量レート識別子のフォーマットをも限定しない。
【００２６】
ＳＤＮコントローラ２０１は、第１転送経路におけるＳＤＮスイッチング機器２１２に接続されるＳＤＮスイッチング機器２１１のポートに基づいて、ＳＤＮスイッチング機器２１２の第１転送経路における出力ポートを確定し、トラフィックフローのパケット特徴情報、第１転送経路における流量レート識別子００およびＳＤＮスイッチング機器２１２の第１転送経路における出力ポートに基づいて、第１の入口フローエントリを生成する。ただし、整合規則（ｍａｔｃｈ  ｆｉｅｌｄ）は、トラフィックフローのパケット特徴情報と流量レート識別子００とを含み、動作指令セット（ｉｎｓｔｒｕｃｔｉｏｎ）は、第１転送経路におけるＳＤＮスイッチング機器２１２の出力ポート、流量レート識別子００を追加する動作動作と、流量レート識別子００が追加されたパケットを第１転送経路におけるＳＤＮスイッチング機器２１２の出力ポートを介して転送する動作（ａｃｔｉｏｎ）とを含む。
【００２７】
ＳＤＮコントローラ２０１は、第１転送経路におけるＳＤＮスイッチング機器２１１に接続されるＳＤＮスイッチング機器２１３のポートに基づいて、第１転送経路におけるＳＤＮスイッチング機器２１１の出力ポートを確定し、トラフィックフローのパケット特徴情報、第１転送経路における流量レート識別子００および第１転送経路におけるＳＤＮスイッチング機器２１１の出力ポートに基づいて、ＳＤＮスイッチング機器２１１の第１の中間フローエントリを生成する。ただし、整合規則には、トラフィックフローのパケット特徴情報と流量レート識別子００とが記録されており、動作指令セットには、第１転送経路におけるＳＤＮスイッチング機器２１１の出力ポートと、流量レート識別子００を追加する動作動作と、流量レート識別子００が付加されたパケットを第１転送経路におけるＳＤＮスイッチング機器２１１の出力ポートを介して送信する動作とが含まれる。
【００２８】
ＳＤＮコントローラ２０１は、第１転送経路におけるＳＤＮスイッチング機器２１３に接続されるＳＤＮスイッチング機器２１６のポートに基づいて、第１転送経路におけるＳＤＮスイッチング機器２１３の出力ポートを確定し、トラフィックフローのパケット特徴情報、第１転送経路における流量レート識別子００および第１転送経路におけるＳＤＮスイッチング機器２１３の出力ポートに基づいて、ＳＤＮスイッチング機器２１３の中間フローエントリを生成する。ただし、整合規則には、トラフィックフローのパケット特徴情報と流量レート識別子００とが記録されており、動作指令セットには、第１転送経路におけるＳＤＮスイッチング機器２１３の出力ポートと、流量レート識別子００を追加する動作動作と、流量レート識別子００が付加されたパケットを第１転送経路におけるＳＤＮスイッチング機器２１３のポートを介して送信する動作とが含まれる。
【００２９】
ＳＤＮコントローラ２０１は、第２転送経路におけるＳＤＮスイッチング機器２１２に接続されるＳＤＮスイッチング機器２１１のポートに基づいて、第２転送経路におけるＳＤＮスイッチング機器２１２の出力ポートを確定し、トラフィックフローのパケット特徴情報、第２転送経路における流量レート識別子０１および第２転送経路におけるＳＤＮスイッチング機器２１２の出力ポートに基づいて、入口フローエントリを生成する。ただし、整合規則は、トラフィックフローのパケット特徴情報と流量レート識別子０１とを含み、動作指令セットは、第２転送経路におけるＳＤＮスイッチング機器２１２の出力ポート、流量レート識別子０１を追加する動作と、流量レート識別子０１が付加されたパケットを第２転送経路におけるＳＤＮスイッチング機器２１２の出力ポートを介して送信する動作とを含む。
【００３０】
ＳＤＮコントローラ２０１が第２転送経路および第３転送経路における中間ノードとしての他のＳＤＮスイッチング機器に対して中間フローエントリを生成する方式は、ＳＤＮコントローラ２０１が第１転送経路におけるＳＤＮスイッチング機器２１１及び２１３に対して中間フローエントリを生成する方式と同じである。
【００３１】
ＳＤＮコントローラ２０１は、ＳＤＮスイッチング機器２１６がホスト２２２にパケットを送信するポートを出力ポートと確定し、トラフィックフローのパケット特徴情報およびＳＤＮスイッチング機器２１６がパケットを送信する出力ポートに基づいて、出口フローエントリを生成する。ただし、整合規則は、トラフィックフローのパケット特徴情報を含み、動作指令セットは、ＳＤＮスイッチング機器２１６がパケットを送信する出力ポートと、流量レート識別子を除去する動作動作と、流量レート識別子が除去されたパケットを出力ポートを介して送信する動作とを含む。
【００３２】
３つの転送経路は、異なる最大流量レートを有する。ＳＤＮコントローラ２０１は、転送経路毎の流量レート識別子を整合規則の１つとして入口ノードに対して入口フローエントリを生成し、各転送経路における中間ノードに対して中間フローエントリを生成する必要がある。これによって、入口ノードおよび中間ノードは、トラフィックフローの変化する流量レートに基づいて転送経路を選択する。出口ノードがパケットを宛先ホストに送信するときに、流量レートに基づいて転送経路を選択する必要はない。ＳＤＮコントローラ２０１は、出口ノードに対して出口フローエントリを生成し、トラフィックフローのパケット特徴情報を整合規則として、３つの転送経路で転送されるトラフィックフローのパケットの全てを出口フローエントリと整合させることで、さらに、ＳＤＮスイッチング機器上の転送チップのエントリ記憶リソースを節約する。
【００３３】
ＳＤＮコントローラ２０１は、ｏｐｅｎ  ｆｌｏｗプロトコルパケットのカスタマイズフィールドを介して各転送経路の最大流量レートおよび各転送経路の流量レート識別子を付加し、トラフィックフローの入口ノード、すなわち、ＳＤＮスイッチング機器２１２に送信する。
【００３４】
ＳＤＮコントローラ２０１は、第１転送経路に基づいて生成した入口フローエントリをＳＤＮスイッチング機器２１２に送信し、第１転送経路に基づいて生成した中間フローエントリをそれぞれＳＤＮスイッチング機器２１１および２１３に送信し、第２転送経路に基づいて生成した入口フローエントリをＳＤＮスイッチング機器２１２に送信し、第２転送経路に基づいて生成した中間フローエントリをそれぞれ対応するＳＤＮスイッチング機器２１１、２１４、２１５および２１３に送信し、第３転送経路に基づいて生成した入口フローエントリをＳＤＮスイッチング機器２１２に送信し、第３転送経路に基づいて生成した中間フローエントリをそれぞれ対応するＳＤＮスイッチング機器ＤＮ２１４および２１５に送信し、生成した出口フローエントリをＳＤＮスイッチング機器２１６に送信する。図２におけるＳＤＮネットワーク内のＳＤＮスイッチング機器がフローエントリに基づいてトラフィックフローに対して異なる転送経路を選択する処理手順は、図３に示される。
【００３５】
処理手順３０１の部分では、ＳＤＮスイッチング機器２１２は、ホスト２２１がトラフィックフローをホスト２２２に送信する入口機器として、トラフィックフローの流量レートを周期的に測定する。
【００３６】
処理手順３０２の部分では、ＳＤＮスイッチング機器２１２は、トラフィックフローの流量レートが６Ｍであると測定したとき、ＳＤＮスイッチング機器は、トラフィックフローの流量レート６Ｍと３つの転送経路の最大流量レートとを比較し、最大流量レートが１０Ｍの第２の転送経路の流量レート識別子０１を選択する。
【００３７】
処理手順３０３の部分では、ＳＤＮスイッチング機器２１２は、トラフィックフローのパケット特徴情報および流量レート識別子０１に基づいて、ローカルのフローテーブルにおいて検索を行い、第２転送経路に基づいて生成した入口フローエントリを見つけた。ＳＤＮスイッチング機器２１２は、整合した入口フローエントリの指令動作セットに基づいて、パケットに対して流量レート識別子０１を追加し、かつ、流量レート識別子０１が付加されたパケットを第２転送経路におけるポートを介して送信する。このように、ＳＤＮスイッチング機器２１２は、流量レート識別子０１が付加されたパケットを第２転送経路におけるＳＤＮスイッチング機器２１１に送信する。
【００３８】
処理手順３０２および３０３によって、ＳＤＮスイッチング機器２１２は、転送経路の選択を完成し、かつ、パケットを介して流量レート識別子を付加し、選択された転送経路における中間ノードに対して経路選択の流量レート情報を提供する。
【００３９】
処理手順３０４の部分では、ＳＤＮスイッチング機器２１１は、流量レート識別子０１が付加されたパケットを受信し、ローカルフローテーブルにおいて検索を行い、第２転送経路に基づいて生成した中間フローエントリを検索する。ＳＤＮスイッチング機器２１１は、整合した中間フローエントリの指令動作セットに基づいて、流量レート識別子０１が付加されたパケットを第２転送経路におけるポートを介して送信する。このように、ＳＤＮスイッチング機器２１１は、流量レート識別子０１が付加されたパケットを第２転送経路におけるＳＤＮスイッチング機器２１４に送信する。その後、第２転送経路におけるＳＤＮスイッチング機器２１５および２１３は、同じ方式で、各自のローカルフローテーブルにおいて整合した中間フローエントリを検索し、整合した中間フローエントリの動作指令セットに基づいて、流量レート識別子０１が付加されたパケットを送信する。このようにして、トラフィックフローのパケットは、第２転送経路上において、入口ノードＳＤＮスイッチング機器２１２および中間ノードとしてのＳＤＮスイッチング機器２１１、２１４、２１３および２１５を介して出口ノードとしてのＳＤＮスイッチング機器２１６へ送信される。
【００４０】
処理手順３０４によって、中間ノードとしてのＳＤＮスイッチング機器は、パケットに付加された流量レート識別子動作と、パケット特徴情報に整合した中間フローエントリとに基づいて、転送を完成することで、流量レートに基づいて経路選択を行なう。
【００４１】
処理手順３０５の部分では、ＳＤＮスイッチング機器２１６は、流量レート識別子０１が付加されたパケットを受信し、パケットのパケット特徴情報に基づいてトラフィックフローの出口フローエントリを整合し、整合した出口フローエントリの動作指令セットに基づいて、流量レート識別子０１が除去されたパケットをホスト２２２に送信する。
【００４２】
トラフィックフローの入口ノードは、サービス流量レートが変化したことを検出したとき、入口ノード、中間ノードおよび出口ノードは、上記処理手順３０１〜３０５に従って繰り返し実行する。
【００４３】
ＳＤＮスイッチング機器２１２は、トラフィックフローの流量レートが３Ｍであると新たに測定したとき、ＳＤＮスイッチング機器は、トラフィックフローの流量レート３Ｍと３つの転送経路の最大流量レートとを比較し、最大流量レートが５Ｍの第１の転送経路の流量レート識別子００を選択する。ＳＤＮスイッチング機器２１２は、トラフィックフローのパケット特徴情報および流量レート識別子００に基づいて、ローカルのフローテーブルにおいて検索を行い、第１転送経路に基づいて生成した入口フローエントリを検索する。ＳＤＮスイッチング機器２１２は、整合した入口フローエントリの指令動作セットに基づいて、パケットに対して流量レート識別子００を追加し、かつ、流量レート識別子００が付加されたパケットを第１転送経路におけるポートを介して送信する。このように、ＳＤＮスイッチング機器２１２は、流量レート識別子００が付加されたパケットを第１転送経路における中間ノードとしてのＳＤＮスイッチング機器２１１に送信する。同様な方式により、第１転送経路における中間ノードとしてのＳＤＮスイッチング機器２１１および２１３は、流量レート識別子００およびパケット特徴情報を整合する中間フローエントリに基づいて、第１転送経路上においてトラフィックフローのパケットを出口ノードとしてのＳＤＮスイッチング機器２１６に転送する。ＳＤＮスイッチング機器２１６は、整合した出口フローエントリに基づいて、流量レート識別子００が除去されたパケットをホスト２２２に送信する。
【００４４】
若し、トラフィックフローの流量レートが増大し、ＳＤＮスイッチング機器２１２は、トラフィックフローの流量レートが１２Ｍであると測定したとき、ＳＤＮスイッチング機器は、最大流量レートが１５Ｍの第３の転送条経路の流量レート識別子１０を選択する。ＳＤＮスイッチング機器２１２は、トラフィックフローのパケット特徴情報および流量レート識別子１０に基づいて、ローカルのフローテーブルにおいて検索を行い、第３転送経路に基づいて生成した入口フローエントリを検索する。ＳＤＮスイッチング機器２１２は、整合した入口フローエントリの指令動作セットに基づいて、パケットに対して流量レート識別子１０を追加し、かつ、流量レート識別子１０が付加されたパケットを第３転送経路におけるポートを介して送信する。このように、ＳＤＮスイッチング機器２１２は、流量レート識別子１０が付加されたパケットを第３転送経路におけるＳＤＮスイッチング機器２１４に送信する。第３転送経路における他の中間ノード２１５および２１３が中間フローエントリに基づいてパケットを転送する方式は、同じであるため、ここでは再び述べない。流量レート識別子１０が付加されたパケットをＳＤＮスイッチング機器２１６に転送したとき、ＳＤＮスイッチング機器２１６は、整合した出口フローエントリに基づいて、流量レート識別子１０が除去されたパケットをホスト２２２に送信する。
【００４５】
ＳＤＮスイッチング機器２１２は第１の測定周期を完成する前に、トラフィックフローのパケットの欠落を回避するために、最大流量レート１５Ｍを有する第３転送経路を選択してトラフィックフローのパケットを転送する。
【００４６】
ＳＤＮスイッチング機器２１２は、何れかの測定周期においてトラフィックフローの流量レートが３つの転送経路のうちの最大流量レートを超えていると確定したとき、第３転送経路、すなわち、最大流量レートが最高値の転送経路を選択する。
【００４７】
ＳＤＮスイッチング機器２１６は、ホスト２２２がホスト２２１に送信した送信パケットを受信し、流量レート識別子を付加せず、以前の出口フローエントリを整合しない。ＳＤＮスイッチング機器２１６は、当該パケットを最初のパケットとしてＳＤＮコントローラ２０１に送信する。ＳＤＮコントローラ２０１は、複数の転送経路を算出して入口フローエントリ、中間フローエントリおよび出口フローエントリを生成し、それぞれ生成した入口フローエントリ、中間フローエントリおよび出口フローエントリ（図示せず）を入口ノードＳＤＮスイッチング機器２１６、中間ノードおよび出口ノード２１１に送信する。
【００４８】
ホスト２２１がホスト２２２に送信するパケットのソースアドレス情報および宛先アドレス情報と、ホスト２２２がホスト２２１に送信するパケットのソースアドレス情報および宛先アドレス情報とは、例えば、ＭＡＣアドレスまたはＩＰアドレスまたはＭＰＬＳラベルが逆である。ホスト２２１がホスト２２２に送信するパケットの転送経路における中間ノードの中間フローエントリの整合アイテムのソースアドレス情報および宛先アドレス情報と、ホスト２２２がホスト２２１に送信するパケットの転送経路における中間ノードの中間フローエントリの整合アイテムのソースアドレス情報および宛先アドレス情報とは、逆である。ＳＤＮスイッチング機器２１１および２１６が全て他の転送経路における中間ノードとされ得るとき、ＳＤＮスイッチング機器２１１および２１６は、ＳＤＮコントローラ２０１が生成した中間フローエントリを受信する。このように、ＳＤＮスイッチング機器２１１〜２１６は、各トラフィックフローの変化する流量レートに基づいて転送経路を動的に選択するように、入口フローエントリ、中間フローエントリおよび出口フローエントリを記憶する。
【００４９】
図４に示すように、本発明の実施例によるＳＤＮコントローラは、記憶モジュール４０１と、受信モジュール４０２と、転送経路算出モジュール４０３と、レート識別子設定モジュール４０４と、フローエントリ生成モジュール４０５と、送信モジュール４０６とを含む。
【００５０】
転送経路算出モジュール４０３は、記憶モジュール４０１に記憶される予め配置されたフロー特徴リストと、収集されたＳＤＮネットワークトポロジーおよびリンク状態に基づいて、フロー特徴リストにおけるトラフィックフローに対して複数の転送経路を算出する。または、受信モジュール４０２は、トラフィックフローの最初のパケットを受信し、転送経路算出モジュール４０３は、受信モジュール４０２が受信した入口ノードからのトラフィックフローの最初のパケットに基づいて、収集したＳＤＮネットワークトポロジーおよびリンク状態に基づいて、当該トラフィックフローのＳＤＮネットワークトポロジー内での出口ノードを確定し、入口ノードと出口ノードとの間の当該トラフィックフローの複数の転送経路を算出する。これと同様な方式により、転送経路算出モジュール４０３は、ＳＤＮネットワークトポロジーに基づいて、トラフィックフローに対して複数の転送経路を算出する。
【００５１】
レート識別子設定モジュール４０４は、各転送経路の最大流量レートおよび各転送経路の流量レート識別子を確定する。例えば、レート識別子設定モジュール４０４は、トラフィックフローの各転送経路での各リンクの帯域幅に基づいて、各転送経路の最大流量レートを確定し、各転送経路の最大流量レートについて順番をつけ、当該順番に従って各転送経路の流量レート識別子を設定する。
【００５２】
フローエントリ生成モジュール４０５は、トラフィックフローのパケット特徴情報と、トラフィックフローの各転送経路の流量レート識別子と、入口ノードの各転送経路での出力ポートとに基づいて、複数の入口フローエントリを生成し、トラフィックフローのパケット特徴情報と、各転送経路の流量レート識別子と、各中間ノードの各転送経路での出力ポートとに基づいて、各中間ノードの各中間フローエントリを生成し、トラフィックフローのパケット特徴情報と、出口ノードがトラフィックフローを送信する出力ポートとに基づいて、出口フローエントリを生成する。
【００５３】
送信モジュール４０６は、生成した複数の入口フローエントリ、各転送経路の最大流量レートおよび各転送経路の流量レート識別子を入口ノードに送信し、各中間フローエントリを対応する中間ノードに送信し、出口フローエントリを出口ノードに送信する。
【００５４】
フローエントリ生成モジュール４０５が生成したトラフィックフローの各入口フローエントリにおいて、整合規則は、少なくとも、パケット特徴情報と流量レート識別子とを含み、動作指令セットは、少なくとも、入口ノードの各転送経路での出力ポートと、流量レート識別子を追加する動作動作と、流量レート識別子が付加されたパケットを経路上の入口ノードの出力ポートを介して転送する動作とを含む。
【００５５】
フローエントリ生成モジュール４０５が生成したトラフィックフローの各中間フローエントリにおいて、整合規則は、少なくとも、パケット特徴情報と流量レート識別子とを含み、動作指令セットは、少なくとも、転送経路における中間ノードの出力ポートと、流量レート識別子が付加されたパケットを転送経路における中間ノードの出力ポートを介して送信する動作とを含む。
【００５６】
フローエントリ生成モジュール４０５が生成したトラフィックフローの出口フローエントリにおいて、整合規則は、少なくとも、パケット特徴情報と流量レート識別子とを含み、動作指令セットは、少なくとも、出口ノードの出力ポート、流量レート識別子を除去する動作動作と、流量レート識別子が除去されたパケットを出口ノードの出力ポートを介して送信する動作とを含む。
【００５７】
図５に示すように、本発明の実施例によるＳＤＮスイッチング機器は、受信モジュール５０１と、転送モジュール５０２と、送信モジュール５０３と、フローエントリ処理モジュール５０４と、流量レート確定モジュール５０５とを含む。
【００５８】
転送モジュール５０２は、受信モジュール５０１から受信された第１パケットに基づいてフローテーブルにおいて整合エントリを検索しなかったとき、ローカルフローテーブルのデフォルトフローエントリに基づいて、受信されたパケットを送信モジュール５０３を介してＳＤＮコントローラに送信することにより、パケットが属するトラフィックフローに対して複数の転送経路を算出し且つ各転送経路に基づいて対応する入口フローエントリ、出口フローエントリおよび中間フローエントリを生成することをＳＤＮコントローラに要求する。本実施例では、受信モジュール５０１は、ＳＤＮコントローラがｏｐｅｎ  ｆｌｏｗプロトコルパケットのカスタマイズフィールドによって付加された各転送経路の最大流量レートおよび各転送経路の流量レート識別子を受信する。受信モジュール５０１は、ＳＤＮコントローラがｏｐｅｎ  ｆｌｏｗプロトコルパケットによって送信された複数の入口フローエントリを受信することができ、これらの入口フローエントリの整合規則は、同じ第１パケット特徴情報と、異なる流量レート識別子とを有し、前記第１パケット特徴情報は、前記第１パケットが属するトラフィックフローに関連する。処理モジュール５０４は、受信された入口フローエントリをローカルフローテーブルに配置する。流量レート確定モジュール５０５は、パケットが属するトラフィックフローの流量レートを周期的に測定し、測定した流量レートと各転送経路の最大流量レートとを比較し、測定した流量レートよりも大きい最大流量レートに対応する転送経路の流量レート識別子を選択する。転送モジュール５０２は、パケットのパケット特徴情報と、選択された流量レート識別子とに基づいて、ローカルフローテーブルにおいて検索を行い、整合した入口フローエントリに基づいて、第１パケットに対して、選択された流量レート識別子を追加し、かつ、送信モジュール５０３により、選択した流量レート識別子が付加された第１パケットを、整合した入口フローエントリにおける出力ポートから送信する。
【００５９】
これ以外、受信モジュール５０１は、さらに、ＳＤＮコントローラがｏｐｅｎ  ｆｌｏｗプロトコルパケットによって送信された複数の中間フローエントリを受信し、これらの中間フローエントリの整合規則は、同じ第２パケット特徴情報と、異なる流量レート識別子とを有する。フローエントリ処理モジュール５０４は、受信した中間フローエントリをローカルフローテーブルに配置する。受信モジュール５０１は、付加流量レート識別子の第２パケットを受信し、当該第２パケットは、第２パケット特徴情報に関するトラフィックフローに属する。転送モジュール５０２は、第２パケットのパケット特徴情報および第２パケットに付加した流量レート識別子に基づいて、ローカルフローテーブルにおいて、整合した中間フローエントリを検索する。送信モジュール５０３は、付加流量レート識別子の第２パケットを、整合した中間フローエントリにおける出力ポートを介して送信する。
【００６０】
受信モジュール５０１は、さらに、ＳＤＮコントローラがｏｐｅｎ  ｆｌｏｗプロトコルパケットによって送信した出口フローエントリを受信することができ、当該出口フローエントリの整合規則は、第３パケット特徴情報を含む。受信モジュール５０１は、流量レート識別子が付加された第３パケットを受信し、当該第３パケットは、第３パケット特徴情報に関するトラフィックフローに属する。転送モジュール５０２は、ローカルフローテーブルにおいて、流量レート識別子が付加された第３パケットの特徴情報を整合する出口フローエントリを検索し、前記第３パケットに付加した流量レート識別子を除去する。送信モジュール５０３は、整合した出口フローエントリの出力ポートを介して送信する。
【００６１】
図６は、本発明の実施例によるＳＤＮコントローラの模式図である。図６に示すように、当該ＳＤＮコントローラは、プロセッサ６１１と、メモリ６１４と、ネットワーク通信インターフェース６１３と、相互接続機構６１０とを含む。
【００６２】
プロセッサ６１１は、単一のプロセッサであってもよく、複数のプロセッサの集合であってもよい。プロセッサ６１１は、複数の処理コアを含んでもよい。プロセッサ６１１は、１つの機器に設けられてもよく、複数の機器に分布されてもよい。
【００６３】
ネットワーク通信インターフェース６１３は、ある通信プロトコルを使用して、有線接続または無線接続を介して他のネットワーク機器と通信する。
【００６４】
各モジュールは、相互接続機構６１０を介して情報相互作用を行なう。
メモリ６１４は、各種のデータおよび機器読み取り可能な指令を記憶するためのものである。図６に示すように、メモリ６１４は、記憶モジュール６０１と、受信モジュール６０２と、転送経路算出モジュール６０３と、レート識別子設定モジュール６０４と、フローエントリ生成モジュール６０５と、送信モジュール６０６とを含む。これらのモジュールは、機器読み取り可能な指令として機能し、プロセッサ６１１がこれらの指令を実行する時に、図４の対応するモジュールと同様な機能を完成するようにする。ここでは、再び述べない。
【００６５】
図７は、本発明の実施例によるＳＤＮスイッチング機器の模式図である。図７に示すように、当該ＳＤＮスイッチング機器は、転送ユニット７１０と、記憶ユニット７２０と、プロセッサ７３０と、ネットワーク通信インターフェース７４０動作と、相互接続機構７５０とを含む。
【００６６】
転送ユニット７１０は、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）またはＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）などのチップによって実現される。転送ユニット７１０は、受信モジュール７１１と、転送モジュール７１２と、送信モジュール７１３と、フローエントリ処理モジュール７１４と、流量レート確定モジュール７１５とを含む。転送ユニット７１０のこれらのモジュールは、図５の対応するモジュールと同様な機能を有する。ここでは、再び述べない。
【００６７】
プロセッサ７３０は、単一のプロセッサであってもよく、複数のプロセッサの集合であってもよい。プロセッサ７３０は、複数の処理コアを含んでもよい。
【００６８】
ネットワーク通信インターフェース７４０は、ある通信プロトコルを使用して、有線接続または無線接続を介して他のネットワーク機器と通信する。
【００６９】
転送ユニット７１０、記憶ユニット７２０、プロセッサ７３０およびネットワーク通信インターフェース７４０の間は、相互接続機構７５０によって相互作用を行なう。
【００７０】
本願の実施例による有利な技術的効果としては、ＳＤＮコントローラが、ＳＤＮネットワーク内のトラフィックフローの各个転送経路および各転送経路の流量レートに基づいて、転送経路における入口ノードおよび中間ノードに対してフローエントリを生成することにより、トラフィックフローの転送経路における入口ノードおよび中間ノードがこれらのフローエントリおよびトラフィックフローの流量レートに基づいて、経路選択を動的に選択して転送することで、ＳＤＮネットワーク内のリンク帯域幅の利用率および流量転送成功率を向上させる。
【００７１】
説明すべきこととしては、上記各流れおよび各構成図における全てのステップおよびモジュールが必要であるというわけではなく、実際のニーズに応じて一部のステップまたはモジュールを省略することができる。各ステップの実行順序は、固定ではなく、ニーズに応じて調整することができる。各モジュールの分割は、使用される機能分割の説明の便宜のためだけである。実際に実施する際に、１つのモジュールが複数のモジュールに分けられて実現されてもよく、複数のモジュールの機能も同一のモジュールによって実現されてもよく、これらのモジュールが同一の機器に位置してもよく、異なる機器に位置してもよい。また、上記の説明における「第１」、「第２」の使用は、ただ同一意味を有する２つのオブジェクトを区別し易くするだけであり、実質的な相違点を有することを意味しない。
【００７２】
図におけるモジュールは、専用ハードウェア（例えば、ＦＰＧＡまたはＡＳＩＣなどの専用プロセッサ）または機器読み取り可能な指令を実行するハードウェアによって実現されてもよい。機器読み取り可能な指令は、コンピュータ上のオペレーティングシステムなどが説明される動作の一部または全てを完成するために、不揮発性のコンピュータ読み取り可能な記憶媒体に記憶されてもよい。不揮発性のコンピュータ読み取り可能な記憶媒体は、コンピュータ内の拡張プレートに設けられたメモリに挿入されてもよく、または、コンピュータに接続された拡張ユニットに設けられたメモリに書き込まれてもよい。拡張プレートまたは拡張ユニットに実装されているＣＰＵなどは、指令に基づいて、実際の動作の一部または全部を実行することができる。
【００７３】
不揮発性のコンピュータ読み取り可能な記憶媒体は、フレキシブルディスク、ハードディスク、光磁気ディスク、光ディスク（例えば、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ）、磁気テープ、不揮発性の記憶カードおよびＲＯＭを含む。あるいは、通信ネットワークを介して、サーバコンピュータから機器読み取り可能な指令をダウンロードすることができる。
【００７４】
このように、請求項の範囲は、以上に説明した例における実施形態に限定されるべきではなく、明細書を１つの整体として最も広い解釈が与えられるべきである。
【図１】
0006589060.tif 000002
【図２】
0006589060.tif 000003
【図３】
0006589060.tif 000004
【図４】
0006589060.tif 000005
【図５】
0006589060.tif 000006
【図６】
0006589060.tif 000007
【図７】
0006589060.tif 000008