Feature #3162
openPIT: index with forwarding hint
0%
Description
Include forwarding hint as part of PIT index.
Necessity
Forwarding with forwarding hint leads to concerns about denial-of-service with malicious forwarding hints.
For example, Mallory may express Interests at a high rate for popular contents with Link [{10,ndn:/mallory}], and setup a producer at ndn:/mallory network to return fake Data. After Mallory's Interest is forwarded, other Interests requesting same contents with no or different forwarding hints would be aggregated into the PIT entry created by Mallory's Interest, and they won't be able to receive legit Data.
Solution
The PIT should be logically partitioned according to the forwarding hint.
By including the forwarding hint as part of PIT index, Mallory's Interest would have a different PIT entry than other Interests with same name and Selectors. This solution eliminates this type of denial-of-service, because Interests with different forwarding hints are forwarded separately and not aggregated, so that Mallory's Interest cannot affect Interests without Mallory's forwarding hint.
This issue includes:
- PIT entry: forwarding hint getter
- PIT index: include forwarding hint as part of index
- PIT lookup: perform exact match on Name+Selectors+ForwardingHint
- PIT match Data: incoming Data can match a PIT entry only if incoming face has an out-record;
special case: if PIT Interest name ends with an implicit digest, any Data that satisfies the implicit digest can match it
NFD Developer Guide should be updated as part of this issue.
Updated by Junxiao Shi about 9 years ago
- Related to Feature #3000: Design mobility with forwarding hint added
Updated by Junxiao Shi about 9 years ago
- Blocks Feature #3163: Insert to CS with forwarding hint added
Updated by Muhammad Hosain Abdullahi Sabet about 8 years ago
By:
PIT lookup: perform exact match on Name+Selectors+Link
You mean modifying pit:insert() in incomingInterestPipeline? If so, it's a matter of adding 50 characters I think.
Updated by Junxiao Shi about 8 years ago
Updated by Muhammad Hosain Abdullahi Sabet about 8 years ago
Reply to note-6:
I'm not familiar with test suite here. If there is a guide or something, I'll be happy to get involved.
Updated by Junxiao Shi about 8 years ago
Reply to note-7: The guide for writing test suites is on UnitTesting page.
However, this issue cannot start until design problems in #3000-27 and #3333 are resolved, which can take months or years.
You may participate in NFD calls to help resolving design problems.
Updated by Muhammad Hosain Abdullahi Sabet about 8 years ago
Rep. to note-8:
I will for Thursday calls, if possible. For now, it seems bluejeans has banned our IP addresses.
Meanwhile, #3333-4 is the last status, right? Is there anything more to know?
Updated by Junxiao Shi about 8 years ago
- Has duplicate Bug #3786: Interest with Link not forwarded after same Interest without Link is Nacked or timed out added
Updated by Junxiao Shi about 7 years ago
- Subject changed from PIT: index with Link to PIT: index with forwarding hint
- Description updated (diff)
- Target version deleted (
v0.5)
Updated by Junxiao Shi over 4 years ago
- Blocks Feature #5105: PIT lookup with shortened Nack added
Updated by Davide Pesavento over 4 years ago
- Blocks deleted (Feature #5105: PIT lookup with shortened Nack)