Path Splicing with Network Slicing Nick Feamster Murtaza Motiwala Santosh Vempala Multipath: Promise and Problems s t • 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 3 Path Splicing: Main Idea Compute multiple forwarding trees per destination. Allow packets to switch slices midstream. s t • 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 4 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 5 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 6 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 Perturbed Graph 3 s 3 1.5 t 3 s 5 1.25 4 1.5 t 3.5 7 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 8 Mechanism #2: Network Slicing • Goal: Allow multiple instances to co-exist • Mechanism: Virtual forwarding tables a s dst b t next-hop Slice 1 t a Slice 2 t c c 9 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 10 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 11 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 12 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 sourcedestination 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. 13 Reliability Curve: Illustration Fraction of source-dest pairs disconnected Better reliability Probability of link failure (p) More edges available to end systems -> Better reliability 14 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 15 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 16 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 17 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 18 Prototype Implementation • Click and Quagga on PL-VINI – http://www.vini-veritas.net/ Control Plane Forwarding Table Daemon Control Plane Forwarding Table Daemon Classifier 19 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 Required new functionality • Storing multiple entries per prefix • Indexing into them based on packet headers • Selecting the “best” k routes for each destination 20 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 valleyfree paths 21 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 22 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? 24 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 25 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 26 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 27