(57)【要約】  いくつかの実施形態は、ネットワークにおいて論理ルータを実施する方法を提供する。当該方法は、ネットワーク要素の組上で実施する論理ルータの定義を受信する。当該方法は、論理ルータのためのいくつかのルーティング構成要素を定義する。定義されたルーティング構成要素のそれぞれは、別個に経路の組と論理インタフェースの組とを割り当てられる。当該方法は、ネットワークにおいていくつかのルーティング構成要素を実施する。いくつかの実施形態では、いくつかのルーティング構成要素は、１つの分散化ルーティング構成要素といくつかの集中化ルーティング構成要素とを含む。
2018507635.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークにおいて論理ルータを実施する方法であって、前記方法は、
ネットワーク要素の組上で実施する論理ルータの定義を受信することと、
前記論理ルータに対する複数のルーティング構成要素を定義することであって、前記定義されたルーティング構成要素のそれぞれが別々の経路の組と別々の論理インタフェースの組とを含む、ことと、 
前記ネットワークにおいて前記複数のルーティング構成要素を実施することとを含む、方法。
【請求項２】
請求項１に記載の方法であって、前記複数のルーティング構成要素は、１つの分散化ルーティング構成要素と、複数の集中化ルーティング構成要素とを含む、方法。
【請求項３】
請求項２に記載の方法であって、更に、前記分散化ルーティング構成要素と前記複数の集中化ルーティング構成要素との間のトラフィックを論理的に処理する論理スイッチを、自動的に定義することを含む、方法。
【請求項４】
請求項３に記載の方法であって、前記ネットワークにおいて前記複数のルーティング構成要素を実施することは、単一のマシン上で前記集中化ルーティング構成要素のそれぞれを実施することと、前記分散化ルーティング構成要素と論理スイッチとを複数のマシンに跨って実施することとを含む、方法。
【請求項５】
請求項１に記載の方法であって、前記論理ルータの前記定義は、外部ネットワークと接続するための複数のインタフェースの仕様を含み、各インタフェースは、ネットワークアドレスとデータリンクアドレスとを含み、前記複数のルーティング構成要素を定義することは、 
前記複数のインタフェースの第１の１つを第１のゲートウェイマシンへ割り当て、前記複数のインタフェースの第２の１つを第２のゲートウェイマシンへ割り当てることと、 
前記第１のゲートウェイマシン上で実施する第１の集中化ルーティング構成要素と、前記第２のゲートウェイマシン上で実施する第２の集中化ルーティング構成要素とを定義することとを含む、方法。
【請求項６】
請求項５に記載の方法であって、 
前記第１の集中化ルーティング構成要素を定義することは、（ｉ）前記第１のゲートウェイマシンに割り当てられた第１のインタフェースの構成詳細を用いて、前記第１の集中化ルーティング構成要素に対する前記第１のインタフェースを定義し、（ｉｉ）分散化ルーティング構成要素と通信するために用いられる前記第２の集中化ルーティング構成要素に対する第２のインタフェースを定義することを含み、
前記第２の集中化ルーティング構成要素を定義することは、（ｉ）前記第２のゲートウェイマシンに割り当てられた第２のインタフェースの構成詳細を用いて、前記第２の集中化ルーティング構成要素に対する第１のインタフェースを定義し、（ｉｉ）前記分散化ルーティング構成要素と通信するために用いられる前記第２の集中化ルーティング構成要素に対する第２のインタフェースを定義することを含む、方法。
【請求項７】
請求項６に記載の方法であって、前記第１の集中化ルーティング構成要素の前記第１のインタフェースに対するネットワークアドレスデータは、前記複数のインタフェースの前記第１の１つに対するネットワークアドレスデータに基づき、前記第１の集中化ルーティング構成要素の前記第２のインタフェースに対するネットワークアドレスデータは、前記論理ルータの前記定義の任意の構成詳細とは別に生成される、方法。
【請求項８】
請求項６に記載の方法であって、前記複数のルーティング構成要素を定義することは、更に、前記第１の集中化ルーティング構成要素の前記第２のインタフェースと、前記第２の集中化ルーティング構成要素の前記第２のインタフェースと、前記分散化ルーティング構成要素のインタフェースとの全てに接続するポートを有する論理スイッチを定義することを含む、方法。
【請求項９】
請求項６に記載の方法であって、前記第１の集中化ルーティング構成要素の前記第２のインタフェースと、前記第２の集中化ルーティング構成要素の前記第２のインタフェースとは、異なるネットワークアドレスと異なるデータリンクレイヤアドレスとを有する、方法。
【請求項１０】
請求項６に記載の方法であって、前記第１の集中化ルーティング構成要素の前記第２のインタフェースと、前記第２の集中化ルーティング構成要素の前記第２のインタフェースとは、同一のネットワークアドレスと異なるデータリンクレイヤアドレスとを有する、方法。
【請求項１１】
請求項１に記載の方法であって、前記論理ルータの前記定義は、アプリケーションプログラミングインタフェース（ＡＰＩ）を介して受信される、方法。
【請求項１２】
請求項１に記載の方法であって、前記論理ルータは第１の論理ルータであって、前記方法は、更に、前記第１の論理ルータのインタフェースに接続する第２の論理ルータの定義を受信することを含む、方法。
【請求項１３】
請求項１２に記載の方法であって、前記第１の論理ルータの前記定義は、外部ネットワークと通信するための複数のインタフェースを含み、前記第２の論理ルータは、前記第１の論理ルータを介してのみ前記外部ネットワークと通信する、方法。
【請求項１４】
請求項１３に記載の方法であって、更に、前記第２の論理ルータのために構成されたステートフルサービスが存在しない場合に、前記第２の論理ルータに対する単一の分散化ルーティング構成要素を定義することを含む、方法。
【請求項１５】
請求項１３に記載の方法であって、更に、ステートフルサービスが前記第２の論理ルータのために構成される場合に、（ｉ）分散化ルーティング構成要素と、（ｉｉ）前記第２の論理ルータに対する２つの集中化ルーティング構成要素とを定義することを含み、前記第２の論理ルータに対する、前記定義されたルーティング構成要素のそれぞれは、別々の経路の組と、別々の論理インタフェースの組とを含む、方法。
【請求項１６】
請求項１５に記載の方法であって、更に、前記２つの集中化ルーティング構成要素のそれぞれのインタフェースと、前記第１の論理ルータの前記分散化ルーティング構成要素の単一のインタフェースとに接続するポートを有する論理スイッチを定義することを含む、方法。
【請求項１７】
請求項１５に記載の方法であって、前記第２の論理ルータの前記２つの集中化ルーティング構成要素の第１は、アクティブとして指示され、前記第２の論理ルータの前記２つの集中化ルーティング構成要素の第２は、スタンバイとして指示され、前記第２の論理ルータの前記第１の集中化ルーティング構成要素は、ＡＲＰリクエストに応答し、前記第２の論理ルータの前記第２の集中化ルーティング構成要素はＡＲＰリクエストに返信しない。
【請求項１８】
論理ルータの複数のピア集中化構成要素の１つにおける障害を処理する方法であって、前記方法は、 
前記論理ルータの前記ピア集中化構成要素の第１の１つにおいて、前記ピア集中化構成要素の第２の１つが停止したことを検出することと、 
前記検出に応じて、前記停止した第２のピアのネットワークレイヤアドレスを自動的に識別することと、 
論理ルータの前記ピア集中化構成要素の全てと論理ルータの分散化構成要素とを接続する論理スイッチ上でメッセージをブロードキャストすることにより、前記停止したピアへのデータトラフィックに対する責務を引き受けることであって、前記メッセージは、受信側に、前記識別されたネットワークレイヤアドレスを前記第１のピア集中化構成要素のデータリンクレイヤアドレスと関連付けるように指示する、ことを含む、方法。
【請求項１９】
請求項１８に記載の方法であって、前記第２のピア集中化構成要素が停止したことを検出することは、前記第１のピア集中化構成要素が動作する第１のマシンと、前記第２のピア集中化構成要素が動作する第２のマシンとの間のトンネルがもはや動作していないことを検出することを含む、方法。
【請求項２０】
請求項１８に記載の方法であって、前記第２のピア集中化構成要素が停止したことを検出することは、外部ネットワークへの接続性がもはや利用可能でない前記第２のピア集中化構成要素からメッセージを受信することを含む、方法。
【請求項２１】
請求項２０に記載された方法であって、前記外部ネットワークと動的ルーティング情報を交換することができない場合に、前記第２のピア集中化構成要素はメッセージを送信する、方法。
【請求項２２】
請求項２０に記載された方法であって、前記外部ネットワークとデータトラフィックをもはや交すことができない場合に、前記第２のピア集中化構成要素はメッセージを送信する、方法。
【請求項２３】
請求項１８に記載の方法であって、前記方法は、前記第１のピア集中化構成要素と同一のマシン上で動作するローカルネットワークコントローラによって実行される、方法。
【請求項２４】
請求項１８に記載の方法であって、前記方法は、前記第１のピア集中化構成要素によって実行される、方法。
【請求項２５】
請求項１８に記載の方法であって、前記論理ルータは、データセンタ内で実施される論理ネットワークと、前記データセンタ外の物理ネットワークとの間の通信を処理するものであり、前記停止した第２のピアの前記識別されたネットワークレイヤアドレスは、前記論理ルータの前記分散化構成要素と通信するインタフェースに対する、ネットワークレイヤアドレスである、方法。
【請求項２６】
請求項２５に記載の方法であって、前記停止した第２のピアの前記識別されたネットワークレイヤアドレスは、前記論理ルータの前記分散化構成要素と通信する、前記第１のピアのインタフェースに対するネットワークレイヤアドレスと異なる、方法。
【請求項２７】
請求項２６に記載の方法であって、前記論理ネットワークと前記物理ネットワークとの間の通信を処理するために、前記第１のピア及び前記第２のピアの両方がアクティブとして指示される、方法。
【請求項２８】
請求項２５に記載の方法であって、前記停止した第２のピアの前記識別されたネットワークレイヤアドレスが、前記論理ルータの前記分散化構成要素と通信する、前記第１のピアのインタフェースに対するネットワークレイヤアドレスと同一である、方法。
【請求項２９】
請求項２８に記載の方法であって、停止する前に、前記論理ネットワークと前記物理ネットワークの間の通信を処理するために、前記第２のピアがアクティブとして指示され、前記第１のピアは、前記論理ネットワークと前記物理ネットワークの間の通信を処理するために、スタンバイとして指示される、方法。
【請求項３０】
論理ルータのゲートウェイ構成要素を定義する方法であって、前記方法は、 
前記論理ルータのために構成される複数のアップリンクのそれぞれに、異なるゲートウェイマシンへの前記アップリンクを割り当ていることと、 
前記アップリンクの第１の１つに対して、前記第１のアップリンクが割り当てられる第１のゲートウェイマシン上で実施される、前記論理ルータの第１の集中化ゲートウェイ構成要素を定義することと、 
前記第１のアップリンクに従って構成される、前記第１の集中化ゲートウェイ構成要素に対する第１のローカルインタフェースを定義することであって、前記第１の集中化ゲートウェイ構成要素に対する前記第１のローカルインタフェースは、前記論理ルータの実施より外側のネットワークへトラフィックをフォワードする、ことと、 
前記第２のアップリンクに従って構成される、前記第１の集中化ゲートウェイ構成要素に対する第２のインタフェースを定義することであって、前記第２のインタフェースは、第２の集中化ゲートウェイ構成要素が前記外部ネットワークへ前記トラフィックをフォワードするように、前記第２のアップリンク構成に従って処理されるトラフィックを、第２のゲートウェイマシン上で実施される前記第２の集中化ゲートウェイ構成要素へリダイレクトする、こととを含む方法。
【請求項３１】
請求項３０に記載の方法であって、更に、前記第１の集中化ゲートウェイ構成要素を、前記外部ネットワークと動的ルーティング情報を交わすように構成することを含み、前記動的ルーティング情報を交わすことを通じて前記第１の集中化ゲートウェイ構成要素によって学習される経路は、前記第１のローカルインタフェースを介した出力のために、前記第１の集中化ゲートウェイ構成要素のルーティング情報ベース（ＲＩＢ）に組み込まれる、方法。
【請求項３２】
請求項３１に記載の方法であって、前記第２の集中化ゲートウェイ構成要素も、前記外部ネットワークと動的ルーティング情報を交わし、前記第２の集中化ゲートウェイ構成要素によって学習される経路は、前記第２のインタフェースを介した出力のために、前記第１の集中化ゲートウェイ構成要素のＲＩＢに組み込まれる、方法。
【請求項３３】
請求項３２に記載の方法であって、前記第１の集中化ゲートウェイ構成要素によって学習される経路は、前記第１の集中化ゲートウェイ構成要素のＲＩＢにおいて、前記第２の集中化ゲートウェイ構成要素によって学習される経路より短い管理上の距離を有する、方法。
【請求項３４】
請求項３２に記載の方法であって、前記第１の集中化ゲートウェイ構成要素によって学習される経路は、前記第１の集中化ゲートウェイ構成要素によって、前記第２の集中化ゲートウェイ構成要素によって学習される経路よりも選択される、方法。
【請求項３５】
請求項３０に記載の方法であって、更に、複数のマシンにおける複数の管理フォワーディング要素によって実施される、前記論理ルータの分散化ルーティング構成要素を定義することを含み、前記複数のマシンは、前記アップリンクが割り当てられる、少なくとも前記ゲートウェイマシンを含む、方法。
【請求項３６】
請求項３５に記載の方法であって、前記第１の集中化ゲートウェイ構成要素は、動的ルーティングプロトコルを用いて前記外部ネットワークからルーティング情報を学習し、前記分散化ルーティング構成要素のＲＩＢへ組み込むために前記ルーティング情報を提供する、方法。
【請求項３７】
請求項３６に記載の方法であって、前記第１の集中化ゲートウェイ構成要素は、前記分散化ルーティング構成要素のＲＩＢへ組み込むために、前記学習したルーティング情報を集中化ネットワークコントローラへ渡す、方法。
【請求項３８】
請求項３７に記載の方法であって、前記集中化ネットワークコントローラは、前記ＲＩＢを、前記分散化ルーティング構成要素を実施する前記複数のマシンへ分配する、方法。
【請求項３９】
請求項３５に記載の方法であって、更に、前記第１の集中化ゲートウェイ構成要素に対する第３のインタフェースを定義することを含み、前記第１の集中化ゲートウェイ構成要素に対する前記第３のインタフェースは、前記分散化ルーティング構成要素とトラフィックを交す、方法。
【請求項４０】
請求項３０に記載の方法であって、前記第１の集中化ゲートウェイ構成要素は、トラフィックを、前記外部ネットワークから前記第１のインタフェースを介して直接受信する、方法。
【請求項４１】
請求項３０に記載の方法であって、更に、 
前記アップリンクの第２の１つに対して、前記第２のアップリンクが割り当てられる前記第２のゲートウェイマシン上で実施される、前記論理ルータの前記第２の集中化ゲートウェイ構成要素を定義することと、 
前記第２のアップリンクに従って構成される、前記第２の集中化ゲートウェイ構成要素に対する第１のローカルインタフェースを定義することであって、前記第２の集中化ゲートウェイ構成要素に対する前記第１のローカルインタフェースは、前記外部ネットワークへトラフィックをフォワードする、ことと、 
前記第１のアップリンクに従って構成される、前記第２の集中化ゲートウェイ構成要素に対する第２のインタフェースを定義することであって、前記第２のインタフェースは、第１の集中化ゲートウェイ構成要素が前記外部ネットワークへ前記トラフィックをフォワードするように、前記第１のアップリンク構成に従って処理されるトラフィックを、前記第１の集中化ゲートウェイ構成要素へリダイレクトする、こととを含む方法。
【請求項４２】
請求項３０に記載の方法であって、前記第１のアップリンク及び前記第２のアップリンクは、構成された異なるサービスポリシーを有する、方法。
【請求項４３】
請求項３０に記載の方法であって、前記第１のアップリンク及び前記第２のアップリンクは、前記外部ネットワークとの異なるＬ３接続性を有する、方法。
【請求項４４】
少なくとも１つの処理ユニットで実行されると、請求項１から４３のうちのいずれかに従う方法を実施するプログラムを格納する、機械可読媒体。
【請求項４５】
電子デバイスであって、 
プロセッシングユニットの組と、 
少なくとも１つの処理ユニットで実行されると、請求項１から４３のうちのいずれかに従う方法を実施するプログラムを格納する機械可読媒体と、を含む電子デバイス。
【請求項４６】
請求項１から４３のいずれか１つに従う前記方法を実施する手段を有するシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  典型的な物理ネットワークは、Ｌ３フォワーディング（forwarding）（すなわちルーティング）を実行するための複数の物理ルータを含む。第１のマシンが、異なるＩＰサブネットに置かれた第２のマシンへパケットを送信しようとする場合、パケットはルータに送信され、当該ルータは、パケットの送信先ＩＰアドレスを用いてどのマシンの物理インタフェースを通じてパケットを送信すべきかを決定する。より大きなネットワークは、ルータの１つが停止した場合に、パケットが第１のマシンと第２のマシンとの間の異なるパスに沿ってルーティングされ得るように、複数のルータを含む。
【０００２】
[0002]  論理ネットワークにおいても、異なるサブネットにおけるユーザ定義データ計算ノード（例えば仮想マシン）が、互いに通信することが同様に必要であり得る。この場合、テナント（tenant）は、論理スイッチと論理ルータとの両方を含む、仮想化のためのネットワークを定義し得る。データセンタにおいてこのような仮想化された論理ネットワークを適切に提供する論理ルータを実施する方法が必要とされている。
【発明の概要】
【０００３】
[0003]  いくつかの実施形態は、ネットワークにおいて（例えばデータセンタにおいて）論理ルータを実施する方法を提供する。ある実施形態では、この方法は、ネットワークを集中的に管理する（例えばネットワークコントローラにおいて実施される）管理プレーンによって実行される。いくつかの実施形態では、この方法は、（例えばアプリケーションプログラミングインタフェース（ＡＰＩ）を通じて）論理ルータの定義を受信し、そして論理ルータのためのいくつかのルーティング構成要素を定義する。これらのルーティング構成要素のそれぞれは、別個に経路の組と論理インタフェースの組とを割り当てられる。
【０００４】
[0004]  いくつかの実施形態では、論理ルータのために定義されたいくつかのルーティング構成要素は、１つの分散化ルーティング構成要素といくつかの集中化ルーティング構成要素とを含む。加えて、いくつかの実施形態の管理プレーンは、論理ルータの内部の構成要素の間の通信を処理するための論理スイッチ（通過論理スイッチとして参照される）を定義する。分散化ルーティング構成要素と通過論理スイッチとは、データセンタ内の多数のマシンによって分散化された態様で実施される一方、集中化ルーティング構成要素はそれぞれが単一のマシン上で実施される。いくつかの実施形態は、様々なマシン上の管理対象フォワーディング構成要素のデータパスにおいて分散化構成要素を実施する一方、集中化ルーティング構成要素はその単一のマシン上の複数のＶＭ（又は他のデータ計算ノード）において実施される。他の実施形態もまた、割り当てられたマシンのデータパスにおいて集中化構成要素を実施する。
【０００５】
[0005]  ある実施形態では、集中化構成要素はアクティブ−アクティブモード、又はアクティブ−スタンバイモードであるように構成され得る。アクティブ−アクティブモードでは、全ての集中化構成要素が同時に完全に動作し、トラフィックは、（様々な集中化構成要素にわたるトラフィックをバランスする）等価コストマルチパス（equal-cost multi-path）（ＥＣＭＰ）フォワーディング原理を用いる集中化構成要素を通して、論理ネットワークに侵入又は退出することができる。このモードでは、別々の集中化構成要素のそれぞれは、外部ネットワークと通信するための、自身のネットワークレイヤ（例えばＩＰ）アドレスとデータリンクレイヤ（例えばＭＡＣ）アドレスとを有する。加えて、別々の集中化構成要素のそれぞれは、分散化ルーティング構成要素へパケットを送信するとともに分散化ルーティング構成要素からパケットを受信するために、通過論理スイッチと接続するための自身のネットワークレイヤアドレスとデータリンクレイヤアドレスとを有する。
【０００６】
[0006]  いくつかの実施形態では、論理ルータは２層論理ネットワーク（two-tier logical network）構成の一部である。２層構成のいくつかの実施形態は、論理ネットワークをデータセンタの外部のネットワークに接続するための単一の論理ルータ（プロバイダ論理ルータ（provider logical router）（ＰＬＲ）として参照され、例えばデータセンタの所有者によって管理される）と、単一の論理ルータと接続し、外部ネットワークと個別に通信しない複数の論理ルータ（テナント論理ルータ（tenant logical router）（ＴＬＲ）として参照され、例えばデータセンタの異なるテナントによって管理される）とを含む。いくつかの実施形態は、可能なときはいつでもアクティブ−アクティブモードにおいてＰＬＲを実施し、ステートフルサービス（stateful service）（例えば、ＮＡＴファイアウォール、ロードバランサ等）が論理ルータのために構成される場合にのみアクティブ−スタンバイモードを用いる。
【０００７】
[0007]  ＰＬＲに対して、いくつかの実施形態は外部ネットワークと経路交換を可能にする。ＰＬＲの集中化構成要素のそれぞれは、論理ネットワークのプレフィックスをアドバタイズし、外部ネットワークへの経路を受信するために動的ルーティングプロトコル処理を実行する。データセンタ内に集中的、及び論理ネットワークを実施するマシン上の両方に置かれたネットワークコントローラのネットワーク制御システムを通して、これらの経路が他の集中化構成要素と分散化ルーティング構成要素とに伝達される。いくつかの実施形態は、外部ネットワークから直接学習した経路と、外部ネットワークから経路を学習した、異なるピアの集中化構成要素から学習した経路とについての、集中化構成要素のルーティング情報ベース（routing information base, RIB）において異なる管理上のメトリックを用いる。従って、集中化構成要素は、論理ルータのピア集中化構成要素を通じたリダイレクションを含む経路よりも、直接学習した経路を選択する。しかしながら、異なる集中化構成要素が、外部ネットワークへの異なるＬ３の接続性をもって構成されるインタフェースを有する場合、いくつかの実施形態では、第１の集中化構成要素によって処理されるパケットを第２の集中化構成要素を介して外部ネットワークへリダイレクトするために用いられる集中化構成要素上に、ダミーインタフェースを生成する。
【０００８】
[0008]  一方、アクティブ−スタンバイモードでは、集中化構成要素のうちの１つのみがその時点で完全に機能（アクティブな構成要素）し、この構成要素のみがトラフィックを引き込むためのメッセージを送信する。いくつかの実施形態では、２つの構成要素は、分散化構成要素と通信するための同一のネットワークレイヤアドレス（しかし異なるデータリンクレイヤアドレス）を使用し、アクティブな構成要素のみが、分散化構成要素からのアドレス解決プロトコル（address resolution protocol, ARP）のリクエストに返信する。更に、アクティブな集中化構成要素のみが、トラフィックを引き込むために外部ネットワークへ経路をアドバタイズする。
【０００９】
[0009]  論理ルータがＴＬＲである場合、いくつかの実施形態は、論理ルータに対するステートフルサービス（stateful service）が構成されるときには、アクティブ−スタンバイモードでは、集中化構成要素を用いない或いは２つの集中化構成要素を用いる。ＴＬＲは、同一のネットワークレイヤアドレスを有する２つの集中化構成要素のそれぞれと、ＡＲＰリクエストに応答するアクティブな構成要素のみを有し、アクティブ−スタンバイモードにおいて内部的にＰＬＲと同様の形態で動作する。ＰＬＲと接続するために、いくつかの実施形態はまた、２つの構成要素のそれぞれに同一のネットワークレイヤアドレス（しかし自身の分散化構成要素と接続するために用いられるアドレスとは異なる）を割り当てる。加えて、管理プレーンは、ＰＬＲの分散化構成要素とＴＬＲの集中化構成要素との間の通過論理スイッチを定義する。
【００１０】
[0010]  いくつかの場合、アクティブ−アクティブモードであろうとアクティブ−スタンバイモードであろうと、集中化ルータ構成要素の１つ（又はそれ以上）は停止する。この障害は、構成要素が動作するマシンが完全にクラッシュし、マシンを実施するデータ計算ノード又はデータパスソフトウェアが破損し、外部ネットワークと接続する、或いは論理ネットワークの他の構成要素へのトンネルを通じて接続する構成要素の能力が停止する等によって発生し得る。停止した構成要素が、アクティブ−スタンバイモードにおいてスタンバイである場合、いくつかの実施形態では、取るべきアクションはない。そうでない場合、集中化構成要素の１つが停止したときには、そのピア構成要素の１つが通信を引き継ぐ責務を負う。
【００１１】
[0011]  アクティブ−スタンバイモードでは、スタンバイの集中化ルータ構成要素が、停止したアクティブな集中化ルータ構成要素に対する引き継ぎの責務を負う。このようにするため、論理ルータがＰＬＲである場合、新しいアクティブな構成要素は、外部ネットワークからのトラフィックを引き込むために、外部ネットワークに対して経路のアドバタイジングを開始する（外部ネットワークへの接続性が維持されている場合、停止した構成要素は、このトラフィックを引き込むことを避けるために、自身の経路のアドバタイズメントを停止する責務を負う）。加えて、新しいアクティブな構成要素は、ネットワークレイヤアドレスの２つの構成要素の間の共有について現時点で責務を負うＰＬＲの分散化構成要素に、メッセージ（例えばグラチュータスＡＲＰ（gratuitous ARP）（GARP）の返信）を送信する。論理ルータがＴＬＲである場合、この同一のＧＡＲＰの返信の組が送信される。更に、構成要素が接続するＰＬＲからのトラフィックを引き込むため、新しいアクティブな構成要素は、ＧＡＲＰの返信を、当該構成要素をＰＬＲに接続する通過論理スイッチへ送信する。
【００１２】
[0012]  いくつかの実施形態のアクティブ−アクティブモードでは、管理プレーンは、論理ルータに対する全ての集中化構成要素を、これらが生成された時点におけるランキングを用いて指定する。このランキングは、停止した構成要素をどのピア構成要素が引き継ぐかを決定するために用いられる。具体的に、ある実施形態では、停止した構成要素のランキングの次に高いランキングを有する集中化構成要素が、停止した構成要素を引き継ぐ。引き継ぐためには、引き継ぐ構成要素が、論理ルータに対する分散化構成要素と通信する、停止した構成要素のネットワークレイヤアドレスを識別し、自身のデータリンクレイヤアドレスを、停止した構成要素のネットワークレイヤアドレスと関連付けるＧＡＲＰの返信を送信する。
【００１３】
[0013]  先行する要約は、本発明のいくつかの実施形態に対する簡単な導入として提供されることを意図するものである。本書面において開示される発明の主題の全ての紹介又は概要を意味するものではない。以下の詳細な説明及び詳細な説明において参照される図面は、他の実施形態と、要約において説明された実施形態を更に説明するであろう。従って、本書面によって説明される全ての実施形態を理解するため、要約、詳細な説明及び図面の十分な確認が必要である。更に、クレームされる主題は、主題の思想から離れることなく他の具体的な形態で具現化することができるため、クレームされる主題は、要約、詳細な説明及び図面における詳細な例によって限定されず、むしろ添付された特許請求の範囲によって定義されるべきである。
【図面の簡単な説明】
【００１４】
[0014]  本発明の新規な特徴は添付の特許請求の範囲によって明らかになる。しかしながら、説明の目的のため、本発明のいくつかの実施形態は以下の図において明らかになる。
【図１】[0015]  図１は、ユーザによって指示されるような論理ネットワークを表す、論理ルータの構成図を示す。
【図２】[0016]  図２は、論理ルータが集中化される態様で実施される場合の、図１の論理ネットワークの管理プレーンビューを示す。
【図３】[0017]  図３は、図１の論理ルータの物理的に集中化された実施を示す。
【図４】[0018]  図４は、論理ルータが分散化される態様で実施される場合の、図１の論理ネットワークの管理プレーンビューを示す。
【図５】[0019]  図５は、図１の論理ルータの物理的に分散化された実施を示す。
【図６】[0020]  図６は、論理ルータの２つの層を用いる論理ネットワークを概念的に示す。
【図７】[0021]  図７は、論理ネットワーク内のＴＬＲが完全に分散化される場合の、図６の論理トポロジの管理プレーンビューを示す。
【図８】[0022]  図８は、論理ネットワーク内のＴＬＲが集中化構成要素を有する場合の、図６の論理トポロジの管理プレーンビューを示す。
【図９】[0023]  図９は、管理者によって割り当てられたネットワークアドレスおよびインタフェースを含む、論理ネットワークトポロジのより詳細な構成を概念的に示す。
【図１０】[0024]  図１０は、管理プレーンごとの図９の論理トポロジの構成を示す。
【図１１】[0025]  図１１は、ユーザ仕様に基づいてＰＬＲを構成するいくつかの実施形態の処理を概念的に示す。
【図１２】[0026]  図１２は、ユーザ仕様に基づいてＴＬＲを構成するいくつかの実施形態の処理を概念的に示す。
【図１３】[0027]  図１３は、ＴＬＲとＰＬＲの両方がＤＲに加えてＳＲを含む、図８に示す２層論理ネットワークを構築する管理プレーンの物理的な実施を概念的に示す。
【図１４Ａ】、
【図１４Ｂ】[0028]  図１４Ａ及び１４Ｂは、論理ルータの単一層を用いる論理トポロジに対する、論理ネットワークから出るトラフィック（ノースバウンドトラフィック（northbound traffic））と論理ネットワークへ入るトラフィック（サウスバウンドトラフィック（southbound traffic））とのそれぞれの例を示す。
【図１５Ａ】、
【図１５Ｂ】[0029]  図１５Ａ及び１５Ｂは、下の（ＴＬＲ）層で提供される集中化サービスを有しない、２層論理トポロジに対するノースバウンド及びサウスバウンドのトラフィックの例を示す。
【図１６Ａ】、
【図１６Ｂ】[0030]  ＳＲによって下の（ＴＬＲ）層で提供される集中化サービスを有しない、２層の論理トポロジに対するノースバウンド及びサウスバウンドのトラフィックの例を示す。
【図１７】[0031]  図１７は、いくつかの実施形態のＳＲ処理の様々なステージを概念的に示す。
【図１８】、
【図１９】[0032]  図１８及び図１９は、単一の層のロジカルネットワークトポロジと、ＥＣＭＰの使用要件を満たすトポロジの管理プレーンビューを示す。
【図２０】[0033]  図２０は、論理ルータがアクティブ−アクティブ（ＥＣＭＰ）モードよりもむしろアクティブ−スタンバイモードで構成される場合の、図１８の論理ネットワークトポロジの管理プレーンビューを示す。
【図２１】[0034]  図２１は、特定のＰＬＲに対する３つのｒｅＳＲをホストする３つのゲートウェイマシンの物理的な実装例を示す。
【図２２】[0035]  図２２は、クラッシュする図２１のＳＲの１つを実施するＶＭの１つの結果を概念的に示す。
【図２３】[0036]  図２３は、図２１のＳＲの１つをホストするゲートウェイマシン上のＭＦＥにおける、完全なトンネルの障害の結果を概念的に示す。
【図２４】[0037]  図２４は、ピアＳＲのファイオーバーの場合にＳＲによって実行される処理を概念的に示す。
【図２５】[0038]  図２５は、本発明のいくつかの実施形態が実装される電子システムを概念的に示す。
【発明を実施するための形態】
【００１５】
[0039]  いくつかの実施形態は、例えばデータセンタにおける実施のための２層論理ルータ技術を提供する。これらの層は、いくつかの実施形態では、プロバイダ論理ルータ（ＰＬＲ）の上層（top tier）とテナント論理ルータ（ＴＬＲ）の下層（lower tier）とを含む。この２層構造は、プロバイダ（例えばデータセンタのオーナー）とテナント（例えばデータセンタのカスタマ、しばしば多数のこのようなカスタマのうちの１つ）との両方が、これら自身のサービスとポリシーの制御を可能にする。いくつかの実施形態では、ＰＬＲレイヤは、外部物理ネットワークとインタフェースで接続する論理レイヤであり、従って、動的ルーティングプロトコル（例えばＢＧＰ）は、データセンタの外部の物理ルータとルーティング情報を交換することができるように、ＰＬＲ上に構成され得る。いくつかの実施形態はまた、物理的なネットワークルータが起動しているかを監視するための双方向フォワーディング検出（ＢＦＤ）又は同様のプロトコルの構成を可能にする。いくつかのデータセンタは複数のテナントを有し得ず、この場合、別個のＰＬＲとＴＬＲに対する必要性は無くなる。このような場合、いくつかの実施形態は、ＰＬＲの機能を有する単一の層を用いる、単一層論理ルータトポロジを用い得る。いくつかの実施形態の２層論理トポロジは、２０１４年３月２１日に出願された米国特許出願１４／２２２，５５７号に、より詳細に説明されており、参照により以下に組み込まれる。
【００１６】
[0040]  いくつかの実施形態では、ＰＬＲとＴＬＲの両方が、ステートフルサービス（例えばファイアウォール）に加えて、ステートレスサービス（例えばアクセス制御リスト（ＡＣＬ））をサポートする能力を有する。加えて、（ＶＭなどのデータ計算ノードが接続し得る）論理スイッチはＰＬＲ又はＴＬＲのいずれかと接続し得る。更に、ＰＬＲとＴＬＲの両方は、（例えば、データ計算ノードと直接物理的に接続する第１ホップのＭＦＥで実行される論理ルータ処理を用いて）分散化された態様、又は（ノース−サウストラフィックとイースト−ウェストトラフィックの両方のためのゲートウェイで実行される論理ルータ処理を用いて）集中化された態様のいずれかで実施されることができる。集中化された実施では、分散化された態様で実施される場合であってもＰＬＲが物理ネットワークと相互作用する集中化ゲートウェイに加え、論理ルータの両層は、（例えば等価コストマルチパス（equal-cost multi-path, ECMP)技術を用いて）追加的なスループットを提供するために、障害保護（failure protection）のときと同じように複数の物理的なボックスを用いることによってスケールアウトされ得る。
【００１７】
[0041]  いくつかの実施形態では、論理ルータが少なくとも部分的に集中化（例えばクラスタ−化）された態様で実施される場合、論理ルータは（論理ルータの実施の間のステート共有に対する必要性を排除するために）ステートフルサービスのみを用い得る。異なる実施形態では、（分散化ＰＬＲのための外部ネットワークへの接続を形成するとともに、論理ルータの集中化された側面を提供する）ゲートウェイは、（あるときにはエッジＶＭ（Edge VM）として参照される）仮想マシン、データ計算ノードの他の種別（例えばネームスペース）、又はＬｉｎｕｘベースのデータパス開発キット（ＤＰＤＫ）のパケット処理ソフトウェア（例えば、ＤＰＤＫベースのデータパスにおけるＶＲＦ）として実施され得る。
【００１８】
[0042]  以下、明細書において使用される用語及び略語のいくつかを説明する。
・VNI (Virtual/Logical Network Identifier)−論理ドメイン（例えば論理スイッチ）に対する固有の識別子（例えば２４ビットの識別子）。
・PLR (Provider Logical Router−上述のように、サービスプロバイダ（例えばデータセンタのオペレータ）が完全な制御権を有し、外部の物理ネットワークと直接的にインタフェースで接続する論理ルータ。
・TLR (Tenant Logical Router)−テナント（例えばデータセンタのカスタマ、企業体内のグループ等）が完全な制御権を有し、外部の物理ネットワークにアクセスするためにＰＬＲと接続する論理ルータ。
・分散化論理ルータ（Distributed Logical Router）−第１ホップルーティングをサポートする論理ルータ、すなわち、データ計算ノードが直接接続する管理対象フォワーディング構成要素内で、論理ルータが実施される。
・集中化論理ルータ（Centralized Logical Router）−第１ホップルーティングをサポートしない論理ルータ。
・サービスルータ（ＳＲ）−集中化サービスを提供するために用いられる論理ルータの具体化の一部であり、いくつかの実施形態では、ＳＲは、トラブルシューティングの目的を除いて、ネットワークマネージャーＡＰＩに露出されない。
・分散化ルータ（ＤＲ）−第１ホップルーティングを提供するために用いられる論理ルータの具体化の一部。いくつかの実施形態では、ＤＲもまた、トラブルシューティングの目的を除いて、ネットワークマネージャーＡＰＩに露出されない。
・アップリンク−（ｉ）論理ルータ（外部物理ネットワークに向けられている）のノースバウンドインタフェースと、（ｉｉ）ゲートウェイのpNlCsの組との両方への参照。
・論理スイッチ−論理Ｌ２ブロードキャストドメイン。
・通過論理スイッチ（Transit logical switch）−ＴＬＲのＳＲ／ＤＲとＤＲのＤＲとを接続するためにネットワークマネージャーによって自動的に生成される論理スイッチであり、いくつかの実施形態では、通過論理スイッチは、接続されるデータ計算ノード（例えばカスタマワークロードＶＭ）を有しない。
更に、いくつかの実施形態では、通過論理スイッチはトラブルシューティングの目的を除いて、ネットワークマネージャーＡＰＩに露出されない。
・コンテキスト−論理ルータのデータパス表現であり、いくつかの実施形態では、コンテキストはＶＲＦ、ネームスペース又はＶＭであり得る。
・トランスポートノード、又はゲートウェイ−ネットワークマネージャーによって定義されたトンネルを終端させるノードであり、様々な実施形態において、当該ノードはハイパーバイザで実施される仮想スイッチ、又はＤＰＤＫベースのエッジノードであり得る。いくつかの実施形態では、トランスポートノードはデータパスを用いる相互接続に用いられ得る。
・デプロイコンテナ（Deployment Container、DC)、又はエッジクラスタ（Edge Cluster）−同種のノードの集合、同一のＬ２接続性を共有するアップリンクであり、いくつかの実施形態では、ＤＣ内の全ノードは同一の種別であり且つ同一の障害ドメインに属す。
・エッジノード（Edge Node）−ＤＣ内のノードであり、ＤＰＤＫベースのエッジ又はハイパーバイザで実施される仮想スイッチであり得る。
【００１９】
[0043]  上記は２層論理ルータの概念と、いくつかの実施形態の論理ルータの構成及び実施の所定の側面とを説明する。以下、セクションＩはいくつかの実施形態の論理ルータの全体的な高レベルの設計に焦点をあて、一方で、セクションＩＩは様々な論理ルータ構成要素の構成を説明する。そして、セクションＩＩＩは、いくつかの実施形態の様々なパイプラインを通したパケット処理を説明する。次に、セクションＩＶはアクティブ−アクティブ構成におけるＥＣＭＰ処理を説明し、一方で、セクションＶはアクティブ−スタンバイ構成について説明する。そして、セクションＶＩはＳＲに対するフェイルオーバー（failover）シナリオについて説明する。最後に、セクションＶＩＩは、本発明のいくつかの実施形態が実装される電子システムを説明する。
【００２０】
[0044]  Ｉ．論理ルータ及び物理的な実施
[0045]  以下の説明は、いくつかの実施形態に対する論理ルータの設計について、いくつかの実施形態のネットワークコントローラによる論理ルータの実施とともに説明する。上述したように、いくつかの実施形態の論理ルータは、分散化した又は集中化した態様のいずれかで実施することができ、論理ルータがステートフル（又はステートレス）サービスを用いて又は用いることなくスケールアウトすることができるように、そして、そのようなサービスがデータパス内のＶＲＦコンテキスト又は仮想マシンコンテキストのいずれかによって提供され得るように、設計される。
【００２１】
[0046]  いくつかの実施形態では、論理ルータは３つの異なる形態で存在する。３つの形態の１つ目は、ＡＰＩの図、或いは構成図であり、これは、論理ルータが、データセンタプロバイダ又はテナントのようなユーザによってどのように定義されるか（すなわち受信した論理ルータの定義）についてのものである。２つ目の図は、ネットワークコントローラがどのように内部的に論理ルータを定義するかについての、コントロールプレーン又は管理プレーンのビューである。最後に、３つ目の図は、論理ルータがどのようにデータセンタ内で実際に実施されるかについての論理ルータの物理的な具体化又は実施である。
【００２２】
［0047］  コントロールプレーンの図では、いくつかの実施形態の論理ルータは、単一のＤＲと１つ以上のＳＲとの１つ又は両方を含む。いくつかの実施形態において、ＤＲは、論理ルータに直接若しくは間接に論理的に接続される他のデータ計算ノード又はＶＭと直接接続する、管理対象フォワーディング構成要素（ＭＦＥ）に及ぶ。いくつかの実施形態のＤＲはまた、論理ルータが結合するゲートウェイに及ぶ。上述したように、ＤＲは、論理スイッチ及び、論理ルータと論理的に接続された他の論理ルータの少なくともいずれかの間における、第１ホップの分散ルーティングに対して責務を負う。いくつかの実施形態のＳＲは、分散化された形態（例えばいくつかのステートフルサービス）で実施されないサービスを配送する責務を負う。
【００２３】
[0048]  Ａ．集中化論理ルータ
[0049]  図１−３は、集中化論理ルータの実施についての３つの異なる図を示している。図１は、特に、ユーザによって指示されるような論理ネットワーク１００を表す、論理ルータの構成図を示す。図示されるように、論理ルータ１１５は、論理ルータ１１５と、２つの論理スイッチ１０５及び１１０とを含む論理ネットワーク１００の一部である。２つの論理スイッチ１０５と１１０のそれぞれは、論理ポートに接続するＶＭを有する。３つの図においてＶＭとして示すが、いくつかの実施形態において、他の種別のデータ計算ノード（例えばネームスペース等）が論理スイッチと接続することが理解されるべきである。論理ルータ１１５はまた、外部物理ネットワーク１２０に接続する２つのポートを含む。
【００２４】
[0050]  図２は、論理ネットワーク１００の管理プレーンビュー２００を示している。論理スイッチ１０５と１１０は、この図では構成図と同一であるが、ネットワークコントローラは、論理ルータ１１５に対して２つのサービスルータ２０５と２１０とを生成している。いくつかの実施形態では、これらのＳＲは、１つのＳＲがアクティブに動作し、他はスタンバイとして（アクティブなＳＲが障害である場合に）動作する、アクティブ−スタンバイモードで動作する。論理スイッチ１０５と１１０のそれぞれは、ＳＲ２０５と２１０のそれぞれとの接続を有する。論理ネットワーク１００が３つの論理スイッチを含む場合、これらの３つの論理スイッチは、ＳＲ２０５と２１０との両方にそれぞれ接続される。
【００２５】
[0051]  最後に、図３は、論理ルータ１００の物理的な集中化実施を示している。図示されるように、論理ネットワーク１００における論理スイッチ１０５と１１０の１つに接続されるＶＭのそれぞれは、ホストマシン３０５上で動作する。これらのホストマシン上で動作するＭＦＥ３１０は、ホストマシン上のハイパーバイザ又は他の仮想化ソフトウェア内で動作する仮想スイッチ（例えばＯＶＳ、ＥＳＸ）である。これらのＭＦＥは、論理ネットワーク１００のＶＭによって送信されるパケットに対し、論理スイッチ１０５及び１１０の第１ホップのスイッチングを実行する。ＭＦＥ３１０（又はこれらのサブセット）はまた、他の論理ネットワークが、ホストマシン３０５上に同様に存在するＶＭを有する場合、他の論理ネットワークのための論理スイッチ（及び分散化論理ルータ）を実施し得る。
【００２６】
[0052]  ２つのサービスルータ２０５と２１０のそれぞれは、異なるゲートウェイマシン３１５及び３２０上で動作する。ゲートウェイマシン３１５と３２０は、いくつかの実施形態においてホストマシン３０５と類似するホストマシンであるが、ユーザＶＭよりむしろホストサービスルータである。いくつかの実施形態では、ゲートウェイマシン３１５及び３２０のそれぞれは、ＭＦＥが必要な任意の論理スイッチングを処理するように、サービスルータとＭＦＥとを含む。例えば、外部ネットワーク１２０から送信されたパケットは、ゲートウェイ上のサービスルータの実施によってルーティングされ得、そして同じゲートウェイ上のＭＦＥにより、その後スイッチされる。
【００２７】
[0053]  ＳＲは、異なる実施形態では、ネームスペース内、仮想マシン内、又はＶＲＦとして実施され得る。ＳＲは、いくつかの実施形態では、任意のステートフルサービス（例えばファイアウォール）が論理ルータ上に構成されるかどうかに応じて、アクティブ−アクティブ又はアクティブ−スタンバイモードで動作し得る。ステートフルサービスが構成される場合、いくつかの実施形態は単一のアクティブＳＲのみを必要とする。いくつかの実施形態では、アクティブ及びスタンバイのサービスルータは同一の構成で提供されるが、ＭＦＥ３１０は、アクティブＳＲ（又はアクティブＳＲを有するゲートウェイマシン上のＭＦＥへ）へトンネルを介してパケットを送信するように構成される。トンネルがダウンした場合にのみ、ＭＦＥがスタンバイのゲートウェイにパケットを送信する。
【００２８】
[0054]  B. 分散化論理ルータ
[0055]  上述したセクションが論理ルータの集中化された実施について説明するのに対し、いくつかの実施形態は、ゲートウェイに全てのルーティングの機能を集中させるよりむしろ、第１ホップルーティングを可能にする分散化論理ルータの実施を用いる。いくつかの実施形態では、分散化論理ルータの物理的な具体化は、常にＤＲ（すなわち第１ホップルーティング）を有する。分散化論理ルータは、（ｉ）論理ルータがＰＬＲであり、従って外部物理ネットワークに接続する、或いは（ｉｉ）分散化された実施を持たないように構成されたサービス（例えば、いくつかの実施形態では、ＭＡＴ、ロードバランシング、ＤＨＣＰ）を、論理ルータが有する、のいずれかの場合にＳＲを有する。いくつかの実施形態は、ＰＬＲ上に構成されるステートフルサービスが無い場合であっても、ＥＣＭＰの場合の障害の対処に役立てるための実施において、ＳＲを用いる。
【００２９】
[0056]
[0057]  図４及び５は、それぞれ、管理プレーンビュー及び分散化論理ルータのための物理的な実施を示している。ユーザによって入力される構成ビューは、集中化ルータのための図１で示したものと同一であり、相違はユーザ（管理者）が論理ルータが分散化するように示すことである。分散化実施のためのコントロールプレーンビュー４００は、２つのサービスルータ４０５と４１０に加えて、コントロールプレーンが分散化ルータ４１５と通過論理スイッチ４２０とを生成することを示している。様々なルータ構成物４０５−４１５のノースバウンド及びサウスバウンドの構成と、これらの通過論理スイッチ４２０との接続は以下で更に詳細に説明される。いくつかの実施形態では、管理プレーンは、ルータ構成物４０５−４１５のそれぞれに対して別々のルーティング情報ベース（routing information bases）（RIB）を生成する。これは、管理／コントロールプレーンにおいて生成された別々のオブジェクトを有することに加えて、各ルータ構成物４０５は別々の経路を有する別々のルータとして扱われる。そして、通過論理スイッチ４２０は、これらの各ルータに対する論理ポートを有し、各ルータ構成物は通過論理スイッチ４２０へのインタフェースを有する。
【００３０】
[0058]  図５は、論理ルータ１００の物理的な分散化実施を示している。集中化実施のように、論理ネットワーク１００における論理スイッチ１０５と１１０の１つに接続するＶＭのそれぞれは、ホストマシン５０５上で動作する。ＭＦＥ５１０は、第１ホップスイッチングと論理スイッチ１０５及び１１０のためのルーティングと論理ルータ１１５のためのルーティングとを（スイッチングを実行すること及び／又は他の論理ネットワークへルーティングすることに加えて）実行する。図５に示すように、分散化ルータ４１５は、ゲートウェイ５１５及び５２０に加えてＭＦＥ５１０にわたって実施される。すなわち、データパス（例えば、ＭＦＥ５１０において、ゲートウェイ５１５及び５２０におけるＭＦＥと同様に、又は、ゲートウェイ上の異なる形態要素で）は、ＤＲ４１５（及び通過論理スイッチ４２０）に必要な処理パイプラインの全てを含む。いくつかの実施形態のパケット処理は、以下でより詳細に説明される。
【００３１】
[0059]  Ｃ．多層トポロジ（Multi-Tier Topology）
[0060]  前の例は論理ルータの単一層のみを示すものである。論理ルータの多層の論理ネットワークでは、いくつかの実施形態は、各レベルにおいてＤＲとＳＲの両方を、又は、上層レベルのＤＲ及びＳＲ（ＰＬＲ層）と下層レベル（ＴＬＲ層）のＤＲのみを、含み得る。図６は、いくつかの実施形態の多層論理ネットワーク６００を、論理ネットワークの異なる２つの管理プレーンビューを示す図７及び図８とともに、概念的に示している。
【００３２】
[0061]  図６は、論理ルータの２つの層を用いる論理ネットワーク６００を概念的に示している。図示されるように、論理ルータ６００は、レイヤ３のレベルにおいて、プロバイダの論理ルータ６０５、いくつかのテナント論理ルータ６１０−６２０を含む。第１のテナント論理ルータ６１０は、論理スイッチのそれぞれに接続する１つ以上のデータ計算ノードとともに、取り付けられた２つの論理スイッチ６２５及び６３０を有する。典型的には他のＴＬＲ６１５−６２０は（データ計算ノードと接続する）取り付けられた論理スイッチを有するが、簡単のために、第１のＴＬＲ６１０に取り付けられた論理スイッチのみを示している。
【００３３】
[0062]  いくつかの実施形態では、任意の数のＴＬＲが、ＰＬＲ６０５のようなＰＬＲに取り付けられ得る。いくつかのデータセンタは、データセンタ内で実施される全てのＴＬＲが取り付けられる単一のＰＬＲのみを有し得るが、他のデータセンタは多数のＰＬＲを有し得る。例えば、大きなデータセンタは異なるテナントに対して異なるＰＬＲポリシーを用いることを望み得るか、全てのＴＬＲを単一のＰＬＲに取り付ける非常に多くの異なるテナントを有し得る。ＰＬＲのルーティングテーブルの部分は、そのＴＬＲの論理スイッチドメインの全てに対する経路を含み、従って、ＰＬＲに多数のＴＬＲを取り付けることにより、ＴＬＲに取り付けたサブネットに基づく各ＴＬＲに対するいくつかの経路を生成する。図示されるように、ＰＬＲ６０５は外部物理ネットワーク６３５への接続を提供し、いくつかの実施形態は、データセンタのプロバイダがこの接続を管理することができるように、ＰＬＲがそのような接続を提供することを可能にする。別々のＴＬＲ６１０−６２０のそれぞれは、論理ネットワーク６００の部分を通して、独立に構成される（そのように選択すれば単一のテナントが複数のＴＬＲを有することができるが）。
【００３４】
[0063]  図７及び８は、ＴＬＲ６０５が集中化構成要素を含むか否かに応じて異なる、取り得る論理ネットワーク６００の管理プレーンビューを示す。これらの例では、ＴＬＲ６０５のルーティングについてはＤＲを用いて常に分散化される。しかしながら、ＴＬＲ６０５の構成がステートフルサービスの提供を含む場合、ＴＬＲの管理プレーンビュー（従って物理的実施）は、これらのステートフルサービスのためのアクティブ及びスタンバイのＳＲを含む。
【００３５】
[0064]  従って、図７は、ＴＬＲ６０５が完全に分散化される場合の、論理トポロジに対する管理プレーンビュー７００を示す。簡単のため、第１のＴＬＲ６１０の詳細のみが示されているが、他のＴＬＲは、いくつかの場合にはＳＲに加えてそれぞれが自身のＤＲを有する。図４に示すように、ＰＬＲ６０５はＤＲ７０５と、通過論理スイッチ７２５によって互いに接続される３つのＳＲとを含む。ＰＬＲ６０５の実施内の通過論理スイッチ７２５に加えて、管理プレーンはまた、ＴＬＲのそれぞれとＰＬＲのＤＲ７０５との間の別々の通過論理スイッチ７３０−７４０を定義する。ＴＬＲ６１０が完全に分散化される事例（図７）では、通過論理スイッチ７３０は、ＴＬＲ６１０の構成を実施するＤＲ７４５と接続する。従って、以下でより詳細に説明されるように、論理スイッチ６２５に取り付けられるデータ計算ノードによって外部ネットワーク内の宛先に送信されるパケットは、論理スイッチ６２５、ＴＬＲ６１０のＤＲ７４５、通過論理スイッチ７３０、ＰＬＲ６０５のＤＲ７０５、通過論理スイッチ７２５、及びＳＲ７１０−７２０の１つ、のパイプラインを通して処理される。いくつかの実施形態では、通過論理スイッチ７２５及び７３０−７４０の存在及び定義は、トラブルシューティングを目的とする例外はあるものの、ＡＰＩを通してネットワークを設定するユーザ（例えば管理者）には隠される。
【００３６】
[0065]  図８は、ＴＬＲ６０５が集中化構成要素を有する場合（例えば、分散化することができないステートフルサービスがＴＬＲのために定義されているため）の、論理トポロジ６００に対する管理プレーンビュー８００を示している。いくつかの実施形態では、ファイアウォール、ＮＡＴ、ロードバランシング等などのステートフルサービスは、集中化した形態でのみ提供される。しかしながら、他の実施形態は、分散化するサービスのいくつか又は全てを可能にする。前の図のように、第１のＴＬＲ６１０の詳細のみが簡単のために示されており、他のＴＬＲは、同様に定義された構成要素（ＤＲ、通過ＬＳ、及び２つのＳＲ）、又は図７の例のようにＤＲのみを有し得る。ＰＬＲ６０５は、前の図と同一の態様で、通過論理スイッチ７２５によって互いに接続されたＤＲ７０５と３つのＳＲ７１０を用いて実施される。加えて、前の例のように、管理プレーンは、ＰＬＲとＴＬＲのそれぞれとの間に通過論理スイッチ７３０−７４０を置く。
【００３７】
[0066]  ＴＬＲ６１０の部分的な集中化実装は、論理スイッチ６２５及び６３０が取り付けられるＤＲ８０５と、２つのＳＲ８１０及び８１５とを含む。ＰＬＲの実施のように、ＤＲと２つのＳＲのそれぞれは通過論理スイッチ８２０へのインタフェースを有する。いくつかの実施形態において、この通過論理スイッチは、スイッチ７２５と同一の目的を果たす。ＴＬＲに対し、いくつかの実施形態は、１つのＳＲがアクティブ、他がスタンバイに指定されたアクティブ−スタンバイのＳＲを実施する。従って、アクティブなＳＲが動作可能な限り、論理スイッチ６２５及び６３０の１つに取り付けられるデータ計算ノードによって送信されるパケットは、スタンバイのＳＲよりむしろアクティブなＳＲに送信される。
【００３８】
［0067］  上図はいくつかの実施形態の論理ルータの管理プレーンビューを示した。いくつかの実施形態では、管理者又は他のユーザは、ＡＰＩを通して（他の構成情報に加えて）論理トポロジを提供する。このデータは管理プレーンに提供され、それは（例えばＤＲ、ＳＲ、通過論理スイッチ等を定義することによって）論理ネットワークトポロジの実施を定義する。加えて、いくつかの実施形態では、ユーザは、各論理ルータ（例えば各ＰＬＲ又はＴＬＲ）をデプロイのために物理マシンの組（例えばデータセンタ内の予め定められたマシンの組）と関連付ける。純粋な分散化ルータについては、図７で実施されるＴＬＲ６０５のように、ＤＲが、論理ネットワークに接続されたデータ計算ノードと共にホスト上に存在する管理フォワーディング構成要素にわたって実施されるため、物理マシンの組は重要ではない。しかしながら、論理ルータの実施がＳＲを含む場合、これらのＳＲのそれぞれは特定の物理マシン上にデプロイされる。いくつかの実施形態では、物理マシンのグループは、（ユーザＶＭ又は、論理スイッチに取り付けられるデータ計算ノードとは対照的に）ＳＲをホストする目的のために指定されたマシンの組である。他の実施形態では、ＳＲは、ユーザデータ計算ノードと一緒にマシン上にデプロイされる。
【００３９】
[0068]  ある実施形態では、論理ルータのユーザ定義は特定の数のアップリンクを含む。以下で説明されるように、アップリンクは、論理トポロジにおける論理ルータのノースバウンドインタフェースである。ＴＬＲについては、そのアップリンクはＰＬＲと接続する（一般に、アップリンクの全ては同一のＰＬＲと接続する）。ＰＬＲについては、そのアップリンクは外部ルータと接続する。いくつかの実施形態はＰＬＲのアップリンクの全てが同一の外部ルータとの接続性を有することを必要とする一方で、他の実施形態はアップリンクが外部ルータの異なる組と接続することを可能にする。ひとたびユーザが論理ルータのためのマシンのグループを選択すると、ＳＲが論理ルータのために必要である場合には、管理プレーンは、選択されたマシンのグループにある物理マシンに論理ルータのアップリンクのそれぞれを割り当てる。管理プレーンはその後、アップリンクが割り当てられる各マシン上でＳＲを生成する。いくつかの実施形態では、同一マシンに複数のアップリンクを割り当てることが可能であり、この場合、マシン上のＳＲは複数のノースバウンドインタフェースを有する。
【００４０】
[0069]  上述したように、いくつかの実施形態では、ＳＲは、仮想マシン又は他のコンテナとして、又は、（例えばＤＰＤＫベースのＳＲの実施である場合には）ＶＲＦコンテキストとして、実施され得る。いくつかの実施形態では、ＳＲの実施のための選択は、論理ルータのために選択されたサービスと、どのＳＲの種別がこれらのサービスを最良に提供するかとに基づき得る。
【００４１】
[0070]  加えて、いくつかの実施形態の管理プレーンは通過論理スイッチを生成する。通過論理スイッチのそれぞれについて、管理プレーンは、論理スイッチに固有のＶＮＩを割り当て、各ＳＲ及びＤＲ上に、通過論理スイッチと接続するポートを生成し、そして、論理スイッチと接続する任意のＳＲ及びＤＲに対するＩＰアドレスを割り当てる。いくつかの実施形態は、各通過論理スイッチに割り当てられたサブネットが多数のＴＬＲ（例えばネットワークトポロジ６００）を有する論理Ｌ３ネットワークトポロジ内で固有になることを必要とし、ＴＬＲのそれぞれは自身の通過論理スイッチを有し得る。すなわち、図８では、ＰＬＲの実施内の通過論理スイッチ７２５、ＰＬＲとＴＬＲの間の通過論理スイッチ７３０−７４０、及び通過論理スイッチ８２０（及び任意の他のＴＬＲの実施内の通過論理スイッチ）のそれぞれは、固有のサブセットを必要とする。更に、いくつかの実施形態では、ＳＲは、論理空間内の例えばＨＡプロキシのようなＶＭへの接続を初期化する必要があり得る。戻りのトラフィックが機能することを保証するために、いくつかの実施形態はリンクローカルＩＰアドレスを使用しないようにする。
【００４２】
[0071]  いくつかの実施形態は、多層構成において、論理ルータの接続に様々な制限を設ける。例えば、いくつかの実施形態は、任意の数の論理ルータの層（例えば、ＴＬＲの多数の層に加えて、外部ネットワークに接続するＰＬＲ層）を可能にし、他の実施形態は２層トポロジのみ（ＰＬＲに接続する１つのＴＬＲの層）を可能にする。更に、いくつかの実施形態は、各ＴＬＲが唯一のＰＬＲに接続することを可能にし、そして、ユーザによって生成された各論理スイッチ（すなわち通過論理スイッチではない）が１つのＰＬＲ又は１つのＴＬＲに接続することを可能にする。いくつかの実施形態はまた、論理ルータのサウスバウンドのポートのそれぞれが異なるサブネットになければならないという制約を追加する。従って、２つの論理スイッチは、同一の論理ルータと接続する場合に、同一のサブネットを有しないであろう。最後に、いくつかの実施形態は、ＰＬＲの異なるアップリンクが異なるゲートウェイマシン上に存在しなければならないことを必要とする。いくつかの実施形態はこれらの要件のいずれも含まないこと、又は要件の様々な異なる組み合わせを含むことが理解されるべきである。
【００４３】
[0072]  ＩＩ．ＳＲ及びＤＲの構成
[0073]  ユーザが論理ルータを構成する場合、この構成は、論理ルータのためのＳＲ及びＤＲを管理プレーンによって構成するために用いられる。例えば、図１の論理ルータ１１５は４つのインタフェース（２つは論理スイッチへのもの、２つはアップリンク）を有する。しかしながら、図４におけるその分散化された管理プレーンの実施は、それぞれが３つのインタフェースを有するＤＲと２つのインタフェースを有するＳＲと（全部で７つのインタフェース）を含む。ＩＰ及びＭＡＣアドレスと、論理ルータ構成の一部として４つのインタフェースに割り当てられる他の構成の詳細とは、論理ルータの様々な構成要素に対する構成を生成するために用いられる。
【００４４】
[0074]  更に、構成の一部として、いくつかの実施形態は、論理ルータ構成要素のそれぞれに対してルーティング情報ベース（routing information base）（ＲＩＢ）を生成する。すなわち、管理者が単一の論理ルータのみを定義した場合であっても、いくつかの実施形態の管理プレーン及びコントロールプレーンの少なくともいずれかが、ＤＲ及びＳＲのそれぞれのための別々のＲＩＢを生成する。ＰＬＲのＳＲのために、いくつかの実施形態では、管理プレーンが初めにＲＩＢを生成するが、ＳＲの物理的実施もまた、動的なルーティングプロトコル処理（例えばＢＧＰ、ＯＳＰＦ等）を実行して局所的にＲＩＢを補う。
【００４５】
[0075]  いくつかの実施形態は、論理ルータのＲＩＢ内、つまりその構成要素ルータのＲＩＢ内に複数の種別の経路を含む。いくつかの実施形態では、全ての経路は、大きい値ほど低優先度の経路の種別を示す、優先度を決定するために用いられる管理上の距離値（すなわち、同一のプレフィックスに対する２つの経路が存在する場合、より低い距離値を有する経路が用いられる）を含む。同一のプレフィックスに対する複数の経路が同一の距離値でＲＩＢにある場合、これらのプレフィックスへのトラフィックは当該異なる経路にわたって（例えば、トラフィックを同等にバランスするためのＥＣＭＰ原理を用いて）分散する。
connected (0):  論理ルータのポートに構成されるプレフィックス
static (1):  管理者／ユーザによる構成
management plane internal (10):  デフォルト経路−ＴＬＲがＰＬＲに接続され
る場合、ＰＬＲへ向かうデフォルト経路がＴＬＲのＲＩＢに追加され、論理
スイッチがＴＬＲに接続される場合、ユーザはサブネットを再分散化できる
ようにし、サブネットがＮＡＴ化されていなければ、サブネットのＴＬＲへ
向かうデフォルト経路はＰＬＲのＲＩＢに追加される
EBGP (20):  次の４つの種別は動的なルーティングプロトコルを介して学習される
経路である
OSPF internal (30)
OSPF external (110)
IBGP (200)
【００４６】
[0076]  いくつかの実施形態では、全ての論理ルータがＢＧＰとＯＳＰＦ経路の両方を含むとは限らず、いくつかの論理ルータが含み得ないことを理解すべきである。例えば、外部ネットワークへの接続を含まない論理ルータは、何らのルーティングプロトコルを使用し得ず、そして、いくつかの論理ルータは、ＢＧＰ及びＯＳＰＦの両方よりむしろ、１つの種別の経路共有プロトコル（route-sharing protocol）のみを実行し得る。
【００４７】
[0077]  更に、いくつかの実施形態では、（動的なルーティングプロトコルを用いる）ＰＬＲのＳＲは、集中化コントローラから受信した（静的、接続済み、及び管理プレーンの内部経路を含む）ＲＩＢを、（動的ルーティングプロトコルを介して）物理ルータから学習した経路に統合する。ＳＲは、学習済み経路を再計算のために集中化コントローラに送り返すよりむしろ、経路の収束を促進するために、これらの動的経路の統合に基づいて、そのＦＩＢを内部で計算する。ＤＲに対し、いくつかの実施形態の集中化コントローラは、ＲＩＢ全体を、ＦＩＢを計算する内部のコントロールプレーンにプッシュダウン（pushe down）する。
【００４８】
[0078]  Ａ．ＤＲの構成
[0079]  ある実施形態では、ＤＲは、常に論理ルータの実施のサウスバウンド側（すなわち、外部物理ネットワークに接するよりもむしろ、論理ネットワークのデータ計算ノードに接する）に配置される。論理ルータが集中化構成要素を有しないのでなければ、論理ルータのアップリンクはＤＲに対して構成されず、ＤＲのノースバウンドインタフェースは、代わりに論理ルータの一部である通過論理スイッチに接続する。
【００４９】
[0080]  図９は、管理者によって割り当てられたネットワークアドレスおよびインタフェースを含む、論理ネットワークトポロジ９００のより詳細な構成を概念的に示す。図示されるように、論理スイッチ９０５及び９１０は、それぞれ自身のサブネット、１．１．１．０／２４及び１．１．２．０／２４に割り当てられ、論理スイッチ９０５に取り付けられたデータ計算ノードの全ては、対応するサブネット内のＩＰアドレスを有する。論理ルータ９１５は、第１の論理スイッチ９１５へのインタフェースＬ１を有し、このインタフェースは、サブネット１．１．１．０／２４におけるデータ計算ノードに対するデフォルトゲートウェイである、１．１．１．２５３のＩＰアドレスを有する。論理ルータ９１５はまた、第２の論理スイッチ９１０へのインタフェースＬ２を有し、このインタフェースは、サブネット１．１．２．０／２４におけるデータ計算ノードに対するデフォルトゲートウェイである、１．１．２．２５３のＩＰアドレスを有する。
【００５０】
[0081]  論理ルータ９１５のノースバウンド側は２つのアップリンク、Ｕ１及びＵ２を有する。第１のアップリンクＵ１は、１９２．１６８．１．２５２のＩＰアドレスを有し、１９２．１６８．１．２５２のＩＰアドレスを有する第１の物理ルータ９２０と接続する。第２のアップリンクＵ２は、１９２．１６８．２．２５３のＩＰアドレスを有し、１９２．１６８．２．２５２のＩＰアドレスを有する第２の物理ルータ９２５と接続する。物理ルータ９２０及び９２５は、実際には論理ネットワークの一部ではないが、論理ネットワークを外部ネットワークに接続する。図示した例では、アップリンクのそれぞれは単一の異なる物理ルータに接続するが、いくつかの事例では、アップリンクのそれぞれが複数の物理ルータの同一の組に接続する。すなわち、Ｕ１及びＵ２の両方は、物理ルータ９２０及び９２５の両方と両方が接続する。図示された例はそのような事例ではないが、いくつかの実施形態は、アップリンク接続が同一の接続性を提供する各外部ルータを必要とする。代わりに、第１の論理ルータ９２０はサブネット１０．０．０．０／８に接続する一方で、第２のルータ９２５は両方のサブネット１０．０．０．０／８及び１１．０．０．０／８に接続する。
【００５１】
[0082]  分散化構成要素を有する論理ルータに対し、いくつかの実施形態は以下のようにＤＲを構成する。サウスバウンドインタフェースは論理ルータのサウスバウンドインタフェースと同様に構成される。これらのインタフェースは、論理トポロジにおける論理スイッチ又は低レベル論理ルータと接続するものである（例えばＰＬＲのサウスバウンドインタフェースはＴＬＲと接続する）。いくつかの実施形態のＤＲは、単一のノースバウンドインタフェースが割り当てられ、これにはＩＰアドレスとＭＡＣアドレスが割り当てられる。論理ルータが１つ以上のＳＲを有することを想定した場合、ＤＲのノースバウンドインタフェースは通過論理スイッチと接続する。
【００５２】
[0083]  ＤＲのＲＩＢは、様々なサウスバウンド及びノースバウンドインタフェース上に構成されたサブネットに基づいて、接続される経路を割り当てられる。（ｉ）論理ルータのＤＲ及びＳＲ構成要素の間に構成される通過論理スイッチ、及び（ｉｉ）そのサウスバウンドインタフェース上の任意の論理スイッチ、に対して構成されるサブネットが存在する。サウスバウンドインタフェース上の論理スイッチは、データ計算ノードが接続するユーザ定義の論理ドメイン、又は、ＰＬＲのＤＲとＰＬＲに接続する任意のＴＬＲとの間に配置される通過論理スイッチである。
【００５３】
[0084]  更に、論理ルータのアップリンクから出る任意の静的経路は、ＤＲのＲＩＢに含まれるが、これらの経路は、次ホップのＩＰアドレスがアップリンクのＳＲのそれに設定されるように修正される。例えば、静的経路「１９２．１６８．１．２５２を介してａ．ｂ．ｃ．０／２４」（１９２．１６８．１．２５２は外部物理ネットワークルータのアドレス）は、「[ＳＲサウスバウンドインタフェースのＩＰ]を介してａ．ｂ．ｃ．０／２４」に修正される。反対に、論理ルータのサウスバウンドインタフェースから出る静的経路は、修正されないＤＲのＲＩＢに含まれる。いくつかの実施形態では、論理ルータの各ＳＲに対して、種別管理プレーン内部のデフォルト経路がＤＲのＲＩＢに追加される。他の実施形態では、代わりに、特定のＳＲによって学習される動的経路が、特定のＳＲのサウスバウンドインタフェースのＩＰとして修正される次ホップのＩＰアドレスとともにＲＩＢに追加される。これはデフォルト経路に対する代替であり、これは管理プレーン内部種別がさもなければＳＲによって学習された動的経路よりも高い優先度を有するためである。しかしながら、いくつかの実施形態では、ＴＬＲについて、ＳＲは動的ルーティングプロトコルを実行しないため、アクティブなＳＲのインタフェースを指す次ホップＩＰアドレスを有するデフォルト経路が代わりに用いられる。
【００５４】
[0085]  図１０は、管理プレーンによる論理トポロジ９００の構成１０００を示している。図示されるように、論理スイッチ９０５と９１０とは、ユーザ設定によって指定されたように構成される。前の例のように、論理ルータ９１５は、ＤＲ１００５と、２つのＳＲ１０１０及び１０１５と、通過論理スイッチ１０２０とを含む。ＤＲは、論理ルータ９０５の２つのサウスバウンドインタフェースが割り当てられ、これらは論理スイッチ９０５及び９１０に接続する。通過論理スイッチは、サブネット１９２．１６８．１００．０／２４が割り当てられ、これは、論理ルータ９０５に（直接的に又は間接的に）論理的に接続する論理スイッチのなかで固有であるという要件を満たす必要がある。１００５−１０１５を構築する３つの管理プレーンルータのそれぞれはまた、通過論理スイッチに接続されるインタフェースを含み、当該通過論理スイッチのサブネット内のＩＰアドレスを有する。ノースバウンドインタフェースＵ１及びＵ２は、２つのＳＲ１０１０及び１０１５に割り当てられ、その構成は以下で説明する。
【００５５】
[0086]  ＲＩＢの生成のために上述したいくつかの実施形態のルールを使用することにより、ＤＲ１００５のＲＩＢは以下の経路を含む：
1.1.1.0/24 output to L1
1.1.2.0/24 output to L2
192.168.100.0/24 output to DRP1
192.168.1.0/24 via IP1
192.168.2.0/24 via IP2
10.0.0.0/8 via IP1
10.0.0.0/8 via IP2
11.0.0.0/8 via IP2
0.0.0.0/0 via IP1
0.0.0.0/0 via IP2
【００５６】
[0087]  上記経路は、ＤＲに接続された論理スイッチドメイン（１．１．１．０／２４、１．１．２．０／２４及び１９２．１６８．１００．０／２４）に対する３つの接続された経路を含む。更に、第１のアップリンクが配置されるサブネット（１９２．１６８．１．０／２４）は、第１のＳＲ１０１０（ＩＰ１）のサウスバウンドインタフェースを介して到達される一方、第２のアップリンクが配置されるサブネット（１９２．１６８．２．０／２４）は、第２のＳＲ１０１５（ＩＰ２）のサウスバウンドインタフェースを介して到達される。更に、３つの静的経路がユーザによって論理ルータ９１５に対して追加され、これは管理プレーンが自動的にＤＲ１００５のために修正する。具体的に、経路は、両方のＳＲのサウスバウンドインタフェースを介するネットワーク１０．０．０／８と、ＳＲ２のサウスバウンドインタフェースを介するネットワーク１１．０．０／８とを含む。最後に、これらの同一のサウスバウンドインタフェースを指すデフォルト経路が含まれる。論理ルータのポートに対して管理プレーンによって生成されたＩＰアドレスＩＰ１、ＩＰ２及びＩＰ３は、全てがサブネット１９２．１６８．１００．０／２４にある通過論理スイッチを有するインタフェースを構築する。
【００５７】
[0088]  ＤＲのＲＩＢを構成することに加えて、管理プレーンはまた、いくつかの実施形態においてＤＲインタフェースにＭＡＣアドレスを割り当てる。いくつかの実施形態では、ＤＲ機能を実施する物理ネットワーク内の物理ルーティング構成要素（例えばソフトウェアモジュール）のいくつか又は全ては、単一のＭＡＣアドレスをサポートするだけである。この場合、ＤＲポートのＭＡＣはユーザに見える論理ルータのポートのＭＡＣからのものであるため、これは、管理プレーンが論理ルータのポートに対してどのようにＭＡＣアドレスを割り当てるかについての要件を課する。従って、いくつかの実施形態では、ユーザ計算ノード又は接続されたＳＲを有する任意の論理スイッチに接続する全てのＤＲ／ＳＲポートは、共通のＭＡＣアドレスを共有しなければならない。更に、ＤＲ／ＳＲポートが他のＤＲ／ＳＲ又は物理ネットワークに接続する場合、いくつかの実施形態において、このポートは固有のＭＡＣアドレスが割り当てられる（この割り当てルールは、ＤＲ／ＳＲポートが他のＤＲ／ＳＲポートに接続しているかを判定する際に通過論理スイッチを無視する）。
【００５８】
[0089]  Ｂ．ＳＲの構成
[0090]  論理ルータのＤＲと同様、管理プレーンは、別々のＲＩＢとインタフェースを用いて論理ルータの各ＳＲも構成する。上述したように、いくつかの実施形態では、ＰＬＲとＴＬＲの両方のＳＲはサービス（すなわち、ＮＡＴ、ファイアウォール、ロードバランシング等のような単なるルーティングを超えた機能）を実現し、ＰＬＲのためのＳＲは、論理ネットワークと外部物理ネットワークの間の接続も提供する。ある実施形態では、ＳＲの実施はいくつかの目的を達成するように設計される。第１に、実施は、サービスがスケールアウトすることを保証する。すなわち、論理ルータに割り当てられたサービスは、論理ルータのいくつかのＳＲのいずれかによって実現され得る。第２に、いくつかの実施形態は、サービスポリシーがルーティング決定に依存し得るように、ＳＲを構成する（例えば、インタフェースベースのＮＡＴ）。第３に、（いくつかの実施形態では低下したキャパシティ下で又は最適以下の態様でＳＲは動作することができるが）論理ルータのＳＲは、集中化コントロールプレーン又は管理プレーンの関与を要求することなく、自身の障害（例えば、ＳＲが動作する物理マシンの障害、物理マシンへのトンネルの障害等）を扱う機能を有する。最後に、ＳＲは、理想的には、自身の中での不必要なリダイレクトを排除する。すなわち、ＳＲは、内部でパケットを転送する機能を有する場合、パケットを外部物理ネットワークへ転送しなければならず、必要なら異なるＳＲへのパケットの転送のみを行う。もちろん、ＳＲ間での転送はパケットループを回避しなければならない。
【００５９】
[0091]  図１０に示したように、各ＳＲは、ＳＲとＤＲの間にある通過論理スイッチ１０２０へ接続する、１つのサウスバウンドインタフェースを有する。更に、いくつかの実施形態では、各ＳＲは、論理ルータのように同数のノースバウンドインタフェースを有する。すなわち、１つのアップリンクのみがＳＲの動作する物理マシンに割り当てられ得るが、論理ルータインタフェースの全てがＳＲ上で定義される。しかしながら、これらのインタフェースのいくつかはローカルインタフェースである一方、これらのインタフェースのいくつかはダミーインタフェースと称される。
【００６０】
[0092]  いくつかの実施形態では、ローカルノースバウンドインタフェースは、パケットがＳＲから（直接物理ネットワークへ）直接出ることが可能なインタフェースである。ＳＲに割り当てられたアップリンク（又は複数のアップリンクの１つ）に基づいて構成されるインタフェースは、ローカルインタフェースである。一方、異なるＳＲに割り当てられた論理ルータの他のアップリンクの１つに基づいて構成されるインタフェースは、ダミーインタフェースとして称される。ダミーインタフェースのための構成を有するＳＲを提供することは、第１ホップのＭＦＥが、アップリンクのいずれかに対するパケットをいずれかのＳＲに送信できるようにし、このとき、パケットがそのローカルインタフェースを宛先としていない場合であっても、ＳＲはパケットを処理することができる。いくつかの実施形態は、ＳＲの１つにおいてダミーインタフェースに対するパケットを処理した後に、インタフェースがローカルである、適切なＳＲへパケットを転送して、他のＳＲが外部物理ネットワークへパケットを送信できるようにする。ダミーインタフェースの使用は、ネットワークを管理する集中化コントローラ（又はコントローラの組）が、ルーティング決定に依存するサービスポリシーを全てのＳＲにプッシュできるようにし、これによりサービスは任意のＳＲによって実現できるようになる。
【００６１】
[0093]  以下のセクションＩＶで説明するように、いくつかの実施形態では、ＳＲは（例えば、ＢＦＧ又はＯＳＰＦのような経路アドバタイズメントプロトコルを用いて）物理ネットワークとルーティング情報を交換する。経路交換の１つの目的は、どのＳＲが物理ネットワークへのパケットをルーティングするかにかかわらず、ルーティング決定が常に、ＳＲのローカルインタフェースか、異なるＳＲ上の論理ルータのアップリンクに対応するダミーインタフェースのいずれかに向けられることである。従って、論理ルータのアップリンクに関連付けられたポリシーは、アップリンクがＳＲに割り当てられていない場合であっても、当該ＳＲによって適用され得、これはステートフルサービスのスケールアウトを可能にする。いくつかの実施形態では、ピアＳＲから受信した経路が、物理的な次ホップのルータから直接学習した経路より大きな距離値を有することにより、ＳＲが物理ネットワークルータへ直接パケットを送信できないときにのみ、ＳＲがそのピアＳＲへパケットを送信することを保証する。
【００６２】
[0094]  １つ以上の集中化構成要素を有する論理ルータに対し、いくつかの実施形態は以下のようにＳＲを構成する。ノースバウンドインタフェースに対して、ＳＲは論理ルータと同数のそのようなインタフェースを有し、これらの各インタフェースは、対応する論理ルータインタフェースのＩＰ及びＭＡＣアドレスを継承する。これらのインタフェースのサブセットは（ＳＲに割り当てられるアップリンクのための）ローカルインタフェースとしてマークされる一方、残りのインタフェースはダミーインタフェースとしてマークされる。いくつかの実施形態では、論理ルータのために定義されたサービスポリシーは全てのＳＲに対して均等にプッシュされる。これはサービスポリシーがネットワーク及びインタフェースの観点から同様に構成されるためである。特定の論理ルータのポート／アップリンクのための動的ルーティング構成は、その特定のアップリンクが割り当てられたＳＲのローカルインタフェースに転送される。
【００６３】
[0095]  述べたように、各ＳＲは、通過論理スイッチに接続する単一のサウスバウンドインタフェース（ローカルインタフェースでもある）を割り当てられ、ここで各ＳＲのサウスバウンドインタフェースは同一の通過論理スイッチに接続されている。これらのサウスバウンドインタフェースのそれぞれのＩＰアドレスは、ＤＲに割り当てられたノースバウンドインタフェース（通過論理スイッチのそれ）と同一のサブネット内にある。いくつかの実施形態は、ＳＲがアクティブ−アクティブ又はアクティブ−スタンバイモードであるかに応じて、ＳＲの間のＩＰアドレスの割り当てを異ならせる。アクティブ−アクティブモード（すなわちＳＲの全てがルーティング目的において平等に扱われる場合）に対しては、異なるＩＰ及びＭＡＣアドレスが全てのＳＲのサウスバウンドインタフェースに割り当てられる。一方、アクティブ−スタンバイモードに対しては、２つのＳＲのサウスバウンドインタフェースの両方に同一のＩＰが用いられる一方、インタフェースのそれぞれは異なるＭＡＣアドレスが割り当てられる。
【００６４】
[0096]  ＤＲについての上記サブセクションで示したように、ユーザは論理ルータに対して静的経路を構成し得る。アップリンクから出る論理ルータの静的経路（又は接続された経路）は、ＳＲのＲＩＢにコピーされる。それを出ていくアップリンクの経路がＳＲに割り当てられる場合、このような経路に対する距離メトリック（metric）は修正されない。しかしながら、ＳＲのアップリンクがダミーインタフェースである場合、いくつかの実施形態は、ダミーインタフェースを通して、異なるＳＲへパケットをリダイレクトすること無くネットワークに到達できるときに、ＳＲがそのローカルインタフェースから出る経路を優先するように、このメトリックに値を追加する。更に、（トップレベルの論理ルータの）ＳＲは動的経路を学習して、動的経路をＲＩＢに置く（いくつかの実施形態はこれを内部で集中化コントローラを用いることなく実行するが）。いくつかの実施形態では、ピアＳＲから学習された動的経路は、距離メトリックの調整なしにインストールされる。これは、デフォルトではＩＢＧＰ（ＳＲからＳＲピアへ）又はＯＳＰＦから学習された経路に対するメトリックが、ＥＢＧＰから学習された経路に対するメトリックより大きいためである。
【００６５】
[0097]  論理ルータのサウスバウンドインタフェースのそれぞれに対し、ある実施形態は、各ＳＲのＲＩＢに対応するネットワークのための経路を追加する。この経路は、その次ホップのＩＰアドレスとしてノースバウンドのＤＲインタフェースを指す。更に、サウスバウンドインタフェースから出る、論理ルータのために構成された任意の他の経路は、次ホップのＩＰアドレスとして同一のノースバウンドのＤＲインタフェースとともにＳＲにコピーされる。
【００６６】
[0098]  図１０の例に戻り、論理ルータ９１５が２つのアップリンクを有するように、管理プレーンは２つのサービスルータ１０１０と１０１５とを定義する。第１のサービスルータ１０１０は、Ｕ１に対するローカルインタフェースと、Ｕ２’として称されるＵ２に対するダミーインタフェースとを有する。同様に、第２のサービスルータ１０１５は、Ｕ２に対するローカルインタフェースと、第１のアップリンクＵ１に対するダミーインタフェースＵ１’とを有する。これらのＳＲのそれぞれには、（ＳＲがアクティブ−アクティブ構成であるように）異なるＩＰアドレスおよびＭＡＣアドレスを有するサウスバウンドインタフェースが割り当てられる。（第１のＳＲ１０１０に対する）ＩＰアドレスＩＰ１及び（第２のＳＲ１０１５に対する）ＩＰ２は、ＩＰ３（ＤＲ１００５のノースバウンドインタフェース）のように、サブネット１９２．１．１００．０／２４にある。
【００６７】
[0099]  いくつかの実施形態のルールを用いて、かつ、ルーティングプロトコル（例えばＢＧＰ）がＳＲに対して有効化されているとすると、第１のＳＲ１０１０のＲＩＢは以下の経路を含む。
【００６８】
10.0.0.0/8 output to U1 via 192.168.1.252, metric 20 (via EBGP)
10.0.0.0/8 output to U2' via 192.168.2.252, metric 200 (via IBGP)
11.0.0.0/8 output to U2' via 192.168.2.252, metric 200 (via IBGP)
192.168.1.0/24 output to U1, metric 0 (接続済)
192.168.100.0/24 output to SRP1, metric 0 (接続済)
1.1.1.0/24 via IP3, metric 10 (管理プレーン内)
1.1.2.0/24 via IP3, metric 10 (管理プレーン内)
【００６９】
[00100]  同様に、第２のＳＲ１０１５のＲＩＢは以下の経路を含む。
10.0.0.0/8 output to U2 via 192.168.2.252, metric 20 (via EBGP)
10.0.0.0/8 output to U1' via 192.168.1.252, metric 200 (via IBGP)
11.0.0.0/8 output to U2 via 192.168.2.252, metric 20 (via EBGP)
192.168.2.0/24 output to U2, metric 0 (接続済)
192.168.100.0/24 output to SRP2, metric 0 (接続済)
1.1.1.0/24 via IP3, metric 10 (管理プレーン内)
1.1.2.0/24 via IP3, metric 10 (管理プレーン内)
【００７０】
[00101]  Ｃ．管理プレーン処理 
[00102]  図１１は、ユーザ仕様に基づいてＰＬＲを構成するいくつかの実施形態の処理１１００を概念的に示す。いくつかの実施形態では、処理１１００は管理プレーン（例えば、データセンタのネットワークを管理する集中化コントローラにおけるモジュールの組）によって実行される。管理プレーンは、構成処理を実行し、その後、コントローラの集中化コントロールプレーン（又は異なるネットワークコントローラ）を用いて、構成された論理ルータを実施する様々なホストマシン上の様々なローカルコントロールプレーンにデータを分散させる。
【００７１】
[00103]  図示するように、処理１１００はＰＬＲの仕様を（１１０５において）受信することによって開始する。ＰＬＲの仕様（又はＰＬＲの定義）は、ＰＬＲを定義する管理者入力（データセンタの所有者によって雇用された管理者）に基づく。いくつかの実施形態では、この仕様は、ＰＬＲが提供すべき任意のサービスの定義、ＰＬＲがアクティブ−アクティブ又はアクティブ−スタンバイモードで構成されるかどうか（もっとも、いくつかの実施形態はステートフルサービスが構成されない限り自動的にアクティブ−アクティブモードを用いる）、ＰＬＲにいくつのアップリンクが構成されるか、アップリンクのＩＰ及びＭＡＣアドレス、アップリンクのＬ２及びＬ３接続性、ＰＬＲの任意のサウスバウンドインタフェースのサブネット（ＰＬＲを２層トポロジにする場合は１つのインタフェースであり、ユーザの論理スイッチが１層トポロジで直接接続する場合は任意の数のインタフェース）、ＰＬＲのＲＩＢに対する任意の静的経路、及び他のデータを含む。異なる実施形態が、ＰＬＲの構成データに列挙されたデータの異なる組み合わせ又は他のデータを含み得ることは理解されるべきである。
【００７２】
[00104]  そして処理１１００は、（１１１０において）この構成データを用いてＤＲを定義する。これは、ＰＬＲが完全に集中化しない場合には管理プレーンによってＤＲは生成されないことを想定している。ＤＲのサウスバウンドインタフェースについて、管理プレーンは、ＰＬＲのサウスバウンドインタフェース構成を用いる。すなわち、ＤＲのＩＰアドレスとＭＡＣアドレスとは、論理ルータのために特定されたものになる。
【００７３】
[00105]  更に（１１１５において）処理は、ＰＬＲのために特定されたアップリンクのそれぞれをゲートウェイマシンに割り当てる。上述したように、いくつかの実施形態は、論理ルータのＳＲの位置に対する特定の組の物理ゲートウェイマシンを、ユーザが特定できるようにする（或いは特定することを求める）。いくつかの実施形態では、ゲートウェイマシンの組はサーバの特定のラック又はサーバのラックのグループ内、若しくはそうでなければ、組の中で全てのマシンを接続するトンネルと関連付けられて存在する。その後、管理プレーンは、選択された組のゲートウェイマシンの１つに各アップリンクを割り当てる。いくつかの実施形態は、複数のアップリンクが同一のゲートウェイマシンに割り当てられるようにし（論理ルータがアクティブ−スタンバイモードで構成される２つのアップリンクのみを有しない限り）、一方で他の実施形態は、アクティブ−アクティブ又はアクティブ−スタンバイモードであるかに関わらずＰＬＲのためのゲートウェイに対して単一のアップリンクのみが割り当てられるようにする。
【００７４】
[00106]  ゲートウェイマシンにアップリンクを割り当てた後に、（１１２０において）処理１１００は、各選択されたゲートウェイマシン上にＳＲを定義する。各ＳＲについて、処理はゲートウェイマシンに対して割り当てられたアップリンクに対する構成を、ＳＲのノースバウンドインタフェースに対する構成として使用する。この構成情報は、任意のアップリンク特有のポリシーに加えて、アップリンクのＩＰ及びＭＡＣアドレスを有する。異なるポリシー及びＬ３の接続性の少なくともいずれかが許容され、異なるアップリンクの間で使用される状況では、いくつかの実施形態はまた、必要に応じてパケットをリダイレクトするためにＳＲ上にダミーインタフェースを構成する、ことが理解されるべきである。
【００７５】
[00107]  処理は更に、（１１２５において）定義されたＳＲ及びＤＲと接続する通過論理スイッチを定義する。いくつかの実施形態において、管理プレーンは、固有のＶＮＩ（論理スイッチ識別子）を通過論理スイッチに割り当てる。更に、いくつかの実施形態は、通過論理スイッチに割り当てられたサブネットが論理ネットワークトポロジ内で固有であることを必要とする。すなわち、通過論理スイッチは、ＰＬＲと直接インタフェースを有する任意のユーザ定義の論理スイッチ、ＰＬＲに接続される任意のＴＬＲとＰＬＲとの間の通過論理スイッチ、これらのＴＬＲ内の全ての通過論理スイッチ、及び、これらのＴＬＲに接続される任意のユーザ定義の論理スイッチと異なるサブネットを用いなくてはならない。
【００７６】
[00108]  次に、処理１１００は、（１１３０において）ＤＲにノースバウンドインタフェースを割り当てる。いくつかの実施形態では、ノースバウンドインタフェースは（ＰＬＲの構成要素の間で内部的に送信されるパケットに用いられる）ＭＡＣアドレス及びＩＰアドレスの両方を割り当てられる。いくつかの実施形態では、ＩＰアドレスは、１１２５において定義された通過論理スイッチに割り当てられたサブネット内のものである。通過論理スイッチの構成は、このＭＡＣアドレスとその論理ポートの１つとの関連を含む。
【００７７】
[00109]  その後処理は（１１３５において）、ＰＬＲがアクティブ−アクティブモード（或いはアクティブ−スタンバイモード）で構成されるかを判定する。いくつかの実施形態では、上で言及したように、この判定は、ＰＬＲに対する構成設定の一部として管理者によってなされる。他の実施形態では、管理プレーンは、ステートフルサービスが設定されていない場合には、ＰＬＲに対してＳＲを自動的にアクティブ−アクティブ構成で定義する。そして、ステートフルサービスが設定されている場合には、ＳＲはアクティブ−スタンバイモードで定義される。
【００７８】
[00110]  ＰＬＲがアクティブ−スタンバイモードで構成される場合、処理は（１１４０において）、２つのＳＲ（又は、複数のスタンバイがある場合には２つ以上のＳＲ）のそれぞれのサウスバウンドインタフェースを割り当てる。アクティブ−スタンバイの場合、これらの全てのサウスバウンドインタフェースは同一のＩＰアドレスを有し、これは動作１１２５において定義される通過論理スイッチのサブネット内にある。２つのインタフェースは同一のＩＰアドレスを受信するが、いくつかの実施形態は、ＤＲによってルーティングされるノースバウンドのパケットに対する宛先として当該２つを異ならせるように、異なるＭＡＣアドレスを割り当てる。他の実施形態では、同一のＭＡＣアドレスも、後述のように用いられるフェイルオーバーの場合に異なるマシンで用いられる。
【００７９】
[00111]  その後処理は（１１４５において）、ＳＲの１つをアクティブに、ＳＲの１つをスタンバイに割り当てる。いくつかの実施形態は、この決定をランダムに行わせる一方で、他の実施形態はゲートウェイマシンにまたがるＳＲのアクティブ及びスタンバイの割り当てがバランスするように試みる。より詳細は２０１４年１月２８日に出願された米国特許公報２０１５／００６３３６４号に記載されており、参照によりここに取り込まれる。アクティブとして割り当てられたＳＲは、サウスバウンドインタフェースに対するＡＲＰリクエストに応答し、ノースバウンドインタフェースから外部物理ネットワークへプレフィックスをアドバタイズする。一方、スタンバイＳＲは（ノースバウンドのトラフィックを受信することを避けるため）ＡＲＰリクエストに対して応答せず、プレフィックスをアドバタイズしない（しかし、アクティブなＳＲの障害の場合に外部ネットワークから経路を受信するためにＢＧＰセッションを維持する）。
【００８０】
[00112]  最後に、処理１１００は（１１５０において）ＤＲ及び各ＳＲのための別々のＲＩＢを生成する。別々のＲＩＢは、前のサブセクションとセクションＶに示す形式の構成データに基づいて生成される。その後処理は終了する。いくつかの実施形態では、管理プレーンはまたＦＩＢを集中的に算出する一方、他の実施形態では、（ホスト及びゲートウェイマシン上で動作する）ローカルコントロールプレーンは、論理ルータ構成要素による実際のパケットのフォワーディングにおいて用いるためのＦＩＢを生成するためにＲＩＢトラバーサル（RIB traversal）を実行する。いずれの場合も、ＲＩＢは外部ネットワークから学習された動的な経路に基づいてＳＲ上で更新され、このデータは中央コントローラを介してＤＲへ伝達される。いくつかの実施形態の、ネットワークコントローラによるＦＩＢの計算は、２０１４年３月１４日に出願された米国特許出願１４／２１４，５４５号に、より詳細に説明されており、参照により以下に組み込まれる。
【００８１】
[00113]  一方、ＰＬＲがアクティブ−アクティブ（ＥＭＣＰ）モードで構成される場合、処理は（１１５５において）、ＳＲのそれぞれにサウスバウンドインタフェースを割り当てる。アクティブ−アクティブの場合、これらのサウスバウンドインタフェースは、異なるＭＡＣアドレスに加えて、動作１１２５において定義される通過論理スイッチのサブネット内にある異なるＩＰアドレスが割り当てられる。異なるＩＰアドレスにより、ＳＲのそれぞれは、ホストマシン内のＤＲパイプラインによって所定のパケットに対して選択されたＩＰアドレスに基づいて、ノースバウンドのパケットを処理することができる。
【００８２】
[00114]  次に、処理は（１１６０において）、ＳＲにランクを割り当てる。詳細を以下に示すように、ＳＲは、障害の際に、どのＳＲが停止したＳＲの責務を引き継ぐかを決定するためのランクを用いる。いくつかの実施形態では、次に最も高くランクされたＳＲは、そのサウスバウンドインタフェースを引き継ぐことによって停止したＳＲを引き継いで、さもなければ停止したＳＲのＩＰアドレスへ送信されるノースバウンドのトラフィックを引き込む。
【００８３】
[00115]  最後に、処理は（１１６５において）ＤＲ及び各ＳＲのための別々のＲＩＢを生成する。別々のＲＩＢは、前のサブセクションとセクションＩＶに示す形式の構成データに基づいて生成される。その後処理は終了する。いくつかの実施形態では、管理プレーンはまたＦＩＢを集中的に算出する一方、他の実施形態では、（ホスト及びゲートウェイマシン上で動作する）ローカルコントロールプレーンは、論理ルータ構成要素による実際のパケットのフォワーディングにおいて用いるためのＦＩＢを生成するためにＲＩＢトラバーサルを実行する。いずれの場合も、ＲＩＢは外部ネットワークから学習された動的な経路に基づいてＳＲ上で更新され、このデータは中央コントローラを介してＤＲへ伝達される。
【００８４】
[00116]  上記図１１の記載は、ＰＬＲ（上層論理ルータ）のための様々な構成要素を生成するための管理プレーンの動作を示している。図１２は、ユーザ仕様に基づいてＴＬＲを構成するいくつかの実施形態の処理１２００を概念的に示している。いくつかの実施形態では、処理１２００は管理プレーン（例えば、データセンタのネットワークを管理する集中化コントローラにおけるモジュールの組）によって実行される。管理プレーンは、構成処理を実行し、その後、コントローラの集中化コントロールプレーン（又は異なるネットワークコントローラ）を用いて、構成された論理ルータを実施する様々なホストマシン上の様々なローカルコントロールプレーンにデータを分散させる。
【００８５】
[00117]  図示するように、処理はＴＬＲの仕様を（１２０５において）受信することによって開始する。ＴＬＲの仕様（又はＴＬＲの定義）は、ＴＬＲを定義する管理者入力（データセンタのテナントによって雇用された管理者）に基づく。いくつかの実施形態では、この仕様は、ＴＬＲが提供すべき任意のサービスの定義、どのＰＬＲにＴＬＲがそのアップリンクを通じて接続すべきか、ＴＬＲに接続する任意の論理スイッチ、ＴＬＲのインタフェースのＩＰ及びＭＡＣアドレス、ＴＬＲのＲＩＢに対する任意の静的経路、及び他のデータを含む。異なる実施形態が、ＴＬＲの構成データに列挙されたデータの異なる組み合わせ又は他のデータを含み得ることは理解されるべきである。
【００８６】
[00118]  そして処理１２００は、（１２１０において）ＴＬＲが集中化構成要素を有するかを判定する。いくつかの実施形態では、ＴＬＲがステートフルサービスを提供しない場合、そのときはＴＬＲに対するＳＲが定義されず、これは分散化される形態でのみ実施される。一方、いくつかの実施形態は、この図に示すように、ステートフルサービスが提供される場合、アクティブ−スタンバイモードにおけるＳＲを必要とする。
【００８７】
[00119]  ＴＬＲがステートフルサービスを提供しない又はそうでなければ集中化構成要素を必要とする場合、処理は（１２１５において）、サウスバウンド及びノースバウンドインタフェースの両方に対する論理ルータの仕様を用いてＤＲを定義する。ＤＲは、ＴＬＲに接続する論理スイッチがいくつ定義されるかに応じて、多数のサウスバウンドインタフェースを有し得る。一方、いくつかの実施形態は、ＴＬＲを、ＰＬＲにパケットを送信し及びＰＬＲからパケットを受信する単一のノースバウンドインタフェースに制限する。次に、処理は、（１２２０において）ＤＲのためのＲＩＢを生成する。ＤＲのためのＲＩＢは、上述のように生成された論理ルータのための経路の全てを含む。
【００８８】
[00120]  一方、ＴＬＲがステートフルサービスを提供する、又は他の理由で集中化構成要素を要求する場合、処理は（１１２５において）、受信した構成データを用いてＤＲを定義する。ＤＲのサウスバウンドインタフェースについて、管理プレーンは、ＴＬＲのサウスバウンドインタフェース構成を用いる。すなわち、各サウスバウンドインタフェースに対するＩＰアドレスとＭＡＣアドレスとは、様々な論理スイッチが接続する論理ルータのポートために特定されたものになる。
【００８９】
[00121]  更に（１２３０において）処理は、ＴＬＲのために特定されたアップリンクのそれぞれを２つのゲートウェイマシンに割り当てる。いくつかの実施形態はＴＬＲが複数のアップリンクとアクティブ−アクティブモードで動作できるようにするが、処理１２００は、アクティブ−スタンバイモードにおいて単一のアップリンクにＴＬＲを制限する実施形態に対するものである。上述したように、いくつかの実施形態は、論理ルータのＳＲの位置に対する特定の組の物理ゲートウェイマシンを、ユーザが特定できるようにする（或いは特定することを求める）。いくつかの実施形態では、ゲートウェイマシンの組はサーバの特定のラック又はサーバのラックのグループ内、若しくはそうでなければ、組の中で全てのマシンを接続するトンネルと関連付けられて存在する。その後、管理プレーンは、選択された組のゲートウェイマシンの２つにアップリンクを割り当てる。
【００９０】
[00122]  ゲートウェイマシンにアップリンクを割り当てた後に、（１２３５において）処理１２００は、２つのゲートウェイマシンのそれぞれの上にＳＲを定義する。各ＳＲについて、管理プレーンは、単一のアップリンクに対する構成を、ＳＲのノースバウンドインタフェースに対する構成として使用する。唯一のノースバウンドインタフェースを有するため、処理はＳＲの両方に対して同一の構成を適用する。すなわち、同一のＩＰアドレスが両方のノースバウンドインタフェースに用いられるだけでなく、インタフェース上のサービスも同様の方法で構成される。しかしながら、アクティブＳＲとスタンバイＳＲとを異ならせるように、異なるＭＡＣアドレスがノースバウンドインタフェースに用いられる。
【００９１】
[00123]  処理は更に、（１２４０において）定義されたＳＲ及びＤＲと接続する通過論理スイッチを定義する。いくつかの実施形態において、管理プレーンは、固有のＶＮＩ（論理スイッチ識別子）を通過論理スイッチに割り当てる。更に、いくつかの実施形態は、通過論理スイッチに割り当てられたサブネットが論理ネットワークトポロジ内で固有であることを求める。すなわち、管理プレーンは、通過論理スイッチに、ＴＬＲとインタフェースを有する任意のユーザ定義の論理スイッチと、ＴＬＲ（又は他のＴＬＲ）とＰＬＲとの間の任意の通過論理スイッチと、同一のＰＬＲに接続する他のＴＬＲ内の全ての通過論理スイッチと、ＰＬＲ内の通過論理スイッチと、他のＴＬＲに接続するユーザ定義の論理スイッチと、異なるサブネットを通過論理スイッチに割り当てなければならない。
【００９２】
[00124]  次に、処理は、（１２４５において）ＤＲへのノースバウンドインタフェースを割り当てる。いくつかの実施形態では、このインタフェースは（ＴＬＲの構成要素の間で内部的に送信されるパケットに用いられる）ＭＡＣアドレス及びＩＰアドレスの両方を割り当てられる。いくつかの実施形態では、ＩＰアドレスは、１１４０において通過論理スイッチに割り当てられた同一のサブネット内のものである。処理はまた、（１２５０において）２つのＳＲのそれぞれのサウスバウンドインタフェースを割り当てる。これはアクティブ−スタンバイ構成であるので、これらのサウスバウンドインタフェースは同一のＩＰアドレスを有し、これは動作１１４０において定義される通過論理スイッチのサブネット内にある。２つのインタフェースは同一のＩＰアドレスを受けつけるが、いくつかの実施形態は、ＤＲによってルーティングされるノースバウンドのパケットに対する宛先として当該２つを異ならせるように、異なるＭＡＣアドレスを割り当てる。他の実施形態では、同一のＭＡＣアドレスも、後述のように用いられるフェイルオーバーの場合に異なるマシンで用いられる。
【００９３】
[00125]  その後処理１２００は（１２５５において）、ＳＲの１つをアクティブに、ＳＲの１つをスタンバイに割り当てる。いくつかの実施形態は、この決定をランダムに行わせる一方で、他の実施形態はゲートウェイマシンにまたがるＳＲのアクティブ及びスタンバイの割り当てがバランスするように試みる。アクティブとして割り当てられたＳＲは、サウスバウンドインタフェース（このＴＬＲのＤＲから）及びノースバウンドインタフェース（ＰＬＲのＤＲから）に対するＡＲＰリクエストに応答する。一方、スタンバイＳＲは（ノースバウンド又はサウスバウンドのトラフィックを受信することを避けるため）ＡＲＰリクエストに応答しない。
【００９４】
[00126]  次に、処理は（１２６０において）ＤＲ及び各ＳＲのための別々のＲＩＢを生成する。別々のＲＩＢは、前のサブセクションとセクションＩＶに示す形式の構成データに基づいて生成される。いくつかの実施形態では、管理プレーンはまたＦＩＢを集中的に算出する一方、他の実施形態では、（ホスト及びゲートウェイマシン上で動作する）ローカルコントロールプレーンは、論理ルータ構成要素による実際のパケットのフォワーディングにおいて用いるためのＦＩＢを生成するためにＲＩＢトラバーサルを実行する。いずれの場合も、ＲＩＢは外部ネットワークから学習された動的な経路に基づいてＳＲ上で更新され、このデータは中央コントローラを介してＤＲへ伝達される。
【００９５】
[00127]  ＴＲＬがＳＲを有して生成されたかＳＲを有しないで生成されたかに関わらず、処理１２００は（１２６５において）、ＴＬＲとＴＬＲが接続するＰＬＲとの間に他の通過論理を定義する。この通過論理スイッチは、固有のＶＮＩと、ＴＬＲのアップリンクＩＰアドレスが属すサブネットとを有する。更に、ＰＬＲのＤＲ上のインタフェースは、通過論理スイッチに接続するために同一のサブネット内に生成される。その後処理は終了する。
【００９６】
[00128]  処理１１００及び１２００はこれらの様々な動作を実行する特定の順序を示しているが、これらの処理は単なる概念的なものであることが理解されるべきである。様々な異なる実施形態において、管理プレーンは、実際の動作を、様々な異なる順番で又はいくつかの動作を並行して実行し得る。例えば、管理プレーンは、全くＳＲやＤＲを定義するより前に、初めに通過論理スイッチを定義し、別々の物理マシンに割り当てる前に完全に論理ルータ構成要素の全てを定義することができる。
【００９７】
[00129]  ＩＩＩ．パケット処理
[00130]  上述のセクションは、管理プレーンによる様々な論理ルータ構成要素を示している。これらの論理ルータ構成要素（論理スイッチに加えて、ユーザに定義されたものと、論理ルータ構成要素を接続するために管理プレーンによって定義されたものとの両方）は、様々な管理フォワーディング要素（ＭＦＥ）によってデータセンタ内で実施される。図５に示したように、例えば、ユーザ定義論理スイッチに取り付けられたデータ計算ノードは、ＭＦＥが第１ホップパケット処理要素として動作する物理ホストマシン上にある。これらのＭＦＥは、いくつかの実施形態において、ＤＲに加え、論理ネットワークの論理スイッチを実施する。
【００９８】
[00131]  図１３は、ＴＬＲ６１０とＰＬＲ６０５の両方がＤＲに加えてＳＲを含む、図８に示す２層論理ネットワークを構築する管理プレーンの物理的な実施を概念的に示している。この図はＴＬＲ６１０の実施を示すのみであって、多数の他のホストマシン上で実施され得る多数の他のＴＬＲ、及び他のゲートウェイマシン上で実施され得るＳＲを示していないことが理解されるべきである。
【００９９】
[00132]  この図は、２つのＶＭが２つの論理スイッチ６２５及び６３０のそれぞれに取り付けられていることが想定されており、これらの論理スイッチは４つの物理ホストマシン１３０５−１３２０上にある。これらのホストマシンのそれぞれはＭＦＥ１３２５を含む。これらのＭＦＥは、異なる様々な実施形態において、フローベースのフォワーディングエレメント（例えばOpen vSwitch）又はコードベースのフォワーディングエレメント（例えばESX）若しくはこれら２つの組み合わせであり得る。これらの異なる種別のフォワーディングエレメントは、異なる様々な論理フォワーディングエレメントを実施するが、各場合において、これらはパケットの処理が求められ得る各論理フォワーディングエレメントのパイプラインを実行する。
【０１００】
[00133]  従って、図１３に示すように、物理ホストマシン上のＭＦＥ１３２５は、論理スイッチ６２５及び６３０（ＬＳＡ及びＬＳＢ）の両方と、ＴＬＲ６１０のためのＤＲ８０５及び通過論理スイッチ８１５と、ＰＬＲ６０５のためのＤＲ７０５及び通過論理スイッチ７２５とを実施する構成を含む。しかしながら、いくつかの実施形態は、ホストマシンＭＦＥ１３２５上にあるデータ計算ノードに対するＴＬＲが集中化構成要素（すなわちＳＲ）を有しない場合、（データ計算ノードに接続する）ホストマシン上でＰＬＲの分散化構成要素のみを実施する。以降に説明するように、ＶＭから外部ネットワークに送信されるノースバウンドパケットは、通過論理スイッチパイプラインがＳＲへパケットを送信するように特定されるまで、これらのローカル（第１ホップ）ＭＦＥによって処理される。第１のＳＲがＴＬＲの一部である場合、第１ホップのＭＦＥは何らＰＬＲ処理を実行しないため、ＰＬＲパイプライン構成が、集中化コントローラによってこれらのＭＦＥにプッシュされる必要はない。しかしながら、ＴＬＲ６１５−６２０の１つが集中化構成要素を有しない可能性のため、いくつかの実施形態は、ＰＬＲの分散化的側面（ＤＲ及び通過ＬＳ）を常にＭＦＥの全てにプッシュする。他の実施形態は、ＰＬＲパイプラインのための構成のみを、完全に分散化される（一切のＳＲ無しの）ＴＬＲのための構成をも受信するＭＦＥにプッシュする。
【０１０１】
[00134]  更に、図１３に示す物理的実施は、ＰＬＲ６０５及びＴＬＲ６１０のＳＲが割り当てられる４つの物理ゲートウェイマシン１３３０−１３４５を含む（いくつかの実施形態ではエッジノードともいわれる）。この場合、ＰＬＲ６０５及びＴＬＲ６１０を構成する管理者は、ＳＲのための物理ゲートウェイマシンの同一のグループと、これらの論理ルータの両方に対するＳＲの１つが第３のゲートウェイマシン１３４０に割り当てられた管理プレーンとを選択した。図示されるように、ＰＬＲ６０５に対する３つのＳＲ７１０−７２０はそれぞれ異なるゲートウェイマシン１３３０−１３４０に割り当てられ、一方、ＴＬＲ６１０に対する２つのＳＲ８１０及び８１５もまた、それぞれ異なるゲートウェイマシン１３４０−１３４５に割り当てられている。
【０１０２】
[00135]  この図は、ゲートウェイマシン上で動作するＭＦＥとは分離したものとしてＳＲを示している。上述したように、異なる実施形態はＳＲを異ならせて実施し得る。いくつかの実施形態は、ＳＲをＶＭとして実施する（例えば、ＭＦＥがゲートウェイマシンの仮想化ソフトウェア内に統合された仮想化スイッチである場合、この場合、ＳＲ処理はＭＦＥの外部で実行される。一方、いくつかの実施形態は、ＳＲを、ＭＦＥデータパス内のＶＲＦとして実施する（ＭＦＥがデータパス処理のためのＤＰＤＫを用いる場合）。いずれの場合も、ＭＦＥは、ＳＲをデータパスの一部として扱うが、ＳＲがＶＭ（又は他のデータ計算ノード）である場合には、（様々なサービスの実行を含み得る）ＳＲパイプラインによる処理のために別々のＳＲへパケットを送信する。ホストマシン上のＭＦＥ１３２５と同様に、いくつかの実施形態のＭＦＥ１３５０は、論理ネットワークの分散化処理構成要素の全てを実行するように構成される。
【０１０３】
[00136]  Ａ．単一層トポロジ（Single-Tier Topology）
[00137]  様々な例のパケット処理パイプラインが以降記載される。図１４Ａ及び１４Ｂは、論理ルータの単一層を用いる論理トポロジについて、論理ネットワークから出るトラフィック（ノースバウンドトラフィック）と論理ネットワークへ入るトラフィック（サウスバウンドトラフィック）とのそれぞれの例を示す。これらの図は、論理ルータ１４０５（外部ネットワークへの接続を有する）と、２つの論理スイッチ１４１０及び１４１５とを用いる単一層トポロジ１４００を示している。上述したように、論理ルータ１４０５は、ＤＲ１４２０と、２つのＳＲ１４２５及び１４３０と、通過論理スイッチ１４３５とを含む。
【０１０４】
[00138]  いくつかの実施形態では、イースト−ウェストのトラフィック（すなわちＬＳ１上のデータ計算ノードからＬＳ２上のデータ計算ノードへのトラフィックは、はじめに第１ホップのＭＦＥ（例えば、送信元データ計算ノードのためのホストマシン上の仮想化ソフトウェアのＭＦＥ）において処理され、その後、送信先のＭＦＥへトンネルされる。それ自体、パケットはＳＲを通過しないため、ＳＲによって提供される任意のサービスを受信しない。しかしながら、他の実施形態は、所定のイースト−ウェストのトラフィックを処理のためにＳＲへ送信するルーティングポリシーを許容する。
【０１０５】
[00139]  図１４Ａに示すように、ＶＭ又はマシン上の他のデータ計算ノードがノースバウンドのパケットを送信する場合、ＭＦＥ上のデータパスは最初に送信元論理スイッチパイプラインを（例えば、パケットを受信する入力ポート、送信元ＭＡＣアドレス等に基づいて）実行する。送信元ＭＦＥにおいて実行されるこのパイプラインは、ＤＲ１４２０へパケットをフォワードするようにパイプラインを特定する。このパイプラインは、次ホップとしてのＳＲ１４２５及び１４３０の１つを識別する。アクティブ−スタンバイの場合では、パイプラインはアクティブなＳＲを識別し、アクティブ−アクティブの場合では、いくつかの実施形態は後述のように、ＳＲの１つを選択するためにＥＣＭＰを用いる。次に、送信元ＭＦＥは、選択されたＳＲをホストする適切なゲートウェイマシン（エッジノード）へパケットをトンネルすることを特定する、通過論理スイッチ１４３５のためのパイプラインを実行する。ゲートウェイマシン（例えばゲートウェイマシン上のＭＦＥ）は、パケットを受信し、（トンネリングデータを削除するために）パケットにカプセル除去を行い、そして、ＳＲのサウスバウンドインタフェースに対応する送信先ＭＡＣアドレス及びパケットの論理コンテクスト情報（例えば、通過論理スイッチ１４３５のＶＮＩ）に基づいてＳＲを識別する。その後（いくつかの実施形態ではＭＦＥによって、他の実施形態ではＳＲを実施するＶＭによって）ＳＲパイプラインが実行される。ＳＲパイプラインは物理ネットワークにパケットを送信する。ＳＲパイプラインがローカルインタフェースを特定する場合、パケットは直接的に物理ネットワークに配送され、一方、ＳＲパイプラインがダミーインタフェースを特定する場合、パケットは、特定されたインタフェースがローカルである異なるゲートウェイマシンへトンネルを介してリダイレクトされ得る。
【０１０６】
[00140]  図１４Ｂは、進入する（サウスバウンド）パケットに対するパケット処理を示している。パケットは、ＳＲが動作するゲートウェイマシンの１つにおいて受信される。ゲートウェイマシンにおけるＭＦＥは、入ってきたパケットのＶＬＡＮ及び送信先ＭＡＣアドレスに基づいて送信先ＳＲを識別し、ＳＲパイプラインを実行する（例えば、ＳＲがどのように実施されるかに応じて、ＳＲが動作するＶＭへパケットを送信、或いはデータパス内で直接パイプラインを実行する）。ＳＲパイプラインはその次ホップとしてＤＲ１４２０を識別する。その後ＭＦＥは、ＤＲへパケットをフォワードする通過論理スイッチ１４３５パイプラインと、その送信先へパケットをルーティングするＤＲパイプラインとを実行する。送信先のＶＭが属すホストマシンのＭＦＥへパケットをトンネルすることを特定する、送信先論理スイッチパイプライン（すなわち、論理スイッチ１４１０及び１４１５の１つ）もまた実行される。パケットのカプセル除去の後に、送信先ＭＦＥはＶＭへパケットを配送する。
【０１０７】
[00141]  Ｂ．ＴＬＲにおける集中化サービスを有しない２層トポロジ
[00142]  図１５Ａ及び１５Ｂは、下の（lower）（ＴＬＲ）層で提供される集中化サービスを有しない、２層論理トポロジに対する、ノースバウンド及びサウスバウンドのトラフィックの例を示す。これらの図は、ＰＬＲ１５０５（外部ネットワークへの２つのアップリンクを有する）と、ＴＬＲ１５１０と、２つの論理スイッチ１５１５及び１５２０とを用いる２層トポロジ１５００を示している。ＰＬＲ１５０５は、ＤＲ１５２５と、２つのＳＲ１５３０及び１５３５と、３つの構成要素を接続する通過論理スイッチ１５４０とを含む。ＴＬＲ１５１０は構成される集中化サービスを有しないため、単一のＤＲ構成要素１５４５のみを含む。管理プレーンは、ＴＬＲのＤＲ１５４５とＰＬＲのＤＲ１５２５との間に第２の通過論理スイッチ１５５０を挿入する。
【０１０８】
[00143]  ＴＬＲレベルにおいてステートフルサービスを有しない２層トポロジの処理パイプラインは、第１ホップのＭＦＥにおいて実行される追加パイプラインを除いて単一層トポロジのパイプラインと類似する。図１５Ａに示すように、ＶＭ又はマシン上の他のデータ計算ノードがノースバウンドのパケットを送信する場合、送信元マシンのＭＦＥ上のデータパスは最初に送信元論理スイッチパイプラインを（例えば、パケットを受信する入力ポート、送信元ＭＡＣアドレス等に基づいて）実行する。送信元（第１ホップ）ＭＦＥにおいても実行されるこのパイプラインは、ＴＬＲ１５１０のＤＲ１５４５へパケットをフォワードするようにパイプラインを特定する。パイプラインは、その次ホップとしてＤＲ１５２５のサウスバウンドインタフェースを識別し、その後、送信元ＭＦＥは、２つのＤＲの間に挿入される通過論理スイッチ１５５０のためのパイプラインを実行する。この論理スイッチパイプラインはパケットをＤＲポート（上レイヤＤＲ）へ論理的にフォワードし、その後送信元ＭＦＥはＤＲ１５２５のためのパイプラインを実行する。このパイプラインは、パケットの次ホップとしてのＳＲ１５３０及び１５３５の１つを識別する。アクティブ−スタンバイの場合では、パイプラインはアクティブなＳＲを識別し、アクティブ−アクティブの場合では、いくつかの実施形態は後述のように、ＳＲの１つを選択するためにＥＣＭＰを用いる。
【０１０９】
[00144]  次に、送信元ＭＦＥは、（いくつかの実施形態では、ＭＡＣアドレスに基づき通過論理スイッチパイプラインによって識別される）選択されたＳＲをホストする適切なゲートウェイマシン（エッジノード）へパケットをトンネルすることを特定する、ＰＬＲ１５０５の内部にある通過論理スイッチ１５４０のためのパイプラインを実行する。ゲートウェイマシン（例えばゲートウェイマシン上のＭＦＥ）は、パケットを受信し、（トンネリング用カプセル化を削除するために）パケットにカプセル除去を行い、そして、ＳＲのサウスバウンドインタフェースに対応する送信先ＭＡＣアドレス及びパケットの論理コンテクスト情報（例えば、通過論理スイッチ１５４０のＶＮＩ）に基づいてＳＲを識別する。その後（いくつかの実施形態ではＭＦＥによって、他の実施形態ではＳＲを実施するＶＭによって）ＳＲパイプラインが実行される。ＳＲパイプラインは物理ネットワークにパケットを送信する。ＳＲパイプラインがローカルインタフェースを特定する場合、パケットは直接的に物理ネットワークに配送され、一方、ＳＲパイプラインがダミーインタフェースを特定する場合、パケットは、特定されたインタフェースがローカルである異なるゲートウェイマシンへトンネルを介してリダイレクトされ得る。
【０１１０】
[00145]  サウスバウンドトラフィックも単一層の場合と同様に扱われる。図１５Ｂに示すように、サウスバウンドパケットは、ＰＬＲ１５０５のＳＲが動作するゲートウェイマシンの１つにおいて受信される。ゲートウェイマシンにおけるＭＦＥは、入ってきたパケットのＶＬＡＮ及び送信先ＭＡＣアドレスに基づいて送信先ＳＲ（いくつかの実施形態では、ゲートウェイマシンが様々な異なる論理ルータに対して複数のＳＲをホストすることができる）を識別し、ＳＲパイプラインを実行する（例えば、ＳＲがどのように実施されるかに応じて、ＳＲが動作するＶＭへパケットを送信、或いはデータパス内で直接パイプラインを実行する）。ＳＲパイプラインは、その次ホップとしてＤＲ１５２５を識別して、その後ＭＦＥは通過論理スイッチ１５４０パイプラインを実行し、パケットをＤＲ１５２５へフォワードする。ＤＲ１５２５パイプラインは、その次ホップとしてＴＬＲ ＤＲ１５４５を識別し、これによりエッジノード上のＭＦＥは通過論理スイッチ１５５０のパイプラインを、その後ＤＲ１５４５のパイプラインを実行する。低レベルＤＲパイプラインが送信先へパケットをルーティングするため、送信先のＶＭが属すホストマシンのＭＦＥへパケットをトンネルすることを特定する、送信先論理スイッチパイプライン（すなわち、論理スイッチ１５１５及び１５２０の１つ）も実行される。パケットのカプセル除去の後に、送信先ＭＦＥはＶＭへパケットを配送する。
【０１１１】
[00146]  いくつかの実施形態では、イースト−ウェストトラフィックに対して、単一層の場合のように、送信元のＭＦＥが処理の全てを扱う。ＴＬＲ内で（例えば第１の論理スイッチ１５１３上のＶＭから論理スイッチ１５２０上のＶＭ、単一のＤＲパイプラインのみ（及び２つの論理スイッチパイプライン）が実行される必要がある。いくつかの実施形態では、ＴＬＲにわたって送信されるパケットに対し、送信元のＭＦＥは（送信先ＴＬＲ−ＤＲと論理スイッチパイプラインが送信元のＭＦＥ上で実施される限り）ＤＲパイプラインの３つ全てを実行する。単一層の場合のように、いくつかの実施形態は、イースト−ウェストトラフィックをゲートウェイマシン上のＳＲへ送信できるようにする一方、他の実施形態は、イースト−ウェストトラフィックのための集中化サービスを有効にしない。
【０１１２】
[00147]  Ｃ．ＴＬＲにおける集中化サービスを有する２層トポロジ
[00148]  最後に、図１６Ａ及び図１６Ｂは、ＳＲによって下の（ＴＬＲ）層で提供される集中化サービスを有する、２層の論理トポロジに対するノースバウンド及びサウスバウンドのトラフィックの例を示す。これらの図は、ＰＬＲ１６０５（外部ネットワークへの２つのアップリンクを有する）と、ＴＬＲ１６１０（集中化サービスを有する）と、２つの論理スイッチ１６１５及び１６２０とを用いる２層トポロジ１６００を示している。ＰＬＲ１６０５は、ＤＲ１５２５と、２つのＳＲ１６３０及び１６３５と、３つの構成要素を接続する通過論理スイッチ１６４０とを含む。ＴＬＲも、ＤＲ１６４５と、２つのＳＲ１６５０及び１６５５と、３つの構成要素を接続する通過論理スイッチ１６６０とを含む。管理プレーンも、ＴＬＲ１６１０のＳＲ１６５０及び１６５５と、ＰＬＲ１６１０のＤＲ１６２５との間の、挿入された第３の通過論理スイッチ１６６５を有する。
【０１１３】
[00149]  第１ホップにおいてほぼ全てのパケット処理パイプラインが実行される前の例と異なり、論理トポロジ１６００のためのパケット処理は、ノースバウンドとサウスバウンドのトラフィックの両方に対して、３つのマシンを跨って広がる。図１６Ａに示すように、ＶＭ又はマシン上の他のデータ計算ノードがノースバウンドのパケットを送信する場合、前の例のように、送信元マシンのＭＦＥ上のデータパスは、最初に送信元論理スイッチパイプラインを実行する。送信元（第１ホップ）ＭＦＥにおいても実行されるこのパイプラインは、ＴＬＲ１６１０のＤＲ１６４５へパケットをフォワードするようにパイプラインを特定する。このＤＲパイプラインは、次ホップＩＰアドレスとしてのＳＲ１６５０及び１６５５の１つのサウスバウンドインタフェースを識別する。いくつかの実施形態では、ＴＬＲ  ＳＲは常にアクティブ−スタンバイモードで構成され、このため、ＳＲの両方にとって次ホップは同一であるが、パケットはアクティブＳＲのＭＡＣアドレスへルーティングされる。
【０１１４】
[00150]  次に、送信元ＭＦＥはその後、（通過論理スイッチパイプラインが、ＤＲ１６４５パイプラインによるルーティングの後に、送信先ＭＡＣアドレスに基づいて識別する）ＴＬＲ１６１０の選択されたＳＲをホストする適切なゲートウェイマシン（エッジノード）へパケットをトンネルすることを特定する、ＴＬＲ１６１０の内部にある通過論理スイッチ１６６０のためのパイプラインを実行する。ゲートウェイマシン（例えばゲートウェイマシン上のＭＦＥ）は、パケットを受信し、パケットにカプセル除去を行い、そして、ＳＲのサウスバウンドインタフェースに対応する送信先ＭＡＣアドレス及びパケットの論理コンテクスト情報（例えば、通過論理スイッチ１６６０のＶＮＩ）に基づいてＳＲを識別する。ＳＲパイプライン（任意のステートフルサービスを含む）がその後（例えば、ＭＦＥによって、又はＳＲを実施するＶＭによって）実行され、その次ホップアドレスとしてのＤＲ１６２５のサウスバウンドインタフェースを特定する。ＰＬＲ１６０５のＤＲパイプラインと同様、通過論理スイッチ１６６５パイプラインが現在のエッジノード上（図のエッジノード２）で実行される。このＤＲパイプラインは、前の例で示したものと同一の方法で、パケットの次ホップとしてのＳＲ１６３０及び１６３５の１つを識別する。
【０１１５】
[00151]  エッジノードＭＦＥは、（いくつかの実施形態では、ＭＡＣアドレスに基づき通過論理スイッチパイプラインによって識別される）選択されたＳＲ１６３０又は１６３５をホストする適切なゲートウェイマシンへパケットをトンネルすることを特定する、ＰＬＲ１６０５の内部にある通過論理スイッチ１６４０のためのパイプラインを実行する。ゲートウェイマシン（例えばゲートウェイマシン上のＭＦＥ）は、パケットを受信し、（トンネリング用カプセル化を削除するために）パケットにカプセル除去を行い、そして、ＳＲのサウスバウンドインタフェースに対応する送信先ＭＡＣアドレス及びパケットの論理コンテクスト情報（例えば、通過論理スイッチ１６４０のＶＮＩ）に基づいてＳＲを識別する。その後（いくつかの実施形態ではＭＦＥによって、他の実施形態ではＳＲを実施するＶＭによって）ＳＲパイプラインが実行される。ＳＲパイプラインは物理ネットワークにパケットを送信する。ＳＲパイプラインがローカルインタフェースを特定する場合、パケットは直接的に物理ネットワークに配送され、一方、ＳＲパイプラインがダミーインタフェースを特定する場合、パケットは、特定されたインタフェースがローカルである異なるゲートウェイマシンへトンネルを介してリダイレクトされ得る。
【０１１６】
[00152]  サウスバウンドトラフィック処理はまた、（ＰＬＲ１６０５のためのＳＲとＴＬＲ１６１０のためのＳＲとが同一のゲートウェイマシンに配置されない限り）３つのマシンに跨って分散される。図１６Ｂに示すように、サウスバウンドパケットは、ＰＬＲ１６０５のＳＲが動作するゲートウェイマシンの１つにおいて受信される。ゲートウェイマシンにおけるＭＦＥは、入ってきたパケットのＶＬＡＮ及び送信先ＭＡＣアドレスに基づいて送信先ＳＲを識別し、ＳＲパイプラインを実行する（例えば、ＳＲがどのように実施されるかに応じて、ＳＲが動作するＶＭへパケットを送信、或いはデータパス内で直接パイプラインを実行する）。ＳＲパイプラインは、その次ホップとしてＤＲ１６２５を識別して、その後ＭＦＥは通過論理スイッチ１６４０パイプラインを実行し、パケットをＤＲ１６２５へフォワードする。ＤＲ１６２５パイプラインは、その次ホップとしてＴＬＲ１６１０のＳＲ１６５０及び１６５５の１つのノースバウンドインタフェースを識別する。アクティブ−スタンバイの場合、アクティブＳＲが選択される。
【０１１７】
[00153]  第１のゲートウェイマシン上のＭＦＥはその後、ＴＬＲ１６１０のためのステートフルサービスを実行する第２のＳＲが配置される、第２のゲートウェイマシン（エッジノード２）へパケットをトンネルすることを特定する通過論理スイッチ１６６５パイプラインを実行する。第２のゲートウェイマシン（例えば第２のゲートウェイマシン上のＭＦＥ）はパケットのカプセル除去を行い、パケットのＶＮＩとＭＡＣアドレスとに基づいて送信先ＳＲを識別する。ＭＦＥは、次ホップとしてＤＲ１６４５を識別する、（そのデータパス内において、又はゲートウェイマシン上のＶＭへパケットを送信することによって）ＳＲパイプラインを実行する。その後ＭＦＥは、ＤＲ１６４５へパケットをフォワードする通過論理スイッチ１６６０パイプラインを実行し、その後、同様にこのＤＲパイプラインを実行する。ＤＲパイプラインが送信先へパケットをルーティングするため、送信先論理スイッチパイプライン（論理スイッチ１６１５及び１６２０の１つ）が実行され、パケットは、送信先のＶＭが属すホストマシンのＭＦＥへパケットをトンネルする。パケットのカプセル除去の後に、送信先ＭＦＥはＶＭへパケットを配送する。
【０１１８】
[00154]  ＴＬＲ内のイースト−ウェストトラフィックに対し、送信元論理スイッチ、ＤＲ、及び送信先論理スイッチパイプラインは、第１ホップのＭＦＥにおいて全て実行され、その後、パケットは送信先ＭＦＥへトンネルされる。パケットが集中化サービスによる処理を必要とする場合、送信元論理スイッチＤＲと通過論理スイッチパイプラインとのみが、ＳＲパイプライン、通過論理スイッチ（再）、ＤＲ（再）及び、ゲートウェイマシンで実行される送信先論理スイッチパイプラインを有する、第１ホップのＭＦＥにおいて実行される。クロス−ＴＬＲトラフィックは、送信元論理スイッチ、ＤＲ、と、ＳＲを選択するための通過論理スイッチパイプラインとを実行する第１ホップＭＦＥを用いて、同一の方法で開始される。選択されたＳＲが動作するゲートウェイマシンはその後ＳＲパイプラインを実行して、ＰＬＲのＤＲ、ＴＬＲとＰＬＲとの間の通過論理スイッチパイプライン、（異なるＴＬＲの構成要素として次ホップを識別する）ＰＬＲパイプラインのＤＲ、及び、少なくとも、ＰＬＲと送信先ＴＬＲとの間の通過論理スイッチを識別する。送信先ＴＬＲがＤＲのみを有する場合、その送信先ＭＦＥへのパケットをトンネルする前に、送信先論理スイッチとともに、そのパイプラインも第１のゲートウェイマシンにおいて実行される。送信先ＴＬＲがＳＲを有する場合、通過論理スイッチは、送信先ＴＬＲの選択されたＳＲに対し、ゲートウェイマシンへパケットをトンネルするように特定する。その第２のゲートウェイマシンは、送信先ＭＦＥへパケットをトンネルする前に、ＳＲパイプライン、送信先ＴＬＲの内部の通過論理スイッチパイプライン、そのＴＬＲに対するＤＲパイプライン、及び、送信先論理スイッチパイプラインを実行する。
【０１１９】
[00155]  上記例の全てにおいて、可能な限り早期に処理パイプラインを実行するための、同一原理が適用される。従って、所定のパケットに対するパイプラインの全ては、第１ホップのＭＦＥ（例えば、ハイパーバイザ上のＶＭからパケットを受信するハイパーバイザベースの仮想スイッチ）において実行され、パケットがＳＲパイプラインへ送信される必要があるまで、特定のゲートウェイマシン上にのみ現れる。そのゲートウェイマシンはその後、パケットが物理ネットワーク又は異なるゲートウェイマシン（又はそのイースト−ウェストトラフィックのための送信先）に送出されるまで、可能な処理の全てを実行する。
【０１２０】
[00156]  Ｄ.  追加的な論理ルータの振る舞い
[00157]  物理ルータのように、論理ルータは、ルーティングするパケットの生存時間（time to live, TTL）をディクリメント（decrement）し、ＡＲＰを実行するような、典型的なルーティング機能を実行するように実施される。いくつかの実施形態では、ＤＲ及びＳＲの両方を有する論理ルータは、パケットに対して動作する第１の構成要素によって、一度だけパケットにディクリメントを行う。従って、ノースバウンド及びイースト−ウェストのトラフィックに対して、ＤＲがＴＴＬをディクリメントし、一方、サウスバウンドトラフィックに対して、ＳＲがＴＴＬをディクリメントする。いくつかの実施形態では、ＤＲの実装は、そのサウスバウンドインタフェースで受信したパケットに対してＴＴＬをディクリメントするのみの命令を有し、ＳＲは、ノースバウンドインタフェースで受信したパケットに対してＴＴＬをディクリメントするのみの類似の命令を有する。パケットに対するＴＴＬのディクリメントを扱う構成要素はまた、ＴＴＬがゼロに落ち込んだ場合に、ＩＣＭＰエラーメッセージの生成を扱う。
【０１２１】
[00158]  いくつかの実施形態の論理ルータは、ブロードキャストパケットをフォワードせず、従って、ディレクテッドブロードキャスト（directed broadcast）（典型的には物理ルータでも無効化される機能）をサポートしない。しかしながら、宛先とされた論理ネットワーク上でＩＰブロードキャストパケットを受信した場合、いくつかの実施形態の論理ルータは、それ自体をパケットの送信先として取り扱う。
【０１２２】
[00159]  いくつかの実施形態では、ＡＲＰに対し、論理ルータは、内部パケット（すなわち、トンネルカプセル化がパケットに付加される前のパケット）のＭＡＣアドレスを書き替えて、どのトランスポートノードがＡＲＰパケットを送信しているかを示し、ＡＲＰレスポンスが正しいトランスポートノードへフォワードされるようにする。トンネルカプセル化については、いくつかの実施形態は、ＶＸＬＡＮセマンティクスとともにステートレストランスポートトンネリング（stateless transport tunneling, STT）を用いる。
【０１２３】
[00160]  Ｅ．ＳＲによるパケット処理
[00161]  上記説明は、単純な、パケットに対するデータパスの１つの追加論理フォワーディング要素としてのＳＲによるパケット処理であって、第１ホップにおいて（少なくとも、ノースバウンド又はイースト−ウェストのパケットに対して）実施されないパケット処理について説明した。しかしながら、他の論理フォワーディング要素（論理スイッチ、ＤＲ、通過論理スイッチ）が基本的に、入ってくる処理と論理フォワーディングと出てゆく処理（入ってくる及び出てゆく処理はＡＣＬを含み得る）とを含む場合、ＳＲ処理は、フォワーディング関連の処理に加えてステートフルサービスのような他の機能を含み得る。
【０１２４】
[00162]  図１７は、いくつかの実施形態のＳＲ処理１７００の様々な段階を概念的に示している。これらの段階のいくつかは、ＳＲが非フォワーディングサービス（例えばＮＡＴ、ステートフルファイアウォール、ロードバランシング等）を含む場合にのみに含まれる。従って、図は、いくつかの段階を示しており、実線よりむしろ一点鎖線の段階では、サービスが構成された場合に、ＳＲだけがこれらの段階を実行することを示す。更に、プレサービス（pre-service）のリダイレクト段階１７０５は、点線を用いて記載されており、これは、ＳＲがサービスを含み、かつその論理ルータがアクティブ−アクティブモードで構成される場合、ＳＲのみがこの段階を実行することを示す。
【０１２５】
[00163]  図示するように、ＳＲがパケットを受信した場合（ＳＲがＶＭとして実施されようと、ＤＰＤＫベースのデータパス内のＶＲＦとして実施されようと）、第１の段階１７０５は、プレサービスのリダイレクト動作となる。上述したように、ステートフルサービスが構成される場合にはＳＲのみがこの段階を実行し、ＳＲは、アクティブ−アクティブモードで動作している。プレサービスのリダイレクト段階１７０５は、パケットの属す接続（例えばトランスポート接続）のためのオーナーＳＲへパケットをリダイレクトすることを含む。しかしながら、論理ルータにおいてサービスが構成されていない、又は、ＳＲがアクティブ−スタンバイモードで動作している（この場合、全てのパケットがアクティブＳＲへ送信される）場合、この段階は必要ではない。いくつかの実施形態では、プレサービスのリダイレクト段階はＴＴＬをデクリメントしない（後の段階でルーティングされた際にパケットが適切にデクリメントされるため）。
【０１２６】
[00164]  プレルーティングサービス段階１７１０−１７１５は、ルーティングより前の実行のための、ＳＲ上に構成された任意の数のステートフルサービスを含み得る。ＳＲは、何らのリダイレクトも必要ないと判定した場合、又は、異なるＳＲからリダイレクトを介してパケットを受信した場合に、これらの段階を実行する。勿論、ＳＲ上にステートフルサービスが構成されない場合、これらの動作も実行されない。ＳＲの構成、及び、所定のサービスが論理ルータの出る側の論理ポートの決定を必要とするか、に応じて、いくつかのサービスはルーティングの前又は後のいずれかに実行され得る。
【０１２７】
[00165]  全てのプレルーティングサービスがＳＲによって実行された後に、ＳＲはルーティング段階１７２０を実行する。上述したように、ＳＲインスタンスの全てに対するルーティングテーブルは類似する。例えば、複数のＳＲが同一のネットワークに到達することができる場合、全てのＳＲは、そのネットワークに対する複数の経路を有し、当該経路は、ダミーインタフェースを指す経路より短い距離メトリックを持った、ローカルインタフェースを指す経路を有する。このため、可能なときはローカルインタフェースが選択される。ルーティング段階１７２０は、ルーティングの決定をもたらし、この決定は、次ホップのＩＰアドレスと論理ルータの出る側の論理ポートとを含む（いくつかの実施形態では、出る側の論理ポートは、ノースバウンドパケットに対してＤＲによって実行されたルーティングに基づいて、既知であり得る）。
【０１２８】
[00166]  ルーティングの後に、パケットは、ポストルーティングサービス段階１７２５−１７３０へ進む。これらの段階は、プレルーティングのサービス段階１７１０−１７１５のように、ステートフルサービスが論理ルータ上で構成されている場合、ＳＲによってのみ実行される。いくつかの実施形態では、ポストルーティングサービス段階のいくつか又は全ては、ルーティングの決定に依存し得る。例えば、論理ルータのために構成されるインタフェースベースのＮＡＴは、論理的な出る側のポートに依存し得る。更に、いくつかの実施形態は、ポストルーティングサービスがルーティングの決定を変更しないことを必要とする（いくつかの場合には、ＳＲによるパケットのドロップを引き起こし得るが）。
【０１２９】
[00167]  次に、ＳＲは、出る側ＡＣＬ段階１７３５を通してパケットを処理する。この段階では、ＳＲは、論理ルータの論理的な出る側ポートに対して構成された任意のセキュリティポリシーを実施する。その後ＳＲは、（段階１７４０において）ＡＲＰを次ホップへ送信して、パケットのための新たな送信先ＭＡＣアドレスを決定する。ＳＲの出る側のインタフェースがダミーインタフェースである場合、いくつかの実施形態では、論理空間においてＤＲがＡＲＰを実行するのと同一の方法で、ＡＲＰが、プロキシを介してＬ２の送信先に挿入される。ＡＲＰが終了した後は、ＳＲは、パケットの送信元及び送信先のＭＡＣアドレスを修正する。
【０１３０】
[00168]  最後に、パケットは出る側の出力段階１７４５に進む。出る側のインタフェースがローカルである場合、パケットは適切なＶＬＡＮへ送信される。一方、出る側のインタフェースが遠隔（remote）である場合、ＳＲはパケットをダミーインタフェースのＳＲへフォワードし、ダミーインタフェースはその後適切なＶＬＡＮを介してパケットを送出する。いくつかの実施形態では、パケットは正しいピアＳＲへ送信され、ピアＳＲはその後ＡＲＰを実行してパケットを出力する。しかしながら、この技術は、パケットを次ホップの情報に格納するか、ピアＳＲがルーティング段階を再実行するかのいずれかを必要とする。いくつかの実施形態では、出る側の出力段階はＴＴＬをディクリメントしない。代わりにＴＴＬは、このＳＲにおけるルーティング段階か、異なるＳＲの出力段階におけるリダイレクトを通して受信された場合には、その異なるＳＲにおけるルーティング段階か、のいずれかによってデクリメントされる。
【０１３１】
[00169]  ＩV．多層ローカルネットワークにおけるECMPルーティング
[00170]  上述したように、いくつかの実施形態は、ＰＬＲのＳＲに関し、ノースバウンド及びサウスバウンドのパケットの両方に、等コストマルチパスルーティング（equal-cost multi-path routing）技術を用いる。いくつかの実施形態では、ＥＣＭＰの使用は、物理ネットワーク（例えば、２層トポロジにおけるＰＬＲ）とインタフェースを有する論理ルータ上にステートフルサービスが構成されていない場合にのみ許容される。ＥＣＭＰ技術を用いてパケットをフォワードするためには、ＰＬＲは複数のアップリンクと有効化されたＢＧＰ（又は他の動的なルーティングプロトコル）を必要とする。いくつかの実施形態では、複数のアップリンクは同一のＬ２ドメイン内に配置され得る。
【０１３２】
[00171]  以前に説明したように、ユーザ（管理者）は、論理ルータを物理ゲートウェイマシンの特定の組に関連付ける。その後、管理プレーンは、ＰＬＲの様々なアップリンクを、物理ゲートウェイマシンのこの組における異なるゲートウェイマシンに割り当てる。いくつかの実施形態は、特定可能な組における様々なゲートウェイマシンが、外部ネットワークへの統一された物理的接続性を有する（例えば、マシンの全てが同じＶＬＡＮの組へのアクセスを有する）というルールを実施する。ここで、このルールは管理プレーンにおけるロジックを単純化する。管理プレーンがアップリンクを割り当てる各ゲートウェイマシンにおいて、ＳＲが生成される。
【０１３３】
[00172]  いくつかの実施形態は、統一された物理的接続性に対する追加的な要件を設ける。具体的には、いくつかの実施形態では、ＰＬＲによって繋がるゲートウェイマシンの全ては同一のＬ３接続性を有する（すなわち、これらのマシンの全ては物理ルータの同一の組と接続する）更に、ＢＧＰが有効化される（ＥＣＭＰに対する要求）場合、これらの物理的な次ホップ（物理ルータ）は、同一の物理的接続性を有することが必要となる。これは、特定のＰＬＲのための全てのＳＲが、これらの物理的な次ホップから、非常に高速に消滅するＳＲの間の通過経路の差の見込みを有する、経路の同一の組を受信することを意味する。この要求の組によって、パケットがアップリンク間でリダイレクトされる必要がないため（全てのアップリンクが同一のポリシーと同一の接続性を有するため）、ダミーアップリンクは必要でなくなる。
【０１３４】
[00173]  図１８及び図１９は、単一の層の論理ネットワークトポロジ１８００と、上述したＥＣＭＰの使用要件を満たすトポロジの管理プレーンビューを示す。ネットワークトポロジ１８００は、図９のものと類似するが、２つのアップリンクのそれぞれは同一のＬ３接続性を有する。論理ネットワークトポロジ１８００は、論理ルータ１８１５と接続する、２つの論理スイッチ１８０５と１８１０とを含む。これらの構成要素の構成は、アップリンクが接続する物理ルータの構成を除き、ネットワークトポロジ９００と同一である。すなわち、論理ルータ１８１５と論理スイッチ１８０５及び１８１０との間のインタフェースは全て同一であり、論理ルータ１８１５の２つのアップリンクＵ１及びＵ２は、同一の次ホップＩＰアドレスを用いて物理ルータ１８２０及び１８２５と接続する。しかしながら、前の例では物理ルータが異なるネットワークへの接続性を提供したが、ここでは、両方の物理ルータがインターネットへの同一のＬ３接続性を有している。
【０１３５】
[00174]  従って、図１９では、論理ネットワークの管理プレーンビュー１９００もほぼ同様である。管理プレーンは再度、論理ルータ１８１５と、ＤＲ構成要素１９０５と、２つのアップリンクに対する２つのＳＲ１９１０及び１９１５と、通過論理スイッチ１９２０とを定義する。この構成に対する唯一の修正は、ＳＲ上にダミーインタフェースが構成されないことであり、これは、２つのアップリンクが同一の構成とＲＩＢを有するために、ＳＲの１つが、２つ目のＳＲの外にフォワードされる必要のあるパケットを受信すべきでないためである。そうであるなら、前のセクションにおいて示された、リダイレクトのためのＲＩＢ内の経路は、これらのＳＲのＲＩＢには含まれない。
【０１３６】
[00175]  いくつかの実施形態では、ＥＣＭＰはＢＧＰ（又は他の動的なルーティングプロトコル）とともに用いられる。論理ルータの各ＳＲは、接続する１つ以上の物理ルータとＢＧＰセッションを確立する。例えば、図１８及び図１９の例では、ＳＲ１９１０は物理ルータ１８２０とのセッションを初期化し、一方ＳＲ１９１５は物理ルータ１８２５とのセッションを初期化する。いくつかの実施形態では、各アップリンクは両方の物理ルータと接続し得、このため、各アップリンクは２つのルーティングセッションを有し得る。いくつかの実施形態では、ＳＲの実施から分離されたゲートウェイマシン上のモジュールは、ルータとともにＢＧＰセッションを初期化し得る。例えば、ＶＭとしてＳＲが実施される場合、ＢＧＰモジュールは、別々のＶＭ内又は他のデータ計算ノード等における、ＶＭの一部、又はハイパーバイザの一部として動作する別々のモジュールであり得る。これらのセッションの間、ＳＲは、各プレフィックスについての同一のメトリックを用いて、論理スペース内のプレフィックス（例えば、論理スイッチのサブネット1.1.1.0/24又は1.1.2.0/24）を物理ルータにアドバタイズする。いくつかの実施形態のＢＧＰ結合技術は、２０１４年３月１４日に出願された米国特許出願１４／２１４，５６１号で説明されており、参照により以下に組み込まれる。
【０１３７】
[00176]  物理ルータへ同一の経路をアドバタイズするＳＲの全てを用いることにより、物理ルータは、ＳＲを、同一コストのルーティングオプションとして扱うことができ、様々なＳＲを通じてトラフィックを広めることができる。図１８及び１９に示した例では、各物理ルータは、ＳＲの１つにのみパケットを送信することができる。しかしながら、各物理ルータは同一の接続性を有するため、物理ルータの背後のネットワークから論理ネットワークへ送信されるパケットは、均等に２つのルータ１８２０及び１８２５の間に拡散され、従って、均等に２つのＳＲの間に拡散される。各ＳＲが物理ルータの全てと接続する場合、そのときは当該物理ルータのそれぞれは、トラフィックをそれら自身にあるＳＲの間に均等に拡散することができる。
【０１３８】
[00177]  ノースバウンドのパケットに対し、いくつかの実施形態のＤＲは、ノースバウンドのパケットに平等な接続性を提供するＥＣＭＰ技術を用いて、様々なＳＲの間でパケットを分配する。ＳＲは、ＢＧＰ（又は異なる動的なルーティングプロトコル）を実行することにより、論理ネットワークのプレフィックスをアドバタイズすることに加えて、物理ルータから経路を学習することができる。上述したように、ＳＲは内部的にこれらの経路を自身のＲＩＢに組み込み、新たに学習した経路に基づいて、自身のＦＩＢを再計算することができる。しかしながら、ＥＣＭＰを用いるＤＲについて、これらの経路は、多数のマシンで実施されるＤＲのＲＩＢにも与えられなければならない。
【０１３９】
[00178]  いくつかの実施形態では、ＳＲは、学習した経路を、（分散化論理フォワーディング構成要素を実施するＭＦＥと）ＳＲを構成し管理する集中化ネットワークコントローラにレポートする。そして集中化コントローラは、それに応じてＤＲのＲＩＢを更新し、ＤＲを実施するＭＦＥに更新を分配する。異なる実施形態は、最新のＲＩＢの維持と集中化コントローラの処理負荷との間の場望ましいバランスに応じて、異なる割合でＤＲを更新し得る。いくつかの実施形態は、ＲＩＢを分配するよりむしろ、集中化コントローラにおいてＦＩＢを計算し、その後更新したＦＩＢを、ＤＲを実施するＭＦＥに分配する。
【０１４０】
[00179]  他の実施形態では、経路を継続的に更新するよりもむしろ、集中化コントローラは代わりに、ＳＲの全てを指すデフォルト経路をＤＲのＲＩＢに追加する。これらの経路は管理プレーンの内部のものとして分類されるため、これらの経路が管理者が入力した静的経路によって破棄されていない場合には、これらの経路はＤＲによってのみ用いられる。異なるＳＲに対する経路は同一の管理上の距離メトリックを有するため、ＤＲは、これらを、ＥＣＭＰ技術を用いてＳＲの間のトラフィックを分割する、等コストのオプションとして扱う。
【０１４１】
[0180]  V.  ステートフルサービスのためのアクティブ−スタンバイ
[00181]  上記セクションは、ＥＣＭＰを用いたアクティブ−アクティブ構成のためのＳＲ（２つ以上のＳＲの全てが等しいオプションとして扱われる場合）のセットアップについて説明したが、いくつかの実施形態は、２つのＳＲを用いてアクティブ−スタンバイ構成を用いる。いくつかの実施形態は、ステートフルサービスがＳＲ上に構成された場合に、アクティブ−スタンバイ構成を用いる。この場合、ＳＲ間において継続的な状態の共有を避ける利益は、（障害の場合にバックアップのためのスタンバイを用いる間に）複数のＳＲの間のノースバウンド及びサウスバウンドトラフィックの全てを送信する不利益を上回る。アクティブ−スタンバイの場合には、状態が２つのＳＲ間で定期的に同期されるが、パケット速度ごとになされる必要はない。
【０１４２】
[00182]  いくつかの実施形態では、アクティブ−スタンバイ構成に対し、管理者は、論理ルータを定義する際に２つのアップリンクを構成する必要があるが、このアップリンクは同一のＬ２ドメインである必要はない。しかしながら、アクティブ及びスタンバイのＳＲは、ＤＲに対する同等のオプションでなければならない（２つのオプションの望ましい方であるアクティブＳＲを有する）ため、いくつかの実施形態は、２つのＳＲが同一のＬ３接続性を有することを必要とする。これは、両方のＳＲが１つの次ホップ、ＴＬＲが接続するＰＬＲのＤＲ、を有するため、もちろん、アクティブ−スタンバイのＳＲがステートフルサービスを有するＴＬＲのために構成される場合、問題にはならない。いくつかの実施形態では、アクティブ−スタンバイ構成におけるＰＬＲに対し、２つのアップリンクは同一の接続性で構成されなければならない。更に、ＰＬＲに対し、いくつかの実施形態は、ＳＲ上での動的ルーティングプロトコル（例えばＢＧＰ）の構成を可能にする（或いは必要とする）。
【０１４３】
[00183]  図２０は、論理ルータがアクティブ−アクティブ（ＥＣＭＰ）モードよりもむしろアクティブ−スタンバイモードで構成される場合の、論理ネットワークトポロジ１８００の管理プレーンビューを示す。ここで、図１９に示したアクティブ−アクティブモードとの構成の唯一の差異は、ＳＲ２０１０及び２０１５のサウスバウンドインタフェースが、異なるＭＡＣアドレスであるが同一のＩＰアドレスを割り当てられていることである。
【０１４４】
[00184]  管理プレーンは、ＤＲのサウスバウンド及びノースバウンドのインタフェースへのＭＡＣ及びＩＰアドレスの割り当てに関し、図９及び図１０の一般的な場合と同じ方法でＤＲ２００５を構成する。ＲＩＢを構築する際には、同じ接続されたルータが用いられ、セクションＩＩで上述したように同一の静的経路のルールが適用される（例えば、ノースバウンドの経路がＤＲにコピーされるが、その次ホップとしてのＳＲのＩＰアドレスを設定するために修正される）。この場合、ＳＲに対するＩＰアドレスは１つのみであるため、全てのノースバウンドの経路は、次ホップのアドレスとしてこの１つのＩＰを用いる。同様に、様々な異なるＳＲのＩＰアドレスに複数のデフォルト経路を生成するのではなく、次ホップとしてのこの１つのＩＰアドレスを有する単一のデフォルト経路がＤＲのＲＩＢに追加される。従って、図２０のＤＲ２００５に対するＲＩＢは、以下の経路を含む。
1.1.1.0/24 output to L1
1.1.2.0/24 output to L2
192.168.100.0/24 output to DRP1
192.168.1.0/24 via IP1
192.168.2.0/24 via IP1
0.0.0.0/0 via IP1
【０１４５】
[00185]  ＳＲ２００５のそれぞれは、ほぼ同じ方法で構成される。論理ルータがＰＬＲである場合（又は、例にあるような１層トポロジにおいて）、ノースバウンドインタフェースのＩＰ及びＭＡＣアドレスは、ＰＬＲに対して構成された２つのアップリンクに割り当てられるものと同一である。一方、論理ルータがＴＬＲである場合、論理ルータは、ＰＬＲと接続するように構成される１つのアップリンクのみを有し得る。この場合、２つのノースバウンドインタフェースのＩＰアドレスは同一であるが、各ＳＲには異なるＭＡＣアドレスが割り当てられる。同様に、これらの２つの場合（ＰＬＲ又はＴＬＲ）のいずれかは、２つのＳＲに対する２つの異なるＭＡＣアドレスを有する、２つのサウスバウンドインタフェース（図２０に示すように、これらのインタフェースの両方がＩＰ１のＩＰアドレスを有する）に対して単一のＩＰアドレスが割り当てられる。
【０１４６】
[00186]  いくつかの実施形態では、コントローラは任意のアップリンク非依存のサービスポリシーを両方のＳＲに等しくプッシュする。アップリンクに依存する任意のサービスポリシーが許容され、構成される場合、これらは、関連付けられているアップリンクが存在するＳＲへプッシュされる。更に、論理ルータのポートの任意の動的ルーティング構成がＳＲのノースバウンドインタフェースへ伝送される。
【０１４７】
[00187]  ＳＲのためのＲＩＢは、一般的な事例に対して上記セクションＩＩにおいて示したものと類似する。論理ルータのアップリンクから出る静的かつ接続された経路は、修正されること無くＳＲのＲＩＢに追加される。論理ルータの各サウスバウンドインタフェース（例えば論理スイッチのサブネットのための経路）について、ネットワークのための経路が、次ホップのＩＰアドレスの組と共にＤＲのノースバウンドインタフェースに追加される。サウスバウンドインタフェースから出る、論理ルータのＲＩＢ内の任意の経路もまた、ＳＲのＲＩＢに、同一の次ホップのＩＰアドレスと共に追加される。図２０の例におけるＳＲ１  ２０１０のＲＩＢは、動的ルーティングプロトコルを介して任意の追加経路を学習する前に、以下の経路を含む。
0.0.0.0/0 output to U1 via 192.168.1.252
192.168.1.0/24 output to U1
192.168.100.0/24 output to SRP1
1.1.1.0/24 via IP3
1.1.2.0/24 via IP3
【０１４８】
[00188]  更に、いくつかの実施形態では、ＳＲが（アクティブＳＲよりむしろ）スタンバイＳＲとして設定される場合、ＳＲはそのサウスバウンドインタフェース上でＡＲＰに返答しない。ＳＲのサウスバウンドＩＰのためのＡＲＰパケットは、ＳＲ及びＤＲと接続する通過論理スイッチ上でブロードキャストされ、アクティブＳＲ及びスタンバイＳＲの両方がそのＩＰアドレスに応答する。しかしながら、ＤＲが、スタンバイＳＲよりもアクティブＳＲのＭＡＣアドレスへパケットをルーティングするように、アクティブＳＲのみがＡＲＰリクエストに応答する。にもかかわらず、いくつかの実施形態においてスタンバイＳＲは、アクティブＳＲになった場合にその動的ルーティングプロトコルを実行し、最新の経路の組を維持するために、ノースバウンドインタフェースによって受信されるパケットを受け入れる。しかしながら、スタンバイＳＲは、アクティブにならない限り、外部ネットワークへプレフィックスをアドバタイズしない。
【０１４９】
[00189]  ＩV．ＳＲのフェイルオーバー
[00190]  上述したように、ＳＲは、ＶＭ又は他のデータ計算ノードとして、若しくは、ＤＰＤＫベースのデータパス内のＶＲＦとして、異なる実施形態で実施され得る。いずれの場合も、異なる種別の障害（部分的なトンネルの障害、完全なトンネルの障害、物理マシンのクラッシュ等）の可能性は、ＳＲのダウンを引き起こし得る。しかしながら、異なるＳＲの実施は、異なる種別の障害に対し異なる方法で対応する。
【０１５０】
[00191]  Ａ．ＤＰＤＫベースのＳＲを用いる障害ハンドリング
[00192]  いくつかの実施形態では、述べたように、論理ルータのＳＲは、ＤＰＤＫベースのデータパス内のＶＲＦとして、ゲートウェイマシン又はエッジノード上で動作する。これらのゲートウェイマシンは、（例えばデータセンタ内の物理的な位置に応じて）複数の組にグループ化され、特定の論理ルータのための全てのＳＲをまとめてホストするゲートウェイマシンの組は、トンネルの組（いくつかの実施形態ではトンネルのフルメッシュ（full mesh））によって接続される。従って、トンネルは、ＳＲが動作する全てのゲートウェイマシンの間に存在する。
【０１５１】
[00193]  いくつかの実施形態は、ピアのゲートウェイマシンの生存を監視するために、双方向フォワーディング検出（Bidirectional Forwarding Detection, BFD）セッションを用いて、これらのトンネルを維持する。しかしながら、トンネルエンドポイント間の単一のＤＦＤセッションのみを用いることは、ピアの生存を検出するための単一の情報チャンネルに依存することになるため、いくつかの実施形態はまた、ゲートウェイマシンの各ペアの間で２つ目のチャンネルを用いる。特に、いくつかの実施形態では、別々の管理ネットワークが、（ネットワークコントローラとの通信のための）コントロールデータを送信するゲートウェイの間に存在する。従って、各ゲートウェイは管理ネットワーク内で別々のＩＰアドレスを有し、これらの接続は、管理ネットワークにわたってハートビート（heartbeat）メッセージを送信するために用いられ得る。これは、両方のゲートウェイマシンが、ピアが実際にはダウンしていない場合に、他方がクラッシュし、混乱を生じさせるアクションを起こさせていると判定した結果として生じる、２つのピア間におけるトンネルの障害の可能性を防止する。代わりに、トンネルの障害の間に、各ノードは、これらのピアマシンが今だ動作しているかを検出することができるため、トンネルが停止したものであり、ピアマシン（及びそのＳＲ）自身が停止したものではないことを結論付けることができる。
【０１５２】
[00194]  いくつかの実施形態では、障害の状態は、ＰＬＲのＳＲのものとＴＬＲのＳＲのものとで異なる。ユーザのＶＭが動作するＭＦＥ（例えば、ユーザのＶＭが直接接続する図１３のＭＦＥ１３２５）への接続性を提供する、ゲートウェイマシンのトンネルが停止した場合、外部の物理ルータによってＰＬＲへ送信されるトラフィックがブラックホールされる（blackholed）ため、ゲートウェイマシン上の全てのＳＲ（ＰＬＲのＳＲでさえ）は、もはや動作可能でない。一方、ゲートウェイマシンが物理ルータとの接続性を失った場合、ゲートウェイマシン上のＴＬＲのＳＲは、ＴＬＲへのノースバウンドトラフィックが、次ホップとしてのＰＬＲのＤＲを有するため、すなわち常に利用可能でなければならない（ゲートウェイ上のデータパス内で実施されるため）ため、依然として動作可能として扱われる。しかしながら、論理ネットワークのＶＭからの任意のノースバウンドトラフィックがブラックホールされるため、ＰＬＲのＳＲはもはや動作可能であると考えられない。ＰＬＲのＳＲをホストするゲートウェイマシンが物理的な接続性（又はそのＢＧＰセッション）を失う場合、いくつかの実施形態では、ゲートウェイマシンは、同一のＰＬＲのＳＲをホストする他のゲートウェイマシンにメッセージ（例えば、「concatenated path down」のような特定の診断コード）を送信する。
【０１５３】
[00195]  ピアとのトンネル上のＢＦＤセッションと、ピアとの第２（管理）のチャネルにわたるハートビートメッセージの状態と、ピアの物理的接続性がダウンしていることを示すメッセージをピアから受信したか、とに基づいて、第１のゲートウェイマシンは、ピアの第２のゲートウェイマシンについて結論を下し、結論に基づいて所定のアクションをとることができる。例えば、トンネルがアクティブであり、接続性ダウンのメッセージを受信していない場合、第１のゲートウェイマシンは、ピアの第２のゲートウェイマシンが健全であり、継続するパケットの処理が通常であると結論する。しかしながら、ピアへのトンネルが動作しているが接続性ダウンのメッセージを受信した場合、第１のゲートウェイマシンは、ピアは今だアクティブであるが物理的接続性を失ったと結論する。そういうものとして、第１のゲートウェイマシンは、ＳＲがＰＬＲに属す場合には第２のゲートウェイマシン上のＳＲを（後述するように）引き継ぎ、ＴＬＲのＳＲについてはアクションをとらない。
【０１５４】
[00196]  第１のゲートウェイマシンとピアの第２のゲートウェイマシンとの間でトンネルがダウン（もはやアクティブでないＢＦＤセッションに基づく）し、しかし第２のチャネルのハートビートメッセージが今だ受信される場合、第１のゲートウェイマシンは、ピアの第２のゲートウェイマシンが健全であり、（必要ならリダイレクションは問題になり得るが）ノースバウンド及びサウスバウンドパケットを処理している、と結論する。しかしながら、トンネルと第２のチャネルとの両方がダウンした場合、第１のゲートウェイは、ピアがダウン（例えばクラッシュ）したと結論する。この場合、第１のゲートウェイマシン上のＳＲは、ＳＲがＰＬＲ又はＴＬＲに属するかに関わらず、第２のゲートウェイマシン上のＳＲを（後述するように）引き継ぐ。
【０１５５】
[00197]  いくつかの実施形態では、各ゲートウェイマシンは、マシン上で動作する（ある場合にはシャーシコントローラ（chassis controller）として参照される）ローカルネットワークコントローラを有する。いくつかの実施形態のシャーシコントローラは、中央ネットワークコントローラからデータタプル（data tuple）を受信し、マシン上のＭＦＥを構成するためにデータタプルを用いる。いくつかの実施形態では、このシャーシコントローラはまた、そのゲートウェイマシンのヘルス状態（health status）がいつ変化したか、及び、ピアのゲートウェイマシンのヘルス状態がいつ変化したかを判定する責務を有する。ゲートウェイマシン間の通信の３つ指標（トンネルＢＦＤセッション、第２のチャネル、及び物理的接続性ダウンのメッセージ）の１つが（接続性の消失、ゲートウェイマシンのクラッシュ等に基づき）影響を受けた場合、いくつかの実施形態のシャーシコントローラは、これがどのように、そのゲートウェイマシン上でホストされる各ＳＲに影響するかを判定する。
【０１５６】
[00198]  特定の１つのＳＲに関してシャーシコントローラがなすアクションは、（ｉ）ＳＲがＰＬＲ又はＴＬＲに属すか、（ｉｉ）ＳＲがアクティブ−アクティブ又はアクティブ−スタンバイモードで動作するか、（ｉｉｉ）それ自身のローカルヘルス状態、（ｉv）同一の論理ルータの他のＳＲをホストするピアのゲートウェイマシンのヘルス状態、に依存する。例えば、シャーシコントローラは、ローカルＳＲが機能的であると扱われるべきでないことを判定し得、この結果に対する信号を（ｉ）他のゲートウェイマシン、（ｉｉ）ユーザＶＭが属すホストマシン、（ｉｉｉ）物理外部ルータ、の組み合わせに送信し得る。シャーシコントローラはまた、ローカルＳＲがアクティブになければならないとの判定をなすことができ、ＳＲをアクティブにするためのフェイルオーバー処理を開始し得る。更に、シャーシコントローラは、遠隔のＳＲがもはや機能的でないことを判定し得、この遠隔のＳＲの処理をローカルに引き継ぐためにフェイルオーバー手順を開始する。
【０１５７】
[00199]  障害の条件が検出された場合、様々な実施形態は、状況を部分的に或いは完全に救済するための様々な異なるアクションを取り得る。障害の事例の異なる種別は、完全な或いは部分的なトンネルの障害、ゲートウェイマシン又はＭＦＥのクラッシュ、リンクアグリゲイトグループ（ＬＡＧ）状態のダウン、ＢＧＰセッションの停止、ＳＲ間の非統一経路を含む。ＳＲの復活は実際には障害のシナリオではないが、ＳＲを管理するためにゲートウェイマシンのシャーシコントローラによってなされるアクションの結果として生じる。
【０１５８】
[00200]  １．完全なトンネルの障害
[00201]  完全なトンネルの障害は、ゲートウェイマシンのクラッシュによって、若しくはｐＮＩＣ又は物理ネットワークの問題によって発生し得る。完全なトンネルの障害が特定のゲートウェイマシン上で発生する場合、（ｉ）ユーザＶＭ又は他のデータ計算ノードを有するホストマシンにおける全てのＭＦＥは、特定のゲートウェイマシンへのトンネルを失い、（ｉｉ）他のゲートウェイマシンは、特定のゲートウェイマシンへのトンネルを失い、そして（ｉｉｉ）  特定のゲートウェイマシンは、他のゲートウェイマシンへのトンネルを失う。
【０１５９】
[00202]  ホストマシンにおけるＭＦＥの観点から、特定のゲートウェイマシンへのそのトンネルが停止した場合、ＰＬＲのＤＲは、（ＰＬＲによって繋がるゲートウェイマシンの全てが一度に停止していない前提で）いくつかのＳＲに到達することができるが、特定のゲートウェイマシン上にあるＳＲに到達することができない。そういうものとして、いくつかの実施形態では、ホストマシン上のデータパス又はシャーシコントローラは、影響を受けた（次ホップのＩＰアドレスとしての特定のゲートウェイマシン上のＳＲを用いる）経路を、ＤＲのＦＩＢから自動的に削除する。いくつかの実施形態は、それぞれのゲートウェイマシン上の仮想トンネルエンドポイント（ＶＴＥＰ）に、各次ホップを関連付ける。特定のＶＴＥＰへのトンネルがダウンしている場合、特定のＶＴＥＰと関連付けられている全ての次ホップは、ダウンしているとしてマークされ、そのため、ローカルのシャシーコントローラによって、ＤＲのためのＦＩＢを計算する際に削除される。
【０１６０】
[00203]  他のゲートウェイマシンは、ＢＦＤセッションの状態を通して、特定のゲートウェイマシンのトンネルの障害と、第２のチャネルが今だ動作していることを検出する。これらの他のゲートウェイマシン（例えば、他のゲートウェイマシン上のローカルシャーシコントローラ）は、その後、停止したゲートウェイマシン上でホストされたＳＲを引き継ぐためにフェイルオーバー処理を開始することができる。
【０１６１】
[00204]  アクティブ−アクティブモードで構成された停止したゲートウェイマシン上のＳＲに対し、いくつかの実施形態は、停止したＳＲを他のマシンの１つによってどのように引き継ぐかを決定するために、ランキングメカニズムを用いる。いくつかの実施形態では、管理プレーンは、アクティブ−アクティブ構成のＮのＳＲのそれぞれに、１からＮのランキングを割り当てる。これらのランキングは、ランダムに割り当てられ、或いは、異なる技術を用いて割り当てられ、そして、アクティブ−アクティブ構成の特定の論理ルータのためのＳＲをホストする、全てのゲートウェイマシンのローカルシャーシコントローラへ分配され得る。停止したＳＲのランキングに基づいて、次に高いランクのＳＲが、停止したＳＲのサウスバウンドインタフェースを自動的に引き継ぐ。ノースバウンドインタフェースに対しては、物理ルータが、ＢＧＰセッションを終了した際にＳＲがダウンしていることを認識するため、他のＳＲによってなされるべきアクションはない。インタフェースを引き継ぐために、引き継ぐ側のＳＲは、サウスバウンドインタフェース上の通過論理スイッチへ引き継ぐ全てのＩＰアドレスに対して、いくつかのグラチュータスＡＲＰ（gratuitous ARP）（ＧＡＲＰ）メッセージを送信する。これらのメッセージは、ＩＰアドレスが現在はサウスバウンドインタフェースのＭＡＣアドレスと関連付けられていることを知らせる。（論理ルータに対する他のＳＲの以前の障害によって）停止したＳＲが既に他のＩＰアドレスを引き継いでいた場合、複数のＩＰアドレスが新たな引き継ぐ側のＳＲによって引き継がれる。
【０１６２】
[00205]  アクティブ−スタンバイモードで構成された停止したゲートウェイマシン上のＳＲに対し、いくつかの実施形態は、アクティブなＳＲの障害とスタンバイのＳＲの障害とを異ならせて扱う。特に、停止したＳＲがスタンバイである場合、いくつかの実施形態は、スタンバイのマシンには適切な時間にバックアップがもたらされる前提で、アクションをとらない（すなわち、新たなスタンバイマシンをインスタンス化しない）。停止したＳＲがＴＬＲのＳＲである場合、サウスバウンド及びノースバウンドインタフェースの両方のＩＰアドレスがスタンバイのＳＲに移動する。ＴＬＲは単一のアップリンクのみを有するため、両方のＳＲはノースバウンド及びサウスバウンドインタフェースのＩＰアドレスを共有するが、異なるＭＡＣアドレスを有する。両方の場合、いくつかの実施形態は、ＩＰアドレスの移動を実現するために、関連する通過論理スイッチへＧＡＲＰメッセージを送信する。ＰＬＲのＳＲについては、アクティブ−スタンバイモードであっても２つのアップリンクが別々のＩＰアドレスを有するため、サウスバウンドインタフェースのみが移動する。更に、新たなアクティブなＳＲは物理ルータにプレフィックスのアドバタイズを開始して、停止したＳＲによりも自身にサウスバウンドのパケットを引き入れる。同一のＩＰ及びＭＡＣアドレスが、アクティブ−スタンバイのＳＲのサウスバウンドインタフェースに用いられる場合には、いくつかの実施形態は、Reverse ARP（RARP）を用いて、ＭＡＣ：ＶＴＥＰマッピングをリフレッシュする（すなわち、パケットが現在のトンネルを介して新たなアクティブＳＲへ送信される）。
【０１６３】
[00206]  全てのトンネルを失ったゲートウェイマシン上では、シャーシコントローラは、最も可能性の高い原因が何等かのローカルの障害であることを判定し、従って、そのローカルのＳＲはもはやアクティブであるはずがないことを判定する。従って、ＢＧＰセッションを介して外部の物理ルータへプレフィックスを通知する任意のＳＲは、ブラックホールされるサウスバウンドのトラフィックの引き込みを回避するように、通知したプレフィックスを撤回する。
【０１６４】
[00207]  ２．部分的なトンネルの障害
[00208]  部分的なトンネルの障害は、ゲートウェイマシンとデータセンタ内の他のマシンとの間のいくつかのトンネルのみがダウンした場合に生じる。これは、特定のゲートウェイマシンへのトンネルを有するマシンの１つにおける（１つのトンネルの消失の結果として生じる）完全な障害、そのトンネルのいくつかのダウンの結果として生じる特定のゲートウェイマシンにおける条件、等によるものであり得る。ここで説明されるのは、特定のゲートウェイマシンにおける条件がそのトンネルのサブセットが停止した結果として生じる場合である。結果として、（ｉ）ユーザＶＭ又は他のデータ計算ノードを有するホストマシンにおけるいくつかのＭＦＥは、特定のゲートウェイマシンへのトンネルを失い、（ｉｉ）いくつかの他のゲートウェイマシンは、特定のゲートウェイマシンへのトンネルを失い、そして（ｉｉｉ）  特定のゲートウェイマシンは、他のゲートウェイマシンへのトンネルを失う。
【０１６５】
[00209]  特定のゲートウェイマシンへのトンネルを失ったホストマシンにおけるＭＦＥは、ホストマシンの観点からこれは単に到達できないゲートウェイであるため、完全なトンネルの障害の場合と同一の方法でこれを扱う。そういうものとして、上記サブセクション１に示したように、ホストマシン上のデータパス又はシャーシコントローラは、次ホップのＩＰアドレスとしての特定のゲートウェイマシン上のＳＲを用いる、影響を受けた経路を、ＤＲのＦＩＢから自動的に削除する。
【０１６６】
[00210]  言及したように、部分的なトンネルの障害は、様々な異なるシナリオの結果として生じ得る。例えば、いくつかの場合、ゲートウェイマシンは、いくつかのホストマシンのＭＦＥによって到達可能であり得るが、そのピアによっては到達可能ではない。例として、（ＶＭとしてのＳＲであるが、にもかかわらず適用可能である）図１３を参照すると、ゲートウェイマシン１３３０に、ホストマシン１３０５−１３２０によって到達可能であるが、ゲートウェイ１３３５及び１３４０によっては到達可能でない。この場合、ゲートウェイマシン１３３０上のローカルのシャーシコントローラは、両方のゲートウェイマシン１３３５及び１３４０上で動作しているＰＬＲのＳＲを引き継ぐ。更に、ゲートウェイマシン１３３５（又は、ランキングに応じて、マシン１３４０）が、ゲートウェイマシン１３３０上で動作するＳＲを引き継ぐ。これは、ゲートウェイマシン上で動作するＤＲが、第１のゲートウェイマシン１３３０上でホストされるＳＲのサウスバウンドのＩＰアドレスに対するＡＲＰリクエストを送信した場合、（ゲートウェイマシンの全てに到達することができる）ＭＦＥのいくつかが複数のゲートウェイマシンから返信を受信する結果としてなされる。ＳＲがアクティブ−アクティブ構成（ステートフルサービスを有しない）である限り、これは正当性問題を生じさせない。しかしながら、アクティブ−スタンバイ構成の場合には、ＳＲの両方が今やアクティブであることを意味し得、これはトラフィックの途絶問題を引き起こし得る。
【０１６７】
[00211]  特定のゲートウェイマシンにおいて、ホストマシンのいくつかへのトンネルがダウンするが、ピアのゲートウェイマシンは到達可能のままである場合、部分的なトンネルの障害は、アクティブ−スタンバイモードにおいても問題を生じ得る。この場合、ＳＲ間のトンネルが機能しているため、フェイルオーバーは発生しない。アクティブ−アクティブモードでは、ホストマシン（又はローカルシャーシコントローラ）におけるデータパスは、問題なく依然として動作しているトンネルを介してトラフィックをフォワードするための決定を行うことができる。しかしながら、アクティブ−スタンバイモードでは、アクティブなＳＲへのトンネルがダウンしている場合、ＭＦＥは、パケットを処理しないスタンバイのＳＲへパケットを送信する。同様に、アクティブ−アクティブ及びアクティブ−スタンバイ構成の両方において、ゲートウェイマシンは、物理ルータからのサウスバウンドトラフィックを通過させることができず、従っていくつかの実施形態ではブラックホールされる。
【０１６８】
[00212]  ３．マシンクラッシュ
[00213]  いくつかの場合には、ゲートウェイマシン全体がクラッシュし得、又はＤＰＤＫファストパス（fastpath）がクラッシュし得る。いくつかの実施形態では、ファストパスはＢＦＤパケットを送信する責務を負うため、これらの状況のいずれも完全なトンネルの障害と同一である。（ゲートウェイマシン上のＳＲに対するＢＧＰセッションを処理する）ＭＳＲプロセスは、ファストパスがクラッシュした場合にのみ動作し続け得るため、物理ルータは、ゲートウェイマシンへパケットを送信する可能性を今だ有する。いくつかの実施形態では、ファストパスが再スタートするまでトラフィックはブラックホールされる。
【０１６９】
[00214]  ４．ＬＡＧ状態のダウン
[00215]  いくつかの実施形態では、ゲートウェイマシンは、外部物理ネットワークに到達するために、リンクアグリケートグループ（LAG）を用いる。ＰＬＲのＳＲをホストするゲートウェイマシンが全てのＬＡＧを失った場合、いくつかの実施形態では、マシンは、（上述の）物理的接続性ダウンのメッセージを、そのＰＬＲのＳＲをホストするそのピアのゲートウェイマシンへ、トンネルを介して送信する。この場合、完全なトンネルの障害に関して上述した、引き継ぎ手順がなされる（次にランクの高いＳＲが、ＳＲのＩＰアドレスを引き継ぐ）。
【０１７０】
[00216]  いくつかの実施形態はむしろ、フェイルオーバーを誘発する技術として記載されるように全てのトンネルをマークする。しかしながら、これは、他のゲートウェイマシンへ同様にフェイルオーバーしたマシン上のＴＬＲのＳＲにおいて結果的に生じるものであり、物理的接続性がダウンした場合にのみ不要になるものである。これは、ホストマシンにおいてＭＦＥへ多数のＧＡＲＰメッセージを送信することに繋がり、従って、いくつかの実施形態は、ＰＬＲのＳＲのみをフェイルオーバーする初めの技術を用いる。
【０１７１】
[00217]  いくつかの場合、ＬＡＧにおける物理アップリンクのいくつかのみがダウンする。ＬＡＧにおける物理アップリンクの少なくとも１つが機能的なままである限り、ゲートウェイマシンは何らのアクションもとらず、正常なものとして動作を継続する。更に、いくつかの実施形態では、（データセンタ内の）トンネルトラフィックは別々のＬＡＧを用いる。ＬＡＧ全体がダウンする場合、サブセクション１で上述した、完全なトンネルの障害を生じさせる。
【０１７２】
[00218]  ５．ＢＧＰ  セッションダウン
[00219]  いくつかの場合、（例えばゲートウェイマシン上のＭＳＲプロセスがクラッシュするために）ＳＲのためのＢＧＰセッションがダウンする。ＢＧＰプロセスのために適切な再スタートが可能である場合、適切な再スタートのために設定されたタイムアウト期間以内にセッションが再確立される限り、フェイルオーバーのアクションをとる必要はない。ＭＳＲプロセス（又は他のＢＧＰモジュール）がいつダウンしたかを検出できるようにするため、いくつかの実施形態は、たとえ状態が変化しなかったとしても、定期的にＢＧＰセッションの全ての状態をリフレッシュするためのプロセスを必要とする。
【０１７３】
[00220]  一方、適切な再スタートが可能でない、又は再スタートのためのタイムアウト期間が経過した場合、いくつかの実施形態のゲートウェイマシンは、ＳＲがもはや機能的でないことを示すために、物理的接続性ダウンのメッセージを、同一のＰＬＲに対するＳＲをホストするそのピアのゲートウェイマシンに送信する。ピアのゲートウェイマシンの観点から、機能的でないＢＧＰセッションを有するゲートウェイ上のＳＲインタフェースが、次に高ランクなＳＲによって引き継がれるという点で、あたかもＬＡＧ状態がダウンしたのと同じである。更に、１つのＢＧＰセッションが機能的である限り、及び全ての物理的な次ホップが同一のＬ３接続性を有する場合、フェイルオーバーのアクションをとる必要がない。
【０１７４】
[00221]  ６．ＳＲの間の非統一経路
[00222]  ＰＬＲのＳＲが接続する外部物理ネットワーク内の障害は、ＳＲにも影響を及ぼし得る。例えば、いくつかの外部物理ルータは、サブネットのための経路を撤回し得、他方、他の物理ルータは撤回しない。いくつかの実施形態は、この問題を、中央ネットワークコントローラを含むこと無く、ゲートウェイマシン上でローカルに解決する。
【０１７５】
[00223]  上述したように、いくつかの実施形態では、ＳＲは互いをピアにするｉＢＧＰを有し、ｅＢＧＰ経路（外部物理ルータから学習される）は、次ホップを変更すること無く、ｉＢＧＰセッションを介して送信される。図１０への参照によれば、（アップリンクＵ２である同一のサブネット内の）１９２．１６８．２．２５２の次ホップを有する、ＳＲ１０１５によって学習された任意のｅＢＧＰ経路は、ｉＢＧＰを介してＳＲ１０１０によって学習される。これらの経路はその後、ＳＲが、他のＳＲ１０１５上の実際のアップリンクに対するダミーインタフェース（Ｕ２’）を有するため、１９２．１６８．２．２５２の次ホップとともにＳＲ１０１０にインストールされる。同一の技術はまた、経路回避シナリオに対して用いられる。
【０１７６】
[00224]  ７．ＳＲの復活
[00225]  ＳＲは上述のサブセクションにおいて示した様々な理由でダウンし得るが、ＳＲは一般に期間の後にバックアップがもたらされる。これは、これからバックアップされる停止したＳＲを有する、特定のゲートウェイマシンへのＢＦＤセッションによって、又は、物理的接続性ダウンフラグをクリアするメッセージの受信によって、他のマシンにおいて示され得る。その後、いくつかの実施形態では、全ての他のゲートウェイマシン上のローカルシャーシコントローラは、上述した方法と同一の方法を用いて、ローカルのＳＲが遠隔のＳＲを引き継ぐべきかを評価する。
【０１７７】
[00226]  例えば、遠隔のＳＲからローカルのＳＲによって現在引き継がれているＩＰアドレスが、遠隔のＳＲに戻されるべき（すなわち、ローカルのＳＲはもはやＩＰアドレスを引き継ぐべきでない）である場合、ローカルのＳＲはＩＰアドレスに対するＡＲＰの返答を停止する。いくつかの実施形態について、ローカルシャーシコントローラは、ローカルＳＲのサウスバウンドインタフェースからそのＩＰアドレスを削除する。ＩＰアドレスがローカルＳＲによって引き継がれるべきである場合（例えばそれがバックアップがなされたため）、サブセクション１で示したフェイルオーバー手続きに従う。加えて、ローカルＳＲがスタンバイとして指定され、そして、アクティブＳＲが機能性を回復する場合、ローカルＳＲは、外部物理ルータへのプレフィックスのアドバタイズを停止する。同様に、アクティブとして指定されるローカルＳＲが機能性を回復する場合、ローカルＳＲはプレフィックスのアドバタイズも再開する。
【０１７８】
[00227]  Ｂ．ＶＭベースのＳＲを用いる障害ハンドリング
[00228]  上で言及したように、いくつかの実施形態は、ゲートウェイマシンのＤＰＤＫベースのデータパス内にＳＲをホストするよりもむしろ、ゲートウェイマシン上のＶＭ（又は他のデータ計算ノード）を用いて、データセンタ内でＳＲをホストする。図２１は、特定のＰＬＲに対する３つのＳＲ２１２０−２１３０をホストする３つのゲートウェイマシン２１０５‐２１１５の物理的な実装例２１００を示す。各ゲートウェイマシンはＭＦＥ、ＢＧＰプロセス（例えば、上記サブセクション  Ａで示したＭＳＲプロセス）及びローカル管理プレーン、又はシャーシコントローラを含む。
【０１７９】
[00229]  ゲートウェイマシン２１０５−２１１５上のＭＦＥ２１３５−２１４５は、ＯＶＳ、ＥＳＸ、異なるハイパーバイザベースの仮想スイッチ、又は、分散化Ｌ２及びＬ３フォワーディングを処理することができる、他のソフトウェアフォワーディング構成要素、のような仮想スイッチであり得る。示したように、３つのＭＦＥ２１３５‐２１４５は、これらの間でフルメッシュのトンネルの有し、これらの３つのＭＦＥはまた、ユーザＶＭをホストする、ホストマシン２１５０−２１５５の組に置かれるＭＦＥへのトンネルを有する。ホストマシン２１５０−２１５５はまた、ローカル管理プレーンを有する。
【０１８０】
[00230]  ＶＭとして動作する３つのアクティブＳＲを有する、ネットワークトポロジの物理的実施２１００は、様々な異なる障害のシナリオを示すために本サブセクションにおいて用いられる。一般に、ＳＲをホストするＶＭの１つが停止する、又はこれらの間のトンネルが停止する場合、他のピアのＳＲが停止したＳＲの責務を引き継ぐことを試みる。いくつかの実施形態では、同一の論理ルータに属すＳＲは、互いに通過論理スイッチを介して定期的にハートビートメッセージを送信する（例えば、通過論理スイッチでハートビートメッセージをブロードキャストすることにより、通過論理スイッチ上の他のＳＲの全てに配送される）。
【０１８１】
[00231]  １．ＳＲをホスティングするＶＭのクラッシュ
[00232]  いくつかの場合には、ＳＲの１つをホストする実ＶＭは、多くの理由によってクラッシュし得る。上述したように、ＳＲがアクティブ−アクティブモードで動作する場合（図２１のように）、管理プレーンは、各ＶＭに、フェイルオーバーシナリオにおける使用のためのランクを割り当てる。図２１の場合では、ゲートウェイマシン２１０５上のＳＲ１は最も高いランクが付与され、ゲートウェイマシン２１１０上のＳＲ２は２番目に高いランクが付与され、ゲートウェイマシン２１１５上のＳＲ３には、ＳＲの中で３番目に高いランクが付与されている。
【０１８２】
[00233]  図２２は、クラッシュするＶＭの１つの結果を概念的に示している。特に、この図は、ＳＲ２１２５がゲートウェイマシン２１１０上で動作するＶＭがクラッシュしたことを概念的に示している。結果として、このＶＭは、ゲートウェイ間のトンネルが今だ動作可能であるものの、他のＳＲ２１２０及び２１３０（例えば、ゲートウェイマシン上の他のＶＭで動作する他のＳＲに対して）へのハートビートメッセージを送信することができない。このように、様々な障害のメカニズムが、（これらがデータパス内のＶＲＦとして全てが実施されるので）マシン上のＤＰＤＫベースのＳＲの全てに影響を与える一方、ＶＭベースのＳＲに対するＶＭのクラッシュは、そのＶＭ上で動作している単一のＳＲにのみ影響を与え、ゲートウェイマシン上の他のＳＲには影響を与えない。
【０１８３】
[00234]  他のＳＲ２１２０及び２１３０は、見つからないハートビートを失ったためにＳＲ２１２５の停止を検出したため、停止したＳＲの責務を引き継ぐ。通常、全てのＳＲは、自身のサウスバウントインタフェースと、他のＳＲのサウスバウンドインタフェースとのＩＰアドレスの情報を格納する。すなわち、ＳＲ２１２０は、ＳＲと接続する通過論理スイッチへの自身のインタフェースと、ＳＲ２１２５及びＳＲ２１３０の対応するインタフェースについての情報を格納する。しかしながら、ＳＲ２１２０は通常、自身のインタフェースに対するＡＲＰリクエストに返答するのみである。
【０１８４】
[00235]  ＳＲのＶＭがクラッシュする場合、図２２に示すように、次に高いランクを付与され、まだ生きているＳＲが、停止したＳＲのサウスバウンドインタフェースのＩＰアドレスと、停止したＳＲが以前に引き継いだＩＰアドレスとを引き継ぐ責務を有する。例えば、ＳＲ３  ２１３０が以前にクラッシュしていた場合、そのサウスバウンドインタフェースはＳＲ２  ２１２５によって引き継がれる。従って、図２２は、現在ＳＲ２１２０がＳＲ１及びＳＲ２として振る舞っていることを示している。論理ネットワークがノースバウンドパケットをＥＣＭＰ原理を用いてフォワードすると想定した場合、ホストマシン２１５０−２１５５は、ＳＲ２１２０−２１３０がゲートウェイ２１０５上のＶＭに属す（例えばそのＶＭのＭＡＣアドレスに属す）論理ルータに対する、全てのノースバウンドトラフィックの３分の２をルーティングしなけらばならない。これは、ＳＲ１及びＳＲ２の両方のＩＰアドレスへフォワードされるパケットは、そのＭＡＣへルーティングされるからである。
【０１８５】
[00236]  ゲートウェイ２１０５上のＶＭがＳＲ２  ２１２５のＩＰアドレスを引き継ぐために、ＶＭは、このＩＰアドレスに対するＧＡＲＰメッセージ（及び、他の場合には引き継ぐ全てのＩＰアドレス）を、ＤＲ及びＳＲ２１２０−２１３０が接続する通過論理スイッチへ送信する。いくつかの実施形態では、メッセージが受信されたことをより確実にするために、ＶＭは複数のＧＡＲＰメッセージを送信する。ＭＦＥ２１３５は、これらのＧＡＲＰメッセージを受信し、ＭＦＥ２１４５（ＳＲ３  ２１３０への配送のため）と、様々なホスト２１５０−２１５５におけるＭＦＥ（ＤＲが、古いＳＲ２のＩＰとＭＡＣアドレスのマッピングがＡＲＰキャッシュから削除されたことを知るため）とへ、ＧＡＲＰメッセージを送信する。
【０１８６】
[00237]  アクティブ−スタンバイモードにおける２つのＳＲの場合（ＳＲがＴＬＲ、又はステートフルサービスが構成されたＰＬＲに属す場合）には、上述したようにいくつかの実施形態では、サウスバウンドインタフェースはＩＰアドレスを共有するが、異なるＭＡＣアドレスを有する。アクティブなＳＲのＶＭまでも停止しなくてもＶＭがバックアップを行う前提では、いくつかの実施形態では、スタンバイＶＭがクラッシュした場合には、管理プレーンは新たなスタンバイを開始させない。アクティブなＳＲのＶＭが停止した場合、スタンバイのＶＭは（ハートビートメッセージが受信されないので）その障害を識別し、そして、クラッシュしたＳＲのＭＡＣアドレスへのサウスバウンドのＩＰアドレスのマッピングを、ホストマシンのＭＦＥにおけるＤＲ用のＡＲＰテーブルから削除するために（これらのＭＦＥが古いアクティブＳＲよりむしろ新たなアクティブＳＲへパケットをルーティングするために）、ＧＡＲＰメッセージを生成する。いくつかの実施形態では、ホストマシン上のトンネリングプロトコルレイヤ（例えばＶＸＬＡＮレイヤ）も、新たなＭＡＣアドレスに対するＭＡＣ：ＶＴＥＰマッピングを学習し、同一のＩＰ及びＭＡＣアドレスが、アクティブ−スタンバイのＳＲのサウスバウンドインタフェースに用いられ、いくつかの実施形態は、逆ＡＲＰ（Reverse ARP）（ＲＡＲＰ）を用いて、ホストマシンＭＦＥにおいてＭＡＣ：ＶＴＥＰマッピングをリフレッシュする（すなわち、パケットが現在のトンネルを介して新たなアクティブＳＲへ送信される）。
【０１８７】
[00238]  最後に、スタンバイ（現在はアクティブ）ＶＭがＰＬＲのためのＳＲとして動作する場合、物理外部ルータへ経路のアドバタイズメントを開始する。停止したＳＲを有するゲートウェイマシン上のＢＧＰプロセスが、ＳＲとともにＶＭの外で動作する場合、いくつかの実施形態では、そのゲートウェイマシンのローカルコントロールプレーンは、ゲートウェイマシンが停止したＳＲに対して入るトラフィックを引き寄せないように、ＢＧＰプロセスが経路のアドバタイズを継続することも停止させる。
【０１８８】
[00239]  ２．完全なトンネルの障害
[00240]  完全なトンネルの障害は、ゲートウェイマシンのクラッシュによって、問題を有するゲートウェイマシン上のＭＦＥ、若しくはｐＮＩＣ又は物理ネットワークの問題によって発生し得る。完全なトンネルの障害が特定のゲートウェイマシン上で発生する場合、（ｉ）ユーザＶＭを有するホストマシンにおける全てのＭＦＥ又はゲートウェイマシンは、特定のゲートウェイマシンへのトンネルを失い、（ｉｉ）他のゲートウェイマシン上のＳＲは、特定のゲートウェイマシン上のＳＲが停止したことを判定し、そして（ｉｉｉ）  特定のゲートウェイマシン上のＳＲは、他のゲートウェイマシン上のＳＲが停止したことを判定する。いくつかの実施形態では、特定のゲートウェイマシンがもはやハートビートメッセージをあらゆるトンネルで受信しない場合、特定のゲートウェイマシン上のロジックは、そのトンネルの接続性が失われ、他のＶＭはそうではないと判定する。
【０１８９】
[00241]  図２３は、ＳＲ３  ２１３０をホストするゲートウェイマシン上のＭＦＥ２１４５における、完全なトンネルの障害の結果を概念的に示す。示すように、ＭＦＥ２１４５は、このＭＦＥから他のゲートウェイマシンへのトンネルとホストマシンとがダウンする（点線によって示される）ように停止する。結果として、同一のＰＬＲに属す（アクティブ−アクティブモードで構成された）他のＳＲは、フェイルオーバー処理を開始して、停止したＳＲ２１３０のサウスバウンドインタフェースのＩＰアドレスを引き継ぐ。
【０１９０】
[00242]  いくつかの実施形態では、次に高いランクを付与された、まだ生きているＳＲが、停止したＳＲのサウスバウンドインタフェースのＩＰアドレスと、停止したＳＲが以前に引き継いだＩＰアドレスとを引き継ぐ責務を有する。従って、図２３は、ＳＲ２１２５のためのＶＭがＳＲ２及びSR３として現在振る舞っていることを示している。論理ネットワークがノースバウンドパケットをＥＣＭＰ原理を用いてフォワードすると想定した場合、ホストマシン２１５０−２１５５は、ＳＲ２１２０−２１３０がゲートウェイ２１１０上のＶＭに属す（例えばそのＶＭのＭＡＣアドレスに属す）論理ルータに対する、全てのノースバウンドトラフィックの３分の２をルーティングしなければならない。これは、ＳＲ２及びＳＲ３の両方のＩＰアドレスへフォワードされるパケットは、そのＭＡＣへルーティングされるからである。
【０１９１】
[00243]  ゲートウェイ２１１０上のＶＭがＳＲ３  ２１３０のＩＰアドレスを引き継ぐために、ＶＭは、このＩＰアドレスに対するＧＡＲＰメッセージ（及び、他の場合には引き継ぐ全てのＩＰアドレス）を、ＤＲ及びＳＲ２１２０−２１３０が接続する通過論理スイッチへ送信する。いくつかの実施形態では、メッセージが受信されたことをより確実にするために、ＶＭは複数のＧＡＲＰメッセージを送信する。ＭＦＥ２１４０は、これらのＧＡＲＰメッセージを受信し、ＭＦＥ２１３５（ＳＲ１  ２１２０への配送のため）と、様々なホスト２１５０−２１５５におけるＭＦＥ（ＤＲが、古いＳＲ２のＩＰとＭＡＣアドレスのマッピングがＡＲＰキャッシュから削除されたことを知るため）とへ、ＧＡＲＰメッセージを送信する。
【０１９２】
[00244]  アクティブ−スタンバイモードにおける２つのＳＲの場合（ＳＲがＴＬＲ、又はステートフルサービスが構成されたＰＬＲに属す場合）には、いくつかの実施形態では、サウスバウンドインタフェースはＩＰアドレスを共有するが、異なるＭＡＣアドレスを有する。スタンバイＳＲを有するゲートウェイマシンからのトンネルが停止した場合、いくつかの実施形態では、管理プレーンは新たなスタンバイＳＲを開始させない。しかしながら、アクティブＳＲを有するゲートウェイマシンからのトンネルが停止した場合、スタンバイのＶＭは（アクティブなＳＲからハートビートメッセージが受信されないので）その障害を識別し、そして、停止したＳＲのＭＡＣアドレスへのサウスバウンドのＩＰアドレスのマッピングを、ホストマシンのＭＦＥにおけるＤＲ用のＡＲＰテーブルから削除するために（これらのＭＦＥが古いアクティブＳＲよりむしろ新たなアクティブＳＲへパケットをルーティングするために）、ＧＡＲＰメッセージを生成する。いくつかの実施形態では、ホストマシン上のトンネリングプロトコルレイヤ（例えばＶＸＬＡＮレイヤ）もまた新たなＭＡＣアドレスのためのＭＡＣ：ＶＴＥＰマッピングを学習する。最後に、スタンバイ（現在はアクティブ）ＶＭがＰＬＲのためのＳＲとして動作する場合、物理外部ルータへ経路のアドバタイズメントを開始する。更に、いくつかの実施形態では、停止したトンネルを有するゲートウェイマシンは、自身のＢＧＰプロセスが経路のアドバタイズを継続することを停止させる。
【０１９３】
[00245]  ３．部分的なトンネルの障害
[00246]  部分的なトンネルの障害は、ゲートウェイマシンとデータセンタ内の他のマシンとの間のいくつかのトンネルのみがダウンした場合に生じる。これは、特定のゲートウェイマシンへのトンネルを有するマシンの１つにおける（１つのトンネルの消失の結果として生じる）完全な障害、そのトンネルのいくつかのダウンの結果として生じる特定のゲートウェイマシンにおける条件、等によるものであり得る。ここで説明されるのは、特定のゲートウェイマシンにおける条件がそのトンネルのサブセットが停止した結果として生じる場合である。結果として、（ｉ）ユーザＶＭを有するホストマシンにおけるいくつかのＭＦＥは、特定のゲートウェイマシンへのトンネルを失い、（ｉｉ）いくつかの他のゲートウェイマシンは、特定のゲートウェイマシンへのトンネルを失い、そして（ｉｉｉ）  特定のゲートウェイマシンは、他のゲートウェイマシンへのトンネルを失う。
【０１９４】
[00247]  特定のゲートウェイマシンへのトンネルを失ったホストマシンにおけるＭＦＥは、ホストマシンの観点からこれは単に到達できないゲートウェイであるため、完全なトンネルの障害の場合と同一の方法でこれを扱う。そういうものとして、ホストマシン上のデータパス又はシャーシコントローラは、次ホップのＩＰアドレスとしての特定のゲートウェイマシン上のＳＲを用いる影響を受けた経路を、ＤＲのＦＩＢから自動的に削除する。
【０１９５】
[00248]  言及したように、部分的なトンネルの障害は、様々な異なるシナリオの結果として生じ得る。例えば、いくつかの場合、ゲートウェイマシンは、いくつかのホストマシンのＭＦＥによって到達可能であり得るが、それ自身のピアによっては到達可能ではない。例として、図１３を参照すると、ゲートウェイマシン１３３０に、ホストマシン１３０５‐１３２０によって到達可能であるが、ゲートウェイ１３３５及び１３４０によっては到達可能でない。この場合、ゲートウェイマシン１３３０上のローカルのシャーシコントローラは、両方のゲートウェイマシン１３３５及び１３４０上で動作しているＰＬＲのＳＲを引き継ぐ。更に、ゲートウェイマシン１３３５（又は、ランキングに応じて、マシン１３４０）が、ゲートウェイマシン１３３０上で動作するＳＲを引き継ぐ。これは、ゲートウェイマシン上で動作するＤＲが、第１のゲートウェイマシン１３３０上でホストされるＳＲのサウスバウンドのＩＰアドレスに対するＡＲＰリクエストを送信した場合、（ゲートウェイマシンの全てに到達することができる）ＭＦＥのいくつかが複数のゲートウェイマシンから返信を受信する結果をもたらす。ＳＲがアクティブ−アクティブ構成（ステートフルサービスを有しない）である限り、これは正当性問題を生じさせない。しかしながら、アクティブ−スタンバイ構成の場合には、ＳＲの両方が今やアクティブであることを意味し得、これはトラフィックの途絶問題を引き起こし得る。
【０１９６】
[00249]  特定のゲートウェイマシンにおいて、ホストマシンのいくつかへのトンネルがダウンするが、ピアのゲートウェイマシンは到達可能のままである場合、部分的なトンネルの障害は、アクティブ−スタンバイモードにおいても問題を生じ得る。この場合、ＳＲ間のトンネルが機能しているため、フェイルオーバーは発生しない。アクティブ−アクティブモードでは、ホストマシン（又はローカルシャーシコントローラ）におけるデータパスは、問題なく依然として動作しているトンネルを介してトラフィックをフォワードするための決定を行うことができる。しかしながら、アクティブ−スタンバイモードでは、アクティブなＳＲへのトンネルがダウンしている場合、ＭＦＥは、パケットを処理しないスタンバイのＳＲへパケットを送信する。同様に、アクティブ−アクティブ及びアクティブ−スタンバイ構成の両方において、ゲートウェイマシンは、物理ルータからのサウスバウンドトラフィックを通過させることができず、従っていくつかの実施形態ではブラックホールされる。
【０１９７】
[00250]  ４．  ｖＮＩＣへの物理ルータのダウン
[00251]  いくつかの実施形態では、ＳＲが動作する各ＶＭは、物理ルータにパケットを送信しそこから受信するＭＦＥと接続（ＳＲがＰＬＲに属す場合）するための第１のｖＮＩＣ、そのピアへハートビートメッセージを送信する第２のｖＮＩＣ、及び、論理ネットワークにパケットを送信しそこから受信する第３のｖＮＩＣとを用いる。いくつかの実施形態では、いくつか又は全てのこれらのｖＮＩＣは同一であり得る。例えば、ＳＲは、ハートビートメッセージを送信し、物理ルータと通信し、又はハートビートメッセージを送信し且つ論理ネットワークと通信するために、同一のｖＮＩＣを用いる。
【０１９８】
[00252]  何等かの理由により、ＶＭが（物理ルータとの）第１のｖＮＩＣを失った場合、いくつかの実施形態では、ＳＲはハートビートメッセージの送信を停止する。そういうものとして、一度、ＰＬＲのための他のＳＲをホストするそのピアのＶＭが、ＳＲからのハートビートメッセージが停止したことを検出すると、これらは、ＶＭがクラッシュしたように、サブセクション１において上述したように、フェイルオーバーのアクションを行う。ＶＭが（ハートビートメッセージのための）第２のｖＮＩＣを失った場合、ピアのＶＭは、ハートビートメッセージが来ないことを検出し、停止したＳＲのＩＰアドレスの制御をとるための同一のフェイルオーバーのアクションを行う。最後に、ＶＭが（論理ネットワークのトラフィックのための）第３のｖＮＩＣを失った場合、ハートビートメッセージにおいて状況が示され、ピアが同一のフェイルオーバーの手続きをとることができる。
【０１９９】
[00253]  ５．ＢＧＰ  セッションダウン
[00254]  いくつかの場合、（例えばゲートウェイマシン上のＭＳＲプロセスがクラッシュするために）ＳＲのためのＢＧＰセッションがダウンする。ＢＧＰプロセスのために適切な再スタートが可能である場合、適切な再スタートのために設定されたタイムアウト期間以内にセッションが再確立される限り、フェイルオーバーのアクションをとる必要はない。ＭＳＲプロセス（又は他のＢＧＰモジュール）がいつダウンしたかを検出できるようにするため、いくつかの実施形態は、たとえ状態が変化しなかったとしても、定期的にＢＧＰセッションの全ての状態をリフレッシュするためのプロセスを必要とする。
【０２００】
[00255]  一方、適切な再スタートが可能でない、又は再スタートのためのタイムアウト期間が経過した場合、ゲートウェイマシンは、ＳＲがもはや機能性を有していないことを示すためにハートビートメッセージを用いる（例えば、ハートビートメッセージを停止することにより）。ピアのＳＲの観点から、ＢＧＰ機能を有しないＳＲはダウンしたものとして扱われ、上記フェイルオーバーの手順が適用される。
【０２０１】
[00256]  Ｃ．フェイルオーバー処理
[00257]  図２４は、ピアＳＲのファイオーバーの場合にＳＲによって実行される処理２４００を概念的に示す。様々な実施形態では、この処理は、（ＶＭ又はＤＰＤＫベースのデータパス内のＶＲＦのいずれかのための）ＳＲのゲートウェイマシン上で動作するローカルコントロールプレーン、ＳＲ自身（エッジＶＭとして実施される場合）、又はデータパス（ＤＰＤＫベースのデータパス内のＶＲＦとして実施される場合）のいずれかによって実行され得る。すなわち、処理の実施は異なる種別で異なり得るが、処理２４００の動作はＳＲの説明された両方の種別に適合する。
【０２０２】
[00258]  図示するように、処理２４００はピアのＳＲが停止したことを判定する（２４０５において）ことによって開始する。前のサブセクションにおいて示すように、ＳＲは様々な理由、異なる許容能力で停止し得る。例えば、論理ネットワークの通信を可能にするデータセンタ内のトンネル接続性がダウンし、外部の物理ネットワークと通信するＳＲの能力が利用不可能になり、ＳＲを実施するＶＭがクラッシュし（ＳＲがそのようなものとして実施される場合）、データパスがクラッシュし、ＳＲをホストするゲートウェイマシンの全体がクラッシュしたり、等する。いくつかの場合（例えばゲートウェイマシンからのトンネル接続性の全てがダウンし、データパスがクラッシュする、等）には、ゲートウェイマシン上のＳＲの全てが停止したものと考慮され、これらの様々なピアが処理２４００又は類似の処理を実行することが理解されるべきである。
【０２０３】
[00259]  ピアＳＲが停止したと判定された場合、処理２４００は（２４１０において）停止したピアを引き継ぐかを判定する。例えば、停止したピアがアクティブ−スタンバイ構成においてスタンバイＳＲである場合、アクティブＳＲは何らアクションをとる必要はない。更に、アクティブ−アクティブ構成については、１つのピアＳＲのみが停止したＳＲを引き継ぐ必要がある。上述したように、停止した特定のＳＲをどのＳＲが引き継ぐかは、ＳＲの生成時に管理プレーンによって割り当てられるランクに基づいて予め定められる。
【０２０４】
[00260]  ＳＲが停止したＳＲを引き継ぐ責務が無い場合、処理は終了する。そうでない場合、処理は（２４１５において）、現在は責務を有する停止したピアによって所有される、サウスバウンドＩＰアドレスを識別する。アクティブ−アクティブでは、アクティブ−スタンバイモードと比較して異なる状況であり得る。特に、アクティブ−スタンバイモードでは、２つのＳＲがサウスバウンドインタフェース上のＩＰアドレスを共有するため、ＳＲは単純に自身のＩＰアドレスでの動作を引き継ぐ。アクティブ−アクティブモードでは、全てのＳＲが異なるサウスバウンドのＩＰアドレスを有する。この場合、引き継ぐ側のＳＲは現在、停止したＳＲの元々割り当てられていたＩＰアドレスと、停止したＳＲが以前に引き継いだ責務（他のピアＳＲの障害による）についての、任意の追加的なサウスバウンドインタフェースのＩＰアドレスとに対する責務を有する。
【０２０５】
[00261]  サウスバウンドインタフェースの各ＩＰアドレスについて、処理２４００は（２４２０において）、ＳＲと、これらの論理ルータのＤＲと接続する通過論理スイッチへ１つ以上のＧＡＲＰ返信メッセージを送信する。ＧＡＲＰメッセージは、ＳＲの自身のサウスバウンドのＭＡＣアドレスを、現在サウスバウンドのＩＰアドレスと関連付けられている、又は動作２４１５において識別された複数のＩＰアドレスとして識別する。これは、識別されたＩＰアドレスへルーティングされるパケットを停止した送信先へ送信することを避けるため、通過論理スイッチ上の他の構成要素がこれらのＡＲＰキャッシュをクリアできるようにする。データセンタの至るところにある多数のゲートウェイマシンとホストマシン上で実施されたＤＲについては、様々なＭＦＥ上のＡＲＰキャッシュがクリアできるように、ＧＡＲＰ返信がこれらの多数のマシンにブロードキャストされる。
【０２０６】
[00262]  この処理は、処理を実行するＳＲ（又は、そのローカルコントローラシャーシが処理を実行するマシン上のＳＲ）が以前にＴＬＲのスタンバイＳＲであったかを（２４２５において）判定する。処理２４００は単に概念的なものであり、いくつかの実施形態において動作２４２５が、全てのＴＬＲのスタンバイＳＲ上でデフォルトで実施されるものであり、そして、特別な判定を行う必要がないことが理解されるべきである。停止したＳＲが、アクティブ−スタンバイ構成においてアクティブなＳＲであった場合、スタンバイＳＲは、以前には停止したＳＲへ送信されていたサウスバウンドのトラフィックを引き込む責務を有する。
【０２０７】
[00263]  従って、ＳＲが正式にＴＬＲのスタンバイＳＲであった場合、処理２４００は（２４３０において）、（いくつかの実施形態では、ＴＬＲのみが１つのアップリンクを許可されるので）共有する、停止したピアのノースバウンドのＩＰアドレスを識別する。処理は、次に（２４３０において）、ＳＲをＰＬＲのＤＲと接続する通過論理スイッチへ１つ以上のＧＡＲＰ返信メッセージを送信する。ＧＡＲＰメッセージは、ＳＲの自身のノースバウンドのＭＡＣアドレスを、ＴＬＲに対して構成されたアップリンクのＩＰアドレスと現在関連付けられているものとして識別する。これは、ＰＬＲのＤＲがＡＲＰキャッシュをクリアできるようにする（より具体的には、データセンタにわたってこのＤＲを実施する様々なＭＦＥがそれらのＡＲＰキャッシュをクリアできるようにする）。その後処理は終了する。
【０２０８】
[00264]  処理を実行するＳＲがＴＬＲのスタンバイＳＲでない場合、処理は（２４４０において）、ＳＲが以前にＰＬＲのスタンバイＳＲであったかを判定する。再び、いくつかの実施形態では、ＳＲ又は処理２４００を実行するローカルコントローラシャーシによる特別な判定は現になされない、ことが理解されるべきである。このＳＲがＰＬＲのためのスタンバイＳＲであった場合、ＳＲは、その外部物理ルータへのプレフィックスのアドバタイズを（２４４５において）開始する。アクティブ−アクティブの場合には、ＳＲは、ＥＣＭＰトラフィックを引き込むために、既にこれらのプレフィックスをアドバタイズしている。しかしながら、アクティブ−スタンバイ構成の場合、スタンバイはプレフィックスをアドバタイズせず、代わりに外部ルータからの経路を受信するだけである。しかしながら、サウスバウンドトラフィックを引き込むために、新たなアクティブ（以前はスタンバイ）ＳＲはプレフィックスのアドバタイズを開始する。その後処理は終了する。
【０２０９】
[00265]  VＩＩ．電子システム
[00266]  上述の多くの特徴及び適用例は、コンピュータで読み出し可能な記録媒体（コンピュータで読み出し可能な媒体としても参照される）上に記録された命令の組として特定されるソフトウェア処理として実施され得る。これらのプログラムの命令が１つ以上の処理ユニットによって実行される場合（例えば、１つ以上のプロセッサ、プロセッサのコア、又は他の処理ユニット）、これらのプログラムの命令は、命令に示されているアクションを（複数の）処理ユニットに実行させる。コンピュータで読み出し可能なメディアの例は、これに限定されないが、ＣＤ−ＲＯＭ、フラッシュドライブ、ＲＡＭチップ、ハードドライブ、ＥＰＲＯＭ等を含む。コンピュータで読み出し可能なメディアは、キャリア波及び、無線又は有線接続を通過する電子信号を含まない。
【０２１０】
[00267]  本明細書では、「ソフトウェア」の語は、読出専用メモリにあるファームウェア、又は磁気記録に格納されたアプリケーションを含み、プロセッサによる処理のためにメモリに読み込むことができる。また、いくつかの実施形態では、複数のソフトウェア発明は、個別のソフトウェア発明を維持する一方で、より大きなプログラムのサブ部分として実施されてもよい。いくつかの実施形態では、複数のソフトウェア発明はまた、個別のプログラムとして実施されてもよい。最後に、ここで説明されるソフトウェア発明をともに実施する個別のプログラムの任意の組み合わせは、発明の範囲内である。いくつかの実施形態では、ソフトウェアプログラムが、１以上の電子システムを動作させるためにインストールされる場合、１以上の特定の機械的実施を定義し、ソフトウェアプログラムの動作を実行する。
【０２１１】
[00268]  図２５は、本発明のいくつかの実施形態が実施される電子システム２５００を概念的に示す。電子システム２５００は、上述した任意のコントロール、仮想化、又はオペレーティングシステムアプリケーションを実行するために用いることができる。電子システム２５００は、コンピュータ（例えば、デスクトップコンピュータ、パーソナルコンピュータ、タブレットコンピュータ、サーバコンピュータ、メインフレーム、ブレードコンピュータ等）、電話、ＰＤＡ、又は任意の他の種類の電子デバイスであり得る。そのような電子システムは、様々な種別のコンピュータで読み出し可能なメディア、及び様々な他の種別のコンピュータで読み出し可能なメディアに対するインタフェースを含む。電子システム２５００は、バス２５０５、処理ユニット２５１０、システムメモリ２５２５、読出専用メモリ２５３０、永続的ストレージデバイス２５３５、入力デバイス２５４０、及び出力デバイス２５４５を含む。
【０２１２】
[00269]  バス２５０５は、電子システム２５００の多くの内部デバイスを通信可能に接続する、全てのシステムバス、周辺バス、及びチップセットバスを集約的に表す。例えば、バス２５０５は、処理ユニット２５１０を、読出専用メモリ２５３０、システムメモリ２５２５、及び永続的ストレージデバイス２５３５に通信可能に接続する。
【０２１３】
[00270]  処理ユニット２５１０は、本発明の処理を実行するために、これらの様々なメモリユニットから実行する命令及び処理するデータを検索する。処理ユニットは、異なる実施形態において単一のプロセッサ又はマルチコアプロセッサであり得る。
【０２１４】
[00271]  読出専用メモリ（ＲＯＭ）２５３０は、処理ユニット２５１０及び電子システムの他のモジュールによって必要とされる静的データ及び命令を記録する。永続的ストレージデバイス２５３５は、一方で、読出・書込メモリデバイスである。このデバイスは、電子システム２５００がオフの場合であっても命令及びデータを記録する不揮発性メモリユニットである。本発明のいくつかの実施形態は、（磁気又は光学ディスク、及び対応するディスクドライブなどの）マスストレージデバイスを永続的ストレージデバイス２５３５として用いる。
【０２１５】
[00272]  他の実施形態は、（フロッピーディスク、フラッシュドライブ等のような）取り外し可能なストレージデバイスを永続的ストレージデバイスとして用いる。永続的ストレージデバイス２５３５のように、システムメモリ２５２５は、読出・書込メモリデバイスである。しかしながら、ストレージデバイス２５３５とは異なり、システムメモリは、ランダムアクセスメモリのような揮発性の読出・書込メモリである。システムメモリは、プロセッサがランタイムにおいて必要とする、いくつかの又は全ての命令及びデータを格納し得る。いくつかの実施形態では、本発明の処理は、システムメモリ２５２５、永続的ストレージデバイス２５３５、及び／又は読出専用メモリ２５３０に記録される。処理ユニット２５１０は、いくつかの実施形態の処理を実行するために、これらの様々なメモリユニットから実行する命令及び処理するデータを検索する。
【０２１６】
[00273]  バス２５０５はまた、入力デバイス２５４０と出力デバイス２５４５に接続する。入力デバイスは、ユーザが情報を通信し、電子システムへのコマンドを選択できるようにする。入力デバイス２５４０は、アルファベット表記のキーボードとポインティングデバイス（「カーソル制御デバイス」ともいわれる）とを含む。出力デバイス２５４５は、電子システムによって生成された画像を表示する。出力デバイスはプリンタ、真空管（ＣＲＴ）又は液晶ディスプレイ（ＬＣＤ）などの表示デバイスを含む。いくつかの実施形態は、入力及び出力デバイスの両方として機能するタッチスクリーンのようなデバイスを含む。
【０２１７】
[00274]  最後に、図２５に示すように、バス２５０５はまた、電子システム２５００をネットワークアダプタ（不図示）を介してネットワーク２５６５に接続する。このようにして、コンピュータは、（ローカルエリアネットワーク（「ＬＡＮ」）、ワイドエリアネットワーク（「ＷＡＮ」）、イントラネット、インターネットなどのネットワークのネットワーク、などのコンピュータのネットワークの一部になることができる。電子システム２５００の任意又は全ての構成要素は、本発明に関連して用いられ得る。
【０２１８】
[00275]  いくつかの実施形態は、マイクロプロセッサ、コンピュータプログラムの命令を機械で読み出し可能な又はコンピュータで読み出し可能な媒体（或いはコンピュータで読み出し可能なストレージメディア、機械で読み出し可能な媒体、又は機械で読み出し可能なストレージメディアとして参照される）に格納した、ストレージ及びメモリのような電子構成要素を含む。コンピュータで読み出し可能な媒体のいくつかの例は、ＲＡＭ、ＲＯＭ、読出専用コンパクトディスク（ＣＤ−ＲＯＭ）、記録可能コンパクトディスク（ＣＤ−Ｒ）、再書込可能コンパクトディスク（ＣＤ−ＲＷ）、読出専用デジタル多用途ディスク（例えばＤＶＤ−ＲＯＭ、デュアルレイヤＤＶＤ−ＲＯＭ）、様々な記録可能／再書込可能ＤＶＤ（ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ等）、フラッシュメモリ（例えばＳＤカード、ミニＳＤカード、マイクロＳＤカード等）、磁気及び／又はソリッドステートハードドライブ、読出専用及び記録可能Ｂｌｕ−Ｒａｙ（登録商標）ディスク、超高密度光ディスク、任意の他の光又は磁気メディア、及びフロッピーディスクを含む。コンピュータで読み出し可能な媒体は、少なくとも１つの処理ユニットによって実行可能であり、様々な動作を実行するための命令の組を含む、コンピュータプログラムを記録する。コンピュータプログラム又はコンピュータコードの例は、コンパイラによって生成されたような機械コードと、コンピュータ、電子構成要素、又はインタプリタを用いるマイクロプロセッサによって実行される、より高レベルなコードを含んだファイルとを含む。
【０２１９】
[00267]  上述の説明は、ソフトウェアを実行するマイクロプロセッサ又はマルチコアプロセッサを主に参照したが、いくつかの実施形態は、特定用途向け集積回路（ＡＳＩＣ）又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ）のような、１つ以上の集積回路によって実行される。ある実施形態では、そのような集積回路は回路自体に格納された命令を実行する。
【０２２０】
[00277]  本明細書において使用されるように、「コンピュータ」、「サーバ」、「プロセッサ」及び「メモリ」の語は、全て電子的又は他の技術的デバイスを参照する。これらの語は、人及び人のグループを含まない。本明細書の目的のため、表示及び表示するのは電子デバイス上に表示することを意味する。本明細書において使用されるように、「コンピュータで読み出し可能な媒体」、「コンピュータで読み出し可能なメディア」及び「機械で読み出し可能な媒体」の語は、全体として、コンピュータによって読み出し可能な形式の情報を記録する、有体物、物理的なオブジェクトに制限される。これらの語は、任意の無線信号、有線でダウンロードされた信号、及び任意の他のその場限りの信号を含まない。
【０２２１】
[00278]  本明細書は、終始、仮想マシン（ＶＭ）を含む、計算環境及びネットワーク環境を参照している。しかしながら、仮想マシンは単なるデータ計算ノード（ＤＣＮ）又はデータ計算エンドノードの一例であり、アドレス可能なノードとしても参照される。ＤＣＮは、非仮想化物理ホスト、仮想マシン、ハイパーバイザや別のオペレーティングシステムを必要とすること無くホストオペレーティングシステム上で動作するコンテナ、及びハイパーバイザカーネルネットワークインタフェースモジュールを含み得る。
【０２２２】
[00279]  いくつかの実施形態では、ＶＭは、仮想化ソフトウェア（例えばハイパーバイザ、仮想マシンモニタ等）によって仮想化されたホストのリソースを用いて、ホスト上の自身のゲストオペレーティングシステムとともに動作する。テナント（すなわちＶＭのオーナー）は、どのアプリケーションをゲストオペレーティングシステム上で動作させるか選択することができる。一方、いくつかのコンテナは、ハイパーバイザ又は別のゲストオペレーティングシステムを必要とせずに、ホストオペレーティングシステム上で動作する構成物である。いくつかの実施形態では、ホストオペレーティングシステムはネームスペースを使用して、コンテナを互いに個別化し、従って、異なるコンテナ内で動作するアプリケーションの異なるグループの、オペレーティングシステムレベルのセグメンテーションを提供する。このセグメンテーションは、システムハードウェアを仮想化するハイパーバイザ仮想化環境で提供されるＶＭセグメンテーションと類似し、従って、異なるコンテナ内で動作するアプリケーションの異なるグループを個別化する、仮想化の形式としてみることができる。このようなコンテナはＶＭより軽量である。
【０２２３】
[00280]  いくつかの実施形態では、ハイパーバイザ・カーネル・ネットワーク・インタフェース・モジュールは、ハイパーバイザ・カーネル・ネットワーク・インタフェースを有するネットワークスタックと受信／送信スレッドを含む、非ＶＭ・ＤＣＮである。ハイパーバイザ・カーネル・ネットワーク・インタフェース・モジュールの一例は、ＶＭｗａｒｅ社のＥＳＸｉ（商標登録）ハイパーバイザの一部であるｖｍｋｎｉｃモジュールである。
【０２２４】
[00281]  本明細書はＶＭを参照したが、所与の例は、物理ホスト、ＶＭ、非ＶＭコンテナ、及びハイパーバイザ・カーネル・ネットワーク・インタフェース・モジュールを含む、任意の種別のＤＣＮであってよい。事実、ネットワークの例は、いくつかの実施形態では異なる種別のＤＣＮの組み合わせを含んでよい。
【０２２５】
[00282]  本発明は多数の特定の詳細を参照して説明されたが、当業者は、本発明が発明の思想から離れることのない他の特定の形式で実施可能であることを認識する。加えて、多数の図（図１１、１２及び１４を含む）は処理を概念的に示すものである。これらの処理の特定の動作は、図示及び説明された正確な順序で実行されないかもしれない。特定の動作は、１つの連続する動作の流れで実行されないかもしれず、異なる特定の動作が異なる実施形態において実行され得る。更に、処理はいくつかの副処理（sub-process）を用いて、又は大きなマクロ処理の部分として実施され得る。従って、当業者は、発明が上述の詳細に限定されず、むしろ添付の請求項の範囲によって定義されることを理解する。
【図１】
2018507635.tif 000003
【図２】
2018507635.tif 000004
【図３】
2018507635.tif 000005
【図４】
2018507635.tif 000006
【図５】
2018507635.tif 000007
【図６】
2018507635.tif 000008
【図７】
2018507635.tif 000009
【図８】
2018507635.tif 000010
【図９】
2018507635.tif 000011
【図１０】
2018507635.tif 000012
【図１１】
2018507635.tif 000013
【図１２】
2018507635.tif 000014
【図１３】
2018507635.tif 000015
【図１４Ａ】
2018507635.tif 000016
【図１４Ｂ】
2018507635.tif 000017
【図１５Ａ】
2018507635.tif 000018
【図１５Ｂ】
2018507635.tif 000019
【図１６Ａ】
2018507635.tif 000020
【図１６Ｂ】
2018507635.tif 000021
【図１７】
2018507635.tif 000022
【図１８】
2018507635.tif 000023
【図１９】
2018507635.tif 000024
【図２０】
2018507635.tif 000025
【図２１】
2018507635.tif 000026
【図２２】
2018507635.tif 000027
【図２３】
2018507635.tif 000028
【図２４】
2018507635.tif 000029
【図２５】
2018507635.tif 000030
【手続補正書】
【提出日】平成29年8月1日(2017.8.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワークにおいて論理ルータを実施する方法であって、前記方法は、
複数のネットワーク要素によって実施される論理ルータの定義を受信することと、
前記論理ルータに対する複数のルーティング構成要素を定義することであって、前記定義されたルーティング構成要素のそれぞれが別々の経路の組と別々の論理インタフェースの組とを含む、ことと、
前記ネットワークにおいて前記論理ルータの前記複数のルーティング構成要素を実施するために、前記複数のネットワーク要素を構成するデータを生成することとを含む、方法。
【請求項２】
請求項１に記載の方法であって、前記複数のルーティング構成要素は、１つの分散化ルーティング構成要素と、複数の集中化ルーティング構成要素とを含む、方法。
【請求項３】
請求項２に記載の方法であって、更に、前記分散化ルーティング構成要素と前記複数の集中化ルーティング構成要素との間のトラフィックを論理的に処理する論理スイッチを、自動的に定義することを含む、方法。
【請求項４】
請求項３に記載の方法であって、前記集中化ルーティング構成要素のそれぞれは、単一のネットワーク要素と前記分散化ルーティング構成要素とによって実施され、論理スイッチは、複数のネットワーク要素に跨って実施される、方法。
【請求項５】
請求項１に記載の方法であって、前記論理ルータの前記定義は、外部ネットワークと接続するための複数のインタフェースの仕様を含み、各インタフェースは、ネットワークアドレスとデータリンクアドレスとを含み、前記複数のルーティング構成要素を定義することは、
前記複数のインタフェースの第１の１つを第１のゲートウェイマシンへ割り当て、前記複数のインタフェースの第２の１つを第２のゲートウェイマシンへ割り当てることと、
前記第１のゲートウェイマシン上で実施する第１の集中化ルーティング構成要素と、前記第２のゲートウェイマシン上で実施する第２の集中化ルーティング構成要素とを定義することとを含む、方法。
【請求項６】
請求項５に記載の方法であって、
前記第１の集中化ルーティング構成要素を定義することは、（ｉ）前記第１のゲートウェイマシンに割り当てられた第１のインタフェースの構成詳細を用いて、前記第１の集中化ルーティング構成要素に対する前記第１のインタフェースを定義し、（ｉｉ）分散化ルーティング構成要素と通信するために用いられる前記第２の集中化ルーティング構成要素に対する第２のインタフェースを定義することを含み、
前記第２の集中化ルーティング構成要素を定義することは、（ｉ）前記第２のゲートウェイマシンに割り当てられた第２のインタフェースの構成詳細を用いて、前記第２の集中化ルーティング構成要素に対する第１のインタフェースを定義し、（ｉｉ）前記分散化ルーティング構成要素と通信するために用いられる前記第２の集中化ルーティング構成要素に対する第２のインタフェースを定義することを含む、方法。
【請求項７】
請求項６に記載の方法であって、前記第１の集中化ルーティング構成要素の前記第１のインタフェースに対するネットワークアドレスデータは、前記複数のインタフェースの前記第１の１つに対するネットワークアドレスデータに基づき、前記第１の集中化ルーティング構成要素の前記第２のインタフェースに対するネットワークアドレスデータは、前記論理ルータの前記定義の任意の構成詳細とは別に生成される、方法。
【請求項８】
請求項６に記載の方法であって、前記複数のルーティング構成要素を定義することは、更に、前記第１の集中化ルーティング構成要素の前記第２のインタフェースと、前記第２の集中化ルーティング構成要素の前記第２のインタフェースと、前記分散化ルーティング構成要素のインタフェースとの全てに接続するポートを有する論理スイッチを定義することを含む、方法。
【請求項９】
請求項６に記載の方法であって、前記第１の集中化ルーティング構成要素の前記第２のインタフェースと、前記第２の集中化ルーティング構成要素の前記第２のインタフェースとは、異なるネットワークアドレスと異なるデータリンクレイヤアドレスとを有する、方法。
【請求項１０】
請求項６に記載の方法であって、前記第１の集中化ルーティング構成要素の前記第２のインタフェースと、前記第２の集中化ルーティング構成要素の前記第２のインタフェースとは、同一のネットワークアドレスと異なるデータリンクレイヤアドレスとを有する、方法。
【請求項１１】
請求項１に記載の方法であって、前記論理ルータの前記定義は、アプリケーションプログラミングインタフェース（ＡＰＩ）を介して受信される、方法。
【請求項１２】
請求項１に記載の方法であって、前記論理ルータは第１の論理ルータであって、前記方法は、更に、前記第１の論理ルータのインタフェースに接続する第２の論理ルータの定義を受信することを含む、方法。
【請求項１３】
請求項１２に記載の方法であって、前記第１の論理ルータの前記定義は、外部ネットワークと通信するための複数のインタフェースを含み、前記第２の論理ルータは、前記第１の論理ルータを介してのみ前記外部ネットワークと通信する、方法。
【請求項１４】
請求項１３に記載の方法であって、更に、前記第２の論理ルータのために構成されたステートフルサービスが存在しない場合に、前記第２の論理ルータに対する単一の分散化ルーティング構成要素を定義することを含む、方法。
【請求項１５】
請求項１３に記載の方法であって、更に、ステートフルサービスが前記第２の論理ルータのために構成される場合に、（ｉ）分散化ルーティング構成要素と、（ｉｉ）前記第２の論理ルータに対する２つの集中化ルーティング構成要素とを定義することを含み、前記第２の論理ルータに対する、前記定義されたルーティング構成要素のそれぞれは、別々の経路の組と、別々の論理インタフェースの組とを含む、方法。
【請求項１６】
請求項１５に記載の方法であって、更に、前記２つの集中化ルーティング構成要素のそれぞれのインタフェースと、前記第１の論理ルータの前記分散化ルーティング構成要素の単一のインタフェースとに接続するポートを有する論理スイッチを定義することを含む、方法。
【請求項１７】
請求項１５に記載の方法であって、前記第２の論理ルータの前記２つの集中化ルーティング構成要素の第１は、アクティブとして指示され、前記第２の論理ルータの前記２つの集中化ルーティング構成要素の第２は、スタンバイとして指示され、前記第２の論理ルータの前記第１の集中化ルーティング構成要素は、ＡＲＰリクエストに応答し、前記第２の論理ルータの前記第２の集中化ルーティング構成要素はＡＲＰリクエストに返信しない。
【請求項１８】
請求項１に記載の方法であって、更に、前記生成されたデータを前記複数のネットワーク要素に分配することを含む、方法。
【請求項１９】
少なくとも１つの処理ユニットで実行されると、請求項１から１８のうちのいずれかに従う方法を実施するコンピュータプログラム。
【請求項２０】
電子デバイスであって、
処理ユニットの組と、
少なくとも１つの処理ユニットで実行されると、請求項１から１８のうちのいずれかに従う方法を実施するプログラムを格納する機械可読媒体と、を含む電子デバイス。
【国際調査報告】
2018507635.tif 000031
2018507635.tif 000032
2018507635.tif 000033
2018507635.tif 000034
2018507635.tif 000035