802.11 medium access, one microsecond at a time

Stations defer, count down, collide, retry and transmit on a shared channel. Pick a scenario, press Play, and follow each station's row on the timeline.

Access method
Language
t = 0 µs

Click any point on the timeline to see every station's status at that moment, then drag the blue time label or its line to scrub through time. Hover a block for its details. Drag the timeline or use the slider to look back. Changing any setting restarts the run.

Who can hear whom

Every station hears the AP. West and East stations are out of range of each other, which creates hidden nodes. Stations near the AP hear everyone.

Stations

Event log

Newest first. Select an entry to move the timeline there.

Access parameters

Defaults are the Wi-Fi Alliance WMM values most APs advertise to client stations (voice TXOP 1.504 ms, video 3.008 ms, best effort and background 0). 802.11-2024 itself (Table 9-194) lists different defaults for OFDM PHYs: TXOP limits of 2.080 ms for voice, 4.096 ms for video and 2.528 ms for best effort and background, with the same AIFSN and contention windows. A client uses those only if its AP advertises no EDCA parameters; in practice APs advertise the WMM values. Timing uses 5 GHz OFDM at 20 MHz: slot 9 µs, SIFS 16 µs, DIFS 34 µs. Control frames go at 6 Mbps: RTS 52 µs, CTS and ACK 44 µs. ACK and CTS timeout is 50 µs (SIFS + slot + 25 µs PHY receive start). EIFS = SIFS + ACK time + DIFS or AIFS.

Definitions

The terms used in the simulator and on this page.

Medium access (MAC)
The rules that decide which station may transmit on a shared channel, and when. In Wi-Fi they live in the MAC (medium access control) layer.
CSMA/CA
Carrier sense multiple access with collision avoidance: listen before talking, wait a set gap plus a random backoff, then transmit, so that stations rarely start at the same moment.
Carrier sense (CCA)
The radio's check of whether the channel is busy: it hears a Wi-Fi frame or enough energy. Also called physical carrier sense or clear channel assessment.
NAV (virtual carrier sense)
Network allocation vector: a timer a station sets from the Duration field of frames it decodes. Until it runs out, the station treats the medium as busy even if it hears nothing. Shown as the grey bar at the bottom of a row.
Duration field
A value in every frame saying how long, in µs, the rest of the exchange (for example CTS, DATA and ACK) will take. Other stations use it to set their NAV.
DCF
Distributed coordination function: the original 802.11 access method. Every station uses the same waits and contention window, so all traffic has the same priority.
EDCA
Enhanced distributed channel access: the 802.11e/WMM version of DCF, with separate waits, contention windows and TXOP limits for each access category.
Access category (AC)
One of four traffic classes in EDCA: voice (VO), video (VI), best effort (BE) and background (BK). Voice gets the shortest waits and the smallest window.
Slot time
The basic time unit of backoff: 9 µs for 5 GHz OFDM. The backoff counter drops by one for every idle slot.
SIFS
Short interframe space (16 µs here): the shortest gap, used before responses such as CTS, ACK and the DATA that follows a CTS, so an exchange in progress can't be interrupted.
DIFS
DCF interframe space: SIFS plus two slots (34 µs here). The idle time a DCF station waits before it starts or resumes its backoff.
AIFS and AIFSN
Arbitration interframe space: EDCA's version of DIFS, equal to SIFS + AIFSN × slot time. AIFSN is set per access category, for example 2 for voice and 7 for background.
EIFS
Extended interframe space: a longer wait (SIFS + ACK time + DIFS or AIFS) used after receiving a frame that couldn't be decoded, so the station doesn't talk over an ACK it couldn't predict. Amber in the timeline.
Contention window (CW)
The range from which a station draws its random backoff: 0 to CW slots. It starts at CWmin and doubles after each failed attempt, up to CWmax.
CWmin and CWmax
The smallest and largest contention window. Smaller values mean quicker access but more collisions; voice uses 3 and 7, best effort 15 and 1023.
Backoff counter
The random number of idle slots a station must count down before transmitting. It freezes while the medium is busy and resumes afterwards; it doesn't restart.
Binary exponential backoff
After a failed transmission the contention window doubles (15, 31, 63 and so on), spreading retries out so the same stations are less likely to collide again.
Collision
Two or more frames overlapping at a receiver, which then can't decode any of them. The senders only find out when the ACK or CTS doesn't arrive.
ACK and ACK timeout
The short acknowledgement the receiver sends a SIFS after a frame it decoded. If no ACK arrives within the timeout, the sender assumes the frame was lost and retries.
Retry limit
How many times a station retries a frame before giving up and dropping it. The contention window then resets to CWmin.
RTS/CTS
Request to send / clear to send: a short handshake before the DATA. The CTS from the AP reaches every station, including hidden ones, which set their NAV and stay quiet.
Hidden node
A station that the sender can't hear but the AP can. Carrier sense can't protect against it, so its frames can collide at the AP; RTS/CTS helps.
TXOP and TXOP limit
Transmit opportunity: after winning access, a station may send several frames separated only by SIFS, up to the TXOP limit for its access category. A limit of 0 means one frame per win.
Capture effect
A receiver decoding the stronger of two overlapping frames. Real radios sometimes can; this simulator assumes any overlap destroys both frames.
PHY rate and airtime
The PHY rate is how fast the bits are sent; airtime is how long a frame occupies the channel. Slower rates mean longer airtime, and less time for everyone else.

