33
Named Data Networking Introduction and hands on tutorial by Alex Afanasyev, UCLA Steve DiBenedetto, CSU GEC21

Named Data Networking

Embed Size (px)

DESCRIPTION

Named Data Networking. Introduction and hands on tutorial by Alex Afanasyev, UCLA Steve DiBenedetto , CSU GEC21. Goals for today. Introduce Named Data Networking (NDN) Describe the project and its goals Illustrate NDN concepts - PowerPoint PPT Presentation

Citation preview

Page 1: Named Data Networking

Named Data NetworkingIntroduction and hands on tutorial

by Alex Afanasyev UCLA

Steve DiBenedetto CSU

GEC21

Goals for today

bull Introduce Named Data Networking (NDN)

bull Describe the project and its goals

bull Illustrate NDN concepts

bull Show how to write simple applications and now to experiment with NFD forwarder

2

Share This Presentation

What is the best way for me to share these slides with you right now

What about video What would happen if it became popular

3

Sending This Message

From C D (Dan) Mote Jr ltdmoteemailedugtDate Mon May 13 2013 at 739 PMSubject CongratulationsTo Alex Afanasyev ltalexemailedugt

Dear Dr Afanasyev

I write to inform you that you have been elected a Fellow to the National Academy of Engineering As you may understand this designation follows a process of nomination and subsequent vote by existing Fellows Congratulations

SincerelyCD Mote JrPresident-Elect National Academy of Engineering

4

Use Connected EnvironmentIoT

5

Challenges Caused By a Single Problem

Sharing Must know addressTrust Place all trust in addressIoT Know amp trust all addresses

TelephonyInternet Process1 Find the numberaddress for

the one you want to talk to2 Use that number to establish

a point-to-point connection3 Communicate

6

A Simpler Way

this_roomalextalksGEC21pptx

youtubecomvideondnvan2006

uclaboelter_hall4th_florroom412thermostat1status

Suppose your device could ask for what it wanted

7

The Web Has Named Worldrsquos Data

httpwwwyoutubecomwatchv=oCZMoY3q2uM

httpwwwyoutubecomwatchfeature=player_detailpageampv=oCZMoY3q2uMt=1736s

8

Core Idea

Use names directly at the networking level

Focus on data not host-to-host connections

Closed-loop communication

9

Forward Interest

Data

Interest Timeout

congestionflow balancesource multicastcaching

Named Data Networking

bull Leverages the strengths of the Internet addresses weaknesseso Layers efficiently atop Ethernet UDP TCP hellip

bull Naturally accommodateso Mobile deviceso Wireless and other broadcast-based link typeso Data authentication and security privacy anonymityo Policy-based forwarding routing with loops

bull With NDN we aim to show thato Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simpler

10

NDN Project

bull Project launch 92010 part of NSF FIA Program52014 part of NSF FIA-NP Program

bull Research Areas Architecture Routing Security Applications Scalable Forwarding

UCLA Van Jacobson Jeff Burke Deborah Estrin Lixia Zhang

University of Arizona Beichuan Zhang

University of California San Diego Kim Claffy Dmitri Krioukov

Colorado State University Christos Papadopoulos

University of Illinois Urbana-Champaign Tarek Abdelzaher

University of Memphis Lan Wang

University of Michigan Alex Halderman

Washington University Patrick Crowley

Northeastern University Edmund Yeh

University of Maryland Katie Shilton11

Two Packet Types

bull No addressesbull Publishers bind names to data receivers verify

12

NDN Interest Forwarding

1 Do I have this data

2 Is a request already pending

3 Which next hop might lead to the source

13

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

1

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

1

2

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Interest arrives at switch

2

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

3

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

3

4

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

3

4

5

Data packet arrives1 Store data packet in buffer2 Send packet out any matching

interfaces on the pending interest list

3 Remove pending entries

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

Interest resent6

3

4

5

I xkcdcom9491

Interest packet arrives1 Do my buffers contain

xkcdcom9491 Yes send it2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Finished

6

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

Forwarding logic in IP1 Extract destination

address2 Find longest matching

prefix in route table3 Forward packet out

matching interface

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

1 2

34

Matching Prefix

Link

12825216 1

722619219

2

7412516 3

Internet

NDN Nodes and Routes

wustledu

googlecom

xkcdcomhosted by voxelnet

1 2

34

Matching Prefix

Link

wustledu 1

xkcdcom 2 3

googlecom1 3 4

Questions

bull Can NDN efficiently support host-to-host patterns

bull Can NDN efficiently support user-specific data and services

bull Can you count clicks and ad impressions in NDN

bull Can you efficiently route all those names

bull Can you scale the forwarding plane

bull Can you prove security and privacy properties

Yes Yes mostly23

Conclusion (12)

bull Growing evidence that with NDNo Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simplero New things are possible

24

httpnamed-datanet

Conclusion (22)

bull In coming yearso Growing commercial interest and experimentationo Deployments in greenfields IP trouble spots

ndash IoT building automation healthcare vehicular

bull Research community is growingo We share an open-source code base with related projects and

groups moving forwarding in Europe and Asiao NDN Consortium launched this month already includes

14 universities 5 for-profit corporations and 1 non-profit

25

httpnamed-datanet

NDN Components

26

Apps Routing Repo

NFD

Links and Tunnels

Libraries

27

NDN Libraries

bull All libraries now reflect fundamental architectural abstractions directly in objects and wire format manipulation is abstractedo Name Componento Interest Selectorso Data MetaInfo SignatureInfo SignatureValue KeyLocatoro Faceo KeyChain Validator

bull Multiple library effortso NDN-CXX ldquoC++ for eXtended eXperimentationrdquo

bull C++ (soon to be C++11) Boost (Asio Filesystem )o NDN-CCL ldquoCommon Client Librariesrdquo

bull C++bull Python (2 and 3)bull JavaScript (browser and nodejs)bull Java

o Enables diversity of coding choiceo Drives us towards specification (and not just implementation)

28

Security Support

Signing KeyChain

Manage security

credentials

Sign Data and Interests

Decrypt payload

Validation Validator classes

Compile-time trust policy

Run-time trust policy

httpnamed-datanetdocndn-cxx020tutorialssecurity-libraryhtmlsigning

29

Supported Security Features

bull Asymmetric cryptographyo RSAo ECDSA

bull Symmetric cryptographyo AESo HMAC

bull Trivial cryptographyo SHA256 digest

bull Signingverification granularityo Data packeto Set of Data packets

work in progress

30

NDN Platform

bull Provide a coherent usable and well-documented ldquoplatformrdquo for exploring NDN in practical applications ndash for the NDN project team and external users

bull Use a release ldquoheartbeatrdquo to stimulate interoperability testing and discussion of how the various moving parts work together

bull Along the way improve access to and consistency of various NDN code projects

bull Open and lightweight process with no unrealistic centralization or over-management but clear ownership of each component project

bull Managed nodes on the testbed run the Platform

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 2: Named Data Networking

Goals for today

bull Introduce Named Data Networking (NDN)

bull Describe the project and its goals

bull Illustrate NDN concepts

bull Show how to write simple applications and now to experiment with NFD forwarder

2

Share This Presentation

What is the best way for me to share these slides with you right now

What about video What would happen if it became popular

3

Sending This Message

From C D (Dan) Mote Jr ltdmoteemailedugtDate Mon May 13 2013 at 739 PMSubject CongratulationsTo Alex Afanasyev ltalexemailedugt

Dear Dr Afanasyev

I write to inform you that you have been elected a Fellow to the National Academy of Engineering As you may understand this designation follows a process of nomination and subsequent vote by existing Fellows Congratulations

SincerelyCD Mote JrPresident-Elect National Academy of Engineering

4

Use Connected EnvironmentIoT

5

Challenges Caused By a Single Problem

Sharing Must know addressTrust Place all trust in addressIoT Know amp trust all addresses

TelephonyInternet Process1 Find the numberaddress for

the one you want to talk to2 Use that number to establish

a point-to-point connection3 Communicate

6

A Simpler Way

this_roomalextalksGEC21pptx

youtubecomvideondnvan2006

uclaboelter_hall4th_florroom412thermostat1status

Suppose your device could ask for what it wanted

7

The Web Has Named Worldrsquos Data

httpwwwyoutubecomwatchv=oCZMoY3q2uM

httpwwwyoutubecomwatchfeature=player_detailpageampv=oCZMoY3q2uMt=1736s

8

Core Idea

Use names directly at the networking level

Focus on data not host-to-host connections

Closed-loop communication

9

Forward Interest

Data

Interest Timeout

congestionflow balancesource multicastcaching

Named Data Networking

bull Leverages the strengths of the Internet addresses weaknesseso Layers efficiently atop Ethernet UDP TCP hellip

bull Naturally accommodateso Mobile deviceso Wireless and other broadcast-based link typeso Data authentication and security privacy anonymityo Policy-based forwarding routing with loops

bull With NDN we aim to show thato Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simpler

10

NDN Project

bull Project launch 92010 part of NSF FIA Program52014 part of NSF FIA-NP Program

bull Research Areas Architecture Routing Security Applications Scalable Forwarding

UCLA Van Jacobson Jeff Burke Deborah Estrin Lixia Zhang

University of Arizona Beichuan Zhang

University of California San Diego Kim Claffy Dmitri Krioukov

Colorado State University Christos Papadopoulos

University of Illinois Urbana-Champaign Tarek Abdelzaher

University of Memphis Lan Wang

University of Michigan Alex Halderman

Washington University Patrick Crowley

Northeastern University Edmund Yeh

University of Maryland Katie Shilton11

Two Packet Types

bull No addressesbull Publishers bind names to data receivers verify

12

NDN Interest Forwarding

1 Do I have this data

2 Is a request already pending

3 Which next hop might lead to the source

13

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

1

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

1

2

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Interest arrives at switch

2

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

3

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

3

4

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

3

4

5

Data packet arrives1 Store data packet in buffer2 Send packet out any matching

interfaces on the pending interest list

3 Remove pending entries

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

Interest resent6

3

4

5

I xkcdcom9491

Interest packet arrives1 Do my buffers contain

xkcdcom9491 Yes send it2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Finished

6

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

Forwarding logic in IP1 Extract destination

address2 Find longest matching

prefix in route table3 Forward packet out

matching interface

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

1 2

34

Matching Prefix

Link

12825216 1

722619219

2

7412516 3

Internet

NDN Nodes and Routes

wustledu

googlecom

xkcdcomhosted by voxelnet

1 2

34

Matching Prefix

Link

wustledu 1

xkcdcom 2 3

googlecom1 3 4

Questions

bull Can NDN efficiently support host-to-host patterns

bull Can NDN efficiently support user-specific data and services

bull Can you count clicks and ad impressions in NDN

bull Can you efficiently route all those names

bull Can you scale the forwarding plane

bull Can you prove security and privacy properties

Yes Yes mostly23

Conclusion (12)

bull Growing evidence that with NDNo Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simplero New things are possible

24

httpnamed-datanet

Conclusion (22)

bull In coming yearso Growing commercial interest and experimentationo Deployments in greenfields IP trouble spots

ndash IoT building automation healthcare vehicular

bull Research community is growingo We share an open-source code base with related projects and

groups moving forwarding in Europe and Asiao NDN Consortium launched this month already includes

14 universities 5 for-profit corporations and 1 non-profit

25

httpnamed-datanet

NDN Components

26

Apps Routing Repo

NFD

Links and Tunnels

Libraries

27

NDN Libraries

bull All libraries now reflect fundamental architectural abstractions directly in objects and wire format manipulation is abstractedo Name Componento Interest Selectorso Data MetaInfo SignatureInfo SignatureValue KeyLocatoro Faceo KeyChain Validator

bull Multiple library effortso NDN-CXX ldquoC++ for eXtended eXperimentationrdquo

bull C++ (soon to be C++11) Boost (Asio Filesystem )o NDN-CCL ldquoCommon Client Librariesrdquo

bull C++bull Python (2 and 3)bull JavaScript (browser and nodejs)bull Java

o Enables diversity of coding choiceo Drives us towards specification (and not just implementation)

28

Security Support

Signing KeyChain

Manage security

credentials

Sign Data and Interests

Decrypt payload

Validation Validator classes

Compile-time trust policy

Run-time trust policy

httpnamed-datanetdocndn-cxx020tutorialssecurity-libraryhtmlsigning

29

Supported Security Features

bull Asymmetric cryptographyo RSAo ECDSA

bull Symmetric cryptographyo AESo HMAC

bull Trivial cryptographyo SHA256 digest

bull Signingverification granularityo Data packeto Set of Data packets

work in progress

30

NDN Platform

bull Provide a coherent usable and well-documented ldquoplatformrdquo for exploring NDN in practical applications ndash for the NDN project team and external users

bull Use a release ldquoheartbeatrdquo to stimulate interoperability testing and discussion of how the various moving parts work together

bull Along the way improve access to and consistency of various NDN code projects

bull Open and lightweight process with no unrealistic centralization or over-management but clear ownership of each component project

bull Managed nodes on the testbed run the Platform

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 3: Named Data Networking

Share This Presentation

What is the best way for me to share these slides with you right now

What about video What would happen if it became popular

3

Sending This Message

From C D (Dan) Mote Jr ltdmoteemailedugtDate Mon May 13 2013 at 739 PMSubject CongratulationsTo Alex Afanasyev ltalexemailedugt

Dear Dr Afanasyev

I write to inform you that you have been elected a Fellow to the National Academy of Engineering As you may understand this designation follows a process of nomination and subsequent vote by existing Fellows Congratulations

SincerelyCD Mote JrPresident-Elect National Academy of Engineering

4

Use Connected EnvironmentIoT

5

Challenges Caused By a Single Problem

Sharing Must know addressTrust Place all trust in addressIoT Know amp trust all addresses

