IS-IS LSPの交換

ここではISがLSP交換する際の動作を説明します。概要ではLSP交換で何をやっているのかについて説明し、詳細ではフラグを使用した具体的な交換手順を説明します。

■概要

IS-ISの動作するISではルート情報を求めるための元になるLSPをエリア内のすべてのISで共有しておかなければなりません。そのためエリア内のすべてのISが持つ隣接関係からなるLSPを同じ状態に保つために交換と維持の動作を行います。ここではISがLSP交換にあたってどのようなことを行っているのかを説明します。

LSP交換の対象と範囲

IS-ISで交換する対象はLSPです。LSPにはISの持つ隣接(ISに対する隣接、ESに対する隣接、自分への隣接、プレフィックスに対する隣接など)が含まれます。エリアやレベル2のサブドメイン内では個々のISが持つLSPをエリア内のすべてのISと交換することでそのエリアに関するDBを構築しルート計算ができるようになります。LSPの交換はエリアやレベル内に限定されるため、LSPエリアを超えて伝搬されることはありません。例えば下図のように2つのエリアがレベル2サブドメインで接続されているネットワークの場合は、LSPは各サブドメイン内で行われますがLSPがエリアやレベルを超えることはありません。

ポイントツーポイント回線の交換手順

ポイントツーポイント回線の基本動作は、LSPを送信し確認応答としてPSNPを受信するというものです。この動作に合わせて回線がアップした際などの初期化時にはCSNPを送信して相手との整合性を確認する動作を行います。

上図のIS1とIS2がLSPを交換する場合で、IS1がLSPを送信しIS2が受け入れる場合の動作は次のようになります。

1)IS1は自分の持つLSPをIS2へと送信します。この環境でIS1が持つLSPは自身のLSPとES1がつながった回線のDISとして作成した疑似ノードのLSPですが、ほかのISから受け取ったLSPがある場合はそれも送信対象となります。

IS2はLSPを受信し自身のデータベースに保存します。

2)LSPを受信したIS2は確認応答としてPSNPを送信します。PSNPには受信したLSPのLSP IDが含まれていてPSNPを受信したIS1は自分が送った2つのLSPが正常に受信されたことを認識します。

ここで説明した動作はIS1のLSPの同期動作ですが、IS2では逆向きに同様の動作が行われてLSPが交換されます。

ブロードキャスト回線の交換手順

ブロードキャスト回線の基本動作はDISがCSNPを定期的にマルチキャストし、その後PSNPを受信することでLSPの過不足を確認するというものです。ブロードキャスト回線では基本的にLSPは個々のISがマルチキャストすることで回線内のISに伝達されます。DISが行うのは回線内のISの状態を一定に保つ役割で、各ISからPSNPによって不足の連絡を受け取るとLSPを再送します。不足があるかどうかを確認するためにCSNPを一定間隔で送信します。

上図のブロードキャスト回線に接したIS2、IS3、IS4で、DISであるIS2の持つLSPをIS3とIS4が同期する場合は次のようになります。

1)DISであるIS2は現在保持するLSPのリストをCSNPでマルチキャストします。CSNPを受信したほかのISは自分がDISと同じ状態かどうかチェックします。

2)IS3、IS4はLSPに不足があればPSNPをマルチキャストすることによってDISに通知します。下図ではすべてのLSPを持っていなかったとしてPSNPを送信しています。

3)DISはPSNPによって不足していると通知されたLSPをマルチキャストします。各ISはLSPを受信するとデータベースに登録します。この際ポイントツーポイント回線のような確認応答はありません。

マルチキャストに使われるアドレス

IS-ISがブロードキャスト回線でEthernetを使用する場合のマルチキャストアドレスは隣接関係と同じ以下のアドレスが使用されます。上の環境ではレベル1通信のためALL L1 ISのアドレスが使用されます。

レベル1 LSP(All L1 IS) 01-80-C2-00-00-14 全てのL1ISへ送信
レベル2 LSP(All L2 IS) 01-80-C2-00-00-15 全てのL2ISへ送信

