Named-Data-Networking on Raspberry Pi's
- Category: Networking, IoT
- Technologies: Python, Raspberry Pi, TCP/UDP
- Skills: Pair Programming, Demonstrating, Team Management, System Design
- Repository: Github Link
An implementation of a future networking architecture (NDN) that is decenetralised (P2P) using a real life hypothetical scenario.
A Named Data Network (NDN) is a future-oriented networking architecture that aims to fundamentally change how data is accessed and transmitted over the internet. It is an alternative approach to the traditional host-centric IP (Internet Protocol) architecture. In an NDN, emphasis is placed on data itself rather than the locations or addresses of specific devices hosting the data. Instead of using IP addresses to identify and route data packets, NDN uses unique names for each piece of data. These names are hierarchical and human-friendly, similar to URLs.
Built with Python and deployed on Raspberry Pi's. The Named-Data-Network is implemented in purpose of an underwater surveillance mission. In this scenario, 180 nodes exist in the network where each node is either a scientist, an underwater diver or one of the divers or scientists sensors/actuators (E.g. Radar). For this project a full emulation of an active network was undertook in order to show the varying features of an NDN and how this networking technique can scale to networks with huge amounts of information and participants in a decentralised manner.
The first image displays the architecutre of NDN and the data structures involved. The second illustrates the packet format. The third is a Raspberry Pi Microcontroller which several were used as experiment nodes for the implementation.