When you clicked on this post, your computer sent a message to a computer at that might be states or countries or continentsaway. It didn’t know how to get the message there,but it sent it anyway. The message probably arrived after about halfa second and told YouTube’s computers to search for a file — a set of ones and zerospractically indistinguishable from the billions all around it — and to send that file backto you.
YouTube’s computers then sent the file backto your computer piece by piece, where those ones and zeros were interpreted as the startof a video. And the ones and zeros are still streamingin, even while you’re watching me talk. It’s pretty amazing, when you think aboutit.
And if you’re curious how we ended up ina world where billions of computers are all interconnected through this strange structurethat we call the Internet, then you’re in the right place. Because this is the start of a mini-seriesof videos about the history of the Internet, from some of the first attempts at makingcomputers work together all the way through modern social networks and on-the-go videoconferences.
Developing the right combination of software,hardware, technology, and marketing took decades, so we won’t be able to talk about everyimportant engineer and invention.
But we hope you’ll join us as we investigatesome of the crucial ideas and events along the way. People started making computers work togetherpretty early on — as far back as World War II, when computers were big, clunky machinesthat didn’t do much more than solve really difficult math problems.
Even with the best computers of the day, itcould take months to solve just one of the complicated physics problems involved in makingthe atomic bomb. But a team led by physicist Richard Feynmanfound a way of solving a bunch of problems at once: when computers weren’t being usedfor part of one problem, they had those computers work on part of a different problem.
So one problem might still take a month, butthey could also solve three or four in the same amount of time. And for really important calculations, theyused their system to simultaneously do the same problem a whole bunch of times. That way, they were sure of the final answer– even if a couple computers made mistakes along the way.
Another early step came in the 1950s and 60s,when colleges started separating their computer terminals, where someone would type theirprogram, from the computers themselves. This made it easy for lots of different peopleto experiment with the new machines while keeping the circuits and tubes safely awayfrom tinkering hands.
It was almost like an early form of today’scloud computing, where a user-friendly computer sends complicated tasks to better, less accessiblecomputers somewhere else. Except that today’s cloud uses the Internet,and in 1960, there was no Internet. But people were starting to think about it.
The US Department of Defense had recentlycreated the Advanced Research Projects Agency, also known as ARPA, to keep its technologya step ahead of the Soviets. And a computer enthusiast named Joseph Lickliderhelped convince ARPA to fund research into a computer network connecting scientists andengineers throughout the country.
A few key colleges agreed to be involved,and ARPA started building the network in 1969. They called it ARPANET. It started fairly small, as a sort of messagingservice between computers at UCLA, UC Santa Barbara, Stanford University, and the Universityof Utah. But it was the first network of its kind. And as ARPANET grew over the next couple decades,its engineers would add features and solve problems that still shape everything we doonline.
One of ARPANET’s first big innovations waswhat’s known as packet switching. You know how sometimes in old movies, whensomeone wants to phone a friend they have to call a switchboard operator first? The operator was there because those phonesworked by what’s called circuit switching, where signals could only get from one placeto another if there was a single uninterrupted circuit between them.
So the operator’s job was literally to plugthe wire from one phone into the wire from another. Circuit switching works great if two placesstay connected for a long time, like they might be for a phone call, which is why mostphones still work through circuit switching — except that now the circuits move automaticallyinstead of manually. But it would be totally impractical for theinternet to work that way.
Your computer would only be able to connectto one other computer at a time, and it would take extra time whenever you tried to connectsomewhere else. Some modern websites might connect you toten different computers from around the world at the same time. All of them need to respond immediately ifyou click, all the while connecting and monitoring hundreds or thousands of other visitors atonce.
So circuits all over the place would constantlybe flipping around, connecting somewhere for a split second before switching away and connectingelsewhere. It just wouldn’t work. Even back in the 1960s, engineers knew thatcomputers send messages far too quickly to make circuit switching practical.
So instead, they invented an alternative:packet switching, where different computers send messages along the same set of wiresinstead of each getting one.
To communicate with each other, they justsend a message, called a packet, along the wires. Every packet had a kind of address label:a string of numbers representing the computer where it was headed.
The computer where it started would look upthe address on a table with all the addresses in the network on it, and then send the packettoward whatever nearby computer was closest to the destination.
That second computer would get the packet,look up the destination address, and again send the packet in the right direction. This process would repeat over and over untilthe packet finally got where it was going.
No moving circuits or wires, no one-conversation-at-a-timerequirement. ARPANET used packet switching from the start,and its packets traveled over phone lines. And at first, packet switching worked exactlyas planned. But there were problems over the next coupleof years, as dozens of new computers from around the country joined.
Because the way the packet switching systemwas set up meant that every computer always had to keep an updated list of all the othercomputers’ addresses. Otherwise, they’d get packets and wouldn’tknow where to send them, or they’d try to send a packet somewhere that might not bearound any more.
But the network kept getting bigger and bigger,and sometimes a computer’s address might change if they temporarily disconnected fromthe network or a connection stopped working. And different computers ended up with differentaddress books if they didn’t update fast enough. So ARPANET’s engineers scrapped that systemand selected Stanford as the official record-keeper of everyone’s addresses in 1973.
This quick fix let ARPANET keep growing throughoutthe seventies, with sixty computers in 1974 and over a hundred by 1977. Soon, satellites connected California andHawaii, stretching ARPANET to what had been one of the most isolated places in the world. Then, ARPANET jumped across the pond, extendingthe network to England and Norway.
But by the mid-seventies, ARPANET wasn’tthe only network in town. Similar networks were popping up around theworld, and some had even more computers on them. But everyone formatted their packets differently,so even though you could connect different networks together, it was a real headache.
The problem was mostly solved back in 1974,but it took until the early eighties before ARPANET and most of the other networks startedusing it. The solution was a set of programs calledTCP/IP, or Transmission Control Protocol/Internet Protocol, which we still use today.
The Transmission Control Protocol was a standardway of formatting packets, so that everyone was speaking the same language. And the Internet Protocol was a standard wayof assigning addresses, so there wasn’t any confusion about where packets were headed. Once two networks used TCP/IP, connectingthem became way easier.
So all the different networks were connectedto one another, forming what became known as the Internet — with ARPANET as the glueholding it all together. But with ARPANET growing so quickly and connectingto so many other networks, the record-keepers at Stanford were getting overloaded. Hosts were always joining and changing addressesand trying to download the updated address book, and occasionally the Stanford list wouldhave errors that messed up communication throughout the network. And sending emails was becoming a real pain.
Email was invented back in 1971, and by 1973emails made up more than three quarters of ARPANET’s packets. But different computers had different emailprograms, and some required a list of every computer it would pass between sender andreceiver — so people had to keep an updated map of the entire network by their desk, andthey had to type out the path of their email before they could send it.
And with hundreds of computers on ARPANETand over a thousand across the Internet, keeping up those maps was getting impossible. ARPANET’s engineers realized that the entirestructure of the Internet had to be reorganized, so they came up with the Domain Name System,or DNS. Instead of separating each host and storingtheir addresses in a random order, the hosts were arranged into domains.
First came the top-level domains — thosedot-coms and dot-edus at the end of every website and email address. The new top-level domains meant that insteadof sending an email to [email protected] like you would’ve before DNS, you were emailing [email protected]
Then, within these top-level domains, eachhost was called a second-level domain. So “mit.edu”, for example, now meant “thesecond-level domain ‘mit’ within the top-level domain ‘dot-edu’”. The domain structure organized all those differenthosts from all around the world in a way that computers could handle.
Then, DNS added a whole new network to theInternet whose whole job was to keep track of addresses and connections. One computer on the new network effectivelystored all addresses within the dot-com top-level domain, another got all the dot-edus, anothergot all the dot-orgs, and so on.
Then, other new computers collectively mappedout the entire network. So when you wanted to send an email, you didn’thave to check your map and plan out all the connections yourself. That became the DNS’s job — and it’sstill the DNS’s job today.
It’s why your computer didn’t know howto get a message to YouTube when you clicked on this video. It basically just told the DNS server thatit had something for the domain “youtube” within the top-level domain “dot-com”. And the DNS server did the rest. By the late 1980s, the Department of Defenserealized that it had long-since accomplished its goal.
Originally, they just wanted a few reliably interconnected computers, but they ended up serving as the backbone of a global networkof thousands of universities, companies, and governments all talking to each other. So they decided to end the ARPANET project,and they needed to find someone to take over all those wires — someone to run the Internet.
But who could be trusted with all that power? And could the internet, this huge complicatedsystem, become accessible to the general public? These were the big questions plaguing theInternet in 1989.