Routing in NDN Lan Wang (University of Memphis) & the NDN Team - - PowerPoint PPT Presentation

routing in ndn
SMART_READER_LITE
LIVE PREVIEW

Routing in NDN Lan Wang (University of Memphis) & the NDN Team - - PowerPoint PPT Presentation

Routing in NDN Lan Wang (University of Memphis) & the NDN Team FIA PI Meeting 11/14/2013 11/14/13 Roadmap What does NDN require from a routing protocol? How does NDN support in-network storage, anycast, and mobility? What does


slide-1
SLIDE 1

Routing in NDN

Lan Wang (University of Memphis) & the NDN Team FIA PI Meeting 11/14/2013

11/14/13

slide-2
SLIDE 2

Roadmap

 What does NDN require from a routing protocol?  How does NDN support in-network storage, anycast, and

mobility?

 What does NDN provide as foundations for routing?  Example: Named-data Link State Routing (NLSR)

11/14/13

slide-3
SLIDE 3

NDN’s Requirement on Routing

Requirement: routing to information

 guide each Interest packet to

all potential providers (via all feasible paths)

 Some providers may not have

all content in a name prefix. Non-requirement: fast routing convergence: stateful forwarding plane can adapt to changes/failures quickly.

A B /cnn/video /cnn/video

C wants to retrieve /cnn/video/a.mpg A has some content under /cnn/video

11/14/13

C D E

slide-4
SLIDE 4

NDN’s Requirement on Routing

Requirement: routing to information

 guide each Interest packet to

all potential providers (via all feasible paths)

 Some providers may not have

all content in a name prefix. Non-requirement: fast routing convergence: stateful forwarding plane can adapt to changes/failures quickly.

A B /cnn/video /cnn/video

C wants to retrieve /cnn/video/a.mpg A has some content under /cnn/video

11/14/13

C D E /cnn/video /cnn/video A, B, E A, B, E D’s FIB:

slide-5
SLIDE 5

NDN’s Requirement on Routing

Requirement: routing to information

 guide each Interest packet to

all potential providers (via all feasible paths)

 Some providers may not have

all content in a name prefix. Non-requirement: fast routing convergence: stateful forwarding plane can adapt to changes/failures quickly.

A B /cnn/video /cnn/video

C wants to retrieve /cnn/video/a.mpg A has some content under /cnn/video

11/14/13

C D E /cnn/video /cnn/video A, B, E A, B, E D’s FIB:

slide-6
SLIDE 6

NDN’s Requirement on Routing

Requirement: routing to information

 guide each Interest packet to

all potential providers (via all feasible paths)

 Some providers may not have

all content in a name prefix. Non-requirement: fast routing convergence: stateful forwarding plane can adapt to changes/failures quickly.

A B /cnn/video /cnn/video

C wants to retrieve /cnn/video/a.mpg A has some content under /cnn/video

11/14/13

C D E /cnn/video /cnn/video A, B, E A, B, E D’s FIB:

slide-7
SLIDE 7

NDN’s Requirement on Routing

Requirement: routing to information

 guide each Interest packet to

all potential providers (via all feasible paths)

 Some providers may not have

all content in a name prefix. Non-requirement: fast routing convergence: stateful forwarding plane can adapt to changes/failures quickly.

A B /cnn/video /cnn/video

C wants to retrieve /cnn/video/a.mpg A has some content under /cnn/video

11/14/13

C D E /cnn/video /cnn/video A, B, E A, B, E D’s FIB:

slide-8
SLIDE 8

NDN’s Requirement on Routing

Requirement: routing to information

 guide each Interest packet to

all potential providers (via all feasible paths)

 Some providers may not have

all content in a name prefix. Non-requirement: fast routing convergence: stateful forwarding plane can adapt to changes/failures quickly.

A B /cnn/video /cnn/video

C wants to retrieve /cnn/video/a.mpg A has some content under /cnn/video

