Loading learning content...
Imagine you're managing a popular shared workspace with 100 desks and 200 people who need to work there throughout the day. How do you allocate the desks?
Option 1: Static Allocation "Each of you gets a desk for half the day. Person 1-100: 9 AM-2 PM. Person 101-200: 2 PM-7 PM." Simple, predictable, but wasteful when people don't show up during their slot.
Option 2: Dynamic Allocation "Desks are first-come-first-served. When you need one, check in. When you leave, check out." More efficient on average, but no guarantees—you might arrive when all desks are taken.
Option 3: Demand-Based Allocation "Request a desk when you need it. Based on your needs and current availability, you'll be assigned a time slot." Balances efficiency and predictability, but requires coordination overhead.
Channel allocation in networking follows the same principles. How should a shared communication channel's capacity be divided among competing users? This fundamental question underlies every MAC protocol design.
This page explores channel allocation from theoretical foundations to practical implementation, preparing you to understand why different protocols make different allocation choices.
By the end of this page, you will understand the theoretical foundations of channel allocation, the tradeoffs between static and dynamic approaches, performance analysis techniques, and how allocation decisions impact real network protocols. This completes the foundational knowledge needed for detailed protocol study.
Before diving into solutions, let's precisely define what we're trying to solve.
Given:
Find:
Constraints:
The channel allocation problem is challenging because of several competing factors:
Channel capacity can be divided along several independent dimensions:
Frequency (FDMA): Different stations use different frequency bands. Total bandwidth is partitioned.
Time (TDMA): Different stations transmit in different time slots. Frame duration is partitioned.
Code (CDMA): Different stations use different spreading codes. Code space is partitioned.
Space (SDMA): Different stations in different locations can use the same frequency/time (via directional antennas or spatial isolation).
Combinations: Modern systems like LTE/5G combine multiple dimensions (OFDMA uses both frequency and time).
There's a fundamental tension in channel allocation:
Static (pre-determined) allocation:
Dynamic (demand-based) allocation:
The art of MAC protocol design is finding the right position on this spectrum for the target application.
Static allocation (also called fixed allocation) pre-assigns channel capacity to stations before communication begins. Each station knows exactly when and how it can transmit, regardless of actual demand.
In classic FDMA (Frequency Division Multiple Access), the frequency spectrum is permanently divided:
Total Spectrum: 900-960 MHz (60 MHz)
Stations: 60
Allocation: Each station gets 1 MHz band
Station 1: 900-901 MHz (always available to Station 1)
Station 2: 901-902 MHz (always available to Station 2)
...
Station 60: 959-960 MHz (always available to Station 60)
Characteristics:
In classic TDMA (Time Division Multiple Access), time is permanently divided:
Frame Duration: 10 ms
Stations: 10
Allocation: Each station gets 1 ms slot per frame
Station 1: Slots 0-1 ms, 10-11 ms, 20-21 ms, ...
Station 2: Slots 1-2 ms, 11-12 ms, 21-22 ms, ...
...
Characteristics:
| Metric | FDMA | TDMA | Static CDMA |
|---|---|---|---|
| Capacity per station | Total / N | Total / N | Total / N (code limited) |
| Maximum delay | 0 (immediate access) | Frame period | 0 (immediate access) |
| Collision probability | 0 | 0 | 0 |
| Spectrum efficiency | ~85% (guard bands) | ~90% (guard times) | ~70% (spreading) |
| Idle waste | 100% of allocation | 100% of allocation | 100% of allocation |
| Synchronization | Not required | Critical (tight) | Not strictly required |
Consider a network with N stations sharing a channel of capacity C. With static TDM, each station gets C/N capacity.
Parameters:
Mean delay (M/M/1 queue model):
T_static = 1/(μ - λ) = L/(C/N - λL) = NL/(C - NλL)
Example:
Static allocation assumes all N stations need capacity continuously. In reality:
When Station A is busy and Station B is idle:
The M stations active problem: If only M < N stations have data at any time, static allocation gives each only C/N, but they could share C/M if allocation were dynamic.
Static: Each active station gets C/N
Dynamic: Each active station gets C/M (M ≤ N)
Multiplexing gain: N/M
For bursty traffic where typically M << N, this multiplexing gain is substantial—often 10x or more.
This inefficiency drove the development of dynamic allocation methods.
Despite inefficiency for bursty traffic, static allocation is ideal when traffic is continuous (voice, video streaming), Quality of Service guarantees are required, simplicity is valued, or the number of active users equals allocation slots (fully utilized).
Dynamic allocation assigns channel capacity based on current demand. Stations receive capacity only when they need it, allowing the channel to be shared more efficiently.
1. Contention-Based (Random Access) Stations compete for the channel when they have data. No pre-allocation; access determined by contention protocol.
2. Demand-Assigned (Reservation) Stations request capacity when needed; a scheduler grants access.
3. Centrally Scheduled A central controller monitors demand and assigns capacity.
The mathematical advantage of dynamic allocation comes from statistical multiplexing:
Scenario:
Static allocation: Need 100 Mbps capacity (1 Mbps × 100 users) Utilization: 10/100 = 10%
Dynamic allocation: Need ~15-20 Mbps capacity (10 Mbps average + safety margin for variance) Utilization: ~50-67%
Multiplexing gain: 100/15 to 100/20 = 5x to 6.7x
The more bursty the traffic (lower duty cycle), the greater the multiplexing gain.
Dynamic allocation can be modeled as a shared queue versus N separate queues.
N Separate Queues (Static Allocation):
Single Shared Queue (Ideal Dynamic):
Result (for identical stations):
T_static / T_dynamic = N × (1 - ρ) / (1 - ρ/N)
Where ρ = total traffic / capacity
For ρ = 0.5 and N = 10: T_static / T_dynamic ≈ 5.3
Dynamic allocation provides 5.3x better delay performance!
Demand-Assigned TDMA: Slots are not permanently assigned. Instead:
Used in satellite systems (DAMA) and some industrial networks.
Packet Reservation Multiple Access (PRMA): Hybrid for voice applications:
Combines efficiency of dynamic access with regularity needed for voice.
Cognitive Radio / Dynamic Spectrum Access: Modern approach where stations:
This moves allocation from static spectrum licensing to dynamic spectrum sharing—a frontier research area.
Dynamic allocation is more efficient on average but requires coordination. In contention systems, collisions waste capacity. In reservation systems, requests consume time/bandwidth. The net benefit depends on traffic burstiness: very bursty traffic benefits greatly from dynamic allocation; continuous traffic may not.
Beyond efficiency, a critical concern in channel allocation is fairness: ensuring that all stations receive reasonable access to the shared resource.
Fairness can be defined in multiple ways:
1. Equal Opportunity Fairness All stations have the same probability of successful transmission attempts.
2. Equal Throughput Fairness All stations achieve the same long-term throughput.
3. Proportional Fairness Throughput proportional to some weight (priority, subscription level).
4. Max-Min Fairness Maximize the minimum throughput across all stations.
| Metric | Definition | Perfect Fairness Value | Interpretation |
|---|---|---|---|
| Jain's Fairness Index | J = (Σx_i)² / (n × Σx_i²) | 1.0 | 1 = perfectly fair; 1/n = one user gets all |
| Coefficient of Variation | CV = σ/μ | 0.0 | 0 = no variation; higher = more unfair |
| Max/Min Ratio | max(x_i) / min(x_i) | 1.0 | 1 = equal; higher = more spread |
| Gini Coefficient | Area between Lorenz curve and equality line | 0.0 | 0 = perfect equality; 1 = total inequality |
The most commonly used fairness metric in networking is Jain's Fairness Index:
J(x₁, x₂, ..., xₙ) = (Σxᵢ)² / (n × Σxᵢ²)
Where xᵢ is the throughput (or other resource measure) for station i.
Properties:
Example:
4 stations with throughput: [10, 10, 10, 10] Mbps
J = (40)² / (4 × 400) = 1600/1600 = 1.0 (perfect)
4 stations with throughput: [40, 0, 0, 0] Mbps
J = (40)² / (4 × 1600) = 1600/6400 = 0.25 = 1/4 (worst case)
CSMA/CD Fairness: Binary exponential backoff creates some unfairness:
This "capture effect" can cause temporary unfairness, but long-term averages tend to equalize.
CSMA/CA Fairness: Wi-Fi's access mechanism can be unfair:
Token Ring: Intrinsically fair—each station holds the token for the same maximum time (Token Holding Time). Every station gets exactly one opportunity per token rotation.
Polling: Fairness depends on poll order and frequency. Equal polling = equal opportunity.
Equal TDMA/FDMA: Perfectly fair by allocation—each station gets equal slice.
Weighted allocation: Fairness relative to weights. If Station A has weight 2 and Station B has weight 1, A getting 2× B's bandwidth is "proportionally fair."
Strict fairness can reduce total throughput. If Station A has excellent channel conditions and Station B has poor conditions, giving both equal airtime means B wastes capacity with errors. 'Opportunistic scheduling' (prioritizing good channels) maximizes throughput but reduces fairness. Modern systems balance these goals.
Modern networks must support diverse applications with vastly different requirements. Quality of Service (QoS) mechanisms ensure that each application's needs are met through intelligent channel allocation.
Different applications have different sensitivities:
Real-Time Interactive (Voice, Video Conferencing):
Streaming Media (Video, Music):
Interactive Data (Web, Gaming):
Bulk Transfer (Downloads, Backup):
| Application | Max Latency | Max Jitter | Max Loss | Bandwidth Pattern |
|---|---|---|---|---|
| VoIP | 150 ms | 30 ms | 3% | Constant ~100 kbps |
| Video conference | 150 ms | 30 ms | 1% | Variable 1-4 Mbps |
| Streaming HD video | 5 seconds (buffer) | Handled by buffer | 0.1% | Constant 5-25 Mbps |
| Online gaming | 50 ms | 20 ms | 0% | Variable, bursty |
| Web browsing | 500 ms | Not critical | 0% | Highly bursty |
| File download | Any | Not applicable | 0% | Maximum available |
Priority Queuing: Traffic is classified into priority levels. High-priority traffic is always served before low-priority traffic.
Priority 1 (Highest): Voice
Priority 2: Video
Priority 3: Interactive data
Priority 4 (Lowest): Bulk transfers
Risk: Starvation—low priority may never get service under heavy load.
Weighted Fair Queuing (WFQ): Each traffic class gets a weight. Capacity is divided proportionally.
Voice: Weight 4 (gets 4 units of service per round)
Video: Weight 3 (gets 3 units per round)
Data: Weight 2 (gets 2 units per round)
Best-effort: Weight 1 (gets 1 unit per round)
Advantage: Prevents starvation while providing differentiated service.
Token Bucket Shaping: Limit burst size while allowing average rate:
Admission Control: Before accepting a new flow (voice call, video stream), check if network can support it:
Prevents overcommitment that would degrade all flows.
Ethernet (IEEE 802.1p):
Wi-Fi (IEEE 802.11e/WMM):
Cellular (LTE/5G):
DOCSIS (Cable):
MAC-layer QoS is necessary but not sufficient. A voice call traverses many links; each must provide appropriate service. IntServ (reservations) and DiffServ (per-hop behavior) are network-layer QoS architectures that extend the concept beyond single links.
Modern networks employ sophisticated allocation strategies that combine elements from static and dynamic approaches. Let's examine how real systems solve the allocation problem.
Cellular networks use fully dynamic scheduling with centralized control:
Resource Blocks:
Scheduler Inputs:
Scheduler Output:
Scheduling Algorithms:
Wi-Fi 6 introduced multi-user OFDMA for finer-grained allocation:
Before (802.11ac): Entire channel (20/40/80/160 MHz) allocated to one user per transmission.
After (802.11ax): Channel divided into Resource Units (RUs). Multiple users can be scheduled simultaneously in different RUs.
20 MHz channel divisions:
- 1 × 242-tone RU (full channel, one user)
- 2 × 106-tone RUs (two users simultaneously)
- 4 × 52-tone RUs (four users simultaneously)
- 9 × 26-tone RUs (nine users simultaneously)
Benefits:
| System | Allocation Type | Granularity | Key Innovation |
|---|---|---|---|
| LTE/5G | Dynamic scheduled | Resource Block (time × freq) | Fast per-TTI scheduling with CQI feedback |
| Wi-Fi 6 | Dynamic (OFDMA + contention) | Resource Unit (frequency) | Multi-user in single transmission |
| DOCSIS 3.1 | Dynamic scheduled | Mini-slot | Per-flow QoS scheduling |
| GPON | Dynamic TDMA | Time slot | Bandwidth Map allocates upstream slots |
| Satellite (DVB-S2X) | Dynamic TDMA/MF-TDMA | Time slot | ACM adapts to weather conditions |
Satellite systems face unique challenges (long delays, expensive bandwidth) that drive sophisticated allocation:
DVB-RCS2 Return Link:
Efficiency mechanisms:
Data center fabrics use different approaches:
Priority Flow Control (PFC):
Explicit Congestion Notification (ECN):
RDMA over Converged Ethernet (RoCE):
Modern networks increasingly move from distributed contention to centralized scheduling. Better channel feedback, faster processors, and ML-based predictions enable schedulers to make near-optimal allocation decisions. The tradeoff: more complexity, potential single points of failure, and signaling overhead.
We've completed our exploration of channel allocation—the theoretical and practical frameworks for sharing network capacity. Let's consolidate the key insights:
With this page, you've completed Module 1: Multiple Access Overview. You now possess a comprehensive understanding of:
This foundation prepares you to study specific MAC protocols in depth. The subsequent modules in this chapter will cover:
Each protocol will make intuitive sense because you understand the category it belongs to, the problem it solves, and the tradeoffs it makes.
Congratulations! You've mastered the fundamental concepts of Medium Access Control. You understand why MAC protocols exist, how they're categorized, and the principles underlying channel allocation. This conceptual foundation will make every subsequent protocol discussion immediately comprehensible.