This chapter covers a NEW objective in the CCNA v2 exam (200-301 v2.0, 2026 blueprint): OSPFv3 single-area configuration for IPv6. With IPv6 deployment accelerating in enterprise networks, Cisco has added this topic to ensure CCNA candidates can configure dynamic routing for IPv6 just as they do for IPv4. OSPFv3 is the IPv6-capable version of OSPF, and understanding its configuration is essential for any network engineer supporting dual-stack or IPv6-only environments. This chapter will guide you through OSPFv3 fundamentals, configuration steps, verification commands, and exam traps specific to this new objective.
Jump to a section
Imagine a large university campus with many buildings (routers). Each building has its own internal numbering scheme (IPv6 addresses). The university wants to deliver mail (packets) between any two buildings efficiently. They implement a campus mail system (OSPFv3). Each building has a mailroom (OSPFv3 process) that knows the local building’s room numbers (directly connected IPv6 prefixes). The mailrooms exchange these prefix lists with neighboring buildings via a standardized postcard (Hello packet). The postcard includes the mailroom’s ID (Router ID, which is a 32-bit number, not an IPv6 address) and the list of known buildings (neighbor list). To ensure reliability, mailrooms wait for a reply postcard before considering a neighbor reachable (Hello/Dead intervals). Once neighbors are established, each mailroom sends a detailed catalog (Link State Advertisement, LSA) listing all the room numbers it can reach. Every mailroom collects catalogs from all others and builds a complete map (LSDB) of the campus. Then, each mailroom independently runs a shortest-path algorithm (SPF) to find the best route to every other building. If a building’s mailroom fails (link down), the mailroom sends an updated catalog (LSA flood) to all others, triggering a recalculation. The mailroom uses a concept of area (single-area in this chapter) – all buildings are in one administrative zone, making the map simpler. The mailroom also authenticates postcards (OSPF authentication) to prevent tampering. This system ensures that mail (IPv6 packets) takes the optimal path across campus, adapting quickly to changes.
What is OSPFv3 and Why Does It Exist?
OSPFv3 (Open Shortest Path First version 3) is the IPv6-capable version of OSPF, defined in RFC 5340. While OSPFv2 runs over IPv4, OSPFv3 runs directly over IPv6 (using protocol number 89). It retains the same fundamental link-state routing algorithm, areas, SPF calculation, and cost metric. However, OSPFv3 has key differences: it uses IPv6 link-local addresses for neighbor communication, removes the concept of network (subnet) from LSAs, and introduces new LSA types for IPv6 prefixes. In a single-area configuration (Area 0), OSPFv3 operates in a flat topology where all routers share the same LSDB, making convergence fast and configuration straightforward.
How OSPFv3 Works Step by Step at the Packet Level
Neighbor Discovery via Hello Packets: Each OSPFv3-enabled interface sends Hello packets to the AllSPFRouters multicast address FF02::5. The Hello contains the router ID (32-bit, manually set or derived from a loopback IPv4 address), Hello interval (default 10 seconds on broadcast links), Dead interval (4x Hello, default 40 seconds), and a list of known neighbors. Routers become neighbors when they see each other’s Router ID in Hello packets and agree on timers and area ID.
Database Description (DBD) Exchange: After neighbor adjacency forms (2-Way state), routers exchange DBD packets to describe their LSDB contents. The master/slave relationship is established via OSPF sequence numbers. Routers compare DBD summaries to determine which LSAs they need.
Link State Request (LSR) and Update (LSU): Each router sends LSR packets for LSAs it needs. The neighbor responds with LSU packets containing the full LSAs. LSAs are acknowledged via Link State Acknowledgment (LSAck) packets.
Flooding and LSDB Synchronization: LSAs are flooded to all neighbors (except the one that sent the LSA) to ensure every router has an identical LSDB. For single-area, all routers are in Area 0, so LSDBs are identical.
SPF Calculation: Once LSDBs are synchronized, each router runs Dijkstra’s SPF algorithm to calculate shortest paths to all destinations. The result is the routing table (IPv6 RIB).
Key States, Timers, and Defaults
OSPFv3 States: Down, Init, 2-Way, ExStart, Exchange, Loading, Full. For single-area, the goal is Full adjacency.
Hello Interval: 10 seconds on broadcast and point-to-point links; 30 seconds on NBMA (non-broadcast multi-access).
Dead Interval: 4x Hello interval (40 seconds for broadcast).
Wait Timer: 40 seconds (same as Dead) on broadcast links before DR/BDR election.
DR/BDR Election: On multi-access links (e.g., Ethernet), a Designated Router (DR) and Backup DR (BDR) are elected based on the highest OSPF priority (default 1) and then highest Router ID. DR/BDR reduce LSAs flooding.
Router ID: 32-bit number, must be unique. Cisco IOS uses the highest IPv4 address on a loopback interface, else highest IPv4 address on any interface, or can be manually set with router-id command. Note: OSPFv3 does not use IPv6 addresses for Router ID.
Cost: Default cost = 10^8 / bandwidth (bps). For 100 Mbps Ethernet, cost=1; for 1 Gbps, cost=1 (since 10^8/10^9=0.1, rounded up to 1). This can be manually set with ipv6 ospf cost.
IOS CLI Verification Commands with Example Output
R1# show ipv6 ospf neighbor
Neighbor ID Pri State Dead Time Interface ID Interface
2.2.2.2 1 FULL/DR 00:00:38 4 GigabitEthernet0/0R1# show ipv6 ospf interface gigabitethernet 0/0
GigabitEthernet0/0 is up, line protocol is up
Link Local Address FE80::1, Interface ID 3
Area 0, Process ID 1, Router ID 1.1.1.1, Network Type BROADCAST, Cost: 1
Transmit Delay is 1 sec, State DR, Priority 1
Designated Router (ID) 1.1.1.1, local address FE80::1
Backup Designated router (ID) 2.2.2.2, local address FE80::2
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
Hello due in 00:00:03
Index 1/1/1, flood queue length 0
Next 0x0(0)/0x0(0)/0x0(0)
Last flood scan length is 1, maximum is 25
Last flood scan time is 0 msec, maximum is 0 msec
Neighbor Count is 1, Adjacent neighbor count is 1
Adjacent with neighbor 2.2.2.2 (Backup Designated Router)
Suppress hello for 0 neighbor(s)R1# show ipv6 route ospf
IPv6 Routing Table - default - 5 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
B - BGP, R - RIP, H - NHRP, I1 - ISIS L1, I2 - ISIS L2
IA - ISIS interarea, IS - ISIS summary, D - EIGRP, EX - EIGRP external
O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
O 2001:DB8:1::/48 [110/2]
via FE80::2, GigabitEthernet0/0How OSPFv3 Interacts with Related Protocols
OSPFv3 uses IPv6 link-local addresses (FE80::/10) for all neighbor communication. This means OSPFv3 packets are sourced from link-local addresses and destined to FF02::5 (AllSPFRouters) or FF02::6 (AllDRouters). OSPFv3 does not rely on global unicast addresses for its operation, allowing it to function even if global addresses are not configured. OSPFv3 also supports multiple instances on a single link using the Instance ID field in the packet header. This is useful for separating routing domains (e.g., in MPLS L3VPN).
Enable IPv6 Routing
Before configuring OSPFv3, ensure IPv6 routing is enabled globally on the router. Use the command `ipv6 unicast-routing`. Without this, the router will not forward IPv6 packets, and OSPFv3 will not run. This command is a prerequisite for any IPv6 routing protocol.
Configure Router ID
OSPFv3 requires a 32-bit Router ID, which is not derived from IPv6 addresses. You can set it manually using `router-id A.B.C.D` under the OSPFv3 process. If not set, Cisco IOS selects the highest IPv4 loopback address, then highest IPv4 interface address. If no IPv4 addresses exist, the OSPFv3 process fails to start. Always set a Router ID explicitly to avoid unexpected changes. Example: `ipv6 router ospf 1` then `router-id 1.1.1.1`.
Enable OSPFv3 on Interfaces
OSPFv3 is enabled on a per-interface basis using the command `ipv6 ospf <process-id> area <area-id>`. The process ID must match the one configured globally. For single-area, use area 0 (backbone). Example: `interface GigabitEthernet0/0` then `ipv6 ospf 1 area 0`. This command activates OSPFv3 on the interface, causing Hello packets to be sent and neighbors to be discovered.
Verify OSPFv3 Neighbors
Use `show ipv6 ospf neighbor` to verify that adjacencies have formed. The output shows neighbor Router ID, state (should be FULL), priority, dead time, interface ID, and interface. If state is not FULL, check Hello/Dead intervals, area ID, and interface status. Common issues: mismatched timers or area, or passive interface configuration.
Verify OSPFv3 Routes
Use `show ipv6 route ospf` to display OSPFv3-learned routes. Routes are marked with 'O' (intra-area) or 'OI' (inter-area). For single-area, all routes should be 'O'. The output shows the prefix, administrative distance (110 for OSPF), metric (cost), and next-hop link-local address. If routes are missing, check LSDB synchronization with `show ipv6 ospf database`.
Troubleshoot OSPFv3 Issues
Common troubleshooting commands: `debug ipv6 ospf hello` to see Hello packet exchanges; `show ipv6 ospf interface` to verify interface parameters; `show ipv6 ospf database` to examine LSAs. For single-area, all routers should have identical LSDBs. If not, check for Layer 2 issues or ACLs blocking OSPFv3 (protocol 89). Also ensure that the Router ID is unique; duplicate Router IDs cause neighbor flapping.
Enterprise Deployment Scenarios
Scenario 1: Dual-Stack Campus Network
A large university runs both IPv4 and IPv6 on its campus network. The network team uses OSPFv2 for IPv4 and OSPFv3 for IPv6 in a single-area design (Area 0) for simplicity. Each building has a distribution router that connects to a collapsed core. OSPFv3 enables fast convergence when links fail. The team configures OSPFv3 with a manual Router ID (using the loopback IPv4 address) and enables it on all routed interfaces. They use the default cost of 1 for all Gigabit Ethernet links, so the SPF algorithm picks the path with the fewest hops. This works well because all links have the same bandwidth. In production, the team monitors OSPFv3 neighbors and ensures no passive interfaces are misconfigured. They also set OSPF priority on core routers to ensure they become DR/BDR, reducing LSA flooding on multi-access segments.
Scenario 2: IPv6-Only Remote Office
A company deploys IPv6-only remote offices to conserve public IPv4 addresses. Each office has a single router connecting to the MPLS WAN. OSPFv3 single-area is used to exchange routes between offices. The WAN link is a point-to-point serial line, so no DR/BDR election occurs. The network engineer configures OSPFv3 with a manual Router ID (e.g., 10.0.0.1) and enables it on the WAN interface. They also configure a loopback interface with a unique IPv6 address for management. OSPFv3 automatically advertises the loopback prefix. To prevent unexpected routing changes, the engineer sets the OSPF cost on the WAN interface to match the link speed (e.g., cost 64 for a DS3). If misconfigured (e.g., wrong area), OSPFv3 neighbors won't form, and remote networks become unreachable.
Performance Considerations: OSPFv3 single-area scales well for up to a few hundred routers. Beyond that, multi-area design is recommended to reduce LSDB size and SPF calculation frequency. The default SPF throttling timers (initial 5 sec, hold 10 sec, max wait 25 sec) prevent excessive CPU load during flapping.
Exam Focus: OSPFv3 Single-Area Configuration
Exam Objective 3.3: Configure and verify OSPFv3 single-area configuration for IPv6.
New in CCNA v2
In CCNA v1.1, routing for IPv6 was limited to static routing and EIGRP for IPv6. OSPFv3 was not tested. In v2.0, Cisco added OSPFv3 to align with real-world IPv6 deployment trends. Candidates who studied v1.1 must learn OSPFv3 configuration commands, verification, and troubleshooting from scratch. The new 5-domain blueprint places this under IP Routing (20%).
What 200-301 Tests
The exam will test your ability to:
Configure OSPFv3 on interfaces using ipv6 ospf <process-id> area <area-id>.
Set the Router ID manually with router-id under the OSPFv3 process.
Verify neighbor states with show ipv6 ospf neighbor.
Verify routes with show ipv6 route ospf.
Understand that OSPFv3 uses link-local addresses for neighbor communication.
Know default timers: Hello 10s, Dead 40s on broadcast.
Recognize that OSPFv3 does not use network statements; it is interface-based.
Common Wrong Answers and Why
1. Wrong: OSPFv3 uses IPv6 global unicast addresses for Router ID. Why chosen: Candidates confuse OSPFv3 with OSPFv2; OSPFv3 Router ID is still 32-bit, not an IPv6 address.
2. Wrong: OSPFv3 is configured using network commands like OSPFv2.
Why chosen: Candidates assume OSPFv3 works identically to OSPFv2; but OSPFv3 uses interface-level configuration.
3. Wrong: The ipv6 ospf command must include the area ID as a number, but the process ID is optional.
Why chosen: Candidates misremember syntax; the process ID is mandatory.
4. Wrong: OSPFv3 automatically uses the highest IPv6 address on a loopback as Router ID. Why chosen: Candidates think Router ID can be IPv6; it cannot.
Specific Values and Commands
Default Hello interval: 10 seconds (broadcast and point-to-point)
Default Dead interval: 40 seconds
Cost formula: reference bandwidth (default 10^8) / interface bandwidth
Administrative distance: 110
Verification commands: show ipv6 ospf neighbor, show ipv6 route ospf, show ipv6 ospf interface
Decision Rule for Scenario Questions
If a question asks you to configure OSPFv3 for IPv6 on an interface, remember: you must first enable IPv6 routing globally, then create an OSPFv3 process with a Router ID, then apply ipv6 ospf <pid> area <area-id> on the interface. If the question asks why OSPFv3 neighbors are not forming, check: (1) Router ID set? (2) IPv6 unicast routing enabled? (3) Interface not passive? (4) Hello/Dead timers match? (5) Area ID same? (6) No ACL blocking protocol 89?
OSPFv3 uses a 32-bit Router ID, not an IPv6 address; always set it manually with `router-id`.
OSPFv3 is enabled on interfaces with `ipv6 ospf <process-id> area <area-id>`, not with network statements.
Default Hello interval is 10 seconds, Dead interval 40 seconds on broadcast links.
OSPFv3 uses link-local addresses (FE80::/10) for neighbor communication.
Verify with `show ipv6 ospf neighbor` (state should be FULL) and `show ipv6 route ospf`.
OSPFv3 administrative distance is 110; cost = reference bandwidth / interface bandwidth.
[CCNA v2 NEW] OSPFv3 single-area configuration is a new objective in CCNA v2; learn the interface-based configuration and verification commands.
In a single-area design, all routers share the same LSDB and are in Area 0.
These come up on the exam all the time. Here's how to tell them apart.
OSPFv2
Runs over IPv4
Uses network statements for configuration
Router ID is 32-bit, derived from IPv4 addresses
LSAs contain IPv4 prefixes
Uses multicast 224.0.0.5 and 224.0.0.6
Supports authentication in the packet header
OSPFv3
Runs over IPv6 (protocol 89)
Uses interface-level configuration (`ipv6 ospf`)
Router ID is 32-bit, can be set manually (no IPv6)
LSAs do not contain prefixes; prefixes in separate LSAs
Uses multicast FF02::5 and FF02::6
Authentication uses IPsec AH or ESP
Mistake
OSPFv3 Router ID is an IPv6 address.
Correct
OSPFv3 Router ID is a 32-bit number, just like OSPFv2. It is derived from an IPv4 address or manually set. OSPFv3 does not use IPv6 addresses for Router ID.
Candidates assume that because OSPFv3 runs over IPv6, its Router ID must be IPv6, but the protocol designers kept it 32-bit for backward compatibility.
Mistake
OSPFv3 uses network statements to advertise networks.
Correct
OSPFv3 is configured on a per-interface basis using `ipv6 ospf <process-id> area <area-id>` under the interface. There is no `network` command in OSPFv3.
Candidates are familiar with OSPFv2's network command and assume the same for OSPFv3, but OSPFv3 uses a different approach.
Mistake
OSPFv3 cannot run without IPv4 configured on the router.
Correct
OSPFv3 can run on a router with no IPv4 addresses, as long as a Router ID is manually set (e.g., using a 32-bit number like 1.1.1.1). The Router ID does not need to correspond to an existing IPv4 address.
Candidates think Router ID must be an IPv4 address that exists on the router, but it can be any unique 32-bit value.
Mistake
OSPFv3 uses the same LSA types as OSPFv2.
Correct
OSPFv3 has different LSA types. For example, Type 1 (Router LSA) and Type 2 (Network LSA) are similar, but Type 3 (Inter-Area Prefix LSA) and Type 8 (Link LSA) are new. Also, OSPFv3 LSAs do not contain IPv6 prefixes; prefixes are carried in separate LSA types.
Candidates assume OSPFv3 is a simple port of OSPFv2, but the LSA structure changed significantly to support IPv6.
Reveal each answer, then mark whether you got it right. Score 60%+ to unlock the next chapter.
No. OSPFv3 does not use network statements. Instead, you enable OSPFv3 directly on an interface with the command `ipv6 ospf <process-id> area <area-id>`. This is a key difference from OSPFv2. The interface's IPv6 prefixes are automatically advertised. Exam tip: If a question asks you to configure OSPFv3 and offers a network command as an answer, it is a trap.
The default cost is 1. OSPFv3 uses the same cost formula as OSPFv2: cost = reference-bandwidth / interface-bandwidth. The default reference bandwidth is 100 Mbps (10^8 bps). For 1 Gbps, cost = 10^8 / 10^9 = 0.1, which rounds up to 1. This means 1 Gbps and 100 Mbps have the same cost by default, which can cause suboptimal routing. To fix this, adjust the reference bandwidth with `auto-cost reference-bandwidth <mbps>` under the OSPFv3 process.
Yes, but you must manually set a Router ID using the `router-id` command. Without an IPv4 address, the router cannot derive a Router ID automatically, and the OSPFv3 process will not start. The Router ID is a 32-bit number (e.g., 1.1.1.1) that does not need to correspond to any interface. Exam tip: Always configure a Router ID explicitly in IPv6-only environments.
OSPFv2 supports authentication in the packet header (simple password or MD5). OSPFv3 does not have authentication in the OSPF header; instead, it relies on IPsec (Authentication Header or Encapsulating Security Payload) to provide authentication and integrity. This is a common exam point. OSPFv3 can also use the `ipv6 ospf authentication` command to enable IPsec, but the underlying mechanism is different.
Use `show ipv6 ospf neighbor`. The output shows each neighbor's Router ID, priority, state (should be FULL for normal operation), dead timer, interface ID, and interface. If the state is not FULL, check for mismatched parameters. For example, if state is 2-Way, the router is not DR/BDR on a multi-access link; that's normal. If state is ExStart or Exchange, the routers are exchanging DBD packets.
The Instance ID is a field in the OSPFv3 packet header that allows multiple OSPFv3 instances to run on the same link. This is useful for separating routing domains (e.g., in MPLS L3VPN). By default, the Instance ID is 0. You can change it with `ipv6 ospf instance <id>` on the interface. Two routers must have the same Instance ID to become neighbors. This is rarely tested but may appear in advanced questions.
Using link-local addresses ensures that OSPFv3 can operate without requiring global IPv6 addresses on interfaces. This simplifies configuration and allows OSPFv3 to function even if global addresses are not yet assigned. Additionally, it avoids dependency on global address reachability. The next hop in the routing table is always a link-local address, which is sufficient for forwarding because the outgoing interface is known.
You've just covered OSPFv3 Single-Area Configuration for IPv6 — now see how well it sticks with free CCNA 200-301 practice questions. Full explanations included, no account needed.
Done with this chapter?