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. |