www.howtonetwork.org

CCNA & CCNP Certifcation Training

  • About
  • Contact
  • FAQ
  • Join
  • Home
  • CCNA
    • ICND1
    • ICND2
    • 101 CCNA LABS
  • CCNP
    • ROUTE
    • SWITCH
    • TSHOOT
    • 101 CCNP LABS
  • CompTIA
    • Security+
    • Network+
  • Design
    • CCDA
    • CCDP
You are here: Home / TSHOOT / Module 10 / Understanding and Troubleshooting OSPFv3

Understanding and Troubleshooting OSPFv3

OSPFv3 is defined in RFC 2740 and is the counterpart of OSPFv2, but is designed explicitly for the IPv6 routed protocol. The similarities shared by OSPFv2 and OSPFv3 are as follows:

  • OSPFv3 continues to use the same packets that are also used by OSPFv2
  • Neighbor discovery and the adjacency formation process are the same
  • OSPFv3 still maintains RFC-compliant on different technologies
  • Both OSPFv2 and OSPFv3 use the same LSA flooding and aging mechanisms
  • Like OSPFv2, the OSPFv3 router ID still requires the use of a 32-bit IPv4 address
  • The OSPFv3 Link ID is still based on a 32-bit IPv4 address like OSPFv2

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

  • OSPFv3 uses the IPv6 link local not Global addresses to identify the OSPFv3 adjacencies
  • OSPFv3 introduces two new OSPF LSA types which are Type 8 and Type 9 LSAs
  • OSPFv3 messages are sent over (encapsulated in) IPv6 not IPv4 packets
  • OSPFv3 uses standard IPv6 Multicast addresses FF02::5 and  FF02::6
  • OSPFv3 leverages the inbuilt capabilities of IPSec for security and authentication
The Options field in Hello and DBD packets include the R-bit and the V6-bit
The OSPFv3 Hello contains no address information, but includes an Interface ID

NOTE: Additional detailed information on these differences and similarities can be found in the current ROUTE guide which is available online.

For all intents and purposes, and barring configuration differences, the same methods used to troubleshoot OSPFv2 are applicable when troubleshooting OSPFv3 because the protocols operate in the same manner. When troubleshooting OSPFv2, Cisco IOS software OSPF commands begin with show ip ospf. In a similar manner, the OSPFv3 show commands begin with show ipv6 ospf. This command supports the following keywords:

R1#show ipv6 ospf ?
<1-65535>            Process ID number
border-routers       Border and Boundary Router Information
database             Database summary
flood-list           Link state flood list
interface            Interface information
neighbor             Neighbor list
request-list         Link state request list
retransmission-list  Link state retransmission list
summary-prefix       Summary-prefix redistribution Information
traffic              OSPF traffic information
virtual-links        Virtual link information
|                    Output modifiers
<cr>

NOTE: The majority of the supported keywords are described in greater detail in the ROUTE exam guide which is available online. Please refer to that guide for additional information on the keywords that are not described in this section. It should also be noted that keywords that are beyond the scope of ROUTE and TSHOOT are not discussed in either study guide.

A commonly used troubleshooting command is the show ipv6 ospf <process> command. This command can be used to verify router configuration, e.g. ABR and ASBR configuration, verify the areas configured as well as the types, e.g. Stub, NSSA. Additionally, you can use this command to determine the number of times the SPF algorithm has been run in certain areas, which is useful for troubleshooting issues such as link route flapping, for example. The output that follows shows the information that is provided by this command:

R1#show ipv6 ospf
Routing Process “ospfv3 1” with ID 1.1.1.1
It is an area border and autonomous system boundary router
 Redistributing External Routes from,
    rip
    rip
SPF schedule delay 5 secs, Hold time between two SPFs 10 secs
Minimum LSA interval 5 secs. Minimum LSA arrival 1 secs
LSA group pacing timer 240 secs
Interface flood pacing timer 33 msecs
Retransmission pacing timer 66 msecs
Number of external LSA 8. Checksum Sum 0x03D2E5
 Number of areas in this router is 2. 2 normal 0 stub 0 nssa
Reference bandwidth unit is 100 mbps
Area BACKBONE(0)
        Number of interfaces in this area is 1
        SPF algorithm executed 4 times
Number of LSA 5. Checksum Sum 0x0309A8
Number of DCbitless LSA 0
Number of indication LSA 0
Number of DoNotAge LSA 0
Flood list length 0
Area 1
        Number of interfaces in this area is 1
        SPF algorithm executed 3 times
