单播、广播、多播有什么区别?为什么广播不能跨路由器随便传播?
简化版
单播是一对一通信,广播是一对同一广播域内所有主机通信,多播是发送给加入某个组的一批主机。单播最常见,例如访问网站;广播常见于 ARP、DHCP 发现等局域网场景;多播适合 IPTV、实时行情、组内分发等一对多场景。广播不能随便跨路由器传播,因为会扩大广播风暴和无关主机负担,路由器默认隔离广播域。
详细版
三者区别:
| 类型 | 目标 | 范围 | 例子 |
|---|---|---|---|
| 单播 | 一个接收者 | 点到点 | 浏览网页、SSH |
| 广播 | 本广播域所有主机 | 局域网 | ARP、DHCP Discover |
| 多播/组播 | 加入组的主机 | 受组管理和路由控制 | IPTV、行情分发 |
IPv4 受限广播地址是 255.255.255.255,子网广播地址如 192.168.1.255/24。多播地址范围是 224.0.0.0/4。面试重点是:广播会打扰广播域内所有机器,路由器默认不转发广播;多播需要 IGMP、组播路由等机制控制接收者和转发路径。
完整版教学
一、单播:最常见的一对一
单播是一个源发送给一个明确目的地址。
客户端 192.168.1.10 -> 服务器 203.0.113.20
绝大多数日常网络通信都是单播:HTTP、SSH、数据库连接、RPC 调用。路由器根据目的 IP 查路由,逐跳转发到目标网络。
单播的好处是目标明确,网络负担相对可控。
二、广播:发给同一广播域所有主机
广播是一对所有。局域网内常见广播:
ARP: 谁是 192.168.1.1?
DHCP Discover: 有没有 DHCP 服务器?
广播地址例子:
受限广播: 255.255.255.255
子网广播: 192.168.1.255/24
广播会被同一广播域内所有主机收到,即使大多数主机最终会丢弃它,也要消耗网卡、中断和协议栈处理成本。
广播适合“我不知道目标是谁”的发现类场景,但不能让它无限扩散。
三、为什么路由器默认隔离广播
如果广播能跨路由器随便传播,一个 ARP 或 DHCP 请求可能扩散到大量网络,造成严重负担甚至广播风暴。
广播域A -- 路由器 -- 广播域B
默认情况下:
广播域A的广播 不会 被路由器转发到广播域B
路由器划分三层网络,也天然隔离广播域。VLAN 则是在二层进一步划分广播域。
四、多播:发给加入组的一批主机
多播也叫组播,目标不是所有主机,而是加入某个组的主机。IPv4 多播地址范围是:
224.0.0.0/4
多播适合一对多分发:
- IPTV;
- 视频会议媒体流;
- 实时行情;
- 数据中心内部分发。
接收端通过 IGMP 表示自己加入某个组,网络设备根据组成员关系和组播路由控制转发。
五、多播和广播的关键差别
| 对比项 | 广播 | 多播 |
|---|---|---|
| 接收者 | 广播域内所有主机 | 加入组的主机 |
| 控制方式 | 广播域边界 | 组成员和组播路由 |
| 是否跨路由 | 默认不跨 | 可通过组播路由跨网段 |
| 典型场景 | ARP、DHCP | IPTV、行情分发 |
广播是“大家都听一下”,多播是“订阅了这个组的人听”。多播比广播更精准,但部署和网络设备支持更复杂。
六、任播和多播别混淆
任播 Anycast 是多个节点使用同一个 IP,网络把请求路由到拓扑上较近或路由上最优的一个节点。它看起来像“一对最近的一个”,常用于 DNS、CDN。
| 类型 | 发送到 |
|---|---|
| 单播 | 一个指定主机 |
| 广播 | 本广播域所有主机 |
| 多播 | 加入组的一批主机 |
| 任播 | 多个同地址节点中的一个 |
任播不是多播。多播是一份流量给多个订阅者;任播是多个候选节点里选一个响应。
七、常见误区与追问
- 误区:广播可以跨互联网传播。 路由器默认隔离广播,广播主要限制在本地广播域。
- 误区:多播就是广播。 广播发给所有主机,多播只发给加入组的主机。
- 误区:任播会把请求同时发给所有节点。 任播通常路由到一个最优节点,不是多点同时接收。
- 误区:ARP 是单播查询。 首次不知道目标 MAC 时,ARP 请求通常是广播。
- 追问:为什么 DHCP Discover 使用广播? 客户端一开始不知道 DHCP 服务器地址,也没有可用 IP,只能广播发现。
- 追问:为什么要划分 VLAN? VLAN 可以隔离二层广播域,减少广播影响并增强网络管理和安全。
八、加强记忆
单播是一对一,广播是一对同广播域所有,多播是一对加入组的一批,任播是多个节点里选一个。广播适合发现,但不能跨路由器随便扩散;多播适合一对多分发,但需要组成员和组播路由控制。面试时拿 ARP/DHCP 解释广播,拿 IPTV/行情解释多播,拿 DNS/CDN 解释任播,层次就清楚了。