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

OSPFのマルチエリアとABR

目次

マルチエリアとは

これまでのOSPFの記事は、すべてのリンクをエリア0に入れたシングルエリアの構成で検証してきました。OSPFはエリア内のすべてのルータが同じLSDB(リンクステートデータベース)を持ち、1本のリンクが上下するたびに、そのLSAはエリア内の全ルータへ届き、全ルータがSPFを計算し直します。ルータの台数とリンクの本数が増えるとこの負荷が無視できなくなります。

そこでOSPFはネットワークを「エリア(Area)」に分割できます。エリアを分けると、LSDBとSPF計算の範囲、そしてLSAのフラッディング範囲がエリアの中に閉じ込められます。

用語説明
エリア(Area)LSDBとSPF計算を閉じ込める単位。エリアIDは32ビットで、IPアドレスの形式でも10進数でも書ける
バックボーンエリアエリア0。エリア間の経路配布を担う特別なエリア
ABR(Area Border Router)複数のエリアに接続するルータ。エリアの経路を要約して隣のエリアへ渡す
内部ルータ接続するネットワークがすべて同じエリアに属するルータ
Summary-LSA(Type 3)ABRが「他のエリアにあるネットワーク」を伝えるLSA
ASBR Summary-LSA(Type 4)ABRが「他のエリアにあるASBRへの到達性」を伝えるLSA

この記事では、7台のルータを3つのエリアに分けながら、ABRが何をするのかエリア間の経路のコストがどう決まるのかABRが2台あるときどちらが選ばれるのかを実機で確認します。エリアの経路をまとめる経路集約は別記事で解説します。スタブエリアも別記事で解説します。

エリア設計の基本ルール

RFC 2328のSection 3.3は、ルータを次の4種類に分類しています(1台が複数に当てはまることもあります)。

分類定義この検証での該当
内部ルータ直接接続するネットワークがすべて同じエリアに属するR1・R11・R12・R13
ABR複数のエリアに接続するR2・R3・R4
バックボーンルータエリア0にインタフェースを持つ。ABRでなくてもよいR2・R3・R4
ASBROSPFの外から経路を持ち込むR1(STEP 4以降)

設計上のルールは3つです。

  • エリア0(バックボーン)が必ず必要で、すべてのABRはエリア0に属する。 RFC 2328のSection 3.1は「OSPFのバックボーンは常にすべてのABRを含む」と定めています。エリア0に直接つながらないエリアを作りたい場合は仮想リンクが必要になります
  • エリアをまたぐ通信は必ずバックボーンを通る。 RFC 2328のSection 3.2は、エリア間のパスを「送信元からABRまでのエリア内パス」「エリア間のバックボーンパス」「宛先エリア内のパス」の3区間に分けて説明しています
  • エリアはインタフェース単位で決まる。 ルータ単位ではありません。IOS XRではrouter ospfの下にarea <ID>を書き、その中にインタフェースを入れます

ABRがエリア間で経路を伝える仕組み

エリアを分けると、Router-LSA(Type 1)とNetwork-LSA(Type 2)はエリアの外に出なくなります。その代わりにABRが、自分の持っている経路をSummary-LSA(Type 3)に変換して隣のエリアへ流します。ABRはエリアごとにSPFを別々に計算し、その結果を要約して受け渡す、いわばエリア間のディスタンスベクター的な役割を担います。

LSAタイプ伝わる範囲広告するルータ
Type 1 / Type 2自分のエリア内だけ各ルータ(Type 2はDR)
Type 3(Summary)ABRが作り直して隣のエリアへABR
Type 4(ASBR Summary)ABRが作り直して隣のエリアへABR
Type 5(AS External)書き換えられずAS全体へ(スタブエリアを除く)ASBR

Type 3にはRFC 2328のSection 12.4.3で決められた重要な規則が2つあります。

  • メトリックは「そのABRから宛先までのコスト」metric equal to the routing table cost)。ABRを1つ通るたびにコストが積み上がります
  • バックボーンへはエリア内経路だけを入れ、非バックボーンのエリアへはエリア内経路とエリア間経路の両方を入れる。 これがエリア間のループを防ぐ仕組みで、エリア0を中心とした星形の構成が必要な理由でもあります

検証構成

Cisco IOS XR(XRd 26.1.1)のルータ7台を、エリア1 - エリア0 - エリア2の3エリアに分けました。ABRはR2(エリア1とエリア0)、R3とR4(エリア0とエリア2)の3台で、エリア2には2台のABRが向いている構成です。

項目内容
エリア1R1のLoopback0とR1 - R2間(10.0.12.0/24)
エリア0R2・R3・R4のLoopback0と、R2 - R3間(10.0.23.0/24)、R2 - R4間(10.0.24.0/24)
エリア2R11・R12・R13のLoopback0と、R3 - R11間(172.16.3.0/24)、R4 - R12間(172.16.4.0/24)、R11 - R13間、R12 - R13間
ABRR2(エリア1 ↔ 0)、R3・R4(エリア0 ↔ 2)
ASBRR1(STEP 4でスタティックルートを再配布)
観測点R13(エリア2の内部ルータ)。宛先は1.1.1.1/32(R1のLoopback0)
ネットワークタイプ全リンクをnetwork point-to-point。DR/BDRの選出がなくなり、Network-LSA(Type 2)を生成する必要もなくなる
リンクのコストすべて既定のコスト1(IOS XRの既定の参照帯域幅100 Mbpsに対しGigabit Ethernetが上回るため)。STEP 3以降のみR4 - R12間を両端cost 10にする

エリアの割り当てはインタフェース単位です。最終状態のR3の設定は次のようになっています(show running-configの抜粋)。Gi0/0/0/0がエリア0、Gi0/0/0/1がエリア2に入っているため、R3はABRになります。

R3 show running-config(router ospf 1の部分、最終状態)
router ospf 1
 router-id 3.3.3.3
 area 0
  interface Loopback0
   passive enable
  !
  interface GigabitEthernet0/0/0/0
   network point-to-point
  !
 !
 area 2
  interface GigabitEthernet0/0/0/1
   network point-to-point
  !
 !
!

シングルエリアの状態(STEP 0)

