Equal-cost multi-path routing
Encyclopedia
Equal-cost multi-path routing (ECMP) is a routing
strategy where next-hop packet forwarding to a single destination can occur over multiple "best paths" which tie for top place in routing metric calculations. Multipath routing can be used in conjunction with most routing protocols, since it is a per-hop decision that is limited to a single router. It potentially offers substantial increases in bandwidth by load-balancing traffic over multiple paths; however, there can be significant problems in its deployment in practice. RFC 2991 discusses multipath routing in general.
Load balancing by per-packet multipath routing is generally deprecated due to the impact of rapidly changing latency, packet reordering and maximum transmission unit
(MTU) differences within a network flow, which can disrupt the operation of many Internet protocols, most notably TCP
and path MTU discovery
. RFC 2992 analyses one particular multipath routing strategy involving the assignment of flow
s to bins by hashing flow-related data in the packet header, which is designed to avoid these problems by sending all packets from any particular network flow down a single deterministic path, while balancing multiple flows over multiple paths in general.
In many situations, ECMP may not offer any real advantage over best-path routing: for example, if the multiple best next-hop paths to a destination re-converge downstream into a single low-bandwidth path (a common scenario), it will merely add complexity to the traffic paths to that destination without improving available bandwidth. ECMP may also interact negatively with other routing algorithms where the physical topology of the system differs from the logical topology, for example in systems that employ VLANs at layer 2, or virtual circuit
-based architectures such as ATM
or MPLS
.
Routing
Routing is the process of selecting paths in a network along which to send network traffic. Routing is performed for many kinds of networks, including the telephone network , electronic data networks , and transportation networks...
strategy where next-hop packet forwarding to a single destination can occur over multiple "best paths" which tie for top place in routing metric calculations. Multipath routing can be used in conjunction with most routing protocols, since it is a per-hop decision that is limited to a single router. It potentially offers substantial increases in bandwidth by load-balancing traffic over multiple paths; however, there can be significant problems in its deployment in practice. RFC 2991 discusses multipath routing in general.
Load balancing by per-packet multipath routing is generally deprecated due to the impact of rapidly changing latency, packet reordering and maximum transmission unit
Maximum transmission unit
In computer networking, the maximum transmission unit of a communications protocol of a layer is the size of the largest protocol data unit that the layer can pass onwards. MTU parameters usually appear in association with a communications interface...
(MTU) differences within a network flow, which can disrupt the operation of many Internet protocols, most notably TCP
Transmission Control Protocol
The Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol , and therefore the entire suite is commonly referred to as TCP/IP...
and path MTU discovery
Path MTU discovery
Path MTU Discovery is a standardized technique in computer networking for determining the maximum transmission unit size on the network path between two Internet Protocol hosts, usually with the goal of avoiding IP fragmentation...
. RFC 2992 analyses one particular multipath routing strategy involving the assignment of flow
Network flow
In graph theory, a flow network is a directed graph where each edge has a capacity and each edge receives a flow. The amount of flow on an edge cannot exceed the capacity of the edge. Often in Operations Research, a directed graph is called a network, the vertices are called nodes and the edges are...
s to bins by hashing flow-related data in the packet header, which is designed to avoid these problems by sending all packets from any particular network flow down a single deterministic path, while balancing multiple flows over multiple paths in general.
In many situations, ECMP may not offer any real advantage over best-path routing: for example, if the multiple best next-hop paths to a destination re-converge downstream into a single low-bandwidth path (a common scenario), it will merely add complexity to the traffic paths to that destination without improving available bandwidth. ECMP may also interact negatively with other routing algorithms where the physical topology of the system differs from the logical topology, for example in systems that employ VLANs at layer 2, or virtual circuit
Virtual circuit
In telecommunications and computer networks, a virtual circuit , synonymous with virtual connection and virtual channel, is a connection oriented communication service that is delivered by means of packet mode communication...
-based architectures such as ATM
Asynchronous Transfer Mode
Asynchronous Transfer Mode is a standard switching technique designed to unify telecommunication and computer networks. It uses asynchronous time-division multiplexing, and it encodes data into small, fixed-sized cells. This differs from approaches such as the Internet Protocol or Ethernet that...
or MPLS
Mpls
MPLS or Mpls can refer to:* Minneapolis, Minnesota, United States* Multiprotocol Label Switching, a data-carrying mechanism in computer networking...
.
See also
- Multipath routingMultipath routingMultipath routing is the routing technique of using multiple alternative paths through a network, which can yield a variety of benefits such as fault tolerance, increased bandwidth, or improved security. The multiple paths computed might be overlapped, edge-disjointed or node-disjointed with each...
- Flow routing
- Source routingSource routingIn computer networking, source routing allows a sender of a packet to partially or completely specify the route the packet takes through the network...
- Channel bondingChannel bondingChannel bonding is a computer networking arrangement in which two or more network interfaces on a host computer are combined for redundancy or increased throughput....