Introduction
Every network is built from connecting devices that move data between computers. Three of the most fundamental are the hub, the switch, and the router. Although they may look similar as boxes with cables plugged into them, they operate at completely different layers of the OSI model and behave in very different ways. Understanding these differences is essential for designing networks, troubleshooting connectivity issues, and reasoning about performance and security.
Cricket analogy: A stump mic, a boundary rope, and an umpire's signal system all look like simple gear on a cricket field, but each operates at a different layer of match management, just as a hub, switch, and router look alike but work at completely different OSI layers.
Explanation
A hub is a Layer 1 (Physical layer) device. It is essentially a multi-port electrical repeater: any bit that arrives on one port is retransmitted out of every other port, with no awareness of addresses or frames. Because every device attached to a hub shares the same collision space, all ports on a hub belong to a single collision domain — if two devices transmit at the same time, their signals collide and both frames are corrupted, requiring retransmission. All ports on a hub also belong to a single broadcast domain, since every frame, broadcast or not, reaches every device.
Cricket analogy: A hub is like an old stadium PA system that repeats every announcement to every stand regardless of who it's for, and if two ground staff key their radios on the same channel at once, both messages garble together — the whole stadium shares one collision zone and one broadcast zone.
A switch is a Layer 2 (Data Link layer) device. It reads the destination MAC address in each incoming frame and forwards that frame only out of the port leading to the destination device, using a MAC address table it builds by observing source addresses. This means each switch port is its own collision domain — two devices on different switch ports can transmit simultaneously without colliding. However, a switch still floods broadcast frames (and unknown-destination frames) out of every port, so by default all ports on a switch remain part of a single broadcast domain, unless VLANs are configured to segment it further.
Cricket analogy: A switch is like a modern dressing-room messaging system that reads the name on each note and delivers it only to that player's locker, learned by watching who sent notes from where, though it still pins team-wide announcements on every locker — each locker is its own collision domain, but one shared broadcast domain.
A router is a Layer 3 (Network layer) device. It forwards packets between different networks based on destination IP addresses, using a routing table to decide the best next hop. Each router interface connects to a separate network and is its own broadcast domain as well as its own collision domain — routers do not forward Layer 2 broadcasts between networks by default. Routers are what allow devices on different subnets, or different physical networks entirely (like a home network and the internet), to communicate.
Cricket analogy: A router is like the ICC linking two separate domestic leagues, deciding which league's fixture a transferred player's paperwork needs to route through next based on the destination board's address, with each league running its own independent scheduling and announcement system.
Example
# Conceptual comparison of forwarding decisions
# Hub: repeats bits blindly to all ports
def hub_forward(incoming_signal, all_ports):
for port in all_ports:
port.send(incoming_signal) # no filtering at all
# Switch: forwards using a MAC address table (Layer 2)
mac_table = {"AA:BB:CC:11": "port1", "AA:BB:CC:22": "port2"}
def switch_forward(frame, mac_table):
dest_mac = frame.dest_mac
if dest_mac in mac_table:
return mac_table[dest_mac] # send out one specific port
return "flood_all_ports" # unknown MAC -> flood
# Router: forwards using a routing table (Layer 3)
routing_table = {"192.168.1.0/24": "eth0", "10.0.0.0/8": "eth1"}
def router_forward(packet, routing_table):
dest_ip = packet.dest_ip
for network, interface in routing_table.items():
if ip_in_subnet(dest_ip, network):
return interface
return "default_gateway"Analysis
The progression from hub to switch to router is really a progression up the OSI model, and each step adds intelligence that reduces unnecessary traffic. A hub floods everything because it has no concept of addressing at all. A switch understands MAC addresses, so it can isolate collision domains per port, dramatically improving performance versus a hub, but it still shares one broadcast domain unless VLANs are used. A router understands IP addressing and subnet boundaries, so it isolates both collision domains and broadcast domains per interface, which is exactly why routers are used to connect separate networks together — without a router, broadcast traffic and address space would need to be shared across the entire network, which does not scale. In modern networks, hubs are essentially obsolete, having been replaced by switches, while routers remain essential wherever traffic must cross from one IP network to another.
Cricket analogy: Going from a stadium PA (hub) to a smart locker-messaging system (switch) to inter-league routing (router) mirrors the progression from broadcasting everything, to addressing individual lockers while still sharing team-wide announcements, to fully isolating each league's traffic — which is why modern setups skip PA-style hubs entirely.
Key Takeaways
- Hub = Layer 1, dumb repeater, one collision domain and one broadcast domain across all ports.
- Switch = Layer 2, forwards by MAC address, one collision domain per port, but one broadcast domain by default (unless VLANs are used).
- Router = Layer 3, forwards by IP address, one collision domain and one broadcast domain per interface.
- Hubs are largely obsolete today; switches and routers are the standard building blocks of modern networks.
Practice what you learned
1. At which OSI layer does a switch primarily operate?
2. Why does a hub create a single collision domain across all of its ports?
3. What does a router use to decide where to forward a packet?
4. By default, why do all ports on a switch still belong to the same broadcast domain?
Was this page helpful?
You May Also Like
The OSI Model
Understand the 7 layers of the OSI reference model, their responsibilities, and example protocols at each layer.
MAC Addressing and Switching
How 48-bit MAC addresses identify devices and how switches learn and use them to forward frames.
VLANs
How VLANs use 802.1Q tagging to logically split one physical switch into multiple isolated broadcast domains.
Routing Fundamentals
Understand how routers use routing tables and longest prefix match to forward packets, and the difference between static and dynamic routing.