ECMP Distribution
Calculate how traffic is load-balanced across equal-cost multi-path routes.
About ECMP Distribution
Equal-Cost Multipath (ECMP) spreads traffic across several paths of identical routing cost by hashing packet header fields (typically source/destination IP and port, the 5-tuple) to deterministically pick a path per flow, keeping all packets of a given flow on the same path to avoid reordering. In theory this divides total traffic evenly by the number of paths, but real hash functions produce some skew because flow sizes vary and the number of flows is finite, so this calculator models that imbalance and reports both the ideal even split and a realistic worst-case per-path load.
Formula
ECMP per-path traffic
per_path_traffic = total_traffic / num_paths
- T_total
- Total traffic to be load-balanced
- n
- Number of equal-cost paths
Worked example
With the default values below, ECMP Distribution returns Ideal Traffic per Path of 1,000.00. Change any input above and every figure here is recalculated in your browser.
Inputs used
- Total Trafficminimum 0 Mbps
- 4,000 Mbps
- Number of Equal-Cost Pathsaccepts 1–64
- 4
- Hash Imbalanceaccepts 0–50
- 10
Results
- Ideal Traffic per Path
- 1,000.00 Mbps
- Most-Loaded Path (with skew)
- 1,100.00 Mbps
- Least-Loaded Path (with skew)
- 900.00 Mbps
- Recommended per-Path Capacity
- 1,100.00 Mbps
Step by step
- 1Values used
- 2ECMP per-path traffic
- 3Ideal Traffic per Path= 1,000.00 Mbps
- 4Most-Loaded Path (with skew)= 1,100.00 Mbps
- 5Least-Loaded Path (with skew)= 900.00 Mbps
- 6Recommended per-Path Capacity= 1,100.00 Mbps
Assumptions and limits
- The result is derived only from the 3 inputs listed above. Anything not among them is not part of the calculation.
- In particular, this calculator does not take inflation, tax or compounding frequency into account.
- Figures are rounded for display to 2 decimal places, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.
How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.
Frequently Asked Questions
Why doesn't ECMP split traffic exactly evenly across all paths?
ECMP hashes each individual flow (typically keyed on the 5-tuple: source/destination IP, source/destination port, protocol) to a single path to preserve packet ordering within that flow, rather than splitting bytes evenly across paths. With a finite number of flows of varying sizes, the hash distribution across paths is statistically even only in aggregate over many flows — a few very large flows can still land unevenly.
Why does ECMP keep a flow on the same path instead of spreading each flow across all links?
TCP (and most applications) perform poorly when packets from the same connection arrive out of order, since reordering triggers unnecessary retransmissions or reassembly delay. By hashing on a consistent flow key, ECMP guarantees every packet in a flow takes the same path, preserving in-order delivery while still balancing overall traffic across paths at the flow level.
How many equal-cost paths does a typical network use?
It depends on the topology and the routing protocol's support, but data center fabrics commonly use ECMP across 4, 8, 16, or more equal-cost paths (e.g. in a leaf-spine/Clos topology) to maximize aggregate bandwidth and provide resilience, while smaller enterprise networks might only have 2 equal-cost uplinks.
