Connecting Multiple Local Machines

So, we know how to connect two computers either directly (using a short wire) or indirectly, but over arbitrary distances (using a modem). What happens when we have more than two computers?

The obvious answer would be to use lots of wires, but that would be a very expensive, and probably quite untidy solution: if you wanted to connect 10 computers you would need 45 wires!

The less obvious answer would be to join them all to the same, single wire. This is the principle behind ethernet. It's a little like a group of people talking to each other in a bar - someone shouts a name to get the attention of the person they want to talk to, then they talk. In the computer case, each machine is given a unique name (called a MAC address), then when computer A wants to send something to computer B, A just transmits B's MAC address followed by the information it wanted to send.

Now, you might have noticed a problem with this - bars tend to get very noisy with everyone talking at once. How do the computers cope?

In short, they are polite. If a computer wants to send some information, but another computer is already talking, it will wait until the conversation stops before sending its own information. Very polite, very simple, and it works surprisingly well. Its only real limitation is that the wire has to be relatively short (you can't shout loud enough to be heard by someone a long way away and neither can a computer).