TelephonyInternet Process1 Find the numberaddress for

the one you want to talk to2 Use that number to establish

a point-to-point connection3 Communicate

6

A Simpler Way

this_roomalextalksGEC21pptx

youtubecomvideondnvan2006

uclaboelter_hall4th_florroom412thermostat1status

Suppose your device could ask for what it wanted

7

The Web Has Named Worldrsquos Data

httpwwwyoutubecomwatchv=oCZMoY3q2uM

httpwwwyoutubecomwatchfeature=player_detailpageampv=oCZMoY3q2uMt=1736s

8

Core Idea

Use names directly at the networking level

Focus on data not host-to-host connections

Closed-loop communication

9

Forward Interest

Data

Interest Timeout

congestionflow balancesource multicastcaching

Named Data Networking

bull Leverages the strengths of the Internet addresses weaknesseso Layers efficiently atop Ethernet UDP TCP hellip

bull Naturally accommodateso Mobile deviceso Wireless and other broadcast-based link typeso Data authentication and security privacy anonymityo Policy-based forwarding routing with loops

bull With NDN we aim to show thato Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simpler

10

NDN Project

bull Project launch 92010 part of NSF FIA Program52014 part of NSF FIA-NP Program

bull Research Areas Architecture Routing Security Applications Scalable Forwarding

UCLA Van Jacobson Jeff Burke Deborah Estrin Lixia Zhang

University of Arizona Beichuan Zhang

University of California San Diego Kim Claffy Dmitri Krioukov

Colorado State University Christos Papadopoulos

University of Illinois Urbana-Champaign Tarek Abdelzaher

University of Memphis Lan Wang

University of Michigan Alex Halderman

Washington University Patrick Crowley

Northeastern University Edmund Yeh

University of Maryland Katie Shilton11

Two Packet Types

bull No addressesbull Publishers bind names to data receivers verify

12

NDN Interest Forwarding

1 Do I have this data

2 Is a request already pending

3 Which next hop might lead to the source

13

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

1

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

1

2

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Interest arrives at switch

2

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

3

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

3

4

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

3

4

5

Data packet arrives1 Store data packet in buffer2 Send packet out any matching

interfaces on the pending interest list

3 Remove pending entries

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

Interest resent6

3

4

5

I xkcdcom9491

Interest packet arrives1 Do my buffers contain

xkcdcom9491 Yes send it2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Finished

6

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

Forwarding logic in IP1 Extract destination

address2 Find longest matching

prefix in route table3 Forward packet out

matching interface

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

1 2

34

Matching Prefix

Link

12825216 1

722619219

2

7412516 3

Internet

NDN Nodes and Routes

wustledu

googlecom

xkcdcomhosted by voxelnet

1 2

34

Matching Prefix

Link

wustledu 1

xkcdcom 2 3

googlecom1 3 4

Questions

bull Can NDN efficiently support host-to-host patterns

bull Can NDN efficiently support user-specific data and services

bull Can you count clicks and ad impressions in NDN

bull Can you efficiently route all those names

bull Can you scale the forwarding plane

bull Can you prove security and privacy properties

Yes Yes mostly23

Conclusion (12)

bull Growing evidence that with NDNo Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simplero New things are possible

24

httpnamed-datanet

Conclusion (22)

bull In coming yearso Growing commercial interest and experimentationo Deployments in greenfields IP trouble spots

ndash IoT building automation healthcare vehicular

bull Research community is growingo We share an open-source code base with related projects and

groups moving forwarding in Europe and Asiao NDN Consortium launched this month already includes

14 universities 5 for-profit corporations and 1 non-profit

25

httpnamed-datanet

NDN Components

26

Apps Routing Repo

NFD

Links and Tunnels

Libraries

27

NDN Libraries

bull All libraries now reflect fundamental architectural abstractions directly in objects and wire format manipulation is abstractedo Name Componento Interest Selectorso Data MetaInfo SignatureInfo SignatureValue KeyLocatoro Faceo KeyChain Validator

bull Multiple library effortso NDN-CXX ldquoC++ for eXtended eXperimentationrdquo

bull C++ (soon to be C++11) Boost (Asio Filesystem )o NDN-CCL ldquoCommon Client Librariesrdquo

bull C++bull Python (2 and 3)bull JavaScript (browser and nodejs)bull Java

o Enables diversity of coding choiceo Drives us towards specification (and not just implementation)

28

Security Support

Signing KeyChain

Manage security

credentials

Sign Data and Interests

Decrypt payload

Validation Validator classes

Compile-time trust policy

Run-time trust policy

httpnamed-datanetdocndn-cxx020tutorialssecurity-libraryhtmlsigning

29

Supported Security Features

bull Asymmetric cryptographyo RSAo ECDSA

bull Symmetric cryptographyo AESo HMAC

bull Trivial cryptographyo SHA256 digest

bull Signingverification granularityo Data packeto Set of Data packets

work in progress

30

NDN Platform

bull Provide a coherent usable and well-documented ldquoplatformrdquo for exploring NDN in practical applications ndash for the NDN project team and external users

bull Use a release ldquoheartbeatrdquo to stimulate interoperability testing and discussion of how the various moving parts work together

bull Along the way improve access to and consistency of various NDN code projects

bull Open and lightweight process with no unrealistic centralization or over-management but clear ownership of each component project

bull Managed nodes on the testbed run the Platform

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 4: Named Data Networking

Sending This Message

From C D (Dan) Mote Jr ltdmoteemailedugtDate Mon May 13 2013 at 739 PMSubject CongratulationsTo Alex Afanasyev ltalexemailedugt

Dear Dr Afanasyev

I write to inform you that you have been elected a Fellow to the National Academy of Engineering As you may understand this designation follows a process of nomination and subsequent vote by existing Fellows Congratulations

SincerelyCD Mote JrPresident-Elect National Academy of Engineering

4

Use Connected EnvironmentIoT

5

Challenges Caused By a Single Problem

Sharing Must know addressTrust Place all trust in addressIoT Know amp trust all addresses

TelephonyInternet Process1 Find the numberaddress for

the one you want to talk to2 Use that number to establish

a point-to-point connection3 Communicate

6

A Simpler Way

this_roomalextalksGEC21pptx

youtubecomvideondnvan2006

uclaboelter_hall4th_florroom412thermostat1status

Suppose your device could ask for what it wanted

7

The Web Has Named Worldrsquos Data

httpwwwyoutubecomwatchv=oCZMoY3q2uM

httpwwwyoutubecomwatchfeature=player_detailpageampv=oCZMoY3q2uMt=1736s

8

Core Idea

Use names directly at the networking level

Focus on data not host-to-host connections

Closed-loop communication

9

Forward Interest

Data

Interest Timeout

congestionflow balancesource multicastcaching

Named Data Networking

bull Leverages the strengths of the Internet addresses weaknesseso Layers efficiently atop Ethernet UDP TCP hellip

bull Naturally accommodateso Mobile deviceso Wireless and other broadcast-based link typeso Data authentication and security privacy anonymityo Policy-based forwarding routing with loops

bull With NDN we aim to show thato Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simpler

10

NDN Project

bull Project launch 92010 part of NSF FIA Program52014 part of NSF FIA-NP Program

bull Research Areas Architecture Routing Security Applications Scalable Forwarding

UCLA Van Jacobson Jeff Burke Deborah Estrin Lixia Zhang

University of Arizona Beichuan Zhang

University of California San Diego Kim Claffy Dmitri Krioukov

Colorado State University Christos Papadopoulos

University of Illinois Urbana-Champaign Tarek Abdelzaher

University of Memphis Lan Wang

University of Michigan Alex Halderman

Washington University Patrick Crowley

Northeastern University Edmund Yeh

University of Maryland Katie Shilton11

Two Packet Types

bull No addressesbull Publishers bind names to data receivers verify

12

NDN Interest Forwarding

1 Do I have this data

2 Is a request already pending

3 Which next hop might lead to the source

13

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

1

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

1

2

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Interest arrives at switch

2

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

3

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

3

4

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

3

4

5

Data packet arrives1 Store data packet in buffer2 Send packet out any matching

interfaces on the pending interest list

3 Remove pending entries

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

Interest resent6

3

4

5

I xkcdcom9491

Interest packet arrives1 Do my buffers contain

xkcdcom9491 Yes send it2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Finished

6

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

Forwarding logic in IP1 Extract destination

address2 Find longest matching

prefix in route table3 Forward packet out

matching interface

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

1 2

34

Matching Prefix

Link

12825216 1

722619219

2

7412516 3

Internet

NDN Nodes and Routes

wustledu

googlecom

xkcdcomhosted by voxelnet

1 2

34

Matching Prefix

Link

wustledu 1

xkcdcom 2 3

googlecom1 3 4

Questions

bull Can NDN efficiently support host-to-host patterns

bull Can NDN efficiently support user-specific data and services

bull Can you count clicks and ad impressions in NDN

bull Can you efficiently route all those names

bull Can you scale the forwarding plane

bull Can you prove security and privacy properties

Yes Yes mostly23

Conclusion (12)

bull Growing evidence that with NDNo Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simplero New things are possible

24

httpnamed-datanet

Conclusion (22)

bull In coming yearso Growing commercial interest and experimentationo Deployments in greenfields IP trouble spots

ndash IoT building automation healthcare vehicular

bull Research community is growingo We share an open-source code base with related projects and

groups moving forwarding in Europe and Asiao NDN Consortium launched this month already includes

14 universities 5 for-profit corporations and 1 non-profit

25

httpnamed-datanet

NDN Components

26

Apps Routing Repo

NFD

Links and Tunnels

Libraries

27

NDN Libraries

bull All libraries now reflect fundamental architectural abstractions directly in objects and wire format manipulation is abstractedo Name Componento Interest Selectorso Data MetaInfo SignatureInfo SignatureValue KeyLocatoro Faceo KeyChain Validator

bull Multiple library effortso NDN-CXX ldquoC++ for eXtended eXperimentationrdquo

bull C++ (soon to be C++11) Boost (Asio Filesystem )o NDN-CCL ldquoCommon Client Librariesrdquo

bull C++bull Python (2 and 3)bull JavaScript (browser and nodejs)bull Java

o Enables diversity of coding choiceo Drives us towards specification (and not just implementation)

28

Security Support

Signing KeyChain

Manage security

credentials

Sign Data and Interests

Decrypt payload

Validation Validator classes

Compile-time trust policy

Run-time trust policy

httpnamed-datanetdocndn-cxx020tutorialssecurity-libraryhtmlsigning

29

Supported Security Features

bull Asymmetric cryptographyo RSAo ECDSA

bull Symmetric cryptographyo AESo HMAC

bull Trivial cryptographyo SHA256 digest

bull Signingverification granularityo Data packeto Set of Data packets

work in progress

30

NDN Platform

bull Provide a coherent usable and well-documented ldquoplatformrdquo for exploring NDN in practical applications ndash for the NDN project team and external users

bull Use a release ldquoheartbeatrdquo to stimulate interoperability testing and discussion of how the various moving parts work together

bull Along the way improve access to and consistency of various NDN code projects

bull Open and lightweight process with no unrealistic centralization or over-management but clear ownership of each component project

bull Managed nodes on the testbed run the Platform

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 5: Named Data Networking

Use Connected EnvironmentIoT

5

Challenges Caused By a Single Problem

Sharing Must know addressTrust Place all trust in addressIoT Know amp trust all addresses

TelephonyInternet Process1 Find the numberaddress for

the one you want to talk to2 Use that number to establish

a point-to-point connection3 Communicate

6

A Simpler Way

this_roomalextalksGEC21pptx

youtubecomvideondnvan2006

uclaboelter_hall4th_florroom412thermostat1status

Suppose your device could ask for what it wanted

7

The Web Has Named Worldrsquos Data

httpwwwyoutubecomwatchv=oCZMoY3q2uM

httpwwwyoutubecomwatchfeature=player_detailpageampv=oCZMoY3q2uMt=1736s

8

Core Idea

Use names directly at the networking level

Focus on data not host-to-host connections

Closed-loop communication

9

Forward Interest

Data

Interest Timeout

congestionflow balancesource multicastcaching

Named Data Networking

bull Leverages the strengths of the Internet addresses weaknesseso Layers efficiently atop Ethernet UDP TCP hellip

bull Naturally accommodateso Mobile deviceso Wireless and other broadcast-based link typeso Data authentication and security privacy anonymityo Policy-based forwarding routing with loops

bull With NDN we aim to show thato Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simpler

10

NDN Project

bull Project launch 92010 part of NSF FIA Program52014 part of NSF FIA-NP Program

bull Research Areas Architecture Routing Security Applications Scalable Forwarding

UCLA Van Jacobson Jeff Burke Deborah Estrin Lixia Zhang

University of Arizona Beichuan Zhang

University of California San Diego Kim Claffy Dmitri Krioukov

Colorado State University Christos Papadopoulos

University of Illinois Urbana-Champaign Tarek Abdelzaher

University of Memphis Lan Wang

University of Michigan Alex Halderman

Washington University Patrick Crowley

Northeastern University Edmund Yeh

University of Maryland Katie Shilton11

Two Packet Types

bull No addressesbull Publishers bind names to data receivers verify

12

NDN Interest Forwarding

1 Do I have this data

2 Is a request already pending

3 Which next hop might lead to the source

13

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

1

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

1

2

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Interest arrives at switch

2

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

3

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

3

4

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

3

4

5

Data packet arrives1 Store data packet in buffer2 Send packet out any matching

interfaces on the pending interest list

3 Remove pending entries

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

Interest resent6

3

4

5

I xkcdcom9491

Interest packet arrives1 Do my buffers contain

xkcdcom9491 Yes send it2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Finished

6

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

Forwarding logic in IP1 Extract destination

