[ndnSIM] [EXT] Packets Processing on Consumer

Puming Fang pfang at umass.edu
Sat Apr 24 18:20:02 PDT 2021


Hi Junxiao,

Thanks for your reply.

To guarantee that the Interest “/b" can reach Node 3, I changed the forwarding strategy to broadcast (custom strategy).

Interesting thing happens. Node 1 starts to accept Data “/b" from Node 3.

In this experiment the Interest “/a/b” is forwarded to the application in Node 3, and the application responds with Data “/b”, then Data “/b” is forwarded to node 1 that requests “/b”.

Is that what’s happening in the experiment?

Thank you,
Puming

> On Apr 24, 2021, at 6:18 PM, Junxiao Shi <shijunxiao at email.arizona.edu> wrote:
> 
> Hi Puming
> 
> Node1 does not have a route for the /b prefix, so that the Interest is dropped right there without leaving Node1.
> 
> Even if the Interest somehow reached Node3, the forwarder on that node would not accept the Data from the application face, because the Interest was never forwarded to the application.
> See https://www.lists.cs.ucla.edu/pipermail/ndn-interest/2018-April/002147.html <https://www.lists.cs.ucla.edu/pipermail/ndn-interest/2018-April/002147.html> for rationale.
> 
> Yours, Junxiao
> 
> On Sat, Apr 24, 2021 at 5:53 PM Puming Fang <pfang at umass.edu <mailto:pfang at umass.edu>> wrote:
> External Email
> 
> Dear NDN team,
> 
>  
> 
> My name is  Puming Fang. I am  a newbie to ndnSIM, and have introduced myself to ndnSIM by implementing a few interesting experiments.
> 
>  
> 
> Here is one of them and I am very curious about why this happened.
> 
>  
> 
>            Node1
> 
>                  |
> 
> Node 0---Node2---Node3
> 
>  
> 
> Node 0 sends out Interest “/a/b” to request Data.
> Node 1 sends out Interest “/b” to request Data.
> Node 3 is initialized with a producer of “/a/b”, but I made a slight change on Node 3 in producing Data: When Node 3 receives the Interest “/a/b”, it removes “/a” from “/a/b” and then responds with Data “/b”.
> Below is how node 3 removes “/a” from “/a/b” in Function Producer::OnInterest.
> 
> ---------------------------------------------------------------
> 
> App::OnInterest(interest); // tracing inside
> 
>  
> 
>   if (!m_active)
> 
>     return;
> 
>     
>   Name dataName(interest->getName());
> 
>   dataName.erase(0);
> 
> ------------------------------------------------------------------
> 
>  
> 
> Obviously Node 0 didn’t receive the requested Data  from Node 3. The interesting thing is that Node 1 didn’t receive Data “/b” from Node 3 either.  Can anyone please explain to me why this happened?
> 
>  
> 
> Your help would be greatly appreciated.
> 
>  
> 
> Thanks,
> 
> Puming
> 
>  

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20210424/1836ff6f/attachment.html>


More information about the ndnSIM mailing list