JP2017506462A - 分離した制御デバイスおよび転送デバイスを備えるネットワークでの制御デバイス検出 - Google Patents

分離した制御デバイスおよび転送デバイスを備えるネットワークでの制御デバイス検出 Download PDF

Info

Publication number
JP2017506462A
JP2017506462A JP2016552529A JP2016552529A JP2017506462A JP 2017506462 A JP2017506462 A JP 2017506462A JP 2016552529 A JP2016552529 A JP 2016552529A JP 2016552529 A JP2016552529 A JP 2016552529A JP 2017506462 A JP2017506462 A JP 2017506462A
Authority
JP
Japan
Prior art keywords
forwarding
packet
control device
path
control
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
JP2016552529A
Other languages
English (en)
Other versions
JP6576006B2 (ja
JP2017506462A5 (ja
Inventor
セラ、ウィリアム、トーマス
セラ、ジェイムス、マイケル
Original Assignee
レベル スリー コミュニケーションズ,エルエルシー
レベル スリー コミュニケーションズ,エルエルシー
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 レベル スリー コミュニケーションズ,エルエルシー, レベル スリー コミュニケーションズ,エルエルシー filed Critical レベル スリー コミュニケーションズ,エルエルシー
Publication of JP2017506462A publication Critical patent/JP2017506462A/ja
Publication of JP2017506462A5 publication Critical patent/JP2017506462A5/ja
Application granted granted Critical
Publication of JP6576006B2 publication Critical patent/JP6576006B2/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/12Shortest path evaluation
    • H04L45/124Shortest path evaluation using a combination of metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/121Shortest path evaluation by minimising delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/26Route discovery packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised 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/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • H04L45/507Label distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/72Routing based on the source address
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering

Abstract

ソフトウェア定義ネットワーク(SDN)は、複数の転送デバイス、および、それらの転送デバイスから分離して置かれたルーティング制御デバイスを含む。ルーティング制御デバイスは、ネットワーク転送デバイスとの間で両方向のパスを確立する。このようなパスを使用することで、転送デバイスは、ネットワークのトポロジを反映する情報をルーティング制御デバイスへ送信する。本明細書で開示されている実施形態は、ネットワークのトポロジ、および、ルーティング制御デバイスとの間の両方向のパスの自動検出を可能にする。

Description

本分野は概して、ネットワークのルーティングに関する。
通信ネットワークは、例えば、2つの地理的に離れた場所の間でデータを転送することを可能にするネットワーク接続を提供し得る。ネットワーク接続は、ルータなどの通信デバイスを接続する、複数のリンクに及び得る。通信デバイスを通ってリンクがどのように相互接続されるかに応じて、ネットワークは異なるトポロジを有し得る。特定のネットワークトポロジにおいて、送信元と宛先との間で、複数の経路が利用可能な場合がある。現在の容量および利用状況に応じて、いくつかの経路は、他の経路より好ましいことがあり得る。
従来のルーティングのアルゴリズムは、各ルータが有する、その隣接するリンクおよびデバイスからのローカル情報を利用して、データをルーティングし得る。ルータはそのような情報をルーティングテーブルに保持する。そして、ルータは受信パケットの宛先アドレスに基づいて、そのルーティングテーブルを使用して、受信パケットを特定の隣接するデバイスへ転送し得る。ルーティングテーブルを構築するべく、各ルータは、ボーダーゲートプロトコル(BGP)などのプロトコルを使用して、ローカルの隣接するルータと、ルーティングおよび到達可能性の情報を交換する。このように、各ルータは、パケットを転送し、かつ、制御機能を実行して自身のルーティングテーブルを更新する。
ローカル情報の使用は、いくつかの状況では望ましいが、常に効率的にデータをルーティングできるとは限らない。より効率的にデータをルーティングするべく、ソフトウェア定義ネットワーク(SDN)と呼ばれる他の技術は、制御機能と転送機能とを別個のデバイスに分離する。制御デバイスは、ネットワークトポロジの全体的な知識を使用して、個別のデータフローに対し、転送デバイスのネットワークを通るパスを決定する。このように、ルーティング制御デバイスは、例えば、遅延を最小化するか帯域幅を最大化するパスを、ネットワークを通して確立し得る。
一実施形態において、コンピュータ実装方法は、ネットワーク転送デバイスからルーティング制御デバイスへの経路を検出する。この検出方法は、転送デバイスのポート上で制御パケットを受信する段階を含む。この方法では次に、少なくとも部分的には、制御パケットを受信したポートに基づいて、ルーティング制御デバイスに到達するべく、転送デバイス上のどのポートでデータを転送するか識別する。 この方法では、新規データストリームの転送デバイスでの受信に応答して、識別されたポート上で、コマンドをルーティング制御デバイスへ送信する。このコマンドは、ルーティング制御デバイスに対し、転送デバイスを通る、宛先までのパスを決定することと、決定されたパスに沿って新規データストリームを転送するように転送デバイスを構成することとを命令する。この方法では次に、ルーティング制御デバイスの構成コマンドに従って、新規データストリームを転送する。
システムおよびコンピュータプログラム製品の実施形態も開示される。
本発明の更なる実施形態、特徴、および利点、ならびに、各種実施形態の構造及び動作が、複数の添付図面を参照して以下に詳細に説明される。
本明細書に組み込まれ、本明細書の一部を形成する複数の添付図面は本開示を図示し、説明と合わせて、本開示の複数の原理を説明し、当業者が本開示を作成及び使用することを可能にするのに更に役立つ。
制御パケットを転送デバイスへ送信するルーティング制御デバイスを図示するダイアグラムである。
ネットワーク全体にわたって、制御パケットをフラッディングする、転送デバイスを図示するダイアグラムである。
ネットワークトポロジを反映した情報を制御デバイスが収集する方法を図示するダイアグラムである。
制御デバイスから転送デバイスへのパスを見つけるための方法を図示するフローチャートである。
各転送デバイスから制御デバイスへのパスをセットアップする方法を図示するフローチャートである。
転送デバイスから制御デバイスへのパスを使用するネットワーク接続を図示するダイアグラムである。
高速パスをセットアップするルーティング制御デバイスを図示するダイアグラムである。
複数の制御デバイスを有するネットワークを図示するダイアグラムである。
制御デバイスおよび転送デバイスのモジュールを図示するダイアグラムである。
要素が最初に現れる図面は、概して、対応する参照番号で左端の1または複数の数字で示される。複数の図面において、同様の参照番号は、同一または機能的に類似の要素を示し得る。
上述のように、SDNルーティング技術は、ネットワークトポロジの全体的な知識を使用することで、効率的にパケットをルーティングする。これらの技術は、互いに分離したルーティング制御デバイスおよび転送デバイスを使用する。転送デバイスがネットワークを通して新規データフローを受信すると、転送デバイスは、そのデータフローの新規パスを決定するべく、ルーティング制御デバイスに連絡する。ルーティング制御デバイスは、ネットワークの転送デバイスを通る新規パスを決定し、それに応じて、転送デバイスを構成する。
機能するには、ルーティング制御デバイスおよび転送デバイスは、ネットワーク情報で構成される必要がある。具体的には、相互接続された転送デバイスを通る新規パスを作成するように要求するには、転送デバイスは、ルーティング制御デバイスにデータをルーティングする方法を知っている必要がある。そして、ルーティング制御デバイスは、ネットワークを通るパスを決定するには、ネットワークトポロジを知っている必要がある。この情報を手動で構成することは、長い時間を要し、エラーが発生し得る。
本明細書で開示される複数の実施形態は、トポロジ情報が自動的に検出されることを可能にする。一実施形態において、ルーティング制御デバイスは、転送デバイスに接続され、それに制御パケットを送信する。制御パケットは、制御デバイスのアドレスを、その送信元アドレスとして、アドレスフィールド内に含む。また、制御デバイスは、シリアル番号を各制御パケットに付加する。
転送デバイスは、例えば、ネットワークが当該転送デバイスからルーティング制御デバイスへと情報を送信するのにかかり得る時間を示すパフォーマンス情報を付加する。次に、転送デバイスは、他の転送デバイスに接続されている、その他のポート上で、制御パケットをブロードキャスト、またはフラッディングする。そして、他の転送デバイスが、より良いパフォーマンス情報を含むパケットを以前に再ブロードキャストしていない場合、当該他の転送デバイスは、パフォーマンス情報を更新し、パケットを再ブロードキャストする。
転送デバイスは、制御パケットを受信すると、最高のパフォーマンス情報を有するパケットを制御パケットがどのポートで受信したかを記憶する。転送デバイスは、このポートが、ルーティング制御デバイスへの最速経路上であることが分かる。そして、各転送デバイスは、ラベルスイッチパスをその経路上で設定するように、ルーティング制御デバイスに要求し得る。
パスが確立されると、転送デバイスは、近隣のネットワークトポロジと、ネットワーク状態とに関する情報を、制御デバイスに送信する。制御デバイスは、すべての転送デバイスからの、そのような情報を使用することで、全体的なネットワークトポロジと、ネットワーク状態とのデータベースを作成できる。このトポロジデータベースによって、制御デバイスは、ネットワーク内で転送元デバイスと転送先デバイスとの間のパスを確立することが可能になる。
コントローラに対してこのパスが確立されると、コントローラは、それ以降いつでも、より完全なトポロジおよびパフォーマンス情報を利用し得る他の方法を使用することで、転送デバイスとコントローラとの間の通信により良いパスを決定し得る。この、より良いパスが決定された場合、既存のパスは、コントローラによって置き換えられ得る。この場合、コントローラは、特定の新規パスを再度シグナリングし、次に、既存のパスを削除する。
後述の詳細な説明は、5つの項に分けられる。第1項は、図1A‐図1Cに関連し、制御パケットを各転送デバイスへ送信し、トポロジおよびネットワーク状態情報を転送デバイスから収集する、ネットワーク内の制御デバイスを説明する。第2項は、図2‐図3に関連し、制御デバイスと各転送デバイスとの間の双方向接続のセットアップを説明する。第3項は、図4A‐図4Bに関連し、大量のパケットをバッファリングするようにエッジルータへ要求することなく、制御デバイスを使用することで、データを確立し、転送することを説明する。第4項は、図5に関連し、ネットワーク内における複数の制御デバイスの使用を説明する。最後の第5項は、図6に関連し、制御デバイスシステム、および、そのモジュール、ならびに、転送デバイスシステム、および、そのモジュールを説明する。 [制御デバイスおよび制御パケット]
図1Aは、通信ネットワークを図示するダイアグラム100である。通信ネットワークは、ローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、または、広域ネットワーク(WAN)であり得る。通信ネットワークは、ポイントツーポイント、または、マルチポイントツーマルチポイントのネットワークプロトコルを利用し得る。使用されるネットワークアクセスプロトコルは、例えば、マルチプロトコルラベルスイッチング(MPLS)、イーサネット(登録商標)、非同期転送モード(ATM)、ハイレベルデータリンク制御(HDLC)、または、パケットリレーを含み得る。
通信ネットワークは、転送デバイス104、106、108、110および112など、リンクによって相互接続された、複数の転送デバイスを含む。転送デバイスは、パケットを転送するデバイスであり、データリンク層(OSI第2層)、および、ネットワーク層(OSI第3層)のデバイスを含む。
また、通信ネットワークは、ルーティング制御デバイス102を含む。ルーティング制御デバイス102は、例えば転送デバイス104など、少なくとも1つの転送デバイスに接続され得る。ルーティング制御デバイス102は、ネットワーク内の他の転送デバイスから、地理的に遠く離れた場所にあり得る。
例として、ユーザは、例えば転送デバイス106などの転送元デバイスから、例えば転送デバイス110などの転送先デバイスへとデータを送信し得る。データは、パケットに分割されるストリームであり得、各パケットは、転送デバイス110、または、他の下流のデバイスを、その宛先として指定し得る。
ルーティング制御デバイス102は、ネットワーク接続を確立するためのインテリジェントなルーティングを提供する。これを行うには、制御デバイス102は、トポロジ、ならびに、ネットワークリンクおよびネットワークデバイスの状態に関する知識が必要である。ルーティング制御デバイス102は、転送デバイス104に直接接続する。制御デバイスがネットワークの知識を獲得するべく、制御デバイス102は、制御パケット120を転送デバイス104へ送信する。
制御パケット120は、当該パケットが制御パケットであることを示すものと、メディアアクセス制御アドレスなどのルーティング制御デバイス102の識別子と、パケットのシリアル番号とを含み得る。一実施形態において、制御デバイス102は、一定の時間間隔で、新規制御パケットを送信し得る。制御デバイス102が新規パケットを送信するたびに、制御デバイス102は、シリアル番号をインクリメントし、異なる番号を有する新規制御パケットを送り出す。
説明のための例において、制御パケット120は、以下の情報を含み得る。
タイプフラグ:C(制御パケット)
制御デバイスのMACアドレス:01:23:45:67:89:ab
制御パケットのシリアル番号:1
図1Bで図示するように、ルーティング制御デバイス102が制御パケット120を隣の転送デバイス104へ送信すると、ネットワーク転送デバイスは、そのパケットをネットワーク全体にフラッディングする。
図1Bは、制御パケットをネットワーク全体にフラッディングする、ネットワーク転送デバイスを図示するダイアグラムである。制御パケット120を受信後、転送デバイス104は、制御パケットを受信したポートを除く、そのすべてのポートで、制御パケットを送り出し得る。
上述した通り、ルーティング制御デバイス102が制御パケット120を生成する場合、制御デバイスは、そのアドレスとシリアル番号とを制御パケットに含め得る。転送デバイス104が制御パケットを受信すると、それを転送する前に、転送デバイス104は、2つの修正を行い得る。第1に、転送デバイスは、それ自身の識別子(そのMACアドレスなど)を制御パケットに追加し得る。このアドレスは、制御パケットが通過するすべての転送デバイスを記録するように、制御パケットのアドレスフィールドに追加される。第2に、転送デバイス104は、制御パケット内のパフォーマンスメトリックを修正し得る。パフォーマンスメトリックには、例えば、制御パケットを制御デバイス102から転送デバイス104へ送信する際の遅延が含まれ得る。この遅延情報は、例えば、リンク層検出プロトコル(LLDP)のパケット交換を使用して、転送デバイス104によって収集され得る。トラフィック量の変化にネットワークが反応する際の一時的な変化を防止するべく、遅延は移動平均として決定されるか、さもなければ平準化され得る。
転送デバイス104は、これら2つの修正を加え、制御パケット142、144および146として、他のポートで制御パケットを転送する。この時点では、3つの制御パケット142、144および146はすべて、同じ情報を含み得る。引き続き上の例で、転送デバイス104のMACアドレスが02:02:02:02:02:bcであり、制御デバイス102と転送デバイス104との間の遅延が5ナノ秒であると仮定すると、制御パケット142、144および146は、以下の情報を含み得る。
タイプフラグ:C(制御パケット)
制御デバイスのMACアドレス:01:23:45:67:89:ab
制御パケットのシリアル番号:1
仲介転送デバイスのアドレス:02:02:02:02:02:bc
パフォーマンスメトリック:5ナノ秒
転送デバイス104は、制御パケット144をリンク114上で転送デバイス106に転送し、制御パケット142をリンク116上で転送デバイス108に転送し、制御パケット146をリンク118上で転送デバイス110に転送する。
転送デバイス106は、制御パケット144を受信すると、自身のアドレスをアドレスフィールドに追加し、制御パケットのパフォーマンスメトリックを更新することで、制御パケット148を生成する。例えば、転送デバイス106は、遅延を追加し、データを転送デバイス106から転送デバイス104へ送信し得る。引き続き上の例で、転送デバイス106のMACアドレスが03:03:03:03:03:cdであり、コントローラ102と転送デバイス104との間の遅延が2ナノ秒であると仮定すると、制御パケット148は、以下の情報を含み得る。
タイプフラグ:C(制御パケット)
制御デバイスのMACアドレス:01:23:45:67:89:ab
制御パケットのシリアル番号:1
仲介転送デバイスのアドレス:02:02:02:02:02:bc、03:03:03:03:03:cd
パフォーマンスメトリック:7ナノ秒
転送デバイス106は、パケット148をリンク122上で転送デバイス108へ送信する。
転送デバイス108は、制御パケット142および144を受信する。転送デバイス108は、これら2つの制御パケットの各々に含まれる遅延情報を使用することで、制御デバイス102への遅延がより少ないパスを確立することを選択できる。転送デバイス108は、制御パケット内のアドレス系列フィールドを使用することで、制御デバイスに到達するには、どの隣接する転送デバイスと通信する必要があるか知ることができる。
例えば、転送デバイス108は、リンク120上でデータを転送デバイス106へ送信するための時間は3ナノ秒であり、リンク116上でデータを転送デバイス104へ送信するための時間は9ナノ秒であることを知り得る。この時間を、受信したパケット148および142内のパフォーマンスメトリックに追加することで、転送デバイス108は、転送デバイス106を介した制御デバイス102への伝送には10ナノ秒かかるのに対し、転送デバイス104を介した伝送には、14ナノ秒かかると判定できる。そのため、転送デバイス108は、デバイス104ではなく、転送デバイス106を介して、制御デバイス102へデータをルーティングすることを選択し、より速いパスを取り得る。
また、転送デバイス108は、制御パケット142および148を再転送し得る。転送デバイス108が、より遅いパスを示すパケット(この場合、パケット142)を受信する前に、より速いパスを示すパケット(この場合、パケット148)を受信した場合、転送デバイス108は、より遅いパケットを転送しなくてよい。なぜなら、転送デバイス108は、制御デバイス102へと向かう如何なるデータも、そのデータが転送デバイス108に由来するものか、または、デバイス112などの他の転送デバイスに由来するものかに関係なく、転送デバイス106を通る、より速いパスを取るべきであることを知っているからである。
制御デバイス102への最適パスは転送デバイス106を通るパスであることを決定すると、転送デバイス108は、転送デバイス106との双方向パスを確立し得る。一実施形態において、この双方向パスを確立するべく、転送デバイス108は、制御デバイスへ到達するには、特定のポート(当該転送デバイスが制御パケット144を受信したポート)で特定のラベル付きのパケットを送信するというルールを、転送テーブルとも呼ばれ得る、そのルーティングテーブルに設定する。この情報は、転送デバイス106に通信され、その結果、両方の転送デバイスが同じルールに従う。したがって、転送デバイス106が、転送デバイス108から、設定ラベルとともにパケットを設定ポートで受信した場合、転送デバイス106は、このパケットは制御デバイス102宛てであることを知る。同様に、転送デバイス106は、制御デバイス102宛てのトラフィックを、転送デバイス104を通して転送することを知る。そのため、転送デバイス106は、制御デバイス102へとデータをルーティングするべく、転送デバイス104と共にラベルを設定する。また、制御デバイス102から転送デバイス106を通して転送デバイス104へとデータをルーティングするべく、同様の方法でラベルが設定され得る。
このように、制御デバイスからの制御パケットを分析し、再転送することによって、各転送デバイスは、制御デバイスと通信する方法を検出し、制御デバイスへのラベルスイッチパスを設定できる。図4Aおよび図4Bに関して後述するように、転送デバイスが新規データストリームを受信すると、制御デバイスがネットワークを通るパケットのためのパスを設定するまで、転送デバイスは新規データストリームからのパケットを制御デバイスへ転送し得る。
実施形態では、ラベルスイッチパスを使用してデータを制御デバイスへ転送するだけでなく、図1Cで図示されているように、ラベルスイッチパスを使用して、制御デバイスがネットワークのトポロジ情報を検出することも助ける。
図1Cは、ネットワークトポロジを反映している情報を収集する制御デバイス102を図示するダイアグラム170である。
各転送デバイスは、何の転送デバイスに接続されているか、および、周囲のリンクおよび転送デバイスの状態はどうかを示す情報をルーティング制御デバイスへ送信する。周囲のリンクおよび転送デバイスの状態には、例えば、トラフィックおよび輻輳情報、レイテンシ、パケット損失率、ジッタなどが含まれ得る。この情報は、例えば、リンク層検出プロトコル(LLDP)を使用して収集され得る。一実施形態において、転送デバイスは、この情報を定期的に送信する。そして、転送デバイスは、転送デバイスと制御デバイスとの間で確立されたパスを使用して、この情報を送信する。
図1Cで示されている例では、制御デバイス102への転送デバイス108用のパスが確立されている。このパスには、転送デバイス108、106および104が含まれる。転送デバイス108は、その周囲のトポロジを含む情報を制御デバイス102へ送信する。例では、転送デバイス108は、この情報をパケット172に入れてルーティング制御デバイス102へと送信する。
ルーティング制御デバイス102は、転送デバイス108を含む転送デバイスのすべてから受信するトポロジ情報を使用して、転送デバイスのネットワークのトポロジを反映するデータベース174を作成する。 [制御デバイスとの間で両方向のパスを確立する]
図2は、制御デバイスから転送デバイスへのパスを発見するための方法200を図示するフローチャートである。
段階202で、制御デバイスは転送デバイスのネットワークのうち1つの転送デバイスに物理的に接続する。段階204で、制御デバイスは、制御(または検出)パケット、例えば、リンク層検出プロトコル(LLDP)パケットを、制御デバイスが接続されている転送デバイスへ送信する。
段階206で、パケットを受信した転送デバイスは、パケットが制御デバイスに由来するものかどうか検証する。例において、転送デバイスは、例えば、特定のフラグが立てられているかどうかをチェックすることによって、パケットが制御デバイスからのものであることを検証できる。
制御パケットは、ネットワークリンクまたはネットワークデバイスの状態を示すパフォーマンスメトリックを含む。例えば、メトリックはリンクのレイテンシを示し得る。したがって、この例では、メトリックが低いことは、レイテンシがより低いこと、したがって、パフォーマンスがより良いことを示す。また、メトリックは、レイテンシ、パケット損失、ジッタなどの複数の状態の関数であり得る。
制御パケットを受信する各転送デバイスは、パフォーマンスメトリックを更新する。更新されたメトリックは、例えば、制御パケットが前の、すなわち上流の転送デバイスから、当該転送デバイスへ到達するための追加のレイテンシを示す。メトリックの更新後、転送デバイスは、制御パケットを受信したポートを除く、そのすべてのポート上で、制御パケットをフラッディングする。
転送デバイスは、過去に受信したものと同じ制御パケットを再度受信し得る。これが起きるのは、制御パケットがネットワークを通してフラッディングされるからである。転送デバイスは、制御デバイスが各制御パケットに付加する固有のシリアル番号によって、繰り返しの制御パケットを認識できる。
段階208で、転送デバイスは、パケットのパフォーマンスメトリックが、制御デバイスから受信した以前のメトリックより良いかどうかをチェックする。転送デバイスが受信したすべての制御パケットの中で、当該メトリックが最高のパフォーマンスメトリックである場合、段階210で、転送デバイスは、制御デバイスへ到達するための最適な経路としてパケットの受信ポートを保存する。
段階212で、制御パケットがネットワークを通って無限に循環することを回避するべく、転送デバイスはシリアル番号をチェックして、制御パケットが以前に転送されたかどうか判定する。制御パケットは固有のシリアル番号を、生成する各制御パケットへ追加するので、転送デバイスは制御パケットのシリアル番号を使用して、制御パケットを以前に転送したかどうか判定できる。または、転送デバイスが、例えば、より大きいシリアル番号を有する、より最近の制御パケットを以前に転送した場合、転送デバイスはシリアル番号を使用して、現在の制御パケットが古いかどうかを判定する。パケットが無限にネットワークを通って循環することを回避するべく、制御パケットの少なくとも一部のハッシュまたはチェックサムなど、多くの他の機構が使用され得る。
段階214で、転送デバイスは、パケットが以前に転送されたかどうか、および、最高のパフォーマンスを示すメトリックを含んでいるかどうかを判定する。制御パケットが最高のパフォーマンスメトリックを示さないか、または、当該転送デバイスによって以前に転送されていた場合、転送デバイスはパケットを破棄し、プロセスは終了する。
制御パケットが最高のパフォーマンスメトリックを含み、かつ、以前に転送されていない場合、プロセス200は段階216でパスを設定する。段階216は、後述の図3の説明で詳細に説明される。
次に段階218で、転送デバイスは、上流の転送デバイスと現在の転送デバイスとを接続しているリンクのパフォーマンス、および、2つの転送デバイス自体のパフォーマンスを反映するように、パフォーマンスメトリックを更新する。次に段階220で、受信した転送デバイスは、制御パケットを受信したポートを除く、そのすべてのポート上でパケットをフラッディングする。このように、更新された制御パケットは、他の転送デバイスへ送信される。
他の転送デバイスは、段階206からプロセスを繰り返し、同じ方法でパケットを処理する。
図3は、転送デバイス104と106との間のパスをセットアップするための方法216を図示するフローチャートである。例として、制御パケットが転送デバイス104から転送デバイス106へと移動した場合、転送デバイス104は106にとって、上流の転送デバイスである。
図1A、図1B、図2に関連して上述に引き続き、転送デバイス106は、上流の転送デバイス104から新規制御パケットを受信し、新規制御パケットは、これまでで最高のパフォーマンス特性を有すると仮定する。この理由から、図2の段階216でパスが設定される。
段階302で、転送デバイス106は、1つ上流の転送デバイスに対し、制御デバイスへのパスの要求を送信する。段階306で、転送デバイス104はパスを確立するためのラベルを決定する。段階308で、転送デバイス104は、このラベルを転送デバイス106へ送信する。段階304で、転送デバイス106はそれに応じて、そのルーティングテーブル内でこのラベルルールを確立する。
段階310で、転送デバイス104は制御デバイスへのパスを要求する。パスを作成するべく、転送デバイス104は、他の上流の転送デバイスからラベルを要求し、段階302、306、308および310を繰り返し得る。段階312で、転送デバイス104は、ラベルルールをそのルーティングテーブル内に確立する。
例えば、転送デバイス104は、段階302で転送デバイス106からの要求を受信後、ラベルL1を二者間のパスに選択する。このラベルを転送デバイス106へ送信後、転送デバイス106は、制御デバイス宛てのデータパケットすべてに、このラベルを付加する。
この例では、転送デバイス104は、転送デバイス106へ接続されているポート上でラベルL1が付いたデータパケットを受信すると、そのパケットを制御デバイスへ転送する。制御デバイスへパケットを転送するべく、転送デバイス104は、特定のラベルとともに特定のポート上で転送することを(段階312でラベルルールを確立したことで)知り得る。このように、転送デバイスから制御デバイスへのパスが確立される。
また、制御デバイスから転送デバイスへの逆方向のパスも、同様の方法で確立され得る。この場合、各転送デバイスは、そのルーティングテーブル内でラベルを設定し得る。ルーティングテーブル内のエントリには、データをルーティングするための関連するポートが含まれ得る。
そのようなパスがネットワーク内の転送デバイスの間で確立された後、ネットワーク内では、制御デバイスと各転送デバイスとの間で、両方向のパスが存在する。図3の例では、転送デバイス106と、転送デバイス104と、制御デバイスとの間にパスが確立された後、転送デバイス106はこのパスを使用して、制御デバイスにデータを送信する。逆の場合も同様であり、制御デバイスは、このパスを使用して転送デバイス106へデータを送信する。
[新規データストリーム用の高速パスを確立する]
図4Aは、サーバ444へアドレス指定されたネットワークユーザ442からのデータストリームを図示するダイアグラム400を示す。データストリームには、パケット402、404、406、408、410および412が含まれる。データストリームの第1パケット(パケット402)が転送デバイス106へ到達すると、それは制御デバイス102へルーティングされる。制御デバイス102は、このパケットが新規接続に属していると判定し、制御デバイス102を通って流れることがない、接続のための高速パスを確立するプロセスを開始する。
例において、パケット402の後、パケット404および406も送信される。転送デバイス106は、パケット404および406をバッファリングするか、または、第1パケット402に対して行ったことと同様に、これらのパケットを制御デバイス102へと転送する。
制御デバイスは第1パケットを受信した後、転送デバイス104へパケットを送信する。転送デバイス104は、パケット内に含まれる宛先アドレス、および、図2および図3の段階216で設定されたパスを使用して、対応するラベルとともにパケットを対応するポートへと転送する。
次に、制御デバイスは送信元から宛先へのパスを計算する。パスにはネットワークリンクおよびルータが含まれるが、制御デバイスは含まれない。例えば、制御デバイスは、MPLSプロトコルを使用して、データストリーム用のラベルスイッチパス(LSP)を作成する。パスを決定するべく、制御デバイスは、現在または過去の帯域幅の利用状況を考慮し得る。例えば、制御デバイスは、前の数週間(または他の周期的な期間)の間のネットワーク利用状況を考慮し得る。また、制御デバイスは、複数のパス上で負荷分散を可能にするべく、複数のパスを接続のために作成し得る。
また、制御デバイスは、各種パス全体における、レイテンシ、ジッタ、パケット損失、もしくは、他の何らかのパフォーマンスメトリック、ユーザのサービス水準合意、または、転送されるデータのタイプを考慮し得る。例えば、ブロードキャストビデオデータは、大きな帯域幅を必要とするが、レイテンシは比較的重要でないことがあり得る。他方、ボイスオーバーIP(VoIP)データは、そこまで大きな帯域幅を必要としないが、レイテンシはより重要であることがあり得る。ブロードキャストビデオデータの場合、制御デバイスは高帯域幅、高レイテンシパスを選択し、VoIPデータの場合、制御デバイスは低帯域幅、低レイテンシパスを選択し得る。
他の実施形態において、制御デバイスは、特定のサーバを通ってデータをルーティングし得る。例えば、特定のタイプを有するデータ、または、特定の宛先に宛てられたデータは、途中で特定のスクラビングサーバによって、スクラビングを受ける必要があり得る。スクラビングサーバは、受信データを監視するべく、または、データ上で他の分析を実施するべく、悪意のある内容がないかデータをスキャンするのに使用され得る。その実施形態において、制御デバイスは、データが特定のスクラビングサーバ、またはサーバのセットを通過するように決定し得る。
高速パスを決定した後、制御デバイスは、パスに沿った各転送デバイスのルーティングテーブルを更新する。データストリームに関して、複数のパスが計算された場合、制御デバイスはすべてのパスに沿ったルーティングテーブルを作成する。一実施形態において、更新済みルーティングテーブルは転送デバイスに対し、送信元/宛先アドレスおよび送信元/宛先ポートの特定の組合せを有するパケットをどのように転送するか命令し得る。代替的な実施形態において、データストリームは、ラベルによって識別され、更新済みルーティングテーブルは、ラベルが付いたパケットをどのように転送するか指示し得る。
制御デバイスは、更新済みルーティングテーブルをネットワークルータへ送信する。制御デバイスは、段階216ですべての転送デバイスに対して確立されたパスを使用して、ルーティングテーブルを送信し得る。ルータがどのように構成されるかについての例は、図4Bで図示されている。
図4Bは、ユーザ442とサーバ444との間でパスを確立するべく、制御デバイス102がどのようにネットワーク転送デバイスを構成するか図示するダイアグラム420を示す。
図4Bで、制御デバイス102は、ユーザ442とサーバ444との間のデータストリームが、リンク120、122、および124、ならびに、転送デバイス106、108、112、および110を含むパスを通って進むことを決定する。転送デバイスを構成するべく、制御デバイス102は、構成コマンド422、424、426および428を使用して、更新済みルーティングテーブルを送信する。これらの構成コマンドは、ユーザ442と宛先444とを接続する高速パス上にあるすべての転送デバイスを構成する。具体的には、コマンド422は転送デバイス106に対し、データストリーム内のパケットをリンク120へ転送するよう命令し、コマンド424は転送デバイス108に対し、データストリーム内のパケットをリンク122へ転送するよう命令し、コマンド426は転送デバイス112に対し、データストリーム内のパケットをリンク124へ転送するよう命令し、コマンド428は転送デバイス110に対し、データストリーム内のパケットをリンク124へ転送するよう命令する。
一実施形態において、パスが完全に確立されるまで、パケットが制御デバイスを通って流れ続けることを確実にするべく、パスに沿ったルータが、出口ポイント(転送デバイス104)から入口ポイント(転送デバイス106)まで構成される。第1に、コマンド428は、転送デバイス110を構成する。第2に、コマンド426は、転送デバイス112を構成する。第3に、コマンド424は、転送デバイス108を構成する。第4に、コマンド422は、転送デバイス106を構成する。
図4Aに戻って、パスが確立されるまで、ユーザ442は、データストリームのパケット(パケット402、404、406)の送信を継続する。上述のように、転送デバイス106は、パス上でこれらのパケットを制御デバイス102へ向かわせ続ける。
制御デバイス102は、これらのパケットを受信すると、図2の段階216であらかじめ決定された既定のパスを使用して、パケットを宛先へとルーティングする。このように、ネットワークを通るパスが確立されている間(図4Bで図示)、パケットは宛先へルーティングされ続けるので、初期パケットをエッジルータにバッファリングする必要性が回避される。
パスが設定されると(例えば、転送デバイスが新規ルーティングテーブルで構成されると)、制御デバイスによって設定された高速パスに沿ってデータが流れる。この時点で、データは制御デバイスを流れなくなるので、転送デバイスを通るより速い速度で、より低いエンドツーエンドのレイテンシで流れる。
[複数の制御デバイス]
図5は、複数の制御デバイスを有するネットワークを図示するダイアグラムである。図5で示されている例示的な実施形態において、制御デバイス102が転送デバイス104に接続され、制御デバイス504が転送デバイス110に接続され、制御デバイス506が転送デバイス506に接続される。
例示的な実施形態において、各制御デバイス102、504または506は、制御パケットを定期的に、または、様々な時間間隔で、各々に直接接続された転送デバイスへ送信する。そして、図2で図示されているのと同じプロセスに従って、各制御デバイスは、ネットワーク内の各転送デバイスに対し、双方向パスを確立する。
図5の例示的な実施形態において、各転送デバイスは、その隣接する転送デバイスのトポロジを示す情報、および、ネットワーク状態情報をネットワーク内の各制御デバイスへ送信する。この実施形態において、転送デバイスは、プロセス200の段階216で確立された双方向パスを使用して、この情報を送信する。一実施形態において、転送デバイスは、この情報を制御デバイスに対し、定期的に、または、様々な時間間隔で送信する。
冗長性の目的で、単一の物理ネットワークが、複数のトポロジデータベースと共に、複数の制御デバイス上にミラーリングされ得る。これらの制御デバイスは各々、自身とネットワーク内の各ルータとの間で確立されたパスを有する。1つの制御デバイスへの既定パスに障害が発生した場合、トラフィックは異なる制御デバイスへのパスを選択し得る。
例示的な実施形態において、各転送デバイスは、データを転送する際、および、宛先への高速パスを確立する際、1度に1台の制御デバイスを選択する。この実施形態において、転送デバイスは選択アルゴリズムに基づいて、制御デバイスのいずれか1つを選択できる。選択アルゴリズムには、例えば、ラウンドロビンアルゴリズムがあり得る。また、転送デバイスは、制御デバイスを選択するアルゴリズムで、制御デバイスが1度にセットアップしようとしているネットワーク負荷、または、新規接続の数も考慮し得る。加えて、転送デバイスは、レイテンシがもっとも低いコントローラに対し、宛先への高速パスを確立するように依頼し得る。ラウンドロビンのアプローチは、最低レイテンシのアプローチと併せて使用され得る。例えば、デバイスは、コントローラへの複数のパスにわたって、トラフィックのバランスをとることを選択し得る。例えば、おそらく、もっとも近い5への丸め処理をメトリックに行い、その結果、3、4、5、6、7、のパフォーマンス値を5の値と同じように扱う。転送デバイスは、高速パスを作成するコントローラを選択するべく、もっとも低い丸め処理済みメトリックを有するコントローラの間でラウンドロビンアルゴリズムを採用し得る。これは、ネットワークが実世界の状況に対応する際に、パフォーマンス値のわずかな修正の影響を制限するのに役立つ。
一実施形態において、ネットワーク内の制御デバイスは、互いに同期する必要はない。制御デバイスに障害が発生した場合、制御デバイスから制御パケットを一定期間受信しなかった後で、転送デバイスは、その制御デバイスへのパスを維持するためのラベルを除去する。転送デバイスは、ラウンドロビンなどの同じ選択アルゴリズムによって、続けて他の制御デバイスを使用する。
複数の制御デバイスが存在することで、ネットワークのレジリエンスが大幅に向上する。制御デバイスに障害が発生した場合、または、制御デバイスに接続しているリンクに障害が発生した場合、転送デバイスは、ネットワーク内にある他の制御デバイスを続けて使用する。また、複数の制御デバイスは、ネットワーク内の負荷のバランスをとることにも役立つ。新規接続要求の数がより少ない制御デバイスをインテリジェントに選択することで、または、レイテンシがもっとも低いパスなどの最適パスを有する制御デバイスを選択することで、転送デバイスは、新規接続を要求する場合に、ネットワークの輻輳区間を回避できる。
[制御デバイスおよび転送デバイスモジュール]
図6は、制御デバイス102、およびそのモジュール、ならびに、転送デバイス104、およびそのモジュールを図示するダイアグラム600を示している。
具体的には、制御デバイス102は、コントローラ検出モジュール610、パス決定モジュール608、データ転送モジュール612、および、トポロジデータベース606を含む。各種モジュールは、図2の方法に関して上述したように機能し得る。
コントローラ検出モジュール610は、転送デバイスのネットワークのトポロジを判定するように構成される。コントローラ検出モジュール610は、制御デバイスに直接接続されている転送デバイスへ制御パケットを送信する。制御パケットは、制御デバイスのアドレス、および、シリアル番号を含む。アドレスとシリアル番号の組合せを使用することで、各制御パケットはネットワーク全体で一意に識別され得る。
制御パケットがネットワークを通って移動するにつれて、制御パケットを受信する各転送デバイスは、自身のアドレスを制御パケットに追加する。また、各転送デバイスは、各制御パケットにネットワークの特性を示すメトリックを更新する。転送デバイスは、制御パケットを受信すると、制御パケットから、制御パケットが転送デバイスに到着すべく移動してきたパスが分かる。また、プロセス200で説明されているように、転送デバイスは、パフォーマンスメトリック情報を使用して、複数の転送パケットが移動した複数のパスの中で、どのパスが制御デバイスへの最適パスであるか分かる。したがって、転送デバイスは、制御デバイスへの最適パスを動的に更新できる。
転送デバイスへのパスが設定された後で、コントローラ検出モジュール610は、ネットワーク内の転送デバイスから、トポロジおよびネットワーク状態情報を受信する。コントローラ検出モジュール610は、この情報、および、ネットワーク内の他の転送デバイスからの同様の情報を使用して、トポロジデータベース606を作成する。
トポロジデータベース606は、ネットワーク内の転送デバイスの検出されたトポロジを保存する。トポロジデータベース606は、転送デバイスおよびリンクが共にどのように接続されているかに関する現在のトポロジを反映する。また、トポロジデータベース606は、ネットワークの現在の状態を示す情報を保存する。ネットワークの状態には、ネットワークリンクまたはデバイス上のレイテンシ、パケット損失、輻輳、またはジッタが含まれ得る。
パス決定モジュール608は、新規ネットワーク接続のためのパスを確立する。転送元デバイスから接続の要求があると、パス決定モジュール608は、転送元デバイスから転送先デバイスへの接続パスを決定する。パス決定モジュール608は、パスを決定するのにトポロジデータベース606を使用する。トポロジデータベース606に保存されたトポロジおよびネットワーク状態情報を使用することで、パス決定モジュール608は、転送元デバイスから宛先への最適パスを発見できる。最適パスには、例えば、最短パス、または、遅延がもっとも少ないパス、または、パケット損失がもっとも少ないパスがあり得る。
接続のためのパスを決定後、パス決定モジュール608はまた、決定されたパス上にある各転送デバイスに対し、構成コマンドを送信する。図4Bの例示的な実施形態で図示されているように、パス決定モジュールは、構成コマンド422、424、426および428を作成し、送信する。構成コマンドは、対応する転送デバイスを構成する。構成された転送デバイスは、パス決定モジュール608によって決定された接続用パス上の接続に属するパケットをルーティングする。
データ転送モジュール612は、パス決定モジュールが接続用のパスを決定している間に、要求された接続に関する初期パケットを送り、構成コマンドを送信することによって転送デバイスを構成する。図4Aで図示されているように、初期パケット402、404、406、408および410は、転送元デバイスから制御デバイスへのパスを通って、制御モジュールへ転送される。接続パスが確立されている間、データ転送モジュール612は、制御デバイスから転送先デバイスへのパスを通して初期パケットを転送する。
図6で示されている例示的な実施形態において、転送デバイス104は、パス要求モジュール622、スイッチ検出モジュール624、ルーティングテーブル626、パフォーマンスメトリックモジュール628を含む。
転送デバイスで新規データ接続の要求を受信した後、パス要求モジュール622は、メッセージをルーティング制御デバイスへ送信し、接続パスの確立を要求する。パス要求モジュール622は、プロセス200の段階216で設定された制御デバイスへのパスを使用して、接続パスを確立するための要求を送信する。パス要求は、ルーティング制御デバイスに対し、転送元デバイスから転送先デバイスへのパスを決定するように命令する。パス決定モジュール608は次に、接続パスを決定し、決定されたパスに沿って新規データストリームを転送するように転送デバイスを構成する。
スイッチ検出モジュール624は、制御デバイスのコントローラ検出モジュール610によって送信された制御パケットを受信する。スイッチ検出モジュール624は、方法200の段階216で示されているように、転送デバイスから制御デバイスへのパスを決定する。一実施形態において、スイッチ検出モジュール624は、制御パケット内の情報、および、制御パケットを受信するポートに基づいて、この決定を下す。
転送デバイスから制御デバイスへのパスを確立するべく、スイッチ検出モジュール624は、制御パケットを受信したポートに部分的に基づいて、ルーティング制御デバイスに到達するには、転送デバイス上のどのポート上でデータを転送するか識別する。
一実施形態において、隣接するデバイスから到着する制御パケット内のパフォーマンスメトリックが、制御デバイスから最高のパフォーマンスを有する転送デバイスへのパスを示す場合、スイッチ検出モジュール624は、方法300の段階306で示されているように、制御デバイスへルーティングするためのラベルを決定する。
また、スイッチ検出モジュール624は、プロセス200の段階214で示されているように、受信した制御パケットが最高のパフォーマンスのパスを示し、かつ、転送デバイスの他のポート上でまだ転送されていないかどうか判定した後で、制御パケットを受信したポートを除くそのポート上で、制御パケットをフラッディングする。
転送デバイスのルーティングテーブル626には、ネットワーク内でデータパケットをどのように転送するかに関する情報が含まれている。構成コマンド422、424、426および428は、パケットをどのように転送するかに関する情報で、転送デバイス内のルーティングテーブルを更新する。また、制御デバイス102へのパスをセットアップするためのラベルを受信後、スイッチ検出モジュール624は、決定されたラベルに基づいて、ルーティングテーブル626内に転送ルールを確立する。
パフォーマンスメトリックモジュール628は、受信制御パケットのパフォーマンスメトリックのフィールドを更新する。受信制御パケットには、制御デバイスから前の転送デバイスまでのパスのネットワークパフォーマンスメトリックを含むフィールドが含まれる。パフォーマンスメトリックモジュールは、現在の転送デバイスまでのパスのパフォーマンスを反映するように、パフォーマンスメトリックのフィールドを更新する。
また、パフォーマンスメトリックモジュール628は、転送デバイスが、より良いパフォーマンスメトリックを有する他の制御パケットを以前に転送したかどうか判定する。パフォーマンスメトリックモジュール628は、スイッチ検出モジュール624に対し、より良いメトリックを有する、以前の同じ制御パケットが、転送デバイスポート上でフラッディングされたかどうか通知する。
[結論]
本明細書で使用されるユーザという用語は、ネットワーク接続サービスを利用する企業の従業員など、ネットワーク接続サービスの顧客、および、サービス提供者自体のネットワーク管理者の両方を包含し得る。また、ユーザは異なる企業、または組織に所属し得る。
トポロジデータベース606は、永続的なメモリを含む、任意の保存タイプの構造化メモリであってよい。例では、各データベースは、関係データベース、またはファイルシステムとして実装され得る。
図6の複数のデバイスおよびモジュールのそれぞれは、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せで実装され得る。
図6の複数のデバイス及びモジュールのそれぞれは、同じまたは異なる複数のコンピューティングデバイス上に実装され得る。そのようなコンピューティングデバイスは、限定されないが、パーソナルコンピュータ、携帯電話などのモバイルデバイス、ワークステーション、組み込みシステム、ゲームコンソール、テレビ、セットトップボックス、または、他の何らかのコンピューティングデバイスを含み得る。更に、コンピューティングデバイスは、限定されないが、命令を実行し格納するための、プロセッサと、非一時的メモリを含むメモリとを有するデバイスを含み得る。メモリは、データ及びプログラム命令を有形に具体化し得る。ソフトウェアは、1または複数のアプリケーションとオペレーティングシステムとを含み得る。ハードウェアは、限定されないが、プロセッサ、メモリ、およびグラフィカル・ユーザ・インタフェース・ディスプレイを含み得る。また、コンピューティングデバイスは、複数のプロセッサ、および複数の共有または別個のメモリ構成要素も有し得る。例えば、コンピューティングデバイスは、クラスタ化された又は分散された、コンピューティング環境またはサーバファームの一部または全体であってよい。
「(a)」、「(b)」、「(i)」、「(ii)」などの識別子は、異なる要素または段階のために用いられることがある。これらの識別子は明確にするために用いられ、必ずしも要素または段階の順序を示すものではない。
本発明は、複数の特定機能、および、それらの関係の実装を図示する複数の機能的構成単位を用いて上述された。これらの機能的構成単位の境界は、説明の利便性のために、本明細書で任意に画定された。複数の特定機能およびそれらの関係が適切に実行される限り、代替の境界が画定され得る。
複数の具体的な実施形態についての前述の説明は、本発明の全般的性質を十分に明らかにしているので、当技術分野の技術内の知識を応用することで、過度の実験なしに、本発明の一般的概念から逸脱することなく、その他の人々がそのような複数の具体的な実施形態を様々な用途のために容易に修正し得る、および/または容易に改作し得る。したがって、そのような改作物および修正物は、本明細書に提供された教示および指導に基づいて、開示された複数の実施形態の均等物の趣旨内および範囲内であるよう意図されている。本明細書の語句または用語は、説明を目的とするものであって限定するものではなく、これにより本明細書の語句または用語は、教示および指導を考慮して当業者により解釈されることになることが理解されるべきである。
本発明の広さおよび範囲は、上述された複数の例示的実施形態のいずれによっても限定されるべきではなく、次の特許請求の範囲及びその均等物のみに基づいて定義されるべきである。
転送デバイス108は、制御パケット142および148を受信する。転送デバイス108は、これら2つの制御パケットの各々に含まれる遅延情報を使用することで、制御デバイス102への遅延がより少ないパスを確立することを選択できる。転送デバイス108は、制御パケット内のアドレス系列フィールドを使用することで、制御デバイスに到達するには、どの隣接する転送デバイスと通信する必要があるか知ることができる。
例えば、転送デバイス108は、リンク122上でデータを転送デバイス106へ送信するための時間は3ナノ秒であり、リンク116上でデータを転送デバイス104へ送信するための時間は9ナノ秒であることを知り得る。この時間を、受信したパケット148および142内のパフォーマンスメトリックに追加することで、転送デバイス108は、転送デバイス106を介した制御デバイス102への伝送には10ナノ秒かかるのに対し、転送デバイス104を介した伝送には、14ナノ秒かかると判定できる。そのため、転送デバイス108は、デバイス104ではなく、転送デバイス106を介して、制御デバイス102へデータをルーティングすることを選択し、より速いパスを取り得る。
制御デバイス102への最適パスは転送デバイス106を通るパスであることを決定すると、転送デバイス108は、転送デバイス106との双方向パスを確立し得る。一実施形態において、この双方向パスを確立するべく、転送デバイス108は、制御デバイスへ到達するには、特定のポート(当該転送デバイスが制御パケット144を受信したポート)で特定のラベル付きのパケットを送信するというルールを、転送テーブルとも呼ばれ得る、そのルーティングテーブルに設定する。この情報は、転送デバイス106に通信され、その結果、両方の転送デバイスが同じルールに従う。したがって、転送デバイス106が、転送デバイス108から、設定ラベルとともにパケットを設定ポートで受信した場合、転送デバイス106は、このパケットは制御デバイス102宛てであることを知る。同様に、転送デバイス106は、制御デバイス102宛てのトラフィックを、転送デバイス104を通して転送することを知る。そのため、転送デバイス106は、制御デバイス102へとデータをルーティングするべく、転送デバイス104と共にラベルを設定する。また、制御デバイス102から転送デバイス104を通して転送デバイス106へとデータをルーティングするべく、同様の方法でラベルが設定され得る。

Claims (22)

  1. 複数の転送デバイスからルーティング制御デバイスへの複数の経路を検出する方法であって、
    (a)前記複数の転送デバイスのうち、転送デバイスのポート上で、制御パケットを受信する段階と、
    (b)前記制御パケットを受信した前記ポートに少なくとも部分的に基づいて、前記ルーティング制御デバイスに到達させるべく、前記転送デバイスのどのポート上でデータを転送するか識別する段階と、
    (c)前記転送デバイスでの新規データストリームの受信に応答して、(b)で識別された前記ポート上で、メッセージを前記ルーティング制御デバイスへ送信する段階であって、前記メッセージは前記ルーティング制御デバイスに対し、前記複数の転送デバイスを通る、宛先へのパスを決定することと、決定された前記パスに沿って前記新規データストリームを転送するように前記複数の転送デバイスのサブセットを構成することとを命令する、送信する段階と、
    (d)前記ルーティング制御デバイスの複数の構成コマンドに従って、前記新規データストリームを転送する段階と
    を備える方法。
  2. 前記送信する段階(c)は、前記制御デバイスを通して、前記新規データストリームの前記初期パケットを転送する段階を含む、請求項1に記載の方法。
  3. (e)段階(a)で前記パケットを受信した前記ポートと異なる、前記転送デバイスの残りのポート上で、前記制御パケットを前記転送デバイスから他の転送デバイスへと転送する段階を更に含む、請求項1に記載の方法。
  4. (f)前記転送デバイスで、前記複数の転送デバイスのうち、他の転送デバイスへとラベルを送信し、前記ラベルは、前記転送デバイスで受信されるパケットに付加されている場合に、前記転送デバイスに対し、(b)で識別された前記ポート上で前記ルーティング制御デバイスへ前記パケットを転送するように指示する段階を更に含む、請求項3に記載の方法。
  5. 前記制御パケットが、パケットを前記転送デバイスから前記ルーティング制御デバイスへとルーティングするためのシリアル番号および推定時間を含み、
    (f)前記転送デバイスが、他の制御パケットを以前に転送したかどうかを判定する段階であって、前記他の制御パケットは、前記ルーティング制御デバイスからのものであり、前記シリアル番号を有し、パケットを前記転送デバイスから前記ルーティング制御デバイスへとルーティングする他の推定時間であって、前記制御パケット内の前記推定時間より少ない推定時間を有する、判定する段階を更に含み、
    前記転送デバイスが、(f)において、前記他の制御パケットを以前に転送していないと判定された場合に、前記転送する段階(e)の段階を行う、
    請求項3に記載の方法。
  6. (e)(b)で識別された前記ポート上でメッセージを前記ルーティング制御デバイスへと送信する段階であって、前記メッセージは、前記転送デバイスと、前記複数の転送デバイスのうち、前記転送デバイスが接続されている複数の他の転送デバイスとを識別する、送信する段階
    を更に含み、
    前記ルーティング制御デバイスは前記メッセージを使用して前記ネットワークのトポロジを表すデータベースを構築し、かつ、前記データベースを使用して前記パスを決定する、
    請求項1に記載の方法。
  7. 前記制御パケットは、前記ルーティング制御デバイスの識別子を含み、
    (e)前記転送デバイスのポート上で、他のルーティング制御デバイスの識別子を含む他の制御パケットを受信する段階と、
    (f)前記転送デバイスを受信した前記ポートに少なくとも部分的に基づいて、前記転送デバイスのどのポート上でデータを転送し、前記他のルーティング制御デバイスへ到達させるか識別する段階と、
    (g)新規データストリームの前記転送デバイスでの受信に応答して、前記パスが前記複数の転送デバイスを通って構成されるよう命令する前記メッセージを、前記ルーティング制御デバイスおよび前記他のルーティング制御デバイスのいずれが送信するか決定する段階と
    を更に含む、
    請求項1に記載の方法。
  8. ルーティング制御デバイスへの経路を検出するための転送デバイスであって、
    (i)前記転送デバイスのポート上で制御パケットを受信し、(ii)前記制御パケットを受信した前記ポートに少なくとも部分的に基づいて、前記ルーティング制御デバイスに到達させるべく、前記転送デバイスのどのポート上でデータを転送するか識別するように構成された、スイッチ検出モジュールと、
    新規データストリームの前記転送デバイスでの受信に応答して、識別された前記ポート上で前記ルーティング制御デバイスへとメッセージを送信するように構成されるパス要求モジュールであって、前記メッセージは前記ルーティング制御デバイスに対し、(i)複数の前記転送デバイスを通る、宛先へのパスを決定することと、(ii)決定された前記パスに沿って前記新規データストリームを転送するように、複数の前記転送デバイスのサブセットを構成することとを命令する、パス要求モジュールと、
    前記ルーティング制御デバイスの複数の構成コマンドに従って、前記転送デバイスが前記新規データストリームを転送することを可能にするべくデータ入力された、前記転送デバイス内のルーティングテーブルと
    を備える転送デバイス。
  9. 前記パス要求モジュールは更に、前記制御デバイスを通して前記新規データストリームの前記初期パケットを転送するように構成されている、請求項8に記載のデバイス。
  10. 前記スイッチ検出モジュールは、前記制御パケットを受信した前記ポートとは異なる前記転送デバイスの残りのポート上で、前記転送デバイスから他の転送デバイスへと前記制御パケットを転送するように構成されている、請求項8に記載のデバイス。
  11. 前記スイッチ検出モジュールは、前記複数の転送デバイスの中の、他の転送デバイスへとラベルを送信するように構成され、
    前記ラベルは、前記転送デバイスで受信されたパケットに付加されている場合に、前記転送デバイスに対し、前記スイッチ検出モジュールによって識別された前記ポート上で、前記ルーティング制御デバイスへ前記パケットを転送するように指示する、
    請求項10に記載のデバイス。
  12. 前記制御パケットは、前記転送デバイスから前記ルーティング制御デバイスへとパケットをルーティングするためのシリアル番号および推定時間を含み、前記転送デバイスは更に、パフォーマンスメトリックモジュールを備え、
    前記パフォーマンスメトリックモジュールは、前記転送デバイスが、他の制御パケットを以前に転送したかどうか判定するように構成され、前記他の制御パケットは、前記ルーティング制御デバイスからのものであり、前記シリアル番号を含み、前記転送デバイスから前記ルーティング制御デバイスへとパケットをルーティングする他のパフォーマンスメトリックであって、前記制御パケット内のパフォーマンスメトリックより良い他のパフォーマンスメトリックを含む、
    前記パス要求モジュールが、前記他の制御パケットを以前に転送しなかったと判定した場合に、前記転送を行う、
    請求項10に記載のデバイス。
  13. 前記スイッチ検出モジュールは、
    識別された前記ポート上で前記ルーティング制御デバイスへメッセージを送信し、前記メッセージは、前記転送デバイスと、前記転送デバイスが接続されている前記複数の転送デバイスのうち複数の他の転送デバイスとを識別するように更に構成され、
    前記ルーティング制御デバイスは、前記ネットワークのトポロジを表すデータベースを構築するべく前記メッセージを使用し、前記パスを決定するべく前記データベースを使用するように構成されている、
    請求項10に記載のデバイス。
  14. 前記制御パケットは、前記ルーティング制御デバイスの識別子を含み、前記スイッチ検出モジュールは更に、
    前記転送デバイスのポート上で、他のルーティング制御デバイスの識別子を含む、他の制御パケットを受信し、
    前記転送デバイスを受信した前記ポートに少なくとも部分的に基づいて、前記他のルーティング制御デバイスに到達するべく、前記転送デバイスのどのポート上でデータを転送するか識別し、
    新規データストリームの前記転送デバイス上での受信に応答して、前記パスが前記複数の転送デバイスを通って構成されるように命令するメッセージを、前記ルーティング制御デバイス、および前記他のルーティング制御デバイスのいずれに送信するか決定する
    ように構成されている、請求項10に記載のデバイス。
  15. 複数の転送デバイスからルーティング制御デバイスへの経路を検出するための方法を少なくとも1台のマシンに実行させる複数の命令のプログラムを有形に具体化するプログラム保存デバイスであって、前記方法は、
    (a)前記複数の転送デバイスのうち、転送デバイスのポート上で、制御パケットを受信する段階と、
    (b)前記制御パケットを受信した前記ポートに少なくとも部分的に基づいて、前記ルーティング制御デバイスへ到達させるべく、前記転送デバイスのどのポート上でデータを転送するか識別する段階と、
    (c)新規データストリームの前記転送デバイスでの受信に応答して、(b)で識別された前記ポート上で、メッセージを前記ルーティング制御デバイスへ送信する段階であって、前記メッセージは前記ルーティング制御デバイスに対し、前記複数の転送デバイスを通る、宛先へのパスを決定することと、決定された前記パスに沿って前記新規データストリームを転送するように前記複数の転送デバイスのサブセットを構成することとを命令する、送信する段階と、
    (d)前記ルーティング制御デバイスの複数の構成コマンドに従って、前記新規データストリームを転送する段階と
    を備える、
    複数の命令のプログラム。
  16. 前記送信する段階(c)は、前記新規データストリームの前記初期パケットを前記制御デバイスを通して転送する段階を含む、請求項15に記載のプログラム保存デバイス。
  17. 前記方法は、(e)(a)で前記パケットが受信された前記ポートと異なる、前記転送デバイスの残りのポート上で、前記制御パケットを前記転送デバイスから他の転送デバイスへと転送する段階を更に含む、請求項15に記載のプログラム保存デバイス。
  18. 前記方法は、
    (f)前記転送デバイスで、前記複数の転送デバイス中の他の転送デバイスにラベルを送信する段階を更に備え、前記ラベルは、前記転送デバイスで受信されたパケットに付加されている場合に、前記転送デバイスに対し、(b)で識別された前記ポート上で、前記ルーティング制御デバイスへ前記パケットを転送するよう指示する、請求項17に記載のプログラム保存デバイス。
  19. 前記制御パケットは、前記転送デバイスから、前記ルーティング制御デバイスへと、パケットをルーティングするためのシリアル番号および推定時間を含み、前記方法は、
    (f)前記転送デバイスが、以前に転送された他の制御パケットを有するかどうか判定する段階であって、前記他の制御パケットは、前記ルーティング制御デバイスからのものであり、前記シリアル番号を有し、パケットを前記転送デバイスから前記ルーティング制御デバイスへとルーティングする他の推定時間であって、前記制御パケット内の前記推定時間より少ない推定時間を有する、判定する段階
    を更に備え、
    前記転送デバイスが、(f)において、前記他の制御パケットを以前に転送していないと判定された場合に、前記転送する段階(e)の転送段階を行う、
    請求項17に記載のプログラム保存デバイス。
  20. (e)(b)で識別された前記ポート上で前記ルーティング制御デバイスへメッセージを送信する段階であって、前記メッセージは、前記転送デバイスと、前記転送デバイスが接続されている、前記複数の転送デバイスのうち複数の他の転送デバイスとを識別する段階を更に備え、
    前記ルーティング制御デバイスは、前記ネットワークのトポロジを表すデータベースを構築するべく前記メッセージを使用し、前記パスを決定するべく前記データベースを使用する、
    請求項15に記載のプログラム保存デバイス。
  21. 前記制御パケットは、前記ルーティング制御デバイスの識別子を含み、
    (e)前記転送デバイスのポート上で、他のルーティング制御デバイスの識別子を含む他の制御パケットを受信する段階と、
    (f)前記転送デバイスを受信した前記ポートに少なくとも部分的に基づいて、前記他のルーティング制御デバイスへ到達するべく、前記転送デバイスのどのポート上でデータを転送するか識別する段階と、
    (g)新規データストリームの前記転送デバイスでの受信に応答して、前記複数の転送デバイスを通る前記パスが構成されるように命令する前記メッセージを、前記ルーティング制御デバイス、および、前記他のルーティング制御デバイスのいずれに送信するか決定する段階と
    を更に含む、請求項15に記載のプログラム保存デバイス。
  22. 複数の転送デバイスのネットワークにおいて、少なくとも、転送デバイスのポートに接続されている、ルーティング制御デバイスであって、
    前記複数の転送デバイスの前記ネットワークのトポロジを判定するように構成されたコントローラ検出モジュールと、
    前記ネットワークのトポロジを保存するように構成されたトポロジデータベースと、
    前記制御デバイスから、前記ネットワーク内の各転送デバイスへのパスを確立し、
    前記ネットワーク内の前記転送デバイスのそれぞれから前記制御デバイスへのパスを確立し、
    転送元デバイスからの接続要求を受けると、前記転送元デバイスから転送先デバイスへの接続パスを確立する
    ように構成されているパス決定モジュールと、
    前記接続パスが確立されている間、前記転送元デバイスから前記制御デバイス、および、前記制御デバイスから前記転送先デバイスまでの前記パスを通して、前記接続要求に対して少なくとも1つの初期パケットを送るように構成されているデータ転送モジュールと
    を備える、ルーティング制御デバイス。
JP2016552529A 2014-02-24 2015-02-19 分離した制御デバイスおよび転送デバイスを備えるネットワークでの制御デバイス検出 Active JP6576006B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/188,027 US8989199B1 (en) 2014-02-24 2014-02-24 Control device discovery in networks having separate control and forwarding devices
US14/188,027 2014-02-24
PCT/US2015/016658 WO2015127107A1 (en) 2014-02-24 2015-02-19 Control device discovery in networks having separate control and forwarding devices

Publications (3)

Publication Number Publication Date
JP2017506462A true JP2017506462A (ja) 2017-03-02
JP2017506462A5 JP2017506462A5 (ja) 2018-03-29
JP6576006B2 JP6576006B2 (ja) 2019-09-18

Family

ID=52669405

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016552529A Active JP6576006B2 (ja) 2014-02-24 2015-02-19 分離した制御デバイスおよび転送デバイスを備えるネットワークでの制御デバイス検出

Country Status (7)

Country Link
US (4) US8989199B1 (ja)
EP (1) EP2911348B1 (ja)
JP (1) JP6576006B2 (ja)
CN (1) CN106063195B (ja)
CA (1) CA2882535C (ja)
HK (1) HK1213383A1 (ja)
WO (1) WO2015127107A1 (ja)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102938722B (zh) * 2012-10-30 2017-11-10 中兴通讯股份有限公司 一种网络设备周期性协议发包的方法及装置
US10454714B2 (en) 2013-07-10 2019-10-22 Nicira, Inc. Method and system of overlay flow control
US10749711B2 (en) 2013-07-10 2020-08-18 Nicira, Inc. Network-link method useful for a last-mile connectivity in an edge-gateway multipath system
US8989199B1 (en) 2014-02-24 2015-03-24 Level 3 Communications, Llc Control device discovery in networks having separate control and forwarding devices
WO2016161127A1 (en) * 2015-04-01 2016-10-06 Neutrona Networks International Llc Network management system with traffic engineering for a software defined network
US10135789B2 (en) 2015-04-13 2018-11-20 Nicira, Inc. Method and system of establishing a virtual private network in a cloud service for branch networking
US10425382B2 (en) 2015-04-13 2019-09-24 Nicira, Inc. Method and system of a cloud-based multipath routing protocol
US10498652B2 (en) 2015-04-13 2019-12-03 Nicira, Inc. Method and system of application-aware routing with crowdsourcing
US9882806B2 (en) * 2015-06-03 2018-01-30 Cisco Technology, Inc. Network description mechanisms for anonymity between systems
CN106411549A (zh) * 2015-07-30 2017-02-15 中兴通讯股份有限公司 层邻接自动发现的处理方法及装置
CN107204924B (zh) * 2016-03-18 2020-09-25 华为技术有限公司 链路发现方法及装置
CN106685730B (zh) * 2017-01-23 2020-02-11 苏州浪潮智能科技有限公司 一种配置管理与控制分离的sdn网络系统
US20180219765A1 (en) 2017-01-31 2018-08-02 Waltz Networks Method and Apparatus for Network Traffic Control Optimization
US10992568B2 (en) 2017-01-31 2021-04-27 Vmware, Inc. High performance software-defined core network
US11121962B2 (en) 2017-01-31 2021-09-14 Vmware, Inc. High performance software-defined core network
US11252079B2 (en) 2017-01-31 2022-02-15 Vmware, Inc. High performance software-defined core network
US20200036624A1 (en) 2017-01-31 2020-01-30 The Mode Group High performance software-defined core network
US11706127B2 (en) 2017-01-31 2023-07-18 Vmware, Inc. High performance software-defined core network
US10992558B1 (en) * 2017-11-06 2021-04-27 Vmware, Inc. Method and apparatus for distributed data network traffic optimization
US10778528B2 (en) 2017-02-11 2020-09-15 Nicira, Inc. Method and system of connecting to a multipath hub in a cluster
CN108429652A (zh) * 2017-02-14 2018-08-21 中兴通讯股份有限公司 基于sdn的远端流镜像控制方法、实现方法及相关设备
CN106713146B (zh) * 2017-02-27 2020-12-18 台州市吉吉知识产权运营有限公司 基于软件定义网络的实施路由器发现协议的方法、装置和系统
US10433201B2 (en) 2017-03-17 2019-10-01 Electronics And Telecommunications Research Institute Method for transmitting and receiving packet in transport network
US10523539B2 (en) 2017-06-22 2019-12-31 Nicira, Inc. Method and system of resiliency in cloud-delivered SD-WAN
CN109286564B (zh) * 2017-07-20 2022-06-07 迈普通信技术股份有限公司 一种报文转发方法及装置
US11089111B2 (en) 2017-10-02 2021-08-10 Vmware, Inc. Layer four optimization for a virtual network defined over public cloud
US11115480B2 (en) 2017-10-02 2021-09-07 Vmware, Inc. Layer four optimization for a virtual network defined over public cloud
US10999165B2 (en) 2017-10-02 2021-05-04 Vmware, Inc. Three tiers of SaaS providers for deploying compute and network infrastructure in the public cloud
US10999100B2 (en) 2017-10-02 2021-05-04 Vmware, Inc. Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SAAS provider
US10778466B2 (en) 2017-10-02 2020-09-15 Vmware, Inc. Processing data messages of a virtual network that are sent to and received from external service machines
US11223514B2 (en) 2017-11-09 2022-01-11 Nicira, Inc. Method and system of a dynamic high-availability mode based on current wide area network connectivity
US10841670B2 (en) * 2018-02-13 2020-11-17 Juniper Networks, Inc. Methods and apparatus for consistency check in disaggregated dense wavelength-division multiplexing (DWDM) systems
US11108640B2 (en) * 2018-12-20 2021-08-31 Advantest Corporation Controlling devices in a decentralized storage environment
US11233730B2 (en) * 2019-07-09 2022-01-25 Nvidia Corporation Network routing using aggregated links
US11121985B2 (en) 2019-08-27 2021-09-14 Vmware, Inc. Defining different public cloud virtual networks for different entities based on different sets of measurements
US11044190B2 (en) 2019-10-28 2021-06-22 Vmware, Inc. Managing forwarding elements at edge nodes connected to a virtual network
US11394640B2 (en) 2019-12-12 2022-07-19 Vmware, Inc. Collecting and analyzing data regarding flows associated with DPI parameters
US11489783B2 (en) 2019-12-12 2022-11-01 Vmware, Inc. Performing deep packet inspection in a software defined wide area network
US11606712B2 (en) 2020-01-24 2023-03-14 Vmware, Inc. Dynamically assigning service classes for a QOS aware network link
US11477127B2 (en) 2020-07-02 2022-10-18 Vmware, Inc. Methods and apparatus for application aware hub clustering techniques for a hyper scale SD-WAN
US11709710B2 (en) 2020-07-30 2023-07-25 Vmware, Inc. Memory allocator for I/O operations
US11575591B2 (en) 2020-11-17 2023-02-07 Vmware, Inc. Autonomous distributed forwarding plane traceability based anomaly detection in application traffic for hyper-scale SD-WAN
US11575600B2 (en) 2020-11-24 2023-02-07 Vmware, Inc. Tunnel-less SD-WAN
US11929903B2 (en) 2020-12-29 2024-03-12 VMware LLC Emulating packet flows to assess network links for SD-WAN
CN116783874A (zh) 2021-01-18 2023-09-19 Vm维尔股份有限公司 网络感知的负载平衡
US11509571B1 (en) 2021-05-03 2022-11-22 Vmware, Inc. Cost-based routing mesh for facilitating routing through an SD-WAN
US11729065B2 (en) 2021-05-06 2023-08-15 Vmware, Inc. Methods for application defined virtual network service among multiple transport in SD-WAN
US11489720B1 (en) 2021-06-18 2022-11-01 Vmware, Inc. Method and apparatus to evaluate resource elements and public clouds for deploying tenant deployable elements based on harvested performance metrics
US11375005B1 (en) 2021-07-24 2022-06-28 Vmware, Inc. High availability solutions for a secure access service edge application
US20230034229A1 (en) * 2021-07-30 2023-02-02 Cisco Technology, Inc. Network monitoring agent hubs
US11943146B2 (en) 2021-10-01 2024-03-26 VMware LLC Traffic prioritization in SD-WAN
US11909815B2 (en) 2022-06-06 2024-02-20 VMware LLC Routing based on geolocation costs

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008095010A1 (en) * 2007-02-01 2008-08-07 The Board Of Trustees Of The Leland Stanford Jr. University Secure network switching infrastructure
US20080212585A1 (en) * 2007-03-01 2008-09-04 Russell White Preventing Loops during Recovery in Network Rings Using Cost Metric Routing Protocol
WO2011108205A1 (ja) * 2010-03-05 2011-09-09 日本電気株式会社 通信システム、経路制御装置、パケット転送装置および経路制御方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0831876B2 (ja) * 1985-09-20 1996-03-27 株式会社日立製作所 パケツト交換網におけるル−チング制御方式
US6275470B1 (en) * 1999-06-18 2001-08-14 Digital Island, Inc. On-demand overlay routing for computer-based communication networks
US20020136223A1 (en) * 2000-12-19 2002-09-26 Ho Ka K. Method and apparatus for interworking PNNI with the signalling and routing protocols used in MPLS networks
US6553030B2 (en) * 2000-12-28 2003-04-22 Maple Optical Systems Inc. Technique for forwarding multi-cast data packets
US7072323B2 (en) * 2001-08-15 2006-07-04 Meshnetworks, Inc. System and method for performing soft handoff in a wireless data network
DE60312355T2 (de) * 2002-10-11 2007-11-08 Nokia Corp. Dynamisches peer tunneling mit leistungsoptimierung
US7466655B1 (en) * 2003-09-16 2008-12-16 Cisco Technology, Inc. Ant-based method for discovering a network path that satisfies a quality of service equipment
US7414977B2 (en) * 2003-11-25 2008-08-19 Mitsubishi Electric Research Laboratories, Inc. Power and delay sensitive ad-hoc communication networks
ES2388667T3 (es) * 2003-12-22 2012-10-17 Telefonaktiebolaget Lm Ericsson (Publ) Control de caudales de paquetes de comunicaciones móviles
JP5621781B2 (ja) * 2009-10-06 2014-11-12 日本電気株式会社 ネットワークシステムとコントローラと方法とプログラム
JPWO2011083780A1 (ja) * 2010-01-05 2013-05-13 日本電気株式会社 通信システム、制御装置、処理規則の設定方法、パケットの送信方法およびプログラム
US9124517B2 (en) * 2010-01-05 2015-09-01 Nec Corporation Network system and network redundancy method
JP5413517B2 (ja) * 2010-08-20 2014-02-12 日本電気株式会社 通信システム、制御装置、通信方法およびプログラム
CN103190126B (zh) * 2010-11-01 2016-06-22 日本电气株式会社 通信系统、控制装置、分组转发路径控制方法和程序
WO2012081202A1 (en) * 2010-12-14 2012-06-21 Nec Corporation Communication control system, control device, communication control method, and communication control program
WO2012164958A1 (en) * 2011-06-02 2012-12-06 Nec Corporation Communication system, control device, forwarding node, and control method and program for communication system
US8971334B2 (en) * 2011-08-02 2015-03-03 Telefonaktiebolaget L M Ericsson (Publ) Packet broadcast mechanism in a split architecture network
US8787388B1 (en) * 2011-08-29 2014-07-22 Big Switch Networks, Inc. System and methods for forwarding packets through a network
US20140241367A1 (en) * 2011-12-27 2014-08-28 Nec Corporation Communication system, controller, communication method, and program
US8995272B2 (en) * 2012-01-26 2015-03-31 Brocade Communication Systems, Inc. Link aggregation in software-defined networks
US20150117194A1 (en) * 2012-04-16 2015-04-30 Nec Corporation Network Control Method and Device
WO2014046875A1 (en) * 2012-09-20 2014-03-27 Ntt Docomo, Inc. A method and apparatus for topology and path verification in networks
US8989199B1 (en) * 2014-02-24 2015-03-24 Level 3 Communications, Llc Control device discovery in networks having separate control and forwarding devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008095010A1 (en) * 2007-02-01 2008-08-07 The Board Of Trustees Of The Leland Stanford Jr. University Secure network switching infrastructure
US20080212585A1 (en) * 2007-03-01 2008-09-04 Russell White Preventing Loops during Recovery in Network Rings Using Cost Metric Routing Protocol
WO2011108205A1 (ja) * 2010-03-05 2011-09-09 日本電気株式会社 通信システム、経路制御装置、パケット転送装置および経路制御方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
小出 俊夫、下西 英之: "OpenFlowネットワークにおける制御ネットワークの構築自動化に関する一検討", 電子情報通信学会技術研究報告, vol. 109, no. 448, JPN6019002612, 25 February 2010 (2010-02-25), pages 19 - 24 *

Also Published As

Publication number Publication date
US10673741B2 (en) 2020-06-02
HK1213383A1 (zh) 2016-06-30
EP2911348B1 (en) 2017-12-20
CN106063195B (zh) 2019-05-28
US9374296B2 (en) 2016-06-21
JP6576006B2 (ja) 2019-09-18
WO2015127107A1 (en) 2015-08-27
CN106063195A (zh) 2016-10-26
US20160285742A1 (en) 2016-09-29
CA2882535A1 (en) 2015-07-20
EP2911348A1 (en) 2015-08-26
US8989199B1 (en) 2015-03-24
US20180359174A1 (en) 2018-12-13
CA2882535C (en) 2017-01-10
US20150244610A1 (en) 2015-08-27
US10057158B2 (en) 2018-08-21

Similar Documents

Publication Publication Date Title
JP6576006B2 (ja) 分離した制御デバイスおよび転送デバイスを備えるネットワークでの制御デバイス検出
US10666563B2 (en) Buffer-less virtual routing
JP7417825B2 (ja) スライスベースルーティング
US8672566B2 (en) Node apparatus and communication method
US9729473B2 (en) Network high availability using temporary re-routing
US9154410B2 (en) Resiliency-aware hybrid design of controller-switch connectivity in a split-architecture system
JP5867211B2 (ja) 中継装置、中継装置の制御方法及び中継システム
US20150365328A1 (en) Flow-based load balancing
US20140140210A1 (en) Network system and load balancing method
KR20140049578A (ko) 분할 아키텍쳐 네트워크에서의 패킷 방송 메카니즘
EP3891929B1 (en) Fast forwarding re-convergence of switch fabric multi-destination packets triggered by link failures
US11296980B2 (en) Multicast transmissions management
US9825850B2 (en) Network controlling method and network controller
Hasan et al. Improvement of performance of EIGRP network by using a supervisory controller with smart congestion avoidance algorithm

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180219

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190205

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190424

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190705

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: 20190723

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190819

R150 Certificate of patent or registration of utility model

Ref document number: 6576006

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250