address2 Find longest matching

prefix in route table3 Forward packet out

matching interface

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

1 2

34

Matching Prefix

Link

12825216 1

722619219

2

7412516 3

Internet

NDN Nodes and Routes

wustledu

googlecom

xkcdcomhosted by voxelnet

1 2

34

Matching Prefix

Link

wustledu 1

xkcdcom 2 3

googlecom1 3 4

Questions

bull Can NDN efficiently support host-to-host patterns

bull Can NDN efficiently support user-specific data and services

bull Can you count clicks and ad impressions in NDN

bull Can you efficiently route all those names

bull Can you scale the forwarding plane

bull Can you prove security and privacy properties

Yes Yes mostly23

Conclusion (12)

bull Growing evidence that with NDNo Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simplero New things are possible

24

httpnamed-datanet

Conclusion (22)

bull In coming yearso Growing commercial interest and experimentationo Deployments in greenfields IP trouble spots

ndash IoT building automation healthcare vehicular

bull Research community is growingo We share an open-source code base with related projects and

groups moving forwarding in Europe and Asiao NDN Consortium launched this month already includes

14 universities 5 for-profit corporations and 1 non-profit

25

httpnamed-datanet

NDN Components

26

Apps Routing Repo

NFD

Links and Tunnels

Libraries

27

NDN Libraries

bull All libraries now reflect fundamental architectural abstractions directly in objects and wire format manipulation is abstractedo Name Componento Interest Selectorso Data MetaInfo SignatureInfo SignatureValue KeyLocatoro Faceo KeyChain Validator

bull Multiple library effortso NDN-CXX ldquoC++ for eXtended eXperimentationrdquo

bull C++ (soon to be C++11) Boost (Asio Filesystem )o NDN-CCL ldquoCommon Client Librariesrdquo

bull C++bull Python (2 and 3)bull JavaScript (browser and nodejs)bull Java

o Enables diversity of coding choiceo Drives us towards specification (and not just implementation)

28

Security Support

Signing KeyChain

Manage security

credentials

Sign Data and Interests

Decrypt payload

Validation Validator classes

Compile-time trust policy

Run-time trust policy

httpnamed-datanetdocndn-cxx020tutorialssecurity-libraryhtmlsigning

29

Supported Security Features

bull Asymmetric cryptographyo RSAo ECDSA

bull Symmetric cryptographyo AESo HMAC

bull Trivial cryptographyo SHA256 digest

bull Signingverification granularityo Data packeto Set of Data packets

work in progress

30

NDN Platform

bull Provide a coherent usable and well-documented ldquoplatformrdquo for exploring NDN in practical applications ndash for the NDN project team and external users

bull Use a release ldquoheartbeatrdquo to stimulate interoperability testing and discussion of how the various moving parts work together

bull Along the way improve access to and consistency of various NDN code projects

bull Open and lightweight process with no unrealistic centralization or over-management but clear ownership of each component project

bull Managed nodes on the testbed run the Platform

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 6: Named Data Networking

Challenges Caused By a Single Problem

Sharing Must know addressTrust Place all trust in addressIoT Know amp trust all addresses

TelephonyInternet Process1 Find the numberaddress for

the one you want to talk to2 Use that number to establish

a point-to-point connection3 Communicate

6

A Simpler Way

this_roomalextalksGEC21pptx

youtubecomvideondnvan2006

uclaboelter_hall4th_florroom412thermostat1status

Suppose your device could ask for what it wanted

7

The Web Has Named Worldrsquos Data

httpwwwyoutubecomwatchv=oCZMoY3q2uM

httpwwwyoutubecomwatchfeature=player_detailpageampv=oCZMoY3q2uMt=1736s

8

Core Idea

Use names directly at the networking level

Focus on data not host-to-host connections

Closed-loop communication

9

Forward Interest

Data

Interest Timeout

congestionflow balancesource multicastcaching

Named Data Networking

bull Leverages the strengths of the Internet addresses weaknesseso Layers efficiently atop Ethernet UDP TCP hellip

bull Naturally accommodateso Mobile deviceso Wireless and other broadcast-based link typeso Data authentication and security privacy anonymityo Policy-based forwarding routing with loops

bull With NDN we aim to show thato Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simpler

10

NDN Project

bull Project launch 92010 part of NSF FIA Program52014 part of NSF FIA-NP Program

bull Research Areas Architecture Routing Security Applications Scalable Forwarding

UCLA Van Jacobson Jeff Burke Deborah Estrin Lixia Zhang

University of Arizona Beichuan Zhang

University of California San Diego Kim Claffy Dmitri Krioukov

Colorado State University Christos Papadopoulos

University of Illinois Urbana-Champaign Tarek Abdelzaher

University of Memphis Lan Wang

University of Michigan Alex Halderman

Washington University Patrick Crowley

Northeastern University Edmund Yeh

University of Maryland Katie Shilton11

Two Packet Types

bull No addressesbull Publishers bind names to data receivers verify

12

NDN Interest Forwarding

1 Do I have this data

2 Is a request already pending

3 Which next hop might lead to the source

13

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

1

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

1

2

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Interest arrives at switch

2

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

3

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

3

4

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

3

4

5

Data packet arrives1 Store data packet in buffer2 Send packet out any matching

interfaces on the pending interest list

3 Remove pending entries

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

Interest resent6

3

4

5

I xkcdcom9491

Interest packet arrives1 Do my buffers contain

xkcdcom9491 Yes send it2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Finished

6

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

Forwarding logic in IP1 Extract destination

address2 Find longest matching

prefix in route table3 Forward packet out

matching interface

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

1 2

34

Matching Prefix

Link

12825216 1

722619219

2

7412516 3

Internet

NDN Nodes and Routes

wustledu

googlecom

xkcdcomhosted by voxelnet

1 2

34

Matching Prefix

Link

wustledu 1

xkcdcom 2 3

googlecom1 3 4

Questions

bull Can NDN efficiently support host-to-host patterns

bull Can NDN efficiently support user-specific data and services

bull Can you count clicks and ad impressions in NDN

bull Can you efficiently route all those names

bull Can you scale the forwarding plane

bull Can you prove security and privacy properties

Yes Yes mostly23

Conclusion (12)

bull Growing evidence that with NDNo Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simplero New things are possible

24

httpnamed-datanet

Conclusion (22)

bull In coming yearso Growing commercial interest and experimentationo Deployments in greenfields IP trouble spots

ndash IoT building automation healthcare vehicular

bull Research community is growingo We share an open-source code base with related projects and

groups moving forwarding in Europe and Asiao NDN Consortium launched this month already includes

14 universities 5 for-profit corporations and 1 non-profit

25

httpnamed-datanet

NDN Components

26

Apps Routing Repo

NFD

Links and Tunnels

Libraries

27

NDN Libraries

bull All libraries now reflect fundamental architectural abstractions directly in objects and wire format manipulation is abstractedo Name Componento Interest Selectorso Data MetaInfo SignatureInfo SignatureValue KeyLocatoro Faceo KeyChain Validator

bull Multiple library effortso NDN-CXX ldquoC++ for eXtended eXperimentationrdquo

bull C++ (soon to be C++11) Boost (Asio Filesystem )o NDN-CCL ldquoCommon Client Librariesrdquo

bull C++bull Python (2 and 3)bull JavaScript (browser and nodejs)bull Java

o Enables diversity of coding choiceo Drives us towards specification (and not just implementation)

28

Security Support

Signing KeyChain

Manage security

credentials

Sign Data and Interests

Decrypt payload

Validation Validator classes

Compile-time trust policy

Run-time trust policy

httpnamed-datanetdocndn-cxx020tutorialssecurity-libraryhtmlsigning

29

Supported Security Features

bull Asymmetric cryptographyo RSAo ECDSA

bull Symmetric cryptographyo AESo HMAC

bull Trivial cryptographyo SHA256 digest

bull Signingverification granularityo Data packeto Set of Data packets

work in progress

30

NDN Platform

bull Provide a coherent usable and well-documented ldquoplatformrdquo for exploring NDN in practical applications ndash for the NDN project team and external users

bull Use a release ldquoheartbeatrdquo to stimulate interoperability testing and discussion of how the various moving parts work together

bull Along the way improve access to and consistency of various NDN code projects

bull Open and lightweight process with no unrealistic centralization or over-management but clear ownership of each component project

bull Managed nodes on the testbed run the Platform

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 7: Named Data Networking

A Simpler Way

this_roomalextalksGEC21pptx

youtubecomvideondnvan2006

uclaboelter_hall4th_florroom412thermostat1status

Suppose your device could ask for what it wanted

7

The Web Has Named Worldrsquos Data

httpwwwyoutubecomwatchv=oCZMoY3q2uM

httpwwwyoutubecomwatchfeature=player_detailpageampv=oCZMoY3q2uMt=1736s

8

Core Idea

Use names directly at the networking level

Focus on data not host-to-host connections

Closed-loop communication

9

Forward Interest

Data

Interest Timeout

congestionflow balancesource multicastcaching

Named Data Networking

bull Leverages the strengths of the Internet addresses weaknesseso Layers efficiently atop Ethernet UDP TCP hellip

bull Naturally accommodateso Mobile deviceso Wireless and other broadcast-based link typeso Data authentication and security privacy anonymityo Policy-based forwarding routing with loops

bull With NDN we aim to show thato Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simpler

10

NDN Project

bull Project launch 92010 part of NSF FIA Program52014 part of NSF FIA-NP Program

bull Research Areas Architecture Routing Security Applications Scalable Forwarding

UCLA Van Jacobson Jeff Burke Deborah Estrin Lixia Zhang

University of Arizona Beichuan Zhang

University of California San Diego Kim Claffy Dmitri Krioukov

Colorado State University Christos Papadopoulos

University of Illinois Urbana-Champaign Tarek Abdelzaher

University of Memphis Lan Wang

University of Michigan Alex Halderman

Washington University Patrick Crowley

Northeastern University Edmund Yeh

University of Maryland Katie Shilton11

Two Packet Types

bull No addressesbull Publishers bind names to data receivers verify

12

NDN Interest Forwarding

1 Do I have this data

2 Is a request already pending

3 Which next hop might lead to the source

13

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

1

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

1

2

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Interest arrives at switch

2

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

3

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

3

4

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

3

4

5

Data packet arrives1 Store data packet in buffer2 Send packet out any matching

interfaces on the pending interest list

3 Remove pending entries

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

Interest resent6

3

4

5

I xkcdcom9491

Interest packet arrives1 Do my buffers contain

xkcdcom9491 Yes send it2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Finished

6

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

Forwarding logic in IP1 Extract destination

address2 Find longest matching

prefix in route table3 Forward packet out

matching interface

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

1 2

34

Matching Prefix

Link

12825216 1

722619219

2

7412516 3

Internet

NDN Nodes and Routes

wustledu

googlecom

xkcdcomhosted by voxelnet

1 2

34

Matching Prefix

Link

wustledu 1

xkcdcom 2 3

googlecom1 3 4

Questions

bull Can NDN efficiently support host-to-host patterns

bull Can NDN efficiently support user-specific data and services

bull Can you count clicks and ad impressions in NDN

bull Can you efficiently route all those names

bull Can you scale the forwarding plane

bull Can you prove security and privacy properties

Yes Yes mostly23

Conclusion (12)

bull Growing evidence that with NDNo Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simplero New things are possible

24

httpnamed-datanet

Conclusion (22)

bull In coming yearso Growing commercial interest and experimentationo Deployments in greenfields IP trouble spots

ndash IoT building automation healthcare vehicular

bull Research community is growingo We share an open-source code base with related projects and

groups moving forwarding in Europe and Asiao NDN Consortium launched this month already includes

14 universities 5 for-profit corporations and 1 non-profit

25

httpnamed-datanet

NDN Components

26

Apps Routing Repo

NFD

Links and Tunnels

Libraries

27

NDN Libraries

bull All libraries now reflect fundamental architectural abstractions directly in objects and wire format manipulation is abstractedo Name Componento Interest Selectorso Data MetaInfo SignatureInfo SignatureValue KeyLocatoro Faceo KeyChain Validator

bull Multiple library effortso NDN-CXX ldquoC++ for eXtended eXperimentationrdquo

bull C++ (soon to be C++11) Boost (Asio Filesystem )o NDN-CCL ldquoCommon Client Librariesrdquo

bull C++bull Python (2 and 3)bull JavaScript (browser and nodejs)bull Java

o Enables diversity of coding choiceo Drives us towards specification (and not just implementation)

28

Security Support

Signing KeyChain

Manage security

credentials

Sign Data and Interests

Decrypt payload

Validation Validator classes

Compile-time trust policy

Run-time trust policy

httpnamed-datanetdocndn-cxx020tutorialssecurity-libraryhtmlsigning

29

Supported Security Features

bull Asymmetric cryptographyo RSAo ECDSA

bull Symmetric cryptographyo AESo HMAC

bull Trivial cryptographyo SHA256 digest

bull Signingverification granularityo Data packeto Set of Data packets

work in progress

30

NDN Platform

bull Provide a coherent usable and well-documented ldquoplatformrdquo for exploring NDN in practical applications ndash for the NDN project team and external users

bull Use a release ldquoheartbeatrdquo to stimulate interoperability testing and discussion of how the various moving parts work together

bull Along the way improve access to and consistency of various NDN code projects

bull Open and lightweight process with no unrealistic centralization or over-management but clear ownership of each component project

bull Managed nodes on the testbed run the Platform

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 8: Named Data Networking

The Web Has Named Worldrsquos Data

httpwwwyoutubecomwatchv=oCZMoY3q2uM

httpwwwyoutubecomwatchfeature=player_detailpageampv=oCZMoY3q2uMt=1736s

8

Core Idea

Use names directly at the networking level

Focus on data not host-to-host connections

