Addressing Operational Challenges in Named Data Networking Through NDNS Distributed Database
- Author(s): Afanasyev, Alexander
- Advisor(s): Zhang, Lixia
- et al.
Named Data Networking (NDN) is a recently proposed Internet architecture. NDN retains the same hourglass shape as the IP architecture, but changes the narrow waist from delivery of IP packets to destinations to the retrieval of named and signed data chunks. This conceptually simple change allows NDN networks to use almost all the Internet's well-tested engineering properties to solve not only communication problems, but also digital distribution and control problems. The functionality of the narrow waist in NDN is fundamentally different from that in IP: it uses consumer-driven data delivery with a stateful data forwarding plane, implements built-in data security, and provides support for the extensive use of in-network storage. Preliminary experience shows that NDN bridges the gap between applications and network transport, simultaneously simplifying the application development process and addressing some of the Internet's most pressing problems in security, scalability, and sustainability. At the same time, the realization of the NDN architecture faces a number of brand new challenges. For example, all data packets must be signed by the original producers and verified by their consumers, bringing up the need for providing secure, resilient, and scalable support for public key distributions. Furthermore, since NDN eliminates the translation from application names to IP addresses and routes consumer data requests using application data names directly, maintaining the scalability of the global routing system becomes another challenge. This dissertation addresses the above challenges in moving NDN from an architecture blueprint to the operational reality. We designed and implemented a prototype of NDNS, a completely distributed database system that largely mimics the structure of the DNS system in today's Internet but operates within the NDN architecture. We show how NDNS can be used for cryptographic key distribution and routing scalability management. We believe that NDNS can also serve a number of other purposes during the development and deployment of the NDN architecture in coming years.