タイマー

上で説明したLSPの交換手順はタイマーによって制御されます。下図は各タイマーとその役割を示したものです。基本的に送信に関するタイマーには25%のジッタが適用されるため、実際の値よりも小さくなる可能性があります。

下図のMaxAge(5)はLSPが作成された時点でLSPに含められるため、正確にはIS1で作成されてからの秒数です。

  タイマー 説明 時間
1 minimumLSPGenerationInterval 最小LSP再生成時間:この時間内はLSPを再作成してはならない 30秒
2 maximumLSPGenerationInterval 最大LSP再生成時間:LSPを再作成するまでに経過できる時間。 この時間内にLSPを再作成しなければならない。 MaxAgeよりも小さくなければならない 900秒
3 minimumBroadcastLSPTransmissionInterval LSP送信ギャップ:複数のLSPを送信する際に設けるLSPの間隔 33ミリ秒
4 minimumLSPTransmissionInterval 再送間隔:LSP損失などの場合に再送する間隔 minimumLSPGenerationIntervalよりも小さくする必要がある 5秒
5 MaxAge LSPの寿命:ソースISが作成してから経過した時間 0になると無効になる 1200秒
6 ZeroAgeLifetime LSPの生存時間:無効になったLSPが削除されるまでに保持される時間 MaxAge × 2
7 partialSNPInterval PSNPの送信アクションを起こす間隔 2秒
8 CompleteSNPInterval CSNPの送信アクションを起こす間隔 10秒

認証

LSPの交換には認証オプションを含めることができます。IS-ISがサポートする認証はクリアテキストパスワードのみで、偶発的な誤設定からの保護のみを提供します。受信したLSPのパスワードが自分のものと合わない場合LSPは削除されます。

認証のオプションの使い方はIIHと同じになります。詳しくは「IS-IS 隣接関係」ページのISとの隣接関係の最後を参照して下さい。

■詳細

LSPの交換はフラグによって制御されています。ここからは具体的なLSPの交換の様子をフラグによる制御の元どのように行われるのかを見ていきます。はじめにフラグの種類と動作について説明し、その後ポイントツーポイント回線とブロードキャスト回線でどのようにLSPが交換されるのかを見ていきます。

フラグの付与と動作

概要で説明しているようにLSPの交換はLSP、PSNP、CSNPの3つによって行われますが、すべてのPDUはフラグによって制御されます。しかしそのフラグの付与操作そのものがPDUの送受信によって行われるためPDUとフラグは相補的な関係を持っています。フラグの設定基準はLSP、PSNPに関連する動作とCSNPが行う動作は性質が少し異なっているため、以下では初めにフラグとLSP、PSNPとの関わりを説明した後に、CSNPの役割を説明します。

フラグの種類

フラグの種類はSRM(Send Routing Message)とSSN(Send Sequence Numbers)の2つです。SRMがLSPの送信、SSNがPSNPの送信をする意味を持ちます。それぞれのフラグは該当するLSPの関係するインターフェースに設定されます。LSPの関係するインターフェースにSRMフラグが設定されるとLSPがそのインターフェースから送信されます。同様にLSPの関連するインターフェースにSSNフラグが設定されるとPSNPがそのインターフェースから送信されます。送信は概要で説明しているタイマーが満了するタイミングで行われます。

 

フラグ 意味
SRM(Send Routing Message) LSPを送信する
SSN(Send Sequence Numbers) PSNPを送信する

フラグの付与と削除

2つのフラグの付与・削除は各PDUの受信・送信に伴って行われます。基本的な付与、削除基準は以下のようになっています。

SRMフラグ 付与基準

・新しいLSPの発生・受信で、全てもしくは受信したインターフェース以外のインターフェースに付与

・CSNPの受信で相手に足りていないLSPに付与
削除基準

・ポイントツーポイント回線の場合、SNPを受信すると削除

・ブロードキャストの場合、LSPを送信すると削除
SSNフラグ 付与基準

・ポイントツーポイント回線のみLSPを受信したインターフェースに付与

・CSNPの受信で自分に足りていないLSPに付与

削除基準 ・SNPを送信すると削除

上表の動作を実例に置き換えると次に示すような動作になります。動作の概略は、ポイントツーポイント回線では確認応答としてPSNPを送信するためのSSNフラグが必要になり、ブロードキャスト回線では確認応答が不要であるためSSNフラグは不要であるというものです。

1)IS1でLSPが生成される

2)IS1のIF1にSRMフラグが付く ⇒ LSPを送信

3)IS2のIF1でLSPを受信 ⇒ IF1にSSNフラグが付く、IF2にSRMフラグが付く

4)IS2でIF2からLSPを送信 ⇒ SRMフラグを削除

5)IS2でIF1からPSNPを送信 ⇒ SSNフラグを削除

6)IS1でIF1からPSNPを受信 ⇒ SRMフラグを削除

CSNPの動作

次にCSNP(Complete Sequence Numbers PDU)の役割について説明します。上記ではLSP、PSNPとSRM、SSNフラグの関係について説明しましたが、その関係に加えてCSNPが以下の動作を行います。CSNPの役割は自分に足りていないLSPと相手に足りていないLSPの確認です。

CSNPの送信タイミング

CSNPの送信はフラグによる制御は行われず、次のような状態のときに送信されます。

・ポイントツーポイント回線ではLSP交換の初期化時に送信する

・ブロードキャスト回線ではDISが定期送信する

CSNP受信時の動作

ISはCSNPを受信するとCSNPと自分のLSPを比較し以下のようにフラグを設定します(前出の表を合わせて参照)。SSNもしくはSRMフラグを設定するとPSNPかLSPの送信をすることになり、上で説明したPDU送信の動作につながります。もし設定するLSPを保持していない場合はシーケンスナンバーが0のLSPを仮に作成します。

このCSNPの受信時の動作はポイントツーポイント回線とブロードキャスト回線で同じです。下図ではポイントツーポイント回線の例を示しています。

・自分に足りていないLSPを認識 ⇒ SSNフラグを設定(PSNPの送信につながる)

・相手に足りていないLSPを認識 ⇒ SRMフラグを設定(LSPの送信につながる)

LSP交換の詳細(ポイントツーポイント)

下図の環境でIS1とIS2間のLSPの交換手順を説明します。LSP交換の終盤でブロードキャスト回線の同期が完了した想定です。各PDUの送信タイミングはタイマーによって制御されますが、ここでは動作の理解を優先して考慮しません。

隣接関係になった状態のIS1とIS2は下図のようにLSPを保持しています。この双方が持つLSPは本来回線がUPするとSRMフラグが付き送信に備えますが、のちの動作を説明するためフラグが消えた状態から始めます。SNはシーケンスナンバーを意味していて実態のあるLSPのSNは1から始まります。

初めにCSNPが送信されます。ポイントツーポイント回線におけるCSNPは初期化時に1度だけ送信されます。下図では先にIS1が送信していますが、25%のジッタが適用されるためどちらが先に送信するかは決まっていません。

CSNPには現在保持するLSPの一覧が含まれていて受信したIS2は自分の保持するLSPとCSNPを比較し、不一致(自分に足りていないLSPと相手に足りていないLSP)を把握します。IS2はCSNPに含まれたIS1.00-00とIS1.01-00を持っていないため自分に足りていないLSPと判断しSSNフラグを設定し、逆にCSNPにIS2.00-00が含まれていないため相手に足りていないLSPと判断しSRMフラグを設定します。

この時IS1.00-00とIS1.01-00はLSP自体が存在しないためシーケンスナンバーが0の仮のLSPを作成しSSNフラグを設定します。シーケンスナンバーが0のLSPに対するSSNフラグはLSP要求の意味を持ちます。LSPに対するSRMフラグはLSPの送信の意味を持ちます。

同じようにIS2からもCSNPが送信されます。CSNPを受信したIS1は上記と同じように動作し下図のように仮のLSPとフラグを設定します。

次にフラグに従ってLSPを相手に送信します。前のCSNPの交換でお互いに足りていないLSPを把握できたため、SRMフラグのついたLSPを対象として送信します。下図ではIS2がSRMフラグのついたLSPとしてIS2.00-00を送信しています。このLSPを受信したIS1は仮のLSPに上書きしシーケンスナンバーも受信した値に更新されます。この時双方のISのフラグには変化はありませんが、IS1のIS2.00-00のシーケンスナンバーが0から1(1以上)に変化したことでSSNフラグの持つ意味がLSPの要求から確認応答へと変化します。

IS1からも同様にSRMフラグのついたLSPを送信します。上と同様にIS2ではLSPを上書きします。

続いてPSNPが送信されます。下図ではIS1がSSNフラグのついたLSPであるIS2.00-00のPSNPを送信しています。このLSPは相手から受け取ったLSPであるため、LSPに対する確認応答の意味を持ちます。ポイントツーポイント回線におけるPSNPは確認応答とLSP要求の役割で使用されますが、ここでは確認応答として使用されます。この時、IS1のSSNフラグが削除され、PSNPを受信したIS2ではSRMフラグが削除されます。

IS1と同様にIS2からもPSNPを送信します。対象となるLSPはIS1.00-00とIS1.01-00です。それぞれSSN、SRMフラグが削除されてポイントツーポイントのLSPの同期はひとまず完了です。

その後ブロードキャスト回線で同期が完了するとIS2に新たにLSPが追加・更新されます。新しく追加されたLSPには現在注目しているポイントツーポイント回線に対するSRMフラグが設定され送信タイミングを待ちます。また更新されたLSPが存在する場合はシーケンスナンバーがインクリメントされます。下図ではIS2のSRMフラグが設定された中で、IS2.00-00が更新されたLSPでそれ以外のLSPが新規のLSPです。

IS2よりSRMが設定されたLSPが送信されます。受信したIS1では更新されたLSPが上書きされ、新しいLSPが登録されてSSNフラグが設定されます。

IS1でSSNフラグが設定されたLSPのPSNPがIS2に向けて送信されます。このPSNPは確認応答の意味を持ちます。PSNPを送信すると同時にSSNフラグが削除されます。IS2ではPSNPで受け取ったLSP番号のLSPに対するSSNフラグを削除されて同期が完了します。

LSP交換の詳細 (ブロードキャスト)

下図のブロードキャスト回線のLSP交換を説明します。はじめにブロードキャスト回線での同期を行い、その後ポイントツーポイント回線の同期が完了することを想定します。IS4はL1L2 ISですが、異なるレベルのLSPが交わることはありませんのでここではレベル2については考慮に入りません。

初期は下図のようにそれぞれのISにLSPが存在します。ここまでは回線がアップして隣接関係を築き、隣接関係からLSPを作成しSRMが設定された状態です。IIHの交換によってこの回線のDISはIS2と決まりました。

IS2が接するポイントツーポイント回線が同時に隣接状態になっているとIS2のIS2.00-00の隣接情報にはIS1の情報が含まれるはずですが、ここではポイントツーポイント回線は途中から隣接になる想定でIS1の隣接情報は含まれません。

初めにSRMフラグがついているLSPをマルチキャストします。下図ではIS2が送信していますが、25%のジッタが適用されるためどのISが先に送信するかは決まっていません。IS2はLSPを送信するとSRMフラグを削除します。LSPを受信したIS3、IS4はLSPをDBに登録しますがフラグは設定されません。

IS3からも同様にLSPを送信しSRMフラグを削除し、受け取ったIS2、IS4はDBに登録を行います。

IS4でも同様にLSPを送信しSRMフラグを削除します。受け取ったIS2、IS3はDBに登録を行います。この時点で初期の同期は完了です。

この後はIS2が定期的にCSNPを送信することでLSPの不一致を確認することになります。

その後ポイントツーポイント回線で同期が完了するとIS2に新たにLSPが追加・更新されます。新しく追加されたLSPには現在注目しているブロードキャスト回線に対するSRMフラグが設定され送信タイミングを待ちます。また更新されたLSPが存在する場合はシーケンスナンバーがインクリメントされます。下図ではIS2のSRMフラグが設定された中で、IS2.00-00が更新されたLSPでそれ以外のLSPが新規のLSPです。

次の動作はIS2のCSNPとLSPのタイマーのどちらが先に切れるのかによって変わります。

LSPの送信タイマーが先に切れるとLSPが送信されることになり同期が完了し以後はCSNPの定期送信となります。

CSNPのタイマーが先に切れるとCSNP送信による不一致確認とPSNPによるLSP要求が行われます。下図では先にCSNPのタイマーが切れたことにしてIS2がCSNPを送信しています。以後この説明を続けます。

CSNPはポイントツーポイント回線と同じ役割で各ISがLSPの不一致(自分に足りていないLSPと相手に足りていないLSP)を把握します。IS2の送信したCSNPにはIS1に関するLSPが2つ追加で存在し、更新されたLSPが1つ存在します。このCSNPを受信したIS3、IS4では自分に足りていないLSPとしてIS1.00-00とIS1.01-00を認識しシーケンスナンバーが0の仮のLSPを作成してSSNフラグを設定します。またIS2.00-00は自分が保持するよりも新しいバージョンが存在すると認識してSSNフラグを設定します。ポイントツーポイント回線と異なりブロードキャスト回線におけるSSNフラグは常にLSP要求の意味になります。

次に下図ではIS3がIS1に関するLSPのPSNPを送信しています。このPSNPの役割は自分に足りていないLSPをDISに要求することです。PSNPを送信したIS3では該当のLSPのSSNフラグが削除されます。PSNPを受信したIS2ではSRMフラグが設定されます(ただしすでに設定されています)。

もしIS3のPSNPのタイマーが切れるよりも早くIS2から該当のLSPを受信した場合はSSNフラグを削除してPSNPは送信されません。

IS4からも同様にPSNPが送信されます。IS3とIS4は同じ条件なので発信されるPSNPの内容は同じものになります。

IS2はタイマーが切れるとSRMフラグのついたLSPを送信します。LSPが送信されるとSRMフラグが削除されます。LSPを受信したIS3、IS4は新しいLSPをそれぞれのLSPに上書きしシーケンスナンバーも更新します。

これですべてのISが同じLSPを持つことになり同期が完了です。この後DISはCSNPを定期的に送信して新規追加されるLSPに備えます。

レベル2のLSP交換

エリア間で行われるレベル2のLSPの交換動作はエリア内のLSPの交換と全く同じです。領域としてのレベル2の範囲はISのエリアアドレスによって確定するため、エリアの概念は対象ISの選定には影響しますが、LSPの交換の動作は単なる情報交換なのでエリアの概念とは関係なく動作します。ただしESはレベル1だけに存在するためレベル2のLSPに含まれることはありません。

■補足

パーティション修復

パーティション修復は何らかの理由でエリアが分断されてしまった場合にレベル2を使用してエリアの接続性を保つ機能です。パーティション修復オプションを使用することでレベル2に作成した仮想的なレベル1のリンクを通じて各パーティションのNPDU、LSPを通すことができ、エリアの分断を修復することができます。

パーティション修復の条件

パーティション修復を使用するには以下の条件がそろわなくてはなりません。

・L1L2 ISでパーティション修復オプションを有効にしている(LSPヘッダのPがTrue)

・L1L2 ISが分断されたエリアの各パーティションに存在する

・L1L2 IS同士でレベル2通信が可能である

パーティション修復の動作

下図は2つのエリアで構成されているネットワークです。エリア1はエリア2に頼ることなく通信することができますが、IS1とIS5の間のリンク障害に備えてパーティション修復機能をIS2とIS4で有効にしています。

