今回はOSPFのMulti Area構成とLSA Type 3を解説します。
座学
Multi Area
下図のように、OSPFでやり取りされるLSA Type 1とLSA Type 2には、プレフィックス情報に加え、隣接しているルータなどのネットワーク構成に関する情報も存在します。
この結果、下図の様にネットワークが拡大すると、プレフィクス情報に加え、ネットワーク構成に関する情報も増加するので、各ルータのLSDBが肥大化してしまいます。
ここで、一つ疑問が生じないでしょうか。例えば、上図において、R1は20.1.1.0/24のネクストホップを計算するために、「R6がR7、R8、R9と接続」、「R8はR6、R9と接続している」などのトポロジーの右側のネットワーク構成の情報は必要でしょうか。「20.1.1.0/24はR6の先に存在する」と「トポロジー右側(R1~R6)のネットワーク構成の情報」が存在するば、R1は20.1.1.0/24宛のパケットをR6に向かって転送可能な気がしませんか。
このような考え方を基に、LSDBの肥大化を解消する機能がネットワークを複数のAreaに分割するMulti Areaになります。Multi Areaを使用した場合、あるAreaに所属するルータは別のAreaのプレフィックス情報のみ学習し、ネットワーク構成情報は学習できなくなります。すなわち、あるAreaに所属するルータは別のAreaのルータが生成したLSA Type 1やLSA Type 2を学習できなくなり、代わりに別のAreaのプレフィックス情報のみを格納したLSA Type 3であるNetwork Summary LSAを学習します。これにより、Area毎にLSDBの情報量を削減可能です。
LSA Type 1とLSA Type 2からプレフィックス情報のみを抽出し、LSA Type 3を生成する処理はエリアの境界に存在するルータが行います。このようなルータをABR(Area Border Router)呼びます。ABRは自身が所属する全AreaのLSA Type 1、LSA Type 2を保持するので、Multi Areaを使用しても、ABRのLSDBの情報量は削減できません。また、ABRは、Area毎にLSA Type1とLSA Type 2を生成します。
Backbone Areaについて
Multi Area構成において、Area 0をBackbone Area呼びますBackbone Area、Area 0以外のAreaをNon-Backbone Areaと呼びます。(日本語の参考書では標準エリアと書かれていたりします。)
Non-Backbone AreaはBackbone Areaと接続している必要があります。
下図のArea 3の様に、一般的に、Backbone AreaとNon-Backbone Areaが隣接していない構成は禁止されています。2つのNon-Backbone Areaの境界に存在するルータは、あるNon-Backbone AreaのLSA Type 1とLSA Type 2からプレフィックス情報のみを抽出し、LSA Type 3を生成し、もう一方のNon-Backbone Areaに対してLSA Type 3を広報することはできません。
Non-Backbone Area間でのLSAのやり取りを許可してしまうと、下図の様な、LSAの情報のループが発生する可能性があります。この問題を回避するために、Non-Backbone Area間でのLSAのやり取りは禁止されています。
OSPFが動作しているルータの名称
OSPFが動作しているルータには以下の名称が存在します。
Backbone Areaに所属するルータのことをBackbone Routerと呼びます。
1つのAreaにのみ所属するルータのことをInternal Routerと呼びます。
複数のAreaに所属するルータのことをABR(Area Border Router)と呼びます。
EIGRP等の他のルーティングドメインにも所属しているルータをASBR(AS Border Router)と呼びます。
LSA Type 3のパケットフォーマット
・Link State ID
他のエリアのプレフィックスのネットワークアドレスが格納されます。
・Network Mask
他のエリアのプレフィックスのサブネットマスクが格納されます。
・Metric
ABRから宛先プレフィックスまでのメトリックが格納されます。
実機での動作確認
検証内容
R1、R2間でOSPF Area 0を有効にし、ルート情報を交換します。
R2、R3間でOSPF Area 2を有効にし、ルート情報を交換します。
R1、R2、R3のNetwork TypeにはPoint-to-Pointを使用します。
初期設定
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 20.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
network 20.1.1.0 0.0.0.255 area 2
interface GigabitEthernet2
ip address 20.1.1.3 255.255.255.0
ip ospf network point-to-point
!
router ospf 1
router-id 3.3.3.3
network 20.1.1.0 0.0.0.255 area 2
OSPFプロセスの状態確認
R2がArea 0とArea 2に所属しており、ABRとして動作していることが確認できます。
R2#show ip ospf
Routing Process "ospf 1" with ID 2.2.2.2
Start time: 1d00h, Time elapsed: 02:26:55.938
Supports only single TOS(TOS0) routes
Supports opaque LSA
Supports Link-local Signaling (LLS)
Supports area transit capability
Supports NSSA (compatible with RFC 3101)
Supports Database Exchange Summary List Optimization (RFC 5243)
Event-log enabled, Maximum number of events: 1000, Mode: cyclic
It is an area border router
Router is not originating router-LSAs with maximum metric
Initial SPF schedule delay 50 msecs
Minimum hold time between two consecutive SPFs 200 msecs
Maximum wait time between two consecutive SPFs 5000 msecs
Incremental-SPF disabled
Initial LSA throttle delay 50 msecs
Minimum hold time for LSA throttle 200 msecs
Maximum wait time for LSA throttle 5000 msecs
Minimum LSA arrival 100 msecs
LSA group pacing timer 240 secs
Interface flood pacing timer 33 msecs
Retransmission pacing timer 66 msecs
EXCHANGE/LOADING adjacency limit: initial 300, process maximum 300
Number of external LSA 0. Checksum Sum 0x000000
Number of opaque AS LSA 0. Checksum Sum 0x000000
Number of DCbitless external and opaque AS LSA 0
Number of DoNotAge external and opaque AS LSA 0
Number of areas in this router is 2. 2 normal 0 stub 0 nssa
Number of areas transit capable is 0
External flood list length 0
IETF NSF helper support enabled
Cisco NSF helper support enabled
Reference bandwidth unit is 100 mbps
Area BACKBONE(0)
Number of interfaces in this area is 1
Area has no authentication
SPF algorithm last executed 00:04:53.736 ago
SPF algorithm executed 9 times
Area ranges are
Number of LSA 3. Checksum Sum 0x016B86
Number of opaque link LSA 0. Checksum Sum 0x000000
Number of DCbitless LSA 0
Number of indication LSA 0
Number of DoNotAge LSA 0
Flood list length 0
Area 2
Number of interfaces in this area is 1
Area has no authentication
SPF algorithm last executed 00:04:02.062 ago
SPF algorithm executed 9 times
Area ranges are
Number of LSA 3. Checksum Sum 0x0211A8
Number of opaque link LSA 0. Checksum Sum 0x000000
Number of DCbitless LSA 0
Number of indication LSA 0
Number of DoNotAge LSA 0
Flood list length 0
LSDBの状態確認
R1のLSDBにはArea 2のLSA Type 1が存在せず、代わりに、20.1.1.0/24を格納したLSA Type 3が存在することが確認できます。
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 875 0x80000008 0x00D121 2
2.2.2.2 2.2.2.2 434 0x8000000D 0x006A7D 2
Summary Net Link States (Area 0)
Link ID ADV Router Age Seq# Checksum
20.1.1.0 2.2.2.2 387 0x80000009 0x002BEA
R2のLSDBにはArea 0とArea 2の両方のLSA Type 1とLSA Type 3が存在することが確認できます。
R2#show ip ospf database
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 887 0x80000008 0x00D121 2
2.2.2.2 2.2.2.2 444 0x8000000B 0x006E7B 2
Summary Net Link States (Area 0)
Link ID ADV Router Age Seq# Checksum
20.1.1.0 2.2.2.2 398 0x80000009 0x002BEA
Router Link States (Area 2)
Link ID ADV Router Age Seq# Checksum Link count
2.2.2.2 2.2.2.2 398 0x8000000A 0x00E1EC 2
3.3.3.3 3.3.3.3 393 0x80000008 0x00824A 2
Summary Net Link States (Area 2)
Link ID ADV Router Age Seq# Checksum
10.1.1.0 2.2.2.2 444 0x80000009 0x00AD72
R3のLSDBにはArea 0のLSA Type 1が存在せず、代わりに、10.1.1.0/24を格納したLSA Type 3が存在することが確認できます。
R3#show ip ospf database
OSPF Router with ID (3.3.3.3) (Process ID 1)
Router Link States (Area 2)
Link ID ADV Router Age Seq# Checksum Link count
2.2.2.2 2.2.2.2 409 0x8000000A 0x00E1EC 2
3.3.3.3 3.3.3.3 403 0x80000008 0x00824A 2
Summary Net Link States (Area 2)
Link ID ADV Router Age Seq# Checksum
10.1.1.0 2.2.2.2 455 0x80000009 0x00AD72
LSDB内のLSA Type 3の詳細はshow ip ospf database summary <link-state-id> adv-router <adv-router-id>コマンドで確認可能です。
以下はArea 0における20.1.1.0/24を格納したLSA Type 3になります。20.1.1.0/24が格納されていることが確認できます。
R1#show ip ospf database summary 20.1.1.0 adv-router 2.2.2.2
OSPF Router with ID (1.1.1.1) (Process ID 1)
Summary Net Link States (Area 0)
LS age: 585
Options: (No TOS-capability, DC, Upward)
LS Type: Summary Links(Network)
Link State ID: 20.1.1.0 (summary Network Number)
Advertising Router: 2.2.2.2
LS Seq Number: 80000009
Checksum: 0x2BEA
Length: 28
Network Mask: /24
MTID: 0 Metric: 1
以下は、「Area 2のR2、R3のLSA Type 1」と「Area 0に投入された20.1.1.0/24が格納されたLSA Type 3」の比較になります。ネットワーク構成に関する情報が削除され、情報量が削減されたことが確認できます。
SPFの計算結果の確認
R1の20.1.1.0/24のCostが2であることが確認できます。また、20.1.1.0/24が別Areaのルート情報(Inter-Area)であることが確認できます。
R1#show ip ospf rib
OSPF Router with ID (1.1.1.1) (Process ID 1)
Base Topology (MTID 0)
OSPF local RIB
Codes: * - Best, > - Installed in global RIB
* 10.1.1.0/24, Intra, cost 1, area 0, Connected
via 10.1.1.1, GigabitEthernet2
*> 20.1.1.0/24, Inter, cost 2, area 0
via 10.1.1.2, GigabitEthernet2
ルーティングテーブルの確認
OSPF経由で学習した別Areaのルート情報はO IAと表示されます。
R1のルーティングテーブルに投入された10.2.2.0/24のメトリックが2であることが確認できます。
R1#show ip route ospf
20.0.0.0/24 is subnetted, 1 subnets
O IA 20.1.1.0 [110/2] via 10.1.1.2, 00:09:58, GigabitEthernet2
疎通確認
R1の10.1.1.1からR3の20.1.1.3へのPingが成功したことから、R1はOSPF経由で学習した別Areaと疎通可能なことが確認できます。
R1#ping 20.1.1.3 source 10.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 20.1.1.3, timeout is 2 seconds:
Packet sent with a source address of 10.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
補足(ABRの存在の認識)
ABRとして動作しているルータは、LSA Type 1を広報する際に、B(Border) bitをセットします。
以下はR2が生成したArea 0のLSA Type 1になります。B bitがセットされていることが確認できます。
R1#show ip ospf database router adv-router 2.2.2.2
OSPF Router with ID (1.1.1.1) (Process ID 1)
Router Link States (Area 0)
LS age: 541
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: 8000000D
Checksum: 0x6A7D
Length: 48
Area Border Router
Number of Links: 2
Link connected to: another Router (point-to-point)
(Link ID) Neighboring Router ID: 1.1.1.1
(Link Data) Router Interface address: 10.1.1.2
Number of MTID metrics: 0
TOS 0 Metrics: 1
Link connected to: a Stub Network
(Link ID) Network/subnet number: 10.1.1.0
(Link Data) Network Mask: 255.255.255.0
Number of MTID metrics: 0
TOS 0 Metrics: 1
各ルータにおいて、ABRやASBRとして認識しているルータはshow ip ospf border-routersコマンドで確認可能です。
R1はR2をABRとして認識していることが確認できます。
R1#show ip ospf border-routers
OSPF Router with ID (1.1.1.1) (Process ID 1)
Base Topology (MTID 0)
Internal Router Routing Table
Codes: i - Intra-area route, I - Inter-area route
i 2.2.2.2 [1] via 10.1.1.2, GigabitEthernet2, ABR, Area 0, SPF 8
コメント