Control limits potential: Internet edition

Factoid of the day: the internet was invented because computers were scarce.

Back when computers were huge and expensive, researchers needed a way to use a computer without traveling to it. This required a dedicated phone circuit, which was incredibly expensive back in the days of AT&T monopoly.

When people tried to connect computers through intermediaries, they treated it like a traditional circuit-switched architecture: each node carefully checked the data and made sure it was perfect before transmitting to the next node. 

This turned out to be expensive and not reliable. Each connection was only as good as the weakest connection within it. No matter how hard people worked to get each node-to-node link as perfect as possible, it was never good enough.

Enter packet-switched networking. The key: move all the intelligence to the endpoints. In between, there’s just a bunch of packets. Each node knows its local environment, not the whole network. It knows nothing about what’s in the packet, or about the network graph as a whole. Send the packet, forget the packet. The nodes maintain no state.

In this architecture, no one relies on any one circuit. Packets fail and are resent. Packets are routed around failures. Only the sender and recipient know how to reassemble the packets. Nodes remain blissfully stateless.

Giving up on getting each connection perfect led to an efficient, robust architecture. Control was sacrificed, and potential skyrocketed.

Scarcity of computers triggered development of the TCP/IP networking protocol. Ubiquity of computers turned it into something galaxies bigger than its designers imagined. Now that was serious potential!

—–

Source: conversation with Ron Broersma, who has been working in networking since before I was born.