Interframe Space (RIFS, SIFS, PIFS, DIFS, AIFS, EIFS)
♣ What is IFS?
Interframe space is the time from the end of the last symbol of the previous frame to beginning of the first symbol of the preamble of the next frame in the air.
♣ What is the unit of IFS?
IFS is the time in microsecond(µs).
♣ Why do we need IFS?
♦ To keep buffer between the frames to avoid the interference.
♦ To control the prioritization of any frame.
♦ To process received frame.
♦ Receiver needs time to switch between Rx to Tx antenna.
♣ IFS is fixed or variable?
All types of IFS are fixed for each PHY except AIFS.
♣ How many types of IFS are there?
There are six types of IFS.
1. RIFS: Reduced Interframe space.
2. SIFS: Short Interframe space.
3. PIFS: Point Coordination Function (PCF) Interframe space.
4. DIFS: Distributed Coordination Function Interframe space.
5. AIFS: Arbitration Interframe space.
6. EIFS: Extended Interframe space.
♦ RIFS was introduced in 802.11n standard.
♦ It was there to replace SIFS for pure 802.11n data transmission to reduce overhead and thereby increase network efficiency.
♦ Two frames separated by a RIFS shall both be HT PPDUs.
♦ 802.11n standard use RIFS when BA is enabled. Here is figure to show the frames exchanges with RIFS.
♦ Unfortunately, in actual 802.11n application, RIFS was not used at all due to Aggregation with Block ACK getting more advantages.
♦ RIFS time is 2µs.
♦ Quoting form IEEE-2012 spec
“SIFS shall be used when STAs have seized the medium and need to keep it for the duration of the frame exchange sequence to be performed.
Using the smallest gap between transmissions within the frame exchange sequence prevents other STAs, which are required to wait for the medium to be idle for a longer gap, from attempting to use the medium, thus giving priority to completion of the frame exchange sequence in progress.”
♦ Let’s see two scenarios where SIFS is used.
♦ SIFS for 802.11b/g/n (2.4 GHz) = 10μs
SIFS for 802.11a/n/ac (5 GHz) = 16μs
♦ It’s used in contention-free period (CFP) in PCF mode. But PCF was not implemented in actual Wi-Fi application so there is no use of PIFS.
♦ PIFS is used (As PIFS is shorter than DIFS) in Channel Switch Announcement (802.11h) scenario to gain access to medium on priority.
♦ There are other scenarios where PIFS is used like TIM broadcast, HT STA using dual CTS protection, HT STA performing CCA in secondary channel etc. For more details read IEEE Spec 2012 section 126.96.36.199.4.
♦ PIFS time for 2.4GHz using long slot time is 30μs.
PIFS time for 2.4GHz using short slot time is 19μs.
PIFS time for 5GHz is 25μs.
♦ When a STA plans to send a new frame for the first operating under DCF then DIFS time has to be observed after the previous frame completion.
♦ AIFS is applicable only for QoS [WMM enabled] supported devices only.
♦ AIFS value is not fixed. It’s varying for each AC.
♦ AIFS is generally notated as AIFS[AC] as there are different ACs. There is AIFSN (AIFS Number) value for each AC that is user configurable. Example:
AIFSN for BK: 7
AIFSN for BE: 3
AIFSN for VI: 2
AIFSN for VO: 2
♦ Default AIFSN values are advertised in AP’s beacon.
♦ In DCF when a frame is lost [no ACK received] then sender has to retransmit the same frame. In this scenario EIFS is used before sender starts for retransmission process.
♦ This EIFS time is long enough to make sure the frame is really lost and also it gives chance to other sender to complete their backoff if it is in progress.
♦ EIFS shall not be invoked for an A-MPDU if one or more of its frames are received correctly. Because here Block ACK indicates about received and not received frame to sender. Then sender can pack lost MPDU(s) in next A-MPDU.
♣ IFS relationship diagrams:
♣ IFS time table:
♦ AIFS Table:
Note that AIFS time is always higher than SIFS or PIFS time. This makes sure that any frame exchange uses SIFS or PIFS takes higher priority.
♣ Calculating Interframe Space time:
As we know that SIFS, DIFS and PIFS are fixed values for any given PHY but AIFS will vary according to AC selection. EIFS is also fixed in DCF network for a given PHY but vary when used with EDCA. Let’s see the formula to calculate all these.
Here we have to know the aSlotTime and aSIFSTime for a given PHY then we can calculate all IFS time using above formula.
Now we have got clear idea about what is IFS and why do we need it in different scenarios. We can explore different frame exchanges and understand which IFS is used for that scenario.
♥♥If you have any doubts or query please let me know in comment section or send mail at email@example.com.♥♥