480 likes | 595 Views
DTN Routing CMPE 257 Philip P. Mathew. 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.
E N D
DTN Routing CMPE 257 Philip P. Mathew
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.
DTN examples • Mobile sensor networks for tracking wild life. • Inter planetary networks. • Military or Disaster recovery networks deployed in an area with limited coverage
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.
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.
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.
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)
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.
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.
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.
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.
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.
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.
PREP • Prioritized epidemic routing • Prioritize bundles based on • cost to destination • Cost from source • Expiry time • Generation time • Average availability of the nodes
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.
PREP - AA • AA measure the average amount of time in the near future the link would be available • Tais the time in the most recent past for which up/down information is available • Tmis a configured “max window” time. • Ti = min(Ta, Tm). • Tup be the total time within Ti that the link was “up”. • AAds = Tup/Ti
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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
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.
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.
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
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.
Protocol • Neighbor discovery • Information Exchange Phase. • Uses Routing Information base dictionary TLV. • Parameters for computing delivery predictability.
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.
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).
Security Considerations • Attack prevention solution. • Sending nodes sign all bundles.
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.
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).
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.
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.
References • Epidemic Routing for Partially-Connected Ad Hoc Networks AminVahdat and David Becker, Department of Computer Science Duke University • Prioritized Epidemic Routing for Opportunistic Networks Ram Ramanathan, Richard Hansen, PrithwishBasu,Regina Rosales-Hain,RajeshKrishnan • Spray and Wait: An Efficient Routing Scheme for Intermittently Connected Mobile Networks • Thrasyvoulos, Spyropoulos,KonstantinosPsounis, CauligiS. 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 ArunaBalasubramanian Brian Neil Levine ArunVenkataramani October 25, 2009