Educational Resources

Named Data Networking offers students a new way of thinking about network architectures. We believe this offers an excellent educational opportunity for both graduate and undergraduate students. For example, we hope to:

  • Test students understanding of network concepts by considering an environment other than IP.
  • Challenge students to think about architectural issues.
  • And of course introduce students to the NDN architecture

This page provides references to courses using NDN, suggestions for course projects and readings, and links to other educational opportunities such as workshops and summer schools.

Screencasts

We produced some screencasts that may be of interest to those learning more about NDN’s workings.

Video title Description
Distributed Publication This screencast shows how NDN can publish data in a distributed manner under a same namespace
Enumeration Shows how a namespace can be enumerated using exclusion
Automatic Failover This screencast demonstrates how NDN can achieve automatic failover without client’s intervention in case of a failure
Publishing Data This screencast shows how data is published and announced over NDN

NDN Tutorials

See NDN Tutorials Page for tutorials about the NDN project and related technologies.

Courses Teaching NDN Concepts

University Course Number / Title Course Level Course Page Semester/Quarter Instructor Comments
Colorado State University CS 657 Graduate Advanced Topics in Computer Networks Fall 2010 Massey Seminar Course Focused on Network Architectures
UCLA and UIUC NDN Reading Group Graduate Early papers and ideas Fall 2010 Burke Reading group for graduate students
UIUC CS Graduate Not Available Fall 2010 Abdelzaher This seminar on green networking offers a project on computing the impact of NDN on the Internet’s energy footprint
Arizona CSc 525 Graduate Principles of Computer Networking Fall 2010 B. Zhang Some lectures dedicated to NDN
Colorado State University CS 557 Graduate Advanced Networking Spring 2011 Massey Graduate Course Focused on Advanced Networking Principles
UCLA CS217 Graduate Advanced Topics in Internet Research Spring 2013
Spring 2014
Spring 2015
Zhang Seminar Class

 

Slides

See our complete list of NDN presentations.

Possible NDN Course Projects

  • Find a libpurple implementation that supports pluggable transports. Plug in a NDN encapsulation of XMPP, and use it to put NDN under standard libpurple-based IM clients. Then use this to implement audio/text conference chat support
  • Figure out a autodiscovery layer, to set up routing among all NDN nodes over the global Internet
  • Design a serverless distributed game. Implement it in NDN. For bonus points, put it under one of the GUI game frameworks, with NDN just used for data transport. (Probably easier in Java than C.)
  • Using a NDN application (perhaps in combination with the game above), add a trust model that ‘securely’ learns public keys (and thereby learns user names) so that applications can determine what keys may be trustworthy.
  • Implement any interesting simple app you can think of on top of NDN.
  • Design & implementation of Berkeley Sockets API for userspace interface to NDN (including both datagram (interest/data) and streams interfaces). Allowing key management to be left to userspace, but verification/decryption acceleration pushed down into hardware.
  • Since voice codecs often use a 20ms frametime, and one packet per frame is generated 50pps. There’s so much overhead in those 50 packets that a G.729 voicecall over RTP/UDP/IP/Ethernet uses 31.2kbps of network bandwidth to convey 8kbps of voice data!… now we move to something with even more overhead.
    I think there are huge opportunities for header compression in NDN. In particular a lot of the security state is repeated between packets in a stream, in order to allow each packet to be individually verifiable (and prevent attacks where you send out packets whose verifiability depends on nonexistent packets, clogging up in recipients who are waiting for those other packets).
  • Implement NDN directly over L2 (ethernet). Add some other transports (Bluetooth, IR).
  • Common Layer 2 adaptation layer, including fragmentation (to allow end to end interest/data that’s larger than the L2 limit) & possibly header compression. Should be able to work over direct L2 links (no reordering) and tunnels (e.g. over UDP – possible reordering), and multicast.
  • Evaluate the impact of NDN on the networks energy footprint.

Reading List of NDN Publications

A few highlighted papers below discuss the inception of NDN Design. Refer to the complete list of NDN publications for more information.

Concepts That Helped Lead to the NDN Design

Introduction to New Architectures

  • V. Jacobson, D. K. Smetters, J. D. Thornton, M. F. Plass, N. H. Briggs, R. L. Braynard (PARC) Networking Named Content, CoNEXT 2009, Rome, December, 2009.

Introduction to Security

Introduction to Applications

Introduction to Mobility

We are planning an NDN summer school for graduate students. Contact info @ named-data.net for more information!