610 likes | 742 Views
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.
E N D
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 • Consider the following distributed view of shortest path routing on an n node network: t e1 v e2 u T(t) e3 V e2 T(u)
The Theory Problem • Consider the following distributed view of shortest path routing on an n node network: t e1 v e2 u T(t) e3 V e2 Space: O(n log n) bit tables T(u)
The Compact Routing Problem • Can we “compact” the local routing tables if we allow short rather than shortest paths? e1 v h e2 u e3 V e2 T(u) F(h,v,T(u))=e
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.
Reality • This graph algorithms problem has little to do with this:
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
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
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
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
Compact Routing on Trees Interval routing: 12 2 11 10 1 7 3 8 4 5 9 6
Compact Routing on Trees Interval routing: 12 1-2 3-11 2 11 Stretch=1 Space=O(d log n) Header= O(logn) 10 1 7 3 8 4 5 9 6
Compact Routing on Trees Space hack (C-00): Big nodes > sqrt(n) only remember big children 11 10 1 7 3 8 4 5 9 6
Compact Routing on Trees Packet header: destination; Name of the last big node on The path from the root to it edge from last big node Space hack (C-01): Big nodes > sqrt(n) only remember big children 11 10 1 7 3 8 4 5 9 6
The Compact Routing Problem • Can we “compact” the local routing tables if we allow short rather than shortest paths? e1 v h e2 u e3 V e2 T(u) F(h,v,T(u))=e
Compact Routing on Trees Packet header: destination; Name of the last big node on The path from the root to it edge from last big node Space hack (C-01): Big nodes > sqrt(n) only remember big children 11 Stretch=1 Space=O(sqrt n log n) Header= O(logn) 3 10 1 7 8 4 5 9 6
Compact Routing on Trees • Fraignaud/Gavoille [01] and Thorup/Zwick [01]: Stretch 1 Space O(log n) !!!! Header size O(log n) 2
Compact Routing on Trees Single source shortest path routing: For each node, identify Its heavy child; the one with most descendents
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 For each node, identify Its heavy child; the one with most descendents
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!!!
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
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.
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.
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.
Universal Compact Routing Schemes v 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) L(v) u
Universal Compact Routing Schemes v 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. L(v) u
Universal Compact Routing Schemes v Remark: needs undirected Graphs for triangle ineq bound Roundtrip routing (C-Wagner-04 ) measure d(u,v)+d(v,u) L(v) u
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)
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!
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.
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.
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).
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 g
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 g
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
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
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!!!
Name-Independent Compact Routing • v is any unique identifier • h is initially empty! e1 v h e2 u e3 V e2 T(u) F(h,v,T(u))=e
Name dependent routing 00 01 02 03 11 10 12 13 22 21 23 20 31 33 32 30
Name independent routing 15 10 2 5 13 8 1 6 16 12 9 3 11 4 7 14
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.