JP6628792B2 - コンピュータネットワークにおけるエンドポイント識別方法 - Google Patents

コンピュータネットワークにおけるエンドポイント識別方法 Download PDF

Info

Publication number
JP6628792B2
JP6628792B2 JP2017514679A JP2017514679A JP6628792B2 JP 6628792 B2 JP6628792 B2 JP 6628792B2 JP 2017514679 A JP2017514679 A JP 2017514679A JP 2017514679 A JP2017514679 A JP 2017514679A JP 6628792 B2 JP6628792 B2 JP 6628792B2
Authority
JP
Japan
Prior art keywords
endpoint
network
domain
value
network node
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.)
Active
Application number
JP2017514679A
Other languages
English (en)
Other versions
JP2017529792A (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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2017529792A publication Critical patent/JP2017529792A/ja
Application granted granted Critical
Publication of JP6628792B2 publication Critical patent/JP6628792B2/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/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/58Association of routers
    • H04L45/583Stackable routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • 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
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets
    • 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
    • H04L45/04Interdomain routing, e.g. hierarchical 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/42Centralised routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Description

コンピュータネットワークは、有線又は無線のネットワークリンクを経由して、ルータ、スイッチ、ブリッジ、又は他のネットワークノードによって互いに相互接続された物理的又は仮想的な多くのサーバを有することがある。ネットワークノードは、1つ以上のネットワークプロトコルに従って、ネットワークリンクを経由して、メッセージ交換によってサーバ間で通信することを可能することができる。
コンピュータネットワークの設計と運用に関する困難の1つは、スケーラビリティ(scalability:拡張性)である。サービスの数が増えるにつれて、必要なリソース及び運用上の複雑さの量も増加する。例えば、現代のルータは、コンピュータネットワーク内の特定のサーバに到達するためにネットワークのルートを指定するためのルーティング(routing:経路指定)テーブルをメモリに通常は持っている。サーバの数が増えるにつれて、ルーティングテーブルのサイズ及びルーティングテーブルに対するネットワークルートの計算の複雑さが増加する。それ故に、サーバの数が数百万又は数千万に達すると、ルータのハードウェアコスト及び運用上の複雑さの両方が、管理しがたいレベルにまで増えることがある。
この概要は、発明の詳細において以下でさらに詳細に説明するコンセプトの選択を簡略化した形式で紹介することを提供する。この概要は、請求する発明特定事項の重要な特徴又は必須の特徴を特定することを意図せず、請求する発明特定事項の範囲を制限するために使用されることも意図するものでもない。
数百万台のサーバ、仮想マシン、又は他のエンドポイントへのコンピュータネットワークの拡張は、既存のネットワーク技術に基づいては困難であり得る。エンドポイントの数が増加するにつれて、ハードウェアコスト及び運用上の複雑さが管理しがたいレベルにまで増加し得る。例えば、数百万のエンドポイントのペアの間でのネットワークルート(route:経路)の計算は、多量の計算能力を必要とすることがあり、ルーティングテーブルがルータのメモリの容量を超えるという結果にもなりかねない。他の例では、ネットワークトラフィックマネジメント技術(例えば、トラフィックエンジニアリング又はロードバランシング)を、数百万又は数千万のエンドポイントに実装することは困難となり得る。例えば、トラフィックエンジニアリングに対するネットワークルート(又はトンネル)の計算、トラフィックエンジニアリングトンネルに対するネットワークバンド幅の配分、又は、他の同様の非決定的多項式完全(nondeterministic-polynomial complete)(「NP完全(NP-complete)」)問題は、エンドポイントの数が大きくなると、難しくなり得る。
本技術のいくつかの実施形態は、ハードウェア又はソフトウェアで定義された階層構造(hierarchy)の中で互いに相互接続された別個の物理的又はオーバーレイドメイン中にコンピュータネットワークをパーティション化(partitioning)することによってコンピュータネットワークのスケーラビリティ(拡張性)を改善することができる。コントロールプレーン機能(例えば、ネットワークルートの計算)及び/又はフォワーディングプレーン機能(例えば、ルーティング(経路指定)、フォワーディング(転送)、スイッチング)は、パーティション化され、(1)特定のドメインのネットワーク構成(例えば、特定のドメインの中のエンドポイント及び/又はより低いベルドメイン)、及び(2)階層構造において特定のドメインに接続された1つ以上のより高いレベルのドメインに基づいてドメイン毎の基準で別個に実行される。それ故に、特定のドメインは、階層の他のドメインにあるエンドポイント又はネットワークノードを気にせずに、ドメインの様々なネットワークオペレーションを管理することができる。その結果、ネットワーク構成及びオペレーションは、パーティション化され、全体のコンピュータネットワークのサイズが増大したとしても、ハードウェアコスト及びオペレーションの複雑さを削減することができる。本技術の他の実施形態は、各エンドポイントが置かれている物理的位置の少なくとも一部に基づいてコンピュータネットワーク中のエンドポイントを特定することを対象とする。
本技術の実施形態によるコンピュータネットワークの階層パーティション化を説明する概略図である。 本技術の実施形態によるコンピュータネットワークの階層パーティション化を説明する概略図である。 本技術の実施形態による1つ又は複数のデータセンタに対するコンピュータネットワークに対する図1Aに記載の階層パーティション化技術の応用例を説明する概略図である。 本技術の実施形態によるエンドポイント識別子の例を利用する図2のコンピュータネットワークのオペレーションを説明する概略図である。図2のコンピュータネットワークの一部は、明確性のために省略してある。 本技術の実施形態による図3のネットワークコントローラのソフトウェアコンポーネントの例を示すブロック図である。 本技術の実施形態によるスタック中に配置されたセクションを持つエンドポイント識別子の例を説明するブロック図である。 本技術の実施形態によるスタック中に配置されたセクションを持つエンドポイント識別子の例を説明するブロック図である。 本技術の実施形態による図5A又は図5Bのセクションのうちの1つの1つの例を説明するブロック図である。 本技術の実施形態によるIPアドレスを使用するエンドポイント識別子の1つの例を説明する概略図である。 本技術の実施形態によるパーティション化されたコンピュータネットワークを構成するプロセスの実施形態を説明するフローチャートである。 本技術の実施形態によるドメイン内のアウトバウンド通信を管理するプロセスの実施形態を説明するフローチャートである。 本技術の実施形態によるドメイン内のインバウンド通信を管理するプロセスの実施形態を説明するフローチャートである。 図1Aのコンピュータネットワークの例のコンポーネントに適切なコンピューティングデバイスである。
コンピュータネットワークを構成し、動作するためのシステム、デバイス、コンポーネント、モジュール、ルーチン及びプロセスのいくつかの実施形態が以下で説明される。以下の説明では、コンポーネントの特定の詳細は、本技術のいくつかの実施形態の完全な理解を提供するために含まれる。当業者であれば、本技術が追加の実施形態を有することができることも理解できる。本技術は、図1A〜図10を参照して以下で説明する実施形態のいくつかの詳細なしに実施することもできる。
本明細書で使われるように、「コンピュータネットワーク(computer network)」という用語は、一般に、複数のエンドポイントが互いに及び他のネットワーク(例えば、インターネット)へ接続される複数のネットワークノードを持つ相互接続ネットワークを指す。「ネットワークノード(network node)」という用語は、一般に物理的又はソフトウェアエミュレーション転送パスのネットワークデバイスを指す。ネットワークノードの例は、ルータ、スイッチ、ハブ、ブリッジ、ロードバランサ、セキュリティゲートウェイ、ファイアウォール、ネットワークネームトランスレータ、又はネームサーバである。各ネットワークノードは、コンピュータネットワーク内で別個の値(distinct value)を持つネットワークノード識別子(network node identifier)と関連することができる。
本明細書でまた使用されるように、コンピュータネットワークの「コントロールプレーン(control plane)」という用語は、一般に、コンピュータネットワークの中でネットワークトラフィックを運ぶ宛先及び/又はその方法を決めることに関連するネットワークアーキテクチャの一部を指す。コントロールプレーンは、集中コントローラ又は例えば、BGP、OSPF、ISIS、LDP、RSVPなど分散ルーティング又はフォワーディングプロトコルを使ってネットワークノード内で、ルーティング又はフォワーディングテーブルの計算、構成及び/又は管理を含む。他のコントロールプレーン機能は、バンド幅配分、トラフィック管理、輻湊制御、ネットワークルート(経路)保護計算、障害回復、システム構成、管理、アナリティクス、及び/又は他のネットワーク動作も含む。
コンピュータネットワークの「フォワーディングプレーン(forwarding plane)」という用語は、一般に、ネットワークトラフィックを運ぶネットワークアーキテクチャの別の部分を指す。フォワーディングプレーンは、ネットワークトラフィックを、コントロールプレーンロジック又はプロトコルに従って確立されたネットワーク経路(network route)又は転送パス(forwarding path)に沿って、次のホップへ転送する。フォワーディングプレーンパケットは、ネットワークノードを通して進み、コントロールプレーンによって確立されたテーブルを使用して、各ネットワークノードにおけるパケットなどのメッセージのルーティング、スイッチング、及び転送を実行する。
「エンドポイント(end point)」という用語は、一般に、物理的又はソフトウェアエミュレーションのコンピューティングデバイスを指す。エンドポイントの例は、ネットワークサーバ、ネットワーク記憶デバイス、パーソナルコンピュータ、モバイルコンピューティングデバイス(例えば、スマートフォン)、又は仮想マシンを含む。各エンドポイントは、コンピュータネットワークにおいて別個の値を持つことができるエンドポイント識別子(end point identifier)と関連することができる。エンドポイント識別子(又はネットワークノード識別子)の例は、マルチプロトコルラベルスイッチド(「MPLS(multiprotocol label switched)」)ネットワークで使用されるラベルの一部、MPLSネットワークで使用されるラベルのスタック、インターネットプロトコル(「IP」)に従う1つ以上のアドレス、1つ以上の仮想IPアドレス、仮想ローカルエリアネットワークにおける1つ以上のタグ、1つ以上のメディアアクセスコントロールアドレス、1つ以上のラムダ識別子、1つ以上の接続パス、1つ以上の物理インタフェース識別子、又は1つ以上のパケットヘッダ又はエンベロープを含む。
「ドメイン(domain)」という用語は、一般に、コンピュータネットワークの物理的又は論理的パーティション(partition)を指す。ドメインは、コンピュータネットワーク内で、互いに相互接続された及び/又は多くのエンドポイントと相互接続された選ばれた数のネットワークノードを含むことができる。ドメインは、ドメインの階層の中で同じレベル又は異なるレベルで、特定のドメインを他のドメインに接続する多くの追加のネットワークノードを含む1つ以上のより高いレベルのドメインと接続することもできる。以下の説明において、1つ以上のSDNコントローラを使用するソフトウェア定義ネットワーク(「SDN(software defined network)」)は、コンピュータネットワークのパーティション化の実施形態を説明するために利用される。しかしながら、別の実施形態において、コンピュータネットワークの1つ以上のドメインは、少なくとも部分的に、分散ルーティング及び/又は転送プロトコルを使用する分散コンピュータネットワークである。
ドメインの中の個々のネットワークノードとエンドポイントは、コンピュータネットワークの別のエンドポイントへの転送メッセージ(例えば、データパケット)の方法を特定するフォワーディングテーブル(forwarding table)を個別に含むことができる。ある実施形態において、フォワーディングテーブルは、エンドポイント識別子の特定の値に対応する、ネットワーク経路(network route)、転送パス(forwarding path)、物理インタフェース、又は論理インタフェースを別個に特定する複数のエントリを含むことができる。エントリの例は、下記の通り、各識別子に対する適切な値を持つことができる。
Figure 0006628792
ある実施形態において、受信識別子(incoming identifier)と送信識別子(outgoing identifier)は、異なる値を持ち得る。このように、エンドポイント識別子の少なくとも1部は、ネットワークノードからのメッセージ転送に連動して変更され得る。別の実施形態において、受信識別子と送信識別子が同じ値を持つことがあり、エントリの例を代わりに以下に示すことができる:
Figure 0006628792
さらなる実施形態において、フォワーディングテーブルは、エンドポイント識別子の特定の値に基づく1つ以上の他のテーブル中のエントリを個別に参照する複数のエントリを含むことができる。
多くのエンドポイントに相互接続するためのコンピュータネットワークの拡張は、既存のネットワーク技術に基づいて困難であるか、不可能ですらあり得る。例えば、コンピュータネットワークにおける百万のエンドポイントのペアの間でのネットワーク経路計算は、任意の既存のルータのメモリ容量を超える経路指定テーブル(routing table)という結果をもたらし得る。別の例では、トラフィックエンジニアリングトンネルの計算がNP完全(NP-complete)なので、トラフィックエンジニアリング技術を実行することは困難であり得る。
本技術のいくつかの実施形態において、階層の中で互いに相互接続された別個のドメインにコンピュータネットワークをパーティション化することにより、コンピュータネットワークの拡張性を改善することができる。個々のドメインは、エンドポイント識別子によって別個に特定されたエンドポイントの管理可能な数(例えば、256個、512個、1024個、又は他の適切な数)を含むことができる。ある実施形態において、エンドポイント識別子は、特定のドメインと、特定のドメインが接続された1つ以上のより高いレベルのドメインの中でエンドポイントに対応する個別の値を別個に有することができる。エンドポイント識別子の例が、図5〜図7を参照して以下で説明される。
コントロールプレーン機能(例えば、ネットワーク経路の計算)及び/又はフォワーディングプレーン機能(例えば、経路指定、転送、スイッチング)は、(1)特定のドメインのネットワーク構成(例えば、特定のドメイン内のエンドポイント及び/又はより低いレベルのドメイン)、及び(2)階層の特定のドメインに接続された1つ以上のより高いレベルのドメインに基づいて、ドメイン毎の基準で別個にパーティション化され、実行されることができる。例えば、パケットの宛先エンドポイント(destination end point)が、発信元エンドポイント(originating end point)と同じドメインにある場合、パケットは、事前に計算されたネットワーク経路に従って、同じドメイン中で宛先エンドポイントに直接転送することができる。同じドメインにないエンドポイントに宛てられたパケットに対しては、パケットは、1つ以上高いレベルのドメインに転送することができ、そこで順番に独立して、エンドポイント識別子に基づいて、さらにパケットの経路指定、転送、又は他の処理が行われる。それ故に、特定のドメインは、様々なコントロールプレーン機能及び/又はフォワーディングプレーン機能を独立して実施するために、(1)特定のドメイン(任意のより低いレベルのドメインを含む)内のエンドポイント及び(2)1つ以上のより高いレベルのドメインのエンドポイントを認識する必要しかない。結果として、発信元ドメインは、階層の他のドメインのネットワーク動作を気にせずに、そのドメインにおける様々なネットワーク動作を管理することができる。それ故に、各パーティション化されたドメインにおけるネットワーク構成及び/又は動作は、全体としてのコンピュータネットワークのサイズが増加したとしても管理可能に保つことができる。
図1Aは、本技術の実施形態による階層の複数のドメインへのコンピュータネットワーク100の階層パーティション化を説明する概略図である。図1Aに示されたように、コンピュータネットワーク100は、1つ以上のレベル1ドメイン104(D1−1及びD1−2としてそれぞれ識別される)と相互接続されたコアドメイン102(D0として識別される)を含むことができる。レベル1ドメイン104は、1つ以上のレベル2ドメイン106(D2−1とD2−2としてそれぞれ識別される)を含むことができ、それらは、順番に1つ以上のエンドポイント108(EPとして識別される)及び1つ以上のネットワークノード112を含むことができる。図1Aにおいて、3つのドメインレベル及び各レベルにおける特定の数のドメインが説明の目的で示されている。別の実施形態において、コンピュータネットワーク100は、各レベルで適切な数のドメイン及び/又はエンドポイントを有する任意の適切なレベルのドメインにパーティション化することができる。
コアドメイン102は、互いに相互接続された1つ以上のネットワークノード112を含むことができる。説明の目的で2つのネットワークノード112が、図1Aに示されている。別の実施形態において、コアドメイン102は、任意の適切な数のネットワークノード112及び/又は他の適切なコンポーネントを含むことができる。ネットワークノード112は、より低いレベルのドメインにおけるエンドポイント108のペアの間での通信を容易にするために様々なコンピューティング及び/又は通信コンポーネントを含むことができる。例えば、コアドメイン102のネットワークノード112は、ラベルスイッチルータ(label switched router)、長距離高密度波長分割多重化モジュール(long haul dense wavelength division multiplexing module)、ダイナミックコンテキストルータ(dynamic context router)、インタフェースメッセージプロセッサ(interface message processors)、及び/又は他の適切なコンポーネントを1つ以上含むことができる。
コンピュータネットワーク100は、階層における隣接したレベルにあるドメインのペアの間の1つ以上のエッジノード(edge node)を含むこともできる。本明細書で使われるように、エッジノードは、一般に、より低いレベルのドメインと相互接続されたより高いレベルのドメインとの間のネットワークノードを指す。エッジノードは、(1)より高いレベルのドメインへの宛先、及び(2)より低いレベルのドメインに対するエントリポイントの両方、又はその逆も含む。例えば、レベル1ドメインD1−1は、コアドメイン102とインタフェースするレベル1エッジノード114(EN1として識別される)を含むことができる。レベル1ドメインD1−1は、レベル2ドメインD2−1とインタフェースするレベル2エッジノード114(EN2−1として識別される)と、レベル2ドメインD2−2とインタフェースする別のレベル2エッジノード114(EN2−2として識別される)を含むこともできる。レベル1ドメインD1−2は、コアドメインD0とインタフェースするレベル1エッジノード114(EN1−2として識別される)と、レベル2ドメインD2−3とインタフェースするレベル2エッジノード114(EN2−3として識別される)を含むことができる。
以下でさらに詳細に検討するように、階層の特定のドメインにある任意のエンドポイント108は、階層のより低いレベルにある1つ以上のエッジノードと特定のドメインの階層のより高いレベルにある1つ以上のエッジノードを特定することによって、他のドメインにある他のエンドポイント108に到達することができる。例えば、レベル1ドメインD1−1にあるエンドポイント108は、(1)レベル1エッジノードEN1−1と(2)レベル2エッジノードEN2−1及びEN2−2を認識することによって、階層における任意の他のエンドポイント108に到達することができる。
図1Aの隣接したレベルにあるドメインのペアの間で、単に1つのエッジノード114しか示されていないが、ある実施形態においては、個々のエッジノード114は、同じフォワーディング状態(例えば、コンピュータネットワーク100における宛先ホップ又は転送パス)を持つエッジノード114のグループを含むことができる。例えば、図1Bに示されたように、レベル1ドメインD1−1は、EN1−1−1からEN1−1−Xとして識別されるエッジノード114のグループを含む。レベル1ドメインD1−2は、EN1−2−1からEN1−2−Yとして識別されるエッジノード114のグループを含む。別の例において、レベル2エッジノードEN2−1、EN2−2及びEN2−3は、それぞれエッジノード(図示せず)のグループを含むこともできる。ある実施形態において、特定のドメインからのパケットは、エッジノードグループの中のエッジノード114の任意の1つを通して、所望の宛先に到達することができる。例えば、レベル1ドメインD1−1におけるエンドポイント108は、エッジノードEN1−1−1からEN1−1−Xのうちの任意の1つを通してレベル2ドメインD2−3にある任意のエンドポイント108に到達することができる。別の実施形態において、特定のドメインからのパケットは、トラフィックエンジニアリングなどの技術を利用して、エッジノードグループの中のエッジノード114の特定の1つを通して、通過することができる。さらなる実施形態において、特定のドメインからのパケットは、他の適切な方法でエッジノードグループにあるエッジノード114を通して、通過することができる。
図1Aに戻って参照すると、コンピュータネットワーク100の各ドメインは、コントロールプレーン機能(例えば、ネットワーク経路の計算)及び/又はフォワーディングプレーン機能(例えば、経路指定、転送、スイッチング)を、(1)特定のドメインのエンドポイント108のネットワーク構成及び(2)階層にあるドメインの位置及び接続性に基づいて、独立して管理することができる。例えば、レベル2ドメインD2−1に対するフォワーディングテーブルは、(1)レベル2ドメインD2−1のエンドポイント108の構成と(2)そのより高いレベルのドメインのアイデンティティ(identity)(すなわち、レベル1ドメインD1−1とコアドメインD0)に基づいて計算することができる。例えば、フォワーディングテーブルは、ドメインD2−1の発信元エンドポイント108から同じドメインの宛先エンドポイント108への1つ以上のネットワーク経路(例えば、ネットワークノード112経由又は図示されていない他のネットワークノード経由)を指定するエントリを含むことができる。ある実施形態において、エッジノード114におけるフォワーディングテーブルは、特定のドメインにおけるすべてのエンドポイント108に対するネットワーク経路を含むことができ、一方、そのドメインの他のネットワークノード112におけるフォワーディングテーブルは、エンドポイント108の一部に対するネットワーク経路しか含まないかも知れない。別の実施形態において、すべてのエッジノード114とネットワークノード112におけるフォワーディングテーブルは、特定のドメイン内のすべてのエンドポイント108に対するネットワーク経路を含むことができる。
前の例を続けると、フォワーディングテーブルは、レベル2ドメインD2−1にないすべての宛先エンドポイント108に対するネットワーク経路を指定する1つ以上のエントリも含むことができる。例えば、レベル2ドメインD2−2のすべての宛先エンドポイント108は、レベル2エッジノードEN2−1を指すレベル2ドメインD2−1の同じネットワーク経路を持つことができる。レベル2ドメインD2−3のすべての宛先エンドポイント108は、レベル2エッジノードEN2−1、レベル1エッジノードEN1−1、又はネットワークノード112の1つを指す同じネットワーク経路を持つことができる。それ故に、他のドメインの複数の宛先エンドポイント108に対する1つのネットワーク経路の指定によって、複数の宛先エンドポイント108は、単一の(又は限られた数の)宛先に「統合された(aggregated)」と見なされ得る。それ故に、レベル2ドメインD2−1に対するフォワーディングテーブルは、管理可能な数のエントリ(例えば、3,000エントリ未満)を含むことができる。結果として、第1のレベル2ドメインD2−1のネットワークノードに対する値段の高い機器を回避することができ、運用の複雑さも従来技術と比較して削減することができる。
レベル1ドメインD1−1は、自身のネットワークノード(例えば、レベル1エッジノード114)に同様のフォワーディングテーブルを含むこともできる。フォワーディングテーブルは、発信元のより低いレベルのドメイン(例えば、レベル2ドメインD2−1)から同じドメインの宛先のより低いレベルのドメイン(例えば、レベル2ドメインD2−2)への1つ以上のネットワーク経路を指定するエントリを含むことができる。宛先のより低いレベルのドメインがレベル1ドメインD1−1でない場合、レベル1ドメインD1−1は、例えば、コアドメイン102へのエッジノードEN1−1への、ネットワーク経路を指定することができる。コアドメイン102は、レベル1ドメインD1−1として同様のやり方でより低いレベルドメインへのネットワーク経路をそれぞれ指定するエントリを有するネットワークノード112における別のフォワーディングテーブルを含むこともできる。
コンピュータネットワーク100のドメインのフォワーディングテーブルは、特定のドメインの特定の宛先エンドポイント108への受信メッセージに対するネットワーク経路を指定するエントリを含むこともできる。例えば、レベル1ドメインD1−2におけるフォワーディングテーブルは、レベル2ドメインD2−3におけるすべてのエンドポイント108に対するレベル1エッジノードEN1−2からレベル2エッジノードEN2−3へのネットワーク経路を指定するエントリを含むことができる。レベル2ドメインD2−3におけるフォワーディングテーブルは、次に、そのドメインにあるエンドポイント108のそれぞれに対する1つ以上のネットワーク経路を含むことができる。いくつかの例が、コンピュータネットワーク100のオペレーションの例を説明するために以下で検討される。別の実施形態において、コンピュータネットワーク100は、他の適切な動作、シーケンス、状態、及び/又は他の特徴を持つことができる。
動作中、ドメインにあるネットワークノード112(又はエッジノード114)は、送信元エンドポイント108(例えば、レベル2ドメインD2−1のエンドポイント108)から関連する宛先エンドポイント識別子と共にパケットを受信することができる。ネットワークノード112(又はエッジノードEN2−1)は、宛先エンドポイント識別子の値と自身のフォワーディングテーブルのエントリとを比較して、パケットを転送するためのネットワーク経路を決定する。宛先(例えば、エンドポイント108’)が同じドメイン(すなわち、レベル2ドメインD2−1)にある場合、エントリの1つが、例えば、ネットワークノード112を経由して、エンドポイント108’へのメッセージを直接転送するためのネットワーク経路を指定することができる。
宛先(例えば、ドメインD2−3のエンドポイント108’’)が、送信元エンドポイント108と同じドメインにない場合、エントリは、より高いレベルのドメイン(例えば、レベル1ドメインD1−1)を指すネットワーク経路を指定することができる。結果として、ネットワークノード112は、パケットをエッジノードEN2−1へ転送する。レベル1ドメインD1−1において、エッジノードEN2−1は、宛先エンドポイント識別子の値を自身のフォワーディングテーブルのエントリと比較し、コアドメイン102のエッジノードEN1−1へのネットワーク経路を決定する。コアドメイン102において、エッジノードEN1−1は、宛先エンドポイント識別子の値と自身のフォワーディングテーブルのエントリとを比較して、1つ以上のネットワークノード112を通るエッジノードEN1−2へのネットワーク経路を決定する。エッジノードEN1−2は、順番に、エッジノードEN2−3へのネットワーク経路を決定し、次に、エンドポイント108’’へメッセージを転送する経路を決定する。
上述のように、コンピュータネットワーク100における各ドメインと関連するより低いレベルのドメインは、それぞれ自身のネットワークオペレーションを独立に管理することができる。例えば、各ドメインは、特定のドメインのネットワーク構成と特定のドメインに接続された1つ以上のより高いレベルのドメインに基づいて、コントロールプレーン機能及び/又はフォワードプレーン機能を独立して管理することができる。それ故に、特定のドメインのネットワークオペレーションは、コンピュータネットワーク全体のネットワーク状態の情報には依存することなく、その代わりに、その特定のドメインのネットワーク状態には依存する。「ネットワーク状態(network state)」という用語は、ネットワークノード及び/又はエンドポイントの識別(ID)及び接続、ネットワークノード及び/又はエンドポイント(例えば、リンクアップ/ダウンなど)の現在の動作状態、コンピュータネットワーク内のバンド幅配分、及び/又はコンピュータネットワークの状況及び/又は特性に関連する他の適切なデータを一般に指す。結果として、コンピュータネットワーク100の拡張は、既存のドメインの動作の複雑さに限定的な影響か又は何の影響も持たない。例えば、コンピュータネットワーク100は、別のレベル2ドメインD2−4(明確性のために細い線で示された)を含むように拡張された場合、他のレベル2ドメイン106のオペレーションは、限定的な調整しか必要としない。例えば、レベル2ドメインD2−1、D2−2、及びD2−3のフォワーディングテーブルは、新しいレベル2ドメインD2−4に追加されたエンドポイント108を認識するために更新することが必要となり得る。しかしながら、新たなドメインD2−4の追加のエンドポイントは、個別のドメインにない他のエンドポイントと「統合される」ので、フォワーディングテーブル中のエントリの数は、事実上増加することはない。結果として、コンピュータネットワーク100は、数百万、数千万のエンドポイント108を含むように拡張することができ、一方、各ドメインにおいて動作の複雑性の同様のレベルを維持することが一般にできる。
図2は、本技術の実施形態による1つのデータセンタ又は複数のデータセンタに対するコンピュータネットワーク100に対する図1Aの階層パーティション化技術の応用例を説明する概略図である。図2に示したように、コンピュータネットワーク100は、1つ以上のネットワークノード112を有するコアドメイン102を含むことができる。コンピュータネットワーク100’は、1つ以上のレベル1ドメイン104を含むこともできる。説明の目的で、個別にドメインD1−1とD1−2と識別される2つのレベル1ドメイン104が図2に示されている。図示した実施形態において、レベル1ドメインD1−1は、2つのレベル2ドメイン106(別個にD2−1とD2−2として識別される)を含む。レベル1ドメインD1−2は、1つのレベル2ドメインD2−3を含む。他の実施形態において、レベル1ドメイン104は、他の適切な数のドメイン及び/又はエンドポイントを含むことができる。
レベル2ドメイン106は、別個に1つ以上のエンドポイント108、1つ以上のエッジノード114、及びエンドポイント108をエッジノードに114に接続する1つ以上のネットワークノード112を含むことができる。1つの実施形態において、ネットワークノード112は、それぞれ、トップオブラック(「TOR」)ルータ又はスイッチを含むことができる。別の実施形態において、ネットワークノード112は、ブリッジ、ゲートウェイ、又は他の適切な通信デバイスを含むことができる。図示した実施形態において、レベル2ドメイン106のそれぞれは、エッジノードグループを形成する2つのエッジノード114(例えば、エッジノードEN2−1とEN2−1’)を含む。ある実施形態において、エッジノードグループにあるエッジノード114は、例えば、非トラフィックエンジニアリングタイプのパケットに対して、ランダムにアクセスすることができる。別の実施形態において、エッジノードグループにおける1つのエッジノード114は、個別に識別され、例えば、トラフィックエンジニアリングタイプのパケットを処理するよう指定され得る。さらなる実施形態において、エッジノード114は、他の適切な方法で他の任意の適切な基準に基づいてアクセスすることができる。上述の実施形態のいずれにおいても、同じエンドポイント識別子は、図3を参照して以下でさらに詳細に検討されるように、使用することができる。
図2に示されたように、コンピュータネットワーク100’の個別のドメインは、特定のドメインのネットワークオペレーションを構成し、モニタし、及び/又は制御するように適合されたネットワークコントローラ110(「コントローラ(controller)」として本明細書で参照される)を含むことができる。図示した実施形態において、ネットワークコントローラ110は、個別のコンピューティングデバイスとして示される。別の実施形態において、ネットワークコントローラ110は、エンドポイント108の1つにおけるサーバ又は仮想マシンであり得る。さらなる実施形態において、複数のドメイン(例えば、レベル2ドメインD2−1とD2−2)は共通のネットワークコントローラ110を共用することができる。コントローラ110の例が図4を参照して以下でさらに詳細に検討される。
図2に示された階層パーティション化は、様々な方法で1つ又は複数のデータセンタを覆うことができる。例えば、ある実施形態において、図2に示された階層パーティション化は、データセンタの1つ以上のT3ブロードバンドスイッチを含むコアドメイン102を有する1つのデータセンタを覆うことができる。レベル1ドメイン106は、T1及び/又はTORスイッチを有するレベル2ドメイン106に接続されたT2スイッチを含むことができる。別の実施形態において、レベル1ドメイン104は、T2スイッチ及びT1スイッチの両方を含むことができ、一方、レベル2ドメイン106は、TORスイッチを含む。別の例において、図2に示された階層パーティション化は、複数のデータセンタを覆うこともできる。例えば、コアドメイン102は、複数のデータセンタ及びT3ブロードバンドスイッチに相互接続されたコアネットワークを含むことができる。各データセンタ内で、レベル1ドメインは、T2スイッチを含むことができ、一方、レベル2ドメインは、T1及び/又はTORスイッチを含むことができる。さらなる例では、パーティション化コンピュータネットワーク100’は、追加の及び/又は異なるパーティション化レベルを含むことができる。
ある実施形態において、コンピュータネットワーク100’における各エンドポイント108は、スタックに配置された複数のセクションを持つエンドポイント識別子120の値によって明確に識別することができる。各セクションは、エンドポイント108の物理的又は論理的位置に対応することができる。例えば、図3に示したようにレベル2ドメインD2−3の宛先エンドポイント108’’は、それぞれがエンドポイント108’’の物理的又は論理的位置に対応する4つのセクション122a〜122dを持つスタックによって明確に特定することができる。説明した例において、階層にある各レベルのドメインは、エンドポイント識別子120のセクションと関連付けられ、特定のドメインと関連する対応するエッジノード114の1つ以上に到達するために使用することができる。例えば、第1のセクション122aは、38という値の例を持つコアドメイン102に対応する値を持つ。第2のセクション122bは、63という値の例を持つレベル1ドメインD1−2に対応する値を持つ。第3のセクション122cは、レベル2ドメインD2−3に対応する値を持つ。第4のセクション122dは、14という値の例を持つエンドポイント108’’におけるサーバ又は仮想マシンに対応する値を持つ。他の実施形態において、エンドポイント識別子は、図5A又は図5Bに示されるように、単一のセクション又は複数のエンドポイント識別子を有する複合(compound)エンドポイント識別子を含むこともできる。さらなる実施形態において、エンドポイント108を他の適切な方法及び/又は値によって指定することができ、図7にはIPアドレスを使った1例が示されている。
以下の検討では、レベル2ドメインD2−1のエンドポイント108から異なるレベル2ドメインD2−3のエンドポイント108’’へのパケットの転送に関するオペレーションの例を説明する。動作中は、エンドポイント108は、ドメインD2−3の宛先エンドポイント108’’の例えば、IPアドレス又は他の適切な識別子などに基づいてエンドポイント識別子120ペイロード124を有するパケットを生成することができる。エンドポイント識別子120は、上述の通り、セクション122a〜122dのそれぞれの値を含むことができる。説明した実施形態において、エンドポイント108は、生成したパケットをネットワークデバイス112へ転送する。ネットワークノード112は、エンドポイント識別子120のトップセクションの値(すなわち、第1のセクション122a)と、ネットワークノード112のフォワーディングテーブル(図示せず)のエントリを比較し、パケットを転送するための転送パス又は次のホップを決定する。例えば、1つの実施形態において、値「38」は、レベル2エッジノードEN2−1への転送パスに特に対応することができ、それは、次に、エンドポイント識別子120のトップセクションが自身のフォワーディングテーブルと比較され、レベル1エッジノードEN1−1への別の転送パスが決定される。別の実施形態において、値「38」は、エッジノードEN2−1とEN2−1を含むエッジノードグループに対応することができる。そのような実施形態において、エッジノードEN2−1とEN2−1’の1つは、例えばハッシュ関数、又は他の適切な方法で、パケットをランダムに転送するために選択され得る。
レベル1エッジノードEN1−1は、次に、コアドメイン102のネットワークノード112の1つ以上にメッセージを転送する。1つ以上のネットワークノード112は、トップセクションと自身のフォワーディングテーブル中のエントリを比較し、トップセクション(すなわち、第1のセクション122a)を削除し、メッセージをレベル1エッジノードEN1−2へ転送する。レベル1エッジノードEN1−2は、次に、トップセクション(すなわち、第2のセクション122b)を自身のフォワーディングテーブルにあるエントリと比較し、トップセクション(すなわち、セクション122b)を削除し、メッセージをレベル2エッジノードEN2−3又はエッジノードEN2−3とEN2−3’を含むエッジノードグループへ転送する。レベル2エッジノードEN2−3(又はEN2−3’)は、次に、トップセクション(すなわち、第3のセクション122c)を自身のフォワーディングテーブルと比較し、トップセクション(すなわち、第3のセクション122c)を削除し、メッセージをドメインD2−3のネットワークノード112’へ転送する。ネットワークノード112’は、次に、トップセクション(すなわち、第4のセクション122d)と自身のフォワーディングテーブル内のエントリを比較し、トップセクション(すなわち、第4のセクション122d)を削除し、メッセージのペイロードをエンドポイント108’’へ転送する。
上述の実施形態において、ネットワークノード112、エッジノードEN2−1、EN1−1、EN1−2、EN2−3は、ネットワーク処理の間にエンドポイント識別子120のトップセクションを変更しない。別の実施形態において、上述のコンポーネントの少なくとも1つは、決定したネットワーク経路に沿ってパケットを転送する前に、エンドポイント識別子120のトップセクションの値をスワップ(swap)することができる。スワッピングは、それぞれのコンポーネントで記録され、保存される。さらなる実施形態において、エンドポイント108は、ネットワークノード112を通過することなくエッジノード114に直接メッセージを転送することができる。その上さらなる実施形態において、エッジノードEN1−2、EN2−3及びネットワークノード112’は、例えば、特定のドメイン及び関連するエッジノード114に対応するエンドポイント識別子120のどのセクションを特定するかによって、エンドポイント識別子120のトップセクションを削除せずに、それぞれの転送機能を実行することができる。
別の例において、レベル2ドメインD2−1のエンドポイント108は、同様のやり方で、同じドメインのエンドポイント108’にパケットを送信することもできる。例えば、レベル2ドメインD2−1中のエンドポイント108は、エンドポイント識別子120とペイロード124を用いて、パケットを生成することができる。エンドポイント識別子120は、エンドポイント108’に対応する値(例えば、22)を持つ1つのセクション(例えば、第4のセクション122d)のみを含むことができる。エンドポイント108は、次に、エンドポイント識別子120とペイロードを持つパケットをネットワークノード112へ送信する。ネットワークノード112は、エンドポイント識別子120のトップセクション(すなわち、第4のセクション122d)の値とフォワーディングテーブルのエントリとを比較し、エンドポイント識別子120のトップセクションを削除し、決定した転送パスに沿ってエンドポイント108’にパケットを転送する。
図4は、本技術の実施形態による図3のコントローラ110のソフトウェアコンポーネントの例を示すブロック図である。図4と後述の他の図において、個別のソフトウェアコンポーネント、モジュール、及びルーチンは、C、C++、Cシャープ、Java(登録商標)、及び/または他の適切なプログラミング言語におけるソースコードとして書かれるコンピュータプログラム、プロシージャ、またはプロセスであり得る。コンピュータプログラム、プロシージャ、又はプロセスは、オブジェクト又はマシンコードにコンパイルされ、パーソナルコンピュータ、ネットワークサーバ、ラップトップコンピュータ、スマートフォン、及び/又は他の適切なコンピューティングデバイスのプロセッサによって実行されるために提示される。ソース及び/又はオブジェクトコード及び関連するデータの様々な実装は、リードオンリメモリ、ランダムアクセスメモリ、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイス、及び/又は他の適切な記憶媒体を含むコンピュータメモリに保存することができる。
ある実施形態において、コントローラは、1つ以上の階層化ドメインのネットワーク状態の記録を包含するデータベース又はネットワーク記憶デバイスを含むか又は動作可能にそれらに接続されることができる。ネットワーク状態の記録は、ネットワークノードの識別、ネットワークノード及び/又はエンドポイントの接続、ネットワークノード及び/又はエンドポイント(例えば、リンクアップ/ダウンなど)の現在の動作状態、ドメイン内のバンド幅分配に関連するデータ、及び/又は他の適切なネットワークデータに関連したデータを含むことができる。上述の通り、コントロールプレーン機能及び/又はフォワーディングプレーン機能のパーティション化によって、各ドメインのネットワーク状態のモニタリングが、従来技術と比較したとき、単純化することができる。
図4に示したように、コントローラ110は、互いに動作可能に接続されている、経路計算コンポーネント130、エンドポイント識別子アロケーションコンポーネント132、エンドポイント識別子サーバ134、エンドポイント識別子マネージャ136、及びオプションのトラフィックエンジニアリングコンポーネント131を含むことができる。コントローラ110の特定のコンポーネントが図4に示されているが、他の実施形態において、コントローラ110は、1つ以上の入力/出力コンポーネント及び/又は他の適切なタイプのコンポーネントを含むこともできる。
経路計算コンポーネント130は、ドメイン構成140の入力に基づいて特定のドメイン内のネットワーク経路を計算するように構成することができる。ドメイン構成140は、特定のドメイン内、及び階層のより高い1つ以上のドメイン内にあるエンドポイント、ネットワークノード、エッジノードの情報を含むことができる。ドメイン構成140は、ネットワーク通信プロトコル、手作業のオペレータによる入力、又は他の適切な方法を使って自動的にコントローラ110と通信することができる。経路計算コンポーネント130は、様々な経路計算技術で実装することができる。例えば、1つの実施形態において、ネットワーク経路は、1つのエンドポイントから他への最短の経路に基づいて計算することができる。別の実施形態において、経路は、等価複数経路ルーティング(equal cost multiple path routing)に基づいて計算することができ、フォワーディング等価クラス(forwarding equivalent class)におけるパスのグループを単一のエントリ(又は複数のエントリ)で指定することができる。さらなる実施形態において、経路は、分散経路プロトコル及び/又は他の適切な技術と連動して計算することができる。
オプションのトラフィックエンジニアリングコンポーネント131は、トラフィックエンジニアリング技術に基づいてドメイン内の追加の経路を計算するように構成することができる。ある実施形態において、トラフィックエンジニアリングコンポーネント131は、ネットワークトラフィックの性質、トラフィックの測定又はシミュレーション、ドメインのトポロジ、及び/又は他の適切な基準に基づいてドメイン内の追加の経路を計算することができる。別の実施形態において、コントローラ110は、ソースエンドポイントから宛先へのネットワークバンド幅に対するリクエストを受信し、リクエストを満足する配分及び転送パスを決定するトラフィックエンジニアリングコンポーネント131へのリクエストを提供する、バンド幅分配コンポーネント(図示せず)も含むことができる。さらなる実施形態における、トラフィックエンジニアリングコンポーネント131は、省略することができる。
エンドポイント識別子分配コンポーネント132は、ドメイン構成140の入力に基づいて、ドメイン内の各エンドポイントに対してエンドポイント識別子の値を計算し、分配するように構成することができる。ある実施形態において、エンドポイント識別子の値は、スタック内の複数のセクションをそれぞれ含むことができる。別の実施形態において、エンドポイント識別子の値は、他の適切なデータスキームを含むこともできる。エンドポイント識別子分配コンポーネント132は、エンドポイント識別子の特定の値を経路計算コンポーネント130及び/又はオプションのトラフィックエンジニアリングコンポーネント131によって計算されたネットワーク経路に関連付けるように構成することもできる。
エンドポイント識別子マネージャ136は、ドメイン内のネットワークノード112(及び/又はエッジノード114)内のフォワーディングテーブル137を構成するように適合することができる。図4には示されていないが、エンドポイント識別子マネージャ136及びネットワークノード112は、通信を容易にする適切なインタフェース(例えば、アプリケーションプログラムインタフェース(「API」))を含むこともできる。ある実施形態において、フォワーディングテーブル137内のエントリは、静的に生成することができる。そのため、フォワーディングテーブル137のエントリは、一度計算することができる。別の実施形態において、フォワーディングテーブル137のエントリは、定期的、連続的、又は別の適切な方法で更新することができる。
エンドポイント識別子サーバ134は、エンドポイント108によって問い合わせを受けたときに、エンドポイント識別子120の値を提供するように構成することができる。エンドポイント識別子120の値は、エッジノード114(図1A)によって使用され、エッジノード114を通った個々のパケットの通過のために転送パスを決定することができる。例えば、ある実施形態において、送信元エンドポイント108は、エンドポイント識別子サーバ134に対して適切なインタフェース(例えば、API)を経由して宛先エンドポイント108と関連するエンドポイント識別子120の値を問い合わせることができる。応答して、エンドポイント識別子サーバ134は、リクエストされた値を送信元エンドポイント108に提供する。リクエストされた値は、ネットワークノード112のフォワーディングテーブル137中のエントリの1つに対応する。送信元エンドポイント108は、次に、宛先エンドポイント108と関連するエンドポイント識別子の受信した値をメッセージ又はパケットに加える(append)か又はそうでなければ修正し(modify)、転送のためにネットワークノード112へメッセージを送信する。
図5Aは、本技術の実施形態によって配置されたセクション122a〜122dを持つエンドポイント識別子の例を説明するブロック図である。図5Aに示されたように、エンドポイント識別子120は、エンドポイント識別子120の中に4つのセクション122a〜122dを含み、それぞれID0、ID1、ID2、及びID3と識別され、コンピュータネットワークの階層に従って配置される。例えば、説明した実施形態において、セクションID0、ID1、ID2、及びID3のそれぞれは、図1Aに示されたコンピュータネットワーク100における、コアドメインD0(図1A)、レベル1ドメインD1(図1A)、レベル2ドメインD2(図1A)、及びエンドポイント108にそれぞれ対応する値を含むように構成することができる。別の実施形態において、セクションID0、ID1、ID2、及びID3の少なくとも1つは、異なる及び/又は追加のドメインに対応することができる。さらなる実施形態において、エンドポイント識別子120は、2つ、3つ、5つ、又は他の適切な数のセクションを含むことができる。その上さらなる実施形態において、エンドポイント識別子120は、キュー、リスト、セット、又は他の適切なデータ構造において、配列することもできる。その上別の実施形態において、セクションID0、ID1、ID2、及びID3は、図5Bを参照してさらに詳細に後述する、コンピュータネットワークにおけるエンドポイントと関連する物理的位置に対応することができる。
図5Bは、本技術の実施形態によるセクション122a〜122dを有するエンドポイント識別子の別の例を説明するブロック図である。図5Bに示したように、セクションID0、ID1、ID2、及びID3は、それぞれ、エンドポイントに関連する物理的位置に対応することができる。例えば、セクションID0、ID1、ID2、及びID3は、それぞれ、ネットワークサーバのデータセンタID162、ビルディングID164、ルームID166、及びサーバID168に対応することができる。サーバIDによって識別されたネットワークサーバは、データセンタID162によって識別されたデータセンタのビルディングID164によって識別されたビルディングにあるルームID166によって識別されたルームに物理的に位置することができる。別の例において、セクションID0、ID1、ID2、及びID3の1つは、ネットワークサーバが位置する列を特定する列(row)ID又はネットワークサーバが位置する列を特定するラックIDに対応することもできる。その上さらなる例において、セクションID3は、例えば、サーバID168によって特定される、ネットワークサーバ上の仮想マシンを特定する仮想マシンIDに対応することもできる。その上他の例において、エンドポイント識別子120は、他の適切な数のセクション122を持つことができ、及び/又は物理的位置IDに対応することもできる。
図6は、本技術の実施形態による図5のセクション122a〜122dの1つの実施形態を示すブロック図である。図6に示すように、セクション122は、オプションのトラフィックエンジニアリング識別子152及び宛先識別子154を含むことができる。トラフィックエンジニアリング識別子152は、セクション122がオプションのトラフィックエンジニアリングコンポーネント132(図4)によって計算される経路に関連することを示す値を含むように構成することができる。宛先識別子154は、ドメイン、物理的位置、物理的位置のグループ、特定のネットワークノード、ネットワークノードのグループ、エンドポイント、又は他の適切なアイテムに対応する値を含むように構成することができる。さらなる実施形態において、トラフィック識別子152は、省略することができる。
図7は、本技術の実施形態によるIPアドレス200を使ったエンドポイント識別子の1つの例を説明する概略図である。図7で説明する実施形態に示されたように、エンドポイント識別子120は、数ビット(説明の目的で8ビットが示される)をそれぞれ持つ4つのセクション202を有するIPアドレス200を含むことができる。セクション202のそれぞれは、図2に示されたコンピュータネットワーク100のドメインD0、D1、及びD2又はエンドポイント108を表し、それぞれに対応することができる。別の実施形態において、図7に示されたように割り当てられていない送信元(original)IPアドレスは、図7に示されたように仮想IPアドレスに対応して処理することができる。さらなる実施形態において、IPアドレス200は、IPv6に従うような他の適切なフォーマットを含むことができる。
図8は、本技術の実施形態によるパーティション化コンピュータネットワークを構成するプロセスの実施形態を説明するフローチャートである。図8に示す通り、プロセス300は、ステージ302で、図1Aに示された、階層にパーティション化されたコンピュータネットワークにおける特定のドメイン及び1つ以上のより高いレベルのドメインの構成データを各ドメインにおいて受信することを含む。構成データは、ドメインにおけるエンドポイントの数及びID、及びエンドポイントの接続性(connectivity)を含むことができる。構成データは、より高いレベルのドメインへのエッジノードのアイデンティティのようなより高いレベルのドメインに対する接続性データを含むこともできる。
プロセス300は、ステージ304で、受信した構成データに基づいてネットワーク経路を生成することを含むこともできる。ある実施形態において、経路は、ドメインにおいてエンドポイントのペアの間で計算することができる。別の実施形態において、1つ以上の経路は、ドメインにないエンドポイントに関して、より高いレベルのドメインに対するエッジノードを対象として計算することができる。計算された経路は、次に、ステージ306で、ドメインに対するフォワーディングテーブル中のエンドポイント識別子と共に保存することができる。
図9Aは、本技術の実施形態によるドメインにおける、アウトバウンドの通信を管理するプロセス400の実施形態を説明するフローチャートであり、図9Bは、本技術の実施形態によるドメインにおける、インバウンドの通信を管理するプロセス500を説明するフローチャートである。後述の通り、特定のドメインは、他のドメインから独立してインバウンド及びアウトバウンドの通信を管理し、すなわち、他のドメインにおける経路指定、転送、又は他のネットワーク動作に関係なく管理する。図9Aに示されるように、プロセス400は、例えば、特定のドメインにおけるネットワークノード112(図1A)又はエッジノード114(図1A)において、ステージ402で、宛先エンドポイントへのアウトバウンドメッセージを受信することを含めることができる。プロセス400は、ステージ404で、受信したメッセージと関連するエンドポイント識別子をネットワークノード112又はエッジノード114のフォワーディングテーブルのエントリと比較することを含むこともできる。宛先エンドポイントが、同じドメインにある場合、フォワーディングテーブルは、直接メッセージを宛先エンドポイントに転送するネットワーク経路を指定するエントリを含む。プロセス400は、次に、指定されたネットワーク経路に従って宛先エンドポイントにメッセージを転送することを含む。宛先のエンドポイントが同じドメインにない場合、フォワーディングテーブルは、メッセージをより高いレベルのドメインに転送するための別のネットワーク経路を指定するエントリを含む。プロセス400は、次に、ステージ408において、メッセージをより高いレベルのドメインに転送することを含む。
図9Bは、本技術の実施形態によるドメインにおけるインバウンド通信を独立して管理するプロセス500の実施形態を説明するフローチャートである。図9Bに示したように、ステージ502において、プロセス500は、例えば、ドメインのエッジノード114(図1A)において、入来メッセージを受信することを含む。プロセス500は、ステージ504において、メッセージに関連するエンドポイント識別子の値をエッジノード114におけるフォワーディングテーブルのエントリと比較することも含む。1つの実施形態において、エンドポイント識別子のトップセクション(top section)の値は、フォワーディングテーブルのエントリと比較される。他の実施形態において、エンドポイント識別子の追加の及び/又は異なるセクションを代わりに使うことができる。宛先がそのドメインの中の場合、フォワーディングテーブルは、エンドポイントへのネットワーク経路を指定するエントリを含み、プロセス500は、ステージ506において、メッセージをネットワーク経路に従ってエンドポイントに転送することを含む。宛先がそのドメインにない場合、フォワーディングテーブルは、より低いレベルのドメインへの別のネットワーク経路を指定するエントリを含み、ステージ508において、プロセス500は、メッセージをより低いレベルのドメインへ転送することを含む。ある実施形態において、プロセス500は、メッセージをより低いレベルのドメインに転送する前に、エンドポイント識別子におけるトップセクションを削除することをオプションとして含む。別の実施形態において、トップセクションは、スワップされ、維持され、及び/又はそうでなければ変更することができる。より低いレベルのドメイン(及びより低いレベルのドメインのより低いレベルのドメイン、もしあれば)は、メッセージが宛先エンドポイントに転送されるまで、プロセス500に一般的に似たような動作を実行することができる。
フォワーディングテーブルが、図9Aと図9Bのネットワーク経路を決定する技術の例として使用されているが、別の実施形態において、ネットワーク経路は、アドホックベースで決定することができる。例えば、1つの実施形態において、インバウンド又はアウトバウンドのメッセージの受信に応答して、メッセージと関連する宛先エンドポイントが特定のドメインにあるか否かの判断をするために判定を実行することができる。他の実施形態において、判定は、連続ベースで、定期的ベースで、又は他の適切なベースで実行することができる。
図10は、図1A〜図3のコンピュータネットワーク100のあるコンポーネントに適切なコンピューティングデバイス600である。例えば、コンピューティングデバイス600は、図1Aのエンドポイント108又は図2及び図3のコントローラ110に適切であり得る。とても基本的な構成602において、コンピューティングデバイス600は、1つ以上のプロセッサ604とシステムメモリ606を通常は含む。メモリバス608は、プロセッサ604とシステムメモリ606との間の通信に使用することができる。
望ましい構成に応じて、プロセッサ604は、マイクロプロセッサ(μP)、マイクロコントローラ(μC)、デジタルシグナルプロセッサ(DSP)、又はそれらの任意の組合せを制限なく含む任意のタイプであり得る。プロセッサ604は、レベル1キャッシュ610、レベル2キャッシュ612、プロセッサコア614、及びレジスタ616などの1つ以上のレベルのキャッシュを含むことができる。プロセッサコア614の例は、数値演算ユニット(ALU)、浮動小数点演算ユニット(FPU)、デジタルシグナル処理コア(DSPコア)、又はそれらの任意の組合せを含むことができる。メモリコントローラ618の例は、プロセッサ604と共に使用されることもでき、又はいくつかの実装において、メモリコントローラ618は、プロセッサ604の内部部品であり得る。
望ましい構成に応じて、システムメモリ606は、揮発性メモリ(RAMなどの)、不揮発性メモリ(ROM、フラッシュメモリなどの)又はそれらの任意の組合せを制限なく含む任意のタイプであり得る。システムメモリ606は、オペレーティングシステム620、1つ以上のアプリケーション622、及びプログラムデータ624を含むことができる。この説明した基本構成602は、内部の破線内のこれらのコンポーネントによって図10で説明されている。
コンピューティングデバイス600は、追加の特徴又は機能性、及び基本構成602と他のデバイスとインタフェースとの間の通信を容易にする追加のインタフェースを有することができる。例えば、バス/インタフェースコントローラ630は、記憶インタフェースバス634を経由して、基本構成602と1つ以上のデータ記憶デバイス632との間の通信を容易にするために使用することができる。データ記憶デバイス632は、リムーバブル記憶デバイス636、非リムーバブル記憶デバイス638、又はそれらの組合せであり得る。リムーバブル記憶デバイスと非リムーバブル記憶デバイスの例は、2、3例を挙げると、フレキシブルディスクドライブとハードディスクドライブ(HDD)などの磁気ディスクドライブ、コンパクトディスク(CD)ドライブ又はデジタル多用途ディスク(DVD)などの光ディスクドライブ、ソリッドステートドライブ(SSD)、及びテープドライブを含む。コンピュータ記憶メディアの例は、コンピュータ読取可能命令、データ構造、プログラムモジュール、又は他のデータなどの情報の記憶に対して任意の方法又は技術で実装される揮発性と不揮発性のメディア、リムーバブルと非リムーバブルのメディアを含むことができる。
システムメモリ606、リムーバブル記憶デバイス636、非リムーバブル記憶デバイス638は、コンピュータ読取可能記憶メディアの例である。コンピュータ読取可能記憶メディアは、制限されず、RAM、ROM、EEPROM、フラッシュメモリ又は他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)又は他の光学記憶、磁気カセット、磁気テープ、磁気ディスク記憶又は他の磁気記憶デバイス、又は所望の情報を記憶し、コンピューティングデバイス600によってアクセス可能な任意の他のメディアを含む。そのようなコンピュータ読取可能記憶メディアは、コンピューティングデバイス600の一部となり得る。「コンピュータ読取可能記憶メディア(computer readable storage medium)」という用語は、伝搬された信号及び通信メディアを含まない。
コンピューティングデバイス600は、様々なインタフェースデバイス(例えば、出力デバイス642、周辺機器インタフェース644、及び通信デバイス646)からバス/インタフェースコントローラ630を経由して基本構成(basic configuration)602への通信を容易にするインタフェースバス640を含むこともできる。出力デバイス642の例は、グラフィックス処理ユニット648とオーディオ処理ユニット650を含み、それらは、1つ以上のA/Vポート652を経由して例えばディスプレイ又はスピーカなどの様々な外部デバイスと通信するように構成することができる。周辺機器インタフェース644の例は、シリアルインタフェースコントローラ654又はパラレルインタフェースコントローラ656を含み、それらは、1つ以上のI/Oポート658を経由して、例えば入力デバイス(例えば、キーボード、マウス、ペン、ボイス入力デバイス、タッチ入力デバイスなど)又は他の周辺機器デバイス(例えば、プリンタ、スキャナなど)などの外部デバイスと通信するように構成することができる。通信デバイス646の例は、ネットワークコントローラ660を含み、それは、1つ以上の通信ポート664を経由してネットワーク通信リンクを通して、1つ以上の他のコンピューティングデバイス662との通信を促進するように配置することができる。
ネットワーク通信リンクは、通信メディアの1つの例であり得る。通信メディアは、搬送波又は他の伝送メカニズムのようなコンピュータ読取可能命令、データ構造、プログラムモジュール、又は変調データ信号中の他のデータによって具体化され、情報配信メディアを含むこともできる。「変調されたデータ信号」は、信号中で情報をエンコードするようにその特性の1つ以上が設定又は変更された信号であっても良い。例として、制限なく、通信メディアは、有線ネットワーク又は直接有線接続などの有線メディア、及びアコースティック、無線周波数(RF)、マイクロ波、赤外線(IR)及び他の無線メディアなどの無線メディアを含む。本明細書で使用される、コンピュータ読取可能メディア(媒体)(computer readable media)という用語は、記憶メディア及び通信メディアの両方を含むことができる。
コンピューティングデバイス600は、携帯電話、パーソナルデータアシスタント(PDA)、パーソナルメディアプレーヤデバイス、ワイヤレスWebウォッチデバイス、パーソナルヘッドセットデバイス、アプリケーション固有デバイス、又は上述の機能の幾つかを含むハイブリッドデバイスのような小さいフォームファクタのポータブル(又はモバイル)電子デバイスの一部として実装することができる。コンピューティングデバイス600は、ラップトップコンピュータ構成及び非ラップトップコンピュータ構成の両方を含むパーソナルコンピュータとして実装され得る。
本技術の特定の実施形態が説明の目的で上述された。しかしながら、様々な変更が上述の開示から逸脱することなく行うことができる。その上、1つの実施形態の複数の要素が他の実施形態の要素に追加して、又は代わりに他の実施形態と組合せることができる。その結果、本技術は、添付請求項による場合を除いては制限されない。