Number of LSA 2. Checksum Sum 0x01412A
Number of DCbitless LSA 0
Number of indication LSA 0
Number of DoNotAge LSA 0
Flood list length 0

From the output printed above, we can determine the RID of the local router as well as the local OSPF process. Additionally, we can also determine that the router is an ABR and ASBR, which is redistributing two different RIPng instances. By default, Cisco IOS will list the protocol name one for each instance that is redistributed into OSPF. For example, if the local router was redistributing three different RIPng instances, the word ‘rip’ listed under the redistribution column would be printed three times. Additionally, we can also determine the number of external LSAs as well as the default reference bandwidth. And finally, the different areas, the number of interfaces in those areas, and the number of times the SPF algorithm has been executed for each individual area is also included in the output that is printed by this command.

The border-routers keyword allows you to display internal OSPF routing table entries to an ABR and ASBR. As is the case with OSPFv2, this command is useful when troubleshooting connectivity issues to other areas in multi-area OSPF implementations because it can be used to confirm that the local router has a path to the ABR and ASBR (if applicable) as shown below:

R1#show ipv6 ospf border-routersOSPFv3 Process 1 internal Routing TableCodes: i – Intra-area route, I – Inter-area routei 2.2.2.2 [1] via FE80::2222, FastEthernet0/0.22, ABR, Area 0, SPF 7
i 3.3.3.3 [1] via FE80::3333, FastEthernet0/0.33, ABR/ASBR, Area 0, SPF 8

In addition to verifying routes to ABR and ASBRs, the show ipv6 ospf border-routerscommand can also be used to determine if the SPF calculation is functional because it also includes the internal number of the SPF calculation that installed the route.

As is the case with OSPFv3, you can append the database keyword to view the contents of the LSDB. When viewing the OSPFv3 LSDB, keep in mind that this updated version of the OSPF routing protocol includes two new LSAs, which are Type 8 (Link LSA) and Type 9 (Intra-Area Prefix LSA). 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 an associated prefix with a router or stub referencing a Router LSA. Following is a sample of the OSPFv3 LSBD:

R1#show ipv6 ospf databaseOSPFv3 Router with ID (1.1.1.1) (Process ID 1)Router Link States (Area 0)ADV Router      Age         Seq#        Fragment ID  Link count  Bits
1.1.1.1         972         0x8000000D  0            1           EB
2.2.2.2         1940        0x8000000B  0            1           BNet Link States (Area 0)

ADV Router      Age         Seq#        Link ID    Rtr count
2.2.2.2         940         0x80000009  4          2

Inter Area Prefix Link States (Area 0)

ADV Router      Age         Seq#        Prefix
2.2.2.2         1940        0x80000002  FC00::10/128
2.2.2.2         1940        0x80000002  FC00::20/128
2.2.2.2         1940        0x80000002  FC00::30/128

Link (Type-8) Link States (Area 0)

ADV Router      Age         Seq#        Link ID    Interface
1.1.1.1         973         0x80000009  9          Fa0/0.22
2.2.2.2         941         0x80000009  4          Fa0/0.22

Router Link States (Area 1)

ADV Router      Age         Seq#        Fragment ID  Link count  Bits
1.1.1.1         973         0x8000000C  0            0           EB

Inter Area Prefix Link States (Area 1)

ADV Router      Age         Seq#        Prefix
1.1.1.1         1981        0x80000002  FC00::10/128
1.1.1.1         1981        0x80000002  FC00::20/128
1.1.1.1         1981        0x80000002  FC00::30/128

Link (Type-8) Link States (Area 1)

ADV Router      Age         Seq#        Link ID    Interface
1.1.1.1         973         0x80000009  10         Fa0/0.33

Type-5 AS External Link States

ADV Router      Age         Seq#        Prefix
1.1.1.1         973         0x80000009  2004::2/128
1.1.1.1         975         0x80000009  FC00::1/128
1.1.1.1         975         0x80000009  FC00::2/128
1.1.1.1         975         0x80000009  FC00::3/128
1.1.1.1         975         0x80000009  FC00::4/128

And finally, the show ipv6 ospf neighbor [detail] command is still a useful command when troubleshooting and verifying neighbor adjacencies. When using this command keep in mind that even though it is applicable to OSPFv3, the command output will include IPv4 router IDs, since these are also used by OSPFv3. Following is a sample output of the information that is printed by this command:

