(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-09
(45)【発行日】2024-09-18
(54)【発明の名称】ソフトウェア定義ワイドエリアネットワーク(SD-WAN)のための水平スケーリング
(51)【国際特許分類】
H04L 45/76 20220101AFI20240910BHJP
H04L 61/2503 20220101ALI20240910BHJP
H04L 45/741 20220101ALI20240910BHJP
H04L 45/42 20220101ALI20240910BHJP
【FI】
H04L45/76
H04L61/2503
H04L45/741
H04L45/42
(21)【出願番号】P 2022576892
(86)(22)【出願日】2022-04-07
(86)【国際出願番号】 US2022071590
(87)【国際公開番号】W WO2022217252
(87)【国際公開日】2022-10-13
【審査請求日】2023-02-03
(32)【優先日】2021-04-08
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-07-29
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】508041127
【氏名又は名称】シスコ テクノロジー,インコーポレイテッド
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100140431
【氏名又は名称】大石 幸雄
(72)【発明者】
【氏名】マーメン,ビジュ マシューズ
(72)【発明者】
【氏名】デサイ,キラン
(72)【発明者】
【氏名】シャン,ジュン
(72)【発明者】
【氏名】カルリ,ヴェンカタ サレシュ
【審査官】羽岡 さやか
(56)【参考文献】
【文献】米国特許出願公開第2016/0315808(US,A1)
【文献】米国特許出願公開第2020/0314015(US,A1)
【文献】中国特許出願公開第110086689(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 45/76
H04L 61/2503
H04L 45/741
H04L 45/42
(57)【特許請求の範囲】
【請求項1】
ネットワークコントローラの方法であって、
ネットワークコントローラからのネットワークオーケストレータとの第2の接続の確立中に、前記ネットワークオーケストレータとの第1の接続を識別することと、
制御プレーンにおいて前記第2の接続と前記第1の接続とをリンクする兄弟セッションを確立することと、
前記兄弟セッションを識別する兄弟データメッセージを、
前記ネットワークコントローラから前記ネットワークオーケストレータに送信される制御メッセージに挿入することと、
前記第2の接続を介して前記ネットワークオーケストレータからメッセージを受信することであって、前記メッセージは、前記第2の接続に関連付けられた前記ネットワークコントローラの
第2のアドレスを含むことと、
前記第1の接続を介して前記ネットワークオーケストレータに前記ネットワークコントローラの前記第2のアドレスを送信することであって、前記ネットワークオーケストレータは、前記ネットワークコントローラの前記第2のアドレスを受信し、前記第1の接続及び前記第2の接続を単一の論理接続として関連付けることと、を含
む、方法。
【請求項2】
前記兄弟セッションは、前記ネットワークオーケストレータの汎用一意識別子(UUID)を識別することに基づいて識別される、請求項1に記載の方法。
【請求項3】
前記ネットワークオーケストレータは、前記兄弟データメッセージを受信し、前記第1の接続を前記第2の接続に関連付ける、請求項1又は2に記載の方法。
【請求項4】
前記第1の接続の識別が、データグラムトランスポートレイヤセキュリティ(DTLS)セッション初期化のプロセスチャレンジフェーズ中に行われる、請求項1~3のいずれか一項に記載の方法。
【請求項5】
前記ネットワークオーケストレータは、単一の接続を使用して前記ネットワークコントローラの前記第2のアドレスをネットワークエッジデバイスに通知する、請求項1~4のいずれか一項に記載の方法。
【請求項6】
前記第1の接続を介して前記ネットワークコントローラの前記第2のアドレスを前記ネットワークエッジデバイスに通知することにより、ネットワークアドレス変換に関連するルートのリークが排除される、請求項5に記載の方法。
【請求項7】
前記ネットワークコントローラは、第1の領域に位置し、前記ネットワークオーケストレータは、前記第1の領域とは異なる第2の領域に位置する、請求項1~6のいずれか一項に記載の方法。
【請求項8】
ネットワークアドレス変換器は、前記第2の領域に関連付けられたIPアドレスを前記第1の領域に関連付けられたIPアドレスに変換する、請求項7に記載の方法。
【請求項9】
前記ネットワークコントローラは、異なる領域にある第2のネットワークオーケストレータに接続される、請求項1~8のいずれか一項に記載の方法。
【請求項10】
前記第1の接続がIPv4接続であり、前記第2の接続がIPv6接続であるか、又は前記第1の接続がIPv6接続であり、前記第2の接続がIPv4接続である、請求項1~9のいずれか一項に記載の方法。
【請求項11】
ネットワークオーケストレータの方法であって、
第1の接続が第2の接続に関連することを示す兄弟データメッセージを含むメッセージを受信することであって、前記メッセージは、前記第1の接続及び前記第2の接続がネットワークコントローラと確立されたときに受信されることと、
前記第2の接続を介して前記ネットワークコントローラにメッセージを送信することであって、前記メッセージは、前記ネットワークコントローラの第2のアドレスを含むことと、
前記ネットワークコントローラから前記第1の接続を介して前記第2の接続に関連付けられた前記ネットワークコントローラの前記
第2のアドレスを受信することと、
前記第1の接続と前記第2の接続とを関連付けることと、
ネットワークエッジデバイスを接続するための要求を受信したことに応答して、単一の接続を介して前記ネットワークエッジデバイスにメッセージを送信することであって、前記メッセージが、前記第1の接続に関連付けられた前記ネットワークコントローラの第1のアドレスと前記第2のアドレス
とを識別することと、を含む、方法。
【請求項12】
第1のタイプのアドレスに関連付けられたネットワークオーケストレータによって管理される各ネットワークコントローラの各接続を分析することと、第2のタイプのアドレスに関連付けられ、前記第1のタイプのアドレスに関連付けられていない各ネットワークコントローラの各接続を分析することと、を更に含む、請求項11に記載の方法。
【請求項13】
ネットワークコントローラであって、
トランシーバと、
プロセッサであって、命令を実行し、前記プロセッサに、
前記ネットワークコントローラからのネットワークオーケストレータとの第2の接続の確立中に前記ネットワークオーケストレータとの第1の接続を識別させ、
制御プレーンにおいて前記第2の接続と前記第1の接続とをリンクする兄弟セッションを確立させ、
前記兄弟セッションを識別する兄弟データメッセージを
、前記ネットワークコントローラから前記ネットワークオーケストレータに送信される制御メッセージに挿入させ、
前記第2の接続を介して前記ネットワークオーケストレータから、前記第2の接続に関連付けられた前記ネットワークコントローラの
第2のアドレスを含むメッセージを受信させ、
前記第1の接続を介して前記ネットワークオーケストレータに前記ネットワークコントローラの前記第2のアドレスを送信させるように構成された、プロセッサと、を備え、前記ネットワークオーケストレータは、前記ネットワークコントローラの前記第2のアドレスを受信し、前記第1の接続及び前記第2の接続を単一の論理接続として関連付
ける、ネットワークコントローラ。
【請求項14】
前記兄弟セッションは、前記ネットワークオーケストレータの汎用一意識別子(UUID)を識別することに基づいて識別される、請求項13に記載のネットワークコントローラ。
【請求項15】
前記ネットワークオーケストレータは、前記兄弟データメッセージを受信し、前記第1の接続を前記第2の接続に関連付ける、請求項13又は14に記載のネットワークコントローラ。
【請求項16】
前記第1の接続の識別は、DTLSセッション初期化のプロセスチャレンジフェーズ中に行われる、請求項13~15のいずれか一項に記載のネットワークコントローラ。
【請求項17】
前記ネットワークオーケストレータは、単一の接続を使用して前記ネットワークコントローラの前記第2のアドレスをネットワークエッジデバイスに通知する、請求項13~16のいずれか一項に記載のネットワークコントローラ。
【請求項18】
前記第1の接続を介して前記ネットワークエッジデバイスに前記ネットワークコントローラの前記第2のアドレスを通知することにより、ネットワークアドレス変換に関連するルートのリークが排除される、請求項17に記載のネットワークコントローラ。
【請求項19】
前記ネットワークコントローラは、第1の領域に位置し、前記ネットワークオーケストレータは、前記第1の領域とは異なる第2の領域に位置する、請求項13~18のいずれか一項に記載のネットワークコントローラ。
【請求項20】
ネットワークアドレス変換器は、前記第2の領域に関連付けられたIPアドレスを前記第1の領域に関連付けられたIPアドレスに変換する、請求項19に記載のネットワークコントローラ。
【請求項21】
ネットワークコントローラであって、
前記ネットワークコントローラからのネットワークオーケストレータとの第2の接続の確立中に、前記ネットワークオーケストレータとの第1の接続を識別するための手段と、
制御プレーンにおいて前記第2の接続と前記第1の接続とをリンクする兄弟セッションを確立するための手段と、
前記兄弟セッションを識別する兄弟データメッセージを
、前記ネットワークコントローラから前記ネットワークオーケストレータに送信される制御メッセージに挿入するための手段と、
前記第2の接続を介して前記ネットワークオーケストレータからメッセージを受信するための手段であって、前記メッセージが、前記第2の接続に関連付けられた前記ネットワークコントローラの
第2のアドレスを含む、受信するための手段と、
前記第1の接続を介して前記ネットワークコントローラの前記第2のアドレスを前記ネットワークオーケストレータに送信するための手段と、を備え、前記ネットワークオーケストレータは、前記ネットワークコントローラの前記第2のアドレスを受信し、前記第1の接続と前記第2の接続とを単一の論理接続として関連付
ける、ネットワークコントローラ。
【請求項22】
請求項2~10のいずれか一項に記載の方法を実施するための手段を更に備える、請求項21に記載のネットワークコントローラ。
【請求項23】
ネットワークオーケストレータであって、
第1の接続が第2の接続に関連することを示す兄弟データメッセージを含むメッセージを受信するための手段であって、前記メッセージは、前記第1の接続及び前記第2の接続がネットワークコントローラと確立され
たときに受信される、受信するための手段と、
前記第2の接続を介して前記ネットワークコントローラにメッセージを送信するための手段であって、前記メッセージは、前記ネットワークコントローラの第2のアドレスを含む、送信するための手段と、
前記ネットワークコントローラから前記第1の接続を介して前記第2の接続に関連付けられた前記ネットワークコントローラの前記
第2のアドレスを受信するための手段と、
前記第1の接続と前記第2の接続とを関連付けるための手段と、
ネットワークエッジデバイスを接続する要求を受信したことに応答して、単一の接続を介して前記ネットワークエッジデバイスにメッセージを送信するための手段であって、前記メッセージ
が、前記第1の接
続に関連付けられた前記ネットワークコントローラの第1のアドレス
と前記第2のアドレスとを識別する、送信するための手段と、を備える、ネットワークオーケストレータ。
【請求項24】
請求項12に記載の方法を実施するための手段を更に備える、請求項23に記載のネットワークオーケストレータ。
【請求項25】
コンピュータによって実行されると、請求項1~12のいずれか一項に記載の方法のステップを前記コンピュータに実行させる命令を含む、コンピュータプログラ
ム。
【請求項26】
コンピュータによって実行されると、請求項1~12のいずれか一項に記載の方法のステップを前記コンピュータに実行させる命令を含む、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、2021年4月8日に出願された「BUDDY SESSION BASED NATv6 DISCOVERY」と題する米国仮特許出願第63/172,491号の利益及び優先権を主張する、2021年7月29日に出願された「HORIZONTAL SCALING FOR A SOFTWARE DEFINED WIDE AREA NETWORK(SD-WAN)」と題する米国非仮特許出願第17/389,008号の利益及び優先権を主張するものであり、その内容は、その全体が参照により本明細書に組み込まれる。
【0002】
(発明の分野)
本開示は、概して、コンピュータネットワークに関し、より詳細には、ソフトウェア定義ワイドエリアネットワーク(software defined wide area network、SD-WAN)のための水平スケーリングに関する。
【背景技術】
【0003】
関連技術の説明
ソフトウェア定義ワイドエリアネットワーク(SD-WAN)は、セルラーネットワーク、インターネット、及びマルチプロトコルラベルスイッチング(Multiprotocol Label Switching、MPLS)ネットワークへの接続などのWAN接続へのソフトウェア定義ネットワーキング(software-defined networking、SDN)原理の適用を表す。SD-WANの能力は、様々なトランスポート品質の様々な下層トンネルにわたって透過的に重要なアプリケーショントラフィックに対して一貫したサービスレベル合意(service level agreement、SLA)を提供し、アプリケーションSLAに一致することができるトンネル性能特性に基づいてシームレスなトンネル選択を可能にする能力である。
【図面の簡単な説明】
【0004】
【
図1】実施形態による、高レベルネットワークアーキテクチャの例を例示する。
【
図2】実施形態による、ネットワークトポロジの例を例示する。
【
図3】実施形態による、オーバーレイネットワークを管理するためのプロトコルの動作を示す図の例を例示する。
【
図4】実施形態による、ネットワークをセグメント化するための仮想プライベートネットワークの動作を示す図の例を例示する。
【
図5】実施形態による、異なるドメインにわたって制御プレーンを実装するネットワーク構成を例示する。
【
図6】実施形態による、IPv4又はIPv6ルートリークを防止するための例示的なシーケンス図を例示する。
【
図7】実施形態による、ネットワークコントローラアプライアンスのための方法のフローチャートである。
【
図8】実施形態による、ネットワークオーケストレータアプライアンスのための方法のフローチャートである。
【
図9】実施形態による、ネットワークエッジデバイスのための方法のフローチャートである。
【
図10A】実施形態による、ネットワークの通信を例示する様々なブロック図を例示する。
【
図10B】実施形態による、ネットワークの通信を例示する様々なブロック図を例示する。
【
図10C】実施形態による、ネットワークの通信を例示する様々なブロック図を例示する。
【
図10D】実施形態による、ネットワークの通信を例示する様々なブロック図を例示する。
【
図10E】実施形態による、ネットワークの通信を例示する様々なブロック図を例示する。
【
図10F】実施形態による、ネットワークの通信を例示する様々なブロック図を例示する。
【
図11】コンピューティングシステム1100の例を示し、これは、例えば、本開示の例によるシステムの構成要素を実装することができる任意のコンピューティングデバイスであり得る。
【発明を実施するための形態】
【0005】
以下に記載される詳細な説明は、実施形態の様々な構成の説明として意図されており、本開示の主題が実施され得る唯一の構成を表すことは意図されていない。添付の図面は、本明細書に組み込まれ、発明を実施するための形態の一部を構成する。発明を実施するための形態は、本開示の主題をより完全に理解してもらう目的で特定の詳細を含む。しかしながら、本開示の主題は、本明細書に記載される特定の詳細に限定されず、これらの詳細なしで実施され得ることが明確かつ明白であろう。いくつかの事例では、本開示の主題の概念を不明瞭にすることを回避するために、構造及び構成要素がブロック図の形態で示される。
【0006】
概要
本発明の態様は独立請求項に提示されており、好ましい特徴は従属請求項に提示されている。1つの態様の特徴は、各態様に単独で、又は他の態様と組み合わせて適用され得る。
【0007】
ネットワーク構成を水平にスケーリングするための方法は、以下で詳細に説明される。エンティティは、異なる地理的領域、国、更には大陸にわたって存在することがある。場合によっては、ビジネスエンティティは、それらのネットワークの制御プレーンの側面を集中化することを望む場合がある。したがって、ソフトウェア定義ワイドエリアネットワーク(SD-WAN)を水平にスケーリングするための方法、システム、及び技法が以下で説明される。いくつかの例では、中央の場所からのネットワークコントローラアプライアンスのIPアドレスが、単一のネットワーク接続を介して異なる領域内のネットワークエッジデバイスに提供される。
【0008】
異なる領域又はドメインにわたってネットワークをスケーリングするためのシステム、方法、及びコンピュータ可読媒体が提供される。少なくとも1つの例によれば、ネットワークをスケーリングするための方法が提供される。本方法は、ネットワークコントローラからのネットワークオーケストレータとの第2の接続の確立中に、ネットワークオーケストレータとの第1の接続を識別することと、制御プレーンにおいて第2の接続と第1の接続とをリンクする兄弟(sibling)セッションを確立することと、兄弟セッションを識別する兄弟データメッセージを、送信される制御メッセージに挿入することと、第2の接続を介してネットワークオーケストレータから、第2の接続に関連付けられたネットワークコントローラのアドレスを含むメッセージを受信することと、第1の接続を介してネットワークオーケストレータにネットワークコントローラの第2のアドレスを送信することと、を含む。ネットワークオーケストレータは、ネットワークコントローラの第2のアドレスを受信し、第1の接続及び第2の接続を単一の論理接続として関連付ける。ネットワークオーケストレータは、ネットワークエッジデバイスのセットアップ中に第1のアドレス及び第2のアドレスを送信するように構成されている。
【0009】
別の例では、(例えば、仮想コンテンツデータ、1つ以上の画像などのデータを記憶するように構成された)メモリと、メモリに結合された(例えば、回路内に実装された)1つ以上のプロセッサと、を含む、異なる領域又はドメインにわたってネットワークをスケーリングするための装置が提供される。1つ以上のプロセッサは、ネットワークコントローラからのネットワークオーケストレータとの第2の接続の確立中に、ネットワークオーケストレータとの第1の接続を識別することと、制御プレーンにおいて第2の接続と第1の接続とをリンクする兄弟セッションを確立することと、兄弟セッションを識別する兄弟データメッセージを、送信される制御メッセージに挿入することと、第2の接続を介してネットワークオーケストレータから、第2の接続に関連付けられたネットワークコントローラのアドレスを含むメッセージを受信することと、第1の接続を介してネットワークオーケストレータにネットワークコントローラの第2のアドレスを送信することと、を行うように構成されており、かつそれらを行うことができる。ネットワークオーケストレータは、ネットワークコントローラの第2のアドレスを受信し、第1の接続及び第2の接続を単一の論理接続として関連付ける。ネットワークオーケストレータは、ネットワークエッジデバイスのセットアップ中に第1のアドレス及び第2のアドレスを送信するように構成されている。
【0010】
別の例では、命令を記憶した非一時的なコンピュータ可読記憶媒体が提供され、この命令は、1つ以上のプロセッサによって実行されたとき、1つ以上のプロセッサに、ネットワークコントローラからのネットワークオーケストレータとの第2の接続の確立中にネットワークオーケストレータとの第1の接続を識別させ、制御プレーンにおいて第2の接続と第1の接続とをリンクする兄弟セッションを確立させ、兄弟セッションを識別する兄弟データメッセージを、送信される制御メッセージに挿入させ、第2の接続を介してネットワークオーケストレータから、第2の接続に関連付けられたネットワークコントローラのアドレスを含むメッセージを受信させ、第1の接続を介してネットワークオーケストレータにネットワークコントローラの第2のアドレスを送信させる。ネットワークオーケストレータは、ネットワークコントローラの第2のアドレスを受信し、第1の接続及び第2の接続を単一の論理接続として関連付ける。ネットワークオーケストレータは、ネットワークエッジデバイスのセットアップ中に第1のアドレス及び第2のアドレスを送信するように構成されている。
【0011】
いくつかの例では、兄弟セッションは、ネットワークオーケストレータの汎用一意識別子(universal unique identifier、UUID)を識別することに基づいて識別される。
【0012】
いくつかの例では、ネットワークオーケストレータは、兄弟データメッセージを受信し、第1の接続及び第2の接続を単一の論理接続として関連付ける。
【0013】
いくつかの例では、第1の接続の識別は、データグラムトランスポートレイヤセキュリティ(datagram transport layer security、DTLS)セッション初期化のプロセスチャレンジフェーズ中に行われる。
【0014】
いくつかの例では、ネットワークオーケストレータは、第1の接続を使用してネットワークコントローラの第2のアドレスをネットワークエッジデバイスに通知する。
【0015】
いくつかの例では、第1の接続を介してネットワークコントローラの第2のアドレスをネットワークエッジデバイスに通知することにより、ネットワークアドレス変換に関連するルートのリークが排除される。
【0016】
いくつかの例では、ネットワークコントローラは、第1の領域に位置し、ネットワークオーケストレータは、第1の領域とは異なる第2の領域に位置する。
【0017】
いくつかの例では、ネットワークアドレス変換器は、第2の領域に関連付けられたIPアドレスを第1の領域に関連付けられたIPアドレスに変換する。
【0018】
いくつかの例では、ネットワークコントローラは、異なる領域にある第2のネットワークオーケストレータに接続される。
【0019】
いくつかの例では、第1の接続はIPv4接続であり、第2の接続はIPv6接続であるか、又は第1の接続はIPv6接続であり、第2の接続はIPv4接続である。
【0020】
ネットワークを管理するためのシステム、装置、方法、及びコンピュータ可読媒体が開示される。少なくとも1つの例によれば、異なる領域にわたってネットワークコントローラに接続するための方法が提供される。本方法は、第1の接続が第2の接続に関連することを示す兄弟データメッセージを含むメッセージを受信することであって、メッセージは、第1の接続及び第2の接続がネットワークコントローラと確立されたときに受信されることと、第2の接続を介してネットワークコントローラにメッセージを送信することであって、メッセージは、第2の接続に関連付けられたネットワークコントローラの第2のアドレスを含むことと、ネットワークコントローラから第1の接続を介して第2の接続に関連付けられたネットワークコントローラのアドレスを受信することと、第1の接続及び第2の接続を単一の論理接続としてリンクすることと、ネットワークエッジデバイスを接続するための要求を受信したことに応答して、第1の接続を介してネットワークエッジデバイスにメッセージを送信することであって、メッセージが、第1の接続及び第2のアドレスに関連付けられたネットワークコントローラの第1のアドレスを識別することと、を含む。
【0021】
別の例では、(例えば、仮想コンテンツデータ、1つ以上の画像などのデータを記憶するように構成された)メモリと、メモリに結合された(例えば、回路内に実装された)1つ以上のプロセッサと、を含む、異なる領域にわたってネットワークコントローラに接続するための装置が提供される。1つ以上のプロセッサは、第1の接続が第2の接続に関連することを示す兄弟データメッセージを含むメッセージを受信することであって、メッセージは、第1の接続及び第2の接続がネットワークコントローラと確立されるときに受信されることと、第2の接続を介してネットワークコントローラにメッセージを送信することであって、メッセージは、第2の接続に関連付けられたネットワークコントローラの第2のアドレスを含むことと、ネットワークコントローラから第1の接続を介して第2の接続に関連付けられたネットワークコントローラのアドレスを受信することと、第1の接続及び第2の接続を単一の論理接続としてリンクすることと、ネットワークエッジデバイスを接続するための要求を受信したことに応答して、第1の接続を介してネットワークエッジデバイスにメッセージを送信することであって、メッセージが、第1の接続及び第2のアドレスに関連付けられたネットワークコントローラの第1のアドレスを識別することと、を行うように構成され、かつ行うことができる。
【0022】
別の例では、命令を記憶した非一時的なコンピュータ可読媒体が提供され、この命令は、1つ以上のプロセッサによって実行されたとき、1つ以上のプロセッサに、第1の接続が第2の接続に関連することを示す兄弟データメッセージを含むメッセージを受信することであって、メッセージは、第1の接続及び第2の接続がネットワークコントローラと確立されるときに受信されることと、第2の接続を介してネットワークコントローラにメッセージを送信することであって、メッセージは、第2の接続に関連付けられたネットワークコントローラの第2のアドレスを含むことと、ネットワークコントローラから第1の接続を介して第2の接続に関連付けられたネットワークコントローラのアドレスを受信することと、第1の接続及び第2の接続を単一の論理接続としてリンクすることと、ネットワークエッジデバイスを接続するための要求を受信したことに応答して、第1の接続を介してネットワークエッジデバイスにメッセージを送信することであって、メッセージが、第1の接続及び第2のアドレスに関連付けられたネットワークコントローラの第1のアドレスを識別することと、を行わせる。
【0023】
いくつかの例では、上記で説明した方法、装置、及びコンピュータ可読媒体のうちの1つ以上は、第1のタイプのアドレスに関連付けられたネットワークオーケストレータによって管理される各ネットワークコントローラの各接続を分析することと、第2のタイプのアドレスに関連付けられ、かつ第1のタイプのアドレスに関連付けられた接続にリンクされていない各ネットワークコントローラの各接続を分析することと、を更に含む。
【0024】
ネットワークを管理するためのシステム、装置、方法、及びコンピュータ可読媒体が開示される。少なくとも1つの例によれば、異なる領域内のネットワークエッジデバイスを制御するための方法が提供される。本方法は、トランシーバと、プロセッサであって、命令を実行し、プロセッサに、ネットワークコントローラからのネットワークオーケストレータとの第2の接続の確立中にネットワークオーケストレータとの第1の接続を識別させ、制御プレーンにおいて第2の接続と第1の接続とをリンクする兄弟セッションを確立させ、兄弟セッションを識別する兄弟データメッセージを制御メッセージに挿入させ、第2の接続を介してネットワークオーケストレータから、第2の接続に関連付けられたネットワークコントローラのアドレスを含むメッセージを受信させ、第1の接続を介してネットワークオーケストレータにネットワークコントローラの第2のアドレスを送信させるように構成された、プロセッサと、を含む。ネットワークオーケストレータは、ネットワークコントローラの第2のアドレスを受信し、第1の接続及び第2の接続を単一の論理接続として関連付ける。ネットワークオーケストレータはまた、ネットワークエッジデバイスのセットアップ中に第1のアドレス及び第2のアドレスを送信するように構成されている。
【0025】
別の例では、(例えば、仮想コンテンツデータ、1つ以上の画像などのデータを記憶するように構成された)メモリと、メモリに結合された(例えば、回路内に実装された)1つ以上のプロセッサと、を含む、異なる領域内のネットワークエッジデバイスを制御するための装置が提供される。1つ以上のプロセッサは、以下を行うように構成され、かつ行うことができる。すなわち、トランシーバと、プロセッサであって、命令を実行し、プロセッサに、ネットワークコントローラからのネットワークオーケストレータとの第2の接続の確立中にネットワークオーケストレータとの第1の接続を識別させ、制御プレーンにおいて第2の接続と第1の接続とをリンクする兄弟セッションを確立させ、兄弟セッションを識別する兄弟データメッセージを制御メッセージに挿入させ、第2の接続を介してネットワークオーケストレータから、第2の接続に関連付けられたネットワークコントローラのアドレスを含むメッセージを受信させ、第1の接続を介してネットワークオーケストレータにネットワークコントローラの第2のアドレスを送信させるように構成された、プロセッサ。ネットワークオーケストレータは、ネットワークコントローラの第2のアドレスを受信し、第1の接続及び第2の接続を単一の論理接続として関連付ける。ネットワークオーケストレータはまた、ネットワークエッジデバイスのセットアップ中に第1のアドレス及び第2のアドレスを送信するように構成されている。
【0026】
別の例では、命令を記憶した非一時的なコンピュータ可読媒体が提供され、この命令は、1つ以上のプロセッサによって実行されたとき、1つ以上のプロセッサに以下を行わせる。すなわち、トランシーバと、プロセッサであって、命令を実行し、プロセッサに、ネットワークコントローラからのネットワークオーケストレータとの第2の接続の確立中にネットワークオーケストレータとの第1の接続を識別させ、制御プレーンにおいて第2の接続と第1の接続とをリンクする兄弟セッションを確立させ、兄弟セッションを識別する兄弟データメッセージを制御メッセージに挿入させ、第2の接続を介してネットワークオーケストレータから、第2の接続に関連付けられたネットワークコントローラのアドレスを含むメッセージを受信させ、第1の接続を介してネットワークオーケストレータにネットワークコントローラの第2のアドレスを送信させるように構成された、プロセッサ。ネットワークオーケストレータは、ネットワークコントローラの第2のアドレスを受信し、第1の接続及び第2の接続を単一の論理接続として関連付ける。ネットワークオーケストレータはまた、ネットワークエッジデバイスのセットアップ中に第1のアドレス及び第2のアドレスを送信するように構成されている。
【0027】
いくつかの例では、兄弟セッションは、ネットワークオーケストレータのUUIDを識別することに基づいて識別される。
【0028】
いくつかの例では、ネットワークオーケストレータは、兄弟データメッセージを受信し、第1の接続及び第2の接続を単一の論理接続として関連付ける。
【0029】
いくつかの例では、第1の接続の識別は、DTLSセッション初期化のプロセスチャレンジフェーズ中に行われる。
【0030】
いくつかの例では、ネットワークオーケストレータは、第1の接続を使用してネットワークコントローラの第2のアドレスをネットワークエッジデバイスに通知する。
【0031】
いくつかの例では、第1の接続を介してネットワークコントローラの第2のアドレスをネットワークエッジデバイスに通知することにより、ネットワークアドレス変換に関連するルートのリークが排除される。
【0032】
いくつかの例では、ネットワークコントローラは、第1の領域に位置し、ネットワークオーケストレータは、第1の領域とは異なる第2の領域に位置する。
【0033】
いくつかの例では、ネットワークアドレス変換器は、第2の領域に関連付けられたIPアドレスを第1の領域に関連付けられたIPアドレスに変換する。
【0034】
例示的な実施形態
上述したように、ビジネスエンティティは、ネットワークの管理を集中化しながら、異なる地理的領域にわたってネットワークを水平にスケーリングすることを望む場合がある。場合によっては、このネットワークは、異なるドメイン(例えば、異なるネットワークプロバイダ)に関連付けられている場合があり、各ドメインは異なるインターネットプロトコル(internet protocol、IP)アドレスを有する。異なるドメインのための既存の管理ソリューションが存在し、制御プレーン機能を実装するために各ドメイン内に追加のデバイスが存在することを必要とする。これにより、ビジネスエンティティは、そのネットワークの管理にハードウェア及び複雑さを追加することとなる。更に、エンティティは、IPv4及びIPv6対応機器の組合せを有し、IPアドレス指定の混合により、追加の構成の複雑さ、並びにセキュリティ問題(例えば、ルートリーク)が加えられえる。ネットワークプロバイダは、様々な悪意のあるネットワーク攻撃(例えば、中間者など)を防止するために、顧客がいかなるルートも漏らさないことを必要とし得る。
【0035】
異なるドメインにわたってネットワークを水平にスケーリングするための方法が、以下で詳細に開示される。
図6を参照して説明したように、ネットワークコントローラアプライアンスは、各ドメイン又は領域におけるネットワークマネージャアプライアンスにIPv4アドレス及びIPv6アドレス(例えば、IPv4接続又はIPv6接続)を提供するように構成され、それによって、ネットワークマネージャアプライアンスが、単一のネットワーク接続によって管理されるネットワークエッジデバイスにIPv4又はIPv6を提供することを可能にする。したがって、ネットワークエッジデバイスは、異なるドメイン又は領域からの好適なインターフェースを使用して、ネットワークコントローラアプライアンスを選択し、そのネットワークコントローラアプライアンスに接続することができる。それによって、ビジネスエンティティは、ネットワークのデバイスを管理するための集中制御プレーンを提供しながら、異なるドメイン及び異なる地理的領域にわたってネットワークの場所を水平にスケーリングすることができる。
【0036】
図1は、本技術の態様を実装するためのネットワークアーキテクチャ100の例を例示する。ネットワークアーキテクチャ100の実装形態の例は、Cisco(登録商標)SD-WANアーキテクチャである。しかしながら、当業者は、ネットワークアーキテクチャ100及び本開示で論じられる任意の他のシステムについて、同様の又は代替の構成において追加の又はより少ない構成要素があり得ることを理解するであろう。本開示において提供される例示及び実施例は、簡潔かつ明確にするためのものである。他の実施形態は、異なる数及び/又はタイプの要素を含んでもよいが、当業者は、そのような変形が本開示の範囲から逸脱しないことを理解するであろう。
【0037】
この例では、ネットワークアーキテクチャ100は、オーケストレーションプレーン102、管理プレーン120、制御プレーン130、及びデータプレーン140を備えることができる。オーケストレーションプレーン102は、オーバーレイネットワークにおけるエッジネットワークデバイス142(例えば、スイッチ、ルータなど)の自動的なオンボーディングを支援することができる。オーケストレーションプレーン102は、1つ以上の物理又は仮想ネットワークオーケストレータアプライアンス104を含むことができる。ネットワークオーケストレータアプライアンス104は、エッジネットワークデバイス142の初期認証を実行し、制御プレーン130のデバイスとデータプレーン140のデバイスとの間の接続性を調整することができる。いくつかの実施形態において、ネットワークオーケストレータアプライアンス104はまた、ネットワークアドレス変換(NAT)の背後に位置するデバイスの通信を可能にすることができる。いくつかの実施形態では、物理又は仮想Cisco(登録商標)SD-WAN vBondアプライアンスは、ネットワークオーケストレータアプライアンス104として動作することができる。
【0038】
管理プレーン120は、ネットワークの中央構成及び監視を担当することができる。管理プレーン120は、1つ以上の物理又は仮想ネットワーク管理アプライアンス122を含むことができる。いくつかの実施形態では、ネットワーク管理アプライアンス122は、ユーザが、アンダーレイ及びオーバーレイネットワーク内のエッジネットワークデバイス142及びリンク(例えば、インターネットトランスポートネットワーク160、MPLSネットワーク162、4G/LTEネットワーク164)を監視、構成、及び管理することを可能にするために、グラフィカルユーザインターフェースを介して、ネットワークの集中管理を提供することができる。ネットワーク管理アプライアンス122は、マルチテナンシーをサポートし、異なるエンティティ(例えば、企業、企業内の部門、部門内のグループなど)に関連付けられた論理的に分離されたネットワークの集中管理を可能にすることができる。代替的に又は追加的に、ネットワーク管理アプライアンス122は、単一のエンティティのための専用ネットワーク管理システムであり得る。いくつかの実施形態では、物理又は仮想Cisco(登録商標)SD-WAN vManageアプライアンスは、ネットワーク管理アプライアンス122として動作することができる。
【0039】
制御プレーン130は、ネットワークトポロジを構築及び管理し、トラフィックがどこに流れるかを決定することができる。制御プレーン130は、1つ以上の物理又は仮想ネットワークコントローラアプライアンス132を含むことができる。ネットワークコントローラアプライアンス132は、各ネットワークデバイス142へのセキュアな接続を確立し、制御プレーンプロトコル(例えば、オーバーレイ管理プロトコル(Overlay Management Protocol、OMP)(以下で更に詳細に論じられる)、オープンショーテストパスファースト(Open Shortest Path First、OSPF)、中間システム・ツー・中間システム(Intermediate System to Intermediate System、IS-IS)、ボーダーゲートウェイプロトコル(Border Gateway Protocol、BGP)、プロトコル独立マルチキャスト(Protocol-Independent Multicast、PIM)、インターネットグループ管理プロトコル(Internet Group Management Protocol、IGMP)、インターネット制御メッセージプロトコル(Internet Control Message Protocol、ICMP)、アドレス解決プロトコル(Address Resolution Protocol、ARP)、双方向転送検出(Bidirectional Forwarding Detection、BFD)、リンク集約制御プロトコル(Link Aggregation Control Protocol、LACP)など)を介して、ルート及びポリシー情報を配布することができる。いくつかの実施形態では、ネットワークコントローラアプライアンス132は、ルートリフレクタとして動作することができる。ネットワークコントローラアプライアンス132はまた、エッジネットワークデバイス142間及びエッジネットワークデバイス142の間のデータプレーン140におけるセキュア接続性を調整することができる。例えば、いくつかの実施形態では、ネットワークコントローラアプライアンス132は、エッジネットワークデバイス142の間で暗号鍵情報を配布することができる。これは、ネットワークが、インターネット鍵交換(Internet Key Exchange、IKE)なしにセキュアネットワークプロトコル又はアプリケーション(例えば、インターネットプロトコルセキュリティ(Internet Protocol Security、IPSec)、トランスポート層セキュリティ(Transport Layer Security、TLS)、セキュアシェル(Secure Shell、SSH)など)をサポートすることを可能にし、ネットワークのスケーラビリティを可能にすることができる。いくつかの実施形態では、物理又は仮想Cisco(登録商標)SD-WAN vSmartコントローラは、ネットワークコントローラアプライアンス132として動作することができる。
【0040】
データプレーン140は、制御プレーン130からの決定に基づいてパケットを転送する役割を果たすことができる。データプレーン140は、エッジネットワークデバイス142を含むことができ、エッジネットワークデバイス142は物理又は仮想ネットワークデバイスであり得る。エッジネットワークデバイス142は、1つ以上のデータセンタ又はコロケーションセンタ150、キャンパスネットワーク152、支社ネットワーク154、本社ネットワーク154などにおいて、又はクラウド(例えば、サービスとしてのインフラストラクチャ(Infrastructure as a Service、IaaS)、サービスとしてのプラットフォーム(Platform as a Service、PaaS)、SaaS、及び他のクラウドサービスプロバイダネットワーク)などにおいて、組織の様々なエッジネットワーク環境で動作することができる。エッジネットワークデバイス142は、1つ以上のインターネットトランスポートネットワーク160(例えば、デジタル加入者線(Digital Subscriber Line、DSL)、ケーブルなど)、MPLSネットワーク162(又は他のプライベートパケット交換ネットワーク(例えば、メトロイーサネット、フレームリレー、非同期転送モード(Asynchronous Transfer Mode、ATM)など)、モバイルネットワーク164(例えば、3G、4G/LTE、5Gなど)、又は他のWAN技術(例えば、同期光ネットワーキング(Synchronous Optical Networking、SONET)、同期デジタル階層(Synchronous Digital Hierarchy、SDH)、高密度波長分割多重(Dense Wavelength Division Multiplexing、DWDM)、又は他の光ファイバ技術;専用回線(例えば、T1/E1、T3/E3など);公衆交換電話網(Public Switched Telephone Network、PSTN)、統合サービスデジタルネットワーク(Integrated Services Digital Network、ISDN)、又は他の私設回線交換網;小型地上局(small aperture terminal)(VSAT)又は他の衛星ネットワークなど)を介して、1つ以上のWANトランスポート上でのサイト間のセキュアなデータプレーン接続性を提供することができる。エッジネットワークデバイス142は、数あるタスクの中でも、トラフィック転送、セキュリティ、暗号化、サービス品質(quality of service、QoS)、及びルーティング(例えば、BGP、OSPFなど)を担当することができる。いくつかの実施形態では、物理又は仮想Cisco(登録商標)SD-WAN vEdgeルータは、エッジネットワークデバイス142として動作することができる。
【0041】
図2は、ネットワークアーキテクチャ100の様々な態様を示すためのネットワークトポロジ200の例を例示する。ネットワークトポロジ200は、管理ネットワーク202、一対のネットワークサイト204A及び204B(まとめて204)(例えば、データセンタ150、キャンパスネットワーク152、支社ネットワーク154、本社ネットワーク156、クラウドサービスプロバイダネットワークなど)、並びに一対のインターネットトランスポートネットワーク160A及び160B(まとめて160)を含むことができる。管理ネットワーク202は、1つ以上のネットワークオーケストレータアプライアンス104と、1つ以上のネットワーク管理アプライアンス122と、1つ以上のネットワークコントローラアプライアンス132とを含むことができる。管理ネットワーク202は、この例では単一のネットワークとして示されているが、当業者であれば、管理ネットワーク202の各要素を任意の数のネットワークにわたって分散させることができ、かつ/又はサイト204と同じ場所に配置することができることを理解するであろう。この例では、管理ネットワーク202の各要素は、トランスポートネットワーク160A又は160Bのいずれかを介して到達することができる。
【0042】
各サイトは、1つ以上のサイトネットワークデバイス208に接続される1つ以上のエンドポイント206を含むことができる。エンドポイント206は、汎用コンピューティングデバイス(例えば、サーバ、ワークステーション、デスクトップコンピュータなど)、モバイルコンピューティングデバイス(例えば、ラップトップ、タブレット、携帯電話など)、ウェアラブルデバイス(例えば、腕時計、眼鏡又は他のヘッドマウントディスプレイ(head-mounted display、HMD)、イヤーデバイスなど)などを含むことができる。エンドポイント206はまた、農業機器(例えば、家畜追跡管理システム、給水デバイス、無人航空機(unmanned aerial vehicle、UAV)など)、接続された自動車及び他の車両、スマートホームセンサ及びデバイス(例えば、アラームシステム、セキュリティカメラ、照明、電化製品、メディアプレーヤ、HVAC機器、ユーティリティメータ、窓、自動ドア、ドアベル、ロックなど)、オフィス機器(例えば、デスクトップ電話、コピー機、ファックス機など)、ヘルスケアデバイス(例えば、ペースメーカー、バイオメトリックセンサ、医療機器など)、産業機器(例えば、ロボット、工場機械、建設機器、産業センサなど)、小売機器(例えば、自動販売機、販売時点管理(point of sale、POS)デバイス、無線周波数識別(Radio Frequency Identification、RFID)タグなど)、スマートシティデバイス(例えば、街灯、パーキングメータ、廃棄物管理センサなど)、輸送及び物流機器(例えば、回転式改札口、レンタカートラッカー、ナビゲーション用デバイス、在庫モニタなど)などのモノのインターネット(Internet of Thing、IoT)デバイス又は機器を含むことができる。
【0043】
サイトネットワークデバイス208は、物理又は仮想スイッチ、ルータ、及び他のネットワークデバイスを含むことができる。この例では、サイト204Aは一対のサイトネットワークデバイスを含むように示され、サイト204Bは単一のサイトネットワークデバイスを含むように示されているが、サイトネットワークデバイス208は、マルチティア(例えば、コア、分散、及びアクセスティア)、スパイン・アンド・リーフ、メッシュ、ツリー、バス、ハブ・アンド・スポークなどを含む、任意のネットワークトポロジにおいて任意の数のネットワークデバイスを含むことができる。例えば、いくつかの実施形態では、1つ以上のデータセンタネットワークは、Cisco(登録商標)Application Centric Infrastructure(ACI)アーキテクチャを実装してもよく、及び/又は1つ以上のキャンパスネットワークは、Cisco(登録商標)Software Defined Access(SD-Access又はSDA)アーキテクチャを実装してもよい。サイトネットワークデバイス208は、エンドポイント206を1つ以上のエッジネットワークデバイス142に接続することができ、エッジネットワークデバイス142は、トランスポートネットワーク160に直接接続するために使用することができる。
【0044】
いくつかの実施形態では、「色」は、個々のWANトランスポートネットワークを識別するために使用され得、異なるWANトランスポートネットワークには、異なる色(例えば、mpls、プライベート1、ビズインターネット、メトロイーサネット、lteなど)を割り当てられ得る。この例では、ネットワークトポロジ200は、インターネットトランスポートネットワーク160Aに対して「ビズインターネット」と呼ばれる色、及びインターネットトランスポートネットワーク160Bに対して「パブリックインターネット」と呼ばれる色を利用することができる。
【0045】
いくつかの実施形態では、各エッジネットワークデバイス208は、ネットワークコントローラアプライアンス132へのデータグラムトランスポート層セキュリティ(DTLS)又はTLS制御接続を形成し、各トランスポートネットワーク160を介して任意のネットワーク制御アプライアンス132に接続することができる。いくつかの実施形態では、エッジネットワークデバイス142はまた、IPSecトンネルを介して他のサイト内のエッジネットワークデバイスに安全に接続することもできる。いくつかの実施形態では、BFDプロトコルは、損失、待ち時間、ジッタ、及び経路障害を検出するために、これらのトンネルの各々内で使用され得る。
【0046】
エッジネットワークデバイス142上では、個々のWANトランスポートトンネルを識別又は区別するのを助けるために色を使用することができる(例えば、単一のエッジネットワークデバイス上で同じ色を2回使用することはできない)。色自体も重要性を有し得る。例えば、メトロイーサネット、mpls、並びにプライベート1、プライベート2、プライベート3、プライベート4、プライベート5、及びプライベート6の色は、プライベートネットワークのために、又はトランスポートIPエンドポイントのNATアドレス指定がない場所で(例えば、同じ色の2つのエンドポイント間にNATがないことがあるため)使用され得るプライベート色とみなされ得る。エッジネットワークデバイス142がプライベート色を使用するとき、それらは、ネイティブ、プライベート、アンダーレイIPアドレスを使用して、他のエッジネットワークデバイスへのIPSecトンネルを構築しようと試み得る。パブリック色には、3g、ビズ、インターネット、青、青銅、カスタム1、カスタム2、カスタム3、デフォルト、金、緑、lte、パブリックインターネット、赤、及び銀が含まれ得る。パブリック色は、(NATが関与する場合)NAT後のIPアドレスへのトンネルを構築するために、エッジネットワークデバイス142によって使用され得る。エッジネットワークデバイス142がプライベート色を使用し、他のプライベート色と通信するためにNATを必要とする場合、構成内のキャリア設定は、エッジネットワークデバイス142がプライベートIPアドレスを使用するか又はパブリックIPアドレスを使用するかを指示することができる。この設定を使用して、2つのプライベート色は、一方又は両方がNATを使用しているときにセッションを確立することができる。
【0047】
図3は、ネットワーク(例えば、ネットワークアーキテクチャ100)のオーバーレイを管理するためにいくつかの実施形態において使用され得るOMPの動作を示す
図300の例を例示する。この例では、OMPメッセージ302A及び302B(まとめて302)は、ネットワークコントローラアプライアンス132とエッジネットワークデバイス142A及び142Bとの間でそれぞれ往復して送信されてもよい。ここで、ルートプレフィックス、ネクストホップルート、暗号鍵、ポリシー情報などの制御プレーン情報は、それぞれのセキュアなDTLS又はTLS接続304A及び304Bを介して交換され得る。ネットワークコントローラアプライアンス132は、ルートリフレクタと同様に動作することができる。例えば、ネットワークコントローラアプライアンス132は、エッジネットワークデバイス142からルートを受信し、任意のポリシーを処理し、ルートに適用し、オーバーレイ内の他のエッジネットワークデバイス142にルートをアドバタイズすることができる。定義されたポリシーが存在しない場合、エッジネットワークデバイス142は、各エッジネットワークデバイス142が別のサイトにおける別のエッジネットワークデバイス142に直接接続し、各サイトから完全なルーティング情報を受信することができるフルメッシュトポロジと同様に挙動し得る。
【0048】
OMPは、以下の3つのタイプのルートをアドバタイズすることができる。
・エッジネットワークデバイス142のローカルサイト又はサービス側から学習されるプレフィックスに対応し得るOMPルート。プレフィックスは、静的若しくは接続されたルートとして、又は、例えば、OSPF若しくはBGPプロトコル内から発信され、オーバーレイにわたって搬送され得るように、OMPに再配布され得る。OMPルートは、トランスポートの場所(transport location、TLOC)情報(BGPネクストホップIPアドレスに類似し得る)などの属性、並びに起点、発信元、プリファレンス、サイト識別子、タグ、及び仮想プライベートネットワーク(virtual private network、VPN)などの他の属性をアドバタイズすることができる。OMPルートは、それが指し示すTLOCがアクティブである場合、転送テーブルにインストールされ得る。
・トランスポートネットワーク160に接続するエッジネットワークデバイス142上の論理トンネル終端ポイントに対応し得るTLOCルート。いくつかの実施形態では、TLOCルートは、一意に識別され、IPアドレス、リンク色、及びカプセル化(例えば、汎用ルーティングカプセル化(Generic Routing Encapsulation、GRE)、IPSecなど)を含む3つのタプルによって表され得る。システムIPアドレス、色、及びカプセル化に加えて、TLOCルートはまた、TLOCプライベート及びパブリックIPアドレス、キャリア、プリファレンス、サイト識別子、タグ、並びに重みなどの属性を搬送することができる。いくつかの実施形態では、TLOCは、アクティブなBFDセッションがそのTLOCに関連付けられているとき、特定のエッジネットワークデバイス142上でアクティブ状態にあり得る。
・エッジネットワークデバイス142のローカルサイトに接続され得、かつサービス挿入とともに使用するために他のサイトにアクセス可能であり得るサービス(例えば、ファイアウォール、分散型サービス拒否(distributed denial of service、DDoS)緩和器、ロードバランサ、侵入防止システム(intrusion prevent system、IPS)、侵入検出システム(intrusion detection systems、IDS)、WANオプティマイザなど)を表すことができるサービ、スルート。更に、これらのルートはまた、VPNを含むことができる。VPNラベルは、どのVPNがリモートサイトでサービスされるかをネットワークコントローラアプライアンス132に伝えるために、更新タイプで送信することができる。
【0049】
図3の例では、OMPは、エッジネットワークデバイス142とネットワークコントローラアプライアンス132との間に確立されたDTLS/TLSトンネル304上で実行されるように示されている。更に、
図300は、WANトランスポートネットワーク160A上でTLOC308Aと308Cとの間に確立されたIPSecトンネル306A、及びWANトランスポートネットワーク160B上でTLOC308BとTLOC308Dとの間に確立されたIPSecトンネル306Bを示す。IP secトンネル306A及び306Bが確立されると、それらの各々にわたってBFDを有効にすることができる。
【0050】
図4は、ネットワーク(例えば、ネットワークアーキテクチャ100)のセグメンテーションを提供するためにいくつかの実施形態において使用され得るVPNの動作を示す
図400の例を例示する。VPNは、互いに分離することができ、独自の転送テーブルを有することができる。インターフェース又はサブインターフェースは、単一のVPNの下で明示的に構成することができ、2つ以上のVPNの一部でなくてもよい。ラベルは、OMPルート属性において及びパケットカプセル化において使用され得、これは、パケットが属するVPNを識別することができる。VPN番号は、0~65530の値を有する4バイトの整数とすることができる。いくつかの実施形態において、ネットワークオーケストレータアプライアンス104、ネットワーク管理アプライアンス122、ネットワークコントローラアプライアンス132、及び/又はエッジネットワークデバイス142は各々、トランスポートVPN402(例えば、VPN番号0)及び管理VPN404(例えば、VPN番号512)を含むことができる。トランスポートVPN402は、WANトランスポートネットワーク(例えば、MPLSネットワーク162及びインターネットトランスポートネットワーク160)にそれぞれ接続する1つ以上の物理又は仮想ネットワークインターフェース(例えば、ネットワークインターフェース410A及び410B)を含むことができる。ネットワークコントローラアプライアンス132への、又はネットワークコントローラアプライアンス132とネットワークオーケストレータアプライアンス104との間のセキュアなDTLS/TLS接続は、トランスポートVPN402から開始され得る。加えて、制御プレーン130が確立され得、IPSecトンネル306(図示せず)がリモートサイトに接続することができるように、静的若しくはデフォルトルート又は動的ルーティングプロトコルが、トランスポートVPN402内で構成され、適切なネクストホップ情報を得ることができる。
【0051】
管理VPN404は、ネットワークインターフェース410Cを介して、ネットワークオーケストレータアプライアンス104、ネットワーク管理アプライアンス122、ネットワークコントローラアプライアンス132、及び/又はエッジネットワークデバイス142の間で、帯域外管理トラフィックを搬送することができる。いくつかの実施形態では、管理VPN404は、オーバーレイネットワークにわたって搬送されない場合がある。
【0052】
トランスポートVPN402及び管理VPN404に加えて、ネットワークオーケストレータアプライアンス104、ネットワーク管理アプライアンス122、ネットワークコントローラアプライアンス132、又はエッジネットワークデバイス142は、1つ以上のサービス側VPN406も含むことができる。サービス側VPN406は、1つ以上のローカルサイトネットワーク412に接続し、ユーザデータトラフィックを搬送する1つ以上の物理又は仮想ネットワークインターフェース(例えば、ネットワークインターフェース410D及び410E)を含むことができる。サービス側VPN406は、OSPF又はBGP、仮想ルータ冗長プロトコル(VRRP)、QoS、トラフィックシェーピング、ポリシングなどの特徴に対して有効にすることができる。いくつかの実施形態では、ユーザトラフィックは、サイト412におけるネットワークコントローラアプライアンス132から受信されたOMPルートをサービス側VPNルーティングプロトコルに再配布することによって、IPSecトンネルを介して他のサイトに向けられ得る。次に、ローカルサイト412からのルートは、サービスVPNルートをOMPルーティングプロトコルにアドバタイジングすることによって、他のサイトにアドバタイズされることができ、これは、ネットワークコントローラアプライアンス132に送信され、ネットワーク内の他のエッジネットワークデバイス142に再配布され得る。ネットワークインターフェース410A~E(まとめて410)は、この例では物理インターフェースであるように示されているが、当業者であれば、トランスポート及びサービスVPN内のインターフェース410は、代わりにサブインターフェースであり得ることを理解するであろう。
【0053】
図5は、異なるドメインにわたって制御プレーンを実装するネットワーク構成を例示する。いくつかの事例では、ネットワークプロバイダは、ネットワークの管理を集中化しながら、異なる地理的領域にわたってネットワーク構成を水平にスケーリングすることを望む場合がある。この例では、ネットワーク500は、管理プレーン機能及び制御プレーン機能を含むデータセンタ505を含む。データセンタ505は、少なくとも1つのネットワークコントローラアプライアンス532を管理する少なくとも1つのネットワーク管理アプライアンス522を含む。
【0054】
ネットワーク500は、第1の領域510と第2の領域515とに地理的に分離されており、いずれの領域もデータセンタ505を含むことができる。例えば、第1の領域510及び第2の領域515は、別個の地理的領域であり、異なるドメインを有する別個のネットワークオペレータでもあり得る。例えば、第1のネットワークオペレータは、第1の領域510を運営及び管理することができ、第2の異なるネットワークオペレータは、第2の領域515を運営及び管理することができる。いずれにしても、データセンタ505は、異なる領域のいずれかに関連付けることができ、明確さのために別々に例示されている。
【0055】
この例では、エッジネットワークデバイス542は、各対応する領域内の物理又は仮想ネットワークオーケストレータアプライアンス504によって管理される。管理及びコントローラ機能は、それぞれ異なる地理的領域に組み込まれ得るが、これは、追加のデバイス(例えば、ネットワークコントローラアプライアンス532)が、その領域に組み込まれることを必要とする。そのために、ネットワークオペレータは、管理プレーン機能及び制御プレーン機能を単一の場所に保ち、次いで、追加のネットワークデバイスに関連付けられた余分なコストを負うことなく、異なる領域において追加のネットワーク容量を水平にスケールアウトすることを好む場合がある。
【0056】
DTLSトンネルとして動作する各接続は、デバイス認証が成功した後に確立され、ネットワークコントローラアプライアンス532とエッジネットワークデバイス542との間で暗号化されたペイロードを搬送する。このペイロードは、ネットワークコントローラアプライアンス532がネットワークトポロジを決定し、次いでネットワーク宛先への最良のルートを計算し、このルート情報をエッジネットワークデバイス542に配布するのに必要なルート情報からなる。ネットワークコントローラアプライアンス532とエッジネットワークデバイス542との間のDTLS接続は、静的接続である。ネットワークコントローラアプライアンス532は、エッジネットワークデバイス542がサービス側で接続される任意のデバイスとの直接的なピアリング関係を有していない。
【0057】
このタイプの解決策は、NATが1つのドメイン(例えば、第1の領域510)のアドレスと別のドメイン(例えば、第2の領域515)のアドレスとの間で変換することを必要とする。この例では、データセンタ505は、第1の領域510内に配設されると仮定され、したがって、第1のドメインのためのNATを必要としない。しかしながら、NAT520は、データセンタ505を含む第1の領域510と、第2の領域515との間で通信するために必要とされる。NAT520は、エッジネットワークデバイス542がネットワークコントローラアプライアンス532と通信することを可能にするために、第2の領域内のアドレスを第1の領域に関連付けられたアドレスに変換する。
図5に例示されるNAT520は、どの領域にも具体的に位置していないが、NAT520は、第1の領域510内、第2の領域515内、又は異なる領域間に構成することができる。
【0058】
図5に例示される様々なネットワークデバイスは、IPv4及び/又はIPv6通信が可能であり得る。IPv4インターフェース及びIPv6インターフェースの両方を含むデバイスは、デュアルスタック構成と称される。しかしながら、ネットワークコントローラアプライアンス532は、各クライアントデバイスの単一のインターフェース(例えば、IPv4又はIPv6)にのみサービス提供可能であり得る。その結果、NAT520を使用してIPv4又はIPv6ルートがリークする可能性がある。場合によっては、ネットワークオペレータは、悪意のある中間者攻撃を防止するためにルートがリークしないこと及び他のセキュリティ予防措置を要求することがある。例えば、ルートがリークすることを防止するセキュリティ及び/又は地域規制の考慮事項があり得る。そのために、
図5のこの解決策は、IPv4又はIPv6ルートがリークするのを防止するための追加の構成を必要とする。
【0059】
図6は、
図5に例示したネットワーク構成を使用してIPv4又はIPv6ルートリークを防止するための例示的なシーケンス
図600を例示する。以下に説明するように、ネットワークコントローラアプライアンス532の異なるIPアドレスは、ルートリークを防止するために、単一の接続(例えば、IPv4又はIPv6)を介して中継される。アドレス情報は、ネットワークコントローラアプライアンス532からネットワークオーケストレータアプライアンス504に中継され、ネットワークオーケストレータアプライアンス504は、その情報をエッジネットワークデバイス542に提供する。
【0060】
ネットワークコントローラアプライアンス532が、ネットワークオーケストレータアプライアンス504との第1の接続(例えば、IPv4接続)を構成した後、ネットワークコントローラアプライアンス532は、第2のアドレス(例えば、IPv6アドレス)に対する追加のDTLS接続のセットアップを要求し得る。DTLSチャレンジフェーズの間、ネットワークコントローラアプライアンス532は、ブロック610において、接続(例えば、IPv4接続)が存在することを識別し得、IPv4接続が兄弟セッションであることを識別する。ネットワークコントローラアプライアンス532は、それによって、ブロック612において、ネットワークオーケストレータアプライアンス504に送信される制御メッセージに兄弟セッションフィールド(例えば、タイプ長値(TLV))を挿入することを決定する。
【0061】
ネットワークオーケストレータアプライアンス504は、制御メッセージを受信し、制御メッセージを分析し、兄弟セッションフィールドを識別する。ネットワークオーケストレータアプライアンス504は、ブロック614において、ネットワークオーケストレータアプライアンス504によって認識されたネットワークコントローラアプライアンス532のIPv6アドレスをネットワークコントローラアプライアンス532に送信する。したがって、送信されるIPv6アドレスは、ネットワークコントローラアプライアンス504がNATの背後に位置するので、ネットワークオーケストレータアプライアンス532によって認識されるアドレスである。
【0062】
ネットワークコントローラアプライアンス532は、対応するIPv4セッションを識別し、ブロック616において、IPv4接続を使用して、ネットワークコントローラアプライアンス532のIPv6アドレスをネットワークオーケストレータアプライアンス504に返す。ブロック618において、ネットワークオーケストレータアプライアンス504及びネットワークコントローラアプライアンス532は、ネットワークコントローラアプライアンス532のIPv4アドレス及びIPv6アドレスを関連付ける。いくつかの例では、ネットワークコントローラアプライアンス532のIPv6アドレスは、ネットワークオーケストレータアプライアンスにおいて、IPv6アドレスが別のIPv4アドレスに関連することを示すが、どのIPv4アドレスかを明示的に識別する必要はないブール値と関連付けられ得る。以下で説明されるように、このブール値は、ネットワークオーケストレータアプライアンスが、このIPv6アドレスが別のアドレスに関連付けられており、スキップされ得ることを理解することを可能にする。他の例では、IPv6アドレス及びIPv4アドレスは、ポインタ又は何らかの他のデータ構造を介して明示的にリンクされ得る。
【0063】
ブロック620において、エッジネットワークデバイス542がアクティブ化されてもよく、ネットワークオーケストレータアプライアンス504からの識別ネットワークコントローラアプライアンスを要求してもよい。これは、エッジネットワークデバイス542がアクティブ化され(例えば、ブートされ、再起動されるなど)、オーバーレイ管理プロトコル(OMP)を介して制御通信を処理するネットワークコントローラアプライアンスを識別するためにネットワークコントローラアプライアンスの識別を要求するときに発生し得る。
【0064】
ブロック622において、ネットワークオーケストレータアプライアンス504は、エッジネットワークデバイス542を識別するためのネットワークコントローラアプライアンスを検索する。検索中、ネットワークコントローラアプライアンスがデュアルスタックデバイスであり、かつIPv4アドレス及びIPv6アドレスの両方を含む場合であっても、ネットワークオーケストレータアプライアンス504は、各ネットワークコントローラアプライアンスを一度だけ考慮する。すなわち、ネットワークオーケストレータアプライアンス504は、ネットワークコントローラアプライアンスのダブルカウントを防止する。
【0065】
ネットワークオーケストレータアプライアンス504は、少なくとも1つのネットワークコントローラアプライアンスを識別する応答を送信する。ネットワークコントローラアプライアンスがIPv4アドレス及びIPv6アドレスを含む場合、応答は、ブロック622において、IPv4アドレス及びIPv6アドレスの両方を識別する。この例では、ネットワークコントローラアプライアンス532との通信は、IPv6ドメインにおいて制限される。したがって、ネットワークオーケストレータアプライアンス504は、ブロック622において、IPv4接続を使用してIPv4及びIPv6アドレスの両方を識別するメッセージを送信する。
【0066】
その結果、エッジネットワークデバイス542は、ネットワークコントローラアプライアンス532のIPv4アドレス及びIPv6アドレスの両方を受信し、ネットワークコントローラアプライアンス532との好適なネットワーク接続を構成することができる。すなわち、エッジネットワークデバイス542は、IPv4アドレス及びIPv6アドレスの識別を受信し、ネットワークコントローラアプライアンスとの適切な接続を選択することができる。したがって、データセンタ505は第1の領域510内に位置すると仮定されるので、第2の領域515内に位置するデバイスは、制御プレーン機能及び管理プレーン機能のために第1の領域510内のネットワークデバイスに接続することができる。この構成は、ネットワークエッジデバイス542がネットワークコントローラアプライアンス532への最適な接続を構成することを可能にしながら、追加のドメイン及び地理的領域の水平スケーリングを可能にし、ルートのリークを防止する。
【0067】
図5及び
図6において上述された例は、メッセージをIPv4ドメインに制約するように説明されているが、この説明は、IPv6と、IPv4ドメインにおける制約通信に等しく適用可能である。例えば、ネットワークコントローラアプライアンス532のIPv4アドレスは、IPv4ルートリークを防止するために、IPv6接続を介してネットワークオーケストレータアプライアンスに送信され得る。
【0068】
図7は、ネットワークコントローラアプライアンスのための例示的な方法700を例示する。例示的な方法700は、動作の特定のシーケンスを描写するが、シーケンスは、本開示の範囲から逸脱することなく変更され得る。例えば、描写された動作のいくつかは、並行して、又は方法700の機能に実質的に影響を及ぼさない異なるシーケンスで実行されてもよい。他の例では、方法700を実装する例示的なデバイス又はシステムの異なる構成要素は、実質的に同時に、又は特定のシーケンスで機能を実行することができる。
【0069】
いくつかの例によれば、方法700は、ネットワークオーケストレータとの第2の接続が要求されたとき、ブロック710において、ネットワークオーケストレータとの第1の接続を識別することを含む。いくつかの例では、第1の接続の識別は、異なる領域に位置するネットワークオーケストレータとネットワークコントローラとの間のDTLSセッション初期化のチャレンジフェーズ中に行われる。例として、
図11に例示されるプロセッサ1100は、ネットワークコントローラからのネットワークオーケストレータとの第2の接続の確立中に、ネットワークオーケストレータとの第1の接続を識別し得る。
【0070】
この例の説明目的のために、第1の接続は論じるためにIPv4接続であると仮定され、第2の接続はIPv6接続であると仮定される。しかしながら、第1の接続はIPv6接続であってもよく、第2の接続はIPv4接続であってもよい。
【0071】
ネットワークオーケストレータ及びネットワークコントローラは、異なる領域に位置するので、ネットワークオーケストレータ及びネットワークコントローラは、異なるドメインに関連付けられてもよく、ネットワークアドレス変換器は、IPアドレスを変換するように実装されてもよい。いくつかの例では、
図10Fを参照して以下で説明されるように、ネットワークコントローラは、複数のネットワークオーケストレータに接続され得る。
【0072】
いくつかの例によれば、方法700は、ブロック720では、制御プレーンにおいてIPv6接続とIPv4接続とをリンクする兄弟セッションを確立することを含む。セッションをリンクすることによって、ネットワークコントローラ及びネットワークオーケストレータによるネットワーク接続のダブルカウントを排除し得、これは、デバイスが最適なネットワーク接続を見つけるのを妨げ得る。そのために、プロセッサ1100は、ネットワークオーケストレータの汎用一意識別子(UUID)を使用して、制御プレーンにおいてIPv6接続とIPv4接続とをリンクする兄弟セッションを見つけて確立することができる。
【0073】
いくつかの例によれば、方法700は、ブロック730において、兄弟セッションを識別する兄弟データフィールドを制御メッセージに挿入することを含む。例えば、プロセッサ1100は、兄弟セッションを識別する兄弟データメッセージを制御メッセージに挿入し得る。ネットワークオーケストレータは、兄弟データメッセージを受信し、IPv4接続及びIPv6接続を単一の論理接続として関連付ける。
【0074】
制御メッセージに応答して、方法700は、ブロック740において、IPv6接続に関連付けられたネットワークコントローラのアドレスを含むメッセージを、IPv6接続を介してネットワークオーケストレータから受信し得る。受信されたアドレスは、ネットワークオーケストレータによって認識されるネットワークコントローラのアドレス(すなわち、変換されたIPアドレス)である。特に、ネットワークコントローラは、その認識されたパブリックIPアドレスを知らず、したがって、外部ソースからアドレスを受信しなければならない。したがって、プロセッサ1100は、IPv6接続に関連付けられたネットワークコントローラのアドレスを含むメッセージを、IPv6接続を介してネットワークオーケストレータから受信してもよい。
【0075】
いくつかの例によれば、方法700は、ブロック750において、ネットワークオーケストレータへの異なる接続を介してネットワークコントローラのアドレスを送信することを含む。例えば、プロセッサ1100は、ネットワークコントローラのIPv6アドレスを、IPv4接続を介してネットワークオーケストレータに送信し得る。ネットワークオーケストレータは、ネットワークコントローラのIPv6アドレスを受信し、IPv4接続及びIPv6接続を単一の論理接続として関連付ける。ネットワークオーケストレータは、単一のインターフェースを使用してエッジネットワークデバイスのセットアップ中にIPv4アドレス及びIPv6アドレスを送信するように構成され、エッジネットワークデバイスは、ネットワーク接続のための理想的なインターフェースを選択することができる。しかしながら、いくつかの例では、ネットワークオーケストレータは、IPv4接続を使用してネットワークコントローラのIPv6アドレスをネットワークエッジデバイスに通知する。
【0076】
したがって、方法700は、ネットワークオーケストレータが、単一の接続を使用してIPv4アドレスとIPv6アドレスの両方をネットワークエッジデバイスに提供することを可能にする。この例では、IPv4接続を介してネットワークコントローラのIPv6アドレスをネットワークエッジデバイスに通知することは、ネットワークエッジデバイスとの通信がネットワークコントローラとの通信を単一のインターフェースに制約することになるので、ネットワークアドレス変換に関連するルートのリークを排除する。
【0077】
図8は、ネットワークオーケストレータのための例示的な方法800を例示する。例示的な方法800は、動作の特定のシーケンスを描写するが、シーケンスは、本開示の範囲から逸脱することなく変更され得る。例えば、描写された動作のいくつかは、並行して、又は方法800の機能に実質的に影響を及ぼさない異なるシーケンスで実行されてもよい。他の例では、方法800を実装する例示的なデバイス又はシステムの異なる構成要素は、実質的に同時に、又は特定のシーケンスで機能を実行してもよい。
【0078】
いくつかの例によれば、方法800は、ブロック810において、第1の接続が第2の接続に関連することを示す兄弟データフィールドを含むメッセージを受信することを含む。兄弟データフィールドは、ネットワークコントローラによって挿入され、ネットワークコントローラとの既存の接続が存在することを示すTLVである。例えば、
図11に例示されたプロセッサ1100は、IPv6セッションを作成している間に、IPv4接続がIPv6接続に関連していることを示す兄弟データメッセージを含むメッセージを受信し得る。
【0079】
いくつかの例によれば、方法800は、ブロック820において、第2の接続を介してネットワークコントローラにメッセージを送信することを含む。このメッセージは、第2の接続に関連付けられたネットワークコントローラの第2のアドレスを含むことができる。例えば、IPv4セッションが存在すると仮定すると、プロセッサ1100は、ネットワークオーケストレータによって認識されるネットワークコントローラのIPv6アドレスを含むメッセージを、IPv6接続を介してネットワークコントローラに送信し得る。上述したように、ネットワークコントローラは、NATに起因して異なる領域におけるそのIPv6アドレスを認識しておらず、したがって、ネットワークオーケストレータは、ネットワークコントローラのIPv6 NATアドレスをネットワークコントローラに提供する。
【0080】
いくつかの例によれば、方法800は、ブロック830において、ネットワークコントローラから第1の接続を介して第2の接続に関連付けられたネットワークコントローラのアドレスを受信することを含む。例えば、ネットワークオーケストレータにIPv4セッションとIPv6セッションとをリンクさせるために、プロセッサ1100は、ネットワークコントローラからIPv4接続を介してネットワークコントローラのIPv6 NATアドレスを受信し得る。
【0081】
いくつかの例によれば、方法800は、ブロック840において、第1の接続及び第2の接続を単一の論理接続としてリンクする。例えば、プロセッサ1100は、IPv4接続及びIPv6接続を単一の論理接続としてリンクしてもよい。
【0082】
いくつかの例によれば、ネットワークオーケストレータは、ネットワークエッジデバイスを接続する要求を受信し得る。したがって、ネットワークオーケストレータのプロセッサ1100は、エッジネットワークデバイスを識別するためにネットワークコントローラを検索し得る。したがって、ネットワークオーケストレータは、IPv4アドレスに基づいて各エッジネットワークデバイスを分析し得る。しかしながら、ネットワークオーケストレータは、IPv6アドレス及びIPv4アドレスがリンクされていないとき、IPv6アドレスに基づいて各ネットワークエッジデバイスを解析し得る。すなわち、ネットワークオーケストレータは、各ネットワークコントローラを1回分析する。
【0083】
方法800は、ブロック850において、ネットワークエッジデバイスを接続するための要求を受信したことに応答して、IPv4接続を介してネットワークエッジデバイスにメッセージを送信することを更に含み得る。メッセージは、第1の接続に関連付けられたネットワークコントローラの第1のアドレスと、第2のアドレスとを識別し得る。例えば、プロセッサ1100は、ネットワークエッジデバイスを接続する要求を受信したことに応答して、ネットワークコントローラのIPv4アドレス及びIPv6アドレスを識別するメッセージを、IPv4接続を介してネットワークエッジデバイスに送信し得る。
【0084】
図9は、ネットワークコントローラに接続するためのネットワークエッジデバイスの例示的な方法900を例示する。例示的な方法900は、動作の特定のシーケンスを描写するが、シーケンスは、本開示の範囲から逸脱することなく変更され得る。例えば、描写された動作のいくつかは、並行して、又は方法900の機能に実質的に影響を及ぼさない異なるシーケンスで実行されてもよい。他の例では、方法900を実装する例示的なデバイス又はシステムの異なる構成要素は、実質的に同時に、又は特定のシーケンスで機能を実行してもよい。
【0085】
いくつかの例によれば、方法900は、ブロック910において、第1の接続を介してネットワークエッジデバイスを管理するために、ネットワークコントローラのアドレスについての要求をネットワークオーケストレータに送信することを含む。例えば、プロセッサ1100は、IPv4接続を介してネットワークエッジデバイスを管理するために、ネットワークコントローラのアドレスについての要求をネットワークオーケストレータに送信し得る。
【0086】
いくつかの例によれば、方法900は、ブロック920において、ネットワークコントローラの第1のアドレス及びネットワークコントローラの第2のネットワークアドレスを識別するメッセージを受信することを含む。例えば、プロセッサ1100は、ネットワークコントローラのIPv4アドレスとネットワークコントローラのIPv6ネットワークアドレスとを識別するメッセージを受信し得る。
【0087】
いくつかの例によれば、方法900は、ブロック930において、第1のアドレス又は第2のアドレスを介してネットワークコントローラに接続することを決定することを含む。例えば、プロセッサ1100は、IPv4アドレス又はIPv6アドレスを介してネットワークコントローラに接続することを決定し得る。
【0088】
図10A、
図10B、
図10C、
図10D、
図10E、及び
図10Fは、異なる領域又はドメインにおけるネットワークの通信を例示するブロック図である。特に、
図10Aは、ネットワークコントローラ1002及びネットワークオーケストレータ1004が、IPv4接続及びIPv6接続を介して通信していることを例示する。図示されていないが、ネットワークコントローラ1002及びネットワークオーケストレータ1004は、異なる地理的領域に位置し、異なるドメインに関連付けられている。IPv6接続は、ルートリークを防止するためにNAT1006を使用して変換される。ネットワークコントローラ1002及びネットワークオーケストレータ1004は、ステップ1010においてIPv4接続を介してUUIDを交換し、ステップ1012においてIPv6接続を介してUUIDを交換する。
【0089】
図10Bは、IPv4及びIPv6接続を単一の論理接続として処理させる兄弟セッション1014が形成されることを例示する。
【0090】
図10Cは、ネットワークオーケストレータが、インターフェースIf
0においてネットワークオーケストレータ1004によって認識されるように、ネットワークコントローラ1002のIPv6アドレスを送信することを例示し、ステップ1016において、ネットワークコントローラ1002に送信される。
【0091】
図10Dは、ステップ1020において、ネットワークオーケストレータ1004によって認識されたネットワークコントローラ1002のIPv6アドレスが、IPv4接続を介してネットワークオーケストレータ1004に送信されることを例示する。ネットワークオーケストレータ1004によって受信されると、ネットワークオーケストレータ1004は、IPv4アドレス及びIPv6アドレスを関連付け、IPv4接続及びIPv6接続を単一の論理接続として扱う。
【0092】
図10Eは、エッジデバイス1022がネットワークオーケストレータ1004からネットワークコントローラを要求することを例示する。ステップ1024において、ネットワークオーケストレータは、IPv4接続を介してネットワークコントローラ1002のIPv4アドレス及びIPv6アドレスをエッジデバイスに送信する。エッジデバイス1022は、NAT1006とのIPv4接続を使用して又はIPv6接続を使用して、ネットワークコントローラ1002と通信し得る。
【0093】
図10Fは、第2のネットワークオーケストレータ1054、第2のNAT1056、及び第2のエッジデバイス1058が、ネットワーク管理機能を集中させながらネットワークを水平にスケーリングするために、異なる領域又は異なるドメインにおいて実装され得ることを例示する。すなわち、ネットワークコントローラ1002は、エッジデバイス1020及びエッジデバイス1058の両方が異なるドメインにある場合であっても、両方を制御するように実装され得る。
【0094】
図11は、コンピューティングシステム1100の例を示し、これは、例えば、ネットワークオーケストレータアプライアンス504、ネットワークコントローラアプライアンス532、エッジネットワークデバイス542、又はシステムの構成要素が接続1105を使用して互いに通信しているその任意の構成要素を構成する任意のコンピューティングデバイスであり得る。接続1105は、バスを介した物理的接続、又はチップセットアーキテクチャにおけるようなプロセッサ1110への直接的な接続であり得る。接続1105はまた、仮想接続、ネットワーク接続、又は論理接続であってもよい。
【0095】
いくつかの実施形態では、コンピューティングシステム1100は、本開示で説明される機能が、データセンタ、複数のデータセンタ、ピアネットワークなど内に分散され得る分散システムである。いくつかの実施形態では、説明されるシステム構成要素のうちの1つ以上は、構成要素が説明される機能の一部又は全部を各々が行う、多くのそのような構成要素を表す。いくつかの実施形態では、構成要素は、物理デバイス又は仮想デバイスであり得る。
【0096】
例示的なシステム1100は、少なくとも1つの処理ユニット(CPU又はプロセッサ)1110と、読取り専用メモリ(read only memory、ROM)1120及びランダムアクセスメモリ(random access memory、RAM)1125などのシステムメモリ1115を含む様々なシステム構成要素をプロセッサ1110に結合する接続1105とを含む。コンピューティングシステム1100は、プロセッサ1110に直接接続されたか、近接したか、又はそのプロセッサの一部として統合された高速メモリ1112のキャッシュを含むことができる。
【0097】
プロセッサ1110は、任意の汎用プロセッサと、プロセッサ1110を制御するように構成された、記憶デバイス1130に記憶されたサービス1132、1134、及び1136などのハードウェアサービス又はソフトウェアサービスと、ソフトウェア命令が実際のプロセッサ設計に組み込まれた専用プロセッサと、を含むことができる。プロセッサ1110は、本質的に、複数のコア又はプロセッサ、バス、メモリコントローラ、キャッシュなどを含む完全に自己完結型のコンピューティングシステムであってもよい。マルチコアプロセッサは、対称又は非対称であってもよい。
【0098】
ユーザ対話を可能にするために、コンピューティングシステム1100は、音声のためのマイクロフォン、ジェスチャ又はグラフィカル入力のためのタッチセンシティブスクリーン、キーボード、マウス、動き入力、音声などの、任意の数の入力機構を表し得る入力デバイス1145を含む。コンピューティングシステム1100はまた、当業者に知られているいくつかの出力機構のうちの1つ以上であり得る出力デバイス1135を含むことができる。いくつかの例において、マルチモーダルシステムは、ユーザがコンピューティングシステム1100と通信するために複数のタイプの入力/出力を提供することを可能し得る。コンピューティングシステム1100は、通信インターフェース1140(例えば、トランシーバ)を含むことができ、これは、概して、ユーザ入力及びシステム出力を支配及び管理することができる。任意の特定のハードウェア構成上で動作することに対する制限はなく、したがって、ここでの基本的な特徴は、改良されたハードウェア又はファームウェア構成が開発されるにつれて、それらの構成と容易に置換され得る。
【0099】
記憶デバイス1130は、不揮発性メモリデバイスとすることができ、ハードディスク、又は磁気カセット、フラッシュメモリカード、ソリッドステートメモリデバイス、デジタル多用途ディスク、カートリッジ、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、及び/若しくはこれらのデバイスの何らかの組み合わせなど、コンピュータによってアクセス可能なデータを記憶することができる他のタイプのコンピュータ可読媒体とすることができる。
【0100】
記憶デバイス1130は、ソフトウェアサービス、サーバ、サービスなどを含むことができ、そのようなソフトウェアを定義するコードがプロセッサ1110によって実行されると、システムに機能を実行させる。いくつかの実施形態では、特定の機能を実行するハードウェアサービスは、機能を実行するために、プロセッサ1110、接続1105、出力デバイス1135などの必要なハードウェア構成要素に関連してコンピュータ可読媒体に記憶されたソフトウェア構成要素を含むことができる。
【0101】
説明を明確にするために、いくつかの事例では、本技術は、ソフトウェア、又はハードウェア及びソフトウェアの組み合わせで具現化される方法におけるデバイス、デバイス構成要素、ステップ又はルーチンを備える機能ブロックを含む個々の機能ブロックを含むものとして提示され得る。
【0102】
本明細書で説明されるステップ、動作、機能、又はプロセスのいずれも、ハードウェア及びソフトウェアサービス又はサービスの組み合わせによって、単独で、又は他のデバイスと組み合わせて、実行又は実装され得る。いくつかの実施形態では、サービスは、クライアントデバイス及び/又はコンテンツ管理システムの1つ以上のサーバのメモリ内に存在し、プロセッサがそのサービスに関連付けられたソフトウェアを実行するときに、1つ以上の機能を行う、ソフトウェアであり得る。いくつかの実施形態において、サービスは、プログラム、又は特定の機能を実行するプログラムの集合である。いくつかの実施形態では、サービスは、サーバとみなすことができる。メモリは、非一時的なコンピュータ可読媒体であり得る。
【0103】
いくつかの実施形態では、コンピュータ可読記憶デバイス、媒体、及びメモリは、ビットストリームなどを含むケーブル又はワイヤレス信号を含むことができる。しかしながら、言及されるとき、非一時的なコンピュータ可読記憶媒体は、エネルギー、搬送波信号、電磁波、及び信号自体などの媒体を明示的に除外する。
【0104】
上述の例による方法は、コンピュータ可読媒体に記憶されるか、又は別様にコンピュータ可読媒体から利用可能なコンピュータ実行可能命令を使用して実装することができる。そのような命令は、例えば、汎用コンピュータ、専用コンピュータ、又は専用処理デバイスに、ある機能又は機能のグループを実行させるか、又は別様にそれらを構成する命令及びデータを含むことができる。使用されるコンピュータリソースの部分は、ネットワークを介してアクセス可能であり得る。コンピュータ実行可能命令は、例えば、バイナリ、アセンブリ言語などの中間フォーマット命令、ファームウェア、又はソースコードであってもよい。説明される例による方法中に命令、使用される情報、及び/又は作成される情報を記憶するために使用され得るコンピュータ可読媒体の例は、磁気又は光ディスク、ソリッドステートメモリデバイス、フラッシュメモリ、不揮発性メモリを備えたUSBデバイス、ネットワーク化された記憶デバイスなどを含む。
【0105】
これらの開示による方法を実装するデバイスは、ハードウェア、ファームウェア、及び/又はソフトウェアを備えることができ、様々なフォームファクタのいずれかをとることができる。そのようなフォームファクタの典型的な例は、サーバ、ラップトップ、スマートフォン、スモールフォームファクタパーソナルコンピュータ、携帯情報端末などを含む。本明細書で説明される機能はまた、周辺機器又はアドインカードにおいて具現化され得る。そのような機能はまた、さらなる例として、単一のデバイス内で実行される異なるチップ又は異なるプロセス間の回路基板上に実装され得る。
【0106】
命令、そのような命令を搬送するための媒体、それらを実行するためのコンピューティングリソース、及びそのようなコンピューティングリソースをサポートするための他の構造は、これらの開示において説明される機能を提供するための手段である。
【0107】
添付の特許請求の範囲内の態様を説明するために様々な例及び他の情報が使用されたが、当業者はこれらの例を使用して多種多様な実装形態を導出することができるので、そのような例における特定の特徴又は構成に基づいて特許請求の範囲の限定が暗示されるべきではない。更に、いくつかの主題は、構造的特徴及び/又は方法ステップの例に特有の言語で説明されている場合があるが、添付の特許請求の範囲において定義される主題は、これらの説明された特徴又は行為に必ずしも限定されないことを理解されたい。例えば、そのような機能は、本明細書で識別された構成要素以外の構成要素において異なるように分散され得るか、又は実行され得る。むしろ、説明された特徴及びステップは、添付の特許請求の範囲内のシステム及び方法の構成要素の例として開示される。
【0108】
本開示の例示的な実施例は、以下を含む。
態様1.方法であって、ネットワークコントローラからのネットワークオーケストレータとの第2の接続の確立中に、ネットワークオーケストレータとの第1の接続を識別することと、制御プレーンにおいて第2の接続と第1の接続とをリンクする兄弟セッションを確立することと、兄弟セッションを識別する兄弟データメッセージを、送信される制御メッセージに挿入することと、第2の接続を介してネットワークオーケストレータから、第2の接続に関連付けられたネットワークコントローラのアドレスを含むメッセージを受信することと、第1の接続を介してネットワークオーケストレータにネットワークコントローラの第2のアドレスを送信することと、を含み、ネットワークオーケストレータは、ネットワークコントローラの第2のアドレスを受信し、第1の接続及び第2の接続を単一の論理接続として関連付け、ネットワークオーケストレータは、ネットワークエッジデバイスのセットアップ中に第1のアドレス及び第2のアドレスを送信するように構成されている、方法。
態様2.兄弟セッションは、ネットワークオーケストレータのUUIDを識別することに基づいて識別される、態様1に記載の方法。
態様3.ネットワークオーケストレータは、兄弟データメッセージを受信し、第1の接続及び第2の接続を単一の論理接続として関連付ける、態様1又は2に記載の方法。
態様4.第1の接続の識別は、DTLSセッション初期化のプロセスチャレンジフェーズ中に行われる、態様1~3のいずれかに記載の方法。
態様5.ネットワークオーケストレータは、第1の接続を使用してネットワークコントローラの第2のアドレスをネットワークエッジデバイスに通知する、態様1~4のいずれかに記載の方法。
態様6.第1の接続を介してネットワークコントローラの第2のアドレスをネットワークエッジデバイスに通知することにより、ネットワークアドレス変換に関連するルートのリークが排除される、態様1~5のいずれかに記載の方法。
態様7.ネットワークコントローラは、第1の領域に位置し、ネットワークオーケストレータは、第1の領域とは異なる第2の領域に位置する、態様1~6のいずれかに記載の方法。
態様8.ネットワークアドレス変換器は、第2の領域に関連付けられたIPアドレスを第1の領域に関連付けられたIPアドレスに変換する、態様1~7のいずれかに記載の方法。
態様9.ネットワークコントローラは、異なる領域にある第2のネットワークオーケストレータと接続される、態様1~8のいずれかに記載の方法。
態様10.第1の接続がIPv4接続であり、第2の接続がIPv6接続であるか、又は、第1の接続がIPv6接続であり、第2の接続がIPv4接続である、態様1~9のいずれかに記載の方法。
態様11.方法であって、第1の接続が第2の接続に関連していることを示す兄弟データメッセージを含むメッセージを受信することであって、メッセージは、第1の接続及び第2の接続がネットワークコントローラと確立されるときに受信されることと、第2の接続を介してネットワークコントローラにメッセージを送信することであって、メッセージは、第2の接続に関連付けられたネットワークコントローラの第2のアドレスを含むことと、ネットワークコントローラから第1の接続を介して第2の接続に関連付けられたネットワークコントローラのアドレスを受信することと、第1の接続及び第2の接続を単一の論理接続としてリンクすることと、ネットワークエッジデバイスを接続するための要求を受信したことに応答して、第1の接続を介してネットワークエッジデバイスにメッセージを送信することであって、メッセージは、第1の接続及び第2のアドレスに関連付けられたネットワークコントローラの第1のアドレスを識別することと、を含む、方法。
態様12.第1のタイプのアドレスに関連付けられたネットワークオーケストレータによって管理される各ネットワークコントローラの各接続を分析することと、第2のタイプのアドレスに関連付けられ、第1のタイプのアドレスに関連付けられた接続にリンクされていない各ネットワークコントローラの各接続を分析することと、を更に含む、態様11に記載の方法。
態様13.ネットワークコントローラであって、トランシーバと、プロセッサであって、命令を実行し、プロセッサに、ネットワークコントローラからのネットワークオーケストレータとの第2の接続の確立中にネットワークオーケストレータとの第1の接続を識別させ、制御プレーンにおいて第2の接続と第1の接続とをリンクする兄弟セッションを確立させ、兄弟セッションを識別する兄弟データメッセージを制御メッセージに挿入させ、第2の接続を介してネットワークオーケストレータから、第2の接続に関連付けられたネットワークコントローラのアドレスを含むメッセージを受信させ、第1の接続を介してネットワークオーケストレータにネットワークコントローラの第2のアドレスを送信させるように構成された、プロセッサと、を備え、ネットワークオーケストレータは、ネットワークコントローラの第2のアドレスを受信し、第1の接続及び第2の接続を単一の論理接続として関連付け、ネットワークオーケストレータは、ネットワークエッジデバイスのセットアップ中に第1のアドレス及び第2のアドレスを送信するように構成されている、ネットワークコントローラ。
態様14.兄弟セッションは、ネットワークオーケストレータのUUIDを識別することに基づいて識別される、態様13に記載のネットワークコントローラ。
態様15.ネットワークオーケストレータは、兄弟データメッセージを受信し、第1の接続及び第2の接続を単一の論理接続として関連付ける、態様13又は14のいずれかに記載のネットワークコントローラ。
態様16.第1の接続の識別は、DTLSセッション初期化のプロセスチャレンジフェーズ中に行われる、態様13~15のいずれかに記載のネットワークコントローラ。
態様17.ネットワークオーケストレータは、第1の接続を使用してネットワークエッジデバイスにネットワークコントローラの第2のアドレスを通知する、態様13~16のいずれかに記載のネットワークコントローラ。
態様18.第1の接続を介してネットワークコントローラの第2のアドレスをネットワークエッジデバイスに通知することにより、ネットワークアドレス変換に関連するルートのリークが排除される、態様13~17のいずれかに記載のネットワークコントローラ。
態様19.ネットワークコントローラは、第1の領域に位置し、ネットワークオーケストレータは、第1の領域とは異なる第2の領域に位置する、態様13~18のいずれかに記載のネットワークコントローラ。
態様20.ネットワークアドレス変換器は、第2の領域に関連付けられたIPアドレスを第1の領域に関連付けられたIPアドレスに変換する、態様13~19のいずれかに記載のネットワークコントローラ。
態様21:ネットワークデバイスは、トランシーバ(例えば、ネットワークインターフェース、ワイヤレストランシーバなど)と、トランシーバに結合されたプロセッサと、を含む。プロセッサは、命令を実行し、プロセッサに、ネットワークコントローラからのネットワークオーケストレータとの第2の接続の確立中にネットワークオーケストレータとの第1の接続を識別させ、制御プレーンにおいて第2の接続と第1の接続とをリンクする兄弟セッションを確立させ、兄弟セッションを識別する兄弟データメッセージを、送信される制御メッセージに挿入させ、第2の接続を介してネットワークオーケストレータから、第2の接続に関連付けられたネットワークコントローラのアドレスを含むメッセージを受信させ、第1の接続を介してネットワークオーケストレータにネットワークコントローラの第2のアドレスを送信させるように構成されており、ネットワークオーケストレータは、ネットワークコントローラの第2のアドレスを受信し、第1の接続及び第2の接続を単一の論理接続として関連付け、ネットワークオーケストレータは、ネットワークエッジデバイスのセットアップ中に第1のアドレス及び第2のアドレスを送信するように構成されている。
態様22:兄弟セッションは、ネットワークオーケストレータのUUIDを識別することに基づいて識別される、態様21に記載のネットワークデバイス。
態様23:ネットワークオーケストレータは、兄弟データメッセージを受信し、第1の接続及び第2の接続を単一の論理接続として関連付ける、態様21又は22のいずれかに記載のネットワークデバイス。
態様24:第1の接続の識別は、DTLSセッション初期化のプロセスチャレンジフェーズ中に行われる、態様21~23のいずれかに記載のネットワークデバイス。
態様25:ネットワークオーケストレータは、第1の接続を使用して、ネットワークエッジデバイスにネットワークコントローラの第2のアドレスを通知する、態様21~24のいずれかに記載のネットワークデバイス。
態様26:第1の接続を介してネットワークコントローラの第2のアドレスをネットワークエッジデバイスに通知することにより、ネットワークアドレス変換に関連するルートのリークが排除される、態様21~25のいずれかに記載のネットワークデバイス。
態様27:ネットワークコントローラは、第1の領域に位置し、ネットワークオーケストレータは、第1の領域とは異なる第2の領域に位置する、態様21~26のいずれかに記載のネットワークデバイス。
態様28:ネットワークアドレス変換器は、第2の領域に関連付けられたIPアドレスを第1の領域に関連付けられたIPアドレスに変換する、態様21~27のいずれかに記載のネットワークデバイス。
態様29:ネットワークコントローラは、異なる領域にある第2のネットワークオーケストレータに接続される、態様21~28のいずれかに記載のネットワークデバイス。
態様30:第1の接続がIPv4接続であり、第2の接続がIPv6接続であるか、又は第1の接続がIPv6接続であり、第2の接続がIPv4接続である、態様21~29のいずれかに記載のネットワークデバイス。
態様31:ネットワークデバイスは、トランシーバ(例えば、ネットワークインターフェース、ワイヤレストランシーバなど)と、トランシーバに結合されたプロセッサと、を含む。プロセッサは、命令を実行し、プロセッサに、第1の接続が第2の接続に関連することを示す兄弟データメッセージを含むメッセージであって、第1の接続及び第2の接続がネットワークコントローラと確立されるときに受信されるメッセージを受信することと、第2の接続を介してネットワークコントローラにメッセージを送信することであって、メッセージは、第2の接続に関連付けられたネットワークコントローラの第2のアドレスを含むことと、ネットワークコントローラから第1の接続を介して第2の接続に関連付けられたネットワークコントローラのアドレスを受信することと、第1の接続及び第2の接続を単一の論理接続としてリンクすることと、ネットワークエッジデバイスを接続するための要求を受信したことに応答して、第1の接続を介してネットワークエッジデバイスにメッセージであって、第1の接続及び第2のアドレスに関連付けられたネットワークコントローラの第1のアドレスを識別するメッセージを送信することと、を行わせるように構成されている。
態様32:プロセッサは、命令を実行し、プロセッサに、第1のタイプのアドレスに関連付けられたネットワークオーケストレータによって管理される各ネットワークコントローラの各接続を分析させ、第2のタイプのアドレスに関連付けられ、第1のタイプのアドレスに関連付けられた接続にリンクされていない各ネットワークコントローラの各接続を分析させるように構成されている、態様31に記載のネットワークデバイス。
態様33:ネットワークデバイスは、トランシーバ(例えば、ネットワークインターフェース、ワイヤレストランシーバなど)と、トランシーバに結合されたプロセッサと、を含む。プロセッサは、命令を実行し、プロセッサに以下を行わせるように構成されている。すなわち、トランシーバ、プロセッサであって、命令を実行し、プロセッサに、ネットワークコントローラからのネットワークオーケストレータとの第2の接続の確立中にネットワークオーケストレータとの第1の接続を識別させ、制御プレーンにおいて第2の接続と第1の接続とをリンクする兄弟セッションを確立させ、兄弟セッションを識別する兄弟データメッセージを制御メッセージに挿入させ、第2の接続を介してネットワークオーケストレータから、第2の接続に関連付けられたネットワークコントローラのアドレスを含むメッセージを受信させ、第1の接続を介してネットワークオーケストレータにネットワークコントローラの第2のアドレスを送信させるように構成された、プロセッサ。ネットワークオーケストレータは、ネットワークコントローラの第2のアドレスを受信し、第1の接続及び第2の接続を単一の論理接続として関連付け、ネットワークオーケストレータは、ネットワークエッジデバイスのセットアップ中に第1のアドレス及び第2のアドレスを送信するように構成されている。
態様34:兄弟セッションは、ネットワークオーケストレータのUUIDを識別することに基づいて識別される、態様33に記載のネットワークデバイス。
態様35:兄弟セッションは、ネットワークオーケストレータのUUIDを識別することに基づいて識別される、態様33~34のいずれかに記載のネットワークデバイス。
態様36:第1の接続の識別は、DTLSセッション初期化のプロセスチャレンジフェーズ中に行われる、態様33~35のいずれかに記載のネットワークデバイス。
態様37:ネットワークオーケストレータは、第1の接続を使用して、ネットワークエッジデバイスにネットワークコントローラの第2のアドレスを通知する、態様33~36のいずれかに記載のネットワークデバイス。
態様38:プロセッサは、命令を実行し、プロセッサに、第1の接続を介してネットワークコントローラの第2のアドレスをネットワークエッジデバイスに通知させるように構成され、ネットワークアドレス変換に関連するルートのリークを排除する、態様33~37のいずれかに記載のネットワークデバイス。
態様39:ネットワークコントローラは、第1の領域に位置し、ネットワークオーケストレータは、第1の領域とは異なる第2の領域に位置する、態様33~38のいずれかに記載のネットワークデバイス。
態様40:ネットワークアドレス変換器は、第2の領域に関連付けられたIPアドレスを第1の領域に関連付けられたIPアドレスに変換する、態様33~39のいずれかに記載のネットワークデバイス。