IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 華為技術有限公司の特許一覧

特表2023-550488ネットワークデバイスの処理能力をアドバタイズするための方法、デバイス、およびシステム
<>
  • 特表-ネットワークデバイスの処理能力をアドバタイズするための方法、デバイス、およびシステム 図1a
  • 特表-ネットワークデバイスの処理能力をアドバタイズするための方法、デバイス、およびシステム 図1b
  • 特表-ネットワークデバイスの処理能力をアドバタイズするための方法、デバイス、およびシステム 図2
  • 特表-ネットワークデバイスの処理能力をアドバタイズするための方法、デバイス、およびシステム 図3a
  • 特表-ネットワークデバイスの処理能力をアドバタイズするための方法、デバイス、およびシステム 図3b
  • 特表-ネットワークデバイスの処理能力をアドバタイズするための方法、デバイス、およびシステム 図4
  • 特表-ネットワークデバイスの処理能力をアドバタイズするための方法、デバイス、およびシステム 図5
  • 特表-ネットワークデバイスの処理能力をアドバタイズするための方法、デバイス、およびシステム 図6
  • 特表-ネットワークデバイスの処理能力をアドバタイズするための方法、デバイス、およびシステム 図7
  • 特表-ネットワークデバイスの処理能力をアドバタイズするための方法、デバイス、およびシステム 図8
  • 特表-ネットワークデバイスの処理能力をアドバタイズするための方法、デバイス、およびシステム 図9
  • 特表-ネットワークデバイスの処理能力をアドバタイズするための方法、デバイス、およびシステム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-12-01
(54)【発明の名称】ネットワークデバイスの処理能力をアドバタイズするための方法、デバイス、およびシステム
(51)【国際特許分類】
   H04L 45/247 20220101AFI20231124BHJP
