Task #3606
closed
Set the Interest nonce before saving in the PIT
Added by Anonymous over 8 years ago.
Updated over 8 years ago.
Description
expressInterest makes a copy of the supplied Interest. But currently the nonce is only set when in the wire encoding. expressInterest should call resetNonce() to set the nonce in the Interest copy that is saved in the PIT, before wire encoding. This way, it can be compared with the Interest (including nonce) in an incoming Nack packet.
Just a quick question: Why is it important to compare the nonce of the NACK with the nonce in the PIT? Isn't it enough to compare the content name?
Why should the nonce of the NACK match the nonce of any Interest in the first place?
I asked this in an email to Junxiao, who said:
From protocol point of view, the Nack must be able to locate the correct PIT entry, which requires it to have the same Name, Selectors, and Link as the original Interest.
The Nack must also carry the latest Nonce coming from the downstream. Otherwise, in case a Nack and a retransmitted Interest are in-flight at the same time between an upstream and a downstream, if the downstream ignores the Nonce and accepts the Nack, it would incorrectly conclude that the upstream cannot answer its retransmitted Interest while the upstream is actively trying to find content for its retransmitted Interest.
Thanks! I'll reply to the email.
- Status changed from New to Closed
Changes are committed in all libraries.
Also available in: Atom
PDF