The Internet is an interesting phenomenon.
I say phenomenon because it’s more than a single network or technology, larger than any single nation or continent, and serves a multitude of purposes for people all over the world. I say interesting because it is fundamentally unlike anything we’ve seen before; it’s an experiment that escaped the lab and became an integral part of the world’s economy, a communications medium that crosses cultures, borders, and languages, and allows instant access to much of the world’s knowledge.
It’s also an interesting phenomenon because of how it works. The Internet introduced many of us to the idea of coopetition: cooperative competition. A functioning network of networks requires that all participants follow the same unenforceable rules. We call them standards and the IETF produces them, but who makes us use them? No one but ourselves.
It’s this willingness to collectively follow standard protocols, to play nice together, which allows the whole thing to work. Imagine if your ISP used a different technology to transmit your information than every other ISP. You’d only be able to communicate with other customers of your ISP; everyone else would effectively be speaking another language. So it’s great that competitors and partners alike agree to run the same protocols, to speak the same languages.
Technology doesn’t sit still though, and the Internet is no exception. How do we deal with innovation and progress on such a massively shared medium? On a platform built and sustained by a multitude of organizations all over the planet? How does the agreed-upon infrastructure change, when change is needed?
It changes slowly, we’ve learned.
The Internet is currently facing several growing pains. These challenges of success focus primarily around scale and security.
We’re effectively out of free (not in use) IPv4 addresses. Four billion seemed like a lot of addresses when there were only a handful of computers on the network. Now that we expect to connect all 7+ billion humans (and all of their devices), we simply must move to IPv6, and its 340 trillion, trillion, trillion available addresses. Oh, and don’t forget: That 7.2 billion population number doesn’t really represent the coming tsunami of sensors and embedded devices, commonly called the Internet of Things (IoT). IPv4 has reached the end of its useful life and we must move on to keep growing and making progress.
The growing network means more than just additional addresses. The Internet and the protocols it operates on were built on a model of trust. Unfortunately there are bad actors out there. Whether it’s spammers, hackers, hijackers, or your own government, we all need to actively ensure our own online privacy and security these days. Protocols such as Domain Name System Security Extensions (DNSSEC) and Transport Layer Security (TLS) allow Internet users to better protect themselves. Distributed Denial of Service (DDoS) and route mis-origination (hijacking) attacks can be prevented by secure implementations of the Border Gateway Protocol (BGP) and proper anti IP address spoofing (anti-spoofing) measures. They are all part of a growing list of simple steps that can make the entire Internet more secure for everyone.
Here’s the catch: The distributed, decentralized nature of the Internet that makes it so resilient, so pervasive, and really so amazing also makes it slow to change in some cases. The Internet is a network of networks. To implement a new protocol on the Internet means each of those autonomous networks implementing the protocol independently. In order for IPv6, DNSSEC, TLS, Secure BGP, Anti-spoofing, or any other common good technology to be truly successful requires action at each of (at least most of) those autonomous networks.
Worse yet, in today’s world of shareholders, bondholders, and quarterly returns, deploying one of these technologies on one network has little effect. The real benefits don’t kick in until a large portion of the Internet has rolled them out.
This is why my friend, mentor, and former boss Leslie Daigle called these protocols ‘broccoli technologies.’ They are good for you, but not everyone likes to eat them.
For example: Deploying IPv6 today takes some amount of resources but there is no short-term return on that investment. You can’t charge customers more for it. You’re still offering the same services, just over a newer version of IP. However, if you don’t implement IPv6, you’ll lose connectivity to a growing portion of the Internet.
A similar scenario plays out for DNSSEC, TLS, securing your BGP configurations, and implementing anti-spoofing measures. They all require investment today by a multitude of organizations to ensure the future of the Internet tomorrow. In short, they require long-term cooperative thinking. This type of thinking built the Internet, so we know it’s possible. Now we must spread this thinking to a wider set of players (the Internet is bigger now) and overcome the innovator’s dilemma.
If we don’t all eat our broccoli today, we may soon see this magnificent Internet start to distort, fragment, or even crumble.
If this techno-broccoli sounds delicious, or if you simply want to be part of the solution, I highly recommend you start here.