Project

General

Profile

Feature #4813

Face.putNack

Added by Junxiao Shi 26 days ago. Updated 25 days ago.

Status:
New
Priority:
Normal
Assignee:
-
Start date:
Due date:
% Done:

0%

Estimated time:

Description

Nack packet enables a producer application to tell the network that certain content is temporarily unavailable.
Face class should have a putNack method that allows transmitting a Nack packet.

History

#1 Updated by Jeff Thompson 26 days ago

I thought that ndn-cxx has putNack so that NFD can send a network Nack to say that a route prefix is unavailable. You are talking about allowing the application to use a network and routing level message as an application Nack to say some particular file is not available.

#2 Updated by Jeff Thompson 26 days ago

... If the application wants to tell NFD that it can't respond to Interests for a prefix, then it should unregister that prefix. Then, NFD will send the Nack.

#3 Updated by Junxiao Shi 25 days ago

If the application wants to tell NFD that it can't respond to Interests for a prefix, then it should unregister that prefix. Then, NFD will send the Nack.

Unregistering is not always an option. Consider a producer that serves everything under /A except /A/B. It cannot unregister /A because it serves this prefix, but it needs to reply a Nack to any Interest under /A/B, signalling the network to quickly try an alternative path.

#4 Updated by Jeff Thompson 25 days ago

Does NFD really work like that? Suppose the network has a route to NFD for /A, and the application registers to receive interests for /A. Then a consumer somewhere sends an interest for /A/B/junxiao/videos/cats.mp4/v1 . It arrives at the producer which sends a network Nack. Will every NFD in the network update its FIB to continue sending interest for /A, but not for /A/B/junxiao/videos/cats.mp4/v1 ?

#5 Updated by Junxiao Shi 25 days ago

Receiving a Nack from producer tells NFD forwarding strategy that the content isn't available. The strategy implementation may try alternative paths and stop sending more Interests.

#6 Updated by Jeff Thompson 25 days ago

Suppose the producer can answer an interest for older content like /A/B/junxiao/videos/cats.mp4/v0, but not for newer content like /A/B/junxiao/videos/cats.mp4/v1 . So if it gets an interest for /A/B/junxiao/videos/cats.mp4/v1 it sends a network Nack. You say the forwarding strategy will maintain detailed information of the different routing for /A/B/junxiao/videos/cats.mp4/v0 and /A/B/junxiao/videos/cats.mp4/v1 (and possibly hundreds of other differences in which content the producer does or doesn't have). Is that actually implemented?

#7 Updated by Junxiao Shi 25 days ago

best-route and self-learning strategies have some implementation of fine-grained forwarding information. These information are stored in NFD’s measurements table. There are thousands of entries, but unused entries will expire after a few minutes.

Also available in: Atom PDF