まず比較のために、7台すべてのインタフェースをエリア0に入れたシングルエリアの状態から始めます。R13から見ると、すべてのインタフェースがエリア0です。

STEP 0 R13 show ospf interface brief
RP/0/RP0/CPU0:R13#show ospf interface brief
Sun Sep  6 11:10:26.265 UTC

* Indicates MADJ interface, (P) Indicates fast detect hold down state

Interfaces for OSPF 1

Interface          PID   Area            IP Address/Mask    Cost  State Nbrs F/C
Lo0                1     0               13.13.13.13/32     1     LOOP  0/0
Gi0/0/0/0          1     0               10.1.11.13/24      1     P2P   1/1
Gi0/0/0/1          1     0               10.1.12.13/24      1     P2P   1/1

経路はすべてO(エリア内経路)で、エリア間経路を示すO IAはまだありません。R1のLoopback0(1.1.1.1/32)はコスト5で、R11経由とR12経由の2本が等コストで載っていますECMP)。

STEP 0 R13 show route ospf(シングルエリア)
RP/0/RP0/CPU0:R13#show route ospf
Sun Sep  6 11:10:22.737 UTC

O    1.1.1.1/32 [110/5] via 10.1.11.11, 00:47:01, GigabitEthernet0/0/0/0
                [110/5] via 10.1.12.12, 00:47:01, GigabitEthernet0/0/0/1
O    2.2.2.2/32 [110/4] via 10.1.11.11, 00:47:16, GigabitEthernet0/0/0/0
                [110/4] via 10.1.12.12, 00:47:16, GigabitEthernet0/0/0/1
O    3.3.3.3/32 [110/3] via 10.1.11.11, 00:47:25, GigabitEthernet0/0/0/0
O    4.4.4.4/32 [110/3] via 10.1.12.12, 00:47:16, GigabitEthernet0/0/0/1
O    10.0.12.0/24 [110/4] via 10.1.11.11, 00:47:16, GigabitEthernet0/0/0/0
                  [110/4] via 10.1.12.12, 00:47:16, GigabitEthernet0/0/0/1
O    10.0.23.0/24 [110/3] via 10.1.11.11, 00:47:25, GigabitEthernet0/0/0/0
O    10.0.24.0/24 [110/3] via 10.1.12.12, 00:47:16, GigabitEthernet0/0/0/1
O    11.11.11.11/32 [110/2] via 10.1.11.11, 00:47:25, GigabitEthernet0/0/0/0
O    12.12.12.12/32 [110/2] via 10.1.12.12, 00:47:19, GigabitEthernet0/0/0/1
O    172.16.3.0/24 [110/2] via 10.1.11.11, 00:47:25, GigabitEthernet0/0/0/0
O    172.16.4.0/24 [110/2] via 10.1.12.12, 00:47:19, GigabitEthernet0/0/0/1

エリア2を切り出す(STEP 1)

R3・R4のR11・R12向けインタフェースと、R11・R12・R13のすべてのインタフェースをエリア2へ移します。IOS XRではエリア間のインタフェース移動を「元のエリアから削除して、新しいエリアに追加する」形で書きます。

STEP 1で投入した設定
(R3・R4)
router ospf 1
 area 0
  no interface GigabitEthernet0/0/0/1
!
router ospf 1
 area 2
  interface GigabitEthernet0/0/0/1
   network point-to-point

(R11・R12・R13)
router ospf 1
 no area 0
 area 2
  interface Loopback0
   passive enable
  interface GigabitEthernet0/0/0/0
   network point-to-point
  interface GigabitEthernet0/0/0/1
   network point-to-point

R3のインタフェースは、Gi0/0/0/0がエリア0、Gi0/0/0/1がエリア2に分かれました。

STEP 1 R3 show ospf interface brief
RP/0/RP0/CPU0:R3#show ospf interface brief
Sun Sep  6 11:14:51.577 UTC

* Indicates MADJ interface, (P) Indicates fast detect hold down state

Interfaces for OSPF 1

Interface          PID   Area            IP Address/Mask    Cost  State Nbrs F/C
Lo0                1     0               3.3.3.3/32         1     LOOP  0/0
Gi0/0/0/0          1     0               10.0.23.3/24       1     P2P   1/1
Gi0/0/0/1          1     2               172.16.3.3/24      1     P2P   1/1

show ospfの先頭にIt is an area border routerという行が現れます。複数のエリアに足を持ったことをルータ自身が認識した状態で、このときRouter-LSAのBビット(Area Border Routerフラグ)が立ちます。

STEP 1 R3 show ospf(先頭部分)
RP/0/RP0/CPU0:R3#show ospf
Sun Sep  6 11:14:50.494 UTC

 Routing Process "ospf 1" with ID 3.3.3.3
 Role: Primary Active
 NSR (Non-stop routing) is Enabled
 Supports only single TOS(TOS0) routes
 Supports opaque LSA
 It is an area border router
 Maximum number of non self-generated LSA allowed 500000
    Current number of non self-generated LSA 24
    Threshold for warning message 75%
    Ignore-time 5 minutes, reset-time 10 minutes
    Ignore-count allowed 5, current ignore-count 0

R13側の経路は、エリア0とエリア1にある宛先がO IA(エリア間経路)に変わりました。コストは5のままですが、from1.1.1.1からABRの3.3.3.3 / 4.4.4.4へ変わりました。エリア間経路の広告元は、それを伝えてきたABRになります。エリア間経路は「ABRが要約して伝えてきた経路」なので、伝えてきたABRが広告元になります。

STEP 1 R13 show route ospf(エリア2に分割した後)
RP/0/RP0/CPU0:R13#show route ospf
Sun Sep  6 11:16:33.535 UTC

O IA 1.1.1.1/32 [110/5] via 10.1.11.11, 00:03:13, GigabitEthernet0/0/0/0
                [110/5] via 10.1.12.12, 00:03:13, GigabitEthernet0/0/0/1
O IA 2.2.2.2/32 [110/4] via 10.1.11.11, 00:03:13, GigabitEthernet0/0/0/0
                [110/4] via 10.1.12.12, 00:03:13, GigabitEthernet0/0/0/1