11/14/13

C D E /cnn/video /cnn/video A, B, E A, B, E D’s FIB:

slide-9
SLIDE 9

NDN’s Requirement on Routing

Requirement: routing to information

 guide each Interest packet to

all potential providers (via all feasible paths)

 Some providers may not have

all content in a name prefix. Non-requirement: fast routing convergence: stateful forwarding plane can adapt to changes/failures quickly.

A B /cnn/video /cnn/video

C wants to retrieve /cnn/video/a.mpg A has some content under /cnn/video

11/14/13

C D E /cnn/video /cnn/video A, B, E A, B, E D’s FIB:

slide-10
SLIDE 10

NDN’s Requirement on Routing

Requirement: routing to information

 guide each Interest packet to

all potential providers (via all feasible paths)

 Some providers may not have

all content in a name prefix. Non-requirement: fast routing convergence: stateful forwarding plane can adapt to changes/failures quickly.

A B /cnn/video /cnn/video

C wants to retrieve /cnn/video/a.mpg A has some content under /cnn/video

11/14/13

C D E /cnn/video /cnn/video A, B, E A, B, E D’s FIB:

slide-11
SLIDE 11

NDN’s Requirement on Routing

Requirement: routing to information

 guide each Interest packet to

all potential providers (via all feasible paths)

 Some providers may not have

all content in a name prefix. Non-requirement: fast routing convergence: stateful forwarding plane can adapt to changes/failures quickly.

A B /cnn/video /cnn/video

C wants to retrieve /cnn/video/a.mpg A has some content under /cnn/video

11/14/13

C D E /cnn/video /cnn/video A, B, E A, B, E D’s FIB:

slide-12
SLIDE 12

NDN’s Requirement on Routing

Requirement: routing to information

 guide each Interest packet to

all potential providers (via all feasible paths)

 Some providers may not have

all content in a name prefix. Non-requirement: fast routing convergence: stateful forwarding plane can adapt to changes/failures quickly.

A B /cnn/video /cnn/video

C wants to retrieve /cnn/video/a.mpg Data A has some content under /cnn/video

11/14/13

C D E /cnn/video /cnn/video A, B, E A, B, E D’s FIB:

slide-13
SLIDE 13

Routing Mechanism in NDN

Any routing algorithm that works for IP (e.g., link-state) can be used in NDN.

 NDN’s forwarding semantics

is a superset of the IP model. Differences:

 replace IP prefixes with

name prefixes

 calculate a list of next-hops

for each name prefix

 use Interest/Data packets

11/14/13

A B /cnn/video /cnn/video C D E

slide-14
SLIDE 14

Routing Mechanism in NDN

Any routing algorithm that works for IP (e.g., link-state) can be used in NDN.

 NDN’s forwarding semantics

is a superset of the IP model. Differences:

 replace IP prefixes with

name prefixes

 calculate a list of next-hops

for each name prefix

 use Interest/Data packets

11/14/13

A B /cnn/video /cnn/video C D E A can reach /cnn/video

slide-15
SLIDE 15

Routing Mechanism in NDN

Any routing algorithm that works for IP (e.g., link-state) can be used in NDN.

 NDN’s forwarding semantics

is a superset of the IP model. Differences:

 replace IP prefixes with

name prefixes

 calculate a list of next-hops

for each name prefix

 use Interest/Data packets

11/14/13

A B /cnn/video /cnn/video C D E B can reach /cnn/video A can reach /cnn/video

slide-16
SLIDE 16

Routing Mechanism in NDN

Any routing algorithm that works for IP (e.g., link-state) can be used in NDN.

 NDN’s forwarding semantics

is a superset of the IP model. Differences:

 replace IP prefixes with

name prefixes

 calculate a list of next-hops

for each name prefix

 use Interest/Data packets

11/14/13

A B /cnn/video /cnn/video C D E B can reach /cnn/video A can reach /cnn/video

slide-17
SLIDE 17

Routing Mechanism in NDN

Any routing algorithm that works for IP (e.g., link-state) can be used in NDN.

 NDN’s forwarding semantics

is a superset of the IP model. Differences:

 replace IP prefixes with

name prefixes

 calculate a list of next-hops

for each name prefix

 use Interest/Data packets

11/14/13

A B /cnn/video /cnn/video C D E B can reach /cnn/video A can reach /cnn/video /cnn/video /cnn/video A, B, E A, B, E D’s FIB:

slide-18
SLIDE 18

In-network Storage

 Routing to information unifies all types of storage.

 data producer: stationary and mobile  in-network: persistent storage (e.g., repos) and transient storage

(e.g., caches)

 In-network Storage

 Routing support: advertise data’s name prefix if data is expected to

stay for a while.

 Forwarding support: routers remember which faces data come from,

so similar Interests will be forwarded to the storage.

11/14/13

slide-19
SLIDE 19

Anycast

 All data providers advertise the same prefix.  Sessionless: a consumer is not bound to a particular anycast

provider.

11/14/13

A B /cnn/video /cnn/video C D E C wants /cnn/video/a.mpg A B /cnn/video /cnn/video C D E C wants /cnn/video/a.mpg

slide-20
SLIDE 20

Mobility (1)

 NDN properties that facilitate

mobility

 Data names do not change

with mobility.

 granular data  sessionless  caching

 Consumer mobility

 Data may go to the old

location.

 Consumer reissues Interest

upon timeout.

 Data may be returned by an

intermediate cache.

11/14/13

A /cnn/video

C wants to retrieve /cnn/video/a.mpg Interest Data

D B C

slide-21
SLIDE 21

Mobility (1)

 NDN properties that facilitate

mobility

 Data names do not change

with mobility.

 granular data  sessionless  caching

 Consumer mobility

 Data may go to the old

location.

 Consumer reissues Interest

upon timeout.

 Data may be returned by an

intermediate cache.

11/14/13

A /cnn/video

C wants to retrieve /cnn/video/a.mpg Interest Data

D B C

slide-22
SLIDE 22

Mobility (1)

 NDN properties that facilitate

mobility

 Data names do not change

with mobility.

 granular data  sessionless  caching

 Consumer mobility

 Data may go to the old

location.

 Consumer reissues Interest

upon timeout.

 Data may be returned by an

intermediate cache.

11/14/13

A /cnn/video

C wants to retrieve /cnn/video/a.mpg Interest Data

D B C

slide-23
SLIDE 23

Mobility (1)

 NDN properties that facilitate

mobility

 Data names do not change

with mobility.

 granular data  sessionless  caching

 Consumer mobility

 Data may go to the old

location.

 Consumer reissues Interest

upon timeout.

 Data may be returned by an

intermediate cache.

11/14/13

A /cnn/video

C wants to retrieve /cnn/video/a.mpg Interest Data

D B C

slide-24
SLIDE 24

Mobility (1)

 NDN properties that facilitate

mobility

 Data names do not change

with mobility.

 granular data  sessionless  caching

 Consumer mobility

 Data may go to the old

location.

 Consumer reissues Interest

upon timeout.

 Data may be returned by an

intermediate cache.

11/14/13

A /cnn/video

C wants to retrieve /cnn/video/a.mpg Interest Data

D B C C

slide-25
SLIDE 25

Mobility (1)

 NDN properties that facilitate

mobility

 Data names do not change

with mobility.

 granular data  sessionless  caching

 Consumer mobility

 Data may go to the old

location.

 Consumer reissues Interest

upon timeout.

 Data may be returned by an

intermediate cache.

11/14/13

A /cnn/video

C wants to retrieve /cnn/video/a.mpg Interest Data

D B C C

slide-26
SLIDE 26

Mobility (1)

 NDN properties that facilitate

mobility

 Data names do not change

