[ndnSIM] can't get Nack when congestion

Xiaoke Jiang shock.jiang at gmail.com
Sun Mar 10 19:04:17 PDT 2013


Hi Lixia, Alex,
	Intermediate routers do retry but not retransmit, that's what I mean in my last email. I am sorry for the wrong expression.


thanks

My Regards,
Xiaoke Jiang (蒋小可)

Ph.D Candidate,
Dept. of Computer Science and Technology,
Tsinghua University, P. R. China

On Mar 10, 2013, at 10:20 PM, Lixia Zhang <lixia at CS.UCLA.EDU> wrote:

> 
> On Mar 10, 2013, at 5:18 AM, Xiaoke Jiang <shock.jiang at gmail.com> wrote:
> 
>> Hi Alex,
>> 	First, I have fix the hop count = -1 (test passed), maybe we can merge this first. I have sent you a pull request on GitHub. I am also try to design two tags.
>> 
>> P,S,  Is there any way to make the Forward Strategy works like IP?  Because I want to compare NDN with IP, no retransmission on the middle node, I mean the Nack/timeout leads to rechoose another path and leave all the retransmission work to end nodes. And of course, only one path is selected for one prefix.
> 
> I happened to cross this msg (apology for jumping in the middle of a dialog): I would like to better understand exactly what you concern is.  as I understand, intermediate routers only do retries (in your word, rechoose another path).
> 
> Retransmission is indeed the responsibility of end nodes; NDN network does not guarantee reliable delivery of Interest.
> 
> 
>> thanks
>> 
>> My Regards,
>> Xiaoke Jiang (蒋小可)
>> 
>> Ph.D Candidate,
>> Dept. of Computer Science and Technology,
>> Tsinghua University, P. R. China
>> 
>> On Mar 10, 2013, at 5:14 AM, Alex Afanasyev <alexander.afanasyev at ucla.edu> wrote:
>> 
>>> Hi Xiaoke,
>>> 
>>> I like the idea of creating a separate tag just to track content hops.  We can actually create a two classes derived from the existing FwHopCountTag, one to track Interest hops (including all the NACKing) and one explicitly for ContentObject hops.
>>> 
>>> I wouldn't do increase by 2, as application can figure out itself that real number of round-trip hops is twice as many as just content object hops (or we can have a helper method for that).
>>> 
>>> There are several places where new tag needs to be created/updated: ndn-face.cc (somewhere around line 132), ndn-forwarding-strategy.cc (around line 183), and of course in nacks.cc, ndn-consumer.cc, and ndn-producer.cc.
>>> 
>>> As for the current hopCount tag, there are legitimate cases when you will get odd number.  I can't exactly recall right now what they are, but I think it is related to cached content objects.
>>> 
>>> 
>>> Thanks for the help,
>>> Alex
>>> 
>>> 
>>> On Mar 8, 2013, at 7:56 PM, Xiaoke Jiang <shock.jiang at gmail.com> wrote:
>>> 
>>>> Hi Alex,
>>>> 	I would like to try to solve it with second solution. Now here is my design: add a new tag, named TX-tag for content packet, after Interest meets a Content, we add the TX-tag to the content with initial value 0 and the TX increase by 2 every time. What do you think?
>>>> 
>>>> 	And of course, we should let onNack function add the hopCount Tag.
>>>> 
>>>> As to hopCount, is must be an even number, right? bug I get some odd number. The amount is very small, but I do get.
>>>> 
>>>> 
>>>> thanks
>>>> 
>>>> My Regards,
>>>> Xiaoke Jiang (蒋小可)
>>>> 
>>>> Ph.D Candidate,
>>>> Dept. of Computer Science and Technology,
>>>> Tsinghua University, P. R. China
>>>> 
>>>> On Mar 9, 2013, at 3:43 AM, Alex Afanasyev <alexander.afanasyev at ucla.edu> wrote:
>>>> 
>>>>> Hi Xiaoke,
>>>>> 
>>>>> Not exactly.  Right now -1 will be returned either for Interests or ContentObject, if the Interest on the way get "bounced" with NACKs at least one.
>>>>> 
>>>>> Let me illustrate with a simple example:
>>>>> 
>>>>> C----R1---X
>>>>>      |
>>>>>      +----R2----P
>>>>> 
>>>>> C sends an interest and R1 originally forwards it towards X.  X sends out NACK (which is Interest with NACK code in it) back to R1.  At this point, HopCounter tag got destroyed, so when P finally receives the Interest (which will no longer be NACK), this interest will not have HopCounter tag attached, making producer not to include HopCounter tag to the content object.   Finally, when C gets back data, this data will not have a HopCounter tag, and will return -1 for DATA.
>>>>> 
>>>>> In a simple fix, we should just keep along the original HopCounter tag when Interest-NACKs are getting created in ndn::fw::Nacks (model/fw/nacks.cc).  In a better solution, and I would really appreciate if you can help with implementation, we probably need to count real hops and NACKed hops slightly separately.  For example, there should be counter to track number of hops that data packet followed, number of hops including all NACK returns, and may be something else.
>>>>> 
>>>>> Thanks,
>>>>> Alex

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


More information about the ndnSIM mailing list