(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023063332
(43)【公開日】2023-05-09
(54)【発明の名称】IGPフラッディングトポロジー不一致を処理するためのシステムおよび方法
(51)【国際特許分類】
H04L 45/021 20220101AFI20230427BHJP
【FI】
H04L45/021
【審査請求】有
【請求項の数】21
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023030997
(22)【出願日】2023-03-01
(62)【分割の表示】P 2021550033の分割
【原出願日】2019-10-21
(31)【優先権主張番号】62/811,170
(32)【優先日】2019-02-27
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】504161984
【氏名又は名称】ホアウェイ・テクノロジーズ・カンパニー・リミテッド
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133569
【弁理士】
【氏名又は名称】野村 進
(72)【発明者】
【氏名】ファイモ・チェン
(72)【発明者】
【氏名】ディーン・チェン
(57)【要約】
【課題】内部ゲートウェイプロトコル(IGP)フラッディングトポロジー不一致を処理するためにネットワークノード(N1)によって実行される方法を提供する。
【解決手段】この方法は、新しいフラッディングトポロジーを取得する。新しいフラッディングトポロジーは、新しいフラッディングトポロジーを計算または受信することによって取得され得る。この方法は、N1と第2のノード(N2)との間のリンクが新しいフラッディングトポロジー上にあるかどうかを示すために、フラッディングトポロジーフラグフィールド(FTフィールド)をデータパケット内に設定する。この方法は、フラッディングトポロジーフラッグフィールドを含むデータパケットをN2に送信する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
ネットワークノード(N1)によって実行される方法であって、
フラッディングトポロジーを取得するステップであって、前記フラッディングトポロジーが、前記フラッディングトポロジーの計算または受信のうちの1つによって取得される、取得するステップと、
第1のフラッディングトポロジーフラグフィールド(FTフィールド)を第2のノード(N2)に送信するステップであって、前記第1のFTフィールドが、N1とN2との間のリンクがN1によって判定された前記フラッディングトポロジー上にあるかどうかを示すために、N1によって設定される、送信するステップと
を含む、方法。
【請求項2】
第2のFTフィールドをN2から受信するステップであって、前記第2のFTフィールドが、N1とN2との間の前記リンクがN2によって判定された前記フラッディングトポロジー上にあるかどうかを示すために、N2によって設定される、受信するステップと、
前記第1のFTフィールドが前記第2のFTフィールドと異なることに応じて、フラッディングトポロジー不一致フィールド(Iフィールド)をネットワーク内の少なくとも1つのノードに分散させるステップであって、前記Iフィールドが、前記フラッディングトポロジー内の不一致を示す、分散させるステップと
をさらに含む、請求項1に記載の方法。
【請求項3】
前記Iフィールドが、リンク状態(LS)で搬送される、請求項2に記載の方法。
【請求項4】
前記Iフィールドが、中間システム間(IS-IS)におけるリンク状態パケット(LSP)で定義されるか、または開放型最短経路優先(OSPF)におけるリンク状態広告(LSA)で定義される、請求項3に記載の方法。
【請求項5】
前記第1のFTフィールドが、RFC5613によって定義された拡張オプションおよびフラグ(EOF)-TLVで定義される、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記第1のFTフィールドが、前記EOF-TLVを含むOSPF Helloパケットで搬送される、請求項5に記載の方法。
【請求項7】
前記第1のFTフィールドが、リンク属性サブTLVで定義される、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記リンク属性サブTLVが、RFC3630において定義されているリンクTLV内に含まれる、請求項7に記載の方法。
【請求項9】
前記リンクTLVが、OSPFv2トラフィックエンジニアリング(TE)オペークLSA内に含まれる、請求項8に記載の方法。
【請求項10】
前記リンク属性サブTLVが、RFC7684において定義されている拡張リンクTLV内に含まれる、請求項7に記載の方法。
【請求項11】
前記拡張リンクTLVが、OSPFv2拡張リンクオペークLSA内に含まれる、請求項10に記載の方法。
【請求項12】
前記第1のFTフィールドが、IS-ISにおいて定義された拡張オプションおよびフラグ(EOF)-TLVで定義される、請求項1から4のいずれか一項に記載の方法。
【請求項13】
前記第1のFTフィールドが、RFC5029において定義されているリンク属性サブTLVで定義される、請求項1から4のいずれか一項に記載の方法。
【請求項14】
前記リンク属性サブTLVが、拡張IS到達可能性TLVで搬送される、請求項13に記載の方法。
【請求項15】
前記フラッディングトポロジー上のN1とN2との間の前記リンクの前記フラッディングトポロジー不一致に関する警告メッセージをネットワーク監視ノードに発行するステップをさらに含む、請求項1から14のいずれか一項に記載の方法。
【請求項16】
所定の時間間隔の後でのみ、後続の警告メッセージを発行するステップをさらに含む、請求項15に記載の方法。
【請求項17】
N1とN2との間の前記リンクの前記フラッディングトポロジー不一致をデータファイル内にログ記録するステップをさらに含む、請求項2から16のいずれか一項に記載の方法。
【請求項18】
リーダーノードによる、前記フラッディングトポロジー上のN1とN2との間の前記リンクのフラッディングトポロジー不一致を示したフラッディングトポロジー不一致フィールド(Iフィールド)を含むリンク状態(LS)の受信に応じて、フラッディング低減モードの代わりに、フルフラッディングモードを開始する命令を前記リーダーノードから受信するステップと、
前記フルフラッディングモードを開始するステップと
をさらに含む、請求項1から17のいずれか一項に記載の方法。
【請求項19】
前記第1のFTフィールドが、1ビットである、請求項1から18のいずれか一項に記載の方法。
【請求項20】
前記第1のFTフィールドが、ネットワーク内の他のノードに送信される、請求項1から19のいずれか一項に記載の方法。
【請求項21】
命令またはプログラムを実行したときに請求項1から20のいずれか一項に記載の方法を実行するプロセッサを備える、ネットワークノード。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本特許出願は、参照により本明細書に組み込まれている、Huaimo Chenらが2019年2月27日に出願した、「System and Method for Handling IGP Flooding Topology Inconsistency」と題する、米国仮特許出願第62/811,170号の利益を主張するものである。
【0002】
本開示は、一般に、ネットワーク通信に関し、より詳細には、内部ゲートウェイプロトコル(IGP)フラッディングトポロジー不一致(Flooding Topology inconsistency)を処理するための様々なシステムおよび方法に関する。
【背景技術】
【0003】
IGPフラッディングは、ネットワークにわたってリンク状態情報を分散させるために使用される。ルーティング計算はリンク状態データベース(LSDB)がフラッディングドメイン内のすべてのノードにわたって常に同期していると仮定するため、IGPフラッディングはリンク状態IGPにとって最重要である。ノードにわたるLSDB不一致は、すべてのサービスクラスに対してパケット損失、リンク過負荷、およびジッタをもたらす、ルーティング不一致およびマイクロループを引き起こすことがある。
【発明の概要】
【課題を解決するための手段】
【0004】
内部ゲートウェイプロトコル(IGP)フラッディングトポロジー不一致を処理するためにネットワークノード(N1)によって実行される方法に関する。この方法は、現在のフラッディングトポロジー、ネットワークを記憶する。この方法は、ネットワークの新しいフラッディングトポロジーを計算する。この方法は、新しいフラッディングトポロジーに基づいて、現在のフラッディングトポロジー上にN1と第2のノード(N2)との間のリンクのフラッディングトポロジー変更が存在するかどうかを判定する。現在のフラッディングトポロジー上にN1とN2との間のリンクのフラッディングトポロジー変更が存在するとの判定に応じて、この方法は、N1とN2との間のリンクが新しいフラッディングトポロジー上にあるかどうかを示すために、フラッディングトポロジーフラグフィールド(FTフィールド)をデータパケット内に設定する。この方法は、フラッディングトポロジーフラグフィールドを含むデータパケットをネットワーク内の少なくとも1つのノードに送信する。
【0005】
場合によっては、第1の態様による第1の実装形態では、この方法は、第2のデータパケットをN2から受信する。第2のデータパケットは、N1とN2との間のリンクがN2によって判定された新しいフラッディングトポロジー上にあるかどうかを示すために、N2によって設定されたフラッディングトポロジーフラグフィールドを含む。この方法は、第2のデータパケット内でN2によって設定されたフラッディングトポロジーフラグフィールドをそのデータパケット内でN1によって設定されたフラッディングトポロジーフラグフィールドと比較する。この方法は、第2のデータパケット内でN2によって設定されたフラッディングトポロジーフラグフィールドおよびN1によって設定されたフラッディングトポロジーフラグフィールドに基づいて、新しいフラッディングトポロジー上にN1とN2との間にリンクのフラッディングトポロジー不一致が存在するかどうかを判定する。この方法は、第2のデータパケット内でN2によって設定されたフラッディングトポロジーフラグフィールドおよびN1によって設定されたフラッディングトポロジーフラグフィールドが異なる場合、新しいフラッディングトポロジー内の不一致を示すために、フラッディングトポロジー不一致フィールド(Iフィールド)をリンク状態(LS)パケット内に設定する。一実装形態では、この方法は、所与の/所定の時間にわたって、第2のデータパケット内でN2によって設定されたフラッディングトポロジーフラグフィールドおよびN1によって設定されたフラッディングトポロジーフラグフィールドが異なる場合のみ、新しいフラッディングトポロジー内の不一致を示すために、フラッディングトポロジー不一致フィールド(Iフィールド)をリンク状態(LS)パケット内に設定する。フラッディングトポロジー不一致フィールド(Iフィールド)を含むLSがネットワーク内のノードに分散される。
【0006】
場合によっては、第1の態様による第2の実装形態、または第1の態様のいずれかの先行する実装形態では、フラッディングトポロジー不一致フィールド(Iフィールド)を含むLSは、中間システム間(IS-IS:Intermediate System to Intermediate System)フラッディング低減情報タイプ-長さ-値(TLV:type_length-value)を有するリンク状態パケット(LSP)であり、フラッディングトポロジー不一致フィールド(Iフィールド)は、IS-ISフラッディング低減情報タイプ-長さ-値(TLV)で定義される。
【0007】
場合によっては、第1の態様による第3の実装形態、または第1の態様のいずれかの先行する実装形態では、フラッディングトポロジー不一致フィールド(Iフィールド)を含むLSは、開放型最短経路優先(OSPF:Open Shortest Path First)フラッディング低減情報TLVを有するルータ情報(RI)リンク状態広告であり、フラッディングトポロジー不一致フィールド(I-field)は、OSPFフラッディング低減情報TLVで定義される。
【0008】
場合によっては、第1の態様による第4の実装形態、または第1の態様のいずれかの先行する実装形態では、フラッディングトポロジーフラグフィールド(FTフィールド)は、RFC5613によって定義された拡張オプションおよびフラグ(EOF:Extended Options and Flag) TLVで定義され、データパケットは、EOF-TLVを含むリンクローカルシグナリング(LLS)データブロックを含むOSPF Helloデータパケットである。
【0009】
場合によっては、第1の態様による第5の実装形態、または第1の態様のいずれかの先行する実装形態では、フラッディングトポロジーフラグフィールド(FTフィールド)は、新しいリンク属性サブTLVで定義される。
【0010】
場合によっては、第1の態様による第6の実装形態、または第1の態様のいずれかの先行する実装形態では、新しいリンク属性サブTLVは、RFC3630において定義されているリンクTLV内に含まれ、リンクTLVは、OSPFv2トラフィックエンジニアリング(TE)オペークLSA内に含まれる。
【0011】
場合によっては、第1の態様による第7の実装形態、または第1の態様のいずれかの先行する実装形態では、新しいリンク属性サブTLVは、RFC7684において定義されている拡張リンクTLV内に含まれ、拡張リンクTLVは、OSPFv2拡張リンクオペークLSA内に含まれる。
【0012】
場合によっては、第1の態様による第8の実装形態、または第1の態様のいずれかの先行する実装形態では、フラッディングトポロジーフラグフィールド(FTフィールド)は、IS-ISにおいて定義された拡張オプションおよびフラグ(EOF) TLVで定義され、データパケットは、FTフィールドを含むEOF TLVを含むIS-IS Helloデータパケットである。
【0013】
場合によっては、第1の態様の第9の実装形態、または第1の態様のいずれかの先行する実装形態では、フラッディングトポロジーフラグフィールド(FTフィールド)は、RFC5029において定義されているリンク属性サブTLVで定義され、データパケットは、FTフィールドを含むリンク属性サブTLVを含む拡張IS到達可能性TLVを含むLSPである。
【0014】
場合によっては、第1の態様の第10の実装形態、または第1の態様のいずれかの先行する実装形態では、フラッディングトポロジー不一致は、N2によって設定された新しいフラッディングトポロジー上のN1とN2との間のリンクに対するフラッディングトポロジーフラグフィールド(FTフィールド)が、所与の時間にわたって、N1によって設定された新しいフラッディングトポロジー上のN1とN2との間のリンクに対するFTフィールドとは異なるということである。
【0015】
場合によっては、第1の態様による第11の態様、または第1の態様のいずれかの先行する実装形態では、この方法は、新しいフラッディングトポロジーを判定し分散させるように指定されたトポロジーのリーダーノードから新しいフラッディングトポロジーを受信する。
【0016】
場合によっては、第1の態様による第12の態様、または第1の態様のいずれかの先行する実装形態では、N1とN2との間のリンクのフラッディングトポロジー不一致は、N2によって設定されたフラッディングトポロジーフラグフィールドが、所定の数のデータパケットのうちの少なくとも1つに対して、または所定の時間期間にわたって、データパケット内でN1によって設定されたフラッディングトポロジーフラグフィールドとは異なる後でのみ判定される。
【0017】
場合によっては、第1の態様による第13の態様、または第1の態様のいずれかの先行する実装形態では、この方法は、新しいフラッディングトポロジー上のN1と第2のノード(N2)との間のリンクのフラッディングトポロジー不一致に関する警告メッセージをネットワーク監視ノードに発行する。
【0018】
場合によっては、第1の態様による第14の態様、または第1の態様のいずれかの先行する実装形態では、この方法は、所定の時間間隔の後でのみ、後続の警告メッセージを発行する。
【0019】
場合によっては、第1の態様による第15の態様、または第1の態様のいずれかの先行する実装形態では、この方法は、N1とN2との間のリンクのフラッディングトポロジー不一致をデータファイル内にログ記録する。
【0020】
場合によっては、第1の態様による第16の態様、または第1の態様のいずれかの先行する実装形態では、この方法は、リーダーノードによる、新しいフラッディングトポロジー上のN1とN2との間のリンクのフラッディングトポロジー不一致を示したフラッディングトポロジー不一致フィールド(Iフィールド)を含むLSの受信に応じて、フラッディング低減モードの代わりに、フルフラッディングモードを開始する命令をリーダーノードから受信する。この方法は、命令の受信に応じて、フルフラッディングモードを開始する。
【0021】
場合によっては、第1の態様による第17の態様、または第1の態様のいずれかの先行する実装形態では、フラッディングトポロジーフラグフィールド(FTフィールド)は、N1とN2との間のリンクが新しいフラッディングトポロジー上にあることを示すための1(1)ビットである。
【0022】
場合によっては、第1の態様による第18の実装形態、および第1の態様のいずれかの先行する実装形態では、フラッディングトポロジー不一致フィールド(Iフィールド)は、フラッディングトポロジー不一致が存在することを示すための1(1)ビットである。
【0023】
場合によっては、第1の態様による第19の実装形態、および第1の態様のいずれかの先行する実装形態では、フラッディングトポロジーフラグフィールドを含むデータパケットはN2に送信される。
【0024】
場合によっては、第1の態様による第20の実装形態、および第1の態様のいずれかの先行する実装形態では、フラッディングトポロジーフラグフィールドを含むデータパケットは、新しいフラッディングトポロジーを使用してネットワーク内の他のノードに送信される。
【0025】
第2の態様は、ネットワーク通信手段、データ記憶手段、および処理手段を備えた、ネットワークノードに関する。ネットワークノードは、具体的には、第1の態様のうちのいずれか、または第1の態様のいずれかの先行する実装形態を実行するように構成される。
【0026】
本開示のより完全な理解のために、次に、同様の参照番号が同様の部分を表す、添付の図面および詳細な説明に関して行われる簡単な説明を参照する。
【図面の簡単な説明】
【0027】
【
図1】本開示の一実施形態による、フラッディングトポロジーを示す概略図である。
【
図2】本開示の一実施形態による、フラッディングトポロジー上でのフラッディングトポロジービット(FTビット)の近接ノード(neighbor node)への通信を示す概略図である。
【
図3】本開示の一実施形態による、内部ゲートウェイプロトコル(IGP)フラッディングトポロジー不一致を処理するためにネットワークノードによって実行される方法を示すフローチャートである。
【
図4】本開示の一実施形態による、IGPフラッディングトポロジー不一致を処理するためにネットワークノードによって実行される方法を示すフローチャートである。
【
図5】本開示の一実施形態による、FTビットに対する符号化方式を示す概略図である。
【
図6】本開示の別の実施形態による、FTビットに対する符号化方式を示す概略図である。
【
図7】本開示の別の実施形態による、FTビットに対する符号化方式を示す概略図である。
【
図8】本開示の一実施形態による、フラッディングトポロジー不一致フィールドまたはビット(Iビット)に対する符号化方式を示す概略図である。
【
図9】本開示の別の実施形態による、Iビットに対する符号化方式を示す概略図である。
【
図10】本開示の別の実施形態による、開放型最短経路優先(OSPF)helloパケット内の拡張オプションおよびフラグ-タイプ-長さ-値(EOF-TLV)を示す概略図である。
【
図11】本開示の別の実施形態による、EOF TLVの拡張オプションおよびフラグフィールドを示す概略図である。
【
図12】本開示の別の実施形態による、リンク属性サブTLVを示す概略図である。
【
図13】本開示の別の実施形態による、リンクTLVを示す概略図である。
【
図14】本開示の別の実施形態による、OSPFv2トラフィックエンジニアリング(TE)オペークリンク状態広告(LSA)を示す概略図である。
【
図15】本開示の別の実施形態による、OSPFv2拡張リンクTLVを示す概略図である。
【
図16】本開示の別の実施形態による、OSPFv2拡張リンクオペークLSAを示す概略図である。
【
図17】本開示の別の実施形態による、OSPFフラッディング低減情報TLVを示す概略図である。
【
図18】本開示の別の実施形態による、中間システム間(IS-IS)helloパケット内のEOF-TLVを示す概略図である。
【
図19】本開示の別の実施形態による、EOF-TLV IS-IS helloパケットの拡張オプションおよびフラグフィールド内のFTビットを示す概略図である。
【
図20】本開示の別の実施形態による、IS-ISリンク属性サブTLVのFTビットを示す概略図である。
【
図21】本開示の別の実施形態による、IS-ISフラッディング低減情報TLVのIビットを示す概略図である。
【
図22】本開示の別の実施形態による、ネットワークノードを示す概略図である。
【発明を実施するための形態】
【0028】
最初に、1つまたは複数の実施形態の例示的な実装形態を以下で提供するが、開示するシステムおよび/または方法は、任意の数の技法を使用して実装され得ることを理解されたい。本開示は、本明細書で示し説明する例示的な設計および実装形態を含めて、以下で示す例示的な実装形態、図面、および技法に決して限定されるべきではなく、均等物のその完全な範囲とともに、添付の請求項の範囲内で修正され得る。
【0029】
本開示は、内部ゲートウェイプロトコル(IGP)フラッディングトポロジー不一致を処理するための様々なシステムおよび方法について説明する。OSPFおよびIS-ISは、ノードが、受信された、または自己発信した(self-originated)LSを(LSが受信されたインターフェースを除いて)すべてのそのインターフェースに送信しなければならない、いわゆる、信頼できるフラッディング機構を展開する。フラッディング機構は、分散モードまたは集中モードを採用し得る。分散型フラッディング低減ソリューションまたはモードでは、ネットワークエリア内のすべてのノードが、フラッディングトポロジー(FT)を計算し、FTに基づいて、リンク状態をフラッディングする。集中型フラッディング低減ソリューションまたはモードでは、エリア内のリーダーが、FTを計算し、そのFTをすべてのノードに広告し、すべてのノードがFTに基づいて、リンク状態をフラッディングする。IGPフラッディングトポロジー不一致は、1つのノードによって計算されたFTが別のノードによって計算されたFTと異なるとき、または1つのノードによって受信されたFTが別のノードによって受信されたFTと異なるとき、生じ得る。
【0030】
開示する実施形態は、フラッディングトポロジーの不一致を検出し、それに応じて、処理することによって、上記の問題を解決することを求める。たとえば、分散型フラッディング低減ソリューションまたはモードでは、1つのノードによって計算されたフラッディングトポロジーは、別のノードによって計算されたフラッディングトポロジーと同じである必要がある。2つのノードによって計算された2つのフラッディングトポロジーが異なるとき、この不一致は、検出され、それに応じて、処理される必要がある。集中型フラッディング低減ソリューションまたはモードでは、1つのノードによって受信されたフラッディングトポロジーは、別のノードによって受信されたフラッディングトポロジーと同じである必要がある。2つのノードによって受信された2つのフラッディングトポロジーが異なるとき、この不一致は、検出され、それに応じて、処理される必要がある。一実施形態では、FT不一致は、分散型フラッディング低減ソリューションまたはモードでFTの再計算をトリガすることによって解決される。ノードにアタッチされたリンクの場合、ノードは、FTビットまたはFTフラグと呼ばれるフラグを使用して、そのリンクがフラッディングトポロジー上にあるかどうかを標示する。たとえば、リンクがノードによって計算または受信されたフラッディングトポロジー上にある場合、リンクに対するフラグは1に設定され、さもなければ(すなわち、リンクがノードによって計算または受信されたフラッディングトポロジー上にない場合)、リンクに対するフラグはゼロに設定される。ノードは、リンクのFTビットをネットワーク内の他のノードに、または単にリンクのリモート隣接ノード(adjacent node)に分散させ得る。不一致が残存する場合、通常のフラッディングへのロールバック要求が実行され得る。
【0031】
一実施形態では、OSPFにおいて、ノードは、OSPF Hello内で拡張オプションおよびフラグ(EOF)TLVで新しいFTビットを定義して使用することによって、リンクのFTビットをリンクのリモート隣接ノードに分散させる。
【0032】
別の実施形態では、拡張オプションおよびフラグ(EOF)TLVと呼ばれる新しいTLVが定義される。そのTLVは、IS-IS Hello内に含まれ得る。OSPFと同様に、フラッディングトポロジー上のリンク(略してFTビット)と呼ばれる、新しいフラグビットがEOF-TLVで定義され、使用される。
【0033】
別の実施形態では、OSPFにおいて、ノードは、RFC3630において定義されているリンクTLVの下でEOF-TLVと同様の、リンク属性サブTLVと呼ばれる、新しいTLV、およびサブTLVで新しいFTビットを定義して使用することによって、リンクのFTビットをネットワーク内の他のノードに分散させる。代替的に、このサブTLVは、RFC7684において定義されている拡張リンクTLV内に含まれ得る。2つのTLVのうちの1つのみがネットワーク内で分散される場合、サブTLVはこのTLV内に含まれることになる。両方のTLVがネットワーク内で分散される場合、サブTLVは、拡張リンクTLV内に含まれることになる。2つのTLVのうちのいずれもネットワーク内で分散されない場合、サブTLVは延長リンクTLV内に含まれることになり、延長リンクTLVはネットワーク内で分散される。
【0034】
別の実施形態では、IS-ISにおいて、ノードは、RFC5029において定義されているリンク属性サブTLVで新しいFTビットを定義して使用することによって、リンクのFTビットをネットワーク内の他のノードに分散させる。
【0035】
図1は、本開示の一実施形態による、フラッディングトポロジー100を示す概略図である。所与のネットワークトポロジーに対して、フラッディングトポロジーは、それを介してリンク状態がフラッディングされる、すべてのノードに対して所与のネットワークトポロジーと同じ到達可能性を有する所与のネットワークトポロジーのサブグラフまたはサブネットワークである。所与のネットワークトポロジー内のすべてのノード(たとえば、N1~N16)は、フラッディングトポロジー100内になければならない。すべてのノードは、直接的または間接的に相互接続されなければならない。結果として、リンク状態(LS)フラッディングは、たいていの場合、すべてのノードおよびリンクのサブセット(太線のリンクは
図1のフラッディングトポロジー100を示す)を含むフラッディングトポロジー上で1回のみ生じることになる。
【0036】
所与のネットワークトポロジーに対して、多くの異なるフラッディングトポロジーが構築され得る。たとえば、所与のネットワークトポロジー内のすべてのノードを接続するチェーンはフラッディングトポロジーであり、すべてのノードを接続する円は別のフラッディングトポロジーであり、すべてのノードを接続するツリーはフラッディングトポロジーである。フラッディングトポロジー100は、元のトポロジーのサブグラフであるが、いずれの単一のLSもネットワーク全体の中で依然として広められなければならない点に留意されたい。
【0037】
集中モード、分散モード、および静止モードを含めて、所与のネットワークトポロジーに対してフラッディングトポロジーを構築するための多くの異なる方法が存在する。集中モードで、ネットワーク内の1つのノードは、フラッディングトポロジー100を構築し、フラッディングトポロジー100をネットワーク内のすべての他のノードにフラッディングする。分散モードで、ネットワーク内の各ノードは、同じアルゴリズムを使用することによって、フラッディングトポロジー100を自動的に算出する。静止モードで、フラッディングトポロジー100上のリンクは、静的に構成される。開示する実施形態は、フラッディングトポロジー100を構築するために使用されるモードのうちのいずれにも適用可能である。
【0038】
開示する実施形態は、リンクがフラッディングトポロジー上にあるかどうかを識別するために使用される新しいフラッディングトポロジービット(FTビット)を導入する。
図2は、本開示の一実施形態による、フラッディングトポロジー200上でのFTビット204の近接ノードへの通信を示す概略図である。一実施形態では、ノードAは、リンク202が新しいフラッディングトポロジー上にあるとき、新しいフラッディングトポロジーを計算し、1(1)に設定されたFTビット204を有するHelloパケットをノードBに送る。同様に、ノードBは、リンク202が新しいフラッディングトポロジー上にあるとき、新しいフラッディングトポロジーを計算し、1(1)に設定されたFTビット204を有するHelloパケットをノードAに送る。
【0039】
一実施形態では、ノードAは、リンク202が新しいフラッディングトポロジー上にないとき、新しいフラッディングトポロジーを計算し、ゼロ(0)に設定されたFTビット204を有するかまたはEOF TLVなしの(以下で説明する)HelloパケットをノードBに送る。同様に、ノードBは、リンク202が新しいフラッディングトポロジー上にないとき、新しいフラッディングトポロジーを計算し、ゼロ(0)に設定されたFTビット204を有するかまたはEOF TLVなしの(すなわち、FTビット204なしの)HelloパケットをノードAに送る。
【0040】
2つのノードからのHelloパケットが同じFTビット204値を有する場合、ノードAとノードBとの間のリンク202に関するフラッディングトポロジーは一致する。すなわち、ノードAとノードBの両方が、1(1)に設定されたFTビット204を有する、またはゼロ(0)に設定されたFTビット204を有する、Helloパケットを互いから受信する場合、ノードAとノードBとの間のリンク202に関するフラッディングトポロジーは一致する。
【0041】
ノードのうちの1つ(たとえば、ノードA)がFTビット204を1(1)に設定し、もう1つのノード(すなわち、ノードB)がFTビット204をゼロ(0)に設定するか、またはその逆である場合、ノードAとノードBとの間のリンク202に関するフラッディングトポロジーは一致しない。これが生じた場合、不一致が広告される。一実施形態では、ノードAおよび/またはノードBは、本明細書でさらに説明する不一致ビット(Iビット)を使用して、ネットワーク内の他のノードに、フラッディングトポロジー上のノードAとノードBとの間のリンク202の不一致について知らせることができる(たとえば、Iビットを、LSA/LSP内で、フラッディング低減情報TLVで1(1)に設定する)。一実施形態では、ノード(すなわち、ノードAまたはノードB)は、フォールスポジティブの可能性を低減するために、ノードAとノードBとの間のリンク202の不一致を報告する前に、所定の時間間隔にわたって(たとえば、6個のHelloパケットまたは所与の時間の後など)不一致が生じるまで待機し得る。ノードAとノードBとの間のポイントツーポイントリンクに関するフラッディングトポロジーに対する一致および不一致は、そのリンクにアタッチされたいくつかのノード間のブロードキャストリンクに拡張され得る。一実施形態では、分散されたフラッディング低減を行う命令を含むリンク状態を広告または発信するノードが不一致を受信するとき、そのノードは、すべてのノードに通常のフラッディングにロールバックするように命令すると決断し得る。
【0042】
本明細書でさらに説明するように、FTビット204は、いくつかの異なるタイプのメッセージ内で搬送され得る。たとえば、ノードAとノードBとの間のリンク202が、現在のフラッディングトポロジー上ではなく、ノードAによって計算された新しいフラッディングトポロジー上にある場合、ノードAは、リンク202に対して1(1)に設定されたFTビット204を有するリンク属性サブTLV(本明細書で説明する)を含むLSAまたはLSPを広告する。同様に、ノードAとノードBとの間のリンク202が、現在のフラッディングトポロジー上ではなく、ノードBによって計算された新しいフラッディングトポロジー上にある場合、ノードBは、リンク202に対して1(1)に対するFTビットセット204を有するリンク属性サブTLVを含むLSAまたはLSPを広告する。2つのノードからのLSA/LSPがリンク202に対して同じFTビット204値を有する場合、ノードAとノードBとの間のリンク202に関するフラッディングトポロジーは一致し、さもなければ、ノードAとノードBとの間のリンク202に関するフラッディングトポロジーは一致しない。
【0043】
本明細書で説明するように、様々な実施形態では、2つのノード間のリンクに関するフラッディングトポロジー上の不一致が検出されるとき、警告が発行またはログ記録され得る。一実施形態では、2つのノード間のリンクに関する現在のフラッディングトポロジーが一致しないとき、2つのノードのうちの1つのみが警告を発行またはログ記録する。別の実施形態では、2つのノード間のリンクに関する現在のFTが一致しないとき、2つのノードが警告を発行またはログ記録する。さらに、別の実施形態では、所与の時間期間にわたって前の警告が発行またはログ記録された後、警告が発行またはログ記録される。
【0044】
いくつかの実施形態では、2つのノード間のリンクに関するフラッディングトポロジーに対する不一致が検出されたとき、フラッディング行動は変更されない。一実施形態では、1(1)に設定されたFTビットを有するHelloパケットを他のノードから受信するノードは、そのリンクが一時的にそのフラッディングトポロジー上にあると仮定し、リンクを介してリンク状態をフラッディングする。別の実施形態では、ノードは、通常のフラッディング行動を使用する。第3の実施形態では、両方のノードは通常のフラッディング行動を保持する。
【0045】
図3は、本開示の一実施形態による、IGPフラッディングトポロジー不一致を処理するための方法300を示すフローチャートである。方法300は、
図2のネットワークノードAなど、ネットワークノード(N1)によって実行される。方法300は、現在のフラッディングトポロジーを記憶することによって、ステップ302において開始する。現在のフラッディングトポロジーは、ネットワークノードによって前に計算されていることがあるか、またはフラッディングトポロジーの計算を担当するリーダーノードから受信されていることがある。ステップ304において、方法300は、新しいフラッディングトポロジーを計算または(たとえば、リーダーによって計算された新しいフラッディングトポロジーを)受信する。新しいフラッディングトポロジーは、周期的時間間隔で計算され得るか、または現在のネットワーク/トポロジーに対する変更の通知(たとえば、リンクが追加されている、除去されている、失敗した、などというLS通知)の受信に応じて計算され得る。方法300は、ステップ306において、N1と第2のノード(N2)との間のリンクがフラッディングトポロジー上で変更されているかどうかを判定する。一実施形態では、N1と第2のノード(N2)との間のリンクがフラッディングトポロジー上で変更されていない場合、方法300は、ステップ308において何のアクションも実行せず、終了する。方法300が、N1と第2のノード(N2)との間のリンクが、新しいフラッディングトポロジー上にあるが、現在のフラッディングトポロジー上にはないと判定する場合、方法300は、ステップ310において、N1とN2との間のリンクが新しいフラッディングトポロジー上にあることを示すために、リンクに対するフラッディングトポロジーフラグフィールド(FTフィールド)をデータパケット内で1(1)に設定し、さもなければ、N1とN2との間のリンクが新しいフラッディングトポロジー上にはないが、現在のフラッディングトポロジー上にある場合、方法300は、リンクに対するFTフィールドをゼロ(0)に設定する。ステップ312において、方法300は、フラッディングトポロジーフラグフィールドを含むデータパケットをネットワーク内の少なくとも1つのノードに送信する。たとえば、N1は、リンクのフラッディングトポロジーフラグフィールドを含むデータパケットをN2に分散させ得る。
【0046】
図4は、IGPフラッディングトポロジー不一致を処理するためにネットワークノードによって実行される方法400を示すフローチャートである。方法400は、
図2のネットワークノードAなど、ネットワークノード(N1)によって実行される。方法は、N1と第2のノード2(N2)との間のリンクに対するフラッディングトポロジーフィールドを含むデータパケットをN2から受信することによって、ステップ402において開始する。方法400は、ステップ404において、フラッディングトポロジーフラグフィールドまたはデータパケット内でN2によって設定されたFTビットを、
図3の方法300によって説明したように、データパケット内で前にN2に送られている可能性がある、N1によって設定または判定されたFTビットと比較する。
【0047】
方法400は、ステップ406において、第2のデータパケット内でN2によって設定されたフラッディングトポロジーフラグフィールドおよびN1によって設定されたフラッディングトポロジーフラグフィールドに基づいて、新しいフラッディングトポロジー上にN1とN2との間のリンクのフラッディングトポロジー不一致が存在するかどうかを判定する。たとえば、N1とN2との間のリンクが新しいフラッディングトポロジー上にあるので、N1とN2が両方ともフラッディングトポロジーフラグフィールドまたはFTビットを1に設定する場合、方法400は、N1とN2との間のリンクのフラッディングトポロジー不一致は存在しないと判定する。同様に、N1とN2との間のリンクが新しいフラッディングトポロジー上にないので、N1とN2が両方ともフラッディングトポロジーフラグフィールドまたはFTビットを0に設定する場合、方法400は、N1とN2との間のリンクのフラッディングトポロジー不一致は存在しないと判定する。一実施形態では、フラッディングトポロジー不一致が存在しない場合、方法400は、ステップ408において何のアクションも起こさない。
【0048】
方法400がN1とN2との間のリンクのフラッディングトポロジー不一致が存在する(たとえば、N1がFTビットを1に設定し、N2がFTビットを0に設定する)と判定する場合、方法400は、ステップ410において、新しいフラッディングトポロジー内の不一致を示すために、フラッディングトポロジー不一致フィールド(Iフィールド)をLSパケット内に(たとえば、1に)設定する。一実施形態では、方法400は、新しいフラッディングトポロジー内の不一致を示すために、フラッディングトポロジー不一致フィールド(Iフィールド)をLSパケット内に(たとえば、1に)設定する前に、N1とN2との間のリンクのフラッディングトポロジー不一致が所与の時間にわたって持続する(たとえば、不一致FTビット設定を含むデータパケットを60秒にわたり有した後)まで待機し得る。これは、ノードのうちの1つがそのフラッディングトポロジーを更新していない場合、フラッディングトポロジー不一致の誤った報告を防止し得る。LSパケットは、OSPFにおいてリンク状態広告(LSA)と呼ばれ、IS-ISにおいてリンク状態プロトコルデータユニット(PDU)と呼ばれる。
【0049】
方法400は、ステップ412において、フラッディングトポロジー不一致フィールド(Iフィールド)を含むLSをネットワーク内のノードに分散させ、それらのノードにN1とN2との間のリンクのフラッディングトポロジー不一致を気付かせる。いくつかの実施形態では、リーダーノードは、フラッディングトポロジー不一致フィールドを含むパケットの受信に応じて、新しいフラッディングトポロジーを算出し、再分散させ得る。
【0050】
図5は、本開示の一実施形態による、FTビットに対する符号化方式500を示す概略図である。一実施形態では、FTビット502は1(1)ビットである。代替実施形態では、FTビット502は、2つ以上のビットを使用して表されてよい。示した実施形態では、FTビット502がEOF-TLV510の拡張オプションおよびフラグ(EOF)フィールドの未使用ビット空間内に挿入される(例を、OSPF Helloに関して
図10に、IS-IS Helloに関して
図18に示す)。OSPFに対するEOF-TLVは、RFC5613において定義されている。OSPFの場合、EOF-TLV510がOSPF Helloパケット520内に挿入され、隣接ノードに送られ得る。IS-ISの場合、EOF-TLV510がIS-IS Helloパケット530内に挿入され、隣接ノードに送られ得る。
【0051】
図6は、本開示の別の実施形態による、FTビット602に対する符号化方式600を示す概略図である。FTビット602は、
図5のFTビット502と同様である。示した実施形態では、FTビット602は、新たに定義されたリンク属性サブTLV 610の未使用ビット空間内に挿入される(例を
図12に示す)。
【0052】
一実施形態では、OSPFv2の場合、新しいリンク属性サブTLV610がRFC3630において定義されているリンクTLV620内に含まれ得る(例を
図13に示す)。リンクTLV620は、リンクがアタッチされたノードによって発信されたOSPFv2トラフィックエンジニアリング(TE)オペークLSA640内に含まれ得る(例を
図14に示す)。OSPFv2 TEオペークLSA640は、ネットワーク内の他のノードに送られる。
【0053】
別の実施形態では、OSPFv2の場合、新しいリンク属性サブTLV610がRFC7684において定義されているOSPFv2拡張リンクTLV630内に含まれ得る(例を
図15に示す)。一実施形態では、2つのTLV(リンクTLV620またはOSPFv2拡張リンクTLV630)のうちの1つのみがネットワーク内で分散される場合、リンク属性サブTLV610は、ネットワーク内で分散されるTLV内に含まれることになる。たとえば、リンクに対してリンクTLV620のみがネットワーク内で分散される(すなわち、リンクに対する拡張リンクTLVが分散されない)とき、リンク属性サブTLV610はリンクに対するリンクTLV620内に含まれ、リンクTLV620は、ネットワーク内で、TEオペークLSA内で広告される。代替的に、一実施形態では、2つのTLV(リンクTLV620またはOSPFv2拡張リンクTLV630)のうちの1つのみがネットワーク内で分散される場合、リンク属性サブTLV610は、OSPFv2拡張リンクTLV630内に含まれることになり、OSPFv2拡張リンクTLV630は、次いで、ネットワーク内で拡張リンクオペークLSAを使用して分散される。一実施形態では、両方のTLVがネットワーク内で分散される(すなわち、リンクに対するリンクTLV620およびリンクに対するOSPFv2拡張リンクTLV630がネットワーク内で分散される)場合、リンク属性サブTLV610は、OSPFv2拡張リンクTLV630内に単に含まれることになり、OSPFv2拡張リンクTLV630は、ネットワーク内で、拡張リンクオペークLSA内で広告される。代替的に、別の実施形態では、両方のTLVがネットワーク内で分散される(すなわち、リンクに対するリンクTLV620およびリンクに対するOSPFv2拡張リンクTLV630がネットワーク内で分散される)場合、リンク属性サブTLV610は、リンクTLV620内に単に含まれることになる。好ましい実施形態では、2つのTLVのうちのいずれもネットワーク内で分散されない場合、リンク属性サブTLV610は、OSPFv2拡張リンクTLV630内に含まれることになり、OSPFv2拡張リンクTLV630は、次いで、ネットワーク内で拡張リンクオペークLSAを使用して分散される。
【0054】
OSPFv2拡張リンクTLV630を含むOSPFv2拡張リンクオペークLSA650(例を
図16に示す)は、そのリンクがアタッチされたノードによって発信される。OSPFv2延長リンクオペークLSA650は、ネットワーク内の他のノードに送られる。
【0055】
図7は、本開示の別の実施形態による、FTビット702に対する符号化方式700を示す概略図である。FTビット702は、
図5のFTビット502と同様である。示した実施形態では、IS-ISの場合、FTビット702は、リンク属性サブTLV710の未使用ビット空間内に挿入される。リンク属性サブTLV710は、RFC5029において定義されている(例を
図20に示す)。一実施形態では、リンク属性サブTLV710は、拡張IS到達可能性TLV720内で搬送される。拡張IS到達可能性TLVは、RFC5305において定義されているTLVタイプ22である。一実施形態では、拡張IS到達可能性TLVは、ノードに送信されるLSパケット730内で搬送される。
【0056】
図8は、本開示の一実施形態による、フラッディングトポロジー不一致フィールドまたはビット(Iビット)810に対する符号化方式800を示す概略図である。示した実装形態では、新しいビット810は、OSPFフラッディング低減情報TLV820内で定義される。フラッディング低減の場合、すべてのノードは、リーダーになるためのその優先度を含むOSPFフラッディング低減情報TLV820を含むルータ情報(RI)LSA830を発信する。一実施形態では、ノードがIビット810をそのRI LSA830内で1に設定するとき、それは、フラッディングトポロジーが不一致であることを示す。
【0057】
図9は、本開示の別の実施形態による、Iビット910に対する符号化方式900を示す概略図である。一実施形態では、Iビット910は1(1)ビットである。代替実施形態では、Iビット910は、2つ以上のビットを使用して表されてよい。示した実施形態では、Iビット910は、IS-ISフラッディング低減情報TLV920の未使用ビット空間内に挿入される(例を
図21に示す)。OSPF同様、フラッディング低減の場合、すべてのノードは、リーダーになるためのその優先度を含むIS-ISフラッディング低減情報TLV930を有するLSPを発信する。一実施形態では、ノードがIビット910をそのLSP内で1に設定するとき、それは、フラッディングトポロジーが不一致であることを示す。
【0058】
図10は、本開示の別の実施形態による、EOF-TLV1000を示す概略図である。一実施形態では、EOF-TLV1000は、OSPF helloパケット内に含まれる。OSPFは、リンク状態ドメイン内ルーティングプロトコルである。OSPFルータは、明確な固定フォーマットに従うパケットを使用してリンクに関する情報を交換する。OSPFでは、Helloパケットは、ネットワーク隣接関係を確立および確認するためにルータから周期的に送られる特殊パケット(メッセージ)である。ブロードキャストまたはマルチキャスト送信が可能なネットワーク上で、Helloパケットは、近接ルータを発見するために、ルータから他のルータに同時に送られ得る。たとえば、OSPF Helloパケットは、EOF-TLV1000を含むリンクローカルシグナリング(LLS)データブロックを含み得る。EOF-TLV1000は、LLSデータブロック内に一回のみ出現し得る。EOF-TLV1000は、RFC5613において定義されている。
【0059】
EOF-TLV1000内のタイプフィールド1002の値は、それがEOF-TLVであることを示すために1である。EOF-TLV1000内の値フィールド1004の長さは、4バイトである。値フィールド1004内のビットは、LLS機構の観点からいかなるセマンティックも有さない。ビットは、OSPFリンクローカル能力を告知するために割り振られ得る。ビットは、ブーリアンリンクローカルシグナリングを実行するために割り振られ得る。
【0060】
EOF-TLV1000は、一定のオプションおよび/またはフラグ設定を搬送するために使用され得る拡張オプションおよびフラグ(EOF)フィールド1006を含む。たとえば、現在、OSPFアウトオブバンド(OOB)リンク状態データベース(LSDB)再同期およびOSPF再開シグナリングは、EOF-TLV1000の拡張オプションフィールド内でビットを使用する。
【0061】
図11は、本開示の別の実施形態による、拡張オプションおよびフラグフィールド1100を示す概略図である。拡張オプションおよびフラグフィールド1100は、
図10のEOF-TLV1000などのEOF-TLV内に含まれ得る。FTフラグフィールド1102は、拡張オプションおよびフラグフィールド1100内に含まれる。上記で説明したように、FTフラグフィールド1102は、第1のノードと第2のノートとの間のリンクがフラッディングトポロジー上にあるかどうかを示すために使用される。たとえば、第1のノードと第2のノードとの間のリンクが第1のノードによって計算された新しいフラッディングトポロジーである場合、第1のノードは、第1のノードと第2のノードとの間のリンクが新しいフラッディングトポロジー上にあることを反映するためにFTフラグフィールド1102を1(1)に設定し得る。
【0062】
示した実施形態では、FTフラグフィールド1102は、拡張オプションおよびフラグフィールド1100内の第26のビット位置において1ビットを使用する。他の実施形態では、FTフラグフィールド1102は、拡張オプションおよびフラグフィールド1100内の任意の未使用ビット位置を使用し得る。さらに、いくつかの実施形態では、FTフラグフィールド1102は、拡張オプションおよびフラグフィールド1100内の2つ以上のビットを使用し得る。
【0063】
図12は、本開示の別の実施形態による、リンク属性サブTLV1200を示す概略図である。リンク属性サブTLV1200は、
図6で論じた新たに定義されたリンク属性サブTLV 610の一例である。リンク属性サブTLV1200は新しいため、リンク属性サブTLV1200のタイプフィールド1202に対するタイプ値は未定(TBD)である。タイプ値は、データ構造がリンク属性サブTLVであることを示す。一実施形態では、リンク属性サブTLV1200の長さフィールド1204は、4(4)の値を有する。リンク属性サブTLV1202は、拡張オプションおよびフラグフィールド1206を含む。FTビット1208(
図5のFTビット502と同様)は、拡張オプションおよびフラグフィールド1206の未使用ビット空間内に挿入される。一実施形態では、FTビット1208は、第1のノードと第2のノードとの間のリンクが新しいフラッディングトポロジー上にあることを示すために、1(1)に設定され、第1のノードと第2のノードとの間のリンクが新しいフラッディングトポロジー上にないことを示すために、ゼロ(0)に設定される。
【0064】
図13は、本開示の別の実施形態による、リンクTLV1300を示す概略図である。一実施形態では、リンクTLV1300はRFC3630において定義されている。リンクTLV1300は、それがリンクTLVデータ構造であることを示すために2(2)の値を含むタイプフィールド1302を含む。リンクTLV1300は、リンクTLV1300の長さを示すための長さフィールド1304を含む。一実施形態では、リンクTLV1300は、FTビット(たとえば、FTビット1206)を含むリンク属性サブTLV1306(たとえば、リンク属性サブTLV1200)を含み得る。
【0065】
図14は、本開示の別の実施形態による、OSPFv2トラフィックエンジニアリング(TE)オペークリンク状態広告(LSA)1400を示す概略図である。一実施形態では、OSPFv2の場合、FTビット1208を含む新しいリンク属性サブTLV1200を搬送するリンクTLV1300は、OSPFv2 TEオペークLSA1400内に含まれる。OSPFv2 TEオペークLSA1400は、そのリンクがアタッチされたノードによって発信される。OSPFv2 TEオペークLSA1400は、ネットワーク内の他のノードに送られる。
【0066】
OSPFv2 TEオペークLSA1400は、標準LSAヘッダと、続いて、32ビット整列特定用途向け情報フィールドとを含む。標準LSAヘッダは、LS寿命フィールド1402、オプションフィールド1404、LSタイプフィールド1406、オペークタイプフィールド(1)1408、インスタンスID(識別子)フィールド1410、広告ルータフィールド1412、LSシーケンス番号フィールド1414、LSチェックサムフィールド1416、および長さフィールド1418を含む。リンクTLVフィールド1420は、OSPFv2 TEオペークLSA1400の特定用途向け情報フィールドである。LS寿命フィールド1402は、LSAが発信されてからの時間を秒単位で示す。オプションフィールド1404は、OSPFルータが随意の能力をサポートし(またはサポートせず)、その能力レベルを他のOSPFルータに通信することを可能にする。オプションフィールド1404内で指定され得るオプションの例は、RFC5250において説明されている。LSタイプフィールド1406は、LSAのトポロジー分散/リンク状態広告範囲を識別する。この範囲は、フラッディング範囲と呼ばれる。オペークLSAは、タイプ9、10、または11のリンク状態広告を有し得る。9の値は、リンクローカル範囲を示す。リンクローカル範囲を有するオペークLSAは、ローカルネットワークまたはサブネットワークを超えてフラッディングされない。10の値はエリアローカル範囲を示す。エリアローカル範囲を有するオペークLSAは、その起源エリアを超えてフラッディングされない。11の値は、LSAが自律システム(AS)全体でフラッディングされることを示す。AS全体にわたる範囲を有するオペークLSAは、スタブエリアまたはそれほどスタブではないエリア(NSSA:not-so-stubby area)にフラッディングされない。一実施形態では、OSPFv2 TEオペークLSA1400のLSタイプフィールド1406は、エリアローカルフラッディング範囲を示すために、10(10)に設定される。タイプ10オペークLSAは、それらの関連するエリアの境界を超えてフラッディングされない。オペークタイプフィールド1408は、OSPFv2 TEオペークLSA1400のタイプデータを示す。インスタンスIDフィールド1410は、複数のトラフィックエンジニアリングLSAを保持するために使用される。広告ルータフィールド1412は、LSAを発信したルータのルータIDを示す。たとえば、ネットワークLSA内で、このフィールドは、ネットワークの指定されたルータのルータIDに等しい。LSシーケンス番号フィールド1414は、LSAのシーケンス番号を示す。LSAの連続インスタンスには、連続LSシーケンス番号が与えられる。シーケンス番号は、古いまたは重複LSAインスタンスを検出するために使用され得る。LSチェックサムフィールド1416は、LSAヘッダを含むが、LS寿命フィールド1402を除く、LSAの完全コンテンツのチェックサムを提供する。長さフィールド1418は、OSPFv2 TEオペークLSA1400の長さをバイト単位で示す。リンクTLVフィールド1420は、
図13のリンクTLV1300など、リンクTLVを搬送するために使用される。
【0067】
図15は、本開示の別の実施形態による、OSPFv2拡張リンクTLV1500を示す概略図である。別の実施形態では、OSPFv2の場合、新しいリンク属性サブTLV1200は、OSPFv2拡張リンクTLV1500内で搬送され得る。OSPFv2拡張リンクTLV1500は、リンクの様々な属性を広告するために使用される。OSPFv2拡張リンクTLV1500は、単一のリンクについて記述し、サブTLVのセットで構成される。
【0068】
OSPFv2拡張リンクTLV1500は、タイプフィールド1502、長さフィールド1504、リンクタイプフィールド1506、予約済みフィールド1508、リンクIDフィールド1510、リンクデータフィールド1512、およびリンク属性サブTLVフィールド1514を含む。タイプフィールド1502は、TLVタイプを示す。値は、このTLVタイプに対して1(1)である。長さフィールド1504は、OSPFv2拡張リンクTLV1500の長さを示す。OSPFv2拡張リンクTLV1500の長さは、OSPFv2拡張リンクTLV1500によって搬送されるサブTLVに応じて変化する(すなわち、固定されない)。リンクタイプフィールド1506は、ルータリンクタイプを示す。たとえば、タイプ1は、別のルータに対するポイントツーポイント接続を示し、タイプ2は、トランジットネットワークに対する接続を示し、タイプ3は、スタブネットワークに対する接続を示し、タイプ4は、仮想リンクを示す。予約済みフィールド1508は、将来の使用のために予約される。リンクLDフィールド1510は、このルータリンクが接続するオブジェクトを識別する。値は、リンクのタイプに依存する。LSA(すなわち、別のルータまたはトランジットネットワーク)をやはり発信するオブジェクトに接続するとき、リンクIDは、近接LSAのリンク状態IDに等しい。リンクデータフィールド1512は、次のホップのインターネットプロトコル(IP)アドレスを算出するために使用される。リンクデータフィールド1512の値は、リンクのタイプフィールドに依存する。スタブネットワークに対する接続の場合、リンクデータフィールド1512は、ネットワークのIPアドレスマスクを指定する。アンナンバードポイントツーポイント接続の場合、リンクデータフィールド1512は、インターフェースのMIB-II ifIndex値を指定する。他のリンクタイプの場合、リンクデータフィールド1512は、ルータインターフェースのIPアドレスを指定する。リンク属性サブTLVフィールド1514は、
図12で説明した新しいリンク属性サブTLV1200を搬送するために使用される。
【0069】
OSPFv2拡張リンクTLV1500は、OSPFv2拡張リンクオペークLSA内で搬送され得る。一例として、
図16は、本開示の一実施形態による、OSPFv2拡張リンクオペークLSA1600を示す概略図である。OSPFv2延長リンクオペークLSA1600は、そのリンクがアタッチされたノードによって発信される。OSPFv2拡張リンクオペークLSA1600は、標準LSAヘッダを含む、LS寿命フィールド1602、オプションフィールド1604、LSタイプフィールド1606、オペークタイプフィールド1608、インスタンスIDフィールド1610、広告ルータフィールド1612、LSシーケンス番号フィールド1616、LSチェックサムフィールド1616、および長さフィールド1618を含む。標準LSAヘッダフィールドの各々に関する説明は、
図14で説明した対応するフィールドと同様である。
【0070】
OSPFv2拡張リンクオペークLSA1600は、
図15で説明したOSPFv2拡張リンクTLV1500などのOSPFv2拡張リンクTLVを搬送するために使用される拡張リンクTLVフィールド1620を含む。
【0071】
図17は、本開示の別の実施形態による、OSPFフラッディング低減情報(RI)TLV1700を示す概略図である。OSPFフラッディングRI TLV1700は、ノードのフラッディング低減に関する情報を含む。一実施形態では、OSPFフラッディングRI TLV1700は、ルータ情報(RI)LSA内に含まれ得る。フラッディング低減の場合、すべてのノードは、リーダーになるためのその優先度を含むOSPFフラッディングRI TLV1700を有するRI LSAを発信する。
【0072】
OSPFフラッディングRI TLV1700は、INFO-TLVタイプフィールド1702、TLV長さフィールド1704、優先度フィールド1706、予約済みフィールド1708、および随意のサブTLVフィールド1710を含む。INFO-TLVタイプフィールド1702は、フラッディング低減に関する命令を含むフラッディング低減命令TLV(または、略して命令TLV)としてOSPFフラッディングRI TLV1700を識別する値を含む。TLV長さフィールド1704は、OSPFフラッディングRI TLV1700の長さをバイト単位で指定する。優先度フィールド1706は、8個のビットからなり、集中モードでリーダーノードになるためにOSPFフラッディングRI TLV1700を発信するノードの優先度を示すために使用される。予約済みフィールド1708は、将来の使用のために予約されるビットを含む。随意のサブTLVフィールド1710は、随意のサブTLVを搬送するために使用される。
【0073】
一実施形態によれば、OSPFフラッディングRI TLV1700は、IフィールドまたはIビット1712と呼ばれる、新しいフラッディングトポロジー不一致フィールド、フラグ、またはビットに対して予約済みフィールド1708内の未使用の1つまたは複数の予約済みビットを使用する。一実施形態では、ノードがIビット1712をそのRI LSA内で1に設定するとき、それは、フラッディングトポロジーが不一致であることを示す。
【0074】
図18は、本開示の別の実施形態による、EOF-TLV1800を示す概略図である。一実施形態では、EOF-TLV1800は、IS-IS helloパケット内に含まれる。IS-ISは、パケット交換ネットワークを通してデータに対する最良のルートを判定することによって、情報をコンピュータネットワーク内で効率的に移動させるように設計されたルーティングプロトコルである。IS-IS Helloパケットは、IS-IS近隣間で隣接関係を確立し保持するために使用される。EOF-TLV1800は、タイプフィールド1802、長さフィールド1804、および拡張オプションおよびフラグ(EOF)フィールド1808を含む。EOF-TLV1800は新しいTLVであるので、EOF-TLV1800内のタイプフィールド1802の値は未定(TBD)である。EOF-TLV1800内の長さフィールド1804の長さは、4バイトである。EOFフィールド1808は、特定のオプションおよび/またはフラグセットを搬送するために使用され得る。
【0075】
一例として、
図19を参照すると、新しいFTビット1902は、EOF-TLV1800のEOFフィールド1808のフィールド内で定義される。FTビット1902は、EOFフィールド1808の任意の未使用ビットに割り当てられてよい。一実施形態では、ノードBがリンクを介してその隣接ノードAからHelloパケットを受信するとき、FTビット1902がHelloパケット内で1(1)に設定されている場合、それは、ノードAの観点から、リンクがフラッディングトポロジー上にあることを示すことになる(ゼロ(0)に設定されている場合、それは、ノードAの観点から、リンクがフラッディングトポロジー上にないことを意味する)。同様に、ノードAがリンクを介してその隣接ノードBからHelloパケットを受信するとき、FTビット1902がHelloパケット内で1(1)に設定されている場合、それは、ノードBの観点から、リンクがフラッディングトポロジー上にあることを示すことになる(ゼロ(0)に設定される場合、それは、ノードBの観点から、リンクがフラッディングトポロジー上にないことを意味する)。
【0076】
図20は、本開示の別の実施形態による、IS-ISリンク属性サブTLV2000を示す概略図である。標準IS-ISリンク属性サブTLVは、RFC5029において定義されている。IS-ISリンク属性サブTLV2000は、サブタイプフィールド2002、長さフィールド2004、およびフラグフィールド2006を含む。サブタイプフィールド2002は、8ビットであり、長さフィールド2004は、8ビットであり、フラグフィールド2006は、16個のビットからなる。リンク属性サブタイプは19であり、リンク属性は、2オクテットの長さを有する。一実施形態では、ノードは、IS-ISリンク属性サブTLV2000内で新たに定義されたFTビット2008を使用して、FTリンク情報をネットワーク内の他のノードに分散させ得る。FTビット2008には、フラグフィールド2006内の任意の未使用ビットが割り当てられてよい。
【0077】
一実施形態では、IS-ISリンク属性サブTLV2000は、RFC3784において指定されている拡張IS到達可能性TLV(タイプ22)内で搬送され得る。拡張IS到達可能性TLVは、その場合、他のノードに送られるリンク状態パケット(LSP)内に含まれる。
【0078】
図21は、本開示の別の実施形態による、IS-ISフラッディング低減情報TLV2100を示す概略図である。IS-ISフラッディング低減情報TLV2100は、ノードのフラッディング低減に関する情報を含む。IS-ISと同様に、フラッディング低減の場合、すべてのノードは、リーダーになるためのその優先度を含むIS-ISフラッディング低減情報TLV2100を有するLSPを発信する。
【0079】
IS-ISフラッディング低減情報TLV2100は、INFタイプフィールド2102、長さフィールド2104、優先度フィールド2106、予約済みフィールド2108、および随意のサブTLVフィールド2110を含む。INFタイプフィールド2102は、フラッディング低減に関する命令を含むIS-ISフラッディング低減命令TLV(または、略して命令TLV)としてIS-ISフラッディング低減情報TLV2100を識別する値(TBD)を含む。TLV長さフィールド2104は、IS-ISフラッディング低減情報TLV2100の長さをバイト単位で指定する。優先度フィールド2106は、8個のビットからなり、集中モードでリーダーノードになるためにIS-ISフラッディング低減情報TLV2100を発信するノードの優先度を示すために使用される。予約済みフィールド2108は、将来の使用のために予約されるビットを含む。随意のサブTLVフィールド2110は、随意のサブTLVを搬送するために使用される。
【0080】
一実施形態によれば、IS-ISフラッディング低減情報TLV2100は、新しいフラッディングトポロジー不一致フィールド、フラグ、またはビットに対して予約済みフィールド2108内の1つまたは複数の未使用の予約済みビット(たとえば、Iビット2112)を使用する。一実施形態では、ノードがIビット2112をそのLSP内で1(1)に設定するとき、それは、フラッディングトポロジーが不一致であることを示す。
【0081】
図22は、本開示の別の実施形態による、ネットワークノード2200を示す概略図である。ネットワークノード2200は、本明細書で説明するような、開示する実施形態を実装するのに適している。たとえば、
図2のノードAおよび/またはノードBは、ネットワークノード2200を使用して実装され得る。ネットワークノード2200は、入口ポート2210を介してデータを受信するための、受信機ユニット(RX)2220または受信手段を含む。ネットワークノード2200は、データ出口ポート2250を介して送信するための、送信機ユニット(TX)2240または送信手段を含む。
【0082】
ネットワークノード2200は、命令および様々なデータを記憶するためのメモリ2260またはデータ記憶手段を含む。メモリ2260は、データおよび/または命令を記憶することが可能な任意のタイプのメモリまたは構成要素であってよい。たとえば、メモリ2260は、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、3値連想メモリ(TCAM:ternary content-addressable memory)、および/または静的ランダムアクセスメモリ(SRAM)など、揮発性および/または不揮発性メモリであってよい。メモリ2260は、1つまたは複数のディスク、テープドライブ、および固体ドライブを含んでもよく、プログラムが実行のために選択されるとき、そのようなプログラムを記憶し、プログラム実行中に読み取られる命令およびデータを記憶するために、オーバーフローデータ記憶装置として使用され得る。
【0083】
ネットワークノード2200は、命令を処理するためのプロセッサ2230または他の処理手段(たとえば、中央処理装置(CPU))を有する。プロセッサ2230は、1つまたは複数のCPUチップ、コア(たとえば、マルチコアプロセッサ)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、およびデジタル信号プロセッサ(DSP)として実装され得る。プロセッサ2230は、システムバスを介して、入口ポート2210、RX2220、TX2240、出口ポート2250、およびメモリ2260と通信可能に結合される。プロセッサ2230は、メモリ2260内に記憶された命令を実行するように構成され得る。したがって、プロセッサ2230は、適切な命令がプロセッサ2230によって実行されるとき、任意の計算、比較、判定、開始、もしくは構成(たとえば、FビットまたはIビットの設定)ステップ、または特許請求の範囲に対応する任意の他のアクションを実行するための手段を提供する。いくつかの実施形態では、メモリ2260は、プロセッサ2230内に組み込まれたメモリであってよい。
【0084】
一実施形態では、メモリ2260は、フラッディングトポロジー不一致検出および通知モジュール2270を記憶する。フラッディングトポロジー不一致検出および通知モジュール2270は、開示する実施形態を実装するためのデータおよび実行可能命令を含む。たとえば、フラッディングトポロジー不一致検出および通知モジュール2270は、
図3および
図4で説明した方法を実装するための命令を含み得る。フラッディングトポロジー不一致検出および通知モジュール2270の包含は、フラッディングトポロジー不一致の検出および通知を可能にすることによって、ネットワークノード2200の機能性を実質的に改善する。
【0085】
本開示においていくつかの実施形態が提供されているが、開示したシステムおよび方法は、本開示の趣旨または範囲から逸脱せずに、多くの他の特定の形態で実施され得ることを理解されたい。これらの例は、限定ではなく、例示と見なされるべきであり、本明細書で与えられる詳細に限定されることを意図しない。たとえば、様々な要素または構成要素は、別のシステムの中に組み合わされるかまたは組み込まれてよく、いくつかの特徴は、省略されてよいか、または実装されなくてもよい。
【0086】
加えて、個別または別個として様々な実施形態において説明および示した技法、システム、サブシステム、および方法は、本開示の範囲から逸脱せずに、他のシステム、モジュール、技法、または方法と組み合わされるかまたは組み込まれてよい。互いと結合される、もしくは直接的に結合される、または通信しているとして示したまたは論じた他の項目は、電気的であれ、機械的であれ、またはそれ以外であれ、何らかのインターフェース、デバイス、または中間構成要素を介して間接的に結合されるかまたは通信していてもよい。変更、代替、および改変の他の例は、当業者によって確認可能であり、本明細書で開示した趣旨および範囲から逸脱せずに、行われてよい。
【符号の説明】
【0087】
100,200 フラッディングトポロジー
202 リンク
204 FTビット
300,400 方法
500 符号化方式
502 FTビット
510 EOF-TLV
520 OSPF Helloパケット
530 IS-IS Helloパケット
600 符号化方式
602 FTビット
610 新たに定義されたリンク属性サブTLV、新しいリンク属性サブTLV、リンク属性サブTLV
620 リンクTLV
630 OSPFv2拡張リンクTLV
640 OSPFv2トラフィックエンジニアリング(TE)オペークLSA
650 OSPFv2拡張リンクオペークLSA
700 符号化方式
702 FTビット
710 リンク属性サブTLV
720 拡張IS到達可能性TLV
730 LSパケット
800 符号化方式
810 フラッディングトポロジー不一致フィールドまたはビット(Iビット)、新しいビット
820 OSPFフラッディング低減情報TLV
830 ルータ情報(RI)LSA
900 符号化方式
910 Iビット
920,930 IS-ISフラッディング低減情報TLV
1000 EOF-TLV
1002 タイプフィールド
1004 値フィールド
1006 拡張オプションおよびフラグ(EOF)フィールド
1100 拡張オプションおよびフラグフィールド
1102 FTフラグフィールド
1200 リンク属性サブTLV
1202 タイプフィールド
1204 長さフィールド
1206 拡張オプションおよびフラグフィールド
1208 FTビット
1300 リンクTLV
1302 タイプフィールド
1304 長さフィールド
1306 リンク属性サブTLV
1400 OSPFv2トラフィックエンジニアリング(TE)オペークリンク状態広告(LSA)
1402 LS寿命フィールド
1404 オプションフィールド
1406 LSタイプフィールド
1408 オペークタイプフィールド(1)
1410 インスタンスID(識別子)フィールド
1412 広告ルータフィールド
1414 LSシーケンス番号フィールド
1416 LSチェックサムフィールド
1418 長さフィールド
1420 リンクTLVフィールド
1500 OSPFv2拡張リンクTLV
1502 タイプフィールド
1504 長さフィールド
1506 リンクタイプフィールド
1508 予約済みフィールド
1510 リンクIDフィールド
1512 リンクデータフィールド
1514 リンク属性サブTLVフィールド
1600 OSPFv2拡張リンクオペークLSA
1602 LS寿命フィールド
1604 オプションフィールド
1606 LSタイプフィールド
1608 オペークタイプフィールド
1610 インスタンスIDフィールド
1612 広告ルータフィールド
1616 LSシーケンス番号フィールド、LSチェックサムフィールド
1618 長さフィールド
1620 拡張リンクTLVフィールド
1700 OSPFフラッディング低減情報(RI)TLV
1702 INFO-TLVタイプフィールド
1704 TLV長さフィールド
1706 優先度フィールド
1708 予約済みフィールド
1710 随意のサブTLVフィールド
1712 IフィールドまたはIビット
1800 EOF-TLV
1802 タイプフィールド
1804 長さフィールド
1808 拡張オプションおよびフラグ(EOF)フィールド
1902 FTビット、FTビット
2000 IS-ISリンク属性サブTLV
2002 サブタイプフィールド
2004 長さフィールド
2006 フラグフィールド
2100 IS-ISフラッディング低減情報TLV
2102 INFタイプフィールド
2104 長さフィールド
2106 優先度フィールド
2108 予約済みフィールド
2110 随意のサブTLVフィールド
2112 Iビット
2200 ネットワークノード
2210 入口ポート
2220 受信機ユニット(RX)
2230 プロセッサ
2240 送信機ユニット(TX)
2250 出口ポート
2260 メモリ
2270 フラッディングトポロジー不一致検出および通知モジュール
【外国語明細書】