Claims (8)

  1. 1つ以上のエンドポイントと相互接続された1つ以上のネットワークノードを有するコンピュータネットワークにおけるパケット送信方法であって、
    ネットワークノードにおいて、エンドポイント識別子によって特定されたパケットを受信する受信工程であって、前記エンドポイント識別子は、第1の値を保持する第1のセクション及び第2の値を保持する第2のセクションを含み、前記第1の値及び前記第2の値は、個々に前記コンピュータネットワークにおけるエンドポイントの物理的位置の少なくとも一部に対応しており、前記第1のセクション及び前記第2のセクションは、スタックに配置されている、前記受信工程と、
    前記エンドポイント識別子の前記第1の値又は前記第2の値の少なくとも1つに基づいて前記エンドポイントに前記パケットを転送する転送パスの少なくとも一部を決定する決定工程と、
    前記ネットワークノードから、前記転送パスの前記決定した少なくとも一部に沿って、前記パケットを前記エンドポイントに転送する転送工程と、
    前記ネットワークノードから、前記パケットを前記転送パスの前記決定された少なくとも一部に沿って前記エンドポイントに転送することに連動して、前記スタックから少なくとも前記第1のセクションを削除する削除工程と、
    を含む、方法。
  2. 前記第1の値が、データセンタ、前記データセンタがあるビルディング、前記ビルディングの中のルーム、前記ルームの中の列、又は前記エンドポイントが位置する前記列の中のラックのうちの少なくとも1つを特定し、
    前記第2の値が、仮想マシンの論理的位置、前記仮想マシンがホストされているサーバの物理的位置のうちのいずれか1つを特定する、請求項1に記載の方法。
  3. 前記転送パスの少なくとも一部を決定する決定工程は、少なくとも前記第1の値を前記ネットワークノードのメモリ中のフォワーディングテーブル内のエントリと比較することを含、前記フォワーディングテーブルは、前記第1の値に対応するエントリを有し、前記エントリは、宛先エンドポイントに対する前記転送パスの少なくとも一部を指定する、請求項1に記載の方法。
  4. 前記転送工程が、前記第1のセクション中の前記第1の値を変更することなしに、前記転送パスの前記決定された少なくとも一部に沿って、前記ネットワークノードから前記エンドポイントに前記パケットを転送することを含む、請求項に記載の方法。
  5. 前記ネットワークノードから前記パケットを前記宛先エンドポイントに転送することに連動して、前記スタックの前記第1のセクション中の少なくとも前記第1の値を変更する工程更に含む、請求項に記載の方法。
  6. 前記転送パスの少なくとも一部を決定する決定工程は、少なくとも前記第1の値を前記ネットワークノードにおいてフォワーディングテーブル内のエントリと比較することを含、前記フォワーディングテーブルは、前記第1の値に対応するエントリを有し、前記エントリは、前記エンドポイントへの前記転送パスの少なくとも一部を指定し、
    当該方法は、前記ネットワークノードから前記パケットを前記転送パスの前記決定された少なくとも一部に沿って宛先エンドポイントに転送することと連動して、前記スタックから前記第1のセクションを削除する工程更に含む、請求項1に記載の方法。
  7. 前記ネットワークノードは、第1のネットワークノードであり、
    前記転送パスの少なくとも一部を決定する決定工程は、前記第1の値を前記第1のネットワークノードにおいてフォワーディングテーブル内のエントリと比較することを含、前記フォワーディングテーブルは、前記第1の値に対応するエントリを有し、前記エントリは、第2のネットワークノードを経由する前記エンドポイントへの前記転送パスの少なくとも一部を指定
    当該方法は
    前記第2の値を前記第2のネットワークノードにおいてフォワーディングテーブルのエントリと比較することによって前記エンドポイントへの前記転送パスの別の部分を決定する工程と、
    前記第2のネットワークノードから前記パケットをネットワークパスの前記決定された別の部分に沿って、前記エンドポイントに転送する工程と、
    更に含む請求項1に記載の方法。
  8. 前記ネットワークノードは、第1のネットワークノードであり、
    前記転送パスの少なくとも一部を決定する決定工程は、前記第1の値を前記第1のネットワークノードにおいてフォワーディングテーブル内のエントリと比較することを含、前記フォワーディングテーブルは、前記第1の値に対応するエントリを有し、前記エントリは、第2のネットワークノードを経由する前記エンドポイントへの前記転送パスの少なくとも一部を指定し、
    当該方法は
    前記第2の値を前記第2のネットワークノードにおいてフォワーディングテーブルのエントリと比較することによって前記エンドポイントへの前記転送パスの別の部分を決定する工程と、
    前記スタックから前記第2のセクションを削除する工程と、
    前記第2のネットワークノードから前記パケットをネットワークパスの前記決定された別の部分に沿って、前記第2のセクションなしで、前記エンドポイントに転送する工程と、
    更に含む請求項1に記載の方法。
