今回はOSPFのLSAのLink State Ageについて解説します。
座学
LSAのLink State Age
例えば、下図の様に、R2のインタフェースがダウンした場合、R1のLSDBにR2が生成したLSAが永遠に残り続けるのでは、と疑問が生じるかと思います。
上図の様な、LSDBに障害が発生したルータが生成したLSAが残り続けることを回避するために、各LSAには自身が生成されてからの経過時間を記録されており、この時間のことをLink State Ageと呼びます。
Link State Ageが3600秒を超えたLSAは、寿命が来たと判断され、LSDBから削除されます。この3600秒のことを、MaxAgeと呼びます。
また、各ルータは自身が生成したLSAのLink State Ageが1800秒を超えた場合、LSAを再生成し、ネイバーに広報し、ネイバーのLSDBに存在しているLSAのLink State Ageを0秒にリフレッシュします。
ネットワークに障害が発生し、特定のLSAをOSPFネットワーク全体から削除する必要がある場合、LSAの生成元のルータはLink State Ageに3600秒を格納したLSAをネイバーに広報します。ネイバーはLink State Ageが3600秒のLSAを受信した場合、LSDBから該当するLSAを削除します。
実機での動作確認
検証内容1 – MaxAge到達によるLSAの削除
R1のg2、R2のg2でOSPF Area 0を有効にします。
Network TypeにはPoint-to-Pointを使用します。
R2のg2をダウンさせ、R1のLSDB内のR2が生成したLSA Type 1がMaxAge(3600秒)に到達した際の動作を確認します。
初期設定
interface GigabitEthernet2
ip address 10.1.1.1 255.255.255.0
ip ospf network point-to-point
!
router ospf 1
router-id 1.1.1.1
network 10.1.1.0 0.0.0.255 area 0
interface GigabitEthernet2
ip address 10.1.1.2 255.255.255.0
ip ospf network point-to-point
!
router ospf 1
router-id 2.2.2.2
network 10.1.1.0 0.0.0.255 area 0
R1の状態(R2のg2シャットダウン前)
R1のLSDBにR2が生成したLSA Type 1が存在することが確認できます。
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 5 0x80000009 0x00CF22 2
2.2.2.2 2.2.2.2 17 0x80000007 0x00737B 2
R2のg2をシャットダウン
R2のg2をシャットダウンします。
interface GigabitEthernet2
shutdown
R1の状態(R2のg2シャットダウン後)
R1のLSDBからR2が生成したLSA Type 1が削除されたことが確認できます。
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 1014 0x8000000C 0x00EF23 1
以下はR1のOSPFのデバックになります。MaxAge(3600秒)に到達したため、R2が生成したLSA Type 1が削除されたことが確認できます。
R1#debug ip ospf lsa-maxage
*Jun 11 05:36:13.648: OSPF-1 LSMAX: Maxage LSA 1/2.2.2.2/2.2.2.2.
*Jun 11 05:36:13.649: OSPF-1 LSMAX: Insert LSA 1/2.2.2.2/2.2.2.2 into MAXAGE list.
*Jun 11 05:36:23.649: OSPF-1 LSMAX: Servicing maxaged LSA 1/2.2.2.2/2.2.2.2.
*Jun 11 05:36:23.649: OSPF-1 LSMAX: Maxaged LSA 1/2.2.2.2/2.2.2.2 has been deleted.
検証内容2 – LSAのリフレッシュ
R1のg2、R2のg2でOSPF Area 0を有効にします。
Network TypeにはPoint-to-Pointを使用します。
LSAのLink State Ageが1800秒を超えた際の、LSAのリフレッシュについて確認します。
初期設定
interface GigabitEthernet2
ip address 10.1.1.1 255.255.255.0
ip ospf network point-to-point
!
router ospf 1
router-id 1.1.1.1
network 10.1.1.0 0.0.0.255 area 0
interface GigabitEthernet2
ip address 10.1.1.2 255.255.255.0
ip ospf network point-to-point
!
router ospf 1
router-id 2.2.2.2
network 10.1.1.0 0.0.0.255 area 0
LSAリフレッシュ時のR2の様子
R2は約1800秒(30分)間隔で自身が生成したLSA Type 1を再生成していることが確認できます。(1800秒間隔ではない理由は、こちらの記事で解説しています。)
R2#debug ip ospf lsa-generation
*Jun 11 03:14:47.469: OSPF-1 LSGEN: Update router LSA 1/2.2.2.2/2.2.2.2 0x80000002
*Jun 11 03:14:47.469: OSPF-1 LSGEN: Rate limit LSA generation for 1/2.2.2.2/2.2.2.2
*Jun 11 03:14:47.519: OSPF-1 LSGEN: Build router LSA for area 0, router ID 2.2.2.2, seq 0x80000003
*Jun 11 03:48:42.158: OSPF-1 LSGEN: Update router LSA 1/2.2.2.2/2.2.2.2 0x80000003
*Jun 11 03:48:42.158: OSPF-1 LSGEN: Rate limit LSA generation for 1/2.2.2.2/2.2.2.2
*Jun 11 03:48:42.208: OSPF-1 LSGEN: Build router LSA for area 0, router ID 2.2.2.2, seq 0x80000004
*Jun 11 04:22:33.773: OSPF-1 LSGEN: Update router LSA 1/2.2.2.2/2.2.2.2 0x80000004
*Jun 11 04:22:33.773: OSPF-1 LSGEN: Rate limit LSA generation for 1/2.2.2.2/2.2.2.2
*Jun 11 04:22:33.824: OSPF-1 LSGEN: Build router LSA for area 0, router ID 2.2.2.2, seq 0x80000005
検証内容3 – ネットワーク障害時のLSAの削除
R1のg2、R2のg2でOSPF Area 0を有効にします。
Network TypeにはPoint-to-Pointを使用します。
R2において、OSPFに対してConnected Routeである180.1.1.0/24を再配送します。
R2のg3をダウンさせ、R2が生成した180.1.1.0/24を格納したLSA Type 5をOSPFネットワーク全体から削除させます。
初期設定
interface GigabitEthernet2
ip address 10.1.1.1 255.255.255.0
ip ospf network point-to-point
!
router ospf 1
router-id 1.1.1.1
network 10.1.1.0 0.0.0.255 area 0
interface GigabitEthernet2
ip address 10.1.1.2 255.255.255.0
ip ospf network point-to-point
!
interface GigabitEthernet3
ip address 180.1.1.2 255.255.255.0
!
router ospf 1
router-id 2.2.2.2
redistribute connected subnets
network 10.1.1.0 0.0.0.255 area 0
R1の状態(R2のg3シャットダウン前)
R1のLSDBにR2が生成したLSA Type 5が存在することが確認できます。
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 616 0x80000005 0x00D71E 2
2.2.2.2 2.2.2.2 117 0x80000006 0x007B72 2
Type-5 AS External Link States
Link ID ADV Router Age Seq# Checksum Tag
180.1.1.0 2.2.2.2 74 0x80000001 0x00677A 0
R2のg3をシャットダウン
R2のg3をシャットダウンします。
interface GigabitEthernet3
shutdown
以下はg3のシャットダウン直後のR2のOSPFのデバックになります。R2は180.1.1.0/24を格納したLSA Type 5のLink State AgeをMaxAge(3600秒)に変更していることが確認できます。
R2#debug ip ospf lsa-generation
*Jun 11 04:32:04.656: OSPF-1 LSGEN: Rate limit LSA generation for 5/180.1.1.0/2.2.2.2
*Jun 11 04:32:04.706: OSPF-1 LSGEN: Build external LSA 180.1.1.0, mask 255.255.255.0, type 5, age 3600, options 0x20, seq 0x80000002
*Jun 11 04:32:04.706: OSPF-1 LSGEN: MTID Metric Metric-type FA Tag Topology Name
*Jun 11 04:32:04.706: OSPF-1 LSGEN: 0 16777215 2 0.0.0.0 0 Base
以下はR2がR1に対して送信した180.1.1.0/24を格納したLSA Type 5になります。Link State AgeにMaxAge(3600秒)が格納されていることが確認できます。
R1の状態(R2のg3シャットダウン後)
R1のLSDBからR2が生成した180.1.1.0/24を格納したLSA Type 5が削除されたことが確認できます。
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 751 0x80000005 0x00D71E 2
2.2.2.2 2.2.2.2 252 0x80000006 0x007B72 2
以下はR1のOSPFのデバックになります。R1はLink State AgeがMaxAge(3600秒)に到達したため、R2が生成した180.1.1.0/24を格納したLSA Type 5を削除していることが確認できます。
R1#debug ip ospf lsa-maxage
OSPF: Received Maxage LSA 5/180.1.1.0/2.2.2.2, age 3600, seq 0x80000002, from 2.2.2.2, GigabitEthernet2
*Jun 11 04:32:04.349: OSPF-1 LSMAX: Insert LSA 5/180.1.1.0/2.2.2.2 into MAXAGE list.
*Jun 11 04:32:14.349: OSPF-1 LSMAX: Servicing maxaged LSA 5/180.1.1.0/2.2.2.2.
*Jun 11 04:32:14.349: OSPF-1 LSMAX: Maxaged LSA 5/180.1.1.0/2.2.2.2 has been deleted.
コメント