Version 21 (modified by 13 years ago) ( diff ) | ,
---|
Lets get rid of HIERARCHY ... Make way for DHT networks !!!
Distributed Compact Routing
- Routes over arbitrary names rather than location-dependent addresses (hierarchy independent)
- Disco: Distributed Compact Routing
- Flexible mobility
- Flexible multi-homing
- Easier management
Why Disco |
For general networks, the common scaling technique is hierarchy: routing is performed over high-level aggregate units until it reaches the destination's unit, at which point routing proceeds at a finer granularity. For example, the Internet routes at the level of IP prefixes to a destination domain, and then over an intra-domain routing protocol to a subnet.
Problem with Hierarchy
- First, it can have arbitrarily high stretch, defined as the ratio of route length to the shortest path length. Simultaneously guaranteeing scalability and low stretch on arbitrary networks is a nontrivial problem which no deployed routing protocols achieve.
- Location dependent addressing complicating mobility, management and multi-homing
SOLUTION
- Scalable, low stretch routing on flat names
Requirements
- Guaranteed Scalability
- Guaranteed Low Stretch
- Flat Names
Components of Disco
(i) Name Dependent Distributed Compact Routing Protocol : NDDisco
(ii)Distributed Name Resolution Module
(iii) Distributed Location Database to achieve name independence \
Component 01 : Name Dependent Distributed Compact Routing Protocol (NDDisco)
Name Dependent : Assume the source knows the destination's current address, as opposed to just its name. NDDisco is based on a centralized algorithm.
Components of NDDisco
- LANDMARKS
- VICINITY
- ADDRESSING
- ROUTING
- SHORT CUTTING HEURISTICS
01.LANDMARKS
- A landmark is a node to which all nodes know shortest paths. Landmarks will allow us to construct end-to-end routes of the form s --> 'l' --> t.
- Landmarsk give us source an approximate way to locate destination 't'.
- Landmarks are selected uniform-randomly by having each node decide locally and independently whether to become a landmark.
- Speci cally, each node picks a random number p uniform in [0; 1], and decides to become a landmark if p <sqrt(log n)=n.
- Thus, the expected number of landmarks is (n*sqrt((log n)/n))= sqrt(n log n) and by a Chernoff bound, there will be theta(nlog n)(w.h.p)
- Node v flips its landmark status only if n has changed by atleast a factor of 2 since the last flip.
if s and t are close , this will lead to poor approximation
02.VICINITY
- Each node 'v' learns shortest path to every node in its vicinity V(v).
- theta(sqrt(nlogn)) nodes closest to 'v'
These sizes ensure that each node has a landmark within its vicinity w.h.p., which is necessary for the stretch guarantee
Distributed database which maps node names to their addresses
The database requires the key properties that
- any necessary query can be accomplished with low stretch,
- the O~(n) per-node state bound is not violated, and
- maintaining the state in the face of network dynamics requires little messaging
Adopt the idea of color-grouping of nodes from , but with sloppy grouping and routing schemes which are more amenable to a distributed setting. Design a random overlay network organized around these groups which can efficiently distribute flat-name routing state
To build state |
- Pick random neighbors in G(t) to build overlay
- Gossip in overlay to send address to n1/2 nodes
To route from s to t |
- Check V(s). If t isn’t there, then...
- w = node in both V(t) and G(t)
- Route to w and from there to t via NDDisco: provable stretch ≤ 7
- Subsequent packets follow NDDisco: stretch ≤ 3