Closed-loop communication

9

Forward Interest

Data

Interest Timeout

congestionflow balancesource multicastcaching

Named Data Networking

bull Leverages the strengths of the Internet addresses weaknesseso Layers efficiently atop Ethernet UDP TCP hellip

bull Naturally accommodateso Mobile deviceso Wireless and other broadcast-based link typeso Data authentication and security privacy anonymityo Policy-based forwarding routing with loops

bull With NDN we aim to show thato Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simpler

10

NDN Project

bull Project launch 92010 part of NSF FIA Program52014 part of NSF FIA-NP Program

bull Research Areas Architecture Routing Security Applications Scalable Forwarding

UCLA Van Jacobson Jeff Burke Deborah Estrin Lixia Zhang

University of Arizona Beichuan Zhang

University of California San Diego Kim Claffy Dmitri Krioukov

Colorado State University Christos Papadopoulos

University of Illinois Urbana-Champaign Tarek Abdelzaher

University of Memphis Lan Wang

University of Michigan Alex Halderman

Washington University Patrick Crowley

Northeastern University Edmund Yeh

University of Maryland Katie Shilton11

Two Packet Types

bull No addressesbull Publishers bind names to data receivers verify

12

NDN Interest Forwarding

1 Do I have this data

2 Is a request already pending

3 Which next hop might lead to the source

13

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

1

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

1

2

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Interest arrives at switch

2

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

3

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

3

4

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

3

4

5

Data packet arrives1 Store data packet in buffer2 Send packet out any matching

interfaces on the pending interest list

3 Remove pending entries

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

Interest resent6

3

4

5

I xkcdcom9491

Interest packet arrives1 Do my buffers contain

xkcdcom9491 Yes send it2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Finished

6

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

Forwarding logic in IP1 Extract destination

address2 Find longest matching

prefix in route table3 Forward packet out

matching interface

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

1 2

34

Matching Prefix

Link

12825216 1

722619219

2

7412516 3

Internet

NDN Nodes and Routes

wustledu

googlecom

xkcdcomhosted by voxelnet

1 2

34

Matching Prefix

Link

wustledu 1

xkcdcom 2 3

googlecom1 3 4

Questions

bull Can NDN efficiently support host-to-host patterns

bull Can NDN efficiently support user-specific data and services

bull Can you count clicks and ad impressions in NDN

bull Can you efficiently route all those names

bull Can you scale the forwarding plane

bull Can you prove security and privacy properties

Yes Yes mostly23

Conclusion (12)

bull Growing evidence that with NDNo Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simplero New things are possible

24

httpnamed-datanet

Conclusion (22)

bull In coming yearso Growing commercial interest and experimentationo Deployments in greenfields IP trouble spots

ndash IoT building automation healthcare vehicular

bull Research community is growingo We share an open-source code base with related projects and

groups moving forwarding in Europe and Asiao NDN Consortium launched this month already includes

14 universities 5 for-profit corporations and 1 non-profit

25

httpnamed-datanet

NDN Components

26

Apps Routing Repo

NFD

Links and Tunnels

Libraries

27

NDN Libraries

bull All libraries now reflect fundamental architectural abstractions directly in objects and wire format manipulation is abstractedo Name Componento Interest Selectorso Data MetaInfo SignatureInfo SignatureValue KeyLocatoro Faceo KeyChain Validator

bull Multiple library effortso NDN-CXX ldquoC++ for eXtended eXperimentationrdquo

bull C++ (soon to be C++11) Boost (Asio Filesystem )o NDN-CCL ldquoCommon Client Librariesrdquo

bull C++bull Python (2 and 3)bull JavaScript (browser and nodejs)bull Java

o Enables diversity of coding choiceo Drives us towards specification (and not just implementation)

28

Security Support

Signing KeyChain

Manage security

credentials

Sign Data and Interests

Decrypt payload

Validation Validator classes

Compile-time trust policy

Run-time trust policy

httpnamed-datanetdocndn-cxx020tutorialssecurity-libraryhtmlsigning

29

Supported Security Features

bull Asymmetric cryptographyo RSAo ECDSA

bull Symmetric cryptographyo AESo HMAC

bull Trivial cryptographyo SHA256 digest

bull Signingverification granularityo Data packeto Set of Data packets

work in progress

30

NDN Platform

bull Provide a coherent usable and well-documented ldquoplatformrdquo for exploring NDN in practical applications ndash for the NDN project team and external users

bull Use a release ldquoheartbeatrdquo to stimulate interoperability testing and discussion of how the various moving parts work together

bull Along the way improve access to and consistency of various NDN code projects

bull Open and lightweight process with no unrealistic centralization or over-management but clear ownership of each component project

bull Managed nodes on the testbed run the Platform

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 9: Named Data Networking

Core Idea

Use names directly at the networking level

Focus on data not host-to-host connections

Closed-loop communication

9

Forward Interest

Data

Interest Timeout

congestionflow balancesource multicastcaching

Named Data Networking

bull Leverages the strengths of the Internet addresses weaknesseso Layers efficiently atop Ethernet UDP TCP hellip

bull Naturally accommodateso Mobile deviceso Wireless and other broadcast-based link typeso Data authentication and security privacy anonymityo Policy-based forwarding routing with loops

bull With NDN we aim to show thato Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simpler

10

NDN Project

bull Project launch 92010 part of NSF FIA Program52014 part of NSF FIA-NP Program

bull Research Areas Architecture Routing Security Applications Scalable Forwarding

UCLA Van Jacobson Jeff Burke Deborah Estrin Lixia Zhang

University of Arizona Beichuan Zhang

University of California San Diego Kim Claffy Dmitri Krioukov

Colorado State University Christos Papadopoulos

University of Illinois Urbana-Champaign Tarek Abdelzaher

University of Memphis Lan Wang

University of Michigan Alex Halderman

Washington University Patrick Crowley

Northeastern University Edmund Yeh

University of Maryland Katie Shilton11

Two Packet Types

bull No addressesbull Publishers bind names to data receivers verify

12

NDN Interest Forwarding

1 Do I have this data

2 Is a request already pending

3 Which next hop might lead to the source

13

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

1

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

1

2

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Interest arrives at switch

2

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

3

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

3

4

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

3

4

5

Data packet arrives1 Store data packet in buffer2 Send packet out any matching

interfaces on the pending interest list

3 Remove pending entries

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

Interest resent6

3

4

5

I xkcdcom9491

Interest packet arrives1 Do my buffers contain

xkcdcom9491 Yes send it2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Finished

6

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

Forwarding logic in IP1 Extract destination

address2 Find longest matching

prefix in route table3 Forward packet out

matching interface

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

1 2

34

Matching Prefix

Link

12825216 1

722619219

2

7412516 3

Internet

NDN Nodes and Routes

wustledu

googlecom

xkcdcomhosted by voxelnet

1 2

34

Matching Prefix

Link

wustledu 1

xkcdcom 2 3

googlecom1 3 4

Questions

bull Can NDN efficiently support host-to-host patterns

bull Can NDN efficiently support user-specific data and services

bull Can you count clicks and ad impressions in NDN

bull Can you efficiently route all those names

bull Can you scale the forwarding plane

bull Can you prove security and privacy properties

Yes Yes mostly23

Conclusion (12)

bull Growing evidence that with NDNo Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simplero New things are possible

24

httpnamed-datanet

Conclusion (22)

bull In coming yearso Growing commercial interest and experimentationo Deployments in greenfields IP trouble spots

ndash IoT building automation healthcare vehicular

bull Research community is growingo We share an open-source code base with related projects and

groups moving forwarding in Europe and Asiao NDN Consortium launched this month already includes

14 universities 5 for-profit corporations and 1 non-profit

25

httpnamed-datanet

NDN Components

26

Apps Routing Repo

NFD

Links and Tunnels

Libraries

27

NDN Libraries

bull All libraries now reflect fundamental architectural abstractions directly in objects and wire format manipulation is abstractedo Name Componento Interest Selectorso Data MetaInfo SignatureInfo SignatureValue KeyLocatoro Faceo KeyChain Validator

bull Multiple library effortso NDN-CXX ldquoC++ for eXtended eXperimentationrdquo

bull C++ (soon to be C++11) Boost (Asio Filesystem )o NDN-CCL ldquoCommon Client Librariesrdquo

bull C++bull Python (2 and 3)bull JavaScript (browser and nodejs)bull Java

o Enables diversity of coding choiceo Drives us towards specification (and not just implementation)

28

Security Support

Signing KeyChain

Manage security

credentials

Sign Data and Interests

Decrypt payload

Validation Validator classes

Compile-time trust policy

Run-time trust policy

httpnamed-datanetdocndn-cxx020tutorialssecurity-libraryhtmlsigning

29

Supported Security Features

bull Asymmetric cryptographyo RSAo ECDSA

bull Symmetric cryptographyo AESo HMAC

bull Trivial cryptographyo SHA256 digest

bull Signingverification granularityo Data packeto Set of Data packets

work in progress

30

NDN Platform

bull Provide a coherent usable and well-documented ldquoplatformrdquo for exploring NDN in practical applications ndash for the NDN project team and external users

bull Use a release ldquoheartbeatrdquo to stimulate interoperability testing and discussion of how the various moving parts work together

bull Along the way improve access to and consistency of various NDN code projects

bull Open and lightweight process with no unrealistic centralization or over-management but clear ownership of each component project

bull Managed nodes on the testbed run the Platform

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 10: Named Data Networking

Named Data Networking

bull Leverages the strengths of the Internet addresses weaknesseso Layers efficiently atop Ethernet UDP TCP hellip

bull Naturally accommodateso Mobile deviceso Wireless and other broadcast-based link typeso Data authentication and security privacy anonymityo Policy-based forwarding routing with loops

bull With NDN we aim to show thato Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simpler

10

NDN Project

bull Project launch 92010 part of NSF FIA Program52014 part of NSF FIA-NP Program

bull Research Areas Architecture Routing Security Applications Scalable Forwarding

UCLA Van Jacobson Jeff Burke Deborah Estrin Lixia Zhang

University of Arizona Beichuan Zhang

University of California San Diego Kim Claffy Dmitri Krioukov

Colorado State University Christos Papadopoulos

University of Illinois Urbana-Champaign Tarek Abdelzaher

University of Memphis Lan Wang

University of Michigan Alex Halderman

Washington University Patrick Crowley

Northeastern University Edmund Yeh

University of Maryland Katie Shilton11

Two Packet Types

bull No addressesbull Publishers bind names to data receivers verify

12

NDN Interest Forwarding

1 Do I have this data

2 Is a request already pending

3 Which next hop might lead to the source

13

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

1

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

1

2

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Interest arrives at switch

2

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

3

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

3

4

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

3

4

5

Data packet arrives1 Store data packet in buffer2 Send packet out any matching

interfaces on the pending interest list

3 Remove pending entries

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

Interest resent6

3

4

5

I xkcdcom9491

Interest packet arrives1 Do my buffers contain

xkcdcom9491 Yes send it2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Finished

6

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

Forwarding logic in IP1 Extract destination

address2 Find longest matching

prefix in route table3 Forward packet out

matching interface

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

1 2

34

Matching Prefix

Link

12825216 1

722619219

2

7412516 3

Internet

NDN Nodes and Routes

wustledu

googlecom

xkcdcomhosted by voxelnet

1 2

34

Matching Prefix

Link

wustledu 1

xkcdcom 2 3

googlecom1 3 4

Questions

bull Can NDN efficiently support host-to-host patterns

bull Can NDN efficiently support user-specific data and services

bull Can you count clicks and ad impressions in NDN

bull Can you efficiently route all those names

bull Can you scale the forwarding plane

bull Can you prove security and privacy properties

Yes Yes mostly23

Conclusion (12)

bull Growing evidence that with NDNo Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simplero New things are possible

24

httpnamed-datanet

Conclusion (22)

bull In coming yearso Growing commercial interest and experimentationo Deployments in greenfields IP trouble spots

ndash IoT building automation healthcare vehicular

bull Research community is growingo We share an open-source code base with related projects and

groups moving forwarding in Europe and Asiao NDN Consortium launched this month already includes

14 universities 5 for-profit corporations and 1 non-profit

25

httpnamed-datanet

NDN Components

26

Apps Routing Repo

NFD

Links and Tunnels

Libraries

27

NDN Libraries

bull All libraries now reflect fundamental architectural abstractions directly in objects and wire format manipulation is abstractedo Name Componento Interest Selectorso Data MetaInfo SignatureInfo SignatureValue KeyLocatoro Faceo KeyChain Validator

bull Multiple library effortso NDN-CXX ldquoC++ for eXtended eXperimentationrdquo

bull C++ (soon to be C++11) Boost (Asio Filesystem )o NDN-CCL ldquoCommon Client Librariesrdquo

bull C++bull Python (2 and 3)bull JavaScript (browser and nodejs)bull Java

o Enables diversity of coding choiceo Drives us towards specification (and not just implementation)

28

Security Support

Signing KeyChain

Manage security

credentials

Sign Data and Interests

Decrypt payload

Validation Validator classes

Compile-time trust policy

Run-time trust policy

httpnamed-datanetdocndn-cxx020tutorialssecurity-libraryhtmlsigning

29

Supported Security Features

bull Asymmetric cryptographyo RSAo ECDSA

bull Symmetric cryptographyo AESo HMAC

bull Trivial cryptographyo SHA256 digest

bull Signingverification granularityo Data packeto Set of Data packets

work in progress

30

NDN Platform

bull Provide a coherent usable and well-documented ldquoplatformrdquo for exploring NDN in practical applications ndash for the NDN project team and external users

bull Use a release ldquoheartbeatrdquo to stimulate interoperability testing and discussion of how the various moving parts work together

bull Along the way improve access to and consistency of various NDN code projects

