摘要

High reliability is always pursued by network designers, operators and users. Multipath routing can provide multiple paths for transmission and failover, and is considered to be effective in the improvement of network reliability. Existing multipath routing algorithms are tailored to find as many paths as possible and to guarantee loop freeness, with their computation or communication overhead often overlooked. For example, a router either constructs multiple shortest path trees, or exchanges information with its neighbors for every destination, witnessing a particularly high cost when connecting with a large number of neighbors. Moreover, these algorithms typically perform a recomputation from scratch whenever the network state changes, leading to further resource scarcity. We propose an algorithm, DMPA (dynamic multipath algorithm), for a router in a link-state network to compute multiple next-hops for each destination. The algorithm constructs one single shortest path tree based on ordinary network link states, and dynamically adjusts it in response to network state changes, so the sets of next hops can be efficiently computed and incrementally updated. At the same time, DMPA guarantees loop-freeness of the induced routing path by implicitly maintaining a partial order of the routers underpinning it. And also, we present a further extension of DMPA (DMPA-e) by incorporating hop count, a topology dependent metric. We evaluate the proposed algorithms and compare them with several latest multipath algorithms, using some real and inferred ISP topologies, and also a set of synthetic topologies. Our results show that our proposed algorithms can provide good reliability and fast recovery for the network with very low overhead.