[ndnSIM] Questions about ConsumerWindow

Alex Afanasyev alexander.afanasyev at ucla.edu
Thu Jun 20 09:01:30 PDT 2013

Hi Matteo,

Your understanding about retransmission timeout in ndn::Consumer* and interest lifetime is correct---they are not directly related to each other. Interest lifetime parameter is configured, while retransmission timer is automatically set based in te observed RTT.

There is on difference in the interest processing on router in your simple example. The router, seeing new interest from the client while it still has a pending interest for the same name, will not discard it, but will use it as a signal that client did't receive data within the expected time and wants to retry.  This signal, in the simple example will result in simply forwarding the interest again to the producer, in more complex example when the router has multiple paths to the producer, an alternative face could be tried.

Basically, interest lifetime is just a parameter indicated by the client (which may or may not be used by routers), specifying for how long the clients is willing to wait for the data arrival.  It doesn't necessarily mean that the client cannot detect that something bad happened before that time, and if detected, it can reexpress the interest, signaling routers for assistance (e.g., without the existing PIT entry, routers would be unaware that client is reexpressing the same interest, not just sending a new one).

You may want to check retransmission detection method in model/fw/ndn-forwarding-strategy.cc to see what is the exact logic.  This retransmission detection can actually be disabled, making routers behave the same way you described, but it would result in inability of clients to signal about non-received data via interest retransmission.


On Jun 20, 2013, at 1:37 AM, Matteo Virgilio <matteo.virgilio at polito.it> wrote:

> Hi All,
> I'm working on ndnSim and I have some questions about the ConsumerWindow. I'm somewhat unclear about the retransmissions management. It seems that the value used for the retransmission timeout is not the one used for the interest lifetime value, in fact in CheckRetxTimeout() only the rtt is considered (or an estimation of it). So, when this timeout occurs, a new interest packet (for the same name) is scheduled for retransmission. Is this right?
> If yes, I have another question, let's assume the following (simple) scenario:
> and we assume the clients is using 4s as interest lifetime. The client sends out one interest but the response doesn't arrive (for any reason). If the client retransmits the interest on a RTT basis (RTT could be very small with respect to the lifetime), it will see its interest discarded by the router because the router already has an (alive) entry for that name. So this kind of retransmission is useless. This lead to my final question: how is exactly managed the retransmission in consumerWindow implementation? What I'm missing?
> Thanks in advance.
> Best regards.
> Matteo
> _______________________________________________
> ndnSIM mailing list
> ndnSIM at lists.cs.ucla.edu
> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim

More information about the ndnSIM mailing list