Project

General

Profile

ScopeControl » History » Version 3

Junxiao Shi, 11/06/2016 07:48 AM

1 1 Junxiao Shi
# Namespace-based Scope Control
2
3
NFD performs scope control of Interest and Data according to their namespace.
4
5
## localhost Scope
6
7
The localhost scope limits propagation to the applications on the originating host.
8
9
Interest and Data packets under prefix `ndn:/localhost` are restricted by these rules:
10
11 2 Junxiao Shi
* Interest can come from and go to local faces only.
12
* Data can come from and go to local faces only.
13 1 Junxiao Shi
14
### local face
15
16
Whether a face is considered "local" for scope control purpose is determined by the face implementation.
17 2 Junxiao Shi
[[FaceMgmt#Static-Face-Attributes|FaceScope]] attribute indicates whether a face is local or non-local.
18 1 Junxiao Shi
19
Generally, the following faces are local:
20
21 2 Junxiao Shi
* internal face for NFD [[Management]]
22 1 Junxiao Shi
* UNIX-domain socket face
23
* TCP face whose remote address is a loopback address
24
* WebSocket face whose remote address is a loopback address
25
26 2 Junxiao Shi
A local process may connect as non-local by establishing a TCP or WebSocket connection to the IP address of a non-loopback NIC of the local machine.
27 1 Junxiao Shi
Since this IP address is not a loopback address, the face would be non-local.
28
This is desirable in scenarios such as a protocol translator.
29
30
## localhop Scope
31
32 3 Junxiao Shi
The localhop scope limits propagation to no further than the next node. This scope is applied to `ndn:/localhop` namespace.
33 1 Junxiao Shi
34 3 Junxiao Shi
Interest packets are restricted by these rules:
35 1 Junxiao Shi
36 3 Junxiao Shi
* If an Interest is received from a local face, it can be forwarded to a non-local face.
37
* If an Interest is received from a non-local face, it cannot be forwarded to a non-local face.
38
* In either case the Interest can be forwarded to a local face.
39 1 Junxiao Shi
* PIT entry can be satisfied by Data from any source.
40
41 3 Junxiao Shi
Data packets are unrestricted.
42 1 Junxiao Shi
43
The localhop scope allows an Interest packet to travel only one hop from the consumer host, but a Data packet may travel multiple hops from the producer host.
44
Suppose we have three hosts A-B-C in a linear topology, B can retrieve a Data under /localhop namespace from C, and this Data is cached in B's ContentStore.
45
Later A sends an Interest to B; although B cannot forward this Interest to C, the cached Data can satisfy the Interest and would be returned to A.