with mobility.

 granular data  sessionless  caching

 Consumer mobility

 Data may go to the old

location.

 Consumer reissues Interest

upon timeout.

 Data may be returned by an

intermediate cache.

11/14/13

A /cnn/video

C wants to retrieve /cnn/video/a.mpg Interest Data

D B C C

slide-27
SLIDE 27

Mobility (1)

 NDN properties that facilitate

mobility

 Data names do not change

with mobility.

 granular data  sessionless  caching

 Consumer mobility

 Data may go to the old

location.

 Consumer reissues Interest

upon timeout.

 Data may be returned by an

intermediate cache.

11/14/13

A /cnn/video

C wants to retrieve /cnn/video/a.mpg Interest Data

D B C C

slide-28
SLIDE 28

Mobility (1)

 NDN properties that facilitate

mobility

 Data names do not change

with mobility.

 granular data  sessionless  caching

 Consumer mobility

 Data may go to the old

location.

 Consumer reissues Interest

upon timeout.

 Data may be returned by an

intermediate cache.

11/14/13

A /cnn/video

C wants to retrieve /cnn/video/a.mpg Interest Data

D B C C

slide-29
SLIDE 29

Mobility (1)

 NDN properties that facilitate

mobility

 Data names do not change

with mobility.

 granular data  sessionless  caching

 Consumer mobility

 Data may go to the old

location.

 Consumer reissues Interest

upon timeout.

 Data may be returned by an

intermediate cache.

11/14/13

A /cnn/video

C wants to retrieve /cnn/video/a.mpg Interest Data

D B C C

slide-30
SLIDE 30

Mobility (1)

 NDN properties that facilitate

mobility

 Data names do not change

with mobility.

 granular data  sessionless  caching

 Consumer mobility

 Data may go to the old

location.

 Consumer reissues Interest

upon timeout.

 Data may be returned by an

intermediate cache.

11/14/13

A /cnn/video

C wants to retrieve /cnn/video/a.mpg Interest Data

D B C C

slide-31
SLIDE 31

Mobility (2)

Producer mobility: multiple complimentary mechanisms

 Caching: Interest for previously

requested data may be satisfied by intermediate caches.

 Routing advertisements: advertise

same name prefix at new location  subsequent Interests will go to new location.

 Forwarding Hint: use name of the

new attachment point as a hint to guide forwarding

 Name = /lan/video/a.mpg/s1  Hint = /att/atlanta/rtrB  Rendezvous Points: producer may

publish data to the same repo regardless of location (or one of a set

  • f sync’ed repos).

11/14/13

A

Interest Data

D B C A E A

Interest Data

D B C A

Publish data to repo Publish data to repo

/lan/video /lan/video /lan/video

slide-32
SLIDE 32

NDN’s Support for Routing

 Built-in security: routing data is signed by originator and can be

verified by receivers.

 Naming: names facilitate management and trust.

 Names identify routing components and relationship.  /att/atlanta/rtr1  rtr1 in Atlanta PoP of ATT  Naming of data and keys reflect trust relationship.  Given a piece of

data, you can derive the name of the signing key based on the trust model.

 Sync mechanism: a new notion of transport to ensure multiple

parties have the same information.

 efficient way of set reconciliation  Routing protocol uses Sync to distribute routing information.

11/14/13

slide-33
SLIDE 33

Named-data Link State Routing (NLSR)*

 Reuse a mature routing algorithm: link state  NDN native

 Names, not addresses (networks, routers, processes, data, keys)  Interest/Data are used to distribute routing info.

 Multipath support: modified Dijkstra’s algorithm to produce a

ranked list of next-hops for each name prefix.

 Security

 a trust model for intra-domain routing  Routing data is signed by originating router and verified by receivers

based on trust model.

11/14/13

* AKM M. Hoque, S. O. Amin, A. Alyyan, B. Zhang, L. Zhang, and L. Wang. NLSR: Named-data link state routing protocol. In ACM SIGCOMM ICN Workshop, 2013.

