47
CCN Routing & Forwarding Van Jacobson Palo Alto Research Center (PARC) Stanford NetSeminar Palo Alto, CA 5 May 2011

CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

Embed Size (px)

Citation preview

Page 1: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

CCN Routing & Forwarding

Van JacobsonPalo Alto Research Center (PARC)

Stanford NetSeminarPalo Alto, CA5 May 2011

Page 2: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

• Jim Thornton

• Diana Smetters

• Russ Atkinson

• Simon Barber

• Rebecca Braynard

• Nick Briggs

• Tim Diebert

• Priya Mahadevan

• Mark Mosko

• Michael Plass

• Paul Rasmussen

• Elaine Shi

• Ignacio Solis

• Ersin Uzun

the PARC CCN Team

2

Page 3: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

3

parcPalo Alto Research Center

®

Named Data Networking (NDN)NSF FIA 3 year project

Page 4: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

Lixia Zhang (lead)

Jim Thornton (manager)

Deborah Estrin (advisor)

Van Jacobson (architect)

Tarek Abdelzaher

Jeff Burke

K Claffy

Patrick Crowley

Dmitri Krioukov

Dan Massey

Christos Papadopoulos

Gene Tsudik

Ersin Uzun

Lan Wang

Edmund Yeh

Beichuan Zhang

4

Page 5: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

• painless mobility, wireless, virtualization, ...

• (provably) optimal content distribution

• simple, secure, robust configuration

• much better security

• same scalability & efficiency as TCP/IP

• an easy, incremental, evolutionary path

CCN offers ...

5

Page 6: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

1) A system that’s complete & self-contained.

IP runs over anything

Anything runs over IP

6

Design Criteria

Page 7: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

1) A system that’s complete & self-contained.

IP runs over anything

Anything runs over IP

CCN runs over anything

Anything runs over CCN

6

Design Criteria

Page 8: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

1) A system that’s complete & self-contained.

IP runs over anything

Anything runs over IP

CCN runs over anything

Anything runs over CCN

7

Design Criteria

(that moves bits to some endpoint)

(that moves bits in space or time)

Page 9: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

2) An evolutionary path:

- incremental deployment gives immediate value

- painless, viral, bottom-up growth.

- use existing infrastructure, including its lessons.

8

Design Criteria

Page 10: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

For 150 years ‘communication’ has meanta conversation over a wire connecting two devices:

9

Page 11: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

For consumers, the Web forever changed that. The information matters, not how or where you get it.

For 150 years ‘communication’ has meanta conversation over a wire connecting two devices:

10

Page 12: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

Diffusion / Percolation / Viral Propagation

11

Page 13: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

Diffusion / Percolation / Viral Propagation

Full-mesh Pt-Pt Connectivity abstraction

• Neighbor discovery• Map building• Path building

(spanning tree)

Topology creation

11

Page 14: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

Move in Space

Physical

Distribution Networks

12

Page 15: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

Move in Space Move in Time

Physical

Distribution Networks

13

Page 16: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

Move in Space Move in Time

Physical

Digital

Distribution Networks

X14

Page 17: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

Communication Distribution

Naming

Memory

Security

Endpoints Stuff

InvisibleExplicit – storage and

wires equivalent

Secure the process Secure the stuff

15

Page 18: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

Communication Distribution

Naming

Memory

Security

Endpoints Stuff

InvisibleExplicit – storage and

wires equivalent

Secure the process Secure the stuff

15

Page 19: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

Communication Distribution

Naming

Memory

Security

Endpoints Stuff

InvisibleExplicit – storage and

wires equivalent

Secure the process Secure the stuff

15

Page 20: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

Communication Distribution

Naming

Memory

Security

Endpoints Stuff

InvisibleExplicit – storage and

wires equivalent

Secure the process Secure the stuff

15

Distribution networks solve a larger class of problems than communication networks (a strict superset).

Page 21: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

16

Page 22: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

16

van’s calendar?

pointless mtg 08:30

Page 23: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

16

van’s calendar?pointless mtg 08:30

• Users specify objective, not how to accomplish it.

• Data appears wherever it needs to be.

• Model loves wireless and broadcast.

• There’s no distinction between bits in a memory and bits in a wire.

• Data security and integrity are the architectural foundation, not an add-on.

Page 24: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

CCN packets

There are two packet types: Interest (a question) and Data (an answer). Both are encoded in an efficient binary XML.

