WLAN DTIM

DTIM

DTIM(Delivery Traffic Indication MAP)是一个给STA发送广播或者组播的机制,因为STA不发送组播因此DTIM只在AP中有用,DTIM仅在AP的Beacon中出现,Probe Presonse没有DTIM字段

DTIM字段的意义

  • DTIM Count: 当前的DTIM值
  • DTIM Period: 在AP中可以配置的DTIM周期
  • Bitmap control Multicast: 如果为1表示AP缓存了广播数据,如果为0表示AP没有缓存广播数据
  • 如图所示如果AP设置DTIM周期为10,则每个DTIM Count如下
  • 9 8 7 6 8 4 3 2 1 0 9 8 7 6 5 4 3 2 1 .........
  • 当DTIM Count为0表示当前的TIM是一个DTIM,此时所有已经连接的STA都要在这个Beacon下唤醒并检查Multicast标记确定AP是否有组播数据要发送
  • 如果DTIM周期设置为1表示每一个beacon都是DTIM beacon,STA需要在每一个beacon中唤醒并检查multicastbit,这样做不利于省电。

DTIM例子

如上图,从192.168.1.10 ping 192.168.1.2

为了能发送广播,我们需要在192.168.1.10上执行arp -d删除arp缓存,然后ping 192.168.1.2

此时,AP会广播ARP request给已连接的STA,但是STA处于PowerSave,AP不能立即发送这个ARP request,因此当DTIM count为0时AP需要设置TIM的multicastbit为1,AP发送缓存的ARP request,当多播或者广播数据被发送后,AP在下一个beacon中设置TIM的multicastbit为0

需要注意的是广播和多播没有ACK,并使用最低基本速率进行发送。因此速率越低发送的越可靠数据传送的越远

如果AP同时缓存了广播和单播帧,优先发送广播,因为每一个已经连接的客户端都需要这个广播帧,这句话我不是很理解,理论上来说DTIM只用于广播,但是资料上是这么说的,先记录,在深究???

总结

  1. TIM用于单播,DTIM用于广播或者多播
  2. 每一个beacon中都有TIM信息元素,TIM的子字段含有DTIM相关字段
  3. 当TIM的DTIM count为0时表示这个TIM是一个DTIM
  4. 当一个AP在TIM信息元素中同时指示含有单播缓存和广播组播缓存时,广播优先发送

posted on   sudochen  阅读(1999)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示