Welcome back. Let's talk about how
data gets from one computer to another on the Internet.
When your browser talks to some remote server, say www.si.umich.edu,
it establishes a connection and then it sends some data,
pieces of text or other formatted data,
and each of those pieces of content gets chopped up into a bunch of packets.
Each of those small packets gets sent out onto
this big routing system that consists of a whole bunch of routers.
Routers are just computers whose sole job
is to receive these data packets and pass them on.
Each packet will go along,
goes from one router to the next.
Each of those routers has a big lookup table that says,
"If this packet that I've received is destined for some particular address,
what's the next hop?
What's the next router I should send it to?"
Magically all of these routers have managed to coordinate their routing tables,
so that when a packet gets sent here,
it eventually makes its way to the destination.
It's a rather remarkable system that there are now
trillions of these packets getting routed around,
and they all mostly manage to get to their destination,
occasionally things go wrong and packets don't make it.
Here's the first few lines of a trace route that I did.
This is something that gives some diagnostics about if I'm trying to send data packets
from my computer to si.umich.edu,
what happens to them?
The first line is telling me where does that packet go first.
Well, first it goes to a computer that has the address
100.68.0.5 and it took 71 milliseconds to get it there.
In fact, when I run this trace route program it does
this three times and so one time took 71 milliseconds,
the next time it took somewhat less,
the third time somewhere in the middle of 58.4 milliseconds.
The second line is saying where does
a data packet go if it's eventually trying to get to si.umich.edu,
where does it go next?
Well, it went from a computer at address 100.68.0.5
to a computer at 172.19.242.241.
We can see this is called two hops;
the first hop went to 100.68,
the second hop to 172.19,
the third hop was another router at 10.255.255.253, and so on.
I haven't shown you all the way,
but after eight or 10 hops,
the packets eventually get to si.umich.edu.
Typically to go two hops it takes a little longer than to go one hop.
So, that gives you a little sense of what's going on behind the scenes.
We're not going to have to deal with all of this technical detail.
I just wanted to give you a sense of what's happening
when one computer is talking to another.
So, that's the basics of Internet routing,
how one computer can send data to another computer by
way of intermediate routers. We'll see you next time.