250 likes | 405 Views
Path Splicing with Network Slicing. Nick Feamster Murtaza Motiwala Santosh Vempala. Multipath: Promise and Problems. Bad: If any link fails on both paths, s is disconnected from t Want: End systems remain connected unless the underlying graph has a cut. s. t. t.
E N D
Path Splicing withNetwork Slicing Nick FeamsterMurtaza MotiwalaSantosh Vempala
Multipath: Promise and Problems • Bad: If any link fails on both paths, s is disconnected from t • Want:End systems remain connected unless the underlying graph has a cut s t
t Path Splicing: Main Idea Compute multiple forwarding trees per destination.Allow packets to switch slices midstream. • Step 1 (Perturbations): Run multiple instances of the routing protocol, each with slightly perturbed versions of the configuration • Step 2 (Parallelization): Allow traffic to switch between instances at any node in the protocol s
Contributions • Two mechanisms for increasing path diversity • Analytical and empirical analysis • only a few perturbations result in reliability that approaches that of the underlying graph • Protocol design • Preliminary deployment on VINI testbed
Talk Outline • Path Splicing • Mechanism #1: Perturbations • Mechanism #2: Network Slicing • Forwarding • Definitions of path diversity • Connectivity • Expansion • Our metric: reliability • Properties • High Reliability • Bounded Stretch • Evaluation and Implementation status • Extensions to splicing: BGP splicing
Perturbed Graph 1.5 4 1.5 5 s t 1.25 3.5 Mechanism #1: Perturbations • Goal: Each instance provides different paths • Mechanism: Each edge is given a weight that is a slightly perturbed version of the original weight • Two schemes: Uniform and degree-based “Base” Graph 3 3 s t 3
Perturbation Schemes • Uniform: Perturbation is a function of the initial weight of the link • Degree-based:Perturbation is a function of the degrees of the incident nodes • Intuition: Deflect traffic away from nodes where traffic might tend to pass through by default
a s t b dst next-hop c t a Slice 1 t c Slice 2 Mechanism #2: Network Slicing • Goal: Allow multiple instances to co-exist • Mechanism: Virtual forwarding tables
Forwarding Traffic with Path Splicing • Packet has shim header with forwarding bits • Routers use lg(k) bits to index forwarding tables • Shift bits after inspection • Incremental deployment is trivial • Persistent loops cannot occur • To access different (or multiple) paths, end systems simply change the forwarding bits
Forwarding Operation • End system sets forwarding bits in packet header • Forwarding bits specify slice to be used at any hop • Router: examines/shifts forwarding bits, and forwards s t • Another idea: use both paths in parallel
Definitions of Path Diversity • Connectivity: Minimum number of edges whose failure disconnects the graph (min cut) • Expansion: Intuitively, small cuts disconnect small groups of nodes from the graph
A Definition Motivated by Reliability • Reliability:the probability that, upon failing each edge with probability p, the graph remains connected • Reliability curve:the fraction of source-destination pairs that remain connected for various link failure probabilities p • The underlying graph has an underlying reliability (and reliability curve) • Goal: Reliability of routing system should approach that of the underlying graph.
Reliability Curve: Illustration Fraction of source-dest pairs disconnected Better reliability Probability of link failure (p) More edges available to end systems -> Better reliability
Property: High Reliability • GEANT (Real) and Sprint (Rocketfuel) topologies • 1,000 trials • p indicates probability edge was removed from base graph Reliability approaches optimal Average stretch is only 1.3 GEANT topology,degree-based perturbations
Property: Bounded Stretch • Stretch:How much longer is the path taken by packets over the “optimal” path? • Sub-concern: What about loops? • Stretch is bounded in one slice by amount of perturbation • …but what about the stretch of spliced paths? • As long as “significant progress” (a large fraction of the distance to d) is achieved for each hop, stretch is bounded • Finite number of splicing bits limits the number of times a packet can switch slices • Eventually, packet ends up in a single slice
Significant Novelty for Modest Stretch • Novelty: difference in nodes in a perturbed shortest path from the original shortest path Fraction of edges on short path shared with long path Example s d Novelty: 1 – (1/3) = 2/3
Other Properties • Scalable • Exponential increase in paths, linear increase in state • Fast recovery from underlying failures • Automatic tuning (e.g., for traffic engineering) • Perturbations achieve property of automatically spreading traffic across different links • Standard link-weight optimization is potentially brittle in the face of link failures • Incrementally deployable
Control Plane Daemon ForwardingTable Prototype Implementation • Click and Quagga on PL-VINI • http://www.vini-veritas.net/ Control Plane Daemon ForwardingTable Classifier
Required new functionality • Storing multiple entries per prefix • Indexing into them based on packet headers • Selecting the “best” k routes for each destination Variation: BGP Splicing • Observation: Many routers already learn multiple alternate routes to each destination. • Idea: Use the forwarding bits to index into these alternate routes at an AS’s ingress and egress routers. default d alternate Splice paths at ingress and egress routers
Inter-AS Loops • Problem: Potential for loops between ASes • AS-level loops can be longer than intra-AS loops • Two possible approaches • Detection: routers mark packets and determine that packets have traversed the same AS twice • Prevention: Exploit “common” routing policies to ensure that packets are only deflected along valley-free paths
Preventing Inter-AS Loops with Policy Observation: inter-AS loops inherently involve traversal that violates valley-free Constraints: 1. once a “down” deflection has occurred, do not deflect 2. only allow one “across” deflection Possible relaxation: allow a limited number of violations, specified by source
Questions • Can the end hosts react fast enough to recover from failures? • How does the end system find the alternate path? • How does splicing perform for other topologies? • Other ISP networks • Overlay networks • Interaction with traffic engineering?
Related Work • Pre-Computed Backup Paths • Multi-Topology Routing • Multiple Router Configuration • MPLS Fast Reroute • End-Node Controlled Traffic • Source routing • Routing deflections • Multipath routing (ECMP, MIRO, etc.) • IGP link-weight optimization • Measurement of path diversity and multihoming • Layer-3 VPNs
Possible Applications • Fast recovery from poorly performing paths • Fast data transfer with easy multi-path • Security applications • Overlay networks, CDNs, etc. • Spatial diversity in wireless networks
Summary • Simple: Routing bits provide access to different paths through the network • Scalable: Exponential increase in available paths, linear increase in state • Stable: Fast recovery does not require fast routing protocols • No modifications to existing routing protocols http://www.cc.gatech.edu/~feamster/papers/path-splicing.pdf