艺术
美容与健康
工艺
文化与历史
娱乐
环境
食品与饮料
逆向工程
科学
体育
技术
可穿戴设备

ALOHA and Random Access
The University of Hawaii had a problem no mainland university had. Its campuses were on different islands, leased telephone lines between islands were expensive and poor, and the terminals needed to reach one computer in Honolulu.
Norman Abramson's answer in 1971 was to give up on coordination entirely. Every terminal shares one radio channel. When it has something to send, it sends. If two transmissions overlap, both are destroyed — and the sender finds out because the acknowledgement does not come back on the separate downlink, so it waits a random time and tries again.
It sounds like it should not work, and the remarkable thing is exactly how badly it works: the maximum throughput of pure ALOHA is one over two e, about eighteen percent of the channel. Eighty-two percent is spent on collisions and silence. But eighteen percent of a shared channel that needs no scheduler, no master station and no coordination at all was far more than the islands had before.
Then Larry Roberts noticed in 1972 that most of the waste is the sloppy timing. If everyone may only begin on a slot boundary, a packet can only be ruined by something starting in the SAME slot rather than in a window two packets wide. Halving the vulnerable period doubles the throughput to one over e, about thirty-seven percent, for the cost of a shared clock.
This blueprint and the Ethernet one that follows share a rig, deliberately. Build the hardware once, run it blind, then slotted, and measure the two numbers yourself before adding the one thing ALOHA cannot do — listen first.
中级
4 hours
说明
1
1
Build the shared channel
Build the shared channel
Four microcontrollers, one shared channel, no master. The simplest honest version is a single wire pulled up to the rail by one resistor, with every board driving it through a diode or an open-drain output — so anyone may pull it low and nobody can force it high.
If you would rather it be radio, as ALOHAnet was, point four infrared LEDs at one phototransistor. Either way the essential property is the same: two stations transmitting at once produce garbage that neither of them, and no receiver, can decode.
Add a fifth board as the receiver and the acknowledgement source. It listens, checks the CRC from blueprint 2, and pulses an acknowledgement line when a frame is good. That acknowledgement is the ONLY feedback a sender gets, and its absence is the only way a sender ever learns a collision happened.
Keep this rig assembled. The next blueprint uses it unchanged.
此步骤所需材料:
Resistor Kit1 个
LED Assortment1 个
Optical Detector / Phototransistor - QRD11141 个
Jumper Wire Set1 个所需工具:
ESP32 Development Board
Breadboard - Classic
Digital Oscilloscope
Bench Power Supply (30V/5A)2
2
Measure 18 %, then measure 37 %
Measure 18 %, then measure 37 %
Program every station identically: when it has a frame, send it immediately; if no acknowledgement arrives within a timeout, wait a random interval and retry. That is pure ALOHA and nothing more.
Sweep the offered load by changing how often each station generates a frame, and at each setting count frames DELIVERED per unit time against frames ATTEMPTED. Plot it.
You will find the curve rising, peaking near eighteen percent, and then FALLING as you push harder. Do not stop at the peak — the falling half is the important half, and watching a channel deliver less as you offer more is the clearest possible demonstration of congestion collapse.
Now add a shared clock: have the receiver pulse a slot line and let stations begin only on that pulse. Change nothing else. Re-run the sweep. The peak roughly doubles, to about thirty-seven percent, and it moves to a higher offered load.
One shared clock, twice the throughput. Write both numbers down; blueprint 8 beats them.
所需工具:
ESP32 Development Board
Digital Oscilloscope
Desktop Computer
Stopwatch3
3
One sketch, four protocols
One sketch, four protocols
This sketch is the rig for this blueprint AND the next one, and that is deliberate: only the MODE constant changes between them, so any difference you measure is the protocol and nothing else.
Set MODE to MODE_ALOHA_PURE on all four boards and sweep OFFER_PCT from 5 to 100, recording delivered against sent at each point. Then set MODE_ALOHA_SLOTTED, feed the slot clock from the monitor board, and sweep again.
Keep both curves. Blueprint 8 changes one line and beats them.
shared_medium.inocpp
此步骤所需材料:
Resistor Kit1 个
LED Assortment1 个
Jumper Wire Set1 个所需工具:
ESP32 Development Board
Breadboard - Classic
Digital Oscilloscope
Desktop Computer4
4
The two curves, and what backoff is for
The two curves, and what backoff is for
正在加载 Jupyter 笔记本…
所需工具:
Desktop Computer5
5
Compendium: the value of no coordination
Compendium: the value of no coordination
WHY EIGHTEEN PERCENT WAS A BARGAIN. The alternative in 1971 was polling or a fixed assignment: give each terminal a guaranteed slice. With a hundred terminals of which three are active, fixed assignment gives each one percent of the channel and wastes ninety-seven. ALOHA gives the active ones eighteen percent BETWEEN THEM, with no master station, no schedule, and no way for the network to break when a terminal is switched off. Random access wins whenever the population is large and the duty cycle is small — which is the same condition that made packet switching win two blueprints ago.
WHERE IT WENT. ALOHA is not a historical curiosity: it is the direct ancestor of every shared radio channel since. GSM and LTE use slotted ALOHA for the random-access channel a handset uses to ask for a scheduled allocation. WiFi's CSMA/CA is ALOHA with listening added and collision DETECTION removed, because a radio still cannot hear while it transmits. Satellite terminals, RFID readers and LoRaWAN all do a version of it. The eighteen percent was never the point — the absence of a scheduler was.
THE SIBLING, AND THE MEASUREMENT. Pure ALOHA, 18.4 %: no coordination whatever. Slotted, 36.8 %: one shared clock. CSMA/CD, above 90 %: stations that can hear the channel before and while they speak. Each step buys throughput with a stronger assumption about what a station can sense, and blueprint 8 pays the last one on the rig you have already built.
材料
4- 起$5.79
- 占位符
- $1.21
- 占位符
所需工具
6- Breadboard - Classic10% 佣金$9.67
- Digital Oscilloscope10% 佣金Magento Legacy Storeships internationally占位符
- 占位符
估计总额
制作者买了什么。未标价的材料,在你购买的地方获取。
相关蓝图
这些蓝图共享知识——技术、材料或原理
CC0 公共领域
此蓝图以 CC0 协议发布。你可以自由复制、修改、分发和使用此作品,无需征得许可。
通过购买蓝图中的产品支持创客,他们将获得 创客佣金 (由供应商设定),或创建此蓝图的新版本并将其作为连接包含在你自己的蓝图中以分享收入。