O IA 3.3.3.3/32 [110/3] via 10.1.11.11, 00:03:13, GigabitEthernet0/0/0/0
O IA 4.4.4.4/32 [110/3] via 10.1.12.12, 00:03:14, GigabitEthernet0/0/0/1
O IA 10.0.12.0/24 [110/4] via 10.1.11.11, 00:03:13, GigabitEthernet0/0/0/0
                  [110/4] via 10.1.12.12, 00:03:13, GigabitEthernet0/0/0/1
O IA 10.0.23.0/24 [110/3] via 10.1.11.11, 00:03:13, GigabitEthernet0/0/0/0
O IA 10.0.24.0/24 [110/3] via 10.1.12.12, 00:03:14, GigabitEthernet0/0/0/1
O    11.11.11.11/32 [110/2] via 10.1.11.11, 00:03:13, GigabitEthernet0/0/0/0
O    12.12.12.12/32 [110/2] via 10.1.12.12, 00:03:14, GigabitEthernet0/0/0/1
O    172.16.3.0/24 [110/2] via 10.1.11.11, 00:03:13, GigabitEthernet0/0/0/0
O    172.16.4.0/24 [110/2] via 10.1.12.12, 00:03:14, GigabitEthernet0/0/0/1

R13のLSDBにType 3が現れます。1.1.1.1/32について、R3(3.3.3.3)とR4(4.4.4.4)がそれぞれメトリック3で広告しています。

STEP 1 R13 show ospf database summary(先頭2件)
RP/0/RP0/CPU0:R13#show ospf database summary
Sun Sep  6 11:16:40.167 UTC


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

		Summary Net Link States (Area 2)

  Routing Bit Set on this LSA
  LS age: 289
  Options: (No TOS-capability, DC)
  LS Type: Summary Links (Network)
  Link State ID: 1.1.1.1 (Summary Network Number)
  Advertising Router: 3.3.3.3
  LS Seq Number: 80000001
  Checksum: 0x1f0b
  Length: 28
  Network Mask: /32
	TOS: 0 	Metric: 3 

  Routing Bit Set on this LSA
  LS age: 263
  Options: (No TOS-capability, DC)
  LS Type: Summary Links (Network)
  Link State ID: 1.1.1.1 (Summary Network Number)
  Advertising Router: 4.4.4.4
  LS Seq Number: 80000001
  Checksum: 0x125
  Length: 28
  Network Mask: /32
	TOS: 0 	Metric: 3 

show ospf border-routersは、そのルータから見たABR / ASBRへの到達性を示します。R13からR3・R4へはどちらもコスト2です。

STEP 1 R13 show ospf border-routers
RP/0/RP0/CPU0:R13#show ospf border-routers
Sun Sep  6 11:16:42.095 UTC

OSPF 1 Internal Routing Table

Codes: i - Intra-area route, I - Inter-area route

i 3.3.3.3 [2] via 10.1.11.11, GigabitEthernet0/0/0/0, ABR , Area 2, SPF 4
i 4.4.4.4 [2] via 10.1.12.12, GigabitEthernet0/0/0/1, ABR , Area 2, SPF 4

このときエリア0側(R2 - R3間)をキャプチャーすると、R3がエリア2の情報をType 3にしてエリア0へ流している様子が見えます。添付のキャプチャーのNo.30は、R3が10.1.11.0/2411.11.11.11/32をメトリック2で広告したLS Updateです。Area ID: 0.0.0.0 (Backbone)となっていて、エリア0へ向けて流されたLSAであることが分かります。

No.30 LS Update(R3 → エリア0)tshark -V
Open Shortest Path First
    OSPF Header
        Version: 2
        Message Type: LS Update (4)
        Packet Length: 84
        Source OSPF Router: 3.3.3.3
        Area ID: 0.0.0.0 (Backbone)
        Checksum: 0xf99b [correct]
        Instance ID: Base IPv4 Unicast Instance (0)
        Auth Type: Null (0)
        Auth Data (none): 0000000000000000
    LS Update Packet
        Number of LSAs: 2
        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: 10.1.11.0
            Advertising Router: 3.3.3.3
            Sequence Number: 0x80000001
            Checksum: 0x3bdd
            Length: 28
            Netmask: 255.255.255.0
            TOS: 0
            Metric: 2
        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: 0x80000001
            Checksum: 0x47bb
            Length: 28
            Netmask: 255.255.255.255
            TOS: 0
            Metric: 2
上のtshark出力のパケット(No.30 LSU)のpcapをダウンロード

エリア1を切り出して3エリアにする(STEP 2)

次にR1 - R2間(10.0.12.0/24)とR1のLoopback0をエリア1へ移します。これでR2もABRになり、3エリア構成が完成します。

STEP 2で投入した設定
(R1)
router ospf 1
 no area 0
 area 1
  interface Loopback0
   passive enable
  interface GigabitEthernet0/0/0/0
   network point-to-point

(R2)
router ospf 1
 area 0
  no interface GigabitEthernet0/0/0/0
!
router ospf 1
 area 1
  interface GigabitEthernet0/0/0/0
   network point-to-point
STEP 2 R2 show ospf interface brief(エリア1とエリア0にまたがる)
RP/0/RP0/CPU0:R2#show ospf interface brief
Sun Sep  6 11:18:32.425 UTC

* Indicates MADJ interface, (P) Indicates fast detect hold down state

Interfaces for OSPF 1

Interface          PID   Area            IP Address/Mask    Cost  State Nbrs F/C
Lo0                1     0               2.2.2.2/32         1     LOOP  0/0
Gi0/0/0/1          1     0               10.0.23.2/24       1     P2P   1/1
Gi0/0/0/2          1     0               10.0.24.2/24       1     P2P   1/1
Gi0/0/0/0          1     1               10.0.12.2/24       1     P2P   1/1

R3のLSDBには、R2がエリア0へ入れたType 3が見えます。1.1.1.1/32のメトリックは2で、これは「R2から1.1.1.1/32までのコスト」(リンク1 + Loopback0の1)です。

