まず、本願の実施側面における技術用語について説明する。
1. SRv6
セグメント・ルーティング(segment routing、SR)は、データ・パケットをネットワーク上で転送するためのソース・ルーティングに基づいて設計されたプロトコルである。SRはネットワーク経路をセグメントに分割し、セグメント識別子(segment identifier、SID)をセグメントおよびネットワーク・ノードに割り当てる。SIDを逐次ソートすることによってSIDリスト(SID List;SR-MPLSではラベル・スタックとも呼ばれる)が得られてもよい。SIDリストは、転送経路を示してもよい。
SR技術によれば、トラフィック最適化要件を満たすために、SIDリストを担持するデータ・パケットが通過するノードおよび経路が指定できる。類推のため、データ・パケットは荷物にたとえられることができ、SRは荷物上のラベルにたとえられてもよい。荷物が領域Aから領域Bおよび領域Cを通じて領域Dに送られる場合、「まず領域B、次いで領域C、そして最終的には領域Dに進む」というラベルが領域A、すなわち出発位置において荷物に貼られてもよい。このようにして、各領域は、単に、荷物上のラベルを識別し、該ラベルに基づいて、荷物をある領域から別の領域へ転送する。SR技術によれば、ソース・ノードは、データ・パケットにラベルを追加し、中間ノードは、該ラベルに基づいてデータ・パケットを次のノードに転送し、これがデータ・パケットが宛先ノードに到達するまで行われる。たとえば、<SID 1,SID 2,SID 3>がデータ・パケットのパケット・ヘッダに挿入され、該データ・パケットはまず、SID 1に対応するノードに転送され、次いでSID 2に対応するノードに転送され、次いでSID 3に対応するノードに転送される。SR-MPLSはセグメント・ルーティング・マルチプロトコル・ラベル・スイッチング(segment routing multi-protocol label switching)の略である。
インターネット・プロトコル・バージョン6を通じたセグメント・ルーティング(internet protocol version 6、IPv6)(SRv6)は、SR技術をIPv6ネットワークに適用することを示す。IPv6アドレス(128ビット)がSIDの表現として使われる。データ・パケットを転送するとき、SRv6をサポートするネットワーク装置は、データ・パケット内の宛先アドレス(destination address、DA)に基づいてローカルSIDテーブル(local SID table)を検索する。ローカルSIDテーブル内のいずれかのSIDが、データ・パケット内の宛先アドレスについての最長一致である場合、ローカルSIDテーブル内の該SIDに関連するポリシーに対応する動作が、該ポリシーに従って実行される。たとえば、データ・パケットは、SIDに対応する外向きインターフェースを通じて転送されてもよい。ローカルSIDテーブルにおけるどのSIDもデータ・パケット内の宛先アドレスについての最長一致でないなら、IPv6転送テーブルが検索され、IPv6転送テーブルに基づいて最長一致転送が実行される。
2. SID
SIDは、ネットワークまたはサブネット内の対応するネットワーク装置の識別子であってもよい。言い換えると、SRv6パケットがネットワーク装置に送信される場合、ネットワーク装置のSIDがSRv6パケットにおける宛先アドレス(destination address、DA)フィールド(field)内で担持されてもよい。
図1に示されるように、SIDは128ビット(bit)のIPv6アドレスであってもよく、位置指定子(locator)、機能(function)、引数(argument)のフィールドを含んでいてもよい。以下に各フィールドについて説明する。
a. 位置指定子
位置指定子は、ネットワーク/サブネットのアドレスと、対応するネットワーク装置のアドレスとを含んでいてもよい。ネットワーク/サブネットのアドレスは通例、キャリアによって割り当てられ、そのため、同じネットワーク/サブネット内のネットワーク装置のSIDでは、同じネットワーク/サブネットのアドレスは同じであり、それらのネットワーク装置のアドレスは異なる。
任意的に、ネットワーク装置は、内部ゲートウェイ・プロトコル(interior gateway protocol、IGP)に基づいて、ネットワーク装置の位置指定子を担持する広告メッセージを公開することができ、それにより、該ネットワーク装置と同じネットワークまたはサブネット内の別のネットワーク装置が、位置指定子に基づいてSRv6パケットを該ネットワーク装置に転送する。
任意的に、ネットワーク装置は、さらに、IGPに基づいて、ネットワークまたはサブネット内の前記別のネットワーク装置から位置指定子を受信してもよく、該ネットワーク装置は、位置指定子に基づいて前記別のネットワーク装置にSRv6パケットを転送する。
b. 機能フィールド
機能フィールドは、対応する転送アクションを実行する、たとえば、SRv6パケットを指定されたリンクに転送する、またはパケット転送のために指定されたテーブルを検索するよう、ネットワーク装置に指示するために使用される。機能フィールドは、プログラム可能なフィールドである。機能フィールドを編集することにより、ネットワーク装置によって実行される転送アクションは、対応して調整されうる。
c. 「引数」フィールド
引数フィールドは任意的である。引数フィールドは、ネットワーク装置が転送アクションを実行するための引数を含んでいてもよく、引数は、フロー(flow)、サービス(service)、または他の関連する変数情報であってもよい。
3. 一般化セグメント識別子(generalized segment identifier、G-SID)
資源オーバーヘッドを低減し、通信効率を改善するために、128ビットのSIDがG-SIDに圧縮されてもよい。G-SIDのサイズは、16ビットまたは32ビットであってもよい。
具体的には、図1において、同じネットワーク/サブネット内のネットワーク装置のSID内のネットワーク/サブネットのアドレスは同じである。したがって、SID内のネットワーク/サブネットのアドレスは、重複し、冗長な部分とみなされる。この場合、SID内のネットワーク/サブネットのアドレスは、SIDを圧縮するために削除されることができ、図2に示されるG-SIDが得られる。図2に示されるように、位置指定子は、共通プレフィックス(common prefix)およびノードID(node ID)から構成される。共通プレフィックス、すなわちサブネットやネットワークのアドレスがSIDから削除された後、ノードIDと機能IDから構成されるSIDはG-SIDと呼ばれる。
4. トラフィック工学高速再ルーティング(traffic engineer fast reroute、TE-FRR)
ネットワーク装置がSRv6パケットを受信した後、SRv6パケット中の次ホップのG-SIDまたはSIDが到達不能である場合、ネットワーク装置は、SRv6パケットをさらに処理するために、その後到達可能なG-SIDまたはSIDを用いてSRv6パケット中の宛先アドレスを更新してもよい。
以下は、添付の図面を参照して、本願の技術的解決策を記載する。
本願の実施形態における技術的解決策は、通信システム、たとえば、ブロードバンドアクセスシステム、メトロアクセスシステム、またはバックボーンネットワークシステムに適用されてもよく、または無線通信システム、たとえば、車両対万物(vehicle to everything、V2X)通信システム、装置対装置(device-to-device、D2D)通信システム、車両インターネット通信システム、ロングタームエボリューション(long term evolution、LTE)システムなどの第4世代(4th generation、4G)移動通信システム、ニューラジオ(new radio、NR)システムなどの第5世代(5th generation、5G)移動通信システム、および第6世代(6th generation、6G)移動通信システムなどの将来の通信システムに適用されてもよい。
各側面、実施形態、または特徴は、複数の装置、コンポーネント、モジュールなどを含みうるシステムを記述することによって、本願において提供される。各システムは、別の装置、コンポーネント、モジュールなどを含んでいてもよく、および/または添付の図面を参照して論じられるすべての装置、コンポーネント、モジュールなどは含まなくてもよいことを認識され、理解されるべきである。さらに、これらの解決策の組み合わせが使用されてもよい。
さらに、本願の実施形態において、「たとえば」や「などの」などの用語が例、例解、または記述を与えることを表すために使用される。本願で「例」として記載されているどの実施形態または設計スキームも、他の実施形態または設計スキームよりも好ましい、またはより多くの利点を有するものとして説明されるべきではない。具体的には、「例」という用語は、概念を具体的に呈示するために用いられる。
本願の実施形態では、「情報(information)」、「信号(signal)」、「メッセージ(message)」、「チャネル(channel)」および「信号伝達(signaling)」という用語は、交換可能に使用されることがある。これらの用語間の相違が強調されない場合、これらの用語によって表現される意味は一貫していることに注意しておくべきである。「の(of)」、「関連する(relevant)」および「対応する(corresponding)」は、交換可能に使用されることがある。これらの用語間の相違が強調されない場合は、これらの用語によって表される意味は一貫していることに注意しておくべきである。
本願の実施形態において、たとえばW1の添え字は、W1のように誤った形式で書かれることがある。相違が強調されない場合、表現されるべき意味は一貫している。
本願の実施形態において記載されるネットワーク・アーキテクチャーおよびサービス・シナリオは、本願の実施形態における技術的解決策をより明確に記載するために意図されており、本願の実施形態において提供される技術的解決策に対する制限を構成するものではない。当業者は、本願の実施形態において提供される技術的解決策は、ネットワーク・アーキテクチャーが進化し、新しいサービス・シナリオが出現するにつれて、同様の技術的問題にも適用可能であることを認識しうる。
本願の実施形態を理解しやすくするために、まず、図3に示される通信システムが、本願の実施形態が適用可能である通信システムを詳細に記述するための例として使用される。たとえば、図3は、本願の実施形態による通信方法が適用可能な通信システムのアーキテクチャーの概略図である。
図3に示されるように、通信システムは、第1のネットワーク装置、第2のネットワーク装置、および第3のネットワーク装置のような複数のネットワーク装置を含む。
ネットワーク装置は、通信システムのネットワーク側に位置し、トランシーバ機能を有する装置、または該装置上に配置されうるチップ(システム)または他の部品もしくはコンポーネントである。
ネットワーク装置は、ルーター、スイッチ、またはゲートウェイのようなルーティングまたはスイッチング機能をサポートする物理的な装置であってもよく、ルート広告およびパケット転送などをサポートする仮想装置であってもよい。ネットワーク装置は、通信ネットワーク内のコントローラであってもよく、または通信ネットワーク内のノードであってもよい。
本願の実施形態において提供される通信方法は、図3に示される任意の複数のネットワーク装置に適用可能でありうることに注意しておくべきである。具体的な実装については、以下の方法の実施形態を参照されたい。詳細は、ここでは再度説明しない。
本願の実施形態における解決策は、他の通信システムにおいても使用でき、対応する名前は、該他の通信システムにおける対応する機能の名前で置き換えられてもよいことに注意しておくべきである。
図3は、理解を容易にするための例の単純化された概略図に過ぎないことが理解されるべきである。通信システムは、図3に示されていない別のネットワーク装置および/または別の端末装置をさらに含んでいてもよい。
以下は、図4から図8を参照して、本願の実施形態において提供される通信方法を詳細に説明する。
たとえば、本願の実施形態において提供される通信方法は、図3に示される通信システム内の複数のネットワーク装置に適用可能であってもよく、たとえば、第1のネットワーク装置、第2のネットワーク装置、および第3のネットワーク装置の間の通信に適用可能であってもよい。
たとえば、図4は、本願のある実施形態による通信方法の概略フローチャート1である。通信方法は、第1のネットワーク装置によって実行されてもよく、第1のネットワーク装置は、図3に示される通信システム内のコントローラまたはノードであってもよい。図4を参照されたい。通信方法は、以下のステップを含む。
S401. 第1のネットワーク装置が、第1のセグメント識別子に対応する第1の指示情報を取得する。
第1の指示情報は、第1のセグメント識別子と対応関係をもつ、言い換えると第1のセグメント識別子に対応する。第1の指示情報は、第2のセグメント識別子のフォーマットを示すために使用されてもよく、あるいはまた、フォーマット指示情報と呼ばれてもよい。
さらに、第1のセグメント識別子と第2のセグメント識別子は、通信リンク上で互いに隣接する2つの上流および下流のセグメント識別子である。言い換えると、転送経路がセグメント識別子リスト(SIDリスト)を使用して表現される場合、第1のセグメント識別子はSIDリストにおいて最初に実行されるSIDであり、第2のセグメント識別子は第1のセグメント識別子に隣接し、第1のセグメント識別子の後に実行されるSIDであると考えられる。
ある可能な設計では、第1のネットワーク装置は、広告メッセージを使用することによって、ネットワークまたはサブネット内の各ノードに対応するフォーマット指示情報を得ることができる。
一例では、第1のネットワーク装置はコントローラとして機能し、ネットワークまたはサブネット内の各ノードは、ノードのセグメント識別子に対応するフォーマット指示情報を第1のネットワーク装置に能動的に報告するために、BGPリンク状態プロトコル(境界ゲートウェイ・プロトコル・リンク状態、BGP-LS)メッセージまたは経路計算要素通信プロトコル(path computation element communication protocol、PCEP)メッセージのような広告メッセージを使用してもよい。
別の例では、ネットワークまたはサブネット内のノードとして、第1のネットワーク装置は、広告メッセージとして別のネットワーク装置によって送信されたルーティング情報を受信し、該ルーティング情報から第1のセグメント識別子に対応する第1の指示情報を取得することができる。ルーティング情報は、たとえば、中間システム対中間システム(intermediate system to intermediate system、ISIS)ルーティング情報、オープン最短経路優先(open shortest path first、OSPF)ルーティング情報、または境界ゲートウェイ・プロトコル(border gateway protocol、BGP)ルーティング情報などの内部ゲートウェイ・プロトコル・ルーティング情報であってもよい。
フォーマット指示情報は、ノードのセグメント識別子に隣接する次のセグメント識別子のフォーマットを示すために、ノードのセグメント識別子に対応してもよい。ノードのセグメント識別子は、G-SIDまたは標準SIDでありうる。
フォーマット指示情報は、セグメント識別子の長さを示すために使用されるか、またはセグメント識別子が圧縮されているかどうかを示すために使用されてもよい。このようにして、フォーマット指示情報の指示態様が、実際のシナリオに基づいて柔軟に選択されることができ、適用性を改善する。
たとえば、フォーマット指示情報は、長さが8ビットのusflavor(usflavor)フィールドを使用することによって、長さを示してもよい。usflavorフィールドは、対応するセグメント識別子の長さが128ビットであることを示す第1の指示値、たとえば0000 0000であってもよい。あるいはまた、usflavorフィールドは、対応するセグメント識別子の長さが32ビットであることを示すために、第2の指示値、たとえば0000 0010であってもよい。あるいはまた、usflavorフィールドは、対応するセグメント識別子の長さが16ビットであることを示すために、第3の指示値、たとえば、0000 0001であってもよい。
別の例として、フォーマット指示情報は、代替的に、セグメント識別子が圧縮されているかどうかを示すために、次SIDフィールドを使用してもよい。次SIDフィールドは、対応するセグメント識別子の長さが非圧縮で128ビットであることを示すために、第1の長さ値、たとえば128であってもよい。あるいはまた、次SIDフィールドは、対応するセグメント識別子の長さが圧縮されており、32ビットであることを示すために、第2の長さ値、たとえば32であってもよい。あるいはまた、次SIDフィールドは、第3の長さの値、たとえば16であってもよく、対応するセグメント識別子の長さが圧縮されており、16ビットであることを示すために直接使用されてもよい。
通信リンクまたは転送経路を示すために使用されるセグメント識別子リストが、(第4のセグメント識別子、第3のセグメント識別子、第1のセグメント識別子、および第2のセグメント識別子)を含む場合、第1のネットワーク装置によって取得されるフォーマット指示情報は、第1の指示情報、第3の指示情報、または第5の指示情報のうちの一つまたは複数を含んでいてもよいことに注意しておくべきである。
第3のセグメント識別子は第3の指示情報に対応しており、言い換えると、第3の指示情報は、第3のセグメント識別子の次のセグメント識別子を示すために、具体的には、第1のセグメント識別子のフォーマットを示すために使用される。第5の指示情報は第4のセグメント識別子に対応する、言い換えれば、第3の指示情報は第3のセグメント識別子の次のセグメント識別子を示すために、具体的には、第3のセグメント識別子のフォーマットを示すために使用される。
フォーマット指示情報の前述の値は、限定を構成するものではないことが理解されるべきである。実際の適用では、フォーマット指示情報の値は、実際の状況に基づいて対応して調整されうる。さらに、フォーマット指示情報は、SRv6パケット中の隣接セグメント識別子の位置関係を示すためにさらに使用されてもよい。
別の可能な設計では、第1のネットワーク装置は、問い合わせメッセージまたは状態報告メッセージを使用することによって、ネットワークまたはサブネット内のノードのフォーマット指示情報をさらに取得することができる。
任意的に、第1のネットワーク装置は、ネットワークまたはサブネットの粒度で、ネットワークまたはサブネットに問い合わせメッセージを送信してもよく、たとえば、構成管理(Netconf)問い合わせパケットを送信してもよい。このようにして、ネットワークまたはサブネット内の各ノードは、問い合わせメッセージに基づいて、そのノードのセグメント識別子に対応するフォーマット指示情報を、第1のネットワーク装置に報告してもよい。
任意的に、第1のネットワーク装置は、通信リンクまたは転送経路の粒度で、ネットワークまたはサブネット内の指定された通信リンクまたは指定された転送経路に問い合わせメッセージを送信してもよく、たとえば、Netconf問い合わせパケットを送信してもよい。
このようにして、指定された通信リンクまたは指定された転送経路上のノードは、問い合わせメッセージに基づいて、第1のネットワーク装置に、そのノードのセグメント識別子に対応するフォーマット指示情報を報告してもよい。1つの通信リンクまたは1つの転送経路は、同じネットワークまたはサブネット内のノードのみを含んでいてもよく、あるいは複数のネットワークまたはサブネット内のノードを含んでいてもよい。換言すれば、通信リンクまたは転送経路は、ネットワークまたはサブネット内にあってもよく、あるいは複数のネットワークまたはサブネットにまたがっていてもよい。これは、本願のこの実施形態において特に限定されない。
任意的に、第1のネットワーク装置は、さらに、ノードの粒度で、ネットワークまたはサブネット内の指定されたノードに問い合わせメッセージを送信してもよく、たとえば、Netconf問い合わせパケットを送信してもよい。このようにして、指定されたノードは、問い合わせメッセージに基づいて、第1のネットワーク装置に、指定されたノードのセグメント識別子に対応するフォーマット指示情報を報告してもよい。
このようにして、第1のネットワーク装置は、実際の状況に基づいてフォーマット指示情報を送達するために対応する粒度を柔軟に選択することができ、適用性を改善する。
たとえば、以下は、説明のための例として図5に示されるネットワークを使用する。
図5を参照されたい。第1のネットワーク装置は、自律システム(autonomous system、AS)AS 1およびAS 100のコントローラとして機能する。AS 1は、ノードA、ノードB、ノードC、ノードH、ノードG、ノードIを含む。AS 100は、ノードC、ノードD、ノードE、ノードJ、ノードK、ノードLを含む。
ノードAはノードBに接続される。ノードGはノードHに接続される。ノードBはノードHおよびノードCに接続される。ノードHはノードCおよびノードIに接続される。ノードCはノードI、ノードD、ノードJに接続される。ノードIはノードDおよびノードJに接続される。ノードDはノードJおよびノードEに接続される。ノードJはノードEおよびノードKに接続される。ノードEはノードKおよびノードFに接続される。ノードKはノードFおよびノードLに接続される。
さらに、ユーザー装置(user equipment、UE)1とユーザー装置2は、ノードG→ノードH→ノードI→ノードJ→ノードK→ノードLの通信リンクL1を確立する。
任意的に、ノードAないしノードLは、広告メッセージを使用することによってそれぞれのフォーマット指示情報を第1のネットワーク装置に能動的に報告してもよく、または、第1のネットワーク装置が、問い合わせメッセージをAS 1全体およびAS 100全体に送信し、AS 1およびAS 100内の各ノードからフォーマット指示情報を受信してもよい。このようにして、第1のネットワーク装置は、ノードAないしノードLのそれぞれのフォーマット指示情報を取得することができる。
任意的に、第1のネットワーク装置は、通信リンクL1上のノードGないしノードLのそれぞれのフォーマット指示情報を得るために、通信リンクL1に問い合わせメッセージを送信してもよい。
任意的に、ノードBないしノードEは通信リンクL1に接続されているので、第1のネットワーク装置は、さらに、ノードBないしノードEのそれぞれのフォーマット指示情報を取得するために、ノードBないしノードEに問い合わせメッセージを送信してもよい。
S402. 第1のネットワーク装置が第1の指示情報を送信する。
たとえば、第1のネットワーク装置は、通信リンク上のセグメント識別子に基づいて、広告メッセージを、ネットワークまたはサブネット上に、該ネットワークまたはサブネット内の指定されたリンクに、または該ネットワークまたはサブネット内の指定されたノードに送信してもよい。それにより、対応するノードがノードの下流セグメント識別子のフォーマット指示情報を取得し、フォーマット指示情報に基づいてTE-FRRが正しく実行される。
広告メッセージは、一つまたは複数のフォーマット指示情報を担持してもよく、たとえば、第1の指示情報、第3の指示情報、および第5の指示情報のうちの一つまたは複数を担持してもよい。
広告メッセージは、BGP-LSメッセージまたは内部ゲートウェイ・プロトコル(interior gateway protocol、IGP)ルーティング・メッセージの一つまたは複数を含んでいてもよい。
任意的に、ノードが正しい転送挙動を実行できることを保証するために、広告メッセージはさらに転送挙動情報を担持してもよい。転送挙動情報は、対応するノードに、対応する転送挙動を実行する、たとえば、データプレーン転送を実行する、または処理および転送実行のために制御プレーンに送信することを示すために使用されてもよい。
任意的に、対応するノードが対応する広告メッセージを受信できることを保証するために、各広告メッセージは対応するノードの識別情報(identity、ID)、たとえばノードのIGPルーターIDを担持してもよい。
任意的に、広告メッセージは属性(attribute)タイプ長さ値(type-length-value、TLV)とネットワーク層到達可能性情報(network layer reachability information、NLRI)とを含んでいてもよい。フォーマット指示情報および転送挙動情報は、SRv6 SID属性TLV内に担持されてもよく、ノードのIDは、NLRI内に担持されてもよい。
下記は、第1のネットワーク装置によって、広告メッセージをネットワークまたはサブネットに送信する;広告メッセージを指定されたリンクに送信する、または広告メッセージを指定されたノードに送信する、の3つの態様を別々に説明する。
A. 広告メッセージの、ネットワークまたはサブネットへの送信
ある可能な設計では、第1のネットワーク装置は、通信リンク上のセグメント識別子に基づいて、セグメント識別子に対応するフォーマット指示情報を決定し、通信リンク上の各ノードの構成情報に基づいて各ノードの転送挙動情報を決定してもよい。このようにして、第1のネットワーク装置は、ネットワークまたはサブネット内のすべてのノードに広告メッセージを送信することができる。それにより、各ノードが広告メッセージ中のフォーマット指示情報および転送挙動情報を記憶しうる。
たとえば、通信リンク上のセグメント識別子間の上流‐下流関係は:第4のセグメント識別子→第3のセグメント識別子→第1のセグメント識別子→第2のセグメント識別子を含む。第1のネットワーク装置は、第1の指示情報、第3の指示情報、第5の指示情報、および通信リンク上の各ノードの転送挙動情報を決定することができる。
このようにして、第1のネットワーク装置は、ネットワークまたはサブネット内の各ノードに対して、第1の指示情報、第3の指示情報、第5の指示情報、および転送挙動情報を担持する広告メッセージを送信してもよい。
第1のネットワーク装置が、セグメント識別子に基づいて対応するフォーマット指示情報を送信し、構成情報に基づいて対応する転送挙動情報を送信することは、例示的な態様であって、限定を構成するものではないことを理解しておくべきである。たとえば、第1のネットワーク装置は、ネットワークまたはサブネットにおいてすべてのフォーマット指示情報および転送挙動情報を各ノードにさらに送信してもよい。
たとえば、以下では、説明のための例として図5に示されるネットワークを引き続き使用する。
第1のネットワーク装置がサービスを有する場合、第1のネットワーク装置は、ノードA→ノードB→ノードC→ノードD→ノードE→ノードFの通信リンクL2を確立し、ノードAに境界ゲートウェイ・プロトコル-IPv6セグメント・ルーティングポリシー(border gateway protocol-IPv6 segment routing policy、BGP-SRv6ポリシー)またはPCEPメッセージを送信してもよい。それにより、ノードAが対応するトンネルを確立する。
BGP-SRv6ポリシー(BGP-SRv6 policy)またはPCEPメッセージは、通信リンクL2の経路情報を担持してもよく、経路情報は、SIDリスト(list)=<End-x_A, End-x_B, End-x_C, End-x_D, End-x_E, End-x_F>であってもよく、SIDリスト中のノードAからノードFへの順序は、ノードAないしノードFの上流‐下流の関係を示してもよい。
さらに、通信リンクL2上のノードAないしノードFのそれぞれのセグメント識別子に基づいて、第1のネットワーク装置は、BGP-LSメッセージにおいて、フォーマット指示情報Bないしフォーマット指示情報FおよびノードAないしノードEの転送挙動情報を搬送し、該BGP-LSメッセージをAS 1およびAS 100内の各ノードに送信してもよい。
フォーマット指示情報Bは、ノードAのセグメント識別子Aに対応し、ノードBのセグメント識別子Bのフォーマットを示すために用いられる。フォーマット指示情報Cは、ノードBのセグメント識別子Bに対応し、ノードCのセグメント識別子Cのフォーマットを示すために用いられる。フォーマット指示情報Dは、ノードCのセグメント識別子Cに対応し、ノードDのセグメント識別子Dのフォーマットを示すために用いられる。フォーマット指示情報Eは、ノードDのセグメント識別子Dに対応し、ノードEのセグメント識別子Eのフォーマットを示すために用いられる。フォーマット指示情報Fは、ノードEのセグメント識別子Eに対応し、ノードFのセグメント識別子Fのフォーマットを示すために用いられる。
たとえば、AS 1およびAS 100内の各ノードによって記憶されるフォーマット指示情報および転送挙動情報は、次のテーブル1aに示されてもよい。
もう一つの例として、別の例では、AS 1およびAS 100内の各ノードによって記憶されるフォーマット指示情報および転送挙動情報は、次のテーブル1bに示されるものであってもよい。
別の可能な設計では、第1のネットワーク装置によってネットワークまたはサブネット内のすべてのノードに送信される広告メッセージは、フォーマット指示情報および転送挙動情報だけでなく、フォーマット指示情報に対応する記憶指示情報も担持して、ノードがフォーマット指示情報を記憶するかどうかを示すことができる。たとえば、記憶指示情報は、SRv6 SID属性TLV内のsflagフィールド内に担持されてもよい。
たとえば、sflagフィールドの値は、第1の値、たとえば1であってもよく、対応するフォーマット指示情報を広告メッセージに記憶するようノードに指示するために使用される。sflagフィールドの値は、第2の値、たとえば0であってもよく、広告メッセージにおける対応するフォーマット指示情報を記憶しないようにノードに指示するために使用される。
このようにして、一方では、ノードは、該ノードがフォーマット指示情報を使用するたびに、別のネットワーク装置からフォーマット指示情報を取得する必要がない。これは、信号伝達オーバーヘッドを低減し、さらに通信効率を改善する。他方、ネットワークまたはサブネット内のノードは、フォーマット指示情報を記憶することを指定されてもよい。これは、情報の冗長性を回避する。
たとえば、通信リンク上のセグメント識別子間の上流‐下流関係は、第4のセグメント識別子→第3のセグメント識別子→第1のセグメント識別子→第2のセグメント識別子を含むので、第1のネットワーク装置によって決定される記憶指示情報は、第2の指示情報、第4の指示情報、および第6の指示情報を含んでいてもよい。
第2の指示情報は、広告メッセージを受信したノードが第1の指示情報を記憶するかどうかを示すために使用されてもよく、第4の指示情報は、広告メッセージを受信したノードが第3の指示情報を記憶するかどうかを示すために使用されてもよく、第6の指示情報は、広告メッセージを受信したノードが第5の指示情報を記憶するかどうかを示すために使用されてもよい。
任意的に、異なるノードに送られる広告メッセージについて、異なるノードに異なるアクションを実行するよう指示するために、広告メッセージ中の記憶指示情報の値は、対応して異なる。
たとえば、第1のノードに送信される広告メッセージにおいて、第2の指示情報、第4の指示情報、および第6の指示情報の値はすべて第1の値であり、第1のノードに、第1の指示情報、第3の指示情報、および第5の指示情報を記憶することを指示する。
別の例では、第2のノードに送信される広告メッセージにおいて、第2の指示情報、第4の指示情報、および第6の指示情報の値はすべて第2の値であり、第2のノードに、第1の指示情報、第3の指示情報、および第5の指示情報を記憶しないよう指示する。
別の例では、第3のノードに送信される広告メッセージにおいて、第2の指示情報および第4の指示情報の値は第1の値であり、第6の指示情報の値は第2の値であり、第3のノードに、第1の指示情報および第3の指示情報を記憶するが、第5の指示情報は記憶しないよう指示する。
さらに、記憶指示情報は、ノードが広告メッセージ内のフォーマット指示情報を記憶するかどうかを示すために使用されるだけでなく、ノードが広告メッセージ内の転送挙動情報を記憶するかどうかを示すために使用されてもよい。
ノードについては、該ノードが第1のネットワーク装置から広告メッセージを受信した後、該ノードは、広告メッセージにおいて担持されるノードIDに該ノードのIDが存在するかどうかを判定してもよい。
そのノードのIDが広告メッセージにおいて担持されるノードIDのうちに存在するならば、そのノードは、そのノードのIDに対応し、広告メッセージに存在するフォーマット指示情報および転送挙動情報を記憶してもよく、たとえば、フォーマット指示情報および転送挙動情報をそのノードのローカル・テーブル(local table)に格納してもよい。
そのノードのIDが広告メッセージにおいて担持されるノードIDのうちに存在しない場合、そのノードは広告メッセージにおける記憶指示情報の値を決定してもよい。記憶指示情報の値が第1の値である場合、ノードは、広告メッセージ内にあり、その記憶指示情報に対応するフォーマット指示情報および転送挙動情報を記憶してもよく、たとえば、フォーマット指示情報および転送挙動情報をそのノードの隣接テーブル(adjacent table)に格納してもよい。記憶指示情報の値が第2の値である場合、ノードは、広告メッセージ内にあり、その記憶指示情報に対応するフォーマット指示情報および転送挙動情報を記憶しない。
たとえば、以下では、説明のための例として図5に示されるネットワークを引き続き使用する。
図5を参照されたい。第1のネットワーク装置がサービスを有する場合、第1のネットワーク装置は、ノードA→ノードB→ノードC→ノードD→ノードE→ノードFの通信リンクL2を確立し、ノードAにBGP-SRv6ポリシーまたはPCEPメッセージを送信してもよい。それにより、ノードAが対応するトンネルを確立する。
BGP-SRv6ポリシーまたはPCEPメッセージは、通信リンクL2の経路情報を伝えることができ、経路情報は、SIDリスト=<End-x_A, End-x_B, End-x_C, End-x_D, End-x_E, End-x_F>であってもよい。SIDリスト内のノードAないしノードFのシーケンスは、ノードAないしノードFの上流‐下流関係を示してもよい。End-xは、転送挙動が処理のために制御プレーンに送信することであることを示す。言い換えると、ノードAないしノードFの転送挙動は、処理のために制御プレーンに送信することである。
さらに、ノードAないしノードFのそれぞれのセグメント識別子に基づき、第1のネットワーク装置からノードAないしノードFの各ノードに対して通信リンクL2上で送信されるBGP-LSメッセージにおいて、第1のネットワーク装置は、フォーマット指示情報Bないしフォーマット指示情報F、ノードAないしノードEの転送挙動情報、およびフォーマット指示情報Bないし転送指示情報Fに対応する記憶指示情報を搬送してもよい。
ノードAに送信されるBGP-LSメッセージにおいて、フォーマット指示情報Bないしフォーマット指示情報Fに対応する記憶指示情報の値は第1の値であってもよい。ノードBに送信されるBGP-LSメッセージでは、フォーマット指示情報Bに対応する記憶指示情報の値は第2の値であってもよく、フォーマット指示情報Cないしフォーマット指示情報Fに対応する記憶指示情報の値は第1の値であってもよい。ノードCに送信されるBGP-LSメッセージでは、フォーマット指示情報Bおよびフォーマット指示情報Cに対応する記憶指示情報の値は第2の値であってもよく、フォーマット指示情報Dないしフォーマット指示情報Dに対応する記憶指示情報の値は第1値であってもよい。ノードDに送信されるBGP-LSメッセージでは、フォーマット指示情報Bないしフォーマット指示情報Dに対応する記憶指示情報の値は第2の値であってもよく、フォーマット指示情報Eおよびフォーマット指示情報Fに対応する記憶指示情報の値は第1の値であってもよい。ノードEに送信されるBGP-LSメッセージでは、フォーマット指示情報Bないしフォーマット指示情報Fに対応する記憶指示情報の値は第2の値であってもよく、フォーマット指示情報Fに対応する記憶指示情報の値は第1の値であってもよい。ノードA以外のノードEに送信されるBGP-LSメッセージでは、フォーマット指示情報Bないしフォーマット指示情報Fに対応する記憶指示情報の値は第2の値であってもよい。
フォーマット指示情報Bは、ノードAのセグメント識別子Aに対応し、ノードBのセグメント識別子Bのフォーマットを示すために用いられる。フォーマット指示情報Cは、ノードBのセグメント識別子Bに対応し、ノードCのセグメント識別子Cのフォーマットを示すために用いられる。フォーマット指示情報Dは、ノードCのセグメント識別子Cに対応し、ノードDのセグメント識別子Dのフォーマットを示すために用いられる。フォーマット指示情報Eは、ノードDのセグメント識別子Dに対応し、ノードEのセグメント識別子Eのフォーマットを示すために用いられる。フォーマット指示情報Fは、ノードEのセグメント識別子Eに対応し、ノードFのセグメント識別子Fのフォーマットを示すために用いられる。
このようにして、ノードAは、フォーマット指示情報Bないしフォーマット指示情報FおよびノードAないしノードEの転送挙動情報を、BGP-LSメッセージにおける記憶指示情報の値に基づいて記憶してもよい。
このようにして、任意のノードについて、該ノードは、該ノードおよびすべての下流ノードの指示情報および転送挙動情報を記憶するだけでよい。これは、資源を節約し、通信効率を改善する。
たとえば、一例では、ノードAに送信された広告メッセージに基づいてノードAによって記憶されるフォーマット指示情報および転送挙動情報は、次のテーブル2aに示されるようなものであってもよい。
別の例として、別の例では、得られたセグメント識別情報および該セグメント識別情報に対応するフォーマット指示情報に基づいてノードAによって記憶された情報は、次のテーブル2bに示されるものであってもよい。
ノードBは、フォーマット指示情報Cないしフォーマット指示情報FおよびノードBないしノードEの転送挙動情報を、BGP-LSメッセージにおける記憶指示情報の値に基づいて記憶してもよい。
たとえば、一例では、ノードBに送信された広告メッセージに基づいてノードBによって記憶されるフォーマット指示情報および転送挙動情報は、次のテーブル3aに示されるものであってもよい。
別の例として、別の例では、ノードBに送信された広告メッセージに基づいてノードBによって記憶されるフォーマット指示情報および転送挙動情報は、次のテーブル3bに示されるものであってもよい。
ノードCは、フォーマット指示情報Dないしフォーマット指示情報FおよびノードCないしノードEの転送挙動情報を、BGP-LSメッセージにおける記憶指示情報の値に基づいて記憶してもよい。
たとえば、一例では、ノードCに送信された広告メッセージに基づいてノードCによって記憶されるフォーマット指示情報および転送挙動情報は、次のテーブル4aに示されるものであってもよい。
別の例として、別の例では、ノードCに送信された広告メッセージに基づいてノードCによって記憶されるフォーマット指示情報および転送挙動情報は、次のテーブル4bに示されるものであってもよい。
ノードDは、BGP-LSメッセージにおける記憶指示情報の値に基づいて、フォーマット指示情報Eおよびフォーマット指示情報FならびにノードDおよびノードEの転送挙動情報を記憶してもよい。
たとえば、ノードDに送信された広告メッセージに基づいてノードDによって記憶されるフォーマット指示情報およびSID情報は、次のテーブル5aに示されるものであってもよい。
別の例として、別の例では、ノードDに送信された広告メッセージに基づいてノードDによって記憶されるフォーマット指示情報およびSID情報は、次のテーブル5bに示されるものであってもよい。
ノードEは、BGP-LSメッセージ中の記憶指示情報の値に基づいて、フォーマット指示情報FおよびノードEの転送挙動情報を記憶してもよい。
たとえば、ノードEに送信された広告メッセージに基づいてノードEによって記憶されるフォーマット指示情報および転送挙動情報は、次のテーブル6aに示されるようなものであってもよい。
別の例として、別の例では、ノードEに送信された広告メッセージに基づいてノードEによって記憶するフォーマット指示情報および転送挙動情報は、次のテーブル6bに示されるものであってもよい。
さらに、ノードAないしノードE以外のノードは、BGP-LSメッセージ中の記憶指示情報の値に基づいて、フォーマット指示情報Bないしフォーマット指示情報F、または、ノードAないしノードEの転送挙動情報を記憶しなくてもよい。
B. 指定されたリンクへの広告メッセージの送信
たとえば、第1のネットワーク装置は、通信リンク上のセグメント識別子に基づいて、セグメント識別子に対応するフォーマット指示情報を決定し、通信リンク上の各ノードの構成情報に基づいて各ノードの転送挙動情報を決定してもよい。このようにして、第1のネットワーク装置は、通信リンク上のすべてのノードに広告メッセージを送信してもよい。それにより、通信リンク上の各ノードは、広告メッセージ中にある対応するフォーマット指示情報および転送挙動情報を記憶してもよい。
指定されたリンクに広告メッセージを送信する具体的な実装については、前述のネットワークまたはサブネットへの広告メッセージの送信を参照されたい。詳細は、ここでは再度説明しない。
C. 特定のノードへの広告メッセージの送信
たとえば、第1のネットワーク装置は、指定されたノードのセグメント識別子に基づいて、セグメント識別子に対応するフォーマット指示情報を決定し、指定されたノードの構成情報に基づいて、指定されたノードに対応する転送挙動情報を決定してもよい。このようにして、第1のネットワーク装置は、広告メッセージを指定されたノードに送信することができ、それにより、指定されたノードは、広告メッセージにおける対応するフォーマット指示情報および転送挙動情報を記憶する。
指定されたノードに広告メッセージを送信する具体的な実装については、前述のネットワークまたはサブネットへの広告メッセージの送信を参照されたい。詳細は、ここでは再度説明しない。
たとえば、図6は、本願のある実施形態による通信方法の概略フローチャート2である。この通信方法は、第1のネットワーク装置と、第2のネットワーク装置と、第3のネットワーク装置とによって共同して実行されてもよく、第1のネットワーク装置と、第2のネットワーク装置と、第3のネットワーク装置とは、図3に示される通信システム内のノードであってもよい。この通信方法は、以下のステップを含む。
S601. 第1のネットワーク装置が、第1のネットワーク装置のフォーマット指示情報をコントローラに送信する。
第1のネットワーク装置のフォーマット指示情報は、第1のネットワーク装置のセグメント識別子に対応する。
S601の具体的な実装方法については、S401を参照されたい。詳細は、ここでは再度説明しない。
S602. 第1のネットワーク装置が、第1の指示情報を取得する。
任意的に、第1のネットワーク装置は、コントローラからの広告メッセージを受信し、記憶してもよい。あるいはまた、第1のネットワーク装置は、他のノードから、たとえば、第3のネットワーク装置からの広告メッセージを受信し、記憶してもよい。広告メッセージは、IGPルーティング・メッセージまたはBGP-LSメッセージであってもよい。広告メッセージはフォーマット指示情報を含んでいてもよい。フォーマット指示情報は、第1の指示情報、第3の指示情報、および第5の指示情報のうちの一つまたは複数を含んでいてもよい。
任意的に、広告メッセージは、転送挙動情報をさらに含んでいてもよい。
任意的に、広告メッセージは、記憶指示情報をさらに含んでいてもよい。記憶指示情報は、第2の指示情報、第4の指示情報、および第6の指示情報を含んでいてもよい。
なお、S602の具体的な実装方法については、S402を参照されたい。詳細は、ここでは再度説明しない。
S603. 第1のネットワーク装置は、第1の指示情報を第2のネットワーク装置に送信する。
任意的に、他のノードから、たとえば、第3のネットワーク装置からルーティング情報を受信した後、または、ルーティング情報を生成した後、第1のネットワーク装置は、他のノードへ、たとえば、第2のネットワーク装置へ、該ルーティング情報をさらに送信してもよく、それにより、第2のネットワーク装置は、該ルーティング情報に基づいて、下流ノードの転送挙動情報およびフォーマット指示情報を記憶する。
S601、S603は破線で示されていることに注意しておくべきである。これは、S601およびS603が任意的なステップであることを示す。
たとえば、第1のネットワーク装置は、S601を実行し、S601に基づいて、S602において、コントローラからのルーティング情報を受信して記憶するステップを実行する。このようにして、各ノードの報告およびコントローラの送達によって、第2のネットワーク装置は、下流ノードの転送挙動情報およびフォーマット指示情報を記憶することができる。
あるいはまた、別の例として、第1のネットワーク装置が、S602において前記他のノードからのルーティング情報を受信して記憶するステップを実行し、S602に基づいてS603を実行する場合、第2のネットワーク装置は、ノード間で転送することによって、下流ノードの転送挙動情報およびフォーマット指示情報を記憶してもよい。
S604. 第2のネットワーク装置が第1のパケットを受信する。
ネットワークまたはサブネット内のノードとして、第2のネットワーク装置は、ネットワークまたはサブネット内の別のノードから、たとえば第1のネットワーク装置から、第1のパケットを受信することができる。第1のパケットはSRv6パケットであってもよい。
S605. 第1のパケットにおける第1のセグメント識別子が利用可能でない場合、第2のネットワーク装置は、第1のセグメント識別子に基づいて第1のパケット内の第2のセグメント識別子を取得する。
たとえば、第1のパケット中の一般化セグメント・ルーティング・ヘッダ(generalized segment routing header、G-SRH)は、フォーマット混合をサポートしてもよい。換言すれば、G-SRHは複数のセグメント識別子を含んでいてもよい。各セグメント識別子は、G-SID、標準SID、または別の形の圧縮されたSIDであってもよい。
任意的に、G-SRH中のセグメント識別子は第1のセグメント識別子と第2のセグメント識別子を含んでいてもよく、第1のセグメント識別子と第2のセグメント識別子は隣接している。
第2のセグメント識別子は、第3のネットワーク装置のセグメント識別子であってもよい。第1のセグメント識別子は、第2のネットワーク装置のセグメント識別子であってもよく、または第1のセグメント識別子は、別のネットワーク装置のセグメント識別子であってもよく、該別のネットワーク装置は、第2のネットワーク装置と第3のネットワーク装置との間に位置される。
さらに、第1のセグメント識別子および/または第2のセグメント識別子は圧縮されたセグメント識別子であってもよく、第1のセグメント識別子の長さおよび第2のセグメント識別子の長さは異なる。第1のパケットのデータ・パケット・サイズが低減され、資源オーバーヘッドが低減され、通信効率が改善される。
さらに、第1のパケットにおける宛先アドレスは第1のパケット中のIPv6基本ヘッダ(IPv6 basic header)にあってもよく、さらに、宛先アドレス内に第1のセグメント識別子があり、第1のパケットが第1のセグメント識別子に対応するネットワーク装置によって処理される必要があることを示す。
具体的には、図7は、第1のパケットにおけるG-SRHの構造を示している。G-SRHは:次ヘッダ(Next Header[次ヘッダ])フィールド、SRH長(Hdr Ext Len)フィールド、ルーティングタイプ(Routing Type)フィールド、残りセグメント(segments left、SL)ポインタ、最終エントリー(Last Entry)フィールド、フラグ(flag)フィールド、タグ(Tag)フィールド、セグメント・ルーティング・ヘッダタイプ長値(segment routing header type length value、SRH TLV)フィールド、ブロック(冗長)フィールド、複数のG-SID、たとえばG-SID 1ないしG-SID 9、およびSID、たとえばVPN SIDおよびSID 1を含んでいてもよい。
次ヘッダ・フィールドは8ビットのフィールドであってもよく、G-SRHに隣接する次パケット・ヘッダのタイプを示すために使用されてもよい。
Hdr Ext Lenフィールドは8ビットのフィールドであってもよく、次ヘッダ・フィールドを除くG-SRH内の諸フィールドの長さを示すために使用されてもよい。
ルーティングタイプフィールドは8ビットのフィールドであってもよく、G-SRHのタイプを示すために使用されてもよい。
SLの長さは8ビットであってもよく、残っているセグメントの量を示すために使用されてもよい。
最終エントリー・フィールドは8ビットのフィールドであってもよく、セグメント・リストにおける最後のエントリーを問い合わせるために使用されてもよい。
フラグ・フィールドは、8ビットの予約フィールドであってもよく、特殊な処理を実行する、たとえば、運用、管理、維持(operation administration and maintenance、OAM)を行うことをネットワーク装置を示すために使用されてもよい。
タグ・フィールドは16ビットのフィールドであってもよく、同じグループからのデータ・パケットを識別するために使用されてもよい。
SRH TLVフィールドは、任意的なTLV引数、たとえば、パディング(Padding)TLVおよびハッシュベースのメッセージ認証コード(hash-based message authentication code、HMAC)TLVを担持するために使用されてもよい。
VPN SIDはサービス機能を実装するために使用されるSIDである。
ブロック・フィールドは、SIDの重複した冗長な部分を表してもよい。宛先アドレスは以前の転送プロセスにおけるブロック・フィールドを用いて更新され、よって、G-SIDだけがSRHにカプセル化されてもよく、それにより、後続の更新プロセスにおいて、宛先アドレスはG-SIDだけを用いて更新されてもよい。
任意的に、第1のパケットにおけるIPv6基本ヘッダは、さらに残り圧縮セグメント(compress segment left、CL)ポインタを含んでいてもよく、ここで、命令指示ポインタの長さは2ビットであってもよく、圧縮命令が実行されている位置を示すために使用されてもよい。このようにして、G-SRH内の宛先アドレス内の圧縮されたセグメント識別子の位置は、命令指示ポインタと残りセグメント・ポインタとの合同指示に基づいて決定されうる。
さらに、第2のネットワーク装置は、宛先アドレス内の第1のセグメント識別子に基づいて、第1のセグメント識別子が利用可能かどうかを決定してもよい。
たとえば、第2のネットワーク装置が、第1のセグメント識別子が利用可能であると判断する、たとえば、第1のセグメント識別子に対応するネットワーク装置が適正に機能し、該ネットワーク装置へのリンクが適正に機能し、第1のセグメント識別子が適正に機能すると判断する場合、第2のネットワーク装置は、第1のセグメント識別子に対応する転送挙動情報に基づいて第1のパケットを処理してもよい。
別の例として、第2のネットワーク装置が、第1のセグメント識別子が利用可能でないと判断する、たとえば、第1のセグメント識別子に対応するネットワーク装置が障害を起こしている、該ネットワーク装置へのリンクが障害を起こしている、または第1のセグメント識別子にエラーが存在すると判断する場合、第2のネットワーク装置は、第1のセグメント識別子に基づく記憶されたフォーマット指示情報から、第1のセグメント識別子に対応する第1の指示情報を取得してもよい。このようにして、第2のネットワーク装置は、第1の指示情報に基づいて、第1のパケット内のG-SRHから第2のセグメント識別子を迅速かつ正確に取得することができる。
たとえば、図7において、第1のセグメント識別子は128ビットのSID 1であり、第2のセグメント識別子(図7のG-SID 5)は32ビットの圧縮されたセグメント識別子である。たとえば、第1の指示情報は、SID 1の次のSID(G-SID 5)が圧縮されたセグメント識別子であり、該圧縮されたセグメント識別子の長さが32ビットであることを示すために使用される。このようにして、第2のネットワーク装置は、第1の指示情報に基づいて、図7のCLポインタの指示位置の背後に位置する32ビットのデータを得ることができる。該32ビットのデータは第2のセグメント識別子である。
第2のセグメント識別子が第1の指示情報に基づいて得られることは、本願のこの実施形態において提供される例に過ぎず、いかなる限定も構成しないことは理解されるべきである。たとえば、第2のネットワーク装置は、代替的に、第1のセグメント識別子と第2のセグメント識別子との間の、フォーマット対応または位置対応のような、あらかじめ確立された対応に基づいて、第2のセグメント識別子を得ることができる。
S606. 第2のネットワーク装置が、第1のパケット内の宛先アドレスを第2のセグメント識別子を用いて更新し、第2のパケットを生成する。
たとえば、第2のセグメント識別子を取得した後、第2のネットワーク装置は、第2のセグメント識別子を用いて第1のパケット中の宛先アドレスを更新して、第2のパケットを取得し;第2のセグメント識別子に基づいて該パケットを処理してもよい。たとえば、第2のネットワーク装置は、第2のセグメント識別子に基づいてパケットを転送してもよい。換言すれば、圧縮されたセグメント識別子が存在する場合にTE-FRRが実装される。
第1の指示情報は、第2のセグメント識別子のフォーマットを示すことができるので、第2のネットワーク装置は、第2のセグメント識別子が圧縮されているかどうかにかかわらず、第2のセグメント識別子を取得し、TE-FRRを正しく実行することができることが理解されうる。
任意的に、第1のセグメント識別子が利用可能でないため、第2のネットワーク装置は、さらに、情報の冗長を回避するために、第1のセグメント識別子に対応する第3の指示情報を削除してもよく、それにより資源利用率および通信効率が改善される。
任意的に、第2のネットワーク装置は、さらに、第2のセグメント識別子のフォーマットに基づいて、第2のパケット内のCLポインタの指示位置および/またはSLポインタの指示位置を更新してもよい。たとえば、図7において、第2のネットワーク装置は、CLポインタの指示位置を32ビット後方に移動させて、図8に示されるG-SRHを得てもよい。
S607. 第2のネットワーク装置は、第2のセグメント識別子に基づいて第2のパケットを処理する。
たとえば、第2のパケットを取得した後、第2のネットワーク装置は、第2のパケット内の宛先アドレス内の第2のセグメント識別子に基づいて、第2のセグメント識別子が利用可能かどうかを決定してもよい。
一方で、第2のネットワーク装置が、第2のセグメント識別子が利用可能であると判断する、たとえば、第2のセグメント識別子に対応する第3のネットワーク装置が適正に機能し、第3のネットワーク装置へのリンクが適正に機能し、第2のセグメント識別子が適正に機能すると判断する場合、第2のネットワーク装置は、第2のセグメント識別子に対応する転送挙動情報に基づいて第2のパケットを処理し、たとえば、データプレーンを使用して第2のパケットを第3のネットワーク装置に透明に送信するか、または第2のパケットを処理のために制御プレーンに送信し、処理された第2のパケットを第3のネットワーク装置に送信してもよい。
他方、第2のネットワーク装置が、第2のセグメント識別子が利用可能でないと判断する、たとえば、第2のセグメント識別子に対応する第3のネットワーク装置が障害を起こしている、第3のネットワーク装置へのリンクが障害を起こしている、または第2のセグメント識別子にエラーが存在すると判断する場合、第2のネットワーク装置は、第2のセグメント識別子が通信リンク上の最後のセグメント識別子であるかどうかを判定してもよい。
任意的に、第2のセグメント識別子が通信リンク上の最後のセグメント識別子でない場合、第2のネットワーク装置は、S604~S606を逐次反復的に実行し、具体的には、第2のセグメント識別子に基づいて、第2のセグメント識別子の後ろに位置するセグメント識別子を取得し、第2のパケット中の宛先アドレスを第2のセグメント識別子の後ろに位置するセグメント識別子で更新し、第3のパケットを取得する、などすることができる。
あるいはまた、任意的に、第2のセグメント識別子が通信リンク上の最後のセグメント識別子である場合、第2のネットワーク装置は第2のパケットを破棄してもよい。
第1のネットワーク装置、第2のネットワーク装置、および第3のネットワーク装置によって実装される上記の機能または実行される上記の段階は限定されないことを理解しておくべきである。たとえば、第1のネットワーク装置は、第2のネットワーク装置または第3のネットワーク装置の上記の機能を実装し、第2のネットワーク装置または第3のネットワーク装置の上記の段階を実行してもよい。第2のネットワーク装置は、第1のネットワーク装置または第3のネットワーク装置の上記の機能を実装し、第1のネットワーク装置または第3のネットワーク装置の上記の段階を実行してもよい。第3のネットワーク装置は、第1のネットワーク装置または第2のネットワーク装置の上記の機能を実装し、第1のネットワーク装置または第2のネットワーク装置の上記の段階を実行してもよい。
たとえば、以下では、説明のための例として図5に示されるネットワークを引き続き使用する。
まず、ノードCがノードBからパケットを受信する。該パケット内の宛先アドレス内のセグメント識別子は、ノードDのセグメント識別子である。ノードCが、ノードDのセグメント識別子が利用可能でないと判断した場合、ノードCは、ノードDのセグメント識別子に対応するフォーマット指示情報に基づいて、パケット内のG-SRH内のノードEのセグメント識別子を取得し、ノードEのセグメント識別子を用いてパケット内の宛先アドレスを更新してもよい。
次いで、ノードCが、ノードEのセグメント識別子が利用可能であると判断した場合、ノードCは、そのパケットをノードEに送信し、たとえば、そのパケットをノードJを介してノードEに送信する。あるいはまた、ノードCが、ノードEのセグメント識別子が利用可能でないと判断した場合、ノードCは、ノードEのセグメント識別子に対応するフォーマット指示情報に基づいて、パケット中のG-SRH中のノードFのセグメント識別子を取得し、ノードFのセグメント識別子を用いてパケット中の宛先アドレスを更新してもよい。
最後に、ノードCが、ノードFのセグメント識別子が利用可能であると判断した場合、ノードCは、そのパケットをノードFにパケットを送信し、たとえばそのパケットをノードJおよびノードKを介してノードFに送信してもよい。あるいはまた、ノードCがルーティング・テーブルを見ていくことを通じて、ノードFのセグメント識別子が利用可能でないと判断した場合、ノードCはパケットを破棄する。
図3ないし図8のいずれかに示される通信方法によれば、第2のネットワーク装置は、利用可能でない第1のセグメント識別子に基づいて第2のセグメント識別子を得ることができるので、第2のネットワーク装置は、第2のセグメント識別子を用いて第1のパケット内の宛先アドレスを適正に更新し、第2のパケットを得ることができる。このようにして、第2のネットワーク装置は、第2のセグメント識別子に基づいて第2のパケットをさらに処理することができ、それにより、セグメント識別子が利用可能でないためにSRv6パケットがさらに処理できないという問題が解決され、通信の信頼性が改善される。
本願の実施形態において提供される通信方法は、図4ないし図8を参照して上述される。図9~図11を参照して、以下は、本願の実施形態において提供される通信方法を実行するように構成された通信装置を詳細に説明する。
図9は、本願のある実施形態による通信装置900の概略構造図である。装置900は、処理モジュール901およびトランシーバ・モジュール902を含んでいてもよい。
いくつかの実施形態では、装置900は、前述の実施形態400における第1のネットワーク装置、たとえば、通信ネットワークにおけるコントローラまたはノードに対応し、前述の方法400における第1のネットワーク装置の任意の機能を有してもよい。
任意的に、処理モジュール901は、S401を実行するように構成される。
任意的に、トランシーバ・モジュール902は、S402を実行するように構成される。
装置900内のモジュールおよび前述の他の動作および/または機能は、それぞれ、方法実施形態400における第1のネットワーク装置によって実装されるさまざまなステップおよび方法を実装するために使用される。具体的な詳細については、前述の方法400を参照されたい。詳細は、簡潔のために本明細書には再度記載しない。
装置900がフォーマット指示情報を取得して送信するとき、上記の機能モジュールへの分割は、説明のための例として使用されている。実際の適用では、前述の機能は、要件に基づいて実装のために異なる機能モジュールに割り当てられてもよく、言い換えると、装置900の内部構造は、上述の機能の全部または一部を完遂するために、異なる機能モジュールに分割される。さらに、前述の実施形態において提供される装置900および方法400は、同じ概念に基づいている。装置900の具体的な実施プロセスについては、方法400を参照されたい。詳細は、ここでは再度説明しない。
いくつかの他の実施形態では、装置900は、前述の方法実施形態600における第1のネットワーク装置、たとえば、通信ネットワークにおけるノードに対応し、前述の方法600における第1のネットワーク装置の任意の機能を有してもよい。
任意的に、トランシーバ・モジュール902は、S601を実行するように構成される。
任意的に、処理モジュール901は、S602およびS603を実行するように構成される。
装置900は、前述の方法の実施形態600における第1のネットワーク装置に対応する。たとえば、通信ネットワーク内のノード。装置900内のモジュールおよび前述の他の動作および/または機能は、方法の実施形態600内の第1のネットワーク装置によって実装されるさまざまな段階および方法を実装するために使用される。具体的な詳細については、前述の方法600を参照されたい。詳細は、簡潔のため本明細書には再度記載しない。
装置900がパケットを処理するとき、前述の機能モジュールへの分割は説明のための例として使用されている。実際の適用では、前述の機能は、要件に基づいて実装のために異なる機能モジュールに割り当てられてもよく、言い換えると、装置900の内部構造は、上述の機能の全部または一部を完遂するために、異なる機能モジュールに分割される。さらに、前述の実施形態において提供される装置900および方法600は、同じ概念に基づいている。装置900の具体的な実装プロセスについては、方法600を参照されたい。詳細は、ここでは再度説明しない。
本願において提供される方法実施形態および仮想装置実施形態に対応して、本願の実施形態は、通信装置をさらに提供する。下記は、通信装置のハードウェア構造を記述する。
以下に記載される通信装置1000は、前述の方法実施形態の第1のネットワーク装置に対応する。通信装置1000内のハードウェアおよびモジュール、ならびに前述の他の動作および/または機能は、方法実施形態において通信装置1000によって実装されるさまざまな段階および方法を実装するために使用される。通信装置1000がどのようにしてフォーマット指示情報を取得し、送信し、パケットを処理するかの詳細な手順について、具体的な詳細については、前述の方法実施形態を参照されたい。詳細は、簡潔のため本明細書には再度記載しない。
前述の方法400または方法600のステップは、通信装置1000のプロセッサ内のハードウェアの集積論理回路を使用することによって、またはソフトウェアの形の命令を使用することによって完了される。本願の実施形態を参照して開示された方法における段階は、ハードウェアプロセッサによって直接実行されてもよく、またはプロセッサ内のハードウェアとソフトウェア・モジュールとの組み合わせを使用して実行されてもよい。ソフトウェア・モジュールは、ランダムアクセスメモリ、フラッシュ・メモリ、リードオンリーメモリ、プログラマブル・リードオンリーメモリ、電気的に消去可能なプログラマブル・メモリ、またはレジスタのような、当該技術分野における成熟した記憶媒体内に位置されてもよい。記憶媒体はメモリ内に位置され、プロセッサはメモリ内の情報を読み出し、プロセッサのハードウェアと組み合わせて前述の方法の段階を完了する。反復を避けるため、詳細は、ここでは再度説明されない。
通信装置1000は、前述の仮想装置実施形態における装置900に対応しており、装置900の各機能モジュールは、通信装置1000のソフトウェアを用いて実装される。換言すれば、装置900に含まれる機能モジュールは、通信装置1000のプロセッサによって、メモリに記憶されたプログラムコードの読み出しを通じて生成される。
図10は、本願の例示的実施形態による通信装置1000の概略構造図である。通信装置1000は、通信ネットワーク内のコントローラまたはノードであるように構成されてもよい。通信装置1000は、一般的なバスアーキテクチャーによって実装されてもよい。
通信装置1000は、少なくとも1つのプロセッサ1001、通信バス1002、メモリ1003、および少なくとも1つの通信インターフェース1004を含む。
プロセッサ1001は、汎用CPU、NP、マイクロプロセッサであってもよく、または、本願の解決策を実装するように構成された一つまたは複数の集積回路、たとえば、特定用途向け集積回路(application-specific integrated circuit、ASIC)、プログラマブル論理デバイス(programmable logic device、PLD)、またはそれらの組み合わせであってもよい。PLDは、複雑プログラマブル論理デバイス(complex programmable logic device、CPLD)、フィールドプログラマブル論理ゲートアレイ(field programmable gate array、FPGA)、汎用アレイ論理(generic array logic、GAL)、またはそれらの任意の組み合わせであってもよい。
通信バス1002は、前述の構成要素間で情報を伝送するように構成される。通信バス1002は、アドレスバス、データバス、制御バスなどに分類することができる。表現の簡単のため、図中のバスを表すためには1本の太線を使用するだけだが、これは1つのバスだけ、または1つのタイプのバスだけがあることを意味するものではない。
メモリ1003は、静的な情報および命令を記憶することができる読み出し専用メモリ(read-only memory、ROM)または他のタイプの静的記憶装置、または情報および命令を記憶することができるランダムアクセスメモリ(random access memory、RAM)または他のタイプの動的記憶装置であってもよく、または電気的に消去可能なプログラマブル読み出し専用メモリ(electrically erasable programmable read-only memory、EEPROM)、コンパクトディスク読み出し専用メモリ(compact disc read-only memory、CD-ROM)または他のコンパクトディスク記憶、光ディスク記憶(コンパクトディスク、レーザーディスク、光ディスク、デジタル多用途ディスク、ブルーレイディスクなどを含む)、磁気ディスク記憶媒体または他の磁気記憶装置、または命令またはデータ構造の形で期待されるプログラムコードを担持または記憶するために使用でき、コンピュータによってアクセスされうる他の任意の媒体であってもよいが、これらに限定されない。メモリ1003は、独立して存在してもよく、通信バス1002を使用してプロセッサ1001に接続されてもよい。あるいはまた、メモリ1003は、プロセッサ1001と一体化されてもよい。
通信インターフェース1004は、受信機、送信機、集積トランシーバ回路、およびインターフェース回路などの、トランシーバタイプの任意の装置を使用し、他の装置または通信ネットワークと通信するように構成されてもよい。通信インターフェース1004は、有線通信インターフェース(図10では実線で示される)を含み、無線通信インターフェース(図10では破線で示される)をさらに含んでいてもよい。有線通信インターフェースは、たとえば、イーサネットインターフェースであってもよい。イーサネットインターフェースは、光インターフェース、電気インターフェース、またはそれらの組み合わせであってもよい。無線通信インターフェースは、無線ローカルエリアネットワーク(wireless local area network、WLAN)インターフェース、セルラーネットワーク通信インターフェース、それらの組み合わせなどであってもよい。
特定の実装の間、ある実施形態では、プロセッサ1001は、一つまたは複数のCPU、たとえば、図10に示されるCPU 0およびCPU 1を含んでいてもよい。
特定の実装の間、ある実施形態では、通信装置1000は、図10のプロセッサ1001およびプロセッサ1005のような複数のプロセッサを含んでいてもよい。これらのプロセッサのそれぞれは、シングルコアプロセッサ(シングルCPU)またはマルチコアプロセッサ(マルチCPU)であってもよい。本明細書のプロセッサは、データ(たとえば、コンピュータ・プログラム命令)を処理するように構成された一つまたは複数の装置、回路、および/または処理コアであってもよい。
特定の実装の間、ある実施形態では、通信装置1000は、出力装置1006および入力装置1007(図10には示されていない)をさらに含んでいてもよい。出力装置1006は、プロセッサ1001と通信し、複数の態様で情報を表示してもよい。たとえば、出力装置1006は、液晶ディスプレイ(liquid crystal display、LCD)、発光ダイオード(light emitting diode、LED)表示装置、陰極線管(cathode ray tube、CRT)表示装置、またはプロジェクター(projector)であってもよい。入力装置1007は、プロセッサ1001と通信し、複数の態様でユーザー入力を受信してもよい。たとえば、入力装置1007は、マウス、キーボード、タッチスクリーン装置、または感知装置であってもよい。
いくつかの実施形態では、メモリ1003は、本願における解決策を実行するためのプログラムコード1100を記憶するように構成され、プロセッサ1001は、メモリ1003に記憶されたプログラムコード1100を実行してもよい。換言すれば、通信装置1000は、プロセッサ1001およびメモリ1003内のプログラムコード1010を使用して、方法実施形態において提供される方法400または方法600を実装してもよい。
本願のこの実施形態における通信装置1000は、前述の方法の実施形態における第1のネットワーク装置に対応してもよく、通信装置1000におけるプロセッサ1001、通信インターフェース1004などは、前述の方法実施形態における装置の機能および/またはさまざまな実装される段階および方法を実装することができる。簡潔のため、詳細は、本明細書には再度記載されない。
装置900内のトランシーバ・モジュール902は、通信装置1000内の通信インターフェース1004と等価であってもよい。装置900内の処理モジュール901は、通信装置1000内のプロセッサ1001と等価であってもよい。
図11は、本願の例示的実施形態による通信装置1100の構造の概略図である。通信装置1100は、通信ネットワーク内のコントローラまたはノードであるように構成されてもよい。通信装置1100は、メイン制御ボード1110およびインターフェースボード1130を含む。
メイン制御ボード1110は、メイン処理ユニット(main processing unit、MPU)またはルート処理カード(route processor card)とも呼ばれる。メイン制御ボード1110は、ルート計算、装置管理、装置維持、およびプロトコル処理機能を含め、通信装置1100内の構成要素を制御および管理するように構成される。メイン制御ボード1110は、中央処理ユニット1111およびメモリ1112を含む。
インターフェースボード1130は、ライン処理ユニット(line processing unit、LPU)、ラインカード(line card)またはサービスボードとも呼ばれる。インターフェースボード1130は、さまざまなサービス・インターフェースを提供し、データ・パケットを転送するように構成される。サービス・インターフェースは、イーサネットインターフェース、POS(Packet over SONET/SDH[SONET/SDHを通じたパケット])インターフェースなどを含むが、これらに限定されない。イーサネットインターフェースは、たとえば、柔軟イーサネットサービスインターフェース(Flexible Ethernet Clients[フレキシブルイーサネットクライアント]、FlexE Clients)である。インターフェースボード1130は、中央処理ユニット1131、ネットワーク・プロセッサ1132、転送エントリーメモリ1134、および物理インターフェースカード(physical interface card, PIC)1133を含む。
インターフェースボード1130上の中央処理装置1131は、インターフェースボード1130を制御および管理し、メイン制御ボード1110上の中央処理装置1111と通信するように構成される。
ネットワーク・プロセッサ1132は、パケット転送処理を実装するように構成される。ネットワーク・プロセッサ1132の一つの形は、転送チップであってもよい。具体的には、ネットワーク・プロセッサ1132は、転送エントリーメモリ1134に格納された転送テーブルに基づいて、受信されたパケットを転送するように構成される。パケット内の宛先アドレスが通信装置1100のアドレスである場合、ネットワーク・プロセッサ1132は、パケットを、処理のためにCPU(たとえば、中央処理装置1111)に送信する。パケット内の宛先アドレスが通信装置1100のアドレスでない場合、ネットワーク・プロセッサ1132は、宛先アドレスに基づいて、転送テーブル内で宛先アドレスに対応する次のホップおよび外向きインターフェースを検索し、パケットを宛先アドレスに対応する外向きインターフェースに転送する。上りリンクパケットは以下のように処理される:該パケットの内向きインターフェースが処理され、転送テーブルが検索される。下りリンクパケットは以下のように処理される:転送テーブルが検索される。
物理インターフェースカード1133は、物理層において相互接続機能を実装するように構成される。もとのトラフィックは、物理インターフェースカード1133からインターフェースボード1130に入り、処理されたパケットが物理インターフェースカード1133から送られる。サブカードとも呼ばれる物理インターフェースカード1133は、インターフェースボード1130上に取り付けられ、光/電気信号をパケットに変換し、パケットの有効性チェックを行い、パケットを処理のためにネットワーク・プロセッサ1132に転送することを受け持つ。いくつかの実施形態では、中央処理ユニットは、ネットワーク・プロセッサ1132の機能を実行してもよく、たとえば、一般的なCPUに基づいてソフトウェア転送を実装してもよい。よって、ネットワーク・プロセッサ1132は、物理インターフェースカード1133内では必要ではない。
任意的に、通信装置1100は、複数のインターフェースボードを含む。たとえば、通信装置1100は、インターフェースボード1140をさらに含む。インターフェースボード1140は、中央処理装置1141、ネットワーク・プロセッサ1142、転送エントリーメモリ1144、および物理インターフェースカード1143を含む。
任意的に、通信装置1100は、スイッチングボード1120をさらに含む。スイッチングボード1120は、スイッチファブリックユニット(switch fabric unit、SFU)とも呼ばれこともある。通信装置1100が複数のインターフェースボード1130を有する場合、スイッチングボード1120は、インターフェースボード間のデータ交換を完了するように構成される。たとえば、インターフェースボード1130とインターフェースボード1140は、スイッチングボード1120を使用することによって互いに通信することができる。
メイン制御ボード1110は、インターフェースボード1130に結合されている。たとえば、メイン制御ボード1110、インターフェースボード1130およびインターフェースボード1140、ならびにスイッチングボード1120は、連係動作のためにシステムバスを使用することによってシステムバックボードに接続される。ある可能な実装では、メイン制御ボード1110とインターフェースボード1130との間にプロセス間通信(inter-process communication、IPC)チャネルが確立され、メイン制御ボード1110とインターフェースボード130はIPCチャネルを通じて互いに通信する。
論理的には、通信装置1100は、制御プレーンおよび転送プレーンを含む。制御プレーンは、メイン制御ボード1110および中央処理ユニット1131を含む。転送プレーンは、転送に使用されるコンポーネント、たとえば、転送エントリーメモリ1134、物理インターフェースカード1133、およびネットワーク・プロセッサ1132を含む。制御プレーンは、ルーターの機能、転送テーブルの生成、シグナリングおよびプロトコルパケットの処理、装置のステータスの構成設定および維持などの機能を実行する。制御プレーンは、生成された転送テーブルを転送プレーンに送達する。転送プレーン上で、ネットワーク・プロセッサ1132は、物理インターフェースカード1133によって受信されたパケットを転送するために、制御プレーンによって送達された転送テーブルを探索する。制御プレーンによって送達された転送テーブルは、転送エントリーメモリ1134に記憶されてもよい。いくつかの実施形態では、制御プレーンと転送プレーンは、完全に分離されてもよく、同一の装置上にない。
通信装置1100がコントローラであるように構成されている場合、物理インターフェースカード1133は、各ノードからフォーマット指示情報を受信し、フォーマット指示情報をネットワーク・プロセッサ1132に送信する。ネットワーク・プロセッサ1132は、フォーマット指示情報に基づいて各ノードに、物理インターフェースカード1133を用いて、当該ノードに対応するフォーマット指示情報を送信し、それにより、対応するノードは、下流ノードのセグメント識別子のフォーマットを取得する。
通信装置1100がノードであるように構成されている場合、一方では、物理インターフェースカード1133は、他ノードのフォーマット指示情報を受信し、該フォーマット指示情報を記憶のためにネットワーク・プロセッサ1132に送信し、ネットワーク・プロセッサ1132が、該フォーマット指示情報を、物理インターフェースカード1133を用いて、対応するノードに転送する。他方では、物理インターフェースカード1133は、他ノードから第1のパケットを受信し、該第1のパケットをネットワーク・プロセッサ1132に送信し、それにより、ネットワーク・プロセッサ1132は、下流ノードのセグメント識別子のフォーマットに基づいて、第1のパケットを処理する。
装置900内の送受信モジュール902は、通信装置1100内の物理インターフェースカード1133と等価である。装置900内の処理モジュール901は、ネットワーク・プロセッサ1132または中央処理ユニット1111と等価であってもよい。
インターフェースボード1140上で実行される動作は、本願のこの実施形態においてインターフェースボード1130上で実行される動作と整合する。簡潔のため、詳細は記載しない。この実施形態における通信装置1100は、前述の方法実施形態における第1のネットワーク装置に対応してもよく、通信装置1100内のメイン制御ボード1110、インターフェースボード1130、および/またはインターフェースボード1140は、前述の方法実施形態における第1のネットワーク装置の機能および/または前述の方法実施形態における第1のネットワーク装置によって実装されるさまざまな段階を実装することができる。簡潔のため、詳細は、本明細書には再度記載されない。
一つまたは複数のメインコントロールボードがありうることに注意しておくべきである。複数のメインコントロールボードがある場合、メインコントロールボードは、アクティブメインコントロールボードおよびスタンバイメインコントロールボードを含みうる。一つまたは複数のインターフェースボードがあってもよく、より強力なデータ処理能力を有するネットワーク装置が、より多くのインターフェースボードを提供する。また、インターフェースボード上には一つまたは複数の物理インターフェースカードがありうる。スイッチングボードがないこともあり、または一つまたは複数のスイッチングボードがありうる。複数のスイッチングボードがある場合、ロードシェアリングおよび冗長バックアップが、それらのスイッチングボードによって一緒に実装されてもよい。中央集中式の転送アーキテクチャーでは、ネットワーク装置はスイッチングボードを必要としないことがあり、インターフェースボードはシステム全体のサービスデータを処理する機能を提供する。分散式の転送アーキテクチャーでは、ネットワーク装置は、少なくとも1つのスイッチングボードを有してもよく、スイッチングボードを使用することによって複数のインターフェースボード間のデータ交換が実装され、大容量のデータ交換および処理能力を提供する。よって、分散アーキテクチャーにおけるネットワーク装置のデータアクセスおよび処理能力は、中央集中アーキテクチャーにおける装置のそれよりも優れている。任意的に、ネットワーク装置は、代わりに、1つのカードのみが存在する形であってもよい。具体的には、スイッチボードがなく、インターフェースボードとメイン制御ボードの機能がそのカード上に統合される。この場合、インターフェースボード上の中央処理ユニットおよびメイン制御ボード上の中央処理ユニットは、そのカード上の1つの中央処理ユニットに組み合わされ、2つの中央処理ユニットが組み合わされた後に得られる機能を実行することができる。この形の装置(たとえば、ローエンドのスイッチやルーターのようなネットワーク装置)は、比較的弱いデータ交換および処理能力を有する。使用される具体的なアーキテクチャーは、特定のネットワーク展開シナリオに依存する。これは、本明細書において限定されない。
いくつかの可能な実施形態では、第1のネットワーク装置は、仮想化された装置として実装されてもよい。
たとえば、仮想化された装置は、パケット送信機能を有するプログラムが動作する仮想マシン(英語:Virtual Machine、VM)であってもよく、該仮想マシンはハードウェア装置(たとえば、物理的なサーバー)上で展開される。仮想マシンは、ソフトウェアによってシミュレートされ、完全なハードウェアシステム機能をもち、完全に隔離された環境で動作する完備なコンピュータシステムである。仮想マシンは、第1のネットワーク装置または第2のネットワーク装置であるように構成されてもよい。たとえば、第1のネットワーク装置は、ネットワーク機能仮想化(Network Functions Virtualization、NFV)技術と組み合わせた汎用物理サーバーに基づいて実装されてもよい。第1のネットワーク装置は、仮想ホスト、仮想ルーター、または仮想スイッチである。本願を読んだ後、NFV技術を参照して、当業者は、一般的な物理サーバー上で、前述の機能を有する第1のネットワーク装置を仮想化することができる。本明細書には、詳細は記載しない。
たとえば、仮想化装置はコンテナであってもよく、コンテナは隔離された仮想化環境を提供するために使用されるエンティティであってもよい。たとえば、コンテナはドッカー・コンテナであってもよい。コンテナは、第1のネットワーク装置であるように構成されてもよい。たとえば、第1のネットワーク装置は、対応する画像を使用して作成されてもよい。たとえば、1つのコンテナ・インスタンスは、プロキシ・コンテナのイメージ、たとえばコンテナ・インスタンス・プロキシ・コンテナ1を使用して、プロキシ・コンテナ(プロキシ・サービスを提供するコンテナ)のために作成されてもよく、コンテナ・インスタンス・プロキシ・コンテナ1は、第1のネットワーク装置として提供される。コンテナ技術が実装のために使用される場合、第1のネットワーク装置は、物理的なマシンのカーネルに基づいて動作してもよく、複数の第1のネットワーク装置が、物理的なマシンのオペレーティングシステムを共有してもよい。コンテナ技術を使用することによって、異なる第1のネットワーク装置が隔離されうる。コンテナ化された第1のネットワーク装置は、仮想化された環境で動作してもよく、たとえば、仮想マシンで動作してもよく、または、コンテナ化された第1のネットワーク装置は、物理的なマシンにおいて直接動作してもよい。
たとえば、仮想化装置はポッドであってもよい。ポッドは、コンテナ化されたアプリケーションを展開、管理、および編成〔オーケストレーション〕するためのクバネティス(クバネティス(Kubernetes)は、Googleのオープンソース・コンテナ編成エンジンであり、略称K8s)の基本ユニットである。ポッドは、一つまたは複数のコンテナを含んでいてもよい。一般に、同じポッド内の各コンテナは、同じホスト上で展開される。よって、同じポッド内の各コンテナは、ホストを介して互いに通信することができ、ホストの記憶資源およびネットワーク資源を共有することができる。ポッド(Pod)は、第1のネットワーク装置であるように構成されてもよい。たとえば、具体的には、サービスとしてのコンテナ(英語全称:container as a service、略CaaSは、コンテナベースのPaaSサービスである)が、ポッドを生成し、該ポッドをルーティング管理装置またはAS管理装置として提供するように命令されうる。
むろん、第1のネットワーク装置は、代替的に、別の仮想化装置であってもよい。これは、ここでは一つ一つ列挙されない。
いくつかの可能な実施形態では、第1のネットワーク装置は、代替的に、汎用プロセッサによって実装されてもよい。たとえば、汎用プロセッサの形は、チップであってもよい。具体的には、第1のネットワーク装置を実装する汎用プロセッサは、処理回路と、処理回路に内部接続されて処理回路と通信される内向きインターフェースおよび外向きインターフェースとを含む。処理回路は、内向きインターフェースを使用することによって、前述の方法の実施形態におけるパケット生成ステップを実行するように構成される。処理回路は、内向きインターフェースを使用することによって、前述の方法実施形態における受信ステップを実行するように構成される。処理回路は、外向きインターフェースを使用することによって、前述の方法実施形態における送信ステップを実行するように構成される。任意的に、汎用プロセッサは、記憶媒体をさらに含んでいてもよい。処理回路は、記憶媒体を介して、前述の方法実施形態における記憶ステップを実行するように構成される。記憶媒体は、処理回路によって実行された命令を記憶することができる。処理回路は、記憶媒体に記憶された命令を実行し、前述の方法実施形態を実行するように構成される。
図12を参照されたい。本願のある実施形態は、通信システム1200を提供する。システム1200は、ネットワーク装置1201およびネットワーク装置1202を含む。任意的に、ネットワーク装置1201またはネットワーク装置1202は、装置900、装置1000または装置1100内の任意の装置であってもよい。一例では、ネットワーク装置1201は、図4に示される方法実施形態において第1のネットワーク装置によって実行される方法を実行するように構成されるか、または図6に示される方法実施形態において第1のネットワーク装置コントローラによって実行される方法を実行するように構成される。ネットワーク装置1202は、図6に示される方法実施形態において、第2のネットワーク装置によって実行される方法を実行するように構成される。
本願のある実施形態は、コンピュータ・プログラム・プロダクトを提供する。コンピュータ・プログラム・プロダクトがコンピュータ上で実行されると、コンピュータは、前述の方法実施形態における方法400または方法600を実行する。
上記のプロダクト形態の諸装置は、別個に、上記の方法実施形態における第1のネットワーク装置の任意の機能を有する。詳細は、ここでは再度説明しない。
当業者は、本明細書に開示された実施形態に記載された例と組み合わせて、方法段階およびユニットは、電子ハードウェア、コンピュータ・ソフトウェア、またはそれらの組み合わせによって実装できることを認識するであろう。ハードウェアとソフトウェアとの間の交換可能性を明確に記述するために、上記は、機能に応じて、各実施形態の段階および組成を一般的に記述した。機能がハードウェアによって実行されるかソフトウェアによって実行されるかは、技術的解決策の具体的な用途および設計制約条件に依存する。当業者は、各具体的な用途について、記載された機能を実装するために種々の方法を用いることができるが、かかる実装が本願の範囲を超えるものであると考えるべきではない。
当業者は、前述のシステム、装置、およびユニットの詳細な稼働プロセスについては、簡便な記述のため、前述の方法実施形態における対応するプロセスを参照することを明確に理解しうる。詳細については、ここでは再度説明しない。
本願において提供されるいくつかの実施形態では、開示されたシステム、装置、および方法は、他の仕方で実装されうる。たとえば、記載された装置実施形態は単なる例である。たとえば、ユニットへの分割は、単に論理的な機能分割であり、実際の実装の際には他の分割でもよい。たとえば、複数のユニットまたはコンポーネントは、組み合わされ、または別のシステムに統合されてもよく、あるいはいくつかの特徴は、無視され、または実行されなくてもよい。さらに、表示または議論された相互結合、直接結合、または通信接続は、いくつかのインターフェース、装置、またはユニットを使用する間接的な結合または通信接続であってもよく、電気的形態、機械的形態、または別の形態の接続であってもよい。
別個の部品として記載されるユニットは、物理的に分離されていてもいなくてもよく、ユニットとして表示される部品は、物理的なユニットであってもなくてもよく、一箇所に配置されてもよく、または複数のネットワーク・ユニット上に分散されてもよい。ユニットの一部または全部は、本願の実施形態の解決策の目的を達成するために、実際の要件に従って選択されてもよい。
さらに、本願の実施形態における機能ユニットは、1つの処理ユニットに統合されてもよく、または各ユニットは、物理的に単独で存在してもよく、または2つ以上のユニットは、1つのユニットに統合されてもよい。統合されたユニットは、ハードウェアの形で実装されてもよく、またはソフトウェア機能ユニットの形で実装されてもよい。
統合されたユニットがソフトウェア機能ユニットの形態で実装され、独立したプロダクトとして販売または使用される場合、統合されたユニットは、コンピュータ読み取り可能な記憶媒体に記憶されてもよい。そのような理解に基づいて、本願の技術的解決策は本質的に、または従来技術に寄与する部分、または技術的解決策の全部もしくは一部は、ソフトウェア・プロダクトの形で実装されてもよい。コンピュータ・ソフトウェア・プロダクトは、記憶媒体に記憶され、本願の実施形態に記載される方法における段階の全部または一部を実行するようコンピュータ装置(パーソナルコンピュータ、サーバー、またはネットワーク装置であってもよい)に指示するためのいくつかの命令を含む。前述の記憶媒体は、プログラムコードを記憶することができる任意の媒体、たとえば、USBフラッシュドライブ、リムーバブルハードディスク、リードオンリーメモリ(read-only memory、ROM)、ランダムアクセスメモリ(random access memory、RAM)、磁気ディスク、または光ディスクを含む。
前述の説明は、単に本願の具体的な実装であり、本願の保護範囲を制限することは意図されていない。本願に開示された技術的範囲内で当業者によって容易に割り出される修正または代替は、本願の保護範囲に含まれる。したがって、本願の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
前述の実施形態の全部または一部は、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組み合わせを使用することによって実装されうる。実施形態を実施するためにソフトウェアが使用される場合、実施形態の全部または一部は、コンピュータ・プログラム・プロダクトの形で実施されうる。コンピュータ・プログラム・プロダクトは、一つまたは複数のコンピュータ・プログラム命令を含む。コンピュータ・プログラム命令がロードされ、コンピュータ上で実行される場合、本願の実施形態による手順または機能は、すべてまたは部分的に生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または他のプログラム可能な装置であってもよい。コンピュータ命令は、コンピュータ読み取り可能な記憶媒体に記憶されてもよく、またはコンピュータ読み取り可能な記憶媒体から別のコンピュータ読み取り可能な記憶媒体に送信されてもよい。たとえば、コンピュータ・プログラム命令は、ウェブサイト、コンピュータ、サーバー、またはデータセンターから、他のウェブサイト、コンピュータ、サーバー、またはデータセンターに、有線または無線方式で送信されうる。コンピュータ読み取り可能な記憶媒体は、コンピュータによってアクセス可能な任意の使用可能な媒体、または一つまたは複数の使用可能な媒体を統合するサーバーまたはデータセンターなどのデータ記憶装置であってもよい。使用可能な媒体は、磁気媒体(たとえば、フロッピーディスク、ハードディスク、または磁気テープ)、光媒体(たとえば、デジタルビデオディスク(digital video disc、DVD))、半導体媒体(たとえば、ソリッドステートドライブ)などである。
当業者は、実施形態の段階の全部または一部は、ハードウェアまたは関連するハードウェアに命令するプログラムによって実装されうることを理解しうる。プログラムは、コンピュータ読み取り可能な記憶媒体に記憶されてもよい。記憶媒体は、読み出し専用メモリ、磁気ディスク、または光ディスクであってもよい。
前述の説明は、単に本願の単なる任意的な実施形態であり、本願を限定することは意図されていない。本願の原理から逸脱することなくなされた修正、同等の置換または改良は、本願の保護範囲に含まれる。