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 Age | LSAが生成されてからの経過秒数。寿命の管理に使う |
LSAとパケットの関係はOSPFパケットの種類とヘッダーフォーマットで扱っています。この記事はLSUの中に入っているLSAの側の話です。
LSAヘッダーの20バイト
どのタイプのLSAも、先頭の20バイトは同じ形をしています。
| フィールド | サイズ | 内容 |
|---|---|---|
| LS Age | 16ビット | 生成されてからの経過秒数。1800秒(LSRefreshTime)で再生成され、3600秒(MaxAge)で削除される。最上位ビットはDoNotAgeフラグ |
| Options | 8ビット | エリアの性質を示すビット列。E(外部経路)、N(NSSA)、DCなど。詳細はOptionsフィールド |
| LS Type | 8ビット | LSAの種類。1〜5、7、9〜11 |
| Link State ID | 32ビット | LSAの識別子。種類ごとに意味が違う(ルータID、DRのインタフェースアドレス、ネットワーク番号) |
| Advertising Router | 32ビット | そのLSAを生成したルータのルータID |
| LS Sequence Number | 32ビット | 0x80000001から始まり、再生成のたびに1つ増える |
| LS Checksum | 16ビット | LS Ageを除いた全体のFletcherチェックサム |
| Length | 16ビット | ヘッダーを含む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です。
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: 4Length: 72はこのLSA全体の長さで、20バイトのヘッダーに4本のリンク情報(Number of Links: 4)が続いています。
同じヘッダーをパケット側から見ると、ビット単位に展開されます。次はキャプチャーのNo.528(後述するリフレッシュのLSU)で、LS Ageの最上位ビットがDo Not Age Flagとして分離されているのが分かります。
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: 2LSAの種類
LSAは用途ごとに種類が分かれていて、種類によって届く範囲が違います。
| Type | 名前 | 生成するルータ | 範囲 | 解説記事 |
|---|---|---|---|---|
| 1 | Router-LSA | すべてのルータ | エリア内 | OSPFとは |
| 2 | Network-LSA | DR | エリア内 | DRとBDR |
| 3 | Summary-LSA | ABR | エリア内(隣のエリアへABRが作り直す) | マルチエリアとABR |
| 4 | ASBR Summary-LSA | ABR | エリア内(同上) | マルチエリアとABR |
| 5 | AS External-LSA | ASBR | AS全体(スタブ/NSSAを除く) | 外部経路 |
| 7 | NSSA External-LSA | NSSA内のASBR | そのNSSAの中だけ | NSSA |
| 9 / 10 / 11 | Opaque 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がプロセス全体の集計に出ます。
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で入るためです。
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のような拡張機能を有効にしていないため、生成されていません。
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が次の順で決めています。
| 順番 | 比較するもの | 判定 |
|---|---|---|
| 1 | LS Sequence Number | 大きいほうが新しい(符号付き32ビットとして比較) |
| 2 | LS Checksum | シーケンス番号が同じなら、大きいほうが新しい |
| 3 | MaxAge | 片方だけがMaxAge(3600)なら、MaxAgeのほうが新しい |
| 4 | LS Ageの差 | 差が15分(MaxAgeDiff)を超えるなら、若いほうが新しい |
| — | それ以外 | 同一のインスタンスとみなす |
実際にシーケンス番号が増える様子を見てみます。R11のLoopback0のコストを1から5に変更すると、R11は自分のRouter-LSAを作り直します。
(R11)
router ospf 1
area 2
interface Loopback0
cost 5変更前のヘッダーは次のとおりでした(再掲。LS Seq Number: 80000004、Checksum: 0xc1d7)。
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になっている点も見てとれます。
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)。
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.255LSAの寿命
LSAは作られっぱなしではなく、時間で管理されています。ここで注意したいのは、RFCが定める値と実機の既定値は同じとは限らないという点です。まずRFC 2328のAppendix Bが定めるアーキテクチャ定数から見ます。
| 定数 | RFC 2328の値 | 意味 |
|---|---|---|
| LSRefreshTime | 30分(1800秒) | LS Ageがこの値に達すると、内容が同じでもLSAを作り直す |
| MaxAge | 1時間(3600秒) | LSAの寿命の上限。この値になったLSAは経路計算に使われず、削除される |
| MinLSInterval | 5秒 | 同じLSAを作り直す最小間隔 |
| MinLSArrival | 1秒 | 同じLSAを受け取る最小間隔。これより速く届いたものは捨てる |
| CheckAge | 5分 | LS AgeがCheckAgeの倍数になるたびにチェックサムを検証する |
| MaxAgeDiff | 15分 | フラッディング中に生じうるLS Ageのばらつきの上限 |
| LSInfinity | 0xffffff(16777215) | 「到達できない」ことを示すメトリック値 |
RFCではこれらを「アーキテクチャ定数」と呼び、設定で変える前提になっていません。ところが実機の値を見ると、いくつかはRFCの値より大幅に小さくなっています。IOS XRの既定値はshow ospfで確認できます。
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 secondsRFCの値と並べると次のようになります。MinLSIntervalとMinLSArrivalが桁違いに短いのが分かります。
| 項目 | RFC 2328 | XRd 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>(ミリ秒) |
| MaxAge | 3600秒 | 3600秒(取り消しのLS Ageが3600) | 変更不可 |
| LSAのグループ処理 | 規定なし | LSAグループペーシング | timers lsa group-pacing <10-1800> |
| フラッディングの間隔 | 規定なし | 33ミリ秒 | timers pacing flood |
| LSA生成のスロットル | 規定なし | 初期50ms/最小200ms/最大5000ms | timers 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にはない実装機能です。
show ospfで確認してください。リフレッシュ(1800秒)
内容が何も変わらなくても、LSAは定期的に作り直されます。作り直さないとLS AgeがMaxAgeに達して消えてしまうためです。R3が生成しているType 3(11.11.11.11)を追いかけると、次のように変化しました。
| 時刻 | LS age | LS Seq |
|---|---|---|
| 00:07:47 | 1833 | 0x80000003 |
| 00:08:51 | 1896 | 0x80000003 |
| 00:09:54 | 25 | 0x80000004 |
リフレッシュ直前の状態です。LS Ageが1800秒を超えていますが、まだシーケンス番号は0x80000003のままです。
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)は同じままです。
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秒+α」を見込んだものです。
0x80000001や0x80000002のまま残っているLSAを見つけたら、そのLSAは最近作られたばかりだと分かります。トラブルシュートのとき、LSAが作り直されているかどうかの目安になります。MaxAge(3600秒)による削除
到達できなくなった宛先のLSAは、LS Ageを3600(MaxAge)にして流し直すことで削除されます。R12のLoopback0をOSPFから外したときの様子です。
(R12)
router ospf 1
area 2
no interface Loopback0R3のLSDBからは該当のType 3が消え、経路も無くなります。
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と分けて表示しています。
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取り消しにはもう1つ、LSInfinity(0xffffff = 16777215)をメトリックに入れる方法があります。Summary-LSAとAS External-LSAではこちらも使えて、経路集約の記事ではABRが個別のType 3を取り消す際に、MaxAgeとLSInfinityの両方が同時に使われている様子を載せています。
| 方法 | 使う場面 | LSDBでの見え方 |
|---|---|---|
| MaxAge(3600) | どのLSAでも使える。プリマチュアエイジングと呼ぶ | LS Ageが3600になり、やがて消える |
LSInfinity(0xffffff) | Summary-LSAとAS External-LSA | LSAは残るが「到達不能」として扱われる |
実機でLSAヘッダーを読む
show ospf databaseをタイプ指定なしで実行すると、LSAが1行ずつ並びます。この1行がヘッダーの主要フィールドに対応しています。
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 ID | Link State ID |
| ADV Router | Advertising Router |
| Age | LS Age |
| Seq# | LS Sequence Number |
| Checksum | LS Checksum |
| Link count | Router-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.txt | show 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出力 | syslog | running-config |
|---|---|---|---|
| R1 | show | log | run |
| R2 | show | log | run |
| R3 | show | log | run |
| R4 | show | log | run |
| R11 | show | log | run |
| R12 | show | log | run |
| R13 | show | log | run |
このSTEPではR11の自分のRouter-LSAも取得しています。
STEP 1:R11のLoopback0をcost 5に — Router-LSAが再生成され、シーケンス番号が1つ増える
| ルータ | show出力 | syslog | running-config |
|---|---|---|---|
| R1 | show | log | run |
| R2 | show | log | run |
| R3 | show | log | run |
| R4 | show | log | run |
| R11 | show | log | run |
| R12 | show | log | run |
| R13 | show | log | run |
このSTEPではR11 の Router-LSAも取得しています。
STEP 2:コストを元に戻す — シーケンス番号はさらに1つ増える(戻らない)
| ルータ | show出力 | syslog | running-config |
|---|---|---|---|
| R1 | show | log | run |
| R2 | show | log | run |
| R3 | show | log | run |
| R4 | show | log | run |
| R11 | show | log | run |
| R12 | show | log | run |
| R13 | show | log | run |
このSTEPではR11 の Router-LSAも取得しています。
STEP 3:R12のLoopback0をOSPFから外す — 該当LSAがMaxAgeで取り消される
| ルータ | show出力 | syslog | running-config |
|---|---|---|---|
| R1 | show | log | run |
| R2 | show | log | run |
| R3 | show | log | run |
| R4 | show | log | run |
| R11 | show | log | run |
| R12 | show | log | run |
| R13 | show | log | run |
このSTEPではR3 の LSAと経路が消えたことの確認も取得しています。
STEP 4:R12のLoopback0を戻し、LSリフレッシュを待つ — 変更なしでもLSAが作り直される
| ルータ | show出力 | syslog | running-config |
|---|---|---|---|
| R1 | show | log | run |
| R2 | show | log | run |
| R3 | show | log | run |
| R4 | show | log | run |
| R11 | show | log | run |
| R12 | show | log | run |
| R13 | show | log | run |
このSTEPではR3 の リフレッシュ前のLSDB、R3 の リフレッシュ直前、R3 の リフレッシュ後も取得しています。
STEP 5:最終状態 — 変更なし
| ルータ | show出力 | syslog | running-config |
|---|---|---|---|
| R1 | show | log | run |
| R2 | show | log | run |
| R3 | show | log | run |
| R4 | show | log | run |
| R11 | show | log | run |
| R12 | show | log | run |
| R13 | show | log | run |
キャプチャーはバックボーン側(R2 - R3間)で45分間取得しました(フィルタはip proto 89)。この中にリフレッシュ(No.97とNo.528)とMaxAgeによる取り消し(No.144)が入っています。
参考
| RFC | タイトル | 概要 |
|---|---|---|
| RFC 2328 | OSPF Version 2 | LSAヘッダーのフォーマット(Appendix A.4.1)、各フィールドの定義(Section 12.1)、シーケンス番号(Section 12.1.6)、新旧の判定(Section 13.1)、老化とMaxAge(Section 14)、アーキテクチャ定数(Appendix B)。 |
| RFC 5250 | The OSPF Opaque LSA Option | Type 9 / 10 / 11のOpaque LSAの定義。 |
関連記事
- OSPFとは
- OSPF ルータID
- OSPFパケットの種類とヘッダーフォーマット
- OSPFの状態遷移
- OSPF Optionsフィールド
- DRとBDR
- OSPF ネットワークタイプ
- OSPFの外部経路(スタティックの再配布)
- OSPFのマルチエリアとABR
- OSPFのスタブエリアとトータリースタブエリア
- OSPFのNSSAとトータリーNSSA
- OSPFの経路集約
- OSPFのLSAとLSAヘッダー
- OSPFのRouter-LSA(Type 1)
- OSPFのNetwork-LSA(Type 2)
- OSPFのSummary-LSA(Type 3)
- OSPFのASBR Summary-LSA(Type 4)
- OSPFのAS External-LSA(Type 5)