STEP 2 R3 show ospf database summary(エリア0の先頭1件)
RP/0/RP0/CPU0:R3#show ospf database summary
Sun Sep  6 11:19:00.815 UTC


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

		Summary Net Link States (Area 0)

  Routing Bit Set on this LSA
  LS age: 85
  Options: (No TOS-capability, DC)
  LS Type: Summary Links (Network)
  Link State ID: 1.1.1.1 (Summary Network Number)
  Advertising Router: 2.2.2.2
  LS Seq Number: 80000001
  Checksum: 0x33fb
  Length: 28
  Network Mask: /32
	TOS: 0 	Metric: 2 

R3・R4はこのType 3を受けてエリア間経路を作り、それをメトリック3(自分からR2までの1 + 受け取った2)でエリア2へ入れ直します。R13のLSDBを一覧で見ると、エリア0とエリア1のすべての宛先がR3とR4の両方から広告されていることが分かります。

STEP 2 R13 show ospf database(エリア2のLSDB一覧)
RP/0/RP0/CPU0:R13#show ospf database
Sun Sep  6 11:20:36.782 UTC


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

		Router Link States (Area 2)

Link ID         ADV Router      Age         Seq#       Checksum Link count
3.3.3.3         3.3.3.3         478         0x80000002 0x00cc8d 2
4.4.4.4         4.4.4.4         453         0x80000002 0x00d278 2
11.11.11.11     11.11.11.11     438         0x80000003 0x00cc9c 5
12.12.12.12     12.12.12.12     439         0x80000003 0x00e56d 5
13.13.13.13     13.13.13.13     437         0x80000003 0x0093ee 5

		Summary Net Link States (Area 2)

Link ID         ADV Router      Age         Seq#       Checksum
1.1.1.1         3.3.3.3         181         0x80000001 0x001f0b
1.1.1.1         4.4.4.4         181         0x80000001 0x000125
2.2.2.2         3.3.3.3         525         0x80000001 0x00e640
2.2.2.2         4.4.4.4         500         0x80000001 0x00c85a
3.3.3.3         3.3.3.3         525         0x80000001 0x00ae75
3.3.3.3         4.4.4.4         500         0x80000001 0x00a479
4.4.4.4         3.3.3.3         525         0x80000001 0x009489
4.4.4.4         4.4.4.4         500         0x80000001 0x0062b9
10.0.12.0       3.3.3.3         185         0x80000001 0x003cdc
10.0.12.0       4.4.4.4         185         0x80000001 0x001ef6
10.0.23.0       3.3.3.3         525         0x80000001 0x00b856
10.0.23.0       4.4.4.4         500         0x80000001 0x00a465
10.0.24.0       3.3.3.3         525         0x80000001 0x00b755
10.0.24.0       4.4.4.4         500         0x80000001 0x008f7a

R13から1.1.1.1/32への経路は、R3経由とR4経由がどちらもコスト5で並ぶため2本ともルーティングテーブルに載ります。tracerouteはそのうち1本(R12 → R4 → R2 → R1)を通っています。

STEP 2 R13 show route 1.1.1.1/32 と traceroute
RP/0/RP0/CPU0:R13#show route 1.1.1.1/32
Sun Sep  6 11:17:53.341 UTC

Routing entry for 1.1.1.1/32
  Known via "ospf 1", distance 110, metric 5, type inter area
  Installed Sep  6 11:17:37.792 for 00:00:15
  Routing Descriptor Blocks
    10.1.11.11, from 3.3.3.3, via GigabitEthernet0/0/0/0
      Route metric is 5
    10.1.12.12, from 4.4.4.4, via GigabitEthernet0/0/0/1
      Route metric is 5
  No advertising protos. 
RP/0/RP0/CPU0:R13#traceroute 1.1.1.1 source 13.13.13.13
Sun Sep  6 11:17:53.521 UTC

Type escape sequence to abort.
Tracing the route to 1.1.1.1

 1  10.1.12.12 11 msec  4 msec  4 msec 
 2  172.16.4.4 13 msec  7 msec  6 msec 
 3  10.0.24.2 14 msec  10 msec  9 msec 
 4  10.0.12.1 27 msec  *  16 msec 

エリア間経路のコスト計算

エリア間経路のコストは、RFC 2328のSection 16.2のステップ(4)で「BR(そのType 3を出したABR)までの距離 + LSAに書かれたコスト」と定義されています。今回の1.1.1.1/32は次のように積み上がっています。

区間どこで確認できるか
R2がエリア0へ入れるType 3のメトリック2R3のshow ospf database summary(エリア0)
R3・R4がエリア2へ入れるType 3のメトリック3(=R2までの1 + 2)R13のshow ospf database summary(エリア2)
R13からABR(R3・R4)までの距離2R13のshow ospf border-routers
R13の1.1.1.1/32のコスト5(=2 + 3)R13のshow route 1.1.1.1/32

エリア内の細かいトポロジは相手のエリアに伝わりません。R13はR1までの実際の経路を知らず、「ABRまでの距離」と「ABRが言ってきた値」を足しているだけです。

ABRの選択をコストで変える(STEP 3)

エリア2に2台のABRがある構成では、R13は自分から近いABRを選びます。ここでR4 - R12間のコストを両端で10にすると、R4までの距離が11に増えます。

STEP 3で投入した設定
(R4)
router ospf 1
 area 2
  interface GigabitEthernet0/0/0/1
   cost 10

(R12)
router ospf 1
 area 2
  interface GigabitEthernet0/0/0/0
   cost 10

show ospf border-routersのR4のコストが2から11へ増え、1.1.1.1/32はR3経由の1本だけになりました(R4経由は 11 + 3 = 14)。tracerouteの経路もR11 → R3 → R2 → R1へ変わっています。

STEP 3 R13 show route / border-routers / traceroute
RP/0/RP0/CPU0:R13#show route 1.1.1.1/32
Sun Sep  6 11:21:30.191 UTC

Routing entry for 1.1.1.1/32
  Known via "ospf 1", distance 110, metric 5, type inter area
  Installed Sep  6 11:21:21.584 for 00:00:08
  Routing Descriptor Blocks
    10.1.11.11, from 3.3.3.3, via GigabitEthernet0/0/0/0
      Route metric is 5
  No advertising protos. 
