Using Network Virtualization Techniques for Scalable Routing
Nick Feamster, Georgia TechLixin Gao, UMass Amherst
Jennifer Rexford, Princeton University
2
Virtualization for Routing• Path Splicing (Georgia Tech)
– Run multiple instances of routing protocol– End system signals which instance to use at each hop– Exponential diversity gain, modest complexity
• Underlay Fused with Overlays (Princeton/GT)
– Support overlay functions in routers– Efficient forwarding and scalable monitoring
• HORN: Hybrid Routing for Overlay Networks (UMass Amherst)– Different nodes see different detailed subgraph– Availability of link state with good scalability
3
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 is disconnected
ts
4
Path Splicing: Main Idea
• Step 1: Run multiple instances of the routing protocol, each with slightly perturbed versions of the configuration
• Step 2: Allow traffic to switch between instances at any node in the protocol
ts
Compute multiple forwarding trees per destination.Allow packets to switch slices midstream.
Feamster, Motiwala, and Vempala, Path Splicing with Network Slicing
5
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
ts
3
3
3
“Base” Graph
ts
3.5
4
5 1.5
1.5
1.25
Perturbed Graph
6
Network Slicing
• Goal: Allow multiple instances to co-exist• Mechanism: Virtual forwarding tables
a
t
c
s b
t a
t c
Slice 1
Slice 2
dst next-hop
7
Path Splicing in Practice
• Packet has shim header with routing 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
9
Open Questions and Deployment
• Can end hosts react quickly enough to recover?– How does the end system find the alternate path?
• How does splicing perform for other topologies?
• Deployment Paths– VINI– Overlay– Wireless– Software Router (e.g., Quagga)
10
Splicing: Possible Applications
• Fast recovery from poorly performing paths• Convergence-free routing• Data transfer• Security: Consistency checking• Spatial diversity in wireless networks
11
Path Splicing: High Points
• Simple: Opaque 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
12
Underlay Fused with Overlays• Main idea: Layered routing architecture
– Supporting overlay functions on routers– Blur boundary between overlays and underlays
• Efficient forwarding– Overlay forwarding on line cards– Hosting the overlay control plane
• Scalable monitoring– Registration of overlay links– Notification of network events
Zhu, Rexford, Feamster, Bavier, UFO: A Resilient Layered Routing Architecture
13
Efficient Forwarding
• Problem: traffic must traverse bottleneck link both inbound and outbound
• Solution: reflection points in routers
Upstream ISP
14
Forwarding on Router Line Cards
15
Scalable Monitoring
• Notification preserves overlay link abstractions– Message: (overlay source, overlay destination, event)– Routers store state by explicit overlay registration
• Notification: events that affect performance of overlay applications– Physical failures of routers or links– Reachability failures: withdrawal, session failure– Network congestion
16
Notification of Network Events
1A 2 3
4
B
C
(A,B)(A,C)
(A,B)(A,C)
(A,B) (A,B)
(A,C)
(A,C)
• Register for unidirectional overlay links– A->B– B->C
17
• Link state routing– Not scalable – A virtual network could be as large as the Internet
• Distance vector routing– Convergence delay – Scales better
• Idea: A tunable routing protocol?– Trade scalability for better availability– Each slice runs a fixed protocol with tunable parameter
HORN: Scalability vs. Convergence
18
A knows a partial topology (adjacent sub-graph) via link state protocol, and learns routes from the border nodes of the sub-graph.
C-H
E-G-H
D-G-H
A-BA-B-CA-DA-D-E
A-B-C C-H+A-B-C-H
HORN:Hybrid rOuting for oveRlay Networks
19
Benefits and Challenges
• Benefits: Availability– Tailor to specific topology– Accommodate underlying network constraints – limiting scope of failure notification, geographical
proximity
• Challenges– Potential stretch on path– Expose mapping between overlay and underlay
20
Summary and Question• Network virtualization to “cheat” on scalability
tradeoffs– Path diversity vs. scalability
– Efficiency vs. scalability
– Convergence vs. scalability
• What are the common abstractions, functions, etc. that the substrate should provide?– Slicing
– Nesting
– “Knobs” for granularity control
– …?