In the early days of Ethernet networking thick (10Base5) and thin (10Base2) net cable was used to connect computers together on a network and the cable was called “the backbone” because it connected all of the other equipment together on a network. Both thick and thin net cable shared a common problem: because of the way the signal was sent from computer to computer the minimum distance for the cable was 8.2 feet. Connecting two computers that were sitting next to each other on a thick or thin network required 8.2 feet of cable! There had to be a better way to build a network.
10BaseT (the “T” stands for “Twisted Pair”) Ethernet was introduced to solve some of the problems with thick and thin networks. With twisted pair there is no minimum distance between computers on the network, and computers were initially connected together using hubs.
A hub is really nothing more than a signal amplifier. One computer connected to the hub transmits data and the hub amplifies the signal and sends it out to all the other computers connected to the hub. The big disadvantage to a hub is that while one network device (called a node) is transmitting all the other nodes on the network have to wait for it to finish before they can access the network. If two or more nodes transmit at the same time on a network a collision occurs. The data literally collides on the cable and becomes unusable. All of the nodes on the network can sense the collision and they will each generate a random wait time before attempting to access the cable. Collisions occur on every network that forces the nodes on it to share access (thick, thin, and twisted pair Ethernet that uses hubs to connect nodes together). A few collisions are no big deal -the data that was scrambled just gets retransmitted. But on a busy network collisions can become a big problem, and if the collision rate climbs to 60% the network is unusable. The nodes on the network spend all there time trying to retransmit data that collided. There had to be a better way to connect large numbers of nodes together on a network.
Switches were developed to ease the congestions on busy twisted pair networks. A switch is more like a small computer than an amplifier. It has a data buffer (a data storage area) and it knows the Medium Access Control (MAC) addresses of every device connected to it. Every node on a network has a unique MAC address (sometimes called a “hardware address). When one node (the source) transmits data to another (the destination), the switch sends the data directly to the destination node. The only time the switch will send data to all of the nodes connected to it is when the destination address is a broadcast.
Before we get into routing (and routers) I need to explain a few things about how data is sent between two points on a network. When you surfed to PC911 to read this page, your browser sent a request for data to the network “stack” running on your PC. That stack consists of several layers. The browser that you are using is in the Application Layer. The Application Layer passes data (called a packet) to the Transport Layer where a port number is assigned to the packet (Alex: insert hyperlink to the ports article here please) and then the packet is sent to the Internet Layer. The Internet Layer “tags” the packet with the IP address for your computer (the source IP address). The packet is also tagged with the destination IP address (the IP address of the PC911 server) -and here is the problem! You see, the PC911 server isn’t on the same IP network as your computer. In fact, there are several IP networks between your computer and PC911. So how can the packet get to PC911 and back to your PC? Keep reading… Your computer doesn’t know how to get packets to PC911, and it doesn’t have to! Your computer has a “default route”. The default route is the IP address of a router that connects to the Internet, and it has an IP address that is on the same network as your PC. So your computer doesn’t need to know how to get packets to PC911, or any other destination, it just needs to get the data to a router and let the router figure it out.
A router is a computer dedicated to getting packets to their destination. Think of it as a traffic cop, directing traffic (packets of data) at a busy intersection. The router may have multiple connections to different routers (different routes) to send data. The path that a router chooses to send your data depends on a multitude of factors and is beyond the scope of this document. The router has a table of possible routes and the cost (efficiency) of each route. It chooses a path to send your data and then transmits your packets to the next router. This process repeats at every router in the network path between your PC and the PC911 server. When the PC911 server responds to your request the process starts all over -only now the packets are coming back to you. Remember I said that your PC has a default route, and that you send packets to that default route and force the router to figure out where to send the data? Well, I call that kind of routing “pass the buck” because your PC is passing the responsibility for sending that packet to the correct destination to another piece of equipment. Well, believe it or not, the majority of the routing for packets moving between your PC and the Internet are routed by passing the buck. I don’t know where to send it, but I do have the IP address of a router that’s connected to me, so I’ll send it to that router and let the “next guy” figure out where to send it! Eventually your packet will reach one of the large routers on the Internet backbone that contains a huge routing table and it will know exactly how to get your data to its destination!