RP/0/RP0/CPU0:R13#show ospf border-routers
Sun Sep  6 11:21:30.383 UTC

OSPF 1 Internal Routing Table

Codes: i - Intra-area route, I - Inter-area route

i 3.3.3.3 [2] via 10.1.11.11, GigabitEthernet0/0/0/0, ABR , Area 2, SPF 6
i 4.4.4.4 [11] via 10.1.12.12, GigabitEthernet0/0/0/1, ABR , Area 2, SPF 6
RP/0/RP0/CPU0:R13#traceroute 1.1.1.1 source 13.13.13.13
Sun Sep  6 11:21:31.192 UTC

Type escape sequence to abort.
Tracing the route to 1.1.1.1

 1  10.1.11.11 16 msec  15 msec  5 msec 
 2  172.16.3.3 14 msec  9 msec  8 msec 
 3  10.0.23.2 12 msec  12 msec  33 msec 
 4  10.0.12.1 16 msec  *  17 msec 

エリアをまたぐ外部経路とType 4(STEP 4)

エリア1にあるR1で、スタティックルートをOSPFへ再配布してASBRにします。外部経路そのものの動作はOSPFの外部経路(スタティックの再配布)で扱っているので、ここではエリアをまたぐとどうなるかに注目します。再配布する192.168.1.0/24の中に応答する相手を用意するため、R1にLoopback1も作っています。

STEP 4で投入した設定
(R1)
router static
 address-family ipv4 unicast
  192.168.1.0/24 Null0
!
router ospf 1
 redistribute static
!
interface Loopback1
 description external network host (192.168.1.0/24)
 ipv4 address 192.168.1.1 255.255.255.255

R13は192.168.1.0/24type extern 2(E2)・メトリック20で受け取ります。from1.1.1.1、つまりASBR自身のままです。ここがType 3との違いです。

STEP 4 R13 show route 192.168.1.0/24
RP/0/RP0/CPU0:R13#show route 192.168.1.0/24
Sun Sep  6 11:31:18.664 UTC

Routing entry for 192.168.1.0/24
  Known via "ospf 1", distance 110, metric 20, type extern 2
  Installed Sep  6 11:25:06.972 for 00:06:11
  Routing Descriptor Blocks
    10.1.11.11, from 1.1.1.1, via GigabitEthernet0/0/0/0
      Route metric is 20
  No advertising protos. 

LSDBのType 5を見ると、Advertising Router1.1.1.1のままです。Type 5はABRで作り直されず、AS全体へそのまま流れるためエリアをまたいでも広告元が変わりません。

STEP 4 R13 show ospf database external
RP/0/RP0/CPU0:R13#show ospf database external
Sun Sep  6 11:31:16.187 UTC


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

		Type-5 AS External Link States

  Routing Bit Set on this LSA
  LS age: 373
  Options: (No TOS-capability, DC)
  LS Type: AS External Link
  Link State ID: 192.168.1.0 (External Network Number)
  Advertising Router: 1.1.1.1
  LS Seq Number: 80000001
  Checksum: 0xd25
  Length: 36
  Network Mask: /24
	Metric Type: 2 (Larger than any link state path)
	TOS: 0 
	Metric: 20 
	Forward Address: 0.0.0.0
	External Route Tag: 0

エリア2でキャプチャーしたLS Updateでも同じことが確認できます。添付のキャプチャーのNo.6は、R11がR13へType 5を送ったものです。Area ID: 0.0.0.2のパケットの中に、Advertising Router: 1.1.1.1のLSAがそのまま入っています。