Full definitions of these and over 400 more terms, with their IEEE 802.11 references: Wi-Fi Glossary.

How the pieces fit

Listen before talk (CSMA/CA)

A radio can't listen while it transmits, so Wi-Fi can't detect a collision as it happens the way wired Ethernet did. It tries to avoid one instead.

Interframe spaces set the pecking order

SIFS (16 µs) is shorter than DIFS or AIFS (34 µs and up), which is shorter than EIFS. Responses such as CTS, ACK, and the DATA that follows a CTS wait only SIFS, so a station starting fresh contention can never cut into an exchange already in progress.

Backoff freezes, it doesn't restart

The backoff counter only drops while the medium stays idle, one 9 µs slot at a time. If someone else transmits, the counter freezes and resumes from the same number after the medium has been idle for DIFS or AIFS again. Losing one round doesn't reset the count, so stations that have waited longest tend to win next.

Binary exponential backoff

No ACK or CTS within the timeout means the sender assumes its frame was lost. It doubles its contention window (15, 31, 63, and so on up to CWmax), draws a new random backoff from the wider range, and tries again. Spreading the retries out makes it less likely the same stations collide again. After the retry limit the frame is dropped and the window resets to CWmin.

NAV, the virtual carrier sense

Every frame carries a Duration field saying how long the rest of the exchange will take. Stations that decode it set a timer called the NAV and treat the medium as busy until it expires, even when they hear nothing. In the timeline it's the grey bar along the bottom of a row.

EDCA and access categories

EDCA gives voice, video, best effort, and background traffic separate AIFSN, CWmin/CWmax, and TXOP limits. Voice waits a shorter AIFS and draws from a smaller window, so it wins more often. That's priority by probability, not a reservation.

TXOP bursting

A station that wins access for video or voice may keep the medium for several DATA and ACK exchanges back to back, separated only by SIFS, up to its TXOP limit. One win of the contention buys a short run of frames instead of one. Best effort and background have a TXOP limit of 0, meaning one frame per win.

Hidden nodes and RTS/CTS

Two stations on opposite sides of the AP can't hear each other, so carrier sense reports an idle medium while the other one is mid-frame, and both frames arrive at the AP together. With RTS/CTS the sender asks first with a short RTS. The AP's CTS is heard by everyone, including the hidden station, which sets its NAV and stays quiet. Collisions still happen, but only on the 52 µs RTS instead of the full DATA frame.

EIFS after a garbled frame

A station that receives a frame it can't decode doesn't know that frame's Duration value. To avoid stepping on an ACK that might follow, it waits EIFS instead of DIFS or AIFS before contending. The amber band in the timeline marks this.

What this model leaves out

Traffic is uplink only: stations send to the AP, and the AP sends only CTS and ACK. Each station carries one access category, so internal collisions between queues inside the same station aren't shown. Any overlap at a receiver destroys both frames (no capture effect). Every new frame draws a backoff, so immediate access on a long-idle medium isn't modelled. One retry counter replaces the separate short and long retry limits. Frame timing is legacy OFDM (802.11a/g style) with no A-MPDU, Block Ack, rate adaptation, or 802.11ax trigger-based access.