Today’s internet is experiencing considerable problems and growing pains and it’s worth bearing some of these in mind and thinking about them, as many of them give rise to interesting research problems to think about.
- Running Out of Addresses
One of the major problems is that we are running out of addresses. The current version of the internet protocol, IPV4, uses 32-bit addresses meaning that the IPV4 internet only has 2 to the 32 IP addresses or about 4 billion IP addresses. Furthermore, these IP addresses need to be allocated hierarchily and many portions of the IP address space are not allocated very efficiently. For example the Massachusetts Institute of Technology (MIT) has 1 to 56th of all the Internet address space.
- Congestion Control
Another problem is congestion control. Congestion control’s goal is to match offered load to available capacity, but one of the problems with today’s congestion control algorithms is that they have insufficient dynamic range. They don’t work very well over slow and flaky wireless links, and they don’t work very well over very high speed Intercontinental paths.
Some solutions exist but change is hard, and old solutions that are deployed must interact well with one another. Deployment in some sense requires some amount of consensus.
A third major problem is routing. Routing is the process by which those on the internet discover paths to take to reach another destination. Today’s inter-domain routing protocol, BGP, suffers a number of ills including a lack of security, ease of misconfiguration, poor convergence, and non-determinism. But it sort of works and it is the most critical piece of the internet infrastructure in some sense because it is the glue that holds all of the internet service providers together.
Another major problem in today’s internet is security. While we are reasonably good at encryption and authentication, we are not actually so good at turning these mechanisms on. We are pretty bad at key management as well as deploying secure software and secure configurations.
- Denial of Service
The fifth major problem is denial of service. The internet does a very good job of transmitting packets to a destination, even if the destination doesn’t want those packets. This makes it easy for an attacker to overload servers or network links to prevent the victim from doing useful work. Distributed denial of service attacks are particularly commonplace on today’s Internet.
Software defined networking, or SDN makes it easier to solve some of these problems by rolling out new software technologies, protocols, and other systems to help manage some of these issues.