Hubs, switches, and routers are all devices that let you connect one or more computers to other computers, networked devices, or to other networks. Each has two or more connectors called ports into which you plug in the cables to make the connection. 

A hub is typically the least expensive, least intelligent, and least complicated of the three. Its job is very simple: anything that comes in one port is sent out to the others. That's it. Every computer connected to the hub "sees" everything that every other computer on the hub sees. The hub itself is ignorant of the data being transmitted. For years, simple hubs have been quick and easy ways to connect computers in small networks, example of that is the Bus network. A bus topology is commonly referred to as a "linear bus" because the computers are physically connected in a straight line. A bus topology has a single backbone cable to which computers and other devices are connected. This backbone is also known as a segment or a trunk.

A switch does essentially what a hub does but more efficiently. By paying attention to the traffic that comes across it, it can "learn" where particular addresses are.  A switch knows where a packet of information came from and where it's going. The net result of using a switch over a hub is that most of the network traffic only goes where it needs to rather than to every port. On busy networks this can make the network significantly faster. So, a conversation between two network clients will not prevent a second conversation between two other network clients. Switches can also operate in full duplex, meaning they simultaneously transmit and receive data between two clients.

A router is the smartest and most complicated of the bunch, but also the most sophisticated network device than either a switch or a hub.  Routers come in all shapes and sizes from the small four-port broadband routers that are very popular right now to the large industrial strength devices that drive the internet itself. Router functions to forward packets across different networks. Router maintains a routing table. The routing table contains IP addresses of other networks routers. When receiving a packet, a router examines the packet destination IP address and forwards it to its destination by looking at the routing table. In publications, router is often named according to its capacity or its position in the network. You may find these terms: edge router, core router, backbone router. And a type of router specially designed for home Internet users, is commonly known as residential gateway. A simple way to think of a router is as a computer that can be programmed to understand, possibly manipulate, and route the data its being asked to handle. For example, broadband routers include the ability to "hide" computers behind a type of firewall which involves slightly modifying the packets of network traffic as they traverse the device. All routers include some kind of user interface for configuring how the router will treat traffic. The really large routers include the equivalent of a full-blown programming language to describe how they should operate as well as the ability to communicate with other routers to describe or determine the best way to get network traffic from point A to point B. 

A quick note on one other thing that you'll often see mentioned with these devices and that's network speed. Most devices now are capable of both 10mps (10 mega-bits, or million bits, per second) as well as 100mbs and will automatically detect the speed. If the device is labeled with only one speed then it will only be able to communicate with devices that also support that speed. 1000mbs or "gigabit" devices are starting to slowly become more common as well. Similarly many devices now also include 802.11b or 802.11g wireless transmitters that simply act like additional ports to the device.  

If you would like to watch a video about this subject, go to the tab Videos on this website or click here.