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

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

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

特許7387836送信経路障害処理方法および装置、ならびにシステム
<>
  • 特許-送信経路障害処理方法および装置、ならびにシステム 図1A
  • 特許-送信経路障害処理方法および装置、ならびにシステム 図1B
  • 特許-送信経路障害処理方法および装置、ならびにシステム 図2
  • 特許-送信経路障害処理方法および装置、ならびにシステム 図3
  • 特許-送信経路障害処理方法および装置、ならびにシステム 図4
  • 特許-送信経路障害処理方法および装置、ならびにシステム 図5
  • 特許-送信経路障害処理方法および装置、ならびにシステム 図6
  • 特許-送信経路障害処理方法および装置、ならびにシステム 図7
  • 特許-送信経路障害処理方法および装置、ならびにシステム 図8
  • 特許-送信経路障害処理方法および装置、ならびにシステム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-17
(45)【発行日】2023-11-28
(54)【発明の名称】送信経路障害処理方法および装置、ならびにシステム
(51)【国際特許分類】
   H04L 45/24 20220101AFI20231120BHJP
   H04L 45/50 20220101ALI20231120BHJP
【FI】
H04L45/24
H04L45/50
【請求項の数】 16
【外国語出願】
(21)【出願番号】P 2022133290
(22)【出願日】2022-08-24
(62)【分割の表示】P 2020572767の分割
【原出願日】2019-06-17
(65)【公開番号】P2022176998
(43)【公開日】2022-11-30
【審査請求日】2022-09-22
(31)【優先権主張番号】201810703774.9
(32)【優先日】2018-06-30
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】503433420
【氏名又は名称】華為技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
【住所又は居所原語表記】Huawei Administration Building, Bantian, Longgang District, Shenzhen, Guangdong 518129, P.R. China
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133569
【弁理士】
【氏名又は名称】野村 進
(72)【発明者】
【氏名】胡 志波
(72)【発明者】
【氏名】姚 俊▲達▼
【審査官】宮島 郁美
(56)【参考文献】
【文献】特開2006-033307(JP,A)
【文献】特開2007-074311(JP,A)
【文献】特表2013-504976(JP,A)
【文献】米国特許出願公開第2005/0041636(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00-12/66,13/00,41/00-49/9057,61/00-65/80,69/00-69/40
(57)【特許請求の範囲】
【請求項1】
スティッチングネットワークデバイスによって送信されたスティッチングラベルと、前記スティッチングラベルに対応するスティッチングラベルスタックリストとを、第1のネットワークデバイスによって受信するステップであって、前記スティッチングネットワークデバイスは、第1のパケット内の前記スティッチングラベルを前記スティッチングラベルスタックリストに置き換えることが可能であり、前記第1のパケットは、第1の経路上で転送される、ステップと、
前記第1のネットワークデバイスによって、前記第1の経路に対応する第1のラベルスタックリストを含む第2のパケットを受信するステップであって、前記スティッチングネットワークデバイスが、前記第1の経路上にあり、前記第1のラベルスタックリストが、前記スティッチングラベルを含んでいる、ステップと、
前記第1のネットワークデバイスによって、前記スティッチングラベルスタックリストに基づいて、第2の経路に対応する第2のラベルスタックリストを取得するステップと、
前記第1のネットワークデバイスによって、前記第2のパケットを前記第2の経路で送信するステップであって、前記スティッチングネットワークデバイスが、前記第2の経路上にない、ステップと、 を含む送信経路障害処理方法。
【請求項2】
前記第2の経路は、前記第1の経路のバックアップ経路であることを特徴とする、請求項1に記載の方法。
【請求項3】
前記第1のネットワークデバイスによって、前記スティッチングラベルスタックリストに基づいて、第2の経路に対応する第2のラベルスタックリストを取得する前記ステップの前に、
前記第1のネットワークデバイスによって、前記第1の経路に障害が発生していると判定するステップ、
をさらに備える、請求項1または2に記載の方法。
【請求項4】
前記第1の経路に障害が発生していることは、前記スティッチングネットワークデバイスに障害が発生していること、または前記スティッチングネットワークデバイスのリンクに障害が発生していること、を含むことを特徴とする、請求項3に記載の方法。
【請求項5】
前記第2のラベルスタックリストは、前記スティッチングラベルスタックリストの全てのラベルを含むか、または前記第2のラベルスタックリストは、前記スティッチングラベルスタックリストの少なくとも1つのラベルを含む、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記第1のネットワークデバイスによって、前記スティッチングラベルスタックリストに基づいて、第2の経路に対応する第2のラベルスタックリストを取得する前記ステップは、
前記第1のネットワークデバイスによって、前記第1のラベルスタックリストの前記スティッチングラベルに基づいて、前記スティッチングラベルに対応する前記スティッチングラベルスタックリストを決定するステップと
前記第1のネットワークデバイスによって、障害後経路を決定するステップであって、前記障害後経路は、前記第1のネットワークデバイスと、前記スティッチングラベルスタックリストの最上位ラベルに対応するノードとの間の最短経路である、ステップと、
を含み、
前記第2のラベルスタックリストは、前記障害後経路に対応する少なくとも1つのラベルを含む、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記第1のネットワークデバイスは、前記スティッチングネットワークデバイスの隣にあり、前記スティッチングネットワークデバイスは、前記第1の経路上の前記第1のネットワークデバイスの次のホップである、請求項1から6のいずれか一項に記載の方法。
【請求項8】
スティッチングネットワークデバイスによって送信されたスティッチングラベルと、前記スティッチングラベルに対応するスティッチングラベルスタックリストとを、第1のネットワークデバイスによって受信する前記ステップは、
前記スティッチングネットワークデバイスによって送信されたタイプ長さ値TLVを、オープン・ショーテスト・パス・ファースト(OSPF)プロトコルまたは中間システム間(IS-IS)プロトコル経由で前記第1のネットワークデバイスによって受信するステップであって、前記TLVは、前記スティッチングラベルと、前記スティッチングラベルに対応する前記スティッチングラベルスタックリストとを含む、ステップ
を含む、請求項1から7のいずれか一項に記載の方法。
【請求項9】
前記TLVは、ラベル結合SID/ラベル結合TLVである、請求項8に記載の方法。
【請求項10】
前記第1のネットワークデバイスが前記第2の経路を介して前記パケットを送信しているときに、障害回復後に前記スティッチングネットワークデバイスによって送信された指示情報を、前記第1のネットワークデバイスによって受信するステップであって、前記指示情報は、前記スティッチングネットワークデバイスが前記パケットを正しく転送できないことを示すために使用され、前記第1のネットワークデバイスによって、前記第2の経路を介して前記パケットを送信し続ける、ステップ
をさらに含む、請求項1から9のいずれか一項に記載の方法。
【請求項11】
ティッチングラベルと、前記スティッチングラベルに対応するスティッチングラベルスタックリストとを、スティッチングネットワークデバイスによって受信するステップであって、前記スティッチングネットワークデバイスが、第1のパケットの前記スティッチングラベルを前記スティッチングラベルスタックリストに置き換えることが可能である、ステップと、
前記スティッチングネットワークデバイスによって、前記スティッチングラベルと、前記スティッチングラベルに対応する前記スティッチングラベルスタックリストとをネットワーク上の第1のネットワークデバイスに送信し、前記第1のネットワークデバイスが前記スティッチングラベルに対応する前記スティッチングラベルスタックリストを取得することができるようにするステップと
を含む送信経路障害処理方法。
【請求項12】
前記スティッチングネットワークデバイスによって、前記スティッチングラベルと、前記スティッチングラベルに対応する前記スティッチングラベルスタックリストとをネットワーク上の第1のネットワークデバイスに送信する前記ステップは、
前記スティッチングネットワークデバイスによって、前記ネットワーク上の前記第1のネットワークデバイスに、オープン・ショーテスト・パス・ファースト(OSPF)プロトコルまたは中間システム間(IS-IS)プロトコル経由でタイプ長さ値TLVを送信するステップ
を含み、
前記TLVが、前記スティッチングラベルと前記スティッチングラベルに対応する前記スティッチングラベルスタックリストとを含む、請求項11に記載の方法。
【請求項13】
前記第1のパケットは、前記スティッチングネットワークデバイスによって、前記スティッチングラベルと、前記スティッチングラベルに対応するスティッチングラベルスタックリストとをネットワーク上の第1のネットワークデバイスに送信した後、第1の経路を介して送信され、前記方法は、
前記スティッチングネットワークデバイスによって、第2のパケットを受信するステップであって、前記第2のパケットが、前記第1の経路に対応する第1のラベルスタックリストを備え、前記第1のラベルスタックリストが、前記スティッチングラベルを備える、ステップと、
前記スティッチングネットワークデバイスによって、前記スティッチングラベルを前記スティッチングラベルスタックリストと置き換えるステップ、および前記スティッチングネットワークデバイスによって、前記スティッチングラベルスタックリストに従って、前記第2のパケットを送信するステップと、
をさらに具備する、請求項11または12に記載の方法。
【請求項14】
ネットワーク装置であって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに結合され、プログラミング命令を格納する1つまたは複数のメモリと、
を具備し、
前記少なくとも1つのプロセッサは、前記プログラミング命令を実行して、前記ネットワークデバイスに請求項1から13のいずれか一項に記載の方法を実施させるように構成される、ネットワーク装置。
【請求項15】
ネットワークシステムであって、
第1のネットワークデバイスとスティッチングネットワークデバイスとを備え、
前記第1のネットワークデバイスは、請求項1から10のいずれか一項に記載の方法を実施するように構成され、前記スティッチングネットワークデバイスは、請求項11から13のいずれか一項に記載の方法を実施するように構成されることを特徴とする、ネットワークシステム。
【請求項16】
非一時的コンピュータ可読記憶媒体であって、前記非一時的コンピュータ可読記憶媒体は、コンピュータプログラムを格納し、前記コンピュータプログラムがコンピューティングデバイスによって実行されると、前記コンピューティングデバイスは請求項1から13のいずれか一項に記載の方法を実施することを特徴とする、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0002】
本出願は、通信技術の分野に関し、特に、送信経路障害処理方法および装置、ならびにシステムに関する。
【背景技術】
【0003】
セグメントルーティング-トラフィックエンジニアリング(segment routing-traffic engineering、SR-TE)は、内部ゲートウェイプロトコル(interior gateway protocol、IGP)または境界ゲートウェイプロトコル(border gateway protocol、BGP)が制御シグナリングとして使用される新しいマルチプロトコルラベルスイッチング(multiprotocol label switching、MPLS)TEトンネリング技術である。コントローラは、トンネルの転送経路を計算し、経路に厳密にマッピングされたラベルスタックをフォワーダに配信する役割を果たす。SR-TEトンネルの開始ノードでは、フォワーダは、ラベルスタックに基づいてネットワーク上のパケット送信経路を制御し得る。
【0004】
一次経路上のノードに障害が発生している場合、現在、パケットは、高速再ルーティング(fast reroute、FRR)技術に基づいてバックアップ経路を介して転送されている。
【0005】
障害が発生しているノードがスティッチングノードであり、ラベルスタックがスティッチングノードのスティッチングラベルを搬送する場合に、スティッチングノードの前ホップノードが、スティッチングノードに障害が発生していると判定したとき、前ホップノードは、スティッチングノードをバイパスするバックアップ経路を決定する必要がある。しかしながら、前ホップノードは、スティッチングラベルを処理し得ず、このため、パケット転送の失敗がもたらされる。
【発明の概要】
【0006】
本出願は、障害が発生しているノードの前ホップノードがスティッチングラベルを処理し得ないためにパケットが転送されないという従来技術の問題を解決するために、送信経路障害処理方法および装置、ならびにシステムを提供する。
【課題を解決するための手段】
【0007】
第1の態様によれば、本出願の一実施形態は、スティッチングネットワークデバイスによって送信されたスティッチングラベルと、スティッチングラベルに対応するスティッチングラベルスタックリストとを、第1のネットワークデバイスによって受信するステップと、一次経路を介してパケットを送信するプロセスで第1のネットワークデバイスによって、スティッチングネットワークデバイスに障害が発生していると判定するステップであって、パケットは、一次経路でのパケット転送をガイドするために使用されるラベルスタックリストを含み、スティッチングネットワークデバイスは、一次経路上の、第1のネットワークデバイスの次ホップネットワークデバイスである、ステップと、第1のネットワークデバイスによって、ラベルスタックリスト内のスティッチングラベルをスティッチングラベルスタックリストに置き換え、更新されたラベルスタックリストに基づいて、送信のためにパケットをバックアップ経路に切り替えるステップとを含む送信経路障害処理方法を提供する。
【0008】
本出願の本実施形態で提供されるソリューションでは、スティッチングネットワークデバイスは、ネットワーク全体にスティッチングラベルおよびスティッチングラベルスタックをアドバタイズし、これにより、スティッチングラベルおよびスティッチングラベルスタックを知った後、スティッチングネットワークデバイスの前ホップネットワークデバイスは、ラベルスタックリスト内のスティッチングラベルをスティッチングラベルスタックリストに置き換え、更新されたラベルスタックリストに基づいて、送信のためにパケットをバックアップ経路に切り替える。これは、スティッチングラベルを処理できないことから前ホップネットワークデバイスがパケットをバックアップ経路に切り替え得ないために発生するデータパケット転送の失敗を回避する。
【0009】
可能な設計では、スティッチングネットワークデバイスによって送信されたスティッチングラベルと、スティッチングラベルに対応するスティッチングラベルスタックリストとを、第1のネットワークデバイスによって受信するステップの後に、本方法は、第1のネットワークデバイスによって、スティッチングラベルと、対応するスティッチングラベルスタックリストとを、スティッチングネットワークデバイスに関して第1のネットワークデバイスによって生成されたラベル情報テーブルに記憶するステップをさらに含み、第1のネットワークデバイスによって、ラベルスタックリスト内のスティッチングラベルをスティッチングラベルスタックリストに置き換え、送信のために更新されたパケットをバックアップ経路に切り替えるステップは、第1のネットワークデバイスによって、ラベルスタックリストのスタック最上位から第1のラベルを取得するステップであって、第1のラベルは、パケットを転送する次ホップネットワークデバイスがスティッチングネットワークデバイスであることを示すために使用される、ステップと、第1のネットワークデバイスによって、バックアップ転送テーブルに基づいて、第1のラベルに対応する第1の転送動作を判定するステップであって、バックアップ転送テーブルは、バックアップ経路を示すために使用され、第1の転送動作は、ラベル情報テーブルをルックアップすることを示すために使用される、ステップと、第1のネットワークデバイスによって、ラベル情報テーブルに基づいて、スティッチングラベルスタックリストのスタック最上位に配置される第2のラベルを判定するステップであって、第2のラベルは、一次経路上の、スティッチングネットワークデバイスの次ホップネットワークデバイスが第3のネットワークデバイスであることを示すために使用される、ステップと、第1のネットワークデバイスによって、第2のラベルを内部ラベルとして使用し、バックアップ転送テーブルから、第1のネットワークデバイスから第3のネットワークデバイスまでのバックアップ経路の外部ラベルを判定するステップと、第1のネットワークデバイスによって、外部ラベルに基づいて、バックアップ経路上の、第1のネットワークデバイスの次ホップネットワークデバイスにパケットを送信するステップとを含む。
【0010】
前述の設計によれば、スティッチングラベルおよび対応するスティッチングラベルスタックリストは、スティッチングネットワークデバイスに関して第1のネットワークデバイスによって生成されたラベル情報テーブルに記憶される。これは検索を容易にし、時間を節約する。
【0011】
可能な設計では、スティッチングネットワークデバイスによって送信されたスティッチングラベルと、スティッチングラベルに対応するスティッチングラベルスタックリストとを、第1のネットワークデバイスによって受信するステップは、スティッチングネットワークデバイスによって送信されたタイプさ値TLVを、第1のネットワークデバイスによって受信するステップであって、TLVは、スティッチングラベルと、スティッチングラベルに対応するスティッチングラベルスタックリストとを含む、ステップを含む。
【0012】
可能な設計では、TLVは、ラベル結合SID/label binding TLVである。
【0013】
可能な設計では、本方法は、スティッチングネットワークデバイスによってネットワークにわたってフラッディングされた第3のネットワークデバイスのノードセグメント識別子を受信した後に、第1のネットワークデバイスによって、第3のネットワークデバイスのノードセグメント識別子をネットワーク上の別のネットワークデバイスにフラッディングするステップをさらに含む。
【0014】
転送経路上に緩い経路がある場合に、緩い経路セグメントの宛先ネットワークデバイス(スティッチングネットワークデバイス)に障害が発生している場合、ネットワークデバイスに障害が発生しているという情報が、ネットワーク全体にフラッディングされ、ネットワーク全体のすべてのネットワークデバイスは、スティッチングネットワークデバイスに対応する一次転送テーブルおよびバックアップ転送テーブルを削除する。緩い経路がある場合、入力ネットワークデバイスから出力ネットワークデバイスまでの一次経路およびバックアップ経路は、緩い経路セグメントを通り、スティッチングネットワークデバイスの前ホップネットワークデバイスからスティッチングネットワークデバイスをバイパスし、出力ネットワークデバイスに至る必要がある。スティッチングネットワークデバイスの一次転送テーブルおよびバックアップ転送テーブルを削除した後、経路セグメントの送信元ネットワークデバイスは、データパケットをスティッチングネットワークデバイスの前ホップネットワークデバイスに転送し得ず、これにより、パケット転送の失敗がもたらされる。したがって、前述の設計によれば、緩い経路セグメントの宛先ネットワークデバイスのノードセグメント識別子を受信した後、緩い経路セグメントの宛先ネットワークデバイスの前ホップネットワークデバイスは、宛先ネットワークデバイスのノードセグメント識別子をネットワーク全体にフラッディングする。したがって、緩い経路セグメントの送信元ネットワークデバイスは、宛先ネットワークデバイスのノードセグメント識別子に基づいて転送経路を決定し、データパケットを転送し得る。
【0015】
可能な設計では、本方法は、第1のネットワークデバイスがバックアップ経路を介してパケットを送信しているときに、障害回復後にスティッチングネットワークデバイスによって送信された指示情報を、第1のネットワークデバイスによって受信するステップであって、指示情報は、スティッチングネットワークデバイスがパケットを正しく転送し得ないことを示すために使用され、第1のネットワークデバイスによって、バックアップ経路を介してパケットを送信し続ける、ステップをさらに含む。
【0016】
一次経路上のスティッチングノードに障害が発生している場合、ネットワークデバイスは、転送のためにパケットをバックアップ経路に切り替える。スティッチングネットワークデバイスが回復され再起動された後、障害から回復したノードは、ノード(プレフィックス)ラベルおよび隣接ラベルなどのノードの情報をネットワーク上の別のノードに再度フラッディングする。障害から回復したノードによってフラッディングされた情報を受信した後、ネットワークデバイスは、データパケットを一次経路に切り替える、言い換えれば、障害から回復したノードを介して再度パケットを送信する。しかしながら、障害から回復したスティッチングノードは再起動されたばかりであるため、スティッチングノードは、不完全なローカルデータベースを有している可能性がある、例えば、一次経路上のスティッチングノードの次ホップノードのノードラベルおよび隣接ラベルなどの、他のノードに関する情報をまだ知らない。この場合、パケットを受信した後、スティッチングネットワークデバイスは、パケットを次ホップノードに転送し得ず、これにより、パケット損失がもたらされる。これに基づいて、前述の設計によれば、スティッチングネットワークデバイスが回復された後、スティッチングネットワークデバイスは、好ましくは、回復されたスティッチングネットワークデバイスがパケットを正しく転送し得ないことを前ホップネットワークデバイスに示すために指示情報を送信する。したがって、前ホップネットワークデバイスは、依然としてバックアップ経路を介してデータパケットを転送する。
【0017】
第2の態様によれば、本出願の一実施形態は、コントローラによって送信されたスティッチングラベルと、スティッチングラベルに対応するスティッチングラベルスタックリストとを、スティッチングネットワークデバイスによって受信するステップと、スティッチングネットワークデバイスによって、スティッチングラベルと、スティッチングラベルに対応するスティッチングラベルスタックリストとをネットワーク上の別のネットワークデバイスにフラッディングするステップとを含む送信経路障害処理方法を提供する。
【0018】
本出願の本実施形態で提供されるソリューションでは、スティッチングネットワークデバイスは、ネットワーク全体にスティッチングラベルおよびスティッチングラベルスタックをアドバタイズし、これにより、スティッチングラベルおよびスティッチングラベルスタックを知った後、スティッチングネットワークデバイスの前ホップネットワークデバイスは、ラベルスタックリスト内のスティッチングラベルをスティッチングラベルスタックリストに置き換え、さらに、更新されたラベルスタックリストに基づいて、送信のためにパケットをバックアップ経路に切り替える。これは、スティッチングラベルを処理できないことから前ホップネットワークデバイスがバックアップ経路に切り替え得ないために発生するデータパケット転送の失敗を回避する。
【0019】
第3の態様によれば、第1の態様の方法の実施形態と同じ発明概念に基づいて、本出願の一実施形態は、送信経路障害処理装置を提供する。本装置は、第1の態様における第1のネットワークデバイスに適用され、言い換えれば、本装置は、第1のネットワークデバイスであり得るか、または第1のネットワークデバイスに適用され得るチップであり得る。本装置は、第1の態様の各実施形態を実施する機能を有する。この機能は、ハードウェアによって実施され得るし、または対応するソフトウェアを実行するハードウェアによって実施され得る。ハードウェアまたはソフトウェアは、前述の機能に対応する1つ以上のモジュールを含む。
【0020】
第4の態様によれば、第2の態様の方法の実施形態と同じ発明概念に基づいて、本出願の一実施形態は、送信経路障害処理装置を提供する。本装置は、第2の態様におけるネットワークデバイスに適用され、言い換えれば、本装置は、ネットワークデバイスであり得るか、またはネットワークデバイスに適用され得るチップであり得る。本装置は、第2の態様の各実施形態を実施する機能を有する。この機能は、ハードウェアによって実施され得るし、または対応するソフトウェアを実行するハードウェアによって実施され得る。ハードウェアまたはソフトウェアは、前述の機能に対応する1つ以上のモジュールを含む。
【0021】
第5の態様によれば、本出願の一実施形態は、プロセッサおよびメモリを含む送信経路障害処理装置を提供する。メモリは、命令を記憶するように構成される。本装置が動作するとき、プロセッサは、メモリに記憶された命令を実行し、これにより、本装置は、第1の態様または第1の態様の実施態様のいずれか1つにおける送信経路障害処理方法を実行する。メモリは、プロセッサに統合されてもよいし、またはプロセッサから独立していてもよいことに留意されたい。本装置は、バスをさらに含み得る。プロセッサは、バスを使用してメモリに結合される。メモリは、読み出し専用メモリおよびランダムアクセスメモリを含み得る。本装置が動作する必要があるとき、読み出し専用メモリに保存された基本入力/出力システム、または組み込みシステム内のブートローダbootloaderシステムが起動に使用され、これにより、本装置は、通常の動作状態に入る。通常の動作状態に入った後、本装置は、ランダムアクセスメモリ内でアプリケーションプログラムおよびオペレーティングシステムを実行し、これにより、プロセッサは、第1の態様または第1の態様の可能な実施設計のいずれか1つの方法を実行する。
【0022】
第6の態様によれば、本出願の一実施形態は、プロセッサおよびメモリを含む送信経路障害処理装置を提供する。メモリは、命令を記憶するように構成される。本装置が動作するとき、プロセッサは、メモリに記憶された命令を実行し、これにより、本装置は、第2の態様または第2の態様の実施態様のいずれか1つにおける送信経路障害処理方法を実行する。メモリは、プロセッサに統合されてもよいし、またはプロセッサから独立していてもよいことに留意されたい。本装置は、バスをさらに含み得る。プロセッサは、バスを使用してメモリに結合される。メモリは、読み出し専用メモリおよびランダムアクセスメモリを含み得る。本装置が動作する必要があるとき、読み出し専用メモリに保存された基本入力/出力システム、または組み込みシステム内のブートローダbootloaderシステムが起動に使用され、これにより、本装置は、通常の動作状態に入る。通常の動作状態に入った後、本装置は、ランダムアクセスメモリ内でアプリケーションプログラムおよびオペレーティングシステムを実行し、これにより、プロセッサは、第2の態様または第2の態様の可能な実施設計のいずれか1つの方法を実行する。
【0023】
第7の態様によれば、本出願の一実施形態は、第3の態様または第5の態様による装置と、第4の態様または第6の態様による装置とを含むシステムをさらに提供する。可能な設計では、本システムは、本出願の実施形態で提供されるソリューションにおける2つのネットワークデバイスと相互作用する別のネットワークデバイス、例えば、送信経路上の別のネットワークデバイスをさらに含み得る。
【0024】
第8の態様によれば、本出願の一実施形態は、可読記憶媒体をさらに提供する。可読記憶媒体は、プログラムまたは命令を記憶し、プログラムまたは命令がコンピュータ上で実行されるとき、前述の態様のいずれか1つにおける送信経路障害処理方法が実行される。
【0025】
第9の態様によれば、本出願の一実施形態は、命令を含むコンピュータプログラム製品をさらに提供する。命令がコンピュータ上で実行されるとき、コンピュータは、前述の態様による送信経路障害処理方法を実行することが可能である。
【0026】
さらに、第3の態様から第9の態様の設計方法によってもたらされる技術的効果については、第1の態様から第2の態様のさまざまな実施態様によってもたらされる技術的効果を参照されたい。ここでは詳細は説明されない。
【図面の簡単な説明】
【0027】
図1A】本出願の一実施形態によるネットワークアーキテクチャの概略図である。
図1B】本出願の一実施形態による別のネットワークアーキテクチャの概略図である。
図2】本出願の一実施形態による送信経路障害処理方法のフローチャートである。
図3】本出願の一実施形態による送信経路障害処理方法のフローチャートである。
図4】本出願の一実施形態によるBinding TLVのフォーマットの概略図である。
図5】本出願の一実施形態による別の送信経路障害処理方法のフローチャートである。
図6】本出願の一実施形態によるmapping TLVのフォーマットの概略図である。
図7】本出願の一実施形態によるFlagsのフォーマットの概略図である。
図8】本出願の一実施形態による装置800の概略構造図である。
図9】本出願の一実施形態によるネットワークデバイス900の概略構造図である。
【発明を実施するための形態】
【0028】
本出願は、SR-TEをサポートするノードに適用される。本出願の実施形態では、ノードは、代替的にネットワークデバイスと呼ばれ得る。ネットワークデバイスは、ネットワーク上でルーティングおよび転送機能を提供するデバイスであり、例えば、ルータ、スイッチ、フォワーダ、またはラベルスイッチングルータ(label switching router、LSR)であり得る。これは限定されない。この後の説明プロセスでは、ノードが、説明のための例として使用される。
【0029】
SR-TE技術では、制御プレーンは、ノードのMPLSラベルを配布するためにリンク状態IGPプロトコルまたは境界ゲートウェイプロトコル(border gateway protocol、BGP)を使用し、データプレーンは、制御プレーンによって配布されたラベルに基づいてMPLSパケットを転送する。
【0030】
SR-TE(Segment Routing-Traffic Engineering)は、内部ゲートウェイプロトコル(interior gateway protocol、IGP)または境界ゲートウェイプロトコル(border gateway protocol、BGP)が制御シグナリングとして使用される新しいTEトンネリング技術である。コントローラは、トンネルの転送経路を計算し、経路に厳密にマッピングされたラベルスタックリストをフォワーダに配信する役割を果たす。SR-TEトンネルの入力ノードでは、フォワーダは、ラベルスタックリストに基づいてネットワーク上のパケット送信経路を制御し得る。
【0031】
以下では、最初に、本出願の実施形態における用語を説明し記述する。
【0032】
(1)セグメントルーティンググローバルブロック(Segment Routing Global Block、SRGB)は、セグメント用に予約されたユーザ指定のラベルセットである。
【0033】
(2)セグメント(segment)は、セグメントラベル(Segment ID、SID)によって識別される。本出願の実施形態におけるセグメントラベルは、セグメント識別子と呼ばれ得る。SIDは、転送プレーンのMPLSラベルにマッピングされ得る。
【0034】
セグメントは、プレフィックスセグメント、隣接セグメント、およびノードセグメントに分類される。
【0035】
プレフィックスセグメントは、SRネットワーク上の宛先アドレスプレフィックス(Prefix)を識別するために使用される。Prefix Segmentは、IGPプロトコルを使用して他のネットワーク要素にフラッディングされ得る。Prefix Segmentは、グローバルに確認可能であり、有効である。Prefix Segmentは、プレフィックスセグメント識別子(Prefix Segment ID、Prefix SID)によってマークされる。本出願の実施形態では、プレフィックスセグメントラベルは、略してプレフィックスラベルと呼ばれる。Prefix SIDは、宛先ノードによってアドバタイズされるSRGB範囲内のオフセットである。受信端は、受信端のSRGBに基づいて実際のラベルを計算する。
【0036】
隣接セグメントは、ネットワーク上の2つの隣接ノード間のルーティングリンクを識別するために使用される。Adjacency Segmentは、IGPプロトコルを使用して他のネットワーク要素にフラッディングされ得る。Adjacency Segmentは、グローバルに確認可能であり、ローカルで有効である。Adjacency Segmentは、隣接セグメントラベル(Adjacency Segment ID、Adjacency SID)によってマークされる。本出願の実施形態では、隣接セグメントラベルは、略して隣接ラベルと呼ばれる。
【0037】
隣接ラベルは、方向性があり、パケット転送をガイドするために使用される。例えば、隣接ラベル9003は、リンクPE1->P3に対応する。Adjacency SIDは、SRGB範囲を超えるローカルSIDである。
【0038】
ノードセグメントは、特定のノード(Node)を識別するために使用される特別なPrefix Segmentである。IPアドレスは、ノードのローカルループバックインターフェースのプレフィックスとして構成される。ノードのPrefix SIDは、実際にはノードセグメントラベル(Node SID)である。本出願の実施形態では、ノードセグメントラベルは、略してノードラベルと呼ばれ得る。
【0039】
簡単に言うと、Prefix Segmentは、宛先アドレスを表し、Adjacency Segmentは、データパケットのアウトバウンドリンクを表す。宛先アドレスとアウトバウンドリンクは、それぞれ、従来のIP転送における宛先IPアドレスとアウトバウンドインターフェースに類似し得る。IGP領域では、ノードは、拡張IGPプロトコルを使用してノードのNode SIDおよびAdjacency SIDをフラッディングする。このようにして、どのノードも別のノードに関する情報を取得し得る。
【0040】
ネットワーク上のどの経路も、プレフィックス(ノード)SIDとAdjacency SIDとを組み合わせて順序付けすることによって構築され得る。ネットワーク上の経路は、複数のルートセグメントを含み得る。構築された経路は、ラベルスタックリストによって表される。ラベルスタックリストは、転送経路上の各ルートセグメントに対応するセグメントラベル(Segment ID)を含む。
【0041】
宛先ノードは、IGPプロトコルを使用して宛先ノードのノード(プレフィックス)SIDをアドバタイズする。転送ノードは、ノードSIDを解析し、ローカルSRGBに基づいてラベル値を計算する。次に、各ノードは、トポロジ情報を収集するためにIGPプロトコルを使用し、最短経路優先アルゴリズムに従ってラベル転送経路を計算し、データパケット転送をガイドするために、計算された次ホップおよび外部ラベル(OuterLabel)を転送テーブルに配信する。
【0042】
(3)スティッチングノードおよびスティッチングラベル
【0043】
ラベルスタックリストの深さがフォワーダでサポートされているラベルスタックリストの深さを超える場合、1つのラベルスタックリストは、経路上のすべてのセグメントラベルを搬送し得ない。コントローラは、複数のラベルスタックリストをフォワーダに割り当てる必要がある。コントローラは、セグメントベースの転送を実施するために、適切なノードにラベルスタックリストを配信し、さらに、適切なノードに特別なラベルを割り当て、次に、これらのラベルスタックリストを関連付ける。特別なラベルはスティッチングラベルと呼ばれ、適切なノードはスティッチングノードと呼ばれる。コントローラは、スティッチングラベルをスティッチングノードに割り当て、ラベルスタックリストのスタック最下位にスティッチングラベルをプッシュする。パケットがスティッチングノードに転送されると、コントローラは、次のセグメントでの転送をガイドし続けるために、スティッチングラベルとラベルスタックリストとの間の関連付けの関係に基づいて、スティッチングラベルを新しいラベルスタックリストに置き換える。説明を簡単にするために、本出願の実施形態におけるラベルスタックリストは、ラベルスタックと呼ばれ、スティッチングラベルに対応するラベルスタックは、スティッチングラベルスタックと呼ばれることに留意されたい。
【0044】
さらに、本出願の実施形態における「複数」は、2つ以上を意味することに留意されたい。「および/または」という用語は、関連付けられる対象を記述するための関連付けの関係を記述し、3つの関係が存在し得ることを表す。例えば、Aおよび/またはBは、以下の3つのケース、すなわち、Aのみが存在するケース、AとBの両方が存在するケース、およびBのみが存在するケースを表し得る。さらに、本出願の説明では、「第1の」および「第2の」などの用語は、区別の説明のために使用されているにすぎず、相対的な重要性の指示もしくは暗示または順序の指示もしくは暗示として理解されてはならないことを理解されたい。ノード1またはノード2なども、記述されたノードを区別するために使用されているにすぎず、相対的な重要性の指示または暗示として理解されてはならず、順番の指示または暗示として理解されてはならない。
【0045】
さらに、本出願の実施形態における転送テーブルは、通常、一次転送テーブルのみを含み得るか、または一次転送テーブルおよびバックアップ転送テーブルを含み得る。本出願の実施形態における一次転送テーブルおよびバックアップ転送テーブルは、一次転送テーブルおよびバックアップ転送テーブルを含む。
【0046】
図1Aは、プレフィックスセグメント経路の確立およびプレフィックスセグメントでのデータパケットの転送を説明するための例として使用される。
【0047】
例えば、確立されるプレフィックスセグメント経路は、RT1->RT2->RT3->RT4->RT5である。RT1はプレフィックスセグメントの最初のノードであり、RT5はプレフィックスセグメントの宛先ノードである。
【0048】
RT5では、SRGB=[5000-5999]が設定され、RT5のLoopbackインターフェースでは、Prefix(node)SIDが5に設定される。RT5は、SRGBおよびPrefix(node)SIDに基づいて転送エントリを生成して配信する。次に、RT5は、SRGBおよびPrefix SIDを制御パケットにカプセル化し、IGPを使用してネットワーク全体に制御パケットをフラッディングする。制御パケットを受信した後、ネットワーク上の別のネットワークデバイスは、RT5によってアドバタイズされたPrefix SIDを解析し、別のネットワークデバイスのSRGBに基づいて内部ラベル値を計算し、次ホップノードによってアドバタイズされたSRGBに基づいて外部ラベル値(OuterLabel)を計算し、IGPトポロジを介してラベル転送経路を計算し、次に、内部ラベル値に対応する転送エントリを生成する。
【0049】
RT4は、RT5によってアドバタイズされたPrefix SIDを解析し、RT4のSRGB=[4000-4999]に基づいてラベル値を計算する。計算式は以下の通りであり、内部ラベルinLabel=SRGBの開始値+Prefix SIDである。したがって、inLabel=4000+5=4005である。外部ラベル(OuterLabel)は、IS-ISトポロジを介して計算される。計算式は以下の通りであり、OuterLabel=次ホップデバイスによってアドバタイズされたSRGBの開始値+Prefix SID値(すなわち、プレフィックスセグメントまたはノードセグメント上の宛先ノードのノードラベル)である。図1Aに示されているように、RT4の次ホップはRT5であり、RT5によってアドバタイズされるSRGBの範囲は[5000-5999]である。したがって、OuterLabel=5000+5=5005である。
【0050】
RT3の計算プロセスは、RT4のそれと同様であり、inLabel=3000+5=3005であり、OuterLabel=4000+5=4005である。RT2の計算プロセスは、RT4のそれと同様であり、inLabel=2000+5=2005であり、OuterLabel=3000+5=3005である。RT1の計算プロセスは、RT4のそれと同様であり、inLabel=1000+5=1005であり、OuterLabel=2000+5=2005である。
【0051】
RT1からRT5までのセグメント経路が確立された後、ノードRT1は、受信されたデータパケットにラベル値2005を追加し、データパケットを転送する。ノードRT2は、ラベルを搬送するデータパケットを受信し、ラベルスイッチングを実行し、ラベル2005をポップアウトし、ラベルを外部ラベル3005に置き換える。ノードRT3は、パケットを受信し、ラベルスイッチングを実行し、ラベル3005をポップアウトし、ラベルをラベル4005に置き換える。データパケットを受信した後、ノードRT4は、ラベル4005をポップアウトし、ラベル4005をラベル5005に置き換える。データパケットを受信した後、ノードRT5は、ラベル5005をポップアウトし、引き続きルートをルックアップしてそれを転送をする。
【0052】
以下では、厳密なセグメント経路の確立(ノードをバイパスする経路の確立が許可されない)および厳密なセグメント経路でのデータパケットの転送を説明するための例として図1Bを使用する。
【0053】
フォワーダは、IGPプロトコルに基づいて隣接ラベルを割り当て、割り当てられた隣接ラベルをコントローラに報告し、これにより、コントローラは、隣接ラベルに基づいてラベルスタックリストを生成する。
【0054】
隣接ラベルは、IGPプロトコルを使用してネットワーク全体にフラッディングされる。図1Bに示されているように、ノードRT1が例として使用される。IGPプロトコルを使用して隣接ラベルを割り当てる特定のプロセスは以下の通りである。
【0055】
RT1は、IGPプロトコルを使用してRT1のすべてのリンクにローカル動的ラベルを適用する(例えば、RT1は、隣接ラベル1031をリンクRT1->RT2に割り当てる)。RT1は、IGPプロトコルを使用して、隣接ラベルをアドバタイズし、ネットワーク全体に隣接ラベルをフラッディングする。ネットワーク上の別のデバイスは、RT1によってアドバタイズされた隣接ラベルを、IGPプロトコルを使用して知る。具体的には、別のノードは、RT1の方法で隣接ラベルを割り当ててアドバタイズし、ネットワーク上の別のデバイスに隣接ラベルをフラッディングする。
【0056】
コントローラは、計算によって経路を取得するために、SR-TEトンネルの制約属性に基づいて経路を計算する。コントローラは、トポロジに基づいて経路全体の隣接ラベルを組み合わせ、ラベルスタックリストを生成するためにこれらの隣接ラベルを組み合わせる。例えば、図1Bに示されているように、コントローラは、計算によってSR-TEトンネルの経路RT1->RT2->RT3->RT4->RT5と、対応するラベルスタックリスト{1031,1032,1034,1035}とを取得する。コントローラは、計算によって取得されたラベルスタックリストをフォワーダの入力ノードRT1に配信する。したがって、フォワーダは、コントローラによって配信されたラベルスタックリストに基づいてSR-TEトンネルを取得する。代替的に、本出願におけるここでのラベルスタックリストは、ノードラベルを含んでもよい。言い換えれば、ラベルスタックリストは{1002,2003,3004,4005}である。
【0057】
フォワーダは、転送されるデータパケットをトンネルの宛先アドレスにガイドするために、SR-TEトンネルに対応するラベルスタックリストに基づいてパケットのラベルに対して操作を実行し、ホップごとに最上位ラベルに基づいて転送アウトバウンドインターフェースを検索する。
【0058】
パケットがSR-TEトンネルに入ると、入力ノードは、ラベルスタックリストをパケットに追加する。パケットがSR-TEトンネルを介して転送されるとき、最上位ラベルに基づいて転送アウトバウンドインターフェースが発見された後、入力ノードは、最上位ラベルをポップアウトする。例えば、図1Bに示されているように、入力ノードRT1は、ラベルスタックリスト{1031,1032,1034,1035}をデータパケットに追加し、次に、最上位ラベル1031に基づいてリンクマッチングを実行し、対応する転送アウトバウンドインターフェースがリンクRT1->RT2であることを発見し、次にラベル1031をポップアウトする。パケットは、ラベルスタック{1032,1034,1035}を搬送し、リンクRT1->RT2を介して次ホップノードRT2に転送される。パケットを受信した後、中間ノードRT2は、最上位ラベル1032に基づいてリンクマッチングを実行し、対応する転送アウトバウンドインターフェースがリンクRT2->RT3であることを発見し、次にラベル1032をポップアウトする。類推により、パケットを受信した後、ノードRT3は、RT2と同じ方法で引き続きパケットを転送する。ノードRT4は、最後のラベル1035をポップアウトし、次にデータパケットをノードRT5に転送する。出力ノードRT5は、ラベルを搬送していないパケットを受信し、ルーティングテーブルルックアップによって引き続きパケットを転送する。
【0059】
厳密なセグメント経路のモードでは、同等の経路が存在する場合に、負荷のバランスもとられ得ない。この場合、クロスノードノードラベルは、ノードラベル、またはノードラベルおよび隣接ラベルによって形成されるハイブリッドラベルスタックに基づいて指定され得る。コントローラは、ラベルスタックをフォワーダの最初のノードに送信し、フォワーダは、ラベルスタックに基づいてホップごとにアウトバウンドインターフェースを検索して、ラベルをポップアウトし、トンネルの宛先アドレスに転送されるデータパケットをガイドする。例えば、図1Aに示されているように、RT1からRT5までの経路はノードRT3およびRT4を通る必要があることが指定される。この場合、RT1とRT3との間に緩い経路が形成され、データパケットは、RT2またはRT6によって転送され得る。この場合、RT1でのパケット転送に使用されるラベルスタックリストは{2003,3004,4005}である。
【0060】
SR-TEパケット転送中に、リンク障害またはノード障害が発生し得る。現在、経路を回復するためにFRRメカニズムが使用され得る。例えば、ノードRT2が、障害が発生しているノードである。
【0061】
ノードRT2に障害が発生していない場合、SR-TEラベルスタックによって識別される転送経路は、RT1->RT2->RT3->RT4->RT5である。ノードRT2に障害が発生している場合、ノードRT2の隣接ノードRT1が、ノードRT2に取って代わって、ラベルポップ(POP)動作を実行し、次の層のラベルを宛先アドレスとして使用し、障害が発生しているノードRT2をバイパスする、バックアップ経路として機能する経路を介してデータパケットを転送する。バックアップ経路は、RT1->RT6->RT3->RT4->RT5である。
【0062】
例えば、データパケットを送信するためにRT1によって使用されるラベルスタックリストは、{1002,2003,3004,4005}である。RT1は、ラベルスタックの最上位ラベル1002をチェックして、ノードRT2は障害が発生しているノードであると判定し、次に、ラベルスタックの最上位ラベル1002および2番目のラベル2003をチェックして、経路上の、障害が発生しているノードの後のノードがRT3であると判定し得る。RT1は、計算によって、2番目のラベル2003によって識別されるノード(すなわち、RT3)への、障害が発生しているノードRT2をバイパスする経路を取得し、この経路を、次ホップノードRT2のSR-TE FRRノード保護経路として使用する。
【0063】
RT2に障害が発生する前に、各ノードは、事前にIGPを使用してバックアップ転送テーブルおよびラベル情報テーブル(Contextテーブル)を計算する。各ノードは、隣接ノードに関してContextテーブルと、一次転送テーブルおよびバックアップ転送テーブルとを生成する。Contextテーブルは、ネイバの数×(ネットワーク全体のすべてのノードのノード(プレフィックス)ラベル+隣接ノードによってアドバタイズされたすべての隣接ラベル)を含む。各隣接ノードは、Contextエントリに対応する。例えば、ノードRT1は、RT2に関して、隣接ノードRT2に対応するContextエントリを生成し、Contextエントリは、ネットワーク全体のすべてのノードの対応するノード(プレフィックス)ラベル情報と、RT2によってアドバタイズされた隣接ラベルとを含む。ネットワーク全体のすべてのノードのそれぞれのノード(プレフィックス)ラベル情報は、ノードのノードラベルとノードRT2のSRGBの開始値との合計である。障害が発生しているノードが経路上にある場合、障害が発生しているノードの前ホップノードが、Contextテーブルと一次転送テーブルおよびバックアップ転送テーブルとを使用してバックアップ経路を決定し、バックアップ経路を介してデータパケットを転送する。
【0064】
一次経路上のノード、またはノードから次ホップまでの経路に障害が発生している場合、一次経路上のそのノードの前ホップノードが障害を認識した後、前ホップノードは、そのノードに障害が発生しているという情報をネットワーク上の別のノードにフラッディングすることに留意されたい。
【0065】
障害が発生しているノードがスティッチングノードであり、ラベルスタックがスティッチングノードのスティッチングラベルを搬送する場合に、スティッチングノードの前ホップノードが、スティッチングノードに障害が発生していると判定したとき、前ホップノードは、スティッチングラベルをバイパスするバックアップ経路を決定する必要がある。しかしながら、スティッチングノードのみが、スティッチングラベルに対応するスティッチングラベルスタックを知っており、前ホップノードは、スティッチングラベルスタックを知らない。したがって、前ホップノードは、スティッチングラベルを処理し得ない。
【0066】
これに基づいて、本出願の一実施形態は、送信経路障害処理方法を提供する。図2を参照すると、本方法は、以下のステップを含む。
【0067】
S201.スティッチングノードは、コントローラによって送信されたスティッチングラベルと、スティッチングラベルに対応するスティッチングラベルスタックリストとを受信する。
【0068】
S202.スティッチングノードは、スティッチングラベルと、スティッチングラベルに対応するスティッチングラベルスタックリストとをネットワーク上の別のノードにフラッディングする。
【0069】
S203.第1のノードは、スティッチングノードによって送信されたスティッチングラベルと、スティッチングラベルに対応するスティッチングラベルスタックリストとを受信する。
【0070】
S204.第1のノードは、一次経路を介してパケットを送信するプロセスで、スティッチングノードに障害が発生していると判定し、
パケットは、一次経路でのパケット転送をガイドするために使用されるラベルスタックリストを含み、スティッチングノードは、一次経路上の第1のノードの次ホップノードである。
【0071】
S205.第1のノードは、ラベルスタックリスト内のスティッチングラベルをスティッチングラベルスタックリストに置き換え、更新されたラベルスタックリストに基づいて、送信のためにパケットをバックアップ経路に切り替える。
【0072】
可能な実施態様では、第1のノードが、スティッチングノードによって送信されたスティッチングラベルと、スティッチングラベルに対応するスティッチングラベルスタックリストとを受信した後、第1のノードは、スティッチングラベルおよび対応するスティッチングラベルスタックリストを、スティッチングノードに関して第1のノードによって生成されたラベル情報テーブルに記憶する。
【0073】
第1のノードが、ラベルスタックリスト内のスティッチングラベルをスティッチングラベルスタックリストに置き換え、送信のために、更新されたパケットをバックアップ経路に切り替えることは、以下の方法で、すなわち、
第1のノードによって、ラベルスタックリストのスタック最上位から第1のラベルを取得し、第1のラベルは、パケットを転送する次ホップノードがスティッチングノードであることを示すために使用され、第1のノードによって、バックアップ転送テーブルに基づいて、第1のラベルに対応する第1の転送動作を判定し、バックアップ転送テーブルは、バックアップ経路を示すために使用され、第1の転送動作は、ラベル情報テーブルをルックアップすることを示すために使用され、第1のノードによって、ラベル情報テーブルに基づいて、スティッチングラベルスタックリストのスタック最上位に配置される第2のラベルを判定し、第2のラベルは、一次経路上の、スティッチングノードの次ホップノードが第3のノードであることを示すために使用され、第1のノードによって、第2のラベルを内部ラベルとして使用し、バックアップ転送テーブルから、第1のノードから第3のノードまでのバックアップ経路の外部ラベルを判定し、第1のノードによって、外部ラベルに基づいて、バックアップ経路上の、第1のノードの次ホップノードにパケットを送信することで、実施され得る。
【0074】
可能な実施態様では、第1のノードが、スティッチングノードによって送信されたスティッチングラベルと、スティッチングラベルに対応するスティッチングラベルスタックリストとを受信することは、スティッチングノードによって送信されたタイプさ値TLVを、第1のノードによって受信し、TLVは、スティッチングラベルと、スティッチングラベルに対応するスティッチングラベルスタックリストとを含むことを含む。例えば、TLVは、ラベル結合SID/label binding TLVであり得る。
【0075】
可能な実施態様では、本方法は、スティッチングノードによってネットワークにわたってフラッディングされた第3のノードのノードセグメント識別子を受信した後に、スティッチングノードに障害が発生していると判定したとき、第1のノードによって第3のノードのノードセグメント識別子をネットワーク上の別のノードにフラッディングするステップをさらに含む。
【0076】
可能な設計では、本方法は、第1のノードがバックアップ経路を介してパケットを送信しているときに、障害回復後にスティッチングノードによって送信された指示情報を、第1のノードによって受信し、指示情報は、スティッチングノードがパケットを正しく転送できないことを示すために使用され、第1のネットワークデバイスによって、バックアップ経路を介してパケットを送信し続けるステップをさらに含む。
【0077】
図3に示されているネットワークアーキテクチャの例では、スティッチングノードを含む経路を確立するプロセスおよびデータパケットを転送するプロセスが最初に詳細に説明される。図3に示されているネットワークアーキテクチャにおいて、RT2は、図2に示されている実施形態における第1のノードであり得、RT3は、図2に示されている実施形態におけるスティッチングノードであり得る。
【0078】
コントローラは、SR-TEトンネルの制約属性に基づいて送信経路を計算する。経路は、厳密な経路であっても緩い経路であってもよい。コントローラは、トポロジに基づいて送信経路上の隣接ラベル(および/またはノードラベル)を統合し、ラベルスタックを生成するために隣接ラベル(および/またはノードラベル)を統合し、ラベルスタックを送信経路の第1のノードに送信する。ラベルスタックの深さが、フォワーダでサポートされているラベルスタックの深さを超える場合、1つのラベルスタックは、すべての隣接ラベル(および/またはノードラベル)を搬送し得ず、コントローラは、搬送のために経路全体の隣接ラベルを複数のラベルスタックにグループ化する必要がある。本出願の本実施形態では、スティッチングラベルスタックは、隣接ラベルを含み得るし、またはもちろんノードラベルを含み得る。
【0079】
図3に示されているように、スティッチングラベルスタックが隣接ラベルを含む例が使用される。例えば、図3に示されているように、RT1からRT5までの経路はノードRT3およびRT4を通る必要があることが指定される。この場合、RT1とRT3との間に緩い経路が形成され、データパケットは、RT2またはRT6によって転送され得る。例えば、コントローラは、計算によって、SR-TEトンネル経路RT1->RT3->RT4->RT5と、2つの対応するラベルスタック{1003,100}および{1034,1035}とを取得する。100はスティッチングラベルであり、1034と1035は隣接ラベルである。1003は、RT3のノードラベルとRT1のSRGBの開始値とに基づいて計算によって取得される。
【0080】
コントローラは、対応するフォワーダにラベルスタックを配信する。例えば、コントローラは、スティッチングラベルを割り当て、スティッチングラベルおよびスティッチングラベルに対応するスティッチングラベルスタック{100:1034,1035}をスティッチングノードRT3に配信する。コントローラは、スティッチングラベル100をRT1のラベルスタックのスタック最下位として使用する。コントローラは、ラベルスタック{1003,100}を最初のノードRT1に配信する。
【0081】
本出願の本実施形態では、RT1は、経路計算によって一次経路RT1->RT2->RT3->RT4->RT5を決定する。
【0082】
RT1は、一次経路がRT2を通ると判定し、したがって、データパケットに含まれるラベルスタックの外部ラベル(最上位ラベル)1003を2003(RT3のノードラベル+RT2のSRGBの開始値)に置き換え、更新されたデータパケットをRT2に送信する。スティッチングノードに障害が発生していない場合、RT2は、最上位ラベルを3003に置き換え、RT1からパケットを受信した後に、更新されたパケットをRT3に送信する。RT3は、最上位ラベルをポップアウトし、更新されたラベルスタックリスト内の最上位ラベル100を{1034,1035}に置き換える。RT3は、最上位ラベル1034に基づいて、次ホップノードはRT4であると判定し、最上位ラベル1034をポップアウトした後、RT3は、更新されたデータパケットをRT4に転送する。RT4は、最上位ラベル1035に基づいて、次ホップノードはRT5であると判定し、したがって、最上位ラベル1035をポップアウトし、更新されたデータパケットをRT5に送信する。
【0083】
スティッチングノードRT3に障害が発生している場合、前ホップノードRT2は、ラベルスタック内のスティッチングラベルを処理し得ず、これにより、データパケット転送の失敗がもたらされる。
【0084】
これに基づいて、本出願の本実施形態は、送信経路障害処理ソリューションを提供する。コントローラによって送信されたスティッチングラベルと、スティッチングラベルに対応するスティッチングラベルスタックとを受信すると、スティッチングノードは、スティッチングラベルと、スティッチングラベルに対応するスティッチングラベルスタックとをネットワーク全体にアドバタイズする。
【0085】
例えば、スティッチングラベルおよびスティッチングラベルスタックは、結合(binding)TLVに含まれ、ネットワーク全体にアドバタイズされ得る。スティッチングノードRT3は、スティッチングラベル(Binding Sid)および対応するスティッチングラベルスタック{100:1034,1045}をアドバタイズするためにBinding TLVを使用する。特定のスティッチングラベルおよびこのスティッチングラベルに対応するスティッチングラベルスタックを入れるために、いくつかのSID/label sub TLVが、既存のBinding TLVに追加され得る。Binding TLVの特定のフォーマットについては、図4を参照されたい。
【0086】
一例では、RT3によってアドバタイズされたスティッチングラベルと、スティッチングラベルに対応するスティッチングラベルスタックとを受信した後、RT2は、スティッチングラベルと、スティッチングラベルに対応するスティッチングラベルスタックとをContextテーブルに記憶し得る。Contextテーブルの、RT3に対応するContextエントリの部分的な内容については、表1を参照されたい。
【0087】
Inlabelは、内部ラベルを示し、現在のノードのSRGBの開始値と隣接ノードのノードSIDとの合計であり、具体的には、RT2のSRGBの開始値2000とRT3のノードラベル3との合計は、2003である。内部ラベルは、Contextテーブルをルックアップするためのキー(KEY)値フィールドとして使用される。
【0088】
表1では、ローカルSIDは、RT3によってアドバタイズされる隣接ラベル(Adj Sid)およびスティッチングラベルを含む。
【0089】
Adj SIDは、隣接ノードによってアドバタイズされる隣接ラベルを表す。RT3によってアドバタイズされる隣接ラベルは、RT3とRT4との間のリンクの隣接ラベル1034、RT3とRT7との間のリンクの隣接ラベル1037、およびRT3とRT6との間のリンクの隣接ラベル1036である。
【0090】
AdjノードSIDは、隣接ノードによってアドバタイズされた隣接ラベルに対応する宛先ノードを表し、現在のノードのSRGBの開始値と宛先ノードによってアドバタイズされたノードSIDとの合計である。例えば、RT3とRT4との間のリンクの隣接ラベルが1034で、宛先ノードがRT4である場合、1034に対応するAdjノードSIDは、RT2のSRGBの初期値とRT4のノードラベルとの合計であり、2004である。
【0091】
Actionは、Local SIDまたはAdjノードSIDに対応する転送動作を表す。
【0092】
【表1】
【0093】
図3に示されているネットワークアーキテクチャでは、RT1からRT5までの経路がノードRT3およびRT4を通る必要があることが指定されている。この場合、RT1とRT3との間に緩い経路が形成され、パケットは、RT2またはRT6によって転送され得る。本出願の本実施形態では、RT1は、経路計算によって一次経路RT1->RT2->RT3->RT4->RT5を決定する。この場合、RT1によって受信されるコントローラからのラベルスタックは{1003,100}である。例えば、RT3に障害が発生している場合、バックアップ経路は、RT1->RT2->RT7->RT4->RT5である。さらに、RT2は、ネットワーク全体のノードSIDの一次転送テーブルおよびバックアップ転送テーブルを生成する。一次転送テーブルおよびバックアップ転送テーブルの部分的な内容については、表2を参照されたい。図2は、内部ラベル2003および2004に対応する2つのエントリの部分的な内容のみを示している。
【0094】
【表2】
【0095】
RT1は、RT1の次ホップノードはRT2であると判定し、これにより、RT1は、ラベルスタックの最上位ラベル1003を2003に置き換え、ラベルスタックをデータパケットに追加し、データパケットをRT2に送信する。RT1からデータパケットを受信した後、RT2は、データパケットのラベルスタックの最上位ラベル2003に基づいて、最上位ラベルによって示されている次ホップノードRT3に障害が発生していると判定し、RT2は、RT3をバイパスする、RT3の次ホップノードRT4への転送経路を発見する必要がある。したがって、RT2は、内部ラベル2003に対応する転送エントリを発見するためにバックアップ転送テーブル(表2)をルックアップし、隣接ノードRT3に関してRT2によって生成されたContextテーブルをルックアップする。転送エントリに示されている転送動作は、最上位ラベル2003をポップアウトすることである。最上位ラベル2003をポップアウトした後、RT2は、ラベルスタックリスト内の最上位ラベルがスティッチングラベルであると判定する。RT2は、スティッチングラベル100に基づいてContextテーブル内のLocal SIDを検索し、内部ラベル2003に対応する転送エントリを発見する。このエントリに示されている転送動作は、{3004,4005}に置き換えることである。次に、RT2は、スティッチングラベル100を{1034,1035}に置き換える。RT2は、RT3からRT4までの隣接ラベル1034を取得し、最上位ラベル1034に基づいてContextテーブル内のローカルSIDレコードを引き続き検索し、転送動作がRT4に転送することであることを発見し、RT4に対応するadjノードラベルは2004であると判定する。言い換えれば、入力ノードRT2から出力ノードRT4までのルートセグメントの、RT2での内部ラベルが取得される。ノードRT2は、1034を2004に置き換え、2004を内部ラベルとして使用して一次転送テーブルをルックアップして、次ホップノードがRT3であることを発見する。RT3へのインターフェースに障害が発生しているため、RT2は、データパケットをバックアップ経路に切り替え、バックアップ転送テーブルをルックアップして、2004を内部ラベルとして使用して、転送動作がRT7に転送することであり、外部ラベルが7004であることを発見し、これにより、ノードRT2は、最上位ラベルを発見された外部ラベルに置き換える、具体的には、最上位ラベル2004をポップアウトし、2004を7004に置き換える。ここでのラベルスタックは{7004,1035}である。RT2は、更新されたデータパケットをRT7に転送する。
【0096】
データパケットを受信した後、RT7は、最上位ラベル7004に基づいて、次ホップノードはRT4であると判定して、最上位ラベル7004を4004に置き換え、更新されたデータパケットをRT4に転送する。同様に、データパケットを受信した後、RT4は、最上位ラベルによって示されている宛先ノードはRT4であると判定し、最上位ラベルをポップアウトし、更新されたラベルスタックの最上位ラベル1035によって示されている次ホップノードはRT5であると判定し、更新されたデータパケットをRT5に送信する。
【0097】
本出願の本実施形態で提供されるソリューションでは、スティッチングノードは、ネットワーク全体にスティッチングラベルおよびスティッチングラベルスタックをアドバタイズし、これにより、スティッチングラベルおよびスティッチングラベルスタックを知った後、スティッチングノードの前ホップノードは、ラベルスタックリスト内のスティッチングラベルをスティッチングラベルスタックリストに置き換え、さらに、更新されたラベルスタックリストに基づいて、送信のためにパケットをバックアップ経路に切り替える。これは、スティッチングラベルを処理できないことから前ホップノードがデータパケットをバックアップ経路に切り替え得ないために発生するデータパケット転送の失敗を回避する。
【0098】
さらに、Contextテーブルは事前に生成される。SR-TE FRRソリューションでは、ノードは、ノードのネイバ(neighbor)ごとにContextテーブルを生成する。したがって、Contextテーブルの仕様は、ネットワーク全体のノードの数と隣接ノードのネイバの数との合計である。したがって、各ノードは、ネイバの数×(ネットワーク全体のノードの数+隣接ノードのネイバの数)の仕様を有するContextテーブルを生成する必要がある。
【0099】
ネットワーク上に多数のノードがあり、一部のノードでサポートされているContextテーブルの仕様がそれぞれ、ネイバの数×(ネットワーク全体のノードの数+隣接ノードのネイバの数)をサポートするのに不十分である場合、これらのノードによって生成されるContextテーブルの内容は不完全である。ネットワーク上でノードに障害が発生しているときに、パケットは、正しいバックアップ経路に切り替えられない場合がある。
【0100】
これに基づいて、本出願の本実施形態は、Contextテーブル構成方法を提供する。隣接ノードによってアドバタイズされた隣接ラベルと、隣接ノードに隣接するノードのノードラベルとを、IGPを使用して取得すると、隣接ノードのSRGBを知った後で、ノードは、Contextテーブルを生成する。Contextテーブルは、隣接ノードによってアドバタイズされた隣接ラベル、隣接ノードに隣接するノードのノードラベル情報、および現在のノードのSRGBの初期値と隣接ノードのSRGBの開始値との差を含む。ここでのノードラベル情報は、隣接ノードのSRGBの初期値と隣接ノードに隣接するノードのノードラベルとの間のオフセットである。
【0101】
図5の例において、隣接ノードRT3に関してRT2によって生成されるContextテーブルが、表3に示されている。RT3に隣接するノードは、RT2、RT7、RT6、およびRT4を含む。RT2のSRGBの開始値は2000であり、RT2の隣接ノードRT3のSRGBの開始値は3000である。したがって、RT2のSRGBの開始値とRT3のSRGBの開始値との差は-1000である。本実施形態では、スティッチングラベルスタックがノードラベルを含む例が説明のために使用される。RT3はスティッチングノードである。スティッチングラベルおよびスティッチングラベルに対応するスティッチングラベルスタックは、{100:3004,4005}である。
【0102】
一例では、RT3によってアドバタイズされたスティッチングラベルと、スティッチングラベルに対応するスティッチングラベルスタックとを受信した後、RT2は、スティッチングラベルと、スティッチングラベルに対応するスティッチングラベルスタックとを、Contextテーブル内のノードRT3に対応するエントリに記憶し得る。Contextテーブルの部分的な内容については、表3を参照されたい。表3は、Contextテーブル内のRT3に対応するエントリの部分的な内容、具体的には、内部ラベル2003に対応するエントリの部分的な内容を示している。表3では、SRGB差は、現在のノードのSRGBの開始値から隣接ノードのSRGBの開始値を引いたものに等しい。
【0103】
【表3】
【0104】
以下では、データパケット転送プロセスを詳細に説明するための例として図4を使用する。
【0105】
図4では、入力ノードRT1から出力ノードRT5までの経路がノードRT3およびRT4を通る必要があることが指定されている。この場合、RT1とRT3との間に緩い経路が形成され、パケットは、RT2またはRT6によって転送され得る。本出願の本実施形態では、RT1は、経路計算によって一次経路RT1->RT2->RT3->RT4->RT5を決定する。RT1でのパケット転送に使用されるラベルスタックリストは{1003,100}である。例えば、RT3に障害が発生している場合、バックアップ経路は、RT1->RT2->RT7->RT4->RT5である。さらに、RT2は、ネットワーク全体のノードSIDの一次転送テーブルおよびバックアップ転送テーブルを生成する。一次転送テーブルおよびバックアップ転送テーブルの部分的な内容については、表4を参照されたい。4は、内部ラベル2003および2004に対応する2つのエントリの部分的な内容のみを示している。
【0106】
【表4】
【0107】
RT3に障害が発生してない場合、図5に示されているように、RT1が、RT1の次ホップノードはRT2であると判定すると、RT1は、ラベルスタックの最上位ラベル1003を、RT2を示すラベル2003に置き換え、次に、RT2に送信するためにラベルスタックをデータパケットに追加する。RT2は、RT1によって送信されたデータパケットを受信し、データパケット内のラベルスタックは{2003,100}である。RT2は、ラベルスタック内の最上位ラベルに基づいて一次転送テーブルをルックアップして、例えば、最上位ラベル2003をInlabelとして使用して表4をルックアップして、転送動作がRT3に転送することであることを発見し、これにより、RT2は、最上位ラベルを3003に置き換え、具体的には、次ホップノードのSRGBの開始値(RT3のSRGBの開始値)および宛先ノードのノードラベル(RT3のノードラベル)に基づいて決定されたラベル値に最上位ラベルを置き換え、次に、更新されたデータパケットをRT3に転送する。RT3は、RT2によって送信されたデータパケットを受信し、データパケット内のラベルスタックは{3003,100}である。次に、RT3は、最上位ラベルによって示されている受信ノードはRT3であると判定する。したがって、最上位ラベル3003をポップアウトした後、RT3は、最上位ラベル100をスティッチングラベルスタックリスト{3004,4005}に置き換え、最上位ラベル3004を4004に置き換え、次ホップノードはRT4であると判定し、更新されたデータパケットをRT4に転送する。同様に、RT4は、RT3によって送信されたデータパケットを受信し、データパケット内のラベルスタックは{4004,4005}である。次に、RT4は、最上位ラベルによって示されている受信ノードはRT4であると判定する。したがって、RT4は、最上位ラベルをポップアウトし、最上位ラベル4005に基づいて、次ホップノードはRT5であると判定する。したがって、RT4は、最上位ラベルを5005に置き換え、更新されたデータパケットをRT5に転送する。RT5は、RT4によって送信されたデータパケットを受信し、データパケット内のラベルスタックは{5005}である。次に、RT5は、最上位ラベルによって示されている受信ノードはRT5であると判定する。したがって、RT5は、最上位ラベルをポップアウトし、さらなる転送のために転送テーブルを引き続きルックアップする。
【0108】
スティッチングノードRT3に障害が発生している場合、RT2がRT1からデータパケットを受信した後、RT2は、データパケットのラベルスタックの最上位ラベル2003に基づいて、最上位ラベルによって示されている次ホップノードRT3に障害が発生していると判定し、RT2は、RT3をバイパスする、RT3からRT3の次ホップノードRT4までの転送経路を発見する必要がある。したがって、RT2は、バックアップ転送テーブル(表3)をルックアップして、バックアップ転送テーブル内の内部ラベル2003に対応する転送動作が最上位ラベル2003をポップアウトすることであることを発見し、隣接ノードRT3に関してRT2によって生成されたContextテーブルをルックアップする。最上位ラベル2003をポップアウトした後、RT2は、ラベルスタックリスト内の最上位ラベルはスティッチングラベルであると判定し、Contextテーブルに基づいてスティッチングラベル100を{3004,4005}に置き換える。表3のContextテーブルに基づいて取得されるSRGB差は-1000である。RT2は、RT3から次ホップノードRT4までのラベル、すなわち、最上位ラベル3004を取得し、最上位ラベルとSRGB差との合計を計算する、具体的には、ラベル(3004)+SRGB差(-1000)=2004である。具体的には、入力ノードRT2から出力ノードRT4までのルートセグメントの、RT2での内部ラベルが取得される。ノードRT2は、2004を内部ラベルとして使用して一次転送テーブルをルックアップして、次ホップノードがRT3であることを発見する。RT3へのインターフェースに障害が発生しているため、RT2は、データパケットをバックアップ経路に切り替え、バックアップ転送テーブルをルックアップして、2004を内部ラベルとして使用して、転送動作がRT7に転送することであり、外部ラベルが7004であることを発見し、これにより、ノードRT2は、最上位ラベルを発見された外部ラベルに置き換える、具体的には、最上位ラベル3004をポップアウトし、3004を7004に置き換える。ここでのラベルスタックは{7004,4005}である。RT2は、更新されたデータパケットをRT7に転送する。
【0109】
データパケットを受信した後、RT7は、最上位ラベル7004に基づいて、次ホップノードはRT4であると判定し、したがって、最上位ラベル7004を4004に置き換え、更新されたデータパケットをRT4に転送する。同様に、データパケットを受信した後、RT4は、最上位ラベルによって示されている宛先ノードはRT4であると判定し、最上位ラベルをポップアウトし、更新されたラベルスタックの最上位ラベル4005によって示されている次ホップノードはRT5であると判定し、最上位ラベル4005を5005に置き換え、更新されたデータパケットをRT5に送信する。
【0110】
従来技術では、一次経路上のノードに障害が発生している場合、障害が発生しているノードの前ホップノードが、障害が発生しているノードに関してContextテーブルならびに一次転送テーブルおよびバックアップ転送テーブルを生成する。パケットを一次経路からバックアップ経路に切り替えるとき、前ホップノードは、ラベルスタック内の最上位ラベルに基づいてバックアップ転送テーブルをルックアップして、バックアップ転送テーブル内の転送動作はContextテーブルをルックアップすることであると判定し、次に、Contextテーブルに基づいて、バックアップ経路でパケットを転送する必要がある次ホップノードを判定する。言い換えれば、従来技術では、バックアップ転送テーブルは一度だけルックアップされ、バックアップ経路は、Contextテーブルを使用して判定される。しかしながら、本出願の本実施形態で提供されるソリューションでは、SRGB差が転送プレーンノードに配信されたときに、障害が発生しているノードの次ホップノードのノードラベルが、バックアップ経路でパケットを転送する次ホップノードを判定するために、Contextテーブルのみを使用して判定されたとき、障害が発生しているノードの次ホップノードのノードラベルに基づいて、バックアップ転送テーブルが再度ルックアップされる。したがって、Contextテーブルは、すべてのノードに対応するノードラベルを含む必要はなく、隣接ノードに隣接するノードに対応するラベル情報のみを含む必要があり、その結果、不十分なエントリ容量によって発生するパケット転送の失敗が回避され、記憶リソースも節約される。
【0111】
転送経路上に緩い経路がある場合、緩い経路の宛先ノードはスティッチングノードである。緩い経路セグメントの宛先ノード(スティッチングノード)に障害が発生している場合、ノードに障害が発生しているという情報が、ネットワーク全体にフラッディングされ、ネットワーク全体のすべてのノードは、障害が発生しているノードに対応する一次転送テーブルおよびバックアップ転送テーブルを削除する。緩い経路がある場合、入力ノードから出力ノードまでの一次経路とバックアップ経路の両方が、緩い経路セグメントを通る必要があり、障害が発生しているノードの前ホップノードから障害が発生しているノードをバイパスする必要があり、出力ノードに至る。障害が発生しているノードに対応する一次転送テーブルおよびバックアップ転送テーブルを削除した後、経路セグメントの送信元ノードは、障害が発生しているノードの前ホップノードにデータパケットを転送し得ず、これにより、パケット転送の失敗がもたらされる。
【0112】
図5の例では、RT1は、SR-TE経路がRT3、RT4、およびRT5を通ることを指定している。RT3に障害が発生しており、RT2が、RT3に障害が発生していることを検出したとき、RT2は、IGPを使用して、RT3に障害が発生しているという障害情報をフラッディング(Flooding)し、障害が発生しているノードRT3をバイパスするバックアップ経路RT7->RT4->RT5にパケットを切り替えるためにSR-TE FRRスイッチングをトリガする。RT3に障害が発生しているという障害情報がネットワーク上のすべてのノードにフラッディングされると、RT1は、収束を開始し、RT3に対応する一次転送テーブルおよびバックアップ転送テーブルを削除する。その結果、RT1は、データパケットをRT2に転送し得なくなる。
【0113】
これに基づいて、本出願の本実施形態は、送信経路障害処理方法を提供する。スティッチングノードの前ホップノードが、スティッチングノードに障害が発生していることを検出すると、前ホップノードは、IGPを使用してスティッチングノードのプレフィックス(ノード)ラベルをネットワーク全体のすべてのノードにフラッディングする。スティッチングノードのプレフィックスラベルをフラッディングするとき、前ホップノードは、Mapping TLV(Tag(Type)-Length-Value)でスティッチングノードのプレフィックスラベルを搬送させ得る。
【0114】
本出願の本実施形態におけるMapping TLVの詳細については、国際インターネット技術特別調査委員会(Internet Engineering Task Force、IETF)によってリリースされている文書draft-ietf-isis-segment-routing-extensionsを参照することに留意されたい。この文書のマッピングTLVに関連する部分は、全体としてコピーするなどの導入により本明細書に組み込まれる。簡潔にするために、ここでは詳細は説明されない。
【0115】
TLVの定義は、ラベルフィールド(Type)、長さフィールド(Length)、および値フィールド(Value)の3つのフィールドを含む。Valueフィールドは、スティッチングノードのプレフィックスラベルを含む。代替的に、Mapping TLVは、ラベル結合TLV(SID/Label Binding TLV)と呼ばれ得る。例えば、図6に示されているMapping TLVフォーマットが例として使用される。TypeフィールドはTLVのタイプを表し、Lengthフィールドは制御パケットの長さを表し、Flagsフィールドはフラグを表し、RESERVEDフィールドは、現在使用されていない予約ビットを表す。Rangeフィールドは、アドレスの範囲および関連するPrefix SIDを指定する能力を提供する。Prefix lengthフィールドは、プレフィックスの長さを表す。prefixフィールドは、アドバタイズ経路のテールノードの転送等価クラスを表す。SubTLVフィールドは、MappingTLVでPrefix-SIDを搬送するために使用されるsub-TLVを表す。
【0116】
例えば、本出願の本実施形態では、前ホップノードは、再アドバタイズメントフラグを表すために、FlagsフィールドにRフラグを追加し得る。具体的には、Rフラグは、障害が発生しているノードのプレフィックスラベルが前ホップノードによってネットワーク全体の他のノードに再アドバタイズされることを示す。
【0117】
Flagsのフォーマットについては、図7を参照されたい。Fフラグは、アドレスファミリフラグを表す。Fフラグが設定されていない場合、IPv4プレフィックスが示される。Fフラグが設定されている場合、IPv6プレフィックスが示される。Mフラグは、ミラーコンテキストフラグを表す。アドバタイズされたSIDがミラーリングされたコンテキストに対応する場合、このフラグが設定される。Sフラグは、SID/Label Binding TLVがルーティングドメイン全体にフラッディングされ得るかどうかを示す。Sフラグが設定されている場合、SID/Label Binding TLVは、ルーティングドメイン全体にフラッディングされる。Sフラグが設定されていない場合、SID/Label Binding TLVは、level間でリークされ得ない。Dフラグ:このフラグは、SID/Label Binding TLVがlevel-2からlevel-1にリークされるときに設定される必要がある。そうでない場合、このフラグはクリアする必要がある。Aフラグは、アタッチされたフラグを示す。Levelは、中間システム間(Intermediate System-to-Intermediate System、IS-IS)ルーティングプロトコルにおけるネットワーク層の概念である。共通領域はLevel-1と呼ばれ、バックボーン領域はLevel-2と呼ばれる。
【0118】
図5に示されているネットワークアーキテクチャが例として使用される。スティッチングノードRT3に障害が発生していると判定すると、RT2は、RT3のノードラベルをネットワーク全体にフラッディングする。RT2によってフラッディングされたRT3のノードラベルを受信した後、RT1は、スティッチングノードRT3のノードラベルに基づいて、RT2ノードに送信されるデータパケットの外部ラベルを判定する。具体的には、外部ラベル=RT2のSRGBの開始値+RT3のノードラベル=2000+3=2003である。データパケットを受信した後、RT2は、転送のためにデータパケットをバックアップ経路に切り替える。RT2は、既存のContextテーブルの形式で、またはもちろんContextテーブルを構成する前述の方法で、転送のためにパケットをバックアップ経路に切り替え得る。これはここでは限定されない。特定の送信プロセスについては、図4に対応する実施形態における転送方法を参照されたい。ここでは詳細は再度説明されない。
【0119】
さらに、スティッチングノードに障害が発生している場合、前ホップノードは、転送のためにパケットをバックアップ経路に切り替える。スティッチングノードが回復され再起動された後、スティッチングノードは、スティッチングノードのノード(プレフィックス)ラベルおよび隣接ラベルなどの情報をネットワーク上の別のノードに再度フラッディングする。スティッチングノードによってフラッディングされた情報を受信した後、前ホップノードは、データパケットを再び一次経路に切り替える、言い換えれば、再度スティッチングノードを介してパケットを送信する。しかしながら、スティッチングノードは再起動されたばかりであるため、スティッチングノードは、不完全なローカルデータベースを有している可能性がある、例えば、一次経路上のスティッチングノードの次ホップノードのノードラベルおよび隣接ラベルなどの、他のノードに関する情報をまだ知らない。この場合、パケットを受信した後、RT3は、パケットを次ホップノードに転送し得ず、これにより、パケット損失がもたらされる。
【0120】
図5に示されているように、RT1は、SR-TE経路RT3->RT4->RT5を指定する。RT3に障害が発生している場合、RT2は、RT3に障害が発生していることを検出した後、SR-TE FRRスイッチングをトリガし、バックアップ経路RT7->RT4->RT5に切り替える。したがって、障害が発生しているノードRT3はバイパスされる。RT3が回復し再起動した後、RT3は、Node SIDをネットワーク全体に再アドバタイズし、RT2は、データパケットを再びRT3に切り替える。しかしながら、RT3は再起動されたばかりであるため、RT3は、不完全なローカルデータベースを有している可能性がある。例えば、RT3は、RT4およびRT5のnode SIDをまだ知らない。結果として、データパケットは、RT3から次ホップノードRT4に転送され得ず、破棄される。
【0121】
これに基づいて、本出願の本実施形態は、送信経路障害処理方法を提供する。スティッチングノードが復旧され再起動された後、復旧されたスティッチングノードの前ホップノードは、スティッチングノードが復旧されたことを検出したときに他のノードのプレフィックスSIDを知っておらず、これにより、データパケット損失がもたらされる。スティッチングノードが回復された後、スティッチングノードは、最初にネットワーク全体に指示情報をアドバタイズし、指示情報は、回復されたスティッチングノードがパケットを正しく転送し得ないことを示すために使用される。したがって、復旧されたスティッチングノードに送信されるデータパケットを受信したとき、前ホップノードは、依然としてバックアップ経路を介してデータパケットを転送する。
【0122】
例えば、指示情報は、Overload bitで搬送され得る。Overload bitは、IS-ISルーティングプロトコルで定義されている。ノードが、すべてのリンク状態データベース(LSDB)、すなわち、ノードに記憶されているネットワーク全体のすべてのノードのトポロジ情報を完了し得ない場合、ノードは、ノードが完了していないLSDBを識別するために、ノードによってアドバタイズされたリンク状態データパケットのヘッダ内のbitを使用する。その結果、パケットは正しく転送され得ず、このbitのフラグは、Overload(OL)bitと呼ばれる。別のノードは、スティッチングノードによってアドバタイズされたリンク状態パケット内のOverload bitを使用して、スティッチングノードが正しいルーティング決定を行い得ない、言い換えれば、データパケットを正しく転送し得ないことを知る。これは、スティッチングノードがスティッチングノードのLSDBを完了しないためである。別のノードは、最短経路を計算しているときにスティッチングノードを介してデータパケットを転送しない。
【0123】
図5に示されているネットワークアーキテクチャが例として使用される。RT3がRT4およびRT5のプレフィックスSIDを知る前にRT2がRT3が障害から回復されたことを検出することから発生するデータパケット損失を防ぐために、スティッチングノードRT3が障害から回復され再起動された後。障害から再起動された後、RT3は、リンク状態パケットのヘッダにOverload bitフラグを追加する。
【0124】
RT2は、RT3によってアドバタイズされたリンク状態パケット内のOverload bitを受信し、次ホップノードRT3がOverload状態にあることを検出する。Overload状態は、復旧されたスティッチングノードがパケットを正しく転送し得ないことを示す。したがって、ノードRT2は、障害回復前に使用されていたSR-TE FRR転送経路を引き続き使用し、RT2は、既存のContextテーブルの形式で、またはもちろんContextテーブルを構成する前述の方法でバックアップ経路を使用してデータパケットを転送し得る。これはここでは限定されない。
【0125】
LSDBを完了するためにスティッチングノードによって必要とされる時間、すなわちOverload時間は、一般に長く、例えば60sである。したがって、その期間内では、RT2は、Contextテーブルをルックアップすることによって、SR-TE FRR経路(バックアップ経路)に沿ってデータパケットを転送し得る。例えば、Overload期間は構成され得、RT2は、その期間内ではバックアップ経路に沿ってデータパケットを転送する。LSDBを完了すると、RT3は、ネットワーク全体にリンク状態パケットを再度アドバタイズし得、ヘッダは、overload bitフラグを含まない。overload bitフラグを含まないリンク状態データパケットを受信した後、RT2は、転送のためにデータパケットを再びRT3に切り替える。
【0126】
方法の実施形態と同じ発明概念に基づいて、本出願の一実施形態は、装置をさらに提供する。図8を参照すると、装置800は、ネットワークデバイスに適用される。装置800は、受信モジュール801、処理モジュール802、および送信モジュール803を含み得る。装置800は、具体的には、ネットワークデバイス内のプロセッサ、チップ、チップシステム、または機能モジュールなどであり得る。処理モジュール802は、装置800の動作を制御および管理するように構成される。受信モジュール801は、情報またはパケットを受信するように構成される。送信モジュール803は、情報またはパケットを送信するように構成される。処理モジュール802は、受信モジュール801によって受信された情報またはパケットを処理するように構成される。処理モジュール802は、前述の実施形態のいずれか1つにおけるネットワークデバイス(例えば、第1のノード、RT2、スティッチングノード、もしくはRT3)に関連する処理プロセス、および/または本出願で説明されている技術的ソリューションの別のプロセスを示すようにさらに構成され得る。本装置は、記憶モジュール(図8には示されていない)をさらに含み得る。記憶モジュールは、Contextテーブルならびに一次転送テーブルおよびバックアップ転送テーブルを記憶するように構成される。
【0127】
可能な実施形態では、装置800は、図2に対応する実施形態における第1のノードまたは図3および図5に対応する実施形態におけるRT2などの、スティッチングノードの前ホップノードに適用され得る。
【0128】
例えば、装置800は、第1のノードに適用される。受信モジュール801は、スティッチングノードによって送信されたスティッチングラベルと、スティッチングラベルに対応するスティッチングラベルスタックリストとを受信するように構成される。
【0129】
処理モジュール802は、一次経路を介してパケットを送信するプロセスで、スティッチングノードに障害が発生していると判定し、
パケットは、一次経路でのパケット転送をガイドするために使用されるラベルスタックリストを含み、スティッチングノードは、一次経路上の第1のノードの次ホップノードである、ように構成される。
【0130】
処理モジュール802は、ラベルスタックリスト内のスティッチングラベルをスティッチングラベルスタックリストに置き換えるさらにように構成される。
【0131】
送信モジュール803は、処理モジュール802による更新の後に取得されたラベルスタックリストに基づいて、送信のためにパケットをバックアップ経路に切り替えるように構成される。
【0132】
可能な例では、処理モジュール802は、受信モジュール801が、スティッチングノードによって送信されたスティッチングラベルと、スティッチングラベルに対応するスティッチングラベルスタックリストとを受信した後に、スティッチングラベルおよび対応するスティッチングラベルスタックリストを、スティッチングノードに関して第1のノードによって生成されたラベル情報テーブルに記憶するようにさらに構成される。
【0133】
処理モジュール802は、ラベルスタックリスト内のスティッチングラベルをスティッチングラベルスタックリストに置き換えるときに、ラベルスタックリストのスタック最上位から第1のラベルを取得し、第1のラベルは、パケットを転送する次ホップノードがスティッチングノードであることを示すために使用され、バックアップ転送テーブルに基づいて、第1のラベルに対応する第1の転送動作を判定し、バックアップ転送テーブルは、バックアップ経路を示すために使用され、第1の転送動作は、ラベル情報テーブルをルックアップすることを示すために使用され、ラベル情報テーブルに基づいて、スティッチングラベルスタックリストのスタック最上位に配置される第2のラベルを判定し、第2のラベルは、一次経路上の、スティッチングノードの次ホップノードが第3のノードであることを示すために使用され、第2のラベルを内部ラベルとして使用し、バックアップ転送テーブルから、第1のノードから第3のノードまでのバックアップ経路の外部ラベルを判定するように特に構成される。
【0134】
送信モジュール803は、外部ラベルに基づいて、バックアップ経路上の、第1のノードの次ホップノードにパケットを送信するように特に構成される。
【0135】
可能な例では、送信モジュール803は、受信モジュール801が、スティッチングノードによってネットワークにわたってフラッディングされた第3のノードのノードセグメント識別子を受信した後に、第3のノードのノードセグメント識別子をネットワーク上の別のノードにフラッディングするようにさらに構成される。
【0136】
可能な例では、受信モジュール801は、送信モジュール803がバックアップ経路を介してパケットを送信しているときに、障害回復後にスティッチングノードによって送信された指示情報を受信し、指示情報は、スティッチングノードがパケットを正しく転送し得ないことを示すために使用される、ようにさらに構成され、送信モジュール803は、バックアップ経路を介してパケットを送信し続けるようにさらに構成される。
【0137】
可能な実施形態では、装置800は、図2に対応する実施形態におけるスティッチングノードまたは図3および図5に対応する実施形態におけるRT3などのスティッチングノードに適用され得る。
【0138】
例えば、装置800は、スティッチングノードに適用される。受信モジュール801は、コントローラによって送信されたスティッチングラベルと、スティッチングラベルに対応するスティッチングラベルスタックリストとを受信するように構成される。送信モジュール803は、スティッチングラベルと、スティッチングラベルに対応するスティッチングラベルスタックリストとをネットワーク上の別のネットワークデバイスにフラッディングするように構成される。任意選択で、処理モジュール802は、スティッチングラベルと、スティッチングラベルに対応するスティッチングラベルスタックリストとを記憶モジュール(図8には示されていない)に記憶するように構成される。
【0139】
本出願の一実施形態は、ネットワークデバイスの構造をさらに提供する。図9に示されているように、ネットワークデバイス900は、通信インターフェース910およびプロセッサ920を含み得る。任意選択で、ネットワークデバイス900は、メモリ930をさらに含んでもよい。メモリ930は、ネットワークデバイスの内部に配置されてもよいし、またはネットワークデバイスの外部に配置されてもよい。図8に示されている処理モジュール802は、プロセッサ920によって実施され得る。受信モジュール801および送信モジュール803は、通信インターフェース910によって実施され得る。
【0140】
可能な実施態様では、プロセッサ920は、通信インターフェース910を介してパケットまたはメッセージを受信および送信し、図2から図8のノード(第1のノードまたはRT2)によって実行されるいずれかの方法を実施するように構成される。実施プロセスでは、処理手順のステップは、図2から図5の第1のノードまたはRT2によって実行される方法を遂行するために、ハードウェアの統合論理回路またはプロセッサ920内のソフトウェアの形態の命令を使用して実施され得る。簡潔にするために、ここでは詳細は再度説明されない。前述の方法を実施するためにプロセッサ920によって実行されるプログラムコードは、メモリ930に記憶され得る。メモリ930は、プロセッサ920に結合される。
【0141】
可能な実施態様では、プロセッサ920は、通信インターフェース910を介してパケットまたはメッセージを受信および送信し、図2から図5のノード(スティッチングノードまたはRT3)によって実行されるいずれかの方法を実施するように構成される。実施プロセスでは、処理手順のステップは、図2から図5のスティッチングノードまたはRT3によって実行される方法を遂行するために、ハードウェアの統合論理回路またはプロセッサ920内のソフトウェアの形態の命令を使用して実施され得る。簡潔にするために、ここでは詳細は再度説明されない。前述の方法を実施するためにプロセッサ920によって実行されるプログラムコードは、メモリ930に記憶され得る。メモリ930は、プロセッサ920に結合される。
【0142】
本出願の実施形態における通信インターフェースは、回路、バス、トランシーバ、または情報を交換するように構成され得る任意の他の装置、例えば、ネットワークデバイス900内の通信インターフェース910であり得る。例えば、別の装置が、ネットワークデバイス900に接続されるデバイスであり得る。例えば、別の装置は、ネットワークデバイス900の前ホップノードまたは次ホップノードなどであり得る。
【0143】
本出願の実施形態では、プロセッサは、汎用プロセッサ、デジタル信号プロセッサ、特定用途向け集積回路、フィールドプログラマブルゲートアレイもしくは別のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタ論理デバイス、またはディスクリートハードウェアコンポーネントであり得、本出願の実施形態で開示されている方法、ステップ、および論理ブロック図を実施または実行し得る。汎用プロセッサは、マイクロプロセッサまたは任意の従来のプロセッサなどであり得る。本出願の実施形態を参照して開示された方法のステップは、ハードウェアプロセッサによって直接実行され得るし、またはプロセッサ内のハードウェアとソフトウェアモジュールとの組み合わせを使用して実行され得る。
【0144】
本出願の実施形態における結合は、装置、モジュール、またはモジュール間の間接的な結合または通信接続であり、電気的、機械的、または別の形態であり得、装置、モジュール、およびモジュール間の情報相互作用に使用される。
【0145】
プロセッサ920は、メモリ930と協調して動作し得る。メモリ930は、不揮発性メモリ、例えばハードディスクドライブ(hard disk drive、HDD)もしくはソリッドステートドライブ(solid-state drive、SSD)であり得るし、または揮発性メモリ、例えばランダムアクセスメモリ(random-access memory、RAM)であり得る。メモリ930は、命令またはデータ構造の形態のしかるべきプログラムコードを保持または記憶し得る、コンピュータによってアクセスされ得る任意の他の媒体であるが、これに限定されない。
【0146】
本出願の本実施形態では、通信インターフェース910と、プロセッサ920と、メモリ930との間の特定の接続媒体は限定されない。本出願の本実施形態では、メモリ930、プロセッサ920、および通信インターフェース910は、図9ではバス940を使用して接続されており、バスは、図9では太い線で表されている。他のコンポーネント間の接続の方法は、概略的に説明されており、これに限定されない。バスは、アドレスバス、データバス、および制御バスなどに分類され得る。表現を簡単にするために、図9ではバスを表すために1本の太い線のみが使用されているが、これは、1つのバスしかまたは1つのタイプのバスしかないことを意味しない。
【0147】
前述の実施形態に基づいて、本出願の一実施形態は、コンピュータ記憶媒体をさらに提供する。記憶媒体は、ソフトウェアプログラムを記憶し、1つ以上のプロセッサによって読み出されて実行されるとき、ソフトウェアプログラムは、前述の実施形態のうちの1つ以上で提供される方法を実施し得る。コンピュータ記憶媒体は、リムーバブルハードディスク、読み出し専用メモリ、ランダムアクセスメモリ、磁気ディスク、または光ディスクなどの、プログラムコードを記憶し得る任意の媒体を含み得る。
【0148】
前述の実施形態に基づいて、本出願の一実施形態は、チップをさらに提供する。チップは、前述の実施形態の1つ以上における機能を実施するように構成された、例えば、図2から図5の第1のノードまたはRT2によって実行される方法を実施するように構成された、または図2から図5のスティッチングノードまたはRT3によって実行される方法を実施するように構成された、プロセッサを含む。任意選択で、チップは、メモリをさらに含む。メモリは、プロセッサによって実行される必要なプログラム命令およびデータを記憶するように構成される。チップシステムは、チップを含み得るし、またはチップおよび別のディスクリートデバイスを含み得る。
【0149】
当業者は、本出願の実施形態が、方法、システム、またはコンピュータプログラム製品として提供され得ることを理解すべきである。したがって、本出願は、ハードウェアのみの実施形態、ソフトウェアのみの実施形態、またはソフトウェアとハードウェアとの組み合わせを有する実施形態の形態を使用し得る。さらに、本出願は、コンピュータ使用可能プログラムコードを含む1つ以上のコンピュータ使用可能記憶媒体(ディスクメモリ、CD-ROM、および光メモリなどを含むが、これらに限定されない)で実施されるコンピュータプログラム製品の形態を使用し得る。
【0150】
本出願は、本出願の実施形態による方法、デバイス(システム)、およびコンピュータプログラム製品のフローチャートおよび/またはブロック図を参照して説明されている。コンピュータプログラム命令は、フローチャートおよび/またはブロック図における各プロセスおよび/または各ブロック、ならびにフローチャートおよび/またはブロック図におけるプロセスおよび/またはブロックの組み合わせを実施するために使用され得ることを理解されたい。これらのコンピュータプログラム命令は、マシンを生成するために汎用コンピュータ、専用コンピュータ、組み込みプロセッサ、または任意の他のプログラマブルデータ処理デバイスのプロセッサに提供され得、これにより、コンピュータまたは任意の他のプログラマブルデータ処理デバイスのプロセッサによって実行される命令は、フローチャートの1つ以上のプロセスおよび/またはブロック図の1つ以上のブロックにおける特定の機能を実施するための装置を生成する。
【0151】
これらのコンピュータプログラム命令は、コンピュータまたは任意の他のプログラマブルデータ処理デバイスに特定の方法で動作するように命令し得るコンピュータ可読メモリに記憶され得、これにより、コンピュータ可読メモリに記憶された命令は、命令装置を含む人工物を生成する。命令装置は、フローチャートの1つ以上のプロセスおよび/またはブロック図の1つ以上のブロックにおける特定の機能を実施する。
【0152】
これらのコンピュータプログラム命令は、コンピュータまたは別のプログラマブルデータ処理デバイスにロードされ得、これにより、一連の動作およびステップが、コンピュータまたは別のプログラマブルデバイス上で実行され、その結果、コンピュータ実施処理が生成される。したがって、コンピュータまたは別のプログラマブルデバイス上で実行される命令は、フローチャートの1つ以上のプロセスおよび/またはブロック図の1つ以上のブロックにおける特定の機能を実施するためのステップを提供する。
【0153】
当業者が、本出願の範囲から逸脱することなく、本出願にさまざまな修正および変形を加え得ることは明らかである。本出願のこれらの修正および変形が、以下の特許請求の範囲およびその均等な技術によって規定される保護範囲内にあるならば、本出願は、本出願のこれらの修正および変形を包含することを意図されている。
【符号の説明】
【0154】
800 装置
801 受信モジュール
802 処理モジュール
803 送信モジュール
900 ネットワークデバイス
910 通信ポート
920 プロセッサ
930 メモリ
940 バス
図1A
図1B
図2
図3
図4
図5
図6
図7
図8
図9