IPv6 为什么没有广播
IPv6 在设计上取消了三类 IPv4 机制:广播地址、ARP 与广播型 DHCP。取而代之的是组播加邻居发现:通知本段所有节点用 ff02::1,找路由器用 ff02::2,地址解析由 ICMPv6 的邻居请求与邻居通告完成,DHCPv6 则通过 ff02::1:2 找到服务器。好处是每个节点只处理自己关心的报文,不再被迫接收全段广播。
基本信息
| 所有节点组播 | ff02::1,等同 IPv4 的广播但只送达已加入的节点 |
|---|---|
| 所有路由器组播 | ff02::2,用于路由器发现 |
| 地址解析 | 邻居发现 NDP 使用 ICMPv6 类型 135 与 136 |
| DHCPv6 发现 | ff02::1:2,链路范围内所有 DHCPv6 服务器与中继 |
| 路由器发现 | RS 133 与 RA 134,替代 IPv4 的 DHCP 与部分配置获取 |
| 残留广播 | 部分二层协议仍使用链路层广播帧,但 IP 层已不再使用广播地址 |
对照记忆
对照记忆
IPv4 广播 255.255.255.255 → IPv6 组播 ff02::1 / ff02::2
IPv4 ARP → IPv6 NDP(ICMPv6 135 / 136)
IPv4 DHCP 广播请求 → DHCPv6 组播 ff02::1:2
IPv4 路由器通告(可选) → IPv6 RA 强制存在,承载默认路由机制替换对照
| IPv4 机制 | IPv6 替代 | 关键差异 |
|---|---|---|
| ARP 请求广播 | 邻居请求 NS 组播 | 只打扰目标地址对应的 solicited-node 组 |
| 免费 ARP 检测冲突 | 重复地址检测 DAD | 使用 ICMPv6 探测,冲突时地址标记不可用 |
| DHCP 广播发现 | DHCPv6 组播发现 | 可跨中继,服务器无需同段 |
| 路由器广播通告 | RA 周期通告 | 同时下发前缀与默认路由 |
典型使用场景
- 迁移 IPv6 时改写防火墙策略:必须放行 ICMPv6 与 ff02::/16 关键组播,否则地址配上也不通
- 抓包排障时按组播地址过滤,能快速把邻居发现与地址配置过程摘出来单独分析
- 配置路由器通告时理解 RA 的强制角色:IPv6 默认路由只能来自 RA,不能靠 DHCPv6
- 评估网段规模:组播取代广播后,单段终端数的限制主要来自二层与邻居表规模,而非广播风暴
- 排查“地址冲突”告警:DAD 检测到冲突会标记地址不可用,需定位重复配置的设备
“IPv6 没有广播”指 IP 层不再有广播地址这一概念;链路层仍可能存在广播帧,例如某些厂商的发现协议,二者不属于同一层次。