I have a modest proposal: I would like to see a
HamWan-like network spanning the eastern
seaboard, from (at least) Washington, DC into Nova Scotia.
Ok, maybe that’s not so modest.
Regardless, I envision hams running a high-speed microwave data
network providing both IPv4 and IPv6, with multiple Internet
peering points. This network would provide a true resource
complex for radio amateurs, with hosts on the network providing
a variety of services for research, experimentation,
collaboration, and even emergency communications.
I imagine using this resource to interconnect AX.25 networks
using this resource, providing AXUDP over the microwave network
to interconnect low-speed packet networks.
With such infrastructure in place, we can begin to think about
what the future might hold for amateur radio internetworking.
Robert Quattlebaum, N6DRC, has
designed a next generation link-layer protocol for amateur radio
designed to directly support IP networking. Dubbed
ARNGLL for “Amateur
Radio Next-Generation Link-Layer”, this is roughly based on the
6LoWPAN standard for IPv6 connectivity for low-power devices. I
have been working with him (slowly) in our mutual spare time to
develop a reference implementation of the protocol and the
associated ARNCE
(Amateur Radio Numeric Callsign Encoding) specification, which
describes how to convert callsigns into a numeric representation
suitable for direct use as a station address.
An advanced future?
In the future, I envision a high-speed, long distance microwave
amateur radio internetwork based on TCP/IP, peered with the
Internet, with slow- and medium-speed devices connected with IP
over ARNGLL and AX.25 tunneled over AXUDP.
So I have an AMPRNet allocation and a packet station. These are
tremendous resources, but their existence immediately begs the
question: what should I do with them?
In the post I made about
AMPRNet, I mentioned the documentary
film
Computer Networks: The Heralds of Resource Sharing
that goes into detail about the origins of the ARPNANET, the
forerunner to today’s Internet. In that film, at about the 9:05
mark, is a quote from Frank Heart at Bolt, Beranek and Newman
that I find fascinating:
As soon as the network began working, we really had a
nationwide resource complex. And this resource complex was
very attractive to many users who had no resource of their own
to really contribute. These people wanted direct terminal
access to the net even though they had no host to get that
access through. So we designed a new kind of IMP; we called
it a Terminal Interface Message Processor; we call it a TIP
for short. And this machine really includes a very tiny
mini-host. With this TIP, many different kinds of terminals
can be directly connected to the TIP or can be dialed in
through low-speed lines to the tip and can provide access to
the entire nationwide resource pool to users at various kinds
of terminals.
The critical, and intriguing thing here, is the realization that
the ARPANET was designed to provide access to shared resources
to its users. Later in the documentary, at roughly 15:06, Prof.
Fernando J. Corbató, principle investigator of the
MIT Multics
project, goes on to say:
One of the things that is coming out as people begin to use
the network more and more is that they must have, at the
nodes of the network, computers which are of a Multics-like
class, or essentially a major computer utility which is
capable of manipulating information because the network
itself doesn’t hold information, doesn’t keep information;
an important design criteria, in fact.
That is, while the networks themselves provide access, it is
important that they provide access to some kind of resource
complex.
As hams, we’ve got networks: we have the AX.25 and NET/ROM
packet network, and we have the AMPRNet. These are powerful
means of communications, but what resources are available for
use? What are we sharing on those networks? And how are we
manipulating the information that traverses them?
As near as I can tell, most modern use of AX.25 is for NTS-style
traffic handling. There’s certainly nothing wrong with that and
it is undeniably useful, but what else? The AMPRNet seems
mostly just not used.
We can do better.
Creating a Resource Complex.
I decided to approach this problem by creating my own complex of
resources accessible to our networks. To start, I installed a
modern computer running
Unix on my AMPRNet
segment. This machine is powerful: it has 16 Intel i7 threads,
64 GiB of RAM and a 1TB NVMe SSD. It runs
DragonFly BSD, a derivative
of 4.4BSD. I am happy to give accounts to other hams, and is
accessible as kz2x.ampr.org
.
I have also made this machine available for interactive use over
AX.25 and NET/ROM. Connecting to the KZPAD:KZ2X-3
NET/ROM
node or to KZ2X-1
on 145.090 MHz in the greater Boston area
will allow hams to connect it, login, write and run programs,
play games, send and receive local mail, access the Internet,
etc.
This experiment was a tentative success: I have an RF-accessible
networked timesharing system. But what else can one do?
Going back to Corbató’s comment about a major computing utility
of a Multics-like class at the nodes of the network, I asked
myself, “why not just provide access to Multics?”
And that’s what I’ve done. I set up an instance of Multics on
an emulated Honeywell/Bull DPS8/M mainframe, and made it
similarly accessible via AX.25 and TCP/IP. This worked
surprisingly well, which then led to installation of a
DECSYSTEM-20 running TOPS-20, a VAX 3900 running VAX/VMS,
another VAX running 4.3BSD Unix, a PDP-11/93 running RSTS/E
10.1-L, a PDP-11/70 running 7th Edition Unix, a CDC Cyber 175
running NOS 2.8.7, and an IBM 4381 mainframe running VM/370.
These machines are all virtualized on modern hardware, but are
interconnected locally using both TCP/IP and DECnet, accessible
from the Internet via AMPRNet, and accessible from AX.25 and
NET/ROM via KZPAD:KZ2X-3
.
Interestingly, since so many of these systems date from an era
where computers were accessed via line-oriented terminal
concentrators, using low-bandwidth serial lines and high-latency
mechanical teletypewriters, they are very well suited for use in
low-bandwidth, high-latency, high-loss RF environments like
AX.25.
Here is an example of an interactive Multics session:
Multics MR12.7: KZ2X Computing Complex (Channel d.h001)
Load = 6.0 out of 90.0 units: users = 6, 01/16/22 1832.4 est Sun
l KZ2X
Password:
You are protected from preemption until 18:32.
KZ2X.Ham logged in 01/16/22 1832.5 est Sun from ASCII terminal "none".
Last login 01/13/22 0856.5 est Thu from ASCII terminal "none".
No mail.
r 18:32 0.766 54
ls -a
Segments = 6, Lengths = 5.
r w 1 skull.txt
r w 1 KZ2X.profile
r w 1 start_up.ec
r w 1 hello.pl1
0 KZ2X.mbx
r w 1 KZ2X.value
Directories = 1.
sma exec_com
r 18:32 0.037 0
who -lg
Multics MR12.7; KZ2X Computing Complex
Load = 7.0 out of 90.0 units; users = 7, 2 interactive, 5 daemons.
Absentee users = 0 background; Max background absentee users = 3
System up since 12/25/21 1512.1 est Sat
Last shutdown was at 12/25/21 1510.9 est Sat
Login at TTY Load User ID
12/28/21 21:41 none 1.0 Cross.SysEng
01/16/22 18:32 none 1.0 KZ2X.Ham
r 18:32 0.038 0
logout
KZ2X.Ham logged out 01/16/22 1833.0 est Sun
CPU usage 1 sec, memory usage 0.2 units, cost $0.07.
hangup
Multics has disconnected you
As far as I know, accessing Multics in this way over AX.25 is an
historical first.
Similarly, here is TOPS-20 session in which I write a small Lisp
program and run it interactively:
CONNECTING TO TOPS20
Trying 44.44.107.10...
Connected to tops20.kz2x.ampr.org.
Escape character is 'off'.
KZ2X Twenex, PANDA TOPS-20 Monitor 7.1(21733)-4
--> Amateur Radio DECSYSTEM-20
This system is for authorized use only. It is part of
the KZ2X amateur radio computing resource complex. For
problems or questions, send email to root@kz2x.ampr.org.
@log KZ2X
Job 9 on TTY44 vhf1.kz2x.ampr.org(TCP) 16-Jan-2022 18:58:18
Last interactive login 16-Jan-2022 18:56:32
Last non-interactive login Never
@dir
TOPS20:<KZ2X>
HELLO.CLISP.1
LOGIN.CMD.1
SKULL.TXT.1
Total of 3 pages in 3 files
@type hello.clisp
(defun hello (who)
(format t "Hello, ~A!~%" who))
@clisp
Uppsala Common Lisp, Version of 15-Dec-1987, (c) 1985, C. Hedrick
Please mail bugs and suggestions to BUG-CLISP@tops20.kz2x.ampr.org
Use (NEWS) to see what's new in this version.
CL>(defun hi (who)
(format t "Hi, ~A~%" who))
HI
CL>(load "hello")
;Loading tops20.kz2x.ampr.org::TOPS20:<KZ2X>HELLO.CLISP.1 into package USER.
T
CL>(hello "Dan")
Hello, Dan!
NIL
CL>(hi "Amateur Radio")
Hi, Amateur Radio
NIL
CL>(pprint #'hi)
(LAMBDA (WHO)
(BLOCK HI
(FORMAT T "Hi, ~A~%" WHO)))
CL>(quit)
@sy
Sun 16-Jan-2022 18:59:35 Up 99:59:13
1+8 Jobs Load av 0.01 0.01 0.01
No operator in attendance
System is remedial
Job Line Program User Origin
9* 44 SYSTAT KZ2X vhf1.kz2x.ampr.org(TCP)
1 13 OPR OPERATOR
2 DET SYSJB1 OPERATOR
3 14 RESOLV OPERATOR
4 15 NETSRV OPERATOR
5 16 SMTJFN OPERATOR
6 17 MMAILR OPERATOR
7 20 IMAPSV OPERATOR
8 21 FTS OPERATOR
@logout
Killed Job 9, User KZ2X, TTY44 vhf1.kz2x.ampr.org, at 16-Jan-2022 18:59:40
Used 0:00:00 in 0:01:21
Connection closed by foreign host.
HOST TOPS20 DISCONNECTED
As of today, the following hosts are available in the KZ2X
Computing Resource Complex:
System Name |
Description |
UNIX |
x86_64 Unix Host |
BSD |
VAX 3900 4.3BSD |
V7 |
PDP-11/70 7th Edition Unix |
RSTS |
PDP-11/93 RSTS/E |
MULTICS |
DPS8/M Multics |
VM |
IBM 4381 VM/CMS |
VMS |
VAX 3900 VAX/VMS |
TWENEX |
DECSYSTEM-20 TOPS-20 7.1 (Panda) |
CYBER |
CDC 6600 series Cyber 175 NOS 2.8.7 |
|
|
[Note that the IBM mainframe isn’t directly accessible, as the
3270 protocol cannot be easily tunneled over AX.25. But it is
accessible via AMPRNet.]
Conclusion
Using these systems in conjunction with amateur radio is not
only fun, but it’s exciting. The things we can do with even
antiquated systems with providing interesting, entertaining, and
genuinely useful services to ourselves and served organizations
is limited only by our imaginations and Part 97.
What other resources does it make to introduce into our amateur
radio milieux?
Did you know that amateur radio operations have access to our
own dedicated, globally accessible, IP network? We do!
AMPRNet, sometimes
colloquially called 44Net, is a large space of IP address space
reserved exclusively for use by hams. It is administered by
Amateur Radio Digital Communications, a
non-profit organization dedicated to the advancement of amateur
radio.
It is also a ridiculously underutilized resource. Every radio
amateur ought to request an allocation; seriously, there is no
reason not to, and most of the space is simply going to waste.
Get your allocation now!
Brief History of the Internet and AMPRNet
In the beginning was the
ARPANET, an experiment
in wide-are packet-switched computer networking. Starting under
the auspices of the US Department of Defense’s Advanced Research
Projects Agency (ARPA), ARPANET was the prototype for what would
become the modern Internet.
For background Information, I highly recommend the book,
Where Wizards Stay Up Late: The Origins of the Internet
by Katie Hafner and Matthew Lyon. Also, the contemporary
1972 documentary,
Computer Networks: The Heralds of Resource Sharing
gives a wonderfully prescient view into the early days of
computer networking. The early ARPANET designers foresaw almost
everything we take for granted on the Internet of today,
including cloud computing!
The ARPANET project was a great success, and several years into
it, the focus turned to inter-networking: that is, networking
networks of computers, bridging them together into an
inter-network, or “internet”. An intense period of research and
design starting in the late 1970s lead to the development of the
Internet Protocol suite in the 1980s. The so called TCP/IP
suite consisted of a set of layered protocols with the the
Internet Protocol and its adjacent Internet Control Message
Protocol sitting on top of even lower-level device and link
layer protocols, with the higher-level Transmission Control
Protocol (TCP) and User Datagram Protocol (UDP) layered on top
of IP. These formed the basis for application-level protocols
such as TELNET and FTP on top of TCP, and the Domain Name
Service on top of UDP. TCP/IP emerged as a US Department of
Defense standard in 1983, with version 4 of the Internet
Protocol (IP or IPv4).
As this was happening, a forward-thinking ham by the name of
Hank Magnuski, KA6M, thought it might be interesting to try and
use TCP/IP over amateur radio, so he wrote to Jon Postel, the
Internet Assigned Numbers Authority at the time, asking for an
IP network allocation for amateur radio. Postel gave the “class
A” IP network 44 to Magnuski for experimental amateur radio use.
Thus was born 44Net, so named because its IP addresses start
with the number 44.
It’s probably worth mentioning at this point that IPv4 uses
addresses that are always 32-bits long and divided into a host
and network portion: the higher order bits define the network,
and the low order bits identify a host on that network. In the
historical Internet class-based routing scheme, a “class-A”
network meant the first 8 bits were reserved for the network
address, while the bottom 24 bits were the host portion; 24 bits
allows 2^24 or roughly 16.7 million addresses. For comparison,
addresses on the early ARPANET were limited to 256.
Since the Internet started out as a US government-funded
research project, it was not initially approved for commercial
use. However, the this changed during the Clinton
administration, with the Telecommunications Act of 1996.
Opening the Internet to commercial applications led to an
explosion of use and accelerating demand for IP addresses, which
soon became scarce. Various techniques were used to relieve the
pressure on available IP address space, including the
elimination of class-based routing and pervasive use of Network
Address Translation (NAT), but demand for IPv4 increased
exponentially and IP addresses became a very valuable commodity.
Through this time, we hams kept our allotment of the 44.0.0.0
network. Ownership of the segment moved from Magnuski through a
series of individuals and culminated in the transfer to the
Amateur Radio Development Corporation, forerunner of the modern
ARDC. A group of volunteers took care of the administrative
duties, allocating subnetworks to interested radio amateurs,
establishing peering points with the rest of the Internet, etc.
However, AMPRNet remained an absurdly underutilized resource:
out of the more than 16 million available address, never more
than about 40,000 have been allocated; out of those allocated,
only a fraction have been used (most hams are allocated a
minimum of 256 addresses by default). As demand for IPv4
address space grew commercially, ARDC was sitting on a goldmine.
In 2019, ARDC made the decision to sell one quarter of the
AMPRNet address space, at a rate of about USD $25 per IP
address, or roughly $100 million USD. That money was then put
into a non-profit, the present ARDC, for distribution to the
community in the form of grants, scholarships, etc.
Hams never shying about from a good kvetch, this caused quite a
kerfuffle in the 44Net community. However, the money is being
put to good use, and in this author’s opinion, this was the most
impactful thing to do with the space. Like our spectrum, we use
it or lose it and we weren’t using it (hence why I encourage all
hams to get an AMPRNet allocation!). As an aside, ARDC
minimizes its tax burden by claiming the remaining 44Net address
space as an asset they are distributing to hams: if that were
not the case, they would basically have to keep selling parts of
it off until it was gone. This is another reason to get an
allocation if you don’t already have one!
For more details on the history of AMPRNet and the sale, the
ARDC has put together a page.
So What Can I Do With It?
Okay, so I’ve convinced you that you want — nay, need —
an AMPRNet allocation. You’ve headed on over to the
44Net wiki and learned
how to get access to the portal and
gotten yourself an allocation.
Next you set up a router running
OpenBSD and
configured it as an AMPR gateway.
You’re passing traffic with other AMPRNet networks and the
Internet. Congratulations!
Now what do you do with this?
It’s cliche, but essentially anything: the possibilities are
nearly endless. You can basically set up a parallel Internet.
For instance, you could send and receive email using the same
standardized protocols used on the Internet at large, but
without relying on commercial Internet infrastructure.
Similarly, you can run web servers, login between AMPRNet
attached hosts, tunnel AX.25 over IP over AMPRNet, provide
instant messaging services, or make use of real-time
communication using IRC or the venerable Unix talk
program.
Almost anything you can do on the Internet at large you can do
on AMPRNet, as long as you follow applicable regulations when
transmitting over RF. Real-time voice and streaming video?
Yes! Your only limits are your imagination and part 97.
Example: HamWAN
That all sounds great in theory, but a real-world example might
be illustrative. Consider the HamWAN
reference implementation in the Seattle area: this is a high
speed (multi-megabit) IP network covering a large chunk of
western Washington State, and extending north into Canada:
HamWAN covers from as far north as Vancouver in British
Columbia, to parts of the Cacades Range and Mount Rainier
National Park, to well south of Olympia. Another segment covers
most of the Portland metro area in Oregon. Virtually all of
Seattle and Tacoma is covered. That is an enormous area, all
covered by a high-speed, amateur operated network that is mostly
independent of the Internet.
Naturally, they use AMPRNet addresses.
What do they do with it? A partial list of applications
includes:
- High-definition realtime streaming video
- APRS igates
- Authoritative DNS service
- High precision network time services (a stratum-1 NTP server)
Additionally, administrative services for the Puget Sound Data
Ring network are handled on the network itself. For more details
see their
services
page.
Conclusion
Get an AMPRNet allocation. No seriously, please, use the
resource: if we don’t make use of it, we will lose it.
Wouldn’t you like to have a ham-centric parallel Internet that
you could use for amateur radio? It’s already there.