JP2023531065A - イーサネット仮想プライベートネットワークエグレス高速リルートにおける過渡ループ防止 - Google Patents
イーサネット仮想プライベートネットワークエグレス高速リルートにおける過渡ループ防止 Download PDFInfo
- Publication number
- JP2023531065A JP2023531065A JP2022580047A JP2022580047A JP2023531065A JP 2023531065 A JP2023531065 A JP 2023531065A JP 2022580047 A JP2022580047 A JP 2022580047A JP 2022580047 A JP2022580047 A JP 2022580047A JP 2023531065 A JP2023531065 A JP 2023531065A
- Authority
- JP
- Japan
- Prior art keywords
- evpn
- label
- traffic
- route
- peer
- 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.)
- Granted
Links
- 230000001052 transient effect Effects 0.000 title claims abstract description 54
- 230000002265 prevention Effects 0.000 title description 25
- 238000000034 method Methods 0.000 claims abstract description 33
- 230000004044 response Effects 0.000 claims abstract description 14
- 238000003860 storage Methods 0.000 claims description 21
- 230000008676 import Effects 0.000 claims description 17
- 230000009471 action Effects 0.000 description 35
- 230000007246 mechanism Effects 0.000 description 19
- 238000013459 approach Methods 0.000 description 18
- 230000006855 networking Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 13
- 230000015654 memory Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000005538 encapsulation Methods 0.000 description 6
- 230000005641 tunneling Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000000875 corresponding effect Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
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/18—Loop-free operations
-
- 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/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- 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/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- 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/22—Alternate routing
-
- 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/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
- H04L45/507—Label distribution
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
マルチホームピアプロバイダエッジ(PE)間の過渡ループを防止するために、イーサネット仮想プライベートネットワーク(EVPN)においてPEとして機能するネットワークデバイスによる方法が提供される。本方法は、PEのマルチホームピアPEである1つまたは複数のPEに第1のEVPNラベルをアドバタイズすることと、PEのマルチホームピアPEでない1つまたは複数のPEに第2のEVPNラベルをアドバタイズすることと、第2のEVPNラベルとは対照的に第1のEVPNラベルとともにカプセル化された、CEについての第1のトラフィックを受信することと、PEとCEとの間のリンクが動作可能でなく、CEについての第1のトラフィックが第1のEVPNラベルとともにカプセル化されたと決定したことに応答して、第1のトラフィックを廃棄することとを含む。【選択図】図5
Description
関連出願の相互参照
本出願は、参照により本明細書に組み込まれる、2020年6月24日に出願された国際出願第PCT/CN2020/098101号の利益を主張する。
本出願は、参照により本明細書に組み込まれる、2020年6月24日に出願された国際出願第PCT/CN2020/098101号の利益を主張する。
実施形態は、コンピュータネットワークの分野に関し、より詳細には、イーサネット仮想プライベートネットワークにおいてマルチホームピアプロバイダエッジ間の過渡ループを防止することに関する。
イーサネット仮想プライベートネットワーク(EVPN:ethernet virtual private network)は、ワイドエリアネットワークプロトコルを使用して仮想プライベートネットワークとしてレイヤ2イーサネットトラフィックを搬送するための技術である。EVPN技術は、multi-protocol label switching(MPLS)上のイーサネットと、仮想拡張可能ローカルエリアネットワーク(VXLAN:virtual extensible local area network)上のイーサネットとを含む。
EVPNインスタンスは、ネットワークインフラストラクチャのエッジを形成するプロバイダエッジ(PE:provider edge)に接続されたカスタマーエッジ(CE:customer edge)を含み得る。PEは、multiprotocol label switching(MPLS)インフラストラクチャ上で他のPEに接続され得、MPLSインフラストラクチャは、高速リルートおよびレジリエンシーなどのMPLS技術の利益を提供する。代替的に、PEは、IPインフラストラクチャ上で他のPEに接続され得、その場合、汎用ルーティングカプセル化(GRE:generic routing encapsulation)トンネリング、または他のインターネットプロトコル(IP)トンネリングがPE間で使用され得る。CEは、ホスト、ルータ、またはスイッチであり得る。PEは、CE間の仮想レイヤ2ブリッジコネクティビティ(virtual layer 2 bridged connectivity)を提供する。ネットワークは、複数のEVPNインスタンスを含み得る。
EVPNでは、PE間のメディアアクセス制御(MAC)学習が、データプレーンとは対照的に制御プレーンにおいて行われる。制御プレーン学習は、誰が何を学習するかを制限すること、およびポリシを適用する能力など、MAC学習プロセスに対する、より大きい制御を与える。マルチプロトコル境界ゲートウェイプロトコル(MP-BGP:multi-protocol border gateway protocol)が、MAC到達可能性情報をアドバタイズする(advertise)ためにEVPNにおいて制御プレーンプロトコルとして通常使用される。たとえば、PEは、EVPNラベル(たとえば、MPLSラベル)とともに、PEに接続されたCEから学習されたMACアドレスを、MP-BGPを使用して制御プレーンにおける他のPEにアドバタイズし得る。
EVPNマルチホーミングは、CEが2つ以上のPEに接続されることを可能にする。EVPNマルチホーミングは、負荷分散、リンク/ノード冗長、および高速コンバージェンスを提供し得る。マルチホーミングは、シングルアクティブモード(single-active mode)またはオールアクティブモード(all-active mode)で動作し得る。シングルアクティブモードでは、特定のイーサネットセグメントにアタッチされたPEのグループのうちの単一のPEのみが、そのイーサネットセグメントとの間でトラフィックをフォワーディングすることを可能にされる。オールアクティブモードでは、特定のイーサネットセグメントにアタッチされたPEのすべてが、そのイーサネットセグメントとの間でトラフィックをフォワーディングすることを可能にされる。リンク障害を検出すると、PEは、イーサネットセグメント(ES)ルートごとのイーサネット自動発見(A-D)の対応するセットを撤回し(withdraw)、これは、他のPEを、PEのマルチホームピアのほうへトラフィックを送ることに切り替えるようにトリガする。しかしながら、障害伝搬および切替えは、特に高度にスケーリングされた環境において比較的長い時間がかかり得る。
切替え性能は、エグレス高速リルート(eFRR:egress fast reroute)など、ローカル保護機構を使用することによって改善され得る。eFRRでは、PEが、CEについてのトラフィックを受信するが、PEとCEとの間のリンクが動作可能でないことを検出した場合、PEは、トラフィックをマルチホームピアPE(たとえば、CEにコネクティビティを提供する別のPE)にフォワーディングし得る。PEは、マルチホームピアPEによってアドバタイズされるEVPNラベルとともにCEについてのトラフィックをカプセル化することと、カプセル化されたトラフィックをマルチホームピアPEにフォワーディングすることとによって、これを達成し得る。しかしながら、マルチホームピアPEとCEとの間のリンクも(たとえば、CE自体における障害により)動作可能でない場合、マルチホームピアPEは、(マルチホームピアPEにおいて実施されているeFRRの一部として)トラフィックをPEにフォワーディングして戻すことになる。PEおよびマルチホームピアPEは、ESルートごとイーサネットA-D撤回(ethernet A-D per ES route withdrawal)がPEのうちの1つによって受信されるまで、このようにしてトラフィックを互いにフォワーディングし続け、それにより、過渡ループを作成することになる。過渡ループは、時々、秒のオーダーで持続することがあり、これは、EVPNにおける不要な帯域幅消費を生じる。
マルチホームピアプロバイダエッジ(PE)間の過渡ループを防止するために、イーサネット仮想プライベートネットワーク(EVPN)においてPEとして機能するネットワークデバイスによる方法。本方法は、PEのマルチホームピアPEである1つまたは複数のPEに第1のEVPNラベルをアドバタイズすることであって、PEは、それらが同じEVPNインスタンスにおける同じカスタマーエッジ(CE)にコネクティビティを提供する場合、互いに対してマルチホームピアPEである、第1のEVPNラベルをアドバタイズすることと、PEのマルチホームピアPEでない1つまたは複数のPEに第2のEVPNラベルをアドバタイズすることと、第2のEVPNラベルとは対照的に第1のEVPNラベルとともにカプセル化された、CEについての第1のトラフィックを受信することと、PEとCEとの間のリンクが動作可能でなく、CEについての第1のトラフィックが第1のEVPNラベルとともにカプセル化されたと決定したことに応答して、第1のトラフィックを廃棄することとを含む。本方法は、第1のEVPNラベルとは対照的に第2のEVPNラベルとともにカプセル化された、CEについての第2のトラフィックを受信することと、PEとCEとの間のリンクが動作可能でなく、CEについての第2のトラフィックが第2のEVPNラベルとともにカプセル化されたと決定したことに応答して、第2のトラフィックをPEのマルチホームピアPEにフォワーディングすることとをさらに含み得る。
イーサネット仮想プライベートネットワーク(EVPN)においてプロバイダエッジ(PE)として機能するネットワークデバイスのプロセッサによって実行された場合、ネットワークデバイスに、マルチホームピアPE間の過渡ループを防止するための動作を実施させる命令を提供する非一時的機械可読記憶媒体。動作は、PEのマルチホームピアPEである1つまたは複数のPEに第1のEVPNラベルをアドバタイズすることであって、PEは、それらが同じEVPNインスタンスにおける同じカスタマーエッジ(CE)にコネクティビティを提供する場合、互いに対してマルチホームピアPEである、第1のEVPNラベルをアドバタイズすることと、PEのマルチホームピアPEでない1つまたは複数のPEに第2のEVPNラベルをアドバタイズすることと、第2のEVPNラベルとは対照的に第1のEVPNラベルとともにカプセル化された、CEについての第1のトラフィックを受信することと、PEとCEとの間のリンクが動作可能でなく、CEについての第1のトラフィックが第1のEVPNラベルとともにカプセル化されたと決定したことに応答して、第1のトラフィックを廃棄することとを含む。動作は、第1のEVPNラベルとは対照的に第2のEVPNラベルとともにカプセル化された、CEについての第2のトラフィックを受信することと、PEとCEとの間のリンクが動作可能でなく、CEについての第2のトラフィックが第2のEVPNラベルとともにカプセル化されたと決定したことに応答して、第2のトラフィックをPEのマルチホームピアPEにフォワーディングすることとをさらに含み得る。
マルチホームピアプロバイダエッジ(PE)間の過渡ループを防止するために、イーサネット仮想プライベートネットワーク(EVPN)においてPEとして機能するためのネットワークデバイス。本ネットワークデバイスは、1つまたは複数のプロセッサのセットと、非一時的機械可読記憶媒体とを含み、非一時的機械可読記憶媒体は、1つまたは複数のプロセッサのセットによって実行された場合、PEのマルチホームピアPEである1つまたは複数のPEに第1のEVPNラベルをアドバタイズすることであって、PEは、それらが同じEVPNインスタンスにおける同じカスタマーエッジ(CE)にコネクティビティを提供する場合、互いに対してマルチホームピアPEである、第1のEVPNラベルをアドバタイズすることと、PEのマルチホームピアPEでない1つまたは複数のPEに第2のEVPNラベルをアドバタイズすることと、第2のEVPNラベルとは対照的に第1のEVPNラベルとともにカプセル化された、CEについての第1のトラフィックを受信することと、PEとCEとの間のリンクが動作可能でなく、CEについての第1のトラフィックが第1のEVPNラベルとともにカプセル化されたと決定したことに応答して、第1のトラフィックを廃棄することとをネットワークデバイスに行わせる命令を提供する。非一時的機械可読記憶媒体は、1つまたは複数のプロセッサのセットによって実行された場合、第1のEVPNラベルとは対照的に第2のEVPNラベルとともにカプセル化された、CEについての第2のトラフィックを受信することと、PEとCEとの間のリンクが動作可能でなく、CEについての第2のトラフィックが第2のEVPNラベルとともにカプセル化されたと決定したことに応答して、第2のトラフィックをPEのマルチホームピアPEにフォワーディングすることとをネットワークデバイスに行わせるさらなる命令を提供し得る。
本発明は、以下の説明と、本発明の実施形態を示すために使用される添付の図面とを参照することによって最も良く理解され得る。
以下の説明は、イーサネット仮想プライベートネットワーク(EVPN)におけるマルチホームピアプロバイダエッジ(PE)間の過渡ループを防止するための方法および装置について説明する。以下の説明では、本発明のより完全な理解を提供するために、論理実装形態、オペコード、オペランドを指定するための手段、リソース区分/共有/複製実装形態、システム構成要素のタイプおよび相互関係、ならびに論理区分/統合選定など、多数の具体的な詳細が記載される。しかしながら、そのような具体的な詳細なしに本発明が実施され得ることが、当業者によって諒解されよう。他の事例では、制御構造、ゲートレベル回路および完全なソフトウェア命令シーケンスは、本発明を不明瞭にしないために詳細に示されていない。当業者は、含まれた説明を用いて、過度の実験なしに適切な機能を実装することが可能になる。
「一実施形態(one embodiment)」、「一実施形態(an embodiment)」、「例示的な実施形態」などへの本明細書における言及は、説明される実施形態が、特定の特徴、構造、または特性を含み得ることを示すが、あらゆる実施形態が、必ずしも、特定の特徴、構造、または特性を含むとは限らないことがある。その上、そのような句は必ずしも同じ実施形態を指しているとは限らない。さらに、特定の特徴、構造、または特性が実施形態に関して説明されるとき、明示的に説明されるか否かにかかわらず、他の実施形態に関してそのような特徴、構造、または特性に影響を及ぼすことは当業者の知識内にあることが具申される。
破線の境界線(たとえば、大きい破線、小さい破線、一点鎖線、および点)をもつ括弧内のテキストおよびブロックは、本発明の実施形態に追加の特徴を追加する随意の動作を示すために本明細書で使用され得る。しかしながら、そのような記法は、これらが唯一のオプションまたは随意の動作であること、および/あるいは実線の境界線をもつブロックが、本発明のいくつかの実施形態において随意でないことを意味するようにとられるべきではない。
以下の説明および特許請求の範囲において、「結合された」および「接続された」という用語は、それらの派生語とともに、使用され得る。これらの用語は、互いのための類義語として意図されないことを理解されたい。「結合された」は、直接物理的にまたは電気的に互いに接触していることも接触していないこともある2つまたはそれ以上のエレメントが、互いに協働または対話することを示すために使用される。「接続された」は、互いに結合された2つまたはそれ以上のエレメント間の通信の確立を示すために使用される。
電子デバイスは、機械可読記憶媒体(たとえば、磁気ディスク、光ディスク、ソリッドステートドライブ、読取り専用メモリ(ROM)、フラッシュメモリデバイス、相変化メモリ)、および(キャリアとも呼ばれる)機械可読伝送媒体(たとえば、搬送波、赤外線信号など、伝搬信号の電気、光、無線、音響または他の形態)など、(コンピュータ可読媒体とも呼ばれる)機械可読媒体を使用して、(ソフトウェア命令から構成され、コンピュータプログラムコードまたはコンピュータプログラムと呼ばれることがある)コードおよび/またはデータを(内部でおよび/またはネットワーク上の他の電子デバイスとともに)記憶し、送信する。したがって、電子デバイス(たとえば、コンピュータ)は、プロセッサのセット上での実行のためのコードを記憶するために、および/またはデータを記憶するために、1つまたは複数の機械可読記憶媒体に結合された1つまたは複数のプロセッサのセットなど、ハードウェアおよびソフトウェアを含む(たとえば、プロセッサは、マイクロプロセッサ、コントローラ、マイクロコントローラ、中央処理ユニット、デジタル信号プロセッサ、特定用途向け集積回路、フィールドプログラマブルゲートアレイ、他の電子回路、上述のものの1つまたは複数の組合せである)。たとえば、電子デバイスは、電子デバイスがオフにされたとき(電力が除去されたとき)でも、不揮発性メモリがコード/データを残存することができるので、コードを含んでいる不揮発性メモリを含み得、電子デバイスがオンにされている間、その電子デバイスの(1つまたは複数の)プロセッサによって実行されるコードの部分は、一般に、その電子デバイスのより遅い不揮発性メモリから揮発性メモリ(たとえば、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM))にコピーされる。一般的な電子デバイスはまた、(信号を伝搬することを使用してコードおよび/またはデータを送信および/または受信するために)他の電子デバイスとのネットワーク接続を確立するために1つまたは複数の物理ネットワークインターフェース(NI)のセットを含む。たとえば、物理NIのセット(またはコードを実行するプロセッサのセットと組み合わせた物理NIのセット)は、電子デバイスが、有線および/または無線接続上であるかどうかにかかわらず、データを送り、受信することを可能にするために、任意のフォーマッティング、コーディング、または変換することを実施し得る。いくつかの実施形態では、物理NIは、無線接続上で他の電子デバイスからデータを受信すること、および/または無線接続を介して他のデバイスにデータを送出することが可能な無線回路を備え得る。この無線回路は、無線周波数通信に好適な(1つまたは複数の)送信機、(1つまたは複数の)受信機、および/または(1つまたは複数の)トランシーバを含み得る。無線回路は、デジタルデータを、適切なパラメータ(たとえば、周波数、タイミング、チャネル、帯域幅など)を有する無線信号にコンバートし得る。無線信号は、次いで、アンテナを介して(1つまたは複数の)適切な受信側に送信され得る。いくつかの実施形態では、(1つまたは複数の)物理NIのセットは、ネットワークインターフェースカード、ネットワークアダプタ、またはローカルエリアネットワーク(LAN)アダプタとしても知られる、(1つまたは複数の)ネットワークインターフェースコントローラ(NIC)を備え得る。(1つまたは複数の)NICは、電子デバイスを他の電子デバイスに接続することを容易にし、NICに接続された物理ポートにケーブルをプラグインすることを通して、電子デバイスが有線を介して通信することを可能し得る。本発明の一実施形態の1つまたは複数の部分は、ソフトウェア、ファームウェア、および/またはハードウェアの異なる組合せを使用して実装され得る。
ネットワークデバイス(ND)は、ネットワーク上の他の電子デバイス(たとえば、他のネットワークデバイス、エンドユーザデバイス)を通信可能に相互接続する電子デバイスである。いくつかのネットワークデバイスは、複数のネットワーキング機能(たとえば、ルーティング、ブリッジング、スイッチング、レイヤ2アグリゲーション、セッション境界制御、サービス品質、および/または加入者管理)のサポートを提供し、および/または複数のアプリケーションサービス(たとえば、データ、音声、およびビデオ)のサポートを提供する「複数のサービスネットワークデバイス」である。
上述のように、エグレス高速リルート(eFRR)では、プロバイダエッジ(PE)が、カスタマーエッジ(CE)についてのトラフィックを受信するが、PEとCEとの間のリンクが動作可能でないことを検出した場合、PEは、トラフィックをマルチホームピアPE(たとえば、CEにコネクティビティを提供する別のPE)にフォワーディングし得る。PEは、マルチホームピアPEによってアドバタイズされるEVPNラベルとともにCEについてのトラフィックをカプセル化することと、カプセル化されたトラフィックをマルチホームピアPEにフォワーディングすることとによって、これを達成し得る。しかしながら、マルチホームピアPEとCEとの間のリンクも(たとえば、CE自体における障害により)動作可能でない場合、マルチホームピアPEは、(マルチホームピアPEにおいて実施されているeFRRの一部として)トラフィックをPEにフォワーディングして戻す。PEおよびマルチホームピアPEは、ESルートごとイーサネットA-D撤回がPEのうちの1つによって受信されるまで、このようにしてトラフィックを互いにフォワーディングし続け、それにより、過渡ループを作成する。過渡ループは、時々、秒のオーダーで持続することがあり、これは、EVPNにおける不要な帯域幅消費を生じる。
本明細書で開示される実施形態は、マルチホームピアPE間の過渡ループを防止するための機構を提供する。いくつかの実施形態によれば、EVPNにおけるPEは、PEのマルチホームピアPEである1つまたは複数のPEに第1のEVPNラベルをアドバタイズし、PEのマルチホームピアPEでない1つまたは複数のPEに第2のEVPNラベルをアドバタイズする。PEがCEについてのトラフィックを受信した場合、PEは、PEとCEとの間のリンクが動作可能であるかどうかを決定し得る。PEとCEとの間のリンクが動作可能である場合、PEは、トラフィックをCEにフォワーディングし得る。しかしながら、PEとCEとの間のリンクが動作可能でない場合、PEは、トラフィックが第1のEVPNラベルとともにカプセル化されたのか第2のEVPNラベルとともにカプセル化されたのかに基づいて、トラフィックをどのようにハンドリングすべきかを決定し得る。トラフィックが第1のEVPNラベルとともにカプセル化された場合、これは、トラフィックがマルチホームピアPEから来たことを示し、したがって、PEは、過渡ループを引き起こすことを回避するためにトラフィックをマルチホームピアPEにフォワーディングすることなしにトラフィックを廃棄する。しかしながら、トラフィックが第2のEVPNラベルとともにカプセル化された場合、これは、トラフィックがマルチホームピアPEから来なかったことを示し、したがって、PEは、ローカル保護を提供するためにトラフィックをマルチホームピアPEにフォワーディングし得る。したがって、本明細書で開示される実施形態は、マルチホームピアPE間の過渡ループを防止し、結果として、過渡ループによって引き起こされるEVPNにおける不要な帯域幅消費を回避/低減し得る。実施形態は、添付の図面を参照しながら本明細書で以下でさらに説明される。
図1は、いくつかの実施形態による、マルチホームピアPE間の過渡ループを防止するための、EVPNシステムおよびその中の動作を示すブロック図である。図に示されているように、EVPNシステムは、PE100AとPE100BとPE100Cとを含むEVPN120を含む。EVPN120は、たとえば、multiprotocol label switching(MPLS)インフラストラクチャを使用して実装され得る。しかしながら、EVPN120は、仮想拡張可能ローカルエリアネットワーク(VXLAN)インフラストラクチャ、汎用ルーティングカプセル化を使用したネットワーク仮想化(NVGRE:network virtualization using generic routing encapsulation)インフラストラクチャ、または汎用ネットワーク仮想化カプセル化(GENEVE)インフラストラクチャなど、他のタイプのネットワーク仮想化オーバーレイ(NVO)インフラストラクチャを使用して実装され得ることを理解されたい。CE110Aは、PE100AとPE100Bとにマルチホーム(multi-home)される。EVPNマルチホーミングは、負荷分散、リンク/ノード冗長、および高速コンバージェンスを提供し得る。CE110AをPE100AとPE100Bとに接続するリンクは、まとめてイーサネットセグメント130を形成し得る。イーサネットセグメント130は、イーサネットセグメント識別子(ESI)を使用して一意に識別され得る。この例では、PE100AとPE100Bとは、互いに対してマルチホームピアPEである。本明細書で使用されるPEは、それらが(たとえば、イーサネットセグメントを介して)同じEVPNインスタンスにおける同じCEにコネクティビティを提供する場合、互いに対してマルチホームピアPEである。この例では、イーサネットセグメント130は、(シングルアクティブモードとは対照的に)オールアクティブモードで動作する。オールアクティブモードでは、特定のイーサネットセグメントにアタッチされたPE100のすべてが、そのイーサネットセグメントとの間でトラフィックをフォワーディングすることを可能にされる。また、この例では、CE110BはPE100Bにシングルホーム(single-home)され、CE110CはPE100Cにシングルホームされる。PE100およびCE110の各々は、1つまたは複数のネットワークデバイスを使用して実装され得る。CE110は、たとえば、ホスト、ルータ、またはスイッチであり得る。図は、EVPNシステムを特定の構成を有するものとして示しているが、EVPNシステムは、図に示されているものとは異なる構成を有し得る(たとえば、EVPNシステムは、追加のPE100、追加のCE110、および/または他のネットワーク構成要素を含み得る)ことを理解されたい。
本明細書でさらに説明されるように、EVPNシステムにおける1つまたは複数のPE100は、(概して、本明細書では過渡ループ防止機構と呼ばれることがある)マルチホームピアPE間の過渡を防止するための機構を実装し得る。一実施形態では、PE(たとえば、PE100A)は、PEのマルチホームピアPEである1つまたは複数のPE(たとえば、PE100B)に第1のEVPNラベルをアドバタイズすることと、PEのマルチホームピアPEでない1つまたは複数のPE(たとえば、PE100C)に(第1のEVPNラベルとは異なる)第2のEVPNラベルをアドバタイズすることとに基づいて、過渡ループ防止機構を実装し得る。EVPN120がMPLSインフラストラクチャを使用して実装される一実施形態では、第1のEVPNラベルと第2のEVPNラベルとはMPLSラベルであり得る。EVPN120がVxLAN/NVGRE/GENEVEインフラストラクチャを使用して実装される一実施形態では、第1のEVPNラベルと第2のEVPNラベルとは、VxLANネットワーク識別子(VNI)であり得る。
一実施形態では、PEは、境界ゲートウェイプロトコル(BGP)アドバタイズメッセージを使用して(たとえば、PEのマルチホームピアPEにBGPアドバタイズメッセージを送ることによって)第1のEVPNラベルをアドバタイズする。BGPアドバタイズメッセージは、第1のEVPNラベルと、第1のEVPNラベルに関連するルートとを示し得、そのルートは、たとえば、EVPNインスタンスごとのイーサネット自動発見ルート、またはメディアアクセス制御/インターネットプロトコル(MAC/IP)アドバタイズルートであり得る。(EVPN仮想プライベート有線サービス(VPWS)では、MAC/IPアドバタイズルートが使用されないので)EVPN VPWSでは、EVPNインスタンスごとのイーサネット自動発見ルートのみが使用され得ることに留意されたい。
BGPアドバタイズメッセージはまた、第1のEVPNラベルに関連するルートに関連するグループ識別子と、第1のEVPNラベルに関連するルートに関連するEVPNインスタンスとを示し得、ここで、グループ識別子とEVPNインスタンスとの組合せは、アドバタイズするPEがそのメンバーであるマルチホームピアグループ(すなわち、互いに対してマルチホームピアPEであるPEのグループ)を一意に識別する。一実施形態では、グループ識別子とEVPNインスタンスとの組合せによって識別されるマルチホームピアグループのメンバーであるPEのみが、アドバタイズされるラベル/ルートを記憶/インポートし得る。したがって、BGPアドバタイズメッセージ中でグループ識別子とEVPNインスタンスとを示すことは、第1のEVPNラベルと、関連するルートとが、アドバタイズするPEのマルチホームピアPEのみによって記憶/インポートされる(およびアドバタイズするPEのマルチホームピアPEでないPEによって記憶/インポートされない)ことを保証し得る。グループ識別子は、所与のEVPNインスタンスにおけるマルチホームピアグループを一意に識別する識別子であり得る。グループのメンバーであるPEは、グループ識別子であらかじめ設定されているか、またはさもなければグループ識別子の知識を有し得る。一実施形態では、グループ識別子は、イーサネットセグメント識別子に基づいて生成される。グループ識別子は、それだけでは、同じグループ識別子が異なるEVPNインスタンスにわたって使用されることが可能であり得るので、複数のEVPNインスタンスがある場合、マルチホームピアグループを一意に識別するのに十分でないことがあり、したがって、グループ識別子とEVPNインスタンスとの組合せが、マルチホームピアグループを一意に識別するために使用され得る。一実施形態では、第1のEVPNラベルが、アドバタイズするPEのマルチホームピアPEであるPEのみによって記憶/インポートされることを保証するために、第1のEVPNラベルに関連するルートに関連するグループ識別子は、BGPアドバタイズメッセージ中に含まれるイーサネットセグメントインポートルートターゲット拡張コミュニティフィールドを使用して示され、第1のEVPNラベルに関連するルートに関連するEVPNインスタンスは、BGPアドバタイズメッセージ中に含まれるEVI-RT拡張コミュニティフィールドを使用して示される。イーサネットセグメントインポートルートターゲット拡張コミュニティフィールドフォーマットおよびEVI-RT拡張コミュニティフィールドフォーマットの一例が、それぞれ、図4Aおよび図4Bに示されている。
一実施形態では、BGPアドバタイズメッセージは、第2のEVPNラベルに関連するルートに関連するプリファレンスレベルよりも高い第1のEVPNラベルに関連するルートに関連するプリファレンスレベルを示す。これは、第1のEVPNラベルと第2のEVPNラベルの両方が、アドバタイズするPEのマルチホームピアPEにアドバタイズされるとき、特に関連があり得る(たとえば、これは、ポイントツーポイントで送られる代わりに(たとえば、BGPルートリフレクタを使用して)ラベル/ルートがブロードキャストされるとき、当てはまり得る)。この場合、アドバタイズを受信するマルチホームピアPEは、第2のEVPNラベルに勝るプリファレンスを第1のEVPNラベルに与える。一実施形態では、ルートに関連するプリファレンスレベルは、BGPアドバタイズメッセージ中に含まれるローカルプリファレンスフィールド(たとえば、LOCAL_PREFフィールド)を使用して示される。
アドバタイズするPEが、その後、EVPN120における別のPEから、接続されたCE(イーサネットセグメントを介してPEに接続されたCE)についてのトラフィックを受信した場合、PEは、PE自体と接続されたCEとの間のリンクが動作可能であるかどうかを決定し得る。PEは、任意の好適なリンク障害検出機構を使用して、リンクが動作可能であるかどうかを決定し得る。PEが、リンクが動作可能であると決定した場合、PEはトラフィックを(たとえば、イーサネットセグメントを介して)接続されたCEにフォワーディングし得、トラフィック配信は完了する。しかしながら、PEと接続されたCEとの間のリンクが動作可能でない(たとえば、これは、CEおよび/またはPEの障害あるいはリンク自体の障害によるものであり得る)場合、PEは、トラフィックが第1のEVPNラベルとともにカプセル化されたのか第2のEVPNラベルとともにカプセル化されたのかに基づいて、トラフィックをどのようにハンドリングすべきかを決定し得る。トラフィックが第2のEVPNラベルとともにカプセル化された場合、これは、トラフィックがマルチホームピアPEから来なかったことを示し、したがって、PEは、ローカル保護を提供するためにトラフィックをマルチホームピアPEにフォワーディングし得る。しかしながら、トラフィックが第1のEVPNラベルとともにカプセル化された場合、これは、トラフィックがマルチホームピアPEから来たことを示し、したがって、PEは、過渡ループを引き起こすことを回避するために、トラフィックをCEにフォワーディングすることなしに、および(従来のEFRRの場合に行われるように)トラフィックをマルチホームピアPEにフォワーディングすることなしにトラフィックを廃棄する。
次に、過渡ループ防止機構をさらに示すために、EVPNシステムにおいて実施される例示的な動作が、図1を参照しながら説明される。図1に示されている動作は、CE110CがCE110Aにトラフィックを送り、PE100CがCE110AについてのトラフィックをPE100Bにフォワーディングすることを判断するシナリオを示す。この例では、PE100Aは過渡ループ防止機構を実装し、他のPE(たとえば、PE100BおよびPE100C)は、過渡ループ防止機構を実装することも実装しないこともある。
図1を参照すると、動作「1」において、PE100Aは、PE100AのマルチホームピアPE(たとえば、PE100B)に第1のEVPNラベルをアドバタイズする。動作「2」において、PE100Aは、マルチホームピアPEでないPE(たとえば、PE100C)に第2のEVPNラベルをアドバタイズする。PE100Aは、第1のEVPNラベルと、(EVPNインスタンスごとのイーサネット自動発見ルートまたはMAC/IPアドバタイズルートであり得る)第1のEVPNラベルに関連するルートと、(イーサネットセグメント130のESIに基づいて生成され得る)グループ識別子と、EVPNインスタンスとを示すBGPアドバタイズメッセージを使用して、PE100AのマルチホームピアPEに第1のEVPNラベルをアドバタイズし得、ここで、グループ識別子とEVPNインスタンスとの組合せが、PE100AのマルチホームピアPEであるPEのグループを一意に識別する。
動作「3」において、PE100Cは、CE110Cから(イーサネットセグメント130を介してPE100AとPE100Bとに接続された)CE110Aについてのトラフィックを受信する。CE110Aは、PE100AとPE100Bとにマルチホームされる(およびイーサネットセグメント130がオールアクティブモードで動作する)ので、トラフィックは、PE100AまたはPE100Bのいずれかを介して到達され得る(およびどのPEにトラフィックをフォワーディングすべきかの判断は、PE100Cにおけるローカル判断である)。この例では、PE100Cは、PE100Bにトラフィックをフォワーディングすることを判断する。したがって、動作「4」において、PE100Cは、PE100Bによって前にアドバタイズされたEVPNラベルとともにトラフィックをカプセル化し、動作「5」において、PE100Bにトラフィックをフォワーディングする。
動作「6」において、PE100Bは、PE100Cから、カプセル化されたトラフィックを受信する。カプセル化されたトラフィックを受信すると、PE100Bは、PE100B自体とCE110Aとの間のリンクが動作可能であるかどうかを決定する。PE100Bが、リンクが動作可能であると決定した場合、PE100Bは動作「7a」を実施し、ここで、PE100BはCE110Aにトラフィックをフォワーディングし、トラフィック配信が完了する。しかしながら、PE100Bが、リンクが動作可能でないと決定した場合、PE100Bは動作「7b」を実施し、ここで、PE100Bは、(動作「1」においてPE100Aによって前にアドバタイズされた)第1のEVPNラベルとともにトラフィックをカプセル化し、ローカル保護を提供するためにPE100Aにトラフィックをフォワーディングする。
PE100Bが動作「7b」を実施すると仮定すると、動作「8」において、PE100Aは、PE100Bから、第1のEVPNラベルとともにカプセル化されたトラフィックを受信する。第1のEVPNラベルとともにカプセル化されたトラフィックを受信すると、PE100Aは、PE100A自体とCE110Aとの間のリンクが動作可能であるかどうかを決定する。PE100Aが、リンクが動作可能であると決定した場合、PE100Aは動作「9a」を実施し、ここで、PE100AはCE110Aにトラフィックをフォワーディングし、トラフィック配信が完了する。しかしながら、PE100Aが、リンクが動作可能でないと決定した場合、PE100Aは動作「9b」を実施し、ここで、PE100Aは、トラフィックが第1のEVPNラベルとともにカプセル化されることが、トラフィックがマルチホームピアPEから来たことを示すので、(CE110Aにトラフィックをフォワーディングすることなしに、およびPE100Bにトラフィックをフォワーディングすることなしに)トラフィックを廃棄する。これは、PE100AとPE100Bとの間の過渡ループを防止する。
図2は、いくつかの実施形態による、別のシナリオのためのEVPNシステムにおける動作を示すブロック図である。図2に示されている動作は、PE100CがCE110Aについてのトラフィックを(図1に示されているようにPE100Bの代わりに)PE100Aにフォワーディングすることを判断することを除いて、図1に示されているシナリオと同様のシナリオを示す。この例では、PE100Aは過渡ループ防止機構を実装し、PE100Bは過渡ループ防止機構を実装しない(たとえば、PE100Bは従来のeFRRを実装する)。PE100Cは、過渡ループ防止機構を実装することも実装しないこともある。動作「1」において、PE100Aは、マルチホームピアPE(たとえば、PE100B)に第1のEVPNラベルをアドバタイズする。動作「2」において、PE100Aは、マルチホームピアPEでないPE(たとえば、PE100C)に第2のEVPNラベルをアドバタイズする。PE100Aは、上記で説明されたように、BGPアドバタイズメッセージを使用してマルチホームピアPEに第1のEVPNラベルをアドバタイズし得る。
動作「3」において、PE100Cは、(イーサネットセグメント130を介してPE100AとPE100Bとに接続された)CE110Aについてのトラフィックを受信する。CE110Aは、PE100AとPE100Bとにマルチホームされる(およびイーサネットセグメント130がオールアクティブモードで動作する)ので、トラフィックは、PE100AまたはPE100Bのいずれかを介して到達され得る(およびどのPEにトラフィックをフォワーディングすべきかの判断は、PE100Cにおけるローカル判断である)。この例では、PE100Cは、PE100Aにトラフィックをフォワーディングすることを判断する。したがって、動作「4」において、PE100Cは、(動作「2」においてPE100Bによって前にアドバタイズされた)第2のEVPNラベルとともにトラフィックをカプセル化し、動作「5」において、PE100Aに、第2のEVPNラベルとともにカプセル化されたトラフィックをフォワーディングする。
動作「6」において、PE100Aは、PE100Cから、第2のEVPNラベルとともにカプセル化されたトラフィックを受信する。カプセル化されたトラフィックを受信すると、PE100Aは、PE100A自体とCE110Aとの間のリンクが動作可能であるかどうかを決定する。PE100Aが、リンクが動作可能であると決定した場合、PE100Aは動作「7a」を実施し、ここで、PE100AはCE110Aにトラフィックをフォワーディングし、トラフィック配信が完了する。しかしながら、PE100Aが、リンクが動作可能でないと決定した場合、PE100Aは動作「7b」を実施し、ここで、PE100Aは、トラフィックが第2のEVPNラベルとともにカプセル化されることが、トラフィックがマルチホームピアPEから来なかったことを示すので、ローカル保護のためにPE100Bにトラフィックをフォワーディングする。
PE100Aが動作「7b」を実施すると仮定すると、動作「8」において、PE100Bは、PE100Aからトラフィックを受信する。トラフィックを受信すると、PE100Bは、PE100B自体とCE110Aとの間のリンクが動作可能であるかどうかを決定する。PE100Bが、リンクが動作可能であると決定した場合、PE100Bは動作「9a」を実施し、ここで、PE100BはCE110Aにトラフィックをフォワーディングし、トラフィック配信が完了する。しかしながら、PE100Bが、リンクが動作可能でないと決定した場合、PE100Bは動作「9b」を実施し、ここで、PE100Bは、(動作「1」においてPE100Aによって前にアドバタイズされた)第1のEVPNラベルとともにトラフィックをカプセル化し、ローカル保護を提供するためにPE100Aにトラフィックをフォワーディングする。
PE100Bが動作「9b」を実施すると仮定すると、動作「10」において、PE100Aは、PE100Bから、第1のEVPNラベルとともにカプセル化されたトラフィックを受信する。第1のEVPNラベルとともにカプセル化されたトラフィックを受信すると、PE100Aは、PE100A自体とCE110Aとの間のリンクが動作可能であるかどうかを決定する。PE100Aが、リンクが動作可能であると決定した場合、PE100Aは動作「11a」を実施し、ここで、PE100AはCE110Aにトラフィックをフォワーディングし、トラフィック配信が完了する。しかしながら、PE100Aが、リンクが動作可能でないと決定した場合、PE100Aは動作「11b」を実施し、ここで、PE100Aは、トラフィックが第1のEVPNラベルとともにカプセル化されることが、トラフィックがマルチホームピアPEから来たことを示すので、(CE110Aにトラフィックをフォワーディングすることなしに、およびPE100Bにトラフィックをフォワーディングすることなしに)トラフィックを廃棄する。これは、PE100AとPE100Bとの間の過渡ループを防止する。
上述のように、この例では、PE100Bは、過渡ループ防止機構を実装しない。しかしながら、PE100Bが過渡ループ防止機構を実装した場合、PE100Bは、過渡ループを防止するために、PE100A自体とCE110Aとの間のリンクが動作可能でなかった場合、PE100Aから受信されたトラフィック(たとえば、動作「8」において受信されたトラフィック)を廃棄していることがある。
図3は、いくつかの実施形態による、また別のシナリオのためのEVPNシステムにおける動作を示すブロック図である。図3に示されている動作は、CE110BがCE110Aにトラフィックを送るシナリオを示す。この例では、PE100Aは過渡ループ防止機構を実装し、他のPE(たとえば、PE100BおよびPE100C)は、過渡ループ防止機構を実装することも実装しないこともある。動作「1」において、PE100Aは、マルチホームピアPE(たとえば、PE100B)に第1のEVPNラベルをアドバタイズする。動作「2」において、PE100Aは、マルチホームピアPEでないPE(たとえば、PE100C)に第2のEVPNラベルをアドバタイズする。PE100Aは、上記で説明されたように、BGPアドバタイズメッセージを使用してマルチホームピアPEに第1のEVPNラベルをアドバタイズし得る。
動作「3」において、PE100Bは、CE110BからCE110Aについてのトラフィックを受信する。トラフィックを受信すると、PE100Bは、PE100B自体とCE110Aとの間のリンクが動作可能であるかどうかを決定する。PE100Bが、リンクが動作可能であると決定した場合、PE100Bは動作「4a」を実施し、ここで、PE100BはCE110Aにトラフィックをフォワーディングし、トラフィック配信が完了する。しかしながら、PE100Bが、リンクが動作可能でないと決定した場合、PE100Bは動作「4b」を実施し、ここで、PE100Bは、(動作「1」においてPE100Aによって前にアドバタイズされた)第1のEVPNラベルとともにトラフィックをカプセル化し、ローカル保護を提供するためにPE100Aにトラフィックをフォワーディングする。
PE100Bが動作「4b」を実施すると仮定すると、動作「5」において、PE100Aは、PE100Bから、第1のEVPNラベルとともにカプセル化されたトラフィックを受信する。第1のEVPNラベルとともにカプセル化されたトラフィックを受信すると、PE100Aは、PE100A自体とCE110Aとの間のリンクが動作可能であるかどうかを決定する。PE100Aが、リンクが動作可能であると決定した場合、PE100Aは動作「6a」を実施し、ここで、PE100AはCE110Aにトラフィックをフォワーディングし、トラフィック配信が完了する。しかしながら、PE100Aが、リンクが動作可能でないと決定した場合、PE100Aは動作「6b」を実施し、ここで、PE100Aは、トラフィックが第1のEVPNラベルとともにカプセル化されることが、トラフィックがマルチホームピアPEから来たことを示すので、(CE110Aにトラフィックをフォワーディングすることなしに、およびPE100Bにトラフィックをフォワーディングすることなしに)トラフィックを廃棄する。これは、PE100AとPE100Bとの間の過渡ループを防止する。
本明細書で説明される過渡ループ防止機構の利益は、過渡ループ防止機構がローカル保護機構であり(したがって、トラフィックが適切にフォワーディングされるためにネットワーク全体にわたってネットワーク到達可能性情報を伝搬することを必要とせず)、したがって、高速リルートを提供する(たとえば、約50ミリ秒でのリルートが可能であることがわかっている)ことである。過渡ループ防止機構の別の利益は、過渡ループ防止機構が増分的に展開され得ることである。上記で提供された例からわかるように、すべてのPEが、トラフィックがCEに適切にフォワーディングされるために過渡ループ防止機構をサポートすることは、必要とされない。トラフィックは、EVPNシステムにおけるPEのうちのいくつかのみが過渡ループ防止機構を実装する場合でも、CEに適切にフォワーディングされ得る。したがって、過渡ループ防止機構は、時間とともにEVPNシステムにおけるPEにわたって増分的に展開され得る。過渡ループ防止機構のまた別の利点は、過渡ループ防止機構が従来のEVPNコンバージェンスソリューションとともに動作することができることである。すなわち、過渡ループ防止機構は、一時的にトラフィックをリルーティングするために使用され得、従来のEVPNコンバージェンスソリューションは、EVPNシステムにおけるPEにネットワーク到達可能性情報を伝搬する。トラフィックは、コンバージェンスが発生すると、更新されたネットワーク到達可能性情報を使用してフォワーディングされ得る。
図4Aは、いくつかの実施形態による、イーサネットセグメントインポートルートターゲット拡張コミュニティフィールドフォーマットを示す図である。図に示されているように、イーサネットセグメントインポートルートターゲット拡張コミュニティフィールドフォーマット410は、0x06の値を示すタイプサブフィールドと、0x02の値を示すサブタイプサブフィールドと、イーサネットセグメントインポート(ESインポート)サブフィールドとを含み得る。イーサネットセグメントインポートルートターゲット拡張コミュニティは、インターネットエンジニアリングタスクフォース(IETF)コメント要求7432(RFC7432)において規定される。上述のように、イーサネットセグメントインポートルートターゲット拡張コミュニティフィールドは、(ルートが対象とするマルチホームピアグループを、EVPNインスタンスとともに一意に識別する)ルートに関連するグループ識別子を示すために使用され得る。たとえば、グループ識別子は、ESインポートサブフィールドにおいて示され得る。
図4Bは、いくつかの実施形態による、EVI-RT拡張コミュニティフィールドフォーマットを示す図である。図に示されているように、EVI-RT拡張コミュニティフィールドフォーマット420は、0x06の値を示すタイプサブフィールドと、サブタイプサブフィールドと、EVPNインスタンス(EVI)に関連するルートタイプ(RT)サブフィールドとを含み得る。イーサネットセグメントインポートルートターゲット拡張コミュニティは、IETF draft-ietf-bess-evpn-igmp-mld-proxyにおいて規定される。上述のように、EVI-RT拡張コミュニティフィールドは、(ルートが対象とするマルチホームピアグループを、グループ識別子とともに一意に識別する)ルートに関連するEVPNインスタンスを示すために使用され得る。たとえば、EVPNインスタンスは、EVIに関連するRTサブフィールドにおいて示され得る。
一実施形態では、EVPNラベル/ルート(たとえば、EVIごとのイーサネット自動発見ルートまたはMAC/IPアドバタイズルート)をアドバタイズするとき、PEは、厳密に1つのイーサネットセグメントインポートルートターゲット拡張コミュニティと厳密に1つのEVI-RT拡張コミュニティとを含まなければならない。
図5は、いくつかの実施形態による、マルチホームピアPE間の過渡ループを防止するためのプロセスの流れ図である。一実施形態では、プロセスは、EVPNにおけるPEとして機能するネットワークデバイスによって実装される。流れ図中の動作は、他の図の例示的な実施形態を参照しながら説明される。しかしながら、流れ図の動作は、他の図を参照しながら説明されるもの以外の、本発明の実施形態によって実施され得、これらの他の図を参照しながら説明される本発明の実施形態は、流れ図を参照しながら説明されるものとは異なる動作を実施することができることを理解されたい。
ブロック510において、PEは、PEのマルチホームピアPEである1つまたは複数のPEに第1のEVPNラベルをアドバタイズし、PEは、それらが同じEVPNインスタンスにおける同じCEにコネクティビティを提供する場合、互いに対してマルチホームピアPEである。一実施形態では、第1のEVPNラベルは、BGPアドバタイズメッセージを使用してアドバタイズされる。一実施形態では、BGPアドバタイズメッセージは、第1のEVPNラベルに関連するルートを示し、ルートは、EVPNインスタンスルートごとのイーサネット自動発見ルート、またはMAC/IPアドバタイズルートである。一実施形態では、BGPアドバタイズメッセージは、ルートに関連するグループ識別子と、ルートに関連するEVPNインスタンスとを示し、ルートに関連するグループ識別子は、BGPアドバタイズメッセージ中に含まれるイーサネットセグメントインポートルートターゲット拡張コミュニティフィールドを使用して示され、ルートに関連するEVPNインスタンスは、BGPアドバタイズメッセージ中に含まれるEVI-RT拡張コミュニティフィールドを使用して示される。一実施形態では、BGPアドバタイズメッセージは、ルートに関連するプリファレンスレベルを示し、ルートに関連するプリファレンスレベルは、BGPアドバタイズメッセージ中に含まれるローカルプリファレンスフィールドを使用して示され、第1のEVPNラベルと第2のEVPNラベルの両方がPEのマルチホームピアPEにアドバタイズされるとき、第1のEVPNラベルに関連するルートに関連するプリファレンスレベルは、第2のEVPNラベルに関連するルートに関連するプリファレンスレベルよりも高い。一実施形態では、第1のEVPNラベルはMPLSラベルである。別の実施形態では、第1のEVPNラベルはVNIである。
ブロック520において、PEは、PEのマルチホームピアPEでない1つまたは複数のPEに(第1のEVPNラベルとは異なる)第2のEVPNラベルをアドバタイズする。
ブロック530において、PEは、PEに接続されたCEについてのトラフィックを受信する。
判断ブロック540において、PEは、PEとCEとの間のリンクが動作可能であるかどうかを決定する。PEが、リンクが動作可能であると決定した場合、ブロック550において、PEは、(トラフィックが第1のEVPNラベルとともにカプセル化されたのか第2のEVPNラベルとともにカプセル化されたのかにかかわらず)CEに、CEについてのトラフィックをフォワーディングする。しかしながら、PEが、リンクが動作可能でないと決定した場合、判断ブロック560において、PEは、EVPNラベル(トラフィックをカプセル化するEVPNラベル)を決定する。一実施形態では、CEへのリンクは、CEまたはPEの障害(またはリンク自体の障害)により動作可能でない。EVPNラベルが第1のEVPNラベルである場合、ブロック570において、PEは(たとえば、過渡ループを防止するために)トラフィックを廃棄する。しかしながら、EVPNラベルが第2のEVPNラベルである場合、ブロック580において、PEは、(たとえば、ローカル保護のために)トラフィックをPEのマルチホームピアPEにフォワーディングする。
図6Aは、いくつかの実施形態による、例示的なネットワーク内のネットワークデバイス(ND)間のコネクティビティ、ならびにNDの3つの例示的な実装形態を示す。図6Aは、ND600A~Hと、600A~600B間のライン、600B~600C間のライン、600C~600D間のライン、600D~600E間のライン、600E~600F間のライン、600F~600G間のライン、および600A~600G間のライン、ならびに600Hと、600A、600C、600D、および600Gの各々との間のラインを介した、ND600A~Hのコネクティビティとを示す。これらのNDは物理デバイスであり、これらのND間のコネクティビティは無線または有線であり得る(しばしばリンクと呼ばれる)。ND600A、600E、および600Fから延びる追加のラインは、これらのNDがネットワークのためのイングレスおよびエグレスポイントとして働くことを示す(したがって、これらのNDは、エッジNDと呼ばれることがあるが、他のNDは、コアNDと呼ばれることがある)。
図6Aにおける例示的なND実装形態のうちの2つは、1)カスタム特定用途向け集積回路(ASIC)と専用オペレーティングシステム(OS)とを使用する専用ネットワークデバイス602、および2)コモンオフザシェルフ(COTS)プロセッサと標準OSとを使用する汎用ネットワークデバイス604である。
専用ネットワークデバイス602は、1つまたは複数のプロセッサ612と、(一般に、1つまたは複数のASICおよび/またはネットワークプロセッサを含む)(1つまたは複数の)フォワーディングリソース614と、(ND600A~H間のコネクティビティによって示されるものなど、それを通してネットワーク接続が行われる)物理ネットワークインターフェース(NI)616とのセット、ならびにネットワーキングソフトウェア620を記憶した非一時的機械可読記憶媒体618を備える、ネットワーキングハードウェア610を含む。動作中に、ネットワーキングソフトウェア620は、1つまたは複数のネットワーキングソフトウェアインスタンス622のセットをインスタンス化するためにネットワーキングハードウェア610によって実行され得る。(1つまたは複数の)ネットワーキングソフトウェアインスタンス622の各々、およびそのネットワークソフトウェアインスタンスを実行するネットワーキングハードウェア610のその一部(そのネットワーキングソフトウェアインスタンスに専用のハードウェアであろうと、および/またはそのネットワーキングソフトウェアインスタンスによって(1つまたは複数の)ネットワーキングソフトウェアインスタンス622のうちの他のものと時間的に共有されるハードウェアのタイムスライスであろうと)は、別個の仮想ネットワークエレメント630A~Rを形成する。(1つまたは複数の)仮想ネットワークエレメント(VNE)630A~Rの各々は、(ローカル制御モジュールまたは制御通信モジュールと呼ばれることがある)制御通信および設定モジュール632A~Rと、(1つまたは複数の)フォワーディングテーブル634A~Rとを含み、したがって、所与の仮想ネットワークエレメント(たとえば、630A)は、制御通信および設定モジュール(たとえば、632A)と、1つまたは複数のフォワーディングテーブルのセット(たとえば、634A)と、仮想ネットワークエレメント(たとえば、630A)を実行するネットワーキングハードウェア610のその部分とを含む。
一実施形態では、ソフトウェア620は、過渡ループ防止構成要素625などのコードを含み、これは、ネットワーキングハードウェア610によって実行されたとき、専用ネットワークデバイス602が、ネットワーキングソフトウェアインスタンス622の一部として本発明の1つまたは複数の実施形態の動作を実施すること(たとえば、マルチホームピアPE間の過渡ループを防止すること)を引き起こす。
専用ネットワークデバイス602は、しばしば、1)(1つまたは複数の)制御通信および設定モジュール632A~Rを実行する(1つまたは複数の)プロセッサ612を備える(制御プレーンと呼ばれることがある)ND制御プレーン624と、2)(1つまたは複数の)フォワーディングテーブル634A~Rを利用する(1つまたは複数の)フォワーディングリソース614と物理NI616とを備える(フォワーディングプレーン、データプレーン、またはメディアプレーンと呼ばれることがある)NDフォワーディングプレーン626とを含むと物理的におよび/または論理的に見なされる。NDがルータである(またはルーティング機能を実装している)例として、ND制御プレーン624((1つまたは複数の)制御通信および設定モジュール632A~Rを実行する(1つまたは複数の)プロセッサ612)は、一般に、データ(たとえば、パケット)がどのようにルーティングされることになるか(たとえば、データのためのネクストホップおよびそのデータのための発信物理NI)を制御することに参加することと、そのルーティング情報を(1つまたは複数の)フォワーディングテーブル634A~Rに記憶することとに対して責任があり、NDフォワーディングプレーン626は、物理NI616上でそのデータを受信することと、(1つまたは複数の)フォワーディングテーブル634A~Rに基づいて物理NI616のうちの適切な物理NIからそのデータをフォワーディングすることとに対して責任がある。
図6Bは、いくつかの実施形態による、専用ネットワークデバイス602を実装するための例示的なやり方を示す。図6Bは、(一般にホットプラグ可能な)カード638を含む専用ネットワークデバイスを示す。いくつかの実施形態では、カード638は、2つのタイプ((ラインカードと呼ばれることがある)NDフォワーディングプレーン626として動作する1つまたは複数、および(制御カードと呼ばれることがある)ND制御プレーン624を実装するように動作する1つまたは複数)のものがあるが、代替実施形態は、機能を単一のカード上に組み合わせ、および/または追加のカードタイプを含み得る(たとえば、カードの1つの追加のタイプは、サービスカード、リソースカード、またはマルチアプリケーションカードと呼ばれる)。サービスカードは、特殊な処理(たとえば、レイヤ4~レイヤ7サービス(たとえば、ファイアウォール、インターネットプロトコルセキュリティ(IPsec)、セキュアソケットレイヤ(SSL)/トランスポートレイヤセキュリティ(TLS)、侵入検知システム(IDS)、ピアツーピア(P2P)、ボイスオーバーIP(VoIP)セッションボーダーコントローラ、モバイルワイヤレスゲートウェイ(ゲートウェイ汎用パケット無線サービス(GPRS)サポートノード(GGSN)、エボルブドパケットコア(EPC)ゲートウェイ))を提供することができる。例として、サービスカードは、IPsecトンネルを終端し、付随する認証および暗号化アルゴリズムを実行するために使用され得る。これらのカードは、バックプレーン636として示される1つまたは複数の相互接続機構(たとえば、ラインカードを結合する第1の完全なメッシュ、およびそれらのカードのすべてを結合する第2の完全なメッシュ)を通して互いに結合される。
図6Aに戻ると、汎用ネットワークデバイス604は、(しばしばCOTSプロセッサである)1つまたは複数のプロセッサ642と物理NI646とのセット、ならびにソフトウェア650を記憶した非一時的機械可読記憶媒体648を備える、ハードウェア640を含む。動作中に、(1つまたは複数の)プロセッサ642は、1つまたは複数のアプリケーション664A~Rの1つまたは複数のセットをインスタンス化するためにソフトウェア650を実行する。一実施形態は仮想化を実装しないが、代替実施形態は、異なる形態の仮想化を使用し得る。たとえば、1つのそのような代替実施形態では、仮想化レイヤ654は、各々、アプリケーション664A~Rのセットのうちの1つ(または複数)を実行するために使用され得る、ソフトウェアコンテナと呼ばれる複数のインスタンス662A~Rの作成を可能にするオペレーティングシステム(またはベースオペレーティングシステム上で実行するシム)のカーネルを表し、ここで、(仮想化エンジン、仮想プライベートサーバ、またはジェイル(jail)とも呼ばれる)複数のソフトウェアコンテナは、互いとは別個であり、オペレーティングシステムが稼働されるカーネル空間とは別個であるユーザ空間(一般に仮想メモリ空間)であり、ここで、所与のユーザ空間中で稼働するアプリケーションのセットは、明示的に可能にされない限り、他のプロセスのメモリにアクセスすることができない。別のそのような代替実施形態では、仮想化レイヤ654は、(仮想マシンモニタ(VMM)と呼ばれることがある)ハイパーバイザ、またはホストオペレーティングシステムの上で実行するハイパーバイザを表し、アプリケーション664A~Rのセットの各々は、ハイパーバイザの上で稼働される(いくつかの場合には、ソフトウェアコンテナのしっかりと隔離された形態と見なされ得る)仮想マシンと呼ばれるインスタンス662A~R内のゲストオペレーティングシステムの上で稼働され、ゲストオペレーティングシステムおよびアプリケーションは、それらのゲストオペレーティングシステムおよびアプリケーションが「ベアメタル(bare metal)」ホスト電子デバイス上で稼働することとは対照的に、仮想マシン上で稼働していることを知らないことがあるか、あるいは準仮想化(para-virtualization)を通して、オペレーティングシステムおよび/またはアプリケーションは、最適化目的のための仮想化の存在に気づいていることがある。また他の代替実施形態では、アプリケーションのうちの1つ、いくつかまたはすべては(1つまたは複数の)ユニカーネル(unikernel)として実装され、その(1つまたは複数の)ユニカーネルは、アプリケーションによって必要とされる特定のOSサービスを提供する(たとえば、OSサービスのドライバ/ライブラリを含むライブラリオペレーティングシステム(LibOS)から)ライブラリの限られたセットのみを、アプリケーションを用いて直接コンパイルすることによって生成され得る。ユニカーネルが、ハードウェア640上で直接、ハイパーバイザ上で直接(その場合、ユニカーネルはLibOS仮想マシン内で稼働するものとして説明されることがある)、またはソフトウェアコンテナ中で稼働するために実装され得るので、実施形態は、仮想化レイヤ654によって表されるハイパーバイザ上で直接稼働するユニカーネル、インスタンス662A~Rによって表されるソフトウェアコンテナ内で稼働するユニカーネルを用いて、またはユニカーネルと上記で説明された技法との組合せ(たとえば、両方ともハイパーバイザ上で直接稼働されるユニカーネルおよび仮想マシン、異なるソフトウェアコンテナ中で稼働されるユニカーネルおよびアプリケーションのセット)として完全に実装され得る。
1つまたは複数のアプリケーション664A~Rの1つまたは複数のセットのインスタンス化、ならびに実装された場合の仮想化は、(1つまたは複数の)ソフトウェアインスタンス652と総称される。アプリケーション664A~Rの各セット、実装された場合の対応する仮想化構成体(たとえば、インスタンス662A~R)、およびアプリケーション664A~Rを実行するハードウェア640のその部分(その実行に専用のハードウェアであろうと、および/または時間的に共有されるハードウェアのタイムスライスであろうと)は、(1つまたは複数の)別個の仮想ネットワークエレメント660A~Rを形成する。
(1つまたは複数の)仮想ネットワークエレメント660A~Rは、(1つまたは複数の)仮想ネットワークエレメント630A~Rと同様の、たとえば、(1つまたは複数の)制御通信および設定モジュール632Aならびに(1つまたは複数の)フォワーディングテーブル634Aと同様の機能を実施する(ハードウェア640のこの仮想化はネットワーク機能仮想化(NFV)と呼ばれることがある)。したがって、NFVは、多くのネットワーク機器タイプを、データセンタ、ND、および顧客構内機器(CPE)中に位置し得る、業界標準高ボリュームサーバハードウェア、物理スイッチ、および物理ストレージ上にコンソリデートするために使用され得る。実施形態は、各インスタンス662A~Rが1つのVNE660A~Rに対応して示されるが、代替実施形態は、より細かいレベルの粒度においてこの対応を実装し得(たとえば、ラインカード仮想マシンがラインカードを仮想化する、制御カード仮想マシンが制御カードを仮想化するなど)、VNEに対するインスタンス662A~Rの対応に関して本明細書で説明される技法が、そのようなより細かいレベルの粒度および/またはユニカーネルが使用される実施形態にも適用されることを理解されたい。
いくつかの実施形態では、仮想化レイヤ654は、物理イーサネットスイッチと同様のフォワーディングサービスを提供する仮想スイッチを含む。詳細には、この仮想スイッチは、インスタンス662A~Rと(1つまたは複数の)物理NI646との間の、ならびに随意にインスタンス662A~R間のトラフィックをフォワーディングし、さらに、この仮想スイッチは、(たとえば、仮想ローカルエリアネットワーク(VLAN)を受け付けることによって)ポリシによって互いに通信することを許可されないVNE660A~R間のネットワーク隔離をエンフォースし得る。
一実施形態では、ソフトウェア650は、過渡ループ防止構成要素663などのコードを含み、これは、(1つまたは複数の)プロセッサ642によって実行されたとき、汎用ネットワークデバイス604が、ソフトウェアインスタンス662A~Rの一部として本発明の1つまたは複数の実施形態の動作を実施すること(たとえば、マルチホームピアPE間の過渡ループを防止すること)を引き起こす。
図6Aにおける第3の例示的なND実装形態は、単一のND、またはND内の単一のカード中にカスタムASIC/専用OSとCOTSプロセッサ/標準OSの両方を含むハイブリッドネットワークデバイス606である。そのようなハイブリッドネットワークデバイスのいくつかの実施形態では、プラットフォームVM(すなわち、専用ネットワークデバイス602の機能を実装するVM)が、ハイブリッドネットワークデバイス606中に存在するネットワーキングハードウェアに準仮想化を提供することができる。
NDの上記の例示的な実装形態にかかわらず、NDによって実装される複数のVNEのうちの単一の1つが考慮されている(たとえば、VNEのうちの1つのみが所与の仮想ネットワークの一部である)とき、または単一のVNEのみがNDによって現在実装されている場合、ネットワークエレメント(NE)という短縮された用語は、そのVNEを指すために使用されることがある。また、上記の例示的な実装形態のすべてにおいて、VNEの各々(たとえば、(1つまたは複数の)VNE630A~R、VNE660A~R、およびハイブリッドネットワークデバイス606中のVNE)が、物理NI(たとえば、616、646)上でデータを受信し、物理NI(たとえば、616、646)のうちの適切な物理NIからそのデータをフォワーディングする。たとえば、IPルータ機能を実装するVNEが、IPパケット中のIPヘッダ情報の一部に基づいてIPパケットをフォワーディングし、ここで、IPヘッダ情報は、ソースIPアドレスと、宛先IPアドレスと、ソースポートと、宛先ポート(ここで、「ソースポート」および「宛先ポート」は、本明細書では、NDの物理ポートとは対照的に、プロトコルポートを指す)と、トランスポートプロトコル(たとえば、ユーザデータグラムプロトコル(UDP)と、伝送制御プロトコル(TCP)と、差別化サービスコードポイント(DSCP)値とを含む。
図6Cは、いくつかの実施形態による、VNEが結合され得る様々な例示的なやり方を示す。図6Cは、ND600Aにおいて実装されるVNE670A.1~670A.P(および随意にVNE670A.Q~670A.R)と、ND600HにおけるVNE670H.1とを示す。図6Cでは、VNE670A.1~Pは、VNE670A.1~PがND600Aの外側からパケットを受信し、ND600Aの外側にパケットをフォワーディングすることができるという点で互いとは別個であり、VNE670A.1はVNE670H.1に結合され、したがって、VNE670A.1およびVNE670H.1は、それらのそれぞれのND間でパケットを通信し、VNE670A.2~670A.3は、ND600Aの外側にパケットをフォワーディングすることなしに、VNE670A.2~670A.3間でパケットを随意にフォワーディングし得、VNE670A.Pは、随意に、VNE670A.Qと、その後に続くVNE670A.Rとを含むVNEのチェーン中の第1のものであり得る(これは、動的サービスチェイニングと呼ばれることがあり、ここで、一連のVNE中のVNEの各々が、異なるサービス、たとえば、1つまたは複数のレイヤ4~7ネットワークサービスを提供する)。図6Cは、VNE間の様々な例示的な関係を示しているが、代替実施形態は、他の関係(たとえば、より多い/より少ないVNE、より多い/より少ない動的サービスチェーン、いくつかの共通VNEといくつかの異なるVNEとを伴う複数の異なる動的サービスチェーン)をサポートし得る。
図6AのNDは、たとえば、インターネットまたはプライベートネットワークの一部を形成し得、他の電子デバイス(図示せず、ワークステーション、ラップトップコンピュータ、ネットブック、タブレット、パームトップ、モバイルフォン、スマートフォン、ファブレット、マルチメディアフォン、ボイスオーバーインターネットプロトコル(VOIP)フォン、端末、ポータブルメディアプレーヤ、GPSユニット、ウェアラブルデバイス、ゲーミングシステム、セットトップボックス、インターネット対応家庭用器具を含むエンドユーザデバイスなど)が、ネットワーク(たとえば、インターネット、またはインターネット上にオーバーレイされた(たとえば、インターネットを通してトンネリングされた)仮想プライベートネットワーク(VPN))上で(直接またはサーバを通して)互いに通信し、ならびに/あるいはコンテンツおよび/またはサービスにアクセスするために、(直接、またはアクセスネットワークなどの他のネットワークを通して)ネットワークに結合され得る。そのようなコンテンツおよび/またはサービスは、一般に、サービス/コンテンツプロバイダに属する1つまたは複数のサーバ(図示せず)、またはピアツーピア(P2P)サービスに参加している1つまたは複数のエンドユーザデバイス(図示せず)によって提供され、たとえば、パブリックウェブページ(たとえば、フリーコンテンツ、ストアフロント、検索サービス)、プライベートウェブページ(たとえば、電子メールサービスを提供するユーザ名/パスワードアクセスウェブページ)、および/またはVPN上の企業ネットワークを含み得る。たとえば、エンドユーザデバイスは(たとえば、(有線または無線で)アクセスネットワークに結合された顧客構内機器を通して)エッジNDに結合され得、エッジNDは(たとえば、1つまたは複数のコアNDを通して)他のエッジNDに結合され、他のエッジNDは、サーバとして働く電子デバイスに結合される。しかしながら、コンピュートおよびストレージ仮想化を通して、図6AにおいてNDとして動作する電子デバイスのうちの1つまたは複数はまた、1つまたは複数のそのようなサーバをホストし得(たとえば、汎用ネットワークデバイス604の場合、ソフトウェアインスタンス662A~Rのうちの1つまたは複数が、サーバとして動作し得、同じことが、ハイブリッドネットワークデバイス606について当てはまることになり、専用ネットワークデバイス602の場合、1つまたは複数のそのようなサーバはまた、(1つまたは複数の)プロセッサ612によって実行される仮想化レイヤ上で稼働され得)、その場合、サーバは、そのNDのVNEとコロケートされると言われる。
仮想ネットワークは、ネットワークサービス(たとえば、L2および/またはL3サービス)を提供する(図6Aにおけるものなどの)物理ネットワークの論理抽象化である。仮想ネットワークは、アンダーレイネットワーク(たとえば、オーバーレイネットワークを作成するためにトンネル(たとえば、汎用ルーティングカプセル化(GRE)、レイヤ2トンネリングプロトコル(L2TP)、IPSec)を使用するインターネットプロトコル(IP)ネットワークなどのL3ネットワーク)上で、ネットワークサービス(たとえば、レイヤ2(L2、データリンクレイヤ)および/またはレイヤ3(L3、ネットワークレイヤ)サービス)を提供する(ネットワーク仮想化オーバーレイと呼ばれることがある)オーバーレイネットワークとして実装され得る。
ネットワーク仮想化エッジ(NVE)が、アンダーレイネットワークのエッジに位置し、ネットワーク仮想化を実装することに参加し、NVEのネットワークに面した側が、他のNVEとの間でフレームをトンネリングするためにアンダーレイネットワークを使用し、NVEの外に面した側が、ネットワークの外側のシステムとの間でデータを送り、受信する。仮想ネットワークインスタンス(VNI)は、NVE上の仮想ネットワークの特定のインスタンス(たとえば、ND上のNE/VNE、ND上のNE/VNEの一部、ここで、そのNE/VNEがエミュレーションを通して複数のVNEに分割される)であり、1つまたは複数のVNIが、NVE上で(たとえば、ND上の異なるVNEとして)インスタンス化され得る。仮想アクセスポイント(VAP)は、外部システムを仮想ネットワークに接続するためのNVE上の論理接続ポイントであり、VAPは、論理インターフェース識別子(たとえば、VLAN ID)を通して識別される物理または仮想ポートであり得る。
ネットワークサービスの例は、1)外部システムが、アンダーレイネットワーク上でLAN環境によってネットワークにわたって相互接続された、イーサネットLANエミュレーションサービス(インターネットエンジニアリングタスクフォース(IETF)Multiprotocol Label Switching(MPLS)またはイーサネットVPN(EVPN)サービスと同様のイーサネットベースのマルチポイントサービス)(たとえば、NVEは、異なるそのような仮想ネットワークのための別個のL2 VNI(仮想スイッチングインスタンス)と、アンダーレイネットワークにわたってカプセル化をトンネリングするL3(たとえば、IP/MPLS)とを提供する)、ならびに2)外部システムが、アンダーレイネットワーク上でL3環境によってネットワークにわたって相互接続された(サービス規定観点からのIETF IP VPN(たとえば、境界ゲートウェイプロトコル(BGP)/MPLS IPVPN)と同様の)仮想化IPフォワーディングサービス(たとえば、NVEは、異なるそのような仮想ネットワークのために(インスタンスをフォワーディングおよびルーティングする)別個のL3 VNIと、アンダーレイネットワークにわたってカプセル化をトンネリングするL3(たとえば、IP/MPLS)とを提供する)を含む。ネットワークサービスは、サービス品質能力(たとえば、トラフィック分類マーキング、トラフィック調整およびスケジューリング)と、セキュリティ能力(たとえば、不正な形式の(malformed)ルート告知を回避するために、ネットワーク発信された攻撃から顧客構内を保護するためのフィルタ)と、管理能力(たとえば、完全な検出および処理)とをも含み得る。
図6Dは、いくつかの実施形態による、図6AのNDの各々上の単一のネットワークエレメントを伴うネットワークを示し、この簡単な手法内で、(旧来のルータによって通常使用される)旧来の分散手法を、(ネットワーク制御とも呼ばれる)到達可能性およびフォワーディング情報を維持するための集中型手法と対比する。詳細には、図6Dは、図6AのND600A~Hと同じコネクティビティを伴うネットワークエレメント(NE)670A~Hを示す。
図6Dは、分散手法672が、NE670A~Hにわたる到達可能性およびフォワーディング情報を生成することに対する責任を分散させ、言い換えれば、ネイバー発見およびトポロジー発見のプロセスが分散されることを示す。
たとえば、専用ネットワークデバイス602が使用される場合、ND制御プレーン624の(1つまたは複数の)制御通信および設定モジュール632A~Rは、一般に、1つまたは複数のルーティングプロトコル(たとえば、境界ゲートウェイプロトコル(BGP)などの外部ゲートウェイプロトコル、(1つまたは複数の)内部ゲートウェイプロトコル(IGP)(たとえば、開放型最短経路優先(OSPF:Open Shortest Path First)、中間システム間(IS-IS:Intermediate System to Intermediate System)、ルーティング情報プロトコル(RIP)、ラベル分散プロトコル(LDP:Label Distribution Protocol)、リソース予約プロトコル(RSVP)(RSVPトラフィックエンジニアリング(TE):LSPトンネルためのRSVPへの拡張、および一般化されたMulti-Protocol Label Switching(GMPLS)シグナリングRSVP-TEを含む))を実装するために到達可能性およびフォワーディング情報モジュールを含み、それらは、他のNEと通信して、ルートを交換し、次いで、1つまたは複数のルーティングメトリックに基づいてそれらのルートを選択する。したがって、NE670A~H(たとえば、(1つまたは複数の)制御通信および設定モジュール632A~Rを実行する(1つまたは複数の)プロセッサ612)は、ネットワーク内の到達可能性を分散的に決定することと、NE670A~Hのそれぞれのフォワーディング情報を計算することとによって、データ(たとえば、パケット)がどのようにルーティングされることになるか(たとえば、データのためのネクストホップおよびそのデータのための発信物理NI)を制御することに参加することに対するNE670A~Hの責任を実施する。ルートおよび隣接が、ND制御プレーン624上の1つまたは複数のルーティング構造(たとえば、ルーティング情報ベース(RIB)、ラベル情報ベース(LIB)、1つまたは複数の隣接構造)に記憶される。ND制御プレーン624は、(1つまたは複数の)ルーティング構造に基づく情報(たとえば、隣接およびルート情報)でNDフォワーディングプレーン626をプログラムする。たとえば、ND制御プレーン624は、隣接およびルート情報を、NDフォワーディングプレーン626上の1つまたは複数のフォワーディングテーブル634A~R(たとえば、フォワーディング情報ベース(FIB)、ラベルフォワーディング情報ベース(LFIB)、および1つまたは複数の隣接構造)にプログラムする。レイヤ2フォワーディングでは、NDは、レイヤ2情報に基づいてデータをフォワーディングするために使用される1つまたは複数のブリッジングテーブルをそのデータに記憶することができる。上記の例は、専用ネットワークデバイス602を使用するが、同じ分散手法672は、汎用ネットワークデバイス604とハイブリッドネットワークデバイス606との上に実装され得る。
図6Dは、選択された宛先にトラフィックをフォワーディングする基礎をなすシステムから、どこにトラフィックが送られるかについての判断を行うシステムを分離する(ソフトウェア規定ネットワーキング(SDN)としても知られる)集中型手法674を示す。示されている集中型手法674は、(SDN制御モジュール、コントローラ、ネットワークコントローラ、OpenFlowコントローラ、SDNコントローラ、制御プレーンノード、ネットワーク仮想化当局、または管理制御エンティティと呼ばれることがある)集中制御プレーン676において到達可能性およびフォワーディング情報の生成に対する責任を有し、したがって、ネイバー発見およびトポロジー発見のプロセスは集中型である。集中制御プレーン676は、(スイッチ、フォワーディングエレメント、データプレーンエレメント、またはノードと呼ばれることがある)NE670A~Hを含む(インフラストラクチャレイヤ、ネットワークフォワーディングプレーン、または(NDフォワーディングプレーンと混同されるべきでない)フォワーディングプレーンと呼ばれることがある)データプレーン680を伴うサウスバウンドインターフェース682を有する。集中制御プレーン676はネットワークコントローラ678を含み、ネットワークコントローラ678は、ネットワーク内の到達可能性を決定し、(OpenFlowプロトコルを使用し得る)サウスバウンドインターフェース682上でデータプレーン680のNE670A~Hにフォワーディング情報を分散させる、集中型到達可能性およびフォワーディング情報モジュール679を含む。したがって、ネットワークインテリジェンスは、一般にNDとは別個である電子デバイス上で実行する集中制御プレーン676において集中される。一実施形態では、ネットワークコントローラ678は、過渡ループ防止構成要素681を含み、過渡ループ防止構成要素681は、ネットワークコントローラ678によって実行されたとき、ネットワークコントローラ678が、本発明の1つまたは複数の実施形態の動作を実施すること(たとえば、過渡ループ防止機構を実装するためにEVPNシステムにおいて1つまたは複数のPEをプログラムすること)を引き起こす。
たとえば、専用ネットワークデバイス602がデータプレーン680において使用されるが、ND制御プレーン624の(1つまたは複数の)制御通信および設定モジュール632A~Rの各々は、一般に、サウスバウンドインターフェース682のVNE側を提供する制御エージェントを含む。この場合、ND制御プレーン624((1つまたは複数の)制御通信および設定モジュール632A~Rを実行する(1つまたは複数の)プロセッサ612)は、集中型到達可能性およびフォワーディング情報モジュール679からフォワーディング情報(およびいくつかの場合には、到達可能性情報)を受信するために、集中型制御プレーン676と通信している制御エージェントを通して、データ(たとえば、パケット)がどのようにルーティングされることになるか(たとえば、データのためのネクストホップおよびそのデータのための発信物理NI)を制御することに参加することに対するND制御プレーン624の責任を実施する(いくつかの実施形態では、(1つまたは複数の)制御通信および設定モジュール632A~Rはまた、集中型制御プレーン676と通信することに加えて、到達可能性を決定することおよび/またはフォワーディング情報を計算することにおいて、分散手法の場合よりも極めて小さいが、何らかの役割を果たし得、そのような実施形態は、概して、集中型手法674に該当すると見なされるが、ハイブリッド手法とも見なされ得ることを理解されたい)。
上記の例は専用ネットワークデバイス602を使用するが、同じ集中型手法674は、汎用ネットワークデバイス604(たとえば、VNE660A~Rの各々が、集中型到達可能性およびフォワーディング情報モジュール679からフォワーディング情報(およびいくつかの場合には、到達可能性情報)を受信するために、集中型制御プレーン676と通信することによって、データ(たとえば、パケット)がどのようにルーティングされることになるか(たとえば、データのためのネクストホップおよびそのデータのための発信物理NI)を制御することに対するVNE660A~Rの各々の責任を実施し、いくつかの実施形態では、VNE660A~Rはまた、集中型制御プレーン676と通信することに加えて、到達可能性を決定することおよび/またはフォワーディング情報を計算することにおいて、分散手法の場合よりも極めて小さいが、何らかの役割を果たし得ることを理解されたい)と、ハイブリッドネットワークデバイス606とを用いて実装され得る。事実上、SDN技法の使用は、NFVが、その上でSDNソフトウェアが稼働され得るインフラストラクチャを提供することによってSDNをサポートすることが可能であり、NFVとSDNとが両方とも、コモディティサーバハードウェアと物理スイッチとを利用することを目的とするので、汎用ネットワークデバイス604またはハイブリッドネットワークデバイス606実装形態において一般に使用されるNFV技法を向上させることができる。
図6Dはまた、集中型制御プレーン676が、(1つまたは複数の)アプリケーション688が常駐するアプリケーションレイヤ686へのノースバウンドインターフェース684を有することを示す。集中型制御プレーン676は、(1つまたは複数の)アプリケーション688について(論理フォワーディングプレーン、ネットワークサービス、またはオーバーレイネットワーク(データプレーン680のNE670A~Hがアンダーレイネットワークである)と呼ばれることがある)仮想ネットワーク692を形成する能力を有する。したがって、集中型制御プレーン676は、すべてのNDおよび設定されたNE/VNEのグローバルビューを維持し、それは、仮想ネットワークを、基礎をなすNDに効率的にマッピングする(物理ネットワークが、ハードウェア(ND、リンクまたはND構成要素)障害、追加、または除去のいずれかを通して変化するとき、これらのマッピングを維持することを含む)。
図6Dは、集中型手法674とは別個の分散手法672を示しているが、いくつかの実施形態では、ネットワーク制御の取り組みは別様に分散されるか、またはその2つは組み合わせられ得る。たとえば、1)実施形態は、概して、集中型手法(SDN)674を使用するが、いくつかの機能をNEに委任し得る(たとえば、分散手法は、欠陥監視と、性能監視と、保護スイッチングと、ネイバーおよび/またはトポロジー発見のためのプリミティブとのうちの1つまたは複数を実装するために使用され得る)か、または2)実施形態は、集中型制御プレーンと分散プロトコルの両方を介してネイバー発見およびトポロジー発見を実施し得、結果は、それらが一致しない例外を引き起こすために比較される。そのような実施形態は、概して、集中型手法674に該当すると見なされるが、ハイブリッド手法とも見なされ得る。
図6Dは、ND600A~Hの各々が単一のNE670A~Hを実装する単純な場合を示しているが、図6Dを参照しながら説明されるネットワーク制御手法は、ND600A~Hのうちの1つまたは複数が複数のVNE(たとえば、VNE630A~R、VNE660A~R、ハイブリッドネットワークデバイス606におけるVNE)を実装するネットワークについてもうまくいく。代替的にまたは追加として、ネットワークコントローラ678はまた、単一のNDにおける複数のVNEの実装形態をエミュレートし得る。詳細には、単一のNDにおいて複数のVNEを実装することの代わりに(または実装することに加えて)、ネットワークコントローラ678は、単一のNDにおけるVNE/NEの実装形態を、仮想ネットワーク692における複数のVNE(すべて(1つまたは複数の)仮想ネットワーク692のうちの同じ仮想ネットワーク692中、各々(1つまたは複数の)仮想ネットワーク692のうちの異なる仮想ネットワーク692中、または何らかの組合せ)として提示し得る。たとえば、ネットワークコントローラ678は、NDが、アンダーレイネットワークにおける単一のVNE(NE)を実装することと、次いで、(1つまたは複数の)仮想ネットワーク692における異なるVNEを提示するために、集中型制御プレーン676内のそのNEのリソースを論理的に分割すること(ここで、オーバーレイネットワークにおけるこれらの異なるVNEは、アンダーレイネットワークにおけるND上の単一のVNE/NE実装形態のリソースを共有している)とを引き起こし得る。
一方、図6Eおよび図6Fは、それぞれ、ネットワークコントローラ678が、仮想ネットワーク692のうちの異なる仮想ネットワーク692の一部として提示し得る、NEおよびVNEの例示的な抽象化を示す。図6Eは、いくつかの実施形態による、ND600A~Hの各々が単一のNE670A~H(図6D参照)を実装するが、集中型制御プレーン676が、異なるNDにおけるNE(NE670A~CおよびG~H)のうちの複数を抽出して図6Dの(1つまたは複数の)仮想ネットワーク692のうちの1つにおける単一のNE670Iにした(単一のNE670Iを表す)、単純な場合を示す。図6Eは、この仮想ネットワークにおいて、NE670IがNE670Dと670Fとに結合され、NE670Dと670Fが両方とも、さらにNE670Eに結合されることを示す。
図6Fは、いくつかの実施形態による、複数のVNE(VNE670A.1およびVNE670H.1)が異なるND(ND600AおよびND600H)上に実装され、互いに結合され、集中型制御プレーン676が、これらの複数のVNEが、図6Dの仮想ネットワーク692のうちの1つ内の単一のVNE670Tのように見えるようにそれらの複数のVNEを抽出した場合を示す。したがって、NEまたはVNEの抽象化は、複数のNDにわたることができる。
いくつかの実施形態は、集中型制御プレーン676を単一のエンティティ(たとえば、単一の電子デバイス上で稼働するソフトウェアの単一のインスタンス)として実装するが、代替実施形態は、冗長性および/またはスケーラビリティ目的のための複数のエンティティ(たとえば、異なる電子デバイス上で稼働するソフトウェアの複数のインスタンス)にわたって機能を拡散し得る。
ネットワークデバイス実装形態と同様に、集中型制御プレーン676、およびしたがって集中型到達可能性およびフォワーディング情報モジュール679を含むネットワークコントローラ678、を稼働する(1つまたは複数の)電子デバイスは、様々なやり方(たとえば、専用デバイス、汎用(たとえば、COTS)デバイス、またはハイブリッドデバイス)で実装され得る。これらの(1つまたは複数の)電子デバイスは、同様に、(1つまたは複数の)プロセッサと、1つまたは複数の物理NIのセットと、集中型制御プレーンソフトウェアを記憶した非一時的機械可読記憶媒体とを含む。たとえば、図7は、(しばしばCOTSプロセッサである)1つまたは複数のプロセッサ742と物理NI746とのセット、ならびに集中型制御プレーン(CCP)ソフトウェア750と過渡ループ防止構成要素751とを記憶した非一時的機械可読記憶媒体748を備えるハードウェア740を含む汎用制御プレーンデバイス704を示す。
コンピュート仮想化を使用する実施形態では、(1つまたは複数の)プロセッサ742は、一般に、仮想化レイヤ754をインスタンス化するためにソフトウェアを実行する(たとえば、一実施形態では、仮想化レイヤ754は、各々、1つまたは複数のアプリケーションのセットを実行するために使用され得る、ソフトウェアコンテナと呼ばれる(別個のユーザ空間を表し、仮想化エンジン、仮想プライベートサーバ、またはジェイルとも呼ばれる)複数のインスタンス762A~Rの作成を可能にするオペレーティングシステムのカーネル(またはベースオペレーティングシステム上で実行するシム)を表し、、別の実施形態では、仮想化レイヤ754は、(仮想マシンモニタ(VMM)と呼ばれることがある)ハイパーバイザ、またはホストオペレーティングシステムの上で実行するハイパーバイザを表し、アプリケーションは、ハイパーバイザによって稼働される(いくつかの場合には、ソフトウェアコンテナのしっかりと隔離された形態と見なされ得る)仮想マシンと呼ばれるインスタンス762A~R内のゲストオペレーティングシステムの上で稼働され、別の実施形態では、アプリケーションは、ユニカーネルとして実装され、ユニカーネルは、アプリケーションによって必要とされる特定のOSサービスを提供する(たとえば、OSサービスのドライバ/ライブラリを含むライブラリオペレーティングシステム(LibOS)から)ライブラリの限られたセットのみを、アプリケーションを用いて直接コンパイルすることによって生成され得、ユニカーネルは、ハードウェア740上で直接、仮想化レイヤ754によって表されるハイパーバイザ上で直接(その場合、ユニカーネルはLibOS仮想マシン内で稼働するものとして説明されることがある)、またはインスタンス762A~Rのうちの1つによって表されるソフトウェアコンテナ中で稼働することができる)。同じく、コンピュート仮想化が使用される実施形態では、動作中に、(CCPインスタンス776Aとして示される)CCPソフトウェア750のインスタンスは、仮想化レイヤ754上で(たとえば、インスタンス762A内で)実行される。コンピュート仮想化が使用されない実施形態では、CCPインスタンス776Aは、「ベアメタル」汎用制御プレーンデバイス704上で、ユニカーネルとしてまたはホストオペレーティングシステムの上で実行される。CCPインスタンス776Aのインスタンス化、ならびに実装された場合の仮想化レイヤ754およびインスタンス762A~Rは、(1つまたは複数の)ソフトウェアインスタンス752と総称される。
いくつかの実施形態では、CCPインスタンス776Aは、ネットワークコントローラインスタンス778を含む。ネットワークコントローラインスタンス778は、(オペレーティングシステムにネットワークコントローラ678のコンテキストを提供し、様々なNEと通信するミドルウェアレイヤである)集中型到達可能性およびフォワーディング情報モジュールインスタンス779と、(プロトコル、ネットワーク状況アウェアネス、およびユーザインターフェースなど、様々なネットワーク動作のために必要とされるインテリジェンスを提供する)ミドルウェアレイヤ上の(アプリケーションレイヤと呼ばれることがある)CCPアプリケーションレイヤ780とを含む。より抽象的なレベルにおいて、集中型制御プレーン676内のこのCCPアプリケーションレイヤ780は、(1つまたは複数の)仮想ネットワークビュー(ネットワークの(1つまたは複数の)論理ビュー)とともに動作し、ミドルウェアレイヤは、仮想ネットワークから物理的ビューへのコンバージョンを提供する。
過渡ループ防止構成要素751は、ソフトウェアインスタンス752の一部として本発明の1つまたは複数の実施形態の動作を実施するために(たとえば、マルチホームピアPE間の過渡ループを防止するために)ハードウェア740によって実行され得る。
集中型制御プレーン676は、各フローについてCCPアプリケーションレイヤ780計算およびミドルウェアレイヤマッピングに基づいて、関連のあるメッセージをデータプレーン680に送信する。フローは、ビットの所与のパターンにマッチするヘッダをもつパケットのセットとして規定され得、この意味で、旧来のIPフォワーディングはまた、たとえば、フローが宛先IPアドレスによって規定されるフローベースフォワーディングであるが、他の実装形態では、フロー規定のために使用されるビットの所与のパターンは、パケットヘッダ中のより多くのフィールド(たとえば、10個またはそれ以上)を含み得る。データプレーン680の異なるND/NE/VNEは、異なるメッセージ、およびしたがって、異なるフォワーディング情報を受信し得る。データプレーン680は、これらのメッセージを処理し、適切なNE/VNEの(フローテーブルと呼ばれることがある)フォワーディングテーブル中で適切なフロー情報および対応するアクションをプログラムし、次いで、NE/VNEは、着信パケットをフォワーディングテーブル中で表されるフローにマッピングし、フォワーディングテーブル中のマッチに基づいてパケットをフォワーディングする。
OpenFlowなどの規格は、メッセージのために使用されるプロトコル、ならびにパケットを処理するためのモデルを規定する。パケットを処理するためのモデルは、ヘッダパース、パケット分類、およびフォワーディング判断を行うことを含む。ヘッダパースは、プロトコルのよく知られているセットに基づいてパケットをどのように解釈すべきかを説明する。いくつかのプロトコルフィールドは、パケット分類において使用されることになるマッチ構造(またはキー)を構築するために使用される(たとえば、第1のキーフィールドはソースメディアアクセス制御(MAC)アドレスであり得、第2のキーフィールドは宛先MACアドレスであり得る)。
パケット分類は、フォワーディングテーブルエントリのマッチ構造、またはキーに基づいて、フォワーディングテーブル中のどの(フォワーディングテーブルエントリまたはフローエントリとも呼ばれる)エントリがパケットに最も良くマッチするかを決定することによってパケットを分類するために、メモリにおいてルックアップを実行することを伴う。フォワーディングテーブルエントリ中で表される多くのフローがパケットに対応/マッチすることができることが可能であり、この場合、システムは、一般に、規定された方式(たとえば、マッチしている第1のフォワーディングテーブルエントリを選択すること)に従って多くのものから1つのフォワーディングテーブルエントリを決定するように設定される。フォワーディングテーブルエントリは、マッチ基準の特定のセット(パケットヘッダ中の特定のフィールドについての、または何らかの他のパケットコンテンツについての、値またはワイルドカードのセット、あるいはパケットのどんな部分が、マッチする能力によって規定されたように、特定の(1つまたは複数の)値/ワイルドカードと比較されるべきであるかの指示)と、マッチするパケットを受信したときにデータプレーンがとるべき1つまたは複数のアクションのセットの両方を含む。たとえば、アクションは、特定のポートを使用するパケットのためにヘッダをパケット上にプッシュすること、パケットをフラッディングすること、または単にパケットをドロップすることであり得る。したがって、特定の伝送制御プロトコル(TCP)宛先ポートを用いたIPv4/IPv6パケットについてのフォワーディングテーブルエントリは、これらのパケットがドロップされるべきであることを指定するアクションを含んでいることがある。
フォワーディング判断を行うことと、アクションを実施することとは、パケット上のマッチしたフォワーディングテーブルエントリ中で識別されるアクションのセットを実行することによって、パケット分類中に識別されるフォワーディングテーブルエントリに基づいて行われる。
しかしながら、未知のパケット(たとえば、OpenFlow用語で使用される「逃したパケット(missed packet)」または「マッチミス(match-miss)」)がデータプレーン680に到着したとき、パケット(またはパケットヘッダおよびコンテンツのサブセット)は、一般に、集中型制御プレーン676にフォワーディングされる。集中型制御プレーン676は、次いで、未知のパケットのフローに属するパケットに適応するためにフォワーディングテーブルエントリをデータプレーン680にプログラムする。特定のフォワーディングテーブルエントリが集中型制御プレーン676によってデータプレーン680にプログラムされると、マッチする証明を伴う次のパケットが、そのフォワーディングテーブルエントリにマッチし、そのマッチしたエントリに関連するアクションのセットをとる。
ネットワークインターフェース(NI)は、物理または仮想であり得、IPのコンテキストでは、インターフェースアドレスは、物理NIであろうと仮想NIであろうと、NIに割り振られたIPアドレスである。仮想NIは、物理NIに関連するか、別の仮想インターフェースに関連するか、または独立していることがある(たとえば、ループバックインターフェース、ポイントツーポイントプロトコルインターフェース)。NI(物理または仮想)は、番号を付けられる(IPアドレスを伴うNI)か、または番号を付けられない(IPアドレスを伴わないNI)ことがある。ループバックインターフェース(およびそのループバックアドレス)は、管理目的のためにしばしば使用される、NE/VNE(物理または仮想)の仮想NI(およびIPアドレス)の特定のタイプであり、ここで、そのようなIPアドレスはノーダルループバックアドレスと呼ばれる。NDの(1つまたは複数の)NIに割り振られた(1つまたは複数の)IPアドレスは、そのNDのIPアドレスと呼ばれ、より粒度の細かいレベルにおいて、ND上に実装されたNE/VNEに割り振られた(1つまたは複数の)NIに割り振られた(1つまたは複数の)IPアドレスは、そのNE/VNEのIPアドレスと呼ばれることがある。
上述の詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビット上のトランザクションのアルゴリズムおよび記号表現の見地から提示された。これらのアルゴリズム説明および表現は、データ処理技術分野の当業者が、他の当業者に自身の仕事の本質を最も効果的に伝えるために使用されるやり方である。アルゴリズムは、ここでは、および一般的には、所望の結果をもたらすトランザクションの自己矛盾のないシーケンスであると考えられる。それらのトランザクションは、物理量の物理操作を必要とするトランザクションである。通常、ただし必ずしもそうであるとは限らないが、これらの量は、記憶され、転送され、組み合わせられ、比較され、場合によっては操作されることが可能な電気信号または磁気信号の形態をとる。場合によっては、主に広く使用されているという理由から、これらの信号を、ビット、値、エレメント、シンボル、文字、項、数などと呼ぶことが好都合であることが判明している。
しかしながら、これらの用語および同様の用語はすべて適切な物理量に関連し、これらの量に適用される好都合な標識にすぎないことを念頭に置くべきである。別段に明記されていない限り上記の説明から明らかなように、説明全体にわたって、「処理すること」または「算出すること」または「計算すること」または「決定すること」または「表示すること」などの用語を利用する説明は、コンピュータシステムまたは同様の電子コンピューティングデバイスのアクションおよびプロセスを指し、これは、コンピュータシステムのレジスタおよびメモリ内の物理(電子)量として表されるデータを操作し、そのデータを、コンピュータシステムメモリまたはレジスタ、あるいは他のそのような情報ストレージ、送信または表示デバイス内の物理量として同様に表される他のデータ変換することを諒解されたい。
本明細書で提示されるアルゴリズムおよび表示は、本質的に、特定のコンピュータまたは他の装置に関係しない。様々な汎用システムが、本明細書における教示によるプログラムとともに使用され得るか、または、必要とされる方法トランザクションを実施するためのより特殊な装置を構築することが好都合であると判明することがある。様々なこれらのシステムのための必要とされる構造は、上記の説明から明らかになろう。さらに、実施形態は、特定のプログラミング言語に関して説明されない。様々なプログラミング言語が、本明細書で説明されるように実施形態の教示を実装するために使用され得ることが諒解されよう。
一実施形態は、(超小型電子メモリなどの)非一時的機械可読記憶媒体が、上記で説明された動作を実施するために(ここでは一般的に「プロセッサ」と呼ばれる)1つまたは複数のデータ処理構成要素をプログラムする命令(たとえば、コンピュータコード)が記憶された製品であり得る。他の実施形態では、これらの動作のうちのいくつかが、ハードワイヤード論理(たとえば、専用デジタルフィルタブロックおよび状態機械)を含んでいる特定のハードウェア構成要素によって実施され得る。それらの動作は、代替的に、プログラムされたデータ処理構成要素と固定ハードワイヤード回路構成要素との任意の組合せによって実施され得る。
説明全体にわたって、実施形態は流れ図を通して提示された。これらの流れ図で説明されたトランザクションの順序およびトランザクションは、単に説明のためのものであり、本発明の限定として意図されないことが諒解されよう。当業者は、以下の特許請求の範囲に記載の本発明のより広い趣旨および範囲から逸脱することなく、流れ図に対する変形形態が行われ得ることを認識されよう。
上記の明細書では、実施形態が、それの特定の例示的な実施形態を参照しながら説明された。以下の特許請求の範囲に記載の本発明のより広い趣旨および範囲から逸脱することなく、様々な修正がそれに行われ得ることは明らかであろう。したがって、本明細書および図面は、限定的な意味ではなく例示の意味で考慮されるべきである。
Claims (20)
- マルチホームピアプロバイダエッジ(PE)間の過渡ループを防止するために、イーサネット仮想プライベートネットワーク(EVPN)においてプロバイダエッジ(PE)として機能するネットワークデバイスによる方法であって、前記方法は、
前記PEのマルチホームピアPEである1つまたは複数のPEに第1のEVPNラベルをアドバタイズすること(510)であって、PEは、それらが同じEVPNインスタンスにおける同じカスタマーエッジ(CE)にコネクティビティを提供する場合、互いに対してマルチホームピアPEである、第1のEVPNラベルをアドバタイズすること(510)と、
前記PEのマルチホームピアPEでない1つまたは複数のPEに第2のEVPNラベルをアドバタイズすること(520)と、
前記第2のEVPNラベルとは対照的に前記第1のEVPNラベルとともにカプセル化された、CEについての第1のトラフィックを受信すること(530)と、
前記PEと前記CEとの間のリンクが動作可能でなく、前記CEについての前記第1のトラフィックが前記第1のEVPNラベルとともにカプセル化されたと決定したことに応答して、前記第1のトラフィックを廃棄すること(560)と
を含む、方法。 - 前記第1のEVPNラベルとは対照的に前記第2のEVPNラベルとともにカプセル化された、前記CEについての第2のトラフィックを受信すること(530)と、
前記PEと前記CEとの間の前記リンクが動作可能でなく、前記CEについての前記第2のトラフィックが前記第2のEVPNラベルとともにカプセル化されたと決定したことに応答して、前記第2のトラフィックを前記PEのマルチホームピアPEにフォワーディングすること(580)と
をさらに含む、請求項1に記載の方法。 - 前記CEについての第3のトラフィックを受信すること(530)と、
前記第3のトラフィックが前記第1のEVPNラベルとともにカプセル化されたのか前記第2のEVPNラベルとともにカプセル化されたのかにかかわらず、前記PEと前記CEとの間の前記リンクが動作可能であると決定したことに応答して、前記CEについての前記第3のトラフィックを前記CEにフォワーディングすること(550)と
をさらに含む、請求項2に記載の方法。 - 前記第1のEVPNラベルが、BGPアドバタイズメッセージを使用してアドバタイズされる、請求項1に記載の方法。
- 前記BGPアドバタイズメッセージが、前記第1のEVPNラベルに関連するルートを示し、前記ルートが、EVPNインスタンスルートごとのイーサネット自動発見ルート、またはメディアアクセス制御/インターネットプロトコル(MAC/IP)アドバタイズルートである、請求項4に記載の方法。
- 前記BGPアドバタイズメッセージが、前記ルートに関連するグループ識別子と、前記ルートに関連するEVPNインスタンスとを示し、前記ルートに関連する前記グループ識別子が、前記BGPアドバタイズメッセージ中に含まれるイーサネットセグメントインポートルートターゲット拡張コミュニティフィールドを使用して示され、前記ルートに関連する前記EVPNインスタンスが、前記BGPアドバタイズメッセージ中に含まれるEVI-RT拡張コミュニティフィールドを使用して示される、請求項5に記載の方法。
- 前記BGPアドバタイズメッセージが、前記ルートに関連するプリファレンスレベルを示し、前記ルートに関連する前記プリファレンスレベルが、前記BGPアドバタイズメッセージ中に含まれるローカルプリファレンスフィールドを使用して示され、前記第1のEVPNラベルと前記第2のEVPNラベルの両方が前記PEのマルチホームピアPEにアドバタイズされるとき、前記第1のEVPNラベルに関連する前記ルートに関連する前記プリファレンスレベルが、前記第2のEVPNラベルに関連するルートに関連するプリファレンスレベルよりも高い、請求項6に記載の方法。
- 前記第1のEVPNラベルがMultiprotocol Label Switching(MPLS)ラベルである、請求項1に記載の方法。
- 前記第1のEVPNラベルが仮想拡張可能ローカルエリアネットワーク(VxLAN)ネットワーク識別子(VNI)である、請求項1に記載の方法。
- 前記CEへの前記リンクが、前記CEまたは前記PEの障害により動作可能でない、請求項1に記載の方法。
- イーサネット仮想プライベートネットワーク(EVPN)においてプロバイダエッジ(PE)として機能するネットワークデバイスのプロセッサによって実行された場合、前記ネットワークデバイスに、マルチホームピアPE間の過渡ループを防止するための動作を実施させる命令を提供する非一時的機械可読記憶媒体であって、前記動作は、
前記PEのマルチホームピアPEである1つまたは複数のPEに第1のEVPNラベルをアドバタイズすること(510)であって、PEは、それらが同じEVPNインスタンスにおける同じカスタマーエッジ(CE)にコネクティビティを提供する場合、互いに対してマルチホームピアPEである、第1のEVPNラベルをアドバタイズすること(510)と、
前記PEのマルチホームピアPEでない1つまたは複数のPEに第2のEVPNラベルをアドバタイズすること(520)と、
前記第2のEVPNラベルとは対照的に前記第1のEVPNラベルとともにカプセル化された、CEについての第1のトラフィックを受信すること(530)と、
前記PEと前記CEとの間のリンクが動作可能でなく、前記CEについての前記第1のトラフィックが前記第1のEVPNラベルとともにカプセル化されたと決定したことに応答して、前記第1のトラフィックを廃棄すること(570)と
を含む、非一時的機械可読記憶媒体。 - 前記動作は、
前記第1のEVPNラベルとは対照的に前記第2のEVPNラベルとともにカプセル化された、前記CEについての第2のトラフィックを受信すること(530)と、
前記PEと前記CEとの間の前記リンクが動作可能でなく、前記CEについての前記第2のトラフィックが前記第2のEVPNラベルとともにカプセル化されたと決定したことに応答して、前記第2のトラフィックを前記PEのマルチホームピアPEにフォワーディングすること(580)と
をさらに含む、請求項11に記載の非一時的機械可読記憶媒体。 - 前記第1のEVPNラベルが、BGPアドバタイズメッセージを使用してアドバタイズされ、前記BGPアドバタイズメッセージが、前記第1のEVPNラベルに関連するルートを示し、前記ルートが、EVPNインスタンスルートごとのイーサネット自動発見ルート、またはメディアアクセス制御/インターネットプロトコル(MAC/IP)アドバタイズルートである、請求項11に記載の非一時的機械可読記憶媒体。
- 前記BGPアドバタイズメッセージが、前記ルートに関連するマルチホームピアグループと、前記ルートに関連するEVPNインスタンスとを示し、前記ルートに関連する前記マルチホームピアグループが、前記BGPアドバタイズメッセージ中に含まれるイーサネットセグメントインポートルートターゲット拡張コミュニティフィールドを使用して示され、前記ルートに関連する前記EVPNインスタンスが、前記BGPアドバタイズメッセージ中に含まれるEVI-RT拡張コミュニティフィールドを使用して示される、請求項13に記載の非一時的機械可読記憶媒体。
- 前記BGPアドバタイズメッセージが、前記ルートに関連するプリファレンスレベルを示し、前記ルートに関連する前記プリファレンスレベルが、前記BGPアドバタイズメッセージ中に含まれるローカルプリファレンスフィールドを使用して示され、前記第1のEVPNラベルと前記第2のEVPNラベルの両方が前記PEのマルチホームピアPEにアドバタイズされるとき、前記第1のEVPNラベルに関連する前記ルートに関連する前記プリファレンスレベルが、前記第2のEVPNラベルに関連するルートに関連するプリファレンスレベルよりも高い、請求項14に記載の非一時的機械可読記憶媒体。
- マルチホームピアプロバイダエッジ(PE)間の過渡ループを防止するために、イーサネット仮想プライベートネットワーク(EVPN)においてプロバイダエッジ(PE)として機能するためのネットワークデバイス(604)であって、前記ネットワークデバイスが、
1つまたは複数のプロセッサ(642)のセットと、
非一時的機械可読記憶媒体(648)と
を備え、
前記非一時的機械可読記憶媒体(648)は、1つまたは複数のプロセッサの前記セットによって実行された場合、
前記PEのマルチホームピアPEである1つまたは複数のPEに第1のEVPNラベルをアドバタイズすることであって、PEは、それらが同じEVPNインスタンスにおける同じカスタマーエッジ(CE)にコネクティビティを提供する場合、互いに対してマルチホームピアPEである、第1のEVPNラベルをアドバタイズすることと、
前記PEのマルチホームピアPEでない1つまたは複数のPEに第2のEVPNラベルをアドバタイズすることと、
前記第2のEVPNラベルとは対照的に前記第1のEVPNラベルとともにカプセル化された、CEについての第1のトラフィックを受信することと、
前記PEと前記CEとの間のリンクが動作可能でなく、前記CEについての前記第1のトラフィックが前記第1のEVPNラベルとともにカプセル化されたと決定したことに応答して、前記第1のトラフィックを廃棄することと
を前記ネットワークデバイスに行わせる命令を提供する、ネットワークデバイス(604)。 - 前記非一時的機械可読記憶媒体は、1つまたは複数のプロセッサの前記セットによって実行された場合、
前記第1のEVPNラベルとは対照的に前記第2のEVPNラベルとともにカプセル化された、前記CEについての第2のトラフィックを受信することと、
前記PEと前記CEとの間の前記リンクが動作可能でなく、前記CEについての前記第2のトラフィックが前記第2のEVPNラベルとともにカプセル化されたと決定したことに応答して、前記第2のトラフィックを前記PEのマルチホームピアPEにフォワーディングすることと
を前記ネットワークデバイスに行わせる命令をさらに提供する、請求項16に記載のネットワークデバイス。 - 前記第1のEVPNラベルが、BGPアドバタイズメッセージを使用してアドバタイズされ、前記BGPアドバタイズメッセージが、前記第1のEVPNラベルに関連するルートを示し、前記ルートが、EVPNインスタンスルートごとのイーサネット自動発見ルート、またはメディアアクセス制御/インターネットプロトコル(MAC/IP)アドバタイズルートである、請求項16に記載のネットワークデバイス。
- 前記BGPアドバタイズメッセージが、前記ルートに関連するマルチホームピアグループと、前記ルートに関連するEVPNインスタンスとを示し、前記ルートに関連する前記マルチホームピアグループが、前記BGPアドバタイズメッセージ中に含まれるイーサネットセグメントインポートルートターゲット拡張コミュニティフィールドを使用して示され、前記ルートに関連する前記EVPNインスタンスが、前記BGPアドバタイズメッセージ中に含まれるEVI-RT拡張コミュニティフィールドを使用して示される、請求項18に記載のネットワークデバイス。
- 前記第1のEVPNラベルがMultiprotocol Label Switching(MPLS)ラベルである、請求項16に記載のネットワークデバイス。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNPCT/CN2020/098101 | 2020-06-24 | ||
CN2020098101 | 2020-06-24 | ||
PCT/IB2020/058644 WO2021260423A1 (en) | 2020-06-24 | 2020-09-17 | Transient loop prevention in ethernet virtual private network egress fast reroute |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023531065A true JP2023531065A (ja) | 2023-07-20 |
JP7488922B2 JP7488922B2 (ja) | 2024-05-22 |
Family
ID=72644518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022580047A Active JP7488922B2 (ja) | 2020-06-24 | 2020-09-17 | イーサネット仮想プライベートネットワークエグレス高速リルートにおける過渡ループ防止 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230239235A1 (ja) |
EP (1) | EP4173240A1 (ja) |
JP (1) | JP7488922B2 (ja) |
KR (1) | KR20230014775A (ja) |
CN (1) | CN115668883A (ja) |
WO (1) | WO2021260423A1 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7633859B2 (en) | 2005-01-26 | 2009-12-15 | Cisco Technology, Inc. | Loop prevention technique for MPLS using two labels |
US11070395B2 (en) | 2015-12-09 | 2021-07-20 | Nokia Of America Corporation | Customer premises LAN expansion |
CN114553638A (zh) | 2018-09-15 | 2022-05-27 | 华为技术有限公司 | 一种通信方法、设备和系统 |
-
2020
- 2020-09-17 EP EP20780360.2A patent/EP4173240A1/en active Pending
- 2020-09-17 CN CN202080102377.1A patent/CN115668883A/zh active Pending
- 2020-09-17 US US18/001,233 patent/US20230239235A1/en active Pending
- 2020-09-17 JP JP2022580047A patent/JP7488922B2/ja active Active
- 2020-09-17 KR KR1020227045454A patent/KR20230014775A/ko unknown
- 2020-09-17 WO PCT/IB2020/058644 patent/WO2021260423A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
JP7488922B2 (ja) | 2024-05-22 |
KR20230014775A (ko) | 2023-01-30 |
WO2021260423A1 (en) | 2021-12-30 |
CN115668883A (zh) | 2023-01-31 |
EP4173240A1 (en) | 2023-05-03 |
US20230239235A1 (en) | 2023-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112262553B (zh) | 在软件定义网络交换机的分组处理流水线中跟踪分组的装置和方法 | |
EP3497893B1 (en) | Segment routing based on maximum segment identifier depth | |
EP3378193B1 (en) | Designated forwarder (df) election and re-election on provider edge (pe) failure in all-active redundancy topology | |
US10819833B2 (en) | Dynamic re-route in a redundant system of a packet network | |
CN108353024B (zh) | 连网装置及其实现的方法、计算装置以及控制平面装置 | |
CN108702326B (zh) | 检测sdn控制平面循环的方法、设备和非暂时性机器可读介质 | |
US10581726B2 (en) | Method and apparatus for supporting bidirectional forwarding (BFD) over multi-chassis link aggregation group (MC-LAG) in internet protocol (IP) multiprotocol label switching (MPLS) networks | |
EP3437251B1 (en) | Multipoint to multipoint trees for computed spring multicast | |
CN109076018B (zh) | 利用is-is协议实现分段路由网络中网元的方法和设备 | |
US10841207B2 (en) | Method and apparatus for supporting bidirectional forwarding (BFD) over multi-chassis link aggregation group (MC-LAG) in internet protocol (IP) networks | |
US20160315866A1 (en) | Service based intelligent packet-in mechanism for openflow switches | |
US20170149659A1 (en) | Mechanism to improve control channel efficiency by distributing packet-ins in an openflow network | |
WO2020212998A1 (en) | Network address allocation in a virtual layer 2 domain spanning across multiple container clusters | |
WO2017221050A1 (en) | Efficient handling of multi-destination traffic in multi-homed ethernet virtual private networks (evpn) | |
WO2018042230A1 (en) | Configurable selective packet-in mechanism for openflow switches | |
WO2018065813A1 (en) | Method and system for distribution of virtual layer 2 traffic towards multiple access network devices | |
US20220247679A1 (en) | Method and apparatus for layer 2 route calculation in a route reflector network device | |
WO2017144947A1 (en) | Method and apparatus for spanning trees for computed spring multicast | |
US20220311643A1 (en) | Method and system to transmit broadcast, unknown unicast, or multicast (bum) traffic for multiple ethernet virtual private network (evpn) instances (evis) | |
WO2017144945A1 (en) | Method and apparatus for multicast in multi-area spring network | |
US20220311703A1 (en) | Controller watch port for robust software defined networking (sdn) system operation | |
JP7488922B2 (ja) | イーサネット仮想プライベートネットワークエグレス高速リルートにおける過渡ループ防止 | |
WO2017187222A1 (en) | Robust method of distributing packet-ins in a software defined networking (sdn) network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230213 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240430 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240510 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7488922 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |