forwarding hint in nfd junxiao shi, 2015-05-20 1

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

Upload: nickolas-johns

Post on 24-Dec-2015

221 views

Category:

Documents


0 download

TRANSCRIPT

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

1

Forwarding Hint in NFD

Junxiao Shi, 2015-05-20

Page 2: 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.

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

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

3

How Forwarding Hint Works

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

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.htmLink object: /ndnsim is delegated to /att/ndnsim and /ucla/ndnsim

consumer consumer region edge router(first default-free router)

NDNS nameserver

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

5

Forwarding across the Internetconsumer region edge

/cox/router1intermediate router/level3/router2

producer region edge/att/router3

Interest: /ndnsim/index.htmLink object: /ndnsim is delegated to /att/ndnsim and /ucla/ndnsimSelectedDelegation: 0 (/att/ndnsim)

make a selection among delegations

Interest: /ndnsim/index.htmLink object: /ndnsim is delegated to /att/ndnsim and /ucla/ndnsimSelectedDelegation: 0 (/att/ndnsim)

follow the selected delegation

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

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.

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

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.

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

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.

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

9

Example for NDNFit

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

10

Topology

DSU for Bob mobile for BobNDNS nameserver for /ndnfit

UCLA router ARIZONA router

DPU

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

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)

• 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?

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

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.

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

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

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

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.

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

15

Application Changes

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

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.

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

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

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

18

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

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

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.

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

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 object2. (strategy) pick a delegation3. (strategy) forward to one or more nexthops in the FIB

entry associated with the chosen delegation4. (outgoing Interest pipeline) set SelectedDelegation

field

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

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 Name2. (strategy) forward to one or more nexthops in the FIB

entry associated with the delegation

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

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

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