Section 13 – OSPFv3

Section 13 Tasks

  • Read today’s theory notes
  • Review yesterday’s theory notes

Today we will look at OSPFv3, where you will learn about the following:

  • OSPF fundamentals

This module maps to the following CCNA syllabus requirements:

  • Configure OSPFv3
  • Router ID
  • Passive interface

OSPF Version 3

OSPFv3 is defined in RFC 2740 and is the counterpart of OSPFv2, but it is designed explicitly for the IPv6 routed protocol. The version is derived from the Version field in the OSPF packet, which has been updated to a value of 3. The OSPFv3 specification is based mainly on OSPFv2 but contains additional enhancements because of the added support for IPv6.

Both OSPFv2 and OSPFv3 can run on the same router. In other words, the same physical router can route for both IPv4 and IPv6 because each address family has a different SPF process. This does not mean that the SPF algorithm itself is different for OSPFv2 and OSPFv3; the statement simply means that a separate instance of the same SPF algorithm is run for OSPFv2 and OSPFv3. The similarities shared by OSPFv2 and OSPFv3 are as follows:

  • OSPFv3 continues to use the same packets that are also used by OSPFv2. These packets include Database Description (DBD), Link State Requests (LSRs), Link State Updates (LSUs), and Link State Advertisements (LSAs).
  • The mechanisms for dynamic neighbour discovery and the adjacency formation process (i.e., the different neighbour states that OSPF transitions through from the Init or Attempt state through to the Full state) remain the same in OSPFv3 as in OSPFv2.
  • OSPFv3 still remains RFC-compliant on different technologies. For example, if OSPFv3 is enabled over a PPP link, the network type is still specified as Point-to-Point. In a similar manner, if OSPFv3 is enabled over Frame Relay, the default network type is still specified as Non-Broadcast. In addition, the default network type can still be changed manually using the different interface-specific commands in Cisco IOS software.
  • Both OSPFv2 and OSPFv3 use the same LSA flooding and aging mechanisms.
  • Like OSPFv2, the OSPFv3 router ID (RID) still requires the use of a 32-bit IPv4 address. When OSPFv3 is enabled on a router running dual-stack (i.e., both IPv4 and IPv6), the same RID selection process used by Cisco IOS routers for OSPFv2 is used to determine the router ID to be used. However, when OSPFv3 is enabled on a router that has no operational IPv4 interfaces, then it is mandatory that the OSPFv3 router ID be configured manually using the router-id router configuration command.
  • The OSPFv3 link ID indicates that the links are not IPv6-specific and are still based on a 32-
    bit IPv4 address, as is the case in OSPFv2.

While there are similarities between OSPFv2 and OSPFv3, it is important to understand that some significant differences exist with which you must be familiar. These include the following:

  • In a manner similar to EIGRP, OSPFv3 runs over a link. This negates the need to have a network statement for OSPFv3. Instead, the link is configured as part of an OSPF process by using the ipv6 router ospf [process ID] area [area ID] interface configuration command. However, like OSPFv2, the OSPF process ID is still specified in Global Configuration mode using the ipv6 router ospf [process ID] global configuration command.
  • OSPFv3 uses Link-Local addresses to identify the OSPFv3 adjacencies. Like EIGRPv6, the next-hop IPv6 address for OSPFv3 routes will reflect the Link-Local address of the adjacent or neighbouring router(s).
  • OSPFv3 introduces two new OSPF LSA types. These are the Link LSA, defined as LSA Type 0x0008 (or LSA Type 8), and the Intra-Area-Prefix LSA, defined as LSA Type 0x2009 (or LSA Type 9). The Link LSA provides the router’s Link-Local address and provides all the IPv6 prefixes attached to the link. There is one Link LSA per link. There can be multiple Intra- Area-Prefix LSAs with different Link-State IDs. The Area flooding scope can therefore be an associated prefix with the transit network referencing a Network LSA or it can be an associated prefix with a router or Stub referencing a Router LSA.
  • The transport used by OSPFv2 and OSPFv3 is different in that OSPFv3 messages are sent over (encapsulated in) IPv6 packets.
  • OSPFv3 uses two standard IPv6 Multicast addresses. The Multicast address FF02::5 is the equivalent of the AllSPFRouters Multicast address 224.0.0.5 used in OSPFv2, while the Multicast address FF02::6 address is the AllDRRouters Multicast address and is the equivalent of the 224.0.0.6 group address used in OSPFv2. (This will be covered in the ICND2 section.)
  • OSPFv3 leverages the built-in capabilities of IPSec and uses the AH and ESP extension headers as an authentication mechanism instead of the numerous authentication mechanisms configurable in OSPFv2. Therefore, the Authentication and AuType fields have been removed from the OSPF packet header in OSPFv3.
  • Finally, the last significant difference is that the OSPFv3 Hello packet now contains no address information at all but includes an interface ID, which the originating router has assigned to uniquely identify its interface to the link. This interface ID becomes the Network LSA’s Link State ID, should the router become the Designated Router on the link.

