When you browse the web you're not really browsing the web. You're fetching bits of it in looking at it
Locally right, so you're sending out to a server server sending you some data
You're viewing it on your screen in your browser
You [click] on something it sends another request to some server either the same or a different one
Pull some more data down you look at that on your screen
And so you've got to have a process for how you send that request and then how you get the responses sent back to you
So let's say you were [to] say this is your web browser
And then that's sitting above kind of a bunch of libraries
And so what's going to happen is you've got some data that starts out in your browser
So that's the request and then that's going to get sent down through these libraries eventually into the operating system
And what's going to happen there? Is that this chunk which is your original data?
Maybe is going to get encoded as a TCP segment one of the basic protocols
That's used for supporting the world wide web so on the front of that is going to stick some TCP
Information and then a short while later normally what will happen is all of that
It's just now thought of as data and then you'll get some Ip information on the front of it, and then a short while later
All of that will be thought of as data and then get some ethernet
Information from and a little bit on the end as well and again for different
[particulate] versions of IP so ipsec you can end up with some information getting stuck on the end so you click on something?
That's got to turn into a piece of data the user wants to get to this particular url
Yeah, then that has to go down through a bunch of libraries, so I sort of missed out step here
But that thing there which might just be the url
Might have to get turned into something here which is going to be a get right url?
This is the HTTP protocol, okay?
So it's turned that into this sort of more valid piece of http and then that is going to get
Treated just as a chunk of data doesn't matter what's in there, Via, url
Could be an image could be [clean] anything you want
Is where the notion of a networking stack or a protocol stack comes from these [all] [these] things stacked up?
each of these different layers provides a different set of
Abstractions it sort of builds [on] the abstractions provided by whatever's below it and it provides some abstraction of the thing above it for example
If you look at an [Ethernet] header now
I'm not gonna try and draw all this out by memory because I will get wrong
Essentially you've got a sequence of stuff on there, so you start out with the destination address
[then] you have a source address
depending on precisely the version of ethernet you're running you have some information about the protocol of what's coming next [and]
Then you might have some other header information where you might just get the data this destination [addresses] source address will be
Six bytes each I think it's two bytes. [they're] normal and then if you look inside, what's happening at this layer?
So it's that that stuff. There is the data that was put in the [ethernet] frame
so
Let's say this protocol here indicates that is actually IP [packets] going next and [in] the IP header you'll have things like there's a version
There's a length of source address the destination address
And then some other information that Ip needs to operate weight Ip does this is then the IP?
header and then eventually you get to the data [I] [be] transmitting the data transmitting in this case would start with a
TCP header not even trying to get this in the right order now
But you've got you know source port you'll have a destination port and some other things that TCP needs to do the things TCP does
Each of these layers is providing
Different features to layer above so in the case of ethernet for example it provides this functionality for going from one machine to another machine
So the addresses it uses of the Mac addresses [hardware] addresses [on] your ethernet card, so these are the machine addresses
It's a little bit more fuzzy now with wireless cards because a lot of time you can [actually] set the Mac address from Software in
Some of those and that can make things more complex and opens up all kinds of security holes and other possibilities for example
But basically yes, they should be uniquely identifying that particular network card, so there's a six bytes
They should be uniquely generated by the manufacturer [of] the card
So normally speaking you split them into the first three bytes
which is which indicates which manufacture it was so whether it's me or apple or dell or
Ibm or someone and then the other three bytes which in which is just a counter that that manufacturer will assign in some way all
That ethernet really is concerned with you getting that data from the [guy's] transmitting it to somebody else connected to the same network
But immediately so again getting it to an immediate neighbor
So ethernet is not concerned with the internet as a whole it's not concerned with getting something to want to
Google service or something it's just concerned with getting it to the next computer
[the] sort of next [door] computer [of] some kind I pee on top of that then says okay
Well the abstraction that's [going] to provide is the idea that we've got an indicator
Before we've got a bunch of computers that are all interconnected they can all see [each] other
And we can now get data to move between networks
So if the person the computing you want to talk to is not immediately adjacent to you
IP kind of handles that and
There's a set of protocols that let ip do that by for example figuring out that actually if you want to get to this guy
We don't know where he is right now, but what we can do is we can send it to a router
That might be bit close to the destination, and so you have this idea that when you started out up here
And you were trying to get to google.com
As a bunch of other translations happen and ultimately that comes down to the Ethernet layer which effectively ends up saying
Oh, I don't have to get to Google com by now
Let's get to your home router.
Your home router might know how to get to google.com. So I'll send it there first that receives its Ethernet frame
Then your home rooter has to take off the ethernet bits. Look at the IP bits and go okay
Where's this trying to get to what should I do with it and typically your home router is going to say well
I don't know how to get to google.com either in fact at that point
It's not google.com is just address
I don't know how to get to, you know, some string numbers
But I do know that this route upstream from me and your ISP's network your internet provider's network
That might have a better idea
so I'll send it there and then that router is going to pick it up and it gets sent they're using [something]
So it might get centers for ethernet more likely it'll get sent there. No over the DSL line that
You've got cable modem or something that's different set of standards again to Ethernet
So it doesn't have to be ethernet now
There can be something else and that's going to get to the root when your internet Providers Network
It's going to take off those bits that aren't interesting anymore. It's [going] look at the IP bits and go, okay. Well
Again, I don't know how to get to google become exactly I don't know where that is exactly but this other router in your internet
Providers network is closer to it so I'll send it there and it's this sort of continual putting inside an envelope
Passing it on guy takes next route to takes out the envelope looks how it goes
That direction, and it's that sequence of things which is what causes ip to be older, Hop-By-Hop network or a store and forward network?
So this each rooter is kind of storing the pack of a little bit looking at it thinking about it
Send it on with the next place
We'd like to thank audible.com for supporting this video
And if you like your books as zeros and ones and what computerphile doesn't why not download a free audiobook at audible.com slash?
Computer file I'd recommend Outliers by Malcolm, Gladwell, but my taste isn't always the best
So I asked Sean who also works on computer file, and he recommended the books by neal Stephenson
[bit] of an epic series he thinks [very] highly of it. So why not check them out?
audible.com Slash computerphile
You can download a free audio book and this is an offer for [people] in the us and Canada at the moment
Thanks to them for supporting our videos and thank you for watching [we'll] be back soon