100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace

What is Equal-Cost Multipath (ECMP)?

Learn what ECMP is, how per-flow hashing works, and why it is core to datacenter routing and fast failover.

hardQ168 of 224 in Computer Networks Est. time: 6 minsLast updated:
Open Code Lab

Expected Interview Answer

Equal-Cost Multipath (ECMP) is a routing technique where a router installs and actively uses multiple paths to the same destination in its forwarding table simultaneously, because those paths have identical routing cost/metric, spreading traffic across all of them instead of using just one.

When a routing protocol like OSPF or BGP computes two or more paths to a destination with exactly equal cost, instead of arbitrarily picking one and discarding the rest, ECMP-capable routers keep all of them active and load-balance traffic across them, typically using a per-flow hash (source/destination IP, port, protocol) so that all packets in one flow take the same path and arrive in order, while different flows may take different paths. This both increases effective bandwidth between two points and provides fast failover โ€” if one path drops, the router simply stops hashing flows onto it rather than needing to recompute a whole new route. ECMP is heavily used in modern datacenter fabrics (leaf-spine/Clos topologies) where many equal-cost paths exist by design, and is also common between an enterprise edge and two identically-metriced upstream links. A key caveat is that ECMP must hash on a flow, not per-packet, to avoid reordering, since most transport protocols and applications are sensitive to out-of-order delivery.

  • Increases effective bandwidth by using multiple equal-cost paths at once
  • Provides fast failover without full route recomputation
  • Standard building block of leaf-spine datacenter fabrics
  • Requires per-flow hashing to avoid reordering packets within a flow

AI Mentor Explanation

ECMP is like a stadium having two identical, equally fast staircases from the same stand down to the exit โ€” instead of funneling every spectator down just one staircase, ushers actively split the crowd across both based on which staircase each group started near, keeping a family together on one staircase so they exit as a unit. If one staircase is roped off for cleaning, ushers simply stop directing anyone there and the other staircase absorbs the load. This active use of multiple equal, simultaneous paths is exactly what ECMP does for network traffic.

Step-by-Step Explanation

  1. Step 1

    Discover equal-cost paths

    A routing protocol (OSPF, BGP, static) computes two or more paths to the same destination with identical cost/metric.

  2. Step 2

    Install all paths

    Instead of picking one, the router installs all equal-cost next hops for that destination in its forwarding table.

  3. Step 3

    Hash flows to paths

    Traffic is distributed using a per-flow hash (source/destination IP, port, protocol) so a flow always takes the same path.

  4. Step 4

    React to path loss

    If a path fails, the router stops hashing new flows to it, redistributing load without a full route recomputation.

What Interviewer Expects

  • Correct definition: multiple equal-cost paths installed and used simultaneously
  • Explains per-flow hashing and why per-packet hashing is avoided
  • Names datacenter leaf-spine fabrics as a common ECMP use case
  • Understands ECMP improves both bandwidth and failover speed

Common Mistakes

  • Assuming ECMP load-balances every packet individually (causing reordering)
  • Confusing ECMP with simple failover, where only one path is ever active
  • Not knowing routing protocols must first compute genuinely equal-cost paths
  • Forgetting ECMP requires forwarding-plane support, not just a routing protocol feature

Best Answer (HR Friendly)

โ€œEqual-Cost Multipath is like a router realizing it has two equally good roads to the same destination and using both at once instead of picking just one. It sends different conversations down different roads to spread the load and get more total throughput, but keeps each individual conversation on one road so nothing arrives out of order โ€” and if one road closes, traffic simply shifts to the other instantly.โ€

Code Example

Inspecting and configuring ECMP routes on Linux
# Show a multipath route with two equal-cost next hops
ip route show 10.0.0.0/16
# 10.0.0.0/16 nexthop via 192.0.2.1 dev eth0 weight 1 \
#             nexthop via 192.0.2.2 dev eth1 weight 1

# Add a new ECMP route explicitly
ip route add 10.0.0.0/16 \
  nexthop via 192.0.2.1 dev eth0 weight 1 \
  nexthop via 192.0.2.2 dev eth1 weight 1

# Check which hashing policy is used for flow distribution
sysctl net.ipv4.fib_multipath_hash_policy

Follow-up Questions

  • Why does ECMP hash on flows instead of individual packets?
  • How is ECMP used in leaf-spine datacenter network fabrics?
  • How does ECMP interact with routing protocol failover behavior?
  • What happens to existing flows when one of several ECMP paths fails?

MCQ Practice

1. What does ECMP do when a router finds multiple paths of identical cost to a destination?

ECMP installs all equal-cost paths and actively load-balances traffic across them rather than using only one.

2. Why does ECMP typically hash traffic per flow rather than per packet?

Per-flow hashing keeps all packets of one connection on the same path, avoiding out-of-order delivery.

3. Where is ECMP most commonly and heavily used?

Leaf-spine (Clos) datacenter topologies are designed with many equal-cost paths, making ECMP a core building block.

Flash Cards

What is ECMP? โ€” Installing and actively using multiple equal-cost paths to the same destination simultaneously.

How does ECMP distribute traffic? โ€” By hashing per flow (source/destination IP, port, protocol), keeping each flow on one path.

Why not hash per packet? โ€” Per-packet hashing can reorder packets within a flow, which most protocols are sensitive to.

Common ECMP use case? โ€” Leaf-spine (Clos) datacenter network fabrics with many equal-cost paths by design.

1 / 4

Continue Learning