IS-IS PDUフォーマット

IS-ISとES-ISで使用するPDUのフォーマットの一覧です。

IS-IS

IS-ISで使用するPDUの構造は下図のように大きく3つに分かれています。共通ヘッダはすべてのPDUに共通の情報が格納されます。規格として決められたものではありませんが、構造的に区分することができるため分けて取り扱います。タイプ別フィールドはHello PDUやLink State PDUごとに個別に持つフィールドです。可変長フィールドはそれぞれのPDUに対して付加することができる情報です。ISに固有の具体的な情報は可変長フィールドに入ります。

ここではPDU一覧、共通ヘッダ、タイプ別フィールド、可変長フィールドの順に載せています。

PDU一覧

IS-ISで使用するすべてのPDUです。

PDU名 PDU Type 使用するTLVコード 用途
Level 1 LAN IS to IS Hello PDU 15 1, 6, 8, 10 レベル1のブロードキャスト回線で使用するHello PDU
Level 2 LAN IS to IS Hello PDU 16 6, 8, 10 レベル2のブロードキャスト回線で使用するHello PDU
Point-to-Point IS to IS Hello PDU 17 1, 8, 10 ポイントツーポイント回線で使用するHello PDU
Level 1 Link State PDU 18 1, 2, 3, 10, 14 レベル1で使用するLSP
Level 2 Link State PDU 20 1, 2, 4, 5, 10, 14 レベル2で使用するLSP
Level 1 Complete Sequence Numbers PDU 24 9, 10 レベル1で使用するCSNP
Level 2 Complete Sequence Numbers PDU 25 9, 10 レベル2で使用するCSNP
Level 1 Partial Sequence Numbers PDU 26 9, 10 レベル1で使用するPSNP
Level 2 Partial Sequence Numbers PDU 27 9, 10 レベル2で使用するPSNP

共通ヘッダ

IS-ISが発信するすべてのPDUに共通のヘッダです。この範囲を共通のヘッダとする決まりはありませんが、使用するフィールドが共通しているためここではそのように扱います。この後にPDU個別のフィールドが続きます。

Intradomain Routing PD(Protocol Discriminator) OSIネットワークレイヤーのIS-IS固有の識別子。0x83(ISO/IEC TR9577 X.263)
Length Indicator PDUヘッダの長さ。PDUフォーマットから可変長フィールドを省いたオクテット単位の長さ
Version/Protocol ID Extension このプロトコルのバージョン、1が設定される
ID Length システムIDの長さ
・1~8の場合はID長を示す
・0の場合は6オクテットを示す(6と同じ)
・255とNULLの場合は長さ0を示す それ以外の値は無効
PDU Type 使用するPDUに固有の識別番号を入れる。上表のPDU Type参照
Version Version/Protocol ID Extensionと同様1が設定される
Maximum Area Address 対応するエリアの数
・1~254はエリアの数を示す
・0の場合は3を示す(3と同じ)

Hello PDU

Hello PDUはIS同士で交換して隣接となるために使用するPDUです。IS-ISで使用するHello PDUはブロードキャスト回線で使用するL1 IIH、L2 IIHと、ポイントツーポイント回線で使用するIIHの3つです。ブロードキャスト回線で使用するHello PDUはPDU Typeが異なるだけでフォーマットは同一です。レベルごとにIIHがあるのはDISの選定で物理的にPDUを使用するためです。Hello PDUの個別のフィールドは下図の赤で示した箇所で、上には共通のヘッダ、下には可変長フィールドが位置しています。

 

Reserved/Circuit Type bit3~8 — 予約
bit1, 2 — ISの動作するレベルを示す

00 — 予約値
01 — レベル1のみ
10 — レベル2のみ
11 — レベル1と2の両方
Source ID 送信元ISのシステムID
Holding Time このISで使用されるホールドタイマー
PDU Length ヘッダを含む、PDUの全長(オクテット単位)
R(Reserved) 予約域
Priority LANのDIS選定の優先順位。数値が高いほど優先度が高い
LAN ID ISのシステムIDと、ISによって割り当てられた1オクテットの回線ID。DIS選定後DISのシステムIDと回線IDになる
Local Circuit ID ISによって回線に割り当てられるID