Selector(order preference, publisher !lter, scope, ...)

Nonce

Content NameContent Name

Data

Data packetInterest packet

Signature(digest algorithm, witness, ...)

Signed Info(publisher ID, key locator, stale time, ...)

“data”“interest”

17

Page 25: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

CCN names are opaque, structured byte strings

/parc.com/van/cal/417.vcf/v3/s0/0x3fdc96a4...

The only assumption CCN makes about names is hierarchical structure. E.g., names or components can be encrypted or contain arbitrary binary data.

is represented as a sequence of components followed by an end marker. Each component is a byte count followed by that many bytes.

08: parc.com 3: van 3: cal ... 32: 3FDC96...

18

Page 26: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

• Consumer ‘broadcasts’ an interest over any available communications media: want ‘/parc.com/van/slides.pdf’

• Interest identifies a collection of data - all data items whose name has the interest as a prefix.

• Anything that hears the interest and has an element of the collection can respond with it: HereIs ‘/parc.com/van/slides.pdf/v6/p1’ <data>

Basic CCN forwarding

19

Page 27: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

• Data that matches an interest ‘consumes’ it.

• Interest must be re-expressed to get new data. (Controlling the re-expression allows for traffic management and environmental adaptation.)

• Multiple (distinct) interests in same collection may be expessed (similar to TCP window).

Basic CCN transport

20

Page 28: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

Forwarding

21

Page 29: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

IP node model

Interface 0

Interface 1

Interface 2

Transport

Y

N

Pre!x

10.* 2

FIBInterface

FIBlookup

Dst isme?

Check &decr. TTL

22

Page 30: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

IP node model

Interface 0

Interface 1

Interface 2

Transport

Y

N

Pre!x

10.* 2

FIBInterface

FIBlookup

Dst isme?

Check &decr. TTL

22

Page 31: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

CCN node model

Face 0

Face 1

Face 2

Pre!x

/parc.com 0, 1

FIBFace list

Application

DataNameContent Store

Pre!x

Pending Interest Table (PIT)Requesting

Face(s)

Indexptr type

P

C = Content storeP = PITF = FIB

C

F

/parc.com/videos/WidgetA.mpg/v3/s1

/parc.com/videos/WidgetA.mpg/v3/s0

0

. . .

23

Page 32: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

Interface 0

Interface 1

Interface 2

Transport

Y

N

Pre!x

10.* 2

FIBInterface

FIBlookup

Dst isme?

Check &decr. TTL

24

ComparisonContent Store & PIT are same as buffer memory - same

contents, different replacement policy.

Face 0

Face 1

Face 2

Pre!x

/parc.com 0, 1

FIBFace list

Application

DataNameContent Store

Pre!x

Pending Interest Table (PIT)Requesting

Face(s)

Indexptr type

P

C = Content storeP = PITF = FIB

C

F

/parc.com/videos/WidgetA.mpg/v3/s1

/parc.com/videos/WidgetA.mpg/v3/s0

0

. . .

Page 33: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

Interface 0

Interface 1

Interface 2

Transport

Y

N

Pre!x

10.* 2

FIBInterface

FIBlookup

Dst isme?

Check &decr. TTL

25

Comparison

Face 0

Face 1

Face 2

Pre!x

/parc.com 0, 1

FIBFace list

Application

DataNameContent Store

Pre!x

Pending Interest Table (PIT)Requesting

Face(s)

Indexptr type

P

C = Content storeP = PITF = FIB

C

F

/parc.com/videos/WidgetA.mpg/v3/s1

/parc.com/videos/WidgetA.mpg/v3/s0

0

. . .

FIBs are almost identical except CCN has list of

output faces.

Page 34: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

Interface 0

Interface 1

Interface 2

Transport

Y

N

Pre!x

10.* 2

FIBInterface

FIBlookup

Dst isme?

Check &decr. TTL

26

Comparison

Face 0

Face 1

Face 2

Pre!x

/parc.com 0, 1

FIBFace list

Application

DataNameContent Store

Pre!x

Pending Interest Table (PIT)Requesting

Face(s)

Indexptr type

P

C = Content storeP = PITF = FIB

C

F

/parc.com/videos/WidgetA.mpg/v3/s1

/parc.com/videos/WidgetA.mpg/v3/s0

0

. . .

Half the transport state becomes the (multi-point)

Pending Interest table

Page 35: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

Interface 0

Interface 1

Interface 2

Transport

Y

