CCNA 200-301Chapter 210 of 260Objective 3.4

IPv6 Routing — Static and OSPFv3

IPv6 is no longer optional—it is the default on modern networks, and the CCNA 200-301 exam (objective 3.4) expects you to configure and troubleshoot both static and dynamic IPv6 routing. Understanding IPv6 static routes and OSPFv3 is critical because dual-stack networks are ubiquitous, and OSPFv3 differs from OSPFv2 in fundamental ways. This chapter gives you the exact IOS commands, verification steps, and exam traps you need to master IPv6 routing.

25 min read
Advanced
Updated May 31, 2026

The Postal Service with Two Address Systems

Imagine a postal service that used only 32-digit postal codes (IPv4) but is now transitioning to 128-digit codes (IPv6) because the old codes are running out. In the old system, each post office (router) maintained a routing table with entries like 'send all mail starting with 1234 to the north branch.' In the new system, the codes are much longer, so the routing table entries are more specific but follow the same logic: if the destination code matches a prefix, forward to the next post office. Static routes are like a postmaster manually writing a note: 'All mail for block A000:0001 goes to the south branch.' This works for small towns but is impractical for a large city. OSPFv3 is like an automated system where post offices exchange maps of their neighborhoods. Each post office sends out a 'link-state advertisement' (LSA) describing its direct connections (links) and the addresses attached to them. All post offices build a complete map of the city and independently calculate the shortest path to every block. Unlike the old OSPFv2, which used IPv4 addresses to identify routers, OSPFv3 uses a 32-bit Router ID independent of IPv6 addresses—like giving each post office a unique numeric ID that doesn't change even if its postal code changes. OSPFv3 also runs directly over IPv6 (protocol 89) and uses link-local addresses for neighbor communication, so the post offices talk to each other on their local streets rather than using their main street addresses. The key is that the routing logic (best path selection) is identical to IPv4, but the addressing and packet formats are adapted for the larger address space.

How It Actually Works

IPv6 Static Routes

Static routing in IPv6 works identically to IPv4 in concept, but the command syntax differs because IPv6 addresses are 128 bits. A static route is an administrative entry in the routing table that tells the router how to reach a specific IPv6 prefix. Use ipv6 route in global configuration mode.

Syntax:

ipv6 route {ipv6-prefix/prefix-length} {next-hop-ipv6-address | exit-interface [next-hop-ipv6-address]} [administrative-distance] [permanent]

IPv6-prefix/prefix-length: The destination network, e.g., 2001:DB8:1::/48.

Next-hop: Can be a global unicast address or link-local address. Link-local next-hops require an exit-interface.

Exit-interface: Required for point-to-point links or when using link-local next-hops.

Administrative distance: Default is 1. Can be changed to create floating static routes.

Permanent: Keeps the route even if the interface goes down.

Example: Configure a static route to 2001:DB8:2::/48 via next-hop 2001:DB8:1::1.

ipv6 route 2001:DB8:2::/48 2001:DB8:1::1

Example: Using a link-local next-hop on GigabitEthernet0/0.

ipv6 route 2001:DB8:2::/48 GigabitEthernet0/0 FE80::1

Verification:

show ipv6 route [static]
show ipv6 route 2001:DB8:2::/48
show ipv6 route static

Output snippet:

IPv6 Routing Table - default - 5 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
       U - Per-user Static route, M - MIPv6
S   2001:DB8:2::/48 [1/0]
     via 2001:DB8:1::1, GigabitEthernet0/0

Default Static Route

A default static route matches all IPv6 traffic. The prefix is ::/0.

ipv6 route ::/0 2001:DB8:1::1

Floating Static Route

Add an administrative distance greater than the dynamic protocol's distance (e.g., 200 for OSPFv3) to create a backup route.

ipv6 route 2001:DB8:2::/48 2001:DB8:3::1 200

OSPFv3 Fundamentals

OSPFv3 is the IPv6 version of OSPF. It is defined in RFC 5340. Key differences from OSPFv2: - Protocol runs directly over IPv6 (protocol number 89), not over IP. - Router ID is a 32-bit value, configured manually or derived from the highest IPv4 address on a loopback. OSPFv3 does not use IPv6 addresses for Router ID. - Link-local addresses are used for neighbor communication and next-hop addresses in routing updates. - Multiple instances per link are supported (OSPFv3 instance ID). - LSAs have been redefined: Type 1 (Router LSA) and Type 2 (Network LSA) carry only topology information, not prefixes. Type 8 (Link LSA) and Type 9 (Intra-Area Prefix LSA) advertise prefixes.

