JP2017511073A - ハイブリッドネットワークにおけるパス選択 - Google Patents

ハイブリッドネットワークにおけるパス選択 Download PDF

Info

Publication number
JP2017511073A
JP2017511073A JP2016561327A JP2016561327A JP2017511073A JP 2017511073 A JP2017511073 A JP 2017511073A JP 2016561327 A JP2016561327 A JP 2016561327A JP 2016561327 A JP2016561327 A JP 2016561327A JP 2017511073 A JP2017511073 A JP 2017511073A
Authority
JP
Japan
Prior art keywords
switches
cost
link
switch
path
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016561327A
Other languages
English (en)
Other versions
JP6271039B2 (ja
Inventor
クリスチャン ルメザヌ、
クリスチャン ルメザヌ、
チェン ジン、
チェン ジン、
ホイ ジャン、
ホイ ジャン、
アブヒシェック シャルマ、
アブヒシェック シャルマ、
キアング ジュ、
キアング ジュ、
ニプン アロラ、
ニプン アロラ、
グオフェイ ジアン、
グオフェイ ジアン、
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Laboratories America Inc
Original Assignee
NEC Laboratories America Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Laboratories America Inc filed Critical NEC Laboratories America Inc
Publication of JP2017511073A publication Critical patent/JP2017511073A/ja
Application granted granted Critical
Publication of JP6271039B2 publication Critical patent/JP6271039B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/14Routing performance; Theoretical aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/18Loop-free operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer

Abstract

相互接続されたコンピュータおよびスイッチのハイブリッドネットワークにおいてレガシースイッチルーティングを制御するためのシステムおよび方法であって、ハイブリッドネットワーク(400)の物理ネットワークトポロジにわたって最小スパニングツリー(MST)(306)と転送グラフ(FWG)(308)とを生成することによって、ハイブリッドネットワークのためのネットワークアンダーレイを生成すること(304)と、最小コストマッピングを用いて初期パスを最適化すること(312)によって、FWGにおけるホスト間の最適パスを決定することと、プログラマブルスイッチにおいて、レガシースイッチ(516)のための転送規則のインストールをトリガーするための特殊パケットを生成およびインストールすることによって、最適パスを強制する(314)ように初期パスを調整すること(310)とを含む。

Description

関連出願情報
本出願は、2014年8月25日に出願された米国仮特許出願第62/041,600号に対する優先権を主張する。この米国仮特許出願の内容は、参照により本明細書に援用される。
技術分野
本発明は、包括的には、ハイブリッドネットワークにおけるスイッチルーティングの制御に関し、より詳細には、ハイブリッドネットワークにおけるレガシースイッチおよびプログラマブルスイッチのルーティングを制御するためのシステムおよび方法に関する。
従来技術の説明
ハイブリッドネットワークは、レガシースイッチとプログラマブル(例えば、OpenFlow(商標))スイッチとの双方を含み、これによって、ネットワーク全体のアップグレードを必要とすることなく、ソフトウェア定義ネットワーキング(SDN)を用いることにより、ネットワークパフォーマンスが改善される。従来のシステムおよび方法は、ネットワーク内の重要な位置に配置されたスイッチにSDN機能を付加し、多くのSDNパラダイム(例えば、ルーティング、アクセス制御等)の制御を達成するために、各フローが少なくとも1つのそのようなスイッチをトラバースすることを確実にする。一方、制御点はSDN対応デバイスに限定され、オペレータは、SDNスイッチ間のレガシーパスに対し、きめの細かいポリシーを施行することができない。
SDNは、ネットワークデバイスを制御し、ネットワークとインタラクトするための、論理的に集中型のインタフェースを提供する。オペレータは、集中型コントローラから実行されるプログラムを用いて、ネットワーク管理タスク(例えば、トラフィックエンジニアリング、アクセス制御等)を実行する。SDNによって提供される柔軟な制御および拡張された可視性により、ネットワークの運用コストを大幅に低減してもよい。一方、SDNの利益を完全に得るには、通常、かなりの初期投資が必要である。なぜなら、ネットワークプロバイダは通常、全てのレガシーデバイスをアップグレードするか、またはプログラマブルデバイス(例えば、その転送テーブルが、論理的に集中型のコントローラから、専用プロトコルを用いて遠隔でプログラマブルであるデバイス(例えば、OpenFlow(商標))と交換しなくてはならないためである。
近年、ネットワーク(例えば、プログラマブルスイッチおよびレガシースイッチを含むハイブリッドネットワーク)における僅かな数の戦略的に選択されたデバイスをアップグレードすることによって、SDNのほとんどの利点を維持しながら、SDNの資本支出を低減するための試みが行われてきた。一方、従来のシステムは、SDN対応デバイスを通じてパスを制御するのに有効であるが、レガシースイッチの構成に、結果としてレガシーネットワーク全体に動的に影響を及ぼすことができない。2つのSDNスイッチ間のレガシーネットワークパスは、通常、VLANまたはトンネルを用いて粗く制御されるか、または単にレイヤ2のルーティングプロトコル(例えば、STP、ECMP)の許容範囲に委ねられている。
レガシーレイヤ2ネットワークにおいてパスを決定する一般的な方法は、スイッチに最小スパニングツリー(MST)を構築させ、次に、このスパニングツリーの一部でないリンクをオフにさせることである。ホスト間のパスは、単純に、ツリー内のホスト間のパスである。一方、ネットワークにより計算されたスパニングツリーに依拠することにより、利用可能なパスのダイバーシティが制限され、多くのパスが不要に拡張され、それによってエンドツーエンドのパフォーマンスがマイナスの影響を受ける。MSTを実行する元々の目的は、ネットワークにおけるループを回避することである。デフォルトにより、スイッチが未知のプロパティを有するパケットを認識したとき、またはスイッチがブロードキャストパケットを受信したとき、スイッチは通常、このパケットを、着信(incoming)インタフェースを除く全てのインタフェース(例えば、ポート)において送信する。一方、ネットワークトポロジがループを含む場合、パケットは継続的に無期限にループする場合がある。
相互接続されたコンピュータおよびスイッチの1つまたは複数のハイブリッドネットワークにおいてレガシースイッチルーティングを制御するための、コンピュータによって実施される方法であって、この1つまたは複数のハイブリッドネットワークの物理ネットワークトポロジにわたって最小スパニングツリー(MST)と転送グラフ(FWG)とを生成することによって、この1つまたは複数のハイブリッドネットワークのためのネットワークアンダーレイを生成することと、最小コストマッピングを用いて初期パスを最適化することによって、FWGにおけるホスト間の最適パスを決定することと、1つまたは複数のプログラマブルスイッチにおいて、1つまたは複数のレガシースイッチにおける転送規則のインストールをトリガーするための特殊パケットを生成およびインストールすることによって、最適パスを強制するように初期パスを調整することとを含む、方法。
相互接続されたコンピュータおよびスイッチの1つまたは複数のハイブリッドネットワークにおいてレガシースイッチルーティングを制御するためのシステムであって、この1つまたは複数のハイブリッドネットワークの物理ネットワークトポロジにわたって最小スパニングツリー(MST)と転送グラフ(FWG)とを構築するためのネットワークアンダーレイ生成器と、最小コストマッピングを用いて初期パスを最適化することによって、FWGにおけるホスト間の最適パスを決定するための最適化器と、1つまたは複数のプログラマブルスイッチにおいて、1つまたは複数のレガシースイッチのための転送規則のインストールをトリガーするための特殊パケットを生成およびインストールすることによって、最適パスを強制するためのコントローラとを備えている、システム。
コンピュータ可読プログラムを備えるコンピュータ可読ストレージ媒体であって、このコンピュータ可読プログラムは、コンピュータにおいて実行されると、このコンピュータに、1つまたは複数のハイブリッドネットワークの物理ネットワークトポロジにわたって最小スパニングツリー(MST)と転送グラフ(FWG)とを生成することによって、相互接続されたコンピュータおよびスイッチの1つまたは複数のハイブリッドネットワークのためのネットワークアンダーレイを生成するステップと、最小コストマッピングを用いて初期パスを最適化することによって、FWGにおけるホスト間の最適パスを決定するステップと、1つまたは複数のプログラマブルスイッチにおいて、1つまたは複数のレガシースイッチのための転送規則のインストールをトリガーするための特殊パケットを生成およびインストールすることによって、最適パスを強制するように初期パスを調整するステップとを実行させる、コンピュータ可読ストレージ媒体。
本発明のこれらの利点および他の利点は、以下の詳細な説明および添付の図面を参照することによって、当業者に明らかとなるであろう。
本開示は、以下の図面を参照して、好ましい実施形態の以下の説明において詳細を提供する。
本原理の一実施形態による、本原理が適用されてもよい処理システムの一例を示す図である。 本原理の一実施形態による、ネットワークパス更新のための高水準のシステム/方法の一例を示す図である。 本原理の一実施形態による、ハイブリッドネットワークにおけるスイッチルーティングを制御するための方法の一例を示す図である。 本原理の一実施形態による、ハイブリッドネットワークにおける初期ネットワークパスおよび更新されたネットワークパスを説明的に示すシステム/方法の一例を示す図である。 本原理の一実施形態による、ハイブリッドネットワークにおけるスイッチルーティングを制御するためのシステムの一例を示す図である。
本原理は、ハイブリッドネットワークにおけるレガシースイッチおよびプログラマブル(例えば、OpenFlow(商標))スイッチを制御するためのシステムおよび方法を対象とする。特に有用な実施形態では、本原理を利用して、1つまたは複数の仮想端末ネットワーク(VTN)によって利用されてもよい物理ネットワークトポロジにわたって1つまたは複数の最小スパニングツリー(MST)および1つまたは複数の転送グラフ(FWG)を決定してもよい。リンクごとにMSTを決定するための複数のコスト関数が検討されてもよく、最良の利益/コスト比を有するMSTが選択されてもよい。FWGを決定するために、生成されたMSTから開始し、プログラマブル(例えば、OpenFlow(商標))スイッチに付随する全てのリンクを加えることによって本原理が利用されてもよい。
一実施形態では、FWGにおいて、本原理(例えば、貪欲最短パス、多品種フロー問題、ランダム等の方法を用いて)に従って最適化を実行し、VTNのための最適パスを決定してもよい。次に、決定されたパスは、(例えば、SNMPを用いて)FWGの一部でない全ての物理リンクをオフにすることによって、コントローラによって強制/制御されてもよく、FWGの一部であるがMSTの一部でない全てのリンクにおけるブロードキャストトラフィックをドロップするために、規則が1つまたは複数のプログラマブル(例えば、OpenFlow(商標))スイッチにおいてインストールされてもよい。本原理の様々な実施形態によれば、次に、トラフィックは、決定された経路に沿って転送されてもよい。
本原理は、プログラマブルスイッチの能力を活用してパスのパフォーマンスおよび/またはダイバーシティを改善することによって、(エンドホスト間のパスの計算に用いられる)1つまたは複数のアンダーレイグラフを向上させてもよい。一実施形態では、本原理によるシステムおよび方法は、FWGグラフを1つまたは複数のネットワークのレガシー部分においてループなしに保持しておくことによって、ループを回避するためのレガシーネットワークおよびスイッチの要件に適合してもよい。一方、様々な実施形態によれば、スパニングツリーおよびFWGの計算をアプリケーションにアウトソーシングする(このため、これらを分散型ではなく集中型にする)ことによって、本原理を利用して、プロセスの開始時に従来のシステムおよび方法よりも正確な初期MSTを決定してもよい。
本原理は、様々な実施形態によるハイブリッドデータセンターアーキテクチャにおいて実行されるテナントのためのパフォーマンス改善を提供する。本原理を用いて、従来のシステムおよび方法を用いて可能であるよりも価値のある付加サービス(例えば、1つまたは複数のテナントの仮想マシン(VM)間の基礎をなすネットワーク通信のパフォーマンスに依拠する)が導入されてもよい。様々な実施形態によれば、本原理をさらに利用して、従来のシステムおよび方法よりも迅速に、かつ低い計算コストで、データセンタネットワークを、レガシースイッチのみのネットワークからレガシースイッチおよびプログラマブルスイッチのハイブリッドネットワーク(またはプログラマブルスイッチのみのネットワーク)へと遷移させてもよい。
一実施形態では、ネットワーク管理フレームワークを利用して、本原理によるプログラマブルスイッチを用いるハイブリッドSDNにおけるレガシーパスに対し、きめの細かいルーティング制御を行ってもよい。レガシースイッチにおけるルーティングエントリを更新するために、本原理は、様々な実施形態に従って単純なプリミティブ(例えば、LegacyFlowMod)を利用してもよい。プログラマブルスイッチ(例えば、A)、レガシースイッチ(例えば、B)、レガシースイッチにおけるポート(例えば、p)およびmacアドレス(例えば、m)に関する単純なプリミティブ(例えば、LegacyFlowMod)を呼び出すとき、本原理を利用して、プログラマブルスイッチに、(例えば、ソースMACとしてmを用いて)特殊なパケットをレガシースイッチにおけるポートpに送信するように命令してもよい。説明の目的で、BがMAC学習を実行すると仮定してもよく、したがって、Bがmのための自身の転送エントリを更新してもよい。これによって、プログラマブルスイッチおよびMAC学習を用いてレガシースイッチにおける転送エントリの遠隔操作が可能になる。
一実施形態において、本原理を利用して、ネットワークにフェイクの無害な情報を投入することによって、ネットワークルーティングに間接的に影響を及ぼしてもよい。本原理は、ハイブリッドSDNネットワーク(例えば、レガシースイッチおよびプログラマブルスイッチを含む)においてレイヤ2で機能してもよく、様々な実施形態による高度にきめの細かいレガシーパス制御を提供することによって、パスダイバーシティを改善してもよい。いくつかの実施形態では、全てのネットワークパスが強制されなくてもよい。例えば、ポートpに対するMAC mのための転送エントリを更新することは、スイッチがポートpにおいてアクセス可能であることを必要とする場合がある。このために、pは、プログラマブルスイッチに直接接続されてもよく、またはMACレベルルーティング(例えば、スパニングツリー)を制御するレイヤ2アンダーレイの一部であってもよい。更新のためのパスを与えられると、本原理を利用して、まず、パス上の全てのスイッチについて更新が可能であるか否かをチェックし、次に更新の実行を試行してもよい。
一実施形態において、元のパスをトラバースするデータトラフィックがない場合、一定のオーバヘッド(例えば、新たなパスにおけるレガシースイッチの数に比例するが、必ずしも古いパスにおけるレガシースイッチの数には比例しない)を用いて新たなパス対し構成が更新されてもよい。元のパスにおけるデータトラフィックは、新たなパスにおける全てのスイッチが十分迅速に更新されるわけではない場合、パス更新を上書きしてもよく、このため、いくつかの実施形態では、更新が少なくとも最終的に適用されることを確保するために、本原理に従って、基礎をなすトラフィックのレートに適合してもよく、これに応じて特殊パケットのレートが調整されてもよい。
一実施形態では、本原理を利用して、レガシースイッチインタフェース(例えば、同じハイブリッドネットネットワーク内のSDNスイッチから到達可能である)のための転送エントリを遠隔で構成してもよい。いくつかの実施形態では、単純なプリミティブ(例えば、LegacyFlowMod)に基づいて、本原理によるハイブリッドネットワークコントローラは、ハイブリッドネットワークにおいて展開されるプログラマブルスイッチ(例えば、OpenFlow(商標))のための従来のコントローラよりも、高いダイバーシティおよびきめ細かなパス制御を可能にしてもよい。
本原理を詳細に説明する前に、本原理の様々な実施形態の理解を容易にするために、ハイブリッドネットワークおよびパス強制に関する背景。ハイブリッドネットワークは、プログラマブルスイッチとレガシー(例えば、非プログラマブルスイッチ)との双方を含んでいてもよく、展開するためのコストと、ソフトウェア定義ネットワークを有することから得られる利益とのトレードオフをネットワークプロバイダに提供してもよい。ネットワークプロバイダは、いくつかのプログラマブルスイッチを追加するためにネットワーク全体をアップグレードする必要がないため、プロバイダは、コストが法外に高くなることなく、SDNによって提供される制御および可視性の向上をうまく利用してもよい。一方、従来のシステムにおける制御の向上は、依然としてSDN対応(例えば、プログラマブル)デバイスのみに限定されており、いずれの既存のハイブリッドネットワークも、現在のところ、レガシーデバイスの構成を動的に管理する方法を提供していない。このため、従来のシステムおよび方法を用いるSDNスイッチ間のレガシーパスは、手動で(例えば、VLANを用いて)セットアップされなくてはならないか、またはレイヤ2プロトコル(例えば、STP)の監督下に残しておかなくてはならない。
本原理の理解を容易にするために、レガシーネットワークおよびソフトウェア定義ネットワーク(SDN)におけるパス強制の短い概観を以下で説明する。
レガシーネットワークにおいて、標準的なレイヤ2のイーサネット(登録商標)スイッチは、2つの主な機能、すなわち、(例えば、宛先MACアドレスに向けた次ホップスイッチの)学習および(例えば、学習した情報によるパケットの)転送を実行してもよい。パケットのための次ホップスイッチを学習するために、レイヤ2スイッチは、パケットが到達したポートを除く全てのポートにおいてパケットをブロードキャストする。ループを防止するために、複数のリンクを(例えば、STPを用いて)オフにし、(例えば、リンクアグリゲーションを用いて)アグリゲートすることによって、基礎をなすトポロジがスパニングツリーに限定されてもよい。
レガシーネットワークにおいて、特殊MACアドレスを用いてパケットを転送するためのポートを学習するために、スイッチはMAC学習を用いる。すなわち、ソースアドレスmを有するパケットがポートpに到達する場合、スイッチは、宛先アドレスを有する任意の未来のパケットがpを通じて送達され得ると仮定する。パケットのパスは静的であってもよく、ネットワークにおいてトポロジまたは構成の変化が存在する場合にのみ変化してもよい。パスダイバーシティを増大させるために、オペレータは、ネットワークを、各々が独自のスパニングツリーおよび転送エントリの組を有する複数のVLANにスライスしてもよい。一方、ブロードキャストループを防止するためにスパニングツリーを用いることによって、パス選択の柔軟性が制限され(例えば、実現可能なパスがスパニングツリーリンクを含まなくてはならないため)、ネットワークパフォーマンスが制限される(パスがはるかに必要以上に長くなる場合があるため)。
ソフトウェア定義ネットワーク(SDN)では、オペレータ(またはプログラム)は、特殊化されたプロトコル(例えば、OpenFlow(商標))を用いて論理的に集中型のコントローラからそれらの転送エントリを遠隔で変更してもよい。このため、スイッチは、負荷のかかるブロードキャストまたは複雑な構成を必要とすることなく、未知の宛先およびルーティングポリシーに関して学習してもよい。レガシーネットワークと異なり、SDNは、トポロジ全体にわたって明示的なかつ高速なパス制御を提供する。ネットワークの全てのスイッチがプログラマブルSDNスイッチである場合、スイッチに明示的な規則を付加して、ホスト間に任意のパスをセットアップし、これによってレガシーネットワークにわたってパス選択の柔軟性およびネットワークパフォーマンスの双方を改善してもよい。
ハイブリッドネットワークにおいて、本原理の様々な実施形態に従って、(例えば、パス選択およびネットワークパフォーマンスに関して)SDNの利点のうちのいくつかが保持されてもよい。例えば、ネットワークにおけるレガシースイッチが、プログラマブルスイッチと交換される場合、本原理を利用してプログラマブルスイッチを制御してもよい。本原理によれば、一実施形態では、新たなパスが決定され、プログラマブルスイッチから(または遠隔で)制御されてもよく、スイッチはネットワーク内の制御点として利用されてもよい。一実施形態では、ネットワークに別の制御点を加えることによって、最適パスが決定され、スイッチにおいて(または遠隔で)制御されてもよい。本原理の一実施形態によれば、レガシースイッチにおける転送エントリを遠隔で構成するためのレガシースイッチにおける専用プロトコル(例えば、OpenFlow(商標))および学習機能を用いて、パス上のプログラマブル(例えば、OpenFlow(商標))スイッチおよびレガシースイッチの双方を制御することによって、パスが完全に制御されてもよい。
本明細書において説明される実施形態は、完全にハードウェアであってもよく、ハードウェア要素およびソフトウェア要素の双方を含んでもよいことを理解するべきである。ソフトウェア要素は、限定ではないが、ファームウェア、常駐ソフトウェア、マイクロコード等を含む。好ましい実施形態では、本発明はハードウェアにおいて実装される。本発明は、システム、方法および/またはコンピュータプログラム製品であってもよい。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるための、コンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体を含んでいてもよい。
実施形態は、コンピュータもしくは任意の命令実行システムによってまたはこれらと接続して用いるためのプログラムコードを提供するコンピュータ使用可能媒体またはコンピュータ可読媒体からアクセス可能なコンピュータプログラム製品を含んでいてもよい。このコンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、装置またはデバイスによってまたはこれらと接続して用いるためのプログラムを記憶、通信、伝搬またはトランスポートする任意の装置を含んでいてもよい。この媒体は、磁気、光、電子、電磁、赤外、もしくは半導体システム(または装置もしくはデバイス)または伝搬媒体であり得る。この媒体は、半導体もしくはソリッドステートメモリ、磁気テープ、取り外し可能コンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、剛性磁気ディスクおよび光ディスク等のコンピュータ可読ストレージ媒体を含んでいてもよい。
プログラムコードを記憶および/または実行するのに適したデータ処理システムが、システムバスを通じてメモリ要素に直接または間接的に結合された少なくとも1つのプロセッサを含んでいてもよい。メモリ要素は、実行中にバルクストレージからコードが取り出される回数を低減するために少なくとも何らかのプログラムコードの一次ストレージを提供する、プログラムコードの実際の実行中に用いられるローカルメモリ、バルクストレージおよびキャッシュメモリを含むことができる。入出力、すなわちI/Oデバイス(限定ではないが、キーボード、ディスプレイ、ポインティングデバイス等を含む)が、直接、または介在するI/Oコントローラを通じてシステムに結合されてもよい。
ネットワークアダプタもシステムに結合され、データ処理システムが、他のデータ処理システムまたは遠隔のプリンタもしくはストレージデバイスに、介在するプライベートネットワークまたは公衆ネットワークを通じて結合されることを可能にしてもよい。モデム、ケーブルモデムおよびイーサネット(登録商標)カードは、現在利用可能なタイプのネットワークアダプタのほんの数例にすぎない。
次に、類似の符号が同じまたは同様の要素を表す図面を参照し、最初に図1を参照すると、本原理の一実施形態による、本原理が適用されてもよい処理システム100の一例が、実例として示されている。処理システム100は、システムバス102を介して他のコンポーネントに動作的に連結される少なくとも1つのプロセッサ(CPU)104を備える。キャッシュ106、リードオンリーメモリ(ROM)108、ランダムアクセスメモリ(RAM)110、入出力(I/O)アダプタ120、サウンドアダプタ130、ネットワークアダプタ140、ユーザインタフェースアダプタ150、およびディスプレイアダプタ160が、システムバス102に動作的に連結される。
第1のストレージデバイス122および第2のストレージデバイス124は、I/Oアダプタ120によってシステム102に動作的に連結される。ストレージデバイス122および124は、ディスクストレージデバイス(例えば、磁気または光ディスクストレージデバイス)、ソリッドステート磁気デバイス等のうちの任意のものであり得る。ストレージデバイス122および124は、同じタイプのストレージデバイスまたは異なるタイプのストレージデバイスであり得る。
スピーカ132は、サウンドアダプタ130によってシステムバス102に動作的に連結される。トランシーバ142は、ネットワークアダプタ140によってシステムバス102に動作的に連結される。ディスプレイデバイス162は、ディスプレイアダプタ160によってシステムバス102に動作的に連結される。
第1のユーザ入力デバイス152、第2のユーザ入力デバイス154、および第3のユーザ入力デバイス156は、ユーザインタフェースアダプタ150によってシステムバス102に動作的に連結される。ユーザ入力デバイス152、154および156は、キーボード、マウス、キーパッド、画像捕捉デバイス、動き検知デバイス、マイクロフォン、上記のデバイスのうちの少なくとも2つのデバイスの機能を組み込むデバイス等のうちの任意のものであり得る。当然ながら、本原理の趣旨を維持しながら、他のタイプの入力デバイスを用いることもできる。ユーザ入力デバイス152、154および156は、同じタイプのユーザ入力デバイスまたは異なるタイプのユーザ入力デバイスであり得る。ユーザ入力デバイス152、154および156は、システム100に情報を入力し、システム100から情報を出力するのに用いられる。
当然ながら、処理システム100は、当業者に容易に予期されるように、他の要素(図示せず)も含んでいてもよく、いくつかの要素を省いてもよい。例えば、当業者によって容易に理解されるように、処理システム100の特定の実施に依拠して、様々な他の入力デバイスおよび/または出力デバイスを処理システム100に含めることができる。例えば、様々なタイプの無線および/または有線入出力デバイスを用いることができる。さらに、当業者によって容易に理解されるように、様々な構成において、追加のプロセッサ、コントローラメモリ等も利用することができる。処理システム100のこれらの変形形態および他の変形形態は、本明細書において提供される本原理の教示を与えられた当業者によって容易に予期される。
さらに、以下でそれぞれ図2、図4A、図4Bおよび図5に関して説明したシステム200、400、402および500は、本原理のそれぞれの実施形態を実施するためのシステムであることを理解されたい。処理システム100の一部または全てが、システム200、400、402および500のうちの1つまたは複数において実装されてもよい。
さらに、処理システム100が、例えば、それぞれ図2、図3、図4Aおよび図4Bの方法200、300、400および402の少なくとも一部を含む、本明細書において説明される方法の少なくとも一部を実行してもよいことを理解されたい。同様に、システム200、400、402および500の一部または全てを用いて、それぞれ図2、図3、図4Aおよび図4Bの方法200、300、400および402の少なくとも一部を実行してもよい。
次に図2を参照すると、本原理の一実施形態による、ネットワークパス更新のための高水準のシステム/方法200の一例が実例として示されている。一実施形態では、説明のために、本原理を、プログラマブルスイッチとレガシースイッチとの双方を有するレイヤ2のハイブリッドネットワークの観点で説明する。プログラマブルスイッチは、様々な方法(例えば、OpenFlow(商標))を用いて制御されてもよいが、従来のシステムおよび方法は、転送エントリのためのレガシースイッチを更新することができない。転送エントリは、宛先MACアドレスmと、宛先MACがmであるパケットに適用されるアクション(例えば、「ポートに送信」、「ドロップ」等)を含んでいてもよい。この説明のために、各レガシースイッチがMAC学習を実行し、レガシーネットワークが、(例えば、STPを用いて)ルーティングループを回避するように(手動または自動で)構成されることが仮定されてもよい。この構成後の結果として生じるレガシーリンクのコレクションは、ネットワークアンダーレイと呼ばれることもあり、このネットワークアンダーレイは、ツリー、または複数のツリー(例えば、ツリーの集合)を含んでいてもよい。
一実施形態では、初期構成パスP202(例えば、1つまたは複数のリンク206によって接続されるハイブリッドネットワークにアタッチされたホストA220およびB230間のスイッチのシーケンス)が与えられると、本原理を利用して、A220とB230との間のパスをP202からP’204に変更することによって、新たな更新されたパスP’204を制御および強制してもよい。本原理によれば、一実施形態では、初期構成パスP202は、スイッチ201、203、205、207および209を用いることができ、所望の更新パスP’204はスイッチ201、210、203、204、212および209を用いることができる。一実施形態では、スイッチ201、203、205、207、209、210および212は、1つまたは複数のリンク206によって他のスイッチおよび/またはホスト220、230に相互接続されてもよい。一実施形態では、プログラマブルスイッチが制御され、新たなパスにおいて特殊パケットをレガシースイッチに送信するように命令されてもよく、これらのパケットは、MAC学習をうまく利用して、レガシースイッチを操作し、これらのレガシースイッチのルーティングテーブルにおける転送エントリ(例えば、単一の転送エントリ)を更新させてもよい。
例えば、一実施形態では、MACmのためのルーティングエントリのアクションを「ポートp1に送信」から「ポートp2に送信」に変更するために、ソースアドレスmを用いて特殊パケットが生成されてもよく、このパケットがポートp2においてスイッチ(例えば、スイッチ201)に送信されてもよい。MAC学習方法は、p2に到達するパケットを認識し、このパケットのソースアドレスmがp2に到達可能であることを仮定してもよく、したがって対応する転送エントリを更新してもよい。一実施形態では、P202をP’204に更新することは、P202上にないP’204上の全てのスイッチを更新し、2つのパスが分岐および収束する全てのスイッチを更新することによって行われてもよい。例えば、スイッチ205への/からのパスは現在更新されていないため、スイッチ205以外の全てのスイッチが更新されてもよい。更新サブパスは、パス変更中に更新されてもよい隣接するスイッチのシーケンスであることに留意されたい。本原理の一実施形態によれば、図2において、スイッチ201、210および203、ならびにスイッチ207、212および209は、サブパスを表す。
一実施形態では、レガシースイッチの転送テーブルを遠隔で操作するために利用される全ての特殊パケット(例えば、リンク情報、SNMP、ピング情報等を含む)は、インストールされることになる新たなパスP204の一部であるリンク上のスイッチに到達する。これにより、パスP’が満たしてもよい2つの条件を導くことができ、これらの条件を満たした後、パスP’が強制されてもよい。一実施形態では、第1の条件は、パスP’204上の全てのレガシーリンク(例えば、少なくとも1つのレガシースイッチをエンドポイントとして有するリンク)が、レガシーレイヤ2ネットワークアンダーレイ(例えば、スパニングツリー)の一部であってもよく、またはプログラマブル(例えば、OpenFlowスイッチ、スイッチ210)に隣接してもよいというものである。これによって、パスP’204上の各レガシーリンクが、プログラマブルスイッチ206から到達可能であることが確実にされる。一実施形態では、第2の条件は、P’の各更新サブパスが、少なくとも1つのプログラマブルスイッチ210を含んでいてもよいというものであってもよい。なぜなら、本原理によれば、プログラマブルスイッチ210を利用して、更新サブパスがレイヤ2アンダーレイの一部である場合であっても、パスP’2014のリンク部分を通じて、この更新サブパスにおけるスイッチに到達する特殊パケットを送信してもよいためである。
次に図3を参照すると、本原理の一実施形態に従って、ハイブリッドネットワークにおけるスイッチルーティングを制御するための方法300の一例が実例として示されている。本原理によれば、一実施形態では、ブロック301において入力データが受信されてもよく、この入力データは、物理ネットワークトポロジデータ、仮想マシン(VM)ロケーション等)を含んでいてもよい。ブロック304において、入力データ301を利用して、ネットワークアンダーレイを決定(計算)してもよい。
本原理によれば、一実施形態では、ブロック304におけるネットワークアンダーレイ決定は、2つのサブグラフ、すなわち、ブロードキャストツリーグラフ306および転送グラフ308の決定を含む。一実施形態では、ブロードキャストツリー306は、ブロードキャストパケットを送信するために用いることができるリンクの組を含んでいてもよい。転送グラフ308は、ユニキャストパケットとブロードキャストパケットとの双方を送信するために用いられるリンクの組であってもよい。ブロードキャストツリー306は、転送グラフのサブセットであってもよい。ブロードキャストツリー306と転送グラフ308との双方を決定することによって、本原理を利用して、転送の学習を分離してもよい。通常、レイヤ2ネットワークは、スパニングツリー検出アルゴリズムを実行して、ユニキャストとブロードキャストとの双方の転送のために用いることができる実現可能なパスの組を計算し、この組の一部でない全てのリンクをオフにする。一方、これにより、通信に利用可能なパスが制限され、選択されたリンクに更なるストレスが課される。本原理によれば、ブロードキャストに用いることができるリンクを、ユニキャストのみに用いることができるリンクと分離することによって、通信のために利用可能なパス数が従来のシステムおよび方法に対して増大する。
本原理によれば、一実施形態では、ブロック306において所与のネットワーク(例えば、仮想端末ネットワーク(VTN)のためのブロードキャストツリーが決定されてもよく、これを利用して(例えば、スイッチ、エンドホスト等によって生成された)ブロードキャストパケットを送信してもよい。
一実施形態では、セットアップコストは、VTN仮想トポロジの一部としてリンクをセットアップするために被るコストであり、リンクが入る2つのスイッチを構成するために被るコストを反映する。説明の目的で、この例示的なネットワークにおいて2つのタイプのスイッチ、すなわちプログラマブルスイッチおよびレガシースイッチが検討される。VTNのためのトラフィックを転送するためにプログラマブルスイッチ(例えば、OpenFlow(商標))を構成することは、VTNトラフィックのための転送規則をスイッチに追加することを含んでいてもよい。様々な実施形態によれば、レガシースイッチを構成することは、VTNに関連付けられたVLANを構成することを含んでいてもよく、レガシースイッチは、転送規則を自動的に学習してもよい。
一実施形態において、ブロック304におけるブロードキャストツリー決定中にリンクのセットアップコストを設定するために、特定のリンクが入るスイッチが更新される。例えば、プログラマブルスイッチごとに、特定のプロトコル(例えば、OpenFlow(商標))を用いて1つまたは複数の転送エントリが変更されてもよく、レガシースイッチごとに、新たなVLANが定義されてもよい。一般に、OpenFlowスイッチにおいて転送エントリを更新するコストは、レガシースイッチにおいてVLANをセットアップするコストよりも低い。a1およびa5は、セットアップコスト(例えば、各スイッチを更新する構成コスト)を表すことに留意されたい。プログラマブルスイッチごとに、a1が追加されてもよく、レガシースイッチごとに、a5が追加されてもよく、ここで、a1およびa5の値は、スイッチの厳密なタイプに依拠し、一般に、a1はa5よりも小さい。a1およびa5は各スイッチを更新する構成コストを表すことに留意されたい。
一実施形態では、リンクのロケーションコストは、リンクが、このリンクが通信を提供するホスト(例えば、VMマシン)のロケーションに対し、どれだけ近いかを表す。リンクのロケーションコストを決定するために、隣接するスイッチをチェックしてもよく、VTNがVM(例えば、a3=0.5)を有するサーバに直接接続されたスイッチごとに、a3を加算してもよい。a3が、リンクのロケーションコストの値を表すことに留意されたい。a1およびa5と同様に、a3は単位を有せず、3つ全てのコストが(例えば、0と1との間で)正規化されている限り、単位は無関係である。本原理によれば、1つのタイプのコストにより大きな重要性を与えるために、重みw1、w2および/またはw3が利用されてもよい。
一実施形態では、各リンクの最終コストは、以下の方法によって決定されてもよい。
Cost(link)=wl*setup(link)+w2*operation(link)+w3*location(link)
ここで、w1、w2およびw3は、リンクの全体コストを決定する際のコストのタイプ(tope)の各々の重要度を決定してもよい重みである。w1、w2およびw3の値は、ネットワーク内のリンクの様々なコスト分布を決定するように変更されてもよく、したがって、本原理の一実施形態によれば、これらを利用して、ブロック306におけるブロードキャストツリー決定中に複数の最小スパニングツリーを決定してもよい。
一実施形態では、ブロック304におけるアンダーレイ決定は、物理トポロジに対応するグラフのための複数の最小スパニングツリーを決定し、ブロードキャストツリーとして「最良の」ツリー(ここで、「最良」とは、以下で説明するいくつかのコストメトリックに従って定義される)を選択することを含んでいてもよい。グラフは、単一の最小スパニングツリー(全てのリンクコストが異なると仮定する)を含んでいてもよいため、各リンクのコストが決定される方法を変更することによって、複数のスパニングツリーが生成されてもよい。検討されるコストは、例えば、セットアップコスト、動作コストおよび/またはロケーションコストを含んでいてもよい。
一実施形態では、ブロック306において、可能なMSTの組を決定した後、最適なMSTが選択されてもよい。これは、要求されたVTN需要および/または以下の5つのコスト−利益メトリックのうちの1つまたは複数に従って行われる。コスト−利益メトリックはすなわち、(1)VTN内の全てのVM対VMの対についてのスイッチホップの平均数を含んでいてもよい平均ホップカウント、(2)構成される全てのスイッチについての平均セットアップ時間を含んでいてもよい平均セットアップコスト、(3)全てのVM対VMパスについての平均利用量を含んでいてもよい平均パス利用量、(4)全てのVM対VMパスについての、パス利用量とスイッチホップ数との積を含んでいてもよい、平均帯域幅遅延積、(5)少なくとも1つのVTNのためのトラフィックを搬送する全てのリンクについてのVTNの平均数を含んでいてもよいVTN/リンクの平均数(このメトリックは、ネットワーク内に埋め込まれた複数のVTNが存在するときに適用される)、である。上記のメトリックが上記で説明されたが、本原理の様々な実施形態に従って、ブロック306において任意のネットワークメトリックを用いることができることが予期されることに留意されたい。
一実施形態では、ブロック306において決定されるブロードキャストツリーは、ブロードキャストパケットを送信することができるリンクの組を含んでいてもよい。レガシーネットワーク(通常、スイッチを制御することができないことに起因する)では、リンクにおいてブロードキャストを停止する唯一の方法は、リンクを完全にオフにすることである。一方、このアクションの副次的影響は、リンクをユニキャストトラフィックにも用いることができないことである。本原理を利用して、パケットがどこでプログラマブルスイッチを用いて転送されるかを制御してもよい。プログラマブルスイッチを用いて、特定のプログラマブルスイッチのための転送テーブルにおいて特定の規則をインストールすることによって、ユニキャストを可能にしながら、ブロードキャストが停止されてもよい。
ブロック308において、1つまたは複数の転送グラフが決定/構築されてもよく、この転送グラフは、物理ネットワークトポロジに対応してもよい。ブロック308における転送グラフの構築は、ブロック306から、入力としてブロードキャストツリーを受信してもよく、隣接する全てのリンクをプログラマブルスイッチに加えてもよい。一実施形態では、リンクの両端プログラマブルスイッチの転送テーブル内に規則をインストールすることによって、これらのリンクにおいてブロードキャストが制御されてもよく、かつ自由にユニキャストを可能にするように制御されてもよく、このため、2つのホスト間で利用可能なパスのダイバーシティが、従来のシステムおよび方法と比較して増大する。本原理によれば、いくつかの実施形態では、ブロック308において、転送ツリーグラフが構築されてもよく、これは、ブロック306において決定された全てのツリーのための転送グラフを構築することによって行われる。
一実施形態では、中間出力303(例えば、ブロードキャストツリー、転送グラフ、施行規則等)およびVTNトラフィック需要311が、ブロック310におけるパス選択/検証のための入力として用いられてもよい。本原理によれば、ブロック312において、最適化を実行して、ブロック308において決定された転送グラフにおける2つのホスト間の最適パスを決定してもよい。
例示的な実施例では、ブロック312における最適化は、多品種フロー問題の特殊な事例である、1品種1パスフロー問題(UFP)最適化を利用して、最適パスを決定してもよいが、本原理に従って他の最適化方法が利用されてもよい。一実施形態では、UFPは、入力としてVTNトラフィック需要を利用してもよく、各VTNフロー(例えば、VM対VM通信)を、1つまたは複数の制約が満たされるようにトポロジ内のパスにマッピングしてもよい。いくつかの実施形態では、制約は、容量制約(例えば、リンク上のフローの総需要がリンク容量を超えない)、フロー保存(例えば、ノードに入るフローの総需要は、ノードを出るフローの総需要に等しい)、および需要満足(例えば、フローの総需要が、フローがマッピングされるパスによって満たされる)を含んでいてもよいが、本原理に従って他の制約も利用されてもよい。
一実施形態では、ブロック312における最適化を利用して、最小コストマッピングを決定してもよい。ここで、マッピングのコストは各リンクコストの和である。リンクコストは、リンクにわたってフローを送信するコストを捕捉し、リンクのセットアップコスト(例えば、VTNがマッピングされるとき、1つの時間コスト)およびリンクを動作させるコストに依拠してもよい。ブロック212における最適化中にVTN需要が検討されているため、最適化において用いられるリンクコストは、ブロック304におけるアンダーレイ決定中に最小スパニングツリーを決定するのに用いられるリンクコストと異なる場合がある。
例示的な実施例では、ブロック312における最適化中、変数(例えば、w4)は、より高速な構成またはより高速な動作に対するオペレータまたは顧客のプリファレンスを表すことができる。より高速な構成が好ましい場合、セットアップコストはより重要であり、セットアップコストの低い(例えば、レガシースイッチがより少ない)パスを見つけるためにブロック312の最適化が用いられてもよい。そうではなく、より高速な動作が好ましい場合、ブロック312における最適化は、(例えば、利用可能な帯域幅の観点から)より高速なパスを決定する。リンクのコストは、以下の方法を用いて決定されてもよい。
w4!=0かつw4!=1の場合、Cost(link)=(w4*setup(link))/((1−w4)*operation(link))*f_i(link)
w4=1の場合、Cost(link)=w4*setup(link)*f_i(link)
Cost(link)=1/((1−w4)*operation(link))*f_i(link)
ここで、F_i(link)は、本原理によるリンクを通じたVM対iの需要を表す。
一実施形態では、ブロック310におけるパス選択中にパス検証が行われてもよい。例示的な実施例では、更新されたパスP’および現在のネットワーク構成を与えられると、ブロック310におけるパス検証は、特定のネットワークにおいてP’が実現可能であるか否かを判断してもよい。ブロック310におけるパス検証は、まず、パスP’における全てのレガシーリンクがレガシーレイヤ2のネットワークアンダーレイの一部であるか、またはプログラマブルスイッチに隣接していることを検証してもよい。次に、本原理を利用して、少なくとも1つのスイッチがプログラマブルである(例えば、OpenFlow(商標)に対応している)か否かを検証してもよい。これらの条件が検証される場合、(例えば、少なくとも1つのプログラマブルスイッチで開始または終了するサブパスのための)1つまたは複数のプログラマブルスイッチにおける転送エントリが更新されるか、またはプログラマブルスイッチを用いてメッセージ(例えば、LegacyFlowMod)メッセージが(例えば、アンダーレイのレガシーリンク部分について)送信される。
一実施形態では、ブロック310におけるパス検証は、パスの実現可能性を検証するための以下の方法に従って実行されてもよい。
Figure 2017511073

一実施形態では、レガシースイッチにおける転送エントリ更新をサポートするために、ブロック310におけるパス選択はパス更新を含んでいてもよく、更新されるパスは、ブロック313において出力され、ブロック313におけるパス強制のための入力として用いられてもよい。本原理によれば、一実施形態では、新たなプリミティブ(例えば、LegacyFlowMod)を導入して、特殊パケットを生成し、制御されることになるスイッチに送信してもよい。これらのパケットのヘッダにおいて施行されてもよい規則は、それらのソースMACアドレスが、調整されることになる転送エントリに関連付けられたMACと同じであるべきであることである。一方、ネットワークに対する副次的影響を制限するために、ARPパケットが利用されてもよい(なぜなら、ARPパケットはローカルホストおよびスイッチにおいてARPキャッシュの更新しか行わないためである。
一実施形態では、本原理によれば、特殊パケットを送信するために、制御されている任意のプログラマブルスイッチの使用により特定のデータプレーンにおいてパケットを挿入することを可能にする、プログラマブルスイッチの機能(例えば、OpenFlow(商標)PacketOut機能)が利用されてもよい。一実施形態では、ブロック310におけるパス更新は、以下の方法に従って実行されてもよい。
Figure 2017511073

一実施形態では、ブロック304および311において決定されるパスは、本原理に従って、ブロック314におけるパス強制によってインストール/強制されてもよい。本原理によれば、ブロック314におけるパス強制は、ブロック313から入力を受信してもよく、ブロック316におけるブロードキャスト回避および/またはブロック318における最適化構成を含んでいてもよい。
ブロック316において、ブロードキャスト回避は、ネットワーク内の全てのループが少なくとも1つのプログラマブルスイッチを含むことを確保することによって実行されてもよい。いくつかの実施形態によれば、ブロック308において決定される転送グラフの一部でない物理ネットワーク内の全てのリンクはオフにされてもよい。一実施形態では、全てのそのようなリンクはレガシースイッチ間にあり、ほとんどのレガシースイッチはSNMP対応であるため、例えばSNMPを用いて停止させることができる。
一実施形態によれば、ブロック312において実行される最適化に従ってパスを構成することによって、ブロック318において最適化構成を実行してもよい。プログラマブルスイッチの場合、これらのプログラマブルスイッチの転送テーブルに対応する規則がインストールされてもよく、レガシースイッチの場合、ブロック308において決定された転送グラフ内のポートにマッピング(例えば、VLANマッピング)が加えられてもよい。一実施形態では、最適化は、最適化規則がブロック318においてインストールされているときに、ネットワークを準備することを含んでいてもよい。プログラマブルスイッチの、ネットワークにパケットを送信する機能、およびレガシースイッチの、転送エントリをリアルタイムで学習する機能を用いて、ダミーパケットを生成し、レガシースイッチが異なるパスを辿ることを可能にしてもよい。本原理によれば、一実施形態では、ブロック314からの出力を用いて、ブロック323における新たなパスに沿ったVTN通信を可能にしてもよい。
例えば、レガシースイッチDおよびB間のフローが、パスD−F−B上にマッピングされたと仮定すると(ここで、Fはプログラマブルスイッチである)、スイッチDは、別のレガシースイッチCではなくFにフローを転送することを知らない場合がある。従来のシステムおよび方法は、全てのポート上のフローの第1のパケットをブロードキャストし、最終的に、スイッチCから、Cを通じてBに到達することができることを知らせる応答を受信する。本原理は、ブロードキャストがリンクF−Bにおいて伝搬されないことを確実にしたので、DはFから同様の応答を受信しないことに留意されたい。
ネットワークにおける上記のような発生を防止するために、ブロック318における最適化構成中にブロック313から最適化規則をインストールする際にネットワークが準備されてもよい。パケットをネットワークに送信するプログラマブルスイッチの機能、および転送エントリをリアルタイムで学習するレガシースイッチの機能を用いて、本原理は、スイッチDに、プログラマブルスイッチFを通じてスイッチBに到達することができることを信じさせることができる。これを達成するために、ブロック318において、プログラマブルスイッチFにおいて、ソースBと宛先Dとを有するダミーパケットが生成されてもよい。本原理によれば、一実施形態において、例えば、PacketOut OpenFlow(商標)メッセージを用いてダミーパケットがスイッチDに送信されてもよい。様々な実施形態によれば、スイッチDがスイッチFへのリンク上でダミーパケットを受信するとき、スイッチDはソースをスイッチBとみなすことができ、次に、スイッチFを通じてスイッチBに到達するパスを含めて独自の転送テーブルを記録してもよい。
次に図4を参照すると、本原理の一実施形態による、ハイブリッドネットワークにおける初期ネットワークパス403および更新されたネットワークパス413を示すシステム/方法400の一例が実例として示されている。一実施形態では、ホストS401とホストD405との間の初期パス403(太線のパスによって表される)がハイブリッドネットワークについて実例として示されている。この例示的な実施例では、レガシースイッチ402、404、406、408および410がネットワークトポロジに含まれていてもよく、プログラマブルスイッチ412もネットワークトポロジに含まれていてもよい。一実施形態では、更新されたパス413が決定されてもよく、本原理を利用して、更新されたパス413にわたって送信を制御してもよい。
例示的な実施形態では、ホストS401とホストD405との間のパスは、最初に、スイッチ404、412および410を含んでおり、所望の更新されたパスは、スイッチ404、406、412および420を含んでいてもよい。この更新を達成するために、スイッチ404における転送エントリが(例えば、スイッチ412ではなくスイッチ406にホストD405のためのパケットを転送するように)変更されてもよく、スイッチ406における転送エントリが(例えば、スイッチ404ではなくスイッチ412にホストD405のためのパケットを転送するように)変更されてもよい。
一実施形態では、本原理を利用して、機能(例えば、LegacyFlowMod)を用いて、特殊パケットを制御し/プログラマブルスイッチ412からレガシースイッチ406に送信してもよい。パケットは、自身のソースMACアドレスとしてホストD405のアドレスを含んでいてもよく、着信インタフェースに従ってスイッチ404および406のスイッチの転送テーブルを更新するように、これらのスイッチにおける学習方法をトリガーしてもよい。いくつかの実施形態では、パスを更新するとき、逆のパスが自動的に更新されてもよい。説明を簡単にするために、逆のパスの変更の詳細については説明しないが、これは、様々な実施形態による転送パス変更と同様にして行われてもよい。
図4に示す例示的なネットワークでは、スイッチ404、406および412を含むサブパスはプログラマブルスイッチ(例えば、412)で開始または終了するため、転送エントリは、スイッチ412において、スイッチ406と412とを含むリンクにおけるトラフィックをホストD405からホストS401にリダイレクトするように更新されてもよい。一実施形態では、次に、スイッチ404は、スイッチ406から1つまたは複数のデータパケットを受信した後に、転送エントリを、ホストD405のための未来のパケットをスイッチ406に転送するように変更してもよい。本原理の様々な実施形態によれば、上記のネットワーク構成は、説明を単純にするために、限られた数のスイッチ、ホストおよびパスを用いて示されているが、任意の数のスイッチ、ホストおよびパスが利用されてもよいことに留意されたい。
次に図5を参照すると、本原理の一実施形態による、ハイブリッドネットワークにおけるスイッチルーティングを制御するためのシステム500の一例が実例として示されている。本原理の様々な実施形態によれば、コントローラ512がバス501に接続されてもよく、コントローラ512を利用して、それぞれ図2、図3、図4および図5における制御システム100、300、400および/または500に加えて、それぞれ図2、図3および図4の方法200、300および/または400の全てまたは一部を制御してもよい。いくつかの実施形態では、コントローラ512は、本原理によるハードウェア論理回路であってもよい。
説明のために、および明確にするために、システム500の多くの態様を単数形で説明しているが、システム500の説明に関して上述したアイテムが複数であっても同じことを適用することができる。例えば、単一のスイッチ516を説明しているが、本原理の趣旨を保ちながら、本原理の教示に従って2つ以上のスイッチ516を用いることができる。さらに、スイッチ516は、システム500に関与する1つのみの態様ではなく、本原理の趣旨を保ちながら、複数形に拡張してもよい。
システム500は、本原理の様々な実施形態による、決定器502、検証機504、パス選択器506、最適化器508、更新器510、コントローラ/エンフォーサ512、ストレージデバイス514および/またはスイッチ516を含むことができる。
一実施形態では、決定器502は、本原理によるアンダーレイネットワーク決定、ブロードキャストツリー決定および/または転送グラフ決定のために利用されてもよく、結果がストレージデバイス514に記憶されてもよい。一実施形態によれば、決定器502からの出力が、(例えば、潜在的なパスの実現可能性を検証するための)検証機504および/または(例えば、特定のパスを選択するための)パス選択器506への入力として利用されてもよい。最適化器508は、(上記で説明したように)パスの最適化のために利用されてもよく、パスは、本原理による更新器510を用いて更新されてもよい。本原理の様々な実施形態によれば、更新器510によって生成される更新されたパスをコントローラ/エンフォーサ512が選択および強制し、新たなパスを1つまたは複数のネットワークに適用してもよい。
図5に示す実施形態では、その要素はバス501によって相互接続されている。一方、他の実施形態では、他のタイプの接続も用いることができる。さらに、一実施形態では、システム500の要素のうちの少なくとも1つがプロセッサベースである。さらに、1つまたは複数の要素が別個の要素として示される場合があるが、他の実施形態では、これらの要素は1つの要素として組み合わされ得る。逆もまた適用可能であり、1つまたは複数の要素が別の要素の一部である場合があるが、他の実施形態では、この1つまたは複数の要素はスタンドアロン要素として実装されてもよい。システム400の要素のこれらの変形形態および他の変形形態は、本明細書において提供される本原理の教示を与えられた当業者によって、本原理の趣旨を保ちながら容易に決定される。
上記のものは、全ての観点において、説明的であり例示的であるが、限定的でないと理解され、本明細書において開示した発明の範囲は、詳細な説明から決定されるのではなく、特許法によって認められる全範囲に従って解釈される特許請求の範囲から決定される。「追加情報」と題する本出願の付録に追加情報が提供される。本明細書において示し、説明した実施形態は、本発明の原理の例示にすぎず、当業者は、本発明の範囲および趣旨から逸脱することなく、様々な変更を行うことができることを理解されたい。当業者であれば、本発明の範囲および趣旨から逸脱することなく、様々な他の特徴の組み合わせを実施し得る。

Claims (20)

  1. 相互接続されたコンピュータおよびスイッチの1つまたは複数のハイブリッドネットワークにおいてレガシースイッチルーティングを制御するための、コンピュータによって実施される方法であって、
    前記1つまたは複数のハイブリッドネットワークの物理ネットワークトポロジにわたって最小スパニングツリー(MST)と転送グラフ(FWG)とを生成することによって、前記1つまたは複数のハイブリッドネットワークのためのネットワークアンダーレイを生成することと、
    最小コストマッピングを用いて初期パスを最適化することによって、前記FWGにおけるホスト間の最適パスを決定することと、
    1つまたは複数のプログラマブルスイッチにおいて、1つまたは複数のレガシースイッチにおける転送規則のインストールをトリガーするための特殊パケットを生成およびインストールすることによって、前記最適パスを強制するように前記初期パスを調整することと、
    を含む、方法。
  2. 前記MSTは、前記1つまたは複数のハイブリッドネットワークにおけるスイッチ間でブロードキャストパケットを送信するためのリンクの組を含む、請求項1に記載の方法。
  3. 前記FWGは、前記1つまたは複数のハイブリッドネットワークにおけるスイッチ間でユニキャストパケットとブロードキャストパケットとの双方を送信するためのリンクの組を含む、請求項1に記載の方法。
  4. 前記初期パスを前記調整することは、
    前記FWG内にない物理リンクをオフにすることと、
    前記プログラマブルスイッチにおいて、前記FWG内にあるが前記MST内にない全てのリンク上のブロードキャストトラフィックをドロップするための規則をインストールすることと、
    前記最適パスに沿ってトラフィックを転送することと、
    をさらに含む、請求項1に記載の方法。
  5. 前記最小コストマッピングは、各リンクコストの和であり、前記リンクコストは、リンクを介してフローを送信するコスト、前記リンクのセットアップコスト、前記リンクを動作させるコスト、および複数のネットワーク需要のコストを含む、請求項1に記載の方法。
  6. 前記ハイブリッドネットワーク内の全てのループが、少なくとも1つのプログラマブルスイッチを含むことを検証することによってブロードキャストを回避することをさらに含む、請求項1に記載の方法。
  7. 前記特殊パケットは連続して送信され、前記レガシースイッチが安定状態に到達するまで、前記レガシースイッチにインストールされ、前記安定状態は、データパケットが双方向において前記最適パスをトラバースするときに到達する、請求項1に記載の方法。
  8. 相互接続されたコンピュータおよびスイッチの1つまたは複数のハイブリッドネットワークにおいてレガシースイッチルーティングを制御するためのシステムであって、
    前記1つまたは複数のハイブリッドネットワークの物理ネットワークトポロジにわたって最小スパニングツリー(MST)と転送グラフ(FWG)とを構築するネットワークアンダーレイ生成器と、
    最小コストマッピングを用いて初期パスを最適化することによって、前記FWGにおけるホスト間の最適パスを決定する最適化器と、
    1つまたは複数のプログラマブルスイッチにおいて、1つまたは複数のレガシースイッチのための転送規則のインストールをトリガーするための特殊パケットを生成およびインストールすることによって、前記最適パスを強制するコントローラと、
    を備えている、システム。
  9. 前記MSTは、前記1つまたは複数のハイブリッドネットワークにおけるスイッチ間でブロードキャストパケットを送信するためのリンクの組を含む、請求項8に記載のシステム。
  10. 前記FWGは、前記1つまたは複数のハイブリッドネットワークにおけるスイッチ間でユニキャストパケットとブロードキャストパケットとの双方を送信するためのリンクの組を含む、請求項8に記載のシステム。
  11. 前記初期パスを前記調整することは、
    前記FWG内にない物理リンクをオフにすることと、
    前記プログラマブルスイッチにおいて、前記FWG内にあるが前記MST内にない全てのリンク上のブロードキャストトラフィックをドロップするための規則をインストールすることと、
    前記最適パスに沿ってトラフィックを転送することと、
    をさらに含む、請求項8に記載のシステム。
  12. 前記最小コストマッピングは各リンクコストの和であり、前記リンクコストは、リンクを介してフローを送信するコスト、前記リンクのセットアップコスト、前記リンクを動作させるコスト、および複数のネットワーク需要のコストを含む、請求項8に記載のシステム。
  13. 前記ハイブリッドネットワーク内の全てのループが少なくとも1つのプログラマブルスイッチを含むことを検証することによってブロードキャストを回避することをさらに含む、請求項8に記載のシステム。
  14. 前記特殊パケットは、前記レガシースイッチが安定状態に達するまで連続して送信され、前記レガシースイッチにインストールされ、前記安定状態は、データパケットが双方向において前記最適パスをトラバースするときに到達する、請求項8に記載のシステム。
  15. コンピュータ可読プログラムを備えるコンピュータ可読ストレージ媒体であって、前記コンピュータ可読プログラムは、コンピュータにおいて実行されると、前記コンピュータに、
    1つまたは複数のハイブリッドネットワークの物理ネットワークトポロジにわたって最小スパニングツリー(MST)と転送グラフ(FWG)とを生成することによって、相互接続されたコンピュータおよびスイッチの前記1つまたは複数のハイブリッドネットワークのためのネットワークアンダーレイを生成するステップと、
    最小コストマッピングを用いて初期パスを最適化することによって、前記FWGにおけるホスト間の最適パスを決定するステップと、
    1つまたは複数のプログラマブルスイッチにおいて、1つまたは複数のレガシースイッチのための転送規則のインストールをトリガーするための特殊パケットを生成およびインストールすることによって、前記最適パスを強制するように前記初期パスを調整するステップと、
    を実行させる、コンピュータ可読ストレージ媒体。
  16. 前記MSTは、前記1つまたは複数のハイブリッドネットワークにおけるスイッチ間でブロードキャストパケットを送信するためのリンクの組を含む、請求項15に記載のコンピュータ可読ストレージ媒体。
  17. 前記FWGは、前記1つまたは複数のハイブリッドネットワークにおけるスイッチ間のユニキャストパケットとブロードキャストパケットとの双方を送信するためのリンクの組を含む、請求項15に記載のコンピュータ可読ストレージ媒体。
  18. 前記初期パスを前記調整することは、
    前記FWG内にない物理リンクをオフにすることと、
    前記プログラマブルスイッチにおいて、前記FWG内にあるが前記MST内にない全てのリンク上のブロードキャストトラフィックをドロップするための規則をインストールすることと、
    前記最適パスに沿ってトラフィックを転送することと、
    をさらに含む、請求項15に記載のコンピュータ可読ストレージ媒体。
  19. 前記最小コストマッピングは、各リンクコストの和であり、前記リンクコストは、リンクを介してフローを送信するコスト、前記リンクのセットアップコスト、前記リンクを動作させるコスト、および複数のネットワーク需要のコストを含む、請求項15に記載のコンピュータ可読ストレージ媒体。
  20. 前記ハイブリッドネットワーク内の全てのループが、少なくとも1つのプログラマブルスイッチを含むことを検証することによって、ブロードキャストを回避することをさらに含む、請求項15に記載のコンピュータ可読ストレージ媒体。
JP2016561327A 2014-08-25 2015-08-21 ハイブリッドネットワークにおけるパス選択 Active JP6271039B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462041600P 2014-08-25 2014-08-25
US62/041,600 2014-08-25
US14/831,570 2015-08-20
US14/831,570 US9413646B2 (en) 2014-08-25 2015-08-20 Path selection in hybrid networks
PCT/US2015/046313 WO2016032898A1 (en) 2014-08-25 2015-08-21 Path selection in hybrid networks

Publications (2)

Publication Number Publication Date
JP2017511073A true JP2017511073A (ja) 2017-04-13
JP6271039B2 JP6271039B2 (ja) 2018-01-31

Family

ID=55349262

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016561327A Active JP6271039B2 (ja) 2014-08-25 2015-08-21 ハイブリッドネットワークにおけるパス選択

Country Status (4)

Country Link
US (1) US9413646B2 (ja)
EP (1) EP3186932B1 (ja)
JP (1) JP6271039B2 (ja)
WO (1) WO2016032898A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9813301B2 (en) * 2014-08-20 2017-11-07 Nec Corporation Optimization framework for multi-tenant data centers
US10075369B2 (en) * 2015-04-27 2018-09-11 Dell Products Lp Systems and methods for improved switch performance by preventing flooding
US9891898B1 (en) * 2015-06-04 2018-02-13 Netronome Systems, Inc. Low-level programming language plugin to augment high-level programming language setup of an SDN switch
US10419242B1 (en) * 2015-06-04 2019-09-17 Netronome Systems, Inc. Low-level programming language plugin to augment high-level programming language setup of an SDN switch
US9825850B2 (en) * 2015-06-30 2017-11-21 Industrial Technology Research Institute Network controlling method and network controller
TWI561034B (en) * 2015-07-03 2016-12-01 Estinet Technologies Inc Method for constituting hybrid network spanning tree, method of redundancy, and control system thereof
US9876685B2 (en) * 2015-10-20 2018-01-23 Netscout Systems, Inc. Hybrid control/data plane for packet brokering orchestration
US9813286B2 (en) * 2015-11-26 2017-11-07 Industrial Technology Research Institute Method for virtual local area network fail-over management, system therefor and apparatus therewith
US10171336B2 (en) * 2015-12-16 2019-01-01 Telefonaktiebolaget Lm Ericsson (Publ) Openflow configured horizontally split hybrid SDN nodes
US20170293500A1 (en) * 2016-04-06 2017-10-12 Affirmed Networks Communications Technologies, Inc. Method for optimal vm selection for multi data center virtual network function deployment
CN106254242A (zh) * 2016-08-04 2016-12-21 胡汉强 一种数据传输方法、集中控制器、转发面设备和本端通信装置
CN110417576B (zh) * 2019-06-17 2021-10-12 平安科技(深圳)有限公司 混合软件自定义网络的部署方法、装置、设备及存储介质
CN112308233A (zh) * 2019-08-02 2021-02-02 伊姆西Ip控股有限责任公司 用于处理数据的方法、设备和计算机程序产品
CN111431799B (zh) * 2020-02-28 2022-05-06 普联技术有限公司 网络流量传输优化方法、装置、系统及可读存储介质
CN112910682A (zh) * 2021-01-04 2021-06-04 中国联合网络通信集团有限公司 链路检测方法和交换机控制器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012023604A1 (ja) * 2010-08-20 2012-02-23 日本電気株式会社 通信システム、制御装置、通信方法およびプログラム
US20120281698A1 (en) * 2011-05-06 2012-11-08 Forster R Kyle Systems and methods for managing virtual switches
US20130039214A1 (en) * 2011-08-11 2013-02-14 Telefonaktiebolaget L M Ericsson (Publ) Implementing OSPF in Split-Architecture Networks
US20130343228A1 (en) * 2012-06-25 2013-12-26 Qualcomm Atheros, Inc. Spanning tree protocol for hybrid networks
JP2014027443A (ja) * 2012-07-26 2014-02-06 Nec Corp 制御装置、通信システム、通信方法及びプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7961636B1 (en) * 2004-05-27 2011-06-14 Cisco Technology, Inc. Vectorized software packet forwarding
US8077633B2 (en) * 2009-05-29 2011-12-13 Cisco Technology, Inc. Transient loop prevention in a hybrid layer-2 network
US8873551B2 (en) * 2010-07-30 2014-10-28 Cisco Technology, Inc. Multi-destination forwarding in network clouds which include emulated switches
US8614952B2 (en) * 2011-11-15 2013-12-24 Alcatel Lucent Efficient propagation of link state advertisements in densely interconnected OSPF networks
US9225601B2 (en) * 2013-06-17 2015-12-29 The Board Of Trustees Of The University Of Illinois Network-wide verification of invariants
US9954861B2 (en) * 2014-01-21 2018-04-24 Centurylink Intellectual Property Llc Consumer choice for broadband application and content services

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012023604A1 (ja) * 2010-08-20 2012-02-23 日本電気株式会社 通信システム、制御装置、通信方法およびプログラム
US20120281698A1 (en) * 2011-05-06 2012-11-08 Forster R Kyle Systems and methods for managing virtual switches
US20130039214A1 (en) * 2011-08-11 2013-02-14 Telefonaktiebolaget L M Ericsson (Publ) Implementing OSPF in Split-Architecture Networks
JP2014525692A (ja) * 2011-08-11 2014-09-29 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 分割アーキテクチャ・ネットワークにおけるospfの実装
US20130343228A1 (en) * 2012-06-25 2013-12-26 Qualcomm Atheros, Inc. Spanning tree protocol for hybrid networks
JP2014027443A (ja) * 2012-07-26 2014-02-06 Nec Corp 制御装置、通信システム、通信方法及びプログラム

Also Published As

Publication number Publication date
JP6271039B2 (ja) 2018-01-31
US9413646B2 (en) 2016-08-09
EP3186932B1 (en) 2020-02-19
US20160057054A1 (en) 2016-02-25
WO2016032898A1 (en) 2016-03-03
EP3186932A1 (en) 2017-07-05
EP3186932A4 (en) 2018-04-04

Similar Documents

Publication Publication Date Title
JP6271039B2 (ja) ハイブリッドネットワークにおけるパス選択
JP6267367B2 (ja) 分散型直接相互接続ネットワークにおけるパケットルーティング方法
KR101473783B1 (ko) 터널링을 이용한 다이나믹 서비스 체이닝 제어 방법 및 장치
US10498607B2 (en) SDN network system, controller, and controlling method
US10587494B2 (en) Network control method and apparatus
JP5850068B2 (ja) 制御装置、通信システム、通信方法およびプログラム
JP5900353B2 (ja) 通信システム、制御装置、通信ノードおよび通信方法
Jin et al. Telekinesis: Controlling legacy switch routing with openflow in hybrid networks
US10812373B2 (en) Data network
US11095553B2 (en) Method, apparatus and system for controlling routing information advertising
JP6323547B2 (ja) 通信システム、制御装置、通信制御方法、および、プログラム
CN111147372B (zh) 下行报文发送、转发方法和装置
CN101841487A (zh) 聚合链路服务流的配置方法及包交换装置
JP5943431B2 (ja) ネットワーク、データ転送ノード、通信方法およびプログラム
CN110679120B (zh) 通信网络节点
Liu et al. Optimal scheduling for multi-flow update in software-defined networks
JPWO2013141200A1 (ja) 通信ノード、パケット処理方法及びプログラム
CN114531944A (zh) 数据流的路径签名
US9473357B2 (en) Guaranteeing bandwidth for dual-homed hosts in fabric extender topologies
US11405284B1 (en) Generating network link utilization targets using a packet-loss-versus-link utilization model
JP2017085442A (ja) 制御装置、通信システム、制御方法、および、プログラム
Hou et al. An improved SDN-based fabric for flexible data center networks
US20180316593A9 (en) Shortest path routing in single-channel networks with aggregating and non-aggregating nodes
JP6565914B2 (ja) 通信制御装置、通信システム、通信制御方法および通信制御用プログラム
Ruelas et al. Implementation of neural switch using OpenFlow as load balancing method in data center

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161006

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171011

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171226

R150 Certificate of patent or registration of utility model

Ref document number: 6271039

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350