メインコンテンツへスキップ
  1. ネットワーク 記事一覧/
  2. OSPF記事一覧/

OSPFのLSAとLSAヘッダー

目次

LSAとは

OSPFの各ルータは、自分のリンクの状態をLSA(Link State Advertisement)という単位に書いて広告します。受け取ったLSAを集めたものがLSDB(リンクステートデータベース)で、そこからSPFを計算して経路を作ります。ここまでの記事でType 1からType 7まで一通り登場しましたが、この記事ではLSAそのものの構造、つまりヘッダーのフィールドと、種類の一覧、そして寿命の仕組みを1か所にまとめます。

用語説明
LSAリンク状態を表すデータ単位。20バイトの共通ヘッダー+種類ごとの本体
LSDB受け取ったLSAを蓄積したデータベース。同じエリアのルータは同じ内容を持つ
LSU(Link State Update)LSAを運ぶOSPFパケット(Type 4)。1つのLSUに複数のLSAを入れられる
フラッディングLSAを隣接ルータへ伝播させる動作。LSAの種類ごとに届く範囲が違う
LS AgeLSAが生成されてからの経過秒数。寿命の管理に使う

LSAとパケットの関係はOSPFパケットの種類とヘッダーフォーマットで扱っています。この記事はLSUの中に入っているLSAの側の話です。

LSAヘッダーの20バイト

どのタイプのLSAも、先頭の20バイトは同じ形をしています。

フィールドサイズ内容
LS Age16ビット生成されてからの経過秒数。1800秒(LSRefreshTime)で再生成され、3600秒(MaxAge)で削除される。最上位ビットはDoNotAgeフラグ
Options8ビットエリアの性質を示すビット列。E(外部経路)、N(NSSA)、DCなど。詳細はOptionsフィールド
LS Type8ビットLSAの種類。1〜5、7、9〜11
Link State ID32ビットLSAの識別子。種類ごとに意味が違う(ルータID、DRのインタフェースアドレス、ネットワーク番号)
Advertising Router32ビットそのLSAを生成したルータのルータID
LS Sequence Number32ビット0x80000001から始まり、再生成のたびに1つ増える
LS Checksum16ビットLS Ageを除いた全体のFletcherチェックサム
Length16ビットヘッダーを含むLSA全体の長さ(バイト)

ここで重要なのは、LSAを一意に識別するのは「LS Type・Link State ID・Advertising Router」の3つ組だという点です(RFC 2328のSection 13.1)。同じ3つ組のLSAが2つ現れたら、それは同じLSAの別インスタンスであり、後述の規則でどちらが新しいかを判定します。

実機ではshow ospf database <タイプ> <Link State ID>でヘッダーの中身がそのまま読めます。次はR11が自分で生成したRouter-LSAです。

R11 show ospf database router 11.11.11.11(ヘッダー部分)
RP/0/RP0/CPU0:R11#show ospf database router 11.11.11.11
Mon Sep  7 23:33:39.298 UTC


            OSPF Router with ID (11.11.11.11) (Process ID 1)

		Router Link States (Area 2)

  LS age: 313
  Options: (No TOS-capability, DC)
  LS Type: Router Links
  Link State ID: 11.11.11.11
  Advertising Router: 11.11.11.11
  LS Seq Number: 80000004
  Checksum: 0xc1d7
  Length: 72
   Number of Links: 4

Length: 72はこのLSA全体の長さで、20バイトのヘッダーに4本のリンク情報(Number of Links: 4)が続いています。

同じヘッダーをパケット側から見ると、ビット単位に展開されます。次はキャプチャーのNo.528(後述するリフレッシュのLSU)で、LS Ageの最上位ビットがDo Not Age Flagとして分離されているのが分かります。