Link State PDU

Link State PDUは到達可能性情報を運ぶためのPDUです。レベルごとに存在しますが、PDUタイプの指定が異なるだけでフォーマットは同一です。上には共通のヘッダ、下には可変長フィールドが位置しています。

PDU Length ヘッダを含むこのPDUの長さ
Remaining Lifetime LSPが期限切れになるまでの秒数
LSP ID LSPを表すID、次の3つのフィールドから構成される
Sauce ID — ISのシステムID
Pseudonode ID — 疑似ノードかどうかを示すID。0は疑似ノードではないことを示す
LSP Number — LSP分割時のシーケンス番号。LSP番号0のLSPは1以降のLSPの代表となり、特定の情報を提示する
Sequence Number 1から始まるLSPのバージョン番号。LSPごとに異なるシーケンス番号を持つ
Checksum LSP IDから後のチェックサム
P パーティション修復オプション機能をサポートすることを示す(1bit)
ATT レベル2のISが設定し外部エリアに到達できることを示す。メトリックごとにビットが割り当たり1の場合は外部エリアに到達できることを示す。通常はデフォルトメトリックのみを使用。各1bit(4bit)
Bit 4 — Default Metric
Bit 5 — Delay Metric
Bit 6 — Expense Metric
Bit 7 — Error Metric
LSPDBOL LSP DBの過負荷を示す。1の場合は過負荷。ルート計算で使用するかどうかに関わる(1bit)
IS Type ISの動作タイプを示す
1の場合はL1、3の場合はL2を表す。2bit(Level2では常に3)
0 — Unused value
1 — Level 1 Intermediate system
2 — Unused value
3 — Level 2 Intermediate system

Sequence Numbers PDU

Sequence Numbers PDUはLSPの不一致を認識するCSNP(Complete Sequence Numbers PDU)と、LSP要求や確認応答などで使用するPSNP(Partial Sequence Numbers PDU)があり、それぞれレベルごとに異なるPDUを持ちます。上には共通のヘッダ、下には可変長フィールドが位置しています。

PDU Length 共通ヘッダを含むPDUの全長
Source ID このシーケンス番号PDUを生成するIS(ゼロ回線IDを持つ)のシステムID
Start LSP ID このPDUによってカバーされる初めのLSP ID
End LSP ID このPDUによってカバーされる最後のLSP ID

可変長フィールド(オプションフィールド)

可変長フィールドはIS固有の情報が入るオプションフィールドです。必要なオプションを選択してタイプ別フィールドの下に付加します。構造は下図のTLV(Type, Length, Value)の形式になっています。CODE(Type)は扱うオプションのTLVタイプをコードで指定します。LengthはVALUEフィールドの全長を1オクテットで指定します。VALUEはLengthで指定した長さのオプション情報が入ります。

オプション一覧

IS-ISで使用するオプションの一覧です。使用できるオプションはPDUの種類によって決まっているため、選択して使用します。複数のオプションを使用する場合は連続させる形で使用します。

コード TLVタイプ オプション情報 使用されるPDU
1 Area Addresses ISの属するエリアアドレス L1IIH , P2PIIH , L1LSP , L2LSP
2 Intermediate System Neighbors ISネイバーのシステムID L1LSP , L2LSP
3 End System Neighbors ISに接続されるESのシステムID L1LSP
4 Partition Designated Level 2 Intermediate System パーティション指定レベル2 ISのシステムID L2LSP
5 Prefix Neighbors 到達可能であるアドレスプレフィックス L2LSP
6 Intermediate System Neighbors LAN内のISネイバーのMACアドレス L1IIH , L2IIH
8 Padding Helloパケットをパディングする L1IIH , L2IIH , P2PIIH
9 LSP Entries SNP内でシステムID示す L1CSNP , L2CSNP , L1PSNP , L2PSNP
10 Authentication Information 認証情報 L1IIH , L2IIH , P2PIIH , L1LSP , L2LSP, L1CSNP , L2CSNP , L1PSNP , L2PSNP
14 originatingLSPBufferSize 受け取ることのできるPDUのサイズ L1LSP, L2LSP

CODE1 Area Addresses

送信するISの属するエリアを表します。

使用されるPDU:L1IIH , P2PIIH , L1LSP , L2LSP

Code 1
Length Valueの長さ
Address Length エリアアドレスの長さ
Area Address エリアアドレス

CODE2 Intermediate System Neighbors

LSPで到達可能性情報にISを使用する場合に使用します。

使用されるPDU:L1LSP , L2LSP

Code 2
Length Valueの長さ
Virtual Flag 通常の隣接では0、パーティション修復のためのレベル2パーティション指定L2 ISの場合は1
Default Metric bit8 — 0で固定
bit7 — 内部、外部メトリックの切り替え
bit6~1 — メトリック値
Delay Metric bit8 — このメトリックを使用する場合は0、使用しない場合は1に設定
bit7 — 内部、外部メトリックの切り替え
bit6~1 — メトリック値
Expense Metric
Error Metric
Neighbor ID ISネイバーのシステムID

CODE3 End System Neighbors

LSPで到達可能性情報にESを使用する場合に使用します。

使用されるPDU:L1LSP

Code 3
Length Valueの長さ
Default Metric bit8 — 0で固定
bit7 — 内部、外部メトリックの切り替え
bit6~1 — メトリック値
Delay Metric bit8 — このメトリックを使用する場合は0使用しない場合は1に設定
bit7 — 内部、外部メトリックの切り替え
bit6~1 — メトリック値
Expense Metric
Error Metric
Neighbor ID ESネイバーのシステムID

CODE4 Partition Designated Level 2 Intermediate System

パーティション修復でパーティション指定L2 ISを通知するために使用します。

使用されるPDU:L2LSP

Code 4
ID Length System IDの長さ
System ID パーティション指定L2 ISのシステムID

CODE5 Prefix Neighbors

LSPで到達可能性情報にプレフィックスを使用する場合に使用します。

使用されるPDU:L2LSP

Code 5
Length Valueの長さ
Default Metric bit8 — 0で固定
bit7 — 内部、外部メトリックの切り替え
bit6~1 — メトリック値
Delay Metric bit8 — このメトリックを使用する場合は0使用しない場合は1に設定
bit7 — 内部、外部メトリックの切り替え
bit6~1 — メトリック値
Expense Metric
Error Metric
Address Prefix Length プレフィックスの長さ
Address Prefix プレフィックスアドレス

CODE6 Intermediate System Neighbors

IIHでLAN内のISネイバーのMACアドレスを格納する際に使用します。

使用されるPDU:L1IIH , L2IIH

Code 6
Length MACアドレスの長さ
LAN Address MACアドレス

CODE8 Padding

IIHでPDUをパディングする際に使用します。

使用されるPDU:L1IIH , L2IIH , P2PIIH

Code 8
Length パディング値の長さ
Arbitrary Value 任意の値

CODE9 LSP Entries

SNPでLSPエントリーを格納するために使用します。複数のエントリーを含めることができます。

使用されるPDU:L1CSNP , L2CSNP , L1PSNP , L2PSNP

Code 9
Length LSP情報の長さ
Remaining Lifetime LSPの有効期限
LSP ID LSPを作成したISのシステムID
LSP Sequence Number LSPのシーケンス番号
Checksum LSPのチェックサム

CODE10 Authentication Information

IS間で認証を行うために使用する認証情報を格納するために使用します。

使用されるPDU:L1IIH , L2IIH , P2PIIH , L1LSP , L2LSP, L1CSNP , L2CSNP , L1PSNP , L2PSNP

Code 10
Length 認証情報の長さ
Authentication Type 0 — 予約
1 — クリアテキストパスワード
2–254 — 予約
255 — ドメイン内プライベート認証
Authentication Value 認証値

CODE14 originatingLSPBufferSize

受け取ることのできるLSPの大きさをバッファサイズで通知するために使用します。

使用されるPDU: L1LSP , L2LSP

Code 14
Length 2 バッファサイズの長さ
Buffer Size 512-1492

ES-IS

ES-ISで使用するPDUの構造は下図のように大きく3つに分かれています。共通ヘッダはすべてのPDUに共通の情報が格納されます。規格として決められたものではありませんが、構造的に区分することができるため分けて取り扱います。タイプ別フィールドはHello PDUやRedirect PDUごとに個別に持つフィールドです。オプションはそれぞれのPDUに対して付加することができる情報で、ESやISに固有の具体的な情報が入ります。オプションはIS-ISの可変長フィールドと同じようにTLVの形式になっています。

ここではPDU一覧、共通ヘッダ、タイプ別フィールド、オプションの順に載せています。

PDU一覧

ES-ISで使用するすべてのPDUです。

PDU名 PDU Type 使用するTLVコード 用途
End System Hello PDU 2 197, 205 ESが送信するHello PDU
Intermediate System Hello PDU 4 197, 205, 198 ISが送信するHello PDU
Redirect PDU 6 197, 195, 205, 225, 226 ISが送信するリクエストリダイレクト

共通ヘッダ

ES-ISで使用する共通のヘッダです。この後に個別のパートが付加されます。

NPID(Network Layer Protocol Identifier) OSIネットワークレイヤーのプロトコルを識別する番号。IS-ISのIntradomain Routing Protocol Discriminatorと同じ役割。0x82(ISO/IEC RT9577 X.263)
Length Indicator PDUヘッダの長さ。PDUフォーマットからオプションを省いたオクテット単位の長さ
Version/Protocol ID Extension このプロトコルのバージョン、1が設定される
PDU Type 使用するPDUに固有の識別番号を入れる。上表のPDU Type参照
Holding Time このPDUを受信したネットワークエンティティが経路情報を保持する最大時間
Checksum PDUヘッダ全体のチェックサム

Hello PDU

Hello PDUはESから送信されるESH(End System Hello)と、ISから送信されるISH(Intermediate System Hello)があります。Hello PDUの個別のフィールドは下図の赤で示した箇所で、上には共通のヘッダ、下にはオプションが位置しています。

Number of Source Addresses NSAPアドレスの数
Source Address Length Indicator ESのNSAPアドレスの長さ
Source Address ESのNSAPアドレス
Network Entity Title Length Indicator NETの長さ
Network Entity Title ISのNET

Redirect PDU

ルートをリダイレクトした際にISによって送信されるPDUです。上には共通のヘッダ、下にはオプションが位置しています。

Destination Address Length Indicator 宛先アドレスの長さ
Destination Address リダイレクト対象となる宛先のアドレス
Subnetwork Address Length Indicator SNPAアドレスの長さ
Subnetwork Address リダイレクト先のSNPAアドレス
Network Entity Title Length Indicator NETの長さ ESにリダイレクトする場合は長さ0
Network Entity Title ISにリダイレクトする場合のみNETを含む。ESにリダイレクトする場合はこのフィールドは存在しない

オプションフィールド

オプションフィールドはIS固有の情報が入るフィールドです。必要なオプションを選択してタイプ別フィールドの下に付加します。構造は下図のTLV(Type, Length, Value)の形式になっています。CODE(Type)は扱うオプションのTLVタイプをコードで指定し、LengthはVALUEフィールドの全長を1オクテットで指定します。VALUEはLengthで指定した長さのオプション情報が入ります。

オプション一覧

