A fundamental property of the Internet architecture – the use of numeric Internet Protocol (IP) addresses – has been considered for many decades to be in need of revisiting. IP addresses play two vital roles: that of identifying a device connected to the Internet (“Which device is this?”), and that of allowing the Internet routing system to determine the device’s topological location (“Where is this device?”), so that data can be sent to the device. This dual use of a single numeric value causes technical difficulty in a number of areas:
- difficulty in enabling mobile devices that wish to have seamless (uninterrupted) Internet connectivity;
- constraints in flexibility and agility in simultaneous use of multiple Internet connectivity across different networks;
- problems for enabling some security features at the IP protocol level;
- an adverse impact on the amount of information that is needed in the “core” of the Internet as it grows.
While various solutions for all of these issues exist today, they introduce their own problems, and they do not work together easily; essentially, they are engineering retro-fits which do not change the underlying issue of dual use of IP address values in the current Internet architecture.A new solution to these challenges is ILNP, which introduces a fundamental change to the Internet architecture: the removal of the use of IP addresses as they are today, to be replaced with two new values, an Identifier and a Locator, to explicitly recognise and “name” the two properties that are currently entangled within the use of the IP address. This presents its own practical challenge – how do we introduce such a radical change to the Internet architecture and still allow everything else to keep working?
With the increasing interest from industry in ILNP, later this year, the School of Computer Science will be releasing an open-source codebase: an enhancement to the Linux operating system, which is the first public prototype of their solution. Linux is widely deployed in industry. It is used by many companies, such as Google and Facebook, to run their services; and the Android smartphone operating system is based on Linux. The codebase has been developed over a number of years by Saleem and his PhD students. The solution has been designed to work across the currently deployed Internet infrastructure, and to be used with existing Internet applications. The codebase was successfully demonstrated earlier this year at the 19th Technical Conference on Linux Networking (netdev0x13) to the Linux developer community, with a further public demonstration at the 104th Internet Engineering Task Force (IETF) meeting. The netdev conference is a technical forum that discusses enhancements to the engineering of the networking code within the Linux kernel. The IETF is where Internet standards are designed, discussed, and agreed; the intention is that ILNP will eventually become an extension to the current Internet standards.
In parallel with the systems and software engineering work involved in the Linux codebase, scientific research on defining, refining, and evaluating the design and prototyping of ILNP continues. All the research papers, talks, and current public documents on ILNP are available via links on the ILNP web site at: https://ilnp.cs.st-andrews.ac.uk