OSPFv3 Configuration Steps

1.

Enable IPv6 routing globally.

ipv6 unicast-routing
2.

Configure Router ID (optional but recommended).

router ospfv3 1
 router-id 1.1.1.1
3.

Enable OSPFv3 on interfaces.

interface GigabitEthernet0/0
 ipv6 ospf 1 area 0
4.

(Optional) Configure network type, cost, etc.

interface GigabitEthernet0/1
 ipv6 ospf 1 area 1
 ipv6 ospf cost 100
 ipv6 ospf network point-to-point

OSPFv3 Verification Commands

show ipv6 ospf neighbor
show ipv6 ospf interface
show ipv6 ospf database
show ipv6 route ospf

Example neighbor output:

Neighbor ID     Pri   State           Dead Time   Address         Interface
2.2.2.2           1   FULL/DR        00:00:33     FE80::2         GigabitEthernet0/0

Note: The neighbor address is link-local (FE80::2).

OSPFv3 States and Timers

Down: No hello received.

Init: Hello received, but neighbor not seen in own hello.

2-Way: Bidirectional communication established.

ExStart: Master/Slave election for initial DB exchange.

Exchange: Database description packets (DBDs) exchanged.

Loading: Link-state requests and updates.

Full: Fully adjacent.

Timers (defaults):

Hello interval: 10 sec (broadcast, point-to-point), 30 sec (NBMA)

Dead interval: 40 sec (broadcast, point-to-point), 120 sec (NBMA)

Wait timer: same as dead interval

Retransmit interval: 5 sec

Transmit delay: 1 sec

OSPFv3 LSAs

Type 1 (Router LSA): Describes router's links to other routers (topology only).

Type 2 (Network LSA): Generated by DR, lists all routers on the segment.

Type 3 (Inter-Area Prefix LSA): Summarizes prefixes from other areas.

Type 4 (Inter-Area Router LSA): Advertises ASBR location.

Type 5 (AS-External LSA): Redistributed routes.

Type 7 (NSSA LSA): External routes in NSSA.

Type 8 (Link LSA): Advertises link-local address and list of IPv6 prefixes on the link.

Type 9 (Intra-Area Prefix LSA): Carries IPv6 prefixes that are not in Router or Network LSAs.

OSPFv3 Metric

Cost = 10^8 / bandwidth (bps). Default reference bandwidth is 100 Mbps. Change with auto-cost reference-bandwidth.

Interaction with Static Routes

Static routes have administrative distance 1 (default), while OSPFv3 internal routes have AD 110. Static routes are preferred unless you change the AD. Redistribution is possible but not required for CCNA.

Common Exam Traps

Using global unicast instead of link-local for OSPFv3 neighbors: OSPFv3 always uses link-local addresses for neighbor communication. The show ipv6 ospf neighbor output shows link-local addresses.

Forgetting `ipv6 unicast-routing`: Without this global command, the router will not forward IPv6 packets.

Confusing OSPFv3 Router ID with IPv6 addresses: The Router ID is a 32-bit number, not an IPv6 address. It must be unique.

Assuming OSPFv3 uses the same LSA types as OSPFv2: They are different; OSPFv3 uses Link LSA and Intra-Area Prefix LSA.

Walk-Through

1

Enable IPv6 routing globally

The first step on any Cisco router for IPv6 is to enable IPv6 unicast routing. Without this command, the router will not forward IPv6 packets, and OSPFv3 will not work. Use `ipv6 unicast-routing` in global configuration mode. This command also enables IPv6 routing protocols like OSPFv3. It is a common oversight on the exam—candidates forget this and wonder why OSPFv3 neighbors do not form.

2

Configure a static IPv6 route

Use the `ipv6 route` command. For a simple next-hop static route, specify the destination prefix and the next-hop IPv6 address. Example: `ipv6 route 2001:DB8:2::/48 2001:DB8:1::1`. For link-local next-hops, you must include the exit interface: `ipv6 route 2001:DB8:2::/48 GigabitEthernet0/0 FE80::1`. The administrative distance defaults to 1; add a value at the end to create a floating static route. Verify with `show ipv6 route static`.