No.528 LS Update のLSAヘッダー(tshark -V)
Open Shortest Path First
    OSPF Header
        Version: 2
        Message Type: LS Update (4)
        Packet Length: 56
        Source OSPF Router: 3.3.3.3
        Area ID: 0.0.0.0 (Backbone)
        Checksum: 0xf7bb [correct]
        Instance ID: Base IPv4 Unicast Instance (0)
        Auth Type: Null (0)
        Auth Data (none): 0000000000000000
    LS Update Packet
        Number of LSAs: 1
        LSA-type 3 (Summary-LSA (IP network)), len 28
            .000 0000 0000 0001 = LS Age (seconds): 1
            0... .... .... .... = Do Not Age Flag: 0
            Options: 0x22, (DC) Demand Circuits, (E) External Routing
                0... .... = DN: Not set
                .0.. .... = (O) Opaque: Not set
                ..1. .... = (DC) Demand Circuits: Supported
                ...0 .... = (L) LLS Data block: Not Present
                .... 0... = (N) NSSA: Not supported
                .... .0.. = (MC) Multicast: Not capable
                .... ..1. = (E) External Routing: Capable
                .... ...0 = (MT) Multi-Topology Routing: No
            LS Type: Summary-LSA (IP network) (3)
            Link State ID: 11.11.11.11
            Advertising Router: 3.3.3.3
            Sequence Number: 0x80000004
            Checksum: 0x41be
            Length: 28
            Netmask: 255.255.255.255
            TOS: 0
            Metric: 2
上のtshark出力のパケット(No.528 リフレッシュのLSU)のpcapをダウンロード

LSAの種類

LSAは用途ごとに種類が分かれていて、種類によって届く範囲が違います

Type名前生成するルータ範囲解説記事
1Router-LSAすべてのルータエリア内OSPFとは
2Network-LSADRエリア内DRとBDR
3Summary-LSAABRエリア内(隣のエリアへABRが作り直す)マルチエリアとABR
4ASBR Summary-LSAABRエリア内(同上)マルチエリアとABR
5AS External-LSAASBRAS全体(スタブ/NSSAを除く)外部経路
7NSSA External-LSANSSA内のASBRそのNSSAの中だけNSSA
9 / 10 / 11Opaque LSA拡張機能を使うルータリンク内/エリア内/AS全体RFC 5250。この検証では未使用

Type 6(MOSPF)は廃止されており、Type 8はOSPFv3のLink-LSAです。

このうちType 1については、インタフェース1本がエントリいくつになるかと、設定を変えたときにどのフィールドが動くかをRouter-LSA(Type 1)で詳しく扱っています。

実機で数える

show ospf database database-summaryを使うと、エリアごとにタイプ別のLSA数が1画面で分かります。この検証構成は、エリア0とエリア2のそれぞれに1本ずつブロードキャストのセグメントを置き、エリア2をNSSAにしてあるので、Type 1・2・3・4・5・7がすべて存在します。

まずバックボーン側のR2です。エリア0にType 2(Network 1)とType 4(Summary ASBR 1)があり、AS全体を流れるType 5がプロセス全体の集計に出ます。

R2 show ospf database database-summary(エリア0とエリア1)
RP/0/RP0/CPU0:R2#show ospf database database-summary
Mon Sep  7 23:31:03.909 UTC


            OSPF Router with ID (2.2.2.2) (Process ID 1)

Area 0 database summary
  LSA Type      Count    Delete   Maxage
  Router        3        0        0       
  Network       1        0        0       
  Summary Net   16       0        0       
  Summary ASBR  1        0        0       
  Type-7 Ext    0        0        0       
  Opaque Link   0        0        0       
  Opaque Area   0        0        0       
  Subtotal      21       0        0       

Area 1 database summary
  LSA Type      Count    Delete   Maxage
  Router        2        0        0       
  Network       0        0        0       
  Summary Net   12       0        0       
  Summary ASBR  2        0        0       
  Type-7 Ext    0        0        0       
  Opaque Link   0        0        0       
  Opaque Area   0        0        0       
  Subtotal      16       0        0       

Process 1 database summary
  Router        5        0        0       
  Network       1        0        0       
  Summary Net   28       0        0       
  Summary ASBR  3        0        0       
  Type-7 Ext    0        0        0       
  Opaque Link   0        0        0       
  Opaque Area   0        0        0       
  Type-5 Ext    2        0        0       
  Opaque AS     0        0        0       
  Total         39       0        0       

