定向广播是什么
把某个网段里主机位全部置为一,得到的地址就是该网段的广播地址,发往它的报文会送达到这个网段内的所有主机。因为它明确指向某个特定网段,所以叫定向广播;路由器理论上可以按路由表把它转发过去,这正是风险所在。
为什么默认禁止转发
早期攻击者伪造一个受害者的源地址,向大量网段的广播地址发送请求,所有收到的主机都会把应答送给受害者,流量被成倍放大。这个套路被称为放大攻击,代价极低而伤害巨大。标准后来明确要求路由器默认不转发定向广播,现代设备默认即为关闭状态。
基本信息
| 定义 | 主机位全为一的地址 |
|---|---|
| 举例 | 二十四位网段的广播是段内最后一位,二十六位网段的广播以六十三结尾 |
| 转发策略 | 默认禁止转发 |
| 配置状态 | 主流设备出厂默认关闭该项功能 |
| 风险类型 | 伪造源地址加广播放大 |
典型使用场景
- 计算广播地址:规划网段时确定广播地址,才能正确划出可分配范围
- 排查地址冲突:终端误配成广播地址会导致整个网段异常,是典型的低级故障
- 安全加固:在面向外部的接口上确认不转发定向广播,避免成为放大攻击的帮凶
- 理解两类广播:与受限广播对照,说明为什么只需要在路由器上针对前者做开关
- 网络唤醒排障:部分唤醒工具依赖广播,跨网段使用时需要专门配置而不只是打开开关
- 扫描与发现:部分发现工具用广播探测,在严格策略网络里会静默失效
计算广播地址
计算广播地址
ipcalc 172.16.0.0/20 | grep Broadcast
# Broadcast: 172.16.15.255
python -c "import ipaddress as ip; print(ip.ip_network('192.168.1.0/26').broadcast_address)"
# 192.168.1.63 主机位全一,落在段内最后一位广播类型对照
| 类型 | 地址形式 | 作用范围 | 路由器行为 |
|---|---|---|---|
| 定向广播 | 网段内主机位全一 | 指定网段 | 默认不转发 |
| 受限广播 | 全一地址 | 本链路 | 不转发 |
| 子网任意播 | 主机位全零 | 本网段最近节点 | 旧机制,已不推荐 |
与受限广播的区别:受限广播不跨网段,只在本链路内有效;定向广播面向某个特定子网,因此才需要在路由器上单独开关并在边界做过滤。
计算时不要凭直觉认为广播地址是段内中间值:它一定是主机位全一,按前缀长度算出块大小,用网络地址加上块大小再减一,得到的才是广播地址。