When you clicked on this video, your computer sent a message to a computer at YouTube that
might be states or countries or continents away.
It didn’t know how to get the message there, but it sent it anyway.
The message probably arrived after about half a second and told YouTube’s computers to
search for a file -- a set of ones and zeros practically indistinguishable from the billions
all around it -- and to send that file back to you.
YouTube’s computers then sent the file back to your computer piece by piece, where those
ones and zeros were interpreted as the start of a video.
And the ones and zeros are still streaming in, even while you’re watching me talk.
It’s pretty amazing, when you think about it.
And if you’re curious how we ended up in a world where billions of computers are all
interconnected through this strange structure that we call the Internet, then you’re in
the right place.
Because this is the start of a mini-series of videos about the history of the Internet,
from some of the first attempts at making computers work together all the way through
modern social networks and on-the-go video conferences.
Developing the right combination of software, hardware, technology, and marketing took decades,
so we won’t be able to talk about every important engineer and invention.
But we hope you’ll join us as we investigate some of the crucial ideas and events along
the way.
People started making computers work together pretty early on — as far back as World War
II, when computers were big, clunky machines that didn’t do much more than solve really
difficult math problems.
Even with the best computers of the day, it could take months to solve just one of the
complicated physics problems involved in making the atomic bomb.
But a team led by physicist Richard Feynman found a way of solving a bunch of problems
at once: when computers weren’t being used for part of one problem, they had those computers
work on part of a different problem.
So one problem might still take a month, but they could also solve three or four in the
same amount of time.
And for really important calculations, they used 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 their program, from the computers themselves.
This made it easy for lots of different people to experiment with the new machines while
keeping the circuits and tubes safely away from tinkering hands.
It was almost like an early form of today’s cloud computing, where a user-friendly computer
sends complicated tasks to better, less accessible computers 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 recently created the Advanced Research Projects Agency,
also known as ARPA, to keep its technology a step ahead of the Soviets.
And a computer enthusiast named Joseph Licklider helped convince ARPA to fund research into
a computer network connecting scientists and engineers 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 messaging service between computers at UCLA, UC Santa
Barbara, Stanford University, and the University of 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 do online.
One of ARPANET’s first big innovations was what’s known as packet switching.
You know how sometimes in old movies, when someone wants to phone a friend they have
to call a switchboard operator first?
The operator was there because those phones worked by what’s called circuit switching,
where signals could only get from one place to another if there was a single uninterrupted
circuit between them.
So the operator’s job was literally to plug the wire from one phone into the wire from another.
Circuit switching works great if two places stay connected for a long time, like they
might be for a phone call, which is why most phones still work through circuit switching
— except that now the circuits move automatically instead of manually.
But it would be totally impractical for the internet to work that way.
Your computer would only be able to connect to one other computer at a time, and it would
take extra time whenever you tried to connect somewhere else.
Some modern websites might connect you to ten different computers from around the world
at the same time.
All of them need to respond immediately if you click, all the while connecting and monitoring
hundreds or thousands of other visitors at once.
So circuits all over the place would constantly be flipping around, connecting somewhere for
a split second before switching away and connecting elsewhere.
It just wouldn’t work.
Even back in the 1960s, engineers knew that computers 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 wires instead of each getting one.
To communicate with each other, they just send 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 up the address on a table with all the addresses
in the network on it, and then send the packet toward 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 until the packet finally got where it was going.
No moving circuits or wires, no one-conversation-at-a-time requirement.
ARPANET used packet switching from the start, and its packets traveled over phone lines.
And at first, packet switching worked exactly as planned.
But there were problems over the next couple of years, as dozens of new computers from
around the country joined.
Because the way the packet switching system was set up meant that every computer always
had to keep an updated list of all the other computers’ addresses.
Otherwise, they’d get packets and wouldn’t know where to send them, or they’d try to
send a packet somewhere that might not be around any more.
But the network kept getting bigger and bigger, and sometimes a computer’s address might
change if they temporarily disconnected from the network or a connection stopped working.
And different computers ended up with different address books if they didn’t update fast
enough.
So ARPANET’s engineers scrapped that system and selected Stanford as the official record-keeper
of everyone’s addresses in 1973.
This quick fix let ARPANET keep growing throughout the seventies, with sixty computers in 1974
and over a hundred by 1977.
Soon, satellites connected California and Hawaii, stretching ARPANET to what had been
one of the most isolated places in the world.
Then, ARPANET jumped across the pond, extending the network to England and Norway.
But by the mid-seventies, ARPANET wasn’t the only network in town.
Similar networks were popping up around the world, 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 started using it.
The solution was a set of programs called TCP/IP, or Transmission Control Protocol/Internet
Protocol, which we still use today.
The Transmission Control Protocol was a standard way of formatting packets, so that everyone
was speaking the same language.
And the Internet Protocol was a standard way of assigning addresses, so there wasn’t
any confusion about where packets were headed.
Once two networks used TCP/IP, connecting them became way easier.
So all the different networks were connected to one another, forming what became known
as the Internet — with ARPANET as the glue holding it all together.
But with ARPANET growing so quickly and connecting to so many other networks, the record-keepers
at Stanford were getting overloaded.
Hosts were always joining and changing addresses and trying to download the updated address
book, and occasionally the Stanford list would have errors that messed up communication throughout
the network.
And sending emails was becoming a real pain.
Email was invented back in 1971, and by 1973 emails made up more than three quarters of
ARPANET’s packets.
But different computers had different email programs, and some required a list of every
computer it would pass between sender and receiver -- so people had to keep an updated
map of the entire network by their desk, and they had to type out the path of their email
before they could send it.
And with hundreds of computers on ARPANET and over a thousand across the Internet, keeping
up those maps was getting impossible.
ARPANET’s engineers realized that the entire structure of the Internet had to be reorganized,
so they came up with the Domain Name System, or DNS.
Instead of separating each host and storing their addresses in a random order, the hosts
were arranged into domains.
First came the top-level domains -- those dot-coms and dot-edus at the end of every
website and email address.
The new top-level domains meant that instead of sending an email to john@example like you
would’ve before DNS, you were emailing john@example.com.
Then, within these top-level domains, each host was called a second-level domain.
So “mit.edu”, for example, now meant “the second-level domain ‘mit’ within the top-level
domain ‘dot-edu’”.
The domain structure organized all those different hosts from all around the world in a way that
computers could handle.
Then, DNS added a whole new network to the Internet whose whole job was to keep track
of addresses and connections.
One computer on the new network effectively stored all addresses within the dot-com top-level
domain, another got all the dot-edus, another got all the dot-orgs, and so on.
Then, other new computers collectively mapped out the entire network.
So when you wanted to send an email, you didn’t have to check your map and plan out all the
connections yourself.
That became the DNS’s job — and it’s still the DNS’s job today.
It’s why your computer didn’t know how to get a message to YouTube when you clicked
on this video.
It basically just told the DNS server that it 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 Defense realized 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 network of 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 complicated system, become accessible to the general public?
These were the big questions plaguing the Internet in 1989, and that’s where we’ll
pick up in the next episode of this series.
In the meantime, thanks for watching this episode of SciShow, which was brought to you
by our patrons on Patreon.
If you want to help support this show, just go to patreon.com/scishow.
And don’t forget to go to youtube.com/scishow and subscribe!