Task #1676
closed
Allow strategies to send the same Interest via the same outgoing face before the previous out-record expires
Added by Alex Afanasyev over 10 years ago.
Updated over 8 years ago.
Description
It is desirable for some strategies to do retransmission of Interests before the existing out-record expires.
One example of this is a strategy with "retransmission detection" (or may be it should be a separate module), which considers the seconds Interest with a different nonce received from the same face as re-expressed by the client (e.g., client detected a loss using equivalent of triple duplicate ACK in TCP), and retransmits this Interest even if there are existing out-record(s).
- Assignee set to Junxiao Shi
I can confirm that this restriction is not enforced in outgoing Interest pipeline.
However, pit::Entry::canForwardTo
returns false if an unexpired out-record exists, informing the strategy that the upstream is not eligible.
We should change this method, but the change shall be careful not to break existing strategies.
- Description updated (diff)
Question: if strategy decides to forward a similar Interest to an outFace with unexpired out-record, is the Nonce required to be different from the previous one recorded in the out-record?
My opinion is YES, because using a duplicate Nonce causes the Interest to be dropped at the nexthop (unless it's lost at this particular link).
If the consumer retransmits, we already have a new Nonce to use.
Nonce should be different. This particular issue is more about consumer retransmission detection (nonce here is by definition different), rather strategy-decided retransmission. But in any case, there is no point of sending the Interest that can be considered duplicate.
It's inaccurate to say "Nonce of consumer retransmission is by definition different", because there isn't a definition for consumer retransmission yet.
In CCNx 0.7.2, when same Nonce arrives from the same face, it's treated as consumer retransmission and not a duplicate.
- Target version changed from v0.3 to v0.5
- Status changed from New to Closed
As indicated in note-1, outgoing Interest pipeline allows a strategy to send Interest before out-record expires.
pit::Entry::canForwardTo
has been renamed as fw::canForwardToLegacy
in #3545 and it's not recommended for new strategies.
The restriction indicated in this issue description no longer exists, and this issue can be closed.
Also available in: Atom
PDF