一方、NSSAであるエリア2の中にいるR13では、Type 5が0でType 7が1になります。NSSAには外部経路がType 7で入るためです。

R13 show ospf database database-summary(エリア2=NSSA)
RP/0/RP0/CPU0:R13#show ospf database database-summary
Mon Sep  7 23:33:10.542 UTC


            OSPF Router with ID (13.13.13.13) (Process ID 1)

Area 2 database summary
  LSA Type      Count    Delete   Maxage
  Router        5        0        0       
  Network       1        0        0       
  Summary Net   14       0        0       
  Summary ASBR  0        0        0       
  Type-7 Ext    1        0        0       
  Opaque Link   0        0        0       
  Opaque Area   0        0        0       
  Subtotal      21       0        0       

Process 1 database summary
  Router        5        0        0       
  Network       1        0        0       
  Summary Net   14       0        0       
  Summary ASBR  0        0        0       
  Type-7 Ext    1        0        0       
  Opaque Link   0        0        0       
  Opaque Area   0        0        0       
  Type-5 Ext    0        0        0       
  Opaque AS     0        0        0       
  Total         21       0        0       

Opaque LSA(Type 9/10/11)はどちらも0です。MPLS-TEやSegment Routingのような拡張機能を有効にしていないため、生成されていません。

R13 show ospf database opaque-area(空)
RP/0/RP0/CPU0:R13#show ospf database opaque-area
Mon Sep  7 23:33:08.081 UTC


            OSPF Router with ID (13.13.13.13) (Process ID 1)

LSAの新旧はどう判定するか

同じLSA(LS Type・Link State ID・Advertising Routerが同じ)のインスタンスが2つあるとき、どちらが新しいかはRFC 2328のSection 13.1が次の順で決めています。

順番比較するもの判定
1LS Sequence Number大きいほうが新しい(符号付き32ビットとして比較)
2LS Checksumシーケンス番号が同じなら、大きいほうが新しい
3MaxAge片方だけがMaxAge(3600)なら、MaxAgeのほうが新しい
4LS Ageの差差が15分(MaxAgeDiff)を超えるなら、若いほうが新しい
それ以外同一のインスタンスとみなす

実際にシーケンス番号が増える様子を見てみます。R11のLoopback0のコストを1から5に変更すると、R11は自分のRouter-LSAを作り直します。

投入した設定
(R11)
router ospf 1
 area 2
  interface Loopback0
   cost 5

変更前のヘッダーは次のとおりでした(再掲。LS Seq Number: 80000004Checksum: 0xc1d7)。

変更前 R11 show ospf database router 11.11.11.11

  LS age: 313
  Options: (No TOS-capability, DC)
  LS Type: Router Links
  Link State ID: 11.11.11.11
  Advertising Router: 11.11.11.11
  LS Seq Number: 80000004
  Checksum: 0xc1d7
  Length: 72
   Number of Links: 4

    Link connected to: a Stub Network
     (Link ID) Network/subnet number: 11.11.11.11
     (Link Data) Network Mask: 255.255.255.255

変更後はシーケンス番号が1つ増えて80000005になり、LS Ageは0付近に戻り、チェックサムも変わっています。Loopback0のメトリックが5になっている点も見てとれます。

変更後 R11 show ospf database router 11.11.11.11

  LS age: 10
  Options: (No TOS-capability, DC)
  LS Type: Router Links
  Link State ID: 11.11.11.11
  Advertising Router: 11.11.11.11
  LS Seq Number: 80000005
  Checksum: 0x88c
  Length: 72
   Number of Links: 4

    Link connected to: a Stub Network
     (Link ID) Network/subnet number: 11.11.11.11
     (Link Data) Network Mask: 255.255.255.255

ここでコストを元の1へ戻すと、シーケンス番号は80000004に戻るのではなく80000006へ進みます。シーケンス番号は内容と無関係に単調増加し、0x80000001(InitialSequenceNumber)から始まって0x7fffffff(MaxSequenceNumber)まで進むと、いったんLSAをMaxAgeで消してから採番し直す規定です(RFC 2328のSection 12.1.6)。