bull Open and lightweight process with no unrealistic centralization or over-management but clear ownership of each component project

bull Managed nodes on the testbed run the Platform

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 11: Named Data Networking

NDN Project

bull Project launch 92010 part of NSF FIA Program52014 part of NSF FIA-NP Program

bull Research Areas Architecture Routing Security Applications Scalable Forwarding

UCLA Van Jacobson Jeff Burke Deborah Estrin Lixia Zhang

University of Arizona Beichuan Zhang

University of California San Diego Kim Claffy Dmitri Krioukov

Colorado State University Christos Papadopoulos

University of Illinois Urbana-Champaign Tarek Abdelzaher

University of Memphis Lan Wang

University of Michigan Alex Halderman

Washington University Patrick Crowley

Northeastern University Edmund Yeh

University of Maryland Katie Shilton11

Two Packet Types

bull No addressesbull Publishers bind names to data receivers verify

12

NDN Interest Forwarding

1 Do I have this data

2 Is a request already pending

3 Which next hop might lead to the source

13

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

1

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

1

2

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Interest arrives at switch

2

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

3

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

3

4

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

3

4

5

Data packet arrives1 Store data packet in buffer2 Send packet out any matching

interfaces on the pending interest list

3 Remove pending entries

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

Interest resent6

3

4

5

I xkcdcom9491

Interest packet arrives1 Do my buffers contain

xkcdcom9491 Yes send it2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Finished

6

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

Forwarding logic in IP1 Extract destination

address2 Find longest matching

prefix in route table3 Forward packet out

matching interface

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

1 2

34

Matching Prefix

Link

12825216 1

722619219

2

7412516 3

Internet

NDN Nodes and Routes

wustledu

googlecom

xkcdcomhosted by voxelnet

1 2

34

Matching Prefix

Link

wustledu 1

xkcdcom 2 3

googlecom1 3 4

Questions

bull Can NDN efficiently support host-to-host patterns

bull Can NDN efficiently support user-specific data and services

bull Can you count clicks and ad impressions in NDN

bull Can you efficiently route all those names

bull Can you scale the forwarding plane

bull Can you prove security and privacy properties

Yes Yes mostly23

Conclusion (12)

bull Growing evidence that with NDNo Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simplero New things are possible

24

httpnamed-datanet

Conclusion (22)

bull In coming yearso Growing commercial interest and experimentationo Deployments in greenfields IP trouble spots

ndash IoT building automation healthcare vehicular

bull Research community is growingo We share an open-source code base with related projects and

groups moving forwarding in Europe and Asiao NDN Consortium launched this month already includes

14 universities 5 for-profit corporations and 1 non-profit

25

httpnamed-datanet

NDN Components

26

Apps Routing Repo

NFD

Links and Tunnels

Libraries

27

NDN Libraries

bull All libraries now reflect fundamental architectural abstractions directly in objects and wire format manipulation is abstractedo Name Componento Interest Selectorso Data MetaInfo SignatureInfo SignatureValue KeyLocatoro Faceo KeyChain Validator

bull Multiple library effortso NDN-CXX ldquoC++ for eXtended eXperimentationrdquo

bull C++ (soon to be C++11) Boost (Asio Filesystem )o NDN-CCL ldquoCommon Client Librariesrdquo

bull C++bull Python (2 and 3)bull JavaScript (browser and nodejs)bull Java

o Enables diversity of coding choiceo Drives us towards specification (and not just implementation)

28

Security Support

Signing KeyChain

Manage security

credentials

Sign Data and Interests

Decrypt payload

Validation Validator classes

Compile-time trust policy

Run-time trust policy

httpnamed-datanetdocndn-cxx020tutorialssecurity-libraryhtmlsigning

29

Supported Security Features

bull Asymmetric cryptographyo RSAo ECDSA

bull Symmetric cryptographyo AESo HMAC

bull Trivial cryptographyo SHA256 digest

bull Signingverification granularityo Data packeto Set of Data packets

work in progress

30

NDN Platform

bull Provide a coherent usable and well-documented ldquoplatformrdquo for exploring NDN in practical applications ndash for the NDN project team and external users

bull Use a release ldquoheartbeatrdquo to stimulate interoperability testing and discussion of how the various moving parts work together

bull Along the way improve access to and consistency of various NDN code projects

bull Open and lightweight process with no unrealistic centralization or over-management but clear ownership of each component project

bull Managed nodes on the testbed run the Platform

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 12: Named Data Networking

Two Packet Types

bull No addressesbull Publishers bind names to data receivers verify

12

NDN Interest Forwarding

1 Do I have this data

2 Is a request already pending

3 Which next hop might lead to the source

13

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

1

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

1

2

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Interest arrives at switch

2

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

3

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

3

4

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

3

4

5

Data packet arrives1 Store data packet in buffer2 Send packet out any matching

interfaces on the pending interest list

3 Remove pending entries

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

Interest resent6

3

4

5

I xkcdcom9491

Interest packet arrives1 Do my buffers contain

xkcdcom9491 Yes send it2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Finished

6

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

Forwarding logic in IP1 Extract destination

address2 Find longest matching

prefix in route table3 Forward packet out

matching interface

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

1 2

34

Matching Prefix

Link

12825216 1

722619219

2

7412516 3

Internet

NDN Nodes and Routes

wustledu

googlecom

xkcdcomhosted by voxelnet

1 2

34

Matching Prefix

Link

wustledu 1

xkcdcom 2 3

googlecom1 3 4

Questions

bull Can NDN efficiently support host-to-host patterns

bull Can NDN efficiently support user-specific data and services

bull Can you count clicks and ad impressions in NDN

bull Can you efficiently route all those names

bull Can you scale the forwarding plane

bull Can you prove security and privacy properties

Yes Yes mostly23

Conclusion (12)

bull Growing evidence that with NDNo Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simplero New things are possible

24

httpnamed-datanet

Conclusion (22)

bull In coming yearso Growing commercial interest and experimentationo Deployments in greenfields IP trouble spots

ndash IoT building automation healthcare vehicular

bull Research community is growingo We share an open-source code base with related projects and

groups moving forwarding in Europe and Asiao NDN Consortium launched this month already includes

14 universities 5 for-profit corporations and 1 non-profit

25

httpnamed-datanet

NDN Components

26

Apps Routing Repo

NFD

Links and Tunnels

Libraries

27

NDN Libraries

bull All libraries now reflect fundamental architectural abstractions directly in objects and wire format manipulation is abstractedo Name Componento Interest Selectorso Data MetaInfo SignatureInfo SignatureValue KeyLocatoro Faceo KeyChain Validator

bull Multiple library effortso NDN-CXX ldquoC++ for eXtended eXperimentationrdquo

bull C++ (soon to be C++11) Boost (Asio Filesystem )o NDN-CCL ldquoCommon Client Librariesrdquo

bull C++bull Python (2 and 3)bull JavaScript (browser and nodejs)bull Java

o Enables diversity of coding choiceo Drives us towards specification (and not just implementation)

28

Security Support

Signing KeyChain

Manage security

credentials

Sign Data and Interests

Decrypt payload

Validation Validator classes

Compile-time trust policy

Run-time trust policy

httpnamed-datanetdocndn-cxx020tutorialssecurity-libraryhtmlsigning

29

Supported Security Features

bull Asymmetric cryptographyo RSAo ECDSA

bull Symmetric cryptographyo AESo HMAC

bull Trivial cryptographyo SHA256 digest

bull Signingverification granularityo Data packeto Set of Data packets

work in progress

30

NDN Platform

bull Provide a coherent usable and well-documented ldquoplatformrdquo for exploring NDN in practical applications ndash for the NDN project team and external users

bull Use a release ldquoheartbeatrdquo to stimulate interoperability testing and discussion of how the various moving parts work together

bull Along the way improve access to and consistency of various NDN code projects

bull Open and lightweight process with no unrealistic centralization or over-management but clear ownership of each component project

bull Managed nodes on the testbed run the Platform

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 13: Named Data Networking

NDN Interest Forwarding

1 Do I have this data

2 Is a request already pending

3 Which next hop might lead to the source

13

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

1

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

1

2

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Interest arrives at switch

2

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

3

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

3

4

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

3

4

5

Data packet arrives1 Store data packet in buffer2 Send packet out any matching

interfaces on the pending interest list

3 Remove pending entries

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

Interest resent6

3

4

5

I xkcdcom9491

Interest packet arrives1 Do my buffers contain

xkcdcom9491 Yes send it2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Finished

6

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

Forwarding logic in IP1 Extract destination

address2 Find longest matching

prefix in route table3 Forward packet out

matching interface

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

1 2

34

Matching Prefix

Link

12825216 1

722619219

2

7412516 3

Internet

NDN Nodes and Routes

wustledu

googlecom

xkcdcomhosted by voxelnet

1 2

34

Matching Prefix

Link

wustledu 1

xkcdcom 2 3

googlecom1 3 4

Questions

bull Can NDN efficiently support host-to-host patterns

bull Can NDN efficiently support user-specific data and services

bull Can you count clicks and ad impressions in NDN

bull Can you efficiently route all those names

bull Can you scale the forwarding plane

bull Can you prove security and privacy properties

Yes Yes mostly23

Conclusion (12)

bull Growing evidence that with NDNo Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simplero New things are possible

24

httpnamed-datanet

Conclusion (22)

bull In coming yearso Growing commercial interest and experimentationo Deployments in greenfields IP trouble spots

ndash IoT building automation healthcare vehicular

bull Research community is growingo We share an open-source code base with related projects and

groups moving forwarding in Europe and Asiao NDN Consortium launched this month already includes

14 universities 5 for-profit corporations and 1 non-profit

25

httpnamed-datanet

NDN Components

26

Apps Routing Repo

NFD

Links and Tunnels

Libraries

27

NDN Libraries

bull All libraries now reflect fundamental architectural abstractions directly in objects and wire format manipulation is abstractedo Name Componento Interest Selectorso Data MetaInfo SignatureInfo SignatureValue KeyLocatoro Faceo KeyChain Validator

bull Multiple library effortso NDN-CXX ldquoC++ for eXtended eXperimentationrdquo

bull C++ (soon to be C++11) Boost (Asio Filesystem )o NDN-CCL ldquoCommon Client Librariesrdquo

bull C++bull Python (2 and 3)bull JavaScript (browser and nodejs)bull Java

o Enables diversity of coding choiceo Drives us towards specification (and not just implementation)

28

Security Support

Signing KeyChain

Manage security

credentials

Sign Data and Interests

Decrypt payload

Validation Validator classes

Compile-time trust policy

Run-time trust policy

httpnamed-datanetdocndn-cxx020tutorialssecurity-libraryhtmlsigning

29

Supported Security Features

bull Asymmetric cryptographyo RSAo ECDSA

bull Symmetric cryptographyo AESo HMAC

bull Trivial cryptographyo SHA256 digest

bull Signingverification granularityo Data packeto Set of Data packets

work in progress

30

NDN Platform

bull Provide a coherent usable and well-documented ldquoplatformrdquo for exploring NDN in practical applications ndash for the NDN project team and external users

bull Use a release ldquoheartbeatrdquo to stimulate interoperability testing and discussion of how the various moving parts work together

bull Along the way improve access to and consistency of various NDN code projects

bull Open and lightweight process with no unrealistic centralization or over-management but clear ownership of each component project

bull Managed nodes on the testbed run the Platform

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 14: Named Data Networking

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

1

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

1

2

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Interest arrives at switch

2

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

3

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

3

4

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

3

4

5

Data packet arrives1 Store data packet in buffer2 Send packet out any matching

interfaces on the pending interest list

3 Remove pending entries

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

Interest resent6

3

4

5

I xkcdcom9491

Interest packet arrives1 Do my buffers contain

xkcdcom9491 Yes send it2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Finished

6

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

Forwarding logic in IP1 Extract destination

address2 Find longest matching

prefix in route table3 Forward packet out

matching interface

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

1 2

34

Matching Prefix

Link

12825216 1

722619219

2

7412516 3

Internet

NDN Nodes and Routes

wustledu

googlecom

xkcdcomhosted by voxelnet

1 2

34

Matching Prefix

Link

wustledu 1

xkcdcom 2 3

googlecom1 3 4

Questions

bull Can NDN efficiently support host-to-host patterns

bull Can NDN efficiently support user-specific data and services

bull Can you count clicks and ad impressions in NDN

bull Can you efficiently route all those names

bull Can you scale the forwarding plane

bull Can you prove security and privacy properties

Yes Yes mostly23

Conclusion (12)

bull Growing evidence that with NDNo Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simplero New things are possible

24

httpnamed-datanet

Conclusion (22)

bull In coming yearso Growing commercial interest and experimentationo Deployments in greenfields IP trouble spots

ndash IoT building automation healthcare vehicular

bull Research community is growingo We share an open-source code base with related projects and

groups moving forwarding in Europe and Asiao NDN Consortium launched this month already includes

14 universities 5 for-profit corporations and 1 non-profit

25

httpnamed-datanet

NDN Components

26

Apps Routing Repo

NFD

Links and Tunnels

Libraries

27

NDN Libraries

bull All libraries now reflect fundamental architectural abstractions directly in objects and wire format manipulation is abstractedo Name Componento Interest Selectorso Data MetaInfo SignatureInfo SignatureValue KeyLocatoro Faceo KeyChain Validator

bull Multiple library effortso NDN-CXX ldquoC++ for eXtended eXperimentationrdquo

bull C++ (soon to be C++11) Boost (Asio Filesystem )o NDN-CCL ldquoCommon Client Librariesrdquo

bull C++bull Python (2 and 3)bull JavaScript (browser and nodejs)bull Java

o Enables diversity of coding choiceo Drives us towards specification (and not just implementation)

28

Security Support

Signing KeyChain

Manage security

