splicing

advertisement
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
Download