[ndnSIM] [EXT]Re: External connections to simulation environment

Junxiao Shi shijunxiao at email.arizona.edu
Sat Jul 25 22:24:57 PDT 2020

Hi Hafsteinn

While esp8266ndn used to contain an adaptation of NDN-Lite, it was removed
earlier this year.
Current version of esp8266ndn is a *port* of NDNph, a different C++ library
that limits the use of dynamic memory allocations.
See @yoursunny's blog post about this update:
At the moment NDNph cannot run in ns-3 and NDNph. It may or may not happen
in the future, depending on how many people are interested in this feature
and whether @yoursunny feels like it.

It is certainly possible to connect a real world network device, including
the ESP8266, to ns-3 and ndnSIM.
This can be achieved with TapBridgeNetDevice:
However, it is difficult to create a reproducible experiment.

A better method to achieve your simulation depends on whether the algorithm
is CPU constrained or memory constrained.

For a memory constrained algorithm:

   1. Define the data structures in NDNph. Find out roughly how many
   records you can fit in the memory of the target device such as ESP8266.
   2. Implement the algorithms in ndnSIM using ndn-cxx. Limit the table
   size of each IoT node not to exceed the limit measured in the previous step.

For a CPU constrained algorithm:

   1. Implement the key operations (such as crypto) in NDNph. Find out
   roughly how much time does it take to execute (a thousand times of) each
   2. Implement the algorithms in ndnSIM using ndn-cxx. Model the CPU time
   for each operation via the simulation scheduler.

Finally, it is certainly possible to run this experiment in a real network
that consists of ESP8266 devices and physical machines.
That would make a stronger case, but it would take significantly more
effort to create a reproducible experiment.

Yours, Junxiao

On Sat, Jul 25, 2020 at 8:20 PM Hafsteinn Hjartarson via ndnSIM <
ndnsim at lists.cs.ucla.edu> wrote:

> Hi everyone and thank you for your feedback,
> To be more precise, I have set up yoursunny's arduino library for NDN on
> the ESP8266 which can be found here ->
> https://github.com/yoursunny/esp8266ndn
> In the paper "Securing ICN-Based UAV Ad Hoc Networks with Blockchain" by
> Kai Lei et al. , they propose a framework to mitigate the risk of content
> poisoning in drones communicating over an NDN network. The framework was
> tested successfully on a powerful machine running NDNsim.
> What I want to do is to try to use this method to mitigate content
> poisoning in resource constrained devices such as the ESP8266. In order to
> test this I must be able to both install NDN on the ESP8266 and connect it
> to a network where I am able to modify the routers (NFD) myself.
> Is there possibly a better way to do this? Perhaps not using NDNsim at all?
> I hope I am making myself understandable and really appreciate all your
> help.
> Best regards,
> Hafsteinn
> On Sat, Jul 25, 2020 at 4:27 PM Lixia Zhang <lixia at cs.ucla.edu> wrote:
>> > On Jul 23, 2020, at 6:36 AM, Hafsteinn Hjartarson via ndnSIM <
>> ndnsim at lists.cs.ucla.edu> wrote:
>> >
>> > Hello,
>> >
>> > I am working on a research project related to iot and ndn.
>> >
>> > I have set up ndn-lite on two ESP8266 (one acting as a consumer and one
>> as a producer) and I want to connect them to my simulation network running
>> on a virtual machine.
>> >
>> > Is this possible?
>> one first question: what would you like to achieve from doing this?
>> Lixia
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20200726/3fa3eb33/attachment.html>

More information about the ndnSIM mailing list