By this I mean could I follow the Ethernet cable through thousands of miles of fiber optics and eventually get to Amazon's server, ESPN's server, and every other site's server? Thus, excluding the cases of satellite usage, is the Internet just one giant web of fiber optic cables?
The Internet is a system of interconnected smaller networks that can reach each other through routing. You could essentially "follow the path" to any server you're directed to, but there are basically endless paths to any destination. If you were to start from your Ethernet connection, you would first hit your home router, then hit your ISP's routers. The ISP routers have HUGE routing tables that know how to direct you to the destination you're trying to get to, and will direct your traffic accordingly. This is why in many diagrams you see of the Internet, there is a big cloud. The cloud means that there is no definite path that it will travel each time, but in one way or another your traffic will be routed through the Internet until you hit your destination.
Essentially, you are not directly connected to every domain on the Internet. It is simply the routers that are able to direct your traffic you generate to the correct destination.
With the metaphor type of idea you used, you could say the same thing about your mailbox at home. You obviously aren't directly connected to everyone's mailbox. However, if you put something in the mail (you could think of this as your home router) it will then end up in the postman's hand, who brings it to the post office (you could think of this as your ISP). Once it hits the post office, it's sorted and sent on its way to the next destination (you could think of this as a router). Your mail will then be sent to another larger post office (you could think of this as yet another router) that is closer to the mail's destination. It will be sorted and keep getting passed to other postal services (more routers) until it gets to a local post office near its destination. A different postman will then deliver your mail to the correct address you sent it to.
The Internet is a complex world, but hopefully this helped you have a brief understanding of basics :).
For more of a visual:
- a map of the Internet. It probably isn't 100% accurate but you can see how everyone is connected and how there is a plethora of paths you could take.
- a map of fiber optics
- an interactive map of fiber optics, showing the lines that are under the ocean which connect all of us together. These fiber optic lines are packed with a ton of fiber connections, at very very high speeds.
This is a good example of when superuser tries too hard -_-;
The answer is simply yes. Yes, you could follow cables from your computer all the way to the ESPN server, following the same path as a HTTP GET packet would take. You would probably have to go underwater at some point depending on your location, and almost certainly have to break in to a high-security hosting center only to leave again, but yes - because your web traffic is very unlikely to take any wireless routes (like satellites, long-range IR or wifi) you could do a “ghetto traceroute” of sorts.
How unlikely are wireless routes? Well it depends on where you live - some countries (like Korea) modernized extremely rapidly after WWII and many people needed an internet connection faster than cable companies could dig up the roads. Even though most of Korea is now on fibre, satellite companies still do good business. In other locations, the terrain makes it economically unfeasible to lay wire, so you see satellites and line-of-sight wireless bridges more often than copper. Island continents of Asia and very remote farms in Australia generally use line-of-sight WiMAX connections, whilst mountainous countries like Kazakhstan have some of the highest-throughput satellites of anywhere in the world.
However, as you can probably imagine, these wireless bridges are only ever used in the last leg of the connection from server to client. Wireless connections are never used on the core internet backbone as they suffer from serious latency (over a second for many geo-synchronous orbit satellites), are significantly slower than fiber, and their reliability depends on surrounding wireless interference, as well as the weather (commonly known as “rain fade”). For all these reasons, if you have a wireless connection to the internet, you would certainly know about it.
A small qualifier to all this however is that very few electrical devices are ever in 'direct contact' with each other. A lot of power modulation is done using electromagnetic induction (https://www.youtube.com/watch?v=hajIIGHPeuU), and there’s obviously optic which blurs the definition of “physically connected” depending on whether you believe a photon is a particle or a wave :P
If you were to redefine the question as "if every computer on the internet suddenly went silent, and i sent 50,000 Giggawatts down my internet cable - assuming nothing could fuse out, would a signal be detectable on an ESPN server?" To which the answer would be no, because routing information is required and data has to be processed, repackaged, and sent down physically different circuits via induction with a fresh source of energy required to do so. Simply sending energy down your wire wouldn't be enough.
It is 2015 AD, and the whole globe has been wired up. The whole globe? No, one small village ...
But seriously: Internet technology fundamentally relies on the principle that the Internet is not a single physical network and that Internet networking can operate on pretty much any conceivable type of physical network. That underlying network doesn't need to use cables, it may use radio communication or satellite communication (these are used in practice) or even a carrier pigeon service (if you really insist).
So you don't need a physical cable to be connected to the Internet, and many places with internet connections, such as remote islands, ships and space stations, are not in fact attached with cables.
And of course there are plenty of mobile devices and WiFi-connected computers these days.
excluding the cases of satellite usage, is the Internet just one giant web of fiber optic cables
Well, there are other non-wired connections than satellite. Line-of-sight terrestrial microwave links are the one that actually gives pretty good bandwidth, and there's local radio comms (cellular or otherwise). There are other wired connections than fibre optic (principally copper, as in your ethernet cable. Cut an old one open some time).
With a suitable definition of "bit of string" to mean any kind of wired data connection, there's a reasonable chance that you could follow a bit of string from your PC to a box (your home router), and then another piece of string from that box to another box (likely a cabinet in your street), then another piece of string from that box etc, and eventually reach Amazon's data centre where they're serving their website to you. What happens inside each box is kind of complicated of course, and involves integrated circuits as well as wires big enough to actually see, but you'd probably think of it as a tangible physical connection.
Of course, it's a bit of a tautology that excluding the cases of wireless connections, the Internet is one giant web of wired connections. This follows from the fact that the Internet is a giant web of connections[*]. So the yes/no answer to your question depends how literally you want the words "fibre optic" and "satellite" taken. A relatively small proportion of websites are connected to backbone services by anything other than wires, and the backbones themselves are wired (I'd guess there are a few special exceptions), because nothing other than a thick bundle of fibre has the bandwidth to handle a signification chunk of a large country's internet traffic.
So if you're in a town or city, and the server is in a data centre somewhere, chances are high that there's an all-wire route from you to them. Of course not all servers are in data centres. There's nothing to stop me running a web server off my home WiFi if I feel like it (in fact I have in the past, for testing purposes). Of course I wouldn't be able to handle 0.01% of Amazon's audience that way.
Then again, if I'm at my employer's office then the answer is "no" to following cables anywhere outside the building because we have a microwave connection on the roof rather than using any of the available wired ISPs. This isn't in the boondocks or anything, it's central London. It just happens to be the best option available for slightly tedious reasons.
[*] Special case -- if one big chunk is temporarily severed from the rest, which does occasionally happen for one reason or another, then there might be some confusion as to what is "the internet". Some definitions would say the larger piece is the internet, and the smaller piece is something else. People within the smaller piece talking to each other might reasonably think they're still using "the internet", though.
There are a whole lot of different paths from point A to point B for any given A and B, though of course some paths are faster than others. When you (at point A) tell your computer to communicate with a server at point B, your computer forwards the request on to the nearest router, which has some idea of the shape of the net around it, and determines what the best route is and passes it along to the next router, and so on.
There will be somehow a link.
You may find a couple of cross roads or roundabouts (routers), but if you follow the right path you will get to Amazon or to wherever you want to get. You may hit some red signs (firewall blocks) but the cable link (coper, fiber) or radio link (wi-fi; wi-max; whatever) will keep on until the destiny.
An important distinction: your Ethernet cable lets you talk to any public host on the Internet, but it doesn't let you speak ""Ethernet"" to them. You have a small network in your house, that connects to the ISP's network, they connect to 'peer' networks, and so on. Internetworking.
This distinction is pedantic but important for a couple of reasons. At the time of the Internet's invention, there were networking technologies that required every system to be physically connected to each other and controlled by the same administrator. Some of the older Ethernet technlogies (10BASE5,10BASE2) required every computer to be on the same single physical cable! Well, actually a series of coaxial cables electrically connected by T-pieces. If one of them fell off the entire network stopped working.
Pre-digital phone systems also established a single electrical connection between handsets (with an amplifier in the middle for long distance).
The distinction is also important because of broadcasts: various things on your LAN will emit "I'm here!" packets sent to the broadcast address. This goes to every computer on your network - but not every computer on the internet!
Not directly, no, but you are connected in a sense.
The big thing to realize is that the Internet isn't just one protocol. It's a series of protocols, each of which performs a specific task. They combine into a thing called a stack which, between the various protocols inside it, gets data where it needs to go.
For the most part, the folks who developed the protocols that make up the Internet organized things into four layers. There is a competing model that uses seven layers, but we'll stick with the four-layer model for now.
The lowest of these is the data link layer, which handles the task of getting a signal between two machines that are directly connected. When you plug an Ethernet cable into your computer and your router, you are connecting them in this layer. The Wi-Fi family of protocols also live in the data link layer. So does PPP, which is used for modems and cell phones. There are others as well, for infrared and laser links, for satellite and microwave stations, and even for carrier pigeons. That last one was made as an April Fool's joke; no one is expected to use it under ordinary circumstances, but it has been done, just to prove that the concept works. Networking people are weird.
Next up is the Internet layer, which moves a signal between computers that aren't directly connected, using a chain of computers that are directly connected. IP (which is where your IP address comes from) lives here, as do a few other protocols related to network management. It's broken out into its own protocol so that the different machines in the chain don't have to care about how the whole thing is connected: each one only has to care about the machine it gets the signal from (unless it's the first link in the chain), and the machine it forwards the signal to (unless it's the last link in the chain).
After this is the transport layer, which organizes a signal into meaningful data. It's broken out into its own protocol so that the two machines don't have to care how the signal gets between them. Once you're dealing with the transport layer, it feels like the machines are directly connected, because the stuff in the Internet layer handles all of that mess. But IP is doing a lot of work underneath.
Last is the application layer, which interprets data according to the application's needs. HTTP, the protocol that Web browsers use to send pages and media back and forth, lives here. So do FTP, IRC, and many others. Application-layer protocols don't have to care about any of the details of getting the data back and forth: you send and receive from some transport-layer protocol, but you don't have to handle any of the rest.
The end result of this is that the Internet is not just a giant web of fiber-optic cables. It's a whole lot messier than that. Even if we said it was a web of computers connected by cables, that would still be oversimplifying things. You'll probably never send data through a carrier-pigeon link, but many of your signals will go through copper, fiber, satellite, and other kinds of links on the way to the destination. But because of the way the stack is organized, you never have to know or care about any of that.
I'm going to take a simpler approach and just say "no." There are not wires/fiber directly connecting your computer to all the servers on the Internet. Maybe you have a router in the house? I think it is more accurate to call the connection through that router "indirect" than direct. After all, it is electronically switched. So connections between machines are mainly made when one machine requests the IP address of another machine. Then transistors are switched to close (meaning connect) part of that connection. This process goes through a cascade of routers outside your house, all standing in the way of your connection. Without the cooperation of those routers and related devices, there is no electrical (or fiber optic) connection between your computer and the ones out on the Internet.
The question may arise because of how TCP/IP networks work. Every computer on a loop of TCP/IP sees every packet from every other computer in the same branch. A branch is a set of addresses on the same circuit behind a router. Routers know the addresses they serve and only let in packets addressed to their set of addresses. Routers can also prevent packets from leaving the branch if the destination address is also in the same branch as the source address.
So, in a simple TCP/IP network every computer sees every packet that moves on the local network. But the whole point of the Internet was to chop the world into manageable local networks that can interact with each other when necessary. The routers (and dynamic address servers) allow the net to work by only sharing what needs to be shared between branches (local networks). Otherwise the sheer volume of traffic would overwhelm every computer.
A branch attached to a router may be any medium (copper, fibre, radio). So, yes every computer on the net is attached to every other computer, but the system of routers limits the traffic that your computer interacts with to only those on the branch you are part of.
In several senses it is not connected directly. First, your computer has to talk to your gateway (most likely your home router), then the traffic goes through your ISP, then possibly through one or more levels of load balancers and NATs:
$ traceroute example.com traceroute to example.com (22.214.171.124), 30 hops max, 60 byte packets 1 gateway (192.168.1.1) 3.070 ms 4.307 ms 4.263 ms 2 * * * 3 * * * [snipped some entries from my ISP] 8 126.96.36.199 (188.8.131.52) 9.465 ms 9.429 ms 8.786 ms 9 ae-6.r22.londen03.uk.bb.gin.ntt.net (184.108.40.206) 23.813 ms ae-7.r23.londen03.uk.bb.gin.ntt.net (220.127.116.11) 23.976 ms 21.417 ms 10 ae-5.r24.nycmny01.us.bb.gin.ntt.net (18.104.22.168) 87.500 ms ae-0.r22.londen03.uk.bb.gin.ntt.net (22.214.171.124) 47.845 ms 46.741 ms 11 ae-5.r24.nycmny01.us.bb.gin.ntt.net (126.96.36.199) 89.635 ms ae-13.r05.nycmny01.us.bb.gin.ntt.net (188.8.131.52) 84.415 ms ae-5.r24.nycmny01.us.bb.gin.ntt.net (184.108.40.206) 88.222 ms 12 ae-0.edgecast.nycmny01.us.bb.gin.ntt.net (220.127.116.11) 91.944 ms ae-13.r05.nycmny01.us.bb.gin.ntt.net (18.104.22.168) 75.052 ms ae-0.edgecast.nycmny01.us.bb.gin.ntt.net (22.214.171.124) 80.620 ms 13 ae-0.edgecast.nycmny01.us.bb.gin.ntt.net (126.96.36.199) 87.154 ms 188.8.131.52 (184.108.40.206) 75.963 ms ae-0.edgecast.nycmny01.us.bb.gin.ntt.net (220.127.116.11) 76.340 ms
Second, the signals can travel using basically any reliable medium, and will very likely change medium more than once during the trip from your home to a major server.
Third, basically every service you’re likely to use has to keep a list of the machines it’s connected to is ICMP (aka. “ping”). For common internet services a logical connection has to be established with some sort of handshake, where the client and server determine the connection parameters based on the capabilities of both of them (for example when encrypting traffic to a website).