No.6 LS Update(Type 5、R11 → R13)tshark -V
Open Shortest Path First
    OSPF Header
        Version: 2
        Message Type: LS Update (4)
        Packet Length: 64
        Source OSPF Router: 11.11.11.11
        Area ID: 0.0.0.2
        Checksum: 0xf78e [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 5 (AS-External-LSA (ASBR)), len 36
            .000 0000 0000 0100 = LS Age (seconds): 4
            0... .... .... .... = Do Not Age Flag: 0
            Options: 0x20, (DC) Demand Circuits
                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
                .... ..0. = (E) External Routing: Not capable
                .... ...0 = (MT) Multi-Topology Routing: No
            LS Type: AS-External-LSA (ASBR) (5)
            Link State ID: 192.168.1.0
            Advertising Router: 1.1.1.1
            Sequence Number: 0x80000001
            Checksum: 0x0d25
            Length: 36
            Netmask: 255.255.255.0
            1... .... = External Type: Type 2 (metric is larger than any other link state path)
            .000 0000 = TOS: 0
            Metric: 20
            Forwarding Address: 0.0.0.0
            External Route Tag: 0
上のtshark出力のパケット(No.6 Type 5のLSU)のpcapをダウンロード

一方で、R13が192.168.1.0/24を使うにはASBR(R1)への到達性が必要です。R1はエリア1にいるためエリア2からは見えません。そこを埋めるのがType 4(ASBR Summary-LSA)です。Link State IDがASBRのルータID(1.1.1.1)、Advertising Routerが各ABR(3.3.3.3 / 4.4.4.4)、メトリックがそのABRからASBRまでのコスト2になっています。

STEP 4 R13 show ospf database asbr-summary(Type 4)
RP/0/RP0/CPU0:R13#show ospf database asbr-summary
Sun Sep  6 11:31:15.437 UTC


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

		Summary ASB Link States (Area 2)

  Routing Bit Set on this LSA
  LS age: 371
  Options: (No TOS-capability, DC)
  LS Type: Summary Links (AS Boundary Router)
  Link State ID: 1.1.1.1 (AS Boundary Router address)
  Advertising Router: 3.3.3.3
  LS Seq Number: 80000001
  Checksum: 0x723
  Length: 28
  Network Mask: /0
	TOS: 0 	Metric: 2 

  Routing Bit Set on this LSA
  LS age: 371
  Options: (No TOS-capability, DC)
  LS Type: Summary Links (AS Boundary Router)
  Link State ID: 1.1.1.1 (AS Boundary Router address)
  Advertising Router: 4.4.4.4
  LS Seq Number: 80000001
  Checksum: 0xe83d
  Length: 28
  Network Mask: /0
	TOS: 0 	Metric: 2 

キャプチャーのNo.7が、そのType 4を運んだLS Updateです。No.6のType 5と並べると、同じエリア2のLSUでも「外部経路そのもの(Type 5、広告元はASBR)」と「ASBRへの到達性(Type 4、広告元はABR)」に役割が分かれていることが分かります。

No.7 LS Update(Type 4、R11 → R13)tshark -V
Open Shortest Path First
    OSPF Header
        Version: 2
        Message Type: LS Update (4)
        Packet Length: 56
        Source OSPF Router: 11.11.11.11
        Area ID: 0.0.0.2
        Checksum: 0x365a [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 4 (Summary-LSA (ASBR)), len 28
            .000 0000 0000 0010 = LS Age (seconds): 2
            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 (ASBR) (4)
            Link State ID: 1.1.1.1
            Advertising Router: 3.3.3.3
            Sequence Number: 0x80000001
            Checksum: 0x0723
            Length: 28
            Netmask: 0.0.0.0
            TOS: 0
            Metric: 2
上のtshark出力のパケット(No.7 Type 4のLSU)のpcapをダウンロード

show ospf border-routersにもASBRが並びます。ABRはi(エリア内経路で到達)、ASBRはI(エリア間経路で到達)と種別が分かれ、R1へのコストは4(R3までの2 + Type 4のメトリック2)です。

STEP 4 R13 show ospf border-routers(ASBRが追加された)
RP/0/RP0/CPU0:R13#show ospf border-routers
Sun Sep  6 11:31:16.827 UTC

OSPF 1 Internal Routing Table

Codes: i - Intra-area route, I - Inter-area route

I 1.1.1.1 [4] via 10.1.11.11, GigabitEthernet0/0/0/0, ASBR , Area 2, SPF 6
i 3.3.3.3 [2] via 10.1.11.11, GigabitEthernet0/0/0/0, ABR , Area 2, SPF 6
i 4.4.4.4 [11] via 10.1.12.12, GigabitEthernet0/0/0/1, ABR , Area 2, SPF 6

R13から192.168.1.1への疎通も確認できます。tracerouteはエリア2 → エリア0 → エリア1と3つのエリアを通ってR1に届いています。

STEP 4 R13 show route / ping / traceroute
RP/0/RP0/CPU0:R13#show route 192.168.1.0/24
Sun Sep  6 11:27:52.811 UTC

Routing entry for 192.168.1.0/24
  Known via "ospf 1", distance 110, metric 20, type extern 2
  Installed Sep  6 11:25:06.972 for 00:02:45
  Routing Descriptor Blocks
    10.1.11.11, from 1.1.1.1, via GigabitEthernet0/0/0/0
      Route metric is 20
  No advertising protos. 
RP/0/RP0/CPU0:R13#ping 192.168.1.1 source 13.13.13.13
Sun Sep  6 11:27:52.986 UTC
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.1 timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/13/18 ms
RP/0/RP0/CPU0:R13#traceroute 192.168.1.1 source 13.13.13.13
Sun Sep  6 11:27:53.832 UTC

Type escape sequence to abort.
Tracing the route to 192.168.1.1

 1  10.1.11.11 6 msec  4 msec  5 msec 
 2  172.16.3.3 8 msec  7 msec  8 msec 
 3  10.0.23.2 10 msec  9 msec  12 msec 
 4  10.0.12.1 13 msec  *  15 msec 

バックボーンから切り離されたABR(STEP 5)

最後に、R3のエリア0側リンク(Gi0/0/0/0)をshutdownして、ABRがバックボーンへの接続を失った状態を作ります。

STEP 5で投入した設定
(R3)
interface GigabitEthernet0/0/0/0
 shutdown

R13の1.1.1.1/32はR4経由のコスト14に切り替わりました。R3経由が使えなくなったためです。

STEP 5 R13 show route / border-routers / traceroute
RP/0/RP0/CPU0:R13#show route 1.1.1.1/32
Sun Sep  6 11:33:19.743 UTC

Routing entry for 1.1.1.1/32
  Known via "ospf 1", distance 110, metric 14, type inter area
  Installed Sep  6 11:31:44.576 for 00:01:35
  Routing Descriptor Blocks
    10.1.12.12, from 4.4.4.4, via GigabitEthernet0/0/0/1
      Route metric is 14
  No advertising protos. 
RP/0/RP0/CPU0:R13#show ospf border-routers
Sun Sep  6 11:33:19.938 UTC

OSPF 1 Internal Routing Table

Codes: i - Intra-area route, I - Inter-area route

I 1.1.1.1 [13] via 10.1.12.12, GigabitEthernet0/0/0/1, ASBR , Area 2, SPF 6
i 3.3.3.3 [2] via 10.1.11.11, GigabitEthernet0/0/0/0, ABR , Area 2, SPF 6
i 4.4.4.4 [11] via 10.1.12.12, GigabitEthernet0/0/0/1, ABR , Area 2, SPF 6
RP/0/RP0/CPU0:R13#traceroute 1.1.1.1 source 13.13.13.13
Sun Sep  6 11:33:20.673 UTC

Type escape sequence to abort.
Tracing the route to 1.1.1.1

 1  10.1.12.12 5 msec  5 msec  4 msec 
 2  172.16.4.4 8 msec  7 msec  7 msec 
 3  10.0.24.2 10 msec  9 msec  9 msec 
 4  10.0.12.1 13 msec  *  16 msec 

理由はLSDBを見ると分かります。エリア2のType 3(Summary Net Link States)は、3.3.3.3が広告しているものが自分のLoopback0(3.3.3.3/32)だけになり、エリア0とエリア1の宛先はすべて4.4.4.4からのものだけが残っています。

STEP 5 R13 show ospf database(R3のType 3が消えている)
RP/0/RP0/CPU0:R13#show ospf database
Sun Sep  6 11:36:05.576 UTC


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

		Router Link States (Area 2)

Link ID         ADV Router      Age         Seq#       Checksum Link count
3.3.3.3         3.3.3.3         1407        0x80000002 0x00cc8d 2
4.4.4.4         4.4.4.4         899         0x80000003 0x0082b5 2
11.11.11.11     11.11.11.11     1367        0x80000003 0x00cc9c 5
12.12.12.12     12.12.12.12     885         0x80000004 0x006ed1 5
13.13.13.13     13.13.13.13     1366        0x80000003 0x0093ee 5

		Summary Net Link States (Area 2)

Link ID         ADV Router      Age         Seq#       Checksum
1.1.1.1         4.4.4.4         1110        0x80000001 0x000125
2.2.2.2         4.4.4.4         1428        0x80000001 0x00c85a
3.3.3.3         3.3.3.3         1454        0x80000001 0x00ae75
4.4.4.4         4.4.4.4         1428        0x80000001 0x0062b9
10.0.12.0       4.4.4.4         1114        0x80000001 0x001ef6
10.0.23.0       4.4.4.4         1428        0x80000001 0x00a465
10.0.24.0       4.4.4.4         1428        0x80000001 0x008f7a

		Summary ASB Link States (Area 2)

Link ID         ADV Router      Age         Seq#       Checksum
1.1.1.1         4.4.4.4         661         0x80000001 0x00e83d

		Type-5 AS External Link States

Link ID         ADV Router      Age         Seq#       Checksum Tag
192.168.1.0     1.1.1.1         663         0x80000001 0x000d25 0

R3自身はLoopback0がエリア0に残っているため、show ospfでは引き続きABRのままです(Router-LSAのBビットもON)。ただしGi0/0/0/0はDOWNで、エリア0の隣接は1つもありません

STEP 5 R3 show ospf interface brief(エリア0側がDOWN)
RP/0/RP0/CPU0:R3#show ospf interface brief
Sun Sep  6 11:34:25.920 UTC

* Indicates MADJ interface, (P) Indicates fast detect hold down state

Interfaces for OSPF 1

Interface          PID   Area            IP Address/Mask    Cost  State Nbrs F/C
Lo0                1     0               3.3.3.3/32         1     LOOP  0/0
Gi0/0/0/0          1     0               10.0.23.3/24       1     DOWN  0/0
Gi0/0/0/1          1     2               172.16.3.3/24      1     P2P   1/1

そしてR3のルーティングテーブルを見ると、エリア0・エリア1の宛先をエリア2側(172.16.3.11、つまりR11)から回り込んで学習しています。

STEP 5 R3 show route ospf(エリア2経由でバックボーンを見ている)
RP/0/RP0/CPU0:R3#show route ospf
Sun Sep  6 11:34:24.529 UTC

O IA 1.1.1.1/32 [110/16] via 172.16.3.11, 00:02:40, GigabitEthernet0/0/0/1
O IA 2.2.2.2/32 [110/15] via 172.16.3.11, 00:02:40, GigabitEthernet0/0/0/1
O IA 4.4.4.4/32 [110/14] via 172.16.3.11, 00:02:40, GigabitEthernet0/0/0/1
O IA 10.0.12.0/24 [110/15] via 172.16.3.11, 00:02:40, GigabitEthernet0/0/0/1
O IA 10.0.23.0/24 [110/15] via 172.16.3.11, 00:02:40, GigabitEthernet0/0/0/1
O IA 10.0.24.0/24 [110/14] via 172.16.3.11, 00:02:40, GigabitEthernet0/0/0/1
O    10.1.11.0/24 [110/2] via 172.16.3.11, 00:21:44, GigabitEthernet0/0/0/1
O    10.1.12.0/24 [110/3] via 172.16.3.11, 00:21:00, GigabitEthernet0/0/0/1
O    11.11.11.11/32 [110/2] via 172.16.3.11, 00:21:44, GigabitEthernet0/0/0/1
O    12.12.12.12/32 [110/4] via 172.16.3.11, 00:21:00, GigabitEthernet0/0/0/1
O    13.13.13.13/32 [110/3] via 172.16.3.11, 00:21:00, GigabitEthernet0/0/0/1
O    172.16.4.0/24 [110/13] via 172.16.3.11, 00:13:03, GigabitEthernet0/0/0/1
O E2 192.168.1.0/24 [110/20] via 172.16.3.11, 00:02:40, GigabitEthernet0/0/0/1

この動作はRFC 2328の記述だけでは説明できません。RFC 2328のSection 16.2は「複数のエリアに接続しているルータはバックボーンのSummary-LSAだけを見る」と定めているため、そのままならR3はエリア間経路を1本も持てず、エリア2から来たバックボーン宛てのトラフィックを落としてしまいます。この問題を解決するために書かれたのがRFC 3509「Alternative Implementations of OSPF Area Border Routers」です。今回の実機の動作は、その「Cisco Systems Interpretation」と一致します

観測した動作RFC 2328RFC 3509(Cisco解釈)
Loopback0がエリア0に残るR3はABRのままSection 3.3「複数のエリアに接続するルータ」(リンクがdownした場合の扱いは明示なし)Section 2.1でエリアの状態を定義。Actively Attached(Down以外のインタフェースが1つ以上あるエリア)が2つ以上あり、うち1つがバックボーンならABR。LOOP状態のLoopback0はこれに該当する
R3がエリア2のType 3からエリア間経路を計算したSection 16.2「複数エリアに接続していればバックボーンのSummary-LSAだけを見る」Section 2.2「ABRであってもActive Backbone Connection(バックボーンに完全隣接が1つ以上)が無ければ、Actively Attachedな全エリアのSummary-LSAを見てよい」
R3がエリア2へ出すType 3が自分のLoopback0だけになったSection 12.4.3「非バックボーンへはエリア内経路とエリア間経路の両方を入れる」Section 2.2「Active Backbone Connectionが無いABRは、非バックボーンへエリア内経路だけを広報する」(Type 3のループ防止)
バックボーンが健全なSTEP 3とSTEP 6では、R3のエリア間経路はすべてvia 10.0.23.2(バックボーンのR2経由)で、エリア2のSummary-LSAは使われていません。エリア2側から回り込むのは、バックボーンへの完全隣接を失ったSTEP 5だけです。バックボーンに接続していないABRを作らないという設計原則は、この挙動を実装に頼らないためのものです。

復旧(STEP 6)

R3のGi0/0/0/0をno shutdownに戻すと、1.1.1.1/32はR3経由のコスト5へ戻ります。

STEP 6 R13 show route / traceroute(復旧後)
RP/0/RP0/CPU0:R13#show route 1.1.1.1/32
Sun Sep  6 11:36:46.194 UTC

Routing entry for 1.1.1.1/32
  Known via "ospf 1", distance 110, metric 5, type inter area
  Installed Sep  6 11:36:40.828 for 00:00:05
  Routing Descriptor Blocks
    10.1.11.11, from 3.3.3.3, via GigabitEthernet0/0/0/0
      Route metric is 5
  No advertising protos. 
RP/0/RP0/CPU0:R13#show ospf border-routers
Sun Sep  6 11:36:46.467 UTC

OSPF 1 Internal Routing Table

Codes: i - Intra-area route, I - Inter-area route

I 1.1.1.1 [4] via 10.1.11.11, GigabitEthernet0/0/0/0, ASBR , Area 2, SPF 6
i 3.3.3.3 [2] via 10.1.11.11, GigabitEthernet0/0/0/0, ABR , Area 2, SPF 6
i 4.4.4.4 [11] via 10.1.12.12, GigabitEthernet0/0/0/1, ABR , Area 2, SPF 6
RP/0/RP0/CPU0:R13#traceroute 1.1.1.1 source 13.13.13.13
Sun Sep  6 11:36:47.088 UTC

Type escape sequence to abort.
Tracing the route to 1.1.1.1

 1  10.1.11.11 57 msec  5 msec  4 msec 
 2  172.16.3.3 8 msec  7 msec  7 msec 
 3  10.0.23.2 9 msec  9 msec  9 msec 
 4  10.0.12.1 13 msec  *  13 msec 

経路の優先順位

同じ宛先に複数の種別の経路があるとき、OSPFはコストの大小より先に経路の種別で選びます。RFC 2328ではSection 16.2のステップ(6)で「エリア内経路が常に優先される」、Section 16.4のステップ(6)(a)で「エリア内・エリア間の経路はAS外部経路より優先される」と決められています。

優先順位種別show routeの表示この検証での例
1エリア内経路OSTEP 0のすべての経路、STEP 1以降のエリア2内の経路
2エリア間経路O IASTEP 1以降の1.1.1.1/32(コスト5)
3AS外部経路O E1 / O E2STEP 4以降の192.168.1.0/24(E2・メトリック20)

コストが小さくても種別が下位なら選ばれません。192.168.1.0/24のメトリック20は1.1.1.1/32のコスト5より大きいですが、そもそも別の宛先なので比較されません。同じ宛先が別々の種別で届いたときにこの順位が効きます

設計上の注意

  • エリア2のようにABRを2台置くと、片方が落ちても通信が続く。 STEP 5がその実例です。ただし2台のABRのコストが等しいとECMPになるため、意図した経路にしたいならSTEP 3のようにコストを設計します
  • バックボーンに接続しないABRを作らない。 実装によって挙動が変わる領域(STEP 5)に入ってしまいます。物理的に難しい場合は仮想リンクを使います
  • エリアを分ける効果を出すには経路集約とセットで考える。 エリアを分けてもType 3はプレフィックスの数だけ流れます。ABRで集約すると隣のエリアへ渡るLSAの数が減ります
  • 外部経路をエリアに入れたくない場合はスタブエリアを使う。 Type 5とType 4をエリアの入口で止められます

検証Configおよびshow結果

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

ファイル内容
..._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 border-routers / show ospf routes / show route 1.1.1.1/32 / show route 13.13.13.13/32 / show route 192.168.1.0/24 / show ospf trace events / show ospf trace spf
..._log.txtそのSTEPの範囲だけに絞ったshow logging。各STEPの開始時にlogmsgでマーカーを入れ、その時刻をshow logging startに指定して取得したもの
..._run.txtそのSTEP時点のshow running-config(=そのSTEPの検証Config)

最終状態は3エリア構成で、R4 - R12間のコスト10、R1のスタティック再配布が入っています。

STEP 0:初期状態(全リンクがエリア0のシングルエリア) — 経路はすべてO1.1.1.1/32はコスト5で2本

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

STEP 1:R3・R4のR11・R12向けとR11・R12・R13をエリア2へ — R3・R4がABRに。Type 3が出現し、R13の経路がO IAになる

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

STEP 2:R1 - R2間とR1のLoopback0をエリア1へ — R2もABRに。3エリア構成が完成。1.1.1.1/32はコスト5で2本

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

このSTEPではR13からshow route 1.1.1.1/32 と tracerouteも取得しています。

STEP 3:R4 - R12間を両端cost 10 — R4までが11に増え、1.1.1.1/32はR3経由の1本だけになる

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

このSTEPではR13からshow route / border-routers / tracerouteも取得しています。

STEP 4:R1でスタティックを再配布(ASBR化) — Type 5とType 4が出現。192.168.1.0/24がE2・メトリック20で届く

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

このSTEPではR13からshow route / ping / tracerouteも取得しています。

STEP 5:R3のGi0/0/0/0(エリア0側)をshutdown — R3がバックボーンから切り離され、1.1.1.1/32はR4経由のコスト14へ

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

このSTEPではR13からshow route / border-routers / tracerouteも取得しています。

STEP 6:R3のGi0/0/0/0をno shutdownに戻す(最終状態)1.1.1.1/32はR3経由のコスト5へ復帰

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

このSTEPではR13からshow route / tracerouteも取得しています。

キャプチャーは2か所で取得しました(フィルタはip proto 89)。

エリア0側(R2 - R3間、STEP 1)のキャプチャーをダウンロード

エリア2側(R11 - R13間、STEP 4)のキャプチャーをダウンロード

参考

RFCタイトル概要
RFC 2328OSPF Version 2エリアとバックボーンの定義(Section 3.1〜3.3)。Summary-LSAの生成規則(Section 12.4.3)。エリア間経路の計算(Section 16.2)。
RFC 3509Alternative Implementations of OSPF Area Border Routersバックボーン接続を持たないABRの扱い。Actively Attached areaとActive Backbone Connectionの定義(Section 2.1)と、実装ごとの動作(Section 2.2)。

関連記事