3

Configure OSPFv3 routing process

Enter OSPFv3 configuration with `router ospfv3 1` (the process ID is locally significant). Set the router ID with `router-id 1.1.1.1`. The router ID must be unique and is a 32-bit number, not an IPv6 address. If not configured, the router picks the highest IPv4 address on a loopback. Then enable OSPFv3 on interfaces with `interface type number` followed by `ipv6 ospf 1 area area-id`. The area can be 0 for backbone. Repeat for all interfaces.

4

Verify OSPFv3 neighbor adjacency

Use `show ipv6 ospf neighbor` to see if routers have formed a full adjacency. The output shows neighbor ID (Router ID), state (should be FULL/DR or FULL/BDR), dead time, neighbor address (link-local), and interface. If state is stuck in 2-WAY or INIT, check Hello/Dead timers, area ID, and interface network type. Use `show ipv6 ospf interface` to verify timers and area.

5

Verify IPv6 routing table

Use `show ipv6 route` to see all routes. OSPFv3 routes are marked with O (OSPF intra-area), OI (inter-area), OE1/OE2 (external). Static routes are marked with S. Verify that the expected prefixes appear with correct next-hop addresses. For OSPFv3, next-hops are typically link-local addresses. If a route is missing, check OSPFv3 database with `show ipv6 ospf database`.

6

Troubleshoot OSPFv3 mismatches

Common issues: (1) Area ID mismatch—use `show ipv6 ospf interface` to see area. (2) Hello/Dead timer mismatch—defaults are 10/40 on broadcast. (3) Router ID duplicate—each router needs a unique Router ID. (4) Passive interface—if an interface is passive, it will not send hellos. (5) ACL blocking protocol 89. Use `debug ipv6 ospf hello` (with caution) to see hello packet exchange. On the exam, look for configuration errors like mismatched area numbers or missing `ipv6 ospf` on an interface.

What This Looks Like on the Job

In enterprise networks, dual-stack (IPv4 and IPv6) is the norm. Static IPv6 routes are used for small branches or default routes to the internet. For example, a branch office with a single upstream router might have a default static route ipv6 route ::/0 2001:DB8:1::1 pointing to the head-end. However, static routing does not scale—if the branch has multiple paths or needs redundancy, OSPFv3 is preferred.

A typical OSPFv3 deployment: a campus with multiple distribution switches and a core. Each distribution switch runs OSPFv3 in area 0 (backbone) with the core, and also in non-backbone areas for access switches. The core router has a high-end router with OSPFv3 configured on multiple interfaces. The network engineer must ensure the reference bandwidth is consistent across all routers—if one router uses default (100 Mbps) and another uses auto-cost reference-bandwidth 1000, path costs will be inconsistent, causing suboptimal routing.

Another scenario: a data center with OSPFv3 between ToR (Top of Rack) switches and a spine. The ToR switches advertise the IPv6 prefixes of connected servers via OSPFv3. Because OSPFv3 uses link-local addresses for next-hops, the routing table shows link-local addresses, which can be confusing for troubleshooting. Engineers often use show ipv6 route and then show ipv6 ospf neighbor to correlate the next-hop link-local address with the neighbor's Router ID.

Common real-world mistakes: forgetting to configure ipv6 unicast-routing (routers have it disabled by default), using global unicast addresses for OSPFv3 neighbor statements (not needed in OSPFv3—neighbor discovery is automatic via hellos), and mismatching OSPFv3 process IDs (they are locally significant but can cause confusion). Also, OSPFv3 does not support authentication in the same way as OSPFv2; it relies on IPsec for authentication, which adds complexity.

Scale considerations: OSPFv3 can handle hundreds of routers in a single area, but best practice is to use multiple areas to limit LSA flooding and reduce SPF computation. The default reference bandwidth of 100 Mbps is too low for modern 10 Gbps links—always adjust with auto-cost reference-bandwidth 10000 (for 10 Gbps).

How CCNA 200-301 Actually Tests This

The CCNA 200-301 exam objective 3.4 covers 'Configure and verify IPv6 static routing and OSPFv3.' Expect multiple-choice questions and simulation-based questions where you must configure or troubleshoot OSPFv3.

