Network-LSAとは
Network-LSA(Type 2)は、ブロードキャストのセグメントそのものを表すLSAです。Router-LSA(Type 1)がルータ1台の足元を書くのに対して、こちらは「この1本のイーサネットに誰と誰が乗っているか」を書きます。生成するのはそのセグメントのDRだけです。
| 項目 | 内容 |
|---|---|
| 生成するルータ | DRだけ。BDRもDROTHERも生成しない |
| いくつ作るか | セグメント1本につき1つ。DRが2つのセグメントを持てば2つ作る |
| 届く範囲 | そのエリアの中だけ |
| Link State ID | DRのインタフェースアドレス。ルータIDではない |
| Advertising Router | DRのルータID |
Link State IDとAdvertising Routerが「同じルータの別々の値」を指しているのがこのLSAの特徴です。
なぜセグメントを1つの頂点にするのか
point-to-pointのリンクなら、両端のRouter-LSAが互いを指すだけで「2点を結ぶ線」を表現できます。ところがブロードキャストのセグメントは何台でも乗れる面なので、線の集まりで表そうとすると数が爆発します。
4台なら辺は6本(向きを数えれば12)、10台なら45本です。台数の2乗で増えていきます。そこでOSPFは、セグメント自体をグラフの頂点として1つ立て、各ルータからその頂点へ辺を1本ずつ引く形にしました。これなら辺は台数と同じ数で済みます。
その「頂点」の実体がNetwork-LSAです。Type 2が無ければ、SPFはブロードキャストのセグメントを扱えません。
パケットフォーマット
20バイトの共通ヘッダーのあとは、4バイトのNetwork Maskと、4バイトのAttached Routerが並ぶだけです。
| フィールド | サイズ | 内容 |
|---|---|---|
| Network Mask | 4バイト | そのセグメントのサブネットマスク |
| Attached Router | 4バイト × N | セグメントで完全隣接になっている全ルータのルータID。DR自身も含む |
メトリックのフィールドがありません。 ネットワークからルータへ向かう辺のコストは常に0と決まっているためです(RFC 2328のSection 16.1)。ルータからネットワークへ向かうコストは、Router-LSAのTransitエントリのほうが持っています。
宛先のプレフィックスがどこにも書かれていない点にも注意が必要です。Link State ID(=DRのアドレス)とNetwork Maskの論理積で復元します。10.0.0.1と/24なら10.0.0.0/24です。
検証トポロジ
| ルータ | Lo0 | Gi0/0/0/0 | プライオリティ | 起動時の役割 |
|---|---|---|---|---|
| R1 | 1.1.1.1/32 | 10.0.0.1/24 | 100 | DR |
| R2 | 2.2.2.2/32 | 10.0.0.2/24 | 50 | BDR |
| R3 | 3.3.3.3/32 | 10.0.0.3/24 | 0 | DROTHER |
| R4 | 4.4.4.4/32 | 10.0.0.4/24 | 既定(1) | DROTHER |
4台とも単一エリア(エリア0)で、Lo0はpassive enableです。R3だけプライオリティ0にしてあり、DRにもBDRにもなれません。それでもセグメントには乗っているので、Attached Routerには載るはずです。
DR/BDRの選出そのものはDRとBDRで扱っています。この記事は選出の結果がNetwork-LSAにどう表れるかに絞ります。
セグメントとLSAの対応
起動直後のNetwork-LSAです。show ospf database network self-originateは自分がDRとして出したものだけを表示するので、DRのR1でしか中身が出ません。
RP/0/RP0/CPU0:R1#show ospf database network self-originate
Tue Sep 8 10:11:32.960 UTC
OSPF Router with ID (1.1.1.1) (Process ID 1)
Net Link States (Area 0)
Routing Bit Set on this LSA
LS age: 68
Options: (No TOS-capability, DC)
LS Type: Network Links
Link State ID: 10.0.0.1 (address of Designated Router)
Advertising Router: 1.1.1.1
LS Seq Number: 80000002
Checksum: 0x9960
Length: 40
Network Mask: /24
Attached Router: 1.1.1.1
Attached Router: 2.2.2.2
Attached Router: 3.3.3.3
Attached Router: 4.4.4.4| フィールド | 値 | どこから来たか |
|---|---|---|
| Link State ID | 10.0.0.1 | DRであるR1のインタフェースアドレス。ルータIDの1.1.1.1ではない |
| Advertising Router | 1.1.1.1 | R1のルータID |
| Network Mask | /24 | セグメントのマスク。宛先10.0.0.0/24はLink State IDとの論理積 |
| Attached Router | 1.1.1.1 / 2.2.2.2 / 3.3.3.3 / 4.4.4.4 | 4台すべて。プライオリティ0のR3もDR自身のR1も入る |
プライオリティ0のR3が載っているのがポイントです。「DRになれない」ことと「そのセグメントにいる」ことは別の話で、Attached Routerは後者だけを表します。
4台のRouter-LSAが同じ値を指す
Network-LSAが頂点だとして、そこへ向かう辺はどこにあるかというと、各ルータのRouter-LSAのTransitエントリです。4台とも、Link IDにDRのアドレスを書いています。
| ルータ | Transitエントリの Link ID | Link Data |
|---|---|---|
| R1 | 10.0.0.1 | 10.0.0.1 |
| R2 | 10.0.0.1 | 10.0.0.2 |
| R3 | 10.0.0.1 | 10.0.0.3 |
| R4 | 10.0.0.1 | 10.0.0.4 |
Link IDは4台とも同じ10.0.0.1で、Link Dataだけが各自のアドレスです。この共通のLink IDが、Router-LSAとNetwork-LSAを結ぶ鍵になります。SPFはTransitエントリのLink IDと同じLink State IDを持つNetwork-LSAを探して、そこへ辺を張ります。
LSDBを1行ずつ見ると、Router-LSAが4つとNetwork-LSAが1つという構成がそのまま見えます。
RP/0/RP0/CPU0:R2#show ospf database
Tue Sep 8 10:11:51.818 UTC
OSPF Router with ID (2.2.2.2) (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 95 0x80000003 0x0015e8 2
2.2.2.2 2.2.2.2 94 0x80000003 0x0005eb 2
3.3.3.3 3.3.3.3 88 0x80000003 0x00f4ee 2
4.4.4.4 4.4.4.4 88 0x80000003 0x00e4f1 2
Net Link States (Area 0)
Link ID ADV Router Age Seq# Checksum
10.0.0.1 1.1.1.1 88 0x80000002 0x009960ルータ4台に対してRouter-LSAが4つ、ブロードキャストのセグメント1本に対してNetwork-LSAが1つです。この数が合わなければ、隣接が張れていないかネットワークタイプの設定が違います。
パケットで見ると、Network Maskの位置とAttached Routerの並びがそのまま確認できます。キャプチャーのNo.142です。
Open Shortest Path First
OSPF Header
Version: 2
Message Type: LS Update (4)
Packet Length: 68
Source OSPF Router: 1.1.1.1
Area ID: 0.0.0.0 (Backbone)
Checksum: 0xa50a [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 2 (Network-LSA), len 40
.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: Network-LSA (2)
Link State ID: 10.0.0.1
Advertising Router: 1.1.1.1
Sequence Number: 0x80000004
Checksum: 0x9562
Length: 40
Netmask: 255.255.255.0
Attached Router: 1.1.1.1
Attached Router: 2.2.2.2
Attached Router: 3.3.3.3
Attached Router: 4.4.4.4設定を変えるとどう変わるか
4台の構成を1つずつ崩して、Network-LSAがどう追従するかを見ました。7STEPぶんをまとめます。
| STEP | 操作 | 生成者 | Link State ID | Seq | Attached Router |
|---|---|---|---|---|---|
| 0 | 起動直後 | R1 | 10.0.0.1 | 80000002 | 4台 |
| 1 | R3(プライオリティ0)をshutdown | R1 | 10.0.0.1 | 80000003 | 3台(R3が消える) |
| 2 | R3を復旧 | R1 | 10.0.0.1 | 80000004 | 4台 |
| 3 | DRのR1をshutdown | R2 | 10.0.0.2 | 80000001 | 3台 |
| 4 | R1を復旧 | R2 | 10.0.0.2 | 80000002 | 4台(R1が再登場) |
| 5 | R1・R3・R4をshutdown | — | Network-LSAが消滅 | — | — |
| 6 | 全復旧(最終状態) | R2 | 10.0.0.2 | 80000005 | 4台 |
同じ期間のR2のRouter-LSAは、セグメントの表現がこう変わりました。
| STEP | R2のRouter-LSAでのセグメント |
|---|---|
| 0〜2 | Transit → 10.0.0.1 |
| 3〜4 | Transit → 10.0.0.2(DR交代に追従) |
| 5 | Stub 10.0.0.0 |
| 6 | Transit → 10.0.0.2 |
DROTHERが1台抜ける — 減るのはAttached Routerだけ
プライオリティ0のR3を落とすと、Attached Routerから3.3.3.3が消えます。
RP/0/RP0/CPU0:R1#show ospf database network self-originate
Tue Sep 8 10:14:43.582 UTC
OSPF Router with ID (1.1.1.1) (Process ID 1)
Net Link States (Area 0)
Routing Bit Set on this LSA
LS age: 56
Options: (No TOS-capability, DC)
LS Type: Network Links
Link State ID: 10.0.0.1 (address of Designated Router)
Advertising Router: 1.1.1.1
LS Seq Number: 80000003
Checksum: 0x8880
Length: 36
Network Mask: /24
Attached Router: 1.1.1.1
Attached Router: 2.2.2.2
Attached Router: 4.4.4.4Link State IDもAdvertising Routerも変わりません。DRが替わっていないので、LSAの「識別子」は同じままで、中身のリストだけが更新されます。シーケンス番号が80000002から80000003へ1つ増えました。
DRが落ちる — 別のLink State IDで作り直される
ここからが本題です。DRのR1を落とすと、BDRだったR2がDRに昇格します。そしてR2は、自分のアドレスをLink State IDにした別のNetwork-LSAを新規に作ります。
RP/0/RP0/CPU0:R2#show ospf database network self-originate
Tue Sep 8 10:22:28.507 UTC
OSPF Router with ID (2.2.2.2) (Process ID 1)
Net Link States (Area 0)
Routing Bit Set on this LSA
LS age: 142
Options: (No TOS-capability, DC)
LS Type: Network Links
Link State ID: 10.0.0.2 (address of Designated Router)
Advertising Router: 2.2.2.2
LS Seq Number: 80000001
Checksum: 0xb845
Length: 36
Network Mask: /24
Attached Router: 2.2.2.2
Attached Router: 3.3.3.3
Attached Router: 4.4.4.4Link State IDが10.0.0.1から10.0.0.2へ変わり、シーケンス番号は80000001から始まっています。同じセグメントを表すLSAなのに、別のLSAとして作り直されるのがType 2の特徴です。LSAは「LS Type・Link State ID・Advertising Router」の3つ組で識別されるので、DRが替われば3つ組のうち2つが変わり、まったく別のLSAになります。
パケットでも、R2が出した最初のNetwork-LSAが確認できます。
Open Shortest Path First
OSPF Header
Version: 2
Message Type: LS Update (4)
Packet Length: 64
Source OSPF Router: 2.2.2.2
Area ID: 0.0.0.0 (Backbone)
Checksum: 0x802f [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 2 (Network-LSA), len 36
.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: Network-LSA (2)
Link State ID: 10.0.0.2
Advertising Router: 2.2.2.2
Sequence Number: 0x80000001
Checksum: 0xb845
Length: 36
Netmask: 255.255.255.0
Attached Router: 2.2.2.2
Attached Router: 3.3.3.3
Attached Router: 4.4.4.4古いNetwork-LSAはすぐには消えない
では、R1が出していた10.0.0.1のLSAはどうなったでしょうか。取り消されずにLSDBに残っていました。
RP/0/RP0/CPU0:R2#show ospf database network
Tue Sep 8 10:22:27.255 UTC
OSPF Router with ID (2.2.2.2) (Process ID 1)
Net Link States (Area 0)
LS age: 360
Options: (No TOS-capability, DC)
LS Type: Network Links
Link State ID: 10.0.0.1 (address of Designated Router)
Advertising Router: 1.1.1.1
LS Seq Number: 80000004
Checksum: 0x9562
Length: 40
Network Mask: /24
Attached Router: 1.1.1.1
Attached Router: 2.2.2.2
Attached Router: 3.3.3.3
Attached Router: 4.4.4.4
Routing Bit Set on this LSA
LS age: 140
Options: (No TOS-capability, DC)
LS Type: Network Links
Link State ID: 10.0.0.2 (address of Designated Router)
Advertising Router: 2.2.2.2
LS Seq Number: 80000001
Checksum: 0xb845
Length: 36
Network Mask: /24
Attached Router: 2.2.2.2
Attached Router: 3.3.3.3
Attached Router: 4.4.4.410.0.0.1(Advertising Router 1.1.1.1)と10.0.0.2(同2.2.2.2)の2つが並んでいます。前者のLS ageは加齢を続けています。
R1自身はどうかというと、自分のLSDBからは削除済みです。
RP/0/RP0/CPU0:R1#show ospf database network
Tue Sep 8 10:22:04.305 UTC
OSPF Router with ID (1.1.1.1) (Process ID 1)出力が見出しだけで終わっています。つまりR1は「自分はもうDRではない」と判断してLSAを取り下げたのに、インタフェースが落ちているのでセグメントへ伝える手段が無いという状態です。
これで困らないのは、SPFがこのLSAを使わないからです。R2・R3・R4のTransitエントリはすでに10.0.0.2を指しているので、10.0.0.1のNetwork-LSAはどのRouter-LSAからも参照されない孤立した頂点になります。RFC 2328のSection 16.1が定める双方向の確認で落とされ、経路計算には影響しません。あとはMaxAge(3600秒)まで加齢して自然に消えるのを待つだけです。
つまり、LSAの取り消しは、取り消しを届けられる経路があって初めて成立します。障害でルータが孤立したとき、そのルータが出していたLSAがしばらく残って見えるのはこのためです。
復旧した瞬間に取り消しが飛ぶ
R1のインタフェースを戻すと、R1は隣接を張り直し、その場で古いLSAをMaxAgeにして取り消します。キャプチャーのNo.334がその瞬間です。
Open Shortest Path First
OSPF Header
Version: 2
Message Type: LS Update (4)
Packet Length: 68
Source OSPF Router: 1.1.1.1
Area ID: 0.0.0.0 (Backbone)
Checksum: 0x98f9 [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 2 (Network-LSA), len 40
.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: Network-LSA (2)
Link State ID: 10.0.0.1
Advertising Router: 1.1.1.1
Sequence Number: 0x80000005
Checksum: 0x9363
Length: 40
Netmask: 255.255.255.0
Attached Router: 1.1.1.1
Attached Router: 2.2.2.2
Attached Router: 3.3.3.3
Attached Router: 4.4.4.4LS Age (seconds): 3600が入っています。これはプリマチュアエイジングと呼ばれる取り消しの手順で、生成したルータが自分のLSAを消したいときにMaxAgeを入れて流し直します(RFC 2328のSection 14.1)。シーケンス番号も80000005へ1つ進めてあり、受け取った側は「これが最新版で、しかも寿命切れ」と判断してLSDBから外します。
このLSUの送信元が1.1.1.1である点も重要です。取り消せるのは、そのLSAを作った本人だけです。
復旧後のR2のNetwork-LSAは、Link State IDが10.0.0.2のまま、Attached Routerに1.1.1.1が戻ります。
RP/0/RP0/CPU0:R2#show ospf database network self-originate
Tue Sep 8 10:26:08.989 UTC
OSPF Router with ID (2.2.2.2) (Process ID 1)
Net Link States (Area 0)
Routing Bit Set on this LSA
LS age: 136
Options: (No TOS-capability, DC)
LS Type: Network Links
Link State ID: 10.0.0.2 (address of Designated Router)
Advertising Router: 2.2.2.2
LS Seq Number: 80000002
Checksum: 0x7183
Length: 40
Network Mask: /24
Attached Router: 1.1.1.1
Attached Router: 2.2.2.2
Attached Router: 3.3.3.3
Attached Router: 4.4.4.4Link State IDは10.0.0.1には戻りません。 DR/BDRの選出は非プリエンプティブで、プライオリティ100のR1が戻ってきてもDRはR2のままだからです。R1はDROTHERとして復帰し、Attached Routerの一員に戻るだけです。
セグメントに1台だけになる — Network-LSAが消える
最後に、DRのR2だけを残して他の3台を落とします。
RP/0/RP0/CPU0:R2#show ospf database network
Tue Sep 8 10:30:00.923 UTC
OSPF Router with ID (2.2.2.2) (Process ID 1)Network-LSAが完全に消えました。 R2はshow ospf interface briefではまだDRのままですが、完全隣接が1つも無いDRはNetwork-LSAを生成しません(RFC 2328のSection 12.4.2)。1台しかいないブロードキャストのセグメントは、面として扱う意味が無いからです。
このときR2のRouter-LSAでは、セグメントがTransitではなくStubになります。
RP/0/RP0/CPU0:R2#show ospf database router self-originate
Tue Sep 8 10:30:03.461 UTC
OSPF Router with ID (2.2.2.2) (Process ID 1)
Router Link States (Area 0)
LS age: 96
Options: (No TOS-capability, DC)
LS Type: Router Links
Link State ID: 2.2.2.2
Advertising Router: 2.2.2.2
LS Seq Number: 80000005
Checksum: 0xea10
Length: 48
Number of Links: 2
Link connected to: a Stub Network
(Link ID) Network/subnet number: 2.2.2.2
(Link Data) Network Mask: 255.255.255.255
Number of TOS metrics: 0
TOS 0 Metrics: 1
Link connected to: a Stub Network
(Link ID) Network/subnet number: 10.0.0.0
(Link Data) Network Mask: 255.255.255.0
Number of TOS metrics: 0
TOS 0 Metrics: 110.0.0.0 / 255.255.255.0のStubエントリです。Network-LSAという頂点が無くなったので、Router-LSAが直接プレフィックスを広告する形に切り替わります。 同じ物理セグメントでも、乗っている台数によってグラフでの表し方が変わるわけです。
SPFでの扱い
Network-LSAは頂点であって、コストを持ちません。R2から見た経路のコストを確認します。
RP/0/RP0/CPU0:R2#show ospf routes
Tue Sep 8 10:11:55.997 UTC
Topology Table for ospf 1 with ID 2.2.2.2
Codes: O - Intra area, O IA - Inter area
O E1 - External type 1, O E2 - External type 2
O N1 - NSSA external type 1, O N2 - NSSA external type 2
O 1.1.1.1/32, metric 2
10.0.0.1, from 1.1.1.1, via GigabitEthernet0/0/0/0, ifIndex 3, path-id 1
O 2.2.2.2/32, metric 1
2.2.2.2, directly connected, via Loopback0, ifIndex 7
O 3.3.3.3/32, metric 2
10.0.0.3, from 3.3.3.3, via GigabitEthernet0/0/0/0, ifIndex 3, path-id 1
O 4.4.4.4/32, metric 2
10.0.0.4, from 4.4.4.4, via GigabitEthernet0/0/0/0, ifIndex 3, path-id 1
O 10.0.0.0/24, metric 1
10.0.0.2, directly connected, via GigabitEthernet0/0/0/0, ifIndex 3| 宛先 | コストの内訳 | show ospf routes |
|---|---|---|
10.0.0.0/24 | R2 → セグメント 1 | metric 1 |
1.1.1.1/32 | R2 → セグメント 1 + セグメント → R1 0 + R1のStub 1 | metric 2 |
3.3.3.3/32 | 同上(R3のStub) | metric 2 |
4.4.4.4/32 | 同上(R4のStub) | metric 2 |
セグメントを1本渡るコストは、入る側の1だけです。ネットワークからルータへ出ていく辺は0コストなので、4台のうちどの相手へ行ってもmetric 2で揃います。これはブロードキャストのセグメントが「1ホップで全員に届く」という実態と一致しています。
もしType 2が無くて完全メッシュで表していたら、辺のコストを両方向ぶん持つことになり、同じ結果を得るのに6本ぶんの情報が必要でした。Network-LSAは、表現をコンパクトにすると同時にコストの計算も単純にしています。
まとめ
| 見たいもの | どこを見るか |
|---|---|
| そのセグメントのDRは誰か | Network-LSAのAdvertising Router(ルータID) |
| DRのインタフェースアドレス | Link State ID |
| セグメントに誰がいるか | Attached Router。プライオリティ0のルータも載る |
| セグメントのプレフィックス | Link State ID と Network Mask の論理積 |
| DRが交代したか | Link State IDが変わっていれば交代している |
| セグメントが1台になっていないか | Network-LSAが消え、Router-LSAでStubになっていれば1台 |
Network-LSAは短いLSAですが、「DRが誰か」と「誰が乗っているか」という運用で一番知りたい2つが、そのまま1つのLSAに入っています。show ospf neighborを全台で叩いて回るより、DRのNetwork-LSAを1つ見るほうが早いことも多いはずです。
参考
| 文書 | 節 | 内容 |
|---|---|---|
| RFC 2328 | Section 12.4.2 | Network-LSAの生成規則。DRが生成し、完全隣接が無ければ生成しない |
| RFC 2328 | Section 13.4 | 自分が出したLSAをMaxAgeで取り消す手順(プリマチュアエイジング) |
| RFC 2328 | Section 14.1 | プリマチュアエイジングの規定。取り消せるのは生成したルータだけ |
| RFC 2328 | Appendix A.4.3 | Network-LSAのパケットフォーマット(メトリックのフィールドが無い) |
| RFC 2328 | Section 16.1 | SPF計算。ネットワーク頂点、ネットワークからルータへの辺は0コスト、双方向の確認 |
| RFC 2328 | Section 9.4 | DR選出が非プリエンプティブであること |
検証構成
CMLに4台のXRd(IOS XR 26.1.1)を1つのイーサネットセグメント(10.0.0.0/24)で接続したラボです。変更したのはインタフェースのshutdownだけで、OSPFの設定は起動時のまま動かしていません。キャプチャーはR2とスイッチの間の1か所で、24分間を通しで取っています(R2は全STEPを通してダウンしないので、DR交代も取り消しもこの1本に収まります)。
検証Configおよびshow結果
各STEPで4台すべてから、次の3種類をルータごとに分けて取得しています。検証Configはこの..._run.txtです(最終状態はSTEP 6のもの)。
| ファイル | 内容 |
|---|---|
..._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 network self-originate / show ospf database router self-originate / show ospf border-routers / show ospf routes / show ospf database database-summary |
..._log.txt | そのSTEPの範囲だけに絞ったshow logging |
..._run.txt | そのSTEP時点のshow running-config(=そのSTEPの検証Config) |
show ospf database network self-originateを足したのがこの記事の要です。自分がDRとして出したNetwork-LSAだけが出るので、どのルータの出力に中身があるかを見るだけでDRが判別できます。
STEP 0:起動直後(R1がDR)
| ルータ | show出力 | syslog | running-config |
|---|---|---|---|
| R1 | show | log | run |
| R2 | show | log | run |
| R3 | show | log | run |
| R4 | show | log | run |
STEP 1:R3(プライオリティ0)をshutdown
| ルータ | show出力 | syslog | running-config |
|---|---|---|---|
| R1 | show | log | run |
| R2 | show | log | run |
| R3 | show | log | run |
| R4 | show | log | run |
STEP 2:R3を復旧
| ルータ | show出力 | syslog | running-config |
|---|---|---|---|
| R1 | show | log | run |
| R2 | show | log | run |
| R3 | show | log | run |
| R4 | show | log | run |
STEP 3:DRのR1をshutdown(R2がDRに昇格)
| ルータ | show出力 | syslog | running-config |
|---|---|---|---|
| R1 | show | log | run |
| R2 | show | log | run |
| R3 | show | log | run |
| R4 | show | log | run |
STEP 4:R1を復旧(DRはR2のまま)
| ルータ | show出力 | syslog | running-config |
|---|---|---|---|
| R1 | show | log | run |
| R2 | show | log | run |
| R3 | show | log | run |
| R4 | show | log | run |
STEP 5:R1・R3・R4をshutdown(DRのR2だけ)
| ルータ | show出力 | syslog | running-config |
|---|---|---|---|
| R1 | show | log | run |
| R2 | show | log | run |
| R3 | show | log | run |
| R4 | show | log | run |
STEP 6:全復旧(最終状態)
| ルータ | show出力 | syslog | running-config |
|---|---|---|---|
| R1 | show | log | run |
| R2 | show | log | run |
| R3 | show | log | run |
| R4 | show | log | run |
関連記事
- 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)