(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-12-09
(54)【発明の名称】ノード保護方法、装置、電子機器および媒体
(51)【国際特許分類】
H04L 45/247 20220101AFI20241202BHJP
H04L 45/42 20220101ALI20241202BHJP
H04L 49/55 20220101ALI20241202BHJP
【FI】
H04L45/247
H04L45/42
H04L49/55
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024536036
(86)(22)【出願日】2022-10-24
(85)【翻訳文提出日】2024-06-14
(86)【国際出願番号】 CN2022127132
(87)【国際公開番号】W WO2024086991
(87)【国際公開日】2024-05-02
(81)【指定国・地域】
(71)【出願人】
【識別番号】518056748
【氏名又は名称】新華三技術有限公司
【氏名又は名称原語表記】NEW H3C TECHNOLOGIES CO., LTD.
(74)【代理人】
【識別番号】110003339
【氏名又は名称】弁理士法人南青山国際特許事務所
(72)【発明者】
【氏名】邱元香
(72)【発明者】
【氏名】林長望
【テーマコード(参考)】
5K030
【Fターム(参考)】
5K030GA12
5K030HA08
5K030LA03
5K030LB07
5K030LB08
5K030MB01
5K030MD02
(57)【要約】
本願はノード保護方法、装置、電子機器および媒体を提供し、通信技術分野に関する。当該ノード保護方法は、第1サービスメッセージを取得ことであって、第1サービスメッセージはIPv6ヘッダとSRHとを含み、IPv6ヘッダは宛先アドレスを含み、SRHはSIDリストを含み、SIDリストはバックアップSIDと第1サービスメッセージを転送するためのプライマリパスにおけるエンドポイントノードのSIDとを含むことと、バックアップSIDに示されるエンドポイントノードに第2サービスメッセージを転送することであって、第2サービスメッセージは宛先アドレスを含み、宛先アドレスは、プライマリパスにおける各エンドポイントノードがいずれも到達不能なエンドポイントノードであり、かつバックアップSIDに示されるエンドポイントノードが到達可能なエンドポイントノードであることが確定された後に、前記バックアップSIDに変更されたものであることと、を含む。本願発明によれば、リンクまたはノードに障害が発生した際に、サービスの遅延を低減できる。
【選択図】
図4
【特許請求の範囲】
【請求項1】
第1ノードに適用されるノード保護方法であって、
第1サービスメッセージを取得することであって、前記第1サービスメッセージはIPv6ヘッダとSRHとを含み、前記IPv6ヘッダは宛先アドレスを含み、前記SRHはSIDリストを含み、前記SIDリストはバックアップSIDと前記第1サービスメッセージを転送するためのプライマリパスにおけるエンドポイントノードのSIDとを含むことと、
前記バックアップSIDに示されるエンドポイントノードに第2サービスメッセージを転送することであって、前記第2サービスメッセージは前記宛先アドレスを含み、前記宛先アドレスは、前記プライマリパスにおける各エンドポイントノードがいずれも到達不能なエンドポイントノードであり、かつ前記バックアップSIDに示されるエンドポイントノードが到達可能なエンドポイントノードであることが確定された後に、前記バックアップSIDに変更されたものであることと、を含む、
ことを特徴とする、ノード保護方法。
【請求項2】
前記SRHはSLをさらに含み、前記第1サービスメッセージを取得した後、前記ノード保護方法は、
現在のSLと固定値との差によって第1SLを取得し、前記SIDリストから前記第1SLに対応する第1SIDを取得することと、
前記第1SIDに示されるエンドポイントノードが到達不能である場合、前記第1SLを現在のSLとし、前記SIDリストから到達可能なエンドポイントノードの第1SIDを取得するまで、現在のSLと固定値との差によって第1SLを取得して前記SIDリストから前記第1SLに対応する第1SIDを取得する過程を繰り返すことと、
前記到達可能なエンドポイントノードの第1SIDが前記バックアップSIDである場合、前記宛先アドレスを前記バックアップSIDに変更して、前記第2サービスメッセージを得ることと、
前記到達可能なエンドポイントノードの第1SIDが前記バックアップSIDではない場合、前記宛先アドレスを前記到達可能なエンドポイントノードの第1SIDに変更して、第3サービスメッセージを取得し、前記第1SIDに示されるエンドポイントノードに前記第3サービスメッセージを転送することと、をさらに含む、
ことを特徴とする、請求項1に記載のノード保護方法。
【請求項3】
前記第1サービスメッセージを取得した後、前記ノード保護方法は、
前記宛先アドレスは指定の付加ビヘイビアが配置されているSIDである場合、前記IPv6ヘッダと前記SRHとを削除し、第4サービスメッセージを得ることと、
前記第4サービスメッセージを転送することと、をさらに含む、
ことを特徴とする、請求項1に記載のノード保護方法。
【請求項4】
前記バックアップSIDに示されるエンドポイントノードは前記第1サービスメッセージを転送するためのバックアップパスにおける末尾ノードであり、または、
前記バックアップSIDに示されるエンドポイントノードは第2ノードであり、前記第1ノードと前記第2ノードとの間にはBEパスが存在する、
ことを特徴とする、請求項1~3のいずれか1項に記載のノード保護方法。
【請求項5】
前記SIDリストにおける最後から2番目の要素にカプセル化されているSIDは前記プライマリパスにおける末尾ノードのSIDであり、最後の要素にカプセル化されているSIDは前記バックアップSIDである、
ことを特徴とする、請求項1~3のいずれか1項に記載のノード保護方法。
【請求項6】
前記第1ノードがソースノードである場合、前記第1サービスメッセージを取得することは、
第5サービスメッセージを受信することと、
前記第5サービスメッセージと一致するルーティングテーブルエントリのネクストホップがSRv6ポリシーであり、かつ前記SRv6ポリシーがプライマリパスとバックアップパスとを含む場合、前記第5サービスメッセージの外層に前記IPv6ヘッダと前記SRHとをカプセル化して、前記第1サービスメッセージを得ることと、を含む、
ことを特徴とする、請求項1に記載のノード保護方法。
【請求項7】
第1ノードに適用されるノード保護装置であって、
第1サービスメッセージを取得することに用いられる取得モジュールであって、前記第1サービスメッセージはIPv6ヘッダとSRHとを含み、前記IPv6ヘッダは宛先アドレスを含み、前記SRHはSIDリストを含み、前記SIDリストはバックアップSIDと前記第1サービスメッセージを転送するためのプライマリパスにおけるエンドポイントノードのSIDとを含む、取得モジュールと、
前記バックアップSIDに示されるエンドポイントノードに第2サービスメッセージを転送する送信モジュールであって、前記第2サービスメッセージは前記宛先アドレスを含み、前記宛先アドレスは、前記プライマリパスにおける各エンドポイントノードがいずれも到達不能なエンドポイントノードであり、かつ前記バックアップSIDに示されるエンドポイントノードが到達可能なエンドポイントノードであることが確定された後に、前記バックアップSIDに変更されたものである、送信モジュールと、を含む、
ことを特徴とする、ノード保護装置。
【請求項8】
前記SRHはSLをさらに含み、前記ノード保護装置は変更モジュールをさらに含み、
前記取得モジュールは、さらに、現在のSLと固定値との差によって第1SLを取得し、前記SIDリストから前記第1SLに対応する第1SIDを取得することと、前記第1SIDに示されるエンドポイントノードが到達不能である場合、前記第1SLを現在のSLとし、前記SIDリストから到達可能なエンドポイントノードの第1SIDを取得するまで、現在のSLと固定値との差によって第1SLを取得して前記SIDリストから前記第1SLに対応する第1SIDを取得する過程を繰り返すことと、に用いられ、
前記変更モジュールは、前記到達可能なエンドポイントノードの第1SIDが前記バックアップSIDである場合、前記宛先アドレスを前記バックアップSIDに変更して、前記第2サービスメッセージを得ることに用いられ、
前記変更モジュールは、さらに、前記到達可能なエンドポイントノードの第1SIDが前記バックアップSIDではない場合、前記宛先アドレスを前記到達可能なエンドポイントノードの第1SIDに変更して、第3サービスメッセージを得ることに用いられ、
前記送信モジュールは、さらに、前記第1SIDに示されるエンドポイントノードに前記第3サービスメッセージを転送することに用いられる、
ことを特徴とする、請求項7に記載のノード保護装置。
【請求項9】
前記宛先アドレスは指定の付加ビヘイビアが配置されているSIDである場合、前記IPv6ヘッダと前記SRHとを削除し、第4サービスメッセージを得る、削除モジュールをさらに含み、
前記送信モジュールは、さらに、前記第4サービスメッセージを転送することに用いられる、
ことを特徴とする、請求項7に記載のノード保護装置。
【請求項10】
前記バックアップSIDに示されるエンドポイントノードは前記第1サービスメッセージを転送するためのバックアップパスにおける末尾ノードであり、または、
前記バックアップSIDに示されるエンドポイントノードは第2ノードであり、前記第1ノードと前記第2ノードとの間にはBEパスが存在する、
ことを特徴とする、請求項7~9のいずれか1項に記載のノード保護装置。
【請求項11】
前記SIDリストにおける最後から2番目の要素にカプセル化されているSIDは前記プライマリパスにおける末尾ノードのSIDであり、最後の要素にカプセル化されているSIDは前記バックアップSIDである、
ことを特徴とする、請求項7~9のいずれか1項に記載のノード保護装置。
【請求項12】
前記第1ノードがソースノードである場合、前記取得モジュールは、
第5サービスメッセージを受信することと、
前記第5サービスメッセージと一致するルーティングテーブルエントリのネクストホップがSRv6ポリシーであり、かつ前記SRv6ポリシーがプライマリパスとバックアップパスとを含む場合、前記第5サービスメッセージの外層に前記IPv6ヘッダと前記SRHとをカプセル化して、前記第1サービスメッセージを得ることと、に用いられる、
ことを特徴とする、請求項7に記載のノード保護装置。
【請求項13】
プロセッサと、
送受信機と、
前記プロセッサが実行できる機械実行可能命令を記憶する、機械可読記憶媒体と、を含み、
前記機械実行可能命令は前記プロセッサに、
第1サービスメッセージを取得することであって、前記第1サービスメッセージはIPv6ヘッダとSRHとを含み、前記IPv6ヘッダは宛先アドレスを含み、前記SRHはSIDリストを含み、前記SIDリストはバックアップSIDと前記第1サービスメッセージを転送するためのプライマリパスにおけるエンドポイントノードのSIDとを含むことと、
前記バックアップSIDに示されるエンドポイントノードに第2サービスメッセージを転送することであって、前記第2サービスメッセージは前記宛先アドレスを含み、前記宛先アドレスは、前記プライマリパスにおける各エンドポイントノードがいずれも到達不能なエンドポイントノードであり、かつ前記バックアップSIDに示されるエンドポイントノードが到達可能なエンドポイントノードであることが確定された後に、前記バックアップSIDに変更されたものであることと、を含む、
ことを特徴とする、電子機器。
【請求項14】
前記SRHはSLをさらに含みは、前記機械実行可能命令は、さらに、前記プロセッサに、
現在のSLと固定値との差によって第1SLを取得し、前記SIDリストから前記第1SLに対応する第1SIDを取得することと、
前記第1SIDに示されるエンドポイントノードが到達不能である場合、前記第1SLを現在のSLとして、前記SIDリストから到達可能なエンドポイントノードの第1SIDを取得するまで、現在のSLと固定値との差によって第1SLを取得して前記SIDリストから前記第1SLに対応する第1SIDを取得する過程を繰り返すことと、
前記到達可能なエンドポイントノードの第1SIDが前記バックアップSIDである場合、前記宛先アドレスを前記バックアップSIDに変更して、前記第2サービスメッセージを得ることと、
前記到達可能なエンドポイントノードの第1SIDが前記バックアップSIDではない場合、前記宛先アドレスを前記到達可能なエンドポイントノードの第1SIDに変更して、第3サービスメッセージを取得し、前記第1SIDに示されるエンドポイントノードに前記第3サービスメッセージを転送することと、を実行させる、
ことを特徴とする、請求項13に記載の電子機器。
【請求項15】
前記機械実行可能命令は、さらに、前記プロセッサに、
前記宛先アドレスは指定の付加ビヘイビアが配置されているSIDである場合、前記IPv6ヘッダと前記SRHとを削除し、第4サービスメッセージを得ることと、
前記第4サービスメッセージを転送することと、を実行させる、
ことを特徴とする、請求項13に記載の電子機器。
【請求項16】
前記バックアップSIDに示されるエンドポイントノードは前記第1サービスメッセージを転送するためのバックアップパスにおける末尾ノードであり、または、
前記バックアップSIDに示されるエンドポイントノードは第2ノードであり、第1ノードと前記第2ノードとの間にはBEパスが存在する、
ことを特徴とする、請求項13~15のいずれか1項に記載の電子機器。
【請求項17】
前記SIDリストにおける最後から2番目の要素にカプセル化されているSIDは前記プライマリパスにおける末尾ノードのSIDであり、最後の要素にカプセル化されているSIDは前記バックアップSIDである、
ことを特徴とする、請求項13~15のいずれか1項に記載の電子機器。
【請求項18】
前記電子機器がソースノードである場合、前記機械実行可能命令は、前記プロセッサに、
第5サービスメッセージを受信することと、
前記第5サービスメッセージと一致するルーティングテーブルエントリのネクストホップがSRv6ポリシーであり、かつ前記SRv6ポリシーがプライマリパスとバックアップパスとを含む場合、前記第5サービスメッセージの外層に前記IPv6ヘッダと前記SRHとをカプセル化して、前記第1サービスメッセージを得ることと、を実行させる、
ことを特徴とする、請求項13に記載の電子機器。
【請求項19】
機械実行可能命令が記憶されている機械可読記憶媒体であって、プロセッサによって呼び出しおよび実行されると、前記機械実行可能命令は前記プロセッサに、請求項1~3、6のいずれかに記載のノード保護方法におけるステップを実現させる、
ことを特徴とする、機械可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本願は通信技術分野に関し、特にノード保護方法、装置、電子機器および媒体に関する。
【背景技術】
【0002】
例えばインターネットプロトコルに基づく音声通話(ボイス・オーバー・インターネット-プロトコル、VoIP)等の双方向式マルチメディアサービスアプリケーションは、ネットワークパケットロスに対して非常に敏感であり、一般的に、数十ミリ秒のネットワークパケットロスしか許容できない。しかしながら、ネットワークにおけるリンクまたはノードに障害が発生した場合、サービス伝送の再開には通常数百ミリ秒から数秒かかるため、サービスのニーズを満足できない。
【発明の概要】
【0003】
上記状況に鑑みて、本願は、リンクまたはノードに障害が発生した際に、サービスの遅延を低減するためのノード保護方法、装置、電子機器および媒体を提供する。具体的な技術案は以下の通りである。
【0004】
第1態様として、本願は、第1ノードに適用されるノード保護方法を提供する。前記ノード保護方法は、
第2ノードから送信された第1サービスメッセージを取得することであって、前記第1サービスメッセージはIPv6ヘッダとSRHとを含み、前記IPv6ヘッダは宛先アドレスを含み、前記SRHはSIDリストを含み、前記SIDリストはバックアップSIDと前記第1サービスメッセージを転送するためのプライマリパスにおけるエンドポイントノードのSIDとを含むことと、
前記バックアップSIDに示されるエンドポイントノードに第2サービスメッセージを転送することであって、前記第2サービスメッセージは前記宛先アドレスを含み、前記宛先アドレスは、各エンドポイントノードのSIDに示される前記プライマリパスにおける各エンドポイントノードがいずれも到達不能なエンドポイントノードであり、かつ前記バックアップSIDに示されるエンドポイントノードが到達可能なエンドポイントノードであることが確定された後に、前記バックアップSIDに変更されたものであることと、を含む。
【0005】
一可能な実施形態において、前記SRHはSLをさらに含み、前記第1サービスメッセージを取得した後、前記ノード保護方法は、
現在のSLと固定値との差によって第1SLを取得し、前記SIDリストから前記第1SLに対応する第1SIDを取得することと、
前記第1SIDに示されるエンドポイントノードが到達不能である場合、前記第1SLを現在のSLとし、前記SIDリストから到達可能なエンドポイントノードの第1SIDを取得するまで、現在のSLと固定値との差によって第1SLを取得して前記SIDリストから前記第1SLに対応する第1SIDを取得する過程を繰り返すことと、
前記到達可能なエンドポイントノードの第1SIDが前記バックアップSIDである場合、前記宛先アドレスを前記バックアップSIDに変更して、前記第2サービスメッセージを得ることと、
前記到達可能なエンドポイントノードの第1SIDが前記バックアップSIDではない場合、前記宛先アドレスを前記到達可能なエンドポイントノードの第1SIDに変更して、第3サービスメッセージを取得し、前記第1SIDに示されるエンドポイントノードに前記第3サービスメッセージを転送することと、をさらに含む。
【0006】
一可能な実施形態において、前記第1サービスメッセージを取得した後、前記ノード保護方法は、
前記宛先アドレスは指定の付加ビヘイビアが配置されているSIDである場合、前記IPv6ヘッダと前記SRHとを削除し、第4サービスメッセージを得ることと、
前記第4サービスメッセージを転送することと、をさらに含む。
【0007】
一可能な実施形態において、前記バックアップSIDに示されるエンドポイントノードは前記第1サービスメッセージを転送するためのバックアップパスにおける末尾ノードであり、または、
前記バックアップSIDに示されるエンドポイントノードは第2ノードであり、前記第1ノードと前記第2ノードとの間にはBEパスが存在する。
【0008】
一可能な実施形態において、前記SIDリストにおける最後から2番目の要素にカプセル化されているSIDは前記プライマリパスにおける末尾ノードのSIDであり、最後の要素にカプセル化されているSIDは前記バックアップSIDである。
【0009】
一可能な実施形態において、前記第1ノードがソースノードである場合、前記第1サービスメッセージを取得することは、
第5サービスメッセージを受信することと、
前記第5サービスメッセージと一致するルーティングテーブルエントリのネクストホップがSRv6ポリシーであり、かつ前記SRv6ポリシーがプライマリパスとバックアップパスとを含む場合、前記第5サービスメッセージの外層に前記IPv6ヘッダと前記SRHとをカプセル化して、前記第1サービスメッセージを得ることと、を含む。
【0010】
第2態様として、本願は、第1ノードに適用されるノード保護装置を提供する。前記ノード保護装置は、
第1サービスメッセージを取得することに用いられる取得モジュールであって、前記第1サービスメッセージはIPv6ヘッダとSRHとを含み、前記IPv6ヘッダは宛先アドレスを含み、前記SRHはSIDリストを含み、前記SIDリストはバックアップSIDと前記第1サービスメッセージを転送するためのプライマリパスにおけるエンドポイントノードのSIDとを含む、取得モジュールと、
前記バックアップSIDに示されるエンドポイントノードに第2サービスメッセージを転送することに用いられる送信モジュールであって、前記第2サービスメッセージは前記宛先アドレスを含み、前記宛先アドレスは、前記プライマリパスにおける各エンドポイントノードがいずれも到達不能なエンドポイントノードであり、かつ前記バックアップSIDに示されるエンドポイントノードが到達可能なエンドポイントノードであることが確定された後に、前記バックアップSIDに変更されたものである、送信モジュールと、を含む。
【0011】
一可能な実施形態において、前記SRHはSLをさらに含み、前記ノード保護装置は変更モジュールをさらに含み、
前記取得モジュールは、さらに、現在のSLと固定値との差によって第1SLを取得し、前記SIDリストから前記第1SLに対応する第1SIDを取得することと、前記第1SIDに示されるエンドポイントノードが到達不能である場合、前記第1SLを現在のSLとし、前記SIDリストから到達可能なエンドポイントノードの第1SIDを取得するまで、現在のSLと固定値との差によって第1SLを取得して前記SIDリストから前記第1SLに対応する第1SIDを取得する過程を繰り返すことと、に用いられ、
前記変更モジュールは、前記到達可能なエンドポイントノードの第1SIDが前記バックアップSIDである場合、前記宛先アドレスを前記バックアップSIDに変更して、前記第2サービスメッセージを得ることに用いられ、
前記変更モジュールは、さらに、前記到達可能なエンドポイントノードの第1SIDが前記バックアップSIDではない場合、前記宛先アドレスを前記到達可能なエンドポイントノードの第1SIDに変更して、第3サービスメッセージを得ることに用いられ、
前記送信モジュールは、さらに、前記第1SIDに示されるエンドポイントノードに前記第3サービスメッセージを転送することに用いられる。
【0012】
一可能な実施形態において、前記ノード保護装置は、
前記宛先アドレスは指定の付加ビヘイビアが配置されているSIDである場合、前記IPv6ヘッダと前記SRHとを削除し、第4サービスメッセージを得る、削除モジュールをさらに含み、
前記送信モジュールは、さらに、前記第4サービスメッセージを転送することに用いられる。
【0013】
一可能な実施形態において、前記バックアップSIDに示されるエンドポイントノードは前記第1サービスメッセージを転送するためのバックアップパスにおける末尾ノードであり、または、
前記バックアップSIDに示されるエンドポイントノードは第2ノードであり、前記第1ノードと前記第2ノードとの間にはBEパスが存在する。
【0014】
一可能な実施形態において、前記SIDリストにおける最後から2番目の要素にカプセル化されているSIDは前記プライマリパスにおける末尾ノードのSIDであり、最後の要素にカプセル化されているSIDは前記バックアップSIDである。
【0015】
一可能な実施形態において、前記第1ノードがソースノードである場合、前記取得モジュールは具体的に、
第5サービスメッセージを受信することと、
前記第5サービスメッセージと一致するルーティングテーブルエントリのネクストホップがSRv6ポリシーであり、かつ前記SRv6ポリシーがプライマリパスとバックアップパスとを含む場合、前記第5サービスメッセージの外層に前記IPv6ヘッダと前記SRHとをカプセル化して、前記第1サービスメッセージを得ることと、に用いられる。
【0016】
第3態様として、本願は電子機器を提供する。前記電子機器は、
プロセッサと、
送受信機と、
前記プロセッサが実行できる機械実行可能命令を記憶する、機械可読記憶媒体と、を含み、
前記機械実行可能命令は前記プロセッサに、
第1サービスメッセージを取得することであって、前記第1サービスメッセージはIPv6ヘッダとSRHとを含み、前記IPv6ヘッダは宛先アドレスを含み、前記SRHはSIDリストを含み、前記SIDリストはバックアップSIDと前記第1サービスメッセージを転送するためのプライマリパスにおけるエンドポイントノードのSIDとを含むことと、
前記バックアップSIDに示されるエンドポイントノードに第2サービスメッセージを転送することであって、前記第2サービスメッセージは前記宛先アドレスを含み、前記宛先アドレスは、前記プライマリパスにおける各エンドポイントノードがいずれも到達不能なエンドポイントノードであり、かつ前記バックアップSIDに示されるエンドポイントノードが到達可能なエンドポイントノードであることが確定された後に、前記バックアップSIDに変更されたものであることと、を実行させる。
【0017】
一可能な実施形態において、前記SRHはSLをさらに含み、前記機械実行可能命令は、さらに、前記プロセッサに、
現在のSLと固定値との差によって第1SLを取得し、前記SIDリストから前記第1SLに対応する第1SIDを取得することと、
前記第1SIDに示されるエンドポイントノードが到達不能である場合、前記第1SLを現在のSLとし、前記SIDリストから到達可能なエンドポイントノードの第1SIDを取得するまで、現在のSLと固定値との差によって第1SLを取得して前記SIDリストから前記第1SLに対応する第1SIDを取得する過程を繰り返すことと、
前記到達可能なエンドポイントノードの第1SIDが前記バックアップSIDである場合、前記宛先アドレスを前記バックアップSIDに変更して、前記第2サービスメッセージを得ることと、
前記到達可能なエンドポイントノードの第1SIDが前記バックアップSIDではない場合、前記宛先アドレスを前記到達可能なエンドポイントノードの第1SIDに変更して、第3サービスメッセージを取得し、前記第1SIDに示されるエンドポイントノードに前記第3サービスメッセージを転送することと、を実行させる。
【0018】
一可能な実施形態において、前記機械実行可能命令は、さらに、前記プロセッサに、
前記宛先アドレスは指定の付加ビヘイビアが配置されているSIDである場合、前記IPv6ヘッダと前記SRHとを削除し、第4サービスメッセージを得ることと、
前記第4サービスメッセージを転送することと、を実行させる。
【0019】
一可能な実施形態において、前記バックアップSIDに示されるエンドポイントノードは前記第1サービスメッセージを転送するためのバックアップパスにおける末尾ノードであり、または、
前記バックアップSIDに示されるエンドポイントノードは第2ノードであり、前記第1ノードと前記第2ノードとの間にはBEパスが存在する。
【0020】
一可能な実施形態において、前記SIDリストにおける最後から2番目の要素にカプセル化されているSIDは前記プライマリパスにおける末尾ノードのSIDであり、最後の要素にカプセル化されているSIDは前記バックアップSIDである。
【0021】
一可能な実施形態において、前記電子機器がソースノードである場合、前記機械実行可能命令は具体的に、前記プロセッサに、
第5サービスメッセージを受信することと、
前記第5サービスメッセージと一致するルーティングテーブルエントリのネクストホップがSRv6ポリシーであり、かつ前記SRv6ポリシーがプライマリパスとバックアップパスとを含む場合、前記第5サービスメッセージの外層に前記IPv6ヘッダと前記SRHとをカプセル化して、前記第1サービスメッセージを得ることと、を実行させる。
【0022】
第4態様として、本願実施例は、機械実行可能命令を記憶し、プロセッサによって呼び出しおよび実行されると、前記機械実行可能命令は前記プロセッサに、上記第1態様に記載の方法を実現させる、機械可読記憶媒体を提供する。
【0023】
第5態様として、本願実施例は、命令を含むコンピュータプログラム製品であって、コンピュータによって実行されると、コンピュータに上記第1態様に記載の方法を実行させる、コンピュータプログラム製品を提供する。
【0024】
上記技術案によれば、第1ノードが第1サービスメッセージを取得した後、プライマリパスにおける各エンドポイントノードがいずれも到達不能なエンドポイントノードであり、かつバックアップSIDに示されるエンドポイントノードが到達可能なエンドポイントノードであることが確定された場合、第2サービスメッセージをバックアップSIDに示されるエンドポイントノードに転送することができる。つまり、プライマリパスにおけるノード、またはノード間のリンクに障害が発生した場合、パケットを廃棄してからバックアップパスによりサービスメッセージを再送する必要がなく、プライマリパスにおける第1ノードからバックアップSIDに示されるエンドポイントノードに第1サービスメッセージを転送することができる。これにより、ノードまたはリンクに発生した障害によるサービス遅延を低減でき、ネットワークの信頼性を向上できる。
【図面の簡単な説明】
【0025】
本出願の実施例および従来技術の技術案がより明確に説明されるために、以下の実施例および従来技術に必要な図面を簡単に説明するが、無論、以下に説明される図面は単に本出願の実施例の一部であり、当業者である場合、創造的な働きをせずに、これらの図面に基づいて他の実施例が得られることができる。
【
図1】
図1はSRv6SIDフォーマットの模式図である。
【
図2】
図2はSRv6メッセージフォーマットの模式図である。
【
図3】
図3はSRv6メッセージの転送過程の例示的模式図である。
【
図4】
図4は本願実施例に提供されるノード保護の方法のフローチャートである。
【
図5】
図5は本願実施例に提供されるSRHフォーマットの模式図である。
【
図6】
図6は本願実施例に提供される他のノード保護の方法のフローチャートである。
【
図7】
図7は本願実施例に提供される適用シナリオの模式図である。
【
図8】
図8は本願実施例に提供される他の適用シナリオの模式図である。
【
図9】
図9は本願実施例に提供されるノード保護装置の構成模式図である。
【
図10】
図10は本願の実施例に提供される電子デバイスの構成模式図である。
【発明を実施するための形態】
【0026】
本発明の目的、技術案、および利点をより明確にするために、以下、図面を参照し、実施例を挙げて、本発明をより詳しく説明する。説明される実施例は単に本発明の一部の実施例に過ぎず、全ての実施例ではないことは明らかである。本発明における実施例に基づいて、当業者が創造的な働きをせずに得られるすべての他の実施例は、いずれも本発明の保護範囲に含まれる。
【0027】
理解の便宜上、本願実施例に係る関連概念について解釈して説明する。
【0028】
1、SRv6の概要。
セグメントルーティング(Segment Routing、SR)はソースノードパス選択メカニズムを採用して、予めソースノードで転送パスが経由するセグメント(Segment)のSID(Segment Identifier、セグメント識別子)をカプセル化し、メッセージがSRノードを経由すると、SRノードは、メッセージのSIDによってメッセージを転送する。ソースノード以外の他のノードは、パス状態をメンテナンスする必要がない。
【0029】
IPv6セグメントルーティング(Segment Routing IPv6,SRv6)とは、IPv6転送プレーンに基づいてSRを実現することを指す。SRv6はIPv6メッセージに1つのルーティング拡張ヘッダ、すなわちセグメントルーティングヘッダ(Segment Routing Header、SRH)を挿入し、SRHに転送パスが経由する全てのセグメントのSID、すなわちSIDリストを付加することで、当該IPv6メッセージの転送パスを明示的に指示する。SRv6はソフトウェア定義型広域ネットワーク(Software Defined Wide Area Network、SD-WAN)に対して柔軟でかつ効率な制御手段を提供し、配置が簡単であり、拡張しやすい特徴を備え、トラフィックのスケジューリングおよびパスの最適化をより良好に実現でき、重要サービスの品質を確保し、トラフィックの分布にバランスを取り、専用線の利用率を向上し、回線のコストを削減することができる。
【0030】
機能に応じて、SRv6ネットワークにおけるノードは以下のいくつかの役割に分けられる。
【0031】
ソースノードは、IPv6メッセージのIPv6ヘッダにSRHを挿入し、またはメッセージの外層にIPv6ヘッダをカプセル化してSRHを挿入するためのものである。ソースノードは、メッセージフローをSRHにおけるセグメントリスト(Segment List)で定義されたSRv6パスに導入することに用いられる。
【0032】
中継ノードは、メッセージのSRv6パスに位置し、SRv6処理に関与しなく、一般のIPv6メッセージ転送のみを実行する。中継ノードは、SRv6をサポートするノードであってもよく、SRv6をサポートしないノードであってもよい。
【0033】
Endpointノードは、受信したSRv6メッセージのIPv6宛先アドレスがEndpointノードに配置されたSRv6 SIDである場合、SRv6 SIDの命令にしたがって処理し、SRHを更新する。後述の実施例において、Endpointノードをエンドポイントノードと称する。
【0034】
末尾ノードは、SRv6転送パスの最後のEndpointノードである。
【0035】
同じノードは異なるSRv6パスにおいて異なる役割であってよく、例えば、あるSRv6パスにおけるソースノードであるノードは、他のSRv6パスにおいては、中継ノードまたはEndpointノードであってよい。
【0036】
SRv6 SIDは、ネットワーク機能を定義し、ネットワーク命令を表すためのものである。SRv6 SIDのフォーマットはIPv6アドレスの形式であり、
図1に示すように、SRv6 SIDはLocator(位置指定子)、Function(機能)、Arguments(パラメータ)およびMBZ(Must be zero、ゼロでなければならない)フィールドという4つの部分から構成される。
【0037】
Locatorは、SIDが属するセグメントを識別するためのものであり、LocatorはSRドメインにおいて唯一である。
【0038】
Function:SIDにバインドされるローカル操作命令を識別するためのものであり、SRドメインにおいて指定のノードがサービスを受けた後、SRv6 SIDのFunctionフィールドに応じて関連操作を実行する。
【0039】
Argumentsは、メッセージのフローおよびサービス等の情報を定義するためのものである。
【0040】
MBZ(Must be zero):Locator、FunctionおよびArgumentsのビット数の合計が128bitsより小さいと、他のビットを0で埋める。
【0041】
2、SRv6メッセージのフォーマット。
SRv6メッセージのカプセル化フォーマットは、オリジナルの3レイヤーのデータメッセージの外層に新しいIPv6ヘッダとSRHとを付加したものである。SRHはルーティングのタイプの値が4であるルーティング拡張ヘッダである。SRv6メッセージのフォーマットは
図2に示すように、SRv6メッセージにIPv6ヘッダ、SRHおよびオリジナルメッセージを含む。
【0042】
IPv6ヘッダには、バージョン番号(Version)、トラフィッククラス(Traffic class)、フローラベル(Flow Label)、ペイロード長さ(Payload Length)、ネクストヘッダ(Next header)、ホップリミット(Hop limit)、ソースアドレス(Source Address,SA)、宛先アドレス(Destination Address、DA)を含み、ソースアドレスおよび宛先アドレスの長さはどちらも128bitsであってよい。ここで、Next headerの値は43であることは、ネクストヘッダがルーティング拡張ヘッダであることを表す。
【0043】
SRHには、以下を含む。
ネクストヘッダ(Next Header)は、長さが8bitsであり、ネクストメッセージヘッダのタイプを識別する。
SRH長さ(Hdr Ext Length)は、長さが8bitsであり、8バイト単位であるSRHヘッダの長さを示し、最初の8バイトのバイトを含まない。
ルーティングタイプ(Routing Type)は、長さが8bitsであり、値が4であり、SRHを持つことを示す。
セグメントインデックス(Segments Left、SL)は、長さが8bitsであり、検索する次のSIDの番号を示し、初期値がn-1であり、nはSRHにカプセル化されたSIDの数を示し、1つのendpointノードを経由するごとに、SLの値を1減算する。
最後のホップ(Last Entry)は、長さが8bitsであり、値がSRHにおいてメッセージの実際な転送パスの最初のSIDの番号である。
フラグビット(Flags)は、長さが8bitsであり、フラグビット情報である。
タグ(Tag)は、長さが16bitsであり、同じ特徴を持っている1群のメッセージをマークする。
セグメントリスト(Segment List)は、SIDリストであり、メッセージの転送パスにおけるノードの遠い順に応じて配列されている。すなわち、Segment List [0]は転送パスの最後のSIDを示し、Segment List [1]は転送パスの最後から2番目のSIDを示し、このように類推される。SIDがIPv6アドレスのフォーマットであるため、各SIDはいずれも1つの128 bitsのIPv6アドレス(128 bits IPv6 address)である。
Optional Type Length Value objects(variable)は、任意の種類長さ値オブジェクト変数である。
【0044】
3、SRv6メッセージの転送過程。
図3に示すように、
図3における機器Aはソースノードであり、機器Cおよび機器EはEndpointノードであり、機器Bおよび機器Dは中継ノードである。
【0045】
ステップ1、機器AはソースノードとしてIPv6メッセージを受信した後、IPv6メッセージに対してSRHおよびIPv6ヘッダをカプセル化してから、カプセル化されたIPv6ヘッダにおける宛先アドレスに応じてルーティングテーブルを検索することで、カプセル化されたメッセージを機器Bに転送する。
【0046】
機器Aから機器Dまでのパスは機器Cおよび機器Eという2つのEndpointノードを経由する必要があるため、SRHにおけるSL=1であり、SRHにカプセル化されているSIDリストには、Segment List [0]=E、Segment List [1]=Cを含む。
【0047】
IPv6ヘッダにおいて、ソースアドレスは機器Aのアドレスであり、宛先アドレスはSLに示されるアドレスである、すなわちSL=1示すSegment List [1]のアドレスは機器Cのアドレスである。
【0048】
ステップ2、機器Bはメッセージを受信した後、IPv6ヘッダにおける宛先アドレスに応じてルーティングテーブルを検索し、メッセージを機器Cに転送する。
【0049】
ステップ3、機器CはSRHにおけるSLをチェックし、SL>0である場合、SLの値を1減算し、IPv6ヘッダにおける宛先アドレスをSLに示されるアドレスに更新し、つまり、SL=0に対応するSegment List [0]、すなわち機器Eのアドレスに更新する。そして、機器Cメッセージを機器Dに転送する。
【0050】
ステップ4、機器Dはメッセージを受信した後、IPv6ヘッダにおける宛先アドレスに応じてルーティングテーブルを検索し、メッセージを機器Eに転送する。
【0051】
ステップ5、末尾ノードである機器Eはメッセージを受信し、SRHヘッダにおけるSL値をチェックした結果、SL=0が発見された場合、メッセージに対してデカプセル化を行い、IPv6ヘッダおよびSRHのカプセル化を削除し、オリジナルメッセージにおける宛先アドレスに応じてメッセージ転送を行う。
【0052】
リンクまたはノードに障害が発生した際に、サービスの遅延を低減するために、本願実施例は、第1ノードに適用されるノード保護方法を提供する。第1ノードはSRv6 TEパスにおけるエンドポイントノードであってよく、
図4に示すように、当該ノード保護方法は、以下のステップを含む。
【0053】
S401、第1サービスメッセージを取得し、第1サービスメッセージはIPv6ヘッダとSRHとを含み、IPv6ヘッダは宛先アドレスを含み、SRHはSIDリストを含み、SIDリストはバックアップSIDと第1サービスメッセージを転送するためのプライマリパスにおけるエンドポイントノードのSIDとを含む。
【0054】
S402、バックアップSIDに示されるエンドポイントノードに第2サービスメッセージを転送し、第2サービスメッセージは宛先アドレスを含み、宛先アドレスはバックアップSIDである。
【0055】
宛先アドレスは、プライマリパスにおける各エンドポイントノードがいずれも到達不能なエンドポイントノードであり、かつバックアップSIDに示されるエンドポイントノードが到達可能なエンドポイントノードであることが確定された後に、前記バックアップSIDに変更されたものである。
【0056】
第1ノードは、第1サービスメッセージを受信した後、SIDリストにおける各エンドポイントノードが到達可能であるか否かを順に判断してよく、プライマリパスにおける各エンドポイントノードにいずれも到達不能であり、かつバックアップSIDに示されるエンドポイントノードが到達可能であることが確定された場合、第1ノードのIPv6ヘッダにおける宛先アドレスをバックアップSIDに変更することで、第2サービスメッセージを取得し、第2サービスメッセージを転送することができる。
【0057】
当該ノード保護方法によれば、第1ノードは、第1サービスメッセージを取得した後、プライマリパスにおける各エンドポイントノードがいずれも到達不能なエンドポイントノードであり、かつバックアップSIDに示されるエンドポイントノードが到達可能なエンドポイントノードであることが確定された場合、第2サービスメッセージをバックアップSIDに示されるエンドポイントノードに転送することができる。つまり、プライマリパスにおけるノード、またはノード間のリンクに障害が発生した場合、パケットを廃棄してからバックアップパスによりサービスメッセージを再送する必要がなく、プライマリパスにおける第1ノードからバックアップSIDに示されるエンドポイントノードに第1サービスメッセージを転送することができる。これにより、ノードまたはリンクに発生した障害によるサービス遅延を低減し、ネットワークの信頼性を向上できる。
【0058】
本願実施例において、SIDリストにおける最後から2番目の要素にカプセル化されているSIDはプライマリパスにおける末尾ノードのSIDであり、最後の要素にカプセル化されているSIDはバックアップSIDである。
【0059】
図5に示すように、本願実施例のSRHにおいて、SIDリストにおける最後から2番目の要素、すなわちSegment List[1]には、プライマリパスにおける末尾ノードのSIDがカプセル化されている。最後の要素、すなわちSegment List[0]には、バックアップSIDがカプセル化されている。SLの初期値はnであり、かつLast Entry=nである。
図5に含まれる他のフィールドに関する説明は、上記実施例に
図2におけるSRHに関する説明に参照すればよい。
【0060】
関連技術において、SRHはプライマリパスにおけるエンドポイントノードのSIDを含み、本願実施例はこれに基づいてバックアップSIDを付加したものである。これから分かるように、本願実施例はデータ転送プレーンの変更のみに関し、制御プレーンのルーティングプロトコルが拡張されていないため、その実現は簡単であり、従来のSRv6ネットワークに対する影響が小さい。
【0061】
本願のいくつかの実施例において、SRHはSLをさらに含み、
図6に示すように、当該ノード保護方法は、以下のステップを含む。
【0062】
S601、第1サービスメッセージを取得し、第1サービスメッセージはIPv6ヘッダとSRHとを含み、IPv6ヘッダは宛先アドレスを含み、SRHはSIDリストを含み、SIDリストはバックアップSIDと第1サービスメッセージを転送するためのプライマリパスにおけるエンドポイントノードのSIDとを含む。
【0063】
S601はS401とは同じである。
【0064】
S602、現在のSLと固定値との差によって第1SLを取得し、SIDリストから第1SLに対応する第1SIDを取得する。
【0065】
例えば、第1SL=3である場合、第1SLに対応する第1SIDはSRHにおけるSegment List[3]にカプセル化されているSID3である。
【0066】
S603、第1SIDに示されるエンドポイントノードが到達不能である場合、第1SLを現在のSLとし、SIDリストから到達可能なエンドポイントノードの第1SIDを取得するまで、S602を繰り返す。
【0067】
例えば、SID3に示されるエンドポイントノードが到達不能である場合、SL=3を現在のSLとし、SIDリストからSL=2に対応するSegment List[2]にカプセル化されているSID2を取得し、
SID2に示されるエンドポイントノードに未だ到達不能である場合、SIDリストからSL=1に対応するSegment List[1]にカプセル化されているSID1を取得し、
SID1に示されるエンドポイントノードに未だ到達不能である場合、SIDリストからSL=0に対応するSegment List[0]にカプセル化されているSID0を取得する。
【0068】
上記過程によれば、到達可能なエンドポイントノードの第1SIDを取得すると停止すればよい。
【0069】
到達可能なエンドポイントノードの第1SIDを取得する際に、第1ノードは第1サービスメッセージの宛先アドレスを第1SIDに変更して、第1SIDに示されるエンドポイントノードに転送してよい。第1SIDはバックアップSIDであってもよく、プライマリパスにおけるエンドポイントノードのSIDであってもよい。第1SIDがバックアップSIDである場合、S604を実行し、第1SIDがバックアップSIDではない場合、S606を実行する。
【0070】
S604、到達可能なエンドポイントノードの第1SIDがバックアップSIDである場合、宛先アドレスをバックアップSIDに変更して、第2サービスメッセージを得る。
【0071】
ただし、SRv6の関連プロトコルの規制に準拠して、さらに、SRHにおけるSLを当該バックアップSIDへ指す値、すなわち第2サービスメッセージのSRHにおけるSL=0に更新する必要がある。
【0072】
S603の例を参照しながら、最後にSegment List[0]にカプセル化されているSIDに対応するエンドポイントノードが到達可能であることを確定した場合、第1SIDをバックアップSIDとして確定することができる。これにより、第1サービスメッセージのIPv6ヘッダにおける宛先アドレスをバックアップSIDに変更し、SLの値を0に更新して、第2サービスメッセージを取得することができる。
【0073】
S605、バックアップSIDに示されるエンドポイントノードに第2サービスメッセージを転送し、第2サービスメッセージは宛先アドレスを含み、宛先アドレスはバックアップSIDである。
【0074】
S605は上記S402とは同じである。
【0075】
S606、到達可能なエンドポイントノードの第1SIDがバックアップSIDではない場合、宛先アドレスを到達可能なエンドポイントノードの第1SIDに変更して、第3サービスメッセージを取得し、第1SIDに示されるエンドポイントノードに第3サービスメッセージを転送する。
【0076】
ただし、SRv6の関連プロトコルの規制に準拠して、さらに、SRHにおけるSLを当該第1SIDへ指す値に更新する必要がある。すなわち、第3サービスメッセージのSRHにおけるSLは、当該第1SIDがカプセル化されているSegment Listへ指す。
【0077】
例えば、S603の例を参照しながら、到達可能なエンドポイントノードの第1SIDがSID1である場合、第1サービスメッセージのIPv6ヘッダにおける宛先アドレスをSID1に変更し、SLの値を1に更新して、第3サービスメッセージを取得し、当該第3サービスメッセージを転送してよい。
【0078】
当該ノード保護方法によれば、第1ノードがネクストホップエンドポイントノードに到達不能であることが確定された場合、到達可能なエンドポイントノードの第1SIDを取得するまで、SIDリストに基づいて後続のエンドポイントノードが到達可能であるか否かをホップバイホップで判断することができる。さらに、到達可能なエンドポイントノードの第1SIDに基づいて第1サービスメッセージを変更し、かつ、当該到達可能なエンドポイントノードに変更されたサービスメッセージを転送することができる。到達可能なエンドポイントノードがバックアップSIDではない場合、すなわちプライマリパスにおける一部のエンドポイントノード、または一部のリンクに障害が発生した場合、第1ノードは障害が発生したエンドポイントノードまたはリンクをスキップして、到達可能なエンドポイントノードにサービスメッセージを転送し、サービスメッセージを速やかに転送することができる。到達可能なエンドポイントノードがバックアップSIDである場合、第1ノードは変更されたサービスメッセージをバックアップSIDに示されるエンドポイントノードに転送でき、プライマリパスに障害が発生した場合、速やかなパスの切り替えを実現でき、サービスメッセージを速やかに転送し、長時間のサービス遅延を防止し、SRv6ネットワークの信頼性を向上できた。
【0079】
本願のいくつかの実施例において、第1ノードはプライマリパスにおける末尾ノードであってよく、プライマリパスにおける末尾ノードのSIDに指定の付加ビヘイビア(Flavor)が配置されている。
【0080】
一例として、当該指定の付加ビヘイビアは最後から2番目のホップのデカプセル化(Penultimate Segment Decapsulation,PSD) Flavorと称されてよく、指定の付加ビヘイビアは最後から2番目のホップのエンドポイントノードのデカプセル化ビヘイビアを定義するためのものである。当該デカプセル化ビヘイビアとは、サービスメッセージの外層のカプセル化を解除し、内層のオリジナルメッセージを転送する。
【0081】
第1ノードは、第1サービスメッセージを取得した後、宛先アドレスがローカルに指定の付加ビヘイビアが配置されているSIDであることを確定した場合、IPv6ヘッダとSRHとを削除し、第4サービスメッセージを取得し、第4サービスメッセージを転送する。
【0082】
第1サービスメッセージのIPv6ヘッダとSRHとを削除した後、内層にカプセル化されているオリジナルサービスメッセージ、すなわち第4サービスメッセージを取得できると理解される。そして、第1ノードはルーティングテーブルに基づいて第4サービスメッセージを転送することができる。
【0083】
この場合、第1ノードに受信された第1サービスメッセージのSL=1であり、宛先アドレスはSRHにおけるSegment List[1]にカプセル化されているSIDとは同じである。第1ノードが当該第1サービスメッセージを受信したことは、プライマリパスに障害が発生していないことを示し、第1ノードは末尾ノードとして第1サービスメッセージをデカプセル化してから伝送し続いてよく、SIDリストに応じてSIDリストにおけるSegment List[0]に示されるバックアップノードに転送する必要がないため、第1サービスメッセージにカプセル化されているオリジナルサービスメッセージを速やかにオリジナルサービスメッセージの宛先アドレスに転送することができる。
【0084】
本願実施例において、第1ノードがプライマリパスにおける中間エンドポイントノードまたは末尾ノードである場合、第1ノードが第1サービスメッセージを取得する方法は以下のとおりである。第3ノードから送信された第1サービスメッセージを受信し、第3ノードはプライマリパスにおける第1ノードの前ホップノードである。
【0085】
第1ノードがソースノードである場合に、第1ノードが第1メッセージを取得する方法は以下のとおりである。第5サービスメッセージを受信し、第5サービスメッセージと一致するルーティングテーブルエントリのネクストホップがSRv6ポリシーであり、かつSRv6ポリシーがプライマリパスとバックアップパスとを含む場合、第5サービスメッセージの外層にIPv6ヘッダとSRHとをカプセル化して、第1サービスメッセージを得る。
【0086】
ただし、ソースノードはSRv6ネットワークにおける各ノードのルーティング情報を学習し、さらにルーティング最適化ポリシーにより最適パスおよび準最適パスを確定することができる。最適パスをプライマリパスとして、準最適パスをバックアップパスとして、準最適パスの末尾ノードをバックアップノードとすることができる。
【0087】
ソースノードは第5サービスメッセージの外層にIPv6ヘッダとSRHとをカプセル化してよい。この場合、IPv6ヘッダのソースアドレスはソースノードのアドレスであり、宛先アドレスはプライマリパスのSIDリストにおけるソースノードのネクストホップであるエンドポイントノードのアドレスである。仮に、プライマリパスに対応するSIDリストはn個のSIDを含み、SRHにおけるSLの値がnであり、SRHにおけるSegment List[n]からSegment List[1]は当該SIDリストにおけるn個のSIDであり、SRHにおけるSegment List[0]はバックアップパスの末尾ノードのSIDである。この場合、第1サービスメッセージにおけるSRHのフォーマットは
図5に参照してよい。
【0088】
上記実施例において、バックアップSIDに示されるエンドポイントノードは第1サービスメッセージを転送するためのバックアップパスにおける末尾ノードである。
【0089】
以下、具体的なシナリオによって、本願実施例に提供されるノード保護方法について説明する。
【0090】
図7に示すように、
図7におけるユーザエッジ機器(Customer Edge、CE)1からCE2までの間に2つのSRv6 TE転送パスが存在し、PE1-->P1-->P2-->PE3はプライマリパスであり、PE1がソースノードであり、P1、P2が中間ノードであり、PE3が末尾ノードである。
【0091】
PE2-->P3-->P4-->PE4はバックアップパスであり、PE2がソースノードであり、P3、P4が中間ノードであり、PE4が末尾ノードである。
【0092】
仮に、PE1のLocatorがA0::1であり、P1のLocatorがA1::1であり、P2のEnd.X SIDがA2::1であり、PE3はLocator A3::1およびVPN SID A3::100を有し、かつ、当該VPN SID A3::100はPSD付加ビヘイビアを有する。PE4はLocatorプレフィクスA4::1/64およびVPN SID A4::200を有する。
【0093】
なお、
図7はシナリオの一例であり、
図7に示すプライマリパスおよびバックアップパスにおいて、ノードはいずれもエンドポイントノードである。実際の実現において、プライマリパスおよびバックアップパスにおいては、さらに、中継ノードが存在することもできる。
【0094】
図7における各エンドポイントノードはいずれも、自身のSIDを他のエンドポイントノードに通知するように、フラッディングの方式によりルーティングを配布することができる。ソースノードPE1はCE2のデュアルホーミングルーティングを学習し、ルーティング最適化ポリシーによって、CE2へのプライマリパスとバックアップパスとを確定し、プライマリパスにおける末尾ノードをプライマリ末尾ノードとして、バックアップパスにおける末尾ノードをバックアップ末尾ノードとすることができる。通常の場合、CE1からCE2へのトラフィックはプライマリパスPE1-->P1-->P2-->PE3に沿って転送され、プライマリ末尾ノードがPE3であり、バックアップ末尾ノードがPE4であり、かつPE3のバックアップSIDがPE4のVPN SID A4::200である。
【0095】
PE1がCE1からCE2までのメッセージを受信した場合、当該メッセージの転送過程は以下のとおりである。
ステップ1、PE1は、CE1からCE2までのメッセージがPE1-->P1-->P2-->PE3というパスを経由して当該メッセージを転送する必要があることを確定し、PE1は当該メッセージにIPv6ヘッダとSRHとを付加することができる。
【0096】
ここで、IPv6ヘッダの宛先アドレスがP1のSIDであり、すなわちA1::1である。SRHにおけるsegment listが<A1::1,A2::1,A3::100,A4::200>であり、すなわちSegment List[3]がP1のA1::1であり、Segment List[2]がP2のA2::1 であり、Segment List[1]がPE3のA4::100であり、Segment List[0]がPE4のA4::200であり、SL=3である。
【0097】
ステップ2、PE1はA1::1にしたがってメッセージをP1に転送する。
【0098】
ステップ3、P1は次のSegment List A2::1にしたがってメッセージをP2に転送する。
【0099】
ステップ4、P2は宛先アドレスがEND.X SID A2::1であるメッセージを受信した後に、P2はEND.X SID A2::1にしたがってP2とPE3との間のリンクにおいてメッセージを転送することができる。この場合、メッセージの宛先アドレスがPE3のVPN SID A3::100である。
【0100】
ステップ5、PE3は宛先アドレスがVPN SID A3::100であるメッセージを受信した後に、当該VPN SID A3::100がPSD付加ビヘイビアを有することを確定し、かつSLによりローカルが最後から2番目のホップのノードであることを判断した場合、最後から2番目のホップのデカプセル化およびルックアップ転送処理を実行し、IPv6ヘッダとSRHとを削除し、内層のオリジナルサービスメッセージをCE2に転送する。
【0101】
上記ステップ1~ステップ5は、プライマリパスに障害が発生していない場合のメッセージ転送流程である。
【0102】
PE3に障害が発生した場合、ステップ4およびステップ5は以下のように置き換えてよい。
【0103】
P2は宛先アドレスがEND.X SID A2::1であるメッセージを受信した場合、まずメッセージにおけるSLを1減算して、SLが1に変更される。そして、P2はSL=1に応じてSegment Listから次のSegment List[1]、すなわちPE3のSIDを取得する。Segment List[1]のSIDにしたがって転送情報データベース(Forward Information dataBase、FIB)転送テーブルを検索した結果、PE3へのルーティングに到達不能であると見出したので、以下の処理を順に行う。
【0104】
SLを1減算し、すなわち現在のSLが0に変更され、
メッセージのIPv6ヘッダにおける宛先アドレスを現在のSLに指されるSegment List[0]、すなわちPE4のA4::200に変更し、
新しい宛先アドレスを用いてFIB転送テーブルを検索し、発信インタフェイスとネクストホップ情報とを取得し、
発信インタフェイスおよびネクストホップ情報にしたがって、メッセージをPE4に転送する。
【0105】
さらに、PE4はメッセージを受信した後、SL=0であり、かつ宛先アドレスが自身のVPN SIDであることを確定した場合、メッセージのIPv6ヘッダとSRHとを削除し、内層のオリジナルサービスメッセージをCE2に転送することができる。
【0106】
なお、中間ノードに障害が発生した場合、仮に、P2に障害が発生した場合、ステップ3からステップ5は以下のように置き換えてよい。
【0107】
P1は宛先アドレスがA1::1であるメッセージを受信した場合、まずメッセージにおけるSLを1減算して、SLが2に変更された。そして、P1はSL=2に応じてSegment Listから次のSegment List[2]、すなわちP2のSIDを取得する。Segment List[2]のSIDにしたがってFIB転送テーブルを検索した結果、P2へのルーティングに到達不能であると見出した場合、以下の処理を順に行う。
【0108】
SLを1減算する、すなわち、現在のSLが1に変更され、
現在のSL=1に指されるSegment List[1](すなわちPE3のSID)を用いてFIB転送テーブルを検索する。
【0109】
PE3のルーティングに到達不能であることを確定した場合、再度SLを1減算し、すなわち、現在のSLが0に変更された。
【0110】
現在のSL=0に指されるSegment List[0](すなわちPE4のSID)を用いてFIB転送テーブルを検索し、PE4のルーティングが到達可能であることを確定した場合、メッセージのIPv6ヘッダにおける宛先アドレスをPE4のSID、すなわちA4::200に変更し、
そして、新しい宛先アドレスを用いてFIB転送テーブルを検索し、発信インタフェイスおよびネクストホップ情報を取得し、
発信インタフェイスおよびネクストホップ情報にしたがって、メッセージをPE4に転送する。
【0111】
さらに、PE4はメッセージを受信した後、SL=0であり、かつ宛先アドレスが自身のVPN SIDであることを確定した場合、メッセージのIPv6ヘッダとSRHとを削除し、内層のオリジナルサービスメッセージをCE2に転送することで、オリジナルサービスメッセージをCE2が存在するVPNプライベートネットワークに入れる。
【0112】
これから分かるように、末尾ノードまたは中間ノードに障害が発生したか否かに関わらず、メッセージを到達可能なエンドポイントノードに転送するように、速やかなパスの切り替えを実現でき、SRv6のネットワーク性能を向上できる。
【0113】
本願実施例の他のシナリオにおいて、SRv6の重要転送パスに障害が発生した後に、エスケープ機能も実現できる。
【0114】
ソースノードは、上記第5サービスメッセージを受信した後、第5サービスメッセージの宛先アドレスと一致するルーティングテーブルエントリのネクストホップがSRv6ポリシーであることを確定した場合、当該SRv6ポリシーに含まれるプライマリパスの末尾ノードがバックアップノードを有するか否かを判断する必要がある。当該シナリオにおいて、バックアップノードはエスケープ機器であってよい。
【0115】
それに応じて、上記実施例におけるSIDリストに含まれるバックアップSIDに示されるエンドポイントノードが第2ノードであり、第1ノードと第2ノードとの間にはベストエフォート(Best-effort、BE)パスが存在する。ここで、第2ノードはエスケープ機器と称されてよく、すなわちプライマリパスにおけるノードに障害が発生した場合、エスケープ機器によりメッセージ転送を実現することができる。
【0116】
図8に示すように、
図8は当該シナリオの一例であり、CE1とCE2との間にはIPv6ベアラネットワークにおける転送パスPE1-->P1-->P2-->PE2が存在し、PE1がソースノードであり、P1、P2が中間ノードであり、PE2が末尾ノードである。PE2のSIDはPSD Flavorを有する。
【0117】
IPv6ベアラネットワークに共通のエスケープ機器PE3を配備しており、PE1、P1、P2とPE3との間にはいずれもBEパスが存在し、BEパスはバックアップパスとすることができる。
【0118】
PE1がCE1からCE2までのメッセージを受信した場合、当該メッセージにIPv6ヘッダとSRHとを付加することができる。
【0119】
IPv6ヘッダの宛先アドレスがP1のSIDであり、SRHにおけるSegment List[3]がP1のSIDであり、Segment List[2]がP2のSIDであり、Segment List[1]がPE2のSIDであり、Segment List[0]がPE3のSIDである。
【0120】
通常の場合、当該メッセージはPE1-->P1-->P2-->PE2を経由して転送され、PE2は当該メッセージを受信した後、メッセージの宛先アドレスが自身のSIDであり、かつ当該SIDがPSD Flavorが配置されていることを確定した場合、当該メッセージのIPv6ヘッダとSRHとを削除し、内層のオリジナルサービスメッセージをCE2に送信する。
【0121】
PE1とPE2との間に障害が発生した場合、例えばP2に障害が発生した場合、P1はメッセージを受信した後、P2とPE2両方が到達不能であることを確定した場合、メッセージの宛先アドレスをPE3のSIDに変更し、SLを0に更新し、BEパスに基づいて、変更されたメッセージをPE3に転送することができる。
【0122】
PE3はメッセージを受信した後、宛先アドレスが自身のSIDであり、かつSL=0であることを確定した場合、メッセージのIPv6ヘッダとSRHとを削除し、内層のオリジナルサービスメッセージをCE2に転送することができる。
【0123】
上記方法によれば、メッセージは、バックアップのSRv6 TE転送パスが存在しない場合でも、BE転送方式に基づいてメッセージをエスケープ機器に転送し、エスケープ機器によってメッセージをCEに転送することができる。これにより、ノードまたはリンクに障害が発生した場合のサービス遅延をされに低減し、SRv6ネットワークの信頼性を向上した。
【0124】
上記方法の実施例に対応して、本願の実施例は、第1ノードに適用されるノード保護装置を提供する。
図9に示すように、当該ノード保護装置は、
第1サービスメッセージを取得することに用いられ、第1サービスメッセージはIPv6ヘッダとSRHとを含み、IPv6ヘッダは宛先アドレスを含み、SRHはSIDリストを含み、SIDリストはバックアップSIDと第1サービスメッセージを転送するためのプライマリパスにおけるエンドポイントノードのSIDとを含む、取得モジュール901と、
バックアップSIDに示されるエンドポイントノードに第2サービスメッセージを転送することに用いられ、第2サービスメッセージは宛先アドレスを含み、宛先アドレスは、プライマリパスにおける各エンドポイントノードがいずれも到達不能なエンドポイントノードであり、かつバックアップSIDに示されるエンドポイントノードが到達可能なエンドポイントノードであることが確定された後に、前記バックアップSIDに変更されたものである、送信モジュール902と、を含む。
【0125】
一実現形態において、SRHはSLをさらに含み、当該ノード保護装置は変更モジュールをさらに含み、
取得モジュール901は、さらに、現在のSLと固定値との差によって第1SLを取得し、SIDリストから第1SLに対応する第1SIDを取得し、第1SIDに示されるエンドポイントノードが到達不能である場合、第1SLを現在のSLとし、SIDリストから到達可能なエンドポイントノードの第1SIDを取得するまで、現在のSLと固定値との差によって第1SLを取得してSIDリストから第1SLに対応する第1SIDを取得する過程を繰り返すことに用いられ、
変更モジュールは、到達可能なエンドポイントノードの第1SIDがバックアップSIDである場合、宛先アドレスをバックアップSIDに変更して、第2サービスメッセージを得ることに用いられ、
変更モジュールは、さらに、到達可能なエンドポイントノードの第1SIDがバックアップSIDではない場合、宛先アドレスを到達可能なエンドポイントノードの第1SIDに変更して、第3サービスメッセージを得ることに用いられ、
送信モジュール902は、さらに、第1SIDに示されるエンドポイントノードに第3サービスメッセージを転送することに用いられる。
【0126】
一実現形態において、当該ノード保護装置は、さらに、
宛先アドレスは指定の付加ビヘイビアが配置されているSIDである場合、IPv6ヘッダとSRHとを削除し、第4サービスメッセージを得る、削除モジュールを含み、
送信モジュール902は、さらに、第4サービスメッセージを転送することに用いられる。
【0127】
一実現形態において、バックアップSIDに示されるエンドポイントノードは第1サービスメッセージを転送するためのバックアップパスにおける末尾ノードであり、または、
バックアップSIDに示されるエンドポイントノードは第2ノードであり、第1ノードと第2ノードとの間にはBEパスが存在する。
【0128】
一実現形態において、SIDリストにおける最後から2番目の要素にカプセル化されているSIDはプライマリパスにおける末尾ノードのSIDであり、最後の要素にカプセル化されているSIDはバックアップSIDである。
【0129】
一実現形態において、第1ノードがソースノードである場合、取得モジュール901は具体的に、
第5サービスメッセージを受信することと、
第5サービスメッセージと一致するルーティングテーブルエントリのネクストホップがSRv6ポリシーであり、かつSRv6ポリシーがプライマリパスとバックアップパスとを含む場合、第5サービスメッセージの外層にIPv6ヘッダとSRHとをカプセル化して、第1サービスメッセージを得ることと、に用いられる。
【0130】
上記方法実施例に対応して、本願実施例は電子機器をさらに提供する。当該電子機器は第1ノードであってよい。
図10に示すように、当該電子機器は、プロセッサ1001と、機械可読記憶媒体1002と、送受信機1004とを含む。機械可読記憶媒体1002はプロセッサ1001が実行できる機械実行可能命令を記憶し、
機械実行可能命令はプロセッサ1001に、
第1サービスメッセージを取得することであって、第1サービスメッセージはIPv6ヘッダとSRHとを含み、IPv6ヘッダは宛先アドレスを含み、SRHはSIDリストを含み、SIDリストはバックアップSIDと第1サービスメッセージを転送するためのプライマリパスにおけるエンドポイントノードのSIDとを含むことと、
バックアップSIDに示されるエンドポイントノードに第2サービスメッセージを転送することであって、第2サービスメッセージは宛先アドレスを含み、宛先アドレスは、プライマリパスにおける各エンドポイントノードがいずれも到達不能なエンドポイントノードであり、かつバックアップSIDに示されるエンドポイントノードが到達可能なエンドポイントノードであることが確定された後に、前記バックアップSIDに変更されたものであることと、を実行させる。
【0131】
一実現形態において、SRHはSLをさらに含み、機械実行可能命令は、プロセッサに、
現在のSLと固定値との差によって第1SLを取得し、SIDリストから第1SLに対応する第1SIDを取得することと、
第1SIDに示されるエンドポイントノードが到達不能である場合、第1SLを現在のSLとし、SIDリストから到達可能なエンドポイントノードの第1SIDを取得するまで、現在のSLと固定値との差によって第1SLを取得してSIDリストから第1SLに対応する第1SIDを取得する過程を繰り返すことと、
到達可能なエンドポイントノードの第1SIDがバックアップSIDである場合、宛先アドレスをバックアップSIDに変更して、第2サービスメッセージを得ることと、
到達可能なエンドポイントノードの第1SIDがバックアップSIDではない場合、宛先アドレスを到達可能なエンドポイントノードの第1SIDに変更して、第3サービスメッセージを取得し、第1SIDに示されるエンドポイントノードに第3サービスメッセージを転送することと、を実行させる。
【0132】
一実現形態において、機械実行可能命令は、プロセッサ1001に、
宛先アドレスは指定の付加ビヘイビアが配置されているSIDである場合、IPv6ヘッダとSRHとを削除し、第4サービスメッセージを得ることと、
第4サービスメッセージを転送することと、を実行させる。
【0133】
一実現形態において、バックアップSIDに示されるエンドポイントノードは第1サービスメッセージを転送するためのバックアップパスにおける末尾ノードであり、または、
バックアップSIDに示されるエンドポイントノードは第2ノードであり、第1ノードと第2ノードとの間にはBEパスが存在する。
【0134】
一実現形態において、SIDリストにおける最後から2番目の要素にカプセル化されているSIDはプライマリパスにおける末尾ノードのSIDであり、最後の要素にカプセル化されているSIDはバックアップSIDである。
【0135】
一実現形態において、電子機器がソースノードである場合、機械実行可能命令は具体的に、プロセッサ1001に、
第5サービスメッセージを受信することと、
第5サービスメッセージと一致するルーティングテーブルエントリのネクストホップがSRv6ポリシーであり、かつSRv6ポリシーがプライマリパスとバックアップパスとを含む場合、第5サービスメッセージの外層にIPv6ヘッダとSRHとをカプセル化して、第1サービスメッセージを得ることと、を実行させる。
【0136】
図10に示すように、当該電子機器は、通信バス1003をさらに含んでよい。プロセッサ1001と、機械可読記憶媒体1002と送受信機1004との間は通信バス1003を経由して互いに通信し、通信バス1003は外設部件コンポーネント接続標準(英語:Peripheral Component Interconnect、PCI)バスまたは拡張業界標準アーキテクチャ(Extended Industry Standard Architecture、EISA)バス等であってもよい。当該通信バス1003は、アドレスバス、データバス、コントロールバス等に分けられてよい。
【0137】
送受信機1004は無線通信モジュールであってよく、送受信機1004はプロセッサ1001のコントロールによって他の機器とのデータインタラクションを行う。
【0138】
機械可読記憶媒体1002はランダムアクセスメモリ(Random Access Memory、RAM)を含んでもよく、非揮発性メモリ(Non-Volatile Memory、NVM)を含んでもよく、例えば、少なくとも1つの磁気ディスクメモリである。なお、機械可読記憶媒体1002さらに、少なくとも1つの前述プロセッサから離れた記憶装置であってもよい。
【0139】
プロセッサ1001は、セントラルプロセッサ(Central Processing Unit、CPU)、ネットワークプロセッサ(Network Processor、NP)等を含む汎用なプロセッサであってもよく、デジタルシグナルプロセッサ(Digital Signal Processing、DSP)、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、現場で書き換え可能な論理回路の多数配列(Field-Programmable Gate Array、FPGA)または他の書き換え可能な論理デバイス、ディスクリートゲートまたはトランジスタ倫理デバイス、ディスクリートハードウェアアセンブリであってもよい。
【0140】
同じ発明思想に基づいて、本願実施例は、プロセッサが実行できる機械実行可能命令を記憶する、機械可読記憶媒体を提供する。機械実行可能命令はプロセッサに、上記何れかのノード保護方法におけるステップを実現させる。
【0141】
本願に提供される別の実施例において、命令を含むコンピュータプログラム製品であって、コンピュータで実行されると、コンピュータに上記実施例における何れかのノード保護方法におけるステップを実現させる、コンピュータプログラム製品をさらに提供する。
【0142】
なお、本文において、「第1」と「第2」等の関係用語は1つのエンティティまたは運用を他のエンティティまたは運用を区別するのみに用いられ、これらのエンティティまたは運用の間にこのような実際な関係または順序がいずれかあることを、要求または示唆するものではない。また、用語「含まれる」、「含む」または他のいずれかの変形は非排他的な「含む」を意味する。したがって、一連の要素を含む過程、方法、製品またはデバイスは、それらの要素のみを含むものではなく、明確に挙げていない他の要素をさらに含み、または、このような過程、方法、製品またはデバイスに固有する要素をさらに含む。これ以上の制限が存在しない場合、「1つの…を含む」という記述によって限定した要素は、記載した要素を含む過程、方法、製品、またはデバイスに、他の同じの要素が存在することを排除しない。
【0143】
本明細書中の各実施例については、関連するように説明されており、各実施例の間に同じまたは類似する部分については相互参照すればよく、各実施例において重点的に説明したのは、他の実施例と異なる箇所である。特に、セグメント識別確定装置、機器、および機械可読記憶媒体の実施例については、基本的にセグメント識別確定方法の実施例とは類似しているため、簡単に説明した。関連するところはセグメント識別確定方法の部分の説明を参照すればよい。
【0144】
以上の記載は本出願の好ましい実施例に過ぎず、本出願を限定することを意図するものではない。本出願の主旨および原則内で行われる如何なる変更、等価置換、改良等は何れも本出願の保護範囲内に含まれるべきである。
【国際調査報告】