Communications networks should be reliable and robust to failures and changes in network conditions. Unfortunately, designing the Internet to be "always on" in the face of fiber cuts, power outages, blackouts, equipment failure, and operator error remains elusive. Routing protocols that exploit multiple paths between each source and destination can improve availability and better exploit the network's underlying capacity, but designing multipath protocols that both scale well and provide fast recovery from a large number of failure scenarios is challenging. This talk presents the design and evaluation of path splicing, a primitive that composes route computations from existing routing protocols to achieve an exponential improvement in path diversity for only a linear increase in routing complexity (in terms of routing table state, messages, etc.) and provides lightweight mechanisms to allow end hosts to "deflect" traffic around faulty network elements. We also discuss potential deployment scenarios for path splicing in backbone network and overlay network contexts and its potential both for allowing hosts to make the best use of network capacity and to get us closer to the ultimate goal of an Internet that is always on.
This is joint work with Murtaza Motiwala and Santosh Vempala.