Ekta: An Efficient DHT Substrate for Distributed Applications in Mobile Ad Hoc Networks Himabindu Pucha, Saumitra Das, Y. Charlie Hu Distributed Systems and Networking Lab, School of ECE, Purdue University 1
Mobile ad hoc networks (MANETs) � Wireless networks in which wireless hosts act as forwarding nodes as well as end systems � No base station or routing infrastructure � Network topology changes frequently and unpredictably � Challenge lies in routing packets with changing topology while minimizing overhead � Specialized routing protocols: DSR, AODV 2
Structured peer-to-peer routing protocols in the Internet � Operate in an overlay p2p network in which nodes act as clients as well as servers � Rely on underlying Internet infrastructure to route packets between overlay hops � Implement a DHT in a scalable, robust manner � Challenge lies in routing packets in a network with changing membership while limiting state at each node � Specialized protocols: Pastry, Tapestry, Chord, CAN 3
Motivation � DHTs provide a useful platform for building scalable and robust distributed applications in the Internet � DHTs can potentially provide an efficient way to construct distributed applications and services in MANETs � Applications such as file sharing, resource discovery could benefit from the insert/lookup convergence � Main Challenge � Provide an efficient DHT abstraction in a MANET and demonstrate its usability 4
Outline � How to support an efficient DHT abstraction in an ad hoc environment? � Can off-the-shelf protocols be used? � If not, what is an efficient architecture to provide the DHT abstraction? � How should the DHT abstraction be used in an ad hoc environment ? � Can a MANET application benefit from the DHT? 5
Implementing DHT: Layered Approach � Layer Pastry (structured p2p protocol) on top of DSR (MANET routing protocol) � Pastry operates in the application layer similar to the Internet � DSR used as underlying routing protocol 6
Pastry : Features � Nodes have unique Id, messages have keys � Typically 128 bits long � Primitive: Route(msg, key) � Delivers msg to the currently alive node whose Id is numerically closest to key � Scalable, efficient � Per node routing table contains O(log(N)) entries � Routes in O(log(N)) steps � Fault tolerant � Self-fixes routing tables when nodes are added, deleted or fail 7
Pastry : Routing table (# 65a1fc x ) 0 1 2 3 4 5 7 8 9 a b c d e f Row 0 x x x x x x x x x x x x x x x 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 0 1 2 3 4 6 7 8 9 a b c d e f Row 1 x x x x x x x x x x x x x x x 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 0 1 2 3 4 5 6 7 8 9 b c d e f Row 2 x x x x x x x x x x x x x x x 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 Row 3 a a a a a a a a a a a a a a a 0 2 3 4 5 6 7 8 9 a b c d e f log 16 N x x x x x x x x x x x x x x x rows 8
Pastry: Routing Example d467c4 d471f1 d467c4 Proximity space d462ba d46a1c d4213f Route(d46a1c) d13da3 d4213f 65a1fc 65a1f c d462ba d13da3 NodeId space 9
DSR � Reactive routing protocol based on source routing � Operation: route discovery and maintenance � Route caching: path and link cache RREQ [S] [S,A] [S,A,B] [S,A,B,C] [S,A,B,C,D] S A B C D RREP 10
Layered approach � Direct layering is not practical � Pastry uses ‘ping’ to measure delay for proximity � Proximity of Pastry routing tables uses hop count instead of delay from ‘ping’ � DSR exports API to answer proximity probes from Pastry using its route cache � Expanding ring search for bootstrap node 11
Simulation setup � Pastry implemented in ns-2 on top of DSR � Parameters: 50 nodes, 1500mx300m, 2Mbps, 250m, 1- 19m/s � Traffic: 40 sources, 3 pkts/sec, random keys generated � Metrics � Packet delivery ratio (PDR): ratio of successfully and correctly delivered packets to packets sent � Overhead � Delay 12
Layered approach performance 13
Problems with layered approach � High overhead � Periodic maintenance, proximity probing � Choice of next logical hop independent of DSR � Stale proximity information with Pastry � Mismatch between routing state of Pastry and DSR 14
Implementing DHT: Integrated Approach � Integrates Pastry and DSR � A unified DHT substrate at the network layer � Referred to as Ekta (unity) 15
Ekta: Routing Source Route 3 3345544 3 2551441 2 b - 1 3 1203345 Routing Table(10233102) 0 2212102 2 2301203 3 1203203 1 1 301233 1 2 230203 1 3 021022 10 0 31203 10 1 32102 10 3 23302 102 0 0230 102 1 1302 102 2 2302 128 / b 1023 0 322 1023 1 000 1023 2 121 10233 0 01 10233 2 32 102331 2 0 LeafSet 16 10233021 10233033 10233120 10233122
Ekta: Join and leave � Join � Flood “JOIN REQUEST” � Potential leafset members send “JOIN ACK” � Node closest sends “JOIN COMPLETE” � Graceful leave � Flood “LEAVE” � Leafset members send “LEAVE ACK” � Exchange leafsets � Node failure � Reactive failure handling � Node sends “proxy leave” 17
Ekta: Optimizations � Prefix based route requests � Routes updated using snooping and overhearing 18
PDR 19
Overhead 20
Delay 21
Summary � Integrated approach is an efficient architecture for implementing a DHT in MANETs � Ekta is superior � No proximity probing and periodic maintenance � Better coordination between routes available in routing table and choice of logical hops � Prefix route requests � Fresher proximity information from snooping and overhearing 22
Can a MANET application benefit from the DHT? Resource discovery using Ekta 23
Problem � Nodes in a MANET possess heterogeneous capabilities and resources � Cooperative resource sharing is useful in MANETs � Requires resource discovery � Two schemes � Ekta-RD � DSR-RD 24
Ekta-RD vs. DSR-RD � Simulations in ns-2 of both protocols � Number of unique resources = number of nodes � Each resource replicated on average on 10% of nodes � Traffic: Poisson arrival of resource requests at each node, each request chooses random resource, varying λ � Metrics � Success ratio: resource requests successfully satisfied � Overhead: control overhead for routing 25
Overhead analysis N = network size � λ = average num of resource requests/node � q = average degree of replication of any resource � P = average hops between 2 nodes � Pb = probability a route is not cached or cached but stale � � Overhead (DSR-RD) = λ . N 2 + λ . q. N 2 . P Independent of mobility � Grows as O(N 2 ) � Decreases with increasing λ � � Overhead (Ekta-RD) = N ( λ . log 2b N . P + λ . P ) + N 2 . Pb . λ (log 2b N +1) Increases with mobility � b N ) Grows as O(N . log 2 � Decreases with increasing λ � 26
Overhead: Varying λ 27
Success ratio: Varying λ 28
Overhead: Varying N 1/ λ = 5 seconds 29
Success ratio: Varying N 1/ λ = 5 seconds 30
Conclusions � Integrated approach is an efficient architecture for implementing a DHT in MANETs � MANET applications can benefit from DHTs as demonstrated by the resource discovery application � Ekta can potentially be used as an efficient substrate for other applications 31
Q & A 32
Recommend
More recommend