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

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

▶ ホアウェイ・テクノロジーズ・カンパニー・リミテッドの特許一覧

特許7581395パケット処理方法、関連デバイス、及びコンピュータ記憶媒体
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-01
(45)【発行日】2024-11-12
(54)【発明の名称】パケット処理方法、関連デバイス、及びコンピュータ記憶媒体
(51)【国際特許分類】
   H04L 45/741 20220101AFI20241105BHJP
【FI】
H04L45/741
【請求項の数】 15
【外国語出願】
(21)【出願番号】P 2023014876
(22)【出願日】2023-02-02
(62)【分割の表示】P 2021522355の分割
【原出願日】2019-10-14
(65)【公開番号】P2023065386
(43)【公開日】2023-05-12
【審査請求日】2023-03-03
(31)【優先権主張番号】201811262866.4
(32)【優先日】2018-10-27
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】504161984
【氏名又は名称】ホアウェイ・テクノロジーズ・カンパニー・リミテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】リ、チェン
(72)【発明者】
【氏名】チェン、グオイ
【審査官】速水 雄太
(56)【参考文献】
【文献】米国特許出願公開第2015/0326675(US,A1)
【文献】中国特許出願公開第105450437(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-12/66
41/00-101/695
(57)【特許請求の範囲】
【請求項1】
パケット処理方法であって、
第1ネットワークデバイスが第2ネットワークデバイスのセグメント識別子のフォーマットを示す第1パケットを受信する段階であって、前記第2ネットワークデバイスの前記セグメント識別子の前記フォーマットは前記第2ネットワークデバイスのインターネットプロトコルバージョン6を用いたセグメントルーティング(SRv6)セグメント識別子内にあるフィールドの長さを示す、受信する段階と、
前記第1ネットワークデバイスが前記第2ネットワークデバイスの前記セグメント識別子の前記フォーマットを前記第1パケットに基づいて取得する段階と、
を備えるパケット処理方法。
【請求項2】
前記第2ネットワークデバイスの前記セグメント識別子の前記フォーマットは、前記第1パケット内にある種類・長さ・値(type-length-value、TLV)フィールドとしてカプセル化される、請求項1に記載の方法。
【請求項3】
前記第2ネットワークデバイスの前記セグメント識別子の前記フォーマットは、前記第2ネットワークデバイスの前記SRv6セグメント識別子内にあるロケータフィールドの長さを示す第1のサブフィールドを含み、前記第2ネットワークデバイスの前記セグメント識別子の前記フォーマットは、前記第2ネットワークデバイスの前記SRv6セグメント識別子内にある機能フィールドの長さを示す第2のサブフィールドを含む、請求項1又は2に記載の方法。
【請求項4】
前記第2ネットワークデバイスの前記セグメント識別子の前記フォーマットは、前記第2ネットワークデバイスの前記SRv6セグメント識別子内にある1または複数の値を示す第1フィールドの長さを示す第3のサブフィールドをさらに含む、請求項3に記載の方法。
【請求項5】
前記第2ネットワークデバイスの前記セグメント識別子の前記フォーマットは、前記第2ネットワークデバイスの前記SRv6セグメント識別子内にあるロケータフィールドの長さを示し、前記第2ネットワークデバイスの前記SRv6セグメント識別子内にある機能フィールドの長さをさらに示す、請求項1又は2に記載の方法。
【請求項6】
前記第2ネットワークデバイスの前記セグメント識別子の前記フォーマットは、前記第2ネットワークデバイスの前記SRv6セグメント識別子内にある1または複数の値を示す第1フィールドの長さをさらに示す、請求項5に記載の方法。
【請求項7】
前記第1ネットワークデバイスが前記第2ネットワークデバイスの前記セグメント識別子の前記フォーマットを前記第1パケットに基づいて取得する前記段階は、前記第1ネットワークデバイスが前記第2ネットワークデバイスの前記SRv6セグメント識別子内にあるロケータフィールドの長さ及び前記第2ネットワークデバイスの前記SRv6セグメント識別子内にある機能フィールドの長さを前記第1パケットに基づいて取得する段階を含む、請求項1又は2に記載の方法。
【請求項8】
前記第1ネットワークデバイスが前記第2ネットワークデバイスの前記セグメント識別子の前記フォーマットを前記第1パケットに基づいて取得する前記段階は、前記第1ネットワークデバイスが前記第2ネットワークデバイスの前記SRv6セグメント識別子内にあるロケータフィールドの長さ、前記第2ネットワークデバイスの前記SRv6セグメント識別子内にある機能フィールドの長さ及び前記第2ネットワークデバイスの前記SRv6セグメント識別子内にある1または複数の値を示す第1フィールドの長さを前記第1パケットに基づいて取得する段階を含む、請求項1又は2に記載の方法。
【請求項9】
前記第1パケットは前記第2ネットワークデバイスにより送信される、請求項1に記載の方法。
【請求項10】
前記第2ネットワークデバイスの前記SRv6セグメント識別子内にある前記フィールドの前記長さは、ビット数又はバイト数である、請求項1から9のいずれか一項に記載の方法。
【請求項11】
パケット処理方法であって、
第2ネットワークデバイスが前記第2ネットワークデバイスのセグメント識別子のフォーマットを決定する段階であって、前記第2ネットワークデバイスの前記セグメント識別子の前記フォーマットは前記第2ネットワークデバイスのインターネットプロトコルバージョン6を用いたセグメントルーティング(SRv6)セグメント識別子内にあるフィールドの長さを示す、決定する段階と、
前記第2ネットワークデバイスが第1ネットワークデバイスに第1パケットを送信する段階であって、前記第1パケットは前記第2ネットワークデバイスの前記セグメント識別子の前記フォーマットを示し、前記セグメント識別子の前記フォーマットは、前記第1ネットワークデバイスが前記第2ネットワークデバイスの前記セグメント識別子の前記フォーマットを取得するのに用いられる、送信する段階と
を備えるパケット処理方法。
【請求項12】
パケット処理方法であって、
第2ネットワークデバイスが前記第2ネットワークデバイスのセグメント識別子のフォーマットを決定する段階であって、前記第2ネットワークデバイスの前記セグメント識別子の前記フォーマットは前記第2ネットワークデバイスのインターネットプロトコルバージョン6を用いたセグメントルーティング(SRv6)セグメント識別子内にあるフィールドの長さを示す、決定する段階と、
前記第2ネットワークデバイスが第1ネットワークデバイスに第1パケットを送信する段階であって、前記第1パケットは前記第2ネットワークデバイスの前記セグメント識別子の前記フォーマットを示す、送信する段階と、
前記第1ネットワークデバイスが前記第1パケットを受信する段階と、
前記第1ネットワークデバイスが、前記第2ネットワークデバイスの前記セグメント識別子の前記フォーマットを前記第1パケットに基づいて取得する段階と
を備えるパケット処理方法。
【請求項13】
請求項1から11のいずれか一項に記載の方法を行うように構成される、ネットワークデバイス。
【請求項14】
ネットワークシステムであって、
請求項1から10のいずれか一項に記載の方法を実現するように構成された、第1ネットワークデバイスと、
請求項11に記載の方法を実現するように構成された、第2ネットワークデバイスと
を備えるネットワークシステム。
【請求項15】
請求項1から11のいずれか一項に記載の方法をコンピューティングデバイスに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2018年10月27日に中国国家知識産権局に出願した「パケット処理方法、関連デバイス、及びコンピュータ記憶媒体(PACKET PROCESSING METHOD, RELATED DEVICE, AND COMPUTER STORAGE MEDIUM)」と題する中国特許出願第201811262866.4号に基づく優先権を主張し、当該中国特許出願はその全体が参照により本明細書に組み込まれる。
【0002】
本発明は通信技術の分野に関し、具体的には、パケット処理方法、関連デバイス、及びコンピュータ記憶媒体に関する。
【背景技術】
【0003】
セグメントルーティング(segment routing、SR)がインターネットプロトコルバージョン6(internet protocol version 6、IPv6)で利用される場合、セグメントルーティングはSRv6と呼ばれる。SRv6は、IPv6に基づいてセグメントルーティングヘッダ(segment routing header、SRH)を拡張し、データ通信を行う。SRHには、一連のネットワークノードのセグメント識別子(segment identifier、SID)が含まれる。実際の通信プロセスでは、SIDのフォーマットがSRv6ネットワークに対して明示的に通知されないことが分かる。これは、ネットワークノードのネットワークプログラミング能力に影響を与える。例えば、ネットワークノードはSIDのフォーマットを認識できず、対応する機能情報を搬送するために、SIDのフォーマット内の関連フィールドを実際のサービス要件に基づいて修正できない。したがって、これにより、ネットワークノードのネットワークプログラミング能力が低下する。
【発明の概要】
【0004】
本発明の実施形態が、従来技術の課題(例えば、低いネットワークプログラミング能力)を解決するために、パケット処理方法、関連デバイス、及びコンピュータ記憶媒体を開示する。
【0005】
第1態様によれば、本発明の一実施形態が、パケット処理システムの第1ネットワークノード側に適用されるパケット処理方法を開示する。本方法は、第1ネットワークノードが第2ネットワークノードにより送信される第1パケットを受信する段階であって、第1パケットは第2ネットワークノードのセグメント識別子のフォーマットを含む、受信する段階と、第1ネットワークノードが第1パケットに基づいて第2ネットワークノードのセグメント識別子のフォーマットを取得する段階であって、第2ネットワークノードのセグメント識別子はロケータフィールド、機能フィールド、及び第1フィールドを含む、取得する段階と、第1ネットワークノードが第2ネットワークノードのセグメント識別子内にある第1フィールドの値をセグメントルーティングポリシーに従って決定し、第2ネットワークノードに送信される第2パケットに第1フィールドの決定した値を追加する段階であって、第1フィールドの決定した値は、第2パケットを処理するよう第2ネットワークノードに指示するのに用いられる、追加する段階とを含む。
【0006】
いくつかの実行可能な実施形態において、第2ネットワークノードのセグメント識別子のフォーマットには、第2ネットワークノードのセグメント識別子内にある各フィールドの位置及び長さが示されてよいが、第2ネットワークノードのセグメント識別子内にある各フィールドの値は示されていない。言い換えれば、第1フィールドの値は、第2ネットワークノードのセグメント識別子のフォーマットには示されていない。必要に応じて、第2ネットワークノードのセグメント識別子のフォーマットは、第2ネットワークノードのセグメント識別子内にある各フィールドの値、例えば、第1フィールドの値も示してよい。第1フィールドの値は1つ又は複数あってよい。第1フィールドの値が1つある場合、第1フィールドの値は特定値とも呼ばれることがある。この特定値は具体的には、システムで定義される初期設定値(例えば、0)であってもよく、初期設定値とは異なるただ1つの第1フィールドの値であってもよいといったものである。
【0007】
いくつかの実行可能な実施形態において、第1ネットワークノードは第2ネットワークノードにより送信される第2ネットワークノードのセグメント識別子を受信してよく、第2ネットワークノードのセグメント識別子は第1フィールドの値を含む。第1フィールドの値は1つ又は複数あってよい。第2ネットワークノードによりサポートされる、第1フィールドの値が複数ある場合、第2ネットワークノードの対応するセグメント識別子が複数あり、それぞれの第2ネットワークノードのセグメント識別子は第1フィールドの値を1つ含む。
【0008】
いくつかの実行可能な実施形態において、第1ネットワークノードは、第2ネットワークノードのセグメント識別子と第2ネットワークノードのセグメント識別子のフォーマットとに基づいて、第2ネットワークノードのセグメント識別子内にある第1フィールドによりサポートされる値を取得してよい。第1フィールドの値は1つ又は複数あってよい。具体的には、第2ネットワークノードは、第2ネットワークノードのセグメント識別子のフォーマットにおいて、第1フィールドによりサポートされる1つ又は複数の値を示してよい。第2ネットワークノードのセグメント識別子が通知される場合、第2ネットワークノードのセグメント識別子に含まれる第1フィールドの値は特定値、例えば初期設定値であってよい。あるいは、第2ネットワークノードは、第2ネットワークノードのセグメント識別子を用いて、第2ネットワークノードによりサポートされる第1フィールドの値を通知してよい。第1フィールドの値が複数ある場合、第2ネットワークノードは第2ネットワークノードの複数のセグメント識別子を通知してよく、これに対応して1つのセグメント識別子は第1フィールドの値を1つ搬送する。この場合、第2ネットワークノードにより通知される第2ネットワークノードのセグメント識別子のフォーマットには、第2ネットワークノードのセグメント識別子内にある第1フィールドによりサポートされる値が示されていなくてもよいといったことになる。
【0009】
必要に応じて、情報伝達のセキュリティ及び信頼性を確保するために、第2ネットワークノードは、第2ネットワークノードのセグメント識別子と第2ネットワークノードのセグメント識別子のフォーマットとを用いて、第2ネットワークノードによりサポートされる第1フィールドの値を通知してよい。言い換えれば、第2ネットワークノードにより通知される第2ネットワークノードのセグメント識別子のフォーマットは、第2ネットワークノードのセグメント識別子内にある第1フィールドによりサポートされる1つ又は複数の値を示している。それ以外に、第2ネットワークノードはさらに、第2ネットワークノードのセグメント識別子を通知する場合、第2ネットワークノードのセグメント識別子に第1フィールドの値を追加して、セグメント識別子を再度通知してよい。同様に、第1フィールドの値が複数ある場合、第2ネットワークノードは第2ネットワークノードの複数のセグメント識別子を通知し、これに対応して第2ネットワークノードの複数のセグメント識別子で搬送される第1フィールドの複数の値を通知してよい。1つの第2ネットワークノードのセグメント識別子は、1つの第1フィールドの値を含む、又はこれを搬送する。
【0010】
いくつかの実行可能な実施形態において、第2ネットワークノードのセグメント識別子に含まれる第1フィールドの値が特定値である場合、第1ネットワークノードは、セグメントルーティングポリシーに従って第1フィールドの値を修正し、修正した値を第1フィールドの決定した値として用いる。
【0011】
あるいは、第2ネットワークノードのセグメント識別子が第1フィールドの値を含み、且つ第1フィールドの値が複数ある場合、第1ネットワークノードは、セグメントルーティングポリシーに従って、セグメントルーティングポリシーに適合する値を第1フィールドの複数の値から選択し、その値を第1フィールドの決定した値として用いる。
【0012】
いくつかの実行可能な実施形態において、第1フィールドはフラグフィールドを含み、このフィールドはネットワーク性能パラメータの種類を示すのに用いられる。フラグフィールドの値はさらに、ネットワーク性能パラメータの種類に対応するネットワーク性能パラメータを第2パケットに追加するよう第2ネットワークノードに指示するのに用いられる。
【0013】
いくつかの実行可能な実施形態において、第2ネットワークノードがセグメントルーティングをインターネットプロトコルバージョン6(SRv6)でサポートする場合、フラグフィールドの値は具体的には、第2ネットワークノードのネットワーク性能パラメータの種類に対応するネットワーク性能パラメータを第2パケットに追加するよう、例えば、ネットワーク性能パラメータを第2ネットワークノードのセグメント識別子又は第3ネットワークノードのセグメント識別子に追加するよう第2ネットワークノードに指示するのに用いられる。第3ネットワークノードは、パケット転送経路上にある第2ネットワークノードのネクストホップノードである。必要に応じて、ネットワーク性能パラメータはさらに、第2パケットの別のフィールド、例えばTLVフィールドに追加されてよい。
【0014】
いくつかの実行可能な実施形態において、第2ネットワークノードがインターネットプロトコルバージョン6(IPv6)をサポートする場合、フラグフィールドの値は具体的には、ネットワーク性能パラメータの種類に対応するネットワーク性能パラメータを第2パケット内の(第2ネットワークノードのセグメント識別子以外の)フィールドに追加するよう、例えば、ネットワーク性能パラメータをTLVフィールド又は非ネットワークノードのフィールド識別子の別のフィールドに追加するよう第2ネットワークノードに指示するのに用いられる。
【0015】
いくつかの実行可能な実施形態において、ネットワーク性能パラメータは、第2ネットワークノードが第2パケットを送信する時点、第2ネットワークノードが第2パケットを送信する前に受信するサービスパケットの数(サービスパケット及び第2パケットは同じデータフローに属している)、第2ネットワークノードのパケット送信キューのキュー長(パケット送信キューは第2パケットが格納されているキューである)、及び第2ネットワークノードが第2パケットを伝送するのに用いられる通信インタフェースのうちの少なくとも1つを含む。
【0016】
いくつかの実行可能な実施形態において、第1フィールドはネットワークスライスフィールドを含む。ネットワークスライスフィールドの値はネットワークスライス識別子を示すのに用いられ、ネットワークスライスフィールドの値はさらに、ネットワークスライス識別子に基づいて第2パケットを処理するよう第2ネットワークノードに指示するのに用いられる。ネットワークスライス識別子は、第2パケットを伝送するときに用いられるネットワークスライスを識別するのに用いられる。
【0017】
いくつかの実行可能な実施形態において、第1フィールドは、第2ネットワークノードのセグメント識別子のフォーマットの中で56番目のビットから63番目のビットまでを占有し、ロケータフィールドは、第2ネットワークノードのセグメント識別子のフォーマットの中で最初のビットから55番目のビットまでを占有し、機能フィールドは第2ネットワークノードのセグメント識別子のフォーマットの中で64番目のビットから128番目のビットまでを占有する。
【0018】
いくつかの実行可能な実施形態において、第1フィールドの数が限定されることはない。複数の第1フィールドがある場合、複数の第1フィールドのうちの1つの第1フィールドがフラグフィールドであり、複数の第1フィールドのうちの別の第1フィールドがネットワークスライスフィールドである。フラグフィールドの値は、ネットワーク性能パラメータの種類を示すのに用いられ、さらに、ネットワーク性能パラメータの種類に対応するネットワーク性能パラメータを第2パケットに追加するよう第2ネットワークノードに指示するのに用いられる。ネットワークスライスフィールドの値はネットワークスライス識別子を示すのに用いられ、さらに、ネットワークスライス識別子に基づいて第2パケットを処理するよう第2ネットワークノードに指示するのに用いられる。ネットワークスライス識別子は、第2パケットを伝送するときに用いられるネットワークスライスを識別するのに用いられる。
【0019】
第2態様によれば、本発明の一実施形態が、パケット処理システムの第2ネットワークノード側に適用される別のパケット処理方法を提供する。本方法は、第2ネットワークノードが第2ネットワークノードのセグメント識別子のフォーマットを決定する段階であって、第2ネットワークノードのセグメント識別子は第1フィールドを含む、決定する段階と、第2ネットワークノードが第1パケットを第1ネットワークノードに送信する段階であって、第1パケットが第2ネットワークノードのセグメント識別子のフォーマットを含むので、第1ネットワークノードは第2ネットワークノードのセグメント識別子内にある第1フィールドの値をセグメントルーティングポリシーに従って決定し、第1フィールドの決定した値を第2ネットワークノードに送信される第2パケットに追加する、送信する段階とを含む。
【0020】
いくつかの実行可能な実施形態において、第2ネットワークノードのセグメント識別子に含まれる第1フィールドの値が特定値である場合、第1フィールドの決定した値は、第1ネットワークノードが第2ネットワークノードのセグメント識別子のフォーマット内の第1フィールドの値をセグメントルーティングポリシーに従って修正することにより取得される。あるいは、第2ネットワークノードのセグメント識別子のフォーマットが第1フィールドの値を含み、且つ第1フィールドの値が複数ある場合、第1フィールドの決定した値は、セグメントルーティングポリシーに適合し且つセグメントルーティングポリシーに従って第1フィールドの複数の値から第1ネットワークノードにより選択される値である。
【0021】
いくつかの実行可能な実施形態において、第1フィールドはフラグフィールドを含み、フラグフィールドの値がネットワーク性能パラメータの種類を示すのに用いられる。フラグフィールドの値はさらに、ネットワーク性能パラメータの種類に対応するネットワーク性能パラメータを第2パケットに追加するよう第2ネットワークノードに指示するのに用いられる。
【0022】
いくつかの実行可能な実施形態において、第1フィールドはネットワークスライスフィールドを含み、ネットワークスライスフィールドの値がネットワークスライス識別子を示すのに用いられる。ネットワークスライスフィールドの値はさらに、第2パケットをネットワークスライス識別子に基づいて処理するよう第2ネットワークノードに指示するのに用いられ、ネットワークスライス識別子は、第2パケットを伝送するときに用いられるネットワークスライスを識別するのに用いられる。
【0023】
第3態様によれば、本発明の一実施形態が、第1ネットワークノード及び第2ネットワークノードを含むパケット処理システムに適用される別のパケット処理方法を提供する。本方法は、第2ネットワークノードが第1ネットワークノードに第1パケットを送信する段階であって、第1パケットは第2ネットワークノードのセグメント識別子のフォーマットを含み、このフォーマットは第2ネットワークノードのセグメント識別子内にある各フィールドの長さ及び位置を示すのに用いられ、第2ネットワークノードのセグメント識別子はネットワークスライスフィールドを含む、送信する段階と、第2ネットワークノードが第1ネットワークノードにより送信される第2パケットを受信する段階であって、第2パケットは第2ネットワークノードのセグメント識別子を含み、第2ネットワークノードのセグメント識別子はネットワークスライスフィールドの値を含み、ネットワークスライスフィールドの値はセグメントルーティングポリシーに従って第1ネットワークノードにより決定される、受信する段階と、第2ネットワークノードがネットワークスライスフィールドの値に基づいて第2パケットを処理する段階とを含む。
【0024】
いくつかの実行可能な実施形態において、ネットワークスライスフィールドの値はネットワークスライス識別子を示すのに用いられ、第2ネットワークノードは、ネットワークスライス識別子に対応するネットワークスライスにより提供されるネットワークサービスに基づいて第2パケットを処理する。
【0025】
いくつかの実行可能な実施形態において、ネットワークスライス識別子は、第2パケット内の第2ネットワークノードのセグメント識別子内にあるネットワークスライスフィールドで搬送される。
【0026】
第4態様によれば、本発明の一実施形態が、第1ネットワークノード及び第2ネットワークノードを含むパケット処理システムに適用される別のパケット処理方法を提供する。本方法は、第2ネットワークノードが第1ネットワークノードに第1パケットを送信する段階であって、第1パケットは第2ネットワークノードのセグメント識別子のフォーマットを含み、このフォーマットは第2ネットワークノードのセグメント識別子内にある各フィールドの長さ及び位置を示すのに用いられ、第2ネットワークノードのセグメント識別子はフラグフィールドを含む、送信する段階と、第2ネットワークノードが第1ネットワークノードにより送信される第2パケットを受信する段階であって、第2パケットはフラグフィールドの値を含み、この値はネットワーク性能パラメータの種類を示すのに用いられ、フラグフィールドの値は、セグメントルーティングポリシーと第2ネットワークノードのセグメント識別子のフォーマットとに基づいて第1ネットワークノードにより決定される、受信する段階と、第2ネットワークノードが第2ネットワークノードのネットワーク性能パラメータを第2パケットに追加する段階であって、ネットワーク性能パラメータはネットワーク性能パラメータの種類に対応するネットワーク性能パラメータである、追加する段階とを含む。
【0027】
いくつかの実行可能な実施形態において、第2ネットワークノードがセグメントルーティングをインターネットプロトコルバージョン6(SRv6)でサポートする場合、第2ネットワークノードは、第2ネットワークノードのネットワーク性能パラメータを第2パケット内の第2ネットワークノードのセグメント識別子に追加する。
【0028】
いくつかの実行可能な実施形態において、第2ネットワークノードがインターネットプロトコルバージョン6(IPv6)をサポートする場合、第2ネットワークノードは、第2ネットワークノードのネットワーク性能パラメータを、第2ネットワークノードのセグメント識別子以外の、第2パケット内のバイトに追加する。
【0029】
いくつかの実行可能な実施形態において、ネットワーク性能パラメータの種類は、第2パケット内の第2ネットワークノードのセグメント識別子内にあるフラグフィールドで搬送される。
【0030】
いくつかの実行可能な実施形態において、ネットワーク性能パラメータは、第2ネットワークノードが第2パケットを送信する時点、第2ネットワークノードが第2パケットを送信する前に受信するサービスパケットの数(サービスパケット及び第2パケットは同じデータフローに属している)、第2ネットワークノードのパケット送信キューのキュー長(パケット送信キューは第2パケットが格納されているキューである)、及び第2ネットワークノードが第2パケットを伝送するのに用いられる通信インタフェースのうちの少なくとも1つを含む。
【0031】
第5態様によれば、本発明の一実施形態が、パケット処理システムに適用される第1ネットワークデバイスを提供する。第1ネットワークデバイスは、通信モジュールと処理モジュールとを含む。
【0032】
通信モジュールは、第2ネットワークノードにより送信される第1パケットを受信するように構成される。第1パケットは第2ネットワークノードのセグメント識別子のフォーマットを含み、第2ネットワークノードのセグメント識別子のフォーマットは、第2ネットワークノードのセグメント識別子内にある各フィールドの長さ及び位置を示すのに用いられる。
【0033】
処理モジュールは、第1パケットに基づいて、第2ネットワークノードのセグメント識別子のフォーマットを取得するように構成される。第2ネットワークノードのセグメント識別子は第1フィールドを含む。
【0034】
処理モジュールはさらに、第2ネットワークノードのセグメント識別子内にある第1フィールドの値を、セグメントルーティングポリシーと第2ネットワークノードのセグメント識別子のフォーマットとに従って決定し、第1フィールドの決定した値を第2ネットワークノードにより送信される第2パケットに追加するように構成される。第1フィールドの決定した値は、第2パケットを処理するよう第2ネットワークノードに指示するのに用いられる。
【0035】
本発明のこの実施形態に記載されていない又は示されていない内容については、第1態様の実施形態の関連説明を適宜参照されたい。詳細は、再度ここで説明しない。
【0036】
第6態様によれば、本発明の一実施形態が、パケット処理システムに適用される第2ネットワークデバイスを提供する。第2ネットワークデバイスは、通信モジュールと処理モジュールとを含む。
【0037】
処理モジュールは、第2ネットワークノードのセグメント識別子のフォーマットを決定するように構成される。第2ネットワークノードのセグメント識別子のフォーマットは、第2ネットワークノードのセグメント識別子内にある各フィールドの長さ及び位置を示すのに用いられ、第2ネットワークノードのセグメント識別子は第1フィールドを含む。
【0038】
通信モジュールは、第1パケットを第1ネットワークノードに送信するように構成される。第1パケットは第2ネットワークノードのセグメント識別子のフォーマットを含み、セグメント識別子のフォーマットは、第1ネットワークノードが第2ネットワークノードのセグメント識別子内にある第1フィールドの値をセグメントルーティングポリシーに従って決定し、第1フィールドの決定した値を第2ネットワークノードに送信される第2パケットに追加するのに用いられる。
【0039】
本発明に示されていない又は記載されていない内容については、第2態様の実施形態の関連説明を適宜参照されたい。詳細は、再度ここで説明しない。
【0040】
第7態様によれば、本発明の一実施形態が、パケット処理システムに適用される別の第2ネットワークデバイスを提供する。第2ネットワークデバイスは、通信モジュールと処理モジュールとを含む。
【0041】
通信モジュールは、第1ネットワークノードの第1パケットを送信するように構成される。第1パケットは第2ネットワークノードのセグメント識別子のフォーマットを含み、第2ネットワークノードのセグメント識別子のフォーマットは、第2ネットワークノードのセグメント識別子内にある各フィールドの長さ及び位置を示すのに用いられ、第2ネットワークノードのセグメント識別子はネットワークスライスフィールドを含む。
【0042】
通信モジュールはさらに、第1ネットワークノードにより送信される第2パケットを受信するように構成される。第2パケットは第2ネットワークノードのセグメント識別子を含み、第2ネットワークノードのセグメント識別子はネットワークスライスフィールドの値を含み、ネットワークスライスフィールドの値は、第1ネットワークノードによりセグメントルーティングポリシーに従って決定される。
【0043】
処理モジュールは、ネットワークスライスフィールドの値に基づいて第2パケットを処理するように構成される。
【0044】
本発明に示されていない又は記載されていない内容については、第3態様の実施形態の関連説明を参照されたい。詳細は、再度ここで説明しない。
【0045】
第8態様によれば、本発明の一実施形態が、通信モジュール及び処理モジュールを含むパケット処理システムに適用される別の第2ネットワークデバイスを提供する。
【0046】
通信モジュールは、第1ネットワークノードに第1パケットを送信するように構成される。第1パケットは第2ネットワークノードのセグメント識別子のフォーマットを含み、第2ネットワークノードのセグメント識別子のフォーマットは、第2ネットワークノードのセグメント識別子内にある各フィールドの長さ及び位置を示すのに用いられ、第2ネットワークノードのセグメント識別子はフラグフィールドを含む。
【0047】
通信モジュールはさらに、第1ネットワークノードにより送信される第2パケットを受信するように構成される。第2パケットはフラグフィールドの値を含み、フラグフィールドの値は、セグメントルーティングポリシーに従って第1ネットワークノードにより決定され、フラグフィールドの値はネットワーク性能パラメータの種類を示すのに用いられる。
【0048】
処理モジュールは、第2ネットワークノードのネットワーク性能パラメータを第2パケットに追加するように構成される。ネットワーク性能パラメータは、ネットワーク性能パラメータの種類に対応するネットワーク性能パラメータである。
【0049】
本発明に示されていない又は記載されていない内容については、第4態様の実施形態の関連説明を参照されたい。詳細は、再度ここで説明しない。
【0050】
第9態様によれば、本発明の一実施形態が、パケット処理システムに適用されるネットワークデバイスを提供する。ネットワークデバイスは具体的には、プロセッサとメモリとを含む第1ネットワークデバイスであってよい。メモリは命令を格納するように構成される。プロセッサは、メモリ内の命令を呼び出し、第1態様又は第1態様の実行可能な実装形態のうちのいずれか1つで説明した方法を実行するように構成される。必要に応じて、第1ネットワークデバイスはさらに、通信インタフェースとバスとを含んでよい。プロセッサ、通信インタフェース、及びメモリは、バスを用いて互いに通信する。通信インタフェースは、データの受信及び送信を行うように構成される。
【0051】
第10態様によれば、本発明の一実施形態が、パケット処理システムに適用されるネットワークデバイスを提供する。ネットワークデバイスは具体的には、第2ネットワークデバイスであってよく、プロセッサとメモリとを含む。メモリは命令を格納するように構成される。プロセッサは、メモリ内の命令を呼び出し、第2態様から第4態様のうちのいずれか1つ及びその態様の実行可能な実装形態で説明した方法を実行するように構成される。必要に応じて、第2ネットワークデバイスはさらに、通信インタフェースとバスとを含んでよい。プロセッサ、通信インタフェース、及びメモリは、バスを用いて互いに通信する。通信インタフェースは、データの受信及び送信を行うように構成される。
【0052】
第11態様によれば、本発明の一実施形態がパケット処理システムを提供する。本システムは、第1ネットワークノードと第2ネットワークノードとを含む。第1ネットワークノードは、第1態様及び第1態様の任意の実行可能な実装形態で説明した方法の段階を実行するように構成される。第2ネットワークノードは、第2態様から第4態様のうちのいずれか1つ及び第2態様から第4態様のうちのいずれか1つの任意の実行可能な実装形態で説明した方法の段階を実行するように構成される。例えば、第2ネットワークノードは第1ネットワークノードに第1パケットを送信するように構成され、第1パケットは第2ネットワークノードのフォーマットを含み、このフォーマットは、第2ネットワークノードのセグメント識別子内にある各フィールドの長さ及び位置を示すのに用いられ、第1ネットワークノードは第1パケットを受信し、第1パケットに基づいて第2ネットワークノードのセグメント識別子のフォーマットを取得するように構成され、第2ネットワークノードのセグメント識別子は第1フィールドを含む。第1ネットワークノードはさらに、第2ネットワークノードのセグメント識別子内にある第1フィールドの値を、セグメントルーティングポリシーと第2ネットワークノードのセグメント識別子のフォーマットとに基づいて決定し、第1フィールドの決定した値を第2ネットワークノードに送信される第2パケットに追加するように構成される。
【0053】
第1パケットは具体的には、制御プレーンで伝送される制御パケット、例えば、IGPパケット又はICMPパケットであってよい。第2パケットは、データプレーンで伝送されるデータパケットである。
【0054】
本発明のこの実施形態で示されていない又は記載されていない部分については、前述の方法の実施形態の関連説明を参照されたい。詳細は、再度ここで説明しない。
【0055】
第12態様によれば、コンピュータ非一時的(non-transitory)記憶媒体が提供される。コンピュータ非一時的記憶媒体は、パケット処理に用いられるプログラムコードを格納する。プログラムコードは、第1態様又は第1態様の実行可能な実装形態のうちのいずれか1つにおける方法を実行するのに用いられる命令を含む。
【0056】
第13態様によれば、コンピュータ非一時的(non-transitory)記憶媒体が提供される。コンピュータ非一時的記憶媒体は、パケット処理に用いられるプログラムコードを格納する。プログラムコードは、第2態様から第4態様のうちのいずれか1つで説明した方法を実行するのに用いられる命令を含む。
【0057】
第14態様によれば、第1態様又は第1態様の実行可能な実装形態のうちのいずれか1つの方法を実行するためのチップ製品が提供される。
【0058】
第15態様によれば、第2態様から第4態様のうちのいずれか1つ又は第2態様から第4態様のうちのいずれか1つの任意の実行可能な実装形態における方法を実行するためのチップ製品が提供される。
【0059】
前述の態様で提供された各実装形態に基づいて、本発明では、これらの実装形態がさらに、より多くの実装形態を提供するように組み合わされてよい。
【図面の簡単な説明】
【0060】
本発明の実施形態又は従来技術における技術的解決手段をより明確に説明するために、以下では、これらの実施形態又は従来技術を説明するための添付図面を簡単に説明する。
【0061】
図1】本発明の一実施形態によるセグメントルーティングヘッダのフォーマットの概略図である。
【0062】
図2】本発明の一実施形態によるセグメント識別子のフォーマットの概略図である。
【0063】
図3A】本発明の一実施形態によるセグメント識別子内にある複数のフィールドのフォーマットに関する概略図である。
図3B】本発明の一実施形態によるセグメント識別子内にある複数のフィールドのフォーマットに関する概略図である。
図3C】本発明の一実施形態によるセグメント識別子内にある複数のフィールドのフォーマットに関する概略図である。
図3D】本発明の一実施形態によるセグメント識別子内にある複数のフィールドのフォーマットに関する概略図である。
【0064】
図4A】本発明の一実施形態による応用シナリオの概略図である。
図4B】本発明の一実施形態による別の応用シナリオの概略図である。
【0065】
図5】本発明の一実施形態によるパケット処理方法の概略フローチャートである。
【0066】
図6A】本発明の一実施形態による別のパケット処理方法の概略フローチャートである。
図6B】本発明の一実施形態による別のパケット処理方法の概略フローチャートである。
【0067】
図7A】本発明の一実施形態によるパケット伝送シナリオの概略図である。
図7B】本発明の一実施形態によるパケット伝送シナリオの概略図である。
図7C】本発明の一実施形態によるパケット伝送シナリオの概略図である。
【0068】
図8A】本発明の一実施形態による別のパケット処理方法の概略フローチャートである。
図8B】本発明の一実施形態による別のパケット処理方法の概略フローチャートである。
【0069】
図9A】本発明の一実施形態による他のパケット伝送シナリオの概略図である。
図9B】本発明の一実施形態による他のパケット伝送シナリオの概略図である。
図9C】本発明の一実施形態による他のパケット伝送シナリオの概略図である。
【0070】
図10】本発明の一実施形態によるパケット処理システムの概略構造図である。
図11】本発明の一実施形態によるパケット処理システムの概略構造図である。
【発明を実施するための形態】
【0071】
以下では、添付図面を参照して、本発明の実施形態を説明する。
【0072】
以下では、本願の実施形態に用いられる技術概念又は専門用語をいくつか説明する。
【0073】
(1)セグメントルーティングヘッダSRH
【0074】
図1は、SRHのフォーマットの概略図である。図1に示すように、SRHは、次のヘッダフィールド、ヘッダ長フィールド、ルーティングタイプフィールド、残りのセグメントフィールド、最終エントリフィールド、フラグフィールド、タグフィールド、及びセグメントリストフィールドを含む。
【0075】
次のヘッダ(next header)フィールドは8ビットを占有し、次のヘッダの種類を識別するのに用いられる。
【0076】
拡張ヘッダ長(Hdr Ext Len)フィールドは8ビットを占有し、8バイト単位でSRHの長さを示している。
【0077】
ルーティングタイプ(Routing Type)フィールドは8ビットを占有し、搬送される情報が送信元のルーティング情報であることを示している。
【0078】
残りのセグメント(Segments Left)フィールドは8ビットを占有し、表示される次のセグメント識別子SIDの番号を識別する。残りのセグメントフィールドの初期値は[nー1]である。ここで、nはSRH内のセグメント識別子の数、言い換えれば、SRHの転送経路上のネットワークノードの数を表している。SRHがネットワークノードを通過するたびに、残りのセグメントフィールドの値は、その値が0になるまで1つずつ減少する。残りのセグメントフィールドの値が0である場合、これは、SRHが転送経路上の最終ホップノードに送られたことを示している。
【0079】
最終エントリ(Last Entry)フィールドは8ビットを占有し、SRHの転送経路上の最終ネットワークノードのセグメント識別子SIDの番号を示しており、その番号は0である。
【0080】
フラグ(Flags)フィールドは8ビットを占有し、フラグ情報を示している。
【0081】
タグ(Tag)フィールドは16ビットを占有し、同じ属性を有する一群のパケット(又はSRH)をマークするのに用いられる。
【0082】
セグメントリスト(segment list[0]~segment list[n])フィールドは、パケット転送経路上のネットワークノードが距離の降順で配置されていることを示している。segment list[0]は、パケット転送経路上の最終ネットワークノードのセグメント識別子(segment identifier、SID)である。segment list[1]は、パケット転送経路上の最後から2番目のネットワークノードのセグメント識別子であり、その他は類推によって推定され得る。segment listは、セグメントリストを示している。
【0083】
必要に応じて、SRHはさらにオプションを含んでよく、任意的な種類・長さ・値オブジェクト(optional type length value objects)とも呼ばれることがある。このオプションは、自己定義方式でシステムにより設定されてよく、オプションで示される意味が、実際のサービス要件に基づいて定義されてよい。これについては、本発明で限定されることはない。
【0084】
(2)セグメント識別子SID
【0085】
SRv6ネットワーク上のパケット転送プロセスでは、SRv6ネットワークの入口デバイスがセグメントルーティングヘッダ(SRH)をパケットに追加し、SRHは転送経路を識別するのに用いられるセグメントリストを含む。セグメントリストは、パケット転送経路上でSRv6機能をサポートするネットワークノードのセグメント識別子(segment identifier、SID)を含む。セグメント識別子は、128ビットのIPv6アドレスである。したがって、ネットワークノードのセグメント識別子は、ネットワークノードのIPv6アドレスとも呼ばれることがある。
【0086】
SRv6ネットワーク上でパケットを転送する入口デバイスは、入口ノード(ingress node)又は入口プロバイダエッジ(provider edge、PE)デバイスとも呼ばれることがある。セグメントリストは、segment list又はSID listとも呼ばれることがある。
【0087】
本発明において、SIDは、別のシステムにより定義されるロケータ(locator)フィールド、機能(function)フィールド、及び第1フィールド(自己定義フィールドとも呼ばれることがある)を含む。SID内のロケータフィールド、機能フィールド、及び第1フィールドの位置、並びにロケータフィールド、機能フィールド、及び第1フィールドのそれぞれにより占有されるバイト数が、本発明において限定されることはない。第1フィールドの数も限定されることはない。例えば、SIDはn個の第1フィールドを含んでよく、nは正の整数である。SIDが1つの第1フィールドを含む一例が、以下で用いられる。図2は、SIDの実行可能なフォーマットの概略図である。図2に示すように、SIDはロケータフィールド、機能フィールド、及び第1フィールドを含む。
【0088】
ロケータフィールドは、0~55ビットを占有し、パケット転送及びルーティング用のIPv6アドレスのプレフィックスを格納するのに用いられる。ロケータフィールドは、ネットワークノードの識別にも用いることができる。例えば、転送ノードは、SIDに含まれるロケータフィールドに基づいて、SIDに対応するネットワークノードにパケットを転送してよい。
【0089】
第1フィールドは56~63ビットを占有する。異なる応用シナリオにおいて、第1フィールドは異なる意味を示してよい。具体的には、第1フィールドで示される意味は、ネットワークノードに対応するマネージャ(又は管理ノード)により、実際のサービスシナリオに従って又はサービス要件に基づいて構成されてもよい。これについては、本発明で限定されることはない。
【0090】
例えば、ネットワークスライシングシナリオにおいて、第1フィールドは、ネットワークスライスフィールドとして構成されてよく、サービス通信用のネットワークスライス識別子を搬送するのに用いられる。このようにして、パケット伝送時に、ネットワークノードは、第1フィールドのネットワークスライス識別子により示されるネットワークスライスに基づいてパケットを処理する。例えば、ネットワークノードは、ネットワークスライスにより提供されるネットワークサービスに基づいてパケットを転送する。ネットワークサービスは、限定されることはないが、伝送遅延、伝送速度、伝送帯域幅、ネットワークスループットレート、ネットワークスループット、又は特定のサービス品質(quality of service、QoS)指標を保証するのに用いられる別のネットワークサービスを含む。
【0091】
ネットワーク性能測定シナリオにおいて、第1フィールドは、フラグフィールドとして構成されてよく、ネットワーク性能パラメータの種類を搬送するのに用いられる。このようにして、ネットワークノードは、パケット伝送時に、ネットワーク性能パラメータの種類に対応する、ネットワークノードのネットワーク性能パラメータをパケットに追加して、ネットワーク性能パラメータが追加されたパケットを別のネットワークノードに送信する。これに対応して、別のネットワークノードは、受信したネットワーク性能パラメータに基づいて、対応するネットワーク性能計算を行ってよい。詳細については、本願の一例を用いて以下に説明する。
【0092】
機能フィールドは、64~127ビットを占有し、対応する機能(例えば、ネットワーク性能計算又はパケット転送)を実行するよう、SIDに対応するネットワークノードに指示するのに用いられる。詳細については、本願では以下に説明する。例えば、ネットワークノードがパケットを受信し、パケットの宛先アドレスがネットワークノードのIPv6アドレスとして、言い換えれば、ネットワークノードのセグメント識別子として決定されると、ネットワークノードは、セグメント識別子内にあるfunctionに基づいて対応する機能を実行する。
【0093】
図3A図3Dは、本願の一実施形態によるSID内の関連フィールドの具体的なフォーマットに関する概略図である。図3Aは、ロケータフィールドの実行可能なフォーマットの概略図である。図3Aに示すように、ロケータフィールドは、種類(type)サブフィールド、第1の長さ(length)サブフィールド、オフセット(offset)サブフィールド、第2の長さ(length)サブフィールド、及び可変ロケータ(variable locator)サブフィールドを含む。ロケータフィールドに含まれる各サブフィールドの位置と、各サブフィールドが占有するバイト数とが、本願のこの実施形態で限定されることはない。
【0094】
種類サブフィールドは、現在のフィールドが属している種類を定義するために用いられる。type=locatorの場合、これは、このフィールドがロケータフィールドとして定義されていることを示している。第1の長さサブフィールドは、現在のフィールドが種類・長さ・値(type length value、TLV)のフォーマットを用いて示される場合に、占有する長さを示すのに用いられ、その占有長はTLVの長さとも呼ばれることがある。オフセットサブフィールドは、SID内の現在のフィールドの開始位置を定義する(例えば、SIDの最初のビットから開始する)のに用いられる。第2の長さサブフィールドは、SID内の現在のフィールドが占有する長さ(ビット数又はバイト数)を定義するのに用いられる。可変ロケータは、パケット転送及びルーティング用のIPv6アドレスのプレフィックスを格納するのに用いられ、ネットワークノードの識別に用いられてもよい。
【0095】
図3Bは、第1フィールドの実行可能なフォーマットの概略図である。図3Bに示すように、第1フィールドは、種類(type)サブフィールド、第1の長さ(length)サブフィールド、オフセット(offset)サブフィールド、第2の長さ(length)サブフィールド、及び任意的なサブ種類・長さ・値(optional sub-tlvs)サブフィールドを含む。第1フィールドに含まれる各サブフィールドの位置と、各サブフィールドが占有するバイト数とが、本願のこの実施形態で限定されることはない。
【0096】
type=flagの場合、これは、第1フィールドがフラグフィールドとして定義されていることを示している。type=network sliceIDの場合、これは、第1フィールドがネットワークスライスフィールドとして定義されていることを示している。必要に応じて、異なる応用シナリオでは、ネットワークノードに対応するマネージャが、実際のサービス要件に基づいて第1フィールドの機能を適宜定義してよい。これについては、本願のこの実施形態で限定されることはない。任意的なサブ種類・長さ・値サブフィールドは、第1フィールドの値を搬送するのに用いられ、これに対応して、第1フィールドにより示される情報を示す。例えば、ネットワークスライシングシナリオにおいて、第1フィールドはネットワークスライスフィールドであってよく、ネットワークスライスフィールドの値がネットワークスライス識別子を示すのに用いられ、この値は具体的には、任意的なサブ種類・長さ・値サブフィールドで搬送されてよい。別の例では、ネットワーク性能測定シナリオにおいて、第1フィールドはフラグ(flag)フィールドであってよく、フラグフィールドの値がネットワーク性能パラメータの種類を示すのに用いられ、この値は具体的には、任意的なサブ種類・長さ・値サブフィールドで搬送されてよい。実際の応用では、flagの値が複数あってよく、この値は、異なるネットワーク性能パラメータの種類を識別するのに用いられる。例えば、flagの値は次の通りであってよい。
【0097】
flag=1の場合、これは、ネットワーク性能パラメータの種類が時間という種類であることを示しており、セグメント識別子を用いてパケットを転送するネットワークノードが、パケットを送信する時点をパケットに追加してよいことを示している。
【0098】
flag=2の場合、これは、ネットワーク性能パラメータの種類が送信パケットの数という種類であることを示しており、セグメント識別子を用いてパケットを転送するネットワークノードが、受信したサービスパケットの数をパケットに追加してよいことを示している。ここで、サービスパケット及びパケットは同じデータフローに属しており、具体的には、セグメントリスト又はパケット転送経路を用いて識別されてよい。
【0099】
flag=3の場合、これは、ネットワーク性能パラメータの種類がキュー占有という種類であることを示しており、セグメント識別子を用いてパケットを転送するネットワークノードが、パケットを格納するパケット送信キューのキュー深度(すなわちキュー長)をパケットに追加することを示している。ここで、キュー深度はキュー占有率又はキュー長で示されてよい。パケット送信キューには、限定されることはないが、先入れ先出しキュー及び先入れ後出しキューなどが含まれてよい。
【0100】
flag=4の場合、これは、ネットワーク性能パラメータの種類がインタフェースという種類であることを示しており、セグメント識別子を用いてパケットを転送するネットワークノードが、パケットの通信インタフェースをパケットに追加することを示している。ここで、通信インタフェースは具体的には、パケットを受信するのに用いられる受信インタフェースであってもよく、パケットを送信するのに用いられる送信インタフェースであってもよい。
【0101】
第1フィールド内の他のサブフィールドの関連説明については、図3Aの実施形態の関連説明を参照されたい。詳細は、再度ここで説明しない。ネットワーク性能パラメータの種類及びネットワークスライス識別子に関連する関連実施形態は、具体的には、本願において以下に詳細に説明されている。
【0102】
図3Cは、任意的なサブ種類・長さ・値(optional sub-tlvs)フィールドの実行可能なフォーマットに関する概略図である。図3Cに示すように、このフィールドは、種類(type)、長さ、(length)、及び値(value)を含む。種類とは、本明細書において、第1フィールドによりサポートされる種類、例えば、上述した時間という種類、送信パケットの数という種類、キュー占有という種類、及びインタフェースという種類を意味している。長さは、第1フィールドでoptional sub-tlvsにより占有される長さ(例えば、2バイト)である。値とは、本明細書において、具体的には種類の値であってよい。異なる種類が、異なる値に対応し、異なる意味を表している。例えば、前述の例では、種類の値が1である場合、この種類は具体的には時間という種類であるといったことになる。
【0103】
図3Dは、機能フィールドの実行可能なフォーマットに関する概略図である。図3Dに示すように、機能フィールドは、種類(type)サブフィールド、第1の長さ(length)サブフィールド、オフセット(offset)サブフィールド、第2の長さ(length)サブフィールド、及び任意的なサブ種類・長さ・値(optional sub-tlvs)サブフィールドを含む。機能フィールドに含まれる各サブフィールドの位置と、各サブフィールドが占有するバイト数とが、本願のこの実施形態で限定されることはない。
【0104】
type=functionの場合、現在のフィールドは機能フィールドとして定義される。optional sub-tlvsは、システムにより定義される機能フィールドが実装する必要のある機能を搬送するのに用いられ、このフィールドに対応する機能(例えば、ネットワーク性能計算)を実行するようネットワークノードに指示してもよい。詳細については、本願の一例を用いて以下に説明する。機能フィールドに関連する他のサブフィールドに関する詳細については、図3Aの実施形態の関連説明を参照されたい。詳細は、再度ここで説明しない。
【0105】
本願のこの実施形態におけるネットワークノードのセグメント識別子には、限定されることはないが、具体的には、ノードセグメント識別子及び隣接セグメント識別子などが含まれてよい。セグメントリスト及びSIDの定義については、インターネット技術特別調査委員会(internet engineering task force、IETF)により開示されるSRv6関連のドラフト(例えば、draft-filsfils-spring-srv6-network-programming-04)を参照されたい。この文書内の関連内容が、全体としてコピーされているように見えており、概して、参照により本明細書に組み込まれている。本明細書との矛盾又は食い違いがあった場合にはどれも、本明細書の記載を優先することとする。本願のこの実施形態におけるコントローラが、ネットワーク管理デバイスであっても、ソフトウェア定義型ネットワーキング(Software-defined networking、SDN)アーキテクチャのコントローラであってもよい。これについては、本願の実施形態で限定されることはない。本願のこの実施形態におけるネットワークノードは、具体的にはネットワークデバイスであってよく、限定されることはないが、SDNネットワークのルータ、スイッチ、及び転送器などを含んでよい。
【0106】
以下では、本願の実施形態が適用できるネットワークフレームワークの概略図を2つ説明する。図4Aは、本願の一実施形態による実行可能なネットワークフレームワークの概略図である。図4Aに示すように、このネットワークフレームワークの概略図はSRv6ネットワークに適用され、SRv6ネットワークは、SRv6機能をサポートするネットワークノード(例えば、図4Aのネットワークノード101~ネットワークノード106)を含んでよい。
【0107】
SRv6ネットワーク上で、各ネットワークノードはSRv6機能をサポートする。言い換えれば、ネットワークノードはIPv6セグメントルーティング機能をサポートする。ネットワークノード101のセグメント識別子がSID1であり、SID1はネットワークノード101のIPv6アドレス(例えば、A::)でもある。ネットワークノード102のセグメント識別子がSID2であり、SID2はネットワークノード102のIPv6アドレス(例えば、B::)でもある。ネットワークノード103のセグメント識別子がSID3であり、SID3はネットワークノード103のIPv6アドレス(例えば、C::)でもある。ネットワークノード106のセグメント識別子がSID6であり、SID6はネットワークノード106のIPv6アドレス(例えば、D::)でもある。ネットワークノード101からネットワークノード106にパケットが転送される場合、ネットワークノード101はSRv6ネットワークの入口ノード(ingress node)と呼ばれ、ネットワークノード106はSRv6ネットワークの出口ノード(egress node)と呼ばれる。
【0108】
必要に応じて、このネットワークフレームワークの概略図はさらに、ユーザ機器107及びユーザ機器108を含んでよい。ユーザ機器107はネットワークを介してネットワークノード101と通信してよく、ユーザ機器108もネットワークを介してネットワークノード106と通信してよい。
【0109】
図4Bは、本願の一実施形態による別の実行可能なネットワークフレームワークの概略図である。図4Bに示すように、このネットワークフレームワークの概略図はIPv6ネットワークに適用され、SRv6機能をサポートするネットワークノードと、SRv6機能をサポートしないネットワークノードとを含んでよい。図4Bに示すように、SRv6機能をサポートするネットワークノードは、ネットワークノード101~ネットワークノード106を含んでよい。詳細については、図4Aの関連説明を参照されたい。SRv6機能をサポートしないネットワークノードは、ネットワークノード109を含んでよい。
【0110】
実際の通信プロセスでは、ネットワークノード101~106がSRv6機能をサポートするため、パケット転送プロセスにおいて、ネットワークノードは、パケット内のネットワークノードのセグメント識別子内にある関連フィールドを、対応する情報を搬送するために修正し、修正したパケットを次のネットワークノードに転送してよい。しかしながら、ネットワークノード109はSRv6機能をサポートせず、セグメント識別子を有していない。したがって、パケット転送プロセスにおいて、ネットワークノード109は、ネットワークノードに関する情報をパケットの別のフィールドに追加し、そのパケットを次のネットワークノードに送信してよい。あるいは、ネットワークノード109は、パケットを直接的に転送するといったこともあってよい。ネットワークノードがパケットの情報修正又は情報追加を行う方法については具体的に、以下に詳細に説明されている。
【0111】
必要に応じて、本願のこの実施形態におけるネットワークフレームワークの概略図は、ユーザ機器107及びユーザ機器108も含む。ユーザ機器107はネットワークを介してネットワークノード101と通信してよく、ユーザ機器108はネットワークを介してネットワークノード106と通信してよい。本願のこの実施形態に示されていない又は記載されていない内容については、図4Aの実施形態の関連説明を参照されたい。詳細は、再度ここで説明しない。
【0112】
以下では、本願の一実施形態で提供されるパケット処理方法を説明する。図5は、本願の一実施形態によるパケット処理方法の概略フローチャートである。図5に示す方法は、以下に挙げる実行段階を含んでよい。
【0113】
段階S500:第2ネットワークノードが第2ネットワークノードのセグメント識別子のフォーマットを第1ネットワークノードに送信する。これに対応して、第1ネットワークノードは第2ネットワークノードのセグメント識別子のフォーマットを受信する。第2ネットワークノードのセグメント識別子のフォーマットは、第2ネットワークノードのセグメント識別子に含まれる各フィールドの位置及び長さを示すのに用いられる。
【0114】
本願のこの実施形態において、ネットワーク上でSRv6機能をサポートする任意のネットワークノードが、そのネットワークノードのセグメント識別子のフォーマットをネットワーク上の別のノード(例えば、入口ノード)又はネットワーク上のコントローラに通知してよい。ネットワークノードのセグメント識別子のフォーマットは、ネットワークノードのセグメント識別子に含まれる各フィールドの位置及び長さを示すのに用いられる。必要に応じて、ネットワークノードのセグメント識別子のフォーマットはさらに情報を、例えば、ネットワークノードのセグメント識別子内にある関連フィールドの値を示してよい。例えば、ネットワークノードのセグメント識別子のフォーマットにおいて、ネットワークノードのセグメント識別子内の0ビット~55番目のビットがロケータフィールドであり、56番目のビット~63番目のビットが第1フィールドである。第1フィールドは、TLVフォーマットに示されており、複数のサブフィールドを含む。第1フィールドの値が具体的には、optional sub-tlvsサブフィールドで搬送されてよい。ネットワークノードのセグメント識別子の具体的なフォーマットについては、前述の実施形態の関連説明を参照されたい。詳細は、再度ここで説明しない。
【0115】
異なるネットワークノードのセグメント識別子のフォーマットが同じであってもよく、異なっていてもよく、また、ネットワークノードに対応する実際のサービス要件に基づいて決定されてもよい。例えば、ネットワークノードのセグメント識別子のフォーマットは、ネットワークノードのセグメント識別子に含まれるロケータフィールド、機能フィールド、及び第1フィールドなどを示してよい。異なるサービスシナリオにおいて、第1フィールドは、実際のサービス要件に基づいて構成され、異なる意味を示してよい。実際の応用では、同じサービスシナリオにおいて、ネットワーク上の全ネットワークノードのセグメント識別子のフォーマットは、通常同じである。
【0116】
例えば、ネットワークスライシングシナリオにおいて、ネットワークノードのセグメント識別子のフォーマットは、ネットワークノードのセグメント識別子に含まれるロケータフィールド、機能フィールド、及び第1フィールドを示している。第1フィールドは具体的にはネットワークスライスフィールドであってよく、これは、ネットワークノードが通信するときに用いられるネットワークスライス識別子を示す又は搬送するのに用いられる。別の例では、ネットワーク性能測定シナリオにおいて、ネットワークノードのセグメント識別子のフォーマットは、ネットワークノードのセグメント識別子に含まれるロケータフィールド、機能フィールド、及び第1フィールドを示している。第1フィールドは具体的にはフラグフィールドであってよく、これは、ネットワーク性能パラメータの種類を搬送する又は示すのに用いられる。ネットワークノードのセグメント識別子の具体的なフォーマットについては、前述の実施形態の関連説明を参照されたい。詳細は、再度ここで説明しない。
【0117】
本願のこの実施形態において、ネットワーク上の第2ネットワークノードがセグメント識別子のフォーマットを入口ノード(第1ネットワークノード)に通知することが、ここで一例として用いられる。第2ネットワークノードは、第2ネットワークノードのセグメント識別子のフォーマットを第1ネットワークノードに通知してよい。
【0118】
具体的には、第2ネットワークノードは第1ネットワークノードに第1パケットを送信し、第1パケットは第2ネットワークノードのセグメント識別子のフォーマットを含む。第2ネットワークノードのセグメント識別子のフォーマットは具体的には、第2ネットワークノードのセグメント識別子に含まれる各フィールドの位置及び長さを示すのに用いられる。例えば、第2ネットワークノードのセグメント識別子のフォーマットは、第2ネットワークノードのセグメント識別子に含まれるロケータフィールド、機能フィールド、及び第1フィールドを示してよい。第2ネットワークノードのセグメント識別子のフォーマットは具体的には、種類・長さ・値(type-length-value、TLV)フィールドを用いて第1パケットにカプセル化されてよい。
【0119】
必要に応じて、第2ネットワークノードのセグメント識別子のフォーマットはさらに、第2ネットワークノードのセグメント識別子内にある関連フィールドによりサポートされる値、例えば、第1フィールドの値を示してよい。実際の応用では、第1フィールドの値が1つ又は複数あってもよい。これに対応して、第1フィールドによりサポートされる1つ又は複数の値が、第2ネットワークノードのセグメント識別子のフォーマットに示されている。第1フィールドの値が1つの場合、第1フィールドの値は特定値、例えば0であってよい。第1フィールドの値が複数ある場合、第1フィールドの複数の値は、複数のTLVフィールドを用いて第1パケットにカプセル化されてよく、第1パケットは第1ネットワークノードに送信される。
【0120】
例えば、ネットワークスライシングシナリオにおいて、第2ネットワークノードのセグメント識別子のフォーマットは具体的には、第2ネットワークノードのセグメント識別子に含まれるロケータフィールド、機能フィールド、及びネットワークスライスフィールドを示すのに用いられてよい。必要に応じて、第2ネットワークノードのセグメント識別子のフォーマットはさらに、ネットワークスライスフィールドの値を示してもよい。実際の応用では、第2ネットワークノードのセグメント識別子のフォーマットは通常、ネットワークスライスフィールドの値が特定値であることを示し、この特定値はシステムにより設定される初期設定値、例えば、0である。必要に応じて、第2ネットワークノードのセグメント識別子のフォーマットは、ネットワークスライスフィールドによりサポートされる複数の値も示してよく、これにより、その後の実際の通信時に、ネットワークスライスフィールドの複数の値から1つの値が選択され、これに対応して、この値により示されるネットワークスライスを用いてデータ伝送が行われる。ネットワークスライスフィールドの値は、ネットワークスライス識別子を示すのに用いられ、ネットワークスライス識別子に対応するネットワークスライスがデータ伝送時の通信に用いられることを示す。
【0121】
ネットワーク性能測定シナリオにおいて、第2ネットワークノードのセグメント識別子のフォーマットは具体的には、第2ネットワークノードのセグメント識別子に含まれるロケータフィールド、機能フィールド、及びフラグフィールドを示すのに用いられる。それ以外に、第2ネットワークノードのセグメント識別子のフォーマットはさらに、フラグフィールドの値を示してよい。実際の応用では、第2ネットワークノードのセグメント識別子のフォーマットはフラグフィールドによりサポートされる複数の値を示し、フラグフィールドの各値はネットワーク性能パラメータの種類のうちの1つの種類を表している。フラグフィールドの値及び値の意味については、前述の実施形態の関連説明を参照されたい。詳細は、再度ここで説明しない。
【0122】
実際の応用において、第1パケットは、具体的には制御パケットであってよく、限定されることはないが、内部ゲートウェイプロトコル(interior gateway protocol、IGP)パケット、インターネット制御メッセージプロトコル(internet control message protocol、ICMP)、又は制御プレーンに関連した別のプロトコルパケットを含んでよい。
【0123】
段階S501:第2ネットワークノードが第2ネットワークノードのセグメント識別子を第1ネットワークノードに送信する。これに対応して、第1ネットワークノードは第2ネットワークノードのセグメント識別子を受信する。第2ネットワークノードのセグメント識別子は、各フィールドの値、例えば、ロケータフィールドの値、機能フィールドの値、及び第1フィールドの値を含む。
【0124】
段階S500で説明したように、ネットワーク上でSRv6機能をサポートするネットワークノードはどれも、ネットワークノードのセグメント識別子のフォーマットをネットワーク上の別のノードに送信して、ネットワークノードのセグメント識別子に含まれる各フィールドの位置及び長さなどの情報を通知してよい。実際のサービス通信プロセスでは、ネットワーク上でSRv6機能をサポートするネットワークノードはどれも、ネットワークノードのセグメント識別子をネットワーク上の別のノードに送信してよい。ネットワークノードのセグメント識別子は、各フィールドの値を含み、対応する情報を示す又は通知する。例えば、ロケータフィールドの値は、パケットのネクストホップルーティングアドレスを示すのに用いられる。ネットワークノードのセグメント識別子内にあるフィールドが複数の値をサポートする場合、この複数の値はネットワークノードの複数のセグメント識別子を用いて通知することができる。第1フィールドの値が複数あるということが、一例として用いられている。ネットワークノードはネットワークノードの複数のセグメント識別子を送信してよく、ネットワークノードの各セグメント識別子は、第1フィールドの1つの値を含む。
【0125】
本願では、第2ネットワークノードが第2ネットワークノードのセグメント識別子を第1ネットワークノードに通知する一例が、関連内容を説明するのに用いられる。具体的には、第2ネットワークノードは、第2ネットワークノードによりサポートされる第2ネットワークノードのセグメント識別子を第1ネットワークノードに送信する。第2ネットワークノードのセグメント識別子の数が、本願のこの実施形態で限定されることはない。第2ネットワークノードのセグメント識別子は、関連フィールドの値、例えば、第1フィールドの値を含む。第2ネットワークノードのセグメント識別子が複数ある場合、第2ネットワークノードは、1つ又は複数のパケットを用いて、第2ネットワークノードの複数のセグメント識別子を通知してよい。例えば、第2ネットワークノードの複数のセグメント識別子を通知するのに1つのパケットが用いられる場合、このパケットは複数のTLVフィールドを含み、各TLVフィールドは、第2ネットワークノードの1つのセグメント識別子を搬送/通知するのに用いられる。第2ネットワークノードの複数のセグメント識別子を通知するのに複数のパケットが用いられる場合、各パケットは、第2ネットワークノードの1つのセグメント識別子を搬送又は通知するのに用いられてよい。本明細書において、パケットは具体的には、制御パケットであってもデータパケットであってもよい。制御パケットの詳細については、前述の実施形態の関連説明を参照されたい。これについては、本願で限定されることはない。
【0126】
言い換えれば、第2ネットワークノードは、段階S500及び/又は段階S501を用いて第1ネットワークノードに、第2ネットワークノードのセグメント識別子内にある関連フィールドによりサポートされる値、例えば、第1フィールドの値を通知してよい。このフィールドは、1つ又は複数の値をサポートしてよい。具体的には、以下に挙げるいくつかの実装形態がある。
【0127】
第1の実装形態において、第2ネットワークノードにより通知される第2ネットワークノードのセグメント識別子のフォーマットは、第1フィールドの値を示していない、又は第1フィールドの値が初期設定値であると示している。初期設定値は、デフォルト値とも呼ばれることがあり、具体的には、自己定義方式でシステムにより設定されてよく、例えば0である。初期設定値は、デフォルトで実際の意味がない値を示す。この場合、第2ネットワークノードにより通知される第2ネットワークノードのセグメント識別子は、第1フィールドの値を含んでよく、第1フィールドの値は限定されない。概して、第1フィールドの値は初期設定値ではない。第2ネットワークノードが第1フィールドの複数の値をサポートする場合、第2ネットワークノードはこれに対応して、第2ネットワークノードの複数のセグメント識別子を通知し、第1フィールドの複数の値を第1ネットワークノードに通知してよい。それぞれの第2ネットワークノードのセグメント識別子は、第1フィールドの値を1つ含む。
【0128】
第2の実装態様において、第2ネットワークノードにより通知される第2ネットワークノードのセグメント識別子のフォーマットは、第1フィールドによりサポートされる値(言い換えれば、第1フィールドの値)を示しており、第1フィールドの値は1つ又は複数あってよい。第1フィールドの値が1つある場合、第1フィールドの値は特定値であってよい。この特定値は具体的には、初期設定値とは異なる第1フィールドのただ1つの値であってよい。例えば、初期設定値が0の場合、特定値は1であっても、2であってもよい。この場合、第2ネットワークノードは、第2ネットワークノードのセグメント識別子を通知する場合、初期設定値を有する第1フィールドの値を含むセグメント識別子を通知し、伝送リソースを節約してよい。これに対応して、第1ネットワークノードは、第2ネットワークノードのセグメント識別子のフォーマットに示されている第1フィールドの値に基づいて、且つ初期設定値を有する第1フィールドの値を含む、第2ネットワークノードのセグメント識別子に基づいて、第2ネットワークノードのセグメント識別子を取得してよい。第1フィールドの値が複数ある場合、第1ネットワークノードは、フォーマットに示されている第1フィールドの複数の値に基づいて、且つ初期設定値を有する第1フィールドの値を含む、第2ネットワークノードのセグメント識別子に基づいて、第2ネットワークノードの複数のセグメント識別子を取得してよい。それぞれの第2ネットワークノードのセグメント識別子は、第1フィールドの値を1つ含む。言い換えれば、第1フィールドの複数の値に対応する第2ネットワークノードの複数のセグメント識別子が取得される。
【0129】
第3の実装態様において、第2ネットワークノードにより通知される第2ネットワークノードのセグメント識別子のフォーマットは、第1フィールドの値を示しており、第1フィールドの値は1つ又は複数あってよい。この場合、伝送リソースのオーバーヘッドが考慮されていなければ、第2ネットワークノードのセグメント識別子を通知すると、第2ネットワークノードはさらに、第2ネットワークノードの対応する1つ又は複数のセグメント識別子を用いて、フォーマットに示されている第1フィールドの1つ又は複数の値を通知してよい。それぞれの第2ネットワークノードのセグメント識別子は、第1フィールドの値を1つ含む。言い換えれば、第1フィールドの値が1つある場合、第2ネットワークノードは第2ネットワークノードのセグメント識別子を1つ通知してよく、このセグメント識別子は第1フィールドの値を含む。第1フィールドの値が複数ある場合、第2ネットワークノードはこれに対応して、第2ネットワークノードの複数のセグメント識別子を通知し、第1フィールドの複数の値を第1ネットワークノードに通知してよい。必要に応じて、第2ネットワークノードは、第2ネットワークノードのセグメント識別子を通知すると、第2ネットワークノードのセグメント識別子を用いて再度、第1フィールドの複数の値のうちの第1フィールドの一部又は全部の値を通知してよい。これについては、本願のこの実施形態で限定されることはない。
【0130】
例えば、ネットワーク測定シナリオにおいて、第2ネットワークノードは通常、第2ネットワークノードのセグメント識別子のフォーマットにおける第1フィールド(すなわちフラグフィールド)の値を示している。第2ネットワークノードのセグメント識別子が第1ネットワークノードに通知される場合、ネットワークノードのセグメント識別子で搬送される第1フィールドの値は初期設定値である。これに対応して、第1ネットワークノードは、フォーマットに示されている第1フィールドの1つ又は複数の値に基づいて、且つ初期設定値を有する第1フィールドの値を搬送する、第2ネットワークノードの通知済みセグメント識別子に基づいて、第2ネットワークノードの1つ又は複数のセグメント識別子を取得してよく、それぞれの第2ネットワークノードのセグメント識別子は、第1フィールドの1つの値を含む、言い換えれば、第1フィールドの1つ又は複数の値を取得する。
【0131】
ネットワークスライシングシナリオにおいて、第2ネットワークノードは、第2ネットワークノードのセグメント識別子のフォーマットに第1フィールド(ネットワークスライスフィールド)の値を示さなくてもよい。これに対応して、第2ネットワークノードは、第2ネットワークノードのセグメント識別子を通知する場合、第1フィールドの値を第2ネットワークノードのセグメント識別子に追加し、このセグメント識別子を第1ネットワークノードに通知する。第1フィールドの値が複数ある場合、第2ネットワークノードは第2ネットワークノードの複数のセグメント識別子を第1ネットワークノードに通知してよく、各セグメント識別子は第1フィールドの値を1つ含む。このようにして、第1ネットワークノードは、第2ネットワークノードによりサポートされる第1フィールドの複数の値を認識できる。
【0132】
実際の応用では、伝送リソースを節約するために、デフォルトで、第2ネットワークノードのセグメント識別子内にある第1フィールドの値は初期設定値、例えば0であってよい。この場合、第2ネットワークノードは第2ネットワークノードの1つのセグメント識別子を第1ネットワークノードに送信し、セグメント識別子内にある第1フィールドの値は初期設定値である。これに対応して、フラッディング(flooding)トラフィックを減らすために、第2ネットワークノードのセグメント識別子は第1フィールドの値を複数有してよく、複数の値は、実際のサービスシナリオでサポートされる値の使用頻度に基づいて決定されてよい。この場合、第2ネットワークノードは第2ネットワークノードの複数のセグメント識別子を第1ネットワークノードに送信し、第2ネットワークノードのセグメント識別子によりサポートされる第1フィールドの複数の値を通知してよい。
【0133】
例えば、ネットワークスライシングシナリオにおいて、パケット処理システムは、パケットを伝送するためのネットワークスライスを5つ提供し、5つのネットワークスライスのネットワークスライス識別子はそれぞれ0~5である。低遅延サービスでは、パケット伝送の低遅延要件を満たすために、パケット伝送に用いられるネットワークスライス識別子が0~3であってよく、これらは3つのネットワークスライスである。これに対応して、フラッディングを減らすために(又は伝送リソースを減らすために)、第2ネットワークノードは、第1フィールドの値が4つあることを第1ネットワークノードに通知してよく、その値はここでは0~3であってよく、具体的にはネットワークスライス識別子0~3を示してよい。言い換えれば、第2ネットワークノードは第2ネットワークノードの4つのセグメント識別子を第1ネットワークノードに通知してよく、各セグメント識別子は第1フィールドの値を1つ含む。
【0134】
段階S502:第1ネットワークノードが、セグメントルーティングポリシーに従って、第2ネットワークノードのセグメント識別子内にある第1フィールドの値を決定する。第1ネットワークノードは、第2ネットワークノードに送信される第2パケットに第1フィールドの決定した値を追加する。第1フィールドの決定した値は、第2パケットを処理するよう第2ネットワークノードに指示するのに用いられる。
【0135】
本願において、セグメントルーティングポリシーは具体的には、実際のサービス要件に基づいて、第1ネットワークノード(入口ノード)又はコントローラにより生成されてよい。セグメントルーティングポリシーは、パケットの構成及びルーティングを示すのに用いられる。セグメントルーティングポリシーがコントローラにより生成される場合、第1ネットワークノードはセグメントルーティングポリシーをコントローラから取得してよい。
【0136】
必要に応じて、セグメントルーティングポリシーは具体的には、構成ポリシー及びルーティングポリシーを含んでよい。実際の応用において、2つのポリシーは実装のために組み合わされても、1つ又は複数のポリシーに分割されてもよい。ルーティングポリシーは具体的には、パケットのルーティングを示す、例えば、パケットの転送経路を示す又はパケットのセグメントリストを示すのに用いられ、セグメントリストは、パケットの転送経路上のネットワークノードのセグメント識別子を含む。構成ポリシーは、転送経路上のネットワークノードのセグメント識別子内にある関連フィールドの構成、例えば、第1フィールドの値の構成を示すのに用いられる。詳細は、以下に説明されている。
【0137】
以下では、セグメントルーティングポリシーが入口ノード(第1ネットワークノード)により生成される一例を用いる。第1ネットワークノードは図4Aのネットワークノード101である。第1ネットワークノードはネットワークノード101からネットワークノード106にパケットを転送する必要があると仮定する。図4Aに示すように、ネットワークノード101からネットワークノード106までの経路が2つある。第1経路上のネットワークノードには、ネットワークノード102、ネットワークノード103、及びネットワークノード106が含まれる。第2経路上のネットワークノードには、ネットワークノード104、ネットワークノード105、及びネットワークノード106が含まれる。ネットワークノード101は、パケット転送用のサービス要件(例えば、最短経路及び最低負荷)に基づいて、2つの経路から最適な第1経路を選択し、パケットルーティング(転送)経路を示すのに用いられるセグメントルーティングポリシーを取得する。本明細書において、セグメントルーティングポリシーは具体的には、セグメントルーティングポリシー内のルーティングポリシーであってよい。セグメントルーティングポリシーは、パケットの宛先アドレス(ネットワークノード106のアドレスD::)とセグメントリストとの対応関係を少なくとも含む。このようにして、第1ネットワークノードは、セグメントルーティングポリシーにおける対応関係に基づいて送信対象パケットに、パケットの宛先アドレスに対応するセグメントリストを追加できる。セグメントリストには、パケットの転送経路上にあるネットワークノードのセグメント識別子が含まれる。セグメントリスト内にあるセグメント識別子は、パケットが通過する第1経路上のネットワークノードからの距離の降順で配置されてよく、セグメントリストは具体的には、<SID6、SID3、SID2>であってよい。必要に応じて、セグメントリストはネットワークノード101のセグメント識別子も含んでよい。例えば、セグメントリストは、<SID6、SID3、SID2、SID1>であってよい。セグメントリストがネットワークノード101のセグメント識別子を含む場合、ネットワークノード101のセグメント識別子はパケットの転送に用いられず、情報(例えば、ネットワークノード101のネットワーク性能パラメータ)を搬送するのに用いられてよい。詳細は、一例を用いて以下に説明される。
【0138】
必要に応じて、第1ネットワークノードはさらに、パケットの実際のサービス要件に基づいて、パケットを構成するのに用いられるセグメントルーティングポリシーを取得してよい。本明細書において、セグメントルーティングポリシーは具体的には、セグメントルーティングポリシー内の構成ポリシーであってよい。セグメントルーティングポリシーは具体的には、パケットのセグメントリスト内にあるネットワークノードのセグメント識別子の関連フィールドの値を示すか又は構成して、パケットの実際のサービス要件を満たすのに用いられる。例えば、遅延に敏感なサービス又は低遅延サービスにおいて、セグメントルーティングポリシーは、セグメントリスト内にあるネットワークノードのセグメント識別子内にある第1フィールドの値が0~3であってよいことを示すのに用いられる。0~3は、ネットワークスライス識別子0~ネットワークスライス識別子3を示している。言い換えれば、低遅延サービスにおいて、ネットワークスライス0~3のうちのいずれか1つが、パケット伝送時に、サービスの低遅延要件を満たすのに用いられ得る。従来のサービス(低遅延要件のサービス)において、セグメントルーティングポリシーは、セグメントリスト内にあるネットワークノードのセグメント識別子内にある第1フィールドの値が4~6であることなどを示すのに用いられる。言い換えれば、従来のサービスにおいて、パケットは、ネットワークスライス4~6のうちのいずれか1つを用いて伝送されてよい。
【0139】
別の例では、遅延測定シナリオにおいて、セグメントルーティングポリシーは、パケットのセグメントリスト内にあるネットワークノードのセグメント識別子の第1フィールドの値が1であることを示すのに用いられてよく、この値は、ネットワーク性能パラメータの種類が時間の種類であることを示している。このようにして、ネットワークノードは、パケットが送信される送信時点をパケットに追加できるので、その後、パケットの伝送遅延を計算できる。例えば、別のネットワークノードは、パケットを受信すると、パケットの受信時点とパケットで搬送された送信時点とに基づく計算によって、パケットの伝送遅延を取得してよい。
【0140】
第1ネットワークノードは、S501でネットワーク上の各ネットワークノードのセグメント識別子を取得した後に、セグメントルーティングポリシーに従って、セグメントリストを含む第2パケットを取得してよい。セグメントリストはパケット転送経路上のネットワークノードのセグメント識別子を含み、ネットワークノードのセグメント識別子は第1フィールドの値を含み、第1フィールドの値はセグメントルーティングポリシーに従って決定される。本願の第2パケットは具体的には、データパケットであってよい。
【0141】
具体的には、第1ネットワークノードは、パケットの宛先アドレスとセグメントルーティングポリシー内のセグメントリストとの対応関係に基づいて、第2パケットの宛先アドレスに対応するセグメントリストを第2パケットに追加してよい。例えば、第2パケットの宛先アドレスがD::である場合、宛先アドレスD::に対応するセグメントリストが<SID6、SID3、SID2、SID1>であってよい。それ以外に、第1ネットワークノードはさらに、セグメントルーティングポリシーに従って、セグメントリスト内にある各ネットワークノードのセグメント識別子内にある関連フィールドの値を再構成(又は決定)してよい、例えば、各ネットワークノードのセグメント識別子内にある第1フィールドの値を決定してよい。このようにして、第1ネットワークノードは、第1フィールドの決定した値を第2パケットに追加し、第2パケットを別のネットワークノードに送信する。
【0142】
本願において、セグメントリスト内にある各ネットワークノードのセグメント識別子内にある第1フィールドの値は、同じであってもよく、異なっていてもよい。実際の応用では、同じサービスシナリオにおいて、セグメントリスト内にある各ネットワークノードのセグメント識別子内にある第1フィールドの値は、通常、同じである。例えば、遅延測定シナリオにおいて、セグメントルーティングポリシーにより示される、各ネットワークノードのセグメント識別子の第1フィールドの値は1であり、これは、ネットワーク性能パラメータの種類が時間の種類であることを示しており、パケットの伝送遅延を計算するために、ネットワークノードがパケットを送信する時点をパケットに追加するようネットワークノードに指示する。
【0143】
本願では、第1ネットワークノードが第2ネットワークノードのセグメント識別子内にある第1フィールドの値をセグメントルーティングポリシーに従って決定する一例が、2つの例示的な実装形態S502で説明するのに用いられる。
【0144】
一例では、段階S500及び段階S501において、第2ネットワークノードのセグメント識別子内にある第1フィールドの値は特定値として通知される。この特定値は具体的には、システムにより定義される初期設定値であってもよく、初期設定値とは異なる第1フィールドのただ1つの値であってもよい。具体的には、S500で通知される第2ネットワークノードのセグメント識別子のフォーマットは、第1フィールドの値を示していない、又はこのフォーマットは、第1フィールドの値が初期設定値である若しくは初期設定値以外のただ1つの特定値であることを示している。さらに、S501で通知される第2ネットワークノードのセグメント識別子に含まれる第1フィールドの値も、特定値である。この場合、第1ネットワークノードは、第1フィールドの値をセグメントルーティングポリシーに従って修正し、修正した値を、第2ネットワークノードに送信される第2パケットに追加してよい。具体的には、第1ネットワークノードは、修正した値を、第2パケット内の第2ネットワークノードのセグメント識別子の第1フィールドに追加する。このようにして、第1ネットワークノードは、第1フィールドの値をセグメントルーティングポリシーに従って直接的に決定し、次いで、パケットを簡便に処理するために、第2パケットを第1フィールドの値に基づいて簡単且つ簡便に処理してよい。
【0145】
例えば、ネットワークスライシングシナリオにおいて、第1フィールドはネットワークスライスフィールド(sliceID)であり、第1フィールドの値はネットワークスライス識別子を示すのに用いられ、ネットワークスライス識別子はパケット伝送時に用いられるネットワークスライスを識別するのに用いられる。これに対応して、第1ネットワークノードは、ネットワークスライス識別子を第1フィールドに追加するために、現在のサービス要件を満たし且つセグメントルーティングポリシーにより示されるネットワークスライス識別子に基づいて、第1フィールドの値を修正してよい。例えば、低遅延サービスシナリオにおいて、セグメントルーティングポリシーは、低遅延要件を満たすために、低遅延サービスシナリオのデータパケットをネットワークスライス1~3のうちのいずれか1つで伝送する必要があることを示すのに用いられる。この場合、第1ネットワークノードは、セグメントルーティングポリシーにより示される3つのネットワークスライスから任意のネットワークスライス(例えば、ネットワークスライス3)を選択し、次いで、第1フィールドの値を3に修正して、パケットがネットワークスライス3で伝送されることを示す。
【0146】
ネットワーク性能測定シナリオにおいて、第1フィールドはフラグ(flag)フィールドであり、フラグフィールドの値はネットワーク性能パラメータの種類を示すのに用いられる。これに対応して、第1ネットワークノードは、ネットワーク性能パラメータの種類をフラグフィールドに追加するために、現在のサービス要件を満たし且つセグメントルーティングポリシーにより示されるネットワーク性能パラメータの種類に基づいて、フラグフィールドの値を修正する。例えば、パケットの伝送遅延を計算するシナリオにおいて、セグメントルーティングポリシーは、ネットワーク性能パラメータの種類が時間の種類であることを示す(又は第1フィールドの値が1であることを直接的に示す)のに用いられる。この場合、第1ネットワークノードは、パケット内のネットワークノードのセグメント識別子内にある第1フィールドの値をセグメントルーティングポリシーに従って1に設定し、第1ネットワークノードがパケットを送信する時点をパケットに追加するので、ネットワークノードはその後、パケットの伝送遅延を計算できる。
【0147】
一例において、第2ネットワークノードのセグメント識別子内にある第1フィールドの値が複数あり、それらの値が段階S500及び/又は段階S501で通知される。具体的には、S500で通知される第2ネットワークノードのセグメント識別子のフォーマットは、第1フィールドの複数の値を示している、且つ/又はS501で通知される第2ネットワークノードの複数のセグメント識別子は第1フィールドの値を含み、第1フィールドのこれらの値は特定値ではない。言い換えれば、第1フィールドの値が複数あり、第1フィールドの複数の値は、第2ネットワークノードのセグメント識別子のフォーマット及び/又は第2ネットワークノードの複数のセグメント識別子を用いて通知されてよい。この場合、第1ネットワークノードは、セグメントルーティングポリシーに従って、第1フィールドの複数の値からセグメントルーティングポリシーに適合する1つの値を選択し、選択した値を、第1ネットワークノードにより決定される第1フィールドの値として用い、第1フィールドの決定した値を第2パケットに追加してよく、具体的には、第1フィールドの決定した値を第2パケット内の第2ネットワークノードのセグメント識別子の第1フィールドに追加しても、第1フィールドの決定した値を第2パケットの別のフィールド(例えば、TLVフィールド)に追加してもよい。このようにして、第2ネットワークノードは、第2ネットワークノードのセグメント識別子又は第2ネットワークノードのセグメント識別子のフォーマットを用いて、第2ネットワークノードによりサポートされる第1フィールドの複数の値を事前に通知してよい。これに対応して、第1ネットワークノードは、第2ネットワークノードによりサポートされる第1フィールドの複数の値を事前に認識し、次いで、セグメントルーティングポリシーに従って、第2パケットを処理するために第1フィールドの複数の値から1つの適合する値を選択して、パケット処理の柔軟性を向上させてよい。
【0148】
必要に応じて、第1フィールドの複数の値が第2ネットワークノードの複数のセグメント識別子を用いて通知される場合、それぞれの第2ネットワークノードのセグメント識別子は第1フィールドの値を1つ含む。これに対応して、第1ネットワークノードは、第2ネットワークノードの複数のセグメント識別子からセグメントルーティングポリシーに従って、セグメントルーティングポリシーに適合する第2ネットワークノードのセグメント識別子を1つ決定し(言い換えれば、第2ネットワークノードのセグメント識別子に含まれる第1フィールドの値を決定し)、第2ネットワークノードの決定したセグメント識別子を第2パケットに追加し、第2パケットを第2ネットワークノードに送信してよい。
【0149】
例えば、ネットワークスライシングシナリオにおいて、第2ネットワークノードが第1ネットワークノードに、第2ネットワークノードのセグメント識別子内にある第1フィールドの値が3~5であってよい(言い換えれば、パケット伝送に用いられ且つ第2ネットワークノードによりサポートされるネットワークスライス識別子が3~5であってよい)ことを通知すると仮定する。これに対応して、第1ネットワークノードにより取得されるセグメントルーティングポリシーは、現在のサービス要件を満たすネットワークスライス識別子が1~3であることを示している。この場合、第1ネットワークノードは、通知された第1フィールドの複数の値からセグメントルーティングポリシーに従って、セグメントルーティングポリシーに適合する値(ここでは、ネットワークスライス識別子は3である)を決定し、その値を第1フィールドの決定した値として用いてよい。
【0150】
段階S503:第1ネットワークノードが第2パケットを第2ネットワークノードに送信する。第2パケットは第2ネットワークノードのセグメント識別子内にある第1フィールドの決定した値を搬送する。これに対応して、第2ネットワークノードは第2パケットを受信する。
【0151】
段階S504:第2ネットワークノードが第1フィールドの値に基づいて第2パケットを処理する。
【0152】
本願において、第1ネットワークノードはセグメントルーティングポリシーに従って第2パケットを取得してよい。第2パケットは第2ネットワークノードのセグメント識別子を含み、第2ネットワークノードのセグメント識別子は第1フィールドの決定した値を含む。次いで、第1ネットワークノードは、第2ネットワークノードのセグメント識別子SID2を第2パケットのセグメントリストから取得し、第2パケットの宛先アドレスをSID2に修正し、第2パケットを第2ネットワークノードに送信するので、第2ネットワークノードは第1フィールドの値に基づいて第2パケットを処理する。必要に応じて、第2ネットワークノードは、パケット転送経路上にあり且つ転送方向で第1ネットワークノードに最も近いネクストホップノードであってよい。
【0153】
以下では、S504に関連するいくつかの例示的な実装形態を具体的に説明する。
【0154】
一例では、ネットワークスライシングシナリオにおいて、第1フィールドはネットワークスライスフィールドであり、ネットワークスライスフィールドの値はネットワークスライス識別子を示す。これに対応して、第2ネットワークノードは、第2パケットを受信した後に、第2パケットの宛先アドレスが第2ネットワークノードのセグメント識別子と一致するかどうかを判定する。具体的には、第2ネットワークノードは、第2パケット内の送信先アドレスフィールドの値が第2ネットワークノードのセグメント識別子の値と同じかどうかを判定する。第2パケット内の送信先アドレスフィールドの値が第2ネットワークノードのセグメント識別子の値と同じである場合、第2ネットワークノードは、第2パケットの宛先アドレスが第2ネットワークノードのセグメント識別子と一致すると判定する。さらに、第2ネットワークノードは、第2パケット内の第2ネットワークノードのセグメント識別子内にあるネットワークスライスフィールドの値を解析することで、その値に対応するネットワークスライス識別子を認識する。これに対応して、第2ネットワークノードは、ネットワークスライス識別子に対応するネットワークスライスで提供されるネットワークサービスに基づいて、第2パケットを転送してよい。ネットワークサービスには、限定されることはないが、遅延、スループット、及び帯域幅などの計量サービスが含まれる。例えば、第2ネットワークノードは、ネットワークスライスにより提供される最大帯域幅又は最大伝送速度に基づいて第2パケットを転送する。
【0155】
一例では、ネットワーク性能測定シナリオにおいて、第1フィールドはフラグフィールドであり、フラグフィールドの値はネットワーク性能パラメータの種類を示している。これに対応して、第2ネットワークノードは、第2パケットを受信した後に、第2パケットの宛先アドレスが第2ネットワークノードのセグメント識別子と一致するかどうかを判定する。第2パケットの宛先アドレスが第2ネットワークノードのセグメント識別子と一致する場合、第2ネットワークノードは、第2パケット内の第2ネットワークノードのセグメント識別子内にあるフラグフィールドの値を解析することで、その値に対応するネットワーク性能パラメータの種類を認識してよい。さらに、第2ネットワークノードは、第2ネットワークノードのネットワーク性能パラメータの種類に対応するネットワーク性能パラメータを第2パケットに追加し、ネットワーク性能パラメータが追加された第2パケットを別のネットワークノードに送信してよく、これにより、別のネットワークノードは、ネットワーク性能パラメータに基づいて、対応するネットワーク性能計算を行う。
【0156】
ネットワーク性能パラメータの種類には、時間の種類、送信パケット数の種類、キュー占有の種類、及びインタフェースの種類のうちのいずれか1つが含まれてよい。ネットワーク性能パラメータは、ネットワーク性能パラメータの種類に対応し、以下に挙げる項目のうちのいずれか1つを含んでよい。すなわち、第2ネットワークノードが第2パケットを送信する時点、及び第2パケットを送信する前に第2ネットワークノードが受信するサービスパケット数(サービスパケット及び第2パケットは同じデータフローに属している、言い換えれば、両パケットは同じセグメントリスト又は同じパケット転送経路を用いて送信される)、第2ネットワークノードのパケット送信キューのキュー占有率(パケット送信キューは第2パケットを格納するキューであってよい)、並びに第2ネットワークノードが第2パケットを伝送するのに用いられる通信インタフェース(通信インタフェースは、第2パケットを送信するための送信インタフェース又は第2パケットを受信するための受信インタフェースを含んでよい)のうちのいずれか1つである。
【0157】
以下では、第2ネットワークノードがネットワーク性能パラメータを第2パケットに追加する関連実施形態を説明する。第2ネットワークノードがSRv6機能をサポートする場合、例えば、SRv6ネットワーク上の第2ネットワークノードがSRv6機能をサポートする場合、第2ネットワークノードは、ネットワーク性能パラメータの種類に対応する、第2ネットワークノードのネットワーク性能パラメータを第2パケットに追加してよい。具体的には、ネットワーク性能パラメータは、第2パケット内の第2ネットワークノードのセグメント識別子に追加されてよい。例えば、ネットワーク性能パラメータは、第2ネットワークノードのセグメント識別子の機能フィールドに追加される、又は第2ネットワークノードのセグメント識別子全体に追加される。必要に応じて、ネットワーク性能パラメータは、第2パケット内の第3ネットワークノードのセグメント識別子にも追加されてよく、第3ネットワークノードは、パケット転送経路上の第2ネットワークノードに最も近いネクストホップノードであり、言い換えれば、第3ネットワークノードはパケット転送経路上の第2ネットワークノードのネクストホップノードである。必要に応じて、ネットワーク性能パラメータはさらに、第2パケット内の別のフィールド、例えばTLVフィールドに追加されてよい。これについては、本願のこの実施形態で限定されることはない。
【0158】
例えば、第2ネットワークノードは図4Aのネットワークノード102であり、ネットワークノード102はSRv6機能をサポートする。この場合、第2ネットワークノードは、フラグフィールドの値を搬送する第2パケットを受信した後に、フラグフィールドの値により示されるネットワーク性能パラメータの種類に基づいて、その種類に対応する、第2ネットワークノードのネットワーク性能パラメータを取得し、次いで、第2ネットワークノードのネットワーク性能パラメータを第2ネットワークノードのセグメント識別子の機能フィールドに追加し、ネットワーク性能パラメータが追加された第2パケットをネットワークノード103に送信してよい。
【0159】
第2ネットワークノードがSRv6機能をサポートしない場合、例えば、IPv6ネットワーク上の第2ネットワークノードがSRv6機能をサポートしない場合、IPv6ネットワークに基づく、第2ネットワークノードの既存の処理手順が修正されているため、第2ネットワークノードは、第1フィールドの値(フラグフィールドの値)を検出して、その値で適宜示されるネットワーク性能パラメータの種類を決定し、ネットワーク性能パラメータの種類に対応する、第2ネットワークノードのネットワーク性能パラメータを第2パケットに追加してよい。具体的には、第2ネットワークノードは、ネットワーク性能パラメータを第2パケット内の別のフィールドに追加してよい。別のフィールドとは、第2ネットワークノードのセグメント識別子以外のフィールド、例えばTLVフィールドである。
【0160】
第2ネットワークノードが図4Bのネットワークノード109であることが、一例として用いられる。ネットワークノード109は、SRv6機能をサポートしない。第2ネットワークノードは、フラグフィールドの値を搬送する第2パケットを受信した後に、フラグフィールドの値で示されるネットワーク性能パラメータの種類に基づいて、その種類に対応する、第2ネットワークノードのネットワーク性能パラメータを取得し、次いで、ネットワーク性能パラメータを第2パケット内のTLVフィールドに追加し、ネットワーク性能パラメータが追加された第2パケットをネットワークノード106に送信してよいので、ネットワークノード106は対応するネットワーク性能計算を行うことができる。例えば、ネットワーク性能パラメータの種類が時間の種類である場合、ネットワーク性能パラメータは、ネットワークノード109が第2パケットを送信する第1時点であってよい。これに対応して、ネットワークノード106は、第2パケットを受信した後に、第2パケットを受信した第2時点に基づいて、第2時点と第1時点との差を計算し、その差を、ネットワークノード109とネットワークノード106との間の第2パケット伝送遅延として用いてよい。
【0161】
本願の実施形態を実現することで、ネットワークノードのセグメント識別子のフォーマットを明示的に通知できないためにネットワークノードのプログラミング能力が低いという従来技術の課題を解決できる。これにより、ネットワークノードのプログラミング能力が向上する。
【0162】
以下では、2つの具体的な例を用いて、本願の関連実施形態を詳細に説明する。
【0163】
実施形態1:ネットワークスライシングシナリオ
【0164】
図6A及び図6Bは、本発明の一実施形態による別のパケット伝送方法の概略フローチャートである。この概略フローチャートは、以下に挙げる実行段階を含む。
【0165】
段階S600:ネットワークノード101が、ネットワーク上の少なくとも1つのネットワークノードのセグメント識別子のフォーマットを取得する。ネットワークノードのセグメント識別子のフォーマットは、ネットワークノードのセグメント識別子に含まれる各フィールドの位置、長さ、及び値などの情報を示すのに用いられる。ネットワークノードのセグメント識別子のフォーマットは、ネットワークノードのセグメント識別子に含まれるロケータフィールド、機能フィールド、及びネットワークスライスフィールドを示している。
【0166】
図4A又は図4Bに示すネットワークフレームワークにおいて、ネットワーク上のSRv6機能をサポートするネットワークノードのそれぞれは、ネットワークノードのセグメント識別子のフォーマットをネットワーク上の別のネットワークノードに通知してよい。これに対応して、各ネットワークノードは、ネットワーク上の別のノードにより通知される別のノードのセグメント識別子のフォーマットを受信してよい。例えば、図4A又は図4Bに示すように、ネットワークノード101は、ネットワークノード102~ネットワークノード106の各セグメント識別子のフォーマットを受信してよい。同じネットワークスライシングシナリオにおいて、各ネットワークノードは同じセグメント識別子のフォーマットを有し、セグメント識別子のフォーマットは、ネットワークノードのセグメント識別子に含まれるロケータフィールド、機能フィールド、及びネットワークスライスフィールドを示している。必要に応じて、ネットワークノードのセグメント識別子のフォーマットはさらに、ネットワークスライスフィールドによりサポートされる値(sliceID)を示してよい。具体的には、sliceIDが0の場合、これは初期設定値を示してよく、デフォルト値と呼ばれることがある。sliceIDが0ではない場合、これはネットワークノードによりサポートされるネットワークスライス識別子を示している。これに対応して、ネットワークノードの実際の通信プロセスでは、ネットワークノードは、サポートされる1つ又は複数のネットワークスライス識別子からネットワークスライス識別子を1つ選択して、そのネットワークスライス識別子に対応するネットワークスライスを用いて通信を行ってよい。
【0167】
必要に応じて、ネットワーク上の各ネットワークノードは1つ又は複数のsliceIDをサポートしてよく、これらのsliceIDは同じであってもよく、異なっていてもよい。これについては、本願のこの実施形態で限定されることはない。
【0168】
段階S601:ネットワークノード101がネットワーク上の少なくとも1つのネットワークノードのセグメント識別子を取得する。ネットワークノードのセグメント識別子は、ネットワークスライスフィールドの値を含む。
【0169】
ネットワーク上のSRv6機能をサポートするネットワークノードは、ネットワークノードのセグメント識別子のフォーマットをネットワーク上の別のノードに送信し、ネットワークノードのセグメント識別子内にある各フィールドの位置及び長さなどの情報を別のノードに通知してよいことが理解されるであろう。それ以外に、ネットワーク上のSRv6機能をサポートするネットワークノードはさらに、ネットワークノードによりサポートされるセグメント識別子をネットワーク上の別のノードに送信してよい。この場合、ネットワークノードのセグメント識別子は、各フィールドの値を搬送して、対応する情報を示す/通知する。例えば、ロケータフィールドの値は、パケットのネクストホップルーティングアドレスを示すのに用いられる。セグメント識別子内にあるフィールドの値が複数ある場合、ネットワークノードの複数のセグメント識別子が、フィールドによりサポートされる複数の値をパブリッシュするのに用いられてよい。
【0170】
例えば、ネットワークノード102がネットワークスライスフィールドの複数の値をサポートする場合、ネットワークノード102は、ネットワークノード102の複数のセグメント識別子をネットワークノード101に送信してよい。1つのセグメント識別子が、ネットワークスライスフィールドの値を1つ含む。このようにして、ネットワークスライスフィールドの複数の値は、ネットワークノード101に通知されてよい。
【0171】
段階S600及び段階S601の具体的な説明については、段階S500及び段階S501の関連説明を参照されたい。詳細は、再度ここで説明しない。
【0172】
段階S602:ネットワークノード101が、セグメントルーティングポリシーに従って、パケットのセグメントリストに含まれるネットワークノードのセグメント識別子内にあるネットワークスライスフィールドの値(sliceID)を決定し、決定したsliceIDをパケットに追加する。このパケットは、IPv6パケットヘッダ、SRH、及びpayloadを含む。図7Aにはパケットフォーマットの概略テーブルとして、例えば、IPv6パケットヘッダが宛先アドレス(destination address、DA)のみを示しており、SRHがセグメントリストのみを示している。ネットワークノード101は、パケットの宛先アドレスをSID2に置き換え、このパケットをネットワークノード102に送信する。
【0173】
具体的には、ネットワークノード101は、パケットのセグメントリストをセグメントルーティングポリシーに従って決定し、決定したセグメントリストを転送対象パケットに追加してよい。ここで、パケットは具体的にはデータパケットである。セグメントリストは、パケットの転送経路を示すのに用いられ、具体的には、パケット転送経路上のネットワークノードのセグメント識別子SIDを含む。SIDは、セグメントルーティングポリシーに従って決定されたsliceIDを含む。パケットのセグメントリストとセグメントリスト内にあるネットワークノードのネットワークスライスフィールドの値とをセグメントルーティングポリシーに従って決定する方法に関する詳細については、図5の段階S502の関連説明を参照されたい。詳細は、再度ここで説明しない。
【0174】
一例において、ネットワークノード101は、ネットワークノードのセグメント識別子のフォーマットを受信する。フォーマットはネットワークノードのセグメント識別子内にあるネットワークスライスフィールドの値を示していない、又はフォーマットは、ネットワークノードのセグメント識別子内にあるネットワークスライスフィールドの値が特定値であることを示している。さらに、ネットワークノード101はネットワークノードのセグメント識別子を受信する。ネットワークノードのセグメント識別子に含まれるネットワークスライスフィールドの値も特定値であり、この特定値は具体的には、システムで定義される初期設定値(例えば、0)であってもよく、初期設定値とは異なるネットワークスライスフィールドの値(例えば、ネットワークスライス識別子1)であってもよい。この場合、ネットワークノード101は、セグメントルーティングポリシーに従って、パケットのセグメントリストに含まれるネットワークノードのセグメント識別子SIDを決定してよい。セグメントリストは、パケット転送経路上の全ネットワークノードのセグメント識別子を含む。次いで、ネットワークノード101はさらに、セグメントリスト内にあるネットワークノードのセグメント識別子内にあるsliceIDをセグメントルーティングポリシーに従って決定し、決定したsliceIDに基づいて、ネットワークノードのセグメント識別子SID内のネットワークスライスフィールドの値を修正し、決定したsliceIDをSIDのネットワークスライスフィールドに追加してよい、言い換えれば、決定したsliceIDを転送対象パケットに追加してよい。本願のこの実施形態におけるパケットは具体的には、データパケットであってよい。セグメントリスト内にあるネットワークノードのセグメント識別子内にあるネットワークスライスフィールドの値をセグメントルーティングポリシーに従って決定する方法に関する詳細については、図5の段階S502の関連説明を参照されたい。詳細は、再度ここで説明しない。
【0175】
一例において、ネットワークノード101は、ネットワークノードのセグメント識別子のフォーマットを受信する。フォーマットは、ネットワークノードのセグメント識別子内にあるネットワークスライスフィールドによりサポートされる複数の値を示している。必要に応じて、この場合、ネットワークノードのセグメント識別子には何の限定も課されない。例えば、ネットワークノードのセグメント識別子に含まれ且つネットワークノードによりネットワークノード101に通知されるネットワークスライスフィールドの値は、初期設定値であってもよく、初期設定値とは異なる特定値であってもよい。あるいは、ネットワークノードによりサポートされるネットワークスライスフィールドの値が複数ある場合、ネットワークノードは、ネットワークノードの複数のセグメント識別子をネットワークノード101に通知してよい。各ネットワークノードのセグメント識別子はネットワークスライスフィールドの値を1つ含む、言い換えれば、ネットワークスライスフィールドの複数の値が通知される。この場合、ネットワークノード101は、ネットワークノードのネットワークスライスフィールドの複数の値(sliceID)からセグメントルーティングポリシーに従って、セグメントルーティングポリシーに適合し且つパケット転送経路上にあるネットワークノードのsliceIDを選択し、選択したsliceIDを、セグメントリスト内にあるネットワークノードのセグメント識別子のネットワークスライスフィールドに追加して、選択したsliceIDをパケットに追加してよい。
【0176】
一例において、ネットワークノード101は、ネットワークノードの複数のセグメント識別子を受信する。ネットワークノードの1つのセグメント識別子がネットワークスライスフィールドの1つの値(sliceID)を含む、言い換えれば、ネットワークノード101は、ネットワークノードによりサポートされるネットワークスライスフィールドの複数の値を受信する。必要に応じて、この場合、ネットワークノードのセグメント識別子のフォーマットは限定されない。例えば、ネットワークノードによりネットワークノード101に通知されるネットワークノードのセグメント識別子のフォーマットは、ネットワークノードのセグメント識別子内にあるネットワークスライスフィールドの値を示さなくてもよく、ネットワークスライスフィールドによりサポートされ且つネットワークノードのセグメント識別子内にある1つ又は複数の値を示してもよい。この場合、ネットワークノード101は、各ネットワークノードの複数のSID(すなわち、複数のsliceID)からセグメントルーティングポリシーに従って、セグメントルーティングポリシーに適合し且つパケット転送経路上にあるネットワークノードのSID(すなわち、ネットワークノードのsliceID)を選択し、ネットワークノードの選択したSIDに基づいてパケットのセグメントリストを構築し、このセグメントリストをパケットに追加してパケット転送を誘導してよい。
【0177】
この例において、セグメントリストは、<SID6、SID3、SID2>であってよい。あるいは、セグメントリストはさらに、ネットワークノード101のセグメント識別子を含んでよく、具体的には<SID6、SID3、SID2、SID1>であってよい。図7Aに示すように、各ネットワークノードのSID内にあり且つセグメントルーティングポリシーに従ってネットワークノード101により決定されるsliceIDは、sliceID6、sliceID3、sliceID2、及びsliceID1である。これらのsliceIDのうちの任意の2つが同じであってもよく、異なっていてもよい。これについては、本願のこの実施形態で限定されることはない。実際の応用では、同じサービスシナリオのセグメントリスト内にある各ネットワークノードは通常、セグメント識別子の中に同じsliceIDを有する。
【0178】
これに対応して、ネットワークノード101は、決定したsliceIDをパケットに追加した後に、パケットのセグメントリストに基づいてパケットを処理してよい。具体的には、SRHに含まれるセグメントリストが、<SID6、SID3、SID2、SID1>である場合、ネットワークノード101は、パケットの宛先アドレスをSID2に修正し、さらに、SID1のsliceID1に対応するネットワークスライスで提供されるネットワークサービスに基づいて、パケットを第2ネットワークノードに転送してよい。ネットワークサービスには、限定されることはないが、伝送帯域幅、伝送速度、ネットワークスループットレート、及びネットワークスループットなどが含まれる。例えば、図7Aに示すように、セグメントリストはネットワークノード101のセグメント識別子SID1を含む。ネットワークノード101は、パケットの宛先アドレスをSID2に修正した後に、SID1の対応するsliceID1で提供されるネットワークサービスに基づいて、パケットをネットワークノード102に転送してよい。
【0179】
SRHに含まれるセグメントリストが、<SID6、SID3、SID2>である場合、ネットワークノード101はパケットの宛先アドレスをSID2に修正し、必要に応じてさらに、パケットを第2ネットワークノードに既定の方式で転送してよく、例えば、既定のネットワークスライスを用いてパケットを転送してよい。例えば、図7Bに示すように、セグメントリストはネットワークノード101のネットワークノードSID1を含まない。ネットワークノード101がパケットの宛先アドレスをSID2に修正した後に、パケットのセグメントリストはネットワークノード101のSID1を含まないため(言い換えれば、SID1のネットワークスライス識別子sliceID1で示されるネットワークサービスがないため)、ネットワークノード101は、既定のネットワークスライスで提供されるネットワークサービスを用いて、パケットをネットワークノード102に転送してよい。S603:ネットワークノード102がパケットを受信し、パケットの送信先アドレスフィールドの値がネットワークノード102のセグメント識別子と一致すると判定した場合、ネットワークノード102は、パケットのセグメントリストからSID3を取得し、パケットの宛先アドレスをSID3に置き換える。ネットワークノード102は、SID2のsliceID2に対応するネットワークスライスに基づいて、パケットをネットワークノード103に送信する。具体的には、ネットワークノード102は、ネットワークスライスで提供されるネットワークサービス(例えば、伝送速度又は伝送帯域幅などの指標サービス)に基づいて、パケットをネットワークノード103に送信してよい。
【0180】
ネットワークノード102は、パケットの送信先アドレスフィールドの値がネットワークノード102のセグメント識別子の値と同じかどうかを判定してよい。パケットの送信先アドレスフィールドの値がネットワークノード102のセグメント識別子の値と同じ場合、ネットワークノード102は、パケットの送信先アドレスフィールドの値がネットワークノード102のセグメント識別子と一致すると判定してよい。パケットの送信先アドレスフィールドの値がネットワークノード102のセグメント識別子の値と同じではない場合、ネットワークノード102は、パケットの送信先アドレスフィールドの値がネットワークノード102のセグメント識別子と一致しないと判定してよい。
【0181】
S604:ネットワークノード103がパケットを受信する。ネットワークノード103は、パケットの送信先アドレスフィールドの値がネットワークノード103のセグメント識別子と一致すると判定した場合、パケットのセグメントリストからSID6を取得し、パケットの宛先アドレスをSID6に置き換える。ネットワークノード103は、SID3のsliceID3に対応するネットワークスライスに基づいて、パケットをネットワークノード106に送信する。具体的には、ネットワークノード103は、sliceID3に対応するネットワークスライスで提供されるネットワークサービス(例えば、伝送速度又は伝送帯域幅などの指標サービス)に基づいて、パケットをネットワークノード106に送信してよい。
【0182】
一例では、図4Bに示すネットワークフレームワークにおいて、SRv6機能をサポートしないネットワークノード109は、ネットワークノード103とネットワークノード106との間にまだ存在している。実際の通信プロセスにおいて、ネットワークノード103は、パケットの宛先アドレスをSID6に置き換えた後に、SID3のsliceID3に対応するネットワークスライスに基づいて、最初にパケットをネットワークノード109に送信してよい。ネットワークノード109はSRv6機能をサポートしないため、図7Cに示すように、ネットワークノード109は、パケットを受信した後に、パケットの宛先アドレスSID6(ネットワークノード106のIPv6アドレス)に基づいてパケットをネットワークノード106に転送してよい。ネットワークノード109がパケットをネットワークノード106にどのように送信するかについては、本願のこの実施形態で限定されることはない。例えば、ネットワークノード109は、既定のネットワークスライスで提供される伝送速度又は伝送帯域幅などのネットワークサービスを用いて、パケットをネットワークノード106に転送する。
【0183】
S605:ネットワークノード106がパケットを受信し、パケットの送信先アドレスフィールドの値がSID6と一致すると判定した場合、SID6のsliceID6に対応するネットワークスライスに基づいてパケットを処理する。
【0184】
具体的には、ネットワークノード106は、パケットを受信した後に、ネットワークノード106のセグメント識別子SID6に含まれるsliceID6に対応するネットワークスライスにより提供されるネットワークサービスに基づいてパケットを処理してよい、例えば、パケットの転送又はパケットの格納を行ってよい。これについては、本願のこの実施形態で限定されない。
【0185】
前述の実施形態を実現することで、ネットワークノードのセグメント識別子は、ネットワークノードのセグメント識別子のフォーマットを用いて明示的に通知されるので、ネットワークノードは、ネットワークノードのセグメント識別子内にある関連フィールドの値を実際のサービス要件に基づいて修正し、対応する情報を搬送して、ネットワークノードのプログラミング能力を向上させることができる。
【0186】
実施形態2:ネットワーク性能測定シナリオ
【0187】
図8A及び図8Bは、本発明の一実施形態による別のパケット処理方法の概略フローチャートである。図8A及び図8Bに示す方法は、以下に挙げる実行段階を含む。
【0188】
S800:ネットワークノード101がネットワーク上の少なくとも1つのネットワークノードのセグメント識別子のフォーマットを取得する。ネットワークノードのセグメント識別子のフォーマットは、ネットワークノードのセグメント識別子に含まれるロケータフィールド、機能フィールド、及びフラグフィールドを示している。
【0189】
本願のこの実施形態において、ネットワークノードのセグメント識別子のフォーマットは、ネットワークノードのセグメント識別子に含まれる情報(各フィールドの位置、長さ、及び値など)を示すのに用いられる。異なるネットワークノードのセグメント識別子のフォーマットが同じであってもよく、異なっていてもよい。実際の応用において、同じサービスシナリオでは、例えば、ネットワーク性能測定シナリオでは、ネットワーク上の全ネットワークノードのセグメント識別子のフォーマットは概して同じであり、ネットワークノードのセグメント識別子に含まれるロケータフィールド、機能フィールド、及びフラグフィールドを示している。
【0190】
必要に応じて、ネットワークノードのセグメント識別子のフォーマットはさらに、各フィールドの値、例えば、フラグフィールドの値(flag)を示す。ここで、フラグフィールドの値はネットワーク性能パラメータの種類を示すのに用いられる。具体的には、flagが0の場合、これは、flagが初期設定値である(又はデフォルト値と呼ばれることがある)ことを示しており、ネットワーク性能を測定する必要はないことを示している。flagが0ではない場合、これは、ネットワーク性能パラメータの種類を示している。異なるネットワーク性能パラメータの種類を識別するフラグフィールドの値(flag)は複数ある。例えば、前述の実施形態において、flagが1の場合、これは、ネットワーク性能パラメータの種類が時間の種類であることを示しており、ネットワークノードは、パケットを送信する時点をパケットに追加するよう示されてよく、その結果、パケット伝送遅延の計算が容易になる。
【0191】
段階S801:ネットワークノード101がネットワーク上の少なくとも1つのネットワークノードのセグメント識別子を取得する。ネットワークノードのセグメント識別子は各フィールドの値、例えば、ロケータフィールドの値、第1フィールドの値、及び機能フィールドの値を含む。
【0192】
SRv6機能をサポートするネットワーク上のネットワークノードがさらに、ネットワークノードによりサポートされるセグメント識別子をネットワーク上の別のノードに送信してよい。ネットワークノードのセグメント識別子は、各フィールドの値を含み、対応する情報を示す又は通知するのに用いられる。例えば、ロケータフィールドの値は、パケットのネクストホップルーティングアドレスを示すのに用いられてよく、機能フィールドの値は、その値に対応する機能を実行するようネットワークノードに指示するのに用いられてよい。セグメント識別子内にあるフィールドが複数の値を有する場合、そのフィールドでサポートされる複数の値は、ネットワークノードの複数のセグメント識別子を用いてパブリッシュされてよく、各ネットワークノードのセグメント識別子はフィールドの値を1つ含む。
【0193】
実際の応用において、例えば、第1フィールドは複数の値を有する。ネットワーク性能測定シナリオにおいて、第1フィールドでサポートされる複数の値は通常、ネットワークノードのセグメント識別子のフォーマットでパブリッシュされる。トラフィックを節約するために、ネットワークノードのセグメント識別子が通知される場合、特定値を有する第1フィールドの値を搬送するネットワークノードのセグメント識別子が、通常、通知される。必要に応じて、ネットワークノードはさらに、ネットワークノードのセグメント識別子内にある第1フィールドの値などを通知してよい。これについては、本願のこの実施形態で限定されない。
【0194】
段階S800及び段階S801の具体的な説明については、段階S500及び段階S501の関連説明を参照されたい。詳細は、再度ここで説明しない。
【0195】
段階S802:ネットワークノード101が、セグメントルーティングポリシーに従って、パケットのセグメントリストに含まれるネットワークノードのセグメント識別子内にあるフラグフィールドの値を決定し、フラグフィールドの値をパケットに追加する。パケットは、IPv6パケットヘッダ、SRH、及びpayloadを含む。図9Aにはパケットフォーマットの概略テーブルとして、例えば、IPv6パケットヘッダが宛先アドレス(destination address、DA)のみを示しており、SRHがセグメントリストのみを示している。ネットワークノード101は、パケットの宛先アドレスをSID2に置き換え、ネットワークノード101のネットワーク性能パラメータ(network performance parameters、NPP)をパケットに追加し、このパケットをネットワークノード102に送信する。
【0196】
具体的には、セグメントルーティングポリシーが、入口ノード(ネットワークノード101)又はコントローラにより事前に生成され、パケットの構成及びルーティングを示すのに用いられる。ネットワークノード101は、セグメントルーティングポリシーを取得した後に、セグメントルーティングポリシーに従って、パケットのセグメントリストに含まれるネットワークノードのセグメント識別子SIDを決定してよい。SIDは、セグメントルーティングポリシーに従って決定されたフラグフィールドの値(flag)を含み、フラグフィールドの決定した値をパケットに追加する。パケットのセグメントリストとセグメントリスト内にあるネットワークノードのフラグフィールドの値とをセグメントルーティングポリシーに従って決定する方法に関する詳細については、図5の段階S502の関連説明を参照されたい。詳細は、再度ここで説明しない。
【0197】
一例において、ネットワークノード101は、ネットワークノードのセグメント識別子のフォーマットを受信する。このフォーマットは、ネットワークノードのセグメント識別子内にあるフラグフィールドの値を示していない、又はフラグフィールドの値が特定値であることを示している。さらに、ネットワークノード101はネットワークノードのセグメント識別子を受信し、セグメント識別子に含まれるフラグフィールドの値は特定値である。この特定値は具体的には、自己定義方式でシステムにより設定される初期設定値であっても、初期設定値とは異なるフラグフィールドのただ1つの値であってもよい。例えば、ネットワークノードのセグメント識別子のフォーマットは、フラグフィールドの値を示していない、又はフラグフィールドの値が初期設定値であることを示している。この場合、ネットワークノードのセグメント識別子に含まれるフラグフィールドの値は、初期設定値であっても、初期設定値以外の特定値(例えば、1)であってもよい。あるいは、ネットワークノードのセグメント識別子のフォーマットは、フラグフィールドの値が初期設定値以外の特定値であることを示している。この場合、ネットワークノードのセグメント識別子に含まれるフラグフィールドの値は、初期設定値であっても、初期設定値以外の特定値であってもよい。
【0198】
この場合、ネットワークノード101は、セグメントルーティングポリシーに従って、パケットのセグメントリストに含まれるネットワークノードのセグメント識別子SIDを決定してよい。この場合、ネットワークノードのセグメント識別子SIDに含まれるflag値は特定値である。それ以外に、ネットワークノード101はさらに、セグメントリスト内にあるネットワークノードのセグメント識別子内にあるflag値をセグメントルーティングポリシーに従って決定し、決定したflag値に基づいて、ネットワークノードのセグメント識別子SIDに含まれるflag値(特定値)を修正し、決定したflag値をネットワークノードのセグメント識別子SIDに含まれるフラグフィールドに追加して、転送対象パケットを取得してよい。
【0199】
一例において、ネットワークノード101は、ネットワークノードのセグメント識別子のフォーマットを受信し、ネットワークノードのセグメント識別子のフォーマットは、ネットワークノードのセグメント識別子内にあるフラグフィールドでサポートされる複数の値を示している。必要に応じて、この場合、ネットワークノードのセグメント識別子は限定されない。例えば、ネットワークノードによりネットワークノード101に通知されるネットワークノードのセグメント識別子に含まれるネットワークスライスの値が、初期設定値であってもよく、初期設定値とは異なる特定値(ただ1つの値)でなくてもよい。あるいは、ネットワークノードがフラグフィールドの複数の値をサポートする場合、ネットワークノードはネットワークノードの複数のセグメント識別子をネットワークノード101に通知してよく、各ネットワークノードのセグメント識別子がフラグフィールドの値を1つ含む、言い換えれば、ネットワークノードによりサポートされるフラグフィールドの複数の値を通知する。この場合、ネットワークノード101は、ネットワークノードのフラグフィールドの複数の値(flag値)からセグメントルーティングポリシーに従って、セグメントルーティングポリシーに適合するflag値を選択し、選択したflag値をネットワークノードのセグメント識別子SIDに含まれるフラグフィールドに追加してよい、言い換えれば、選択したflag値を転送対象パケットに追加してよい。
【0200】
一例において、ネットワークノード101はネットワークノードの複数のセグメント識別子を受信し、各ネットワークノードのセグメント識別子がフラグフィールドの値を1つ含む。必要に応じて、この場合、ネットワークノードのセグメント識別子のフォーマットは限定されない。例えば、ネットワークノードがネットワークノードのセグメント識別子のフォーマットをネットワークノード101に通知する場合、このフォーマットは、ネットワークノードのセグメント識別子内にあるフラグフィールドの値を示さなくてもよく、フラグフィールドでサポートされ且つネットワークノードのセグメント識別子内にある1つ又は複数の値、例えば、初期設定値0あるいは初期設定値とは異なるフラグフィールドの1つ又は複数の値(例えば、1,2)を示してもよい。この場合、ネットワークノード101は、各ネットワークノードの複数のSID(言い換えれば、SID内のflag値)からセグメントルーティングポリシーに従って、パケット転送経路上にあり且つセグメントルーティングポリシーに適合するネットワークノードのSIDを選択し、選択したネットワークノードのSIDに基づいてパケットのセグメントリストを構築し、セグメントリストをパケットに追加してパケット転送を誘導してよい。この例において、セグメントリストは<SID6、SID3、SID2>であってよい。あるいは、セグメントリストはさらに、ネットワークノード101のセグメント識別子を含んでよく、具体的には<SID6、SID3、SID2、SID1>であってよい。図9Aに示すように、セグメントルーティングポリシーに従ってネットワークノード101により決定される各ネットワークノードのSID内のflag値がそれぞれ、flag6、flag3、flag2、及びflag1である。これらのflag値のうちの任意の2つが同じであってもよく、異なっていてもよい。これについては、本願のこの実施形態で限定されない。実際の応用では、同じネットワーク性能測定シナリオにおいて、flag1~6は概して同じである。例えば、flagが全て1の場合、これは、ネットワーク性能パラメータの種類が時間の種類であることを示しており、パケット伝送の遅延を計算するのに用いられる。
【0201】
これに対応して、ネットワークノード101は、決定したflag値をパケットに追加した後に、パケットのセグメントリストに基づいてパケットを処理してよい。具体的には、SRHに含まれるセグメントリストが<SID6、SID3、SID2、SID1>である場合、ネットワークノード101は、SID1内のflag1を取得し、さらに、flag1で示されるネットワーク性能パラメータの種類に対応するネットワークノード101のネットワーク性能パラメータを取得してよい。さらに、ネットワークノード101はセグメントリストからSID2(ネットワークノード101のネクストホップノードのセグメント識別子)を取得し、パケットの宛先アドレスをSID2に修正する。必要に応じて、ネットワークノード101のネットワーク性能パラメータはさらに、パケットに追加されてよい。例えば、ネットワーク性能パラメータは、パケットのセグメントリスト内にあるSID1の機能フィールドに追加されてもよく、パケットの別のフィールド、例えば、TLVフィールドに追加されてもよい。図9Aに示すように、例えば、ネットワークノード101のネットワーク性能パラメータNPP1が、SID1の機能(function)フィールドに格納される。
【0202】
SRHに含まれるセグメントリストが<SID6、SID3、SID2>である場合、ネットワークノード101は、SID2内のflag2を取得し、さらに、flag2で示されるネットワーク性能パラメータの種類に対応するネットワークノード101のネットワーク性能パラメータを取得してよい。さらに、ネットワークノード101は、パケットの宛先アドレスをSID2に修正し、ネットワークノード101のネットワーク性能パラメータをパケットに追加してよい。例えば、ネットワーク性能パラメータは、パケットのセグメントリスト内にあるSID2の機能フィールドに追加されてもよく、パケットの別のフィールド、例えば、TLVフィールドに追加されてもよい。図9Bに示すように、例えば、ネットワークノード101のネットワーク性能パラメータNPP1は、SID2の機能(function)フィールドに格納される。
【0203】
S803:ネットワークノード102がパケットを受信し、パケットの送信先アドレスフィールドの値がネットワークノード102のセグメント識別子と一致すると判定した場合、ネットワークノード102は、パケットのセグメントリストからSID3を取得し、パケットの宛先アドレスをSID3に置き換える。ネットワークノード102のネットワーク性能パラメータはパケットに追加され、ネットワークノード102のネットワーク性能パラメータが追加されたパケットは、ネットワークノード103に送信される。
【0204】
一例において、SRHに含まれるセグメントリストが<SID6、SID3、SID2、SID1>である場合、ネットワークノード102は、パケットを受信した後に、パケットの送信先アドレスフィールドの値がネットワークノード102によりパブリッシュされたセグメント識別子(SID2)と一致すると判定するならば、SID2のフラグフィールドの値であるflag2を解析して、flag2で示されるネットワーク性能パラメータの種類を決定してよい。次いで、ネットワークノード102は、ネットワーク性能パラメータの種類に基づいて、対応するネットワークノード102のネットワーク性能パラメータを取得してよい。必要に応じて、ネットワークノード102はさらに、SID2の別のフィールドの表示に基づいて、対応するオペレーションを行ってよく、例えば、SID2の機能フィールドに基づいて対応する機能オペレーション(例えば、パケットの格納)を行ってよい。これについては、本願のこの実施形態で限定されない。さらに、ネットワークノード102は、パケットのセグメントリストからSID3を取得し、パケットの宛先アドレスをSID3に修正し、ネットワークノード102のネットワーク性能パラメータNPP2をパケットに追加してよい。具体的には、ネットワークノード102のネットワーク性能パラメータNPP2は、セグメントリストのSID2に追加(例えば、SID2の機能フィールドに追加)されても、パケットの別のフィールド(例えば、TLVフィールド)に追加されてもよい。図9Aに示すように、NPP2はSID2の機能フィールドに追加される。
【0205】
一例において、SRHに含まれるセグメントリストが<SID6、SID3、SID2>である場合、同様にネットワークノード102は、パケットを受信した後に、パケットの送信先アドレスフィールドの値がネットワークノード102によりパブリッシュされたセグメント識別子(SID2)と一致すると判定するならば、パケットのセグメントリストからSID3を取得できる。さらに、ネットワークノード102は、SID3のflag3で示されるネットワーク性能パラメータの種類を取得し、ネットワーク性能パラメータの種類に基づいて、ネットワークノード102のネットワーク性能パラメータNPP2を取得してよい。NPP2は、SID3のflag3で示されるネットワーク性能パラメータの種類に対応するネットワーク性能パラメータである。次いで、ネットワークノード102は、パケットの宛先アドレスをSID3に修正し、ネットワークノード102のネットワーク性能パラメータNPP2をパケットに追加してよい。具体的には、ネットワーク性能パラメータNPP2は、セグメントリストのSID3(SID3の機能フィールド)、又はパケットの別のフィールド(例えば、TLVフィールドなど)に追加されてよい。図9Bに示すように、NPP2はSID3の機能フィールドに追加される。
【0206】
S804:ネットワークノード103がパケットを受信し、パケットの送信先アドレスフィールドの値がネットワークノード103のセグメント識別子と一致すると判定した場合、ネットワークノード103は、パケットのセグメントリストからSID6を取得し、パケットの宛先アドレスをSID6に置き換える。ネットワークノード103のネットワーク性能パラメータがパケットに追加され、ネットワークノード103のネットワーク性能パラメータが追加されたパケットがネットワークノード106に送信される。
【0207】
一例において、SRHに含まれるセグメントリストが<SID6、SID3、SID2、SID1>である場合、ネットワークノード103は、ネットワークノード103のネットワーク性能パラメータNPP3をパケットに追加してよく、例えば、ネットワーク性能パラメータNPP3をパケットのセグメントリストのSID3に追加しても、ネットワーク性能パラメータNPP3をパケットの別のフィールド(TLVフィールドなど)に追加してもよい。NPP3は、SID3のflag3で示されるネットワーク性能パラメータの種類に対応するネットワーク性能パラメータである。図9Aに示すように、NPP3はSID3の機能フィールドに追加される。
【0208】
一例において、SRHに含まれるセグメントリストが<SID6、SID3、SID2>である場合、ネットワークノード103は、ネットワークノード103のネットワーク性能パラメータNPP3をパケットに追加してよく、例えば、ネットワーク性能パラメータNPP3をパケットのセグメントリストのSID6に追加しても、ネットワーク性能パラメータNPP3をパケットの別のフィールド(TLVフィールドなど)に追加してもよい。NPP3は具体的には、SID6のflag6で示されるネットワーク性能パラメータの種類に対応するネットワーク性能パラメータである。図9Bに示すように、NPP3はSID6の機能フィールドに追加される。この例に示されても説明されてもいない内容については、S803の関連説明を参照されたい。詳細は、再度ここで説明しない。
【0209】
特定の実装では、図4Bに示すネットワークフレームワークにおいて、SRv6機能をサポートしないネットワークノード109が、ネットワークノード103とネットワークノード106との間にまだ存在している。実際の通信プロセスにおいて、ネットワークノード103は、パケットの宛先アドレスをSID6に置き換えた後に、ネットワークノード103のネットワーク性能パラメータをパケットに追加し、さらに、ネットワークノード103のネットワーク性能パラメータが追加されたパケットをネットワークノード109に送信してよい。ネットワークノード109はSRv6機能をサポートしない、言い換えれば、ネットワークノード109はネットワークノード109のセグメント識別子を有していない。ネットワークノード109は、パケットを受信した後に、既存のノード処理手順をIPv6ネットワークに基づいて修正してよい。ネットワークノード109がパケットの宛先アドレスに基づいてネクストホップノード(すなわち、ネットワークノード106)を見つけた後に、ネットワークノード109は、パケットで搬送されるflag値を照会し(実際のサービス通信では、flag1~flag6が同じであるため、ここで照会されるflag値は具体的には、flag1~flag6のうちのいずれか1つ又は複数であってよい)、ネットワークノード109のネットワーク性能パラメータNPP9をパケットの別のフィールド、例えば、TLVフィールドに追加してよい。具体的には、図9Cに示すように、ネットワークノード109のネットワーク性能パラメータNPP9はパケットのTLVフィールドに追加される。ネットワークノード109のネットワーク性能パラメータは、flag値で示されるネットワーク性能パラメータの種類に対応するネットワーク性能パラメータである。
【0210】
必要に応じて、ネットワークノード109は、ネットワークノード103により送信されるパケットを受信した後に、パケットを解析することにより、各ネットワークノードのネットワーク性能パラメータを取得してよい。これに対応して、ネットワークノード109は、各ネットワークノードのネットワーク性能パラメータに基づいて、対応するネットワーク性能計算を行ってよい。
【0211】
段階S805:ネットワークノード106がパケットを受信し、パケットの送信先アドレスフィールドの値がネットワークノード106のセグメント識別子と一致すると判定する場合、パケットのネットワーク性能パラメータに基づいてネットワーク性能を計算する。
【0212】
具体的には、セグメントリストが入口ノードのセグメント識別子を含む場合、例えば、セグメントリストが<SID6、SID3、SID2、SID1>である場合、図9Aを参照すると、各ネットワークノードのネットワーク性能パラメータはネットワークノードのセグメント識別子に格納される。例えば、ネットワークノード101のネットワーク性能パラメータNPP1はネットワークノード101のSID1に格納される。セグメントリストが入口ノードのセグメント識別子を含まない場合、例えば、セグメントリストが<SID6、SID3、SID2>である場合、図9Bを参照して、各ネットワークノードのネットワーク性能パラメータは、ネットワークノードに対応するネクストホップセグメントノードのセグメント識別子に格納される。例えば、ネットワークノード101のネットワーク性能パラメータNPP1はネットワークノード102のSID2に格納される。ネットワークノード106がパケットを受信した後に、ネットワークノード106が、セグメントリストで示される最終セグメントノードであるため、ネットワークノード106のネットワーク性能パラメータをセグメントリストに含める必要はなく、セグメントリスト内にある各ネットワークノードのネットワーク性能パラメータに基づいてネットワーク性能だけを計算すればよい。必要に応じて、セグメントリスト内にあるSIDのflag値が同じである。ネットワークノード106は、パケットを受信した後に、パケットの送信先アドレスフィールドのflag値に基づいて、flag値で示されるネットワーク性能パラメータの種類のネットワーク性能を計算してよい。例えば、パケットの送信先アドレスフィールドのflag値が1である場合、言い換えれば、セグメントリストの各SIDがパケット送信時点に関連したネットワーク性能パラメータを記録する場合、ネットワークノード106はパケット転送遅延に関連するネットワーク性能を計算する。
【0213】
本願の実施形態を実現することで、ネットワークノードのセグメント識別子のフォーマットを明示的に通知できないためにネットワークノードのプログラミング能力が低いという従来技術の課題を解決できる。これにより、ネットワークノードのプログラミング能力が向上する。
【0214】
図1図9Cに示す前述の関連実施形態に関連して、以下では、本願の実施形態における関連する装置、デバイス、及びシステムを説明する。図10は、本願の一実施形態によるパケット処理システムを示す。システム100は、第1ネットワークデバイス102と第2ネットワークデバイス104とを含んでよい。第1ネットワークデバイス102は、通信モジュール1021と処理モジュール1022とを含む。第2ネットワークデバイス104は、通信モジュール1041と処理モジュール1042とを含む。
【0215】
処理モジュール1022は、第1ネットワークデバイス102の動作を制御し且つ管理するように構成される。例えば、処理モジュール1022は、図5の段階S502、図6Aの段階S600、段階S601、及び段階S602、図8Aの段階S800、段階S801、及び段階S802、並びに/又は本明細書で説明した技術を実行するのに用いられる別の段階を行うように構成されてよい。通信モジュール1021は、別のデバイス又はモジュールと通信する際に第1ネットワークデバイス102をサポートするように構成される。例えば、通信モジュール1021は、図5の段階S503を行う際に第1ネットワークデバイス102をサポートするように構成され、且つ/又は本明細書で説明した技術を実行するのに用いられる別の段階を行うように構成される。
【0216】
処理モジュール1042は、第2ネットワークデバイス104の動作を制御し且つ管理するように構成される。例えば、処理モジュール1042は、図5の段階S504、図6A及び図6Bの段階S603~S605の任意の段階、図8Bの段階S803~S805の任意の段階、及び/又は本明細書で説明した技術を実行するのに用いられる別の段階を行うように構成されてよい。通信モジュール1041は、別のデバイス又はモジュールと通信する際に第2ネットワークデバイス104をサポートするように構成される。例えば、通信モジュール102は、図5の段階S500及びS501を行う際に第2ネットワークデバイス104をサポートするように構成され、且つ/又は本明細書で説明した技術を実行するのに用いられる別の段階を行うように構成される。
【0217】
必要に応じて、第1ネットワークデバイス102はさらに、記憶モジュール1023を含んでよい。記憶モジュール1023は、第1ネットワークデバイス102のプログラムコード及びデータを格納するように構成される。これに対応して、処理モジュール1022は、記憶モジュール1023に含まれるプログラムコードを呼び出して、図5図6A及び図6B、又は図8A及び図8Bの方法の実施形態のうちのいずれか1つで説明され、且つ第1ネットワークノードにより実行される実行段階の一部又は全部を行ってよい。第2ネットワークデバイス104はさらに、記憶モジュール1043を含んでよい。記憶モジュール1043は、第2ネットワークデバイス104のプログラムコード及びデータを格納するように構成される。これに対応して、処理モジュール1042は、記憶モジュール1043に含まれるプログラムコードを呼び出して、図5図6A及び図6B、又は図8A及び図8Bの方法の実施形態のうちのいずれか1つで説明され、且つ第2ネットワークノード(又は第1ネットワークノード以外の任意のネットワークノード)により実行される実行段階の一部又は全部を行ってよい。
【0218】
処理モジュール(具体的には、処理モジュール1022でも1042でもよい)は、中央演算処理装置(Central Processing Unit、CPU)、汎用プロセッサ、デジタル信号プロセッサ(Digital Signal Processor、DSP)、特定用途向け集積回路(Application-Specific Integrated Circuit、ASIC)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGA)若しくは別のプログラム可能型論理デバイス、トランジスタ論理デバイス、ハードウェアコンポーネント、又はこれらの任意の組み合わせなどの、プロセッサでもコントローラでもよい。プロセッサは、本願で開示された内容を参照して説明した様々な例示的な論理ブロック、モジュール、及び回路を実現しても実行してもよい。プロセッサは、コンピューティング機能を実装する複数のプロセッサの組み合わせ、例えば、1つ又は複数のマイクロプロセッサの組み合わせであっても、DSPとマイクロプロセッサとの組み合わせであってもよい。通信モジュール(具体的には、通信モジュール1021でも1041でもよい)は、通信インタフェース、送受信機、又は送受信回路などであってもよい。通信インタフェースは一般用語であり、1つ又は複数のインタフェース、例えば、通信モジュールと処理モジュールとのインタフェース、又はコンピューティングデバイスと別のデバイスとのインタフェースを含んでよい。記憶モジュール(具体的には、記憶モジュール1023でも1043でもよい)は、メモリであってもよく、記憶機能を提供するように構成された別のサービス又はモジュールであってもよい。
【0219】
処理モジュールがプロセッサである場合、通信モジュールは通信インタフェースであり、記憶モジュールはメモリであり、本願のこの実施形態におけるパケット処理システムは、図11に示すパケット処理システムであってよい。
【0220】
図11を参照すると、パケット処理システム110は、第1ネットワークデバイス112と第2ネットワークデバイス114とを含む。第1ネットワークデバイス112は、通信インタフェース1121、プロセッサ1122、及びメモリ1123を含む。必要に応じて、第1ネットワークデバイス112はさらにバス1124を含んでよい。通信インタフェース1121、プロセッサ1122、及びメモリ1123は、バス1124を用いて互いに接続されてよい。バス1124は、ペリフェラルコンポーネントインターコネクト(Peripheral Component Interconnect、略してPCI)バス、又は拡張型業界標準アーキテクチャ(Extended Industry Standard Architecture、略してEISA)バスなどであってもよい。バス1124は、アドレスバス、データバス、及び制御バスなどに分類されてよい。説明しやすいように、図11では太線を1つだけ用いてバスを表しているが、これは、バスが1つしかないこと、又はバスの種類が1つしかないことを意味しているわけではない。
【0221】
同様に、第2ネットワークデバイス114は、通信インタフェース1141、プロセッサ1142、及びメモリ1143を含む。必要に応じて、第2ネットワークデバイス114はさらにバス1144を含んでよい。通信インタフェース1141、プロセッサ1142、及びメモリ1143は、バス1144を用いて互いに接続されてよい。バス1144については、前述の関連説明を参照されたい。
【0222】
プロセッサ(具体的には、プロセッサ1122でも1142でもよい)は、1つ又は複数の汎用プロセッサ、例えば、中央演算処理装置(Central Processing Unit、CPU)を含んでよい。プロセッサは、関連プログラムコードの処理機能に関するプログラムを実行するように構成されてよい。言い換えれば、プロセッサは、プログラムコードを実行することで処理モジュールの機能を実装してよい。処理モジュールに関する詳細については、前述の実施形態の関連説明を参照されたい。具体的には、プロセッサ1122は、メモリ1123に含まれる関連プログラムコードを実行して、処理モジュール1022の機能を実装する、あるいは図5の段階S502、図6Aの段階S601及び段階S602、並びに図8Aの段階S801及び段階S802を実装するように構成されてよく、且つ/又は本明細書で説明された技術の他の段階を実行するように構成される。
【0223】
プロセッサ1142は、メモリ1143に含まれる関連プログラムコードを実行して、処理モジュール1042の機能を実装する、あるいは図5の段階S504、図6A及び図6Bの段階S603~S605の任意の段階、若しくは図8Bの段階S803~S805の任意の段階を実装するように構成されてよく、且つ/又は本明細書で説明された技術の他の段階を実行するように構成される。
【0224】
通信インタフェース(具体的には、通信インタフェース1121でも1141でもよい)は、有線インタフェース(例えば、イーサネット(登録商標)インタフェース)であっても、無線インタフェース(例えば、セルラーネットワークインタフェース又は無線ローカルエリアネットワークインタフェース)であってもよく、別のモジュール又はデバイスと通信するように構成される。例えば、本願のこの実施形態における通信インタフェース1121は具体的には、第2ネットワークデバイスにより送信されるパケットを受信する、又は第2ネットワークデバイスにパケットを送信するように構成されてよい。
【0225】
メモリ(具体的には、メモリ1123でも1143でもよい)は、揮発性メモリ(Volatile Memory)、例えば、ランダムアクセスメモリ(Random Access Memory、RAM)を含んでよい。メモリは、不揮発性メモリ(Non-Volatile Memory)、例えば、読み出し専用メモリ(Read-Only Memory、ROM)、フラッシュメモリ(Flash Memory)、ハードディスクドライブ(Hard Disk Drive、HDD)、又はソリッドステートドライブ(Solid-State Drive、SSD)も含んでよい。メモリ1003はさらに、前述の種類のメモリの組み合わせを含んでよい。メモリは、一群のプログラムコードを格納するように構成されてよいので、プロセッサはメモリに格納されたプログラムコードを呼び出して、本願の実施形態に含まれる通信モジュール及び/又は処理モジュールの機能を実現する。これについては、本願の実施形態で限定されない。
【0226】
図10又は図11は、本願のこの実施形態の単なる実行可能な実装形態にすぎないことに留意されたい。実際の応用では、パケット処理システムはさらに、より多くの又はより少ない構成要素を含んでよい。これについては、本明細書では限定されない。本願のこの実施形態で示されていない又は記載されていない内容については、図5図6A及び図6B、又は図8A及び図8Bの実施形態における関連説明を参照されたい。詳細は、再度ここで説明しない。
【0227】
本発明の一実施形態がさらに、コンピュータ非一時的記憶媒体を提供する。コンピュータ非一時的記憶媒体は命令を格納し、命令をプロセッサ上で実行すると、図5図6A及び図6B、又は図8A及び図8Bで説明した任意の方法の手順が実施される。
【0228】
本発明の一実施形態がさらに、コンピュータプログラム製品を提供する。コンピュータプログラム製品をプロセッサ上で実行すると、図5図6A及び図6B、又は図8A及び図8Bで説明した任意の方法の手順が実施される。
【0229】
本発明のこの実施形態で開示された内容と組み合わせて説明された方法又はアルゴリズム段階が、ハードウェアで実現されてもよく、プロセッサがソフトウェア命令を実行することで実現されてもよい。ソフトウェア命令は、対応するソフトウェアモジュールを含んでよい。ソフトウェアモジュールは、ランダムアクセスメモリ(Random Access Memory、略してRAM)、フラッシュメモリ、読み出し専用メモリ(Read Only Memory、ROM)、消去可能プログラム可能型読み出し専用メモリ(Erasable Programmable ROM、EPROM)、電気的消去可能プログラム可能型読み出し専用メモリ(Electrically EPROM、EEPROM)、レジスタ、ハードディスク、携帯型ハードディスク、コンパクトディスク読み出し専用メモリ(CD-ROM)、又は当技術分野でよく知られた任意の他の形態の記憶媒体に格納されてよい。例えば、記憶媒体がプロセッサに連結されることにより、プロセッサは、記憶媒体から情報を読み出す、又は記憶媒体に情報を書き込むことができる。もちろん、記憶媒体は、プロセッサの構成要素であってよい。プロセッサ及び記憶媒体は、ASICの中に位置してよい。さらに、ASICはコンピューティングデバイス上に位置してよい。もちろん、プロセッサ及び記憶媒体は、別個の構成要素としてコンピューティングデバイスの中に存在してもよい。
【0230】
当業者であれば、これらの実施形態に含まれるプロセス及び方法の全部又は一部が、関係のあるハードウェアに命令するコンピュータプログラムで実現されてよいことを理解するであろう。プログラムは、コンピュータ可読記憶媒体に格納されてよい。プログラムを実行すると、これらの実施形態に含まれる方法のプロセスが行われる。前述の記憶媒体は、プログラムコードを格納できる任意の媒体(ROM、RAM、磁気ディスク、又は光ディスクなど)を含む。
[他の考えられる項目]
(項目1)
パケット処理方法であって、
第1ネットワークノードが第2ネットワークノードにより送信される第1パケットを受信する段階であって、上記第1パケットは上記第2ネットワークノードのセグメント識別子のフォーマットを含み、上記第2ネットワークノードの上記セグメント識別子の上記フォーマットは上記第2ネットワークノードの上記セグメント識別子内にある各フィールドの長さ及び位置を示すのに用いられる、受信する段階と、
上記第1ネットワークノードが上記第2ネットワークノードの上記セグメント識別子の上記フォーマットを上記第1パケットに基づいて取得する段階であって、上記第2ネットワークノードの上記セグメント識別子は第1フィールドを含む、取得する段階と、
上記第1ネットワークノードが上記第2ネットワークノードの上記セグメント識別子内にある上記第1フィールドの値を、セグメントルーティングポリシーと上記第2ネットワークノードの上記セグメント識別子の上記フォーマットとに基づいて決定し、上記第1フィールドの上記決定した値を上記第2ネットワークノードに送信される第2パケットに追加する段階であって、上記第1フィールドの上記決定した値は上記第2パケットを処理するよう上記第2ネットワークノードに指示するのに用いられる、追加する段階と
を備える方法。
(項目2)
上記第1ネットワークノードが上記第2ネットワークノードの上記セグメント識別子内にある上記第1フィールドの値をセグメントルーティングポリシーに従って決定する上記段階は、
上記第2ネットワークノードの上記セグメント識別子に含まれる上記第1フィールドの上記値が特定値である場合、上記第1ネットワークノードが上記第1フィールドの上記値を上記セグメントルーティングポリシーに従って修正し、修正した値を上記第1フィールドの上記決定した値として用いる段階、又は
上記第2ネットワークノードの上記セグメント識別子が上記第1フィールドの上記値を含み、且つ上記第1フィールドの値が複数ある場合、上記第1ネットワークノードが上記セグメントルーティングポリシーに従って、上記第1フィールドの複数の上記値から上記セグメントルーティングポリシーに適合する値を選択し、上記値を上記第1フィールドの上記決定した値として用いる段階
を有する、項目1に記載の方法。
(項目3)
上記第1フィールドはフラグフィールドであり、上記第1フィールドの上記決定した値は上記フラグフィールドの決定した値であり、上記フラグフィールドの上記決定した値はネットワーク性能パラメータの種類を示すのに用いられ、上記フラグフィールドの上記決定した値はさらに、上記ネットワーク性能パラメータの種類に対応するネットワーク性能パラメータを上記第2パケットに追加するよう上記第2ネットワークノードに指示するのに用いられる、項目1又は2に記載の方法。
(項目4)
上記第2ネットワークノードがインターネットプロトコルバージョン6SRv6で利用されるセグメントルーティングをサポートする場合、上記フラグフィールドの上記決定した値は具体的には、上記ネットワーク性能パラメータの種類に対応する上記ネットワーク性能パラメータを上記第2パケット内の上記第2ネットワークノードの上記セグメント識別子に追加するよう上記第2ネットワークノードに指示するのに用いられる、項目3に記載の方法。
(項目5)
上記第2ネットワークノードがインターネットプロトコルバージョン6IPv6をサポートする場合、上記フラグフィールドの上記決定した値は具体的には、上記ネットワーク性能パラメータの種類に対応する上記ネットワーク性能パラメータを、上記第2ネットワークノードの上記セグメント識別子以外の、上記第2パケット内のフィールドに追加するよう上記第2ネットワークノードに指示するのに用いられる、項目3に記載の方法。
(項目6)
上記ネットワーク性能パラメータは、
上記第2ネットワークノードが上記第2パケットを送信する時点と、
上記第2ネットワークノードが上記第2パケットを送信する前に受信するサービスパケットの数であって、上記サービスパケット及び上記第2パケットは同じデータフローに属している、サービスパケットの数と、
上記第2ネットワークノードのパケット送信キューのキュー長であって、上記パケット送信キューは、上記第2パケットが格納されているキューである、キュー長と、
上記第2ネットワークノードが上記第2パケットを伝送するのに用いられる通信インタフェースと
のうちの少なくとも1つを含む、項目4又は5に記載の方法。
(項目7)
上記第1フィールドはネットワークスライスフィールドであり、上記第1フィールドの上記決定した値は上記ネットワークスライスフィールドの決定した値であり、上記ネットワークスライスフィールドの上記決定した値はネットワークスライス識別子を示すのに用いられ、上記ネットワークスライスフィールドの上記決定した値はさらに、上記第2パケットを上記ネットワークスライス識別子に基づいて処理するよう上記第2ネットワークノードに指示するのに用いられ、上記ネットワークスライス識別子は、上記第2パケットが伝送されるときに用いられるネットワークスライスを識別するのに用いられる、項目1又は2に記載の方法。
(項目8)
複数の第1フィールドがある場合、上記複数の第1フィールドのうちの1つの第1フィールドがフラグフィールドであり、上記複数の第1フィールドのうちの別の第1フィールドがネットワークスライスフィールドであり、
上記フラグフィールドの上記決定した値はネットワーク性能パラメータの種類を示すのに用いられ、上記フラグフィールドの上記決定した値はさらに、上記ネットワーク性能パラメータの種類に対応するネットワーク性能パラメータを上記第2パケットに追加するよう上記第2ネットワークノードに指示するのに用いられ、
上記ネットワークスライスフィールドの上記決定した値はネットワークスライス識別子を示すのに用いられ、上記ネットワークスライスフィールドの上記決定した値はさらに、上記第2パケットを上記ネットワークスライス識別子に基づいて処理するよう上記第2ネットワークノードに指示するのに用いられ、上記ネットワークスライス識別子は上記第2パケットが伝送されるときに用いられるネットワークスライスを識別するのに用いられる、項目1又は2に記載の方法。
(項目9)
パケット処理方法であって、
第2ネットワークノードが上記第2ネットワークノードのセグメント識別子のフォーマットを決定する段階であって、上記第2ネットワークノードの上記セグメント識別子の上記フォーマットは、上記第2ネットワークノードの上記セグメント識別子内にある各フィールドの長さ及び位置を示すのに用いられ、上記第2ネットワークノードの上記セグメント識別子は第1フィールドを含む、決定する段階と、
上記第2ネットワークノードが第1ネットワークノードに第1パケットを送信する段階であって、上記第1パケットは上記第2ネットワークノードの上記セグメント識別子の上記フォーマットを含み、上記セグメント識別子の上記フォーマットは、上記第1ネットワークノードが上記第2ネットワークノードの上記セグメント識別子内にある上記第1フィールドの値をセグメントルーティングポリシーに従って決定し、上記第1フィールドの上記決定した値を上記第2ネットワークノードに送信される第2パケットに追加するのに用いられる、送信する段階と
を備える方法。
(項目10)
上記第2ネットワークノードの上記セグメント識別子に含まれる上記第1フィールドの上記値が特定値である場合、上記第1フィールドの上記決定した値は、上記第1ネットワークノードが上記第2ネットワークノードの上記セグメント識別子の上記フォーマット内の上記第1フィールドの上記値を上記セグメントルーティングポリシーに従って修正することにより取得される、又は
上記第2ネットワークノードの上記セグメント識別子の上記フォーマットが上記第1フィールドの上記値を含み、且つ上記第1フィールドの値が複数ある場合、上記第1フィールドの上記決定した値は、上記セグメントルーティングポリシーに適合し且つ上記第1フィールドの複数の上記値から上記セグメントルーティングポリシーに従って上記第1ネットワークノードにより選択される値である、項目9に記載の方法。
(項目11)
上記第1フィールドはフラグフィールドを含み、上記第1フィールドの上記決定した値は上記フラグフィールドの上記決定した値であり、上記フラグフィールドの上記決定した値はネットワーク性能パラメータの種類を示すのに用いられ、上記フラグフィールドの上記決定した値はさらに、上記ネットワーク性能パラメータの種類に対応するネットワーク性能パラメータを上記第2パケットに追加するよう上記第2ネットワークノードに指示するのに用いられる、項目9又は10に記載の方法。
(項目12)
上記第1フィールドはネットワークスライスフィールドを含み、上記第1フィールドの上記決定した値は上記ネットワークスライスフィールドの上記決定した値であり、上記ネットワークスライスフィールドの上記決定した値はネットワークスライス識別子を示すのに用いられ、上記ネットワークスライスフィールドの上記決定した値はさらに、上記第2パケットを上記ネットワークスライス識別子に基づいて処理するよう上記第2ネットワークノードに指示するのに用いられ、上記ネットワークスライス識別子は、上記第2パケットが伝送されるときに用いられるネットワークスライスを識別するのに用いられる、項目9又は10に記載の方法。
(項目13)
複数の第1フィールドがある場合、上記複数の第1フィールドのうちの1つの第1フィールドがフラグフィールドであり、上記複数の第1フィールドのうちの別の第1フィールドがネットワークスライスフィールドであり、
上記フラグフィールドの上記決定した値はネットワーク性能パラメータの種類を示すのに用いられ、上記フラグフィールドの上記決定した値はさらに、上記ネットワーク性能パラメータの種類に対応するネットワーク性能パラメータを上記第2パケットに追加するよう上記第2ネットワークノードに指示するのに用いられ、
上記ネットワークスライスフィールドの上記決定した値はネットワークスライス識別子を示すのに用いられ、上記ネットワークスライスフィールドの上記決定した値はさらに、上記第2パケットを上記ネットワークスライス識別子に基づいて処理するよう上記第2ネットワークノードに指示するのに用いられ、上記ネットワークスライス識別子は上記第2パケットが伝送されるときに用いられるネットワークスライスを識別するのに用いられる、項目9又は10に記載の方法。
(項目14)
パケット処理システムに適用されるパケット処理方法であって、上記パケット処理システムは第1ネットワークノードと第2ネットワークノードとを備え、上記方法は、
上記第2ネットワークノードが上記第1ネットワークノードに第1パケットを送信する段階であって、上記第1パケットは上記第2ネットワークノードのセグメント識別子のフォーマットを含み、上記第2ネットワークノードの上記セグメント識別子の上記フォーマットは、上記第2ネットワークノードの上記セグメント識別子内にある各フィールドの長さ及び位置を示すのに用いられ、上記第2ネットワークノードの上記セグメント識別子はネットワークスライスフィールドを含む、送信する段階と、
上記第2ネットワークノードが上記第1ネットワークノードにより送信される第2パケットを受信する段階であって、上記第2パケットは上記第2ネットワークノードの上記セグメント識別子を含み、上記第2ネットワークノードの上記セグメント識別子は上記ネットワークスライスフィールドの値を含み、上記ネットワークスライスフィールドの上記値は上記第1ネットワークノードによりセグメントルーティングポリシーに従って決定される、受信する段階と、
上記第2ネットワークノードが上記第2パケットを上記ネットワークスライスフィールドの上記値に基づいて処理する段階と
を備える方法。
(項目15)
上記第2ネットワークノードが上記第2パケットを上記ネットワークスライスフィールドの上記値に基づいて処理する上記段階は、
上記第2ネットワークノードが上記第2パケットを上記ネットワークスライスフィールドの上記値によって示されるネットワークスライス識別子に基づいて処理する段階を有する、項目14に記載の方法。
(項目16)
パケット処理システムに適用されるパケット処理方法であって、上記パケット処理システムは第1ネットワークノードと第2ネットワークノードとを備え、上記方法は、
上記第2ネットワークノードが上記第1ネットワークノードに第1パケットを送信する段階であって、上記第1パケットは上記第2ネットワークノードのセグメント識別子のフォーマットを含み、上記第2ネットワークノードの上記セグメント識別子の上記フォーマットは、上記第2ネットワークノードの上記セグメント識別子内にある各フィールドの長さ及び位置を示すのに用いられ、上記第2ネットワークノードの上記セグメント識別子はフラグフィールドを含む、送信する段階と、
上記第2ネットワークノードが上記第1ネットワークノードにより送信される第2パケットを受信する段階であって、上記第2パケットは上記フラグフィールドの値を含み、上記フラグフィールドの上記値は上記第1ネットワークノードによりセグメントルーティングポリシーに従って決定され、上記フラグフィールドの上記値はネットワーク性能パラメータの種類を示すのに用いられる、受信する段階と、
上記第2ネットワークノードが上記第2ネットワークノードのネットワーク性能パラメータを上記第2パケットに追加する段階であって、上記ネットワーク性能パラメータは上記ネットワーク性能パラメータの種類に対応するネットワーク性能パラメータである、追加する段階と
を備える方法。
(項目17)
上記第2ネットワークノードがインターネットプロトコルバージョン6SRv6で利用されるセグメントルーティングをサポートする場合、上記第2ネットワークノードが上記第2ネットワークノードのネットワーク性能パラメータを上記第2パケットに追加する上記段階は、
上記第2ネットワークノードが上記第2ネットワークノードの上記ネットワーク性能パラメータを上記第2パケット内の上記第2ネットワークノードの上記セグメント識別子に追加する段階を有する、項目16に記載の方法。
(項目18)
上記第2ネットワークノードがインターネットプロトコルバージョン6IPv6をサポートする場合、上記第2ネットワークノードが上記第2ネットワークノードのネットワーク性能パラメータを上記第2パケットに追加する上記段階は、
上記第2ネットワークノードが上記第2ネットワークノードの上記ネットワーク性能パラメータを、上記第2ネットワークノードの上記セグメント識別子以外の、上記第2パケット内のバイトに追加する段階を有する、項目16に記載の方法。
(項目19)
上記ネットワーク性能パラメータは、
上記第2ネットワークノードが上記第2パケットを送信する時点と、
上記第2ネットワークノードが上記第2パケットを送信する前に受信するサービスパケットの数であって、上記サービスパケット及び上記第2パケットは同じデータフローに属している、サービスパケットの数と、
上記第2ネットワークノードのパケット送信キューのキュー長であって、上記パケット送信キューは、上記第2パケットが格納されているキューである、キュー長と、
上記第2ネットワークノードが上記第2パケットを伝送するのに用いられる通信インタフェースと
のうちの少なくとも1つを含む、項目16から18のいずれか一項に記載の方法。
(項目20)
第1ネットワークノードと第2ネットワークノードとを備えるパケット処理システムであって、
上記第2ネットワークノードは上記第1ネットワークノードに第1パケットを送信するように構成され、上記第1パケットは上記第2ネットワークノードのセグメント識別子のフォーマットを含み、上記第2ネットワークノードの上記セグメント識別子の上記フォーマットは、上記第2ネットワークノードの上記セグメント識別子内にある各フィールドの長さ及び位置を示すのに用いられ、
上記第1ネットワークノードは上記第1パケットを受信し、上記第1パケットに基づいて上記第2ネットワークノードの上記セグメント識別子の上記フォーマットを取得するように構成され、上記第2ネットワークノードの上記セグメント識別子は第1フィールドを含み、
上記第1ネットワークノードはさらに、上記第2ネットワークノードの上記セグメント識別子内にある上記第1フィールドの値を、上記セグメントルーティングポリシーと上記第2ネットワークノードの上記セグメント識別子の上記フォーマットとに基づいて決定し、上記第1フィールドの上記決定した値を上記第2ネットワークノードに送信される第2パケットに追加するように構成される、システム。
(項目21)
上記第1ネットワークノードは具体的には、上記第2ネットワークノードの上記セグメント識別子に含まれる上記第1フィールドの上記値が特定値である場合、上記第1フィールドの上記値を上記セグメントルーティングポリシーに従って修正し、修正した値を上記第1フィールドの上記決定した値として用いるように構成される、又は
上記第1ネットワークノードは具体的には、上記第2ネットワークノードの上記セグメント識別子の上記フォーマットに含まれる上記第1フィールドの値が複数ある場合、上記第1フィールドの複数の上記値から上記セグメントルーティングポリシーに従って上記セグメントルーティングポリシーに適合する値を選択し、上記値を上記第1フィールドの上記決定した値として用いるように構成される、項目20に記載のシステム。
(項目22)
上記第1ネットワークノードはさらに、上記第1フィールドの上記決定した値を搬送する上記第2パケットを上記第2ネットワークノードに送信するように構成され、
上記第2ネットワークノードはさらに、上記第2パケットを受信し、上記第2パケット内の上記第1フィールドの上記決定した値に基づいて上記第2パケットを処理するように構成される、項目20又は21に記載のシステム。
(項目23)
上記第1フィールドはフラグフィールドであり、上記第1フィールドの上記決定した値は上記フラグフィールドの上記決定した値であり、上記フラグフィールドの上記決定した値はネットワーク性能パラメータの種類を示すのに用いられ、
上記第2ネットワークノードは具体的には、上記ネットワーク性能パラメータの種類に対応する、上記第2ネットワークノードのネットワーク性能パラメータを、上記第2パケットに追加するように構成される、項目22に記載のシステム。
(項目24)
上記第2ネットワークノードがインターネットプロトコルバージョン6SRv6で利用されるセグメントルーティングをサポートする場合、上記第2ネットワークノードは具体的には、上記ネットワーク性能パラメータの種類に対応する、上記第2ネットワークノードの上記ネットワーク性能パラメータを、上記第2パケット内の上記第2ネットワークノードの上記セグメント識別子に追加するように構成される、項目23に記載のシステム。
(項目25)
上記第2ネットワークノードがインターネットプロトコルバージョン6IPv6をサポートする場合、上記第2ネットワークノードは具体的には、上記ネットワーク性能パラメータの種類に対応する、上記第2ネットワークノードの上記ネットワーク性能パラメータを、上記第2ネットワークノードの上記セグメント識別子以外の、上記第2パケット内のバイトに追加するように構成される、項目23に記載のシステム。
(項目26)
上記ネットワーク性能パラメータは、
上記第2ネットワークノードが上記第2パケットを送信する時点と、
上記第2ネットワークノードが上記第2パケットを送信する前に受信するサービスパケットの数であって、上記サービスパケット及び上記第2パケットは同じデータフローに属している、サービスパケットの数と、
上記第2ネットワークノードのパケット送信キューのキュー長であって、上記パケット送信キューは、上記第2パケットが格納されているキューである、キュー長と、
上記第2ネットワークノードが上記第2パケットを伝送するのに用いられる通信インタフェースと
のうちの少なくとも1つを含む、項目23から25のいずれか一項に記載のシステム。
(項目27)
上記第1フィールドはネットワークスライスフィールドであり、上記第1フィールドの上記決定した値は上記ネットワークスライスフィールドの上記決定した値であり、上記ネットワークスライスフィールドの上記決定した値はネットワークスライス識別子を示すのに用いられ、
上記第2ネットワークノードは具体的には、上記ネットワークスライス識別子に対応するネットワークスライスで提供されるネットワークサービスに基づいて上記第2パケットを送信するように構成される、項目20又は21に記載のシステム。
(項目28)
複数の第1フィールドがある場合、上記複数の第1フィールドのうちの1つの第1フィールドがフラグフィールドであり、上記複数の第1フィールドのうちの別の第1フィールドがネットワークスライスフィールドであり、
上記フラグフィールドの上記決定した値はネットワーク性能パラメータの種類を示すのに用いられ、上記フラグフィールドの上記決定した値はさらに、上記ネットワーク性能パラメータの種類に対応するネットワーク性能パラメータを上記第2パケットに追加するよう上記第2ネットワークノードに指示するのに用いられ、
上記ネットワークスライスフィールドの上記決定した値はネットワークスライス識別子を示すのに用いられ、上記ネットワークスライスフィールドの上記決定した値はさらに、上記第2パケットを上記ネットワークスライス識別子に基づいて処理するよう上記第2ネットワークノードに指示するのに用いられ、上記ネットワークスライス識別子は上記第2パケットが伝送されるときに用いられるネットワークスライスを識別するのに用いられる、項目20に記載のシステム。
(項目29)
パケット処理システムに適用されるネットワークデバイスであって、上記パケット処理システムは第1ネットワークノードと第2ネットワークノードとを備え、上記ネットワークデバイスは第1ネットワークデバイスであり、上記ネットワークデバイスはプロセッサとメモリとを備え、上記メモリは命令を格納するように構成され、上記プロセッサは上記メモリ内の上記命令を呼び出して、項目1から8のいずれか一項に記載の方法を実行するように構成される、ネットワークデバイス。
(項目30)
パケット処理システムに適用されるネットワークデバイスであって、上記パケット処理システムは第1ネットワークノードと第2ネットワークノードとを備え、上記ネットワークデバイスは第2ネットワークデバイスであり、上記ネットワークデバイスはプロセッサとメモリとを備え、上記メモリは命令を格納するように構成され、上記プロセッサは上記メモリ内の上記命令を呼び出して、項目9から13のいずれか一項に記載の方法を実行するように構成される、ネットワークデバイス。
(項目31)
パケット処理システムに適用されるネットワークデバイスであって、上記パケット処理システムは第1ネットワークノードと第2ネットワークノードとを備え、上記ネットワークデバイスは第2ネットワークデバイスであり、上記ネットワークデバイスはプロセッサとメモリとを備え、上記メモリは命令を格納するように構成され、上記プロセッサは上記メモリ内の上記命令を呼び出して、項目14から15のいずれか一項に記載の方法を実行するように構成される、ネットワークデバイス。
(項目32)
パケット処理システムに適用されるネットワークデバイスであって、上記パケット処理システムは第1ネットワークノードと第2ネットワークノードとを備え、上記ネットワークデバイスは第2ネットワークデバイスであり、上記ネットワークデバイスはプロセッサとメモリとを備え、上記メモリは命令を格納するように構成され、上記プロセッサは上記メモリ内の上記命令を呼び出して、項目16から19のいずれか一項に記載の方法を実行するように構成される、ネットワークデバイス。
(項目33)
コンピュータ非一時的記憶媒体であって、上記コンピュータ非一時的記憶媒体はコンピュータプログラムを格納し、上記コンピュータプログラムがコンピューティングデバイスで実行されると、上記コンピューティングデバイスは項目1から8のいずれか一項に記載の方法を実現する、コンピュータ非一時的記憶媒体。
(項目34)
コンピュータ非一時的記憶媒体であって、上記コンピュータ非一時的記憶媒体はコンピュータプログラムを格納し、上記コンピュータプログラムがコンピューティングデバイスで実行されると、上記コンピューティングデバイスは項目9から13のいずれか一項に記載の方法を実現する、コンピュータ非一時的記憶媒体。
(項目35)
コンピュータ非一時的記憶媒体であって、上記コンピュータ非一時的記憶媒体はコンピュータプログラムを格納し、上記コンピュータプログラムがコンピューティングデバイスで実行されると、上記コンピューティングデバイスは項目14から15のいずれか一項に記載の方法を実現する、コンピュータ非一時的記憶媒体。
(項目36)
コンピュータ非一時的記憶媒体であって、上記コンピュータ非一時的記憶媒体はコンピュータプログラムを格納し、上記コンピュータプログラムがコンピューティングデバイスで実行されると、上記コンピューティングデバイスは項目16から19のいずれか一項に記載の方法を実現する、コンピュータ非一時的記憶媒体。
図1
図2
図3A
図3B
図3C
図3D
図4A
図4B
図5
図6A
図6B
図7A
図7B
図7C
図8A
図8B
図9A
図9B
図9C
図10
図11