named-data / mini-ndn

Mininet-based NDN emulator (mailing list: http://www.lists.cs.ucla.edu/mailman/listinfo/mini-ndn)
https://minindn.memphis.edu
GNU General Public License v3.0
72 stars 41 forks source link

Individual NFD #52

Closed RafaelDBeltran closed 1 year ago

RafaelDBeltran commented 3 years ago

How i can run in each host of mini-ndn one NFD?

Scenario: I want to close the NFD just in one host not in the others. Thats is possible?

dulalsaurab commented 3 years ago

How i can run in each host of mini-ndn one NFD?

Do you want to run just one NFD for all the nodes? If so, this is not possible. Each node in Mini-NDN runs a separate instance of NFD (forwarder). This is a required condition for ndn communication.

Scenario: I want to close the NFD just in one host not in the others. Thats is possible?

Yes, you can close NFD in one host, but then the host will not take part in ndn communication, you won't be able to transfer any ndn packets via it. Can you please elaborate on what is your use case, what are you trying to achieve doing this?

RafaelDBeltran commented 3 years ago

I am developing an experimental assessment environment for ICN. I am testing node failure cases. So I asked about the feasibility of turning off one NFD without turning off the others.

RafaelDBeltran commented 3 years ago

I expressed myself poorly in the first question, I wanted to say close only one NFD without closing the others in a node. In my execution all NFDs are closed when use the nfd-stop on node A for example.

dulalsaurab commented 3 years ago

You can do the following to stop/start nfd/nlsr in each node.

nlsrs[node.name].stop() nfds[node.name].stop()

nfds[node.name].start() nlsrs[node.name].start()

don't forget to initialize nfds and nlsrs instances like here - > https://github.com/named-data/mini-ndn/blob/master/examples/nlsr/mcn_failure.py#L80

Look at the following experiments. It is doing something similar to what you are looking for.

https://github.com/named-data/mini-ndn/blob/master/examples/nlsr/multiple_failure.py https://github.com/named-data/mini-ndn/blob/master/examples/nlsr/mcn_failure.py#L53