Task #1253
closedScope control for /localhop Interests
100%
Description
Develop a mechanism to restrict the propagation of Interests under /localhop namespace.
Rules¶
- Interest under /localhop can come from a local app or a remote host.
- If PIT entry under /localhop has at least one InRecord from a local app, it can be forwarded to local apps and remote hosts.
- If PIT entry under /localhop has all InRecords from remote hosts, it can only be forwarded to local apps.
- PIT entry under /localhop can be satisfied by Data from any source.
Breakdown¶
Face should have a property to tell whether it represents a local app.
PIT entry should have a method to tell whether at least one InRecord is from a local app.
Outgoing Interest pipeline should enforce the rules to restrict Interest propagation.
Strategy may understand this scope and make smart forwarding decision.
Updated by Junxiao Shi over 10 years ago
- Subject changed from Scope control for /locallink Interests to Scope control for /link-local Interests
- Description updated (diff)
- Estimated time set to 4.00 h
20140222 conference call decides to change namespace from /locallink
to /link-local
, which follows convention.
We discussed whether /link-local Interest can propagate to local apps:
- argument for inclusive scope (/link-local can propagate to local apps): when the consumer sends an Interest, it does not care where the Data comes from.
- argument for exclusive scope (/link-local can only go to remote nodes): the consumer needs precise control; a local producer might be malicious and is trying to fool the consumer.
No consensus was reached. The current rule is equivalent to CCNx Scope=2 (inclusive scope), and remains unchanged.
Updated by Junxiao Shi over 10 years ago
- Subject changed from Scope control for /link-local Interests to Scope control for /localhop Interests
- Description updated (diff)
- Assignee set to Junxiao Shi
20140223 conference call again changes the namespace to /localhop
, because its semantic is different from link-local in IP, so a different name should be used to avoid confusion.
Scope has two distinct meanings:
- vicinity: Name is relative to some anchor
- boundary: Data cannot leave a certain area
/localhop
takes the first meaning. It only limits Interest propagation.
Updated by Junxiao Shi over 10 years ago
- Status changed from New to In Progress
- Start date set to 03/13/2014
Updated by Junxiao Shi over 10 years ago
- Status changed from In Progress to Code review
- % Done changed from 0 to 40
I359747688568934070d1583995957835ac690f28
Outgoing Interest pipeline can enforce /localhop scope.
A later commit will make some of the strategies understand this scope.
Updated by Junxiao Shi over 10 years ago
- Status changed from Code review to In Progress
Pipeline is merged. I'll work on strategies.
Design: PIT entry or strategy base class should have an attribute to determine whether forwarding to outFace would violate scope. Strategies can use this attribute to decide where to forward.
Updated by Junxiao Shi over 10 years ago
- Status changed from In Progress to Code review
- % Done changed from 40 to 80
Strategies now understand scope control, and can also avoid forwarding an Interest back to its incoming Face.
Updated by Junxiao Shi over 10 years ago
- Status changed from Code review to Closed
- % Done changed from 80 to 100