【FI】
H04L45/247
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023530852
(86)(22)【出願日】2021-11-23
(85)【翻訳文提出日】2023-07-20
(86)【国際出願番号】 CN2021132270
(87)【国際公開番号】W WO2022105927
(87)【国際公開日】2022-05-27
(31)【優先権主張番号】202011323142.3
(32)【優先日】2020-11-23
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】202011638007.8
(32)【優先日】2020-12-31
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】503433420
【氏名又は名称】華為技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
【住所又は居所原語表記】Huawei Administration Building, Bantian, Longgang District, Shenzhen, Guangdong 518129, P.R. China
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ドーン,リン
(72)【発明者】
【氏名】チェン,シンジュイン
(72)【発明者】
【氏名】シヤオ,ヤーチュイン
(72)【発明者】
【氏名】ワーン,ジェンシーン
(72)【発明者】
【氏名】ファーン,シュヨン
【テーマコード(参考)】
5K030
【Fターム(参考)】
5K030GA12
5K030HD03
5K030LB08
5K030MA04
5K030MB09
5K030MD02
(57)【要約】
ネットワークデバイスの処理能力をアドバタイズするための方法、システム、およびネットワークデバイスが、開示され、通信技術の分野に関する。本方法は、ネットワークデバイスによって実行され、指示情報を含む、広告メッセージを生成するステップであり、指示情報は、ネットワークデバイスの処理能力を示すために使用され、ネットワークデバイスの処理能力は、ネットワークデバイスが、パケットを転送するためのプライマリパス上のネットワークデバイスとして機能し、プライマリパス情報およびセカンダリパス情報を含むパケットを受信するとき、パケットに含まれるセカンダリパス情報を無視する処理能力を含み、かつ、セカンダリパス情報は、プライマリパスが利用不可能であるときに、パケットを転送するための1つ以上のセカンダリパスを示すために使用される、ステップを含む。この方法に従って、プライマリパスが正常に使用されるとき、パケット転送のためのプライマリパス上のネットワークデバイスは、パケット内のセカンダリパス情報を無視することができ、セカンダリパス情報が適応的に処理され得ないために引き起こされるパケット損失または誤った転送を回避する。
【特許請求の範囲】
【請求項1】
ネットワークデバイスの処理能力をアドバタイズするための方法であって、
前記方法は、第1ネットワークデバイスによって実行され、かつ、前記方法は、
広告メッセージを生成するステップであり、
前記広告メッセージは、第1指示情報を含み、
前記第1指示情報は、前記第1ネットワークデバイスの処理能力を示すために使用され、
前記第1ネットワークデバイスの前記処理能力は、前記第1ネットワークデバイスが、パケットを転送するためのプライマリパス上のネットワークデバイスとして機能し、かつ、プライマリパス情報およびセカンダリパス情報を含む前記パケットを受信するときに、セカンダリパス情報を無視する処理能力を含み、
前記セカンダリパス情報は、前記プライマリパスが利用不可能であるときに、前記パケットを転送するための1つ以上のセカンダリパスを示すために使用される、
ステップと、
前記第1ネットワークデバイスによって、前記広告メッセージを第2ネットワークデバイスに送信するステップと、
を含む、方法。
【請求項2】
前記方法は、さらに、
第1パケットを受信するステップであり、
前記第1パケットは、第1プライマリパス情報および第1セカンダリパス情報を含み、
前記第1プライマリパス情報は、前記第1パケットを転送するための第1プライマリルートを示すために使用され、
前記第1セカンダリパス情報は、前記第1プライマリルートが利用不可能であるときに、前記第1パケットを転送するための1つ以上の第1セカンダリパスを示すために使用される、
ステップと、
前記第1セカンダリパス情報を無視し、かつ、前記第1プライマリパス情報に基づいて、前記第1パケットを転送する、ステップと、
を含む、請求項1に記載の方法。
【請求項3】
前記広告メッセージは、ボーダーゲートウェイプロトコル(BGP)メッセージ、または、インテリアゲートウェイプロトコル(IGP)メッセージである、
請求項1に記載の方法。
【請求項4】
前記第1指示情報は、前記BGPメッセージに含まれるプライベートルートまたはパブリックルートで搬送され、かつ、
前記VPNルートまたは前記パブリックルートは、前記パケットが属するサービスを転送するためのルートである、
請求項3に記載の方法。
【請求項5】
前記第1ネットワークデバイスは、前記サービスを担う出口ネットワークデバイスであり、
前記プライベートルートは、仮想プライベートネットワーク(VPN)ルートであり、かつ、
前記第1指示情報は、前記VPNルートの第1仮想プライベートネットワークセグメント識別子(VPN SID)ラベルフィールドで搬送される、
請求項4に記載の方法。
【請求項6】
前記BGPメッセージを生成するステップは、
更新されていないBGPメッセージを受信するステップであり、
前記更新されていないBGPメッセージは、前記VPNルートの第2VPN SIDラベルフィールドを含む、
ステップと、
前記第2VPN SIDラベルフィールドを前記第1VPN SIDラベルフィールドに置き換えるステップであり、
更新を通じて前記BGPメッセージを生成する、
ステップと、
を含む、請求項5に記載の方法。
【請求項7】
前記第2VPN SIDラベルフィールドは、第3ネットワークデバイスの処理能力を示すために使用される第2指示情報を含み、
前記第3ネットワークデバイスの前記処理能力は、前記第3ネットワークデバイスが、前記パケットを転送するための前記プライマリパス上のネットワークデバイスとして機能し、かつ、前記プライマリパス情報および前記セカンダリパス情報を含む前記パケットを受信するときに、前記セカンダリパス情報を無視する処理能力を含み、
前記第3ネットワークデバイスは、更新されていない前記BGPメッセージで搬送されるネクストホップ情報内で示されるネットワークデバイスである、
請求項6に記載の方法。
【請求項8】
前記第1指示情報は、前記BGPメッセージ内の拡張コミュニティ属性で搬送される、
請求項3に記載の方法。
【請求項9】
前記方法は、
前記BGPメッセージを生成するステップの前に、更新されていないBGPメッセージを受信するステップであり、
前記更新されていないBGPメッセージは、ネクストホップ属性を含み、
前記拡張コミュニティ属性内の前記第1指示情報および前記ネクストホップ属性の両方は、第1ネクストホップ情報を含み、かつ、
前記第1ネクストホップ情報は、第3ネットワークデバイスを示すために使用される、
ステップと、
前記BGPメッセージを生成するステップは、
前記ネクストホップ属性内の前記第1ネクストホップ情報を第2ネクストホップ情報に修正するステップであり、
更新を通じて前記BGPメッセージを生成し、
前記第2ネクストホップ情報は、前記第1ネットワークデバイスを示すために使用される、
ステップと、
を含む、請求項8に記載の方法。
【請求項10】
更新を通じて前記BGPメッセージを生成するステップは、さらに、
前記拡張コミュニティ属性内の前記第1ネクストホップ情報を前記第2ネクストホップ情報に修正するステップ、
を含む、請求項9に記載の方法。
【請求項11】
前記第1指示情報が、前記第1ネットワークデバイスの処理能力を示すために使用されることは、
前記第1指示情報および前記ネクストホップ属性が、前記第1ネットワークデバイスの前記処理能力を示すために使用されること、
を含む、請求項9または10に記載の方法。
【請求項12】
前記BGPメッセージに含まれる前記VPNルートまたは前記パブリックルートは、セグメント識別子(SID)を搬送し、かつ、
前記SIDは、前記第1ネットワークデバイスによって受信された前記パケットで搬送される前記セカンダリパス情報において使用される、
請求項5乃至11いずれか一項に記載の方法。
【請求項13】
前記セカンダリパス情報は、1つ以上のセカンダリSIDを含み、かつ、
前記1つ以上のセカンダリSIDは、前記第1ネットワークデバイスとマルチホーミング関係を有する1つ以上のネットワークデバイスによって割り当てられたSIDである、
請求項1乃至12いずれか一項に記載の方法。
【請求項14】
前記第1セカンダリパス情報は、1つ以上のセカンダリSIDを含み、
前記第1プライマリパス情報は、プライマリSIDを含み、
前記プライマリSIDは、前記第1ネットワークデバイスに関連付けられており、
前記第1セカンダリパス情報を無視し、かつ、前記第1プライマリパス情報に基づいて、前記第1パケットを転送する、前記ステップは、
前記プライマリSIDを、前記第1ネットワークデバイスに保管されたSIDとマッチングすることによって、前記1つ以上のセカンダリSIDを除去するステップと、
前記第1パケットで搬送されるペイロード情報に基づいて、前記第1パケットをユーザ側ネットワークデバイスに転送するステップ、または、前記1つ以上のセカンダリSIDが除去された後に追加されるSIDに基づいて、前記第1パケットを転送するステップと、
を含む、請求項2に記載の方法。
【請求項15】
前記第1セカンダリパス情報は、1つ以上のセカンダリSIDを含み、
前記第1プライマリパス情報は、プライマリSIDを含み、
前記プライマリSIDは、前記第1ネットワークデバイスに関連付けられており、
前記第1セカンダリパス情報を無視し、かつ、前記第1プライマリパス情報に基づいて、前記第1パケットを転送する、前記ステップは、
前記プライマリSIDを前記第1ネットワークデバイス内に保管されたSIDとマッチングすることによって、前記1つ以上のセカンダリSIDをスキップし、かつ、前記1つ以上のセカンダリSIDの後に配置されたSIDに基づいて、前記第1パケットを転送するステップ、
を含む、請求項2に記載の方法。
【請求項16】
前記第1ネットワークデバイスは、サービスを担う、中間ネットワークデバイスまたは出口ネットワークデバイスであり、
前記第1指示情報は、リンク状態をアドバタイズするために前記IGPメッセージまたは前記BGPメッセージで搬送される、
請求項3に記載の方法。
【請求項17】
前記第2ネットワークデバイスは、前記サービスを担うコントローラまたは入口ネットワークデバイスである、
請求項1乃至16いずれか一項に記載の方法。
【請求項18】
ネットワークデバイスの処理能力をアドバタイズするための方法であって、
前記方法は、第2ネットワークデバイスによって実行され、かつ、前記方法は、
第1ネットワークデバイスによって送信された広告メッセージを受信するステップであり、
前記広告メッセージは、第1指示情報を含み、
前記第1指示情報は、前記第1ネットワークデバイスの処理能力を示すために使用され、
前記第1ネットワークデバイスの前記処理能力は、前記第1ネットワークデバイスが、パケットを転送するためのプライマリパス上のネットワークデバイスとして機能し、かつ、プライマリパス情報およびセカンダリパス情報を含む前記パケットを受信するときに、パケットに含まれるセカンダリパス情報を無視する処理能力を含み、
前記セカンダリパス情報は、前記プライマリパスが利用不可能であるときに、前記パケットを転送するための1つ以上のセカンダリパスを示すために使用される、
ステップと、
前記第1指示情報に基づいて、前記第1ネットワークデバイスが前記処理能力を有すると判定するステップ、または、前記第1指示情報に基づいて、前記第1ネットワークデバイスが前記処理能力を有していないと判定するステップと、
を含む、方法。
【請求項19】
前記方法は、さらに、
前記第1ネットワークデバイスが前記処理能力を有するという事実に基づいて、第1パケットを送信するステップであり、
前記第1パケットは、第1セカンダリパス情報および第1プライマリパス情報を搬送し、
前記第1プライマリパス情報は、前記第1パケットを転送するための第1プライマリパスを示すために使用され、
前記第1セカンダリパス情報は、前記第1プライマリパスが利用不可能であるときに、前記第1パケットを転送するための1つ以上の第1セカンダリパスを示すために使用される、
ステップ、または、
前記第1ネットワークデバイスが前記処理能力を有するという事実に基づいて、第1メッセージを第3ネットワークデバイスに送信するステップであり、
前記第1メッセージは、第1パケットで搬送される、第1セカンダリパス情報および第1プライマリパス情報を、前記第1メッセージに基づいて、獲得するように、前記第3ネットワークデバイスに指示するために使用され、
前記第1パケットは、前記第3ネットワークデバイスによって前記第1ネットワークデバイスに送信されるパケットである、
ステップ、
を含む、請求項18に記載の方法。
【請求項20】
前記第1指示情報に基づいて、前記第1ネットワークデバイスが前記処理能力を有すると判定するステップは、
前記第1ネットワークデバイスによって送信された前記広告メッセージが前記第1指示情報を搬送するという事実に基づいて、前記第1ネットワークデバイスが前記処理能力を有すると判定するステップ、
を含む、請求項18または19に記載の方法。
【請求項21】
前記第1ネットワークデバイスによって送信された前記広告メッセージが前記第1指示情報を搬送するという事実に基づいて、前記第1ネットワークデバイスが前記処理能力を有すると判定するステップは、
前記第1ネットワークデバイスによって送信された前記広告メッセージで搬送される前記第1指示情報が第1値を有するという事実に基づいて、前記第1ネットワークデバイスが前記処理能力を有すると判定するステップ、
を含む、請求項20に記載の方法。
【請求項22】
前記第1ネットワークデバイスによって送信される前記広告メッセージは、境界ゲートウェイプロトコル(BGP)メッセージ、または、内部ゲートウェイプロトコル(IGP)メッセージである、
請求項18乃至21いずれか一項に記載の方法。
【請求項23】
前記第1指示情報は、前記BGPメッセージに含まれるプライベートルートまたはパブリックルートで搬送され、
前記VPNルートまたは前記パブリックルートは、前記パケットが属するサービスを転送するためのルートである、
請求項22に記載の方法。
【請求項24】
前記第1指示情報は、前記BGPメッセージ内の仮想プライベートネットワーク(VPN)ルートで搬送され、かつ、
前記第1指示情報に基づいて、前記第1ネットワークデバイスが前記処理能力を有すると判定するステップは、
前記VPNルートが前記第1指示情報を含むという事実に基づいて、前記第1ネットワークデバイスが前記処理能力を有すると判定するステップ、
を含む、請求項22に記載の方法。
【請求項25】
前記第1指示情報は、前記BGPメッセージ内の拡張コミュニティ属性で搬送される、
請求項22に記載の方法。
【請求項26】
前記BGPメッセージは、さらに、ネクストホップ属性を含み、
前記ネクストホップ属性は、前記第1ネットワークデバイスを示すために使用されるネクストホップ情報を搬送し、
前記第1指示情報に基づいて、前記第1ネットワークデバイスが前記処理能力を有すると判定するステップは、
前記第1指示情報が前記ネクストホップ属性で搬送される前記ネクストホップ情報と同じであるという事実に基づいて、前記第1ネットワークデバイスが前記処理能力を有すると判定するステップ、
を含み、または、
前記第1指示情報に基づいて、前記第1ネットワークデバイスが前記処理能力を有していないと判定するステップは、
前記第1指示情報が前記ネクストホップ属性で搬送される前記ネクストホップ情報と異なるという事実に基づいて、前記第1ネットワークデバイスが前記処理能力を有していないと判定するステップ、
を含む、
請求項25に記載の方法。
【請求項27】
第1パケットまたは第1メッセージを送信するステップの前に、前記方法は、さらに、
第4ネットワークデバイスによって送信された広告メッセージを受信するステップであり、
前記第4ネットワークデバイスによって送信された前記広告メッセージは第2指示情報を含み、
前記第2指示情報は、前記第4ネットワークデバイスの処理能力を示すために使用され、
前記第4ネットワークデバイスの前記処理能力は、前記第4ネットワークデバイスが、前記パケットを転送するための前記プライマリパス上のネットワークデバイスとして機能し、かつ、前記プライマリパス情報および前記セカンダリパス情報を含む前記パケットを受信するときに、前記パケットに含まれる前記セカンダリパス情報を無視する処理能力を含み、かつ、
前記セカンダリパス情報は、前記プライマリパスが利用不可能であるときに、前記パケットを転送するための前記1つ以上のセカンダリパスを示すために使用される、
ステップ、
を含む、請求項19乃至26いずれか一項に記載の方法。
【請求項28】
前記第1ネットワークデバイスによって送信された前記広告メッセージは、さらに、第1パス情報を含み、
前記第4ネットワークデバイスによって送信された前記広告メッセージは、さらに、第2パス情報を含み、かつ、
前記第1パケットまたは前記第1メッセージを前記第1ネットワークデバイスに送信する前に、前記方法は、
前記第1ネットワークデバイスによって送信された前記広告メッセージおよび前記第4ネットワークデバイスによって送信された前記広告メッセージに基づいて、前記第1ネットワークデバイスがプライマリ装置であり、かつ、前記第4ネットワークデバイスがセカンダリデバイスであると判定するステップと、
前記第1パケットを生成するために、前記第1パス情報および前記第2パス情報を追加するステップ、または、前記第3ネットワークデバイスが前記第1パケットに前記第1パス情報および前記第2パス情報を含めるように指示するために、前記第1パス情報および前記第2パス情報を含む前記第1メッセージを前記第3ネットワークデバイスに送信するステップであり、
前記第1パス情報は、前記第1プライマリパス情報に属し、かつ、
前記第2パス情報は、前記第1セカンダリパス情報に属する、
ステップと、を含む、
請求項27に記載の方法。
【請求項29】
前記第1パス情報は、前記第1ネットワークデバイスによって割り当てられた第1仮想プライベートネットワークセグメント識別子(VPN SID)ラベルを含み、
前記第2パス情報は、前記第4ネットワークデバイスによって割り当てられた第2VPN SIDラベルを含む、
請求項28に記載の方法。
【請求項30】
前記方法は、さらに、
前記第1ネットワークデバイスが前記処理能力を有していないという事実に基づいて、第2パケットを送信するステップであり、
前記第2パケットは、第2プライマリパス情報を搬送するが、第2セカンダリパス情報を搬送せず、
前記第2プライマリパス情報は、前記第2パケットを転送するための第2プライマリパスを示すために使用され、
かつ、前記第2セカンダリパス情報は、前記第2プライマリパスが利用不可能であるときに、前記第2パケットを転送するための1つ以上の第2セカンダリパスを示すために使用される、
ステップ、を含む、
請求項18に記載の方法。
【請求項31】
前記第1ネットワークデバイスは、トンネルの出口ネットワークデバイス、または、前記トンネルの中間ネットワークデバイスであり、かつ、
前記第2ネットワークデバイスは、前記トンネルのコントローラ、または、入口ネットワークデバイスである、
請求項18乃至30いずれか一項に記載の方法。
【請求項32】
前記第1ネットワークデバイスは、前記第1ネットワークデバイスと前記第2ネットワークデバイスとの間の第1トンネルの出口ネットワークデバイスであり、
第4ネットワークデバイスは、前記第4ネットワークデバイスと前記第2ネットワークデバイスとの間の第2トンネルの出口ネットワークデバイスであり、かつ、
前記第2ネットワークデバイスは、前記第1トンネルおよび前記第2トンネルの入口ネットワークデバイスである、
請求項27乃至29のいずれか一項に記載の方法。
【請求項33】
前記第1トンネルおよび前記第2トンネルは、それぞれ、インターネットプロトコルバージョン6(SRv6)トンネルを介したセグメントルーティング、または、セグメントルーティングマルチプロトコルラベルスイッチング(SR-MPLS)トンネルである、
請求項32に記載の方法。
【請求項34】
プロセッサおよびメモリを備える、第1ネットワークデバイスであり、
前記メモリは、プログラムコードを保管しており、
前記プログラムコードは、前記プロセッサによってロードされ、かつ、実行されて、前記第1ネットワークデバイスが、1乃至17いずれか一項に記載のネットワークデバイスの処理能力をアドバタイズするための方法を実施することを可能にする、
第1ネットワークデバイス。
【請求項35】
プロセッサおよびメモリを備える、第2ネットワークデバイスであり、
前記メモリは、プログラムコードを保管しており、
前記プログラムコードは、前記プロセッサによってロードされ、かつ、実行されて、前記第2ネットワークデバイスが、請求項18乃至33いずれか一項に記載のネットワークデバイスの処理能力をアドバタイズするための方法を実施することを可能にする、
第2ネットワークデバイス。
【請求項36】
ネットワークデバイスの処理能力をアドバタイズするためのシステムであって、
請求項34に記載の前記第1ネットワークデバイスと、
請求項35に記載の前記第2ネットワークデバイスと、
を備える、システム。
【請求項37】
プログラムコードを保管している、コンピュータ可読記憶媒体であり、
前記プログラムコードがコンピュータ上で実行されるとき、前記コンピュータは、請求項1乃至33いずれか一項に記載のネットワークデバイスの処理能力をアドバタイズするための方法を実行することが可能である、
コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、通信技術の分野に関する。そして、特には、ネットワークデバイスの処理能力をアドバタイズするための方法、デバイス、およびシステムに関する。
本出願は、2020年11月23日に出願され、タイトルが「METHOD FOR DEPLOYING SRV6 VPN EGRESS PROTECTION AND DEVICE」である中国特許出願第202011323142.3号、および、2020年12月31日に出願され、タイトルが「METHOD FOR ADVERTISING PROCESSING CAPABILITY OF NETWORK DEVICE, DEVICE, AND SYSTEM」である中国特許出願第202011638007.8号について優先権を主張するものであり、これらは、参照によりその全体が本明細書に組み込まれている。
【背景技術】
【0002】
データベアラ(data bearer)ネットワークにおけるサービストラフィックの伝送の連続性および堅牢性(robustness)を保証するために、キーノードが故障しているとき直接的に引き起こされるサービス中断を回避するように、たいてい、トラフィック伝送ルートに含まれるキーノードに対して保護ポリシーが展開される必要がある。インターネットプロトコルバージョン6(Internet Protocol version6、IPv6)にわたるセグメントルーティング(Segment Routing over IPv6、SRv6)技術を使用することによって、VPNサービストラフィックのベアラトンネルが構築されるシナリオが、一つの例として使用される。ユーザ側デバイスに対して接続するためのリモートプロバイダエッジ(provider edge、PE)デバイスは、トンネルのプライマリ出口(primary egress)ノードとして機能するときに故障している可能性がある。障害シナリオに対処するために、出口保護が展開される必要がある。SRv6技術では、セグメント識別子(Segment Identifier、SID)リストが、パケット転送パスを示すために使用されている。従って、セカンダリ出口ノードのSIDが、送信されるべき(to-be-sent)トラフィックパケットに追加され得る。この場合に、プライマリ出口ノードが故障していることを発見したとき、プライマリ出口ノードに直接的に接続されている以前ホップノード(previous-hop node)が、パケットヘッダ内で搬送されるセカンダリ出口ノードのSIDを使用することによって、セカンダリ出口ノードを介して転送されるトラフィックパケットを案内することができる。SRv6技術は、また、サービスチェーン(service chain)シナリオもサポートする。サービスチェーンの典型的な適用の最中に、トラフィッククリーニングまたはアンチウィルスといったサービスが、サービストラフィックについて提供され得る。前述のサービスを実装するために、サービストラフィックは、転送プロセスにおいてファイアウォールといったサービスデバイスを通過する必要があり、そして、サービスデバイスが対応するサービスを提供した後で、後続の転送パスに沿ってユーザ側デバイスに対して送信される。しかしながら、サービスを提供するファイアウォール装置も、また、故障していることがある。送信されるサービストラフィックの使用セキュリティを保証するために、サービスを提供するためにファイアウォールを置き換えるために使用され得るバックアップデバイスが、代替的に配置されてよく、そして、バックアップデバイスが、サービストラフィックのパケットに追加されたセカンダリデバイスSIDによって示され得る。
【0003】
前述のアプリケーションシナリオにおいて、SIDリストにおいて、セカンダリデバイスを示すために使用されるセカンダリSIDは、たいてい、プライマリ装置を示すために使用されるSIDの後に配置されている。プライマリ装置が故障している場合は、SIDリストを処理してトラフィックパケットを転送するために、セカンダリSIDが、SRv6で指定された一般規則に従って読み取られ得る。しかしながら、プライマリ装置が故障していないとき、トラフィックパケットは、転送のために依然としてプライマリ装置に送信される。この場合には、一般的なルールに従って依然として処理が実行されると、エラーが発生することがあり、そして、その結果、トラフィックパケットは廃棄される。
【発明の概要】
【0004】
この出願は、ネットワークデバイスの処理能力をアドバタイズするための方法、システム、装置、およびネットワークデバイスを提供する。第1ネットワークデバイスの処理能力をアドバタイズする必要がある第1ネットワークデバイスは、指示情報を搬送する広告メッセージを送信することができる。ここで、指示情報は、第1ネットワークデバイスが、パケットを転送するためのプライマリパス上のネットワークデバイスとして機能し、プライマリパス情報およびセカンダリパス情報を含むパケットを受信するときに、パケットに含まれるセカンダリパス情報を無視する処理能力を第1ネットワークデバイスが有するか否かを示すことができる。第1ネットワークデバイスが処理能力を有すると決定した場合、広告メッセージを受信する第2ネットワークデバイスは、プライマリパス情報およびセカンダリパス情報を含むサービスパケットを第1ネットワークデバイスに送信することができる。このことは、プライマリパスを正常に使用することができる場合、セカンダリパス情報の不適切な処理によって引き起こされるパケット損失または誤った転送といった問題を回避するために、第1ネットワークデバイスが、サービスパケットにおいて使用される必要がないセカンダリパス情報を無視できることを保証する。この出願において提供される技術的ソリューションは、少なくとも以下の態様を含んでいる。
【0005】
第1態様に従って、ネットワークデバイスの処理能力をアドバタイズするための方法が提供され、そして、第1ネットワークデバイスによって実行される。本方法は、広告メッセージを生成するステップであり、前記広告メッセージは、第1指示情報を含み、前記第1指示情報は、前記第1ネットワークデバイスの処理能力を示すために使用され、前記第1ネットワークデバイスの前記処理能力は、前記第1ネットワークデバイスが、パケットを転送するためのプライマリパス上のネットワークデバイスとして機能し、かつ、プライマリパス情報およびセカンダリパス情報を含む前記パケットを受信するときに、セカンダリパス情報を無視する処理能力を含み、前記セカンダリパス情報は、前記プライマリパスが利用不可能であるときに、前記パケットを転送するための1つ以上のセカンダリパスを示すために使用される、ステップと、前記第1ネットワークデバイスによって、前記広告メッセージを第2ネットワークデバイスに送信するステップと、を含む。
【0006】
広告メッセージのタイプおよび広告メッセージで第1指示情報を搬送する方式は、方法を実装するために使用される、ネットワークアーキテクチャおよびアプリケーションシナリオに基づいて、変化し得る。例えば、広告メッセージは、ルートをアドバタイズするための境界ゲートウェイプロトコル(Border Gateway Protocol、BGP)メッセージ、BGPリンク状態(Border Gateway Protocol-Link State、BGP-LS)メッセージ、内部ゲートウェイプロトコル(Interior Gateway Protocol、IGP)メッセージ、などであってよい。
【0007】
異なるメッセージタイプが、異なるシナリオにおいて使用され得る。例えば、シナリオAにおいて、トンネル出口デバイスは、ルートをアドバタイズするためのBGPメッセージを使用することによって、トンネル出口デバイスの処理能力をトンネル入口デバイスにアドバタイズすることができる。その結果、トンネル出口デバイスが処理能力を有すると判定した場合、トンネル入口デバイスは、トンネル出口デバイスを保護するためのセカンダリパス情報をパケットに追加して、トンネル出口デバイスが故障していないときに、トンネル出口デバイスが受信パケットに含まれるセカンダリパス情報に対して適応処理を実行できることを保証する。別の例において、シナリオBでは、パケット転送パス上の任意のネットワークデバイスは、BGP-LSメッセージを使用することによって、ネットワークデバイスの処理能力をコントローラに通知することができる。その結果、対応するネットワークデバイスが処理能力を有すると判定した場合、コントローラは、ネットワークデバイスに関連付けられたセカンダリパス情報を編成して、ネットワークデバイスまたはネットワークデバイスに関連付けられたサービスを保護する。このようにして、ネットワークデバイスが配置されたプライマリパスが故障していないときに、ネットワークデバイスは、受信されたパケットに含まれるセカンダリパス情報に対して適応処理を実行することができる。
【0008】
セカンダリパス情報に対して実行される適応処理は、セカンダリパス情報を無視すること(ignoring)である。処理を無視する具体的なケースは、第1ネットワークデバイスがセカンダリパス情報を無視し、かつ、パケット転送をガイドするためにセカンダリパス情報を使用しないことであってよく、または、第1ネットワークデバイスがセカンダリパス情報を無視し、かつ、例えば、セカンダリパス情報が含まれるときに、パケットヘッダをパケットから取り除くことを許可されて、パケットを正常に処理することができることであってよい。無視することを実施するための複数の特定の動作方式が存在してよく、そして、具体的なの動作方式は、具体的なアプリケーションシナリオを参照して決定されてよい。例えば、無視する方法は、除去することであってもよく、そして、除去することは、パケットヘッダ全体を取り除くことによって、セカンダリパス情報を除去することであってよい。この方式は、シナリオAに適用可能である。ユーザ側デバイスに接続されたトンネル出口ノードとして、パケットヘッダに含まれるプライマリパス情報がマッチングされた後で、第1ネットワークデバイスは、パケットヘッダをパケットから完全に取り除き、そして、パケットのペイロード部分で搬送されるプライベートネットワーク情報を使用することによって、第1ネットワークデバイスからユーザ側デバイスへの後続の転送を完了することができる。別の例について、無視する方式は、スキップすること(skipping)であってよく、ここで、スキップすることは、具体的には、セカンダリパス情報を読み取らずに第2パス情報を直接スキップすること、または、セカンダリパス情報が読み取られても転送をガイドするためにセカンダリパス情報を使用せずに無視できる方式で第2パス情報をスキップすることであってよい。セカンダリルート保護を提供する必要がある、関連付けられたデバイスが、転送パス上の中間ネットワークデバイスである場合に、パケットを転送するためにプライマリルートを使用することを決定するとき、中間ネットワークデバイスは、その後の転送を実行するためにプライマリパス情報を使用することができ、そして、セカンダリルートが使用されないので、パケット転送エラーを回避するために、パケットで搬送されるセカンダリパス情報部分をスキップする必要がある。
【0009】
無視を実行することは、第1ネットワークデバイスがセカンダリパス情報に対していかなる動作も明確に実行しないことを意味するものではない。例えば、いくつかの可能なアプリケーションシナリオまたは設計方式において、第1ネットワークデバイスは、最初に、セカンダリパス情報を読み取り、そして、スキップ方式でセカンダリパス情報を無視することができる。
【0010】
プライマリパスが利用不可能であることは、プライマリパス上のノードまたはリンクが故障しているので、プライマリパスが利用不可能であることを意味してよく、または、プライマリパスのサービス品質が要件を満たすことができないので、プライマリパスが利用不可能であることを意味し得る。
【0011】
セカンダリパス情報は、1つ以上のセカンダリパスを示すために使用され得る。例えば、セカンダリパス情報は、1つ以上のセカンダリSIDである。1つのセカンダリSIDは、1つのセカンダリパスを示してよく、または、複数のSIDを含むセカンダリSIDリストは、1つのセカンダリパスを示してよい。複数の利用可能なセカンダリパスが存在する場合、セカンダリパス情報は、複数のセカンダリパスにそれぞれ対応する複数のセカンダリSIDまたはセカンダリSIDリストを含み得る。パケットヘッダ内の複数のセカンダリSIDまたはセカンダリSIDリストの配列シーケンスは、プライマリパスが利用不可能であるときに、複数のセカンダリパスを使用するシーケンスを決定するために使用され得る。
【0012】
このソリューションにおいて、第1ネットワークデバイスは、指示情報を搬送する広告メッセージを送信することができる。ここで、指示情報は、第1ネットワークデバイスがパケットを転送するためのプライマリパス上のネットワークデバイスとして働き、かつ、プライマリパス情報およびセカンダリパス情報を含むパケットを受信するときに、第1ネットワークデバイスがパケットに含まれるセカンダリパス情報を無視する処理能力を有するか否かを示すことができる。その結果、第1ネットワークデバイスが処理能力を有すると判定したときに、広告メッセージを受信するネットワークデバイスは、プライマリパス情報およびセカンダリパス情報を含むサービスパケットを第1ネットワークデバイスに送信するように別のネットワークデバイスに送信または指示することができる。従って、プライマリパスが正常に使用され得る場合、第1ネットワークデバイスは、サービスパケットにおいて使用される必要がないセカンダリパス情報を無視することができ、ネットワーク実行ロバスト性を保証し、かつ、セカンダリパス情報に対する不適切な処理によって引き起こされるパケット損失または不正確な転送の問題を回避する。
【0013】
可能な実装において、本方法は、さらに、第1パケットを受信するステップであり、前記第1パケットは、第1プライマリパス情報および第1セカンダリパス情報を含み、前記第1プライマリパス情報は、前記第1パケットを転送するための第1プライマリルートを示すために使用され、前記第1セカンダリパス情報は、前記第1プライマリルートが利用不可能であるときに、前記第1パケットを転送するための1つ以上の第1セカンダリパスを示すために使用される、ステップと、前記第1セカンダリパス情報を無視し、かつ、前記第1プライマリパス情報に基づいて、前記第1パケットを転送する、ステップと、を含む。
【0014】
メッセージを使用することによって、第1ネットワークデバイスが、第1ネットワークデバイスの処理能力を第2ネットワークデバイスにアドバタイズした後で、第2ネットワークデバイスが、第1ネットワークデバイスは処理能力を有すると判定した場合に、第2ネットワークデバイスは、第1パケットを送信してよく、または、第2ネットワークデバイスは、第1パケットを送信するように別のネットワークデバイスに指示してよい。例えば、第2ネットワークデバイスがトンネル入口デバイスである場合、第2ネットワークデバイスは、第1パケットを送信し得る。別の例について、第2ネットワークデバイスがサービスオーケストレーション機能を有しているコントローラである場合、コントローラは、プライマリパス情報およびセカンダリパス情報を含んでいるメッセージを、トンネル入口デバイスに送信してよく、そして、トンネル入口デバイスは、プライマリパス情報およびセカンダリパス情報を含んでいる第1パケットを送信する。すなわち、第1パケットは、第2ネットワークデバイスから受信されてよく、または、別のネットワークデバイスから受信されてよい。
【0015】
第1ネットワークデバイスは、第1ネットワークデバイスの処理能力を事前にアドバタイズする。従って、第1プライマリパス情報および第1セカンダリパス情報を含んでいる第1パケットを受信した場合、第1ネットワークデバイスは、第1パケットの正常な転送を保証するために、第1パケットにおいて使用される必要がない第1セカンダリパス情報を無視することができる。
【0016】
可能な実装において、第1指示情報は、BGPメッセージに含まれるVPNルートまたはパブリックルートで搬送され、そして、VPNルートまたはパブリックルートは、パケットが属するサービスを転送するためのルートである。第1ネットワークデバイスは、送信のために第1ネットワークデバイスによってアドバタイズされたVPNルートまたはパブリックルートにおいて第1ネットワークデバイスの処理能力をアドバタイズするための指示情報を含み得る。VPNルートまたはパブリックルートは、パス情報を含み得る。指示情報に基づいて、第1ネットワークデバイスが処理能力を有するか否かを決定した後で、VPNルートまたはパブリックルートを受信する第2ネットワークデバイスは、決定された特定の状況に基づいて、ルートにおいて搬送されるパス情報を、送信されたパケットにおけるプライマリパス情報またはセカンダリパス情報として送信することができる。
【0017】
任意的に、第1ネットワークデバイスは、サービスを担う出口ネットワークデバイスであり、VPNルートは、仮想プライベートネットワーク(Virtual Private Network、VPN)ルートであり、そして、第1指示情報は、VPNルートの第1仮想プライベートネットワークセグメント識別子(VPN SID)ラベルフィールドで搬送される。
【0018】
任意的に、第1指示情報は、BGPメッセージ内の拡張コミュニティ属性で搬送される。
【0019】
指示情報は、ルートで搬送される。このようにして、第1ネットワークデバイスは、処理能力をアドバタイズし、かつ、関連付けられた方式でパス情報をアドバタイズするために、既存の機構と協働することができる。その結果、この出願におけるこのソリューションの使用互換性および実行効率が改善される。
【0020】
可能な実装において、第1ネットワークデバイスは、アドバタイズされる必要があるルートに基づいて、BGPメッセージを最初に生成するデバイスでなくてよいが、BGPメッセージを受信し、かつ、BGPメッセージ内の必要な情報を修正することによってBGPメッセージを生成する、デバイスであってよい。
【0021】
任意的に、BGPメッセージを生成するステップは、更新されていないBGPメッセージを受信するステップであり、ここで、更新されていないBGPメッセージは、VPNルートの第2VPN SIDラベルフィールドを含む、ステップと、更新を通じてBGPメッセージを生成するように、第2VPN SIDラベルフィールドを第1VPN SIDラベルフィールドに置き換える、ステップと、を含む。
【0022】
任意的に、第2VPN SIDラベルフィールドは、第3ネットワークデバイスの処理能力を示すために使用される第2指示情報を含み、第3ネットワークデバイスの処理能力は、第3ネットワークデバイスが、パケットを転送するためのプライマリパス上のネットワークデバイスとして機能し、かつ、プライマリパス情報およびセカンダリパス情報を含むパケットを受信したときに、パケットに含まれるセカンダリパス情報を無視する処理能力を含む。そして、第3ネットワークデバイスは、更新されていない、BGPメッセージで搬送される、ネクストホップ情報で示されるネットワークデバイスである。
【0023】
任意的に、本方法は、さらに、更新されていないBGPメッセージを受信するステップを含む。ここで、更新されていないBGPメッセージはネクストホップ属性を含み、拡張コミュニティ属性内の第1指示情報およびネクストホップ属性の両方が、第1ネクストホップ情報を含み、そして、第1ネクストホップ情報は、第3ネットワークデバイスを示すために使用される。
【0024】
任意的に、本方法は、さらに、更新を通じてBGPメッセージを生成するために、第2拡張コミュニティ属性内の第1ネクストホップ情報を第2ネクストホップ情報に修正するステップであり、第2ネクストホップ情報は、第1ネットワークデバイスを示すために使用される、ステップを含む。
【0025】
任意的に、更新を介してBGPメッセージを生成するステップは、さらに、拡張コミュニティ属性内の第1ネクストホップ情報を第2ネクストホップ情報に修正するステップを含む。
【0026】
任意的に、第1ネットワークデバイスの処理能力を示すために第1指示情報が使用されることは、第1指示情報およびネクストホップ属性が第1ネットワークデバイスの処理能力を示すために使用されることを含む。
【0027】
ルートのネクストホップが修正される必要があるシナリオにおいて、例えば、インタードメインシナリオにおいて、ルートにおいて更新された指示情報は、ルートにおいて搬送される修正されたネクストホップによって識別されるネットワークデバイス(例えば、第1ネットワークデバイスがドメイン境界デバイスとして機能するとき)が処理能力を有するか否かを示すために使用され、クロスドメインシナリオにおいてプライマリパスが利用可能であるときに、第1ネットワークデバイスがセカンダリパス情報を無視できることを保証し、その結果、パケットが正常に転送または処理され得る。
【0028】
可能な実装において、BGPメッセージに含まれるVPNルートまたはパブリックルートは、SIDを搬送し、かつ、SIDは、第1ネットワークデバイスによって受信されたパケットにおいて搬送されるセカンダリパス情報において使用される。
【0029】
可能な実装において、セカンダリパス情報は、1つ以上のセカンダリパスラベルを含み、かつ、1つ以上のセカンダリパスは、1つ以上のセカンダリパスラベルによって示される。任意的に、パスラベルは、SIDを含んでいる。
【0030】
セカンダリパス情報が1つ以上のセカンダリSIDを含む場合、この出願において提供されるソリューションは、SRv6ネットワークまたはセグメント・ルーティングマルチプロトコル・ラベルスイッチング(Segment Routing-Multiprotocol Label Switching、SR-MPLS)ネットワークに適用され得る。
【0031】
可能な実装において、1つ以上のセカンダリSIDは、第1ネットワークデバイスとのマルチホーミング関係を有している1つ以上のネットワークデバイスによって割り当てられたSIDである。1つ以上のセカンダリSIDは、広告のために1つ以上のネットワークデバイスによってアドバタイズされたルートにおいて別々に搬送され得る。
【0032】
可能な実装において、第1セカンダリパス情報は、1つ以上のセカンダリSIDを含み、第1プライマリパス情報は、プライマリSIDを含み、そして、プライマリSIDは、第1ネットワークデバイスに関連付けられている。そして、第1セカンダリパス情報を無視し、かつ、第1プライマリパス情報に基づいて第1パケットを転送するステップは、プライマリSIDを第1ネットワークデバイスに保管されたSIDとマッチングすることによって1つ以上のセカンダリSIDを取り除くステップと、第1パケットで搬送されるペイロード情報に基づいて、第1パケットをユーザ側ネットワークデバイスに転送するステップ、または、1つ以上のセカンダリSIDが取り除かれた後で、追加されたSIDに基づいて第1パケットを転送するステップと、を含む。
【0033】
可能な実装において、第1セカンダリパス情報は、1つ以上のセカンダリSIDを含み、第1プライマリパス情報は、プライマリSIDを含み、そして、プライマリSIDは、第1ネットワークデバイスに関連付けられている。そして、第1セカンダリパス情報を無視し、かつ、第1プライマリパス情報に基づいて第1パケットを転送するステップは、プライマリSIDを第1ネットワークデバイスに保管されたSIDと照マッチングすることによって1つ以上のセカンダリSIDをスキップするステップと、1つ以上のセカンダリSIDの後で配置されたSIDに基づいて第1パケットを転送するステップと、を含む。
【0034】
可能な実装において、第1ネットワークデバイスは、サービスを担う中間ネットワークデバイスまたは出口ネットワークデバイスであり、そして、第1指示情報は、リンク状態をアドバタイズするためのIGPメッセージまたはBGPメッセージで搬送される。出口ネットワークデバイスは、エンドツーエンドトンネルの出口ネットワークデバイスまたはマルチセグメント化トンネルの出口ネットワークデバイスであり得る。
【0035】
可能な実装において、第2ネットワークデバイスは、サービスを担うコントローラまたは入口ネットワークデバイスである。
【0036】
第2態様に従って、ネットワークデバイスの処理能力をアドバタイズするための方法が提供され、そして、第2ネットワークデバイスによって実行される。本方法は、第1ネットワークデバイスによって送信された広告メッセージを受信するステップであり、前記広告メッセージは、第1指示情報を含み、前記第1指示情報は、前記第1ネットワークデバイスの処理能力を示すために使用され、前記第1ネットワークデバイスの前記処理能力は、前記第1ネットワークデバイスが、パケットを転送するためのプライマリパス上のネットワークデバイスとして機能し、かつ、プライマリパス情報およびセカンダリパス情報を含む前記パケットを受信するときに、パケットに含まれるセカンダリパス情報を無視する処理能力を含み、前記セカンダリパス情報は、前記プライマリパスが利用不可能であるときに、前記パケットを転送するための1つ以上のセカンダリパスを示すために使用される、ステップと、前記第1指示情報に基づいて、前記第1ネットワークデバイスが前記処理能力を有すると判定するステップ、または、前記第1指示情報に基づいて、前記第1ネットワークデバイスが前記処理能力を有していないと判定するステップと、を含む。
【0037】
このソリューションにおいて、指示情報を搬送し、かつ、第1ネットワークデバイスによって送信された、広告メッセージを受信した後で、第2ネットワークデバイスは、指示情報に基づいて、第1ネットワークデバイスが処理能力を有するか否かを判定することができる。いくつかのアプリケーションシナリオにおいて、第1ネットワークデバイスが、処理能力を有し、かつ、パケットを転送するためのプライマリパス上のネットワークデバイスとして機能すると決定した場合、第2ネットワークデバイスは、プライマリパス情報およびセカンダリパス情報を含むパケットを、第1ネットワークデバイスに送信するように別のネットワークデバイス(トンネル入口デバイス、といったもの)に送信または指示し、その結果、プライマリパスが正常に使用され得る場合、第1ネットワークデバイスは、ネットワーク実行堅牢性を保証し、かつ、セカンダリパス情報に対する不適切な処理によって引き起こされるパケット損失または不正確な転送の問題を回避するために、サービスパケットにおいて使用される必要がないセカンダリパス情報を無視することができる。
【0038】
可能な実装において、本方法は、さらに、前記第1ネットワークデバイスが前記処理能力を有するという事実に基づいて、第1パケットを送信するステップであり、前記第1パケットは、第1セカンダリパス情報および第1プライマリパス情報を搬送し、前記第1プライマリパス情報は、前記第1パケットを転送するための第1プライマリパスを示すために使用され、前記第1セカンダリパス情報は、前記第1プライマリパスが利用不可能であるときに、前記第1パケットを転送するための1つ以上の第1セカンダリパスを示すために使用される、ステップ、または、前記第1ネットワークデバイスが前記処理能力を有するという事実に基づいて、第1メッセージを第3ネットワークデバイスに送信するステップであり、前記第1メッセージは、第1パケットで搬送される、第1セカンダリパス情報および第1プライマリパス情報を、前記第1メッセージに基づいて、獲得するように、前記第3ネットワークデバイスに指示するために使用され、前記第1パケットは、前記第3ネットワークデバイスによって前記第1ネットワークデバイスに送信されるパケットである、ステップ、を含む。
【0039】
可能な実装において、前記第1指示情報に基づいて、前記第1ネットワークデバイスが前記処理能力を有すると判定するステップは、前記第1ネットワークデバイスによって送信された前記広告メッセージが前記第1指示情報を搬送するという事実に基づいて、前記第1ネットワークデバイスが前記処理能力を有すると判定するステップ、を含む。任意的に、第1ネットワークデバイスによって送信された広告メッセージで搬送される第1指示情報が第1値を有するという事実に基づいて、第1ネットワークデバイスが処理能力を有すると判定される。
【0040】
可能な実装において、第1ネットワークデバイスによって送信される広告メッセージは、BGPメッセージまたはIGPメッセージである。
【0041】
可能な実装において、第1指示情報は、BGPメッセージに含まれるVPNルート、または、パブリックルートで搬送され、そして、VPNルートまたはパブリックルートは、パケットが属するサービスを転送するためのルートである。
【0042】
任意的に、第1指示情報は、BGPメッセージ内のVPNルートで搬送され、第1指示情報に基づいて、第1ネットワークデバイスが処理能力を有すると判定するステップは、VPNルートが第1指示情報を含むという事実に基づいて、第1ネットワークデバイスが処理能力を有すると判定するステップを含む。
【0043】
任意的に、第1指示情報は、BGPメッセージ内の拡張コミュニティ属性で搬送される。
【0044】
任意的に、BGPメッセージは、さらに、ネクストホップ属性を含み、そして、ネクストホップ属性は、第1ネットワークデバイスを示すために使用されるネクストホップ情報を搬送し、そして、第1指示情報に基づいて、第1ネットワークデバイスが処理能力を有すると判定するステップは、第1指示情報がネクストホップ属性で搬送されるネクストホップ情報と同じであるという事実に基づいて、第1ネットワークデバイスが処理能力を有すると判定するステップ、または、第1指示情報に基づいて、第1ネットワークデバイスが処理能力を有していないと判定するステップは、第1指示情報がネクストホップ属性で搬送されるネクストホップ情報と異なるという事実に基づいて、第1ネットワークデバイスが処理能力を有していないと判定するステップ、を含む。
【0045】
可能な実装において、第1パケットを送信するステップの前に、本方法は、さらに、第4ネットワークデバイスによって送信された広告メッセージを受信するステップを含む。ここで、第4ネットワークデバイスによって送信された広告メッセージは、第2指示情報を含み、第2指示情報は第4ネットワークデバイスの処理能力を示すために使用され、第4ネットワークデバイスの処理能力は、第4ネットワークデバイスがパケットを転送するためのプライマリパス上のネットワークデバイスとして機能し、かつ、プライマリパス情報およびセカンダリパス情報を含むパケットを受信するときに、パケットに含まれるセカンダリパス情報を無視する処理能力を含む、そして、セカンダリパス情報は、プライマリパスが利用不可能であるときに、パケットを転送するための1つ以上のセカンダリパスを示すために使用される。
【0046】
このソリューションにおいて、第2ネットワークデバイスは、パケット転送のために複数のネットワークデバイスから複数の広告メッセージを別々に受信することができる。このようにして、複数のネットワークデバイスの処理能力は、複数の広告メッセージに基づいて、別々に決定されてよく、そして、ネットワークデバイス内の処理能力を有する1つのネットワークデバイスが、複数のネットワークデバイスの処理能力に基づいて、プライマリ装置として決定され、その結果、このソリューションを使用するフレキシビリティおよび信頼性が改善される。
【0047】
可能な実装において、第1ネットワークデバイスによって送信された広告メッセージは、さらに、第1パス情報を含み、第4ネットワークデバイスによって送信された広告メッセージは、さらに、第2パス情報を含む。そして、第1パケットまたは第1メッセージを第1ネットワークデバイスに送信する前に、本方法は、第1ネットワークデバイスによって送信された広告メッセージおよび第4ネットワークデバイスによって送信された広告メッセージに基づいて、第1ネットワークデバイスがプライマリ装置であり、第4ネットワークデバイスがセカンダリデバイスであると判定するステップ、および、第1パケットを生成するために第1パス情報および第2パス情報を追加するステップであり、第1パス情報は、第1プライマリパス情報に属し、かつ、第2パス情報は第1セカンダリパス情報に属するステップ、もしくは、第3ネットワークデバイスが第1パケットに第1パス情報および第2パス情報を含めるように指示するために、第1パス情報および第2パス情報を含む第1メッセージを第3ネットワークデバイスに送信するステップであり、第1パス情報は、第1プライマリパス情報に属し、かつ、第2パス情報は、第1セカンダリパス情報に属する、ステップ、を含む。
【0048】
可能な実装において、第1パス情報は、第1ネットワークデバイスによって割り当てられた第1VPN SIDラベルを含み、かつ、第2パス情報は、第4ネットワークデバイスによって割り当てられた第2VPN SIDラベルを含んでいる。
【0049】
可能な実装において、本方法は、さらに、第1ネットワークデバイスが処理能力を有していないという事実に基づいて、第2パケットを送信するステップであり、ここで、第2パケットは、第2プライマリパス情報を搬送するが、第2セカンダリパス情報を搬送せず、第2プライマリパス情報は、第2パケットを転送するための第2プライマリパスを示すために使用され、そして、第2セカンダリパス情報は、第2プライマリパスが利用不可能であるときに、第2パケットを転送するための1つ以上の第2セカンダリパスを示すために使用される、ステップを含む。
【0050】
このソリューションにおいて、第1ネットワークデバイスが処理能力を有していないと決定した場合、第2ネットワークデバイスは、プライマリパスが故障していないシナリオにおいてパケットの正常な転送または処理を少なくとも保証するために、セカンダリパス情報を含まないパケットを送信するように別のネットワークデバイスに送信または指示することができる。
【0051】
可能な実装において、第1ネットワークデバイスは、トンネルの出口ネットワークデバイスまたはトンネルの中間ネットワークデバイスであり、かつ、第2ネットワークデバイスは、トンネルのコントローラまたは入口ネットワークデバイスである。
【0052】
可能な実装において、第1ネットワークデバイスは、第1ネットワークデバイスと第2ネットワークデバイスとの間の第1トンネルの出口ネットワークデバイスであり、第4ネットワークデバイスは、第4ネットワークデバイスと第2ネットワークデバイスとの間の第2トンネルの出口ネットワークデバイスであり、かつ、第2ネットワークデバイスは、第1トンネルおよび第2トンネルの入口ネットワークデバイスである。
【0053】
可能な実装において、第1トンネルおよび第2トンネルは、それぞれ、SRv6トンネルまたはSR-MPLSトンネルである。
【0054】
第3態様に従って、本出願は、ネットワークデバイスの処理能力をアドバタイズするための装置を提供する。本装置は、第1態様または第1態様の任意的な方式のいずれか1つに従って、ネットワークデバイスの処理能力をアドバタイズするための方法を実行するように構成された機能ユニットを含み得る。
【0055】
例えば、本装置は、生成ユニットおよび送信ユニットを含み得る。生成ユニットは、広告メッセージを生成するように構成されており、ここで、広告メッセージは、第1指示情報を含み、第1指示情報は、第1ネットワークデバイスの処理能力を示すために使用され、第1ネットワークデバイスの処理能力は、第1ネットワークデバイスがパケットを転送するためのプライマリパス上のネットワークデバイスとして機能し、かつ、プライマリパス情報およびセカンダリパス情報を含むパケットを受信するときに、セカンダリパス情報を無視する処理能力を含み、そして、セカンダリパス情報は、プライマリパスが利用不可能であるときに、パケットを転送するための1つ以上のセカンダリパスを示すために使用される。送信ユニットは、広告メッセージを第2ネットワークデバイスに送信するように構成されている。
【0056】
このソリューションにおいて、第1ネットワークデバイスは、指示情報を搬送する広告メッセージを送信することができ、ここで、指示情報は、第1ネットワークデバイスがパケットを転送するためのプライマリパス上のネットワークデバイスとして機能し、かつ、プライマリパス情報およびセカンダリパス情報を含むパケットを受信するときに、第1ネットワークデバイスがパケットに含まれるセカンダリパス情報を無視する処理能力を有するか否かを示すことができ、その結果、広告メッセージを受信するネットワークデバイスは、第1ネットワークデバイスが処理能力を有すると判定したときに、プライマリパス情報およびセカンダリパス情報を含むサービスパケットを第1ネットワークデバイスに送信するように別のネットワークデバイスに送信または指示することができる。従って、プライマリパスが正常に使用され得る場合、第1ネットワークデバイスは、ネットワーク実行ロバスト性を保証し、かつ、セカンダリパス情報に対する不適切な処理によって引き起こされるパケット損失または不正確な転送の問題を回避するために、サービスパケットにおいて使用される必要がないセカンダリパス情報を無視することができる。
【0057】
可能な実装において、本装置は、さらに、受信ユニットおよび転送ユニットを含む。受信ユニットは、第2ネットワークデバイスによって送信された第1パケットを受信するように構成されており、ここで、第1パケットは、第1プライマリパス情報および第1セカンダリパス情報を含み、第1プライマリパス情報は、第1パケットを転送するための第1プライマリルートを示すために使用され、そして、第1セカンダリパス情報は、第1プライマリルートが利用不可能であるときに、第1パケットを転送するための1つ以上の第1セカンダリルートを示すために使用される。転送ユニットは、第1セカンダリパス情報を無視し、かつ、第1プライマリパス情報に基づいて、第1パケットを転送するように構成されている。
【0058】
可能な実装において、広告メッセージは、境界ゲートウェイプロトコルBGPメッセージ、または、内部ゲートウェイプロトコルIGPメッセージである。
【0059】
可能な実装において、第1指示情報は、BGPメッセージに含まれるVPNルートまたはパブリックルートで搬送され、そして、VPNルートまたはパブリックルートは、パケットが属するサービスを転送するためのルートである。
【0060】
任意的に、第1ネットワークデバイスは、サービスを搬送する出口ネットワークデバイスであり、VPNルートは、VPNルートであり、そして、第1指示情報は、VPNルートの第1仮想プライベートネットワークセグメント識別子VPN SIDラベルフィールドで搬送される。
【0061】
任意的に、受信ユニットは、さらに、更新されていないBGPメッセージを受信し、ここで、更新されていないBGPメッセージは、VPNルートの第2VPN SIDラベルフィールドを含み、かつ、更新を通じてBGPメッセージを生成するために、第2VPN SIDラベルフィールドを第1VPN SIDラベルフィールドで置き換える、ように構成されている。
【0062】
任意的に、第2VPN SIDラベルフィールドは、第3ネットワークデバイスの処理能力を示すために使用される第2指示情報を含み、第3ネットワークデバイスの処理能力は、第3ネットワークデバイスがパケットを転送するためのプライマリパス上のネットワークデバイスとして機能し、かつ、プライマリパス情報およびセカンダリパス情報を含むパケットを受信したときに、パケットに含まれるセカンダリパス情報を無視する処理能力を含み、そして、第3ネットワークデバイスは、更新されていないBGPメッセージで搬送されるネクストホップ情報において示されるネットワークデバイスである。
【0063】
任意的に、第1指示情報は、BGPメッセージにおける拡張コミュニティ属性で搬送される。
【0064】
任意的に、BGPメッセージが生成される前に、受信ユニットは、さらに、更新されていないBGPメッセージを受信するよう構成されており、ここで、更新されていないBGPメッセージは、ネクストホップ属性を含み、ここで、拡張コミュニティ属性内の第1指示情報およびネクストホップ属性の両方は、第1ネクストホップ情報を含み、そして、第1ネクストホップ情報は、第3ネットワークデバイスを示すために使用される。
【0065】
任意的に、BGPメッセージを生成するステップは、更新を通じてBGPメッセージを生成するために、ネクストホップ属性内の第1ネクストホップ情報を第2ネクストホップ情報に修正するステップを含み、ここで、第2ネクストホップ情報は、第1ネットワークデバイスを示すために使用される。
【0066】
任意的に、更新を通じてBGPメッセージを生成するステップは、さらに、拡張コミュニティ属性内の第1ネクストホップ情報を第2ネクストホップ情報に修正するステップ、を含む。
【0067】
任意的に、第1指示情報が、第1ネットワークデバイスの処理能力を示すために使用されることは、第1指示情報および第2拡張コミュニティ属性が、第1ネットワークデバイスの処理能力を示すために使用されることを含む。
【0068】
可能な実装において、BGPメッセージに含まれるVPNルートまたはパブリックルートは、SIDを搬送し、そして、SIDは、第1ネットワークデバイスによって受信されたパケットで搬送されるセカンダリパス情報において使用される。
【0069】
可能な実装において、セカンダリパス情報は、1つ以上のセカンダリパスラベルを含み、そして、1つ以上のセカンダリパスは、1つ以上のセカンダリパスラベルによって示される。任意的に、パスラベルは、SIDを含んでいる。
【0070】
可能な実装において、1つ以上のセカンダリSIDは、第1ネットワークデバイスとマルチホーミング関係を有している1つ以上のネットワークデバイスによって割り当てられたSIDである。
【0071】
可能な実装において、第1セカンダリパス情報は、1つ以上のセカンダリSIDを含み、第1プライマリパス情報は、プライマリSIDを含み、そして、プライマリSIDは、第1ネットワークデバイスに関連付けられている。転送ユニットは、さらに、プライマリSIDを第1ネットワークデバイス内に保管されたSIDとマッチングすることによって1つ以上のセカンダリSIDを除去し、かつ、第1パケットで搬送されるペイロード情報に基づいて、第1パケットをユーザ側ネットワークデバイスに転送するか、または、1つ以上のセカンダリSIDが除去された後で追加されたSIDに基づいて、第1パケットを転送するように構成されている。
【0072】
可能な実装において、第1セカンダリパス情報は、1つ以上のセカンダリSIDを含み、第1プライマリパス情報は、プライマリSIDを含み、そして、プライマリSIDは、第1ネットワークデバイスに関連付けられている。転送ユニットは、さらに、プライマリSIDを第1ネットワークデバイスに保管されたSIDとマッチングすることによって1つ以上のセカンダリSIDを無視し、そして、1つ以上のセカンダリSIDの後で配置されたSIDに基づいて、第1パケットを転送するように構成されている。
【0073】
可能な実装において、第1ネットワークデバイスは、サービスを担う中間ネットワークデバイスまたは出口ネットワークデバイスであり、そして、第1指示情報は、リンク状態をアドバタイズするためのIGPメッセージまたはBGPメッセージで搬送される。
【0074】
可能な実装において、第2ネットワークデバイスは、サービスを担うコントローラまたは入口ネットワークデバイスである。
【0075】
第4態様に従って、この出願は、ネットワークデバイスの処理能力をアドバタイズするための装置を提供する。本装置は、第2態様または第2態様の任意的な方式のいずれか1つに従って、ネットワークデバイスの処理能力をアドバタイズするための方法を実行するように構成された機能ユニットを含み得る。
【0076】
例えば、本装置は、受信ユニットおよび決定ユニットを含み得る。受信ユニットは、第1ネットワークデバイスによって送信された広告メッセージを受信するように構成されており、ここで、広告メッセージは、第1指示情報を含み、第1指示情報は、第1ネットワークデバイスの処理能力を示すために使用され、第1ネットワークデバイスの処理能力は、第1ネットワークデバイスがパケットを転送するためのプライマリパス上のネットワークデバイスとして機能し、かつ、プライマリパス情報およびセカンダリパス情報を含むパケットを受信するときに、セカンダリパス情報を無視する処理能力を含み、そして、セカンダリパスは、プライマリパスが利用不可能であるときに、パケットを転送するための1つ以上のセカンダリパスである。決定ユニットは、第1指示情報に基づいて、第1ネットワークデバイスが処理能力を有すると決定し、または、第1指示情報に基づいて、第1ネットワークデバイスが処理能力を有していないと決定する、ように構成されている。
【0077】
このソリューションにおいて、指示情報を搬送し、かつ、第1ネットワークデバイスによって送信された、広告メッセージを受信した後で、第2ネットワークデバイスは、指示情報に基づいて、第1ネットワークデバイスが処理能力を有するか否かを判定することができる。いくつかのアプリケーションシナリオにおいて、第1ネットワークデバイスが、処理能力を有し、かつ、パケットを転送するためのプライマリパス上のネットワークデバイスとして機能する、と決定した場合、第2ネットワークデバイスは、プライマリパス情報およびセカンダリパス情報を含んでいるパケットを、第1ネットワークデバイスに送信するように、別のネットワークデバイス(トンネル入口デバイス、といったもの)に送信または指示し、その結果、プライマリパスが正常に使用され得る場合、第1ネットワークデバイスは、ネットワーク実行ロバスト性を保証し、かつ、セカンダリパス情報に対する不適切な処理によって引き起こされるパケット損失または不正確な転送の問題を回避するために、サービスパケットにおいて使用される必要がないセカンダリパス情報を無視することができる。
【0078】
可能な実装において、本装置は、さらに、送信ユニットを含む。送信ユニットは、第1ネットワークデバイスが処理能力を有するという事実に基づいて、第1パケットを送信するように構成されており、ここで、第1パケットは、第1セカンダリパス情報および第1プライマリパス情報を搬送し、第1プライマリパス情報は、第1パケットを転送するための第1プライマリパスを示すために使用され、そして、第1セカンダリパス情報は、第1プライマリパスが利用不可能であるときに、第1パケットを転送するための1つ以上の第1セカンダリパスを示すために使用される。もしくは、第1ネットワークデバイスが処理能力を有するという事実に基づいて、第3ネットワークデバイスに第1メッセージを送信するように構成されており、ここで、第1メッセージは、第1メッセージに基づいて、第1パケットで搬送される第1セカンダリパス情報および第1プライマリパス情報を獲得するように第3ネットワークデバイスに示すために使用され、そして、第1パケットは、第3ネットワークデバイスによって第1ネットワークデバイスに送信されたパケットである。
【0079】
可能な実装において、決定ユニットは、さらに、第1ネットワークデバイスによって送信された広告メッセージが第1指示情報を搬送するという事実に基づいて、第1ネットワークデバイスが処理能力を有すると決定するように構成されている。任意的に、第1ネットワークデバイスによって送信された広告メッセージ内で搬送される第1指示情報が第1値を有するという事実に基づいて、第1ネットワークデバイスが処理能力を有すると判定される。
【0080】
可能な実装において、第1ネットワークデバイスによって送信される広告メッセージは、BGPメッセージまたはIGPメッセージである。
【0081】
可能な実装において、第1指示情報は、BGPメッセージに含まれるVPNルートまたはパブリックルートで搬送され、そして、VPNルートまたはパブリックルートは、パケットが属するサービスを転送するためのルートである。
【0082】
任意的に、第1指示情報は、BGPメッセージ内のVPNルートで搬送され、そして、決定ユニットが、第1指示情報に基づいて、第1ネットワークデバイスは処理能力を有すると決定することは、VPNルートが第1指示情報を含むという事実に基づいて、第1ネットワークデバイスが処理能力を有すると決定することを含む。
【0083】
任意的に、第1指示情報は、BGPメッセージ内の拡張コミュニティ属性で搬送される。
【0084】
任意的に、BGPメッセージは、さらに、ネクストホップ属性を含み、そして、ネクストホップ属性は、第1ネットワークデバイスを示すために使用されるネクストホップ情報を搬送する。決定ユニットが、第1指示情報に基づいて、第1ネットワークデバイスは処理能力を有すると決定することは、第1指示情報がネクストホップ属性において搬送されるネクストホップ情報と同じであるという事実に基づいて、第1ネットワークデバイスが処理能力を有すると決定することを含む。もしくは、決定ユニットが、第1指示情報に基づいて、第1ネットワークデバイスは処理能力を有していないと決定することは、第1指示情報がネクストホップ属性において搬送されるネクストホップ情報と異なるという事実に基づいて、第1ネットワークデバイスが処理能力を有していないと決定することを含む。
【0085】
可能な実装において、第1パケットまたは第1メッセージが送信される前に、受信ユニットは、さらに、第4ネットワークデバイスによって送信された広告メッセージを受信するように構成されている。ここで、第4ネットワークデバイスによって送信された広告メッセージは、第2指示情報を含み、第2指示情報は、第4ネットワークデバイスの処理能力を示すために使用され、第4ネットワークデバイスの処理能力は、第4ネットワークデバイスがパケットを転送するためのプライマリパス上のネットワークデバイスとして機能するときに、パケットに含まれるセカンダリパス情報を無視する処理能力を含み、そして、セカンダリパス情報は、プライマリパスが利用不可能なときに、パケットを転送するための1つ以上のセカンダリパスを示すために使用される。
【0086】
任意的に、第1ネットワークデバイスによって送信された広告メッセージは、さらに、第1パス情報を含み、第4ネットワークデバイスによって送信された広告メッセージは、さらに、第2パス情報を含み、そして、第1パケットまたは第1メッセージが送信される前に、決定ユニットは、さらに、第1ネットワークデバイスによって送信された広告メッセージおよび第4ネットワークデバイスによって送信された広告メッセージに基づいて、第1ネットワークデバイスがプライマリ装置であり、かつ、第4ネットワークデバイスがセカンダリデバイスであると決定するように構成されている。本装置は、さらに、生成ユニットを含む。生成ユニットは、第1パケットを生成するために、第1パス情報および第2パス情報を追加するように構成されており、ここで、第1パス情報は、第1プライマリパス情報に属し、かつ、第2パス情報は、第1セカンダリパス情報に属している。代替的に、送信ユニットは、第1パス情報および第2パス情報を第1パケットに含めるように第3ネットワークデバイスに指示するために、第1パス情報および第2パス情報を含んでいる第1メッセージを第3ネットワークデバイスに送信する。、ここで、第1パス情報は、第1プライマリパス情報に属し、かつ、第2パス情報は、第1セカンダリパス情報に属している。
【0087】
任意的に、第1パス情報は、第1ネットワークデバイスによって割り当てられた第1仮想プライベートネットワークセグメント識別子(VPN SID)ラベルを含み、かつ、第2パス情報は、第4ネットワークデバイスによって割り当てられた第2VPN SIDラベルを含んでいる。
【0088】
可能な実装において、決定ユニットが、第1指示情報に基づいて、第1ネットワークデバイスは処理能力を有していないと決定した後で、送信ユニットは、さらに、第1ネットワークデバイスが処理能力を有していないという事実に基づいて、第2パケットを送信するように構成されている。ここで、第2パケットは、第2プライマリパス情報を搬送するが、第2セカンダリパス情報を搬送せず、第2プライマリパス情報は、第2パケットを転送するための第2プライマリルートを示すために使用され、そして、第2セカンダリパス情報は、第2プライマリルートが利用不可能であるときに、第2パケットを転送するための1つ以上の第2セカンダリルートを示すために使用される。
【0089】
可能な実装において、第1ネットワークデバイスは、トンネルの出口ネットワークデバイスまたはトンネルの中間ネットワークデバイスであり、かつ、第2ネットワークデバイスは、トンネルのコントローラまたは入口ネットワークデバイスである。
【0090】
可能な実装において、第1ネットワークデバイスは、第1ネットワークデバイスと第2ネットワークデバイスとの間の第1トンネルの出口ネットワークデバイスであり、第4ネットワークデバイスは、第4ネットワークデバイスと第2ネットワークデバイスとの間の第2トンネルの出口ネットワークデバイスであり、そして、第2ネットワークデバイスは、第1トンネルおよび第2トンネルの入口ネットワークデバイスである。
【0091】
可能な実装において、第1トンネルおよび第2トンネルは、それぞれ、SRv6トンネルまたはSR-MPLSトンネルである。
【0092】
第5態様に従って、第1ネットワークデバイスが提供される。本ネットワークデバイスは、プロセッサを含んでいる。プロセッサは、プログラム命令を呼び出して、ネットワークデバイスが、第1態様または第1態様の実装のいずれか1つによる方法において実行される動作を実施するのを可能にする。ネットワークデバイスは、さらに、メモリを含み得る。メモリは、プロセッサに結合され、そして、プロセッサによって呼び出されたプログラム命令は、メモリに保管される。ネットワークデバイスは、さらに、通信インターフェイスを含み得る。通信インターフェイスは、別のデバイスと通信するためにデバイスによって使用される。例えば、通信インターフェイスは、トランシーバ、回路、バス、モジュール、または、別のタイプの通信インターフェイスであり得る。プロセッサによって呼び出されるプログラム命令は、代替的に、外部メモリに事前に保管されてよく、そして、使用される前に、インターネットからダウンロードされ、次いで、ローカルに保管される。メモリ内の命令のソースは、この出願において一意に限定されるものではない。
【0093】
第6態様に従って、第2ネットワークデバイスが提供される。保管ネットワークデバイスは、プロセッサを含んでいる。プロセッサは、プログラム命令を呼び出して、ネットワークデバイスが、第2態様または第2態様の実装のいずれか1つによる方法において実行される動作を実施するのを可能にする。ネットワークデバイスは、さらに、メモリを含み得る。メモリは、プロセッサに結合され、そして、プロセッサによって呼び出されたプログラム命令は、メモリに保管される。ネットワークデバイスは、さらに、通信インターフェイスを含み得る。通信インターフェイスは、別のデバイスと通信するためにデバイスによって使用される。例えば、通信インターフェイスは、トランシーバ、回路、バス、モジュール、または、別のタイプの通信インターフェイスであり得る。プロセッサによって呼び出されるプログラム命令は、代替的に、外部メモリに事前に保管されてよく、そして、使用される前に、インターネットからダウンロードされ、次いで、ローカルに保管される。メモリ内の命令のソースは、この出願において一意に限定されるものではない。
【0094】
第7態様に従って、ネットワークデバイスの処理能力をアドバタイズするためのシステムが提供される。本システムは、第5態様で説明される1つ以上のネットワークデバイス、および、第6態様で説明される1つ以上のネットワークデバイスを含み得る。
【0095】
第8態様に従って、チップシステムが提供される。本チップシステムは、プロセッサおよびインターフェイス回路を含んでいる。インターフェイス回路は、命令を受信し、そして、プロセッサに命令を送信するように構成されている。プロセッサは、第1態様または第1態様の任意的な方式のいずれか1つによる方法に対応する命令を実行するように構成され、または、第2態様または第2態様の任意的な方式のいずれか1つによる方法に対応する命令を実行するように構成されている。
【0096】
第9態様に従って、コンピュータ可読記憶媒体が提供される。本記憶媒体は、プログラムコードを保管している。プログラムコードは、プロセッサによってロードされ、そして、実行されて、コンピュータが、第1態様または第1態様の任意的な方式のいずれか1つによる方法において実行される動作を実施することを可能にし、または、コンピュータが、第2態様または第2態様の任意的な方式のいずれか1つによる方法において実行される動作を実施することを可能にする。
【0097】
第10態様に従って、コンピュータプログラム製品またはコンピュータプログラムが提供される。本コンピュータプログラム製品または本コンピュータプログラムは、プログラムコードを含んでいる。コンピュータプログラム製品またはコンピュータプログラムが、ネットワークデバイス上で実行されるとき、ネットワークデバイスは、第1態様または第1態様の様々な任意的な実装のいずれか1つによる方法を実行することが可能であり、または、ネットワークデバイスは、第2態様もしくは第2態様の様々な任意的な実装のいずれか1つによる方法を実行することが可能である。
【0098】
第3態様から第10態様までのいずれかの設計によってもたらされる技術的効果については、第1態様または第2態様の対応する設計によってもたらされる技術的効果を参照のこと。ディーグレス(deegresss)について、ここでは、再び説明されない。
【図面の簡単な説明】
【0099】
この出願の実施形態における技術的ソリューションをより明確に説明するために、以下では、実施形態を説明するために必要とされる添付の図面を簡単に説明する。以下の説明における添付図面は、単に、この出願のいくつかの実施形態を示すに過ぎず、当業者であれば、創造的な努力なしに、これらの添付図面から他の図面をさらに導出し得ることが明らかである。
図1a図1aは、この出願の一つの実施形態に従った、サービストラフィック転送を実施するためのネットワークシステムの構造に係る概略図である。
図1b図1bは、この出願の一つの実施形態に従った、サービストラフィック転送を実施するための別のネットワークシステムの構造に係る概略図である。
図2図2は、この出願の一つの実施形態に従った、サービストラフィック転送を実施するための別のネットワークシステムの構造に係る概略図である。
図3a図3aは、この出願の一つの実施形態に従った、メッセージフォーマットの概略図である。
図3b図3bは、この出願の一つの実施形態に従った、別のメッセージフォーマットの概略図である。
図4図4は、この出願の一つの実施形態に従った、ネットワークデバイスの処理能力をアドバタイズするための方法に係るフローチャートである。
図5図5は、この出願の一つの実施形態に従った、ネットワークデバイスの処理能力をアドバタイズするための別の方法に係るフローチャートである。
図6図6は、この出願の一つの実施形態に従った、ネットワークデバイスの処理能力をアドバタイズするための別の方法に係るフローチャートである。
図7図7は、この出願の一つの実施形態に従った、ネットワークデバイスの処理能力をアドバタイズするための装置の構造に係る概略図である。
図8図8は、この出願の一つの実施形態に従った、ネットワークデバイスの処理能力をアドバタイズするための別の装置の構造に係る概略図である。
図9図9は、この出願の一つの実施形態に従った、ネットワークデバイスの構造の概略図である。
図10図10は、この出願の一つの実施形態に従った、ネットワークデバイスの構造の概略図である。
【発明を実施するための形態】
【0100】
この出願の目的、技術的ソリューション、および利点をより明確にするために、以下では、さらに、添付の図面を参照して、この出願の実装を説明する。
【0101】
データベアラネットワークにおけるサービストラフィックの正常な転送を保証するためには、キーノードが故障しているときに直接的に引き起こされるサービス中断を回避するように、プライマリ/セカンダリ保護のためのポリシーが、たいてい、トラフィック伝送ルートに含まれるキーノードについて構成される必要がある。SRv6ネットワークにおいては、ノードのプライマリ/セカンダリ保護を実装する実現可能な方法で、プライマリノードを指し示すプライマリSIDおよび1つ以上のセカンダリノードを指し示す1つ以上のセカンダリSIDの両方がトラフィックパケットに含まれてよく、その結果、セカンダリノードは、プライマリノードが故障しているシナリオにおいてトラフィックパケットを転送する。理解を容易にするために、プライマリ/セカンダリSIDを使用することによってプライマリ/セカンダリ保護を実装するいくつかの可能なアプリケーションシナリオが、本発明の実施形態において最初に説明される。
【0102】
シナリオ1:出口保護(Egress protection)
【0103】
SRv6技術がVPNサービスを搬送するために使用されるシナリオにおいて、SRv6トンネルの出口デバイスとして機能する出口ノードが故障している場合に、サービストラフィックは、出口ノードを介して最終的にユーザ側デバイスに対して転送されることができない。その結果として、サービスが中断される。前述の場合におけるサービストラフィックの転送の成功を保証するために、セカンダリ出口ノードが、出口保護を実装するために展開され得る。
【0104】
図1aは、本発明の一つの実施形態に従った、SRv6ネットワークにおいてサービストラフィック転送を実施するためのシステム100を示している。システム100は、以下のデバイス、すなわち、カスタマエッジ(customer edge、CE)11、CE12、プロバイダエッジ(provider edge、PE)21、PE24、PE25、プロバイダ(provider、P)(バックボーン)31、およびP32を含み得る。CE11は、PE21に接続され、そして、CE12は、PE24およびPE25にデュアルホーム(dual-homed)されている。CE11およびCE12は、ユーザ側で複数のユーザホストに別々に接続されてもよい。CE11またはCE12は、複数のユーザホストに直接的に接続されてよく、または、別のユーザ側ネットワークデバイスを介して複数のユーザホストに接続されてよい。例えば、CE11は、CE11に接続されたユーザホストのサービスパケットをCE12に転送する。正常な転送シナリオにおいて、PE21は、PE24を介してサービスパケットをCE12に転送するために、サービスパケットをリモートプライマリ装置として機能するPE24に送信することができる。しかしながら、PE24が故障しているシナリオにおいては、サービスパケットがP31に到着すると、PE24に直接的に接続されたネットワークデバイスとしてのP31は、PE24のルートが到達不可能であることを迅速に感知することができる。この場合、ある方式でP31がサービスパケットをPE25に転送することができる場合に、PE25は、PE24とデュアルホーミングデバイスを形成するリモートセカンダリPEとして機能(serve)し、すなわち、PE24が故障しているときに、サービスパケットをCE12に転送することができる。前述の説明において、PE24に直接的に接続されたデバイスは、デバイス障害を感知し、そして、パケット転送パスの実装を直接的に調整して、PE24が故障しているシナリオにおいてサービスパケットを正常に転送できないときに引き起こされるパケット損失の問題を解決する。PE24といった役割を果たすデバイスは、たいてい、パケット伝送トンネルの出口に配置されているので、上記で説明されるメカニズムは、また、出口保護メカニズムと称されてもよい。
【0105】
SRv6ネットワークにおいて出口保護を実施するための実現可能なソリューションにおいては、パケット伝送トンネルの入口ノード(ingress node)が、パケット転送をガイドするためにパス情報に対して指示を追加することができ、その結果、ルート上の以前ホップノードは、出口ノードの障害を検知したときに、指示に基づいてパケットをセカンダリノードに転送することができる。このシナリオにおいて、入口ノードは、また、ヘッドノードと称されてもよい。図1aに示されるシステム100が、依然として、一つの例として使用される。PE24およびPE25は、CE12によってアドバタイズされ、かつ、VPNサービスのパケットを転送するために使用される、ルートを別々に学習し、それは、ここにおいて、略してVPNルート(VPN route)と称される。VPNルートの宛先アドレスは、例えば、CE12に接続されたユーザホストのアドレスであってよく、または、CE12に接続された宛先ネットワークセグメントのアドレスであってよい。例えば、VPNルートの宛先アドレスは、2.2.2.2である。PE24は、VPNサービスを識別するためのVPNセグメント識別子(Segment Identifier、SID)B2::1を割り当て、VPNルートにVPNセグメント識別子B2::1を含め、そして、VPNルートをPE21にアドバタイズする。同様に、PE25は、VPNサービスを識別するためのVPN SID B3::1を割り当て、VPNルートにVPN SID B3::1を含め、そして、VPNルートをPE21にアドバタイズする。PE21は、CE11から、宛先アドレス2.2.2.2に送信されたサービスパケットを受信し、そして、パケットヘッダ情報をサービスパケットに追加する。パケットヘッダ情報は、トンネル内のサービスパケットの転送をガイドするために使用される。パケットヘッダ情報は、インターネットプロトコルバージョン6(Internet Protocol version6、IPv6)ヘッダおよびセグメントルーティングヘッダ(segment routing header、SRH)を含み得る。出口保護機能を実装するために、PE21は、SRHに含まれるセグメントリスト(segment list、SL)に、PE24によってアドバタイズされたVPN SID B2::1、および、PE25によってアドバタイズされたVPN SID B3::1の両方を追加し、ここで、B3::1は、B2::1よりもSLラベルスタックに近いスタックボトムに配置されている。すなわち、サービスパケットがトンネルを通過するとき、SL内のB2::1は、B3::1より早く、読み取られ得る。このようにして、サービスパケットがP31に到着すると、P31は、最初に、受信したサービスパケットに含まれるラベルスタックからSIDラベルA5::1を表示する。なぜなら、A5::1は、P31によってローカルに割り当てられ、かつ、アドバタイズされたノードSIDと一致するからである。次いで、P31は、ラベルスタックの下位レイヤ(lower-layer)ラベルB2::1を読み取り、ここで、B2::1は、プライマリ装置PE24によってアドバタイズされたVPN SIDである。PE24が故障している場合に、P31は、B2::1のルートが到達不可能であることを迅速に感知することができる。この場合、P31は、ラベルをスキップし、下位層のラベルB3::1を読み出し、そして、B3::1のルートを探索することによってサービスパケットをPE25に転送することを決定することができる。サービスパケットがPE25に到着すると、B3::1がラベルスタックのスタックボトムラベルであるので、PE25は、スタックボトムラベルを表示し、そして、VPN SIDB3::1に基づいて、対応するVPNサービスを決定して、B3::1によって識別されるVPNにおけるサービスパケットのユーザ側転送プロシージャを完了することができる。
【0106】
図1bは、本発明の一つの実施形態に従った、SRv6ネットワークにおいてサービストラフィック転送を実装するための別のシステム110を示している。このシステムにおいて、PE21、PE24、およびPE25は、同じネットワークドメイン内のノードであり、そして、同じネットワークドメインは、例えば、同じ自律(autonomous、AS)ドメインであり得る。加えて、ドメイン境界ノードとして、PE24およびPE25は、他のASドメイン内のノードPE27に接続され、そして、PE27は、ユーザ側ネットワークノードCE12に接続されており、CE12に搭載されたユーザホストと通信する。インタードメイン(inter-domain)シナリオが含まれるので、可能な実装において、トンネルAは、PE21とPE24との間に確立されてよく、そして、トンネルBは、PE24とPE27との間に確立されてよい(ここで、図1bは、トンネルBに含まれる1つ以上の中間ノードを示していない)。トンネルAおよびトンネルBは、入口ノードPE21から出口ノードPE27までのエンドツーエンド(end-to-end)トンネルを形成することができる。トンネルAおよびトンネルBは、それぞれ、マルチセグメント化トンネルと称されてよい。PE21は、また、トンネルAのヘッドノードとも称されてよく、そして、PE24は、トンネルAの出口ノードと称されてよい。PE27は、BGPメッセージを使用して、宛先アドレス2.2.2.2を伴うVPNルートをPE24にアドバタイズする。インタードメインシナリオについて、いくつかの可能な実装において、BGPメッセージを受信した後で、PE24は、BGPメッセージ内のネクストホップ属性をPE24のデバイス識別子、例えば、PE24のループバック(loop back)アドレスまたはインターフェイスインターネットプロトコル(Internet Protocol、IP)アドレスに修正する必要がある。いくつかの可能な実装において、BGPメッセージ内のネクストホップ情報を修正するとき、PE24は、さらに、対応するVPN SIDB7::1を、BGPメッセージ内で搬送されるVPNルートに再割り当てする。BGPメッセージの更新の後で、PE24は、更新されたBGPメッセージをPE21にアドバタイズする。
【0107】
正常な転送シナリオにおいて、PE21は、PE24を介してパケットをインタードメインデバイスPE27に転送することを選択する。PE24がBGPメッセージ内のネクストホップを修正し、かつ、VPN SIDをBGPメッセージ内で搬送されるVPNルートに再割り当てする場合に、PE24がPE27の代わりに、PE21が、VPNサービスを担う(bearing)ネクストホップデバイスであることを感知する。従って、PE21は、SLラベルスタックに対して、転送をガイドするためにPE24によって割り当てられたVPN SID B7::1を追加する。パケットがPE24に到着すると、PE24は、パケットヘッダに含まれる宛先アドレス(destination address、DA)フィールドで搬送されるSID値がPE24にローカルに保管されたVPN SIDの値と一致するという事実に基づいて、VPN SIDに対応するSIDリストを検索し、そして、次のネットワークドメインにおけるパケットに係る後続の転送をガイドするために、SIDリストをパケットのパケットヘッダに追加することができる。SIDリストは、複数のSIDを含んでよく、そして、複数のSIDは、PE24からPE27への転送パス(path)を示すために使用される。
【0108】
出口ノードPE24が故障しているときに引き起こされるサービストラフィック中断を回避するために、PE24のバックアップデバイスPE25が、ネットワーク内に構成され得る。このようにして、プライマリノードPE24が故障しているとき、セカンダリノードとして機能するPE25は、ユーザ側におけるサービストラフィックをPE27に転送し、その結果、出口保護が実施される。前述の機能を実装するために、入口としてのPE21は、パケット転送をガイドするための指示をパス情報に追加することができ、その結果、パス上の以前ホップノードP31は、出口ノードの障害を感知するときに、指示に基づいて、パケットをセカンダリノードPE25に転送することができる。PE21は、セグメントリストに対して、PE24によって割り当てられ、かつ、アドバタイズされたVPN SID B7::1、および、PE25によって割り当てられ、かつ、アドバタイズされたVPN SID B9::1を追加することができ、ここで、B9::1は、B7::1よりもSLラベルスタックに近いスタックボトムに配置されている。すなわち、サービスパケットがトンネルを通過するとき、SL内のB7::1は、B9::1より早く読み取られ得る。PE24が故障している場合に、P31は、B7::1のルートが到達不可能であることを迅速に感知することができる。この場合、P31は、ラベルをスキップし、下位層のラベルB9::1を読み出し、Bそして、9::1のルートを探索することによって、サービスパケットをPE25に転送することを決定することができる。サービスパケットがPE25に到着すると、PE25は、B9::1に基づいて、B9::1に対応するローカルに保管されたSIDリストを検索し、そして、SIDリストを、パケット転送をガイドするためのパス情報に追加して、PE27へのパケットの後続の転送を示すことができる。
【0109】
シナリオ2:サービス保護
【0110】
図2は、本発明の一つの実施形態に従った、SRv6ネットワークにおいてサービスチェーンを実現するためのシステム120を示している。サービスオーケストレータ41は、管理ドメイン範囲内のPEノードによってアドバタイズされた様々なタイプのSIDを獲得することができる。例えば、サービスオーケストレータ41は、PE22から、S1::1およびS2::1を含むサービスタイプのSIDを獲得し得る。ここで、S1::1は、攻撃フィルタリングを実施するためにクリーニングのためにサービスパケットをファイアウォール51に送信するようにPE22に指示するために使用されてよく、そして、S2::1は、クリーニングのためにサービスパケットをファイアウォール52に送信するようにPE22に指示するために使用される。すなわち、トラフィッククリーニングシナリオにおいて、S1::1は、パケットを転送するためのプライマリパスを示すために使用され得る。そして、S1::2は、パケットを転送するためのセカンダリパスを示すために使用され得る。別の例でにおいて、サービスオーケストレータ41は、代替的に、PE23またはPE26からノードタイプのSIDを獲得することができる。ここで、A5::1は、PE23を示すために使用され、そして、A7::1は、PE26を示すために使用される。別の例において、サービスオーケストレータ41は、代替的に、PE28からノードタイプのSID(A9::1)またはVPNタイプのSID(B2::1)を獲得することができる。サービスオーケストレータ41は、PE28によって担われる必要があるサービス間の差異に基づいて、パスを調整するために対応するタイプのSIDを使用し得る。可能な例において、A9::1は、パブリックネットワークサービスパケットの転送をガイドするために使用され得る。そして、B2::1は、プライベートネットワークVPNサービスパケットの転送をガイドするために使用され得る。
【0111】
正常な転送シナリオにおいて、プライマリ装置として機能するファイアウォール51は、トラフィックパケットのためのクリーニングサービスを提供する。しかしながら、ファイアウォール51が故障しているときのトラフィック中断を回避するために、ファイアウォール52は、また、クリーニングサービスを提供するためのセカンダリデバイスとしても配備され得る。サービスオーケストレータ41は、PE21からPE28にトラフィックを転送するためのパス情報を編成し、そして、編成されたパス情報をヘッドノードに送信して、パス情報をパケットに追加するようにPE21に指示し、パケットの転送をガイドすることができる。SRv6ネットワークにおいて、パス情報は、複数のSIDを含むSLであり得る。トラフィッククリーニングといったサービスを保護するために、サービスオーケストレータ41は、S1::1およびS2::1の両方を配信されたパス情報に追加し得る。このようにして、トラフィックパケットがPE22に転送され、かつ、ファイアウォール51が故障していることをPE22が発見したときに、PE22は、SL内の現在示されているS1::1を無視し、そして、SL内の次のSIDS2::1を読み取ることができ、S2::1に基づいて、トラフィックパケットをクリーニングのためにファイアウォール52に転送するように誘導する。クリーニングが完了した後で、トラフィックパケットは、PE22に戻され、そして、SL内の後続のSIDの指示に基づいて、PE23を介してPE28に転送され得る。
【0112】
前述のシナリオ1および2は、それぞれ、プライマリSIDおよびセカンダリSIDの両方がSRv6ネットワークにおいてパケットで搬送され、かつ、プライマリSIDによって示されるパスが故障している場合に、プライマリSIDがスキップされ、そして、次のセカンダリSIDによって示されるセカンダリパスに基づいてパケットが転送される、実行方法を主に説明している。シナリオ1および2は、単に可能な一つの例として使用されているに過ぎず、そして、同様な実施は、また、別の可能なネットワークアーキテクチャおよびアプリケーションシナリオにも適用可能であることが理解されるだろう。例えば、同様の方法が、転送パス上の中間ノードを保護するために適用され得る。図2に示されるネットワークシナリオは、一つの例として使用されている。トラフィックをクリーニングする際に、クリーニングサービスを提供可能なファイアウォール51に接続されたPE22も、また、故障しているだろうと考えられる場合は、そのトラフィックについてクリーニングサービスを利用することができず、そして、トラフィックが遮断され得る。この場合、セカンダリPEノードが、PE22のために展開され得る。ここで、セカンダリPEノードは、また、クリーニングサービスを提供することができるファイアウォールにも接続され、その結果、プライマリノードとして機能するPE22が故障していることをPE21が発見したときに、PE21は、サービスオーケストレータ41によって編成され、かつ、セカンダリPEノードによって割り当てられたサービスタイプのセカンダリSIDに基づいて、クリーニングのためにトラフィックパケットをセカンダリPEノードに直接的に転送し得る。このようにして、中間ノードPE22は保護され、そして、トラフィッククリーニングの成功も、また、保証される。別の例について、シナリオ1および2においては、1つのセカンダリSIDが、セカンダリパス情報として使用される。別のシナリオにおいて、また、複数のセカンダリSIDをセカンダリパス情報として使用することによって、複数のオプションのセカンダリパスを提供することもできる。代替的に、セカンダリパス情報は、必ずしもSIDの形式である必要はないが、別のタイプのパスラベルであるか、または、別のフォーマットで直接的に表される。別の例において、プライマリパスを示すために使用されるプライマリSIDおよびセカンダリパスを示すために使用されるセカンダリSIDの両方は、様々なタイプのものであり得る。例えば、SIDは、ルート上のノードを示すために使用され、ルート上のリンクを示すために使用され、サービスを示すために使用され、または、ノードの複数のホップを含むルートを示すために使用されてよい。別の例として、ノード保護またはサービス保護に適用されることに加えて、本方法は、また、プライマリ/セカンダリ保護が実装される必要がある別のサービスシナリオに対しても適用され得る。別の例では、SRv6ネットワークに適用されることに加えて、同様の実行方法は、また、別のタイプのネットワークにも適用され得る。可能なケースでは、SR技術がマルチプロトコルラベルスイッチング(Multiprotocol Label Switching、MPLS)データプレーンに適用されるとき、同様の実行方式が、セグメントルーティングMPLS(Segment Routing-Multiprotocol Label Switching、SR-MPLS)ネットワークに適用され得る。SRv6ネットワークにおいて、プライマリSIDおよびセカンダリSIDは、IPv6拡張ヘッダのSRHの中へカプセル化され得る。SR-MPLSネットワークにおいて、プライマリSIDおよびセカンダリSIDは、MPLSパケットヘッダの中へカプセル化され得る。
【0113】
前述の実施形態で説明されたシナリオ1および2においては、プライマリパスが故障しているときに、保護を実装するためにセカンダリパスが使用されるソリューションが主に説明されている。しかしながら、実際の適用の最中に、プライマリパスが故障していないとき、トラフィックパケットは、依然としてプライマリパスを通して転送される必要がある。この場合、プライマリパス上のノードは、パケット内で搬送されるセカンダリパス情報が使用される必要がないことを知る必要があり、そして、セカンダリパス情報が正しく解析され得ないので、パケットの破棄を回避するために、除去またはスキップといった対応する処理を実行する。
【0114】
さらに、図1aで説明したシナリオを参照して、出口ノードPE24が故障していないときに、PE24によってSLラベルスタックを処理する方法を説明する。出口ノードが故障していないシナリオにおいて、PE24は、P31によって転送されたサービスパケットを正常に受信する。受信されたサービスパケットのSLラベルスタックは、2層のラベルを含んでいる。すなわち、スタックの最下層のB3::1、および、ラベルスタック内でB3::1の上層のB2::1である。パケットを受信した後で、PE24は、パケットヘッダのDAフィールドで搬送されるSIDB2::1が、PE24によってローカルに割り当てられたVPN SIDと一致することを判定することができる。この場合、PE24は、さらに、SRH内の現在示されている位置のSIDも、また、B2::1であると判定する。セカンダリSIDが追加されない場合、B2::1は、SRHのスタック最下層ラベル(stack bottom label)である。SRv6に基づく従来の転送ソリューションにおいて、B2::1がスタックの最下部に配置されているので、PE24は、外部パケットヘッダ(すなわち、図1aに示されるIPv6ヘッダおよびSRHヘッダを含むパケットヘッダ部分)を取り除き(strip)、そして、内部ペイロード情報に含まれるサービスパケットの宛先アドレス2.2.2.2に基づいて、サービスパケットをユーザ側に転送することができる。しかしながら、本発明の実施形態で提供されるシナリオ1におけるエグレス保護の実装ソリューションにおいて、B2::1は、もはやスタック最下層ラベルではない。B3::1がSRv6ネットワークの既存の転送規則に従って正しく処理できない場合に、PE24は、エラーを報告する動作、または、サービスパケットを破棄する動作を実行する。従って、出口保護ソリューションにおけるサービスパケットの正常な転送を保証するために、PE24は、ラベルスタックに対して特別な処理を実行する必要がある。すなわち、B2::1がローカルSID転送テーブルと一致するときに、スタックの最下層のB3::1は、B2::1と一緒に取り除かれることが可能にされる。
【0115】
出口保護シナリオにおいてサービスパケットの正常な転送を保証するために、本発明の実施形態は、SRv6ネットワーク内の出口ノード(例えば、図1aに示されるPE24)によって、出口ノードが前述の特別な処理能力を有するか否かをヘッドノードにアドバタイズするための方法400を提供する。プライマリ出口ノードとして使用される必要があるノードが特別な処理能力を有すると判定した場合に、ヘッドノードは、ネットワークシステムの出口保護ソリューションを実行する際に協働するために、プライマリ出口ノードおよびセカンダリ出口ノードによって割り当てられたサービスラベル、例えば、VPNサービスを識別するために使用されるVPN SIDを、サービスパケットに追加することができる。図4は、出口ノードの処理能力をアドバタイズするための方法を示している。本方法は、図1aまたは図1bに示すネットワークシステムにおいて実施することができる。方法は、以下のステップを含み得る。
【0116】
S401:出口ノードは、広告メッセージ(advertisement message)を生成する。ここで、広告メッセージは、指示情報を含み、そして、指示情報は、出口ノードが、パケット内で搬送され、かつ、出口保護を実施するために使用される、セカンダリSIDを無視することができることを示すために使用される。
【0117】
出口ノードPE24は、指示情報を生成することができる。ここで、指示情報は、出口ノードとして機能するPE24が出口保護シナリオにおいてサービスパケット内のセカンダリSIDを無視する前述の処理能力を有するか否かをヘッドノードPE21にアドバタイズするために使用される。説明を容易にするために、以下では、この能力を略して処理能力(processing capability)と呼ぶ。指示情報は、広告メッセージ内で搬送され、そして、ヘッドノードPE21に送信され得る。可能な実装において、PE24は、指示情報で搬送される異なるコンテンツに基づいて、PE24が処理能力を有するか否かを判定する。具体的には、指示情報に含まれるコンテンツがAである場合、それは、PE24が処理能力を有することを示し、または、指示情報に含まれるコンテンツがBである場合、それは、PE24が処理能力を有していなことを示す。別の可能な実装において、PE24は、指示情報が搬送されるか否かに応じて、処理能力をアドバタイズする。具体的には、広告メッセージが指示情報を含む場合、それは、PE24が処理能力を有することを示し、または、広告メッセージが指示情報を含まない場合、それは、PE24が処理能力を有していないことを示す。実装にかかわらず、PE24によって送信された広告メッセージが指示情報を含む場合、指示情報は、PE24の処理能力を示すために独立して使用されてよく、または、PE24の処理能力を示すために広告メッセージ内で搬送される他の情報と一緒に使用されてよい。
【0118】
図1aで説明した同じASドメイン内の出口保護ソリューションが、一つの例として使用される。可能なアドバタイズメント方式(advertisement manner)において、広告メッセージは、ボーダーゲートウェイプロトコル(Border Gateway Protocol、BGP)メッセージであってよい。SRv6ネットワークにおいて、PE24は、BGPメッセージを使用することにより、VPNルートのVPN SIDラベルアドバタイズし得る。図3aに示されるように、VPN SIDに関連する情報は、BGPメッセージ内のセグメント識別子情報タイプ-長さ-値(segment identifier information type-length-value、SID情報TLV)フィールド内で搬送され得る。このフィールドは、BGPメッセージ内のサブタイプ-長さ-値(type-length-value、TLV)フィールドである。PE24の処理能力をアドバタイズするために、サブフィールドがSID情報TLVフィールドに追加され得る。サブフィールドは、また、TLVタイプであってもよい。このサブフィールドは、サブTLVとして使用されるSID情報TLVフィールド内のサブフィールドに属するので、サブサブTLV(sub sub TLV)フィールドと称され得る。サブサブTLVのタイプ(type)フィールドは、サブサブTLVのタイプが出口保護能力をアドバタイズするためのサブサブTLVであることを識別するために使用され得る。サブサブTLVの値(value)フィールドは、PE24の処理能力を示すために使用される指示情報を含み、ここで、値フィールドの長さは、サブサブTLVの長さ(length)フィールドによって示される。可能な実装において、サブサブTLVの値フィールドの長さは、1ビット(bit)であってよい。この場合には、サブサブTLVの値フィールドの値が1であるとき、それは、PE24が処理能力を有することを示し、そして、サブTLVの値フィールドの値が0であるとき、それは、PE24が処理能力を有していないことを示す、ように構成され得る。長さが1ビットである実装は、単に一つの例として使用されているだけであり、そして、必要なフォーマット要件を満たすため、または、より多くのサブ分割(subdivision)をアドバタイズするために、別の長さが、要件に基づいて、代替的に設定され得る。この実装において、PE24が処理能力を有するか否かにかかわらず、PE24は、サブサブTLVを追加することによってPE24の能力ステータスがアドバタイズされ得ることを知る必要がある。しかしながら、一つの可能なケースでは、PE24が処理能力を有していないため、PE24は、PE24自身が処理能力を有していないことをアドバタイズするためにサブサブTLVを付加する必要があることを知らない。従って、別の可能な実装において、PE24は、PE24が処理能力を有するとき、サブサブTLVを追加してよく、そして、PE24は、PE24が処理能力を有していないとき、意味なし(without sense)又は意味あり(with sense)の指示情報を含んでいるサブサブTLVを追加することをスキップする。意味ありサブサブLTVの追加をスキップすることは、PE24が処理能力を有する場合には、PE24がサブサブTLVを追加する必要があることを、PE24が知っており、そして、PE24が処理能力を有していない場合には、PE24がサブサブTLVを追加する必要がないことを、PE24が知っていること、を意味する。BGPメッセージを受信した後で、PE21は、BGPメッセージが、サブサブTLV、または、BGPメッセージにおいて搬送されるサブサブTLVにおける値フィールドの特定の値を搬送するか否かに応じて、PE24が、出口保護シナリオにおけるパス情報をサポートする処理能力を有するか否かを決定することができる。このシナリオにおいて、出口ノードPE24は、また、トンネルの出口ネットワークデバイスとしても称され、そして、ヘッドノードPE21は、トンネルの入口ネットワークデバイスと称され得る。
【0119】
図1aで説明された同じASドメインにおける出口保護ソリューションが、依然として、一つの例として使用される。別の可能なアドバタイズメント方式において、広告メッセージは、依然としてBGPメッセージであり、例えば、PE24によって送信され、そして、VPNルートをアドバタイズするために使用されるBGPメッセージであってよい。指示情報は、BGPメッセージ内の属性情報で搬送され得る。例えば、属性情報は、拡張コミュニティ属性タイプである。図3bに示されるように、出口保護能力をアドバタイズするために使用される拡張コミュニティ属性が定義されている。拡張コミュニティ属性は、指示情報を搬送するために使用され、PE24の処理能力を示す。
【0120】
第1の可能なケースにおいて、広告メッセージを受信した後で、PE21は、BGPメッセージが拡張コミュニティ属性を搬送するという事実に基づいて、PE24が処理能力を有すると決定してよく、そして、拡張コミュニティ属性が搬送されない場合、PE24が処理能力を有していないと決定することができる。この場合に、拡張コミュニティ属性で搬送される指示情報の形式およびコンテンツは、必要に応じて適切に設計され得る。
【0121】
第2可能なケースにおいては、PE24が処理能力を有するか否かに関わらず、拡張コミュニティ属性が追加される。広告メッセージを受信した後で、PE21は、拡張コミュニティ属性で搬送される指示情報の異なるコンテンツに基づいて、PE24が処理能力を有するか否かを判定することができる。例えば、PE24が処理能力を有する場合、指示情報は、値がAである指示フィールドを含み、そして、PE24が処理能力を有していない場合、指示情報は、値がBである指示フィールドを含む。
【0122】
第3の可能なケースにおいて、広告メッセージとして使用されるBGPメッセージ内の拡張コミュニティ属性および別の属性で搬送される指示情報は、PE24が処理能力を有するか否かを一緒に示している。可能な実装において、PE24が処理能力を有するとき、PE24は、拡張コミュニティ属性をBGPメッセージに追加する。ここで、拡張コミュニティ属性は、VPNルートのネクストホップ情報を含んでよく、そして、ネクストホップ情報は、拡張コミュニティ属性で搬送される指示情報である。ネクストホップ情報は、PE24のデバイス識別子、例えば、PE24のループバックアドレスまたはインターフェイスIPアドレスを含んでいる。BGPプロトコルの標準的な実装では、BGPメッセージで搬送されるネクストホップ属性も、また、ネクストホップ情報を搬送する。この場合、広告メッセージを受信した後で、PE21は、拡張コミュニティ属性において搬送されるネクストホップ情報がネクストホップ属性において搬送されるネクストホップ情報と一致するという事実に基づいて、PE24が処理能力を有すると決定することができる。PE21が、拡張コミュニティ属性において搬送されるネクストホップ情報がネクストホップ属性において搬送されるネクストホップ情報と一致しないという事実に基づいて、PE24が処理能力を有していないと決定するアプリケーションシナリオが、さらに、以下で図1bを参照して説明される。
【0123】
前述の3つのケースは、単に可能な一つの例として使用されている。別の可能な実装において、指示情報は、代替的に、BGPメッセージ内の別の可能なフィールド内で搬送されてよく、または、アプリケーションシナリオ要件に基づいて、広告のための別のタイプの広告メッセージ内で搬送されてよい。別の可能な実装においては、ヘッドノードが、関連付け方法で、指示情報と、サービスパケット転送を案内するためのサービスルートとの間の関係を確立し、そして、その関係に基づいて、送信されるサービスパケット内に、プライマリ出口ノードが特別な処理を実行する必要があるパス情報を含めるか否かを決定することができる場合、指示情報は、広告メッセージで独立して搬送されてよく、かつ、サービスルートと一緒にアドバタイズされない。
【0124】
次いで、出口ノードPE24が、指示情報を生成し、そして、アドバタイズメントのために広告メッセージ内に指示情報を配置する別の方式を説明するために、図1bで説明されるインタードメイン出口保護ソリューションを一つの例として使用する。この場合、マルチセグメント化されたトンネルAのドメイン境界ノードおよび出口ノードとしてのPE24は、宛先アドレスが2.2.2.2であり、かつ、BGPメッセージを使用することによってPE27によってアドバタイズされる、VPNルートを受信することができる。このシナリオにおいて、出口ノードPE24は、また、マルチセグメント化(multi-segmented)トンネルAの出口ネットワークデバイスとも称され、そして、ヘッドノードPE21は、マルチセグメント化トンネルAの入口ネットワークデバイスと称され得る。
【0125】
VPNルートに含まれるVPN SIDのサブサブTLVにおいて指示情報が搬送される前述の方式が使用される場合に、可能なケースにおいて、PE24がPE27によってアドバタイズされたBGPメッセージを受信するとき、セカンダリSIDについてトンネルBの出口ノードとして機能するPE27の処理能力をアドバタイズするためにPE27によって使用される第1サブサブTLVが含まれ、そして、第1サブサブTLVが、PE27によって割り当てられた第1VPN SIDで搬送される。BGPメッセージを受信するとき、PE24は、次のホップを修正し、宛先アドレスが2.2.2.2であるVPNルートについて第2VPN SIDを再割り当て、そして、第1サブサブTLVを含む受信された第1VPN SIDを置き換える必要がある。この場合、PE24は、トンネルAの出口ノードとして機能するPE24がセカンダリSIDのための処理能力を有するか否かを示すために、新たに生成された第2サブサブTLVを再割り当てされた第2VPN SIDに追加することができる。PE27が処理能力を有していない場合に、第1サブサブTLVは、第1VPN SIDで搬送されなくてよいことが理解されるだろう。
【0126】
指示情報がBGPメッセージ内の拡張コミュニティ属性で搬送される前述の方式が使用される場合に、可能なケースにおいて、PE27が処理能力を有する場合、PE27は、同じネクストホップ情報、例えば、PE27のループバックアドレスを、PE24に送信されるBGPメッセージ内のネクストホップ属性および拡張コミュニティ属性に追加することができる。BGPメッセージを受信すると、トンネルAの出口ノードとしてのPE24は、BGPメッセージ内のネクストホップ属性をPE24のループバックアドレスに変更する必要がある。この場合、PE24が処理能力を有する場合に、PE24は、また、拡張コミュニティ属性内のネクストホップ情報をPE24のループバックアドレスに変更することもできえる。しかしながら、PE24が、拡張コミュニティ属性を使用することによって処理能力がアドバタイズされ得ることを知っているが、処理能力を有しておらず、または、拡張コミュニティ属性を使用することによって処理能力がアドバタイズされ得ることさえ知らない場合に、PE24は、拡張コミュニティ属性内のネクストホップ情報を修正しない。つまり、この場合、拡張コミュニティ属性内のネクストホップ情報は、依然として、PE27を示している。従って、更新されたBGPメッセージをPE24から受信するとき、PE21は、BGPメッセージで搬送されたネクストホップ属性が拡張コミュニティ属性に含まれるネクストホップ情報と一致するか否かに応じて、PE24が処理能力を有するか否かを判定することができる。BGPメッセージで搬送されるネクストホップ属性が、拡張コミュニティ属性に含まれるネクストホップ情報と一致する場合、それは、PE24が処理能力を有することを示し、もしくは、BGPメッセージで搬送されるネクストホップ属性が、拡張コミュニティ属性に含まれるネクストホップ情報と一致しない場合、それは、PE24が処理能力を有していないことを示す。
【0127】
S403:出口ノードは、広告メッセージをヘッドノードに転送する。
【0128】
出口ノードは、生成された広告メッセージをアドバタイズする。ここで、広告メッセージは、最初に1つ以上の中間ノードによって受信され、そして、ヘッドノードPE21によって受信されるまで分散(scattered)され得る。図1aが、依然として、一つの例として使用される。PE24によって送信された広告メッセージは、最初にP31によって受信され、そして、バックボーンノードとして機能するP31は、広告メッセージに対していかなる処理も実行しないが、広告メッセージを次のノードに直接的に転送する。説明を簡単にするために、例えば、図における、P31のネクストホップは、ヘッドノードPE21である。実際のアプリケーションシナリオにおいて、1つ以上の中間ノードが、さらに、P31とPE21との間に含まれ得る。一つの例において、図1aで説明したイントラドメインシナリオについて、ユーザ側デバイスに接続されたPEデバイスとしての出口ノードPE24は、初めて、広告メッセージを生成することができる。図1bで説明したインタードメインシナリオについて、出口ノードPE24は、マルチセグメント化トンネルの出口ノードとして機能することができ、または、複数のマルチセグメント化トンネルを含むエンドツーエンドトンネルの中間ノードとして理解することができ、そして、PE27によって生成され、かつ、アドバタイズされた広告メッセージを受信した後で、広告メッセージを修正して広告メッセージを更新するように広告メッセージを修正することができる。この場合、S401において出口ノードPE24が広告メッセージを生成することは、受信した広告メッセージをPE24が更新すること、として理解されてよく、これは、再生成とみなされる。
【0129】
S405:ヘッドノードは、広告メッセージ内の指示情報に基づいて、サービスパケットを送信する。ここで、サービスパケットは、プライマリ出口ノードによって割り当てられたプライマリVPN SID、および、セカンダリ出口ノードによって割り当てられたセカンダリVPN SIDを搬送する。
【0130】
PE24によってアドバタイズされた広告メッセージを受信した後で、ヘッドノードPE21は、異なる可能な実装に基づいて、PE24が処理能力を有するか否か、広告メッセージが指示情報を搬送するか否か、または、搬送された指示情報の具体的なコンテンツ、を決定することができる。
【0131】
可能なケースでは、PE24によってアドバタイズされた広告メッセージを受信する前に、ヘッドノードPE21は、PE24がプライマリ出口ノードであることを事前に知らないか、または、決定しないことがある。この場合、ヘッドノードPE21は、出口ノードとして機能することができる別のデバイスPE25から、PE25によってアドバタイズされた広告メッセージをさらに受信して、PE25によってアドバタイズされた広告メッセージで搬送される指示情報に基づいて、PE25が処理能力を有するか否かを判定することができる。広告メッセージに含まれる指示情報を使用することによってPE25の処理能力をアドバタイズする具体的な方式については、S201およびS203におけるPE24の処理能力をアドバタイズする関連する説明を参照のこと。ディーグレス(deegresss)について、ここでは再度説明されない。PE24およびPE25によって別々にアドバタイズされた広告メッセージを受信した後で、PE21は、PE24およびPE25が処理能力を有するか否かに応じて、または、さらに、ローカルポリシーを参照して、プライマリ出口ノードおよびセカンダリ出口ノードを決定し、そして、役割設定に基づいて、プライマリSIDとしてプライマリ出口ノードによってアドバタイズされたVPN SID、および、セカンダリSIDとしてセカンダリ出口ノードによってアドバタイズされたVPN SIDを別々に使用することができる。
【0132】
別の可能なケースにおいて、ヘッドノードPE21は、PE24およびPE25のプライマリロールおよびセカンダリロールを事前に知ることができる。この場合、ヘッドノードPE21は、代替的に、PE24がアドバタイズした広告メッセージのみを受信し得る。加えて、VPNのサービスパケットを送信する前に、ヘッドノードPE21は、さらに、プライマリ出口ノードPE24によってアドバタイズされたVPNルートおよびセカンダリ出口ノードPE25によってアドバタイズされたルートを別々に獲得する。プライマリ出口ノードPE24によってアドバタイズされたVPNルートは、PE24によって送信される広告メッセージ、例えば、BGPメッセージで搬送され得る。PE24によってアドバタイズされたVPNルートは、PE24によってVPNに割り当てられたVPN SID B2::1を含み、そして、PE25によってアドバタイズされたVPNルートは、PE25によってVPNに割り当てられたVPN SID B3::1を含んでいる。
【0133】
特定の使用される決定方式にかかわらず、PE24が処理能力を有していないと決定したときに、PE21は、従来の方式を選択することができ、すなわち、VPN SID B2::1をスタックボトムラベルとしてVPNサービスのパケットのSRHヘッダの中へカプセル化し、そして、パケットを送信することができる。PE24が処理能力を有すると判定した場合に、PE21は、B3::1をスタックボトムラベルとして使用し、B2::1をB3::1に隣接するスタックラベル位置に配置し、B2::1をVPNサービスのパケットのSRHヘッダの中へカプセル化し、そして、パケットを送信することができる。
【0134】
S407:出口ノードは、サービスパケットを受信し、そして、サービスパケットで搬送されるセカンダリSIDを無視する。
【0135】
可能なケースにおいて、プライマリSIDおよびセカンダリSIDを搬送するサービスパケットを受信するとき、プライマリ出口ノードとして機能する出口ノードは、サービスパケットのペイロード部分で搬送されるユーザ側ルーティング情報に基づいて後続の転送を完了するために、パケットヘッダが、さらに、スタックの最下部にセカンダリSIDを含む場合であっても、プライマリSIDのマッチング結果に基づいて、サービスパケットのパケットヘッダをカプセル化解除(decapsulate)することができる。図1aに示されるSRv6ネットワークは、依然として一つの例として使用される。プライマリ出口ノードPE24が故障していない場合に、PE24は、ヘッドノードPE21によって送信されたVPNサービスのパケットを受信し、そして、現在のIPv6ヘッダのDAフィールドで搬送されるSID情報が、PE24によって割り当てられたVPN SID B2::1と一致することを発見することができる。この場合、サービスパケットのパケットヘッダは、カプセル化解除され得る。パケットヘッダのSRHは、プライマリSIDであるB2::1およびセカンダリSIDであるB3::1を含むので、カプセル化解除動作によって、B2::1およびB3::1が、一緒に除去される。すなわち、この場合、PE24がサービスパケットで搬送されるセカンダリSIDに対して無視処理を実行することは、具体的には、除去を通じた処理なしに無視を実施することである。パケットヘッダがカプセル化解除された後で、ユーザ側へのパケットの転送を完了するために、パケットのペイロード部分に含まれる宛先アドレス2.2.2.2に基づいて、仮想ルーティングおよび転送(virtual routing and forwarding、VRF)テーブルが検索され得る。
【0136】
別の可能なケースでは、プライマリSIDおよびセカンダリSIDを搬送するサービスパケットを受信するとき、プライマリ出口ノードとして機能する出口ノードは、プライマリSIDのマッチング結果に基づいて、プライマリSIDに対応するSIDリストを検索し、そして、後続の転送をガイドするために、SIDリストをサービスパケットに追加することができる。図1bに示されるSRv6ネットワークが、依然として、一つの例として使用される。トンネルAのプライマリ出口ノードPE24が故障していない場合、PE24は、ヘッドノードPE21によって送信されたVPNサービスのパケットを受信することができる。加えて、PE24は、次のホップを修正し、そして、VPNルートのアドバタイズメントの最中にVPNサービスを識別するVPN SID B2::1を再割り当てするので、VPNサービスのパケットを受信するとき、PE24は、現在のIPv6ヘッダのDAフィールドで搬送されるSID情報が、PE24によって割り当てられたVPN SIDB2::1と一致することを見つける。この場合、PE24は、B2::1に対応するSIDリストをローカルに検索することができ、ここで、SIDリストは、PE24からPE27へのサービスパケットの転送を示すために使用される。この場合、異なる特定の実装に基づいて、可能なケースにおいて、PE24は、最初に、トンネルAに関連付けられたパケットヘッダを除去し、そして、パケットに対して、SIDリストを含み、かつ、トンネルBに関連付けられたパケットヘッダを追加することができる。この場合は、PE24が、除去を通じてB3::1を無視することに相当する。別の可能なケースにおいて、PE24は、代替的に、SIDリストをパケットに追加し、B3::1をスキップし、そして、パケット転送をガイドするために、SIDリスト内のSIDを読み取ることができる。
【0137】
方法400において、ヘッドノードは、パスオーケストレーション(path orchestration)の役割を果たすことができる。ヘッドノードは、出口ノードによってヘッドノードにアドバタイズされた広告情報に基づいて、出口ノードがパケット内のセカンダリパス情報のために特別な処理能力を有するか否かを決定して、出口ノードが処理能力を有するときに、出口ノードがプライマリ出口ノードとして設定されることを保証し、プライマリ出口ノードが故障していないときに、セカンダリパス情報を無視するために除去またはスキップといった動作が実行され得ることを保証する。このことは、プライマリ出口ノードが故障していないときに、正常なパケット転送を保証する。本方法400は、この出願のシナリオ1で説明される出口保護ソリューションに適用されてよく、または、ヘッドノードが、パケット伝送パス上の別のノードによってアドバタイズされる処理能力ステータスに基づいて、パケットがセカンダリパス情報を搬送するか否かを決定する必要がある、別の可能なシナリオに適用されてよい。別の可能なアプリケーションシナリオ、例えば、本出願で説明されるシナリオ2において、コントローラは、また、パスオーケストレーションの役割を果たすこともできる。従って、この出願の実施形態は、さらに、方法500を提供する。本方法に従って、コントローラは、転送ノードから受信された広告メッセージに基づいて転送ノードの処理能力を決定することができ、広告メッセージに基づいて、パケット転送のために編成されたパスがセカンダリパス情報を含み得るか否かを決定し、プライマリルートが故障していないときにパケットの正常な転送を保証する。図5は、出口ノードの処理能力をアドバタイズする方法を示している。本方法は、図2に示されるネットワークシステムにおいて実施することができる。方法は、以下のステップを含み得る。
【0138】
S501:転送ノードは、広告メッセージを生成する。ここで、広告メッセージは、指示情報を含み、そして、指示情報は、受信されたパケットに含まれ、かつ、セカンダリパスを示すために使用される、セカンダリSIDを、転送ノードが無視できることを示すために使用される。
【0139】
転送パス上の転送ノードの役割は、トンネルの中間ノードまたは出口ノードであり得る。サービス転送のための指示情報およびルート(例えば、VPNルート)が広告のためのメッセージで搬送される方式とは異なり、コントローラが存在するシナリオにおいて、転送ノードは、制御タイプの広告メッセージ、例えば、BGPリンクステートプロトコル(Border Gateway Protocol-Link State、BGP-LS)メッセージを生成することができ、転送ノードの処理能力をアドバタイズする。指示情報は、BGP-LSメッセージ内の指定されたフィールドで搬送されてよく、そして、転送ノードが処理能力を有するか否かは、指示情報に含まれる異なるコンテンツに基づいて判定されてよい。可能なケースにおいて、転送ノードは、さらに、転送ノードによって割り当てられたSID、例えば、シナリオ2におけるサービスタイプのSID、または、転送ノードを示すノードSIDをコントローラにアドバタイズすることができる。別の可能なケースにおいて、転送ノードによってマッチングまたは使用される必要があるSIDは、代替的に、コントローラによって構成され、そして、配信され得る。
【0140】
S503:転送ノードは、広告メッセージをコントローラに転送する。
【0141】
コントローラの管理ドメイン範囲に属し、かつ、転送ノードを含む、各転送ノードは、広告メッセージをコントローラに送信することができる。広告メッセージは、各転送ノードによって、コントローラに能動的に送信されてよく、または、コントローラによって送信された制御命令が受信された後に応答として送信されてよい。
【0142】
S505:コントローラは、広告メッセージ内の指示情報に基づいて、プライマリSIDおよびセカンダリSIDを決定し、そして、プライマリSIDおよびセカンダリSIDを、サービスパケットを転送する入口ノードに送信する。
【0143】
転送ノードによって送信された広告メッセージを受信した後で、コントローラは、広告メッセージで搬送される指示情報に基づいて、転送ノードが処理能力を有するか否かを判定する。コントローラは、さらに、別の転送ノードによって送信された広告メッセージで搬送される指示情報に基づいて、別の転送ノードが処理能力を有するか否かをさらに判定し得る。コントローラは、各転送ノードが処理能力を有するか否かに応じて、かつ、各ノードのサービス要件および能力ステータスを参照して、サービス転送パスを編成することができ、プライマリ転送ノードに関連付けられたプライマリSIDおよびセカンダリ転送ノードに関連付けられたセカンダリSIDを決定する。プライマリSIDおよびセカンダリSIDは、ノードタイプのSIDまたはサービスタイプのSIDであってよく、または、別の定義されたタイプのSIDであってよい。異なるタイプのSIDは、SIDが一致したときに、対応する動作を実行するように転送パス上のノードを示すために使用され得る。
【0144】
S505においては、コントローラが、広告メッセージを受信し、かつ、広告メッセージに基づいてルートオーケストレーションを完了することが、一つの例として使用されている。別の可能な実施形態において、コントローラから独立したパスオーケストレータは、コントローラによって実行され、そして、広告メッセージに基づいてパスを編成(orchestrate)し、かつ、編成されたパスを入口ノードに送信する、機能を完了することができる。可能な実装において、パスオーケストレータは、代替的に、コントローラのコンポーネントとしてコントローラに統合されてよい。
【0145】
S507:入口ノードは、プライマリSIDおよびセカンダリSIDをサービスパケットに追加し、そして、サービスパケットを送信する。
【0146】
入口ノードによってコントローラからプライマリSIDおよびセカンダリSIDを受信する方式は、入口ノードから出口ノードへの転送をガイドするためのエンドツーエンドパスオーケストレーション情報をコントローラから受信することであり得る。ここで、エンドツーエンドパスオーケストレーション情報は、プライマリSIDおよびセカンダリSIDを含み、または、いくつかのキーパスセグメント上での転送をガイドするためのローカルパスオーケストレーション情報を、コントローラから、受信することであり得る。ローカルパスオーケストレーション情報は、プライマリSIDおよびセカンダリSIDを含んでいる。ローカルパスオーケストレーション情報を受信した後で、入口ノードは、サービスパケット転送をガイドするための他の必要なSID情報を獲得し続け、そして、ローカルパスオーケストレーション情報、および、獲得され続ける他のSID情報を使用することによって、転送をガイドするための完全なパス情報を生成する。例えば、シナリオ2において、コントローラは、ファイアウォールのクリーニングサービスに関連するローカルパスのみを編成することができ、すなわち、サービス保護を実施するために使用される少なくともプライマリSIDおよびセカンダリSIDを転送ノードに送信することができる。次いで、転送ノードは、サービス保護をサポートすることができる、完全なパス情報を決定するために、出口ノードへのサービスパケットの転送をガイドするための獲得されたパス情報およびローカルルートのオーケストレーション情報を組み合わせる。
【0147】
入口ノードによって送信され、プライマリSIDおよびセカンダリSIDを含むパス情報は、サービスパケットのパケットヘッダで搬送され得る。例えば、SRv6ネットワークにおいて、プライマリSIDおよびセカンダリSIDは、IPv6拡張ヘッダのSRHの中へカプセル化され得る。SR-MPLSネットワークにおいて、プライマリSIDおよびセカンダリSIDは、MPLSパケットヘッダの中へカプセル化され得る。
【0148】
S509:転送ノードは、サービスパケットを受信し、そして、プライマリSIDが一致すると判定した場合、サービスパケットで搬送されたセカンダリSIDを無視する。
【0149】
転送ノードが配置されているプライマリパスが故障していないシナリオにおいて、サービスパケットを受信した後で、転送ノードは、サービスパケットで搬送されたプライマリSIDがローカルに保管されたSIDと一致し得ることを発見することができ、そして、マッチング結果に基づいて対応する動作を実行することができる。転送ノードが配置されたプライマリパスが故障していないことは、例えば、プライマリノードとして機能する転送ノードが故障していないこと、または、転送ノードに接続され、かつ、サービスを提供するプライマリサービスノードが故障していないことであり得る。例えば、プライマリSIDのタイプがVPN SIDであり、プライマリSIDが図1bで説明したシナリオに適用される場合に、転送ノードは、プライマリSIDに対応するSIDリストを獲得することができ、そして、次のドメインにおけるパケットの転送をガイドするためにSIDリストをパケットヘッダに追加することができる。別の例について、プライマリSIDのタイプが図2において説明されるシナリオにおけるサービスタイプのSIDである場合に、転送ノードは、サービスタイプのSIDに基づいて、サービスを提供することができるファイアウォールを決定し、そして、クリーニングを完了するためにサービスパケットをファイアウォールに送信することができる。
【0150】
プライマリルートに障害がない前述のシナリオにおいて、セカンダリノードに関連付けられたセカンダリSIDは、使用される必要がない。サービスパケットの後続する正常な転送を保証するために、プライマリノードとして機能する転送ノードは、サービスパケットで搬送されるセカンダリSIDを無視する必要がある。セカンダリSIDを無視する具体的な処理方法は、シナリオに応じて変動してよい。例えば、図2に示されるシナリオにおいて、プライマリパス上のファイアウォール51が故障していないことを発見した場合には、サービスタイプのものであり、かつ、ファイアウォール51に関連付けられたSIDS2::1に基づいて、PE22は、サービスパケットをファイアウォール51に転送するためのプライマリパスを決定することができ、ファイアウォール51を使用することによりサービスパケットをクリーンにする。この場合、パケット転送エラーを回避するために、PE22は、セカンダリSIDを無視する必要がある。このシナリオにおいて、PE22は、サービスパケットを転送する出口ネットワークデバイスでなくてよいが、パケット転送パス上の中間ネットワークデバイスとしてのPE22は、セカンダリSIDの後に配置された別のSIDを使用することによって転送を実行し続ける必要がある。従って、セカンダリSIDは、パケットヘッダを除去することによって無視することができず、そして、後続の転送によって必要とされる別のSIDを読み取るために、ラベルスタック内のセカンダリSIDのみをスキップすることができる。すなわち、図2に示されるシナリオにおいて、PE22は、スキップ方式でセカンダリSIDを無視する必要がある。異なるSID搬送方式およびアプリケーションシナリオに基づいて、ここにおけるスキップは、セカンダリSIDを読み取ることなくセカンダリSIDを直接的にスキップすること、または、セカンダリSIDを読み取るが、セカンダリSIDを使用することにより任意の動作を実行することをスキップすることを含み得る。
【0151】
例えば、図2において、セカンダリパス情報は、1つのセカンダリSIDを含んでいる。別の可能なシナリオにおいて、セカンダリパス情報は、代替的に、複数のセカンダリSIDを含み得る。複数のセカンダリSIDは、複数のセカンダリパスを示すために使用されてよく、または、複数のセカンダリSIDは、1つのセカンダリパスを示すために使用されてよい。転送ノードは、1つ以上のセカンダリSIDがいつスキップされる必要があるかを知る必要がある。加えて、場合によって、例えば、セカンダリSIDの数が固定値でないとき、転送ノードは、スキップされる必要があるセカンダリSIDの数を知る必要がある。可能な実装において、特定のタイプのプライマリSIDが一致するとき、転送ノードは、所定の数のセカンダリSIDをスキップする。例えば、サービスタイプのSID S2::1が一致することを発見したとき、図2におけるPE22は、サービスパケットで搬送される現在のSIDリスト内の次のSID、すなわち、セカンダリSID S1::1をスキップし得る。別の可能な実装において、転送ノードは、プライマリSIDに関連付けられた指示情報に基づいて、プライマリSIDが一致するときにスキップされる必要があり、かつ、プライマリSIDの後に配置された、1つ以上のセカンダリSIDを決定することができる。指示情報は、例えば、スキップされる必要があるSIDの数量の値を含み得る。同様に、指示情報は、代替的に、セカンダリSIDに関連付けられよく、例えば、スキップされる必要があり、かつ、セカンダリSIDを含むSIDの数を示すために、第1セカンダリSIDに関連付けられてよい。上記は単に可能な例に過ぎず、そして、別の指示方式が設計されてよく、その結果、転送ノードが無視される必要がある1つ以上のセカンダリSIDを決定することができる。説明を容易にするために、転送ノードによって無視される必要があるSIDは、セカンダリSIDと称される。しかしながら、実際の適用の最中に、転送ノードは、転送ノードによって無視される必要があるSIDがセカンダリパスを示すSIDであることを実際には知らないことがあるが、ローカルに定義されたルールに従って、または、指示情報に基づいて、転送ノードが1つ以上の後続のSIDを無視する必要があると決定するだけである。
【0152】
加えて、コントローラがプライマリSIDおよびセカンダリSIDを入口ノードに送信する実装がS505において説明されているが、別の可能な実装ソリューションにおいて、コントローラは、代替的に、転送ノードから受信された広告メッセージのみに基づいて、転送ノードの中でプライマリノードおよびセカンダリノードを決定し、かつ、入口ノードに対して、パケット転送パス上のプライマリノードおよびセカンダリノードを示すために使用されるメッセージを送信するように許可されてよい。次いで、入口ノードは、メッセージに基づいて、プライマリノードに関連付けられたプライマリSIDをローカルに獲得し、そして、セカンダリノードに関連付けられたセカンダリSIDを獲得する。
【0153】
シナリオ1および2を参照して、上記では、入口ネットワークデバイスまたはコントローラが、転送ノードから受信された広告メッセージ内で搬送される指示情報に基づいて、転送ノードがセカンダリパス情報を無視する能力を有するか否かを判定し、そして、転送ノードがその能力を有すると判定した場合、転送ノードに送信されるパケットにセカンダリパス情報を追加することができる、ソリューションを説明している。対応するソリューションに従って、プライマリパス上に構成された転送ノードが対応する能力を有すると決定した場合、入口ネットワークデバイス、または、パスを編成するためのコントローラは、セカンダリパス情報を転送される必要があるパケットに追加することができ、プライマリパスが故障していないとき、転送ノードが、パケット内のセカンダリパス情報を無視することができ、そして、セカンダリパスを決定するためにセカンダリパス情報を使用しないことを保証する。このことは、プライマリパスが故障していないシナリオにおけるパケットの正常な転送を保証する。
【0154】
方法400および方法500は、上述したシナリオ1およびシナリオ2に対して、それぞれに、適用され得る。しかしながら、方法400および方法500と同様であり、かつ、転送ノードによってアドバタイズされた能力ステータスに基づいて、セカンダリパス情報がパケットで搬送されるか否かを決定するために使用されるソリューションは、より多くのアプリケーションシナリオに適用され得る。以下は、本発明の一つの実施形態に従った、ネットワークデバイスの処理能力をアドバタイズするための方法600を説明している。方法600は、シナリオ1およびシナリオ2を含んでいる、異なる特定のアプリケーションシナリオに適用され得る。
【0155】
S601:第1ネットワークデバイスは広告メッセージを生成する。ここで、広告メッセージは、指示情報を含み、指示情報は、第1ネットワークデバイスの処理能力を示すために使用され、第1ネットワークデバイスの処理能力は、第1ネットワークデバイスがパケットを転送するためのプライマリパス上のネットワークデバイスとして機能し、かつ、プライマリパス情報およびセカンダリパス情報を含むパケットを受信するときに、セカンダリパス情報を無視する処理能力を含み、そして、セカンダリパス情報は、プライマリパスが利用不可能であるときに、パケットを転送するための1つ以上のセカンダリパスを示すために使用される。
【0156】
第1ネットワークデバイスは、例えば、転送パス上のトンネルの出口ネットワークデバイスまたは中間ネットワークデバイスであり得る。指示情報を搬送する広告メッセージは、ネットワークアーキテクチャおよびアプリケーションシナリオを参照して決定される任意の可能なメッセージタイプであり得る。例えば、IGPメッセージ、BGP-LSメッセージ、または、ルートをアドバタイズするために使用されるBGPメッセージである。広告を受信するデバイスがトンネルの入口ネットワークデバイスである場合に、VPNルートをアドバタイズするためのBGPメッセージが、指示情報を搬送するために使用され得る。例えば、方法400におけるS401を参照のこと。アドバタイズメントを受信する入口ネットワークデバイス、および、出口ネットワークデバイスまたは中間ネットワークデバイスとして機能する第1ネットワークデバイスが、同じネットワークドメインに属するデバイスである場合に、IGPメッセージは、代替的に、指示情報を搬送するために使用され得る。広告を受信するデバイスがコントローラまたはパスオーケストレータである場合に、BGP-LSメッセージは、指示情報を搬送するために使用され得る。例えば、方法500におけるS501を参照のこと。BGPメッセージは、さらに、パブリックルートをアドバタイズするために使用され得る。広告を受信するデバイスがパブリックネットワーク転送パス上のネットワークデバイスである場合、BGPメッセージ内のパブリックネットワークルーティング情報が、さらに、指示情報を搬送するために使用され得る。例えば、指示情報は、パブリックルートのパブリックセグメント識別子(public SID)フィールドで搬送される。
【0157】
可能な実装においては、指示情報が搬送されるという事実に基づいて、第1ネットワークデバイスが処理能力を有すると判定されてよく、または、指示情報が搬送されないという事実に基づいて、第1ネットワークデバイスが処理能力を有していないと判定されてよい。例えば、方法400のS401で説明したサブサブTLVの実装である。別の可能な実装においては、搬送される指示情報が第1値であるという事実に基づいて、第1ネットワークデバイスが処理能力を有すると判定されてよく、または、搬送される指示情報が指示情報とは異なる第2値であるという事実に基づいて、第1ネットワークデバイスが処理能力を有していないと判定されてよい。いくつかの可能な場合においては、第1値または第2値を有する指示情報、および、広告メッセージ内で搬送される他の情報の両方が、第1ネットワークデバイスが処理能力を有するか否かを判定するための情報として使用されてよい。例えば、方法400のS401で説明される実装であり、そして、そこでは、BGPメッセージ内の拡張コミュニティ属性で搬送される情報が、ネクストホップ属性で搬送される情報と一致するか否かが、比較を通じて判定される。
【0158】
広告メッセージを使用することにより第1ネットワークデバイスによってアドバタイズされる処理能力は、第1ネットワークデバイスによって、受信されたサービスパケットで搬送されるセカンダリ指示情報を無視する処理能力を含んでいる。例えば、プライマリパスが故障していない場合、サービスパケットを受信するとき、第1ネットワークデバイスは、サービスパケットで搬送されるプライマリパス情報についてマッチングを実行することができ、そして、マッチングが成功した後で、サービスパケットに含まれるセカンダリパス情報を無視することができる。プライマリパス情報は、プライマリパスを示すために使用することができ、かつ、パケットに含まれる、1つ以上のフィールドとして理解され得る。図1aに示されるシナリオは、一つの例として使用されている。SRv6ネットワークにおいて、PE21によって送信されるVPNサービスのパケットは、IPv6ヘッダおよびSRHヘッダを含むパケットヘッダを搬送し得る。この場合、プライマリパス情報は、セカンダリSID B3::1を除いたSRHヘッダ内の全てのSIDを含んでよく、そして、さらに、IPv6ヘッダ内のDAフィールドに含まれるSIDを含んでよい。DAフィールドに含まれるSIDは、転送プロセスにおいて動的に変化し得る。いくつかの可能なアプリケーションシナリオにおいては、プライマリSIDが、プライマリパス情報として使用され、そして、プライマリパス情報に基づいて完了される必要があり、かつ、本発明の実施形態で説明される様々な可能な機能を完全に実行することができるという条件で、プライマリパス情報は、また、セカンダリSID(例えば、B3::1)を用いてプライマリ/セカンダリ保護を形成する、対応するプライマリSID(例えば、B2::1)とみなすこともできる。
【0159】
セカンダリパス情報は、プライマリパスが利用不可能であるときに、パケットを転送するための1つ以上のセカンダリパスを示すために使用されることが理解されるだろう。プライマリノードとして機能する第1ネットワークデバイスが故障している場合、例えば、前述のシナリオ1の説明を参照のこと、または、第1ネットワークデバイスに接続され、かつ、サービスを提供することができるデバイスが故障している場合、例えば、前述のシナリオ2の説明を参照のこと、プライマリパスは利用不可能である。しかしながら、プライマリパスの利用不可能性を引き起こし得る前述の2つの可能な障害タイプまたは別の障害シナリオ、例えば、プライマリノードに接続するために使用されるリンクが故障していること、が発生しない場合に、サービスパケットを受信するとき、プライマリパス上に配置された第1ネットワークデバイスは、セカンダリパス情報が正常なパケット転送に影響を及ぼすことを回避するために、サービスパケットに含まれるセカンダリパス情報について特別な処理を実行する必要がある。可能な実装において、第1ネットワークデバイスがセカンダリパス情報を無視する方式は、除去(removal)であり得る。除去は、図1aに示されるSRv6ネットワークシナリオにおいてパケットヘッダ全体を除去することによって実施される除去であってよい。このシナリオにおいて、ユーザ側デバイスに接続された出口ノードとして機能する第1ネットワークデバイスは、VPN SID B2::1が一致した後で、VPNサービスのパケットのパケットヘッダ全体を除去し、そして、パケットのペイロード部分で搬送されるVPN情報を使用することによって、第1ネットワークデバイスからユーザ側デバイスへの後続の転送を完了することができる。このストリッピング(stripping)方式では、パケットヘッダに含まれるプライマリパス情報およびセカンダリパス情報が一緒に除去される。しかしながら、SR-MPLSネットワークでは、パケットヘッダ内で使用された(例えば、マッチングが完了した)SIDが、SIDリストからポップアウトされるので、SR-MPLSネットワークでは、第1ネットワークデバイスの役割が中間ノードであるか、または、出口ノードであるかにかかわらず、プライマリパス情報、例えば、第1ネットワークデバイスに関連付けられたプライマリSIDが、マッチングされた後で、第1ネットワークデバイスは、ローカルプリセットルールに従って、または、パケットで搬送される指示情報に基づいて、プライマリSIDの後に配置された1つ以上のセカンダリSIDについてポップ動作が実行される必要があると決定する。ここで、ポップ動作は、1つ以上のセカンダリSIDの除去を引き起こす。別の可能な実装において、第1ネットワークデバイスがセカンダリパス情報を無視する方式は、スキップすること(skipping)であり得る。ここで、スキップすることは、具体的には、セカンダリパス情報を読み出すことなく第2パス情報を直接的にスキップすること、または、セカンダリパス情報が読み出されても、転送をガイドするためのセカンダリパス情報を使用することなく、無視できる方式で第2パス情報をスキップすることであり得る。例えば、図2に示されるSRv6ネットワークシナリオにおいて、プライマリパス情報として使用されるプライマリSID S2::1が一致した後で、中間ノードPE22は、ラベルスタックにおいてS2::1の次のセカンダリSIDS3::1をスキップする必要がある。すなわち、パケット転送エラーを回避するために、S3::1を使用しないで、パケット転送をセカンダリファイアウォール52にガイドする。セカンダリパス情報を無視する方式は、代替的に、要件に基づいて、別の方式で設計されてよい。例えば、セカンダリパス情報にマークを付し、そのマークを使用することにより、セカンダリパス情報が使用されていないことを識別することが可能にされる。
【0160】
処理を無視する具体的なケースは、第1ネットワークデバイスがセカンダリパス情報を無視し、かつ、パケット転送をガイドするためにセカンダリパス情報を使用しないことであってもよく、または、第1ネットワークデバイスがセカンダリパス情報を無視し、かつ、例えば、セカンダリパス情報が含まれるときに、パケットヘッダをパケットから取り除くことが可能にされ、パケットを正常に処理できることであってよいことが分かる。無視することを実施するための複数の特定の動作方式が存在してよく、そして、特定の動作方式は、特定のアプリケーションシナリオを参照して決定され得る。加えて、無視することの実行は、セカンダリパス情報について第1ネットワークデバイスがいかなる動作も明確に実行しないことを意味するものではない。例えば、いくつかの可能なアプリケーションシナリオまたは設計方式において、第1ネットワークデバイスは、最初にセカンダリパス情報を読み取り、そして、スキップ方式でセカンダリパス情報を無視することができる。
【0161】
図1a図1b、および図2の概略図のそれぞれにおいては、1つのセカンダリSIDがセカンダリパス情報として使用されている。しかしながら、別の可能なアプリケーションシナリオにおいて、セカンダリパス情報は、代替的に、複数のセカンダリSIDを含んでよく、そして、複数のセカンダリSIDは、プライマリパスが故障しているときに使用され得る複数のセカンダリパスを、それぞれに、示すために使用されてよく、または、複数のセカンダリSIDの一部または全部が、セカンダリパスを共同で示すために使用されてよい。複数のセカンダリSIDが、それぞれに、複数のセカンダリパスを示す場合、複数のセカンダリパスを使用するシーケンスは、SIDリストにおける複数のセカンダリSIDの配置シーケンスに基づいて決定されてよい。
【0162】
S603:第1ネットワークデバイスは、広告メッセージを第2ネットワークデバイスに送信する。
【0163】
可能な場合に、第1ネットワークデバイスは、広告メッセージを第2ネットワークデバイスに直接的に送信し得る。例えば、転送ノードの役割を果たす第1ネットワークデバイスは、広告メッセージを、BGP-LSメッセージを使用することによってコントローラまたはパスオーケストレータの役割を果たす、第2ネットワークデバイスに送信する。例えば、方法500におけるS503の説明を参照のこと。別の可能な場合において、第1ネットワークデバイスは、広告メッセージを第2ネットワークデバイスに間接的に送信する。例えば、出口ノードの役割を果たす第1ネットワークデバイスは、VPNルートをアドバタイズするためのBGPメッセージを使用することによって、ヘッドノードの役割を果たす第2ネットワークデバイスに対して、ホップ毎(hop by hop)にBGPメッセージを分散し、かつ、アドバタイズする。例えば、方法400におけるS403の説明を参照のこと。この場合、ヘッドノードの役割を果たす第2ネットワークデバイスは、例えば、図1aまたは図1bに示されるPE21、もしくは、図1bに示され、かつ、トンネルBのドメイン境界ノードおよびヘッドノードの両方として機能する、PE24であり得る。具体的に、PE24は、VPNルートの次のホップを修正するといった方法でトンネルAのヘッドノードPE21に処理能力をアドバタイズするために、トンネルAの出口ノードとして機能してよく、または、トンネルBの出口ノードPE27によってアドバタイズされた処理能力を受信するために、トンネルBのヘッドノードとして機能し得る(ここで、PE27のセカンダリノードは、図1bに示されていない)。ヘッドノードの役割を果たす第2ネットワークデバイスは、代替的に、図1bに示されるPE25であってよい。例えば、出口ノードPE27、および、PE27とデュアルホーミングノードを形成する別のPEノードは、また、広告メッセージをPE25に送信することもできる。このようにして、PE24が故障しているシナリオにおいて、パケットは、セカンダリノードPE25に転送され、そして、PE25は、最初に受信された広告メッセージに基づいて、出口保護モードでパケット転送を実施することができる。
【0164】
S605:第2ネットワークデバイスは、広告メッセージを受信し、そして、広告メッセージ内の指示情報に基づいて、第1ネットワークデバイスが処理能力を有すると判定する。
【0165】
広告メッセージを受信した後で、第2ネットワークデバイスは、広告メッセージ内の指示情報に基づいて、パケットに含まれるプライマリパス情報が一致する場合、第1ネットワークデバイスがパケットに含まれるセカンダリパス情報を無視する処理能力を有するか否かを判定することができる。広告メッセージの異なる実装、または、広告メッセージ内の指示情報の異なる実装に基づいて、第2ネットワークデバイスは、異なる方式で第1ネットワークデバイスの処理能力を判定することができる。例えば、広告メッセージがルートをアドバタイズするためのBGPメッセージである場合、方法400におけるS405の説明を参照のこと。別の例として、広告メッセージがBGP-LSメッセージである場合、方法500におけるS505の説明を参照のこと。
【0166】
第1ネットワークデバイスが処理能力を有すると判定した場合、第2ネットワークデバイスは、第2ネットワークデバイスによって果たされる異なる役割を参照して、異なる後続の動作を実行し得る。可能な場合において、第2ネットワークデバイスが図1aまたは図1bに示されるヘッドノードPE21であるときに、第2ネットワークデバイスは、第1プライマリパス情報および第1セカンダリパス情報を送信される必要があるサービスの第1パケットに追加することができる。代替的に、第2ネットワークデバイスが図1bに示されるドメイン境界ノードPE24である場合、受信された第1パケット内のトンネルAに関連付けられたセカンダリパス情報を無視した後で、第2ネットワークデバイスは、第1パケットを転送し続ける前に、トンネルBに関連付けられた第1プライマリパス情報および第1セカンダリパス情報を追加することができ、出口保護モードにおいてトンネルB上の第1パケットの転送をガイドする。例えば、方法400におけるS405の説明を参照のこと。別の可能な場合において、第2ネットワークデバイスが図2に示されるサービスオーケストレータ41であるときに、第2ネットワークデバイスは、PE22が処理能力を有するという事実に基づいて、PE22に関連付けられたプライマリSID S2::1およびセカンダリSID S3::1を決定することができる。次いで、第2ネットワークデバイスは、S2::1およびS3::1を、第1パケットを転送するヘッドノードPE21に配信する。PE21は、S2::1およびS3::1を、第1パケットの転送をガイドするために使用されるSIDリストへと編成して、第1パケットに含まれる第1プライマリパス情報および第1セカンダリパス情報を生成し、サービス保護を実装することができる方法で転送されるべき第1パケットをガイドする。この場合に、サービスオーケストレータ41は、代替的に、S2::1およびS3::1を含む完全なプライマリ/セカンダリパス情報を直接的に決定し、そして、完全なプライマリ/セカンダリパス情報をヘッドノードに送信し得る。例えば、方法500におけるS505およびS507の説明を参照のこと。
【0167】
前述の2つのケースは、また、いくつかのシナリオにおいて一緒に使用され得る。例えば、ヘッドノードは、サービス保護を実施するためのサービスタイプのプライマリSIDおよびセカンダリSID、および、出口保護を実施するためのプライマリVPN SIDおよびセカンダリVPN SIDとの両方を第1パケットに追加する。
【0168】
S607:第1ネットワークデバイスは、第1パケットを受信する。ここで、第1パケットは、第1プライマリパス情報および第1セカンダリパス情報を含んでいる。
【0169】
S606における説明に基づいて、第1ネットワークデバイスによって受信された第1パケット内の第1プライマリパス情報および第1セカンダリパス情報は、第1ネットワークデバイスが処理能力をアドバタイズする先の、第2ネットワークデバイスによって生成されてよく、第1ネットワークデバイスが処理能力をアドバタイズする先の、第2ネットワークデバイスによって送信されたローカルのプライマリおよびセカンダリパス情報を組み合わせることによって、別のネットワークデバイス、例えば、ヘッドノードによって生成されてよく、または、第1ネットワークデバイスが処理能力をアドバタイズする先の、第2ネットワークデバイスによって送信された完全なプライマリおよびセカンダリパス情報に基づいて、第1パケットに追加されてよい。
【0170】
SRv6ネットワークにおける実装が、一つの例として使用されている。第1ネットワークデバイスの以前ホップノードは、第1ネットワークデバイスに関連付けられたSIDを第1パケットのIPv6ヘッダのDAフィールドに追加し、そして、第1パケットを第1ネットワークデバイスに転送することができる。
【0171】
S609:第1ネットワークデバイスは、第1セカンダリパス情報を無視し、そして、第1プライマリパス情報に基づいて、第1パケットを転送する。
【0172】
SRv6ネットワークが、依然として、一つの例として使用されている。プライマリパスが故障していない場合、第1ネットワークデバイスは、第1ネットワークデバイスに関連付けられ、かつ、プライマリパス情報に含まれる、SIDに対してマッチングを実行することができる。この場合、第1パケットに含まれる第1セカンダリパス情報は無視されてよい。無視することは、除去またはスキップであってよい。例えば、方法400におけるS407の説明を参照のこと。または、方法500におけるS509の説明を参照のこと。
【0173】
第1セカンダリパス情報を無視することに加えて、第1ネットワークデバイスは、さらに、第1プライマリパス情報に基づいて、第1パケットを転送することができる。例えば、SRv6ネットワークにおいて、第1ネットワークデバイスは、1つ以上のセカンダリSIDの後に配置され、かつ、第1プライマリパス情報に属する、SIDに基づいて、第1パケットの後続の転送をガイドする。ここで、1つ以上のセカンダリSIDは、セカンダリパス情報を形成している。
【0174】
この方法において、第1ネットワークデバイスは、指示情報を搬送する広告メッセージを送信することができる。ここで、指示情報は、第1ネットワークデバイスが、パケットを転送するためのプライマリパス上のネットワークデバイスとして機能し、かつ、プライマリパス情報およびセカンダリパス情報を含むパケットを受信するときに、パケットに含まれるセカンダリパス情報を無視する処理能力を、第1ネットワークデバイスが有するか否かを示すことができ、その結果、第1ネットワークデバイスが処理能力を有すると判定する場合、広告メッセージを受信する第2ネットワークデバイスは、プライマリパス情報およびセカンダリパス情報を含むサービスパケットを第1ネットワークデバイスに送信するように、別のネットワークデバイスに送信または指示することができる。従って、プライマリパスが正常に使用され得る場合、第1ネットワークデバイスは、サービスパケットにおいて使用される必要がないセカンダリパス情報を無視することができ、ネットワーク実行ロバスト性を保証し、かつ、セカンダリパス情報に対する不適切な処理によって引き起こされるパケット損失または不正確な転送の問題を回避する。
【0175】
本出願の実施形態において提供されるネットワークデバイスの処理能力をアドバタイズするための方法が、添付の図面を参照して上記のディーグレス(deegresss)において提供されている。前述の方法で説明した機能を実装するために、方法を実行するように構成されたネットワークデバイスは、機能を実行するための対応するハードウェア及び/又はソフトウェアモジュールを含む必要があることが理解されるだろう。この出願は、この明細書に開示された実施形態において説明された方法の実行プロセスを参照して、ハードウェア、または、ハードウェアとコンピュータソフトウェアとの組合せの形態で実装され得る。機能が、ハードウェアによって実行されるか、または、コンピュータソフトウェアによって駆動されるハードウェアによって実行されるかは、技術的ソリューションの特定のアプリケーションおよび設計制約に依存する。当業者であれば、実施形態を参照して、特定のアプリケーションそれぞれについて説明された機能を実装するために異なる方式を使用することができるが、その実装は、この出願の範囲を超えるものと考えられるべきではない。
【0176】
この実施形態において、対応するデバイスは、前述の方法の実施形態に基づいて、機能モジュールへと分割され得る。例えば、機能モジュールは、対応する機能に基づく分割を介して獲得されてよく、または、2つ以上の機能が1つの処理モジュールへと統合されてよい。統合されたモジュールは、ハードウェアの形態で実装され得る。この実施形態において、モジュールへの分割は一つの例であり、かつ、単に可能な論理的機能分割に過ぎないことに留意すべきである。実際の実装の最中には、別の分割方式が使用されてよい。
【0177】
機能モジュールへの分割が使用される場合、この出願の実施形態において提供されるネットワークデバイスの処理能力をアドバタイズするための装置が、図7および図8を参照して、以下に説明されている。
【0178】
図7は、この出願の一つの実施形態に従った、ネットワークデバイスの処理能力をアドバタイズするための装置700のブロック図である。装置700は、例えば、図1aに示されるシステムにおけるPE24またはPE25、図1bに示されるシステムにおけるPE24、PE25、またはPE27、図4の方法において説明される出口ノード、図5の方法において説明される転送ノード、図6の方法において説明される第1ネットワークデバイス、もしくは、上述の任意のネットワークデバイスにおけるモジュールまたはコンポーネントであり得る。そして、上述の任意のネットワークデバイスによって方法400、500、または600において実行される対応する機能を実装することができる。
【0179】
可能な実装では、図7に示されるように、ネットワークデバイスの処理能力をアドバタイズするための装置700は、生成ユニット701および送信ユニット703を含み得る。
【0180】
生成ユニット701は、広告メッセージを生成するように構成されている。ここで、広告メッセージは、第1指示情報を含み、第1指示情報は、第1ネットワークデバイスの処理能力を示すために使用され、第1ネットワークデバイスの処理能力は、第1ネットワークデバイスが、パケットを転送するためのプライマリパス上のネットワークデバイスとして機能し、かつ、プライマリパス情報およびセカンダリパス情報を含んでいるパケットを受信するときに、セカンダリパス情報を無視する処理能力を含み、そして、セカンダリパス情報は、プライマリパスが利用不可能であるときに、パケットを転送するための1つ以上のセカンダリパスを示すために使用される。生成ユニット701によって実行され得る機能については、S401、S501、またはS601における関連する説明を参照のこと。
【0181】
送信ユニット703は、広告メッセージを第2ネットワークデバイスに送信するように構成されている。送信ユニット703によって実行され得る機能については、S403、S503、またはS603における関連する説明を参照のこと。
【0182】
可能な実装において、装置700は、さらに、受信ユニット705および転送ユニット707を含んでいる。受信ユニット705は、第1パケットを受信するように構成されている。ここで、第1パケットは、第1プライマリパス情報および第1セカンダリパス情報を含み、第1プライマリパス情報は、第1パケットを転送するための第1プライマリルートを示すために使用され、そして、第1セカンダリパス情報は、第1プライマリルートが利用不可能であるときに、第1パケットを転送するための1つ以上の第1セカンダリルートを示すために使用される。転送ユニット707は、第1セカンダリパス情報を無視し、かつ、第1プライマリパス情報に基づいて、第1パケットを転送するように構成されている。受信ユニット705によって実行され得る機能については、S407、S509、およびS607における関連する説明を参照のこと。転送ユニット707によって実行され得る機能については、S609における関連する説明を参照のこと。
【0183】
可能な実装において、受信ユニット705は、さらに、更新されていないBGPメッセージを受信するように構成されている。ここで、更新されていないBGPメッセージは、VPNルートの第2VPN SIDラベルフィールドを含んでいる。生成ユニット701は、さらに、更新を通じてBGPメッセージを生成するために、第2VPN SIDラベルフィールドを第1VPN SIDラベルフィールドに置き換えるように構成されている。
【0184】
任意的に、第2VPN SIDラベルフィールドは、第3ネットワークデバイスの処理能力を示すために使用される第2指示情報を含み、第3ネットワークデバイスの処理能力は、第3ネットワークデバイスが、パケットを転送するためのプライマリパス上のネットワークデバイスとして機能し、かつ、プライマリパス情報およびセカンダリパス情報を含むパケットを受信するときに、パケットに含まれるセカンダリパス情報を無視する処理能力を含み、そして、第3ネットワークデバイスは、更新されていないBGPメッセージで搬送されるネクストホップ情報において示されるネットワークデバイスである。
【0185】
可能な実装において、第1指示情報は、BGPメッセージ内の拡張コミュニティ属性で搬送される。受信ユニット705は、さらに、更新されていないBGPメッセージを受信するように構成されている。ここで、更新されていないBGPメッセージは、ネクストホップ属性を含み、ここで、拡張コミュニティ属性内の第1指示情報およびネクストホップ属性の両方は、第1ネクストホップ情報を含み、そして、第1ネクストホップ情報は、第3ネットワークデバイスを示すために使用される。生成ユニット701は、さらに、ネクストホップ属性内の第1ネクストホップ情報を第2ネクストホップ情報に変更するように構成されている。ここで、第2ネクストホップ情報は、第1ネットワークデバイスを示すために使用される。
【0186】
任意的に、生成ユニット701は、さらに、拡張コミュニティ属性内の第1ネクストホップ情報を第2ネクストホップ情報に修正するように構成されている。
【0187】
任意的に、第1指示情報が第1ネットワークデバイスの処理能力を示すために使用されることは、第1指示情報およびネクストホップ属性が、第1ネットワークデバイスの処理能力を示すために使用されることを含む。
【0188】
可能な実装において、第1セカンダリパス情報は、1つ以上のセカンダリSIDを含み、第1プライマリパス情報は、プライマリSIDを含み、そして、プライマリSIDは、第1ネットワークデバイスに関連付けられている。転送ユニット707は、さらに、プライマリSIDを第1ネットワークデバイス内に保管されたSIDとマッチングすることによって1つ以上のセカンダリSIDを除去し、かつ、第1パケット内で搬送されるペイロード情報に基づいて、第1パケットをユーザ側ネットワークデバイスに転送するか、または、1つ以上のセカンダリSIDが除去された後に追加されたSIDに基づいて、第1パケットを転送するように構成されている。
【0189】
可能な実装において、第1セカンダリパス情報は、1つ以上のセカンダリSIDを含み、第1プライマリパス情報は、プライマリSIDを含み、そして、プライマリSIDは、第1ネットワークデバイスに関連付けられている。転送ユニット707は、さらに、プライマリSIDを第1ネットワークデバイスに保管されたSIDとマッチングすることによって1つ以上のセカンダリSIDをスキップし、かつ、1つ以上のセカンダリSIDの後に配置されたSIDに基づいて、第1パケットを転送するように構成されている。
【0190】
図8は、本出願の一つの実施形態に従った、ネットワークデバイスの処理能力をアドバタイズするための別の装置800のブロック図である。装置800は、例えば、図1aに示されるシステムにおけるPE21、図1bに示されるシステムにおけるPE21、PE24、またはPE25、図4の方法において説明されるヘッドノード、図5の方法において説明されるコントローラ、図6の方法において説明される第2ネットワークデバイス、もしくは、上述の任意のネットワークデバイスにおけるモジュールまたはコンポーネントであり得る。そして、上述の任意のネットワークデバイスによって方法400、500、または600において実行される対応する機能を実装することができる。
【0191】
可能な実装において、図8に示されるように、ネットワークデバイスの処理能力をアドバタイズするための装置800は、受信ユニット801および決定ユニット803を含み得る。受信ユニット801は、第1ネットワークデバイスによって送信された広告メッセージを受信するように構成されている。ここで、広告メッセージは、第1指示情報を含み、第1指示情報は、第1ネットワークデバイスの処理能力を示すために使用され、第1ネットワークデバイスの処理能力は、第1ネットワークデバイスが、パケットを転送するためのプライマリパス上のネットワークデバイスとして機能し、かつ、プライマリパス情報およびセカンダリパス情報を含むパケットを受信するときに、セカンダリパス情報を無視する処理能力を含み、そして、セカンダリパスは、プライマリパスが利用不可能であるときに、パケットを転送するための1つ以上のセカンダリパスである。決定ユニット803は、第1指示情報に基づいて、第1ネットワークデバイスが処理能力を有すると決定するか、または、第1指示情報に基づいて、第1ネットワークデバイスが処理能力を有していないと決定するように構成され得る。
【0192】
可能な実装において、装置800は、さらに、送信ユニット805を含み得る。送信ユニットは、第1ネットワークデバイスが処理能力を有するという事実に基づいて、第1パケットを送信するように構成されている送信ユニット805を含み得る。ここで、第1パケットは、第1セカンダリパス情報および第1プライマリパス情報を搬送し、第1プライマリパス情報は、第1パケットを転送するための第1プライマリパスを示すために使用され、そして、第1セカンダリパス情報は、第1プライマリパスが利用不可能であるときに、第1パケットを転送するための1つ以上の第1セカンダリパスを示すために使用される。もしくは、送信ユニットは、第1ネットワークデバイスが処理能力を有するという事実に基づいて、第3ネットワークデバイスに第1メッセージを送信するように構成されている。ここで、第1メッセージは、第1メッセージに基づいて、第1パケットで搬送される第1セカンダリパス情報および第1プライマリパス情報を獲得するように、第3ネットワークデバイスに指示するために使用され、そして、第1パケットは、第3ネットワークデバイスによって、第1ネットワークデバイスへ送信される。
【0193】
可能な実装において、決定ユニット803は、第1ネットワークデバイスによって送信された広告メッセージが第1指示情報を搬送するという事実に基づいて、第1ネットワークデバイスが処理能力を有すると決定する、ように構成されている。
【0194】
可能な実装においては、第1ネットワークデバイスによって送信された広告メッセージで搬送される第1指示情報が第1値を有するという事実に基づいて、第1ネットワークデバイスが処理能力を有すると決定される。
【0195】
任意的に、第1指示情報は、BGPメッセージのVPNルートで搬送される。決定ユニット803は、VPNルートが第1指示情報を含むという事実に基づいて、第1ネットワークデバイスが処理能力を有すると決定するように構成されている。
【0196】
任意的に、第1指示情報は、BGPメッセージ内の拡張コミュニティ属性で搬送される。
【0197】
任意的に、BGPメッセージは、さらに、ネクストホップ属性を含み、そして、ネクストホップ属性は、第1ネットワークデバイスを示すために使用されるネクストホップ情報を搬送する。決定ユニット803は、第1指示情報がネクストホップ属性において搬送されるネクストホップ情報と同じであるという事実に基づいて、第1ネットワークデバイスが処理能力を有すると決定するように構成されており、または、第1指示情報に基づいて、第1ネットワークデバイスが処理能力を有していないと決定することは、第1指示情報がネクストホップ属性において搬送されるネクストホップ情報と異なるという事実に基づいて、第1ネットワークデバイスが処理能力を有していないと決定すること、を含む。
【0198】
可能な実装において、受信ユニット801は、さらに、第3ネットワークデバイスによって送信された広告メッセージを受信するように構成されている。ここで、第4ネットワークデバイスによって送信された広告メッセージは、第2指示情報を含み、第2指示情報は、第4ネットワークデバイスの処理能力を示すために使用され、第4ネットワークデバイスの処理能力は、第3ネットワークデバイスがパケットを転送するためのプライマリパス上のネットワークデバイスとして機能し、かつ、プライマリパス情報およびセカンダリパス情報を含むパケットを受信するときに、パケットに含まれるセカンダリパス情報を無視する処理能力を含み、そして、セカンダリパス情報は、プライマリパスが利用不可能であるときに、パケットを転送するための1つ以上のセカンダリパスを示すために使用される。
【0199】
可能な実装において、第1ネットワークデバイスによって送信された広告メッセージは、さらに、第1パス情報を含み、第3ネットワークデバイスによって送信された広告メッセージは、さらに、第2パス情報を含み、そして、第1パケットまたは第1メッセージが第1ネットワークデバイスに送信される前に、決定ユニット803は、第1ネットワークデバイスによって送信された広告メッセージおよび第4ネットワークデバイスによって送信された広告メッセージに基づいて、第1ネットワークデバイスがプライマリ装置であり、かつ、第4ネットワークデバイスがセカンダリデバイスであると決定するように構成されている。装置800は、さらに、生成ユニット807を含み、生成ユニットは、第1パス情報および第2パス情報を追加して第1パケットを生成するように構成されている。ここで、第1パス情報は、第1プライマリパス情報に属し、そして、第2パス情報は、第1セカンダリパス情報に属している。代替的に、送信ユニット805は、第1パス情報および第2パス情報を含んでいる第1メッセージを第3ネットワークデバイスに送信するように構成されており、第1パス情報および第2パス情報を第1パケットに含めるように、第3ネットワークデバイスに指示する。ここで、第1パス情報は、第1プライマリパス情報に属し、そして、第2パス情報は、第1セカンダリパス情報に属している。
【0200】
可能な実装において、決定ユニット803は、さらに、第1指示情報に基づいて、第1ネットワークデバイスが処理能力を有していないと決定するように構成されている。送信ユニット805は、さらに、第1ネットワークデバイスが処理能力を有していないという事実に基づいて、第2パケットを送信するように構成されている。ここで、第2パケットは、第2プライマリパス情報を搬送するが、第2セカンダリパス情報を搬送せず、第2プライマリパス情報は、第2パケットを転送するための第2プライマリルートを示すために使用され、そして、第2セカンダリパス情報は、第2プライマリルートが利用不可能であるときに、第2パケットを転送するための1つ以上の第2セカンダリルートを示すために使用される。
【0201】
この出願の実施形態は、さらに、ネットワークデバイス900を提供する。ネットワークデバイス900は、例えば、異なる機能を実行するように構成されてよく、かつ、上述の方法の実施形態それぞれで説明されるネットワークデバイスであり得る。例えば、図1a図1b、または図2に示されるシステム10における任意のPEデバイス、図7に示される装置700、もしくは、図8に示される装置800である。
【0202】
ネットワークデバイス900は、上記で説明した方法の実施形態それぞれにおいて、ネットワークデバイスによって実行される方法ステップを実装するために必要とされる様々なハードウェアまたはソフトウェアモジュールを含んでいる。ネットワークデバイス900によって実行され得る機能のディーグレス・プロシージャについては、前述の方法の実施形態を参照のこと。簡潔にするために、ディーグレス(deegresss)は、ここでは、再び説明されない。前述の方法の実施形態において言及された実行プロセスは、ネットワークデバイス900のプロセッサ内のハードウェア集積論理回路を使用することによって、または、ソフトウェアの形態の命令を使用することによって、完了され得る。例えば、ハードウェアプロセッサによって、直接的に実行および完了され、または、プロセッサ内のハードウェアモジュールおよびソフトウェアモジュールの組合せを使用することによって、実行および完了され得る。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、リードオンリーメモリ、プログラマブルリードオンリーメモリ、電気的消去可能プログラマブルメモリ、または、レジスタといった、記憶媒体内に配置され得る。記憶媒体は、メモリ内に配置されており、そして、プロセッサは、メモリ内の情報を読み取ることができ、かつ、プロセッサのハードウェアと組み合わせて前述の方法のステップを完了する。
【0203】
ネットワークデバイス900が、図7に示される装置700または図8に示される装置800に対応する場合に、装置700または装置800における各機能モジュールは、ネットワークデバイス900のソフトウェア、ハードウェア、または、ソフトウェアおよびハードウェアの組合せを使用することによって実装され得る。ソフトウェアの形式で、装置700または装置800によって実装される機能モジュールによって実行される機能は、ネットワークデバイス900のプロセッサがメモリに保管されたプログラムコードを読み出した後に、ネットワークデバイス900によって実行され得る。
【0204】
図9は、この出願の実施形態に従った、ネットワークデバイス900に係る一つの例の構造の概略図である。ネットワークデバイス900は、少なくとも1つのプロセッサ901、通信バス902、メモリ903、および、少なくとも1つの物理インターフェイス909を含んでいる。
【0205】
プロセッサ901は、汎用中央処理装置(central processing unit、CPU)、ネットワークプロセッサ(network processor、NP)、または、マイクロプロセッサであってよく、もしくは、この出願のソリューションを実装するように構成された1つ以上の集積回路、例えば、特定用途向け集積回路(application-specific integrated circuit、ASIC)、プログラマブル論理デバイス(programmable logic device、PLD)、または、それらの組合せであってよい。PLDは、コンプレックス・プログラマブルロジックデバイス(complex programmable logic device、CPLD)、フィールド・プログラマブル論理ゲートアレイ(field-programmable gate array、FPGA)、ジェネリックアレイロジック(generic array logic、GAL)、または、それらの任意の組み合わせであってよい。
【0206】
通信バス902は、前述の構成要素間で情報を転送するように構成されている。通信バス902は、アドレスバス、データバス、制御バス、等へと分類することができる。表示を容易にするために、バスは、図において1本の太線のみを使用して示されている。しかしながら、それは、1つのバスのみ又は1つのタイプのバスのみが存在することを示すものではない。
【0207】
メモリ903は、リードオンリーメモリ(read-only memory、ROM)、または静的(static)情報および命令を記憶することができる別のタイプのスタティック記憶デバイス、ランダムアクセスメモリ(random access memory、RAM)、または、情報および命令を記憶することができる別のタイプのダイナミック記憶デバイスであってよく、または、電気的消去可能プログラマブルリードオンリーメモリ(electrically erasable programmable read-only memory、EEPROM)、コンパクトディスク・リードオンリーメモリ(compact disc read-only memory、CD-ROM)または別の光ディスクストレージ、光ディスクストレージ(圧縮光ディスク、レーザーディスク、光ディスク、デジタル多用途ディスク、ブルーレイ(登録商標)ディスク、などを含む)、磁気ディスク記憶媒体または別の磁気記憶デバイス、もしくは、命令またはデータ構造の形態で予想されるプログラムコードを搬送または記憶するように構成することができ、かつ、コンピュータによってアクセスすることができる任意の他の媒体であってよいが、これらに限定されない。メモリ903は、独立して存在してよく、そして、通信バス902を使用することによって、プロセッサ901に接続されている。メモリ903は、プロセッサ901と統合されてよい。
【0208】
物理インターフェイス909は、トランシーバといった、任意の装置を使用することによって、別のデバイスまたは通信ネットワークと通信するように構成されている。物理インターフェイス909は、有線通信インターフェイスを含み、そして、さらに、無線通信インターフェイスを含んでよい。有線通信インターフェイスは、例えばイーサネット(登録商標)インターフェイスであってよい。イーサネットインターフェイスは、光インターフェイス、電気インターフェイス、または、それらの組み合わせであり得る。ワイヤレス通信インターフェイスは、ワイヤレスローカルエリアネットワーク(wireless local area network、WLAN)インターフェイス、セルラーネットワーク通信インターフェイス、それらの組合せ、などであり得る。物理インターフェイス909は、また、物理ポートとも称される。1つ以上の物理インターフェイス909が存在し得る。
【0209】
特定の実装の最中、一つの実施形態において、プロセッサ901は、1つ以上のCPU、例えば、図9のCPU0およびCPU1を含んでよい。
【0210】
具体的な実装の最中に、一つの実施形態において、ネットワークデバイス900は、複数のプロセッサ、例えば、図9に示されるプロセッサ901およびプロセッサ905を含み得る。プロセッサのそれぞれは、シングルコアプロセッサ(single-CPU)またはマルチコアプロセッサ(multi-CPU)であってよい。本明細書におけるプロセッサは、データ(例えば、コンピュータプログラム命令)を処理するように構成された1つ以上のデバイス、回路、及び/又は処理コアであってもよい。
【0211】
具体的な実装の最中に、一つの実施形態において、ネットワークデバイス900は、さらに、出力デバイス906および入力デバイス907を含み得る。出力デバイス906は、プロセッサ901と通信し、そして、複数の方法で情報を表示することができる。例えば、出力デバイス906は、液晶ディスプレイ(liquid crystal display、LCD)、発光ダイオード(light emitting diode、LED)ディスプレイデバイス、ブラウン管(cathode ray tube、CRT)ディスプレイデバイス、または、プロジェクタ(projector)であってよい。入力デバイス907は、プロセッサ901と通信し、そして、複数の方式でユーザ入力を受信することができる。例えば、入力デバイス907は、マウス、キーボード、タッチスクリーン装置、センシング装置など、であってよい。
【0212】
いくつかの実施形態において、メモリ903は、この出願のソリューションを実行するためのプログラムコード910を記憶するように構成されており、そして、プロセッサ901は、メモリ903に保管されたプログラムコード910を実行することができ、対応する機能を実装する。例えば、プログラムコード910に保管されたプログラムは、装置800における生成ユニット701の機能を実装するために呼び出されてよく、または、装置700における決定ユニット803および生成ユニット809の機能を実装するために呼び出されてよい。すなわち、ネットワークデバイス900は、プロセッサ901、および、メモリ903内のプログラムコード910と協働して、前述の方法の実施形態において提供される方法プロシージャを実装することができる。この場合、例えば、生成ユニット701および決定ユニット803は、ネットワークデバイス900におけるプロセッサ901に相当し得る。そして、送信ユニット703または受信ユニット705は、ネットワークデバイス900における物理インターフェイス909に相当する。
【0213】
図9は、ネットワークデバイスの構成構造に係る可能な例を示している。ネットワークデバイスは、また、別の構成構造を使用することもできる。例えば、ネットワークデバイスは、少なくともプロセッサを含み、そして、プログラムコードを記憶するように構成されたメモリは、ネットワークデバイスから独立していてよい。例えば、メモリは、クラウドサーバまたはネットワークハードディスク上のストレージ空間であってよい。加えて、1つ以上のメモリが存在してよい。複数のメモリが存在する場合、複数のメモリは、同じ場所、または、異なる場所に配置されてよく、そして、独立して、または、協働して使用されてよい。
【0214】
図10は、本出願の一つの実施形態に従った、別のネットワークデバイスの構造の概略図である。ネットワークデバイス1000は、例えば、異なる機能を実行するように構成され、かつ、上述の方法の実施形態それぞれで説明される、ネットワークデバイスであってよい。例えば、図1a図1b、または図2に示されるシステム10における任意のPEデバイス、図7に示される装置700、または図8に示される装置800である。
【0215】
ネットワークデバイス1000は、メイン制御ボード1010およびインターフェイスボード1030を含んでいる。
【0216】
メイン制御ボード1010は、また、メイン処理ユニット(Main Processing Unit、MPU)、または、ルートプロセッサカード(Route Processor Card)とも称される。メイン制御ボード1010は、ルート計算、装置管理、装置保守、およびプロトコル処理の機能を含む、ネットワークデバイス1000の構成要素に対する制御および管理を実行する。メイン制御ボード1010は、中央処理装置1011およびメモリ1012を含む。
【0217】
インターフェイスボード1030は、また、ライン処理ユニット(line processing unit、LPU)、ラインカード(line card)、または、サービスボードとも称される。インターフェイスボード1030は、様々なサービスインターフェイスを提供し、そして、データパケットを転送するように構成されている。サービスインターフェイスは、これらに限定されるわけではないが、イーサネット(登録商標)インターフェイス、POS(Packet over SONET/SDH)インターフェイス、等を含む。イーサネットインターフェイスは、例えば、フレキシブルイーサネットクライアント(Flexible Ethernet Client、FlexEClient)である。インターフェイスボード1030は、中央処理装置1031、ネットワークプロセッサ1032、転送エントリメモリ1034、および、物理インターフェイスカード(physical interface card、PIC)1033を含んでいる。
【0218】
インターフェイスボード1030上の中央処理装置1031は、インターフェイスボード1030を制御および管理し、かつ、メイン制御ボード1010上の中央処理装置1011と通信するように構成されている。
【0219】
ネットワークプロセッサ1032は、パケットを転送および処理するように構成されている。ネットワークプロセッサ1032の形態は、転送チップであってよい。具体的に、アップリンクパケットに対する処理は、パケット入口インターフェイスにおける処理、および、転送テーブルに対する検索を含み、そして、ダウンリンクパケットに対する処理は、転送テーブルに対する検索、などを含む。
【0220】
物理インターフェイスカード1033は、物理層相互接続機能を実装するように構成されている。元のトラフィックは、物理インターフェイスカード1033からインターフェイスボード1030に入り、そして、処理されたパケットが、物理インターフェイスカード1033から送信される。物理インターフェイスカード1033は、少なくとも1つの物理インターフェイスを含んでいる。物理インターフェイスは、また、物理ポートとも称される。物理インターフェイスカード1033は、また、サブカードとも称され、インターフェイスボード1030上に搭載されてよく、そして、光電子信号をパケットへと変換し、パケットに対して有効性検査を実行し、処理のためにパケットをネットワークプロセッサ1032に転送することに責任を負う。いくつかの実施形態において、インターフェイスボード1003上の中央処理装置1031は、また、ネットワークプロセッサ1032の機能を実行してもよく、例えば、汎用CPUに基づいて、ソフトウェア転送を実装し、その結果、ネットワークプロセッサ1032は、物理インターフェイスカード1033において必要とされない。
【0221】
任意的に、ネットワークデバイス1000は、複数のインターフェイスボードを含んでいる。例えば、ネットワークデバイス1000は、さらに、インターフェイスボード1040を含み、そして、インターフェイスボード1040は、中央処理装置1041、ネットワークプロセッサ1042、転送エントリメモリ1044、および、物理インターフェイスカード1043を含んでいる。
【0222】
任意的に、ネットワークデバイス1000は、さらに、スイッチングボード1020を含んでいる。スイッチングボード1020は、また、スイッチファブリックユニット(switch fabric unit、SFU)とも称され得る。ネットワークデバイスが複数のインターフェイスボード1030を有する場合、スイッチングボード1020は、インターフェイスボード間のデータ交換を完了するように構成されている。例えば、インターフェイスボード1030およびインターフェイスボード1040は、スイッチングボード1020を使用することによって、相互に通信することができる。
【0223】
メイン制御ボード1010は、インターフェイスボード1030に結合されている。例えば、メイン制御ボード1010、インターフェイスボード1030、インターフェイスボード1040、および、スイッチングボード1020は、インターワーキングを実装するために、システムバスを使用することによって、システムバックプレーンに接続されている。可能な実装において、プロセス間通信プロトコル(inter-process communication、IPC)チャネルが、メイン制御ボード1010とインターフェイスボード1030との間に確立され、そして、IPCチャネルを通じて、メイン制御ボード1010とインターフェイスボード1030との間で、通信が実行される。
【0224】
論理的に、ネットワークデバイス1000は、制御プレーンおよび転送プレーンを含んでいる。制御プレーンは、メイン制御ボード1010および中央処理装置1031を含んでいる。転送プレーンは、転送エントリメモリ1034、物理インターフェイスカード1033、ネットワークプロセッサ1032といった、転送を実行するコンポーネントを含んでいる。制御プレーンは、以下の機能を実行する。ルータ、転送テーブルの生成、シグナリングおよびプロトコルパケットの処理、デバイスステータスの構成および維持、等である。制御プレーンは、生成された転送テーブルを転送プレーンに配信する。転送プレーン上で、ネットワークプロセッサ1032は、制御プレーンによって配信された転送テーブルを検索し、そして、そのテーブルに基づいて、物理インターフェイスカード1033によって受信されたパケットを転送する。制御プレーンによって配信された転送テーブルは、転送エントリメモリ1034に保管され得る。いくつかの実施形態において、制御プレーンおよび転送プレーンは、完全に分離されてよく、そして、同じデバイス上にはない。
【0225】
前述の方法の実施形態を実行するように構成されたネットワークデバイス1000として、中央処理装置1011は、広告メッセージを生成すること、または、広告メッセージで搬送される指示情報に基づいて、広告メッセージを送信するネットワークデバイスの処理能力を決定すること、といった、動作を実行するように構成され得る。ネットワークプロセッサ1032は、トラフィックパケットを別のネットワークデバイスに転送するように、物理インターフェイスカード1033をトリガすることができる。
【0226】
例えば、装置700が一つの例として使用されている。装置700における送信ユニット703または受信ユニット705は、ネットワークデバイス1000における物理インターフェイスカード1033または物理インターフェイスカード1043と同等であり得る。装置700における生成ユニット701は、ネットワークデバイス1000における中央処理装置1011または中央処理装置1031と同等であり得る。
【0227】
この出願のこの実施形態において、インターフェイスボード1040上の動作は、インターフェイスボード1030上の動作と同じであることが、理解されるべきである。簡潔にするために、ディーグレス(deegresss)は、再び説明されない。ネットワークデバイス1000におけるメイン制御ボード1010、および、インターフェイスボード1030及び/又はインターフェイスボード1040は、前述の方法の実施形態におけるネットワークデバイスによって実施される機能及び/又はステップを実施することができる。簡潔にするために、ディーグレス(deegresss)は、ここでは、説明されない。
【0228】
1つ以上のメイン制御ボードが存在し得ることが、理解されるべきである。複数のメイン制御ボードが存在する場合、メイン制御ボードは、プライマリメイン制御ボードおよびセカンダリメイン制御ボードを含んでよい。1つ以上のインターフェイスボードが存在してよく、そして、より強いデータ処理能力を有しているネットワークデバイスが、より多くのインターフェイスボードを提供する。インターフェイスボード上には、また、1つ以上の物理インターフェイスカードがあってよい。スイッチングボードは無くてよく、または、1つ以上のスイッチングボードが存在してよい。複数のスイッチングボードが存在する場合、負荷分散および冗長バックアップが一緒に実装され得る。集中転送アーキテクチャにおいて、ネットワークデバイスは、スイッチングボードを必要としなくてよく、そして、インターフェイスボードは、システム全体のサービスデータを処理する機能を提供する。分散転送アーキテクチャにおいて、ネットワークデバイスは、少なくとも1つのスイッチングボードを有してよく、そして、複数のインターフェイスボード間のデータ交換が、スイッチングボードを使用することによって実装され、大容量のデータ交換および処理能力を提供する。従って、分散型アーキテクチャにおけるネットワークデバイスのデータアクセスおよび処理能力は、集中型アーキテクチャにおけるデバイスよりも優れている。任意的に、ネットワークデバイスは、代替的に、1つのカードのみが存在する形態であってよい。具体的には、スイッチングボードが存在せず、そして、インターフェイスボードおよびメイン制御ボードの機能がカード上に統合されている。この場合、インターフェイスボード上の中央処理装置およびメイン制御ボード上の中央処理装置は、カード上に1つの中央処理装置を形成するように組み合わされてよく、2つの中央処理装置を組み合わせることによって獲得される機能を実行する。この形態のデバイス(例えば、ローエンドスイッチまたはルータといったネットワークデバイス)は、弱いデータ交換および処理能力を有してい。使用される具体的なアーキテクチャは、具体的なネットワーキング展開シナリオに依存している。これは、ここにおいて、限定されない。
【0229】
いくつかの可能な実施形態において、ネットワークデバイスは、仮想化デバイスとして実装され得る。例えば、仮想化されたデバイスは、パケット送信機能を有するプログラムが実行される仮想マシン(virtual machine、VM)であってよく、そして、仮想マシンは、ハードウェアデバイス(例えば、物理サーバ)において配備されている。仮想マシンは、完全なハードウェアシステム機能を有し、かつ、完全に隔離された環境で実行される、完全にソフトウェアシミュレーションされた(software-simulated)コンピュータシステムである。仮想マシンは、ネットワークデバイスとして構成され得る。例えば、ネットワークデバイスは、ネットワーク機能仮想化(network functions virtualization、NFV)技術と組み合わせた汎用物理サーバに基づいて、実装され得る。ネットワークデバイスは、仮想ホスト、仮想ルータ、または、仮想スイッチである。この出願を読むことによって、当業者であれば、NFV技術を参照した仮想化を通じて汎用物理サーバ上で、前述の機能を有するネットワークデバイスを獲得することができる。ディーグレス(deegresss)について、ここでは、説明されない。
【0230】
前述の製品形態におけるネットワークデバイスは、前述の方法実施形態におけるネットワークデバイスの任意の機能を別々に有することが理解されるべきである。ディーグレス(deegresss)について、ここでは、説明されない。
【0231】
この出願の一つの実施形態は、コンピュータプログラム製品を提供する。コンピュータプログラム製品が、ネットワークデバイス上で実行されるとき、ネットワークデバイスは、前述の方法実施形態のうちのいずれか1つにおいて提供される方法を実行することが可能にされる。
【0232】
この出願の一つの実施形態は、さらに、プロセッサおよびインターフェイス回路を含むチップシステムを提供する。インターフェイス回路は、命令を受信し、かつ、その命令をプロセッサに送信するように構成されている。プロセッサは、この出願の実施形態において提供される方法をネットワークデバイスが実行するのを可能にするために、命令を実行するように構成され得る。プロセッサは、メモリに結合され、そして、メモリは、プログラムまたは命令を保管するように構成されている。プログラムまたは命令がプロセッサによって実行されるとき、チップシステムは、前述の方法の実施形態のうちのいずれか1つにおける方法を実施するのを可能にされる。
【0233】
任意的に、チップシステム内には1つ以上のプロセッサが存在してよい。プロセッサは、ハードウェアによって実装されてよく、または、ソフトウェアによって実装されてよい。プロセッサがハードウェアによって実装される場合、プロセッサは、論理回路、集積回路、などであってよい。プロセッサがソフトウェアによって実装される場合、プロセッサは、汎用プロセッサであってよく、そして、メモリに保管されたソフトウェアコードを読み取ることによって実施される。
【0234】
任意的に、チップシステム内には、また、1つ以上のメモリが存在してもよい。メモリは、プロセッサと一体化されてよく、または、プロセッサから離れて配置されてよい。これは、この出願においては、限定されない。例えば、メモリは、リードオンリーメモリ専用メモリROMといった非一時的プロセッサであり得る。メモリおよびプロセッサは、同じチップの中へ統合されてよく、または、異なるチップ上に別々に配置されてよい。メモリのタイプ、並びに、メモリおよびプロセッサを配置する方式は、この出願においては、特に限定されない。
【0235】
例えば、チップシステムは、フィールドプログラマブルゲートアレイ(field programmable gate array、FPGA)、特定用途向け集積チップ(application-specific integrated circuit、ASIC)、システムオンチップ(system on chip、SoC)、CPU、NP、デジタル信号処理回路(digital signal processor、DSP)、マイクロコントローラユニット(micro controller unit、MCU)、プログラマブルコントローラ(programmable logic device、PLD)、または、別の集積チップであり得る。
【0236】
前述の技術的ソリューションの全ては、任意の組合せを通じて、この開示の任意的な実施形態を形成することができる。ディーグレス(deegresss)は、ここでは、再び説明されない。
【0237】
当業者であれば、前述の実施形態のステップの全部または一部が、ハードウェアまたは関連するハードウェアに命令するプログラムによって実装され得ることを理解するだろう。プログラムは、コンピュータ可読記憶媒体に保管されてよい。記憶媒体は、リードオンリーメモリ、磁気ディスク、光ディスク、などであってよい。
【0238】
前述の説明は、単にこの出願の任意的な実施形態に過ぎないが、この出願を限定するように意図されたものではない。この出願の精神および原理から逸脱することなく行われる、任意の修正、等価な置換、または、改善は、この出願の保護範囲内に入るべきものである。
図1a
図1b
図2
図3a
図3b
図4
図5
図6
図7
図8
図9
図10
【手続補正書】
【提出日】2023-07-20
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ネットワークデバイスの処理能力をアドバタイズするための方法であって、
前記方法は、第1ネットワークデバイスによって実行され、かつ、前記方法は、
広告メッセージを生成するステップであり、
前記広告メッセージは、第1指示情報を含み、
前記第1指示情報は、前記第1ネットワークデバイスの処理能力を示すために使用され、
前記第1ネットワークデバイスの前記処理能力は、前記第1ネットワークデバイスが、パケットを転送するためのプライマリパス上のネットワークデバイスとして機能し、かつ、プライマリパス情報およびセカンダリパス情報を含む前記パケットを受信するときに、セカンダリパス情報を無視する処理能力を含み、
前記セカンダリパス情報は、前記プライマリパスが利用不可能であるときに、前記パケットを転送するための1つ以上のセカンダリパスを示すために使用される、
ステップと、
前記第1ネットワークデバイスによって、前記広告メッセージを第2ネットワークデバイスに送信するステップと、
を含む、方法。
【請求項2】
前記方法は、さらに、
第1パケットを受信するステップであり、
前記第1パケットは、第1プライマリパス情報および第1セカンダリパス情報を含み、
前記第1プライマリパス情報は、前記第1パケットを転送するための第1プライマリルートを示すために使用され、
前記第1セカンダリパス情報は、前記第1プライマリルートが利用不可能であるときに、前記第1パケットを転送するための1つ以上の第1セカンダリパスを示すために使用される、
ステップと、
前記第1セカンダリパス情報を無視し、かつ、前記第1プライマリパス情報に基づいて、前記第1パケットを転送する、ステップと、
を含む、請求項1に記載の方法。
【請求項3】
前記広告メッセージは、ボーダーゲートウェイプロトコル(BGP)メッセージ、または、インテリアゲートウェイプロトコル(IGP)メッセージである、
請求項1に記載の方法。
【請求項4】
前記第1指示情報は、前記BGPメッセージに含まれるプライベートルートまたはパブリックルートで搬送され、かつ、
仮想プライベートネットワーク(VPN)ルートまたは前記パブリックルートは、前記パケットが属するサービスを転送するためのルートであり、または、
前記第1指示情報は、前記BGPメッセージ内の拡張コミュニティ属性で搬送される、
請求項3に記載の方法。
【請求項5】
前記セカンダリパス情報は、1つ以上のセカンダリSIDを含み、かつ、
前記1つ以上のセカンダリSIDは、前記第1ネットワークデバイスとマルチホーミング関係を有する1つ以上のネットワークデバイスによって割り当てられたSIDである、
請求項1乃至いずれか一項に記載の方法。
【請求項6】
前記第1セカンダリパス情報は、1つ以上のセカンダリSIDを含み、
前記第1プライマリパス情報は、プライマリSIDを含み、
前記プライマリSIDは、前記第1ネットワークデバイスに関連付けられており、
前記第1セカンダリパス情報を無視し、かつ、前記第1プライマリパス情報に基づいて、前記第1パケットを転送する、前記ステップは、
前記プライマリSIDを、前記第1ネットワークデバイスに保管されたSIDと照合することによって、前記1つ以上のセカンダリSIDを除去するステップと、
前記第1パケットで搬送されるペイロード情報に基づいて、前記第1パケットをユーザ側ネットワークデバイスに転送するステップ、または、前記1つ以上のセカンダリSIDが除去された後に追加されるSIDに基づいて、前記第1パケットを転送するステップと、
を含む、請求項2に記載の方法。
【請求項7】
前記第1セカンダリパス情報は、1つ以上のセカンダリSIDを含み、
前記第1プライマリパス情報は、プライマリSIDを含み、
前記プライマリSIDは、前記第1ネットワークデバイスに関連付けられており、
前記第1セカンダリパス情報を無視し、かつ、前記第1プライマリパス情報に基づいて、前記第1パケットを転送する、前記ステップは、
前記プライマリSIDを前記第1ネットワークデバイス内に保管されたSIDと照合することによって、前記1つ以上のセカンダリSIDをスキップし、かつ、前記1つ以上のセカンダリSIDの後に配置されたSIDに基づいて、前記第1パケットを転送するステップ、
を含む、請求項2に記載の方法。
【請求項8】
前記第1ネットワークデバイスは、サービスを担う、中間ネットワークデバイスまたは出口ネットワークデバイスであり、
前記第1指示情報は、リンク状態をアドバタイズするために前記IGPメッセージまたは前記BGPメッセージで搬送される、
請求項3に記載の方法。
【請求項9】
前記第2ネットワークデバイスは、前記サービスを担うコントローラまたは入口ネットワークデバイスである、
請求項4または8に記載の方法。
【請求項10】
ネットワークデバイスの処理能力をアドバタイズするための方法であって、
前記方法は、第2ネットワークデバイスによって実行され、かつ、前記方法は、
第1ネットワークデバイスによって送信された広告メッセージを受信するステップであり、
前記広告メッセージは、第1指示情報を含み、
前記第1指示情報は、前記第1ネットワークデバイスの処理能力を示すために使用され、
前記第1ネットワークデバイスの前記処理能力は、前記第1ネットワークデバイスが、パケットを転送するためのプライマリパス上のネットワークデバイスとして機能し、かつ、プライマリパス情報およびセカンダリパス情報を含む前記パケットを受信するときに、パケットに含まれるセカンダリパス情報を無視する処理能力を含み、
前記セカンダリパス情報は、前記プライマリパスが利用不可能であるときに、前記パケットを転送するための1つ以上のセカンダリパスを示すために使用される、
ステップと、
前記第1指示情報に基づいて、前記第1ネットワークデバイスが前記処理能力を有すると判定するステップ、または、前記第1指示情報に基づいて、前記第1ネットワークデバイスが前記処理能力を有していないと判定するステップと、
を含む、方法。
【請求項11】
前記方法は、さらに、
前記第1ネットワークデバイスが前記処理能力を有するという事実に基づいて、第1パケットを送信するステップであり、
前記第1パケットは、第1セカンダリパス情報および第1プライマリパス情報を搬送し、
前記第1プライマリパス情報は、前記第1パケットを転送するための第1プライマリパスを示すために使用され、
前記第1セカンダリパス情報は、前記第1プライマリパスが利用不可能であるときに、前記第1パケットを転送するための1つ以上の第1セカンダリパスを示すために使用される、
ステップ、または
前記第1ネットワークデバイスが前記処理能力を有するという事実に基づいて、第1メッセージを第3ネットワークデバイスに送信するステップであり、
前記第1メッセージは、第1パケットで搬送される、第1セカンダリパス情報および第1プライマリパス情報を、前記第1メッセージに基づいて、獲得するように、前記第3ネットワークデバイスに指示するために使用され、
前記第1パケットは、前記第3ネットワークデバイスによって前記第1ネットワークデバイスに送信されるパケットである、
ステップ、
を含む、請求項10に記載の方法。
【請求項12】
前記方法は、さらに、
前記第1ネットワークデバイスが前記処理能力を有していないという事実に基づいて、第2パケットを送信するステップであり、
前記第2パケットは、第2プライマリパス情報を搬送するが、第2セカンダリパス情報を搬送せず、
前記第2プライマリパス情報は、前記第2パケットを転送するための第2プライマリパスを示すために使用され、
かつ、前記第2セカンダリパス情報は、前記第2プライマリパスが利用不可能であるときに、前記第2パケットを転送するための1つ以上の第2セカンダリパスを示すために使用される、
ステップ、を含む、
請求項10に記載の方法。
【請求項13】
プロセッサおよびメモリを備える、ネットワークデバイスであり、
前記メモリは、プログラムコードを保管しており、
前記プログラムコードは、前記プロセッサによってロードされ、かつ、実行されて、前記第1ネットワークデバイスが、1乃至12いずれか一項に記載のネットワークデバイスの処理能力をアドバタイズするための方法を実施することを可能にする、
第1ネットワークデバイス。
【請求項14】
ネットワークデバイスの処理能力をアドバタイズするためのシステムであって、
請求項1乃至9いずれか一項に記載の方法を実施するように構成された前記第1ネットワークデバイスと、
請求項10乃至12いずれか一項に記載の方法を実施するように構成された前記第2ネットワークデバイスと、
を備える、システム。
【請求項15】
プログラムコードを保管している、コンピュータ可読記憶媒体であり、
前記プログラムコードがコンピュータ上で実行されるとき、前記コンピュータは、請求項1乃至12いずれか一項に記載の方法を実行することが可能である、
コンピュータ可読記憶媒体。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0001
【補正方法】変更
【補正の内容】
【0001】
本出願は、通信技術の分野に関する。そして、特には、ネットワークデバイスの処理能力をアドバタイズするための方法、デバイス、およびシステムに関する。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0238
【補正方法】変更
【補正の内容】
【0238】
前述の説明は、単にこの出願の任意的な実施形態に過ぎないが、この出願を限定するように意図されたものではない。この出願の原理から逸脱することなく行われる、任意の修正、等価な置換、または、改善は、この出願の保護範囲内に入るべきものである。
【国際調査報告】