Calculate how traffic is load-balanced across equal-cost multi-path routes.
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.
ECMP per-path traffic
per_path_traffic = total_traffic / num_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.
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.
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.