Using Network Virtualization Techniques for Scalable Routing Nick Feamster, Georgia Tech Lixin Gao, UMass Amherst Jennifer Rexford, Princeton University.

Post on 27-Mar-2015

216 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

Transcript

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

– …?

top related