Equal-cost multi-path routing (ECMP) is a
routing
Routing is the process of selecting a path for traffic in a Network theory, network or between or across multiple networks. Broadly, routing is performed in many types of networks, including circuit-switched networks, such as the public switched ...
strategy where
packet forwarding
Packet forwarding is the relaying of packets from one network segment to another by nodes in a computer network.
Models
The simplest forwarding model unicastinginvolves a packet being relayed from link to link along a chain leading from th ...
to a single destination can occur over multiple best paths with equal routing priority. Multi-path routing can be used in conjunction with most routing protocols because it is a per-hop local decision made independently at each router. It can substantially increase bandwidth by
load-balancing traffic over multiple paths; however, there may be significant problems in deploying it in practice.
History
Load balancing by per-packet
multipath routing
Multipath routing is a routing technique simultaneously using multiple alternative paths through a network. This can yield a variety of benefits such as fault tolerance, increased bandwidth, and improved security.
Mobile networks
To improve pe ...
was generally disfavored due to the impact of rapidly changing latency,
packet reordering and
maximum transmission unit
In computer networking, the maximum transmission unit (MTU) is the size of the largest protocol data unit (PDU) that can be communicated in a single network layer transaction. The MTU relates to, but is not identical to the maximum frame size tha ...
(MTU) differences within a network flow, which could disrupt the operation of many Internet protocols, most notably
TCP and
path MTU discovery. RFC 2992 analyzed one particular multipath routing strategy involving the assignment of
flows through
hashing
Hash, hashes, hash mark, or hashing may refer to:
Substances
* Hash (food), a coarse mixture of ingredients, often based on minced meat
* Hash (stew), a pork and onion-based gravy found in South Carolina
* Hash, a nickname for hashish, a cannab ...
flow-related data in the
packet header
In information technology, header is supplemental data placed at the beginning of a block of data being stored or transmitted. In data transmission, the data following the header is sometimes called the '' payload'' or '' body''.
It is vital that ...
. This solution is designed to avoid these problems by sending all packets from any particular network flow through the same path while balancing multiple flows over multiple paths in general.
See also
*
Link aggregation
In computer networking, link aggregation is the combining ( aggregating) of multiple network connections in parallel by any of several methods. Link aggregation increases total throughput beyond what a single connection could sustain, and prov ...
*
Shortest Path Bridgingestablishes multiple forward and reverse paths on
Ethernet
Ethernet ( ) is a family of wired computer networking technologies commonly used in local area networks (LAN), metropolitan area networks (MAN) and wide area networks (WAN). It was commercially introduced in 1980 and first standardized in 198 ...
networks.
*
Source routing
In computer networking, source routing, also called path addressing, allows a sender of a data packet to partially or completely specify the route the packet takes through the network. In contrast, in conventional routing, routers in the network d ...
*
TRILL
TRILL (Transparent Interconnection of Lots of Links) is a networking protocol for optimizing bandwidth and resilience in Ethernet networks, implemented by devices called TRILL switches. TRILL combines techniques from bridging and routing, and ...
enables per flow pair-wise load splitting without configuration and user intervention.
References
External links
Etutorials: Equal-Cost Multi-Path (ECMP) RoutingParis-Traceroute: traceroute for ECMP networksDublin-Traceroute: NAT-aware traceroute for ECMP networksTraffic Engineering With Equal-Cost-MultiPath: An Algorithmic Perspective
{{DEFAULTSORT:Equal-Cost Multi-Path routing
Routing algorithms