[ndnSIM] how to modify nonce field in Interest packet

yao hu huyao0107 at gmail.com
Wed May 1 18:13:11 PDT 2013


Hi Alex,

Thanks a lot. I am looking into the related code but I am not sure if it
also applies to requester? Because there is no PIT entry to check for a
requester or consumer. What to do to change or control the requester
behavior when retransmitting the interest?

Regards,
huyao


2013/5/2 Alex Afanasyev <alexander.afanasyev at ucla.edu>

> Hi huyao,
>
> Not really.  An application has basically no control on how exactly and to
> where its interests are getting forwarded.
> Moreover, an application does not know (and should not know) anything
> about other faces of an NDN router.
>
> Actually, there is already some code (this is part of the forwarding
> strategy) that attempts to use different faces if interest is
> retransmitted.  If an NDN router receives an interests for which there is
> an outstanding PIT entry, and this interest is coming from the face from
> which the router has already received an interest (with different nonce),
> such an interest is considered a retransmission and there is an attempt to
> forward the interest somewhere else.
>
> ndn::ForwardingStrategy::DetectRetransmittedInterest method defines the
> retransmission detection logic.
> ndn::ForwardingStrategy::CanSendOutInterest  performing some checking to
> determine whether an interest should be forwarded on the face or not,
> considering possible retransmission (this call is used in
> DoPropagateInterst by the implemented forwarding strategies).
>
> ---
> Alex
>
> On May 1, 2013, at 8:22 AM, yao hu <huyao0107 at gmail.com> wrote:
>
> Hi Alex,
>
> Thanks for your answer. I am sorry there is one more question after this.
> How to re-send timed out interest to all faces, not retransmit it to the
> same face again? Do I have to write my own "customConsumer", and do the
> following
> ndn::AppHelper consumerHelper ("customConsumer");
> ApplicationContainer consumer = consumerHelper.Install (node);
>
> Am I right? Thanks a lot~
>
> Regards,
> huyao
>
>
>
> 2013/4/29 Alex Afanasyev <alexander.afanasyev at ucla.edu>
>
>> Hi huyao,
>>
>> Actually, each retransmitted Interest by ndn::Consumer* application gets
>> its own "unique" (random) nonce.
>>
>> Consumer::CheckRetxTimeout method (
>> https://github.com/NDN-Routing/ndnSIM/blob/master/apps/ndn-consumer.cc#L122)
>> is responsible for detecting and scheduling retransmission of Interest.
>>
>> ---
>> Alex
>>
>> On Apr 28, 2013, at 7:12 PM, yao hu <huyao0107 at gmail.com> wrote:
>>
>> Hi Alex,
>>
>> Thanks for your reply. I see.
>>
>> One more question is about interest time out or retransmission. Is there
>> a method or function to deal with Interest retransmission or retransmission
>> queue in ndnsim? How about adding a new value to the nonce field in
>> retransmission Interest packet to differentiate it from the orginal one?
>>
>> I assume that by default the original Interest and the retransmission
>> Interest if timeout happens should be the same format, right?
>>
>> Thanks a lot ~
>>
>> Regards,
>> huyao
>>
>>
>>
>> 2013/4/29 Alex Afanasyev <alexander.afanasyev at ucla.edu>
>>
>>> Hi huyao,
>>>
>>> (1) The application is fully responsible to put the nonce into the
>>> interests. ndn::Consumer-based applications put nonce from uniform
>>> distribution (
>>> https://github.com/NDN-Routing/ndnSIM/blob/master/apps/ndn-consumer.cc#L206
>>> )
>>>
>>> (2) There is  GetNonce() method for ndn::Interest class
>>>
>>> (3) If you write your own app, you just set nonce using SetNonce method.
>>>  If you want to reuse existing consumers, then you probably need to change
>>> their implementation to some extent.
>>>
>>> ---
>>> Alex
>>>
>>> On Apr 28, 2013, at 7:06 AM, yao hu <huyao0107 at gmail.com> wrote:
>>>
>>> Hi Alex,
>>>
>>> ndnsim documents says nonce field is filled with a value of uint32_t
>>> type. Could you please tell
>>>
>>> (1) what value is filled in nonce field in the current Interest packet
>>> implementation.
>>>
>>> (2) how to get the nonce value when receiving Interest packet?
>>>
>>> (3) is it possible to fill a self-defined value into nonce field?
>>>
>>> Thanks very much!
>>>
>>> Regards,
>>> huyao
>>> _______________________________________________
>>> ndnSIM mailing list
>>> ndnSIM at lists.cs.ucla.edu
>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim
>>>
>>>
>>>
>> _______________________________________________
>> ndnSIM mailing list
>> ndnSIM at lists.cs.ucla.edu
>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim
>>
>>
>>
> _______________________________________________
> ndnSIM mailing list
> ndnSIM at lists.cs.ucla.edu
> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20130502/693a77b8/attachment.html>


More information about the ndnSIM mailing list