Equal-cost multi-path routing
From Wikipedia, the free 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 mulipath routing in general.
Load balancing by per-packet multipath routing is generally deprecated due to the impact of rapidly changing latency, packet reordering and 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 flows 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 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.
[edit] See also
- Multipath routing
- Flow routing
- Source routing
- Channel bonding