R2#show ipv6 ospf neighbor detail
Neighbor 1.1.1.1
In the area 0 via interface FastEthernet0/0
Neighbor: interface-id 9, link-local address FE80::20C:CEFF:FEA7:F3A0
Neighbor priority is 1, State is FULL, 6 state changes
DR is 2.2.2.2 BDR is 1.1.1.1
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:34
Neighbor is up for 00:01:30
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 addition to show commands, you can also the clear ipv6 ospf suite of commands to troubleshoot OSPFv3. The options that are available with this command are listed below:

R1#clear ipv6 ospf ?
<1-65535>       Process ID number
counters        OSPF counters
force-spf       Run SPF for OSPF process
process         Reset OSPF process
redistribution  Clear OSPF route redistribution

When using the clear ipv6 ospf suite of commands, you can specify the process number you want the relevant keyword applied to. This is useful when you are performing OSPFv3 troubleshooting on a router running multiple processes and do not want to impact any of the other processes running on the router.

The counters keyword clears state change counters for the OSPFv3 neighbor(s) on a specified interface, if one is specified in conjunction with this command, for the specified OSPFv3 neighbor, if the neighbor ID is included, or for all of the OSPFv3 neighbors. The example that follows illustrates how to first verify, clear or reset, and then verify again the state change counters for neighbors off a specified interface:

R1#show ipv6 ospf neighbor fastethernet 0/0.22 detail
Neighbor 2.2.2.2
In the area 0 via interface FastEthernet0/0.22
Neighbor: interface-id 4, link-local address FE80::2222
Neighbor priority is 1, State is FULL, 6 state changes
DR is 2.2.2.2 BDR is 1.1.1.1
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:31
Neighbor is up for 00:01:38
Index 1/1/1, retransmission queue length 0, number of retransmission 3
First 0x0(0)/0x0(0)/0x0(0) Next 0x0(0)/0x0(0)/0x0(0)
Last retransmission scan length is 5, maximum is 5
Last retransmission scan time is 0 msec, maximum is 0 msec
R1#
R1#clear ipv6 ospf counters neighbor fastethernet 0/0.22
R1#
R1# show ipv6 ospf neighbor fastethernet 0/0.22 detail
Neighbor 2.2.2.2
In the area 0 via interface FastEthernet0/0.22
Neighbor: interface-id 4, link-local address FE80::2222
Neighbor priority is 1, State is FULL, 0 state changes
DR is 2.2.2.2 BDR is 1.1.1.1
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:38
Neighbor is up for 00:02:12
Index 1/1/1, retransmission queue length 0, number of retransmission 3
First 0x0(0)/0x0(0)/0x0(0) Next 0x0(0)/0x0(0)/0x0(0)
Last retransmission scan length is 5, maximum is 5
Last retransmission scan time is 0 msec, maximum is 0 msec

Clearing counters is useful when troubleshooting adjacency flaps as it provides some indication as to how frequently they are occurring. You can then correlate this information with other events, such as Syslog messages or periods of high CPU utilization for example, when you are troubleshooting OSPFv3 problems.

The force-spf keyword simply runs the SPF algorithm again. The main difference between theclear ipv6 ospf force-spf command and the clear ipv6 ospf process command is that theclear ipv6 ospf process command will restart the OSPF process, clear the OSPFv3 database, repopulate the database, and then run the SPF algorithm. This difference in operation can be validated by enabling OSPFv3 debugging and comparing the difference in output when either command is issued. The following output shows the events that occur when the clear ipv6 ospf force-spf command is issued on the router:

