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

Hafsteinn Hjartarson hafsteinn.hjartarson at gmail.com
Wed Sep 2 09:50:08 PDT 2020


Hi Junxiao and thanks for the quick reply,

Sorry about the incorrect spelling, I was not aware of this.

What I want to do is see if I can use Kai Lei et al. method to detect and
eliminate all types of poisoned content on resource constrained devices
(ESP8266 in my case).

I want to run a simulation on a Linux box and have one ESP8266 as a
consumer (ESPCons) and one ESP8266 as a Producer (ESPProd). ESPCons will
issue a request which gets routed
through the simulation network and reaches ESPProd which will return the
data.

The communication must adopt a two-layer trust model where a specific
entity in the simulation will act as a trusted anchor and its public key is
pre-installed in both ESP's.
The trusted anchor then generates a pair of public and private keys and a
certificate for both ESP; thus, NDN entities (the routers in the
simulation) can verify the authenticity of Public key's [1].


[1] Securing ICN-Based UAV Ad Hoc Networks with Blockchain

I really hope I explain this clearly and thank you again very much for your
help.

Best regards,
Hafsteinn

On Wed, Sep 2, 2020 at 12:08 PM Junxiao Shi <shijunxiao at email.arizona.edu>
wrote:

> 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/a3dc0199/attachment-0001.html>


More information about the ndnSIM mailing list