slide-34
SLIDE 34

Naming in NLSR

 Follow the hierarchy within a network

 Easy to identify the relationship among entities  Easy to associate keys with key owners

 Topology

 /<network/<site>/<router>  E.g., /ndn/memphis/rtr1

 Updates

 /<network>/NLSR/LSA/<site>/<router>/<type>/<version>

 Keys

 NLSR key: /<network>/keys/<site>/<router>/NLSR  Router key, operator key, …

11/14/13

slide-35
SLIDE 35

Message Authenticity and Integrity

 Every NLSR Data packet is

signed.

 “key locator” includes

information about the key.

 Receiver retrieves the key

and verifies the signature.

11/14/13

Signing and verification in NLSR Key Owner Key Name Root /<network>/keys Site /<network>/keys/<site> Operator /<network>/keys/<site>/<operator> Router /<network>/keys/<site>/<router> NLSR /<network>/keys/<site>/<router>/NLSR

slide-36
SLIDE 36

From Flooding to Synchronization

NLSR synchronizes LSDB among routers.

 Every node periodically

sends a digest of LSDB to

  • thers in Interest packets.

 When a node has a new LSA,

its digest changes and it will reply to others’ Interests with name of new LSA.

 Other nodes fetch new LSAs.  More resilient/scalable, fits

NDN model.

11/14/13

D A C B a1324asd9 a1324asd9 a1324asd9 a1324asd9

slide-37
SLIDE 37

From Flooding to Synchronization

NLSR synchronizes LSDB among routers.

 Every node periodically

sends a digest of LSDB to

  • thers in Interest packets.

 When a node has a new LSA,

its digest changes and it will reply to others’ Interests with name of new LSA.

 Other nodes fetch new LSAs.  More resilient/scalable, fits

NDN model.

11/14/13

D A C B a1324asd9 a1324asd9 a1324asd9 a1324asd9

slide-38
SLIDE 38

From Flooding to Synchronization

NLSR synchronizes LSDB among routers.

 Every node periodically

sends a digest of LSDB to

  • thers in Interest packets.

 When a node has a new LSA,

its digest changes and it will reply to others’ Interests with name of new LSA.

 Other nodes fetch new LSAs.  More resilient/scalable, fits

NDN model.

11/14/13

D A C B a1324asd9 a1324asd9 a1324asd9 a1324asd9

slide-39
SLIDE 39

From Flooding to Synchronization

NLSR synchronizes LSDB among routers.

 Every node periodically

sends a digest of LSDB to

  • thers in Interest packets.

 When a node has a new LSA,

its digest changes and it will reply to others’ Interests with name of new LSA.

 Other nodes fetch new LSAs.  More resilient/scalable, fits

NDN model.

11/14/13

D A C B a1324asd9 a1324asd9 a1324asd9 a1324asd9

slide-40
SLIDE 40

From Flooding to Synchronization

NLSR synchronizes LSDB among routers.

 Every node periodically

sends a digest of LSDB to

  • thers in Interest packets.

 When a node has a new LSA,

its digest changes and it will reply to others’ Interests with name of new LSA.

 Other nodes fetch new LSAs.  More resilient/scalable, fits

NDN model.

11/14/13

D A C B a1324asd9 a1324asd9 a1324asd9 a1324asd9

slide-41
SLIDE 41

From Flooding to Synchronization

NLSR synchronizes LSDB among routers.

 Every node periodically

sends a digest of LSDB to

  • thers in Interest packets.

 When a node has a new LSA,

its digest changes and it will reply to others’ Interests with name of new LSA.

 Other nodes fetch new LSAs.  More resilient/scalable, fits

NDN model.

11/14/13

D A C B a1324asd9 a1324asd9 a1324asd9 A has a new LSA a1324asd9

slide-42
SLIDE 42