R1#debug ipv6 ospf events
OSPFv3 events debugging is on
R1#debug ipv6 ospf spf
OSPFv3 spf intra events debugging is on
OSPFv3 spf inter events debugging is on
OSPFv3 spf external events debugging is on
R1#clear ipv6 ospf force-spf
R1#
*Oct 20 17:44:30.671: OSPFv3: running SPF for area 1, cause R N SN SA L
*Oct 20 17:44:30.671: OSPFv3: Intra-Area SPF (Full), Area 1
*Oct 20 17:44:30.671:   Router LSA 1.1.1.1/0, 0 links
*Oct 20 17:44:30.671: OSPFv3: Process Prefix LSAs
*Oct 20 17:44:30.671: OSPFv3: Check VLs
*Oct 20 17:44:30.671: OSPFv3: running SPF for area 0, cause R N SN SA L
*Oct 20 17:44:30.675: OSPFv3: Intra-Area SPF (Full), Area 0
*Oct 20 17:44:30.675:   Router LSA 1.1.1.1/0, 1 links
*Oct 20 17:44:30.675:     Link 0, int 9, nbr 2.2.2.2, nbr int 4, type 2, cost 1
*Oct 20 17:44:30.675:       Add better path, link 9/4, dist 1
*Oct 20 17:44:30.675: OSPFv3: putting LSA on the clist LSID 0.0.0.4, Type 0x2002, Adv Rtr. 2.2.2.2
*Oct 20 17:44:30.675:       Add path FastEthernet0/0.22/::, distance 1[Truncated Output]*Oct 20 17:44:30.679: OSPFv3: Inter-Area SPF, Area 0
*Oct 20 17:44:30.683:   IAP LSA 2.2.2.2/0, age 330, seq 0x80000005 (Area 0)
*Oct 20 17:44:30.683:     prefix FC00::10/128
*Oct 20 17:44:30.683:       adding path FastEthernet0/0.22/FE80::2222
*Oct 20 17:44:30.683:   IAP LSA 2.2.2.2/1, age 330, seq 0x80000005 (Area 0)
*Oct 20 17:44:30.683:     prefix FC00::20/128
*Oct 20 17:44:30.683:       adding path FastEthernet0/0.22/FE80::2222
*Oct 20 17:44:30.683:   IAP LSA 2.2.2.2/2, age 330, seq 0x80000005 (Area 0)
*Oct 20 17:44:30.683:     prefix FC00::30/128
*Oct 20 17:44:30.683:       adding path FastEthernet0/0.22/FE80::2222
*Oct 20 17:44:30.683:   Adding deferred prefixes, area 0
*Oct 20 17:44:30.683:     prefix FC00::30/128
*Oct 20 17:44:30.687:     send IAP FC00::30/128, metric 1 to area 1
*Oct 20 17:44:30.687:     prefix FC00::20/128
*Oct 20 17:44:30.687:     send IAP FC00::20/128, metric 1 to area 1
*Oct 20 17:44:30.687:     prefix FC00::10/128
*Oct 20 17:44:30.687:     send IAP FC00::10/128, metric 1 to area 1
*Oct 20 17:44:30.687: OSPFv3: External SPF Type 4005
*Oct 20 17:44:30.687:   ASE LSA 2.2.2.2/0, age 330, seq 0x80000003, metric 20, type 2
*Oct 20 17:44:30.687:       adding path FastEthernet0/0.22/FE80::2222
*Oct 20 17:44:30.687:   ASE LSA 2.2.2.2/1, age 330, seq 0x80000003, metric 20, type 2
*Oct 20 17:44:30.687:       adding path FastEthernet0/0.22/FE80::2222
*Oct 20 17:44:30.687:   ASE LSA 2.2.2.2/2, age 330, seq 0x80000003, metric 20, type 2[Truncated Output]

Using the same debugging commands, the following shows the impact of issuing the clear ipv6 ospf process command on the same router:

R1#debug ipv6 ospf events
OSPFv3 events debugging is on
R1#debug ipv6 ospf spf
OSPFv3 spf intra events debugging is on
OSPFv3 spf inter events debugging is on
OSPFv3 spf external events debugging is on
R1#clear ipv6 ospf process
Reset ALL OSPF processes? [no]: yes
R1#
*Oct 20 17:51:00.711: OSPFv3: Flushing External Links
*Oct 20 17:51:00.711:   Insert LSA 3 adv_rtr 1.1.1.1, type 0x4005 in maxage
*Oct 20 17:51:00.711:   Insert LSA 4 adv_rtr 1.1.1.1, type 0x4005 in maxage
*Oct 20 17:51:00.715:   Insert LSA 5 adv_rtr 1.1.1.1, type 0x4005 in maxage
*Oct 20 17:51:00.715:   Insert LSA 6 adv_rtr 1.1.1.1, type 0x4005 in maxage
*Oct 20 17:51:00.715:   Insert LSA 7 adv_rtr 1.1.1.1, type 0x4005 in maxage
*Oct 20 17:51:00.787: OSPFv3: Flushing Link states in area 0
*Oct 20 17:51:00.787:   Insert LSA 0 adv_rtr 1.1.1.1, type 0x2001 in maxage
*Oct 20 17:51:00.787:   Insert LSA 9 adv_rtr 1.1.1.1, type 0x8 in maxage[Truncated Output]*Oct 20 11:51:00.859 CST: %OSPFv3-5-ADJCHG: Process 1, Nbr 2.2.2.2 on FastEthernet0/0.22 from FULL to DOWN, Neighbor Down: Interface down or detached[Truncated Output]*Oct 20 17:51:00.951: OSPFv3: DR/BDR election on FastEthernet0/0.22
*Oct 20 17:51:00.951: OSPFv3: Elect BDR 1.1.1.1
*Oct 20 17:51:00.951: OSPFv3: Elect DR 2.2.2.2

