Consumer / Producer communication with application level framing in Named Data Networking
- Author(s): Moiseenko, Ilya
- Advisor(s): Zhang, Lixia
- et al.
Over time the Internet has evolved from a network that interconnects hosts to a network that interconnects information objects broadly defined; these objects range from movie files, Facebook content, twitter messages, to sensor data and authenticated device actuation commands.
As a newly proposed architecture to meet this new usage, Named Data Networking (NDN) replaces the host-based addressing scheme by names of information objects in moving packets through the network. In an NDN network consumers send Interest packets carrying application-level names to request information objects, and the network returns the requested Data packets reversing the path of the Interests.
As a new way of doing networking, NDN introduces new design patterns for applications. To make the content available in the network, one needs to consider multiple design choices, which range from name structure and security model to more basic issues such as data segmentation. To fetch content, one also faces new considerations such as the presence of caching in the network and the question of data validation, in addition to conventional issues of loss recovery and error corrections. What kind of application interface should be provided to ease the application development? And what protocols would be needed to support the interface? Clearly socket abstraction and associated protocols cannot be reused, because the model of a virtual channel between two communicating processes supported by socket does not exist in the NDN architecture.
This dissertation addresses the above challenges with the design of a new Consumer / Producer API and its associated protocol suite that can play socket-equivalent roles in an NDN network. We demonstrate how the API can be used to invoke the most fundamental communication patterns in an NDN network and also show how stand-alone and web-based applications can be designed on top of the API. While the architecture of NDN is still a subject to the changes, we believe that the Consumer / Producer API framework can be successfully extended to accommodate new protocols, communication patterns and applications.