Project

General

Profile

Actions

Feature #3162

open

PIT: index with forwarding hint

Added by Junxiao Shi about 9 years ago. Updated over 7 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
Tables
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:
3.00 h

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.


Related issues 3 (2 open1 closed)

Related to NFD - Feature #3000: Design mobility with forwarding hintFeedback

Actions
Has duplicate NFD - Bug #3786: Interest with Link not forwarded after same Interest without Link is Nacked or timed outDuplicate09/16/2016

Actions
Blocks NFD - Feature #3163: Insert to CS with forwarding hintNew

Actions
Actions #1

Updated by Junxiao Shi about 9 years ago

  • Related to Feature #3000: Design mobility with forwarding hint added
Actions #2

Updated by Junxiao Shi about 9 years ago

  • Description updated (diff)
Actions #3

Updated by Junxiao Shi about 9 years ago

Actions #4

Updated by Junxiao Shi about 9 years ago

  • Description updated (diff)
Actions #5

Updated by Muhammad Hosain Abdullahi Sabet over 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.

Actions #6

Updated by Junxiao Shi over 8 years ago

Reply to note-5:

Yes, but there's also test suite.


This issue cannot start due to unresolved design problem in #3000-27 and #3333.

Actions #7

Updated by Muhammad Hosain Abdullahi Sabet over 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.

Actions #8

Updated by Junxiao Shi over 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.

Actions #9

Updated by Muhammad Hosain Abdullahi Sabet over 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?

Actions #10

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
Actions #11

Updated by Junxiao Shi over 7 years ago

  • Subject changed from PIT: index with Link to PIT: index with forwarding hint
  • Description updated (diff)
  • Target version deleted (v0.5)
Actions #12

Updated by Junxiao Shi over 4 years ago

Actions #13

Updated by Davide Pesavento over 4 years ago

Actions

Also available in: Atom PDF