- About This Essay
- The Internet Is Conversations
- High-Speed Conversations
- Sidebar: What Happens When You Make A Web Request
- Cellular Internet
- WiFi
- Conclusion
Note 1: This was written for my mom at a time when she was transitioning from a house with point-to-point wireless internet to a house that had cellular and cable options. “You” is my mom, in that context.
Note 2: For those of you who remember that joke: yes, the internet is a series of tubes. This was always an excellent analogy; the problem wasn’t with the analogy, the problem was that clearly some staffer had attempted to explain the issues to him using it, and it is almost always the case that explaining things by analogy only works if you yourself understand the ground reality that analogy is based on. He sounded like an idiot because he was parroting, not because the analogy is flawed.
About This Essay
I am going to attempt to explain the various ways modern devices connect to the internet, and what that means and how it can fail and so on, purely by analogy. I am going to speak in that analogy throughout, but in square brackets will mark the real-world thing the analogy element matches up with. I will attempt to do that throughout. So for example: “The Internet is just a highly efficient way for people [computers] to talk to each other [send data]”.
The Internet Is Conversations
Internet is just a highly efficient way for people [computers] to talk to each other [send data].
It is a rapid way of passing messages back and forth. All of these messages are words/sentences [binary data]. You can use words to exactly describe a picture (or a video) if you are very very precise, like “place a red dot exactly 1mm in diameter, then move over 0.5mm to the right and place a yellow dot 1.2mm in diameter”, that sort of thing. You’ll note that a message with a picture in it is thus going to be very long, and if you’re going to pass a lot of pictures around (let alone video) you’re going to want a system that sends long messages very quickly.
To make this work well, the internet has a whole system of ways of talking [data protocols], similar to CB radio formalisms where people end the conversation with “over” to say that they’re done. These systems are highly complex and specific, and it requires people [computers] with specialized training [software] to have these conversations properly. They are so formalized that a person [computer] who can’t speak in exactly the right way [has the wrong software] simply can’t be a part of the internet at all.
High-Speed Conversations
Now, there’s nothing special about talking, but the internet is a system for moving those conversations around very very quickly and efficiently. This is done by sticking the messages in pneumatic tubes [wires or fiber optic cable; I’ll just say “wires” from here on out].
By historical convention, all messages on the internet are in Korean [the analogy breaks slightly here, but this approximately matches Ethernet as a protocol, and also is irrelevant unless you’re super technical; the point is only that translation between different systems is required; Korean was chosen for middle of the road information density per syllable ].
When you need to send a message to the internet [do something on your home computer that involves the internet/web], you [your computer] give your message to the internet specialist in your house [your cable/DSL modem] who translates the message [data] into Korean, puts it into the pneumatic container [packet], puts an address on the outside [packet headers], and drops it in into the tube [wire] in your house and suction [uh physics? :D] takes it to your Internet Service Provider (ISP) [this is actually the same on both sides of the analogy :D].
[The thing that takes messages from your computer and puts them on the wire is typically a cable modem or a DSL modem; the details of what that means do not matter. Sometimes your cable modem or DSL modem also provides WiFi, which we’ll talk about later. This is often called “your router”, colloquially, which is almost entirely incorrect.]
Receipt of messages works the same in reverse; your internet specialist [home computer] pulls the message out of the tube [wire], translates it, and reads it to you.
If you’re receiving a picture, this will take several messages and the internet specialist will have to draw out the picture for you. This takes time and effort, and historically only the most expensive internet specialists [home computers] could do this quickly, but standards have gone up and only the very worst internet specialists have any trouble with this anymore. To do it, though, the whole picture description has to have arrived, which takes multiple messages, which makes the speed with which the tube transmits your messages very important; more on that shortly.
At the other end of the message, as previously mentioned, is your Internet Service Provider (ISP). When the message comes in to your ISP, someone who works at your ISP [a computer at your ISP] inspects the address on the message [packet] and decides which tube [wire] it has to go down next. Your ISP might have only a few tubes [connections] to other ISPs, or it might have hundreds. This happens over and over again, until the message reaches its destination.
The people [computers] at ISPs need to be very fast at deciding where messages go, as they might get thousands every hour [millions per second]. Such people [computers] can be extremely expensive, especially for very large ISPs.
How fast your messages get where they’re going is a function of how much suction is applied inside the magnetic tube [bandwidth]. This is a function of both the quality of the tube itself [type of wire / quality of wire], because more expensive tubes and containers can handle messages travelling faster without getting caught on rough edges in the tube or whatever [quality of wire] and the actual machines placed along the wire to provide additional suction as the message travels [various relay stations along the wire].
The expense of the internet infrastructure scales quite a bit with both tube quality and quality/power of the suction machines. The important point here, though, is that the total transit time of the message is mostly a function of the slowest link in the tube chain. This is why if your local internet service is low suction / slow, it doesn’t matter how good your computer or modem in your house are; as soon as the message goes into the tube, it can only go as fast as the tube can carry it. Your message might be going from San Francisco to New York, but if it takes 5 minutes [~20ms, thousands of a second] to get to Chicago, spends 20 minutes [~500ms, half a second] in Chicago because there’s a problem with the tube system there, and then 5 more minutes [~20ms] to get to New York, the total transit time was entirely dominated by the problem in Chicago. Similarly, if you have the very very fastest home internet and your message takes half a second [~1ms] to get to your ISP’s tube that runs down your street to your ISP, but that tube is super slow and it takes 10 minutes [~100ms] just to make it to your ISP’s main network, your awesome home internet system has accomplished nothing.
This is why the quality of your internet connection varies so much by where you are: it’s a function of the infrastructure under the streets, not of how much you’re willing to spend yourself. This also leads to the perverse outcome that internet quality in the downtown core of many cities tends to suck: it is extremely expensive to rip up a street in a busy city for a couple of weeks so you can install new tubes [wires], if anyone will let you do it at all.
OK, the paragraph you’re reading now mostly doesn’t matter for normal understanding internet purposes, but is important background for why you can’t just make the internet faster by making the pipes bigger. If you’re not interested in the details, you can just take my word for it: making the tubes [wires] bigger [larger MTU/packet size] to make your internet faster doesn’t work. The actual explanation: One reason is that making the message container larger only helps for large messages, and many messages sent over the internet are very small (see the sidebar about a web interaction below). The other reason is that tubes [wires] are mostly all the same size [MTU / data packet size], although some of the most highly advanced and expensive sections have wider tubes [higher MTUs]. The tube size [MTU] is an important part of the standards that govern the internet; if you don’t have the same size of tube as everybody else, your message container [data packet] can’t be transmitted just by sending it down the next tube. Let’s say your larger tube can fit containers that can hold messages 5 times as long as everyone else; to reach the rest of the internet, such a message will have to be unpacked and rewritten across 5 containers. This is time consuming, and the people [computers] that can do it quickly are even more expensive than normal message handlers. Even worse, the larger the pipe, the more expensive the equipment in each individual house to catch the messages has to be [this corresponds to the cost of both the modem and the ethernet card in your computer; having home equipment that can handle the MTUs that large ISPs use might make them on the order of 5x more expensive]. This is sometimes worth it for large ISPs where the cost of having more and faster tubes has become prohibitive, but that is never true for home users.
Sidebar: What Happens When You Make A Web Request
This isn’t super necessary for understanding the overall picture, but it’s interesting and demonstrative of how this all works together.
As a for-example, let’s say that you’re given the URL (full internet address) of this essay, which is https://robinleepowell.name/computing/general/the_internet.html
. You give that to your internet specialist [computer and router] in your house [type it into your browser]. What happens at that point is it’s broken into parts. We can ignore the https://
part for purposes of this discussion. robinleepowell.name
is the name of the person [computer] the message is going to, so your internet specialist looks up that name to find its address in the tube system, and writes that on the outside of the message tube. The inside of the message tube contains the message “send me /computing/general/the_internet.html
”, translated to Korean. This is a tiny message; many important messages on the internet are tiny like this, which is why the only way to make the internet faster is to make the messages go faster.
This is routed through the tube network in the usual way. The recipient then makes a fresh message tube with your address on it, and inside the contents of the page. This probably is too large for one message, so they send several, marked “1 of 4” or whatever.
When it gets to your house, your internet specialist unpacks the messages, translates them to your language, and sticks them together so they’re all one document for you to read.
Cellular Internet
This is all well and good if you don’t mind being right next to a tube every time you want to do anything internet-y, but people actually don’t want that. Cellular internet is one way to get past that. The analogy gets a bit strained here in that no-one would actually put up with what I’m describing, but if you ignore that part it fits the situation pretty well.
Imagine that you have an internet specialist you take with you, who has learned the speech patterns and processes for 4G cellular internet. By long convention, 4G conversations are in French. When you want something off the internet when you’re wandering around town, you ask your 4G specialist to get it for you. They shout in French VERY LOUDLY [send a signal via radio waves from your cell phone], and another internet specialist on a tall tower [your phone company’s cell tower] hears it and processes it as usual, eventually shouting the answer back, which your 4G specialist handles and translates to give to you.
This can go wrong in any number of ways (for example, it’s hard to hear people shouting in a heavy rain storm), but it mostly works. The faster they talk, the more likely misunderstanding is to occur, but the processes [4G protocol] include checks for whether they heard each other correctly, so while problems hearing each other might slow them down, it usually doesn’t prevent communication.
Generally speaking, cellular internet is substantially more expensive. This is partly for historical reasons, and partly because once you’ve put in a tube you’re kind of done, but for cellular internet you have to have towers everywhere with people [computers] on them doing all that shouting, which has significant maintenance costs.
There are processes that are slower but less likely to be misunderstood if it’s raining or there’s a wall in the way or whatever, and processes that are faster but hence more susceptible to problems. In particular, 5G is a new standard [which your phone doesn’t support] that is shouted in German rather than French, and because German is a more informationally dense language, it can go faster, but it is also more sensitive to problems with hearing the shouting.
WiFi
The same problem with “I don’t want to stand by a tube all the time” applies at home as well. WiFi is the solution. It works in approximately the same way as cellular internet, but it’s much faster and works at much shorter ranges.
For our analogy, imagine that you have a WiFi internet specialist following you around your house [your WiFi transmitter in your computer], and another one standing by your pneumatic tube [your wireless access point, frequently referred to as your router, which continues to be technically incorrect]. WiFi conversations are in Mandarin, which is very informationally dense, so more can get said in a shorter amount of time, but because of that mis-hearing a word can butcher the whole sentence badly, so your WiFi internet specialists have to be close enough to hear each other reliably, typically only a couple of rooms apart.
Besides the WiFi specialist that follows you around, it is possible to have a single internet specialist that speaks both Mandarin and Korean [both WiFi and wired internet] and handles both responding to your mobile WiFi specialist and also putting messages in the tube. This used to be expensive but is now how most homes are configured [and again, the device in question is what you call your router].
If you have a relatively expensive mobile (i.e. 4G or 5G) internet specialist, they can translate between French/German and Mandarin. This can allow you to bypass wired internet in your home entirely; your 4G specialist shouts French at the towers and also speaks Mandarin [WiFi] to your computer. As long as everything in your house speaks WiFi, this works fine. The problem is that it’s extremely tiring for your mobile 4G specialist, and they typically can only do it for short periods of time, whereas if the person sitting by your tube also speaks Mandarin, they’re sitting down and can rest and eat [be plugged in to power] while they work.
Also, nothing about having a 4G specialist that also speaks WiFi solves the problem that cellular shouting tends to be slower and more expensive and sensitive to problems with the weather and so on.
Conclusion
The following:
- the wired internet (which is how the vast majority of all of the internet shares data)
- cellular connections to the wired internet
- WiFi connections to the wired internet
- WiFi connections to the cellular network that then connect to the wired internet
are all distinct things. Whichever parts of them you happen to be relying on at a given moment, they all have to be working well for your internet connection to be working well.
This is why you can have 5 bars of WiFi on your computer, but actually your computer’s internet connection is broken or barely functional: because the bars measure the quality of the WiFi connection (shouted Mandarin inside your house in our analogy) and not the quality of the wired internet that your WiFi connects you to (the tube system in our analogy).
They are all separate, but all related in defining the actual experience you have in your internet use.