Systems Access Anyone studying internet technology quickly learns about the importance of distributed algorithms in its design and operation. Routing protocols are a clear example of such algorithms.
I remember learning how connection state management worked and appreciating access elegance: each router tells its neighbors about its local network view; flooding these updates until each router has a complete view of the network topology; and then any router that executes the same shortest path algorithm to provide (mostly) loop routing. I think it was this elegance and mental challenge to understand how such algorithms work, that turned me into a “network person” for the next thirty years.
The idea of decentralization has matured quite strongly in the internet architecture. The final paper on the original Internet model is David Clark “The Design Philosophy of the DARPA Internet Protocols” published [PDF] in 1988. Almost at the top of the list of design goals we find “Internet communication must continue despite the loss of networks or gateways” and “The Internet must allow distributed management of its resources.” The first goal leads directly to the idea that there should be no single point of failure, while the second says more about how network operations should be decentralized.
The idea of decentralization has matured quite strongly in the internet architecture
When I worked on the MPLS development team in the late 1990s, we absolutely believed that any algorithm should be fully decentralized. Both MPLS (TE) and MPLS-BGP VPN traffic engineering were created to use fully distributed algorithms without any central control points. In the case of TE, we realized early on that centralized algorithms could be approached by providing optimal solutions, but we could see no way to get those algorithms into the hands of users, given the radically distributed nature of routing.
Eventually the idea that centralized algorithms could do better was captured with software-defined networking. Google with B4 and Microsoft with SWAN [PDF] both found a way to improve MPLS-TE using centralized path selection algorithms, using an SDN controller to push computed centers from routers to routers that implement a distributed data plan. And MPLS VPNs now face a serious challenge from SD-WAN solutions, which centralize control of VPN tunneling to provide a much simpler operational solution than that provided by MPLS.
Many people who had internalized the lessons of distributed network architecture struggled to accept SDN because the concept of centralized control was so at odds with everything we believed about best network design practices. What pushed me into the SDN camp was the understanding that you can build scalable and error-tolerant networks with centralized control as long as you utilize ideas from outside the network community.
Consensual algorithms like Paxos and Raft, for example, sit at the heart of most SDN controllers, enabling them to scale and tolerate component failures. SDN enables logical centralization of control without introducing the negative sides of narrow point scaling or single failure points. And it has produced significant benefits, such as the ability to expose an API across the network, significantly simplifying the problem of network configuration and paving the way for automated network security.
SDN has also not made the internet less decentralized. There are still hundreds or thousands of ISPs, the domain name system is still decentralized, and autonomous systems are still managed independently of each other.
Platforms like Google, Facebook and Twitter … present a fairly monolithic view of the internet for billions of users
But there is one aspect of centralization to worry about, which is the platform that determines how many people use the internet. While, from a technical point of view, platforms such as Google, Facebook and Twitter are impressively distributed systems, they present a rather monolithic view of the internet to billions of users. This view of how the current services we consume online became increasingly centralized is well captured in a blog post by a16z Chris Dixon. A similar view is beautifully illustrated by one of my favorite cartoonists, The Oatmeal: “Reaching People Online in 2021.”
Both Dixon and Bollgur point to the disadvantages of leaving too much control in the hands of large platforms. For example, central platforms may suddenly change policies to divert users from content provided by a creator.
There are more technical examples in which widespread reliance on a single platform has led to a wide availability of Internet services. For example, the rapid shutdown of 2021 had a global impact on sites that depended on its CDN (like the New York Times and Amazon); days later, an outage in Akamai had a similar effect; Cloudflare 2020 failures provide another example of a problem on a platform that has sweeping impact. There is an interesting blog from Cloudflare that discusses another high-impact outage, which is traced to Raft who failed to elect a leader under certain conditions and failure conditions. Basically, a flaw in a distributed algorithm created a single point of failure for many clients.
It is worth turning to the Clark Internet Philosophy paper from 1988 and noting that while the Internet still works when routers and gateways fail, fulfilling goal number one, many services and websites now fail when a platform on which they depend ( as CDN) fails Me In fact, single failure points were inadvertently inserted. And as distributed web management continues, large portions of the services we depend on are managed by a small number of entities.
Some of these problems are easier to treat than others. Oatmeal cartoon shows an email subscription service as a way to bypass central content gatekeepers. It will probably become best practice to start using multiple CDN providers. And it is claimed that blockchain could lead to a more decentralized internet (see Dixon’s post above). Decentralized finance is an example of how blockchains have created an opportunity to decentralize historically centralized functions. Non-Composite Signs (NFT) provide a viable way for artists and creators to reach their audience without central entities (record labels, broadcast services, auction houses). At the same time, there is much justified skepticism about the long-term potential of blockchains and cryptocurrencies to move beyond the current speculative stage.
It seems that the pendulum has turned strongly towards centralization with the establishment of some giant internet companies that control the way billions of people experience the internet, and that pendulum is showing signs of slowing down if it does not start moving to the other side. Decentralization is a pillar of the Internet architecture that has been fundamental to its success, and we are now seeing a wide range of efforts to return to its decentralized roots. Let’s hope at least some will succeed. ®