JP2017510197A - フロールーティング、スケーラビリティおよびセキュリティの向上を伴う、自律システム内および自律システム間のトラフィックのソフトウェア定義ルーティングのためのシステムならびに方法 - Google Patents

フロールーティング、スケーラビリティおよびセキュリティの向上を伴う、自律システム内および自律システム間のトラフィックのソフトウェア定義ルーティングのためのシステムならびに方法 Download PDF

Info

Publication number
JP2017510197A
JP2017510197A JP2016558402A JP2016558402A JP2017510197A JP 2017510197 A JP2017510197 A JP 2017510197A JP 2016558402 A JP2016558402 A JP 2016558402A JP 2016558402 A JP2016558402 A JP 2016558402A JP 2017510197 A JP2017510197 A JP 2017510197A
Authority
JP
Japan
Prior art keywords
data packet
network
switch
routing
network interface
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
JP2016558402A
Other languages
English (en)
Other versions
JP6527880B2 (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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of JP2017510197A publication Critical patent/JP2017510197A/ja
Application granted granted Critical
Publication of JP6527880B2 publication Critical patent/JP6527880B2/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
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • 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
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • 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/02Topology update or discovery
    • H04L45/033Topology update or discovery by updating distance vector protocols
    • 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/125Shortest path evaluation based on throughput or bandwidth
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • 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/742Route cache; Operation thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

自律ネットワークおよび対応のルーティング方法は、コントローラによってルーティングパスを決定することと、決定されたルーティングパスを、コントローラから離れて配置されたデータパケットプロセッサに提供することとを含む。データパケットプロセッサは、発信データパケットを、コントローラからの情報に基づいて、データパケットプロセッサから離れている複数のスイッチを介してルーティングする。各スイッチは複数のネットワークインターフェイスを含む。発信データパケットについて、データパケットプロセッサは、データパケットを送信する際に通過すべきネットワークインターフェイスを決定し、決定されたネットワークインターフェイスのインディケーションをデータパケットのヘッダ内に追加する。データパケットプロセッサは、修正されたデータパケットを、決定されたネットワークインターフェイスを含むスイッチにフォワードする。スイッチはインディケーションに基づいてネットワークインターフェイスを識別し、発信データパケットを識別されたネットワークインターフェイスを介して送信する。

Description

関連の特許出願との相互参照
本特許出願は、2014年9月5日に出願された、「フロールーティング、スケーラビリティおよびセキュリティの向上を伴う、自律システム内および自律システム間のトラフィックのソフトウェア定義ルーティングのためのシステムならびに方法(System and Method for Software Defined Routing of Traffic Within and Between Autonomous Systems with Enhanced Flow Routing, Scalability and Security)」と題された米国出願番号第14/478,217号の優先権を主張し、当該米国出願は、2014年4月1日に出願された、「フロールーティング、スケーラビリティおよびセキュリティの向上を伴う、自律システム内および自律システム間のトラフィックのソフトウェア定義ルーティングのためのシステムならびに方法(System and Method for Software Defined Routing of Traffic Within and Between Autonomous Systems with Enhanced Flow Routing, Scalability and Security)」と題された米国仮出願番号第61/973,650号の優先権を主張し、当該両出願は本願の譲受人に譲受されており、引用により本明細書に明示的に援用される。
発明の背景
本発明は概して、自律システム内および自律システム間でデータトラフィックをルーティングする分野に関する。
接続性およびデータサービスの需要の増加とともに、データセンターおよび自律サービスネットワーク(autonomous service network:ASN)は、一般に、莫大なデータコンテンツ要求を絶えず取扱うことが期待されている。エンドユーザは、データサービスがほんのわずかな遅延で連続的に利用可能であることを期待している。
発明の概要
ある局面によると、開示は、複数のスイッチを含む自律ネットワークに関する。各スイッチは、複数のネットワークインターフェイスを含み、ネットワークの外部にあるデバイスにアドレス指定されたデータパケットを受信するように構成される。スイッチは、受信した発信データパケットのヘッダから、発信データパケットを送信する際に通過すべきネットワークインターフェイスを示すデータを取得して、発信データパケットを、ヘッダから取得されたデータ内に示されているネットワークインターフェイスを介して送信する。自律ネットワークはさらに、複数のスイッチから離れて配置されたデータパケットプロセッサを含み、データパケットプロセッサは、発信パケットに対して、対応のスイッチが発信データパケットを送信する際に通過すべき、複数のスイッチのうちの1つの内部のネットワークインターフェイスを識別するように構成される。データパケットプロセッサは、識別されたネットワークインターフェイスのインディケーション(indication)を発信データパケットのヘッダに追加し、発信データパケットを対応のスイッチにフォワードする。自律ネットワークはさらにコントローラを含み、コントローラは、データパケットをルーティングするためのルーティングパスを決定し、発信データパケットを送信するためのスイッチおよびスイッチのネットワークインターフェイスをデータパケットプロセッサが識別するのに十分な、決定されたルーティングパスと関連付けられたルーティング情報を、データパケットプロセッサに提供するように構成される。
別の局面によると、本開示は、自律ネットワーク内でデータパケットを取扱うための方法に関する。方法は、複数のスイッチのうちの1つのスイッチによって、ネットワークの外部にあるデバイスにアドレス指定されたデータパケットを受信することを含む。複数のスイッチの各スイッチは複数のネットワークインターフェイスを含む。スイッチは、受信した発信データパケットのヘッダから、発信データパケットを送信する際に通過すべきネットワークインターフェイスを示すデータを取得して、発信データパケットを、ヘッダから取得されたデータ内に示されているネットワークインターフェイスを介して送信する。複数のスイッチから離れて配置されたデータパケットプロセッサは、対応のスイッチが発信データパケットを送信する際に通過すべき、複数のスイッチのうちの1つのスイッチと関連付けられたネットワークインターフェイスを識別する。データパケットプロセッサは、識別されたネットワークインターフェイスのインディケーションを発信データパケットのヘッダに追加し、発信データパケットを識別されたスイッチにフォワードする。コントローラは、データパケットをルーティングするためのルーティングパスを決定し、決定されたルーティングパスと関連付けられたルーティング情報をデータパケットプロセッサに提供する。提供される情報は、発信データパケットを送信するためのスイッチのネットワークインターフェイスをデータパケットプロセッサが識別するのに十分である。
開示の別の局面は、コンピュータコード命令を格納しているコンピュータ読取可能媒体に関し、コンピュータコード命令は、プロセッサによって実行されると、装置に、コントローラから受信したルーティング情報に基づいて、対応のスイッチが発信データパケットを送信する際に通過すべき複数のスイッチのうちの1つのスイッチに対応するネットワークインターフェイスを識別させる。コンピュータコード命令は、プロセッサによって実行されると、装置にさらに、識別されたネットワークインターフェイスのインディケーションを発信データパケットのヘッダに追加させ、発信データパケットを識別されたスイッチにフォワードさせる。
従来のコンテンツ配信ネットワークの例示的なアーキテクチャを示す図である。 コンテンツ配信ネットワークの例示的な高レベルアーキテクチャを示す図である。 図2に示されるコンテンツ配信ネットワークのアーキテクチャの例示的なより詳細なブロック図である。 例示的な階層化データパケットおよびコンテンツ要求処理モデルを示すブロック図である。 自律ネットワーク内でルーティング情報を管理および採用する例示的な方法を示すフローチャートの図である。 発信データパケットを処理するための例示的な方法を示すフローチャートの図である。 着信データパケットを処理するための例示的な方法を示すフローチャートの図である。 例示的なコンピュータデバイスのブロック図である。
好ましい実施形態の詳細な説明
以下に、自律ネットワーク内でデータパケットを取扱うための方法、装置、およびシステムに関連するさまざまな概念、ならびに当該方法、装置、およびシステムの実現例を説明する。説明する概念はいずれの特定の実現態様にも限定されないため、上記に紹介され、下記により詳細に記載されるさまざまな概念は多数の方法のいずれかで実現され得る。具体的な実現および用途の例は、主に例示のために提供される。
図1は、コンテンツ配信ネットワーク100の例示的なアーキテクチャを示す図である。コンテンツ配信ネットワーク(CDN)は自律ネットワークの一例である。自律ネットワークは、複数のインターネットプロトコル(IP)ルーティングプレフィックスを有し、かつ共通のインターネットルーティングポリシーを提示するネットワークである。他の種類の自律ネットワークには、転送ネットワーク、インターネットサービスプロバイダ(ISP)、自律サービスネットワーク(ASN)等が挙げられる。自律ネットワーク100は、複数のエッジルータ110a〜110c(総称して、または個別にエッジルータ110とも称される)、コンテンツキャッシュサーバ120、アグリゲーションファブリック130、1つ以上のバックボーンルータ140、およびバックボーンシステム150を含む。
エッジルータ110は、ネットワークに入ってくるデータパケット、およびネットワーク外に送信されるデータパケットを取扱うように構成される。データパケットを取扱う際、エッジルータ110はデータパケット処理およびルーティングを実行する。各エッジルータ110は多数の通信インターフェイス、またはポート、111を含む。各ポート111は、たとえばISPまたは他の自律ネットワークなどのピアネットワークに対応する。エッジルータ110は、他のピアコンテンツ配信ネットワークと外部ボーダーゲートウェイプロトコル(external border gateway protocol:e−BGP)セッションを確立する。e−BGPセッションの一部として、エッジルータ110は他のピアコンテンツ配信ネットワークとルーティングおよび到達可能性情報を交換する。エッジルータ110はさらに、インターネットルーティングテーブルを構築し、ルーティングポリシーを実行し、BGPセッションを介して取得された情報に主に基づいてデータパケットを他のピア自律ネットワークにルーティングする際に最良のルーティングパスを選択するように構成される。
制御タスクをルーティングすることに加えて、エッジルータ110はさらに、アクセスコントロールリスト(ACL)フィルタリング、ファイングレインパケット分類、インバウンドデータパケットカプセル化などのパケット処理を行うように構成される。対応のデータパケットのルーティングパスを決定すると、エッジルータ110は、決定されたパスに基づいて、データパケットをCDN100内の次のホップノードにフォワードする。
コンテンツキャッシュサーバ120は、要求しているエンドユーザにコンテンツを提供し、ロードバランシングを行うように構成される。すなわち、コンテンツキャッシュサーバ120はコンテンツを記憶し、エンドユーザからのコンテンツ要求を取扱う。コンテンツキャッシュサーバ120はさらに、着信コンテンツ要求を異なるコンテンツサーバ間に分散させることによってロードバランシングを行うように構成される。通常、多数のコンテンツサーバが同じコンテンツの異なる複製を記憶する。したがって、コンテンツキャッシュサーバ120は、そのようなコンテンツの着信要求を、それらの対応の処理負荷のバランスを取り、多数のコンテンツサーバの1つ以上に対する過負荷を回避するように、多数のコンテンツサーバ間に分散させる。コンテンツキャッシュサーバ120は、アグリゲーションファブリック130を介してエッジルータ110に結合される。自律ネットワーク100は、1つよりも多いコンテンツキャッシュサーバ120を採用してもよい。
アグリゲーションファブリック130は、エッジルータ110をコンテンツキャッシュサーバ120に、かつバックボーンルータ140に相互接続する。アグリゲーションファブリック130はバックボーンルータを用いて実現されてもよい。
1つ以上のバックボーンルータ140は、データパケットをバックボーンシステム150に、かつバックボーンシステム150からルーティングおよびフォワードするように構成される。バックボーンルータ140は、エッジルータ110およびバックボーンシステム150に結合される。
バックボーンシステム150は、1つ以上のコンテンツサーバ(図1には図示せず)を含む。コンテンツサーバは、コンテンツを記憶し、コンテンツキャッシュサーバ120に記憶されていないコンテンツを要求するエンドユーザからのコンテンツ要求を取扱うように構成される。バックボーンルータ140を介して受信したコンテンツ要求に応答して、コンテンツサーバは、要求されたコンテンツで返答する。要求されたコンテンツは、1つ以上のバックボーンルータ140を介してエッジルータ110に送信され、要求しているエンドユーザに配信される。
インターネットピアリングという観点で、図1に示されるネットワークアーキテクチャはモノリシックエッジルータ110に基づいている。すなわち、エッジルータ110は既存のBGPプロトコルを用いて、(1)他のコンテンツ配信ネットワークと到達可能性を交換し、(2)内部ルーティング要素間にルーティング情報を分散させる。BGPプロトコルを用いるそのようなアプローチは、たとえば90年代半ばのBGPデプロイメントのためのランドスケープなどの、比較的小規模の複雑でないデプロイメントのために設計された。
以下に、制御プレーン機能をデータプレーン機能から分離することを可能にするネットワークアーキテクチャを説明する。制御プレーン機能は1つ以上のデータパケットプロセッサによって取扱われるのに対して、データプレーン機能はコンテンツ配信ネットワークのエッジにおけるデータパケットプロセッサおよびスイッチ間に分散される。データパケットプロセッサは、コンテンツ配信ネットワークのエッジにおけるスイッチから分離している。
図2は、コンテンツ配信ネットワーク200の代替の例示的な高レベルアーキテクチャを示す図である。コンテンツ配信ネットワーク200のアーキテクチャは、ネットワークのエッジにおいて制御プレーン機能をデータプレーン機能から分離する。コンテンツ配信ネットワーク200は、ピアリングファブリック201、ルーティング制御システム260、1つ以上のパケットプロセッサ220、1つ以上のバックボーンルータ240、およびバックボーンシステム250を含む。以下に説明するアーキテクチャはコンテンツ配信ネットワークの文脈で論じられるが、実質的に同様のアーキテクチャが他の種類の自律ネットワークに採用されてもよい。
ピアリングファブリック201は複数のスイッチ210を含む。スイッチ210は、比較的単純なスイッチングもしくはルータチップ、またはコモディティルータであってもよい。スイッチ210は、実質的なコンピューティング能力またはルーティングインテリジェンスを有する必要がない。いくつかの他の実現例では、スイッチ210はネットワークを介してパケットをフォワードすることが可能ないずれのネットワーク要素であってもよい。いくつかの実現例では、ピアリングファブリック201は、最小からゼロのルーティングインテリジェンスでフォワーディングプレーン機能を取扱うように構成される。ピアリングファブリック201の各スイッチ210は、複数のネットワークインターフェイス211を含む。ピアリングファブリック201のスイッチ210は、エグレスデータパケットを、コンテンツ配信ネットワーク200の内部デバイスから、それらのデータパケットのヘッダ内に特定されているネットワークインターフェイス211を介してピアネットワークにフォワードするように構成される。データパケットヘッダは、データパケットをフォワードする際にどのネットワークインターフェイス211を通過すべきかの識別子を既に含んでいるため、スイッチ210はデータパケットに関してルーティング決定をまったく下す必要がなく、またはデータパケットが流れることが意図されているのがどのピアネットワークであるのかを知ることすら必要でない。スイッチ210はさらに、外部ピアネットワークから受信したデータパケットを、ネットワークインターフェイス211を介して、データパケットプロセッサ220などの対応のイングレスデバイスまたはコンテンツ配信ネットワーク200の他のデバイスにフォワードするように構成される。
ルーティング制御システム260は、BGPスピーカ(図2には図示されないが図3に関連して論じられる)からインターネットルートを、かつルーティング制御システム260から内部ルートを学習するように構成される。ルーティング制御システム260は、利用可能なルーティングパスに関する情報を1つ以上のデータパケットプロセッサ220に提供する。ルーティング制御システム260は、グローバルコントローラ266および1つ以上のローカルコントローラ267を含む。代替の実現例によると、ルーティング制御システム260は1つ以上のグローバルコントローラ266を含むが、ローカルコントローラ267を含まない。さらに別の代替の実現例によると、ルーティング制御システム260は他のローカルコントローラとルーティング情報を交換するように構成される1つ以上のローカルコントローラ267を含むが、グローバルコントローラ266を含まない。グローバルコントローラ266およびローカルコントローラ267の機能のより詳細な説明は、図3に関連して以下に提供される。
1つ以上のデータパケットプロセッサ220は、1つ以上のエッジアプライアンスまたはエッジサーバ内に常駐している。1つ以上のデータパケットプロセッサ220は、ピアリングファブリック201のスイッチから離れて配置されている。すなわち、それらは同じ物理的シャーシ内にないが、それらは同じデータセンターまたはデータセンターの領域内にあり得る。1つ以上のデータパケットプロセッサ220は、ルーティング制御システム260から受信した利用可能なルーティングパスに関する情報に基づいてデータパケットルーティングを行うように構成される。いくつかの実現例では、データパケットプロセッサ220は、1つ以上のシングルコアもしくはマルチコア汎用プロセッサを含むか、またはそれらによって電力供給される。
発信データパケットについて、データパケットプロセッサ220は、データパケットをネットワーク外にフォワードするためのピアリングファブリック201内のスイッチ210と、当該スイッチが当該データパケットを出力する際に通過すべきと決定されたスイッチ210と関連付けられた対応のネットワークインターフェイス211とを決定するように構成される。データパケットプロセッサ220は次に、決定されたスイッチおよび対応のネットワークインターフェイスのインディケーションをデータパケットのヘッダ内に追加し、インディケーションが追加されたデータパケットを決定されたスイッチにフォワードする。いくつかの実現例では、データパケットプロセッサ220は、インディケーションをMPLSまたは同様のプロトコルラベルとして追加する。いくつかの実現例では、データパケットプロセッサ220は、スイッチおよびネットワークインターフェイスを識別するGREヘッダ(またはVLANヘッダなどの他の何らかのカプセル化ヘッダ)でパケットをカプセル化することによってインディケーションを追加する。いくつかの実現例では、データパケットプロセッサ220は、多数のラベルまたは多数のカプセル化層を追加して、データパケットをデータパケットプロセッサ220からピアリングファブリック内の所望のスイッチにフォワードするための具体的なルーティング命令を提供してもよい。データパケットプロセッサ220からデータパケットを受信すると、識別されたスイッチは、たとえば、カプセル化情報を除去することによって、またはMPLSラベルをポップすることによって、データパケットからインディケーションを除去し、インディケーションによって参照されているネットワークインターフェイス211を介してデータパケットを送信する。
ルーティングに加えて、1つ以上のデータパケットプロセッサ220は、データパケットフィルタリング、データパケット分類、および/または他のパケット単位機能などのデータパケット処理を行うように構成される。
1つ以上のバックボーンルータ240は、データパケットをバックボーンシステム250に、かつバックボーンシステム250からルーティングおよびフォワードするように構成される。バックボーンルータ240は、1つ以上のデータパケットプロセッサ220およびバックボーンシステム250に結合される。
バックボーンシステム250は、1つ以上のコンテンツサーバ(図2には図示せず)を含む。コンテンツサーバは、コンテンツを記憶し、エンドユーザから受信したコンテンツ要求を取扱うように構成される。バックボーンルータ240を介して受信したコンテンツ要求に応答して、コンテンツサーバは要求されたコンテンツで返答する。要求されたコンテンツは、1つ以上のバックボーンルータ240を介して1つ以上のデータパケットプロセッサ220に送信され、ピアリングファブリック201を介して元の要求者にルーティングおよびフォワードされる。
図2に示されるアーキテクチャによると、通常はエッジルータ110が果たす機能が、ルーティング制御システム260、1つ以上のデータパケットプロセッサ220、およびピアリングファブリック201に分散されている。
図3は、コンテンツ配信ネットワーク300の例示的なより詳細なアーキテクチャを示す。コンテンツ配信ネットワーク300は、ピアリングファブリック301、ファブリックコントローラ314、BGPスピーカ318、1つ以上のデータパケットプロセッサ325を含むフロントエンドデバイス320、グローバルおよびローカルコントローラ365および367、パケットプロセッサ/ロードバランシングコントローラ366、アグリゲーションファブリック330、1つ以上のバックボーンルータ340、ならびにバックボーンシステム350を含む。図2に示されるアーキテクチャと同様に、図3に示されるアーキテクチャも、CDN以外の他の自律ネットワークとともに容易に使用可能である。
ピアリングファブリック301は、ネットワーク300のエッジに複数のスイッチ310を含む。各スイッチ310は多数のネットワークインターフェイス311を含む。各スイッチ310は、データパケットを、コンテンツ配信ネットワーク300のイングレスデバイスから、それらのデータパケットのヘッダ内に特定されているネットワークインターフェイス311を介してピアネットワークにフォワードするように構成される。データパケットヘッダは、データパケットをフォワードする際にどのネットワークインターフェイス311を通過すべきかの識別子を既に含んでいるため、スイッチ310はデータパケットに関してルーティング決定をまったく下す必要がなく、またはデータパケットが流れることが意図されているのがどのピアネットワークであるのかを知ることすら必要でない。さらに、各スイッチ310は、外部デバイスまたは他のネットワークから受信したデータパケットを、たとえば、コンテンツ配信ネットワーク300のフロントエンドデバイス320、バックボーンルータ340などの対応のイングレスデバイスにフォワードするように構成される。ピアリングファブリック301内のスイッチ310は、互いに、かつ、アグリゲーションファブリック330を介してネットワーク300の残りのコンポーネントに接続されてもよく、アグリゲーションファブリック330は次に、パケットをピアリングファブリック301内のスイッチ310に、かつスイッチ310からルーティングするのを容易にするためのスイッチの階層を含んでもよい。
別のネットワークまたはコンテンツ配信ネットワーク300の外部のデバイスにアドレス指定されたデータパケットを受信すると、スイッチ310は、発信データパケットのヘッダから、発信データパケットを送信する際に通過すべきネットワークインターフェイス311のインディケーションを取得する。特に、スイッチは発信データパケットのヘッダをパースしてインディケーションを取出す。ヘッダから取出されたインディケーションによって参照されているネットワークインターフェイス311は、所与のネットワークまたはコンテンツ配信ネットワーク300の外部のデバイスにアドレス指定されている発信データパケットを送信するように指定される。つまり、各ネットワークインターフェイス311は所与の外部デバイスまたは他のネットワークに対応する。いくつかの実現例では、2つ以上のネットワークインターフェイス311がトランクされて、データトラフィックを同じ外部デバイスまたは他のネットワークに導いてもよい。いくつかの実現例では、データパケットを受信するスイッチ310は、データパケットを送信する前に、データパケットから、スイッチ310および対応のネットワークインターフェイス311を示す、たとえば1つ以上の追加されたヘッダまたはMPSラベルなどの情報を除去するように構成される。したがって、スイッチ310は、発信データパケットをその対応の宛先に向けてフォワードするためのルーティングルールまたはルーティング情報があったとしても、多くのそのようなルールまたは情報でプログラムされる必要がない。結果として、ピアリングファブリック301またはいずれかの対応のスイッチ310によって搬送されるルーティングステートは実質的に最小化される。対照的に、当業者は、従来のルータ110では、大きなインターネット規模のルーティングテーブルを搬送することは、ルータコストおよびそれらの限定されたスケーラビリティの一因となる主要な要因の1つであることを認識するであろう。
ピアリングファブリック301、またはいずれかの対応のスイッチ310は、搬送するルーティングステートがほとんどないか、または全くない。したがって、ピアリングファブリック301は、たとえば、単純なコモディティスイッチング/ルーティングチップを用いて実現される。単純なコモディティスイッチング/ルーティングチップを採用することによって、ピアリングファブリック301の容易で非常に費用対効果の高いスケーラビリティが可能になる。いくつかの実現例では、ピアリングファブリック301内のスイッチ310は、他のネットワークまたはコンテンツ配信ネットワーク300の外部のデバイスと通信している標準のイーサネット(登録商標)、同期光ネットワーク(SONET)、および/または同期デジタル階層(SDH)インターフェイスをサポートする。
ファブリックコントローラ314はピアリングファブリック301に結合される。いくつかの実現例では、ファブリックコントローラ314は、ピアリングファブリック301を構成するスイッチのためのソフトウェア定義ネットワーク(SDN)コントローラとして機能する。したがって、ファブリックコントローラ314は、たとえば、ファブリックコントローラ314上で実行されるSDNソフトウェアを介してピアリングファブリック301を制御するように構成される。ファブリックコントローラ314はグローバルコントローラ365にも結合される。ファブリックコントローラ314は、ピアリングファブリック301を制御することまたはプログラムすることに関連する情報および/または命令をグローバルコントローラから受信するように構成される。ファブリックコントローラ314はさらに、ピアリングファブリック301を構成するスイッチ310からステータス情報を受信するように構成される。ファブリックコントローラ314は次に、必要であればルートを更新できるように、そのようなステータス情報(スイッチもしくはスイッチのネットワークインターフェイスの故障を示す情報など)をローカルコントローラ366および/またはグローバルコントローラ367に渡すことができる。いくつかの実現例では、ファブリックコントローラ314はアグリゲーションファブリック330にも結合され、その内部のスイッチのSDNコントローラとして機能し得る。
BGPスピーカ318はピアリングファブリック301に結合され、ピアネットワークおよび他の外部デバイスとBGPセッションを確立するように構成される。BGPスピーカ318はさらに、たとえば、他のネットワークまたは外部デバイスと確立したセッションに基づいて、インターネットルーティングテーブルを構築するように構成される。BGPスピーカ314は、グローバルコントローラ365およびローカルコントローラ366に結合される。BGPスピーカ314は、利用可能なインターネットルートに関する情報を、ピアリングファブリック301のスイッチ310を介してグローバルコントローラ365および/またはローカルコントローラ367に提供する。少なくとも1つの例示的な実現例によると、BGPスピーカ314はエッジサーバまたはエッジネットワーク要素内に常駐している。
ルーティングコントローラ、すなわちグローバル/ローカルコントローラ365および367は、ネットワークルーティングアプリケーションおよびエッジリソース同士を協調させ、かつこれらを制御して、エンドツーエンド接続性を達成するように構成される。特に、グローバルおよび/またはローカルコントローラ365および367は、たとえばルーティングテーブルなどの利用可能なインターネットルートに関する情報をBGPスピーカ318から、かつ、内部ルート情報をファブリックコントローラ314から、または直接的にピアリングファブリック301内のスイッチ、アグリゲーションファブリック330およびバックボーンルータ340から収集する。いくつかの実現例では、内部ルート情報は、内部ルート上でサポートされる1組のサービスクラス、当該ルート上のトラフィックの(総計の、もしくはサポートされるトラフィッククラス単位の)量、またはルートの品質についての情報(たとえば帯域幅、レイテンシ等)を含んでもよい。いくつかの実現例では、グローバルコントローラ365は、そのような情報を、異なるサブネットワーク内に位置する、たとえば、異なる地理的/メトロポリタンエリアと関連付けられたBGPスピーカ、またはコンテンツ配信ネットワーク300の他の別個に管理されるエッジデバイス群から収集する。ローカルコントローラ367は、ローカルコントローラ367と同じサブネットワーク内に位置するローカルBGPスピーカ314からルーティング情報を収集するのみであってもよい。グローバル/ローカルコントローラ365および367はさらに、利用可能なルートを示す情報をフロントエンドデバイス320にプッシュするように構成される。たとえば、グローバルおよび/またはローカルコントローラ365および367は、完全なフォワーディング情報ベース(FIB)をフロントエンドデバイス320において維持するのに十分なルーティング情報をフロントエンドデバイス320に提供する。
いくつかの実現例では、グローバルコントローラ365は、ネットワーク300と関連付けられたエッジネットワークのいずれかの内部もしくはいずれかのピアネットワークの内部の内部動作またはルートに関する限られた知識で、インターネットのグローバルビューを維持するように構成される。そのために、グローバルコントローラは、たとえば、コンテンツ配信ネットワークの異なるサブネットワークに位置するBGPスピーカによって認識される、利用可能なインターネットルートを追跡するように構成される。グローバルコントローラはさらに、たとえば利用可能なインターネットルートのルールおよび/または更新などの情報を、直接的にまたはローカルコントローラ367を介してフロントエンドデバイス320にプッシュするように構成される。たとえば、グローバルコントローラ365は、対応する維持されたFIBを調整するためのフロントエンドデバイス320にルールまたは情報を送信することによって、インターネットリンクがダウンしたことに反応する。グローバルコントローラ365は、内部ルート、すなわち特定のサブネットワーク内の内部デバイス間のルート、および/またはその変更を認識していない場合がある。
グローバルコントローラ365によって収集されたルーティング情報は、利用可能な外部ネットワークルートを示す情報、外部ネットワークまたはサブネットワークのステータス、外部ネットワークルートまたはリンクと関連付けられたレイテンシ情報、輻輳情報などを含む。したがって、それは、最少数のホップに基づいてルートを選択するBGPルーティングにおいて典型的に用いられるよりも多い情報に基づいてルートを決定することが可能である。代わりに、グローバルコントローラは、最少数のホップを有し得ないが、低レイテンシ、高帯域幅、高信頼度を有し得るか、または他のネットワークが守り得ないサービスインジケータの品質を守るパスに沿ってパケットをルーティングすることができる。グローバルコントローラ365はさらに、他の制御アプリケーションまたはシステムから、たとえば、DoS緩和情報、構成情報、または他の制御情報などの制御情報を受信するように構成される。グローバルコントローラはこの情報を処理して、データパケットプロセッサ325によって適用されるパケット処理およびフィルタリングルールをリアルタイムまたはほぼリアルタイムで更新することができる。グローバルコントローラ365はさらに、受信した制御情報の少なくとも一部をローカルコントローラ367にフォワードするように構成される。
ローカルコントローラ367は、当該コントローラが常駐しているサブネットワークのローカルビューを維持するように構成される。特に、ローカルコントローラ367は、内部ルートおよびローカルネットワークパフォーマンスを追跡するように構成される。ローカルコントローラ367はさらに、ローカルBGPスピーカ318から学習した、利用可能なインターネットルートを追跡する。内部ルート、またはローカルBGPスピーカ318から学習したインターネットルートの変更に応答して、ローカルコントローラ367はルールまたはルーティング情報更新をフロントエンドデバイス320にプッシュして、対応のFIBを更新する。
ピアリングエッジのファイブ・ナインの可用性をサポートするために、ルーティングコントローラ365および367は、任意の個別のコンポーネント故障、ハードウェアまたはソフトウェアを、制御されたフェイルオーバーメカニズムで許容するように設計される。特に、ルーティングコントローラ365および367は、たとえば、コントローラが割当てられたポートからルートが撤回された場合、またはリンクがダウンした場合など、コントローラが割当てられたルートが古い場合にメトロ−ローカルシナプス応答を提供するように構成される。そのような場合、ルーティングコントローラ365および/または367はルート可用性を学習し、フロントエンドデバイス320が代替のルートにフォールバックすることを可能にするルールまたは利用可能なルートの更新をフロントエンドデバイス320にプッシュする。つまり、ルーティングコントローラ365および/または367は、利用可能なルートの変更に反応し、適切な更新をフロントエンドデバイス320に提供するように構成される。さらに、図3のアーキテクチャ内のルーティング制御階層によって、コンテンツ配信ネットワーク300が高い可用性レベルを提供することができる。すなわち、利用可能な外部ネットワークルートの決定をルーティングコントローラ365および367に割当てること、発信データパケットをデータパケットプロセッサ325にルーティングすること、ならびに発信データパケットをピアリングファブリック301に送信することによって、コンテンツ配信ネットワーク300および外部ネットワークまたはサブネットワークの変更に対する迅速なルーティング適合が可能になる。
フロントエンドデバイス320は、1つ以上のデータパケットプロセッサ325を含む。データパケットプロセッサ325は、ルーティングおよび他のデータパケット処理動作を行うように構成される。いくつかの実現例では、データパケットプロセッサ325は完全なFIB326を維持するように構成される。少なくとも1つの実現例によると、FIB326はデータパケットプロセッサのキャッシュメモリに、たとえばレベル2(L2)キャッシュに記憶される。代替的に、FIB326は、フロントエンドデバイス320内のオフプロセッサメモリに、たとえばダイナミックランダムアクセスメモリ(DRAM)に記憶される。いくつかの実現例では、FIBの一部がキャッシュメモリに記憶され、一部がRAMに記憶される。データパケットプロセッサ325は、利用可能なルートおよび/または外部ネットワークデバイス/要素のステータスの変更を学習するとFIB326を動的に更新するように構成される。特に、データパケットプロセッサ325は、ローカルコントローラ367および/またはグローバルコントローラ365から、ルーティングルールおよび/またはFIB326の更新を示す情報を受信する。それに応答して、データパケットプロセッサ325は、受信した情報に基づいてFIB326を更新する。
データパケットプロセッサ325はさらに、発信データパケットをルーティングするように構成される。特に、データパケットプロセッサ325は、FIBに基づいて、受信した発信データパケットのルートおよび/または外部の次のホップを決定する。データパケットプロセッサ325は、発信データパケットを対応の外部の次のホップに送信するための、ピアリングファブリック301内のスイッチ310および/または対応のネットワークインターフェイス311を決定する。データパケットプロセッサ325は、決定されたスイッチ310および対応のネットワークインターフェイス311のインディケーションをデータパケットのヘッダ内に追加する。いくつかの実現例では、データパケットプロセッサ325は、インディケーションをMPLSラベルとして追加する。いくつかの実現例では、データパケットプロセッサ325は、スイッチおよびネットワークインターフェイスを識別するGREヘッダでパケットをカプセル化することによってインディケーションを追加する。いくつかの実現例では、データパケットプロセッサ325は多数のMPLSラベルまたは多数のGREカプセル化層を追加して、データパケットをデータパケットプロセッサ325からピアリングファブリック内の所望のスイッチにフォワードするための具体的なルーティング命令を提供してもよい。いくつかの他の実現例では、データパケットプロセッサ325は、MPLSラベル以外のラベルをパケットヘッダに追加してもよいし、または、たとえばVLANカプセル化などのGREカプセル化以外の他の形態のカプセル化を用いてパケットをカプセル化してもよい。データパケットプロセッサ325は次に、たとえばアグリゲーションファブリック330を介して、修正された発信データパケットを決定されたスイッチにフォワードする。
発信データパケットをルーティングすることに加えて、データパケットプロセッサはさらに、データパケットフィルタリングを着信データパケットに対して行うように構成される。たとえば、データパケットプロセッサ325は、ACLフィルタリングを着信データパケットに適用する。加えて、データパケットプロセッサ325は汎用プロセッサ上で実現可能であるため、データパケットプロセッサ325は、典型的なルータ内に典型的にプログラム可能なルールよりも複雑なフィルタリングルールでプログラム可能である。加えて、そのようなルールは、ネットワークに対する新たな脅威が発見されるとリアルタイムまたはほぼリアルタイムで容易に更新可能である。例示的な実現例によると、データパケットプロセッサ325は、動的なサービス妨害(denial of service:DoS)フィルタリングを着信データパケットに適用する。図3のネットワークアーキテクチャによって、DoS保護ルールを、グローバルコントローラ365および/または他の制御アプリケーションなどのインテリジェント集中サービスを介して動的に挿入することができる。例示的な実現例によると、データパケットプロセッサ325は、たとえばOpenFlowなどのソフトウェア定義ネットワーク(SDN)インターフェイスを介して、たとえばローカルコントローラ367またはコントローラ366などのコントローラに結合されて、パケット一致ルールをすべての着信フローに対して動的に挿入することを可能にする。
他の実現例によると、データパケットプロセッサ325はデータフローレートを制御するように構成される。たとえば、データパケットプロセッサ325は、定義済のデータレートをフロー単位で実施する。データパケットプロセッサ325はさらに、ピアリングファブリック301におけるバッファオーバーフローを回避するためにデータパケット送信のペースを調整し得る。たとえば、FIFOキューが同じエグレスポートへの64個の連続データパケットを含み得る場合であっても、パケットプロセッサは他の宛先へのデータパケットの送信をインターリーブすることを選択して、単一のフローのバーストがピアリングファブリック301内の限られたバッファをオーバーフローさせないことを確実にし得る。当業者は、他のパケット単位の処理タスクがデータパケットプロセッサ325によって行われ得ることを認識するであろう。
例示的な実現例によると、データパケットプロセッサ325はシングルコアまたはマルチコア汎用プロセッサを利用する。いくつかの実現例では、データパケットプロセッサ325は、並列動作するいくつかのシングルコアまたはマルチコア汎用プロセッサを採用してもよい。データパケットプロセッサ325はさらに、1つ以上のマルチコアプロセッサ内でルーティングおよび/またはデータパケット処理タスクを行う専用のコアプロセッサを利用してもよい。
フロントエンドデバイス320は、フロントエンドサーバまたは別のフロントエンドネットワーク要素を含む。たとえば、フロントエンドデバイス320は、マルチコアプロセッサの1つのコアが、10ギガビット/秒(Gb/s)で、たとえば1500万(M)データパケット/秒で単純なラインレートデータパケット処理を行う現代のマルチコアプロセッサの能力に依拠するフロントエンドサーバであってもよい。したがって、図3のネットワークアーキテクチャによって、フィルタをピアリングファブリックにおいてプログラムすることによって、またはデータパケットをパケットプロセッサ自体においてフィルタリングすることによって、ラインレートDOS攻撃を吸収すること、およびそのような攻撃を緩和することができる。少なくとも1つの例示的な実現例によると、TCP SYN攻撃を含む、伝送制御プロトコル(TCP)レベル以下にあるすべての攻撃は、フロントエンドデバイス320のカーネル上で実行されるデータパケット処理層で取扱われる。例示的な実現例によると、フロントエンドデバイス320はロードバランシングモジュール327を含む。代替的に、ロードバランシングは、データパケットプロセッサ325が常駐しているフロントエンドデバイス320以外の別のデバイスまたはネットワーク要素によって行われる。
図3のネットワークアーキテクチャによって、さらに、「クリーンな」非DoSトラフィックのみのためのデータパケット処理層を越えてコンテンツ配信ネットワーク300をプロビジョニングすることができる。当該アーキテクチャによって、さらに、すべてのメトロポリタンエリアまたはサブネットワークにおいて、物理的に多様な冗長なポイント・オブ・プレゼンス(point of presence:POP)に収容されたデータパケットプロセッサ325の1+1冗長プールが可能になる。
コントローラ366は、データパケットプロセッサ325および/またはロードバランシングモジュール327を制御するように構成される。
アグリゲーションファブリック330は、フロントエンドデバイス320および/またはデータパケットプロセッサ325をピアリングファブリック301に結合する1組のルータおよび/またはスイッチを含む。バックボーンルータ340は、バックボーンシステム350をピアリングファブリック301および/またはデータパケットプロセッサ325に結合するように構成される。バックボーンシステム350は、要求しているエンドユーザにコンテンツを提供する1つ以上のコンテンツサーバを含む。
図4は、例示的な階層化データパケットおよびコンテンツ要求処理モデルを示すブロック図である。図3に関連して説明したネットワークアーキテクチャによって、ファイングレインの階層化データパケットおよび要求処理と、層を論理的かつ物理的に動的に移動させることとが可能になる。データパケット処理の層は、ハイパーテキスト転送プロトコル(HTTP)サービング410、ステートフル層4(L4)ロードバランシング420、伝送制御プロトコル(TCP)クッキー処理430、データパケットフィルタリング440、ステートレスL4ロードバランシング450、層3(L3)フォワーディング460、およびL3スタティックフィルタリング470を含む。データパケット処理の層410〜470は、動作の順序の観点で、かつネットワーク300のエッジに維持する望ましさの観点で順序付けられている。例示的な実現例によると、3つの下層450〜470は永続的にピアリングファブリック301内に存在している。上層410〜440はデータパケット処理および要求取扱いアプリケーション内に存在している。ネットワークのエッジにできる限り多くの層を維持することが有益であり得ると仮定して、最低の優先度の層、たとえば410〜440がまずデータパケットプロセッサ325に割当てられ、より優先度が高い層、たとえば450〜470がネットワークのエッジのより近くで、すなわちピアリングファブリック301において実行される。
図5は、自律ネットワーク内でルーティング情報を管理および採用する方法500を示すフローチャートである。ルーティングコントローラ365および/または367は、たとえばBGPスピーカ318から、外部ネットワークルートに関する情報を収集する(ステップ510)。ルーティングコントローラ365および/または367は、収集された情報に基づいて、データパケットをルーティングするためのルートを決定する(ステップ520)。ルーティングコントローラ365および/または367は、ルールおよび/またはルートの情報をデータパケットプロセッサ325にプッシュする(ステップ530)。データパケットプロセッサ325は、ルーティングコントローラ365および/または367から受信したルールおよび/またはルートの情報に基づいて、維持されたFIBを更新する(ステップ540)。処理510〜540は、データパケットが交換される異なるネットワークのステータスおよびトポロジの変更に対する動的な適合性を可能にすることを反復する。データパケットプロセッサ325は、維持されたFIBに基づいて発信データパケットをルーティングする(ステップ550)。
図6は、発信データパケットを処理するための方法600を示すフローチャートである。データパケットプロセッサ325は発信データパケットを取得する(ステップ610)。発信データパケットを取得すると、データパケットプロセッサ325は、発信データパケットをフォワードすべき外部の次のホップを識別する(ステップ620)。外部ホップを識別することは、たとえば、受信した発信データパケット内に示されている最終宛先に基づいて、発信データパケットのルートを識別することを含む。データパケットプロセッサ325は、記憶されたFIBに基づいてルートを識別する。データパケットプロセッサ325は次に、発信データパケットを外部の次のホップにフォワードするために、ピアリングファブリック301内のスイッチ310と関連付けられたネットワークインターフェイス311を決定する(ステップ630)。例示的な実現例によると、ネットワークインターフェイス311を決定することは、対応のスイッチ310を決定することを含む。
データパケットプロセッサ325は、決定されたネットワークインターフェイス311のインディケーションを、発信データパケットのヘッダ内に追加する(ステップ640)。当該インディケーションはさらに、識別されたネットワークインターフェイス311に対応するスイッチ310を示し得る。データパケットプロセッサ325は次に、修正されたデータパケットを、識別されたネットワークインターフェイス311を有するスイッチ310にフォワードする(ステップ650)。発信データパケットを受信すると、スイッチ310はデータパケットヘッダをパースして、発信データパケットを送信する際に通過すべきネットワークインターフェイス311を決定する(ステップ660)。スイッチは次に、データパケットプロセッサ325によって追加されたインディケーションを除去し、発信データパケットを決定されたネットワークインターフェイス311を介して送信する(ステップ670)。例示的な実現例によると、スイッチ310によってインディケーションを除去することは、1つ以上のヘッダを除去すること、またはデータパケットプロセッサ325によって追加された1つ以上のMPLSラベルをホップすることを含む。
図7は、着信データパケットを処理する方法700を示すフローチャートである。ピアリングファブリック301内のスイッチ310は、外部デバイスから着信データパケットを受信する(ステップ710)。スイッチは、受信した着信データパケットを、たとえばアグリゲーションファブリック330を介して、データパケットプロセッサ325にフォワードする(ステップ720)。データパケットプロセッサ325は、フィルタリングおよび/またはデータパケット分類を着信データパケットに適用する(ステップ730)。データパケットプロセッサ325は次に、着信データパケットと関連付けられた要求を取扱うためのホストデバイス(コンテンツサーバまたは他のアプリケーションサーバなど)を決定する(ステップ740)。データパケットプロセッサ325は、着信データパケットを、対応する要求を取扱うための決定されたホストデバイスにフォワードする(ステップ750)。
図3のネットワークアーキテクチャは、データプレーン機能を制御プレーン機能から分離する。データパケットプロセッサ325を用いてルーティングおよびデータパケット処理を行うことによって、データプレーンおよび制御プレーンタスクの柔軟性および最適化された実現が可能になる。異なる種類のプロセッサがデータパケットプロセッサとして採用され得るが、図2および図3に関連して説明したアーキテクチャでは、汎用プロセッサをデータパケットプロセッサとして使用することができ、特殊な特定用途向け集積回路(ASIC)またはネットワーク処理装置(NPU)の使用が不要である。また、データパケットプロセッサ325内では、たとえば比較的安価で、豊富で、大容量のL2キャッシュなどのキャッシュメモリが、同様の情報を記憶するためにより高度なルータでしばしば用いられる多くの小容量の、高価で、エネルギを消費するメモリの代わりに、FIBを記憶するために用いられ得る。
さらに、図2および図3に関連して説明したアーキテクチャは、ネットワークトポロジおよびステータスの変更に対する高速で動的な適合性を可能にし、したがって、高い可用性を提供するのに適している。図2および図3に関連して説明したようなデータパケットプロセッサを使用することによって、データプレーンにおいて大規模なサイバーアタックに対処することができる。実際、データパケットプロセッサ325は、ディープデータパケットインスペクションおよびパーシングならびにステートフル処理に対処することが可能であり、したがって、広範なセキュリティ脅威に対処することができる。
図8は、コンピュータデバイス800のブロック図である。コンピュータデバイスは、中央処理装置(CPU)815およびキャッシュメモリ816を有するプロセッサ810を含む。CPU815はさらに別のキャッシュメモリを含んでもよい。コンピュータデバイス800はさらに、データバスを介してプロセッサ810に結合されるメモリ820を含む。CPU815によって実行されるコンピュータコード命令がメモリ810および/またはキャッシュメモリ816に記憶されてもよい。そのようなコンピュータコード命令は、たとえば、データパケットプロセッサ325によって実行される処理に対応する。別の例によると、コンピュータコード命令は、グローバルコントローラ365および/またはローカルコントローラ367によって実行される処理に対応する。コンピュータデバイス800はさらに、プロセッサ810に結合されて他のデバイスと通信するように構成される入力/出力(I/O)インターフェイス830を含む。当業者は、プロセッサ810はシングルコアプロセッサでもマルチコアプロセッサでもよいことを認識するであろう。例示的な実現例によると、コンピュータデバイス800はフロントエンドデバイス320を表わす。コンピュータデバイス800は、付加的に、または代替的に、グローバルコントローラ365、ローカルコントローラ367、またはネットワーク300の他のデバイスを表わし得る。
本明細書に説明した主題および動作の実現例は、デジタル電子回路において、または本明細書に開示された構造およびそれらの構造的均等物を含む、コンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、またはそれらの1つ以上の組合せにおいて実現可能である。本明細書に説明した主題の実現例は、1つ以上のコンピュータプログラムとして、すなわち、1つ以上のコンピュータ記憶媒体上で符号化され、データ処理装置によって実行される、またはデータ処理装置の動作を制御する、コンピュータプログラム命令の1つ以上のモジュールとして、実現可能である。代替的にまたは付加的に、プログラム命令は、情報を符号化するように生成される、たとえば機械生成の電気、光学、または電磁信号などの、人工的に生成された伝搬信号上で符号化されて、好適な受信器装置に送信されてデータ処理装置によって実行されてもよい。コンピュータ記憶媒体は、コンピュータ読取可能な記憶装置、コンピュータ読取可能な記憶基板、ランダムもしくはシリアルアクセスメモリアレイもしくはデバイス、またはそれらの1つ以上の組合せであってもよいし、またはそれらに含まれていてもよい。さらに、コンピュータ記憶媒体は伝搬信号ではないが、コンピュータ記憶媒体は、人工的に生成された伝搬信号内で符号化されるコンピュータプログラム命令のソースまたは宛先であってもよい。コンピュータ記憶媒体はさらに、1つ以上の別個のコンポーネントまたは媒体(たとえば多数のCD、ディスク、もしくは他の記憶装置)であってもよいし、またはそれらに含まれていてもよい。したがって、コンピュータ記憶媒体は有形かつ非一時的であってもよい。
本明細書に説明した動作は、1つ以上のコンピュータ読取可能な記憶装置上に記憶される、または他のソースから受信されるデータに対して、データ処理装置によって実行される動作として実現可能である。
「コンピュータ」または「プロセッサ」という用語は、例として、プログラマブルプロセッサ、コンピュータ、チップ上のシステム、または上記の多数のもの、もしくは組合せを含む、データを処理するためのあらゆる種類の装置、デバイス、および機械を含む。装置は、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの特殊用途論理回路を含んでもよい。装置はさらに、ハードウェアに加えて、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、またはそれらの1つ以上の組合せを構成するコードなどの、問題となっているコンピュータプログラムのための実行環境を生成するコードを含んでもよい。装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッドコンピューティングインフラストラクチャなどの、さまざまな異なるコンピューティングモデルインフラストラクチャを実現可能である。

Claims (25)

  1. 自律ネットワークであって、
    複数のスイッチを備え、各スイッチは、複数のネットワークインターフェイスを含むとともに、
    前記ネットワークの外部にあるデバイスにアドレス指定されたデータパケットを受信し、
    当該受信した発信データパケットのヘッダから、当該発信データパケットを送信する際に通過すべきネットワークインターフェイスを示すデータを取得し、
    前記発信データパケットを、前記ヘッダから取得された前記データ内に示されている前記ネットワークインターフェイスを介して送信するように構成され、前記自律ネットワークはさらに、
    前記複数のスイッチから離れて配置されたデータパケットプロセッサを備え、前記データパケットプロセッサは、発信パケットに対して、
    前記発信データパケットを前記ネットワーク外に送信するための前記複数のスイッチのうちの1つを識別し、かつ、識別された前記スイッチが前記発信データパケットを送信する際に通過すべき識別された前記スイッチのネットワークインターフェイスを識別し、
    識別された前記スイッチおよび識別された前記ネットワークインターフェイスのインディケーションを前記発信データパケットのヘッダに追加し、
    前記発信データパケットを識別された前記スイッチにフォワードするように構成され、前記自律ネットワークはさらに、
    コントローラを備え、前記コントローラは、
    データパケットをルーティングするためのルーティングパスを決定し、
    発信データパケットを送信するためのスイッチおよびスイッチのネットワークインターフェイスを前記データパケットプロセッサが識別するのに十分な、決定された前記ルーティングパスと関連付けられたルーティング情報を、前記データパケットプロセッサに提供するように構成される、自律ネットワーク。
  2. 前記ルーティングパスを決定する際、前記コントローラはさらに、
    前記ネットワークのネットワーク要素から情報を収集し、
    収集された前記情報に基づいて前記ルーティングパスを決定するように構成される、請求項1に記載の自律ネットワーク。
  3. 前記情報を収集する際、前記コントローラはさらに、ボーダーゲートウェイプロトコル(BGP)モジュールからインターネットルーティングパスに関する情報を収集するように構成される、請求項2に記載の自律ネットワーク。
  4. 前記情報を収集する際、前記コントローラはさらに、前記自律ネットワークのバックボーンネットワーク要素から内部ルーティングパスに関する情報を収集するように構成される、請求項2に記載の自律ネットワーク。
  5. 前記内部ルーティングパスに関する情報は、前記パス全体にわたるトラフィックの量、前記パス全体にわたってサポートされるサービスクラス、および前記パスの品質についての情報の少なくとも1つを含む、請求項4に記載の自律ネットワーク。
  6. 識別された前記スイッチおよび識別された前記ネットワークインターフェイスのインディケーションを追加する際、前記データパケットプロセッサはさらに、前記データパケットを総称ルーティングカプセル化(GRE)ヘッダでカプセル化するように、またはマルチプロトコルラベルスイッチング(MPLS)ラベルを前記データパケットの前記ヘッダに追加するように構成される、請求項1に記載の自律ネットワーク。
  7. 前記データパケットプロセッサはさらに、前記ネットワークの外部で生じるデータパケットをフィルタリングするように構成される、請求項1に記載の自律ネットワーク。
  8. フィルタリングは、アクセスコントロールリスト(ACL)フィルタリングおよび動的なサービス妨害(DoS)フィルタリングの少なくとも一方を含む、請求項7に記載の自律ネットワーク。
  9. 前記データパケットプロセッサはさらに、前記ネットワークの外部にあるデバイスから同期(SYN)データパケットを受信したことに応答して、セキュアなSYN確認を、前記SYNデータパケットを生じさせるデバイスに送信するために生成するように構成される、請求項1に記載の自律ネットワーク。
  10. 前記発信データパケットを送信する際、前記複数のスイッチのうちの1つのスイッチは、
    識別された前記スイッチおよび識別された前記ネットワークインターフェイスの前記インディケーションを除去し、
    前記インディケーションが除去された前記データパケットを、前記ヘッダから取得された前記データ内に示されている前記ネットワークインターフェイスを介して送信するように構成される、請求項1に記載の自律ネットワーク。
  11. 前記データパケットプロセッサは汎用プロセッサである、請求項1に記載の自律ネットワーク。
  12. 前記データパケットプロセッサは、キャッシュメモリを含み、さらに、前記コントローラから受信した前記ルーティング情報を前記キャッシュメモリに記憶するように構成される、請求項1に記載の自律ネットワーク。
  13. 自律ネットワーク内でデータパケットを取扱うための方法であって、
    複数のスイッチのうちの1つのスイッチによって、前記ネットワークの外部にあるデバイスにアドレス指定されたデータパケットを受信することを備え、前記複数のスイッチの各スイッチは複数のネットワークインターフェイスを含み、前記方法はさらに、
    前記スイッチによって、当該受信した発信データパケットのヘッダから、当該発信データパケットを送信する際に通過すべきネットワークインターフェイスを示すデータを取得することと、
    前記スイッチによって、前記発信データパケットを、前記ヘッダから取得された前記データ内に示されている前記ネットワークインターフェイスを介して送信することと、
    前記複数のスイッチから離れて配置されたデータパケットプロセッサによって、前記発信データパケットを前記ネットワーク外に送信するための前記複数のスイッチのうちの1つを識別し、かつ、識別された前記スイッチが前記発信データパケットを送信する際に通過すべき識別された前記スイッチのネットワークインターフェイスを識別することと、
    前記データパケットプロセッサによって、識別された前記スイッチおよび識別された前記ネットワークインターフェイスのインディケーションを前記発信データパケットのヘッダに追加することと、
    前記データパケットプロセッサによって、前記発信データパケットを識別された前記スイッチにフォワードすることと、
    コントローラによって、データパケットをルーティングするためのルーティングパスを決定することと、
    発信データパケットを送信するためのスイッチおよびスイッチのネットワークインターフェイスを前記データパケットプロセッサが識別するのに十分な、決定された前記ルーティングパスと関連付けられたルーティング情報を、前記コントローラによって前記データパケットプロセッサに提供することとを備える、方法。
  14. 前記ルーティングパスを決定することは、
    前記ネットワークのネットワーク要素から情報を収集することと、
    収集された前記情報に基づいて前記ルーティングパスを決定することとを含む、請求項13に記載の方法。
  15. 前記情報を収集することは、ボーダーゲートウェイプロトコル(BGP)モジュールからインターネットルーティングパスに関する情報を収集することを含む、請求項14に記載の方法。
  16. 前記情報を収集することは、前記ネットワークのバックボーンネットワーク要素から内部ルーティングパスに関する情報を収集することを含む、請求項14に記載の方法。
  17. 前記内部ルーティングパスに関する情報は、前記パス全体にわたるトラフィックの量、前記パス全体にわたってサポートされるサービスクラス、および前記パスの品質についての情報の少なくとも1つを含む、請求項16に記載の方法。
  18. 識別された前記スイッチおよび識別された前記ネットワークインターフェイスのインディケーションを追加することは、前記データパケットを総称ルーティングカプセル化(GRE)ヘッダでカプセル化すること、またはマルチプロトコルラベルスイッチング(MPLS)ラベルを前記データパケットの前記ヘッダに追加することを含む、請求項14に記載の方法。
  19. 前記データパケットプロセッサによって、前記ネットワークの外部で生じるデータパケットをフィルタリングすることをさらに備える、請求項13に記載の方法。
  20. フィルタリングは、アクセスコントロールリスト(ACL)フィルタリングおよび動的なサービス妨害(DoS)フィルタリングの少なくとも一方を含む、請求項19に記載の方法。
  21. 前記ネットワークの外部にあるデバイスから同期(SYN)データパケットを受信したことに応答して、前記データパケットプロセッサによって、セキュアなSYN確認を、前記SYNデータパケットを生じさせるデバイスに送信するために生成することをさらに備える、請求項13に記載の方法。
  22. 前記発信データパケットを前記ネットワークインターフェイスを介して送信することは、
    識別された前記スイッチおよび識別された前記ネットワークインターフェイスの前記インディケーションを除去することと、
    前記インディケーションが除去された前記データパケットを、前記ヘッダから取得された前記データ内に示されている前記ネットワークインターフェイスを介して送信することとを含む、請求項13に記載の方法。
  23. 前記データパケットプロセッサは汎用プロセッサである、請求項13に記載の方法。
  24. 前記データパケットプロセッサによって、前記コントローラから受信した前記ルーティング情報を前記データパケットプロセッサのキャッシュメモリに記憶することをさらに備える、請求項13に記載の方法。
  25. コンピュータコード命令を格納しているコンピュータ読取可能媒体であって、前記コンピュータコード命令は、プロセッサによって実行されると、装置に、
    コントローラから受信したルーティング情報に基づいて、発信データパケットをネットワーク外に送信するための複数のスイッチのうちの1つを識別させ、かつ、識別された前記スイッチが前記発信データパケットを送信する際に通過すべき識別された前記スイッチのネットワークインターフェイスを識別させ、
    識別された前記スイッチおよび識別された前記ネットワークインターフェイスのインディケーションを前記発信データパケットのヘッダに追加させ、
    前記発信データパケットを識別された前記スイッチにフォワードさせるように構成される、コンピュータ読取可能媒体。
JP2016558402A 2014-04-01 2015-03-27 フロールーティング、スケーラビリティおよびセキュリティの向上を伴う、自律システム内および自律システム間のトラフィックのソフトウェア定義ルーティングのためのシステムならびに方法 Active JP6527880B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461973650P 2014-04-01 2014-04-01
US61/973,650 2014-04-01
US14/478,217 US9807004B2 (en) 2014-04-01 2014-09-05 System and method for software defined routing of traffic within and between autonomous systems with enhanced flow routing, scalability and security
US14/478,217 2014-09-05
PCT/US2015/023079 WO2015153361A1 (en) 2014-04-01 2015-03-27 System and method for software defined routing of traffic within and between autonomous systems with enhanced flow routing, scalability and security

Publications (2)

Publication Number Publication Date
JP2017510197A true JP2017510197A (ja) 2017-04-06
JP6527880B2 JP6527880B2 (ja) 2019-06-05

Family

ID=52780451

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016558402A Active JP6527880B2 (ja) 2014-04-01 2015-03-27 フロールーティング、スケーラビリティおよびセキュリティの向上を伴う、自律システム内および自律システム間のトラフィックのソフトウェア定義ルーティングのためのシステムならびに方法

Country Status (10)

Country Link
US (1) US9807004B2 (ja)
EP (1) EP2928137B1 (ja)
JP (1) JP6527880B2 (ja)
KR (1) KR101866174B1 (ja)
CN (1) CN105681231B (ja)
DE (1) DE202015009244U1 (ja)
DK (1) DK2928137T3 (ja)
HK (1) HK1216055A1 (ja)
SG (1) SG11201608137TA (ja)
WO (1) WO2015153361A1 (ja)

Families Citing this family (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9716672B2 (en) 2010-05-28 2017-07-25 Brocade Communications Systems, Inc. Distributed configuration management for virtual cluster switching
US9270486B2 (en) 2010-06-07 2016-02-23 Brocade Communications Systems, Inc. Name services for virtual cluster switching
US9769016B2 (en) 2010-06-07 2017-09-19 Brocade Communications Systems, Inc. Advanced link tracking for virtual cluster switching
US8867552B2 (en) 2010-05-03 2014-10-21 Brocade Communications Systems, Inc. Virtual cluster switching
US9628293B2 (en) 2010-06-08 2017-04-18 Brocade Communications Systems, Inc. Network layer multicasting in trill networks
US9806906B2 (en) 2010-06-08 2017-10-31 Brocade Communications Systems, Inc. Flooding packets on a per-virtual-network basis
US9608833B2 (en) 2010-06-08 2017-03-28 Brocade Communications Systems, Inc. Supporting multiple multicast trees in trill networks
US9807031B2 (en) 2010-07-16 2017-10-31 Brocade Communications Systems, Inc. System and method for network configuration
US9736085B2 (en) 2011-08-29 2017-08-15 Brocade Communications Systems, Inc. End-to end lossless Ethernet in Ethernet fabric
US9699117B2 (en) 2011-11-08 2017-07-04 Brocade Communications Systems, Inc. Integrated fibre channel support in an ethernet fabric switch
US9450870B2 (en) 2011-11-10 2016-09-20 Brocade Communications Systems, Inc. System and method for flow management in software-defined networks
US9742693B2 (en) 2012-02-27 2017-08-22 Brocade Communications Systems, Inc. Dynamic service insertion in a fabric switch
US9154416B2 (en) 2012-03-22 2015-10-06 Brocade Communications Systems, Inc. Overlay tunnel in a fabric switch
US10277464B2 (en) 2012-05-22 2019-04-30 Arris Enterprises Llc Client auto-configuration in a multi-switch link aggregation
US9401872B2 (en) 2012-11-16 2016-07-26 Brocade Communications Systems, Inc. Virtual link aggregations across multiple fabric switches
US9413691B2 (en) 2013-01-11 2016-08-09 Brocade Communications Systems, Inc. MAC address synchronization in a fabric switch
US9548926B2 (en) 2013-01-11 2017-01-17 Brocade Communications Systems, Inc. Multicast traffic load balancing over virtual link aggregation
US9565099B2 (en) 2013-03-01 2017-02-07 Brocade Communications Systems, Inc. Spanning tree in fabric switches
US9401818B2 (en) 2013-03-15 2016-07-26 Brocade Communications Systems, Inc. Scalable gateways for a fabric switch
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
US10454714B2 (en) 2013-07-10 2019-10-22 Nicira, Inc. Method and system of overlay flow control
US20150043911A1 (en) * 2013-08-07 2015-02-12 Nec Laboratories America, Inc. Network Depth Limited Network Followed by Compute Load Balancing Procedure for Embedding Cloud Services in Software-Defined Flexible-Grid Optical Transport Networks
US9912612B2 (en) 2013-10-28 2018-03-06 Brocade Communications Systems LLC Extended ethernet fabric switches
US9548873B2 (en) 2014-02-10 2017-01-17 Brocade Communications Systems, Inc. Virtual extensible LAN tunnel keepalives
US10581758B2 (en) 2014-03-19 2020-03-03 Avago Technologies International Sales Pte. Limited Distributed hot standby links for vLAG
US10476698B2 (en) 2014-03-20 2019-11-12 Avago Technologies International Sales Pte. Limited Redundent virtual link aggregation group
US10063473B2 (en) 2014-04-30 2018-08-28 Brocade Communications Systems LLC Method and system for facilitating switch virtualization in a network of interconnected switches
US9800471B2 (en) 2014-05-13 2017-10-24 Brocade Communications Systems, Inc. Network extension groups of global VLANs in a fabric switch
US10616108B2 (en) 2014-07-29 2020-04-07 Avago Technologies International Sales Pte. Limited Scalable MAC address virtualization
US9807007B2 (en) 2014-08-11 2017-10-31 Brocade Communications Systems, Inc. Progressive MAC address learning
US9524173B2 (en) * 2014-10-09 2016-12-20 Brocade Communications Systems, Inc. Fast reboot for a switch
US9699029B2 (en) 2014-10-10 2017-07-04 Brocade Communications Systems, Inc. Distributed configuration management in a switch group
CN105723666B (zh) * 2014-12-16 2019-05-31 北京大学深圳研究生院 一种基于内容的路由方法和系统
US9628407B2 (en) 2014-12-31 2017-04-18 Brocade Communications Systems, Inc. Multiple software versions in a switch group
US9626255B2 (en) 2014-12-31 2017-04-18 Brocade Communications Systems, Inc. Online restoration of a switch snapshot
US10003552B2 (en) 2015-01-05 2018-06-19 Brocade Communications Systems, Llc. Distributed bidirectional forwarding detection protocol (D-BFD) for cluster of interconnected switches
US9942097B2 (en) 2015-01-05 2018-04-10 Brocade Communications Systems LLC Power management in a network of interconnected switches
CN105871675B (zh) * 2015-01-20 2019-05-03 华为技术有限公司 一种数据处理方法及装置
US10038592B2 (en) 2015-03-17 2018-07-31 Brocade Communications Systems LLC Identifier assignment to a new switch in a switch group
US9807005B2 (en) 2015-03-17 2017-10-31 Brocade Communications Systems, Inc. Multi-fabric manager
US10579406B2 (en) 2015-04-08 2020-03-03 Avago Technologies International Sales Pte. Limited Dynamic orchestration of overlay tunnels
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
US10498652B2 (en) 2015-04-13 2019-12-03 Nicira, Inc. Method and system of application-aware routing with crowdsourcing
US10425382B2 (en) 2015-04-13 2019-09-24 Nicira, Inc. Method and system of a cloud-based multipath routing protocol
US10439929B2 (en) 2015-07-31 2019-10-08 Avago Technologies International Sales Pte. Limited Graceful recovery of a multicast-enabled switch
US10033622B2 (en) * 2015-08-07 2018-07-24 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Controller-based dynamic routing in a software defined network environment
US10171303B2 (en) 2015-09-16 2019-01-01 Avago Technologies International Sales Pte. Limited IP-based interconnection of switches with a logical chassis
US9912614B2 (en) 2015-12-07 2018-03-06 Brocade Communications Systems LLC Interconnection of switches based on hierarchical overlay tunneling
CN107547293B (zh) 2016-06-29 2020-09-08 新华三技术有限公司 一种流路径探测方法和装置
US10237090B2 (en) 2016-10-28 2019-03-19 Avago Technologies International Sales Pte. Limited Rule-based network identifier mapping
US10447585B2 (en) * 2016-12-19 2019-10-15 Futurewei Technologies, Inc. Programmable and low latency switch fabric for scale-out router
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
US10992558B1 (en) 2017-11-06 2021-04-27 Vmware, Inc. Method and apparatus for distributed data network traffic optimization
US10992568B2 (en) 2017-01-31 2021-04-27 Vmware, Inc. High performance software-defined core network
US20180219765A1 (en) 2017-01-31 2018-08-02 Waltz Networks Method and Apparatus for Network Traffic Control Optimization
US11706127B2 (en) 2017-01-31 2023-07-18 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
US10778528B2 (en) 2017-02-11 2020-09-15 Nicira, Inc. Method and system of connecting to a multipath hub in a cluster
US10523539B2 (en) 2017-06-22 2019-12-31 Nicira, Inc. Method and system of resiliency in cloud-delivered SD-WAN
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
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
US10608844B2 (en) 2017-10-02 2020-03-31 Vmware, Inc. Graph based routing through multiple public clouds
US10959098B2 (en) 2017-10-02 2021-03-23 Vmware, Inc. Dynamically specifying multiple public cloud edge nodes to connect to an external multi-computer node
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
CN110401848A (zh) * 2018-04-24 2019-11-01 北京视联动力国际信息技术有限公司 一种视频播放方法和装置
US10673748B2 (en) * 2018-10-31 2020-06-02 Alibaba Group Holding Limited Method and system for accessing cloud services
US11303555B2 (en) * 2019-04-26 2022-04-12 Juniper Networks, Inc. Inter-data center software-defined network controller network
US11784912B2 (en) 2019-05-13 2023-10-10 Cloudflare, Inc. Intelligently routing internet traffic
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
US11611507B2 (en) 2019-10-28 2023-03-21 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
US11438789B2 (en) 2020-01-24 2022-09-06 Vmware, Inc. Computing and using different path quality metrics for different service classes
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
US11363124B2 (en) 2020-07-30 2022-06-14 Vmware, Inc. Zero copy socket splicing
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
US11601356B2 (en) 2020-12-29 2023-03-07 Vmware, Inc. Emulating packet flows to assess network links for SD-WAN
US11792127B2 (en) 2021-01-18 2023-10-17 Vmware, Inc. Network-aware load balancing
US11979325B2 (en) 2021-01-28 2024-05-07 VMware LLC Dynamic SD-WAN hub cluster scaling with machine learning
US12009987B2 (en) 2021-05-03 2024-06-11 VMware LLC Methods to support dynamic transit paths through hub clustering across branches in SD-WAN
US11637768B2 (en) 2021-05-03 2023-04-25 Vmware, Inc. On demand routing mesh for routing packets through SD-WAN edge forwarding nodes in 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
US12015536B2 (en) 2021-06-18 2024-06-18 VMware LLC Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics of types of resource elements in the public clouds
US11375005B1 (en) 2021-07-24 2022-06-28 Vmware, Inc. High availability solutions for a secure access service edge application
US11943146B2 (en) 2021-10-01 2024-03-26 VMware LLC Traffic prioritization in SD-WAN
KR102452489B1 (ko) * 2022-05-25 2022-10-11 오선화 공동 주택 단지에서의 이중 보안 처리 시스템
US11909815B2 (en) 2022-06-06 2024-02-20 VMware LLC Routing based on geolocation costs

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003273907A (ja) * 2002-03-15 2003-09-26 Ntt Docomo Inc 自律システム、通信制御方法、サーバ及びルータ
JP2006333469A (ja) * 2005-05-24 2006-12-07 Agilent Technol Inc 自律システムにおけるトラフィックエンジニアリングに関するトポロジの追跡
JP2007006248A (ja) * 2005-06-24 2007-01-11 Nippon Telegr & Teleph Corp <Ntt> リモートアクセス方法、およびリモートアクセスシステム
US20090141636A1 (en) * 2007-11-29 2009-06-04 Alcatel Lucent Enhancing routing optimality in IP networks requiring path establishment
WO2013168737A1 (ja) * 2012-05-09 2013-11-14 日本電気株式会社 通信システム、制御装置、通信方法及びプログラム
JP2013251883A (ja) * 2012-05-02 2013-12-12 Univ Of Tokyo ネットワーク中継装置及びプログラム
JP2014039332A (ja) * 2013-11-11 2014-02-27 Nec Corp 通信システム、ノード、制御サーバ、通信方法およびプログラム
WO2014034097A1 (en) * 2012-08-28 2014-03-06 Nec Corporation Path control system, control apparatus, edge node, path control method, and program

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4899335A (en) * 1988-12-21 1990-02-06 American Telephone And Telegraph Company, At&T Bell Laboratories Self routing packet switching network architecture
CN100456739C (zh) * 2003-07-04 2009-01-28 日本电信电话株式会社 远程访问虚拟专用网络中介方法和中介装置
JP2009212875A (ja) * 2008-03-05 2009-09-17 Nec Corp 通信装置及びそれに用いる運用管理方法
US8369333B2 (en) * 2009-10-21 2013-02-05 Alcatel Lucent Method and apparatus for transparent cloud computing with a virtualized network infrastructure
CN102792645B (zh) 2010-03-24 2016-02-03 日本电气株式会社 信息系统、控制设备以及管理虚拟网络的方法
US8804747B2 (en) * 2010-09-23 2014-08-12 Cisco Technology, Inc. Network interface controller for virtual and distributed services
US9900224B2 (en) * 2011-08-04 2018-02-20 Midokura Sarl System and method for implementing and managing virtual networks
US9124538B2 (en) * 2011-08-17 2015-09-01 Nicira, Inc. Dynamic generation of flow entries for last-hop processing
US8830835B2 (en) * 2011-08-17 2014-09-09 Nicira, Inc. Generating flows for managed interconnection switches
EP2597827B1 (en) * 2011-11-25 2018-01-10 Alcatel Lucent Method of promoting a quick data flow of data packets in a communication network, communication network and data processing unit
US9331940B2 (en) * 2012-08-28 2016-05-03 Alcatel Lucent System and method providing distributed virtual routing and switching (DVRS)
US8796408B2 (en) 2012-08-31 2014-08-05 Exxonmobil Chemical Patents Inc. Plants and processes for forming polymers
US9450874B2 (en) * 2013-01-04 2016-09-20 Futurewei Technologies, Inc. Method for internet traffic management using a central traffic controller
US20140233569A1 (en) * 2013-02-15 2014-08-21 Futurewei Technologies, Inc. Distributed Gateway in Virtual Overlay Networks
CN105027513A (zh) * 2013-03-07 2015-11-04 日本电气株式会社 通信系统、整合控制器、分组转发方法和程序
CN103369613A (zh) * 2013-07-05 2013-10-23 中国科学院计算机网络信息中心 基于OpenFlow实现移动切换的系统和方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003273907A (ja) * 2002-03-15 2003-09-26 Ntt Docomo Inc 自律システム、通信制御方法、サーバ及びルータ
JP2006333469A (ja) * 2005-05-24 2006-12-07 Agilent Technol Inc 自律システムにおけるトラフィックエンジニアリングに関するトポロジの追跡
JP2007006248A (ja) * 2005-06-24 2007-01-11 Nippon Telegr & Teleph Corp <Ntt> リモートアクセス方法、およびリモートアクセスシステム
US20090141636A1 (en) * 2007-11-29 2009-06-04 Alcatel Lucent Enhancing routing optimality in IP networks requiring path establishment
JP2011505737A (ja) * 2007-11-29 2011-02-24 アルカテル−ルーセント パスの確立を要求するipネットワークにおけるルーティングの最適性の向上
JP2013251883A (ja) * 2012-05-02 2013-12-12 Univ Of Tokyo ネットワーク中継装置及びプログラム
US20150131671A1 (en) * 2012-05-02 2015-05-14 The University Of Tokyo Network relay apparatus and program
WO2013168737A1 (ja) * 2012-05-09 2013-11-14 日本電気株式会社 通信システム、制御装置、通信方法及びプログラム
WO2014034097A1 (en) * 2012-08-28 2014-03-06 Nec Corporation Path control system, control apparatus, edge node, path control method, and program
JP2014039332A (ja) * 2013-11-11 2014-02-27 Nec Corp 通信システム、ノード、制御サーバ、通信方法およびプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MOURAD SOLIMAN ET. AL.: "Source routed forwarding with software defined control, considerations and implications", CONEXT STUDENT '12 PROCEEDINGS OF THE 2012 ACM CONFERENCE ON CONEXT STUDENT WORKSHOP, JPN6018031580, 10 December 2012 (2012-12-10), pages 43 - 44, XP058010488, ISSN: 0003859104, DOI: 10.1145/2413247.2413274 *
PETER ASHWOOD-SMITH: "Software Defined Networking and Centralized Controller State Distribution Reduction - Discussion of", IEEE DRAFT, JPN6018031581, June 2012 (2012-06-01), ISSN: 0003859105 *

Also Published As

Publication number Publication date
JP6527880B2 (ja) 2019-06-05
CN105681231A (zh) 2016-06-15
HK1216055A1 (zh) 2016-10-07
DE202015009244U1 (de) 2017-01-05
CN105681231B (zh) 2019-03-08
DK2928137T3 (da) 2021-05-31
EP2928137A1 (en) 2015-10-07
KR101866174B1 (ko) 2018-06-11
US9807004B2 (en) 2017-10-31
WO2015153361A1 (en) 2015-10-08
US20150281066A1 (en) 2015-10-01
SG11201608137TA (en) 2016-10-28
KR20160134790A (ko) 2016-11-23
EP2928137B1 (en) 2021-03-24

Similar Documents

Publication Publication Date Title
JP6527880B2 (ja) フロールーティング、スケーラビリティおよびセキュリティの向上を伴う、自律システム内および自律システム間のトラフィックのソフトウェア定義ルーティングのためのシステムならびに方法
US11876717B2 (en) Flow-based load balancing
EP3222005B1 (en) Passive performance measurement for inline service chaining
EP3222006B1 (en) Passive performance measurement for inline service chaining
US8125911B2 (en) First-hop domain reliability measurement and load balancing in a computer network
US9800507B2 (en) Application-based path computation
US9270598B1 (en) Congestion control using congestion prefix information in a named data networking environment
US9749241B2 (en) Dynamic traffic management in a data center
EP3399703B1 (en) Method for implementing load balancing, apparatus, and network system
US20140192645A1 (en) Method for Internet Traffic Management Using a Central Traffic Controller
US9548930B1 (en) Method for improving link selection at the borders of SDN and traditional networks
US7848230B2 (en) Sharing performance measurements among address prefixes of a same domain in a computer network
US11895009B2 (en) Intelligently routing internet traffic
US9736066B2 (en) Method, apparatus and system for establishing optical bypass
US20170353391A1 (en) Self-Protecting Computer Network Router with Queue Resource Manager
JP6466595B2 (ja) パケット処理における適応負荷バランシング
JP2015057879A (ja) コンピュータ・ネットワーキングにおけるパケットのマルチパス・ルーティング・デバイスおよびその使用方法
Phung et al. Internet acceleration with lisp traffic engineering and multipath tcp

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161117

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171031

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180313

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181126

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190513

R150 Certificate of patent or registration of utility model

Ref document number: 6527880

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250