元に戻した後 R11 show ospf database router 11.11.11.11

  LS age: 11
  Options: (No TOS-capability, DC)
  LS Type: Router Links
  Link State ID: 11.11.11.11
  Advertising Router: 11.11.11.11
  LS Seq Number: 80000006
  Checksum: 0xbdd9
  Length: 72
   Number of Links: 4

    Link connected to: a Stub Network
     (Link ID) Network/subnet number: 11.11.11.11
     (Link Data) Network Mask: 255.255.255.255

LSAの寿命

LSAは作られっぱなしではなく、時間で管理されています。ここで注意したいのは、RFCが定める値と実機の既定値は同じとは限らないという点です。まずRFC 2328のAppendix Bが定めるアーキテクチャ定数から見ます。

定数RFC 2328の値意味
LSRefreshTime30分(1800秒)LS Ageがこの値に達すると、内容が同じでもLSAを作り直す
MaxAge1時間(3600秒)LSAの寿命の上限。この値になったLSAは経路計算に使われず、削除される
MinLSInterval5秒同じLSAを作り直す最小間隔
MinLSArrival1秒同じLSAを受け取る最小間隔。これより速く届いたものは捨てる
CheckAge5分LS AgeがCheckAgeの倍数になるたびにチェックサムを検証する
MaxAgeDiff15分フラッディング中に生じうるLS Ageのばらつきの上限
LSInfinity0xffffff(16777215)「到達できない」ことを示すメトリック値

RFCではこれらを「アーキテクチャ定数」と呼び、設定で変える前提になっていません。ところが実機の値を見ると、いくつかはRFCの値より大幅に小さくなっています。IOS XRの既定値はshow ospfで確認できます。

R3 show ospf | include msecs と refresh interval(XRの既定値)
RP/0/RP0/CPU0:R3#show ospf | include msecs
Tue Sep  8 01:20:11.036 UTC
 Initial SPF schedule delay 50 msecs
 Minimum hold time between two consecutive SPFs 200 msecs
 Maximum wait time between two consecutive SPFs 5000 msecs
 Initial LSA throttle delay 50 msecs
 Minimum hold time for LSA throttle 200 msecs
 Maximum wait time for LSA throttle 5000 msecs
 Minimum LSA interval 200 msecs. Minimum LSA arrival 100 msecs
 Flood pacing interval 33 msecs. Retransmission pacing interval 66 msecs
RP/0/RP0/CPU0:R3#show ospf | include refresh interval
Tue Sep  8 01:20:11.825 UTC
 LSA refresh interval 1800 seconds

RFCの値と並べると次のようになります。MinLSIntervalとMinLSArrivalが桁違いに短いのが分かります。

項目RFC 2328XRd 26.1.1の既定IOS XRの設定コマンド
LSAのリフレッシュ間隔1800秒1800秒(一致)timers lsa refresh <1800-2700>
MinLSInterval(同じLSAを作り直す最小間隔)5秒200ミリ秒timers throttle lsa all <0-600000>(ミリ秒)
MinLSArrival(同じLSAを受け取る最小間隔)1秒100ミリ秒timers lsa min-arrival <0-600000>(ミリ秒)
MaxAge3600秒3600秒(取り消しのLS Ageが3600)変更不可
LSAのグループ処理規定なしLSAグループペーシングtimers lsa group-pacing <10-1800>
フラッディングの間隔規定なし33ミリ秒timers pacing flood
LSA生成のスロットル規定なし初期50ms/最小200ms/最大5000mstimers throttle lsa all

RFCの値そのままなのはリフレッシュ間隔とMaxAgeだけで、LSAの生成・受信のレート制限は実装が決めた値です。1998年のRFC 2328が想定していた収束時間より、いまの機器はずっと速く動くためです。show ospfの「Initial LSA throttle delay 50 msecs/Minimum hold time 200 msecs/Maximum wait time 5000 msecs」は、リンクがばたついたときにLSAの再生成間隔を指数的に広げるスロットルで、これもRFCにはない実装機能です。

