[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