(57)【特許請求の範囲】
【請求項１】
情報を受信するための方法であって、
コントロールプレーン装置が、フォワーディングプレーン装置を管理することができるとき、前記コントロールプレーン装置によって送信されるパケット転送経路の計算のために使用される情報を、前記フォワーディングプレーン装置によって受信するステップであって、前記フォワーディングプレーン装置及び前記コントロールプレーン装置は、フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャを持つネットワーク内に配置される、ステップ
を有し、
前記コントロールプレーン装置が前記フォワーディングプレーン装置を管理することができないとき、パケット転送経路の計算のために使用される前記情報は、パケット転送経路を計算するために、前記フォワーディングプレーン装置によって使用される方法。
【請求項２】
前記コントロールプレーン装置によって送信されるパケット転送経路の計算のために使用される前記情報を、前記フォワーディングプレーン装置によって受信する前記ステップは、
パケット転送経路の計算のために使用される前記情報を、前記フォワーディングプレーン装置によって受信するステップであって、パケット転送経路の計算のために使用される前記情報は、
前記コントロールプレーン装置によって、前記ネットワークのトポロジ情報を取得するステップと、
前記ネットワークの前記トポロジ情報に基づいて、パケット転送経路の計算のために使用される前記情報を、前記コントロールプレーン装置によって生成するステップと
において取得される、ステップ
を有する、請求項１に記載の方法。
【請求項３】
パケット転送経路の計算のために使用される前記情報は、ルートブリッジの識別子を有する、請求項２に記載の方法。
【請求項４】
前記コントロールプレーン装置によって送信されるパケット転送経路の計算のために使用される前記情報を、前記フォワーディングプレーン装置によって受信する前記ステップは、
パケット転送経路の計算のために使用される前記情報を、前記フォワーディングプレーン装置によって受信するステップであって、パケット転送経路の計算のために使用される前記情報は、
前記コントロールプレーン装置によって前記ネットワークのトポロジ情報を取得するステップであって、前記ネットワークの前記トポロジ情報は、パケット転送経路の計算のために使用される前記情報である、ステップ
において取得される、ステップ
を有する請求項１に記載の方法。
【請求項５】
パケット転送経路の計算のために使用される前記情報は、リンク状態データベースを有する、請求項４に記載に方法。
【請求項６】
情報を送信するための方法であって、
コントロールプレーン装置が、フォワーディングプレーン装置を管理することができるとき、パケット転送経路の計算のために使用される情報を、前記コントロールプレーン装置によって前記フォワーディングプレーン装置に送信するステップであって、前記フォワーディングプレーン装置及び前記コントロールプレーン装置は、フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャを持つネットワーク内に配置される、ステップ
を有し、
前記コントロールプレーン装置が前記フォワーディングプレーン装置を管理することができないとき、パケット転送経路の計算のために使用される前記情報は、パケット転送経路を計算するために、前記フォワーディングプレーン装置によって使用される方法。
【請求項７】
前記コントロールプレーン装置が、パケット転送経路の計算のために使用される前記情報を前記フォワーディングプレーン装置に送信する前に、前記方法は、
前記コントロールプレーン装置によって、前記ネットワークのトポロジ情報を取得するステップと、
前記ネットワークの前記トポロジ情報に基づいて、パケット転送経路の計算のために使用される前記情報を、前記コントロールプレーン装置によって生成するステップと、
を有する、請求項６に記載の方法。
【請求項８】
パケット転送経路の計算のために使用される前記情報は、ルートブリッジの識別子を有する、請求項７に記載の方法。
【請求項９】
前記コントロールプレーン装置が、パケット転送経路の計算のために使用される前記情報を前記フォワーディングプレーン装置に送信する前に、前記方法は、
前記コントロールプレーン装置によって、前記ネットワークのトポロジ情報を取得するステップであって、ネットワークトポロジ情報は、パケット転送経路の計算のために使用される前記情報である、ステップ
を有する、請求項６に記載の方法。
【請求項１０】
パケット転送経路の計算のために使用される前記情報は、リンク状態データベースを有する、請求項９に記載に方法。
【請求項１１】
トリガ部と受信部とを有する、情報を受信するための装置であって、
コントロールプレーン装置が、フォワーディングプレーン装置を管理することができるとき、前記トリガ部は前記受信部をトリガして、前記コントロールプレーン装置によって送信されるパケット転送経路の計算のために使用される情報を受信するように構成されるとともに、前記コントロールプレーン装置が前記フォワーディングプレーン装置を管理することができないとき、パケット転送経路の計算のために使用される前記情報は、パケット転送経路を計算するために、前記フォワーディングプレーン装置によって使用され、
前記受信部は、パケット転送経路の計算のために使用される前記情報を受信するように構成され、前記フォワーディングプレーン装置及び前記コントロールプレーン装置は、フォワーディング及びコントロール要素の分離を特徴とするネットワーク内に配置される、装置。
【請求項１２】
トリガ部と送信部とを有する、情報を送信するための装置であって、
コントロールプレーン装置が、フォワーディングプレーン装置を管理することができるとき、前記トリガ部は前記送信部をトリガして、パケット転送経路の計算のために使用される情報を前記フォワーディングプレーン装置に送信するように構成されるとともに、前記コントロールプレーン装置が前記フォワーディングプレーン装置を管理することができないとき、パケット転送経路の計算のために使用される前記情報は、パケット転送経路を計算するために、前記フォワーディングプレーン装置によって使用され、
前記送信部は、パケット転送経路の計算のために使用される前記情報を送信するように構成され、前記フォワーディングプレーン装置及び前記コントロールプレーン装置は、フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャを持つネットワーク内に配置される、装置。
【請求項１３】
前記送信部が、パケット転送経路の計算のために使用される前記情報を送信する前に、前記ネットワークのトポロジ情報を取得するとともに、前記ネットワークの前記トポロジ情報に基づいて、パケット転送経路の計算のために使用される前記情報を生成するように構成される、第１生成部を有する、請求項１２に記載の装置。
【請求項１４】
前記送信部が、パケット転送経路の計算のために使用される前記情報を送信する前に、前記ネットワークのトポロジ情報を取得するように構成され、前記ネットワークの前記トポロジ情報は、パケット転送経路の計算のために使用される前記情報である、第２生成部を有する、請求項１２に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク技術の分野に関するとともに、特に、情報を受信するための方法、情報を送信するための方法及びそれらの装置に関する。
【背景技術】
【０００２】
ネットワーク技術の発展に伴い、フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャ、例えば、ＯｐｅｎＦｌｏｗ（オープンフロー）が出現する。
【０００３】
フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャを持つネットワークは、フォワーディングプレーン装置と、コントロールプレーン装置との、２種類のネットワークデバイスを有する。フォワーディングプレーン装置は、フローテーブルに基づいて、受信されたパケットを処理する。コントロールプレーン装置は、制御チャネルを使用することによって、フォワーディングプレーン装置を管理する。
【０００４】
「フォワーディング及びコントロール要素の分離（Ｆｏｒｗａｒｄｉｎｇ  ａｎｄ  ｃｏｎｔｒｏｌ  ｅｌｅｍｅｎｔ  ｓｅｐａｒａｔｉｏｎ）」は、フォワーディングプレーン装置がコントロールプレーン装置から分離されることを意味する。フォワーディングプレーン装置は、コントロールプレーン機能の一部又は全てを、コントロールプレーン装置に転送する。フォワーディングプレーン装置は、コントロールプレーン装置と通信を行うことができる。フォワーディングプレーン装置は、制御チャネルを使用することによって、コントロールプレーン装置と通信を行うことができる。
【０００５】
前記コントロールプレーン装置に欠陥がある場合、又はコントロールプレーン装置及びフォワーディングプレーン装置間のリンクに障害が発生するとき、コントロールプレーン装置は、フォワーディングプレーン装置を管理することができない。コントロールプレーン装置が、フォワーディングプレーン装置を管理することができないとき、フォワーディングプレーン装置は、パケット転送経路の計算のために使用される情報を能動的に取得する必要がある。結果として、フォワーディングプレーン装置は、パケット転送経路の計算のために使用される情報に基づいてパケット転送経路を計算する前に、パケット転送経路の計算のために使用される情報を能動的に取得する必要がある。
【発明の概要】
【課題を解決するための手段】
【０００６】
本発明の態様は、情報を受信するための方法と、情報を送信するための方法と、それらの装置とを提供し、コントロールプレーン装置がフォワーディングプレーン装置を管理することができないとき、フォワーディングプレーン装置が、パケット転送経路の計算のために使用される情報を能動的に取得する必要があるという技術的な問題を解決する。
【０００７】
１つの構成では、本発明の態様は、情報を受信するための方法を提供し、前記方法は、
コントロールプレーン装置がフォワーディングプレーン装置を管理することができるとき、コントロールプレーン装置によって送信されるパケット転送経路の計算のために使用される情報を、フォワーディングプレーン装置によって受信するステップであって、フォワーディングプレーン装置及びコントロールプレーン装置は、フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャを持つネットワーク内に配置される、ステップを有する。
【０００８】
他の構成では、本発明の態様は、情報を送信するための方法を提供し、前記方法は、
コントロールプレーン装置が、フォワーディングプレーン装置を管理することができるとき、パケット転送経路の計算のために使用される情報を、コントロールプレーン装置によってフォワーディングプレーン装置に送信するステップであって、フォワーディングプレーン装置及びコントロールプレーン装置は、フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャを持つネットワーク内に配置される、ステップを有する。
【０００９】
さらに他の構成では、本発明の態様は、トリガ部と受信部とを有する、情報を受信するための装置を提供する。
【００１０】
前記コントロールプレーン装置が、フォワーディングプレーン装置を管理することができるとき、トリガ部は受信部をトリガして、コントロールプレーン装置によって送信される、パケット転送経路の計算のために使用される情報を受信するように構成される。
【００１１】
前記受信部は、パケット転送経路の計算のために使用される情報を受信するように構成され、フォワーディングプレーン装置及びコントロールプレーン装置は、フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャを持つ、ネットワーク内に配置される。
【００１２】
さらに他の構成では、本発明の態様は、トリガ部と送信部とを有する、情報を送信するための装置を提供する。
【００１３】
前記コントロールプレーン装置が、フォワーディングプレーン装置を管理することができるとき、トリガ部は送信部をトリガして、パケット転送経路の計算のために使用される情報を、フォワーディングプレーン装置に送信するように構成される。
【００１４】
前記送信部は、パケット転送経路の計算のために使用される情報を送信するように構成され、フォワーディングプレーン装置及びコントロールプレーン装置は、フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャを持つネットワーク内に配置される。
【００１５】
上述の技術的解決手段に基づくと、コントロールプレーン装置がフォワーディングプレーン装置を管理することができるとき、コントロールプレーン装置は、パケット転送経路の計算のために使用される情報をフォワーディングプレーン装置に送信する。従って、本発明の態様において提供される技術的解決手段に基づくと、フォワーディングプレーン装置は、パケット転送経路の計算のために使用される情報に基づいてパケット転送経路を計算する前に、パケット転送経路の計算のために使用される情報を能動的に取得する必要はない。
【図面の簡単な説明】
【００１６】
本発明の実施形態の技術的解決手段又は従来技術をより明確にするために、実施形態又は従来技術の説明において使用される添付図面は、以下で簡潔に説明される。明らかに、添付図面は、本発明のいくつかの例示的な実施形態を示すものであるとともに、当業者は、創造的努力なしに、これらの図面に基づいて他の図面を導き出すことができる。
【００１７】
【図１】図１は、本発明の実施形態に係る、情報を受信するための方法のフローチャートである。
【図２】図２は、本発明の実施形態に係る、情報を送信するための方法のフローチャートである。
【図３】図３は、本発明の実施形態に係る、情報を受信するための装置の概略構成図である。
【図４】図４は、本発明の実施形態に係る、情報を送信するための装置の概略構成図である。
【発明を実施するための形態】
【００１８】
本発明の技術的解決手段は、添付図面を参照して、以下に詳述される。明らかに、以下で説明される実施形態は、例示的な目的のみのためであり、本発明の全ての実施形態を網羅するわけではない。創造的努力なしに、本発明の実施形態から当業者によって導き出されることができる、全ての他の実施形態は、本発明の保護範囲内に含まれるものとする。
【００１９】
本発明の実施形態は、フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャに関する。「フォワーディング及びコントロール要素の分離」は、フォワーディングプレーン装置がコントロールプレーン装置から分離されることを意味する。フォワーディングプレーン装置は、コントロールプレーン機能の一部又は全てを、コントロールプレーン装置に転送する。フォワーディングプレーン装置は、コントロールプレーン装置と通信を行うことができる。フォワーディングプレーン装置は、制御チャネルを使用することによって、コントロールプレーン装置と通信を行うことができる。
【００２０】
本発明に係るコントロールプレーン装置は、フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャに準拠した装置である。本発明に係るフォワーディングプレーン装置は、フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャに準拠した装置である。フォワーディングプレーン装置は、フローテーブルに基づいて、受信されたパケットを処理する。コントロールプレーン装置は、制御チャネルを使用することによって、フォワーディングプレーン装置を制御する。
【００２１】
例えば、パケット転送の間、フォワーディングプレーン装置は、レイヤ２パケット又はレイヤ３パケットを転送してもよい。レイヤ２及びレイヤ３のために、開放型システム間相互接続モデル（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ  ｍｏｄｅｌ：ＯＳＩ  ｍｏｄｅｌ）が参照されてもよい。
【００２２】
具体的な実施では、フォワーディングプレーン装置は、スイッチ又はルータであってもよい。
【００２３】
前記フォワーディングプレーン装置がスイッチであるというシナリオでは、フォワーディングプレーン装置は、具体的には、ＯｐｅｎＦｌｏｗスイッチ（オープンフロースイッチ）であってもよい。ＯｐｅｎＦｌｏｗスイッチのために、標準策定機関（Ｓｔａｎｄａｒｄ  Ｓｅｔｔｉｎｇ  Ｏｒｇａｎｉｚａｔｉｏｎ：ＳＳＯ）オープンネットワーク財団（Ｏｐｅｎ  Ｎｅｔｗｏｒｋｉｎｇ  Ｆｏｕｎｄａｔｉｏｎ：ＯＮＦ）によって発表されたＯｐｅｎＦｌｏｗスイッチ仕様１．０（オープンフロースイッチ仕様１．０）が参照されてもよい。
【００２４】
具体的な実施では、コントロールプレーン装置は、ＯｐｅｎＦｌｏｗコントローラ（オープンフローコントローラ）であってもよい。ＯｐｅｎＦｌｏｗコントローラのために、ＯｐｅｎＦｌｏｗスイッチ仕様１．０が参照されてもよい。
【００２５】
具体的な実施では、制御チャネルは、ＯｐｅｎＦｌｏｗスイッチ及びＯｐｅｎＦｌｏｗコントローラ間の対話のために使用されるセキュアチャネル（Ｓｅｃｕｒｅ  Ｃｈａｎｎｅｌ）であってもよい。セキュアチャネルのために、ＯＮＦによって発表されたＯｐｅｎＦｌｏｗスイッチ仕様１．０が参照されてもよい。
【００２６】
前記フォワーディングプレーン装置は、２つの転送モードをサポートすることができる。フロー転送モード及びパケット転送モードである。
【００２７】
フロー転送は、フォワーディングプレーン装置が、フローテーブルに基づいてパケットを転送することを意味する。パケットがフローエントリに一致するかどうかを判定するためのフローエントリ内のフィールドの数は、２か３以上である。例えば、パケットがフローエントリに一致するかどうかを判定するためのフローエントリ内のフィールドの数は、５であってもよい。５つのフィールドはそれぞれ、送信元インターネットプロトコル（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ：ＩＰ）アドレス、宛先ＩＰアドレス、送信元ポート（Ｐｏｒｔ）、宛先ポート及びプロトコル（Ｐｒｏｔｏｃｏｌ）であってもよい。例えば、パケットがフローエントリに一致するかどうかを判定するために使用されるフィールドは、ＯＳＩモデルのデータリンク（Ｄａｔａ  Ｌｉｎｋ）レイヤ又はＩＰレイヤでのフィールドであってもよい。
【００２８】
パケット転送は、フォワーディングプレーン装置が、パケット転送テーブルに基づいてパケットを転送することを意味する。パケットがパケット転送エントリに一致するかどうかを判定するためのパケット転送エントリ内のフィールドの数は、１である。例えば、パケットがフローエントリに一致するかどうかを判定するために使用されるフィールドは、宛先ＩＰアドレス又は宛先メディアアクセス制御（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ：ＭＡＣ）プロトコルアドレスであってもよい。当業者は、パケット転送テーブルがＭＡＣテーブル又はルーティングテーブルであってもよいことを理解することができる。
【００２９】
当業者は、ＯｐｅｎＦｌｏｗスイッチは、受信されたパケットにおける送信元ＭＡＣアドレス及びパケットを受信するために使用されるインタフェースに基づいて、ＭＡＣテーブルを生成してもよいことを理解することができる。ＭＡＣテーブルが生成された後、ＯｐｅｎＦｌｏｗスイッチは、ＭＡＣテーブルに基づいてパケットを転送してもよい。
【００３０】
図１は、本発明の実施形態に係る、情報を受信するための方法のフローチャートである。図１において示されるように、前記方法は、以下のステップを有する。
１０１：コントロールプレーン装置が、フォワーディングプレーン装置を管理することができるとき、コントロールプレーン装置によって送信されるパケット転送経路の計算のために使用される情報を、フォワーディングプレーン装置が受信し、フォワーディングプレーン装置及びコントロールプレーン装置は、フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャを持つネットワーク内に配置される。
【００３１】
前記コントロールプレーン装置が、フォワーディングプレーン装置を管理することができるという事実は、コントロールプレーン装置が、制御チャネルを使用することによってフォワーディングプレーン装置と通信することができるということを意味する。
【００３２】
上述の技術的解決手段に基づいて、コントロールプレーン装置がフォワーディングプレーン装置を管理することができるとき、コントロールプレーン装置は、パケット転送経路の計算のために使用される情報を、フォワーディングプレーン装置に送信する。従って、本発明の実施形態において提供される技術的解決手段に基づくと、フォワーディングプレーン装置は、パケット転送経路の計算のために使用される情報に基づいてパケット転送経路を計算する前に、パケット転送経路の計算のために使用される情報を能動的に取得する必要はない。
【００３３】
任意で、
フォワーディングプレーン装置は、パケット転送経路の計算のために使用される情報を受信した後、パケット転送経路の計算のために使用される情報に基づいてパケット転送経路を計算してもよい。
【００３４】
例えば、フォワーディングプレーン装置は、スパニングツリープロトコル（Ｓｐａｎｎｉｎｇ  Ｔｒｅｅ  Ｐｒｏｔｏｃｏｌ：ＳＴＰ）に基づいてパケット転送経路を計算してもよい。フォワーディングプレーン装置はまた、中間システム間（Ｉｎｔｅｒｍｅｄｉａｔｅ  Ｓｙｓｔｅｍ  ｔｏ  Ｉｎｔｅｒｍｅｄｉａｔｅ  Ｓｙｓｔｅｍ：ＩＳ−ＩＳ）プロトコルに基づいてパケット転送経路を計算してもよい。
【００３５】
例えば、ＯｐｅｎＦｌｏｗスイッチが、ＳＴＰに基づいて転送経路を計算するとき、使用されるアルゴリズムは、ベルマン・フォード（Ｂｅｌｌｍａｎ−Ｆｏｒｄ）アルゴリズム、ダイクストラ（Ｄｉｊｋｓｔｒａ）アルゴリズム、フロイド・ワーシャル（Ｆｌｏｙｄ−Ｗａｒｓｈａｌｌ）アルゴリズム、又はジョンソン（Ｊｏｈｎｓｏｎ）アルゴリズムであってもよい。フォワーディングプレーン装置が、ＳＴＰに基づいてパケット転送経路を計算するとき、パケット転送経路は、次の情報：ルートブリッジ識別子、ルートインタフェース識別子及び指定インタフェース識別子によって示されてもよい。
【００３６】
例えば、ＯｐｅｎＦｌｏｗスイッチが、ＩＳ−ＩＳプロトコルに基づいて転送経路を計算するとき、使用されるアルゴリズムは、最短経路第一（Ｓｈｏｒｔｅｓｔ  Ｐａｔｈ  Ｆｉｒｓｔ：ＳＰＦ）アルゴリズムであってもよい。
【００３７】
任意で、
コントロールプレーン装置によって送信されるパケット転送経路の計算のために使用される情報を、フォワーディングプレーン装置によって受信するステップは、
パケット転送経路の計算のために使用される情報を、フォワーディングプレーン装置によって受信するステップであって、パケット転送経路の計算のために使用される情報は、
コントロールプレーン装置によって、ネットワークトポロジ情報を取得するステップと、
ネットワークトポロジ情報に基づいて、パケット転送経路の計算のために使用される情報を、コントロールプレーン装置によって生成するステップと
において取得される、ステップを有する。
【００３８】
前記ネットワークトポロジ情報は、それらの任意の２つのうち１つを使用することによって、直接接続されたネットワーク要素が、他のネットワーク要素に接続される、ローカルインタフェース及びリモートインタフェースを有する。例えば、コントロールプレーン装置は、拡張リンクレイヤ検出プロトコル（Ｌｉｎｋ  Ｌａｙｅｒ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ：ＬＬＤＰ）を実行することによって、ネットワークトポロジ情報を取得する。
【００３９】
例えば、ＯｐｅｎＦｌｏｗコントローラ及び管理されるＯｐｅｎＦｌｏｗスイッチ間の転送制御プロトコル（Ｔｒａｎｓｆｅｒ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ：ＴＣＰ）接続が確立された後、ＯｐｅｎＦｌｏｗコントローラは、管理されるＯｐｅｎＦｌｏｗスイッチ上のインタフェースを知ることができる。ＯｐｅｎＦｌｏｗコントローラは、拡張ＬＬＤＰメッセージを、管理されるＯｐｅｎＦｌｏｗスイッチに送信する。拡張ＬＬＤＰメッセージは、管理されるＯｐｅｎＦｌｏｗスイッチの識別子及びインタフェース識別子を運ぶ。
【００４０】
前記管理されるＯｐｅｎＦｌｏｗスイッチが、複数のインタフェースを持つ場合、ＯｐｅｎＦｌｏｗコントローラは、管理されるＯｐｅｎＦｌｏｗスイッチに、複数の拡張ＬＬＤＰメッセージを送信する。複数の拡張ＬＬＤＰメッセージは、複数のインタフェースに、一対一で対応する。複数の拡張ＬＬＤＰメッセージの各々は、対応するインタフェースのインタフェース識別子を運ぶ。拡張ＬＬＤＰメッセージを受信した後、管理されるＯｐｅｎＦｌｏｗスイッチは、管理されるＯｐｅｎＦｌｏｗスイッチのインタフェースを使用することによって、隣接ＯｐｅｎＦｌｏｗスイッチへのインタフェースに対応する拡張ＬＬＤＰメッセージを転送する。拡張ＬＬＤＰメッセージを受信した後、隣接ＯｐｅｎＦｌｏｗスイッチは、自身の識別子を拡張ＬＬＤＰメッセージに追加して、新たな拡張ＬＬＤＰメッセージを生成する。隣接ＯｐｅｎＦｌｏｗスイッチは、制御チャネルを使用することによって、ＯｐｅｎＦｌｏｗコントローラに新たな拡張ＬＬＤＰメッセージを送信する。
【００４１】
上述のメカニズムに基づいて、ＯｐｅｎＦｌｏｗコントローラは、新たな拡張ＬＬＤＰメッセージから、ＯｐｅｎＦｌｏｗスイッチによって隣接ＯｐｅｎＦｌｏｗスイッチに接続するために使用されるインタフェースを知ることができる。
【００４２】
同様のメカニズムに基づいて、ＯｐｅｎＦｌｏｗコントローラはさらに、隣接ＯｐｅｎＦｌｏｗスイッチによって、さらにその隣接ＯｐｅｎＦｌｏｗスイッチに接続するために使用されるインタフェースを知ることができる。
【００４３】
上述の処理を繰り返すことによって、ＯｐｅｎＦｌｏｗコントローラは、管理されるネットワークのトポロジ情報を取得することができる。
【００４４】
任意で、
パケット転送経路の計算のために使用される情報は、ルートブリッジの識別子を有する。
【００４５】
例えば、管理されるネットワークのトポロジ情報を取得した後、ＯｐｅｎＦｌｏｗコントローラは、ＳＴＰを実行することによって、ルートブリッジの識別子を取得してもよい。当業者は、ＯｐｅｎＦｌｏｗスイッチが同じ優先度である場合には、ルートブリッジのＭＡＣプロトコルアドレスの値は、同一のＯｐｅｎＦｌｏｗコントローラによって管理される他のＯｐｅｎＦｌｏｗスイッチのＭＡＣプロトコルアドレスの値よりも小さいということを理解することができる。
【００４６】
例えば、管理されるネットワークのトポロジ情報を取得した後、ＯｐｅｎＦｌｏｗコントローラは、ＳＴＰを実行することによって、ルートブリッジの識別子を取得してもよい。ＯｐｅｎＦｌｏｗコントローラによって送信されるルートブリッジ識別子を受信した後、ＯｐｅｎＦｌｏｗスイッチは、ＳＴＰを実行することによって、リンクコスト（Ｃｏｓｔ）を取得してもよい。ＯｐｅｎＦｌｏｗスイッチは、ＳＴＰを実行することによって、ルートブリッジ識別子及びリンクコストに基づいて、ルートインタフェースと、非ルート且つ指定外インタフェースと、指定インタフェースとの識別子を取得してもよい。
【００４７】
任意で、
パケット転送経路の計算のために使用される情報は、さらに、ルートパスコスト（Ｒｏｏｔ  Ｐａｔｈ  Ｃｏｓｔ）を有してもよい。
【００４８】
例えば、
ＯｐｅｎＦｌｏｗスイッチ及びＯｐｅｎＦｌｏｗコントローラ間のＴＣＰ接続が確立された後、ＯｐｅｎＦｌｏｗスイッチは、ＯｐｅｎＦｌｏｗスイッチの各インタフェースの帯域幅をＯｐｅｎＦｌｏｗコントローラに送信するために、ＯｐｅｎＦｌｏｗプロトコルを使用する。ＯｐｅｎＦｌｏｗプロトコルのために、ＯＮＦによって発表されたＯｐｅｎＦｌｏｗスイッチ仕様１．０が参照されてもよい。ＯｐｅｎＦｌｏｗコントローラは、インタフェース帯域幅に基づいて、インタフェースコストを取得することができる。ＯｐｅｎＦｌｏｗスイッチは、第１インタフェースを使用することによって、隣接ＯｐｅｎＦｌｏｗスイッチに直接接続される。第１インタフェースの帯域幅は、ＯｐｅｎＦｌｏｗスイッチから隣接ＯｐｅｎＦｌｏｗスイッチへの直接リンクのコストに等しい。
【００４９】
前記ＯｐｅｎＦｌｏｗスイッチがルートブリッジに直接接続されないとともに、ＯｐｅｎＦｌｏｗスイッチとルートブリッジとの間に複数のリンクが存在する場合、ＯｐｅｎＦｌｏｗコントローラは、複数のルートパスコストを取得するために、複数のリンクのコストをそれぞれ計算してもよい。ＯｐｅｎＦｌｏｗスイッチからルートブリッジへのリンクのコストは、ルートパスコストである。
【００５０】
例えば、管理されるネットワークのトポロジ情報を取得した後、ＯｐｅｎＦｌｏｗコントローラは、ＳＴＰを実行することによってルートブリッジの識別子を取得してもよい。ＯｐｅｎＦｌｏｗコントローラによって送信されるルートブリッジ識別子及びルートパスコストを受信した後、ＯｐｅｎＦｌｏｗスイッチは、ＳＴＰを実行することによって、ルートインタフェースと、指定インタフェースと、非ルート且つ指定外インタフェースとの識別子を取得してもよい。
【００５１】
当業者は、ＯｐｅｎＦｌｏｗネットワーク上でＳＴＰが実行された後、複数のインタフェースを持つＯｐｅｎＦｌｏｗスイッチの、どの１つ又は複数のインタフェースがループを有するかということを、ルートブリッジ及びネットワークトポロジ情報に基づいて判定されてもよいということを理解することができる。ループが存在する場合、ＯｐｅｎＦｌｏｗネットワークは、ルートブリッジからＯｐｅｎＦｌｏｗスイッチへのリンクのコストに基づいて、どの１つ又は複数のインタフェースがルートインタフェース又は非ルート且つ指定外インタフェースであるかを判定することができる。
【００５２】
当業者は、ＯｐｅｎＦｌｏｗスイッチのインタフェースがルートインタフェースか、指定インタフェースか、又は非ルート且つ指定外インタフェースであるかどうかの判定を行うプロセスは、パケット転送経路の計算のプロセスに属するということを理解することができる。
【００５３】
任意で、
コントロールプレーン装置によって送信されるパケット転送経路の計算のために使用される情報を、フォワーディングプレーン装置によって受信するステップは、
パケット転送経路の計算のために使用される情報を、フォワーディングプレーン装置によって受信するステップであって、パケット転送経路の計算のために使用される情報は、
コントロールプレーン装置によってネットワークトポロジ情報を取得するステップであって、ネットワークトポロジ情報は、パケット転送経路の計算のために使用される情報である、ステップ
において取得される、ステップを有する。
【００５４】
例えば、コントロールプレーン装置は、拡張ＬＬＤＰに基づいてネットワークトポロジ情報を取得してもよい。
【００５５】
任意で、
パケット転送経路の計算のために使用される情報は、リンク状態データベース（Ｌｉｎｋ  Ｓｔａｔｅ  Ｄａｔａｂａｓｅ：ＬＳＤＢ）を有する。
【００５６】
任意で、
転送経路の計算のために使用される情報は、フォワーディングプレーン装置内に格納されてもよい。
【００５７】
任意で、
コントロールプレーン装置が、フォワーディングプレーン装置を管理することができないとき、フォワーディングプレーン装置は、転送経路の計算のために使用される情報に基づいて転送経路を計算する。
【００５８】
例えば、コントロールプレーン装置上の欠陥又はコントロールプレーン装置及びフォワーディングプレーン装置間のリンクの障害が原因で、コントロールプレーン装置は、フォワーディングプレーン装置を管理することができない。
【００５９】
図２は、本発明の実施形態に係る、情報を送信するための方法のフローチャートである。図２において示されるように、前記方法は、以下のステップを有する。
２０１：コントロールプレーン装置が、フォワーディングプレーン装置を管理することができるとき、パケット転送経路の計算のために使用される情報を、コントロールプレーン装置がフォワーディングプレーン装置に送信し、フォワーディングプレーン装置及びコントロールプレーン装置は、フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャを持つネットワーク内に配置される。
【００６０】
前記コントロールプレーン装置が、フォワーディングプレーン装置を管理することができるという事実は、コントロールプレーン装置が、制御チャネルを使用することによってフォワーディングプレーン装置と通信することができるということを意味する。
【００６１】
上述の技術的解決手段に基づくと、コントロールプレーン装置がフォワーディングプレーン装置を管理することができるとき、コントロールプレーン装置は、パケット転送経路の計算のために使用される情報をフォワーディングプレーン装置に送信する。従って、本発明の実施形態において提供される技術的解決手段に基づくと、フォワーディングプレーン装置は、パケット転送経路の計算のために使用される情報に基づいてパケット転送経路を計算する前に、パケット転送経路の計算のために使用される情報を能動的に取得する必要はない。
【００６２】
任意で、
フォワーディングプレーン装置は、パケット転送経路の計算のために使用される情報を受信した後、パケット転送経路の計算のために使用される情報に基づいてパケット転送経路を計算してもよい。
【００６３】
例えば、フォワーディングプレーン装置は、ＳＴＰに基づいてパケット転送経路を計算してもよい。フォワーディングプレーン装置はまた、ＩＳ−ＩＳプロトコルに基づいてパケット転送経路を計算してもよい。
【００６４】
例えば、ＯｐｅｎＦｌｏｗスイッチが、ＳＴＰに基づいて転送経路を計算するとき、使用されるアルゴリズムは、ベルマン・フォードアルゴリズム、ダイクストラアルゴリズム、フロイド・ワーシャルアルゴリズム、又はジョンソンアルゴリズムであってもよい。フォワーディングプレーン装置が、ＳＴＰに基づいてパケット転送経路を計算するとき、パケット転送経路は、次の情報：ルートブリッジ識別子、ルートインタフェース識別子及び指定インタフェース識別子によって示されてもよい。
【００６５】
例えば、ＯｐｅｎＦｌｏｗスイッチが、ＩＳ−ＩＳプロトコルに基づいて転送経路を計算するとき、使用されるアルゴリズムは、ＳＰＦアルゴリズムであってもよい。
【００６６】
任意で、
コントロールプレーン装置が、パケット転送経路の計算のために使用される情報をフォワーディングプレーン装置に送信する前に、前記方法は、
コントロールプレーン装置によって、ネットワークトポロジ情報を取得するステップと、
ネットワークトポロジ情報に基づいて、パケット転送経路の計算のために使用される情報を、コントロールプレーン装置によって生成するステップと、を有する。
【００６７】
前記ネットワークトポロジ情報は、それらの任意の２つのうち１つを使用することによって、直接接続されたネットワーク要素が、他のネットワーク要素に接続される、ローカルインタフェース及びリモートインタフェースを有する。例えば、コントロールプレーン装置は、拡張ＬＬＤＰを実行することによって、ネットワークトポロジ情報を取得する。
【００６８】
例えば、ＯｐｅｎＦｌｏｗコントローラ及び管理されるＯｐｅｎＦｌｏｗスイッチ間のＴＣＰ接続が確立された後、ＯｐｅｎＦｌｏｗコントローラは、管理されるＯｐｅｎＦｌｏｗスイッチ上のインタフェースを知ることができる。ＯｐｅｎＦｌｏｗコントローラは、拡張ＬＬＤＰメッセージを、管理されるＯｐｅｎＦｌｏｗスイッチに送信する。拡張ＬＬＤＰメッセージは、管理されるＯｐｅｎＦｌｏｗスイッチの識別子及びインタフェース識別子を運ぶ。
【００６９】
前記管理されるＯｐｅｎＦｌｏｗスイッチが、複数のインタフェースを持つ場合、ＯｐｅｎＦｌｏｗコントローラは、管理されるＯｐｅｎＦｌｏｗスイッチに、複数の拡張ＬＬＤＰメッセージを送信する。複数の拡張ＬＬＤＰメッセージは、複数のインタフェースに、一対一で対応する。複数の拡張ＬＬＤＰメッセージの各々は、対応するインタフェースのインタフェース識別子を運ぶ。拡張ＬＬＤＰメッセージを受信した後、管理されるＯｐｅｎＦｌｏｗスイッチは、管理されるＯｐｅｎＦｌｏｗスイッチのインタフェースを使用することによって、隣接ＯｐｅｎＦｌｏｗスイッチへのインタフェースに対応する拡張ＬＬＤＰメッセージを転送する。拡張ＬＬＤＰメッセージを受信した後、隣接ＯｐｅｎＦｌｏｗスイッチは、自身の識別子を拡張ＬＬＤＰメッセージに追加して、新たな拡張ＬＬＤＰメッセージを生成する。隣接ＯｐｅｎＦｌｏｗスイッチは、制御チャネルを使用することによって、ＯｐｅｎＦｌｏｗコントローラに新たな拡張ＬＬＤＰメッセージを送信する。
【００７０】
上述のメカニズムに基づいて、ＯｐｅｎＦｌｏｗコントローラは、新たな拡張ＬＬＤＰメッセージから、ＯｐｅｎＦｌｏｗスイッチによって隣接ＯｐｅｎＦｌｏｗスイッチに接続するために使用されるインタフェースを知ることができる。
【００７１】
同様のメカニズムに基づいて、ＯｐｅｎＦｌｏｗコントローラはさらに、隣接ＯｐｅｎＦｌｏｗスイッチによって、さらにその隣接ＯｐｅｎＦｌｏｗスイッチに接続するために使用されるインタフェースを取得してもよい。
【００７２】
上述の処理を繰り返すことによって、ＯｐｅｎＦｌｏｗコントローラは、管理されるネットワークのトポロジ情報を取得することができる。
【００７３】
任意で、
パケット転送経路の計算のために使用される情報は、ルートブリッジの識別子を有する。
【００７４】
例えば、管理されるネットワークのトポロジ情報を取得した後、ＯｐｅｎＦｌｏｗコントローラは、ＳＴＰを実行することによって、ルートブリッジの識別子を取得してもよい。当業者は、ＯｐｅｎＦｌｏｗスイッチが同じ優先度である場合には、ルートブリッジのＭＡＣプロトコルアドレスの値は、同一のＯｐｅｎＦｌｏｗコントローラによって管理される他のＯｐｅｎＦｌｏｗスイッチのＭＡＣプロトコルアドレスの値よりも小さいということを理解することができる。
【００７５】
例えば、管理されるネットワークのトポロジ情報を取得した後、ＯｐｅｎＦｌｏｗコントローラは、ＳＴＰを実行することによって、ルートブリッジの識別子を取得してもよい。ＯｐｅｎＦｌｏｗコントローラによって送信されるルートブリッジ識別子を受信した後、ＯｐｅｎＦｌｏｗスイッチは、ＳＴＰを実行して、リンクコストを取得することができる。ＯｐｅｎＦｌｏｗスイッチは、ＳＴＰを実行することによって、ルートブリッジ識別子及びリンクコストに基づいて、ルートインタフェースと、非ルート且つ指定外インタフェースと、指定インタフェースとの識別子を取得してもよい。
【００７６】
任意で、
パケット転送経路の計算のために使用される情報は、さらに、ルートパスコストを有してもよい。
【００７７】
例えば、
ＯｐｅｎＦｌｏｗスイッチ及びＯｐｅｎＦｌｏｗコントローラ間のＴＣＰ接続が確立された後、ＯｐｅｎＦｌｏｗスイッチは、ＯｐｅｎＦｌｏｗスイッチの各インタフェースの帯域幅をＯｐｅｎＦｌｏｗコントローラに送信するために、ＯｐｅｎＦｌｏｗプロトコルを使用する。ＯｐｅｎＦｌｏｗプロトコルのために、ＯＮＦによって発表されたＯｐｅｎＦｌｏｗスイッチ仕様１．０が参照されてもよい。ＯｐｅｎＦｌｏｗコントローラは、インタフェース帯域幅に基づいて、インタフェースコストを取得することができる。ＯｐｅｎＦｌｏｗスイッチは、第１インタフェースを使用することによって、隣接ＯｐｅｎＦｌｏｗスイッチに直接接続される。第１インタフェースの帯域幅は、ＯｐｅｎＦｌｏｗスイッチから隣接ＯｐｅｎＦｌｏｗスイッチへの直接リンクのコストに等しい。
【００７８】
前記ＯｐｅｎＦｌｏｗスイッチがルートブリッジに直接接続されないとともに、ＯｐｅｎＦｌｏｗスイッチとルートブリッジとの間に複数のリンクが存在する場合、ＯｐｅｎＦｌｏｗコントローラは、複数のルートパスコストを取得するために、複数のリンクのコストをそれぞれ計算してもよい。ＯｐｅｎＦｌｏｗスイッチからルートブリッジへのリンクのコストは、ルートパスコストである。
【００７９】
例えば、管理されるネットワークのトポロジ情報を取得した後、ＯｐｅｎＦｌｏｗコントローラは、ＳＴＰを実行することによってルートブリッジの識別子を取得してもよい。ＯｐｅｎＦｌｏｗコントローラによって送信されるルートブリッジ識別子及びルートパスコストを受信した後、ＯｐｅｎＦｌｏｗスイッチは、ＳＴＰを実行することによって、ルートインタフェースと、指定インタフェースと、非ルート且つ指定外インタフェースとの識別子を取得してもよい。
【００８０】
当業者は、ＯｐｅｎＦｌｏｗネットワーク上でＳＴＰが実行された後、複数のインタフェースを持つＯｐｅｎＦｌｏｗスイッチの、どの１つ又は複数のインタフェースがループを有するかということを、ルートブリッジ及びネットワークトポロジ情報に基づいて判定されてもよいということを理解することができる。ループが存在する場合、ＯｐｅｎＦｌｏｗネットワークは、ルートブリッジからＯｐｅｎＦｌｏｗスイッチへのリンクのコストに基づいて、どの１つ又は複数のインタフェースがルートインタフェース又は非ルート且つ指定外インタフェースであるかを判定することができる。
【００８１】
当業者は、ＯｐｅｎＦｌｏｗスイッチのインタフェースがルートインタフェースか、指定インタフェースか、又は非ルート且つ指定外インタフェースであるかどうかの判定を行うプロセスは、パケット転送経路の計算のプロセスに属するということを理解することができる。
【００８２】
任意で、
コントロールプレーン装置が、パケット転送経路の計算のために使用される情報をフォワーディングプレーン装置に送信する前に、前記方法は、
コントロールプレーン装置によって、ネットワークトポロジ情報を取得するステップであって、ネットワークトポロジ情報は、パケット転送経路の計算のために使用される情報である、ステップを有する。
【００８３】
例えば、コントロールプレーン装置は、拡張ＬＬＤＰに基づいてネットワークトポロジ情報を取得してもよい。
【００８４】
任意で、
パケット転送経路の計算のために使用される情報は、ＬＳＤＢを有する。
【００８５】
任意で、
コントロールプレーン装置が、フォワーディングプレーン装置を管理することができないとき、フォワーディングプレーン装置は、転送経路の計算のために使用される情報に基づいて転送経路を計算する。
【００８６】
例えば、コントロールプレーン装置上の欠陥又はコントロールプレーン装置及びフォワーディングプレーン装置間のリンクの障害が原因で、コントロールプレーン装置は、フォワーディングプレーン装置を管理することができない。
【００８７】
図３は、本発明の実施形態に係る、情報を受信するための装置の概略構成図である。図３において示される装置は、図１において示される方法を使用することによって実行されてもよい。前記装置は、フォワーディングプレーン装置である。図３において示されるように、前記装置は、トリガ部３０１と受信部３０２とを有する。
【００８８】
前記コントロールプレーン装置が、フォワーディングプレーン装置を管理することができるとき、トリガ部３０１は受信部３０２をトリガして、コントロールプレーン装置によって送信される、パケット転送経路の計算のために使用される情報を受信するように構成される。
【００８９】
前記受信部３０２は、パケット転送経路の計算のために使用される情報を受信するように構成され、フォワーディングプレーン装置及びコントロールプレーン装置は、フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャを持つネットワーク内に配置される。
【００９０】
前記コントロールプレーン装置が、フォワーディングプレーン装置を管理することができるという事実は、コントロールプレーン装置が、制御チャネルを使用することによってフォワーディングプレーン装置と通信することができるということを意味する。
【００９１】
上述の技術的解決手段に基づいて、コントロールプレーン装置がフォワーディングプレーン装置を管理することができるとき、コントロールプレーン装置は、パケット転送経路の計算のために使用される情報を、フォワーディングプレーン装置に送信する。従って、本発明の実施形態において提供される技術的解決手段に基づくと、フォワーディングプレーン装置は、パケット転送経路の計算のために使用される情報に基づいてパケット転送経路を計算する前に、パケット転送経路の計算のために使用される情報を能動的に取得する必要はない。
【００９２】
任意で、
前記装置はさらに、受信部３０２によって受信されたパケット転送経路の計算のために使用される情報に基づいてパケット転送経路を計算するように構成される、計算部を有する。
【００９３】
例えば、フォワーディングプレーン装置は、ＳＴＰに基づいてパケット転送経路を計算してもよい。フォワーディングプレーン装置はまた、ＩＳ−ＩＳプロトコルに基づいてパケット転送経路を計算してもよい。
【００９４】
例えば、ＯｐｅｎＦｌｏｗスイッチが、ＳＴＰに基づいて転送経路を計算するとき、使用されるアルゴリズムは、ベルマン・フォードアルゴリズム、ダイクストラアルゴリズム、フロイド・ワーシャルアルゴリズム、又はジョンソンアルゴリズムであってもよい。フォワーディングプレーン装置が、ＳＴＰに基づいてパケット転送経路を計算するとき、パケット転送経路は、次の情報：ルートブリッジ識別子、ルートインタフェース識別子及び指定インタフェース識別子によって示されてもよい。
【００９５】
例えば、ＯｐｅｎＦｌｏｗスイッチが、ＩＳ−ＩＳプロトコルに基づいて転送経路を計算するとき、使用されるアルゴリズムは、ＳＰＦアルゴリズムであってもよい。
【００９６】
任意で、
受信部３０２は、パケット転送経路の計算のために使用される情報を受信するように構成され、パケット転送経路の計算のために使用される情報は、
コントロールプレーン装置によって、ネットワークトポロジ情報を取得するステップと、
ネットワークトポロジ情報に基づいて、パケット転送経路の計算のために使用される情報を、コントロールプレーン装置によって生成するステップと
において取得されてもよい。
【００９７】
前記ネットワークトポロジ情報は、それらの任意の２つのうち１つを使用することによって、直接接続されたネットワーク要素が、他のネットワーク要素に接続される、ローカルインタフェース及びリモートインタフェースを有する。例えば、コントロールプレーン装置は、拡張ＬＬＤＰを実行することによって、ネットワークトポロジ情報を取得する。
【００９８】
例えば、ＯｐｅｎＦｌｏｗコントローラ及び管理されるＯｐｅｎＦｌｏｗスイッチ間のＴＣＰ接続が確立された後、ＯｐｅｎＦｌｏｗコントローラは、管理されるＯｐｅｎＦｌｏｗスイッチ上のインタフェースを知ることができる。ＯｐｅｎＦｌｏｗコントローラは、拡張ＬＬＤＰメッセージを、管理されるＯｐｅｎＦｌｏｗスイッチに送信する。拡張ＬＬＤＰメッセージは、管理されるＯｐｅｎＦｌｏｗスイッチの識別子及びインタフェース識別子を運ぶ。
【００９９】
前記管理されるＯｐｅｎＦｌｏｗスイッチが、複数のインタフェースを持つ場合、ＯｐｅｎＦｌｏｗコントローラは、管理されるＯｐｅｎＦｌｏｗスイッチに、複数の拡張ＬＬＤＰメッセージを送信する。複数の拡張ＬＬＤＰメッセージは、複数のインタフェースに、一対一で対応する。複数の拡張ＬＬＤＰメッセージの各々は、対応するインタフェースのインタフェース識別子を運ぶ。拡張ＬＬＤＰメッセージを受信した後、管理されるＯｐｅｎＦｌｏｗスイッチは、管理されるＯｐｅｎＦｌｏｗスイッチのインタフェースを使用することによって、隣接ＯｐｅｎＦｌｏｗスイッチへのインタフェースに対応する拡張ＬＬＤＰメッセージを転送する。拡張ＬＬＤＰメッセージを受信した後、隣接ＯｐｅｎＦｌｏｗスイッチは、自身の識別子を拡張ＬＬＤＰメッセージに追加して、新たな拡張ＬＬＤＰメッセージを生成する。隣接ＯｐｅｎＦｌｏｗスイッチは、制御チャネルを使用することによって、ＯｐｅｎＦｌｏｗコントローラに新たな拡張ＬＬＤＰメッセージを送信する。
【０１００】
上述のメカニズムに基づいて、ＯｐｅｎＦｌｏｗコントローラは、新たな拡張ＬＬＤＰメッセージから、ＯｐｅｎＦｌｏｗスイッチによって隣接ＯｐｅｎＦｌｏｗスイッチに接続するために使用されるインタフェースを知ることができる。
【０１０１】
同様のメカニズムに基づいて、ＯｐｅｎＦｌｏｗコントローラはさらに、隣接ＯｐｅｎＦｌｏｗスイッチによって、さらにその隣接ＯｐｅｎＦｌｏｗスイッチに接続するために使用されるインタフェースを取得してもよい。
【０１０２】
上述の処理を繰り返すことによって、ＯｐｅｎＦｌｏｗコントローラは、管理されるネットワークのトポロジ情報を取得することができる。
【０１０３】
任意で、
パケット転送経路の計算のために使用される情報は、ルートブリッジの識別子を有する。
【０１０４】
例えば、管理されるネットワークのトポロジ情報を取得した後、ＯｐｅｎＦｌｏｗコントローラは、ＳＴＰを実行することによって、ルートブリッジの識別子を取得してもよい。当業者は、ＯｐｅｎＦｌｏｗスイッチが同じ優先度である場合には、ルートブリッジのＭＡＣプロトコルアドレスの値は、同一のＯｐｅｎＦｌｏｗコントローラによって管理される他のＯｐｅｎＦｌｏｗスイッチのＭＡＣプロトコルアドレスの値よりも小さいということを理解することができる。
【０１０５】
例えば、管理されるネットワークのトポロジ情報を取得した後、ＯｐｅｎＦｌｏｗコントローラは、ＳＴＰを実行することによって、ルートブリッジの識別子を取得してもよい。ＯｐｅｎＦｌｏｗコントローラによって送信されるルートブリッジ識別子を受信した後、ＯｐｅｎＦｌｏｗスイッチは、ＳＴＰを実行して、リンクコストを取得することができる。ＯｐｅｎＦｌｏｗスイッチは、ＳＴＰを実行することによって、ルートブリッジ識別子及びリンクコストに基づいて、ルートインタフェースと、非ルート且つ指定外インタフェースと、指定インタフェースとの識別子を取得してもよい。
【０１０６】
任意で、
パケット転送経路の計算のために使用される情報は、さらに、ルートパスコストを有してもよい。
【０１０７】
例えば、
ＯｐｅｎＦｌｏｗスイッチ及びＯｐｅｎＦｌｏｗコントローラ間のＴＣＰ接続が確立された後、ＯｐｅｎＦｌｏｗスイッチは、ＯｐｅｎＦｌｏｗスイッチの各インタフェースの帯域幅をＯｐｅｎＦｌｏｗコントローラに送信するために、ＯｐｅｎＦｌｏｗプロトコルを使用する。ＯｐｅｎＦｌｏｗプロトコルのために、ＯＮＦによって発表されたＯｐｅｎＦｌｏｗスイッチ仕様１．０が参照されてもよい。ＯｐｅｎＦｌｏｗコントローラは、インタフェース帯域幅に基づいて、インタフェースコストを取得することができる。ＯｐｅｎＦｌｏｗスイッチは、第１インタフェースを使用することによって、隣接ＯｐｅｎＦｌｏｗスイッチに直接接続される。第１インタフェースの帯域幅は、ＯｐｅｎＦｌｏｗスイッチから隣接ＯｐｅｎＦｌｏｗスイッチへの直接リンクのコストに等しい。
【０１０８】
前記ＯｐｅｎＦｌｏｗスイッチがルートブリッジに直接接続されないとともに、ＯｐｅｎＦｌｏｗスイッチとルートブリッジとの間に複数のリンクが存在する場合、ＯｐｅｎＦｌｏｗコントローラは、複数のルートパスコストを取得するために、複数のリンクのコストをそれぞれ計算してもよい。ＯｐｅｎＦｌｏｗスイッチからルートブリッジへのリンクのコストは、ルートパスコストである。
【０１０９】
例えば、管理されるネットワークのトポロジ情報を取得した後、ＯｐｅｎＦｌｏｗコントローラは、ＳＴＰを実行することによってルートブリッジの識別子を取得してもよい。ＯｐｅｎＦｌｏｗコントローラによって送信されるルートブリッジ識別子及びルートパスコストを受信した後、ＯｐｅｎＦｌｏｗスイッチは、ＳＴＰを実行することによって、ルートインタフェースと、指定インタフェースと、非ルート且つ指定外インタフェースとの識別子を取得してもよい。
【０１１０】
当業者は、ＯｐｅｎＦｌｏｗネットワーク上でＳＴＰが実行された後、複数のインタフェースを持つＯｐｅｎＦｌｏｗスイッチの、どの１つ又は複数のインタフェースがループを有するかということを、ルートブリッジ及びネットワークトポロジ情報に基づいて判定されてもよいということを理解することができる。ループが存在する場合、ＯｐｅｎＦｌｏｗネットワークは、ルートブリッジからＯｐｅｎＦｌｏｗスイッチへのリンクのコストに基づいて、どの１つ又は複数のインタフェースがルートインタフェース又は非ルート且つ指定外インタフェースであるかを判定することができる。
【０１１１】
当業者は、ＯｐｅｎＦｌｏｗスイッチのインタフェースがルートインタフェースか、指定インタフェースか、又は非ルート且つ指定外インタフェースであるかどうかの判定を行うプロセスは、パケット転送経路の計算のプロセスに属するということを理解することができる。
【０１１２】
任意で、
受信部３０２は、パケット転送経路の計算のために使用される情報を受信するように構成され、パケット転送経路の計算のために使用される情報は、
コントロールプレーン装置によってネットワークトポロジ情報を取得するステップであって、ネットワークトポロジ情報は、パケット転送経路の計算のために使用される情報である、ステップ
において取得される。
【０１１３】
例えば、コントロールプレーン装置は、拡張ＬＬＤＰに基づいてネットワークトポロジ情報を取得してもよい。
【０１１４】
任意で、
パケット転送経路の計算のために使用される情報は、ＬＳＤＢを有する。
【０１１５】
任意で、
前記装置は、転送経路の計算のために使用される情報を格納するように構成される、記憶部を有してもよい。
【０１１６】
任意で、
計算部は、コントロールプレーン装置が、フォワーディングプレーン装置を管理することができないとき、転送経路の計算のために使用される情報に基づいて転送経路を計算するように構成される。
【０１１７】
例えば、
コントロールプレーン装置上の欠陥又はコントロールプレーン装置及びフォワーディングプレーン装置間のリンクの障害が原因で、コントロールプレーン装置は、フォワーディングプレーン装置を管理することができない。
【０１１８】
図４は、本発明の実施形態に係る、情報を送信するための装置の概略構成図である。図４において示される装置は、図２において示される方法を使用することによって実行されてもよい。前記装置は、コントロールプレーン装置である。図４において示されるように、前記装置は、トリガ部４０１と送信部４０２とを有する。
【０１１９】
前記コントロールプレーン装置が、フォワーディングプレーン装置を管理することができるとき、トリガ部４０１は送信部４０２をトリガして、パケット転送経路の計算のために使用される情報を、フォワーディングプレーン装置に送信するように構成される。
【０１２０】
前記送信部４０２は、パケット転送経路の計算のために使用される情報を送信するように構成され、フォワーディングプレーン装置及びコントロールプレーン装置は、フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャを持つネットワーク内に配置される。
【０１２１】
前記コントロールプレーン装置が、フォワーディングプレーン装置を管理することができるという事実は、コントロールプレーン装置が、制御チャネルを使用することによってフォワーディングプレーン装置と通信することができるということを意味する。
【０１２２】
上述の技術的解決手段に基づいて、コントロールプレーン装置がフォワーディングプレーン装置を管理することができるとき、コントロールプレーン装置は、パケット転送経路の計算のために使用される情報を、フォワーディングプレーン装置に送信する。従って、本発明の実施形態において提供される技術的解決手段に基づくと、フォワーディングプレーン装置は、パケット転送経路の計算のために使用される情報に基づいてパケット転送経路を計算する前に、パケット転送経路の計算のために使用される情報を能動的に取得する必要はない。
【０１２３】
任意で、
フォワーディングプレーン装置は、パケット転送経路の計算のために使用される情報を受信した後、パケット転送経路の計算のために使用される情報に基づいてパケット転送経路を計算してもよい。
【０１２４】
例えば、フォワーディングプレーン装置は、ＳＴＰに基づいてパケット転送経路を計算してもよい。フォワーディングプレーン装置はまた、ＩＳ−ＩＳプロトコルに基づいてパケット転送経路を計算してもよい。
【０１２５】
例えば、ＯｐｅｎＦｌｏｗスイッチが、ＳＴＰに基づいて転送経路を計算するとき、使用されるアルゴリズムは、ベルマン・フォードアルゴリズム、ダイクストラアルゴリズム、フロイド・ワーシャルアルゴリズム、又はジョンソンアルゴリズムであってもよい。フォワーディングプレーン装置が、ＳＴＰに基づいてパケット転送経路を計算するとき、パケット転送経路は、次の情報：ルートブリッジ識別子、ルートインタフェース識別子及び指定インタフェース識別子によって示されてもよい。
【０１２６】
例えば、ＯｐｅｎＦｌｏｗスイッチが、ＩＳ−ＩＳプロトコルに基づいて転送経路を計算するとき、使用されるアルゴリズムは、ＳＰＦアルゴリズムであってもよい。
【０１２７】
任意で、
前記装置はさらに、
送信部４０２がパケット転送経路の計算のために使用される情報を送信する前に、ネットワークトポロジ情報を取得するとともに、ネットワークトポロジ情報に基づいて、パケット転送経路の計算のために使用される情報を生成するように構成される、第１生成部を有する。
【０１２８】
前記ネットワークトポロジ情報は、それらの任意の２つのうち１つを使用することによって、直接接続されたネットワーク要素が、他のネットワーク要素に接続される、ローカルインタフェース及びリモートインタフェースを有する。例えば、コントロールプレーン装置は、拡張ＬＬＤＰを実行することによって、ネットワークトポロジ情報を取得する。
【０１２９】
例えば、ＯｐｅｎＦｌｏｗコントローラ及び管理されるＯｐｅｎＦｌｏｗスイッチ間のＴＣＰ接続が確立された後、ＯｐｅｎＦｌｏｗコントローラは、管理されるＯｐｅｎＦｌｏｗスイッチ上のインタフェースを知ることができる。ＯｐｅｎＦｌｏｗコントローラは、拡張ＬＬＤＰメッセージを、管理されるＯｐｅｎＦｌｏｗスイッチに送信する。拡張ＬＬＤＰメッセージは、管理されるＯｐｅｎＦｌｏｗスイッチの識別子及びインタフェース識別子を運ぶ。
【０１３０】
前記管理されるＯｐｅｎＦｌｏｗスイッチが、複数のインタフェースを持つ場合、ＯｐｅｎＦｌｏｗコントローラは、管理されるＯｐｅｎＦｌｏｗスイッチに、複数の拡張ＬＬＤＰメッセージを送信する。複数の拡張ＬＬＤＰメッセージは、複数のインタフェースに、一対一で対応する。複数の拡張ＬＬＤＰメッセージの各々は、対応するインタフェースのインタフェース識別子を運ぶ。拡張ＬＬＤＰメッセージを受信した後、管理されるＯｐｅｎＦｌｏｗスイッチは、管理されるＯｐｅｎＦｌｏｗスイッチのインタフェースを使用することによって、隣接ＯｐｅｎＦｌｏｗスイッチへのインタフェースに対応する拡張ＬＬＤＰメッセージを転送する。拡張ＬＬＤＰメッセージを受信した後、隣接ＯｐｅｎＦｌｏｗスイッチは、自身の識別子を拡張ＬＬＤＰメッセージに追加して、新たな拡張ＬＬＤＰメッセージを生成する。隣接ＯｐｅｎＦｌｏｗスイッチは、制御チャネルを使用することによって、ＯｐｅｎＦｌｏｗコントローラに新たな拡張ＬＬＤＰメッセージを送信する。
【０１３１】
上述のメカニズムに基づいて、ＯｐｅｎＦｌｏｗコントローラは、新たな拡張ＬＬＤＰメッセージから、ＯｐｅｎＦｌｏｗスイッチによって隣接ＯｐｅｎＦｌｏｗスイッチに接続するために使用されるインタフェースを知ることができる。
【０１３２】
同様のメカニズムに基づいて、ＯｐｅｎＦｌｏｗコントローラはさらに、隣接ＯｐｅｎＦｌｏｗスイッチによって、さらにその隣接ＯｐｅｎＦｌｏｗスイッチに接続するために使用されるインタフェースを取得してもよい。
【０１３３】
上述の処理を繰り返すことによって、ＯｐｅｎＦｌｏｗコントローラは、管理されるネットワークのトポロジ情報を取得することができる。
【０１３４】
任意で、
パケット転送経路の計算のために使用される情報は、ルートブリッジの識別子を有する。
【０１３５】
例えば、管理されるネットワークのトポロジ情報を取得した後、ＯｐｅｎＦｌｏｗコントローラは、ＳＴＰを実行することによって、ルートブリッジの識別子を取得してもよい。当業者は、ＯｐｅｎＦｌｏｗスイッチが同じ優先度である場合には、ルートブリッジのＭＡＣプロトコルアドレスの値は、同一のＯｐｅｎＦｌｏｗコントローラによって管理される他のＯｐｅｎＦｌｏｗスイッチのＭＡＣプロトコルアドレスの値よりも小さいということを理解することができる。
【０１３６】
例えば、管理されるネットワークのトポロジ情報を取得した後、ＯｐｅｎＦｌｏｗコントローラは、ＳＴＰを実行することによって、ルートブリッジの識別子を取得してもよい。ＯｐｅｎＦｌｏｗコントローラによって送信されるルートブリッジ識別子を受信した後、ＯｐｅｎＦｌｏｗスイッチは、ＳＴＰを実行して、リンクコストを取得することができる。ＯｐｅｎＦｌｏｗスイッチは、ＳＴＰを実行することによって、ルートブリッジ識別子及びリンクコストに基づいて、ルートインタフェースと、非ルート且つ指定外インタフェースと、指定インタフェースとの識別子を取得してもよい。
【０１３７】
任意で、
パケット転送経路の計算のために使用される情報は、さらに、ルートパスコストを有してもよい。
【０１３８】
例えば、
ＯｐｅｎＦｌｏｗスイッチ及びＯｐｅｎＦｌｏｗコントローラ間のＴＣＰ接続が確立された後、ＯｐｅｎＦｌｏｗスイッチは、ＯｐｅｎＦｌｏｗスイッチの各インタフェースの帯域幅をＯｐｅｎＦｌｏｗコントローラに送信するために、ＯｐｅｎＦｌｏｗプロトコルを使用する。ＯｐｅｎＦｌｏｗプロトコルのために、ＯＮＦによって発表されたＯｐｅｎＦｌｏｗスイッチ仕様１．０が参照されてもよい。ＯｐｅｎＦｌｏｗコントローラは、インタフェース帯域幅に基づいて、インタフェースコストを取得することができる。ＯｐｅｎＦｌｏｗスイッチは、第１インタフェースを使用することによって、隣接ＯｐｅｎＦｌｏｗスイッチに直接接続される。第１インタフェースの帯域幅は、ＯｐｅｎＦｌｏｗスイッチから隣接ＯｐｅｎＦｌｏｗスイッチへの直接リンクのコストに等しい。
【０１３９】
前記ＯｐｅｎＦｌｏｗスイッチがルートブリッジに直接接続されないとともに、ＯｐｅｎＦｌｏｗスイッチとルートブリッジとの間に複数のリンクが存在する場合、ＯｐｅｎＦｌｏｗコントローラは、複数のルートパスコストを取得するために、複数のリンクのコストをそれぞれ計算してもよい。ＯｐｅｎＦｌｏｗスイッチからルートブリッジへのリンクのコストは、ルートパスコストである。
【０１４０】
例えば、管理されるネットワークのトポロジ情報を取得した後、ＯｐｅｎＦｌｏｗコントローラは、ＳＴＰを実行することによってルートブリッジの識別子を取得してもよい。ＯｐｅｎＦｌｏｗコントローラによって送信されるルートブリッジ識別子及びルートパスコストを受信した後、ＯｐｅｎＦｌｏｗスイッチは、ＳＴＰを実行することによって、ルートインタフェースと、指定インタフェースと、非ルート且つ指定外インタフェースとの識別子を取得してもよい。
【０１４１】
当業者は、ＯｐｅｎＦｌｏｗネットワーク上でＳＴＰが実行された後、複数のインタフェースを持つＯｐｅｎＦｌｏｗスイッチの、どの１つ又は複数のインタフェースがループを有するかということを、ルートブリッジ及びネットワークトポロジ情報に基づいて判定されてもよいということを理解することができる。ループが存在する場合、ＯｐｅｎＦｌｏｗネットワークは、ルートブリッジからＯｐｅｎＦｌｏｗスイッチへのリンクのコストに基づいて、どの１つ又は複数のインタフェースがルートインタフェース又は非ルート且つ指定外インタフェースであるかを判定することができる。
【０１４２】
当業者は、ＯｐｅｎＦｌｏｗスイッチのインタフェースがルートインタフェースか、指定インタフェースか、又は非ルート且つ指定外インタフェースであるかどうかの判定を行うプロセスは、パケット転送経路の計算のプロセスに属するということを理解することができる。
【０１４３】
任意で、
第２生成部は、送信部４０２がパケット転送経路の計算のために使用される情報を送信する前に、ネットワークトポロジ情報を取得するように構成され、ネットワークトポロジ情報は、パケット転送経路の計算のために使用される情報である。
【０１４４】
例えば、コントロールプレーン装置は、拡張ＬＬＤＰに基づいてネットワークトポロジ情報を取得してもよい。
【０１４５】
任意で、
パケット転送経路の計算のために使用される情報は、ＬＳＤＢを有する。
【０１４６】
任意で、
コントロールプレーン装置が、フォワーディングプレーン装置を管理することができないとき、フォワーディングプレーン装置は、転送経路の計算のために使用される情報に基づいて転送経路を計算する。
【０１４７】
例えば、コントロールプレーン装置上の欠陥又はコントロールプレーン装置及びフォワーディングプレーン装置間のリンクの障害が原因で、コントロールプレーン装置は、フォワーディングプレーン装置を管理することができない。
【０１４８】
当業者は、本明細書で開示された実施形態とともに説明される様々な例示的なユニット及びアルゴリズムステップは、電子ハードウェア、又はコンピュータソフトウェア及び電子ハードウェアの組合せによって実施されることができることがわかる。機能がハードウェア又はソフトウェアによって実行されるかどうかは、技術的解決手段の特定のアプリケーション及び設計制約条件に依存する。当業者は、各特定のアプリケーションに対して、説明された機能を実施するために、異なる方法を使用してもよい。しかしながら、そのような実施は、本発明の範囲を超えるものとして考えられるべきではない。
【０１４９】
便利で簡潔な説明を目的として、前述のシステム、装置及びユニットの詳細な動作プロセスのために、方法の実施形態において対応するプロセスを参照してもよいいとともに、詳細は、本明細書内で繰返し説明はされないということは、当業者によって明確に理解されることができる。
【０１５０】
本願において提供される実施形態では、開示されたシステム、装置及び方法は、他の形態において実施されてもよいことが理解されるべきである。例えば、説明される装置の実施形態は、単なる例示である。例えば、ユニットの分割は、単に、論理的な機能の分割であるとともに、実際の実施においては他の分割であり得る。例えば、複数のユニット又は構成要素は、別のシステムに組み合わされるか、又は統合されることができ、又は一部の特徴は無視されるか、又は実行されなくてもよい。また、表示される又は議論される相互結合又は直接結合、又は通信接続は、いくつかのインタフェースを使用することによって実施されてもよい。装置間又はユニット間の間接結合又は通信接続は、電気的、機械的、又は他の形態で実施されてもよい。
【０１５１】
別々の部品として説明されるユニットは、物理的に離れていてもいなくてもよいとともに、ユニットとして表示される部品は、物理的なユニットであってもなくてもよく、１つの位置に配置されてもよいか、又は複数のネットワーク要素上に分散されてもよい。一部又は全てのユニットは、実施形態の解決手段の目的を達成するための、実際の必要に基づいて選択されてもよい。
【０１５２】
さらに、本発明の実施形態における機能ユニットは、処理ユニットに統合されてもよく、又は各ユニットは、物理的に単独で存在してもよく、又は２か３以上のユニットは、１つのユニットに統合される。
【０１５３】
ソフトウェア機能ユニットの形態で実施されるとともに、スタンドアロン製品として販売又は使用されるとき、機能は、コンピュータ可読記憶媒体内に格納されてもよい。そのような理解に基づいて、本発明の技術的解決手段の本質や、従来技術への貢献を行う部分や、又は技術的解決手段の一部は、ソフトウェア製品の形態において実施されてもよい。コンピュータソフトウェア製品は記憶媒体内に格納されるとともに、本発明の任意の実施形態における方法のステップの全て又は一部を実行するために、コンピュータ（例えば、パーソナルコンピュータ、サーバ、又はネットワークデバイス等）に命令を行うためのいくつかの命令を組み込んでもよい。記憶媒体は、Ｕディスクや、リムーバブルハードディスクや、読出し専用メモリ（ＲＯＭ：Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）や、ランダムアクセスメモリ（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）や、磁気ディスクや、又はＣＤ−ＲＯＭ等のような、プログラムコードを格納することができる任意の媒体を有する。
【０１５４】
上述の説明は、単に本発明の好ましい実施形態であって、本発明の保護範囲を限定するものではない。本発明の範囲から逸脱することなく、当業者によって容易に導き出されることができるいかなる変更及び置換も、本発明の保護範囲内に含まれるものとする。従って、本発明の保護範囲は、添付の特許請求の範囲の対象となる。
【符号の説明】
【０１５５】
３０１  トリガ部
３０２  受信部
４０１  トリガ部
４０２  送信部
【図１】
0005978384.tif 000002
【図２】
0005978384.tif 000003
【図３】
0005978384.tif 000004
【図４】
0005978384.tif 000005