credentials

Sign Data and Interests

Decrypt payload

Validation Validator classes

Compile-time trust policy

Run-time trust policy

httpnamed-datanetdocndn-cxx020tutorialssecurity-libraryhtmlsigning

29

Supported Security Features

bull Asymmetric cryptographyo RSAo ECDSA

bull Symmetric cryptographyo AESo HMAC

bull Trivial cryptographyo SHA256 digest

bull Signingverification granularityo Data packeto Set of Data packets

work in progress

30

NDN Platform

bull Provide a coherent usable and well-documented ldquoplatformrdquo for exploring NDN in practical applications ndash for the NDN project team and external users

bull Use a release ldquoheartbeatrdquo to stimulate interoperability testing and discussion of how the various moving parts work together

bull Along the way improve access to and consistency of various NDN code projects

bull Open and lightweight process with no unrealistic centralization or over-management but clear ownership of each component project

bull Managed nodes on the testbed run the Platform

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 15: Named Data Networking

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

1

2

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Interest arrives at switch

2

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

3

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

3

4

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

3

4

5

Data packet arrives1 Store data packet in buffer2 Send packet out any matching

interfaces on the pending interest list

3 Remove pending entries

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

Interest resent6

3

4

5

I xkcdcom9491

Interest packet arrives1 Do my buffers contain

xkcdcom9491 Yes send it2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Finished

6

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

Forwarding logic in IP1 Extract destination

address2 Find longest matching

prefix in route table3 Forward packet out

matching interface

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

1 2

34

Matching Prefix

Link

12825216 1

722619219

2

7412516 3

Internet

NDN Nodes and Routes

wustledu

googlecom

xkcdcomhosted by voxelnet

1 2

34

Matching Prefix

Link

wustledu 1

xkcdcom 2 3

googlecom1 3 4

Questions

bull Can NDN efficiently support host-to-host patterns

bull Can NDN efficiently support user-specific data and services

bull Can you count clicks and ad impressions in NDN

bull Can you efficiently route all those names

bull Can you scale the forwarding plane

bull Can you prove security and privacy properties

Yes Yes mostly23

Conclusion (12)

bull Growing evidence that with NDNo Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simplero New things are possible

24

httpnamed-datanet

Conclusion (22)

bull In coming yearso Growing commercial interest and experimentationo Deployments in greenfields IP trouble spots

ndash IoT building automation healthcare vehicular

bull Research community is growingo We share an open-source code base with related projects and

groups moving forwarding in Europe and Asiao NDN Consortium launched this month already includes

14 universities 5 for-profit corporations and 1 non-profit

25

httpnamed-datanet

NDN Components

26

Apps Routing Repo

NFD

Links and Tunnels

Libraries

27

NDN Libraries

bull All libraries now reflect fundamental architectural abstractions directly in objects and wire format manipulation is abstractedo Name Componento Interest Selectorso Data MetaInfo SignatureInfo SignatureValue KeyLocatoro Faceo KeyChain Validator

bull Multiple library effortso NDN-CXX ldquoC++ for eXtended eXperimentationrdquo

bull C++ (soon to be C++11) Boost (Asio Filesystem )o NDN-CCL ldquoCommon Client Librariesrdquo

bull C++bull Python (2 and 3)bull JavaScript (browser and nodejs)bull Java

o Enables diversity of coding choiceo Drives us towards specification (and not just implementation)

28

Security Support

Signing KeyChain

Manage security

credentials

Sign Data and Interests

Decrypt payload

Validation Validator classes

Compile-time trust policy

Run-time trust policy

httpnamed-datanetdocndn-cxx020tutorialssecurity-libraryhtmlsigning

29

Supported Security Features

bull Asymmetric cryptographyo RSAo ECDSA

bull Symmetric cryptographyo AESo HMAC

bull Trivial cryptographyo SHA256 digest

bull Signingverification granularityo Data packeto Set of Data packets

work in progress

30

NDN Platform

bull Provide a coherent usable and well-documented ldquoplatformrdquo for exploring NDN in practical applications ndash for the NDN project team and external users

bull Use a release ldquoheartbeatrdquo to stimulate interoperability testing and discussion of how the various moving parts work together

bull Along the way improve access to and consistency of various NDN code projects

bull Open and lightweight process with no unrealistic centralization or over-management but clear ownership of each component project

bull Managed nodes on the testbed run the Platform

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 16: Named Data Networking

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

3

Interest packet arrives1 Do my buffers contain

xkcdcom9491 2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

I xkcdcom9491

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

3

4

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

3

4

5

Data packet arrives1 Store data packet in buffer2 Send packet out any matching

interfaces on the pending interest list

3 Remove pending entries

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

Interest resent6

3

4

5

I xkcdcom9491

Interest packet arrives1 Do my buffers contain

xkcdcom9491 Yes send it2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Finished

6

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

Forwarding logic in IP1 Extract destination

address2 Find longest matching

prefix in route table3 Forward packet out

matching interface

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

1 2

34

Matching Prefix

Link

12825216 1

722619219

2

7412516 3

Internet

NDN Nodes and Routes

wustledu

googlecom

xkcdcomhosted by voxelnet

1 2

34

Matching Prefix

Link

wustledu 1

xkcdcom 2 3

googlecom1 3 4

Questions

bull Can NDN efficiently support host-to-host patterns

bull Can NDN efficiently support user-specific data and services

bull Can you count clicks and ad impressions in NDN

bull Can you efficiently route all those names

bull Can you scale the forwarding plane

bull Can you prove security and privacy properties

Yes Yes mostly23

Conclusion (12)

bull Growing evidence that with NDNo Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simplero New things are possible

24

httpnamed-datanet

Conclusion (22)

bull In coming yearso Growing commercial interest and experimentationo Deployments in greenfields IP trouble spots

ndash IoT building automation healthcare vehicular

bull Research community is growingo We share an open-source code base with related projects and

groups moving forwarding in Europe and Asiao NDN Consortium launched this month already includes

14 universities 5 for-profit corporations and 1 non-profit

25

httpnamed-datanet

NDN Components

26

Apps Routing Repo

NFD

Links and Tunnels

Libraries

27

NDN Libraries

bull All libraries now reflect fundamental architectural abstractions directly in objects and wire format manipulation is abstractedo Name Componento Interest Selectorso Data MetaInfo SignatureInfo SignatureValue KeyLocatoro Faceo KeyChain Validator

bull Multiple library effortso NDN-CXX ldquoC++ for eXtended eXperimentationrdquo

bull C++ (soon to be C++11) Boost (Asio Filesystem )o NDN-CCL ldquoCommon Client Librariesrdquo

bull C++bull Python (2 and 3)bull JavaScript (browser and nodejs)bull Java

o Enables diversity of coding choiceo Drives us towards specification (and not just implementation)

28

Security Support

Signing KeyChain

Manage security

credentials

Sign Data and Interests

Decrypt payload

Validation Validator classes

Compile-time trust policy

Run-time trust policy

httpnamed-datanetdocndn-cxx020tutorialssecurity-libraryhtmlsigning

29

Supported Security Features

bull Asymmetric cryptographyo RSAo ECDSA

bull Symmetric cryptographyo AESo HMAC

bull Trivial cryptographyo SHA256 digest

bull Signingverification granularityo Data packeto Set of Data packets

work in progress

30

NDN Platform

bull Provide a coherent usable and well-documented ldquoplatformrdquo for exploring NDN in practical applications ndash for the NDN project team and external users

bull Use a release ldquoheartbeatrdquo to stimulate interoperability testing and discussion of how the various moving parts work together

bull Along the way improve access to and consistency of various NDN code projects

bull Open and lightweight process with no unrealistic centralization or over-management but clear ownership of each component project

bull Managed nodes on the testbed run the Platform

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 17: Named Data Networking

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

3

4

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

3

4

5

Data packet arrives1 Store data packet in buffer2 Send packet out any matching

interfaces on the pending interest list

3 Remove pending entries

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

Interest resent6

3

4

5

I xkcdcom9491

Interest packet arrives1 Do my buffers contain

xkcdcom9491 Yes send it2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Finished

6

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

Forwarding logic in IP1 Extract destination

address2 Find longest matching

prefix in route table3 Forward packet out

matching interface

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

1 2

34

Matching Prefix

Link

12825216 1

722619219

2

7412516 3

Internet

NDN Nodes and Routes

wustledu

googlecom

xkcdcomhosted by voxelnet

1 2

34

Matching Prefix

Link

wustledu 1

xkcdcom 2 3

googlecom1 3 4

Questions

bull Can NDN efficiently support host-to-host patterns

bull Can NDN efficiently support user-specific data and services

bull Can you count clicks and ad impressions in NDN

bull Can you efficiently route all those names

bull Can you scale the forwarding plane

bull Can you prove security and privacy properties

Yes Yes mostly23

Conclusion (12)

bull Growing evidence that with NDNo Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simplero New things are possible

24

httpnamed-datanet

Conclusion (22)

bull In coming yearso Growing commercial interest and experimentationo Deployments in greenfields IP trouble spots

ndash IoT building automation healthcare vehicular

bull Research community is growingo We share an open-source code base with related projects and

groups moving forwarding in Europe and Asiao NDN Consortium launched this month already includes

14 universities 5 for-profit corporations and 1 non-profit

25

httpnamed-datanet

NDN Components

26

Apps Routing Repo

NFD

Links and Tunnels

Libraries

27

NDN Libraries

bull All libraries now reflect fundamental architectural abstractions directly in objects and wire format manipulation is abstractedo Name Componento Interest Selectorso Data MetaInfo SignatureInfo SignatureValue KeyLocatoro Faceo KeyChain Validator

bull Multiple library effortso NDN-CXX ldquoC++ for eXtended eXperimentationrdquo

bull C++ (soon to be C++11) Boost (Asio Filesystem )o NDN-CCL ldquoCommon Client Librariesrdquo

bull C++bull Python (2 and 3)bull JavaScript (browser and nodejs)bull Java

o Enables diversity of coding choiceo Drives us towards specification (and not just implementation)

28

Security Support

Signing KeyChain

Manage security

credentials

Sign Data and Interests

Decrypt payload

Validation Validator classes

Compile-time trust policy

Run-time trust policy

httpnamed-datanetdocndn-cxx020tutorialssecurity-libraryhtmlsigning

29

Supported Security Features

bull Asymmetric cryptographyo RSAo ECDSA

bull Symmetric cryptographyo AESo HMAC

bull Trivial cryptographyo SHA256 digest

bull Signingverification granularityo Data packeto Set of Data packets

work in progress

30

NDN Platform

bull Provide a coherent usable and well-documented ldquoplatformrdquo for exploring NDN in practical applications ndash for the NDN project team and external users

bull Use a release ldquoheartbeatrdquo to stimulate interoperability testing and discussion of how the various moving parts work together

bull Along the way improve access to and consistency of various NDN code projects

bull Open and lightweight process with no unrealistic centralization or over-management but clear ownership of each component project

bull Managed nodes on the testbed run the Platform

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 18: Named Data Networking

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

3

4

5

Data packet arrives1 Store data packet in buffer2 Send packet out any matching

interfaces on the pending interest list

3 Remove pending entries

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

Interest resent6

3

4

5

I xkcdcom9491

Interest packet arrives1 Do my buffers contain

xkcdcom9491 Yes send it2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Finished

6

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

Forwarding logic in IP1 Extract destination

address2 Find longest matching

prefix in route table3 Forward packet out

matching interface

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

1 2

34

Matching Prefix

Link

12825216 1

722619219

2

7412516 3

Internet

NDN Nodes and Routes

wustledu

googlecom

xkcdcomhosted by voxelnet

1 2

34

Matching Prefix

Link

wustledu 1

xkcdcom 2 3

googlecom1 3 4

Questions

bull Can NDN efficiently support host-to-host patterns

bull Can NDN efficiently support user-specific data and services

bull Can you count clicks and ad impressions in NDN

bull Can you efficiently route all those names

bull Can you scale the forwarding plane

bull Can you prove security and privacy properties

Yes Yes mostly23

Conclusion (12)

bull Growing evidence that with NDNo Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simplero New things are possible

24

httpnamed-datanet

Conclusion (22)

bull In coming yearso Growing commercial interest and experimentationo Deployments in greenfields IP trouble spots

ndash IoT building automation healthcare vehicular

bull Research community is growingo We share an open-source code base with related projects and

groups moving forwarding in Europe and Asiao NDN Consortium launched this month already includes

14 universities 5 for-profit corporations and 1 non-profit

25

httpnamed-datanet

NDN Components

26

Apps Routing Repo

NFD

Links and Tunnels

Libraries

27

NDN Libraries

bull All libraries now reflect fundamental architectural abstractions directly in objects and wire format manipulation is abstractedo Name Componento Interest Selectorso Data MetaInfo SignatureInfo SignatureValue KeyLocatoro Faceo KeyChain Validator

bull Multiple library effortso NDN-CXX ldquoC++ for eXtended eXperimentationrdquo

bull C++ (soon to be C++11) Boost (Asio Filesystem )o NDN-CCL ldquoCommon Client Librariesrdquo

bull C++bull Python (2 and 3)bull JavaScript (browser and nodejs)bull Java

o Enables diversity of coding choiceo Drives us towards specification (and not just implementation)

28

Security Support

Signing KeyChain

Manage security

credentials

Sign Data and Interests

Decrypt payload

Validation Validator classes

Compile-time trust policy

Run-time trust policy

httpnamed-datanetdocndn-cxx020tutorialssecurity-libraryhtmlsigning

29

Supported Security Features

bull Asymmetric cryptographyo RSAo ECDSA

bull Symmetric cryptographyo AESo HMAC

bull Trivial cryptographyo SHA256 digest

bull Signingverification granularityo Data packeto Set of Data packets

work in progress

