<div dir="ltr">Hi Junxiao and thanks for the quick reply,<br><br>Sorry about the incorrect spelling, I was not aware of this.<br><br>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).<br><br>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<br>through the simulation network and reaches ESPProd which will return the data. <br><br>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.<br>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].<br><br><br>[1] Securing ICN-Based UAV Ad Hoc Networks with Blockchain<br><br>I really hope I explain this clearly and thank you again very much for your help.<br><br>Best regards,<br>Hafsteinn<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Sep 2, 2020 at 12:08 PM Junxiao Shi <<a href="mailto:shijunxiao@email.arizona.edu">shijunxiao@email.arizona.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div>Hi Hafsteinn</div><div dir="auto"><br></div><div dir="auto">You can certainly run code based on esp8266ndn library on the ESP8266, and have it talk to ns-3 via TapBridgeNetDevice.</div><div dir="auto">You just cannot run esp8266ndn or NDNph <i>within</i> ns-3.</div><div dir="auto"><br></div><div dir="auto">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.</div><div dir="auto"><br></div><div dir="auto">There's also very limited logging capability on the ESP8266. It doesn't have the tracers that are available in ndnSIM.</div><div dir="auto"><br></div><div dir="auto">Depending on your needs, it may or may not work. Describe your use case and we would know better.</div><div dir="auto"><br></div><div dir="auto">PS @yoursunny is unhappy when you misspell his name. It has to be all lowercase, even at the beginning of a sentence.<br><br>Yours, Junxiao</div><div dir="auto"><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Wed, Sep 2, 2020, 07:38 Hafsteinn Hjartarson <<a href="mailto:hafsteinn.hjartarson@gmail.com" target="_blank">hafsteinn.hjartarson@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><p style="text-align:center"><font color="red"><strong>External Email</strong><br></font></p><div dir="ltr">Hello Junxiao,<div><br></div><div>I am in the process of connecting the ESP's to ndnSIM using the TapBridgeNetDevice as you suggested.</div><div><br></div><div>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 ?</div><div><br></div><div>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?</div><div><br></div><div>Best regards,</div><div>Hafsteinn</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Jul 26, 2020 at 5:25 AM Junxiao Shi <<a href="mailto:shijunxiao@email.arizona.edu" rel="noreferrer" target="_blank">shijunxiao@email.arizona.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi Hafsteinn</div><div><br></div><div>While esp8266ndn used to contain an adaptation of NDN-Lite, it was removed earlier this year.<br></div><div>Current version of esp8266ndn is a <i>port</i> of NDNph, a different C++ library that limits the use of dynamic memory allocations. <br></div><div>See @yoursunny's blog post about this update: <a href="https://yoursunny.com/t/2020/NDNph-intro/" rel="noreferrer" target="_blank">https://yoursunny.com/t/2020/NDNph-intro/</a></div><div>
<div>
<div><div>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.</div><div><br></div><div><br></div>

</div>

</div>

</div><div>It is certainly possible to connect a real world network device, including the ESP8266, to ns-3 and ndnSIM.</div><div>This can be achieved with TapBridgeNetDevice: <a href="https://www.nsnam.org/docs/release/3.31/models/html/emulation-overview.html" rel="noreferrer" target="_blank">https://www.nsnam.org/docs/release/3.31/models/html/emulation-overview.html</a></div><div>However, it is difficult to create a reproducible experiment.<br></div><div><br></div><div><br></div><div>A better method to achieve your simulation depends on whether the algorithm is CPU constrained or memory constrained.<br></div><div><br></div><div>For a memory constrained algorithm:</div><div><ol><li>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.</li><li>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.<br></li></ol></div><div>For a CPU constrained algorithm:</div><div><ol><li>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.</li><li>Implement the algorithms in ndnSIM using ndn-cxx. Model the CPU time for each operation via the simulation scheduler.<br></li></ol></div><br><div><br></div><div>Finally, it is certainly possible to run this experiment in a real network that consists of ESP8266 devices and physical machines.<br></div><div>That would make a stronger case, but it would take significantly more effort to create a reproducible experiment.<br></div><div><br></div><div>Yours, Junxiao</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Jul 25, 2020 at 8:20 PM Hafsteinn Hjartarson via ndnSIM <<a href="mailto:ndnsim@lists.cs.ucla.edu" rel="noreferrer" target="_blank">ndnsim@lists.cs.ucla.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi everyone and thank you for your feedback,<div><br></div><div>To be more precise, I have set up yoursunny's arduino library for NDN on the ESP8266 which can be found here -> <a href="https://github.com/yoursunny/esp8266ndn" rel="noreferrer" target="_blank">https://github.com/yoursunny/esp8266ndn</a></div><div><br></div><div>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.</div><div><br></div><div>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.</div><div><br></div><div>Is there possibly a better way to do this? Perhaps not using NDNsim at all?</div><div><br></div><div>I hope I am making myself understandable and really appreciate all your help.</div><div><br></div><div>Best regards,</div><div>Hafsteinn</div><div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Jul 25, 2020 at 4:27 PM Lixia Zhang <<a href="mailto:lixia@cs.ucla.edu" rel="noreferrer" target="_blank">lixia@cs.ucla.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
> On Jul 23, 2020, at 6:36 AM, Hafsteinn Hjartarson via ndnSIM <<a href="mailto:ndnsim@lists.cs.ucla.edu" rel="noreferrer" target="_blank">ndnsim@lists.cs.ucla.edu</a>> wrote:<br>
> <br>
> Hello,<br>
> <br>
> I am working on a research project related to iot and ndn.<br>
> <br>
> 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.<br>
> <br>
> Is this possible?<br>
<br>
one first question: what would you like to achieve from doing this?<br>
<br>
Lixia<br>
</blockquote></div></blockquote></div><div><br></div><div><br></div></div></div>
</blockquote></div>
</blockquote></div></div></div>
</blockquote></div>