OSPFのForward Address(OSPF学習ルートのネクストホップアドレス)

OSPFのForward Address(OSPF学習ルートのネクストホップアドレス)

CiscoルーターにおけるOSPFで学習したルートのネクストホップとなるForward Sddressについて説明します。

目次

ネットワーク構成

CMLで下記ネットワークを構築し検証を行います。ポイントとしては、Router1とRouter2の接続セグメント内(172.16.1.0/24)にOSPFが設定されていないRouter3が存在していることです。

ネットワーク構成

ネットワーク機器の設定

ルーティング関連の主な設定は下記のとおりです。
・Router1とRouter2がOSPFネイバーとなっている。
・Router3のLANセグメントへの経路は、Router2にスタティックルートが設定されている。
・Router1はコネクトルートを、Router2はコネクトルートとスタティックルートをOSPFで再配送している。
・Router3のデフォルトルートは、Router2がネクストホップになっている。

ルーティング設定

通信経路の確認

【Case1】Server1とServer2の通信

Server1とServer2の想定の通信経路は下記の通りとなります。

Server1とServer2の通信経路

Router1とRouter2のそれぞれのLANセグメントに対するルーティングは下記のとおりです。想定の経路を通って通信が行われています。

Router1#show ip route | inc 192.168.2.0
O E2  192.168.2.0/24 [110/100] via 172.16.1.2, 02:30:04, GigabitEthernet0/1
Router2#show ip route | inc 192.168.1.0
O E2  192.168.1.0/24 [110/100] via 172.16.1.1, 02:31:28, GigabitEthernet0/1

【Case2】Server1とServer3の通信

Router1のOSPFで学習するルートのネクストホップが、全てRouter2となると仮定すると、Server1とServer3の想定の通信経路は下記の通りとなります。

Server1とServer3の想定の通信経路

しかし、Router1の192.168.3.0へのルーティングを確認すると、ネクストホップがRouter3(172.16.1.3)となっています。

Router1#show ip route | inc 192.168.3.0
O E2  192.168.3.0/24 [110/100] via 172.16.1.3, 02:50:38, GigabitEthernet0/1

そのため、実際の通信経路は下記の通りとなります。

Server1とServer3の実際の通信経路

OSPFのForward Addressの説明

なぜ、このような状況になるのかというと、OSPFでアドバタイズされるルーティング情報には、”Forward Address”というものが含まれているからです。この情報が、転送先のIPアドレスとなり、ルーティングテーブルに登録されるネクストホップとなります。

“Forward Address”の情報を確認するためには、下記のコマンドを実施します。

show ip ospf database external
Router1#show ip ospf database external 

            OSPF Router with ID (172.16.1.1) (Process ID 100)

		Type-5 AS External Link States

  LS age: 218
  Options: (No TOS-capability, DC, Upward)
  LS Type: AS External Link
  Link State ID: 192.168.2.0 (External Network Number )
  Advertising Router: 172.16.1.2
  LS Seq Number: 80000006
  Checksum: 0x938C
  Length: 36
  Network Mask: /24
	Metric Type: 2 (Larger than any link state path)
	MTID: 0 
	Metric: 100 
	Forward Address: 0.0.0.0
	External Route Tag: 0

  LS age: 1469
  Options: (No TOS-capability, DC, Upward)
  LS Type: AS External Link
  Link State ID: 192.168.3.0 (External Network Number )
  Advertising Router: 172.16.1.2
  LS Seq Number: 8000000C
  Checksum: 0xDF78
  Length: 36
  Network Mask: /24
	Metric Type: 2 (Larger than any link state path)
	MTID: 0 
	Metric: 100 
	Forward Address: 172.16.1.3
	External Route Tag: 0

“Forward Address”の値は下記の通りです。

宛先セグメントForward AddressAdvertising Router
192.168.2.00.0.0.0172.16.1.2
192.168.3.0172.16.1.3172.16.1.2

“Forward Address”が、0.0.0.0の場合は、”Advertising Router”のIPアドレスがネクストホップになります。

Forward Addressが0.0.0.0以外となる条件

ネクストホップアドレスが属しているセグメントのインターフェースが、下記の条件を全て満たす場合、”Forward Address”に「0.0.0.0以外」がセットされます。(ほとんどの状況で、そのルーターが保持しているネクストホップアドレスがセットされます。)

  1. OSPFが有効になっている。
  2. 設定されているアドレスが、router ospf のnetworkコマンドで指定された範囲に入っている。
  3. OSPFのパッシブインターフェースではない。
  4. OSPFタイプが、point-to-point及びpoint-to-multipointではない。