30

NDN Platform

bull Provide a coherent usable and well-documented ldquoplatformrdquo for exploring NDN in practical applications ndash for the NDN project team and external users

bull Use a release ldquoheartbeatrdquo to stimulate interoperability testing and discussion of how the various moving parts work together

bull Along the way improve access to and consistency of various NDN code projects

bull Open and lightweight process with no unrealistic centralization or over-management but clear ownership of each component project

bull Managed nodes on the testbed run the Platform

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 19: Named Data Networking

Enterprise Network

Internet

NDN ForwardingIllustrated

Emit Interest xkcdcom94911

2

3

Interest arrives at switch

12

Interest arrives at gateway

4 Laptop moves to WiFi

5 Data arrives

Interest resent6

3

4

5

I xkcdcom9491

Interest packet arrives1 Do my buffers contain

xkcdcom9491 Yes send it2 Is a pending request for it in

flight3 Where should I forward the

interest Add arriving interface to the pending interest list

Finished

6

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

Forwarding logic in IP1 Extract destination

address2 Find longest matching

prefix in route table3 Forward packet out

matching interface

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

1 2

34

Matching Prefix

Link

12825216 1

722619219

2

7412516 3

Internet

NDN Nodes and Routes

wustledu

googlecom

xkcdcomhosted by voxelnet

1 2

34

Matching Prefix

Link

wustledu 1

xkcdcom 2 3

googlecom1 3 4

Questions

bull Can NDN efficiently support host-to-host patterns

bull Can NDN efficiently support user-specific data and services

bull Can you count clicks and ad impressions in NDN

bull Can you efficiently route all those names

bull Can you scale the forwarding plane

bull Can you prove security and privacy properties

Yes Yes mostly23

Conclusion (12)

bull Growing evidence that with NDNo Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simplero New things are possible

24

httpnamed-datanet

Conclusion (22)

bull In coming yearso Growing commercial interest and experimentationo Deployments in greenfields IP trouble spots

ndash IoT building automation healthcare vehicular

bull Research community is growingo We share an open-source code base with related projects and

groups moving forwarding in Europe and Asiao NDN Consortium launched this month already includes

14 universities 5 for-profit corporations and 1 non-profit

25

httpnamed-datanet

NDN Components

26

Apps Routing Repo

NFD

Links and Tunnels

Libraries

27

NDN Libraries

bull All libraries now reflect fundamental architectural abstractions directly in objects and wire format manipulation is abstractedo Name Componento Interest Selectorso Data MetaInfo SignatureInfo SignatureValue KeyLocatoro Faceo KeyChain Validator

bull Multiple library effortso NDN-CXX ldquoC++ for eXtended eXperimentationrdquo

bull C++ (soon to be C++11) Boost (Asio Filesystem )o NDN-CCL ldquoCommon Client Librariesrdquo

bull C++bull Python (2 and 3)bull JavaScript (browser and nodejs)bull Java

o Enables diversity of coding choiceo Drives us towards specification (and not just implementation)

28

Security Support

Signing KeyChain

Manage security

credentials

Sign Data and Interests

Decrypt payload

Validation Validator classes

Compile-time trust policy

Run-time trust policy

httpnamed-datanetdocndn-cxx020tutorialssecurity-libraryhtmlsigning

29

Supported Security Features

bull Asymmetric cryptographyo RSAo ECDSA

bull Symmetric cryptographyo AESo HMAC

bull Trivial cryptographyo SHA256 digest

bull Signingverification granularityo Data packeto Set of Data packets

work in progress

30

NDN Platform

bull Provide a coherent usable and well-documented ldquoplatformrdquo for exploring NDN in practical applications ndash for the NDN project team and external users

bull Use a release ldquoheartbeatrdquo to stimulate interoperability testing and discussion of how the various moving parts work together

bull Along the way improve access to and consistency of various NDN code projects

bull Open and lightweight process with no unrealistic centralization or over-management but clear ownership of each component project

bull Managed nodes on the testbed run the Platform

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 20: Named Data Networking

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

Forwarding logic in IP1 Extract destination

address2 Find longest matching

prefix in route table3 Forward packet out

matching interface

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

1 2

34

Matching Prefix

Link

12825216 1

722619219

2

7412516 3

Internet

NDN Nodes and Routes

wustledu

googlecom

xkcdcomhosted by voxelnet

1 2

34

Matching Prefix

Link

wustledu 1

xkcdcom 2 3

googlecom1 3 4

Questions

bull Can NDN efficiently support host-to-host patterns

bull Can NDN efficiently support user-specific data and services

bull Can you count clicks and ad impressions in NDN

bull Can you efficiently route all those names

bull Can you scale the forwarding plane

bull Can you prove security and privacy properties

Yes Yes mostly23

Conclusion (12)

bull Growing evidence that with NDNo Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simplero New things are possible

24

httpnamed-datanet

Conclusion (22)

bull In coming yearso Growing commercial interest and experimentationo Deployments in greenfields IP trouble spots

ndash IoT building automation healthcare vehicular

bull Research community is growingo We share an open-source code base with related projects and

groups moving forwarding in Europe and Asiao NDN Consortium launched this month already includes

14 universities 5 for-profit corporations and 1 non-profit

25

httpnamed-datanet

NDN Components

26

Apps Routing Repo

NFD

Links and Tunnels

Libraries

27

NDN Libraries

bull All libraries now reflect fundamental architectural abstractions directly in objects and wire format manipulation is abstractedo Name Componento Interest Selectorso Data MetaInfo SignatureInfo SignatureValue KeyLocatoro Faceo KeyChain Validator

bull Multiple library effortso NDN-CXX ldquoC++ for eXtended eXperimentationrdquo

bull C++ (soon to be C++11) Boost (Asio Filesystem )o NDN-CCL ldquoCommon Client Librariesrdquo

bull C++bull Python (2 and 3)bull JavaScript (browser and nodejs)bull Java

o Enables diversity of coding choiceo Drives us towards specification (and not just implementation)

28

Security Support

Signing KeyChain

Manage security

credentials

Sign Data and Interests

Decrypt payload

Validation Validator classes

Compile-time trust policy

Run-time trust policy

httpnamed-datanetdocndn-cxx020tutorialssecurity-libraryhtmlsigning

29

Supported Security Features

bull Asymmetric cryptographyo RSAo ECDSA

bull Symmetric cryptographyo AESo HMAC

bull Trivial cryptographyo SHA256 digest

bull Signingverification granularityo Data packeto Set of Data packets

work in progress

30

NDN Platform

bull Provide a coherent usable and well-documented ldquoplatformrdquo for exploring NDN in practical applications ndash for the NDN project team and external users

bull Use a release ldquoheartbeatrdquo to stimulate interoperability testing and discussion of how the various moving parts work together

bull Along the way improve access to and consistency of various NDN code projects

bull Open and lightweight process with no unrealistic centralization or over-management but clear ownership of each component project

bull Managed nodes on the testbed run the Platform

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 21: Named Data Networking

Internet

IP Nodes and Routes

wustledu1282520016

googlecom741250016

xkcdcom7226192019hosted by voxelnet

1 2

34

Matching Prefix

Link

12825216 1

722619219

2

7412516 3

Internet

NDN Nodes and Routes

wustledu

googlecom

xkcdcomhosted by voxelnet

1 2

34

Matching Prefix

Link

wustledu 1

xkcdcom 2 3

googlecom1 3 4

Questions

bull Can NDN efficiently support host-to-host patterns

bull Can NDN efficiently support user-specific data and services

bull Can you count clicks and ad impressions in NDN

bull Can you efficiently route all those names

bull Can you scale the forwarding plane

bull Can you prove security and privacy properties

Yes Yes mostly23

Conclusion (12)

bull Growing evidence that with NDNo Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simplero New things are possible

24

httpnamed-datanet

Conclusion (22)

bull In coming yearso Growing commercial interest and experimentationo Deployments in greenfields IP trouble spots

ndash IoT building automation healthcare vehicular

bull Research community is growingo We share an open-source code base with related projects and

groups moving forwarding in Europe and Asiao NDN Consortium launched this month already includes

14 universities 5 for-profit corporations and 1 non-profit

25

httpnamed-datanet

NDN Components

26

Apps Routing Repo

NFD

Links and Tunnels

Libraries

27

NDN Libraries

bull All libraries now reflect fundamental architectural abstractions directly in objects and wire format manipulation is abstractedo Name Componento Interest Selectorso Data MetaInfo SignatureInfo SignatureValue KeyLocatoro Faceo KeyChain Validator

bull Multiple library effortso NDN-CXX ldquoC++ for eXtended eXperimentationrdquo

bull C++ (soon to be C++11) Boost (Asio Filesystem )o NDN-CCL ldquoCommon Client Librariesrdquo

bull C++bull Python (2 and 3)bull JavaScript (browser and nodejs)bull Java

o Enables diversity of coding choiceo Drives us towards specification (and not just implementation)

28

Security Support

Signing KeyChain

Manage security

credentials

Sign Data and Interests

Decrypt payload

Validation Validator classes

Compile-time trust policy

Run-time trust policy

httpnamed-datanetdocndn-cxx020tutorialssecurity-libraryhtmlsigning

29

Supported Security Features

bull Asymmetric cryptographyo RSAo ECDSA

bull Symmetric cryptographyo AESo HMAC

bull Trivial cryptographyo SHA256 digest

bull Signingverification granularityo Data packeto Set of Data packets

work in progress

30

NDN Platform

bull Provide a coherent usable and well-documented ldquoplatformrdquo for exploring NDN in practical applications ndash for the NDN project team and external users

bull Use a release ldquoheartbeatrdquo to stimulate interoperability testing and discussion of how the various moving parts work together

bull Along the way improve access to and consistency of various NDN code projects

bull Open and lightweight process with no unrealistic centralization or over-management but clear ownership of each component project

bull Managed nodes on the testbed run the Platform

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 22: Named Data Networking

Internet

NDN Nodes and Routes

wustledu

googlecom

xkcdcomhosted by voxelnet

1 2

34

Matching Prefix

Link

wustledu 1

xkcdcom 2 3

googlecom1 3 4

Questions

bull Can NDN efficiently support host-to-host patterns

bull Can NDN efficiently support user-specific data and services

bull Can you count clicks and ad impressions in NDN

bull Can you efficiently route all those names

bull Can you scale the forwarding plane

bull Can you prove security and privacy properties

Yes Yes mostly23

Conclusion (12)

bull Growing evidence that with NDNo Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simplero New things are possible

24

httpnamed-datanet

Conclusion (22)

bull In coming yearso Growing commercial interest and experimentationo Deployments in greenfields IP trouble spots

ndash IoT building automation healthcare vehicular

bull Research community is growingo We share an open-source code base with related projects and

groups moving forwarding in Europe and Asiao NDN Consortium launched this month already includes

14 universities 5 for-profit corporations and 1 non-profit

25

httpnamed-datanet

NDN Components

26

Apps Routing Repo

NFD

Links and Tunnels

Libraries

27

NDN Libraries

bull All libraries now reflect fundamental architectural abstractions directly in objects and wire format manipulation is abstractedo Name Componento Interest Selectorso Data MetaInfo SignatureInfo SignatureValue KeyLocatoro Faceo KeyChain Validator

bull Multiple library effortso NDN-CXX ldquoC++ for eXtended eXperimentationrdquo

bull C++ (soon to be C++11) Boost (Asio Filesystem )o NDN-CCL ldquoCommon Client Librariesrdquo

bull C++bull Python (2 and 3)bull JavaScript (browser and nodejs)bull Java

o Enables diversity of coding choiceo Drives us towards specification (and not just implementation)

28

Security Support

Signing KeyChain

Manage security

credentials

Sign Data and Interests

Decrypt payload

Validation Validator classes

Compile-time trust policy

Run-time trust policy

httpnamed-datanetdocndn-cxx020tutorialssecurity-libraryhtmlsigning

29

Supported Security Features

bull Asymmetric cryptographyo RSAo ECDSA

bull Symmetric cryptographyo AESo HMAC

bull Trivial cryptographyo SHA256 digest

bull Signingverification granularityo Data packeto Set of Data packets

work in progress

30

NDN Platform

bull Provide a coherent usable and well-documented ldquoplatformrdquo for exploring NDN in practical applications ndash for the NDN project team and external users

bull Use a release ldquoheartbeatrdquo to stimulate interoperability testing and discussion of how the various moving parts work together

bull Along the way improve access to and consistency of various NDN code projects

bull Open and lightweight process with no unrealistic centralization or over-management but clear ownership of each component project

bull Managed nodes on the testbed run the Platform

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 23: Named Data Networking

Questions

bull Can NDN efficiently support host-to-host patterns

bull Can NDN efficiently support user-specific data and services

bull Can you count clicks and ad impressions in NDN

bull Can you efficiently route all those names

bull Can you scale the forwarding plane

bull Can you prove security and privacy properties

Yes Yes mostly23

Conclusion (12)

bull Growing evidence that with NDNo Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simplero New things are possible

24

httpnamed-datanet

Conclusion (22)

bull In coming yearso Growing commercial interest and experimentationo Deployments in greenfields IP trouble spots

ndash IoT building automation healthcare vehicular

bull Research community is growingo We share an open-source code base with related projects and

groups moving forwarding in Europe and Asiao NDN Consortium launched this month already includes

14 universities 5 for-profit corporations and 1 non-profit

25

httpnamed-datanet

NDN Components

26

Apps Routing Repo

NFD

Links and Tunnels

Libraries

27

NDN Libraries

bull All libraries now reflect fundamental architectural abstractions directly in objects and wire format manipulation is abstractedo Name Componento Interest Selectorso Data MetaInfo SignatureInfo SignatureValue KeyLocatoro Faceo KeyChain Validator

