以下では、本出願の実施形態について添付図面を参照しながら詳細にさらに説明する。
本出願に含まれる用語が以下に説明される。
セグメントルーティングヘッダ(segment routing header、SRH):インターネットプロトコルバージョン6(Internet protocol version 6、IPv6)パケットは、IPv6標準ヘッダ、拡張ヘッダ(0...n)、およびペイロード(Payload)を含む。IPv6転送プレーンに基づいてSRv6を実装するために、SRH拡張ヘッダと呼ばれる新しいIPv6拡張ヘッダが追加される。拡張ヘッダは、IPv6パスを指定し、IPv6の複数のSIDを保存する。複数のSIDは、セグメントリスト(Segment List)を形成することができ、セグメントリストは、セグメント・ルーティング・マルチプロトコル・ラベル・スイッチング(segment routing multi-protocol label switching、SR-MPLS)におけるセグメントリストと同じ機能を有する。先頭ノードが1つまたは複数のSRH拡張ヘッダをIPv6パケットに追加し、その結果、中間ノードが、SRH拡張ヘッダに含まれるパス情報に基づいてIPv6パケットを転送することができる。例えば、IPv6パケットを転送するとき、SRv6をサポートするネットワークデバイスが、データパケット内の宛先アドレス(destination address、DA)に基づいてローカルセグメント識別子テーブル(local SID table)を照会する。データパケット内の宛先アドレスがローカルセグメント識別子テーブル内の任意のSIDと一致するとき、ローカルセグメント識別子テーブル内のSID関連のポリシーまたは機能に従って、ポリシーまたは機能に対応する動作が実行される。例えば、ポリシーに対応する動作は、SIDによって指定されるアウトバウンドインタフェースを介してデータパケットを転送することであってもよい。パケット内の宛先アドレスがローカルセグメント識別子テーブル内のどのSIDとも一致しない場合、IPv6ルーティング・転送テーブルがさらに照会され、IPv6ルーティング・転送テーブルに基づいて最長一致転送が実行される。
SIDに対応するポリシーまたは機能は、転送パスおよび/または対応するサービスを含む。転送パスは、バックグラウンド内のEnd SIDおよびEnd.X SID、あるいは転送もしくはテーブルルックアップ機能を有する別のSIDを含むことができる。SIDに対応するサービスは、ネットワークデバイスによって提供される機能、例えば、圧縮処理もしくは暗号化処理、または、ネットワークデバイスを介して接続された別のデバイスによって提供される別の機能、例えば、接続されたファイアウォールを使用して提供されるアンチアタックフィルタリングやトラフィッククリーニングなどのサービスを含むことができる。上記では、SIDが転送パスとサービスの両方に対応する場合もある。ネットワークデバイスは、SIDに対応する機能に基づいてパケットに対して動作処理を行うだけでよい。換言すれば、SIDは、SIDに対応するネットワークデバイスに、SIDに基づいてパケットに対して対応する処理動作を実行するよう指示するために使用され得る。
本出願の実施形態では、先頭ノードは、1つまたは複数のセグメント識別子SIDリストをパケット内に挿入することができ、SIDリストは少なくとも2つのSIDを含む。1つまたは複数のSIDリストは、一次SIDリストおよび二次SIDリストに論理的に分割され得る。2つのリストに属さない他のSIDが1つまたは複数のSIDリスト内に存在するとき、これらのSIDは、別のSIDリストに属するものとしてさらに分割され得る。SRv6では、SRHにおいて対応するセグメント剰余(segment left、SL)がより小さい値を有しているSIDは、対応するSLがより大きい値を有しているSIDの後にあると考えられる。セグメント識別子リストが(SID 1、SID 2、SID 3)で表されるとき、前のSIDが後ろのSIDの前にあると考えられる。例えば、SID 1がセグメント識別子リストにおける1番目のSIDであり、SID 1がSID 2に隣接しており、SID 1がSID 2の前にあり、SID 2がSID 1およびSID 3に隣接しており、SID 2がSID 3の前にあり、SID 3がSID 2に隣接していると考えられる。これに対応して、SID 2はSID 1の後にあり、SID 3はSID 2の後にある。
一次SIDリスト:パケットのSIDリスト内の、保護されバックアップされるべき1つまたは複数のSIDは、一次SIDリストと呼ばれる。例えば、セグメント識別子リストが(SID 1、SID 2、SID 3)で表され、SID 3がSID 2のバックアップである、すなわち、SID 2がバックアップされるべきSIDであるとき、SID 2は一次SIDリストと見なされる。
二次SIDリスト:パケットのSIDリスト内のバックアップのための1つまたは複数のSIDは、二次SIDリストと呼ばれる。例えば、セグメント識別子リストが(SID 1、SID 2、SID 3)で表され、SID 3がSID 2のバックアップであるとき、SID 3は二次SIDリストと見なされる。
実行されていないSID:SRv6において、一次SIDリスト内にある宛先アドレスに対応するSIDおよび後続のSIDは、実行されていないSIDと見なされる。例えば、一次SIDリストは(SID 1、SID 2、SID 3)である。ネットワークデバイスがパケットを受信し、パケットの宛先アドレスに対応するSIDがSID 2であるとき、実行されていないSIDはSID 2およびSID 3を含む。SR-MPLSでは、セグメント識別子リスト内のSID(すなわち、ラベル)が連続的に取り出されるので、MPLSパケットヘッダ内のスタックの最上部にある一次セグメント識別子リストは、実行されていないSIDと見なされ得る。例えば、先頭ノードがパケットを先頭ノードのネクストホップデバイスに送信し、一次セグメント識別子リストが(SID 1、SID 2、SID 3)であるとき、実行されていないSIDはSID 1、SID 2、およびSID 3を含む。パケットがSID 1に対応するネットワークデバイスによって処理された後、一次セグメント識別子リストは(SID 2、SID 3)に変更されてもよく、実行されていないSIDはSID 2およびSID 3を含む。
ターゲットSIDが、前述の実行されていないSIDのうちの1つまたは複数である、すなわち、SID 2、SID 3、またはSID 2とSID 3の両方とすることができる。一般に、ターゲットSIDは、実行されていないSIDのうちの1番目のSID、すなわち、SID 2とすることができる。セグメント識別子リストによって指示される転送パス上のネットワークデバイスは、ターゲットSIDに対応するネットワークデバイスが到達可能であるかどうかを能動的に決定することにより一次SIDリスト内のSIDの到達可能性を決定することができる。あるいは、ターゲットSIDがサービスに対応するとき、ターゲットSIDに対応するネットワークデバイスが、一次SIDリストの可用性を決定するためにサービスの可用性を決定することができる。
一次転送パス:前述の一次SIDリストによって指示される転送パスは、一次転送パスと呼ばれ、本転送パスは、代替として、ただ1つのネットワークノードを含むことができる。
二次転送パス:前述の二次SIDリストによって指示される転送パスは、二次転送パスと呼ばれ、本転送パスは、代替として、ただ1つのネットワークノードを含むことができる。
エンドツーエンド一次転送パス:一次セグメント識別子リストに対応する転送パスまたは二次SIDリスト以外のSIDリストに対応する転送パスは、エンドツーエンド一次転送パスと呼ばれ、本転送パスは、代替として、ただ1つのネットワークノードを含むことができる。
エンドツーエンド二次転送パス:SIDリストにおける一次SIDリストによって指示されるパス以外の転送パスは、エンドツーエンド二次転送パスと呼ばれ、本転送パスは、代替として、ただ1つのネットワークノードを含むことができる。
以下では、例を用いてSIDの定義を説明する。表1を参照されたい。SRv6で定義されるSIDは、3つの部分を含むことができ、3つの部分は、ロケータ(locator)部分、機能(function)部分、および引数(Argument)部分を含む。
ロケータ部分は、ネットワークアドレス指定を実施するために、パケットを、SIDに対応するネットワークデバイスまでルーティングするために使用される。ロケータ部分は、2つの重要な属性、すなわちルートおよび集約を有する。SID内のロケータ部分の長さは可変である。
機能部分は、命令を使用して実行されるべき動作を表すために使用され、コンピューティング命令のオペレーションコードに相当する。SRv6ネットワークでは、任意の処理動作が機能部分またはSID全体によって表され得る。随意に、SIDの機能部分は、命令を実行するネットワークデバイスによって割り当てられた乱数であり、命令を使用して実行されるべき特定の機能を含意しない。代わりに、SIDを使用して実行されるべき特定の機能は、乱数を使用して決定される。
引数部分は、命令実行に必要とされる引数、サービス、またはその他の関連情報である。例えば、パケットを断片化するための命令が定義され、引数部分はパケットの断片長を搬送する。SRv6 SIDの定義では、引数部分はまた任意である。換言すれば、SIDは引数部分を含まなくてもよい。
SR-MPLSでは、SIDはラベルとして処理され、ネットワークデバイスはまた、ラベルに基づいてパケットを転送するか、または対応するサービスを提供することができる。SR-MPLSはSRv6と同様であるので、詳細はここでは再度説明されない。
以下では、例を用いて本出願の適用シナリオを説明する。図1は、本出願の一実施形態による通信ネットワークの概略図である。図1に示される通信ネットワークでは、ネットワークデバイス1、2、3、4、5、6、7、および8は、同じ通信ネットワーク内に配置される。通信ネットワークは、SRv6ネットワーク、SR-MPLSネットワークなどとすることができる。ネットワークデバイス1は、ネットワークデバイス2およびネットワークデバイス6に接続される。ネットワークデバイス2は、サービスデバイス9およびネットワークデバイス3に接続される。ネットワークデバイス3は、ネットワークデバイス2およびネットワークデバイス4に接続される。ネットワークデバイス4は、ネットワークデバイス3およびネットワークデバイス5に接続される。ネットワークデバイス5は、ネットワークデバイス4およびネットワークデバイス8に接続される。ネットワークデバイス8は、ネットワークデバイス5およびネットワークデバイス7に接続される。ネットワークデバイス7は、ネットワークデバイス6およびネットワークデバイス8に接続される。ネットワークには、随意に、制御デバイスまたはパス計算要素があり、制御デバイスまたはパス計算要素は、すべてのネットワークデバイスに接続され得る。ネットワークデバイス1、2、3、4、5、6、7、および8は、ルータデバイスとすることができる、あるいはスイッチまたはSR機能を有するその他のデバイスとすることができる。デバイスの形態は、物理装置デバイスとすることができる、またはSR機能を有する仮想化デバイスとすることができる。ネットワークデバイス3は、SR機能をサポートするデバイスまたはSR機能をサポートしないデバイスとすることができる。換言すれば、SRネットワークでは、すべてのデバイスがSR機能をサポートする必要はなく、SR機能がサポートされていない場合、通常のルーティング機能またはスイッチング機能だけがサポートされる必要がある。これは、本出願では特に限定されない。
当業者なら、通信ネットワーク内にさらに多いまたはさらに少ないネットワークデバイスが存在し得ることを知ることができる。例えば、数十、数百、またはそれ以上のネットワークデバイスが存在し得る。本出願の実施形態では、ネットワークデバイスの数およびデバイスのタイプは限定されない。
SRネットワークでは、ネットワークデバイス1は、ネットワークの転送パスの先頭ノードとして構成されてもよく、ネットワークデバイス5は、転送パスの末尾ノードとして構成されてもよい。ネットワークデバイス1はSID 1を含み、ネットワークデバイス2はSID 2を含み、ネットワークデバイス4はSID 4を含み、ネットワークデバイス5はSID 5を含み、ネットワークデバイス6はSID 6を含み、ネットワークデバイス7はSID 7を含み、ネットワークデバイス8はSID 8を含む。これらのSIDは、転送ノード/パスに対応するSID、例えば、SID 4、SID 5、SID 6、SID 7、およびSID 8を含み、サービスに対応するSID、例えば、SID 2をさらに含む。ネットワークデバイス2は、SID 2を使用してパケットに対応するサービスを提供することができ、サービスはパケット圧縮などであり得る。ネットワークデバイス2は、パケットにサービス、例えば、トラフィッククリーニングまたはウィルスフィルタリングを提供するために、SID 2を使用してパケットをサービスデバイス9にさらに送信することができる。
ネットワークデバイス2がサービスデバイス9を使用して受信パケットにサービスを提供するとき、ネットワークデバイス2はパケットをサービスデバイス9に送信する。サービスデバイス9は、パケットを受信し、サービスデバイス9によって提供されたサービスに基づいてパケットを処理し、処理済みパケットをネットワークデバイス2に送信する。
例えば、サービスデバイス9がファイアウォールデバイスであり、ファイアウォールデバイス9によってパケットに提供されるサービスは、パケットに対してアンチアタックフィルタリングを行っているものとする。ネットワークデバイス2は、パケットをファイアウォールデバイス9に送信する。ファイアウォールデバイス9は、パケットに対してアンチアタックフィルタリングを実行し、次いで、フィルタリング済みパケットをネットワークデバイス2に送信する。
通信ネットワーク内の先頭ノード、すなわちネットワークデバイス1は、第1のパケットを直接生成し、ただし、第1のパケットは転送パスを指示するセグメント識別子リストを含む、次いで、通信ネットワークにおいて第1のパケットを送信することができる、ただし、第1のパケットは障害検出パケット、プローブパケット、または同様のパケットとすることができる。あるいは、別のデバイス、例えばカスタマエッジ(customer edge、CE)デバイスによって送信された第1のパケットを受信した後、ネットワークデバイス1は、セグメントルーティングネットワークにおいて第1のパケットの転送を案内するために、第1のパケットに対応する転送パスを決定した後でセグメント識別子リストを第1のパケット内に挿入する。図1に示されるネットワークがSRv6であるとき、ネットワークデバイス1は、新たなIPv6ヘッダおよび新たなSRHヘッダを第1のパケットに追加することができる。SRHはセグメント識別子リストを含み、IPv6ヘッダの宛先アドレス(destination address、DA)は、セグメント識別子リスト内の1番目のSID、すなわち、対応するSLが最大値を有するSIDである。
随意に、第1のパケットは複数のSRHを含む。換言すれば、ネットワークデバイス1は、複数のSRHを第1のパケットに追加し、各SRHは1つまたは複数のセグメント識別子リストを含む。一例が以下の通りである。
ネットワークデバイス1は、セグメント識別子リスト1、例えば(SID 2、SID 4、SID 5)、ただし、セグメント識別子リスト1によって指示される転送パスは、ネットワークデバイス2->ネットワークデバイス4->ネットワークデバイス5である、および、セグメント識別子リスト2、例えば(SID 6、SID 7、SID 8、SID 5)、ただし、セグメント識別子リスト2によって指示される転送パスは、ネットワークデバイス6->ネットワークデバイス7->ネットワークデバイス8->ネットワークデバイス5である、を取得することができる。ネットワークデバイス1は、セグメントルーティングネットワークにおけるパケットの転送を案内するために、セグメント識別子リスト1またはセグメント識別子リスト2を第1のパケット内に挿入することができる。
セグメント識別子リスト1またはセグメント識別子リスト2内の1つまたは複数のSIDが利用不可能であり得ることに留意されるべきである。SR関連技術では、SRネットワーク内のネットワークデバイスによりパケットを転送するプロセスにおいて、ネットワークデバイスによって送信されるべきパケットに対応する宛先SIDに対応するネットワークデバイスが到達不可能であると決定されると、宛先SIDの次のSIDが選択されてもよく、パケットは次のSIDに基づいて送信される。例えば、ネットワークデバイス1によって第1のパケット内に挿入されたセグメント識別子リストが(SID 2、SID 4、SID 5)であり、SID 2に対応するネットワークデバイス2が到達不可能であるとき、ネットワークデバイス1は、SIDリスト内の次のSID、すなわちSID 4に基づいて第1のパケットを送信することができる。しかしながら、到達不可能なSIDがSIDリスト内の最後のSIDであるとき、例えば、ネットワークデバイス4が第1のパケットをネットワークデバイス5に転送する必要があるとき、宛先SIDはSID 5である。しかしながら、セグメント識別子リスト内に次のSIDが存在しないので、ネットワークデバイス4は、新たなSIDを取得することができない。この場合、ベストエフォート転送のみが実行されることができる。その結果として、第1のパケットの転送が影響を受け、第1のパケットの伝送遅延が長くなることがあり、場合によっては、パケット転送が中断されるかまたはパケットが廃棄され、セグメントルーティングネットワークの信頼性が低下する。
具体的には、SRv6が一例として使用される。先頭ノードは、第1のパケットを受信し、第1のパケットにIPv6ヘッダおよびSRHを追加する。SRHはセグメント識別子リストおよびSL値を含み、セグメント識別子リストはn個のネットワークデバイスのSIDを含み、nは0より大きい整数である。n個のネットワークデバイスは、通信ネットワーク内の第1のパケットを伝送するために使用される転送パスが通過する先頭ノード以外のデバイスである、または先頭ノードを含むことができる。初期SL値はn-1に等しく、IPv6ヘッダのDAはセグメント識別子リスト内の1番目のSIDである。
先頭ノードは、DAに基づいて第1のパケットを処理する、例えば、パケットをDAに対応するネットワークデバイスに送信する。セグメント識別子リストによって指示される転送パスが通過する他のネットワークデバイス(第1のネットワークデバイスと呼ばれることがある)について、第1のネットワークデバイスは第2のパケットを受信する。第1のネットワークデバイスが転送パス上のラストホップデバイスでない場合、パケットを転送する前に、第1のネットワークデバイスは、パケット内にSL=SL-1を設定し、更新済みSL値に基づいてパケットのセグメント識別子リストからSIDを読み取り、次いで、SIDに基づいてパケットを送信する。第1のネットワークデバイスが転送パス上のラストホップデバイスであり、末尾ノードと呼ばれることもある場合、第1のネットワークデバイスは、セグメント識別子リストやSLなどのコンテンツを含む第2のパケットからSRHを除去し、ヘッダノードによって追加された新たなIPv6パケットヘッダを除去するか、または元の第1のパケットに基づいて元の宛先アドレスを取得し、宛先アドレスに基づいて第1のパケットを送信する。
第1のネットワークデバイスが転送パスの末尾ノードでないとき、第2のネットワークデバイスのSIDを取得した後、第1のネットワークデバイスは、第2のネットワークデバイスに障害があることを検出する。この場合、第1のネットワークデバイスは、引き続き第2のパケットにSL=SL-1を設定し、次いで、SLに基づいて、第2のパケットに含まれるセグメント識別子リストから第2のネットワークデバイスのネクストホップデバイス(第3のネットワークデバイスと呼ばれる)のSIDを読み取り、第3のネットワークデバイスのSIDに基づいて第2のパケットを送信することができる。このようにして、第2のネットワークデバイスはスキップされ得る。しかしながら、第2のネットワークデバイスが伝送パス上のラストホップデバイスである場合、第2のネットワークデバイスに障害があるとき、第2のパケット内のセグメント識別子リストは第3のネットワークデバイスのSIDを含まないので、第1のネットワークデバイスによる第2のパケットの送信の遅延は長く、場合によってはパケットが廃棄される。
上記では、SIDが利用不可能であるとき、転送パス上の前のホップデバイスは、パケットを送信するために利用不可能なSIDをスキップすることができる。しかしながら、利用不可能なSIDがサービスに対応するとき、これはサービスが提供されることを示し、利用不可能なSIDをスキップすることは、サービスをスキップすることを意味する。一部のサービスについては、サービスの重要性が高いことがある。第1のパケット内に利用不可能なSIDがあるときでも、サービスはスキップされるとは予想されない。あるいは、第1のパケットの複数のSIDのうちの最後のSIDが利用不可能であるとき、パケットに対応するサービスへの影響を回避するために、第1のパケットの長い伝送遅延やパケット損失などが可能な限り回避され得ることが可能であることが依然として予想される。
本出願は、技術的課題を解決するための手段を提供する。具体的には、先頭ノードが複数のセグメント識別子リストを取得する、ただし、複数のセグメント識別子リストは、一次SIDリストおよび少なくとも1つの二次SIDリストを含み、少なくとも1つの二次SIDリストは第1の二次SIDリストを含み、第1の二次SIDリストは一次SIDリストのバックアップである。本明細書における複数のセグメント識別子リストは、単に、複数のセグメント識別子を分割するために使用される。実際の応用では、複数のセグメント識別子は同じセグメント識別子リストに属することができ、一次セグメント識別子リストと二次セグメント識別子リストとの間に実際の区別はない。
第1の二次SIDリストが一次SIDリストのバックアップであるとは、第1の二次SIDリスト内のSIDに対応するサービスが一次SIDリスト内のSIDに対応するサービスのバックアップであること、または、第1の二次SIDリストによって指示される転送パスが一次SIDリストによって指示される転送パスのバックアップであること、を意味する。このようにして、一次SIDリスト内の1つまたは複数のSIDが利用不可能であるとき、第1の二次SIDリストに含まれるSIDに対応するサービスは、第1のパケットを処理し続けるために使用され得る。これは、図1に示されるシナリオに適用される。ネットワークデバイス1は、セグメント識別子リスト1とセグメント識別子リスト2の両方をパケットに追加することができ、セグメント識別子リストは(SID 2、SID 4、SID 6、SID 7、SID 8、SID 5)として記録され得る。セグメント識別子リストは、一次SIDリスト:(SID 2、SID 4)、第1の二次SIDリスト(SID 6、SID 7、SID 8)、および別のSIDリスト(SID 5)に論理的に分割され得る。この場合、一次SIDリストによって指示される一次転送パスは、ネットワークデバイス2->ネットワークデバイス4であり、第1の二次SIDリストに対応する二次転送パスは、ネットワークデバイス6->ネットワークデバイス7->ネットワークデバイス8であり、エンドツーエンド一次転送パスは、ネットワークデバイス2->ネットワークデバイス4->ネットワークデバイス5であり、エンドツーエンド二次転送パスは、ネットワークデバイス6->ネットワークデバイス7->ネットワークデバイス8->ネットワークデバイス5である。このようにして、一次SIDリストによって指示される一次転送パスに障害があるとき、パケットは、二次SIDリストによって指示される二次転送パスに基づいて送信され得る。上記では、ネットワークデバイス2およびネットワークデバイス4は、エンドツーエンド一次転送パス上の中間ノードと見なされることができ、ネットワークデバイス5は、エンドツーエンドの一次転送パス上の末尾ノードと見なされることができる。上記では、セグメント識別子リストがパケット内にカプセル化されるとき、一次SIDリストは二次SIDリストに隣接し、二次SIDリスト内の第1のSIDは、一次SIDリスト内の最後のSIDの後にある。一次SIDリストは二次SIDリストのプレシーケンスリストであると考えられることもできる。SRv6パケットにおいて、二次SIDリスト内の第1のSIDに対応するSL値は、一次SIDリスト内の最後のSIDに対応するSL値引く1に等しい。一次SIDリスト内のSIDが利用不可能であるときに第1の二次SIDリストに基づいてパケットを処理する詳細な実施プロセスは、図3に示される後続の実施形態において詳細に説明され、ここでは説明されない。
随意に、少なくとも1つの二次SIDリストは第2の二次SIDリストをさらに含み、第2の二次SIDリストは第1の二次SIDリストのバックアップであり、かつ/または、第2の二次SIDリストは一次SIDリストのバックアップである。
随意に、複数のSIDリストは、別の一次SIDリストおよび別の二次SIDリストをさらに含む。別の一次SIDリストは、別の二次SIDリストのプレシーケンスリストであり、別の一次SIDリストは、M個の二次SIDリストの後にあり、別の二次SIDリストは、別の一次SIDリストのバックアップである。
随意に、第1のパケットは、複数の一次SIDリストと、各一次SIDリストに対応する少なくとも1つの二次SIDリストと、を含むことができる。
例えば、図2は、本出願の一実施形態による別の通信ネットワークのアーキテクチャの概略図である。本ネットワークにおいて、ネットワークデバイス1は、ネットワークデバイス2、ネットワークデバイス4、およびネットワークデバイス6に接続され、ネットワークデバイス2は、ネットワークデバイス3およびネットワークデバイス1に接続され、ネットワークデバイス4は、ネットワークデバイス1およびネットワークデバイス5に接続され、ネットワークデバイス6は、ネットワークデバイス5およびネットワークデバイス7に接続され、ネットワークデバイス3は、ネットワークデバイス2およびネットワークデバイス8に接続され、ネットワークデバイス5は、ネットワークデバイス4およびネットワークデバイス8に接続され、ネットワークデバイス7は、ネットワークデバイス6およびネットワークデバイス8に接続され、ネットワークデバイス9は、ネットワークデバイス12およびネットワークデバイス8に接続され、ネットワークデバイス10は、ネットワークデバイス12およびネットワークデバイス8に接続され、ネットワークデバイス11は、ネットワークデバイス12およびネットワークデバイス8に接続される。ネットワークデバイス1によって生成される第1のパケット内のSIDリスト(SID 2、SID 3、SID 4、SID 5、SID 6、SID 7、SID 8、SID 9、SID 10、SID 11、SID 12)が図に示されてもよく、第1の一次SIDリスト(SID 2、SID 3)と、第1の二次SIDリスト(SID 4、SID 5)および第2の二次SIDリスト(SID 6、SID 7)を含む少なくとも1つの二次SIDリストであって、第1の二次SIDリストが第1の一次SIDリストのバックアップであり、第2の二次SIDリストが第1の一次SIDリストおよび/または第1の二次SIDリストのバックアップである、少なくとも1つの二次SIDリストと、別のSIDリスト(SID 8)と、第2の一次SIDリスト(SID 9)であって、第2の一次SIDリストに対応する少なくとも1つの二次SIDリストが第1の二次SIDリスト(SID 10)および第2の二次SIDリスト(SID 11)を含み、第1の二次SIDリスト(SID 10)が第2の一次SIDのバックアップであり、第2の二次SIDリストが第2の一次SIDリストおよび/または第1の二次SIDリスト(SID 10)のバックアップである、第2の一次SIDリスト(SID 9)と、別のSIDリスト(SID 12)と、に論理的に分割される。
一次SIDリスト内の一次SIDに対応するネットワークデバイス(説明を容易にするために一次ネットワークデバイスと称される)および第1の二次SIDリスト内の二次SIDリストに対応するネットワークデバイス(説明を容易にするために二次ネットワークデバイスと称される)は、同じネットワークデバイスまたは異なるネットワークデバイスであってもよい。一次ネットワークデバイス上の一次SIDに対応するサービスは、二次ネットワークデバイス上の二次SIDに対応するサービスと同じである。このようにして、二次SIDに対応するサービスは、一次SIDに対応するサービスのバックアップである。
図3を参照されたい。本出願の一実施形態は、パケット処理方法を提供する。本方法は、図1、図2、および図7~図11の実施形態のいずれか1つで提供される通信ネットワークに適用されることができ、以下のステップを含む。
S101:第1のネットワークデバイスが複数のSIDリストを取得する、ただし、複数のSIDリストは、一次SIDリストおよび少なくとも1つの二次SIDリストを含み、少なくとも1つの二次SIDリストは第1の二次SIDリストを含み、第1の二次SIDリストは一次SIDリストのバックアップである。
第1のネットワークデバイスは、SRネットワーク内にあり、対応するパケットを伝送するために使用される転送パス上の先頭ノードとすることができる。第1のネットワークデバイスは、パケットを送信する前に、またはネットワーク内の別のデバイスによって通知された対応するパスを受信した後で、複数のSIDリストを取得することができる。
第1のネットワークデバイスは、以下の第1の方法および第2の方法で複数のSIDリストを取得することができる。
第1の方法では、第1のネットワークデバイスは、制御デバイスによって送信されたメッセージを受信する、ただし、メッセージは複数のSIDリストを含み、複数のSIDリストは、一次SIDリストおよび少なくとも1つの二次SIDリストを含む。メッセージは、第1のネットワークデバイスに、複数のSIDリストに基づいて、第1のネットワークデバイスによって受信されたパケットを処理するよう指示するために使用される。
第1の方法では、メッセージは、ネットワークデバイスによって宛先アドレスに到達するよう要求された転送パス(すなわち、セグメント識別子リスト)に基づいて、制御デバイスによって第1のネットワークデバイスに送信される応答メッセージであってもよく、または、制御デバイスが予め構成された情報に基づいてセグメント識別子リストを取得した後で、制御デバイスにより第1のネットワークデバイスに送信されてもよい。制御デバイスは、宛先アドレスおよびセグメントルーティングネットワークのトポロジー構造に基づいて、サービスを伝送するために使用される転送パスを決定し、転送パス上のN個のSIDを決定し、N個のSIDを一次SIDリストとして決定することができる、ただし、Nは0より大きい整数である。
一次SIDリストについて、制御デバイスは、一次SIDリストに対応する少なくとも1つの二次SIDリストを決定する。一次SIDリストおよび少なくとも1つの二次SIDリストは、コントローラによって計算され得る、または管理者によって制御デバイス上で予め構成され得る。対応する転送パスに対応する複数のSIDリスト(一次SIDリストおよび二次SIDリストを含む)を決定した後、制御デバイスは、情報を第1のネットワークデバイスに送信する。情報は、制御デバイスにより第1のネットワークデバイスに1回に送信され得る、または第1のネットワークデバイスに複数回に送信され得る。
例えば、図1を参照されたい。制御デバイスは、ソースIPアドレスおよび宛先IPアドレスを取得し、ソースIPアドレスおよび宛先IPアドレスに基づいて、パケットを送信するために使用される転送パスを決定する。転送パスが通過するSIDは、ネットワークデバイス1のSID 1、ネットワークデバイス2のSID 2、ネットワークデバイス4のSID 4、およびネットワークデバイス5のSID 5を含む。管理者は、保護されるべき転送パスをこれらのSID(SID 2、SID 4)に設定しているものとする。この場合、コントローラは、一次SIDリストに対応する二次SIDリストを取得する、ただし、二次SIDリストは(SID 6、SID 7、SID 8)であり、制御デバイスは、情報をネットワークデバイス1に送信することができる。
制御デバイスは、セグメントルーティングネットワーク内のすべてのネットワークデバイスのSIDを保存することができる。セグメントルーティングネットワーク内のネットワークデバイスは、ネットワークデバイスの少なくとも1つのSIDを制御デバイスに通知することができ、ネットワークデバイスのものであり、制御デバイスによって構成されたSIDを受信することもできる。
随意に、ネットワークデバイスは、以下の方法1~方法3でSIDを制御デバイスに通知する。方法1~方法3はそれぞれ以下の通りである。
方法1:ネットワークデバイスは、通知パケットを制御デバイスに送信する、ただし、通知パケットは、ネットワークデバイスの少なくとも1つのSIDを搬送する。
通知パケットは、境界ゲートウェイプロトコル(border gateway protocol、BGP)パケット、境界ゲートウェイプロトコルイーサネット仮想プライベートネットワーク(border gateway protocol ethernet virtual private network、BGP EVPN)パケット、または内部ゲートウェイプロトコル(interior gateway protocol、IGP)パケットとすることができる。これは、本出願では特に限定されない。
随意に、ネットワークデバイスの少なくとも1つのSIDは、通知パケットのタイプ・長さ・値(type length value、TLV)で搬送される。TLVは、符号化フォーマットであり、タイプ(type)フィールド、長さ(length)フィールド、および値(value)フィールドの3つのタイプの情報を使用して主に定義される。TLVのフォーマットの概略図が図5に示される。図中のタイプフィールドは、TLVのタイプを識別し、タイプフィールドの値は、TLVがSIDを告知するために使用されるTLVであることを識別することができ、タイプフィールドの値は、SIDを告知するために新たに適用されるタイプとすることができ、例えば、90とすることができる。長さフィールドの値は、TLVの長さを識別する。値フィールドは、ネットワークデバイスの少なくとも1つのSIDを搬送するために使用される。
方法2:ネットワークデバイスは、BGPリンク状態(border gateway protocol-link state、BGP-LS)を使用して、ネットワークデバイスの少なくとも1つのSIDを制御デバイスに通知することができる。
方法3:ネットワークデバイスは、パス計算要素通信プロトコル(path computation element communication protocol、PCEP)を使用して、ネットワークデバイスの少なくとも1つのSIDを制御デバイスに通知することができる。
随意に、制御デバイスは、コントローラまたはパス計算要素(path computation element、PCE)であり、パス計算ユニットと呼ばれることもある。
随意に、制御デバイスによって第1のネットワークデバイスに送信されるメッセージは、パケット機能および/またはルーティング機能をさらに含む。例えば、メッセージは宛先IPアドレスをさらに含み、宛先IPアドレスはルーティング機能と見なされ得る。パケット機能は、パケットの優先度などの情報とすることができる。メッセージは、第1のネットワークデバイスに、複数のSIDリストに基づいて、パケット機能またはルーティング機能に適合するパケットを処理するよう指示するためにさらに使用される。例えば、パケット機能またはルーティング機能に適合するパケットを受信した後、第1のネットワークデバイスは、複数のセグメント識別子リストをパケットに追加する。
随意に、メッセージは位置指示情報をさらに搬送し、位置指示情報は、複数のSIDリストにおける一次SIDリストの位置、複数のSIDリストにおける第1の二次SIDリストの位置、および複数のSIDにおける少なくとも1つの二次SIDリストの位置、のうちの1つまたは複数を指示するために使用される。
位置指示情報は、前述の情報を複数の方法で、例えば、複数のSIDにおける一次SIDリストの最後のSIDの位置、複数のSIDにおける第1の二次SIDリストの1番目のSIDの位置、または複数のSIDにおける一次SIDリスト内の1番目のSIDの位置と、一次SIDリスト内のSIDの数と、少なくとも1つの二次SIDリスト内のSIDの数と、を指示することができる。このようにして、ネットワークデバイスは、情報に基づいて、一次SIDリストの位置、第1の二次SIDリストの位置、または少なくとも1つの二次SIDリストの位置を決定することができる。一般に、ネットワークデバイスが位置を決定するとき、ネットワークデバイスは、一次SIDリストの最後のSIDの位置、第1の二次SIDリストの1番目のSIDの位置、および少なくとも1つの二次SIDリストの最後のSIDの位置を主に決定する。情報は、同じメッセージを使用して制御デバイスによって第1のネットワークデバイスに送信され得る、または異なるメッセージを使用して制御デバイスによって送信され得る。制御デバイスが複数のメッセージを使用して情報を第1のネットワークデバイスに送信するとき、制御デバイスは、情報の関連情報を第1のネットワークデバイスにさらに送信し、関連情報を使用してコンテンツを関連付ける。
情報を受信した後、第1のネットワークデバイスは、第1のパケットを生成するときに、SRv6規則またはMPLS規則に従って複数のセグメント識別子リストを組み立てることができる。
第2の方法では、第1のネットワークデバイスは、複数のSIDリストを取得するために転送パスを自動的に計算することができる。
例えば、本方法は、図1に示されるネットワークに適用される。ネットワークデバイス5がネットワークデバイス1にルートを通知するとき、ネットワークデバイス1は、ルートを受信した後で転送パスを自動的に計算することができる。
S102:第1のネットワークデバイスは第1のパケットを生成する、ただし、第1のパケットは複数のSIDリストを含み、複数のSIDリストは一次SIDリストおよび少なくとも1つの二次SIDリストを含み、少なくとも1つの二次SIDリストは第1の二次SIDリストを含み、第1の二次SIDリストは一次SIDリストのバックアップである。
随意に、第1のネットワークデバイスは第1のパケットを直接生成することができる。例えば、第1のネットワークデバイスは障害検出パケットを生成する。
随意に、第1のネットワークデバイスは、第2のパケットを受信し、第2のパケットに基づいて第1のパケットを生成する。
第1のネットワークデバイスは、第2のパケットを受信し、第1のパケットを取得するためにパケットヘッダを第2のパケットに追加する、ただし、パケットヘッダは複数のSIDリストを含む。この場合、第2のパケットは、第1のパケットのペイロード(payload)とすることができる。
一例では、SRv6ネットワークにおいて、第1のネットワークデバイスは、第1のパケットを取得するためにSRHを第2のパケットに追加する。図6に示されるSRHフォーマットを参照されたい。SRHは、セグメント識別子リストやSLなどの情報を含み、セグメント識別子リストは、複数のSIDリストを含み、複数のSIDリスト内のSIDは、Segment List[n]~Segment List[0]で別々に搬送される。あるいは、第1のネットワークデバイスは、複数のSRHを第2のパケットに追加し、各SRHはセグメント識別子リストを含む。例えば、一次SIDリストが1番目のSRH内に配置され、二次SIDリストが2番目のSRH内に配置される。各SRHのフォーマットが図6に示されている。
随意に、第1のネットワークデバイスは、新たなIPv6パケットヘッダを第1のパケットに追加し、新たなIPv6パケット内のDAはセグメント識別子内の第1のSIDである。
随意に、第1のネットワークデバイスは、パケットの元のIPv6パケットヘッダ内のDAをセグメント識別子リスト内の第1のSIDに変更することができる。
別の例では、SR-MPLSネットワークにおいて、第1のネットワークデバイスは、第1のパケットを取得するために、MPLSパケットヘッダを第2のパケットに追加する。MPLSパケットヘッダはラベルスタックを含み、ラベルスタックは複数のSIDリストを含む。
随意に、第1のパケットは位置指示情報を含む。位置指示情報は、複数のSIDにおける一次SIDリストの位置、複数のSIDリストにおける第1の二次SIDリストの位置、および複数のSIDにおける少なくとも1つの二次SIDリストの位置、のうちの1つまたは複数を指示するために使用される。
位置情報の詳細な説明については、制御デバイスにより制御メッセージをネットワークデバイスに送信する前述の説明を参照されたい。本出願において、詳細はここでは再度説明されない。
第1のネットワークデバイスは、制御デバイスによって送信された受信済み位置指示情報を第1のパケットに直接カプセル化してもよい、または第1のネットワークデバイスによるSRHヘッダのカプセル化に基づいて位置指示情報を決定し、次いで、位置指示情報を第1のパケットにカプセル化してもよい。
第1のパケットをカプセル化するとき、第1のネットワークデバイスは、位置情報をパケットにカプセル化する。本情報は、複数のSIDリストによって指示される転送パス上のネットワークデバイスに、一次SIDリストの位置、第1の二次SIDリストの位置、または少なくとも1つの二次SIDリストの位置を決定するよう指示するために使用され得る。主な目的は以下の通りである。
1.ネットワークデバイスが、一次SIDリスト内の任意のSIDに対応する転送パスまたはサービスが利用不可能であると決定すると、第1の二次SIDリスト内の1番目のSID(後続の説明を簡潔にするために、後に第1の二次SIDと称される)を取得した後、ネットワークデバイスは、一次SIDリスト内の実行されていないSIDをスキップし、第1の二次SIDを使用してパケットを転送するか、もしくはパケットに対応するサービスを提供し、第1の二次SIDリストに基づいてパケットを転送する。2.一次SIDリスト内の最後のSIDに対応するサービスまたはネットワークデバイスが利用可能であり、SIDに対応する機能が首尾よく実行されることができるとき、ネットワークデバイスは、少なくとも1つの二次SIDリスト内のSIDをスキップして、複数のSIDリストにおける少なくとも1つの二次SIDリストの後のSIDを取得し、パケットを転送するか、もしくはSIDに基づいてパケットに対して対応するサービスを提供することができる。3.一次SIDリスト内の最後のSIDがエンドツーエンド一次転送パス上の最後のSIDであるとき、すなわち、SIDに対応するネットワークデバイスがエンドツーエンド一次転送パス上の末尾ノードであるとき、SIDに対応するサービスまたはネットワークデバイスが利用可能であり、SIDに対応する機能が首尾よく実行されることができるとき、ネットワークデバイスは、少なくとも1つの二次SIDリスト内のSIDをスキップし、パケットを転送することができる。
いくつかのシナリオでは、例えば、一次SIDリストがただ1つのSIDを含み、少なくとも1つの二次SIDリストが第1の二次SIDリストのみを含むとき、位置指示情報は、一次SIDリスト内のSIDのみとすることができる。SIDが利用不可能であるとき、ネットワークデバイスは、関連技術における方法を使用して次のSID、すなわち第1の二次SIDにおけるSIDを取得し、SIDに基づいて転送を実行するか、または対応するサービスを提供することができる。SIDが利用可能であるとき、SIDが障害なしに実行されることができる後、第1の二次SIDリストは、複数のSIDリストにおける第1の二次SIDリストの後の1番目のSIDを取得するために、SIDに基づいてスキップされることができ、パケットは、第1の二次SIDリストの後の1番目のSIDに基づいて処理される。第1の二次SIDリストが複数のSIDリストのうちの最後のリストであるとき、一次SIDリスト内のSIDは特別なSIDとすることができ、SIDは、SIDに対応するネットワークデバイスにSRHヘッダを除去するよう指示する機能を有する。この場合、複数のSIDリスト内に別のSIDが存在するかどうかをさらに決定したり、一次SIDリストおよび二次SIDリストの位置を決定したりする必要はない。代わりに、SRHヘッダが直接除去され、次いで複数のSIDリストが除去される。
随意に、位置指示情報は、一次SIDリスト内の最後のSIDおよび/または一次SIDリスト内の実行されていないSIDのうちの1番目のSIDを含む。
以下において、ネットワークデバイスは、以下の複数の方法でSIDに基づいて第1の二次SIDを決定する。
1.ネットワークデバイスは、SIDの識別子と第1の二次SIDとの間の対応関係またはSIDに基づくSIDの識別子と第1の二次SIDとの間の位置差を求めてネットワークデバイスを検索することができる。位置差は、一次SIDリスト内のSIDの後のSIDの数として理解され得る、または第1の二次SIDのSL値とSIDのSL値との間の差として理解され得る。第1の二次SIDは、位置差に基づいて取得される。
2.SIDは、ネットワークデバイスが位置差情報に基づいて第1の二次SIDを取得できるように、位置差情報を直接搬送する。一例では、位置差情報は、SIDの引数部分で搬送され得る、または確かに、SIDの別の部分で搬送され得る。これは、本出願では特に限定されない。SRv6の例では、一次SIDリスト内の最後のSIDの値はA2::1:1とすることができる、ただし、A2はlocatorであり、::1はEnd.xに対応するfunctionであり、:1はArguであり、SL-2が必要とされることを示す。このようにして、SIDに対応するネットワークデバイスは、SL-2を使用して二次SIDを正確にスキップすることができる。
随意に、位置指示情報はまた、少なくとも1つの二次SIDリスト内のSIDを含むこともできる。
ネットワークデバイスは、少なくとも1つの二次SIDリスト内のSIDに基づいて、少なくとも1つの二次SIDリストの後のSIDを取得することができる、または、第1の二次SIDリスト内のSIDに基づいて、第1の二次SIDリストにバックアップを提供するバックアップ二次SIDリストの1番目のSIDを決定することができる。ネットワークデバイスが少なくとも1つの二次SIDリスト内のSIDに基づいて関連するSIDを取得する方法は、ネットワークデバイスが一次SIDリスト内のSIDに基づいて第1の二次SIDを取得する方法と同様である。詳細はここでは再度説明されない。
随意に、位置情報は、代替として、第1のパケットのSRHのメタデータ内にあってもよい。メタデータのフォーマットは、図5にTLVとして示されることができる。図中のタイプフィールドは、TLVのタイプを識別し、タイプフィールドの値は、TLVが位置指示情報を搬送するために使用されるTLVであることを識別することができ、タイプフィールドの値は、位置指示情報に新たに適用されるタイプとすることができ、例えば、91とすることができる。長さフィールドの値は、TLVの長さを識別する。値フィールドは、第1の二次SIDにおける第1のSIDの位置および/または少なくとも1つの二次SIDリストにおける最後のSIDの位置および/または少なくとも1つの二次SIDリストの後のSIDの位置を指示するために使用され得る。
一例では、メタデータの値がm5b3であることは、一次SIDリスト内の最後のSIDに対応するSLの値が5であり、少なくとも1つの二次SIDリスト内の最後のSIDに対応するSLの値が3であることを理解されたい。本明細書では、mは一次転送パスの略称であり、bは二次転送パスの略称である。あるいは、異なるビットが異なる転送パスに対応することをメタデータで定義するなどの別の方法が使用されてもよい。位置指示情報をメタデータ内で搬送する方法は、本出願では限定されない。
本出願のこの実施形態では、位置指示情報は、代替として、前述の2つまたは3つを組み合わせたものとすることができる。具体的には、決定される必要がある位置情報は、少なくとも1つの二次SIDリストの後の対応する第1の二次SIDまたは1番目のSIDを取得するために、一次SIDリスト内のメタデータ+末尾SIDの方式、第1の二次SIDリスト内のメタデータ+SIDの方式、またはその他の可変方式で指示され得る。
随意に、第1のパケット内の少なくとも1つの二次SIDリストは第2の二次SIDリストをさらに含み、第2の二次SIDリストは第1の二次SIDリストのバックアップであり、かつ/または、第2の二次SIDリストは一次SIDリストのバックアップである。
S103:第1のネットワークデバイスは、第1のパケットを第2のネットワークデバイスに送信する。
複数のセグメント識別子リスト内の第1のSIDが第2のネットワークデバイスのSIDであるとき、第1のネットワークデバイスは、SIDに基づいて第1のパケットを第2のネットワークデバイスに送信する。
第1のSIDが第1のネットワークデバイスのSIDであり、第1のSIDがセグメント識別子リストに対応する一次転送パス上の最後のSIDでないとき、第1のネットワークデバイスは、第1のSIDが利用可能であると決定されることに基づいて、第1のパケットに対して第1のSIDに対応するサービスを提供する。加えて、第1のネットワークデバイスは、第1のSIDの次のSIDを取得し、次のSIDに基づいて第1のパケットを第2のネットワークデバイスに送信する。
SRv6ネットワークにおいて、第1のネットワークデバイスは、SL値引く1に対応するSIDを取得し、第1のパケットの宛先アドレスフィールド内で搬送されるコンテンツをSIDに設定し、SIDに基づいて第1のパケットを送信する。
通信ネットワークがSR-MPLSネットワークであるとき、第1のパケットのラベルスタックの最上部にあるSIDを取り出した後、第1のネットワークデバイスは、スタックの最上部にある新たなSIDに基づいて第1のパケットを送信する。
上記では、SRv6ネットワーク内のパケットヘッダ内のDAに対応するSIDおよびSR-MPLSネットワーク内のラベルスタックの最上部にあるSIDは、それぞれ、第1の宛先SIDと呼ばれることがある。第1の宛先SIDは、一次SIDリスト内のSIDであってもよい、または一次SIDリスト内のSIDでなくてもよい。
このステップでは、第1の宛先SIDが一次SIDリスト内のSIDであるとき、第1のネットワークデバイスは、第1のパケットを送信する前に第1の宛先SIDをターゲットSIDと見なす。第1の宛先SIDが利用可能であるかどうかが決定される。第1の宛先SIDが利用可能であることは、第1の宛先SIDに対応するサービスが利用可能であること、または第1の宛先SIDが到達可能であること、を含む。
第1の宛先SIDが第1のネットワークデバイスに属するとき、すなわち、第1の宛先SIDが第1のネットワークデバイスのSIDであり、第1の宛先SIDがサービスに対応するとき、第1の宛先SIDに対応するサービスが利用不可能であることは、第1のネットワークデバイスが、サービスによって必要とされるリソースが提供されることができないか、または第1のネットワークデバイスがサービスによって必要とされる機能を提供することができないと決定すること、を含む。そうでなければ、第1の宛先SIDに対応するサービスが利用可能であると考えられる。換言すれば、第1のネットワークデバイスは、障害なしに第1の宛先SIDを実行することができる。
第1の宛先SIDが到達不可能であることは、第1の宛先SIDが宛先アドレスとして使用されるときに、第1のネットワークデバイスは、宛先アドレスへのルートが到達不可能であるか、または第1のネットワークデバイスと宛先アドレスとの間の任意のネットワークデバイスもしくはリンクに障害があると決定すること、を含む。
第1の宛先SIDが利用可能であるとき、第1のネットワークデバイスは、第1の宛先SIDに基づいて第1のパケットを送信することができる、すなわち、第1のパケットを送信するために第1の宛先SIDを宛先アドレスとして使用することができる。
例えば、図4は、本出願の方法の実施形態が図1に示されるネットワークシナリオに適用される具体例を示す。SID 2が利用可能であると決定すると、第1のネットワークデバイスは、第1のパケットの宛先アドレス(DA)フィールド内のコンテンツをSID 2に設定し、第1のパケットをSID 2に対応するネットワークデバイス2に送信する。
SRネットワーク内のネットワークデバイスは、第1のパケット内の宛先アドレスに対応するSIDに基づいて、または第1のSIDの可用性に基づいてパケットを処理するようにデフォルトで構成され得る。換言すれば、この場合、ネットワークデバイスは、これらのSIDが一次SIDリスト内にあるかどうかを決定する必要はない。
例えば、図4を参照されたい。SID 2が利用可能であると決定すると、ネットワークデバイス1は、SID 2を宛先アドレスとして使用して第1のパケットをネットワークデバイス2に送信するものとする。パケットのパケットヘッダは、簡単に
と示されることができ、パケットのパケットヘッダ内のセグメント識別子リストが(SID 2、SID 4、SID 6、SID 7、SID 8、SID 5)であり、一次SIDリストが(SID 2、SID 4)であり、二次SIDリストが(SID 6、SID 7、SID 8)であり、別のSIDリストが(SID 5)である。一次SIDリストによって指示される一次転送パスは、ネットワークデバイス2->ネットワークデバイス4であると考えられることができる。ネットワークトポロジーから、一次転送パスはネットワークデバイス3をさらに通過することが知られることができる。換言すれば、一次転送パスは、ネットワークデバイス2->ネットワークデバイス3->ネットワークデバイス4として理解されることもできる。二次SIDリストによって指示される一次転送パスは、ネットワークデバイス6->ネットワークデバイス7->ネットワークデバイス8である。エンドツーエンド転送パスは、ネットワークデバイス1->ネットワークデバイス2->ネットワークデバイス4->ネットワークデバイス5またはネットワークデバイス1->ネットワークデバイス2->ネットワークデバイス3->ネットワークデバイス4->ネットワークデバイス5である。ネットワークデバイス2は、第1のパケットを受信する。この場合、第1のパケット内のSL値は5である。
ターゲットSIDが利用可能であるかどうかを決定すると、第1のネットワークデバイスは、一次SIDリスト内の1または複数のSIDをターゲットSIDとして使用することができる。このシナリオでは、ネットワークデバイスは、セグメント識別子リスト内のどのSIDが一次SIDリスト内のSIDであり、どのSIDが二次SIDリスト内のSIDであるかを事前に知る必要がある。
例えば、図4において、ネットワークデバイス1はまた、SID 4をターゲットSIDとして使用し、SID 2とSID 4の両方が到達可能であるまたはSID 4のみが到達可能であると決定した後でSID 2に基づいて第1のパケットをネットワークデバイス2に送信することができる。
第1の宛先SIDが一次SIDリスト内のSIDであり、第1の宛先SIDが利用不可能である場合については、S104での説明を参照されたい。詳細はここでは説明されない。
S104:第2のネットワークデバイスは、第1のパケットを受信し、ターゲットSIDが利用可能であるかどうかに基づいて第1のパケットを処理する。
ターゲットSIDは、第2のネットワークデバイスが第1のパケットを受信したときに、パケット内の一次セグメント識別子リスト内の1つまたは複数のSIDであり得る。
第2のネットワークデバイスが、ターゲットSIDが利用可能であるかどうかに基づいて第1のパケットを処理することは、以下の複数の異なる解決策を含む。
解決策1:
第2のネットワークデバイスが、複数のSIDリストによって指示される転送パス上の一次SIDリスト内の実行されていないSIDの上流側デバイスであるとき、第2のネットワークデバイスは、第1のパケットを受信し、第1のパケット内の複数のSIDから第2の宛先SIDを取得する、ただし、第2の宛先SIDは、一次SIDリスト内の1番目のSIDである。上流側デバイスは、複数のSIDリストによって指示されるエンドツーエンドの一次転送パス上の中間ノードもしくは先頭ノード、または一次転送パスが通過するネットワークデバイスを含む。
ターゲットSIDは、第2の宛先SIDを含むことができ、一次SIDリスト内の別のSIDをさらに含むことができる。ターゲットSIDが利用可能であるとき、第2のネットワークデバイスは、第2の宛先SIDに基づいて第1のパケットを第3のネットワークデバイスに送信する、ただし、第3のネットワークデバイスは、第2の宛先SIDに対応するネットワークデバイスである。
以下では、図4を参照して、一次SIDリストの上流側デバイスの概念について説明する。図4に示されるように、ネットワーク内の一次SIDリストは(SID 2、SID 4)である。ネットワークデバイス2が第1のパケットを受信するとき、SID 2およびSID 4は実行されていないSIDである。この場合、第1のネットワークデバイスは、実行されていないSID(SID 2およびSID 4)に対応する上流側デバイスと見なされ得る。ネットワークデバイス4が第1のパケットを受信するとき、SID 4は実行されていないSIDであり、第2のネットワークデバイスおよび第3のネットワークデバイスは、実行されていないSID(SID 4)の上流側デバイスと見なされ得る。
一例では、通信ネットワークはSRv6ネットワークである。第1のパケットの宛先アドレスに対応するデバイスが第2のネットワークデバイスであるとき、第2のネットワークデバイスは、第1のパケットの宛先アドレスに基づいて、第1のパケットに対して宛先アドレスのSIDに対応するサービスを提供する。SIDが転送案内機能を含むSID、例えばノードSIDまたはリンクSIDであるとき、第2のネットワークデバイスは、第1のパケットを受信した後、SL=SL-1に基づいて、セグメントリストからSL値に対応するSIDを第2の宛先SIDとして読み取り、第2の宛先SIDを第1のパケットの宛先アドレスとして使用し、宛先アドレスに基づいて第1のパケットを送信する。
別の例では、通信ネットワークはSRv6ネットワークである。第1のパケットの宛先アドレスに対応するネットワークデバイスが第3のネットワークデバイスであり、図4に示されるネットワークデバイス3がパケットを受信するとき、パケットの宛先アドレスはSID 4である。この場合、ネットワークデバイス3は、SID 4が到達可能であるかどうかに基づいて第1のパケットを処理することができる。SID 4が到達可能である場合、ネットワークデバイス3は、SID 4に基づいて第1のパケットを送信する。SID 4が到達不可能である場合、ネットワークデバイス3は、SL引く1に対応するSIDを取得し、SIDを宛先アドレスとして使用して第1のパケットをネットワークデバイス6に送信することができる。この場合、ネットワークデバイス3は、SRをサポートするデバイスである必要がある。
通信ネットワークがSR-MPLSネットワークであるとき、第2のネットワークデバイスによって受信された第1のパケットはラベルスタックを含む。この場合、ラベルスタックの最上部にあるSIDは、第2のネットワークデバイスのSIDである。第2のネットワークデバイスは、ラベルスタックの最上部にあるSIDを取り出し、SIDに基づいて第1のパケットに対してSIDに対応するサービスを提供し、現在スタックの最上部にあるSIDを第2の宛先SIDとして使用する。
随意に、第2のネットワークデバイスが、ターゲットSIDが利用可能であるかどうかを決定する前に、第2のネットワークデバイスは、管理インタフェースを介して制御デバイス、管理デバイス、または管理者によって送信された構成命令を受信し、構成命令に基づいて、ターゲットSIDが利用可能であるかどうかを決定することにより第1のパケットを処理する動作を実行する。本明細書での構成命令は、ネットワークデバイスのものであり、本出願のこの実施形態に対応する機能のスイッチを管理者がオンしたときに管理者によって配信される構成であり得る。本明細書では、構成命令はまた、セグメントルーティングネットワーク上の他のすべてのデバイスに送信され得る。これは本出願では限定されない。
随意に、第2のネットワークデバイスが一次SIDリストの上流側デバイスであるとき、第2のネットワークデバイスにより、第2の宛先SIDが利用可能であるかどうかに基づいて第1のパケットを処理する動作は、S1041~S1043における以下の動作を含む。
S1041:第2のネットワークデバイスは、ターゲットSIDが利用可能であるかどうかを決定する。
このステップでは、第2のネットワークデバイスは、ターゲットSID、すなわち第2の宛先SIDが第2のネットワークデバイスにとって到達可能であるかどうかを決定し、第2の宛先SIDが第2のネットワークデバイスにとって到達可能であるとき、第2の宛先SIDが利用可能であると決定する、または、第2の宛先SIDが第2のネットワークデバイスにとって到達不可能であるとき、第2の宛先SIDが利用不可能であると決定する。
第2の宛先SIDが第2のネットワークデバイスにとって到達不可能であることは、第2の宛先SIDが宛先アドレスとして使用されるときに、第2のネットワークデバイスは、宛先アドレスへのルートが到達不可能である、または第2のネットワークデバイスと宛先アドレスとの間の任意のネットワークデバイスもしくはリンクに障害があると決定すること、を含む。
第2の宛先SIDはネットワークデバイスに対応し、ネットワークデバイスは、説明を容易にするために第3のネットワークデバイスと称される。第2のネットワークデバイスから宛先アドレスへのルートが到達不可能であることは、第2のネットワークデバイスから第3のネットワークデバイスへのルートが到達不可能であることを意味する。あるいは、第2のネットワークデバイスと宛先アドレスとの間の任意のネットワークデバイスまたはリンクに障害があることは、第2のネットワークデバイスと第3のネットワークデバイスとの間のリンクが通過する任意のネットワークデバイスに障害がある、またはリンクが通過するネットワークデバイスのうちの任意の2つに障害があることを意味する。
随意に、第2のネットワークデバイスのローカルアウトバウンドインタフェース状態またはリンク状態を使用することにより、第2のネットワークデバイスは、第2のネットワークデバイスと第3のネットワークデバイスとの間のリンクが通過する任意のネットワークデバイスに障害があるかどうか、またはリンクが通過するネットワークデバイスのうちの任意の2つの間のリンクに障害があるかどうかを認識する。あるいは、検出プロトコルを使用することにより、第2のネットワークデバイスは、第2のネットワークデバイスと第3のネットワークデバイスとの間のリンクが通過する任意のネットワークデバイスに障害があるかどうか、またはリンクが通過するネットワークデバイスのうちの任意の2つの間のリンクに障害があるかどうかを認識する。検出プロトコルは、双方向転送検出(bidirectional forwarding detection、BFD)プロトコルとすることができる。
随意に、S1042において、第2のネットワークデバイスは、第2の宛先SIDが利用可能であることに基づいて、第2の宛先SIDを宛先アドレスとして使用して第1のパケットを送信する。
換言すれば、第2のネットワークデバイスは、第1のパケットを第2の宛先SIDに対応する第3のネットワークデバイスに送信する。
通信ネットワークがSRv6ネットワークであるとき、第1のパケットの宛先アドレス(DA)フィールド内のコンテンツは第2の宛先SIDに設定され、第1のパケットは第3のネットワークデバイスに送信される。通信ネットワークがSR-MPLSネットワークであるとき、第1のパケットは、第2の宛先SIDに基づいて第3のネットワークデバイスに送信される。
随意に、S1043において、ターゲットSIDが利用不可能であると決定すると、第2のネットワークデバイスは、第1の二次SIDリスト内の1番目のSIDを取得し、第1の二次SIDリスト内の1番目のSID(第1の二次SID)に基づいて第1のパケットを処理する。
第2のネットワークデバイスが第1の二次SIDリスト内の1番目のSIDに基づいて第1のパケットを処理する方法は、SIDに基づいて第1のパケットを第4のネットワークデバイスに送信するステップを含む。
第2のネットワークデバイスにより第1の二次SIDを取得する方法に関する詳細については、S102での説明を参照されたい。詳細はここでは再度説明されず、説明は、単に一例を用いて提供される。
一例では、通信ネットワークがSRv6ネットワークであるとき、第2のネットワークデバイスにより、一次SIDリスト内の実行されていないSIDをスキップし、第1の二次SIDリストに基づいて第1のパケットを処理する動作の実施プロセスは以下の通りである。
図4を参照されたい。第2の宛先SIDはSID 2である。ネットワークデバイス1が、SID 2が利用不可能であると決定すると、第1のパケット内の一次SIDリストはSID 2およびSID 4を含み、一次SIDリストに対応する第1の二次SIDリストはSID 6、SID 7、およびSID 8を含む。第1のパケットは位置指示情報を含む。位置指示情報は、一次SIDリストに含まれるSIDの数2と一次SIDリスト内の先頭SIDの位置の位置情報とを含むものとする。例えば、先頭SIDの位置は、SL値5に対応する。このようにして、第2のネットワークデバイスは、位置指示情報に基づいて一次SIDリストの位置を決定し、すなわち、SIDリスト内の最後のSIDの位置がSL=5-2=3であると決定し、SL=3に基づいて第1のパケットから、SL=3に対応する第1の二次SIDがSID 6であることを知り、SID 6を宛先アドレスとして使用して第1のパケットをネットワークデバイス6に送信する。ネットワークデバイス6に送信される第1のパケットのパケットヘッダは、簡単に
と示されることができる。
通信ネットワークがSR-MPLSネットワークであるとき、第2のネットワークデバイスにより、一次SIDリスト内の実行されていないSIDをスキップし、第1の二次SIDリストに基づいて第1のパケットを処理する動作の実施プロセスは以下の通りである。
第1のパケット内のラベルスタックの最上部は、一次SIDリスト内の1番目の実行されていないSIDを含み、x+1個のSIDがラベルスタックから連続的に取り出される、ただし、xは、一次SIDリスト内の実行されていないSIDの数である。この場合、スタックの最上部にある新たなSIDは、一次SIDリストの後の第1の二次SIDリスト内の先頭SIDであり、第1のパケットは、先頭SIDに基づいて処理される。例えば、先頭SIDは、第1のパケットを転送するための宛先アドレスとして使用される。
別の例では、一次SIDリストはただ1つのSIDを含む、または、一次SIDリスト内の実行されていないSIDは最後のSIDだけを含む。第2のネットワークデバイスが、第2の宛先SID(すなわち、一次SIDリスト内の唯一のSIDまたは一次SIDリスト内の末尾SID)が利用不可能であると決定すると、第2のネットワークデバイスは、関連技術に従って第2の宛先SIDの次のSIDを直接取得し、次のSIDに基づいて第1のパケットを処理し、例えば、SL--に基づいて対応するSIDを取得するか、またはラベルを取り出した後で最上部のラベルを取得することができる。
解決策2:
S105:第2のネットワークデバイスは、第1のパケットからターゲットSID、すなわち第3の宛先SIDを取得し、第3の宛先SIDが利用可能であるかどうかに基づいて第1のパケットを処理する。
ターゲットSIDが一次SIDリスト内の実行されていないSIDのうちの1番目のSIDであり、ターゲットSIDが第2のネットワークデバイスのSIDであり、SIDが対応するサービスを含むとき、第2のネットワークデバイスにより、ターゲットSIDが利用可能であるかどうかに基づいて第1のパケットを処理する動作は、具体的にはS1051~S1053における以下の動作を含む。
S1051:第2のネットワークデバイスは、第1のパケットからターゲットSIDを取得する。
このステップでは、通信ネットワークがSRv6ネットワークであるとき、パケットの宛先アドレスはターゲットSIDである。通信ネットワークがSR-MPLSネットワークであるとき、第1のパケットのラベルスタックの最上部はターゲットSIDを含む。説明を容易にし、別のシナリオと区別するために、ターゲットSIDは第3の宛先SIDと称される。
第3の宛先SIDは第2のネットワークデバイスのSIDであるので、第3の宛先SIDに対応するサービスが、第2のネットワークデバイスによって提供されるサービスである。第2のネットワークデバイスは、第3の宛先SIDに対応するサービスが利用可能であることに基づいて、第3の宛先SIDが利用可能であると決定する、または、第3の宛先SIDに対応するサービスが利用不可能であることに基づいて、第3の宛先SIDが利用不可能であると決定する。第3の宛先SIDが利用可能であるかどうかに関する説明については、前述の説明を参照されたい。本出願のこの実施形態では、詳細は再度説明されない。
S1052:第2のネットワークデバイスは、第3の宛先SIDが利用可能であることに基づいて、第1のパケットに対して第3の宛先SIDに対応するサービスを提供する。
図4に示されるように、ネットワークデバイスがネットワークデバイス2であるとき、ネットワークデバイス2は第1のパケットをネットワークデバイス9に送信する。パケットにサービスを提供した後、サービスデバイス9は、第1のパケットをネットワークデバイス2に戻す。
第3の宛先SIDが一次SIDリスト内の最後のSIDでないとき、第2のネットワークデバイスは、第1のパケットから、第3の宛先SIDの後に配置されたSIDを取得し、取得済みSIDを宛先アドレスとして使用して第1のパケットを対応する第3のネットワークデバイスに送信する。
通信ネットワークがSRv6ネットワークであるとき、第3のネットワークデバイスはSL=SL-1を設定し、縮小されたSLに基づいて第1のパケット内の複数のSIDからSIDを読み取り、読み取られたSIDを宛先アドレスとして使用して第1のパケットを対応する第3のネットワークデバイスに送信する。
例えば、図4を参照されたい。SID 2が利用可能であると決定すると、ネットワークデバイス2は、第1のパケットに対してSID 2に対応するサービスを提供し、SL=SL-1=4を設定し、縮小されたSLに基づいて第1のパケット内の複数のSIDからSID 4を読み取り、SID 4を宛先アレスとして使用して第1のパケットをネットワークデバイス4に送信する。
通信ネットワークがSR-MPLSネットワークであるとき、第2のネットワークデバイスは、第1のパケット内のラベルスタックの最上部にあるSIDを取り出し、スタックの最上部にある新たなSIDを宛先アドレスとして使用して第1のパケットを送信する。
第3の宛先SIDが一次SIDリスト内の最後のSIDであるとき、詳細な説明がS106において提供され、詳細はここでは説明されない。
S1053:第2のネットワークデバイスは、第3の宛先SIDが利用不可能であると決定すると、第1の二次SIDリスト内の1番目のSID(第1の二次SID)に基づいて第1のパケットを処理する。
第2のネットワークデバイスは第1の二次SIDリストに基づいて第1のパケットを処理することは、第2のネットワークデバイスは、第1の二次SIDに基づいて第1のパケットを第4のネットワークデバイスに送信することを含む。
第2のネットワークデバイスによって第1の二次SIDリスト内の1番目のSIDを取得する方法については、S102およびS104での説明を参照されたい。ここでは一例が主に説明される。
一例では、通信ネットワークがSRv6ネットワークであるとき、第2のネットワークデバイスにより、一次SIDリスト内の実行されていないSIDをスキップし、第1の二次SIDリストに基づいて第1のパケットを処理する動作の実施プロセスは以下の通りである。
例えば、図4を参照されたい。ネットワークデバイス2は、SID 2が利用不可能である、すなわち、ターゲットSIDがSID 2であると決定するものとする。第1のパケット内の一次SIDリストはSID 2およびSID 4を含み、一次SIDリストに対応する第1の二次SIDリストはSID 6、SID 7、およびSID 8を含む。第1のパケットは位置指示情報を含む。位置指示情報は、一次SIDリストに含まれるSIDの数2と一次SIDリスト内の先頭SIDの位置とを含むものとする。例えば、先頭SIDの位置はSL値であり、SL値は5である。このようにして、第3のネットワークデバイスは、位置指示情報に基づいて第1のパケットから、第1の二次SID内の先頭SIDがSID 6であることを知り、SID 6を宛先アドレスとして使用して第1のパケットをネットワークデバイス6に送信する。
通信ネットワークがSR-MPLSネットワークであるとき、第2のネットワークデバイスにより、一次SIDリスト内の実行されていないSIDをスキップし、第1の二次SIDリストに基づいて第1のパケットを処理する動作の実施プロセスは以下の通りである。
第1のパケット内のラベルスタックの最上部は、一次SIDリスト内の1番目の実行されていないSIDを含み、x+1個のSIDがラベルスタックから連続的に取り出される、ただし、xは、一次SIDリスト内の実行されていないSIDの数である。この場合、スタックの最上部にある新たなSIDは、一次SIDリストの後の第1の二次SIDリスト内の1番目のSIDであり、第1のパケットは、第1の二次SIDに基づいて処理される。例えば、第1のパケットは、第1の二次SIDに対応する第3のネットワークデバイスに送信される。
解決策3:
ターゲットSIDは、一次SIDリスト内の最後のSIDであり、ターゲットSIDは、第2のネットワークデバイスのSIDである。
S106:第2のネットワークデバイスは、第1のパケットからターゲットSID、すなわち第4の宛先SIDを取得し、第4の宛先SIDが利用可能であるかどうかに基づいて第1のパケットを処理する。
第2のネットワークデバイスは、第1のパケットを受信し、第1のパケットから第4の宛先SIDを取得する。通信ネットワークがSRv6ネットワークであるとき、第1のパケットの宛先アドレスは第4の宛先SIDである。通信ネットワークがSR-MPLSネットワークであるとき、第1のパケットのラベルスタックの最上部は第4の宛先SIDであり、スタックの最上部にあるSIDは、第4の宛先SIDを取得するために取り出される。
随意に、第2のネットワークデバイスは構成命令を受信し、構成命令に基づいて、第4の宛先SIDが利用可能であるかどうかに基づいて第1のパケットを送信する動作を実行する。随意に、構成命令は制御デバイスによって送信されてもよく、第2のネットワークデバイスをトリガして機能を有効にするために使用される。機能は、第4の宛先SIDが利用可能であるかどうかに基づいて第1のパケットを処理することである。
随意に、第2のネットワークデバイスは、第4の宛先SIDが利用可能であるかどうかに基づいて第1のパケットを処理することは、S1061~S1063における以下の動作を含む。
S1061:第2のネットワークデバイスは、第4の宛先SIDが利用可能であるかどうかを決定する。
第4の宛先SIDは第2のネットワークデバイスのSIDであるので、第4の宛先SIDに対応するサービスが、第2のネットワークデバイスによって提供されるサービスである。第2のネットワークデバイスは、第4の宛先SIDに対応するサービスが利用可能であるかどうかを決定し、第4の宛先SIDに対応するサービスが利用可能であるときに、第4の宛先SIDが利用可能であると決定する、または、第4の宛先SIDに対応するサービスが利用不可能であるときに、第4の宛先SIDが利用不可能であると決定する。
例えば、図4を参照されたい。ネットワークデバイス4は第1のパケットを受信するものとする。この場合、第1のパケット内のSL値は4である。SID 4は、SL値に基づいて第1のパケット内の複数のSIDから取得され、SID 4は第4の宛先SIDである。SID 4が利用可能であるかどうかが決定される。
S1062:第4の宛先SIDが利用可能であるとき、第2のネットワークデバイスは、第1のパケットに対して第4の宛先SIDに対応するサービスを提供し、少なくとも1つの二次SIDリストをスキップし、第1のパケットを送信する。
第4のネットワークデバイスは、位置指示情報に基づいて少なくとも1つの二次SIDリストをスキップし、第1のパケットを送信する。
第1のパケットで搬送される位置指示情報の内容については、S102の内容を参照されたい。本出願において、詳細はここでは再度説明されない。
図4に示される例では、ネットワークデバイス4は、SID 4が利用可能であると決定し、位置指示情報に基づいて、二次SIDリストに含まれるSIDの数が3であると決定する。この場合、第1のパケット内のSLは4であり、SL=SL-4=0が設定され、二次SIDリストは縮小されたSLに基づいてスキップされる。SID 5は第1のパケットから取得され、第1のパケットは、SID 5を宛先アドレスとして使用してネットワークデバイス5に送信される。確かに、位置指示情報は、代替として、複数のSIDリストにおける少なくとも1つの二次SIDリストの後の1番目のSIDに対応するSLの値を直接含むことができる。第4のネットワークデバイスは、SLの値に基づいてSID 5を直接取得することができる。
別の例では、通信ネットワークがSR-MPLSネットワークであるとき、第1のパケット内のラベルスタックの最上部は、少なくとも1つの二次SIDリスト内の1番目のSIDを含み、少なくとも1つの二次SIDリスト内のSIDは、ラベルスタックから連続的に取り出される。この場合、スタックの最上部にある新たなSIDは、少なくとも1つの二次SIDリストの後の1番目のSIDであり、第1のパケットは、1番目のSIDに基づいて処理される。例えば、1番目のSIDは、第1のパケットを転送するための宛先アドレスとして使用される。
特に、第1のパケット内の複数のセグメント識別子が少なくとも1つの二次SIDリストの後に他のSIDを有していないとき、すなわち、第2のネットワークデバイスが複数のセグメント識別子リストによって指示されるエンドツーエンド一次転送パスに対応するテールノードであるとき、第2のネットワークデバイスは、第4の宛先SIDに基づいて複数のセグメント識別子リストを除去する。
このシナリオでは、第2のネットワークデバイスは、第3のネットワークデバイスに接続されたテールノードとすることができ、第4の宛先SIDによって指示される動作は、第1のパケットのパケットヘッダを除去することである。具体的には、第2のネットワークデバイスは、第2のパケットを取得するために第1のパケットのSRHまたはMPLSパケットヘッダを除去するかまたはカプセル解除し、第2のパケット内の宛先アドレスに基づいて第2のパケットを第3のネットワークデバイスに送信する。
第3の宛先SIDに対応するネットワークデバイスが複数のセグメント識別子リストによって指示されるエンドツーエンド一次転送パスに対応する末尾ノードである、さらなる適用シナリオについては、図8、図10、および図11に示される適用シナリオの実施形態を参照されたい。本出願において、詳細はここでは再度説明されない。
S1063:第2のネットワークデバイスは、第4の宛先SIDが利用不可能であると決定すると、第1の二次SIDリストに基づいて第1のパケットを処理する。
第1のパケットにおいて、第1の二次SIDリストは、第4の宛先SIDの後に配置される。
第2のネットワークデバイスは第1の二次SIDリストに基づいて第1のパケットを処理することは、第2のネットワークデバイスは、第1の二次SIDリスト内の1番目のSID、すなわち第1の二次SIDに基づいて第1のパケットを第4のネットワークデバイスに送信すること、を含む。
随意に、通信ネットワークがSRv6ネットワークであるとき、第1のパケット内のSLは第4の宛先SIDを指示し、第4のネットワークデバイスはSL=SL-1を設定する。縮小されたSLは、一次SIDリストの後の第1の二次SIDリスト内の先頭SIDを指示する。第1の二次SIDリスト内の先頭SIDを取得するために、縮小されたSLに基づいて第1のパケットに含まれる複数のSIDからSIDが読み出される。第1のパケットは、先頭SIDに基づいて処理される。例えば、先頭SIDは、第1のパケットを転送するための宛先アドレスとして使用される。
例えば、図4を参照されたい。ネットワークデバイス4は、SID 4が利用不可能であると決定する。この場合、第1のパケット内のSLは4に等しく、SL=SL-1が設定される。縮小されたSLに基づいて第1のパケットから取得される、第1の二次SID内の先頭SIDはSID 6であり、第1のパケットは、SID 6を宛先アドレスとして使用してネットワークデバイス6に送信される。
通信ネットワークがSR-MPLSネットワークであるとき、第1のパケット内のラベルスタックの最上部は、第1の二次SIDリスト内の先頭SIDを含む。第1の二次SIDリスト内の先頭SIDを取得するためにラベルスタックからSIDが取り出され、第1のパケットは先頭SIDに基づいて処理される。例えば、先頭SIDは、第1のパケットを転送するための宛先アドレスとして使用される。
第1のパケットが第2の二次SIDリストをさらに含み、第2の二次SIDリストが第1の二次SIDリストのバックアップであるとき、第1の二次SIDリストは一次SIDリストと見なされることができ、第2の二次SIDは第1の二次SIDリストと見なされることができる。前述の方法の実施形態で提供される技術的解決策は、第1の二次SIDリストに保護を提供するために使用される。
第1のパケットの少なくとも1つの二次SIDリスト内の複数の二次SIDリストが一次SIDリストのバックアップであるとき、ネットワークデバイスは、複数の二次SIDリストに対して無作為に、ハッシュ方式で、または選択シーケンスを指定する方式で、どの二次SIDリストが第1の二次SIDリストとして使用されるかを決定することができる。換言すれば、一次SIDリスト内のSIDが利用不可能であるとき、第1のパケットは、二次SIDリスト内の1番目のSIDに基づいて処理される。複数の二次SIDリストに対して指定された選択シーケンスがあるとき、最も高い順位にある二次SIDリストが一次SIDリストに隣接する位置に配置されてもよく、2番目に高い順位にある二次SIDリストが第1の二次SIDリストの後に配置されてもよい。
本出願のこの実施形態では、第1のネットワークデバイスによって生成される第1のパケットは一次SIDリストおよび少なくとも1つの二次SIDリストを含むので、一次SIDリスト内のSIDが利用不可能であるときに、一次SIDリスト内の実行されていないSIDは、第1の二次SIDリスト内の1番目のSIDを取得するためにスキップされ、第1のパケットは第1の二次SIDリストに基づいて処理される。加えて、第1の二次SIDリストは一次SIDリストのバックアップであるので、第1の二次SIDリストは、一次SIDリストによって提供されるサービスをスキップすることを回避するために、第1のパケットを処理するために使用される。一次SIDリスト内のSIDが宛先エンドに接続された末尾ノードのSIDであり、一次SIDリスト内のSIDが利用不可能であるとき、第1の二次SIDリストは、第1のパケットを処理するために使用される。これにより、第1のパケットを送信するときの長い遅延、またはネットワークの信頼性が低いという別の問題、例えばパケット伝送の中断が回避される。
以上が、S1041~S1043を含むステップS104、S105、S106、および関連するサブステップの詳細な説明である。
上記では、図1に示されるネットワークシナリオを参照して、本出願の方法の実施形態について簡単に説明した。以下では、図7~図11に示されるように、様々な異なる適用シナリオを参照して、図3に示される方法の実施形態の具体的な適用例を提供する。
図7は、図3に示される方法の実施形態の具体的な適用例である。本出願では、一次SIDリストおよび二次SIDリストはそれぞれ、ただ1つのSIDを有する。本出願は、本出願の一実施形態によるセグメントルーティングネットワークにおける転送パスの保護シナリオまたは転送パス上の中間ノードのサービスについて特に説明する。詳細は以下の通りである。
図7に示されるSRv6ネットワークでは、ネットワークデバイス11が、ネットワークデバイス12およびネットワークデバイス14に接続され、ネットワークデバイス12は、ネットワークデバイス15、ネットワークデバイス11、およびネットワークデバイス13に接続され、ネットワークデバイス14は、ネットワークデバイス11、ネットワークデバイス16、およびネットワークデバイス13に接続され、ネットワークデバイス11は、セグメントルーティングネットワーク内の先頭ノードであり、ネットワークデバイス13は、セグメントルーティングネットワーク内の末尾ノードである。SID 1がネットワークデバイス11のセグメント識別子であり、SID 2がネットワークデバイス12のセグメント識別子であり、SID 3がネットワークデバイス13のセグメント識別子であり、SID 4がネットワークデバイス14のセグメント識別子である。
第2のパケットを受信した後、ネットワークデバイス11(第1のネットワークデバイスである)はSRHを第2のパケットに追加する。
として示されるように、SRHはセグメント識別子リストおよびSLを含み、セグメント識別子リストは(SID 2、SID 4、SID 3)であり、SL=2であり、SLは、セグメント識別子リスト内のSID 2を指示する。セグメント識別子リストは、一次SIDリスト(SID 2)、第1の二次SIDリスト(SID 4)、および別のSIDリスト(SID 3)に論理的に分割され得る。二次SIDリストは、一次SIDリストに隣接している。具体的には、二次SIDリスト内の1番目のSIDに対応するSLの値が、一次SIDリスト内の最後のSIDに対応するSLの値引く1である。ネットワークデバイス12のSID 2に対応するサービスがサービス2である。具体的には、ネットワークデバイスは、SID 2を使用して、セグメントルーティングネットワーク内で伝送されたパケットに対してサービス2、例えば、アンチウィルスフィルタリングを提供する。ネットワークデバイス14のSID 4に対応するサービスもサービス2である。セグメント識別子リストは、第1の二次SIDリストが一次SIDリストによって提供されるサービスをバックアップできるように使用される。
SID 2が利用可能であると決定すると、ネットワークデバイス11は、SID 2を宛先アドレスとして使用して第1のパケットをネットワークデバイス12に送信する。
ネットワークデバイス12は、第1のパケットを受信し、第1のパケットに対してSID 2に対応するサービス2を提供し、SID 2の指示に基づいて第1のパケットのセグメントリストから、宛先SIDがSID 3であることを知り、SID 3を宛先アドレスとして使用して第1のパケットをネットワークデバイス13に送信することができる。パケットのパケットヘッダは、簡単に
と示されることができる。
あるいは、SID 2が利用不可能であると決定すると、ネットワークデバイス11は、SL=SL-1に基づいて第1のパケットのセグメントリストから第1の二次SIDリスト内の二次SID 4を取得し、SID 4を宛先アドレスとして使用して第1のパケットをネットワークデバイス14に送信する。パケットのパケットヘッダは、簡単に
と示されることができる。
ネットワークデバイス14は、第1のパケットを受信し、ただしSL=1は第1のパケットに含まれる、SLに基づいて第1のパケットのセグメントリストから第1の二次SIDリスト内のSID 4を取得し、第1のパケットに対してSID 4に対応するサービス2を提供し、SL=SL-1=0を設定し、縮小されたSLに基づいて第1のパケットのセグメントリストから、第6の宛先SIDがSID 3であることを知り、SID 3を宛先アドレスとして使用して第1のパケットをネットワークデバイス13に送信する。パケットのパケットヘッダは、簡単に
と示されることができる。
図8は、図3に示される方法の実施形態の別の具体的な適用例である。本出願は、本出願の一実施形態によるセグメントルーティングネットワークにおける転送パス上の末尾ノードのバックアップ保護シナリオについて特に説明する。
図8に示されるSRv6ネットワークでは、ネットワークデバイス11が、ネットワークデバイス12およびネットワークデバイス15に接続され、ネットワークデバイス12は、ネットワークデバイス13およびネットワークデバイス11に接続され、ネットワークデバイス15は、ネットワークデバイス11およびネットワークデバイス21に接続され、ネットワークデバイス21は、ネットワークデバイス22およびネットワークデバイス15に接続され、ネットワークデバイス13は、ネットワークデバイス12およびネットワークデバイス22に接続される。SID 1がネットワークデバイス11のセグメント識別子であり、SID 3がネットワークデバイス12のセグメント識別子であり、SID 2がネットワークデバイス15のセグメント識別子であり、SID 5がネットワークデバイス21のセグメント識別子であり、SID 6がネットワークデバイス22のセグメント識別子である。
ネットワークデバイス11は、SID 2を宛先アドレスとして使用して第1のパケットをネットワークデバイス15に送信する。パケットは、セグメント識別子リスト(SID 2、SID 3、SID 5、SID 6)を含み、セグメント識別子リストは、第1のSIDリスト(SID 2)、一次SIDリスト(SID 3)、および二次SIDリスト(SID 5、SID 6)に論理的に分割され得る。二次SIDリストは、一次SIDリストに隣接している。具体的には、二次SIDリスト内の1番目のSIDに対応するSLの値は、一次SIDリスト内の最後のSLの値引く1である。二次SIDリストによって指示される転送パス:ネットワークデバイス21->ネットワークデバイス22は、一次SIDリストによって指示される一次転送パスのバックアップ:ネットワークデバイス12である。換言すれば、セグメント識別子リスト(SID 2、SID 3、SID 5、SID 6)によって指示されるエンドツーエンド転送パスは、ネットワークデバイス11->ネットワークデバイス15->ネットワークデバイス12である。
ネットワークデバイス15は第1のパケットを受信し、パケットのパケットヘッダは、簡単に
と示される。ネットワークデバイスは、SID 2を取得し、第1のパケットに対してSID 2に対応するサービスを提供する。ネットワークデバイス15は、SL=SL-1に基づいて第1のパケットのSIDリストから、一次SIDリスト内の実行されていないSIDがSID 3であることを知り、SID 3をターゲットSIDとして使用する。SID 3が利用可能であると決定すると、ネットワークデバイス15は、SID 3を宛先アドレスとして使用し、SID 3に基づいて第1のパケットをネットワークデバイス12に送信することができる。パケットのパケットヘッダは、簡単に
と示されることができる。
ネットワークデバイス12は第1のパケットを受信し、ターゲットSIDがSID 3であることを知る。この場合、SID 3が、エンドポイント(Endpoint、END)SID、3層交差接続を有するエンドポイント(Endpoint with Layer-3 cross-connect、End.X)SID、または特定のIPv6テーブルルックアップを有するエンドポイント(Endpoint with Specific IPv6 table lookup、End.T)SIDのうちのいずれか1つ、あるいは他のタイプのSIDであるとき、SID 3は、複数のセグメント識別子リスト内に別のSIDが存在するかどうかにかかわらず、特別の新たに定義された最終的なセグメントカプセル解除(ultimate segment decapsulation、USD)機能を有することができる。外部IPv6ヘッダおよびSRHが除去された後、パケットは、ペイロード部分に基づいてテーブルルックアップを介して宛先エンドに送信される。
あるいは、SID 3が利用不可能であると決定すると、ネットワークデバイス15は、SL=SL-1=2に基づいて第1のパケットのSIDリストから第1の二次SIDリスト内の二次SID 5を取得し、SID 5を宛先アドレスとして使用して第1のパケットをネットワークデバイス21に送信する。
ネットワークデバイス21は、第1のパケットを受信する。第1のパケットのパケットヘッダは、簡単に
と示されることができ、SL=2である。ネットワークデバイス21はSID 5を取得する。SID 5は、ネットワークデバイス21のノードSIDまたはリンクSIDであり、転送パスを案内するためのSIDである。したがって、SID 5が首尾よく実行されることができると決定した後、ネットワークデバイス21は、SL=SL-1=1に基づいてセグメント識別子リストから、第1の二次SIDリスト内の次の二次SIDがSID 6であることを知り、SID 6を宛先アドレスとして使用して第1のパケットをネットワークデバイス22に送信する。パケットのパケットヘッダは、簡単に
と示されることができる。ネットワークデバイス22は第1のパケットを受信し、SID 6を取得する。この場合、SID 6が、エンドポイント(Endpoint、END)SID、3層交差接続を有するエンドポイント(Endpoint with Layer-3 cross-connect、End.X)SID、または特定のIPv6テーブルアウトルックを有するエンドポイント(Endpoint with Specific IPv6 table lookup、End.T)SIDのうちのいずれか1つ、あるいは別のタイプのSIDであるとき、SID 6は、複数のセグメント識別子リスト内に別のSIDが存在するかどうかにかかわらず、特別の最終的なセグメントカプセル解除(ultimate segment decapsulation、USD)機能を有することができる。外部IPv6ヘッダおよびSRHが除去された後、パケットは、ペイロード部分に基づいてテーブルルックアップを介して宛先エンドに送信される。
SIDは、新たな機能を有する新たに定義されたタイプのSIDであってもよい。このタイプのSIDは、パケットからSRHを含む外部IPv6ヘッダを除去するために使用され、下位層IPv6カプセル化における宛先アドレスに基づいてネットワークデバイス上のルートを検索し、パケットを対応するCEデバイスに送信する。このタイプのSIDは、カプセル解除および特定のIPv6テーブルアウトルックを有するエンドポイント(Endpoint with decapsulation and specific IPv6 table lookup、END.DT6)SIDに類似するように定義される。違いは、END.DT6 SIDがSRHのSIDリスト内の最後のSIDである必要があるが、この解決策では、このタイプのSIDはSRHのSIDリスト内の最後のSIDである必要がないことである。
図9は、図3に示される方法の実施形態の具体的な適用例である。本出願は、本出願の一実施形態によるセグメントルーティングネットワークにおける転送パス上のネットワークデバイスによって提供されるサービスのバックアップ保護シナリオについて特に説明する。
図9に示されるSRv6ネットワークでは、ネットワークデバイス11が、ネットワークデバイス12に接続され、ネットワークデバイス12は、ネットワークデバイス11、ネットワークデバイス15、ネットワークデバイス16、およびネットワークデバイス13に接続され、ネットワークデバイス15は、ネットワークデバイス12に接続され、ネットワークデバイス16は、ネットワークデバイス12に接続され、ネットワークデバイス13は、ネットワークデバイス12に接続される。SID 1がネットワークデバイス11のセグメント識別子であり、SID 2およびSID 4がネットワークデバイス12のセグメント識別子である。SID 2は、ネットワークデバイス15を介してサービスを提供することに対応し、SID 4は、ネットワークデバイス16を介して、ネットワークデバイス15を介して提供されるものと同じサービスを提供することに対応する。SID 3がネットワークデバイス13のセグメント識別子である。
ネットワークデバイス11は、ソースエンドによって送信された第2のパケットを受信し、第2のパケットにSRHを追加する。SRHは、SIDリストおよびSLを含む。パケットのパケットヘッダは、簡単に
と示されることができる。SIDリストは(SID 2、SID 4、SID 3)であり、SL=2である。セグメント識別子リストは、一次SIDリスト(SID 2)、二次SIDリスト(SID 4)、および別のSIDリスト(SID 3)SIDに論理的に分割され得る。二次SIDリストは、一次SIDリストに隣接している。具体的には、二次SIDリスト内の1番目のSIDに対応するSLの値は、一次SIDリスト内の最後のSLの値引く1である。一次SIDリストおよび二次SIDリストは、パケットのセグメント識別子リスト内で搬送され、したがって、SID 4に対応するサービスは、SID 2に対応するサービスに対してバックアップを提供する。
ネットワークデバイス11は、SID 2に基づいてパケットをネットワークデバイス12に送信する。パケットを受信した後、ネットワークデバイス12は、SID 2に対応するサービスが利用可能であるかどうかを決定し、対応するサービスを提供するためにパケットをネットワークデバイス15に送信する。ネットワークデバイス15による対応するサービスの実行中に障害が発生しないとき、パケットはネットワークデバイス12に送信される。ネットワークデバイス12は、SID 2の指示に基づいてSID 4をスキップし、宛先SIDがSID 3であることを知り、SID 3をパケットのDAとして使用してパケットをネットワークデバイス13に送信する。パケットのパケットヘッダは、簡単に
と示されることができる。
ネットワークデバイス12が、SID 2に対応するサービスが利用不可能であると決定した場合、ネットワークデバイスは、SL=SL--に基づいて、二次SIDリスト内の1番目のSID、すなわちSID 4を取得し、SIDに基づいてパケットをネットワークデバイス16に送信することができる。パケットのパケットヘッダは
と示される。加えて、ネットワークデバイス16は、パケットに対して対応するサービスを提供する。パケットに対して対応するサービスを提供した後、ネットワークデバイス16は、パケットをネットワークデバイス12に送信することができる。ネットワークデバイス12は、SL--に基づいて、新たな宛先SIDがSID 3であることを知り、SID 3に基づいてパケットをネットワークデバイス13に送信する。パケットのパケットヘッダは、簡単に
と示されることができる。
図7~図9の前述の例では、一次SIDリストはただ1つのSIDを含むので、パケット内の位置情報は、一次SIDリスト内のSID、すなわち、図7~図9の適用シナリオにおける一次SIDリスト内の一意のSIDを含むことができる。
図10は、図3に示される方法の実施形態の別の具体的な適用例である。本出願は、本出願の一実施形態によるセグメントルーティングネットワークにおける転送パス上の末尾ノードのバックアップ保護シナリオについて特に説明する。詳細は以下の通りである。図10に示されるSRv6ネットワークでは、ネットワークデバイス11がネットワークデバイス12およびネットワークデバイス13に接続され、ネットワークデバイス12はネットワークデバイス11に接続され、ネットワークデバイス13はネットワークデバイス11に接続される。SID 1がネットワークデバイス11のセグメント識別子であり、SID 2がネットワークデバイス12のセグメント識別子であり、SID 3がネットワークデバイス13のセグメント識別子である。
ネットワークデバイス11は、ソースエンドによって送信された第2のパケットを受信し、第2のパケットにSRHを追加する。SRHは、SIDリストおよびSLを含む。パケットのパケットヘッダは、簡単に
と示されることができる。パケット内のSIDリストは(SID 2、SID 3)であり、SL=1であり、SLは、SIDリスト内のSID 2を指示する。SIDリストは、一次SIDリスト(SID 2)および二次SIDリスト(SID 3)に論理的に分割され得る。二次SIDリストは、一次SIDリストに隣接している。具体的には、二次SIDリスト内の1番目のSIDに対応するSLの値は、一次SIDリスト内の最後のSLの値引く1である。セグメントルーティングネットワークにおける末尾ノードの保護は、SIDリスト内の一次SIDおよび二次SIDを搬送する方法で実施される。具体的には、図10に示される適用シナリオでは、一次転送パスがネットワークデバイス12であり、二次転送パスがネットワークデバイス13であり、エンドツーエンド一次転送パスがネットワークデバイス11->ネットワークデバイス12である。ネットワークデバイス11は、ターゲットSIDがSID 2であることを知り、SID 2が利用可能であるかどうかを決定する。このシナリオでは、SID 2が利用可能であることは、SID 2が到達可能であることを意味する。SID 2が利用可能であると決定されると、パケットはネットワークデバイス12に送信される。パケットのパケットヘッダは、簡単に
と示されることができる。パケットを受信した後、ネットワークデバイス12は、SID 2に基づいて、パケットからSRHヘッダを除去する動作を実行し、宛先アドレスがIP 2であることを知り、IP 2に基づいてパケットを送信する。換言すれば、このシナリオでは、SID 2は、特別な機能を有するSIDである。SIDは、新たな機能を有する新たに定義されたタイプのSIDであってもよい。このタイプのSIDは、パケットからSRHを含む外部IPv6ヘッダを除去するために使用され、下位層IPv6カプセル化における宛先アドレスに基づいてネットワークデバイス上のルートを検索し、パケットを対応するCEデバイスに送信する。このタイプのSIDは、カプセル解除および特定のIPv6テーブルアウトルックを有するエンドポイント(Endpoint with decapsulation and specific IPv6 table lookup、END.DT6)SIDに類似するように定義される。違いは、END.DT6 SIDがSRHのSIDリスト内の最後のSIDである必要があるが、この解決策では、このタイプのSIDはSRHのSIDリスト内の最後のSIDである必要がないことである。
SID 2が利用可能であると決定すると、ネットワークデバイス11は、SL--に基づいてSID 3を宛先SIDとして選択し、SID 3に基づいてパケットをネットワークデバイス13に送信する。パケットのパケットヘッダは、簡単に
と示されることができる。パケットを受信した後、ネットワークデバイス12は、SID 3がネットワークデバイス12のSIDであると決定し、SIDに基づいてSRHヘッダを除去し、DAがIP 2であることを知り、IP 2に基づいてパケットを送信する。SIDは、END.DT6 SIDまたは新たに定義されたタイプのSIDであってもよい。
図10に示される例では、一次SIDリストはただ1つのSIDを含み、二次SIDもただ1つのSIDを含むので、パケットは位置指示情報を搬送しないと見なされ得る。換言すれば、本出願のこの実施形態では、位置指示情報は任意選択である。
図11は、図3に示される方法の実施形態の別の具体的な適用例である。本出願は、本出願の実施形態がSR-MPLSに適用されるバックアップ保護シナリオについて特に説明する。詳細は以下の通りである。
図11に示されるSR-MPLSネットワークでは、ネットワークデバイス11が、ネットワークデバイス12に接続され、ネットワークデバイス12は、ネットワークデバイス11、ネットワークデバイス13、およびネットワークデバイス14に接続され、ネットワークデバイス13は、ネットワークデバイス12に接続され、ネットワークデバイス14は、ネットワークデバイス12に接続される。SID 1101がネットワークデバイス12のSIDであり、ネットワークデバイス13の2つのSIDがそれぞれ10001および20000であり、ネットワークデバイス14の2つのSIDがそれぞれ1200および20001である。
ネットワークデバイス11は、ソースエンドによって送信された第2のパケットを受信し、第2のパケットにMPLSパケットヘッダを追加する。パケットヘッダのラベルスタック、すなわちセグメント識別子リストは(1101、10001、20000、1200、20001)であり、リストは、別のSIDリスト(1101)、一次SIDリスト(10001、20000)、および二次SIDリスト(1200、20001)に論理的に分割され得る。換言すれば、一次転送パスがネットワークデバイス13であり、二次転送パスがネットワークデバイス14であり、エンドツーエンド一次転送パスがネットワークデバイス12->ネットワークデバイス13であり、エンドツーエンド二次転送パスがネットワークデバイス12->ネットワークデバイス14である。二次SIDリストは、一次SIDリストに隣接している。具体的には、MPLSパケットヘッダのラベルスタックにおいて、二次SIDリストは、一次SIDリストの後にある。
ネットワークデバイス11は、スタックの最上部にあるSID 1101に基づいて第1のパケットをネットワークデバイス12に送信する。パケットのMPLSパケットヘッダは、簡単に
と示される。
ネットワークデバイス12は、第1のパケットを受信し、ラベル1101を取り出し、ただし、ラベルが取り出された後で取得されたパケットヘッダは簡単に
と示され得る、一次SIDリスト内のターゲットSIDが10001であると決定し、ターゲットSIDが利用可能であるかどうかを決定する。10001が利用可能であると決定されると、第1のパケットは、10001に基づいてネットワークデバイス13に送信される。
ネットワークデバイス13は第1のパケットを受信し、パケットのパケットヘッダは、簡単に
と示されることができる。ラベルスタックの最上部にあるSIDが20000である。したがって、ネットワークデバイス13は、スタックの最上部にあるSIDに基づいて第1のパケットのMPLSパケットヘッダを除去し、第2のパケットを宛先エンドに送信する。仮想プライベートネットワーク(virtual private network、VPN)プライベートネットワークラベル20000が保護されたノードネットワークデバイス13に割り当てられるとき、その転送挙動が定義され得る、すなわち、ラベルの3つの層が連続的に取り出され、プライベートネットワークのルーティングテーブルが、内部プライベートネットワークIPアドレスに基づいて照会され、パケットは、プライベートネットワークのルートに基づいて宛先デバイスに転送され続ける。宛先エンドが到達不可能である場合、SID 20000は、1番目の二次SID 1200を取得するために取り出され、第1のパケットは、SIDに基づいてネットワークデバイス14に送信される。パケットのパケットヘッダは、簡単に
と示されることができる。
あるいは、10001が利用不可能であると決定すると、ネットワークデバイス12は、一次SIDリスト内の実行されていないSIDの数が1であることを知り、ラベルスタック上で連続して2回取り出しを実行するか、または二次SIDリスト内の1番目のSIDを取得し、換言すれば、宛先SIDが1200であり、SID 1200に基づいて第1のパケットをネットワークデバイス14に送信する。パケットのパケットヘッダは、簡単に
と示されることができる。
ネットワークデバイス14は、第1のパケットを受信し、SID 20001を取得するためにスタックの最上部にあるSID 1200を取り出し、20001に基づいて第1のパケット内のMPLSパケットヘッダを除去し、第2のパケットを宛先エンドに送信する。
図11に示される例では、SR-MPLSネットワークにおける適用について、パケット内の位置指示情報は、一次SIDリスト内のSIDを含む。SR-MPLSネットワークにおける本出願の実施形態での技術的解決策の実施を容易にするために、SR-MPLSネットワーク内のすべてのノードのセグメント・ルーティング・グローバル・ブロック(segment routing global block、SRGB)が同じ範囲、例えば1000~10000を有することが必要とされ得る、したがって、パケットで搬送されるラベルスタック内のグローバルラベルの意味は、異なるネットワーク位置で一貫して理解されることができる。
図12を参照されたい。本出願の一実施形態は、セグメントルーティングネットワークに適用されるパケット処理装置1200を提供する。装置1200は、図1、図2、図3、図4、図7、図8、図9、図10、または図11に示される実施形態で提供される任意のネットワークデバイスにおいて配備され得る。例えば、装置1200は、図3に示される実施形態で提供される第1のネットワークデバイス、第2のネットワークデバイス、第3のネットワークデバイス、または第4のネットワークデバイスにおいて配備され得る、あるいは図4に示される実施形態で提供されるネットワークデバイス1、ネットワークデバイス2、ネットワークデバイス3、ネットワークデバイス4、ネットワークデバイス5、ネットワークデバイス6、ネットワークデバイス7、ネットワークデバイス8などにおいて配備され得る。本出願において、詳細はここでは再度説明されない。装置1200は、
第1のパケットを受信するように構成された受信ユニット1201であって、第1のパケットが複数のセグメント識別子SIDリストを含み、複数のSIDリストが一次SIDリストおよび少なくとも1つの二次SIDリストを含み、少なくとも1つの二次SIDリストが第1の二次SIDリストを含み、第1の二次SIDリストが一次SIDリストのバックアップである、受信ユニット1201と、
一次SIDリストに基づいて第1のパケットを処理するように構成された処理ユニット1202と
を含む。
随意に、処理ユニット1202が第1のパケットを処理する詳細な実施プロセスについては、図3に示される実施形態におけるS104およびステップの詳細における関連する内容を参照されたい。
随意に、処理ユニット1202は、
ターゲットSIDが利用可能であるかどうかに基づいて第1のパケットに対して異なる処理を実行するように構成され、ターゲットSIDが一次SIDリスト内の1つまたは複数の実行されていないSIDである。
随意に、第1の二次SIDリストによって指示される転送パスは、一次SIDリストによって指示される転送パスのバックアップパスである。
随意に、ターゲットSIDが利用可能であることは、
ターゲットSIDに対応するネットワークデバイスが装置1200にとって到達可能であることを含む。
随意に、本装置は、第1の送信ユニット1203をさらに含む。第1の送信ユニット1203は、ターゲットSIDが利用不可能であるときに第1のSIDに基づいて第1のパケットを送信するように構成される。第1のSIDは、第1の二次SIDリスト内の1番目のSIDである。
随意に、装置1200は、複数のSIDリストによって指示されるエンドツーエンド一次転送パス上の中間ノードであり、ターゲットSIDは、一次SIDリスト内の最後のSIDであり、ターゲットSIDは、装置1200のSIDであり、装置1200は第2の送信ユニット1204をさらに含む。
第2の送信ユニット1204は、ターゲットSIDが利用可能であるときに第1のSIDに基づいて第1のパケットを送信するように構成され、第1のSIDが複数のSIDリストにおける少なくとも1つの二次SIDリストの後の1番目のSIDである。
随意に、装置1200は、複数のSIDリストによって指示されるエンドツーエンド一次転送パス上の末尾ノードであり、ターゲットSIDは、一次SIDリスト内の最後のSIDであり、ターゲットSIDは装置1200のSIDである。
処理ユニット1202は、ターゲットSIDが利用可能であるときに、ターゲットSIDに対応する機能を実行し、複数のSIDリストを除去するように構成される。
随意に、処理ユニット1202が複数のSIDリストを除去する詳細な実施プロセスについては、図3に示される実施形態におけるS1062の関連する内容を参照されたい。
随意に、第1の二次SIDリストに対応するサービスが、一次SIDリストに対応するサービスのバックアップであり、ターゲットSIDが利用可能であることは、ターゲットSIDに対応するサービスが利用可能であることを含む。
随意に、処理ユニット1202は、ターゲットSIDが利用不可能であるときに、第1のSIDを使用して第1のパケットにサービスを提供するように構成され、第1のSIDが第1の二次SIDリスト内の1番目のSIDである。
随意に、装置1200は、複数のSIDリストによって指示されるエンドツーエンド一次転送パス上の中間ノードであり、ターゲットSIDは、実行されていないSIDリスト内の1番目のSIDであり、装置1200は第3の送信ユニット1205をさらに含む。
処理ユニット1202は、ターゲットSIDが利用可能であるときに、ターゲットSIDに対応するサービスを提供するように構成される。
第3の送信ユニット1205は、第1のSIDに基づいて第1のパケットを送信するように構成され、第1のSIDが複数のSIDリスト内の少なくとも1つの二次SIDリストの後の1番目のSIDである。
随意に、処理ユニット1202がターゲットSIDに対応するサービスを提供し、第3の送信ユニット1205が第1のパケットを送信する詳細な実施プロセスについては、図3に示される実施形態におけるS104およびステップの詳細における関連する内容を参照されたい。
随意に、装置1200は、複数のSIDリストによって指示されるエンドツーエンド一次転送パス上の末尾ノードであり、ターゲットSIDは、実行されていないSIDのうちの最後のSIDである。
処理ユニット1202は、ターゲットSIDが利用可能であるときに、ターゲットSIDに対応するサービスを提供し、複数のSIDリストを除去するように構成される。
随意に、第1のパケットは位置指示情報を含み、処理ユニット1202は、
位置指示情報に基づいて第1のSIDを取得するようにさらに構成され、位置指示情報が、複数のSIDリストにおける一次SIDリストの位置、複数のSIDリストにおける第1の二次SIDリストの位置、および複数のSIDにおける少なくとも1つの二次SIDリストの位置、のうちの1つまたは複数を指示するために使用される。
随意に、位置指示情報は、一次SIDリスト内の最後のSIDおよび/または一次SIDリスト内の実行されていないSIDのうちの1番目のSIDを含む。
随意に、位置指示情報は、第1のパケットのセグメントルーティングヘッダのメタデータ内で搬送される。
随意に、受信ユニット1201は構成命令を受信するようにさらに構成される。
処理ユニット1202は、構成命令に基づいて、ターゲットSIDが利用可能であるかどうかに基づいて第2のSIDを取得する動作を実行するようにさらに構成される。
処理ユニット1202は、第2のSIDに基づいて第一パケットを処理するように構成され、第2のSIDが、一次SIDリスト内のSID、第1の二次SIDリスト内の1番目のSID、または複数のSIDリストにおける少なくとも1つの二次SIDリストの後の1番目のSIDを含む。
随意に、処理ユニット1202が、構成命令に基づいて、ターゲットSIDが利用可能であるかどうかに基づいて第2のSIDを取得する動作を実行する詳細な実施プロセスについては、図3に示される実施形態におけるS104およびステップの詳細における関連する内容を参照されたい。
随意に、複数のSIDリストは、第1のパケットのセグメントルーティングヘッダSRH内にある、または、複数のSIDリストは、第1のパケットのマルチプロトコル・ラベル・スイッチング・ヘッダ内にある。
あるいは、一次SIDリストおよび第1の二次SIDリストは、第1のパケットの異なるSRH内にある。
随意に、一次SIDリストは第1の二次SIDリストに隣接し、一次SIDリスト内の最後のSIDは第1の二次SIDリストの前にある。
随意に、少なくとも1つの二次SIDリストは第2の二次SIDリストをさらに含み、第2の二次SIDリストは第1の二次SIDリストのバックアップであり、かつ/または、第2の二次SIDリストは一次SIDリストのバックアップである。
随意に、複数のSIDリストは別の一次SIDリストおよび別の二次SIDリストをさらに含み、別の二次SIDリストは別の一次SIDリストのバックアップである。
随意に、別の一次SIDリストおよび一次SIDリストは異なるセグメントに属する。
本出願のこの実施形態では、受信ユニットは第1のパケットを受信する。第1のパケットは、複数のセグメント識別子SIDリストを含み、複数のSIDリストは、一次SIDリストおよび少なくとも1つの二次SIDリストを含む。少なくとも1つの二次SIDリストは第1の二次SIDリストを含み、第1の二次SIDリストは一次SIDリストのバックアップである。処理ユニットが一次SIDリストに基づいて第1のパケットを処理するプロセスでは、一次SIDリストによって指示されるパスに障害があるとき、処理ユニットは第1の二次SIDリストに基づいて第1のパケットを処理し、その結果、データパケットの転送処理がセグメントルーティングネットワークにおいて継続し、それにより、ネットワーク伝送の信頼性を向上させる。
図13を参照されたい。本出願の一実施形態は、セグメントルーティングネットワークに適用されるパケット処理装置1300を提供する。装置1300は、図1、図2、図3、図4、図7、図8、図9、図10、または図11に示される実施形態で提供されるネットワークデバイスにおいて配備され得る。例えば、装置1300は、図3に示される実施形態で提供される第1のネットワークデバイスにおいて配備され得る、または図4に示される実施形態で提供されるネットワークデバイス1において配備され得る、または図7に示される実施形態で提供されるネットワークデバイス11において配備され得る、または図8に示される実施形態で提供されるネットワークデバイス15において配備され得る、または図9もしくは図10に示される実施形態で提供されるネットワークデバイス11において配備され得る、または図11に示される実施形態で提供されるネットワークデバイス12において配備され得る。装置1300は、
第1のパケットを受信するように構成された送信ユニット1301であって、第1のパケットが複数のセグメント識別子SIDリストを含み、複数のSIDリストが少なくとも1つの一次SIDリストおよび少なくとも1つの二次SIDリストを含み、少なくとも1つの二次SIDリストが第1の二次SIDリストを含み、第1の二次SIDリストが一次SIDリストのバックアップである、送信ユニット1301を含む。
随意に、装置1300は処理ユニット1302をさらに含み、処理ユニット1302は第1のパケットを生成するように構成される。
処理ユニット1302が第1のパケットを生成する詳細な実施プロセスについては、図3に示される実施形態におけるS102の関連する内容を参照されたい。送信ユニット1301が第1のパケットを送信する詳細な実施プロセスについては、図3に示される実施形態におけるS103の関連する内容を参照されたい。
随意に、装置1300は、取得ユニット1303をさらに含む。取得ユニット1303は、複数のセグメント識別子リストを取得するように構成される。取得ユニット1303が複数のセグメント識別子リストを取得する詳細な実施プロセスについては、図3に示される実施形態におけるS101の関連する内容を参照されたい。
随意に、第1のパケットは位置指示情報を含み、位置指示情報は、複数のSIDリストにおける一次SIDリストの位置、複数のSIDリストにおける第1の二次SIDリストの位置、および複数のSIDにおける少なくとも1つの二次SIDリストの位置、のうちの1つまたは複数を指示するために使用される。
随意に、位置指示情報は、一次SIDリスト内の最後のSIDおよび/または一次SIDリスト内の実行されていないSIDのうちの1番目のSIDを含む。
随意に、位置指示情報は、第1のパケットのセグメントルーティングヘッダのメタデータ内で搬送される。
随意に、複数のSIDリストは、第1のパケットのセグメントルーティングヘッダSRH内で搬送される、または、複数のSIDリストは、第1のパケットのマルチプロトコル・ラベル・スイッチングMPLSヘッダ内で搬送される。
随意に、一次SIDリストは第1の二次SIDリストに隣接し、一次SIDリスト内の最後のSIDは第1の二次SIDリストの前にある。
随意に、少なくとも1つの二次SIDリストは第2の二次SIDリストをさらに含み、第2の二次SIDリストは第1の二次SIDリストのバックアップであり、かつ/または、第2の二次SIDリストは一次SIDリストのバックアップである。
本出願のこの実施形態では、送信ユニットは第1のパケットを送信する。第1のパケットは、複数のセグメント識別子SIDリストを含み、複数のSIDリストは、少なくとも一次SIDリストおよび少なくとも1つの二次SIDリストを含む。少なくとも1つの二次SIDリストは第1の二次SIDリストを含み、第1の二次SIDリストは一次SIDリストのバックアップである。第1のパケット内の第1の二次SIDリストは一次SIDリストのバックアップであるので、一次SIDリストによって指示されるパスに障害があるとき、セグメントルーティングネットワーク内のネットワークデバイスは第1の二次SIDリストに基づいて第1のパケットを処理し、したがって、データパケットの転送処理がセグメントルーティングネットワークにおいて継続し、それにより、ネットワーク伝送の信頼性を向上させる。
図14を参照されたい。本出願の一実施形態は、セグメントルーティングネットワークに適用されるパケット処理装置1400を提供する。装置1400は、図1または図3に示される実施形態で提供される制御デバイスまたはパス計算要素において配備され得る。装置1400は、
第1のメッセージを第1のネットワークデバイスに送信するように構成された送信ユニット1401であって、第1のメッセージが複数のセグメント識別子SIDリストを含み、複数のSIDリストが一次SIDリストおよび少なくとも1つの二次SIDリストを含み、少なくとも1つの二次SIDリストが第1の二次SIDリストを含み、第1の二次SIDリストが一次SIDリストのバックアップである、送信ユニット1401を含む。
第1のメッセージは、第1のネットワークデバイスが第1のパケットを生成することを可能にし、第1のパケットは複数のSIDリストを含む。
随意に、装置1400は処理ユニット1402をさらに含み、処理ユニット1402は第1のメッセージを生成するように構成される。
処理ユニット1402が第1のメッセージを生成し、送信ユニット1401が第1のメッセージを送信する詳細な実施プロセスについては、図3に示される実施形態におけるS101の関連する内容を参照されたい。
随意に、第1のメッセージはパケット機能またはルーティング機能をさらに含み、第1のパケットはパケット機能またはルーティング機能に適合する。
随意に、第1のメッセージは位置指示情報をさらに含み、位置指示情報は、複数のSIDリストにおける一次SIDリストの位置、複数のSIDリストにおける第1の二次SIDリストの位置、および複数のSIDにおける少なくとも1つの二次SIDリストの位置、のうちの1つまたは複数を指示するために使用される。
随意に、位置指示情報は、一次SIDリスト内の最後のSIDおよび/または一次SIDリスト内の実行されていないSIDのうちの1番目のSIDを含む。
本出願のこの実施形態では、送信ユニットは第1のメッセージを第1のネットワークデバイスに送信する。第1のメッセージは、複数のセグメント識別子SIDリストを含み、複数のSIDリストは、一次SIDリストおよび少なくとも1つの二次SIDリストを含む。少なくとも1つの二次SIDリストは第1の二次SIDリストを含み、第1の二次SIDリストは一次SIDリストのバックアップである。このようにして、第1のネットワークデバイスが第1のパケットを生成するとき、第1のパケットは複数のSIDリストを含むことができる。換言すれば、生成された第1のパケットは、一次SIDリストおよび第1の二次SIDリストを含む。第1の二次SIDリストは一次SIDリストのバックアップであるので、一次SIDリストによって指示されるパスに障害があるとき、第1のネットワークデバイスは第1の二次SIDリストに基づいて第1のパケットを処理し、その結果、データパケットの転送処理がセグメントルーティングネットワークにおいて継続し、それにより、ネットワーク伝送の信頼性を向上させる。
図15を参照されたい。本出願の一実施形態は、セグメントルーティングネットワークに適用されるパケット処理装置1500の概略図を提供する。装置1500は、図3に示される実施形態で提供される第1のネットワークデバイス、第2のネットワークデバイス、第3のネットワークデバイス、もしくは第4のネットワークデバイスであり得る、または、図4に示される実施形態で提供されるネットワークデバイス1、ネットワークデバイス2、ネットワークデバイス4などであり得る、または、図7に示される実施形態で提供されるネットワークデバイス11、ネットワークデバイス12などであり得る、または、図8に示される実施形態で提供されるネットワークデバイス15、ネットワークデバイス12などであり得る、または、図9に示される実施形態で提供されるネットワークデバイス11などであり得る、または、図10に示される実施形態で提供されるネットワークデバイス11、ネットワークデバイス12などであり得る、または、図11に示される実施形態で提供されるネットワークデバイス12、ネットワークデバイス13などであり得る。
装置1500は、少なくとも1つのプロセッサ1501、バスシステム1502、メモリ1503、および少なくとも1つの通信インタフェース1504を含む。
装置1500は、ハードウェア構造の装置であり、図12に示される装置1200内の機能モジュールを実装するように構成され得る。例えば、当業者であれば、図12に示される装置1200内の処理ユニット1202は、少なくとも1つのプロセッサ1501によってメモリ1503内のコードを呼び出すことによって実装され得ること、ならびに、図12に示される装置1200内の受信ユニット1201、第1の送信ユニット1203、および第2の送信ユニット1204は、通信インタフェース1504を使用して実装され得ること、を理解し得る。
随意に、プロセッサ1501は、汎用中央処理装置(central processing unit、CPU)、ネットワークプロセッサ(network processor、NP)、マイクロプロセッサ、特定用途向け集積回路(application-specific integrated circuit、ASIC)、または本出願の解決策のプログラム実行を制御するように構成された1つまたは複数の集積回路であり得る。
バスシステム1502は、前述の構成要素相互間で情報を伝送するための経路を含むことができる。
通信インタフェース1504は、別のデバイスまたは通信ネットワークと通信するように構成される。
メモリ1503は、読み取り専用メモリ(read-only memory、ROM)もしくは静的情報および命令を保存することができる別のタイプの静的記憶デバイス、またはランダムアクセスメモリ(random access memory、RAM)もしくは情報および命令を保存することができる別のタイプの動的記憶デバイスであり得る、あるいは、電気的消去可能プログラマブル読み取り専用メモリ(electrically erasable programmable read-only memory、EEPROM)、コンパクトディスク読み取り専用メモリ(compact disc read-only memory、CD-ROM)もしくは別のコンパクトディスクストレージ、光ディスクストレージ(コンパクトディスク、レーザーディスク(登録商標)、光ディスク、デジタル多用途ディスク、ブルーレイディスクなどを含む)、ディスク記憶媒体もしくは別のディスク記憶デバイス、または命令もしくはデータ構造の形態で予想されるプログラムコードを搬送もしくは保存するために使用されることができかつコンピュータによってアクセスされることができる他の媒体であり得るが、これは本明細書では限定されるものではない。メモリは、独立して存在し、バスを介してプロセッサに接続され得る。あるいは、メモリは、プロセッサと一体化され得る。
メモリ1503は、独立して存在し、通信バス1502を介してプロセッサ1501に接続され得る。メモリ1503は、代替として、プロセッサ1501に統合され得る。
随意に、メモリ1503は、本出願の解決策を実行するためのプログラムコードまたは命令を保存するように構成され、プロセッサ1501は実行を制御する。プロセッサ1501は、メモリ1503に保存されたプログラムコードを実行するように構成される。プログラムコードは、1つまたは複数のソフトウェアモジュールを含むことができる。随意に、プロセッサ1501は、本出願の解決策を実行するためのプログラムコードまたは命令を保存することもできる。
特定の実装形態では、一実施形態では、プロセッサ1501は、1つまたは複数のCPU、例えば図15のCPU 0およびCPU 1を含むことができる。
特定の実装形態では、一実施形態では、装置1500は、複数のプロセッサ、例えば図15のプロセッサ1501およびプロセッサ1507を含むことができる。プロセッサはそれぞれ、シングルコア(single-CPU)プロセッサまたはマルチコア(multi-CPU)プロセッサであり得る。本明細書におけるプロセッサは、データ(例えば、コンピュータプログラム命令)を処理するように構成された1つまたは複数のデバイス、回路、および/または処理コアを指すことができる。
通信インタフェース1504は、トランシーバなどの任意の装置を使用して別のデバイスまたは通信ネットワークと通信するように構成される。通信ネットワークは、イーサネット、無線アクセスネットワーク(RAN)、無線ローカルエリアネットワーク(wireless local area network、WLAN)などであり得る。本出願のこの実施形態では、通信インタフェース1504は、セグメントルーティングネットワーク内の別のネットワークデバイスによって送信されたパケットを受信するか、またはセグメントルーティングネットワーク内の別のネットワークデバイスにパケットを送信するように構成され得る。通信インタフェース504は、イーサネット(Ethernet)インタフェース、高速イーサネット(Fast Ethernet、FE)インタフェース、またはギガビットイーサネット(Gigabit Ethernet、GE)インタフェースであり得る。
ネットワークデバイスの前述の製品形態は、前述のパケット処理方法の実施形態におけるネットワークデバイスの任意の機能を有することが理解されるべきであり、詳細はここでは説明されない。
図16を参照されたい。本出願の一実施形態は、パケット処理装置1600の概略図を提供する。装置1600は、図1、図2、図3、図4、図7、図8、図9、図10、または図11に示される実施形態で提供されるネットワークデバイスのいずれか1つであり得る。例えば、装置1600は、図3に示される実施形態で提供される第1のネットワークデバイスであり得る、または図4に示される実施形態で提供されるネットワークデバイス1であり得る、または図7に示される実施形態で提供されるネットワークデバイス11であり得る、または図8に示される実施形態で提供されるネットワークデバイス15であり得る、または図9もしくは図10に示される実施形態で提供されるネットワークデバイス11であり得る、または図11に示される実施形態で提供されるネットワークデバイス12であり得る。
装置1600は、少なくとも1つのプロセッサ1601、バスシステム1602、メモリ1603、および少なくとも1つの通信インタフェース1604を含む。
装置1600は、ハードウェア構造の装置であり、図13に示される装置1300内の機能モジュールを実装するように構成され得る。例えば、当業者であれば、図13に示される装置1300内の処理ユニット1302は、少なくとも1つのプロセッサ1601によりメモリ1603内のコードを呼び出すことによって実装され得ること、ならびに、図13に示される装置1300内の送信ユニット1301は、通信インタフェース1604を使用して実装され得ること、を理解し得る。
随意に、プロセッサ1601は、汎用中央処理装置(central processing unit、CPU)、ネットワークプロセッサ(network processor、NP)、マイクロプロセッサ、特定用途向け集積回路(application-specific integrated circuit、ASIC)、または本出願の解決策のプログラム実行を制御するように構成された1つまたは複数の集積回路であり得る。
バスシステム1602は、前述の構成要素相互間で情報を伝送するためのチャネルを含むことができる。
通信インタフェース1604は、別のデバイスまたは通信ネットワークと通信するように構成される。
メモリ1603は、読み取り専用メモリ(read-only memory、ROM)もしくは静的情報および命令を保存することができる別のタイプの静的記憶デバイス、またはランダムアクセスメモリ(random access memory、RAM)もしくは情報および命令を保存することができる別のタイプの動的記憶デバイスであり得る、あるいは、電気的消去可能プログラマブル読み取り専用メモリ(electrically erasable programmable read-only memory、EEPROM)、コンパクトディスク読み取り専用メモリ(compact disc read-only memory、CD-ROM)もしくは別のコンパクトディスクストレージ、光ディスクストレージ(コンパクトディスク、レーザーディスク(登録商標)、光ディスク、デジタル多用途ディスク、ブルーレイディスクなどを含む)、ディスク記憶媒体もしくは別のディスク記憶デバイス、または命令もしくはデータ構造の形態で予想されるプログラムコードを搬送もしくは保存するために使用されることができかつコンピュータによってアクセスされることができる他の媒体であり得るが、これは本明細書では限定されるものではない。メモリは、独立して存在し、バスを介してプロセッサに接続され得る。あるいは、メモリは、プロセッサと一体化され得る。
メモリ1603は、独立して存在し、通信バス1602を介してプロセッサ1601に接続され得る。メモリ1603は、代替として、プロセッサ1601に統合され得る。
随意に、メモリ1603は、本出願の解決策を実行するためのプログラムコードまたは命令を保存するように構成され、プロセッサ1601は実行を制御する。プロセッサ1601は、メモリ1603に保存されたプログラムコードを実行するように構成される。プログラムコードは、1つまたは複数のソフトウェアモジュールを含むことができる。随意に、プロセッサ1601は、本出願の解決策を実行するためのプログラムコードまたは命令を保存することもできる。
特定の実装形態では、一実施形態では、プロセッサ1601は、1つまたは複数のCPU、例えば図16のCPU 0およびCPU 1を含むことができる。
特定の実装形態では、一実施形態では、装置1600は、複数のプロセッサ、例えば図16のプロセッサ1601およびプロセッサ1607を含むことができる。プロセッサはそれぞれ、シングルコア(single-CPU)プロセッサまたはマルチコア(multi-CPU)プロセッサであり得る。本明細書におけるプロセッサは、データ(例えば、コンピュータプログラム命令)を処理するように構成された1つまたは複数のデバイス、回路、および/または処理コアを指すことができる。
通信インタフェース1604は、トランシーバなどの任意の装置を使用して、別のデバイスまたは通信ネットワークと通信するように構成される。通信ネットワークは、イーサネット、無線アクセスネットワーク(RAN)、無線ローカルエリアネットワーク(wireless local area network、WLAN)などであり得る。本出願のこの実施形態では、通信インタフェース1604は、セグメントルーティングネットワーク内の別のネットワークデバイスによって送信されたパケットを受信するか、またはセグメントルーティングネットワーク内の別のネットワークデバイスにパケットを送信するように構成され得る。通信インタフェース604は、イーサネット(Ethernet)インタフェース、高速イーサネット(Fast Ethernet、FE)インタフェース、またはギガビットイーサネット(Gigabit Ethernet、GE)インタフェースであり得る。
ネットワークデバイスの前述の製品形態は、前述のパケット処理方法の実施形態におけるネットワークデバイスの任意の機能を有することが理解されるべきであり、詳細はここでは説明されない。
図17を参照されたい。本出願の一実施形態は、セグメントルーティングネットワークに適用されるパケット処理装置1700の概略図を提供する。装置1700は、図1または図3に示される実施形態で提供される制御デバイスまたはパス計算要素であり得る。装置1700は、少なくとも1つのプロセッサ1701、バスシステム1702、メモリ1703、および少なくとも1つの通信インタフェース1704を含む。
装置1700は、ハードウェア構造の装置であり、図14に示される装置1400内の機能モジュールを実装するように構成され得る。例えば、当業者であれば、図14に示される装置1400内の処理ユニット1402は、少なくとも1つのプロセッサ1701によりメモリ1703内のコードを呼び出すことによって実装され得ること、ならびに、図14に示される装置1400内の送信ユニット1401は、通信インタフェース1704を使用して実装され得ること、を理解し得る。
随意に、プロセッサ1701は、汎用中央処理装置(central processing unit、CPU)、ネットワークプロセッサ(network processor、NP)、マイクロプロセッサ、特定用途向け集積回路(application-specific integrated circuit、ASIC)、または本出願の解決策のプログラム実行を制御するように構成された1つまたは複数の集積回路であり得る。
バスシステム1702は、前述の構成要素相互間で情報を伝送するためのチャネルを含むことができる。
通信インタフェース1704は、別のデバイスまたは通信ネットワークと通信するように構成される。
メモリ1703は、読み取り専用メモリ(read-only memory、ROM)もしくは静的情報および命令を保存することができる別のタイプの静的記憶デバイス、またはランダムアクセスメモリ(random access memory、RAM)もしくは情報および命令を保存することができる別のタイプの動的記憶デバイスであり得る、あるいは、電気的消去可能プログラマブル読み取り専用メモリ(electrically erasable programmable read-only memory、EEPROM)、コンパクトディスク読み取り専用メモリ(compact disc read-only memory、CD-ROM)もしくは別のコンパクトディスクストレージ、光ディスクストレージ(コンパクトディスク、レーザーディスク(登録商標)、光ディスク、デジタル多用途ディスク、ブルーレイディスクなどを含む)、ディスク記憶媒体もしくは別のディスク記憶デバイス、または命令もしくはデータ構造の形態で予想されるプログラムコードを搬送もしくは保存するために使用されることができかつコンピュータによってアクセスされることができる他の媒体であり得るが、これは本明細書では限定されるものではない。メモリは、独立して存在し、バスを介してプロセッサに接続され得る。あるいは、メモリは、プロセッサと一体化され得る。
メモリ1703は、独立して存在し、通信バス1702を介してプロセッサ1701に接続され得る。メモリ1703は、代替として、プロセッサ1701に統合され得る。
随意に、メモリ1703は、本出願の解決策を実行するためのプログラムコードまたは命令を保存するように構成され、プロセッサ1701は実行を制御する。プロセッサ1701は、メモリ1703に保存されたプログラムコードを実行するように構成される。プログラムコードは、1つまたは複数のソフトウェアモジュールを含むことができる。随意に、プロセッサ1701は、本出願の解決策を実行するためのプログラムコードまたは命令を保存することもできる。
特定の実装形態では、一実施形態では、プロセッサ1701は、1つまたは複数のCPU、例えば図17のCPU 0およびCPU 1を含むことができる。
特定の実装形態では、一実施形態では、装置1700は、複数のプロセッサ、例えば図17のプロセッサ1701およびプロセッサ1707を含むことができる。プロセッサはそれぞれ、シングルコア(single-CPU)プロセッサまたはマルチコア(multi-CPU)プロセッサであり得る。本明細書におけるプロセッサは、データ(例えば、コンピュータプログラム命令)を処理するように構成された1つまたは複数のデバイス、回路、および/または処理コアを指すことができる。
通信インタフェース1704は、トランシーバなどの任意の装置を使用して、別のデバイスまたは通信ネットワークと通信するように構成される。通信ネットワークは、イーサネット、無線アクセスネットワーク(RAN)、無線ローカルエリアネットワーク(wireless local area network、WLAN)などであり得る。本出願のこの実施形態では、通信インタフェース1704は、セグメントルーティングネットワーク内の別のネットワークデバイスによって送信されたパケットを受信するか、またはセグメントルーティングネットワーク内の別のネットワークデバイスにパケットを送信するように構成され得る。通信インタフェース1704は、イーサネット(Ethernet)インタフェース、高速イーサネット(Fast Ethernet、FE)インタフェース、またはギガビットイーサネット(Gigabit Ethernet、GE)インタフェースであり得る。
図18は、本出願の一実施形態による装置1800の構造の概略図である。装置1800は、図1、図2、図3、図4、図7、図8、図9、図10、または図11に示される実施形態で提供されるネットワークデバイスのいずれか1つであり得る。図18に示されるデバイスの構造の概略図を参照されたい。装置1800は、主制御ボードと1つまたは複数のインタフェースボードとを含む。主制御ボードおよびインタフェースボードは通信可能に接続される。主制御ボードは、主処理ユニット(main processing unit、MPU)またはルートプロセッサカード(route processor card)とも呼ばれる。主制御ボードは、ルート計算、デバイス管理、および機能保守を含む、装置1800内の各構成要素を制御し管理する役割を担う。インタフェースボードは、ライン処理ユニット(line processing unit、LPU)またはラインカード(line card)とも呼ばれ、データを転送するように構成される。いくつかの実施形態では、装置1800は、スイッチングボードも含むことができる。スイッチングボードは、主制御ボードおよびインタフェースボードに通信可能に接続される。スイッチングボードは、インタフェースボード相互間でデータを転送するように構成される。スイッチングボードは、スイッチ構成ユニット(switch fabric unit、SFU)と呼ばれることもある。インタフェースボードは、中央処理装置、メモリ、転送チップ、および物理インタフェースカード(physical interface card、PIC)を含む。中央処理装置は、メモリ、ネットワークプロセッサ、および物理インタフェースカードに通信可能に接続される。メモリは、転送テーブルを保存するように構成される。転送チップは、メモリに保存された転送テーブルに基づいて、受信されたデータパケットを転送するように構成される。データパケットの宛先アドレスが装置1800のアドレスである場合、データパケットは、処理のために中央処理装置(central processing unit、CPU)、例えば中央処理装置1831に送信される。データパケットの宛先アドレスが装置1800のアドレスではない場合、宛先アドレスに対応するネクストホップおよびアウトバウンドインタフェースが、宛先アドレスに基づいて転送テーブルから見つけられ、データパケットは、宛先アドレスに対応するアウトバウンドインタフェースに転送される。転送チップは、ネットワークプロセッサ(network processor、NP)であり得る。サブカードとも呼ばれるPICは、インタフェースボードに取り付けられ得る。PICは、光信号または電気信号をデータパケットに変換し、データパケットの有効性を確認し、データパケットを処理のために転送チップに転送する役割を担う。いくつかの実施形態では、中央処理装置はまた、転送チップの機能を実行してもよく、例えば、汎用CPUに基づいてソフトウェア転送を実装してもよく、その結果、インタフェースボードは転送チップを必要としない。主制御ボードとインタフェースボードとスイッチングボードとの間の通信接続は、バスを使用することによって実装され得る。いくつかの実施形態では、転送チップは、特定用途向け集積回路(application-specific integrated circuit、ASIC)またはフィールドプログラマブルゲートアレイ(field programmable gate array、FPGA)として実装され得る。
論理的には、装置1800は、制御プレーンおよび転送プレーンを含む。制御プレーンは、主制御ボードおよび中央処理装置を含む。転送プレーンは、メモリ、PIC、NPなどの、転送を実行するための構成要素を含む。制御プレーンは、ルータの機能などの機能を実行して、転送テーブルを生成し、シグナリングパケットおよびプロトコルパケットを処理し、デバイスのステータスを構成し維持する。制御プレーンは、生成された転送テーブルを転送プレーンに送達する。転送プレーン上で、NPは、制御プレーンによって送達された転送テーブルに基づいて装置1800のPICによって受信されたパケットを転送するためにテーブルを検索する。制御プレーンによって送達された転送テーブルはメモリに保存され得る。いくつかの実施形態では、制御プレーンおよび転送プレーンは完全に分離されていてもよく、同じデバイス上には存在しない。以下、図3に示される実施形態を参照して前述のプロセスについて簡単に説明する。
図3に記載の方法に示されるように、第2のネットワークデバイスは、物理インタフェースカード1833を介して複数の第1のパケットを送信し、複数の第1のパケットを処理のためにCPU 1831に送信することができる。CPU 1831は、第1のパケット内のターゲットSIDの可用性に基づいて第1のパケットを処理することができる。
1つまたは複数の主制御ボードがあってもよく、複数の主制御ボードがあるとき、主制御ボードは、一次主制御ボードおよび二次主制御ボードを含むことができることに留意されるべきである。1つまたは複数のインタフェースボードがあってもよい。より強いデータ処理能力を有するネットワークデバイスは、より多くのインタフェースボードを提供する。インタフェースボード上には1つまたは複数の物理インタフェースカードがあってもよい。スイッチングボードがなくてもよく、または1つまたは複数のスイッチングボードがあってもよい。複数のスイッチングボードがあるとき、負荷分担および冗長バックアップが複数のスイッチングボードによって共同で実施され得る。集中転送アーキテクチャでは、ネットワークデバイスはスイッチングボードを必要としない場合があり、インタフェースボードはシステム全体でのサービスデータを処理する機能を提供する。分散転送アーキテクチャでは、ネットワークデバイスは少なくとも1つのスイッチングボードを有することができ、大容量データ交換および処理能力を提供するために、複数のインタフェースボードの間のデータ交換はスイッチングボードを使用して実施される。したがって、分散アーキテクチャにおけるネットワークデバイスのデータアクセスおよび処理能力は、集中アーキテクチャにおけるデバイスのデータアクセスおよび処理能力よりも優れている。随意に、ネットワークデバイスは、代替として、カードが1つしかない形態であってもよい。具体的には、スイッチングボードはなく、インタフェースボードおよび主制御ボードの機能がカード上に統合される。この場合、インタフェースボード上の中央処理装置および主制御ボード上の中央処理装置は、2つの中央処理装置が組み合わされた後に得られる機能を実行するために、カード上の1つの中央処理装置に組み合わされてもよい。この形態のデバイス(例えば、ローエンドスイッチやルータなどのネットワークデバイス)は、比較的弱いデータ交換および処理能力を有する。具体的にどのアーキテクチャが使用されるかは、特定のネットワーキング配備シナリオに依存する。これは、本明細書では限定されない。
本発明のこの実施形態で提供されるネットワークデバイスは、図1~図11の方法の実施形態における任意のネットワークデバイスに対応することができ、ネットワークデバイスの機能ならびに/あるいは前述の方法の実施形態においてネットワークデバイスによって実施される様々なステップおよび方法を実施することができる。上記は、簡単な例の説明にすぎない。簡潔にするため、詳細はここでは再度説明されない。
図19は、本出願の一実施形態によるパケット処理システム1900の概略図である。本出願のこの実施形態で提供されるシステム1900は、図12に示される実施形態で提供される装置1200および図13に示される実施形態で提供される装置1300を含むことができる、または図15に示される実施形態で提供される装置1500および図16に示される実施形態で提供される装置1600を含むことができる、または図18に示される実施形態で提供される装置1800を含むことができる。
図12に示される実施形態で提供される装置1200、図15に示される実施形態で提供される装置1500、または図18に示される実施形態で提供される装置1800は、第1のデバイス1901と呼ばれる場合がある。図13に示される実施形態で提供される装置1300、図16に示される実施形態で提供される装置1600、または図18に示される実施形態で提供される装置1800は、第2のデバイス1902と呼ばれる場合がある。
第1のデバイス1901は第2のデバイス1902と通信する。
可能な実施態様では、第2のデバイス1902は、図3に示される実施形態において第1のネットワークデバイスによって実行される方法のステップおよび関連する随意の方法を実行することができ、第1のデバイス1901は、図3に示される実施形態において第2のネットワークデバイス、第3のネットワークデバイス、または第4のネットワークデバイスによって実行される方法のステップおよび関連する随意の方法を実行することができる。
可能な実施態様では、第1のデバイス1901は、図7に示される実施形態で提供されるネットワークデバイス11またはネットワークデバイス12によって実行される方法のステップおよび関連する随意の方法を実行することができ、第2のデバイス1902は、図7に示される実施形態で提供されるネットワークデバイス11によって実行される方法のステップおよび関連する随意の方法を実行することができる。
可能な実施態様では、第1のデバイス1901は、図8に示される実施形態で提供されるネットワークデバイス15またはネットワークデバイス12で実行される方法のステップおよび関連する随意の方法を実行することができ、第2のデバイス1902は、図8に示される実施形態で提供されるネットワークデバイス15によって実行される方法のステップおよび関連する随意の方法を実行することができる。
可能な実施態様では、第1のデバイス1901は、図9または図10に示される実施形態で提供されるネットワークデバイス11またはネットワークデバイス12によって実行される方法のステップおよび関連する随意の方法を実行することができ、第2のデバイス1902は、図9または図10に示される実施形態で提供されるネットワークデバイス11によって実行される方法のステップおよび関連する随意の方法を実行することができる。
可能な実施態様では、第1のデバイス1901は、図11に示される実施形態で提供されるネットワークデバイス12またはネットワークデバイス13によって実行される方法のステップおよび関連する随意の方法を実行することができ、第2のデバイス1902は、図11に示される実施形態で提供されるネットワークデバイス12によって実行される方法のステップおよび関連する随意の方法を実行することができる。
可能な方法では、図20を参照されたい。システム1900は、図14に示される実施形態で提供される装置1400または図17に示される実施形態で提供される装置1700をさらに含む。
図14に示される実施形態で提供される装置1400または図17に示される実施形態で提供される装置1700は、制御デバイス1903であり得る。
制御デバイス1903は、図3に示される実施形態で制御デバイスなどによって実行される方法のステップおよび関連する随意の方法を実行することができる。
当業者であれば、本明細書で開示された実施形態に説明された例と組み合わせて、方法のステップおよびユニットが、電子ハードウェア、コンピュータソフトウェア、またはそれらの組合せによってされ実装され得ることを認識することができる。ハードウェアとソフトウェアとの間の互換性を明確に説明するために、上記では、機能に従って各実施形態のステップおよび組成を一般的に説明した。機能がハードウェアによって実行されるかソフトウェアによって実行されるかは、技術的解決策の特定の用途および設計上の制約に依存する。当業者は、特定の用途ごとに記載された機能を実装するために様々な方法を使用することができるが、その実装形態が本出願の範囲を超えると考えられるべきではない。
簡便な説明のために、前述のシステム、装置、およびユニットの詳細な動作プロセスについては、前述の方法の実施形態における対応するプロセスを参照すべきことが、当業者には明確に理解され得る。詳細はここでは再度説明されない。
本出願で提供されるいくつかの実施形態では、開示された装置および方法は別の方式で実装され得ることが理解されるべきである。例えば、説明された装置の実施形態は例にすぎない。例えば、ユニットへの分割は、論理的な機能の分割にすぎず、実際の実装では他の分割であってもよい。例えば、複数のユニットまたは構成要素が組み合わされるか、または別のシステムに統合されてもよく、あるいは、いくつかの特徴が無視されるか、または実行されなくてもよい。加えて、表示または議論された相互結合もしくは直接結合または通信接続は、いくつかのインタフェースを介して実施されてもよく、装置またはユニット相互間の間接結合または通信接続は、電気の形態または別の形態で実施されてもよい。
別々の部分として説明されたユニットは、物理的に分離している場合もそうでない場合もあり、ユニットとして表示された部分が物理ユニットである場合もそうでない場合もあり、一箇所に配置される場合もあり、または複数のネットワークユニット上に分散される場合もある。ユニットの一部または全部は、本出願の実施形態の解決策の目的を達成するために実際の要件に基づいて選択されてもよい。
加えて、本出願の実施形態における処理ユニットは、複数の機能ユニットに分散され得る、または1つの処理ユニットに統合され得る。ユニットのそれぞれが物理的に単独で存在し得る、または2つ以上のユニットが1つのユニットに統合され得る。統合ユニットは、ハードウェアの形態で実装され得る、またはソフトウェア機能ユニットの形態で実装され得る。
上記の実施形態の全部または一部が、ソフトウェア、ハードウェア、ファームウェア、またはこれらの任意の組合せを用いて実現され得る。ソフトウェア、ファームウェア、またはソフトウェアとハードウェアの組合せが実施形態を実現するために使用されるとき、実施形態の全部または一部が、コンピュータプログラム製品の形態で実現され得る。コンピュータプログラム製品は、1つまたは複数のコンピュータプログラム命令を含む。コンピュータプログラム命令がロードされ、コンピュータにおいて実行されると、本出願の実施形態による手順または機能が全体的にまたは部分的に生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または別のプログラマブル装置であり得る。コンピュータ命令は、コンピュータ可読記憶媒体に保存され得る、またはコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に伝送され得る。例えば、コンピュータ命令は、ウェブサイト、コンピュータ、サーバ、またはデータセンタから別のウェブサイト、コンピュータ、サーバ、またはデータセンタに有線または無線方式で伝送され得る。コンピュータ可読記憶媒体は、コンピュータによってアクセスされ得る任意の媒体であり得る、あるいは、1つまたは複数の媒体が統合される、サーバやデータセンタなどのデータ記憶デバイスであり得る。媒体は、磁気媒体(例えば、フロッピーディスク、ハードディスク、または磁気テープ)、光学媒体(例えば、光ディスク)、半導体媒体(例えば、ソリッドステートドライブ)などであり得る。
本出願の目的、技術的解決策、および利点は、前述の特定の実施形態で詳細にさらに説明されている。前述の説明は、本出願の特定の実施形態にすぎず、本出願の保護範囲を限定することを意図するものではないことを理解されたい。本出願の技術的解決策に基づいて行われた修正、同等の交換、または改善は、本出願の保護範囲に含まれるものとする。