特許第5978384号(P5978384)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ▲ホア▼▲ウェイ▼技術有限公司の特許一覧

特許5978384情報を受信するための方法、情報を送信するための方法及びそれらの装置
<>
  • 特許5978384-情報を受信するための方法、情報を送信するための方法及びそれらの装置 図000002
  • 特許5978384-情報を受信するための方法、情報を送信するための方法及びそれらの装置 図000003
  • 特許5978384-情報を受信するための方法、情報を送信するための方法及びそれらの装置 図000004
  • 特許5978384-情報を受信するための方法、情報を送信するための方法及びそれらの装置 図000005
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5978384
(24)【登録日】2016年7月29日
(45)【発行日】2016年8月24日
(54)【発明の名称】情報を受信するための方法、情報を送信するための方法及びそれらの装置
(51)【国際特許分類】
   H04L 12/717 20130101AFI20160817BHJP
   H04L 12/751 20130101ALI20160817BHJP
【FI】
   H04L12/717
   H04L12/751
【請求項の数】14
【全頁数】23
(21)【出願番号】特願2015-503727(P2015-503727)
(86)(22)【出願日】2012年4月12日
(65)【公表番号】特表2015-514374(P2015-514374A)
(43)【公表日】2015年5月18日
(86)【国際出願番号】CN2012073937
(87)【国際公開番号】WO2013152496
(87)【国際公開日】20131017
【審査請求日】2014年10月2日
(73)【特許権者】
【識別番号】504277388
【氏名又は名称】▲ホア▼▲ウェイ▼技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
(74)【代理人】
【識別番号】100146835
【弁理士】
【氏名又は名称】佐伯 義文
(74)【代理人】
【識別番号】100140534
【弁理士】
【氏名又は名称】木内 敬二
(72)【発明者】
【氏名】夏 寅▲ベン▼
(72)【発明者】
【氏名】董 ▲ウェン▼霞
(72)【発明者】
【氏名】朱 明明
【審査官】 谷岡 佳彦
(56)【参考文献】
【文献】 米国特許出願公開第2008/0189769(US,A1)
【文献】 国際公開第2010/073996(WO,A1)
【文献】 米国特許第06130875(US,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/717
H04L 12/751
(57)【特許請求の範囲】
【請求項1】
情報を受信するための方法であって、
コントロールプレーン装置が、フォワーディングプレーン装置を管理することができるとき、前記コントロールプレーン装置によって送信されるパケット転送経路の計算のために使用される情報を、前記フォワーディングプレーン装置によって受信するステップであって、前記フォワーディングプレーン装置及び前記コントロールプレーン装置は、フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャを持つネットワーク内に配置される、ステップ
を有し、
前記コントロールプレーン装置が前記フォワーディングプレーン装置を管理することができないとき、パケット転送経路の計算のために使用される前記情報は、パケット転送経路を計算するために、前記フォワーディングプレーン装置によって使用される方法。
【請求項2】
前記コントロールプレーン装置によって送信されるパケット転送経路の計算のために使用される前記情報を、前記フォワーディングプレーン装置によって受信する前記ステップは、
パケット転送経路の計算のために使用される前記情報を、前記フォワーディングプレーン装置によって受信するステップであって、パケット転送経路の計算のために使用される前記情報は、
前記コントロールプレーン装置によって、前記ネットワークのトポロジ情報を取得するステップと、
前記ネットワークの前記トポロジ情報に基づいて、パケット転送経路の計算のために使用される前記情報を、前記コントロールプレーン装置によって生成するステップと
において取得される、ステップ
を有する、請求項1に記載の方法。
【請求項3】
パケット転送経路の計算のために使用される前記情報は、ルートブリッジの識別子を有する、請求項2に記載の方法。
【請求項4】
前記コントロールプレーン装置によって送信されるパケット転送経路の計算のために使用される前記情報を、前記フォワーディングプレーン装置によって受信する前記ステップは、
パケット転送経路の計算のために使用される前記情報を、前記フォワーディングプレーン装置によって受信するステップであって、パケット転送経路の計算のために使用される前記情報は、
前記コントロールプレーン装置によって前記ネットワークのトポロジ情報を取得するステップであって、前記ネットワークの前記トポロジ情報は、パケット転送経路の計算のために使用される前記情報である、ステップ
において取得される、ステップ
を有する請求項1に記載の方法。
【請求項5】
パケット転送経路の計算のために使用される前記情報は、リンク状態データベースを有する、請求項4に記載に方法。
【請求項6】
情報を送信するための方法であって、
コントロールプレーン装置が、フォワーディングプレーン装置を管理することができるとき、パケット転送経路の計算のために使用される情報を、前記コントロールプレーン装置によって前記フォワーディングプレーン装置に送信するステップであって、前記フォワーディングプレーン装置及び前記コントロールプレーン装置は、フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャを持つネットワーク内に配置される、ステップ
を有し、
前記コントロールプレーン装置が前記フォワーディングプレーン装置を管理することができないとき、パケット転送経路の計算のために使用される前記情報は、パケット転送経路を計算するために、前記フォワーディングプレーン装置によって使用される方法。
【請求項7】
前記コントロールプレーン装置が、パケット転送経路の計算のために使用される前記情報を前記フォワーディングプレーン装置に送信する前に、前記方法は、
前記コントロールプレーン装置によって、前記ネットワークのトポロジ情報を取得するステップと、
前記ネットワークの前記トポロジ情報に基づいて、パケット転送経路の計算のために使用される前記情報を、前記コントロールプレーン装置によって生成するステップと、
を有する、請求項6に記載の方法。
【請求項8】
パケット転送経路の計算のために使用される前記情報は、ルートブリッジの識別子を有する、請求項7に記載の方法。
【請求項9】
前記コントロールプレーン装置が、パケット転送経路の計算のために使用される前記情報を前記フォワーディングプレーン装置に送信する前に、前記方法は、
前記コントロールプレーン装置によって、前記ネットワークのトポロジ情報を取得するステップであって、ネットワークトポロジ情報は、パケット転送経路の計算のために使用される前記情報である、ステップ
を有する、請求項6に記載の方法。
【請求項10】
パケット転送経路の計算のために使用される前記情報は、リンク状態データベースを有する、請求項9に記載に方法。
【請求項11】
トリガ部と受信部とを有する、情報を受信するための装置であって、
コントロールプレーン装置が、フォワーディングプレーン装置を管理することができるとき、前記トリガ部は前記受信部をトリガして、前記コントロールプレーン装置によって送信されるパケット転送経路の計算のために使用される情報を受信するように構成されるとともに、前記コントロールプレーン装置が前記フォワーディングプレーン装置を管理することができないとき、パケット転送経路の計算のために使用される前記情報は、パケット転送経路を計算するために、前記フォワーディングプレーン装置によって使用され、
前記受信部は、パケット転送経路の計算のために使用される前記情報を受信するように構成され、前記フォワーディングプレーン装置及び前記コントロールプレーン装置は、フォワーディング及びコントロール要素の分離を特徴とするネットワーク内に配置される、装置。
【請求項12】
トリガ部と送信部とを有する、情報を送信するための装置であって、
コントロールプレーン装置が、フォワーディングプレーン装置を管理することができるとき、前記トリガ部は前記送信部をトリガして、パケット転送経路の計算のために使用される情報を前記フォワーディングプレーン装置に送信するように構成されるとともに、前記コントロールプレーン装置が前記フォワーディングプレーン装置を管理することができないとき、パケット転送経路の計算のために使用される前記情報は、パケット転送経路を計算するために、前記フォワーディングプレーン装置によって使用され、
前記送信部は、パケット転送経路の計算のために使用される前記情報を送信するように構成され、前記フォワーディングプレーン装置及び前記コントロールプレーン装置は、フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャを持つネットワーク内に配置される、装置。
【請求項13】
前記送信部が、パケット転送経路の計算のために使用される前記情報を送信する前に、前記ネットワークのトポロジ情報を取得するとともに、前記ネットワークの前記トポロジ情報に基づいて、パケット転送経路の計算のために使用される前記情報を生成するように構成される、第1生成部を有する、請求項12に記載の装置。
【請求項14】
前記送信部が、パケット転送経路の計算のために使用される前記情報を送信する前に、前記ネットワークのトポロジ情報を取得するように構成され、前記ネットワークの前記トポロジ情報は、パケット転送経路の計算のために使用される前記情報である、第2生成部を有する、請求項12に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク技術の分野に関するとともに、特に、情報を受信するための方法、情報を送信するための方法及びそれらの装置に関する。
【背景技術】
【0002】
ネットワーク技術の発展に伴い、フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャ、例えば、OpenFlow(オープンフロー)が出現する。
【0003】
フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャを持つネットワークは、フォワーディングプレーン装置と、コントロールプレーン装置との、2種類のネットワークデバイスを有する。フォワーディングプレーン装置は、フローテーブルに基づいて、受信されたパケットを処理する。コントロールプレーン装置は、制御チャネルを使用することによって、フォワーディングプレーン装置を管理する。
【0004】
「フォワーディング及びコントロール要素の分離(Forwarding and control element separation)」は、フォワーディングプレーン装置がコントロールプレーン装置から分離されることを意味する。フォワーディングプレーン装置は、コントロールプレーン機能の一部又は全てを、コントロールプレーン装置に転送する。フォワーディングプレーン装置は、コントロールプレーン装置と通信を行うことができる。フォワーディングプレーン装置は、制御チャネルを使用することによって、コントロールプレーン装置と通信を行うことができる。
【0005】
前記コントロールプレーン装置に欠陥がある場合、又はコントロールプレーン装置及びフォワーディングプレーン装置間のリンクに障害が発生するとき、コントロールプレーン装置は、フォワーディングプレーン装置を管理することができない。コントロールプレーン装置が、フォワーディングプレーン装置を管理することができないとき、フォワーディングプレーン装置は、パケット転送経路の計算のために使用される情報を能動的に取得する必要がある。結果として、フォワーディングプレーン装置は、パケット転送経路の計算のために使用される情報に基づいてパケット転送経路を計算する前に、パケット転送経路の計算のために使用される情報を能動的に取得する必要がある。
【発明の概要】
【課題を解決するための手段】
【0006】
本発明の態様は、情報を受信するための方法と、情報を送信するための方法と、それらの装置とを提供し、コントロールプレーン装置がフォワーディングプレーン装置を管理することができないとき、フォワーディングプレーン装置が、パケット転送経路の計算のために使用される情報を能動的に取得する必要があるという技術的な問題を解決する。
【0007】
1つの構成では、本発明の態様は、情報を受信するための方法を提供し、前記方法は、
コントロールプレーン装置がフォワーディングプレーン装置を管理することができるとき、コントロールプレーン装置によって送信されるパケット転送経路の計算のために使用される情報を、フォワーディングプレーン装置によって受信するステップであって、フォワーディングプレーン装置及びコントロールプレーン装置は、フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャを持つネットワーク内に配置される、ステップを有する。
【0008】
他の構成では、本発明の態様は、情報を送信するための方法を提供し、前記方法は、
コントロールプレーン装置が、フォワーディングプレーン装置を管理することができるとき、パケット転送経路の計算のために使用される情報を、コントロールプレーン装置によってフォワーディングプレーン装置に送信するステップであって、フォワーディングプレーン装置及びコントロールプレーン装置は、フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャを持つネットワーク内に配置される、ステップを有する。
【0009】
さらに他の構成では、本発明の態様は、トリガ部と受信部とを有する、情報を受信するための装置を提供する。
【0010】
前記コントロールプレーン装置が、フォワーディングプレーン装置を管理することができるとき、トリガ部は受信部をトリガして、コントロールプレーン装置によって送信される、パケット転送経路の計算のために使用される情報を受信するように構成される。
【0011】
前記受信部は、パケット転送経路の計算のために使用される情報を受信するように構成され、フォワーディングプレーン装置及びコントロールプレーン装置は、フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャを持つ、ネットワーク内に配置される。
【0012】
さらに他の構成では、本発明の態様は、トリガ部と送信部とを有する、情報を送信するための装置を提供する。
【0013】
前記コントロールプレーン装置が、フォワーディングプレーン装置を管理することができるとき、トリガ部は送信部をトリガして、パケット転送経路の計算のために使用される情報を、フォワーディングプレーン装置に送信するように構成される。
【0014】
前記送信部は、パケット転送経路の計算のために使用される情報を送信するように構成され、フォワーディングプレーン装置及びコントロールプレーン装置は、フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャを持つネットワーク内に配置される。
【0015】
上述の技術的解決手段に基づくと、コントロールプレーン装置がフォワーディングプレーン装置を管理することができるとき、コントロールプレーン装置は、パケット転送経路の計算のために使用される情報をフォワーディングプレーン装置に送信する。従って、本発明の態様において提供される技術的解決手段に基づくと、フォワーディングプレーン装置は、パケット転送経路の計算のために使用される情報に基づいてパケット転送経路を計算する前に、パケット転送経路の計算のために使用される情報を能動的に取得する必要はない。
【図面の簡単な説明】
【0016】
本発明の実施形態の技術的解決手段又は従来技術をより明確にするために、実施形態又は従来技術の説明において使用される添付図面は、以下で簡潔に説明される。明らかに、添付図面は、本発明のいくつかの例示的な実施形態を示すものであるとともに、当業者は、創造的努力なしに、これらの図面に基づいて他の図面を導き出すことができる。
【0017】
図1図1は、本発明の実施形態に係る、情報を受信するための方法のフローチャートである。
図2図2は、本発明の実施形態に係る、情報を送信するための方法のフローチャートである。
図3図3は、本発明の実施形態に係る、情報を受信するための装置の概略構成図である。
図4図4は、本発明の実施形態に係る、情報を送信するための装置の概略構成図である。
【発明を実施するための形態】
【0018】
本発明の技術的解決手段は、添付図面を参照して、以下に詳述される。明らかに、以下で説明される実施形態は、例示的な目的のみのためであり、本発明の全ての実施形態を網羅するわけではない。創造的努力なしに、本発明の実施形態から当業者によって導き出されることができる、全ての他の実施形態は、本発明の保護範囲内に含まれるものとする。
【0019】
本発明の実施形態は、フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャに関する。「フォワーディング及びコントロール要素の分離」は、フォワーディングプレーン装置がコントロールプレーン装置から分離されることを意味する。フォワーディングプレーン装置は、コントロールプレーン機能の一部又は全てを、コントロールプレーン装置に転送する。フォワーディングプレーン装置は、コントロールプレーン装置と通信を行うことができる。フォワーディングプレーン装置は、制御チャネルを使用することによって、コントロールプレーン装置と通信を行うことができる。
【0020】
本発明に係るコントロールプレーン装置は、フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャに準拠した装置である。本発明に係るフォワーディングプレーン装置は、フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャに準拠した装置である。フォワーディングプレーン装置は、フローテーブルに基づいて、受信されたパケットを処理する。コントロールプレーン装置は、制御チャネルを使用することによって、フォワーディングプレーン装置を制御する。
【0021】
例えば、パケット転送の間、フォワーディングプレーン装置は、レイヤ2パケット又はレイヤ3パケットを転送してもよい。レイヤ2及びレイヤ3のために、開放型システム間相互接続モデル(Open Systems Interconnection model:OSI model)が参照されてもよい。
【0022】
具体的な実施では、フォワーディングプレーン装置は、スイッチ又はルータであってもよい。
【0023】
前記フォワーディングプレーン装置がスイッチであるというシナリオでは、フォワーディングプレーン装置は、具体的には、OpenFlowスイッチ(オープンフロースイッチ)であってもよい。OpenFlowスイッチのために、標準策定機関(Standard Setting Organization:SSO)オープンネットワーク財団(Open Networking Foundation:ONF)によって発表されたOpenFlowスイッチ仕様1.0(オープンフロースイッチ仕様1.0)が参照されてもよい。
【0024】
具体的な実施では、コントロールプレーン装置は、OpenFlowコントローラ(オープンフローコントローラ)であってもよい。OpenFlowコントローラのために、OpenFlowスイッチ仕様1.0が参照されてもよい。
【0025】
具体的な実施では、制御チャネルは、OpenFlowスイッチ及びOpenFlowコントローラ間の対話のために使用されるセキュアチャネル(Secure Channel)であってもよい。セキュアチャネルのために、ONFによって発表されたOpenFlowスイッチ仕様1.0が参照されてもよい。
【0026】
前記フォワーディングプレーン装置は、2つの転送モードをサポートすることができる。フロー転送モード及びパケット転送モードである。
【0027】
フロー転送は、フォワーディングプレーン装置が、フローテーブルに基づいてパケットを転送することを意味する。パケットがフローエントリに一致するかどうかを判定するためのフローエントリ内のフィールドの数は、2か3以上である。例えば、パケットがフローエントリに一致するかどうかを判定するためのフローエントリ内のフィールドの数は、5であってもよい。5つのフィールドはそれぞれ、送信元インターネットプロトコル(Internet Protocol:IP)アドレス、宛先IPアドレス、送信元ポート(Port)、宛先ポート及びプロトコル(Protocol)であってもよい。例えば、パケットがフローエントリに一致するかどうかを判定するために使用されるフィールドは、OSIモデルのデータリンク(Data Link)レイヤ又はIPレイヤでのフィールドであってもよい。
【0028】
パケット転送は、フォワーディングプレーン装置が、パケット転送テーブルに基づいてパケットを転送することを意味する。パケットがパケット転送エントリに一致するかどうかを判定するためのパケット転送エントリ内のフィールドの数は、1である。例えば、パケットがフローエントリに一致するかどうかを判定するために使用されるフィールドは、宛先IPアドレス又は宛先メディアアクセス制御(Media Access Control:MAC)プロトコルアドレスであってもよい。当業者は、パケット転送テーブルがMACテーブル又はルーティングテーブルであってもよいことを理解することができる。
【0029】
当業者は、OpenFlowスイッチは、受信されたパケットにおける送信元MACアドレス及びパケットを受信するために使用されるインタフェースに基づいて、MACテーブルを生成してもよいことを理解することができる。MACテーブルが生成された後、OpenFlowスイッチは、MACテーブルに基づいてパケットを転送してもよい。
【0030】
図1は、本発明の実施形態に係る、情報を受信するための方法のフローチャートである。図1において示されるように、前記方法は、以下のステップを有する。
101:コントロールプレーン装置が、フォワーディングプレーン装置を管理することができるとき、コントロールプレーン装置によって送信されるパケット転送経路の計算のために使用される情報を、フォワーディングプレーン装置が受信し、フォワーディングプレーン装置及びコントロールプレーン装置は、フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャを持つネットワーク内に配置される。
【0031】
前記コントロールプレーン装置が、フォワーディングプレーン装置を管理することができるという事実は、コントロールプレーン装置が、制御チャネルを使用することによってフォワーディングプレーン装置と通信することができるということを意味する。
【0032】
上述の技術的解決手段に基づいて、コントロールプレーン装置がフォワーディングプレーン装置を管理することができるとき、コントロールプレーン装置は、パケット転送経路の計算のために使用される情報を、フォワーディングプレーン装置に送信する。従って、本発明の実施形態において提供される技術的解決手段に基づくと、フォワーディングプレーン装置は、パケット転送経路の計算のために使用される情報に基づいてパケット転送経路を計算する前に、パケット転送経路の計算のために使用される情報を能動的に取得する必要はない。
【0033】
任意で、
フォワーディングプレーン装置は、パケット転送経路の計算のために使用される情報を受信した後、パケット転送経路の計算のために使用される情報に基づいてパケット転送経路を計算してもよい。
【0034】
例えば、フォワーディングプレーン装置は、スパニングツリープロトコル(Spanning Tree Protocol:STP)に基づいてパケット転送経路を計算してもよい。フォワーディングプレーン装置はまた、中間システム間(Intermediate System to Intermediate System:IS−IS)プロトコルに基づいてパケット転送経路を計算してもよい。
【0035】
例えば、OpenFlowスイッチが、STPに基づいて転送経路を計算するとき、使用されるアルゴリズムは、ベルマン・フォード(Bellman−Ford)アルゴリズム、ダイクストラ(Dijkstra)アルゴリズム、フロイド・ワーシャル(Floyd−Warshall)アルゴリズム、又はジョンソン(Johnson)アルゴリズムであってもよい。フォワーディングプレーン装置が、STPに基づいてパケット転送経路を計算するとき、パケット転送経路は、次の情報:ルートブリッジ識別子、ルートインタフェース識別子及び指定インタフェース識別子によって示されてもよい。
【0036】
例えば、OpenFlowスイッチが、IS−ISプロトコルに基づいて転送経路を計算するとき、使用されるアルゴリズムは、最短経路第一(Shortest Path First:SPF)アルゴリズムであってもよい。
【0037】
任意で、
コントロールプレーン装置によって送信されるパケット転送経路の計算のために使用される情報を、フォワーディングプレーン装置によって受信するステップは、
パケット転送経路の計算のために使用される情報を、フォワーディングプレーン装置によって受信するステップであって、パケット転送経路の計算のために使用される情報は、
コントロールプレーン装置によって、ネットワークトポロジ情報を取得するステップと、
ネットワークトポロジ情報に基づいて、パケット転送経路の計算のために使用される情報を、コントロールプレーン装置によって生成するステップと
において取得される、ステップを有する。
【0038】
前記ネットワークトポロジ情報は、それらの任意の2つのうち1つを使用することによって、直接接続されたネットワーク要素が、他のネットワーク要素に接続される、ローカルインタフェース及びリモートインタフェースを有する。例えば、コントロールプレーン装置は、拡張リンクレイヤ検出プロトコル(Link Layer Discovery Protocol:LLDP)を実行することによって、ネットワークトポロジ情報を取得する。
【0039】
例えば、OpenFlowコントローラ及び管理されるOpenFlowスイッチ間の転送制御プロトコル(Transfer Control Protocol:TCP)接続が確立された後、OpenFlowコントローラは、管理されるOpenFlowスイッチ上のインタフェースを知ることができる。OpenFlowコントローラは、拡張LLDPメッセージを、管理されるOpenFlowスイッチに送信する。拡張LLDPメッセージは、管理されるOpenFlowスイッチの識別子及びインタフェース識別子を運ぶ。
【0040】
前記管理されるOpenFlowスイッチが、複数のインタフェースを持つ場合、OpenFlowコントローラは、管理されるOpenFlowスイッチに、複数の拡張LLDPメッセージを送信する。複数の拡張LLDPメッセージは、複数のインタフェースに、一対一で対応する。複数の拡張LLDPメッセージの各々は、対応するインタフェースのインタフェース識別子を運ぶ。拡張LLDPメッセージを受信した後、管理されるOpenFlowスイッチは、管理されるOpenFlowスイッチのインタフェースを使用することによって、隣接OpenFlowスイッチへのインタフェースに対応する拡張LLDPメッセージを転送する。拡張LLDPメッセージを受信した後、隣接OpenFlowスイッチは、自身の識別子を拡張LLDPメッセージに追加して、新たな拡張LLDPメッセージを生成する。隣接OpenFlowスイッチは、制御チャネルを使用することによって、OpenFlowコントローラに新たな拡張LLDPメッセージを送信する。
【0041】
上述のメカニズムに基づいて、OpenFlowコントローラは、新たな拡張LLDPメッセージから、OpenFlowスイッチによって隣接OpenFlowスイッチに接続するために使用されるインタフェースを知ることができる。
【0042】
同様のメカニズムに基づいて、OpenFlowコントローラはさらに、隣接OpenFlowスイッチによって、さらにその隣接OpenFlowスイッチに接続するために使用されるインタフェースを知ることができる。
【0043】
上述の処理を繰り返すことによって、OpenFlowコントローラは、管理されるネットワークのトポロジ情報を取得することができる。
【0044】
任意で、
パケット転送経路の計算のために使用される情報は、ルートブリッジの識別子を有する。
【0045】
例えば、管理されるネットワークのトポロジ情報を取得した後、OpenFlowコントローラは、STPを実行することによって、ルートブリッジの識別子を取得してもよい。当業者は、OpenFlowスイッチが同じ優先度である場合には、ルートブリッジのMACプロトコルアドレスの値は、同一のOpenFlowコントローラによって管理される他のOpenFlowスイッチのMACプロトコルアドレスの値よりも小さいということを理解することができる。
【0046】
例えば、管理されるネットワークのトポロジ情報を取得した後、OpenFlowコントローラは、STPを実行することによって、ルートブリッジの識別子を取得してもよい。OpenFlowコントローラによって送信されるルートブリッジ識別子を受信した後、OpenFlowスイッチは、STPを実行することによって、リンクコスト(Cost)を取得してもよい。OpenFlowスイッチは、STPを実行することによって、ルートブリッジ識別子及びリンクコストに基づいて、ルートインタフェースと、非ルート且つ指定外インタフェースと、指定インタフェースとの識別子を取得してもよい。
【0047】
任意で、
パケット転送経路の計算のために使用される情報は、さらに、ルートパスコスト(Root Path Cost)を有してもよい。
【0048】
例えば、
OpenFlowスイッチ及びOpenFlowコントローラ間のTCP接続が確立された後、OpenFlowスイッチは、OpenFlowスイッチの各インタフェースの帯域幅をOpenFlowコントローラに送信するために、OpenFlowプロトコルを使用する。OpenFlowプロトコルのために、ONFによって発表されたOpenFlowスイッチ仕様1.0が参照されてもよい。OpenFlowコントローラは、インタフェース帯域幅に基づいて、インタフェースコストを取得することができる。OpenFlowスイッチは、第1インタフェースを使用することによって、隣接OpenFlowスイッチに直接接続される。第1インタフェースの帯域幅は、OpenFlowスイッチから隣接OpenFlowスイッチへの直接リンクのコストに等しい。
【0049】
前記OpenFlowスイッチがルートブリッジに直接接続されないとともに、OpenFlowスイッチとルートブリッジとの間に複数のリンクが存在する場合、OpenFlowコントローラは、複数のルートパスコストを取得するために、複数のリンクのコストをそれぞれ計算してもよい。OpenFlowスイッチからルートブリッジへのリンクのコストは、ルートパスコストである。
【0050】
例えば、管理されるネットワークのトポロジ情報を取得した後、OpenFlowコントローラは、STPを実行することによってルートブリッジの識別子を取得してもよい。OpenFlowコントローラによって送信されるルートブリッジ識別子及びルートパスコストを受信した後、OpenFlowスイッチは、STPを実行することによって、ルートインタフェースと、指定インタフェースと、非ルート且つ指定外インタフェースとの識別子を取得してもよい。
【0051】
当業者は、OpenFlowネットワーク上でSTPが実行された後、複数のインタフェースを持つOpenFlowスイッチの、どの1つ又は複数のインタフェースがループを有するかということを、ルートブリッジ及びネットワークトポロジ情報に基づいて判定されてもよいということを理解することができる。ループが存在する場合、OpenFlowネットワークは、ルートブリッジからOpenFlowスイッチへのリンクのコストに基づいて、どの1つ又は複数のインタフェースがルートインタフェース又は非ルート且つ指定外インタフェースであるかを判定することができる。
【0052】
当業者は、OpenFlowスイッチのインタフェースがルートインタフェースか、指定インタフェースか、又は非ルート且つ指定外インタフェースであるかどうかの判定を行うプロセスは、パケット転送経路の計算のプロセスに属するということを理解することができる。
【0053】
任意で、
コントロールプレーン装置によって送信されるパケット転送経路の計算のために使用される情報を、フォワーディングプレーン装置によって受信するステップは、
パケット転送経路の計算のために使用される情報を、フォワーディングプレーン装置によって受信するステップであって、パケット転送経路の計算のために使用される情報は、
コントロールプレーン装置によってネットワークトポロジ情報を取得するステップであって、ネットワークトポロジ情報は、パケット転送経路の計算のために使用される情報である、ステップ
において取得される、ステップを有する。
【0054】
例えば、コントロールプレーン装置は、拡張LLDPに基づいてネットワークトポロジ情報を取得してもよい。
【0055】
任意で、
パケット転送経路の計算のために使用される情報は、リンク状態データベース(Link State Database:LSDB)を有する。
【0056】
任意で、
転送経路の計算のために使用される情報は、フォワーディングプレーン装置内に格納されてもよい。
【0057】
任意で、
コントロールプレーン装置が、フォワーディングプレーン装置を管理することができないとき、フォワーディングプレーン装置は、転送経路の計算のために使用される情報に基づいて転送経路を計算する。
【0058】
例えば、コントロールプレーン装置上の欠陥又はコントロールプレーン装置及びフォワーディングプレーン装置間のリンクの障害が原因で、コントロールプレーン装置は、フォワーディングプレーン装置を管理することができない。
【0059】
図2は、本発明の実施形態に係る、情報を送信するための方法のフローチャートである。図2において示されるように、前記方法は、以下のステップを有する。
201:コントロールプレーン装置が、フォワーディングプレーン装置を管理することができるとき、パケット転送経路の計算のために使用される情報を、コントロールプレーン装置がフォワーディングプレーン装置に送信し、フォワーディングプレーン装置及びコントロールプレーン装置は、フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャを持つネットワーク内に配置される。
【0060】
前記コントロールプレーン装置が、フォワーディングプレーン装置を管理することができるという事実は、コントロールプレーン装置が、制御チャネルを使用することによってフォワーディングプレーン装置と通信することができるということを意味する。
【0061】
上述の技術的解決手段に基づくと、コントロールプレーン装置がフォワーディングプレーン装置を管理することができるとき、コントロールプレーン装置は、パケット転送経路の計算のために使用される情報をフォワーディングプレーン装置に送信する。従って、本発明の実施形態において提供される技術的解決手段に基づくと、フォワーディングプレーン装置は、パケット転送経路の計算のために使用される情報に基づいてパケット転送経路を計算する前に、パケット転送経路の計算のために使用される情報を能動的に取得する必要はない。
【0062】
任意で、
フォワーディングプレーン装置は、パケット転送経路の計算のために使用される情報を受信した後、パケット転送経路の計算のために使用される情報に基づいてパケット転送経路を計算してもよい。
【0063】
例えば、フォワーディングプレーン装置は、STPに基づいてパケット転送経路を計算してもよい。フォワーディングプレーン装置はまた、IS−ISプロトコルに基づいてパケット転送経路を計算してもよい。
【0064】
例えば、OpenFlowスイッチが、STPに基づいて転送経路を計算するとき、使用されるアルゴリズムは、ベルマン・フォードアルゴリズム、ダイクストラアルゴリズム、フロイド・ワーシャルアルゴリズム、又はジョンソンアルゴリズムであってもよい。フォワーディングプレーン装置が、STPに基づいてパケット転送経路を計算するとき、パケット転送経路は、次の情報:ルートブリッジ識別子、ルートインタフェース識別子及び指定インタフェース識別子によって示されてもよい。
【0065】
例えば、OpenFlowスイッチが、IS−ISプロトコルに基づいて転送経路を計算するとき、使用されるアルゴリズムは、SPFアルゴリズムであってもよい。
【0066】
任意で、
コントロールプレーン装置が、パケット転送経路の計算のために使用される情報をフォワーディングプレーン装置に送信する前に、前記方法は、
コントロールプレーン装置によって、ネットワークトポロジ情報を取得するステップと、
ネットワークトポロジ情報に基づいて、パケット転送経路の計算のために使用される情報を、コントロールプレーン装置によって生成するステップと、を有する。
【0067】
前記ネットワークトポロジ情報は、それらの任意の2つのうち1つを使用することによって、直接接続されたネットワーク要素が、他のネットワーク要素に接続される、ローカルインタフェース及びリモートインタフェースを有する。例えば、コントロールプレーン装置は、拡張LLDPを実行することによって、ネットワークトポロジ情報を取得する。
【0068】
例えば、OpenFlowコントローラ及び管理されるOpenFlowスイッチ間のTCP接続が確立された後、OpenFlowコントローラは、管理されるOpenFlowスイッチ上のインタフェースを知ることができる。OpenFlowコントローラは、拡張LLDPメッセージを、管理されるOpenFlowスイッチに送信する。拡張LLDPメッセージは、管理されるOpenFlowスイッチの識別子及びインタフェース識別子を運ぶ。
【0069】
前記管理されるOpenFlowスイッチが、複数のインタフェースを持つ場合、OpenFlowコントローラは、管理されるOpenFlowスイッチに、複数の拡張LLDPメッセージを送信する。複数の拡張LLDPメッセージは、複数のインタフェースに、一対一で対応する。複数の拡張LLDPメッセージの各々は、対応するインタフェースのインタフェース識別子を運ぶ。拡張LLDPメッセージを受信した後、管理されるOpenFlowスイッチは、管理されるOpenFlowスイッチのインタフェースを使用することによって、隣接OpenFlowスイッチへのインタフェースに対応する拡張LLDPメッセージを転送する。拡張LLDPメッセージを受信した後、隣接OpenFlowスイッチは、自身の識別子を拡張LLDPメッセージに追加して、新たな拡張LLDPメッセージを生成する。隣接OpenFlowスイッチは、制御チャネルを使用することによって、OpenFlowコントローラに新たな拡張LLDPメッセージを送信する。
【0070】
上述のメカニズムに基づいて、OpenFlowコントローラは、新たな拡張LLDPメッセージから、OpenFlowスイッチによって隣接OpenFlowスイッチに接続するために使用されるインタフェースを知ることができる。
【0071】
同様のメカニズムに基づいて、OpenFlowコントローラはさらに、隣接OpenFlowスイッチによって、さらにその隣接OpenFlowスイッチに接続するために使用されるインタフェースを取得してもよい。
【0072】
上述の処理を繰り返すことによって、OpenFlowコントローラは、管理されるネットワークのトポロジ情報を取得することができる。
【0073】
任意で、
パケット転送経路の計算のために使用される情報は、ルートブリッジの識別子を有する。
【0074】
例えば、管理されるネットワークのトポロジ情報を取得した後、OpenFlowコントローラは、STPを実行することによって、ルートブリッジの識別子を取得してもよい。当業者は、OpenFlowスイッチが同じ優先度である場合には、ルートブリッジのMACプロトコルアドレスの値は、同一のOpenFlowコントローラによって管理される他のOpenFlowスイッチのMACプロトコルアドレスの値よりも小さいということを理解することができる。
【0075】
例えば、管理されるネットワークのトポロジ情報を取得した後、OpenFlowコントローラは、STPを実行することによって、ルートブリッジの識別子を取得してもよい。OpenFlowコントローラによって送信されるルートブリッジ識別子を受信した後、OpenFlowスイッチは、STPを実行して、リンクコストを取得することができる。OpenFlowスイッチは、STPを実行することによって、ルートブリッジ識別子及びリンクコストに基づいて、ルートインタフェースと、非ルート且つ指定外インタフェースと、指定インタフェースとの識別子を取得してもよい。
【0076】
任意で、
パケット転送経路の計算のために使用される情報は、さらに、ルートパスコストを有してもよい。
【0077】
例えば、
OpenFlowスイッチ及びOpenFlowコントローラ間のTCP接続が確立された後、OpenFlowスイッチは、OpenFlowスイッチの各インタフェースの帯域幅をOpenFlowコントローラに送信するために、OpenFlowプロトコルを使用する。OpenFlowプロトコルのために、ONFによって発表されたOpenFlowスイッチ仕様1.0が参照されてもよい。OpenFlowコントローラは、インタフェース帯域幅に基づいて、インタフェースコストを取得することができる。OpenFlowスイッチは、第1インタフェースを使用することによって、隣接OpenFlowスイッチに直接接続される。第1インタフェースの帯域幅は、OpenFlowスイッチから隣接OpenFlowスイッチへの直接リンクのコストに等しい。
【0078】
前記OpenFlowスイッチがルートブリッジに直接接続されないとともに、OpenFlowスイッチとルートブリッジとの間に複数のリンクが存在する場合、OpenFlowコントローラは、複数のルートパスコストを取得するために、複数のリンクのコストをそれぞれ計算してもよい。OpenFlowスイッチからルートブリッジへのリンクのコストは、ルートパスコストである。
【0079】
例えば、管理されるネットワークのトポロジ情報を取得した後、OpenFlowコントローラは、STPを実行することによってルートブリッジの識別子を取得してもよい。OpenFlowコントローラによって送信されるルートブリッジ識別子及びルートパスコストを受信した後、OpenFlowスイッチは、STPを実行することによって、ルートインタフェースと、指定インタフェースと、非ルート且つ指定外インタフェースとの識別子を取得してもよい。
【0080】
当業者は、OpenFlowネットワーク上でSTPが実行された後、複数のインタフェースを持つOpenFlowスイッチの、どの1つ又は複数のインタフェースがループを有するかということを、ルートブリッジ及びネットワークトポロジ情報に基づいて判定されてもよいということを理解することができる。ループが存在する場合、OpenFlowネットワークは、ルートブリッジからOpenFlowスイッチへのリンクのコストに基づいて、どの1つ又は複数のインタフェースがルートインタフェース又は非ルート且つ指定外インタフェースであるかを判定することができる。
【0081】
当業者は、OpenFlowスイッチのインタフェースがルートインタフェースか、指定インタフェースか、又は非ルート且つ指定外インタフェースであるかどうかの判定を行うプロセスは、パケット転送経路の計算のプロセスに属するということを理解することができる。
【0082】
任意で、
コントロールプレーン装置が、パケット転送経路の計算のために使用される情報をフォワーディングプレーン装置に送信する前に、前記方法は、
コントロールプレーン装置によって、ネットワークトポロジ情報を取得するステップであって、ネットワークトポロジ情報は、パケット転送経路の計算のために使用される情報である、ステップを有する。
【0083】
例えば、コントロールプレーン装置は、拡張LLDPに基づいてネットワークトポロジ情報を取得してもよい。
【0084】
任意で、
パケット転送経路の計算のために使用される情報は、LSDBを有する。
【0085】
任意で、
コントロールプレーン装置が、フォワーディングプレーン装置を管理することができないとき、フォワーディングプレーン装置は、転送経路の計算のために使用される情報に基づいて転送経路を計算する。
【0086】
例えば、コントロールプレーン装置上の欠陥又はコントロールプレーン装置及びフォワーディングプレーン装置間のリンクの障害が原因で、コントロールプレーン装置は、フォワーディングプレーン装置を管理することができない。
【0087】
図3は、本発明の実施形態に係る、情報を受信するための装置の概略構成図である。図3において示される装置は、図1において示される方法を使用することによって実行されてもよい。前記装置は、フォワーディングプレーン装置である。図3において示されるように、前記装置は、トリガ部301と受信部302とを有する。
【0088】
前記コントロールプレーン装置が、フォワーディングプレーン装置を管理することができるとき、トリガ部301は受信部302をトリガして、コントロールプレーン装置によって送信される、パケット転送経路の計算のために使用される情報を受信するように構成される。
【0089】
前記受信部302は、パケット転送経路の計算のために使用される情報を受信するように構成され、フォワーディングプレーン装置及びコントロールプレーン装置は、フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャを持つネットワーク内に配置される。
【0090】
前記コントロールプレーン装置が、フォワーディングプレーン装置を管理することができるという事実は、コントロールプレーン装置が、制御チャネルを使用することによってフォワーディングプレーン装置と通信することができるということを意味する。
【0091】
上述の技術的解決手段に基づいて、コントロールプレーン装置がフォワーディングプレーン装置を管理することができるとき、コントロールプレーン装置は、パケット転送経路の計算のために使用される情報を、フォワーディングプレーン装置に送信する。従って、本発明の実施形態において提供される技術的解決手段に基づくと、フォワーディングプレーン装置は、パケット転送経路の計算のために使用される情報に基づいてパケット転送経路を計算する前に、パケット転送経路の計算のために使用される情報を能動的に取得する必要はない。
【0092】
任意で、
前記装置はさらに、受信部302によって受信されたパケット転送経路の計算のために使用される情報に基づいてパケット転送経路を計算するように構成される、計算部を有する。
【0093】
例えば、フォワーディングプレーン装置は、STPに基づいてパケット転送経路を計算してもよい。フォワーディングプレーン装置はまた、IS−ISプロトコルに基づいてパケット転送経路を計算してもよい。
【0094】
例えば、OpenFlowスイッチが、STPに基づいて転送経路を計算するとき、使用されるアルゴリズムは、ベルマン・フォードアルゴリズム、ダイクストラアルゴリズム、フロイド・ワーシャルアルゴリズム、又はジョンソンアルゴリズムであってもよい。フォワーディングプレーン装置が、STPに基づいてパケット転送経路を計算するとき、パケット転送経路は、次の情報:ルートブリッジ識別子、ルートインタフェース識別子及び指定インタフェース識別子によって示されてもよい。
【0095】
例えば、OpenFlowスイッチが、IS−ISプロトコルに基づいて転送経路を計算するとき、使用されるアルゴリズムは、SPFアルゴリズムであってもよい。
【0096】
任意で、
受信部302は、パケット転送経路の計算のために使用される情報を受信するように構成され、パケット転送経路の計算のために使用される情報は、
コントロールプレーン装置によって、ネットワークトポロジ情報を取得するステップと、
ネットワークトポロジ情報に基づいて、パケット転送経路の計算のために使用される情報を、コントロールプレーン装置によって生成するステップと
において取得されてもよい。
【0097】
前記ネットワークトポロジ情報は、それらの任意の2つのうち1つを使用することによって、直接接続されたネットワーク要素が、他のネットワーク要素に接続される、ローカルインタフェース及びリモートインタフェースを有する。例えば、コントロールプレーン装置は、拡張LLDPを実行することによって、ネットワークトポロジ情報を取得する。
【0098】
例えば、OpenFlowコントローラ及び管理されるOpenFlowスイッチ間のTCP接続が確立された後、OpenFlowコントローラは、管理されるOpenFlowスイッチ上のインタフェースを知ることができる。OpenFlowコントローラは、拡張LLDPメッセージを、管理されるOpenFlowスイッチに送信する。拡張LLDPメッセージは、管理されるOpenFlowスイッチの識別子及びインタフェース識別子を運ぶ。
【0099】
前記管理されるOpenFlowスイッチが、複数のインタフェースを持つ場合、OpenFlowコントローラは、管理されるOpenFlowスイッチに、複数の拡張LLDPメッセージを送信する。複数の拡張LLDPメッセージは、複数のインタフェースに、一対一で対応する。複数の拡張LLDPメッセージの各々は、対応するインタフェースのインタフェース識別子を運ぶ。拡張LLDPメッセージを受信した後、管理されるOpenFlowスイッチは、管理されるOpenFlowスイッチのインタフェースを使用することによって、隣接OpenFlowスイッチへのインタフェースに対応する拡張LLDPメッセージを転送する。拡張LLDPメッセージを受信した後、隣接OpenFlowスイッチは、自身の識別子を拡張LLDPメッセージに追加して、新たな拡張LLDPメッセージを生成する。隣接OpenFlowスイッチは、制御チャネルを使用することによって、OpenFlowコントローラに新たな拡張LLDPメッセージを送信する。
【0100】
上述のメカニズムに基づいて、OpenFlowコントローラは、新たな拡張LLDPメッセージから、OpenFlowスイッチによって隣接OpenFlowスイッチに接続するために使用されるインタフェースを知ることができる。
【0101】
同様のメカニズムに基づいて、OpenFlowコントローラはさらに、隣接OpenFlowスイッチによって、さらにその隣接OpenFlowスイッチに接続するために使用されるインタフェースを取得してもよい。
【0102】
上述の処理を繰り返すことによって、OpenFlowコントローラは、管理されるネットワークのトポロジ情報を取得することができる。
【0103】
任意で、
パケット転送経路の計算のために使用される情報は、ルートブリッジの識別子を有する。
【0104】
例えば、管理されるネットワークのトポロジ情報を取得した後、OpenFlowコントローラは、STPを実行することによって、ルートブリッジの識別子を取得してもよい。当業者は、OpenFlowスイッチが同じ優先度である場合には、ルートブリッジのMACプロトコルアドレスの値は、同一のOpenFlowコントローラによって管理される他のOpenFlowスイッチのMACプロトコルアドレスの値よりも小さいということを理解することができる。
【0105】
例えば、管理されるネットワークのトポロジ情報を取得した後、OpenFlowコントローラは、STPを実行することによって、ルートブリッジの識別子を取得してもよい。OpenFlowコントローラによって送信されるルートブリッジ識別子を受信した後、OpenFlowスイッチは、STPを実行して、リンクコストを取得することができる。OpenFlowスイッチは、STPを実行することによって、ルートブリッジ識別子及びリンクコストに基づいて、ルートインタフェースと、非ルート且つ指定外インタフェースと、指定インタフェースとの識別子を取得してもよい。
【0106】
任意で、
パケット転送経路の計算のために使用される情報は、さらに、ルートパスコストを有してもよい。
【0107】
例えば、
OpenFlowスイッチ及びOpenFlowコントローラ間のTCP接続が確立された後、OpenFlowスイッチは、OpenFlowスイッチの各インタフェースの帯域幅をOpenFlowコントローラに送信するために、OpenFlowプロトコルを使用する。OpenFlowプロトコルのために、ONFによって発表されたOpenFlowスイッチ仕様1.0が参照されてもよい。OpenFlowコントローラは、インタフェース帯域幅に基づいて、インタフェースコストを取得することができる。OpenFlowスイッチは、第1インタフェースを使用することによって、隣接OpenFlowスイッチに直接接続される。第1インタフェースの帯域幅は、OpenFlowスイッチから隣接OpenFlowスイッチへの直接リンクのコストに等しい。
【0108】
前記OpenFlowスイッチがルートブリッジに直接接続されないとともに、OpenFlowスイッチとルートブリッジとの間に複数のリンクが存在する場合、OpenFlowコントローラは、複数のルートパスコストを取得するために、複数のリンクのコストをそれぞれ計算してもよい。OpenFlowスイッチからルートブリッジへのリンクのコストは、ルートパスコストである。
【0109】
例えば、管理されるネットワークのトポロジ情報を取得した後、OpenFlowコントローラは、STPを実行することによってルートブリッジの識別子を取得してもよい。OpenFlowコントローラによって送信されるルートブリッジ識別子及びルートパスコストを受信した後、OpenFlowスイッチは、STPを実行することによって、ルートインタフェースと、指定インタフェースと、非ルート且つ指定外インタフェースとの識別子を取得してもよい。
【0110】
当業者は、OpenFlowネットワーク上でSTPが実行された後、複数のインタフェースを持つOpenFlowスイッチの、どの1つ又は複数のインタフェースがループを有するかということを、ルートブリッジ及びネットワークトポロジ情報に基づいて判定されてもよいということを理解することができる。ループが存在する場合、OpenFlowネットワークは、ルートブリッジからOpenFlowスイッチへのリンクのコストに基づいて、どの1つ又は複数のインタフェースがルートインタフェース又は非ルート且つ指定外インタフェースであるかを判定することができる。
【0111】
当業者は、OpenFlowスイッチのインタフェースがルートインタフェースか、指定インタフェースか、又は非ルート且つ指定外インタフェースであるかどうかの判定を行うプロセスは、パケット転送経路の計算のプロセスに属するということを理解することができる。
【0112】
任意で、
受信部302は、パケット転送経路の計算のために使用される情報を受信するように構成され、パケット転送経路の計算のために使用される情報は、
コントロールプレーン装置によってネットワークトポロジ情報を取得するステップであって、ネットワークトポロジ情報は、パケット転送経路の計算のために使用される情報である、ステップ
において取得される。
【0113】
例えば、コントロールプレーン装置は、拡張LLDPに基づいてネットワークトポロジ情報を取得してもよい。
【0114】
任意で、
パケット転送経路の計算のために使用される情報は、LSDBを有する。
【0115】
任意で、
前記装置は、転送経路の計算のために使用される情報を格納するように構成される、記憶部を有してもよい。
【0116】
任意で、
計算部は、コントロールプレーン装置が、フォワーディングプレーン装置を管理することができないとき、転送経路の計算のために使用される情報に基づいて転送経路を計算するように構成される。
【0117】
例えば、
コントロールプレーン装置上の欠陥又はコントロールプレーン装置及びフォワーディングプレーン装置間のリンクの障害が原因で、コントロールプレーン装置は、フォワーディングプレーン装置を管理することができない。
【0118】
図4は、本発明の実施形態に係る、情報を送信するための装置の概略構成図である。図4において示される装置は、図2において示される方法を使用することによって実行されてもよい。前記装置は、コントロールプレーン装置である。図4において示されるように、前記装置は、トリガ部401と送信部402とを有する。
【0119】
前記コントロールプレーン装置が、フォワーディングプレーン装置を管理することができるとき、トリガ部401は送信部402をトリガして、パケット転送経路の計算のために使用される情報を、フォワーディングプレーン装置に送信するように構成される。
【0120】
前記送信部402は、パケット転送経路の計算のために使用される情報を送信するように構成され、フォワーディングプレーン装置及びコントロールプレーン装置は、フォワーディング及びコントロール要素の分離を特徴とするネットワークアーキテクチャを持つネットワーク内に配置される。
【0121】
前記コントロールプレーン装置が、フォワーディングプレーン装置を管理することができるという事実は、コントロールプレーン装置が、制御チャネルを使用することによってフォワーディングプレーン装置と通信することができるということを意味する。
【0122】
上述の技術的解決手段に基づいて、コントロールプレーン装置がフォワーディングプレーン装置を管理することができるとき、コントロールプレーン装置は、パケット転送経路の計算のために使用される情報を、フォワーディングプレーン装置に送信する。従って、本発明の実施形態において提供される技術的解決手段に基づくと、フォワーディングプレーン装置は、パケット転送経路の計算のために使用される情報に基づいてパケット転送経路を計算する前に、パケット転送経路の計算のために使用される情報を能動的に取得する必要はない。
【0123】
任意で、
フォワーディングプレーン装置は、パケット転送経路の計算のために使用される情報を受信した後、パケット転送経路の計算のために使用される情報に基づいてパケット転送経路を計算してもよい。
【0124】
例えば、フォワーディングプレーン装置は、STPに基づいてパケット転送経路を計算してもよい。フォワーディングプレーン装置はまた、IS−ISプロトコルに基づいてパケット転送経路を計算してもよい。
【0125】
例えば、OpenFlowスイッチが、STPに基づいて転送経路を計算するとき、使用されるアルゴリズムは、ベルマン・フォードアルゴリズム、ダイクストラアルゴリズム、フロイド・ワーシャルアルゴリズム、又はジョンソンアルゴリズムであってもよい。フォワーディングプレーン装置が、STPに基づいてパケット転送経路を計算するとき、パケット転送経路は、次の情報:ルートブリッジ識別子、ルートインタフェース識別子及び指定インタフェース識別子によって示されてもよい。
【0126】
例えば、OpenFlowスイッチが、IS−ISプロトコルに基づいて転送経路を計算するとき、使用されるアルゴリズムは、SPFアルゴリズムであってもよい。
【0127】
任意で、
前記装置はさらに、
送信部402がパケット転送経路の計算のために使用される情報を送信する前に、ネットワークトポロジ情報を取得するとともに、ネットワークトポロジ情報に基づいて、パケット転送経路の計算のために使用される情報を生成するように構成される、第1生成部を有する。
【0128】
前記ネットワークトポロジ情報は、それらの任意の2つのうち1つを使用することによって、直接接続されたネットワーク要素が、他のネットワーク要素に接続される、ローカルインタフェース及びリモートインタフェースを有する。例えば、コントロールプレーン装置は、拡張LLDPを実行することによって、ネットワークトポロジ情報を取得する。
【0129】
例えば、OpenFlowコントローラ及び管理されるOpenFlowスイッチ間のTCP接続が確立された後、OpenFlowコントローラは、管理されるOpenFlowスイッチ上のインタフェースを知ることができる。OpenFlowコントローラは、拡張LLDPメッセージを、管理されるOpenFlowスイッチに送信する。拡張LLDPメッセージは、管理されるOpenFlowスイッチの識別子及びインタフェース識別子を運ぶ。
【0130】
前記管理されるOpenFlowスイッチが、複数のインタフェースを持つ場合、OpenFlowコントローラは、管理されるOpenFlowスイッチに、複数の拡張LLDPメッセージを送信する。複数の拡張LLDPメッセージは、複数のインタフェースに、一対一で対応する。複数の拡張LLDPメッセージの各々は、対応するインタフェースのインタフェース識別子を運ぶ。拡張LLDPメッセージを受信した後、管理されるOpenFlowスイッチは、管理されるOpenFlowスイッチのインタフェースを使用することによって、隣接OpenFlowスイッチへのインタフェースに対応する拡張LLDPメッセージを転送する。拡張LLDPメッセージを受信した後、隣接OpenFlowスイッチは、自身の識別子を拡張LLDPメッセージに追加して、新たな拡張LLDPメッセージを生成する。隣接OpenFlowスイッチは、制御チャネルを使用することによって、OpenFlowコントローラに新たな拡張LLDPメッセージを送信する。
【0131】
上述のメカニズムに基づいて、OpenFlowコントローラは、新たな拡張LLDPメッセージから、OpenFlowスイッチによって隣接OpenFlowスイッチに接続するために使用されるインタフェースを知ることができる。
【0132】
同様のメカニズムに基づいて、OpenFlowコントローラはさらに、隣接OpenFlowスイッチによって、さらにその隣接OpenFlowスイッチに接続するために使用されるインタフェースを取得してもよい。
【0133】
上述の処理を繰り返すことによって、OpenFlowコントローラは、管理されるネットワークのトポロジ情報を取得することができる。
【0134】
任意で、
パケット転送経路の計算のために使用される情報は、ルートブリッジの識別子を有する。
【0135】
例えば、管理されるネットワークのトポロジ情報を取得した後、OpenFlowコントローラは、STPを実行することによって、ルートブリッジの識別子を取得してもよい。当業者は、OpenFlowスイッチが同じ優先度である場合には、ルートブリッジのMACプロトコルアドレスの値は、同一のOpenFlowコントローラによって管理される他のOpenFlowスイッチのMACプロトコルアドレスの値よりも小さいということを理解することができる。
【0136】
例えば、管理されるネットワークのトポロジ情報を取得した後、OpenFlowコントローラは、STPを実行することによって、ルートブリッジの識別子を取得してもよい。OpenFlowコントローラによって送信されるルートブリッジ識別子を受信した後、OpenFlowスイッチは、STPを実行して、リンクコストを取得することができる。OpenFlowスイッチは、STPを実行することによって、ルートブリッジ識別子及びリンクコストに基づいて、ルートインタフェースと、非ルート且つ指定外インタフェースと、指定インタフェースとの識別子を取得してもよい。
【0137】
任意で、
パケット転送経路の計算のために使用される情報は、さらに、ルートパスコストを有してもよい。
【0138】
例えば、
OpenFlowスイッチ及びOpenFlowコントローラ間のTCP接続が確立された後、OpenFlowスイッチは、OpenFlowスイッチの各インタフェースの帯域幅をOpenFlowコントローラに送信するために、OpenFlowプロトコルを使用する。OpenFlowプロトコルのために、ONFによって発表されたOpenFlowスイッチ仕様1.0が参照されてもよい。OpenFlowコントローラは、インタフェース帯域幅に基づいて、インタフェースコストを取得することができる。OpenFlowスイッチは、第1インタフェースを使用することによって、隣接OpenFlowスイッチに直接接続される。第1インタフェースの帯域幅は、OpenFlowスイッチから隣接OpenFlowスイッチへの直接リンクのコストに等しい。
【0139】
前記OpenFlowスイッチがルートブリッジに直接接続されないとともに、OpenFlowスイッチとルートブリッジとの間に複数のリンクが存在する場合、OpenFlowコントローラは、複数のルートパスコストを取得するために、複数のリンクのコストをそれぞれ計算してもよい。OpenFlowスイッチからルートブリッジへのリンクのコストは、ルートパスコストである。
【0140】
例えば、管理されるネットワークのトポロジ情報を取得した後、OpenFlowコントローラは、STPを実行することによってルートブリッジの識別子を取得してもよい。OpenFlowコントローラによって送信されるルートブリッジ識別子及びルートパスコストを受信した後、OpenFlowスイッチは、STPを実行することによって、ルートインタフェースと、指定インタフェースと、非ルート且つ指定外インタフェースとの識別子を取得してもよい。
【0141】
当業者は、OpenFlowネットワーク上でSTPが実行された後、複数のインタフェースを持つOpenFlowスイッチの、どの1つ又は複数のインタフェースがループを有するかということを、ルートブリッジ及びネットワークトポロジ情報に基づいて判定されてもよいということを理解することができる。ループが存在する場合、OpenFlowネットワークは、ルートブリッジからOpenFlowスイッチへのリンクのコストに基づいて、どの1つ又は複数のインタフェースがルートインタフェース又は非ルート且つ指定外インタフェースであるかを判定することができる。
【0142】
当業者は、OpenFlowスイッチのインタフェースがルートインタフェースか、指定インタフェースか、又は非ルート且つ指定外インタフェースであるかどうかの判定を行うプロセスは、パケット転送経路の計算のプロセスに属するということを理解することができる。
【0143】
任意で、
第2生成部は、送信部402がパケット転送経路の計算のために使用される情報を送信する前に、ネットワークトポロジ情報を取得するように構成され、ネットワークトポロジ情報は、パケット転送経路の計算のために使用される情報である。
【0144】
例えば、コントロールプレーン装置は、拡張LLDPに基づいてネットワークトポロジ情報を取得してもよい。
【0145】
任意で、
パケット転送経路の計算のために使用される情報は、LSDBを有する。
【0146】
任意で、
コントロールプレーン装置が、フォワーディングプレーン装置を管理することができないとき、フォワーディングプレーン装置は、転送経路の計算のために使用される情報に基づいて転送経路を計算する。
【0147】
例えば、コントロールプレーン装置上の欠陥又はコントロールプレーン装置及びフォワーディングプレーン装置間のリンクの障害が原因で、コントロールプレーン装置は、フォワーディングプレーン装置を管理することができない。
【0148】
当業者は、本明細書で開示された実施形態とともに説明される様々な例示的なユニット及びアルゴリズムステップは、電子ハードウェア、又はコンピュータソフトウェア及び電子ハードウェアの組合せによって実施されることができることがわかる。機能がハードウェア又はソフトウェアによって実行されるかどうかは、技術的解決手段の特定のアプリケーション及び設計制約条件に依存する。当業者は、各特定のアプリケーションに対して、説明された機能を実施するために、異なる方法を使用してもよい。しかしながら、そのような実施は、本発明の範囲を超えるものとして考えられるべきではない。
【0149】
便利で簡潔な説明を目的として、前述のシステム、装置及びユニットの詳細な動作プロセスのために、方法の実施形態において対応するプロセスを参照してもよいいとともに、詳細は、本明細書内で繰返し説明はされないということは、当業者によって明確に理解されることができる。
【0150】
本願において提供される実施形態では、開示されたシステム、装置及び方法は、他の形態において実施されてもよいことが理解されるべきである。例えば、説明される装置の実施形態は、単なる例示である。例えば、ユニットの分割は、単に、論理的な機能の分割であるとともに、実際の実施においては他の分割であり得る。例えば、複数のユニット又は構成要素は、別のシステムに組み合わされるか、又は統合されることができ、又は一部の特徴は無視されるか、又は実行されなくてもよい。また、表示される又は議論される相互結合又は直接結合、又は通信接続は、いくつかのインタフェースを使用することによって実施されてもよい。装置間又はユニット間の間接結合又は通信接続は、電気的、機械的、又は他の形態で実施されてもよい。
【0151】
別々の部品として説明されるユニットは、物理的に離れていてもいなくてもよいとともに、ユニットとして表示される部品は、物理的なユニットであってもなくてもよく、1つの位置に配置されてもよいか、又は複数のネットワーク要素上に分散されてもよい。一部又は全てのユニットは、実施形態の解決手段の目的を達成するための、実際の必要に基づいて選択されてもよい。
【0152】
さらに、本発明の実施形態における機能ユニットは、処理ユニットに統合されてもよく、又は各ユニットは、物理的に単独で存在してもよく、又は2か3以上のユニットは、1つのユニットに統合される。
【0153】
ソフトウェア機能ユニットの形態で実施されるとともに、スタンドアロン製品として販売又は使用されるとき、機能は、コンピュータ可読記憶媒体内に格納されてもよい。そのような理解に基づいて、本発明の技術的解決手段の本質や、従来技術への貢献を行う部分や、又は技術的解決手段の一部は、ソフトウェア製品の形態において実施されてもよい。コンピュータソフトウェア製品は記憶媒体内に格納されるとともに、本発明の任意の実施形態における方法のステップの全て又は一部を実行するために、コンピュータ(例えば、パーソナルコンピュータ、サーバ、又はネットワークデバイス等)に命令を行うためのいくつかの命令を組み込んでもよい。記憶媒体は、Uディスクや、リムーバブルハードディスクや、読出し専用メモリ(ROM:Read−Only Memory)や、ランダムアクセスメモリ(RAM:Random Access Memory)や、磁気ディスクや、又はCD−ROM等のような、プログラムコードを格納することができる任意の媒体を有する。
【0154】
上述の説明は、単に本発明の好ましい実施形態であって、本発明の保護範囲を限定するものではない。本発明の範囲から逸脱することなく、当業者によって容易に導き出されることができるいかなる変更及び置換も、本発明の保護範囲内に含まれるものとする。従って、本発明の保護範囲は、添付の特許請求の範囲の対象となる。
【符号の説明】
【0155】
301 トリガ部
302 受信部
401 トリガ部
402 送信部
図1
図2
図3
図4