(57)【特許請求の範囲】
【請求項１】
複数のカスタマエッジルータのうちの１つである第１のカスタマエッジルータにおいてアドレス変換を提供する方法であって、
前記第１のカスタマエッジルータにより、前記第１のカスタマエッジルータと１つ以上の統合ルータ内の各統合ルータとの間のトンネルを確立することと、
前記第１のカスタマエッジルータにより、プライベートＩＰアドレスのパブリックＩＰアドレスへの変換であるネットワークアドレス変換（ＮＡＴ）を第１のデータパケットについて行って、ＮＡＴ後の第１のデータパケットを生成することと、
前記第１のカスタマエッジルータにより、前記１つ以上の統合ルータから、前記ＮＡＴ後の第１のデータパケットの送信先とすべき第１の統合ルータを選択することと、
前記第１のカスタマエッジルータにより、前記第１のカスタマエッジルータと前記第１の統合ルータとの間で確立されたトンネルに対応するオーバレイ情報と共に、前記ＮＡＴ後の第１のデータパケットをカプセル化することと、
前記第１のカスタマエッジルータにより、カプセル化された前記ＮＡＴ後の第１のデータパケットを、前記第１の統合ルータへ前記トンネルを通じて送信することと、
を含む方法。
【請求項２】
請求項１の方法であって、前記パブリックＩＰアドレスは、前記第１のカスタマエッジルータのデバイスアドレスである、方法。
【請求項３】
請求項２の方法であって、前記デバイスアドレスは、前記第１の統合ルータの機能ＩＰアドレス空間内の個別のＩＰアドレスである、方法。
【請求項４】
請求項１〜３のいずれか１項の方法であって、前記第１のカスタマエッジルータ及び前記第１の統合ルータは、第１キャリアにより提供され、前記第１のカスタマエッジルータと前記第１の統合ルータとの間の前記トンネルは、前記第１キャリアにより提供されるネットワーク回線を用いて確立される、方法。
【請求項５】
請求項１〜３のいずれか１項の方法であって、前記第１のカスタマエッジルータ及び前記第１の統合ルータは、第１キャリアにより提供され、前記第１のカスタマエッジルータと前記第１の統合ルータとの間の前記トンネルは、第２キャリアにより提供されるネットワーク回線を用いて確立される、方法。
【請求項６】
請求項１〜５のいずれか１項の方法であって、前記第１のカスタマエッジルータにより、前記プライベートＩＰアドレスから前記パブリックＩＰアドレスへの前記ＮＡＴの記録をメンテナンスすること、をさらに含む、方法。
【請求項７】
請求項１〜６のいずれか１項の方法であって、前記オーバレイ情報は、オーバレイヘッダを含み、前記オーバレイヘッダは、前記第１のカスタマエッジルータと前記第１の統合ルータとの間の前記トンネルを確立するために使用される、前記第１のカスタマエッジルータのポートアドレス及び前記第１の統合ルータのポートアドレスを含む、方法。
【請求項８】
請求項１〜７のいずれか１項の方法であって、
前記第１のカスタマエッジルータにより、前記第１のカスタマエッジルータと前記第１の統合ルータとの間で確立された前記トンネルを通じて、第２のデータパケットを受信することと、
前記第１のカスタマエッジルータにより、前記第２のデータパケットからオーバレイ情報を除去して、逆カプセル化された第２のデータパケットを生成することと、
前記第１のカスタマエッジルータにより、前記逆カプセル化された第２のデータパケットについて逆ＮＡＴを行うことと、
逆ＮＡＴ後の前記逆カプセル化された第２のデータパケットにおいて特定された宛先アドレスへの伝達のために、逆ＮＡＴ後の前記逆カプセル化された第２のデータパケットを転送することと、
をさらに含む、方法。
【請求項９】
アドレス変換を提供するように構成される、複数のカスタマエッジルータのうちの１つであるカスタマエッジルータであって、
命令群を記憶するように構成されるメモリと、
前記命令群を実行するように構成されるプロセッサと、を備え、前記命令群の実行によって、前記プロセッサに、
前記カスタマエッジルータと１つ以上の統合ルータとの間のオーバレイネットワークであって、前記カスタマエッジルータと前記１つ以上の統合ルータの各々との間のそれぞれのトンネルを含む前記オーバレイネットワークを確立することと、
プライベートＩＰアドレスのパブリックＩＰアドレスへの変換であるネットワークアドレス変換（ＮＡＴ）を第１のデータパケットについて行って、ＮＡＴ後の第１のデータパケットを生成することと、
前記ＮＡＴ後の第１のデータパケットを送信するための適切なトンネルを選択することと、
選択された前記トンネルに対応するオーバレイ情報と共に、前記ＮＡＴ後の第１のデータパケットをカプセル化することと、
カプセル化された前記ＮＡＴ後の第１のデータパケットを、選択された前記トンネルを通じて送信することと、
を行わせる、カスタマエッジルータ。
【請求項１０】
請求項９のカスタマエッジルータであって、前記パブリックＩＰアドレスは、前記カスタマエッジルータのデバイスアドレスである、カスタマエッジルータ。
【請求項１１】
請求項１０のカスタマエッジルータであって、前記デバイスアドレスは、前記１つ以上の統合ルータの機能ＩＰアドレス空間内の個別のＩＰアドレスである、カスタマエッジルータ。
【請求項１２】
請求項９〜１１のいずれか１項のカスタマエッジルータであって、前記カスタマエッジルータ及び前記１つ以上の統合ルータは、第１キャリアにより提供され、前記カスタマエッジルータと前記１つ以上の統合ルータの各々との間の前記それぞれのトンネルは、前記第１キャリアにより提供されるネットワーク回線を用いて確立される、カスタマエッジルータ。
【請求項１３】
請求項９〜１１のいずれか１項のカスタマエッジルータであって、前記カスタマエッジルータ及び前記１つ以上の統合ルータは、第１キャリアにより提供され、前記カスタマエッジルータと前記１つ以上の統合ルータの各々との間の前記それぞれのトンネルのうちの少なくとも１つのトンネルは、第２キャリアにより提供されるネットワーク回線を用いて確立される、カスタマエッジルータ。
【請求項１４】
請求項９〜１３のいずれか１項のカスタマエッジルータであって、前記オーバレイ情報は、オーバレイヘッダを含み、前記オーバレイヘッダは、前記カスタマエッジルータのポートアドレス及び前記トンネルが確立される統合ルータのポートアドレスを含む、カスタマエッジルータ。
【請求項１５】
請求項９〜１４のいずれか１項のカスタマエッジルータであって、前記命令群の実行によって、前記プロセッサに、
選択された前記トンネルを通じて第２のデータパケットを受信することと、
前記第２のデータパケットからオーバレイ情報を除去して、逆カプセル化された第２のデータパケットを生成することと、
前記逆カプセル化された第２のデータパケットについて逆ＮＡＴを行うことと、
逆ＮＡＴ後の前記逆カプセル化された第２のデータパケットにおいて特定された宛先アドレスへの伝達のために、逆ＮＡＴ後の前記逆カプセル化された第２のデータパケットを転送することと、
を行わせる、カスタマエッジルータ。
【請求項１６】
命令群を記憶した非一時的なコンピュータ読取可能な記憶媒体であって、カスタマエッジルータのプロセッサによる実行に応じて、前記プロセッサに、
前記カスタマエッジルータと１つ以上の統合ルータとの間のオーバレイネットワークであって、前記カスタマエッジルータと前記１つ以上の統合ルータの各々との間のそれぞれのトンネルを含む前記オーバレイネットワークを確立することと、
プライベートＩＰアドレスのパブリックＩＰアドレスへの変換であるネットワークアドレス変換（ＮＡＴ）を第１のデータパケットについて行って、ＮＡＴ後の第１のデータパケットを生成することと、
前記ＮＡＴ後の第１のデータパケットを送信するための適切なトンネルを選択することと、
選択された前記トンネルに対応するオーバレイ情報と共に、前記ＮＡＴ後の第１のデータパケットをカプセル化することと、
カプセル化された前記ＮＡＴ後の第１のデータパケットを、選択された前記トンネルを通じて送信することと、
を行わせる、非一時的なコンピュータ読取可能な記憶媒体。
【請求項１７】
請求項１６の非一時的なコンピュータ読取可能な記憶媒体であって、前記パブリックＩＰアドレスは、前記カスタマエッジルータのデバイスアドレスであり、前記デバイスアドレスは、前記１つ以上の統合ルータの機能ＩＰアドレス空間内の個別のＩＰアドレスである、非一時的なコンピュータ読取可能な記憶媒体。
【請求項１８】
請求項１６又は１７の非一時的なコンピュータ読取可能な記憶媒体であって、前記カスタマエッジルータ及び前記１つ以上の統合ルータは、第１キャリアにより提供され、前記カスタマエッジルータと前記１つ以上の統合ルータの各々との間の前記それぞれのトンネルは、前記第１キャリアにより提供されるネットワーク回線を用いて確立される、非一時的なコンピュータ読取可能な記憶媒体。
【請求項１９】
請求項１６又は１７の非一時的なコンピュータ読取可能な記憶媒体であって、前記カスタマエッジルータ及び前記１つ以上の統合ルータは、第１キャリアにより提供され、前記カスタマエッジルータと前記１つ以上の統合ルータの各々との間の前記それぞれのトンネルのうちの少なくとも１つのトンネルは、第２キャリアにより提供されるネットワーク回線を用いて確立される、非一時的なコンピュータ読取可能な記憶媒体。
【請求項２０】
請求項１６〜１９のいずれか１項の非一時的なコンピュータ読取可能な記憶媒体であって、前記プロセッサによる実行に応じて、前記プロセッサに、
選択された前記トンネルを通じて第２のデータパケットを受信することと、
前記第２のデータパケットからオーバレイ情報を除去して、逆カプセル化された第２のデータパケットを生成することと、
前記逆カプセル化された第２のデータパケットについて逆ＮＡＴを行うことと、
逆ＮＡＴ後の前記逆カプセル化された第２のデータパケットにおいて特定された宛先アドレスへの伝達のために、逆ＮＡＴ後の前記逆カプセル化された第２のデータパケットを転送することと、
を行わせる命令群、をさらに記憶した、非一時的なコンピュータ読取可能な記憶媒体。
【請求項２１】
複数のカスタマエッジルータのうちの１つである第１のカスタマエッジルータにおいてアドレス変換を提供するための装置であって、
前記第１のカスタマエッジルータにより、前記第１のカスタマエッジルータと１つ以上の統合ルータ内の各統合ルータとの間のトンネルを確立するための手段と、
前記第１のカスタマエッジルータにより、プライベートＩＰアドレスのパブリックＩＰアドレスへの変換であるネットワークアドレス変換（ＮＡＴ）を第１のデータパケットについて行って、ＮＡＴ後の第１のデータパケットを生成するための手段と、
前記第１のカスタマエッジルータにより、前記１つ以上の統合ルータから、前記ＮＡＴ後の第１のデータパケットの送信先とすべき第１の統合ルータを選択するための手段と、
前記第１のカスタマエッジルータにより、前記第１のカスタマエッジルータと前記第１の統合ルータとの間で確立されたトンネルに対応するオーバレイ情報と共に、前記ＮＡＴ後の第１のデータパケットをカプセル化するための手段と、
前記第１のカスタマエッジルータにより、カプセル化された前記ＮＡＴ後の第１のデータパケットを、前記第１の統合ルータへ前記トンネルを通じて送信するための手段と、
を備える装置。
【請求項２２】
請求項２１に記載の装置であって、請求項２〜８のいずれか１項に記載の方法を実装するための手段、をさらに備える、装置。
【請求項２３】
コンピュータにより実行された場合に、前記コンピュータに、請求項１〜８のいずれか１項の方法のステップ群を遂行させる命令群、を含む、コンピュータプログラム、コンピュータプログラムプロダクト又はコンピュータ読取可能な媒体。
【請求項２４】
請求項１の方法であって、
前記第１のカスタマエッジルータにより、前記ＮＡＴに基づくＮＡＴ記録と、仮想ルーティング及び転送（ＶＲＦ）テーブルをメンテナンスすること
をさらに含む、方法。
【請求項２５】
請求項９のカスタマエッジルータであって、前記命令群の実行によって、前記プロセッサに、
前記ＮＡＴに基づくＮＡＴ記録と、仮想ルーティング及び転送（ＶＲＦ）テーブルをメンテナンスすること、
を行わせる、カスタマエッジルータ。
【請求項２６】
請求項１６の非一時的なコンピュータ読取可能な記憶媒体であって、前記プロセッサによる実行に応じて、前記プロセッサに、
前記ＮＡＴに基づくＮＡＴ記録と、仮想ルーティング及び転送（ＶＲＦ）テーブルをメンテナンスすること、
を行わせる命令群、をさらに記憶した、非一時的なコンピュータ読取可能な記憶媒体。
【請求項２７】
請求項２１に記載の装置であって、請求項２４に記載の方法を実装するための手段、をさらに備える、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、ネットワーク通信に関連する。
【背景技術】
【０００２】
現在、企業及びその他のエンティティの間で、クラウドアーキテクチャに対する動きが強まっている。その動きの１つの帰結として、企業顧客は、ネットワークサービスプロバイダに、コネクティビティサービス及びセキュリティサービス（例えば、セキュアなコネクティビティ及びデータの送信、並びにファイアウォールサービスなど）といった、より管理されたサービス群を求めている。
【０００３】
本開示において請求される主題は、上述したような環境において不利を解決し又はそこでのみ動作する実施形態には限定されない。むしろ、この背景は、本開示において説明されるいくつかの実施形態を実践し得る１つの例示的な技術領域を単に示すために提供されている。
【発明の概要】
【０００４】
本発明の複数の観点が独立請求項において提示されており、好適な特徴が従属請求項において提示されている。ある観点の特徴は、各観点単独で、又は他の観点との組合せで適用されてよい。
【０００５】
いくつかの例によれば、複数のカスタマエッジルータのうちのカスタマエッジルータにおいて、仮想化されたキャリアグレードネットワークアドレス変換（ＣＧＮ）を提供する方法が説明される。複数のカスタマエッジルータのうちの第１のカスタマエッジルータにおいて仮想化されたＣＧＮを提供する例示的な方法は、上記第１のカスタマエッジルータにより、上記第１のカスタマエッジルータと１つ以上の統合ルータ内の各統合ルータとの間のトンネルを確立することと、上記第１のカスタマエッジルータにより、プライベートＩＰアドレスのパブリックＩＰアドレスへの変換であるネットワークアドレス変換（ＮＡＴ）を第１のデータパケットについて行って、ＮＡＴ後の第１のデータパケットを生成することと、を含み得る。上記方法は、上記第１のカスタマエッジルータにより、上記１つ以上の統合ルータから、上記ＮＡＴ後の第１のデータパケットの送信先とすべき第１の統合ルータを選択することと、上記第１のカスタマエッジルータにより、上記第１のカスタマエッジルータと上記第１の統合ルータとの間で確立されたトンネルに対応するオーバレイ情報と共に、上記ＮＡＴ後の第１のデータパケットをカプセル化することと、上記第１のカスタマエッジルータにより、カプセル化された上記ＮＡＴ後の第１のデータパケットを、上記第１の統合ルータへ上記トンネルを通じて送信することと、をも含み得る。
【０００６】
上記実施形態の目的及び利点は、少なくとも特許請求の範囲において特に摘示された要素、特徴及び組合せによって実現され及び達成されるであろう。前述した概略的な説明及び以下の詳細な説明の双方は、例として与えられており、説明用のものであって、請求項に記載した通りの発明を制限するものではない。
【図面の簡単な説明】
【０００７】
本開示の前述の及び他の特徴は、添付図面と併せて見ることで、以下の説明及び添付の特許請求の範囲からより十分に明らかとなるであろう。これら図面が本開示に係るいくつかの実施形態のみを描いており、したがってそのスコープを限定するものとみなされるべきではないと理解しながら、本開示を、次の添付図面の使用を通して、追加的な具体例及び詳細と共に記述する：
【図１】本開示のアーキテクチャが動作し得る環境及びデバイスの概要を示している。
【図２】図１のアーキテクチャにおける例示的なアドレス空間管理を示している。
【図３】図１のアーキテクチャにおける選択されたデバイスの例示的なアドレス及び機能割当てを示している。
【図４】例示的なネットワークトラフィックフローを示すシーケンス図である。
【図５】例示的な帰りのネットワークトラフィックフローを示すシーケンス図である。
【図６】ＮＡＴと共にデータパケットを送信する例示的な処理を示すフロー図である。
【図７】ＮＡＴ後のデータパケットに対応する帰りのデータパケットを送信する例示的な処理を示すフロー図である。
【図８】仮想化されたネットワーク機能をアドレス空間統合を通じて提供するために使用され得るエッジネットワークデバイスの環境を示している。  全ては、ここで説明される少なくともいくつかの実施形態に従って構成されている。
【発明を実施するための形態】
【０００８】
以下の詳細な説明では、その一部をなす添付図面への参照がなされる。図中で、文脈による別段の叙述がない限り、類似の符号は典型的に類似のコンポーネントを識別する。詳細な説明、図面及び特許請求の範囲に記述した例示的な実施形態は、限定を意味するものではない。ここで提示される主題の精神及びスコープから逸脱することなく、他の実施形態が利用されてもよく、及び他の変更がなされてもよい。ここで広く記述され図面に示される通りの本開示の複数の観点を、多岐にわたる様々な構成で配置し、代用し、組合せ、分離し及び設計することができ、その全てはここで明示的に予期される。
【０００９】
本開示は、とりわけ、１つ以上の管理されたサービス（互換可能に、“ネットワーク機能”又は“機能”としてここで言及される）に複数の分散ネットワークノードが参加し及びそれらを有効化することを可能にすることに関連する、方法、装置、システム、デバイス及び／又はコンピュータプログラムプロダクトに広く着目しており、それらは、典型的には少数の集中化された大規模ネットワーク機器を用いて達せられるであろう。
【００１０】
上で議論したように、企業は、彼らのネットワークサービスプロバイダに、より管理されたサービスを求めている。管理されたサービスを企業へ提供するにあたり、ネットワークサービスプロバイダ（互換可能に、“ネットワークキャリア”又は“キャリア”としてここで言及される）は、少数の集中化されたネットワークノード又は統合ノードを含む統合レイヤを採用するかもしれない。ネットワークサービスプロバイダは、統合レイヤの一方の側に企業顧客を配置し、統合レイヤの他方の側にインターネットといった企業顧客の外部のネットワーク基盤を配置し得る。ネットワークサービスプロバイダは、統合レイヤを通じて、企業顧客と企業顧客の外部のネットワーク基盤との間の全てのネットワークトラフィックを案内し得る。即ち、キャリアネットワークを出入りする全てのネットワークトラフィックは、統合レイヤ内の上記少数の集中化された統合ノードを通過する。
【００１１】
例えば、キャリアは、統合レイヤ内に少数の集中化されたピアルータ又はプロバイダエッジルータ（互換可能に、“統合ノード”又は“統合ルータ”としてここで言及される）を採用してよく、キャリアネットワークのパブリックエッジかその近傍に上記少数の集中化された統合ルータを配置し得る。また、キャリアは、企業顧客がキャリアネットワークへ接続する当該キャリアネットワークのエッジに、複数のルータ（例えば、カスタマエッジルータ）を採用して管理し得る。例えば、カスタマエッジルータは、企業顧客の多様なロケーション又は構内に位置してもよい。カスタマエッジルータは、キャリアのプロバイダエッジ、例えば統合ルータへ接続され、キャリアの最終地点であり得る。キャリアは、統合ルータを用いてパブリックアドレスを広告し、そのようにしてネットワークトラフィックを統合ルータを通じてキャリアネットワークへ案内し得る。キャリアは、統合ルータとカスタマエッジルータとの間の適切なルーティングを提供し得る。キャリアネットワークに出入りする全てのネットワークトラフィックは上記少数の集中化された統合ルータを通過するために、キャリアは、上記少数の集中化された統合ルータにおいて管理されたサービスを提供し得る。キャリアは、帰りのネットワークトラフィックのルートを制御する（例えば、より多くのネットワークトラフィックにキャリアネットワークを通過させる）こともできる。
【００１２】
しかしながら、少数の集中化された統合ルータを用いることは、その少数のノードが非常に大規模な、恐らくは膨大な量の情報をメンテナンスしなければならないというスケーラビリティの課題を呈する。例えば、キャリアは、キャリアグレードネットワークアドレス変換（ＣＧＮ）を統合ルータにおいて提供して、キャリアネットワークに出入りするネットワークトラフィックを統合ルータを通じて案内し及び制御し得る。ＣＧＮは、キャリアが、カスタマエッジルータ（例えば、企業顧客）にプライベートアドレスを提供し、カスタマエッジルータから少数の統合ルータへネットワークトラフィックを引き入れ、統合ルータにおいてプライベートネットワークアドレスを統合ルータのパブリックアドレス（例えば、統合ルータにより広告されたパブリックアドレス）へ変換することのできるアプローチである。統合ルータは、カスタマエッジルータへの帰りのネットワークトラフィックについて“逆の”変換を行ってもよい。このことは、非常に多くのネットワークアドレス（例えばネットワークノード）のために統合ルータがＣＧＮを提供するであろうことから、上記少数の統合ルータが非常に大規模な、恐らくは膨大な量の状態情報をメンテナンスすることを要し得る。これがスケーラビリティの課題を呈し得る。加えて、統合ルータは数百又は数千の顧客にサービス中であり得ることから、統合ルータの障害が重大なインパクトを与える（例えば、非常に多くのネットワークノードに影響する）かもしれない。
【００１３】
本開示は、概して、典型的には少数の集中化された統合ノードを用いて達せられるであろう１つ以上のネットワーク機能に任意の数の分散されたネットワークノードが参加し及びそれらを有効化することについて記述する。いくつかの実施形態において、複数のカスタマエッジルータが、分散処理とキャリアネットワークドメインをまたいだアドレス空間統合との組合せを使用してよく、その中で、ネットワーク機能を伝達するために当該ネットワーク機能が仮想化された形で提供される。
【００１４】
一例を提供する目的のために、仮想化されたネットワーク機能の一例として、ＣＧＮ機能が説明されるであろう。ファイアウォール、コンテンツ検査及びフィルタリング、並びに顧客構内機器（ＣＰＥ）などといった他のネットワーク機能が、ＣＧＮに関してここで説明される仮想化された形で同様に提供されてもよいことを、当業者は理解するであろう。そうしたネットワーク機能の他の例は、１つ以上のＶＰＮとの間でパケットをトランスポートする際の、仮想プライベートネットワーキング（ＶＰＮ）及び関連付けられるアドレスマッピングを含んでもよい。
【００１５】
いくつかの実施形態において、仮想化されたＣＧＮ機能は、統合プラットフォームレイヤと、機能エンドポイントレイヤと、統合又は機能的インターネットプロトコル（ＩＰ）アドレス空間とを含むアーキテクチャ上で提供され得る。統合プラットフォームレイヤは、１つ以上の統合ルータを含み得る。統合プラットフォームレイヤは、機能エンドポイントレイヤからのトンネルを終端し、外部ネットワーク（例えば、インターネット）と仮想化されたＣＧＮ機能を実行するデバイスとの間のゲートウェイとして動作し得る。また、統合プラットフォームレイヤは、統合ＩＰアドレス空間を広告してもよい。広告される統合ＩＰアドレス空間は、機能エンドポイントレイヤが仮想化ＣＧＮ機能を提供するキャリアネットワーク上にあるように見えるように、機能エンドポイントレイヤに対し帰りのルーティング可能性を提供し得る。
【００１６】
機能エンドポイントレイヤは、ネットワークアドレス変換（ＮＡＴ）を行って仮想化ＣＧＮキャリアネットワーク（例えば、仮想化ＣＧＮドメイン）をまとめて形成するデバイス群を含み得る。仮想化ＣＧＮキャリアネットワークは、統合プラットフォームレイヤを通じてアクセス可能であり得る。機能エンドポイントレイヤは、１つ以上のカスタマエッジルータを含み得る。各カスタマエッジルータは、統合プラットフォームレイヤ内の各統合ルータへのトンネルを確立して、オーバレイネットワークを確立し得る。
【００１７】
統合ＩＰアドレス空間は、例えばキャリアネットワークに面する接続に対する個別のＩＰアドレスとして、機能エンドポイントレイヤ内のカスタマエッジルータへ割り当てられ得る。カスタマエッジルータが複数のキャリアネットワーク内に所在する例では、統合ＩＰアドレス空間は、論理ループバックアドレスとしてカスタマエッジルータへ割り当てられ得る。統合ＩＰアドレス空間は、キャリアにより割り当てられ、統合プラットフォームレイヤ内の統合ルータから広告され得る。いくつかの実施形態において、統合ＩＰアドレス空間は、キャリアに非依存であってもよい。このアーキテクチャの１つの利益は、機能エンドポイント内のカスタマエッジルータがどのキャリアドメイン（例えば、キャリアネットワーク）に所在してもよく、仮想化ＣＧＮ機能を提供（管理）するキャリアに論理的に紐付けられ得ることである。
【００１８】
いくつかの実施形態において、各統合ルータは、統合ＩＰアドレス空間を広告し得る。統合ＩＰアドレス空間は、カスタマエッジルータへ割り当てられたＩＰアドレスを含む。各カスタマエッジルータは、自身に割り当てられたＩＰアドレスを用いてＮＡＴを行う。各カスタマエッジルータは、各統合ルータとトンネルを確立し得る。トンネルを確立するために適したプロトコルは、例によれば、ＧＲＥ（Generic Routing Encapsulation）、ＩＰｓｅｃ（Internet Protocol Security）、Ｌ２ＴＰ（Layer 2 Tunneling Protocol）及びその他のものを含む。
【００１９】
ＮＡＴの対象であるデータパケット（例えば、ネットワークトラフィック）（例えば、企業顧客からのネットワークトラフィック）を受信すると、カスタマエッジルータは、当該カスタマエッジルータに割り当てられたＩＰアドレスを用いて当該データパケットのＮＡＴを行い、特定の統合ルータへのトンネルのオーバレイ情報と共にＮＡＴ後のデータパケットをカプセル化し、カプセル化されたデータパケットをそのトンネルを通じて特定の統合ルータへ送信し得る。トンネルの他端では、上記特定の統合ルータが、オーバレイ情報を除去し、データが受信されたトンネルの記録をメンテナンスし、逆カプセル化されたデータパケットを特定の宛先へ転送し得る。例えば、上記特定の統合ルータは、データパケットが受信されたトンネルの記録を、ルーティングテーブル内でメンテナンスしてもよい。
【００２０】
いくつかの実施形態において、カスタマエッジルータは、ＶＰＮマッピングを行い得る。例えば、ＶＰＮからデータパケットを受信する場合、データパケットのＮＡＴを行う際に、カスタマエッジルータは、当該データパケットに関連付けられているＶＰＮを識別し得る。追加的に又は代替的に、カスタマエッジルータは、具体的なＶＰＮの範囲内でどのアドレスがルーティングされるべきかを識別するＶＲＦ（Virtual Routing & Forwarding）テーブルをメンテナンスしてもよい。例えば、カスタマエッジルータは、ルートを区別する主体がＶＰＮを識別するための、ルートターゲットを記憶してもよい。データパケットについて行われるＮＡＴは、上記特定の統合ルータがＶＰＮ情報を記憶しないように、ＶＰＮルーティングを解決し得る。本開示の実施形態は、企業がプロバイダ（例えば、Verizon又はComcast）へのデータリンクを獲得し、及びプロバイダエッジルータよりもむしろカスタマエッジルータを介してＶＰＮサービスを取得し得るような配置を提供し得る。
【００２１】
統合ルータは、帰りのデータパケット（例えば、帰りのネットワークトラフィック）を受信すると、当該帰りのデータパケット内のアドレッシング情報に基づいて、特定の（例えば、正確な）カスタマエッジルータへ帰りのデータパケットを転送し得る。例えば、帰りのデータパケット内で特定された宛先アドレスが、統合ＩＰアドレス空間におけるアドレスのそれであり得る。これは帰りのデータパケットであるため、帰りのデータパケット内のソース及び宛先アドレスは、もとのＮＡＴ後のデータパケット内のソース及び宛先アドレスの“逆”であり得る。即ち、もとのＮＡＴ後のソースアドレスが今や帰りのデータパケット内の宛先アドレスであり、もとの宛先アドレスが今や帰りのデータパケット内のソースアドレスである。統合ルータは、ＮＡＴ後のデータパケットを受信したトンネルの前回メンテナンスした記録に基づいて、特定のカスタマエッジルータ及び当該特定のカスタマエッジルータとの間で確立したトンネルを識別し得る。統合ルータは、識別したカスタマエッジルータへのトンネルのオーバレイ情報と共に帰りのデータパケットをカプセル化し、カプセル化した帰りのデータパケットを、識別したカスタマエッジルータへそのトンネルを通じて送信し得る。トンネルの他端では、上記特定のカスタマエッジルータが、オーバレイ情報を除去し、帰りのデータパケットの逆変換（例えば、逆ＮＡＴ）を行い、逆カプセル化され逆変換された帰りのデータパケットを特定された宛先へ転送し得る。
【００２２】
いくつかの実施形態において、カスタマエッジルータは、帰りのデータパケットを受信して逆ＮＡＴを行う際に、追加的にＶＰＮマッピングを行ってもよい。例えば、ＮＡＴテーブルによって、どのＶＰＮへ帰りのデータパケットが案内されるべきかが識別され得る。そのＶＰＮのＶＲＦテーブルは、ＶＰＮの範囲内でどこへ帰りのデータパケットがルーティングされるべきかを識別してもよい。
【００２３】
上述したように、いくつかの実施形態において、上記アーキテクチャは、ネットワークトラフィックのＮＡＴを各カスタマエッジルータが行うことを可能にし、統合ルータをＮＡＴ機能への入口及び出口地点として使用し、及び、各カスタマエッジルータと統合ルータとの間のトンネルを用いるオーバレイネットワークにおいてネットワークトラフィックをルーティングすることにより、仮想的なＣＧＮ機能の構築のために提供される。上記アーキテクチャにより提供される１つの利益は、スケーリングのどういった課題も大いに最小限に抑えられることである。例えば、仮想ＣＧＮのスケールは、ネットワークトラフィックの量及び／又はいずれか１つの統合ルータによりサポートされ得るトンネルの数により制限され得ることから、そのスケールの課題は、追加的な統合ルータの周囲でカスタマエッジルータをクラスタリングすることにより容易に解決され得る。
【００２４】
そのうえ、各カスタマエッジルータはＮＡＴ機能を行っていることから、各カスタマエッジルータは、当該カスタマエッジルータにより行われるネットワークトラフィックのＮＡＴについての状態情報をメンテナンスする。統合ルータは、ＮＡＴの状態情報をメンテナンスしない。ＮＡＴ機能を実行する多くのカスタマエッジルータが存在するかもしれず、各カスタマエッジルータが単一の顧客にサービスしているため、統合ルータ及びいずれかのカスタマエッジルータの障害が影響するのは、たかだか障害の起きたルータによりメンテナンスされている状態情報である。したがって、１つの利益は、障害によるインパクトが小さくなる可能性が高い（例えば、影響するのは少数のネットワークノードである）という点において、ここで説明したアーキテクチャの回復力が非常に高いことである。
【００２５】
本開示の実施形態について、添付図面を参照しながら説明する。
【００２６】
図１は、ここで説明される少なくともいくつかの実施形態に従って配置される、本開示のアーキテクチャが動作し得る環境１００及びデバイスの概要を示している。環境１００は、機能プロバイダドメイン１０２、ネットワークプロバイダドメイン１０４及び１０６、並びに外部ネットワーク１０８を含み得る。機能プロバイダドメイン１０２、ネットワークプロバイダドメイン１０４及びネットワークプロバイダドメイン１０６は、Verizon、AT&T、Sprint及びComcastなどといったキャリアにより提供され管理されるキャリアネットワークであり得る。外部ネットワーク１０８は、企業顧客の外部にある、インターネット及び１つ以上の接続パブリックネットワークなどといった任意のネットワーク基盤を含み得る。機能プロバイダドメイン１０２、ネットワークプロバイダドメイン１０４及び１０６、並びに外部ネットワーク１０８は、通信リンク１１０ａ〜１１０ｅにより互いに論理的に接続され得る。通信リンク１１０ａ〜１１０ｅは、プロバイダ間（例えば、キャリア間）リンクであってよい。
【００２７】
機能プロバイダドメイン１０２は、統合プラットフォームレイヤの機能性を提供し得る。機能プロバイダドメイン１０２は、統合ルータ１０２ａ及び１０２ｂといった、少数のネットワーク機器を含み得る。統合ルータ１０２ａ及び１０２ｂは、キャリアネットワーク（例えば、機能プロバイダドメイン１０２）のパブリックエッジに又はその近傍に位置し得る。機能プロバイダドメイン１０２は、ネットワークプロバイダドメイン１０４及び１０６と外部ネットワーク１０８との間のゲートウェイを動作させ又は当該ゲートウェイとして機能し得る。
【００２８】
ネットワークプロバイダドメイン１０４及び１０６は、ネットワークアドレス変換（ＮＡＴ）の機能性を提供し得る。ネットワークプロバイダドメイン１０４及び１０６は、企業顧客がキャリアネットワークへ接続する場所であるキャリアネットワーク（例えば、それぞれネットワークプロバイダドメイン１０４及びネットワークプロバイダドメイン１０６）のエッジに位置し又は配置される、カスタマエッジルータといった複数のネットワーク機器を各々含み得る。図示したように、ネットワークプロバイダドメイン１０４は、キャリアネットワーク（例えば、ネットワークプロバイダドメイン１０４）の企業顧客エッジに位置し又は配置されるカスタマエッジルータ１０４ａ及び１０４ｂを含み得る。ネットワークプロバイダドメイン１０６は、キャリアネットワーク（例えば、ネットワークプロバイダドメイン１０６）の企業顧客エッジに位置し又は配置されるカスタマエッジルータ１０６ａ及び１０６ｂを含み得る。
【００２９】
いくつかの実施形態において、ネットワークプロバイダドメイン１０４は、機能プロバイダドメイン１０２との間でオーバレイネットワークを確立し得る。例えば、各カスタマエッジルータ１０４ａ、１０４ｂ、１０６ａ及び１０６ｂは、機能プロバイダドメイン内の各統合ルータ１０２ａ及び１０２ｂへのトンネルを確立するように構成され得る。確立されたトンネルは、ＮＡＴの実行位置（例えば、機能を実行するカスタマエッジルータ１０４ａ、１０４ｂ、１０６ａ及び１０６ｂ）を統合地点（例えば、統合ルータ１０２ａ及び１０２ｂ）へ結び付け又は接続して、論理的なリファレンス及び接続を重畳する形で提供する。図示したように、カスタマエッジルータ１０４ａと統合ルータ１０２ａとの間でトンネル１１２ａが確立され、カスタマエッジルータ１０４ａと統合ルータ１０２ｂとの間でトンネル１１２ｂが確立され、カスタマエッジルータ１０４ｂと統合ルータ１０２ａとの間でトンネル１１２ｃが確立され、カスタマエッジルータ１０４ｄと統合ルータ１０２ｂとの間でトンネル１１２ｄが確立され、カスタマエッジルータ１０６ａと統合ルータ１０２ａとの間でトンネル１１２ｅが確立され、カスタマエッジルータ１０６ａと統合ルータ１０２ｂとの間でトンネル１１２ｆが確立され、カスタマエッジルータ１０６ｂと統合ルータ１０２ａとの間でトンネル１１２ｇが確立され、カスタマエッジルータ１０６ｄと統合ルータ１０２ｂとの間でトンネル１１２ｈが確立され得る。いくつかの実施形態において、トンネル以外の抽象化の仕組みが、ネットワークプロバイダドメイン１０４と機能プロバイダドメイン１０２との間の論理的なリファレンス及び接続を提供するために使用されてもよい。
【００３０】
いくつかの実施形態において、機能プロバイダドメイン１０２並びにネットワークプロバイダドメイン１０４及び１０６は、単一の又は同一のキャリアにより提供されてもよい。即ち、機能プロバイダドメイン１０２並びにネットワークプロバイダドメイン１０４及び１０６は、単一のキャリアにより提供され及び管理されるキャリアネットワークであってもよい。例えば、２つのロケーション（第１のロケーション及び第２のロケーション）を有する企業が、自身のネットワークを管理する（例えば、ＣＧＮを含む管理されたサービスを企業顧客へ提供する）ために、Verizonといったキャリアと契約していてもよい。Verizonは、自身のネットワークで双方の企業顧客のロケーションをサポートすることが可能であり得る（例えば、第１の企業顧客ロケーションにサービスするネットワークプロバイダドメイン１０４及び第２の企業顧客ロケーションにサービスするネットワークプロバイダドメイン１０６）。即ち、Verizonは、双方の企業顧客ロケーションをサポートするために十分なネットワーク回線を有し得る。結果として、機能プロバイダドメイン１０２並びにネットワークプロバイダドメイン１０４及び１０６は、Verizonネットワークであってもよい。Verizonは、第１の企業顧客ロケーションにカスタマエッジルータ１０４ａ及び１０４ｂを配置し、第２の企業顧客ロケーションにカスタマエッジルータ１０６ａ及び１０６ｂを配置し得る。Verizonは、ＮＡＴ機能性を行うように各カスタマエッジルータ１０４ａ、１０４ｂ、１０６ａ及び１０６ｂを管理して、仮想的なＣＧＮを提供し得る。即ち、カスタマエッジルータ１０４ａ、１０４ｂ、１０６ａ及び１０６ｂは、仮想化されたＣＧＮキャリアネットワークをまとめて形成するように構成され得る。
【００３１】
いくつかの実施形態において、１つ以上のネットワークプロバイダドメイン（例えば、ネットワークプロバイダドメイン１０４及び／又はネットワークプロバイダドメイン１０６）は、機能プロバイダドメイン１０２を提供するキャリアとは異なるキャリアにより提供されてもよい。即ち、機能プロバイダドメイン１０２は、第１のキャリアにより提供され及び管理される第１のキャリアネットワークであってもよく、１つ以上のネットワークプロバイダドメイン（例えば、ネットワークプロバイダドメイン１０４及び／又はネットワークプロバイダドメイン１０６）は、第２のキャリアにより提供され及び管理される第２のキャリアネットワークであってもよい。上のVerizonの例を続けると、Verizonは、第１の企業顧客ロケーションをサポートすることが可能であり得るが、第２の企業顧客ロケーションについてはそうではない。即ち、Verizonは、第１の企業顧客ロケーションをサポートする基盤（例えば、ネットワーク回線）を有し得るが、第２の企業顧客ロケーションをサポートする基盤を欠いている（有しない）。この例では、Verizonは、第２の企業顧客ロケーションをサポートする基盤を有するキャリアから、必要なネットワーク回線を借り受けてもよい。例えば、Comcastが第２の企業顧客ロケーションをサポートする基盤を有するものとすると、Verizonは第２の企業顧客ロケーションをサポートする基盤を有するために必要なネットワーク回線をComcastから借り受けてもよい。結果として、機能プロバイダドメイン１０２及びネットワークプロバイダドメイン１０４が第１の顧客ロケーションにサービスするVerizonネットワーク、ネットワークプロバイダドメイン１０６が第２の企業顧客ロケーションにサービスするComcastネットワークであり得る。Verizonは、第２の企業顧客ロケーションをサポートするためにComcastネットワーク回線を借り受けているだけである。Verizonは、第１の企業顧客ロケーション及び第２の企業顧客ロケーションの双方において、企業顧客ネットワークを管理している。したがって、Verizonは、第１の企業顧客ロケーションにカスタマエッジルータ１０４ａ及び１０４ｂを配置し、第２の企業顧客ロケーションにカスタマエッジルータ１０６ａ及び１０６ｂを配置し得る。カスタマエッジルータ１０６ａ及び１０６ｂはVerizonにより管理されるVerizonルータであるものの、カスタマエッジルータ１０６ａ及び１０６ｂは、Comcastネットワーク回線へ接続される。Verizonは、ＮＡＴ機能性を行うように各カスタマエッジルータ１０４ａ、１０４ｂ、１０６ａ及び１０６ｂを管理して、仮想的なＣＧＮを提供し得る。即ち、カスタマエッジルータ１０４ａ、１０４ｂ、１０６ａ及び１０６ｂは、仮想化されたＣＧＮキャリアネットワークをまとめて形成するように構成され得る。
【００３２】
本開示のスコープから逸脱することなく、図１に対し修正、追加又は省略がなされてよい。例えば、２つのプロバイダエッジルータを含むことが示されているものの、機能プロバイダドメイン１０２は、異なる数の統合ルータ含んでもよい。他の例として、２つのカスタマエッジルータを含むことが示されているものの、ネットワークプロバイダドメイン１０４及び／又は１０６の各々又は双方は、数百のカスタマエッジルータなど、任意の数のカスタマエッジルータを含んでよい。また別の例として、企業顧客のロケーションの数に基づいて、数十又は恐らくは数百といったように、異なる数のネットワークプロバイダドメインが存在してもよい。そのうえ、機能プロバイダドメインのためにキャリアネットワークを提供するキャリアに加えて、複数のキャリアがネットワークプロバイダドメインのいくつかのためにキャリアネットワークを提供していてもよい。
【００３３】
図２は、ここで説明される少なくともいくつかの実施形態に従って配置される、図１のアーキテクチャにおける例示的なアドレス空間管理を示している。図２のアーキテクチャは、図１のアーキテクチャと実質的には同様であり、追加的な詳細を伴う。図１のコンポーネントと同じラベルを付した図２のコンポーネントについては、簡明さのために、あらためて説明しない。より具体的には、図２は、統合プラットフォームレイヤの統合されたＩＰアドレス空間の、個別のパブリックＩＰアドレスとしての機能エンドポイントレイヤへの例示的な割当てを示している。個別のパブリックＩＰアドレスは、統合されたＩＰアドレス空間内の特定のＩＰアドレスである。いくつかの実施形態において、機能プロバイダドメイン１０２を提供するキャリアは、機能プロバイダドメイン１０２内の複数の統合ルータ（例えば、統合ルータ１０２ａ及び１０２ｂ）へ統合されたＩＰアドレス空間を割り当て得る。統合されたＩＰアドレス空間は、キャリアに属するパブリックＩＰアドレス群のブロックであり得る。キャリアは、当該キャリアが機能プロバイダドメイン１０２を通じて管理している各カスタマエッジルータ（例えば、カスタマエッジルータ１０４ａ、１０４ｂ、１０６ａ及び１０６ｂ）に、統合されたＩＰアドレス空間からの特定のホストＩＰアドレスを割り当て得る。機能エンドポイントレイヤ内の各カスタマエッジルータは、割り当てられたホストＩＰアドレスを用いてＮＡＴを行うように構成され得る。
【００３４】
あらためて図２に示した上のVerizonの例を参照すると、統合されたＩＰアドレス空間11.1.1.0/24は、Verizonに属するパブリックＩＰアドレスのブロックであり得る。Verizonは、パブリックＩＰアドレスのこのブロックを統合ルータ１０２ａ及び１０２ｂに割り当て得る。Verizonは、Verizonの管理されるサービスの提供先である企業顧客に、パブリックＩＰアドレスのブロック11.1.1.0/24を配布し得る。図示したように、Verizonは、パブリックＩＰアドレス11.1.1.1/32をカスタマエッジルータ１０４ａに、パブリックＩＰアドレス11.1.1.2/32をカスタマエッジルータ１０４ｂに、パブリックＩＰアドレス11.1.1.3/32をカスタマエッジルータ１０６ａに、パブリックＩＰアドレス11.1.1.4/32をカスタマエッジルータ１０６ｂに割り当て得る。Comcastがネットワークプロバイダドメイン１０６を提供している上の例においても、Verizonは、カスタマエッジルータ１０６ａ及び１０６ｂに統合ＩＰアドレス空間のうちの特定のパブリックＩＰアドレスを割り当ててよく、なぜならこれらルータはVerizonにより管理されるからである。
【００３５】
図３は、ここで説明される少なくともいくつかの実施形態に従って配置される、図１のアーキテクチャにおける選択されたデバイスの例示的なアドレス及び機能割当てを示している。カスタマエッジルータ１０４ａは、統合ルータ１０２ａへのトンネル１１２ａを確立し得る。例えば、トンネル１１２ａは、カスタマエッジルータ１０４ａにてポートアドレス13.1.1.1へ、統合ルータ１０２ａにてポートアドレス15.1.1.1へ論理的に接続され得る。トンネル１１２ａは、オーバレイを提供する。プロバイダエッジルータ１０２ａは、機能プロバイダドメイン１０２に割り当てられた統合ＩＰアドレス空間を公に広告するように構成され得る。例えば、プロバイダエッジルータ１０２は、外部ネットワーク１０８へＩＰアドレスプレフィクス11.1.1.0/24を広告し得る。カスタマエッジルータ１０４ａは、カスタマエッジルータ１０４へ割り当てられた特定のホストＩＰアドレスを用いて、データパケットのＮＡＴを行うように構成され得る。特定のホストＩＰアドレスは、統合ＩＰアドレス空間に含まれるパブリックＩＰアドレスである。例えば、カスタマエッジルータ１０４ａは、ホストＩＰアドレス11.1.1.1/32を用いてＮＡＴを行い得る。自身のホストアドレスを用いてＮＡＴを行い、統合ルータ１０２ａへのオーバレイを用いることで、異なるキャリアにより回線が提供されている例においてさえ、カスタマエッジルータ１０４ａが帰りのネットワークトラフィックの可視性を保っておくことが可能となる。即ち、帰りのネットワークトラフィックがカスタマエッジルータ１０４ａへ戻ってくることができる。
【００３６】
図４は、ここで説明される少なくともいくつかの実施形態に従って配置される、例示的なネットワークトラフィックフローを示すシーケンス図である。図示したように、ネットワークトラフィックフローは、例えばクライアントデバイス４０２であるソースから、例えばクライアントデバイス４０４である宛先へのフローであり得る。クライアントデバイス４０２は、プライベートＩＰアドレス10.1.1.1を有し、クライアントデバイス４０４は、プライベートＩＰアドレス12.1.1.1を有し得る。クライアントデバイス４０２は、ソースＩＰアドレス10.1.1.1:05及び宛先ＩＰアドレス12.1.1.1を特定するデータパケット４０６を（例えば、ポート：05より）送出し又は送信し得る。データパケット４０６は、他の情報をも含み得る。
【００３７】
カスタマエッジルータ１０４ａは、データパケット４０６を受信し、データパケット４０６についてＮＡＴを行うと決定し得る。例えば、カスタマエッジルータ１０４ａは、論理的構成及び／又は１つ以上の適用可能なポリシーに基づいて、ＮＡＴを行うという決定をしてよい。データパケット４０６についてＮＡＴを行うと決定すると、カスタマエッジルータ１０４ａは、プライベートソースＩＰアドレス10.1.1.1:05を、カスタマエッジルータ１０４ａに割り当てられたデバイスＩＰアドレスであるパブリックＩＰアドレス11.1.1.1へ変換し得る。ＮＡＴ後のデータパケットは、新たなソースＩＰアドレス11.1.1.1及び宛先ＩＰアドレス12.1.1.1を特定し得る。カスタマエッジルータは、プライベートＩＰアドレス10.1.1.1:05からパブリックＩＰアドレス11.1.1.1へのマッピングの記録を、例えばＮＡＴマッピングテーブル内でメンテナンスし得る。
【００３８】
追加的に又は代替的に、カスタマエッジルータ１０４ａは、仮想ルーティング及び転送（ＶＲＦ）テーブルをメンテナンスしてもよい。例えば、カスタマエッジルータ１０４ａに関連付けられている企業は、各々それ自体のＶＲＦを有する複数のＶＰＮを運用し得る。どのＶＰＮからデータパケットが受信されたかに基づいて、カスタマエッジルータ１０４ａは、そのデータパケットがどのＶＰＮに属するかを識別するエントリをＮＡＴテーブル内に生成し得る。図４に示したように、データパケット４０６は、VPN_1から入来し得る。カスタマエッジルータ１０４ａは、VPN_1用のＶＲＦテーブル内に、アドレス10.1.1.1向けのデータパケットがカスタマエッジルータ１０４ａのInterface_1から出力されるべきであることを識別するエントリを追加的に生成し得る。
【００３９】
いくつかの実施形態において、所与の顧客に、ある範囲のアドレスが、当該顧客の１つ以上のＶＰＮがそのアドレス範囲内の特定のＩＰアドレスを付与され得るように割り当てられてもよい。これら及び他の実施形態において、上記アドレス範囲は、組織が利用し得る数のＶＰＮをカバーし得る。
【００４０】
そして、カスタマエッジルータ１０４ａは、ＮＡＴ後のデータパケットが統合ルータ１０２ａへ送信されるべきであると判定し得る。例えば、カスタマエッジルータ１０４ａは、論理的構成及び／又は１つ以上の適用可能なポリシーに基づいて、ＮＡＴ後のデータパケットを受信すべき適切な統合ルータを選択し得る。統合ルータ１０２ａを選択すると、カスタマエッジルータ１０４ａは、トンネル１１２ａに対応する（それを識別する）オーバレイ情報と共にＮＡＴ後のデータパケットをカプセル化し得る。例えば、オーバレイ情報は、トンネル１１２ａのソースポートアドレス13.1.1.1及びトンネル１１２ａの宛先ポートアドレス15.1.1.1を特定するオーバレイヘッダを含み得る。カプセル化されたＮＡＴ後のデータパケット４０８は、ソースＩＰアドレス11.1.1.1及び宛先ＩＰアドレス12.1.1.1を特定し、ソースポートアドレス13.1.1.1及び宛先ポートアドレス15.1.1.1を特定するオーバレイヘッダを含み得る。カスタマエッジルータ１０４ａは、カプセル化されたＮＡＴ後のデータパケット４０８をトンネル１１２ａを通じて統合ルータ１０２ａへ送信し得る。カプセル化されたＮＡＴ後のデータパケット４０８は、他の情報をも含み得る。
【００４１】
統合ルータ１０２ａは、カプセル化されたＮＡＴ後のデータパケット４０８を、例えばトンネル１１２ａの他端において受信し得る。統合ルータ１０２ａは、カプセル化されたＮＡＴ後のデータパケット４０８からオーバレイヘッダ、ソースポートアドレス13.1.1.1及び宛先ポートアドレス15.1.1.1を除去して、逆カプセル化されたデータパケット４１０を生成し得る。逆カプセル化されたデータパケット４１０は、ソースＩＰアドレス11.1.1.1及び宛先ＩＰアドレス12.1.1.1を特定し得る。オーバレイヘッダから、統合ルータ１０２ａは、カプセル化されたＮＡＴ後のデータパケット４０８の受信元であるトンネルとして、トンネル１１２ａを識別し得る。統合ルータ１０２ａは、カプセル化されたＮＡＴ後のデータパケット４０８がトンネル１１２ａを通じて受信されるという記録を、例えばルーティングテーブル内でメンテナンスし得る。例えば、その記録は、ＩＰアドレス11.1.1.1（例えば、逆カプセル化されたデータパケット４１０において特定されたソースＩＰアドレス）がＩＰアドレス13.1.1.1（例えば、オーバレイヘッダ内で特定されたソースポートアドレス）へルーティングされることを示し得る。統合ルータ１０２ａは、この記録を用いて、帰りのネットワークトラフィックをカスタマエッジルータ１０４ａへ正確にルーティングし得る。統合ルータ１０２ａは、逆カプセル化されたデータパケット４１０を、クライアントデバイス４０４へその経路上で送信し得る。例えば、逆カプセル化されたデータパケット４１０は、その宛先のクライアントデバイス４０４へ外部ネットワーク１０８を通じて送信されてもよい。
【００４２】
図５は、ここで説明される少なくともいくつかの実施形態に従って配置される、例示的な帰りのネットワークトラフィックフローを示すシーケンス図である。帰りのネットワークトラフィックフローは、例えばクライアントデバイス４０４であるクライアントデバイスから、例えばクライアントデバイス４０２であるクライアントデバイスへのフローであり得る。例えば、帰りのネットワークフローは、以前に送信されたデータパケット、又はクライアントデバイス４０２からクライアントデバイス４０４へのデータパケットに対する応答であり得る。クライアントデバイス４０４は、プライベートＩＰアドレス12.1.1.1を有し、クライアントデバイス４０２は、プライベートＩＰアドレス10.1.1.1を有し得る。クライアントデバイス４０４は、ソースＩＰアドレス12.1.1.1及び宛先ＩＰアドレス11.1.1.1を特定するデータパケット５０２を送出し又は送信し得る。データパケット５０２は、他の情報をも含み得る。
【００４３】
統合ルータ１０２ａは、例えば、外部ネットワーク１０８を通じてデータパケット５０２を受信し得る。統合ルータ１０２ａは、対応する機能エンドポイントレイヤ内のカスタマエッジルータといったネットワーク機器へデータパケット５０２が転送されるべきであると判定し得る。統合ルータ１０２ａは、データパケット５０２内で特定された宛先ＩＰアドレスに基づいて、その判定を行い得る。例えば、統合ルータ１０２ａは、データパケット５０２内で特定された宛先ＩＰアドレス11.1.1.1が統合ルータ１０２ａに割り当てられた統合ＩＰアドレス11.1.1.0/24内の個別のパブリックＩＰアドレスであると判定し得る。統合ルータ１０２ａは、データパケット５０２内で特定された宛先ＩＰアドレス及び自身のルーティングテーブルに基づいて、データパケット５０２を転送すべき適切なトンネルを識別し得る。例えば、統合ルータ１０２ａは、自身のルーティングテーブルから、ＩＰアドレス11.1.1.1（例えば、データパケット５０２において特定された宛先ＩＰアドレス）がポートアドレス13.1.1.1で確立されたトンネルを通じて転送されるべきであることを判定し得る。統合ルータ１０２ａは、データパケット５０２を、トンネル１１２ａ（例えば、ポートアドレス13.1.1.1へのトンネル）に対応する（それを識別する）オーバレイ情報と共にカプセル化し得る。例えば、オーバレイ情報は、トンネル１１２ａのソースポートアドレス15.1.1.1及びトンネル１１２ａの宛先ポートアドレス13.1.1.1を特定するオーバレイヘッダを含み得る。カプセル化されたデータパケット５０４は、ソースＩＰアドレス12.1.1.1及び宛先ＩＰアドレス11.1.1.1を特定し、ソースポートアドレス15.1.1.1及び宛先ポートアドレス13.1.1.1を特定するオーバレイヘッダを含み得る。統合ルータ１０２ａは、カプセル化されたデータパケット５０４をトンネル１１２ａを通じてカスタマエッジルータ１０４ａへ送信し得る。カプセル化されたデータパケット５０４は、他の情報をも含み得る。
【００４４】
カスタマエッジルータ１０４ａは、カプセル化されたデータパケット５０４を、例えばトンネル１１２ａの他端において受信し得る。カスタマエッジルータ１０４ａは、カプセル化されたデータパケット５０４からオーバレイヘッダ、ソースポートアドレス15.1.1.1及び宛先ポートアドレス13.1.1.1を除去して、データパケット５０４を逆カプセル化し得る。カスタマエッジルータ１０４ａは、逆カプセル化されたデータパケットについて逆ＮＡＴを行うと決定し得る。例えば、カスタマエッジルータ１０４ａは、逆カプセル化されたデータパケット内で特定された宛先ＩＰアドレスに基づいて、逆ＮＡＴを行うことを決定し得る。カスタマエッジルータ１０４ａは、自身のＮＡＴテーブルから、プライベートＩＰアドレス10.1.1.1:05がパブリックＩＰアドレス11.1.1.1（例えば、逆カプセル化されたデータパケット内で特定された宛先ＩＰアドレス）へ変換されたと判定し得る。カスタマエッジルータ１０４ａは、逆カプセル化されたデータパケット内のパブリック宛先ＩＰアドレス11.1.1.1をプライベートＩＰアドレス10.1.1.1:05へ逆変換して、逆ＮＡＴ後のデータパケット５０６を生成し得る。逆ＮＡＴ後のデータパケット５０６は、ソースＩＰアドレス12.1.1.1及び新たな宛先ＩＰアドレス10.1.1.1:05を特定し得る。逆ＮＡＴ後のデータパケット５０６は、他の情報をも含み得る。カスタマエッジルータ１０４ａは、逆ＮＡＴ後のデータパケット５０６を、逆ＮＡＴ後のデータパケット５０６内で特定された宛先アドレス（例えば、クライアントデバイス４０２）へその経路上で送信し得る。
【００４５】
追加的に又は代替的に、カスタマエッジルータ１０４ａは、宛先アドレス10.1.1.1:05がVPN_1に関連付けられていることをＮＡＴテーブルから観測し得る。カスタマエッジルータ１０４ａは、したがって、VPN_1に関連付けられるＶＲＦテーブルにおいてアドレス10.1.1.1:05をルックアップし得る。これら及び他の実施形態において、カスタマエッジルータ１０４ａは、逆ＮＡＴ後のデータパケット５０６を、ＶＲＦテーブルに基づいてルーティングし得る（例えば、パケットをInterface_1を通じてルーティングし得る）。
【００４６】
図６は、ここで説明される少なくともいくつかの実施形態に従って配置される、ＮＡＴと共にデータパケットを送信する例示的な処理を示すフロー図６００である。例示的な処理及び方法は、ブロック６０２、６０４、６０５、６０６、６０８、６１０及び／又は６１０のうちの１つ以上により示した通りの１つ以上の動作、機能又はアクションを含んでよく、いくつかの実施形態では、図８のエッジネットワークデバイス８０２といったネットワークノードにより実行され得る。また、ブロック６０２〜６１２に記述した動作は、エッジネットワークデバイス８０２のメモリ８１４及び／又はデータストレージ８１６といったコンピュータ読取可能な媒体内のコンピュータ実行可能な命令群として記憶されてもよい。
【００４７】
フロー図６００に示したように、ＮＡＴと共にデータパケットを送信する例示的な処理は、ブロック６０２（「データパケットを受信」）で開始し、カスタマエッジルータといったネットワーク機器が処理すべきデータパケットを受信し得る。例えば、カスタマエッジルータは、キャリアにより管理されているキャリアネットワークのエッジに位置してよく、ＮＡＴ機能性を提供するように構成され得る。カスタマエッジルータは、ネットワーク機能レイヤにおいて仮想化されたＣＧＮドメインを共同して提供する複数のデバイスのうちの１つであってもよい。
【００４８】
ブロック６０２に続いてブロック６０４（「ＮＡＴを実行」）が行われてよく、カスタマエッジルータは、受信したデータパケットについてＮＡＴを行い得る。例えば、カスタマエッジルータは、受信したデータパケット内で特定されたソースＩＰアドレスを自身のパブリックＩＰアドレス（例えば、カスタマエッジルータに割り当てられたパブリックＩＰアドレス）へ変換し得る。
【００４９】
ブロック６０４に続いてブロック６０５（「ＶＲＦをメンテナンス」）が行われてよく、カスタマエッジルータは、上記データパケット向けの特定のＶＰＮの範囲内のアドレスマッピング及び／又はルーティングの記録をメンテナンスし得る。例えば、データパケットが所与のＶＰＮ内のコンピューティングデバイスから受信された場合、そのコンピューティングデバイスのアドレスがＶＲＦ内のエントリとして追加され得る。
【００５０】
ブロック６０５に続いてブロック６０６（「ＮＡＴレコードをメンテナンス」）が行われてよく、カスタマエッジルータは、プライベートＩＰアドレスからパブリックＩＰアドレスへの上記アドレス変換の記録（例えば、マッピング）をメンテナンスし得る。例えば、カスタマエッジルータは、ＮＡＴテーブルの上記アドレス変換のレコードをメンテナンスし得る。他の例として、カスタマエッジルータは、データパケットが属するＶＰＮを上記アドレス変換のレコード内に含めてもよい。
【００５１】
ブロック６０６に続いてブロック６０８（「ＮＡＴ後のデータパケット用のトンネルを判定」）が行われてよく、カスタマエッジルータは、ＮＡＴ後のデータパケットを転送するために適切なトンネルを選択し得る。例えば、カスタマエッジルータは、ＮＡＴ後のデータパケットを受信すべき適切な統合ルータを選択し得る。適切な統合ルータは、カスタマエッジルータのネットワーク機能レイヤに対応する、統合プラットフォームレイヤ内の統合ルータであり得る。カスタマエッジルータは、対応する統合プラットフォームレイヤ内の統合ルータへのそれぞれのトンネルを確立済みであってよい。
【００５２】
ブロック６０８に続いてブロック６１０（「ＮＡＴ後のデータパケットをオーバレイ情報と共にカプセル化」）が行われてよく、ネットワークノードは、選択したトンネルに対応するオーバレイ情報と共にＮＡＴ後のデータパケットをカプセル化し得る。オーバレイ情報は、カスタマエッジルータのポートアドレス及び選択したトンネルの確立に使用された統合ルータのポートアドレスを含み得る。
【００５３】
ブロック６１０に続いてブロック６１２（「カプセル化されたＮＡＴ後のデータパケットをトンネルを通じて送信」）が行われてもよく、カスタマエッジルータは、カプセル化されたＮＡＴ後のデータパケットを選択したトンネルを通じて送信し得る。選択されたトンネルの他端にある統合ルータは、カプセル化されたＮＡＴ後のデータパケットからオーバレイ情報を除去し、逆カプセル化されたＮＡＴ後のデータパケットを特定された宛先へ転送し得る。統合ルータは、カプセル化されたＮＡＴ後のデータパケットが受信されたルート（例えば、トンネル）の記録をメンテナンスし得る。例えば、その記録は、除去されたオーバレイ情報において特定されているソースＩＰアドレス及び逆カプセル化されたＮＡＴ後のデータパケット内で特定されているソースＩＰアドレスを含んでもよい。
【００５４】
当業者は、上記の及び他の処理並びにここで開示した方法について、処理及び方法において行われる機能が異なる順序で実装されてもよいことを理解するであろう。さらに、概説したアクション及び動作は単に例として提供されており、アクション及び動作のいくつかは、オプションであってもよく、開示した実施形態の本質を損なうことなく、より少ないアクション及び動作へと組み合わされてもよく、又は追加的なアクション及び動作へ拡張されてもよい。
【００５５】
図７は、ここで説明される少なくともいくつかの実施形態に従って配置される、ＮＡＴ後のデータパケットに対応する帰りのデータパケットを送信する例示的な処理を示すフロー図７００である。例示的な処理及び方法は、ブロック７０２、７０４、７０６及び／又は７０８のうちの１つ以上により示した通りの１つ以上の動作、機能又はアクションを含んでよく、いくつかの実施形態では、図８のエッジネットワークデバイス８０２といったネットワークノードにより実行され得る。また、ブロック７０２〜７０８に記述した動作は、エッジネットワークデバイス８０２のメモリ８１４及び／又はデータストレージ８１６といったコンピュータ読取可能な媒体内のコンピュータ実行可能な命令群として記憶されてもよい。
【００５６】
フロー図７００に示したように、ＮＡＴ後のデータパケットに対応する帰りのデータパケットを送信する例示的な処理は、ブロック７０２（「データパケットを受信」）で開始し、統合ルータといったネットワーク機器が処理すべきデータパケットを受信し得る。例えば、統合ルータは、キャリアネットワークのパブリックエッジかその近傍に位置してよく、ネットワークトラフィックを仮想ＣＧＮの機能性を提供しているであろうカスタマエッジルータへ案内するように構成され得る。統合ルータは、統合プラットフォームレイヤ内の複数のデバイスのうちの１つであってよい。統合ルータは、受信したデータパケットの宛先ＩＰアドレスから、そのデータパケットが統合プラットフォームレイヤに対応する機能エンドポイントレイヤ内のカスタマエッジルータへ転送されるべきであることを判定し得る。
【００５７】
ブロック７０２に続いてブロック７０４（「当該データパケットのためのトンネルを判定」）が行われてもよく、統合ルータは、データパケットを適切なカスタマエッジルータへ向けて転送するためのトンネルを識別し得る。例えば、統合ルータは、受信したデータパケット内で特定された宛先ＩＰアドレス及び自身のルーティングテーブルに基づいて、トンネルを識別し得る。統合ルータは、機能エンドポイントレイヤからＮＡＴ後のデータパケットが受信されるトンネルを識別するエントリを有するルーティングテーブルをメンテナンスし得る。
【００５８】
ブロック７０４に続いてブロック７０６（「データパケットをオーバレイ情報と共にカプセル化」）が行われてよく、統合ルータは、識別したトンネルに対応するオーバレイ情報と共にデータパケットをカプセル化し得る。オーバレイ情報は、統合ルータのポートアドレス及び識別したトンネルの確立に使用されたカスタマエッジルータのポートアドレスを含み得る。
【００５９】
ブロック７０６に続いてブロック７０８（「カプセル化されたデータパケットをトンネルを通じて送信」）が行われてもよく、統合ルータは、カプセル化されたデータパケットを識別したトンネルを通じて送信し得る。識別されたトンネルの他端にあるカスタマエッジルータは、カプセル化されたデータパケットからオーバレイ情報を除去し得る。カスタマエッジルータは、逆カプセル化されたデータパケットについて逆ＮＡＴを行うと決定し得る。例えば、カスタマエッジルータは、逆カプセル化されたデータパケット内で特定された宛先ＩＰアドレスが自身のデバイスアドレス（例えば、当該カスタマエッジルータのパブリックデバイスアドレス）であると判定し、そのことから、逆カプセル化されたデータパケットを正確に適切な宛先へ転送するために逆ＮＡＴを行うことを決定し得る。カスタマエッジルータは、自身のＮＡＴテーブルから正確な宛先ＩＰアドレス（例えば、プライベートＩＰアドレス）を識別し、逆カプセル化されたデータパケット内で特定された宛先ＩＰアドレスについて逆ＮＡＴを行って、逆ＮＡＴ後のデータパケットを生成し得る。カスタマエッジルータは、プライベートＩＰアドレスから自身のデバイスアドレス（例えば、当該カスタマエッジルータのパブリックＩＰアドレス）への変換のマッピングを識別するエントリを有するＮＡＴテーブルをメンテナンスし得る。カスタマエッジルータは、逆ＮＡＴ後のデータパケットを、逆ＮＡＴ後のデータパケット内で特定された宛先アドレスへその経路上で転送し得る。
【００６０】
追加的に又は代替的に、カスタマエッジルータは、帰りのデータパケットに関連付けられているＶＰＮを識別してもよく、そのＶＰＮ向けのＶＲＦテーブル内でルックアップを行って、帰りのデータパケットがどこでルーティングされるべきかを判定してもよい。
【００６１】
図８は、ここで説明される少なくともいくつかの実施形態に従って配置される、仮想化されたネットワーク機能をアドレス空間統合を通じて提供するために使用され得るエッジネットワークデバイス８０２の環境８００を示している。図示したように、エッジネットワークデバイス８０２は、他のエッジネットワークデバイス８０４、８０６及び８０８との通信のための複数の潜在的な接続を含み得る。例えば、エッジネットワークデバイス８０２は、ネットワークＡ８６０を用いてエッジネットワークデバイス８０４と、ネットワークＢ８７０を用いてエッジネットワークデバイス８０６と、及び／又は、ネットワークＣ８８０を用いてエッジネットワークデバイス８０８と通信し得る。エッジネットワークデバイス８０２、８０４、８０６及び８０８は、図１〜図５の統合ルータ１０２ａ及び１０２ｂ、並びにカスタマエッジルータ１０４ａ、１０４ｂ、１０６ａ及び１０６ｂと同等であり又は匹敵し得る。環境８００は、例えば外部ネットワークドメインをまたいでエッジネットワークデバイス８０２へ通信可能に連結され得るクライアントデバイス８５０を追加的に含み得る。
【００６２】
いくつかの実施形態において、エッジネットワークデバイス８０２は、ネットワークＡ接続８２０、ネットワークＢ接続８３０及びネットワークＣ接続８４０を含み得る。ネットワークＣ接続８４０の下に楕円で示したように、いかなる数の追加的な又は他の潜在的な接続が含まれてもよい。これら及び他の実施形態において、エッジネットワークデバイス８０２は、１つ以上の潜在的な接続に対する接続のための複数の回路を含んでもよい。例えば、エッジネットワークデバイス８０２は、ネットワークＡ接続８２０のための回路Ａ８２２及び回路Ｂ８２４と、ネットワークＢ接続８３０のための回路Ａ８３２及び回路Ｂ８３４と、ネットワークＣ接続８４０のための回路Ａ８４２及び回路Ｂ８４４とを含み得る。これら及び他の実施形態において、エッジネットワークデバイス８０２は、エッジネットワークデバイス８０２により記憶されている１つ以上のポリシーに基づいて、上記回路のうちの１つ以上に沿ってトラフィックをルーティングするように構成され得る。
【００６３】
いくつかの実施形態において、エッジネットワークデバイス８０２は、多様な接続の１つ以上の特性を監視するように構成されてもよい。例えば、エッジネットワークデバイス８０２は、エッジネットワークデバイス８０２からエッジネットワークデバイス８０４、８０６及び／又は８０８への多様な通信リンクのジッタ、レイテンシ、損失及び／又は帯域幅を監視してもよい。また、これら及び他の実施形態において、エッジネットワークデバイス８０２は、多様な通信リンクのセキュリティ特性を監視し及び／又は記憶してもよい。例えば、ネットワークＡ８６０上のリンク８６２及び８６４は、第１レベルのセキュリティであると見なされ、ネットワークＢ８７０上のリンク８７２及び８７４は、第２レベルのセキュリティであると見なされ、ネットワークＣ８８０上のリンク８８２及び８８４は、第３レベルのセキュリティであると見なされてもよい。いくつかの実施形態において、リンク８６２、８６４、８７２、８７４、８８２及び／又は８８４のうちの１つ以上は、ＧＲＥトンネル、ＩＰｓｅｃトンネル、Ｌ２ＴＰトンネル及び／又はその他といったトンネルであってもよい。
【００６４】
いくつかの実施形態において、エッジネットワークデバイス８０２は、トラフィックのソースに基づいて、多様なリンクへトラフィックをルーティングするように構成されてもよい。例えば、１つ以上のポリシーが、ある事業経営部門からのトラフィックがネットワークＢ接続８３０に沿ってルーティングされるべきであることを示してもよく、一方で他の経営部門についてのトラフィックは任意のリンクに沿ってルーティングされてもよい。
【００６５】
いくつかの実施形態において、エッジネットワークデバイス８０２は、プロセッサ８１２、メモリ８１４、記憶デバイス８１６及び／又は通信デバイス８１８を含み得る。概して、プロセッサ８１２は、多様なコンピュータハードウェア又はソフトウェアモジュールを含む任意の適した特殊目的の若しくは汎用目的のコンピュータ、コンピューティングエンティティ又は処理デバイスを含んでよく、任意の適用可能なコンピュータ読取可能な記憶媒体に記憶された命令群を実行するように構成され得る。例えば、プロセッサ８１２は、プログラム命令群を解釈し及び／若しくは実行し並びに／又はデータを処理するように構成される、マイクロプロセッサ、マイクロコントローラ、ＤＳＰ（digital signal processor）、ＡＳＩＣ（application-specific integrated circuit）、ＦＰＧＡ(Field-Programmable Gate Array)又は任意の他のデジタル若しくはアナログ回路を含み得る。
【００６６】
図８では単一のプロセッサとして示されているものの、プロセッサ８１２は、本開示において説明した任意の数の動作を個別に又はまとめて実行するように構成される、任意の数のネットワーク又は物理的位置に分散された任意の数のプロセッサを含んでよい。いくつかの実施形態において、プロセッサ８１２は、プログラム命令群を解釈し及び／若しくは実行し、並びに／又は、メモリ８１４、記憶デバイス８１６、若しくはメモリ８１４及び記憶デバイス８１６内に記憶されたデータを処理し得る。いくつかの実施形態において、プロセッサ８１２は、データストレージ８１６からプログラム命令群を取得し、それらプログラム命令群をメモリ８１４へロードし得る。プログラム命令群がメモリ８１４へロードされた後、プロセッサ８１２は、それらプログラム命令群を実行し得る。
【００６７】
メモリ８１４及び記憶デバイス８１６は、コンピュータ読取可能な記憶媒体、又は、コンピュータ実行可能な命令群若しくはデータ構造を担持し若しくは記憶するための１つ以上のコンピュータ読取可能な記憶媒体を含み得る。そうしたコンピュータ読取可能な記憶媒体は、プロセッサ８１２といった汎用目的の又は特殊目的のコンピュータによりアクセスされ得るいかなる利用可能な媒体であってもよい。いくつかの実施形態において、エッジネットワークデバイス８０２は、メモリ８１４及び記憶デバイス８１６のいずれかを含んでもよく又は含まなくてもよい。
【００６８】
限定ではなく例によれば、そうしたコンピュータ読取可能な記憶媒体は、非一時的なコンピュータ読取可能な記憶媒体を含み、当該記憶媒体は、所望のプログラムコードをコンピュータ実行可能な命令群若しくはデータ構造の形式で担持し若しくは記憶するために使用され、汎用目的の若しくは特殊目的のコンピュータによりアクセスされ得る、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read-Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）、又は、他の光ディスクストレージ、磁気ディスクストレージ若しくは他の磁気記憶デバイス、フラッシュメモリデバイス（例えば、ソリッドステートメモリデバイス）若しくは任意の他の記憶媒体を含む。上記の組合せもまた、コンピュータ読取可能な記憶媒体のスコープに含まれ得る。コンピュータ実行可能な命令群は、例えば、プロセッサ８１２に、ある動作又は動作の集合を行わせるように構成される命令群及びデータを含み得る。
【００６９】
通信デバイス８１８は、情報を送信し若しくは受信するように構成される、任意のコンポーネント、デバイス、システム又はそれらの組合せを含み得る。いくつかの実施形態において、通信デバイス８１８は、他のロケーション、同一のロケーション、又は同一システム内の他のコンポーネントでさえあり得る他のデバイスと通信し得る。例えば、通信デバイス８１８は、モデム、（無線若しくは有線の）ネットワークカード、光通信デバイス、無線周波数トランスデューサ、超音波トランスデューサ、赤外線通信デバイス、ワイヤレス通信デバイス（アンテナなど）、及び／若しくはチップセット（例えば、Ｂｌｕｅｔｏｏｔｈデバイス、８０２＿６デバイス（例えば、ＭＡＮ（Metropolitan Area Network））、ＷｉＦｉデバイス、ＷｉＭａｘデバイス、セルラ通信施設若しくはその他）など、並びに／又はそれらの組合せを含み得る。通信デバイス８１８は、本開示において説明したネットワーク及び／又は何らかの他のデバイス若しくはシステムとの間でデータを交換することを可能にし得る。例えば、通信デバイス８１８は、エッジネットワークデバイス８０２がエッジネットワークデバイス８０４、８０６及び８０８のうちの任意の１つ以上といった他のシステムと通信することを可能にし得る。
【００７０】
本開示のスコープから逸脱することなく、図８の環境８００に対し修正、追加又は省略がなされてよい。例えば、特定の数のエッジネットワークデバイス８０２、８０４、８０６及び８０８を含むものとして示されているものの、環境８００は、いかなる数のエッジネットワークデバイスを含んでもよい。他の例として、３つの通信ネットワーク（ネットワークＡ８６０、ネットワークＢ８７０及びネットワークＣ８８０）を含むものとして示されているものの、いかなる数の通信ネットワークが利用されてもよい。
【００７１】
上で示したように、本開示において説明した実施形態は、ここでより詳細に議論したような多様なコンピュータハードウェア又はソフトウェアモジュールを含む、特殊目的の又は汎用目的のコンピュータ（例えば、図８のプロセッサ８１２）の使用を含み得る。さらに、上で示したように、本開示において説明した実施形態は、コンピュータ実行可能な命令群若しくはデータ構造を担持し又は記憶するためのコンピュータ読取可能な媒体（例えば、図８のメモリ８１４）を用いて実装され得る。
【００７２】
いくつかの例によれば、複数のカスタマエッジルータのうちのカスタマエッジルータにおいて、仮想化されたキャリアグレードネットワークアドレス変換（ＣＧＮ）を提供する方法が説明されている。複数のカスタマエッジルータのうちの第１のカスタマエッジルータにおいて仮想化されたＣＧＮを提供する例示的な方法は、上記第１のカスタマエッジルータにより、上記第１のカスタマエッジルータと１つ以上の統合ルータ内の各統合ルータとの間のトンネルを確立することと、上記第１のカスタマエッジルータにより、プライベートＩＰアドレスのパブリックＩＰアドレスへの変換であるネットワークアドレス変換（ＮＡＴ）を第１のデータパケットについて行って、ＮＡＴ後の第１のデータパケットを生成することと、上記第１のカスタマエッジルータにより、上記１つ以上の統合ルータから、上記ＮＡＴ後の第１のデータパケットの送信先とすべき第１の統合ルータを選択することと、上記第１のカスタマエッジルータにより、上記第１のカスタマエッジルータと上記第１の統合ルータとの間で確立されたトンネルに対応するオーバレイ情報と共に、上記ＮＡＴ後の第１のデータパケットをカプセル化することと、上記第１のカスタマエッジルータにより、カプセル化された上記ＮＡＴ後の第１のデータパケットを、上記第１の統合ルータへ上記トンネルを通じて送信することと、を含み得る。いくつかの例において、上記パブリックＩＰアドレスは、上記第１のカスタマエッジルータのデバイスアドレスであってもよい。他の例において、上記デバイスアドレスは、上記第１の統合ルータの機能ＩＰアドレス空間内の個別のＩＰアドレスであってもよい。
【００７３】
さらなる例によれば、上記第１のカスタマエッジルータと上記第１の統合ルータは、第１キャリアにより提供されてもよく、上記第１のカスタマエッジルータと上記第１の統合ルータとの間の上記トンネルは、上記第１キャリアにより提供されるネットワーク回線を用いて確立されてもよい。いくつかの例において、上記第１のカスタマエッジルータと上記第１の統合ルータは、第１キャリアにより提供されてもよく、上記第１のカスタマエッジルータと上記第１の統合ルータとの間の上記トンネルは、第２キャリアにより提供されるネットワーク回線を用いて確立されてもよい。他の例において、上記方法は、上記第１のカスタマエッジルータにより、上記プライベートＩＰアドレスから上記パブリックＩＰアドレスへの上記ＮＡＴの記録をメンテナンスすること、をさらに含んでもよい。さらなる例において、上記オーバレイ情報は、オーバレイヘッダを含んでもよく、上記オーバレイヘッダは、上記第１のカスタマエッジルータと上記第１の統合ルータとの間の上記トンネルを確立するために使用される、上記第１のカスタマエッジルータのポートアドレス及び上記第１の統合ルータのポートアドレスを含む。
【００７４】
他の例によれば、上記方法は、上記第１のカスタマエッジルータにより、上記第１のカスタマエッジルータと上記第１の統合ルータとの間で確立された上記トンネルを通じて、第２のデータパケットを受信することと、上記第１のカスタマエッジルータにより、上記第２のデータパケットからオーバレイ情報を除去して、逆カプセル化された第２のデータパケットを生成することと、上記第１のカスタマエッジルータにより、上記逆カプセル化された第２のデータパケットについて逆ＮＡＴを行うことと、逆ＮＡＴ後の上記逆カプセル化された第２のデータパケットにおいて特定された宛先アドレスへの伝達のために、逆ＮＡＴ後の上記逆カプセル化された第２のデータパケットを転送することと、をも含んでもよい。
【００７５】
他の例によれば、仮想化されたＣＧＮを提供するように構成されるカスタマエッジルータが説明されている。例示的なカスタマエッジルータは、命令群を記憶するように構成されるメモリと、当該命令群を実行するように構成されるプロセッサとを含み得る。上記命令群の実行は、上記プロセッサに、上記カスタマエッジルータと１つ以上の統合ルータとの間のオーバレイネットワークであって、上記カスタマエッジルータと上記１つ以上の統合ルータの各々との間のそれぞれのトンネルを含む上記オーバレイネットワークを確立することと、プライベートＩＰアドレスのパブリックＩＰアドレスへの変換であるネットワークアドレス変換（ＮＡＴ）を第１のデータパケットについて行って、ＮＡＴ後の第１のデータパケットを生成することと、上記ＮＡＴ後の第１のデータパケットを送信するための適切なトンネルを選択することと、選択された上記トンネルに対応するオーバレイ情報と共に、上記ＮＡＴ後の第１のデータパケットをカプセル化することと、カプセル化された上記ＮＡＴ後の第１のデータパケットを、選択された上記トンネルを通じて送信することと、を行わせ得る。いくつかの例において、上記パブリックＩＰアドレスは、上記カスタマエッジルータのデバイスアドレスであってもよい。他の例において、上記デバイスアドレスは、上記１つ以上の統合ルータの機能ＩＰアドレス空間内の個別のＩＰアドレスであってもよい。
【００７６】
いくつかの例によれば、上記カスタマエッジルータ及び上記１つ以上の統合ルータは、第１キャリアにより提供されてもよく、上記カスタマエッジルータと上記１つ以上の統合ルータの各々との間の上記それぞれのトンネルは、上記第１キャリアにより提供されるネットワーク回線を用いて確立されてもよい。他の例によれば、上記カスタマエッジルータ及び上記１つ以上の統合ルータは、第１キャリアにより提供されてもよく、上記カスタマエッジルータと上記１つ以上の統合ルータの各々との間の上記それぞれのトンネルは、上記第２キャリアにより提供されるネットワーク回線を用いて確立されてもよい。さらなる例によれば、上記オーバレイ情報は、オーバレイヘッダを含んでもよく、上記オーバレイヘッダは、上記カスタマエッジルータのポートアドレス及び上記トンネルが確立される統合ルータのポートアドレスを含む。
【００７７】
いくつかの例によれば、上記命令群の実行は、上記プロセッサに、選択された上記トンネルを通じて第２のデータパケットを受信することと、上記第２のデータパケットからオーバレイ情報を除去して、逆カプセル化された第２のデータパケットを生成することと、上記逆カプセル化された第２のデータパケットについて逆ＮＡＴを行うことと、逆ＮＡＴ後の上記逆カプセル化された第２のデータパケットにおいて特定された宛先アドレスへの伝達のために、逆ＮＡＴ後の上記逆カプセル化された第２のデータパケットを転送することと、を行わせ得る。
【００７８】
他の例によれば、カスタマエッジルータのプロセッサによる実行のための命令群を記憶した非一時的なコンピュータ読取可能な記憶媒体が説明されている。命令群を記憶した例示的な非一時的なコンピュータ読取可能な記憶媒体は、カスタマエッジルータのプロセッサによる実行に応じて、上記プロセッサに、上記カスタマエッジルータと１つ以上の統合ルータとの間のオーバレイネットワークであって、上記カスタマエッジルータと上記１つ以上の統合ルータの各々との間のそれぞれのトンネルを含む上記オーバレイネットワークを確立することと、プライベートＩＰアドレスのパブリックＩＰアドレスへの変換であるネットワークアドレス変換（ＮＡＴ）を第１のデータパケットについて行って、ＮＡＴ後の第１のデータパケットを生成することと、上記ＮＡＴ後の第１のデータパケットを送信するための適切なトンネルを選択することと、選択された上記トンネルに対応するオーバレイ情報と共に、上記ＮＡＴ後の第１のデータパケットをカプセル化することと、カプセル化された上記ＮＡＴ後の第１のデータパケットを、選択された上記トンネルを通じて送信することと、を行わせ得る。さらなる例において、上記パブリックＩＰアドレスは、上記カスタマエッジルータのデバイスアドレスであってもよく、上記デバイスアドレスは、上記１つ以上の統合ルータの機能ＩＰアドレス空間内の個別のＩＰアドレスであってもよい。
【００７９】
いくつかの例において、上記例示的な非一時的なコンピュータ読取可能な記憶媒体は、上記カスタマエッジルータの上記プロセッサによる実行に応じて、上記プロセッサに、選択された上記トンネルを通じて第２のデータパケットを受信することと、上記第２のデータパケットからオーバレイ情報を除去して、逆カプセル化された第２のデータパケットを生成することと、上記逆カプセル化された第２のデータパケットについて逆ＮＡＴを行うことと、逆ＮＡＴ後の上記逆カプセル化された第２のデータパケットにおいて特定された宛先アドレスへの伝達のために、逆ＮＡＴ後の上記逆カプセル化された第２のデータパケットを転送することと、を行わせる命令群、をも記憶し得る。
【００８０】
要するに、いくつかの例において、第１のカスタマエッジルータにおいて、仮想化されたキャリアグレードネットワークアドレス変換（ＣＧＮ）を提供する方法は、上記第１のカスタマエッジルータと１つ以上の統合ルータ内の各統合ルータとの間のトンネルを確立することと、ネットワークアドレス変換（ＮＡＴ）を第１のデータパケットについて行って、ＮＡＴ後の第１のデータパケットを生成することと、上記１つ以上の統合ルータから、上記ＮＡＴ後の第１のデータパケットの送信先とすべき第１の統合ルータを選択することと、上記第１のカスタマエッジルータと第１の統合ルータとの間で確立されたトンネルに対応するオーバレイ情報と共に、上記ＮＡＴ後の第１のデータパケットをカプセル化することと、カプセル化された上記ＮＡＴ後の第１のデータパケットを、上記第１の統合ルータへ上記トンネルを通じて送信することと、を含み得る。
【００８１】
本開示において使用したところでは、“モジュール”又は“コンポーネント”との用語は、コンピュータシステムの、当該モジュール若しくはコンポーネントのアクションを実行するように構成される固有のハードウェア実装、並びに／又は、汎用ハードウェア（例えば、コンピュータ読取可能な媒体、処理デバイスなど）により記憶され及び／若しくは実行され得るソフトウェアオブジェクト若しくはソフトウェアルーチンへの言及であり得る。いくつかの実施形態において、本開示において説明した様々なコンポーネント、モジュール、エンジン及びサービスは、コンピューティングシステム上で稼働するオブジェクト又は処理（例えば、別々のスレッド群）として実装されてもよい。本開示において説明したシステム及び方法のいくつかは、（汎用ハードウェアにより記憶され及び／又は実行される）ソフトウェアで実装されるものとして広く説明されているものの、固有のハードウェア実装、ファームウェア実装又はそれらの任意の組合せもまた可能であり予期される。本説明において、“コンピューティングエンティティ”とは、本開示において前に説明したようないかなるコンピューティングシステムであってもよく、コンピュータシステム上で稼働するいかなるモジュール若しくはモジュール群の組合せであってもよい。
【００８２】
本開示及び添付の特許請求の範囲（例えば、添付の特許請求の範囲の本文）において使用した用語は、概して、「オープン」な用語として意図されている（例えば、“含む（including）”との用語は、“含むが限定はされない（including, but not limited to）”として解釈されるべきであり、“有する（having）”との用語は、“少なくとも含む（having at least）”として解釈されるべきであり、“含む（includes）”との用語は、“含むが限定はされない（includes, but not limited to）”として解釈されるべきである、など）。
【００８３】
加えて、導入した請求項の事項に特定の数が意図される場合、そうした意図は、請求項において明示的に記載されるはずであり、そうした記載が無ければそうした意図は存在しない。例えば、理解を助けるためにいうと、以下の添付の特許請求の範囲は、請求項の事項を導入するために、“少なくとも１つ”及び“１つ以上”という前置された句の使用を含むかもしれない。しかしながら、そうした句の使用は、同じ請求項が前置句“１つ以上”又は“少なくとも１つ”及び“a”又は“an”といった不定冠詞を含む場合であっても、不定冠詞“a”又は“an”による請求項の事項の導入がそのように導入される請求項の事項を含む具体的な請求項を、当該事項を１つだけ含む実施形態に限定することを示唆するものとして解釈されるべきではない（例えば、“a”及び／又は“an”は、“少なくとも１つ”又は“１つ以上”を意味するものとして解釈されるべきである）；同じことが、請求項の事項を導入するために使用される定冠詞の使用にも当てはまる。
【００８４】
加えて、導入される請求項の事項で特定の数が明示的に記載されているとしても、当業者は、そうした事項が少なくとも記載された数あることを意味するものとして解釈されるべきであることを認識するであろう（例えば、他の修飾子無しでの“２つの事項”というそのままの記載は、少なくとも２つの事項又は２つ以上の事項を意味する）。さらに、“Ａ、Ｂ及びＣなどのうちの少なくとも１つ”又は“Ａ、Ｂ及びＣなどのうちの１つ以上”に類似する慣例が使用された例では、概して、そうした構文は、Ａのみ、Ｂのみ、Ｃのみ、Ａ及びＢ共に、Ａ及びＣ共に、Ｂ及びＣ共に、又は、Ａ、Ｂ及びＣ共に、などを含むものと意図される。
【００８５】
本開示に記載した全ての例及び条件的な言い回しは、本開示及び技術を進展させるために発明者により寄与される概念を理解することにおいて読み手を助ける教育上の目的のために意図されており、そうした具体的に記載された例及び条件への限定ではないものとして解釈されるべきである。本開示の実施形態を詳細に説明したが、本開示の精神及びスコープから逸脱することなく、多様な変更、代用及び変形がここになされ得るであろう。
【図１】
0006967657.tif 000002
【図２】
0006967657.tif 000003
【図３】
0006967657.tif 000004
【図４】
0006967657.tif 000005
【図５】
0006967657.tif 000006
【図６】
0006967657.tif 000007
【図７】
0006967657.tif 000008
【図８】
0006967657.tif 000009