書籍や試験対策では「MinLSIntervalは5秒」と説明されることがありますが、実機のログやキャプチャーはその値では説明がつきません。IOS XRの既定はMinLSIntervalが200ミリ秒、MinLSArrivalが100ミリ秒です。値は必ずshow ospfで確認してください。

リフレッシュ(1800秒)

内容が何も変わらなくても、LSAは定期的に作り直されます。作り直さないとLS AgeがMaxAgeに達して消えてしまうためです。R3が生成しているType 3(11.11.11.11)を追いかけると、次のように変化しました。

時刻LS ageLS Seq
00:07:4718330x80000003
00:08:5118960x80000003
00:09:54250x80000004

リフレッシュ直前の状態です。LS Ageが1800秒を超えていますが、まだシーケンス番号は0x80000003のままです。

リフレッシュ前 R3 show ospf database summary 11.11.11.11
RP/0/RP0/CPU0:R3#show ospf database summary 11.11.11.11
Tue Sep  8 00:10:02.633 UTC


            OSPF Router with ID (3.3.3.3) (Process ID 1)

		Summary Net Link States (Area 0)

  LS age: 31
  Options: (No TOS-capability, DC)
  LS Type: Summary Links (Network)
  Link State ID: 11.11.11.11 (Summary Network Number)
  Advertising Router: 3.3.3.3
  LS Seq Number: 80000004
  Checksum: 0x41be
  Length: 28
  Network Mask: /32
	TOS: 0 	Metric: 2 

そのあとで見ると、LS Ageが0付近に戻り、シーケンス番号が1つ増えています。チェックサムも変わっていますが、これはヘッダーのシーケンス番号が変わったためで、経路の内容(Metric: 2)は同じままです。

リフレッシュ後 R3 show ospf database summary 11.11.11.11
RP/0/RP0/CPU0:R3#show ospf database summary 11.11.11.11
Tue Sep  8 00:10:27.208 UTC


            OSPF Router with ID (3.3.3.3) (Process ID 1)

		Summary Net Link States (Area 0)

  LS age: 55
  Options: (No TOS-capability, DC)
  LS Type: Summary Links (Network)
  Link State ID: 11.11.11.11 (Summary Network Number)
  Advertising Router: 3.3.3.3
  LS Seq Number: 80000004
  Checksum: 0x41be
  Length: 28
  Network Mask: /32
	TOS: 0 	Metric: 2 

キャプチャーでも同じLSAの再生成を時刻付きで確認できます。同じLSAが相対時刻434.4秒(0x80000003)と2368.8秒(0x80000004)の2回流れており、その差は1934秒でした。RFC 2328が定めるLSRefreshTimeは1800秒ちょうどですが、実測はそれより約130秒長くなっています。これはIOS XRがLSAグループペーシングtimers lsa group-pacing)でLSAをまとめて処理しているためです。リフレッシュ対象になったLSAは次のグループ処理のタイミングまで待ってから再生成されます。timers lsa refreshの設定範囲が1800-2700秒になっているのも、この「1800秒+α」を見込んだものです。

リフレッシュのたびにシーケンス番号が増えるということは、長く動いているルータほどシーケンス番号が大きいということです。逆に、シーケンス番号が0x800000010x80000002のまま残っているLSAを見つけたら、そのLSAは最近作られたばかりだと分かります。トラブルシュートのとき、LSAが作り直されているかどうかの目安になります。

MaxAge(3600秒)による削除

到達できなくなった宛先のLSAは、LS Ageを3600(MaxAge)にして流し直すことで削除されます。R12のLoopback0をOSPFから外したときの様子です。

投入した設定
(R12)
router ospf 1
 area 2
  no interface Loopback0

R3のLSDBからは該当のType 3が消え、経路も無くなります。

R3 show ospf database summary 12.12.12.12 と show route 12.12.12.12/32
RP/0/RP0/CPU0:R3#show ospf database summary 12.12.12.12
Mon Sep  7 23:40:49.818 UTC


            OSPF Router with ID (3.3.3.3) (Process ID 1)
RP/0/RP0/CPU0:R3#show route 12.12.12.12/32
Mon Sep  7 23:40:50.663 UTC