パーティション修復機能を有効にしたISではルート計算を行う際に次の動作を行いパーティション指定L2 ISを選出します。パーティション指定L2 ISはパーティション修復を行う代表となるISです。この選出の動作はVirtual Flagのついていないレベル1のLSPを使用して1台だけが以下の基準によって選出されます。下図ではエリア1は分断されていないためエリア内で1台だけが選出される事になりIS2とIS4の中からIS2がパーティション指定L2 ISとして選ばれている状態です。

・パーティション修復オプションを有効にしている(LSPヘッダのPがTrue)

・ISタイプはL1L2

・ATTがデフォルトメトリックによって設定されている

・IDがL2 ISの中で最小

ここでエリア1が分断したとします。下図ではエリア1のIS1とIS2の間のリンクに障害が発生して相互通信ができない状況を示しています。分裂してしまったエリアは2つのパーティションとなりますが、エリアとして成立させるためにパーティションの修復動作が行われます。

初めに通常の動作としてパーティション内の各ISではリンクダウンに伴うLSPのアップデートとルート計算が行われます。各ISはパーティション内で最適なL1ルートを計算して収束しますが、パーティション修復オプションを有効にしたIS(IS2とIS4)はルート計算に先立ってパーティション指定L2 ISの 選出 を行います。選出方法は前で説明した方法と同じですが、下図ではエリアがパーティションに分かれてしまっているためルート計算の範囲がパーティション内に限定され各パーティションに対して1台ずつ選出されます。ここではパーティション修復オプションを有効にしているISはそれぞれのパーティション内で1台しかないため、選出の動作もIS2とIS4だけで行われて、IS2とIS4がそれぞれパーティション指定L2 ISとして選出されます。

この段階ではIS2とIS4はエリアが分かれたことを認識できていません。IS2とIS4はパーティション指定L2 ISの選出に伴ってパーティション指定L2 ISオプションを含んだLSPを作成しレベル2のLSPのアップデートを始めます。

IS2とIS4ではそれぞれパーティション指定L2 ISオプションを含んだLSPを受け取りレベル2のルート計算を行います。ここでIS2とIS4は自分以外の同じエリアのパーティション指定L2 ISの存在を知りエリアがパーティションに分割されたことを認識します。パーティションを認識したIS2、IS4はL2 LSPをもとに次の動作を行います。

・仮想エンティティを作成しNETを割り当て

・相手パーティション指定L2 ISに対する仮想リンクを作成し、仮想エンティティのNETを設定、相手NETを紐づけ

※NETにはLSPの初めのエリアアドレス、IS2(IS4)のシステムID、セレクタ(IntradomainRouteingSelector : 0)が設定されます。

この動作によって相手パーティションの認識、相手パーティションへ到達するためのリンク、リンクを通る際のカプセル化の情報(双方のNET)が揃ったため仮想リンクを使用したトンネルが作成されます。以後、双方のパーティションのLSPやNPDUはトンネルを通じて通信することになります。

パーティション間のトンネルが完成してもリンクステートプロトコルであるIS-ISは隣接情報が揃わなければルート計算が行えないため、パーティション指定L2 ISは相手のパーティションに対する隣接情報を自分のパーティション内に発信します。具体的には相手のパーティション指定L2 ISのIDに対してメトリックとVirtual Flagを設定したL1 LSPをパーティション内に発信します(この動作内にはパーティションに跨った潜在的エリアのチェックも含まれます)。このLSPによってエリア内のL1 IS(IS1、IS2、IS4、IS5)はIS2もしくはIS4を通じた相手のパーティションへの仮想隣接関係を認識できます。そして他方のパーティションのLSPと共にルート計算が行われ仮想リンクを経由したルートが確定します。

仮想リンクの作成とパーティション指定L2 ISの伝搬が完了しルート計算が終わると下図のようにパーティション同士が仮想リンクを通じて通信できるようになります。

IS1とIS5間のリンクが修復されるとルート計算に伴って再選出が行われてエリア内のパーティション指定L2 ISが1台になりパーティションが検出されなくなるため仮想リンクは削除されます。