JP2017514679A 2014-09-16 2015-09-14 コンピュータネットワークにおけるエンドポイント識別方法 Active JP6628792B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/488,018 2014-09-16
US14/488,018 US9544225B2 (en) 2014-09-16 2014-09-16 Method for end point identification in computer networks
PCT/US2015/049878 WO2016044116A1 (en) 2014-09-16 2015-09-14 Method for end point identification in computer networks

Publications (2)

Publication Number Publication Date
JP2017529792A JP2017529792A (ja) 2017-10-05
JP6628792B2 true JP6628792B2 (ja) 2020-01-15

Family

ID=54150759

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017514679A Active JP6628792B2 (ja) 2014-09-16 2015-09-14 コンピュータネットワークにおけるエンドポイント識別方法

Country Status (7)

Country Link
US (1) US9544225B2 (ja)
EP (1) EP3198807A1 (ja)
JP (1) JP6628792B2 (ja)
CN (1) CN107078954B (ja)
BR (1) BR112017003795A2 (ja)
RU (1) RU2693181C2 (ja)
WO (1) WO2016044116A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9819573B2 (en) 2014-09-11 2017-11-14 Microsoft Technology Licensing, Llc Method for scalable computer network partitioning
CN108737567B (zh) * 2018-06-15 2021-10-26 广东美的制冷设备有限公司 实时时钟提供方法、服务器、家电设备、系统和介质

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6088356A (en) 1997-06-30 2000-07-11 Sun Microsystems, Inc. System and method for a multi-layer network element
US6078590A (en) 1997-07-14 2000-06-20 Cisco Technology, Inc. Hierarchical routing knowledge for multicast packet routing
JPH1141293A (ja) * 1997-07-15 1999-02-12 Nec Corp 交換装置
WO2000074305A2 (en) 1999-05-14 2000-12-07 Dunti Corporation Method for routing in hierarchical networks
ATE326805T1 (de) 2000-06-15 2006-06-15 Ericsson Telefon Ab L M Verfahren und anordnungen in einem telekommunikationssystem
US7120120B2 (en) 2001-11-29 2006-10-10 Ipsum Networks, Inc. Method and system for topology construction and path identification in a two-level routing domain operated according to a simple link state routing protocol
US7212526B2 (en) 2002-01-18 2007-05-01 Hitachi, Ltd. Method and apparatus for composing virtual links in a label switched network
US7257643B2 (en) 2002-05-16 2007-08-14 Intel Corporation Method and apparatus to improve network routing
JP2004140776A (ja) 2002-07-12 2004-05-13 Nec Corp ネットワークにおけるフレーム転送方法及びノード、フレーム転送プログラム
US7613796B2 (en) 2002-09-11 2009-11-03 Microsoft Corporation System and method for creating improved overlay network with an efficient distributed data structure
US7215644B2 (en) 2003-03-19 2007-05-08 Alcatel Lucent Inter-domain constraint-based shortest path first technique for supporting hierarchical routing in interconnected multi-domain optical transport networks
US7626925B1 (en) * 2003-06-19 2009-12-01 Cisco Technology, Inc. Methods for finding a merge point node for MPLS fast re-route
CA2590669A1 (en) 2004-12-31 2006-07-06 British Telecommunications Public Limited Company Method to run a connectionless network as a connection oriented network
US7586841B2 (en) 2005-05-31 2009-09-08 Cisco Technology, Inc. System and method for protecting against failure of a TE-LSP tail-end node
CN100417117C (zh) 2005-06-15 2008-09-03 华为技术有限公司 自动交换光网络中节点可达性的识别方法
KR100765320B1 (ko) 2005-09-14 2007-10-09 삼성전자주식회사 Mpls 네트워크 및 mpls 네트워크에서의 모바일ip 적용 방법
US7986640B2 (en) 2006-07-05 2011-07-26 Cisco Technology, Inc. Technique for efficiently determining acceptable link-based loop free alternates in a computer network
US8718060B2 (en) 2006-07-31 2014-05-06 Cisco Technology, Inc. Technique for multiple path forwarding of label-switched data traffic
CN101119252B (zh) * 2006-08-01 2010-05-19 华为技术有限公司 接入网络系统、接入装置、arp代理方法和ip桥接转发方法
US8270319B2 (en) * 2006-12-14 2012-09-18 Rockstart Bidco, LP Method and apparatus for exchanging routing information and establishing connectivity across multiple network areas
US7672253B2 (en) 2007-08-06 2010-03-02 Cisco Technology, Inc. Border router with selective filtering of link state advertisements
US8751626B2 (en) * 2007-10-23 2014-06-10 Microsoft Corporation Model-based composite application platform
CN101471849B (zh) 2007-12-29 2011-04-06 华为技术有限公司 一种分组传送网的保护方法
US20100188993A1 (en) * 2009-01-28 2010-07-29 Gregory G. Raleigh Network tools for analysis, design, testing, and production of services
US8160063B2 (en) * 2008-06-09 2012-04-17 Microsoft Corporation Data center interconnect and traffic engineering
WO2010037421A1 (en) * 2008-10-02 2010-04-08 Telefonaktiebolaget Lm Ericsson (Publ) Ethernet frame broadcast emulation
CN101667954B (zh) * 2009-10-14 2015-01-28 中兴通讯股份有限公司 多层虚拟专用局域网业务的网络及其数据处理方法
CN102130829B (zh) 2010-12-28 2013-06-05 华为技术有限公司 一种lsp的建立方法、装置
US8537706B2 (en) 2011-01-11 2013-09-17 International Business Machines Corporation Preserving traffic class priority QoS with self-virtualizing input/output device
US8724627B2 (en) * 2011-02-22 2014-05-13 Cisco Technology, Inc. Single-homing and active-active multi-homing in a virtual private LAN service
US8848519B2 (en) * 2011-02-28 2014-09-30 Telefonaktiebolaget L M Ericsson (Publ) MPLS fast re-route using LDP (LDP-FRR)
CN102333028B (zh) 2011-06-22 2013-02-13 杭州华三通信技术有限公司 一种分层式二层虚拟专用网发送报文的方法及通信设备
US9274825B2 (en) * 2011-08-16 2016-03-01 Microsoft Technology Licensing, Llc Virtualization gateway between virtualized and non-virtualized networks
US9288081B2 (en) 2011-08-17 2016-03-15 Nicira, Inc. Connecting unmanaged segmented networks by managing interconnection switching elements
US9042229B2 (en) 2011-10-06 2015-05-26 International Business Machines Corporation Partitioning a network switch into multiple switching domains
US9088584B2 (en) * 2011-12-16 2015-07-21 Cisco Technology, Inc. System and method for non-disruptive management of servers in a network environment
US9332479B2 (en) * 2012-01-04 2016-05-03 Ofinno Technologies, Llc Network site for wireless communications
KR20130085617A (ko) 2012-01-20 2013-07-30 한국전자통신연구원 클라우드 데이터센터에서의 식별자와 위치자를 분리하는 기술을 적용하기 위한 매핑 시스템 및 네트워크 및 방법
US10860384B2 (en) 2012-02-03 2020-12-08 Microsoft Technology Licensing, Llc Managing partitions in a scalable environment
CN103248565A (zh) 2012-02-06 2013-08-14 中兴通讯股份有限公司 一种建立保护标签交换路径(lsp)的方法及系统
JP5836477B2 (ja) * 2012-03-09 2015-12-24 三菱電機株式会社 データ通信装置、データ通信システム及びデータ通信方法
US8953619B2 (en) 2012-03-14 2015-02-10 International Business Machines Corporation Dynamic optimization of a multicast tree hierarchy for a distributed switch
US9071541B2 (en) 2012-04-25 2015-06-30 Juniper Networks, Inc. Path weighted equal-cost multipath
US9769085B2 (en) * 2012-05-04 2017-09-19 Citrix Systems, Inc. Systems and methods for adaptive application provisioning
US10225094B2 (en) 2012-05-29 2019-03-05 Futurewei Technologies, Inc. SDN facilitated multicast in data center
US8750288B2 (en) 2012-06-06 2014-06-10 Juniper Networks, Inc. Physical path determination for virtual network packet flows
US9088519B2 (en) * 2012-06-15 2015-07-21 Juniper Networks, Inc. Allocating and distributing labels for packet encapsulation
US20140177637A1 (en) 2012-12-21 2014-06-26 Ian Hamish Duncan Reduced complexity multiprotocol label switching
US20140185614A1 (en) 2012-12-28 2014-07-03 General Instrument Corporation Multiple domain addressing in message routing
US8964570B2 (en) * 2013-01-11 2015-02-24 Cisco Technology, Inc. Detecting failures of backup label switched paths in a network environment
US20140233569A1 (en) 2013-02-15 2014-08-21 Futurewei Technologies, Inc. Distributed Gateway in Virtual Overlay Networks
US9537769B2 (en) * 2013-03-15 2017-01-03 Cisco Technology, Inc. Opportunistic compression of routing segment identifier stacks
KR20150000324A (ko) 2013-06-24 2015-01-02 한국전자통신연구원 라우팅 방법 및 그 장치

