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

Junxiao Shi shijunxiao at email.arizona.edu
Wed Sep 2 05:08:15 PDT 2020


Hi Hafsteinn

You can certainly run code based on esp8266ndn library on the ESP8266, and
have it talk to ns-3 via TapBridgeNetDevice.
You just cannot run esp8266ndn or NDNph *within* ns-3.

The difficulty of creating a reproducible experiment: the ESP8266 is a
wireless device. A wireless network suffers from signal interference. In a
high density residential environment, ping RTT could vary between 1ms and
50ms over a 12-hour period.

There's also very limited logging capability on the ESP8266. It doesn't
have the tracers that are available in ndnSIM.

Depending on your needs, it may or may not work. Describe your use case and
we would know better.

PS @yoursunny is unhappy when you misspell his name. It has to be all
lowercase, even at the beginning of a sentence.

Yours, Junxiao

On Wed, Sep 2, 2020, 07:38 Hafsteinn Hjartarson <
hafsteinn.hjartarson at gmail.com> wrote:

> *External Email*
> Hello Junxiao,
>
> I am in the process of connecting the ESP's to ndnSIM using the
> TapBridgeNetDevice as you suggested.
>
> As I understand it, I cannot use YourSunny's port to connect the ESP8266
> to my ns-3/ndnSIM simulation environment. What do you suggest I use on the
> ESP8266 ?
>
> Could you also please explain to me why you say that by doing this
> (connecting external ESP's to a ndnSIM simulation) would make it difficult
> to create reproducible experiments?
>
> Best regards,
> Hafsteinn
>
> On Sun, Jul 26, 2020 at 5:25 AM Junxiao Shi <shijunxiao at email.arizona.edu>
> wrote:
>
>> 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:
>> https://yoursunny.com/t/2020/NDNph-intro/
>> 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:
>> https://www.nsnam.org/docs/release/3.31/models/html/emulation-overview.html
>> 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
>>    operation.
>>    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/20200902/bc26ac8e/attachment.html>


More information about the ndnSIM mailing list