[Truncated Output]

*Oct 20 17:51:00.955: OSPFv3: running SPF for area 1, cause R N SN SA L
*Oct 20 17:51:00.959: OSPFv3: malloc clist, size 0, address 859C4988
*Oct 20 17:51:00.959: OSPFv3: Intra-Area SPF (Full), Area 1
*Oct 20 17:51:00.959:  OSPFv3: No own Router LSA
*Oct 20 17:51:00.959: OSPFv3: Check VLs
*Oct 20 17:51:00.959: OSPFv3: running SPF for area 0, cause R N SN SA L
*Oct 20 17:51:00.959: OSPFv3: malloc clist, size 0, address 859C4988
*Oct 20 17:51:00.959: OSPFv3: Intra-Area SPF (Full), Area 0
*Oct 20 17:51:00.959:  OSPFv3: No own Router LSA
*Oct 20 17:51:00.959: OSPFv3: Check VLs
*Oct 20 17:51:00.959: OSPF: ospf_gen_asbr_sum_all_areas
*Oct 20 17:51:00.959: OSPFv3: Inter-Area SPF, Area 0
*Oct 20 17:51:00.959: OSPFv3: Inter-Area SPF, Area 1
*Oct 20 17:51:00.959: OSPFv3: External SPF Type 4005
*Oct 20 17:51:00.959: OSPFv3: External SPF Type 2007
*Oct 20 17:51:00.963: OSPFv3: External SPF Type 2007

[Truncated Output]

*Oct 20 17:51:00.979: OSPFv3: Schedule partial SPF – 2.2.2.2/0 type 2003
*Oct 20 17:51:00.979: OSPFv3: Schedule partial SPF – 2.2.2.2/1 type 2003
*Oct 20 17:51:00.979: OSPFv3: Schedule partial SPF – 2.2.2.2/2 type 2003
*Oct 20 17:51:00.979: OSPFv3: Schedule partial SPF – 2.2.2.2/0 type 4005
*Oct 20 17:51:00.979: OSPFv3: Schedule partial SPF – 2.2.2.2/1 type 4005
*Oct 20 17:51:00.983: OSPFv3: Schedule partial SPF – 2.2.2.2/2 type 4005
*Oct 20 17:51:00.983: OSPFv3: Schedule partial SPF – 2.2.2.2/3 type 4005
*Oct 20 17:51:00.983: OSPFv3: Synchronized with 2.2.2.2 on FastEthernet0/0.22, state FULL
*Oct 20 11:51:00.983 CST: %OSPFv3-5-ADJCHG: Process 1, Nbr 2.2.2.2 on FastEthernet0/0.22 from LOADING to FULL, Loading Done
*Oct 20 17:51:00.983: OSPFv3: Service partial SPF Type3/4:3 Type5:4 Type7:0
*Oct 20 17:51:00.983: OSPFv3: Partial IAP SPF, area 0, Prefix FC00::10/128

[Truncated Output]

In essence, the clear ipv6 ospf force-spf command has less impact on OSPFv3 than the clear ipv6 ospf process command because it starts the SPF algorithm without clearing the OSPF database. Clearing the database on a core router in the network can have a drastic impact on the network. For this reason, the clear ipv6 ospf process command should be used with caution. The same is also applicable to the clear ip ospf process command. Therefore, consider using the clear ip ospf force-spf command instead.

And finally, the redistribution keyword clears OSPFv3 redistribution. This is used when you are troubleshooting route redistribution into OSPF from other routing protocols. This command flushes and reinstalls all external LSAs; however, the when this command is issued, the SPF algorithm is not run again.

In conclusion, akin to using the debug ip ospf command to view real-time OSPFv2 events, you can use the debug ipv6 ospf command to view real-time OSPFv3 events. This command supports the same options as debug ip ospf the command. While additional OSPFv3-specific keywords, such as ipsec (for IPsec event debugging) are included, most of these options are similar to those used with OSPFv2 and perform the same function. The following shows the available options that can be included when you are debugging OSPFv3:

R1#debug ipv6 ospf ?
adj             OSPF adjacency events
database-timer  OSPF database timer
events          OSPF events
flood           OSPF flooding
hello           OSPF hello events
ipsec           OSPF ipsec events
lsa-generation  OSPF lsa generation
lsdb            OSPF database modifications
packet          OSPF packets
retransmission  OSPF retransmission events
spf             OSPF spf

Prev

Next

About Us

This is a free bonus site for members of www.howtonetwork.com

Copyright

The content on this copyright Reality Press Ltd.
Copyright Reality Press Ltd.