From Flooding to Synchronization

NLSR synchronizes LSDB among routers.

 Every node periodically

sends a digest of LSDB to

  • thers in Interest packets.

 When a node has a new LSA,

its digest changes and it will reply to others’ Interests with name of new LSA.

 Other nodes fetch new LSAs.  More resilient/scalable, fits

NDN model.

11/14/13

D A C B a1324asd9 a1324asd9 a1324asd9 A has a new LSA a1324asd9

slide-43
SLIDE 43

From Flooding to Synchronization

NLSR synchronizes LSDB among routers.

 Every node periodically

sends a digest of LSDB to

  • thers in Interest packets.

 When a node has a new LSA,

its digest changes and it will reply to others’ Interests with name of new LSA.

 Other nodes fetch new LSAs.  More resilient/scalable, fits

NDN model.

11/14/13

D A C B a1324asd9 a1324asd9 a1324asd9 A has a new LSA d425ab9c a1324asd9

slide-44
SLIDE 44

From Flooding to Synchronization

NLSR synchronizes LSDB among routers.

 Every node periodically

sends a digest of LSDB to

  • thers in Interest packets.

 When a node has a new LSA,

its digest changes and it will reply to others’ Interests with name of new LSA.

 Other nodes fetch new LSAs.  More resilient/scalable, fits

NDN model.

11/14/13

D A C B a1324asd9 a1324asd9 a1324asd9 A has a new LSA d425ab9c

Sync Data /ndn/NLSR/LSA/..

a1324asd9

slide-45
SLIDE 45

From Flooding to Synchronization

NLSR synchronizes LSDB among routers.

 Every node periodically

sends a digest of LSDB to

  • thers in Interest packets.

 When a node has a new LSA,

its digest changes and it will reply to others’ Interests with name of new LSA.

 Other nodes fetch new LSAs.  More resilient/scalable, fits

NDN model.

11/14/13

D A C B a1324asd9 a1324asd9 a1324asd9 A has a new LSA d425ab9c

Sync Data /ndn/NLSR/LSA/..

a1324asd9

slide-46
SLIDE 46

From Flooding to Synchronization

NLSR synchronizes LSDB among routers.

 Every node periodically

sends a digest of LSDB to

  • thers in Interest packets.

 When a node has a new LSA,

its digest changes and it will reply to others’ Interests with name of new LSA.

 Other nodes fetch new LSAs.  More resilient/scalable, fits

NDN model.

11/14/13

D A C B a1324asd9 a1324asd9 a1324asd9 A has a new LSA d425ab9c

Sync Data /ndn/NLSR/LSA/..

a1324asd9

slide-47
SLIDE 47

Status

 AKM M. Hoque, S. O. Amin, A. Alyyan, B. Zhang, L. Zhang, and

  • L. Wang. NLSR: Named-data link state routing protocol. In ACM

SIGCOMM ICN Workshop, 2013.

 Code available on github

 https://github.com/NDN-Routing/NLSR0.0/tree/nlsr-sync

 Plan to deploy on NDN testbed soon.

11/14/13

slide-48
SLIDE 48

Scaling

 Next step: Inter-domain routing

 routing policy and trust model

 Hyperbolic routing

 Each node has a set of hyperbolic coordinates.  Each name prefix has a set of hyperbolic coordinates.  Calculate next-hops based on each neighbor’s distance to the

name prefix

 No need to distribute topological information.

 Map-and-Encap

 Map application name prefixes to routable name prefixes

(typically ISP name prefixes)

 Orders of magnitude fewer routable name prefixes than

application name prefixes

 How to do mapping? ongoing research, e.g., DNS-like system

11/14/13

slide-49
SLIDE 49

OSPF vs. NLSR

11/14/13

 Both are link-state intra-domain routing protocols.

OSPF NLSR Naming addresses hierarchical names Updates network flooding neighbor syncing Next-hop single multiple Security password public keys and trust model