- Configuring OSPF
- Configuring OSPF TTL Security Check and OSPF Graceful Shutdown
- Enabling OSPFv2 on an Interface Basis
- OSPF Enhanced Traffic Statistics for OSPFv2 and OSPFv3
- OSPF SNMP ifIndex Value for Interface ID in Data Fields
- OSPF Mechanism to Exclude Connected IP Prefixes from LSA Advertisements
- OSPFv2 Local RIB
- IPv6 Routing: OSPFv3
- OSPFv3 Authentication Trailer
- TTL Security Support for OSPFv3 on IPv6
- OSPFv3 Fast Convergence: LSA and SPF Throttling
- OSPF Forwarding Address Suppression in Translated Type-5 LSAs
- Finding Feature Information
- Prerequisites for IPv6 Routing: OSPFv3
- Restrictions for IPv6 Routing: OSPFv3
- Information About IPv6 Routing: OSPFv3
- How to Configure Load Balancing in OSPFv3
- Configuration Examples for Load Balancing in OSPFv3
- Additional References
- Feature Information for IPv6 Routing: OSPFv3
IPv6 Routing: OSPFv3
Open Shortest Path First version 3 (OSPFv3) is an IPv4 and IPv6 link-state routing protocol that supports IPv6 and IPv4 unicast address families (AFs).
- Finding Feature Information
- Prerequisites for IPv6 Routing: OSPFv3
- Restrictions for IPv6 Routing: OSPFv3
- Information About IPv6 Routing: OSPFv3
- How to Configure Load Balancing in OSPFv3
- Configuration Examples for Load Balancing in OSPFv3
- Additional References
- Feature Information for IPv6 Routing: OSPFv3
Finding Feature Information
Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Prerequisites for IPv6 Routing: OSPFv3
Restrictions for IPv6 Routing: OSPFv3
When running a dual-stack IP network with OSPF version 2 for IPv4 and OSPFv3, be careful when changing the defaults for commands used to enable OSPFv3. Changing these defaults may affect your OSPFv3 network, possibly adversely.
Information About IPv6 Routing: OSPFv3
- How OSPFv3 Works
- Comparison of OSPFv3 and OSPF Version 2
- LSA Types for OSPFv3
- NBMA in OSPFv3
- Load Balancing in OSPFv3
- Addresses Imported into OSPFv3
- OSPFv3 Customization
- Force SPF in OSPFv3
How OSPFv3 Works
OSPFv3 is a routing protocol for IPv4 and IPv6. It is a link-state protocol, as opposed to a distance-vector protocol. Think of a link as being an interface on a networking device. A link-state protocol makes its routing decisions based on the states of the links that connect source and destination machines. The state of a link is a description of that interface and its relationship to its neighboring networking devices. The interface information includes the IPv6 prefix of the interface, the network mask, the type of network it is connected to, the devices connected to that network, and so on. This information is propagated in various type of link-state advertisements (LSAs).
A device’s collection of LSA data is stored in a link-state database. The contents of the database, when subjected to the Dijkstra algorithm, result in the creation of the OSPF routing table. The difference between the database and the routing table is that the database contains a complete collection of raw data; the routing table contains a list of shortest paths to known destinations via specific device interface ports.
OSPFv3, which is described in RFC 5340, supports IPv6 and IPv4 unicast AFs.
Comparison of OSPFv3 and OSPF Version 2
Much of OSPF version 3 is the same as in OSPF version 2. OSPFv3, which is described in RFC 5340, expands on OSPF version 2 to provide support for IPv6 routing prefixes and the larger size of IPv6 addresses.
In OSPFv3, a routing process does not need to be explicitly created. Enabling OSPFv3 on an interface will cause a routing process, and its associated configuration, to be created.
In OSPFv3, each interface must be enabled using commands in interface configuration mode. This feature is different from OSPF version 2, in which interfaces are indirectly enabled using the device configuration mode.
When using a nonbroadcast multiaccess (NBMA) interface in OSPFv3, you must manually configure the device with the list of neighbors. Neighboring devices are identified by their device ID.
In IPv6, you can configure many address prefixes on an interface. In OSPFv3, all address prefixes on an interface are included by default. You cannot select some address prefixes to be imported into OSPFv3; either all address prefixes on an interface are imported, or no address prefixes on an interface are imported.
Unlike OSPF version 2, multiple instances of OSPFv3 can be run on a link.
OSPF automatically prefers a loopback interface over any other kind, and it chooses the highest IP address among all loopback interfaces. If no loopback interfaces are present, the highest IP address in the device is chosen. You cannot tell OSPF to use any particular interface.
LSA Types for OSPFv3
The following list describes LSA types, each of which has a different purpose:
Device LSAs (Type 1)—Describes the link state and costs of a device’s links to the area. These LSAs are flooded within an area only. The LSA indicates if the device is an Area Border Router (ABR) or Autonomous System Boundary Router (ASBR), and if it is one end of a virtual link. Type 1 LSAs are also used to advertise stub networks. In OSPFv3, these LSAs have no address information and are network-protocol-independent. In OSPFv3, device interface information may be spread across multiple device LSAs. Receivers must concatenate all device LSAs originated by a given device when running the SPF calculation.
Network LSAs (Type 2)—Describes the link-state and cost information for all devices attached to the network. This LSA is an aggregation of all the link-state and cost information in the network. Only a designated device tracks this information and can generate a network LSA. In OSPFv3, network LSAs have no address information and are network-protocol-independent.
Interarea-prefix LSAs for ABRs (Type 3)—Advertises internal networks to devices in other areas (interarea routes). Type 3 LSAs may represent a single network or a set of networks summarized into one advertisement. Only ABRs generate summary LSAs. In OSPFv3, addresses for these LSAs are expressed as prefix, prefix length instead of address, mask. The default route is expressed as a prefix with length 0.
Interarea-device LSAs for ASBRs (Type 4)—Advertises the location of an ASBR. Devices that are trying to reach an external network use these advertisements to determine the best path to the next hop. Type 4 LSAs are generated by ABRs on behalf of ASBRs.
Autonomous system external LSAs (Type 5)—Redistributes routes from another autonomous system, usually from a different routing protocol into OSPFv3. In OSPFv3, addresses for these LSAs are expressed as prefix, prefix length instead of address, mask. The default route is expressed as a prefix with length 0.
Link LSAs (Type 8)—Have local-link flooding scope and are never flooded beyond the link with which they are associated. Link LSAs provide the link-local address of the device to all other devices attached to the link, inform other devices attached to the link of a list of prefixes to associate with the link, and allow the device to assert a collection of Options bits to associate with the network LSA that will be originated for the link.
Intra-Area-Prefix LSAs (Type 9)—A device can originate multiple intra-area-prefix LSAs for each device or transit network, each with a unique link-state ID. The link-state ID for each intra-area-prefix LSA describes its association to either the device LSA or the network LSA and contains prefixes for stub and transit networks.
An address prefix occurs in almost all newly defined LSAs. The prefix is represented by three fields: PrefixLength, PrefixOptions, and Address Prefix. In OSPFv3, addresses for these LSAs are expressed as prefix, prefix length instead of address, mask. The default route is expressed as a prefix with length 0. Type 3 and Type 9 LSAs carry all prefix (subnet) information that, in OSPFv2, is included in device LSAs and network LSAs. The Options field in certain LSAs (device LSAs, network LSAs, interarea-device LSAs, and link LSAs) has been expanded to 24 bits to provide support for OSPFv3.
In OSPFv3, the sole function of the link-state ID in interarea-prefix LSAs, interarea-device LSAs, and autonomous-system external LSAs is to identify individual pieces of the link-state database. All addresses or device IDs that are expressed by the link-state ID in OSPF version 2 are carried in the body of the LSA in OSPFv3.
The link-state ID in network LSAs and link LSAs is always the interface ID of the originating device on the link being described. For this reason, network LSAs and link LSAs are now the only LSAs whose size cannot be limited. A network LSA must list all devices connected to the link, and a link LSA must list all of the address prefixes of a device on the link.
NBMA in OSPFv3
On NBMA networks, the designated router (DR) or backup DR (BDR) performs the LSA flooding. On point-to-point networks, flooding simply goes out an interface directly to a neighbor.
Devices that share a common segment (Layer 2 link between two interfaces) become neighbors on that segment. OSPFv3 uses the Hello protocol, periodically sending hello packets out each interface. Devices become neighbors when they see themselves listed in the neighbor’s hello packet. After two devices become neighbors, they may proceed to exchange and synchronize their databases, which creates an adjacency. Not all neighboring devices have an adjacency.
On point-to-point and point-to-multipoint networks, the software floods routing updates to immediate neighbors. There is no DR or BDR; all routing information is flooded to each networking device.
On broadcast or NBMA segments only, OSPFv3 minimizes the amount of information being exchanged on a segment by choosing one device to be a DR and one device to be a BDR. Thus, the devices on the segment have a central point of contact for information exchange. Instead of each device exchanging routing updates with every other device on the segment, each device exchanges information with the DR and BDR. The DR and BDR relay the information to the other devices.
The software looks at the priority of the devices on the segment to determine which devices will be the DR and BDR. The device with the highest priority is elected the DR. If there is a tie, then the device with the higher device ID takes precedence. After the DR is elected, the BDR is elected the same way. A device with a device priority set to zero is ineligible to become the DR or BDR.
When using NBMA in OSPFv3, you cannot automatically detect neighbors. On an NBMA interface, you must configure your neighbors manually using interface configuration mode.
Load Balancing in OSPFv3
When a device learns multiple routes to a specific network via multiple routing processes (or routing protocols), it installs the route with the lowest administrative distance in the routing table. Sometimes the device must select a route from among many learned via the same routing process with the same administrative distance. In this case, the device chooses the path with the lowest cost (or metric) to the destination. Each routing process calculates its cost differently and the costs may need to be manipulated in order to achieve load balancing.
OSPFv3 performs load balancing automatically in the following way. If OSPFv3 finds that it can reach a destination through more than one interface and each path has the same cost, it installs each path in the routing table. The only restriction on the number of paths to the same destination is controlled by the maximum-paths command. The default maximum paths is 16, and the range is from 1 to 64.
Addresses Imported into OSPFv3
When importing the set of addresses specified on an interface on which OSPFv3 is running into OSPFv3, you cannot select specific addresses to be imported. Either all addresses are imported, or no addresses are imported.
OSPFv3 Customization
You can customize OSPFv3 for your network, but you likely will not need to do so. The defaults for OSPFv3 are set to meet the requirements of most customers and features. If you must change the defaults, refer to the IPv6 command reference to find the appropriate syntax.
Caution | Be careful when changing the defaults. Changing defaults will affect your OSPFv3 network, possibly adversely. |
OSPFv3 Cost Calculation
Because cost components can change rapidly, it might be necessary to reduce the volume of changes to reduce network-wide churn. The recommended values for S2, S3, and S4 in the second table below are based on network simulations that may reduce the rate of network changes. The recommended value for S1 is 0 to eliminate this variable from the route cost calculation.
The overall link cost is computed using the formula shown in the figure below.
The table below defines the symbols used in the OSPFv3 cost calculation.
Cost Component |
Component Definition |
---|---|
OC |
The default OSPFv3 cost. Calculated from reference bandwidth using reference_bw / (MDR*1000), where reference_bw=10^8. |
A through D |
Various radio-specific data-based formulas that produce results in the 0 through 64,000 range. |
A |
CDR- and MDR-related formula: (2^16 * (100 – (CDR * 100 / MDR)))/100 |
B |
Resources related formula: ((100 – RESOURCES)^3 * 2^16 / 10^6) |
C |
Latency as reported by the radio, already in the 0 through 64,000 range when reported (LATENCY). |
D |
RLF-related formula: ((100 – RLF) * 2^16)/100 |
S1 through S4 |
Scalar weighting factors input from the CLI. These scalars scale down the values as computed by A through D. The value of 0 disables and the value of 100 enables full 0 through 64,000 range for one component. |
Because each network might have unique characteristics that require different settings to optimize actual network performance, these are recommended values intended as a starting point for optimizing an OSPFv3 network. The table below lists the recommended value settings for OSPFv3 cost metrics.
Setting |
Metric Description |
Default Value |
Recommended Value |
---|---|---|---|
S1 |
ipv6 ospf dynamic weight throughout |
100 |
0 |
S2 |
ipv6 ospf dynamic weight resources |
100 |
29 |
S3 |
ipv6 ospf dynamic weight latency |
100 |
29 |
S4 |
ipv6 ospf dynamic weight L2 factor |
100 |
29 |
The default path costs were calculated using this formula, as noted in the following list. If these values do not suit your network, you can use your own method of calculating path costs.
56-kbps serial link—Default cost is 1785.
64-kbps serial link—Default cost is 1562.
T1 (1.544-Mbps serial link)—Default cost is 64.
E1 (2.048-Mbps serial link)—Default cost is 48.
4-Mbps Token Ring—Default cost is 25.
Ethernet—Default cost is 10.
16-Mbps Token Ring—Default cost is 6.
FDDI—Default cost is 1.
X25—Default cost is 5208.
Asynchronous—Default cost is 10,000.
ATM—Default cost is 1.
To illustrate these settings, the following example shows how OSPFv3 cost metrics might be defined for a Virtual Multipoint Interface (VMI) interface:
interface vmi1 ipv6 ospf cost dynamic weight throughput 0 ipv6 ospf cost dynamic weight resources 29 ipv6 ospf cost dynamic weight latency 29 ipv6 ospf cost dynamic weight L2-factor 29
Force SPF in OSPFv3
When the process keyword is used with the clear ipv6 ospf command, the OSPFv3 database is cleared and repopulated, and then the SPF algorithm is performed. When the force-spf keyword is used with the clear ipv6 ospf command, the OSPFv3 database is not cleared before the SPF algorithm is performed.
How to Configure Load Balancing in OSPFv3
- Configuring the OSPFv3 Device Process
- Configuring NBMA Interfaces in OSPFv3
- Forcing an SPF Calculation
- Verifying OSPFv3 Configuration and Operation
Configuring the OSPFv3 Device Process
Once you have completed step 3 and entered OSPFv3 router configuration mode, you can perform any of the subsequent steps in this task as needed to configure OSPFv3 Device configuration.
1.
enable
2.
configure
terminal
3.
router
ospfv3
[process-id]
4.
area
area-ID
[default-cost |
nssa |
stub]
5.
auto-cost
reference-bandwidth
Mbps
6.
default
{area
area-ID [range
ipv6-prefix |
virtual-link
router-id]}
[default-information
originate [always |
metric |
metric-type |
route-map] |
distance |
distribute-list
prefix-list
prefix-list-name {in |
out} [interface] |
maximum-paths
paths |
redistribute
protocol |
summary-prefix
ipv6-prefix]
7.
ignore
lsa
mospf
8.
interface-id
snmp-if-index
9.
log-adjacency-changes
[detail]
10. passive-interface [default | interface-type interface-number]
11.
queue-depth
{hello |
update}
{queue-size |
unlimited}
12.
router-id
router-id
DETAILED STEPS
Configuring NBMA Interfaces in OSPFv3
You can customize OSPFv3 in your network to use NBMA interfaces. OSPFv3 cannot automatically detect neighbors over NBMA interfaces. On an NBMA interface, you must configure your neighbors manually using interface configuration mode.
Before you configure NBMA interfaces, you must perform the following tasks:
Note |
1.
enable
2.
configure
terminal
3.
interface
type
number
4.
no
switchport
5.
ipv6
enable
6.
ipv6
ospf
neighbor
ipv6-address
[priority
number] [poll-interval
seconds]
[cost
number] [database-filter
all
out]
DETAILED STEPS
Forcing an SPF Calculation
1.
enable
2.
clear
ospfv3
[process-id]
force-spf
3.
clear
ospfv3
[process-id]
process
4.
clear
ospfv3
[process-id]
redistribution
5.
clear
ipv6
ospf
[process-id] {process |
force-spf |
redistribution}
DETAILED STEPS
Verifying OSPFv3 Configuration and Operation
This task is optional, and the commands can be entered in any order, as needed.
1.
enable
2.
show
ospfv3
[process-id]
[address-family]
border-routers
3.
show
ospfv3
[process-id
[area-id]]
[address-family]
database
[database-summary |
internal |
external [ipv6-prefix ] [link-state-id] |
grace |
inter-area
prefix [ipv6-prefix |
link-state-id]
|
inter-area
router [destination-router-id |
link-state-id]
|
link [interface
interface-name
|
link-state-id]
|
network [link-state-id] |
nssa-external
[ipv6-prefix]
[link-state-id]
|
prefix [ref-lsa {router |
network} |
link-state-id]
|
promiscuous |
router [link-state-id] |
unknown
[{area |
as |
link} [link-state-id]] [adv-router
router-id]
[self-originate]
4.
show
ospfv3
[process-id]
[address-family]
events
[generic |
interface |
lsa |
neighbor |
reverse |
rib |
spf]
5.
show ospfv3
[process-id]
[area-id]
[address-family]
flood-list
interface-type
interface-number
6.
show ospfv3
[process-id]
[address-family]
graceful-restart
7.
show
ospfv3
[process-id]
[area-id]
[address-family]
interface
[type
number] [brief]
8.
show
ospfv3
[process-id]
[area-id]
[address-family]
neighbor
[interface-type
interface-number] [neighbor-id] [detail]
9.
show
ospfv3
[process-id]
[area-id]
[address-family]
request-list[neighbor] [interface] [interface-neighbor]
10.
show
ospfv3
[process-id]
[area-id]
[address-family]
retransmission-list [neighbor] [interface] [interface-neighbor]
11.
show
ospfv3
[process-id]
[address-family]
statistic
[detail]
12.
show
ospfv3
[process-id]
[address-family]
summary-prefix
13.
show
ospfv3
[process-id]
[address-family]
timers
rate-limit
14.
show
ospfv3
[process-id]
[address-family]
traffic[interface-type
interface-number]
15.
show
ospfv3
[process-id]
[address-family]
virtual-links
DETAILED STEPS
Configuration Examples for Load Balancing in OSPFv3
- Example: Configuring the OSPFv3 Device Process
- Example: Configuring NBMA Interfaces
- Example: Forcing SPF Configuration
Example: Configuring the OSPFv3 Device Process
Device# show ospfv3 database OSPFv3 Device with ID (172.16.4.4) (Process ID 1) Device Link States (Area 0) ADV Device Age Seq# Fragment ID Link count Bits 172.16.4.4 239 0x80000003 0 1 B 172.16.6.6 239 0x80000003 0 1 B Inter Area Prefix Link States (Area 0) ADV Device Age Seq# Prefix 172.16.4.4 249 0x80000001 FEC0:3344::/32 172.16.4.4 219 0x80000001 FEC0:3366::/32 172.16.6.6 247 0x80000001 FEC0:3366::/32 172.16.6.6 193 0x80000001 FEC0:3344::/32 172.16.6.6 82 0x80000001 FEC0::/32 Inter Area Device Link States (Area 0) ADV Device Age Seq# Link ID Dest DevID 172.16.4.4 219 0x80000001 50529027 172.16.3.3 172.16.6.6 193 0x80000001 50529027 172.16.3.3 Link (Type-8) Link States (Area 0) ADV Device Age Seq# Link ID Interface 172.16.4.4 242 0x80000002 14 PO4/0 172.16.6.6 252 0x80000002 14 PO4/0 Intra Area Prefix Link States (Area 0) ADV Device Age Seq# Link ID Ref-lstype Ref-LSID 172.16.4.4 242 0x80000002 0 0x2001 0 172.16.6.6 252 0x80000002 0 0x2001 0
Device# show ospfv3 neighbor OSPFv3 Device with ID (10.1.1.1) (Process ID 42) Neighbor ID Pri State Dead Time Interface ID Interface 10.4.4.4 1 FULL/ - 00:00:39 12 vm1 OSPFv3 Device with ID (10.2.1.1) (Process ID 100) Neighbor ID Pri State Dead Time Interface ID Interface 10.5.4.4 1 FULL/ - 00:00:35 12 vm1
Example: Configuring NBMA Interfaces
The following example shows how to configure an OSPFv3 neighboring device with the IPv6 address of FE80::A8BB:CCFF:FE00:C01.
interface Gigabitethernet 0/0 no switchport ipv6 enable ipv6 ospf neighbor FE80::A8BB:CCFF:FE00:C0
Example: Forcing SPF Configuration
The following example shows how to trigger SPF to redo the SPF and repopulate the routing tables:
clear ipv6 ospf force-spf
Additional References
Related Documents
Related Topic |
Document Title |
---|---|
IPv6 addressing and connectivity |
IPv6 Configuration Guide |
Cisco IOS commands |
|
IPv6 commands |
|
Cisco IOS IPv6 features |
|
IPv6 Routing: OSPFv3 |
“Configuring OSPF” module |
Standards and RFCs
Standard/RFC |
Title |
---|---|
RFCs for IPv6 |
IPv6 RFCs |
MIBs
MIB |
MIBs Link |
---|---|
|
To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL: |
Technical Assistance
Description |
Link |
---|---|
The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password. |
Feature Information for IPv6 Routing: OSPFv3
The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to . An account on Cisco.com is not required.
Feature Name |
Releases |
Feature Information |
---|---|---|
IPv6 Routing: OSPFv3 |
Cisco IOS XE Release 3.2.0SG Cisco IOS XE Release 3.2SE Cisco IOS XE Release 3.6E |
OSPF version 3 for IPv6 expands on OSPF version 2 to provide support for IPv6 routing prefixes and the larger size of IPv6 addresses. In Cisco IOS XE Release 3.2SE, support was added for the Cisco Catalyst 3850 Series Switches. In Cisco IOS XE Release 3.6E, this feature is supported on Cisco Catalyst 3850 Series Switches. |