% Network not in table

このとき実際に流れたのが、添付キャプチャーのNo.144です。LS Age (seconds): 3600となっており、これがMaxAgeによる取り消しです。ヘッダーのLS Ageは16ビットですが最上位がDoNotAgeフラグなので、tsharkは.000 1110 0001 0000 = LS Age (seconds): 3600と分けて表示しています。

No.144 LS Update(MaxAgeによる取り消し)tshark -V
Open Shortest Path First
    OSPF Header
        Version: 2
        Message Type: LS Update (4)
        Packet Length: 56
        Source OSPF Router: 3.3.3.3
        Area ID: 0.0.0.0 (Backbone)
        Checksum: 0x2472 [correct]
        Instance ID: Base IPv4 Unicast Instance (0)
        Auth Type: Null (0)
        Auth Data (none): 0000000000000000
    LS Update Packet
        Number of LSAs: 1
        LSA-type 3 (Summary-LSA (IP network)), len 28
            .000 1110 0001 0000 = LS Age (seconds): 3600
            0... .... .... .... = Do Not Age Flag: 0
            Options: 0x22, (DC) Demand Circuits, (E) External Routing
                0... .... = DN: Not set
                .0.. .... = (O) Opaque: Not set
                ..1. .... = (DC) Demand Circuits: Supported
                ...0 .... = (L) LLS Data block: Not Present
                .... 0... = (N) NSSA: Not supported
                .... .0.. = (MC) Multicast: Not capable
                .... ..1. = (E) External Routing: Capable
                .... ...0 = (MT) Multi-Topology Routing: No
            LS Type: Summary-LSA (IP network) (3)
            Link State ID: 12.12.12.12
            Advertising Router: 3.3.3.3
            Sequence Number: 0x80000002
            Checksum: 0x03fc
            Length: 28
            Netmask: 255.255.255.255
            TOS: 0
            Metric: 16777215
上のtshark出力のパケット(No.144 MaxAgeの取り消し)のpcapをダウンロード

取り消しにはもう1つ、LSInfinity(0xffffff = 16777215)をメトリックに入れる方法があります。Summary-LSAとAS External-LSAではこちらも使えて、経路集約の記事ではABRが個別のType 3を取り消す際に、MaxAgeとLSInfinityの両方が同時に使われている様子を載せています。

