Simplicity and Scale


Something that always surprises me (well, more accurately, boggles my mind) is how successfully the Internet has scaled.

The original ARPAnet was designed to connect a small number of research locations so that they could share resources. Starting with just three sites, it scaled up to 10, then 100, over a long period. Some of the protocols changed, until finally TCP/IP came along. While there have been minor changes in those protocols since they were first introduced, they have remained pretty much recognizable as the Internet has gone from hundreds of connections to billions. Which is more than something of a miracle.

If I had to pick a reason for this, it would be the simplicity of the design of the network. Making the Internet really simple. All it does is deliver packets, using best effort, and relying on the end-points to do as much as possible. This means no part of the Internet needs to know about all of the Internet. It also means that new applications can be added without changing the underlying network. All sorts of things are possible when you keep the network as simple as possible.

What is often not appreciated is how hard it is to design something that is this simple. The temptation to add a feature here or something that will make life at the endpoints easier there can be overwhelming. I have great admiration for the original designers of the Internet protocols for their ability to resist this. As an engineer, one of the most difficult things to do is know when to say “no”. We can thank those early designers for the taste and courage to do just that.

Back on the air…

Leave a Comment