OSPFv3 and OSPFv2 Comparison
The following aspects of OSPFv3 and OSPFv2 are the same:
Network type and interface type
Interface state machine and neighbor state machine
LSDB
Flooding mechanism
Hello, DD, LSR, LSU, and LSAck packets
Route calculation
The following aspects of OSPFv3 and OSPFv2 are different:
OSPFv3 runs on IPv6, which is based on links rather than network segments.
This means that there is no need to configure OSPFv3 on interfaces in the same network segment. It is only necessary that the interfaces enabled with OSPFv3 are on the same link. Interfaces can also set up OSPFv3 sessions without IPv6 global addresses.
OSPFv3 does not depend on IP addresses.
This separates topology calculation from IP addresses. OSPFv3 calculates a topology without knowing the IPv6 global address, which only applies to virtual link interfaces for packet forwarding.
OSPFv3 packets and the LSA format have the following changes:
OSPFv3 packets do not contain IP addresses.
OSPFv3 router LSAs and network LSAs do not contain IP addresses, which are advertised by Link LSAs and Intra Area Prefix LSAs.
In OSPFv3, router IDs, area IDs, and LSA link state IDs no longer indicate IP addresses, but the IPv4 address format is still reserved.
In broadcast, NBMA, or P2MP networks, neighbors are identified by router IDs instead of IP addresses.
In OSPFv3, information about the flooding scope is added in the LSA Type field.
This allows OSPFv3 routers to process LSAs of unidentified types, which makes processing more flexible.
OSPFv3 stores or floods unidentified packets, whereas OSPFv2 discards.
OSPFv3 floods packets in an OSPF area or on a link. It sets the U flag bit of packets (the flooding area is based on the link local) so that unidentified packets are stored or forwarded to the stub area.
For example, RouterA and RouterB can identify LSAs of a certain type. They are connected through RouterC, which, however, cannot identify this type of LSAs. When RouterA floods an LSA of this type, RouterC can still flood the received LSA to RouterB although it does not identify this LSA. RouterB then processes the LSA.
If OSPFv2 is run, RouterC discards the unidentified LSA so that the LSA cannot reach RouterB.
OSPFv3 supports multi-process on a link.
Only one OSPFv2 process can be configured on a physical interface.
In OSPFv3, one physical interface can be configured with multiple processes that are identified by different instance IDs. That is, multiple OSPFv3 instances can run on one physical link. They establish neighbor relationships with the other end of the link and transmit packets to the other end without interfering with each other.
The resources of a link can be shared among OSPFv3 instances that simulate multiple OSPFv3 routers, which improves the utilization of limited router resources.
OSPFv3 uses IPv6 link-local addresses.
IPv6 implements neighbor discovery and automatic configuration based on link-local addresses. Routers running IPv6 do not forward IPv6 packets whose destination address is a link-local address. Those packets can only be exchanged on the same link. The unicast link-local address starts from FE80::/10.
As a routing protocol running on IPv6, OSPFv3 also uses link-local addresses to maintain neighbor relationships and update LSDBs. Except Vlink interfaces, all OSPFv3 interfaces use link-local addresses as the source address and that of the next hop to transmit OSPFv3 packets.
The advantages are as follows:OSPFv3 can calculate the topology without knowing the global IPv6 addresses so that topology calculation is not based on IP addresses.
The packets flooded on a link are not transmitted to other links, which prevents unnecessary flooding and saves bandwidth.
OSPFv3 supports two new LSAs.
Link LSA: A router floods a link LSA on the link where it resides to advertise its link-local address and the configured global IPv6 address.
Intra Area Prefix LSA: A router advertises an intra-area prefix LSA in the local OSPF area to inform the other routers in the area or the network, which can be a broadcast network or an NBMA network, of its IPv6 global address.
OSPFv3 identifies neighbors based on router IDs only.
On broadcast, NBMA, and P2MP networks, OSPFv2 identifies neighbors based on IPv4 addresses of interfaces.
OSPFv3 identifies neighbors based on router IDs only. Thus, even if global IPv6 addresses are not configured or they are configured in different network segments, OSPFv3 can still establish and maintain neighbor relationships so that topology calculation is not based on IP addresses.