Presentation is loading. Please wait.

Presentation is loading. Please wait.

Forwarding Hint in NFD Junxiao Shi, 2015-05-20 1.

Similar presentations


Presentation on theme: "Forwarding Hint in NFD Junxiao Shi, 2015-05-20 1."— Presentation transcript:

1 Forwarding Hint in NFD Junxiao Shi, 2015-05-20 1

2 Overview Forwarding hint is a scheme for mobility support in a large NDN network. See #2587 link.pdf for protocol definition.link.pdf This document describes how forwarding hint feature is to be implemented in NFD. Some features are beyond the minimal necessary features, and will not be implemented in the first stage. 2

3 How Forwarding Hint Works 3

4 Forwarding within consumer region regular Interest: /ndnsim/index.htm NACK: /ndnsim/index.htm is unroutable NDNS query for /ndnsim/index.htm NDNS reply for /ndnsim/index.htm /ndnsim is available at /att/ndnsim and /ucla/ndnsim Interest: /ndnsim/index.htm Link object: /ndnsim is delegated to /att/ndnsim and /ucla/ndnsim consumer consumer region edge router (first default-free router) NDNS nameserver 4

5 Forwarding across the Internet consumer region edge /cox/router1 intermediate router /level3/router2 producer region edge /att/router3 Interest: /ndnsim/index.htm Link object: /ndnsim is delegated to /att/ndnsim and /ucla/ndnsim SelectedDelegation: 0 (/att/ndnsim) make a selection among delegations Interest: /ndnsim/index.htm Link object: /ndnsim is delegated to /att/ndnsim and /ucla/ndnsim SelectedDelegation: 0 (/att/ndnsim) follow the selected delegation 5

6 Forwarding within producer region When the Interest has reached the producer region, it can be forwarded with the Name (not Link). The router tests whether the delegation Name (/att) is a prefix of the router Name (/level3/router2, /att/router3, etc) to determine if the Interest has reached the producer region. The Interest Name prefix (/ndnsim), should be announced within the producer region (/att). Link and SelectedDelegation should be ignored. See next page: ContentStore partitioning is unnecessary within producer region. 6

7 Data forwarding Data is returned following PIT states. To prevent cache poisoning with counterfeit Link objects, the ContentStore is partitioned with Link object. unless the Data is within producer region, where Link object is ignored. ContentStore lookup returns a match only if the cached Data has been retrieved with the same Link object. 7

8 Summary 1.When Interest with unroutable Name hits consumer region edge (a default-free router), the router returns NACK. 2.Consumer re-expresses with a Link. 3.The consumer region edge router picks a producer region from the Link. 4.Intermediate routers forward the Interest toward the producer region (chosen in step 3). 5.The Interest is forwarded according to its regular Name within the producer region. 6.Data is returned with PIT states. 8

9 Example for NDNFit 9

10 Topology 10 DSU for Bobmobile for BobNDNS nameserver for /ndnfit UCLA router ARIZONA router DPU

11 Mobile Upload to DSU 1.Mobile connects to ARIZONA router, and performs remote prefix registration. ARIZONA router knows "/ndnfit/bob" is served by mobile. 2.Mobile sends command to DSU: "I want to upload /ndnfit/bob/20150518" A Link object is sent as part of the upload command: Link(/ndnfit/bob, delegation=/ndn/edu/arizona, signed by Bob) 11 Can we send the Name of the Link object, instead of the Link object itself, as a command parameter? No. The Link object exists on the mobile only, and the mobile doesn't have a routable prefix. Without the link object, DSU can't reach the mobile with an unroutable prefix. Why the Link object isn't published into NDNS? This depends on: should an Interest from DPU be able to reach the mobile?

12 Mobile Upload to DSU 3.DSU sends Interest with forwarding hint: INTEREST /ndnfit/bob/20150518 Link(/ndnfit/bob, delegation=/ndn/edu/arizona, signed by Bob) 4.The network forwards Interest to ARIZONA router, according to forwarding hint. 5.ARIZONA router strips Link object, and forwards the Interest to the mobile, according to /ndnfit/bob prefix. 12

13 DPU Download from DSU 1.DSU connects to UCLA router, and performs remote prefix registration with a globally routable prefix: /ndn/edu/ucla/ndnfit-dsu-ucla. 2.When Bob signs up, Bob updates NDNS: Link(/ndnfit/bob, delegation=/ndn/edu/ucla/ndnfit-dsu-ucla, signed by Bob) 3.DPU performs NDNS lookup for /ndnfit/bob 13

14 DPU Download from DSU 4.DPU sends Interest with forwarding hint: INTEREST /ndnfit/bob/20150518 Link(/ndnfit/bob, delegation=/ndn/edu/ucla/ndnfit-dsu- ucla, signed by Bob) 5.The network forwards Interest to DSU, according to forwarding hint. 6.DSU forwarder strips Link object, and forwards the Interest to the application, according to /ndnfit/bob prefix. 14

15 Application Changes 15

16 Producer The producer should determine the routable prefix of the region in which its own prefix is routable, and (optionally) publish a Link object in NDNS nameserver. Implementation: Library provides APIs for application to generate and publish Link objects to NDNS nameserver. A higher-level library may expose an "upload API" for "mobile upload to DSU" scenario. 16

17 Consumer The consumer should react to NACK-unroutable: perform NDNS lookup re-express Interest with Link object Short term solution before NACK is ready: the consumer should always perform NDNS lookup Implementation: Application MAY explicit set the forwarding hint. If forwarding hint is unset, Face::expressInterest performs automatic lookup, and caches the result. so applications don't have to change 17

18 Forwarder Changes This section describes the MINIMAL changes in forwarding to support mobility. Additional features are needed in the complete solution, which is not yet ready. 18

19 Configuration: router Name Add a "router Name" field to NFD configuration file. This allows the producer region edge router to determine an Interest has reached the producer region. NLSR has similar configuration options. They can be moved to NFD configuration and exposed as part of ForwarderStatus dataset. NLSR should request ForwarderStatus dataset to configure itself. 19

20 Interest forwarding: pick delegation Condition: Delegation Name is not a prefix of router Name. Interest has Link object but no SelectedDelegation. Action: 1.(ContentStore miss pipeline) perform FIB lookups for each delegation Name in the Link object 2.(strategy) pick a delegation 3.(strategy) forward to one or more nexthops in the FIB entry associated with the chosen delegation 4.(outgoing Interest pipeline) set SelectedDelegation field 20

21 Interest forwarding: follow delegation Condition: Delegation Name is not a prefix of router Name. Interest has Link object and SelectedDelegation. Action: 1.(ContentStore miss pipeline) perform FIB lookup for selected delegation Name 2.(strategy) forward to one or more nexthops in the FIB entry associated with the delegation 21

22 Interest forwarding: within producer region Condition: Delegation Name is a prefix of router Name. Action: 1.(incoming Interest pipeline) ignore Link object and SelectedDelegation 22 This requires all nodes in the producer region to have accurate "router Name", otherwise, if some nodes don't have "router Name": those nodes are confused whether to follow the forwarding hint, or to follow the Interest Name. If it's just the end host laptop not having an accurate "router Name", the laptop can follow the forwarding hint for Interests from a local app, otherwise follow the Interest Name. But this won't work in the general case.


Download ppt "Forwarding Hint in NFD Junxiao Shi, 2015-05-20 1."

Similar presentations


Ads by Google