What exactly is tested: - Static IPv6 route syntax (ipv6 route). - Default route ::/0. - OSPFv3 configuration: router ospfv3, router-id, ipv6 ospf on interfaces. - OSPFv3 neighbor states (2-Way, Full). - OSPFv3 LSAs (basic understanding of Type 1, 2, 3, 5, 8, 9). - Differences between OSPFv2 and OSPFv3. - Verification commands: show ipv6 route, show ipv6 ospf neighbor, show ipv6 ospf interface, show ipv6 ospf database.

Common wrong answers: 1. 'OSPFv3 uses IPv6 addresses for Router ID.' Wrong—Router ID is 32-bit, often an IPv4 address. Candidates confuse this because OSPFv2 uses the highest IP address. 2. 'OSPFv3 uses global unicast addresses for neighbor communication.' Wrong—it uses link-local addresses. The show ipv6 ospf neighbor output shows FE80:: addresses. 3. 'Static route to a link-local address does not need an exit interface.' Wrong—it does. The command ipv6 route 2001:DB8::/32 FE80::1 is invalid; you must specify the interface. 4. 'OSPFv3 has the same LSA types as OSPFv2.' Wrong—OSPFv3 has Type 8 (Link LSA) and Type 9 (Intra-Area Prefix LSA) that do not exist in OSPFv2.

Exam traps: - A router with two OSPFv3 neighbors in area 0: if one neighbor is stuck in EXSTART, check MTU mismatch (OSPFv3 uses MTU in DBD packets). - If show ipv6 route shows no OSPF routes but neighbors are FULL, check if prefixes are being advertised (e.g., missing network command? OSPFv3 does not use network—it uses interface configuration). - The show ipv6 ospf command (without v3) shows OSPFv3 information; OSPFv2 uses show ip ospf.

Decision rule for scenario questions: If the question involves IPv6 routing and mentions 'link-local addresses,' 'Router ID,' or 'OSPFv3,' eliminate answers that reference OSPFv2 behavior. For static routes, remember that link-local next-hops always require an exit interface.

Key Takeaways

Enable IPv6 routing with `ipv6 unicast-routing` globally.

Static route syntax: `ipv6 route prefix/len {next-hop | interface [next-hop]}`.

Default static route uses `::/0`.

OSPFv3 uses a 32-bit Router ID, not an IPv6 address.

OSPFv3 uses link-local addresses for neighbor communication and next-hops.

OSPFv3 configuration: `router ospfv3 1`, `router-id`, then `ipv6 ospf 1 area 0` on interfaces.

OSPFv3 LSAs include Type 8 (Link LSA) and Type 9 (Intra-Area Prefix LSA).

Verification: `show ipv6 ospf neighbor`, `show ipv6 route ospf`, `show ipv6 ospf interface`.

Easy to Mix Up

These come up on the exam all the time. Here's how to tell them apart.

OSPFv2 (IPv4)

Runs over IPv4 (protocol 89).

Router ID is derived from highest IPv4 address (or manually set).

Uses interface IPv4 addresses for neighbor communication.

LSA types: 1,2,3,4,5,7.

Configuration uses `router ospf` and `network` statements.

OSPFv3 (IPv6)

Runs directly over IPv6 (protocol 89).

Router ID is a 32-bit value, not derived from IPv6 addresses.

Uses link-local IPv6 addresses for neighbor communication.

LSA types: 1,2,3,4,5,7,8,9 (new types 8 and 9).

Configuration uses `router ospfv3` and interface commands `ipv6 ospf`.

Watch Out for These

Mistake

OSPFv3 uses IPv6 addresses to identify routers (Router ID).

Correct

OSPFv3 Router ID is a 32-bit number, typically derived from an IPv4 address or manually configured. It is independent of IPv6 addressing.

Candidates assume it works like OSPFv2, which uses the highest IP address on a loopback, but OSPFv3 deliberately separates Router ID from IPv6 addresses.

Mistake

OSPFv3 neighbors communicate using global unicast addresses.

Correct

OSPFv3 uses link-local addresses (FE80::/10) for all neighbor communication, including hello packets and routing updates.

In OSPFv2, neighbors use their interface IP addresses; candidates expect the same in OSPFv3, but the protocol was redesigned to use link-local.

