OSPF Type 5 LSA
OSPF uses the Type5 external link LSAs to advertise external routes originated from an ASBR. They are flooded through the whole OSPF domain (at least into the parts where they are accepted) and point packets for those external addresses to the ASBR. There is a field called Forward Address within that Type5 LSA, which is usually set to 0.0.0.0 which means that the packets should be sent directly to the ASBR.
Have a look at the following drawing:

R2 is the ASBR for the OSPF Domain and advertises the Type5 LSAs for 99.99.1.0 and 116.1.124.0 to all routers. As you can see on R5, the field Forward Address is set to 0.0.0.0. The whole configuration for OSPF and EIGRP is plain default configuration and R2 is just redistributing EIGRP into OSPF. For testing purposes, R1 has set a default route to R2 so the OSPF domain is able to ping and traceroute to R1s interfaces.
R5#sh ip ospf data exter
OSPF Router with ID (99.99.5.5) (Process ID 1)
Type-5 AS External Link States
Routing Bit Set on this LSA
LS age: 1400
Options: (No TOS-capability, DC)
LS Type: AS External Link
Link State ID: 99.99.1.0 (External Network Number )
Advertising Router: 99.99.2.2
LS Seq Number: 80000002
Checksum: 0x729A
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
Routing Bit Set on this LSA
LS age: 1405
Options: (No TOS-capability, DC)
LS Type: AS External Link
Link State ID: 116.1.124.0 (External Network Number )
Advertising Router: 99.99.2.2
LS Seq Number: 80000001
Checksum: 0xE4FE
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
Given this is the normal case and you probably will not see something different often, but there is that special case where the Forward Address is set to something different than 0.0.0.0.
This is going to happen if OSPF includes the Interface on which the EIGRP neighborship connection is bound to:
R2#sh run | sec router ospf router ospf 1 log-adjacency-changes redistribute eigrp 100 subnets network 99.99.2.2 0.0.0.0 area 0 network 116.1.23.2 0.0.0.0 area 0 network 116.1.124.2 0.0.0.0 area 0
R2 is going to set 116.1.124.1 as Forward Address which means that every packet should be sent directly to R1, even though it does not change anything in that environment the packets will still go through R2. The Type 5 LSA for 116.1.124.0 disappeared and only R1s Loopback is now found in R5s OSFP database:
R5#sh ip ospf data ext
OSPF Router with ID (99.99.5.5) (Process ID 1)
Type-5 AS External Link States
Routing Bit Set on this LSA
LS age: 9
Options: (No TOS-capability, DC)
LS Type: AS External Link
Link State ID: 99.99.1.0 (External Network Number )
Advertising Router: 99.99.2.2
LS Seq Number: 80000004
Checksum: 0xDB3C
Length: 36
Network Mask: /24
Metric Type: 2 (Larger than any link state path)
TOS: 0
Metric: 20
Forward Address: 116.1.124.1
External Route Tag: 0
R5#traceroute 99.99.1.1 numeric
Type escape sequence to abort.
Tracing the route to 99.99.1.1
1 116.1.45.4 48 msec 12 msec 28 msec
2 116.1.34.3 20 msec 52 msec 28 msec
3 116.1.23.2 52 msec 52 msec 48 msec
4 116.1.124.1 80 msec * 104 msec
That special case is mentioned in RFC2328 (OSPFv2) chapter 2.3 at page 25.
In short, this behavior was introduced to reduze the hop count to a specific external route. As already mentioned, in the above case, this will not change anything since R2 is the only connection to R1. But if we connect R2 and R4 together (over the same interface as R1 is connected to R2), R5 will now use R4 to reach R1.

Even though, R4 does not have any adjacencies to R1, the packets from R5 to 99.99.1.1 will be sent from R4 directly to R1:
R5#traceroute 99.99.1.1 numeric Type escape sequence to abort. Tracing the route to 99.99.1.1 1 116.1.45.4 36 msec 16 msec 36 msec 2 116.1.124.1 52 msec * 36 msec
No comments yet.