Cisco IOS Software OSPFv2 and OSPFv3 Configuration Differences

There are some configuration differences in Cisco IOS software when configuring OSPFv2 versus OSPFv3. However, it should be noted that these differences are not as significant as those between other versions of IPv4 routing protocols and their IPv6 counterparts.

In Cisco IOS software, OSPFv3 routing is enabled using the ipv6 router ospf [process ID] global configuration command. As is the case with OSPFv2, the OSPF process ID is locally significant to the router and does not need to be the same on adjacent routers in order for an adjacency to be established.

As is required for EIGRPv6 (which will be covered in the ICND2 section), the router ID for OSPFv3 must be either specified manually or configured as an operational interface with an IPv4 address (e.g., a Loopback interface). Similar to EIGRPv6, there are no network commands used when enabling OSPFv3. Instead, OSPFv3 is enabled on a per-interface basis and multiple instances may be enabled on the same interface.

Finally, when configuring OSPFv3 over NBMA networks, such as Frame Relay and ATM, the neighbour statements are specified under the specific interface using the ipv6 ospf neighbor [link local address] interface configuration command. In OSPFv2, these would be configured in Router Configuration mode.

NOTE: When configuring OSPFv3 over NBMA technologies, you should create static Frame Relay map statements using Link- Local addresses. This is because the Link-Local address is used to establish adjacencies, not the global Unicast address. For example, to create a static Frame Relay map statement and specify an OSPF neighbour for a Frame Relay implementation, the following configuration would be implemented on the router (we will cover Frame Relay in the ICND2 section):

R1(config)#ipv6 unicast-routing
R1(config)#ipv6 router ospf 1
R1(config-rtr)#router-id 1.1.1.1
R1(config-rtr)#exit
R1(config)#interface Serial0/0
R1(config-if)#frame-relay map ipv6 FE80::205:5EFF:FE6E:5C80 111 broadcast
R1(config-if)#ipv6 ospf neighbor FE80::205:5EFF:FE6E:5C80
R1(config-if)#exit

Configuring and Verifying OSPFv3 in Cisco IOS Software

Continuing from the previous section, which highlighted the configuration differences between OSPFv2 and OSPFv3, this section goes through the steps required to enable and verify OSPFv3 functionality and routing in Cisco IOS software. The following sequence of steps should be taken to enable OSPFv3 routing in Cisco IOS software:

  1. Globally enable IPv6 routing using the ipv6 unicast-routing global configuration command. By default, IPv6 routing is disabled in Cisco IOS software.
  2. Configure one or more OSPFv3 processes using the ipv6 router ospf [process ID] global configuration command.
  3. If there are no operational interfaces with an IPv4 address configured on the router, then configure the OSPFv3 RID manually using the router-id [IPv4 Address] router configuration command.
  4. Enable IPv6 on the desired interfaces using the ipv6 address and ipv6 enable interface configuration commands.
  5. Enable one or more OSPFv3 processes under the interface using the ipv6 ospf [process ID] area [area ID] interface configuration command.

The first basic multi-area OSPFv3 configuration example is based on the topology that is illustrated in Figure 13.1 below:

Figure 13.1 – Configuring Basic Multi-Area OSPFv3 in Cisco IOS Software

Following the sequence of configuration steps described in the previous section, OSPFv3 will be configured on router R1 as follows:

R1(config)#ipv6 unicast-routing
R1(config)#ipv6 router ospf 1
R1(config-rtr)#router-id 1.1.1.1
R1(config-rtr)#exit
R1(config)#interface FastEthernet0/0
R1(config-if)#ipv6 address 3fff:1234:abcd:1::1/64
R1(config-if)#ipv6 enable
R1(config-if)#ipv6 ospf 1 Area 0
R1(config-if)#exit

Following the same sequence of steps, OSPFv3 routing is configured on router R3 as follows:

R3(config)#ipv6 unicast-routing
R3(config)#ipv6 router ospf 3
R3(config-rtr)#router-id 3.3.3.3
R3(config-rtr)#exit
R3(config)#interface FastEthernet0/0
R3(config-if)#ipv6 address 3fff:1234:abcd:1::3/64
R3(config-if)#ipv6 enable
R3(config-if)#ipv6 ospf 3 Area 0
R3(config-if)#exit
R3(config)#interface Loopback0
R3(config-if)#ipv6 address 3fff:1234:abcd:2::3/128
R3(config-if)#ipv6 address 3fff:1234:abcd:3::3/128
R3(config-if)#ipv6 enable
R3(config-if)#ipv6 ospf 3 Area 1
R3(config-if)#exit