ES-ISで使用するオプションの一覧です。IS-ISと同様に使用できるオプションはPDUの種類によって決まっているため、選択して使用します。複数のオプションを使用する場合は連続させる形で使用します。各オプションで示したコードは8オクテットを10進数で表しています。以下のオプションの並びはコード順ではなく、ISO9542に倣っています。

コード TLVタイプ 用途 使用されるPDU
197 Security セキュリティレベルの指定 ESH, ISH, RD PDU
195 Quality of Service Maintenance QoSの指定 RD PDU
205 Priority 優先順位の指定 ESH, ISH, RD PDU
225 Address Mask アドレスマスクの指定 RD PDU
226 SNPA Mask SNPAマスクの指定 RD PDU
198 Suggested ES Configuration Timer ESCTの指定 ISH

CODE 197 Security

セキュリティレベルの設定で使用します。このオプションフィールドはNPDU(ISO8473)と同じパラメータを使用します。下表のSecurity ValueはISO8473 X.233の指定です。

使用されるPDU:ESH, ISH, RD PDU

Code 197(1100 0101)
Length Security Valueの長さ、可変長
Security Value ISO8473 X.233において第一オクテットのみ以下のように規定

bit8, 7 — Security format codes
bit0~6 — 0

Security format codes
00 — 予約
01 — 送信元NSAPアドレスのアドレス指定機関の定めるセキュリティレベル
10 — 宛先NSAPアドレスのアドレス指定機関の定めるセキュリティレベル
11 — グローバルに一意なセキュリティレベル

CODE 195 Quality of Service Maintenance

QoSの設定で使用します。このオプションフィールドはNPDU(ISO8473)と同じパラメータを使用します。下表のQoS ValueはISO8473の指定です。

使用されるPDU:RD PDU

Code 195(1100 0011)
Length QoS Valueの長さ、可変長。実質1オクテットのみの指定
QoS Value ISO8473 X.233において第一オクテットのみ以下のように規定

bit8, 7 — QoS format codes
bit6 — 未使用
bit5~1 — Globally unique QoS Parameter values

CODE 205 Priority

PDUの優先順位を示す場合に使用します。RD PDUの場合は元になったNPDUの優先順位を表し、ESH、ISHの場合はシステムの優先順位を意味します。このオプションフィールドはNPDU(ISO8473)と同じパラメータを使用します。下表のPriority ValueはISO8473 X.233の指定です。

使用されるPDU:ESH, ISH, RD PDU

Code 205(1100 1101)
Length Priority Valueの長さ、1オクテット
Priority Value ISO8473 X.233において以下のように規定

0000 0000~0000 1110の値を使用
0000 0000 — ノーマル
0000 1110 — 最優先

CODE 225 Address Mask

ESが等価クラス(プレフィックスルート)を作成する際に使用します。ESは基本的に完全一致によるルーティングを行いますが、等価クラスの作成によってプレフィックスによるルーティングが行えます。

使用されるPDU:RD PDU

Code 225(1110 0001)
Length Address Maskの長さ、可変長。最大20オクテット
Address Mask 宛先アドレスと同じ長さのマスク情報でプレフィックスとなるビットに1が設定される

CODE 226 SNPA Mask

NSAPアドレスの使用法としてNSAPアドレス内にSNPAアドレスが埋め込まれている場合に使用します。SNPA MaskはNSAPアドレス内のどこにSNPAアドレスが位置するのかを示します。SNPA Maskを使用する場合はAddress Maskも同時に使用します。

使用されるPDU:RD PDU

Code 226(1110 0010)
Length Valueの長さ、可変長
SNPA Mask アドレスマスクが0である部分に配置されるマスク情報

CODE 198 Suggested ES Configuration Timer

ISからESにConfiguration Timerを指定する場合に使用します。ESはSuggested ESCTで指定された間隔でESHを送信します。

使用されるPDU:ISH

Code 198(1110 0110)
Length Valueの長さ、2オクテット
seconds 0~65535(ESCTで使用する秒数)