<div dir="ltr">Hi Mahyuddin,<br><div class="gmail_extra"><div class="gmail_quote"><br><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 class="gmail-m_-6086425219404451663gmail-yj6qo gmail-m_-6086425219404451663gmail-ajU" style="margin:2px 0px 0px;font-size:12.8px"><div id="gmail-m_-6086425219404451663gmail-:9vp" class="gmail-m_-6086425219404451663gmail-ajR"></div></div></div></blockquote><div>Here is an example on how self-learning forwarding works: a device joins a local network and it wants to find data under prefix '/A'. Assuming that this local network is not running any routing protocols, there exists no routes for '/A'. Using self-learning forwarding, the device first floods an Interest with name '/A/0' to the network. Once the Data packet is found, it will be sent back along a single path. The Data packet carries a prefix announcement for '/A', so that nodes along the path can set up a FIB entry for '/A'. As a result, a route is set up between the device and data host; then subsequent Interests can be sent along the single path.<br></div><div><br></div><div>For more details of self-learning, you can read the paper (<a href="https://named-data.net/publications/on_broadcast-based_self-learning_ndn/">https://named-data.net/publications/on_broadcast-based_self-learning_ndn/</a>).</div><div><br></div><div>On Tue, Nov 28, 2017 at 2:32 AM, Mahyuddin Husairi <span dir="ltr"><<a href="mailto:mahyuddin@gmail.com" target="_blank">mahyuddin@gmail.com</a>></span> wrote:<br><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 dir="ltr" style="font-size:12.8px"><div>During flooding (discovery and announcement), is there any specific broadcast suppression technique applied? </div><div>If more than one consumer doing content discovery (interest packet flooding) or more than one producer doing content name prefix announcement (data packet flooding) using blind flooding, it will lead to flooding overhead and probably lead to broadcast storm (<a href="https://en.wikipedia.org/wiki/Broadcast_radiation" target="_blank">https://en.wikipedia.org/wiki<wbr>/Broadcast_radiation</a>) on the local network. The only control mechanism that i found in the source code and nfd dev guide is interest suppression which are design for different purposes.</div></div></div></blockquote><div> </div><div>For the self-learning, only the first Interest will be flooded; subsequent Interests and Data packets are sent along a single path. If a flooded Interest reaches a node that has a matching FIB entry, the flooded Interest will not be flooded anymore. If multiple consumers send Interests with the same name, NFD will do Interest aggregation instead of sending redundant Interests out (this is a generic mechanism, not self-learning specific). Thus the self-learning will not lead to broadcast storm, but to avoid it.</div></div><div><br></div><div>Teng</div><div> </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 class="gmail-m_-6086425219404451663gmail-yj6qo gmail-m_-6086425219404451663gmail-ajU" style="margin:2px 0px 0px;font-size:12.8px"><div id="gmail-m_-6086425219404451663gmail-:9vp" class="gmail-m_-6086425219404451663gmail-ajR"><img class="gmail-m_-6086425219404451663gmail-ajT" src="https://ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div></div><span class="gmail-HOEnZb"><font color="#888888"><div><br></div>-- <br><div class="gmail-m_-6086425219404451663gmail_signature">Human knowledge Belongs to The World</div>
</font></span></div>
<br>______________________________<wbr>_________________<br>
Nfd-dev mailing list<br>
<a href="mailto:Nfd-dev@lists.cs.ucla.edu">Nfd-dev@lists.cs.ucla.edu</a><br>
<a href="http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev" rel="noreferrer" target="_blank">http://www.lists.cs.ucla.edu/<wbr>mailman/listinfo/nfd-dev</a><br>
<br></blockquote></div><br></div></div>