N

Pre!x

10.* 2

FIBInterface

FIBlookup

Dst isme?

Check &decr. TTL

27

Comparison

There’s no “me” test since CCN demuxing & forwarding are the same

Face 0

Face 1

Face 2

Pre!x

/parc.com 0, 1

FIBFace list

Application

DataNameContent Store

Pre!x

Pending Interest Table (PIT)Requesting

Face(s)

Indexptr type

P

C = Content storeP = PITF = FIB

C

F

/parc.com/videos/WidgetA.mpg/v3/s1

/parc.com/videos/WidgetA.mpg/v3/s0

0

. . .

Page 36: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

Interface 0

Interface 1

Interface 2

Transport

Y

N

Pre!x

10.* 2

FIBInterface

FIBlookup

Dst isme?

Check &decr. TTL

28

ComparisonThere’s no TTL decrement

since nothing can loop.(CCN packets are never

modified in transit.)

Face 0

Face 1

Face 2

Pre!x

/parc.com 0, 1

FIBFace list

Application

DataNameContent Store

Pre!x

Pending Interest Table (PIT)Requesting

Face(s)

Indexptr type

P

C = Content storeP = PITF = FIB

C

F

/parc.com/videos/WidgetA.mpg/v3/s1

/parc.com/videos/WidgetA.mpg/v3/s0

0

. . .

Page 37: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

CCN forwarding

Face 0

Face 1

Face 2

Pre!x

/parc.com 0, 1

FIBFace list

Application

DataNameContent Store

Pre!x

Pending Interest Table (PIT)Requesting

Face(s)

Indexptr type

P

C = Content storeP = PITF = FIB

C

F

/parc.com/videos/WidgetA.mpg/v3/s1

/parc.com/videos/WidgetA.mpg/v3/s0

0

. . . get /parc.com/videos/WidgetA.mpg/v3/s2

29

Page 38: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

CCN forwarding

Face 0

Face 1

Face 2

Pre!x

/parc.com 0, 1

FIBFace list

Application

DataNameContent Store

Pre!x

Pending Interest Table (PIT)Requesting

Face(s)

Indexptr type

P

C = Content storeP = PITF = FIB

C

F

/parc.com/videos/WidgetA.mpg/v3/s1

/parc.com/videos/WidgetA.mpg/v3/s0

0

. . . get /parc.com/videos/WidgetA.mpg/v3/s2

29

Page 39: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

CCN forwarding

Face 0

Face 1

Face 2

Pre!x

/parc.com 0, 1

FIBFace list

Application

DataNameContent Store

Pre!x

Pending Interest Table (PIT)Requesting

Face(s)

Indexptr type

P

C = Content storeP = PITF = FIB

C

F

/parc.com/videos/WidgetA.mpg/v3/s1

/parc.com/videos/WidgetA.mpg/v3/s0

0

. . . get /parc.com/videos/WidgetA.mpg/v3/s2

/parc.com/videos/WidgetA.mpg/v3/s2 0P

29

Page 40: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

generic forwarding ASIC

30

Seri

al/P

aral

lel

packet data

headerparser

lookupengine

address dest.

128

Page 41: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

Routing

31

Page 42: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

IGP routing

32

A

B

DC

EF

hello fro

m B

B sends a ‘hello’ out all its links

Page 43: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

IGP routing

33

A

B

DC

EF

C adj B

C floods that it’s adjacent to B

Page 44: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

IGP routing

34

A

B

DC

EF

Same thing happens in C→B direction. When ‘B adj C’ announcement flooded, everyone adds B-C link to map.

Page 45: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

IGP routing

35

A

B

DC

EF

192.168/16

Some ‘external’ (non-IGP) agent injects a ‘prefix announcement’which B floods to all other IGP nodes

B: 192.168/16

Page 46: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

Existing link-state routing protocols can be used, unmodified, to construct

a CCN FIB

36

A

B

/abc.com/media

DC

EF

/abc.com/media/art /abc.com/media/art

B

A,B/abc.com/media/abc.com/media/art

Page 47: CCN Routing & Forwarding - Stanford Universitynetseminar.stanford.edu/past_seminars/seminars/vj-stanford.may11.pdf · Van Jacobson (architect) Tarek Abdelzaher Jeff Burke K Claffy

Information on CCN is available at

www.ccnx.orgincluding a GPL’d open-source release

of our current research prototype.

Information on NDN is available at

named-data.net37