IS-ISは,OSPFと同様にリンクステート型のルーティングプロトコルです。IS-ISの動作は,OSPFと似ていますが,いくつかの部分でOSPFと異なります。今回は,IS-ISのルーティングのしくみを学びましょう。

IS-ISレベルルーティング

 IS-ISは,ネットワーク全体を複数のエリアに分ける「階層型ルーティング」(レベルルーティング)を実行します。エリア内のルーティングであるレベル1ルーティングと,エリア間のルーティングであるレベル2ルーティングが,IS-ISで実行するルーティングです。このエリア1と2のルーティングは,以下のようになります(図1)。

  • あて先がエリア内の場合は,レベル1 ISがレベル1のデータベースを使ってルーティングする
  • あて先がエリア外の場合は,レベル1 ISが自身に最も近いレベル1-2 ISへパケットをルーティングする。レベル1-2 ISは,あて先エリアへレベル2のデータベースを使ってルーティングする

 図1 レベルルーティング

 レベル1ルーティングでは,NSAPアドレス内のSystemIDに基づいてルーティングされます。レベル2ルーティングは,エリアIDに基づいてのルーティングになります。ただし,レベル2ルーティングでもレベル2 ISの識別にはSystemIDを使います。

 レベル1 ISにとってのデフォルトルートは,自身に最も近いレベル2 ISになります。そのため,ISの配置とコスト設定によっては,「行き」のルートと「帰り」のルートが異なる場合があります。このようなルーティングを「非対称ルーティング」と呼びます(図2)。

 図2 非対称ルーティング

リンクステート情報

 OSIプロトコルで使うパケットは,PDU(Protocol Data Unit)と呼ばれます。IS-ISで使われるPDUには,次の種類があります。

  • LSP ・・・ リンクステート情報
  • Hello PDU ・・・ 隣接関係の確立と維持
  • PSNP ・・・ リンクステート要求と確認応答
  • CSNP ・・・ リンクステート情報データベースの配布

 IS-ISのLSP(リンクステート情報)は,次のようなフォーマットになっています(図3)。

 図3 LSPフォーマット
LSPフォーマット

 IS-ISヘッダには,以下の値などが記述されます。

  • ヘッダ長 ・・・ ヘッダのサイズ
  • PDU長 ・・・ PDUのサイズ
  • LSP ID ・・・ そのLSPのID。リンクステート情報をこのIDで識別する
  • LSPシーケンス番号 ・・・ そのLSPの新しさを表す値
  • LSP生存時間 ・・・ そのLSPのエイジアウトに使用する

 TLVフィールドは,タイプ,長さ,値が1セットとなった可変長データです。TLVには次のようなタイプがあります。

  • ISネイバー ・・・ 隣接ISを通知する
  • ESネイバー ・・・ ISに隣接するESを通知する
  • 認証情報 ・・・ PDUの認証に使用する
  • IPサブネット ・・・ Integrated IS-ISで使用する

 IS-ISがOSPFと大きく違うのは,リンクステートデータベースにESネイバーの情報も保持するところです。OSPFでは個々のクライアントのアドレス情報はリンクステートデータベースには入れず,ルータとネットワークのアドレスだけを保存します。一方のIS-ISでは,リンクステートデータベースにESの情報も記載します。

 なお,LSPにはレベル1LSPとレベル2LSPが存在します。レベル1LSPはレベル1ルーティングで使い,レベル2LSPはレベル2ルーティングで使います。ISのレベルと一致するレベルのLSPのみが,データベースに記載されます。

 また,IS-ISではネットワークのタイプも分類します。

  • ブロードキャスト ・・・ マルチアクセスネットワーク。LANまたはマルチポイントWAN
  • ポイントツーポイント・・・ 上記ブロードキャスト以外

 OSPFと違い,NBMAなどはありません。NBMAはマルチポイントとして運用することが推奨されています。

 ブロードキャストの場合は,代表ルーターであるDISがLSPを配布することにより,データベースを同期します(Integrated IS-IS編第2回 図5を参照)。非ブロードキャストの場合は,隣接ISへイベントトリガでLSPを配布し,受け取ったISが確認応答を返すことによりデータベースを同期します。

Hello PDUと隣接関係

 IS-ISは,OSPFやEIGRPと同じ様に,隣接ルータ(IS)と隣接関係(adjacency)を結びます。隣接関係を結ぶにはHello PDUを使います。Hello PDUは5種類あります。

  • ESH ・・・ ES-ISで使用される。ESからISへのHello PDU
  • ISH ・・・ ES-ISで使用される。ISからESへのHello PDU
  • Level1 LAN IIH ・・・ IS-ISで使用される。ISからISへのHello PDU(IS-IS Hello)。ブロードキャストネットワークのレベル1ルーティングで使う
  • Level2 LAN IIH ・・・ ブロードキャストネットワークのレベル2ルーティングで使う
  • PtoP IIH ・・・ ポイントツーポイントネットワークで使用される。レベル1とレベル2で同じHello PDUを使う

 IS-ISのHelloによる隣接関係の確立のポイントは,異なるレベルのIS間では隣接関係にはならないことです。例えば,レベル1 ISとレベル2 ISの間では,隣接関係は結べません。また,同じレベル1でもエリアが異なる場合は隣接関係を結べません(図4)。

 図4 レベルと隣接関係
レベルと隣接関係

 また,ポイントツーポイントネットワークでは,レベル1とレベル2で同じHello PDUを使います。Hello PDUの中にレベルとエリアID情報が入っていますので,LANと同様の隣接関係になります。隣接関係の条件をまとめると次のような表になります。

エリアIS(ルータ)Hello結果
同じエリアレベル1レベル1L1 HelloL1隣接
レベル1レベル1-2L1 HelloL1隣接
レベル2レベル2L2 HelloL2隣接
レベル1-2レベル2L2 HelloL2隣接
レベル1-2レベル1-2L1 HelloL1隣接
L2 HelloL2隣接
違うエリアレベル1レベル1------
レベル1レベル2------
レベル1レベル1-2------
レベル2レベル2L2 HelloL2隣接
レベル1-2レベル2L2 HelloL2隣接
レベル1-2レベル1-2L2 HelloL2隣接

 同じエリアでは,レベル1-2ルータ同士ではレベル1とレベル2の両方の隣接関係が結ばれます。