本出願は、参照によりその全体が本明細書に組み込まれる、2018年9月15日に中国国家知識産権局に出願された「COMMUNICATION METHOD, DEVICE, AND SYSTEM」という名称の中国特許出願第201811077544.2号の優先権を主張するものである。
本出願は、通信分野に関し、より詳細には、イーサネット仮想プライベートネットワーク(英語:Ethernet Virtual Private Network、EVPN)内の通信方法、装置、及びシステムに関する。
EVPNは、マルチプロトコルラベルスイッチング(英語:Multi-Protocol Label Switching、MPLS)ネットワーク内で相互に作用するレイヤ2ネットワークを提供する仮想プライベートネットワーク(英語:Virtual Private Network、VPN)である。現在、EVPN技術は、事業者のネットワーク設計において、レイヤ2VPNサービスを搬送するための主流となる解決策として広く使用されている。
同じEVPNサービスフローがプロバイダ(英語:provider、P)デバイスによって異なる転送経路に配信されるので引き起こされ得るパケット障害を回避するために、プロバイダエッジ(英語:provider edge、PE)デバイスが、送信されるべき各EVPNサービスパケットに4バイトの制御ワードを追加する。制御ワードの最初の4ビットの各々の値は0である。このようにして、制御ワードを搬送するEVPNサービスパケットを受信した後、Pデバイスは、パケット障害を効果的に回避するように、同じサービスフローに属する全てのパケットを同じ転送経路に配信する。
しかし、従来技術では、制御ワード処理能力をサポートするデバイスと、制御ワード処理能力をサポートしないデバイス又は制御ワード処理能力をサポートするが制御ワード処理能力を有効にしないデバイスがEVPN内に共存するとき、デバイスは、おそらく通常は互いと通信することはできない。例えば、PE1が制御ワード処理能力を有効にするが、PE1のBGPネイバーPE2は制御ワード処理能力をサポートしない又は有効にしないとき、PE1は、制御ワードを搬送するデータパケットをPE2に転送する。PE2は、制御ワード処理能力をサポートしない又は有効にしないので、PE2は、受信されたデータパケットを正しく解析することはできない。別の例では、PE2は制御ワード処理能力をサポートしない又は有効にしないが、PE1は制御ワード処理能力を有効にするとき、PE2は、制御ワードを搬送しないデータパケットをPE1に送信する。データパケットを受信した後、PE1は、データパケット内に制御ワードを含めることによって、データパケットを解析する。従って、PE1は、データパケットを正しく解析することはできない。結論として、制御ワード処理能力をサポートするデバイスと、制御ワード処理能力をサポートしないデバイス又は制御ワード処理能力が配置されないデバイスが共存するEVPN内で、ネットワークデバイス間のトラフィックの正常な送信及び受信をどのようにして保証するかは、現在解決される必要がある技術的課題である。
これに鑑みて、本出願は、制御ワード処理能力をサポートするデバイスと制御ワード処理能力をサポートしないデバイス又は制御ワード処理能力が配置されないデバイスが共存するEVPN内で、ネットワークデバイス間の正常な通信を保証し、サービス伝送信頼性を改善するために、通信方法及びネットワークデバイスを提供する。
第1の態様によれば、本出願は、第1のネットワークデバイスによって、第1のイーサネット仮想プライベートネットワークEVPNサービスパケットを生成するステップであって、第1のEVPNサービスパケットは、制御ワード指示情報と、制御ワードとを含み、制御ワード指示情報は、第1のEVPNサービスパケットが制御ワードを含むことを示すために使用される、ステップと、第1のネットワークデバイスによって、第1のEVPNサービスパケットを第2のネットワークデバイスに送信するステップとを含む通信方法を提供する。
本出願では、転送プレーンを通じて第2のネットワークデバイスにサービスパケットを転送するとき、第1のネットワークデバイスは、サービスパケットを使用して制御ワード指示情報を搬送し、従って、サービスパケットを受信するとき、第2のネットワークデバイスは、パケット内で搬送される制御ワード指示情報に基づいて、パケットが制御ワードを搬送することを決定し、次いで、正しいパケットフォーマットに基づいてパケットを解析することができる。このことは、正常なサービス通信を効果的に保証する。
可能な設計では、第1のネットワークデバイスによって、第1のEVPNサービスパケットを生成するステップの前に、方法は、第1のネットワークデバイスによって、第2のネットワークデバイスによって送信された第1のボーダゲートウェイプロトコル(英語:Border Gateway Protocol、BGP)メッセージを受信するステップであって、第1のBGPメッセージは制御ワード指示情報を含む、ステップをさらに含む。
可能な設計では、第1のネットワークデバイスによって、第1のイーサネット仮想プライベートネットワークEVPNサービスパケットを生成するステップは、第1のネットワークデバイスによって、第1のBGPメッセージに基づいて第1のEVPNサービスパケットを生成するステップを含む。
可能な設計では、第1のBGPメッセージはEVPNルーティング情報をさらに含み、第1のネットワークデバイスによって、第1のBGPメッセージに基づいて第1のEVPNサービスパケットを生成するステップは、第1のネットワークデバイスによってEVPNルーティング情報及び制御ワード指示情報に基づいて、制御ワード指示情報を含む転送エントリを生成するステップと、第1のネットワークデバイスによって、転送エントリに基づいて第1のEVPNサービスパケットを生成するステップとを含む。本出願では、第1のネットワークデバイスがEVPNルートを第2のネットワークデバイスに通知するとき、制御ワード指示情報も搬送され、従って、BGPメッセージを受信した後、第2のネットワークデバイスが、EVPNルーティング情報及び制御ワード指示情報をローカルに記憶し、その後のパケット転送を導くために転送エントリを生成する。この動作は単純であり、別個のシグナリングを使用して制御ワード指示情報を送信する必要はなく、従って、ネットワークオーバヘッドが減少される。
可能な設計では、方法は、第1のネットワークデバイスによって、第3のネットワークデバイスによって送信された第2のBGPメッセージを受信するステップと、第1のネットワークデバイスによって第2のBGPメッセージに基づいて、第3のネットワークデバイスが制御ワード処理能力を持たないことを決定するステップとをさらに含む。
可能な設計では、方法は、第1のネットワークデバイスによって、第1のネットワークデバイスが、第3のネットワークデバイスが制御ワード処理能力を持たないことを決定したことに基づいて、第2のEVPNサービスパケットを生成するステップであって、第2のEVPNサービスパケットは制御ワードを搬送しない、ステップと、第1のネットワークデバイスによって、第2のEVPNサービスパケットを第3のネットワークデバイスに送信するステップとをさらに含む。
第2の態様によれば、本出願は、第2のネットワークデバイスによって、第1のネットワークデバイスによって送信された第1のイーサネット仮想プライベートネットワークEVPNサービスパケットを受信するステップであって、第1のEVPNサービスパケットは、制御ワード指示情報と、制御ワードとを含む、ステップと、第2のネットワークデバイスによって制御ワード指示情報に基づいて、第1のEVPNサービスパケットが制御ワードを含むことを決定するステップと、第2のネットワークデバイスによって、第1のEVPNサービスパケットに基づいて処理されたEVPNサービスパケットを取得するステップであって、この処理されたEVPNサービスパケットは制御ワード指示情報も制御ワードも搬送しない、ステップと、第2のネットワークデバイスによって、処理されたEVPNサービスパケットを第1のEVPNサービスパケットの宛先に送信するステップとを含む通信方法を提供する。
可能な設計では、第2のネットワークデバイスによって、第1のEVPNサービスパケットを受信するステップの前に、方法は、
第2のネットワークデバイスによって、第1のボーダゲートウェイプロトコルBGPメッセージを第1のネットワークデバイスに送信するステップであって、第1のBGPメッセージは制御ワード指示情報を含み、制御ワード指示情報は、第1のネットワークデバイスが第1のEVPNパケットを第2のネットワークデバイスに送信するとき、第1のEVPNパケットを使用して制御ワードを搬送するように第1のネットワークデバイスに指示するために使用される、ステップ
をさらに含む。
可能な設計では、制御ワード指示情報は、第1のBGPメッセージ内の拡張コミュニティ属性内で搬送される。
第3の態様によれば、本出願は、第1のネットワークデバイスによって、第2のネットワークデバイスによって送信された第1のボーダゲートウェイプロトコルBGPメッセージを受信するステップであって、第1のBGPメッセージは、イーサネット仮想プライベートネットワークEVPNルーティング情報と、制御ワード指示情報とを含み、制御ワード指示情報は、第1のネットワークデバイスが第1のEVPNサービスパケットを第2のネットワークデバイスに送信するとき、第1のEVPNサービスパケットを使用して制御ワードを搬送するように第1のネットワークデバイスに指示するために使用される、ステップと、
EVPNルーティング情報及び制御ワード指示情報に基づいて第1のネットワークデバイスによって、制御ワード指示情報を含む転送エントリを生成するステップと
を含む通信方法を提供する。
本出願では、制御プレーン上で、第2のネットワークデバイスは、第2のネットワークデバイスの制御ワード処理能力を通知するために、BGPメッセージを通じて制御ワード指示情報を第1のネットワークデバイスに送信し、従って、第1のネットワークデバイスは、第1のネットワークデバイスがサービスパケットを第2のネットワークデバイスに送信するとき、第1のネットワークデバイスの制御ワード処理能力を参照して、制御ワードが搬送される必要があるかどうかを決定することができる。従って、第2のネットワークデバイスが、第1のネットワークデバイスによって送信されたサービスパケットを受信するとき、パケットが、BGPメッセージを通じて第2のネットワークデバイスによって第1のネットワークデバイスに通知された制御ワード指示情報を搬送する場合、第2のネットワークデバイスは、パケットが制御ワードを搬送することを決定する。パケットが制御ワード指示情報を搬送しない場合、第2のネットワークデバイスは、制御ワードを搬送しないパケットのフォーマットに基づいて、受信されたサービスパケットを解析する。このようにして、制御ワード処理能力を持つネットワークデバイスと制御ワード処理能力を持たないネットワークデバイスとの間の正常な通信が保証可能であり、サービス伝送信頼性が効果的に改善される。
可能な設計では、方法は、第1のネットワークデバイスによって、転送エントリに基づいて第1のEVPNサービスパケットを生成するステップであって、第1のEVPNサービスパケットは、制御ワード指示情報と、制御ワードとを含む、ステップと、第1のネットワークデバイスによって、第1のEVPNサービスパケットを第2のネットワークデバイスに送信するステップとをさらに含む。
可能な設計では、方法は、第1のネットワークデバイスによって、第3のネットワークデバイスによって送信された第2のBGPメッセージを受信するステップと、第1のネットワークデバイスによって第2のBGPメッセージに基づいて、第3のネットワークデバイスが制御ワード処理能力を持たないことを決定するステップとをさらに含む。
可能な設計では、方法は、第1のネットワークデバイスが、第3のネットワークデバイスが制御ワード処理能力を持たないことを決定したことに基づいて、第1のネットワークデバイスによって、制御ワードを含まない第2のEVPNサービスパケットを生成するステップと、第1のネットワークデバイスによって、第2のEVPNサービスパケットを第3のネットワークデバイスに送信するステップとをさらに含む。
第4の態様によれば、本出願は、第2のネットワークデバイスによって、ボーダゲートウェイプロトコルBGPメッセージを生成するステップであって、BGPメッセージは制御ワード指示情報を含み、制御ワード指示情報は、第1のネットワークデバイスがEVPNサービスパケットを第2のネットワークデバイスに送信するとき、EVPNサービスパケットを使用して制御ワードを搬送するように第1のネットワークデバイスに指示するために使用される、ステップと、第2のネットワークデバイスによって、BGPメッセージを第1のネットワークデバイスに送信するステップとを含む通信方法を提供する。
可能な設計では、方法は、第2のネットワークデバイスによって、第1のネットワークデバイスによって送信されたEVPNサービスパケットを受信するステップであって、EVPNサービスパケットは、制御ワード指示情報と、制御ワードとを含む、ステップと、第2のネットワークデバイスによって制御ワード指示情報に基づいて、EVPNサービスパケットが制御ワードを含むことを決定するステップと、第2のネットワークデバイスによって、EVPNサービスパケットに基づいて処理されたEVPNサービスパケットを取得するステップであって、この処理されたEVPNサービスパケットは制御ワード指示情報も制御ワードも搬送しない、ステップと、第2のネットワークデバイスによって、処理されたEVPNサービスパケットをEVPNサービスパケットの宛先に送信するステップとをさらに含む。
可能な設計では、制御ワード指示情報は、BGPメッセージ内のネクストホップ能力属性next-hop capabilities attribute又は拡張コミュニティ属性内で搬送される。
第5の態様によれば、本出願は、第1のネットワークデバイスを提供する。この第1のネットワークデバイスは、メモリと、このメモリに接続されたプロセッサとを含む。プロセッサは、第1の態様若しくは第1の態様の可能な設計のいずれか1つにおける方法を実行する、又は第3の態様若しくは第3の態様の可能な設計のいずれか1つにおける方法を実行するために、メモリ内のコンピュータ可読命令を実行するように構成される。
第6の態様によれば、本出願は、第2のネットワークデバイスを提供する。この第2のネットワークデバイスは、メモリと、このメモリに接続されたプロセッサとを含む。プロセッサは、第2の態様若しくは第2の態様の可能な設計のいずれか1つにおける方法を実行する、又は第4の態様若しくは第4の態様の可能な設計のいずれか1つにおける方法を実行するために、メモリ内のコンピュータ可読命令を実行するように構成される。
第7の態様によれば、本出願の実施形態は、第5の態様において提供された第1のネットワークデバイスと、第6の態様において提供された第2のネットワークデバイスとを含み、第1の態様、第2の態様、第3の態様、第4の態様、第1の態様の可能な設計、第2の態様の可能な設計、第3の態様の可能な設計、又は第4の態様の可能な設計のいずれか1つにおける方法を実行するように構成された通信システムを提供する。
第8の態様によれば、本出願の実施形態は、コンピュータ可読記憶媒体を提供する。このコンピュータ可読記憶媒体は命令を記憶し、この命令がコンピュータ上で走らされるとき、コンピュータは、第1の態様、第2の態様、第3の態様、第4の態様、第1の態様の可能な設計、第2の態様の可能な設計、第3の態様の可能な設計、又は第4の態様の可能な設計のいずれか1つにおける方法を実行するために有効にされる。
本出願では、ローカルデバイスは、EVPN内で、制御ワード処理能力をサポートしない又は有効にしないネットワークデバイスが適合することができるように、動作を単純化するために、ローカルデバイスの制御ワード処理能力をリモートデバイスに動的に通知する。具体的には、BGP制御ワード拡張コミュニティ属性は、ローカルエンドの制御ワード処理能力をピアデバイスに通知するために新たに追加される。リモートデバイスが制御ワード処理能力を持つ場合、言い換えれば、制御ワード処理能力がリモートデバイス上で配置され、リモートデバイスが制御ワード処理能力を有効にする場合、データパケットをローカルデバイスに送信するとき、リモートデバイスは、データパケットを使用して、制御ワード及びローカルデバイスによって前もって通知された制御ワード指示情報を搬送する。このようにして、ローカルデバイスは、制御ワード指示情報に基づいて、データパケットが制御ワードを搬送することを正しく識別することができ、制御ワードを搬送するパケットのフォーマットに基づいてデータパケットを正しく解析することができる。制御ワード処理能力がリモートデバイス上で配置されない又はリモートデバイスが制御ワード処理能力を有効にしない場合、リモートデバイスがデータパケットをローカルデバイスに送信するとき、制御ワードも制御ワード指示情報も搬送されない。このようにして、ローカルデバイスは、データパケットが、前もってピアデバイスに通知された制御ワード指示情報を搬送しないことに基づいて、受信されたデータパケットが制御ワードを搬送しないことを決定し、次いで、制御ワードを搬送しないパケットのフォーマットに基づいてデータパケットを解析する。このことは、パケットが正しく解析されることも保証することができる。
本出願の実施形態によるEVPNネットワークアーキテクチャの概略図である。
本出願の実施形態による通信方法の概略フローチャートである。
本出願の実施形態によるBGP属性のフォーマットの概略図である。
本出願の実施形態によるMP_REACH_NLRI属性のフォーマットの概略図である。
本出願の実施形態によるEVPN NLRIフィールドのフォーマットの概略図である。
本出願の実施形態によるMAC/IP通知ルートのフォーマットの概略図である。
本出願によりEVPNがMACルートを通知するネットワークアーキテクチャの概略図である。
本出願によりEVPNがMACトラフィックを転送するネットワークアーキテクチャの概略図である。
本出願の実施形態による別の通信方法の概略フローチャートである。
本出願の実施形態による第1のネットワークデバイスの概略構造図である。
本出願の実施形態による第2のネットワークデバイスの概略構造図である。
以下は、添付の図面を参照しながら本出願の実施形態における技術的解決策について説明する。本出願の実施形態において説明されるネットワークアーキテクチャ及びサービスシナリオは、本出願の実施形態において技術的解決策をより明確に説明することが意図されており、本出願の実施形態において提供される技術的解決策に関する制限を構成しない。当業者は、ネットワークアーキテクチャの進化及び新しいサービスシナリオの出現により、本出願の実施形態において提供される技術的解決策は類似の技術的課題にも適用可能であることを知り得る。
本出願における「1」、「2」、「3」、「第1の」、「第2の」、及び「第3の」などの序数は、複数の対象を区別するために使用されるが、複数の対象の順序を制限するためには使用されない。
本出願において言及される「A及び/又はB」は、以下のケース、即ち、Aのみが含まれる、Bのみが含まれる、又はAとBの両方が含まれる、を含むと理解されるべきである。
本出願におけるEVPN技術については、インターネットエンジニアリングタスクフォース(英語:Internet Engineering Task Force、略してIETF)リクエストフォーコメンツ(英語:Request For Comments、略してRFC)7432の説明を参照されたい。インターネットエンジニアリングタスクフォース(英語:Internet Engineering Task Force、略してIETF)リクエストフォーコメンツ(英語:Request For Comments、略してRFC)7432は、参照によりその全体が本出願に組み込まれる。
本出願では、方法ステップの実行主体は「ローカルエンド」と呼ばれ、この実行主体と通信するネットワーク要素は「リモートエンド」と呼ばれる。これらは、当業者によって理解可能である。
本出願では、「事業者ネットワーク」は、「サービスプロバイダによって提供されるバックボーンネットワーク」、「サービスプロバイダネットワーク」、又は「パブリックネットワーク」とも呼ばれることがある。前述の異なる用語は、多くの場合、互換的に使用されてよい。
本出願における「制御ワード処理能力を持つ」ことは、ネットワークデバイスが、制御ワード処理能力をサポートし、制御ワード処理能力を有効にすることを意味する。別のネットワークデバイスによって送信され、制御ワードを搬送するデータパケットを受信したとき、ネットワークデバイスは、データパケット内で搬送された制御ワードを正しく識別する能力を持つ。制御ワード処理能力を持つ別のネットワークデバイスにデータパケットを送信するとき、ネットワークデバイスは、データパケットを使用して、制御ワードを搬送することができる。
本出願における「制御ワード処理能力を持たない」ことは、ネットワークデバイスが制御ワード処理能力をサポートしない、又はネットワークデバイスが制御ワード処理能力をサポートする場合ですら、ネットワークデバイスが制御ワード処理能力を有効にしないことを意味する。別のネットワークデバイスによって送信され、制御ワードを搬送するデータパケットを受信したとき、ネットワークデバイスは、データパケット内で搬送される制御ワードを正しく識別する能力を持たない。別のネットワークデバイスにデータパケットを送信するとき、ネットワークデバイスは、データパケットを使用して、制御ワードを搬送することはできない。
本出願における「制御ワード指示情報」は、制御ワードラベル識別子(英語:Control word Label Identifier、CRI)、制御ワード指示ラベル、又は制御ワードラベルとも呼ばれることがある。制御プレーン上で、制御ワード指示情報は、制御ワード指示情報を送信するネットワークデバイスが制御ワード処理能力を持つことをBGPピアに示すために使用される。転送プレーン上で、送信されたデータパケットが制御ワード指示情報を搬送するとき、制御ワード指示情報は、送信されたデータパケットが制御ワードを含むことを示すために使用される。送信されたデータパケットが制御ワード指示情報を搬送しないとき、データパケットを受信したネットワークデバイスは、データパケットが制御ワードを搬送しないことを決定してよい。制御ワード指示情報がMPLS EVPN内で送信されるとき、制御ワード指示情報は、MPLSヘッダ内でラベルとしてカプセル化され、EVPNサービスパケットが制御ワードを搬送することを示すために使用される。ネットワークデバイスが制御プレーンプロトコルに従って制御ワード指示情報を受信するとき、制御ワード指示情報は、制御ワード指示情報を受信したネットワークデバイスが、制御ワード指示情報を送信するネットワークデバイスにデータパケットを送信するとき、データパケットを使用して制御ワードを搬送するように、制御ワード指示情報を受信するネットワークデバイスに指示するために使用される。例えば、ローカルネットワークデバイスは、制御ワード処理能力を持つ。BGPメッセージを通じて、ローカルネットワークデバイスが制御ワード処理能力を持つことをピアネットワークデバイスに知らせるとき、ローカルネットワークデバイスは、BGPメッセージを使用して、制御ワード指示情報を搬送する。制御ワード指示情報は、ピアデバイスがデータパケットをローカルデバイスに送信するとき、データパケットを使用して制御ワードを搬送するようにピアデバイスに指示するために使用される。ピアデバイスが、制御ワード処理能力を持つネットワークデバイスである場合、ピアデバイスがデータパケットをローカルデバイスに送信するとき、ピアデバイスは、データパケットを使用して、制御ワード指示情報及び制御ワードを搬送する。パケットを受信した後、ローカルデバイスは、制御ワード指示情報に基づいて、データパケットが制御ワードを搬送することを決定する。このようにして、ローカルデバイスは、制御ワードを搬送するパケットのフォーマットに基づいてデータパケットを解析し得る。ピアデバイスが、制御ワード処理能力を持たないネットワークデバイスである場合、ピアデバイスによってローカルデバイスに送信されるデータパケットは、制御ワードも制御ワード指示情報も搬送しない。このようにして、データパケットを受信した後、ローカルデバイスは、データパケットが制御ワード指示情報を搬送しないことに基づいて、データパケットが制御ワードを搬送しないことを決定する。
図1は、本出願の実施形態が適用されるEVPNアーキテクチャの概略図である。図1に示されるように、ネットワーク100は、バックボーンネットワークと、サービスプロバイダによって提供される複数のEVPNサイト(英語:site)とを含む。ネットワーク100は、3つのカスタマーエッジ(英語:customer edge、CE)デバイスと、3つのユーザ機器(英語:user equipment、UE)と、3つのPEデバイスとを含む。ネットワーク100は、複数のPデバイス、例えば、P1、P2、及びP3をさらに含んでよい。PルータなどのPデバイスは、バックボーンネットワーク内のバックボーンルータであり、CEデバイスに直接的に接続されない。Pデバイスは、基本的なMPLS転送能力を持ち、PEへのルートを維持し、任意のVPNのルーティング情報を知る必要はない。図1に示されるように、3つのCEデバイスは、CE1、CE2、及びCE3である。CEデバイスは、ユーザネットワーク内のエッジデバイスであり、PEデバイスに直接的に接続されたインタフェースを持つ。CEデバイスは、ルータ又はスイッチであってもよいし、ホストであってもよい。CEデバイスは、EVPNの存在を「認識する」ことはできず、マルチプロトコルラベルスイッチング(Multiprotocol Label Switching、MPLS)をサポートする必要はない。3つのPEデバイスは、PE1、PE2、及びPE3である。PEデバイスは、サービスプロバイダネットワーク内のエッジデバイスであり、ルータ又はレイヤ3スイッチであってよい。PEデバイスは、ユーザのCEデバイスに直接的に接続され、EVPN上の全ての処理は、PE上で発生する。モバイルベアラネットワーク内では、CEデバイスは基地送受信局(英語:Base Transceiver Station、略してBTS)であってよく、PEデバイスは、無線ネットワークコントローラサイトゲートウェイ(英語:Radio Network Controller Site Gateway、略してRSG)であってよく、基地局コントローラ(英語:Base Station Controller、略してBSC)又は無線ネットワークコントローラ(英語:Radio Network Controller、略してRNC)に接続されてよい。CEからMAC情報を知った後、ローカルPEは、BGPを通じて別のPEとEVPNルーティング情報を交換する。ローカルPEは、ローカルPEに直接的に接続されたCEによって通知されたEVPNルーティング情報と、リモートPEによって通知されたEVPNルーティング情報を維持する。複数のEVPNサイトは、サイト1~サイト3を含む。サイト1、サイト2、及びサイト3は、同じEVPNインスタンス(EVPN1)に属する。PE1は、CE1に接続される。PE3は、CE3に接続される。CE2は、イーサネットリンク(英語:Ethernet Link、EL)1及びEL2を通じてPE2及びPE3にデュアルホーミングされる。2つのイーサネットリンクを含むイーサネットリンクのグループは、イーサネットセグメント(英語:Ethernet Segment、ES)である。イーサネットセグメント識別子(英語:Ethernet Segment Identifier、ESI)は、一意の非ゼロ識別子であり、イーサネットセグメントESを識別するために使用される。PE1とPE2はBGPピア(英語:peer)のペアであり、PE1とPE3はBGPピアのペアであり、PE2とPE3はBGPピアのペアである。EVPNシナリオでは、BGPピアは、EVPNピアとも呼ばれることがある。「BGPピアのペア」は、1つのデバイスが他のデバイスのBGPピアであることと理解され得る。例えば、PE1とPE2がBGPピアのペアであることは、PE1がPE2のBGPピアであることと理解されてもよいし、PE2がPE1のBGPピアであることと理解されてもよい。BGPピアは、BGPネイバーとも呼ばれることがある。それに対応して、EVPNピアは、EVPNネイバーとも呼ばれることがある。本出願では、説明を簡単にするために、この後の全ての実施形態において、BGPピアが使用される。BGPピアは、BGP内で指定されるOPENメッセージを通じて確立され、確立されたBGPピアは、KEEPALIVEメッセージを通じて維持される。OPENメッセージ及びKEEPALIVEメッセージの実装については、インターネットエンジニアリングタスクフォース(英語:Internet Engineering Task Force、IETF)RFC2858及びIETF RFC4271における関連する説明を参照されたい。ルートリフレクタ(英語:Route Reflector、略してRR)は、RRを通じてBGPピア確立を完了するように、BGPピア確立のために2つのデバイスの間に配置されてよい。例えば、図1に示されるシナリオでは、RRは、PE1とPE2との間に配置されてよい。PE1は、EVPNルートを通知するために、RRを通じてPE2にBGPメッセージを送信する。自律システムボーダルータ(英語:autonomous system boundary router、ASBR)は、BGPピア確立のために2つのデバイスの間にさらに配置されてよい。例えば、図1に示されるシナリオでは、PE1とPE2は異なるASに属し、PE1及びASBR1は第1のAS内に配置され、PE2及びASBR2は第2のAS内に配置される。PE1は、EVPNルートを通知するために、ASBR1及びASBR2を通じてPE2にBGPメッセージを送信する。
図1は、3つのPEデバイス、3つのCEデバイス、3つのUEデバイス、3つのPデバイス、及び3つのEVPNサイトがある例を示しているにすぎないことが理解されるべきである。ネットワークは、他の任意の量のPEデバイス、CEデバイス、UEデバイス、Pデバイス、及びEVPNサイトを含んでよい。これは、本出願の実施形態では限定されない。
本出願の実施形態ではPEとPEデバイスが同じ意味を持つことがさらに留意されるべきである。同様に、CEとCEデバイスは同じ意味を持ち、UEとUEデバイスは同じ意味を持つ。
以下は、図2を参照しながら、本出願の実施形態による通信方法200について詳細に説明する。方法200が適用されるネットワークアーキテクチャは、ネットワークデバイス1と、ネットワークデバイス2と、ネットワークデバイス3とを含む。ネットワークデバイス1とネットワークデバイス2はBGPピアのペアであり、ネットワークデバイス2とネットワークデバイス3はBGPピアのペアであり、ネットワークデバイス1とネットワークデバイス3はBGPピアのペアである。ネットワークデバイス1、ネットワークデバイス2、及びネットワークデバイス3は全て、PEデバイスであってよい。例えば、ネットワークデバイス1は、図1に示されるPE1であってよく、ネットワークデバイス2は、図1に示されるPE2であってよく、ネットワークデバイス3は、図1に示されるPE3であってよい。ネットワークデバイス1及びネットワークデバイス2は各々、例えば、制御ワード処理能力を持つデバイスであってよく、ネットワークデバイス3は、例えば、制御ワード処理能力を持たないデバイスであってよい。ネットワークアーキテクチャは、図1に示されるネットワークアーキテクチャであってよい。方法200は、以下の動作を含む。
S201:ネットワークデバイス2がBGPメッセージ1を生成し、このBGPメッセージ1は、制御ワード指示情報を含む。
制御ワード指示情報は、ネットワークデバイス2が制御ワード処理能力を持つことを示すために使用される。制御ワード指示情報は、ネットワークデバイス1がEVPNパケットをネットワークデバイス2に送信するとき、EVPNパケットを使用して制御ワードを搬送するようにネットワークデバイス1に示すために使用される。
S202:ネットワークデバイス2が、BGPメッセージ1をネットワークデバイス1に送信する。
前述の制御ワード指示情報は、ネットワークデバイス2が制御ワード処理能力を持つことを示すために使用される。ネットワークデバイス1が、ネットワークデバイス2によって送信されたBGPメッセージ1を受信した後、ネットワークデバイス1が、制御ワード処理能力を持つデバイスである場合、ネットワークデバイス1は、EVPNサービスパケットをネットワークデバイス2に送信するとき、EVPNサービスパケット内で制御ワード指示情報及び制御ワードをカプセル化する。ネットワークデバイス1によって送信されたEVPNパケットを受信するとき、ネットワークデバイス2は、パケット内で搬送された制御ワード指示情報に基づいて、EVPNサービスパケットが制御ワードを搬送することを決定し、次いで、制御ワードを搬送するEVPNパケットのフォーマットに基づいて、受信されたパケットを解析する。ネットワークデバイス1が、制御ワード処理能力を持たないデバイスであるとき、制御ワードは、ネットワークデバイス1がEVPNパケットをネットワークデバイス2に送信するとき、搬送されない。ネットワークデバイス1によって送信されたEVPNサービスパケットを受信するとき、ネットワークデバイス2は、MPLSヘッダを解析することによって、EVPNパケットが制御ワード指示情報を搬送しないことを認め、従って、EVPNパケットが制御ワードを搬送しないことを決定し得る。このケースでは、ネットワークデバイス2は、制御ワードを搬送しないパケットのフォーマットに基づいて、受信されたEVPNパケットを解析する。前述の説明から、ネットワークデバイス2が制御ワード処理能力をネットワークデバイス2のBGPピアに通知することが知られることが可能である。次いで、EVPNサービスパケットを受信するとき、ネットワークデバイス2は、パケットが制御ワード指示情報を搬送するかどうかに基づいて、パケットが制御ワードを搬送するかどうかを決定し、決定結果及び正しいフォーマットに基づいてパケットを解析する。このようにして、制御ワード処理能力を持つネットワークデバイスが、制御ワード処理能力を持たないネットワークデバイスと通信する場合ですら、トラフィックの正常な受信及び送信は、依然として保証可能である。このことは、トラフィック伝送信頼性を効果的に保証する。
特定の実装において、本出願では、BGPメッセージは、制御ワード指示情報を搬送するために、ネクストホップ能力属性(英語:Next-Hop Capabilities Attribute)を搬送する。ネクストホップ能力属性は、BGPネクストホップ依存能力属性(英語:BGP Next-Hop dependent Capabilities Attribute)、BGPネクストホップ能力属性(英語:BGP Next-Hop Capabilities Attribute)、ネクストホップ属性(英語:Next-Hop Attribute)、又はBGPネクストホップ属性(BGP Attribute)とも呼ばれることがある。ネクストホップ能力属性の関連する説明については、draft-ietf-idr-next-hop-capability-03を参照されたい。draft-ietf-idr-next-hop-capability-03は、参照によりその全体が本出願に組み込まれる。draft-ietf-idr-next-hop-capability-03において言及されるネクストホップ能力属性、BGPネクストホップ依存能力属性、及びBGPネクストホップ能力属性は、異なる名称にすぎず、本質的には同じ属性を表し、以下の説明ではネクストホップ能力属性と総称される。本出願では、制御ワード指示情報は、ネクストホップ能力属性内の新しいサブTLVフィールドを拡張することによって搬送されてよい。タイプフィールドの値は、制御ワードの機能に基づいて標準機関から申請されてよく、タイプフィールドは、1バイトを占有してよい。長さフィールドは、値フィールドの長さを示す。長さフィールドは、1バイトを占有してよい。値フィールドは、制御ワード指示情報を搬送するために使用され、値フィールドは、3バイトを占有してよい。
別の特定の実装では、本出願のこの実施形態は、新しいBGP拡張コミュニティ属性を提供し、この属性は、制御ワード拡張コミュニティ属性、制御ワード属性、又は制御ワード拡張属性と呼ばれることがある。これらの属性は、以下の説明では制御ワード拡張コミュニティ属性と総称される。制御ワード拡張コミュニティ属性のフォーマットは、図3に示されている。タイプフィールドは、BGP拡張コミュニティ属性が制御ワード指示情報を搬送するために使用されることを示す。タイプフィールドの値は、制御ワードの機能に基づいて標準機関から申請されてよく、タイプフィールドは、1バイトを占有してよい。長さフィールドは、値フィールドの長さを示す。長さフィールドは、1バイトを占有してよい。値フィールドは、制御ワード指示情報を搬送するために使用され、値フィールドは、3バイトを占有してよい。本出願では、ローカルネットワークデバイスの制御ワード能力は、リモートネットワークデバイスが、ローカルネットワークデバイスの制御ワード能力に基づいて、トラフィックが転送されるとき制御ワードが搬送される必要があるかどうかを決定するように、新しいBGP拡張コミュニティ属性を提供することによって、リモートネットワークデバイスに通知可能である。さらに、ローカルネットワークデバイスは、前もってピアデバイスに送信された制御ワード指示情報をデータパケットが搬送するかどうかに基づいて、トラフィックが制御ワードを搬送するかどうかを自動的に識別することができる。
特定の実装では、制御ワード指示情報は、以下の3つの様式で割り当てられることがある。
様式1:予約済みMPLSラベルを使用する
予約済みラベルは、制御ワード指示情報を示すために、インターネット番号割り当て機関(英語:Internet Assigned Number Authority、IANA)から申請される。例えば、IANAによって予約された15のMPLSラベルの割り当てられていない特殊目的MPLSラベル値(英語:Unassigned Special-Purpose MPLS Label Values)の1つが、制御ワード指示情報として選択される。このケースでは、全てのPEによって搬送される制御ワード指示情報は、グローバルでユニークな予約済みラベルである。
様式2:グローバルな割り当て
具体的に言えば、各ネットワークデバイスは、グローバルでユニークな制御ワード指示情報を申請する。ネットワークデバイスが制御ワード処理能力を有効にした後、制御ワード指示情報は、BGPメッセージ内で搬送され、隣接するデバイスに通知される。
様式3:インスタンスごとの割り当て
EVPNは、仮想プライベートネットワークである。複数のEVPNインスタンス(英語:EVPN Instance、EVI)が、各ネットワークデバイス上で共存することがある。各EVIは独立して存在し、各EVIは、1つ又は複数のリージョン間レイヤ2VPNを形成するために、ユーザネットワークの1つ又は複数のグループに接続される。複数のEVIが各ネットワークデバイス上に存在するとき、1つの制御ワード指示情報が各EVIに割り当てられてよく、異なる制御ワード指示情報が異なるEVIに割り当てられる。
本出願では、制御ワード処理能力が有効にされる場合、制御ワード処理能力が受信方向と送出方向の両方で利用可能であることが考えられる。
BGPメッセージ1は、例えば、BGP更新(英語:update)メッセージであることがある。BGP更新メッセージはEVPNルーティング情報をさらに含むことがあり、EVPNルーティング情報は、EVPN NLRI内で搬送される。EVPN NLRIは、BGPプロトコルにおいて定義されたBGP NLRIであり、BGP EVPNルートを通知するために使用される。ネットワークデバイス1によってネットワークデバイス2に通知されるBGP EVPNルートは、EVPN NLRIを含む。BGP EVPNルートは、限定されるものではないが、MAC/IP通知ルート(英語:MAC/IP Advertisement Route)と、イーサネット自動検出ルート(英語:Ethernet Auto-Discovery (A-D) route)と、包括的マルチキャストイーサネットタグルート(英語:Inclusive Multicast Ethernet Tag route、IMET route)と、イーサネットセグメントルート(英語:Ethernet Segment route)とを含む。EVPN NLRIは、マルチプロトコル到達可能ネットワークレイヤ到達可能性情報(英語:Multiprotocol Reachable NLRI、MP_REACH_NLRI)属性内で搬送される。MP_REACH_NLRI属性は、BGP更新メッセージ内で定義される属性であり、具体的なフォーマットは図4aに示されている。この属性は、アドレスファミリー識別子(英語:Address Family Identifier、AFI)フィールドと、後続アドレスファミリー識別子(英語:Subsequent Address Family Identifier、SAFI)フィールドとを含む。AFIフィールドの値は、L2VPNを示すために使用され、例えば、25である。SAFIフィールドの値は、EVPNを示すために使用され、例えば、70である。MP_REACH_NLRI属性は、「ネクストホップネットワークアドレスの長さ」(英語:Length of Next Hop Network Address)フィールドと、「ネクストホップのネットワークアドレス」(英語:Network Address of Next Hop)フィールドとをさらに含む。「ネクストホップのネットワークアドレス」フィールドは、ネクストホップのネットワークアドレスを搬送するために使用され、ネクストホップのネットワークアドレスは、ネットワークデバイス1のネットワークアドレス、例えば、ネットワークデバイス1のループバック(英語:loopback)アドレスである。ループバックアドレスは、ネットワークデバイス(例えば、ルータ又はスイッチ)のループバックインタフェース上で構成されたIPアドレスであってよく、通例、ネットワークデバイス識別子(例えば、32ビットマスクIPv4アドレス:10.10.1.1/32)として使用される。このことは、当業者によって理解可能である。MP_REACH_NLRI属性は、NLRIフィールドをさらに含み、L2VPN内のEVPNは、AFIフィールド及びSAFIフィールドの値を参照して示される。NLRIフィールドはEVPN NLRIフィールドである。図4bに示されるように、EVPN NLRIフィールドは、例えば、2バイトのルートタイプ(英語:Route Type)フィールドと、2バイトの長さ(英語:Length)フィールドと、可変の長さを有するルートタイプ固有(英語:Route Type specific)フィールドとを含む。本出願ではルートタイプフィールド及び長さフィールドの長さは具体的に限定されないことが留意されるべきである。ルートタイプフィールドは、異なるBGP EVPNルートタイプを示すために使用される。
以下は、例としてMAC/IP通知ルートを使用して、EVPN NLRIフィールドについて説明する。本出願では、EVPN NLRIとEVPN NLRIフィールドは、同じ意味を持つ。MAC/IP通知ルートは、MAC通知ルートと、IP通知ルートとを含み、これらのルートはそれぞれ、レイヤ2パケット転送及びレイヤ3パケット転送を導くために使用される。
MAC/IP通知ルートの場合、ルートタイプフィールドの値は2であり、ルートタイプ固有フィールドは、MAC/IP通知ルートの詳細を記録するために使用される。図4cに示されるように、MAC/IP通知ルートは、8バイトのルート区別子(英語:Route Distinguisher、RD)フィールドと、10バイトのイーサネットセグメント識別子(英語:Ethernet Segment Identifier、ESI)フィールドと、4バイトのイーサネットタグ識別子(英語:Ethernet Tag ID)フィールドと、1バイトのMACアドレス長フィールドと、6バイトのMACアドレスフィールドと、1バイトのIPアドレス長フィールドと、4バイト又は16バイトのIPアドレスフィールドと、3バイトのMPLSラベル(英語:Label)1フィールドと、0バイト又は3バイトのMPLSラベル2フィールドとを含む。MPLSラベル1フィールドは、VPNラベル(プライベートネットワークラベルとも呼ばれる)を搬送するために使用され、このラベルは、MPLSネットワーク内での伝送中に内部ラベルとして使用される。転送プレーン上で、PEは、データパケットを対応するCEに送信するために、受信されたデータパケットを、VPNラベルに基づいて対応するMAC転送テーブルに送信する。MPLSラベル2フィールドは、レイヤ3トラフィック転送を導くために使用される。MAC通知ルートでは、MPLSラベル2フィールドの値は0である。MAC通知ルート内に含まれるMACアドレスは、ネットワークデバイス1に接続されたCEデバイスのMACアドレス又はこのCEデバイスによって管理されるユーザ機器のMACアドレスである。本出願では、MAC通知ルートは、簡潔にMACルートとも呼ばれる。
BGP更新メッセージ及びMP_REACH_NLRI属性の定義については、RFC4760における説明を参照されたい。EVPN NLRIフィールドの定義については、インターネットエンジニアリングタスクフォース(英語:Internet Engineering Task Force、略してIETF)リクエストフォーコメンツ(英語:Request For Comments、略してRFC)7432における説明を参照されたい。詳細は、本明細書では説明されない。
図1に示されるシナリオを参照して、以下は、例を使用して、PEデバイスがBGP EVPNルートを通知するプロセスについて説明する。
PE2は、サイト2内のユーザ機器(英語:User Equipment、UE)2のMACアドレス例えばMAC2を知る。PE2は、BGP更新メッセージを通じてMACルートをPE1に通知する。PE3は、サイト2内のUE2のMACアドレスを知らない。PE3は、イーサネット自動検出ルート(英語:Ethernet Auto-discovery Route、Ethernet A-D route)をPE1に通知する。従って、PE1は、エイリアシング(英語:Aliasing)様式で、PE1がPE3を通ってUE2に到達することができることを知る。このようにして、UE1によってUE2に送信されたユニキャストトラフィックがPE1を通って送信されるとき、PE1は、ユニキャストトラフィック上で負荷分散を実行し得る。ユニキャストトラフィックは、PE2及びPE3を通ってCE2に転送される。このようにして、UE1とUE2は、EVPN1内で互いと通信することができる。
前述のMACルート及びイーサネットA-Dルートに加えて、EVPNネットワーク内では、PEデバイスは、CEデバイスからのBUMトラフィックを、同じEVPNインスタンス内の別のPEに送信する必要がある。このシナリオでは、BUMトラフィックを受信するPEは、未知のユニキャストトラフィックを別のPEデバイスにフラッディングさせる(英語:flood)必要がある。従って、EVPN内では、PEデバイスが配置された後、各PEデバイスは、BUMパケット転送を導くために、IMETルートを別のPEデバイスに通知する必要がある。IMETルートのガイダンス下で、IMETルートを受信するPEデバイスは、BUMトラフィックを送出エンドPEに転送する。
ポイントツーポイント(英語:point-to-point、P2P)EVPNサービスでは、例えば、P2P EVPNがPE1とPE2との間で配置される場合、サイト2内のUE2のMACアドレスを知った後、PE2は、BGP更新メッセージを通じてAD-EVIごとルートをPE1に通知する。AD-EVIごとルートはイーサネットA-Dルートである。P2Pシナリオでは、全てのパケットはブロードキャストされる。AD-EVIごとルートは、P2Pシナリオではパケット転送を導くために使用される。
BGP EVPNルート、MAC通知ルート、イーサネットA-Dルート、及びIMETルートに関する詳細、ならびにPEデバイスがエイリアシングベースの負荷分散をどのように実施するかに関する詳細については、インターネットエンジニアリングタスクフォース(英語:Internet Engineering Task Force、略してIETF)リクエストフォーコメンツ(英語:Request For Comments、略してRFC)7432を参照されたい。インターネットエンジニアリングタスクフォース(英語:Internet Engineering Task Force、略してIETF)リクエストフォーコメンツ(英語:Request For Comments、略してRFC)7432における関連する内容は、参照により本明細書に組み込まれる。簡潔にするために、詳細は、本明細書では説明されない。
特定の実装において、本出願では、ネットワークデバイス1がBGPメッセージを受信し、BGPメッセージが制御ワード指示情報のネクストホップ能力属性又は拡張コミュニティ属性を搬送するとき、ネットワークデバイス1の処理ルールは次の通りである。
1.ネットワークデバイス1は、制御ワード処理能力を有効にし、ネクストホップ能力属性解析又は制御ワード拡張コミュニティ属性解析をサポートする。ネットワークデバイス2によって送信され、ネクストホップ能力属性又は制御ワード拡張コミュニティ属性を搬送するBGPメッセージを受信した後、ネットワークデバイス1は、ネクストホップ能力属性又は制御ワード拡張コミュニティ属性を正しく解析することができる。ネットワークデバイス1は、BGPメッセージ内で搬送された制御ワード指示情報及びEVPNルーティング情報をローカルに記憶し、制御ワード指示情報を含むMAC転送エントリを生成する。ネットワークデバイス1は、MAC転送エントリに基づいてネットワークデバイス2に、制御ワード指示情報及び制御ワードを搬送するデータパケットを送信する。
2.ネットワークデバイス1は、制御ワード処理能力を構成しない又は有効にしない。ネットワークデバイス2によって送信され、制御ワード指示情報を搬送するBGPメッセージを受信した後、ネットワークデバイス1は、ネクストホップ能力属性又は制御ワード拡張コミュニティ属性を解析するとき、BGPメッセージ内で搬送されるネクストホップ能力属性又は制御ワード拡張コミュニティ属性を正しく識別することができない。このケースでは、ネットワークデバイス1は、属性を直接的に無視し、既存の手順に従ってBGPメッセージを解析してよい。
本出願では、ネットワークデバイス1が、ネクストホップ能力属性又は制御ワード拡張コミュニティ属性を搬送しない即ち制御ワード指示情報を搬送しないBGPメッセージを受信した後、処理ルールは、次の通りである。
1.ネットワークデバイス1は、制御ワード処理能力を有効にし、ネクストホップ能力属性解析又は制御ワード拡張コミュニティ属性解析をサポートする。ネットワークデバイス3によって送信され、ネクストホップ能力属性又は制御ワード拡張コミュニティ属性を搬送しないBGPメッセージを受信した後、ネットワークデバイス1は、BGPメッセージに基づいて、ネットワークデバイス3が制御ワード処理能力を持たないことを決定する。ネットワークデバイス1がデータパケットをネットワークデバイス3に送信するとき、制御ワードは搬送されない。
2.ネットワークデバイス1は、制御ワード処理能力を構成しない又は有効にしない。ネットワークデバイスによって送信され、ネクストホップ能力属性又は制御ワード拡張コミュニティ属性を搬送しないBGPメッセージを受信した後、ネットワークデバイス1は、既存の手順に従ってBGPメッセージを解析する。
S203:ネットワークデバイス1が、BGPメッセージ1を受信する。
S204:ネットワークデバイス1が、BGPメッセージ1に基づいてEVPNサービスパケット1を生成する。
特定の実装では、ネットワークデバイス1は、制御ワード処理能力を持つネットワークデバイスである。BGPメッセージ1は、EVPNルーティング情報と、制御ワード指示情報とを含む。BGPメッセージ1を受信した後、ネットワークデバイス1は、EVPNルーティング情報及び制御ワード指示情報を記憶し、EVPNルーティング情報及び制御ワード指示情報に基づいて転送エントリを生成する。ネットワークデバイス1は、転送エントリに基づいてEVPNサービスパケット1を生成し、EVPNサービスパケット1は、制御ワード指示情報と、制御ワードとを含む。EVPNサービスパケット1のMPLSヘッダは、外部トンネルラベルと、内部プライベートネットワークラベルと、制御ワード指示情報とを含む。制御ワード指示情報は、トンネルラベルとプライベートネットワークラベルとの間にカプセル化されてもよいし、スタックの底(bottom-of-stack)ラベルとして使用されてもよい。
ネットワークデバイス1の制御プレーン(例えば、制御ボード)は、BGPメッセージ1内で搬送される異なるタイプのBGP EVPNルートに基づいて、異なるBGP EVPNルーティングエントリ及び対応する転送エントリを生成する。例えば、BGPメッセージを通じて通知されるBGP EVPNルートがMACルートであるとき、ネットワークデバイス2は、BGPメッセージに基づいてMACルーティングエントリを生成し、このMACルーティングエントリに基づいて対応するMAC転送エントリを生成して、このMAC転送エントリを転送プレーンに送信する。BGPメッセージを通じて通知されるBGP EVPNルートがイーサネットA-Dルートであるとき、ネットワークデバイス1は、BGPメッセージに基づいてイーサネットA-Dルーティングエントリを生成し、このイーサネットA-Dルーティングエントリに基づいて対応するイーサネットA-D転送エントリを生成して、このイーサネットA-D転送エントリを転送プレーンに送信する。BGPメッセージを通じて通知されるBGP EVPNルートがIMETルートであるとき、ネットワークデバイス1は、BGPメッセージに基づいてIMETルーティングエントリを生成し、このIMETルーティングエントリに基づいて対応するIMET転送エントリを生成して、このIMET転送エントリを転送プレーンに送信する。ネットワークデバイス1内で、異なるタイプのルーティングエントリ及び転送エントリは、別々に維持され、互いから分離される。以下は、MACルートを例として使用して、本出願においてMACルーティングテーブル及びMAC転送テーブルを生成するプロセスについて説明する。IMETルート及びイーサネットA-Dルートの各々の場合、ネットワークデバイスが対応するルーティングテーブル及び対応する転送テーブルを生成するプロセスは、MACルートの場合のそれに類似しており、詳細は、本明細書では説明されない。
ネットワークデバイス1は、ネットワークデバイス2によって送信されたBGPメッセージ1を受信し、BGPメッセージ1内で搬送されるMACルーティング情報に基づいてMACルーティングエントリ及びMAC転送エントリを生成する。特定の実装では、制御ワード拡張コミュニティ属性内で搬送される制御ワード指示情報は、MACルーティングエントリ(表1に示される)内で構成されてよい。MACルーティングエントリ内の宛先MACアドレスは、MACルート内に含まれるMACアドレス(例えば、MAC2)である。ネクストホップのネットワークアドレスは、ネットワークデバイス2のループバックアドレスである。制御ワード指示情報は、制御ワード拡張コミュニティ属性の値(Value)フィールド内で搬送されるラベルであり、例えば、2341であってよい。プライベートネットワークラベルは、ネットワークデバイス2がBGP EVPNルートをネットワークデバイス1に送信するときに申請される、「LabelA」などのMPLSラベルである。EVPNサービスパケット内の制御ワード指示情報のカプセル化フォーマットは、従来のMPLSカプセル化におけるそれと同じである。例えば、制御ワード指示情報は、4バイトを含む。PEデバイスがデータパケットを転送するとき、制御ワード指示情報は、MPLSヘッダ内でMPLSラベルとしてカプセル化される。ネットワークデバイス1は、MACルーティングエントリ(表2に示される)に基づいてMAC転送エントリを生成し、MAC転送エントリをネットワークデバイス1の転送プレーン(例えば、転送ボード)に送信する。MACルーティングエントリに基づいてMAC転送エントリを生成するとき、ネットワークデバイス1は、MACルーティングエントリに基づいて、MAC転送エントリ内の宛先MACアドレス及びアウトバウンドインタフェースを決定し得る。MAC転送エントリ内の宛先MACアドレスは、MACルーティングエントリ内の宛先MACアドレスである。MAC転送エントリ内のアウトバウンドインタフェースは、例えば、Intf1である。ネットワークデバイス1がMAC転送エントリ内のアウトバウンドインタフェースとしてIntf1を決定することは、以下を含んでよい。ネットワークデバイス1は、最初に、MACルーティングエントリ内のネットワークデバイス2のループバック(英語:loopback)アドレスを検索キーワードとして使用して、転送等価クラス(英語:Forwarding Equivalence Class、FEC)からネクストホップラベル転送エントリ(英語:Next Hop Label Forwarding Entry、NHLFE)へのマッピングのテーブル(ここで、テーブルは、簡潔にFTN(FEC to NHLFE)マッピングテーブル又はFTN転送テーブルとも呼ばれる)を検索して、ネットワークデバイス2のループバックアドレスに対応するアウトバウンドインタフェースがネットワークデバイス1からネットワークデバイス2へのトンネルのトンネル識別子(英語:Tunnel Identifier、Tunnel ID)であることを知る。次いで、ネットワークデバイス1は、トンネルIDを使用することによってトンネル転送テーブルを検索して、トンネルIDに対応するアウトバウンドインタフェースがIntf1(即ち、ネットワークデバイス1上の、ネットワークデバイス1からネットワークデバイス2へのトンネルのインタフェース)であることを知る。ネットワークデバイス1は、Intf1をMAC転送エントリ内のアウトバウンドインタフェースとして決定する。トンネルは、ラベルスイッチ経路(Label Switched Path、LSP)トンネル、リソース予約プロトコル―トラフィックエンジニアリング(Resource Reservation Protocol-Traffic Engineering, RSVP-TE)トンネルなどであってよいことが留意されるべきである。トンネルは、既知のユニキャストデータフローを搬送するために使用される。簡潔にするために、このことは、本発明の実施形態の添付の図面では図示されない。
表1及び表2は、MACルーティングエントリ及びMAC転送エントリ内のいくらかの情報のみをリストしており、他の情報は、簡潔にするために示されない。このことは、当業者によって理解可能である。
ネットワークデバイス1が既知のユニキャストトラフィックを受信するとき、例えば、パケット内で搬送される宛先MACアドレスが、MACルート内に含まれるMACアドレス(MAC2)であるとき、ネットワークデバイス1は、MAC転送テーブルに問い合わせ、転送のためのアウトバウンドインタフェースに関する情報を知り、トラフィックがMAC2に転送されるときに制御ワード指示情報及び制御ワードが搬送される必要があることを知る。従って、ネットワークデバイス1は、EVPNサービスパケットが制御ワードをさらに搬送することを示すために、外部トンネルラベル、内部プライベートネットワークラベル、及び制御ワード指示情報をMPLSヘッダ内にカプセル化する。
S205:ネットワークデバイス1が、EVPNサービスパケット1をネットワークデバイス2に送信する。
S206:ネットワークデバイス2が、ネットワークデバイス1によって送信されたEVPNサービスパケット1を受信する。
EVPNサービスパケット1を受信した後、ネットワークデバイス2は、EVPNサービスパケット1をカプセル化解除して、処理されたデータパケットを取得し、この処理されたデータパケットを転送する。具体的には、ネットワークデバイス2は、EVPNサービスパケット1内で搬送される制御ワード指示情報に基づいて、EVPNサービスパケット1が制御ワードを搬送することを決定する。従って、EVPNサービスパケット1のMPLSラベルスタックを除去した後、ネットワークデバイス2は、制御ワードをさらに除去して、処理されたデータパケットを取得し、この処理されたデータパケットを、ローカルMAC転送エントリに基づいてEVPNサービスパケット1の宛先に転送する。
S207:ネットワークデバイス1が、ネットワークデバイス3によって送信されたBGPメッセージ2を受信する。
S208:ネットワークデバイス1が、BGPメッセージ2に基づいて、ネットワークデバイス3が制御ワード処理能力を持たないことを決定する。
具体的には、ネットワークデバイス3は、制御ワード処理能力を持たないネットワークデバイスであり、BGPメッセージ2は、ネクストホップ能力属性又は制御ワード拡張コミュニティ属性を搬送しない、即ち、制御ワード指示情報を搬送しない。ネットワークデバイス1は、制御ワード処理能力を持つネットワークデバイスであり、ネットワークデバイス1は、BGPメッセージ2が制御ワード拡張コミュニティ属性を搬送しないことを決定し、従って、BGPメッセージ2に基づいて、ネットワークデバイス3は、制御ワード処理能力を持たないネットワークデバイスであることを決定し得る。
S209:ネットワークデバイス1が、EVPNサービスパケット2を生成する。
S210:ネットワークデバイス1が、EVPNサービスパケット2をネットワークデバイス3に送信する。
ネットワークデバイス1が、ネットワークデバイス3は制御ワード処理能力を持たないことを決定したことに基づいて、ネットワークデバイス1は、EVPNサービスパケット2を生成し、EVPNサービスパケット2をネットワークデバイス3に送信する。EVPNサービスパケット2は、制御ワードを搬送しない。ネットワークデバイス1によって送信されたEVPNサービスパケット2を受信した後、ネットワークデバイス3は、制御ワードを搬送しないパケットのフォーマットに基づいてパケットを解析する。
本出願では、ネットワークデバイスは、ネットワークデバイスが制御ワード処理能力を持つかどうかを互いに知らせ、従って、データパケットをピアネットワークデバイスに送信するとき、ローカルネットワークデバイスは、ピアネットワークデバイスが制御ワード処理能力を持つかどうかに基づいて、送信されるべきデータパケットに制御ワードを追加するべきかどうかを決定することができる。このようにして、データパケットを受信するとき、ピアネットワークデバイスは、パケットを正しく解析することができる。このことは、パケットロスを効果的に回避する。
図5及び図6に示されるネットワークアーキテクチャの概略図ならびに特定の適用シナリオを参照して、以下は、例を使用して、BGP EVPNルートにおける制御ワード拡張コミュニティ属性の適用について説明する。以下のシナリオ及び特定の適用例は、本出願の技術的解決策に関する制限を構成するべきでないことが理解されるべきである。以下は、EVPN MP2MPシナリオにおけるユニキャストトラフィックのための制御ワード処理を実施するために制御ワード拡張コミュニティ属性がMACルートに適用される例を使用することによって、本出願の技術的解決策について説明する。
図5を参照すると、PE1及びPE3は各々、制御ワード処理能力を持つネットワークデバイスであり、PE2は、制御ワード処理能力を持たないデバイスである。制御プレーン上での情報作成プロセスは、次の通りである。
PE1は、ソースMACがMAC1であるMACルートをPE3に送信し、プライベートネットワークラベルLabel1を申請する。MACルートは、制御ワード指示情報CLI1を搬送する。PE3が、PE1によって通知されたMACルートを受信した後、PE3が、解析を通じて、MACルートが制御ワード指示情報を搬送することを認め、PE3が制御ワード処理能力を有効にするとき、PE3は、転送テーブルを生成するために、MACルート内で搬送される制御ワード指示情報CLI1をMAC1及びプライベートネットワークラベルLabel1とともに転送プレーンに送信する。
PE1は、ソースMACがMAC1であるMACルートをPE2に送信し、プライベートネットワークラベルLabel1を申請する。MACルートは、制御ワード指示情報CLI1を搬送する。PE2は、PE1によって通知され、制御ワード指示情報を搬送するMACルートを受信する。しかし、制御ワード処理能力がPE3上で配置されないので、PE3は、制御ワード指示情報を正しく解析することができず、MAC1及びプライベートネットワークラベルLabel1を転送テーブルに送信するのみである。代替として、制御ワード処理能力がPE3上で配置されるが、PE3は、制御ワード処理能力を有効にしない。このケースでは、PE3は制御ワード指示情報を正しく解析することができるが、PE3は、制御ワード指示情報を転送テーブルに送信しない。
PE2は、ソースMACがMAC2であるMACルートをPE3に通知し、プライベートネットワークラベルLabel2を申請する。PE2は制御ワード処理能力を持たないので、PE2がMACルートを通知するとき、制御ワード指示情報は搬送されない。PE2によって通知されたMACルートを受信した後、PE3は、通常は、制御ワード指示情報が搬送されない様式でBGPメッセージを解析し、MAC2及びプライベートネットワークラベルLabel2を抽出して、転送エントリを生成するためにMAC2及びプライベートネットワークラベルLabel2を転送プレーンに送信する。
PE3がMACルートをPE1に通知する手順は、PE1がMACルートをPE3に通知する手順と同じである。詳細は、ここでは説明されない。
PE2がMACルートをPE1に通知する手順は、PE2がMACルートをPE3に通知する手順と同じである。詳細は、ここでは説明されない。
図6を参照すると、転送プレーン上でのトラフィック転送プロセスは、次の通りである。
CE3がCE1にアクセスするとき、PE3は、MAC1にアクセスするためにCE3によって送信されたデータパケット(Payload1 (MAC1))を受信し、宛先MACアドレスMAC1に基づいて転送エントリに問い合わせ、データパケットを「トンネルラベル+プライベートネットワークラベル+制御ワード指示情報+制御ワード+データパケットペイロード(Payload1 (MAC1))」へとカプセル化し、カプセル化されたデータパケットを、P1を通じてPE1に転送する。PE3によって送信されたデータパケットを受信した後、P1は、通常の転送手順に従ってデータパケットを転送する。デバイスP1の場合、制御ワード指示情報は、MPLSラベルスタック内の内部ラベルであり、転送プレーン上で変更されない。受信されたデータパケットを再度カプセル化した後、P1は、再度カプセル化されたデータパケットをPE1に送信する。P1によって送信されたデータパケットを受信した後、PE1は、MPLSラベルスタックを解析し、トンネルラベル、プライベートネットワークラベル、及び制御ワード指示情報を除去し、データパケット内で搬送される制御ワード指示情報に基づいて、データパケットが制御ワードを搬送することを決定する。PE1は、制御ワードを除去した後の処理されたデータパケットを取得し、この処理されたデータパケットを、ローカルMAC転送エントリに基づいてCE1に転送する。
CE3がCE2にアクセスするとき、PE3は、MAC2にアクセスするためにCE3によって送信されたデータパケット(Payload2 (MAC2))を受信し、宛先MACアドレスMAC2に基づいて転送エントリに問い合わせ、データパケットを「トンネルラベル+プライベートネットワークラベル+データパケットペイロード(Payload2 (MAC2))」へとカプセル化し、カプセル化されたデータパケットをPE2に送信する。PE3によって送信されたデータパケットを受信し、トンネルラベル及びプライベートネットワークラベルを除去した後、PE2は、処理されたデータパケットを取得し、この処理されたデータパケットを、ローカルMAC転送エントリに基づいてCE2に送信する。
CE2がCE1にアクセスするとき、PE2は、MAC1にアクセスするためにCE2によって送信されたデータパケット(Payload3 (MAC1))を受信し、宛先MACアドレスMAC1に基づいて転送エントリに問い合わせ、データパケットを「トンネルラベル+プライベートネットワークラベル+データパケットペイロード(Payload3 (MAC1))」へとカプセル化し、カプセル化されたデータパケットを、P2を通じてPE1に転送する。制御ワードを搬送しないデータパケットを受信した後、P2は、通常の転送手順に従ってデータパケットをPE1に送信する。PE2によって送信されたデータパケットを受信し、トンネルラベル及びプライベートネットワークラベルを除去した後、PE1は、処理されたデータパケットを取得し、この処理されたデータパケットを、ローカルMAC転送エントリに基づいてCE1に送信する。
前述の内容から、制御ワード指示情報は、ユニキャストトラフィック内で制御ワードを処理するために、MACルート内で搬送され得ることが知られることができる。確かに、当業者は、代替として、制御ワード指示情報が、エイリアシングベースの負荷分散がユニキャストトラフィック上で実行されるシナリオにおいて制御ワードを処理するために、MACルートとイーサネットA-Dルートの両方で搬送されてよいことを理解し得る。その処理手順は、ユニキャストMACトラフィック内で制御ワードを処理する手順に類似している。このことは、当業者によって理解可能である。詳細は、本明細書では説明されない。さらに、制御ワード指示情報は、BUMトラフィック内で制御ワードを処理するために、IMETルート内で搬送されることがある。IMETルートが通知されるときに制御ワード指示情報が搬送される手順は、MACルートが通知される手順に類似している。詳細は、再度説明されない。制御ワード指示情報を搬送するIMETルートを受信した後、ピアエンドのBGPピアは、BGPピアの制御ワード処理能力に基づいて、IMETルーティングエントリ内のIMETルーティング情報とともに制御ワード指示情報を記憶すべきかどうかを決定し、次いで、パケット転送を導くためにIMET転送エントリを生成する。これらの手順は、当業者によって理解可能であり、詳細は、本明細書では説明されない。
本出願では、ローカルデバイスは、EVPN内で、制御ワード処理能力をサポートしない又は有効にしないネットワークデバイスが適合することができるように、動作を単純化するために、ローカルデバイスの制御ワード処理能力をリモートデバイスに動的に通知する。具体的には、BGP制御ワード拡張コミュニティ属性又はネクストホップ能力属性が、ローカルエンドの制御ワード処理能力をピアデバイスに通知するために新たに追加されることがある。リモートデバイスが制御ワード処理能力を持つ場合、言い換えれば、制御ワード処理能力がリモートデバイス上で配置され、リモートデバイスが制御ワード処理能力を有効にする場合、データパケットをローカルデバイスに送信するとき、リモートデバイスは、データパケットを使用して、制御ワード及びローカルデバイスによって前もって通知される制御ワード指示情報を搬送する。このようにして、ローカルデバイスは、制御ワード指示情報に基づいて、データパケットが制御ワードを搬送することを正しく識別することができ、制御ワードを搬送するパケットのフォーマットに基づいてデータパケットを正しく解析することができる。制御ワード処理能力がリモートデバイス上で配置されない又はリモートデバイスが制御ワード処理能力を有効にしない場合、リモートデバイスがデータパケットをローカルデバイスに送信するとき、制御ワードも制御ワード指示情報も搬送されない。このようにして、ローカルデバイスは、データパケットが、前もってピアデバイスに通知された制御ワード指示情報を搬送しないことに基づいて、受信されたデータパケットが制御ワードを搬送しないことを決定し、次いで、制御ワードを搬送しないパケットのフォーマットに基づいてデータパケットを解析する。このことは、パケットが正しく解析されることも保証することができる。
図7は、本出願の実施形態による通信方法700の概略フローチャートである。方法700が適用されるネットワークアーキテクチャは、少なくとも、第1のネットワークデバイスと、第2のネットワークデバイスとを含み、このネットワークアーキテクチャは、第3のネットワークデバイスをさらに含むことがある。第1のネットワークデバイスと第2のネットワークデバイスはBGPピアであり、第2のネットワークデバイスと第3のネットワークデバイスはBGPピアであり、第1のネットワークデバイスと第3のネットワークデバイスはBGPピアである。第1のネットワークデバイス、第2のネットワークデバイス、及び第3のネットワークデバイスは各々、PEデバイスであってよい。例えば、第1のネットワークデバイスは、図1に示されるPE1であってよく、第2のネットワークデバイスは、図1に示されるPE2であってよく、第3のネットワークデバイスは、図1に示されるPE3であってよい。ネットワークアーキテクチャは、図1に示されるネットワークアーキテクチャであってよい。さらに、図7に示される方法は、図2に示される方法を具体的に実施するために使用されてよい。例えば、図7における第1のネットワークデバイス、第2のネットワークデバイス、及び第3のネットワークデバイスはそれぞれ、図2に示される方法200におけるネットワークデバイス1、ネットワークデバイス2、及びネットワークデバイス3であってよい。図7に示される方法は、以下の内容を含む。
S701:第2のネットワークデバイスが第1のBGPメッセージを生成し、この第1のBGPメッセージは、制御ワード指示情報を含む。
制御ワード指示情報は、第2のネットワークデバイスが制御ワード処理能力を持つことを示すために使用される。制御ワード指示情報は、第1のネットワークデバイスが第1のEVPNパケットを第2のネットワークデバイスに送信するとき、第1のEVPNパケットを使用して制御ワードを搬送するように第1のネットワークデバイスに指示するために使用される。
S702:第2のネットワークデバイスが、第1のBGPメッセージを第1のネットワークデバイスに送信する。
図7に示される方法が、図2に示される方法200を実施するために使用されるとき、第1のBGPメッセージは、例えば、方法200におけるBGPメッセージ1であってよい。
第1のネットワークデバイスが第1のBGPメッセージをどのように処理するか、及び第1のネットワークデバイスが、第2のネットワークデバイスによって送信された第1のBGPメッセージを受信した後、その後で受信されるEVPNサービスパケットを制御ワード指示情報に基づいてどのように処理するか、制御ワード指示情報を搬送するBGP拡張コミュニティ属性又はネクストホップ能力属性の関連する説明、及び制御ワード指示情報を割り当てる具体的な様式に関する詳細については、方法200における関連する説明を参照されたい。詳細は、本明細書では再度説明されない。
第2のネットワークデバイスがBGP EVPNルートをどのように第1のネットワークデバイスに通知するかに関する詳細については、方法200における関連する説明を参照されたい。詳細は、本明細書では再度説明されない。
S703:第1のネットワークデバイスが、第1のBGPメッセージを受信する。
S704:第1のネットワークデバイスが、第1のBGPメッセージに基づいて第1のEVPNサービスパケットを生成する。
図7に示される方法が、図2に示される方法200を実施するために使用されるとき、第1のEVPNサービスパケットは、例えば、方法200におけるEPNVサービスパケット1であってよい。第1のネットワークデバイスが第1のBGPメッセージに基づいて第1のEVPNサービスパケットをどのように生成するかに関する詳細については、方法200においてBGPメッセージ1に基づいてネットワークデバイス1によってEVPNサービスパケット1を生成する関連する説明を参照されたい。詳細は、本明細書では再度説明されない。
S705:第1のネットワークデバイスが、第1のEVPNサービスパケットを第2のネットワークデバイスに送信する。
S706:第2のネットワークデバイスが、第1のネットワークデバイスによって送信された第1のEVPNサービスパケットを受信する。
第1のEVPNサービスパケットを受信した後、第2のネットワークデバイス2は、第1のEVPNサービスパケットをカプセル化解除し、処理されたデータパケットを取得して、この処理されたデータパケットを転送する。具体的には、第2のネットワークデバイスは、第1のEVPNサービスパケット内で搬送される制御ワード指示情報に基づいて、第1のEVPNサービスパケットが制御ワードを搬送することを決定する。従って、第1のEVPNサービスパケットのMPLSラベルスタックを除去した後、第2のネットワークデバイスは、制御ワードをさらに除去し、処理されたデータパケットを取得して、この処理されたデータパケットを、ローカルMAC転送エントリに基づいて第1のEVPNサービスパケットの宛先に転送する。
S707:第1のネットワークデバイスが、第3のネットワークデバイスによって送信された第2のBGPメッセージを受信する。
図7に示される方法が、図2に示される方法200を実施するために使用されるとき、第3のネットワークデバイスは、例えば、方法200におけるネットワークデバイス3であってよく、第2のBGPメッセージは、例えば、方法200におけるBGPメッセージ2であってよい。
S708:第1のネットワークデバイスが、第2のBGPメッセージに基づいて、第3のネットワークデバイスが制御ワード処理能力を持たないことを決定する。
具体的には、第3のネットワークデバイスは、制御ワード処理能力を持たないネットワークデバイスであり、第2のBGPメッセージは、制御ワード指示情報を搬送しない、例えば、制御ワード拡張コミュニティ属性又はネクストホップ能力属性を搬送しない。第1のネットワークデバイスは、制御ワード処理能力を持つネットワークデバイスであり、第3のネットワークデバイスは、第2のBGPメッセージが制御ワード指示情報を搬送しないことを決定し、従って、第2のBGPメッセージに基づいて、第3のネットワークデバイスが、制御ワード処理能力を持たないネットワークデバイスであることを決定し得る。
S709:第1のネットワークデバイスが、第2のEVPNサービスパケットを生成する。
図7に示される方法が、図2に示される方法200を実施するために使用されるとき、第2のEVPNサービスパケットは、例えば、方法200におけるEPNVサービスパケット2であってよい。
S710:第1のネットワークデバイスが、第2のEVPNサービスパケットを第3のネットワークデバイスに送信する。
第1のネットワークデバイスが、第3のネットワークデバイスが制御ワード処理能力を持たないことを決定したことに基づいて、第1のネットワークデバイスは、第2のEVPNサービスパケットを生成し、第2のEVPNサービスパケットを第3のネットワークデバイスに送信する。第2のEVPNサービスパケットは、制御ワードを搬送しない。第1のネットワークデバイスによって送信された第2のEVPNサービスパケットを受信した後、第3のネットワークデバイスは、制御ワードを搬送しないパケットのフォーマットに基づいてパケットを解析する。
本出願では、ネットワークデバイスは、ネットワークデバイスが制御ワード処理能力を持つかどうかを互いに知らせ、従って、データパケットをピアネットワークデバイスに送信するとき、ローカルネットワークデバイスは、ピアネットワークデバイスが制御ワード処理能力を持つかどうかに基づいて、送信されるべきデータパケットに制御ワードを追加するべきかどうかを決定することができる。このようにして、データパケットを受信するとき、ピアネットワークデバイスは、パケットを正しく解析することができる。このことは、パケットロスを効果的に回避する。
図8は、本出願によるネットワークデバイス800の概略図である。ネットワークデバイス800は、図1に示されるネットワークアーキテクチャに適用されてよく、例えば、図1に示されるネットワークアーキテクチャにおけるPE1であってよい。ネットワークデバイス800は、方法200においてネットワークデバイス1によって実行される動作又は方法700において第1のネットワークデバイスによって実行される動作を実行するように構成される。図8に示されるように、ネットワークデバイス800は、プロセッサ810と、プロセッサ810に結合されたメモリ820及びトランシーバ830とを含んでよい。プロセッサ810は、中央処理ユニット(英語:central processing unit、略してCPU)、ネットワークプロセッサ(英語:network processor、略してNP)、又はCPUとNPの組み合わせであってよい。代替として、プロセッサは、特定用途向け集積回路(英語:application-specific integrated circuit、略してASIC)、プログラマブルロジックデバイス(英語:programmable logic device、略してPLD)、又はそれらの組み合わせであってよい。PLDは、複合プログラマブルロジックデバイス(英語:complex programmable logic device、略してCPLD)、フィールドプログラマブルゲートアレイ(英語:field-programmable gate array、略してFPGA)、汎用アレイロジック(英語:generic array logic、略してGAL)、又はそれらの任意の組み合わせであってよい。プロセッサ810は、1つのプロセッサであってもよいし、複数のプロセッサを含んでもよい。メモリ820は、ランダムアクセスメモリ(英語:random-access memory、略してRAM)などの揮発性メモリ(英語:volatile memory)であってもよいし、メモリは、読み出し専用メモリ(英語:read-only memory、略してROM)、フラッシュメモリ(英語:flash memory)、ハードディスクドライブ(英語:hard disk drive、略してHDD)、又はソリッドステートドライブ(英語:solid-state drive、略してSSD)などの不揮発性メモリ(英語:non-volatile memory)であってもよい。代替として、メモリ820は、前述のタイプのメモリの組み合わせを含んでもよい。メモリ820は、1つのメモリであってもよいし、複数のメモリを含んでもよい。実装では、メモリ820は、コンピュータ可読命令を記憶し、このコンピュータ可読命令は、複数のソフトウェアモジュール、例えば、送信モジュール821と、処理モジュール822と、受信モジュール823とを含む。各ソフトウェアモジュールを実行した後、プロセッサ810は、ソフトウェアモジュールの表示に従って、対応する動作を実行することがある。この実施形態では、ソフトウェアモジュールによって実行される動作は、実際には、ソフトウェアモジュールの表示に従ってプロセッサ810によって実行される動作である。例えば、受信モジュール823は、第2のネットワークデバイスからBGPメッセージを受信するように構成される。BGPメッセージは、EVPNルーティング情報と、制御ワード指示情報とを含み、制御ワード指示情報は、第1のネットワークデバイスが第1のEVPNサービスパケットを第2のネットワークデバイスに送信するとき、第1のEVPNサービスパケットを使用して制御ワードを搬送するように第1のネットワークデバイスに指示するために使用される。処理モジュール822は、第1のEVPNサービスパケットを生成するように構成される。第1のEVPNサービスパケットは、制御ワード指示情報と、制御ワードとを含み、制御ワード指示情報は、第1のEVPNサービスパケットが制御ワードを含むことを示すために使用される。送信モジュール821は、第1のEVPNサービスパケットを第2のネットワークデバイスに送信するように構成される。さらに、メモリ820内のコンピュータ可読命令を実行した後、プロセッサ810は、コンピュータ可読命令の表示に従って、ネットワークデバイス1又は第1のネットワークデバイスによって実行可能である全ての動作、例えば、図2~図6に対応する実施形態においてネットワークデバイス1によって実行される動作、又は図7に対応する実施形態における第1のネットワークデバイスによって実行される動作を実行することがある。
図9は、本出願によるネットワークデバイス900の概略図である。ネットワークデバイス900は、図1に示されるネットワークアーキテクチャに適用されてよく、例えば、図1に示されるネットワークアーキテクチャにおけるPE2であってよい。ネットワークデバイス900は、方法200においてネットワークデバイス2によって実行される動作又は方法700において第2のネットワークデバイスによって実行される動作を実行するように構成される。図9に示されるように、ネットワークデバイス900は、プロセッサ910と、プロセッサ910に結合されたメモリ920及びトランシーバ930とを含んでよい。プロセッサ910は、CPU、NP、又はCPUとNPの組み合わせであってよい。プロセッサは、ハードウェアチップをさらに含んでよい。ハードウェアチップは、ASIC、PLD、又はそれらの組み合わせであってよい。PLDは、CPLD、FPGA、GAL、又はそれらの任意の組み合わせであってよい。プロセッサ910は、1つのプロセッサであってもよいし、複数のプロセッサを含んでもよい。メモリ920は、RAMなどの揮発性メモリ(英語:volatile memory)であってもよいし、メモリは、ROM、フラッシュメモリ(英語:flash memory)、HDD、又はSSDなどの不揮発性メモリ(英語:non-volatile memory)であってもよい。代替として、メモリは、前述のタイプのメモリの組み合わせを含んでもよい。メモリ920は、1つのメモリであってもよいし、複数のメモリを含んでもよい。実装では、メモリ920は、コンピュータ可読命令を記憶し、このコンピュータ可読命令は、複数のソフトウェアモジュール、例えば、送信モジュール921と、処理モジュール922と、受信モジュール923とを含んでよい。各ソフトウェアモジュールを実行した後、プロセッサ910は、ソフトウェアモジュールの表示に従って、対応する動作を実行することがある。この実施形態では、ソフトウェアモジュールによって実行される動作は、実際には、ソフトウェアモジュールの表示に従ってプロセッサ910によって実行される動作である。例えば、受信モジュール923は、第1のネットワークデバイスから第1のEVPNサービスパケットを受信するように構成される。第1のEVPNサービスパケットは、制御ワード指示情報と、制御ワードとを含む。処理モジュール922は、制御ワード指示情報に基づいてデバイスによって、第1のEVPNサービスパケットが制御ワードを含むことを決定し、第1のEVPNサービスパケットに基づいて、処理されたEVPNサービスパケットを取得するように構成される。処理されたEVPNサービスパケットは、制御ワード指示情報も制御ワードも搬送しない。送信モジュール921は、処理されたEVPNサービスパケットを第1のEVPNサービスパケットの宛先に送信するように構成される。さらに、メモリ920内のコンピュータ可読命令を実行した後、プロセッサ910は、コンピュータ可読命令の表示に従って、ネットワークデバイス2又は第2のネットワークデバイスによって実行可能である全ての動作、例えば、図2~図6に対応する実施形態においてネットワークデバイス2によって実行される動作、又は図7に対応する実施形態における第2のネットワークデバイスによって実行される動作を実行することがある。
本出願の実施形態は、図8に対応する実施形態における第1のネットワークデバイスと図9に対応する実施形態における第2のネットワークデバイスとを含み、図2に対応する実施形態における方法200又は図7に対応する実施形態における方法700を実行するように構成された通信システムをさらに提供する。
当業者は、本明細書に開示されている実施形態において説明される例と組み合わせて、モジュール及び方法動作が、電子ハードウェア又はコンピュータソフトウェアと電子ハードウェアの組み合わせによって実施されてよいことに気づき得る。機能がハードウェアによって実行されるかソフトウェアによって実行されるかは、特定の適用例及び技術的解決策の設計制約条件に依存する。当業者は、各特定の適用例に異なる方法を使用することによって、説明される機能を実施してよい。
簡便で簡潔な説明の目的のために、前述のシステム、装置、及びモジュールの詳細な作業プロセスについては、前述の方法実施形態における対応するプロセスを参照されたいことは、当業者によって明らかに理解され得る。詳細は、本明細書では再度説明されない。
前述の実施形態の全て又はいくつかは、ハードウェア、ファームウェア、又はそれらの任意の組み合わせを通じて実施されてよい。ソフトウェアが、実施形態を実施するために使用されるとき、実施形態は、コンピュータプログラム製品の形で完全に又は部分的に実施されてよい。コンピュータプログラム製品は、1つ又は複数のコンピュータ命令を含む。コンピュータプログラム命令が、コンピュータ上にロードされ、実行されるとき、本出願の実施形態による手順又は機能は、全て又は部分的に生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、又は別のプログラマブル装置であってよい。コンピュータ命令は、コンピュータ可読記憶媒体に記憶されてもよいし、コンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に送信されてもよい。例えば、コンピュータ命令は、ワイヤード(例えば、同軸ケーブル、光ファイバ、又はデジタル加入者線(DSL))様式又はワイヤレス(例えば、赤外線、無線、又はマイクロ波)様式で、ウェブサイト、コンピュータ、サーバ、又はデータセンタから、別のウェブサイト、コンピュータ、サーバ、又はデータセンタに、送信されてよい。コンピュータ可読記憶媒体は、コンピュータ、又は1つ又は複数の使用可能な媒体を統合する、サーバ若しくはデータセンタなどの、データ記憶デバイスによってアクセス可能な、任意の使用可能な媒体であってよい。使用可能な媒体は、磁気媒体(例えば、フロッピーディスク、ハードディスク、又は磁気テープ)、光学媒体(例えば、DVD)、半導体媒体(例えば、ソリッドステートドライブディスクSolid State Disk(SSD))などであってよい。
本明細書における全ての部分は、漸進的な様式で説明される。実施形態における同じ又は類似した部分について、相互参照がなされてよい。各実施形態は、他の実施形態との違いに焦点を当てている。特に、装置及びシステム実施形態は、基本的に方法実施形態に類似しており、従って、簡潔に説明される。関連する部分については、方法実施形態における説明を参照されたい。
前述の説明は、本発明の特定の実装にすぎず、本発明の保護範囲を制限することを意図したものではない。本発明に開示されている技術範囲内で当業者によって容易に考え出される任意の変形又は置き換えは、本発明の保護範囲に含まれるものとする。従って、本発明の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
本出願は、参照によりその全体が本明細書に組み込まれる、2018年9月15日に中国国家知識産権局に出願された「COMMUNICATION METHOD, DEVICE, AND SYSTEM」という名称の中国特許出願第201811077544.2号の優先権を主張するものである。
本出願は、通信分野に関し、より詳細には、イーサネット仮想プライベートネットワーク(英語:Ethernet Virtual Private Network、EVPN)内の通信方法、装置、及びシステムに関する。
EVPNは、マルチプロトコルラベルスイッチング(英語:Multi-Protocol Label Switching、MPLS)ネットワーク内で相互に作用するレイヤ2ネットワークを提供する仮想プライベートネットワーク(英語:Virtual Private Network、VPN)である。現在、EVPN技術は、事業者のネットワーク設計において、レイヤ2VPNサービスを搬送するための主流となる解決策として広く使用されている。
同じEVPNサービスフローがプロバイダ(英語:provider、P)デバイスによって異なる転送経路に配信されるので引き起こされ得るパケット障害を回避するために、プロバイダエッジ(英語:provider edge、PE)デバイスが、送信されるべき各EVPNサービスパケットに4バイトの制御ワードを追加する。制御ワードの最初の4ビットの各々の値は0である。このようにして、制御ワードを搬送するEVPNサービスパケットを受信した後、Pデバイスは、パケット障害を効果的に回避するように、同じサービスフローに属する全てのパケットを同じ転送経路に配信する。
しかし、従来技術では、制御ワード処理能力をサポートするデバイスと、制御ワード処理能力をサポートしないデバイス又は制御ワード処理能力をサポートするが制御ワード処理能力を有効にしないデバイスがEVPN内に共存するとき、デバイスは、おそらく通常は互いと通信することはできない。例えば、PE1が制御ワード処理能力を有効にするが、PE1のBGPネイバーPE2は制御ワード処理能力をサポートしない又は有効にしないとき、PE1は、制御ワードを搬送するデータパケットをPE2に転送する。PE2は、制御ワード処理能力をサポートしない又は有効にしないので、PE2は、受信されたデータパケットを正しく解析することはできない。別の例では、PE2は制御ワード処理能力をサポートしない又は有効にしないが、PE1は制御ワード処理能力を有効にするとき、PE2は、制御ワードを搬送しないデータパケットをPE1に送信する。データパケットを受信した後、PE1は、データパケット内に制御ワードを含めることによって、データパケットを解析する。従って、PE1は、データパケットを正しく解析することはできない。結論として、制御ワード処理能力をサポートするデバイスと、制御ワード処理能力をサポートしないデバイス又は制御ワード処理能力が配置されないデバイスが共存するEVPN内で、ネットワークデバイス間のトラフィックの正常な送信及び受信をどのようにして保証するかは、現在解決される必要がある技術的課題である。
これに鑑みて、本出願は、制御ワード処理能力をサポートするデバイスと制御ワード処理能力をサポートしないデバイス又は制御ワード処理能力が配置されないデバイスが共存するEVPN内で、ネットワークデバイス間の正常な通信を保証し、サービス伝送信頼性を改善するために、通信方法及びネットワークデバイスを提供する。
第1の態様によれば、本出願は、第1のネットワークデバイスによって、第1のイーサネット仮想プライベートネットワークEVPNサービスパケットを生成するステップであって、第1のEVPNサービスパケットは、制御ワード指示情報と、制御ワードとを含み、制御ワード指示情報は、第1のEVPNサービスパケットが制御ワードを含むことを示すために使用される、ステップと、第1のネットワークデバイスによって、第1のEVPNサービスパケットを第2のネットワークデバイスに送信するステップとを含む通信方法を提供する。
本出願では、転送プレーンを通じて第2のネットワークデバイスにサービスパケットを転送するとき、第1のネットワークデバイスは、サービスパケットを使用して制御ワード指示情報を搬送し、従って、サービスパケットを受信するとき、第2のネットワークデバイスは、パケット内で搬送される制御ワード指示情報に基づいて、パケットが制御ワードを搬送することを決定し、次いで、正しいパケットフォーマットに基づいてパケットを解析することができる。このことは、正常なサービス通信を効果的に保証する。
可能な設計では、第1のネットワークデバイスによって、第1のEVPNサービスパケットを生成するステップの前に、方法は、第1のネットワークデバイスによって、第2のネットワークデバイスによって送信された第1のボーダゲートウェイプロトコル(英語:Border Gateway Protocol、BGP)メッセージを受信するステップであって、第1のBGPメッセージは制御ワード指示情報を含む、ステップをさらに含む。
可能な設計では、第1のネットワークデバイスによって、第1のイーサネット仮想プライベートネットワークEVPNサービスパケットを生成するステップは、第1のネットワークデバイスによって、第1のBGPメッセージに基づいて第1のEVPNサービスパケットを生成するステップを含む。
可能な設計では、第1のBGPメッセージはEVPNルーティング情報をさらに含み、第1のネットワークデバイスによって、第1のBGPメッセージに基づいて第1のEVPNサービスパケットを生成するステップは、第1のネットワークデバイスによってEVPNルーティング情報及び制御ワード指示情報に基づいて、制御ワード指示情報を含む転送エントリを生成するステップと、第1のネットワークデバイスによって、転送エントリに基づいて第1のEVPNサービスパケットを生成するステップとを含む。本出願では、第2のネットワークデバイスがEVPNルートを第1のネットワークデバイスに通知するとき、制御ワード指示情報も搬送され、従って、BGPメッセージを受信した後、第1のネットワークデバイスが、EVPNルーティング情報及び制御ワード指示情報をローカルに記憶し、その後のパケット転送を導くために転送エントリを生成する。この動作は単純であり、別個のシグナリングを使用して制御ワード指示情報を送信する必要はなく、従って、ネットワークオーバヘッドが減少される。
可能な設計では、方法は、第1のネットワークデバイスによって、第3のネットワークデバイスによって送信された第2のBGPメッセージを受信するステップと、第1のネットワークデバイスによって第2のBGPメッセージに基づいて、第3のネットワークデバイスが制御ワード処理能力を持たないことを決定するステップとをさらに含む。
可能な設計では、方法は、第1のネットワークデバイスによって、第1のネットワークデバイスが、第3のネットワークデバイスが制御ワード処理能力を持たないことを決定したことに基づいて、第2のEVPNサービスパケットを生成するステップであって、第2のEVPNサービスパケットは制御ワードを搬送しない、ステップと、第1のネットワークデバイスによって、第2のEVPNサービスパケットを第3のネットワークデバイスに送信するステップとをさらに含む。
第2の態様によれば、本出願は、第2のネットワークデバイスによって、第1のネットワークデバイスによって送信された第1のイーサネット仮想プライベートネットワークEVPNサービスパケットを受信するステップであって、第1のEVPNサービスパケットは、制御ワード指示情報と、制御ワードとを含む、ステップと、第2のネットワークデバイスによって制御ワード指示情報に基づいて、第1のEVPNサービスパケットが制御ワードを含むことを決定するステップと、第2のネットワークデバイスによって、第1のEVPNサービスパケットに基づいて処理されたEVPNサービスパケットを取得するステップであって、この処理されたEVPNサービスパケットは制御ワード指示情報も制御ワードも搬送しない、ステップと、第2のネットワークデバイスによって、処理されたEVPNサービスパケットを第1のEVPNサービスパケットの宛先に送信するステップとを含む通信方法を提供する。
可能な設計では、第2のネットワークデバイスによって、第1のEVPNサービスパケットを受信するステップの前に、方法は、
第2のネットワークデバイスによって、第1のボーダゲートウェイプロトコルBGPメッセージを第1のネットワークデバイスに送信するステップであって、第1のBGPメッセージは制御ワード指示情報を含み、制御ワード指示情報は、第1のネットワークデバイスが第1のEVPNパケットを第2のネットワークデバイスに送信するとき、第1のEVPNパケットを使用して制御ワードを搬送するように第1のネットワークデバイスに指示するために使用される、ステップ
をさらに含む。
可能な設計では、制御ワード指示情報は、第1のBGPメッセージ内の拡張コミュニティ属性内で搬送される。
第3の態様によれば、本出願は、第1のネットワークデバイスによって、第2のネットワークデバイスによって送信された第1のボーダゲートウェイプロトコルBGPメッセージを受信するステップであって、第1のBGPメッセージは、イーサネット仮想プライベートネットワークEVPNルーティング情報と、制御ワード指示情報とを含み、制御ワード指示情報は、第1のネットワークデバイスが第1のEVPNサービスパケットを第2のネットワークデバイスに送信するとき、第1のEVPNサービスパケットを使用して制御ワードを搬送するように第1のネットワークデバイスに指示するために使用される、ステップと、
EVPNルーティング情報及び制御ワード指示情報に基づいて第1のネットワークデバイスによって、制御ワード指示情報を含む転送エントリを生成するステップと
を含む通信方法を提供する。
本出願では、制御プレーン上で、第2のネットワークデバイスは、第2のネットワークデバイスの制御ワード処理能力を通知するために、BGPメッセージを通じて制御ワード指示情報を第1のネットワークデバイスに送信し、従って、第1のネットワークデバイスは、第1のネットワークデバイスがサービスパケットを第2のネットワークデバイスに送信するとき、第1のネットワークデバイスの制御ワード処理能力を参照して、制御ワードが搬送される必要があるかどうかを決定することができる。従って、第2のネットワークデバイスが、第1のネットワークデバイスによって送信されたサービスパケットを受信するとき、パケットが、BGPメッセージを通じて第2のネットワークデバイスによって第1のネットワークデバイスに通知された制御ワード指示情報を搬送する場合、第2のネットワークデバイスは、パケットが制御ワードを搬送することを決定する。パケットが制御ワード指示情報を搬送しない場合、第2のネットワークデバイスは、制御ワードを搬送しないパケットのフォーマットに基づいて、受信されたサービスパケットを解析する。このようにして、制御ワード処理能力を持つネットワークデバイスと制御ワード処理能力を持たないネットワークデバイスとの間の正常な通信が保証可能であり、サービス伝送信頼性が効果的に改善される。
可能な設計では、方法は、第1のネットワークデバイスによって、転送エントリに基づいて第1のEVPNサービスパケットを生成するステップであって、第1のEVPNサービスパケットは、制御ワード指示情報と、制御ワードとを含む、ステップと、第1のネットワークデバイスによって、第1のEVPNサービスパケットを第2のネットワークデバイスに送信するステップとをさらに含む。
可能な設計では、方法は、第1のネットワークデバイスによって、第3のネットワークデバイスによって送信された第2のBGPメッセージを受信するステップと、第1のネットワークデバイスによって第2のBGPメッセージに基づいて、第3のネットワークデバイスが制御ワード処理能力を持たないことを決定するステップとをさらに含む。
可能な設計では、方法は、第1のネットワークデバイスが、第3のネットワークデバイスが制御ワード処理能力を持たないことを決定したことに基づいて、第1のネットワークデバイスによって、制御ワードを含まない第2のEVPNサービスパケットを生成するステップと、第1のネットワークデバイスによって、第2のEVPNサービスパケットを第3のネットワークデバイスに送信するステップとをさらに含む。
第4の態様によれば、本出願は、第2のネットワークデバイスによって、ボーダゲートウェイプロトコルBGPメッセージを生成するステップであって、BGPメッセージは制御ワード指示情報を含み、制御ワード指示情報は、第1のネットワークデバイスがEVPNサービスパケットを第2のネットワークデバイスに送信するとき、EVPNサービスパケットを使用して制御ワードを搬送するように第1のネットワークデバイスに指示するために使用される、ステップと、第2のネットワークデバイスによって、BGPメッセージを第1のネットワークデバイスに送信するステップとを含む通信方法を提供する。
可能な設計では、方法は、第2のネットワークデバイスによって、第1のネットワークデバイスによって送信されたEVPNサービスパケットを受信するステップであって、EVPNサービスパケットは、制御ワード指示情報と、制御ワードとを含む、ステップと、第2のネットワークデバイスによって制御ワード指示情報に基づいて、EVPNサービスパケットが制御ワードを含むことを決定するステップと、第2のネットワークデバイスによって、EVPNサービスパケットに基づいて処理されたEVPNサービスパケットを取得するステップであって、この処理されたEVPNサービスパケットは制御ワード指示情報も制御ワードも搬送しない、ステップと、第2のネットワークデバイスによって、処理されたEVPNサービスパケットをEVPNサービスパケットの宛先に送信するステップとをさらに含む。
可能な設計では、制御ワード指示情報は、BGPメッセージ内のネクストホップ能力属性next-hop capabilities attribute又は拡張コミュニティ属性内で搬送される。
第5の態様によれば、本出願は、第1のネットワークデバイスを提供する。この第1のネットワークデバイスは、メモリと、このメモリに接続されたプロセッサとを含む。プロセッサは、第1の態様若しくは第1の態様の可能な設計のいずれか1つにおける方法を実行する、又は第3の態様若しくは第3の態様の可能な設計のいずれか1つにおける方法を実行するために、メモリ内のコンピュータ可読命令を実行するように構成される。
第6の態様によれば、本出願は、第2のネットワークデバイスを提供する。この第2のネットワークデバイスは、メモリと、このメモリに接続されたプロセッサとを含む。プロセッサは、第2の態様若しくは第2の態様の可能な設計のいずれか1つにおける方法を実行する、又は第4の態様若しくは第4の態様の可能な設計のいずれか1つにおける方法を実行するために、メモリ内のコンピュータ可読命令を実行するように構成される。
第7の態様によれば、本出願の実施形態は、第5の態様において提供された第1のネットワークデバイスと、第6の態様において提供された第2のネットワークデバイスとを含み、第1の態様、第2の態様、第3の態様、第4の態様、第1の態様の可能な設計、第2の態様の可能な設計、第3の態様の可能な設計、又は第4の態様の可能な設計のいずれか1つにおける方法を実行するように構成された通信システムを提供する。
第8の態様によれば、本出願の実施形態は、コンピュータ可読記憶媒体を提供する。このコンピュータ可読記憶媒体は命令を記憶し、この命令がコンピュータ上で走らされるとき、コンピュータは、第1の態様、第2の態様、第3の態様、第4の態様、第1の態様の可能な設計、第2の態様の可能な設計、第3の態様の可能な設計、又は第4の態様の可能な設計のいずれか1つにおける方法を実行するために有効にされる。
本出願では、ローカルデバイスは、EVPN内で、制御ワード処理能力をサポートしない又は有効にしないネットワークデバイスが適合することができるように、動作を単純化するために、ローカルデバイスの制御ワード処理能力をリモートデバイスに動的に通知する。具体的には、BGP制御ワード拡張コミュニティ属性は、ローカルエンドの制御ワード処理能力をピアデバイスに通知するために新たに追加される。リモートデバイスが制御ワード処理能力を持つ場合、言い換えれば、制御ワード処理能力がリモートデバイス上で配置され、リモートデバイスが制御ワード処理能力を有効にする場合、データパケットをローカルデバイスに送信するとき、リモートデバイスは、データパケットを使用して、制御ワード及びローカルデバイスによって前もって通知された制御ワード指示情報を搬送する。このようにして、ローカルデバイスは、制御ワード指示情報に基づいて、データパケットが制御ワードを搬送することを正しく識別することができ、制御ワードを搬送するパケットのフォーマットに基づいてデータパケットを正しく解析することができる。制御ワード処理能力がリモートデバイス上で配置されない又はリモートデバイスが制御ワード処理能力を有効にしない場合、リモートデバイスがデータパケットをローカルデバイスに送信するとき、制御ワードも制御ワード指示情報も搬送されない。このようにして、ローカルデバイスは、データパケットが、前もってピアデバイスに通知された制御ワード指示情報を搬送しないことに基づいて、受信されたデータパケットが制御ワードを搬送しないことを決定し、次いで、制御ワードを搬送しないパケットのフォーマットに基づいてデータパケットを解析する。このことは、パケットが正しく解析されることも保証することができる。
本出願の実施形態によるEVPNネットワークアーキテクチャの概略図である。
本出願の実施形態による通信方法の概略フローチャートである。
本出願の実施形態によるBGP属性のフォーマットの概略図である。
本出願の実施形態によるMP_REACH_NLRI属性のフォーマットの概略図である。
本出願の実施形態によるEVPN NLRIフィールドのフォーマットの概略図である。
本出願の実施形態によるMAC/IP通知ルートのフォーマットの概略図である。
本出願によりEVPNがMACルートを通知するネットワークアーキテクチャの概略図である。
本出願によりEVPNがMACトラフィックを転送するネットワークアーキテクチャの概略図である。
本出願の実施形態による別の通信方法の概略フローチャートである。
本出願の実施形態による第1のネットワークデバイスの概略構造図である。
本出願の実施形態による第2のネットワークデバイスの概略構造図である。
以下は、添付の図面を参照しながら本出願の実施形態における技術的解決策について説明する。本出願の実施形態において説明されるネットワークアーキテクチャ及びサービスシナリオは、本出願の実施形態において技術的解決策をより明確に説明することが意図されており、本出願の実施形態において提供される技術的解決策に関する制限を構成しない。当業者は、ネットワークアーキテクチャの進化及び新しいサービスシナリオの出現により、本出願の実施形態において提供される技術的解決策は類似の技術的課題にも適用可能であることを知り得る。
本出願における「1」、「2」、「3」、「第1の」、「第2の」、及び「第3の」などの序数は、複数の対象を区別するために使用されるが、複数の対象の順序を制限するためには使用されない。
本出願において言及される「A及び/又はB」は、以下のケース、即ち、Aのみが含まれる、Bのみが含まれる、又はAとBの両方が含まれる、を含むと理解されるべきである。
本出願におけるEVPN技術については、インターネットエンジニアリングタスクフォース(英語:Internet Engineering Task Force、略してIETF)リクエストフォーコメンツ(英語:Request For Comments、略してRFC)7432の説明を参照されたい。インターネットエンジニアリングタスクフォース(英語:Internet Engineering Task Force、略してIETF)リクエストフォーコメンツ(英語:Request For Comments、略してRFC)7432は、参照によりその全体が本出願に組み込まれる。
本出願では、方法ステップの実行主体は「ローカルエンド」と呼ばれ、この実行主体と通信するネットワーク要素は「リモートエンド」と呼ばれる。これらは、当業者によって理解可能である。
本出願では、「事業者ネットワーク」は、「サービスプロバイダによって提供されるバックボーンネットワーク」、「サービスプロバイダネットワーク」、又は「パブリックネットワーク」とも呼ばれることがある。前述の異なる用語は、多くの場合、互換的に使用されてよい。
本出願における「制御ワード処理能力を持つ」ことは、ネットワークデバイスが、制御ワード処理能力をサポートし、制御ワード処理能力を有効にすることを意味する。別のネットワークデバイスによって送信され、制御ワードを搬送するデータパケットを受信したとき、ネットワークデバイスは、データパケット内で搬送された制御ワードを正しく識別する能力を持つ。制御ワード処理能力を持つ別のネットワークデバイスにデータパケットを送信するとき、ネットワークデバイスは、データパケットを使用して、制御ワードを搬送することができる。
本出願における「制御ワード処理能力を持たない」ことは、ネットワークデバイスが制御ワード処理能力をサポートしない、又はネットワークデバイスが制御ワード処理能力をサポートする場合ですら、ネットワークデバイスが制御ワード処理能力を有効にしないことを意味する。別のネットワークデバイスによって送信され、制御ワードを搬送するデータパケットを受信したとき、ネットワークデバイスは、データパケット内で搬送される制御ワードを正しく識別する能力を持たない。別のネットワークデバイスにデータパケットを送信するとき、ネットワークデバイスは、データパケットを使用して、制御ワードを搬送することはできない。
本出願における「制御ワード指示情報」は、制御ワードラベル識別子(英語:Control word Label Identifier、CRI)、制御ワード指示ラベル、又は制御ワードラベルとも呼ばれることがある。制御プレーン上で、制御ワード指示情報は、制御ワード指示情報を送信するネットワークデバイスが制御ワード処理能力を持つことをBGPピアに示すために使用される。転送プレーン上で、送信されたデータパケットが制御ワード指示情報を搬送するとき、制御ワード指示情報は、送信されたデータパケットが制御ワードを含むことを示すために使用される。送信されたデータパケットが制御ワード指示情報を搬送しないとき、データパケットを受信したネットワークデバイスは、データパケットが制御ワードを搬送しないことを決定してよい。制御ワード指示情報がMPLS EVPN内で送信されるとき、制御ワード指示情報は、MPLSヘッダ内でラベルとしてカプセル化され、EVPNサービスパケットが制御ワードを搬送することを示すために使用される。ネットワークデバイスが制御プレーンプロトコルに従って制御ワード指示情報を受信するとき、制御ワード指示情報は、制御ワード指示情報を受信したネットワークデバイスが、制御ワード指示情報を送信するネットワークデバイスにデータパケットを送信するとき、データパケットを使用して制御ワードを搬送するように、制御ワード指示情報を受信するネットワークデバイスに指示するために使用される。例えば、ローカルネットワークデバイスは、制御ワード処理能力を持つ。BGPメッセージを通じて、ローカルネットワークデバイスが制御ワード処理能力を持つことをピアネットワークデバイスに知らせるとき、ローカルネットワークデバイスは、BGPメッセージを使用して、制御ワード指示情報を搬送する。制御ワード指示情報は、ピアデバイスがデータパケットをローカルデバイスに送信するとき、データパケットを使用して制御ワードを搬送するようにピアデバイスに指示するために使用される。ピアデバイスが、制御ワード処理能力を持つネットワークデバイスである場合、ピアデバイスがデータパケットをローカルデバイスに送信するとき、ピアデバイスは、データパケットを使用して、制御ワード指示情報及び制御ワードを搬送する。パケットを受信した後、ローカルデバイスは、制御ワード指示情報に基づいて、データパケットが制御ワードを搬送することを決定する。このようにして、ローカルデバイスは、制御ワードを搬送するパケットのフォーマットに基づいてデータパケットを解析し得る。ピアデバイスが、制御ワード処理能力を持たないネットワークデバイスである場合、ピアデバイスによってローカルデバイスに送信されるデータパケットは、制御ワードも制御ワード指示情報も搬送しない。このようにして、データパケットを受信した後、ローカルデバイスは、データパケットが制御ワード指示情報を搬送しないことに基づいて、データパケットが制御ワードを搬送しないことを決定する。
図1は、本出願の実施形態が適用されるEVPNアーキテクチャの概略図である。図1に示されるように、ネットワーク100は、バックボーンネットワークと、サービスプロバイダによって提供される複数のEVPNサイト(英語:site)とを含む。ネットワーク100は、3つのカスタマーエッジ(英語:customer edge、CE)デバイスと、3つのユーザ機器(英語:user equipment、UE)と、3つのPEデバイスとを含む。ネットワーク100は、複数のPデバイス、例えば、P1、P2、及びP3をさらに含んでよい。PルータなどのPデバイスは、バックボーンネットワーク内のバックボーンルータであり、CEデバイスに直接的に接続されない。Pデバイスは、基本的なMPLS転送能力を持ち、PEへのルートを維持し、任意のVPNのルーティング情報を知る必要はない。図1に示されるように、3つのCEデバイスは、CE1、CE2、及びCE3である。CEデバイスは、ユーザネットワーク内のエッジデバイスであり、PEデバイスに直接的に接続されたインタフェースを持つ。CEデバイスは、ルータ又はスイッチであってもよいし、ホストであってもよい。CEデバイスは、EVPNの存在を「認識する」ことはできず、マルチプロトコルラベルスイッチング(Multiprotocol Label Switching、MPLS)をサポートする必要はない。3つのPEデバイスは、PE1、PE2、及びPE3である。PEデバイスは、サービスプロバイダネットワーク内のエッジデバイスであり、ルータ又はレイヤ3スイッチであってよい。PEデバイスは、ユーザのCEデバイスに直接的に接続され、EVPN上の全ての処理は、PE上で発生する。モバイルベアラネットワーク内では、CEデバイスは基地送受信局(英語:Base Transceiver Station、略してBTS)であってよく、PEデバイスは、無線ネットワークコントローラサイトゲートウェイ(英語:Radio Network Controller Site Gateway、略してRSG)であってよく、基地局コントローラ(英語:Base Station Controller、略してBSC)又は無線ネットワークコントローラ(英語:Radio Network Controller、略してRNC)に接続されてよい。CEからMAC情報を知った後、ローカルPEは、BGPを通じて別のPEとEVPNルーティング情報を交換する。ローカルPEは、ローカルPEに直接的に接続されたCEによって通知されたEVPNルーティング情報と、リモートPEによって通知されたEVPNルーティング情報を維持する。複数のEVPNサイトは、サイト1~サイト3を含む。サイト1、サイト2、及びサイト3は、同じEVPNインスタンス(EVPN1)に属する。PE1は、CE1に接続される。PE3は、CE3に接続される。CE2は、イーサネットリンク(英語:Ethernet Link、EL)1及びEL2を通じてPE2及びPE3にデュアルホーミングされる。2つのイーサネットリンクを含むイーサネットリンクのグループは、イーサネットセグメント(英語:Ethernet Segment、ES)である。イーサネットセグメント識別子(英語:Ethernet Segment Identifier、ESI)は、一意の非ゼロ識別子であり、イーサネットセグメントESを識別するために使用される。PE1とPE2はBGPピア(英語:peer)のペアであり、PE1とPE3はBGPピアのペアであり、PE2とPE3はBGPピアのペアである。EVPNシナリオでは、BGPピアは、EVPNピアとも呼ばれることがある。「BGPピアのペア」は、1つのデバイスが他のデバイスのBGPピアであることと理解され得る。例えば、PE1とPE2がBGPピアのペアであることは、PE1がPE2のBGPピアであることと理解されてもよいし、PE2がPE1のBGPピアであることと理解されてもよい。BGPピアは、BGPネイバーとも呼ばれることがある。それに対応して、EVPNピアは、EVPNネイバーとも呼ばれることがある。本出願では、説明を簡単にするために、この後の全ての実施形態において、BGPピアが使用される。BGPピアは、BGP内で指定されるOPENメッセージを通じて確立され、確立されたBGPピアは、KEEPALIVEメッセージを通じて維持される。OPENメッセージ及びKEEPALIVEメッセージの実装については、インターネットエンジニアリングタスクフォース(英語:Internet Engineering Task Force、IETF)RFC2858及びIETF RFC4271における関連する説明を参照されたい。ルートリフレクタ(英語:Route Reflector、略してRR)は、RRを通じてBGPピア確立を完了するように、BGPピア確立のために2つのデバイスの間に配置されてよい。例えば、図1に示されるシナリオでは、RRは、PE1とPE2との間に配置されてよい。PE1は、EVPNルートを通知するために、RRを通じてPE2にBGPメッセージを送信する。自律システムボーダルータ(英語:autonomous system boundary router、ASBR)は、BGPピア確立のために2つのデバイスの間にさらに配置されてよい。例えば、図1に示されるシナリオでは、PE1とPE2は異なるASに属し、PE1及びASBR1は第1のAS内に配置され、PE2及びASBR2は第2のAS内に配置される。PE1は、EVPNルートを通知するために、ASBR1及びASBR2を通じてPE2にBGPメッセージを送信する。
図1は、3つのPEデバイス、3つのCEデバイス、3つのUEデバイス、3つのPデバイス、及び3つのEVPNサイトがある例を示しているにすぎないことが理解されるべきである。ネットワークは、他の任意の量のPEデバイス、CEデバイス、UEデバイス、Pデバイス、及びEVPNサイトを含んでよい。これは、本出願の実施形態では限定されない。
本出願の実施形態ではPEとPEデバイスが同じ意味を持つことがさらに留意されるべきである。同様に、CEとCEデバイスは同じ意味を持ち、UEとUEデバイスは同じ意味を持つ。
以下は、図2を参照しながら、本出願の実施形態による通信方法200について詳細に説明する。方法200が適用されるネットワークアーキテクチャは、ネットワークデバイス1と、ネットワークデバイス2と、ネットワークデバイス3とを含む。ネットワークデバイス1とネットワークデバイス2はBGPピアのペアであり、ネットワークデバイス2とネットワークデバイス3はBGPピアのペアであり、ネットワークデバイス1とネットワークデバイス3はBGPピアのペアである。ネットワークデバイス1、ネットワークデバイス2、及びネットワークデバイス3は全て、PEデバイスであってよい。例えば、ネットワークデバイス1は、図1に示されるPE1であってよく、ネットワークデバイス2は、図1に示されるPE2であってよく、ネットワークデバイス3は、図1に示されるPE3であってよい。ネットワークデバイス1及びネットワークデバイス2は各々、例えば、制御ワード処理能力を持つデバイスであってよく、ネットワークデバイス3は、例えば、制御ワード処理能力を持たないデバイスであってよい。ネットワークアーキテクチャは、図1に示されるネットワークアーキテクチャであってよい。方法200は、以下の動作を含む。
S201:ネットワークデバイス2がBGPメッセージ1を生成し、このBGPメッセージ1は、制御ワード指示情報を含む。
制御ワード指示情報は、ネットワークデバイス2が制御ワード処理能力を持つことを示すために使用される。制御ワード指示情報は、ネットワークデバイス1がEVPNパケットをネットワークデバイス2に送信するとき、EVPNパケットを使用して制御ワードを搬送するようにネットワークデバイス1に示すために使用される。
S202:ネットワークデバイス2が、BGPメッセージ1をネットワークデバイス1に送信する。
前述の制御ワード指示情報は、ネットワークデバイス2が制御ワード処理能力を持つことを示すために使用される。ネットワークデバイス1が、ネットワークデバイス2によって送信されたBGPメッセージ1を受信した後、ネットワークデバイス1が、制御ワード処理能力を持つデバイスである場合、ネットワークデバイス1は、EVPNサービスパケットをネットワークデバイス2に送信するとき、EVPNサービスパケット内で制御ワード指示情報及び制御ワードをカプセル化する。ネットワークデバイス1によって送信されたEVPNパケットを受信するとき、ネットワークデバイス2は、パケット内で搬送された制御ワード指示情報に基づいて、EVPNサービスパケットが制御ワードを搬送することを決定し、次いで、制御ワードを搬送するEVPNパケットのフォーマットに基づいて、受信されたパケットを解析する。ネットワークデバイス1が、制御ワード処理能力を持たないデバイスであるとき、制御ワードは、ネットワークデバイス1がEVPNパケットをネットワークデバイス2に送信するとき、搬送されない。ネットワークデバイス1によって送信されたEVPNサービスパケットを受信するとき、ネットワークデバイス2は、MPLSヘッダを解析することによって、EVPNパケットが制御ワード指示情報を搬送しないことを認め、従って、EVPNパケットが制御ワードを搬送しないことを決定し得る。このケースでは、ネットワークデバイス2は、制御ワードを搬送しないパケットのフォーマットに基づいて、受信されたEVPNパケットを解析する。前述の説明から、ネットワークデバイス2が制御ワード処理能力をネットワークデバイス2のBGPピアに通知することが知られることが可能である。次いで、EVPNサービスパケットを受信するとき、ネットワークデバイス2は、パケットが制御ワード指示情報を搬送するかどうかに基づいて、パケットが制御ワードを搬送するかどうかを決定し、決定結果及び正しいフォーマットに基づいてパケットを解析する。このようにして、制御ワード処理能力を持つネットワークデバイスが、制御ワード処理能力を持たないネットワークデバイスと通信する場合ですら、トラフィックの正常な受信及び送信は、依然として保証可能である。このことは、トラフィック伝送信頼性を効果的に保証する。
特定の実装において、本出願では、BGPメッセージは、制御ワード指示情報を搬送するために、ネクストホップ能力属性(英語:Next-Hop Capabilities Attribute)を搬送する。ネクストホップ能力属性は、BGPネクストホップ依存能力属性(英語:BGP Next-Hop dependent Capabilities Attribute)、BGPネクストホップ能力属性(英語:BGP Next-Hop Capabilities Attribute)、ネクストホップ属性(英語:Next-Hop Attribute)、又はBGPネクストホップ属性(英語:BGP next-hop Attribute)とも呼ばれることがある。ネクストホップ能力属性の関連する説明については、draft-ietf-idr-next-hop-capability-03を参照されたい。draft-ietf-idr-next-hop-capability-03は、参照によりその全体が本出願に組み込まれる。draft-ietf-idr-next-hop-capability-03において言及されるネクストホップ能力属性、BGPネクストホップ依存能力属性、及びBGPネクストホップ能力属性は、異なる名称にすぎず、本質的には同じ属性を表し、以下の説明ではネクストホップ能力属性と総称される。本出願では、制御ワード指示情報は、ネクストホップ能力属性内の新しいサブTLVフィールドを拡張することによって搬送されてよい。タイプフィールドの値は、制御ワードの機能に基づいて標準機関から申請されてよく、タイプフィールドは、1バイトを占有してよい。長さフィールドは、値フィールドの長さを示す。長さフィールドは、1バイトを占有してよい。値フィールドは、制御ワード指示情報を搬送するために使用され、値フィールドは、3バイトを占有してよい。
別の特定の実装では、本出願のこの実施形態は、新しいBGP拡張コミュニティ属性を提供し、この属性は、制御ワード拡張コミュニティ属性、制御ワード属性、又は制御ワード拡張属性と呼ばれることがある。これらの属性は、以下の説明では制御ワード拡張コミュニティ属性と総称される。制御ワード拡張コミュニティ属性のフォーマットは、図3に示されている。タイプフィールドは、BGP拡張コミュニティ属性が制御ワード指示情報を搬送するために使用されることを示す。タイプフィールドの値は、制御ワードの機能に基づいて標準機関から申請されてよく、タイプフィールドは、1バイトを占有してよい。長さフィールドは、値フィールドの長さを示す。長さフィールドは、1バイトを占有してよい。値フィールドは、制御ワード指示情報を搬送するために使用され、値フィールドは、3バイトを占有してよい。本出願では、ローカルネットワークデバイスの制御ワード能力は、リモートネットワークデバイスが、ローカルネットワークデバイスの制御ワード能力に基づいて、トラフィックが転送されるとき制御ワードが搬送される必要があるかどうかを決定するように、新しいBGP拡張コミュニティ属性を提供することによって、リモートネットワークデバイスに通知可能である。さらに、ローカルネットワークデバイスは、前もってピアデバイスに送信された制御ワード指示情報をデータパケットが搬送するかどうかに基づいて、トラフィックが制御ワードを搬送するかどうかを自動的に識別することができる。
特定の実装では、制御ワード指示情報は、以下の3つの様式で割り当てられることがある。
様式1:予約済みMPLSラベルを使用する
予約済みラベルは、制御ワード指示情報を示すために、インターネット番号割り当て機関(英語:Internet Assigned Numbers Authority、IANA)から申請される。例えば、IANAによって予約された15のMPLSラベルの割り当てられていない特殊目的MPLSラベル値(英語:Unassigned Special-Purpose MPLS Label Values)の1つが、制御ワード指示情報として選択される。このケースでは、全てのPEによって搬送される制御ワード指示情報は、グローバルでユニークな予約済みラベルである。
様式2:グローバルな割り当て
具体的に言えば、各ネットワークデバイスは、グローバルでユニークな制御ワード指示情報を申請する。ネットワークデバイスが制御ワード処理能力を有効にした後、制御ワード指示情報は、BGPメッセージ内で搬送され、隣接するデバイスに通知される。
様式3:インスタンスごとの割り当て
EVPNは、仮想プライベートネットワークである。複数のEVPNインスタンス(英語:EVPN Instance、EVI)が、各ネットワークデバイス上で共存することがある。各EVIは独立して存在し、各EVIは、1つ又は複数のリージョン間レイヤ2VPNを形成するために、ユーザネットワークの1つ又は複数のグループに接続される。複数のEVIが各ネットワークデバイス上に存在するとき、1つの制御ワード指示情報が各EVIに割り当てられてよく、異なる制御ワード指示情報が異なるEVIに割り当てられる。
本出願では、制御ワード処理能力が有効にされる場合、制御ワード処理能力が受信方向と送出方向の両方で利用可能であることが考えられる。
BGPメッセージ1は、例えば、BGP更新(英語:update)メッセージであることがある。BGP更新メッセージはEVPNルーティング情報をさらに含むことがあり、EVPNルーティング情報は、EVPN NLRI内で搬送される。EVPN NLRIは、BGPプロトコルにおいて定義されたBGP NLRIであり、BGP EVPNルートを通知するために使用される。ネットワークデバイス1によってネットワークデバイス2に通知されるBGP EVPNルートは、EVPN NLRIを含む。BGP EVPNルートは、限定されるものではないが、MAC/IP通知ルート(英語:MAC/IP Advertisement Route)と、イーサネット自動検出ルート(英語:Ethernet Auto-Discovery (A-D) route)と、包括的マルチキャストイーサネットタグルート(英語:Inclusive Multicast Ethernet Tag route、IMET route)と、イーサネットセグメントルート(英語:Ethernet Segment route)とを含む。EVPN NLRIは、マルチプロトコル到達可能ネットワークレイヤ到達可能性情報(英語:Multiprotocol Reachable NLRI、MP_REACH_NLRI)属性内で搬送される。MP_REACH_NLRI属性は、BGP更新メッセージ内で定義される属性であり、具体的なフォーマットは図4aに示されている。この属性は、アドレスファミリー識別子(英語:Address Family Identifier、AFI)フィールドと、後続アドレスファミリー識別子(英語:Subsequent Address Family Identifier、SAFI)フィールドとを含む。AFIフィールドの値は、L2VPNを示すために使用され、例えば、25である。SAFIフィールドの値は、EVPNを示すために使用され、例えば、70である。MP_REACH_NLRI属性は、「ネクストホップネットワークアドレスの長さ」(英語:Length of Next Hop Network Address)フィールドと、「ネクストホップのネットワークアドレス」(英語:Network Address of Next Hop)フィールドとをさらに含む。「ネクストホップのネットワークアドレス」フィールドは、ネクストホップのネットワークアドレスを搬送するために使用され、ネクストホップのネットワークアドレスは、ネットワークデバイス1のネットワークアドレス、例えば、ネットワークデバイス1のループバック(英語:loopback)アドレスである。ループバックアドレスは、ネットワークデバイス(例えば、ルータ又はスイッチ)のループバックインタフェース上で構成されたIPアドレスであってよく、通例、ネットワークデバイス識別子(例えば、32ビットマスクIPv4アドレス:10.10.1.1/32)として使用される。このことは、当業者によって理解可能である。MP_REACH_NLRI属性は、NLRIフィールドをさらに含み、L2VPN内のEVPNは、AFIフィールド及びSAFIフィールドの値を参照して示される。NLRIフィールドはEVPN NLRIフィールドである。図4bに示されるように、EVPN NLRIフィールドは、例えば、2バイトのルートタイプ(英語:Route Type)フィールドと、2バイトの長さ(英語:Length)フィールドと、可変の長さを有するルートタイプ固有(英語:Route Type specific)フィールドとを含む。本出願ではルートタイプフィールド及び長さフィールドの長さは具体的に限定されないことが留意されるべきである。ルートタイプフィールドは、異なるBGP EVPNルートタイプを示すために使用される。
以下は、例としてMAC/IP通知ルートを使用して、EVPN NLRIフィールドについて説明する。本出願では、EVPN NLRIとEVPN NLRIフィールドは、同じ意味を持つ。MAC/IP通知ルートは、MAC通知ルートと、IP通知ルートとを含み、これらのルートはそれぞれ、レイヤ2パケット転送及びレイヤ3パケット転送を導くために使用される。
MAC/IP通知ルートの場合、ルートタイプフィールドの値は2であり、ルートタイプ固有フィールドは、MAC/IP通知ルートの詳細を記録するために使用される。図4cに示されるように、MAC/IP通知ルートは、8バイトのルート区別子(英語:Route Distinguisher、RD)フィールドと、10バイトのイーサネットセグメント識別子(英語:Ethernet Segment Identifier、ESI)フィールドと、4バイトのイーサネットタグ識別子(英語:Ethernet Tag ID)フィールドと、1バイトのMACアドレス長フィールドと、6バイトのMACアドレスフィールドと、1バイトのIPアドレス長フィールドと、4バイト又は16バイトのIPアドレスフィールドと、3バイトのMPLSラベル(英語:Label)1フィールドと、0バイト又は3バイトのMPLSラベル2フィールドとを含む。MPLSラベル1フィールドは、VPNラベル(プライベートネットワークラベルとも呼ばれる)を搬送するために使用され、このラベルは、MPLSネットワーク内での伝送中に内部ラベルとして使用される。転送プレーン上で、PEは、データパケットを対応するCEに送信するために、受信されたデータパケットを、VPNラベルに基づいて対応するMAC転送テーブルに送信する。MPLSラベル2フィールドは、レイヤ3トラフィック転送を導くために使用される。MAC通知ルートでは、MPLSラベル2フィールドの値は0である。MAC通知ルート内に含まれるMACアドレスは、ネットワークデバイス1に接続されたCEデバイスのMACアドレス又はこのCEデバイスによって管理されるユーザ機器のMACアドレスである。本出願では、MAC通知ルートは、簡潔にMACルートとも呼ばれる。
BGP更新メッセージ及びMP_REACH_NLRI属性の定義については、RFC4760における説明を参照されたい。EVPN NLRIフィールドの定義については、インターネットエンジニアリングタスクフォース(英語:Internet Engineering Task Force、略してIETF)リクエストフォーコメンツ(英語:Request For Comments、略してRFC)7432における説明を参照されたい。詳細は、本明細書では説明されない。
図1に示されるシナリオを参照して、以下は、例を使用して、PEデバイスがBGP EVPNルートを通知するプロセスについて説明する。
PE2は、サイト2内のユーザ機器(英語:User Equipment、UE)2のMACアドレス例えばMAC2を知る。PE2は、BGP更新メッセージを通じてMACルートをPE1に通知する。PE3は、サイト2内のUE2のMACアドレスを知らない。PE3は、イーサネット自動検出ルート(英語:Ethernet Auto-discovery Route、Ethernet A-D route)をPE1に通知する。従って、PE1は、エイリアシング(英語:Aliasing)様式で、PE1がPE3を通ってUE2に到達することができることを知る。このようにして、UE1によってUE2に送信されたユニキャストトラフィックがPE1を通って送信されるとき、PE1は、ユニキャストトラフィック上で負荷分散を実行し得る。ユニキャストトラフィックは、PE2及びPE3を通ってCE2に転送される。このようにして、UE1とUE2は、EVPN1内で互いと通信することができる。
前述のMACルート及びイーサネットA-Dルートに加えて、EVPNネットワーク内では、PEデバイスは、CEデバイスからのBUMトラフィックを、同じEVPNインスタンス内の別のPEに送信する必要がある。このシナリオでは、BUMトラフィックを受信するPEは、未知のユニキャストトラフィックを別のPEデバイスにフラッディングさせる(英語:flood)必要がある。従って、EVPN内では、PEデバイスが配置された後、各PEデバイスは、BUMパケット転送を導くために、IMETルートを別のPEデバイスに通知する必要がある。IMETルートのガイダンス下で、IMETルートを受信するPEデバイスは、BUMトラフィックを送出エンドPEに転送する。
ポイントツーポイント(英語:point-to-point、P2P)EVPNサービスでは、例えば、P2P EVPNがPE1とPE2との間で配置される場合、サイト2内のUE2のMACアドレスを知った後、PE2は、BGP更新メッセージを通じてAD-EVIごとルートをPE1に通知する。AD-EVIごとルートはイーサネットA-Dルートである。P2Pシナリオでは、全てのパケットはブロードキャストされる。AD-EVIごとルートは、P2Pシナリオではパケット転送を導くために使用される。
BGP EVPNルート、MAC通知ルート、イーサネットA-Dルート、及びIMETルートに関する詳細、ならびにPEデバイスがエイリアシングベースの負荷分散をどのように実施するかに関する詳細については、インターネットエンジニアリングタスクフォース(英語:Internet Engineering Task Force、略してIETF)リクエストフォーコメンツ(英語:Request For Comments、略してRFC)7432を参照されたい。インターネットエンジニアリングタスクフォース(英語:Internet Engineering Task Force、略してIETF)リクエストフォーコメンツ(英語:Request For Comments、略してRFC)7432における関連する内容は、参照により本明細書に組み込まれる。簡潔にするために、詳細は、本明細書では説明されない。
特定の実装において、本出願では、ネットワークデバイス1がBGPメッセージを受信し、BGPメッセージが制御ワード指示情報のネクストホップ能力属性又は拡張コミュニティ属性を搬送するとき、ネットワークデバイス1の処理ルールは次の通りである。
1.ネットワークデバイス1は、制御ワード処理能力を有効にし、ネクストホップ能力属性解析又は制御ワード拡張コミュニティ属性解析をサポートする。ネットワークデバイス2によって送信され、ネクストホップ能力属性又は制御ワード拡張コミュニティ属性を搬送するBGPメッセージを受信した後、ネットワークデバイス1は、ネクストホップ能力属性又は制御ワード拡張コミュニティ属性を正しく解析することができる。ネットワークデバイス1は、BGPメッセージ内で搬送された制御ワード指示情報及びEVPNルーティング情報をローカルに記憶し、制御ワード指示情報を含むMAC転送エントリを生成する。ネットワークデバイス1は、MAC転送エントリに基づいてネットワークデバイス2に、制御ワード指示情報及び制御ワードを搬送するデータパケットを送信する。
2.ネットワークデバイス1は、制御ワード処理能力を構成しない又は有効にしない。ネットワークデバイス3によって送信され、制御ワード指示情報を搬送するBGPメッセージを受信した後、ネットワークデバイス1は、ネクストホップ能力属性又は制御ワード拡張コミュニティ属性を解析するとき、BGPメッセージ内で搬送されるネクストホップ能力属性又は制御ワード拡張コミュニティ属性を正しく識別することができない。このケースでは、ネットワークデバイス1は、属性を直接的に無視し、既存の手順に従ってBGPメッセージを解析してよい。
本出願では、ネットワークデバイス1が、ネクストホップ能力属性又は制御ワード拡張コミュニティ属性を搬送しない即ち制御ワード指示情報を搬送しないBGPメッセージを受信した後、処理ルールは、次の通りである。
1.ネットワークデバイス1は、制御ワード処理能力を有効にし、ネクストホップ能力属性解析又は制御ワード拡張コミュニティ属性解析をサポートする。ネットワークデバイス3によって送信され、ネクストホップ能力属性又は制御ワード拡張コミュニティ属性を搬送しないBGPメッセージを受信した後、ネットワークデバイス1は、BGPメッセージに基づいて、ネットワークデバイス3が制御ワード処理能力を持たないことを決定する。ネットワークデバイス1がデータパケットをネットワークデバイス3に送信するとき、制御ワードは搬送されない。
2.ネットワークデバイス1は、制御ワード処理能力を構成しない又は有効にしない。ネットワークデバイスによって送信され、ネクストホップ能力属性又は制御ワード拡張コミュニティ属性を搬送しないBGPメッセージを受信した後、ネットワークデバイス1は、既存の手順に従ってBGPメッセージを解析する。
S203:ネットワークデバイス1が、BGPメッセージ1を受信する。
S204:ネットワークデバイス1が、BGPメッセージ1に基づいてEVPNサービスパケット1を生成する。
特定の実装では、ネットワークデバイス1は、制御ワード処理能力を持つネットワークデバイスである。BGPメッセージ1は、EVPNルーティング情報と、制御ワード指示情報とを含む。BGPメッセージ1を受信した後、ネットワークデバイス1は、EVPNルーティング情報及び制御ワード指示情報を記憶し、EVPNルーティング情報及び制御ワード指示情報に基づいて転送エントリを生成する。ネットワークデバイス1は、転送エントリに基づいてEVPNサービスパケット1を生成し、EVPNサービスパケット1は、制御ワード指示情報と、制御ワードとを含む。EVPNサービスパケット1のMPLSヘッダは、外部トンネルラベルと、内部プライベートネットワークラベルと、制御ワード指示情報とを含む。制御ワード指示情報は、トンネルラベルとプライベートネットワークラベルとの間にカプセル化されてもよいし、スタックの底(bottom-of-stack)ラベルとして使用されてもよい。
ネットワークデバイス1の制御プレーン(例えば、制御ボード)は、BGPメッセージ1内で搬送される異なるタイプのBGP EVPNルートに基づいて、異なるBGP EVPNルーティングエントリ及び対応する転送エントリを生成する。例えば、BGPメッセージを通じて通知されるBGP EVPNルートがMACルートであるとき、ネットワークデバイス1は、BGPメッセージに基づいてMACルーティングエントリを生成し、このMACルーティングエントリに基づいて対応するMAC転送エントリを生成して、このMAC転送エントリを転送プレーンに送信する。BGPメッセージを通じて通知されるBGP EVPNルートがイーサネットA-Dルートであるとき、ネットワークデバイス1は、BGPメッセージに基づいてイーサネットA-Dルーティングエントリを生成し、このイーサネットA-Dルーティングエントリに基づいて対応するイーサネットA-D転送エントリを生成して、このイーサネットA-D転送エントリを転送プレーンに送信する。BGPメッセージを通じて通知されるBGP EVPNルートがIMETルートであるとき、ネットワークデバイス1は、BGPメッセージに基づいてIMETルーティングエントリを生成し、このIMETルーティングエントリに基づいて対応するIMET転送エントリを生成して、このIMET転送エントリを転送プレーンに送信する。ネットワークデバイス1内で、異なるタイプのルーティングエントリ及び転送エントリは、別々に維持され、互いから分離される。以下は、MACルートを例として使用して、本出願においてMACルーティングエントリ及びMAC転送エントリを生成するプロセスについて説明する。IMETルート及びイーサネットA-Dルートの各々の場合、ネットワークデバイスが対応するルーティングテーブル及び対応する転送テーブルを生成するプロセスは、MACルートの場合のそれに類似しており、詳細は、本明細書では説明されない。
ネットワークデバイス1は、ネットワークデバイス2によって送信されたBGPメッセージ1を受信し、BGPメッセージ1内で搬送されるMACルーティング情報に基づいてMACルーティングエントリ及びMAC転送エントリを生成する。特定の実装では、制御ワード拡張コミュニティ属性内で搬送される制御ワード指示情報は、MACルーティングエントリ(表1に示される)内で構成されてよい。MACルーティングエントリ内の宛先MACアドレスは、MACルート内に含まれるMACアドレス(例えば、MAC2)である。ネクストホップのネットワークアドレスは、ネットワークデバイス2のループバックアドレスである。制御ワード指示情報は、制御ワード拡張コミュニティ属性の値(Value)フィールド内で搬送されるラベルであり、例えば、2341であってよい。プライベートネットワークラベルは、ネットワークデバイス2がBGP EVPNルートをネットワークデバイス1に送信するときに申請される、「LabelA」などのMPLSラベルである。EVPNサービスパケット内の制御ワード指示情報のカプセル化フォーマットは、従来のMPLSカプセル化におけるそれと同じである。例えば、制御ワード指示情報は、4バイトを含む。PEデバイスがデータパケットを転送するとき、制御ワード指示情報は、MPLSヘッダ内でMPLSラベルとしてカプセル化される。ネットワークデバイス1は、MACルーティングエントリ(表2に示される)に基づいてMAC転送エントリを生成し、MAC転送エントリをネットワークデバイス1の転送プレーン(例えば、転送ボード)に送信する。MACルーティングエントリに基づいてMAC転送エントリを生成するとき、ネットワークデバイス1は、MACルーティングエントリに基づいて、MAC転送エントリ内の宛先MACアドレス及びアウトバウンドインタフェースを決定し得る。MAC転送エントリ内の宛先MACアドレスは、MACルーティングエントリ内の宛先MACアドレスである。MAC転送エントリ内のアウトバウンドインタフェースは、例えば、Intf1である。ネットワークデバイス1がMAC転送エントリ内のアウトバウンドインタフェースとしてIntf1を決定することは、以下を含んでよい。ネットワークデバイス1は、最初に、MACルーティングエントリ内のネットワークデバイス2のループバック(英語:loopback)アドレスを検索キーワードとして使用して、転送等価クラス(英語:Forwarding Equivalence Class、FEC)からネクストホップラベル転送エントリ(英語:Next Hop Label Forwarding Entry、NHLFE)へのマッピングのテーブル(ここで、テーブルは、簡潔にFTN(FEC to NHLFE)マッピングテーブル又はFTN転送テーブルとも呼ばれる)を検索して、ネットワークデバイス2のループバックアドレスに対応するアウトバウンドインタフェースがネットワークデバイス1からネットワークデバイス2へのトンネルのトンネル識別子(英語:Tunnel Identifier、Tunnel ID)であることを知る。次いで、ネットワークデバイス1は、トンネルIDを使用することによってトンネル転送テーブルを検索して、トンネルIDに対応するアウトバウンドインタフェースがIntf1(即ち、ネットワークデバイス1上の、ネットワークデバイス1からネットワークデバイス2へのトンネルのインタフェース)であることを知る。ネットワークデバイス1は、Intf1をMAC転送エントリ内のアウトバウンドインタフェースとして決定する。トンネルは、ラベルスイッチ経路(Label Switched Path、LSP)トンネル、リソース予約プロトコル―トラフィックエンジニアリング(Resource Reservation Protocol-Traffic Engineering, RSVP-TE)トンネルなどであってよいことが留意されるべきである。トンネルは、既知のユニキャストデータフローを搬送するために使用される。簡潔にするために、このことは、本発明の実施形態の添付の図面では図示されない。
表1及び表2は、MACルーティングエントリ及びMAC転送エントリ内のいくらかの情報のみをリストしており、他の情報は、簡潔にするために示されない。このことは、当業者によって理解可能である。
ネットワークデバイス1が既知のユニキャストトラフィックを受信するとき、例えば、パケット内で搬送される宛先MACアドレスが、MACルート内に含まれるMACアドレス(MAC2)であるとき、ネットワークデバイス1は、MAC転送テーブルに問い合わせ、転送のためのアウトバウンドインタフェースに関する情報を知り、トラフィックがMAC2に転送されるときに制御ワード指示情報及び制御ワードが搬送される必要があることを知る。従って、ネットワークデバイス1は、EVPNサービスパケットが制御ワードをさらに搬送することを示すために、外部トンネルラベル、内部プライベートネットワークラベル、及び制御ワード指示情報をMPLSヘッダ内にカプセル化する。
S205:ネットワークデバイス1が、EVPNサービスパケット1をネットワークデバイス2に送信する。
S206:ネットワークデバイス2が、ネットワークデバイス1によって送信されたEVPNサービスパケット1を受信する。
EVPNサービスパケット1を受信した後、ネットワークデバイス2は、EVPNサービスパケット1をカプセル化解除して、処理されたデータパケットを取得し、この処理されたデータパケットを転送する。具体的には、ネットワークデバイス2は、EVPNサービスパケット1内で搬送される制御ワード指示情報に基づいて、EVPNサービスパケット1が制御ワードを搬送することを決定する。従って、EVPNサービスパケット1のMPLSラベルスタックを除去した後、ネットワークデバイス2は、制御ワードをさらに除去して、処理されたデータパケットを取得し、この処理されたデータパケットを、ローカルMAC転送エントリに基づいてEVPNサービスパケット1の宛先に転送する。
S207:ネットワークデバイス1が、ネットワークデバイス3によって送信されたBGPメッセージ2を受信する。
S208:ネットワークデバイス1が、BGPメッセージ2に基づいて、ネットワークデバイス3が制御ワード処理能力を持たないことを決定する。
具体的には、ネットワークデバイス3は、制御ワード処理能力を持たないネットワークデバイスであり、BGPメッセージ2は、ネクストホップ能力属性又は制御ワード拡張コミュニティ属性を搬送しない、即ち、制御ワード指示情報を搬送しない。ネットワークデバイス1は、制御ワード処理能力を持つネットワークデバイスであり、ネットワークデバイス1は、BGPメッセージ2が制御ワード拡張コミュニティ属性を搬送しないことを決定し、従って、BGPメッセージ2に基づいて、ネットワークデバイス3は、制御ワード処理能力を持たないネットワークデバイスであることを決定し得る。
S209:ネットワークデバイス1が、EVPNサービスパケット2を生成する。
S210:ネットワークデバイス1が、EVPNサービスパケット2をネットワークデバイス3に送信する。
ネットワークデバイス1が、ネットワークデバイス3は制御ワード処理能力を持たないことを決定したことに基づいて、ネットワークデバイス1は、EVPNサービスパケット2を生成し、EVPNサービスパケット2をネットワークデバイス3に送信する。EVPNサービスパケット2は、制御ワードを搬送しない。ネットワークデバイス1によって送信されたEVPNサービスパケット2を受信した後、ネットワークデバイス3は、制御ワードを搬送しないパケットのフォーマットに基づいてパケットを解析する。
本出願では、ネットワークデバイスは、ネットワークデバイスが制御ワード処理能力を持つかどうかを互いに知らせ、従って、データパケットをピアネットワークデバイスに送信するとき、ローカルネットワークデバイスは、ピアネットワークデバイスが制御ワード処理能力を持つかどうかに基づいて、送信されるべきデータパケットに制御ワードを追加するべきかどうかを決定することができる。このようにして、データパケットを受信するとき、ピアネットワークデバイスは、パケットを正しく解析することができる。このことは、パケットロスを効果的に回避する。
図5及び図6に示されるネットワークアーキテクチャの概略図ならびに特定の適用シナリオを参照して、以下は、例を使用して、BGP EVPNルートにおける制御ワード拡張コミュニティ属性の適用について説明する。以下のシナリオ及び特定の適用例は、本出願の技術的解決策に関する制限を構成するべきでないことが理解されるべきである。以下は、EVPN MP2MPシナリオにおけるユニキャストトラフィックのための制御ワード処理を実施するために制御ワード拡張コミュニティ属性がMACルートに適用される例を使用することによって、本出願の技術的解決策について説明する。
図5を参照すると、PE1及びPE3は各々、制御ワード処理能力を持つネットワークデバイスであり、PE2は、制御ワード処理能力を持たないデバイスである。制御プレーン上での情報作成プロセスは、次の通りである。
PE1は、ソースMACがMAC1であるMACルートをPE3に送信し、プライベートネットワークラベルLabel1を申請する。MACルートは、制御ワード指示情報CLI1を搬送する。PE3が、PE1によって通知されたMACルートを受信した後、PE3が、解析を通じて、MACルートが制御ワード指示情報を搬送することを認め、PE3が制御ワード処理能力を有効にするとき、PE3は、転送テーブルを生成するために、MACルート内で搬送される制御ワード指示情報CLI1をMAC1及びプライベートネットワークラベルLabel1とともに転送プレーンに送信する。
PE1は、ソースMACがMAC1であるMACルートをPE2に送信し、プライベートネットワークラベルLabel1を申請する。MACルートは、制御ワード指示情報CLI1を搬送する。PE2は、PE1によって通知され、制御ワード指示情報を搬送するMACルートを受信する。しかし、制御ワード処理能力がPE3上で配置されないので、PE3は、制御ワード指示情報を正しく解析することができず、MAC1及びプライベートネットワークラベルLabel1を転送テーブルに送信するのみである。代替として、制御ワード処理能力がPE3上で配置されるが、PE3は、制御ワード処理能力を有効にしない。このケースでは、PE3は制御ワード指示情報を正しく解析することができるが、PE3は、制御ワード指示情報を転送テーブルに送信しない。
PE2は、ソースMACがMAC2であるMACルートをPE3に通知し、プライベートネットワークラベルLabel2を申請する。PE2は制御ワード処理能力を持たないので、PE2がMACルートを通知するとき、制御ワード指示情報は搬送されない。PE2によって通知されたMACルートを受信した後、PE3は、通常は、制御ワード指示情報が搬送されない様式でBGPメッセージを解析し、MAC2及びプライベートネットワークラベルLabel2を抽出して、転送エントリを生成するためにMAC2及びプライベートネットワークラベルLabel2を転送プレーンに送信する。
PE3がMACルートをPE1に通知する手順は、PE1がMACルートをPE3に通知する手順と同じである。詳細は、ここでは説明されない。
PE2がMACルートをPE1に通知する手順は、PE2がMACルートをPE3に通知する手順と同じである。詳細は、ここでは説明されない。
図6を参照すると、転送プレーン上でのトラフィック転送プロセスは、次の通りである。
CE3がCE1にアクセスするとき、PE3は、MAC1にアクセスするためにCE3によって送信されたデータパケット(Payload1 (MAC1))を受信し、宛先MACアドレスMAC1に基づいて転送エントリに問い合わせ、データパケットを「トンネルラベル+プライベートネットワークラベル+制御ワード指示情報+制御ワード+データパケットペイロード(Payload1 (MAC1))」へとカプセル化し、カプセル化されたデータパケットを、P1を通じてPE1に転送する。PE3によって送信されたデータパケットを受信した後、P1は、通常の転送手順に従ってデータパケットを転送する。デバイスP1の場合、制御ワード指示情報は、MPLSラベルスタック内の内部ラベルであり、転送プレーン上で変更されない。受信されたデータパケットを再度カプセル化した後、P1は、再度カプセル化されたデータパケットをPE1に送信する。P1によって送信されたデータパケットを受信した後、PE1は、MPLSラベルスタックを解析し、トンネルラベル、プライベートネットワークラベル、及び制御ワード指示情報を除去し、データパケット内で搬送される制御ワード指示情報に基づいて、データパケットが制御ワードを搬送することを決定する。PE1は、制御ワードを除去した後の処理されたデータパケットを取得し、この処理されたデータパケットを、ローカルMAC転送エントリに基づいてCE1に転送する。
CE3がCE2にアクセスするとき、PE3は、MAC2にアクセスするためにCE3によって送信されたデータパケット(Payload2 (MAC2))を受信し、宛先MACアドレスMAC2に基づいて転送エントリに問い合わせ、データパケットを「トンネルラベル+プライベートネットワークラベル+データパケットペイロード(Payload2 (MAC2))」へとカプセル化し、カプセル化されたデータパケットをPE2に送信する。PE3によって送信されたデータパケットを受信し、トンネルラベル及びプライベートネットワークラベルを除去した後、PE2は、処理されたデータパケットを取得し、この処理されたデータパケットを、ローカルMAC転送エントリに基づいてCE2に送信する。
CE2がCE1にアクセスするとき、PE2は、MAC1にアクセスするためにCE2によって送信されたデータパケット(Payload3 (MAC1))を受信し、宛先MACアドレスMAC1に基づいて転送エントリに問い合わせ、データパケットを「トンネルラベル+プライベートネットワークラベル+データパケットペイロード(Payload3 (MAC1))」へとカプセル化し、カプセル化されたデータパケットを、P2を通じてPE1に転送する。制御ワードを搬送しないデータパケットを受信した後、P2は、通常の転送手順に従ってデータパケットをPE1に送信する。PE2によって送信されたデータパケットを受信し、トンネルラベル及びプライベートネットワークラベルを除去した後、PE1は、処理されたデータパケットを取得し、この処理されたデータパケットを、ローカルMAC転送エントリに基づいてCE1に送信する。
前述の内容から、制御ワード指示情報は、ユニキャストトラフィック内で制御ワードを処理するために、MACルート内で搬送され得ることが知られることができる。確かに、当業者は、代替として、制御ワード指示情報が、エイリアシングベースの負荷分散がユニキャストトラフィック上で実行されるシナリオにおいて制御ワードを処理するために、MACルートとイーサネットA-Dルートの両方で搬送されてよいことを理解し得る。その処理手順は、ユニキャストMACトラフィック内で制御ワードを処理する手順に類似している。このことは、当業者によって理解可能である。詳細は、本明細書では説明されない。さらに、制御ワード指示情報は、BUMトラフィック内で制御ワードを処理するために、IMETルート内で搬送されることがある。IMETルートが通知されるときに制御ワード指示情報が搬送される手順は、MACルートが通知される手順に類似している。詳細は、再度説明されない。制御ワード指示情報を搬送するIMETルートを受信した後、ピアエンドのBGPピアは、BGPピアの制御ワード処理能力に基づいて、IMETルーティングエントリ内のIMETルーティング情報とともに制御ワード指示情報を記憶すべきかどうかを決定し、次いで、パケット転送を導くためにIMET転送エントリを生成する。これらの手順は、当業者によって理解可能であり、詳細は、本明細書では説明されない。
本出願では、ローカルデバイスは、EVPN内で、制御ワード処理能力をサポートしない又は有効にしないネットワークデバイスが適合することができるように、動作を単純化するために、ローカルデバイスの制御ワード処理能力をリモートデバイスに動的に通知する。具体的には、BGP制御ワード拡張コミュニティ属性又はネクストホップ能力属性が、ローカルエンドの制御ワード処理能力をピアデバイスに通知するために新たに追加されることがある。リモートデバイスが制御ワード処理能力を持つ場合、言い換えれば、制御ワード処理能力がリモートデバイス上で配置され、リモートデバイスが制御ワード処理能力を有効にする場合、データパケットをローカルデバイスに送信するとき、リモートデバイスは、データパケットを使用して、制御ワード及びローカルデバイスによって前もって通知される制御ワード指示情報を搬送する。このようにして、ローカルデバイスは、制御ワード指示情報に基づいて、データパケットが制御ワードを搬送することを正しく識別することができ、制御ワードを搬送するパケットのフォーマットに基づいてデータパケットを正しく解析することができる。制御ワード処理能力がリモートデバイス上で配置されない又はリモートデバイスが制御ワード処理能力を有効にしない場合、リモートデバイスがデータパケットをローカルデバイスに送信するとき、制御ワードも制御ワード指示情報も搬送されない。このようにして、ローカルデバイスは、データパケットが、前もってピアデバイスに通知された制御ワード指示情報を搬送しないことに基づいて、受信されたデータパケットが制御ワードを搬送しないことを決定し、次いで、制御ワードを搬送しないパケットのフォーマットに基づいてデータパケットを解析する。このことは、パケットが正しく解析されることも保証することができる。
図7は、本出願の実施形態による通信方法700の概略フローチャートである。方法700が適用されるネットワークアーキテクチャは、少なくとも、第1のネットワークデバイスと、第2のネットワークデバイスとを含み、このネットワークアーキテクチャは、第3のネットワークデバイスをさらに含むことがある。第1のネットワークデバイスと第2のネットワークデバイスはBGPピアであり、第2のネットワークデバイスと第3のネットワークデバイスはBGPピアであり、第1のネットワークデバイスと第3のネットワークデバイスはBGPピアである。第1のネットワークデバイス、第2のネットワークデバイス、及び第3のネットワークデバイスは各々、PEデバイスであってよい。例えば、第1のネットワークデバイスは、図1に示されるPE1であってよく、第2のネットワークデバイスは、図1に示されるPE2であってよく、第3のネットワークデバイスは、図1に示されるPE3であってよい。ネットワークアーキテクチャは、図1に示されるネットワークアーキテクチャであってよい。さらに、図7に示される方法は、図2に示される方法を具体的に実施するために使用されてよい。例えば、図7における第1のネットワークデバイス、第2のネットワークデバイス、及び第3のネットワークデバイスはそれぞれ、図2に示される方法200におけるネットワークデバイス1、ネットワークデバイス2、及びネットワークデバイス3であってよい。図7に示される方法は、以下の内容を含む。
S701:第2のネットワークデバイスが第1のBGPメッセージを生成し、この第1のBGPメッセージは、制御ワード指示情報を含む。
制御ワード指示情報は、第2のネットワークデバイスが制御ワード処理能力を持つことを示すために使用される。制御ワード指示情報は、第1のネットワークデバイスが第1のEVPNパケットを第2のネットワークデバイスに送信するとき、第1のEVPNパケットを使用して制御ワードを搬送するように第1のネットワークデバイスに指示するために使用される。
S702:第2のネットワークデバイスが、第1のBGPメッセージを第1のネットワークデバイスに送信する。
図7に示される方法が、図2に示される方法200を実施するために使用されるとき、第1のBGPメッセージは、例えば、方法200におけるBGPメッセージ1であってよい。
第1のネットワークデバイスが第1のBGPメッセージをどのように処理するか、及び第1のネットワークデバイスが、第2のネットワークデバイスによって送信された第1のBGPメッセージを受信した後、その後で受信されるEVPNサービスパケットを制御ワード指示情報に基づいてどのように処理するか、制御ワード指示情報を搬送するBGP拡張コミュニティ属性又はネクストホップ能力属性の関連する説明、及び制御ワード指示情報を割り当てる具体的な様式に関する詳細については、方法200における関連する説明を参照されたい。詳細は、本明細書では再度説明されない。
第2のネットワークデバイスがBGP EVPNルートをどのように第1のネットワークデバイスに通知するかに関する詳細については、方法200における関連する説明を参照されたい。詳細は、本明細書では再度説明されない。
S703:第1のネットワークデバイスが、第1のBGPメッセージを受信する。
S704:第1のネットワークデバイスが、第1のBGPメッセージに基づいて第1のEVPNサービスパケットを生成する。
図7に示される方法が、図2に示される方法200を実施するために使用されるとき、第1のEVPNサービスパケットは、例えば、方法200におけるEVPNサービスパケット1であってよい。第1のネットワークデバイスが第1のBGPメッセージに基づいて第1のEVPNサービスパケットをどのように生成するかに関する詳細については、方法200においてBGPメッセージ1に基づいてネットワークデバイス1によってEVPNサービスパケット1を生成する関連する説明を参照されたい。詳細は、本明細書では再度説明されない。
S705:第1のネットワークデバイスが、第1のEVPNサービスパケットを第2のネットワークデバイスに送信する。
S706:第2のネットワークデバイスが、第1のネットワークデバイスによって送信された第1のEVPNサービスパケットを受信する。
第1のEVPNサービスパケットを受信した後、第2のネットワークデバイス2は、第1のEVPNサービスパケットをカプセル化解除し、処理されたデータパケットを取得して、この処理されたデータパケットを転送する。具体的には、第2のネットワークデバイスは、第1のEVPNサービスパケット内で搬送される制御ワード指示情報に基づいて、第1のEVPNサービスパケットが制御ワードを搬送することを決定する。従って、第1のEVPNサービスパケットのMPLSラベルスタックを除去した後、第2のネットワークデバイスは、制御ワードをさらに除去し、処理されたデータパケットを取得して、この処理されたデータパケットを、ローカルMAC転送エントリに基づいて第1のEVPNサービスパケットの宛先に転送する。
S707:第1のネットワークデバイスが、第3のネットワークデバイスによって送信された第2のBGPメッセージを受信する。
図7に示される方法が、図2に示される方法200を実施するために使用されるとき、第3のネットワークデバイスは、例えば、方法200におけるネットワークデバイス3であってよく、第2のBGPメッセージは、例えば、方法200におけるBGPメッセージ2であってよい。
S708:第1のネットワークデバイスが、第2のBGPメッセージに基づいて、第3のネットワークデバイスが制御ワード処理能力を持たないことを決定する。
具体的には、第3のネットワークデバイスは、制御ワード処理能力を持たないネットワークデバイスであり、第2のBGPメッセージは、制御ワード指示情報を搬送しない、例えば、制御ワード拡張コミュニティ属性又はネクストホップ能力属性を搬送しない。第1のネットワークデバイスは、制御ワード処理能力を持つネットワークデバイスであり、第1のネットワークデバイスは、第2のBGPメッセージが制御ワード指示情報を搬送しないことを決定し、従って、第2のBGPメッセージに基づいて、第3のネットワークデバイスが、制御ワード処理能力を持たないネットワークデバイスであることを決定し得る。
S709:第1のネットワークデバイスが、第2のEVPNサービスパケットを生成する。
図7に示される方法が、図2に示される方法200を実施するために使用されるとき、第2のEVPNサービスパケットは、例えば、方法200におけるEVPNサービスパケット2であってよい。
S710:第1のネットワークデバイスが、第2のEVPNサービスパケットを第3のネットワークデバイスに送信する。
第1のネットワークデバイスが、第3のネットワークデバイスが制御ワード処理能力を持たないことを決定したことに基づいて、第1のネットワークデバイスは、第2のEVPNサービスパケットを生成し、第2のEVPNサービスパケットを第3のネットワークデバイスに送信する。第2のEVPNサービスパケットは、制御ワードを搬送しない。第1のネットワークデバイスによって送信された第2のEVPNサービスパケットを受信した後、第3のネットワークデバイスは、制御ワードを搬送しないパケットのフォーマットに基づいてパケットを解析する。
本出願では、ネットワークデバイスは、ネットワークデバイスが制御ワード処理能力を持つかどうかを互いに知らせ、従って、データパケットをピアネットワークデバイスに送信するとき、ローカルネットワークデバイスは、ピアネットワークデバイスが制御ワード処理能力を持つかどうかに基づいて、送信されるべきデータパケットに制御ワードを追加するべきかどうかを決定することができる。このようにして、データパケットを受信するとき、ピアネットワークデバイスは、パケットを正しく解析することができる。このことは、パケットロスを効果的に回避する。
図8は、本出願によるネットワークデバイス800の概略図である。ネットワークデバイス800は、図1に示されるネットワークアーキテクチャに適用されてよく、例えば、図1に示されるネットワークアーキテクチャにおけるPE1であってよい。ネットワークデバイス800は、方法200においてネットワークデバイス1によって実行される動作又は方法700において第1のネットワークデバイスによって実行される動作を実行するように構成される。図8に示されるように、ネットワークデバイス800は、プロセッサ810と、プロセッサ810に結合されたメモリ820及びトランシーバ830とを含んでよい。プロセッサ810は、中央処理ユニット(英語:central processing unit、略してCPU)、ネットワークプロセッサ(英語:network processor、略してNP)、又はCPUとNPの組み合わせであってよい。代替として、プロセッサ810は、特定用途向け集積回路(英語:application-specific integrated circuit、略してASIC)、プログラマブルロジックデバイス(英語:programmable logic device、略してPLD)、又はそれらの組み合わせであってよい。PLDは、複合プログラマブルロジックデバイス(英語:complex programmable logic device、略してCPLD)、フィールドプログラマブルゲートアレイ(英語:field-programmable gate array、略してFPGA)、汎用アレイロジック(英語:generic array logic、略してGAL)、又はそれらの任意の組み合わせであってよい。プロセッサ810は、1つのプロセッサであってもよいし、複数のプロセッサを含んでもよい。メモリ820は、ランダムアクセスメモリ(英語:random-access memory、略してRAM)などの揮発性メモリ(英語:volatile memory)であってもよいし、メモリは、読み出し専用メモリ(英語:read-only memory、略してROM)、フラッシュメモリ(英語:flash memory)、ハードディスクドライブ(英語:hard disk drive、略してHDD)、又はソリッドステートドライブ(英語:solid-state drive、略してSSD)などの不揮発性メモリ(英語:non-volatile memory)であってもよい。代替として、メモリ820は、前述のタイプのメモリの組み合わせを含んでもよい。メモリ820は、1つのメモリであってもよいし、複数のメモリを含んでもよい。実装では、メモリ820は、コンピュータ可読命令を記憶し、このコンピュータ可読命令は、複数のソフトウェアモジュール、例えば、送信モジュール821と、処理モジュール822と、受信モジュール823とを含む。各ソフトウェアモジュールを実行した後、プロセッサ810は、ソフトウェアモジュールの表示に従って、対応する動作を実行することがある。この実施形態では、ソフトウェアモジュールによって実行される動作は、実際には、ソフトウェアモジュールの表示に従ってプロセッサ810によって実行される動作である。例えば、受信モジュール823は、第2のネットワークデバイスからBGPメッセージを受信するように構成される。BGPメッセージは、EVPNルーティング情報と、制御ワード指示情報とを含み、制御ワード指示情報は、第1のネットワークデバイスが第1のEVPNサービスパケットを第2のネットワークデバイスに送信するとき、第1のEVPNサービスパケットを使用して制御ワードを搬送するようにネットワークデバイス800に示すために使用される。処理モジュール822は、第1のEVPNサービスパケットを生成するように構成される。第1のEVPNサービスパケットは、制御ワード指示情報と、制御ワードとを含み、制御ワード指示情報は、第1のEVPNサービスパケットが制御ワードを含むことを示すために使用される。送信モジュール821は、第1のEVPNサービスパケットを第2のネットワークデバイスに送信するように構成される。さらに、メモリ820内のコンピュータ可読命令を実行した後、プロセッサ810は、コンピュータ可読命令の表示に従って、ネットワークデバイス1又は第1のネットワークデバイスによって実行可能である全ての動作、例えば、図2~図6に対応する実施形態においてネットワークデバイス1によって実行される動作、又は図7に対応する実施形態における第1のネットワークデバイスによって実行される動作を実行することがある。
図9は、本出願によるネットワークデバイス900の概略図である。ネットワークデバイス900は、図1に示されるネットワークアーキテクチャに適用されてよく、例えば、図1に示されるネットワークアーキテクチャにおけるPE2であってよい。ネットワークデバイス900は、方法200においてネットワークデバイス2によって実行される動作又は方法700において第2のネットワークデバイスによって実行される動作を実行するように構成される。図9に示されるように、ネットワークデバイス900は、プロセッサ910と、プロセッサ910に結合されたメモリ920及びトランシーバ930とを含んでよい。プロセッサ910は、CPU、NP、又はCPUとNPの組み合わせであってよい。プロセッサは、ハードウェアチップをさらに含んでよい。ハードウェアチップは、ASIC、PLD、又はそれらの組み合わせであってよい。PLDは、CPLD、FPGA、GAL、又はそれらの任意の組み合わせであってよい。プロセッサ910は、1つのプロセッサであってもよいし、複数のプロセッサを含んでもよい。メモリ920は、RAMなどの揮発性メモリ(英語:volatile memory)であってもよいし、メモリは、ROM、フラッシュメモリ(英語:flash memory)、HDD、又はSSDなどの不揮発性メモリ(英語:non-volatile memory)であってもよい。代替として、メモリは、前述のタイプのメモリの組み合わせを含んでもよい。メモリ920は、1つのメモリであってもよいし、複数のメモリを含んでもよい。実装では、メモリ920は、コンピュータ可読命令を記憶し、このコンピュータ可読命令は、複数のソフトウェアモジュール、例えば、送信モジュール921と、処理モジュール922と、受信モジュール923とを含んでよい。各ソフトウェアモジュールを実行した後、プロセッサ910は、ソフトウェアモジュールの表示に従って、対応する動作を実行することがある。この実施形態では、ソフトウェアモジュールによって実行される動作は、実際には、ソフトウェアモジュールの表示に従ってプロセッサ910によって実行される動作である。例えば、受信モジュール923は、第1のネットワークデバイスから第1のEVPNサービスパケットを受信するように構成される。第1のEVPNサービスパケットは、制御ワード指示情報と、制御ワードとを含む。処理モジュール922は、制御ワード指示情報に基づいて、第1のEVPNサービスパケットが制御ワードを含むことを決定し、第1のEVPNサービスパケットに基づいて、処理されたEVPNサービスパケットを取得するように構成される。処理されたEVPNサービスパケットは、制御ワード指示情報も制御ワードも搬送しない。送信モジュール921は、処理されたEVPNサービスパケットを第1のEVPNサービスパケットの宛先に送信するように構成される。さらに、メモリ920内のコンピュータ可読命令を実行した後、プロセッサ910は、コンピュータ可読命令の表示に従って、ネットワークデバイス2又は第2のネットワークデバイスによって実行可能である全ての動作、例えば、図2~図6に対応する実施形態においてネットワークデバイス2によって実行される動作、又は図7に対応する実施形態における第2のネットワークデバイスによって実行される動作を実行することがある。
本出願の実施形態は、図8に対応する実施形態におけるネットワークデバイス800と図9に対応する実施形態におけるネットワークデバイス900とを含み、図2に対応する実施形態における方法200又は図7に対応する実施形態における方法700を実行するように構成された通信システムをさらに提供する。
当業者は、本明細書に開示されている実施形態において説明される例と組み合わせて、モジュール及び方法動作が、電子ハードウェア又はコンピュータソフトウェアと電子ハードウェアの組み合わせによって実施されてよいことに気づき得る。機能がハードウェアによって実行されるかソフトウェアによって実行されるかは、特定の適用例及び技術的解決策の設計制約条件に依存する。当業者は、各特定の適用例に異なる方法を使用することによって、説明される機能を実施してよい。
簡便で簡潔な説明の目的のために、前述のシステム、装置、及びモジュールの詳細な作業プロセスについては、前述の方法実施形態における対応するプロセスを参照されたいことは、当業者によって明らかに理解され得る。詳細は、本明細書では再度説明されない。
前述の実施形態の全て又はいくつかは、ハードウェア、ファームウェア、又はそれらの任意の組み合わせを通じて実施されてよい。ソフトウェアが、実施形態を実施するために使用されるとき、実施形態は、コンピュータプログラム製品の形で完全に又は部分的に実施されてよい。コンピュータプログラム製品は、1つ又は複数のコンピュータ命令を含む。コンピュータプログラム命令が、コンピュータ上にロードされ、実行されるとき、本出願の実施形態による手順又は機能は、全て又は部分的に生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、又は別のプログラマブル装置であってよい。コンピュータ命令は、コンピュータ可読記憶媒体に記憶されてもよいし、コンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に送信されてもよい。例えば、コンピュータ命令は、ワイヤード(例えば、同軸ケーブル、光ファイバ、又はデジタル加入者線(DSL))様式又はワイヤレス(例えば、赤外線、無線、又はマイクロ波)様式で、ウェブサイト、コンピュータ、サーバ、又はデータセンタから、別のウェブサイト、コンピュータ、サーバ、又はデータセンタに、送信されてよい。コンピュータ可読記憶媒体は、コンピュータ、又は1つ又は複数の使用可能な媒体を統合する、サーバ若しくはデータセンタなどの、データ記憶デバイスによってアクセス可能な、任意の使用可能な媒体であってよい。使用可能な媒体は、磁気媒体(例えば、フロッピーディスク、ハードディスク、又は磁気テープ)、光学媒体(例えば、DVD)、半導体媒体(例えば、ソリッドステートドライブ(SSD))などであってよい。
本明細書における全ての部分は、漸進的な様式で説明される。実施形態における同じ又は類似した部分について、相互参照がなされてよい。各実施形態は、他の実施形態との違いに焦点を当てている。特に、装置及びシステム実施形態は、基本的に方法実施形態に類似しており、従って、簡潔に説明される。関連する部分については、方法実施形態における説明を参照されたい。
前述の説明は、本発明の特定の実装にすぎず、本発明の保護範囲を制限することを意図したものではない。本発明に開示されている技術範囲内で当業者によって容易に考え出される任意の変形又は置き換えは、本発明の保護範囲に含まれるものとする。従って、本発明の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
本発明の更なる実施形態が以下で提供される。以下のセクションで利用される番号付けは、必ずしも上記のセクションで利用された番号付けに応じたものである必要はないことに留意すべきである。
実施形態1.
第1のネットワークデバイスによって、第1のイーサネット仮想プライベートネットワーク(EVPN)サービスパケットを生成するステップであって、前記第1のEVPNサービスパケットは、制御ワード指示情報と制御ワードとを含み、前記制御ワード指示情報は、前記第1のEVPNサービスパケットが前記制御ワードを含むことを示す、ステップと、
前記第1のネットワークデバイスによって、前記第1のEVPNサービスパケットを第2のネットワークデバイスへ送信するステップと、
を含む、通信方法。
実施形態2.
第1のネットワークデバイスによって、第1のEVPNサービスパケットを生成する前記ステップの前に、前記方法は、
前記第1のネットワークデバイスによって、前記第2のネットワークデバイスによって送信された第1のボーダゲートウェイプロトコル(BGP)メッセージを受信するステップであって、前記第1のBGPメッセージは、前記第2のネットワークデバイスが制御ワード処理能力を有することを示す、ステップをさらに含む、
実施形態1の方法。
実施形態3.
前記第1のBGPメッセージは、EVPNルーティング情報をさらに含み、
前記方法は、
前記第1のネットワークデバイスによって、前記EVPNルーティング情報に基づいて、前記制御ワード指示情報を含む転送エントリを生成するステップをさらに含む、
実施形態2の方法。
実施形態4.
前記方法は、
前記第1のネットワークデバイスによって、第3のネットワークデバイスによって送信された第2のBGPメッセージを受信するステップであって、前記第2のBGPメッセージは、前記第3のネットワークデバイスが制御ワード処理能力を有しないことを示す、ステップをさらに含む、
実施形態1~3の方法。
実施形態5.
前記方法は、
前記第1のネットワークデバイスによって、制御ワードのない第2のEVPNサービスパケットを生成するステップと、
前記第1のネットワークデバイスによって、前記第2のEVPNサービスパケットを前記第3のネットワークデバイスへ送信するステップと、
をさらに含む、
実施形態4の方法。
実施形態6.
前記第1のBGPメッセージは、ネクストホップ能力属性を含み、前記ネクストホップ能力属性は、前記第2のネットワークデバイスが前記制御ワード処理能力を有することを示す、
実施形態2の方法。
実施形態7.
前記第1のBGPメッセージは、制御ワード拡張コミュニティ属性を含み、前記制御ワード拡張コミュニティ属性は、前記第2のネットワークデバイスが前記制御ワード処理能力を有することを示す、
実施形態2の方法。
実施形態8.
前記制御ワード指示情報は、予約済みラベルである、
実施形態1~7の方法。
実施形態9.
前記制御ワード指示情報は、前記第2のネットワークデバイスによって割り当てられる、
実施形態1~7の方法。
実施形態10.
前記第1のBGPメッセージは、前記制御ワード指示情報をさらに含む、
実施形態2の方法。
実施形態11.
第2のネットワークデバイスによって、第1のネットワークデバイスによって送信された第1のイーサネット仮想プライベートネットワーク(EVPN)サービスパケットを受信するステップであって、前記第1のEVPNサービスパケットは、制御ワード指示情報と制御ワードとを含み、前記制御ワード指示情報は、前記第1のEVPNサービスパケットが前記制御ワードを含むことを示す、ステップと、
前記制御ワード指示情報に基づき、制御ワードを搬送するEVPNサービスパケットのフォーマットに基づいて前記第1のEVPNサービスパケットを解析するステップと、
を含む、通信方法。
実施形態12.
第2のネットワークデバイスによって、前記第1のEVPNサービスパケットを受信する前記ステップの前に、前記方法は、
前記第2のネットワークデバイスによって、第1のボーダゲートウェイプロトコル(BGP)メッセージを前記第1のネットワークデバイスへ送信するステップであって、前記第1のBGPメッセージは、前記第2のネットワークデバイスが制御ワード処理能力を有することを示す情報を含む、ステップ
をさらに含む、
実施形態11の方法。
実施形態13.
前記第1のBGPメッセージは、前記第2のネットワークデバイスが制御ワード処理能力を有することを示す前記情報を搬送するためにネクストホップ能力属性又は拡張されたコミュニティ属性を含む、
実施形態12の方法。
実施形態14.
第1のネットワークデバイスによって、第2のネットワークデバイスによって送信された第1のボーダゲートウェイプロトコル(BGP)メッセージを受信するステップであって、前記第1のBGPメッセージは、前記第2のネットワークデバイスが制御ワード処理能力を有することを示す情報を含む、ステップと、
前記第1のネットワークデバイスによって、前記情報に基づいて、前記第2のネットワークデバイスが制御ワード処理能力を有すると決定するステップと、
を含む、通信方法。
実施形態15.
前記方法は、
前記第1のネットワークデバイスによって、第1のEVPNサービスパケットを前記第2のネットワークデバイスへ送信するステップであって、前記第1のEVPNサービスパケットは、制御ワード指示情報と制御ワードとを含み、前記制御ワード指示情報は、前記第1のEVPNサービスパケットが前記制御ワードを含むことを示す、ステップと、
をさらに含む、
実施形態14の方法。
実施形態16.
前記方法は、
前記第1のネットワークデバイスによって、第3のネットワークデバイスによって送信された第2のBGPメッセージを受信するステップであって、前記第2のBGPメッセージは、前記第3のネットワークデバイスが制御ワード処理能力を有しないことを示す、ステップをさらに含む、
実施形態14又は15の方法。
実施形態17.
前記方法は、
前記第1のネットワークデバイスによって、制御ワードのない第2のEVPNサービスパケットを前記第3のネットワークデバイスへ送信するステップをさらに含む、
実施形態16の方法。
実施形態18.
第2のネットワークデバイスによって、ボーダゲートウェイプロトコル(BGP)メッセージを生成するステップであって、前記BGPメッセージは、前記第2のネットワークデバイスが制御ワード処理能力を有することを示す情報を含む、ステップと、
前記第2のネットワークデバイスによって、前記BGPメッセージを第1のネットワークデバイスへ送信するステップと、
を含む、通信方法。
実施形態19.
前記方法は、
前記第2のネットワークデバイスによって、前記第1のネットワークデバイスによって送信されたイーサネット仮想プライベートネットワーク(EVPN)サービスパケットを受信するステップであって、前記EVPNサービスパケットは、制御ワード指示情報と制御ワードとを含み、前記制御ワード指示情報は、前記EVPNサービスパケットが前記制御ワードを含むことを示す、ステップをさらに含む、
実施形態18の方法。
実施形態20.
前記BGPメッセージは、前記情報を搬送するネクストホップ能力属性を含む、
実施形態18又は19の方法。
実施形態21.
前記BGPメッセージは、前記情報を搬送する制御ワード拡張コミュニティ属性を含む、
実施形態18又は19の方法。
実施形態22.
前記制御ワード指示情報は、予約済みラベルである、
実施形態19の方法。
実施形態23.
制御ワード指示情報は、前記第2のネットワークデバイスによって割り当てられる、
実施形態19の方法。
実施形態24.
前記BGPメッセージは、前記制御ワード指示情報をさらに含む、
実施形態19の方法。
実施形態25.
命令を含むメモリと、前記メモリに接続されたプロセッサとを備える、第1のネットワークデバイスであって、
前記命令は、前記プロセッサによって実行されたとき、前記第1のネットワークデバイスに、以下の処理、即ち、
第1のイーサネット仮想プライベートネットワーク(EVPN)サービスパケットを生成することであって、前記第1のEVPNサービスパケットは、制御ワード指示情報と制御ワードとを含み、前記制御ワード指示情報は、前記第1のEVPNサービスパケットが前記制御ワードを含むことを示す、ことと、
前記第1のEVPNサービスパケットを第2のネットワークデバイスへ送信することと、
を実行させる、
第1のネットワークデバイス。
実施形態26.
前記第1のEVPNサービスパケットを生成することの前に、前記命令は、前記第1のネットワークデバイスに、以下の処理、即ち、
前記第2のネットワークデバイスによって送信された第1のボーダゲートウェイプロトコル(BGP)メッセージを受信することであって、前記第1のBGPメッセージは、前記第2のネットワークデバイスが制御ワード処理能力を有することを示す、こと
をさらに実行させる、
実施形態25の第1のネットワークデバイス。
実施形態27.
前記第1のBGPメッセージは、EVPNルーティング情報をさらに含み、
前記命令は、前記第1のネットワークデバイスに、以下の処理、即ち、
前記EVPNルーティング情報に基づいて、前記制御ワード指示情報を含む転送エントリを生成すること、
をさらに実行させる、
実施形態26の第1のネットワークデバイス。
実施形態28.
前記命令は、前記第1のネットワークデバイスに、以下の処理、即ち、
第3のネットワークデバイスによって送信された第2のBGPメッセージを受信することであって、前記第2のBGPメッセージは、前記第3のネットワークデバイスが制御ワード処理能力を有しないことを示す、こと
をさらに実行させる、
実施形態25~27の第1のネットワークデバイス。
実施形態29.
前記命令は、前記第1のネットワークデバイスに、以下の処理、即ち、
制御ワードのない第2のEVPNサービスパケットを生成することと、
前記第2のEVPNサービスパケットを前記第3のネットワークデバイスへ送信すること
をさらに実行させる、
実施形態28の第1のネットワークデバイス。
実施形態30.
前記第1のBGPメッセージは、前記第2のネットワークデバイスが前記制御ワード処理能力を有することを示すネクストホップ能力属性を含む、
実施形態26に記載の第1のネットワークデバイス。
実施形態31.
前記第1のBGPメッセージは、前記第2のネットワークデバイスが前記制御ワード処理能力を有することを示す制御ワード拡張コミュニティ属性を含む、
実施形態26の第1のネットワークデバイス。
実施形態32.
前記制御ワード指示情報は、予約済みラベルである、
実施形態25又は26の第1のネットワークデバイス。
実施形態33.
制御ワード指示情報は、前記第2のネットワークデバイスによって割り当てられる、
実施形態25又は26の第1のネットワークデバイス。
実施形態34.
前記第1のBGPメッセージは、前記制御ワード指示情報をさらに含む、
実施形態26の第1のネットワークデバイス。
実施形態35.
命令を含むメモリと、前記メモリに接続されたプロセッサとを備える、第2のネットワークデバイスであって、前記命令は、前記プロセッサによって実行されたとき、前記第2のネットワークデバイスに、以下の処理、即ち、
第1のネットワークデバイスによって送信された第1のイーサネット仮想プライベートネットワーク(EVPN)サービスパケットを受信することであって、前記第1のEVPNサービスパケットは、制御ワード指示情報と制御ワードとを含み、前記制御ワード指示情報は、前記第1のEVPNサービスパケットが前記制御ワードを含むことを示す、ことと、
前記制御ワード指示情報に基づき、制御ワードを搬送するEVPNサービスパケットのフォーマットに基づいて前記第1のEVPNサービスパケットを解析することと、
を実行させる、
第2のネットワークデバイス。
実施形態36.
前記第1のEVPNサービスパケットを受信することの前に、前記命令は、前記第2のネットワークデバイスに、
第1のボーダゲートウェイプロトコル(BGP)メッセージを前記第1のネットワークデバイスへ送信することであって、前記第1のBGPメッセージは、前記第2のネットワークデバイスが制御ワード処理能力を有することを示す情報を含む、ことをさらに行わせる、
実施形態35の第2のネットワークデバイス。
実施形態37.
前記第1のBGPメッセージは、前記第2のネットワークデバイスが制御ワード処理能力を有することを示す情報を搬送するためにネクストホップ能力属性又は拡張コミュニティ属性を含む、
実施形態36の第2のネットワークデバイス。
実施形態38.
命令を含むメモリと、前記メモリに接続されたプロセッサとを備える、第1のネットワークデバイスであって、前記命令は、前記プロセッサによって実行されたとき、前記第1のネットワークデバイスに、以下の処理、即ち、
第2のネットワークデバイスによって送信された第1のボーダゲートウェイプロトコル(BGP)メッセージを受信することであって、前記第1のBGPメッセージは、前記第2のネットワークデバイスが制御ワード処理能力を有することを示す情報を含む、ことと、
前記第1のネットワークデバイスによって、前記情報に基づいて、前記第2のネットワークデバイスが制御ワード処理能力を有すると決定することと、
を実行させる、
第1のネットワークデバイス。
実施形態39.
前記命令は、前記第1のネットワークデバイスに、
第1のEVPNサービスパケットを前記第2のネットワークデバイスへ送信することであって、前記第1のEVPNサービスパケットは、制御ワード指示情報と制御ワードとを含み、前記制御ワード指示情報は、前記第1のEVPNサービスパケットが前記制御ワードを含むことを示す、ことをさらに行わせる、
実施形態38の第1のネットワークデバイス。
実施形態40.
前記命令は、前記第1のネットワークデバイスに、
第3のネットワークデバイスによって送信された第2のBGPメッセージを受信することであって、前記第2のBGPメッセージは、前記第3のネットワークデバイスが制御ワード処理能力を有しないことを示す、ことをさらに行わせる、
実施形態38又は39の第1のネットワークデバイス。
実施形態41.
前記命令は、前記第1のネットワークデバイスに、
制御ワードのない第2のEVPNサービスパケットを前記第3のネットワークデバイスへ送信すること
をさらに行わせる、
実施形態40の第1のネットワークデバイス。
実施形態42.
命令を含むメモリと、前記メモリに接続されたプロセッサとを備える、第2のネットワークデバイスであって、前記命令は、前記プロセッサによって実行されたとき、前記第2のネットワークデバイスに、以下の処理、即ち、
ボーダゲートウェイプロトコル(BGP)メッセージを生成することであって、前記BGPメッセージは、前記第2のネットワークデバイスが制御ワード処理能力を有することを示す情報を含む、ことと、
前記BGPメッセージを第1のネットワークデバイスへ送信することと、
を実行させる、
第2のネットワークデバイス。
実施形態43.
前記命令は、前記第2のネットワークデバイスに、
前記第1のネットワークデバイスによって送信されたイーサネット仮想プライベートネットワーク(EVPN)サービスパケットを受信することであって、前記EVPNサービスパケットは、制御ワード指示情報と制御ワードとを含み、前記制御ワード指示情報は、前記EVPNサービスパケットが前記制御ワードを含むことを示す、こと
をさらに行わせる、
実施形態42の第2のネットワークデバイス。
実施形態44.
前記BGPメッセージは、前記情報を搬送するネクストホップ能力属性を含む、
実施形態42又は43の第2のネットワークデバイス。
実施形態45.
前記BGPメッセージは、前記情報を搬送する制御ワード拡張コミュニティ属性を含む、
実施形態42又は43の第2のネットワークデバイス。
実施形態46.
前記制御ワード指示情報は、予約済みラベルである、
実施形態43の第2のネットワークデバイス。
実施形態47.
制御ワード指示情報は、前記第2のネットワークデバイスによって割り当てられる、
実施形態43の第2のネットワークデバイス。
実施形態48.
前記BGPメッセージは、前記制御ワード指示情報をさらに含む、
実施形態43の第2のネットワークデバイス。
実施形態49.
コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体は、命令を記憶し、前記命令は、コンピュータ上で実行されるとき、前記コンピュータに、実施形態1~24のいずれか1つに記載の方法を実行させる、
コンピュータ可読記憶媒体。
実施形態50.
通信システムであって、前記通信システムは、実施形態25~34及び実施形態38~41のいずれか1つに記載の第1のネットワークデバイスと、実施形態35~37及び実施形態42~48のいずれか1つに記載の第2のネットワークデバイスとを含む、
通信システム。