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.
We produced some screencasts that may be of interest to those learning more about NDN’s workings.
|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|
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
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
- “NETBLT: A High Throughput Transport Protocol”
David Clark, Mark Lambert, and Lixia Zhang
SIGCOMM 1987, September 1987.
- “Multicast routing in internetworks and extended LANs”
- “RSVP: A New Resource ReSerVation Protocol”
Zhang, Deering, Estrin, Shenker, Zappala
IEEE Network, September, 1993.
- “A Reliable Multicast Framework for Light-weight Sessions and Application Level Framing”
Sally Floyd, Van Jacobson, Steven McCanne, Lixia Zhang, Ching-Gung Liu
ACM SIGCOMM 1995.
- “Adaptive web caching: towards a new global caching architecture”
Scott Michel, K. Nguyen, Rosenstein, Zhang, Floyd, Jacobson
Computer Networks & ISDN Systems, November 1998.
- “Building Efficient Wireless Sensor Networks with Low-Level Naming”
Heidemann, J., Silva, F., Intanagonwiwat, C., Govindan, R., Estrin, D., Ganesan, D., SOSP 2001
- “A Robust Data Delivery Protocol for Large Scale Sensor Networks”
Fan Ye, Gary Zhong, Songwu Lu, Lixia Zhang
The 2nd International Workshop on Information Processing in Sensor Networks (IPSN), April 2003.
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
- D. Smetters, V. Jacobson, Securing Network Content, PARC Tech Report, October 2009.
Introduction to Applications
- V. Jacobson, D. K. Smetters, N. H. Briggs, M. F. Plass, P. Stewart, J. D. Thornton, R. L. Braynard, VoCCN: Voice Over Content-Centric Networks, ReArch ’09, Rome, December, 2009.
Introduction to Mobility
- M. Meisel, V. Pappas, L. Zhang. Ad Hoc Networking via Named Data, MobiArch ’10.
We are planning an NDN summer school for graduate students. Contact info @ named-data.net for more information!