集线器、交换机和路由器

集线器, 又叫做 hub, 工作在 OSI 七层模型第二层的一个设备, 它传输的数据是以太帧. hub 是一个共享设备, 提供信号放大和中转功能, 通过 hub 转发出去的数据, 实际上是广播给接在同一 hub 下的其他所有节点, 只有目标节点会回复数据. 因此, hub 也是一个共享设备, 有广播风暴的潜在危险.

交换机, 即 switch, 相比集线器则上流了许多. switch 同样工作在第二层(不考虑三层和四层交换机, 那些太高大上), 它不同于 hub 的是: 它可以“学习” MAC 地址, 并把其存放在内部地址表中, 通过在以太帧的 src 和 dst 之间建立临时的交换路径, 使数据帧直接由 src 到达 dst, 所以是一对一的通信, 而不会像 hub 一样产生广播风暴.

一个不是那么形象的比喻: hub 是十字路口, 而 switch 是立交桥.

路由器, 即 router, 工作在第三层, 它传输的数据是 IP 报文, 转发数据的依据是 IP 地址, 能分割广播域(swicth 干不了这事儿, 广播数据还是会在 switch 不同端口的所有物理网段传输). 除此之外, 一般 router 还可以提供防火墙的功能, 可以配 iptables.