IS-IS (Intermediate System to Intermediate System) は、大規模なIPネットワークで利用されるリンクステート型ルーティングプロトコルである。OSI参照モデルのネットワーク層プロトコルとして設計され、スケーラビリティと安定性に優れるため、サービスプロバイダや大規模エンタープライズの基幹ネットワークで広く採用されている。
IS-ISの仕組み
リンクステート型ルーティング
IS-ISは、OSPFと同様にリンクステート型のルーティングプロトコルである。これは、隣接するルータ(IS: Intermediate System)との接続状態(リンクステート)に関する情報を交換し、ネットワーク全体のトポロジマップ(LSP: Link State PDU)を各ルータが独自に作成することを基本とする。
- 最短パスの計算: 作成されたトポロジマップに基づき、Dijkstra(ダイクストラ)アルゴリズムを用いて、自身からネットワーク内のすべての宛先までの最短パスを計算する。この結果がルーティングテーブルに登録される。
- イベント駆動型のアップデート: トポロジの変更(リンクのダウン、新しい接続の確立など)が発生した場合にのみ、トリガーアップデートとして変更情報がネットワーク全体にフラッディングされる。これにより、ネットワークが安定している状態ではトラフィックの負荷が抑えられる。
- LSPの定期的な再送: トポロジ情報を記述したLSP(Link State PDU)は、信頼性を保証するために一定時間(デフォルトで約1200秒)ごとに再送され、ネットワーク内での情報の鮮度と同期を保つ。
CLNSとIPのサポート
IS-ISは元々、OSIプロトコルスイートにおけるネットワーク層プロトコルであるCLNS (Connectionless Network Service)のために開発された。CLNSでは、ネットワークアドレスとしてNSAP (Network Service Access Point)という可変長の階層的アドレスが用いられる。
- デュアルスタック: 現在のIS-ISの実装のほとんどは、IP (Internet Protocol)のルーティングも同時に行うための拡張が施されており、Integrated IS-ISまたはDual IS-ISと呼ばれる。これにより、IPアドレス(IPv4/IPv6)のルーティング情報もCLNSと同じメカニズムで交換・計算される。
- CLNSのアドレッシング: IS-ISにおけるルータの識別は、NET (Network Entity Title)というCLNSアドレスを用いて行われる。NETはエリアID、システムID、セレクタバイトで構成され、IPアドレスとは独立してネットワーク内のルータを一意に特定する。
- プロトコルに依存しない: IS-ISはトランスポート層で動作するわけではないため、IPやCLNSといった具体的なネットワーク層プロトコルに依存せず、リンクステート情報を交換する。この特性が、IPv4とIPv6の両方を同時に扱うデュアルスタック環境での柔軟性を高めている。
エリアと階層構造
IS-ISは、OSPFと同様にネットワークをエリア(Area)と呼ばれる単位に分割し、階層的なルーティング構造を形成することで、大規模化への対応とルーティングテーブルの最適化を実現する。
- レベル1ルーティング: 同一エリア内でのルーティングを行う。L1ルータ(レベル1ルータ)は、自身のエリア内のトポロジ情報のみを持ち、他のエリアへの通信はL1/L2ルータに依存する。L1ルータは、デフォルトルートとしてL1/L2ルータへのパスを持つことが一般的である。
- レベル2ルーティング: エリア間のルーティング、すなわちバックボーンとして機能する。L2ルータ(レベル2ルータ)は、エリア全体のトポロジ情報を交換し、ネットワーク全体の相互接続性を保証する。すべてのL2ルータは論理的に単一のL2バックボーンを形成する。
- L1/L2ルータ: エリアの境界に位置し、L1ルーティングとL2ルーティングの両方を行う。同一エリア内のL1ルータに対してL2バックボーンへの経路を提供し、L2バックボーンに対しては接続されたエリア内の経路情報を提供する。
隣接関係の確立とHello PDU
IS-ISのルータは、Hello PDU (Protocol Data Unit)を送信することで隣接関係(Adjacency)を確立する。
- Hello PDU: ルータがリンク上で送信するパケットで、自身のシステムID、レベル、エリアアドレス、タイマー情報などが含まれる。このパケットの交換によって、ルータ同士が相互に認識し、隣接関係を形成する。
- DIS (Designated Intermediate System): ブロードキャストメディア(例:イーサネット)では、DISが選出される。DISはネットワークセグメントのトポロジ情報を集約・配布する役割を担い、LSPのフラッディングによるネットワーク負荷を軽減する。DISはOSPFのDR(Designated Router)に類似するが、DISはL1とL2で別々に選出され、その動作には相違点がある。
- 隣接関係の状態: IS-ISの隣接関係は、UpまたはInitializingといった状態を持つ。完全な隣接関係(Full Adjacency)が確立されると、LSPの交換が開始され、ルーティング情報の同期が行われる。
LSP(Link State PDU)とシーケンス番号
LSPは、ルータが持つリンクステート情報を記述したデータベースである。IS-ISでは、LSPの信頼性と鮮度を管理するためにシーケンス番号が非常に重要な役割を果たす。
- シーケンス番号: LSPに割り当てられる一意の番号であり、LSPのバージョン管理に使用される。同一のルータから送信されたLSPでは、新しい情報を持つLSPほど大きなシーケンス番号を持つ。
- データベースの同期: ルータは隣接ルータから受け取ったLSPのシーケンス番号をチェックし、自身が持つLSPと比較する。より大きなシーケンス番号のLSPを受け取った場合、それを新しい情報として自身のデータベースに格納し、他の隣接ルータにフラッディングする。
- 寿命 (Remaining Lifetime): LSPは寿命(TTLに相当)を持っており、寿命がゼロになるとデータベースから削除される。これにより、ネットワークから離脱したルータの情報が永遠に残ることを防ぐ。
IS-ISの設定
IS-ISは、CLI(Command Line Interface)ベースのネットワーク機器(ルータ)で設定される。設定は一般に、ルーティングプロセス全体の有効化、エリア設定、インターフェースへの適用という手順で行われる。
グローバル設定(ルーティングプロセスの有効化とNETの定義)
IS-ISを動作させるために、まずルータのグローバル設定でIS-ISルーティングプロセスを有効化し、ルータの一意の識別子であるNET (Network Entity Title)を定義する必要がある。
- ルーティングプロセスの有効化: ルータのコンフィギュレーションモードでIS-ISプロセスを起動する。プロトコルを指定するだけで、ルーティングプロセスのインスタンスが生成される。
- NETの設定: NETは、エリアID(Area ID)、システムID(System ID)、セレクタ(Selector)の3つの部分から構成される。
例:NETが
49.0001.1234.5678.9012.00の場合、エリアIDは49.0001、システムIDは1234.5678.9012、セレクタは00である。
- ルーティングレベルの設定: ルータがL1のみ、L2のみ、またはL1/L2として動作するかを設定する。大規模なネットワークでは、通常、境界ルータはL1/L2として設定される。
インターフェースへの適用とメトリック
IS-ISプロセスを起動したら、ルーティングを行うインターフェースでIS-ISを有効化する必要がある。
- インターフェースへの有効化: インターフェースコンフィギュレーションモードでIS-ISを有効化し、そのインターフェースがL1またはL2のどちらに参加するかを指定する。
- メトリック: IS-ISのメトリック(コスト)は、デフォルトで10ビット(0~63)または24ビット(ワイドメトリック)の値を持ち、リンクの帯域幅などに基づいて設定される。メトリックが小さいほど、そのパスは優先される。ワイドメトリックを使用することで、より大規模で複雑なネットワークトポロジにも対応できるようになる。
- 認証: ルーティング情報の交換におけるセキュリティを確保するため、インターフェースレベルまたはエリアレベルで認証(平文またはMD5)を設定することが強く推奨される。
IPルーティングと再配布
Integrated IS-ISとしてIPルーティングを可能にするためには、追加の設定が必要となる。
- IPアドレスの関連付け: CLNSのアドレッシングとは別に、インターフェースに設定されたIPアドレスがIS-ISによって認識され、LSPに含められる。
- ルーティング情報の再配布: IS-ISが、BGPやEIGRPなどの他のルーティングプロトコルから学習した経路や、スタティックルートを自身のLSPに含めてネットワーク内に広報したい場合、再配布(Redistribution)の設定が必要となる。
IS-ISとOSPFの違い
IS-ISとOSPFは、どちらもリンクステート型のルーティングプロトコルであり、多くの共通点を持つが、いくつかの重要な設計上の違いが存在し、それがそれぞれのプロトコルの特性や適用範囲に影響を与えている。
OSI層とプロトコルの依存性
| 特徴 | IS-IS (Intermediate System to Intermediate System) | OSPF (Open Shortest Path First) |
| 設計された起源 | OSIプロトコルスイート(CLNS)のために設計された。 | TCP/IPプロトコルスイート(IP)のために設計された。 |
| トランスポート | 自身がネットワーク層プロトコル(Type 49)。IPの上では動作しない。データリンク層に直接カプセル化されることが多い。 | IP上で動作するプロトコルであり、プロトコル番号89を使用する。 |
| アドレス構造 | CLNSアドレス(NET)をルータIDとして使用する。IPアドレスとは独立。 | ルータIDはIPアドレス形式(32ビット)で、ネットワークアドレスを識別する。 |
- プロトコル非依存性: IS-ISはIPに依存しないため、IPv4とIPv6の両方をより自然に、かつ効率的にサポートできる。OSPFはバージョン2 (IPv4) とバージョン3 (IPv6) でプロトコルが分かれている。
エリア境界と階層構造
IS-ISとOSPFは、どちらも階層構造を持つが、その設計思想に違いがある。
- バックボーン: OSPFでは、すべてのエリアがArea 0(バックボーンエリア)に接続する必要があるという厳しいルールがある。IS-ISでは、L2ルータが論理的にバックボーンを形成し、地理的な制約はOSPFほど厳格ではない。
- 境界ルータ: OSPFでは、ABR (Area Border Router)がエリア間のルーティングを行う。IS-ISではL1/L2ルータがその役割を担うが、IS-ISのL1ルータは他のエリアへのデフォルトルートをL1/L2ルータから学習するのに対し、OSPFではすべてのABRの集合体がエリア間ルーティングを担当する。
- エリアアドレス: OSPFのエリアIDは32ビットの整数またはドット10進形式であるのに対し、IS-ISのエリアID(NETの一部)は可変長で、柔軟な階層設計が可能である。
ブロードキャストメディアでの動作
マルチアクセスセグメント(例:イーサネット)における動作にも違いがある。
- 選出メカニズム: OSPFではDR (Designated Router)とBDR (Backup Designated Router)が選出される。IS-ISではDIS (Designated Intermediate System)のみが選出され、バックアップの仕組みは持たない。
- 隣接関係: OSPFではDR/BDR以外のルータはDR/BDRとのみ完全な隣接関係を持つ。IS-ISではDISを含むセグメント上のすべてのルータが完全な隣接関係を持つ。ただし、LSPのフラッディングはDISのみが担当するため、LSPの重複送信を防げる。
スケーラビリティと実装上の強み
- スケーラビリティ: IS-ISは、特にサービスプロバイダなどの非常に大規模なネットワークで高いスケーラビリティを発揮する傾向がある。これは、OSPFよりも柔軟な階層構造と、LSPの更新処理の効率性が寄与しているとされる。
- 設定の複雑さ: OSPFは一般的に設定が直感的で理解しやすいため、エンタープライズネットワークで広く使われる。IS-ISはNETやCLNSといった概念を伴うため、初期の設定やデバッグはOSPFよりも複雑になる傾向がある。
- ベンダー実装: IS-ISはシスコシステムズ、ジュニパーネットワークスなどの主要なネットワークベンダーによって広くサポートされており、大規模インフラでの実装実績が豊富である。
まとめ
IS-IS (Intermediate System to Intermediate System) は、CLNSから派生し、現在ではIPルーティングにも対応したリンクステート型プロトコルである。その最大の特徴は、NETに基づく階層構造、IPプロトコル非依存の動作、そして大規模ネットワークにおける高いスケーラビリティにある。
IS-ISの仕組みは、L1とL2の明確な分離、DISによるブロードキャストセグメントの最適化、そしてLSPのシーケンス番号管理によって、ネットワークトポロジの変更に迅速かつ安定的に対応する。設定においては、NETの定義とルーティングレベルの指定が核心的な要素となる。
類似プロトコルであるOSPFと比較すると、IS-ISはIPに縛られない設計と柔軟なエリア構造を持ち、特にサービスプロバイダのバックボーンや、デュアルスタック環境での優位性が際立っている。一方、OSPFは設定の容易さからエンタープライズネットワークで高いシェアを持つ。
ITリテラシーの高い者にとって、IS-ISはインターネットの基盤を支える技術の一つとして、その動作原理と特徴を深く理解しておくべきプロトコルである。この知識は、大規模ネットワークの設計、トラブルシューティング、そして将来のネットワーク技術の進化を理解するための強固な基盤となるだろう。
