Yasin Engin Future Networks
DTN Implementation Labs
Repeatable Delay-Tolerant Networking experiments for comparing DTN stacks under the same satellite-style contact schedule.
Problem
Delay-Tolerant Networking stacks are difficult to compare when each experiment uses a different topology, timing model, and command flow. This project keeps the network shape and contact schedule consistent so implementation behavior can be studied with less noise.
Architecture
The lab family uses a six-node path-diversity model: one ground source, two first-hop satellites, two second-hop satellites, and one ground destination. Linux namespaces and veth links form the network layer, while stack-specific schedulers bring links up and down to emulate intermittent visibility windows.
Included Labs
- ION-DTN lab with generated node configuration and a shared contact plan.
- uD3TN lab for BPv7 forwarding through AAP2, BDM routing, MTCP, and scheduled contacts.
- HDTN lab using one-process nodes and generated JSON configuration.
- DTN7-go lab with Epidemic routing, static MTCP peers, and an external link scheduler.
- NetSatBench companion material for satellite emulation and epoch-driven topology analysis.
What I Built
- A common topology model for comparing several DTN implementations.
- Stack-specific lab folders with setup, configuration generation, startup, send, receive, and scheduler scripts.
- A repeatable run pattern that separates namespace setup, contact-plan generation, node startup, link scheduling, and traffic tests.
- Documentation that explains the IP plan, contact windows, runtime exclusions, and analysis boundaries.
Technologies
- Linux namespaces, veth pairs, and tc/netem for controllable intermittent connectivity.
- ION-DTN, uD3TN, HDTN, and DTN7-go for protocol-stack comparison.
- Shell scripts for reproducible lab setup, generated configs, and link-state scheduling.
- NetSatBench analysis material for larger satellite-emulation context.
GitHub Repository
Open DTN Implementation Labs on GitHub
What I Learned
- DTN experiments are much easier to reason about when topology, contact timing, and runtime outputs are separated.
- Stack differences become visible only after the environment is stable enough to rerun without manual repair.
- Satellite-style intermittent links are a strong bridge between future-network research and practical Linux networking.
Future Improvements
- Add a shared result-summary format across all DTN stack labs.
- Automate smoke checks that verify namespace state, route reachability, and expected contact windows.
- Publish comparative tables for delivery behavior, forwarding delay, and recovery after contact loss.