Some of you may already know most of this information. But it is useful, because it is really a big part of the Problem. And I've simplified it a bit for any non-techies that might be reading this. (If you are a computer 'purist', you'll probably roll your eyes about some of my explanations.) But it is important to understand, so I urge everyone to read this post. I should tell you before I start, though, that I'm still working on the mail servers. I've made good progress, and will have more details in a later post.
The Internet is, even now after the Problem, a continual shifting mass of data going in all directions. (Of course, there's not as much data floating around the Net now as there used to be.) If you could get a birds-eye view of the Internet, it would look like lots of anthills interconnected with lines of ants traveling in both directions. Each ant is carrying a piece of data, and each ant only knows how to get to the next anthill.
Somewhere in an anthill, there is a server. It's basically a computer. It can be very powerful, taking up a large bookshelf-size cabinet or even many computers hooked together in large data centers, or something as humble as an old Intel 286 computer running Linux. Connected to the server is a bunch of computers, or workstations. When a workstation wants to send data somewhere, like an email message or a spreadsheet, it organizes that data into a group of packets. Then it addresses the data, using a protocol (or rule) called TCP/IP.
The TCP part is the Transmission Control Protocol. Its' job is to take your email message or spreadsheet and break it into small hunks of data called packets. Each packet is placed in a kind of envelope to hold it, and the envelope contains the sender's address and the destination address. The address is made up of four series of numbers, each series being a number between 0 and 256. (Some numbers aren't used, or they have special purposes.) So the TCP part of your computer takes your email message, breaks it into small, manageable hunks, addresses each hunk, and sends it to the server.
The server's job is to look at each data hunk, or packet, and send it on its' way. Without getting too technical, that 'sending' stuff is done by a router. The router receives a packet of data, checks to make sure that it was completely received, and then looks at the packet address to determine where to send it --- along to another router down the 'anthill road'. So the router is sort of like a traffic cop at each anthill. The ant shows the packet's envelope to the traffic cop, and the cop tells the ant which ant trail to take. So off the ant goes with it's little envelope containing a packet of data.
All the data is split up this way. An email message you send is split up into lots of packets, each one with the sender's and destination addresses. Each traffic cop has a reference list of where the next router is, and sends the ant and his data packet on its way. The traffic cops are the 'IP" part of TCP/IP, the Internet Protocol, or rules of how data is sent onto the next segment of the trip.
But there are many different paths that can be taken by the ant. Not all packets go the same way, and two packets to the same destination might take different routes. Maybe one path is too busy, or stuck, so the traffic cop sends a packet on an alternate path. But all the packets travel from router to router, eventually ending up at the destination. The routers understand IP, and use the information on the data envelope to determine which router along the path gets the packet of data.
At the destination, the IP hands all the data packets to the TCP guy. He gathers all the packets together, assembles them in the right order, and your email arrives.
The whole process is like throwing a 1000 piece puzzle into a crowd of people in San Francisco, and each person takes one piece of the puzzle. Each puzzle has the destination address on it, say someplace in Houston, Texas. Each person then travels to Houston, some taking the plane, some taking the car, some bicycling, some riding the train, etc. Eventually, they all end up at the destination in Houston, where they each give their piece to the TCP 'doorman'. Some data gets there faster than other packets, so the doorman keeps grabbing the pieces/packets of your email message as they arrive.
The doorman keeps track of all the pieces he received, to make sure they have all arrived. When all the packet pieces have arrived, the doorman assembles the puzzle. You get the puzzle, which could be your email message, and all the pieces are properly put together, so you can read the email message.
The actual process is a bit more complex than that, but that's the overall plan and procedure. Data - your email message, a document, a spreadsheet, whatever -- is broken up into packets, packets are sent through routers to the destination, and the packets are reassembled into the email message.
The data passes through lots of routers on its' way. And I, or anyone else with the proper tools, can intercept data packets and inspect them. I can look at a packet, and tell you where it came from, where it's going, and look at the actual data in the packet. Sometimes that data is readable, sometimes not. But my inspection tools (called sniffers, cause they sniff out data packets) can trap copies of the packets, and assemble them into recognizable data. I can catch your email message, read it, and send it on it's way without you even knowing it. There's only a very short delay while I grab your email message.
That last paragraph is important. The router is a data transfer point. It can be anywhere. And it handles all data going through it. One router by itself can't cause a Problem. But a bunch of them can. And that can be a big Problem.