SLIDE 1 Pathlet Routing
pbg@illinois.edu Igor Ganichev, Scott Shenker, and Ion Stoica {igor,shenker,istoica}@cs.berkeley.edu SIGCOMM 2009
SLIDE 2
Internet routing challenges
Scalability Multipath reliability path quality Policy
SLIDE 3 20 40 60 80 100 120 140 160 180 200
200 400 600 Number of loss burst Starting time (seconds)
Failure injected
Internet routing challenges
[ F. Wang, Z. M. Mao, J. Wang, L. Gao, R. Bush ’06]
Scalability Multipath reliability path quality Policy
SLIDE 4 Internet routing challenges
Lowest latency path Path the network picked for you Highest bandwidth path
Scalability Multipath reliability path quality Policy
SLIDE 5 Internet routing challenges
Scalability
Internet forwarding table size [Huston ’09]
Multipath reliability path quality Policy
SLIDE 6
Internet routing challenges
Scalability Multipath reliability path quality Policy
SLIDE 7
Internet routing challenges
Scalability Multipath reliability path quality Policy
SLIDE 8
Internet routing challenges
X
Scalability Multipath reliability path quality Policy
SLIDE 9
Pathlet routing
vnode virtual node pathlet fragment of a path: a sequence of vnodes Source routing over pathlets.
SLIDE 10
Pathlet routing
vnode virtual node pathlet fragment of a path: a sequence of vnodes Source routing over pathlets.
SLIDE 11
Pathlet routing
vnode virtual node pathlet fragment of a path: a sequence of vnodes Source routing over pathlets.
SLIDE 12
Pathlet routing
vnode virtual node pathlet fragment of a path: a sequence of vnodes Source routing over pathlets.
SLIDE 13 Pathlet routing
vnode virtual node pathlet fragment of a path: a sequence of vnodes Source routing over pathlets.
virtual graph: flexible way to define policy constraints
SLIDE 14 Pathlet routing
vnode virtual node pathlet fragment of a path: a sequence of vnodes Source routing over pathlets.
virtual graph: flexible way to define policy constraints provides many path choices for senders
SLIDE 15
Flexibility
SLIDE 16 Flexibility
routing, MIRO, LISP, NIRA
SLIDE 17 Flexibility
routing, MIRO, LISP, NIRA
provide multipath and small forwarding tables
SLIDE 18 Flexibility
routing, MIRO, LISP, NIRA
provide multipath and small forwarding tables
styles of routing policy
SLIDE 19 Flexibility
routing, MIRO, LISP, NIRA
provide multipath and small forwarding tables
styles of routing policy
SLIDE 20 Flexibility
routing, MIRO, LISP, NIRA
provide multipath and small forwarding tables
styles of routing policy
SLIDE 21 Design for variation
Design for variation in outcome, so that the outcome can be different in different places, and the tussle takes place within the design, not by distorting or violating it. Clark, Wroclawski, Sollins & Braden, 2002
“Tussle in Cyberspace”
“ ”
––
SLIDE 22 Outline
- The protocol
- Uses
- Experimental results
- Comparing routing protocols
SLIDE 23
Pathlet routing
vnode virtual node pathlet fragment of a path: a sequence of vnodes Source routing over pathlets.
SLIDE 24
vnodes
vnode: virtual node within an AS
SLIDE 25
vnodes
vnode: virtual node within an AS
SLIDE 26 vnodes
vnode: virtual node within an AS
Walla Walla New York San Diego Roosterville Crumstown
SLIDE 27
vnodes
vnode: virtual node within an AS
SLIDE 28
vnodes
vnode: virtual node within an AS
SLIDE 29
vnodes
vnode: virtual node within an AS
SLIDE 30
vnodes
vnode: virtual node within an AS
SLIDE 31
vnodes
vnode: virtual node within an AS designated ingress vnode for each neighbor
SLIDE 32
vnodes
vnode: virtual node within an AS designated ingress vnode for each neighbor
SLIDE 33
vnodes
vnode: virtual node within an AS designated ingress vnode for each neighbor
SLIDE 34 vnodes
vnode: virtual node within an AS designated ingress vnode for each neighbor Internally: a forwarding table at one or more routers
router router router
SLIDE 35
Pathlets
Forwarding table A B C D Packet route field
SLIDE 36
Pathlets
Forwarding table A B C D Packet route field
SLIDE 37 Pathlets
7 2
Forwarding table A B C D Packet route field
SLIDE 38 Pathlets
7 2
Forwarding table A B C D
... ... 2 fwd to D ... ... 7 fwd to C
Packet route field
SLIDE 39 Pathlets
7 2
Forwarding table
7,2
A B C D
... ... 2 fwd to D ... ... 7 fwd to C
Packet route field
SLIDE 40 Pathlets
7 2
Forwarding table
7,2 2
A B C D
... ... 2 fwd to D ... ... 7 fwd to C
Packet route field
SLIDE 41 Pathlets
7 2
Forwarding table
7,2 2
A B C D
... ... 2 fwd to D ... ... 7 fwd to C
Packet route field
SLIDE 42 Pathlets
7 2
delivered! Forwarding table
7,2 2
A B C D
... ... 2 fwd to D ... ... 7 fwd to C
Packet route field
SLIDE 43 Pathlets
7 2 3 ... ... 3 push 7,2; fwd to B
delivered! Forwarding table
7,2 2
A B C D
... ... 2 fwd to D ... ... 7 fwd to C
Packet route field
SLIDE 44 Pathlets
7 2 3 ... ... 3 push 7,2; fwd to B
delivered! Forwarding table
7,2 2
A B C D
... ... 2 fwd to D ... ... 7 fwd to C 3
Packet route field
SLIDE 45 Dissemination
- Global gossip fine, except for scalability
- So, let routers choose not to disseminate
some pathlets
- Leads to (ironic) use of path vector –– only
for pathlet dissemination, not route selection
SLIDE 46 Outline
- The protocol
- Uses
- Experimental results
- Comparing routing protocols
SLIDE 47
Local transit policies
Each ingress egress pair is either allowed or disallowed. Subject to this, any path allowed! Represented with few pathlets: small FIB
SLIDE 48 “All valley-free” is local
“customers can route to anyone; anyone can route to customers”
provider provider customer customer
SLIDE 49 ingress from a provider ingress from a customer
“All valley-free” is local
“customers can route to anyone; anyone can route to customers”
provider provider customer customer
SLIDE 50 ingress from a provider ingress from a customer
“All valley-free” is local
“customers can route to anyone; anyone can route to customers”
provider provider customer customer
SLIDE 51 ingress from a provider ingress from a customer
“All valley-free” is local
“customers can route to anyone; anyone can route to customers”
provider provider customer customer egress to a customer egress to a provider
SLIDE 52 ingress from a provider ingress from a customer
“All valley-free” is local
“customers can route to anyone; anyone can route to customers”
provider provider customer customer egress to a customer egress to a provider
SLIDE 53 ingress from a provider ingress from a customer
“All valley-free” is local
“customers can route to anyone; anyone can route to customers”
provider provider customer customer egress to a customer egress to a provider
SLIDE 54 ingress from a provider ingress from a customer
“All valley-free” is local
“customers can route to anyone; anyone can route to customers”
provider provider customer customer egress to a customer egress to a provider
SLIDE 55 ingress from a provider ingress from a customer
“All valley-free” is local
“customers can route to anyone; anyone can route to customers”
provider provider customer customer egress to a customer egress to a provider
SLIDE 56 ingress from a provider ingress from a customer
“All valley-free” is local
“customers can route to anyone; anyone can route to customers”
provider provider customer customer egress to a customer egress to a provider
Forwarding table size: 3 + #neighbors
SLIDE 57 Emulating BGP
128.2.0.0/16
SLIDE 58 Emulating BGP
128.2.0.0/16
SLIDE 59 Emulating BGP
128.2.0.0/16
SLIDE 60 Emulating BGP
128.2.0.0/16
SLIDE 61 Emulating BGP
128.2.0.0/16
SLIDE 62
Mixed policies
local BGP-like local local local
SLIDE 63 Outline
- The protocol
- Uses
- Experimental results
- Comparing routing protocols
SLIDE 64
Improved connectivity
BGP-style LT policies Mixed
SLIDE 65
Tiny forwarding tables
Forwarding table size CDF
SLIDE 66 Tiny forwarding tables
Forwarding table size CDF
BGP pathlet routing, valley-free LT policies current Internet (CAIDA/APNIC): 132,158+ entries:
2,264 entries, max 8.48 entries, mean
SLIDE 67
Control overhead
2.23x more messages, 1.61x more memory in LT than PV This can likely be improved.
SLIDE 68 Outline
- The protocol
- Uses
- Experimental results
- Comparing routing protocols
SLIDE 69
Comparing protocols
SLIDE 70 Comparing protocols
Feedback-based routing Strict source routing Pathlet routing NIRA Routing deflections, path splicing LISP BGP MIRO Loose source routing
SLIDE 71 Comparing protocols
Feedback-based routing Strict source routing Pathlet routing NIRA Routing deflections, path splicing LISP BGP MIRO Loose source routing
SLIDE 72 Conclusion
- Pathlet routing: source routing over a
virtual topology formed by pathlets and vnodes
- Highly flexible; supports both “local”
policies with small forwarding tables and many paths, and complex BGP policies
- Challenges for source routing: Incentives to
provide multiple paths; selecting paths; security; ...
SLIDE 73