(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-08-17
(54)【発明の名称】パケット転送方法、装置、ネットワークノードおよび記憶媒体
(51)【国際特許分類】
H04L 47/17 20220101AFI20230809BHJP
【FI】
H04L47/17
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022578739
(86)(22)【出願日】2021-06-29
(85)【翻訳文提出日】2022-12-19
(86)【国際出願番号】 CN2021103176
(87)【国際公開番号】W WO2023272498
(87)【国際公開日】2023-01-05
(81)【指定国・地域】
(71)【出願人】
【識別番号】518056748
【氏名又は名称】新華三技術有限公司
【氏名又は名称原語表記】NEW H3C TECHNOLOGIES CO., LTD.
(74)【代理人】
【識別番号】100147485
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100224683
【氏名又は名称】齋藤 詩織
(72)【発明者】
【氏名】常 向青
(72)【発明者】
【氏名】雷 昭燕
(72)【発明者】
【氏名】林 涛
(72)【発明者】
【氏名】秦 娟
【テーマコード(参考)】
5K030
【Fターム(参考)】
5K030GA15
(57)【要約】
本発明は、ネットワーク技術分野に関し、ネットワークノードに適用されるパケット転送方法および装置を提供する。前記方法は、SRv6パケットを取得することと、目標SIDの機能フィールドにはセキュリティ認証命令を含む場合、セキュリティ認証命令によって指示される操作によって、目標パラメータを取得し、目標パラメータに基づいて、SRv6パケットに対してセキュリティ認証処理を行い、目標SIDは、SRv6パケットのヘッダに付加されているセグメントリストにおけるネットワークノードに対応するSIDであり、目標パラメータは、ヘッダに記録されているセキュリティ認証命令のパラメータであることと、処理されたSRv6パケットをネクストホップデバイスに転送することと、を含む。本発明の実施例に係る技術案を適用して、SRv6パケットを転送することで、SRv6転送パスにそってSRv6パケットを転送する時の安全性を高めることができる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ネットワークノードに適用されるパケット転送方法であって、
SRv6パケットを取得することと、
目標セグメント識別子SIDの機能フィールドにはセキュリティ認証命令を含む場合、前記セキュリティ認証命令によって指示される操作に従って目標パラメータを取得し、前記目標パラメータに基づいて前記SRv6パケットに対してセキュリティ認証処理を行い、そのうち、前記目標SIDは前記SRv6パケットのヘッダに付加されているセグメントリストにおける前記ネットワークノードに対応するSIDであり、前記目標パラメータは前記ヘッダに記録されている前記セキュリティ認証命令のパラメータであることと、
処理されたSRv6パケットをネクストホップデバイスに転送することと、
を含む、
ことを特徴とするパケット転送方法。
【請求項2】
前記SRv6パケットは、以下のプロセスで、前記SRv6パケットのソースネットワークノードによって生成されたものであり、
前記プロセスは、
オリジナルパケットを受信することと、
前記オリジナルパケットを転送するSRv6転送パスには安全でないネットワークノードがあることを確定した場合、セキュリティ認証命令のパラメータを取得し、そのうち、前記セキュリティ認証命令は、前記安全でないネットワークノードがSRv6パケットに対してセキュリティ認証処理を行うことを指示することと、
前記セキュリティ認証命令のパラメータのデータ量がSIDのパラメータフィールドの最大データ量より大きいか否やかを判断することと、
前記セキュリティ認証命令のパラメータのデータ量がSIDのパラメータフィールドの最大データ量より大きい場合、前記安全でないネットワークノードに対して、機能フィールドに前記セキュリティ認証命令を含みかつパラメータフィールドに第1パラメータを含むSIDを生成し、前記オリジナルパケットに基づいて前記SRv6パケットを生成し、そのうち、前記SRv6パケットの前記ヘッダにおける拡張フィールドには第2パラメータを含み、前記セキュリティ認証命令は、前記セキュリティ認証命令のパラメータを前記パラメータフィールドと前記ヘッダにおける拡張フィールドに格納することをさらに指示し、前記第1パラメータは前記セキュリティ認証命令のパラメータにおけるデータ量が前記最大データ量以下である一部のパラメータであり、前記第2パラメータは前記セキュリティ認証命令のパラメータにおける前記第1パラメータ以外のパラメータであることと、
前記セキュリティ認証命令のパラメータのデータ量がSIDのパラメータフィールドの最大データ量より大きくない場合、前記安全でないネットワークノードに対して、機能フィールドに前記セキュリティ認証命令を含みかつパラメータフィールドに前記セキュリティ認証命令のパラメータを含むSIDを生成し、前記オリジナルパケットに基づいて前記SRv6パケットを生成し、そのうち、前記セキュリティ認証命令は、前記セキュリティ認証命令のパラメータを前記パラメータフィールドに格納することをさらに指示することと、
を含む、
ことを特徴とする、請求項1に記載のパケット転送方法。
【請求項3】
前記セキュリティ認証命令によって指示される操作に従って目標パラメータを取得することは、
前記セキュリティ認証命令は前記セキュリティ認証命令のパラメータを前記パラメータフィールドに格納することを指示する場合、前記目標SIDのパラメータフィールドに含まれたパラメータから目標パラメータを取得することと、
前記セキュリティ認証命令は前記セキュリティ認証命令のパラメータを前記パラメータフィールドとヘッダの拡張フィールドに格納することを指示す場合、前記目標SIDのパラメータフィールドに含まれたパラメータと前記ヘッダにおける拡張フィールドに含まれたパラメータから目標パラメータを取得することと、を含む、
ことを特徴とする、請求項2に記載のパケット転送方法。
【請求項4】
前記セキュリティ認証命令はカプセル化命令を含み、前記カプセル化命令は前記SRv6パケットのペイロードに対してカプセル化処理を行うことを指示し、
前記目標パラメータに基づいて前記SRv6パケットに対してセキュリティ認証処理を行うことは、
前記目標パラメータに基づいて前記SRv6パケットのペイロードに対してカプセル化処理を行うことを含む、
ことを特徴とする、請求項1~3のいずれか一項に記載のパケット転送方法。
【請求項5】
前記セキュリティ認証命令はカプセル化解除命令を含み、前記カプセル化解除命令は前記SRv6パケットのペイロードに対してカプセル化解除処理を行うことを指示し、
前記目標パラメータに基づいて前記SRv6パケットに対してセキュリティ認証処理を行うことは、
前記目標パラメータに基づいて前記SRv6パケットのペイロードに対してカプセル化解除処理を行うことを含む、
ことを特徴とする、請求項1~3のいずれか一項に記載のパケット転送方法。
【請求項6】
ネットワークノードに適用されるパケット転送装置であって、
SRv6パケットを取得するためのパケット取得モジュールと、
目標SIDの機能フィールドにはセキュリティ認証命令を含む場合、前記セキュリティ認証命令によって指示される操作に従って目標パラメータを取得し、前記目標パラメータに基づいて前記SRv6パケットに対してセキュリティ認証処理を行うためのセキュリティ処理モジュールであって、前記目標SIDは前記SRv6パケットのヘッダに付加されているセグメントリストにおける前記ネットワークノードに対応するSIDであり、前記目標パラメータは前記ヘッダに記録されている前記セキュリティ認証命令のパラメータであるセキュリティ処理モジュールと、
処理されたSRv6パケットをネクストホップデバイスに転送するためのパケット転送モジュールと、を含む、
ことを特徴とする、パケット転送装置。
【請求項7】
前記SRv6パケットは、以下のプロセスで前記SRv6パケットのソースネットワークノードによって生成されたものであり、
前記プロセスは、
オリジナルパケットを受信することと、
前記オリジナルパケットを転送するSRv6転送パスには安全でないネットワークノードがあることを確定した場合、セキュリティ認証命令のパラメータを取得し、そのうち、前記セキュリティ認証命令は、前記安全でないネットワークノードがSRv6パケットに対してセキュリティ認証処理を行うことを指示することと、
前記セキュリティ認証命令のパラメータのデータ量がSIDのパラメータフィールドの最大データ量より大きいか否やかを判断することと、
前記セキュリティ認証命令のパラメータのデータ量がSIDのパラメータフィールドの最大データ量より大きい場合、前記安全でないネットワークノードに対して、機能フィールドに前記セキュリティ認証命令を含みかつパラメータフィールドに第1パラメータを含むSIDを生成し、前記オリジナルパケットに基づいて前記SRv6パケットを生成し、そのうち、前記SRv6パケットの前記ヘッダにおける拡張フィールドには第2パラメータを含み、前記セキュリティ認証命令は前記セキュリティ認証命令のパラメータを前記パラメータフィールドと前記ヘッダにおける拡張フィールドに格納することをさらに指示し、前記第1パラメータは前記セキュリティ認証命令のパラメータにおけるデータ量が前記最大データ量以下である一部のパラメータであり、前記第2パラメータは前記セキュリティ認証命令のパラメータにおける前記第1パラメータ以外のパラメータであることと、
前記セキュリティ認証命令のパラメータのデータ量がSIDのパラメータフィールドの最大データ量より大きくない場合、前記安全でないネットワークノードに対して、機能フィールドに前記セキュリティ認証命令を含みかつパラメータフィールドに前記セキュリティ認証命令のパラメータを含むSIDを生成し、前記オリジナルパケットに基づいて前記SRv6パケットを生成し、そのうち、前記セキュリティ認証命令は前記セキュリティ認証命令のパラメータを前記パラメータフィールドに格納することをさらに指示することと、を含む、
ことを特徴とする、請求項6に記載のパケット転送装置。
【請求項8】
前記セキュリティ処理モジュールは、具体的に、
目標SIDの機能フィールドにはセキュリティ認証命令を含み、前記セキュリティ認証命令は、前記セキュリティ認証命令のパラメータを前記パラメータフィールドに格納することを指示する場合、前記目標SIDのパラメータフィールドに含まれたパラメータから目標パラメータを取得することと、
目標SIDの機能フィールドにはセキュリティ認証命令を含み、前記セキュリティ認証命令は、前記セキュリティ認証命令のパラメータを前記パラメータフィールドとヘッダの拡張フィールドに格納することを指示する場合、前記目標SIDのパラメータフィールドに含まれたパラメータと前記ヘッダにおける拡張フィールドに含まれたパラメータから目標パラメータを取得することと、
前記目標パラメータに基づいて前記SRv6パケットに対してセキュリティ認証処理を行うことと、
に用いられる、
ことを特徴とする、請求項7に記載のパケット転送装置。
【請求項9】
前記セキュリティ認証命令はカプセル化命令を含み、前記カプセル化命令は前記SRv6パケットのペイロードに対してカプセル化処理を行うことを指示し、
前記セキュリティ処理モジュールは、具体的に、
目標SIDの機能フィールドにはセキュリティ認証命令を含む場合、前記セキュリティ認証命令によって指示される操作に従って目標パラメータを取得することと、
前記目標パラメータに基づいて前記SRv6パケットのペイロードに対してカプセル化処理を行うことと、
に用いられる、
ことを特徴とする、請求項6~8のいずれか一項に記載のパケット転送装置。
【請求項10】
前記セキュリティ認証命令はカプセル化解除命令を含み、前記カプセル化解除命令は前記SRv6パケットのペイロードに対してカプセル化解除処理を行うことを指示し、
前記セキュリティ処理モジュールは、具体的に、
目標SIDの機能フィールドにはセキュリティ認証命令を含む場合、前記セキュリティ認証命令によって指示される操作に従って目標パラメータを取得することと、
前記目標パラメータに基づいて前記SRv6パケットのペイロードに対してカプセル化解除処理を行うことと、
に用いられる、
ことを特徴とする、請求項6~8のいずれか一項に記載のパケット転送装置。
【請求項11】
プロセッサと機械可読記憶媒体とを含むネットワークノードであって、
前記機械可読記憶媒体には前記プロセッサによって実行可能な機械実行可能命令が記憶されており、前記機械実行可能命令は、前記プロセッサに請求項1~5のいずれかに記載の方法のステップを実現させる、
ことを特徴とする、ネットワークノード。
【請求項12】
機械実行可能命令が記憶されている機械可読記憶媒体であって、
プロセッサによって呼び出されて実行されると、前記機械実行可能命令は、前記プロセッサに請求項1~5のいずれかに記載の方法のステップを実現させる、ことを特徴とする、機械可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク技術分野に関し、特に、パケット転送方法、装置、ネットワークノードおよび記憶媒体に関する。
【背景技術】
【0002】
SRv6(Segment Routing IPv6、インターネットプロトコルバージョン6セグメントルーティング)技術は、ソースルーティング技術である。SRv6技術は、SRv6転送パスにおけるソースネットワークノードによってSRv6転送パスのセグメント情報をパケットに挿入することをサポートする。説明の便宜上、セグメント情報が挿入されたパケットをSRv6パケットと称する。SRv6転送パスのセグメント情報は、当該パスに含まれる各ネットワークノードのパケット転送の順序を示す。このように、他のネットワークノードは、SRv6パケットを受信した後、SRv6パケットに付加されたセグメント情報に従ってパケット転送を行うことができる。
【0003】
しかしながら、SRv6転送パスには安全でないネットワークノードまたは安全でないリンクを含む可能性があるので、SRv6転送パスに沿ってSRv6パケットを転送する際に安全性の低い問題がある。
【発明の概要】
【課題を解決するための手段】
【0004】
本発明の実施例は、SRv6パケット転送の安全性を高めるためのパケット転送方法および装置を提供することを目的とする。具体的な技術案は以下の通りである。
【0005】
第1態様として、本発明の実施例は、ネットワークノードに適用されるパケット転送方法を提供する。
【0006】
前記方法は、
SRv6パケットを取得することと、
目標セグメント識別子SIDの機能フィールドにはセキュリティ認証命令を含む場合、前記セキュリティ認証命令によって指示される操作に従って目標パラメータを取得し、前記目標パラメータに基づいて前記SRv6パケットに対してセキュリティ認証処理を行い、そのうち、前記目標SIDは前記SRv6パケットのヘッダに付加されているセグメントリストにおける前記ネットワークノードに対応するSIDであり、前記目標パラメータは前記ヘッダに記録されている前記セキュリティ認証命令のパラメータであることと、
処理されたSRv6パケットをネクストホップデバイスに転送することと、を含む。
【0007】
本発明の一実施例において、前記SRv6パケットは、前記SRv6パケットのソースネットワークノードによって、以下のプロセスで生成されたものであり、
当該プロセスは、
オリジナルパケットを受信することと、
前記オリジナルパケットを転送するSRv6転送パスには安全でないネットワークノードがあることを確定した場合、セキュリティ認証命令のパラメータを取得し、そのうち、前記セキュリティ認証命令は、前記安全でないネットワークノードがSRv6パケットに対してセキュリティ認証処理を行うことを指示することと、
前記セキュリティ認証命令のパラメータのデータ量がSIDのパラメータフィールドの最大データ量より大きいか否やかを判断することと、
前記セキュリティ認証命令のパラメータのデータ量がSIDのパラメータフィールドの最大データ量より大きい場合、前記安全でないネットワークノードに対して、機能フィールドに前記セキュリティ認証命令を含みかつパラメータフィールドに第1パラメータを含むSIDを生成し、前記オリジナルパケットに基づいて前記SRv6パケットを生成し、そのうち、前記SRv6パケットの前記ヘッダにおける拡張フィールドには第2パラメータを含み、前記セキュリティ認証命令は、前記セキュリティ認証命令のパラメータを前記パラメータフィールドと前記ヘッダにおける拡張フィールドに格納することをさらに指示し、前記第1パラメータは前記セキュリティ認証命令のパラメータにおけるデータ量が前記最大データ量以下である一部のパラメータであり、前記第2パラメータは前記セキュリティ認証命令のパラメータにおける前記第1パラメータ以外のパラメータであることと、
前記セキュリティ認証命令のパラメータのデータ量がSIDのパラメータフィールドの最大データ量より大きくない場合、前記安全でないネットワークノードに対して、機能フィールドに前記セキュリティ認証命令を含みかつパラメータフィールドに前記セキュリティ認証命令のパラメータを含むSIDを生成し、前記オリジナルパケットに基づいて前記SRv6パケットを生成し、前記セキュリティ認証命令は、前記セキュリティ認証命令のパラメータを前記パラメータフィールドに格納することをさらに指示することと、含む。
【0008】
本発明の一実施例において、前記セキュリティ認証命令によって指示される操作に従って目標パラメータを取得することは、
前記セキュリティ認証命令は前記セキュリティ認証命令のパラメータを前記パラメータフィールドに格納することを指示する場合、前記目標SIDのパラメータフィールドに含まれたパラメータから目標パラメータを取得することと、
前記セキュリティ認証命令は、前記セキュリティ認証命令のパラメータを前記パラメータフィールドとヘッダ拡張フィールドに格納することを指示する場合、前記目標SIDのパラメータフィールドに含まれたパラメータと前記ヘッダにおける拡張フィールドに含まれたパラメータから目標パラメータを取得することと、を含む。
【0009】
本発明の一実施例において、前記セキュリティ認証命令はカプセル化命令を含み、前記カプセル化命令は前記SRv6パケットのペイロードに対してカプセル化処理を行うことを指示し、
前記目標パラメータに基づいて前記SRv6パケットに対してセキュリティ認証処理を行うことは、
前記目標パラメータに基づいて前記SRv6パケットのペイロードに対してカプセル化処理を行うことを含む。
【0010】
本発明の一実施例において、前記セキュリティ認証命令はカプセル化解除命令を含み、前記カプセル化解除命令は前記SRv6パケットのペイロードに対してカプセル化解除処理を行うことを指示し、
前記目標パラメータに基づいて前記SRv6パケットに対してセキュリティ認証処理を行うことは、
前記目標パラメータに基づいて前記SRv6パケットのペイロードに対してカプセル化解除処理を行うことを含む。
【0011】
第2態様として、本発明実施例は、ネットワークノードに適用されるパケット転送装置を提供する。
前記装置は、
SRv6パケットを取得するためのパケット取得モジュールと、
目標SIDの機能フィールドにはセキュリティ認証命令を含む場合、前記セキュリティ認証命令によって指示される操作に従って目標パラメータを取得し、前記目標パラメータに基づいて前記SRv6パケットに対してセキュリティ認証処理を行うためのセキュリティ処理モジュールであって、前記目標SIDは前記SRv6パケットのヘッダに付加されているセグメントリストにおける前記ネットワークノードに対応するSIDであり、前記目標パラメータは前記ヘッダに記録されている前記セキュリティ認証命令のパラメータであるセキュリティ処理モジュールと、
処理されたSRv6パケットをネクストホップデバイスに転送する、パケット転送モジュールと、を含む。
【0012】
本発明の一実施例において、前記SRv6パケットは、以下のプロセスで、前記SRv6パケットのソースネットワークノードによって生成されたものであり、
当該プロセスは、
オリジナルパケットを受信することと、
前記オリジナルパケットを転送するSRv6転送パスには安全でないネットワークノードがあることを確定した場合、セキュリティ認証命令のパラメータを取得し、前記セキュリティ認証命令は、前記安全でないネットワークノードがSRv6パケットに対してセキュリティ認証処理を行うことを指示することと、
前記セキュリティ認証命令のパラメータのデータ量がSIDのパラメータフィールドの最大データ量より大きいか否やかを判断することと、
前記セキュリティ認証命令のパラメータのデータ量がSIDのパラメータフィールドの最大データ量より大きい場合、前記安全でないネットワークノードに対して、機能フィールドに前記セキュリティ認証命令を含みかつパラメータフィールドに第1パラメータを含むSIDを生成し、前記オリジナルパケットに基づいて前記SRv6パケットを生成し、そのうち、前記SRv6パケットの前記ヘッダにおける拡張フィールドには第2パラメータを含み、前記セキュリティ認証命令は、前記セキュリティ認証命令のパラメータを前記パラメータフィールドと前記ヘッダにおける拡張フィールドに格納することをさらに指示し、前記第1パラメータは、前記セキュリティ認証命令のパラメータにおけるデータ量が前記最大データ量以下である一部のパラメータであり、前記第2パラメータは前記セキュリティ認証命令のパラメータにおける前記第1パラメータ以外のパラメータであることと、
前記セキュリティ認証命令のパラメータのデータ量がSIDのパラメータフィールドの最大データ量より大きくない場合、前記安全でないネットワークノードに対して、機能フィールドに前記セキュリティ認証命令を含みかつパラメータフィールドに前記セキュリティ認証命令のパラメータを含むSIDを生成し、前記オリジナルパケットに基づいて前記SRv6パケットを生成し、そのうち、前記セキュリティ認証命令は、前記セキュリティ認証命令のパラメータを前記パラメータフィールドに格納することをさらに指示することと、含む。
【0013】
本発明の一実施例において、前記セキュリティ処理モジュールは、具体的に、
目標SIDの機能フィールドにはセキュリティ認証命令を含み、前記セキュリティ認証命令は、前記セキュリティ認証命令のパラメータを前記パラメータフィールドに格納することを指示する場合、前記目標SIDのパラメータフィールドに含まれたパラメータから目標パラメータを取得することと、
目標SIDの機能フィールドにはセキュリティ認証命令を含み、前記セキュリティ認証命令は、前記セキュリティ認証命令のパラメータを前記パラメータフィールドとヘッダ拡張フィールドに格納することを指示する場合、前記目標SIDのパラメータフィールドに含まれたパラメータと前記ヘッダにおける拡張フィールドに含まれたパラメータから目標パラメータを取得することと、
前記目標パラメータに基づいて前記SRv6パケットに対してセキュリティ認証処理を行うことと、に用いられる。
【0014】
本発明の一実施例において、前記セキュリティ認証命令はカプセル化命令を含み、前記カプセル化命令は前記SRv6パケットのペイロードに対してカプセル化処理を行うことを指示し、
前記セキュリティ処理モジュールは、具体的に、
目標SIDの機能フィールドにはセキュリティ認証命令を含む場合、前記セキュリティ認証命令によって指示される操作に従って目標パラメータを取得することと、
前記目標パラメータに基づいて前記SRv6パケットのペイロードに対してカプセル化処理を行うことと、に用いられる。
【0015】
本発明の一実施例において、前記セキュリティ認証命令はカプセル化解除命令を含み、前記カプセル化解除命令は前記SRv6パケットのペイロードに対してカプセル化解除処理を行うことを指示し、
前記セキュリティ処理モジュールは、具体的に、
目標SIDの機能フィールドにはセキュリティ認証命令を含む場合、前記セキュリティ認証命令によって指示される操作に従って目標パラメータを取得することと、
前記目標パラメータに基づいて前記SRv6パケットのペイロードに対してカプセル化解除処理を行うことと、に用いられる。
【0016】
第3態様として、本発明の実施例は、プロセッサと機械可読記憶媒体とを含むネットワークノードを提供する。前記機械可読記憶媒体には前記プロセッサによって実行可能な機械実行可能命令が記憶されており、前記機械実行可能命令は前記プロセッサに第1態様のいずれかに記載の方法のステップを実現させる。
【0017】
第4態様として、本発明実施例は、機械可読記憶媒体を提供する。前記機械可読記憶媒体には、機械実行可能命令が記憶されており、プロセッサによって呼び出されて実行されると、前記機械実行可能命令は前記プロセッサに第1態様のいずれかに記載の方法のステップを実行させる。
【発明の効果】
【0018】
本発明の実施例は、以下の有益な効果を得ることができる。
【0019】
ネットワークノードは、本発明実施例に係る技術案を適用してパケットを転送すると、SRv6パケットを取得した後、前記ネットワークノードに対応する目標SIDの機能フィールドにセキュリティ認証命令を含む場合、セキュリティ認証命令によって指示される操作によって目標パラメータを取得し、目標パラメータに基づいてSRv6パケットに対してセキュリティ認証処理を行い、そして、処理されたSRv6パケットをSRv6転送パスにおけるネクストホップデバイスに転送する。
【0020】
これにより、ネットワークノードに対応する目標SIDの機能フィールドにセキュリティ認証命令を含む場合、ネットワークノードは、SRv6パケットを直接に転送せず、目標パラメータに基づいてSRv6パケットに対してセキュリティ認証命令によって指示されるセキュリティ認証処理を行ってから、セキュリティ認証処理後のSRv6パケットを転送する。ネットワークノードはSRv6パケットに対してセキュリティ認証命令によって指示されるセキュリティ認証処理を行っていることで、SRv6パケットの安全性を高めることができる。そのため、ネットワークノードは、本発明の実施例に係る技術案を適用する場合、セキュリティ認証処理後のSRv6パケットを転送することで、SRv6パケットの転送の安全性を高めることができる。
【図面の簡単な説明】
【0021】
本発明の実施例及び従来技術の技術案をより明確に説明するために、以下、実施例及び従来技術に使用される図面について、簡単に説明する。以下に説明される図面は、単に本発明のいくつかの実施例によるものに過ぎず、当業者にとって、これらの図面に基づいて他の図面を得ることは明らかである。
【0022】
【
図1】
図1は本発明の実施例に係る第1のパケット転送方法の概略フローチャートである。
【
図2】
図2は本発明の実施例に係るSRv6転送パスの模式図である。
【
図3】
図3は本発明の実施例に係るカプセル化処理後のSRv6パケットの模式図である。
【
図4】
図4は本発明の実施例に係るカプセル化解除処理後のSRv6パケットの模式図である。
【
図5】
図5は本発明の実施例に係るSRv6パケット生成方法の概略フローチャートである。
【
図6】
図6は本発明の実施例に係る第2のパケット転送方法の概略フローチャートである
【
図7】
図7は本発明の実施例に係るパケット転送装置の構造概略図である。
【
図8】
図8は本発明の実施例に係るネットワークノードの構造概略図である。
【発明を実施するための形態】
【0023】
本発明の目的、技術案および利点をより明確に説明するために、以下、図面参照して、実施例を挙げて本発明をさらに詳しく説明する。勿論、説明される実施例は単に本発明の一部の実施例に過ぎず、すべての実施例ではない。当業者が本発明における実施例に基づいて得られたすべての他の実施例は、何れも本発明の保護範囲に属する。
【0024】
従来技術では、SRv6転送パスには安全でないネットワークノードまたは安全でないリンクを含むと、前記SRv6転送パスに沿ってSRv6パケットを転送する際に、安全性が低いという技術的課題があるので、この技術的課題を解決するために、本発明の実施例は、パケット転送方法、装置、ネットワークノードおよび記憶媒体を提供する。
【0025】
本発明の一実施例では、ネットワークノードに適用されるパケット転送方法を提供する。前記方法は、
SRv6パケットを取得することと、
目標SIDの機能フィールドにはセキュリティ認証命令を含む場合、前記セキュリティ認証命令によって指示される操作に従って目標パラメータを取得し、前記目標パラメータに基づいて前記SRv6パケットに対してセキュリティ認証処理を行い、ここで、前記目標SIDは、前記SRv6パケットのヘッダに付加されたセグメントリストにおける前記ネットワークノードに対応するSIDであり、前記目標パラメータは前記ヘッダに記録された前記セキュリティ認証命令のパラメータであることと、
処理されたSRv6パケットをネクストホップデバイスに転送することと、を含む。
【0026】
これにより、ネットワークノードに対応する目標SIDの機能フィールドにセキュリティ認証命令を含む場合、ネットワークノードは、SRv6パケットを直接に転送せず、目標パラメータに基づいてSRv6パケットに対してセキュリティ認証命令に指示されるセキュリティ認証処理を行ってから、セキュリティ認証処理後のSRv6パケットを転送する。ネットワークノードはSRv6パケットに対してセキュリティ認証命令によって指示されるセキュリティ認証処理を行うことで、SRv6パケットの安全性を高めることができる。そのため、ネットワークノードは、本発明の実施例に係る技術案を適用する場合、セキュリティ認証処理後のSRv6パケットを転送することで、SRv6パケットの転送の安全性を高めることができる。
【0027】
以下、
図1および
図2を参照しながら、本発明の実施例に係るパケット転送方法を説明する。
【0028】
図1は本発明の実施例に係る第1のパケット転送方法の概略フローチャートである。当該方法は、ネットワークノードに適用される。
【0029】
ここで、前記ネットワークノードは、ルータ、スイッチなどであってよい。
【0030】
図2は本発明の実施例に係るSRv6転送パスの模式図である。
【0031】
図2に示すように、ネットワークには、ネットワークノードR1~ネットワークノードR7を含み、ネットワークノード同士を連結する実線は、実線の両端にあるネットワークノードが相互に接続していることを示す。
図2における破線の矢印は、SRv6転送パスを示す。
【0032】
具体的に、
図2に示したSRv6転送パスは、R1-R2-R3-R5-R6-R7である。
【0033】
例えば、R1-R3を第1パスセグメント、R3-R5を第2パスセグメント、R5-R7を第3パスセグメントと称してもよい。
【0034】
本発明の実施例に係る実施形態の実行本体は、SRv6転送パスにおけるソースネットワークノード以外の任意のネットワークノードであってよい。これに基づいて、前記
図2に示したSRv6転送パスにおけるソースネットワークノードR1以外のR2-R7は、いずれも、本発明の実施例に係る技術案の実行本体としてもよい。
【0035】
前記パケット転送方法は、以下のステップS101~S103を含む。
【0036】
S101において、SRv6パケットを取得する。
【0037】
具体的に、ネットワークノードによって取得されたSRv6パケットは、SRv6転送パスにおける当該ネットワークノードの前に位置しかつ当該ネットワークノードと隣接するネットワークノードによって転送されたSRv6パケットであってよい。例えば、ネットワークノードR3によって取得されたSRv6パケットは、ネットワークノードR2によって転送されたSRv6パケットであってよい。
ここで、前記SRv6パケットには、ヘッダとペイロードとを含み、前記ヘッダはSRH(Segment Identifier Header、セグメントルーティングヘッダ)である。
【0038】
具体的に、前記SRv6パケットのヘッダには、セグメントリストを含む。前記セグメントリストには、SRv6転送パスにおけるソースネットワークノード以外の他のネットワークノードに対応するSIDを含み、セグメントリストにおける各ネットワークノードに対応するSIDの並び順は、SRv6転送パスにおけるネットワークノードの並び順と逆である。
【0039】
ここで、前記SIDには、Locator(ロケータフィールド)と、Function(機能フィールド)と、Arguments(パラメータフィールド)とを含む。
【0040】
前記Locatorは、SRv6転送パスにおける前記SIDに対応するネットワークノードの位置を識別するために使用される。Locatorは、Locator Block(ロケータブロックフィールド)とLocator Node(ロケータノードフィールド)とを含む。
【0041】
前記Functionには、前記SIDに対応するネットワークノードによってSRv6パケットに対して実行されるパケット処理命令を含む。具体的に、前記Functionには、1つ以上のパケット処理命令を含んでよい。
【0042】
前記Argumentsには、前記パケット処理命令のパラメータを含む。
【0043】
また、SRv6パケットのヘッダには、さらに、セグメントリスト以外の他のフィールドを含み、他のフィールドに含まれた情報は従来技術と同じであるため、本発明の実施例は、その説明を省略する。
【0044】
なお、前記ペイロードは、前記SRv6パケットにおけるヘッダ以外のフィールドであり、SRv6パケットによって伝送されるデータを含む。
【0045】
本発明の一実施例において、前記ヘッダには、さらに、前記ネットワークノードに対応するSIDの番号を記録するための番号フィールドを含み、前記番号フィールドは、SL(Segments Left、残りセグメント)で表すことができる。
【0046】
S102において、目標SIDの機能フィールドにはセキュリティ認証命令を含む場合、前記セキュリティ認証命令によって指示される操作に従って目標パラメータを取得し、前記目標パラメータに基づいて前記SRv6パケットに対してセキュリティ認証処理を行う。
【0047】
ここで、前記目標SIDは、前記SRv6パケットのヘッダに付加されたセグメントリストにおける前記ネットワークノードに対応するSIDである。前記目標パラメータは、前記ヘッダに記録された前記セキュリティ認証命令のパラメータである。
【0048】
具体的に、セグメントリストにおける番号が前記番号フィールドに記録された番号であるSIDを、前記目標SIDと確定してよい。
【0049】
本発明の一実施例において、ヘッダにおける前記セキュリティ認証命令にって示された位置から、目標パラメータを取得してよい。具体的に、後述するステップS102A~S102Bを参照すればよく、ここでは詳述しない。
【0050】
また、前記セキュリティ認証命令は、SRv6パケットのペイロードに対してカプセル化処理を行うことを指示するカプセル化命令であってもよく、SRv6パケットのペイロードに対してカプセル化解除処理を行うことを指示するカプセル化解除命令であってもよい。
【0051】
具体的に、前記セキュリティ認証命令は、ネットワークノードがIPsec(Internet Protocol Security、インターネットプロトコルセキュリティ)および/またはHMAC(Hash-based Message Authentication Code、ハッシュベースメッセージ認証コード)に基づいてSRv6パケットに対してセキュリティ認証処理を行うことを指示する命令であってよい。
【0052】
IPsecプロトコルは、主にAH(Authentication Header、認証ヘッダ)と、ESP(Encapsulating Security Payload、暗号ペイロード)と、SA(Secure Association、セキュリティアソシエーション)と3つの部分で構成される。
【0053】
前記AHは、SRv6パケットに対してデータ整合性チェック、データソースの認証および再生攻撃からの保護などの機能を提供することができる。前記ESPは、SRv6パケットに対してデータ暗号化、データソースの認証、データ整合性検証および再生攻撃からの保護などの機能を提供することができる。SAは、通信の両端にあるネットワークノードに一方向のセキュリティ関係を構築するために用いられ、IPsecに必要なアルゴリズムやパラメータなどの情報を指定するために用いられる。
具体的に、SAは、IKE(Internet Key Exchange、インターネット鍵交換)プロトコルによって確立されることができる。SAは他の方法で確立されることもできる。SRv6パケットに対してセキュリティ認証処理を行う過程において、SRv6パケットに対するセキュリティ認証処理は、上記のAHまたはESPを単独で用いて実行されてもよく、AHとESPとを組み合わせて用いて実行されてもよい。
【0054】
ここで、前記IPsecプロトコルは、従来技術におけるプロトコルであり、本発明の実施例では、その説明を省略する。
【0055】
本発明の一実施例において、前記セキュリティ認証命令には前記カプセル化命令を含む場合、後述するステップAによって前記SRv6パケットに対してセキュリティ認証処理を行うことができ、ここでは詳述しない。
【0056】
本発明の別の実施例において、前記セキュリティ認証命令には前記カプセル化解除命令を含む場合、後述するステップBによって前記SRv6パケットに対してセキュリティ認証処理を行うことができ、ここでは詳述しない。
【0057】
S103において、処理されたSRv6パケットをネクストホップデバイスに転送する。
【0058】
ここで、前記ネクストホップデバイスは、前記SRv6転送パスにおける前記ネットワークノードの後に位置し、かつ前記ネットワークノードに隣接するノードである。
例えば、
図2を参照して、ネットワークノードR3にとって、SRv6転送パスにおける前記ネットワークノードR5は前記ネクストホップデバイスである。
本発明の一実施例において、前記ヘッダの番号フィールドに記録された番号から1を減算して、前記SRv6転送パスにおけるネクストホップデバイスに対応するSIDの番号を取得することで、セグメントリストにおけるSRv6転送パス内のネクストホップデバイスに対応するSIDを確定し、前記SRv6パケットの宛先アドレスを前記SRv6転送パスにおけるネクストホップデバイスに対応するSIDに更新し、前記ネットワークノードに記録されたルーティングテーブルに基づいて前記宛先アドレス変更後のSRv6パケットを転送する。
【0059】
具体的に、前記ネットワークノードは、IGP(Interior Gateway Protocols、内部ゲートウェイプロトコル)に基づいて、セキュリティ認証処理後のSRv6パケットをネットワークに配布する。
【0060】
以上より、ネットワークノードに対応する目標SIDの機能フィールドにセキュリティ認証命令を含む場合、ネットワークノードは、SRv6パケットを直接に転送せず、目標パラメータに基づいてSRv6パケットに対してセキュリティ認証命令によって指示されるセキュリティ認証処理を行ってから、セキュリティ認証処理後のSRv6パケットを転送することがわかる。ネットワークノードがSRv6パケットに対してセキュリティ認証命令によって指示されるセキュリティ認証処理を行うことで、SRv6パケットの安全性を高めることができる。そのため、ネットワークノードは、本発明の実施例に係る技術案を適用する場合、セキュリティ認証処理後のSRv6パケットを転送することで、SRv6パケットの転送の安全性を高めることができる。
【0061】
また、前記SRv6転送パスにおけるソースネットワークノード以外のネットワークノードは、上記の
図1に示す実施例によってSRv6パケットに対してセキュリティ認証処理を行うことができる。一方、ソースネットワークノードは、その自身が安全でないネットワークノードであると確定する場合、直接にオリジナルパケットのペイロードに対してセキュリティ認証処理を行ってから、前記SRv6パケットを生成して送信する。
【0062】
具体的に、前記ソースネットワークノードが前記SRv6転送パスの始点ノードであり、SRv6転送パスにおいて前記ソースネットワークノードの前に位置し且つパケットのペイロードに対してカプセル化処理を行うネットワークノードを存在しないので、前記ソースネットワークノードによって行われるセキュリティ認証処理はカプセル化処理である場合が多く、SRv6転送パスにおける他のネットワークノードによって後続のカプセル化解除処理を行う。
【0063】
本発明の一実施例において、ステップAによって、前記SRv6パケットに対してセキュリティ認証処理を行ってよい。
【0064】
ステップAにおいて、前記目標パラメータに基づいて前記SRv6パケットのペイロードに対してカプセル化処理を行う。
【0065】
具体的に、IPsecプロトコルおよび/またはHMACに基づいて前記ペイロードに対してカプセル化処理を行う。IPsecプロトコルによってペイロードに対してカプセル化処理を行う過程において、AHのみを使用してペイロードに対してカプセル化処理を行ってよく、ESPのみを使用してペイロードに対してカプセル化処理を行ってもよく、さらに、AHとESPとを組合わせて使用してペイロードに対してカプセル化処理を行ってもよい。
【0066】
図3を参照して、
図3は本発明の実施例に係るカプセル化処理後のSRv6パケットの模式図である。
【0067】
上記した
図2に対応し、前記
図3は、ネットワークノードR3によってSRv6パケットのペイロードに対してカプセル化処理を行って取得されたSRv6パケットを示し、当該図における各矩形はカプセル化処理して取得されたSRv6パケットにおける1つのフィールドを示す。
【0068】
ここで、SA(Source Address、発信元アドレス)=R1は、当該SRv6パケットの発信元アドレスがネットワークノードR1のアドレスであることを示す。DA(Destination or Target Address、宛先アドレス)=R5は、当該SRv6パケットがSRv6転送パスに従って転送された宛先アドレスがネットワークノードR5のアドレスであることを示す。
【0069】
R7フィールド、R5フィールド、R3フィールドは、前記SRv6転送パスに含まれたパスセグメントがそれぞれR1-R3、R3-R5、R5-R7であることを示す。
【0070】
HMACフィールド、AHフィールド、ESPフィールドは、R3がHMACとAHとESPとを組合わせて使用してペイロードに対してカプセル化処理を行った後、前記SRv6パケットに追加されたフィールドであり、ESP trailerフィールドはESPフィールドに対応するESPのtrailerフィールドであり、ESP ICV(Integrity check value、整合性チェック値)フィールドはパケット認証を行うために必要なパラメータである。
また、前記
図3はカプセル化処理を行って取得されたSRv6パケットの模式図であり、実際に取得されたSRv6パケットには、さらに、
図3に示したフィールド以外の他のフィールドを含む。
【0071】
本発明の別の実施例において、以下のステップBによって、前記SRv6パケットに対してセキュリティ認証処理を行ってよい。
【0072】
ステップBにおいて、前記目標パラメータに基づいて前記SRv6パケットのペイロードに対してカプセル化解除処理を行う。
【0073】
具体的に、前記SRv6パケットに含まれたペイロードは、既にカプセル化処理を行ったものである。そして、前記カプセル化処理を行うカプセル化方法に対応するカプセル化解除方法を使用して、前記ペイロードに対してカプセル化解除処理を行う必要がある。
【0074】
図4を参照して、
図4は本発明の実施例に係るカプセル化解除処理後のSRv6パケットの模式図である。
【0075】
ここで、前記カプセル化解除処理は、
図2に示したネットワークノードR5によって行われてよく、上記の
図3に示す実施例と比べて、HMACフィールド、AHフィールド、ESPフィールド、ESP trailerフィールドおよびESP ICVフィールドは、カプセル化解除処理後に削除される。そして、SRv6転送パスによれば、ネットワークノードR5によって転送されたパケットは、ネットワークノードR7に転送される必要があるため、前記カプセル化解除処理後のSRv6パケットに記録されたDAはネットワークノードR7のアドレスである。
また、前記
図4はカプセル化解除処理を行って取得されたSRv6パケットの模式図であり、実際に得られたSRv6パケットには、さらに、
図4に示したフィールド以外の他のフィールドを含む。
【0076】
本発明の一実施例において、前記SRv6パケットは、SRv6パケットのソースネットワークノードによって生成されたものであってよく、前記ソースネットワークノードは、SRv6転送パスにおける始点ノードであってよい。
【0077】
例えば、
図2を参照して、前記ソースネットワークノードはネットワークノードR1であってよい。
【0078】
図5を参照して、
図5は本発明の実施例に係るSRv6パケット生成方法の概略フローチャートである。前記ソースネットワークノードは、以下のステップS501~S505によってSRv6パケットを生成してもよい。
【0079】
S501において、オリジナルパケットを受信する。
【0080】
具体的に、前記オリジナルパケットには、ペイロードとオリジナルパケットのヘッダを含んでよい。
【0081】
ここで、前記オリジナルパケットは、他のデバイスによって送信されたパケットであってもよく、前記ソースネットワークノードによって生成されたパケットであってもよい。
【0082】
S502において、前記オリジナルパケットを転送するSRv6転送パスには安全でないネットワークノードがあることを確定した場合、セキュリティ認証命令のパラメータを取得する。
【0083】
ここで、前記セキュリティ認証命令は、前記安全でないネットワークノードがSRv6パケットに対してセキュリティ認証処理を行うことを指示する。
【0084】
具体的に、前記セキュリティ認証命令には、カプセル化命令とカプセル化解除命令とを含んでよい。
【0085】
また、前記安全でないネットワークノードは、自身にデータ漏洩のリスクがあるネットワークノードであってもよく、データ漏洩のリスクがある安全でないリンクに接続されるネットワークノードであってもよい。
【0086】
具体的に、前記安全でないリンクは、データ漏洩のリスクがある安全でないパスセグメントであってもよく、この場合、前記安全でないネットワークノードは、安全でないパスセグメントの開始位置および終了位置にあるネットワークノードであってよい。
【0087】
例えば、
図2を参照して、前記ネットワークノードR3-R5のパスセグメントが安全でないパスセグメントである場合、前記安全でないネットワークノードはネットワークノードR3とネットワークノードR5であってよい。
【0088】
本発明の一実施例において、前記ソースネットワークノードは、安全でないネットワークノードを表す情報によって、前記SRv6転送パスに含まれた安全でないネットワークノードを確定する。前記情報は、管理者によって手動で前記ソースネットワークノードに送信されたものであってもよく、前記ソースネットワークノード以外の集中コントローラまたは制御ノードから前記ソースネットワークノードに送信されたものであってもよく、前記ソースネットワークノード自身によって確定されたものであってもよい。ソースネットワークノードが安全でないネットワークノードを確定する過程は、前記ソースネットワークノードの制御レイヤによって実行される過程に属し、パケット転送の過程とはそれぞれ独立して行うことができる。
【0089】
具体的に、前記安全でないネットワークノードは予め設定されたネットワークノードであってよい。前記SRv6転送パスにおける各ネットワークノードの転送履歴情報によって、データ漏洩の発生した回数が多いネットワークノードを前記安全でないネットワークノードとして確定してもよい。
【0090】
本発明の別の実施例において、前記セキュリティ認証命令のパラメータは、前記安全でないネットワークノードが確定された後に前記ソースネットワークノードの自身によって生成されたものであってもよく、集中コントローラまたは制御ノードから前記ソースネットワークノードに送信されたものであってもよく、管理者によって手動で前記ソースネットワークノードに送信されたものであってもよい。
【0091】
また、前記SRv6パケットに対してセキュリティ認証処理を行うことは、SRv6パケットに対してカプセル化処理を行う過程と、SRv6パケットに対してカプセル化解除処理を行う過程とを含んでよい。そのため、SRv6転送パスに含まれる一対のネットワークノードはそれぞれSRv6パケットに対してカプセル化処理とカプセル化解除処理とを行うことが必要であるので、前記SRv6転送パスにおいて、安全でないネットワークノードは対になって存在する。SRv6転送パスにおいて、SRv6パケットに対してカプセル化処理を行うネットワークノードは、SRv6パケットに対してカプセル化解除処理を行うネットワークノードの前に位置する。
【0092】
S503において、前記セキュリティ認証命令のパラメータのデータ量がSIDのパラメータフィールドの最大データ量より大きいか否やかを判断する。
【0093】
具体的に、SRv6パケットに予め設定された前記SIDの総データ量が128bitであり、予め前記128bitのデータ量をLocator、FunctionおよびArgumentsに分割してよく、前記パラメータフィールドの最大データ量は、Argumentsに分割されたデータ量である。
【0094】
前記セキュリティ認証命令のパラメータのデータ量がSIDのパラメータフィールドより大きい場合、前記セキュリティ認証命令のパラメータが前記パラメータフィールドに完全に格納されることが困難であり、ステップS504を実行してよい。前記セキュリティ認証命令のパラメータのデータ量がSIDのパラメータフィールド以下である場合、前記セキュリティ認証命令のパラメータが前記パラメータフィールドに完全に格納されることができ、ステップS505を実行してよい。
【0095】
S504において、前記安全でないネットワークノードに対して、機能フィールドに前記セキュリティ認証命令を含みかつパラメータフィールドに第1パラメータを含むSIDを生成し、前記オリジナルパケットに基づいて前記SRv6パケットを生成する。
【0096】
ここで、前記SRv6パケットの前記ヘッダにおける拡張フィールドには、第2パラメータを含む。
【0097】
前記セキュリティ認証命令は、さらに、前記セキュリティ認証命令のパラメータを前記パラメータフィールドと前記ヘッダにおける拡張フィールドに格納することを指示する。
【0098】
前記セキュリティ認証命令のパラメータをそれぞれパラメータフィールドと拡張フィールドに格納しているため、前記セキュリティ認証命令は、さらに前記パラメータをパラメータフィールドと拡張フィールドに格納することを指示し、これにより前記安全でないネットワークノードは、前記セキュリティ認証命令を取得した後、前記パラメータフィールドと拡張フィールドから前記セキュリティ認証命令のパラメータを取得することができる。
【0099】
また、前記第1パラメータは、前記セキュリティ認証命令のパラメータにおけるデータ量が前記最大データ量以下の一部のパラメータである。前記第2パラメータは、前記セキュリティ認証命令のパラメータにおける前記第1パラメータ以外のパラメータである。
【0100】
具体的に、前記セキュリティ認証命令のパラメータのデータ量が最大データ量より大きいため、パラメータフィールドに前記セキュリティ認証命令のパラメータを完全に格納することが困難である。そのため、前記パラメータにおけるデータ量が最大データ量以下の第1パラメータをSIDのパラメータフィールドに格納し、セキュリティ認証命令のパラメータにおけるパラメータフィールドに格納され難い第1パラメータ以外の第2パラメータを、ヘッダにおける拡張フィールドに格納してもよい。
【0101】
ここで、前記第1パラメータは、前記セキュリティ認証命令のパラメータにおけるデータ量が前記最大データ量以下の任意のデータであってよい。前記セキュリティ認証命令のパラメータの先頭バイトからの連続するバイトからなり且つデータ量が前記最大データ量以下であるデータであってもよい。
【0102】
前記拡張フィールドに格納された第2パラメータは、TLV(Type Length Value、タイプ・長さ・値)フォーマットのデータであってよい。ここで、前記拡張フィールドには、第2パラメータと、第2パラメータに対応するパラメータのタイプと、前記第2パラメータの長さと、前記第2パラメータの識別子とを記録している。
【0103】
表1に参照して、表1は、本発明の実施例に係るTLVフォーマットのデータセットを示す。
【0104】
【0105】
ここで、前記Typeは第2パラメータに対応するパラメータのタイプを示す。前記Lengthは第2パラメータの長さを示す。前記識別子は第2パラメータの識別子を示す。
【0106】
本発明の一実施例において、SRv6転送パスにおける前記安全でないネットワークノードの位置に従って、生成されたSIDを前記オリジナルパケットのヘッダにおけるセグメントリストに挿入して、前記SRv6パケットを生成してよい。具体的に、前記セグメントリストにおけるSIDの並び順は、SRv6転送パスにおけるSIDに対応するネットワークノードの並び順と逆である。
【0107】
本発明の別の実施例において、前記カプセル化命令の識別子はEND.SEであってよい。このような識別子がEND.SEである命令は、ネットワークノードがSRv6パケットに対してカプセル化処理を行うことを指示するために使用される。前記カプセル化解除命令の識別子はEND.SDであってよい。このような識別子がEND.SDである命令は、ネットワークノードがSRv6パケットに対してカプセル化解除処理を行うことを指示するために使用される。
【0108】
例えば、第1ネットワークノードがSRv6パケットに対してカプセル化処理を行うことを指示するように、生成された第1ネットワークノードに対応するSIDにおける機能フィールドには、識別子END.SEを含んでよい。第2ネットワークノードがSRv6パケットに対してカプセル化解除処理を行うことを指示するように、生成された第2ネットワークノードに対応するSIDにおける機能フィールドには、識別子END.SDを含んでよい。
【0109】
S505において、前記安全でないネットワークノードに対して、機能フィールドに前記セキュリティ認証命令を含みかつパラメータフィールドに前記セキュリティ認証命令のパラメータを含むSIDを生成し、前記オリジナルパケットに基づいて前記SRv6パケットを生成する。
【0110】
ここで、前記セキュリティ認証命令は、さらに、前記セキュリティ認証命令のパラメータを前記パラメータフィールドに格納することを指示する。
【0111】
具体的に、前記セキュリティ認証命令のパラメータのデータ量が前記最大データ量以下であるため、前記パラメータフィールドに前記セキュリティ認証命令のパラメータを完全に格納することができる。そのため、機能フィールドにセキュリティ認証命令を含みかつパラメータフィールドにセキュリティ認証命令のパラメータを含むSIDを直接に生成し、生成されたSIDを前記オリジナルパケットのヘッダにおけるセグメントリストに挿入して、前記SRv6パケットを生成することができる。
【0112】
また、前記ステップS505は、上記のステップS504に類似しているので、本発明の実施例では、その説明を省略する。
【0113】
以上から分かるように、SIDのパラメータフィールドに格納できる最大データ量は制限されているため、前記安全でないネットワークノードに対応するセキュリティ認証命令のパラメータにおいて、一部のパラメータが前記パラメータフィールドに格納され、他の一部のパラメータがSRv6パケットのヘッダに含まれた拡張フィールドに格納されてよい。そのため、セキュリティ認証命令のデータ量がパラメータフィールドの最大データ量より大きい場合でも、多くの場合は、前記セキュリティ認証命令が前記SRv6パケットに完全に格納され、前記安全でないネットワークノードに完全に送信される。これにより、前記安全でないネットワークノードは、完全なセキュリティ認証命令のパラメータを取得し、完全なパラメータに基づいてSRv6パケットに対してセキュリティ認証処理を完了することができる。
【0114】
図6に参照して、
図6は本発明の実施例に係る第2のパケット転送方法の概略フローチャートである。上記の
図1に示す実施例と比べて、前記ステップS102は、以下のステップS102A~S102Bによって実現できる。
【0115】
S102Aにおいて、目標SIDの機能フィールドにはセキュリティ認証命令を含み、かつ前記セキュリティ認証命令は、前記セキュリティ認証命令のパラメータを前記パラメータフィールドに格納することを指示する場合、前記目標SIDのパラメータフィールドに含まれたパラメータから目標パラメータを取得し、前記目標パラメータに基づいて前記SRv6パケットに対してセキュリティ認証処理を行う。
【0116】
前記セキュリティ認証命令は、前記セキュリティ認証命令のパラメータを目標SIDのパラメータフィールドに格納することを指示するため、目標SIDのパラメータフィールドから目標パラメータを取得するこができる。
具体的に、前記パラメータフィールドは前記目標SIDの固定位置に一定のデータ長さを有するため、目標SIDにおけるパラメータフィールドを直接に確定し、そしてパラメータフィールドから目標パラメータを取得することができる。
【0117】
また、前記目標パラメータに基づいて前記SRv6パケットに対してセキュリティ認証処理を行うことは、上記ステップS102に示す実施例に類似しているので、本発明の実施例では、その説明を省略する。
【0118】
S102Bにおいて、目標SIDの機能フィールドにはセキュリティ認証命令を含み、かつ前記セキュリティ認証命令は、前記セキュリティ認証命令のパラメータを前記パラメータフィールドとヘッダの拡張フィールドに格納することを指示する場合、前記目標SIDのパラメータフィールドに含まれたパラメータと前記ヘッダにおける拡張フィールドに含まれたパラメータから目標パラメータを取得し、前記目標パラメータに基づいて前記SRv6パケットに対してセキュリティ認証処理を行う。
【0119】
前記セキュリティ認証命令は前記セキュリティ認証命令のパラメータを目標SIDのパラメータフィールドとSRv6ヘッダの拡張フィールドに格納することを指示するため、目標SIDのパラメータフィールドに含まれたパラメータと拡張フィールドに含まれたパラメータのそれぞれからパラメータを取得し、パラメータフィールドから取得されたパラメータと拡張フィールドから取得されたパラメータとを結合して、目標パラメータを取得する。
また、前記目標パラメータに基づいて前記SRv6パケットに対してセキュリティ認証処理を行うことは、上記ステップS102に示す実施例に類似しているので、本発明の実施例では、その説明を省略する。
【0120】
以上から分かるように、前記ネットワークノードに対応するセキュリティ認証命令のパラメータをパラメータフィールドに完全に格納してもよく、一部が前記パラメータフィールドに格納され、他の一部がSRv6パケットのヘッダに含まれた拡張フィールドに格納されてもよい。セキュリティ認証命令の指示に基づいて、前記パラメータの格納位置を確定し、セキュリティ認証命令によって指示される格納位置から目標パラメータを取得することで、完全な目標パラメータに基づいてSRv6パケットに対してセキュリティ認証処理を行うことができる。
【0121】
上記パケット転送方法に対応し、本発明の実施例は、さらに、パケット転送装置を提供する。
【0122】
図7に参照して、
図7は本発明の実施例に係るネットワークノードに適用されるパケット転送装置の構造概略図である。
【0123】
前記装置は、
SRv6パケットを取得するためのパケット取得モジュール701と、
目標SIDの機能フィールドにはセキュリティ認証命令を含む場合、前記セキュリティ認証命令によって指示される操作に従って目標パラメータを取得し、前記目標パラメータに基づいて前記SRv6パケットに対してセキュリティ認証処理を行うためのセキュリティ処理モジュール702であって、前記目標SIDは前記SRv6パケットのヘッダに付加されているセグメントリストにおける前記ネットワークノードに対応するSIDであり、前記目標パラメータは前記ヘッダに記録されている前記セキュリティ認証命令のパラメータであるセキュリティ処理モジュール702と、
処理されたSRv6パケットをネクストホップデバイスに転送するためのパケット転送モジュール703と、を含む。
【0124】
以上から分かるように、ネットワークノードに対応する目標SIDの機能フィールドにセキュリティ認証命令を含む場合、ネットワークノードは、SRv6パケットを直接に転送せず、目標パラメータに基づいてSRv6パケットに対してセキュリティ認証命令によって指示されるセキュリティ認証処理を行ってから、セキュリティ認証処理後のSRv6パケットを転送する。ネットワークノードはSRv6パケットに対してセキュリティ認証命令によって指示されるセキュリティ認証処理を行っていることで、SRv6パケットの安全性を高めることができる。そのため、ネットワークノードは、本発明の実施例に係る技術案を適用する場合、セキュリティ認証処理後のSRv6パケットを転送することで、SRv6パケットの転送の安全性を高めることができる。
【0125】
本発明の一実施例において、前記SRv6パケットは、前記SRv6パケットのソースネットワークノードによって、以下のプロセスで生成されるものであり、
前記プロセスは、
オリジナルパケットを受信することと、
前記オリジナルパケットを転送するSRv6転送パスには安全でないネットワークノードがあることを確定した場合、セキュリティ認証命令のパラメータを取得し、前記セキュリティ認証命令は前記安全でないネットワークノードがSRv6パケットに対してセキュリティ認証処理を行うことを指示することと、
前記セキュリティ認証命令のパラメータのデータ量がSIDのパラメータフィールドの最大データ量より大きいか否やかを判断することと、
前記セキュリティ認証命令のパラメータのデータ量がSIDのパラメータフィールドの最大データ量より大きい場合、前記安全でないネットワークノードに対して、機能フィールドに前記セキュリティ認証命令を含みかつパラメータフィールドに第1パラメータを含むSIDを生成し、前記オリジナルパケットに基づいて前記SRv6パケットを生成し、そのうち、前記SRv6パケットの前記ヘッダにおける拡張フィールドに第2パラメータを含み、前記セキュリティ認証命令は、前記セキュリティ認証命令のパラメータを前記パラメータフィールドと前記ヘッダにおける拡張フィールドに格納することをさらに指示し、前記第1パラメータは前記セキュリティ認証命令のパラメータにおけるデータ量が前記最大データ量以下である一部のパラメータであり、前記第2パラメータは前記セキュリティ認証命令のパラメータにおける前記第1パラメータ以外のパラメータであることと、
前記セキュリティ認証命令のパラメータのデータ量がSIDのパラメータフィールドの最大データ量より大きくない場合、前記安全でないネットワークノードに対して、機能フィールドに前記セキュリティ認証命令を含みかつパラメータフィールドに前記セキュリティ認証命令のパラメータを含むSIDを生成し、前記オリジナルパケットに基づいて前記SRv6パケットを生成し、そのうち、前記セキュリティ認証命令は、前記セキュリティ認証命令のパラメータを前記パラメータフィールドに格納することをさらに指示することと、
を含む。
【0126】
以上から分かるように、SIDのパラメータフィールドに格納できる最大データ量は制限されているため、前記安全でないネットワークノードに対応するセキュリティ認証命令のパラメータにおいて、一部のパラメータが前記パラメータフィールドに格納され、他の一部のパラメータがSRv6パケットのヘッダに含まれた拡張フィールドに格納されてよい。そのため、セキュリティ認証命令のデータ量がパラメータフィールドの最大データ量より大きい場合でも、多くの場合は、前記セキュリティ認証命令が前記SRv6パケットに完全に格納され、前記安全でないネットワークノードに完全に送信される。これにより、前記安全でないネットワークノードは、完全なセキュリティ認証命令のパラメータを取得し、完全なパラメータに基づいてSRv6パケットに対してセキュリティ認証処理を完了することができる。
【0127】
本発明の一実施例において、前記セキュリティ処理モジュール702は、具体的に、
目標SIDの機能フィールドにはセキュリティ認証命令を含み、前記セキュリティ認証命令は、前記セキュリティ認証命令のパラメータを前記パラメータフィールドに格納することを指示する場合、前記目標SIDのパラメータフィールドに含まれたパラメータから目標パラメータを取得することと、
目標SIDの機能フィールドにはセキュリティ認証命令を含み、前記セキュリティ認証命令は、前記セキュリティ認証命令のパラメータを前記パラメータフィールドとヘッダ拡張フィールドに格納することを指示する場合、前記目標SIDのパラメータフィールドに含まれたパラメータと前記ヘッダにおける拡張フィールドに含まれたパラメータから目標パラメータを取得することと、
前記目標パラメータに基づいて前記SRv6パケットに対してセキュリティ認証処理を行うことと、
に用いられる。
【0128】
以上から分かるように、前記ネットワークノードに対応するセキュリティ認証命令のパラメータをパラメータフィールドに完全に格納してもよく、一部が前記パラメータフィールドに格納され、他の一部がSRv6パケットのヘッダに含まれた拡張フィールドに格納されてもよい。セキュリティ認証命令の指示に基づいて、前記パラメータの格納位置を確定し、セキュリティ認証命令によって指示される格納位置から目標パラメータを取得することで、完全な目標パラメータに基づいてSRv6パケットに対してセキュリティ認証処理を行うことができる。
【0129】
本発明の一実施例において、前記セキュリティ認証命令は、カプセル化命令を含み、前記カプセル化命令は前記SRv6パケットのペイロードに対してカプセル化処理を行うことを指示し、
前記セキュリティ処理モジュール702は、具体的に、
目標SIDの機能フィールドにはセキュリティ認証命令を含む場合、前記セキュリティ認証命令によって指示される操作に従って目標パラメータを取得することと、
前記目標パラメータに基づいて前記SRv6パケットのペイロードに対してカプセル化処理を行うことと、
に用いられる。
【0130】
本発明の一実施例において、前記セキュリティ認証命令は、カプセル化解除命令を含み、前記カプセル化解除命令は前記SRv6パケットのペイロードに対してカプセル化解除処理を行うことを指示し、
前記セキュリティ処理モジュール702は、具体的に、
目標SIDの機能フィールドにはセキュリティ認証命令を含む場合、前記セキュリティ認証命令によって指示される操作に従って目標パラメータを取得することと、
前記目標パラメータに基づいて前記SRv6パケットのペイロードに対してカプセル化解除処理を行うことと、
に用いられる。
【0131】
本発明の実施例は、さらに、ネットワークノードを提供し、
図8に示すように、前記ネットワークノードは、プロセッサ801と機械可読記憶媒体802とを含み、前記機械可読記憶媒体802には前記プロセッサ801によって実行可能な機械実行可能命令が記憶されており、前記機械実行可能命令は、前記プロセッサ801に、前記パケット転送方法のいずれかに記載の方法のステップを実現させる。
【0132】
本発明の実施例に係るネットワークノードを適用してパケット転送を行う際に、ネットワークノードに対応する目標SIDの機能フィールドにセキュリティ認証命令を含む場合、ネットワークノードは、SRv6パケットを直接に転送せず、目標パラメータに基づいてSRv6パケットに対してセキュリティ認証命令によって指示されるセキュリティ認証処理を行ってから、セキュリティ認証処理後のSRv6パケットを転送する。ネットワークノードはSRv6パケットに対してセキュリティ認証命令によって指示されるセキュリティ認証処理を行っていることで、SRv6パケットの安全性を高めることができる。そのため、ネットワークノードは、本発明の実施例に係る技術案を適用する場合、セキュリティ認証処理後のSRv6パケットを転送することで、SRv6パケットの転送の安全性を高めることができる。
【0133】
機械可読記憶媒体は、ランダムアクセスメモリ(Random Access Memory、RAM)を含んでもよく、不揮発性メモリ(Non-Volatile Memory、NVM)を含んでもよく、例えば、少なくとも1つのディスクメモリを含んでよい。任意に、メモリは、前記プロセッサから離れた場所にある少なくとも1つの記憶装置であってもよい。
【0134】
上記のプロセッサは、中央処理装置(Central Processing Unit、CPU)、ネットワークプロセッサ(Network Processor、NP)などを含む汎用プロセッサであってもよく、デジタル信号プロセッサ(Digital Signal Processor、DSP)、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、現場プログラム可能ゲートアレイ(Field-Programmable Gate Array、FPGA)または他のプログラマブルロジックデバイス、ディスクリートゲート又はトランジスタロジックデバイス、ディスクリートハードウェアコンポーネントであってもよい。
【0135】
本発明に係る別の実施例は、コンピューター可読記憶媒体をさらに提供し、当該コンピューター可読記憶媒体には、コンピュータープログラムが記憶されており、前記コンピュータープログラムは、プロセッサによって実行されると、前記ネットワークノードに適用されるいずれか1つのパケット転送方法のステップを実現する。
【0136】
本発明の実施例に係るコンピューター可読記憶媒体に記憶されているコンピュータープログラムを実行してパケット転送を行う際に、ネットワークノードに対応する目標SIDの機能フィールドにセキュリティ認証命令を含む場合、ネットワークノードは、SRv6パケットを直接に転送せず、目標パラメータに基づいてSRv6パケットに対してセキュリティ認証命令によって指示されるセキュリティ認証処理を行ってから、セキュリティ認証処理後のSRv6パケットを転送する。ネットワークノードはSRv6パケットに対してセキュリティ認証命令によって指示されるセキュリティ認証処理を行っていることで、SRv6パケットの安全性を高めることができる。そのため、ネットワークノードは、本発明の実施例に係る技術案を適用する場合、セキュリティ認証処理後のSRv6パケットを転送することで、SRv6パケットの転送の安全性を高めることができる。
【0137】
本発明に係る別の実施例は、さらに、命令を含むコンピュータープログラム製品を提供する。前記コンピュータープログラム製品は、コンピューターで実行されると、コンピューターに上記実施例におけるネットワークノードに適用されるいずれか1つのパケット転送方法を実行させる。
【0138】
本発明の実施例に係るコンピューター可読記憶媒体に記憶されているコンピュータープログラムを実行してパケット転送を行う際に、ネットワークノードに対応する目標SIDの機能フィールドにセキュリティ認証命令を含む場合、ネットワークノードは、SRv6パケットを直接に転送せず、目標パラメータに基づいてSRv6パケットに対してセキュリティ認証命令によって指示されるセキュリティ認証処理を行ってから、セキュリティ認証処理後のSRv6パケットを転送する。ネットワークノードはSRv6パケットに対してセキュリティ認証命令によって指示されるセキュリティ認証処理を行っていることで、SRv6パケットの安全性を高めることができる。そのため、ネットワークノードは、本発明の実施例に係る技術案を適用する場合、セキュリティ認証処理後のSRv6パケットを転送することで、SRv6パケットの転送の安全性を高めることができる。
【0139】
上記実施例は、全部または一部的にソフトウェア、ハードウェア、ファームウェア又はそれらの任意の組み合わせによって実現できる。ソフトウェアによって実現すると、全部または一部的にコンピュータープログラム製品の形態で実現できる。前記コンピュータープログラム製品は、1つ又は複数のコンピューター命令を含む。コンピューターに前記コンピュータープログラム命令をロードして実行すると、本発明の実施例に記載のフローまたは機能が全部または一部的に生成される。前記コンピューターは、汎用コンピューター、専用コンピューター、コンピューターネットワーク、または他のプログラマブルデバイスであってよい。前記コンピューター命令は、コンピューター可読記憶媒体に記憶されてもよく、または、1つのコンピューター可読記憶媒体から別のコンピューター可読記憶媒体に伝送されてもよい。例えば、前記コンピューター命令は、1つのウェブサイト、コンピューター、サーバーまたはデータセンターから、有線(例えば、同軸ケーブル、光ファイバ、デジタル加入者線(DSL))または無線(例えば、赤外線、ラジオ、マイクロ波など)によって、別のウェブサイト、コンピューター、サーバーまたはデータセンターに伝送することができる。前記コンピューター可読記憶媒体は、コンピューターによってアクセス可能な任意の利用可能な媒体、または1つ又は複数の利用可能な媒体が統合されているサーバー、データセンターなどを含むデータ記憶デバイスであってよい。前記利用可能な媒体は、磁気媒体(例えば、フロッピーディスク、ハードディスク、磁気テープ)、光学媒体(例えば、DVD)、または半導体媒体(例えば、ソリッドステートディス Solid State Disk (SSD))などであってよい。
【0140】
また、本明細書では、「第1」や「第2」等のような関係用語は1つのエンティティ又は操作を他のエンティティ又は操作と区別するためのものに過ぎず、必ずしもこれらのエンティティ又は操作間にこのような実際の関係又は順序があることを要求又は示唆するものではない。また、用語「含む」、「備える」又はほかの変形は非排他的に含むことをカバーすることで、一連の要素を含むプロセス、方法、物品又は装置はこれらの要素を含むだけでなく、明確に挙げられていないほかの要素をさらに含み、又はこのようなプロセス、方法、物品又は装置に固有される要素をさらに含むことを意図する。特に限定しない限り、文「1つの…を含む」により限定される要素は、前記要素を含むプロセス、方法、物品又は装置にはほかの同一の要素をさらに含むことを排除するものではない。
【0141】
本明細書における各実施例は、何れも関連するように記載されており、各実施例における同一または類似の部分は相互に参照すればよく、各実施例における重要な説明は、他の実施例との相違点である。特に、装置、電子機器、コンピューター可読記憶媒体およびコンピュータープログラム製品にとって、基本的に方法の実施例と類似するため、比較的に簡単に説明したが、関連する内容は、方法の実施例の部分の説明を参照すればよい。
【0142】
以上の説明は、単に本発明の好適な実施例に過ぎず、本発明の保護範囲を限定するものではない。本発明の精神及び原則を逸脱しない範囲内で行われる如何なる変更、同等の置換、改良等は何れも本発明の保護範囲に属する。
【国際調査報告】