Subject: [dtn-interest] DTN Simulator for routing protocol research

From: Ishan Sharma <[email-masked]>
Date: Sat, 2 May 2015 12:37:08 +0530

Hi,

I am working on designing a routing protocol for DTN. I am looking for a
simulator with the following capabilities:
1) Specify multiple network interfaces for a node.
2) Simulate an interface going down.
3) Simulate a node going down
4) Identify the number of packets in buffer for a particular network
interface
5) Simulate error in path to a destination
6) Ability to read routing table for a node

I am learning ONE simulator right now, but it seems that not all the above
features are present in it. Any help is appreciated.

Regards,
Ishan Sharma

---

From: "Ivancic, William D. (GRC-LCA0)" <[email-masked]>
Date: Mon, 4 May 2015 12:41:37 +0000

You can do quite a bit with real code, virtual machines (take a look at Linux Containers – very efficient), netem and cron jobs.

Will

From: Ishan Sharma <[email-masked]<mailto:[email-masked]>>
Date: Saturday, May 2, 2015 3:07 AM
To: "[email-masked]<mailto:[email-masked]>" <[email-masked]<mailto:[email-masked]>>
Subject: [dtn-interest] DTN Simulator for routing protocol research

Hi,

I am working on designing a routing protocol for DTN. I am looking for a simulator with the following capabilities:
1) Specify multiple network interfaces for a node.
2) Simulate an interface going down.
3) Simulate a node going down
4) Identify the number of packets in buffer for a particular network interface
5) Simulate error in path to a destination
6) Ability to read routing table for a node

I am learning ONE simulator right now, but it seems that not all the above features are present in it. Any help is appreciated.

Regards,
Ishan Sharma

---

From: Joerg Ott <[email-masked]>
Date: Mon, 04 May 2015 16:01:49 +0300

Except for 4) and 5), ONE supports all the features you mention below
or you could at least implement them easily.

4) isn't support because ONE deals with messages and not packets
and doesn't have per interface queues but rather one common buffer.

5) is unclear to me.  If the path to a destination refers to a link,
you could simulate this my modulating the data rate of that link
(assuming that nodes are close to each other and you have an transport
protocol underneath that does error correction).  If you have a series
of links you could simulate those up and down, of different performance,
etc.  But one would need to know more about what you actually wanna
achieve.

If you want to do a space-style network with long per-hop latencies
and packet-level errors, ONE is not not the right tool.

Maybe check out the ns-3 code instead:
https://wiki.aalto.fi/display/[email-masked]/DTN+Code+for+ns-2+and+ns-3

That aside, I agree with Will that you can achieve a lot with
emulation, maybe using a bunch of virtual machines, etc.  It just
gets a bit harder to coordinate all the nodes and collect the
results.  If all you need is a single link, emulation and maybe
Dummynet or netem or so is the way to go.

Jörg

On 04.05.2015 15:41, Ivancic, William D. (GRC-LCA0) wrote:
> You can do quite a bit with real code, virtual machines (take a look at
> Linux Containers – very efficient), netem and cron jobs.
>
> Will
>
> To: "[email-masked] <mailto:[email-masked]>"
> <[email-masked] <mailto:[email-masked]>>
>     I am working on designing a routing protocol for DTN. I am looking
>     for a simulator with the following capabilities:
>     I am learning ONE simulator right now, but it seems that not all the
>     above features are present in it. Any help is appreciated.
>
>     Regards,
>     Ishan Sharma
>
>
>
> _______________________________________________
> dtn-interest mailing list
> [email-masked]
> https://www.irtf.org/mailman/listinfo/dtn-interest
>

---

From: Omprakash Gnawali <[email-masked]>
Date: Mon, 4 May 2015 09:37:46 -0400

If you want to get a sense of how emulations were used to evaluate dtn
on a network of nodes, here is one paper we worked on:
http://www2.cs.uh.edu/~gnawali/papers/cloudnet-globecom2014-abstract.html

- om_p

---

From: Flavio Esposito <[email-masked]>
Date: Mon, 4 May 2015 09:43:48 -0500

It looks like you need emulation with simulation capabilities.
An example of prototype that uses both is PreDA, it's a bit old but it's
worth having a look at the methodology. It uses virtual machines, tun/tap
interfaces and ns in emulation mode to emulate mobility.
The work was inspired by an earlier work of Joerg.

http://csr.bu.edu/preda
user manual and working code are available.
Good luck,
Flavio Esposito