(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-08-08
(54)【発明の名称】転送経路生成方法、装置、ネットワークデバイスおよび記憶媒体
(51)【国際特許分類】
H04L 45/00 20220101AFI20230801BHJP
H04L 45/12 20220101ALI20230801BHJP
H04L 45/645 20220101ALI20230801BHJP
【FI】
H04L45/00
H04L45/12
H04L45/645
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022577542
(86)(22)【出願日】2021-06-23
(85)【翻訳文提出日】2022-12-16
(86)【国際出願番号】 CN2021101914
(87)【国際公開番号】W WO2022266905
(87)【国際公開日】2022-12-29
(81)【指定国・地域】
(71)【出願人】
【識別番号】518056748
【氏名又は名称】新華三技術有限公司
【氏名又は名称原語表記】NEW H3C TECHNOLOGIES CO., LTD.
(74)【代理人】
【識別番号】100147485
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100226263
【氏名又は名称】中田 未来生
(72)【発明者】
【氏名】常 向青
(72)【発明者】
【氏名】陳 夢驍
(72)【発明者】
【氏名】雷 昭燕
(72)【発明者】
【氏名】林 涛
(72)【発明者】
【氏名】李 昊
【テーマコード(参考)】
5K030
【Fターム(参考)】
5K030LB05
5K030LB07
(57)【要約】
本発明は、ネットワーク通信技術分野に関する転送経路生成方法、装置、ネットワークデバイスおよび記憶媒体を提供する。上記方法は、目標経路計算アルゴリズムをサポートする第1ネットワークノードのトポロジー情報を取得することと、目標経路計算アルゴリズムを採用して、第1ネットワークノードのトポロジー情報に対して経路計算を行い、第1転送経路を生成することと、第1転送経路には経路中断が存在している場合、ソースノードからテールノードまでの第2転送経路を取得することと、第2転送経路から、第2ネットワークノードに繋がる第1ネットワークノードを確定し、ノードペアを取得することと、第2転送経路での各ノードペアにおける2番目のノードを当該ノードペアにおける1番目のノードのネクストホップデバイスとして更新し、ソースノードからテールノードまで繋がる転送経路を取得し、第2転送経路の方向に沿って、各ノードペアにおける2番目のノードは1番目のノードの後に位置することと、を含む。本発明実施例に係る技術案によれば、論理トポロジーが変化した場合にも、繋がる転送経路を生成できる。
【選択図】
図2
【特許請求の範囲】
【請求項1】
目標経路計算アルゴリズムをサポートする第1ネットワークノードのトポロジー情報を取得することと、
前記目標経路計算アルゴリズムを採用して、前記第1ネットワークノードのトポロジー情報に対して経路計算を行い、第1転送経路を生成し、前記第1転送経路は第1ネットワークノードにおける指定されたソースノードから指定されたテールノードまでの転送経路であることと、
前記第1転送経路には経路中断が存在している場合、前記ソースノードから前記テールノードまでの第2転送経路を取得し、前記第2転送経路はすべての第1ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報によって確定された転送経路であり、前記第2ネットワークノードは前記目標経路計算アルゴリズムをサポートしないことと、
前記第2転送経路から、第2ネットワークノードに繋がる第1ネットワークノードを確定し、ノードペアを取得することと、
前記第2転送経路での各ノードペアにおける2番目のノードを当該ノードペアにおける1番目のノードのネクストホップデバイスとして更新し、前記ソースノードから前記テールノードまで繋がる転送経路を取得し、前記第2転送経路の方向に沿って、各ノードペアにおける2番目のノードは1番目のノードの後に位置することと、を含む
ことを特徴とする、転送経路生成方法。
【請求項2】
前記ソースノードから前記テールノードまでの第2転送経路を取得することは、
前記第1転送経路に経路中断が発生した第3ネットワークノードと、前記ソースノードから前記第3ネットワークノードまでの第1転送サブ経路とを確定することと、
第4ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に基づいて、前記第3ネットワークノードから前記テールノードまでの第2転送サブ経路を生成し、前記第4ネットワークノードは、前記第1転送サブ経路に位置しない第1ネットワークノードであることと、を含み、
前記第2転送経路から、第2ネットワークノードに繋がる第1ネットワークノードを確定し、ノードペアを取得することは、
前記第2転送サブ経路から、第2ネットワークノードに繋がる第1ネットワークノードを確定し、ノードペアを取得することを含み、
前記第2転送経路での各ノードペアにおける2番目のノードを当該ノードペアにおける1番目のノードのネクストホップデバイスとして更新し、前記ソースノードから前記テールノードまで繋がる転送経路を取得することは、
前記第2転送サブ経路での各ノードペアにおける2番目のノードを当該ノードペアにおける1番目のノードのネクストホップデバイスとして更新することと、
前記第1転送サブ経路と更新された第2転送サブ経路とを接続し、前記ソースノードから前記テールノードまで繋がる転送経路を取得することと、を含む
ことを特徴とする、請求項1に記載の方法。
【請求項3】
前記第4ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に基づいて、前記第3ネットワークノードから前記テールノードまでの第2転送サブ経路を生成することは、
前記目標経路計算アルゴリズムを採用して、第4ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に基づいて経路計算を行い、前記第3ネットワークノードから前記テールノードまでの第2転送サブ経路を生成することを含み、
前記第1転送サブ経路と更新された第2転送サブ経路とを接続し、前記ソースノードから前記テールノードまで繋がる転送経路を取得するステップの後、さらに、
前記繋がる転送経路のセグメントリストを生成する際に、第1セグメント識別子SIDと第2SIDとの間にバインディングセグメント識別子BSIDを追加することによって、第1ノードペアにおける1番目のノードは、前記BSIDに対応するSRv6転送ポリシーを呼び出して前記第1ノードペアにおける2番目のノードまでの転送経路を選択し、前記BSIDに対応する転送ポリシーが使用する経路計算アルゴリズムは前記目標経路計算アルゴリズムであり、前記第1ノードペアは前記繋がる転送経路におけるノードペアであり、前記第1SIDは前記第1ノードペアにおける1番目のノードに対応するSIDであり、第2SIDは前記第1ノードペアにおける2番目のノードに対応するSIDであることを含む
ことを特徴とする、請求項2に記載の方法。
【請求項4】
前記繋がる転送経路のセグメントリストを生成する際に、前記第1ノードペアにおける各ノードが対応するSIDのファンクションフィールドに、セキュリティ認証コマンドおよび前記セキュリティ認証コマンドのコマンドパラメータを追加することをさらに含む
ことを特徴とする、請求項3に記載の方法。
【請求項5】
前記第4ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に基づいて、前記第3ネットワークノードから前記テールノードまでの第2転送サブ経路を生成することは、
最短経路優先アルゴリズムを採用して、第4ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に基づいて経路計算を行い、前記第3ネットワークノードから前記テールノードまでの第2転送サブ経路を生成することを含む
ことを特徴とする、請求項2に記載の方法。
【請求項6】
前記ソースノードから前記テールノードまでの第2転送経路を取得することは、
制御ノードに経路リクエストを送信することと、
前記制御ノードからフィードバックする第2転送経路を受信し、前記第2転送経路はすべての第1ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に基づいて確定された、前記ソースノードから前記テールノードまでの転送経路であることと、を含む
ことを特徴とする、請求項1に記載の方法。
【請求項7】
目標経路計算アルゴリズムをサポートする第1ネットワークノードのトポロジー情報を取得する、トポロジー取得モジュールと、
前記目標経路計算アルゴリズムを採用して、前記第1ネットワークノードのトポロジー情報に対して経路計算を行い、第1転送経路を生成し、前記第1転送経路は第1ネットワークノードにおける指定されたソースノードから指定されたテールノードまでの転送経路である、経路生成モジュールと、
前記第1転送経路には経路中断が存在している場合、前記ソースノードから前記テールノードまでの第2転送経路を取得し、前記第2転送経路はすべての第1ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報によって確定された転送経路であり、前記第2ネットワークノードは前記目標経路計算アルゴリズムをサポートしない、経路取得モジュールと、
前記第2転送経路から、第2ネットワークノードに繋がる第1ネットワークノードを確定し、ノードペアを取得する、ノード確定モジュールと、
前記第2転送経路での各ノードペアにおける2番目のノードを当該ノードペアにおける1番目のノードのネクストホップデバイスとして更新し、前記ソースノードから前記テールノードまで繋がる転送経路を取得し、前記第2転送経路の方向に沿って、各ノードペアにおける2番目のノードは1番目のノードの後に位置する、ネクストホップ更新モジュールことと、を含む
ことを特徴とする、転送経路生成装置。
【請求項8】
前記経路取得モジュールは、
前記第1転送経路には経路中断が存在している場合、前記第1転送経路に経路中断が発生した第3ネットワークノードと、前記ソースノードから前記第3ネットワークノードまでの第1転送サブ経路とを確定する、サブ経路確定ユニットと、
第4ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に基づいて、前記第3ネットワークノードから前記テールノードまでの第2転送サブ経路を生成し、前記第4ネットワークノードは前記第1転送サブ経路に位置しない第1ネットワークノードである、サブ経路生成ユニットと、を含み、
前記ノード確定モジュールは、前記第2転送サブ経路から、第2ネットワークノードに繋がる第1ネットワークノードを確定し、ノードペアを取得し、
前記ネクストホップ更新モジュールは、前記第2転送サブ経路での各ノードペアにおける2番目のノードを当該ノードペアにおける1番目のノードのネクストホップデバイスとして更新し、前記第1転送サブ経路と更新された第2転送サブ経路とを接続し、前記ソースノードから前記テールノードまで繋がる転送経路を取得する
ことを特徴とする、請求項7に記載の装置。
【請求項9】
前記サブ経路生成ユニットは、前記目標経路計算アルゴリズムを採用して、第4ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に基づいて経路計算を行い、前記第3ネットワークノードから前記テールノードまでの第2転送サブ経路を生成し、
前記装置は、
前記ネクストホップ更新モジュールが前記ソースノードから前記テールノードまで繋がる転送経路を取得した後、前記繋がる転送経路のセグメントリストを生成する際に、第1セグメント識別子SIDと第2SIDとの間にバインディングセグメント識別子BSIDを追加することによって、第1ノードペアにおける1番目のノードは、前記BSIDに対応するSRv6転送ポリシーを呼び出して前記第1ノードペアにおける2番目のノードまでの転送経路を選択し、前記BSIDに対応する転送ポリシーが使用する経路計算アルゴリズムは前記目標経路計算アルゴリズムであり、前記第1ノードペアは前記繋がる転送経路におけるノードペアであり、前記第1SIDは前記第1ノードペアにおける1番目のノードに対応するSIDであり、第2SIDは前記第1ノードペアにおける2番目のノードに対応するSIDである、BSID追加モジュールをさらに含む
ことを特徴とする、請求項8に記載の装置。
【請求項10】
前記繋がる転送経路のセグメントリストを生成する際に、前記第1ノードペアにおける各ノードが対応するSIDのファンクションフィールドに、セキュリティ認証コマンドおよび前記セキュリティ認証コマンドのコマンドパラメータを追加する、情報追加モジュールをさらに含む
ことを特徴とする、請求項9に記載の装置。
【請求項11】
前記サブ経路生成ユニットは、最短経路優先アルゴリズムを採用して、第4ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に基づいて経路計算を行い、前記第3ネットワークノードから前記テールノードまでの第2転送サブ経路を生成する
ことを特徴とする、請求項8に記載の装置。
【請求項12】
前記経路取得モジュールは、前記第1転送経路には経路中断が存在している場合、制御ノードに経路リクエストを送信し、前記制御ノードからフィードバックする第2転送経路を受信し、前記第2転送経路はすべての第1ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に基づいて確定された、前記ソースノードから前記テールノードまでの転送経路である
ことを特徴とする、請求項7に記載の装置。
【請求項13】
プロセッサと、機械可読記憶媒体とを含むネットワークデバイスであって、前記機械可読記憶媒体は、前記プロセッサによって実行され得る機械実行可能コマンドを記憶しており、前記プロセッサは、前記機械実行可能コマンドによって、請求項1~6のいずれか一項に記載の方法のステップを実現する
ことを特徴とする、ネットワークデバイス。
【請求項14】
機械実行可能コマンドを記憶している機械可読記憶媒体であって、プロセッサによって呼び出されて実行される際に、前記機械実行可能コマンドは、前記プロセッサに、請求項1~6のいずれか一項に記載の方法のステップを実現させる
ことを特徴とする、機械可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、ネットワーク通信技術分野に関し、特に転送経路生成方法、装置、ネットワークデバイスおよび記憶媒体に関する。
【背景技術】
【0002】
SR(Segment Routing、セグメントルーティング)技術はソースルーティング技術である。SRにおけるFlex-Algo技術に基づいて、ネットワークにおける各ネットワークノードは相違の経路計算アルゴリズムをサポートすることができ、同一の経路計算アルゴリズムをサポートするネットワークノードからなるトポロジーは1つの論理トポロジーと見なされる。ここで、Flex-Algoは、SR IGP(Interior Gateway Protocol、内部ゲートウェイプロトコル)の柔軟なアルゴリズムである。
【0003】
SR技術に基づくネットワークでパケットを転送する場合、パケットの転送経路は、同一の論理トポロジーに物理リンクが有するネットワークノードで生成される。
【0004】
しかしながら、実際の応用において、ネットワークノードがサポートする経路計算アルゴリズムは、ネットワーク環境に伴って変化する可能性がある。それにより、ネットワークノードが属する論理トポロジーは変化する。例えば、論理トポロジーにおける2つのネットワークノードがサポートする経路計算アルゴリズムが変わって、当該論理トポロジーに属しなくなることによって、当該論理トポロジーにおける他のネットワークノード間の前記変わったネットワークノードに基づく物理リンクが中断になる。これにより、当該論理トポロジーにおけるネットワークノードに基づいて、繋がる転送経路を生成することが困難になる。
【0005】
そのため、論理トポロジーが変化した場合にも、繋がる転送経路を生成できる技術案を提供する必要がある。
【発明の概要】
【0006】
本願実施例は、論理トポロジーが変化した場合にも、繋がる転送経路を生成できるように、転送経路生成方法、装置、ネットワークデバイスおよび記憶媒体を提供することを目的とする。詳細の技術案は以下の通りである。
【0007】
第1態様として、本願実施例は転送経路生成方法を提供し、前記方法は、
目標経路計算アルゴリズムをサポートする第1ネットワークノードのトポロジー情報を取得することと、
前記目標経路計算アルゴリズムを採用して、前記第1ネットワークノードのトポロジー情報に対して経路計算を行い、第1転送経路を生成し、前記第1転送経路は、第1ネットワークノードにおける指定されたソースノードから指定されたテールノードまでの転送経路であることと、
前記第1転送経路には経路中断が存在している場合、前記ソースノードから前記テールノードまでの第2転送経路を取得し、前記第2転送経路はすべての第1ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報によって確定された転送経路であり、前記第2ネットワークノードは前記目標経路計算アルゴリズムをサポートしないことと、
前記第2転送経路から、第2ネットワークノードに繋がる第1ネットワークノードを確定し、ノードペアを取得することと、
前記第2転送経路での各ノードペアにおける2番目のノードを当該ノードペアにおける1番目のノードのネクストホップデバイスとして更新し、前記ソースノードから前記テールノードまで繋がる転送経路を取得し、前記第2転送経路の方向に沿って、各ノードペアにおける2番目のノードは1番目のノードの後に位置することと、を含む。
【0008】
本願の一実施例において、前記ソースノードから前記テールノードまでの第2転送経路を取得することは、
前記第1転送経路に経路中断が発生した第3ネットワークノードと、前記ソースノードから前記第3ネットワークノードまでの第1転送サブ経路とを確定することと、
第4ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に基づいて、前記第3ネットワークノードから前記テールノードまでの第2転送サブ経路を生成し、前記第4ネットワークノードは前記第1転送サブ経路に位置しない第1ネットワークノードであることと、を含み、
前記第2転送経路から、第2ネットワークノードに繋がる第1ネットワークノードを確定し、ノードペアを取得することは、
前記第2転送サブ経路から、第2ネットワークノードに繋がる第1ネットワークノードを確定し、ノードペアを取得することを含み、
前記第2転送経路での各ノードペアにおける2番目のノードを当該ノードペアにおける1番目のノードのネクストホップデバイスとして更新し、前記ソースノードから前記テールノードまで繋がる転送経路を取得することは、
前記第2転送サブ経路での各ノードペアにおける2番目のノードを当該ノードペアにおける1番目のノードのネクストホップデバイスとして更新することと、
前記第1転送サブ経路と更新された第2転送サブ経路とを接続し、前記ソースノードから前記テールノードまで繋がる転送経路を取得することと、を含む。
【0009】
本願の一実施例において、前記第4ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に基づいて、前記第3ネットワークノードから前記テールノードまでの第2転送サブ経路を生成することは、
前記目標経路計算アルゴリズムを採用して、第4ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に基づいて経路計算を行い、前記第3ネットワークノードから前記テールノードまでの第2転送サブ経路を生成することを含み、
前記第1転送サブ経路と更新された第2転送サブ経路とを接続し、前記ソースノードから前記テールノードまで繋がる転送経路を取得するステップの後、さらに、
前記繋がる転送経路のセグメントリストを生成する際に、第1セグメント識別子SIDと第2SIDとの間にバインディングセグメント識別子BSIDを追加することによって、第1ノードペアにおける1番目のノードは、前記BSIDに対応するSRv6転送ポリシーを呼び出して前記第1ノードペアにおける2番目のノードまでの転送経路を選択し、前記BSIDに対応する転送ポリシーが使用する経路計算アルゴリズムは前記目標経路計算アルゴリズムであり、前記第1ノードペアは前記繋がる転送経路におけるノードペアであり、前記第1SIDは前記第1ノードペアにおける1番目のノードに対応するSIDであり、第2SIDは前記第1ノードペアにおける2番目のノードに対応するSIDであること、を含む。
【0010】
本願の一実施例において、前記転送経路生成方法は、さらに、
前記繋がる転送経路のセグメントリストを生成する際に、前記第1ノードペアにおける各ノードが対応するSIDのファンクションフィールドに、セキュリティ認証コマンドおよび前記セキュリティ認証コマンドのコマンドパラメータを追加することを含む。
本願の一実施例において、前記第4ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に基づいて、前記第3ネットワークノードから前記テールノードまでの第2転送サブ経路を生成することは、
最短経路優先アルゴリズムを採用して、第4ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に基づいて経路計算を行い、前記第3ネットワークノードから前記テールノードまでの第2転送サブ経路を生成することを含む。
【0011】
本願の一実施例において、前記ソースノードから前記テールノードまでの第2転送経路を取得することは、
制御ノードに経路リクエストを送信することと、
前記制御ノードからフィードバックする第2転送経路を受信し、前記第2転送経路はすべての第1ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に基づいて確定された、前記ソースノードから前記テールノードまでの転送経路であることと、を含む。
【0012】
第2態様として、本願実施例は転送経路生成装置を提供し、前記装置は、
目標経路計算アルゴリズムをサポートする第1ネットワークノードのトポロジー情報を取得する、トポロジー取得モジュールと、
前記目標経路計算アルゴリズムを採用して、前記第1ネットワークノードのトポロジー情報に対して経路計算を行い、第1転送経路を生成し、前記第1転送経路は第1ネットワークノードにおける指定されたソースノードから指定されたテールノードまでの転送経路である、経路生成モジュールと、
前記第1転送経路には経路中断が存在している場合、前記ソースノードから前記テールノードまでの第2転送経路を取得し、前記第2転送経路はすべての第1ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報によって確定された転送経路であり、前記第2ネットワークノードは前記目標経路計算アルゴリズムをサポートしない、経路取得モジュールと、
前記第2転送経路から、第2ネットワークノードに繋がる第1ネットワークノードを確定し、ノードペアを取得する、ノード確定モジュールと、
前記第2転送経路での各ノードペアにおける2番目のノードを当該ノードペアにおける1番目のノードのネクストホップデバイスとして更新し、前記ソースノードから前記テールノードまで繋がる転送経路を取得し、前記第2転送経路の方向に沿って、各ノードペアにおける2番目のノードは1番目のノードの後に位置する、ネクストホップ更新モジュールと、を含む。
【0013】
本願の一実施例において、前記経路取得モジュールは、
前記第1転送経路には経路中断が存在している場合、前記第1転送経路に経路中断が発生した第3ネットワークノードと、前記ソースノードから前記第3ネットワークノードまでの第1転送サブ経路とを確定する、サブ経路確定ユニットと、
第4ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に基づいて、前記第3ネットワークノードから前記テールノードまでの第2転送サブ経路を生成し、前記第4ネットワークノードは前記第1転送サブ経路に位置しない第1ネットワークノードである、サブ経路生成ユニットと、を含み、
前記ノード確定モジュールは、具体的に、前記第2転送サブ経路から、第2ネットワークノードに繋がる第1ネットワークノードを確定し、ノードペアを取得し、
前記ネクストホップ更新モジュールは、具体的に、前記第2転送サブ経路での各ノードペアにおける2番目のノードを当該ノードペアにおける1番目のノードのネクストホップデバイスとして更新し、前記第1転送サブ経路と更新された第2転送サブ経路とを接続し、前記ソースノードから前記テールノードまで繋がる転送経路を取得する。
【0014】
本願の一実施例において、前記サブ経路生成ユニットは、具体的に、前記目標経路計算アルゴリズムを採用して、第4ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に基づいて経路計算を行い、前記第3ネットワークノードから前記テールノードまでの第2転送サブ経路を生成し、
前記装置は、さらに、
前記ネクストホップ更新モジュールが前記ソースノードから前記テールノードまで繋がる転送経路を取得した後、前記繋がる転送経路のセグメントリストを生成する際に、第1セグメント識別子SIDと第2SIDとの間にバインディングセグメント識別子BSIDを追加することによって、第1ノードペアにおける1番目のノードは、前記BSIDに対応するSRv6転送ポリシーを呼び出して前記第1ノードペアにおける2番目のノードまでの転送経路を選択し、前記BSIDに対応する転送ポリシーが使用する経路計算アルゴリズムは前記目標経路計算アルゴリズムであり、前記第1ノードペアは前記繋がる転送経路におけるノードペアであり、前記第1SIDは前記第1ノードペアにおける1番目のノードに対応するSIDであり、第2SIDは前記第1ノードペアにおける2番目のノードに対応するSIDである、BSID追加モジュールを含む。
【0015】
本願の一実施例において、前記転送経路生成装置は、さらに、
前記繋がる転送経路のセグメントリストを生成する際に、前記第1ノードペアにおける各ノードが対応するSIDのファンクションフィールドに、セキュリティ認証コマンドおよび前記セキュリティ認証コマンドのコマンドパラメータを追加する、情報追加モジュールを含む。
【0016】
本願の一実施例において、前記サブ経路生成ユニットは、具体的に、最短経路優先アルゴリズムを採用して、第4ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に基づいて経路計算を行い、前記第3ネットワークノードから前記テールノードまでの第2転送サブ経路を生成する。
【0017】
本願の一実施例において、前記経路取得モジュールは、具体的に、前記第1転送経路には経路中断が存在している場合、制御ノードに経路リクエストを送信し、前記制御ノードからフィードバックする第2転送経路を受信し、前記第2転送経路はすべての第1ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に基づいて確定された、前記ソースノードから前記テールノードまでの転送経路である。
【0018】
第3態様として、本願実施例は、プロセッサと、機械可読記憶媒体とを含むネットワークデバイスを提供し、前記機械可読記憶媒体は、前記プロセッサによって実行され得る機械実行可能コマンドを記憶しており、前記プロセッサは、前記機械実行可能コマンドによって、第1態様のいずれかの前記転送経路方法のステップを実現する。
【0019】
第4態様として、本願実施例は、機械実行可能コマンドを記憶している機械可読記憶媒体を提供し、プロセッサによって呼び出されて実行される際に、前記機械実行可能コマンドは、上記第1態様のいずれかの前記転送経路方法のステップを実現させる。
【0020】
以上から分かるように、本願実施例に係る技術案を応用して転送経路を生成する際に、目標経路計算アルゴリズムを採用して第1ネットワークノードのトポロジー情報に対して経路計算を行うと、生成した第1転送経路には経路中断が存在しており、繋がる転送経路を生成できないと考えるのではなく、目標経路計算アルゴリズムをサポートしない第2ネットワークノードを介して、繋がる転送経路を生成する。これによって、論理トポロジーの変化によって当該論理トポロジーにおけるネットワークノード間の物理リンクが中断になっても、繋がる転送経路を生成することを確保できる。
【図面の簡単な説明】
【0021】
本願の実施例及び従来の技術の技術案をより明確に説明するために、以下で実施例及び従来の技術に使用される図面について簡単に説明するが、以下で説明される図面は単に本願に係るいくつかの実施例に過ぎず、当業者は、これらの図面に基づいて他の図面を得られることは明白である。
【0022】
【
図1a】
図1は、本願実施例に係る第1種のネットワークトポロジーの模式図である。
【
図1b】
図1bは、本願実施例に係る第2種のネットワークトポロジーの模式図である。
【
図1c】
図1cは、本願実施例に係る第3種のネットワークトポロジーの模式図である。
【
図1d】
図1dは、本願実施例に係る第4種のネットワークトポロジーの模式図である。
【
図2】
図2は、本願実施例に係る第1種の転送経路生成方法のフローチャート模式図である。
【
図3】
図3は、本願実施例に係る第2種の転送経路生成方法のフローチャート模式図である。
【
図4】
図4は、本願実施例に係る第1種の転送経路生成装置の構成模式図である。
【
図5】
図5は、本願実施例に係る第2種の転送経路生成装置の構成模式図である。
【
図6】
図6は、本願実施例に係るネットワークデバイスの構成模式図である。
【発明を実施するための形態】
【0023】
本願の目的、技術案、及び利点をより明確にするために、以下、図面を参照し、実施例を挙げて、本願に対してさらに詳細に説明する。記載される実施例は全部の実施例ではなく、単に本願の一部の実施例にすぎないのは明白である。本分野の当業者が本願における実施例に基づいて得る全ての実施例は、本願の特許請求の範囲に含まれる。なお、以下に説明する実施例は本申実施例に係る技術方案を説明、陳述することのみに用いられ、本願を限定するものではない。また、衝突しない限り、本願の実施例と実施例における特徴は互いに組み合わせることができる。
【0024】
従来技術において、SRにおけるFlex-Algo技術に基づくネットワークに対して転送経路を生成する場合、同一の論理トポロジーにおけるネットワークノード間の物理リンクに依存する。論理トポロジーが変化することによって、論理トポロジーにおけるネットワークノード間の物理リンクが中断になる可能性がある。これにより、繋がる転送経路を生成することが困難になる。当該課題を解決するために、本願実施例は、転送経路生成方法、装置、ネットワークデバイスおよび記憶媒体を提供する。
【0025】
以下、
図1a~
図1cを参照して、具体例によって上記技術課題を説明する。
【0026】
SRにおけるFlex-Algo技術に基づくネットワークには、各ネットワークノードは、自身がサポートする経路計算アルゴリズムを発行することができる。同一の経路計算アルゴリズムをサポートするネットワークノード間のトポロジーは1つの論理トポロジーと見なされる。これにより、ネットワーク全体に対応する物理トポロジーは、複数の論理トポロジーに分割される。各論理トポロジーは、1つのネットワークフラグメンテーションと呼ばれ、ユーザーに異なる種類または異なるレベルのサービスを提供することに用いられる。
【0027】
なお、SR技術は、転送経路におけるソースノードがパケットに転送経路のセグメント情報を挿入することをサポートする。ネットワークノード間がIPv6(Internet Protocol Version 6、インターネットプロトコルバージョン6)に基づいて通信する場合、ソースノードは、具体的に、セグメントリストをパケットに挿入する。説明の便宜上、セグメントリストが挿入されたパケットをSRv6パケットと呼ぶ。転送経路のセグメントリストは、当該転送経路における各ネットワークノードがパケット転送を行う順序を指示する。これにより、ネットワークノードがSRv6パケットを受信した後、SRv6パケットが持っているセグメントリストに基づいてパケット転送を行うことができる。
【0028】
上記の事情に鑑み、パケットを転送する前に転送経路を生成する必要がある。関連技術において、SRにおけるFlex-Algo技術に基づくネットワークに対して転送経路を生成する場合、論理トポロジーにおけるネットワークノードに基づいて転送経路を生成する。つまり、生成した転送経路に含まれるネットワークノードは、すべて同一の論理トポロジーに含まれるネットワークノードである。すなわち、生成した転送経路に含まれるネットワークノードは、すべて同一の経路計算アルゴリズムをサポートする。なお、転送経路を生成する場合、論理トポロジーにおけるネットワークノード間の物理リンクに依存する。一旦、論理トポロジーにおけるネットワークノード間の物理リンクは、指定されたソースノードと指定されたテールノードが繋がることができないと、転送経路を生成できない。
【0029】
図1aを参照して、
図1はネットワークトの物理ポロジーの模式図を示す。図面には、黒い実線はネットワークノード間の物理リンクを示し、R0~R7は8つのネットワークノードを示す。
【0030】
仮に、ネットワークノードR0、R1、R2、R6、R7は第1経路計算アルゴリズムをサポートし、ネットワークノードR0、R4、R2、R3、R7は第2経路計算アルゴリズムをサポートする。
【0031】
これにより、R0、R1、R2、R6、R7は1つの論理トポロジーに属し、
図1aに示す物理トポロジーに基づいて、
図1bに示す論理トポロジーを取得することができる。R3とR5は第1経路計算アルゴリズムをサポートしないため、R2とR6との間の物理リンクが中断になる。そのため、R0とR1とR2とR6とR7との間の物理リンクに基づいて、R0からR7まで繋がる転送経路を生成できない。
【0032】
R0、R4、R2、R3、R7は1つの論理トポロジーに属し、
図1aに示す物理トポロジーに基づいて、
図1cに示す論理トポロジーを取得することができる。当該論理トポロジーは繋がるものであり、R0、R4、R2、R3、R7に基づいて、R0からR7まで繋がる転送経路を生成できる。
【0033】
以下、具体実施例によって、本願実施例に係る転送経路生成方法、装置、ネットワークデバイスおよび記憶媒体をそれぞれ詳細に説明する。
【0034】
まず、本願実施例の実行主体について説明する。
【0035】
本願実施例の実行主体は、FCE(Path Computation Element、経路計算エレメント)が存在しているネットワークノードであり、説明の便宜上、実行ノードと呼ばれる。当該実行ノードは、ルータデバイスであってもよく、ネットワークにおける制御ノードであってもよい。ここで、上記制御ノードは、ネットワークにおける制御機能を有するデバイスである。
【0036】
上記実行ノードがルータデバイスである場合、上記実行ノードは、生成対象である転送経路における指定されたソースノードであってもよい。
【0037】
図2を参照して、
図2は本願実施例に係る第1種の転送経路生成方法のフローチャート模式図である。当該方法は、下記ステップS201~S205を含む。ステップS201~S205は、上記実行ノードによって実行される。
【0038】
ステップS201において、目標経路計算アルゴリズムをサポートする第1ネットワークノードのトポロジー情報を取得する。
【0039】
ネットワークノードは、SR技術に基づくネットワークにおいて、サポートする経路計算アルゴリズムを発行することができる。これにより、実行ノードは各ネットワークノードがサポートする経路計算アルゴリズムを知ることができる。これによって、本ステップにおいて、実行ノードは、各ネットワークノードが発行した通知によって、目標経路計算アルゴリズムをサポートする第1ネットワークノードを知ることができる。
【0040】
1つのネットワークノードは、1つの経路計算アルゴリズムをサポートしてもよく、複数の経路計算アルゴリズムをサポートしてもよい。
【0041】
ここで、上記経路計算アルゴリズムとは、転送経路を計算するためのアルゴリズムである。
【0042】
例えば上記経路計算アルゴリズムは、Flex-Algoなどのアルゴリズムであってよい。各Flex-Algoアルゴリズムは、128~255の範囲における1つの値で示されることができる。
【0043】
ステップS202において、目標経路計算アルゴリズムを採用して、第1ネットワークノードのトポロジー情報に対して経路計算を行い、第1転送経路を生成する。
【0044】
ここで、上記第1転送経路は、第1ネットワークノードにおける指定されたソースノードから指定されたテールノードまでの転送経路である。
【0045】
具体的には、実行ノードは、目標経路計算アルゴリズムの経路計算に対する制約条件に基づいて、第1ネットワークノードのトポロジー情報に対して経路計算を行うことができる。
【0046】
例えば、Flex-Algoには1組の制約条件を含むことができる。ここで、上記制約条件はリンク標識に対する制約条件であってよく、例えば、上記リンク指標は遅延指標であってよい。上記制約条件は経路計算アルゴリズムに対する制約条件であってよく、例えば、上記経路計算アルゴリズムはSPF(Shortest Path First、最短経路優先)アルゴリズムであってよい。上記制約条件はトポロジー情報に対する制約条件であってよく、例えば、転送経路に含む必要があるリンクまたは除去する必要があるリンクなどを規定する。これによって、上記目標経路計算アルゴリズムがFlex-Algoである場合、Flex-Algoに含む制約条件に基づいて、第1ネットワークノードのトポロジー情報に対して経路計算を行うことができる。
【0047】
ステップS203において、第1転送経路には経路中断が存在している場合、ソースノードからテールノードまでの第2転送経路を取得する。
【0048】
ここで、第2転送経路はすべての第1ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報によって確定された転送経路である。第2ネットワークノードは、目標経路計算アルゴリズムをサポートしない。
【0049】
第2転送経路は、ソースノードからテールノードまでの完全な転送経路であってよい。第2転送経路は複数の転送サブ経路の集合であってよい。この場合、上記複数の転送サブ経路は接続して、ソースノードからテールノードまでの完全な転送経路を形成することができる。
【0050】
具体的には、第1ネットワークノード間の物理リンクは、ソースノードとテールノードとを繋ぐことができない場合、生成した第1転送経路は、ソースノードからテールノードまでの転送経路一部だけである。この場合、第1転送経路の最後のホップは、上記テールノードではなく、他の第1ネットワークノードに繋がらない第1ネットワークノードである。上記の状況によって、第1転送経路における最後のホップは上記テールノードではない場合、実行ノードは第1転送経路には経路中断が存在していると判断できる。
【0051】
ネットワークには、第1ネットワークノードのほかに第2ネットワークノードが存在している。第1ネットワークノード間に物理リンクが存在している可能性があり、第1ネットワークノードと第2ネットワークノードとの間にも物理リンクが存在している可能性もある。本ステップにおいて、実行ノードは第1転送経路に経路中断が存在していることを確定した後、第1ネットワークノードに限らず、第2ネットワークノードも経路計算過程に加える。これによって、第1ネットワークノードと第2ネットワークノードとの間の物理リンク、および、第2ネットワークノードと第2ネットワークノードとの間の物理リンクによって、2つの第1ネットワークノードを繋ぐことが期待される。
【0052】
本願の一実施例には、実行ノードは、すべての第1ネットワークノードのトポロジー情報およびすべての第2ネットワークノードのトポロジー情報に基づいて、経路計算を行って、ソースノードからテールノードまでの第2転送経路を取得する。
【0053】
ここで、経路計算を行う際に用いられる経路計算アルゴリズムは、最短経路優先アルゴリズムであってもよく、上述目標経路計算アルゴリズムなどであってもよい。
【0054】
ステップS204において、第2転送経路から、第2ネットワークノードに繋がる第1ネットワークノードを確定し、ノードペアを取得する。
【0055】
第2転送経路には、第2ネットワークノードで繋がる1つのサブ経路が存在している可能性があり、第2ネットワークノードで繋がる複数のサブ経路が存在している可能性もある。
【0056】
上記状況によって、第2転送経路を取得した後、実行ノードは、ソースノードからテールノードまでの方向に沿って、ホップごとに各ネットワークノードを検査し、第2ネットワークノードと直接接続する第1ネットワークノードをサブ経路の1番目のノードとして確定し、且つ、次の第2ネットワークノードと直接接続する第1ネットワークノードを当該サブ経路の2番目のノードとして確定する。上記1番目のノードと2番目のノードはノードペアを形成し、且つ第2転送経路の方向に沿って、2番目のノードは1番目のノードの後に位置する。
【0057】
これにより、第2転送経路に複数のサブ経路が存在している場合、本ステップにより、複数のノードペアを取得することができる。
【0058】
ステップS205において、第2転送経路での各ノードペアにおける2番目のノードを当該ノードペアにおける1番目のノードのネクストホップデバイスとして更新し、ソースノードからテールノードまで繋がる転送経路を取得する。
【0059】
第2転送経路の方向に沿って、各ノードペアにおける2番目のノードは1番目のノードの後に位置する。
【0060】
第2転送経路には、各ノードペアにおける2番目のノードを当該ノードペアにおける1番目のノードのネクストホップデバイスとして更新することによって、第2転送経路の更新を実現し、第2ネットワークノードを第2転送パスから除去することができ、第2転送経路には第1ネットワークノードのみが存在している。これにより、転送経路におけるネットワークノードがいずれも同一の論理トポロジーからのものであることを確保するだけでなく、第1ネットワークノード間の物理リンクが繋がっていない場合、転送経路を生成できることも確保する。
【0061】
図1dを参考して、
図1bに示す転送経路には経路中断が存在している場合、本願実施例に係る技術案を応用して生成した転送経路を示す。
図1dには、R2とR6との間に破線で連接しているのは、R2が第2ネットワークノードによってR6に繋がることを示す。
【0062】
前記ステップに従って転送経路を生成した後、転送経路における各第1ネットワークノードがSRv6パケットを転送するとき、SRv6パケットのパケットヘッダーが持っている転送経路のセグメントリストに基づいて、ネクストホップデバイスを知ることができる。この場合、第1ネットワークノードとネクストホップデバイスとの間に物理リンクが存在しなくても、第1ネットワークノードは最短経路優先アルゴリズム又は目標経路計算アルゴリズムに基づいて経路計算を行うことができ、自身とネクストホップデバイスとの間の転送経路を取得し、それによって取得した転送経路に沿ってSRv6パケットをネクストホップデバイスに転送する。
【0063】
以上から分かるように、本願実施例に係る技術案を応用して転送経路を生成する際に、目標経路計算アルゴリズムを採用して第1ネットワークノードのトポロジー情報に対して経路計算を行うと、生成した第1転送経路には経路中断が存在しており、繋がる転送経路を生成できないと考えるのではなく、目標経路計算アルゴリズムをサポートしない第2ネットワークノードを介して、繋がる転送経路を生成する。これによって、論理トポロジーの変化によって当該論理トポロジーにおけるネットワークノード間の物理リンクが中断になっても、繋がる転送経路を生成することを確保できる。
【0064】
具体的に、上記第2転送経路は、実行ノードだけでなく、ネットワークにおける制御機能を有する制御ノードによっても生成される。制御ノードは、ネットワークにおける各ネットワークノードが発行した経路計算アルゴリズムを取得するだけでなく、BGP-LS(BGP Link-State)などによってネットワークにおけるネットワークノードのトポロジー情報を収集することもできる。
【0065】
これにより、本願の一実施例には、上記ステップS203において、実行ノードが第2転送経路を取得することは、制御ノードによって実現されることができる。
【0066】
具体的には、実行ノードは制御ノードに経路リクエストを送信し、当該経路リクエストは、制御ノードに第2転送経路の生成をリクエストすることに用いられる。制御ノードはすべての第1ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に基づいて、ソースノードからテールノードまでの第2転送経路を確定し、且つ、上記実行ノードに第2転送経路をフィードバックすることによって、上記実行ノードは第2転送経路を取得する。
【0067】
ここで、制御ノードは、最短経路優先アルゴリズムを採用して第2転送経路を確定してもよく、目標経路計算アルゴリズムを採用して第2転送経路を確定してもよい。もちろん、他のアルゴリズムを採用して第2転送経路を確定することもできるが、本願はこれを限定しない。
【0068】
以上から分かるように、本実施例に係る技術案において、制御ノードはネットワークにおけるネットワークノードがサポートする経路計算アルゴリズム及びネットワークノードのトポロジー情報を把握できるため、比較的に正確な転送経路を生成できる。なお、制御ノードは第2転送経路の生成の作業を担うことで、実行主体であるネットワークノードの負荷を軽減する。
【0069】
本願の一実施例において、
図3を参照して、第2種の転送経路生成方法のフローチャート模式図を提供する。前記
図2に示す実施例と比べて、上記ステップS203において、第1転送経路には経路中断が存在している場合、ソースノードからテールノードまでの第2転送経路を取得することは、以下のステップS203AとS203Bとを含む。
【0070】
ステップS203Aにおいて、第1転送経路には経路中断が存在している場合、第1転送経路に経路中断が発生した第3ネットワークノードと、ソースノードから第3ネットワークノードまでの第1転送サブ経路とを確定する。
【0071】
具体的に、実行ノードは、目標経路計算アルゴリズムを採用して第1転送経路を生成した後、第1転送経路における最後のホップに対して、最後のホップが上記テールノードであるか否かを検出することができる。最後のホップが上記テールノードではない場合、第1転送経路には経路中断が存在していることを示し、且つ上記最後のホップを第3ネットワークノードと呼ぶ。上記第1転送経路もソースノードから第3ネットワークノードまでの転送経路であるため、第1転送経路を本ステップにおける第1転送サブ経路とすることができる。
【0072】
ステップS203Bにおいて、第4ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に基づいて、第3ネットワークノードからテールノードまでの第2転送サブ経路を生成する。
【0073】
ここで、第4ネットワークノードは、第1転送サブ経路に位置しない第1ネットワークノードである。
【0074】
第1転送サブ経路はソースノードから第3ネットワークノードまでの転送経路のみであるため、当該転送経路は、パケットをテールノードに転送することができない。また、第3ネットワークノードが第4ネットワークノードに繋がらなく、第3ネットワークノードが第2ネットワークノードによって第4ネットワークノードを繋ぐことができる可能性があるため、本ステップにおいて、第4ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に基づいて、第3ネットワークノードからテールノードまでの第2転送サブ経路を生成する。
【0075】
実行ノードが第2転送サブ経路を生成する際に、異なる経路計算アルゴリズムを採用して生成することができる。詳細については後記の実施例に説明するが、ここで詳しく説明しない。
【0076】
上記の上で、上記ステップS204において、実行ノードは第2転送経路から、第2ネットワークノードに繋がる第1ネットワークノードを確定し、ノードペアを取得することは、以下のステップS204Aを含む。
【0077】
ステップS204Aにおいて、第2転送サブ経路から、第2ネットワークノードに繋がる第1ネットワークノードを確定し、ノードペアを取得する。
【0078】
第1転送サブ経路は、目標経路計算アルゴリズムを採用して、第1ネットワークノードのために生成した転送経路であるため、第1転送サブ経路には、第2ネットワークノードに繋がる第1ネットワークノードは必ず存在しない。転送経路の生成効率を向上するために、本ステップには、第2転送サブ経路のみから、第2ネットワークノードに繋がる第1ネットワークノードを確定することで、ノードペアを取得する。
【0079】
具体的に、実行ノードは、第3ネットワークノードからテールノードまでの方向に沿って、ホップごとに各ネットワークノードを検査し、第2ネットワークノードと直接接続する第1ネットワークノードを1番目のノードとして確定し、且つ、次の第2ネットワークノードと直接接続する第1ネットワークノードを2番目のノードとして確定する。上記1番目のノードと2番目のノードはノードペアを形成する。
【0080】
前記ステップS205において、実行ノードは、第2転送経路での各ノードペアにおける2番目のノードを当該ノードペアにおける1番目のノードのネクストホップデバイスとして更新し、ソースノードからテールノードまで繋がる転送経路を取得することは、下記のステップS205AとS205Bとを含む。
【0081】
ステップS205Aにおいて、第2転送サブ経路での各ノードペアにおける2番目のノードを当該ノードペアにおける1番目のノードのネクストホップデバイスとして更新する。
【0082】
実行ノードは、各ノードペアにおける2番目のノードを当該ノードペアにおける1番目ノードのネクストホップデバイスとすることで、第2転送サブ経路を更新する。第2ネットワークノードを第2転送サブ経路から除去することができる。これにより、第2転送サブ経路にも第1ネットワークノードのみが存在している。
【0083】
ステップS205Bにおいて、第1転送サブ経路と更新された第2転送サブ経路とを接続し、ソースノードからテールノードまで繋がる転送経路を取得する。
【0084】
第1転送サブ経路はソースノードから第3ネットワークノードまでの転送経路であり、第2転送サブ経路は第3ネットワークノードからテールノードまでの転送経路であるため、第1転送サブ経路および第2転送サブ経路はいずれもソースノードからテールノードまでの転送経路の一部であり、且つ第1転送サブ経路および第2転送サブ経路のいずれもには第3ネットワークノードが存在している。そのため、第3ネットワークノードによって第1転送サブ経路と第2転送サブ経路を接続することで、ソースノードからテールノードまでの完全な転送経路を取得することができる。
【0085】
以上から分かるように、本実施例に係る技術案において、目標経路計算アルゴリズムを採用して得た第1転送経路を第1転送サブ経路としたことは、第1転送サブ経路におけるネットワークノードがいずれも第1ネットワークノードであることを確保した。そして、第2転送サブ経路のみに対してノードペアを確定することは、確定したノードペアが正確であることを確保した上で、転送経路を生成する効率を向上した。
【0086】
以下、2つの異なる実施例によって、第2転送サブ経路を如何に生成することについて説明する。
【0087】
本願の一実施例には、上記ステップS203Bにおいて、実行ノードは、第4ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に基づいて、第3ネットワークノードからテールノードまでの第2転送サブ経路を生成する際に、目標経路計算アルゴリズムを採用して、第4ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に対して経路計算を行い、第3ネットワークノードからテールノードまでの第2転送サブ経路を生成することができる。
【0088】
第2転送サブ経路は目標経路計算アルゴリズムを採用して生成したものであるため、各ノードペアにおける1番目のノードがSRv6パケットを転送するとき、SRv6パケットをノードペアにおける2番目のノードに正確に転送できることを確保するために、1番目のノードは第2転送サブ経路を生成する際に採用された経路計算アルゴリズムを知る必要がある。
【0089】
上記の状況に鑑みて、上記ステップS205Bにおいて、第1転送サブ経路と更新された第2転送サブ経路とを接続し、ソースノードからテールノードまで繋がる転送経路を取得した後、実行ノードは、上記繋がる転送経路のセグメントリストを生成する際に、第1ノードペアにおける1番目のノードがBSIDに対応するSRv6転送ポリシーを呼び出して第1ノードペアにおける2番目のノードまでの転送経路を選択するように、第1SID(Segment Identifier、セグメント識別子)と第2SIDとの間にBSID(Binding Segment Identifier、バインディングセグメント識別子)を追加することができる。第1第1これにより、ソースノードがパケットにSIDを付加すると、同時にパケットにBSIDを付加することを確保できる。
【0090】
上記BSIDに対応する転送ポリシーが使用する経路計算アルゴリズムは目標経路計算アルゴリズムである。第1ノードペアは繋がる転送経路におけるノードペアである。第1SIDは第1ノードペアにおける1番目のノードに対応するSIDである。第2SIDは第1ノードペアにおける2番目のノードに対応するSIDである。
【0091】
上記セグメントリストには複数のSIDを格納しており、各SIDは転送経路における1つのネットワークノードにそれぞれ対応する。各ネットワークノードに対応するSIDには、ネットワークノードの識別子、ネットワークノードがSRv6パケットに対して実行する必要がある操作コマンド及び上記操作コマンドのコマンドパラメータなどを格納していることができる。
【0092】
本実施例に係る技術案には、繋がる転送経路のセグメントリストを生成する際に、第1SIDと第2SIDとの間にBSIDを追加し、BSIDが対応する転送ポリシーが使用する経路計算アルゴリズムは目標経路計算アルゴリズムであり、且つ更新前の第2転送サブ経路も目標経路計算アルゴリズムを採用して生成されるものであるため、ノードペアにおける1番目のノードは更新前の第2転送サブ経路によって経路選択を行うことができ、そして、SRv6パケットをノードペアにおける2番目のノードに転送する。これによって、SRv6パケットを正確に転送することを効果的に確保できる。
【0093】
一実現形態において、各ノードペアにおける1番目のノードから2番目のノードにSRv6パケットを転送する場合、第2ネットワークノードを介して転送する必要があるから、転送されたSRv6パケットのセキュリティを確保するために、実行ノードが繋がる転送経路のセグメントリストを生成する際に、第1ノードペアにおける各ノードが対応するSIDのファンクションフィールドに、セキュリティ認証コマンドおよびセキュリティ認証コマンドのコマンドパラメータを追加してもよい。これにより、各ノードペアにおける1番目のノードおよび2番目のノードは、転送対象であるSRv6パケットを受信した後、SIDが持っているコマンドパラメータに従って、SIDが持っているセキュリティ認証コマンドを実行することによって、転送対象であるSRv6パケットの安全性を確保する。これにより、ソースノードは、パケットにSIDを付加する際に、同時にパケットにセキュリティ認証コマンドおよびセキュリティ認証コマンドのコマンドパラメータを付加することを確保できる。
【0094】
例えば、上記セキュリティ認証コマンドは、IPSecに対するセキュリティ認証コマンドであってもよく、SRv6 HMACに対するセキュリティ認証コマンドであってもよい。
【0095】
本願の他の一実施例には、最短経路優先アルゴリズムをデフォルト経路計算アルゴリズムとすることができる。この場合、上記ステップS203Bにおいて、実行ノードは、第4ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に基づいて、第3ネットワークノードからテールノードまでの第2転送サブ経路を生成する際に、最短経路優先アルゴリズムを採用して、第4ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に対して経路計算を行って、第3ネットワークノードからテールノードまでの第2転送サブ経路を生成することができる。最短経路優先アルゴリズムがデフォルト経路計算アルゴリズムであるため、ノードペアにおける1番目のノードが第2転送サブ経路を生成する際に採用された経路計算アルゴリズムが最短経路優先アルゴリズムであることを別に報知する必要はない。
【0096】
これにより、ノードペアにおける1番目のノードは、SRv6パケットを受信した後、直接に最短経路優先アルゴリズムに従って経路選択を行い、そして、SRv6パケットをノードペアにおける2番目のノードに転送することができる。これにより、SRv6パケットの転送を正確に実現できることだけでなく、SRv6パケットが持っている情報の情報量を減少することもできる。
【0097】
以下、
図1bおよび
図1dに示すトポロジー模式図を参照して、本願実施例に係る転送経路生成の技術案を説明する。
【0098】
仮に、目標経路計算アルゴリズムは前述の第1経路計算アルゴリズムである。ネットワークノードR0、R1、R2、R6、R7はいずれも第1経路アルゴリズムをサポートする。つまり、第1ネットワークノードは、R0、R1、R2、R6、R7を含む。これにより、第2ネットワークノードはR3、R4、R5を含む。
【0099】
指定されたソースノードはR0であり、指定されたテールノードはR7である。
【0100】
R0と、R1と、R2との間には物理リンクが存在しており、R6とR7との間には物理リンクが存在しているが、R2とR6との間には物理リンクが存在しないため、R0と、R1と、R2と、R6と、R7との間の物理リンクは、R0とR7とを繋ぐことができない。そのため、第1経路計算アルゴリズムを採用して、R0、R1、R2、R6、R7のトポロジー情報に対して経路計算を行い、生成した第1転送経路は、R0->R1->R2であり、経路R6->R7が含まれていない。当該第1転送経路の最後のホップは、R7ではなく、R2である。これは、第1転送経路には経路中断が存在していることを示す。
【0101】
この場合、第3ネットワークノードはR2であり、第1転送サブ経路は、R0->R1->R2である。第4ネットワークノードは、R6とR7とを含む。
【0102】
一つの態様には、最短経路優先アルゴリズムを採用して、R6、R7、R3、R4およびR5のトポロジー情報に対して経路計算を行い、第2転送サブ経路を生成する。生成した第2転送サブ経路がR2->R3->R6->R7である場合、1つのノードペアはR2およびR6を含む。当該ノードペアにおける1番目のノードはR2であり、2番目のノードはR6である。第2転送サブ経路におけるR6をR2のネクストホップデバイスとして更新すると、更新した第2転送サブ経路はR2->R6->R7である。第1転送サブ経路と第2転送サブ経路とを接続して得られた繋がる転送経路はR0->R1->R2->R6->R7になる。
【0103】
この場合、繋がる転送経路のセグメントリストを生成する際に、セグメントリストにはR0、R1、R2、R6、R7に対応するSIDを順に含む。R2がSRv6パケットを受信した場合、セグメントリストから、ネクストホップデバイスがR6であることが分かる。R2はR6との間に物理リンクが存在しないことを知ることができるため、R2がSRv6パケットをR6に転送する場合、最短経路優先アルゴリズムを採用してR6へのSRv6パケットの転送経路を計算して、R3によりSRv6パケットをR6に転送することを算出することができる。これにより、R2はSRv6パケットをR3に転送してから、R3はSRv6パケットをR6に転送する。
【0104】
別の態様には、第1経路計算アルゴリズムを採用して、R6、R7、R3、R4およびR5のトポロジー情報に対して経路計算を行い、第2転送サブ経路を生成する。生成した第2転送サブ経路がR2->R5->R6->R7である場合、1つのノードペアはR2およびR6を含む。当該ノードペアにおける1番目のノードはR2であり、2番目のノードはR6である。第2転送サブ経路におけるR6をR2のネクストホップデバイスとして更新すると、更新した第2転送サブ経路はR2->R6->R7である。第1転送サブ経路と第2転送サブ経路とを接続して得られた繋がる転送経路はR0->R1->R2->R6->R7になる。
【0105】
この場合、繋がる転送経路のセグメントリストを生成する際に、セグメントリストにはR0、R1、R2、R6、R7に対応するSIDを順に含み、且つR2に対応するSIDとR6に対応するSIDとの間にBSIDを追加する。R2がSRv6パケットを受信した場合、セグメントリストから、ネクストホップデバイスがR6であることが分かる。R2はR6との間に物理リンクが存在しないことを知ることができるため、R2がSRv6パケットをR6に転送する場合、BSIDに対応するSRv6転送ポリシーを呼び出してR6までの転送経路を選択する。BSIDに対応するSRv6転送ポリシーが使用した経路計算アルゴリズムは第1経路計算アルゴリズムであるため、R2はR5によりSRv6パケットをR6に転送することを算出することができる。これにより、R2はSRv6パケットをR5に転送してから、R5はSRv6パケットをR6に転送する。
【0106】
上記転送経路生成方法に対応して、本願実施例は転送経路生成装置をさらに提供する。
【0107】
図4を参照して、
図4は本願実施例に係る転送経路生成装置の構成模式図である。当該装置は、
目標経路計算アルゴリズムをサポートする第1ネットワークノードのトポロジー情報を取得する、トポロジー取得モジュール401と、
前記目標経路計算アルゴリズムを採用して、前記第1ネットワークノードのトポロジー情報に対して経路計算を行い、第1転送経路を生成し、前記第1転送経路は第1ネットワークノードにおける指定されたソースノードから指定されたテールノードまでの転送経路である、経路生成モジュール402と、
前記第1転送経路には経路中断が存在している場合、前記ソースノードから前記テールノードまでの第2転送経路を取得し、前記第2転送経路はすべての第1ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報によって確定された転送経路であり、前記第2ネットワークノードは前記目標経路計算アルゴリズムをサポートしない、経路取得モジュール403と、
前記第2転送経路から、第2ネットワークノードに繋がる第1ネットワークノードを確定し、ノードペアを取得する、ノード確定モジュール404と、
前記第2転送経路での各ノードペアにおける2番目のノードを当該ノードペアにおける1番目のノードのネクストホップデバイスとして更新し、前記ソースノードから前記テールノードまで繋がる転送経路を取得し、前記第2転送経路の方向に沿って、各ノードペアにおける2番目のノードは1番目のノードの後に位置する、ネクストホップ更新モジュール405と、を含む。
【0108】
以上から分かるように、本願実施例に係る技術案を応用して転送経路を生成する際に、目標経路計算アルゴリズムを採用して第1ネットワークノードのトポロジー情報に対して経路計算を行うと、生成した第1転送経路には経路中断が存在しており、繋がる転送経路を生成できないと考えるのではなく、目標経路計算アルゴリズムをサポートしない第2ネットワークノードを介して、繋がる転送経路を生成する。これによって、論理トポロジーの変化によって当該論理トポロジーにおけるネットワークノード間の物理リンクが中断になっても、繋がる転送経路を生成することを確保できる。
【0109】
本願の一実施例において、
図5を参照して、第2種の転送経路生成装置の構成模式図を提供する。前記
図4に示す実施例と比べて、前記経路取得モジュール403は、
前記第1転送経路には経路中断が存在している場合、前記第1転送経路に経路中断が発生した第3ネットワークノードと、前記ソースノードから前記第3ネットワークノードまでの第1転送サブ経路とを確定する、サブ経路確定ユニット403Aと、
第4ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に基づいて、前記第3ネットワークノードから前記テールノードまでの第2転送サブ経路を生成し、前記第4ネットワークノードは前記第1転送サブ経路に位置しない第1ネットワークノードである、サブ経路生成ユニット403Bと、を含み、
前記ノード確定モジュール404は、具体的に、前記第2転送サブ経路から、第2ネットワークノードに繋がる第1ネットワークノードを確定し、ノードペアを取得し、
前記ネクストホップ更新モジュール405は、具体的に、前記第2転送サブ経路での各ノードペアにおける2番目のノードを当該ノードペアにおける1番目のノードのネクストホップデバイスとして更新し、前記第1転送サブ経路と更新された第2転送サブ経路とを接続し、前記ソースノードから前記テールノードまで繋がる転送経路を取得する。
【0110】
以上から分かるように、本実施例に係る技術案において、目標経路計算アルゴリズムを採用して得た第1転送経路を第1転送サブ経路として、第1転送サブ経路におけるネットワークノードはいずれも第1ネットワークノードであることを確保できる。そして、第2転送サブ経路のみに対してノードペアを確定する。確定したノードペアが正確であることを確保した上で、転送経路を生成する効率を向上する。
【0111】
本願の一実施例において、前記サブ経路生成ユニット403Bは、具体的に、前記目標経路計算アルゴリズムを採用して、第4ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に基づいて経路計算を行い、前記第3ネットワークノードから前記テールノードまでの第2転送サブ経路を生成する。
【0112】
前記装置は、さらに、
前記ネクストホップ更新モジュールが前記ソースノードから前記テールノードまで繋がる転送経路を取得した後、前記繋がる転送経路のセグメントリストを生成する際に、第1セグメント識別子SIDと第2SIDとの間にバインディングセグメント識別子BSIDを追加することによって、第1ノードペアにおける1番目のノードは、前記BSIDに対応するSRv6転送ポリシーを呼び出して前記第1ノードペアにおける2番目のノードまでの転送経路を選択し、前記BSIDに対応する転送ポリシーが使用する経路計算アルゴリズムは前記目標経路計算アルゴリズムであり、前記第1ノードペアは前記繋がる転送経路におけるノードペアであり、前記第1SIDは前記第1ノードペアにおける1番目のノードに対応するSIDであり、第2SIDは前記第1ノードペアにおける2番目のノードに対応するSIDである、BSID追加モジュールを含む。
【0113】
本実施例に係る技術案には、繋がる転送経路のセグメントリストを生成する際に、第1SIDと第2SIDとの間にBSIDを追加し、BSIDが対応する転送ポリシーが使用する経路計算アルゴリズムは目標経路計算アルゴリズムであり、且つ更新前の第2転送サブ経路も目標経路計算アルゴリズムを採用して生成されるものであるため、ノードペアにおける1番目のノードは更新前の第2転送サブ経路によって経路選択を行うことができ、そして、SRv6パケットをノードペアにおける2番目のノードに転送することで、SRv6パケットを正確に転送することを効果的に確保できる。
【0114】
本願の一実施例において、前記装置は、さらに、
前記繋がる転送経路のセグメントリストを生成する際に、前記第1ノードペアにおける各ノードが対応するSIDのファンクションフィールドに、セキュリティ認証コマンドおよび前記セキュリティ認証コマンドのコマンドパラメータを追加する、情報追加モジュールを含む。
【0115】
これにより、各ノードペアにおける1番目のノードおよび2番目のノードは転送対象であるSRv6パケットを受信した後、SIDが持っているコマンドパラメータに従って、SIDが持っているセキュリティ認証コマンドを実行することによって、転送対象であるSRv6パケットの安全性を確保する。
【0116】
本願の一実施例において、前記サブ経路生成ユニット403Bは、具体的に、最短経路優先アルゴリズムを採用して、第4ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に基づいて経路計算を行い、前記第3ネットワークノードから前記テールノードまでの第2転送サブ経路を生成する。
【0117】
これにより、ノードペアにおける1番目のノードはSRv6パケットを受信した後、直接に最短経路優先アルゴリズムに従って経路選択を行うことができ、そして、SRv6パケットをノードペアにおける2番目のノードに転送する。これにより、SRv6パケットの転送を正確に実現できるだけでなく、SRv6パケットが持っている情報の情報量を減少することもできる。
【0118】
本願の一実施例において、前記経路取得モジュール403は、具体的に、前記第1転送経路には経路中断が存在している場合、制御ノードに経路リクエストを送信し、前記制御ノードからフィードバックする第2転送経路を受信し、前記第2転送経路はすべての第1ネットワークノードのトポロジー情報および第2ネットワークノードのトポロジー情報に基づいて確定された、前記ソースノードから前記テールノードまでの転送経路である。
【0119】
以上から分かるように、本実施例に係る技術案において、制御ノードはネットワークにおけるネットワークノードがサポートする経路計算アルゴリズム及びネットワークノードのトポロジー情報を把握できるため、比較的に正確な転送経路を生成できる。なお、制御ノードは第2転送経路の生成の作業を担うことで、実行主体であるネットワークノードの負荷を軽減する。
【0120】
上記転送経路生成方法に対応して、本願実施例はネットワークデバイスをさらに提供する。
【0121】
図6を参照して、
図6はネットワークデバイスの構成模式図を提供する。ネットワークデバイスは、プロセッサ601と、機械可読記憶媒体602とを含み、前記機械可読記憶媒体602は、前記プロセッサ601によって実行され得る機械実行可能コマンドを記憶しており、前記プロセッサ601は、前記機械実行可能コマンドによって、前記方法実施例に記載された転送経路生成方法のステップを実現する。
【0122】
上記転送経路生成方法に対応して、本願実施例は機械可読記憶媒体をさらに提供する。機械可読記憶媒体は、機械実行可能コマンドを記憶しており、プロセッサによって呼び出されて実行される際に、前記機械実行可能コマンドは、前記プロセッサに、前記方法実施例に記載された転送経路生成方法のステップを実現させる。
【0123】
上記転送経路生成方法に対応して、本願実施例はコマンドを格納しているコンピュータープログラム製品をさらに提供する。前記コンピュータープログラム製品は、コンピューターによって実行される際に、コンピューターに前記方法実施例に記載された転送経路生成方法のステップを実現させる。
【0124】
なお、上記機械可読記憶媒体は、ランダムアクセスメモリ(Random Access Memory、RAM)を含んでもよく、非揮発性メモリ(Non-Volatile Memory、NVM)、例えば少なくとも1つのディスクメモリを含んでもよい。任意選択として、上記機械可読記憶媒体は、前記プロセッサから離れた少なくとも1つの記憶装置であってもよい。
【0125】
上記プロセッサは、汎用プロセッサであって、中央処理装置(Central Processing Unit、CPU)、ネットワークプロセッサ(Network Processor、NP)などを含んでよく、デジタル信号処理装置(Digital Signal Processor、DSP)、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、現場プログラム可能ゲートアレイ(Field-Programmable Gate Array、FPGA)、又は、他のプログラマブルロジックデバイスやディスクリートゲート又はトランジスタロジックデバイス、ディスクリートハードウェアコンポーネントなどでもよい。
【0126】
本明細書では、第一や第二等のような関係用語は1つのエンティティ又は操作を他のエンティティ又は操作と区別するためのものに過ぎず、必ずしもこれらのエンティティ又は操作の間にこのような実際の関係又は順序があることをリクエスト又は示唆しない。また、用語「含む」、「備える」又はほかの変形は非排他的包含をカバーすることで、一連の要素を含むプロセス、方法、物品又は装置はこれらの要素を含むだけでなく、明確に挙げられていないほかの要素をさらに含み、又はこのようなプロセス、方法、物品又は装置で固有の要素をさらに含む。特に限定しない限り、文「1つの…を含む」により限定される要素は、前記要素を含むプロセス、方法、物品又は装置がほかの同一の要素をさらに含むことを排除するものではない。
【0127】
本明細書における各実施例はいずれも関連の手段で説明され、各実施例同士の相等又は類似の部分は互いに参照すればよい。各実施例には、他の実施例の相違点を説明することは重点である。特に、装置、ネットワークデバイス、機械可読記憶媒体およびコンピュータープログラム製品の実施例にとって、それは方法実施例とほぼ似ているから、説明が簡単になったが、相関内容は方法実施例の部分の説明を参照すればよい。
【0128】
以上は本願の好ましい実施例だけであり、本願の請求の範囲を限定するものではない。本願の精神及び原則を逸脱しない範囲においてなされた如何なる補正、均等入れ替え、改善などは、いずれも本願の請求の範囲に含まれている。
【国際調査報告】