11 Delay-Tolerant Networks: Design Principles
More
Depth: Practitioner
Progress saves as you read. Mark sections complete as you go; your progress appears in the sidebar.
11.1 Start With the Decision
This section: Start With the Decision — The ranger’s boat may carry stored records to a base station hours later.
The ranger’s boat may carry stored records to a base station hours later. Write the delivery promise before choosing a route.
11.2 Route Overview
This section: Route Overview — This is part 1 of 2.
This is part 1 of 2. Continue with Delay-Tolerant Networks: Disconnected Operations.
11.3 Part Objectives
This section: Part Objectives
- Test disconnection comes first with a concrete scenario and pass criteria.
- Validate dtn is not just slow networking with a concrete scenario and pass criteria.
11.4 Start Simple
This section: Start Simple — Picture a ranger collecting river readings where no end-to-end radio path exists.
Design for the Gap as Normal Service
Picture a ranger collecting river readings where no end-to-end radio path exists. A payload is the useful content inside a message. Latency means the time from making that message to the result that matters.
The ranger’s boat may carry stored records to a base station hours later. Write the delivery promise before choosing a route. Name the source, message identity, creation time, expiry, size, storage owner, possible carrier, contact window, priority, receiver, and late-use rule.
Test a missed meeting, a full store, low power, a damaged record, a duplicate hand-off, the wrong clock, a carrier that returns late, and recovery after restart. Check that the final user can tell when and where the reading was made. Eventual arrival is not enough if the record is too old or has lost meaning.
Keep urgent river or worker safety local when contact is absent. The delayed path can carry history and planned work, but it cannot promise an immediate reply.
This opening does not promise one delay or delivery chance. Practitioner builds the contact and storage record. Under the Hood examines custody, buffer pressure, expiry, routing choices, energy, duplicates, and the limits of movement as a path.
Use a simple field drill before release. Make three records at known times. Let the first carrier miss its meeting. Fill part of the store with low-value data. Give one record a short life and one a long life. Send one record twice. Then bring a second carrier into range.
The result should be easy to read. Staff should see which record is new, which is late but useful, which expired, which was repeated, and which still waits. Storage use and power should remain visible. The final user should know the source time, not only the arrival time.
Run the drill again after a route, clock, record shape, priority, store size, or carrier plan changes. Keep failed runs because they show where the delivery promise ends. Name the person who can clear old data, change priority, or accept a late result. If that person or rule is missing, the delayed service is not ready.
Close with five plain checks. Can the source save the full record? Can the carrier tell new data from old data? Can the next stop reject a bad copy? Can the final user see the source time? Can the team clear low-value data before the store fills?
Run the checks with no contact for the longest planned gap. Then allow one brief contact. Count what moves and what stays. A good result does not mean all data arrives at once. It means each choice follows the stated age, rank, space, and power rules.
11.5 Start With a Network That Is Usually Broken
This section: Start With a Network That Is Usually Broken — A delay-tolerant network assumes that end-to-end connectivity may not exist when a message is created.
A delay-tolerant network assumes that end-to-end connectivity may not exist when a message is created. A node stores data, carries it through time and space, and forwards it when contact finally appears.
That idea fits wildlife sensors, rural links, disaster response, ships, vehicles, and remote field work. Start with one message that cannot be delivered now. The DTN story is how the system protects it until delivery becomes possible.
- Start Simple
- Start With a Network That Is Usually Broken
- In 60 Seconds
- Minimum Viable Understanding
- The Traveling Mailbox
- Disconnection Comes First
- Checkpoint: Disconnection Frame
- Practitioner: Build the Delivery Record
- Buffers Become the Network
- Quick Check: Bundle Delivery Record
- Checkpoint: Delivery Record
- Prerequisites
- Key Concepts
- DTN and Social Routing Basics
- Cross-Hub Connections
- Related Chapters
- DTN Is Not Just Slow Networking
Read this chapter as a sequence of field decisions:
- First decide whether the network is actually disconnected, rather than merely slow.
- Then build a delivery record for one bundle class: payload, destination, deadline, priority, contact assumptions, buffer limit, custody rule, and failure action.
- Next compare ordinary ad hoc routing with DTN store-carry-forward, using wildlife, rural kiosk, disaster, and space examples.
- Finally run the elephant tracking numbers through buffer, contact, latency, energy, and delivery reliability before choosing a copy policy.
Checkpoints recap what you have covered; the audit panel supports number verification.
“Oh no!” cried Temperature Terry. “I need to send my temperature reading to the base station, but it’s 10 kilometers away and my radio only reaches 100 meters!”
the battery shook her head. “There’s no Wi-Fi tower, no phone tower, nothing in between. Traditional networking says: ‘Sorry, network unreachable!’”
“But wait!” said the microcontroller. “What if a friendly delivery truck drives by tomorrow? Sammy could hand the message to the truck driver, the driver carries it across the desert, and drops it off at the base station!”
“That’s Store-Carry-Forward!” the LED explained. “Store the message in memory, Carry it while you move, Forward it when you meet someone heading the right way. It might take a day instead of a second, but the message GETS THERE!”
Real-world example: In Africa, zebras wear GPS collars. When two zebras meet at a watering hole, their collars swap data. Days later, one zebra wanders near a base station and all the data downloads. Scientists get their migration maps — just a few days late!
11.6 Learning Objectives
This section: Learning Objectives
By the end of this chapter, you will be able to:
- Explain DTN Concepts: Describe Delay-Tolerant Networks and their fundamental assumptions about disconnection
- Analyze Disconnected Scenarios: Identify IoT applications where continuous connectivity is unavailable and justify DTN suitability
- Apply Store-Carry-Forward: Implement the core DTN paradigm for intermittent connectivity in real deployments
- Distinguish DTN from Traditional Routing: Compare DTN approaches with connected ad hoc protocols and evaluate when each is appropriate
11.7 Disconnection Comes First
This section: Disconnection Comes First — If you only need the intuition, this layer is enough: DTN works when a packet cannot follow a continuous path.
If you only need the intuition, this layer is enough: DTN works when a packet cannot follow a continuous path. A node stores the bundle, carries it while moving, and forwards it during a later contact.
That changes the design question. In a connected IP network, the first question is often "which next hop can carry this packet now?" In a DTN, the first question is "what state must survive until a useful contact appears?" The message needs an identity, a destination, a creation time, an expiration rule, and enough priority context for a future carrier to decide whether it deserves buffer space.
A good mental model is a traceable handoff chain. A sensor may create a bundle at noon, a vehicle may collect it at sunset, another gateway may receive it the next morning, and the application may still accept it because the measurement is late but useful. The same design is wrong when the data loses value in seconds, when storage cannot survive the gap, or when the operator cannot explain what happens after a missed contact.
This is why DTN chapters should talk about time as a normal part of routing. The path is not just a set of radios; it is a sequence of storage intervals and contact opportunities. A store-carry-forward design is ready to discuss only when the team can name the expected delay range and the application consequence of arriving outside it.
Store
The source writes the bundle to persistent storage instead of dropping it when no route exists.
Carry
A person, animal, vehicle, drone, or satellite physically moves the stored bundle through the disconnected region.
Forward
The carrier transfers the bundle when a useful contact appears and the receiving node can take responsibility.
DTN store-carry-forward narrated tour
Narrated audio tour. The full transcript is below.
Play the tour to open the simulator. Pause, replay a beat, or read the full transcript below.
Some beats explain situations this teaching model cannot show; those beats keep the existing frame and provide captions only.
Full transcript — DTN store-carry-forward (8 beats)
B1 — Wildlife collars
You are responsible for wildlife sensor collars that collect measurements far from a base station. The collars may wait days between brief encounters with other animals. Your task is to keep useful measurements available until they can reach the base station, despite the gaps in communication.
Model caption: A wildlife collar stores measurements through days between contacts, awaiting upload to a base station.
B2 — Store, carry, forward
A delay-tolerant network, or DTN, uses store, carry, and forward. A bundle is the message being stored and passed along. The source and destination do not need a complete connecting path at the same instant. Storage and later contacts build a path over time.
Model caption: Delay-tolerant network: store the message, carry it, then forward during a later contact; a simultaneous end-to-end path is unnecessary.
B3 — Contact and carrying
First, the collar saves a bundle in persistent storage. A mobile carrier can take the bundle and physically move with it through a disconnected region. A contact is a period when two devices can communicate. During a useful contact, the carrier can forward the bundle.
Model caption: A carrier keeps the bundle during disconnection. Contact means two devices can communicate.
B4 — Contact budget
For your collars, a brief encounter creates a transfer budget. Take the chapter's example: a contact lasting twenty seconds, with a rate of fifty kilobits per second. That contact can move at most about one hundred twenty-five kilobytes before the costs of communicating are included.
Model caption: Chapter example: 20 seconds at 50 kilobits per second → at most about 125 kilobytes before communication costs. Asset settings do not reproduce this example.
B5 — Useful payload ceiling
Those costs include protocol overhead, retries, and radio setup time. So one hundred twenty-five kilobytes is a ceiling before those costs, rather than a promise of useful measurements transferred. If a day's measurements exceed the contact budget, options include more contacts or choosing the most valuable measurements.
Model caption: 125 kilobytes is the chapter's ceiling before overhead, retries, and setup. A larger daily payload requires more contact capacity or prioritization.
B6 — Buffer space
Waiting also uses space. The buffer is the queue holding bundles until a useful contact arrives. A new bundle can force out a more valuable stored bundle unless a removal rule protects it. Expiring stale bundles helps preserve room for fresher measurements during the disconnected wait.
Model caption: Waiting requires buffer space. Removal and expiry rules protect valuable or fresh measurements; the slot display is schematic.
B7 — Contact is an opportunity
The misconception is that getting within radio range guarantees delivery. Range only creates an opportunity to communicate. Transfer time can limit the exchange, storage can fill, and a future upload opportunity is still needed. A brief encounter alone cannot promise that your measurements reach the base station.
Model caption: Radio range enables contact, not guaranteed delivery. Transfer time, available storage, and a future upload still matter.
B8 — Destination contact
For your collars' measurements, progress can mean remaining safely stored through a gap, then moving with a carrier toward a useful contact. Store through the gap, carry toward contact, and forward only what the contact can hold.
Model caption: Store through the gap, carry toward contact, and forward only what the contact can hold.
Checkpoint: Disconnection Frame
You now know:
- DTN starts from the assumption that no simultaneous end-to-end path may exist.
- Store-carry-forward turns storage intervals, mobility, and later contact windows into the path.
- The first design question is what state must survive until contact appears.
11.8 Practitioner: Build the Delivery Record
This section: Practitioner: Build the Delivery Record — A DTN design should start with one bundle class and a delivery promise.
A DTN design should start with one bundle class and a delivery promise. Wildlife GPS summaries, disaster status reports, and rural kiosk messages can tolerate delay, but each still needs a record that proves the delay is acceptable and bounded.
The delivery record should be concrete enough for a field review. Name the bundle identifier scheme, payload size range, producer, destination endpoint, maximum useful age, priority, privacy sensitivity, and duplicate-handling rule. Then name the storage owner at each stage: source node, mobile carrier, relay cache, gateway, or application server. If ownership is vague, stale bundles tend to accumulate because every device assumes another device is responsible for cleanup.
Contact evidence turns the design from a story into an engineering budget. For example, a 20-second contact at 50 kbit/s can move at most about 125 kB before protocol overhead, retries, and radio setup time. If the daily payload is larger than the contact budget, the design needs compression, prioritization, more contacts, a higher-rate link, or a decision to drop low-value bundles. The record should include a replay test for missed contacts, full buffers, duplicate arrivals, and expired data.
Finally, make the record operational. Put the bundle fields, contact assumptions, and failure actions in the same runbook operators use after deployment. When a field technician sees an expired bundle counter rising or a carrier returning with a full buffer, the runbook should say whether to change TTL, reduce sampling, add storage, change the collection route, or escalate the application requirement.
Bundle meaning
Name the payload, producer, destination, deadline, priority, and whether duplicate delivery is acceptable.
Contact evidence
Record expected contacts, radio range, transfer window, data volume, contact rate, and mobility assumption.
Buffer policy
Set storage limits, time-to-live, custody rule, retry rule, and drop order before field deployment.
Failure action
Define what the system does when a bundle expires, custody fails, storage fills, or a planned contact never occurs.
11.9 Buffers Become the Network
This section: Buffers Become the Network — In connected routing, a packet mostly lives in transit.
In connected routing, a packet mostly lives in transit. In DTN, the packet may spend most of its life inside node storage. That makes buffer management, custody transfer, expiration, and contact prediction first-class network behavior rather than implementation details.
The buffer is not just a cache. It is a queue with durability, ordering, and deletion semantics. The implementation has to survive power loss during a write, keep enough metadata to resume after reboot, and avoid admitting a new bundle that forces out a more valuable one without following the configured drop rule. This is why persistent storage wear, flash capacity, and metadata integrity belong in the network review.
Custody is also a policy boundary, not a magic guarantee. A receiver that accepts responsibility may allow the sender to reclaim storage, but that receiver can still lose power, fill its buffer, miss the next contact, or expire the bundle before delivery. Practical systems therefore keep acknowledgement state, retry limits, and delivery reports separate from the physical act of copying bytes. A copied bundle is not necessarily a delivered bundle.
Contact prediction can be simple or sophisticated, but it must be testable. A bus schedule, a satellite pass table, a patrol route, historical encounter logs, or received-signal observations can all drive forwarding choices. The under-the-hood review should ask what evidence updates that prediction and what the system does when the prediction is wrong. Without that rule, the same bundle may be carried by the wrong node while a better carrier passes nearby.
- Persistent storage: bundles must survive sleep cycles, movement, reboot, and long gaps between contacts.
- Custody transfer: a receiver may take responsibility so the sender can reclaim storage, but custody does not guarantee success.
- Time-to-live: stale bundles should expire before they crowd out higher-priority or fresher messages.
- Contact economics: every contact window has limited time, bandwidth, energy, and competing bundles.
This section:
This section:
This section:
Checkpoint: Delivery Record
You now know:
- A DTN design should start with one bundle class and a delivery promise.
- The record needs bundle meaning, contact evidence, buffer policy, and failure action.
- A 20-second contact at 50 kbit/s moves at most about 125 kB before overhead, retries, and setup time.
This section:
11.10 Prerequisites
This section: Prerequisites — We just separated intermittent connectivity from ordinary slow networking.
Before diving into this chapter, you should be familiar with:
- Ad Hoc Routing: Proactive (DSDV): Understanding proactive routing protocols helps contextualize why traditional approaches fail in disconnected networks and how DTN fundamentally differs from table-driven routing
- Ad Hoc Routing: Reactive (DSR): Knowledge of on-demand routing and route discovery mechanisms provides the foundation for understanding why DTN requires store-carry-forward instead of immediate path establishment
- Ad Hoc Routing: Hybrid (ZRP): Zone-based routing concepts introduce the idea of handling disconnected network partitions, which DTN extends with mobility and opportunistic forwarding
- Multi-Hop Fundamentals: Multi-hop networking concepts and relay node behavior are essential background for understanding how DTN leverages mobile nodes as data carriers
- Networking Basics: Fundamental networking concepts, addressing, and packet forwarding provide the baseline understanding for how DTN modifies traditional end-to-end communication
- DTN (Delay-Tolerant Network): Network architecture accommodating intermittent connectivity, long delays, and high error rates
- Store-Carry-Forward: Core DTN paradigm; nodes store messages locally, carry them as they move, and forward when contact occurs
- Intermittent Connectivity: Characteristic of DTN environments; no end-to-end path exists simultaneously, contacts are opportunistic
- Contact: Period when two DTN nodes can communicate; determined by proximity, mobility patterns, and communication range
- Bundle Protocol: DTN’s bundle layer (RFC 9171) stores and forwards bundles across intermittent links; BPv7 itself neither specifies custody transfer nor guarantees end-to-end delivery.
- Custody Transfer: Optional DTN reliability concept where a receiving node takes responsibility for forwarding a bundle; accepting custody is not final delivery.
- Disruption Tolerance: DTN’s ability to operate despite network partitions, link failures, and extreme delays (minutes to days)
- Convergence Layer: DTN adaptation layer connecting Bundle Protocol to underlying transport (TCP, Bluetooth, Wi-Fi Direct)
Learning Resources:
- Simulations Hub: DTN simulators like The ONE Simulator for testing epidemic routing, spray-and-wait, and social-based protocols in realistic mobility scenarios
- Knowledge Gaps Hub: Common DTN misconceptions including “DTN is just slow networking” and “epidemic routing wastes resources” clarifications
- Videos Hub: Visual explanations of store-carry-forward paradigm, ZebraNet wildlife tracking, and DakNet rural connectivity case studies
- Quizzes Hub: Self-assessment questions on DTN performance trade-offs, utility function design, and protocol selection for intermittent connectivity
Why These Matter:
DTN routing challenges traditional networking assumptions. The Simulations Hub provides hands-on tools to visualize how messages propagate through disconnected networks. Knowledge Gaps addresses the misconception that DTN is simply “broken networking” - it’s actually a deliberate architectural choice for scenarios where continuous connectivity is physically impossible (wildlife tracking, rural areas, disaster zones).
Deep Dives:
- DTN Epidemic Routing - Flooding-based DTN protocols
- DTN Social Routing - Context-aware and social-based routing
- DTN Applications - Real-world DTN deployments
Protocols:
- Ad Hoc Routing: Proactive (DSDV) - Traditional proactive routing
- Ad Hoc Routing: Reactive (DSR) - Traditional reactive routing
- Ad Hoc Routing: Hybrid (ZRP) - Zone-based routing
- Multi-Hop Fundamentals - Multi-hop communication
Architecture:
- Wireless Sensor Networks - WSN in sparse deployments
- UAV Networks for IoT - Aerial DTN applications
Learning:
- Simulations Hub - DTN simulators
The Misconception:
Many students think DTN is simply traditional networking with high latency - like a slow internet connection. They assume DTN protocols are inefficient versions of TCP/IP that could be “fixed” with better routing algorithms.
The Reality:
DTN fundamentally differs from traditional networking in its assumptions about connectivity:
Traditional Networks (TCP/IP):
- Assumption: End-to-end path exists when communication starts
- Failure mode: Packets dropped if path breaks during transmission
- Retransmission: Source resends if ACK not received (assumes path will reconnect)
- Use case: Internet, LANs, cellular networks with continuous infrastructure
Delay-Tolerant Networks:
- Assumption: No end-to-end path exists at any single moment
- Acceptance: Disconnection is normal, not a failure condition
- Store-carry-forward: Nodes physically transport data between disconnected regions
- Use case: Wildlife tracking (animals 10km apart), rural areas (no infrastructure), disaster zones (damaged infrastructure)
Concrete Example:
ZebraNet wildlife tracking cannot use traditional TCP/IP because:
- Zebras roam 5-20km apart (beyond radio range)
- No cellular towers in remote African savanna
- Battery budget: 3 years of operation
- Data collection: GPS positions every hour
Why TCP/IP fails: Attempting TCP connection from Zebra A to base station fails immediately - no routing path exists. TCP gives up and reports “network unreachable.”
Why DTN works: Zebra A stores GPS data locally. When Zebra B passes within 100m (days later), they exchange buffered data. Zebra B later encounters Zebra C near watering hole base station. Data reaches researchers after 3-7 day delay, which is acceptable for migration studies.
Key Insight:
DTN isn’t “slow networking” - it’s intermittent connectivity networking. Latency isn’t a bug; it’s the price of operation where infrastructure doesn’t exist. The alternative isn’t “faster DTN” - it’s no communication at all.
When to Use:
- No infrastructure possible (wildlife, disaster, space)
- Communication can tolerate hours/days delay
- Mobile nodes can carry data physically
- Real-time requirements (video streaming, gaming)
- Infrastructure available (use Wi-Fi/cellular instead)
We just separated intermittent connectivity from ordinary slow networking. Next, turn that distinction into disconnected ad hoc mechanics: why connected protocols fail, and what replaces them.
11.12 Continue to the Next Part
This section: Continue to the Next Part — Carry this evidence into Delay-Tolerant Networks: Disconnected Operations, which begins with Disconnected Ad Hoc Networks.
Carry this evidence into Delay-Tolerant Networks: Disconnected Operations, which begins with Disconnected Ad Hoc Networks.
Find help
3 reviewed answers.
Where should I start in a module?
Open the module page from the sidebar to see its chapters in order. Use the module map to return to a topic you need.
Modules and pathsReviewed
What can I try when a project does not work?
Check the symptom, then work through the diagnostic steps. Keep the error message and the smallest example that reproduces it.
When you are stuckReviewed
How do interactive examples work?
Use the interactive guide to check how examples and simulations work before changing your project.
Interactive examples guideReviewed
