DTIM 与组播的关系
省电的终端会周期性休眠,只在 DTIM(投递流量指示消息)信标到来时醒来接收组播与广播帧。DTIM 周期设得越大越省电,但唤醒间隔变长,推送与设备发现类业务的延迟随之增加。另一端是组播本身:空口上的组播按最低基础速率发送且没有 ACK 重传,组播一多,空口利用率会被显著推高。
参数与症状
| DTIM 周期 | 越大越省电,但唤醒间隔长,组播与推送延迟增大 |
|---|---|
| 组播转单播 | 可减少空口组播放大,代价是带宽与 AP 侧处理开销上升 |
| 典型症状 | 待机设备收不到推送、mDNS 时通时断、电池消耗异常 |
| 核对项 | DTIM 设置(常见 1~3)、组播策略、IGMP snooping 配置 |
| 放大原因 | 组播帧按最低基础速率发送,速率越低占用时间越长 |
参数调整的取舍
| 参数 | 调小或开启的效果 | 调大或关闭的效果 |
|---|---|---|
| DTIM 周期 | 唤醒频繁、推送及时 | 更省电,但推送延迟变大 |
| 组播转单播 | 空口组播减少、可靠性提升 | 带宽与 AP 负载上升 |
| 关闭低速率档 | 组播发送更快 | 部分老终端可能收不到广播 |
| IGMP snooping | 组播只发给真正加入的终端 | 配置错误会直接阻断组播业务 |
验证方法
验证方法
# 语音与推送敏感场景:把 DTIM 调小(常见 1~3)后复测
# 大量 mDNS 场景:评估组播转单播与 IGMP snooping
# 观察空口组播构成(Wireshark 过滤)
arp || mdns || ssdp
# 待机终端的唤醒延迟:休眠设备 ping 延迟通常高于活跃设备
ping -i 0.5 -c 100 终端IP移动设备按 DTIM 周期唤醒。DTIM 设为 10 时推送延迟会明显增加,「消息不及时」的投诉常与此相关;反过来,DTIM 调得过小会牺牲待机续航。
不要为了让推送更快就把 DTIM 长期设为 1:待机功耗上升,移动终端续航变差,本质是用电池换延迟,需要按业务权衡。