[ndnSIM] how to modify nonce field in Interest packet
huyao0107 at gmail.com
Wed May 1 18:13:11 PDT 2013
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?
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).
> 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
> ndn::AppHelper consumerHelper ("customConsumer");
> ApplicationContainer consumer = consumerHelper.Install (node);
> Am I right? Thanks a lot~
> 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 (
>> is responsible for detecting and scheduling retransmission of Interest.
>> 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 ~
>> 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 (
>>> (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.
>>> 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
>>> (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!
>>> ndnSIM mailing list
>>> ndnSIM at lists.cs.ucla.edu
>> ndnSIM mailing list
>> ndnSIM at lists.cs.ucla.edu
> ndnSIM mailing list
> ndnSIM at lists.cs.ucla.edu
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the ndnSIM