bull Multiple library effortso NDN-CXX ldquoC++ for eXtended eXperimentationrdquo

bull C++ (soon to be C++11) Boost (Asio Filesystem )o NDN-CCL ldquoCommon Client Librariesrdquo

bull C++bull Python (2 and 3)bull JavaScript (browser and nodejs)bull Java

o Enables diversity of coding choiceo Drives us towards specification (and not just implementation)

28

Security Support

Signing KeyChain

Manage security

credentials

Sign Data and Interests

Decrypt payload

Validation Validator classes

Compile-time trust policy

Run-time trust policy

httpnamed-datanetdocndn-cxx020tutorialssecurity-libraryhtmlsigning

29

Supported Security Features

bull Asymmetric cryptographyo RSAo ECDSA

bull Symmetric cryptographyo AESo HMAC

bull Trivial cryptographyo SHA256 digest

bull Signingverification granularityo Data packeto Set of Data packets

work in progress

30

NDN Platform

bull Provide a coherent usable and well-documented ldquoplatformrdquo for exploring NDN in practical applications ndash for the NDN project team and external users

bull Use a release ldquoheartbeatrdquo to stimulate interoperability testing and discussion of how the various moving parts work together

bull Along the way improve access to and consistency of various NDN code projects

bull Open and lightweight process with no unrealistic centralization or over-management but clear ownership of each component project

bull Managed nodes on the testbed run the Platform

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 24: Named Data Networking

Conclusion (12)

bull Growing evidence that with NDNo Communication is more secureo Infrastructure is more efficiently utilizedo Applications are simplero New things are possible

24

httpnamed-datanet

Conclusion (22)

bull In coming yearso Growing commercial interest and experimentationo Deployments in greenfields IP trouble spots

ndash IoT building automation healthcare vehicular

bull Research community is growingo We share an open-source code base with related projects and

groups moving forwarding in Europe and Asiao NDN Consortium launched this month already includes

14 universities 5 for-profit corporations and 1 non-profit

25

httpnamed-datanet

NDN Components

26

Apps Routing Repo

NFD

Links and Tunnels

Libraries

27

NDN Libraries

bull All libraries now reflect fundamental architectural abstractions directly in objects and wire format manipulation is abstractedo Name Componento Interest Selectorso Data MetaInfo SignatureInfo SignatureValue KeyLocatoro Faceo KeyChain Validator

bull Multiple library effortso NDN-CXX ldquoC++ for eXtended eXperimentationrdquo

bull C++ (soon to be C++11) Boost (Asio Filesystem )o NDN-CCL ldquoCommon Client Librariesrdquo

bull C++bull Python (2 and 3)bull JavaScript (browser and nodejs)bull Java

o Enables diversity of coding choiceo Drives us towards specification (and not just implementation)

28

Security Support

Signing KeyChain

Manage security

credentials

Sign Data and Interests

Decrypt payload

Validation Validator classes

Compile-time trust policy

Run-time trust policy

httpnamed-datanetdocndn-cxx020tutorialssecurity-libraryhtmlsigning

29

Supported Security Features

bull Asymmetric cryptographyo RSAo ECDSA

bull Symmetric cryptographyo AESo HMAC

bull Trivial cryptographyo SHA256 digest

bull Signingverification granularityo Data packeto Set of Data packets

work in progress

30

NDN Platform

bull Provide a coherent usable and well-documented ldquoplatformrdquo for exploring NDN in practical applications ndash for the NDN project team and external users

bull Use a release ldquoheartbeatrdquo to stimulate interoperability testing and discussion of how the various moving parts work together

bull Along the way improve access to and consistency of various NDN code projects

bull Open and lightweight process with no unrealistic centralization or over-management but clear ownership of each component project

bull Managed nodes on the testbed run the Platform

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 25: Named Data Networking

Conclusion (22)

bull In coming yearso Growing commercial interest and experimentationo Deployments in greenfields IP trouble spots

ndash IoT building automation healthcare vehicular

bull Research community is growingo We share an open-source code base with related projects and

groups moving forwarding in Europe and Asiao NDN Consortium launched this month already includes

14 universities 5 for-profit corporations and 1 non-profit

25

httpnamed-datanet

NDN Components

26

Apps Routing Repo

NFD

Links and Tunnels

Libraries

27

NDN Libraries

bull All libraries now reflect fundamental architectural abstractions directly in objects and wire format manipulation is abstractedo Name Componento Interest Selectorso Data MetaInfo SignatureInfo SignatureValue KeyLocatoro Faceo KeyChain Validator

bull Multiple library effortso NDN-CXX ldquoC++ for eXtended eXperimentationrdquo

bull C++ (soon to be C++11) Boost (Asio Filesystem )o NDN-CCL ldquoCommon Client Librariesrdquo

bull C++bull Python (2 and 3)bull JavaScript (browser and nodejs)bull Java

o Enables diversity of coding choiceo Drives us towards specification (and not just implementation)

28

Security Support

Signing KeyChain

Manage security

credentials

Sign Data and Interests

Decrypt payload

Validation Validator classes

Compile-time trust policy

Run-time trust policy

httpnamed-datanetdocndn-cxx020tutorialssecurity-libraryhtmlsigning

29

Supported Security Features

bull Asymmetric cryptographyo RSAo ECDSA

bull Symmetric cryptographyo AESo HMAC

bull Trivial cryptographyo SHA256 digest

bull Signingverification granularityo Data packeto Set of Data packets

work in progress

30

NDN Platform

bull Provide a coherent usable and well-documented ldquoplatformrdquo for exploring NDN in practical applications ndash for the NDN project team and external users

bull Use a release ldquoheartbeatrdquo to stimulate interoperability testing and discussion of how the various moving parts work together

bull Along the way improve access to and consistency of various NDN code projects

bull Open and lightweight process with no unrealistic centralization or over-management but clear ownership of each component project

bull Managed nodes on the testbed run the Platform

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 26: Named Data Networking

NDN Components

26

Apps Routing Repo

NFD

Links and Tunnels

Libraries

27

NDN Libraries

bull All libraries now reflect fundamental architectural abstractions directly in objects and wire format manipulation is abstractedo Name Componento Interest Selectorso Data MetaInfo SignatureInfo SignatureValue KeyLocatoro Faceo KeyChain Validator

bull Multiple library effortso NDN-CXX ldquoC++ for eXtended eXperimentationrdquo

bull C++ (soon to be C++11) Boost (Asio Filesystem )o NDN-CCL ldquoCommon Client Librariesrdquo

bull C++bull Python (2 and 3)bull JavaScript (browser and nodejs)bull Java

o Enables diversity of coding choiceo Drives us towards specification (and not just implementation)

28

Security Support

Signing KeyChain

Manage security

credentials

Sign Data and Interests

Decrypt payload

Validation Validator classes

Compile-time trust policy

Run-time trust policy

httpnamed-datanetdocndn-cxx020tutorialssecurity-libraryhtmlsigning

29

Supported Security Features

bull Asymmetric cryptographyo RSAo ECDSA

bull Symmetric cryptographyo AESo HMAC

bull Trivial cryptographyo SHA256 digest

bull Signingverification granularityo Data packeto Set of Data packets

work in progress

30

NDN Platform

bull Provide a coherent usable and well-documented ldquoplatformrdquo for exploring NDN in practical applications ndash for the NDN project team and external users

bull Use a release ldquoheartbeatrdquo to stimulate interoperability testing and discussion of how the various moving parts work together

bull Along the way improve access to and consistency of various NDN code projects

bull Open and lightweight process with no unrealistic centralization or over-management but clear ownership of each component project

bull Managed nodes on the testbed run the Platform

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 27: Named Data Networking

27

NDN Libraries

bull All libraries now reflect fundamental architectural abstractions directly in objects and wire format manipulation is abstractedo Name Componento Interest Selectorso Data MetaInfo SignatureInfo SignatureValue KeyLocatoro Faceo KeyChain Validator

bull Multiple library effortso NDN-CXX ldquoC++ for eXtended eXperimentationrdquo

bull C++ (soon to be C++11) Boost (Asio Filesystem )o NDN-CCL ldquoCommon Client Librariesrdquo

bull C++bull Python (2 and 3)bull JavaScript (browser and nodejs)bull Java

o Enables diversity of coding choiceo Drives us towards specification (and not just implementation)

28

Security Support

Signing KeyChain

Manage security

credentials

Sign Data and Interests

Decrypt payload

Validation Validator classes

Compile-time trust policy

Run-time trust policy

httpnamed-datanetdocndn-cxx020tutorialssecurity-libraryhtmlsigning

29

Supported Security Features

bull Asymmetric cryptographyo RSAo ECDSA

bull Symmetric cryptographyo AESo HMAC

bull Trivial cryptographyo SHA256 digest

bull Signingverification granularityo Data packeto Set of Data packets

work in progress

30

NDN Platform

bull Provide a coherent usable and well-documented ldquoplatformrdquo for exploring NDN in practical applications ndash for the NDN project team and external users

bull Use a release ldquoheartbeatrdquo to stimulate interoperability testing and discussion of how the various moving parts work together

bull Along the way improve access to and consistency of various NDN code projects

bull Open and lightweight process with no unrealistic centralization or over-management but clear ownership of each component project

bull Managed nodes on the testbed run the Platform

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 28: Named Data Networking

28

Security Support

Signing KeyChain

Manage security

credentials

Sign Data and Interests

Decrypt payload

Validation Validator classes

Compile-time trust policy

Run-time trust policy

httpnamed-datanetdocndn-cxx020tutorialssecurity-libraryhtmlsigning

29

Supported Security Features

bull Asymmetric cryptographyo RSAo ECDSA

bull Symmetric cryptographyo AESo HMAC

bull Trivial cryptographyo SHA256 digest

bull Signingverification granularityo Data packeto Set of Data packets

work in progress

30

NDN Platform

bull Provide a coherent usable and well-documented ldquoplatformrdquo for exploring NDN in practical applications ndash for the NDN project team and external users

bull Use a release ldquoheartbeatrdquo to stimulate interoperability testing and discussion of how the various moving parts work together

bull Along the way improve access to and consistency of various NDN code projects

bull Open and lightweight process with no unrealistic centralization or over-management but clear ownership of each component project

bull Managed nodes on the testbed run the Platform

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 29: Named Data Networking

29

Supported Security Features

bull Asymmetric cryptographyo RSAo ECDSA

bull Symmetric cryptographyo AESo HMAC

bull Trivial cryptographyo SHA256 digest

bull Signingverification granularityo Data packeto Set of Data packets

work in progress

30

NDN Platform

bull Provide a coherent usable and well-documented ldquoplatformrdquo for exploring NDN in practical applications ndash for the NDN project team and external users

bull Use a release ldquoheartbeatrdquo to stimulate interoperability testing and discussion of how the various moving parts work together

bull Along the way improve access to and consistency of various NDN code projects

bull Open and lightweight process with no unrealistic centralization or over-management but clear ownership of each component project

bull Managed nodes on the testbed run the Platform

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 30: Named Data Networking

30

NDN Platform

bull Provide a coherent usable and well-documented ldquoplatformrdquo for exploring NDN in practical applications ndash for the NDN project team and external users

bull Use a release ldquoheartbeatrdquo to stimulate interoperability testing and discussion of how the various moving parts work together

bull Along the way improve access to and consistency of various NDN code projects

bull Open and lightweight process with no unrealistic centralization or over-management but clear ownership of each component project

bull Managed nodes on the testbed run the Platform

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 31: Named Data Networking

31

NDN Platform 03 (August 2014)

bull NFD NDN Forwarding Daemon version 020 (1)bull ndn-cxx library version 020

o The NDN C++ library with eXperimental eXtensions (CXX)o The ndnsec security tools to manage security identities and certificates

bull NDN-CCL - NDN Common Client libraries suite version 03o NDN-CPP C++ C libraryo PyNDN2 Python libraryo NDN-JS JavaScript library (with Nodejs support)o jNDN Java library (preliminary)

bull NLSR - Named Data Link State Routing Protocol version 010bull repo-ng - next generation of NDN repository version 010bull ndn-tlv-ping - ping application for NDN version 020bull ndn-traffic-generator - traffic generator for NDN version 020bull ndndump - packet capture and analysis tool for NDN version 05

bull Partial binary package support on Ubuntu MacOS X othershellip

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 32: Named Data Networking

32

Community Outreach

bull One public Github repo for all codeo httpgithubcomnamed-data

bull Public Redmine with Wiki documentation for componentso httpredminenamed-datanet

bull Components websiteo NFD httpnamed-datanetdocNFDo ndn-cxx httpnamed-datanetdocndn-cxxo NLSR httpnamed-datanetdocNLSR

bull NDN-CCL httpnamed-datanetdocNDN-CCL

bull Code reviewo httpgerritnamed-datanet

bull Technical reports and NDN technical memoso httpnamed-datanetpublicationstechreports

bull Mailing listso httpnamed-datanetcodebaseplatformsupportmailing-lists

Open to contributors and collaborators

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action
Page 33: Named Data Networking

Ready for the Action

  • Named Data Networking
  • Goals for today
  • Share This Presentation
  • Sending This Message
  • Use Connected EnvironmentIoT
  • Challenges Caused By a Single Problem
  • A Simpler Way
  • The Web Has Named Worldrsquos Data
  • Core Idea
  • Named Data Networking (2)
  • NDN Project
  • Two Packet Types
  • NDN Interest Forwarding
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • IP Nodes and Routes
  • IP Nodes and Routes (2)
  • NDN Nodes and Routes
  • Questions
  • Conclusion (12)
  • Conclusion (22)
  • NDN Components
  • NDN Libraries
  • Security Support
  • Supported Security Features
  • NDN Platform
  • NDN Platform 03 (August 2014)
  • Community Outreach
  • Ready for the Action