方法使う場面LSDBでの見え方
MaxAge(3600)どのLSAでも使える。プリマチュアエイジングと呼ぶLS Ageが3600になり、やがて消える
LSInfinity(0xffffffSummary-LSAとAS External-LSALSAは残るが「到達不能」として扱われる

実機でLSAヘッダーを読む

show ospf databaseをタイプ指定なしで実行すると、LSAが1行ずつ並びます。この1行がヘッダーの主要フィールドに対応しています。

R3 show ospf database(先頭部分)
RP/0/RP0/CPU0:R3#show ospf database
Tue Sep  8 00:06:20.202 UTC


            OSPF Router with ID (3.3.3.3) (Process ID 1)

		Router Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum Link count
2.2.2.2         2.2.2.2         362         0x80000005 0x00d076 4
3.3.3.3         3.3.3.3         325         0x80000004 0x004e61 2
4.4.4.4         4.4.4.4         310         0x80000004 0x000b80 3

		Net Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum
10.0.23.3       3.3.3.3         325         0x80000002 0x007f75

		Summary Net Link States (Area 0)
ヘッダーのフィールド
Link IDLink State ID
ADV RouterAdvertising Router
AgeLS Age
Seq#LS Sequence Number
ChecksumLS Checksum
Link countRouter-LSAだけ。本体のリンク数

タイプを指定すると(show ospf database router など)ヘッダーの全フィールドと本体が展開されます。LS AgeとSeq#を並べて見ると、そのLSAが最近作り直されたのか、放置されて古くなっているのかがすぐ分かります

検証構成

この記事の出力は、7台・3エリアのラボから採取しました。1つのラボにLSAのタイプをすべて登場させるため、次の2点を通常の構成から変えています。

工夫理由
エリア0(R2 - R3)とエリア2(R11 - R13)の2本をブロードキャストにしたDR/BDRが選出され、Network-LSA(Type 2)が生成される
エリア2をNSSAにし、その中のR13でスタティックを再配布したNSSA External-LSA(Type 7)が生成される

R1(エリア1)でもスタティックを再配布しているので、エリア0とエリア1にはType 5とType 4が存在します。結果として、R2から見ればType 1・2・3・4・5、R13から見ればType 1・2・3・7が同時に観測できます。

検証Configおよびshow結果

各STEPで7台すべてから、次の3種類をルータごとに分けて取得しています。検証Configはこの..._run.txtです(最終状態はSTEP 5のもの)。

ファイル内容
..._show.txtshow version / show interface description / show route / show route ospf / show ospf / show ospf interface / show ospf interface brief / show ospf neighbor / show ospf neighbor detail / show ospf database / show ospf database router / show ospf database network / show ospf statistics interface / show ospf database summary / show ospf database asbr-summary / show ospf database external / show ospf database nssa-external / show ospf database opaque-area / show ospf border-routers / show ospf routes / show ospf database database-summary / show ospf trace events
..._log.txtそのSTEPの範囲だけに絞ったshow logging
..._run.txtそのSTEP時点のshow running-config(=そのSTEPの検証Config)

STEP 0:起動直後(全タイプが揃った状態)

ルータshow出力syslogrunning-config
R1showlogrun
R2showlogrun
R3showlogrun
R4showlogrun
R11showlogrun
R12showlogrun
R13showlogrun

このSTEPではR11の自分のRouter-LSAも取得しています。

STEP 1:R11のLoopback0をcost 5 — Router-LSAが再生成され、シーケンス番号が1つ増える

ルータshow出力syslogrunning-config
R1showlogrun
R2showlogrun
R3showlogrun
R4showlogrun
R11showlogrun
R12showlogrun
R13showlogrun

このSTEPではR11 の Router-LSAも取得しています。

STEP 2:コストを元に戻す — シーケンス番号はさらに1つ増える(戻らない)

ルータshow出力syslogrunning-config
R1showlogrun
R2showlogrun
R3showlogrun
R4showlogrun
R11showlogrun
R12showlogrun
R13showlogrun

このSTEPではR11 の Router-LSAも取得しています。

STEP 3:R12のLoopback0をOSPFから外す — 該当LSAがMaxAgeで取り消される

ルータshow出力syslogrunning-config
R1showlogrun
R2showlogrun
R3showlogrun
R4showlogrun
R11showlogrun
R12showlogrun
R13showlogrun

このSTEPではR3 の LSAと経路が消えたことの確認も取得しています。

STEP 4:R12のLoopback0を戻し、LSリフレッシュを待つ — 変更なしでもLSAが作り直される

ルータshow出力syslogrunning-config
R1showlogrun
R2showlogrun
R3showlogrun
R4showlogrun
R11showlogrun
R12showlogrun
R13showlogrun

このSTEPではR3 の リフレッシュ前のLSDBR3 の リフレッシュ直前R3 の リフレッシュ後も取得しています。

STEP 5:最終状態 — 変更なし

ルータshow出力syslogrunning-config
R1showlogrun
R2showlogrun
R3showlogrun
R4showlogrun
R11showlogrun
R12showlogrun
R13showlogrun

キャプチャーはバックボーン側(R2 - R3間)で45分間取得しました(フィルタはip proto 89)。この中にリフレッシュ(No.97とNo.528)とMaxAgeによる取り消し(No.144)が入っています。

45分間のキャプチャー(リフレッシュとMaxAgeを含む)をダウンロード

参考

RFCタイトル概要
RFC 2328OSPF Version 2LSAヘッダーのフォーマット(Appendix A.4.1)、各フィールドの定義(Section 12.1)、シーケンス番号(Section 12.1.6)、新旧の判定(Section 13.1)、老化とMaxAge(Section 14)、アーキテクチャ定数(Appendix B)。
RFC 5250The OSPF Opaque LSA OptionType 9 / 10 / 11のOpaque LSAの定義。

関連記事