今回はOSPFのLSA Type 5のForwarding Addressについて解説します。
座学
Forwarding Address
OSPFのLSA Type 5にはForwarding Addressと呼ばれるフィールドが存在します。このForwarding Addressフィールドは、ある状況下において、最適なルーティングを実現するために使用されます。
一般的に、上記のForwarding Addressには0.0.0.0が格納されます。もし、OSPF経由で学習したLSA Type 5のForwarding Addressが0.0.0.0の場合、ルータは再配送されたルート情報宛のパケットをASBRに対して転送します。そのため、下図のように、R1は180.1.1.0/24宛のパケットを直接R3には転送せず、R2に転送するため、非効率なルーティングが発生してしまいます。
上図の様な構成において、効率的なルーティングを実現するために、Forwarding Addressに0.0.0.0以外のアドレスを格納する場合があります。
下図において、R2は180.1.1.0/24をOSPFに再配送する際、LSA Type 5のForwarding Addressに180.1.1.0/24へのネクストホップである10.1.1.3を格納します。この結果、R1は180.1.1.0/24宛のパケットをR2ではなく、R3に直接転送することが可能です。
1点注意として、再配送を実施したASBRにおいて、以下の条件を満たしている場合のみ、Forwarding Addressに0.0.0.0以外が格納されます。
- 再配送されたルート情報へのネクストホップインタフェースでOSPFが動作している
- ①のインタフェースでPassive Interfaceが有効ではない
- ①のインタフェースのNetwork TypeがPoint-to-Pointでない
- ①のインタフェースのNetwork TypeがPoint-to-Multipointではない
- ①のインタフェースのアドレスがOSPFのnetworkコマンドで指定した範囲に含まれている
実機での動作確認
検証内容
R1のg2、R2のg2でOSPF Area 0を有効にします。
R2でネクストホップに10.1.1.3を指定した180.1.1.0/24宛のスタティックルートを設定します。
R2でStatic RouteをOSPFに再配送します。
R1とR2のg2のNetwork TypeがPoint-to-PointとBroadcastの場合で、R2が生成した180.1.1.0/24を格納したLSA Type 5のForwarding Addressがどのように変化するのかを確認します。
初期設定
interface GigabitEthernet2
ip address 10.1.1.1 255.255.255.0
!
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
!
router ospf 1
router-id 2.2.2.2
redistribute static subnets
network 10.1.1.0 0.0.0.255 area 0
!
ip route 180.1.1.0 255.255.255.0 10.1.1.3
interface GigabitEthernet2
ip address 10.1.1.3 255.255.255.0
!
interface GigabitEthernet3
ip address 180.1.1.3 255.255.255.0
Network TypeがPoint-to-Pointの場合
R1とR2のg2のNetwork TypeがPoint-to-Pointの場合の、R2が生成した180.1.1.0/24を格納したLSA Type 5のForwarding Addressを確認します。
追加した設定
R1とR2のg2のNetwork TypeにPoint-to-Pointを指定します。
interface GigabitEthernet2
ip ospf network point-to-point
OSPFが動作しているインタフェースの状態確認
R2のg2のNetwork TypeがPoint-to-Pointであることが確認できます。
R2#show ip ospf interface
GigabitEthernet2 is up, line protocol is up
Internet Address 10.1.1.2/24, Interface ID 6, Area 0
Attached via Network Statement
Process ID 1, Router ID 2.2.2.2, Network Type POINT_TO_POINT, Cost: 1
Topology-MTID Cost Disabled Shutdown Topology Name
0 1 no no Base
Transmit Delay is 1 sec, State POINT_TO_POINT
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
oob-resync timeout 40
Hello due in 00:00:04
Supports Link-local Signaling (LLS)
Cisco NSF helper support enabled
IETF NSF helper support enabled
Index 1/1/1, flood queue length 0
Next 0x0(0)/0x0(0)/0x0(0)
Last flood scan length is 1, maximum is 3
Last flood scan time is 0 msec, maximum is 1 msec
Neighbor Count is 1, Adjacent neighbor count is 1
Adjacent with neighbor 1.1.1.1
Suppress hello for 0 neighbor(s)
LSDBの状態確認
R2のg2のNetwork TypeがPoint-to-Pointであるため、R2が生成した180.1.1.0/24を格納したLSA Type 5のForwarding Addressが0.0.0.0であることが確認できます。
R2#show ip ospf database external 180.1.1.0 adv-router 2.2.2.2
OSPF Router with ID (2.2.2.2) (Process ID 1)
Type-5 AS External Link States
LS age: 184
Options: (No TOS-capability, DC, Upward)
LS Type: AS External Link
Link State ID: 180.1.1.0 (External Network Number )
Advertising Router: 2.2.2.2
LS Seq Number: 80000001
Checksum: 0x677A
Length: 36
Network Mask: /24
Metric Type: 2 (Larger than any link state path)
MTID: 0
Metric: 20
Forward Address: 0.0.0.0
External Route Tag: 0
SPFの計算結果の確認
180.1.1.0/24を格納したLSA Type 5のForwarding Addressが0.0.0.0なので、R1は180.1.1.0/24のネクストホップアドレスにLSA Type 5の生成元のR2の10.1.1.2を使用していることが確認できます。
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
*> 180.1.1.0/24, Ext2, cost 20, fwd cost 1, tag 0
via 10.1.1.2, GigabitEthernet2
ルーティングテーブルの確認
R1のルーティングテーブル内の180.1.1.0/24のネクストホップがR2の10.1.1.2であることが確認できます。
R1#show ip route ospf
180.1.0.0/24 is subnetted, 1 subnets
O E2 180.1.1.0 [110/20] via 10.1.1.2, 00:02:49, GigabitEthernet2
疎通確認
R1の10.1.1.1からR3の180.1.1.3にTracerouteを実施すると、R1はR3に直接パケットを転送せずに、R2にパケットを転送していることが確認できます。
R1#traceroute 180.1.1.3 source 10.1.1.1 probe 1
Type escape sequence to abort.
Tracing the route to 180.1.1.3
VRF info: (vrf in name/id, vrf out name/id)
1 10.1.1.2 0 msec
2 10.1.1.3 1 msec
Network TypeがBroadcastの場合
R1とR2のg2のNetwork TypeがBroadcastの場合の、R2が生成した180.1.1.0/24を格納したLSA Type 5のForwarding Addressを確認します。
追加した設定
R1とR2のg2のNetwork TypeにBroadcastを指定します。(デフォルトでBroadcastとして動作しているため、実際にはこの設定は不要になります。)
interface GigabitEthernet2
ip ospf network broadcast
OSPFが動作しているインタフェースの状態確認
R2のg2のNetwork TypeがBroadcastであることが確認できます。
R2#show ip ospf interface
GigabitEthernet2 is up, line protocol is up
Internet Address 10.1.1.2/24, Interface ID 6, Area 0
Attached via Network Statement
Process ID 1, Router ID 2.2.2.2, Network Type BROADCAST, Cost: 1
Topology-MTID Cost Disabled Shutdown Topology Name
0 1 no no Base
Transmit Delay is 1 sec, State DR, Priority 1
Designated Router (ID) 2.2.2.2, Interface address 10.1.1.2
Backup Designated router (ID) 1.1.1.1, Interface address 10.1.1.1
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
oob-resync timeout 40
Hello due in 00:00:01
Supports Link-local Signaling (LLS)
Cisco NSF helper support enabled
IETF NSF helper support enabled
Index 1/1/1, flood queue length 0
Next 0x0(0)/0x0(0)/0x0(0)
Last flood scan length is 1, maximum is 3
Last flood scan time is 0 msec, maximum is 1 msec
Neighbor Count is 1, Adjacent neighbor count is 1
Adjacent with neighbor 1.1.1.1 (Backup Designated Router)
Suppress hello for 0 neighbor(s)
LSDBの状態確認
R2のg2のNetwork TypeがBroadcastであるため、R2が生成した180.1.1.0/24を格納したLSA Type 5のForwarding Addressが10.1.1.3に変化したことが確認できます。
R2#show ip ospf database external 180.1.1.0 adv-router 2.2.2.2
OSPF Router with ID (2.2.2.2) (Process ID 1)
Type-5 AS External Link States
LS age: 129
Options: (No TOS-capability, DC, Upward)
LS Type: AS External Link
Link State ID: 180.1.1.0 (External Network Number )
Advertising Router: 2.2.2.2
LS Seq Number: 80000004
Checksum: 0x13BC
Length: 36
Network Mask: /24
Metric Type: 2 (Larger than any link state path)
MTID: 0
Metric: 20
Forward Address: 10.1.1.3
External Route Tag: 0
SPFの計算結果の確認
180.1.1.0/24を格納したLSA Type 5のForwarding Addressが10.1.1.3なので、R1は180.1.1.0/24のネクストホップアドレスにR3の10.1.1.3を使用していることが確認できます。
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
*> 180.1.1.0/24, Ext2, cost 20, fwd cost 1, tag 0
via 10.1.1.3, GigabitEthernet2
ルーティングテーブルの確認
R1のルーティングテーブル内の180.1.1.0/24のネクストホップがR3の10.1.1.3に変化したことが確認できます。
R1#show ip route ospf
180.1.0.0/24 is subnetted, 1 subnets
O E2 180.1.1.0 [110/20] via 10.1.1.3, 00:02:24, GigabitEthernet2
疎通確認
R1の10.1.1.1からR3の180.1.1.3にTracerouteを実施すると、R1はR3に直接パケットを転送していることが確認できます。
R1#traceroute 180.1.1.3 source 10.1.1.1 probe 1
Type escape sequence to abort.
Tracing the route to 180.1.1.3
VRF info: (vrf in name/id, vrf out name/id)
1 10.1.1.3 1 msec
コメント