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フォーマット
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 | レベル1 | L1 Hello | L1隣接 |
レベル1 | レベル1-2 | L1 Hello | L1隣接 | |
レベル2 | レベル2 | L2 Hello | L2隣接 | |
レベル1-2 | レベル2 | L2 Hello | L2隣接 | |
レベル1-2 | レベル1-2 | L1 Hello | L1隣接 | |
L2 Hello | L2隣接 | |||
違うエリア | レベル1 | レベル1 | --- | --- |
レベル1 | レベル2 | --- | --- | |
レベル1 | レベル1-2 | --- | --- | |
レベル2 | レベル2 | L2 Hello | L2隣接 | |
レベル1-2 | レベル2 | L2 Hello | L2隣接 | |
レベル1-2 | レベル1-2 | L2 Hello | L2隣接 |
同じエリアでは,レベル1-2ルータ同士ではレベル1とレベル2の両方の隣接関係が結ばれます。