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

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

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

特表2024-518120セグメント識別子の特定方法および装置
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-24
(54)【発明の名称】セグメント識別子の特定方法および装置
(51)【国際特許分類】
   H04L 45/74 20220101AFI20240417BHJP
【FI】
H04L45/74
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023571565
(86)(22)【出願日】2022-02-25
(85)【翻訳文提出日】2023-11-17
(86)【国際出願番号】 CN2022078065
(87)【国際公開番号】W WO2023045247
(87)【国際公開日】2023-03-30
(31)【優先権主張番号】202111108022.6
(32)【優先日】2021-09-22
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】518056748
【氏名又は名称】新華三技術有限公司
【氏名又は名称原語表記】NEW H3C TECHNOLOGIES CO., LTD.
(74)【代理人】
【識別番号】100147485
【弁理士】
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【弁護士】
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100170597
【弁理士】
【氏名又は名称】松村 直樹
(72)【発明者】
【氏名】林 長望
(72)【発明者】
【氏名】陳 夢驍
(72)【発明者】
【氏名】李 昊
【テーマコード(参考)】
5K030
【Fターム(参考)】
5K030GA11
5K030LB05
(57)【要約】
本願の実施形態は、セグメント識別子の特定方法および装置を提供し、通信分野に関する。当該方法は、第2デバイスから送信された第1メッセージと第2メッセージとを受信することであって、第1メッセージは少なくとも1つの第1ブロックBlock識別子と各第1Block識別子に対応するアドレス空間の境界アドレスとを含み、第2メッセージは少なくとも1つの第2Block識別子と第1インデックス値とを含むことと、同じBlockに対応する第1アドレス空間の境界アドレスと第1インデックス値とを用いて、第1SIDを算出することであって、同じBlockは少なくとも1つの第1Block識別子と少なくとも1つの第2Block識別子との中の同じBlock識別子が表すBlockであることと、を含む。本願の実施形態に提供される技術的手段を応用した場合、SID配布中のメッセージのオーバーヘッドを低減することで、デバイスの性能とメッセージ伝送プロトコルの安定性を確保する。
【選択図】図2
【特許請求の範囲】
【請求項1】
SRv6ネットワークにおける第1デバイスに適用されるセグメント識別子の特定方法であって、前記SRv6ネットワークは第2デバイスをさらに備え、前記第1デバイスと前記第2デバイスとは互いにネイバーデバイスであり、前記第2デバイスは第1セグメント識別子である第1SIDを格納し、前記方法は、
前記第2デバイスから送信された第1メッセージと第2メッセージとを受信することであって、前記第1メッセージは少なくとも1つの第1Block識別子と各第1Block識別子に対応するアドレス空間の境界アドレスとを含み、前記第2メッセージは少なくとも1つの第2Block識別子と第1インデックス値とを含むことと、
同じBlockに対応する第1アドレス空間の境界アドレスと前記第1インデックス値とを用いて、前記第1SIDを算出することであって、前記同じBlockは前記少なくとも1つの第1Block識別子と前記少なくとも1つの第2Block識別子との中の同じBlock識別子が表すBlockであることと、を含む、
ことを特徴とする、セグメント識別子の特定方法。
【請求項2】
前記第1メッセージは第1オフセット量をさらに含み、又は、前記第2メッセージは第1オフセット量をさらに含み、
前記同じBlockに対応する第1アドレス空間の境界アドレスと前記第1インデックス値とを用いて、前記第1SIDを算出することは、
前記第1アドレス空間の境界アドレスと、前記第1オフセット量と、前記第1インデックス値とに基づいて、前記第1SIDを算出することを含む、
ことを特徴とする、請求項1に記載の方法。
【請求項3】
前記第1アドレス空間の境界アドレスは前記第1アドレス空間のスタートアドレスであり、
前記第1アドレス空間の境界アドレスと、前記第1オフセット量と、前記第1インデックス値とに基づいて、前記第1SIDを算出することは、
SIDのアドレスルールに従って、前記第1インデックス値を前記第1オフセット量だけオフセットして第1オフセットアドレスを取得することと、
前記スタートアドレスと前記第1オフセットアドレスとに基づいて、前記第1SIDを算出することと、を含む、
ことを特徴とする、請求項2に記載の方法。
【請求項4】
前記スタートアドレスと前記第1オフセットアドレスとに基づいて、前記第1SIDを算出することは、
前記スタートアドレスと前記第1オフセットアドレスとの合計値を算出することと、
前記合計値に対応するSIDが前記第1アドレス空間内にある場合、前記合計値に対応するSIDを前記第1SIDとすることと、を含む、
ことを特徴とする、請求項3に記載の方法。
【請求項5】
前記第1アドレス空間の境界アドレスは前記第1アドレス空間のエンドアドレスであり、
前記第1アドレス空間の境界アドレスと、前記第1オフセット量と、前記第1インデックス値とに基づいて、前記第1SIDを算出することは、
SIDのアドレスルールに従って、前記第1インデックス値を前記第1オフセット量だけオフセットして第2オフセットアドレスを取得することと、
前記エンドアドレスと前記第2オフセットアドレスとに基づいて、前記第1SIDを算出することと、を含む、
ことを特徴とする、請求項2に記載の方法。
【請求項6】
前記エンドアドレスと前記第2オフセットアドレスとに基づいて、前記第1SIDを算出することは、
前記エンドアドレスと前記第2オフセットアドレスとの差分値を算出することと、
前記差分値に対応するSIDが前記第1アドレス空間内にある場合、前記差分値に対応するSIDを前記第1SIDとすることを含む、
ことを特徴とする、請求項5に記載の方法。
【請求項7】
前記第1メッセージは第1サブTLVを含み、前記第1サブTLVは、ブロック識別子フィールドと、スタートSIDフィールドと、エンドSIDフィールドとを含み、
前記ブロック識別子フィールドは前記少なくとも1つの第1Block識別子を携帯するためのものであり、
前記スタートSIDフィールドは各第1Blockに対応するアドレス空間のスタートアドレスを携帯するためのものであり、
前記エンドSIDフィールドは各第1Blockに対応するアドレス空間のエンドアドレスを携帯するためのものである、
ことを特徴とする、請求項1に記載の方法。
【請求項8】
前記第1サブTLVはオフセット量フィールドをさらに含み、前記オフセット量フィールドは第1オフセット量を携帯するためのものである、
ことを特徴とする、請求項7に記載の方法。
【請求項9】
前記第2メッセージは、第2サブTLV、第3サブTLV、または第4サブTLVを含み、
前記第2サブTLVは、ポイントツーポイントP2P隣接タイプのリンクSIDのインデックスを携帯するためのものであり、前記第2サブTLVはブロック識別子フィールドと、インデックス数フィールドと、インデックス長フィールドと、少なくとも1つのインデックスフィールドと、各インデックスフィールドに対応するエンドポイント動作フィールドとを含み、
前記第3サブTLVは、ローカルエリアネットワークLAN隣接タイプのリンクSIDのインデックスを携帯するためのものであり、前記第3サブTLVはブロック識別子フィールドと、インデックス数フィールドと、インデックス長フィールドと、少なくとも1つのインデックスフィールドと、各インデックスフィールドに対応するエンドポイント動作フィールドとを含み、
前記第4サブTLVは、デバイスSIDのインデックスを携帯するためのものであり、前記第4サブTLVはブロック識別子フィールドと、インデックス数フィールドと、インデックス長フィールドと、少なくとも1つのインデックスフィールドと、各インデックスフィールドに対応するエンドポイント動作フィールドとを含み、
前記ブロック識別子フィールドは前記第2Block識別子を携帯するためのものであり、
前記インデックス数フィールドはインデックスの数量を携帯するためのものであり、
前記インデックス長フィールドはインデックスの長さを携帯するためのものであり、
各インデックスフィールドは1つのインデックス値を携帯するためのものであり、
各エンドポイント動作フィールドは1つのインデックス値に対応するエンドポイント動作を携帯するためのものである、
ことを特徴とする、請求項1に記載の方法。
【請求項10】
第2サブTLVはオフセット量フィールドをさらに含み、前記第3サブTLVはオフセット量フィールドをさらに含み、前記第4サブTLVはオフセット量フィールドをさらに含み、前記オフセット量フィールドは第1オフセット量を携帯するためのものである、
ことを特徴とする、請求項9に記載の方法。
【請求項11】
前記第1メッセージは、エンドポイント動作数とエンドポイント動作とをさらに含み、
前記第1インデックス値はスタートインデックス値であり、前記スタートインデックス値は前記第1メッセージに含まれている1番目のエンドポイント動作に対応するインデックス値であり、
前記同じBlockに対応する第1アドレス空間の境界アドレスと前記第1インデックス値とを用いて、前記第1SIDを算出することは、
前記エンドポイント動作数と前記スタートインデックス値とに基づいて、前記第1メッセージに含まれている各エンドポイント動作に対応するインデックス値を算出することと、
前記第1アドレス空間の境界アドレスと前記第1メッセージに含まれている各エンドポイント動作に対応するインデックス値とに基づいて、各エンドポイント動作に対応するSIDを算出することと、を含む
ことを特徴とする、請求項1に記載の方法。
【請求項12】
前記エンドポイント動作数と前記スタートインデックス値とに基づいて、前記第1メッセージに含まれている各エンドポイント動作に対応するインデックス値を算出することは、
前記スタートインデックス値とNとの合計値を、前記第1メッセージに含まれているN番目のエンドポイント動作に対応するインデックス値とし、Nの値の範囲は0から前記エンドポイント動作数と1との差分値までである、
ことを特徴とする、請求項11に記載の方法。
【請求項13】
前記第1メッセージは第1オフセット量をさらに含み、又は、前記第2メッセージは第1オフセット量をさらに含み、
前記第1アドレス空間の境界アドレスと前記第1メッセージに含まれている各エンドポイント動作に対応するインデックス値とに基づいて、各エンドポイント動作に対応するSIDを算出することは、
SIDのアドレスルールに従って、各エンドポイント動作に対応するインデックス値を前記第1オフセット量だけオフセットし、各エンドポイント動作に対応する第1オフセットアドレスを取得することと、
前記第1アドレス空間の境界アドレスと各エンドポイント動作とに対応する第1オフセットアドレスとに基づいて、各エンドポイント動作に対応するSIDを算出することと、を含む、
ことを特徴とする、請求項11または12に記載の方法。
【請求項14】
前記第1アドレス空間の境界アドレスは前記第1アドレス空間のスタートアドレスであり、
前記第1アドレス空間の境界アドレスと各エンドポイント動作に対応する第1オフセットアドレスとに基づいて、各エンドポイント動作に対応するSIDを算出することは、
前記スタートアドレスと各エンドポイント動作に対応する第1オフセットアドレスとの合計値をそれぞれ算出することと、
算出した各合計値がいずれも前記第1アドレス空間内にある場合、算出した各合計値をそれぞれ各エンドポイント動作のSIDとすることと、を含む、
ことを特徴とする、請求項13に記載の方法。
【請求項15】
前記第1アドレス空間の境界アドレスは前記第1アドレス空間のエンドアドレスであり、
前記第1アドレス空間の境界アドレスと各エンドポイント動作に対応する第1オフセットアドレスとに基づいて、各エンドポイント動作に対応するSIDを算出することは、
前記エンドアドレスと各エンドポイント動作に対応する第1オフセットアドレスのと差分値をそれぞれ算出することと、
算出した各差分値がいずれも前記第1アドレス空間内にある場合、算出した各差分値をそれぞれ各エンドポイント動作のSIDとすることと、を含む、
ことを特徴とする、請求項13に記載の方法。
【請求項16】
前記第1メッセージは第5サブTLVを含み、前記第5サブTLVはブロック識別子フィールドと、スタートSIDフィールドと、エンドSIDフィールドと、フラグフィールドと、アルゴリズムフィールドと、重みフィールドと、動作数フィールドと、エンドポイント動作フィールドとを含み、
前記ブロック識別子フィールドは前記第1Block識別子を携帯するためのものであり、
前記スタートSIDフィールドは前記第1アドレス空間のスタートアドレスを携帯するためのものであり、
前記エンドSIDフィールドは前記第1アドレス空間のエンドアドレスを携帯するためのものであり
前記フラグフィールドは共有フラグを携帯するためのものであり、前記共有フラグは前記第1Block識別子で表されるBlockに含まれている複数のSIDに共有されており、
前記アルゴリズムフィールドは共有アルゴリズムを携帯するためのものであり、前記共有アルゴリズムは前記第1Block識別子で表されるBlockに含まれている複数のSIDに共有されており、
前記重みフィールドは共有重みを携帯するためのものであり、前記共有重みは前記第1Block識別子で表されるBlockに含まれている複数のSIDに共有されており、
前記動作数フィールドは前記エンドポイント動作数を携帯するためのものであり、
各エンドポイント動作は1つのエンドポイント動作を携帯するためのものである、
ことを特徴とする、請求項11に記載の方法。
【請求項17】
前記第5サブTLVはオフセット量フィールドをさらに含み、前記オフセット量フィールドは前記第1オフセット量を携帯するためのものである、
ことを特徴とする、請求項16に記載の方法。
【請求項18】
前記第2メッセージは、第6サブTLV又は第7サブTLVを含み、
前記第6サブTLVはポイントツーポイントP2P隣接タイプのリンクSIDのインデックスを携帯するためのものであり、前記第6サブTLVはブロック識別子フィールドと、インデックス長フィールドと、スタートインデックスフィールドとを含み、
前記第7サブTLVはローカルエリアネットワークLAN隣接タイプのリンクSIDのインデックスを携帯するためのものであり、前記第7サブTLVはブロック識別子フィールドと、インデックス長フィールドと、スタートインデックスフィールドとを含み、
前記ブロック識別子フィールドは前記第2Block識別子を携帯するためのものであり、
前記インデックス長フィールドは前記スタートインデックスフィールドの長さを携帯するためのものであり、
前記スタートインデックスフィールドは前記スタートインデックス値を携帯するためのものである、
ことを特徴とする、請求項11に記載の方法。
【請求項19】
前記第6サブTLVはオフセット量フィールドをさらに含み、前記第7サブTLVはオフセット量フィールドをさらに含み、前記オフセット量フィールドは前記第1オフセット量を携帯するためのものである、
ことを特徴とする、請求項18に記載の方法。
【請求項20】
前記第1デバイスは第2SIDを格納し、
前記方法は、
格納された第2SIDを取得することと、
予め区分された各Blockとアドレス空間との間の対応関係に基づいて、前記第2SIDが所属する対象Blockを特定することと、
前記対象Blockに対応する第2アドレス空間における各SIDとインデックス値との対応関係に基づいて、前記第2SIDに対応する第2インデックス値を特定することと、
各ネイバーデバイスへ第3メッセージと第4メッセージとを送信し、前記第3メッセージは前記対象Blockの第3Block識別子と前記第2アドレス空間の境界アドレスとを含み、前記第4メッセージは前記第3Block識別子と前記第2インデックス値とを含むことと、をさらに含む、
ことを特徴とする、請求項1に記載の方法。
【請求項21】
前記第1デバイスはインデックスが連続する複数のSIDを格納し、前記インデックスが連続する複数のSIDにおける最初のSIDは前記第2SIDであり、
前記第3メッセージはエンドポイント動作数とエンドポイント動作とをさらに含み、前記エンドポイント動作数はインデックスが連続するSIDの数量であり、前記インデックスが連続する複数のSIDは前記第3メッセージに含まれているエンドポイント動作と一対一対応する、
ことを特徴とする、請求項20に記載の方法。
【請求項22】
前記第3メッセージは第2オフセットをさらに含み、又は、前記第4メッセージは第2オフセットをさらに含み、
各ネイバーデバイスへ第3メッセージと第4メッセージとを送信する前に、前記方法は、
前記第2アドレス空間における各アドレスの属性特徴に基づいて、前記第2アドレス空間の境界アドレスの前記第2オフセット量を算出することをさらに含む、
ことを特徴とする、請求項20または21に記載の方法。
【請求項23】
SRv6ネットワークにおける第1デバイスである電子機器であって、前記SRv6ネットワークは第2デバイスをさらに備え、前記第1デバイスと前記第2デバイスとは互いにネイバーデバイスであり、前記第2デバイスは第1セグメント識別子SIDを格納し、前記電子デバイスは、
プロセッサと、
送受信機と、
前記プロセッサによって実行可能な機械実行可能命令を格納する機械可読記憶媒体と、を備え、前記機械実行可能命令は前記プロセッサに、
前記第2デバイスから送信された第1メッセージと第2メッセージとを送受信機によって受信することであって、前記第1メッセージは少なくとも1つの第1ブロックBlock識別子と各第1Block識別子に対応するアドレス空間の境界アドレスとを含み、前記第2メッセージは少なくとも1つの第2Block識別子と第1インデックス値とを含むことと、
同じBlockに対応する第1アドレス空間の境界アドレスと前記第1インデックス値とを用いて、前記第1SIDを算出することであって、前記同じBlockは前記少なくとも1つの第1Block識別子と前記少なくとも1つの第2Block識別子との中の同じBlock識別子が表すBlockであることと、を実行させる、
ことを特徴とする、電子機器。
【請求項24】
前記機械実行可能命令は、前記プロセッサに請求項2~22のいずれか一項に記載の方法のステップをさらに実行させる、
ことを特徴とする、請求項23に記載の電子機器。
【請求項25】
機械実行可能命令が格納されており、前記機械実行可能命令が前記プロセッサによって呼び出され、実行されると、請求項1~22のいずれか1項に記載の方法のステップを実現する、
ことを特徴とする、機械可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2021年9月22日に中国知的財産局へ提出された発明名称が「セグメント識別を特定する方法およびデバイス」である中国特許出願第202111108022.6号の優先権を主張し、その全ての内容は引用により本開示に組み込まれる。
【0002】
本願は、通信分野に関し、特に、セグメント識別子の特定方法および装置に関する。
【背景技術】
【0003】
インターネットプロトコルバージョン6のセグメントルーティング(Segment Routing Internet Protocol Version 6,SRv6)ネットワークにおいて、デバイスは、後続のデータメッセージの伝送を実現するために、SRv6ネットワークにセグメント識別子(Segment Identity,SID)を配布する必要がある。
【0004】
SRv6ネットワークにおける各デバイスに対して、当該デバイスはそれに対応する各ネイバーデバイスにリンクステートメッセージを送信し、当該リンクステートメッセージには1つ又は複数の完全なSIDが含まれている。当該デバイスのネイバーデバイスは当該リンクステートメッセージを受信した後に、当該デバイスが配布したSIDを特定することができる。
【発明の概要】
【0005】
本願の実施形態は、SIDの配布中にメッセージのオーバーヘッドを低減することでデバイスの性能とメッセージ伝送プロトコルの安定性を確保するためのセグメント識別子の特定方法およびデバイスを提供する目的とする。具体的な解決的手段は以下のとおりである。
【0006】
第1の態様として、本願の実施形態はSRv6ネットワークにおける第1デバイスに適用されるセグメント識別子の特定方法を提供し、前記SRv6ネットワークは第2デバイスをさらに備え、前記第1デバイスと前記第2デバイスは互いにネイバーデバイスであり、前記第2デバイスは第1セグメント識別子である第1SIDを格納し、前記方法は、
前記第2デバイスから送信された第1メッセージと第2メッセージとを受信することであって、前記第1メッセージは少なくとも1つの第1ブロックBlock識別子と各第1Block識別子に対応するアドレス空間の境界アドレスとを含み、前記第2メッセージは少なくとも1つの第2Block識別子と第1インデックス値とを含むことと、
同じBlockに対応する第1アドレス空間の境界アドレスと前記第1インデックス値とを用いて、前記第1SIDを算出することであって、前記同じBlockは前記少なくとも1つの第1Block識別子と前記少なくとも1つの第2Block識別子との中の同じBlock識別子が表すBlockであることと、を含む。
【0007】
一つの実現可能な態様において、前記第1メッセージは第1サブTLVを含み、前記第1サブTLVは、ブロック識別子フィールドと、スタートSIDフィールドと、エンドSIDフィールドとを含み、前記ブロック識別子フィールドは前記少なくとも1つの第1Block識別子を携帯するためのものであり、前記スタートSIDフィールドは各第1Blockに対応するアドレス空間のスタートアドレスを携帯するためのものであり、前記エンドSIDフィールドは各第1Blockに対応するアドレス空間のエンドアドレスを携帯するためのものである。
【0008】
一つの実現可能な態様において、前記第1サブTLVは、第1オフセット量を携帯するためのオフセット量フィールドをさらに含む。
【0009】
一つの実現可能な態様において、前記第2メッセージは、第2サブTLV、第3サブTLV又は第4サブTLVを含み、
前記第2サブTLVは、ポイントツーポイントP2P隣接タイプのリンクSIDのインデックスを携帯するためのものであり、前記第2サブTLVはブロック識別子フィールドと、インデックス数フィールドと、インデックス長フィールドと、少なくとも1つのインデックスフィールドと、各インデックスフィールドに対応するエンドポイント動作フィールドとを含み、前記第3サブTLVは、ローカルエリアネットワークLAN隣接タイプのリンクSIDのインデックスを携帯するためのものであり、前記第3サブTLVはブロック識別子フィールドと、インデックス数フィールドと、インデックス長フィールドと、少なくとも1つのインデックスフィールドと、各インデックスフィールドに対応するエンドポイント動作フィールドとを含み、前記第4サブTLVは、デバイスSIDのインデックスを携帯するためのものであり、前記第4サブTLVはブロック識別子フィールドと、インデックス数フィールドと、インデックス長フィールドと、少なくとも1つのインデックスフィールドと、各インデックスフィールドに対応するエンドポイント動作フィールドとを含み、前記ブロック識別子フィールドは前記第2Block識別子を携帯するためのものであり、前記インデックス数フィールドはインデックスの数量を携帯するためのものであり、前記インデックス長フィールドはインデックスの長さを携帯するためのものであり、各インデックスフィールドは1つのインデックス値を携帯するためのものであり、各エンドポイント動作フィールドは、1つのインデックス値に対応するエンドポイント動作を携帯するためのものである。
【0010】
一つの実現可能な態様において、第2サブTLVはオフセット量フィールドをさらに含み、前記第3サブTLVはオフセット量フィールドをさらに含み、前記第4サブTLVはオフセット量フィールドをさらに含み、前記オフセット量フィールドは第1オフセット量を携帯するためのものである。
【0011】
一つの実現可能な態様において、前記第1メッセージは、エンドポイント動作数とエンドポイント動作とをさらに含み、前記第1インデックス値はスタートインデックス値であり、前記スタートインデックス値は前記第1メッセージに含まれている1番目のエンドポイント動作に対応するインデックス値であり、前記同じBlockに対応する第1アドレス空間の境界アドレスと前記第1インデックス値とを用いて、前記第1SIDを算出することは、具体的には、
前記エンドポイント動作数と前記スタートインデックス値とに基づいて、前記第1メッセージに含まれている各エンドポイント動作に対応するインデックス値を算出することと、
前記第1アドレス空間の境界アドレスと前記第1メッセージに含まれている各エンドポイント動作に対応するインデックス値とに基づいて、各エンドポイント動作に対応するSIDを算出することと、を含む。
【0012】
一つの実現可能な態様において、前記第1メッセージは第5サブTLVを含み、前記第5サブTLVは、ブロック識別子フィールドと、スタートSIDフィールドと、エンドSIDフィールドと、フラグフィールドと、アルゴリズムフィールドと、重みフィールドと、動作数フィールドと、エンドポイント動作フィールドとを含み、前記ブロック識別子フィールドは前記第1Block識別子を携帯するためのものであり、前記スタートSIDフィールドは前記第1アドレス空間のスタートアドレスを携帯するためのものであり、前記エンドSIDフィールドは前記第1アドレス空間のエンドアドレスを携帯するためのものであり、前記フラグフィールドは共有フラグを携帯するためのものであり、前記共有フラグは前記第1Block識別子で表されるBlockに含まれている複数のSIDで共有され、前記アルゴリズムフィールドは共有アルゴリズムを携帯するためのものであり、前記共有アルゴリズムは前記第1Block識別子で表されるBlockに含まれている複数のSIDに共有されており、前記重みフィールドは共有重みを携帯するためのものであり、前記共有重みは前記第1Block識別子で表されるBlockに含まれている複数のSIDに共有されており、前記動作数フィールドは前記エンドポイント動作数を携帯するためのものであり、各エンドポイント動作は1つのエンドポイント動作を携帯するためのものである。
【0013】
一つの実現可能な態様において、前記第5サブTLVはオフセット量フィールドをさらに含み、前記オフセット量フィールドは前記第1オフセット量を携帯するためのものである。
【0014】
一つの実現可能な態様において、前記第2メッセージは、第6サブTLV又は第7サブTLVを含み、
前記第6サブTLVはポイントツーポイントP2P隣接タイプのリンクSIDのインデックスを携帯するためのものであり、前記第6サブTLVはブロック識別子フィールドと、インデックス長フィールドと、スタートインデックスフィールドとを含み、
前記第7サブTLVはローカルエリアネットワークLAN隣接タイプのリンクSIDのインデックスを携帯するためのものであり、前記第7サブTLVはブロック識別子フィールドと、インデックス長フィールドと、スタートインデックスフィールドとを含み、前記ブロック識別子フィールドは前記第2Block識別子を携帯するためのものであり、前記インデックス長フィールドは前記スタートインデックスフィールドの長さを携帯するためのものであり、前記スタートインデックスフィールドは前記スタートインデックス値を携帯するためのものである。
【0015】
一つの実現可能な態様において、前記第6サブTLVはオフセット量フィールドをさらに含み、前記第7サブTLVはオフセット量フィールドをさらに含み、前記オフセット量フィールドは前記第1オフセット量を携帯するためのものである。
【0016】
第2の態様として、本願の実施形態は電子機器を提供し、前記電子機器はSRv6ネットワークにおける第1デバイスであり、前記SRv6ネットワークは第2デバイスをさらに備え、前記第1デバイスと前記第2デバイスとは互いにネイバーデバイスであり、前記第2デバイスは第1セグメント識別子SIDを格納し、前記電子デバイスは、プロセッサと、送受信機と、前記プロセッサによって実行可能な機械実行可能命令を格納する機械可読記憶媒体と、を備え、前記機械実行可能命令は前記プロセッサに、
前記第2デバイスから送信された第1メッセージと第2メッセージとを送受信機によって受信し、前記第1メッセージは、少なくとも1つの第1ブロックBlock識別子と各第1Block識別子に対応するアドレス空間の境界アドレスとを含み、前記第2メッセージは、少なくとも1つの第2Block識別子と第1インデックス値とを含むことと、
同じBlockに対応する第1アドレス空間の境界アドレスと前記第1インデックス値とを用いて、前記第1SIDを算出し、前記同じBlockは、前記少なくとも1つの第1Block識別子と前記少なくとも1つの第2Block識別子との中の同じBlock識別子が表すであることと、を実行させる。
【0017】
第3の態様として、本願の実施形態は機械可読記憶媒体を提供し、前記機械可読記憶媒体は、前記プロセッサによって実行可能な機械実行可能命令を格納しており、前記機械実行可能命令が前記プロセッサに上記いずれか1項に記載のセグメント識別子の特定方法のステップを実現させる。
【0018】
第4の態様として、本願の実施形態は命令を含むコンピュータプログラム製品をさらに提供し、当該コンピュータプログラムがコンピュータに実行されると、コンピュータに上記いずれか1項に記載のセグメント識別子の特定方法のステップを実現させる。
【0019】
本願の実施形態が提供した技術的手段において、関連技術におけるSIDの配布プロセスは完全なSIDを携帯する必要があることに対し、本願の実施形態において、第2デバイスが第1デバイスに送信する第1メッセージおよび第2メッセージには、第2デバイスに格納されている第1SIDが含まれておらず、格納されたSIDが所属するBlockのBlock識別子と、当該Blockの第1アドレス空間の境界アドレスと、当該SIDに対応するインデックス値とを第1デバイスに送信する。したがって、SRv6ネットワークに多くのデバイスが含まれている場合、各デバイスは、そのネイバーデバイスに第1メッセージと第2メッセージとを送信することにより、そのネイバーデバイスが第1メッセージと第2メッセージとに含まれている情報に基づいて、当該デバイスが配布するSIDを正確に特定することができる。また、第1メッセージに含まれているBlock識別子と、第2メッセージとに含まれているBlock識別子とインデックス値に対応するデータ量が、完全なSIDに対応するデータ量よりも明らかに小さいため、SRv6ネットワークには配布すべきSIDが多くある場合、本願の実施形態で提供する方法によれば、メッセージが携帯すべき情報のデータ量を明らかに低減することができることで、送信すべきメッセージの数を減少することができる。これにより、SIDの配布プロセスにおけるメッセージのオーバーヘッドが効果的に低減され、デバイス性能とメッセージ転送プロトコルの安定性が確保される。
【0020】
もちろん、本願のいずれかの製品又は方法を実施することは、必ずしも上記の利点のすべてを同時に実現することを必要としない。
【図面の簡単な説明】
【0021】
図1-a】図1-aは、SRv6 End SID sub-TLVの一つの模式図である。
図1-b】図1-bは、SRv6 End.X SID sub-TLVの一つの模式図である。
図1-c】図1-cは、SRv6 LAN End.X SID sub-TLVの一つの模式図である。
図2図2は、本願の実施形態が提供するセグメント識別子の特定方法の第1種類のフローチャートである。
図3図3は、本願の実施形態が提供するSRv6ネットワークの一つの構成模式図である。
図4図4は、本願の実施形態が提供するセグメント識別子の特定方法の第2種類のフローチャートである。
図5図5は、SIDの一つの模式図である。
図6図6は、本願の実施形態が提供するセグメント識別子の特定方法の第3種類のフローチャートである。
図7図7は、本願の実施形態が提供するセグメント識別子の特定方法の第4種類のフローチャートである。
図8図8は、本願の実施形態が提供するセグメント識別子の特定方法の第5種類のフローチャートである。
図9図9は、本願の実施形態が提供するセグメント識別子の特定方法の第6種類のフローチャートである。
図10-a】図10-aは、本願の実施形態が提供するSRv6 SID Block sub-TLVの一つの模式図である。
図10-b】図10-bは、本願の実施形態が提供するSRv6 End.X SID Index Sub-TLVの一つの模式図である。
図10-c】図10-cは、本願の実施形態が提供するSRv6 LAN End.X SID Index Sub-TLVの一つの模式図である。
図10-d】図10-dは、本願の実施形態が提供するSRv6 End SID Index Sub-TLVの一つの模式図である。
図11図11は、本願の実施形態が提供するセグメント識別子の特定方法の第7種類のフローチャートである。
図12-a】図12-aは、本願の実施形態が提供するRule-based End.X SID Block sub-TLVの別の模式図である。
図12-b】図12-bは、本願の実施形態が提供するRule-based End.X SID Index sub-TLVの別の模式図である。
図12-c】図12-cは、本願の実施形態が提供するRule-based LAN End.X SID Index sub-TLVの別の模式図である。
図13-a】図13-aは、本願の実施形態が提供するセグメント識別子のデバイスの第1種類の構成模式図である。
図13-b】図13-bは、本願の実施形態が提供するセグメント識別子のデバイスの第2種類の構成模式図である。
図14図14は、本願の実施形態が提供するデバイスの一つの構成模式図である。
【発明を実施するための形態】
【0022】
SRv6ネットワークにおいて、隣接する2つのデバイス間は、アイエストゥアイエス(Intermediate System-to-Intermediate System,IS-IS)プロトコル又は開放最短経路優先プロトコルのバージョン3(Open Shortest Path First Version 3,OSPFv3)によってSID情報を配布することができる。しかしながら、SRv6ネットワークでは、デバイスの数が非常に大きく、1つのSIDの長さが128ビット(bits)に達しているため、SIDの配布中に、各デバイス間で送信されるリンクステートメッセージの数が多く、各リンクステートメッセージには多くのデータ量が含まれており、SID配布時のメッセージオーバーヘッドが大きくなり、デバイスの性能とメッセージ伝送プロトコルの安定性に深刻な影響を与える。
【0023】
容易に理解するために、IS-ISプロトコルに基づいて、SRv6ネットワークにおけるデバイス1からデバイス2へSIDを送信することを例として説明する。ここで、デバイス1とデバイス2は互いにネイバーデバイスである。
【0024】
SRv6ネットワークにおいて、デバイス1は、SID配布を行う時に、それに対応するすべてのネイバーデバイスにリンクステートメッセージを送信し、当該メッセージには完全なSIDが含まれる。当該SIDは、デバイス1のデバイスSID(End SIDと記す)であってよい。当該SIDは、デバイス1とネイバーデバイスとの間のリンクSID(End.X SIDと記す)であってもよい。ここで、リンクSIDは、メッセージの伝送過程において出力インタフェースに対応するSIDであり、すなわち、メッセージの伝送過程において通過するリンクに対応するSIDである。
【0025】
上記SIDがデバイスSIDである場合、デバイス1はデバイス2にリンクステートメッセージを送信することができる(区分を容易にするために、第1リンクステートメッセージと記す)。当該第1リンクステートメッセージにはSRv6 End SID sub-TLVが携帯されている。ここで、SRv6End SID sub-TLVはデバイスSIDを配布するためのものである。具体的には図1-aに示すように、図1-aはSRv6 End SID sub-TLVの模式図である。
【0026】
図1-aに示されるSRv6 End SID sub-TLVにおいて、例えば、タイプ(Type)、長さ(Length)、フラグ(Flags)、エンドポイント動作(Endpoint Behavior)等の一般的なフィールドを含む以外に、SIDフィールドをさらに含み、当該フィールドはデバイスに対応するデバイスSIDを充填するためのものである。例えば、図1-aにおいて、SIDフィールドの128ビットの値が示されている。
【0027】
上記SIDがデバイス間のリンクSIDである場合、デバイス1はデバイス2にリンクステートメッセージを送信することができる(区分を容易にするために、第2リンクステートメッセージと表記する)。当該第2リンクステートメッセージにはSRv6 End.X SID sub-TLVが携帯され、又はSRv6 LAN End.X SID sub-TLVが携帯される。ここで、SRv6 End.X SID sub-TLVはポイントツーポイント(Peer-to-Peer,P2P)隣接タイプのリンクSIDを配布するためのものであり、SRv6 LAN End.X SID sub-TLVはローカルエリアネットワーク(Local Area Network,LAN)隣接タイプのリンクSIDを配布するためのものである。具体的には図1-bおよび図1-cに示すように、図1-bはSRv6 End.X SID sub-TLVの模式図であり、図1-cはSRv6 LAN End.X SID sub-TLVの模式図である。
【0028】
図1-bに示されるSRv6 End.X SID sub-TLVおよび図1-cに示されるSRv6 LAN End.X SIDsub-TLVにおいて、例えばタイプ、長さ、フラグ、アルゴリズム(Algorithm)、重み(weight)等の一般的なフィールドを含む以外に、さらにデバイス間のリンクSIDを充填するためのSIDフィールドを含む。例えば、図1-bのSIDフィールド内の128ビットの値、または図1-cのSIDフィールドの128ビットの値である。
【0029】
上記デバイス1は、デバイス2にリンクSIDが携帯されている第2リンクステートメッセージを送信する時に、デバイス1とデバイス2との間のネイバーの確立方式に基づいて、第2リンクステートメッセージにSRv6 End.X SID sub-TLVが携帯されているか、SRv6 LAN End.X SID sub-TLVが携帯されているかを特定することができる。例えば、デバイス1とデバイス2がP2Pネイバーである場合、デバイス1はSRv6End.X SID sub-TLVが携帯されている第2リンクステートメッセージをデバイス2に送信する。また、例えば、デバイス1とデバイス2がLANネイバーである場合、デバイス1はSRv6 LAN End.X SID sub-TLVが携帯されている第2リンクステートメッセージをデバイス2に送信する。
【0030】
OSPFv3に基づいてSID配布を行う場合でも、SRv6 End SID sub-TLV、SRv6End.X SID sub-TLV又はSRv6 LAN End.X SID sub-TLVが携帯されているリンクステートメッセージを送信することによって実現されるが、2つのプロトコルが送信したリンクステートメッセージにおけるSRv6 End SID sub-TLV、SRv6 End.XSID sub-TLV又はSRv6LAN End.X SID sub-TLVに対応する常用フィールドには一定の差異がある点は異なっている。例えば、IS-ISプロトコルに基づいて送信された、SRv6 End SID sub-TLVが携帯されているリンクステートメッセージにおけるタイプフィールドは8ビットを占め、OSPFv3に基づいて送信された、SRv6 End SID sub-TLVが携帯されているリンクステートメッセージにおけるタイプフィールドは16ビットを占める。OSPFv3に基づいてSIDを配布するプロセスは、IS-ISプロトコルに基づいてSIDを配布するプロセスを参照することができるので、ここでは詳細な説明を省略する。以下、容易に理解するために、IS-ISプロトコルに基づくSIDの配布プロセスを例として説明する。
【0031】
関連技術のSIDの配布プロセスにおいて、IS-ISプロトコルに基づくかOSPFv3に基づくかにかかわらず、リンクステートメッセージには完全なSID、すなわち128ビットのSIDを携帯しなければならず、この場合、リンクステートメッセージのデータ量が大きく、SRv6ネットワークにおける各デバイスのSIDおよび2つのネイバーデバイス間のリンクSIDの数は複数とし、SID配布を行う際に送信するリンクステートメッセージの数が多く、各リンクステートメッセージのデータ量が大きいため、SIDの配布プロセスのメッセージオーバーヘッドが大きくなり、デバイスの性能やIS-ISプロトコル又はOSPFv3の安定性に影響を与える。
【0032】
関連技術の問題を解決するために、本願の実施形態はセグメント識別子の特定方法を提供する。図2に示すように、図2は本願の実施形態が提供するセグメント識別子の特定方法の第1種類のフローチャートである。当該方法はSRv6ネットワークにおける第1デバイスに適用され、当該SRv6ネットワークは第2デバイスをさらに備え、第1デバイスと第2デバイスとは互いにネイバーデバイスであり、第2デバイスは第1SIDを格納する。当該方法は具体的には以下のステップを含む。
【0033】
ステップS201:第2デバイスから送信された第1メッセージと第2メッセージとを受信し、第1メッセージは少なくとも1つの第1ブロックBlock識別子と各第1Block識別子に対応するアドレス空間の境界アドレスとを含み、第2メッセージは少なくとも1つの第2Block識別子と第1インデックス値とを含む。
【0034】
本願の実施形態における第1メッセージおよび第2メッセージはいずれもリンクステートメッセージであってよく、例えば、IS-ISプロトコルに基づいてSIDを配布するプロセスにおいて、当該リンクステートメッセージはリンクステートパケット(Link State Packet,LSP)であってよい。OSPFプロトコルに基づいてSIDを配布するプロセスにおいて、当該リンクステートメッセージはLSAメッセージであってよい。本願の実施形態のプロセスが他のネットワークに適用される場合には、他のネットワーキングのプロトコルの規定に従って、適切なメッセージを第1メッセージおよび第2メッセージとして選択することもできる。
【0035】
ステップS202:同じBlockに対応する第1アドレス空間の境界アドレスと第1インデックス値とを用いて、第1SIDを算出し、同じBlockは少なくとも1つの第1Block識別子と少なくとも1つの第2Block識別子との中の同じBlock識別子が表すBlockである。
【0036】
上記SRv6ネットワークには複数のデバイスが含まれてよい。上記第1デバイスはSRv6ネットワークにおけるいずれかのデバイスであってよい。当該第1デバイスは、1つまたは複数のネイバーデバイスを備えることができる。上記第2デバイスは第1デバイスのネイバーデバイスにおけるいずれかのデバイスである。ここで、上記第1デバイスおよび第2デバイスは具体的に限定されない。以下、容易に理解するために、SRv6ネットワークにおける第1デバイスおよび第2デバイスを例として説明する。
【0037】
図2に示す方法により、第1デバイスは、第2デバイスから送信された第1メッセージと第2メッセージとを受信した後、同じBlockの第1アドレス空間の境界アドレスと第1インデックス値とを使用して、第2デバイスが配布した第1SIDを算出することができる。関連技術におけるSIDの配布プロセスは完全なSIDを携帯する必要があることに対し、本願の実施形態において、第2デバイスが第1デバイスに送信する第1メッセージおよび第2メッセージには、第2デバイスに格納されている第1SIDが含まれておらず、格納されたSIDが所属するBlockのBlock識別子と、当該Blockの第1アドレス空間の境界アドレスと、当該SIDに対応するインデックス値とを第1デバイスに送信する。したがって、SRv6ネットワークに多くのデバイスが含まれている場合、各デバイスがそのネイバーデバイスに第1メッセージと第2メッセージとを送信することにより、そのネイバーデバイスは、第1メッセージおよび第2メッセージに含まれている情報に基づいて、当該デバイスが配布するSIDを正確に特定することができる。また、第1メッセージに含まれているBlock識別子と、第2メッセージに含まれているBlock識別子と、インデックス値とに対応するデータ量が、完全なSIDに対応するデータ量よりも明らかに小さいため、SRv6ネットワークには配布すべきSIDが多くある場合、本願の実施形態で提供する方法によれば、メッセージが携帯すべき情報のデータ量を明らかに低減することができることで、送信すべきメッセージの数を減少することができ、これにより、SIDの配布プロセスにおけるメッセージのオーバーヘッドが効果的に低減され、デバイス性能とメッセージ転送プロトコルの安定性が確保される。
【0038】
上記ステップS201、すなわち、第2デバイスから送信された第1メッセージと第2メッセージとを受信することについて、第1メッセージは少なくとも1つの第1ブロックBlock識別子と、各第1Block識別子に対応するアドレス空間の境界アドレスとを含み、第2メッセージは少なくとも1つの第2Block識別子と第1インデックス値とを含む。
【0039】
本ステップでは、第2デバイスに第1SIDが格納されている。第2デバイスはSID配布を行う時に、そのネイバーデバイスに第1メッセージと第2メッセージとを送信することができる。第2デバイスのネイバーデバイスはいずれも当該第1メッセージと第2メッセージとを受信することができる。即ち、第1デバイスは、第2デバイスから送信された第1メッセージと第2メッセージとを受信することができる。
【0040】
上記第1メッセージは、リンクステートメッセージ(区分を容易にするために、第3リンクステートメッセージと表記し、後続の実施形骸において第1メッセージを第3リンクステートメッセージとして説明する)であってよく、第1メッセージは第1サブTLVを含んでよく、第1サブTLVはリンクステートメッセージに含まれているSRv6 SID Block sub-TLVであってよい。ここで、SRv6 SID Blocksub-TLVはSRv6 Locator TLVのサブタイプ-長さ-数値(Type-Length-Value,TLV)である。すなわち、SRv6Locator TLVのサブTLVにはSRv6 SID Block sub-TLVが含まれる。SRv6 SID Block sub-TLVはSIDが所属するBlockの関連情報を配布するためのものである。現在のプロトコルの規定に従って、リンクステートメッセージにはSRv6 Locator TLVが含まれており、本願の実施形態における第1サブTLVはSRv6Locator TLVのサブTLVであるが、本願の実施形態はこれに限定されず、第1サブTLVは第1メッセージに含まれている他のTLVのサブTLVであってもよい。
【0041】
上記第2メッセージはリンクステートメッセージ(区分を容易にするために、第4リンクステートメッセージと表記し、後続の実施形態において第2メッセージを第4リンクステートメッセージとして説明する)であってよく、第2メッセージは第2サブTLV、第3サブTLV又は第4サブTLVを含んでよい。第2サブTLVはSRv6 End.X SID Index Sub-TLVであり、第3サブTLVはSRv6LAN End.X SID Index Sub-TLVであり、第4サブTLVはSRv6 End SID Index Sub-TLVである。ここで、SRv6End.X SID Index Sub-TLVはP2P隣接タイプのリンクSIDに対応する関連情報を配布するためのものであり、SRv6LAN End.X SID Index Sub-TLVはLAN隣接タイプのリンクSIDに対応する関連情報を配布するためのものであり、SRv6End SID Index Sub-TLVはデバイスのSIDに対応する関連情報を配布するためのものである。
【0042】
上記第4リンクステートメッセージにおいて、SRv6 End.X SID Index Sub-TLVおよびSRv6LAN End.XSID Index Sub-TLVの上位TLVは、Extended IS Reachability TLV(TLV-22とも呼ばれる)、IS Neighbor Attribute TLV(TLV-23とも呼ばれる)、L2 Bundle Member Attributes TLV(TLV-25とも呼ばれる)、inter-AS reachability information TLV(TLV-141とも呼ばれる)、MT-ISN TLV(TLV-222とも呼ばれる)、MT IS Neighbor Attribute TLV(TLV-223とも呼ばれる)を含むが、これに限定されない。SRv6 End SID Index Sub-TLVの上位TLVはSRv6 Locator TLVである。現在のプロトコルの規定に従って、本願の実施形態における第2サブTLVおよび第3サブTLVは上記TLV-22、TLV-23、TLV-25、TLV-141、TLV-222又はTLV-223のサブTLVとし、第4サブTLVはSRv6 Locator TLVのサブTLVとすることができる。本願の実施形態はこれに限定されるものではなく、第2サブTLV、第3サブTLVおよび第4TLVは第2メッセージに含まれている他のTLVのサブTLVとすることもできる。
【0043】
第1デバイスは上記第3リンクステートメッセージと第4リンクステートメッセージとを受信した後、第3リンクステートメッセージにおけるSRv6 SID Block sub-TLV、および第4リンクステートメッセージにおけるSRv6 End.X SIDIndex Sub-TLV、SRv6 LAN End.X SID Index Sub-TLV又はSRv6 End SID Index Sub-TLVに対応する上位TLVに含まれている情報に基づいて、第1メッセージおよび第2メッセージにより配布されたSIDに対応するデバイスを特定することができる。
【0044】
容易に理解するために、2つのネイバーデバイス、すなわちデバイス1およびデバイス2を例として説明する。デバイス1がデバイス2にデバイス1および別のネイバーデバイス(例えばデバイス3)のリンクSIDに対応する第1メッセージおよび第2メッセージを送信するとき、デバイス2は、デバイス1から送信された、SRv6 SID Block sub-TLVを携帯する第3リンクステートメッセージと、SRv6 LAN End.X SID Index Sub-TLVを携帯する第4リンクステートメッセージとを受信する。この場合、デバイス2は、受信した第3リンクステートメッセージにおけるSRv6 SID Block sub-TLVに対応する上位TLV(すなわち上記SRv6 Locator TLV)における情報と、第4リンクステートメッセージにおけるSRv6 LAN End.X SID Index Sub-TLVに対応する上位TLV(上記TLV-22)における情報とに基づいて、デバイス1が送信した第1メッセージおよび第2メッセージに対応するデバイスを特定することができ、即ちデバイス1およびデバイス3を特定することができる。
【0045】
上記SRv6 SID Block sub-TLV、SRv6 End.X SID Index Sub-TLV、SRv6 LAN End.X SID Index Sub-TLVおよびSRv6 End SID Index Sub-TLVについては以下の説明を参照することができ、ここでは詳細な説明を省略する。
【0046】
本願の実施形態において、上記第2デバイスに格納されている第1SIDの数は1つであってもよく、複数であってもよい。第2デバイスに格納されている第1SIDの数が複数である場合、当該第1SIDは第2デバイスのデバイスSIDと、第2デバイスとそのネイバーデバイスとの間のリンクSIDとを含んでよく、第2デバイスに格納されている複数の第1SIDが異なるBlockに所属する場合、第1メッセージおよび第2メッセージは各第1SIDの所属するBlockのBlock識別子を含んでよい。
【0047】
第2デバイスのネイバーデバイスは少なくとも上記第1デバイスを含むこと以外に、他のネイバーデバイスを含んでもよい。ここで、第2デバイスのネイバーデバイスは具体的に限定されない。
【0048】
容易に理解するために、図3を例として説明する。図3は、本願実施形態が提供するSRv6ネットワークの一つの構成模式図である。
【0049】
ここで、上記した第2デバイスが図3のデバイス2であり、第1デバイスが図3のデバイス3であると仮定する。デバイス2には、第1SIDが格納されている。当該第1SIDは、デバイスSIDとリンクSIDとを含んでよい。ここで、デバイスSIDはデバイス2のデバイスSIDであり、リンクSIDはデバイス1とデバイス2との間のリンクSIDと、デバイス2とデバイス3との間のリンクSIDとを含んでよい。
【0050】
本願の実施形態において、SRv6ネットワーク内の各デバイスはそれぞれ、1つまたは複数のデバイスSIDを有してよく、2つのネイバーデバイスの間には1つまたは複数のリンクSIDを有してよい。ここで、上記第1SIDに含まれているSIDの種別および第1SIDの数量は特に限定されない。以下、容易に理解するために、1つの第1SIDの配布を例として説明するが、いかなる限定的なものではない。
【0051】
1つの好ましい実施形態において、上記第2デバイスに格納されている第1SIDがデバイスSIDを含む場合、上記第3リンクステートメッセージにおけるSRv6 SID Block sub-TLVには、当該デバイスSIDに対応するBlock識別子と当該Block識別子に対応する第1アドレス空間の境界アドレスとが携帯されている。上記第4リンクステート情報におけるSRv6 End SIDIndex Sub-TLVには、当該デバイスSIDに対応するBlock識別子と第1インデックス値とが携帯されている。
【0052】
別の好ましい実施形態において、上記第2デバイスに格納されている第1SIDがリンクSIDを含む場合、上記第3リンクステートメッセージにおけるSRv6 SID Block sub-TLVには、当該リンクSIDに対応するBlock識別子と当該Block識別子に対応する第1アドレス空間の境界アドレスとが携帯されている。上記第4リンクステートメッセージにおけるSRv6 End.XSID Index Sub-TLV又はSRv6LAN End.X SID Index Sub-TLVには、当該リンクSIDに対応するBlock識別子と第1インデックス値とが携帯されている。
【0053】
上記第4リンクステートメッセージについて、上記第2デバイスに格納されている第1SIDがリンクSIDである場合、第2デバイスと第1デバイスとの間がP2P隣接であれば、第4リンクステートメッセージにはSRv6 End.X SID IndexSub-TLVが携帯されており、第2デバイスと第1デバイスとの間がLAN隣接であれば、第4リンクステートメッセージにはSRv6 LAN End.X SID Index Sub-TLVが携帯されている。
【0054】
本願の実施形態において、第1SIDに対応する種別の違い、および第1デバイスと第2デバイスとの間の隣接タイプの違いにより、上記第4リンクステートメッセージに携帯されているサブTLVは異なる。ここで、上記第4リンクステートメッセージに携帯されているサブTLVは具体的に限定されない。
【0055】
本願の実施形態において、上記第1メッセージと第2メッセージとは同じメッセージであってもよく、異なるメッセージであってもよい。例えば、上記第1メッセージが第3リンクステートメッセージであり、第2メッセージが第4リンクステートメッセージである場合、上記第3リンクステートメッセージと第4リンクステートメッセージとは同じリンクステートメッセージであってもよく、異なるリンクステートメッセージであってもよい。ここで、上記第3リンクステートメッセージおよび第4リンクステートメッセージは具体的に限定されない。
【0056】
本願の実施形態において、上記第1メッセージは、第1SIDが所属する第1Blockの第1Block識別子と、当該第1Blockに対応する第1アドレス空間の境界アドレスと、第1オフセット量とを含む。上記第2メッセージは、第2Blockの第2Block識別子と、第1SIDに対応する第1インデックス値とを含む。
【0057】
上記第1SIDはデバイスSIDであってもよく、リンクSIDであってもよいため、上記第1メッセージに含まれている少なくとも1つの第1Block識別子と第2メッセージに含まれている少なくとも1つの第2Block識別子には、同じBlock識別子が存在することがあり、異なるBlock識別子が存在することもある。
【0058】
上記第1Blockに対応するアドレス空間は、第1Blockに対応するSID値の範囲として表示されてよい。上記Blockは予め設定されたルールに基づいて区分して取得されてもよく、具体的な区分方法は以下の説明を参照することができ、ここでは詳細な説明を省略する。
【0059】
上記ステップS202について、同じBlockに対応する第1アドレス空間の境界アドレスと第1インデックス値とを用いて、第1SIDを算出する。本願の実施形態において、第1デバイスは、第2デバイスから送信された第1メッセージと第2メッセージとを受信した後、少なくとも1つの第1Block識別子および少なくとも1つの第2Block識別子から同じBlock識別子を取得し、さらに、当該同じBlock識別子に対応する第1アドレス空間の境界アドレスと第1インデックス値とは同じ第1SIDを示すことを特定する。
【0060】
ここで、第1メッセージは1つ又は複数の第1Block識別子を含んでよく、第2メッセージは1つ又は複数の第2Block識別子を含んでよい。
【0061】
第1メッセージに第1Block識別子が含まれ、且つ第2メッセージに第2Block識別子が含まれている場合、第1デバイスは、第2デバイスから送信された第1メッセージと第2メッセージとを受信した後、第1メッセージに含まれている第1Block識別子と第2メッセージに含まれている第2Block識別子とが同じBlockを表すかどうかを判定でき、つまり第1メッセージに含まれている第1Block識別子と第2メッセージに含まれている第2Block識別子とは同じであるか否かを判定できることで、第1メッセージに対応するSIDと第2メッセージに対応するSIDとが同じSIDであるかどうかを判定する。
【0062】
1つの好ましい実施形態において、上記第1メッセージに含まれている第1Block識別子と第2メッセージに含まれている第2Block識別子とが同じであり、すなわち第1Block識別子と第2Block識別子とが同じBlockを表す場合、第1デバイスは、第1Block識別子と第2Block識別子に対応するSIDが同じSIDであること、即ち上記第1SIDであることを特定することができる。この場合、第1デバイスは上記ステップS202を実行することができ、すなわち第1デバイスは、第1メッセージに含まれている第1アドレス空間における境界アドレスと、第2メッセージに含まれている第1インデックス値とに基づいて、当該SID、即ち第1SIDを特定することができる。上記第1SIDの具体的な特定方法については下記の説明を参照するが、ここでは詳細な説明を省略する。
【0063】
本願の実施形態において、SIDは、128bitsのインターネットプロトコルバージョン6(Internet Protocol Version 6,IPv6)アドレスとして表される。上記第1Blockが所属するアドレス空間は、具体的に、第1Blockに対応するSID値の範囲(即ち、IPv6アドレス値の範囲)と表される。上記第1アドレス空間の境界アドレスは第1アドレス空間に対応するSID値の範囲におけるスタートSIDおよびエンドSIDであってよい。例えば、第1アドレス空間境界アドレスにおけるスタートアドレスは第1アドレス空間に対応するSID値の範囲におけるスタートSID(すなわち、Start SID)であってよい。また例えば、第1アドレス空間の境界アドレスは第1アドレス空間に対応するSID値の範囲のエンドSID(すなわち、End SID)であってよい。
【0064】
別の好ましい実施形態において、第1デバイスが受信した一つの第1メッセージに対して、第1メッセージにおけるブロック識別子と同じであるブロック識別子が含まれている第2メッセージを見つけなかった場合、すなわちSIDを算出するために必要な第1アドレス空間の境界アドレスを欠落した場合、第1デバイスは第1メッセージを破棄する。
【0065】
第1デバイスが受信した1つの第2メッセージに対して、当該第2メッセージにおけるBlock識別子と同じであるBlock識別子が含まれている第1メッセージを見つけなかった場合、すなわち、SIDを算出するために必要な第1インデックス値を欠落した場合、第1デバイスは当該第2メッセージを破棄する。
【0066】
1つの好ましい実施形態において、第1デバイスと第2デバイスとの間のリンクステートメッセージに対するネットワーク環境の影響を考慮し、第1デバイスは、Block識別子が同じである第1メッセージ又は第2メッセージを見つけなかった場合、予め設定された期間を待ち、予め設定された期間が経過した後、Block識別子と同じである第1メッセージおよび第2メッセージを見つけなければ、第1デバイスは、受信した第2メッセージ又は第1メッセージを破棄することができる。
【0067】
1つの好ましい実施形態において、上記第1デバイスは、上記第1メッセージと第2メッセージとを受信した後に、受信された第1メッセージと第2メッセージと(例えば、第3リンクステートメッセージと第4リンクステートメッセージと)を伝送することができる。第1デバイスのネイバーノードは、受信された第1メッセージと第2メッセージとに基づいて、第2デバイスが配布した第1SIDを特定することができる。
【0068】
本願の実施形態において、上記第1メッセージは第1オフセット量をさらに含み、又は、上記第2メッセージは第1オフセット量をさらに含む。これにより、上記ステップS202は具体的に、以下のように実現できる。
第1アドレス空間の境界アドレスと、第1オフセット量と、第1インデックス値とに基づいて、第1SIDを算出する。
【0069】
1つの好ましい実施形態では、上記第1アドレス空間の境界アドレスが第1アドレス空間のスタートアドレスである場合、本願の実施形態は、図2に示す方法により、セグメント識別子の特定方法をさらに提供する。図4に示すように、図4は、本願実施形態が提供するセグメント識別子の特定の第2種類のフローチャートである。当該方法は以下のステップを含む。
【0070】
ステップS401:第2デバイスから送信された第1メッセージと第2メッセージとを受信する。
【0071】
ここで、第1メッセージは、少なくとも1つの第1Block識別子と、各第1Block識別子に対応するアドレス空間の境界アドレスと、第1オフセット量とを含む。第2メッセージは、少なくとも1つの第2Block識別子と第1インデックス値とを含む。
【0072】
又は、第1メッセージは、少なくとも1つの第1Block識別子と各第1Block識別子に対応するアドレス空間の境界アドレスとを含む。第2メッセージは、少なくとも1つの第2Block識別子と、第1インデックス値と、第1オフセット量とを含む。
【0073】
ステップS402:SIDのアドレスルールに従って、同じBlockに対応する第1インデックス値を第1オフセット量だけオフセットして第1オフセットアドレスを取得する。
【0074】
ここで、同じBlockは、少なくとも1つの第1Block識別子および少なくとも1つの第2Block識別子における同じBlockが表されるBlockである。
【0075】
本ステップでは、上記第1メッセージに含まれている1つの第1Block識別子と第2メッセージに含まれている1つの第2Block識別子とが同じBlockを表す場合、第1デバイスは、第1オフセット量に基づいて、SIDのアドレスルールに従って、第2メッセージに含まれている第1インデックス値に対してオフセット処理を行い、第1オフセットアドレスを取得することができる。即ち、第1インデックス値を第1オフセット量だけオフセットして第1オフセットアドレスを取得する。
【0076】
SRv6ネットワークにおいて、デバイスSID又はリンクSIDは、ロケーター(Locator)と、ファンクション(Function)と、アーギュメント(Arguments)とによって構成され、具体的には図5に示す。図5は、SIDの一つの模式図である。
【0077】
ここで、LocatorはSIDが所属するネットワークセグメントを識別するためのものである。Locatorはセグメントルーティング(Segment Routing,SR)ドメイン内で唯一である。FunctionはSIDにバインディングされたローカル操作命令を識別するためのものであり、SRドメイン内の指定ノードはトラフィックを受信した後に、SIDのFunctionフィールドに基づいて関連操作を実行する。Argumentsはメッセージのストリームおよびサービス等の情報を定義するためのものである。
【0078】
例えば、上記第1インデックス値が1であり、第1オフセット量が16であり、この場合、上記したSIDのアドレスルールに従って、第1インデックス値を第1オフセット量だけオフセットすることは、第1インデックス値を16ビット左にオフセットした後に得られたアドレス、すなわちアドレス0::1:0と表すことができる。即ち上記第1オフセットアドレスは0::1:0である。
【0079】
本願の実施形態において、上記SIDのアドレスルールは、SIDに含まれているLocator、Function、Argumentsに対応するビット数に基づいて特定されることができる。
【0080】
ステップS403:スタートアドレスと第1オフセットアドレスとに基づいて、第1SIDを算出する。
【0081】
本ステップにおいて、第1デバイスは、オフセット処理によって得られた第1オフセットアドレスと、第1メッセージに含まれている第1アドレス空間の境界アドレス(即ち、上記第1アドレス空間のスタートアドレス)とに基づいて、第1メッセージおよび第2メッセージに対応する第1SIDを算出することができる。第1SIDの算出方法については後述するが、ここでは詳細な説明を省略する。
【0082】
上記ステップS402~ステップS403は、上記ステップS202に対して細分化したものである。
【0083】
上記のステップS402~ステップS403により、デバイスは、大量のSIDを配布するプロセスにおいて、上記第1オフセット量を使用して第1インデックス値をオフセットして第1オフセットアドレスを取得し、第1オフセットアドレスと第1アドレス空間のアドレスとに基づいて、受信された第1メッセージおよび第2メッセージに対応するSID、即ち、第2デバイスがSRv6ネットワークに配布したSIDを正確に算出することができる。SIDの配布および算出を実現するとともに、リンクステートメッセージに含まれているデータ量を低減し、算出したSIDの正確性を確保し、配布されたSIDの正確性を確保する。
【0084】
一つの好ましい実施形態において、本願の実施形態は、上記図4に示す方法により、セグメント識別子の特定方法をさらに提供する。図6に示すように、図6は、本願実施形態が提供するセグメント識別子の特定の第3種類のフローチャートである。当該方法は以下のステップを含む。
【0085】
ステップS601:第2デバイスから送信された第1メッセージと第2メッセージとを受信する。
【0086】
ここで、第1メッセージは、少なくとも1つの第1Block識別子と、各第1Block識別子に対応するアドレス空間の境界アドレスと、第1オフセット量とを含む。第2メッセージは、少なくとも1つの第2Block識別子と第1インデックス値とを含む。
【0087】
又は、第1メッセージは、少なくとも1つの第1Block識別子と各第1Block識別子に対応するアドレス空間の境界アドレスとを含む。第2メッセージは、少なくとも1つの第2Block識別子と、第1インデックス値と、第1オフセット量とを含む。
【0088】
ステップS602:SIDのアドレスルールに従って、同じBlockに対応する第1インデックス値を第1オフセット量だけオフセットして第1オフセットアドレスを取得する。
【0089】
上記ステップS601~ステップS602は、上記ステップS401~ステップS402と同じである。
【0090】
ステップS603:スタートアドレスと第1オフセットアドレスとの合計値を算出する。
【0091】
本ステップでは、第1デバイスは、第1アドレス空間のスタートアドレスと第1オフセットアドレスとを加算し、スタートアドレスと第1オフセットアドレスとの合計値を取得することができる。
【0092】
1つの好ましい実施形態において、第1デバイスはスタートアドレスと第1オフセットアドレスとの合計値を算出した後に、当該合計値を第1メッセージおよび第2メッセージに対応するSID、即ち上記第1SIDをとすることができる。
【0093】
別の好ましい実施形態において、上記第3リンクステートメッセージおよび第4リンクステートメッセージが伝送過程において伝送エラーが発生する可能性があることを考慮し、特定した第1SIDの精度を確保するために、第1デバイスは、算出したスタートアドレスと第1オフセットアドレスとの合計値に対応するSIDとが上記第1アドレス空間内にあるかどうかを判定することができる。つまり、算出したスタートアドレスと第1オフセットアドレスとの合計値に対応するSIDが第1アドレス空間に対応するSID値の範囲内にあるか否かを判定する。第1アドレス空間内にある場合、ステップS604を実行する。第1アドレス空間内にない場合、ステップS605を実行する。
【0094】
1つの好ましい実施形態において、上記したスタートアドレスと第1オフセットアドレスとの合計値に対応するSIDが第1アドレス空間内にあるかどうかを判定することは、具体的には以下のとおりである。スタートアドレスと第1オフセットアドレスとの合計値が第1アドレス空間のスタートアドレス以上であり、かつ第1アドレス空間のエンドアドレス以下であるかどうかを判定する。スタートアドレスと第1オフセットアドレスとの合計値が第1アドレス空間のスタートアドレス以上であり、かつ第1アドレス空間のエンドアドレス以下である場合、当該合計値に対応するSIDが第1アドレス空間内にあると特定する。スタートアドレスと第1オフセットアドレスとの合計値が第1アドレス空間のスタートアドレスより小さく、又は第1アドレス空間のエンドアドレスより大きい場合、当該合計値に対応するSIDが第1アドレス空間内にないと判定する。
【0095】
本願の実施形態において、上記スタートアドレスと第1オフセットアドレスとの合計値はIPv6アドレスとして表され、当該IPv6に対応するSIDは当該合計値自体として表される。
【0096】
ステップS604:合計値に対応するSIDが第1アドレス空間内にある場合、合計値に対応するSIDを第1SIDとする。
【0097】
上記ステップS603~ステップS604は、ステップS403に対して細分化したものである。
【0098】
ステップS605:合計値に対応するSIDが第1アドレス空間内にない場合、合計値に対応するSIDを第1SIDとすることは拒否される。
【0099】
本ステップでは、算出したスタートアドレスと第1オフセットアドレスとの合計値に対応するSIDが第1アドレス空間内にない場合、第1デバイスは、算出した合計値にエラーが発生したと判定することができる。この場合、第1デバイスは、その合計値に対応するSIDを第1SIDとして拒否することができる。
【0100】
スタートアドレスと第1オフセットアドレスとの合計値に対応するSIDが第1アドレス空間にあるかどうかを判定することにより、算出した合計値にエラーが発生するか否かを効果的に検出することができることで、誤った合計値に対応するSIDを第1SIDとすることを回避し、得られた第1SIDの精度を確保することで、後続のSIDに基づくメッセージ伝送プロセスを確保する。
【0101】
一つの好ましい実施形態では、第1アドレス空間の境界アドレスが第1アドレス空間のエンドアドレスである場合、本願の実施形態は、図2に示す方法により、セグメント識別子の特定方法をさらに提供する。図7に示すように、図7は、本願実施形態が提供するセグメント識別子の特定の第4種類のフローチャートである。当該方法は以下のステップを含む。
【0102】
ステップS701:第2デバイスから送信された第1メッセージと第2メッセージとを受信する。
【0103】
ここで、第1メッセージは、少なくとも1つの第1Block識別子と、各第1Block識別子に対応するアドレス空間の境界アドレスと、第1オフセット量とを含む。第2メッセージは、少なくとも1つの第2Block識別子と第1インデックス値とを含む。
【0104】
又は、第1メッセージは、少なくとも1つの第1Block識別子と各第1Block識別子に対応するアドレス空間の境界アドレスとを含む。第2メッセージは、少なくとも1つの第2Block識別子と、第1インデックス値と、第1オフセット量とを含む。
【0105】
ステップS702:SIDのアドレスルールに従って、同じBlockに対応する第1インデックス値を第1オフセット量だけオフセットして第2オフセットアドレスを取得する。
【0106】
ここで、同じBlockは、少なくとも1つの第1Block識別子および少なくとも1つの第2Block識別子における同じBlockで表されるBlockである。
【0107】
上記第2オフセットアドレスの取得方法は、上記第1オフセットアドレスの取得方法を参照することができ、ここでは詳細な説明を省略する。
【0108】
ステップS703:エンドアドレスと第2オフセットアドレスとに基づいて、第1SIDを算出する。
【0109】
本ステップでは、第1デバイスは、オフセット処理によって得られた第2オフセットアドレスと、第1メッセージに含まれている第1アドレス空間の境界アドレス(即ち、上記第1アドレス空間のエンドアドレス)とに基づいて、第1メッセージおよび第2メッセージに対応する第1SIDを算出することができる。第1SIDの算出方法については後述するが、ここでは詳細な説明を省略する。
【0110】
上記ステップS702~ステップS703は、上記ステップS202に対して細分化したものである。
【0111】
一つの好ましい実施形態では、本願の実施形態は、図7に示す方法により、セグメント識別子の特定方法をさらに提供する。図8に示すように、図8は、本願実施形態が提供するセグメント識別子の特定の第5種類のフローチャートである。当該方法は以下のステップを含む。
【0112】
ステップS801:第2デバイスから送信された第1メッセージと第2メッセージとを受信する。
【0113】
ここで、第1メッセージは、少なくとも1つの第1Block識別子と、各第1Block識別子に対応するアドレス空間の境界アドレスと、第1オフセット量とを含む。第2メッセージは、少なくとも1つの第2Block識別子と第1インデックス値とを含む。
【0114】
又は、第1メッセージは、少なくとも1つの第1Block識別子と各Blockに対応するアドレス空間の境界アドレスとを含む。第2メッセージは、少なくとも1つの第2Block識別子と、第1インデックス値と、第1オフセット量とを含む。
【0115】
ステップS802:SIDのアドレスルールに従って、同じBlockに対応する第1インデックス値を第1オフセット量だけオフセットして第2オフセットアドレスを取得する。
【0116】
上記ステップS801~ステップS802は、上記ステップS701~ステップS702と同じである。
【0117】
ステップS803:エンドアドレスと第2オフセットアドレスとの差分値を算出する。
【0118】
本ステップでは、第1デバイスは、第1アドレス空間のエンドアドレスと第2オフセットアドレスとの差分値を算出し、エンドアドレスと第2オフセットアドレスとの差分値を得ることができる。
【0119】
1つの好ましい実施形態において、第1デバイスは、エンドアドレスと第2オフセットアドレスとの差分値を算出した後に、当該差分値を第1メッセージおよび第2メッセージに対応するSID、即ち上記第1SIDとして特定することができる。
【0120】
別の好ましい実施形態において、上記第3リンクステートメッセージおよび第4リンクステートメッセージが伝送過程において伝送エラーが発生する可能性があることを考慮し、特定した第1SIDの精度を確保するために、第1デバイスは、算出したエンドアドレスと第2オフセットアドレスとの差分値に対応するSIDが上記第1アドレス空間内にあるかどうかを判定することができる。つまり、算出したエンドアドレスと第2オフセットアドレスとの差分値に対応するSIDが第1アドレス空間に対応するSID値の範囲内にあるか否かを判定する。第1アドレス空間内にある場合、ステップS804を実行する。第1アドレス空間内にない場合、ステップS805を実行する。
【0121】
上記したエンドアドレスと第2オフセットアドレスとの差分値に対応するSIDが第1アドレス空間内にあるかどうかを特定する形態は、上記した特定スタートアドレスと第1オフセットアドレスとの合計値に対応するSIDが第1アドレス空間内にあるかどうかを特定する方法を参照することができ、ここでは詳細な説明を省略する。
【0122】
ステップS804:差分値に対応するSIDが第1アドレス空間内にある場合、差分値に対応するSIDを第1SIDとする。
【0123】
上記ステップS803~ステップS804は、上記ステップS703に対して細分化したものである。
【0124】
ステップS805:差分値に対応するSIDが第1アドレス空間内にない場合、差分値に対応するSIDを第1SIDとすることは拒否される。
【0125】
本ステップでは、算出したエンドアドレスと第2オフセットアドレスとの差分値に対応するSIDが第1アドレス空間内にない場合、第1デバイスは、算出した差分値にエラーが発生したと判定することができる。この場合、第1デバイスは、当該差分値に対応するSIDを第1SIDとすることを拒否できる。
【0126】
エンドアドレスと第2オフセットアドレスとの差分値に対応するSIDが第1アドレス空間にあるかどうかを判定することにより、算出した差分値にエラーが発生しているか否かを効果的に検出することができることで、誤った差分値に対応するSIDを第1SIDとすることを回避し、得られた第1SIDの精度を確保することで、後続のSIDに基づくメッセージ伝送プロセスを確保する。
【0127】
上記図4図6図8の実施形態において、第1アドレス空間におけるスタートアドレスおよびエンドアドレスを例として、第1SIDを算出する方法について説明した。これに加えて、第1デバイスは、第1アドレス空間におけるスタートアドレスおよびエンドアドレス以外のいずれかのアドレス基づいて、第2デバイスが配布した第1SIDを算出することができる。
【0128】
容易に理解するために、第1アドレス空間におけるスタートアドレスおよびエンドアドレス以外のいずれかのアドレスをアドレスAとして、第1SIDの算出方法を説明する。この場合、上記第1オフセット量には、正負を示す符号ビットを含んでよく、例えば、符号ビット値が0であることは正の数を表し、符号ビット値が1であることは負の数を表す。第1デバイスは、SIDのアドレスルールに従ってインデックス値を上記第1オフセット量だけオフセットしてオフセットアドレスを得た後に、第1オフセット量の符号ビットに基づき、アドレスAとオフセットアドレスとに対して合計値又は差分値を算出することにより、第1SIDを得ることができる。例えば、第1オフセット量の符号ビットが正数を表す場合、第1デバイスはアドレスAとオフセットアドレスとの合計値を算出することで、第1SIDを得ることができる。第1オフセット量の符号ビットが負数を表す場合、第1デバイスはアドレスAとオフセットアドレスの差分値を算出することで、第1SIDを得ることができる。
【0129】
本願の実施形態において、上記第1SIDの算出プロセスで使用される第1アドレス空間のアドレスは、具体的には限定されない。
【0130】
1つの好ましい実施形態において、上記第1デバイスには第2SIDが格納されており、本願の実施形態は、上記図2に示す方法に基づいて、セグメント識別子の特定方法をさらに提供する。図9に示すように、図9は、本願実施形態が提供するセグメント識別子の特定の第6種類のフローチャートである。当該方法は以下のステップを含む。
【0131】
ステップS901:第2デバイスから送信された第1メッセージと第2メッセージとを受信し、第1メッセージは少なくとも1つの第1ブロックBlock識別子および各第1Block識別子に対応するアドレス空間の境界アドレスを含み、第2メッセージは少なくとも1つの第2Block識別子と第1インデックス値とを含む。
【0132】
ステップS902:同じBlockに対応する第1アドレス空間の境界アドレスと第1インデックス値とを用いて、第1SIDを算出する。
【0133】
ここで、同じBlockは、少なくとも1つの第1Block識別子と少なくとも1つの第2Block識別子との中の同じBlock識別子が表すBlockである。
【0134】
上記ステップS901~ステップS902は、上記ステップS201~ステップS20 2と同じである。
【0135】
ステップS903:格納された第2SIDを取得する。
【0136】
上記第2SIDは第1デバイスのデバイスSID、第1デバイスとそのネイバーノードとの間のリンクSIDのうちの一種または複数種を含むことができ。ここで、上記第2SIDについては特に限定されない。
【0137】
ステップS904:予め区分された各Blockとアドレス空間との間の対応関係に基づいて、第2SIDが所属する対象Blockを特定する。
【0138】
1つの好ましい実施形態において、SRv6ネットワークにおける各デバイスに対して、当該デバイスは予め設定されたアドレス空間区分ルールに基づいて、複数のSID値範囲に区分し、各SID値範囲を1つのBlockとすることができる。この場合、上記予め設定されたルールは当該予め設定されたアドレス空間の区分ルールである。
【0139】
容易に理解するために、アドレス空間0::100:0~0::300:0を例として説明する。デバイスは、予め設定されたルールに従って、当該アドレス空間を2つのBlockに区分することができ、例えば、Block 1に対応するアドレス空間を0::100:0~0::200:0とし、Block 2に対応するアドレス空間を0::201:0~0::300:0とすることができる。
【0140】
別の好ましい実施形態において、SRv6ネットワークにおける各デバイスに対して、当該デバイスは、予め設定されたビット区分ルールに従って、複数のSID値範囲に区分し、各SID値範囲を1つのBlockとすることができる。この場合、上記予め設定されたルールは当該予め設定されたビット区分ルールである。
【0141】
容易に理解するために、4つのビットに対する区分を例として説明する。アドレス空間の値範囲は0000~1111である。デバイスは、これら4つのビットに基づいて、2つのSID値範囲に区分することができ、すなわち、2つのBlockを得ることができる。
【0142】
例えば、Block Aに対応するアドレスストレージスペースは0000~0011であり、つまり、第3ビットおよび第4ビットを0とすることができる。Block Bに対応するアドレスストレージスペースは0100~1111であり、つまり、第3ビットと第4ビットの少なくとも一方を1とする。
【0143】
上記Blockは、予め設定されたアドレス空間区分ルールに基づいて区分して取得されてもよく、予め設定されたビット区分ルールに基づいて区分して取得されてもよい。ここで、上記Blockの区分方法は具体的に限定されない。
【0144】
本願の実施形態において、上記SRv6ネットワークにおける各デバイスが予め設定されたルールに従って区分されてBlockの数が同じであってもよく、異なってもよい。そして、各Blockに対応するアドレス空間の値範囲が同じであってもよいし、異なってもよい。ここで、SRv6ネットワークにおける各デバイスに対応するBlockの数およびアドレス空間は具体的に限定されない。
【0145】
1つの好ましい実施形態において、既知の通信プロトコル標準により分かるように、上記SIDにおけるArgumentsフィールドが0である。従って、上記した予め設定されたルールに従ってBlockを区分する時に、SIDに含まれているArgumentsフィールドのビット数に基づいて、区分すべきアドレス空間を特定することができる。つまり、Argumentsフィールドが0であるアドレス空間を選んで区分し、1つ又は複数のBlockを取得する。
【0146】
1つの好ましい実施形態において、上記SRv6ネットワークにおける各デバイスは、区分された1つまたは複数のBlockを取得した後、各Blockに対して割り当てた対応するBlock識別子、すなわちブロックIDを格納することができる。
【0147】
上記第1デバイスは上記第2SIDを取得した後、予め区分された各Blockとアドレス空間との対応関係に基づいて、第2SIDが所在するアドレス空間(第2アドレス空間と表記する)を特定し、第2SIDが所在する第2アドレス空間に対応するBlockを第2SIDが所属するBlockとして特定し、対象Blockを取得する。
【0148】
上記の実施形態において、上記ステップS904はステップS903の後に実行される。これに加えて、上記ステップS904と上記ステップS901とは同時に実行されてもよいし、上記ステップS901の前に実行されてもよい。ここで、上記ステップS901とステップS904の実行順序は特に限定されるものではない。
【0149】
ステップS905:対象Blockに対応する第2アドレス空間における各SIDとインデックス値との対応関係に基づいて、第2SIDに対応する第2インデックス値を特定する。
【0150】
本願の実施形態において、上記対象Blockに対応する第2アドレス空間における各SIDに対応するインデックス値が存在する。第1デバイスは、第2SIDが所属する対象Blockに対応する第2アドレス空間を特定した後、当該第2アドレス空間における各SIDとインデックス値との対応関係に基づいて、第2SIDに対応するインデックス値を特定して第2インデックス値とすることができる。
【0151】
本願の実施形態において、上記第2アドレス空間における各SIDに対応するインデックス値は、第2アドレス空間の境界アドレスに基づいて特定されることができる。
【0152】
例えば、上記第2アドレス空間に対応するSID値範囲は0::100:0~0::200:0であり、当該第2アドレス空間のスタートアドレスは0:::100:0であり、0::100:0に対応するインデックス値が0であってよく、0::101:0に対応するインデックス値が1であってよく、0::102:0に対応するインデックス値が2であってよく、これにより類推し、0:200:0に対応するインデックス値は256=2*16-16であってよい。
【0153】
また、例えば、上記第2アドレス空間に対応するSID値範囲は0::100:0~0::200:0であり、当該第2アドレス空間のエンドアドレスは0:::200:0であり、0::200:0に対応するインデックス値が0であってよく、0::1FF:0に対応するインデックス値が1であってよく、0::1FE:0に対応するインデックス値が2であってよく、これにより類推し、0::100:0に対応するインデックス値は256であってよい。本願の実施形態において、第2アドレス空間における各SIDに対応するインデックス値の特定方法は具体的に限定されない。
【0154】
ステップS906:各ネイバーデバイスへ第3メッセージと第4メッセージとを送信し、第3メッセージは対象Blockの第3Block識別子と第2アドレス空間の境界アドレスとを含み、第4メッセージは第3Block識別子と第2インデックス値とを含む。
【0155】
第1デバイスは、その各ネイバーデバイスに第3メッセージと第4メッセージとを送信することができる。第1デバイスに対応する各ネイバーデバイスは、当該第3メッセージおよび第4メッセージを受信した後、当該第3メッセージと第4メッセージとに基づいて、前記第2SIDを特定することができる。第2SIDの特定方法については、上記第1SIDの特定方法を参照することができるが、ここでは詳細な説明を省略する。
【0156】
一つの好ましい実施形態において、第3メッセージは第2オフセット量をさらに含み、又は、第4メッセージは第2オフセット量をさらに含む。上記ステップS906の前に、当該方法は、第2アドレス空間における各アドレスの属性特徴に基づいて、第2アドレス空間の境界アドレスの第2オフセット量を算出することをさらに含む。
【0157】
一つの好ましい実施形態において、既知の通信プロトコル標準において、上記SIDはArgumentsフィールドを含み、ArgumentsフィールドはSIDの低位アドレスビットに配置される。また、Argumentsフィールドに対応する各ビットは0であるので、第1デバイスはArgumentsフィールドに対応するすべてのビット数を、第2アドレス空間の境界アドレスの第2オフセット量として特定することができる。
【0158】
本願の実施形態において、上記第2アドレス空間における各アドレスの属性特徴は、各アドレスの低位アドレスビットにおける数値が0であるビットの数と表すことができる。
【0159】
上記第2アドレス空間の境界アドレスは、第2アドレス空間のスタートアドレスまたはエンドアドレスなどであってよい。
【0160】
本願の実施形態において、第1デバイスはユーザの実際ニーズによって第2オフセット量を特定することもできる。一例では、第1デバイスは、低位アドレスビットから、第1数量のアドレスビットを第2オフセット量として選択する。ここで、第1数量の値は10個、20個、30個などであってよい。別の例では、第2オフセット量は0であってよく、第2オフセット量が0である場合、第3メッセージおよび第4メッセージには第2オフセット量が携帯されなくてもよい。
【0161】
この例示では、厳密に従来のSIDに含まれているフィールドに基づいて第2オフセット量を特定することではなく、ユーザの実際ニーズにより、第2オフセット量として一部のアドレスビットを選択することが理解される。また、選択された各アドレスビットに対応する値は0でもよく、1でもよく、本願の実施形態において、各アドレスビットに対応する値は限定されない。
【0162】
本願の実施形態において、上記第2オフセット量の特定方法は特に限定されない。
【0163】
本願の実施形態において、上記第3メッセージはリンクステートメッセージ(容易に区別するために、第5リンクステートメッセージと表記する)であってよく、第3メッセージはサブTLVを含み、第3メッセージのサブTLVは第5リンクステートメッセージにおけるSRv6 SID Block sub-TLVであってよい。上記第4メッセージはリンクステートメッセージ(容易に区別するために、第6リンクステートメッセージと表記する)であってよく、第4メッセージはサブTLVを含み、第4メッセージのサブTLVは第6リンクステートメッセージにおけるSRv6 End.X SID Index Sub-TLV、SRv6 LAN End.X SID Index Sub-TLV又はSRv6End SID Index Sub-TLVであってよい。
【0164】
1つの好ましい実施形態において、上記第1デバイスはネイバーノードに上記第3メッセージと第4メッセージとを送信するとともに、さらに上記第1メッセージと第2メッセージとを送信することができる。ここで、第1デバイスから送信されたメッセージは具体的に限定されない。
【0165】
容易に理解するために、図10-a~図10-dを例として上記第1サブTLV~第4サブTLVを説明する。
【0166】
第1サブTLVは、ブロック識別子フィールドと、スタートSIDフィールドと、エンドSIDフィールドとを含む。ブロック識別子フィールドは少なくとも1つの第1Block識別子を携帯するためのものである。スタートSIDフィールドは各第1Blockに対応するアドレス空間のスタートアドレスを携帯するためのものである。エンドSIDフィールドは各第1Blockに対応するアドレス空間のエンドアドレスを携帯するためのものである。
【0167】
一例として、第1サブTLVはSRv6 SID Block sub-TLVであってよく、図10-aは、本願実施例が提供するSRv6 SID Block sub-TLVの一つの模式図である。現在のプロトコルの規定に従って、SRv6 SID Block sub-TLVは、タイプフィールドと、長さフィールドと、次段のサブTLV長さフィールド(Sub-sub-tlv-len)と、次段のサブTLVフィールド(Sub-sub-TLVs)とを含む。本願の実施形態において、SRv6 SID Block sub-TLVは、上記のフィールドに加えて、ブロック識別子フィールド(Block ID)と、スタートSIDフィールド(Start SID)と、エンドSIDフィールド(End ID)とを含む。
【0168】
好ましくは、当該SRv6 SID Block sub-TLVはオフセット量フィールド(offset)をさらに含んでよく、オフセット量フィールドは第1オフセット量を携帯することができ、当該第1オフセット量はSRv6 SID Block sub-TLVに含まれているブロック識別子に対応するアドレス空間の境界アドレスのオフセット量を表示するためのものである。図10aには、一つのブロック識別子を例示するが、SRv6 SID Block sub-TLVが複数のブロック識別子を含む場合、当該第1オフセット量が各ブロック識別子に対応するアドレス空間の境界アドレスのオフセット量を表示するために用いられることが理解される。
【0169】
IS-ISプロトコルでは、当該SRv6 SID Block sub-TLVにおけるタイプフィールド、長さフィールド、ブロック識別子フィールド、オフセット量フィールド、次段のサブTLV長フィールドはいずれも8ビットを占有してよく、次段のサブTLVフィールド長さが可変であり、スタートSIDフィールドとエンドSIDフィールドはいずれも128ビットを占有してよい。他のプロトコルにおいて、各フィールド長さおよび各フィールドの配列順序はこれに限定されず、本願の実施形態によって限定されない。
【0170】
好ましくは、第3メッセージにおけるサブTLVはSRv6 SID Block sub-TLVであってもよく、この場合、SRv6 SID Block sub-TLVのブロック識別子フィールドの値は上記第3メッセージにおける第3Block識別子であり、オフセット量フィールドの値は第3メッセージにおける第2オフセット量であり、スタートSIDフィールドおよびエンドSIDフィールドの値はそれぞれ第2アドレス空間のスタートアドレスおよびエンドアドレスである。
【0171】
第2サブTLVはP2P隣接タイプのリンクSIDのインデックスを携帯するためのものである。第2サブTLVは、ブロック識別子フィールドと、インデックス数フィールドと、インデックス長フィールドと、少なくとも1つのインデックスフィールドと、各インデックスフィールドに対応するエンドポイント動作フィールドとを含む。
【0172】
第3サブTLVはLAN隣接タイプのリンクSIDのインデックスを携帯するためのものである。第3サブTLVは、ブロック識別子フィールドと、インデックス数フィールドと、インデックス長フィールドと、少なくとも1つのインデックスフィールドと、各インデックスフィールドに対応するエンドポイント動作フィールドとを含む。
【0173】
第4サブTLVはデバイスSIDのインデックスを携帯するためのものである。第4サブTLVは、ブロック識別子フィールドと、インデックス数フィールドと、インデックス長フィールドと、少なくとも1つのインデックスフィールドと、各インデックスフィールドに対応するエンドポイント動作フィールドとを含む。
【0174】
ここで、上記第2サブTLV、第3サブTLVおよび第4サブTLVにおいて、ブロック識別子フィールドは第2Block識別子を携帯するためのものである。インデックス数フィールドはインデックスの数量を携帯するためのものである。インデックス長フィールドはインデックスの長さを携帯するためのものである。インデックスフィールドは一つのインデックス値を携帯するためのものである。
【0175】
一例として、第2サブTLVはSRv6 End.X SID Index Sub-TLVであってよく、第3サブTLVはSRv6 LAN End.X SID Index Sub-TLVであってよい。図10-bは、本願実施例が提供するSRv6 End.X SID Index Sub-TLVの一つの模式図である。図10-cは、本願実施例が提供するSRv6 LAN End.X SID Index Sub-TLVの一つの模式図である。
【0176】
現在のプロトコルによれば、SRv6 End.X SID Index Sub-TLVとSRv6 LAN End.X SIDIndex Sub-TLVはいずれもタイプフィールドと、長さフィールドと、フラグフィールドと、アルゴリズムフィールドと、重みフィールドとを含む。本願の実施形態において、SRv6 LAN End.X SIDIndex Sub-TLVは、上記フィールドに加えて、ブロック識別子フィールド(Block ID)と、インデックス数フィールド(Index Num)と、インデックス長フィールド(Index Length)と、少なくとも一つのインデックスフィールド(Index)と、各インデックスフィールドに対応するエンドポイント動作フィールド(Endpoint Behavior)とをさらに含む。ここで、インデックス数フィールドがNumである場合、少なくとも1つのインデックスフィールドはインデックス0(Index 0)と、インデックス1(Index1)と、……、インデックスNum-1(Index Num-1)とを含み、それなりに、エンドポイント動作フィールドはエンドポイント動作0(Endpoint Behavior 0)と、エンドポイント動作1(Endpoint Behavior 1)と、……、エンドポイント動作Num-1(Endpoint Behavior Num-1)とを含む。
【0177】
SRv6 End.X SID Index Sub-TLVはネイバーシステム識別子フィールド(Neighbor System-ID)をさらに含み、ネイバーシステム識別子フィールドが占有するビット数は可変であり、ネイバーシステム識別子に基づいて特定することができる。
【0178】
IS-ISプロトコルにおいて、SRv6 End.X SID Index Sub-TLVおよびSRv6 LAN End.X SID IndexSub-TLVにおけるタイプフィールド、長さフィールド、フラグフィールド、アルゴリズムフィールド、重みフィールド、ブロック識別子フィールド、インデックス数フィールド、インデックス長フィールド、各エンドポイント動作フィールドはいずれも8ビットを占有してよく、各インデックスフィールドが占有するビット数は可変である。他のプロトコルにおいて、各フィールドの長さおよび各フィールドの配列順序はこれに限定されない。
【0179】
好ましくは、第4メッセージにおけるサブTLVはSRv6 End.X SID Index Sub-TLVであってよい。この場合、SRv6 End.X SID Index Sub-TLVのブロック識別子フィールドの値は第4メッセージにおける第3Block識別子であり、インデックスフィールドの値は第4メッセージにおける第2インデックス値であってよい。
【0180】
または、第4メッセージにおけるサブTLVはSRv6 LAN End.X SID Index Sub-TLVであってよい。この場合、SRv6 LAN End.X SID Index Sub-TLVのブロック識別子フィールドの値は第3Block識別子であり、インデックスフィールドの値は第4メッセージにおける第2インデックス値であってよい。
【0181】
図10-bおよび図10-cにおけるBlock識別子はいずれもリンクSIDに対応する識別子である。
【0182】
一例として、第4サブTLVはSRv6 End SID Index Sub-TLVであってよく、図10-dは、本願実施例が提供するSRv6 End SID Index Sub-TLVの一つの模式図である。現在のプロトコルによれば、SRv6 End SID Index Sub-TLVはタイプフィールドと、長さフィールドと、フラグフィールドとをさらに含む。本願の実施形態において、SRv6 End SIDIndex Sub-TLVは、上記フィールドに加えて、ブロック識別子フィールド(Block ID)と、インデックス数フィールド(Index Num)と、インデックス長フィールド(Index Length)と、少なくとも一つのインデックスフィールド(Index)と、各インデックスフィールドに対応するエンドポイント動作フィールド(Endpoint Behavior)とをさらに含む。ここで、インデックス数フィールドがNumである場合、少なくとも1つのインデックスフィールドはインデックス0(Index 0)と、インデックス1(Index1)と、……、インデックスNum-1(Index Num-1)とを含み、それなりに、エンドポイント動作フィールドはエンドポイント動作0(Endpoint Behavior 0)と、エンドポイント動作1(Endpoint Behavior 1)と、……、エンドポイント動作Num-1(Endpoint Behavior Num-1)とを含む。
【0183】
IS-ISプロトコルにおいて、SRv6 End SID Index Sub-TLVにおけるタイプフィールド、長さフィールド、フラグフィールド、アルゴリズムフィールド、重みフィールド、ブロック識別子フィールド、インデックス数フィールド、インデックス長フィールド、各エンドポイント動作フィールドはいずれも8ビットを占有してよく、各インデックスフィールドが占有するビット数は可変である。他のプロトコルにおいて、各フィールドの長さおよび各フィールドの配列順序はこれに限定されず、本願の実施形態によって限定されない。
【0184】
好ましくは、第4メッセージにおけるサブTLVはSRv6 End SID Index Sub-TLVであってもよく、この場合、SRv6 End SID Index Sub-TLVのブロック識別子フィールドの値が第4メッセージにおける第3Block識別子であり、インデックスフィールドの値が第4メッセージにおける第2インデックス値であってもよい。
【0185】
好ましくは、第2サブTLVはオフセット量フィールドをさらに含み、第3サブTLVはオフセット量フィールドをさらに含み、第4サブTLVはオフセット量フィールドをさらに含み、当該オフセット量フィールドは第1オフセット量を携帯することができる。
【0186】
第2サブTLVに含まれているオフセット量は、第2サブTLVに含まれているブロック識別子に対応するアドレス空間のオフセット量である。
【0187】
第3サブTLVに含まれているオフセット量は、第3サブTLVに含まれているブロック識別子に対応するアドレス空間のオフセット量である。
【0188】
第4サブTLVに含まれているオフセット量は、第4サブTLVに含まれているブロック識別子に対応するアドレス空間のオフセット量である。
【0189】
上記図10-a~図10-dは、IS-ISプロトコルに基づいて送信されるリンクステートメッセージにおけるTLVである。OSPFv3に基づいて送信されるリンクステートメッセージにおけるTLVについては、IS-ISプロトコルに基づいて送信されるリンクステートメッセージにおけるTLVと基本的に類似しており、ここでは、OSPFv3に基づいて送信されるリンクステートメッセージにおけるTLVの構成については具体的に説明しない。
【0190】
容易に理解するために、デバイス1およびデバイス2である2つのネイバーデバイスを例として、デバイス1に格納されているSIDの配布プロセスについて説明する。仮に、デバイス1には、1::101:0と1:102:0で表される2つのデバイスSIDが格納されている。デバイス1が割り当てたブロックの数は1であり、このBlockのBlock識別子は1であり、アドレス空間は1:::100:0~1::200:0である。
【0191】
デバイス1におけるBlockに割り当てたSIDに対応するインデックス情報は、Index 1:1::101:0とIndex 2:1::102:0に示されている。SID 1::101:0に対応するインデックスがIndex 1であり、SID1::102:0に対応するインデックスがIndex2である。
【0192】
ある時刻において、デバイス1は、デバイス2であるネイバーデバイスに、SRv6 SID Block sub-TLVが携帯されているリンクステートメッセージ1とSRv6 End SID Index Sub-TLVが携帯されているリンクステートメッセージ2とを送信する。SRv6 SID Blocksub-TLVにおいて、ブロック識別子(すなわちBlock-ID)フィールドは1であり、スタートSIDフィールドは1::100:0であり、エンドSIDフィールドは1::200:0であり、オフセット量(すなわちoffset)フィールドは16である。SRv6 End SID Index Sub-TLVにおいて、セグメント識別子フィールドは1であり、インデックス数(すなわちIndex Num)フィールドは2であり、インデックス長(すなわちIndex Length)フィールドは1であり、Index0フィールドは1バイトを占め、その値が1である(すなわちインデックス値が1である)、Index 1フィールドは1バイトを占め、その値が2である(すなわちインデックス値が2である)。
【0193】
デバイス2は、デバイス1から送信されたリンクステートメッセージ1とリンクステートメッセージ2とを受信した後に、SRv6 End SID Index Sub-TLVのインデックス0に対して、オフセット量フィールドに含まれているオフセット値(すなわち16)に基づいて、そのインデックス値(すなわち1)に対してオフセット処理を行うことができ、すなわち、インデックス1を左に16ビットだけオフセットし、オフセットアドレス0::1:0を得る。この場合、デバイス2は、オフセットアドレス0::1:0とスタートSID(すなわち1::100:0)とを加算して、SID 1::101:0を得ることができる。
【0194】
SRv6 End SID Index Sub-TLVにおけるIndex1に対して、オフセット量フィールドに含まれているオフセット値(すなわち16)に基づいて、そのインデックス値(すなわち2)に対してオフセット処理を行うことができ、すなわち、インデックス2を左に16ビットだけオフセットし、オフセットアドレス0::2:0を得る。この場合、デバイス2は、オフセットアドレス0::2:0とスタートSID(すなわち1::100:0)と加算して、SID 1::102:0を得ることができる。
【0195】
この場合、デバイス2は、デバイス1から配布されたSIDが1::101:0および1::102:0であると判定することができる。
【0196】
1つのデバイスのネイバーデバイスが多い、または使用されているFlex-Algorithmsの数が多い場合、リンクSID(End.X SID)を多く配布する必要があり、SID配布時のメッセージオーバーヘッドをさらに増大させる。SID配布時のメッセージオーバーヘッドを低減するために、本願の実施形態は、SID配布時のメッセージコンテンツをさらに圧縮することができる。
【0197】
上記により、本願の別の実施形態において、上記ステップS201における第1メッセージはエンドポイント動作数とエンドポイント動作とをさらに含み、上記ステップS201における第1インデックス値はスタートインデックス値であってよく、スタートインデックス値は第1メッセージに含まれている第1エンドポイント動作に対応するインデックス値である。それに基づいて、本願の実施形態は、別のセグメント識別子の特定方法を提供し、図11に示すように、当該方法は具体的には以下のステップを含む。
【0198】
ステップS1101:第2デバイスから送信された第1メッセージと第2メッセージとを受信する。
【0199】
第1メッセージは、少なくとも1つの第1Block識別子と、各第1Block識別子に対応するアドレス空間の境界アドレスと、エンドポイント動作数と、エンドポイント動作とを含む。第2メッセージは、少なくとも1つの第2Block識別子と第1インデックス値とを含む。第1メッセージに含まれている各エンドポイント動作は一つのインデックス値に対応し、第1メッセージに含まれている複数のエンドポイント動作に対応するインデックス値は連続的である。第2メッセージに含まれている第1インデックス値はスタートインデックス値であり、スタートインデックス値は第1メッセージに含まれている第1エンドポイント動作に対応するインデックス値である。
【0200】
例えば、第1メッセージに含まれているエンドポイント動作数が4である場合、第1メッセージには4つのエンドポイント動作が含まれており、第1エンドポイント動作に対応するインデックス値が1である場合、第2メッセージに含まれている第1インデックス値は1である。
【0201】
本願の実施形態において、第2デバイスに複数のリンクSIDが格納され、第1メッセージおよび第2メッセージに含まれているBlock識別子はいずれもリンクSIDに所属するBlockの識別子である。
【0202】
第1メッセージがエンドポイント動作数とエンドポイント動作とをさらに含む場合、ステップS202は、具体的には以下のように実現できる。
ステップS1102:エンドポイント動作数とスタートインデックス値とに基づいて、第1メッセージに含まれている各エンドポイント動作に対応するインデックス値を算出する。
【0203】
理解できるように、第1メッセージに含まれている第1エンドポイント動作に対応するインデックス値はスタートインデックス値であり、第2エンドポイント動作に対応するインデックス値はスタートインデックス値に1を加算するものであり、第3エンドポイント動作に対応するインデックス値はスタートインデックス値に1を加算してさらに1を加算するものであり、これにより類推し、第1メッセージに含まれている各エンドポイント動作に対応するインデックス値を算出することができる。
【0204】
好ましくは、ステップS1102は、具体的には以下のように実現できる。上記スタートインデックス値とNとの合計値を、上記第1メッセージに含まれているN番目のエンドポイント動作に対応するインデックス値とし、Nの値の範囲は0から上記エンドポイント動作数と1との差分値までである。
【0205】
例えば、第1メッセージに含まれているエンドポイント動作数が4である場合、第1メッセージに含まれている0番目のエンドポイント動作に対応するインデックス値はスタートインデックス値であり、1番目のエンドポイント動作に対応するインデックス値はスタートインデックス値と1との合計値であり、2番目のエンドポイント動作に対応するインデックス値はスタートインデックス値と2との合計値であり、3番目のエンドポイント動作に対応するインデックス値はスタートインデックス値と3との合計値であり、4番目のエンドポイント動作に対応するインデックス値はスタートインデックス値と4との合計値である。
【0206】
ステップS1103:第1アドレス空間の境界アドレスと第1メッセージに含まれている各エンドポイント動作に対応するインデックス値とに基づいて、各エンドポイント動作に対応するSIDを算出する。
【0207】
本願の実施形態によれば、関連技術にかかるSID配布プロセスには完全なSIDを携帯する必要があることに対して、本願の実施形態において、第1メッセージおよび第2メッセージには完全なSIDが携帯されていない。そして、複数のリンクSIDを配布する必要がある場合、第2メッセージには各リンクSIDに対応するインデックス値を携帯する必要はなく、スタートインデックス値が携帯されていることにより、第1デバイスは、第2メッセージに含まれているスタートインデックス値と第1メッセージに含まれているエンドポイント動作数とに基づいて各エンドポイント動作に対応するインデックス値を算出して、各エンドポイント動作に対応するSIDを算出することができる。このように、第2デバイスに含まれているネイバーデバイスが多い、または使用されるFlex-Algorithmsの数が多い場合、本願の実施形態によって提供される方法を採用することにより、第2メッセージに必要なデータ量を低減し、リンクSIDを配布する時のメッセージオーバーヘッドを低減することができ、それにより、デバイスの性能とメッセージ伝送プロトコルの安定性を確保することができる。
【0208】
1つの実現可能な形態において、第1メッセージおよび第2メッセージにはいずれも第1オフセット量が含まれていない場合、上記S1103は、具体的には以下ように実現できる。各エンドポイント動作に対応するインデックス値を第1オフセットアドレスとし、第1アドレス空間の境界アドレスと各エンドポイント動作に対応する第1オフセットアドレスとに基づいて、各エンドポイント動作に対応するSIDを算出する。
【0209】
別の実現可能な形態において、第1メッセージは第1オフセット量をさらに含み、又は、第2メッセージは第1オフセット量をさらに含む。第1メッセージ又は第2メッセージが第1オフセット量を含む場合、上記S1103は、具体的には、以下のステップを含む。
【0210】
ステップA:SIDのアドレスルールに従って、各エンドポイント動作に対応するインデックス値を第1オフセット量だけオフセットし、各エンドポイント動作に対応する第1オフセットアドレスを取得する。
【0211】
ステップB:第1アドレス空間の境界アドレスと各エンドポイント動作に対応する第1オフセットアドレスとに基づいて、各エンドポイント動作に対応するSIDを算出する。
【0212】
ここで、第1アドレス空間の境界アドレスが第1アドレス空間のスタートアドレスである場合、ステップBは、具体的には、スタートアドレスと各エンドポイント動作に対応する第1オフセットアドレスとの合計値をそれぞれ算出することと、算出した各合計値がいずれも第1アドレス空間内にある場合、算出した各合計値をそれぞれ各エンドポイント動作のSIDとすることとを含む。
【0213】
又は、第1アドレス空間の境界アドレスが第1アドレス空間のエンドアドレスである場合、ステップBは、具体的には、エンドアドレスと各エンドポイント動作に対応する第1オフセットアドレスとの差分値をそれぞれ算出することと、算出した各差分値がいずれも第1アドレス空間内にある場合、算出した各差分値をそれぞれ各エンドポイント動作のSIDとすることとを含む。
【0214】
ステップBにおいて、第1アドレス空間の境界アドレスと各第1オフセットアドレスとに基づいて各エンドポイント動作に対応するSIDを算出する方法は、上記実施形態における第1アドレス空間の境界アドレスと第1オフセットアドレスとに基づいて第1SIDを算出する方法と同じであり、上記実施形態にかかる説明を参照することができ、ここでは詳細な説明を省略する。
【0215】
図11に対応する実施形態において、第1メッセージは第5サブTLVを含んでよく、第5サブTLVはブロック識別子フィールドと、スタートSIDフィールドと、エンドSIDフィールドと、フラグフィールドと、アルゴリズムフィールドと、重みフィールドと、動作数フィールドと、エンドポイント動作フィールドとを含む。
【0216】
ここで、ブロック識別子フィールドは第1Block識別子を携帯するためのものである。スタートSIDフィールドは第1アドレス空間のスタートアドレスを携帯するためのものである。エンドSIDフィールドは第1アドレス空間のエンドアドレスを携帯するためのものである。
【0217】
フラグフィールドは、共有フラグを携帯するためのものであり、共有フラグが第1Block識別子で表されるBlockに含まれている複数のSIDに共有されている。アルゴリズムフィールドは、共有アルゴリズムを携帯するためのものであり、共有アルゴリズムが第1Block識別子で表されるBlockに含まれている複数のSIDに共有されている。重みフィールドは、共有重みを携帯するためのものであり、共有重みが第1Block識別子で表されるBlockに含まれている複数のSIDに共有されている。
【0218】
動作数フィールドはエンドポイント動作数を携帯するためのものであり、各エンドポイント動作は1つのエンドポイント動作を携帯するためのものである。
【0219】
好ましくは、上記第1メッセージはリンクステートメッセージであってよく、第5サブTLVはリンクステートメッセージに含まれているRule-based End.X SID Block sub-TLVであってよく、現在のプロトコルの規定に従って、リンクステートメッセージはSRv6 Locator TLVを含み、本願の実施形態における第5サブTLVはSRv6 Locator TLVのサブTLVであるが、本願の実施形態によって限定されず、第5サブTLVは第1メッセージに含まれている他のTLVのサブTLVであってもよい。
【0220】
図12-aに示すように、図12-aは、本願実施例が提供するRule-based End.X SID Block sub-TLVの一つの模式図であり、現在のプロトコルの規定に従って、Rule-based End.X SID Block sub-TLVはタイプフィールドと、長さフィールドと、次段のサブTLV長さフィールド(Sub-sub-tlv-len)と、次段のサブTLVフィールド(Sub-sub-TLVs)とを含む。本願の実施形態において、Rule-based End.X SID Blocksub-TLVは、上記のフィールドに加えて、ブロック識別子フィールドと、スタートSIDフィールドと、エンドSIDフィールドと、フラグフィールドと、アルゴリズムフィールドと、重みフィールドと、動作数フィールドと、エンドポイント動作フィールドとをさらに含む。
【0221】
好ましくは、当該Rule-based End.X SID Block sub-TLVはオフセット量フィールドをさらに含んでよく、オフセット量フィールドは第1オフセット量を携帯することができ、当該第1オフセット量はRule-based End.X SID Block sub-TLVに含まれているブロック識別子に対応するアドレス空間の境界アドレスのオフセット量を示すためのものである。図12aにおいて、一つのブロック識別子を例として、Rule-based End.X SID Block sub-TLVが複数のブロック識別子を含む場合、当該第1オフセット量は各ブロック識別子に対応するアドレス空間の境界アドレスのオフセットを示すために用いられることが理解される。
【0222】
当該Rule-based End.X SID Block sub-TLVに元々含まれるフィールドが占有するビット数はIS-ISプロトコルに規定されたビット数であり、新たに追加されたフィールドが占有するビット数は実際の需要に基づいて設定することができ、本願の実施形態はこれに限定されない。図12-aは一例であり、各フィールドの長さおよび各フィールドの配列順序はこれに限定されない。
【0223】
図11に対応する実施形態において、第2メッセージは第6サブTLV又は第7サブTLVを含んでよい。
【0224】
第6サブTLVはP2P隣接タイプのリンクSIDのインデックスを携帯するためのものである。第6サブTLVは、ブロック識別子フィールドと、インデックス長フィールドと、スタートインデックスフィールドとを含む。
【0225】
第7サブTLVはローカルエリアネットワークLANの隣接タイプのリンクSIDのインデックスを携帯するためのものである。第7サブTLVは、ブロック識別子フィールドと、インデックス長フィールドと、スタートインデックスフィールドとを含む。
【0226】
ここで、ブロック識別子フィールドは第2Block識別子を携帯するためのものであり、インデックス長フィールドはスタートインデックスフィールド長を携帯するためのものであり、スタートインデックスフィールドは上記スタートインデックス値を携帯するためのものである。
【0227】
好ましくは、上記第2メッセージはリンクステートメッセージであってよく、第6サブTLVはリンクステートメッセージに含まれているRule-based End.X SID Index sub-TLVであってよく、第7サブTLVはリンクステートメッセージに含まれているRule-based LAN End.X SID Index sub-TLVであってよい。現在のプロトコルの規定に従って、本願の実施形態における第6サブTLVおよび第7サブTLVは、上記TLV-22、TLV-23、TLV-25、TLV-141、TLV-222又はTLV-223のサブTLVとすることができる。しかし、本願の実施形態はこれに限定されるものではなく、第6サブTLVおよび第7サブTLVは第2メッセージに含まれている他のTLVのサブTLVとしてもよい。
【0228】
図12-bは、本願実施例が提供するRule-based End.X SID Index sub-TLVの一つの模式図であり、図12-cは、本願実施例が提供するRule-based LAN End.X SID Index sub-TLVの一つの模式図である。
【0229】
現在のプロトコルの規定に従って、Rule-based End.X SID Index sub-TLVおよびRule-based LAN End.X SID Index sub-TLVは、いずれもタイプフィールドと長さフィールドとを含む。本願の実施形態において、Rule-basedEnd.X SID Index sub-TLVおよびRule-based LAN End.X SID Index sub-TLVに元々含まれているフラグフィールド、アルゴリズムフィールドおよび重みフィールドが上記第5サブTLVに携帯されており、第5サブTLVと同じBlock識別子を携帯する第6サブTLVおよび第7サブTLVは、第5サブTLVが携帯されているフラグフィールド、アルゴリズムフィールドおよび重みフィールドを共有することができる。これにより、リンクSIDの配布プロセスにおけるメッセージオーバーヘッドをさらに低減することができる。
【0230】
本願の実施形態において、Rule-based End.X SID Index sub-TLVおよびRule-based LAN End.X SID Index sub-TLVは、ブロック識別子フィールドと、インデックス長フィールドと、スタートインデックスフィールドとをさらに含んでよい。すなわち、Rule-based End.X SID Index sub-TLVおよびRule-based LAN End.X SID Index sub-TLVは、通知すべきすべてのリンクSIDのインデックスを携帯する必要はなく、インデックスが連続する複数のリンクSIDのうちの最初のリンクSIDのインデックスのみを携帯すればよい。これにより、リンクSIDを配布する時のメッセージオーバーヘッドをさらに低減することができる。
【0231】
好ましくは、第6サブTLV(Rule-based End.X SID Index sub-TLV)はオフセット量フィールドをさらに含んでよく、第7サブTLV(Rule-based LAN End.X SID Index sub-TLV)はオフセット量フィールドをさらに含み、当該オフセット量フィールドは第1オフセット量を携帯するためのものである。
【0232】
Rule-based End.X SID Index sub-TLVに含まれている第1オフセットは、Rule-based End.X SID Index sub-TLVに含まれているブロック識別子に対応するアドレス空間の境界アドレスを示すためのものである。Rule-based LAN End.X SID Index sub-TLVに含まれている第1オフセット量は、Rule-based LAN End.X SID Index sub-TLVに含まれているブロック識別子に対応するアドレス空間の境界アドレスのオフセット量を示すためのものである。
【0233】
当該Rule-based End.X SID Index sub-TLVおよびRule-based LAN End.X SID Indexsub-TLVに元々含まれているフィールドが占有するビット数はIS-ISプロトコルに規定されたビット数であり、新たに追加されたフィールドが占有するビット数は実際の需要に基づいて設定することができ、本願の実施形態はこれに限定されない。図12-bおよび図12-bは一例であり、各フィールドの長さおよび各フィールドの配列順序はこれに限定されない。
【0234】
一つの好ましい実施形態において、上記実施形態に基づいて、図9に示す実施形態において、第1デバイスはインデックスが連続する複数のSIDを格納することができ、インデックスが連続する複数のSIDにおける最初のSIDは第2SIDである。つまり、第4メッセージに含まれている第2インデックス値は、インデックスが連続する複数のSIDにおける最初のSIDのインデックス値である。上記第3メッセージはエンドポイント動作数とエンドポイント動作とをさらに含み、エンドポイント動作数はインデックスが連続するSIDの数であり、上記インデックスが連続する複数のSIDは第3メッセージに含まれているエンドポイント動作にそれぞれ対応する。
【0235】
ここで、第3メッセージに含まれているサブTLVは図12-aに示したTLV構成と同じであってよく、第3メッセージに含まれているサブTLVは図12-b又は図12-cに示したTLV構成と同じであってよい。
【0236】
同じ発明概念に基づいて、上記した本願の実施形態が提供するセグメント識別子の特定方法によれば、本願の実施形態はセグメント識別子の特定装置をさらに提供する。図13-aに示すように、図13-aは、本願実施例が提供するセグメント識別子のデバイスの第1種類の構成模式図である。当該装置は上記第1デバイスに適用され、具体的には以下のモジュールを備える。
【0237】
受信モジュール1301:第2デバイスから送信された第1メッセージと第2メッセージとを受信するためのものであり、第1メッセージは少なくとも1つの第1ブロックBlock識別子と各第1Block識別子に対応するアドレス空間の境界アドレスとを含み、第2メッセージは少なくとも1つの第2Block識別子と第1インデックス値とを含む。
算出モジュール1302:同じBlockに対応する第1アドレス空間の境界アドレスと第1インデックス値とを用いて、第1SIDを算出するためのものであり、同じBlockは少なくとも1つの第1Block識別子と少なくとも1つの第2Block識別子との中の同じBlock識別子が表すBlockである。
【0238】
好ましくは、第1メッセージは第1オフセット量をさらに含み、又は、第2メッセージは第1オフセット量をさらに含み、算出モジュール1302は、具体的には、第1アドレス空間の境界アドレスと、第1オフセット量と、第1インデックス値とに基づいて、第1SIDを算出するためのものである。
【0239】
好ましくは、上記第1アドレス空間の境界アドレスは第1アドレス空間のスタートアドレスであり、
上記算出モジュール1302は、具体的には、SIDのアドレスルールに従って、第1インデックス値を第1オフセット量だけオフセットして第1オフセットアドレスを取得し、スタートアドレスと第1オフセットアドレスとに基づいて、第1SIDを算出するためのものである。
【0240】
好ましくは、上記算出モジュール1302は、具体的には、スタートアドレスと第1オフセットアドレスとの合計値を算出し、合計値に対応するSIDが第1アドレス空間内にある場合、合計値に対応するSIDを第1SIDとするためのものである。
【0241】
好ましくは、上記第1アドレス空間の境界アドレスは第1アドレス空間のエンドアドレスである。
上記算出モジュール1302は、具体的には、SIDのアドレスルールに従って、第1インデックス値を第1オフセット量だけオフセットして第2オフセットアドレスを取得し、エンドアドレスと第2オフセットアドレスとに基づいて、第1SIDを算出するためのものである。
【0242】
好ましくは、上記算出モジュール1302は、具体的には、エンドアドレスと第2オフセットアドレスとの差分値を算出し、差分値に対応するSIDが第1アドレス空間内にある場合、差分値に対応するSIDを前記第1SIDとするためのものである。
【0243】
好ましくは、上記第1メッセージは第1サブTLVを含み、第1サブTLVはブロック識別子フィールドと、スタートSIDフィールドと、エンドSIDフィールドとを含み、
ここで、ブロック識別子フィールドは少なくとも1つの第1Block識別子を携帯するためのものであり、スタートSIDフィールドは各第1Blockに対応するアドレス空間のスタートアドレスを携帯するためのものであり、エンドSIDフィールドは各第1Blockに対応するアドレス空間のエンドアドレスを携帯するためのものである。
【0244】
好ましくは、第1サブTLVは、オフセット量フィールドをさらに含み、オフセット量フィールドは第1オフセット量を携帯するためのものである。
【0245】
好ましくは、第2メッセージは、第2サブTLV、第3サブTLV又は第4サブTLVを含み、
第2サブTLVは、ポイントツーポイントP2P隣接タイプのリンクSIDのインデックスを携帯するためのものであり、第2サブTLVはブロック識別子フィールドと、インデックス数フィールドと、インデックス長フィールドと、少なくとも1つのインデックスフィールドと、各インデックスフィールドに対応するエンドポイント動作フィールドとを含み、
第3サブTLVは、ローカルエリアネットワークLAN隣接タイプのリンクSIDのインデックスを携帯するためのものであり、第3サブTLVはブロック識別子フィールドと、インデックス数フィールドと、インデックス長フィールドと、少なくとも1つのインデックスフィールドと、各インデックスフィールドに対応するエンドポイント動作フィールドとを含み、
第4サブTLVは、デバイスSIDのインデックスを携帯するためのものであり、第4サブTLVはブロック識別子フィールドと、インデックス数フィールドと、インデックス長フィールドと、少なくとも1つのインデックスフィールドと、各インデックスフィールドに対応するエンドポイント動作フィールドとを含み、
ここで、ブロック識別子フィールドは前記第2Block識別子を携帯するためのものであり、インデックス数フィールドはインデックスの数量を携帯するためのものであり、インデックス長フィールドはインデックスの長さを携帯するためのものであり、各インデックスフィールドは1つのインデックス値を携帯するためのものであり、各エンドポイント動作フィールドは1つのインデックス値に対応するエンドポイント動作を携帯するためのものである。
【0246】
好ましくは、第2サブTLVはオフセット量フィールドをさらに含み、第3サブTLVはオフセット量フィールドをさらに含み、第4サブTLVはオフセット量フィールドをさらに含み、オフセット量フィールドは第1オフセット量を携帯するためのものである。
【0247】
好ましくは、第1メッセージは、エンドポイント動作数とエンドポイント動作とをさらに含み、第1インデックス値はスタートインデックス値であり、スタートインデックス値は前記第1メッセージに含まれている1番目のエンドポイント動作に対応するインデックス値であり、
算出モジュール1302は、具体的には、エンドポイント動作数とスタートインデックス値とに基づいて、第1メッセージに含まれている各エンドポイント動作に対応するインデックス値を算出し、第1アドレス空間の境界アドレスと第1メッセージに含まれている各エンドポイント動作に対応するインデックス値とに基づいて、各エンドポイント動作に対応するSIDを算出するためのものである。
【0248】
好ましくは、算出モジュール1302は、具体的には、スタートインデックス値とNとの合計値を、第1メッセージに含まれているN番目のエンドポイント動作に対応するインデックス値とするためのものであり、Nの値の範囲は0からエンドポイント動作数と1との差分値までである。
【0249】
好ましくは、第1メッセージは第1オフセット量をさらに含み、又は、第2メッセージは第1オフセット量をさらに含み、
算出モジュール1302は、具体的には、SIDのアドレスルールに従って、各エンドポイント動作に対応するインデックス値を第1オフセット量だけオフセットし、各エンドポイント動作に対応する第1オフセットアドレスを取得し、第1アドレス空間の境界アドレスと各エンドポイント動作に対応する第1オフセットアドレスとに基づいて、各エンドポイント動作に対応するSIDを算出するためのものである。
【0250】
好ましくは、第1アドレス空間の境界アドレスは第1アドレス空間のスタートアドレスであり、
算出モジュール1302は、具体的には、スタートアドレスと各エンドポイント動作に対応する第1オフセットアドレスとの合計値をそれぞれ算出し、算出した各合計値がいずれも第1アドレス空間内にある場合、算出した各合計値をそれぞれ各エンドポイント動作のSIDとするためのものである。
【0251】
好ましくは、第1アドレス空間の境界アドレスは第1アドレス空間のエンドアドレスであり、
算出モジュール1302は、具体的には、スタートアドレスと各エンドポイント動作に対応する第1オフセットアドレスとの差分値をそれぞれ算出し、算出した各差分値がいずれも第1アドレス空間内にある場合、算出した各差分値をそれぞれ各エンドポイント動作のSIDとするためのものである。
【0252】
好ましくは、第1メッセージは第5サブTLVを含み、第5サブTLVはブロック識別子フィールドと、スタートSIDフィールドと、エンドSIDフィールドと、フラグフィールドと、アルゴリズムフィールドと、重みフィールドと、動作数フィールドと、エンドポイント動作フィールドとを含み、
ここで、ブロック識別子フィールドは第1Block識別子を携帯するためのものであり、スタートSIDフィールドは第1アドレス空間のスタートアドレスを携帯するためのものであり、エンドSIDフィールドは第1アドレス空間のエンドアドレスを携帯するためのものであり、フラグフィールドは共有フラグを携帯するためのものであり、共有フラグは第1Block識別子で表されるBlockに含まれている複数のSIDに共有されており、
アルゴリズムフィールドは共有アルゴリズムを携帯するためのものであり、共有アルゴリズムは前記第1Block識別子で表されるBlockに含まれている複数のSIDに共有されており、重みフィールドは共有重みを携帯するためのものであり、共有重みは第1Block識別子で表されるBlockに含まれている複数のSIDに共有されており、動作数フィールドはエンドポイント動作数を携帯するためのものであり、各エンドポイント動作は1つのエンドポイント動作を携帯するためのものである。
【0253】
好ましくは、第5サブTLVはオフセット量フィールドをさらに含み、オフセット量フィールドは第1オフセット量を携帯するためのものである。
【0254】
好ましくは、第2メッセージは、第6サブTLV又は第7サブTLVを含み、
第6サブTLVはポイントツーポイントP2P隣接タイプのリンクSIDのインデックスを携帯するためのものであり、第6サブTLVはブロック識別子フィールドと、インデックス長フィールドと、スタートインデックスフィールドとを含み、
第7サブTLVはローカルエリアネットワークLAN隣接タイプのリンクSIDのインデックスを携帯するためのものであり、第7サブTLVはブロック識別子フィールドと、インデックス長フィールドと、スタートインデックスフィールドとを含み、
ここで、ブロック識別子フィールドは第2Block識別子を携帯するためのものであり、インデックス長フィールドはスタートインデックスフィールドの長さを携帯するためのものであり、スタートインデックスフィールドはスタートインデックス値を携帯するためのものである。
【0255】
好ましくは、第6サブTLVはオフセット量フィールドをさらに含み、第7サブTLVはオフセット量フィールドをさらに含み、オフセット量フィールドは第1オフセット量を携帯するためのものである。
【0256】
好ましくは、上記第1デバイスは、第2SIDを格納する。図13-bに示すように、上記セグメント識別子の特定装置は、さらに、
格納された第2SIDを取得するために用いられる、取得モジュール1303と、
予め区分された各Blockとアドレス空間との間の対応関係に基づいて、第2SIDが所属する対象Blockを特定するために用いられる、第1特定モジュール1304と、
対象Blockに対応する第2アドレス空間における各SIDとインデックス値との対応関係に基づいて、第2SIDに対応する第2インデックス値を特定するために用いられる、第2特定モジュール1305と、
各ネイバーデバイスへ第3メッセージと第4メッセージとを送信し、第3メッセージは対象Blockの第3Block識別子と、第2オフセット量と、第2アドレス空間の境界アドレスとを含み、第4メッセージは第3Block識別子と第2インデックス値とを含む、送信モジュール1306と、を備える。
【0257】
好ましくは、第1デバイスはインデックスが連続する複数のSIDを格納し、インデックスが連続する複数のSIDにおける最初のSIDは第2SIDであり、
第3メッセージはエンドポイント動作数とエンドポイント動作とをさらに含み、エンドポイント動作数はインデックスが連続するSIDの数量であり、インデックスが連続する複数のSIDは第3メッセージに含まれているエンドポイント動作と一対一対応する。
【0258】
好ましくは、算出モジュール1302は、第2アドレス空間における各アドレスの属性特徴に基づいて、第2アドレス空間の境界アドレスの第2オフセット量を算出するためのものである。
【0259】
同じ発明概念に基づいて、上記した本願の実施形態が提供するセグメント識別子の特定方法によれば、本願の実施形態は電子機器をさらに提供し、図14に示すように、プロセッサ1401と、機械可読記憶媒体1402と、送受信機1404とを備える。機械可読記憶媒体1402は、プロセッサ1401が実行可能な機械実行可能命令を格納しており、機械実行可能命令は、プロセッサ1401に、
送受信機1404によって第2デバイスから送信された第1メッセージと第2メッセージとを受信することであって、第1メッセージは少なくとも1つの第1ブロックBlock識別子と各第1Block識別子に対応するアドレス空間の境界アドレスとを含み、第2メッセージは少なくとも1つの第2Block識別子と第1インデックス値とを含むことと、
同じBlockに対応する第1アドレス空間の境界アドレスと第1インデックス値とを用いて、第1SIDを算出することであって、同じBlockは少なくとも1つの第1Block識別子と少なくとも1つの第2Block識別子との中の同じBlock識別子が表すBlockであることと、を実行させる。
【0260】
好ましくは、第1メッセージは第1オフセット量をさらに含み、又は、第2メッセージは第1オフセット量をさらに含み、機械実行可能命令は、プロセッサ1401に、第1アドレス空間の境界アドレスと、第1オフセット量と、第1インデックス値とに基づいて、第1SIDを算出することを実行させる。
【0261】
好ましくは、第1アドレス空間の境界アドレスは第1アドレス空間のスタートアドレスであり、
機械実行可能命令は、プロセッサ1401に、SIDのアドレスルールに従って、第1インデックス値を第1オフセット量だけオフセットして第1オフセットアドレスを取得し、スタートアドレスと第1オフセットアドレスとに基づいて、第1SIDを算出することを実行させる。
【0262】
好ましくは、機械実行可能命令はさらに、プロセッサ1401に、スタートアドレスと第1オフセットアドレスとの合計値を算出し、合計値に対応するSIDが第1アドレス空間内にある場合、合計値に対応するSIDを第1SIDとすることを実行させる。
【0263】
好ましくは、第1アドレス空間の境界アドレスは第1アドレス空間のエンドアドレスであり、
機械実行可能命令はさらに、プロセッサ1401に、SIDのアドレスルールに従って、第1インデックス値を第1オフセット量だけオフセットして第2オフセットアドレスを取得し、エンドアドレスと第2オフセットアドレスとに基づいて、第1SIDを算出することを実行させる。
【0264】
好ましくは、機械実行可能命令はさらに、プロセッサ1401に、エンドアドレスと第2オフセットアドレスとの差分値を算出し、差分値に対応するSIDが第1アドレス空間内にある場合、差分値に対応するSIDを第1SIDとすることを実行させる。
【0265】
好ましくは、第1メッセージは第1サブTLVを含み、第1サブTLVはブロック識別子フィールドと、スタートSIDフィールドと、エンドSIDフィールドとを含み、ブロック識別子フィールドは少なくとも1つの第1Block識別子を携帯するためのものであり、スタートSIDフィールドは各第1Blockに対応するアドレス空間のスタートアドレスを携帯するためのものであり、エンドSIDフィールドは各第1Blockに対応するアドレス空間のエンドアドレスを携帯するためのものである。
【0266】
好ましくは、第1サブTLVはオフセット量フィールドをさらに含み、オフセット量フィールドは第1オフセット量を携帯するためのものである。
【0267】
好ましくは、第2メッセージは、第2サブTLV、第3サブTLV又は第4サブTLVを含み、
第2サブTLVは、ポイントツーポイントP2P隣接タイプのリンクSIDのインデックスを携帯するためのものであり、第2サブTLVはブロック識別子フィールドと、インデックス数フィールドと、インデックス長フィールドと、少なくとも1つのインデックスフィールドと、各インデックスフィールドに対応するエンドポイント動作フィールドとを含み、
第3サブTLVは、ローカルエリアネットワークLAN隣接タイプのリンクSIDのインデックスを携帯するためのものであり、第3サブTLVはブロック識別子フィールドと、インデックス数フィールドと、インデックス長フィールドと、少なくとも1つのインデックスフィールドと、各インデックスフィールドに対応するエンドポイント動作フィールドとを含み、
第4サブTLVは、デバイスSIDのインデックスを携帯するためのものであり、第4サブTLVはブロック識別子フィールドと、インデックス数フィールドと、インデックス長フィールドと、少なくとも1つのインデックスフィールドと、各インデックスフィールドに対応するエンドポイント動作フィールドとを含み、
ここで、ブロック識別子フィールドは第2Block識別子を携帯するためのものであり、インデックス数フィールドはインデックスの数量を携帯するためのものであり、インデックス長フィールドはインデックスの長さを携帯するためのものであり、各インデックスフィールドは1つのインデックス値を携帯するためのものであり、各エンドポイント動作フィールドは1つのインデックス値に対応するエンドポイント動作を携帯するためのものである。
【0268】
好ましくは、第2サブTLVはオフセット量フィールドをさらに含み、第3サブTLVはオフセット量フィールドをさらに含み、第4サブTLVはオフセット量フィールドをさらに含み、オフセット量フィールドは第1オフセット量を携帯するためのものである。
【0269】
好ましくは、第1メッセージはエンドポイント動作数とエンドポイント動作とをさらに含み、第1インデックス値はスタートインデックス値であり、スタートインデックス値は第1メッセージに含まれている1番目のエンドポイント動作に対応するインデックス値であり、
機械実行可能命令は、プロセッサ1401に、エンドポイント動作数とスタートインデックス値とに基づいて、第1メッセージに含まれている各エンドポイント動作に対応するインデックス値を算出し、第1アドレス空間の境界アドレスと第1メッセージに含まれている各エンドポイント動作に対応するインデックス値とに基づいて、各エンドポイント動作に対応するSIDを算出することを実行させる。
【0270】
好ましくは、機械実行可能命令は、プロセッサ1401に、スタートインデックス値とNとの合計値を、第1メッセージに含まれているN番目のエンドポイント動作に対応するインデックス値とし、Nの値の範囲は0からエンドポイント動作数と1との差分値までであることを実行させる。
【0271】
好ましくは、第1メッセージは第1オフセット量をさらに含み、又は、第2メッセージは第1オフセット量をさらに含み、機械実行可能命令は、プロセッサ1401に、SIDのアドレスルールに従って、各エンドポイント動作に対応するインデックス値を第1オフセット量だけオフセットし、各エンドポイント動作に対応する第1オフセットアドレスを取得し、第1アドレス空間の境界アドレスと各エンドポイント動作に対応する第1オフセットアドレスとに基づいて、各エンドポイント動作に対応するSIDを算出することを実行させる。
【0272】
好ましくは、第1アドレス空間の境界アドレスは第1アドレス空間のスタートアドレスであり、機械実行可能命令は、プロセッサ1401に、スタートアドレスと各エンドポイント動作に対応する第1オフセットアドレスとの合計値をそれぞれ算出し、算出した各合計値がいずれも第1アドレス空間内にある場合、算出した各合計値をそれぞれ各エンドポイント動作のSIDとすることを実行させる。
【0273】
好ましくは、第1アドレス空間の境界アドレスは第1アドレス空間のエンドアドレスであり、機械実行可能命令は、プロセッサ1401に、スタートアドレスと各エンドポイント動作に対応する第1オフセットアドレスとの差分値をそれぞれ算出し、算出した各差分値がいずれも第1アドレス空間内にある場合、算出した各差分値をそれぞれ各エンドポイント動作のSIDとすることを実行させる。
【0274】
好ましくは、第1メッセージは第5サブTLVを含み、第5サブTLVはブロック識別子フィールドと、スタートSIDフィールドと、エンドSIDフィールドと、フラグフィールドと、アルゴリズムフィールドと、重みフィールドと、動作数フィールドと、エンドポイント動作フィールドとを含む、
ここで、ブロック識別子フィールドは第1Block識別子を携帯するためのものであり、スタートSIDフィールドは第1アドレス空間のスタートアドレスを携帯するためのものであり、エンドSIDフィールドは第1アドレス空間のエンドアドレスを携帯するためのものであり、フラグフィールドは共有フラグを携帯するためのものであり、共有フラグは第1Block識別子で表されるBlockに含まれている複数のSIDに共有されており、アルゴリズムフィールドは共有アルゴリズムを携帯するためのものであり、共有アルゴリズムは第1Block識別子で表されるBlockに含まれている複数のSIDに共有されており、重みフィールドは共有重みを携帯するためのものであり、共有重みは第1Block識別子で表されるBlockに含まれている複数のSIDに共有されており、動作数フィールドはエンドポイント動作数を携帯するためのものであり、各エンドポイント動作は1つのエンドポイント動作を携帯するためのものである。
【0275】
好ましくは、第5サブTLVはオフセット量フィールドをさらに含み、オフセット量フィールドは第1オフセット量を携帯するためのものである。
【0276】
好ましくは、第2メッセージは、第6サブTLV又は第7サブTLVを含み、第6サブTLVはポイントツーポイントP2P隣接タイプのリンクSIDのインデックスを携帯するためのものであり、第6サブTLVはブロック識別子フィールドと、インデックス長フィールドと、スタートインデックスフィールドとを含み、第7サブTLVはローカルエリアネットワークLAN隣接タイプのリンクSIDのインデックスを携帯するためのものであり、第7サブTLVはブロック識別子フィールドと、インデックス長フィールドと、スタートインデックスフィールドとを含み、ブロック識別子フィールドは第2Block識別子を携帯するためのものであり、インデックス長フィールドはスタートインデックスフィールドの長さを携帯するためのものであり、スタートインデックスフィールドはスタートインデックス値を携帯するためのものである。
【0277】
好ましくは、第6サブTLVはオフセット量フィールドをさらに含み、第7サブTLVはオフセット量フィールドをさらに含み、オフセット量フィールドは第1オフセット量を携帯するためのものである。
【0278】
好ましくは、第1デバイスは、第2SIDを格納する。機械実行可能命令は、プロセッサ1401に、格納された第2SIDを取得することと、予め区分された各Blockとアドレス空間との間の対応関係に基づいて、第2SIDが所属する対象Blockを特定することと、対象Blockに対応する第2アドレス空間における各SIDとインデックス値との対応関係に基づいて、第2SIDに対応する第2インデックス値を特定することと、送受信機1404によって各ネイバーデバイスへ第3メッセージと第4メッセージとを送信し、第3メッセージは対象Blockの第3Block識別子と第2アドレス空間の境界アドレスとを含み、第4メッセージは第3Block識別子と前記第2インデックス値とを含むことと、を実行させる。
【0279】
好ましくは、第1デバイスはインデックスが連続する複数のSIDを格納し、インデックスが連続する複数のSIDにおける最初のSIDは第2SIDであり、
第3メッセージはエンドポイント動作数とエンドポイント動作とをさらに含み、エンドポイント動作数はインデックスが連続するSIDの数量であり、インデックスが連続する複数のSIDは第3メッセージに含まれているエンドポイント動作と一対一対応する。
【0280】
好ましくは、第3メッセージは第2オフセットをさらに含み、又は、第4メッセージは第2オフセットをさらに含み、機械実行可能命令は、プロセッサ1401に、第2アドレス空間における各アドレスの属性特徴に基づいて、第2アドレス空間の境界アドレスの第2オフセット量を算出することを実行させる。
【0281】
図14に示すように、電子機器は、通信バス1403をさらに含むことができる。プロセッサ1401と機械可読記憶媒体1402と送受信機1404との間は通信バス1403を介して互に通信する。通信バス1403はペリフェラル コンポーネント インターコネクト(Peripheral Component Interconnect,PCI)バス又は拡張業界標準アーキテクチャ(Extended Industry Standard Architecture,EISA)バスなどであってよい。この通信バス1403は、アドレスバス、データバス、制御バスなどに分けることができる。
【0282】
送受信機1404は、無線通信モジュールであってよく、送受信機1404は、プロセッサ1401の制御によって他のデバイス(ACおよび端末)とデータを交互する。
【0283】
機械可読記憶媒体1402は、ランダムアクセスメモリ(Random Access Memory,RAM)を含んでよく、不揮発性メモリ(Non-Volatile Memory,NVM)を含んでもよく、例えば、少なくとも1つの磁気ディスク装置である。また、機械可読記憶媒体1402は、上記のプロセッサから離れた少なくとも1つの記憶装置であってもよい。
【0284】
プロセッサ1401は、中央処理装置(Central Processing Unit,CPU)、ネットワークププロセッサー(Network Processor,NP)などを含む汎用プロセッサであってもよく、デジタル信号処理装置(Digital Signal Processing,DSP)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)又は他のプログラマブルロジックデバイス、ディスクリートゲートあるいはトランジスタロジックデバイス、ディスクリートハードウェアコンポーネントであってもよい。
【0285】
同じ発明概念に基づいて、上記した本願の実施形態が提供するセグメント識別子の特定方法によれば、本願の実施形態は機械可読記憶媒体をさらに提供し、機械可読記憶媒体には機械実行可能命令が格納される。機械実行可能命令は、プロセッサに上記いずれか1項に記載の方法のステップを実現させる。
【0286】
本願が提供する別の実施形態では、命令を含むコンピュータプログラム製品をさらに提供し、当該コンピュータプログラム製品は、コンピュータに実行される時に、コンピュータに上記した実施形態のいずれかのセグメント識別子の特定方法のステップを実行させる。
【0287】
なお、本明細書において、第1や第2のような関係用語は、1つのエンティティ又は操作を他のエンティティ又は操作と区別するためのもの過ぎず、これらのエンティティ又は操作はこのような実際的な関係又は順序が存在することを要求又は示唆しない。また、用語「備える」、「含む」、又はその他の変形は、非排他的な包含を意図し、一連の要素を含むプロセス、方法、物品、又はデバイスがそれらの要素だけでなく、明示的に列挙されていない他の要素を含み、或いは、このようなプロセス、方法、物品又はデバイスにおける固有の要素を含む。特に制限がない限り、「1つの…を含む」により限定される要素は、上記要素を含むプロセス、方法、物品又はデバイスがさらに他の同じな要素を有することを排除するものではない。
【0288】
なお、本明細書における各実施形態は、相互に関連したように記載されているが、各実施形態間の同じ又は類似の部分は、互いに参照すればよく、各実施形態と他の実施形態との相違点が中心に説明される。特に、セグメント識別子特定装置、デバイス、および機械可読記憶媒体の実施形態については、セグメント識別子の特定方法の実施形態にほぼ類似するので、説明が簡単であり、関連する部分はセグメント識別子の特定方法の実施形態に参照すればよい。
【0289】
以上の説明は、本願の好ましい実施形態に過ぎず、本願の保護範囲を限定するものではない。本願の精神および原則の範囲内で行われた任意の補正、同等の置換、変更等は、いずれも本願の保護範囲内に含まれているものとする。
図1-a】
図1-b】
図1-c】
図2
図3
図4
図5
図6
図7
図8
図9
図10-a】
図10-b】
図10-c】
図10-d】
図11
図12-a】
図12-b】
図12-c】
図13-a】
図13-b】
図14
【国際調査報告】