View
219
Download
0
Category
Preview:
Citation preview
1
Overlay Routing(Routing Underlay)
2September 29, 2003
Overlay Networks
3September 29, 2003
End System Multicast
A
B
C
D
R1 R250
5
5
5
5
A
B
C
D
R1 R2
4September 29, 2003
A
B
C
D
R1 R2
ESM (cont)
A
B
C
D
R1 R2
5September 29, 2003
objid
nodeids
02128 - 1
Distributed Hash Tables
6September 29, 2003
d46a1c
locate(d46a1c)
d462ba
d4213f
d13da3
65a1fc
d467c4d471f1
DHT (cont)
7September 29, 2003
d46a1cd462ba
d4213f
d13da3
65a1fc
d467c4d471f1
addnode(d46a1c)
DHT (cont)
8September 29, 2003
Resilient Overlay Networks
9September 29, 2003
RON (cont)
BGP inefficiencies Poor Metrics minimize AS hops
Long failover times measured in minutes
Manual Load Balancing configuration errors
Single Path under-utilize alternate paths
10September 29, 2003
RON (cont)
Fraction of paths measuredRat
io o
f def
ault
rout
e la
tenc
y to
best
alte
rnat
e-ro
ute
late
ncy
Improvement for roughly 40%25% shorter latency for 15%
11September 29, 2003
RON (cont)
Fraction of paths measured
Pac
ket L
oss
Rat
e DefaultAlternate
12September 29, 2003
Problem
Discovering efficient topology requiresexpensive/disturbing network probes
Single overlay network aggressive probing does not scale (RON)
Multiple overlay networks Redundant probing to discover the same topological
information
1GB-per-day of ping traffic on PlanetLab one ping-per-sec-per-node across 125 nodes
13September 29, 2003
Routing Underlay
Sits between overlays and the Internet
Exposes topological information already collected by the Internet (BGP tables)
caches active measurements
Enables cost-effective network probes primitives: interface to shared probes
layered architecture: hierarchical probes
14September 29, 2003
Hierarchical Probes
Service Overlay Networks
Library of Routing Services
Topology Probing Kernel
Raw Topology Information
Primitives
Use more expensive probes, but in limited scope
Probe efficiently using static data as a hint
Collect passive data / Cache expensive probes
Expense
Scope
15September 29, 2003
Primitives
GetGraph (resolution, scope) _ connectivity
GetPath (resolution, from, to) _ route
GetDistance (metric, from, to) _ distance
resolution = AS level, router level, .
scope = entire network, within an ISP, .
metric = AS hop, router hop, RTT .
16September 29, 2003
Primitives at AS Level
Resolution = AS Level GetGraph AS Peering Graph
GetPath AS Path
GetDistance AS hop count
Helpers GetPrefixMap IP to AS translation
17September 29, 2003
Peering Graph Completeness
18September 29, 2003
Degree Distribution
Edge AS (degree
19September 29, 2003
Degree Distribution
99.6599
99.3050
98.2020
96.1310
92.265
86.563
76.552
33.261
Cumulative Distribution (%)Degree (# of peers)
20September 29, 2003
Top 10 players
Verio, Inc.2914541
Level 3 Communications, LLC3356545
Global Crossing3549589
UUNET Technologies, Inc702589
Genuity1621
Cable & Wireless USA3561798
Qwest209890
AT&T WorldNet Services70181502
Sprint12391733
UUNET Technologies, Inc.7012554
OrganizationASNDegree
21September 29, 2003
Library of Routing Services
Service Overlay Networks
Library of Routing Services
Topology Probing Kernel
Raw Topology Information
Primitives
Expense
Scope
Cost Effective Probes
22September 29, 2003
Library of Routing Services
Strategy for efficient probes: Guess & Verify Guess candidate solutions using inexpensive probes
over a large scope
Verify them with more expensive probes in a
limited scope
Example Library Services(1) Nearest neighbors (DHT-based routing)
(2) Edge-disjoint paths (multi-path routing)
(3) Physically representative mesh (RON, ESM)
23September 29, 2003
Nearest Neighbors
NodeSet = NearestNodes(N,k)
N : a given set of nodesk : the number of neighborsNodeSet: a set of k nodes in N thatare closest to the local overlay node,in terms of latency.
24September 29, 2003
Nearest Neighbors (cont)Basic idea:
Use weak correlation between latency and AS hops
For a given local node u,
(1) Sort w s in N according to AS hop count(GetPath(u,w)) into a candidate sequence {ws}
(2) Invoke GetDistance(u,w,ping) on the first jnodes in {ws}, and select the best k nodes asnearest neighbors ( j>k )
25September 29, 2003
Nearest Neighbors (cont)
Among 81 Nodes (PlanetLab + traceroute servers)
26September 29, 2003
Disjoint PathsPathSet = DisjointPaths (u, v, N, k)
u, v : a given pair of overlay nodes
N : a set of intermediate nodes
k : the number of disjoint paths
u v
w N
A single-hop indirection (u, w, v) thatis edge-disjoint to (u, v) at the AS level
27September 29, 2003
Disjoint Paths (cont)
Examined 1235 paths between multi-homed ASes(from RouteViews ; 42 vantage points)
93.7% have at least one disjoint path
How often we find disjoint paths using a single hop indirection?
28September 29, 2003
Disjoint Paths (cont)
Among 1235 paths (42 nodes) from RouteView93.7% have at least one disjoint paths
29September 29, 2003
Disjoint Paths (cont)
(1) Guess w s likely to produce disjoint paths- GetPath(u,v) and GetGraph
(2) Verify path (u,w,v) is disjoint to path (u,v)
- GetPath(u,w) and GetPath(w,v)
Local node u is looking for alternate paths to v
u v
w?
30September 29, 2003
Disjoint Paths (cont)
Among 1235 paths (among 42 nodes) from RouteViews
Random QueryOur method90 percentile
31September 29, 2003
Disjoint Paths (cont)
Among 81 Nodes(PlanetLab + traceroute servers)
32September 29, 2003
Representative MeshMesh = BuildMesh(N)
N : a set of overlay nodesMesh : a graph that retains only independent edges in the underlying network
AS V
AS Y
AS W
AS X
AS U
w
u v
Virtual link (u,v) is redundant
w
u v{U
, X, W
} {W,Y,V}
AS Path={U,X,W,Y,V}
33September 29, 2003
Mesh (cont)
(1) Guess w s likely to conform to either topology- GetPath(u,v) and GetGraph
(2) Verify the topology- GetPath(u,w) and GetPath(w,v)
AS V
AS Y
AS W
AS X
AS U
u v
w
AS V
AS Y
AS W
AS X
AS U
u v
w
(A) (B)
Local node u checks virtual links to the other vs
34September 29, 2003
Mesh (cont)
Using A+B
Using A
Peering Graph from RouteViews+Planetlab
35September 29, 2003
BuildMesh on PlanetLabMesh with N=5 nodes (PU, Duke, ISI, UW, Abilene)
ISI
UW
Duke
Abilene
Princeton
36September 29, 2003
Todo
Modify RON, ESM, DHT to use underlay
Discriminate among nodes in transit ASes
Build sparser mesh(es) on top of AS-based mesh
Develop better cost/benefit model
Get more BGP feeds (or fake it)
Implement finer-grain resolutions
Implement an IPvN service
Recommended