(57)【特許請求の範囲】
【請求項１】
仮想クラスタに適用される転送テーブル同期方法であって、前記仮想クラスタは、少なくとも第１のネットワークデバイスおよび第２のネットワークデバイスを含み、前記第１のネットワークデバイスは、データ転送パスを介して、前記第２のネットワークデバイスと通信し、前記第１のネットワークデバイスおよび前記第２のネットワークデバイスは、第１のリンクおよび第２のリンクをそれぞれ介して、マルチホーミングアクセスデバイスに接続され、前記第１のリンクおよび前記第２のリンクは、マルチシャーシリンクアグリゲーショングループ（MC-LAG）を形成し、且つ、
前記方法は、
前記第１のネットワークデバイスのデータプレーンによって、前記マルチホーミングアクセスデバイスによって送信された第１のパケットを受信し、前記第１のネットワークデバイスのコントロールプレーンによって配達されたパケット選択ルールに従って、前記第１のネットワークデバイス上の前記第１のパケットの入力ポートおよび前記第１のパケットを、前記第１のネットワークデバイスの前記コントロールプレーンに送信し、MC-LAG識別子を前記第１のパケットに追加して、第２のパケットを取得し、前記第２のパケットを、前記データ転送パスを介して、前記第２のネットワークデバイスのデータプレーンに送信するステップであって、前記MC-LAG識別子は、前記第１のネットワークデバイス上の前記第１のパケットの前記入力ポートは前記MC-LAGのメンバポートであることを示すために使用される、ステップと、
前記第１のネットワークデバイスの前記コントロールプレーンによって、前記第１のネットワークデバイス上の前記第１のパケットの前記入力ポートおよび前記第１のパケットに従って、転送エントリを生成し、前記転送エントリに従って、前記第１のネットワークデバイスの前記コントロールプレーン上の第１の転送テーブルを更新し、前記転送エントリを、前記第１のネットワークデバイスの前記データプレーンに送信するステップと、
前記第１のネットワークデバイスの前記データプレーンによって、前記第１のネットワークデバイスの前記コントロールプレーンによって送信された前記転送エントリを受信し、前記転送エントリに従って、前記第１のネットワークデバイスの前記データプレーン上の第２の転送テーブルを更新するステップとを含む、方法。
【請求項２】
前記第１のネットワークデバイスの前記データプレーンによって、MC-LAG識別子を前記第１のパケットに追加する前記ステップは、
前記第１のネットワークデバイスの前記データプレーンによって、前記第１のネットワークデバイス上の前記第１のパケットの前記入力ポートと、各MC-LAGのMC-LAG識別子と前記各MC-LAGのメンバポートとの間の対応関係を含む事前に構成されたMC-LAGテーブルとに従って、前記入力ポートに対応するMC-LAG識別子を取得し、取得された前記MC-LAG識別子を前記第１のパケットに追加するステップを含む、請求項１に記載の方法。
【請求項３】
前記第１のネットワークデバイスの前記データプレーンによって、前記第１のネットワークデバイス上の前記第１のパケットの入力ポートおよび前記第１のパケットを、前記第１のネットワークデバイスのコントロールプレーンに送信する前記ステップは、
前記第１のネットワークデバイスの前記データプレーンによって、前記第１のパケットが、前記第１のネットワークデバイスの前記コントロールプレーンによって配達されたパケット選択ルールに合致するかどうかを決定し、且つ、前記第１のパケットが、前記コントロールプレーンによって配達された前記パケット選択ルールに合致する場合、前記第１のネットワークデバイス上の前記第１のパケットの前記入力ポートおよび前記第１のパケットを、前記第１のネットワークデバイスの前記コントロールプレーンに送信するステップを含む、請求項１または２に記載の方法。
【請求項４】
仮想クラスタに適用される転送テーブル同期方法であって、前記仮想クラスタは、少なくとも第１のネットワークデバイスおよび第２のネットワークデバイスを含み、前記第１のネットワークデバイスは、データ転送パスを介して、前記第２のネットワークデバイスと通信し、前記第１のネットワークデバイスおよび前記第２のネットワークデバイスは、第１のリンクおよび第２のリンクをそれぞれ介して、マルチホーミングアクセスデバイスに接続され、前記第１のリンクおよび前記第２のリンクは、マルチシャーシリンクアグリゲーショングループ（MC-LAG）を形成し、且つ、
前記方法は、
前記第２のネットワークデバイスのデータプレーンによって、前記データ転送パスを介して、前記第１のネットワークデバイスのデータプレーンによって送信された第２のパケットを受信するステップであって、前記第２のパケットは、前記第１のネットワークデバイスが、前記マルチホーミングアクセスデバイスによって送信された第１のパケットにMC-LAG識別子を追加した後に生成され、前記MC-LAG識別子は、前記第１のネットワークデバイス上の前記第１のパケットの入力ポートは前記MC-LAGのメンバポートであることを示すために使用される、ステップと、
前記第２のネットワークデバイスの前記データプレーンによって、前記第２のパケットに従って、前記第１のパケットを取得するステップと、
前記第２のネットワークデバイスの前記データプレーンによって、前記第２のネットワークデバイス上の前記第１のパケットの入力ポートを決定し、決定された前記入力ポートおよび前記第１のパケットを、前記第２のネットワークデバイスのコントロールプレーンに送信するステップと、
前記第２のネットワークデバイスの前記コントロールプレーンによって、決定された前記入力ポートおよび前記第１のパケットに従って、転送エントリを生成し、前記転送エントリに従って、前記コントロールプレーン上の第１の転送テーブルを更新し、前記転送エントリを、前記第２のネットワークデバイスの前記データプレーンに送信するステップと、
前記第２のネットワークデバイスの前記データプレーンによって、前記第２のネットワークデバイスの前記コントロールプレーンによって送信された前記転送エントリを受信し、前記転送エントリに従って、前記第２のネットワークデバイスの前記データプレーン上の第２の転送テーブルを更新するステップとを含み、前記第２のパケットに従って、前記第１のパケットを取得する前記ステップは、
前記第２のネットワークデバイスの前記データプレーンによって、前記第２のパケットから前記MC-LAG識別子を削除して、前記第１のパケットを取得するステップを含む、方法。
【請求項５】
前記第２のネットワークデバイス上の前記第１のパケットの入力ポートを決定する前記ステップは、
前記第２のネットワークデバイスの前記データプレーンによって、前記第２のパケットに従って、前記MC-LAG識別子を取得し、各MC-LAGのMC-LAG識別子と前記各MC-LAGのメンバポートとの間の対応関係を含む事前に構成されたMC-LAGテーブルに従って、前記第２のネットワークデバイスの、前記MC-LAG識別子に対応するポートを取得し、取得された前記ポートを、前記第２のネットワークデバイス上の前記第１のパケットの前記入力ポートとして使用するステップを含む、請求項４に記載の方法。
【請求項６】
仮想クラスタに適用されるネットワークデバイスであって、前記仮想クラスタは、少なくとも前記ネットワークデバイスおよび別のネットワークデバイスを含み、前記ネットワークデバイスは、データ転送パスを介して、前記別のネットワークデバイスと通信し、前記ネットワークデバイスおよび前記別のネットワークデバイスは、第１のリンクおよび第２のリンクをそれぞれ介して、マルチホーミングアクセスデバイスに接続され、前記第１のリンクおよび前記第２のリンクは、マルチシャーシリンクアグリゲーショングループ（MC-LAG）を形成し、且つ、
前記ネットワークデバイスはコントロールプレーンおよびデータプレーンを含み、
前記データプレーンは、前記マルチホーミングアクセスデバイスによって送信された第１のパケットを受信し、前記コントロールプレーンによって配達されたパケット選択ルールに従って、前記ネットワークデバイス上の前記第１のパケットの入力ポートおよび前記第１のパケットを、前記コントロールプレーンに送信し、MC-LAG識別子を前記第１のパケットに追加して、第２のパケットを取得し、前記第２のパケットを、前記データ転送パスを介して、前記別のネットワークデバイスのデータプレーンに送信するように構成され、前記MC-LAG識別子は、前記ネットワークデバイス上の前記第１のパケットの前記入力ポートは前記MC-LAGのメンバポートであることを示すために使用され、
前記コントロールプレーンは、前記ネットワークデバイス上の前記第１のパケットの前記入力ポートおよび前記第１のパケットに従って、転送エントリを生成し、前記転送エントリに従って、前記コントロールプレーン上の第１の転送テーブルを更新し、前記転送エントリを、前記データプレーンに送信するように構成され、
前記データプレーンは、前記コントロールプレーンによって送信された前記転送エントリを受信し、前記転送エントリに従って、前記データプレーン上の第２の転送テーブルを更新するようにさらに構成される、ネットワークデバイス。
【請求項７】
前記MC-LAG識別子を前記第１のパケットに追加するとき、前記データプレーンは、具体的には、
前記ネットワークデバイス上の前記第１のパケットの前記入力ポートと、各MC-LAGのMC-LAG識別子と前記各MC-LAGのメンバポートとの間の対応関係を含む事前に構成されたMC-LAGテーブルとに従って、前記入力ポートに対応するMC-LAG識別子を取得し、取得された前記MC-LAG識別子を前記第１のパケットに追加するように構成される、請求項６に記載のネットワークデバイス。
【請求項８】
前記ネットワークデバイス上の前記第１のパケットの前記入力ポートおよび前記第１のパケットを、前記コントロールプレーンに送信するとき、前記データプレーンは、具体的には、
前記第１のパケットが、前記コントロールプレーンによって配達されたパケット選択ルールに合致するかどうかを決定し、且つ、前記第１のパケットが、前記コントロールプレーンによって配達された前記パケット選択ルールに合致する場合、前記ネットワークデバイス上の前記第１のパケットの前記入力ポートおよび前記第１のパケットを、前記コントロールプレーンに送信するように構成される、請求項６または７に記載のネットワークデバイス。
【請求項９】
仮想クラスタに適用されるネットワークデバイスであって、前記仮想クラスタは、少なくとも前記ネットワークデバイスおよび別のネットワークデバイスを含み、前記ネットワークデバイスは、データ転送パスを介して、前記別のネットワークデバイスと通信し、前記ネットワークデバイスおよび前記別のネットワークデバイスは、第１のリンクおよび第２のリンクをそれぞれ介して、マルチホーミングアクセスデバイスに接続され、前記第１のリンクおよび前記第２のリンクは、マルチシャーシリンクアグリゲーショングループ（MC-LAG）を形成し、且つ、
前記ネットワークデバイスはコントロールプレーンおよびデータプレーンを含み、
前記データプレーンは、前記データ転送パスを介して、前記別のネットワークデバイスのデータプレーンによって送信された第２のパケットを受信し、前記第２のパケットに従って、第１のパケットを取得し、前記ネットワークデバイス上の前記第１のパケットの入力ポートを決定し、決定された前記入力ポートおよび前記第１のパケットを、前記コントロールプレーンに送信するように構成され、前記第２のパケットは、前記別のネットワークデバイスが、前記マルチホーミングアクセスデバイスによって送信された前記第１のパケットにMC-LAG識別子を追加した後に生成され、前記MC-LAG識別子は、前記別のネットワークデバイス上の前記第１のパケットの入力ポートは前記MC-LAGのメンバポートであることを示すために使用され、
前記コントロールプレーンは、決定された前記入力ポートおよび前記第１のパケットに従って、転送エントリを生成し、前記転送エントリに従って、前記コントロールプレーン上の第１の転送テーブルを更新し、前記転送エントリを、前記データプレーンに送信するように構成され、
前記データプレーンは、前記コントロールプレーンによって送信された前記転送エントリを受信し、前記転送エントリに従って、前記データプレーン上の第２の転送テーブルを更新するようにさらに構成され、前記第２のパケットに従って、前記第１のパケットを取得するとき、前記データプレーンは、具体的には、前記第２のパケットから前記MC-LAG識別子を削除して、前記第１のパケットを取得するように構成される、ネットワークデバイス。
【請求項１０】
前記ネットワークデバイス上の前記第１のパケットの前記入力ポートを決定するとき、前記データプレーンは、具体的には、
前記第２のパケットに従って、前記MC-LAG識別子を取得し、各MC-LAGのMC-LAG識別子と前記各MC-LAGのメンバポートとの間の対応関係を含む事前に構成されたMC-LAGテーブルに従って、前記ネットワークデバイスの、前記MC-LAG識別子に対応するポートを取得し、取得された前記ポートを、前記ネットワークデバイス上の前記第１のパケットの前記入力ポートとして使用するように構成される、請求項９に記載のネットワークデバイス。
【請求項１１】
第１のネットワークデバイスおよび第２のネットワークデバイスを含む転送テーブル同期システムであって、
前記第１のネットワークデバイスは、請求項６乃至８のいずれか１項に記載の前記ネットワークデバイスであり、且つ、
前記第２のネットワークデバイスは、請求項９または１０に記載の前記ネットワークデバイスである、転送テーブル同期システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信分野に関し、詳細には、転送テーブル同期方法、ネットワークデバイスおよびシステムに関する。
【背景技術】
【０００２】
リンクアグリゲーショングループ（英語：Link Aggregation Group、略してLAG）は、リンクの帯域幅を増加させ、冗長のバックアップを提供し、リンクの信頼性を改善するために、複数のイーサネット（登録商標、以下同じ）リンクに基づく逆多重化（英語：inverse multiplexing）方法を使用することによって、１つのデバイスに接続される複数のリンクをバンドルすることによって取得される。リンクアグリゲーショングループにおける複数のリンクは、１つの論理リンクとしてみなされてよい。イーサネットネットワーク上で、各リンクはポートに対応する。従って、リンクアグリゲーションはまた、ポートアグリゲーションとも呼ばれる。リンクアグリゲーショングループにおける全てのポートは１つのMACアドレスを共有する。
【０００３】
マルチシャーシリンクアグリゲーショングループ（英語：Multi-Chassis Link Aggregation Group、略してMC-LAG）は、LAGによって提供されるリンクレベル冗長に加えて、デバイスレベル冗長をさらに提供するとともに、複数のネットワークデバイスが１つのマルチホーミングアクセスデバイスに接続されることを許可する。マルチホーミングアクセスデバイスのために、複数のネットワークデバイスは１つの論理LAGとして表される。MC-LAGに含まれる複数のネットワークデバイスは、スイッチ、ルータ等であってよい。マルチホーミングアクセスデバイスは、スイッチまたはルータ等のネットワークデバイスであってよく、または、サーバまたはホスト等の非ネットワークデバイスであってよい。
【０００４】
図１に示されるように、図１は、MC-LAGの概略構成図である。マルチホーミングアクセスデバイスは、仮想クラスタを使用することによってインターネットにアクセスする。仮想クラスタは少なくとも２つのネットワークデバイスを含み、且つ、図１は、ネットワークデバイスAおよびネットワークデバイスBを示す。少なくとも２つのネットワークデバイスをマルチホーミングアクセスデバイスにそれぞれ接続するリンクは、MC-LAGを形成する。マルチホーミングアクセスデバイスの観点からは、１つだけのリンク、すなわち、MC-LAGがある。少なくとも２つのネットワークデバイスは、負荷分散と相互バックアップの両方を実施することができる。負荷分散は、少なくとも２つのネットワークデバイスが、特定のルールに従って決定されたマルチホーミングアクセスデバイスのいくつかのトラフィックを別々に転送することを意味する。相互バックアップは、少なくとも２つのネットワークデバイスのうちのいずれか１つが故障したとき、中断されないユーザサービスを保証するために、故障したネットワークデバイス上のトラフィックは故障していない別のネットワークデバイスにリアルタイムで切り替えられることができることを意味する。
【０００５】
サービスフローを転送するために、サービスフローを転送するために使用される転送テーブルは、ネットワークデバイス上で生成される必要がある。図１に示されるように、転送テーブルは、メディアアクセス制御（英語：Media Access Control、略してMAC）アドレステーブル、アドレス解決プロトコル（英語：Address Resolution Protocol、略してARP）テーブル、マルチキャストテーブルまたはルーティングテーブルのうちの少なくとも１つを含んでよい。加えて、別の転送テーブルがさらにあってよい。少なくとも２つのネットワークデバイス上で負荷分散および相互バックアップを実施するために、少なくとも２つのネットワークデバイス上の転送テーブルは、一致している必要がある。一致は、２つのネットワークデバイス上の転送テーブルの各々は、マルチホーミングアクセスデバイス上の全てのサービスフローの転送エントリを含む必要があることを意味する。従って、少なくとも２つのネットワークデバイス間で、転送テーブルの同期が実行される必要がある。ネットワークデバイスのコントロールプレーンおよびデータプレーンが分離しているとき、各ネットワークデバイスのコントロールプレーンの転送テーブルは、ネットワークデバイスのデータプレーンの転送テーブルと一致している必要がある。
【０００６】
転送テーブルの一致を達成するために、従来技術で使用される方法は、少なくとも２つのネットワークデバイスのコントロールプレーン間の転送テーブルの同期を実行することである。次いで、少なくとも２つのネットワークデバイスのコントロールプレーンは、同期された転送テーブルを対応するデータプレーンにそれぞれ送信する。
【０００７】
研究中、発明者は、前述の方法では、転送テーブルの同期は、仮想クラスタにおける少なくとも２つのネットワークデバイスのコントロールプレーン間で、周期的にまたはリアルタイムで実行される必要があることを発見する。しかしながら、コントロールプレーン間で送信されるコントロールプロトコルパケットは、ソフトウェアの互換性のための要件を有し、すなわち、少なくとも２つのネットワークデバイスは、同じコントロールプロトコルを識別することを要求される。従って、ネットワークデバイスのソフトウェアバージョンがアップグレードされた後、別のネットワークデバイスのソフトウェアバージョンは対応してアップグレードされる必要があり、複雑な実施という結果をもたらす。加えて、少なくとも２つのネットワークデバイスのソフトウェアバージョンが同時にアップグレードされないとき、少なくとも２つのネットワークデバイス上の転送テーブルは一致せず、トラフィック転送エラーおよびユーザサービスの中断という結果をもたらす。
【発明の概要】
【課題を解決するための手段】
【０００８】
仮想クラスタにおけるネットワークデバイスのソフトウェアバージョンが同時にアップグレードされないため、転送テーブルが一致しないという従来技術の課題を解決するために、本発明は、転送テーブル同期方法、ネットワークデバイスおよびシステムを提供する。
【０００９】
本発明の第１の態様は、仮想クラスタに適用される転送テーブル同期方法を提供し、ここで、仮想クラスタは、少なくとも第１のネットワークデバイスおよび第２のネットワークデバイスを含み、第１のネットワークデバイスは、データ転送パスを介して、第２のネットワークデバイスと通信し、第１のネットワークデバイスおよび第２のネットワークデバイスは、第１のリンクおよび第２のリンクをそれぞれ介して、マルチホーミングアクセスデバイスに接続され、第１のリンクおよび第２のリンクは、マルチシャーシリンクアグリゲーショングループMC-LAGを形成し、且つ、方法は、
第１のネットワークデバイスのデータプレーンによって、マルチホーミングアクセスデバイスによって送信された第１のパケットを受信し、第１のネットワークデバイス上の第１のパケットの入力ポートおよび第１のパケットを、第１のネットワークデバイスのコントロールプレーンに送信し、MC-LAG識別子を第１のパケットに追加して、第２のパケットを取得し、第２のパケットを、データ転送パスを介して、第２のネットワークデバイスのデータプレーンに送信するステップであって、ここで、MC-LAG識別子は、第１のネットワークデバイス上の第１のパケットの入力ポートはMC-LAGのメンバポートであることを示すために使用される、ステップと、
第１のネットワークデバイスのコントロールプレーンによって、第１のネットワークデバイス上の第１のパケットの入力ポートおよび第１のパケットに従って、転送エントリを生成し、転送エントリに従って、第１のネットワークデバイスのコントロールプレーン上の第１の転送テーブルを更新し、転送エントリを、第１のネットワークデバイスのデータプレーンに送信するステップと、
第１のネットワークデバイスのデータプレーンによって、第１のネットワークデバイスのコントロールプレーンによって送信された転送エントリを受信し、転送エントリに従って、第１のネットワークデバイスのデータプレーン上の第２の転送テーブルを更新するステップとを含む。
【００１０】
第１の態様を参照すると、第１の態様の第１の実施方式では、第１のネットワークデバイスのデータプレーンによって、MC-LAG識別子を第１のパケットに追加するステップは、
第１のネットワークデバイスのデータプレーンによって、第１のネットワークデバイス上の第１のパケットの入力ポートと、各MC-LAGのMC-LAG識別子と各MC-LAGのメンバポートとの間の対応関係を含む事前に構成されたMC-LAGテーブルとに従って、入力ポートに対応するMC-LAG識別子を取得し、取得されたMC-LAG識別子を第１のパケットに追加するステップを含む。
【００１１】
第１の態様または第１の態様の第１の実施方式を参照すると、第１の態様の第２の実施方式では、第１のネットワークデバイスのデータプレーンによって、第１のネットワークデバイス上の第１のパケットの入力ポートおよび第１のパケットを、第１のネットワークデバイスのコントロールプレーンに送信するステップは、
第１のネットワークデバイスのデータプレーンによって、第１のパケットが、第１のネットワークデバイスのコントロールプレーンによって配達されたパケット選択ルールに合致するかどうかを決定し、且つ、第１のパケットが、コントロールプレーンによって配達されたパケット選択ルールに合致する場合、第１のネットワークデバイス上の第１のパケットの入力ポートおよび第１のパケットを、第１のネットワークデバイスのコントロールプレーンに送信するステップを含む。
【００１２】
本発明の第２の態様は、仮想クラスタに適用される別の転送テーブル同期方法を提供し、ここで、仮想クラスタは、少なくとも第１のネットワークデバイスおよび第２のネットワークデバイスを含み、第１のネットワークデバイスは、データ転送パスを介して、第２のネットワークデバイスと通信し、第１のネットワークデバイスおよび第２のネットワークデバイスは、第１のリンクおよび第２のリンクをそれぞれ介して、マルチホーミングアクセスデバイスに接続され、第１のリンクおよび第２のリンクは、マルチシャーシリンクアグリゲーショングループMC-LAGを形成し、且つ、方法は、
第２のネットワークデバイスのデータプレーンによって、データ転送パスを介して、第１のネットワークデバイスのデータプレーンによって送信された第２のパケットを受信するステップであって、ここで、第２のパケットは、第１のネットワークデバイスが、マルチホーミングアクセスデバイスによって送信された第１のパケットにMC-LAG識別子を追加した後に生成され、MC-LAG識別子は、第１のネットワークデバイス上の第１のパケットの入力ポートはMC-LAGのメンバポートであることを示すために使用される、ステップと、
第２のネットワークデバイスのデータプレーンによって、第２のパケットに従って、第１のパケットを取得するステップと、
第２のネットワークデバイスのデータプレーンによって、第２のネットワークデバイス上の第１のパケットの入力ポートを決定し、決定された入力ポートおよび第１のパケットを、第２のネットワークデバイスのコントロールプレーンに送信するステップと、
第２のネットワークデバイスのコントロールプレーンによって、決定された入力ポートおよび第１のパケットに従って、転送エントリを生成し、転送エントリに従って、コントロールプレーン上の第１の転送テーブルを更新し、転送エントリを、第２のネットワークデバイスのデータプレーンに送信するステップと、
第２のネットワークデバイスのデータプレーンによって、第２のネットワークデバイスのコントロールプレーンによって送信された転送エントリを受信し、転送エントリに従って、第２のネットワークデバイスのデータプレーン上の第２の転送テーブルを更新するステップとを含む。
【００１３】
第２の態様を参照すると、第２の態様の第１の実施方式では、第２のパケットに従って、第１のパケットを取得するステップは、
第２のネットワークデバイスのデータプレーンによって、第２のパケットからMC-LAG識別子を削除して、第１のパケットを取得するステップを含む。
【００１４】
第２の態様または第２の態様の第１の実施方式を参照すると、第２の態様の第２の実施方式では、第２のネットワークデバイス上の第１のパケットの入力ポートを決定するステップは、
第２のネットワークデバイスのデータプレーンによって、第２のパケットに従って、MC-LAG識別子を取得し、各MC-LAGのMC-LAG識別子と各MC-LAGのメンバポートとの間の対応関係を含む事前に構成されたMC-LAGテーブルに従って、第２のネットワークデバイスの、MC-LAG識別子に対応するポートを取得し、取得されたポートを、第２のネットワークデバイス上の第１のパケットの入力ポートとして使用するステップを含む。
【００１５】
本発明の第３の態様は、仮想クラスタに適用されるネットワークデバイスを提供し、ここで、仮想クラスタは、少なくともネットワークデバイスおよび別のネットワークデバイスを含み、ネットワークデバイスは、データ転送パスを介して、別のネットワークデバイスと通信し、ネットワークデバイスおよび別のネットワークデバイスは、第１のリンクおよび第２のリンクをそれぞれ介して、マルチホーミングアクセスデバイスに接続され、第１のリンクおよび第２のリンクは、マルチシャーシリンクアグリゲーショングループMC-LAGを形成し、且つ、
ネットワークデバイスはコントロールプレーンおよびデータプレーンを含み、ここで、
データプレーンは、マルチホーミングアクセスデバイスによって送信された第１のパケットを受信し、ネットワークデバイス上の第１のパケットの入力ポートおよび第１のパケットを、コントロールプレーンに送信し、MC-LAG識別子を第１のパケットに追加して、第２のパケットを取得し、第２のパケットを、データ転送パスを介して、別のネットワークデバイスのデータプレーンに送信するように構成され、ここで、MC-LAG識別子は、ネットワークデバイス上の第１のパケットの入力ポートはMC-LAGのメンバポートであることを示すために使用され、
コントロールプレーンは、ネットワークデバイス上の第１のパケットの入力ポートおよび第１のパケットに従って、転送エントリを生成し、転送エントリに従って、コントロールプレーン上の第１の転送テーブルを更新し、転送エントリを、データプレーンに送信するように構成され、
データプレーンは、コントロールプレーンによって送信された転送エントリを受信し、転送エントリに従って、データプレーン上の第２の転送テーブルを更新するようにさらに構成される。
【００１６】
第３の態様を参照すると、第３の態様の第１の実施方式では、MC-LAG識別子を第１のパケットに追加するとき、データプレーンは、具体的には、
ネットワークデバイス上の第１のパケットの入力ポートと、各MC-LAGのMC-LAG識別子と各MC-LAGのメンバポートとの間の対応関係を含む事前に構成されたMC-LAGテーブルとに従って、入力ポートに対応するMC-LAG識別子を取得し、取得されたMC-LAG識別子を第１のパケットに追加するように構成される。
【００１７】
第３の態様または第３の態様の第１の実施方式を参照すると、第３の態様の第２の実施方式では、ネットワークデバイス上の第１のパケットの入力ポートおよび第１のパケットを、コントロールプレーンに送信するとき、データプレーンは、具体的には、
第１のパケットが、コントロールプレーンによって配達されたパケット選択ルールに合致するかどうかを決定し、且つ、第１のパケットが、コントロールプレーンによって配達されたパケット選択ルールに合致する場合、ネットワークデバイス上の第１のパケットの入力ポートおよび第１のパケットを、コントロールプレーンに送信するように構成される。
【００１８】
本発明の第４の態様は、仮想クラスタに適用されるネットワークデバイスを提供し、ここで、仮想クラスタは、少なくともネットワークデバイスおよび別のネットワークデバイスを含み、ネットワークデバイスは、データ転送パスを介して、別のネットワークデバイスと通信し、ネットワークデバイスおよび別のネットワークデバイスは、第１のリンクおよび第２のリンクをそれぞれ介して、マルチホーミングアクセスデバイスに接続され、第１のリンクおよび第２のリンクは、マルチシャーシリンクアグリゲーショングループMC-LAGを形成し、且つ、
ネットワークデバイスはコントロールプレーンおよびデータプレーンを含み、ここで、
データプレーンは、データ転送パスを介して、別のネットワークデバイスのデータプレーンによって送信された第２のパケットを受信し、第２のパケットに従って、第１のパケットを取得し、ネットワークデバイス上の第１のパケットの入力ポートを決定し、決定された入力ポートおよび第１のパケットを、コントロールプレーンに送信するように構成され、ここで、第２のパケットは、別のネットワークデバイスが、マルチホーミングアクセスデバイスによって送信された第１のパケットにMC-LAG識別子を追加した後に生成され、MC-LAG識別子は、別のネットワークデバイス上の第１のパケットの入力ポートはMC-LAGのメンバポートであることを示すために使用され、
コントロールプレーンは、決定された入力ポートおよび第１のパケットに従って、転送エントリを生成し、転送エントリに従って、コントロールプレーン上の第１の転送テーブルを更新し、転送エントリを、データプレーンに送信するように構成され、
データプレーンは、コントロールプレーンによって送信された転送エントリを受信し、転送エントリに従って、データプレーン上の第２の転送テーブルを更新するようにさらに構成される。
【００１９】
第４の態様を参照すると、第４の態様の第１の実施方式では、第２のパケットに従って、第１のパケットを取得するとき、データプレーンは、具体的には、第２のパケットからMC-LAG識別子を削除して、第１のパケットを取得するように構成される。
【００２０】
第４の態様または第４の態様の第１の実施方式を参照すると、第４の態様の第２の実施方式では、ネットワークデバイス上の第１のパケットの入力ポートを決定するとき、データプレーンは、具体的には、
第２のパケットに従って、MC-LAG識別子を取得し、各MC-LAGのMC-LAG識別子と各MC-LAGのメンバポートとの間の対応関係を含む事前に構成されたMC-LAGテーブルに従って、ネットワークデバイスの、MC-LAG識別子に対応するポートを取得し、取得されたポートを、ネットワークデバイス上の第１のパケットの入力ポートとして使用するように構成される。
【００２１】
本発明の第５の態様は、転送テーブル同期システムを提供し、ここで、システムは、第１のネットワークデバイスおよび第２のネットワークデバイスを含み、第１のネットワークデバイスは、第３の態様、または第３の態様の第１または第２の実施方式に係るネットワークデバイスであり、且つ、第２のネットワークデバイスは、第４の態様、または第４の態様の第１または第２の実施方式に係るネットワークデバイスである。
【００２２】
本発明では、マルチホーミングアクセスデバイスによって送信された第１のパケットを受信した後、仮想クラスタにおける第１のネットワークデバイスのデータプレーンは、第１のパケットを、第１のネットワークデバイスのコントロールプレーンに送信し、MC-LAG識別子を第１のパケットに追加して、第２のパケットを取得し、第２のパケットを、データ転送パスを介して、仮想クラスタにおける第２のネットワークデバイスのデータプレーンに送信し、第２のネットワークデバイスのデータプレーンは、MC-LAG識別子を第２のパケットから削除して、第１のパケットを取得し、第２のネットワーク上の第１のパケットの入力ポートを決定し、決定された入力ポートおよび第１のパケットを、第２のネットワークデバイスのコントロールプレーンに送信し、第１のネットワークデバイスのコントロールプレーンは、第１のネットワークデバイス上の第１のパケットの入力ポートおよび第１のパケットに従って、転送エントリを生成し、第２のネットワークデバイスのコントロールプレーンは、決定された入力ポートおよび第１のパケットに従って、転送エントリを生成する。本発明の実施形態によると、複数のネットワークデバイス上の転送テーブルの一致が、仮想クラスタにおける複数のネットワークデバイス間のデータ転送パスを介して達成され、且つ、複数のネットワークデバイスは、同じソフトウェアバージョンをサポートする必要がなく、且つ、複数のネットワークデバイスのソフトウェアバージョンは、互いに互換性がある必要もまたない。このことは、複数のネットワークデバイスのソフトウェアバージョンが同時にアップグレードされないため、複数のネットワークデバイスの転送テーブルが一致しないという課題を回避することができるとともに、トラフィック転送エラーおよびユーザサービスの中断を回避することがさらにできる。
【図面の簡単な説明】
【００２３】
本発明の実施形態における、または従来技術における技術的解決手段をより明確に説明するために、以下では、実施形態または従来技術を説明するために必要とされる添付図面を簡潔に説明する。明らかに、以下の説明における添付図面は、本発明のいくつかの実施形態を示し、且つ、当業者は、創造的努力無しに、これらの添付図面から他の図面をさらに導出することができる。
【００２４】
【図１】図１は、従来技術におけるMC-LAGの概略構成図である。
【図２】図２は、本発明の実施形態に係る、転送テーブル同期システムの概略構成図である。
【図３】図３は、本発明の実施形態に係る、転送テーブル同期方法の概略フローチャートである。
【図４】図４は、本発明の実施形態に係る、別の転送テーブル同期方法の概略フローチャートである。
【図５】図５は、本発明の実施形態に係る、別の転送テーブル同期方法の概略シグナリング図である。
【図６】図６は、本発明の実施形態に係る、ネットワークデバイスの概略構成図である。
【図７】図７は、図６に示されるネットワークデバイスのハードウェアの概略構成図である。
【図８】図８は、本発明の実施形態に係る、別のネットワークデバイスの概略構成図である。
【図９】図９は、図８に示されるネットワークデバイスのハードウェアの概略構成図である。
【発明を実施するための形態】
【００２５】
本発明の実施形態の目的、技術的解決手段および利点をより明確にするために、以下では、本発明の実施形態における添付図面を参照して、本発明の実施形態における技術的解決手段を明確且つ完全に説明する。明らかに、説明される実施形態は、本発明の実施形態のいくつかであり全てではない。創造的努力無しに、本発明の実施形態に基づいて当業者によって取得される全ての他の実施形態は、本発明の保護範囲に包含されるべきである。
【００２６】
図２に示されるように、図２は、本発明の実施形態に係る、転送テーブル同期システムの概略構成図である。システムは、マルチホーミングアクセスデバイスおよび少なくとも２つのネットワークデバイスを含み、各ネットワークデバイスは、コントロールプレーンおよびデータプレーンを含む。少なくとも２つのネットワークデバイスは、第１のネットワークデバイスおよび第２のネットワークデバイスを含む。第１のネットワークデバイスおよび第２のネットワークデバイスは仮想クラスタを形成し、且つ、第１のネットワークデバイスおよび第２のネットワークデバイスは、１つの仮想メディアアクセス制御（MAC）アドレスおよび１つの仮想IPアドレスを共有する。第１のネットワークデバイスは、仮想クラスタにおける任意のネットワークデバイスであり、且つ、第２のネットワークデバイスは、第１のネットワークデバイスを除く、仮想クラスタにおけるネットワークデバイスである。第１のネットワークデバイスの第１のポートをマルチホーミングアクセスデバイスに接続する第１のリンク、および第２のネットワークデバイスの第２のポートをマルチホーミングアクセスデバイスに接続する第２のリンクは、MC-LAGを形成する。MC-LAGのMC-LAG識別子はMC-LAG1であり、且つ、第１のポートおよび第２のポートは、MC-LAG1のメンバポートである。マルチホーミングアクセスデバイスは、MC-LAG1を使用することによって、仮想クラスタと通信する。MC-LAGテーブルは、第１のネットワークデバイスと第２のネットワークデバイスの両方に対して事前に構成される。MC-LAGテーブルは、各MC-LAGのMC-LAG識別子と各MC-LAGのメンバポートとの間の対応関係を記憶するために使用される。図２に示される実施形態では、第１のネットワークデバイス上のMC-LAGテーブルおよび第２のネットワークデバイス上のMC-LAGテーブルの両方は、エントリ｛MC-LAG1, 第１のポート, 第２のポート｝を含む。第１のネットワークデバイスは、データ転送パスを介して、第２のネットワークデバイスと通信する。
【００２７】
図２に示されるシステムに基づくと、本発明の実施形態は、仮想クラスタに適用される転送テーブル同期方法を提供する。仮想クラスタは、少なくとも第１のネットワークデバイスおよび第２のネットワークデバイスを含み、第１のネットワークデバイスは、データ転送パスを介して、第２のネットワークデバイスと通信し、第１のネットワークデバイスおよび第２のネットワークデバイスは、第１のリンクおよび第２のリンクをそれぞれ介して、マルチホーミングアクセスデバイスに接続され、第１のリンクおよび第２のリンクは、マルチシャーシリンクアグリゲーショングループMC-LAGを形成する。図３に示されるように、方法は以下のステップを含む。
【００２８】
３０１．仮想クラスタにおける第１のネットワークデバイスのデータプレーンは、マルチホーミングアクセスデバイスによって送信された第１のパケットを受信する。
【００２９】
マルチホーミングアクセスデバイスがネットワークにアクセスする必要があるとき、マルチホーミングアクセスデバイスは、負荷分散ルールに従って、MC-LAGにおけるリンクを選択して、第１のパケットを仮想クラスタに送信する。本実施形態では、マルチホーミングアクセスデバイスによって選択されるリンクは、第１のネットワークデバイスをマルチホーミングアクセスデバイスに接続するリンクである。第１のパケットは、第１のネットワークデバイスをマルチホーミングアクセスデバイスに接続するリンクを介して、マルチホーミングアクセスデバイスによって、第１のネットワークデバイスのデータプレーンに送信される。第１のパケットはブロードキャストパケットであってよいとともに、具体的には、ARPパケットまたは動的ホスト構成プロトコル（英語：Dynamic Host Configuration Protocol、略してDHCP）パケットであってよい。
【００３０】
３０２．第１のネットワークデバイスのデータプレーンは、第１のネットワークデバイス上の第１のパケットの入力ポートおよび第１のパケットを、第１のネットワークデバイスのコントロールプレーンに送信する。
【００３１】
第１のパケットを受信した後、第１のネットワークデバイスのデータプレーンは、第１のパケットが、コントロールプレーンによって配達されたパケット選択ルールに合致するかどうかを決定し、且つ、第１のパケットが、コントロールプレーンによって配達されたパケット選択ルールに合致する場合、第１のネットワークデバイス上の第１のパケットの入力ポートおよび第１のパケットを、第１のネットワークデバイスのコントロールプレーンに送信する。パケット選択ルールは、特定のタイプのパケット、例えば、ARPパケットまたはDHCPパケットを選択することである。第１のパケットがコントロールプレーンによって配達されたパケット選択ルールに合致することは、第１のパケットが、ARPパケットまたはDHCPパケットであることであってよい。パケット選択ルールは、あるいは、特定の情報を含むパケットを選択すること、例えば、IPアドレス、MACアドレスまたは仮想ローカルエリアネットワーク識別子（英語：virtual local area network identifier、VLAN ID）が特定の範囲に属するか、または、特定の値であるパケットを選択することであってよい。第１のパケットがコントロールプレーンによって配達されたパケット選択ルールに合致することは、第１のパケットにおけるIPアドレス、MACアドレスまたはVLAN IDが特定の範囲に属するか、または、特定の値であることであってよい。第１のネットワークデバイス上の第１のパケットの入力ポートおよび第１のパケットを、第１のネットワークデバイスのコントロールプレーンに送信することは、第１のネットワークデバイス上の第１のパケットの入力ポートと第１のパケットの両方を、第１のネットワークデバイスのコントロールプレーンに送信することか、または、第１のネットワークデバイス上の第１のパケットの入力ポートを第１のパケットに追加して、第１のネットワークデバイスのコントロールプレーンに、入力ポートが追加された第１のパケットを送信することを含んでよい。
【００３２】
３０３．第１のネットワークデバイスのデータプレーンは、MC-LAG識別子を第１のパケットに追加して、第２のパケットを取得し、第２のパケットを、データ転送パスを介して、仮想クラスタにおける第２のネットワークデバイスのデータプレーンに送信し、ここで、MC-LAG識別子は、第１のネットワークデバイス上の第１のパケットの入力ポートはMC-LAGのメンバポートであることを示すために使用される。
【００３３】
具体的には、第１のネットワークデバイスは、第１のネットワークデバイス上の第１のパケットの入力ポートと、各MC-LAGのMC-LAG識別子と各MC-LAGのメンバポートとの間の対応関係を含む事前に構成されたMC-LAGテーブルとに従って、入力ポートに対応するMC-LAG識別子を取得し、取得されたMC-LAG識別子を第１のパケットに追加して、第２のパケットを取得し、ここで、第１のネットワークデバイス上の第１のパケットの入力ポートは、図２に示される第１のポートである。ステップ３０２およびステップ３０３の実行順序に対して限定は課されない。
【００３４】
３０４．第１のネットワークデバイスのコントロールプレーンは、第１のネットワークデバイス上の第１のパケットの入力ポートおよび第１のパケットに従って、転送エントリを生成し、転送エントリに従って、第１のネットワークデバイスのコントロールプレーン上の第１の転送テーブルを更新し、転送エントリを、第１のネットワークデバイスのデータプレーンに送信する。
【００３５】
第１のネットワークデバイス上の第１のパケットの入力ポートおよび第１のパケットに従って生成される転送エントリは、第１のパケットに対応する転送エントリである。転送エントリは、第１のパケットに含まれる、IPアドレス、MACアドレスまたはVLAN IDのうちの少なくとも１つを含んでよい。第１の転送テーブルは、MACアドレステーブル、ARPテーブル、マルチキャストテーブルまたはルーティングテーブルのうちの少なくとも１つを含む。
【００３６】
３０５．第１のネットワークデバイスのデータプレーンは、第１のネットワークデバイスのコントロールプレーンによって送信された転送エントリを受信し、転送エントリに従って、第１のネットワークデバイスのデータプレーン上の第２の転送テーブルを更新する。
【００３７】
第１のネットワークデバイスの第１の転送テーブルおよび第２の転送テーブルは、２つの転送テーブルが更新された後の内容が同じである。
【００３８】
図３に示される方法に対応して、本発明の実施形態は、仮想クラスタに適用される別の転送テーブル同期方法をさらに提供する。仮想クラスタは、少なくとも第１のネットワークデバイスおよび第２のネットワークデバイスを含み、第１のネットワークデバイスは、データ転送パスを介して、第２のネットワークデバイスと通信し、第１のネットワークデバイスおよび第２のネットワークデバイスは、第１のリンクおよび第２のリンクをそれぞれ介して、マルチホーミングアクセスデバイスに接続され、第１のリンクおよび第２のリンクは、マルチシャーシリンクアグリゲーショングループMC-LAGを形成する。図４に示されるように、方法は以下のステップを含む。
【００３９】
４０１．仮想クラスタにおける第２のネットワークデバイスのデータプレーンは、データ転送パスを介して、仮想クラスタにおける第１のネットワークデバイスのデータプレーンによって送信された第２のパケットを受信し、ここで、第２のパケットは、第１のネットワークデバイスが、マルチホーミングアクセスデバイスによって送信された第１のパケットにMC-LAG識別子を追加した後に生成され、MC-LAG識別子は、第１のネットワークデバイス上の第１のパケットの入力ポートはMC-LAGのメンバポートであることを示すために使用される。
【００４０】
４０２．第２のネットワークデバイスのデータプレーンは、第２のパケットに従って、第１のパケットを取得する。
【００４１】
第２のネットワークデバイスのデータプレーンによって、第２のパケットに従って、第１のパケットを取得するステップは、
第２のネットワークデバイスのデータプレーンによって、第２のパケットからMC-LAG識別子を削除して、第１のパケットを取得するステップを含む。
【００４２】
４０３．第２のネットワークデバイスのデータプレーンは、第２のネットワークデバイス上の第１のパケットの入力ポートを決定し、決定された入力ポートおよび第１のパケットを、第２のネットワークデバイスのコントロールプレーンに送信する。
【００４３】
第２のネットワークデバイス上の第１のパケットの入力ポートを決定するステップは、
第２のネットワークデバイスのデータプレーンによって、第２のパケットに従って、MC-LAG識別子を取得し、各MC-LAGのMC-LAG識別子と各MC-LAGのメンバポートとの間の対応関係を含む事前に構成されたMC-LAGテーブルに従って、第２のネットワークデバイスの、MC-LAG識別子に対応するポートを取得し、取得されたポートを、第２のネットワークデバイス上の第１のパケットの入力ポートとして使用するステップを含む。決定された入力ポートは、第２のネットワークデバイス上の、MC-LAGのメンバポートである。
【００４４】
決定された入力ポートおよび第１のパケットを、第２のネットワークデバイスのコントロールプレーンに送信することは、決定された入力ポートと第１のパケットの両方を、第２のネットワークデバイスのコントロールプレーンに送信することか、または、決定された入力ポートを第１のパケットに追加して、第２のネットワークデバイスのコントロールプレーンに、決定された入力ポートが追加された第１のパケットを送信することを含む。
【００４５】
４０４．第２のネットワークデバイスのコントロールプレーンは、決定された入力ポートおよび第１のパケットに従って、転送エントリを生成し、転送エントリに従って、コントロールプレーン上の第１の転送テーブルを更新し、転送エントリを、第２のネットワークデバイスのデータプレーンに送信する。
【００４６】
第２のネットワークデバイスのコントロールプレーンによって、転送エントリを生成するためのルールは、第１のネットワークデバイスのコントロールプレーンによって、転送エントリを生成するためのルールと同じである。従って、第１のパケットに従って、第２のネットワークデバイスのコントロールプレーンによって生成される転送エントリについては、入力ポートおよび出力ポートを除く全ての内容は、第１のパケットに従って、第１のネットワークデバイスのコントロールプレーンによって生成される転送エントリの内容と同じである。この場合、第１のネットワークデバイスのコントロールプレーンおよび第２のネットワークデバイスのコントロールプレーンによって生成される転送エントリは一致していると考えられる。
【００４７】
４０５．第２のネットワークデバイスのデータプレーンは、第２のネットワークデバイスのコントロールプレーンによって送信された転送エントリを受信し、転送エントリに従って、第２のネットワークデバイスのデータプレーン上の第２の転送テーブルを更新する。
【００４８】
第２のネットワークデバイスの第１の転送テーブルおよび第２の転送テーブルは、２つの転送テーブルが更新された後の内容が同じである。
【００４９】
図３および図４に対応する本発明の実施形態では、第１のネットワークデバイスおよび第２のネットワークデバイスは、第１のパケットが属するサービスフローに関する転送エントリを別々に生成する。
【００５０】
図５に示されるように、本発明の実施形態は、別の転送テーブル同期方法をさらに提供する。方法は、以下のステップを含む。
【００５１】
５０１．第１のネットワークデバイスのデータプレーンは、第１のポートを使用することによって、マルチホーミングアクセスデバイスによって送信された第１のパケットを受信する。
【００５２】
第１のパケットは、データパケットまたはプロトコルパケットであってよい。第２のネットワークデバイス上にある第１のポートおよび第２のポートは、同じMC-LAGのメンバポートである。第１のネットワークデバイスおよび第２のネットワークデバイスは、仮想クラスタを形成する。
【００５３】
５０２．第１のネットワークデバイスのデータプレーンは、第１のポートおよび第１のパケットを、第１のネットワークデバイスのコントロールプレーンに送信する。
【００５４】
５０３．第１のネットワークデバイスのデータプレーンは、MC-LAG識別子を第１のパケットに追加して、第２のパケットを取得し、第１のネットワークデバイスの第３のポートを使用することによって、第２のパケットを、第２のネットワークデバイスのデータプレーンに送信する。
【００５５】
５０４．第１のネットワークデバイスのコントロールプレーンは、第１のネットワークデバイス上の第１のパケットの入力ポートおよび第１のパケットに従って、転送エントリを生成し、転送エントリに従って、第１のネットワークデバイスのコントロールプレーン上の第１の転送テーブルを更新する。
【００５６】
５０５．第１のネットワークデバイスのコントロールプレーンは、転送エントリを、第１のネットワークデバイスのデータプレーンに送信する。
【００５７】
５０６．第１のネットワークデバイスのデータプレーンは、第１のネットワークデバイスのコントロールプレーンによって送信された転送エントリを受信し、転送エントリに従って、第１のネットワークデバイスのデータプレーン上の第２の転送テーブルを更新する。
【００５８】
５０７．第４のポートを使用することによって、第１のネットワークデバイスのデータプレーンによって送信された第２のパケットを受信した後、第２のネットワークデバイスのデータプレーンは、第２のパケットに従って、第１のパケットを取得する。
【００５９】
５０８．第２のネットワークデバイスのデータプレーンは、第２のネットワークデバイス上の第１のパケットの入力ポートを決定し、決定された入力ポートおよび第１のパケットを、第２のネットワークデバイスのコントロールプレーンに送信する。
【００６０】
５０９．第２のネットワークデバイスのコントロールプレーンは、決定された入力ポートおよび第１のパケットに従って、転送エントリを生成し、転送エントリに従って、コントロールプレーン上の第１の転送テーブルを更新する。
【００６１】
５１０．第２のネットワークデバイスのコントロールプレーンは、転送エントリを、第２のネットワークデバイスのデータプレーンに送信する。
【００６２】
５１１．第２のネットワークデバイスのデータプレーンは、第２のネットワークデバイスのコントロールプレーンによって送信された転送エントリを受信し、転送エントリに従って、第２のネットワークデバイスのデータプレーン上の第２の転送テーブルを更新する。
【００６３】
前述のステップにおいて、第１のネットワークデバイスに関係するステップに関する詳細については、図３における説明を参照されたく、第２のネットワークデバイスに関係するステップに関する詳細については、図４における説明を参照されたい。ステップ５０２から５０６、ステップ５０３およびステップ５０６から５１１の間の実行順序に対して、限定は課されない。
【００６４】
本発明の前述の実施形態では、マルチホーミングアクセスデバイスによって送信された第１のパケットを受信した後、仮想クラスタにおける第１のネットワークデバイスのデータプレーンは、第１のパケットを、第１のネットワークデバイスのコントロールプレーンに送信し、MC-LAG識別子を第１のパケットに追加して、第２のパケットを取得し、第２のパケットを、データ転送パスを介して、仮想クラスタにおける第２のネットワークデバイスのデータプレーンに送信し、第２のネットワークデバイスのデータプレーンは、MC-LAG識別子を第２のパケットから削除して、第１のパケットを取得し、第２のネットワーク上の第１のパケットの入力ポートを決定し、決定された入力ポートおよび第１のパケットを、第２のネットワークデバイスのコントロールプレーンに送信し、第１のネットワークデバイスのコントロールプレーンは、第１のネットワークデバイス上の第１のパケットの入力ポートおよび第１のパケットに従って、転送エントリを生成し、第２のネットワークデバイスのコントロールプレーンは、決定された入力ポートおよび第１のパケットに従って、転送エントリを生成する。本発明の本実施形態によると、複数のネットワークデバイス上の転送テーブルの一致が、仮想クラスタにおける複数のネットワークデバイス間のデータ転送パスを介して達成され、且つ、複数のネットワークデバイスは、同じソフトウェアバージョンをサポートする必要がなく、且つ、複数のネットワークデバイスのソフトウェアバージョンは、互いに互換性がある必要もまたない。このことは、複数のネットワークデバイスのソフトウェアバージョンが同時にアップグレードされないため、少なくとも２つのネットワークデバイスの転送テーブルが一致しないという課題を回避することができるとともに、トラフィック転送エラーおよびユーザサービスの中断を回避することがさらにできる。
【００６５】
図２に示されるシステムおよび図３および図５に示される方法に基づくと、本発明の実施形態は、ネットワークデバイス６００をさらに提供する。ネットワークデバイス６００および別のネットワークデバイスは仮想クラスタを形成し、ネットワークデバイスおよび別のネットワークデバイスは、第１のリンクおよび第２のリンクをそれぞれ介して、マルチホーミングアクセスデバイスに接続され、第１のリンクおよび第２のリンクは、マルチシャーシリンクアグリゲーショングループMC-LAGを形成する。図６に示されるように、ネットワークデバイス６００は、コントロールプレーン６０２およびデータプレーン６０１を含む。
【００６６】
データプレーン６０１は、マルチホーミングアクセスデバイスによって送信された第１のパケットを受信し、ネットワークデバイス上の第１のパケットの入力ポートおよび第１のパケットを、コントロールプレーンに送信し、MC-LAG識別子を第１のパケットに追加して、第２のパケットを取得し、第２のパケットを、データ転送パスを介して、別のネットワークデバイスのデータプレーンに送信するように構成される。MC-LAG識別子は、ネットワークデバイス上の第１のパケットの入力ポートはMC-LAGのメンバポートであることを示すために使用される。
【００６７】
コントロールプレーン６０２は、ネットワークデバイス上の第１のパケットの入力ポートおよび第１のパケットに従って、転送エントリを生成し、転送エントリに従って、コントロールプレーン上の第１の転送テーブルを更新し、転送エントリを、データプレーン６０１に送信するように構成される。
【００６８】
データプレーン６０１は、コントロールプレーンによって送信された転送エントリを受信し、転送エントリに従って、データプレーン上の第２の転送テーブルを更新するようにさらに構成される。
【００６９】
MC-LAG識別子を第１のパケットに追加するとき、データプレーン６０１は、具体的には、ネットワークデバイス上の第１のパケットの入力ポートと、各MC-LAGのMC-LAG識別子と各MC-LAGのメンバポートとの間の対応関係を含む事前に構成されたMC-LAGテーブルとに従って、入力ポートに対応するMC-LAG識別子を取得し、取得されたMC-LAG識別子を第１のパケットに追加するように構成される。
【００７０】
ネットワークデバイス上の第１のパケットの入力ポートおよび第１のパケットを、コントロールプレーン６０２に送信するとき、データプレーン６０１は、具体的には、第１のパケットが、コントロールプレーン６０２によって配達されたパケット選択ルールに合致するかどうかを決定し、且つ、第１のパケットが、パケット選択ルールに合致する場合、ネットワークデバイス上の第１のパケットの入力ポートおよび第１のパケットを、コントロールプレーン６０２に送信するように構成される。
【００７１】
本発明の実施形態はネットワークデバイス７００をさらに提供する。図７に示されるように、ネットワークデバイス７００は、
プロセッサ（英語：processor）７１０、通信インタフェース（英語：communications interface）７２０、メモリ（英語：memory）７３０およびバス７４０を含む。
【００７２】
プロセッサ７１０、通信インタフェース７２０およびメモリ７３０は、バス７４０を使用することによって互いに通信する。
【００７３】
通信インタフェース７２０は、外部のネットワーク要素と通信するように構成される。実施方式では、通信インタフェース７２０は、マルチホーミングアクセスデバイスおよび仮想クラスタ内にある別のネットワークデバイスと通信するように構成される。通信インタフェース７２０は、光トランシーバ、電気トランシーバ、無線トランシーバまたはそれらの任意の組合せを使用することによって実施されてよい。例えば、光トランシーバは、スモールフォームファクタプラガブル（英語：small form-factor pluggable、略してSFP）トランシーバ（英語：transceiver）、強化されたスモールフォームファクタプラガブル（英語：enhanced small form-factor pluggable、略してSFP+）トランシーバまたは10ギガビットスモールフォームファクタプラガブル（英語：10 Gigabit small form-factor pluggable、略してXFP）トランシーバであってよい。電気トランシーバは、イーサネット（英語：Ethernet）ネットワークインタフェースコントローラ（英語：network interface controller、略してNIC）であってよい。無線トランシーバは、ワイヤレスネットワークインタフェースコントローラ（英語：wireless network interface controller、略してWNIC）であってよい。通信インタフェース７２０は、複数の物理インタフェースを含んでよい。例えば、通信インタフェース７２０は、複数のイーサネットインタフェースを含む。
【００７４】
プロセッサ７１０は、プログラム７３２を実行するように構成される。
【００７５】
具体的には、プログラム７３２はプログラムコードを含んでよく、且つ、プログラムコードは、コンピュータ操作命令を含む。
【００７６】
プロセッサ７１０は、中央処理装置（英語：central processing unit、略してCPU）または特定用途向け集積回路（英語：application-specific integrated circuit、略してASIC）であってよい。
【００７７】
メモリ７３０は、プログラム７３２を記憶するように構成される。メモリ７３０は、揮発性メモリ（英語：volatile memory）、例えば、ランダムアクセスメモリ（英語：random-access memory、略してRAM）を含んでよい。メモリ７３０は、不揮発性メモリ（英語：non-volatile memory）、例えば、読み出し専用メモリ（英語：read-only memory、略してROM）、フラッシュメモリ（英語：flash memory）、ハードディスクドライブ（英語：hard disk drive、略してHDD）またはソリッドステートドライブ（英語：solid-state drive、略してSSD）を含んでよい。あるいは、メモリ７３０は、メモリの前述のタイプの組合せを含んでよい。
【００７８】
プロセッサ７１０は、メモリ内のプログラム７３２を呼び出し、プログラム７３２に従って、図３または図５における第１のネットワークデバイスによって実行されるステップを実行するように構成される。
【００７９】
図６および図７で詳細に説明されない内容については、図３の実施形態における説明を参照されたい。
【００８０】
図２に示されるシステムおよび図４および図５に示される方法に基づくと、本発明の実施形態は、ネットワークデバイス８００をさらに提供する。ネットワークデバイス８００および別のネットワークデバイスは仮想クラスタを形成し、ネットワークデバイスおよび別のネットワークデバイスは、第１のリンクおよび第２のリンクをそれぞれ介して、マルチホーミングアクセスデバイスに接続され、第１のリンクおよび第２のリンクは、マルチシャーシリンクアグリゲーショングループMC-LAGを形成する。図８に示されるように、ネットワークデバイス８００は、コントロールプレーン８０１およびデータプレーン８０２を含む。
【００８１】
データプレーン８０２は、データ転送パスを介して、別のネットワークデバイスのデータプレーンによって送信された第２のパケットを受信し、第２のパケットに従って、第１のパケットを取得し、ネットワークデバイス上の第１のパケットの入力ポートを決定し、決定された入力ポートおよび第１のパケットを、コントロールプレーン８０１に送信するように構成され、ここで、第２のパケットは、別のネットワークデバイスが、マルチホーミングアクセスデバイスによって送信された第１のパケットにMC-LAG識別子を追加した後に生成され、MC-LAG識別子は、別のネットワークデバイス上の第１のパケットの入力ポートはMC-LAGのメンバポートであることを示すために使用される。
【００８２】
コントロールプレーン８０１は、決定された入力ポートおよび第１のパケットに従って、転送エントリを生成し、転送エントリに従って、コントロールプレーン８０１上の第１の転送テーブルを更新し、転送エントリを、データプレーン８０２に送信するように構成される。
【００８３】
データプレーン８０２は、コントロールプレーン８０１によって送信された転送エントリを受信し、転送エントリに従って、データプレーン８０２上の第２の転送テーブルを更新するようにさらに構成される。
【００８４】
第２のパケットに従って、第１のパケットを取得するとき、データプレーン８０２は、具体的には、第２のパケットからMC-LAG識別子を削除して、第１のパケットを取得するように構成される。
【００８５】
ネットワークデバイス上の第１のパケットの入力ポートを決定するとき、データプレーン８０２は、具体的には、
第２のパケットに従って、MC-LAG識別子を取得し、各MC-LAGのMC-LAG識別子と各MC-LAGのメンバポートとの間の対応関係を含む事前に構成されたMC-LAGテーブルに従って、ネットワークデバイスの、MC-LAG識別子に対応するポートを取得し、取得されたポートを、ネットワークデバイス上の第１のパケットの入力ポートとして使用するように構成される。
【００８６】
本発明の実施形態はネットワークデバイス９００をさらに提供する。図９に示されるように、装置９００は、
プロセッサ９１０、通信インタフェース９２０、メモリ９３０およびバス９４０を含む。
【００８７】
プロセッサ９１０、通信インタフェース９２０およびメモリ９３０は、バス９４０を使用することによって互いに通信する。
【００８８】
通信インタフェース９２０は、外部のネットワーク要素と通信するように構成される。実施方式では、通信インタフェース９２０は、マルチホーミングアクセスデバイスおよび仮想クラスタ内にある別のネットワークデバイスと通信するように構成される。通信インタフェース９２０の実施については、通信インタフェース７２０を参照されたい。
【００８９】
プロセッサ９１０は、プログラム９３２を実行するように構成される。
【００９０】
具体的には、プログラム９３２はプログラムコードを含んでよく、且つ、プログラムコードは、コンピュータ操作命令を含む。
【００９１】
プロセッサ９１０は、CPUまたはASICであってよい。
【００９２】
メモリ９３０は、プログラム９３２を記憶するように構成される。メモリ９３０の実施については、メモリ７３０を参照されたい。
【００９３】
プロセッサ９１０は、メモリ内のプログラム９３２を呼び出し、プログラム９３２に従って、図４または図５における第２のネットワークデバイスによって実行されるステップを実行するように構成される。
【００９４】
図８および図９で詳細に説明されない内容については、図４および図５の実施形態における説明を参照されたい。
【００９５】
本発明の前述の実施形態では、マルチホーミングアクセスデバイスによって送信された第１のパケットを受信した後、仮想クラスタにおける第１のネットワークデバイスのデータプレーンは、第１のパケットを、第１のネットワークデバイスのコントロールプレーンに送信し、MC-LAG識別子を第１のパケットに追加して、第２のパケットを取得し、第２のパケットを、データ転送パスを介して、仮想クラスタにおける第２のネットワークデバイスのデータプレーンに送信し、第２のネットワークデバイスのデータプレーンは、MC-LAG識別子を第２のパケットから削除して、第１のパケットを取得し、第２のネットワーク上の第１のパケットの入力ポートを決定し、決定された入力ポートおよび第１のパケットを、第２のネットワークデバイスのコントロールプレーンに送信し、第１のネットワークデバイスのコントロールプレーンは、第１のネットワークデバイス上の第１のパケットの入力ポートおよび第１のパケットに従って、転送エントリを生成し、第２のネットワークデバイスのコントロールプレーンは、決定された入力ポートおよび第１のパケットに従って、転送エントリを生成する。本発明の本実施形態によると、複数のネットワークデバイス上の転送テーブルの一致が、仮想クラスタにおける複数のネットワークデバイス間のデータ転送パスを介して達成され、且つ、複数のネットワークデバイスは、同じソフトウェアバージョンをサポートする必要がなく、且つ、複数のネットワークデバイスのソフトウェアバージョンは、互いに互換性がある必要もまたない。このことは、複数のネットワークデバイスのソフトウェアバージョンが同時にアップグレードされないため、少なくとも２つのネットワークデバイスの転送テーブルが一致しないという課題を回避することができるとともに、トラフィック転送エラーおよびユーザサービスの中断を回避することがさらにできる。
【００９６】
前述の説明は単に、本発明の実施形態の例であるが、本発明を限定するように意図されない。本発明の原理を逸脱すること無しに行われるいかなる修正、均等置換および改良も、本発明の保護範囲に包含されるべきである。
【符号の説明】
【００９７】
600  ネットワークデバイス
601  データプレーン
602  コントロールプレーン
700  ネットワークデバイス
710  プロセッサ
720  通信インタフェース
730  メモリ
732  プログラム
740  通信バス
800  ネットワークデバイス
801  コントロールプレーン
802  データプレーン
900  ネットワークデバイス
910  プロセッサ
920  通信インタフェース
930  メモリ
932  プログラム
940  通信バス
【図１】
0006384696.tif 000002
【図２】
0006384696.tif 000003
【図３】
0006384696.tif 000004
【図４】
0006384696.tif 000005
【図５】
0006384696.tif 000006
【図６】
0006384696.tif 000007
【図７】
0006384696.tif 000008
【図８】
0006384696.tif 000009
【図９】
0006384696.tif 000010