ECMP Distribution Calculator
Calculate per-path traffic share when load-balancing across multiple equal-cost paths (ECMP).
Inputs
Real hash-based distribution is rarely perfectly even; typical skew is 5-15%.
Ideal Traffic per Path
1,000.00Mbps
Most-Loaded Path (with skew)
1,100.00Mbps
Least-Loaded Path (with skew)
900.00Mbps
Recommended per-Path Capacity
1,100.00Mbps
Step by step
Values used
Total Traffic = 4,000 Mbps; Number of Equal-Cost Paths = 4; Hash Imbalance = 10
ECMP per-path traffic
per_path_traffic = total_traffic / num_paths
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
How it works
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
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.