DTIM [Delivery Traffic Indication Map]
♣ Demo Video:
♣ What is DTIM?
Delivery Traffic Indication Map[DTIM] is a mechanism to deliver Broadcast or Multicast Data to STA.
♣ DTIM is AP or STA feature?
DTIM is only AP feature. Clients are not allowed to transmit any Broadcast or Multicast data. AP is allowed to do that.
♣ Where do we see DTIM field?
Only AP’s beacon can have DTIM field. Probe response does not have DTIM field.
♣ DTIM field and explanations
Let’s understand DTIM fields inside beacon frame.
There are 3 important fields related to DTIM mechanism
1. DTIM count.
2. DTIM period.
3. Multicast bit.
See below screenshot to understand where these fields are located.
Now let’s understand the meaning of these 3 fields
1. DTIM count: This is the current value of DTIM.
2. DTIM period: This is the fix value set in AP.
3. Multicast: If set to 1 to indicate that AP has buffered multicast data or set to 0 to indicate that AP does not have any multicast data.
DTIM period is set as 10 in AP (Same as screenshot shown above), now each subsequent beacon will have DTIM count like this
9 8 7 6 5 4 3 2 1 0 and repeat 9 8 7 6 5 4 3 2 1 0.
In our screenshot we are seeing the beacon where DTIM count is 7.
Here is one table to give more clear idea about some DTIM period and DTIM count values.
|DTIM Period [Set in AP]||DTIM Count in Beacon|
|1||0 [Every Beacon is DTIM Beacon]|
|2||1 0, 1 0, 1 0 ….|
|3||2 1 0, 2 1 0 …|
|0 [This value is reserved]||NA|
♣ What is the meaning of DTIM count = 0?
A DTIM Count of 0 indicates that the current TIM is a DTIM. In another way we can say, all connected STAs have to wake up at this Beacon to see if AP has multicast data or not by checking Multicast bit.
♣ DTIM steps with example:
Let’s take one scenario to see this. One STA is connected to AP and AP has one backend system.
As we know DTIM is for broadcast or multicast data then we can simulate it like this.
1. Delete ARP cache at 192.168.1.10. You can use
2. Do ping from AP backend to STA.
3. Now, at this stage AP backend forwards this to AP but AP does not know this IP address. So AP sends broadcast ARP request looking for MAC address for IP address 192.168.1.2. But as STA is in powersave, AP cannot send this frame immediately so as per rule AP set multicast bit = 1 when DTIM count is 0 in Beacon.
4. Then AP sends broadcast ARP request (this is the buffered broadcast packet).
5. AP sets multicast bit = 0 on next beacon as broadcast or multicast data has been cleared.
See the screenshot
a. No ACK was required for broadcast or multicast data. That’s why we have not seen any MAC layer ACK (802.11 ACK) for ARP request.
b. Multicast or Broadcast data is sent at lowest basic data rate. In our example it’s 1 Mbps.
♣ DTIM vs TIM
|Used for Broadcast or Multicast Data.||Used for Unicast Data.|
|TIM’s subfield has DTIM related fields.||Every Beacon has TIM element.|
|If DTIM count = 0 then current beacon is DTIM beacon. Any other value of DTIM count does not have any importance for DTIM mechanism.||Every beacon’s TIM is important for different STAs.|
|If DTIM count is 0 and multicast = 1 then AP has to transmit buffered broadcast or multicast data on priority than unicast data.||If AP has unicast data buffered and it’s indicated in TIM. But it also has Multicast data so unicast data will be sent on lower priority than multicast or broadcast data.|
♣ Optimal value for DTIM:
There is no optimal value for DTIM to be set at AP. It depends on application or scenario.
1. DTIM period = 1:
This means every beacon is DTIM beacon so all connected STA has to wake up on every beacon and check if AP indicated any buffered data. So, STA cannot sleep for more time but all STAs get broadcast or multicast data quickly.
Now if your requirement is the above then DTIM period = 1 is good to use.
2. DTIM period = 10:
If receiving broadcast or multicast data is not a priority for clients. Clients want to save battery then this setting would help as STAs can sleep for longer time.
3. DTIM period = 3:
If you want to achieve 1 and 2 both then value 3 would be a good settings (Just an assumption).
But again this all depends on your requirements.
♣ If AP has multicast data and unicast data for STA then which on will be sent on priority?
Multicast data has more priority then unicast data because multicast data is intended for all connected STAs. More STAs are waiting for this data from AP.
♣ What data rate is used for multicast data? Why? Can we not send multicast data in higher data rate?
In general multicast data is sent at lowest basic data. rate
The reason is, lower data rate is more reliable and can cover longer distance for multiple clients. Another way, multicast data is not retried from AP and multiple STAs are waiting for this data. So it is recommended to send multicast data at lowest basic data rate.
We can send multicast data at highest data rate if AP support the feature called “Multicast to Unicast Data”. If this is enabled then AP converts multicast data to unicast and sends the data like unicast fashion. Depend on scenario this may speed up or slows down the network. One aspect is, if connected clients are less then this is a good idea but for more clients AP will take more time to send multicast data to all connected STAs. As per my knowledge, some Qualcomm AP supports this feature.
♣ What encryption mechanism is used for multicast data?
For multicast GTK is used to encrypt the data if AP is configured with personal security.
From this article we understood that DTIM is very important for STA to wake and check for any multicast data. And STA has to wake up on DTIM Beacon irrespective of listen interval.
♥♥ If you have any doubts or query please let me know in comment section or send mail at firstname.lastname@example.org ♥♥