compact routing in theory and practice
DESCRIPTION
Compact Routing in Theory and Practice. Lenore J. Cowen Tufts University. The Theory Problem. Consider the following distributed view of shortest path routing on an n node network:. e1. v. e2. u. e3. V e2. T(u). The Theory Problem. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/1.jpg)
Compact Routing in Theory and Practice
Lenore J. Cowen
Tufts University
![Page 2: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/2.jpg)
The Theory Problem
• Consider the following distributed view of shortest path routing on an n node network:
u v
e1
e2
e3
V e2
T(u)
![Page 3: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/3.jpg)
The Theory Problem
• Consider the following distributed view of shortest path routing on an n node network:
u
e1
e2
e3
V e2
vt
T(u)
T(t)
![Page 4: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/4.jpg)
The Theory Problem
• Consider the following distributed view of shortest path routing on an n node network:
u
e1
e2
e3
V e2
vt
T(u)
T(t)
Space:
O(n log n) bit tables
![Page 5: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/5.jpg)
The Compact Routing Problem
• Can we “compact” the local routing tables if we allow short rather than shortest paths?
u v
e1
e2
e3
V e2
h
T(u)F(h,v,T(u))=e
![Page 6: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/6.jpg)
Compact Routing Scheme
• The stretch of a path p(u,v) from u to v is | p(u,v)|/d(u,v) where d(u,v) is the length of the shortest path from u to v.
The stretch of a routing scheme is the maximum stretch of any path.
Want: small stretch and small table size.
![Page 7: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/7.jpg)
Reality
• This graph algorithms problem has little to do with this:
![Page 8: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/8.jpg)
Reality
• Each router advertises some of its known routes to (some of the) destinations in the network it knows about, to its neighbors.
• Routers prefer short routes; if a router thinks a route is undesirable, it will fail to pass it on, or depreciate it by artificially inflating its length.
• Complicated by peering relationships
• Tables and routes can be arbitrarily long; no stretch bounds
![Page 9: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/9.jpg)
The Geni Initiative
• Clean slate redesign: what should the new routing protocols accomplish?
- low stretch -diff. QoS
- scalable table size -mobile nodes
- traffic engineering -updatable
- policy
- security
![Page 10: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/10.jpg)
The Geni Initiative
• Clean slate redesign: what should the new routing protocols accomplish?
- low stretch -diff. QoS
- scalable table size -mobile nodes
- traffic engineering -updatable
- policy
- security
![Page 11: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/11.jpg)
Back to Compact Routing Theory
• Early work: Santoro-Khatib (85) [rings, trees], van Leeuwen-Tan (86) [complete networks, grids], Fredrickson-Janardan (88) [outerplanar graphs, small separators]
• Compact Routing on Trees
• Universal compact routing schemes
![Page 12: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/12.jpg)
Compact Routing on Trees
Interval routing:
1
2
3
45 6
87
9
10
11
12
![Page 13: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/13.jpg)
Compact Routing on Trees
Interval routing:
1
2
3
45 6
87
9
10
11
121-2 3-11
Stretch=1
Space=O(d log n)
Header= O(logn)
![Page 14: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/14.jpg)
Compact Routing on Trees
Space hack (C-00):
Big nodes > sqrt(n)
only remember big
children1
3
45 6
87
9
10
11
![Page 15: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/15.jpg)
Compact Routing on Trees
Space hack (C-01):
Big nodes > sqrt(n)
only remember big
children1
3
45 6
87
9
10
11
Packet header: destination;
Name of the last big node on
The path from the root to it edge from last big node
![Page 16: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/16.jpg)
The Compact Routing Problem
• Can we “compact” the local routing tables if we allow short rather than shortest paths?
u v
e1
e2
e3
V e2
h
T(u)F(h,v,T(u))=e
![Page 17: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/17.jpg)
Compact Routing on Trees
Space hack (C-01):
Big nodes > sqrt(n)
only remember big
children
1 3
45 6
87
9
10
11
Packet header: destination;
Name of the last big node on
The path from the root to it edge from last big node
Stretch=1
Space=O(sqrt n log n)
Header= O(logn)
![Page 18: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/18.jpg)
Compact Routing on Trees
• Fraignaud/Gavoille [01] and Thorup/Zwick [01]:
Stretch 1 Space O(log n) !!!! Header size O(log n)
2
![Page 19: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/19.jpg)
Compact Routing on Trees
Single source shortest path routing:
For each node, identify
Its heavy child; the one
with most descendents
![Page 20: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/20.jpg)
Compact Routing on Trees
Single source shortest path routing:
For each node, identify
Its heavy child; the one
with most descendents
Packet header
is the names of all
the light edges from
root to destination
along with their
parent names
![Page 21: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/21.jpg)
Compact Routing on Trees
Single source shortest path routing:
Packet header
is the names of all
the light edges from
root to destination
along with their
parent names
Can only be
O(log n) light edges
on any path!!!
![Page 22: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/22.jpg)
Compact Routing on Trees
This works to route down; need to know when to route up:
Add interval labeling
to know when to
go toward the root
![Page 23: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/23.jpg)
Universal Compact Routing Schemes
• Work on any graph:
-- ABLP-90, AP-92 early schemes -- EGP-98, stretch 5 -- C-00, stretch 3 -- TZ-01, stretch 3 (improved table size)
Gavoille and Gengler proved a lower bound of 3 on the stretch on any routing scheme with sublinear-sized routing tables.
![Page 24: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/24.jpg)
Universal Compact Routing Schemes
Define a node’s local neighborhood to be its closest sqrt n nodes.
From set cover: choose a set of sqrt n log n landmarks to hit every local neighborhood.
![Page 25: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/25.jpg)
Universal Compact Routing Schemes
Within a local neighborhood, store exact shortest path routing information
Outside store routing information to all landmarks; route through a destination’s closest landmark, and then use tree-routing from landmark to destination.
![Page 26: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/26.jpg)
Universal Compact Routing Schemes
Stretch bound follows from the triangle inequality:
Suppose d(u,v) >= d(L(v),v) Then d(u,L(v)) + d(L(v),v) <= d(u,v) + d(v,L(v)) + d(L(v),v) <= 3d(u,v)
u
v
L(v)
![Page 27: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/27.jpg)
Universal Compact Routing Schemes
The construction sketched above achieves stretch 3 with tables of average size O(sqrt n log^2 n) to store local information for each node’s closest sqrt n nodes, and routing
information for every landmark.
u
v
L(v)
![Page 28: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/28.jpg)
Universal Compact Routing Schemes
Remark: needs undirected
Graphs for triangle ineq bound
Roundtrip routing (C-Wagner-04 )
measure d(u,v)+d(v,u)
u
v
L(v)
![Page 29: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/29.jpg)
The Internet Graph
• The Internet graph is not an arbitrary graph; it is believed to have a power-law topology.
Faloutsos^3 -99
(but see also CCGJSW-02)
![Page 30: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/30.jpg)
The Internet Graph
![Page 31: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/31.jpg)
The Internet Graph
• Performance of universal schemes on both synthetic models of power-law topologies and “real” maps of the inter-AS graph is much better on average than worst-case guarantees!
![Page 32: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/32.jpg)
So: shouldn’t we be designing schemes for Internet graphs?
• Brady-C 06: Compact Routing with Additive Stretch on power-law graphs.
• Breaks graph into a dense core, of diameter d; the rest of the graph is called the fringe.
![Page 33: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/33.jpg)
BC Scheme
• Let e be the number of edges that need to be removed from the fringe to make it into a forest.
Theorem. For any unweighted, undirected network, there is a routing scheme that uses O(e log^2 n)-bit headers and routing tables, and has additive stretch d.
![Page 34: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/34.jpg)
BC Scheme
• Constructed using a shortest path tree to route in the core, and e spanning trees in the fringe, and a distance labeling to choose between them.
• Estimates on the Inter-AS graph would give a worst-case additive stretch of 10 (and average stretch much smaller).
![Page 35: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/35.jpg)
Internet Graph Simulations: Our Results
Definition. A power-law graph G=(V,E) is an unweighted, undirected graph whose degree distribution approximates a power-law, i.e it has
c vertices of degree 1
c/x vertices of degree x
![Page 36: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/36.jpg)
Internet Graph Simulations
Definition. A power-law graph G=(V,E) is an unweighted, undirected graph whose degree distribution approximates a power-law, i.e it has
c vertices of degree 1
c/x vertices of degree x
Note: how to generate them randomly is non-trivial; slight differences in the model
![Page 37: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/37.jpg)
Internet Graph Simulations: Our Results
![Page 38: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/38.jpg)
Internet Graph Simulations: Our Results
![Page 39: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/39.jpg)
Internet Graph Simulations Results
![Page 40: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/40.jpg)
Internet Graph Simulations: Our Results
![Page 41: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/41.jpg)
Real Internet Data
![Page 42: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/42.jpg)
![Page 43: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/43.jpg)
![Page 44: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/44.jpg)
The Geni Initiative
• Clean slate redesign: what should the new routing protocols accomplish?
- low stretch -diff. QoS
- scalable table size -mobile nodes-mobile nodes
- traffic engineering -updatable
- policy
- security
![Page 45: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/45.jpg)
So far: Compact Routing is Static
• Routing table setup is centralized
• Node names are topology dependent:
-- in interval routing and BC scheme depended on place in the tree
-- in Cowen or TZ schemes depended on nearest landmark
![Page 46: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/46.jpg)
So far: Compact Routing is Static
• Routing table setup is centralized• Node names are topology dependent: -- in interval routing and BC scheme
depended on place in the tree -- in Cowen or TZ schemes depended
on nearest landmark
Separate naming from packet forwarding layers!!!
![Page 47: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/47.jpg)
Name-Independent Compact Routing
• v is any unique identifier
• h is initially empty!
u v
e1
e2
e3
V e2
h
T(u)F(h,v,T(u))=e
![Page 48: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/48.jpg)
Name dependent routing
00 01 02 03
10 11 12 13
202221 23
3031 32 33
![Page 49: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/49.jpg)
Name independent routing
2 10 5 15
6 13 8 1
316 12 9
1411 4 7
![Page 50: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/50.jpg)
Name Independent Routing
• Discover information about network topology as you “wander around”
• Idea (Peleg): place a distributed dictionary on top that couples names to new topology-dependent names, and stores them in the packet header.
![Page 51: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/51.jpg)
Name independent routing
2 10 5 15
6 13 8 1
316 12 9
1411 4 7
9??
![Page 52: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/52.jpg)
Name independent routing
2 10 5 15
6 13 8 1
316 12 9
1411 4 7
9??
9 =23!
![Page 53: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/53.jpg)
Name dependent routing
00 01 02 03
10 11 12 13
202221 23
3031 32 33
9 =23!
![Page 54: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/54.jpg)
Name-Independent Universal Schemes
Table size (soft O)
Header size
Max stretch
ABLP-89 O(n^1/2) O(log n) 2592
AP-90 O(n^1/2) O(log^2 n) 1088
ACLRT-03 O(n^1/2) O(log^2 n) 5
ACLRT-03 O(n^2/3) O(log n) 5
AGMNT-04 O(n^1/2) O(log^2 n) 3
![Page 55: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/55.jpg)
Name-independent simulations
![Page 56: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/56.jpg)
But is it practical yet?
• No.
• Still have to deal with updating routing tables in response to changing network topology.
• Brady-Cowen protocol has some attractive features that make this easier than for the universal schemes (work in progress)
![Page 57: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/57.jpg)
The Genie Initiative
• Clean slate redesign: what should the new routing protocols accomplish?
- low stretch -diff. QoS
- scalable table size -mobile nodes
- traffic engineering -updatable
- policy
- security
![Page 58: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/58.jpg)
Back to theory
• A distance labeling is an assignment of short (polylog n)-bit strings to vertices so that given the labels of two vertices their exact (or approximate) distance can be inferred.
• Exact distance labeling schemes are known for graphs with small separators or separators with small diameter.
![Page 59: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/59.jpg)
Theory
• Not possible for planar graphs (Gavoille, Peleg, x)
• Theorem (Brady-C 06) Exact distance labeling yield additive stretch compact routing schemes.
• Other connections between spanners, distance labelings, compact routing??
![Page 60: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/60.jpg)
Theory: open problems
• Stretch 1 or additive stretch compact routing schemes for planar graphs: do they exist?
• More classes of exact additive spanners
• More special classes of graphs that have exact distance labeling schemes
![Page 61: Compact Routing in Theory and Practice](https://reader035.vdocuments.mx/reader035/viewer/2022062222/568150ba550346895dbed633/html5/thumbnails/61.jpg)
Collaborators
• Marta Arias … and thanks to
• Arthur Brady the National Science
• Kevin Fall Foundation for their
• Dima Krikourov support of this work.
• Kofi Laing
• Rajmohan Rajaraman
• Ori Taka