graph TD
A["Oahu"] ---|radio| S["Shared Channel"]
B["Maui"] ---|radio| S
C["Big Island"] ---|radio| S
D["Kauai"] ---|radio| S
style S fill:#e74c3c,stroke:#c0392b,color:white
CS176C — Advanced Topics in Internet Computing
2026-04-14
Lectures 1–4: You built the four-invariant framework on systems you already knew — TCP, DHCP, DNS, routing, BGP, SDN.
Today: A new domain where the framework meets physics.
By the end of this lecture: You will understand the assumption cascade that drives medium access evolution — and why it hits a physics wall when you move from wires to radio.
ALOHA to CSMA/CA: The Assumption Cascade
The physics you cannot engineer away:
A's view B's view Reality
┌────────┐ ┌────────┐ ┌────────┐
│ "idle" │ │ A + C │ │ A + C │
│ │ │COLLIDE │ │COLLIDE │
└────────┘ └────────┘ └────────┘
A transmits B receives Both frames
can't hear C both signals destroyed
Environment is global.
Measurement is local.
This gap between environment and measurement is where every medium access failure lives.
Path loss — signal decays with distance AND frequency:
Why low frequency propagates farther:
Why high frequency offers more capacity:
The tradeoff in practice:
| Band | Range | Bandwidth | Antenna | Used by |
|---|---|---|---|---|
| 900 MHz | km | Narrow | 16 cm | Early cellular |
| 2.4 GHz | ~50 m | 85 MHz | 6 cm | WiFi b/g/n |
| 5 GHz | ~30 m | 500 MHz | 3 cm | WiFi a/ac/ax |
| 6 GHz | ~25 m | 1.2 GHz | 2.5 cm | WiFi 6E |
| 28 GHz | ~200 m LOS | GHz+ | 5 mm | 5G mmWave |
SNR determines what you can do:
Spectrum licensing drives protocol design:
Spectrum availability drives design:
:::
The setup:
The constraints:
graph TD
A["Oahu"] ---|radio| S["Shared Channel"]
B["Maui"] ---|radio| S
C["Big Island"] ---|radio| S
D["Kauai"] ---|radio| S
style S fill:#e74c3c,stroke:#c0392b,color:white
Turn to your neighbor: design a protocol. How do you decide when to transmit?
What did your group propose? Most of you said some version of “just send it.”
That’s exactly what Abramson did.
Protocol: Transmit whenever you have data. If collision, wait random time, retry.
Time ──────────────────────────────────►
t-T t t+T
│ │▓▓▓▓▓▓▓▓│
│ │ YOUR │
│ │ FRAME │
│◄──────── 2T ─────►│
│ VULNERABLE WINDOW │
│ │
▲ overlap ▲ overlap ▲ safe
(they finish late) (they start early)
The throughput formula:
For Pure ALOHA: window = \(2T\)
\[S = G \cdot e^{-2G}, \quad \text{peak at } G=0.5: \textbf{18.4\%}\]
Over 80% wasted. With zero shared state, this is a hard ceiling.
ALOHA wastes 80% of capacity. The vulnerable window is \(2T\). How would you shrink it?
15 seconds — think about it.
Roberts’ idea: Synchronize all transmitters to a common slot boundary.
Pure ALOHA: vulnerable window = 2T
├──────── 2T ────────┤
Slotted ALOHA: frames align to slot edges → vulnerable window = T
├────── T ──────┤
Same formula, smaller window:
\[S = G \cdot e^{-G \cdot (T/T)} = G \cdot e^{-G}, \quad \text{peak at } G=1.0: \textbf{36.8\%}\]
Halving the window doubled throughput. \(G\) didn’t change meaning — only the window did.
Cost: You need a shared clock — one bit of global state (the slot boundary).
The pattern: Halving the vulnerable window doubled throughput. What if you could shrink it further?
Kleinrock and Lam (1975) observed two fatal flaws:
Instability under load. As traffic increases, collisions increase → retransmissions increase → more collisions. Positive feedback collapses throughput to zero. The channel has a bistable equilibrium — it randomly flips between working and collapsed states.
Stations ignore available information. In a local network, propagation delay \(\tau\) is tiny (\(\sim 5\) µs). A station can hear other transmissions almost instantly — but ALOHA doesn’t bother to listen.
. . .
The waste: stations transmit into a channel they could have known was busy, if only they had checked.
Slotted ALOHA: "just transmit"
A: [──── TRANSMIT ────]
B: [──── TRANSMIT ────] ← collision!
↑
B could have HEARD A
(τ ≈ 5 µs, T ≈ 1 ms)
but the protocol doesn't
ask B to listen first.
Free information, thrown away.
Student exercise: Given what Kleinrock observed — that stations can hear each other almost instantly — redesign the protocol. How does it change?
30 seconds — discuss with your neighbor.
CSMA — Carrier Sense Multiple Access (Kleinrock & Tobagi, 1975):
Carrier sensing = detecting energy on the medium. If your receiver picks up a signal above the noise floor, someone is transmitting — the “carrier” is present. Sense the carrier before you transmit.
. . .
But the assumption can fail:
“If I hear idle, it’s idle everywhere” — wrong.
◄──── transmission time T ────►
◄τ► (propagation delay, tiny)
A: idle ├═══════ TRANSMIT ═══════════╡
↑ A starts
│
├─τ─┤ A's signal traveling to B
↓
B: idle ·····╠═══ TRANSMIT ══════════╡
↑ B senses idle (A's signal
hasn't arrived yet!)
COLLISION at receiver
ALOHA vulnerable window: ◄── 2T ──►
CSMA vulnerable window: ◄τ►
↑ tiny!
On a LAN: \(T \approx 1\) ms, \(\tau \approx 5\) µs → vulnerable window shrinks 200×. Throughput jumps from 36.8% to ~80–90%.
On a wire, signals combine at every point. You can hear the medium while transmitting.
Student question: If you could detect a collision during transmission, what would you do differently than CSMA?
Metcalfe’s answer:
Time ──────────────────────────────►
A: [sense idle][TRANSMIT───✕ abort!][jam][ backoff ]
↑ collision detected
│ in ~51.2 µs
B: [sense idle][TRANSMIT───✕ abort!][jam][ backoff ]
Both detect within 51.2 µs (round-trip
for max-length Ethernet segment).
Only a few bytes wasted.
Key numbers: At 10 Mbps, 512 bit-times = 51.2 µs. Collision detected and resolved in microseconds. Utilization: ~95%+.
Why it works: On a wire, all signals combine at every point — a transmitter can hear other signals while transmitting. The wire is a shared bus where interference is directly observable.
CSMA/CD works beautifully on a wire. Can we do the same on radio?
10 seconds — what’s different about wireless that might break this?
The root cause is transmission power, which is dictated by the medium:
Guided medium (wire):
TX signal: ████ (0 dBm)
Other signal: ███ (-3 dBm)
Ratio: ~2× → easily distinguishable
Unguided medium (radio):
TX signal: ████████████████ (-10 dBm)
Other signal: ▪ (-60 dBm)
Ratio: 100,000× → invisible
The chain: unguided medium → high TX power needed → own signal drowns incoming → cannot sense while transmitting → collision detection impossible → must avoid, not detect.
Each generation broke the previous generation’s binding assumption:
| Generation | Shared State Added | Throughput | Key Assumption Broken |
|---|---|---|---|
| Pure ALOHA | Nothing | 18.4% | “Transmit whenever” |
| Slotted ALOHA | Slot boundary | 36.8% | “Align to slots” |
| CSMA | Channel busy/idle | ~80-90% | “If idle here, idle everywhere” |
| CSMA/CD (wired) | Collision signal | ~95%+ | “Can hear own collision” |
Wireless can’t do CSMA/CD. The assumption cascade hits a physics wall.
How does wireless close the feedback loop? That’s where we pick up next lecture.
What Happens When Physics Changes?
CSMA works because \(\tau \ll T\) — you hear others almost instantly.
What happens when that breaks?
Geostationary satellite: \(\tau = 125\) ms, \(T \approx 5\) ms.
What is \(\tau / T\)? Is carrier sensing useful?
\(\tau / T = 25\). You sense signals that are 25 frame-times old. By the time you hear “busy,” 25 frames could have started and finished. Carrier sensing is useless — you’re back to ALOHA.
You’re the satellite network engineer. Ground stations can’t hear each other. CSMA is useless.
2 minutes — design a MAC. Discuss with your neighbor.
Guiding questions (reveal one at a time):
The natural solution: centralized scheduling. The satellite allocates time slots (TDMA). This is exactly what real satellite systems do (DVB-RCS).
Now the hard question: What if there’s no central controller?
Underwater acoustic network: sound at 1,500 m/s, sensors 1 km apart → \(\tau = 670\) ms, \(T = 100\) ms. \(\tau / T = 6.7\). No infrastructure underwater.
You’re stuck near ALOHA. This is an open research problem.
The insight: The choice between contention and scheduling is not ideological — it is driven by \(\tau / T\). When \(\tau \ll T\), sensing works. When \(\tau \gg T\), centralization becomes necessary. Same physics, same framework.
Wireless can’t detect collisions. So what does it do instead?
Reading: Book Ch 3, §Act 2 (CSMA) through §Act 5 (Cellular Alternative)
Anchor: Shared-medium physics — broadcast, location-dependent sensing
The assumption cascade: each generation adds shared state, shrinks the vulnerable window
| Invariant | ALOHA | CSMA | CSMA/CD |
|---|---|---|---|
| State | None | Channel busy/idle | Collision signal on wire |
| Time | Continuous (Pure) / Slotted | Propagation-delay limited | Microsecond detection |
| Coordination | Random retransmit | Listen-before-talk | Detect + abort + jam |
| Interface | Best-effort broadcast | Improved by sensing | Near-perfect with BEB |
The wireless fork: unguided medium → high TX power → can’t sense while transmitting → CSMA/CD impossible.
Next: How does wireless close the loop without collision detection?