Router2が、”ネクストホップ:172.16.1.3″となっている経路をOSPFで再配信する場合、Gi0/1が上記の条件をすべて満たしているため、“Forward Address”に”172.16.1.3″をセットします。

パケットキャプチャとデバッグによる確認

OSPFのアドバタイズ情報(リンクステートのアップデート情報)とSPFの登録更新をパケットキャプチャとデバッグで確認します。

パケットキャプチャ

Router2からのリンクステートアップデートのパケットは下記の通りとなります。

192.168.2.0のリンクステートアップデート → Forwarding Address:0.0.0.0

192.168.2.0のリンクステートアップデートのパケットキャプチャ

192.168.3.0のリンクステートアップデート → Forwarding Address:172.16.1.3

192.168.3.0のリンクステートアップデートのパケットキャプチャ

デバッグ

デバッグで、SPFの登録更新を確認するには下記コマンドを実施します。

debug ip ospf spf
Router1#debug ip ospf spf 
OSPF SPF debugging is on
OSPF SPF intra debugging is on
OSPF SPF inter debugging is on
OSPF SPF external debugging is on

192.168.2.0のリンクステートアップデートを受け取った後のSPF更新

Router1#
09:32:42.874: OSPF-100 SPF  : Schedule partial SPF type 5, LSID 192.168.2.0, adv_rtr 172.16.1.2 area dummy area 
09:32:42.876: OSPF-100 SPF  : Service partial SPF, spf instance 26, 0/1/0/0
09:32:42.876: OSPF-100 EXTER: Process partial Opaque LSA queue
09:32:42.876: OSPF-100 INTER: Process partial summary spf queue
09:32:42.877: OSPF-100 EXTER: Process partial external spf queue
09:32:42.877: OSPF-100 EXTER: Process partial spfQ: LSA 5/192.168.2.0/172.16.1.2, age 1, seq 0x80000001, area dummy area
09:32:42.878: OSPF-100 EXTER: Partial SPF for prefix 192.168.2.0/24, LSA 5/192.168.2.0/172.16.1.2 
09:32:42.878: OSPF-100 EXTER: Start partial processing AS External LSA 5/192.168.2.0/172.16.1.2, mask 255.255.255.0
09:32:42.879: OSPF-100 EXTER:  age 1, seq 0x80000001, metric 100, metric-type 2, fw-addr 0.0.0.0 
09:32:42.879: OSPF-100 EXTER:  border table path: ASBR via 172.16.1.2 on GigabitEthernet0/1, area 0, cost 1, flags (none) 
09:32:42.880: OSPF-100 EXTER: Entered External route sync for area dummy area 
09:32:42.881: OSPF-100 EXTER: Process partial nssa spf queue

192.168.3.0のリンクステートアップデートを受け取った後のSPF更新

Router1#
09:32:49.315: OSPF-100 SPF  : Schedule partial SPF type 5, LSID 192.168.3.0, adv_rtr 172.16.1.2 area dummy area 
09:32:49.316: OSPF-100 SPF  : Service partial SPF, spf instance 27, 0/1/0/0
09:32:49.316: OSPF-100 EXTER: Process partial Opaque LSA queue
09:32:49.317: OSPF-100 INTER: Process partial summary spf queue
09:32:49.317: OSPF-100 EXTER: Process partial external spf queue
09:32:49.318: OSPF-100 EXTER: Process partial spfQ: LSA 5/192.168.3.0/172.16.1.2, age 1, seq 0x80000001, area dummy area
09:32:49.318: OSPF-100 EXTER: Partial SPF for prefix 192.168.3.0/24, LSA 5/192.168.3.0/172.16.1.2 
09:32:49.318: OSPF-100 EXTER: Start partial processing AS External LSA 5/192.168.3.0/172.16.1.2, mask 255.255.255.0
09:32:49.319: OSPF-100 EXTER:  age 1, seq 0x80000001, metric 100, metric-type 2, fw-addr 172.16.1.3 
09:32:49.320: OSPF-100 EXTER:   forwarding address 172.16.1.3 is not in the GRIB 
09:32:49.320: OSPF-100 EXTER:  forwarding address route path: via 172.16.1.1 on GigabitEthernet0/1, flags (Connected) 
09:32:49.322: OSPF-100 EXTER: Entered External route sync for area dummy area 
09:32:49.323: OSPF-100 EXTER: Process partial nssa spf queue

以上で、OSPFのForward Address(OSPF学習ルートのネクストホップアドレス)の説明は完了です。

  • URLをコピーしました!
  • URLをコピーしました!
目次