DTN Routing CMPE 257 Philip P. Mathew 11/6/2015 DTN • Delay and Disruption Tolerant Networks. • Contact between nodes within the network may not be available.
Download ReportTranscript DTN Routing CMPE 257 Philip P. Mathew 11/6/2015 DTN • Delay and Disruption Tolerant Networks. • Contact between nodes within the network may not be available.
DTN Routing CMPE 257 Philip P. Mathew 11/6/2015 1 DTN • Delay and Disruption Tolerant Networks. • Contact between nodes within the network may not be available for long durations. • Long duration link failures. • End to end paths may not be available always. 11/6/2015 2 DTN examples • Mobile sensor networks for tracking wild life. • Inter planetary networks. • Military or Disaster recovery networks deployed in an area with limited coverage 11/6/2015 3 Routing Objectives • Maximize the probability of message delivery • Minimum use of storage resources • Maximum energy efficiency. • Minimize hop count and reduce the message delivery latency. 11/6/2015 4 Routing Challenges • No end-to-end path. – Traditional MANET Ad-hoc routing protocols like AODV and DSR would fail. • Prolonged link failures. • Forced discarding of data when buffers are exhausted. • Routing Loops. • Frequent topology changes due to the mobility of the nodes. 11/6/2015 5 DTN Routing • Store and forward method for routing. – Nodes maintain buffers for message storing. • Queues are maintained for message management. • ACKS are piggybacked on messages. 11/6/2015 6 DTN Routing Classifications • Protocols that Replicate Packets – Epidemic – Spray & Wait – Prophet – Rapid • Protocols that Forward single copy of Packets – Simple Graph – Moby space – Oracle based (Jane et al) 11/6/2015 7 Epidemic Routing • Random pair wise exchange of message between mobile ad-hoc nodes. • Each node maintains a buffer for messages originating from the host. • Each node maintains buffer for messages stored on behalf of other nodes. 11/6/2015 8 Epidemic Routing – Msg Id • Messages are identified by a unique identifier. • Message id is 32 bit, 16 bit host identifier and 16 bit message identifier. • A hash table indexes this list of messages, using the message identifier as the key. • Summary vector bitmap maintained by hosts, indicates the entries filled in the hash table. 11/6/2015 9 Epidemic –Msg Exchange • Hosts exchange summary vector. – Based on summary vector, hosts requests copies of messages that it has not seen. • Hosts have complete autonomy in accepting a message. • Hosts reject messages, – if the message size is larger than a specific size. – if the messages are destined to a specific host. 11/6/2015 10 Epidemic Routing – Msgs • Messages are associated with hop count. • Hop count is similar to IP TTL field • ACK field requests an acknowledgement for a message received. • ACK’s are piggybacked on messages. 11/6/2015 11 Epidemic Routing – Msg Buffer • Message buffer size at a node is limited. • Buffer is implemented as a FIFO • Differentiated QOS for distributing the buffer space efficiently among hosts. 11/6/2015 12 Epidemic – performance* 11/6/2015 13 Epidemic – Performance* 11/6/2015 14 Epidemic - conclusion • A higher delivery rate require larger memory resources. • A method for identifying dead messages and purge them saves resources. • Employing a good QOS mechanism to allocate priority queuing improve performance. 11/6/2015 15 PREP • Prioritized epidemic routing • Prioritize bundles based on – cost to destination – Cost from source – Expiry time – Generation time – Average availability of the nodes 11/6/2015 16 PREP - Continue • Average availability of the nodes is epidemically distributed to other nodes. • Two modular independent components – A topology awareness scheme that enable the routing cost from a source to destination. – Average Availability metrics (AA) associated with each link. 11/6/2015 17 PREP - AA • AA measure the average amount of time in the near future the link would be available – T is the time in the most recent past for which up/down information is available – T is a configured “max window” time. – T = min(T , T ). – T be the total time within T that the link was “up”. a m i a m up i – AAds = Tup/Ti 11/6/2015 18 PREP-LSA • Link State Advertisement messages advertises links and AA of links. • Each LSA is associated with incremental version number. • LSA is disseminated using epidemic routing. • Whenever there is a change in AA above or below a threshold an LSA is generated. 11/6/2015 19 Bundle drop policy • A bundle is a data unit or data and meta data of a session. • Each bundle is associated with a drop priority. • Drop priority is based on – the cost of lowest cost path from Src to Dest • High drop priority is given to bundles that have the high cost from Src to Dest. • When buffers are full, bundles with higher drop priority are dropped first. 11/6/2015 20 Bundles transmission Priority • Transmission priority Pt, is based on two factors. – The peer to which the transmission is to be done has a smaller cost to destination, smaller cost higher priority. – Time to expire field of the bundle, low value of TTL, high priority. • Bundles with low value of Pt (high priority), gets transmitted first. 11/6/2015 21 PREP - performance • Delivery rate – 20% better than Epidemic. – 54 % better than AODV. • Delivery rate independent of the transmission range. • Low storage parameter – Delivery rate of epidemic falls linearly – PREP remains almost flat. 11/6/2015 22 Spray & Wait • Sprays message copies until enough copies are sprayed with guarantee for delivery. • When enough copies have been sprayed, the nodes change to direct transmission. • Two phases – Spray phase, L copies of the message are spread initially. – Wait phase, if destination is not found during the spraying phase, each node carrying a copy of the message, does direct transmission. 11/6/2015 23 Spray & Wait • Spray & Wait performs fewer transmission that Epidemic. • Contention is low under high traffic loads. • Optimal delivery delay. • Highly scalable despite changes in network size. 11/6/2015 24 Binary Spray and Wait • Copies n/2 copies out of the n messages (n > 1) to the next node encountered (which don’t have any copies of n). • If n == 1, node does direct transmission 11/6/2015 25 Spray and Wait Protocol • Choosing L to achieve the expected delay. – The minimum number of copies Lmin, needed for Spray and Wait to achieve an expected delay at most aEDopt is independent of the size of the network N and transmission range K, and only depends on a and the number of nodes M to destination. – Estimating L when network parameters are unknown. 11/6/2015 26 Spray and Wait performance • Spray & Wait overcome the short comings of Epidemic and flooding based schemes. • Spray & Wait outperforms other schemes in terms of delivery delay and completed transactions. • Highly scalable as the network connectivity level increases. 11/6/2015 27 Prophet Routing • Probabilistic DTN Routing Protocol – History of encounters – Transitivity algorithm for communication. • Alternative to epidemic routing – Lower buffer space and bandwidth demand – Equal or better performance when the above resources are limited. 11/6/2015 28 Delivery Predictability Vector • PROPHET uses a probability vector for message exchange. • Delivery predictability is established at every node , for each known destinations of the node. • 0 <= P(A, B) < = 1, indicates the probability for node A message exchange to node B. • Vector contain Delivery Predictability information. • Two prophet nodes exchange summary vectors. 11/6/2015 29 Summary Vector • Summary vectors contain the identifiers for the bundles each node carries • Delivery Predictability information for the destinations known by the node. • Internal Delivery Predictability vector is updated 11/6/2015 30 Computation of Delivery Predictability • Delivery Predictability zero for nodes that don’t have any delivery predictability stored. • Nodes often encountered have a high delivery predictability. – P(A,B) = P(A,B)_old + ( 1 - P_(A,B)_old ) * P_encounter, P_encounter >= 0 and <=1. • Delivery predictability values age, if the nodes do not encounter for a long time. P_(A,B) = P_(A,B)_old * gamma^K Gamma is the aging constant K is the numer of time units elapased after the last time the matrix was aged. 11/6/2015 31 Delivery Predictability • Delivery predictability is transitive. – P_(A,C) = P_(A,C)_old + ( 1 - P_(A,C)_old ) * P_(A,B) * P_(B,C) * beta. Where beta is a scaling constant for transitivity, beta >=0 and beta <= 1. 11/6/2015 32 Optimizations • A list of NUM_P delivery predictabilities are kept for every node. – When a new delivery predictability is computed the oldest one is discarded. – The average of NUM_P delivery predictabilities – The newest value of delivery predictability is used for computations. – Average is used for forwarding decisions 11/6/2015 33 Optimizations • Exponential Weighted Moving Average of the delivery predictability is used for forwarding decisions. • Forwarding strategies and queueing decisions depending on the special conditions of the nodes. • For neighbor discovery and maintenance PROPHET uses lower layers neighbor discovery protocol. 11/6/2015 34 Protocol • Neighbor discovery • Information Exchange Phase. – Uses Routing Information base dictionary TLV. • Parameters for computing delivery predictability. Parameter Recommended Value P_encounter .75 beta .25 gamma .99 11/6/2015 35 Protocol • • • • • Nodes receive Bundle offer TLV. Nodes send Bundle offer TLV Nodes request Bundle request TLV. Pass custody of a bundle to another node. PROPHET ACK’s. 11/6/2015 36 Queuing Policies • Evict First In First Out (FIFO). • Evict Most Forwarded First (MOFO). • Evict Most Favorably Forwarded First (MOPR). – Keep a variable FAV for each bundle in the queue, initialized to zero. Each time the bundle is forwarded, update FAV. – FAV_new = FAV_old + P (Predictability Metric) • Evict Shortest Life Time First (SHLI). • Evict Least Probable First (LEPR) (Low delivery probability). 11/6/2015 37 Security Considerations • Attack prevention solution. – Sending nodes sign all bundles. 11/6/2015 38 RAPID • Resource Allocation Protocol for Intentional DTN problem. • Allocates resources to packets to optimize an adminstrator specified routing metric. • Bandwidth is allocated to a set of packets. • Oppurtunistic replication of packets. 11/6/2015 39 RAPID • Tracks network resources through a control plane. • Uses an in-band channel for exchanging network information among nodes. • Uses a fraction of the bandwidth for exchanging network info. • RAPID computes the effect of replication on the routing while accounting for resource constraints (Intentional routing). 11/6/2015 40 RAPID – structural comparison Method Routing Type Storage Bandwidth Epidemic Replication Unlimited Unlimited Spray & Wait Replication Unlimited Unlimited Prophet Replication Finite Unlimited Jain et al Forwarding Finite Finite RAPID Replication Finite Finite Modified Dijikstra Forwarding Unlimited Unlimited 11/6/2015 41 RAPID - design • Computes a per packet Utility function to optimize a particular routing metrics. • Replicate packets that results in high per packet utility function. • The bandwidth is taken into account. • Parameters – Di – Packet i, expected delay – Ti - Time since creation of i • Ti + Ai – ai - Random variable that determine the remaining time to deliver. – Ai – Expected remaining time E(ai). – Mxz – Intermeeting time between nodes x and z. 11/6/2015 42 RAPID - Protocol • rapid(X, Y ): • Step 1. Initialization: – Obtain metadata from Y about packets in its buffer as well as metadata it collected over past meetings (detailed in Section • Step 2. Direct delivery: – Deliver packets destined to Y in decreasing order of creation times. • Step 3. Replication: – For each packet i in node X’s buffer. • (a) If i is already in Y ’s buffer (as determined from the metadata), ignore i. • (b) Estimate marginal utility, Ui/si, of replicating i to Y . • (c) Replicate packets in decreasing order of marginal utility. • Step 4. Termination: – End transfer when out of radio range or all packets replicated. 11/6/2015 43 RAPID - Performance 11/6/2015 44 RAPID - Performance 11/6/2015 45 RAPID - Performance 11/6/2015 46 RAPID performance 11/6/2015 47 References • Epidemic Routing for Partially-Connected Ad Hoc Networks Amin Vahdat and David Becker, Department of Computer Science Duke University • Prioritized Epidemic Routing for Opportunistic Networks Ram Ramanathan, Richard Hansen, Prithwish Basu,Regina Rosales-Hain,Rajesh Krishnan • • Spray and Wait: An Efficient Routing Scheme for Intermittently Connected Mobile Networks Thrasyvoulos, Spyropoulos,Konstantinos Psounis, Cauligi S. Raghavendra • Probabilistic Routing Protocol for Intermittently Connected Networks draft-irtf-dtnrg-prophet-06, A. Lindgren,A. Doria July 12, 2010 • DTN Routing as a Resource Allocation Problem Aruna Balasubramanian Brian Neil Levine Arun Venkataramani October 25, 2009 11/6/2015 48