Multiple Access
Control Protocols
How do multiple devices share a single communication channel without chaos? This guide covers every protocol — from free-for-all random access to orderly controlled access and frequency-sliced channelization.
A broadcast (shared) link consists of multiple sending and receiving nodes all connected to or using a single shared link. Examples include cabled Ethernet (shared wire), Wi-Fi 802.11 (shared RF), satellite links, and 4G/5G radio.
When two or more nodes transmit at the same time, their frames collide and the link bandwidth is wasted. We need a protocol to coordinate transmissions. These protocols are called MAC (Medium Access Control) Protocols and belong to the MAC sublayer of the Data-Link Layer.
LLC — Logical Link Control
- Upper sublayer
- Responsible for error control and flow control
- Hides hardware differences from upper layers
MAC — Medium Access Control
- Lower sublayer
- Responsible for framing, MAC addressing, and Multiple Access Control
- The "traffic cop" of the shared link
Random → Controlled → Channelization — Think of increasing levels of order. Random = chaos with rules. Controlled = orderly turns. Channelization = everyone gets their own lane.
- Shared links need MAC protocols to prevent collision chaos
- Data-Link Layer = LLC (error/flow) + MAC (access control)
- Three protocol families: Random Access, Controlled Access, Channelization
In Random Access protocols, no station is superior to another and none is assigned control over another. Any station with a frame to send can use the link directly, based on a procedure defined by the protocol, to decide whether or not to send. All stations are equal peers.
Advantages: Simple, decentralized, no single point of failure, low delay at low traffic.
Disadvantages: In heavy traffic, delay has no bound. A station may never get a chance to transmit (unfair protocol). If M nodes want to transmit, the throughput per node will NOT be R/M due to collisions.
⚡ If only one node has frames, it transmits at the full rate R.
ALOHA is the classic random-access starting point: stations transmit without first sensing the channel, then recover if a collision happens. Pure ALOHA allows transmission at any time, so the vulnerable time is larger. Slotted ALOHA limits transmission to time-slot boundaries, reducing the vulnerable period and improving efficiency.
Memory hook: ALOHA talks first, CSMA listens first.
- No hierarchy — all stations equal
- Good for low traffic (low delay), bad for heavy traffic (unpredictable delays)
- Can be unfair — a station may starve
CSMA (Carrier Sense Multiple Access) is based on the principle: "listen before you talk." A station wanting to transmit should sense the medium for the presence of another transmission (carrier) before starting its own. This is possible because in LANs, propagation time is very small, so all stations know almost immediately when someone else is transmitting.
Can CSMA Eliminate Collisions?
CSMA can reduce the probability of collision, but cannot eliminate it. A collision can still happen when more than one station begins transmitting within a short time — specifically within the propagation time period.
starts transmitting
to Station Z
starts transmitting
The vulnerable time for CSMA is the maximum propagation time (tprop) — the time it takes for a bit of a frame to travel between the two most widely separated stations. During this window, another station might sense the channel as idle and transmit, causing a collision.
Key rule: The longer the propagation delay, the worse the performance of CSMA.
Imagine a very long hallway. If you shout from one end, it takes time for your voice to reach the other end. Someone at the other end might shout at the same time because they haven't heard you yet. That window of "not yet heard" = vulnerable time = propagation delay.
Vulnerable time = maximum propagation time. CSMA reduces (not eliminates) collisions. Longer propagation delay = worse CSMA performance. Collisions happen only during the propagation time window.
Different CSMA protocols answer two questions: What to do when the medium is idle? and What to do when the medium is busy?
Non-Persistent CSMA
- If idle → transmit immediately
- If busy → wait a random amount of time (backoff), then sense again (repeat)
- Stations are described as "deferential" (respectful of others)
Random delays reduce collision probability (different waiting times)
Bandwidth wasted if backoff time is large (channel stays idle even when stations have data)
1-Persistent CSMA
- If idle → transmit immediately
- If busy → continuously listen until idle; then transmit immediately with probability 1
- Stations are described as "selfish"
Avoids idle channel time — transmits the moment channel is free
If two or more stations become ready at the same time → collision guaranteed
p-Persistent CSMA
- Time divided into slots (each slot = maximum propagation delay)
- If idle → transmit with probability p, OR wait one slot with probability (1−p), then repeat
- If busy → continuously listen until idle, then repeat step above
Reduces collisions (like non-persistent) AND reduces idle time (like 1-persistent)
| Feature | Non-Persistent | 1-Persistent | p-Persistent |
|---|---|---|---|
| When idle? | Transmit immediately | Transmit immediately | Transmit with prob. p |
| When busy? | Wait random time, retry | Listen continuously, transmit when idle | Listen continuously, then use probability |
| Collision risk | Lower (random backoff) | Higher (everyone pounces) | Medium |
| Idle waste | Higher (random gaps) | Lower (transmits ASAP) | Lower |
| Personality | Deferential 🤝 | Selfish 😤 | Balanced ⚖️ |
| Slotted time? | No | No | Yes (slot = tprop) |
1-persistent always transmits with probability 1 when idle — it's a special case of p-persistent where p=1. That's why 1-persistent causes guaranteed collisions when multiple stations are waiting. p-persistent with p less than 1 staggers transmissions using probability, reducing the chance that multiple stations transmit simultaneously.
Non-persistent = Naps (goes away for a random nap when busy). 1-persistent = always 100% ready to pounce (selfish). P-persistent = uses Probability to be polite.
- Non-persistent: random backoff → fewer collisions, more idle waste
- 1-persistent: always transmit when free → no idle waste, but collision guaranteed if multiple stations waiting
- p-persistent: uses probability per time slot → best of both worlds
- p-Persistent slot size = maximum propagation delay
Even with CSMA, when a collision occurs, the channel remains unstable (wasted) until all colliding packets have been fully transmitted. This wastes bandwidth.
CSMA/CD (Carrier Sense Multiple Access with Collision Detection) adds the ability to detect a collision while transmitting and immediately abort — saving bandwidth by not finishing the colliding frame.
A node monitors the medium while transmitting using a transceiver. If the observed power is greater than the transmitted power of its own signal → a collision has been detected (another signal is overlapping).
(use CSMA persistence)
(compare signals)
Finish transmitting normally ✅
- Abort transmission immediately
- Send a jam signal (48 bits) to notify all stations
- Backoff for a random amount of time
- Reapply the CSMA persistence algorithm
The jam signal (48 bits) serves two purposes: (1) Notifies all stations that a collision has occurred so they discard the transmitted frame. (2) Ensures the collision signal lasts long enough to be detected by the furthest station on the network.
CSMA/CD is used in star topology with a Hub (IEEE 802.3, Ethernet). The jam signal is 48 bits. After collision → abort → jam → random backoff → retry. CSMA/CD reduces channel wastage by stopping transmission early when collision is detected. Used for Wired LAN.
Imagine two people start talking at the same time in a meeting. In plain CSMA, they both finish their full sentence even though nobody could understand either. In CSMA/CD, they immediately stop, say "sorry!" (jam signal), wait a random time, then try again. Much more efficient!
- CSMA/CD adds collision detection during transmission
- Detection: observed power > transmitted power → collision
- On collision: abort → jam signal (48 bits) → random backoff → retry
- Jam signal ensures all stations (even the farthest) know about the collision
- Used in IEEE 802.3 Ethernet, star topology with hub
Controlled Access (Scheduling) provides orderly, in-sequence access to the shared medium so that every station has a chance to transfer data. It is considered a fair protocol.
- Fair — every station gets a turn
- Each node is limited to throughput = R/M (where M = number of nodes)
- Eliminates collision completely
- More complex to implement
- Overhead from coordination
- Requires additional signaling/control messages
Random Access: Unfair — some stations may never transmit. When only one node → full rate R. When M nodes → collisions, throughput per node < R/M.
Controlled Access: Fair — every node guaranteed throughput = R/M. No collisions. Higher overhead.
Stations take turns transmitting a single frame at the full rate R bps. Transmissions are organized into variable length cycles. Each cycle begins with a reservation frame containing N minislots — one minislot per station.
-
Each cycle starts with a reservation frame containing N minislots (one per station)
-
When a station needs to send, it makes a reservation in its own minislot
-
By listening to the reservation interval, every station knows which stations will send and in what order
-
Stations that made reservations then send their data frames after the reservation frame, in order
5 stations: If only stations 1 and 4 have data, the cycle is: [Reservation frame: 1,0,0,1,0] → [Data station 1] → [Data station 4]. All stations know this order from the reservation frame.
In polling, stations take turns accessing the medium. There are two models: Centralized and Distributed polling.
Centralized Polling
- One device = primary station
- Others = secondary stations
- All data exchange goes through the primary
- To send data TO secondary: Primary sends a SELECT (SEL) frame with the secondary's address
- To receive data FROM secondary: Primary sends a POLL frame to ask if it has data; secondary responds with data or NAK
- Order: Round-Robin or predetermined
Distributed Polling
- No primary or secondary — all peers
- Stations have a known polling order list
- Station with highest priority goes first
- After transmitting, it passes access right to the next station in the polling list
- That station passes to the next, and so on
- Reservation and Token Passing are examples of Distributed Polling
SELECT frame: Primary → Secondary (primary wants to SEND data to the secondary). POLL frame: Primary → Secondary (primary asks: do you have data TO SEND to me?). If yes → secondary sends data. If no → secondary sends NAK.
SELECT = I Select you to receive my data (primary sending). POLL = I Poll you asking if you have data (primary receiving). Think of "polling" like a survey — asking everyone if they have something to say.
Token Passing implements a Distributed Polling System. A special frame called a token continuously rotates around a ring. Only the station holding the token can transmit.
-
A special frame called the token rotates continuously around the ring
-
A station with data waits for the free token to arrive
-
Station captures the token, makes it busy by inserting its data and adding the destination address
-
Station sends frames while the allocated time hasn't expired
-
When done (or time expires), station releases (frees) the token and passes it to the next station
-
The destination station receives the data and changes the token back to free
Token Passing is like a "talking stick" passed around a circle. Only the person holding the stick can speak. When done, they pass it to the next person. Everyone gets a fair turn, in order, with no interruptions.
Token Passing implements Distributed Polling. The token is a special frame. Stations must wait for the token — they cannot transmit without it. This eliminates collisions completely. The destination receives data and frees the token.
- All three methods (Reservation, Polling, Token) = fair protocols = R/M throughput per node
- All three eliminate collisions completely
- Reservation: minislots in a cycle; stations announce needs then transmit in order
- Polling: primary-controlled (centralized) or peer-controlled (distributed)
- Token: special rotating frame — hold it to transmit, then release it
Channelization is a multiple-access method in which the available bandwidth of a link is shared in time, frequency, or through code between different stations. Each station gets its own dedicated "slice" of the channel — no contention, no collision.
FDMA
Frequency
Division Multiple Access
The transmission medium is divided into M separate frequency bands. Each station is assigned one frequency band and transmits continuously on it.
Key limit: Each station is limited to throughput = R/M even if it's the only station with data (its frequency band is fixed).
Transmits: Continuously on assigned band
Example: Radio stations (each on its own FM frequency)
TDMA
Time
Division Multiple Access
The entire bandwidth is a single channel whose capacity is shared in time between M stations. Each station gets a time slot.
Key limit: A node must always wait for its time slot even if it's the only node with data. Throughput = R/M.
Transmits: Only during assigned time slot
Example: GSM (2G mobile phones)
CDMA
Code
Division Multiple Access
One channel carries all transmissions simultaneously. Each station encodes its data with a unique code before transmitting. Receivers use the code to decode only their intended data.
Divides by: Code
Example: 3G mobile networks
| Feature | FDMA | TDMA | CDMA |
|---|---|---|---|
| How channel is split | By frequency | By time | By code (all share same time and frequency) |
| Number of channels | M separate bands | 1 channel, M time slots | 1 channel, simultaneously |
| Transmits | Continuously on own band | Only during own time slot | All stations transmit at once |
| Max throughput/node | R/M (always) | R/M (always) | No strict per-node limit |
| Wasteful when idle? | Yes — band stays reserved | Yes — slot goes unused | Less so |
FDMA: like radio stations — each gets its own permanent frequency. Station 3 always uses frequency f₃, even at 3am with no listeners.
TDMA: like a roundtable meeting — everyone takes a turn speaking for a fixed time window. Even if you have nothing to say, you wait for your slot.
CDMA: like people in a multilingual room — everyone talks at once, but each person uses a different language (code), and the listener only understands their language.
FDMA = Frequency lanes (like highway lanes). TDMA = Time turns (like a roundtable). CDMA = Code secret (everyone talks, each decoded by its own key).
Both FDMA and TDMA limit each node to R/M throughput even when that node is the ONLY one with data. This is a key inefficiency of channelization compared to random access (where a single node can use full rate R).
- Channelization = dividing bandwidth by frequency, time, or code
- FDMA: M separate frequency bands; each station transmits continuously on its band
- TDMA: 1 channel, M time slots; each station waits for its slot
- CDMA: all transmit simultaneously; unique codes distinguish data
- FDMA & TDMA: always limited to R/M, even if only one node needs to send
| Protocol Family | Method | Fair? | Eliminates Collision? | Throughput (M nodes) | Key Use |
|---|---|---|---|---|---|
| Random Access | Non-Persistent CSMA | ❌ No | ❌ No | Less than R/M | General LAN |
| 1-Persistent CSMA | ❌ No | ❌ No | Less than R/M | General LAN | |
| CSMA/CD | ❌ No | ❌ No (detects only) | Less than R/M | Ethernet (802.3) | |
| Controlled Access | Reservation | ✅ Yes | ✅ Yes | = R/M | Satellite nets |
| Polling | ✅ Yes | ✅ Yes | = R/M | Mainframe nets | |
| Token Passing | ✅ Yes | ✅ Yes | = R/M | Token Ring | |
| Channelization | FDMA | ✅ Yes | ✅ Yes | = R/M (always) | Radio/TV broadcast |
| TDMA | ✅ Yes | ✅ Yes | = R/M (always) | GSM / 2G mobile | |
| CDMA | ✅ Yes | ✅ Yes | Flexible | 3G mobile |
Random Access (only 1 node): Can use full rate R. Random Access (M nodes): Due to collisions, throughput per node is NOT R/M — it's less.
Controlled Access: Fair, each node exactly R/M.
FDMA/TDMA: Each node always R/M — even when it's the only one with data (band/slot still reserved).
Multiple Access Basics
CSMA Variants
CSMA/CD
Controlled Access
Channelization
Key Numbers
Click any question to reveal the full answer and explanation.
A MAC (Medium Access Control) protocol is needed because when multiple stations share a single link (broadcast link), simultaneous transmissions cause collisions, wasting bandwidth. MAC protocols coordinate which station may transmit at any given time. They belong to the MAC sublayer of the Data-Link Layer, alongside the LLC sublayer (which handles error and flow control).
No, CSMA cannot eliminate collisions — it can only reduce them. Even though a station senses the channel before transmitting, there is a "vulnerable time" equal to the maximum propagation delay. During this window, another station may sense the channel as idle (because the first station's signal hasn't reached it yet) and also begin transmitting, causing a collision. The longer the propagation delay, the worse CSMA performance becomes.
Non-Persistent: When busy, waits a random amount of time (backoff), then senses again. Reduces collisions but wastes bandwidth during the random backoff. Stations are "deferential."
1-Persistent: When busy, continuously listens until the channel becomes idle, then transmits immediately (with probability 1). Reduces idle time but causes guaranteed collision if multiple stations are waiting. Stations are "selfish."
p-Persistent: When busy, continuously listens until idle, then transmits with probability p or waits one time slot with probability (1-p). Combines advantages of both: reduces both collisions and idle time. Time is divided into slots equal to the maximum propagation delay.
Detection: A node monitors the medium while transmitting using a transceiver. If the observed power on the medium is greater than the transmitted power of its own signal, it means another station is also transmitting — collision detected.
Steps after collision: (1) Immediately abort transmission. (2) Transmit a jam signal (48 bits) to notify all other stations of the collision, so they discard the received frame, and to ensure the collision signal reaches even the farthest station. (3) Wait (backoff) for a random amount of time. (4) Reapply the CSMA persistence algorithm to try again.
The jam signal serves two purposes: (1) It notifies all other stations that a collision has occurred so they discard the frame they were receiving. (2) It ensures the collision signal lasts long enough to be detected by the farthest station on the network. The size (48 bits) is chosen to be long enough that even the most distant station will detect the collision before the sender finishes the jam signal. CSMA/CD is used in IEEE 802.3 (Ethernet) with star topology using a hub.
Random Access (unfair): Any station can transmit based on a probabilistic procedure. In heavy traffic, some stations may never get the chance to transmit (starvation). When M stations transmit, collisions cause actual throughput per node to be less than R/M.
Controlled Access (fair): Provides ordered, scheduled access so every station is guaranteed a turn. Each node is limited to exactly R/M throughput (where R = channel rate, M = number of nodes). Also completely eliminates collisions.
In Reservation, transmissions are organized into variable-length cycles. Each cycle begins with a reservation frame containing N minislots — one per station. When a station wants to send data, it marks its own minislot in the reservation frame. All stations listen to the reservation frame, so they all know exactly which stations will transmit and in what order during that cycle. After the reservation frame, only the stations that made reservations send their data frames, in the order their minislots appeared. A station with no reservation marker remains silent.
SELECT frame: Sent by the primary when it has data to send TO a secondary station. It includes the address of the intended secondary. The secondary acknowledges (ACK), then the primary sends the data, and the secondary confirms receipt with another ACK.
POLL frame: Sent by the primary when it wants to receive data FROM a secondary. It asks: "Do you have anything to send me?" If the secondary has data, it sends it and the primary acknowledges. If the secondary has no data, it sends a NAK (Negative Acknowledgement). Polling can be done in Round-Robin or predetermined order.
Token Passing implements a Distributed Polling System (no primary station). A special frame called the "token" circulates continuously around a ring. Any station wanting to transmit must wait for the free token. When it arrives, the station captures it, makes it busy by inserting its data and the destination address, then transmits. When its allocated time expires or it has no more data, the station releases (frees) the token, passing it to the next station. The destination station receives the data and changes the token back to free. This completely eliminates collisions and ensures every station gets a fair turn.
Both FDMA and TDMA limit each node to throughput = R/M even when that node is the only node with data to send. In FDMA, the node is confined to its frequency band (which is M times narrower than the full channel). In TDMA, the node must wait for its assigned time slot even if all others are idle. In contrast, with Random Access, if a single node is the only one with data, it can transmit at the full channel rate R. This makes channelization protocols inefficient under low-load, bursty traffic conditions.
FDMA (Frequency Division Multiple Access): Divides the medium into M separate frequency bands. Each station is permanently assigned one band and transmits continuously on it at rate R/M.
TDMA (Time Division Multiple Access): Uses a single full-bandwidth channel divided into time slots. Each of M stations gets one slot per cycle and must wait its turn, transmitting at rate R/M averaged over time.
CDMA (Code Division Multiple Access): All stations transmit simultaneously on the same frequency. Each station encodes its data with a unique code before transmission. Receivers use the same codes to recover only their intended data. The signal on the channel is a combination: d₁·c₁ + d₂·c₂ + d₃·c₃ + ...
CSMA/CD (Collision Detection): Used in Wired LANs (IEEE 802.3, Ethernet, hub topology). While transmitting, stations monitor the medium. If observed power exceeds transmitted power → collision detected → abort → jam → backoff. Works because wired networks can detect the difference in power levels.
CSMA/CA (Collision Avoidance): Used in Wireless LANs (IEEE 802.11 Wi-Fi). Because wireless stations cannot simultaneously transmit and listen effectively (they can't detect their own collision easily), CSMA/CA tries to AVOID collisions before they happen using techniques like random backoff before transmission, RTS/CTS handshaking, and ACK-based confirmation.