Following the configuration of OSPFv3 on both routers, you can use the show ipv6 ospf neighbors command to verify the state of the OSPFv3 adjacency, as illustrated below on R1:

R1#show ipv6 ospf neighbor
Neighbor   ID Pri   State       Dead Time   Interface ID    Interface
3.3.3.3         1   FULL/BDR    00:00:36    4               FastEthernet0/0

You can also view detailed neighbour information by appending the [detail] keyword to the end of this command:

R1#show ipv6 ospf neighbor detail
Neighbor 3.3.3.3
    In the area 0 via interface FastEthernet0/0
    Neighbor: interface-id 4, link-local address FE80::213:19FF:FE86:A20
    Neighbor priority is 1, State is FULL, 6 state changes
    DR is 1.1.1.1 BDR is 3.3.3.3
    Options is 0x000013 in Hello (V6-Bit E-Bit R-bit )
    Options is 0x000013 in DBD (V6-Bit E-Bit R-bit )
    Dead timer due in 00:00:39
    Neighbor is up for 00:06:40
    Index 1/1/1, retransmission queue length 0, number of retransmission 0
    First 0x0(0)/0x0(0)/0x0(0) Next 0x0(0)/0x0(0)/0x0(0)
    Last retransmission scan length is 0, maximum is 0
    Last retransmission scan time is 0 msec, maximum is 0 msec

In the output above, notice that the actual neighbour interface address is the Link-Local address, not the configured global IPv6 Unicast address.

Section 13 Questions

  1. Both OSPFv2 and OSPFv3 can run on the same router. True or false?
  2. OSPFv2 and OSPFv3 use different LSA flooding and aging mechanisms. True or false?
  3. Which is the equivalent of 224.0.0.5 in the IPv6 world?
  4. As is required for EIGRPv6, the router ID for OSPFv3 must be either specified manually or configured as an operational interface with an IPv4 address. True or false?
  5. Which command would you use to enable the OSPFv3 routing protocol?
  6. Which command would you use to specify an OSPFv3 neighbour over an NBMA interface?
  7. Which command would you use to see the OSPFv3 LSDB?
  8. A significant difference between OSPFv2 and OSPFv3 is that the OSPFv3 Hello packet now contains no address information at all but includes an interface ID, which the originating router has assigned to uniquely identify its interface to the link. True or false?

Section 13 Answers

  1. True.
  2. False.
  3. FF02::5.
  4. True.
  5. The ipv6 router ospf <id> command.
  6. The ipv6 ospf neighbor command.
  7. The show ipv6 ospf database command.
  8. True.

Section 13 Lab

Basic OSPFv3 Lab

Repeat the scenario from Day 12 (two routers directly connected, Loopback interface on each of them) but instead of configuring OSPF for IPv4, configure IPv6 addresses and advertise them using OSPFv3 between the devices:

  • Assign an IPv6 address to the directly connected interfaces (2001:100::1/64 and
    2001:100::2/64)
  • Test direct connectivity using ping
  • Configure a Loopback interface on each router and assign addresses from two different ranges (2002::1/128 and 2002::2/128)
  • Configure standard OSPFv3 process 1 and advertise all the local networks in Area 0. Also, configure a router ID for each device

R1:

ipv6 router ospf 1
router-id 1.1.1.1
int fa0/0 (or the specific interface number)
ipv6 ospf 1 area 0
int lo0 (or the specific interface number)
ipv6 ospf 1 area 0

R2:

ipv6 router ospf 1
router-id 2.2.2.2
int fa0/0 (or the specific interface number)
ipv6 ospf 1 area 0
int lo0 (or the specific interface number)
ipv6 ospf 1 area 0
  • Ping R2 IPv6 Loopback from R1 to test connectivity
  • Issue a show ipv6 route command to verify that routes are being received via OSPFv3
  • Issue a show ipv6 protocols command to verify that OSPFv3 is configured and active on
    the devices
  • Verify the interface OSPF-specific parameters: show ipv6 ospf interface and show ipv6
    ospf interface brief
  • Change the OSPF Hello and Dead timers on both routers (directly connected interfaces):
    ipv6 ospf hello and ipv6 ospf dead
  • Issue a show ipv6 ospf 1 command to see the routing process parameters


Related Articles

Leave a Reply

avatar