Mistake

Static routes with a link-local next-hop do not require an exit interface.

Correct

The IOS requires an exit interface when the next-hop is a link-local address because link-local addresses are ambiguous across interfaces.

Candidates may think the router can determine the interface from the routing table, but link-local addresses are only unique per link.

Mistake

OSPFv3 uses the same LSA types as OSPFv2.

Correct

OSPFv3 has new LSA types: Type 8 (Link LSA) advertises link-local addresses and prefixes on a link; Type 9 (Intra-Area Prefix LSA) carries prefixes. OSPFv2 does not have these.

The fundamental change in OSPFv3 separating topology from prefix information leads to different LSA types, but candidates often memorize OSPFv2 LSA types and assume they apply.

Do You Actually Know This?

Reveal each answer, then mark whether you got it right. Score 60%+ to unlock the next chapter.

Frequently Asked Questions

What is the difference between OSPFv2 and OSPFv3?

OSPFv2 runs over IPv4 and uses IPv4 addresses for Router ID and neighbor communication. OSPFv3 runs over IPv6, uses a 32-bit Router ID (not an IPv6 address), and uses link-local IPv6 addresses for neighbor communication. OSPFv3 also has new LSA types (Type 8 Link LSA and Type 9 Intra-Area Prefix LSA) that separate topology from prefix information. Configuration differs: OSPFv3 uses `router ospfv3` and interface commands, while OSPFv2 uses `router ospf` and network statements.

Can I use a global unicast address as the next-hop in an IPv6 static route?

Yes, you can use a global unicast address as the next-hop without specifying an exit interface. The router will use its routing table to determine the outgoing interface. However, if you use a link-local address as the next-hop, you must specify the exit interface because link-local addresses are only unique per link. Example: `ipv6 route 2001:DB8::/32 2001:DB8:1::1` works; `ipv6 route 2001:DB8::/32 FE80::1` requires an interface.

How do I configure a default route in IPv6?

Use the static route command with prefix `::/0`. For example: `ipv6 route ::/0 2001:DB8:1::1`. This matches all IPv6 destinations. You can also use a link-local next-hop with an exit interface: `ipv6 route ::/0 GigabitEthernet0/0 FE80::1`. The default route is installed in the routing table with code 'S'.

Why does OSPFv3 use link-local addresses for neighbor communication?

OSPFv3 was designed to be independent of IPv6 global unicast addresses. Using link-local addresses ensures that neighbor relationships can form even if global addresses change or are not yet configured. It also simplifies the routing protocol because the next-hop address in OSPFv3 routes is always the link-local address of the neighbor, which is automatically known. This design is part of the separation between addressing and routing in IPv6.

What is the OSPFv3 Router ID and how is it determined?

The Router ID is a 32-bit number that uniquely identifies the router in the OSPFv3 domain. It can be manually configured using `router-id` under `router ospfv3`. If not configured, the router selects the highest IPv4 address on a loopback interface, or if no loopback exists, the highest IPv4 address on any up/up interface. It does not use IPv6 addresses. On the exam, remember that the Router ID is not an IPv6 address.

How do I verify OSPFv3 neighbor adjacency?

Use `show ipv6 ospf neighbor`. This displays the neighbor's Router ID, priority, state (e.g., FULL/DR), dead time, neighbor's link-local address, and the interface. If the state is not FULL, there is a problem. Common issues include mismatched area IDs, Hello/Dead timers, or network types. Use `show ipv6 ospf interface` to check timers and area on the local interface.

What are the OSPFv3 LSA types I need to know for CCNA?

For CCNA, you should know the basic types: Type 1 (Router LSA), Type 2 (Network LSA), Type 3 (Inter-Area Prefix LSA), Type 5 (AS-External LSA), and the OSPFv3-specific Type 8 (Link LSA) and Type 9 (Intra-Area Prefix LSA). Type 8 advertises link-local addresses and prefixes on a link; Type 9 carries intra-area prefixes that are not in Router or Network LSAs. Type 4 and Type 7 are less commonly tested but may appear.

Terms Worth Knowing

Ready to put this to the test?

You've just covered IPv6 Routing — Static and OSPFv3 — now see how well it sticks with free CCNA 200-301 practice questions. Full explanations included, no account needed.

Done with this chapter?