この出願の目的、技術的解決策、及び利点をより明確にするために、以下では、添付図面を参照してこの出願の実施態様を詳細に更に説明する。
この出願では、「第1」及び「第2」などの用語は、基本的に同じ機能を有する同じ項目又は類似の項目を区別するために使用される。「第1」と「第2」との間に論理的又は時間的順序の依存関係はなく、数量及び実行順序が限定されないことが理解されるべきである。以下の説明では、「第1」及び「第2」などの用語を使用して様々な要素を説明するが、これらの要素はこれらの用語によって限定されるべきではないことが更に理解されるべきである。これらの用語は、単に1つの要素を別の要素と区別するために使用される。例えば、様々な例の範囲から逸脱することなく、第1のネットワークデバイスは第2のネットワークデバイスと呼ばれることができる。同様に、第2のネットワークデバイスは、第1のネットワークデバイスと呼ばれる場合がある。第1のネットワークデバイスと第2のネットワークデバイスの両方は、ネットワークデバイスであってもよく、場合によっては、別個の異なるネットワークデバイスであってもよい。例えば、様々な例の範囲から逸脱することなく、第1のプロテクションパスが第2のプロテクションパスと称され得る。同様に、第2のプロテクションパスが第1のプロテクションパスと呼ばれてもよい。第1のプロテクションパス及び第2のプロテクションパスの両方は、プロテクションパスであってもよく、場合によっては、別個の異なるプロテクションパスであってもよい。
この出願における「少なくとも1つ」という用語は1つ以上を意味し、この出願における「複数の」という用語は2つ以上を意味する。例えば、「複数のセグメント識別子(Segment ID,SID)」は、2つ以上のSIDを意味する。
この明細書の様々な例の説明で使用される用語は、単に特定の例を説明することを意図しており、限定を構成することを意図していないことが理解されるべきである。様々な例及び添付の特許請求の範囲の説明で使用される単数形の用語「1つ」(「a」又は「an」)及び「その(the)」もまた、文脈において明確に別段定められなければ、複数形を含むことが意図される。
プロセスの順序番号は、この出願の様々な実施形態における実行順序を意味しないことが更に理解されるべきである。プロセスの実行順序は、プロセスの機能と内部ロジックとに基づいて決定されるべきであり、この出願の実施形態の実施プロセスを制限するものとして解釈されるべきでない。
Aに基づいてBを決定することが、BがAのみに基づいて決定されることを意味するだけでなく、これとは異なり、BがA及び/又は他の情報に基づいて決定されてもよいと理解されるべきである。
この明細書中で用いられる用語「含む(include)」(「含む(includes)」、「備える(comprises)」及び/又は「備えている(comprising)」とも称される)は、記載されている特徴、整数、ステップ、動作、要素及び/又は構成要素の存在を示し、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素及び/又はこれらの集団の存在又は付加を除外しない、と更に理解されるべきである。
用語「の場合(if)」及び「と仮定する(assuming that)」は、「のとき(when)」(「のとき(when)」又は「の際(upon)」)、「との決定に応じて(in response to determining)」又は「の検出に応じて(in response to detecting)」又は「に基づいて(based on)」という意味に解釈される場合があると更に理解されるべきである。同様に、文脈に応じて、「と決定される場合(when it is determined that)」又は「(記載されている条件もしくは事象)が検出される場合(if(a stated condition or event)is detected)」という表現は、「と決定されるとき(when it is determined that)」、「との決定に応じて(in response to determining)」、「(記載されている条件もしくは事象)が検出されるとき(when(a stated condition or event)is detected)」又は「(記載されている条件もしくは事象)の検出に応じて(in response to detecting(a stated condition or event))」又は「決定された(記載されている条件もしくは事象)に基づいて(based on a determined(stated condition or event))」という意味に解釈される場合がある。
明細書全体にわたって言及されている「1つの実施形態(one embodiment)」、「一実施形態(an embodiment)」又は「想定し得る実施(a possible implementation)」は、実施形態又は実施に関係する特定の特徴、構成又は特性がこの出願の少なくとも1つの実施形態に含まれることを意味すると理解されるべきである。したがって、この明細書にわたって登場する「1つの実施形態では」、「一実施形態では」、又は「想定し得る実施では」は、必ずしも同じ実施形態を意味しない。加えて、これらの特定の特徴、構造、又は特性は、1つ以上の実施形態において、任意の適切な方式を使用して組み合わされることができる。
この出願の実施形態で提供されるパケット処理方法は、SLA保証が必要とされるシナリオ、例えば、帯域幅、遅延、又は別の送信性能パラメータを確保する必要があるシナリオに適用されることができる。具体的には、この出願の実施形態におけるパケット処理方法は、BFD検出シナリオ、ping検出接続性シナリオ、OAM検出シナリオ、TWAMP検出シナリオ、IFITシナリオ、又はデータパケット送信シナリオに適用されることができる。この出願の実施形態におけるパケット処理方法は、限定はしないが、SRv6シナリオ、SR-TEシナリオ、又は別のシナリオを含む、送信元ルーティングに基づいてパケットが送信される任意のシナリオに適用されることができる。
以下では、幾つかの用語を個別に簡単に説明する。
サービスレベル合意(フルネーム:service level agreement、略してSLA):サービスレベル合意は、一般に、サービスプロバイダとユーザとの間又は異なるサービスプロバイダ間で署名された合意であり、サービスプロバイダによって提供されるサービスレベル及び品質を定める。電気通信ネットワーク技術の分野では、SLAパラメータ又は性能インジケータは、通常、遅延、帯域幅、スループット、可用性、パケット損失率などを含む。SLA保証が必要とされるシナリオでは、エンドツーエンドサービスが安定した帯域幅及び遅延を必要とする。これを考慮して、別々のアクティブパス及びバックアップパスが、通常、サービスパスに関して事前に計画される。事前に計画されたアクティブパス及びバックアップパスはいずれも、帯域幅要件又は遅延要件などのSLA要件を満たす。しかしながら、ローカルプロテクションパスは、最大リンク接続性のみを確保することができるが、帯域幅又は遅延を確保することはできない。プライマリパス上でローカル障害が起こると、プライマリパスに沿うノードが局所的な保護機構を有効にするため、プライマリパス上のトラフィックはローカルプロテクションパスに切り替えられる。しかしながら、この場合、ローカルプロテクションパスは、サービスのエンドツーエンドのSLA保証要件を満たすことができず、サービスは、エンドツーエンドのバックアップパスに迅速に切り替えられる必要がある。
双方向転送検出(Bidirectional Forwarding Detection,BFD):BFDは、ネットワーク上のリンク又はIPルートの転送接続状況を監視するための高速検出のために使用される。BFDは、高速収束を達成するために、様々な内部ゲートウェイプロトコル(Interior Gateway Protocol,IGP)及び境界ゲートウェイプロトコル(Border Gateway Protocol,BGP)と共に使用されることが多い。デフォルトでは、BFDセッションが確立され、予め設定された間隔(例えば、1秒)でBFD検出パケットが送信される。BFD実装原理は、送信元ノードが検出パケットを送信し、送信先ノードが検出パケットを受信した後に検出パケットに応答し、ヘッドノードが応答パケットを受信した後に検出が成功したと見なすことである。障害シナリオでは、ヘッドノードによって送信された検出パケットは、障害のあるトランジットノードによって廃棄され、送信先ノードに正常に送信され得ない。その結果、送信先ノードは、対応する応答パケットを送信することができない。最後に、ヘッドノードは、応答パケットを受信しないため、リンク障害が起こると見なす。
パケットインターネットグルーパ(Packet Internet Groper,Ping):pingは、ネットワーク接続性及びホスト到達可能性をチェックするために主に使用される。送信元ホストは、送信先ホストにICMP(Internet Control Message Protocol)要求パケットを送信し、送信先ホストは、送信元ホストにICMP応答パケットを送信する。pingコマンドは、ネットワークデバイスのアクセス可能性をチェックするための最も一般的なデバッグツールである。このツールは、ICMPエコー情報を使用してリモートデバイスが利用可能かどうかを決定し、リモートデバイスの通信のラウンドトリップ(round-trip)における遅延(delay)パケット(packet)の損失状況を検出し、例えば、Pingを使用して、IPv4パケットを伝送するラベル配布プロトコル(Label Distribution Protocol,LDP)トンネルの接続性及びIPv6パケット及びIPv4パケットを伝送するトラフィックエンジニアリング(Traffic Engineering,TE)トンネルのLDPトンネルの接続性を検出することができ、又は、トレイサート(Tracert)コマンドを使用して、IPv4パケットを伝送するLDPトンネルのパス情報又は障害位置及びIPv4パケットを伝送するTEトンネルのパス情報又は障害位置を検出することができる。
運用、管理、及び保守(Operations,Administration and Maintenance,OAM):OAMは、パス接続を監視し、障害を迅速に検出するために主に使用される。SR OAM(Operations,Administration and Maintenance)は、ラベルスイッチドパス(LSP)接続性を監視し、障害を迅速に検出するために主に使用される。現在、SR OAMは、Ping及びTracertを介して主に実装される。
双方向アクティブ測定プロトコル(two-Way Active Measurement Protocol,TWAMP):TWAMPは、インターネットプロトコル(Internet Protocol,IP)リンクのために使用される性能測定技術であり、順方向及び逆方向の双方向性能測定を実行することができる。TWAMPは、測定プローブとしてユーザデータグラムプロトコル(User Datagram Protocol,UDP)データパケットを使用して、双方向ネットワーク遅延及びジッタ測定を実行する。更に、プロトコルは安全であり、制御機能と測定機能との分離を確保することができる。TWAMPが展開されたネットワークデバイス間の協調により、デバイス間のIP性能統計データが効果的に取得されることができる。
インターネット・プロトコル・データ・フローベース・チャネル関連OAM性能測定(in-situ Flow information Telemetry,IFIT):IFITは、実際のサービスフローに基づく原位置フロー測定技術である。具体的には、IFITは、実際のサービスフローに対して特徴マーキング(色付け)を実行し、特徴フィールドに対してパケット損失の原位置フロー検出及び遅延測定を実行する。従来の能動的及び受動的測定技術と比較して、IFITは、より高い測定精度及びより単純な運用、管理及び保守を有する。更に、IFITは、iOAM/INTなどの現位置流量測定技術と比較して、オーバーヘッドが少なく、より正確な境界を実装する。更に、IPフロー性能測定(IP Flow Performance Measurement,IP FPM)と比較して、IFITは、既存のネットワークとより互換性があり、展開がより容易であり、拡張がより柔軟である。IP RAN IFITは、エンドツーエンド及びホップバイホップSLA(パケット損失率、遅延、ジッタ、及びリアルタイムトラフィックを主に含む)のIPサービスフローレベルを測定するための機能を提供し、ネットワーク障害を迅速に検出し、正確な境界及びトラブルシューティングを実行することができ、将来の5Gモバイルベアラネットワークの運用、管理、及び保守を実行するための重要な方法である。
この出願はSR技術の適用に関するため、以下ではSR技術における幾つかの用語について説明する。
セグメントルーティング(英語:Segment Routing、略してSR):SRは、ネットワーク上でパケットを転送するために送信元ルーティングに基づいて設計された技術である。セグメントルーティングは、ネットワークパスをセグメントに分割し、セグメント識別子(Segment ID,SID)をネットワーク上のセグメント及び転送ノードに割り当てる。SIDは、セグメントリスト(Segment List)を得るために順次配置される。セグメントリストは、パケット転送パスを示すことができる。SR技術に基づいて、トラフィック最適化要件を満たすために、セグメントリストを伝送するパケットが通過するノード及びパスが指定されることができる。例えば、パケットは荷物と比較されてもよく、SRは荷物上のラベルと比較されてもよい。荷物を領域Aから領域B及び領域Cを通って領域Dに送る必要がある場合、ラベル「最初に領域Bに、次いで領域Cに、最後に領域Dに」は、起点領域、すなわち領域Aで荷物に付けられることができる。このようにして、各領域では、荷物上のラベルのみが識別される必要があり、荷物は、荷物上のラベルに基づいてある領域から別の領域に転送される。SR技術に基づいて、送信元ノードはパケットにラベルを付加し、トランジットノードは、パケットが送信先ノードに到着するまで、ラベルに基づいてパケットを次のノードに転送することができる。パケットのパケットヘッダには、例えば、<SID1,SID2,SID3>が挿入される。この場合、パケットは、まず、SID1に対応するノードに転送され、SID2に対応するノードに転送され、次いで、SID3に対応するノードに転送される。
SRトンネル(SR Tunnel):SRトンネルは、ヘッドノードがセグメントリストをパケットヘッダにカプセル化するトンネルであり、管理者によって手動で作成されてもよく、NETCONF又はPCEPなどのインタフェースプロトコルを介してコントローラによって自動的に作成されてもよい。1つのSRトンネルは、トラフィックエンジニアリングTE、OAM、FRR等のために使用され得る。
SRラベルスイッチドパス(Label Switched Path,LSP):SR LSPは、SR技術を使用して確立されたラベル転送パスである。プレフィックス又はノードセグメントは、データパケット転送を案内するために使用される。1つのSRトンネルは、1つ以上のSR LSPを含み得る。
セグメントルーティング-トラフィックエンジニアリング(Segment routing-traffic engineering、SR-TE):SR-TEは、制御プロトコルとしてSRを使用する新しいTEトンネル技術である。コントローラは、トンネル転送パスを計算し、そのパスに厳密に対応するラベルスタックをフォワーダに配信する役割を担う。SR-TEトンネル上の入口ノードでは、フォワーダは、ラベルスタックに基づいてネットワーク上のパケットの伝送パスを制御することができる。ラベルスタックは、ラベル配置セットであり、完全なラベルスイッチドパス(Label Switched Path,LSP)を識別するために使用される。ラベルスタック内の各隣接ラベルは特定の隣接を識別し、ラベルスタック全体は、完全なラベルスイッチドパスLSPの全ての隣接を識別する。パケット転送中に、ラベルスタック内の各隣接ラベルに基づいて対応する隣接が発見され、各ラベルはポップアウトされた後に転送される。ラベルスタック内の全ての隣接ラベルがポップアウトされた後、パケットは完全なLSPを通過し、SR-TEトンネルの送信先デバイスに到達する。
SRv6技術:SRv6技術は、IPv6ネットワークにSR技術を適用することを意味する。SRv6 SIDは、IPv6アドレス(128ビット)を使用して符号化され、SRv6拡張ヘッダ(SRH)にカプセル化される。パケット転送中、SRv6認識ノードは、パケット内の送信先アドレス(Destination Address,DA)に基づいてローカルSIDテーブル(ローカルSIDテーブル)を検索する。パケット内の送信先アドレスがローカルSIDテーブル内の任意のSIDと一致する場合、送信先アドレスがローカルSIDテーブルにヒットすると決定される。この場合、SIDに対応するトポロジ、命令、又はサービスに基づいて、対応する動作が実行される。パケットの送信先アドレスがローカルSIDテーブル内のいかなるSIDとも一致しない場合、IPv6ルーティング転送テーブルが送信先アドレスに基づいて検索され、パケットは、ルーティング転送テーブル内の送信先アドレスにヒットするルーティング転送テーブルに基づいて転送される。
ローカルSIDテーブル(ローカルSIDテーブルとも呼ばれるローカルSIDテーブル):ローカルSIDテーブルは、SRv6対応ノードによって維持されるテーブルである。ローカルSIDテーブルは、ローカルノードによって生成されたSRv6 SIDを含む。SRv6転送テーブルFIBは、ローカルSIDテーブルに基づいて生成されてもよい。ローカルSIDテーブルは、以下の3つの機能を有する。1.局所的に生成されたSID、例えば、End.X SIDを定義する。2.これらのSIDに結び付けられた命令を指定する。3.命令に関連する転送情報、例えば、アウトバウンドインタフェース及び次ホップを記憶する。幾つかの実施形態では、入力内のコマンド「display segment-routing ipv6 local-sid」の後、デバイス上に構成されたSRv6のローカルSIDテーブルが見られることができる。コマンドは、SRv6 EndのローカルSIDテーブルを見ることを指定するために、パラメータEndを伝送することができる。コマンドは、SRv6 End.XのローカルSIDテーブルを見ることを指定するために、パラメータEnd.Xを伝送することができる。コマンドは、SRv6 End.DT4のローカルSIDテーブルを見ることを指定するために、パラメータEnd.DT4を伝送することができる。
SRv6パケット:IPv6パケットは、標準のIPv6ヘッダと、拡張ヘッダ(0...n)と、ペイロード(Payload)とから成る。IPv6転送プレーンに基づいてSRv6を実装するために、SRHと呼ばれるIPv6拡張ヘッダが付加される。拡張ヘッダは、IPv6明示パスを指定し、IPv6セグメントリスト情報を記憶する。拡張ヘッダの機能は、SR MPLSにおけるセグメントリストと同じである。ヘッドノードは、SRH拡張ヘッダをIPv6パケットに付加し、その結果、トランジットノードは、SRH拡張ヘッダに含まれるパス情報に基づいてパケットを転送することができる。拡張ヘッダを付加することによって、SRは元のIPv6転送プレーンと円滑に統合される。
SRv6パケット内のIPv6ヘッダは、送信元アドレス(source address,SA)及び送信先アドレス(destination address,DA)を含み得る。一般的なIPv6パケットでは、IPv6 DAが固定される。SRv6において、IPv6 DAは、現在のパケットの次のノードを識別する。SRトンネル上では、ホップバイホップ転送を実施するために、SRノードが送信先アドレスを連続的に更新することができる。IPv6ヘッダ内の送信先アドレスで伝送されるSIDは、アクティブSIDと呼ばれることがある。
SRv6パケットにおけるSRHは、IPv6拡張ヘッダである。SRHは、IPv6転送プレーンに基づいてSRv6を実装するために使用される。SRHはセグメントリストを含み得る。セグメントリストは、1つ以上のSIDを含んでもよく、各SIDはIPv6アドレスの形態を成し得る。したがってセグメントリストは、明示的なIPv6アドレススタックとしても理解され得る。セグメントリストはSegment List [n] として表わされてもよく、Segment List [n]の長さは128*nビットであり、Segment List [n]はパスの最後のセグメントから開始して符号化されてもよい。Segment ListはIPv6アドレス形式である。
SRHは、(2.1)乃至(2.9)を含んでもよい。
(2.1)セグメントリスト
セグメントリストは、1つ以上のSIDを含んでもよく、各SIDはIPv6アドレスの形態を成し得る。したがってセグメントリストは、明示的なIPv6アドレススタックとしても理解され得る。セグメントリストはSegment List [n] として表わされてもよく、Segment List [n]の長さは128*nビットであり、Segment List [n]はパスの最後のセグメントから開始して符号化されてもよい。Segment ListはIPv6アドレス形式である。
(2.2)左セグメント(Segments Left,SL)
SLは、送信先ノードが到達される前に依然としてアクセスされる必要があるトランジットノードの数を示すために使用され、SLフィールドは、残りのノードフィールドとも呼ばれ得る。SLフィールドの値は、セグメントリスト内のアクティブなSIDを示すことができる。SLの長さは8ビットであってもよい。例えば、セグメントリストが5つのSID、すなわち、SID0、SID1、SID2、SID3、及びSID4を含み、SLの値が2である場合、それは、セグメントリストに2つの未処理のSID、すなわち、SID0及びSID1、セグメントリストに現在処理されている1つのSID、すなわち、SID2、並びにセグメントリストに2つの処理済みのSID、すなわち、SID3及びSID4があることを示す。
(2.3)1つ以上のTLV
TLVは、符号化フォーマットであり、タイプ(type)、長さ(length)、値(value)を含む。SRHは、1つのTLVを含んでもよく、複数のTLVを含んでもよい。SRH内の異なるTLV間には、並列関係又は入れ子関係があり得る。
更に、図9に示すように、SRHは、以下のフィールドを更に含むことができる。
(2.4)次ヘッダ(Next Header):SRv6パケットは、拡張ヘッダの後に、1つ以上の拡張ヘッダ又は1つ以上の上位層ヘッダを更に含んでもよく、Next Headerは、SRHの直後のヘッダのタイプを識別するのに用いられる。次ヘッダフィールドの長さは8ビットであってもよい。
(2.5)ヘッダ拡張長(英語:header Extended Length、略してHdr Ext Len)フィールド:Hdr Ext Lenフィールドは、SRHヘッダの長さを示すために使用される。ヘッダ拡張長フィールドは、Segment List [0] からSegment List [n] までの長さを主に示す。ヘッダ拡張長フィールドは、8ビットであり得る。
(2.6)ルーティングタイプ(Routing Type)フィールド:ルーティングタイプフィールドは、ルートヘッダタイプを識別するために使用され、値4はSRH Typeを識別する。ルーティングタイプフィールドの長さは8ビットであってもよい。
(2.7)ラストエントリ(Last Entry)フィールド:Last Entryフィールドは、セグメントリストの最後の要素のインデックスである。Last Entryフィールドの長さは8ビットであってもよい。
(2.8)フラグ(Flags)フィールド:フラグフィールドは、データパケットの幾つかの識別子を示すために使用される。Flagsフィールドの長さは8ビットであってもよい。
(2.9)Tagフィールド:Tagフィールドは、データパケットの同じグループを識別するために使用される。Tagフィールドの長さは16ビットであってもよい。
SRv6パケットのペイロードは、IPv4パケット、IPv6パケット、又はイーサネット(英語:Ethernet)フレームであってもよい。
セグメントルーティング-トラフィックエンジニアリング(Segment routing-traffic engineering、SR-TE)は、制御プロトコルとしてSRを使用する新しいTEトンネル技術である。コントローラは、トンネル転送パスを計算し、そのパスに厳密に対応するラベルスタックをフォワーダに配信する役割を担う。SR-TEトンネル上の入口ノードでは、フォワーダは、ラベルスタックに基づいてネットワーク上のパケットの伝送パスを制御することができる。
ラベルスタックは、ラベル配置セットであり、完全なラベルスイッチドパス(Label Switched Path,LSP)を識別するために使用される。ラベルスタック内の各隣接ラベルは特定の隣接を識別し、ラベルスタック全体は、完全なラベルスイッチドパスLSPの全ての隣接を識別する。パケット転送中に、ラベルスタック内の各隣接ラベルに基づいて対応する隣接が発見され、各ラベルはポップアウトされた後に転送される。ラベルスタック内の全ての隣接ラベルがポップアウトされた後、パケットは完全なLSPを通過し、SR-TEトンネルの送信先デバイスに到達する。
この出願の実施形態は、保護切り替え技術の適用に関し、特に、エンドツーエンド保護技術及び局所的な保護技術の適用に関する。理解を容易にするために、以下では、この出願の実施形態における保護切替技術の関連概念について最初に説明する。
トンネルは、2点間のエンドツーエンドパスのセットである。2つの点は、それぞれトンネルの始点及びトンネルの終点と呼ばれる。トンネルは、1つ以上のパスを含む。任意選択で、トンネルに含まれるパスはLSPである。図1に示すように、例えば、トンネル1は、PE1とPE3との間のパスのセットである。トンネル1は2つのパスを含む。トンネル1に含まれる一方のパスは、PE1->P1->P3->PE3であり、当該パスは、トンネル1に含まれるプライマリパスである。トンネル1に含まれる他方のパスは、PE1->PE2->P2->P4->PE4->PE3であり、当該パスは、トンネル1に含まれるバックアップパスである。別の例では、トンネル2は、PE2とPE4との間のパスのセットである。トンネル2は2つのパスを含む。トンネル2に含まれる一方のパスは、PE2->P2->P4->PE4であり、当該パスは、トンネル2に含まれるプライマリパスである。トンネル2に含まれる他方のパスは、PE2->PE1->P1->P3->PE3->PE4であり、当該パスは、トンネル2に含まれるバックアップパスである。PEはプロバイダエッジ(Provider Edge,PE)デバイスを意味し、Pはプロバイダ(Provider,P)デバイスを意味する。
プライマリパスは、エンドツーエンドで計画されたメインパスである。任意選択で、1つのトンネルに複数の異なるLSPが事前に計画されている場合、プライマリパスはトンネル内のプライマリLSPである。任意選択で、トンネル内に1つのLSPのみが事前に計画されている場合、プライマリパスはLSPであってもよく、トンネルであってもよい。プライマリパス上で発生する障害は、プライマリパス上のノード障害及びプライマリパス上のリンク障害を含む。具体的には、計画されたエンドツーエンドパスは、ノード及び異なるノード間のリンクの2つの要素を含む。プライマリパス上で検出が行われると、送信元ノードはプライマリパス上の出口ノードへパケットを送信する。プライマリパス上のトランジットノードに障害があるか、又はトランジットノードに接続されたリンクに障害がある場合、プライマリパスに障害がある。
ローカルプロテクションパスは、障害点を経由しないプロテクションパスである。例えば、局所的な障害がノード障害である場合、ローカルプロテクションパスは、障害が発生したノードを通過しないパスであり、局所的な障害がリンク障害である場合、ローカルプロテクションパスは、障害が発生したリンクを通過しないパスである。一般に、ローカルプロテクションパスは、障害のあるノード又は障害のあるリンクをスキップするという制約のみを満たし、プライマリパスを置き換えない。ローカルプロテクションパス上のヘッドノードは、通常、プライマリパス上のトランジットノードである。ローカルプロテクションパスは、トポロジ非依存ループフリー代替高速リルート(Topology-Independent Loop-free Alternate FRR,TI-LFA FRR)パス及びミッドポイントトポロジ非依存ループフリー代替(Midpoint TI-LFA)パスを含む。
局所的な保護アルゴリズムは、ローカルプロテクションパスに切り替えるためにトランジットノードによって使用されるアルゴリズムである。例えば、障害が発生したノードの前ホップノードは、局所的な保護アルゴリズムを使用して、障害が発生したノードをスキップするための別のパスを計算し、計算されたパスはローカルプロテクションパスである。
TI-LFA FRRは、SRトンネルのためのリンク及びノード保護を提供する。リンク又はノードに障害がある場合、トラフィックは、継続的な転送のためにバックアップパスに迅速に切り替えられ、その結果、トラフィック損失が最小限に抑えられる。幾つかのLFA FRR及びリモートLFA(Remote LFA)シナリオでは、P空間及びQ空間は交差しないか、又は直接隣接する。その結果、バックアップパスは計算されることができず、信頼性要件は満たされることができない。この場合、TI-LFAが実装される。TI-LFAアルゴリズムを使用することにより、P空間、Q空間、及び収束後(Post-convergence)最短パスツリーは、プロテクションパスに基づいて計算され、修復リスト(Repair List)は、異なるシナリオに基づいて計算され、SRトンネルが送信元ノードとPQノードとの間に確立されて、バックアップ次ホップ保護を形成する。保護リンクに障害がある場合、トラフィックは継続的な転送のためにトンネルバックアップパスに自動的に切り替えられ、その結果、ネットワークの信頼性が向上される。従来のLFA技術は、少なくとも1つの隣接者が送信先ノードへのループフリーの次ホップを有するようにする必要がある。RLFA技術は、少なくとも1つのノードがネットワーク上に存在し、送信元ノードからノードへのパス及びノードから送信先ノードへのパスが障害のあるノードを通過しないようにする必要がある。TI-LFA技術は、バックアップパスを示すために明示的なパスを使用し、トポロジに制限を課さず、より高い信頼性を有するFRR技術を提供することができる。TI-LFAがSRv6ネットワーク上に展開されると、局所的な保護の50 msスイッチング性能が満たされることができる。更に、エンドツーエンドのサービスの50 msのスイッチング性能を満たすべく、エンドツーエンドの障害を迅速に検出するために、SRv6 TE Policy ListのためのSBFDが展開されることができる。
エンドツーエンドプロテクションパスは、グローバルプロテクションパスである。具体的には、エンドツーエンドのプライマリパスの場合、エンドツーエンドのバックアップパスを提供することによってエンドツーエンドの保護が実施され、バックアップパスはエンドツーエンドのプロテクションパスである。エンドツーエンドプロテクションパスは、以下の実施を含む。
方式1:2つの異なるLSPが1つのトンネル(tunnel)内で計画される。2つの異なるLSPは、それぞれプライマリLSP及びバックアップLSPであり、バックアップLSPは、プライマリLSPのエンドツーエンドプロテクションパスである。例えば、ノードAとノードDとの間に2つのエンドツーエンドパス、すなわちパス1 「A-B-D」及びパス2 「A-C-D」が展開されることができる。パス1とパス2との間にはプライマリ/バックアップ関係があり、パス1はプライマリパスとして計画されることができ、パス2はバックアップパスとして計画されることができる。
方式2:送信元から送信先まで2つのトンネルがある。2つのトンネルは、同じソース及びシンクを有する。言い換えれば、送信元ノードは同じであり、シンクノードは同じである。2つのトンネルは、それぞれプライマリトンネル及びバックアップトンネルである。バックアップトンネルは、プライマリトンネルのエンドツーエンドプロテクションパスである。プライマリトンネル及びバックアップトンネルは、2つの仮想プライベートネットワーク(Virtual Private Network,VPN)サービスによって反復され、VPN保護が実施される。
この出願の実施形態で提供されるパケット処理方法は、局所的な保護機構とエンドツーエンド保護機構とが共存するシナリオに適用されることができる。このシナリオでは、サービスはローカルプロテクションパス上を優先的に移動する。例えば、顧客はネットワーク上に特定のSLA要件を有し、これはSLA要件を満たす異なるパスを計画することによって実施されることができる。別の例では、顧客は、ネットワーク上で局所的な保護(TI-LFA又はMidpoint TI-LFAなど)を展開する。この場合、ノード又はリンクに障害が発生すると、デバイスは、ローカルプロテクションパスに優先的に切り替わるが、エンドツーエンドプロテクションパスに迅速に切り替えることができない。例えば、局所的な保護TI-LFA/Midpoint TI-LFA及びエンドツーエンドBFD検出技術は、SRv6ネットワーク上に展開される。BFD検出パケットとサービスデータパケットは同じパスで送信される。加えて、局所的な保護が実施されるとき、プロトコルパケット相互作用は、依然としてTI-LFAプロテクションパスを介して実施され得る。この場合、リンク障害は迅速に検出されることができず、サービスがバックアップパスに切り替えられることができない。その結果、トラフィックは長い間未知のパスに迂回される。障害が発生した場合、サービスパスは、コントローラ又は別のパス計算モジュールがサービスをトリガして、ヘッドノード上のバックアップパスに切り替えるか、又はSLA要件を満たすパスをヘッドノードに再配信するのを待つ必要がある。新しいパスでは、現在のサービスパスが長時間TI-LFAプロテクションパスに迂回される。この場合、パスはSLA要件を満たすことができない。しかしながら、以下の実施形態では、検出パケットがローカルプロテクションパスを通過するのを防止するために、検出パケットにプロテクションフラグが付加されることができる。したがって、ローカル障害が発生すると、検出パケットは失われ、検出パケットの送信元ノードをトリガして、パケットをエンドツーエンドプロテクションパスに切り替えることができる。
以下では、この出願におけるシステムアーキテクチャの一例について説明する。
図1は、この出願の一実施形態に係るパケット処理システムを示す。図1に示されるように、システムは複数のネットワークデバイスを含み、異なるネットワークデバイスはネットワークを介して互いに接続される。複数のネットワークデバイスは、顧客エッジ(Customer Edge,CE)デバイス、プロバイダ(Provider,P)デバイス、及びプロバイダエッジ(Provider Edge,PE)デバイスを含むが、これらに限定されない。システムアーキテクチャ100は、プライマリパス及びプライマリパスを保護するために使用されるプロテクションパスを展開する。
具体的には、パケット処理システムは、CE1、PE1、PE2、P1、P2、P3、P4、PE3、PE4、及びCE2を含む。パケット処理システムでは、一部のプロバイダは、帯域幅要件又は遅延要件などの顧客のSLA品質要件を満たすためにトンネリング技術を使用する。トンネルでは、図1に示すように、顧客の要求に従って異なるパスが計画されることができる。PE1とPE3との間にトンネル1が確立され、トンネル1に対して2つの完全に分離されたパスが計画される。トンネル1内のプライマリパスはPE1->P1->P3->PE3であり、トンネル1内のプライマリパス上のヘッドノードはPE1であり、トンネル1上のトランジットノードはP1及びP3を含み、トンネル1上の出口ノードはPE3である。トンネル1内のバックアップパスは、PE1->PE2->P2->P4->PE4->PE3である。トンネル1内のバックアップパス上のヘッドノードはPE1であり、トンネル1内のバックアップパス上のトランジットノードはPE2、P2、P4、及びPE4を含み、トンネル1内のバックアップパス上の出口ノードはPE3である。トンネル1内のバックアップパスは、トンネル1内のプライマリパスのエンドツーエンドプロテクションパスである。トンネル1内のプライマリパス及びトンネル1内のバックアップパスは、1つのトンネル内の2つの異なるLSPであり、2つのLSPは、プライマリ/バックアップLSP関係を形成する。
PE2とPE4との間にトンネル2が確立され、トンネル2に対して2つの完全に分離されたパスが計画される。トンネル2内のプライマリパスは、PE2->P2->P4->PE4である。トンネル2内のプライマリパス上のヘッドノードはPE2であり、トンネル2内のプライマリパス上のトランジットノードはP2及びP4を含み、トンネル2内のプライマリパス上の出口ノードはPE4である。トンネル2内のバックアップパスは、PE2->PE1->P1->P3->PE3->PE4である。トンネル2内のバックアップパスは、トンネル2内のプライマリパスのエンドツーエンドプロテクションパスである。トンネル2内のプライマリパス及びトンネル2内のバックアップパスは、1つのトンネル内の2つの異なるLSPであり、2つのLSPは、プライマリ/バックアップLSP関係を形成する。
トンネル1及びトンネル2は、異なるSLA要件を任意選択で満たす。例えば、トンネル1は高帯域幅要件を満たす。顧客が帯域幅要件を伴うサービスを有する場合、トンネル1が使用されてサービスを伝送することができる。トンネル2は遅延要件を満たす。顧客が遅延要求を伴うサービスを有する場合、トンネル2が使用されてサービスを伝送することができる。
トンネルは、サービスを外部で伝送するために使用されるが、トンネル内で計画されたパスは、トラフィック転送を案内するために使用される。サービストラフィックがトンネル上で伝送される場合、サービストラフィックの継続性が確保される必要がある。物理ネットワーク要素の障害又はソフトウェアの障害に起因して、サービストラフィック継続が中断されることはできない。したがって、サービストラフィックがトンネル上で伝送される場合、物理ネットワーク要素障害(ネットワーク要素のリンク障害又はネットワーク要素全体の障害)又はソフトウェア(プロトコル)障害が発生した場合、トンネル上で伝送されるサービスが中断されない又は長期間中断されないようにするために、トンネルに保護機構が提供される必要がある。SLA品質要件を伴うサービスの場合、ネットワーク要素障害又はリンク障害が発生したときにSLA品質要件が依然として満たされる必要がある。この保証手段は、トンネル保護ソリューションとサービス保護ソリューションとに分類される。トンネル保護ソリューションは、ローカルトンネル保護技術及びエンドツーエンドトンネル保護技術を含む。サービス保護ソリューションは、VPN FRR保護手段を含む。サービス保護とは、VPN上で動作するサービスを保護することを意味する。
ローカルトンネル保護ソリューションの場合、ローカルトンネル保護技術とは、障害(ネットワーク要素障害又はリンク障害)が発生したときに、現在サービストラフィックを伝送しているトンネルが通過するパスをローカルに調整することを意味する。図2に示すように、太い実線はトンネル内の転送パスを示し、転送パスはPE1->RT_1->RT_3->RT_5->RT_7->PE2である。RT_3とRT_5との間のリンクに障害があるとき、RT_3は局所的な保護機構を開始する。最後に、サービストラフィックを伝送するパスがローカルプロテクションパスに切り替えられる。ローカルプロテクションパスは図2に一点鎖線で示されており、ローカルプロテクションパスはRT_3->RT_4->RT_6->RT_5であり、ローカルプロテクションパス上の入口ノードはRT_3である。
エンドツーエンドトンネル保護ソリューションの場合、エンドツーエンド保護技術は、サービストラフィックを伝送することができる少なくとも2つのパスがトンネル内に存在することを必要とする。一方のパスはプライマリパスであり、他方のパスはバックアップパスである。サービスは、一度に1つのパスのみで伝送される。サービスを伝送するプライマリパスに障害がある場合、トンネル上のヘッドノードは、サービスをバックアップパスに切り替える。図3に示すように、サービスは、本来、プライマリパスを介して伝送される。RT_3とRT_5との間のパスに障害がある場合、ヘッドノードPE1は、サービスをバックアップパスに切り替える。プライマリパスは図3に太い実線で示されており、プライマリパスはPE1->RT_1->RT_3->RT_5->RT_7->PE2である。バックアップパスは図3に破線で示されており、バックアップパスはPE1->RT_2->RT_4->RT_6->RT_8->PE2である。
ローカルトンネル保護とエンドツーエンドトンネル保護との組み合わせでは、局所的な保護は単一のパスの保護であり、エンドツーエンド保護技術でプライマリパスを保護するために使用されることもできる。例えば、プライマリパスのネットワーク要素に障害があるか、又はネットワーク要素間のリンクに障害がある場合、プライマリパスの接続性を確保するために局所的な保護が最初に実行されてもよい。次に、関連するSLA要件を満たすように、サービスを別のバックアップパスに切り替えるためにエンドツーエンド保護が実行される。図4に示すように、サービスはプライマリパス上で伝送される。図4のプライマリパスは太い実線で示されており、図4のプライマリパスはPE1->RT_1->RT_3->RT_5->RT_7->PE2である。RT_3とRT_5との間のパスに障害がある場合、ノードRT_3は、サービス継続性を確保するために、サービスをローカルプロテクションパスに切り替えるために局所的な保護機構を開始する。図4では、ローカルプロテクションパスが破線で示されており、ローカルプロテクションパスは、RT_3->RT_4->RT_6->RT_5である。しかしながら、この場合、ローカルプロテクションパスはSLA要件を満たさない。ヘッドノードPE1は、プライマリパスに障害があることを検出すると、サービスをバックアップパスに切り替える。
エンドツーエンドサービス保護(VPN FRR技術)の場合、VPN FRR技術はエンドツーエンドサービス保護技術である。この技術は、サービスを伝送するためにトンネルを使用し、トンネルの送信先アドレスは異なるリモートPEノードである(1つのCEが2つのPEにアクセスする)。異なるパスがトンネル内に展開されてもよく、これは、エンドツーエンドトンネル保護及びローカルトンネル保護技術が使用されることができることを意味する。サービストラフィックを伝送するトンネルに障害がある場合、VPN FRR技術を使用してサービスが別のバックアップトンネルに切り替えられることができる。図5に示すように、PE1を入口として2つのトンネルが確立され、2つのトンネルのプライマリトンネルはPE1->P1->P3->PE3であり、2つのトンネルのバックアップトンネルはPE1->PE2->P2->P4->PE4である。プライマリトンネルの入口PEとバックアップトンネルの入口PEの両方がPE1であり、プライマリトンネルの出口PEがPE3であり、バックアップトンネルの出口PEがPE4である。プライマリトンネルに障害がある場合、PE1はVPN FRRを介したトンネルスイッチングを決定する。想定し得る実施において、PE1は、PE3に到達するために使用されるルーティング情報及びPE4に到達するために使用されるルーティング情報をルーティング転送テーブルに事前記憶する。PE1がプライマリトンネルに障害があると決定する場合、PE1がトラフィックを受信した後、PE1は、ルーティング転送テーブル内のPE4に到達するために使用されるルーティング情報に基づいて、サービスをプライマリトンネルからバックアップトンネルに切り替えるために、PE3に元々送信されたトラフィックをPE4に送信する。
SRv6ネットワークでは、TI-LFA及びMidpoint TI-LFAはローカルトンネル保護技術である。ネットワーク要素又はパス上のリンクに障害がある場合、2つの技術TI-LFA及びMidpoint TI-LFAが使用されて局所的な保護を実施することができる。しかしながら、2つの局所的な保護技術は、リンク接続のみを確保することができるが、サービスSLA品質を確保することはできない。
SRv6 TE Policy ListのためのSBFDは、エンドツーエンドのトンネル障害検出及び高速収束を実装する(エンドツーエンドのトンネル保護を実装する)保護技術である。第1に、SLA要件を満たす2つのパス(リストとも呼ばれる)がSRv6 TE Policyトンネル上に展開される必要があり、プライマリパスとバックアップパスとが区別されて完全に分離される必要がある。加えて、プライマリパス及びバックアップパスを検出するためにBFDが実行される。プライマリパスに障害があることをBFDが検出すると、高速サービス収束を実施するために、サービスがバックアップパスに迅速に切り替えられることができる。
局所的な保護技術TI-LFA/Midpoint TI-LFAとエンドツーエンドBFD検出技術の両方がSRv6ネットワーク上に展開されると、BFD検出パケット及びサービスデータパケットは同じパスを介して転送される。例えば、図6に示すように、障害が発生する前に、プライマリパス上のBFD検出パケットは、パスPE1->P1->P3->PE3を介してPE1からPE3に送信され、サービストラフィックは、パスCE1->PE1->P1->P3->PE3->CE2を介してCE1からCE2に送信される。
局所的な保護が発生するとき、BFD検出機構は、TI-LFAプロテクションパスを介したBFD検出パケット交換を依然として完了することができる。例えば、図6に示すように、P1とP3との間のリンクに障害があった後、P1は、BFD検出パケットをTI-LFAプロテクションパスに切り替え、したがって、プライマリパス上のBFD検出パケットは、PE1->P1->P2->P4->P3->PE3のパスを介してPE1からPE3に送信され、その結果、PE3は、BFD検出パケットを受信して応答することができる。この場合、トンネル上のヘッドノードはリンク障害を迅速に検出することができず、ヘッドノード上でサービスがトリガされてバックアップパスに迅速に切り替えられることができない。その結果、トラフィックは長時間にわたってローカルプロテクションパスに迂回され、長時間にわたってローカルプロテクションパスに迂回されたトラフィックは、顧客のSLA要件を満たすことができない。局所的な保護が発生し、ヘッドノードがバックアップパスへの切り替えを迅速に実行できない場合、コントローラ又は別のパス計算モジュールのみが使用されて、ヘッドノード上のバックアップパスを介して送信されるサービスをトリガすることができるか、又はSLA要件を満たすパスがヘッドノードに再配信される。このプロセスには長い時間がかかり、その結果、現在のサービスが長時間にわたってTI-LFAプロテクションパスに迂回される可能性がある。
上記はシステムアーキテクチャを説明しており、以下では一例を用いてパケット転送方法の手順を説明する。
実施形態1
図7は、この出願の実施形態1に係るパケット処理方法を示す。実施形態1は、S201~S208を含む。任意選択で、実施形態1のS201、S202、S207、及びS208は、1つのネットワークデバイスによって実行されてもよく、例えば、図2のPE1によって実行されてもよい。実施形態1のS203~S206は、別のネットワークデバイスによって実行されてもよく、例えば、図2のRT_3によって実行されてもよい。
任意選択で、実施形態1は、中央処理装置(central processing unit,CPU)によって処理される。任意選択で、実施形態1は、ネットワークプロセッサ(Network Processor、略してNP)によって処理される。任意選択で、実施形態1は、CPUとNPとによって一緒に処理される。任意選択で、実施形態1は、CPU又はNPによって処理されなくてもよいが、パケット転送に適した別のプロセッサ、例えば、フィールドプログラマブルゲートアレイ(Field-Programmable Gate Array,FPGA)チップ又は別の特定用途向け集積回路(application-specific integrated circuit,ASIC)チップによって処理されてもよい。これはこの出願では限定されない。
S201:第2のネットワークデバイスがパケットを生成し、パケットはプロテクションフラグを含む。
この実施形態では、パケットにプロテクションフラグが付加され、プロテクションフラグのためのマルチサイド対話手順が記載される。この実施形態は、パケットを受信するデバイスがプロテクションフラグに基づいて処理を行う方法に関し、パケットを送信するデバイスがパケットにプロテクションフラグを付加する方法に関する。異なるネットワークデバイスを区別するために、パケット受信側として機能するネットワークデバイスが第1のネットワークデバイスと称され、パケット送信側として機能するネットワークデバイスが第2のネットワークデバイスと称される。任意選択で、プロテクションフラグは、Tフラグ及びMフラグのうちの少なくとも1つを含む。TフラグのTは、TI-LFAを示す。Tフラグは、第1のネットワークデバイスがパケットをプライマリパスからTI-LFAプロテクションパスに切り替えることができるようにされるかどうかを示すために使用される。MフラグのMは、中点(Midpoint)TI-LFAを示す。Mフラグは、第1のネットワークデバイスがパケットをプライマリパスからMidpoint TI-LFAプロテクションパスに切り替えることができるようにされるかどうかを示すために使用される。
任意選択で、第2のネットワークデバイスは、プライマリパス上のヘッドノードである。言い換えれば、第2のネットワークデバイスは、プライマリパス上の入口ノードである。例えば、図1に示すように、第2のネットワークデバイスはPE1であり、PE1はプライマリパス上のヘッドノードである。例えば、SRシナリオでは、プライマリパスはSRトンネル内のLSPであり、第2のネットワークデバイスはSRトンネル上のヘッドノードである。SIDリストは、第2のネットワークデバイス上のパケットにプッシュされ、SIDリスト内の各SIDは、SRトンネル内のLSP上の各ノードを識別するために使用される。第2のネットワークデバイスがアウトバウンドインタフェースからパケットを送信した後、SIDリストを使用することによってSRトンネル内のLSP上でパケットが送信されることができる。この場合、パケットは、第2のネットワークデバイスからSRトンネル内のLSPに導入される。SR MPLSのSR-TEシナリオでは、SIDリストはラベルスタックと呼ばれる場合がある。SRv6シナリオでは、SIDリストはSRH内のセグメントリストであってもよい。物理ハードウェアに関して、第2のネットワークデバイスは、例えば、スイッチ又はルータである。
任意選択で、第1のネットワークデバイスは、プライマリパスに沿うノードであり、第1のネットワークデバイスは、プライマリパス上のトランジットノードであってもよい。プライマリパス上のパケットは、伝送中に第1のネットワークデバイスを通過する。例えば、図1に示すように、第1のネットワークデバイスは図1のP1である。別の例では、図2に示すように、第1のネットワークデバイスは図2のRT_3である。物理ハードウェアに関して、第1のネットワークデバイスは、例えば、スイッチ又はルータである。
プロテクションフラグは、第1のネットワークデバイスがパケットをプライマリパスから第1のプロテクションパスに切り替えることができるようにされるかどうかを示すために使用される。例えば、図2に示すように、プロテクションフラグは、RT_3が計算によってパケットをプライマリパスからRT_3によって取得されたローカルプロテクションパスに切り替えることができるようにされるどうかを示すために使用される。
第1のプロテクションパスは、プライマリパスを保護するために使用される。第1のプロテクションパスは、プライマリパスのローカルプロテクションパスである。第1のプロテクションパス上の入口ノードは、第1のネットワークデバイスである。第1のプロテクションパスとプライマリパスとは同じトンネルに属し得る。例えば、図2に示すように、プライマリパスは、PE1->RT_1->RT_3->RT_5->RT_7->PE2を含み、プライマリパスは、PE1とPE2との間のトンネル内のLSPである。第1のプロテクションパスは、RT_3->RT_4->RT_6->RT_5を含み、第1のプロテクションパスは、PE1とPE2との間のトンネル内の別のLSPである。第1のネットワークデバイスは、例えば、図2のRT_3であり、プライマリパスはRT_3から第1のプロテクションパスに切り替えられ始める。ここで、->はパケットの送信方向を示し、->の左側はパケットの送信側を識別し、->の右側はパケットの受信側を識別する。例えば、PE1->RT_1は、PE1がRT_1にパケットを送信することを示す。
任意選択で、第1のプロテクションパスは、ローカルプロテクションパスであり、概念導入部におけるローカルプロテクションパスの任意の特徴を有する。具体的には、第1のプロテクションパスは、プライマリパス上のノードを保護するために使用され得る。プライマリパス上のノードに障害がある場合、第1のプロテクションパスが満たす制約は、第1のプロテクションパスがプライマリパス上の障害のあるノードを通過しないことであり得る。或いは、第1のプロテクションパスは、プライマリパス上のリンクを保護するために使用され得る。プライマリパス上のリンクに障害がある場合、第1のプロテクションパスが満たす制約は、第1のプロテクションパスがプライマリパス上の障害のあるリンクを通過しないことであり得る。一般に、第1のプロテクションパスは、任意選択で、プライマリパス上の障害のあるノード又は障害のあるリンクをスキップするパスであり、一般に、プライマリパス全体を置き換えない。
例えば、第1のプロテクションパスは、TI-LFA FRRパスを含み、第1のプロテクションパスは、「TI-LFA FRRバックアップパス」と呼ばれることができ、第1のプロテクションパスは、TI-LFAアルゴリズムを使用する計算によって第1のネットワークデバイスによって取得されるパスである。別の例では、第1のプロテクションパスは、Midpoint TI-LFAパスを含み、第1のプロテクションパスは、「Bypass CR-LSP」と称され得る。
任意選択で、プライマリパスが機能するとき、第1のプロテクションパスはアイドル状態にあり、サービスデータを独立して伝送しない。
任意選択で、SLA保証シナリオでは、プライマリパスはSLAを満たすパスであり、第1のプロテクションパスはSLAを満たさないパスである。例えば、プライマリパスの遅延はSLA遅延要件を満たし、第1のプロテクションパスの遅延はSLA遅延要件を満たさない。例えば、プライマリパスの遅延は遅延閾値よりも小さく、第1のプロテクションパスの遅延は遅延閾値よりも大きい。別の例では、プライマリパスの帯域幅はSLA帯域幅要件を満たし、第1のプロテクションパスの帯域幅はSLA帯域幅要件を満たさない。例えば、プライマリパスの帯域幅は帯域幅閾値よりも大きく、第1のプロテクションパスの帯域幅は帯域幅閾値よりも小さい。
以下では、複数の観点からプロテクションフラグを具体的に説明して記載する。
以下では、プロテクションフラグの機能の観点から、ケースA及びケースBを例として使用して、プロテクションフラグについて説明する。
ケースA:プロテクションフラグは、パケットが第1のプロテクションパスを通過することを許容されているかどうかを示すことができるだけでなく、許容されている第1のプロテクションパスのタイプ又は許容されていない第1のプロテクションパスのタイプを示すこともできる。例えば、第1のネットワークデバイスは、複数の局所的な保護機構を有効にし、第1のネットワークデバイスは、複数のローカルプロテクションパスのうちの1つを介してパケットを転送することができる。このシナリオでは、プロテクションフラグは、パケットが複数のローカルプロテクションパス内の指定されたローカルプロテクションパスを通過しないように、複数のローカルプロテクションパス内で使用が許容されているローカルプロテクションパス及び使用が許容されていないローカルプロテクションパスのタイプを示すことができる。
これにより、柔軟性が向上する。
以下、ケースA1~ケースA4を例として使用して、ケースAについて説明する。ケースA1からケースA4において、Midpoint TI-LFAパス及びTI-LFA FRRパスは、第1のプロテクションパスの2つの特定のケースである。
ケースA1:プロテクションフラグは、第1のネットワークデバイスがパケットをプライマリパスからMidpoint TI-LFAパス及びTI-LFA FRRパスに切り替えることができるようにされないことを示す。Midpoint TI-LFAパス及びTI-LFA FRRパスは、第1のプロテクションパスの2つの特定のケースである。ケースA1では、プロテクションフラグを伝送するパケットは、Midpoint TI-LFAパスを通過することができず、プロテクションフラグを伝送するパケットも、TI-LFA FRRパスを通過することができない。
ケースA2:プロテクションフラグは、第1のネットワークデバイスがパケットをMidpoint TI-LFAパスに切り替えることができないがパケットをTI-LFA FRRパスに切り替えることができるようにされることを示す。ケースA2では、プロテクションフラグを伝送するパケットは、Midpoint TI-LFAパスを通過することができないが、プロテクションフラグを伝送するパケットは、TI-LFAパスを通過することができる。
ケースA3:プロテクションフラグは、第1のネットワークデバイスがパケットをMidpoint TI-LFAパスに切り替えることができるがパケットをTI-LFA FRRパスに切り替えることができないようにされることを示す。ケースA3では、プロテクションフラグを伝送するパケットは、TI-LFAパスを通過することができないが、プロテクションフラグを伝送するパケットは、Midpoint TI-LFAパスを通過することができる。
ケースA4:プロテクションフラグは、第1のネットワークデバイスがパケットをプライマリパスからMidpoint TI-LFAパス又はTI-LFA FRRパスに切り替えることができるようにされることを示す。ケースA4では、プロテクションフラグを伝送するパケットは、TI-LFAパスを通過することができ、プロテクションフラグを伝送するパケットも、Midpoint TI-LFAパスを通過することができる。
ケースB:プロテクションフラグは、プロテクションパスへの切り替えが許容されているかどうかのみを示し、プロテクションパスの特定のタイプを示さない。任意選択で、プロテクションフラグは、第1のネットワークデバイスがパケットをプライマリパスから第1のプロテクションパスに切り替えることができないようにされることを示す。ケースBでは、プロテクションフラグを伝送するパケットは、第1のプロテクションパスを通過することができない。任意選択で、第1のプロテクションパスはローカルプロテクションパスであり、第1のネットワークデバイスは複数の局所的な保護機構を有効にする。この場合、ケースBは、ケースB1及びケースB2を任意に含む。
ケースB1:プロテクションフラグは、第1のネットワークデバイスがパケットをプライマリパスから全ての第1のプロテクションパスに切り替えることができないようにされることを示す。
ケースB2:プロテクションフラグは、第1のネットワークデバイスがパケットをプライマリパスから事前構成された第1のプロテクションパスに切り替えることができないようにされることを示す。例えば、第1のネットワークデバイス上でローカルプロテクションパスが事前構成され、ローカルプロテクションパスの使用が許容されているかどうかは、プロテクションフラグを使用することによって示され得る。この場合、プロテクションフラグは、パケットが事前構成されたローカルプロテクションパスを通過できないことを示す。
プロテクションフラグのデータ形態の観点から、プロテクションフラグはパケット内の1つ以上のビットを占有することができ、ビットの値は0又は1とすることができる。プロテクションフラグは、異なるビット値を使用することによって、パケットがプライマリパスから第1のプロテクションパスに切り替えられることができるかどうかを示すことができる。プロテクションフラグのデータ形態は、具体的には、複数のケースを含み得る。以下では、ケースC及びケースDを例として使用してデータ形式の観点からプロテクションフラグを説明する。
ケースC:プロテクションフラグは2ビットを占有し、2ビットの値は、第1のネットワークデバイスがパケットをプライマリパスから第1のプロテクションパスに切り替えることができるようにされるかどうかを示すために使用され得る。例えば、図8は、この出願の一実施形態に係るSRv6パケットの概略図である。プロテクションフラグは、SRv6パケット内の2ビットを占有する。例えば、SRv6パケット内のSRHは2ビットを占有する。図9に示すように、SRv6パケットにおけるSRHは、フラグフィールド(flagフィールド)と、TLVとを含む。任意選択で、プロテクションフラグはflagフィールドの2ビットを占有する。任意選択で、プロテクションフラグはTLV内の2ビットを占有する。flagフィールド内の2ビット又はTLV内の2ビットを占有することは説明のための例として使用され、プロテクションフラグによって占有されるパケット内の2ビットはこの実施形態では限定されないことが理解されるべきである。任意選択で、プロテクションフラグはパケット内の予約フィールド内の2ビットを占有し、予約フィールドは任意選択でパケットヘッダ内のフィールド、例えば拡張ヘッダ内のフィールドである。
任意選択で、2つのビットは隣接するビットであり、2つのビットは4つの値、すなわち、00、01、10、及び11を含み、その結果、4つの値を使用することによって異なるケースが示されることができる。
以下では、プロテクションフラグがパケット内の第2のビット及び第3のビットを占有する例が使用されて、ケースC1.1からケースC1.4を使用することによりケースCを説明する。本明細書における第2のビット及び第3のビットは、任意の2つの異なるビットであってもよく、第2のビットは、フィールド内の第2のビットに限定されず、第3のビットは、フィールド内の第3のビットにも限定されず、第2のビットは、第3のビットの前にあることに限定されないことが理解されるべきである。
例えば、図10に示すように、フラグフィールド(flagフィールド)において、第1のビットはビット0であり、第2のビットはビット1であり、第2のビットはビット7であり、すなわち、第2のビットはビット6である。第3のビットはflagフィールドの第8のビットであり、すなわち、第3のビットはビット7である。言い換えれば、プロテクションフラグは、flagフィールド内のビット6及びビット7を占有する。図10では、プロテクションフラグは「T/M」である。
また、図10のUは未使用フラグを示しており、将来使用するためのフラグとしてUが設けられてもよい。更に、Uは送信中に設定されるべきではなく、受信側は、プロテクションフラグを示すU.P フラグ(P-Flag)を無視する必要がある。パケットがFRR機構を使用してSRエンドノードによって再ルーティングされた場合、Pフラグが設定される。Oフラグ(O-Flag)は、OAMフラグである。Oフラグが設定された場合、当該パケットがOAMパケットであることを示す。Aフラグ(A-Flag)は、警告フラグである。Aフラグが存在する場合、それは、重要なTLVオブジェクトがパケットに存在することを示す。H フラグ(H-Flag)は、HMACフラグを示す。Hフラグが設定されている場合、それはHMAC TLVがパケットに存在することを示し、HMAC TLVはSRHの最後のTLVとして符号化される。言い換えると、SRHの最後の36オクテットはHMAC情報を示す。図10において、TはTフラグである。Tフラグが設定される場合、パケットはTI-LFAパスを通過しない必要がある。図10において、MはMフラグである。Mフラグが設定される場合、パケットはMidpoint TI-LFAパスを通過しない必要がある。
ケースC1:第2のビットと第3のビットの両方が設定される場合、それは、第1のネットワークデバイスがパケットをプライマリパスからMidpoint TI-LFAパス及びTI-LFA FRRパスに切り替えることができないようにされることを示す。
ケースC1では、第2のビットの値が1であり、第3のビットの値も1である場合、それは、パケットがプライマリパスからMidpoint TI-LFAパス又はTI-LFA FRRパスに切り替えられることができないことを示す。例えば、図10に示すように、flagフィールド内のビット6はTフラグを伝送する。Tフラグが設定される場合、それは、パケットがTI-LFAプロテクションパスを通過できないことを示す。更に、flagフィールド内のビット7はMフラグを伝送する。Mフラグが設定される場合、それは、パケットがMidpoint TI-LFAプロテクションパスを通過できないことを示す。flagフィールドのビット6及びビット7(図10のT/M)の値が「11」である場合、それは、パケットがTI-LFAパスを通過することができず、パケットがMidpoint TI-LFAパスを通過することできないことを示す。
ケースC2:第2のビットが設定され、第3のビットが設定されない場合、それは、第1のネットワークデバイスがパケットをMidpoint TI-LFAパスに切り替えることができないようにされるがパケットをTI-LFA FRRパスに切り替えることができるようにされることを示す。
ケースC2では、第2のビットの値が1であり、第3のビットの値が0であれば、それは、パケットがMidpoint TI-LFAパスに切り替えられることができないがTI-LFA FRRパスに切り替えられることができることを示す。例えば、図10に示すように、flagフィールドのビット6及びビット7(図10のT/M)の値が「10」である場合、それは、パケットがTI-LFAパスを通過することができるがパケットがMidpoint TI-LFAパスを通過することができないことを示す。
ケースC3:第2のビットが設定されず、第3のビットが設定される場合、それは、第1のネットワークデバイスがパケットをMidpoint TI-LFAパスに切り替えることができるようにされるがパケットをTI-LFA FRRパスに切り替えることができないようにされることを示す。
ケースC3では、第2のビットの値が0であり、第3のビットの値が1である場合、それは、パケットがMidpoint TI-LFAパスに切り替えられることができるがTI-LFA FRRパスに切り替えられることができないことを示す。例えば、図10に示すように、flagフィールドのビット6及びビット7の値(図10のT/M)が「01」である場合、それは、パケットがMidpoint TI-LFAパスを通過することができるがTI-LFAパスを通過することができないことを示す。
ケースC4:第2のビットも第3のビットも設定されない場合、それは、第1のネットワークデバイスがパケットをプライマリパスからMidpoint TI-LFAパス又はTI-LFA FRRパスに切り替えることができるようにされることを示す。
ケースC4では、第2のビットの値が0であり、第3のビットの値が0である場合、それは、パケットがプライマリパスからMidpoint TI-LFAパス又はTI-LFA FRRパスに切り替えられることができることを示す。例えば、flagフィールド内のビット6及びビット7(図10のT/M)の値が「00」である場合、それは、パケットがMidpoint TI-LFAパスを通過することができ、パケットもTI-LFA FRRパスを通過できることを示す。ケースC4では、プライマリパスに障害がある場合、パケットがMidpoint TI-LFAパス又はTI-LFA FRRパスに切り替えられるかどうかは、Midpoint TI-LFAとTI-LFA FRRとの間の優先度に基づいて任意選択で決定される。詳細については、実施形態2のケースV3の説明を参照されたい。
ケースC1からケースC4は、ケースCの必須の実装ではなくケースCの任意の実装であることが理解されるべきである。幾つかの他の実施形態では、ケースCは、任意選択で別の態様を含む。例えば、ビットが設定されない場合、それは、パケットがプライマリパスからMidpoint TI-LFAパス又はTI-LFA FRRパスに切り替えられることができないことを示す。
ケースD:プロテクションフラグは1ビットを占有し、1ビットの値は、第1のネットワークデバイスがパケットをプライマリパスから第1のプロテクションパスに切り替えることができるようにされるかどうかを示すために使用される。例えば、図8に示すように、プロテクションフラグは、SRv6パケットにおいて1ビットを占有する。例えば、SRv6パケット内のSRHは1ビットを占有する。図9に示すように、SRv6パケットにおけるSRHは、フラグフィールド(flagフィールド)と、TLVとを含む。任意選択で、プロテクションフラグはflagフィールド内の1ビットを占有する。任意選択で、プロテクションフラグはTLV内の1ビットを占有する。flagフィールド内の1ビット又はTLV内の1ビットを占有することは説明のための例として使用され、プロテクションフラグによって占有されるパケット内の1ビットはこの実施形態では限定されないことが理解されるべきである。任意選択で、プロテクションフラグはパケット内の予約フィールド内の1ビットを占有し、予約フィールドは任意選択でパケットヘッダ内のフィールド、例えば拡張ヘッダ内のフィールドである。
任意選択で、ケースDは、第1のネットワークデバイスが1つの局所的な保護機構のみを有効にするケースに適用可能である。例えば、第1のネットワークデバイスは、TI-LFA機構を有効にするが、Midpoint TI-LFA機構を有効にせず、第1のビットの値が使用されて、第1のネットワークデバイスがパケットをプライマリパスからTI-LFAプロテクションパスに切り替えることができるようにされるかどうかを示すことができる。別の例として、第1のネットワークデバイスは、Midpoint TI-LFA機構を有効にするが、TI-LFA機構を有効にせず、第1のビットの値が使用されて、第1のネットワークデバイスがパケットをプライマリパスからMidpoint TI-LFAプロテクションパスに切り替えることができるようにされるかどうかを示すことができる。
任意選択で、ケースDは、第1のネットワークデバイスが複数の局所的な保護機構を有効にし、プロテクションフラグと1つの局所的な保護機構との間の結び付き関係が事前構成されるケースに適用可能である。例えば、第1のネットワークデバイスは、TI-LFA機構及びMidpoint TI-LFA機構を有効にし、TI-LFA機構とプロテクションフラグとの間の結び付き関係は、プロテクションフラグの値に基づいて、TI-LFA機構を使用するかどうかを決定するように第1のネットワークデバイスに指示するために、コマンドラインを使用して又は別の態様で事前構成される。したがって、第1のビットの値が使用されて、第1のネットワークデバイスがパケットをプライマリパスからTI-LFAプロテクションパスに切り替えることができるようにされるかどうかを示すことができる。
1ビットの値は0と1の2つの値を含み、2つの値は異なるケースを示すために使用されることができる。プロテクションフラグがパケット内の第1のビットを占有する例は、以下でケースD1及びケースD2を使用して詳細に説明するために使用される。ここでの第1のビットはパケット内の任意の異なるビットであってもよく、第1のビットはフィールド内の第1のビットに限定されないことが理解されるべきである。例えば、図11に示すように、任意選択で、第1のビットはflagフィールド内の第2のビット(すなわち、図11のT/M)である。言い換えれば、プロテクションフラグは、flagフィールド内の第2のビットを占有する。任意選択で、flagフィールドの第1のビットがビット 0である場合、プロテクションフラグはflagフィールドのビット1であり、プロテクションフラグは図11のT/Mである。
ケースD1:第1のビットが設定される場合、それは、パケットがプライマリパスから第1のプロテクションパスに切り替えられることができないことを示す。任意選択で、第1のビットが設定される場合、それは、パケットがプライマリパスからTI-LFAパスに切り替えられることができないことを示す。例えば、図11に示されるように、flagフィールドの第2のビット(すなわち、図11のビット1、すなわちT/M)の値が「1」である場合、それは、パケットがTI-LFAパスを通過できないことを示す。任意選択で、第1のビットが設定される場合、それは、パケットがプライマリパスからMidpoint TI-LFAパスに切り替えられることができないことを示す。例えば、図11に示すように、flagフィールドの第2のビット(すなわち、図11のビット1、すなわちT/M)の値が「1」である場合、当該パケットがMidpoint TI-LFAパスを通過できないことを示す。任意選択で、第1のビットが設定される場合、それは、パケットがプライマリパスからTI-LFAパスに切り替えられることも、パケットがプライマリパスからMidpoint TI-LFAパスに切り替えられることもできないことを示す。例えば、図11に示すように、flagフィールドの第2のビットの値が「1」である場合、それは、パケットがTI-LFAパスを通過することができず、パケットがMidpoint TI-LFAパスを通過することもできないことを示す。
ケースD2:第1のビットが設定されない場合、それは、パケットがプライマリパスから第1のプロテクションパスに切り替えられることができることを示す。任意選択で、第1のビットが設定されない場合、それは、パケットがプライマリパスからTI-LFAパスに切り替えられることができることを示す。例えば、図11に示すように、flagフィールドの第2のビットの値が「0」である場合、それは、パケットがTI-LFAパスを通過できることを示す。任意選択で、第1のビットが設定されない場合、それは、パケットがプライマリパスからMidpoint TI-LFAパスに切り替えられることができることを示す。例えば、図11に示すように、flagフィールドの第2のビットの値が「0」である場合、それは、パケットがMidpoint TI-LFAパスを通過できることを示す。任意選択で、第1のビットが設定されない場合、それは、パケットがプライマリパスからTI-LFAパスに切り替えられることができ、また、パケットがプライマリパスからMidpoint TI-LFAパスに切り替えられることもできることを示す。例えば、図11に示すように、flagフィールドの第2のビットの値が「0」である場合、それは、パケットがTI-LFAパスを通過でき、パケットがMidpoint TI-LFAパスも通過できることを示す。
ケースD1及びケースD2は、ケースDの必須の実装ではなくケースDの任意の実装であることが理解すべきである。幾つかの他の実施形態では、ケースDは、任意選択で別の態様を含む。例えば、第1のビットが設定されない場合、それは、パケットがプライマリパスから第1のプロテクションパスに切り替えられることができないことを示す。
ケースC及びケースDは両方とも、プロテクションフラグの必須の実装ではなく、プロテクションフラグの任意選択的な実装であることが理解されるべきである。任意選択で、プロテクションフラグは3ビット以上を占有し、3ビット以上を使用してプロテクションフラグを示す態様は、プロテクションフラグの実装の特定の場合であり、この出願のこの実施形態の保護範囲内に入るべきである。
パケット内のプロテクションフラグの位置は、複数のケースを含み得る。以下では、プロテクションフラグの位置の観点から、ケースE1及びケースE2を例として使用して、プロテクションフラグについて説明する。
ケースE1:プロテクションフラグはflagフィールドにある。言い換えれば、パケットはflagフィールドを含み、パケットはflagフィールドを使用してプロテクションフラグを伝送する。プロテクションフラグを伝送するために使用されるflagフィールドは、T/Mフラグと呼ばれる場合がある。また、フラグフィールドは、異なる供給元又はシナリオに応じて他の名前を有してもよい。
任意選択で、プロテクションフラグを伝送するflagフィールドは、パケットヘッダに配置される。任意選択で、flagフィールドを含むパケットヘッダは、外側パケットヘッダ又は内側パケットヘッダである。任意選択で、プロテクションフラグを伝送するflagフィールドは、拡張ヘッダに配置される。任意選択で、プロテクションフラグを伝送するflagフィールドはSRHに位置される。任意選択で、図9に示すように、プロテクションフラグを伝送するflagフィールドは、図9のラストエントリフィールドとタグフィールドとの間のflagフィールドである。任意選択で、SRH内のTLVはflagフィールドを含み、プロテクションフラグを伝送するflagフィールドは、TLVに含まれるflagフィールドである。任意選択で、プロテクションフラグを伝送するflagフィールドは、SRH内ではなく、SRH内の別の拡張ヘッダ内にある。例えば、プロテクションフラグを伝送するflagフィールドは、ホップバイホップオプションヘッダ(hop-by-hop options header)に配置される。任意選択で、プロテクションフラグを伝送するflagフィールドは、パケットで伝送される検出パケットのパケットヘッダ内にあるか、又はデータパケットのパケットヘッダ内にある。
前述の列挙された事例は全て事例E1の任意選択の実施態様であり、この出願のこの実施形態の保護範囲内に入るべきであることが理解されるべきである。
ケースE1では、新しいFlagフィールドがパケットに対して拡張され、Flagフィールドはプロテクションフラグを伝送するために使用される。プライマリパスに障害があるとき、パケットはFlagフィールドを含むため、受信側がFlagフィールド内のプロテクションフラグを識別した後、パケットは第1のプロテクションパスを通過しない。第1のプロテクションパスがローカルプロテクションパスである場合、パケットはローカルプロテクションパスを通過しない。
ケースE2:プロテクションフラグがTLVにある。言い換えれば、パケットはTLVを含み、TLVはプロテクションフラグを伝送するために使用される。任意選択で、TLVは、プロテクションフラグを伝送するための専用のTLVである。任意選択で、プロテクションフラグを伝送するために元のTLVでビットが占有され、その結果、プロテクションパスへの局所的な切り替えが許容されるかどうかを示す機能が元の機能に基づいてTLVによって拡張される。ケースE2では、プロテクションフラグを伝送するために使用されるTLVは、保護TLV又は保護なしTLV(no protection TLV)と称され得る。また、TLVは、異なるベンダ又はシナリオに従って他の名前を有してもよい。
任意選択で、パケットがTLVを伝送するかどうかは、パケットをプライマリパスから第1のプロテクションパスに切り替えられることができるかどうかを示すために使用される。例えば、パケットがTLVを伝送する場合、それは、プライマリパスに障害があるときにパケットがローカルプロテクションパスを通過できないことを示す。パケットがTLVを伝送しない場合、それは、プライマリパスに障害があるときにパケットがローカルプロテクションパスを通過できないことを示す。
任意選択で、パケット内のTLV内の値(value)フィールドの値は、パケットがプライマリパスから第1のプロテクションパスに切り替えられることができるかどうかを示すために使用される。例えば、前述したケースC1~ケースC8を参照すると、TLVのvalueフィールドは、第2のビット及び第3のビットを含み、valueフィールド内の2ビットの値は、パケットがプライマリパスから第1のプロテクションパスに切り替えられることができるかどうかを示すために使用される。例えば、ケースC1を参照すると、valueフィールド内の第2のビットと第3のビットの両方が設定される場合、それは、第1のネットワークデバイスがパケットをプライマリパスからMidpoint TI-LFAパス及びTI-LFA FRRパスに切り替えることができないようにされることを示す。ケースC2を参照すると、valueフィールド内の第2のビットが設定され、第3のビットが設定さない場合、それは、第1のネットワークデバイスがパケットをMidpoint TI-LFAパスに切り替えることができないようにされるがパケットをTI-LFA FRRパスに切り替えることができるようにされることを示す。TI-LFA FRR及びMidpoint TI-LFAを示すために使用されるTLV内のvalueフィールド内の2ビットは、この実施形態では限定されないことが理解されるべきである。別の例として、前述のケースDを参照すると、TLV内のvalueフィールドは第1のビットを含み、valueフィールド内の1ビットの値は、パケットをプライマリパスから第1のプロテクションパスに切り替えることができるかどうかを示すために使用される。例えば、ケースD1を参照すると、valueフィールド内の第1のビットが設定される場合、それは、パケットをプライマリパスから第1のプロテクションパスに切り替えることができないことを示す。TI-LFA FRR又はMidpoint TI-LFAを示すために使用されるTLV内のvalueフィールド内の1ビットは、この実施形態では限定されないことが理解されるべきである。
任意選択で、プロテクションフラグを伝送するために使用されるTLVは、タイプ(type)を使用して識別される。具体的には、プロテクションフラグを伝送するために使用されるTLV内のタイプフィールドの値はプリセット値であり、プリセット値は、TLVが保護TLVであること、すなわち、パケットをプライマリパスから第1のプロテクションパスに切り替えられることができるかどうかを示すために使用されるTLVであることを示す。パケット受信側は、TLV内のタイプフィールドの値を識別する。TLV内のタイプフィールドの値がプリセット値である場合、受信側は、TLVが保護TLVであると決定することができる。予め設定された値は、新たに適用された値であってもよい。
任意選択で、プロテクションフラグを伝送するために使用されるTLVの長さ(length)フィールドの値は、0から5の範囲である。
場合によっては、プロテクションフラグを伝送するために使用されるTLVは、パケットヘッダに配置される。任意選択で、TLVを含むパケットヘッダは、外部パケットヘッダ又は内部パケットヘッダである。場合によっては、プロテクションフラグを伝送するために使用されるTLVは、拡張ヘッダに配置される。任意選択で、プロテクションフラグを伝送するために使用されるTLVはSRHに位置される。図9に示すように、プロテクションフラグを伝送するTLVは、SRHにおけるTLVである。任意選択で、プロテクションフラグを伝送するTLVは、SRH内ではなく、SRH以外の拡張ヘッダ内にある。例えば、プロテクションフラグを伝送するTLVは、ホップバイホップオプションヘッダ(hop-by-hop option header)に配置される。任意選択で、プロテクションフラグを伝送するTLVは、パケットで伝送される検出パケットのパケットヘッダ内にあるか、又はデータパケットのパケットヘッダ内にある。
任意選択で、プロテクションフラグを伝送するために使用されるTLVは新しいトップ(top)TLVであり、プロテクションフラグを伝送するために使用されるTLV内のtypeはtop TLV内の未使用のタイプである。任意選択で、プロテクションフラグを伝送するために使用されるTLVは、top TLVの新しいsub-TLVであり、プロテクションフラグを伝送するために使用されるTLV内のtypeは、sub-TLV内の未使用のタイプである。任意選択で、プロテクションフラグを伝送するために使用されるTLVは、トップTLVの新しいサブTLV(sub-TLV)であり、プロテクションフラグを伝送するために使用されるTLV内のtypeは、sub-TLV内の未使用のタイプである。任意選択で、プロテクションフラグを伝送するために使用されるTLVは、トップTLVの新しいサブ-サブTLV(sub-sub-TLV)であり、プロテクションフラグを伝送するために使用されるTLV内のtypeは、sub-sub-TLV内の未使用のタイプである。プロテクションフラグを伝送するために使用されるTLVが、トップTLV、sub-TLV、又はsub-sub-TLVであるかどうかは、この実施形態では限定されない。
任意選択で、プロテクションフラグを伝送するために使用されるTLVのTypeは、IANAによって割り当てられた値であってもよい。任意選択で、TLVのTypeの値は6である。プロテクションフラグを伝送するために使用されるTLV内のLengthの値は、0から5の範囲とすることができる。
任意選択で、プロテクションフラグを伝送するために使用されるTLV内のvalueは、8バイトパディングフィールドであり得る。パディングフィールドのビットはセマンティックな意味を持たない場合がある。パディングフィールドの値は、送信中は0に設定され、パケット受信中は無視される。
前述の列挙された事例は全て事例E2の任意選択の実施態様であり、この出願のこの実施形態の保護範囲内に入るべきであることを理解されたい。
ケースE2では、パケットに対して新しいTLVが拡張され、TLVはプロテクションフラグを伝送するために使用される。プライマリパスに障害がある場合、受信側がTLVを識別した後、パケットは第1のプロテクションパスを通過しない。第1のプロテクションパスがローカルプロテクションパスである場合、パケットはローカルプロテクションパスを通過しない。
上記では、複数の観点からプロテクションフラグの様々な可能なケースについて説明した。また、プロテクションフラグを伝送するパケットは、複数のケースも含み得る。言い換えると、S201において、第2のネットワークデバイスは、複数のタイプのパケットにプロテクションフラグを付加することができる。以下では、プロテクションフラグを伝送するパケットの様々なケースを例を用いて説明する。前述したプロテクションフラグの様々なケースは、以下のパケットの様々なケースに適用可能であることが理解されるべきである。
プロテクションフラグを伝送するパケットは、任意選択で、ケースH及びケースIを含む。
ケースH:パケットは検出パケットを含む。検出パケットは、プライマリパスの接続性又は送信性能パラメータのうちの少なくとも1つを検出するために使用される。送信性能パラメータは、遅延、パケット損失率、遅延変動、リアルタイムトラフィック、パケット量、及びバイト量のうちの少なくとも1つを含む。
任意選択で、第2のネットワークデバイスによって送信されたパケットのペイロードは検出パケットを含み、プロテクションフラグは検出パケットの外部パケットヘッダ内にある。図8に示すように、任意選択で、第2のネットワークデバイスによって送信されるパケットは図8に示すSRv6パケットであり、SRv6パケットのペイロードは検出パケットを含み、検出パケットの外部パケットヘッダはSRHを含み、プロテクションフラグはSRH内にある。任意選択で、第2のネットワークデバイスによって送信されるパケットはSR-TEパケットであり、SR-TEパケットのペイロードは検出パケットを含み、検出パケットの外部パケットヘッダはラベルスタック及びプロテクションフラグを含む。任意選択で、第2のネットワークデバイスによって送信されたパケットがSRv6又はSR-TE以外の別の送信元ルーティング方式で転送される場合、検出パケットの外部パケットヘッダは送信元ルーティングに使用される別のパケットヘッダであり、別のパケットヘッダはプロテクションフラグを含む。任意選択で、プロテクションフラグは検出パケット内に位置される。例えば、検出パケットのパケットヘッダは拡張され、検出パケットのパケットヘッダはプロテクションフラグを伝送する。
以下、ケースH1~ケースH5を例として使用してケースHについて説明する。
ケースH1:検出パケットは双方向転送検出BFDパケットである。
ケースH1は、前述のBFD検出適用シナリオに適用可能である。BFDパケットはSBFD制御パケット(SBFD Control Packet)であってもよく、第2のネットワークデバイスはSBFDイニシエータであってもよい。図8に示すように、任意選択で、第2のネットワークデバイスによって送信されるパケットはSRv6 BFDパケットであり、SRv6 BFDパケットのペイロードはBFDパケットを含む。任意選択で、第2のネットワークデバイスによって送信されるパケットはSR-TE BFDパケットであり、SR-TE BFDパケットのペイロードはBFDパケットを含む。
任意選択で、プロテクションフラグは、BFDパケットの外部に位置される。例えば、プロテクションフラグを伝送するパケットのペイロードは、BFDパケットを含み、プロテクションフラグを伝送するパケットのパケットヘッダは、プロテクションフラグを含む。場合によっては、プロテクションフラグは、BFDパケット内に配置される。例えば、BFDパケットのパケットヘッダが拡張され、BFDパケットのパケットヘッダにプロテクションフラグが付加される。
ケースH2:検出パケットはping検出パケットである。
ケースH2は、前述のping検出接続性適用シナリオに適用可能である。ping検出パケットは、ICMPEcho要求パケットと呼ばれてもよい。図8に示すように、任意選択で、第2のネットワークデバイスによって送信されるパケットはSRv6 ping検出パケットであり、SRv6 ping検出パケットのペイロードはping検出パケットを含む。任意選択で、第2のネットワークデバイスによって送信されるパケットはSR-TE ping検出パケットであり、SR-TE pingパケットのペイロードはping検出パケットを含む。
任意選択で、プロテクションフラグはping検出パケットの外部に位置される。例えば、プロテクションフラグを伝送するパケットのペイロードは、ping検出パケットを含み、プロテクションフラグを伝送するパケットのパケットヘッダは、プロテクションフラグを含む。任意選択で、プロテクションフラグはping検出パケット内に位置される。例えば、ping検出パケットのパケットヘッダが拡張され、ping検出パケットのパケットヘッダにプロテクションフラグが付加される。
ケースH3:検出パケットはOAM検出パケットである。
ケースH3は、前述のOAM検出適用シナリオに適用可能である。ケースH3では、OAM検出パケットは、Y.1731検出パケット又はICMPv6 Echo Requestパケットと称されてもよい。図8に示すように、任意選択で、第2のネットワークデバイスによって送信されるパケットはSRv6 OAM検出パケットであり、SRv6 BFDパケットのペイロードはOAM検出パケットを含む。任意選択で、第2のネットワークデバイスによって送信されるパケットはSR-TE OAM検出パケットであり、SR-TE OAMパケットのペイロードはOAM検出パケットを含む。
任意選択で、プロテクションフラグはOAM検出パケットの外部に位置される。例えば、プロテクションフラグを伝送するパケットのペイロードはOAM検出パケットを含み、プロテクションフラグを伝送するパケットのパケットヘッダはプロテクションフラグを含む。任意選択で、プロテクションフラグはOAM検出パケット内に位置される。例えば、OAM検出パケットのパケットヘッダが拡張され、OAM検出パケットのパケットヘッダにプロテクションフラグが付加される。
ケースH4:検出パケットはTWAMP検出パケットである。
ケースH4は、前述のTWAMP検出アプリケーションシナリオに適用可能である。ケースH4では、TWAMP検出パケットは、TWAMP-Test-Requestパケットと呼ばれることもある。図8に示すように、任意選択で、第2のネットワークデバイスによって送信されるパケットはSRv6 TWAMP検出パケットであり、SRv6 TWAMPパケットのペイロードはTWAMP検出パケットを含む。任意選択で、第2のネットワークデバイスによって送信されるパケットはSR-TE TWAMP検出パケットであり、SR-TE TWAMPパケットのペイロードはTWAMP検出パケットを含む。
任意選択で、プロテクションフラグはTWAMP検出パケットの外部に位置される。例えば、プロテクションフラグを伝送するパケットのペイロードは、TWAMP検出パケットを含み、プロテクションフラグを伝送するパケットのパケットヘッダは、プロテクションフラグを含む。任意選択で、プロテクションフラグはTWAMP検出パケット内に位置される。例えば、TWAMP検出パケットのパケットヘッダが拡張され、TWAMP検出パケットのパケットヘッダにプロテクションフラグが付加される。
ケースH5:検出パケットはIFITパケットである。
ケースH5は、前述のIFIT適用シナリオに適用可能である。任意選択で、ケースH5のIFITパケットは、ICMPv6 Echo Requestパケットとも呼ばれる。IFITパケットは、IFITパケットヘッダを含む。任意選択で、プロテクションフラグは、IFITパケットヘッダ内に位置される。任意選択で、プロテクションフラグは、IFITパケットヘッダの外側パケットヘッダ内にある。
例えば、図13は、この出願の一実施形態に係るIFITパケットヘッダの概略図である。IFITパケットは、プロテクションフラグを含む。想定し得る実施において、IFITパケットヘッダは、フロー命令ヘッダ(Flow ID Header,FIH)及びフロー命令拡張ヘッダ(Flow ID Ext Header,FIEH)を含む。任意選択で、FIHはプロテクションフラグを含む。図14は、この出願の一実施形態に係るFIHの概略図である。任意選択で、プロテクションフラグは図14ではT/Mである。プロテクションフラグは、FIHにおけるD flagフィールドとHTIフィールドとの間に位置される。
FIHは、フローID、色調指示ビット、及び検出ヘッダタイプ指示を含む、IFIT 原位置フロー検出に使用される基本情報を伝送する。FIEHは、IFIT拡張機能をサポートするために使用される情報を伝送する。フロー命令拡張ヘッダは、エンドツーエンド拡張ヘッダ及びホップバイホップ拡張ヘッダの2つのタイプを含む。拡張フィールドは、拡張フローID、検出期間指示、逆流自動学習などを含む。任意選択で、FIHは、プロテクションフラグを含むだけでなく、以下のフィールド(a)~(f)も含む。
(a)Flow ID:サービスフローを一意に識別するのに使用されるbit0~bit19であり、Flow IDは検出ドメイン内のネットワーク全体で一意的である必要があり、IP無線アクセスネットワーク(IP Radio Access Network,IPRAN)ネットワーク要素はFlow IDに基づいてフロー識別を実行する。
(b)L Flag:Loss Flag、すなわち損失測定フラグ。
(c)D Flag:Delay Flag、すなわち遅延測定フラグであり、1は遅延測定が必要とされることを示し、0は遅延測定が必要とされないことを示す。
(d)R:予約ビットであり、将来の拡張のために予約されている。
(e)R/S:ブートラベルがスタックボトムラベルである場合、フラグはRであり、デフォルトで1に設定される。ブートラベルがスタックボトムラベルでない場合、フラグはSである。
(f)HTI(Header Typeタイプインジケータ):拡張データタイプを示し、拡張ヘッダが伝送されるかどうかを示す。
0x00:予約済み;
0x01:基本的なエンドツーエンド検出情報であり、拡張ヘッダを伝送しないことを示す;
0x02:基本的なホップバイホップ検出情報であり、拡張ヘッダを伝送しないことを示す;
0x03:FIHが拡張されたエンドツーエンド検出情報であり、拡張ヘッダを伝送し、FIEHが有効であることを示す;
0x04:FIHが拡張されたホップバイホップ検出情報であり、拡張ヘッダを伝送し、FIEHが有効であることを示す;及び
0x05から0xFF:将来の拡張用に予約済み。
ケースI:パケットはデータパケットを含み、データパケットはプライマリパスのサービスデータを伝送するのに使用され、データパケットはプロテクションフラグを含む。任意選択で、プロテクションフラグはデータパケットの外部に位置される。例えば、第2のネットワークデバイスによって送信されたパケットのペイロードはデータパケットを含み、データパケットの外部パケットヘッダはプロテクションフラグを含む。図8に示すように、任意選択で、第2のネットワークデバイスによって送信されるパケットは図8に示すSRv6パケットであり、SRv6パケットのペイロードはデータパケットを含み、データパケットの外部パケットヘッダはSRHを含み、SRHはプロテクションフラグを含む。任意選択で、第2のネットワークデバイスによって送信されるパケットはSR-TEパケットであり、SR-TEパケットのペイロードはデータパケットを含み、データパケットの外部パケットヘッダはラベルスタック及びプロテクションフラグを含む。任意選択で、第2のネットワークデバイスによって送信されたパケットがSRv6又はSR-TE以外の別の送信元ルーティング方式で転送される場合、データパケットの外部パケットヘッダは送信元ルーティングに使用される別のパケットヘッダであり、別のパケットヘッダはプロテクションフラグを含む。任意選択で、プロテクションフラグはデータパケット内に位置される。例えば、データパケットのパケットヘッダが拡張され、データパケットのパケットヘッダにプロテクションフラグが付加される。
任意選択で、データパケットで伝送されるサービスデータは、第2のネットワークデバイスによって受信されたサービスデータである。例えば、図1に示すように、CE1によってPE1に送信されたパケットはサービスデータを含み、PE1(第2のネットワークデバイス)によってP1(第1のネットワークデバイス)に送信されたパケットはサービスデータを含む。別の例では、図2に示すように、PE1(第2のネットワークデバイス)によってRT_3(第1のネットワークデバイス)に送信されたパケットはサービスデータを含む。
上記では、プロテクションフラグの様々なケースとパケットの様々なケースとを別々に説明している。前述したプロテクションフラグの様々なケース及びパケットの様々なケースは、任意の態様で組み合わせることができ、組み合わせ態様は、複数のケースの特徴を含むことが理解されるべきである。
S201におけるパケット生成方法は、任意選択で複数の実施態様を含む。以下では、ケースV1及びケースV2を例として使用して、パケット生成方法を説明する。
ケースV1:第3のデバイスが第2のネットワークデバイスへパケットを送信し、第2のネットワークデバイスは、第3のデバイスからパケットを受信し、第3のデバイスからのパケットに基づいて、プロテクションフラグを含むパケットを生成する。任意選択で、第3のデバイスはネットワークデバイスである。例えば、図1に示すように、第3のデバイスは、任意選択で、図1のCE1などのCEデバイスであり、CE1は、PE1にパケットを送信し、PE1は、CE1からのパケットに基づいて、プロテクションフラグを含むパケットを生成する。任意選択で、ケースV1は、データパケット転送シナリオに適用可能である。例えば、SRシナリオでは、データパケットは第2のネットワークデバイスからSRトンネルに入り始め、第2のネットワークデバイスがデータパケットを受信すると、第2のネットワークデバイスは、SRデータパケットを取得するためにデータパケットに基づいてSIDリスト及びプロテクションフラグを付加し、SRデータパケットを第1のネットワークデバイスへ送信する。SIDリストはSRデータパケットにプッシュされるため、SRデータパケットはSRトンネルに導入され、その結果、データパケットとプロテクションフラグとが結合されてSRトンネル上の各ノード上で送信される。
第2のネットワークデバイスによって送信されたパケットは、第2のネットワークデバイスによって受信された全てのデータパケットを含む必要があり、この実施形態のケースV1では限定されないことが理解されるべきである。ケースV1は、ケースV11及びケースV12を任意に含む。
ケースV11:第2のネットワークデバイスによって送信されたパケットは、第2のネットワークデバイスによって受信されたデータパケットの一部のコンテンツ(例えば、データパケットで伝送されるサービスデータ)を含み、第2のネットワークデバイスによって受信されたデータパケットの他のコンテンツは変更される。具体的には、任意選択で、データパケットを受信した後で、第2のネットワークデバイスは、データパケット内の何らかのコンテンツを更新し、例えば、データパケットのパケットヘッダのデータを修正し、データを削除し、又はデータを付加し(例えば、MACアドレスを変更する)、更新されたデータパケット及びプロテクションフラグをカプセル化してパケットを取得し、パケットを第1のネットワークデバイスへ送信する。したがって、第2のネットワークデバイスによって送信されたパケットは、第2のネットワークデバイスによって受信されたデータパケット内の何らかのコンテンツ及びプロテクションフラグを含む。
ケースV12:第2のネットワークデバイスによって送信されたパケットは、第2のネットワークデバイスによって受信されたデータパケットの全てのコンテンツを含む。例えば、第2のネットワークデバイスは、受信したデータパケットを更新しないが、受信したデータパケット、プロテクションフラグ、及び他の任意選択の情報をカプセル化してパケットを取得し、次いでパケットを第1のネットワークデバイスに送信する。したがって、第2のネットワークデバイスによって送信されたパケットは、第2のネットワークデバイスによって受信されたデータパケットの全ての内容及びプロテクションフラグを含む。
ケースV2:第2のネットワークデバイスは、別のデバイスによって送信されたパケットに基づいてS201を実行しないが、組み立てを実行してパケット全体を生成する。例えば、図1に示すように、第2のネットワークデバイスがPE1であり、第1のネットワークデバイスがPE3である場合、PE1はPE3とのBFDセッションを確立し、PE1はBFDパケットを生成し、そのBFDパケットをPE3に送信する。
S202:第2のネットワークデバイスは第1のネットワークデバイスへパケットを送信する。
S203:第1のネットワークデバイスがパケットを受信する。
任意選択で、第2のネットワークデバイスは、プライマリパスに対応するアウトバウンドインタフェースを介して第1のネットワークデバイスにパケットを送信する。第1のネットワークデバイスは、プライマリパスに対応するインバウンドインタフェースを介してパケットを受信する。
S204:第1のネットワークデバイスは、プライマリパスに障害があると決定する。
プライマリパスに障害があると決定する実施は、具体的には、複数のケースを含み得る。以下では、ケースJ及びケースKを例として使用して決定の実施を説明する。
ケースJ:第1のネットワークデバイスは、プライマリパスに障害があることを能動的に検出する。例えば、第1のネットワークデバイスは、プライマリパスとの結び付き関係を確立するアウトバウンドインタフェースを有し、アウトバウンドインタフェースを介して送信されたパケットは、プライマリパスに到達することができる。アウトバウンドインタフェースがダウン(down)状態にあることを第1のネットワークデバイスが検出する場合、第1のネットワークデバイスは、プライマリパスに障害があると決定することができる。
ケースK:別のデバイスが、プライマリパスに障害があることを第1のネットワークデバイスに通知する。例えば、第1のネットワークデバイスの次ホップノードは、障害通知メッセージを第1のネットワークデバイスに送信する。障害通知メッセージを受信した後、第1のネットワークデバイスは、障害通知メッセージに基づいて、プライマリパスに障害があると決定する。障害通知メッセージは、プライマリパスに障害があることを示し、障害通知メッセージは、信号送信によって任意選択で伝送される。任意選択で、障害通知メッセージは、第1のネットワークデバイスの次ホップノードによって生成される。例えば、障害を検出した後、次ホップノードは、障害通知メッセージを生成し、障害通知メッセージを第1のネットワークデバイスに送信する。任意選択で、障害通知メッセージは、第1のネットワークデバイスの次ホップノードからプライマリパス上の出口ノードまでの任意のノードによって生成される。障害を検出した後、ノードは、ホップバイホップバックホール方式で障害通知メッセージを第1のネットワークデバイスに返す。
任意選択で、実施形態1がSRシナリオに適用される場合、パケットはSRパケットであり、プライマリパスはSRトンネルに含まれる。例えば、プライマリパスは、SRトンネル内の1つのLSPである。SRシナリオでプライマリパスに障害があると決定する態様が、ケースL、ケースM、及びケースNを例として使用して以下に説明される。
ケースL:第1のネットワークデバイスは、パケット内のSIDに基づいて、SIDに対応するアウトバウンドインタフェースを決定する。SIDに対応するアウトバウンドインタフェースに障害がある場合、第1のネットワークデバイスは、プライマリパスに障害があると決定する。
例えば、パケットはSRv6パケットである。SRv6パケットの外側IPv6ヘッダ内の送信先アドレスフィールドはSIDを伝送し、又はSRv6パケット内のSRH内のSIDリストはSIDを伝送する。送信先アドレスフィールド内のSIDは、SIDリスト内のアクティブなSID(active SID)であってもよい。
ケースLにおいて、「パケット内のSIDに基づく」は、「パケットの外側IPv6ヘッダ内の送信先アドレスフィールド内のSIDに基づく」又は「パケット内のSRH内のSIDリスト内のアクティブなSIDに基づく」と解釈されてもよい。
以下、ケースL1~ケースL3を例として使用して、「SIDに対応するアウトバウンドインタフェース」が説明される。
ケースL1:SIDタイプ(FuncType)は、Endであり、すなわち、SIDは、End SIDである。
例えば、SRv6パケットを受信した後、第1のネットワークデバイスは、SRv6パケットの外側IPv6ヘッダ内の送信先アドレスフィールドを読み取って送信先アドレスを取得し、送信先アドレスに基づいてローカルSIDテーブル(local SID table)を照会する。送信先アドレスがローカルSIDテーブルにヒットし、SIDタイプがEndである場合、第1のネットワークデバイスは、IPv6ルーティング転送テーブルに照会し続け、IPv6ルーティング転送テーブルからアウトバウンドインタフェースを見つける。
ケースL2:SIDタイプがEnd.Xであり、すなわち、SIDはEnd.X SIDである。
ケースL2では、「SIDに対応するアウトバウンドインタフェース」は、第1のネットワークデバイスのローカルSIDテーブル内のEnd.X SIDに結び付けられたアウトバウンドインタフェースである。具体的には、SRv6パケットを受信した後、第1のネットワークデバイスは、SRv6パケットの外側IPv6ヘッダ内の送信先アドレスフィールドを読み取って送信先アドレスを取得し、送信先アドレスに基づいてローカルSIDテーブルを照会する。送信先アドレスがローカルSIDテーブルにヒットし、SIDタイプがEnd.Xである場合、第1のネットワークデバイスは、ローカルSIDテーブルに照会し、End.X SIDに結び付けられたアウトバウンドインタフェースを見つける。
ケースL3:SIDは第1のネットワークデバイスによって通知されたSIDではない。
ケースL3では、「SIDに対応するアウトバウンドインタフェース」は、SIDに基づくIPv6ルーティング転送テーブルからの照合を通じて第1のネットワークデバイスによって取得されたアウトバウンドインタフェースである。例えば、SRv6パケットを受信した後、第1のネットワークデバイスは、SRv6パケットの外側IPv6ヘッダ内の送信先アドレスフィールドを読み取って送信先アドレスを取得し、送信先アドレスに基づいてローカルSIDテーブルを照会する。第1のネットワークデバイスがローカルSIDテーブルにおいて一致するSIDを発見しない場合、第1のネットワークデバイスは、SIDを使用してIPv6ルーティング転送テーブルを照会し続け、IPv6ルーティング転送テーブルにおいてアウトバウンドインタフェースを見つける。
ケースM:第1のネットワークデバイスは、パケット内のSIDに基づいて、SIDに対応する次ホップを決定する。次ホップに障害がある場合、第1のネットワークデバイスは、プライマリパスに障害があると決定する。
ケースMでは、「パケット内のSIDに基づく」は、「パケットの外側IPv6ヘッダ内の送信先アドレスフィールド内のSIDに基づく」又は「パケット内のSRH内のSIDリスト内のアクティブなSIDに基づく」と解釈され得る。
以下、ケースM1~ケースM3を例として使用して「SIDに対応する次ホップ」が説明される。
ケースM1:SIDタイプはEndであり、すなわち、SIDはEnd SIDである。
例えば、SRv6パケットを受信した後、第1のネットワークデバイスは、SRv6パケットの外側IPv6ヘッダ内の送信先アドレスフィールドを読み取って送信先アドレスを取得し、送信先アドレスに基づいてローカルSIDテーブルを照会する。送信先アドレスがローカルSIDテーブルにヒットし、SIDタイプがEndである場合、第1のネットワークデバイスは、IPv6ルーティング転送テーブルに照会し続け、IPv6ルーティング転送テーブルから次ホップを見つける。
ケースM2:SIDタイプはEnd.Xであり、すなわち、SIDはEnd.X SIDである。
ケースM2では、「SIDに対応する次ホップ」は、第1のネットワークデバイスのローカルSIDテーブル内のEnd.X SIDに結び付けられる次ホップである。例えば、SRv6パケットを受信した後、第1のネットワークデバイスは、SRv6パケットの外側IPv6ヘッダ内の送信先アドレスフィールドを読み取って送信先アドレスを取得し、送信先アドレスに基づいてローカルSIDテーブルを照会する。送信先アドレスがローカルSIDテーブルにヒットし、SIDタイプがEnd.Xである場合、第1のネットワークデバイスは、ローカルSIDテーブルに照会し、End.X SIDに結び付けられた次ホップを見つける。
ケースM3:SIDは、第1のネットワークデバイスによって通知されたSIDではない。
例えば、SRv6パケットを受信した後、第1のネットワークデバイスは、SRv6パケットの外側IPv6ヘッダ内の送信先アドレスフィールドを読み取って送信先アドレスを取得し、送信先アドレスに基づいてローカルSIDテーブルを照会する。第1のネットワークデバイスがローカルSIDテーブルにおいて一致するSIDを見つけない場合、第1のネットワークデバイスは、SIDを使用してIPv6ルーティング転送テーブルを照会し続け、IPv6ルーティング転送テーブルにおいて次ホップを見つける。
ケースN:第1のネットワークデバイスは、パケット内のSIDに基づいて、アウトバウンドインタフェースとSIDに対応する次ホップとを決定する。アウトバウンドインタフェース及び次ホップに障害がある場合、第1のネットワークデバイスは、プライマリパスに障害があると決定する。
ケースNの詳細については、ケースM及びケースNを参照されたい。ここでは詳細は繰り返されない。
ケースL、ケースM、及びケースNから、SRトンネル内のプライマリパス上でパケットを送信するプロセスにおいて、プライマリパスに障害がある場合、パスに沿う各ホップノードは、アウトバウンドインタフェース又はノードの次ホップに基づいて、プライマリパスに障害があると決定することができることが知見される。したがって、パスに沿う各ホップノードは、プライマリパスに障害があると決定する可能性が高い。この場合、パスに沿うノードが局所的な保護機構を事前展開する場合、プライマリパス上のパケットがノードを通過するとき、ノードはパケットをローカルプロテクションパスに切り替える。したがって、パケットがプロテクションフラグを伝送しない場合、プライマリパス上の任意のノード又はリンクに障害がでた時点で、パスに沿う任意のホップノードがパケットをローカルプロテクションパスに切り替える可能性が高いことが判明される。しかしながら、プライマリパスに沿う各ホップノードによって受信されたパケットがプロテクションフラグを伝送するように、パケットにプロテクションフラグが付加される。したがって、パケットを受信した後にプライマリパスに障害があると決定するパスに沿うホップノードに関係なく、プロテクションパスへの切り替えが許容されないことをプロテクションフラグが既に示すため、ホップノードは、プロテクションフラグによって示されるようにパケットを廃棄することができ、パケットをローカルプロテクションパスに切り替えない。したがって、この方法では、プライマリパス上のパケットがローカルプロテクションパスに切り替えられず、パスに沿うノードが、パケットで伝送されたプロテクションフラグに基づき、局所的な保護切り替えを実行するかどうかを決定することができ、それにより、実施が比較的容易であり、サービス展開の複雑さが低減されることが知見される。
S205:第1のネットワークデバイスは、パケットがプライマリパスから第1のプロテクションパスに切り替えられることができないことをプロテクションフラグが示すと決定する。
以下、ケースO1~ケースO7を例として使用して、複数の観点からS205を説明する。
ケースO1:ケースC1を参照して、第1のネットワークデバイスは、第2のビットと第3のビットの両方が設定されるかどうかを決定する。第2のビットと第3のビットの両方が設定される場合、第1のネットワークデバイスは、パケットがプライマリパスからMidpoint TI-LFAパス又はTI-LFA FRRパスに切り替えられることができないことをプロテクションフラグが示すと決定する。例えば、指定された2ビットが「11」であると第1のネットワークデバイスが識別する場合、第1のネットワークデバイスは、パケットがプライマリパスからMidpoint TI-LFAパスに切り替えられることができず、パケットがプライマリパスからTI-LFA FRRパスに切り替えられることもできないと決定する。
任意選択で、ケースO1では、第1のネットワークデバイスは、flagフィールド又はパケットのTLVから第2のビット及び第3のビットを取得する。
ケースO3:ケースD1を参照して、第1のネットワークデバイスは、第1のビットが設定されるかどうかを決定する。第1のビットが設定される場合、第1のネットワークデバイスは、パケットがプライマリパスから第1のプロテクションパスに切り替えられることができないことをプロテクションフラグが示すと決定する。例えば、1ビットの値が「1」であると第1のネットワークデバイスが識別する場合、第1のネットワークデバイスは、パケットがプライマリパスからMidpoint TI-LFAパスに切り替えられることができないと決定する。別の例として、1ビットの値が「1」であると第1のネットワークデバイスが識別する場合、第1のネットワークデバイスは、パケットがプライマリパスからTI-LFA FRRパスに切り替えられることができないと決定する。
ケースO4:ケースD2を参照して、第1のネットワークデバイスは、第1のビットが設定されないかどうかを決定する。第1のビットが設定されない場合、第1のネットワークデバイスは、パケットがプライマリパスから第1のプロテクションパスに切り替えられることができないことをプロテクションフラグが示すと決定する。例えば、1ビットの値が「0」であると第1のネットワークデバイスが識別する場合、第1のネットワークデバイスは、パケットがプライマリパスからMidpoint TI-LFAパスに切り替えられることができないと決定する。別の例として、1ビットの値が「0」であると第1のネットワークデバイスが識別する場合、第1のネットワークデバイスは、パケットがプライマリパスからTI-LFA FRRパスに切り替えられることができないと決定する。
任意選択で、ケースO3及びケースO4では、第1のネットワークデバイスは、パケットのflagフィールド内の第1のビットを読み取る。任意選択で、ケースO3及びケースO4では、第1のネットワークデバイスは、パケットのTLVから第1のビットを取得する。
ケースO5:ケースE1に関連して、第1のネットワークデバイスは、パケットがプロテクションフラグを伝送するflagフィールドを含むかどうか決定することができる。パケットがプロテクションフラグを伝送するflagフィールドを含む場合、第1のネットワークデバイスは、パケットをプライマリパスから第1のプロテクションパスに切り替えることができないと決定し、したがって、第1のプロテクションパスを介してパケットを送信しない。ケースO5は、複数のケースを任意選択で含んでいてもよい。具体的には、プロテクションフラグを伝送するflagフィールドの特定の位置については、ケースE1の前述の説明を参照されたい。任意選択で、プロテクションフラグを伝送するflagフィールドは、SRH、SRH以外の拡張ヘッダ、検出パケットのパケットヘッダ、又はデータパケットのパケットヘッダに位置される。これに対応して、パケットがプロテクションフラグを伝送するflagフィールドを含むかどうかを第1のネットワークデバイスが決定するケースは、複数のケース、例えば、パケット内のSRHがプロテクションフラグを伝送するflagフィールドを含むかどうかを決定するケース、SRH以外の拡張ヘッダがプロテクションフラグを伝送するflagフィールドを含むかどうかを決定するケース、検出パケットのパケットヘッダがプロテクションフラグを伝送するflagフィールドを含むかどうかを決定するケース、及びデータパケットのパケットヘッダがプロテクションフラグを伝送するflagフィールドを含むかどうかを決定するケースを含み得る。
ケースO6:ケースE2を参照して、第1のネットワークデバイスは、パケットがプロテクションフラグを伝送するTLVを含むかどうかを決定することができる。パケットがプロテクションフラグを伝送するTLVを含む場合、第1のネットワークデバイスは、パケットがプライマリパスから第1のプロテクションパスに切り替えられることができないと決定し、したがって、第1のプロテクションパスを介してパケットを送信しない。ケースO6は、複数のケースを含んでいてもよい。具体的には、プロテクションフラグを伝送するTLVの特定の位置については、ケースE2の前述の説明を参照されたい。任意選択で、プロテクションフラグを伝送するTLVは、SRH、SRH以外の拡張ヘッダ、検出パケットのパケットヘッダ、又はデータパケットのパケットヘッダに位置される。これに対応して、パケットがプロテクションフラグを伝送するTLVを含むかどうかを第1のネットワークデバイスが決定するケースは、複数のケース、例えば、パケット内のSRHがプロテクションフラグを伝送するTLVを含むかどうかを決定するケース、SRH以外の拡張ヘッダがプロテクションフラグを伝送するTLVを含むかどうかを決定するケース、検出パケットのパケットヘッダがプロテクションフラグを伝送するTLVを含むかどうかを決定するケース、及びデータパケットのパケットヘッダがプロテクションフラグを伝送するTLVを含むかどうかを決定するケースを含み得る。
ケースO7:ケースHを参照すると、任意選択で、第1のネットワークデバイスは、検出パケットの外部パケットヘッダからプロテクションフラグを取得する。任意選択で、第1のネットワークデバイスは、検出パケットのパケットヘッダからプロテクションフラグを取得する。
例えば、ケースH1を参照すると、任意選択で、第1のネットワークデバイスは、BFDパケットの外部パケットヘッダからプロテクションフラグを取得する。任意選択で、第1のネットワークデバイスは、BFDパケットのパケットヘッダからプロテクションフラグを取得する。
例えば、ケースH2に関連して、任意選択で、第1のネットワークデバイスは、ping検出パケットの外部パケットヘッダからプロテクションフラグを取得する。任意選択で、第1のネットワークデバイスは、ping検出パケットのパケットヘッダからプロテクションフラグを取得する。
例えば、ケースH3を参照すると、任意選択で、第1のネットワークデバイスは、OAM検出パケットの外部パケットヘッダからプロテクションフラグを取得する。任意選択で、第1のネットワークデバイスは、OAM検出パケットのパケットヘッダからプロテクションフラグを取得する。
例えば、ケースH4を参照すると、任意選択で、第1のネットワークデバイスは、TWAMP検出パケットの外部パケットヘッダからプロテクションフラグを取得する。任意選択で、第1のネットワークデバイスは、TWAMP検出パケットのパケットヘッダからプロテクションフラグを取得する。
例えば、ケースH5に関連して、任意選択で、第1のネットワークデバイスは、IFITパケットの外部パケットヘッダからプロテクションフラグを取得する。任意選択で、第1のネットワークデバイスは、IFITパケットのパケットヘッダからプロテクションフラグを取得する。例えば、任意選択で、第1のネットワークデバイスは、IFITパケット内のFIHからプロテクションフラグを取得することができる。例えば、図13及び図14に示すように、第1のネットワークデバイスは、IFITパケット内のFIHのT/Mフィールドを読み取り、FIHのT/Mフィールドの値を識別して、パケットが第1のプロテクションパスを通過できるかどうか決定することができる。
ケースO1~ケースO7のうちの1つのみが存在してもよく、又は組み合わせ方式で複数のケースが存在してもよいことが理解されるべきである。
S204及びS205の時系列は、この実施形態では限定されないことが更に理解されるべきである。以下では、例を使用してS204及びS205の2つの可能な時系列の場合について説明する。以下の時系列ケース1及び時系列ケース2は、この実施形態で提供される2つの任意選択的な実施態様であり、両方ともこの出願のこの実施形態の保護範囲内に入るべきである。
時系列ケース1:最初にS204が実行され、次にS205が実行される。例えば、第1のネットワークデバイスはまずパケットを受信し、次いでパケットに基づいて次ホップ又はアウトバウンドインタフェースを決定し、次ホップ又はアウトバウンドインタフェースに障害があるかどうかを決定する。次ホップ又はアウトバウンドインタフェースに障害がある場合、第1のネットワークデバイスは、パケット内のプロテクションフラグを更に識別し、パケットがプライマリパスから第1のプロテクションパスに切り替えられることができることをプロテクションフラグが示すかどうか決定する。パケットがプライマリパスから第1のプロテクションパスに切り替えられることができないことをプロテクションフラグが示す場合、S206が実行され、パケットを廃棄する。次ホップ又はアウトバウンドインタフェースに障害がない場合、第1のネットワークデバイスはパケット内のプロテクションフラグを識別しないが、決定された次ホップ又はアウトバウンドインタフェースを介してパケットを直接に転送する。
時系列ケース2:最初にS205が実行され、次にS204が実行される。例えば、第1のネットワークデバイスがパケットを受信する前に、プライマリパスに対応するアウトバウンドインタフェースがダウン状態にあるため、又は、第1のネットワークデバイスが、プロテクションフラグを伝送するパケットを受信する前に、次ホップノードによって送信された障害通知メッセージを受信するため、第1のネットワークデバイスは、プライマリパスに障害があると事前に決定している。次いで、第1のネットワークデバイスは、プロテクションフラグを伝送するパケットを受信する。第1のネットワークデバイスは、パケット内のプロテクションフラグを識別し、パケットがプライマリパスから第1のプロテクションパスに切り替えられることができることをプロテクションフラグが示すかどうかを決定する。パケットをプライマリパスから第1のプロテクションパスに切り替えることができないことをプロテクションフラグが示す場合、第1のネットワークデバイスは、プライマリパスに障害があると事前に決定しているので、第1のネットワークデバイスは、パケットを廃棄するためにS206を実行する。
S206:第1のネットワークデバイスは、プライマリパスに障害があるという決定された事実と、パケットをプライマリパスから第1のプロテクションパスに切り替えることができないことを示すプロテクションフラグとに基づいてパケットを廃棄する。
第1のネットワークデバイスがパケットを廃棄した後、パケットは送信先デバイスに送信されることができない。
任意選択で、S201~S206に記載されたパケットは、プライマリパス上のトラフィック内のパケットであってもよい。トラフィック(データフロー、パケットフローとも呼ばれる)とは、送信元から送信先までの一連のパケットを意味する。送信先側は、別のホストであってもよく、複数のホストのマルチキャストグループ又はブロードキャストドメインを含む。
任意選択で、第2のネットワークデバイスは、プライマリパスを介して第1のネットワークデバイスにトラフィックを送信するために複数回S201及びS202を実行し、第1のネットワークデバイスは、フロー内のパケットを廃棄するために複数回S203~S206を実行し、その結果、トラフィックは、第1のネットワークデバイスに送信されるときに中断され、送信先デバイスに送信することができず、S207が更にトリガされる。
S207:第2のネットワークデバイスは、プライマリパス上のトラフィックにパケット損失が起こると決定する。
任意選択で、S207では、S201~S206で説明したパケットが失われていると決定される。任意選択で、S207において、S201~S206で記述されたパケット内の別のパケットが失われていると決定される。別のパケットは、プライマリパス上のトラフィックでもある。当該他のパケットの送信手順は、S201~S206と同様である。
任意選択で、S207は、上記のケースHに適用可能である。具体的には、ケースHでは、検出パケットは、パケットの送信先デバイスの応答に基づいて接続性又は送信性能パラメータを検出することができる。送信先デバイスの応答がタイムアウト前に受信されない場合、検出パケットのイニシエータは、プライマリパス上でパケット損失が起こると決定する。しかしながら、第1のネットワークデバイスは検出パケットを廃棄するため、トラフィックは第1のネットワークデバイス上で中断される。したがって、検出パケットの送信先ノードは検出パケットを受信することができず、送信先ノードは第1のネットワークデバイスに応答を返さない。この場合、第1のネットワークデバイスは、送信先ノードから応答を受信することができず、第1のネットワークデバイスは、送信先ノードの応答がタイムアウト前に受信されないという事実に基づいて、パケット損失がプライマリパス上のトラフィックで起こると決定する。
以下では、第2のネットワークデバイスがパケット損失を決定するケースが、ケースH1からケースH5を例として用いて説明される。
ケースH1:プライマリパス上で第2のネットワークデバイスによって送信されたパケットは、BFDパケットを含む。この場合、プライマリパス上でパケット損失が起こると第2のネットワークデバイスが決定する方式は、BFD検出がダウン状態にあると第2のネットワークデバイスが決定することであり得る。例えば、タイマが満了する前に第2のネットワークデバイスが返されたループバックSBFDパケットを受信しない場合、第2のネットワークデバイスはローカル状態をダウン状態に維持する。
ケースH2:プライマリパス上で第2のネットワークデバイスによって送信されたパケットは、ping検出パケットを含む。この場合、プライマリパス上でパケット損失が起こると第2のネットワークデバイスが決定する方式は、ping検出パケットが損失されたと第2のネットワークデバイスが決定することであり得る。
ケースH3:プライマリパス上で第2のネットワークデバイスによって送信されたパケットは、OAM検出パケットを含む。この場合、プライマリパス上でパケット損失が起こると第2のネットワークデバイスが決定する方式は、OAM検出パケットが損失されたと第2のネットワークデバイスが決定することであり得る。例えば、第2のネットワークデバイスがタイムアウト前にエコー応答パケットを受信しない場合、第2のネットワークデバイスは、ping検出パケットが失われていると決定する。
ケースH4:プライマリパス上で第2のネットワークデバイスによって送信されたパケットは、TWAMP検出パケットを含む。この場合、プライマリパス上でパケット損失が起こると第2のネットワークデバイスが決定する方式は、TWAMP検出パケットが損失されたと第2のネットワークデバイスが決定することであり得る。
ケースH5:プライマリパス上で第2のネットワークデバイスによって送信されたパケットは、IFIT検出パケットを含む。この場合、プライマリパス上でパケット損失が起こると第2のネットワークデバイスが決定する方式は、IFIT検出パケットが失われたと第2のネットワークデバイスが決定することであり得る。
任意選択で、パケットがデータパケットである場合、第2のネットワークデバイスは、パッシブ検出方式で、パケット損失がプライマリパス上のトラフィックで起こると決定することができる。例えば、プライマリパス上の下流ノードは、プライマリパスに障害があることをホップバイホップバックホール方式で第2のネットワークデバイスに通知する。或いは、パケットを送信するときに、第2のネットワークデバイスは、プロテクションフラグを伝送するデータパケットを送信するだけでなく、プロテクションフラグを伝送する検出パケットも送信する。検出パケットが失われていると第2のネットワークデバイスが決定する場合、検出パケットとデータパケットとが一緒に送信されるので、第2のネットワークデバイスは、データパケットも失われていると決定する。
S208:第2のネットワークデバイスは、プライマリパス上のトラフィックでパケット損失が起こるという決定された事実に基づいて、プライマリパスを第2のプロテクションパスに切り替える。
S208は必須のステップではなく任意のステップである。S208は、プライマリパスから第2のプロテクションパスに切り替えるトリガ条件が、プライマリパスのトラフィックでパケットロスが検出されたことである場合に適用可能である。
第2のプロテクションパスは、プライマリパスのバックアップパスでもある。第2のプロテクションパスは、プライマリパスを保護するために使用される。第2のプロテクションパスは、プライマリパスと同じ入口ノードを有する。例えば、この実施形態では、プライマリパス上の入口ノードは第2のネットワークデバイスであり、第2のプロテクションパス上の入口ノードも第2のネットワークデバイスである。例えば、図1に示すように、プライマリパス上の入口ノードはPE1であり、第2のプロテクションパスは、入口ノードとしてPE1を有するプロテクションパスであってもよく、例えば、トンネル1内のバックアップパスであってもよい。任意選択で、第2のプロテクションパスは、エンドツーエンドのプロテクションパスであり、概念導入部におけるエンドツーエンドのプロテクションパスの任意の特徴を有する。具体的には、第2のプロテクションパスは、プライマリパス全体を保護する。任意選択で、プライマリパスが機能するとき、第2のプロテクションパスは、アイドル状態にあり、サービスデータを独立して伝送しない。プライマリパスに障害がある場合、第2のプロテクションパスは、プライマリパスの作業を引き継ぎ、サービスデータを伝送するためにプライマリパスを置き換える。任意選択で、第2のプロテクションパスは事前に計画されたパスである。例えば、ユーザは、その帯域幅が帯域幅閾値よりも大きいバックアップパスを事前に計画し、バックアップパスは第2のプロテクションパスであってもよい。別の例では、ユーザは、遅延が遅延閾値未満であるバックアップパスを事前に計画し、バックアップパスは、第2のプロテクションパスであってもよい。
以下では、ケースY1及びケースY2を例として用いて第2のプロテクションパスを説明する。
ケースY1:第2のプロテクションパスとプライマリパスとは同じトンネルに属し得る。例えば、第2のプロテクションパス及びプライマリパスは、同じトンネル内の2つのLSPであり、プライマリパスは、トンネル内のプライマリLSPであり、第2のプロテクションパスは、トンネル内のバックアップLSPである。例えば、図1に示すように、PE1とPE3との間にトンネル1が存在し、第2のプロテクションパスはトンネル1内のバックアップパスであり、プライマリパスはトンネル1内のプライマリパスである。このように、第2のプロテクションパスとプライマリパスとの間の保護機構は、同じトンネル内の2つのLSP間の相互保護に属する。プライマリLSPに障害がある場合、パケットは、ローカルプロテクションパスを通過しないことを示すプロテクションフラグを伝送するため、プライマリLSPを伝送されるトラフィックは、適時にバックアップLSPに切り替えられる。これにより、エンドツーエンドの保護を提供する。
ケースY2:第2のプロテクションパスとプライマリパスとは異なるトンネルに属し得る。言い換えれば、第2のプロテクションパス及びプライマリパスは2つのトンネルであり、2つのトンネルはプライマリ/バックアップ関係にある。具体的には、プライマリパスはプライマリトンネルであり、第2のプロテクションパスはバックアップトンネルであり、プライマリトンネル上の送信元ノードはバックアップトンネル上の送信元ノードと同じであり、プライマリトンネル上のシンクノードはバックアップトンネル上のシンクノードと同じである。プライマリトンネル及びバックアップトンネルは、2つのVPNサービスによって反復され、VPN保護が実施される。例えば、図5に示すように、プライマリパスはPE1とPE3との間のプライマリトンネルであり、第2のプロテクションパスはPE2とPE4との間のバックアップトンネルである。このように、プライマリトンネルに障害があるとき、パケットはローカルプロテクションパスを通過しないことを示すプロテクションフラグを伝送するので、プライマリトンネルを介して伝送されるトラフィックは適時にバックアップトンネルに切り替えられる。これにより、トンネルレベルの保護を提供する。
任意選択で、SLA保証シナリオでは、第2のプロテクションパスはSLAを満たすパスである。例えば、第2のプロテクションパスの遅延は、SLA遅延要件を満たす。例えば、第2のプロテクションパスの遅延は遅延閾値未満である。別の例では、第2のプロテクションパスの帯域幅は、SLA帯域幅要件を満たす。例えば、第2のプロテクションパスの帯域幅は、帯域幅閾値よりも大きい。
このシナリオでは、パケットがプロテクションフラグを伝送しないとき、パケットがプライマリパスに沿って送信されるプロセスにおいて、パスに沿うノードがプライマリパスに障害があると決定する場合、ノードはパケットをプロテクションパスに局所的に切り替える。パスに沿うノードがパケットを切り替える先のプロテクションパスは通常SLAを満たさないため、パスに沿うノードがパケットを切り替える先のプロテクションパスの送信性能は、帯域幅や遅延などの点で確保され得ない。その結果、プライマリパス上のトラフィックは、SLAを満たさないパスに迂回され、サービスSLA保証は達成されることができない。しかしながら、この実施形態では、局所的な保護が許容されているかどうかを示すことができる識別子がパケットに付加される。プロテクションフラグを伝送するパケットがプライマリパスに沿って送信されるプロセスでは、パスに沿うノードがプライマリパスに障害があると決定するがプロテクションパスへの局所的な切り替えが許容されないことをプロテクションフラグが示す場合、パスに沿うノードは局所的な保護を実行せず、それにより、パケットは、パスに沿うノードによってプロテクションパスに切り替えられない。これにより、パケットがパスに沿うノードからプロテクションパスに入った後に引き起こされる、プライマリパス上のトラフィックがSLAを満たさないパス上で長時間にわたって送信されるという問題を回避する。加えて、パスに沿うノードはパケットを廃棄するため、ヘッドノードはプライマリパス上のトラフィックにおけるパケット損失を適時に検出することができ、それにより、ヘッドノードはプライマリパス上のトラフィックをSLAを満たすプロテクションパスに適時に切り替えることができ、サービスSLA保証が達成されることができる。
プライマリパスを第2のプロテクションパスに切り替えた後で、第2のネットワークデバイスは、第2のプロテクションパスを介してパケットを送信する。任意選択で、第2のネットワークデバイスが第2のプロテクションパスを介してパケットを送信する方式は、S201及びS202でパケットを送信する方式と同様であり、S201及びS202で説明したパケットの任意の特徴を含む。例えば、第2のネットワークデバイスによって第2のプロテクションパスを介して送信されるパケットは、任意選択でプロテクションフラグを含む。
任意選択で、第2のネットワークデバイスは、プライマリパス上のトラフィックでパケット損失が起こると決定し、プライマリパス上の障害の原因を検出する。この場合、パケットは第1のプロテクションパスを通過しないので、第2のネットワークデバイスは、適時にパケット損失を決定し、適時にプライマリパス上の障害の原因を検出して、適時にサービス障害を検出し、適時にプライマリパス上の障害を修正するのを助けることができる。
S207及びS208は任意選択的なステップであることが理解されるべきである。幾つかの他の実施形態では、任意選択で、S207及びS208が実行されない。任意選択で、S207が実行されるが、S208は実行されない。
例えば、S208は、ケースHに適用可能であり、具体的には、検出パケットがプライマリ/バックアップパス切り替えをトリガすることができる任意のシナリオに適用することができる。
事例H1が一例として使用される。BFDシナリオでは、BFD検出原理は、送信元ノードがBFDパケットを送信し、送信先ノードがBFDパケットを受信し、次いでBFDパケットに応答し、送信元ノードが応答パケットを受信し、次いで検出が成功したと見なすことである。ヘッドノードがBFDパケットを送信する場合、ヘッドノードがBFDパケット及びプロテクションフラグを一緒に送信しなければ、プライマリパスに障害があるとき、パスに沿うノードは、BFDパケットをローカルプロテクションパスに切り替え、ローカルプロテクションパスを介して送信先ノードにBFDパケットを送信する。この場合、送信先ノードは、BFDパケットを受信し、次いで、BFDパケットに応答する。ヘッドノードが応答パケットを受信した後、BFD検出はUP状態にある。この場合、BFD検出が成功したため、ヘッドノードは、トラフィックがプライマリパスからローカルプロテクションパスに迂回されたことを知ることができない。その結果、ヘッドノードは、プライマリパスの障害を適時に検出することができず、ヘッドノードは、トラフィックのサービス障害を適時に検出することができず、ヘッドノードは、プライマリパスの障害の原因を適時に検出することができない。特に、パス切り替えがBFD障害を検出することによってトリガされるシナリオでは、ヘッドノードによって実行されるBFD検出が成功するため、パス切り替えトリガ条件は満たされることができない。その結果、ヘッドノードは、プライマリパス上のトラフィックをエンドツーエンドプロテクションパスに適時に切り替えることができない。
しかしながら、前述の方法実施形態では、ヘッドノード(例えば、第2のネットワークデバイス)は、プロテクションフラグとともにBFDパケットを送信し、プロテクションパスへの局所的な切り替えが許容されないことを示すためにプロテクションフラグを使用する。したがって、プライマリパスに沿ってBFDパケットが送信されるプロセスでは、プライマリパスに障害がある場合、プロテクションフラグはプロテクションパスへの局所的な切り替えが許容されていないことを示すので、パスに沿うノード(例えば、第1のネットワークデバイス)は、BFDパケットを受信すると、局所的な保護機構を使用してBFDパケットをローカルプロテクションパスに切り替えず、BFDパケットを廃棄する。この場合、パスに沿うノードでは、BFDパケットの送信が中断され、BFDパケットは送信先ノードに送信されない。送信先ノードはBFDパケットを受信しないので、送信先ノードはBFDパケットに応答せず、ヘッドノードは送信先ノードから応答パケットを受信しない。この場合、ヘッドノードによって実行されるBFD検出はダウン状態にある。したがって、BFD検出がダウン状態にあるという事実に基づき、ヘッドノードは、プライマリパスに障害があることを適時に検出することができ、それにより、ヘッドノードは、プライマリパス上の障害の原因を適時に検出し、サービス障害を適時に検出することができる。これは、プライマリパス上の障害を適時に修正し、長期的なサービス障害を回避するのに役立つ。
更に、任意選択で、パス切り替えトリガ条件は、ヘッドノードで事前構成される。パス切り替えトリガ条件は、BFD検出がダウン状態にあるときに、プライマリパスがエンドツーエンドプロテクションパスに切り替えられることである。したがって、前述の方法では、ヘッドノードによって実行されるBFD検出はダウン状態にあるため、事前構成されたトリガ条件が満たされ、その結果、ヘッドノードは、BFDシナリオでプライマリパスとエンドツーエンドプロテクションパスとの間のタイムリーな切り替えを実施するために、プライマリパス上のトラフィックをエンドツーエンドプロテクションパスに切り替える。
加えて、任意選択で、エンドツーエンドプロテクションパスは、SLA要件に従ってヘッドノード上のSLAを満たすパスとして事前構成される。したがって、プライマリパスに障害がある場合、ヘッドノードはプライマリパス上のトラフィックをエンドツーエンドプロテクションパスに切り替えるので、トラフィックは、障害にあるプライマリパスからSLAを満たすパスに切り替えられ、その結果、SLAを満たすパスを介してトラフィックを送信先ノードに送信することができ、SLA保証が達成され得る。
類推すると、ping検出シナリオ、OAM検出シナリオ、TWAMP検出シナリオ、及びIFIT検出シナリオはそれぞれ、BFD検出シナリオと同様の原理に基づいている。このようにして、ヘッドノードは、パケット損失を時間的に検出し、プライマリ/バックアップパス切り替えを時間的にトリガすることができる。
更に、任意選択で、パス切り替えトリガ条件は、ヘッドノードで事前構成される。パス切り替えトリガ条件は、IFIT検出が失敗する場合に、プライマリパスがエンドツーエンドプロテクションパスに切り替えられることである。したがって、前述の方法では、ヘッドノードによって実行されるIFIT検出が失敗するので、事前構成されたトリガ条件が満たされ、その結果、ヘッドノードは、IFIT検出シナリオでプライマリパスとエンドツーエンドプロテクションパスとの間のタイムリーな切り替えを実施するために、プライマリパス上のトラフィックをエンドツーエンドプロテクションパスに切り替える。加えて、任意選択で、エンドツーエンドプロテクションパスは、SLA要件に従ってヘッドノード上のSLAを満たすパスとして事前構成される。したがって、プライマリパスに障害がある場合、ヘッドノードはプライマリパス上のトラフィックをエンドツーエンドプロテクションパスに切り替えるので、トラフィックは、障害にあるプライマリパスからSLAを満たすパスに切り替えられ、その結果、SLAを満たすパスを介してトラフィックを送信先ノードに送信することができ、SLA保証が達成され得る。
この実施形態で提供される方法では、局所的な保護が許容されているかどうかを示すことができる識別子がパケットに付加される。プロテクションフラグを伝送するパケットがプライマリパスに沿って送信されるプロセスでは、プライマリパスに障害があるとパスに沿うノードが決定するが、プロテクションパスへの局所的な切り替えが許容されないことをプロテクションフラグが示す場合、パスに沿うノードが局所的な保護を実行せず、それにより、パケットはプロテクションパスへのパスに沿ってノードにより切り替えられない。これは、プライマリパスに障害がある場合にパスに沿うノードを入口としてパケットがプロテクションパスを通過するのを防ぎ、パケットがパスに沿うノードからプロテクションパスに入った後に生じる問題を解決する。
特に、殆どの場合、パスに沿うノードは、局所的な保護のみを実行することができ、エンドツーエンドプロテクションパスに切り替えることはできない。したがって、パスに沿うノードを入口とするプロテクションパスは、通常、事前に計画されたエンドツーエンドのプロテクションパスではなく、ローカルプロテクションパスである。この場合、パケットがローカルプロテクションパスに切り替えられる場合、プライマリパス上のトラフィックは長時間にわたってローカルプロテクションパスに迂回される。しかしながら、パケットにはプロテクションフラグが付加され、それにより、パケットがローカルプロテクションパスに送信されない。したがって、プライマリパス上のトラフィックはエンドツーエンドプロテクションパスに適時に切り替えられることができる。
加えて、パスに沿うノードはパケットを廃棄するため、パケット送信側は、プライマリパス上のトラフィックにおけるパケット損失を適時に検出することができる。保護切り替えをトリガするためにパケット損失が検出される様々なシナリオにおいて、パケット送信側は、プライマリパス上のトラフィックをエンドツーエンドプロテクションパスに適時に切り替えることができ、それにより、パケット送信側は、サービス障害及びプライマリパス上の障害の原因を適時に検出することができる。
実施形態1は、パケットがプライマリパスから第1のプロテクションパスに切り替えられることができないことを受信されたパケット内のプロテクションフラグが示す場合に第1のネットワークデバイスが処理を行う態様について説明する。実施形態2は、パケットがプライマリパスから第1のプロテクションパスに切り替えられることができることをプロテクションフラグが示す場合に第1のネットワークデバイスが処理を行う態様について説明する。実施形態2は、実施形態1との違いに焦点を合わせていることが理解されるべきである。実施形態1と同様の実施形態2のステップ又は他の特徴については、実施形態1を参照されたい。実施形態2では詳細は説明されない。
実施形態2
図15は、この出願の実施形態2に係るパケット処理方法のフローチャートである。実施形態2は、S301~S309を含む。
S301:第2のネットワークデバイスがパケットを生成し、パケットはプロテクションフラグを含む。
S302:第2のネットワークデバイスは第1のネットワークデバイスへパケットを送信する。
S303:第1のネットワークデバイスはパケットを受信する。
S304:第1のネットワークデバイスは、プライマリパスに障害があると決定する。
S305:第1のネットワークデバイスは、パケットがプライマリパスから第1のプロテクションパスに切り替えられることができることをプロテクションフラグが示すと決定する。
任意選択で、S305における「パケットはプライマリパスから第1のプロテクションパスに切り替えられることができる」は、パケットが全ての第1のプロテクションパスに切り替えられることができること、又は、パケットは幾つかの指定された第1のプロテクションパスに切り替えられることができるがパケットは幾つかの他の指定された第1のプロテクションパスに切り替えられることができないことを含む。
以下、ケースW1~ケースW6を例として用いて、複数の観点からS305を説明する。
ケースW1:ケースC2を参照して、第1のネットワークデバイスは、第2のビットが設定され且つ第3のビットが設定されないかどうかを決定することができる。第2のビットが設定され、第3のビットが設定されない場合、第1のネットワークデバイスは、パケットはMidpoint TI-LFAパスに切り替えられることができないがTI-LFA FRRパスに切り替えられることができることをプロテクションフラグが示すと決定する。例えば、第1のネットワークデバイスは、第2のビット及び第3のビットの値が「10」であることを見つけ、プライマリパス上のパケットがTI-LFAパスを通過できるがプライマリパス上のパケットがMidpoint TI-LFAパスを通過できないと決定する。この場合、TI-LFAパスは許容されるので、第1のネットワークデバイスはTI-LFAパスを通じてパケットを転送する。
ケースW2:ケースC3を参照して、第1のネットワークデバイスは、第2のビットが設定されず且つ第3のビットが設定されるかどうかを決定することができる。第2のビットが設定されず、第3のビットが設定される場合、第1のネットワークデバイスは、パケットはMidpoint TI-LFAパスに切り替えられることができるがTI-LFA FRRパスに切り替えられることができないことをプロテクションフラグが示すと決定する。例えば、第1のネットワークデバイスは、第2のビット及び第3のビットの値が「01」であることを見つけ、プライマリパス上のパケットがMidpoint TI-LFAパスを通過できるがプライマリパス上のパケットがTI-LFAパスを通できないと決定する。この場合、Midpoint TI-LFAパスは許容されるので、第1のネットワークデバイスは、Midpoint TI-LFAパスを介してパケットを転送する。
ケースW3:ケースC4を参照して、第1のネットワークデバイスは、第2のビットが設定されず且つ第3のビットが設定されないかどうかを決定することができる。第2のビットも第3のビットも設定されない場合、第1のネットワークデバイスは、パケットがプライマリパスからMidpoint TI-LFAパス又はTI-LFA FRRパスに切り替えられることができることをプロテクションフラグが示すと決定する。例えば、第1のネットワークデバイスは、第2のビット及び第3のビットの値が「00」であることを見つけ、プライマリパス上のパケットがMidpoint TI-LFAパスを通過することができるとともにプライマリパス上のパケットがTI-LFAパスも通過することができると決定する。この場合、Midpoint TI-LFAパス及びTI-LFAパスは許容されるので、第1のネットワークデバイスは、Midpoint TI-LFAパス又はTI-LFAパスを介してパケットを送信する。第1のネットワークデバイスは、Midpoint TI-LFAパス及びTI-LFAパスから1つのパスを決定し、決定されたパスを介してパケットを送信することができる。
ケースW4:ケースD1を参照して、第1のネットワークデバイスは、第1のビットが設定されないかどうかを決定することができる。第1のビットが設定されない場合、第1のネットワークデバイスは、パケットがプライマリパスから第1のプロテクションパスに切り替えられることができることをプロテクションフラグが示すと決定する。例えば、flagフィールドの第2のビットが0であることを第1のネットワークデバイスが見つける場合、第1のネットワークデバイスは、パケットが第1のプロテクションパスを通過できると決定する。任意選択で、第1のネットワークデバイスは複数の保護機構を有効にする。ケースW4は、パケットがTI-LFA FRRパスに切り替えられることができることをプロテクションフラグが示すと第1のネットワークデバイスが決定することを含む。また、ケースW4は、パケットがMidpoint TI-LFAパスに切り替えられることができることをプロテクションフラグが示すと第1のネットワークデバイスが決定することを含む。
ケースW5:ケースE1に関連して、第1のネットワークデバイスは、パケットがプロテクションフラグを伝送するflagフィールドを含むかどうか決定することができる。パケットがプロテクションフラグを伝送するflagフィールドを含まない場合、第1のネットワークデバイスは、パケットがプライマリパスから第1のプロテクションパスに切り替えられることができると決定し、したがって、パケットを第1のプロテクションパスを介して送信する。
ケースW6:ケースE2を参照して、第1のネットワークデバイスは、パケットがプロテクションフラグを伝送するTLVを含むかどうかを決定することができる。パケットがプロテクションフラグを伝送するTLVを含まない場合、第1のネットワークデバイスは、パケットがプライマリパスから第1のプロテクションパスに切り替えられることができると決定し、したがって、パケットを第1のプロテクションパスを介して送信する。
ケースW1~ケースW7のうちの1つのみが存在してもよく、又は組み合わせ方式で複数のケースが存在してもよいことが理解されるべきである。
S304及びS305の時系列は、この実施形態では限定されないことが更に理解されるべきである。以下では、S304及びS305の2つの想定し得る時系列の場合を例を用いて説明する。以下の時系列ケース1及び時系列ケース2は、この実施形態で提供される2つの任意選択的な実施態様であり、両方ともこの出願のこの実施形態の保護範囲内に入るべきである。
時系列ケース1:最初にS304が実行され、次にS305が実行される。例えば、第1のネットワークデバイスはまずパケットを受信し、次いでパケットに基づいて次ホップ又はアウトバウンドインタフェースを決定し、次ホップ又はアウトバウンドインタフェースに障害があるかどうかを決定する。次ホップ又はアウトバウンドインタフェースに障害がある場合、第1のネットワークデバイスは、パケット内のプロテクションフラグを更に識別し、パケットがプライマリパスから第1のプロテクションパスに切り替えられることができることをプロテクションフラグが示すかどうか決定する。パケットがプライマリパスから第1のプロテクションパスに切り替えられることができることをプロテクションフラグが示す場合、パケットを転送するためにS306が実行される。次ホップ又はアウトバウンドインタフェースに障害がない場合、第1のネットワークデバイスはパケット内のプロテクションフラグを識別しないが、決定された次ホップ又はアウトバウンドインタフェースを介してパケットを直接に転送する。
時系列ケース2:最初にS305が実行され、次にS304が実行される。例えば、第1のネットワークデバイスがパケットを受信する前に、プライマリパスに対応するアウトバウンドインタフェースがダウン状態にあるため、又は、第1のネットワークデバイスが、プロテクションフラグを伝送するパケットを受信する前に、次ホップノードによって送信された障害通知メッセージを受信するため、第1のネットワークデバイスは、プライマリパスに障害があると事前に決定している。次いで、第1のネットワークデバイスは、プロテクションフラグを伝送するパケットを受信する。第1のネットワークデバイスは、パケット内のプロテクションフラグを識別し、パケットがプライマリパスから第1のプロテクションパスに切り替えられることができることをプロテクションフラグが示すかどうかを決定する。パケットがプライマリパスから第1のプロテクションパスに切り替えられることができることをプロテクションフラグが示す場合、第1のネットワークデバイスは、プライマリパスに障害があると事前に決定しているので、第1のネットワークデバイスは、パケットを転送するためにS306を実行する。
S306:第1のネットワークデバイスは、プライマリパスに障害があるという決定された事実と、パケットがプライマリパスから第1のプロテクションパスに切り替えられることができることを示すプロテクションフラグとに基づいて、第1のプロテクションパスを介してパケットを送信する。
例えば、図4に示すように、第1のネットワークデバイスはRT_3である。RT_3は、プライマリパスに障害があるという決定された事実と、パケットがプライマリパスから第1のプロテクションパスに切り替えられることができることを示すプロテクションフラグとに基づいて、局所的な保護機構を有効にする。RT_3は、破線で示すパスでRT_4にパケットを送り、それにより、パケットは、RT_3からRT_4に到着し、RT_4からRT_6に到着し、RT_6からRT_5に到着し、RT_5からRT_7に到着し、RT_7からPE2に到着する。
以下、ケースV1~ケースV3を例として用いて、複数の観点からS305を説明する。
ケースV1:第1のネットワークデバイスは、プライマリパスに障害があるという決定された事実と、パケットがMidpoint TI-LFAパスに切り替えられることができるがTI-LFA FRRパスに切り替えられることができないことを示すプロテクションフラグとに基づいて、Midpoint TI-LFAパスを介してパケットを送信する。このようにして、第1のネットワークデバイスは、パケットはプライマリパスからMidpoint TI-LFAパスに切り替えられるが、プライマリパスからTI-LFA FRRパスには切り替えられない。パケットはTI-LFA FRRパスを通過しないので、パケットがTI-LFA FRRパスに切り替えられた後に生じる問題が回避される。
ケースV2:第1のネットワークデバイスは、プライマリパスに障害があるという決定された事実と、パケットがTI-LFA FRRパスに切り替えられることができるがMidpoint TI-LFAパスに切り替えられることができないことを示すプロテクションフラグとに基づいて、TI-LFA FRRパスを介してパケットを送信する。このようにして、第1のネットワークデバイスは、パケットをプライマリパスからTI-LFA FRRパスに切り替えるが、プライマリパスからMidpoint TI-LFAパスには切り替えない。パケットは、Midpoint TI-LFAパスを通過しないので、パケットがMidpoint TI-LFAパスに切り替えられた後に生じる問題が回避される。
ケースV3:第1のネットワークデバイスは、プライマリパスに障害があるという決定された事実と、パケットがプライマリパスからMidpoint TI-LFAパス又はTI-LFA FRRパスに切り替えられることができることを示すプロテクションフラグとに基づいて、TI-LFA FRRパス又はTI-LFA FRRパスを介してパケットを送信する。
ケースV3では、TI-LFA FRRパスが許容され、TI-LFA FRRパスも許容されるので、第1のネットワークデバイスは、TI-LFA FRRパス及びTI-LFA FRRパスから1つのパスを決定し、決定されたパスを介してパケットを送信することができる。例えば、第1のネットワークデバイスは、Midpoint TI-LFA保護機構の優先度及びTI-LFA保護機構の優先度を事前設定し、第1のネットワークデバイスは、Midpoint TI-LFA保護機構の優先度及びTI-LFA保護機構の優先度に基づいて、Midpoint TI-LFAパス及びTI-LFAパスから1つのパスを決定する。
例えば、第1のネットワークデバイスは、Midpoint TI-LFAパス及びTI-LFA FRRパスからより高い優先度を有するパスを決定し、より高い優先度を有するパスを介してパケットを送信する。例えば、第1のネットワークデバイスは、Midpoint TI-LFA保護機構の優先度がTI-LFA保護機構の優先度よりも高いことを事前設定する。Midpoint TI-LFAとTI-LFAの両方が使用されることができる場合は、Midpoint TI-LFAが優先的に使用される。この場合、第1のネットワークデバイスは、Midpoint TI-LFAパスを介してパケットを送信する。或いは、第1のネットワークデバイスは、TI-LFA保護機構の優先度がMidpoint TI-LFA保護機構の優先度よりも高いことを事前設定する。Midpoint TI-LFAとTI-LFAの両方が使用されることができる場合は、TI-LFAが優先的に使用される。この場合、第1のネットワークデバイスは、TI-LFAパスを介してパケットを送信する。
任意選択で、Midpoint TI-LFA保護機構及びTI-LFA保護機構においてより高い優先度を有する保護機構で障害が起こる場合、第1のネットワークデバイスは、より低い優先度を有するが通常使用することができる保護機構を使用してパケットを転送することができる。例えば、第1のネットワークデバイスは、Midpoint TI-LFA保護機構の優先度がTI-LFA保護機構の優先度よりも高いことを事前設定する。しかしながら、Midpoint TI-LFA保護機構は現在使用されることができないが、TI-LFA保護機構は現在使用されることができる。この場合、第1のネットワークデバイスは、TI-LFAパスを介してパケットを送信する。別の例では、第1のネットワークデバイスは、TI-LFA保護機構の優先度がMidpoint TI-LFA保護機構の優先度よりも高いことを事前設定する。しかしながら、TI-LFA保護機構は現在使用されることができないが、Midpoint TI-LFA保護機構は現在使用されることができる。この場合、第1のネットワークデバイスは、Midpoint TI-LFAパスを介してパケットを送信する。
S307:第3のネットワークデバイスがパケットを受信する。
例えば、第3のネットワークデバイスはプライマリパス上の出口ノードであり、第3のネットワークデバイスはプライマリパスが属するトンネル上のシンクノードである。例えば、図1に示すように、第3のネットワークデバイスは図1のPE3である。
S308:第3のネットワークデバイスは、受信したパケットに基づいて第1のネットワークデバイスに応答パケットを送信する。
S309:第1のネットワークデバイスは、応答パケットに基づいて、プライマリパスが接続状態にあると決定する。
S308及びS309は任意選択的なステップである。S308及びS309は、ケースHで説明した検出パケット送信シナリオに適用可能である。このシナリオでは、第1のネットワークデバイスは検出パケットの開始ノードであり、第3のネットワークデバイスは検出パケットの送信先ノードである。例えば、ケースH1では、第1のネットワークデバイスは、BFDパケットの開始ノードであり、第3のネットワークデバイスは、BFDパケットの送信先ノードである。
この実施形態で提供される方法では、パケットにプロテクションフラグが付加され、その結果、プロテクションフラグは、パケットがプライマリパスからプロテクションパスに切り替えられることができるかどうかを示すことができる。プライマリパスに障害があるときに、パスに沿うノードとして機能するネットワークデバイスがプロテクションフラグを伝送するパケットを受信する場合、プライマリパスに障害があると決定され、パケットをプロテクションパスに切り替えることができることをプロテクションフラグが示すため、パケットはプロテクションパスを介して送信され、パスに沿うノードは、パケットで伝送されたプロテクションフラグを使用してパケットをローカルプロテクションパスに切り替えるように案内され、パスに沿うノードは、パケットを特定のプロテクションパスに切り替えるように更に案内され得る。これにより、柔軟性が向上する。
任意選択で、実施形態1はSRシナリオに適用される。任意選択で、SRシナリオでは、実施形態1の第2のネットワークデバイスはSRトンネル上のヘッドノードであり、第1のネットワークデバイスはSRトンネル上のトランジットノードであり、実施形態1のパケットはSRパケットである。実施形態1では、プライマリパスは、SRトンネルに含まれるプライマリLSPである。第1のプロテクションパスは、第1のバックアップLSPである。第2のプロテクションパスは、第2のバックアップLSPである。SRシナリオは、SRv6シナリオ及びセグメント・ルーティング・マルチプロトコル・ラベル・スイッチング(Segment Routing Multi-Protocol for Label Switching,SR MPLS)シナリオを含む。SR MPLSシナリオは、SR-TEシナリオ及びセグメントルーティング-ベストエフォート(Segment Routing-Best Effort,SR-BE)シナリオを含む。実施形態3の具体的な事例として、これらのSRシナリオは全て、この出願のこの実施形態の保護範囲内に入るべきである。
実施形態1がSRシナリオに適用される手順が、実施形態3を用いて以下に説明される。言い換えれば、実施形態3は、SRシナリオにおいてパケットがプロテクションパスを通過しない実施について説明する。実施形態1と同様の実施形態3のステップについては、実施形態1を参照されるべきことを理解されたい。実施形態3では詳細は説明されない。
実施形態3
図16は、この出願の実施形態3に係るパケット処理方法のフローチャートである。実施形態3は、S401~S408を含む。
S401:SRトンネル上のヘッドノードがSRパケットを生成する。
S401で記述されるSRパケットは、ケースA、ケースB、ケースC、ケースD、ケースE1、ケースE2、ケースH、ケースIのいずれかに含まれる任意の特徴を有する。
例えば、SRv6では、SRパケットはSRv6パケットであり、SRv6パケットはSRHを含み、SRHはプロテクションフラグを含む。
任意選択で、ヘッドノードは、コマンドラインに入る又は別の構成を事前に実行することによって、プロテクションフラグ追加機能を有効にする。ヘッドノードは、SRHを追加する処理において、SRHにプロテクションフラグを追加してもよい。この場合、ヘッドノードによって送信されたパケット内のSRHはプロテクションフラグを伝送する。
例えば、ケースCを参照すると、プロテクションフラグはSRHにおいて2ビットを占有し、2ビットの値は、トランジットノードがSRHをプライマリLSPから第1のバックアップLSPに切り替えることができるようにされるかどうかを示すために使用され得る。例えば、ケースC1を参照すると、プロテクションフラグはSRH内の第2のビット及び第3のビットを占有し、第1のバックアップLSPは、Midpoint TI-LFAパス又はTI-LFA FRRパス上にある。第2のビットと第3のビットの両方が設定される場合、それは、トランジットノードがパケットをプライマリパスからMidpoint TI-LFAパス及びTI-LFA FRRパスに切り替えることができないようにされることを示す。
例えば、ケースDを参照すると、プロテクションフラグはSRHにおいて1ビットを占有し、1ビットの値は、トランジットノードがSRHをプライマリLSPから第1のバックアップLSPに切り替えることができるかどうかを示すために使用され得る。
任意選択で、flagフィールドの第2のビットはプロテクションフラグを伝送するために使用され、プロテクションフラグは図11ではT/Mである。flagフィールドの第2のビットの値が1である場合、それは、パケットがプライマリLSPから第1のバックアップLSPに切り替えられることができないことを示す。flagフィールドの第2のビットの値が0である場合、それは、トランジットノードがパケットをプライマリLSPから第1のバックアップLSPに切り替えることができるようにされることを示す。
任意選択で、プロテクションフラグを伝送するflagフィールドは、除外フラグを更に含む。除外フラグは、E flag(exclude flag)であり、除外フラグの機能は、圧縮中の最後のSIDを除外することであり、除外フラグの機能は、「set when the last SID is excluded in compression」に変換されてもよい。
任意選択で、プロテクションフラグを伝送するflagフィールドは、未使用フラグを更に含む。未使用フラグは、U flagである。使用されずに将来使用され得るflagフィールドについて、パケット内の未使用フラグの値が0に設定されている場合、パケット受信側は未使用フラグを無視する。
例えば、ケースE2を参照すると、プロテクションフラグはSRH内のTLV内にある。例えば、図12に示すように、プロテクションフラグを伝送するTLVは、SRHにおけるTLVである。TLVは、保護TLVと称されてもよい。保護TLVは、障害が起こるときにSRv6パケットがプロテクションパスを通過できるかどうかを示すために使用される。SRv6パケットが保護TLVを含む場合、保護TLVは、SRv6パケットをプライマリLSPから第1のバックアップLSPに切り替えることができないことを示すので、プライマリLSPに障害がある場合、トランジットノードはSRv6パケットを廃棄し、その結果、SRv6パケットは第1のバックアップLSPを通過しない。加えて、SRv6パケットが保護TLVを含まない場合、プライマリLSPに障害があるとき、中継ノードは、SRv6パケットが第1のバックアップLSPを通過するように、SRv6パケットを第1のバックアップLSPを介して転送する。
S402:ヘッドノードは、SRトンネル内のプライマリLSPを介して、プライマリLSP上のトランジットノードにSRパケットを送信する。
例えば、S401において、ヘッドノードは、SRv6パケット内のSRHにSIDリストを付加する。SIDリストは、SRv6パケットがプライマリLSPを介して送信されるように、プライマリLSP上のノード又はリンクを識別する。
S403:SRトンネル内のプライマリLSP上のトランジットノードは、SRパケットを受信する。
S404:トランジットノードは、プライマリLSPに障害があると決定する。
S405:トランジットノードは、SRv6パケットがプライマリLSPから第1のバックアップLSPに切り替えられることができないことをプロテクションフラグが示すと決定し、第1のバックアップLSPは、SRトンネルに含まれるLSPであり、第1のバックアップLSPは、プライマリLSPのローカルプロテクションパスである。
トランジットノードは、SRv6パケット内のSRHからプロテクションフラグを取得するとともに、SRv6パケットがプライマリLSPから第1のバックアップLSPに切り替えられることができないことをプロテクションフラグが示すかどうかを決定することができる。
任意選択で、図10に示すように、トランジットノードは、パケット内のSRHからflagフィールドを決定し、flagフィールドから第2のビット及び第3のビットを取得し、例えば、flagフィールドからビット 6及びビット 7を読み取る。トランジットノードは、flagフィールド内の第2のビットの値及び第3のビットの値に基づいて、SRv6パケットをプライマリLSPから第1のバックアップLSPに切り替えられることができないことをプロテクションフラグが示すと決定する。例えば、flagフィールド内のビット 6及びビット 7が「11」であるとトランジットノードが識別する場合、トランジットノードは、パケットがプライマリパスからMidpoint TI-LFAパスに切り替えられることができずパケットがプライマリパスからTI-LFA FRRパスに切り替えられることもできないと決定する。確かに、「11」は任意選択の方法である。別の任意選択の実施態様では、flagフィールド内のビット 6及びビット 7が「00」であるとトランジットノードが識別する場合、トランジットノードは、パケットがプライマリパスからMidpoint TI-LFAパスに切り替えられることができずパケットがプライマリパスからTI-LFA FRRパスに切り替えられることもできないと決定する。
別の例では、図11に示すように、トランジットノードは、パケット内のSRHからflagフィールドを決定し、flagフィールドから最初のビットを取得し、例えば、flagフィールドから第2のビットを読み取る。トランジットノードは、flagフィールド内の第1のビットの値に基づいて、SRv6パケットがプライマリLSPから第1のバックアップLSPに切り替えられることができないことをプロテクションフラグが示すと決定する。例えば、flagフィールドの第2のビットが「1」であるとトランジットノードが識別する場合、トランジットノードは、パケットがプライマリパスからMidpoint TI-LFAパスに切り替えられることができないと決定する、又は、パケットがプライマリパスからTI-LFA FRRパスに切り替えられることができないと決定する。確かに、「1」は任意選択の方法である。任意選択で、flagフィールドの第2のビットが「0」であるとトランジットノードが識別する場合、トランジットノードは、パケットがプライマリパスからMidpoint TI-LFAパスに切り替えられることができずパケットがプライマリパスからTI-LFA FRRパスに切り替えられることもできないと決定する。
任意選択で、トランジットノードは、SRHがプロテクションフラグを伝送するために使用されるTLVを含むかどうかを決定することができる。SRHがプロテクションフラグを伝送するために使用されるTLVを含む場合、トランジットノードは、SRv6パケットがプライマリLSPから第1のセカンダリLSPに切り替えられることができないことをプロテクションフラグが示すと決定する。例えば、図12に示すように、SRHが図12に示すTLVを含む場合、トランジットノードは、SRv6パケットはプライマリLSPから第1のバックアップLSPに切り替えられることができないことをプロテクションフラグが示すと決定する。
任意選択で、トランジットノードは、SRH内のTLV内のタイプフィールドの値に基づいてSRHから、プロテクションフラグを伝送するために使用されるTLVを識別することができる。例えば、トランジットノードは、SRH内のTLV内のタイプフィールドの値が保護TLVに対応するタイプ値であるかどうかを決定することができる。SRH内のTLV内のタイプフィールドの値が保護TLVに対応するタイプ値である場合、トランジットノードは、SRHがプロテクションフラグを伝送するために使用されるTLVを含むと決定する。
S406:トランジットノードは、プライマリLSPに障害があるという決定された事実と、SRパケットがプライマリLSPから第1のバックアップLSPに切り替えられることができないことを示すプロテクションフラグとに基づいて、SRパケットを廃棄する。
S407:SRトンネル上のヘッドノードは、プライマリLSP上のトラフィックにパケット損失が起こると決定する。
S408:ヘッドノードは、プライマリLSP上のトラフィックでパケット損失が起こるという決定された事実に基づいて、プライマリLSPを第2のバックアップLSPに切り替え、第2のバックアップLSPは、プライマリLSPのエンドツーエンドプロテクションパスである。
この実施形態で提供される方法では、SRv6パケット内のSRHに、局所的な保護が許容されているかどうかを示すことができる識別子が付加される。プロテクションフラグを伝送するパケットがSRトンネル内のプライマリLSPに沿って送信されるプロセスでは、プライマリパスに障害があるとプライマリLSP上のトランジットノードが決定するが、局所的な保護が許容されていないことをプロテクションフラグが示す場合、パスに沿うノードは局所的な保護を実行せず、それにより、パケットは、トランジットノードによって、トランジットノードを入口としてバックアップLSPに切り替えられない。これにより、プライマリパスに障害がある場合にパケットが局所的な保護のためにバックアップLSPを通過することを防止し、パケットがパスに沿うノードから局所的な保護のためにバックアップLSPに入った後に引き起こされる問題を解決する。
加えて、パケットはトランジットノードによって廃棄されるので、SRトンネル上のヘッドノードは、プライマリパス上のトラフィックにおけるパケット損失を適時に検出することができ、SRトンネル上のヘッドノードは、サービス障害を適時に検出することができ、SRトンネル上のヘッドノードは、プライマリパス上の障害の原因を検出することができる。
加えて、任意選択で、同じSRトンネル内の異なるLSP間で切り替えるためのトリガ条件がヘッドノード上で事前構成される。トリガ条件は、パケット損失が検出された場合に、SRトンネル内のプライマリLSPがSRトンネル内のバックアップLSPに切り替えられることである。したがって、前述の方法では、ヘッドノードは、プライマリLSP上のトラフィックにパケット損失が起こると決定するため、トリガ条件が満たされ、その結果、ヘッドノードは、適時にプライマリLSP上のトラフィックをバックアップLSPに切り替える。これにより、エンドツーエンドの高速保護切り替えが容易になる。
更に、任意選択で、バックアップLSPは、SLAを満たすLSPとして、SLA要件に従ってヘッドノード上で事前構成される。この場合、ヘッドノードは、プライマリLSP上のトラフィックをSLAを満たすバックアップLSPに切り替えるので、SLAを満たすバックアップLSPにトラフィックが切り替えられることができ、トラフィックは、SLAを確保せず且つトランジットノードが切り替わるバックアップLSPに長時間迂回されない。したがって、トラフィック送信性能が確保されることができ、SLA保証が達成されることができる。
実施形態3は、SRシナリオにおけるプロテクションフラグに基づいて、1つのトンネル内の2つのLSP間の保護切り替えを実施する手順を示す。この実施形態は、SRシナリオにおいてプロテクションフラグに基づいてトンネルレベルの保護切り替えを実施する手順を更に提供する。以下では、実施形態3を使用して手順を説明する。実施例3で提供される実施例4も、実施例1がSRシナリオに適用される手順である。言い換えれば、実施形態4は、SRシナリオにおいてパケットがプロテクションパスを通過しない実施態様も記載する。実施形態1及び実施形態3のステップと同様の実施形態4のステップについては、実施形態1及び実施形態3を参照されたいことが理解されるべきである。実施形態4では詳細は説明されない。
実施形態4
図17は、この出願の実施形態4に係るパケット処理方法のフローチャートである。実施形態4は、S501~S508を含む。
S501:第1のSRトンネル上のヘッドノードがSRパケットを生成する。
S502:ヘッドノードは、第1のSRトンネル内のプライマリLSPを介して、プライマリLSP上のトランジットノードにSRパケットを送信する。
S503:第1のSRトンネル内のプライマリLSP上のトランジットノードがSRパケットを受信する。
S504:トランジットノードは、プライマリLSPに障害があると決定する。
S505:トランジットノードは、SRパケットはプライマリLSPからバックアップLSPに切り替えられることができないことをプロテクションフラグが示すと決定し、バックアップLSPは、SRトンネルに含まれるLSPであり、バックアップLSPは、プライマリLSPのローカルプロテクションパスである。
S506:トランジットノードは、プライマリLSPに障害があるという決定された事実と、SRパケットはプライマリLSPからバックアップLSPに切り替えられることができないことを示すプロテクションフラグとに基づいて、SRパケットを廃棄する。
S507:ヘッドノードは、プライマリLSP上のトラフィックにパケット損失が起こると決定する。
S508:ヘッドノードは、プライマリLSP上のトラフィックでパケット損失が起こるという決定された事実に基づいて、第1のSRトンネル内のプライマリLSPを第2のSRトンネルに切り替え、この場合、第2のSRトンネルと第1のSRトンネルとは同じソース及びシンクを有する。
例えば、図1に示すように、P1とP3との間のパスに障害がある場合、P1はプロテクションフラグに基づいてパケットを破棄する。この場合、PE1はパケット損失を検出するので、PE1はトンネル1内のプライマリパスをトンネル1内のバックアップパスに切り替える。
この実施形態で提供される方法によれば、SRトンネルに障害が起こるときに、パケット損失を検出することによって保護切り替えがトリガされるシナリオでは、局所的な保護が許容されるかどうかを示すことができる識別子がSRパケット内のSRHに付加されるので、プロテクションフラグを伝送するパケットがSRトンネルに沿って送信されるプロセスでは、局所的な保護が許容されないことをプロテクションフラグが示すため、トランジットノードは局所的な保護を実行しない。したがって、パケット損失が起こるとヘッドノードが決定するので、トンネルレベルの切り替えトリガ条件が満たされる場合、SRトンネル上のトラフィックは適時に別のSRトンネルに切り替えられることができ、その結果、エンドツーエンド保護切り替えが迅速に実行されることができる。
加えて、任意選択で、別のSRトンネルは、SLAを満たすトンネルとしてSLA要件に従ってヘッドノード上で事前構成される。この場合、ヘッドノードは、プライマリLSP上のトラフィックをSLAを満たすSRトンネルに切り替えるので、トラフィック送信性能が確保されることができ、SLA保証が達成されることができる。
任意選択で、実施形態3又は実施形態4は、SRv6シナリオに適用され、具体的には、SRv6検出パケットを送信するシナリオに適用される。実施例3又は実施例4が検出パケット伝送に適用された手順が、実施例5を用いて以下に説明される。言い換えれば、実施形態5は、SRv6シナリオで検出パケットがプロテクションパスを通過しない実施について説明する。実施形態3及び実施形態4のステップと同様の実施形態5のステップについては、実施形態3及び実施形態4を参照されたいことを理解されたい。詳細はこの実施形態5では説明されない。
実施形態5では、検出パケットがSRv6のBFDパケットである場合について説明する。言い換えれば、実施形態5は、SRv6シナリオでSRv6 BFDパケットがプロテクションパスを通過しない実施について説明する。
実施形態5
図18は、この出願の実施形態5に係るパケット処理方法のフローチャートである。実施形態5は、S601~S608を含む。
S601:SRv6トンネル上のヘッドノードは、SRv6 BFDパケットを生成する。
S602:ヘッドノードは、SRv6トンネル内のプライマリLSPを介して、プライマリLSP上のトランジットノードにSRv6 BFDパケットを送信する。
S603:SRv6トンネル内のプライマリLSP上のトランジットノードは、SRv6 BFDパケットを受信する。
S604:トランジットノードは、プライマリLSPに障害があると決定する。
S605:トランジットノードは、SRv6 BFDパケットがプライマリLSPから第1のバックアップLSPに切り替えられることができないことをプロテクションフラグが示すと決定し、第1のバックアップLSPは、プライマリLSPのローカルプロテクションパスであり、第1のバックアップLSPは、SRv6トンネルに含まれるLSPである。
S606:トランジットノードは、プライマリLSPに障害があるという決定された事実と、SRv6 BFDパケットがプライマリLSPから第1のバックアップLSPに切り替えられることができないことを示すプロテクションフラグとに基づいて、SRv6 BFDパケットを廃棄する。
S607:SRv6トンネル上のヘッドノードは、SRv6 BFDパケットが失われていると決定する。
S608:SRv6 BFDパケットが失われているという決定された事実に基づいて、ヘッドノードは、SRv6トンネル内のプライマリLSPをSRv6トンネル内の第2のバックアップLSPに切り替え、この場合、第2のバックアップLSPは、プライマリLSPのエンドツーエンドプロテクションパスであり、又は、ヘッドノードは、SRv6トンネルを別のSRv6トンネルに切り替え、別のSRv6トンネル及び障害のあるSRv6トンネルは同じソース及びシンクを有する。
この実施形態で提供される方法によれば、SRv6 BFDパケットのSRHヘッダがプロテクションフラグを伝送するため、プライマリLSP上でノード障害又はリンク障害が起こる場合、パスに沿うノードがSRv6 BFDパケットを受信すると、SRv6 BFDパケット内のプロテクションフラグが、パケットがローカルバックアップLSPを通過することを許容されていないことを示すため、パスに沿うノードはSRv6 BFDパケットを廃棄する。この場合、SRv6 BFDパケットはBFD送信先側に到達せず、BFD送信先側はパケットをヘッドノードに返さない。したがって、ヘッドノード上のBFD検出はダウンするようにトリガされ、その結果、ヘッドノードはプライマリパス上の障害を適時に検出することができる。加えて、BFD検出がダウンしているためにエンドツーエンド保護切り替えがトリガされると、ヘッドノードは、同じSRv6トンネル上でプライマリ/バックアップLSP切り替えを適時に実行して、SRv6トンネル内のプライマリLSPのパケットをSRv6トンネル内のバックアップLSPに切り替え、それによってプライマリ/バックアップLSP切り替え時間を短縮することができ、又は、ヘッドノードは、適時にトンネルレベルの切り替えを実行して、プライマリLSPのパケットを別のSRv6トンネルに切り替え、それによって2つのSRv6トンネル間の切り替え時間を短縮することができる。
SRv6 BFDパケットは、実施形態5の説明のための例として使用されることが理解されるべきである。実施形態5におけるSRv6 BFDパケットは、SRv6 ping検出パケット、SRv6 OAMパケット、SRv6 OAM検出パケット、又はSRv6 TWAMP検出パケットに置き換えられてもよい。対応する処理手順については、実施形態5を参照されたい。ここでは詳細は繰り返されない。
以上、この出願の実施形態におけるパケット処理方法について説明したが、以下では、この出願の実施形態におけるパケット処理装置について説明する。パケット処理装置110は前述の方法における第1のネットワークデバイスの任意の機能を有し、パケット処理装置120は前述の方法における第2のネットワークデバイスの任意の機能を有することが理解されるべきである。
図19は、この出願の一実施形態に係るパケット処理装置110の構造の概略図である。図19に示すように、パケット処理装置110は、S203、S303、S403、S503、又はS603のうちの少なくとも1つを実行するように構成される受信モジュール1101と、
S204、S205、S303、S304、S404、S405、S504、S505、S604、又はS605のうちの少なくとも1つを実行するように構成される決定モジュール1102と、
S206、S406、S506、又はS606のうちの少なくとも1つを実行するように構成される廃棄モジュール1103とを含む。
任意選択で、決定モジュール1102は、S305を行うように更に構成される。装置110は、S306を実行するように構成される送信モジュールを更に含む。
図19の実施形態で提供されるパケット処理装置110は、前述の方法の実施形態における第1のネットワークデバイスに対応することが理解されるべきである。パケット処理装置110内のモジュール並びに前述の他の動作及び/又は機能は、方法実施形態において第1のネットワークデバイスによって実施される様々なステップ及び方法を実施するためにそれぞれ使用される。詳細については、前述の方法の実施形態を参照されたい。簡潔にするために、ここでは詳細は繰り返されない。
図19の実施形態で提供されるパケット処理装置110がパケットを処理するとき、前述の機能モジュールへの分割は説明のための例として使用されているにすぎないことが理解されるべきである。実際の適用中、前述の機能は、完了のために必要に応じて異なる機能モジュールに割り当てられてもよい。具体的には、前述した機能の全部又は一部を実現するために、パケット処理装置110の内部構成が異なる機能モジュールに分割される。加えて、前述の実施形態で提供されるパケット処理装置110は、前述のパケット処理方法の実施形態と同じ概念に属する。その具体的な実装プロセスについては、方法実施形態を参照されたい。ここでは詳細は繰り返されない。
図20は、この出願の一実施形態に係るパケット処理装置120の構造の概略図である。図20に示すように、パケット処理装置120は、S201、S301、S401、S501、又はS601のうちの少なくとも1つを実行するように構成される生成モジュール1201と、
S202、S302、S402、S502、又はS602のうちの少なくとも1つを実行するように構成される送信モジュール1202とを含む。
任意選択で、装置120は、プライマリパス上のトラフィックにおいてパケット損失が起こると決定するように構成される決定モジュールと、パケット損失がプライマリパス上のトラフィックで起こるという決定された事実に基づいてプライマリパスを第2のプロテクションパスに切り替えるように構成される切り替えモジュールとを更に含む。
図20の実施形態で提供されるパケット処理装置120は、前述の方法の実施形態における第2のネットワークデバイスに対応することが理解されるべきである。パケット処理装置120内のモジュール並びに前述の他の動作及び/又は機能は、方法実施形態において第2のネットワークデバイスによって実施される様々なステップ及び方法を実施するためにそれぞれ使用される。詳細については、前述の方法の実施形態を参照されたい。簡潔にするために、ここでは詳細は繰り返されない。
図20の実施形態で提供されるパケット処理装置120がパケットを処理するとき、前述の機能モジュールへの分割は説明のための例として使用されているにすぎないことが理解されるべきである。実際の適用中、前述の機能は、完了のために必要に応じて異なる機能モジュールに割り当てられてもよい。具体的には、前述した機能の全部又は一部を実現するために、パケット処理装置120の内部構成が異なる機能モジュールに分割される。加えて、前述の実施形態で提供されるパケット処理装置120は、前述のパケット処理方法の実施形態と同じ概念に属する。その具体的な実装プロセスについては、方法実施形態を参照されたい。ここでは詳細は繰り返されない。
以下では、第1のネットワークデバイス又は第2のネットワークデバイスの想定し得るエンティティ形態について説明する。
前述のネットワークデバイスの特性を有する製品の全ての形態がこの出願の保護範囲内に入ることが理解されるべきである。以下の説明は単なる例であり、本出願の実施形態におけるネットワークデバイスの製品形態はそれに限定されないことが更に理解されるべきである。
この出願の一実施形態は、ネットワークデバイスを提供する。ネットワークデバイスは、前述の方法の実施形態において第1のネットワークデバイス又は第2のネットワークデバイスとして提供されてもよい。ネットワークデバイスはプロセッサを含み、プロセッサは命令を実行するように構成され、その結果、ネットワークデバイスは前述の方法実施形態によるパケット処理方法を実行する。
例えば、プロセッサは、ネットワークプロセッサ(Network Processor、略してNP)、中央処理装置(central processing unit、CPU)、特定用途向け集積回路(application-specific integrated circuit、ASIC)、又はこの出願の解決策におけるプログラム実行を制御するように構成された集積回路であってもよい。プロセッサは、シングルコアプロセッサ(single-CPU)であってもよく、マルチコアプロセッサ(multi-CPU)であってもよい。1つ以上のプロセッサが存在してもよい。
幾つかの想定し得る実施形態では、ネットワークデバイスがメモリを更に含んでもよい。
メモリは、リードオンリーメモリ(read-only memory、ROM)、静的情報及び命令を記憶し得る別のタイプの静的記憶デバイス、ランダムアクセスメモリ(random access memory、RAM)、又は情報及び命令を記憶し得る別のタイプの動的記憶デバイスであってもよく、或いは、電気的消去可能プログラマブルリードオンリーメモリ(electrically erasable programmable read-only memory、EEPROM)、コンパクトディスクリードオンリーメモリ(compact disc read-only Memory、CD-ROM)もしくは別のコンパクトディスクストレージ、光ディスクストレージ(コンパクト光ディスク、レーザディスク、光ディスク、デジタル多用途ディスク、及びブルーレイディスクなどを含む)、磁気ディスク記憶媒体もしくは別の磁気記憶デバイス、又は命令もしくはデータ構造の形態の予期されるプログラムコードを保持もしくは記憶するために使用され得るとともにコンピュータによってアクセスされ得る任意の他の媒体であってもよい。しかしながら、メモリはこれに限定されるものではない。
メモリとプロセッサとが別々に配置されてもよく、メモリとプロセッサとが一体化されてもよい。
幾つかの想定し得る実施形態では、ネットワークデバイスがトランシーバを更に含んでもよい。
トランシーバは、別のデバイス又は通信ネットワークと通信するように構成される。ネットワーク通信方式は、イーサネット、無線アクセスネットワーク(RAN)、無線ローカルエリアネットワーク(wireless local area networks,WLAN)などであってもよいが、これらに限定されない。
幾つかの想定し得る実施形態では、ネットワークデバイス内のネットワークプロセッサは、前述の方法の実施形態のステップを実行することができる。例えば、ネットワークデバイスは、ルータ、スイッチ、又はファイアウォールであってもよく、或いは当然ながら、パケット転送機能をサポートする別のネットワークデバイスであってもよい。
図21は、この出願の一実施形態に係るネットワークデバイス1300の構造の概略図である。ネットワークデバイス1300は、第1のネットワークデバイス又は第2のネットワークデバイスとして構成されてもよい。ネットワークデバイス1300は、図1のシステムアーキテクチャの実施形態における任意のノードであってもよく、例えば、CE1、PE1、PE2、P1、P2、P3、P4、PE3、PE4、又はCE2であってもよい。
ネットワークデバイス1300は、主制御基板1310と、インタフェース基板1330と、スイッチング基板1320と、インタフェース基板1340とを含む。主制御基板1310は、システム管理、装置メンテナンス、プロトコル処理などの機能を果たすように構成される。スイッチング基板1320は、インタフェース基板(インタフェース基板はラインカード又はサービスボードとも呼ばれる)間のデータ交換を実行するように構成される。インタフェース基板1330及びインタフェース基板1340は、様々なサービスインタフェース(例えば、イーサネットインタフェース及びPOSインタフェース)を提供し、データパケット転送を実施するように構成される。主制御基板1310、インタフェース基板1330、インタフェース基板1340、及びスイッチング基板1320は、システムバスを介してシステムバックボードに接続され、インターワーキングを実現する。インタフェース基板1330上の中央処理ユニット1331は、インタフェース基板を制御及び管理し、主制御基板1310上の中央処理ユニット1311と通信するように構成される。
ネットワークデバイス1300が第1のネットワークデバイスとして構成される場合、物理インタフェースカード1333は、パケットを受信し、ネットワークプロセッサ1332へパケットを送信し、ネットワークプロセッサ1332は、プライマリパスに障害があると決定するとともに、パケットはプライマリパスから第1のプロテクションパスに切り替えられることができないことをパケット内のプロテクションフラグが示すと決定する。この場合、ネットワークプロセッサ1332は、パケットを破棄する。
一実施形態において、ネットワークプロセッサ1332は、パケット内のSIDに基づいて転送エントリメモリ534に照会し、SIDに対応するアウトバウンドインタフェース又は次ホップを決定する。アウトバウンドインタフェース又は次ホップに障害がある場合、ネットワークプロセッサ1332は、プライマリパスに障害があると決定する。
一実施形態では、パケットがMidpoint TI-LFAパスに切り替えられることができるがTI-LFA FRRパスに切り替えられることができないことをプロテクションフラグが示すとネットワークプロセッサ1332が決定する場合、ネットワークプロセッサは、リンク層カプセル化が完了された後にアウトバウンドインタフェースなどの情報に基づいて物理インタフェースカード1333からパケットを送信し、その結果、パケットはMidpoint TI-LFAパスを介して伝送される。
一実施形態では、パケットがTI-LFA FRRパスに切り替えられることができるがMidpoint TI-LFAパスに切り替えられることができないことをプロテクションフラグが示すとネットワークプロセッサ1332が決定する場合、ネットワークプロセッサは、リンク層カプセル化が完了された後にアウトバウンドインタフェースなどの情報に基づいて物理インタフェースカード1333からパケットを送信し、その結果、パケットはTI-LFA FRRパスを介して伝送される。
ネットワークデバイス1300が第2のネットワークデバイスとして構成される場合、ネットワークプロセッサ1332は、パケットを生成し、リンク層カプセル化が完了された後にアウトバウンドインタフェースなどの情報に基づいて物理インタフェースカード1333からパケットを送信し、その結果、パケットは第1のネットワークデバイスに送信される。
一実施形態において、ネットワークプロセッサ1332は、プライマリパス上のトラフィックにパケット損失が起こると決定し、プライマリパスを第2のプロテクションパスに切り替える。
インタフェース基板1340上の動作は、この出願のこの実施形態におけるインタフェース基板1330上の動作と一致することが理解されるべきである。簡潔にするために、詳細は再度説明されない。この実施形態におけるネットワークデバイス1300は、前述の方法の実施形態における第1のネットワークデバイス又は第2のネットワークデバイスに対応し得ることが理解されるべきである。主制御基板1310、並びにネットワークデバイス1300内のインタフェース基板1330及び/又はインタフェース基板1340は、前述の方法の実施形態において第1のネットワークデバイス又は第2のネットワークデバイスによって実施される機能及び/又はステップを実施することができる。簡潔にするため、ここでは詳細を再度説明されない。
なお、主制御基板が複数ある場合、複数の主制御基板は、1次主制御基板と2次主制御基板とを含んでもよい。1つ以上のインタフェース基板があってもよく、より強いデータ処理能力を有するネットワークデバイスは、より多くのインタフェース基板を提供する。インタフェース基板上には1つ以上の物理インタフェースカードがあってよい。スイッチング基板はなくてもよく、又は1つ以上のスイッチング基板があってもよい。複数のスイッチング基板が存在する場合、負荷分散及び冗長バックアップが一緒に実施されることができる。集中転送アーキテクチャでは、ネットワークデバイスはスイッチング基板を必要としない場合があり、インタフェース基板はシステム全体でサービスデータを処理する機能を提供する。分散転送アーキテクチャでは、ネットワークデバイスは少なくとも1つのスイッチング基板を有することができ、大容量データ交換及び処理能力を提供するために、複数のインタフェース基板間のデータ交換はスイッチング基板を使用して実施される。したがって、分散アーキテクチャにおけるネットワークデバイスのデータアクセス及び処理能力は、集中アーキテクチャにおけるデバイスのデータアクセス及び処理能力よりも優れている。任意選択で、ネットワークデバイスは、代替として、カードが1つしかない形態であってもよい。具体的には、スイッチング基板はなく、インタフェース基板及び主制御基板の機能がカード上に統合される。この場合、インタフェース基板上の中央処理装置と主制御基板上の中央処理装置とが組み合わされてカード上に1つの中央処理装置を形成し、2つの中央処理装置を組み合わせた機能を実行することができる。この形態のデバイス(例えば、ローエンドスイッチ又はルータなどのネットワークデバイス)は、比較的弱いデータ交換及び処理能力を有する。使用されるべき具体的なアーキテクチャは、具体的なネットワーキング展開シナリオ次第で決まる。これはここでは限定されない。
図22は、この出願の一実施形態に係るネットワークデバイス1300内のインタフェース基板1330の構造の概略図である。インタフェース基板1330は、物理インタフェースカード(physical interface card,PIC)2630と、ネットワークプロセッサ(network processor,NP)2610と、トラフィック管理(traffic management)モジュール2620とを含むことができる。
物理インタフェースカード(physical interface card,PIC)は、物理層相互接続機能を実装するように構成される。元のトラフィックは、PICを介してネットワークデバイスのインタフェース基板に入り、処理されたパケットがPICから送信される。
ネットワークプロセッサNP2610は、パケット転送処理を実施するように構成される。具体的には、アップストリームパケット処理は、パケット入力インタフェース処理、及び転送テーブル検索(例えば、前述の実施形態における第1の転送テーブル又は第2の転送テーブルの関連内容)を含み、ダウンストリームパケット処理は、転送テーブル検索(例えば、前述の実施形態における第1の転送テーブル又は第2の転送テーブルの関連内容)などを含む。
トラフィック管理TM2620は、QoS、ラインレート転送、大容量バッファリング、及びキュー管理などの機能を実装するように構成される。具体的には、アップストリームトラフィック管理は、アップストリームQoS処理(輻輳管理及びキュースケジューリングなど)及びスライス処理を含み、ダウンストリームトラフィック管理は、パケット組み立て処理、マルチキャストレプリケーション、及びダウンストリームQoS処理(輻輳管理及びキュースケジューリングなど)を含む。
ネットワークデバイスが複数のインタフェース基板Y 30を含む場合、複数のインタフェース基板Y 30は、スイッチドネットワーク2640を介して互いに通信することができることが理解されるべきである。
図22は、NP内部の処理手順又はモジュールの一例のみを示すことに留意されるべきである。特定の実施中のモジュールの処理シーケンスはこれに限定されない。更に、実際の適用中に、必要に応じて別のモジュール又は処理手順が展開されることができる。これは、この出願の実施形態では限定されない。
幾つかの想定し得る実施形態において、ネットワークデバイスは、代替的に、汎用プロセッサによって実装されてもよい。例えば、汎用プロセッサはチップの形態を成してもよい。具体的には、ネットワークデバイスを実装する汎用プロセッサは、処理回路と、処理回路に内部的に接続されて処理回路と通信されるインバウンドインタフェース及びアウトバウンドインタフェースとを含む。処理回路は、インバウンドインタフェースを介して前述の方法実施形態におけるパケット生成ステップを実行するように構成される。処理回路は、インバウンドインタフェースを介して前述の方法実施形態における受信ステップを実行するように構成される。処理回路は、アウトバウンドインタフェースを介して前述の方法実施形態における送信ステップを実行するように構成される。任意選択で、汎用プロセッサが記憶媒体を更に含んでもよい。処理回路は、記憶媒体を介して前述の方法実施形態における記憶ステップを実行するように構成される。記憶媒体は、処理回路によって実行される命令を記憶することができる。処理回路は、前述の方法の実施形態を実行するために、記憶媒体に記憶された命令を実行するように構成される。
想定し得る製品形態において、この出願のこの実施形態におけるネットワークデバイスは、1つ以上のフィールドプログラマブルゲートアレイ(英語フルネーム:field-programmable gate array、略してFPGA)、プログラマブルロジックデバイス(英語フルネーム:programmable logic device、略してPLD)、コントローラ、状態機械、ゲートロジック、ディスクリートハードウェアコンポーネント、任意の他の適切な回路、又は、この出願に記載された様々な機能を実行できる回路の任意の組み合わせを使用することによって代替的に実装されてもよい。
幾つかの想定し得る実施形態において、ネットワークデバイスは、代替的に、コンピュータプログラムプロダクトを使用することによって実装されてもよい。具体的には、この出願の一実施形態はコンピュータプログラムプロダクトを提供する。コンピュータプログラムプロダクトがネットワークデバイス上で動作すると、ネットワークデバイスは、前述の方法実施形態におけるパケット処理方法を実行できるようにされる。
前述の製品形態のネットワークデバイスは、前述の方法実施形態におけるネットワークデバイスの任意の機能を別々に有することが理解されるべきである。ここでは詳細は説明されない。
当業者であれば分かるように、本明細書に開示される実施形態で説明された例と組み合わせて、方法ステップ及びユニットは、電子ハードウェア、コンピュータソフトウェア、又は、それらの組み合わせによってされ実装され得る。ハードウェアとソフトウェアとの間の互換性を明確に説明するために、上記では、機能に従って各実施形態のステップ及び組成を一般的に説明した。機能がハードウェア又はソフトウェアにより実行されるかどうかは、技術的解決策の特定の用途及び設計の制約に依存する。当業者は、それぞれの特定の用途ごとに記載された機能を実装するために様々な方法を使用することができるが、その実施がこの出願の範囲を超えると考えられるべきではない。
便宜上及び説明を簡単にする目的で、前述のシステム、装置、及び、ユニットの詳細な作動プロセスに関しては、前述の方法の実施形態における対応するプロセスを参照されるべきことは、当業者によって明確に理解され得る。ここでは詳細は繰り返されない。
この出願において提供される幾つかの実施形態では、開示されたシステム、装置、及び、方法が他の態様で実装されてもよいことが理解されるべきである。例えば、記載された装置の実施形態は一例にすぎない。例えば、ユニットへの分割は、単なる論理的な機能分割であって、実際の実施中には他の分割であってもよい。例えば、複数のユニット又は構成要素は、他のシステムに組み合わされ又は組み込まれてもよく、或いは、一部の特徴が無視され又は実行されなくてもよい。更に、表示される又は論じられる相互結合又は直接結合又は通信接続が幾つかのインタフェースを通じて実施されてもよい。装置間又はユニット間の間接結合又は通信接続は、電子的形態、機械的形態、又は、他の形態で実施されてよい。
別個の部分として説明されるユニットは、物理的に別個であってもなくてもよく、また、ユニットとして表示される部分は、物理的なユニットであってもなくてもよく、すなわち、一箇所に位置されてよく或いは複数のネットワークユニットに分散されてもよい。ユニットの一部又は全ては、この出願の実施形態の解決策の目的を達成するために実際のニーズに従って選択されてもよい。
加えて、この出願の実施形態における機能ユニットが1つの処理ユニットに組み込まれてもよく、それらのユニットのそれぞれが物理的に単独で存在していてもよく、又は、2つ以上のユニットが1つのユニットに組み込まれてもよい。一体型ユニットは、ハードウェアの形態で実装されてもよく、又は、ソフトウェア機能ユニットの形態で実装されてもよい。
一体型ユニットがソフトウェア機能ユニットの形態で実装されて独立した製品として販売又は使用される場合には、一体型ユニットがコンピュータ可読記憶媒体に記憶されてもよい。そのような理解に基づき、この出願の技術的解決策が本質的に、又は、従来技術に寄与する部分が、又は、技術的解決策の全部もしくは一部が、ソフトウェア製品の形態で実装されてもよい。コンピュータソフトウェア製品は、記憶媒体に記憶されるとともに、この出願の実施形態で説明された方法のステップの全て又は一部を実行するようにコンピュータデバイス(パーソナルコンピュータ、サーバ、ネットワークデバイスなどであってもよい)に指示するための幾つかの命令を含む。記憶媒体は、USBフラッシュドライブ、リムーバブルハードディスク、リードオンリーメモリ(read-only memory、ROM)、ランダムアクセスメモリ(random access memory、RAM)、磁気ディスク、又は、光ディスクなどの、プログラムコードを記憶し得る任意の媒体を含む。
前述の説明は、この出願の特定の実施にすぎず、この出願の保護範囲を限定しようとするものではない。本願で開示された技術範囲内で当業者により容易に想到される任意の等価な変更又は置換は、この出願の保護範囲内に入るものとする。したがって、この出願の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
実施形態の全部又は一部は、ソフトウェア、ハードウェア、ファームウェア、又はこれらの組み合わせによって実装されてよい。実施形態を実施するためにソフトウェアが使用される場合、実施形態の全て又は一部は、コンピュータプログラムプロダクトの形態で実施されてもよい。コンピュータプログラムプロダクトは、1つ以上のコンピュータプログラム命令を含む。コンピュータプログラム命令がコンピュータ上でロードされて実行されるとき、この出願の実施形態に係る手順又は機能の全部又は一部が生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、又は、他のプログラム可能な装置であってよい。コンピュータ命令は、コンピュータ可読記憶媒体に記憶されてもよく、又は、コンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に伝送されてもよい。例えば、コンピュータプログラム命令は、ウェブサイト、コンピュータ、サーバ、又は、データセンタから他のウェブサイト、コンピュータ、サーバ、又は、データセンタに有線又は無線の態様で送信されてもよい。コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の使用可能な媒体、又は、1つ以上の使用可能な媒体を統合したサーバやデータセンタなどのデータ記憶デバイスであってもよい。使用可能な媒体は、磁気媒体(例えば、フロッピーディスク、ハードディスク、又は、磁気テープ)、光学媒体(例えば、デジタルビデオディスク(digital video disc、DVD))、半導体媒体(例えば、ソリッドステートドライブ)などであってもよい。
当業者であれば分かるように、実施形態のステップの全部又は一部がハードウェア又は関連するハードウェアに命令するプログラムによって実施されてもよい。プログラムは、コンピュータ可読記憶媒体に記憶されてもよい。記憶媒体は、リードオンリーメモリ、磁気ディスク、又は、光ディスクなどであってもよい。
前述の説明は、この出願の単なる任意選択的な実施形態にすぎず、この出願を限定しようとするものではない。この出願の思想及び原理から逸脱することなくなされる、いかなる変更、均等な置換又は改良も、この出願の保護範囲に入る。