The question often arises: why is it so hard to get Internet-wide critical technology innovations into the real world? The mind quickly leaps to lay blame: perhaps the proposed solutions are somehow defective. If, after successive iterations of redesign discussions, better approaches don’t surface, there is a collective resigned sigh that the real problem must be a lack of a “killer app” to drive uptake.
However, what this glosses over is the fact that every network is a snowflake. No two are the same. While strong solutions and compelling applications may provide motivation for deployment of needed technologies, there is always a certain amount of necessary custom work to be done in order to adopt a new approach within a given network. That may be hard, in terms of engineering, and it most certainly will require business motivation in commercial networks. So, critical technology innovations tend to get deployed patchily, and over time, across different networks in the Internet.
Snowflakes are individual, complex, and beautiful
Before we conclude that we should seek conformity in networking (melt that snowflake!), let’s review some of the ways in which the Internet’s support for diversity and individuality has been a strength.
Internetworking brought us a global network because the focus was on specifying how networks could connect to each other, allowing data to travel between them without making undue suppositions about what individual networks did with data inside their own borders. I.e., existing networks could be connected together.
It has also allowed networks to be developed to support a wide range of purposes, with widely divergent structures to support them. Networks are tools, and network elements are components that can be fit together and managed to support whatever activity its operator desires.
A network built for an enterprise has to support the enterprise’s business activity (e.g., individuals communicating, accessing particular services), and the enterprise can elect to support or prevent network uses as they are, or are not, appropriate for their business. While an ISP may seem to have the same purpose — allowing individuals to communicate and access various services — the relationship to those users is completely different, as is the physical layout of the network. An ISP can’t tell users which services they aren’t allowed to use during business hours (as long as there are some tendrils of network neutrality in effect), doesn’t have an a priori expectation of what individuals will want to do, and the network has to span many neighbourhoods, with access from each address within them, in order to be viable. That’s very different than an enterprise network, which might be expected to support a handful of buildings on a few campuses. Those are just two general types of networks — there are many more — networks that connect other networks, networks within homes, mobile data networks, and networks in data centres, academic networks, to name a few.
When it comes time to do an Internet-wide upgrade, such as deploying IPv6, network differences play an important role in determining an operator’s perspective on the importance of deployment, and the level of effort required. While a business with an enterprise network is in a position to know what equipment on the network is IPv6 capable or not, and to map out an upgrade plan, the enterprise network is fairly static in size (i.e., not requiring large swaths of new addresses on a regular basis), and the need for IPv6 support may not be apparent, from the perspective of managing business expenses. An ISP may have control over the connecting box in their customer’s premises, or they may not (depending on the network’s business choices, and whether customers expect to be able to buy their own devices). The ISP operator likely have little awareness of the capabilities of the customer equipment attached directly to their network, and exactly no detail on the capabilities of the customer’s in-home devices. Will it work for the customer? To deploy IPv6, an ISP has to support it internally in its core, and at all the network notes spread throughout all the neighbourhoods they support. However, assuming business is good, they do have to be able to provide usable Internet addresses to a growing set of customers, and in today’s reality, that means there is a business driver for supporting IPv6.
While that gives a glimpse into the reasons why there rarely is a uniform path to deploying new technologies across the diverse networks that make up the Internet, it should also provide a reminder of why supporting diversity is valuable. Apart from differences of purpose, networks have “grown up” differently because of local factors across the world (geography, resource allocation policies) or history (e.g., transformed telco monopoly, expansion of a multinational, or stitched together from the acquisition of one or more networks of similar or smaller size). These evolutions would be a lot harder, if not impossible, if we didn’t have an Inter-network.
So, while we may be frustrated at seeming lack of progress on getting important technologies deployed, we shouldn’t start by assuming they are somehow wrong-minded. We live in a complex (networking) world, and the complexity does us more favours than not. If we didn’t need and want what this diversity gives us, the Internet never would have trampled over such uniform experiences as MiniTel and AOL.