♥India♥

DTIM [Delivery Traffic Indication Map]


8 comments
Categories : PowerSave , WLAN

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.

Suppose,

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
10 [Every Beacon is DTIM Beacon]
21 0, 1 0, 1 0 ….
32 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

command:

arp –d

2. Do ping from AP backend to STA.

Command:

ping 192.168.1.2

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

Note:

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.

See screenshot

♣ DTIM vs TIM

DTIMTIM
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.

♣ Conclusion:

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 feedback@wifisharks.com ♥♥

8 comments on “DTIM [Delivery Traffic Indication Map]

    Supriya

    • October 26, 2020 at 2:33 pm

    Nice article. Understood DTIM.

      Bamdeb

      • October 26, 2020 at 2:44 pm

      Thanks for reading.

    sukumar

    • October 26, 2020 at 2:28 pm

    Great article.

    dushyanth simha

    • October 20, 2020 at 10:42 am

    Hi I have few questions.
    1)DTIM count “3” and Listen interval “2”, if there is any data for station how STA will receive the data?
    2)If there is a “Broadcast” data and “unicast” data and configured DTIM and listen intervals .which data will receive by STA first?

      Pintu

      • October 23, 2020 at 3:19 am

      1. When you are configure DTIM 3 and listen interval 2 at this point STA will sleep for 2 listen interval times when it’s wake up for 3 rd time it will hear (DTIM)3*2 = 6and(Listen Interval) 2*3 = 6 at this point STA will receive broadcast packets.
      2.First unicast data packets TX will takes place later multicast follows.
      If there something wrong pls let me know

        Bamdeb

        • October 24, 2020 at 10:18 pm

        2-> Multicast has more priority than unicast data in case of powersave scenario. If you know any scenario where unicast is more priority than multicast then you can share.

      Bamdeb

      • October 24, 2020 at 10:09 pm

      Hi Dushyanth ,
      Thanks for reading the reading the article.

      First of let me correct some points from your questions
      You mentioned DTIM count 3, actually you meant DTIM period 3. DTIM count will be 2 1 0 ..and repeat 2 1 0
      In general listen interval will be in term of beacon interval ex: 600 so if beacon interval is 100ms then STA has planned to wake up on every 6th beacon. Listen interval “2” does not mean anything.
      If you have seen anywhere then please share , we will see that.

      1=> Remember DTIM is used for multicast data indication and so STA has to wake up on 3rd DTIM beacon to know about multicast data. For unicast STA can wake up on listen interval time.

      Please read below article for more clarifications
      https://wifisharks.com/2020/10/24/sta-wake-up-scenario/

      2=> In general, Multicast has more priority than unicast. It does not depend on any DTIM, Listen Interval value.

        Dushyanth

        • November 13, 2020 at 10:56 am

        Thanks Bamdev

Leave a Reply

Your email address will not be published. Required fields are marked *

error: Content is protected !!
%d bloggers like this: