OSPFはそれぞれのルータが生成したリンクステート広告(LSA)交換することで、トポロジを把握してSFPにてルーティングテーブルを生成します。
LSAにはルータのリンク情報などトポロジー把握に必要な情報が格納されています。
今回は、OSPFv2のLSAの種類の紹介、LSAの共有のヘッダーフォーマットの紹介、LSAを削除するPremature agingを紹介します。
OPSFv2 LSA種類
OSPFv2で利用させる一般的なLSAを紹介します。それぞれの詳細はリンク先のページに別途記載しています。
LS Type | LSA名称 | 生成ルータ | LSA内容 | フラッティング範囲 |
---|---|---|---|---|
1 | Router-LSA | 全ルータ | ルータID、リンク数、リンクの種類、コスト値 | 生成されたエリア内 |
2 | Network-LSA | DR | DRのIPアドレス、セグメント上のルータID一覧 | 生成されたエリア内 |
3 | Network Summary-LSA | ABR | 各エリアごとの経路、コスト値 | 全エリア ( Total stub/ Total NSSA 以外 ) |
4 | ASBR Summary-LSA | ABR | ASBRのルータID、コスト値 | OSPFドメイン全体( stub/ NSSA 以外 ) |
5 | AS-External-LSA | ASBR ABR( Type7からの変換) | 再配布した経路、コスト | OSPFドメイン全体( stub/ NSSA 以外 ) |
7 | NSSA External-LSA | ASBR | 再配布した経路、コスト | NSSAエリア内 |
各LSA詳細ページ
OSPFv2 LSAヘッダー
OSPFの上記で紹介したようにLSAはいくつかのTypeでが分かれていますが、それぞれのLSAには下記のヘッダーから始まるフォーマットになっています。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS age | Options | LS type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link State ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Advertising Router | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS sequence number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS checksum | length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
LS age
LS ageフィールドはLSAが生成されてからの経過した秒数が格納されます。符号無し16ビット整数として扱います。生成された時点で0に設定され、30分(1800se)経過するとLSAを生成したルータはsequnece numberを更新して再作成します。MaxAge(3600秒)経過すると該当のLSAは削除する。
Options
OSPF共通にあるOptionsフィールドになります。サポートする機能がOptionsで定義されます。詳細は下記参照。
関連記事
LS Type
LS Type( LinkState Type)フィールドは、LSAの機能を大きく分類しています。上記のリストに記載したように1は Router-LSA 、2はNetwork-LSA の識別子となっている。
Link State ID
LS TypeによるLink State IDに格納される情報がことなります。詳細は各LSAのページにて記載します。
Advertising Router
LSAを生成したルータIDが格納されます。
LS sequence number
32ビットの符号付き整数。LS sequenece numberを利用して古いLSAや重複したLSAを検出するのに利用します。
定数 N= 2**31 ( 0x80000000) と定義され、最小は N + 1 = 0x80000001 になります。最大値(MaxSequenceNumberと呼ばれます)は 0x7fffffff となります。 最大値を超えることができないので、Premature aging of LSAsを利用して該当LSAを消して、再度新規にLSAを作成することで処理する必要があります。ただし、5秒間隔で新規にLSAを作成しても最大値になるのに約600年が必要になり、最大値に到達するケースは遭遇するケースはないでしょう。
LS checksum
LS checksumはLSAヘッダーを含み、LS ageを除いた、チェックサム(LSA内のデータが壊れていないか判定用)になります。
length
LSAのサイズ(Byte)が格納されます。LSAヘッダーの20含めて計算されます。
Premature aging of LSAs
LSAをする削除する手段としてPremature agingの方法があります。これは、LS ageがMaxAge(1時間)に到達するとLSAを廃棄する処理を利用してLSAを削除する方法です。削除するLSAのLS sequence numberをそのままに、LS ageを3600にして再フラッドすることでLSAを削除する手法です。
Premature aging をコマンドで実施する方法としてOSPF Graceful Shutdownがあります。
設定前のospf database
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
R1#show ip ospf database OSPF Router with ID (1.1.1.1) (Process ID 1) Router Link States (Area 0) Link ID ADV Router Age Seq# Checksum Link count 1.1.1.1 1.1.1.1 37 0x80000004 0x009B5B 2 2.2.2.2 2.2.2.2 29 0x80000004 0x008B5E 2 Net Link States (Area 0) Link ID ADV Router Age Seq# Checksum 10.1.2.1 1.1.1.1 37 0x80000001 0x0059C2 R1# |
R2側(Rrouter-ID 2.2.2.2)で OSPF Graceful shutdow を実行します。
1 2 3 4 |
R2(config)#router ospf 1 R2(config-router)#shutdown R2(config-router)# *Feb 5 05:12:44.924: %OSPF-5-ADJCHG: Process 1, Nbr 1.1.1.1 on GigabitEthernet1 from FULL to DOWN, Neighbor Down: Interface down or detached |
下記はOSPF Graceful shutdownを実施した時のOSPF LS Updateのパケットキャプチャの結果になります。下記のようにR2(Router-ID 2.2.2.2)がもともと広報したLSAのSequence Numberがそのまま(0x80000004)で、LS age が MAXAGE 3600 の状態でLSAがフラッドされています。
結果 R1側では R2のLSAが削除されました。
1 2 3 4 5 6 7 8 9 |
R1#show ip ospf database OSPF Router with ID (1.1.1.1) (Process ID 1) Router Link States (Area 0) Link ID ADV Router Age Seq# Checksum Link count 1.1.1.1 1.1.1.1 11 0x80000005 0x0053B0 2 R1# |
スポンサーリンク
OSPF 関連記事一覧
OSPFプロトコル解説記事
- OSPFとは
- OSPF Router-ID
- OSPF パケットの種類およびパケットヘッダーフォーマット
- OSPF状態遷移およびOSPFパケットの種類
- OSPF Optionsフィールド
- OSPF DR/BDR
- ネットワークタイプ
- LSAの概要 LSAヘッダー
- エリア
- エリア スタブエリア / トータリースタブエリア
- エリア NSSAエリア / トータリーNSSAエリア
- OSPF 経路集約
OSPF設定例記事
- 基本設定
Cisco IOS Cisco IOS-XR Cisco NX-OS Juniper JUNOS VyOS1.3 - コスト設定
Cisco IOS Cisco IOS-XR Cisco NX-OS Juniper JUNOS - プライオリティ
Cisco IOS Cisco IOS-XR NX-OS Juniper JUNOS - MD5認証
Cisco IOS Cisco IOS-XR Cisco NX-OS Juniper JUNOS - NetworkType ( Broadcast / Point-to-Point )
Cisco IOS Cisco IOS-XR Cisco NX-OS Juniper JUNOS - スタブエリア
Cisco IOS Cisco IOS-XR Cisco NX-OS - トータリースタブエリア
Cisco IOS Cisco IOS-XR Ciso NX-OS - NSSA
Cisco IOS Cisco IOS-XR Cisco NX-OS - トータリNSSA
Cisco IOS Cisco IOS-XR Cisco NX-OS - 経路集約
Cisco IOS Cisco IOS-XR Cisco NX-OS
OSPF RFC
- RFC2328 OSPF Version 2
- RFC3101 The OSPF Not-So-Stubby Area (NSSA) Option
- RFC3883 Detecting Inactive Neighbors over OSPF Demand Circuits (DC)
OSPF関連図書
私が所持しているOSPF本の紹介です。ただし絶版になっている本も紹介していますがご容赦ください。