[ndnSIM] Create Custom Interest Packet, Send it & Examine It

Spyridon (Spyros) Mastorakis mastorakis at cs.ucla.edu
Sat Nov 3 14:51:15 PDT 2018


Hi Arash,

ndnSIM is a platform that supports research and evolves as the research and understanding of NDN advances (it is not a product!). Therefore, changes will happen. This specific change has to do with the way that the NFD codebase and design evolves over time.

NFD uses NDNLP (NDN Link Protocol) that converts Interests and Data to Packets of the NDNLP layer. This is where the whole process is happening:

https://github.com/named-data-ndnSIM/NFD/blob/NFD-0.6.2-ndnSIM/daemon/face/generic-link-service.cpp <https://github.com/named-data-ndnSIM/NFD/blob/NFD-0.6.2-ndnSIM/daemon/face/generic-link-service.cpp>

Since you talked about documentation: Figure 6 and the related text explains the process: https://users.cs.fiu.edu/~afanasyev/assets/papers/mastorakis2017ndnsim.pdf <https://users.cs.fiu.edu/~afanasyev/assets/papers/mastorakis2017ndnsim.pdf>

The link to this paper is at multiple places on the ndnSIM website.

Thanks,

Spyridon (Spyros) Mastorakis
Personal Website: http://cs.ucla.edu/~mastorakis/ <http://cs.ucla.edu/~mastorakis/>
Internet Research Laboratory
Computer Science Department
UCLA

> On Nov 3, 2018, at 2:34 PM, Arash Daneshmand <arash.outline at gmail.com> wrote:
> 
> Dear Spyridon, 
> Thank you for your reply.
> 
> The Function NetDeviceTransport::doSend(Packet&& packet) gets a NFD packet as an input and convert it to a ns3 Packet and has nothing to do with INTEREST.
> 
> How Can I convert an interest to a ns3 packet?? It can't be that hard ! Either I'm a slow learner or ndnSim has lack of documentation.
> 
> Thank You In advance for your help,
> 
> On Sat, Nov 3, 2018 at 8:00 PM Spyridon (Spyros) Mastorakis <mastorakis at cs.ucla.edu <mailto:mastorakis at cs.ucla.edu>> wrote:
> And these methods still exist with another name:
> 
> https://github.com/named-data-ndnSIM/ndnSIM/blob/8821d3e61095407b7f59f374e203eeb3b04c62f5/model/ndn-net-device-transport.cpp#L100-L136 <https://github.com/named-data-ndnSIM/ndnSIM/blob/8821d3e61095407b7f59f374e203eeb3b04c62f5/model/ndn-net-device-transport.cpp#L100-L136>
> 
> Thanks,
> 
> Spyridon (Spyros) Mastorakis
> Personal Website: http://cs.ucla.edu/~mastorakis/ <http://cs.ucla.edu/~mastorakis/>
> Internet Research Laboratory
> Computer Science Department
> UCLA
> 
>> On Nov 3, 2018, at 9:25 AM, Arash Daneshmand <arash.outline at gmail.com <mailto:arash.outline at gmail.com>> wrote:
>> 
>> Dear Spyridon,
>> Thank you for replying to my problem.
>> I've checked the example section in ndnSim website and all of them use the class ndn::AppHelper to create a consumer and producer.
>> what I'm trying to do is build a custom interest ,convert it to a packet and send it to the network. I've made the interest using these commands :
>> 
>>     shared_ptr<Interest> interest3 = make_shared<Interest>();
>>     interest3->setNonce(6);
>>     interest3->setName("interest3");
>>     time::milliseconds interestLifeTime(2);
>>     interest3->setInterestLifetime(interestLifeTime);
>> 
>> now I want to convert the interest to a packet. ndnSim used to have a class (in versions 2.2 & before) called ns3::ndn::Convert that did the job using these functions : 
>> 
>> ns3::ndn::Convert::ToPacket< Data >(const T & pkt)     
>> ns3::ndn::Convert::FromPacket< Data > (Ptr< Packet > packet)
>> 
>> what I need now is these exact functions to convert interest to packets.
>> 
>> Thank You In Advance for your Kind help.
>> 
>> On Sat, Nov 3, 2018 at 7:13 PM Spyridon (Spyros) Mastorakis <mastorakis at cs.ucla.edu <mailto:mastorakis at cs.ucla.edu>> wrote:
>> Arash,
>> 
>> we have a number of simulation examples and applications on the ndnSIM website:
>> 
>> http://ndnsim.net/current/ <http://ndnsim.net/current/>
>> 
>> Thanks,
>> 
>> Spyridon (Spyros) Mastorakis
>> Personal Website: http://cs.ucla.edu/~mastorakis/ <http://cs.ucla.edu/~mastorakis/>
>> Internet Research Laboratory
>> Computer Science Department
>> UCLA
>> 
>>> On Nov 3, 2018, at 1:33 AM, Arash Daneshmand <arash.outline at gmail.com <mailto:arash.outline at gmail.com>> wrote:
>>> 
>>> Hello Again,
>>> 
>>> What I'm trying to do is create a custom interest with a prefix in the consumer, convert it to a packet, send it through a socket connection to the producer.
>>> when the producer received the custom interest packet, extract it's prefix and check if the requested data is available , and then create a custom data , convert it to a packet and send it back to the consumer through a socket connection.
>>> 
>>> some examples or pieces of c++ codes to do such a thing would help me a lot.
>>> 
>>> Is it possible to create such a scenario and do the whole thing manually? 
>>> 
>>> Thanks,
>>> Arash
>>> 
>>> On Fri, Nov 2, 2018 at 9:27 PM Arash Daneshmand <arash.outline at gmail.com <mailto:arash.outline at gmail.com>> wrote:
>>> Dear Junxiao Shi,
>>> 
>>> what are the required includes for these functions?
>>> I got no setParameter() and  getParameters() for my created interest.
>>> 
>>> Thanks,
>>> Arash
>>> 
>>> On Fri, Nov 2, 2018 at 4:09 PM Junxiao Shi <shijunxiao at email.arizona.edu <mailto:shijunxiao at email.arizona.edu>> wrote:
>>> Hi Arash
>>> 
>>> Interest interest("/A"); // create Interest
>>> interest.setParameters("C0C1C2C3"_block); // add payload
>>> face.expressInterest(interest, onData, onNack, onTimeout); // send Interest
>>> std::cout << interest.getParameters(); // examine payload
>>> 
>>> Yours, Junxiao
>>> 
>>> On Fri, Nov 2, 2018 at 08:25 Arash Daneshmand <arash.outline at gmail.com <mailto:arash.outline at gmail.com>> wrote:
>>> Greetings,
>>> 
>>> I want to create a custom interest packet with my custom payload and send it through the consumer. I want to be able to examine the interest and response packets in the consumer and producer. 
>>> I was hoping you could help me with some examples or pieces of c++ codes.
>>> 
>>> Thank You In Advance,
>>> Arash Daneshmand
>>> 
>> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20181103/47a13cf1/attachment-0001.html>


More information about the ndnSIM mailing list