Hearing all of the steps that a packet has to take between your computer and the target server actually makes it all the more impressive how fast some websites are to load, especially the more content heavy ones
Very well explained, highly actionable info. It's been a while since I took the local community college's "Linux Network Administration" class; this was a nice reminder of how the stack works.
They're very smart. This kind of advertising actually works pretty well as opposed to tv ads or banners. By sponsoring podcasts and youtube shows they get pretty much exactly the audience they want and people who might actually be interested in the product. Besides, audiobooks are pretty great in my opinion
Yes, it can definitely be easier to understand with subtitles, especially with the funny langauge that we computer people use: router, ethernet, TCP. Usually UA-cam automatically generates subtitles. I don't see it for this video, but maybe that is because it's a new video and UA-cam hasn't finished generating the automatic subtitles yet. Cheers, mate!
That is the private address space reserved for a class C address. It supports 65,536 and are obviously publically routable. There are also private address spaces for Class A (10.x.x.x) and Class B (172.16.x.x). You pick the one that fulfills the requirements of your network (typically the number of hosts you will have). Google "RFC 1918" for more information.
I'm not brady but I can tell you that it's just a standard that the 192.168 range is used for private networks along with 10.0 and 172.16. you could change is on your network but you would brake access to any public services on the range you changed it to.
As someone with a very amateur understanding of networking, this was all completely clear, and I'm confident it would have been clear to most viewers if they really spent the time to think about what was being said, and didn't waste time thinking about things which weren't explained. Why? Those things didn't need to be explained. Why? They weren't part of the point. This is excluding a few things (that are common knowledge anyways), like what "libraries" are/do.
I don't get how you think that would be a solution. The client server model exists because it's more efficient to store data in fewer locations, and then transmit it as needed than to store it in many locations. Yes, centralizing things does mean that one point is more vulnerable, but it also has many advantages.
As a CCNA, listening to someone I don't work with explain internet packets is still ridiculously complicated. There's a lot that goes into getting a packet from computer on one network to another computer on another network. From the physical equipment, to the physical addresses, to IP addresses, to port address translation, to the protocol of the data, to the language it's written in, to how it's presented to the user. Each layer of the OSI model (which I just went through) deserves a video.
Yes. The DNS server replies to the client with the IP address that corresponds to that particular domain. If it cannot find a match, it will reference other DNS servers until a match is found. Sometimes if you try to ping a domain name, the first packet will fail because the DNS server has not yet replied and the router has dropped the packet.
it's been a while since I learned the reason, but still remember the gist of it. it's because someone defined it as a local private net class "C-Type" (mask: 255.255.255.0) ; there is also B- and A- local network adresses, but the C-Type is the most used. (D, and E are used for other types of local are networks) lookup "private local ip network classes" for the full info.
For a video on just the stack this is complex, and it alienates people who don't know as much as we do. The TCP/IP and OSI model exists for a reason, for teaching noobs, I don't understand why the focus was on the details before the big picture.
The only issue I have is that this video went into detail on one of the layers of the stack and just briefly mentioned the others. You should make a video for each layer. Also, for anyone that wants to see more about routes you can open your Command Prompt and type in: "tracert URL" (without the quotes, where URL is the URL and this is windows only as far as I know) and it will show you the "hops".
The reason is due to the subnet mask. When written in binary, the subnet mask for a 10.x.x.x address has 8 1s. For 172.16 it has 12 1s. For 192.168 it has 16 1s. It was an arbitrary choice, but obviously well informed.
So it's basically about a balance between lag (ping) and throughput (kbps). Small packets don't accumulate lag as much, but have overhead, and big packets accumulate lag more, but have less overhead.
The first 5 you mentioned are communication protocols and all you need to understand is that computers need them to send messages between each other. The URL is an address (like youtube.com) that replaces the IP (74.125.225.224) with something more readable. A MAC is basically a serial number, ISP is Internet Service Provider (i.e. AT&T, Comcast, SuddenLink), and DSL is a line that connects your home modem to your ISP for internet. Just definitions, really.
Conceptually, computers are all about layers of abstraction. When a person looks at the a layer all by itself, the picture isn't too complex. It's the adding up of the layers of abstraction where most of the complexity is. If the layer of abstraction is how transistors work, the bits of data (electrons) follow the rules of physics. If the layer is an API or library, the rules are a complex set of mathematical cascades (program instructions) that govern how the data moves around.
Ethernet switches work similarly to how you describe. A fresh new Ethernet switch will have an empty "address table". when it receives an Ethernet frame for the first time, it will broadcast that message out every port. It will also add the address and the interface it learned it on to the address table. This continues until every MAC address on the network is learned, and then it can directly forward packets out a specific port to the destination instead of broadcasting it.
the overhead is usually about 10%,which is why your download speed is often 10% slower than what your ISP says, because you measure how much the file grows on your hardisk and your ISP mesures how much is sent to you :)
Haha, you put smile on my face with that last one. It's rare to see people actually responding peacefully. Most of the people on the UA-cam would flame your ass for correcting them.
The overhead is generally much less than 10%. For example, IP and TCP headers approx. 20 bytes each, with a 1500 byte MTU on Ethernet. Advertised speeds and rated speeds differ for many reasons. The most common reason is contention, where nodes share bandwidth so it can fall at peak times. There is also packet loss due to things like interference, where packets don't arrive correctly and need to be re-transmitted, etc.
It doesn't really know what router is "closer to" the destination on its own network, but it will keep sending it to the Default Gateway (your local router is likely the default gateway for your home network) until it reaches a router that knows how to handle it, like the TLD servers (Top Level Domain, such as .com and .net).
Ethernet is what handles communication from one computer to the next. That is it's job. IP is what handles where the message is coming from and going to. Like an address on an envelope you're mailing. TCP is a protocol for handling how those messages are treated by the sender and recipient. In the case of TCP one of it's biggest jobs is how to handle what handles when packets get lost, or arrive out of order, or whatever else. That's all you need to know here, really. Hope it helped.
That's actually how an Ethernet network works if it's not on a switch. Ethernet is Carrier Sense Multiple Access / Collision Detection. They just wait for it to be quiet, then they just yell as loud as they can till they get hold of who they want to reach. If they step on top of anyone else transmission, they both just back off for a random amount of time and try again. It works quite well, actually.
Search wikipedia for "Dijkstra's algorithm" for information on how ideal routing (i.e. solving the shortest path problem from graph theory) would work. In the real internet the Tier 1 and Tier 2 ISPs tend to not implement any form of ideal routing though. They implement "hot-potato" routing which finds the shortest path out of their network that makes progress towards the destination.
Think about the header/footer stuff like the envelope on a letter. It needs to say where it's going, where it's coming from, etc. in order to actually get there. Same idea. All of it is required on some level. As to how it's being shuffled around, that's actually good, because it makes the system into a giant redundant network. Imagine if the only path you sent packets along was the absolute most efficient path, what happens if that path gets cut off? This avoids that.
I also forgot to mention that TCP packets won't always take the same route or even arrive at the destination in the order they were sent, larger packets mean more work for the receiving end to put it back together.
I hope computerphile finds its legs soon, you have to appreciate that this discipline is very hard to explain to the lay man. Best video so far is 'compression' explained by Professor David Brailsford.
Packet loss is not the only reason. Another reason is that a packet must be transmitted fully between two servers before it can be transmitted further (to check its integrity). That means that big packets would have a lot more lag between EACH node of the net.
generally, routers make use of "routing tables" and IIRC some level of communication between them to help keep track of what is where (they tell each other about routes, ...). if a loop did occur, then the TTL counter will run out eventually and the packets will be dropped. such an error is likely to be fixed, as it could potentially break internet access or cause networks to be flooded with junk traffic.
It would be awesome if you guys (Computerphile), could do a video on WiFi, or wireless connections, how the data/bits travel. I can probably google it, but when you guys make a video, I just come to a lot better understanding. I feel more people are in the same boat.
I'd like it if people didn't want others to baby them. If you don't know, go look it up. A user level understanding of the internet and computers is basically all you need to understand this video.
True, it depends on what the scope of the video is. I had hoped that I would be able to understand the internet transmissions a bit more in detail after watching this, but I feel like there are still just as many holes in my knowledge as there were before. Anyways, it was just my personal feedback for Brady, so he might be able to find a good compromise in future videos
They can be. A kinked cable, a noisy connector, a bad ground (or a ground that is looped), a crane with electric motors outside doing its thing, an old TV, the world is full of noise and mishap. The idea is to optimize the size of the packets on the fly to fit the pathway noise as best it may.
Not in detail. You are supposed to understand that TCP is a protocol in networking, which is very obvious from the video. I don't think DSL was ever mentioned, though I could be wrong. Then ethernet, well, it was explained ethernet is the system at the core which handles transmission of data between one computer, and the next.
The actual information in a TCP/IP packet is not terribly important to remember, you can always look it up. What matters is that the data is given header and trailer information by the networking equipment relevant to the type of network protocol used along the segment of network that it travels. And this changes every time the data meets a router.
3:16 The term "hardware address" is somewhat misleading. While all network adapters (wired or wireless) come from the manufacturer with a suggested MAC address, the operating system is in no way obligated to use it. In fact, "hardware address" is always set by software (mostly to the hardware's suggested address), so spoofing it is quite easy, at least on Linux.
oh okay i think i get it now, you were taking his first to say "i was the first one to comment on this video" and responding to it with your own description of what you are doing/did?
Please explain subnet masks! I've tried learning it many times, but it never gets into my skull!
11 років тому
There is no way (as far as I know, I may be wrong). They just know where it should be sent next. The only one who knows the chain is over is the device just before the destination. Of course, this means that sometimes packets get lost because they were sent through a wrong route or things like that. However, to avoid sending those lost packets indefinitely, they have a time to live. After some time, if they haven't reached the destination, they are discarded.
I pronounce route like "route", but whenever anyone says "routing"(as rare as that is) I've heard it pronounce "rowting". So it makes sense that we pronounce it "rowter", because the name comes from the verb.
That's true, but that proxy server would require computers to have different settings to be able to use it, also, you would have to maintain its security to not defeat your purpose, that means, even if you use linux, you need more than a default linux to achieve the maximum security.
Using random values would be a very bad idea. You could end up using addresses that are already in use on the Internet and thus lose access to those parts of the Internet (extremely likely with IPv4 now that all possible addresses have been assigned). This is why addresses are assigned for specific uses (by IANA); it guarantees that any value you pick in that range won't be the publicly-routed address of some other machine out on the Internet.
I've taken the course and learnt this bunch, so i get a perfect walk through on the subject. But for somebody who never heard MAC adress or knew about headers before, I have no clue how they would get anything from this video. Maybe post it to universities as extra material?
Tables. Have an analogy: I want to send a letter to Bob. I can't do that, so I send it off to a post office/put it in a mail box. Then they take it. Okay, Bob isn't in the same region, so they can't send it directly to them. Rather they send it up to a postal office that handles the entire area your region is in. They know what region Bob is in, so they send it to that office. That office knows where Bob is, so they send it to him.
10.0.0.0/8 came over from ARPANET 172.16.0.0/12 was a large block of available addresses at the time 192.168.0.0/16 because 192 was already reserved. Not entirely sure on the 168 but these are much more round numbers when you read them in binary e.g. 192 = 1100 0000 so they are not as random as they may seem.
Brady I love Periodic Videos, Numberphile, Sixty Symbols, etc because the matter be it complicated or not is very well explained. But this video... I hardly understood half of it. It happens that I know what a protocol is but for those who don't, you just can't start spamming computer science slang without explaining the meaning of it. Keep up the good videos though !
It's one of the ranges of addresses that are set for private use, ie not over the internet. And is just a way to make your home network safe, as your router wont allow computers on the outside to get in to a 192.168. network.
I can answer the simple question: The dots are there to simply separate each number, you could have chosen anything or nothing, the computer probably doesn't even store the dots, Each number is from 000-255, or in hex: 00-ff, or in bits: 0000 0000 - 1111 1111.
The first part of the video is kind of irritating. I don't think I would have understood that if I didn't already knew what it was about. But the second half is really, really well explained!
A router will maintain a list of all addresses that it is connected to. If I wanted to send you some information, each router between us will check the destination address against all the addresses it knows about and forward the packet to the correct router which continues this process. If my router doesn't have your exact IP address, it can forward it to a "gateway of last resort". My router's job is done and it is the job of this gateway (which is just another router) to forward the packet.
This video actually inspired me to write a simulation of a computer network. This is almost definitely not how the real internet works, but I think it's interesting none the less. A computer will send a packet of information with a message, the address of the destination, and it's own address. It then broadcasts this message. Every computer listening will add it's own address, then broadcast it again until it eventually reaches the destination. Is this method used anywhere In real life?
The scary bit is, there are bits that are way too technical that he didn't go over, like how the router actually decides if it knows where the destination address is. This is only scratching the surface.
"And how many people would donate?" In my experience very few. I develop open source software and from some 450,000 downloads of one piece of software, I have written, I have had fewer than 10 donations all of which I am extremely grateful for. Yes I could skip the end and probably will in future - the problem being it may not not be clear when Brady is advertising and when he is passing on information. Anyway I am starting to go around in circles.
I am sorry if I come around arrogant, I was aiming for naive or optimistic The client/server model defiantly have strengths, it can provide a 'trusted 3rd party' where authentication in p2p is very challenging It can do number crushing for lightweight clients such as phones and tablets ect. my point was that it would be awesome if some of the social applications were build on p2p technologies such that we had more control over our data, even if these technologies were less efficient
In a sense countries don't exist in IP routing. But with that analogy, a router could be set to forward all packets destined for 90.x.x.x (f.e. America) out of one interface and all other packets not destined for 90.x.x.x (i.e. not America) out of another interface. As a packet gets closer to the destination, each routers will progressively know the smaller details (individual subnets and addresses). Btw, for an IP address the maximum allowed value for each octet is 255, not 789 etc :>
Obviously something does, or you'd see that happening more often. My assumption would be that the routing systems in place are designed to forward things as logically as possible to avoid this. As for efficiency, it's very efficient. What, do you want direct communication lines between every possible part of the system? or worse, have everything cramming through a central point? That would drastically limit the system.
Any chance you could also answer less technological questions and something more... Societal? I'm not complaining, far from it, but while watching the cool animations which are really well done, I w/pondered why Green and Black are synonymous with computing, obviously from the old monitors, but why weren't they Black and White like TV's were? Who chose Lime Green on Black? And why?
That's wrong. He's talking about protocols like RIP, OSPF or EIGRP and so on. What that means is that the fastest path between routers to the destination is being used. RIP for example used "hops" to determine how long the packet has to travel. There is 1 hop between each router, the path with the least hops is the one that gets used. Though, nowadays no one really uses RIP, but you get the idea. Now it measured in link medium, bandwidth, hops, failure rates and so on.
Because the expansions of most of the acronyms aren't actually informative and are sometimes misleading. For example, the protocol I can't name these days mostly (by volume) transfers images and video, not hypertext. There are lots of protocols that control transfers that aren't TCP. All currently-available broadband connections are literally digital subscriber lines, but only one kind is called "DSL".
You're supposed to have a certain level of prior knowledge, but he did use terminology which should IMO be known to a common home computer user. Things like IP address, ethernet, wifi, router. You either seen it before or someone told you over the phone to turn it off and then back on.
Are you serious? I'm pretty sure it was explained that a MAC address is an address uniquely identifying the ethernet card (in video) in the computer. It was explained that the ethernet card does the basic sending of a message from one computer to another. People are familiar with what an address is (98 Luxor Blvd., St. Marillo, etc. etc. etc.), so they should grasp the idea. Headers? Most people would know them for use in papers, or documents. It's the same idea, so easy to transfer.
I agree, as the explanation of router hopping and packet assembly seemed both straightforward and accurate, however, viewers would need to have quite a bit of experience with networking to pick up on the concepts.
I agree with some of the comments here. Some of the videos are rather basic and easy for anyone to grasp. The sorting one was fantastic (I didn't quite understand the various sorting algorithms, but now I do, so kudos for that) but this one may be a bit over the heads of people here. Perhaps having a levelling system? If a regular person could understand it, give it a rating of 1, if it takes a fair bit of knowledge, give it a 5. That way people can watch videos they'll be able to understand?
How does a router know where the country 123 is? Well, every Internet connected computer (a router is just a computer that forwards packets) has a table of addresses and neighbors, and each packet to a given address is sent to the neighbor associated with it in the table. Home routers have a default neighbor to send stuff to, but once you get far enough in to the routing system, you find that routers talk to each other about who their neighbors are, and that's how it's done.
I'm just guessing here but a factor was probably just what each was doing. The monitors just needed to display text, so green was fine. Whereas TVs had to display images. Imagine if all those old shows were various shades of green instead of greys? Keep in mind though, this is a series about computers and their functions, not societies. They have other shows for such things.
Of course there are older networks that still runs on RIP, but it's an outdated way of networking and it's not being promoted anymore as far as I know. When I took Cisco courses it was only used as a simple way to get people to understand how those protocols worked.
Images that wouldn't be accessible as soon as the power goes out, plus you wouldn't gain anything because you still need to reach the DNS servers to know where your friend's computer is.
I liked how this dude explained things! Keep him doing videos! But, I must agree with others that this video skipped over a LOT of desired information. A video on EACH piece of the internet infrastructure (Ethernet, TCP, IP, HT-TP, and so on) would a very good idea.
I read somewhere that the average size of a packet of data on the internet is like 1kb. Isn't that like...ridiculously small when you consider the enormous amounts of data that have to be transmitted to view something like a youtube video? The overhead of all the headers appended to each packet must be a huge amount of data relatively speaking? Why aren't packets bigger on the internet now, wouldn't that make things WAY more efficient?
Please explain IP addresses. Why do they have dots in them? What does each section mean? Which nodes on the internet use them and what do they use them for?
So if I were to continue the analogy then it would be true that the whole world would be divided into 256 countries with 256 cities with 256 roads with 256 street numbers. My next question is who decides which 'country' my IP address belongs to and if I send data to the IP 123.456.789.012 how does a router know where the country 123 is?
You are wrong. Class B is 172.16.0.0/12 and Class C is 192.168.0.0/16 for private IP addresses. However Class A network is the range 1.0.0.0 - 126.255.255.255 (0 not used and 127 is special purpose [reaching local host,,, that's it]), Class B is 128.0.0.0 - 191.255.255.255, Class C is 192.0.0.0 - 223.255.255.255 and Class D is multicast from 224.0.0.0 - 239.255.255.255. Class E is experimental and starts from 240.0.0.0 till 255.255.255.255. Binary begins of those nets A=0, B=10, C=110, D=1110
there is about 10% overhead, if you ask me the design flaw is the server/client paragdime, because everybody is kinda fare away from the facebook/googles servers but close to their friends. so if all of our images were stored at small computers (with less hardware than a low end phone!), then we would have a more efficient (less hops) system that were also more private, where the government and marketing firms have a much harder time getting our data, because it is OURS and not the companies
And how many people would donate? I can assure you that the extra ad brings more money. And if you don't like it, skip the end of the video or the whole video.
It is important to learn these basic concepts first but this is not the channel to learn it from. If you search UA-cam you can find basically any novice concept that you want and a brief description of it's function. If you want to learn a bit faster, just use trusty Wikipedia!
No I know, it would have been a MUCH longer video had he gone into details about routers. I just think a quick mention of them would have been good instead of just a generic way of saying they magically make their way there. I'm sure they'll come out with a much longer video about that one day though :P
That entire process that took almost 7 minutes to explain takes place thousands of times a second on everyone's network. I love computers.
Hearing all of the steps that a packet has to take between your computer and the target server actually makes it all the more impressive how fast some websites are to load, especially the more content heavy ones
Seriously this is the best description of networking I've ever heard! Please keep making these!!!
This made me realize how incredibly hard it is to explain how "the internet" works to someone who knows nothing about the subject.
Note this is the TCP/IP model presented in this video.
The other model that describes the same thing is called OSI.
Very well explained, highly actionable info. It's been a while since I took the local community college's "Linux Network Administration" class; this was a nice reminder of how the stack works.
They're very smart. This kind of advertising actually works pretty well as opposed to tv ads or banners. By sponsoring podcasts and youtube shows they get pretty much exactly the audience they want and people who might actually be interested in the product. Besides, audiobooks are pretty great in my opinion
Yes, it can definitely be easier to understand with subtitles, especially with the funny langauge that we computer people use: router, ethernet, TCP. Usually UA-cam automatically generates subtitles. I don't see it for this video, but maybe that is because it's a new video and UA-cam hasn't finished generating the automatic subtitles yet. Cheers, mate!
That is the private address space reserved for a class C address. It supports 65,536 and are obviously publically routable.
There are also private address spaces for Class A (10.x.x.x) and Class B (172.16.x.x). You pick the one that fulfills the requirements of your network (typically the number of hosts you will have).
Google "RFC 1918" for more information.
I'm not brady but I can tell you that it's just a standard that the 192.168 range is used for private networks along with 10.0 and 172.16. you could change is on your network but you would brake access to any public services on the range you changed it to.
As someone with a very amateur understanding of networking, this was all completely clear, and I'm confident it would have been clear to most viewers if they really spent the time to think about what was being said, and didn't waste time thinking about things which weren't explained. Why? Those things didn't need to be explained. Why? They weren't part of the point.
This is excluding a few things (that are common knowledge anyways), like what "libraries" are/do.
I don't get how you think that would be a solution. The client server model exists because it's more efficient to store data in fewer locations, and then transmit it as needed than to store it in many locations.
Yes, centralizing things does mean that one point is more vulnerable, but it also has many advantages.
As a CCNA, listening to someone I don't work with explain internet packets is still ridiculously complicated. There's a lot that goes into getting a packet from computer on one network to another computer on another network. From the physical equipment, to the physical addresses, to IP addresses, to port address translation, to the protocol of the data, to the language it's written in, to how it's presented to the user. Each layer of the OSI model (which I just went through) deserves a video.
Okay, now lay it out in an easily understood and simple (as possible) manner, and we'll all love you forever and always.
Yes.
The DNS server replies to the client with the IP address that corresponds to that particular domain. If it cannot find a match, it will reference other DNS servers until a match is found.
Sometimes if you try to ping a domain name, the first packet will fail because the DNS server has not yet replied and the router has dropped the packet.
it's been a while since I learned the reason, but still remember the gist of it. it's because someone defined it as a local private net class "C-Type" (mask: 255.255.255.0) ; there is also B- and A- local network adresses, but the C-Type is the most used. (D, and E are used for other types of local are networks) lookup "private local ip network classes" for the full info.
For a video on just the stack this is complex, and it alienates people who don't know as much as we do. The TCP/IP and OSI model exists for a reason, for teaching noobs, I don't understand why the focus was on the details before the big picture.
The only issue I have is that this video went into detail on one of the layers of the stack and just briefly mentioned the others. You should make a video for each layer. Also, for anyone that wants to see more about routes you can open your Command Prompt and type in: "tracert URL" (without the quotes, where URL is the URL and this is windows only as far as I know) and it will show you the "hops".
The reason is due to the subnet mask.
When written in binary, the subnet mask for a 10.x.x.x address has 8 1s.
For 172.16 it has 12 1s. For 192.168 it has 16 1s.
It was an arbitrary choice, but obviously well informed.
So it's basically about a balance between lag (ping) and throughput (kbps). Small packets don't accumulate lag as much, but have overhead, and big packets accumulate lag more, but have less overhead.
The first 5 you mentioned are communication protocols and all you need to understand is that computers need them to send messages between each other. The URL is an address (like youtube.com) that replaces the IP (74.125.225.224) with something more readable. A MAC is basically a serial number, ISP is Internet Service Provider (i.e. AT&T, Comcast, SuddenLink), and DSL is a line that connects your home modem to your ISP for internet. Just definitions, really.
Conceptually, computers are all about layers of abstraction. When a person looks at the a layer all by itself, the picture isn't too complex. It's the adding up of the layers of abstraction where most of the complexity is. If the layer of abstraction is how transistors work, the bits of data (electrons) follow the rules of physics. If the layer is an API or library, the rules are a complex set of mathematical cascades (program instructions) that govern how the data moves around.
Ethernet switches work similarly to how you describe. A fresh new Ethernet switch will have an empty "address table". when it receives an Ethernet frame for the first time, it will broadcast that message out every port. It will also add the address and the interface it learned it on to the address table. This continues until every MAC address on the network is learned, and then it can directly forward packets out a specific port to the destination instead of broadcasting it.
Please explain IPv6 Origins, functionality, and how it does not requires subnets! Love these videos!
the overhead is usually about 10%,which is why your download speed is often 10% slower than what your ISP says, because you measure how much the file grows on your hardisk and your ISP mesures how much is sent to you :)
Haha, you put smile on my face with that last one. It's rare to see people actually responding peacefully. Most of the people on the UA-cam would flame your ass for correcting them.
The overhead is generally much less than 10%. For example, IP and TCP headers approx. 20 bytes each, with a 1500 byte MTU on Ethernet.
Advertised speeds and rated speeds differ for many reasons. The most common reason is contention, where nodes share bandwidth so it can fall at peak times. There is also packet loss due to things like interference, where packets don't arrive correctly and need to be re-transmitted, etc.
6:07
by what method is "closer to" determined?
It doesn't really know what router is "closer to" the destination on its own network, but it will keep sending it to the Default Gateway (your local router is likely the default gateway for your home network) until it reaches a router that knows how to handle it, like the TLD servers (Top Level Domain, such as .com and .net).
Ethernet is what handles communication from one computer to the next. That is it's job.
IP is what handles where the message is coming from and going to. Like an address on an envelope you're mailing.
TCP is a protocol for handling how those messages are treated by the sender and recipient. In the case of TCP one of it's biggest jobs is how to handle what handles when packets get lost, or arrive out of order, or whatever else.
That's all you need to know here, really. Hope it helped.
That's actually how an Ethernet network works if it's not on a switch. Ethernet is Carrier Sense Multiple Access / Collision Detection. They just wait for it to be quiet, then they just yell as loud as they can till they get hold of who they want to reach. If they step on top of anyone else transmission, they both just back off for a random amount of time and try again. It works quite well, actually.
Search wikipedia for "Dijkstra's algorithm" for information on how ideal routing (i.e. solving the shortest path problem from graph theory) would work. In the real internet the Tier 1 and Tier 2 ISPs tend to not implement any form of ideal routing though. They implement "hot-potato" routing which finds the shortest path out of their network that makes progress towards the destination.
Think about the header/footer stuff like the envelope on a letter. It needs to say where it's going, where it's coming from, etc. in order to actually get there. Same idea. All of it is required on some level.
As to how it's being shuffled around, that's actually good, because it makes the system into a giant redundant network. Imagine if the only path you sent packets along was the absolute most efficient path, what happens if that path gets cut off? This avoids that.
I also forgot to mention that TCP packets won't always take the same route or even arrive at the destination in the order they were sent, larger packets mean more work for the receiving end to put it back together.
I think we need a video on the evolution of the RPC and how it came to be (historical narrative).
dat feeling when you learned this in college
I hope computerphile finds its legs soon, you have to appreciate that this discipline is very hard to explain to the lay man.
Best video so far is 'compression' explained by Professor David Brailsford.
Packet loss is not the only reason. Another reason is that a packet must be transmitted fully between two servers before it can be transmitted further (to check its integrity). That means that big packets would have a lot more lag between EACH node of the net.
generally, routers make use of "routing tables" and IIRC some level of communication between them to help keep track of what is where (they tell each other about routes, ...).
if a loop did occur, then the TTL counter will run out eventually and the packets will be dropped. such an error is likely to be fixed, as it could potentially break internet access or cause networks to be flooded with junk traffic.
Wow, I was expecting some dumbed down oversimplified video. I was surprised by the depth and accuracy of the video. Very nice!
It would be awesome if you guys (Computerphile), could do a video on WiFi, or wireless connections, how the data/bits travel. I can probably google it, but when you guys make a video, I just come to a lot better understanding. I feel more people are in the same boat.
This was useful for me. Thanks, Brady.
I'd like it if people didn't want others to baby them. If you don't know, go look it up. A user level understanding of the internet and computers is basically all you need to understand this video.
True, it depends on what the scope of the video is. I had hoped that I would be able to understand the internet transmissions a bit more in detail after watching this, but I feel like there are still just as many holes in my knowledge as there were before. Anyways, it was just my personal feedback for Brady, so he might be able to find a good compromise in future videos
They can be. A kinked cable, a noisy connector, a bad ground (or a ground that is looped), a crane with electric motors outside doing its thing, an old TV, the world is full of noise and mishap. The idea is to optimize the size of the packets on the fly to fit the pathway noise as best it may.
Keep in mind that while there's many things adding overhead, each addition is small, and all of it is important.
Not in detail. You are supposed to understand that TCP is a protocol in networking, which is very obvious from the video. I don't think DSL was ever mentioned, though I could be wrong. Then ethernet, well, it was explained ethernet is the system at the core which handles transmission of data between one computer, and the next.
The actual information in a TCP/IP packet is not terribly important to remember, you can always look it up. What matters is that the data is given header and trailer information by the networking equipment relevant to the type of network protocol used along the segment of network that it travels. And this changes every time the data meets a router.
3:16 The term "hardware address" is somewhat misleading. While all network adapters (wired or wireless) come from the manufacturer with a suggested MAC address, the operating system is in no way obligated to use it. In fact, "hardware address" is always set by software (mostly to the hardware's suggested address), so spoofing it is quite easy, at least on Linux.
oh okay i think i get it now, you were taking his first to say "i was the first one to comment on this video" and responding to it with your own description of what you are doing/did?
Please explain subnet masks! I've tried learning it many times, but it never gets into my skull!
There is no way (as far as I know, I may be wrong). They just know where it should be sent next. The only one who knows the chain is over is the device just before the destination.
Of course, this means that sometimes packets get lost because they were sent through a wrong route or things like that. However, to avoid sending those lost packets indefinitely, they have a time to live. After some time, if they haven't reached the destination, they are discarded.
hey computerphile, yesterday the International Olympiad of Informatics have ended and I think it may be nice if you'll make a video about it
I pronounce route like "route", but whenever anyone says "routing"(as rare as that is) I've heard it pronounce "rowting". So it makes sense that we pronounce it "rowter", because the name comes from the verb.
That's true, but that proxy server would require computers to have different settings to be able to use it, also, you would have to maintain its security to not defeat your purpose, that means, even if you use linux, you need more than a default linux to achieve the maximum security.
Using random values would be a very bad idea. You could end up using addresses that are already in use on the Internet and thus lose access to those parts of the Internet (extremely likely with IPv4 now that all possible addresses have been assigned). This is why addresses are assigned for specific uses (by IANA); it guarantees that any value you pick in that range won't be the publicly-routed address of some other machine out on the Internet.
I've taken the course and learnt this bunch, so i get a perfect walk through on the subject. But for somebody who never heard MAC adress or knew about headers before, I have no clue how they would get anything from this video.
Maybe post it to universities as extra material?
Tables. Have an analogy:
I want to send a letter to Bob. I can't do that, so I send it off to a post office/put it in a mail box. Then they take it. Okay, Bob isn't in the same region, so they can't send it directly to them. Rather they send it up to a postal office that handles the entire area your region is in. They know what region Bob is in, so they send it to that office. That office knows where Bob is, so they send it to him.
10.0.0.0/8 came over from ARPANET
172.16.0.0/12 was a large block of available addresses at the time
192.168.0.0/16 because 192 was already reserved.
Not entirely sure on the 168 but these are much more round numbers when you read them in binary e.g. 192 = 1100 0000 so they are not as random as they may seem.
Brady I love Periodic Videos, Numberphile, Sixty Symbols, etc because the matter be it complicated or not is very well explained. But this video... I hardly understood half of it. It happens that I know what a protocol is but for those who don't, you just can't start spamming computer science slang without explaining the meaning of it. Keep up the good videos though !
Great video! One of your best yet, would love to see more like this :)
This is sooo cool! How many routers did it take you to pull this off?!?
It's one of the ranges of addresses that are set for private use, ie not over the internet. And is just a way to make your home network safe, as your router wont allow computers on the outside to get in to a 192.168. network.
I can answer the simple question:
The dots are there to simply separate each number, you could have chosen anything or nothing, the computer probably doesn't even store the dots,
Each number is from 000-255, or in hex: 00-ff, or in bits: 0000 0000 - 1111 1111.
Of course you can set the MAC address now with every network equipment, it's even needed for certain setups (e.g. partial virtualization).
The first part of the video is kind of irritating. I don't think I would have understood that if I didn't already knew what it was about. But the second half is really, really well explained!
Thanks. This is the kind of stuff i expected from this channel!
Thanks for the free book! I downloaded Outliers! Looking forward to listening!
A router will maintain a list of all addresses that it is connected to.
If I wanted to send you some information, each router between us will check the destination address against all the addresses it knows about and forward the packet to the correct router which continues this process.
If my router doesn't have your exact IP address, it can forward it to a "gateway of last resort". My router's job is done and it is the job of this gateway (which is just another router) to forward the packet.
This video actually inspired me to write a simulation of a computer network. This is almost definitely not how the real internet works, but I think it's interesting none the less. A computer will send a packet of information with a message, the address of the destination, and it's own address. It then broadcasts this message. Every computer listening will add it's own address, then broadcast it again until it eventually reaches the destination. Is this method used anywhere In real life?
The scary bit is, there are bits that are way too technical that he didn't go over, like how the router actually decides if it knows where the destination address is.
This is only scratching the surface.
"And how many people would donate?" In my experience very few.
I develop open source software and from some 450,000 downloads of one piece of software, I have written, I have had fewer than 10 donations all of which I am extremely grateful for.
Yes I could skip the end and probably will in future - the problem being it may not not be clear when Brady is advertising and when he is passing on information.
Anyway I am starting to go around in circles.
I am sorry if I come around arrogant, I was aiming for naive or optimistic
The client/server model defiantly have strengths, it can provide a 'trusted 3rd party' where authentication in p2p is very challenging
It can do number crushing for lightweight clients such as phones and tablets ect.
my point was that it would be awesome if some of the social applications were build on p2p technologies such that we had more control over our data, even if these technologies were less efficient
In a sense countries don't exist in IP routing.
But with that analogy, a router could be set to forward all packets destined for 90.x.x.x (f.e. America) out of one interface and all other packets not destined for 90.x.x.x (i.e. not America) out of another interface.
As a packet gets closer to the destination, each routers will progressively know the smaller details (individual subnets and addresses).
Btw, for an IP address the maximum allowed value for each octet is 255, not 789 etc :>
Obviously something does, or you'd see that happening more often. My assumption would be that the routing systems in place are designed to forward things as logically as possible to avoid this. As for efficiency, it's very efficient. What, do you want direct communication lines between every possible part of the system? or worse, have everything cramming through a central point? That would drastically limit the system.
Any chance you could also answer less technological questions and something more... Societal? I'm not complaining, far from it, but while watching the cool animations which are really well done, I w/pondered why Green and Black are synonymous with computing, obviously from the old monitors, but why weren't they Black and White like TV's were? Who chose Lime Green on Black? And why?
That's wrong. He's talking about protocols like RIP, OSPF or EIGRP and so on. What that means is that the fastest path between routers to the destination is being used. RIP for example used "hops" to determine how long the packet has to travel. There is 1 hop between each router, the path with the least hops is the one that gets used.
Though, nowadays no one really uses RIP, but you get the idea. Now it measured in link medium, bandwidth, hops, failure rates and so on.
Because the expansions of most of the acronyms aren't actually informative and are sometimes misleading. For example, the protocol I can't name these days mostly (by volume) transfers images and video, not hypertext. There are lots of protocols that control transfers that aren't TCP. All currently-available broadband connections are literally digital subscriber lines, but only one kind is called "DSL".
I wish you guys would do a video on parchive, those things are mind boggling to me
Brady, man. You are on fire today. Good work!
You're supposed to have a certain level of prior knowledge, but he did use terminology which should IMO be known to a common home computer user. Things like IP address, ethernet, wifi, router. You either seen it before or someone told you over the phone to turn it off and then back on.
Are you serious?
I'm pretty sure it was explained that a MAC address is an address uniquely identifying the ethernet card (in video) in the computer. It was explained that the ethernet card does the basic sending of a message from one computer to another. People are familiar with what an address is (98 Luxor Blvd., St. Marillo, etc. etc. etc.), so they should grasp the idea.
Headers? Most people would know them for use in papers, or documents. It's the same idea, so easy to transfer.
I agree, as the explanation of router hopping and packet assembly seemed both straightforward and accurate, however, viewers would need to have quite a bit of experience with networking to pick up on the concepts.
I agree with some of the comments here. Some of the videos are rather basic and easy for anyone to grasp. The sorting one was fantastic (I didn't quite understand the various sorting algorithms, but now I do, so kudos for that) but this one may be a bit over the heads of people here.
Perhaps having a levelling system? If a regular person could understand it, give it a rating of 1, if it takes a fair bit of knowledge, give it a 5. That way people can watch videos they'll be able to understand?
How does a router know where the country 123 is? Well, every Internet connected computer (a router is just a computer that forwards packets) has a table of addresses and neighbors, and each packet to a given address is sent to the neighbor associated with it in the table. Home routers have a default neighbor to send stuff to, but once you get far enough in to the routing system, you find that routers talk to each other about who their neighbors are, and that's how it's done.
I'm just guessing here but a factor was probably just what each was doing. The monitors just needed to display text, so green was fine. Whereas TVs had to display images. Imagine if all those old shows were various shades of green instead of greys?
Keep in mind though, this is a series about computers and their functions, not societies. They have other shows for such things.
A video version of Joel Spolskey's article on "leaky abstractions" could be good.
TRiG.
Of course there are older networks that still runs on RIP, but it's an outdated way of networking and it's not being promoted anymore as far as I know.
When I took Cisco courses it was only used as a simple way to get people to understand how those protocols worked.
Images that wouldn't be accessible as soon as the power goes out, plus you wouldn't gain anything because you still need to reach the DNS servers to know where your friend's computer is.
I liked how this dude explained things! Keep him doing videos! But, I must agree with others that this video skipped over a LOT of desired information. A video on EACH piece of the internet infrastructure (Ethernet, TCP, IP, HT-TP, and so on) would a very good idea.
I read somewhere that the average size of a packet of data on the internet is like 1kb. Isn't that like...ridiculously small when you consider the enormous amounts of data that have to be transmitted to view something like a youtube video? The overhead of all the headers appended to each packet must be a huge amount of data relatively speaking? Why aren't packets bigger on the internet now, wouldn't that make things WAY more efficient?
not so bad- the main data payload in an ethernet frame will be ~1400 bytes, compared to ~50-60 bytes of the Ethernet/IP/TCP headers.
Please explain IP addresses. Why do they have dots in them? What does each section mean? Which nodes on the internet use them and what do they use them for?
So if I were to continue the analogy then it would be true that the whole world would be divided into 256 countries with 256 cities with 256 roads with 256 street numbers. My next question is who decides which 'country' my IP address belongs to and if I send data to the IP 123.456.789.012 how does a router know where the country 123 is?
You are wrong. Class B is 172.16.0.0/12 and Class C is 192.168.0.0/16 for private IP addresses.
However Class A network is the range 1.0.0.0 - 126.255.255.255 (0 not used and 127 is special purpose [reaching local host,,, that's it]), Class B is 128.0.0.0 - 191.255.255.255, Class C is 192.0.0.0 - 223.255.255.255 and Class D is multicast from 224.0.0.0 - 239.255.255.255. Class E is experimental and starts from 240.0.0.0 till 255.255.255.255. Binary begins of those nets A=0, B=10, C=110, D=1110
there is about 10% overhead, if you ask me the design flaw is the server/client paragdime, because everybody is kinda fare away from the facebook/googles servers but close to their friends.
so if all of our images were stored at small computers (with less hardware than a low end phone!),
then we would have a more efficient (less hops) system that were also more private, where the government and marketing firms have a much harder time getting our data, because it is OURS and not the companies
And how many people would donate? I can assure you that the extra ad brings more money. And if you don't like it, skip the end of the video or the whole video.
It is important to learn these basic concepts first but this is not the channel to learn it from. If you search UA-cam you can find basically any novice concept that you want and a brief description of it's function. If you want to learn a bit faster, just use trusty Wikipedia!
Are packets *actually* lost often enough in the real world that it would have a slowing effect if the size were increased?
No I know, it would have been a MUCH longer video had he gone into details about routers. I just think a quick mention of them would have been good instead of just a generic way of saying they magically make their way there. I'm sure they'll come out with a much longer video about that one day though :P