JP2023544870A - Mlagリンク障害時切換え方法および装置 - Google Patents
Mlagリンク障害時切換え方法および装置 Download PDFInfo
- Publication number
- JP2023544870A JP2023544870A JP2023521837A JP2023521837A JP2023544870A JP 2023544870 A JP2023544870 A JP 2023544870A JP 2023521837 A JP2023521837 A JP 2023521837A JP 2023521837 A JP2023521837 A JP 2023521837A JP 2023544870 A JP2023544870 A JP 2023544870A
- Authority
- JP
- Japan
- Prior art keywords
- mlag
- switch
- link
- forwarding database
- member interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000012546 transfer Methods 0.000 claims description 40
- 238000013507 mapping Methods 0.000 claims description 38
- 230000002776 aggregation Effects 0.000 claims description 14
- 238000004220 aggregation Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 description 36
- 230000015654 memory Effects 0.000 description 30
- 238000010586 diagram Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 12
- 230000006855 networking Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 6
- 238000011084 recovery Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
- H04L45/245—Link aggregation, e.g. trunking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/44—Distributed routing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本願は、MLAGリンク障害時切換え装置および方法を開示する。この装置は、チップを含む。チップは、転送データベースを生成し、この転送データベースに基づいてパケットを転送するように構成され、転送データベースは、第1の転送データベース、第2の転送データベース、および第3の転送データベースを含む。この装置は、第1の転送データベース中の故障したリンクに対応するアクティブ/待機切換えフラグの値を修正することによって故障したMLAGリンクを切り換え、それによりリンク切換え時間を短縮し、およびリンク切換え効率を向上させる。
Description
本願は、通信技術に関連し、および、特に、MLAGリンク障害時切換え方法および装置に関連する。
本願は、参照によりその全体が本明細書に組み込まれる、2020年10月12日に出願され、および「MLAG LINK FAILURE SWITCHING METHOD AND APPARATUS」と題する中国特許出願第202011086369.0号の優先権を主張するものである。
マルチシャーシリンクアグリゲーショングループ(multi-chassis link aggregation group、MLAG)とは、リンクの信頼性を向上させるために、デバイスリンクにまたがる2つ以上のスイッチを集約してアクティブ/アクティブシステムにすることに言及する。
図1を参照されたい。スイッチ1は、ポート1(ポート1とポート3との間のリンクはピアリンクと呼ばれる)を介してスイッチ2のポート3に接続されて、MLAGシステムを形成する。サーバは、このMLAGシステムに接続される。すなわち、サーバは、2つの独立した物理ポートを介してスイッチ1およびスイッチ2の両方に接続される。サーバは、アクティブ/アクティブ構成に基づいてこの2つのスイッチに同時にパケットを送信することができ、またはアクティブ/待機(active-standby)構成に基づいて一方のスイッチのみにパケットを送信することができる(そのスイッチが故障している場合には、サーバは、他方のスイッチにパケットを送信する)。正常な場合には、スイッチ1は、ネットワーク側からパケットを受信し、パケットの宛先アドレスに従ってローカル転送データベース(forwarding database、FDB)、例えばMACアドレステーブルなどを探索して、サーバに接続された対応する物理エグレスポート、例えばポート2などを発見し、そのポート2を介してパケットをサーバに転送する。
サーバとスイッチ1の間のリンク(ポート2)が故障しているときには、ある方法では、スイッチ1は、転送データベースを更新し、およびポート2に対応する全てのエントリのエグレスポート値をポート1(ピアリンク)に更新する。別の方法では、スイッチ1は、ポート2に対応する全てのエントリを削除、または転送データベースの全てのエントリを削除し、MACアドレスの再学習によりサーバに対応するMACアドレスからポート1へのマッピングの記録を学習し、およびMLAGリンク切換えを完了する。
この2つの方法は両方とも、特有の欠点を有する。前者の方法では、転送データベース内のポート値は、スイッチ1のCPUを用いてリフレッシュされる必要がある。CPUによる処理の間は、転送データベースがフリーズ(freezing)される必要がある。結果として、転送データベースがパケットの転送に使用されることが不可能となり、およびスイッチ1のトラフィックがある期間にわたって中断される。後者の方法では、再学習プロセスにおいて、スイッチ1は、特定の期間内にパケットをブロードキャストする。さらに、再学習を完了するのにはまた特定の期間を要する。2つの方法のいずれにおいても、スイッチ1のMLAGリンク切換えを完了するのに比較的長い時間がかかる。
本願は、リンク切換えに必要な時間オーバヘッドを低減し、およびリンク障害時切換えの効率を向上させるために、MLAGリンク障害時切換え方法および装置を提供する。
第1の態様によれば、本願は、MLAGリンク障害時切換えのためのネットワークデバイスを提供する。このネットワークデバイスは、チップを含む。チップは、転送データベースを生成し、および受信されるパケットを転送データベースに基づいて転送するように構成される。転送データベースは、第1の転送データベース、第2の転送データベース、および第3の転送データベースを含む。転送データベースは3つの部分に分割されるので、リンクが故障したときに転送データベース内で修正されるエントリの数量が低減されることが可能であり、時間オーバヘッドが低減されることが可能であり、リンク切換え効率が改善されることが可能である。
任意選択の実装では、第1の転送データベースは、少なくとも1つのマルチシャーシリンクアグリゲーショングループMLAGメンバインタフェースから少なくとも1つのアクティブ/待機切換えフラグへのマッピングを記憶するために使用され、第2の転送データベースは、少なくとも1つの第1の物理ポートから少なくとも1つのMLAGメンバインタフェースへのマッピングを記憶するために使用され、および第3の転送データベースは、媒体アクセス制御MACアドレスから第1のMLAGメンバインタフェースへのマッピングを記憶するために使用され、第1のMLAGメンバインタフェースは、少なくとも1つのMLAGメンバインタフェース中にある。ネットワークデバイスは、MLAGメンバインタフェースを用いてMACアドレスと物理ポートとの間の関連を切り離すので、ネットワークリンクが変化した(例えばリンクが故障した)ときに、ネットワークデバイスは、MACアドレスおよび物理ポートについての情報を修正することなく故障したリンクの切換えを実施することができ、それにより切換え効率を向上させることができる。
任意選択の実装では、チップは、パケットのソースMACアドレスから第3の転送データベース中の第2のMLAGメンバインタフェースへのマッピングを記憶するようにさらに構成され、第2のMLAGメンバインタフェースは、第2の転送データベースに基づいて第1の物理ポートに対応するMLAGメンバインタフェースであり、および第1の物理ポートは、パケットを受信する物理ポートである。
任意選択の実装では、MLAGリンクが故障しているときに、チップは、第1の転送データベース中の第3のMLAGメンバインタフェースに対応するアクティブ/待機切換えフラグの値をバックアップフラグに更新し、バックアップフラグは、第3のMLAGメンバインタフェースを指すパケットをピアリンクを介して送信するようにチップに命令するために使用され、第3のMLAGメンバインタフェースは、第2の転送データベースに基づいて第2の物理ポートに対応するMLAGメンバインタフェースであり、および第2の物理ポートは、MLAGリンクの物理ポートである。ネットワークデバイスは、アクティブ/待機切換えフラグの値を修正するだけで故障したリンクの切換えを完了し、これによりリンク切換え効率を向上させる。
任意選択の実装では、MLAGリンクが回復されたときに、チップは、第3のMLAGメンバインタフェースに対応するアクティブ/待機切換えフラグの値をプライマリフラグに更新し、プライマリフラグは、第2の転送データベースに基づいてパケットを転送するようにチップに命令するために使用される。ネットワークデバイスは、アクティブ/待機切換えフラグの値を修正するだけで故障したリンクの回復を完了し、これによりリンク回復効率を向上させる。
任意選択の実装では、チップは、第3の転送データベースに基づいて、パケットの宛先MACアドレスに対応するMLAGメンバインタフェースが第1のMLAGメンバインタフェースであると決定し、および第1の転送データベース中の第1のMLAGメンバインタフェースに対応するアクティブ/待機切換えフラグの値がプライマリフラグであるときに、第3の物理ポートを介してパケットを転送するように構成され、第3の物理ポートは、第2の転送データベース中の第1のMLAGメンバインタフェースに対応する物理ポートである。
任意選択の実装では、第1のMLAGメンバインタフェースに対応するアクティブ/待機切換えフラグの値がバックアップフラグであるときには、チップは、ピアリンクを介してパケットを転送する。
任意選択の実装では、このネットワークデバイスと別のネットワークデバイスとが、MLAGシステムを形成し、およびこのネットワークデバイスは、第3の転送データベースをその別のネットワークデバイスに同期させるように構成される。第3の転送データベースがMLAGシステム内で同期されるので、リンクが故障した後で、新たな外部デバイスがMLAGシステムに接続されたときに、ネットワークデバイスは、その新たなアクセスデバイスについての情報を取得することができる。
第2の態様によれば、本願は、MLAGリンク切換え方法を開示する。この方法は、ネットワークデバイスのMLAGリンクが故障しているときに、第1の転送データベース中の第1のMLAGメンバインタフェースに対応するアクティブ/待機切換えフラグの値をバックアップフラグに更新するステップであって、バックアップフラグは、第1のMLAGメンバインタフェースを指すパケットをピアリンクを介して送信するようにネットワークデバイスに命令するために使用され、第1のMLAGメンバインタフェースは、第2の転送データベースに従って第1の物理ポートに対応するMLAGメンバインタフェースであり、および第1の物理ポートは、MLAGリンクの物理ポートである、ステップを含み、およびネットワークデバイスは、第1の転送データベースおよび第2の転送データベースを含み、第1の転送データベースは、少なくとも1つのマルチシャーシリンクアグリゲーショングループMLAGメンバインタフェースから少なくとも1つのアクティブ/待機切換えフラグへのマッピングを記憶するために使用され、および第2の転送データベースは、少なくとも1つの物理ポートから少なくとも1つのMLAGメンバインタフェースへのマッピングを記憶するために使用される。
任意選択の実装では、MLAGリンクが回復されたときに、第1のMLAGメンバインタフェースに対応するアクティブ/待機切換えフラグの値は、プライマリフラグに更新され、プライマリフラグは、第2の転送データベースに基づいてパケットを送信するようにネットワークデバイスに命令するために使用される。
任意選択の実装では、ネットワークデバイスは、第3の転送データベースをさらに含み、およびこの方法は、パケットのソースMACアドレスから第2のMLAGメンバインタフェースへのマッピングを第3の転送データベースに記憶するステップをさらに含み、第2のMLAGメンバインタフェースは、第2の転送データベースに基づいて第2の物理ポートに対応するMLAGメンバインタフェースであり、および第2の物理ポートは、パケットを受信する物理ポートである。
任意選択の実装では、この方法は、第3の転送データベースに基づいて、パケットの宛先MACアドレスに対応するMLAGメンバインタフェースが第1のMLAGメンバインタフェースであると決定するステップであって、第3の転送データベースは、宛先MACアドレスから第1のMLAGメンバインタフェースへのマッピングをさらに含む、ステップと、第1の転送データベース中の第1のMLAGメンバインタフェースに対応するアクティブ/待機切換えフラグの値がプライマリフラグであるときに、第1の物理ポートを用いてパケットを転送するステップとをさらに含む。
任意選択の実装では、第1のMLAGメンバインタフェースに対応するアクティブ/待機切換えフラグの値がバックアップフラグであるときには、パケットは、ピアリンクを介して転送される。
任意選択の実装では、第3の転送データベースは、別のネットワークデバイスに同期され、この別のネットワークデバイスとこのネットワークデバイスとが、MLAGシステムを形成する。
本願の第2の態様の有利な効果については、第1の態様および第1の態様の実装を参照されたい。
当業者が本願の解決策をより良好に理解できるように、以下、本願の実施形態の添付の図面を参照して本願の実施形態の技術的解決策について明確に説明する。
複数のスイッチは、MLAG機構を使用して、複数のデバイス間のリンクアグリゲーションを実装する。これらのデバイスは、MLAGシステムとしても知られるアクティブ/アクティブ(active-active)システムを形成する。サーバまたはカスタマエッジ(customer edge、CE)は、MLAGシステムを介して、一般のイーサネットネットワーク、多数のリンクの透過的な相互接続(transparent interconnection of lots of links、TRILL)ネットワーク、仮想拡張可能ローカルエリアネットワーク(Virtual Extensible Local Area Network、VXLAN)、またはインターネットなどのネットワークに接続される。MLAGシステムへの接続により、負荷バランシングおよびバックアップ保護が実装されることが可能である。
MLAGシステムには、サーバ接続、スイッチ接続、および多層MLAGモードなど、複数のネットワーキングモードがある。サーバ接続は、図2に示されている。サーバは、スイッチ1およびスイッチ2を介してネットワークに接続される(スイッチ1とスイッチ2とがMLAGシステムを形成する)。スイッチ接続は、図3に示されている。カスタマエッジ(スイッチ3)が、スイッチ1およびスイッチ2に接続され(スイッチ1とスイッチ2とがMLAGシステムを形成する)、およびサーバは、スイッチ3を用いてネットワークに接続される。図4に示されるように、スイッチ1とスイッチ2とがMLAGシステムを形成し(このMLAGシステムをmlag1と仮定する)、スイッチ3とスイッチ4とがMLAGシステムを形成し(このMLAGシステムをmlag2と仮定する)、およびスイッチ3およびスイッチ4は、mlag1システムに接続される。MLAGシステムには、さらに多くのネットワーキングモードがあり得る。これは、本願では限定されない。本願で開示されるMLAGリンク切換え装置は、上記に示されているMLAGシステム中の任意のスイッチ、例えば図2または図3に示されるスイッチ1またはスイッチ2、および図4に示されるスイッチ1、スイッチ2、スイッチ3、またはスイッチ4などであり得る。説明を容易にするために、本願では、図2に示されるサーバ接続シナリオのスイッチ1が、MLAGリンク切換え装置を説明するための例として用いられる。
MLAGリンク切換え装置は、図5ではスイッチ500として示されている。スイッチ500は、チップ、メモリ507、およびポートを含む。チップは、チップ502を含む。ポート506は、パケットを転送するために使用される。さらに、ポート506は、外部デバイスに接続されて、MLAGリンクまたはピアリンクを形成し得る。図1に示されるように、スイッチ1では、ポート1およびポート2のそれぞれが、ポート506である。チップ502は、特定用途向け集積回路(application-specific integrated circuit、ASIC)、フィールドプログラマブルゲートアレイ(field programmable gate array、FPGA)、ネットワークプロセッサ(network processor、NP)または同種のものであり得る。メモリ507は、ランダムアクセスメモリ(random access memory、RAM)、ダイナミックランダムアクセスメモリ(dynamic random access memory、DRAM)、スタティックランダムアクセスメモリ(static random access memory、SRAM)、もしくは連想メモリ(content addressable memory、CAM)などの揮発性メモリ(volatile memory)であり得、または読取り専用メモリ(read-only memory、ROM)もしくはソリッドステートディスク(solid state disk、SSD)などの不揮発性メモリ(non-volatile memory)であり得、または複数のタイプのメモリの組合せであり得る。実際の配置時には、メモリ507は、異なるタイプまたは同じタイプの複数のメモリを含み得、およびこの複数のメモリは、スイッチ500の異なるモジュールに配置され得る。例えば、メモリ507は、図5に示されるように、チップ502内に位置し得るが、チップ502の外部にもまた位置し得る。メモリ507は、命令508を記憶し得、または第1の転送データベース503、第2の転送データベース504、および第3の転送データベース505のエントリを記憶し得る。命令508、ならびに第1の転送データベース503、第2の転送データベース504、および第3の転送データベース505のエントリは、1つのメモリに記憶され得、または異なるメモリに別個に記憶され得る。これは、本願では限定されない。
チップ502は、中央処理ユニット(CPU)501をさらに含み得る。CPU501は、転送を制御して、いくつかのソフトウェアエントリ(ソフトウェアルーティングテーブルおよびソフトウェアARP(アドレス解決プロトコル)テーブルなど)を維持するように構成され得る。さらに、チップ502は、CPU501を用いてソフトウェアルーティングテーブルまたはソフトウェアAPRテーブルを探索することによって、ルーティングおよび転送をサポートし得る。スイッチ500は、CPU501またはチップ502を用いて命令508を呼び出すことによって、第1の転送データベース503、第2の転送データベース504、および第3の転送データベース505を生成する。
図8に示されるように、第1の転送データベース503は、MLAGメンバインタフェース(interface)からアクティブ/待機切換えフラグ(switch-flag)へのマッピングを含む。MLAGメンバインタフェースは、スイッチ1を外部デバイスに接続する物理ポート(MLAGポートとも呼ばれる)の論理識別子によって示され、およびスイッチ1に接続された個別の外部デバイスを示すために使用される。MLAGポートを用いて外部デバイス(この外部デバイスは、サーバまたはスイッチ、例えば図2のサーバ1または図3のスイッチ3などであり得る)に接続されるリンク(リンクの両端の物理ポートを含む)は、MLAGリンクと呼ばれる。MLAGリンクは、外部デバイスとスイッチ1との間の通信のためのプライマリリンクでもある。図2に示されるように、スイッチ1については、「m-interface1」は、スイッチ1がポート1を介してサーバ1に接続されることを示し、および「m-interface2」は、スイッチ1がポート2を介してサーバ2に接続されることを示す。サーバ1とスイッチ1との間の通信のためのプライマリリンクは、ポート1を用いて接続されるMLAGリンクであり、およびバックアップリンクは、スイッチ1によってポート5を介してスイッチ2に接続されるピアリンクである。サーバ2とスイッチ2との間の通信のためのプライマリリンクは、ポート2を介して接続されるMLAGリンクであり、バックアップリンクは、ポート5を介してスイッチ2に接続されるピアリンクである。スイッチ2については、「m-interface1」は、スイッチ2がポート3を介してサーバ1に接続されることを示し、および「m-interface2」は、スイッチ2がポート4を介してサーバ2に接続されることを示す。サーバ1とスイッチ2との間の通信のためのプライマリリンクは、ポート3を介して接続されるMLAGリンクであり、およびバックアップリンクは、スイッチ2によってポート6を介してスイッチ1に接続されるピアリンクである。サーバ2とスイッチ2との間の通信のためのプライマリリンクは、ポート4を介して接続されるMLAGリンクであり、およびバックアップリンクは、スイッチ2によってポート6を介してスイッチ1に接続されるピアリンクである。アクティブ/待機切換えフラグは、MLAGリンクの現在のステータスを示すために使用される。図8に示されるように、エントリ801は、図2のスイッチ1とサーバ1との間のMLAGリンク(ポート1)が正常であり、およびスイッチ1がポート1を介してサーバ1にパケットを転送することを示す。MLAGリンク(ポート1)が故障しているときには、エントリ801のアクティブ/待機切換えフラグの値が「プライマリ」から「バックアップ」に切り換えられて、スイッチ1がサーバ1にパケットをサーバ1に送信するために元々使用されるエグレスポートをポート1からポート5に切り換える必要があることを示す。本願では、「m-interface1\2」などの文字列が、MLAGメンバインタフェースを識別するために使用される。実際の配置時には、MLAGメンバインタフェースは、任意の文字を含む識別子を用いて識別され得る。例えば、アクティブ/待機切換えフラグは、「プライマリ/バックアップ」に加えて「アクティブ/待機」によってまた識別され得る。これは、本願では限定されない。
第2の転送データベース504は、MLAGメンバインタフェースから外部デバイスに接続された物理ポートへのマッピングを含む。図9に示されるように、図9は、図2のスイッチ1のMLAGメンバインタフェース(interfaces)と、サーバ1およびサーバ2に接続するためにスイッチ1によって使用される物理ポート(ports)との間のマッピングを示している。エントリ901は、スイッチ1がポート1を介してサーバ1に接続されることを示し、およびエントリ902は、スイッチ1がポート2を介してサーバ2に接続されることを示す。
第3の転送データベース505は、レイヤ2転送データベース(layer 2 forwarding database、L2FDB)を含む。L2FDBは、主に、データリンクレイヤ(レイヤ2)におけるパケット転送に使用される。スイッチ500がレイヤ3切換え機能を有するときには、第3の転送データベース505は、レイヤ3転送データベース(layer 3 forwarding database、L3FDB)をさらに含む。L3FDBは、ネットワークレイヤ(レイヤ3)におけるパケット転送に使用される。L2FDBは、MACアドレスおよびポートマッピングなどの情報を含み、およびポート情報は、物理ポートまたはMLAGメンバインタフェースであり得る。MACアドレスおよびポート情報に加えて、L2FDBは、仮想ローカルエリアネットワーク(virtual local area network、VLAN)識別子(VID)をさらに含み得る。L2FDBは、図6に示されている。図7に示されるように、L3FDBは、IPアドレス、VID、MACアドレス、およびポート情報を含む。実装では、L3FDBはポート情報を含まない。パケット転送プロセスでは、スイッチ500は、VIDおよびMACアドレスに従ってポート情報がないかL2FDBを探索する必要がある。
第1の転送データベース503および第2の転送データベース504の内容は、スイッチ500が転送のためのパケットを受信したときに生成され得るが、通常は、ネットワーク管理者がMLAGを構成したときに生成される。図2に示されるように、スイッチ1およびスイッチ2がMLAGシステムを形成するように構成され、およびサーバ1が、このMLAGシステムに接続されたときに、スイッチ1は、図8に示される第1の転送データベース503および図9に示される第2の転送データベース504の関係するエントリについての情報を(リンクディスカバリなどによって)自動的に、または手動で生成し得る。第3の転送データベース505のエントリは、手動構成または動的学習(MAC学習)によって生成され得る。本願では、動的学習は例として用いられており、および図2を拡張適用して、第1の転送データベース503のエントリを作成するプロセスを説明する。具体的には、図10に示されるように、スイッチ1、スイッチ2、サーバ1、サーバ2、およびサーバ3の構成は、以下の通りである。
スイッチ1とスイッチ2がMLAGシステムを形成するので、スイッチ1およびスイッチ2は、同じIPアドレスおよび同じMACアドレスを有するように設定される(実装では、MLAGシステム中のMACアドレスは異なり得る)。スイッチ1およびスイッチ2の両方がVLAN100およびVLAN200に接続されるので、VLAN100のインタフェースIPアドレス(レイヤ3インタフェースIPアドレスとも知られている)は、1.1.1.1に設定され、およびVLAN200のインタフェースIPアドレスは、2.1.1.1に設定される。スイッチ1のMACアドレス(MAC-S)は、スイッチ1の物理アドレスであり得、または仮想アドレスであり得、およびMACアドレスは、レイヤ3パケット切換えに使用される。サーバ1およびサーバ3は、同じVLAN(VLAN100)に属し、およびデフォルトのゲートウェイは、1.1.1.1である。スイッチ2は、別のVLAN(VLAN200)に属し、およびデフォルトのゲートウェイは、2.1.1.1である。
サーバ1(物理ホストまたは仮想マシン)がサーバ2と通信するときには、パケットがサーバ1からサーバ2に送信されると仮定すると、プロセスは以下の通りである(スイッチ1の第3の転送データベースのL2FDBがVLAN IDを含み、およびL3FDBがポート情報を含むと仮定する)。
1.サーバ1は、宛先IPアドレス2.1.1.1(サーバ2)がサーバ1と同じVLAN内にないと決定する。したがって、サーバ1は、ゲートウェイ1.1.1.1に対応するMACアドレスを要求するARP要求を送信する。
2.サーバ1からARP要求を受信した後で、スイッチ1のチップは、要求されたIPアドレスがスイッチ1のレイヤ3インタフェースIPアドレスであることを判断し、したがって、スイッチ1は、スイッチ1のMACアドレス(MAC-S)を含むARP応答を送信する。さらに、スイッチ1はポート1を介してARP要求パケットを受信するので、スイッチ1は、例えばポート1の識別子(port1)を用いて第2の転送データベースを探索して、図9に示されるエントリ801を用いて対応するMLAGメンバインタフェース識別子「m-interface1」を見つけ、およびスイッチ1は、図7にエントリ701として示されるように、ARP要求パケット中のソースMACアドレス、ソースIPアドレス、およびポート1が属するVLAN識別子、ならびにMLAGメンバインタフェースの間の対応(1.1.1.2<=>MAC1<=>100<=>m-interface1)を、第3の転送データベースのL3FDBに記憶する。さらに、スイッチ1は、図6にエントリ603として示されるように、ARP要求パケット中のソースMACアドレスおよびVLAN識別子、ならびにMLAGメンバインタフェースの間の対応(MAC1<=>100<=>m-interface1)を、L2FDBにさらに記憶する。この例では、ARP要求のソースMACアドレスおよびソースIPアドレスは、サーバ1のそれらである。MLAGネットワーキングモードが図3に示されるスイッチ接続であるときには、ソースMACアドレスは、スイッチ3のMACアドレスでもまたあり得る。
3.スイッチ1からAPR応答を受信した後で、サーバ1は、パケット(パケットA)をアセンブルし、およびこのパケットをスイッチ1に送信する。このパケットにおいて、宛先MACアドレスは、MAC-Sであり、ソースMACアドレスは、MAC1であり、ソースIPアドレスは、1.1.1.2であり、および宛先IPアドレスは、2.1.1.2である。
4.パケットAを受信した後で、スイッチ1のチップは、パケットAの宛先MACアドレスおよびVIDに従ってL2FDBを探索し、スイッチ1のレイヤ3インタフェースのMACアドレスと一致するエントリを発見し(例えば、図6に示されるエントリ601。エントリ601は、スイッチ1がVLAN100を構成するときに自動的に追加される。レイヤ3転送フラグは図6では明らかでないので、エントリ601のレイヤ3転送フラグが設定される。および設定された情報は、パケットの宛先アドレスがエントリと一致するときにレイヤ3転送が実行される必要があることを示すために使用される)、次いで引き続き第3の転送データベースのL3FDBを探索する。
5.スイッチ1のチップは、パケットの宛先アドレス(2.1.1.2)に従ってL3FDBを探索する。エントリは作成されていないので、スイッチ1のチップは、L3FDBの探索に失敗し、およびパケットをソフトウェアによる処理のためにスイッチ1のCPUに送信する。
6.スイッチ1のCPUは、パケットの宛先IPアドレス(2.1.1.2)にしたがってスイッチ1のソフトウェアルーティングテーブルを探索し、およびVLAN200のインタフェースIPアドレスが一致することを判断する。したがって、CPUは、引き続きスイッチ1のソフトウェアAPRテーブルを探索するが、探索はやはり失敗する。次いで、スイッチ1は、ARP要求をVLAN200中の全てのポートに送信して、2.1.1.2に対応するMACアドレスを要求する。
7.スイッチ1からARPパケットを受信した後で、サーバ2は、要求されたIPアドレスがそれ自体のIPアドレスであると判断する。したがって、サーバ2は、サーバ2のMACアドレス(MAC2)を含むARP応答を送信する。さらに、サーバ2は、スイッチ1のIPアドレスとMACアドレスの間の対応(2.1.1.2<=>MAC-S)を、サーバ2のARPテーブルに記録する。
8.サーバ2のARP応答を受信した後で、スイッチ1は、パケットを受信するためにスイッチ1によって使用されたポート(ポート2)に基づいて第2の転送データベースを探索し、および図9のエントリ903に従って対応するMLAGメンバインタフェース識別子「m-interface2」を見つける。スイッチ1は、図7にエントリ702として示されるように、ARP応答パケット中のソースMACアドレス、ソースIPアドレス、およびVLAN識別子、ならびにMLAGメンバインタフェースの間の対応(2.1.1.2<=>MAC1<=>200<=>m-interface2)を、第3の転送データベースL3FDBに記録する。さらに、スイッチ1は、例えば図6に示されるエントリ604のように、ARP応答パケット中のソースMACアドレスおよびVLAN識別子、ならびにMLAGメンバインタフェースの間の対応(MAC2<=>200<=>m-interface2)を、L2FDBに記憶する。宛先IPアドレス2.1.1.2に対応する宛先MACアドレス(MAC2)を確認した後で、スイッチ1は、パケットBをサーバ2に送信する。パケットBとパケットAの相違点は、パケットAの宛先MACアドレスがMAC2であり、およびパケットAのソースMACアドレスがMAC-Sであることである。
9.パケットBを受信した後で、サーバ2は、応答パケットをサーバ1に送信する。応答パケットの転送プロセスは、上記のステップと同様である。唯一の相違点は、スイッチ1のL3FDBが既にサーバ1の関係するエントリについての情報を含むので、応答パケットはスイッチ1のCPUによって再度処理される必要がないことである。その代わりに、スイッチ1のチップは、L3FDB中のMLAGメンバインタフェース識別子「m-interface1」(図7のエントリ701)および図8に示される第1の転送データベース中のエントリ801に従って、MLAGリンクが「プライマリ」(正常)状態であり、およびスイッチ1はMLAGリンクを介してパケットを転送する必要がないと決定する。したがって、スイッチ1のチップは、第2の転送データベースを探索し、および図9に示されるエントリ901に従ってポート1を介してサーバ1にパケットを送信する。
1.サーバ1は、宛先IPアドレス2.1.1.1(サーバ2)がサーバ1と同じVLAN内にないと決定する。したがって、サーバ1は、ゲートウェイ1.1.1.1に対応するMACアドレスを要求するARP要求を送信する。
2.サーバ1からARP要求を受信した後で、スイッチ1のチップは、要求されたIPアドレスがスイッチ1のレイヤ3インタフェースIPアドレスであることを判断し、したがって、スイッチ1は、スイッチ1のMACアドレス(MAC-S)を含むARP応答を送信する。さらに、スイッチ1はポート1を介してARP要求パケットを受信するので、スイッチ1は、例えばポート1の識別子(port1)を用いて第2の転送データベースを探索して、図9に示されるエントリ801を用いて対応するMLAGメンバインタフェース識別子「m-interface1」を見つけ、およびスイッチ1は、図7にエントリ701として示されるように、ARP要求パケット中のソースMACアドレス、ソースIPアドレス、およびポート1が属するVLAN識別子、ならびにMLAGメンバインタフェースの間の対応(1.1.1.2<=>MAC1<=>100<=>m-interface1)を、第3の転送データベースのL3FDBに記憶する。さらに、スイッチ1は、図6にエントリ603として示されるように、ARP要求パケット中のソースMACアドレスおよびVLAN識別子、ならびにMLAGメンバインタフェースの間の対応(MAC1<=>100<=>m-interface1)を、L2FDBにさらに記憶する。この例では、ARP要求のソースMACアドレスおよびソースIPアドレスは、サーバ1のそれらである。MLAGネットワーキングモードが図3に示されるスイッチ接続であるときには、ソースMACアドレスは、スイッチ3のMACアドレスでもまたあり得る。
3.スイッチ1からAPR応答を受信した後で、サーバ1は、パケット(パケットA)をアセンブルし、およびこのパケットをスイッチ1に送信する。このパケットにおいて、宛先MACアドレスは、MAC-Sであり、ソースMACアドレスは、MAC1であり、ソースIPアドレスは、1.1.1.2であり、および宛先IPアドレスは、2.1.1.2である。
4.パケットAを受信した後で、スイッチ1のチップは、パケットAの宛先MACアドレスおよびVIDに従ってL2FDBを探索し、スイッチ1のレイヤ3インタフェースのMACアドレスと一致するエントリを発見し(例えば、図6に示されるエントリ601。エントリ601は、スイッチ1がVLAN100を構成するときに自動的に追加される。レイヤ3転送フラグは図6では明らかでないので、エントリ601のレイヤ3転送フラグが設定される。および設定された情報は、パケットの宛先アドレスがエントリと一致するときにレイヤ3転送が実行される必要があることを示すために使用される)、次いで引き続き第3の転送データベースのL3FDBを探索する。
5.スイッチ1のチップは、パケットの宛先アドレス(2.1.1.2)に従ってL3FDBを探索する。エントリは作成されていないので、スイッチ1のチップは、L3FDBの探索に失敗し、およびパケットをソフトウェアによる処理のためにスイッチ1のCPUに送信する。
6.スイッチ1のCPUは、パケットの宛先IPアドレス(2.1.1.2)にしたがってスイッチ1のソフトウェアルーティングテーブルを探索し、およびVLAN200のインタフェースIPアドレスが一致することを判断する。したがって、CPUは、引き続きスイッチ1のソフトウェアAPRテーブルを探索するが、探索はやはり失敗する。次いで、スイッチ1は、ARP要求をVLAN200中の全てのポートに送信して、2.1.1.2に対応するMACアドレスを要求する。
7.スイッチ1からARPパケットを受信した後で、サーバ2は、要求されたIPアドレスがそれ自体のIPアドレスであると判断する。したがって、サーバ2は、サーバ2のMACアドレス(MAC2)を含むARP応答を送信する。さらに、サーバ2は、スイッチ1のIPアドレスとMACアドレスの間の対応(2.1.1.2<=>MAC-S)を、サーバ2のARPテーブルに記録する。
8.サーバ2のARP応答を受信した後で、スイッチ1は、パケットを受信するためにスイッチ1によって使用されたポート(ポート2)に基づいて第2の転送データベースを探索し、および図9のエントリ903に従って対応するMLAGメンバインタフェース識別子「m-interface2」を見つける。スイッチ1は、図7にエントリ702として示されるように、ARP応答パケット中のソースMACアドレス、ソースIPアドレス、およびVLAN識別子、ならびにMLAGメンバインタフェースの間の対応(2.1.1.2<=>MAC1<=>200<=>m-interface2)を、第3の転送データベースL3FDBに記録する。さらに、スイッチ1は、例えば図6に示されるエントリ604のように、ARP応答パケット中のソースMACアドレスおよびVLAN識別子、ならびにMLAGメンバインタフェースの間の対応(MAC2<=>200<=>m-interface2)を、L2FDBに記憶する。宛先IPアドレス2.1.1.2に対応する宛先MACアドレス(MAC2)を確認した後で、スイッチ1は、パケットBをサーバ2に送信する。パケットBとパケットAの相違点は、パケットAの宛先MACアドレスがMAC2であり、およびパケットAのソースMACアドレスがMAC-Sであることである。
9.パケットBを受信した後で、サーバ2は、応答パケットをサーバ1に送信する。応答パケットの転送プロセスは、上記のステップと同様である。唯一の相違点は、スイッチ1のL3FDBが既にサーバ1の関係するエントリについての情報を含むので、応答パケットはスイッチ1のCPUによって再度処理される必要がないことである。その代わりに、スイッチ1のチップは、L3FDB中のMLAGメンバインタフェース識別子「m-interface1」(図7のエントリ701)および図8に示される第1の転送データベース中のエントリ801に従って、MLAGリンクが「プライマリ」(正常)状態であり、およびスイッチ1はMLAGリンクを介してパケットを転送する必要がないと決定する。したがって、スイッチ1のチップは、第2の転送データベースを探索し、および図9に示されるエントリ901に従ってポート1を介してサーバ1にパケットを送信する。
上記のステップにより、スイッチ1は、第3の転送データベースのエントリの学習を完了する。その後は、サーバ1とサーバ2との間のパケットは、スイッチのCPUを用いてルーティングおよび転送を実行する必要なく、第1の転送データベース、第2の転送データベース、および第3の転送データベースを探索することによりスイッチ1のチップによって直接ハードウェアで転送され得、これによりパケット転送効率を向上させる。
スイッチ1がレイヤ2スイッチであり、およびレイヤ2転送のみを実行するときには、第3の転送データベースのエントリの学習プロセスは、図10に示されている。
1.サーバ1およびサーバ3は、同じVLAN(VLAN100)に属する。サーバ1のARPテーブルは、最初にサーバ3のMACアドレス情報を含まないので、サーバ1は、サーバ3のMACアドレスを要求するARP要求をブロードキャストし、ここで、ARP要求の宛先IPアドレスは、1.1.1.3となる。
2.サーバ1のARP要求を受信した後で、スイッチ1のチップは、ARP要求のイングレスポート(ポート1)に従って第2の転送データベース中で対応するMLAGメンバインタフェース識別子「m-interface1」を見つけ、およびスイッチ1は、図6にエントリ603として示されるように、ARP要求中のソースMACアドレスおよびポート1が属するVLAN識別子(VLAN100)、ならびにMLAGメンバインタフェース識別子の間の対応(100<=>MAC1<=>m-interface1)を、L2FDBに記録する。スイッチ1は、パケットの宛先MACアドレスをブロードキャストアドレスとして識別し、およびパケットをVLAN100内でブロードキャストする。
3.ブロードキャストパケットを受信した後で、サーバ3は、サーバ1の情報(ソースMACアドレスおよびソースIPアドレス)を更新して、サーバ3のARPテーブルに入れる。ブロードキャストパケットの宛先IPアドレスはサーバ3のIPアドレスであるので、サーバ3は、サーバ3のMACアドレス(MAC2)を含むARP応答をサーバ1に送信する。
4.ARP応答を受信した後で、スイッチ1のチップは、スイッチ1のARP応答パケットのイングレスポート(ポート7)に従って、対応するMLAGメンバインタフェース識別子がないか第2の転送データベースを探索する。サーバ3はスイッチ1のみに接続されており、およびスイッチ2には接続されていないので、ポート7に対応するMLAGメンバインタフェース識別子は、第2の転送データベースで発見されることは不可能である。したがって、スイッチ1のチップは、図6にエントリ602として示されるように、ARP応答パケット中のソースMACアドレス(ここではサーバ3のMACアドレスMAC3)およびポート7に対応するVLAN識別子(VLAN100)ならびに物理ポート(ポート7)の間の対応(MAC3<=>VLAN100<=>port7)をスイッチ1のL2FDBに追加する。さらに、スイッチ1のチップは、ARP要求パケットの宛先MACアドレス(MAC1)およびVID(VLAN100)に従ってL2FDBを探索し、および図6に示されるエントリ603を用いて対応するMLAGメンバインタフェース識別子「m-interface1」を見つけ、第1の転送データベース(図8に示されるエントリ801)および第2の転送データベース(図9に示されるエントリ901)を探索し、および「m-interface1」に対応する物理ポートが「ポート1」であって、MLAGリンクの現在のステータスが「プライマリ」であると決定する。最終的にスイッチ1は、ARP応答をポート2を介してサーバ1に送信する。
5.ARP応答を受信した後で、サーバ1は、サーバ3のMACアドレスをサーバ1のARPテーブルに追加する。次いで、サーバ1は、宛先MACアドレスがMAC3であるパケットCをサーバ3に送信することができる。
6.パケットCを受信した後で、スイッチ1のチップは、パケットC中の宛先MACアドレスおよびVIDに従って、L2FDB中のエントリ(図6に示されるエントリ602)に対応するポート識別子「port7」を見つける。「port7」は物理ポートを示すので、スイッチ3は、第1の転送データベースおよび第2の転送データベースを探索し続ける必要はなく、およびポート7を介してパケットCをサーバ3に直接送信する。
7.パケットCを受信した後で、サーバ3は、パケットCの応答パケットを送信する。
8.パケットCの応答パケットを受信した後は、プロセスはステップ4と同様である。すなわち、スイッチ1が、第3の転送データベース(L2FDB)、第1の転送データベース、および第2の転送データベースを探索して、最終的に物理エグレスポート1を見つけ、およびポート1を介してパケットをサーバ1に送信する。
1.サーバ1およびサーバ3は、同じVLAN(VLAN100)に属する。サーバ1のARPテーブルは、最初にサーバ3のMACアドレス情報を含まないので、サーバ1は、サーバ3のMACアドレスを要求するARP要求をブロードキャストし、ここで、ARP要求の宛先IPアドレスは、1.1.1.3となる。
2.サーバ1のARP要求を受信した後で、スイッチ1のチップは、ARP要求のイングレスポート(ポート1)に従って第2の転送データベース中で対応するMLAGメンバインタフェース識別子「m-interface1」を見つけ、およびスイッチ1は、図6にエントリ603として示されるように、ARP要求中のソースMACアドレスおよびポート1が属するVLAN識別子(VLAN100)、ならびにMLAGメンバインタフェース識別子の間の対応(100<=>MAC1<=>m-interface1)を、L2FDBに記録する。スイッチ1は、パケットの宛先MACアドレスをブロードキャストアドレスとして識別し、およびパケットをVLAN100内でブロードキャストする。
3.ブロードキャストパケットを受信した後で、サーバ3は、サーバ1の情報(ソースMACアドレスおよびソースIPアドレス)を更新して、サーバ3のARPテーブルに入れる。ブロードキャストパケットの宛先IPアドレスはサーバ3のIPアドレスであるので、サーバ3は、サーバ3のMACアドレス(MAC2)を含むARP応答をサーバ1に送信する。
4.ARP応答を受信した後で、スイッチ1のチップは、スイッチ1のARP応答パケットのイングレスポート(ポート7)に従って、対応するMLAGメンバインタフェース識別子がないか第2の転送データベースを探索する。サーバ3はスイッチ1のみに接続されており、およびスイッチ2には接続されていないので、ポート7に対応するMLAGメンバインタフェース識別子は、第2の転送データベースで発見されることは不可能である。したがって、スイッチ1のチップは、図6にエントリ602として示されるように、ARP応答パケット中のソースMACアドレス(ここではサーバ3のMACアドレスMAC3)およびポート7に対応するVLAN識別子(VLAN100)ならびに物理ポート(ポート7)の間の対応(MAC3<=>VLAN100<=>port7)をスイッチ1のL2FDBに追加する。さらに、スイッチ1のチップは、ARP要求パケットの宛先MACアドレス(MAC1)およびVID(VLAN100)に従ってL2FDBを探索し、および図6に示されるエントリ603を用いて対応するMLAGメンバインタフェース識別子「m-interface1」を見つけ、第1の転送データベース(図8に示されるエントリ801)および第2の転送データベース(図9に示されるエントリ901)を探索し、および「m-interface1」に対応する物理ポートが「ポート1」であって、MLAGリンクの現在のステータスが「プライマリ」であると決定する。最終的にスイッチ1は、ARP応答をポート2を介してサーバ1に送信する。
5.ARP応答を受信した後で、サーバ1は、サーバ3のMACアドレスをサーバ1のARPテーブルに追加する。次いで、サーバ1は、宛先MACアドレスがMAC3であるパケットCをサーバ3に送信することができる。
6.パケットCを受信した後で、スイッチ1のチップは、パケットC中の宛先MACアドレスおよびVIDに従って、L2FDB中のエントリ(図6に示されるエントリ602)に対応するポート識別子「port7」を見つける。「port7」は物理ポートを示すので、スイッチ3は、第1の転送データベースおよび第2の転送データベースを探索し続ける必要はなく、およびポート7を介してパケットCをサーバ3に直接送信する。
7.パケットCを受信した後で、サーバ3は、パケットCの応答パケットを送信する。
8.パケットCの応答パケットを受信した後は、プロセスはステップ4と同様である。すなわち、スイッチ1が、第3の転送データベース(L2FDB)、第1の転送データベース、および第2の転送データベースを探索して、最終的に物理エグレスポート1を見つけ、およびポート1を介してパケットをサーバ1に送信する。
上記のステップにより、スイッチ1は、第3の転送データベースのエントリの学習を完了する。その後は、サーバ1とサーバ3との間のパケット転送では、スイッチ1は、チップを用いて第1の転送データベース、第2の転送データベース、および第3の転送データベースを探索し、次いでハードウェアによって転送を実行するだけでよい。
図11に示されるように、サーバ1は、スイッチ1およびスイッチ2を含むMLAGシステムに接続されている。スイッチ1のチップまたはCPUが、MLAGリンク(ポート1)が故障していることを検出したとき、スイッチ1のチップは、第2の転送データベース、例えば図9に示されるエントリ901を探索することによって、故障しているMLAGリンクに対応するMLAGメンバインタフェースが「m-interface1」であると決定する。チップは、「m-interface1」に従って、例えばエントリ1101など、対応するアクティブ/待機切換えフラグがないか第1の転送データベースを探索し、およびアクティブ/待機切換えフラグを「プライマリ」から「バックアップ」(エントリ1102)に変更して、ピアリンク(ポート5)を介してサーバ1と通信するようにスイッチ1に命令するようにする。MLAGリンク(ポート1)が回復されたときに、チップは、第2の転送データベースおよび第1の転送データベースに基づいて、MLAGリンクに対応するアクティブ/待機切換えフラグを「バックアップ」から「プライマリ」に変更して、MLAGリンク(ポート1)を用いてサーバ1と通信するようにスイッチ1に命令する。MLAGリンクが故障または回復されたときに、リンク切換えを実施するのに、スイッチ1は、その事象に応じて第1の転送データベース中の対応するアクティブ/待機切換えフラグを修正するだけでよい。リンク障害時切換えが上記の方法を用いて実行されるときには、MACアドレステーブル中の複数のエントリを更新する(1つの故障したポートが複数のMACアドレスに対応する)、または故障したポートのマッピング記録を削除した後に再学習する(パケットブロードキャストおよびパケット応答などのプロセスを必要とするMACアドレスの学習)方式と比較して、本願に開示されるリンク障害時切換え方法は、時間がかからず、およびリンク切換え効率を大幅に向上させることができる。
図12に示されるように、スイッチ3は、スイッチ1およびスイッチ2によって形成されるMLAGシステムに接続され、およびサーバ1は、スイッチ3を用いて、スイッチ1に接続されたサーバ2と通信する。正常な場合には、サーバ1は、スイッチ3、リンク1201、スイッチ1、およびリンク1204を介してサーバ2と通信する。リンク1201が故障しているときには、スイッチ1は、MLAGリンク(リンク1201)をピアリンク(リンク1203)に切り換える。スイッチ1の第3の転送データベースはサーバ1およびサーバ2についての情報を記憶しているので、サーバ1とサーバ2とは、互いに通信し続け得る。この場合には、新たなサーバ4が、スイッチ3に接続される。スイッチ2については、スイッチ3に対応するMLAGリンク(リンク1202)は正常であり、およびサーバ4のMAC情報は、正常に学習されて、スイッチ2の第3の転送データベースに記入されることが可能である。ただし、スイッチ1については、サーバ4から送信されるパケットはピアリンク(リンク1203)を介して受信されて、そのパケットはスイッチ3についての情報を搬送していないので、サーバ4に対応するMLAGリンクがリンク1201であると決定されることは不可能であり、サーバ4のMAC情報(MLAGメンバインタフェース識別子は決定されることが不可能である)は、スイッチ1の第3の転送データベースに記入されることは不可能である。実装では、スイッチ1がサーバ4から送信されるパケットを受信する前に、スイッチ2は、スイッチ2に記憶されている第3の転送データベースについての情報(サーバ4についての情報を含む)を、ピアリンクを介してスイッチ1に同期させる。スイッチ1は、スイッチ2の第3の転送データベースについての情報に従って、サーバ4についての情報をスイッチ1の第3の転送データベースに同期させる。実装では、例えばMACアドレスがMAC10であるエントリがスイッチ1およびスイッチ2の両方に存在し、スイッチ1におけるそのエントリの最終更新時間がt1であり、およびスイッチ2におけるそのエントリの最終更新時間がt2である(t1<t2、スイッチ2におけるそのエントリの最終更新時間がスイッチ1におけるそのエントリのそれより後であることを示している)など、スイッチ1とスイッチ2との第3の転送データベースのエントリが矛盾するときには、スイッチ2におけるデータがスイッチ1に同期されたときに、スイッチ1におけるエントリが、t1<t2に従ってそのまま上書きされ得る。スイッチ3に対応する、スイッチ1およびスイッチ2のMLAGメンバインタフェース識別子は同じであるので(MLAGメンバインタフェース識別子は「m-interface4」であると仮定する)、サーバ4については、リンク1201が故障した後で、サーバ4は、サーバ1と同様にピアリンクを介してサーバ2とまた通信し得る。リンク1201が回復された後で、スイッチ1のチップは、第1の転送データベース中の「m-interface4」に対応するアクティブ/待機切換えフラグを修正し、およびサーバ4は、リンク1201を用いてサーバ2と通信し得る。
本願で提供される実施形態は単なる例であることに留意されたい。説明の便宜上、および説明の簡潔性のために、上記の実施形態では、実施形態が相違点を強調しており、および1つの実施形態で詳細に説明されていない部分については、別の実施形態の関連する説明が参照され得ることは、当業者なら明確に理解し得る。本願の実施形態、特許請求の範囲、および添付の図面に開示される特徴は、独立して存在し得、または組み合わさって存在し得る。これは、本明細書では限定されない。
以上の説明は、単に本発明の具体的な実装に過ぎず、本発明の保護範囲を限定するためのものではない。本発明に開示される技術的範囲内で当業者が容易に思いつく任意の変形または置換は、本発明の保護範囲に含まれるものとする。したがって、本発明の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
本願は、通信技術に関連し、および、特に、MLAGリンク障害時切換え方法および装置に関連する。
本願は、参照によりその全体が本明細書に組み込まれる、2020年10月12日に出願され、および「MLAG LINK FAILURE SWITCHING METHOD AND APPARATUS」と題する中国特許出願第202011086369.0号の優先権を主張するものである。
マルチシャーシリンクアグリゲーショングループ(multi-chassis link aggregation group、MLAG)とは、リンクの信頼性を向上させるために、デバイスリンクにまたがる2つ以上のスイッチを集約してアクティブ/アクティブシステムにすることに言及する。
図1を参照されたい。スイッチ1は、ポート1(ポート1とポート3との間のリンクはピアリンクと呼ばれる)を介してスイッチ2のポート3に接続されて、MLAGシステムを形成する。サーバは、このMLAGシステムに接続される。すなわち、サーバは、2つの独立した物理ポートを介してスイッチ1およびスイッチ2の両方に接続される。サーバは、アクティブ/アクティブ構成に基づいてこの2つのスイッチに同時にパケットを送信することができ、またはアクティブ/待機(active-standby)構成に基づいて一方のスイッチのみにパケットを送信することができる(そのスイッチが故障している場合には、サーバは、他方のスイッチにパケットを送信する)。正常な場合には、スイッチ1は、ネットワーク側からパケットを受信し、パケットの宛先アドレスに従ってローカル転送データベース(forwarding database、FDB)、例えばMACアドレステーブルなどを探索して、サーバに接続された対応する物理エグレスポート、例えばポート2などを発見し、そのポート2を介してパケットをサーバに転送する。
サーバとスイッチ1の間のリンク(ポート2)が故障しているときには、ある方法では、スイッチ1は、転送データベースを更新し、およびポート2に対応する全てのエントリのエグレスポート値をポート1(ピアリンク)に更新する。別の方法では、スイッチ1は、ポート2に対応する全てのエントリを削除、または転送データベースの全てのエントリを削除し、MACアドレスの再学習によりサーバに対応するMACアドレスからポート1へのマッピングの記録を学習し、およびMLAGリンク切換えを完了する。
この2つの方法は両方とも、特有の欠点を有する。前者の方法では、転送データベース内のポート値は、スイッチ1のCPUを用いてリフレッシュされる必要がある。CPUによる処理の間は、転送データベースがフリーズ(freezing)される必要がある。結果として、転送データベースがパケットの転送に使用されることが不可能となり、およびスイッチ1のトラフィックがある期間にわたって中断される。後者の方法では、再学習プロセスにおいて、スイッチ1は、特定の期間内にパケットをブロードキャストする。さらに、再学習を完了するのにはまた特定の期間を要する。2つの方法のいずれにおいても、スイッチ1のMLAGリンク切換えを完了するのに比較的長い時間がかかる。
本願は、リンク切換えに必要な時間オーバヘッドを低減し、およびリンク障害時切換えの効率を向上させるために、MLAGリンク障害時切換え方法および装置を提供する。
第1の態様によれば、本願は、MLAGリンク障害時切換えのためのネットワークデバイスを提供する。このネットワークデバイスは、チップを含む。チップは、転送データベースを生成し、および受信されるパケットを転送データベースに基づいて転送するように構成される。転送データベースは、第1の転送データベース、第2の転送データベース、および第3の転送データベースを含む。転送データベースは3つの部分に分割されるので、リンクが故障したときに転送データベース内で修正されるエントリの数量が低減されることが可能であり、時間オーバヘッドが低減されることが可能であり、リンク切換え効率が改善されることが可能である。
任意選択の実装では、第1の転送データベースは、少なくとも1つのマルチシャーシリンクアグリゲーショングループMLAGメンバインタフェースから少なくとも1つのアクティブ/待機切換えフラグへのマッピングを記憶するために使用され、第2の転送データベースは、少なくとも1つの第1の物理ポートから少なくとも1つのMLAGメンバインタフェースへのマッピングを記憶するために使用され、および第3の転送データベースは、媒体アクセス制御MACアドレスから第1のMLAGメンバインタフェースへのマッピングを記憶するために使用され、第1のMLAGメンバインタフェースは、少なくとも1つのMLAGメンバインタフェース中にある。ネットワークデバイスは、MLAGメンバインタフェースを用いてMACアドレスと物理ポートとの間の関連を切り離すので、ネットワークリンクが変化した(例えばリンクが故障した)ときに、ネットワークデバイスは、MACアドレスおよび物理ポートについての情報を修正することなく故障したリンクの切換えを実施することができ、それにより切換え効率を向上させることができる。
任意選択の実装では、チップは、パケットのソースMACアドレスから第3の転送データベース中の第2のMLAGメンバインタフェースへのマッピングを記憶するようにさらに構成され、第2のMLAGメンバインタフェースは、第2の転送データベースに基づいて第1の物理ポートに対応するMLAGメンバインタフェースであり、および第1の物理ポートは、パケットを受信する物理ポートである。
任意選択の実装では、MLAGリンクが故障しているときに、チップは、第1の転送データベース中の第3のMLAGメンバインタフェースに対応するアクティブ/待機切換えフラグの値をバックアップフラグに更新し、バックアップフラグは、第3のMLAGメンバインタフェースを指すパケットをピアリンクを介して送信するようにチップに命令するために使用され、第3のMLAGメンバインタフェースは、第2の転送データベースに基づいて第2の物理ポートに対応するMLAGメンバインタフェースであり、および第2の物理ポートは、MLAGリンクの物理ポートである。ネットワークデバイスは、アクティブ/待機切換えフラグの値を修正するだけで故障したリンクの切換えを完了し、これによりリンク切換え効率を向上させる。
任意選択の実装では、MLAGリンクが回復されたときに、チップは、第3のMLAGメンバインタフェースに対応するアクティブ/待機切換えフラグの値をプライマリフラグに更新し、プライマリフラグは、第2の転送データベースに基づいてパケットを転送するようにチップに命令するために使用される。ネットワークデバイスは、アクティブ/待機切換えフラグの値を修正するだけで故障したリンクの回復を完了し、これによりリンク回復効率を向上させる。
任意選択の実装では、チップは、第3の転送データベースに基づいて、パケットの宛先MACアドレスに対応するMLAGメンバインタフェースが第1のMLAGメンバインタフェースであると決定し、および第1の転送データベース中の第1のMLAGメンバインタフェースに対応するアクティブ/待機切換えフラグの値がプライマリフラグであるときに、第3の物理ポートを介してパケットを転送するように構成され、第3の物理ポートは、第2の転送データベース中の第1のMLAGメンバインタフェースに対応する物理ポートである。
任意選択の実装では、第1のMLAGメンバインタフェースに対応するアクティブ/待機切換えフラグの値がバックアップフラグであるときには、チップは、ピアリンクを介してパケットを転送する。
任意選択の実装では、このネットワークデバイスと別のネットワークデバイスとが、MLAGシステムを形成し、およびこのネットワークデバイスは、第3の転送データベースをその別のネットワークデバイスに同期させるように構成される。第3の転送データベースがMLAGシステム内で同期されるので、リンクが故障した後で、新たな外部デバイスがMLAGシステムに接続されたときに、ネットワークデバイスは、その新たなアクセスデバイスについての情報を取得することができる。
第2の態様によれば、本願は、MLAGリンク切換え方法を開示する。この方法は、ネットワークデバイスのMLAGリンクが故障しているときに、第1の転送データベース中の第1のMLAGメンバインタフェースに対応するアクティブ/待機切換えフラグの値をバックアップフラグに更新するステップであって、バックアップフラグは、第1のMLAGメンバインタフェースを指すパケットをピアリンクを介して送信するようにネットワークデバイスに命令するために使用され、第1のMLAGメンバインタフェースは、第2の転送データベースに従って第1の物理ポートに対応するMLAGメンバインタフェースであり、および第1の物理ポートは、MLAGリンクの物理ポートである、ステップを含み、およびネットワークデバイスは、第1の転送データベースおよび第2の転送データベースを含み、第1の転送データベースは、少なくとも1つのマルチシャーシリンクアグリゲーショングループMLAGメンバインタフェースから少なくとも1つのアクティブ/待機切換えフラグへのマッピングを記憶するために使用され、および第2の転送データベースは、少なくとも1つの物理ポートから少なくとも1つのMLAGメンバインタフェースへのマッピングを記憶するために使用される。
任意選択の実装では、MLAGリンクが回復されたときに、第1のMLAGメンバインタフェースに対応するアクティブ/待機切換えフラグの値は、プライマリフラグに更新され、プライマリフラグは、第2の転送データベースに基づいてパケットを送信するようにネットワークデバイスに命令するために使用される。
任意選択の実装では、ネットワークデバイスは、第3の転送データベースをさらに含み、およびこの方法は、パケットのソースMACアドレスから第2のMLAGメンバインタフェースへのマッピングを第3の転送データベースに記憶するステップをさらに含み、第2のMLAGメンバインタフェースは、第2の転送データベースに基づいて第2の物理ポートに対応するMLAGメンバインタフェースであり、および第2の物理ポートは、パケットを受信する物理ポートである。
任意選択の実装では、この方法は、第3の転送データベースに基づいて、パケットの宛先MACアドレスに対応するMLAGメンバインタフェースが第1のMLAGメンバインタフェースであると決定するステップであって、第3の転送データベースは、宛先MACアドレスから第1のMLAGメンバインタフェースへのマッピングをさらに含む、ステップと、第1の転送データベース中の第1のMLAGメンバインタフェースに対応するアクティブ/待機切換えフラグの値がプライマリフラグであるときに、第1の物理ポートを用いてパケットを転送するステップとをさらに含む。
任意選択の実装では、第1のMLAGメンバインタフェースに対応するアクティブ/待機切換えフラグの値がバックアップフラグであるときには、パケットは、ピアリンクを介して転送される。
任意選択の実装では、第3の転送データベースは、別のネットワークデバイスに同期され、この別のネットワークデバイスとこのネットワークデバイスとが、MLAGシステムを形成する。
本願の第2の態様の有利な効果については、第1の態様および第1の態様の実装を参照されたい。
当業者が本願の解決策をより良好に理解できるように、以下、本願の実施形態の添付の図面を参照して本願の実施形態の技術的解決策について明確に説明する。
複数のスイッチは、MLAG機構を使用して、複数のデバイス間のリンクアグリゲーションを実装する。これらのデバイスは、MLAGシステムとしても知られるアクティブ/アクティブ(active-active)システムを形成する。サーバまたはカスタマエッジ(customer edge、CE)は、MLAGシステムを介して、一般のイーサネットネットワーク、多数のリンクの透過的な相互接続(transparent interconnection of lots of links、TRILL)ネットワーク、仮想拡張可能ローカルエリアネットワーク(Virtual Extensible Local Area Network、VXLAN)、またはインターネットなどのネットワークに接続される。MLAGシステムへの接続により、負荷バランシングおよびバックアップ保護が実装されることが可能である。
MLAGシステムには、サーバ接続、スイッチ接続、および多層MLAGモードなど、複数のネットワーキングモードがある。サーバ接続は、図2に示されている。サーバは、スイッチ1およびスイッチ2を介してネットワークに接続される(スイッチ1とスイッチ2とがMLAGシステムを形成する)。スイッチ接続は、図3に示されている。カスタマエッジ(スイッチ3)が、スイッチ1およびスイッチ2に接続され(スイッチ1とスイッチ2とがMLAGシステムを形成する)、およびサーバは、スイッチ3を用いてネットワークに接続される。図4に示されるように、スイッチ1とスイッチ2とがMLAGシステムを形成し(このMLAGシステムをmlag1と仮定する)、スイッチ3とスイッチ4とがMLAGシステムを形成し(このMLAGシステムをmlag2と仮定する)、およびスイッチ3およびスイッチ4は、mlag1システムに接続される。MLAGシステムには、さらに多くのネットワーキングモードがあり得る。これは、本願では限定されない。本願で開示されるMLAGリンク切換え装置は、上記に示されているMLAGシステム中の任意のスイッチ、例えば図2または図3に示されるスイッチ1またはスイッチ2、および図4に示されるスイッチ1、スイッチ2、スイッチ3、またはスイッチ4などであり得る。説明を容易にするために、本願では、図2に示されるサーバ接続シナリオのスイッチ1が、MLAGリンク切換え装置を説明するための例として用いられる。
MLAGリンク切換え装置は、図5ではスイッチ500として示されている。スイッチ500は、チップ、メモリ507、およびポートを含む。チップは、チップ502を含む。ポート506は、パケットを転送するために使用される。さらに、ポート506は、外部デバイスに接続されて、MLAGリンクまたはピアリンクを形成し得る。図1に示されるように、スイッチ1では、ポート1およびポート2のそれぞれが、ポート506である。チップ502は、特定用途向け集積回路(application-specific integrated circuit、ASIC)、フィールドプログラマブルゲートアレイ(field programmable gate array、FPGA)、ネットワークプロセッサ(network processor、NP)または同種のものであり得る。メモリ507は、ランダムアクセスメモリ(random access memory、RAM)、ダイナミックランダムアクセスメモリ(dynamic random access memory、DRAM)、スタティックランダムアクセスメモリ(static random access memory、SRAM)、もしくは連想メモリ(content addressable memory、CAM)などの揮発性メモリ(volatile memory)であり得、または読取り専用メモリ(read-only memory、ROM)もしくはソリッドステートディスク(solid state disk、SSD)などの不揮発性メモリ(non-volatile memory)であり得、または複数のタイプのメモリの組合せであり得る。実際の配置時には、メモリ507は、異なるタイプまたは同じタイプの複数のメモリを含み得、およびこの複数のメモリは、スイッチ500の異なるモジュールに配置され得る。例えば、メモリ507は、図5に示されるように、チップ502内に位置し得るが、チップ502の外部にもまた位置し得る。メモリ507は、命令508を記憶し得、または第1の転送データベース503、第2の転送データベース504、および第3の転送データベース505のエントリを記憶し得る。命令508、ならびに第1の転送データベース503、第2の転送データベース504、および第3の転送データベース505のエントリは、1つのメモリに記憶され得、または異なるメモリに別個に記憶され得る。これは、本願では限定されない。
チップ502は、中央処理ユニット(CPU)501をさらに含み得る。CPU501は、転送を制御して、いくつかのソフトウェアエントリ(ソフトウェアルーティングテーブルおよびソフトウェアARP(アドレス解決プロトコル)テーブルなど)を維持するように構成され得る。さらに、チップ502は、CPU501を用いてソフトウェアルーティングテーブルまたはソフトウェアARPテーブルを探索することによって、ルーティングおよび転送をサポートし得る。スイッチ500は、CPU501またはチップ502を用いて命令508を呼び出すことによって、第1の転送データベース503、第2の転送データベース504、および第3の転送データベース505を生成する。
図8に示されるように、第1の転送データベース503は、MLAGメンバインタフェース(interface)からアクティブ/待機切換えフラグ(switch-flag)へのマッピングを含む。MLAGメンバインタフェースは、スイッチ1を外部デバイスに接続する物理ポート(MLAGポートとも呼ばれる)の論理識別子によって示され、およびスイッチ1に接続された個別の外部デバイスを示すために使用される。MLAGポートを用いて外部デバイス(この外部デバイスは、サーバまたはスイッチ、例えば図2のサーバ1または図3のスイッチ3などであり得る)に接続されるリンク(リンクの両端の物理ポートを含む)は、MLAGリンクと呼ばれる。MLAGリンクは、外部デバイスとスイッチ1との間の通信のためのプライマリリンクでもある。図2に示されるように、スイッチ1については、「m-interface1」は、スイッチ1がポート1を介してサーバ1に接続されることを示し、および「m-interface2」は、スイッチ1がポート2を介してサーバ2に接続されることを示す。サーバ1とスイッチ1との間の通信のためのプライマリリンクは、ポート1を用いて接続されるMLAGリンクであり、およびバックアップリンクは、スイッチ1によってポート5を介してスイッチ2に接続されるピアリンクである。サーバ2とスイッチ2との間の通信のためのプライマリリンクは、ポート2を介して接続されるMLAGリンクであり、バックアップリンクは、ポート5を介してスイッチ2に接続されるピアリンクである。スイッチ2については、「m-interface1」は、スイッチ2がポート3を介してサーバ1に接続されることを示し、および「m-interface2」は、スイッチ2がポート4を介してサーバ2に接続されることを示す。サーバ1とスイッチ2との間の通信のためのプライマリリンクは、ポート3を介して接続されるMLAGリンクであり、およびバックアップリンクは、スイッチ2によってポート6を介してスイッチ1に接続されるピアリンクである。サーバ2とスイッチ2との間の通信のためのプライマリリンクは、ポート4を介して接続されるMLAGリンクであり、およびバックアップリンクは、スイッチ2によってポート6を介してスイッチ1に接続されるピアリンクである。アクティブ/待機切換えフラグは、MLAGリンクの現在のステータスを示すために使用される。図8に示されるように、エントリ801は、図2のスイッチ1とサーバ1との間のMLAGリンク(ポート1)が正常であり、およびスイッチ1がポート1を介してサーバ1にパケットを転送することを示す。MLAGリンク(ポート1)が故障しているときには、エントリ801のアクティブ/待機切換えフラグの値が「プライマリ」から「バックアップ」に切り換えられて、スイッチ1がサーバ1にパケットをサーバ1に送信するために元々使用されるエグレスポートをポート1からポート5に切り換える必要があることを示す。本願では、「m-interface1\2」などの文字列が、MLAGメンバインタフェースを識別するために使用される。実際の配置時には、MLAGメンバインタフェースは、任意の文字を含む識別子を用いて識別され得る。例えば、アクティブ/待機切換えフラグは、「プライマリ/バックアップ」に加えて「アクティブ/待機」によってまた識別され得る。これは、本願では限定されない。
第2の転送データベース504は、MLAGメンバインタフェースから外部デバイスに接続された物理ポートへのマッピングを含む。図9に示されるように、図9は、図2のスイッチ1のMLAGメンバインタフェース(interfaces)と、サーバ1およびサーバ2に接続するためにスイッチ1によって使用される物理ポート(ports)との間のマッピングを示している。エントリ901は、スイッチ1がポート1を介してサーバ1に接続されることを示し、およびエントリ902は、スイッチ1がポート2を介してサーバ2に接続されることを示す。
第3の転送データベース505は、レイヤ2転送データベース(layer 2 forwarding database、L2FDB)を含む。L2FDBは、主に、データリンクレイヤ(レイヤ2)におけるパケット転送に使用される。スイッチ500がレイヤ3切換え機能を有するときには、第3の転送データベース505は、レイヤ3転送データベース(layer 3 forwarding database、L3FDB)をさらに含む。L3FDBは、ネットワークレイヤ(レイヤ3)におけるパケット転送に使用される。L2FDBは、MACアドレスおよびポートマッピングなどの情報を含み、およびポート情報は、物理ポートまたはMLAGメンバインタフェースであり得る。MACアドレスおよびポート情報に加えて、L2FDBは、仮想ローカルエリアネットワーク(virtual local area network、VLAN)識別子(VID)をさらに含み得る。L2FDBは、図6に示されている。図7に示されるように、L3FDBは、IPアドレス、VID、MACアドレス、およびポート情報を含む。実装では、L3FDBはポート情報を含まない。パケット転送プロセスでは、スイッチ500は、VIDおよびMACアドレスに従ってポート情報がないかL2FDBを探索する必要がある。
第1の転送データベース503および第2の転送データベース504の内容は、スイッチ500が転送のためのパケットを受信したときに生成され得るが、通常は、ネットワーク管理者がMLAGを構成したときに生成される。図2に示されるように、スイッチ1およびスイッチ2がMLAGシステムを形成するように構成され、およびサーバ1が、このMLAGシステムに接続されたときに、スイッチ1は、図8に示される第1の転送データベース503および図9に示される第2の転送データベース504の関係するエントリについての情報を(リンクディスカバリなどによって)自動的に、または手動で生成し得る。第3の転送データベース505のエントリは、手動構成または動的学習(MAC学習)によって生成され得る。本願では、動的学習は例として用いられており、および図2を拡張適用して、第1の転送データベース503のエントリを作成するプロセスを説明する。具体的には、図10に示されるように、スイッチ1、スイッチ2、サーバ1、サーバ2、およびサーバ3の構成は、以下の通りである。
スイッチ1とスイッチ2がMLAGシステムを形成するので、スイッチ1およびスイッチ2は、同じIPアドレスおよび同じMACアドレスを有するように設定される(実装では、MLAGシステム中のMACアドレスは異なり得る)。スイッチ1およびスイッチ2の両方がVLAN100およびVLAN200に接続されるので、VLAN100のインタフェースIPアドレス(レイヤ3インタフェースIPアドレスとも知られている)は、1.1.1.1に設定され、およびVLAN200のインタフェースIPアドレスは、2.1.1.1に設定される。スイッチ1のMACアドレス(MAC-S)は、スイッチ1の物理アドレスであり得、または仮想アドレスであり得、およびMACアドレスは、レイヤ3パケット切換えに使用される。サーバ1およびサーバ3は、同じVLAN(VLAN100)に属し、およびデフォルトのゲートウェイは、1.1.1.1である。スイッチ2は、別のVLAN(VLAN200)に属し、およびデフォルトのゲートウェイは、2.1.1.1である。
サーバ1(物理ホストまたは仮想マシン)がサーバ2と通信するときには、パケットがサーバ1からサーバ2に送信されると仮定すると、プロセスは以下の通りである(スイッチ1の第3の転送データベースのL2FDBがVLAN IDを含み、およびL3FDBがポート情報を含むと仮定する)。
1.サーバ1は、宛先IPアドレス2.1.1.1(サーバ2)がサーバ1と同じVLAN内にないと決定する。したがって、サーバ1は、ゲートウェイ1.1.1.1に対応するMACアドレスを要求するARP要求を送信する。
2.サーバ1からARP要求を受信した後で、スイッチ1のチップは、要求されたIPアドレスがスイッチ1のレイヤ3インタフェースIPアドレスであることを判断し、したがって、スイッチ1は、スイッチ1のMACアドレス(MAC-S)を含むARP応答を送信する。さらに、スイッチ1はポート1を介してARP要求パケットを受信するので、スイッチ1は、例えばポート1の識別子(port1)を用いて第2の転送データベースを探索して、図9に示されるエントリ901を用いて対応するMLAGメンバインタフェース識別子「m-interface1」を見つけ、およびスイッチ1は、図7にエントリ701として示されるように、ARP要求パケット中のソースMACアドレス、ソースIPアドレス、およびポート1が属するVLAN識別子、ならびにMLAGメンバインタフェースの間の対応(1.1.1.2<=>MAC1<=>100<=>m-interface1)を、第3の転送データベースのL3FDBに記憶する。さらに、スイッチ1は、図6にエントリ603として示されるように、ARP要求パケット中のソースMACアドレスおよびVLAN識別子、ならびにMLAGメンバインタフェースの間の対応(MAC1<=>100<=>m-interface1)を、L2FDBにさらに記憶する。この例では、ARP要求のソースMACアドレスおよびソースIPアドレスは、サーバ1のそれらである。MLAGネットワーキングモードが図3に示されるスイッチ接続であるときには、ソースMACアドレスは、スイッチ3のMACアドレスでもまたあり得る。
3.スイッチ1からARP応答を受信した後で、サーバ1は、パケット(パケットA)をアセンブルし、およびこのパケットをスイッチ1に送信する。このパケットにおいて、宛先MACアドレスは、MAC-Sであり、ソースMACアドレスは、MAC1であり、ソースIPアドレスは、1.1.1.2であり、および宛先IPアドレスは、2.1.1.2である。
4.パケットAを受信した後で、スイッチ1のチップは、パケットAの宛先MACアドレスおよびVIDに従ってL2FDBを探索し、スイッチ1のレイヤ3インタフェースのMACアドレスと一致するエントリを発見し(例えば、図6に示されるエントリ601。エントリ601は、スイッチ1がVLAN100を構成するときに自動的に追加される。レイヤ3転送フラグは図6では明らかでないので、エントリ601のレイヤ3転送フラグが設定される。および設定された情報は、パケットの宛先アドレスがエントリと一致するときにレイヤ3転送が実行される必要があることを示すために使用される)、次いで引き続き第3の転送データベースのL3FDBを探索する。
5.スイッチ1のチップは、パケットの宛先アドレス(2.1.1.2)に従ってL3FDBを探索する。エントリは作成されていないので、スイッチ1のチップは、L3FDBの探索に失敗し、およびパケットをソフトウェアによる処理のためにスイッチ1のCPUに送信する。
6.スイッチ1のCPUは、パケットの宛先IPアドレス(2.1.1.2)にしたがってスイッチ1のソフトウェアルーティングテーブルを探索し、およびVLAN200のインタフェースIPアドレスが一致することを判断する。したがって、CPUは、引き続きスイッチ1のソフトウェアARPテーブルを探索するが、探索はやはり失敗する。次いで、スイッチ1は、ARP要求をVLAN200中の全てのポートに送信して、2.1.1.2に対応するMACアドレスを要求する。
7.スイッチ1からARPパケットを受信した後で、サーバ2は、要求されたIPアドレスがそれ自体のIPアドレスであると判断する。したがって、サーバ2は、サーバ2のMACアドレス(MAC2)を含むARP応答を送信する。さらに、サーバ2は、スイッチ1のIPアドレスとMACアドレスの間の対応(2.1.1.2<=>MAC-S)を、サーバ2のARPテーブルに記録する。
8.サーバ2のARP応答を受信した後で、スイッチ1は、パケットを受信するためにスイッチ1によって使用されたポート(ポート2)に基づいて第2の転送データベースを探索し、および図9のエントリ903に従って対応するMLAGメンバインタフェース識別子「m-interface2」を見つける。スイッチ1は、図7にエントリ702として示されるように、ARP応答パケット中のソースMACアドレス、ソースIPアドレス、およびVLAN識別子、ならびにMLAGメンバインタフェースの間の対応(2.1.1.2<=>MAC1<=>200<=>m-interface2)を、第3の転送データベースL3FDBに記録する。さらに、スイッチ1は、例えば図6に示されるエントリ604のように、ARP応答パケット中のソースMACアドレスおよびVLAN識別子、ならびにMLAGメンバインタフェースの間の対応(MAC2<=>200<=>m-interface2)を、L2FDBに記憶する。宛先IPアドレス2.1.1.2に対応する宛先MACアドレス(MAC2)を確認した後で、スイッチ1は、パケットBをサーバ2に送信する。パケットBとパケットAの相違点は、パケットAの宛先MACアドレスがMAC2であり、およびパケットAのソースMACアドレスがMAC-Sであることである。
9.パケットBを受信した後で、サーバ2は、応答パケットをサーバ1に送信する。応答パケットの転送プロセスは、上記のステップと同様である。唯一の相違点は、スイッチ1のL3FDBが既にサーバ1の関係するエントリについての情報を含むので、応答パケットはスイッチ1のCPUによって再度処理される必要がないことである。その代わりに、スイッチ1のチップは、L3FDB中のMLAGメンバインタフェース識別子「m-interface1」(図7のエントリ701)および図8に示される第1の転送データベース中のエントリ801に従って、MLAGリンクが「プライマリ」(正常)状態であり、およびスイッチ1はMLAGリンクを介してパケットを転送する必要がないと決定する。したがって、スイッチ1のチップは、第2の転送データベースを探索し、および図9に示されるエントリ901に従ってポート1を介してサーバ1にパケットを送信する。
1.サーバ1は、宛先IPアドレス2.1.1.1(サーバ2)がサーバ1と同じVLAN内にないと決定する。したがって、サーバ1は、ゲートウェイ1.1.1.1に対応するMACアドレスを要求するARP要求を送信する。
2.サーバ1からARP要求を受信した後で、スイッチ1のチップは、要求されたIPアドレスがスイッチ1のレイヤ3インタフェースIPアドレスであることを判断し、したがって、スイッチ1は、スイッチ1のMACアドレス(MAC-S)を含むARP応答を送信する。さらに、スイッチ1はポート1を介してARP要求パケットを受信するので、スイッチ1は、例えばポート1の識別子(port1)を用いて第2の転送データベースを探索して、図9に示されるエントリ901を用いて対応するMLAGメンバインタフェース識別子「m-interface1」を見つけ、およびスイッチ1は、図7にエントリ701として示されるように、ARP要求パケット中のソースMACアドレス、ソースIPアドレス、およびポート1が属するVLAN識別子、ならびにMLAGメンバインタフェースの間の対応(1.1.1.2<=>MAC1<=>100<=>m-interface1)を、第3の転送データベースのL3FDBに記憶する。さらに、スイッチ1は、図6にエントリ603として示されるように、ARP要求パケット中のソースMACアドレスおよびVLAN識別子、ならびにMLAGメンバインタフェースの間の対応(MAC1<=>100<=>m-interface1)を、L2FDBにさらに記憶する。この例では、ARP要求のソースMACアドレスおよびソースIPアドレスは、サーバ1のそれらである。MLAGネットワーキングモードが図3に示されるスイッチ接続であるときには、ソースMACアドレスは、スイッチ3のMACアドレスでもまたあり得る。
3.スイッチ1からARP応答を受信した後で、サーバ1は、パケット(パケットA)をアセンブルし、およびこのパケットをスイッチ1に送信する。このパケットにおいて、宛先MACアドレスは、MAC-Sであり、ソースMACアドレスは、MAC1であり、ソースIPアドレスは、1.1.1.2であり、および宛先IPアドレスは、2.1.1.2である。
4.パケットAを受信した後で、スイッチ1のチップは、パケットAの宛先MACアドレスおよびVIDに従ってL2FDBを探索し、スイッチ1のレイヤ3インタフェースのMACアドレスと一致するエントリを発見し(例えば、図6に示されるエントリ601。エントリ601は、スイッチ1がVLAN100を構成するときに自動的に追加される。レイヤ3転送フラグは図6では明らかでないので、エントリ601のレイヤ3転送フラグが設定される。および設定された情報は、パケットの宛先アドレスがエントリと一致するときにレイヤ3転送が実行される必要があることを示すために使用される)、次いで引き続き第3の転送データベースのL3FDBを探索する。
5.スイッチ1のチップは、パケットの宛先アドレス(2.1.1.2)に従ってL3FDBを探索する。エントリは作成されていないので、スイッチ1のチップは、L3FDBの探索に失敗し、およびパケットをソフトウェアによる処理のためにスイッチ1のCPUに送信する。
6.スイッチ1のCPUは、パケットの宛先IPアドレス(2.1.1.2)にしたがってスイッチ1のソフトウェアルーティングテーブルを探索し、およびVLAN200のインタフェースIPアドレスが一致することを判断する。したがって、CPUは、引き続きスイッチ1のソフトウェアARPテーブルを探索するが、探索はやはり失敗する。次いで、スイッチ1は、ARP要求をVLAN200中の全てのポートに送信して、2.1.1.2に対応するMACアドレスを要求する。
7.スイッチ1からARPパケットを受信した後で、サーバ2は、要求されたIPアドレスがそれ自体のIPアドレスであると判断する。したがって、サーバ2は、サーバ2のMACアドレス(MAC2)を含むARP応答を送信する。さらに、サーバ2は、スイッチ1のIPアドレスとMACアドレスの間の対応(2.1.1.2<=>MAC-S)を、サーバ2のARPテーブルに記録する。
8.サーバ2のARP応答を受信した後で、スイッチ1は、パケットを受信するためにスイッチ1によって使用されたポート(ポート2)に基づいて第2の転送データベースを探索し、および図9のエントリ903に従って対応するMLAGメンバインタフェース識別子「m-interface2」を見つける。スイッチ1は、図7にエントリ702として示されるように、ARP応答パケット中のソースMACアドレス、ソースIPアドレス、およびVLAN識別子、ならびにMLAGメンバインタフェースの間の対応(2.1.1.2<=>MAC1<=>200<=>m-interface2)を、第3の転送データベースL3FDBに記録する。さらに、スイッチ1は、例えば図6に示されるエントリ604のように、ARP応答パケット中のソースMACアドレスおよびVLAN識別子、ならびにMLAGメンバインタフェースの間の対応(MAC2<=>200<=>m-interface2)を、L2FDBに記憶する。宛先IPアドレス2.1.1.2に対応する宛先MACアドレス(MAC2)を確認した後で、スイッチ1は、パケットBをサーバ2に送信する。パケットBとパケットAの相違点は、パケットAの宛先MACアドレスがMAC2であり、およびパケットAのソースMACアドレスがMAC-Sであることである。
9.パケットBを受信した後で、サーバ2は、応答パケットをサーバ1に送信する。応答パケットの転送プロセスは、上記のステップと同様である。唯一の相違点は、スイッチ1のL3FDBが既にサーバ1の関係するエントリについての情報を含むので、応答パケットはスイッチ1のCPUによって再度処理される必要がないことである。その代わりに、スイッチ1のチップは、L3FDB中のMLAGメンバインタフェース識別子「m-interface1」(図7のエントリ701)および図8に示される第1の転送データベース中のエントリ801に従って、MLAGリンクが「プライマリ」(正常)状態であり、およびスイッチ1はMLAGリンクを介してパケットを転送する必要がないと決定する。したがって、スイッチ1のチップは、第2の転送データベースを探索し、および図9に示されるエントリ901に従ってポート1を介してサーバ1にパケットを送信する。
上記のステップにより、スイッチ1は、第3の転送データベースのエントリの学習を完了する。その後は、サーバ1とサーバ2との間のパケットは、スイッチのCPUを用いてルーティングおよび転送を実行する必要なく、第1の転送データベース、第2の転送データベース、および第3の転送データベースを探索することによりスイッチ1のチップによって直接ハードウェアで転送され得、これによりパケット転送効率を向上させる。
スイッチ1がレイヤ2スイッチであり、およびレイヤ2転送のみを実行するときには、第3の転送データベースのエントリの学習プロセスは、図10に示されている。
1.サーバ1およびサーバ3は、同じVLAN(VLAN100)に属する。サーバ1のARPテーブルは、最初にサーバ3のMACアドレス情報を含まないので、サーバ1は、サーバ3のMACアドレスを要求するARP要求をブロードキャストし、ここで、ARP要求の宛先IPアドレスは、1.1.1.3となる。
2.サーバ1のARP要求を受信した後で、スイッチ1のチップは、ARP要求のイングレスポート(ポート1)に従って第2の転送データベース中で対応するMLAGメンバインタフェース識別子「m-interface1」を見つけ、およびスイッチ1は、図6にエントリ603として示されるように、ARP要求パケット中のソースMACアドレスおよびポート1が属するVLAN識別子(VLAN100)、ならびにMLAGメンバインタフェース識別子の間の対応(100<=>MAC1<=>m-interface1)を、L2FDBに記録する。スイッチ1は、パケットの宛先MACアドレスをブロードキャストアドレスとして識別し、およびパケットをVLAN100内でブロードキャストする。
3.ブロードキャストパケットを受信した後で、サーバ3は、サーバ1の情報(ソースMACアドレスおよびソースIPアドレス)を更新して、サーバ3のARPテーブルに入れる。ブロードキャストパケットの宛先IPアドレスはサーバ3のIPアドレスであるので、サーバ3は、サーバ3のMACアドレス(MAC2)を含むARP応答をサーバ1に送信する。
4.ARP応答を受信した後で、スイッチ1のチップは、スイッチ1のARP応答パケットのイングレスポート(ポート7)に従って、対応するMLAGメンバインタフェース識別子がないか第2の転送データベースを探索する。サーバ3はスイッチ1のみに接続されており、およびスイッチ2には接続されていないので、ポート7に対応するMLAGメンバインタフェース識別子は、第2の転送データベースで発見されることは不可能である。したがって、スイッチ1のチップは、図6にエントリ602として示されるように、ARP応答パケット中のソースMACアドレス(ここではサーバ3のMACアドレスMAC3)およびポート7に対応するVLAN識別子(VLAN100)ならびに物理ポート(ポート7)の間の対応(MAC3<=>VLAN100<=>port7)をスイッチ1のL2FDBに追加する。さらに、スイッチ1のチップは、ARP要求パケットの宛先MACアドレス(MAC1)およびVID(VLAN100)に従ってL2FDBを探索し、および図6に示されるエントリ603を用いて対応するMLAGメンバインタフェース識別子「m-interface1」を見つけ、第1の転送データベース(図8に示されるエントリ801)および第2の転送データベース(図9に示されるエントリ901)を探索し、および「m-interface1」に対応する物理ポートが「ポート1」であって、MLAGリンクの現在のステータスが「プライマリ」であると決定する。最終的にスイッチ1は、ARP応答をポート2を介してサーバ1に送信する。
5.ARP応答を受信した後で、サーバ1は、サーバ3のMACアドレスをサーバ1のARPテーブルに追加する。次いで、サーバ1は、宛先MACアドレスがMAC3であるパケットCをサーバ3に送信することができる。
6.パケットCを受信した後で、スイッチ1のチップは、パケットC中の宛先MACアドレスおよびVIDに従って、L2FDB中のエントリ(図6に示されるエントリ602)に対応するポート識別子「port7」を見つける。「port7」は物理ポートを示すので、スイッチ3は、第1の転送データベースおよび第2の転送データベースを探索し続ける必要はなく、およびポート7を介してパケットCをサーバ3に直接送信する。
7.パケットCを受信した後で、サーバ3は、パケットCの応答パケットを送信する。
8.パケットCの応答パケットを受信した後は、プロセスはステップ4と同様である。すなわち、スイッチ1が、第3の転送データベース(L2FDB)、第1の転送データベース、および第2の転送データベースを探索して、最終的に物理エグレスポート1を見つけ、およびポート1を介してパケットをサーバ1に送信する。
1.サーバ1およびサーバ3は、同じVLAN(VLAN100)に属する。サーバ1のARPテーブルは、最初にサーバ3のMACアドレス情報を含まないので、サーバ1は、サーバ3のMACアドレスを要求するARP要求をブロードキャストし、ここで、ARP要求の宛先IPアドレスは、1.1.1.3となる。
2.サーバ1のARP要求を受信した後で、スイッチ1のチップは、ARP要求のイングレスポート(ポート1)に従って第2の転送データベース中で対応するMLAGメンバインタフェース識別子「m-interface1」を見つけ、およびスイッチ1は、図6にエントリ603として示されるように、ARP要求パケット中のソースMACアドレスおよびポート1が属するVLAN識別子(VLAN100)、ならびにMLAGメンバインタフェース識別子の間の対応(100<=>MAC1<=>m-interface1)を、L2FDBに記録する。スイッチ1は、パケットの宛先MACアドレスをブロードキャストアドレスとして識別し、およびパケットをVLAN100内でブロードキャストする。
3.ブロードキャストパケットを受信した後で、サーバ3は、サーバ1の情報(ソースMACアドレスおよびソースIPアドレス)を更新して、サーバ3のARPテーブルに入れる。ブロードキャストパケットの宛先IPアドレスはサーバ3のIPアドレスであるので、サーバ3は、サーバ3のMACアドレス(MAC2)を含むARP応答をサーバ1に送信する。
4.ARP応答を受信した後で、スイッチ1のチップは、スイッチ1のARP応答パケットのイングレスポート(ポート7)に従って、対応するMLAGメンバインタフェース識別子がないか第2の転送データベースを探索する。サーバ3はスイッチ1のみに接続されており、およびスイッチ2には接続されていないので、ポート7に対応するMLAGメンバインタフェース識別子は、第2の転送データベースで発見されることは不可能である。したがって、スイッチ1のチップは、図6にエントリ602として示されるように、ARP応答パケット中のソースMACアドレス(ここではサーバ3のMACアドレスMAC3)およびポート7に対応するVLAN識別子(VLAN100)ならびに物理ポート(ポート7)の間の対応(MAC3<=>VLAN100<=>port7)をスイッチ1のL2FDBに追加する。さらに、スイッチ1のチップは、ARP要求パケットの宛先MACアドレス(MAC1)およびVID(VLAN100)に従ってL2FDBを探索し、および図6に示されるエントリ603を用いて対応するMLAGメンバインタフェース識別子「m-interface1」を見つけ、第1の転送データベース(図8に示されるエントリ801)および第2の転送データベース(図9に示されるエントリ901)を探索し、および「m-interface1」に対応する物理ポートが「ポート1」であって、MLAGリンクの現在のステータスが「プライマリ」であると決定する。最終的にスイッチ1は、ARP応答をポート2を介してサーバ1に送信する。
5.ARP応答を受信した後で、サーバ1は、サーバ3のMACアドレスをサーバ1のARPテーブルに追加する。次いで、サーバ1は、宛先MACアドレスがMAC3であるパケットCをサーバ3に送信することができる。
6.パケットCを受信した後で、スイッチ1のチップは、パケットC中の宛先MACアドレスおよびVIDに従って、L2FDB中のエントリ(図6に示されるエントリ602)に対応するポート識別子「port7」を見つける。「port7」は物理ポートを示すので、スイッチ3は、第1の転送データベースおよび第2の転送データベースを探索し続ける必要はなく、およびポート7を介してパケットCをサーバ3に直接送信する。
7.パケットCを受信した後で、サーバ3は、パケットCの応答パケットを送信する。
8.パケットCの応答パケットを受信した後は、プロセスはステップ4と同様である。すなわち、スイッチ1が、第3の転送データベース(L2FDB)、第1の転送データベース、および第2の転送データベースを探索して、最終的に物理エグレスポート1を見つけ、およびポート1を介してパケットをサーバ1に送信する。
上記のステップにより、スイッチ1は、第3の転送データベースのエントリの学習を完了する。その後は、サーバ1とサーバ3との間のパケット転送では、スイッチ1は、チップを用いて第1の転送データベース、第2の転送データベース、および第3の転送データベースを探索し、次いでハードウェアによって転送を実行するだけでよい。
図11に示されるように、サーバ1は、スイッチ1およびスイッチ2を含むMLAGシステムに接続されている。スイッチ1のチップまたはCPUが、MLAGリンク(ポート1)が故障していることを検出したとき、スイッチ1のチップは、第2の転送データベース、例えば図9に示されるエントリ901を探索することによって、故障しているMLAGリンクに対応するMLAGメンバインタフェースが「m-interface1」であると決定する。チップは、「m-interface1」に従って、例えばエントリ1101など、対応するアクティブ/待機切換えフラグがないか第1の転送データベースを探索し、およびアクティブ/待機切換えフラグを「プライマリ」から「バックアップ」(エントリ1102)に変更して、ピアリンク(ポート5)を介してサーバ1と通信するようにスイッチ1に命令するようにする。MLAGリンク(ポート1)が回復されたときに、チップは、第2の転送データベースおよび第1の転送データベースに基づいて、MLAGリンクに対応するアクティブ/待機切換えフラグを「バックアップ」から「プライマリ」に変更して、MLAGリンク(ポート1)を用いてサーバ1と通信するようにスイッチ1に命令する。MLAGリンクが故障または回復されたときに、リンク切換えを実施するのに、スイッチ1は、その事象に応じて第1の転送データベース中の対応するアクティブ/待機切換えフラグを修正するだけでよい。リンク障害時切換えが上記の方法を用いて実行されるときには、MACアドレステーブル中の複数のエントリを更新する(1つの故障したポートが複数のMACアドレスに対応する)、または故障したポートのマッピング記録を削除した後に再学習する(パケットブロードキャストおよびパケット応答などのプロセスを必要とするMACアドレスの学習)方式と比較して、本願に開示されるリンク障害時切換え方法は、時間がかからず、およびリンク切換え効率を大幅に向上させることができる。
図12に示されるように、スイッチ3は、スイッチ1およびスイッチ2によって形成されるMLAGシステムに接続され、およびサーバ1は、スイッチ3を用いて、スイッチ1に接続されたサーバ2と通信する。正常な場合には、サーバ1は、スイッチ3、リンク1201、スイッチ1、およびリンク1204を介してサーバ2と通信する。リンク1201が故障しているときには、スイッチ1は、MLAGリンク(リンク1201)をピアリンク(リンク1203)に切り換える。スイッチ1の第3の転送データベースはサーバ1およびサーバ2についての情報を記憶しているので、サーバ1とサーバ2とは、互いに通信し続け得る。この場合には、新たなサーバ4が、スイッチ3に接続される。スイッチ2については、スイッチ3に対応するMLAGリンク(リンク1202)は正常であり、およびサーバ4のMAC情報は、正常に学習されて、スイッチ2の第3の転送データベースに記入されることが可能である。ただし、スイッチ1については、サーバ4から送信されるパケットはピアリンク(リンク1203)を介して受信されて、そのパケットはスイッチ3についての情報を搬送していないので、サーバ4に対応するMLAGリンクがリンク1201であると決定されることは不可能であり、サーバ4のMAC情報(MLAGメンバインタフェース識別子は決定されることが不可能である)は、スイッチ1の第3の転送データベースに記入されることは不可能である。実装では、スイッチ1がサーバ4から送信されるパケットを受信する前に、スイッチ2は、スイッチ2に記憶されている第3の転送データベースについての情報(サーバ4についての情報を含む)を、ピアリンクを介してスイッチ1に同期させる。スイッチ1は、スイッチ2の第3の転送データベースについての情報に従って、サーバ4についての情報をスイッチ1の第3の転送データベースに同期させる。実装では、例えばMACアドレスがMAC10であるエントリがスイッチ1およびスイッチ2の両方に存在し、スイッチ1におけるそのエントリの最終更新時間がt1であり、およびスイッチ2におけるそのエントリの最終更新時間がt2である(t1<t2、スイッチ2におけるそのエントリの最終更新時間がスイッチ1におけるそのエントリのそれより後であることを示している)など、スイッチ1とスイッチ2との第3の転送データベースのエントリが矛盾するときには、スイッチ2におけるデータがスイッチ1に同期されたときに、スイッチ1におけるエントリが、t1<t2に従ってそのまま上書きされ得る。スイッチ3に対応する、スイッチ1およびスイッチ2のMLAGメンバインタフェース識別子は同じであるので(MLAGメンバインタフェース識別子は「m-interface4」であると仮定する)、サーバ4については、リンク1201が故障した後で、サーバ4は、サーバ1と同様にピアリンクを介してサーバ2とまた通信し得る。リンク1201が回復された後で、スイッチ1のチップは、第1の転送データベース中の「m-interface4」に対応するアクティブ/待機切換えフラグを修正し、およびサーバ4は、リンク1201を用いてサーバ2と通信し得る。
本願で提供される実施形態は単なる例であることに留意されたい。説明の便宜上、および説明の簡潔性のために、上記の実施形態では、実施形態が相違点を強調しており、および1つの実施形態で詳細に説明されていない部分については、別の実施形態の関連する説明が参照され得ることは、当業者なら明確に理解し得る。本願の実施形態、特許請求の範囲、および添付の図面に開示される特徴は、独立して存在し得、または組み合わさって存在し得る。これは、本明細書では限定されない。
以上の説明は、単に本発明の具体的な実装に過ぎず、本発明の保護範囲を限定するためのものではない。本発明に開示される技術的範囲内で当業者が容易に思いつく任意の変形または置換は、本発明の保護範囲に含まれるものとする。したがって、本発明の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
Claims (14)
- チップを備えるネットワークデバイスであって、
前記チップは、転送データベースを生成し、および受信されるパケットを前記転送データベースに基づいて転送するように構成され、
前記転送データベースは、第1の転送データベース、第2の転送データベース、および第3の転送データベースを備える、
ネットワークデバイス。 - 前記第1の転送データベースは、少なくとも1つのマルチシャーシリンクアグリゲーショングループMLAGメンバインタフェースから少なくとも1つのアクティブ/待機切換えフラグへのマッピングを記憶するために使用され、
前記第2の転送データベースは、少なくとも1つの物理ポートから前記少なくとも1つのMLAGメンバインタフェースへのマッピングを記憶するために使用され、および、
前記第3の転送データベースは、媒体アクセス制御MACアドレスから第1のMLAGメンバインタフェースへのマッピングを記憶するために使用され、前記第1のMLAGメンバインタフェースは、前記少なくとも1つのMLAGメンバインタフェース中にある請求項1に記載のネットワークデバイス。 - 前記チップは、
前記パケットのソースMACアドレスから前記第3の転送データベース中の第2のMLAGメンバインタフェースへのマッピングを記憶するようにさらに構成され、前記第2のMLAGメンバインタフェースは、前記第2の転送データベースに基づいて第1の物理ポートに対応するMLAGメンバインタフェースであり、および前記第1の物理ポートは、前記パケットを受信する物理ポートである請求項2に記載のネットワークデバイス。 - 前記チップは、MLAGリンクが故障しているときに、前記第1の転送データベース中の第3のMLAGメンバインタフェースに対応するアクティブ/待機切換えフラグの値をバックアップフラグに更新するように構成され、前記バックアップフラグは、前記第3のMLAGメンバインタフェースを指すパケットをピアリンクを介して送信するように前記チップに命令するために使用され、前記第3のMLAGメンバインタフェースは、前記第2の転送データベースに基づいて第2の物理ポートに対応するMLAGメンバインタフェースであり、および前記第2の物理ポートは、前記MLAGリンクの物理ポートである請求項2または3に記載のネットワークデバイス。
- 前記MLAGリンクが回復されたときに、前記チップは、前記第3のMLAGメンバインタフェースに対応する前記アクティブ/待機切換えフラグの前記値をプライマリフラグに更新し、前記プライマリフラグは、前記第2の転送データベースに基づいて前記パケットを転送するように前記チップに命令するために使用される請求項4に記載のネットワークデバイス。
- 前記チップは、
前記第3の転送データベースに基づいて、前記パケットの宛先MACアドレスに対応するMLAGメンバインタフェースが前記第1のMLAGメンバインタフェースであると決定し、および、
前記第1の転送データベース中の前記第1のMLAGメンバインタフェースに対応するアクティブ/待機切換えフラグの値が前記プライマリフラグであるときに、第3の物理ポートを介して前記パケットを転送するように構成され、前記第3の物理ポートは、前記第2の転送データベース中の前記第1のMLAGメンバインタフェースに対応する物理ポートである請求項2乃至5のいずれか一項に記載のネットワークデバイス。 - 前記チップは、
前記第1のMLAGメンバインタフェースに対応する前記アクティブ/待機切換えフラグの前記値が前記バックアップフラグであるときに、前記ピアリンクを介して前記パケットを転送するようにさらに構成される請求項6に記載のネットワークデバイス。 - 前記ネットワークデバイスと別のネットワークデバイスとは、MLAGシステムを形成し、および、
前記ネットワークデバイスは、前記第3の転送データベースを前記別のネットワークデバイスに同期させるように構成される請求項1乃至7のいずれか一項に記載のネットワークデバイス。 - MLAGリンク切換え方法であって、
ネットワークデバイスのMLAGリンクが故障しているときに、第1の転送データベース中の第1のMLAGメンバインタフェースに対応するアクティブ/待機切換えフラグの値をバックアップフラグに更新するステップであって、前記バックアップフラグは、前記第1のMLAGメンバインタフェースを指すパケットをピアリンクを介して送信するように前記ネットワークデバイスに命令するために使用され、前記第1のMLAGメンバインタフェースは、第2の転送データベースに従って第1の物理ポートに対応するMLAGメンバインタフェースであり、および前記第1の物理ポートは、前記MLAGリンクの物理ポートである、ステップを備え、および前記ネットワークデバイスは、前記第1の転送データベースおよび前記第2の転送データベースを備え、前記第1の転送データベースは、少なくとも1つのマルチシャーシリンクアグリゲーショングループMLAGメンバインタフェースから少なくとも1つのアクティブ/待機切換えフラグへのマッピングを記憶するために使用され、および前記第2の転送データベースは、少なくとも1つの物理ポートから前記少なくとも1つのMLAGメンバインタフェースへのマッピングを記憶するために使用される、
MLAGリンク切換え方法。 - 前記MLAGリンクが回復されたときに、前記第1のMLAGメンバインタフェースに対応する前記アクティブ/待機切換えフラグの前記値をプライマリフラグに更新するステップ、前記プライマリフラグは、前記第2の転送データベースに基づいて前記パケットを転送するように前記ネットワークデバイスに命令するために使用される請求項9に記載の方法。
- 前記ネットワークデバイスは、第3の転送データベースをさらに備え、および前記方法は、
前記パケットのソースMACアドレスから第2のMLAGメンバインタフェースへのマッピングを前記第3の転送データベースに記憶するステップをさらに備え、前記第2のMLAGメンバインタフェースは、前記第2の転送データベースに基づいて第2の物理ポートに対応するMLAGメンバインタフェースであり、および前記第2の物理ポートは、前記パケットを受信する物理ポートである請求項9または10に記載の方法。 - 前記第3の転送データベースに基づいて、前記パケットの宛先MACアドレスに対応するMLAGメンバインタフェースが前記第1のMLAGメンバインタフェースであると決定するステップであって、前記第3の転送データベースは、前記宛先MACアドレスから前記第1のMLAGメンバインタフェースへのマッピングをさらに備えるステップと、
前記第1の転送データベース中の前記第1のMLAGメンバインタフェースに対応する前記アクティブ/待機切換えフラグの前記値が前記プライマリフラグであるときに、前記第1の物理ポートを用いて前記パケットを転送するステップと
をさらに備える請求項11に記載の方法。 - 前記第1のMLAGメンバインタフェースに対応する前記アクティブ/待機切換えフラグの前記値が前記バックアップフラグであるときに、前記ピアリンクを介して前記パケットを転送するステップをさらに備える請求項12に記載の方法。
- 前記第3の転送データベースを別のネットワークデバイスに同期させるステップをさらに備え、前記別のネットワークデバイスと前記ネットワークデバイスとは、MLAGシステムを形成する請求項11乃至13のいずれか一項に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011086369.0A CN114338512A (zh) | 2020-10-12 | 2020-10-12 | Mlag链路故障切换方法和装置 |
CN202011086369.0 | 2020-10-12 | ||
PCT/CN2021/105665 WO2022077972A1 (zh) | 2020-10-12 | 2021-07-12 | Mlag链路故障切换方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023544870A true JP2023544870A (ja) | 2023-10-25 |
Family
ID=81032113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023521837A Pending JP2023544870A (ja) | 2020-10-12 | 2021-07-12 | Mlagリンク障害時切換え方法および装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230246949A1 (ja) |
EP (1) | EP4207646A4 (ja) |
JP (1) | JP2023544870A (ja) |
CN (1) | CN114338512A (ja) |
WO (1) | WO2022077972A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117376243A (zh) * | 2022-06-29 | 2024-01-09 | 中兴通讯股份有限公司 | 网元切换方法、装置、跨设备链路聚合组及存储介质 |
CN115225468A (zh) * | 2022-07-26 | 2022-10-21 | 苏州盛科通信股份有限公司 | 流量快速切换方法、系统及计算机可读存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8787149B1 (en) * | 2012-02-01 | 2014-07-22 | Juniper Networks, Inc. | MAC address synchronization for multi-homing with multichassis link aggregation |
US9559962B2 (en) * | 2013-01-22 | 2017-01-31 | Brocade Communications Systems, Inc. | Optimizing traffic flows via dynamic routing protocol modifications when using server virtualization with dynamic routing |
US9769088B2 (en) * | 2014-07-31 | 2017-09-19 | Arista Networks, Inc. | Method and system for VTEP redundancy in a multichassis link aggregation domain |
CN106656789B (zh) * | 2016-12-30 | 2020-04-14 | 盛科网络(苏州)有限公司 | Mlag广播和组播的芯片实现方法 |
CN108390821B (zh) * | 2018-02-27 | 2020-11-27 | 盛科网络(苏州)有限公司 | 一种openflow交换机实现双活的方法及系统 |
CN109088819A (zh) * | 2018-07-25 | 2018-12-25 | 新华三技术有限公司合肥分公司 | 一种报文转发方法、交换机及计算机可读存储介质 |
-
2020
- 2020-10-12 CN CN202011086369.0A patent/CN114338512A/zh active Pending
-
2021
- 2021-07-12 EP EP21879020.2A patent/EP4207646A4/en active Pending
- 2021-07-12 JP JP2023521837A patent/JP2023544870A/ja active Pending
- 2021-07-12 WO PCT/CN2021/105665 patent/WO2022077972A1/zh unknown
-
2023
- 2023-04-11 US US18/298,958 patent/US20230246949A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230246949A1 (en) | 2023-08-03 |
EP4207646A1 (en) | 2023-07-05 |
CN114338512A (zh) | 2022-04-12 |
EP4207646A4 (en) | 2024-02-21 |
WO2022077972A1 (zh) | 2022-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10333836B2 (en) | Convergence for EVPN multi-homed networks | |
US9923812B2 (en) | Triple-tier anycast addressing | |
US6751191B1 (en) | Load sharing and redundancy scheme | |
US7885180B2 (en) | Address resolution request mirroring | |
US9154419B2 (en) | Traffic forwarding in a layer 2 edge network | |
US5963540A (en) | Router pooling in a network flowswitch | |
US20230246949A1 (en) | Mlag link failure switching method and apparatus | |
US20050111352A1 (en) | Method and system for monitoring a network containing routers using a backup routing protocol | |
US9716687B2 (en) | Distributed gateways for overlay networks | |
CN112615778B (zh) | 报文转发方法、装置、路由器、存储介质及系统 | |
US10382329B1 (en) | Source MAC access controls in a virtual redundant router protocol environment | |
US8493959B2 (en) | Multiple media access control (MAC) addresses | |
WO2017054770A1 (zh) | 集群通信 | |
WO2018171529A1 (zh) | 一种实现双控制平面的方法、装置、计算机存储介质 | |
WO2019201209A1 (zh) | 报文转发 | |
CN113381929A (zh) | 一种路由处理方法、网关设备及计算机存储介质 | |
US20080144634A1 (en) | Selective passive address resolution learning | |
US11178045B2 (en) | System and method for efficient route update in an EVPN network | |
CN112511419B (zh) | 一种分布式转发系统 | |
WO2022017225A1 (zh) | 报文发送方法、设备及系统 | |
WO2015117465A1 (zh) | 环形网络中fdb刷新方法、装置、节点及系统 | |
WO2024082462A1 (zh) | 一种业务转发方法、装置和电子设备 | |
CN116708353A (zh) | 一种主备切换方法以及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230501 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230501 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240502 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240521 |