Also Published As

Publication number Publication date
BR112017003795A2 (pt) 2017-12-12
RU2017107965A3 (ja) 2019-04-16
CN107078954B (zh) 2021-01-15
WO2016044116A1 (en) 2016-03-24
RU2017107965A (ru) 2018-09-13
US20160080258A1 (en) 2016-03-17
US9544225B2 (en) 2017-01-10
JP2017529792A (ja) 2017-10-05
RU2693181C2 (ru) 2019-07-01
CN107078954A (zh) 2017-08-18
EP3198807A1 (en) 2017-08-02

Similar Documents

Publication Publication Date Title
US11855884B2 (en) Communicating packets across multi-domain networks using compact forwarding instructions
US9998368B2 (en) Zone routing system
US10904130B2 (en) Method for scalable computer network partitioning
US10237179B2 (en) Systems and methods of inter data center out-bound traffic management
US10257086B2 (en) Source imposition of network routes in computing networks
US8953599B1 (en) Traffic cut-through within network device having multiple virtual network devices
US9094342B2 (en) Method and system for sharing router resources via a mobile virtual router
TW201603531A (zh) 全網域服務控制器
US20130182605A1 (en) Method and system for providing a mobile virtual router
CN104065553B (zh) 虚拟网络迁移方法和相关设备
JPWO2012173172A1 (ja) 通信システム、コントローラ、スイッチ、ストレージ管理装置、及び通信方法
WO2016069382A1 (en) Virtual overlay mobility using label based underlay network forwarding
JP6628792B2 (ja) コンピュータネットワークにおけるエンドポイント識別方法
KR101145389B1 (ko) 분산화를 통한 확장성 있는 중앙 집중식 네트워크 구조 및 제어 방법과 이를 위한 네트워크 스위칭 장치
BR112017003099B1 (pt) Método para transmissão de pacotes em uma rede de computador tendo uma hierarquia de domínios e nó de rede

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180806

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190611

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190910

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191203

R150 Certificate of patent or registration of utility model

Ref document number: 6628792

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