OSPF

OSPF LSAの概要 LSAヘッダー

OSPFはそれぞれのルータが生成したリンクステート広告(LSA)交換することで、トポロジを把握してSFPにてルーティングテーブルを生成します。
LSAにはルータのリンク情報などトポロジー把握に必要な情報が格納されています。

LSAを交換することでデータベースを同期
同期されたLSAを元にトポロジーを把握

今回は、OSPFv2のLSAの種類の紹介、LSAの共有のヘッダーフォーマットの紹介、LSAを削除するPremature agingを紹介します。

OPSFv2 LSA種類

OSPFv2で利用させる一般的なLSAを紹介します。それぞれの詳細はリンク先のページに別途記載しています。

LS TypeLSA名称生成ルータLSA内容フラッティング範囲
1Router-LSA全ルータルータID、リンク数、リンクの種類、コスト値生成されたエリア内
2Network-LSADRDRのIPアドレス、セグメント上のルータID一覧生成されたエリア内
3Network Summary-LSAABR各エリアごとの経路、コスト値全エリア ( Total stub/ Total NSSA 以外 )
4ASBR Summary-LSA ABRASBRのルータID、コスト値OSPFドメイン全体( stub/ NSSA 以外 )
5AS-External-LSAASBR
ABR( Type7からの変換)
再配布した経路、コストOSPFドメイン全体( stub/ NSSA 以外 )
7NSSA External-LSAASBR再配布した経路、コストNSSAエリア内

OSPFv2 LSAヘッダー

OSPFの上記で紹介したようにLSAはいくつかのTypeでが分かれていますが、それぞれのLSAには下記のヘッダーから始まるフォーマットになっています。

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 の識別子となっている。

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

R2側(Rrouter-ID 2.2.2.2)で OSPF Graceful shutdow を実行します。

下記はOSPF Graceful shutdownを実施した時のOSPF LS Updateのパケットキャプチャの結果になります。下記のようにR2(Router-ID 2.2.2.2)がもともと広報したLSAのSequence Numberがそのまま(0x80000004)で、LS age が MAXAGE 3600 の状態でLSAがフラッドされています。

図1 OSPF MaxAge

結果 R1側では R2のLSAが削除されました。

スポンサーリンク

OSPF 関連記事一覧

OSPFプロトコル解説記事

OSPF設定例記事

OSPF RFC

OSPF関連図書

私が所持しているOSPF本の紹介です。ただし絶版になっている本も紹介していますがご容赦ください。

著:ジョン・T. モイ, 監修:泰弘, 小原, 原著:Moy,John T., 翻訳:トップスタジオ

他ネットワークプロトコル解説記事

-OSPF