Router? Bridge? Switch? Hub? What's the difference?
Reference: LAN and WAN Sub networks Under IP - LAN Interconnection, by Thomas A. Maufer
 

Ever wonder what the difference is among these boxes?  Which one do you use when? Let's take a look. We'll start with the simplest device, the Hub.

Hub
A hub is a repeater, which is a OSI model device, the simplest possible.    A hub takes the data that comes into a port and sends it out all the other ports in the hub.  It doesn't perform any filtering or redirection of data. Although it's actually a little more complicated, you can think of a hub like a piece of wire.  A better analogy might be that of an Internet Chat room.  Everything that everyone who joins a particular chat is seen by everyone else.  If there are too many people trying to chat, things get bogged down.  See Switching HUBs for a faster HUB.

 

Bridge
Bridges (sometimes called "Transparent bridges") work at OSI model Layer 2. This means they don't know anything about protocols, but just forward data depending on the destination address in the data packet.  This address is not the IP address, but the MAC (Media Access Control) address that is unique to each network adapter card.

With a Bridge, all your computers are in the same network subnet, so you don't have to worry about not being able to communicate between computers or share an Internet connection.  DHCP servers will work fine across Bridges, or if you assign your own IP addresses, you'll use the same first 3 "octets" of the IP address (Example: 192.168.0.X). 

However, the only data that is allowed to cross the bridge is data that is being sent to a valid address on the other side of the bridge.  No valid address, no data across the bridge.  Bridges don't require programming.  They learn the addresses of the computers connected to them by listening to the data flowing through them.

Bridges are very useful for joining networks made of different media types together into larger networks, and keeping network segments free of data that doesn't belong in a particular segment.

Switches
Switches are the same thing as Bridges, but usually have multiple ports with the same "flavor" connection (Example: 10/100BaseT).  

Switches can be used in heavily loaded networks to isolate data flow and improve performance.  In a switch, data between two lightly used computers will be isolated from data intended for a heavily used server, for example.  Or in the opposite case, in "auto sensing" switches that allow mixing of 10 and 100Mbps connections, the slower 10Mbps transfer won't slow down the faster 100Mbps flow.

Although switch prices are dropping so that there is very little difference from hub prices, most home users get very little, if any, advantage from switches, even when sharing "broadband" Internet connections.  "Broadband" connections for most users are in the 1-2Mbps range, far below even 10Mbps speeds.  Since you share that bandwidth, you can see that your speedy 100BaseT connection isn't even breaking a sweat when you're using the Internet.

Router
Routers forward data packets from one place to another, too!  However routers are OSI model Layer 3 devices, and forward data depending on the Network address, not the Hardware (MAC) address.  For TCP/IP networks, this means the IP address of the network interface.  

Routers isolate each LAN into a separate subnet, so each network adapter's IP address will have a different third "octet" (Example: 192.168.1.1 and 192.168.2.1 are in different subnets.).  They are necessary in large networks because the TCP/IP addressing scheme allows only 254 addresses per (Class C) network segment.

Routers, like bridges, provide bandwidth control by keeping data out of subnets where it doesn't belong.   However, routers need to be set up before they can get going, although once set up, they can communicate with other routers and learn the way to parts of a network that are added after a router is initially configured.

Routers are also the only one of these four devices that will allow you to share a single IP address among multiple network clients.