OSPFCCNA 200-301

OSPF Equal-Cost Paths Not Load Balancing Traffic

Presenting Symptom

Traffic from R1 to R3 is not being load-balanced across two equal-cost OSPF paths, even though both paths have the same OSPF cost.

Network Context

The network consists of three routers (R1, R2, R3) running OSPF in a single area (Area 0). R1 and R3 are connected via two parallel links: one directly (R1-R3) and one through R2 (R1-R2-R3). Both paths have an OSPF cost of 10. The routers are Cisco IOS 15.x. This is a small branch office scenario where load balancing is expected to utilize both links.

Diagnostic Steps

1

Check the routing table on R1 for the destination network

show ip route 192.168.3.0
Routing entry for 192.168.3.0/24
  Known via "ospf 1", distance 110, metric 20
  Last update from 10.1.1.2 on GigabitEthernet0/0, 00:00:05 ago
  Routing Descriptor Blocks:
  * 10.1.1.2, from 3.3.3.3, via GigabitEthernet0/0
      Route metric is 20, traffic share count is 1
    10.1.2.2, from 3.3.3.3, via GigabitEthernet0/1
      Route metric is 20, traffic share count is 1

If only one path appears, OSPF is not installing multiple equal-cost paths. If two paths appear with traffic share count 1 each, OSPF is installing both paths but load balancing may be affected by CEF or per-packet vs per-destination switching.

2

Verify OSPF neighbor relationships and link costs

show ip ospf interface brief
Interface    PID   Area  IP Address/Mask    Cost  State Nbrs F/C
Gi0/0        1     0     10.1.1.1/24        10    DR    1/1
Gi0/1        1     0     10.1.2.1/24        10    DR    1/1

Both interfaces should show cost 10. If costs differ, OSPF will not consider them equal. Also verify neighbors are FULL.

3

Check OSPF database for the prefix to see if both paths are advertised

show ip ospf database external 192.168.3.0
            OSPF Router with ID (1.1.1.1) (Process ID 1)
                Type-5 AS External Link States
  LS age: 100
  Options: (No TOS-capability, DC)
  LS Type: AS External Link
  Link State ID: 192.168.3.0 (External Network Number )
  Advertising Router: 3.3.3.3
  LS Seq Number: 80000001
  Checksum: 0x1234
  Length: 36
  Network Mask: /24
        Metric Type: 2 (Larger than any link state path)
        TOS: 0
        Metric: 20
        Forward Address: 0.0.0.0
        External Route Tag: 0

If the prefix is external, check the metric type and forward address. If the forward address is non-zero, OSPF may use that to determine next hops. If only one advertising router appears, the other path may not be in the database.

4

Examine CEF forwarding table to see how traffic is actually forwarded

show ip cef 192.168.3.0 detail
192.168.3.0/24, version 123, epoch 0, per-destination sharing
  via 10.1.1.2, GigabitEthernet0/0, 2 dependencies
    traffic share 1
    next hop 10.1.1.2
  via 10.1.2.2, GigabitEthernet0/1, 2 dependencies
    traffic share 1
    next hop 10.1.2.2
  Load distribution: 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 (per-destination)

If CEF shows both paths with traffic share 1, CEF is load balancing. If only one path appears, CEF is not using both. Also check if load balancing mode is per-destination or per-packet.

Root Cause

The issue is that OSPF is not performing load balancing because the 'maximum-paths' command is set to 1 (default is 8 on most platforms, but may be changed). Alternatively, the router may be using process switching or fast switching instead of CEF, which does not support per-destination load balancing for multiple equal-cost paths. In this scenario, the router had 'no ip cef' configured, disabling CEF, and the default switching mode (fast switching) only uses one path per destination.

Resolution

Enable CEF globally on the router: R1(config)# ip cef This enables Cisco Express Forwarding, which supports per-destination load balancing across equal-cost paths. If OSPF maximum-paths is set to 1, increase it: R1(config)# router ospf 1 R1(config-router)# maximum-paths 4 This allows OSPF to install up to 4 equal-cost routes.

Verification

Verify CEF is enabled: R1# show ip cef %IPv4 CEF is enabled Check routing table again: R1# show ip route 192.168.3.0 Routing entry for 192.168.3.0/24 Known via "ospf 1", distance 110, metric 20 Last update from 10.1.1.2 on GigabitEthernet0/0, 00:00:05 ago Routing Descriptor Blocks: * 10.1.1.2, from 3.3.3.3, via GigabitEthernet0/0 Route metric is 20, traffic share count is 1 10.1.2.2, from 3.3.3.3, via GigabitEthernet0/1 Route metric is 20, traffic share count is 1 Verify CEF load balancing: R1# show ip cef 192.168.3.0 detail 192.168.3.0/24, version 123, epoch 0, per-destination sharing via 10.1.1.2, GigabitEthernet0/0, 2 dependencies traffic share 1 next hop 10.1.1.2 via 10.1.2.2, GigabitEthernet0/1, 2 dependencies traffic share 1 next hop 10.1.2.2 Load distribution: 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 (per-destination)

Prevention

1. Always enable CEF globally on routers that support it, as it is required for efficient load balancing. 2. Verify OSPF maximum-paths is set to a value greater than 1 (default is 8 on most platforms). 3. When designing OSPF networks with redundant links, ensure interface costs are manually set to equal values to guarantee equal-cost multipath.

CCNA Exam Relevance

On the CCNA 200-301 exam, this scenario appears in troubleshooting questions where OSPF is not load balancing. The exam may present a multiple-choice question asking why traffic is not being load-balanced across equal-cost paths, with options including 'CEF is disabled', 'maximum-paths is set to 1', or 'OSPF cost mismatch'. The key fact a CCNA candidate must know is that OSPF automatically load balances across up to 4 equal-cost paths (default maximum-paths) only if CEF is enabled.

Exam Tips

1.

Remember that OSPF load balancing requires CEF to be enabled; without CEF, only one path is used per destination.

2.

The default maximum-paths for OSPF is 8 on most Cisco IOS platforms, but the exam may test that it is 4 for OSPF.

3.

Know the 'show ip cef' and 'show ip route' commands to verify equal-cost multipath.

Commands Used in This Scenario

Test Your CCNA Knowledge

Practice with scenario-based questions to prepare for the CCNA 200-301 exam.

Practice CCNA Questions