(57)【特許請求の範囲】
【請求項１】
ソフトウェア定義型ネットワークＳＤＮにおけるルータ機器に適用する経路切替方法であって、
ＳＤＮコントローラから発行された第１フロー転送用の転送エントリを受信してローカルに保存し、前記ルータ機器が前記第１フローのキー転送機器であるとＳＤＮコントローラによって決めた場合は、前記ローカルに保存された前記第１フロー転送用の転送エントリに第１転送エントリと第２転送エントリとが含まれており、前記第１転送エントリの優先度が第２転送エントリの優先度より高く、そして両者ともプリセットした最低値より高く、前記第１転送エントリは前記第１フローのために確定したメイン転送経路に従ってＳＤＮコントローラにより生成されたものであり、前記第２転送エントリは前記第１フローのために確定した予備転送経路に従ってＳＤＮコントローラにより生成されたものであり、前記ルータ機器がメイン転送経路に位置しながら前記ＳＤＮコントローラによってキー転送機器ではないと決めた場合は、前記ローカルに保存された前記第１フロー転送用の転送エントリにプリセットした最低値より優先度の高い１つの転送エントリが含まれており、前記ルータ機器が前記メイン転送経路に位置する時に、前記ルータ機器が前記ＳＤＮコントローラから発行された特殊フローエントリを受信し、前記特殊フローエントリが前記第一フローを前記キー転送機器に送り返すためものであることと、
前記第１フローを受信し、ローカルに保存された前記第１フローの転送用の転送エントリにプリセットした最低値より優先度の高い１つの転送エントリが含まれていると確認し、かつ当該転送エントリにおけるエッグレスポートに接続されるリンクの故障を検出した時に、ローカルに保存された転送エントリの優先度をプリセットした最低値に設定し、前記第１フローを前記キー転送機器に送り返すことによって、前記キー転送機器が第２転送エントリに従って前記第１フローを転送することを引き起こすことと、含む経路切替方法。
【請求項２】
前記第１フローを前記キー転送機器に送り返すことは、
ローカルに保存された前記第１フローの転送用の転送エントリから、前記第１フローが本ルータ機器に流れ込むイングレスポートを確定することと、
前記第１フローを特殊フロー標識でカプセル化し、前記特殊フロー標識は特殊フローエントリへマッチングを行うためのものであることと、
特殊フロー標識でカプセル化された第１フローを前記イングレスポートによって転送することと、を含む請求項１に記載の経路切替方法。
【請求項３】
前記第１フローを受信した後、ローカルに保存された前記第１フロー転送用の転送エントリに第１転送エントリと第２転送エントリとが含まれていると確認した場合は、第２転送エントリより優先度の高い第１転送エントリを選択し、もし選択された第１転送エントリにおけるエッグレスポートに接続されるリンクの故障が検出されたら、選択された第１転送エントリの優先度をプリセットした最低値に設定し、第１転送エントリより優先度の低い第２転送エントリによって前記第１フローを転送すること、をさらに含む請求項１に記載の経路切替方法。
【請求項４】
前記ルータ機器は、第３フロー転送用の予備転送経路に位置しながら前記ＳＤＮコントローラによってキー転送機器ではないと決めた場合は、ＳＤＮコントローラから発行された第３フロー転送用の転送エントリを受信してローカルに保存し、前記ローカルに保存された第３フロー転送用の転送エントリに優先度がプリセットした最低値より高い１つの転送エントリが含まれており、当該転送エントリは前記第３フロー転送用の予備転送経路に従ってＳＤＮコントローラにより生成されたものであることと、
前記キー転送機器によって転送されてきた第３フローを受信し、そのうち、前記第３フローは特殊フロー標識がキー転送機器によって取り除かれた後、ローカルに保存された前記第３フロー転送用の２つの転送エントリ中の優先度の低い転送エントリによって転送されるフローであることと、
ローカルに保存された前記第３フロー転送用の転送エントリに優先度がプリセットした最低値より高い１つの転送エントリが含まれていると確認した場合、前記転送エントリによって前記第３フローを転送することと、をさらに含む請求項１に記載の経路切替方法。
【請求項５】
特殊フロー標識でカプセル化された第２フローを受信し、カプセル化された第２フローの特殊フロー標識によってローカルの特殊転送エントリへマッチングを行うことと、
ローカルの特殊転送エントリに従って、カプセル化された第２フローの特殊フロー標識を取り除き、ローカルにて優先度の最も高い前記第２フロー転送用の転送エントリをサーチし、得られた優先度の最も高い前記第２フロー転送用の転送エントリの優先度をプリセットした最低値に設定し、そして、ローカルに優先度が前記プリセットした最低値より高い前記第２フロー転送用の転送エントリがまだ存在するかどうかをチェックし、ローカルに優先度が前記プリセットした最低値より高い前記第２フロー転送用の転送エントリが存在する時に、当該優先度が前記プリセットした最低値より高い前記第２フロー転送用の転送エントリに従って前記第２フローを転送し、ローカルに優先度が前記プリセットした最低値より高い前記第２フロー転送用の転送エントリが存在しない時に、前記得られた優先度の最も高い第２フロー転送用の転送エントリから、前記第２フローが本ルータ機器に流れ込むイングレスポートを確定し、前記第２フローを特殊フロー標識でカプセル化して前記イングレスポートによって特殊フロー標識でカプセル化された第２フローを転送することと、をさらに含む請求項２に記載の経路切替方法。
【請求項６】
ソフトウェア定義型ネットワークＳＤＮにおけるＳＤＮコントローラに適用する経路切替方法であって、
フローのためにメイン転送経路と予備転送経路を確定することと、
ルータ機器が前記フローのキー転送機器である場合は、２つの前記フロー転送用の転送エントリをルータ機器へ発行し、２つの転送エントリの優先度が異なるが、いずれもプリセットした最低値より高く、優先度の高い転送エントリは前記メイン転送経路に従ってＳＤＮコントローラにより生成されたものであり、優先度の低い転送エントリは前記予備転送経路に従ってＳＤＮコントローラにより生成されたものであることと、
ルータ機器が前記メイン転送経路と予備転送経路の間の分岐位置に存在する場合は、当該ルータ機器が前記フローのキー転送機器であると確定することと、
ルータ機器が前記メイン転送経路に位置しながら前記ＳＤＮコントローラによってキー転送機器ではないと決めた場合は、優先度がプリセットした最低値より高い１つの転送エントリをルータ機器へ発行し、当該転送エントリは前記メイン転送経路に従って生成されたものであることと、
ルータ機器は前記予備転送経路に位置しながら前記ＳＤＮコントローラによってキー転送機器ではないと決めた場合は、優先度がプリセットした最低値より高い１つの転送エントリをルータ機器へ発行し、当該転送エントリは前記予備転送経路に従って生成されたものであることと、
前記ルータ機器が前記メイン転送経路に位置する時に、前記ルータ機器が前記ＳＤＮ コントローラから発行された特殊フローエントリを受信し、前記特殊フローエントリが前記フローを前記キー転送機器に送り返すためものであることと、を含む経路切替方法。
【請求項７】
ソフトウェア定義型ネットワークＳＤＮにおけるルータ機器である経路切替装置であって、
非揮発性メモリとプロセッサーとを含み、
前記非揮発性メモリはプロセッサーにより実行する機械可読命令を保存するためのものであり、前記機械可読命令はエントリ命令とフロー命令とを含み、
前記プロセッサーは、非揮発性メモリーに保存されるエントリ命令を読み取り、
ＳＤＮコントローラから発行された第１フロー転送用の転送エントリを受信してローカルに保存し、前記ルータ機器が前記第１フローのキー転送機器であるとＳＤＮコントローラによって決めた場合は、前記ローカルに保存された前記第１フロー転送用の転送エントリに第１転送エントリと第２転送エントリとが含まれており、前記第１転送エントリの優先度が第２転送エントリの優先度より高く、そして両者ともプリセットした最低値より高く、前記第１転送エントリは前記第１フローのために確定したメイン転送経路に従ってＳＤＮコントローラにより生成されたものであり、前記第２転送エントリは前記第１フローのために確定した予備転送経路に従ってＳＤＮコントローラにより生成されたものであり、前記ルータ機器がメイン転送経路に位置しながら前記ＳＤＮコントローラによってキー転送機器ではないと決めた場合は、前記ローカルに保存された前記第１フロー転送用の転送エントリにプリセットした最低値より優先度の高い１つの転送エントリが含まれており、前記ルータ機器が前記メイン転送経路に位置する時に、前記ルータ機器が前記ＳＤＮコントローラから発行された特殊フローエントリを受信し、前記特殊フローエントリが前記第一フローを前記キー転送機器に送り返すためものであることと、を実現し、
前記プロセッサーは、非揮発性メモリーに保存されるフロー命令を読み取り、
前記第１フローを受信し、ローカルに保存された前記第１フローの転送用の転送エントリにプリセットした最低値より優先度の高い１つの転送エントリが含まれていると確認し、かつ当該転送エントリにおけるエッグレスポートに接続されるリンクの故障を検出した時に、ローカルに保存された転送エントリの優先度をプリセットした最低値に設定し、前記第１フローを前記キー転送機器に送り返すことによって、前記キー転送機器が第２転送エントリに従って前記第１フローを転送することを引き起こすことと、を実現する経路切替装置。
【請求項８】
前記プロセッサーは、非揮発性メモリーに保存されるフロー命令を読み取り、
ローカルに保存された前記第１フローの転送用の転送エントリから、前記第１フローが本ルータ機器に流れ込むイングレスポートを確定することと、
前記第１フローを特殊フロー標識でカプセル化し、前記特殊フロー標識は前記特殊フローエントリへマッチングを行うためのものであることと、
特殊フロー標識でカプセル化された第１フローを前記イングレスポートによって転送することと、
を実現する請求項７に記載の経路切替装置。
【請求項９】
前記プロセッサーは、非揮発性メモリーに保存されるフロー命令を読み取り、
ローカルに保存された前記第１フロー転送用の転送エントリに第１転送エントリと第２転送エントリとが含まれていると確認した場合は、第２転送エントリより優先度の高い第１転送エントリを選択し、もし選択された第１転送エントリにおけるエッグレスポートに接続されるリンクの故障が検出されたら、選択された第１転送エントリの優先度をプリセットした最低値に設定し、第１転送エントリより優先度の低い第２転送エントリによって前記第１フローを転送するステップを実現する請求項７に記載の経路切替装置。
【請求項１０】
前記プロセッサーは、非揮発性メモリーに保存されるエントリ命令を読み取り、
前記ルータ機器は、第３フロー転送用の予備転送経路に位置しながら前記ＳＤＮコントローラによってキー転送機器ではないと決めた場合は、ＳＤＮコントローラから発行された第３フロー転送用の転送エントリを受信してローカルに保存し、前記ローカルに保存された第３フロー転送用の転送エントリに優先度がプリセットした最低値より高い１つの転送エントリが含まれており、当該転送エントリは前記第３フロー転送用の予備転送経路に従ってＳＤＮコントローラにより生成されたものであることを実現し、
前記プロセッサーは、非揮発性メモリーに保存されるフロー命令を読み取り、
前記キー転送機器によって転送されてきた第３フローを受信し、そのうち、前記第３フローは特殊フロー標識がキー転送機器によって取り除かれた後、ローカルに保存された前記第３フロー転送用の２つの転送エントリ中の優先度の低い転送エントリによって転送されるフローであることと、
ローカルに保存された前記第３フロー転送用の転送エントリに優先度がプリセットした最低値より高い１つの転送エントリが含まれていると確認した場合、前記転送エントリによって前記第３フローを転送することと、
を実現する請求項７に記載の経路切替装置。
【請求項１１】
前記プロセッサーは、非揮発性メモリーに保存されるフロー命令を読み取り、
特殊フロー標識でカプセル化された第２フローを受信し、カプセル化された第２フローの特殊フロー標識によってローカルの特殊転送エントリへマッチングを行うことと、
ローカルの特殊転送エントリに従って、カプセル化された第２フローの特殊フロー標識を取り除き、ローカルにて優先度の最も高い前記第２フロー転送用の転送エントリをサーチし、得られた優先度の最も高い前記第２フロー転送用の転送エントリの優先度をプリセットした最低値に設定し、そして、ローカルに優先度が前記プリセットした最低値より高い前記第２フロー転送用の転送エントリがまだ存在するかどうかをチェックし、ローカルに優先度が前記プリセットした最低値より高い前記第２フロー転送用の転送エントリが存在する時に、当該優先度が前記プリセットした最低値より高い前記第２フロー転送用の転送エントリに従って前記第２フローを転送し、ローカルに優先度が前記プリセットした最低値より高い前記第２フロー転送用の転送エントリが存在しない時に、前記得られた優先度の最も高い第２フロー転送用の転送エントリから、前記第２フローが本ルータ機器に流れ込むイングレスポートを確定し、前記第２フローを特殊フロー標識でカプセル化して前記イングレスポートによって特殊フロー標識でカプセル化された第２フローを転送することと、を実現する請求項８に記載の経路切替装置。
【発明の詳細な説明】
【背景技術】
【０００１】
ソフトウェア定義型ネットワーク（ＳＤＮＳｏｆｔｗａｒｅ  Ｄｅｆｉｎｅｄ  Ｎｅｔｗｏｒｋ）はネットワーク仮想化の１つの実現方式であり、そのコア技術であるオーペンフロー（ＯｐｅｎＦｌｏｗ）は、ネットワーク機器の経路制御とデータ転送の機能を分離することによってネットワークフローの柔軟な制御を実現し、ネットワークが通路としての更なる知能化を実現した。
【図面の簡単な説明】
【０００２】
【図１】図１は本発明の実施例で提供されるＳＤＮネットワークの模式図である。
【図２】図２は本発明の実施例で提供される経路切替方法のフローチャートである。
【図３】図３は本発明の実施例で提供される他の経路切替方法のフローチャートである。
【図４】図４は本発明の実施例で提供されるルータ機器からフローをキー転送機器に送り返す方法のフローチャートである。
【図５】図５は本発明の実施例で提供される他のＳＤＮネットワークの模式図である。
【図６】図６は本発明の実施例で提供されるＳＤＮにおけるフローの転送経路の模式図である。
【図７】図７は本発明の実施例で提供される経路切替装置の構造模式図である。
【図８】図８は本発明の実施例で提供される経路切替装置のハードウェア構造模式図である。
【図９】図９は本発明の実施例で提供される他の経路切替装置の構造模式図である。
【図１０】図１０は本発明の実施例で提供される他の経路切替装置のハードウェア構造模式図である。
【発明を実施するための形態】
【０００３】
次は、図面を参照して本発明の実施例を説明する。
【０００４】
図１は本発明の実施例で提供されるＳＤＮネットワークの模式図である。図１に示すように、ＳＤＮにルータ（Ｒｏｕｔｅｒ）Ａ〜Ｆがあり、ＳＤＮコントローラはＳＤＮにおける各ルータを制御し管理している。Ｒｏｕｔｅｒ  Ｂを例として、ＳＤＮにおけるＲｏｕｔｅｒ  ＢがＰＣ１からＰＣ３へのフロー（ｆｌｏｗ１とする）の最初のパケットを受信すると、そのパケットをＳＤＮコントローラに送信する。ＳＤＮコントローラは経路計算することによって１つの転送経路を生成し、当該転送経路をＲｏｕｔｅｒ  Ｂ−＞Ｒｏｕｔｅｒ  Ａ−＞Ｒｏｕｔｅｒ  Ｃ−＞Ｒｏｕｔｅｒ  Ｆとする。ＳＤＮコントローラは転送経路に従って転送経路上の各ルータに対応するＯｐｅｎＦｌｏｗエントリを各ルータへ発行し、ＰＣ１から最終的にＰＣ３へｆｌｏｗ１のパケットを転送するよう指示する。ＳＤＮコントローラからＲｏｕｔｅｒ  Ｂ、Ｒｏｕｔｅｒ  Ａ、Ｒｏｕｔｅｒ  Ｃ、Ｒｏｕｔｅｒ  Ｆへそれぞれ発行するＯｐｅｎＦｌｏｗエントリをＯｐｅｎＦｌｏｗエントリＢ、ＯｐｅｎＦｌｏｗエントリＡ、ＯｐｅｎＦｌｏｗエントリＣ、ＯｐｅｎＦｌｏｗエントリＦとする。その後、Ｒｏｕｔｅｒ  ＢはパケットにマッチしているＯｐｅｎＦｌｏｗエントリＢに従ってパケットを転送し、当該パケットがＲｏｕｔｅｒ  Ａに転送される。Ｒｏｕｔｅｒ  Ａはパケットを受信すると、パケットにマッチしているＯｐｅｎＦｌｏｗエントリＡに従ってパケットを転送し、当該パケットがＲｏｕｔｅｒ  Ｃに転送される。Ｒｏｕｔｅｒ  Ｃはパケットを受信すると、パケットにマッチしているＯｐｅｎＦｌｏｗエントリＣに従ってパケットを転送し、当該パケットがＲｏｕｔｅｒ  Ｆに転送される。Ｒｏｕｔｅｒ  Ｆはパケットを受信すると、パケットにマッチしているＯｐｅｎＦｌｏｗエントリＦに従ってパケットを転送し、当該パケットが最終にＰＣ３に転送される。
【０００５】
しかし、上記パケット転送において、もしＲｏｕｔｅｒ  ＣからＲｏｕｔｅｒ  Ｆまでのリンクが中断した場合は、Ｒｏｕｔｅｒ  ＣのローカルにパケットにマッチしているＯｐｅｎＦｌｏｗエントリＣが存在しているとしても、パケットがＲｏｕｔｅｒ  Ｆに転送できず、パケット送信の中断が起こってしまう。パケット送信中断の時間は以下の時間Ｔ１〜Ｔ４によるものである。Ｒｏｕｔｅｒ  Ｃ、Ｒｏｕｔｅｒ  ＦがＳＤＮコントローラにリンクの故障を報告する時間Ｔ１、ＳＤＮコントローラが再度経路計算を行う時間Ｔ２、再度計算した経路に従ってＳＤＮコントローラによりＯｐｅｎＦｌｏｗエントリを生成する時間Ｔ３、ＳＤＮコントローラがＯｐｅｎＦｌｏｗエントリを発行する時間Ｔ４。
【０００６】
図２は本発明の実施例で提供される経路切替方法のフローチャートである。当該方法はＳＤＮにおけるルータ機器に適用する。図２に示すように、当該方法は下記のステップを含む。
【０００７】
ステップ２０１：ＳＤＮコントローラから発行された第１フロー転送用の転送エントリを受信してローカルに保存する。そのうち、前記ルータ機器が前記第１フローのキー転送機器であるとＳＤＮコントローラによって決めた場合は、前記ローカルに保存された前記第１フロー転送用の転送エントリに第１転送エントリと第２転送エントリとが含まれている。前記第１転送エントリの優先度が第２転送エントリの優先度よりが高く、そして両者ともプリセットした最低値より高い。前記第１転送エントリは前記第１フローのために確定したメイン転送経路に従ってＳＤＮコントローラにより生成されたものであり、前記第２転送エントリは前記第１フローのために確定した予備転送経路に従ってＳＤＮコントローラにより生成されたものである。前記ルータ機器がメイン転送経路に位置しながら前記ＳＤＮコントローラによってキー転送機器ではないと決めた場合は、前記ローカルに保存された前記第１フローの転送用の転送エントリにプリセットした最低値より優先度の高い１つの転送エントリが含まれている。
【０００８】
ステップ２０２：前記第１フローを受信し、ローカルに保存された前記第１フローの転送用の転送エントリにプリセットした最低値より優先度の高い１つの転送エントリが含まれていると確認し、かつ当該転送エントリにおけるエッグレス（ｅｇｒｅｓｓ）ポートに接続されるリンクの故障を検出した時に、ローカルに保存された転送エントリの優先度をプリセットした最低値に設定し、前記第１フローを前記キー転送機器に送り返すことによって、前記キー転送機器が第２転送エントリに従って前記第１フローを転送することを引き起こす。
【０００９】
本発明の実施例において、前記第１フローを前記キー転送機器に送り返すことは、
ローカルに保存された前記第１フローの転送用の転送エントリから、前記第１フローが本ルータ機器に流れ込むイングレス（Ｉｎｇｒｅｓｓ）ポートを確定することと、
前記第１フローを特殊フロー標識でカプセル化し、前記特殊フロー標識は特殊フローエントリへマッチングを行うためのものであり、前記特殊フローエントリは前記第１フローを前記キー転送機器に送り返すためのものであることと、
特殊フロー標識でカプセル化された第１フローを前記イングレスポートによって転送することと、を含む。
【００１０】
本発明の実施例において、当該方法はさらに、  
特殊フロー標識でカプセル化された第２フローを受信し、カプセル化された第２フローの特殊フロー標識によってローカルの特殊転送エントリへマッチングを行うことと、
ローカルの特殊転送エントリに従って、カプセル化された第２フローの特殊フロー標識を取り除き、ローカルにて優先度の最も高い前記第２フロー転送用の転送エントリをサーチし、得られた優先度の最も高い前記第２フロー転送用の転送エントリの優先度をプリセットした最低値に設定し、そして、ローカルに優先度が前記プリセットした最低値より高い前記第２フロー転送用の転送エントリがまだ存在するかどうかをチェックし、ローカルに優先度が前記プリセットした最低値より高い前記第２フロー転送用の転送エントリが存在する時は、当該優先度が前記プリセットした最低値より高い前記第２フロー転送用の転送エントリに従って前記第２フローを転送し、ローカルに優先度が前記プリセットした最低値より高い前記第２フロー転送用の転送エントリが存在しない時に、前記得られた優先度の最も高い前記第２フロー転送用の転送エントリから、前記第２フローが本ルータ機器に流れ込むイングレスポートを確定し、前記第２フローを特殊フロー標識でカプセル化して前記イングレスポートによって特殊フロー標識でカプセル化された第２フローを転送することと、を含む。
【００１１】
本発明の実施例において、前記第１フローを受信した後、当該方法はさらに、
ローカルに保存された前記第１フロー転送用の転送エントリに第１転送エントリと第２転送エントリとが含まれていると確認した場合は、第２転送エントリより優先度の高い第１転送エントリを選択し、もし選択された第１転送エントリにおけるエッグレスポートに接続されるリンクの故障が検出されたら、選択された第１転送エントリの優先度をプリセットした最低値に設定し、第１転送エントリより優先度の低い第２転送エントリによって前記第１フローを転送することを含む。
【００１２】
本発明の実施例において、当該方法はさらに、
前記ルータ機器は、第３フロー転送用の予備転送経路に位置しながら前記ＳＤＮコントローラによってキー転送機器ではないと決めた場合は、ＳＤＮコントローラから発行された第３フロー転送用の転送エントリを受信してローカルに保存し、前記ローカルに保存された第３フロー転送用の転送エントリに優先度がプリセットした最低値より高い１つの転送エントリが含まれており、、当該転送エントリは前記第３フロー転送用の予備転送経路に従ってＳＤＮコントローラにより生成されたものであることと、
前記キー転送機器によって転送されてきた第３フローを受信し、そのうち、前記第３フローはカプセル化された第３フローの特殊フロー標識がキー転送機器によって取り除かれた後、ローカルに保存された前記第３フロー転送用の２つの転送エントリ中の優先度の低い転送エントリによって転送されるフローであることと、
ローカルに保存された前記第３フロー転送用の転送エントリに優先度がプリセットした最低値より高い１つの転送エントリが含まれていると確認した場合、前記転送エントリによって前記第３フローを転送することと、を含む。
【００１３】
図３は本発明の実施例で提供される他の経路切替方法のフローチャートである。当該方法はＳＤＮに適用する。図３に示されるように、当該方法は、
ステップ３０１：ＳＤＮコントローラはフローのためにメイン転送経路と予備転送経路を確定し、ルータ機器がフローのキー転送機器である場合は、２つの優先度の異なるフロー転送用の転送エントリをルータ機器へ発行し、優先度の高い転送エントリがメイン転送経路に従ってＳＤＮコントローラにより生成されたものであり、優先度の低い転送エントリが予備転送経路に従ってＳＤＮコントローラにより生成されたものであることと、  ルータ機器がメイン転送経路に位置しながら前記ＳＤＮコントローラによってキー転送機器ではないと決めた時に、ルータ機器へ１つの転送エントリを発行し、当該発行した転送エントリがメイン転送経路に従ってＳＤＮコントローラにより生成されたものであることと、ルータ機器が予備転送経路に位置しながら前記ＳＤＮコントローラによってキー転送機器ではないと決めた時に、ルータ機器へ１つの転送エントリを発行し、当該発行した転送エントリが予備転送経路に従ってＳＤＮコントローラにより生成されたものであることと、を含む。
【００１４】
本発明の実施例において、ルータ機器がフローのために確定したメイン転送経路と予備転送経路の間の分岐位置に存在する場合は、当該ルータ機器がフローのキー転送機器であると確定する。
【００１５】
ステップ３０１に関して、ルータ機器がフローのキー転送機器である時に当該ルータ機器へ発行された２つの転送エントリでも、ルータ機器がフローのキー転送機器ではないがメイン転送経路または予備転送経路にある時にルータ機器へ発行された１つの転送エントリでも、その優先度がいずれもプリセットした最低値より高い。ここでは、プリセットした最低値は実際の状況に応じて設置されるものであり、例えば０に設置される。
【００１６】
ステップ３０２：ルータ機器がＳＤＮコントローラから発行されたフロー転送用の転送エントリを受信してローカルに保存する。
【００１７】
ステップ３０３：ルータ機器が前記フローを受信し、ローカルに１つの前記フロー転送用の転送エントリしか保存されていない時に、もし当該転送エントリにおけるエッグレスポートに接続されるリンクの故障が検出されたら、当該転送エントリの優先度をプリセットした最低値に設定し、前記フローを前記キー転送機器に送り返すことによって、前記キー転送機器が優先度の低いフロー転送用の転送エントリに従って前記フローを転送することを引き起こすこと、ローカルに２つの前記フロー転送用の転送エントリが保存されている時に、優先度の高い転送エントリを選択し、もし当該選択された転送エントリにおけるエッグレスポートに接続されるリンクの故障が検出されたら、当該選択された転送エントリの優先度をプリセットした最低値に設定し、優先度の低い前記フロー転送用の転送エントリによって前記フローを転送する。
【００１８】
ステップ３０３において、フローをキー転送機器に送り返すことによって、キー転送機器が優先度の低いフロー転送用の転送エントリに従ってフローを転送することを引き起こすことは、図４に示すステップを含むことが可能である。図４は本発明の実施例で提供されるルータ機器からフローをキー転送機器に送り返す過程のフローチャートである。図４を参照して、当該過程はステップａ１〜ステップａ２を含む。
【００１９】
ステップａ１：ローカルに保存された１つだけの前記フロー転送用の転送エントリから、前記フローが本ルータ機器に流れ込むイングレスポートを確定する。
【００２０】
一般的に、ＳＤＮコントローラからルータ機器へ発行した転送エントリにイングレスポートが含まれているので、ステップａ１では、ローカルに保存された１つだけの前記フロー転送用の転送エントリにおけるイングレスポートを、前記フローが本ルータ機器に流れ込むイングレスポートとして確定する。
【００２１】
ステップａ２：前記フローを特殊フロー標識でカプセル化して、特殊フロー標識でカプセル化されたフローを当該イングレスポートによって転送する。
ここでは、特殊フロー標識は特殊フローエントリへマッチングを行うためのフロー標識であり、特殊フローエントリはＳＤＮコントローラからフローのメイン転送経路にあるルータ機器へ発行したものであり、具体的にフローのキー転送機器へフローを送り返すためのものである。特殊フローエントリのフロー標識が特殊フロー標識と呼ぶ原因は、当該フロー標識に対応するフローが実際に存在しなく、例えば全て１または０であり、通常のフローは特殊フローエントリにマッチすることがなく、特殊フロー標識だけマッチできる。
【００２２】
ステップａ２によってルータ機器が特殊フロー標識でカプセル化されたフローを転送した後、当該ルータ機器とキー転送機器の間の中間ルータ機器が特殊フロー標識でカプセル化されたフローを受信できる。中間ルータ機器は、特殊フロー標識でカプセル化されたフローを受信した時に、カプセル化されたフローの特殊フロー標識によってローカルの特殊転送エントリへマッチングを行い、その後、ローカルの特殊転送エントリに従って以下の操作を行う。つまり、カプセル化されたフローの特殊フロー標識を取り除いて、ローカルに保存された前記フロー転送用の転送エントリの優先度をプリセットした最低値に設定し、もしローカルの転送エントリに優先度が前記プリセットした最低値より高い前記フロー転送用の転送エントリが存在しない場合、ローカルに保存された前記フロー転送用の転送エントリから前記フローが本中間機器に流れ込むイングレスポートを確定し、前記フローを特殊フロー標識でカプセル化した上でイングレスポートによって特殊フロー標識でカプセル化されたフローを転送する。最後に特殊フロー標識でカプセル化されたフローがキー転送機器に転送される。
【００２３】
キー転送機器は、特殊フロー標識でカプセル化されたフローを受信した時に、カプセル化されたフローの特殊フロー標識によってローカルの特殊転送エントリへマッチングを行い、その後、ローカルの特殊転送エントリに従って以下の操作を行う。つまり、カプセル化されたフローの特殊フロー標識を取り除いて、ローカルに保存された前記フロー転送用の転送エントリから優先度の最も高い転送エントリを選択し、選択された転送エントリの優先度をプリセットした最低値に設定し、ローカルに優先度が前記プリセットした最低値より高い前記フロー転送用の転送エントリが存在するかどうかをチェックし、もし存在する場合は、優先度が前記プリセットした最低値より高い前記フロー転送用の転送エントリにおけるエッグレスポートによって前記フローを転送する。上記キー転送機器のローカルに保存される、２つの前記フロー転送用の優先度の異なる転送エントリに関して、キー転送機器は優先度が前記プリセットした最低値より高い前記フロー転送用の転送エントリによってフローを転送することは、前記フローを予備転送経路に切り替えて、メイン転送経路と予備転送経路の切替をやり遂げることに相当する。
【００２４】
ステップ３０３におけるルータ機器は、上記中間ルータ機器またはキー転送機器と類似する処理を行うことが可能である。
【００２５】
ステップ３０３は主にメイン・予備転送経路の切替を果たすステップであるので、当該メイン・予備転送経路の切替を果たすために、ステップ３０３におけるルータ機器をフローのキー転送機器とすることが可能であり、またはステップ３０３におけるルータ機器をフローのキー転送機器ではなく、フローのメイン転送経路にあるものとすることが可能である。ルータ機器がフローのキー転送機器ではないが、フローのメイン転送経路にある場合は、ルータ機器が前記フローを受信すると、直接にローカルに保存されている１つの前記フロー転送用の転送エントリによって前記フローを転送する。
【００２６】
以下では１つの実施例を通じて図３に示す過程を説明する。
【００２７】
図５に示すＳＤＮネットワークを例として説明する。仮に図５において１つのフローをＰＣ１からＰＣ３へ送信しようとして、そのフローをｆｌｏｗ１とする。ＳＤＮコントローラは経路計算してｆｌｏｗ１に２つの異なる転送経路を生成し、一方は図５では実線で表示されるメイン転送経路であり、具体的にＲｏｕｔｅｒ  Ｂ−＞Ｒｏｕｔｅｒ  Ａ−＞Ｒｏｕｔｅｒ  Ｃ−＞Ｒｏｕｔｅｒ  Ｆであり、他方は図５では点線で表示される予備転送経路であり、具体的にＲｏｕｔｅｒ  Ｂ−＞Ｒｏｕｔｅｒ  Ｄ−＞Ｒｏｕｔｅｒ  Ｅ−＞Ｒｏｕｔｅｒ  Ｆである。
【００２８】
Ｒｏｕｔｅｒ  Ｂはメイン転送経路と予備転送経路の間の分岐位置にあり、ｆｌｏｗ１のキー転送機器である。ＳＤＮコントローラは、Ｒｏｕｔｅｒ  Ｂによってｆｌｏｗ１を転送するための２つの転送エントリを発行する。２つの転送エントリは優先度が異なるが、いずれもプリセットした最低値より高く、そのうちの優先度の高い転送エントリはエントリＢ１と呼ばれ、メイン転送経路に従って生成された、Ｒｏｕｔｅｒ  Ｂによってｆｌｏｗ１を転送するための転送エントリであり、優先度の低い転送エントリはエントリＢ２と呼ばれ、予備転送経路に従って生成されたＲｏｕｔｅｒ  Ｂによってｆｌｏｗ１を転送するための転送エントリである。
Ｒｏｕｔｅｒ  Ａはメイン転送経路にあり、ｆｌｏｗ１のキー転送機器ではない。ＳＤＮコントローラは、Ｒｏｕｔｅｒ  Ａによってｆｌｏｗ１を転送するための１つの転送エントリをＲｏｕｔｅｒ  Ａへ発行し、当該転送エントリはエントリＡ１と呼ばれ、メイン転送経路に従って生成された、Ｒｏｕｔｅｒ  Ａによってｆｌｏｗ１を転送するための転送エントリである。エントリＡ１の優先度はプリセットした最低値より高いが、その優先度の値は他の各ルータ機器における転送エントリの優先度と関係なく、プリセットした第１デフォルト値とすることが可能である。
【００２９】
Ｒｏｕｔｅｒ  Ｃはメイン転送経路にあり、ｆｌｏｗ１のキー転送機器ではない。ＳＤＮコントローラは、Ｒｏｕｔｅｒ  Ｃによってｆｌｏｗ１を転送するための１つの転送エントリをＲｏｕｔｅｒ  Ｃへ発行し、当該転送エントリはエントリＣ１と呼ばれ、メイン転送経路に従って生成された、Ｒｏｕｔｅｒ  Ｃによってｆｌｏｗ１を転送するための転送エントリである。エントリＣ１の優先度はプリセットした最低値より高いが、その優先度の値は他の各ルータ機器における転送エントリの優先度と関係なく、プリセットした第１デフォルト値とすることが可能である。
【００３０】
Ｒｏｕｔｅｒ  Ｄは予備転送経路にあり、ｆｌｏｗ１のキー転送機器ではない。ＳＤＮコントローラは、Ｒｏｕｔｅｒ  Ｄによってｆｌｏｗ１を転送するための１つの転送エントリをＲｏｕｔｅｒ  Ｄへ発行し、当該転送エントリはエントリＤ１と呼ばれ、予備転送経路に従って生成された、Ｒｏｕｔｅｒ  Ｄによってｆｌｏｗ１を転送するための転送エントリである。エントリＤ１の優先度はプリセットした最低値より高いが、その優先度の値は他の各ルータ機器における転送エントリの優先度と関係なく、プリセットした第２デフォルト値とすることが可能である。
【００３１】
Ｒｏｕｔｅｒ  Ｅは予備転送経路にあり、ｆｌｏｗ１のキー転送機器ではない。ＳＤＮコントローラは、Ｒｏｕｔｅｒ  Ｅによってｆｌｏｗ１を転送するための１つの転送エントリをＲｏｕｔｅｒ  Ｅへ発行し、当該転送エントリはエントリＥ１と呼ばれ、予備転送経路に従って生成された、Ｒｏｕｔｅｒ  Ｅによってｆｌｏｗ１を転送するための転送エントリである。エントリＥ１の優先度はプリセットした最低値より高いが、その優先度の値は他の各ルータ機器における転送エントリの優先度と関係なく、プリセットした第２デフォルト値とすることが可能である。
【００３２】
Ｒｏｕｔｅｒ  Ｆは、メイン転送経路と予備転送経路とに同時に位置し、メイン転送経路と予備転送経路との間の分岐位置ではなく、メイン転送経路と予備転送経路の間の合流位置にある。合流位置にあるＲｏｕｔｅｒ  Ｆに対して、ＳＤＮコントローラは実際の状況に応じて１つの転送エントリを発行すればよく、当該１つの転送エントリは、メイン転送経路に従ってＳＤＮコントローラにより生成された、Ｒｏｕｔｅｒ  Ｆによってｆｌｏｗ１を転送するための転送エントリであり、または、予備転送経路に従ってＳＤＮコントローラにより生成された、Ｒｏｕｔｅｒ  Ｆによってｆｌｏｗ１を転送するための転送エントリである。しかし、ＳＤＮコントローラから発行したのはメイン転送経路に従って生成した転送エントリであっても、予備転送経路に従って生成した転送エントリであっても、統一にエントリＦ１と呼び、エントリＦ１の優先度がプリセットした最低値より高いが、他の各ルータ機器における転送エントリの優先度と関係なく、プリセットした第１デフォルト値または２デフォルト値とすることが可能である。
【００３３】
図５に示すように、ＰＣ１から送信したｆｌｏｗ１はまずＲｏｕｔｅｒ  Ｂに着く。Ｒｏｕｔｅｒ  Ｂがｆｌｏｗ１を受信すると、ローカルに２つのｆｌｏｗ１転送用の転送エントリが保存されているのを見つけ、優先度の高いエントリＢ１を選択する。エントリＢ１におけるエッグレスポートに接続されるリンクが正常であると検出した時に、エントリＢ１におけるエッグレスポートによってｆｌｏｗ１を送信する。ｆｌｏｗ１はＲｏｕｔｅｒ  ＢからＲｏｕｔｅｒ  Ａに送信される。
【００３４】
Ｒｏｕｔｅｒ  Ａがｆｌｏｗ１を受信すると、ローカルに１つのｆｌｏｗ１転送用の転送エントリ、すなわちエントリＡ１だけが保存されているのを見つけ、エントリＡ１におけるエッグレスポートに接続されるリンクが正常であることを検出した時に、エントリＡ１におけるエッグレスポートによってｆｌｏｗ１を送信する。ｆｌｏｗ１はＲｏｕｔｅｒ  ＡからＲｏｕｔｅｒ  Ｃに送信される。
【００３５】
Ｒｏｕｔｅｒ  Ｃがｆｌｏｗ１を受信すると、ローカルに１つのｆｌｏｗ１転送用の転送エントリ、すなわちエントリＣ１だけが保存されており、もしエントリＣ１におけるエッグレスポートに接続されるリンクの故障を検出したら、ｆｌｏｗ１の転送ができなくなり、ＳＤＮコントローラにリンクの故障を報告する。前記エントリＣ１におけるエッグレスポートに接続されるリンクの故障は、図６に示すＲｏｕｔｅｒ  ＣとＲｏｕｔｅｒ  Ｆの間のリンクの故障である。リンクの故障の検出は、双方向転送検出（ＢＦＤ：Ｂｉｄｉｒｅｃｔｉｏｎａｌ  Ｆｏｒｗａｒｄｉｎｇ  Ｄｅｔｅｃｔｉｏｎ）によって行うことが可能である。リンクの故障はいろいろな状況を含み、例えばリンクｄｏｗｎ、ｆｌｏｗ１送信失敗などがあります。
【００３６】
Ｒｏｕｔｅｒ  Ｃは、エントリＣ１の優先度をプリセットした最低値に設定する。本実施例において、プリセットした最低値は０である。Ｒｏｕｔｅｒ  Ｃは、ローカルに優先度が０より高い前記フロー転送用の転送エントリが存在しないと検出した時に、特殊フロー標識でｆｌｏｗ１をカプセル化する。本実施例では、特殊フロー標識はｆｌｏｗ  ＸＸＸである。Ｒｏｕｔｅｒ  ＣはエントリＣ１におけるイングレスポートによってｆｌｏｗ  ＸＸＸでカプセル化されたｆｌｏｗ１を送信する。ｆｌｏｗ  ＸＸＸでカプセル化されたｆｌｏｗ１はＲｏｕｔｅｒ  Ａに送り返すことになる。
【００３７】
Ｒｏｕｔｅｒ  Ａはｆｌｏｗ  ＸＸＸでカプセル化されたｆｌｏｗ１を受信すると、ｆｌｏｗ  ＸＸＸによってローカルの特殊転送エントリへマッチングを行い、マッチしている特殊転送エントリに従ってカプセル化したｆｌｏｗ１のｆｌｏｗ  ＸＸＸを取り除いて元のｆｌｏｗ１を復元し、ローカルの転送エントリから優先度の最も高いｆｌｏｗ１転送用の転送エントリであるエントリＡ１を確定し、エントリＡ１の優先度を０に設定し、ローカルの転送エントリに優先度が０より高いｆｌｏｗ１転送用の転送エントリがまだあるかどうかをチェックし、結果がＮＯである時に、特殊フロー標識ｆｌｏｗ  ＸＸＸでｆｌｏｗ１をカプセル化し、エントリＡ１におけるイングレスポートによってｆｌｏｗ  ＸＸＸでカプセル化されたｆｌｏｗ１を送信する。ｆｌｏｗ  ＸＸＸでカプセル化されたｆｌｏｗ１はＲｏｕｔｅｒ  Ｂに送り返すことになる。
【００３８】
Ｒｏｕｔｅｒ  Ｂはｆｌｏｗ  ＸＸＸでカプセル化されたｆｌｏｗ１を受信すると、ｆｌｏｗ  ＸＸＸによってローカルの特殊転送エントリへマッチングを行い、マッチしている特殊転送エントリに従ってカプセル化されたｆｌｏｗ１のｆｌｏｗ  ＸＸＸを取り除いて元のｆｌｏｗ１を復元し、ローカルの転送エントリから優先度の最も高いｆｌｏｗ１転送用の転送エントリであるエントリＢ１を確定し、エントリＢ１の優先度を０に設定し、ローカルの転送エントリに優先度が０より高いｆｌｏｗ１転送用の転送エントリがまだあるかどうかをチェックし、エントリＢ２が優先度が０より高いｆｌｏｗ１転送用の転送エントリであることが分かり、エントリＢ２におけるエッグレスポートによってｆｌｏｗ１を転送する。Ｒｏｕｔｅｒ  Ｄはｆｌｏｗ１を受信すると、ローカルに保存された１つのｆｌｏｗ１転送用のエントリ、すなわちエントリＤ１におけるエッグレスポートによってｆｌｏｗ１を送信する。Ｒｏｕｔｅｒ  Ｅ、Ｒｏｕｔｅｒ  Ｆの処理方法はＲｏｕｔｅｒ  Ｄに類似し、最終的にＰＣ１からのｆｌｏｗ１が予備転送経路Ｒｏｕｔｅｒ  Ｂ−＞Ｒｏｕｔｅｒ  Ｄ−＞Ｒｏｕｔｅｒ  Ｅ−＞Ｒｏｕｔｅｒ  ＦによってＰＣ３に転送し、Ｒｏｕｔｅｒ  ＣとＲｏｕｔｅｒ  Ｆとの間の故障リンクを通さない。図５に示すＳＤＮネットワークに基づいて、図６では点線によってｆｌｏｗ１の一時転送経路を示している。
【００３９】
その後でＰＣ１からのｆｌｏｗ１がＲｏｕｔｅｒ  Ｂに着くときに、Ｒｏｕｔｅｒ  Ｂが既に元々優先度の最も高いエントリＢ１の優先度を最低値０に設定したので、これらの後でＰＣ１からのｆｌｏｗ１がＲｏｕｔｅｒ  Ｂで予備転送経路に従って生成したエントリＢ２にマッチしていることになり、最終的に予備転送経路Ｒｏｕｔｅｒ  Ｂ−＞Ｒｏｕｔｅｒ  Ｄ−＞Ｒｏｕｔｅｒ  Ｅ−＞Ｒｏｕｔｅｒ  Ｆに転送され、ＰＣ３に到着する。こうすることにより、リンクの故障に対応してＳＤＮコントローラが各ルータ機器の転送エントリを更新するまでの、フローの中断を回避することができる。リンクの故障に対してＳＤＮコントローラが各ルータ機器の転送エントリを更新した後、各ルータ機器は更新後の転送エントリに従ってデーターフローを転送する。
【００４０】
以下では、本発明の実施例で提供される経路切替装置について説明する。当該経路切替装置はＳＤＮに適用可能である。
【００４１】
図７は本発明の実施例で提供される経路切替装置の構造模式図である。該装置はＳＤＮにおけるルータ機器に適用し、図７に示すように、エントリユニット７０１と、フローユニット７０２とを含む。
【００４２】
エントリユニット７０１は、ＳＤＮコントローラから発行された第１フロー転送用の転送エントリを受信してローカルに保存するためものであり、ルータ機器が前記第１フローのキー転送機器であるとＳＤＮコントローラによって決められた場合は、前記ローカルに保存された前記第１フロー転送用の転送エントリに第１転送エントリと第２転送エントリとが含まれており、前記第１転送エントリの優先度が第２転送エントリの優先度より高く、そして両者ともプリセットした最低値より高く、前記第１転送エントリは前記第１フローのために確定したメイン転送経路に従ってＳＤＮコントローラにより生成されたものであり、前記第２転送エントリは前記第１フローのために確定した予備転送経路に従ってＳＤＮコントローラにより生成されたものであり、ルータ機器が前記メイン転送経路に位置しながら前記ＳＤＮコントローラによってキー転送機器ではないと決めた時に、前記ローカルに保存された前記第１フロー転送用の転送エントリにプリセットした最低値より優先度の高い１つの転送エントリが含まれており、当該転送エントリは前記メイン転送経路に従ってＳＤＮコントローラにより生成されたものである。
【００４３】
フローユニット７０２は、前記第１フローを受信するためのものであり、ローカルに保存された前記第１フローの転送用の転送エントリにプリセットした最低値より優先度の高い１つの転送エントリが含まれていると確認し、かつ当該転送エントリにおけるエッグレス（ｅｇｒｅｓｓ）ポートに接続されるリンクの故障を検出した時に、ローカルに保存された転送エントリの優先度をプリセットした最低値に設定し、前記第１フローを前記キー転送機器に送り返すことによって、前記キー転送機器が第２転送エントリに従って前記第１フローを転送することを引き起こす。
【００４４】
本発明の実施例において、前記フローユニット７０２はローカルに保存された前記第１フローの転送用の転送エントリから、前記第１フローが本ルータ機器に流れ込むイングレスポートを確定し、前記第１フローを特殊フロー標識でカプセル化し、前記特殊フロー標識が特殊エントリへマッチングを行うためのものであり、前記特殊フローエントリが前記第１フローを前記キー転送機器に送り返すためのものであり、特殊フロー標識でカプセル化された第１フローを前記イングレスポートによって転送することによって、前記キー転送機器が第２転送エントリに従って前記第１フローを転送することを引き起こす。
【００４５】
本発明の実施例において、前記フローユニット７０２はさらに特殊フロー標識でカプセル化された第２フローを受信し、カプセル化された第２フローの特殊フロー標識によってローカルの特殊転送エントリへマッチングを行い、ローカルの特殊転送エントリに従って下記操作を行う。カプセル化された第２フローの特殊フロー標識を取り除き、ローカルにて優先度の最も高い前記第２フロー転送用の転送エントリをサーチし、得られた優先度の最も高い前記第２フロー転送用の転送エントリの優先度をプリセットした最低値に設定し、そして、ローカルに優先度が前記プリセットした最低値より高い前記第２フロー転送用の転送エントリがまだ存在するかどうかをチェックし、ローカルに優先度が前記プリセットした最低値より高い前記第２フロー転送用の転送エントリが存在する時に、当該優先度が前記プリセットした最低値より高い前記第２フロー転送用の転送エントリに従って前記第２フローを転送し、ローカルに優先度が前記プリセットした最低値より高い前記第２フロー転送用の転送エントリが存在しない時に、前記得られた優先度の最も高い前記第２フロー転送用の転送エントリから前記第２フローが本ルータ機器に流れ込むイングレスポートを確定し、前記第２フローを特殊フロー標識でカプセル化して前記イングレスポートによって特殊フロー標識でカプセル化された第２フローを転送する。
本発明の実施例において、前記フローユニット７０２はローカルに保存された前記第１フロー転送用の転送エントリに第１転送エントリと第２転送エントリとが含まれていると確認した場合は、第２転送エントリより優先度の高い第１転送エントリを選択し、もし選択された第１転送エントリにおけるエッグレスポートに接続されるリンクの故障を検出したら、選択された第１転送エントリの優先度をプリセットした最低値に設定し、第１転送エントリより優先度の低い第２転送エントリによって前記第１フローを転送する。
【００４６】
本発明の実施例において、ルータ機器が第３フロー転送用の予備転送経路に位置しながらＳＤＮコントローラによってキー転送機器ではないと決めた場合は、前記エントリユニット７０１がＳＤＮコントローラから発行された第３フロー転送用の転送エントリを受信してローカルに保存する。前記ローカルに保存された第３フロー転送用の転送エントリに優先度がプリセットした最低値より高い１つの転送エントリが含まれており、当該転送エントリは前記第３フロー転送用の予備転送経路に従ってＳＤＮコントローラにより生成されたものである。前記フローユニット７０２は前記キー転送機器によって転送されてきた第３フローを受信し、そのうち、前記第３フローはキー転送機器によって特殊フロー標識を取り除かれた後、ローカルに保存された前記第３フロー転送用の２つの転送エントリ中の優先度の低い転送エントリによって転送されたフローであり、ローカルに保存された前記第３フロー転送用の転送エントリに優先度がプリセットした最低値より高い１つの転送エントリが含まれていると確認した場合、前記転送エントリによって前記第３フローを転送する。
【００４７】
本発明の実施例では経路切替装置のハードウェア構造をさらに提供している。図８は本発明の実施例で提供される経路切替装置のハードウェア構造模式図である。当該装置はＳＤＮにおけるルータ機器である。
【００４８】
図８に示すように、当該装置は、
プロセッサー８０１、例えばＣＰＵと、非揮発性メモリ８０２と、を含むことが可能である。
【００４９】
本発明の実施例において、非揮発性メモリ８０２はプロセッサー８０１より実行する機械可読命令を保存するためのものであり、前記機械可読命令はエントリ命令とフロー命令とを含むことができる。
本発明の実施例において、プロセッサー８０１は非揮発性メモリー８０２に保存されるエントリ命令を読み取り、
ＳＤＮコントローラから発行された第１フロー転送用の転送エントリを受信してローカルに保存し、前記ルータ機器が前記第１フローのキー転送機器であるとＳＤＮコントローラによって決めた場合は、前記ローカルに保存された前記第１フロー転送用の転送エントリに第１転送エントリと第２転送エントリとが含まれており、前記第１転送エントリの優先度が第２転送エントリの優先度より高く、そして両者ともプリセットした最低値より高く、前記第１転送エントリは前記第１フローのために確定したメイン転送経路に従ってＳＤＮコントローラにより生成されたものであり、前記第２転送エントリは前記第１フローのために確定した予備転送経路に従ってＳＤＮコントローラにより生成されたものであるステップと、前記ルータ機器がメイン転送経路に位置しながら前記ＳＤＮコントローラによってキー転送機器ではないと決めた場合は、前記ローカルに保存された前記第１フロー転送用の転送エントリにプリセットした最低値より優先度の高い１つの転送エントリが含まれているステップと、を実現する。
【００５０】
本発明の実施例において、プロセッサー８０１は非揮発性メモリー８０２に保存されるフロー命令を読み取り、
前記第１フローを受信し、ローカルに保存された前記第１フローの転送用の転送エントリにプリセットした最低値より優先度の高い１つの転送エントリが含まれていると確認し、かつ当該転送エントリにおけるエッグレス（ｅｇｒｅｓｓ）ポートに接続されるリンクの故障を検出した時に、ローカルに保存された転送エントリの優先度をプリセットした最低値に設定し、前記第１フローを前記キー転送機器に送り返すことによって、前記キー転送機器が前記第２転送エントリに従って前記第１フローを転送することを引き起こすステップ、を実現する。
【００５１】
本発明の実施例において、プロセッサー８０１は非揮発性メモリー８０２に保存されるフロー命令を読み取り、
ローカルに保存された前記第１フローの転送用の転送エントリから、前記第１フローが本ルータ機器に流れ込むイングレス（Ｉｎｇｒｅｓｓ）ポートを確定するステップと、
前記第１フローを特殊フロー標識でカプセル化し、前記特殊フロー標識は前記特殊フローエントリへマッチングを行うためのものであり、前記特殊フローエントリは前記第１フローを前記キー転送機器に送り返すためのものであるステップと、
特殊フロー標識でカプセル化された第１フローを前記イングレスポートによって転送するステップと、を実現する。
【００５２】
本発明の実施例において、プロセッサー８０１は非揮発性メモリー８０２に保存されるフロー命令を読み取り、
特殊フロー標識でカプセル化された第２フローを受信し、カプセル化された第２フローの特殊フロー標識によってローカルの特殊転送エントリへマッチングを行うステップと、
ローカルの特殊転送エントリに従って、カプセル化された第２フローの特殊フロー標識を取り除き、ローカルにて優先度の最も高い前記第２フロー転送用の転送エントリをサーチし、得られた優先度の最も高い前記第２フロー転送用の転送エントリの優先度をプリセットした最低値に設定し、そして、ローカルに優先度が前記プリセットした最低値より高い前記第２フロー転送用の転送エントリがまだ存在するかどうかをサーチし、ローカルに優先度が前記プリセットした最低値より高い前記第２フロー転送用の転送エントリが存在する時に、当該優先度が前記プリセットした最低値より高い前記第２フロー転送用の転送エントリに従って前記第２フローを転送し、ローカルに優先度が前記プリセットした最低値より高い前記第２フロー転送用の転送エントリが存在しない時に、前記得られた優先度の最も高い前記第２フロー転送用の転送エントリから、前記第２フローが本ルータ機器に流れ込むイングレスポートを確定し、前記第２フローを特殊フロー標識でカプセル化して前記イングレスポートによって特殊フロー標識でカプセル化された第２フローを転送するステップと、を実現する。
【００５３】
本発明の実施例において、プロセッサー８０１は非揮発性メモリー８０２に保存されるフロー命令を読み取り、
ローカルに保存された前記第１フロー転送用の転送エントリに第１転送エントリと第２転送エントリとが含まれていると確認した場合は、第２転送エントリより優先度の高い第１転送エントリを選択し、もし選択された第１転送エントリにおけるエッグレスポートに接続されるリンクの故障を検出したら、該選択された第１転送エントリの優先度をプリセットした最低値に設定し、第１転送エントリより優先度の低い第２転送エントリによって前記第１フローを転送するステップを実現する。
本発明の実施例において、プロセッサー８０１は非揮発性メモリー８０２に保存されるエントリ命令を読み取り、
前記ルータ機器は、第３フロー転送用の予備転送経路に位置しながら前記ＳＤＮコントローラによってキー転送機器ではないと決めた場合は、ＳＤＮコントローラから発行された第３フロー転送用の転送エントリを受信してローカルに保存し、そのうち、前記ローカルに保存された第３フロー転送用の転送エントリに優先度がプリセットした最低値より高い１つの転送エントリが含まれており、当該転送エントリは前記第３フロー転送用の予備転送経路に従ってＳＤＮコントローラにより生成されたものであるステップ、を実現する。
【００５４】
本発明の実施例において、プロセッサー８０１は非揮発性メモリー８０２に保存されるフロー命令を読み取り、
前記キー転送機器によって転送されてきた第３フローを受信し、そのうち、前記第３フローは特殊フロー標識がキー転送機器によって取り除かれた後、ローカルに保存された前記第３フロー転送用の２つの転送エントリ中の優先度の低い転送エントリによって転送されるフローであるステップと、
ローカルに保存された前記第３フロー転送用の転送エントリに優先度がプリセットした最低値より高い１つの転送エントリが含まれていると確認した場合、前記転送エントリによって前記第３フローを転送するステップと、を実現する。
【００５５】
図９は本発明の実施例で提供される他の経路切替装置の構造模式図である。当該装置はＳＤＮにおけるＳＤＮコントローラに適用し、図９に示すように、経路確定ユニット９０１と、エントリ発行ユニット９０２とを含むことができる。
【００５６】
経路確定ユニット９０１は、フローのためにメイン転送経路と予備転送経路を確定するためのものであり、
エントリ発行ユニット９０２は、ルータ機器が前記フローのキー転送機器である場合は、前記フロー転送用の２つの転送エントリをルータ機器へ発行し、２つの転送エントリの優先度が異なるが、いずれもプリセットした最低値より高く、優先度の高い転送エントリは前記メイン転送経路に従ってＳＤＮコントローラにより生成されたものであり、優先度の低い転送エントリは前記予備転送経路に従ってＳＤＮコントローラにより生成されたものであり、ルータ機器が前記メイン転送経路と予備転送経路の間の分岐位置に存在する場合は、当該ルータ機器はフローのキー転送機器であると確定し、
ルータ機器が前記メイン転送経路に位置しながら前記ＳＤＮコントローラによってキー転送機器ではないと決めた場合は、優先度がプリセットした最低値より高い１つの転送エントリをルータ機器へ発行し、当該転送エントリが前記メイン転送経路に従って生成されたものであり、
ルータ機器が前記予備転送経路に位置しながら前記ＳＤＮコントローラによってキー転送機器ではない場合と決めたは、優先度がプリセットした最低値より高い１つの転送エントリをルータ機器へ発行し、当該転送エントリは前記予備転送経路に従って生成されたものである。
【００５７】
本発明の実施例では他の経路切替装置のハードウェア構造をさらに提供している。図１０は本発明の実施例で提供される他の経路切替装置のハードウェア構造模式図である。当該装置はＳＤＮにおけるＳＤＮコントローラである。
【００５８】
図１０に示すように、当該装置は、
プロセッサー１００１、例えばＣＰＵと、非揮発性メモリ１００２と、を含むことが可能である。
【００５９】
本発明の実施例において、非揮発性メモリ１００２は機械可読命令を保存するためのものであり、機械可読命令はプロセッサー１００１により実行される経路確定命令と、エントリ発行命令とを含むことができる。
【００６０】
本発明の実施例において、プロセッサー１００１は非揮発性メモリー１００２に保存される経路確定命令を読み取り、
フローのためにメイン転送経路と予備転送経路を確定することを実現する。
【００６１】
本発明の実施例において、プロセッサー１００１は非揮発性メモリー１００２に保存されるエントリ発行命令を読み取り、
ルータ機器が前記フローのキー転送機器である場合、２つの前記フロー転送用の転送エントリをルータ機器へ発行し、２つの転送エントリの優先度が異なるが、いずれもプリセットした最低値より高く、優先度の高い転送エントリは前記メイン転送経路に従ってＳＤＮコントローラにより生成されたものであり、優先度の低い転送エントリは前記予備転送経路に従ってＳＤＮコントローラにより生成されたものであるステップと、ルータ機器が前記メイン転送経路と予備転送経路の間の分岐位置に存在する場合は、当該ルータ機器が前記フローのキー転送機器であると確定するステップと、
ルータ機器が前記メイン転送経路に位置しながら前記ＳＤＮコントローラによってキー転送機器ではないと決めた場合は、優先度がプリセットした最低値より高い１つの転送エントリをルータ機器へ発行し、当該転送エントリは前記メイン転送経路に従って生成されたものであるステップと、
ルータ機器が前記予備転送経路に位置しながら前記ＳＤＮコントローラによってキー転送機器ではないと決めた場合は、優先度がプリセットした最低値より高い１つの転送エントリをルータ機器へ発行し、当該転送エントリは前記予備転送経路に従って生成されたものであるステップと、を実現する。
【００６２】
本発明の実施例において、ルータ機器はローカルに保存されたフロー転送用の優先度の最も高い転送エントリにおけるエッグレスポートに接続されるリンクに対して検測し、故障を検出した時に、当該優先度の最も高い転送エントリの優先度をプリセットした最低値に設定し、もしローカルに優先度が前記プリセットした最低値より高い前記フロー転送用の転送エントリがまだある場合、当該転送エントリにおけるエッグレスポートによって前記フローを転送し、でなければ、当該フローをフローのキー転送機器に送り返し、キー転送機器は優先度の最も高い転送エントリの優先度をプリセットした最低値に設定し、優先度の低い前記フロー転送用の転送エントリによってフローを転送することにより、リンクの迅速な収束が図ることができ、リンクの中断によるフローの中断を回避できる。
【００６３】
以上は本発明の好ましい実施例を説明しましたが、そのいずれも本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲においてなされた如何なる補正、均等入れ替え、改善などは、本発明の請求の範囲に含まれていると解釈すべきである。
【図１】
0006681465.tif 000002
【図２】
0006681465.tif 000003
【図３】
0006681465.tif 000004
【図４】
0006681465.tif 000005
【図５】
0006681465.tif 000006
【図６】
0006681465.tif 000007
【図７】
0006681465.tif 000008
【図８】
0006681465.tif 000009
【図９】
0006681465.tif 000010
【図１０】
0006681465.tif 000011