[ih] Origins of Go-Back-N
Jack Haverty
jack at 3kitty.org
Sun Nov 14 13:07:57 PST 2021
There was a protocol used between two stations to move a message. It was
partly formal protocol, partly informal traditions.
A message was similar to an email today but only had one destination.
Q-codes were used, as well as short interactions between stations.
E.g., a sender might choose to send a long message by sending just a few
words at a time and then waiting for a response. The receiver might
send "R", which meant Received, continue. Or if there had been
interference or staiic, the receiver might send "AA <something>". "AA"
meant All After, i.e., he received everything up to the <something>, but
please retransmit everything after that. (i.e., "go back"). There were
a bunch of such "protocol commands". E.g., there was some way to
negotiate "send only N words at a time". Kind of like TCP's Window
mechanism? Both sender and receiver also adapted their behavior
depending on conditions and negotiated changes as needed to compensate
for signal strengths, interference, etc. (somewhat analogous to TCP's
algorithm's for retransmissions, adaptive routing, et al). E.g., QRS
meant "Slow down", which would help if radio conditions were especially
noisy. QRQ meant go Quicker - i.e., you're loud and clear you can go
faster. Modems do much the same thing to move bits as fast as possible
but reliably.
This was all part of a rather elaborate continent-wide system which
created a wide-area radio "internet". It was legally limited to US
destinations, but included military installations such as GITMO
(Guantanamo Bay). Much of the messages handled were for military
service people communicating with their families. In the era before
cell phones and the Internet, amateur radio was sometimes the only way
to communicate.
At scheduled times, all stations in a local area would convene on the
air at a designated frequency. It was similar to a broadcast LAN,
except that you couldn't be sure that every station could hear every
other station. Kind of like early Ethernet with no CSMA-CD.
To maintain order, one station would act as "Net Control" and manage the
activity of all other stations - similar to how some early LANs worked
with one node being the manager. Stations would "check in" to a net
using Q-signals. E.g., I might send "K3FIV QNI QTC 2 MO", which gave my
identity (K3FIV), that I was checking in (QNI), and that I had 2
messages to be delivered to Missouri (QTC 2 MO). It was somewhat
analogous to DHCP and such "initial connection protocols". There was
also a way for a station to indicate that it could "take traffic" for
particular destinations, i.e., it was willing to act as the next stage
of a message's trip. Not quite as fancy as SPF but performed a similar
function.
Net control would collect all that information from all stations, and as
it found matches it would send pairs of stations to some other frequency
to "pass traffic", i.e., transfer messages using the techniques I
described above. That was kind of like 3rd-party FTP transfers where
two hosts transfer a file at the direction of a third host. Such
stations would come back to the main net frequency and then report their
success or failure. (i.e., ACK or NACK)
These "local nets" were geographically restricted by the physics of
radio, usually covering perhaps a part of a state. So they were part
of a larger system to permit "wide area" networking. There were 9 or so
"regional networks" that used different radio bands to cover perhaps a
500-mile radius. One station from each "local net" would check in to
its associated "regional net" to move a message further in the "right
direction". Such stations are somewhat functionally analogous to the
Internet's gateways and routers.
Similarly, the "regional nets" were connected by stations that
participated in something called, IIRC, "Transcontinental Traffic
Corps". A message from Massachusetts to California might be handled by
5 or more stations along the way. The schedules for networks were set
in a staggered way so that messages could flow quickly "up the ladder".
But it would typically take another day or so to get back down to the
final destination.
I was located in EPA - Eastern Pennsylvania. One or a few stations from
the EPA net would be assigned as a "gateway", and subsequently check in
to "3RN" which was the 3rd Region Net" covering 3 states: Pennsylvania,
Maryland, and Delaware. Similarly, omeone from 3RN would subsequently
check in to the Transcontinental network to get the message to the
appropriate regional net for the addressee, and then it would work down
to the appropriate local net, and then get delivered, usually by telephone.
Sounds a lot like the Internet?
For amateur radio, this system began on January 27, 1917. See
http://www.arrl.org/news/view/transcontinental-relay-recreated-for-100th-anniversary-commemoration
Of course as others have noted, such techniques were in use much earlier
in Morse over wires in the 19th century. I wouldn't be surprised if
techniques like this were used also in the days of ships and signal
flags or before.
ARPA actually had a role in Morse at the same time as the ARPANET was
growing -- see https://apps.dtic.mil/sti/pdfs/ADA239925.pdf chapter 22.
I was the "radio expert" we used at MIT in that project to build an
"expert system" for handling Morse code by computers in the late 1980s.
We used that "radio traffic network" as the environment in which our
computer-based Morse "operator" participated, by making it do in
(computer) code what I remembered doing sitting at a Morse key back in
the 60s.
Shortly after that Morse project at MIT, I joined BBN and my first
assignment was implementing TCP for Unix. So all of that "networking"
experience from amateur radio protocols was still swirling around in my
head as we worked on the foundation of the Internet. through the late
70s and early 80s.
Hmmm. I suspect other people involved in the Internet also had prior
experience with the radio world, and even Morse. So in some sense that
radio environment is part of Internet history. I've always thought
that our network architecture, protocols and equipment are based on what
people have done in the pre-computer era. Computers are of course much
faster and don't get bored. I hope.
/Jack Haverty
On 11/14/21 10:23 AM, John Day wrote:
> Could you elaborate, Jack? How did it work in CW? Was there a Q-code?
>
> Take care,
> John
>
>> On Nov 14, 2021, at 10:59, Jack Haverty via Internet-history <internet-history at elists.isoc.org> wrote:
>>
>> My earliest recollection of go-back is it's use in Morse code while transferring messages between 2 stations. At least that's when I first used it, circa 1964, in amateur radio "traffic nets". I used that experience later while working on Arpanet and Internet projects.
>> Jack Haverty
>> --
>> Internet-history mailing list
>> Internet-history at elists.isoc.org
>> https://elists.isoc.org/mailman/listinfo/internet-history
More information about the Internet-history
mailing list