IS-ISとは

IS-ISとは

IS-ISの概要

IS-ISはISOにより策定されたリンクステート型のプロトコルです.OSIプロトコルスイートで使用されるため,OSPFのようにIPアドレスでルーティングできません.OSIではCLNSという情報でルーティングをします.Integrated IS-ISはIS-ISをIPルーティングできるように拡張したプロトコルです.

OSIプロトコルスイート 

レイヤOSIプロトコル
7VTP, MHS, FTAM, CMIP
6プレゼンテーションサービス,プレゼンテーションプロトコル
5セッションサービス,セッションプロトコル
4TP
3CMNS/CONP, CLNS/CLNP, ES-IS, IS-IS
2/1IEEE802.2, 802.3, 802.5, FDDI, X.25

IS-ISの用語 

ドメイン 

AS=特定のルーティングプロトコルで制御されるネットワークです.

エリア 

ドメインをさらに分割したネットワーク単位です.

バックボーン 

エリア間を相互接続するラインです.OSPFのようなバックボーンエリアではありません.

ES(End System) 

ルーティング機能を持たないノードやホストマシンです.

IS(Intermediate System) 

ルーターなどのルーティング機器です.

CMNS(Connection-Mode Network Service) 

コネクション型の通信方式です.上位レイヤにコネクションサービスを提供します.CONPを使ってデータを転送します.

CLNS(Connection-Less Network Service) 

IPのような存在です.ベストエフォート型の配信でエラー訂正は上位レイヤに任せます.CLNPを使います.

NSAP(Network Service Access Point) 

NSAP_address.png

OSI規格で使用されるCLNSのアドレス体系です.デバイスのアドレス+上位レイヤのプロトコルを表す可変長の16進数表記アドレスで構成されます.NSAPアドレスはデバイス毎に1つずつ設定します.以下はIPアドレスとNSAPの比較表です.

表記名名称バイト数説明
AFIオーソリティ及びフォーマット記述子可変長0x49でプライベートアドレスとみなされる.(39はデータ国別コード,47は国際コード)
IDIインタードメイン識別子可変長AFIと合わせてIDPとしてドメインを表す.
HODSP上位ドメイン固有パート可変長IDPと合わせてエリアIDを示す(エリアIDは最大13バイト).
SIDシステムID6ByteMACアドレスをSIDとして使う(Cisco).
NSELNセレクタ1Byte上位のプロトコルを示す.デバイスを示す場合は0x00(NET:NetworkEntityTitle) .

NSAPのアドレス割り振り 

IPアドレスはインタフェースごとに1つのアドレスを割り振ります.同一エリアに所属するISとESは同一のエリアIDを持ちます.また,同一エリア内のISとESのSIDはユニークでなければなりません.

さらに,バックボーンを形成する全てのレベル2ルータのSIDもユニークでなければなりません.エリアが異なっていても各デバイスを識別するにはSIDのみが有効なためです.

エリアIDはルーティングする範囲を決定する役割です.違うエリアのL1ルータやESのSIDは重複しても良いです.

レベルルーティング 

レベル0ルーティング 

ESからISへのデータ転送です.ARPのようにデータグラム転送の前に必ず行われます.

ESからISへESH(End System Hello)を送信します.このESHにより,ISはサブネット内の各ESの存在を把握します.同様にISからESへもISH(Intermediate System Hello)を送信します.これにより,ESはサブネット内のISの存在を知ります.

ESはISHを送ってきたISをゲートウェイとみなします.複数のISからISHが届いた場合はランダムに選んだISをゲートウェイとします.ESが他のESにパケットを送るときはその宛先が同一サブネットであるかどうかは関係なくゲートウェイに送信します.ISはESHによりサブネット内のESの存在を把握しているので,同サブネット内に宛先のESが存在する場合はそのESにパケットを転送します.
宛先への最適なISが異なる場合,ISはRD(Redirect)メッセージをESに送り,ベストパスを通達します.

つまりESH=ARP Request,ISH=ARP Replyのようなものとなります.

レベル1ルーティング 

エリア内のIS同士でのルーティングです.L1ルーターはエリア内の経路情報のみを取り扱い,エリア内のルーティングのみを行います.L1/L2ルーターはOSPFのABRとは違い,エリア間にまたがることはなく,一つのエリアに属します.次のような場合にL1ネイバーを確立します.

  • L1ルーター同士
  • L1ルーターとL1/L2ルーター
  • L1/L2ルーター同士

L1データベース 

L1データベースはそのエリアとエリアの出口を定義します.IS-ISのエリアは全てトータリースタブエリアのようなものです.よって,ルーティングテーブルのサイズが小さくて済みます.

レベル2ルーティング 

エリア間のIS同士でのルーティング.L2ルーターはバックボーンエリアに属しているルータです.エリア間の通信は必ずL2ルーターを介して行われます.
次のような場合にL2ネイバーを確立します.L1/L2ルーター同士では,L1ネイバーとL2ネイバーの両方を確立します.

  • L2ルーター同士
  • L2ルーターとL1//L2ルーター
  • L1/L2ルーター同士

L2データベース 

エリア間情報を定義します.つまり,バックボーンエリアの情報のみしか持ちません.L1/L2ルータはL1データベースとL2データベースの二つを独立してもちます.

isis_level.png

IDRP(Inter Domain Routing Protocol) 

ドメイン間のルーティングです.EBGPsを利用します.

各レベルルーターの役割 

前述の各レベルごとのルーターの役割をまとめると次のようになります.

名前役割OSPFとの比較
レベル1ルータレベル1ルーティングを行うスタブエリア内Internalルータ
レベル2ルータレベル2ルーティングを行うバックボーンエリア内ルータ
レベル1-2ルータレベル1・2ルーティングを行うABR

DIS(Designated Intermediate System) 

IS-ISでは経路情報のアドバタイズをLSP(リンクステートパケット)が行います.LSPはP2Pネットワークではユニキャストで送信されるが,ブロードキャストネットワーク上ではマルチキャストを用いて送信されます.この動作はOSPFと全く同様です.

IS-ISでもOSPFのDRと同様の動きをするDISが選出されます.しかしBDRにあたる機能を持つルーターは選出されません.また,OSPFではDR/BDRは特定の再選出タイミングでなければ役割が切り替わることはないですが,DISではより高いプライオリティを持つルータが現れるとその時点でDISが切り替わります.

以下に各ベンダーのデフォルトのDISプライオリティをまとめます.DISプライオリティーが0であるとDISには選出されません.プライオリティが同じ場合はより高いルータIDを持つルータが選出されます.それも同一の場合はMACアドレスがより大きなルータが優先されます.

ベンダーDISプライオリティ
Cisco64
Juniper64

アジャセンシー 

OSPFはDR/BDRのみとアジャセンシーを結びますが,IS-ISでは各ISはDIS以外のISともアジャセンシーを結びます.エリア内全てのISとアジャセンシーを結ぶのでDISに障害が発生してもルーティングが停止することはありません.

PDU(Protocol Data Unit) 

PDUは27bitの固定長のIS-ISヘッダと可変長のTLV(Type, Length, Value)からなります.

PDU名名称役割種類
Hello PDUハローPDU隣接関係の確立と維持ESH, ISH, L1 IIH, L2 IIH, P2P IIH
LSPリンクステートパケットリンクステート情報の配布L1LSP, L2LSP
PSNPパーシャルシーケンスPDUリンクステート情報の要求・確認応答L1PSNP, L2PSNP
CSNPコンプリートシーケンスPDUリンクステート情報データベースの配布L1CSNP, L2CSNP

IS-ISヘッダ 

IS-ISヘッダは27bitの固定長です.IS-ISヘッダには以下のような情報が含まれます.

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

LSP(リンクステートパケット) 

リンク情報の通知に使われるPDUです.OSPFのLSUパケットに相当します.

PDU TypePDU Name
18Level 1 Link State PDU
20Level 2 Link State PDU

Hello PDU 

IS-IS Hello PDUで略してIIHとなります.IS-ISのアジャセンシー確立とその維持のために使われます.

HelloPDU名説明
ESHES-IS間で使われる.ESからISへのHello PDU.
ISHES-IS間で使われる.ISからESへのHello PDU.
L1 IIHIS-IS間のブロードキャストネットワークでのレベル1ルーティングで使われる.
L2 IIHブロードキャストネットワークでのレベル2スーティングで使われる.
P2P IIHP2Pネットワークで使われる.L1/L2ともにこれが使われる.

イーサネットでは以下のマルチキャストアドレスが用いられます.
L1 IIH:0180.C200.0014
L2 IIH:0180.C200.0015

PDU TypePDU Name
15Level 1 Hello
16Level 2 Hello
17P2P Hello

Hello PDUインターバルはデフォルトで10秒,ホールドタイムは3倍の30秒です.

PSNP(Partial Sequence Number PDU) 

リンク情報の要求と確認応答に使われるPDUです.OSPFのLSUパケットやLSAckパケットに相当します.

PDU TypePDU Name
24Level 1 PSNP
25Level 2 PSNP

CSNP(Complete Sequence Number PDU) 

リンク情報の配布に使われるPDUです.LSDBのサマリーを表します.OSPFのDDパケットに相当します.

PDU TypePDU Name
26Level 1 CSNP
27Level 2 CSNP