Professional Documents
Culture Documents
Sth COfTIPLITER
NETWORKING a
CONFERENCE v
ORLANDO FLORIDA — MARCH 9, 1986
Fifth ARRL Amateur Radio
Computer Networking Conference
Coordinators:
I
Copyright (c) 1986 by
Printed in USA
in
Quedan reservados todos los derecho
ISBN: 0-87259-033-X
First Edition
FOREWORD
This is a collection of technical papers presented at the
Fifth ARRL Amateur Radio Computer Networking Conference in
Orlando, Florida, March 9, 1986.
In the past year, the problem has shifted from one of how to
stimulate interest to one of how to ease congestion on 2-meter
packet frequencies. Some of the cures are treated in these
papers: moving to higher frequencies, higher speeds and fine-
tuning of link-layer protocols. Also evidenced in these papers
is intensified interest in network- and transport-layer
protocols, all of which contribute toward the development of new
standards.
Newington, Connecticut
March 1986
iii
CONTENTS
Page
=
"RF, RF Where is My High Speed RF? 5.1
Terry Fox, WB4JFI
3
"A Packet Controller for the Revolution, 5.17
Lyle Johnson, WA7GXD
S
"Packet Switch Software Design Considerations, 5.78
Terry Fox, WB4JFI
3
"An Introduction to the Hub Operating System 5.92
Mike O'Dell, KB4RGM
V
RF, RF, WHERE IS MY HIGH SPEED RF?
5.1
They were requested to be set aside for of simplex digipeaters? Well, I’m not sure, but I
packet use by one of the local Washington D.C. feel it is time once again to look at repeater
clubs (Tri-State Amateur Radio Club). We need to operation.
get some radios up on these frequencies before yet
another voice repeater uses them up, or they are Some of the advantages of simplex digipeaters
given to some other spectrum-starved service. are:
At this time there has not been much work in A. The cost of a simplex digipeater is MUCH
trying to get frequencies assigned to packet radio smaller than that of a full-duplex one.
in either the 900 mHz band or the 1215 mHz band
(in the Washington D.C. area at least). B. The complexity of a simplex digipeater is
also much less, especially in the RF
Michigan Packet Radio Frequency Plan plumbing required (ie. filters).
Another packet radio frequency plan surfaced C. A simplex digipeater is so physically
recently from Michigan. Apparently there was a smaller, allowing it be placed in
state-wide meeting in mid-November of 1985, the remote areas more easily
results of which are as follows:
Since there is less equipment, it is less
144-148 mHz likely to require maintenance, and
less control circuitry may be needed.
Apparently the Michigan Repeater Council does
not coordinate packet channels on two meters, so E. In order to use full-duplex to full
the following is by "gentleman’s agreement" rather advantage, user radios should also be
than an official coordination: capable of full duplex operation, driving
the user cost up drastically.
144.910 mHz (Experimantal and QRP)
144.930 mHz (Local Area Network) The only real disadvantage to simple
X
144.950 mHz (Local Area Network) Lpeaters is that it has less throughput than
•H 5 O
CO QJ
MX-' M
144.970 mHz (Local Area Network) 1-duplex type repeater. Some of the reason
144.990 mHz (Non-Digipeated simplex) this reduced throughput follow.
145.010 mHz (Inter-Lan & Forwaraing)
145.030 mHz (Local Area Network) One reason often mentioned for reduced
145.050 mHz (Local Area Network) throughput of a simplex digipeater is that it
145.070 mHz (Local Area Network) time-shares the same frequency for both receive
145.090 mHz (Experimental and QRP) and transmit, thus reducing the throughput by at
least 50%. Actually, this is not completely true
The Michigan group took a different approach when one considers that full-duplex operation uses
for 220 mHz. They reserved several frequencies two frequencies. If two separate simplex
for full-duplex low-speed repeaters and simplex digipeaters were put on the frequencies used by a
digipeaters, and four freqs for 9600 bps test full-duplex digipeaters, almost all of the channel
channels, but pushed the higher speed packet capability can be recovered. The only amount of
operation up to 430 mHz, with only 50 kHz channels channel capability still lost would be the
even there. The rest of their bandplan is as receive/transmit turn-around time, both at the
follows: individual stations and at the digipeater.
220 mHz low-speed (1200bps) full-duplex The other major loss of channel throughput in
repeater channels: a simplex digipeater system is due to the hidden
station syndrome. Since stations using the same
OUT IN OUT IN digipeater may not be able to hear each other, one
station may start transmitting a packet to the
220.52 mHz/ 222.12 mHz 220.64 mHz/ 222.24 mHz digipeater while another station was already
220.54 mHz/ 222.14 mHz 220.66 mHz/ 222.26 mHz sending a packet to the digipeater, or some other
220.56 mHz/ 222.16 mHz 220.68 mHz/ 222.28 mHz station on the same frequency, causing a collision
220.58 mHz/ 222.18 mHz 220.70 mHz/ 222.30 mHz and possible loss of data. In full-duplex
220.60 mHz/ 222.20 mHz 220.72 mHz/ 222.32 mHz digipeater operation this would be much less
220.62 mHz/ 222.22 mHz likely to happen, since all other stations would
hear any station that starts to transmit on the
220 mHz simplex low-speed channels: repeater input (except for the small transition
time between receive and transmit at the
220.74 mHz, 220.76 mHz, and 220.78 mHz individual stations) on the repeater output.
220 mHz 9600 bps channels (uncoordinated): Cross-Band Operation
220.825 mHz, 220.875 mHz, 220.925 mHz, 220.975 mHz Some hams have suggested that in order to
reduce the amount of plumbing needed at
There would be nineteen coordinated 50 kHz digipeaters that the digipeaters receive on one
channels for linking in the 430-431 mHz band band and transmit on another band. This cross
segment as follows: band operation would allow full-duplex operation
at reduced cost and size.
430.025 mHz 430.275 mHz 430.525 mHz 430.775 mHz
430.075 mHz 430.325 mHz 430.575 mHz 430.825 mHz Channel Access Methods
430.125 mHz 430.375 mHz 430.625 mHz 430.875 mHz
430.175 mHz 430.425 mHz 430.675 mHz 430.925 mHz How stations gain access to the RF channel to
430.225 mHz 430.475 mHz 430.725 mHz pass data is another descision that must be made.
Some of the different systems to chose from are
The above information is being given here listed below.
primarily to show that there are frequencies out
there (for most of the country at least), and that Aloha Type Channel Access Method
the packet community IS being recognized and
served by the frequency coordinating bodies. It The first major packet radio network
is also being given to (hopefully; aid in the was the Aloha Network built in Hawaii. The Aloha
development of RF equipment for these bands. Network used the RF channel by having a station
immediately transmit data whenever it had some to
send. Collisions of transmissions were detected
Simplex vs Full-Duplex Digipeater Operation by not receiving an acknowledgement of the data by
a certain time. The theoretical maximum channel
Way back when, when packet radio was still utilitization using pure Aloha is 18%.
mainly in Vancouver, I was pushing the use of
full-duplex repeaters. At the time I was Slotted Aloha Channel Access Method
convinced of the error of my ways (at K8MM0's
house one night, I remember). A simplex One of the problems with pure Aloha is
digipeater is MUCH easier and cheaper to put up. that anyone can transmit packets at any time. One
With just a TNC and a radio you too can put up a method to increase channel utilitization is to
simplex digipeater. The only disadvantage of a divide the potential transmit time into discrete
simplex digipeater is the lower throughput. Is time-slices or slots, each of which is slightly
the loss of throughput made up by the cheaper cost longer than the time it takes to send a packet.
52
Once the stations are synchronized (usually by A third persistence scheme is called p-
having a master station transmit a short clock persistent CSMA. This is a compromise between tne
pulse), a station will only transmit at the above two systems. When a station has data to
beginning of a slot. This reduces the amount of send, it will first check for an idle channel
collisions, since stations will no longer condition. If the channel is free, it will
accidentally transmit part-way through another transmit its data with a probability of p. If the
stations packet transmission. Packets either make channel is busy, the station will wait until the
it through fully, or are fully destroyed. Using channel is idle before invoking the probability
Slotted Aloha just about doubles tne channel test for transmission. If tne value of p is
throughput to about 37%. different for each station, this can reduce the
potential for collisions of transmissions.
Reservation Aloha Channel Access Method
CSMA with Collision Detect
Another method used to improve channel
utilitization over pure Aloha is to reserve A modification to the basic CSMA
specific time slots for each station to transmit operation involves monitoring the channel while
data. There are several different schemes as to transmitting. This means a full-duplex channel
how these reservations are made and maintained, is being used. If, while transmitting data, a
but basically they all assign times for stations station detects that its data is not what's on the
to transmit, thereby greatly reducing collisions. channel, another station has taken over the
channel and the monitoring station should stop
Token-Type Channel Access Method transmitting. Since all stations can now hear all
other stations, the hidden station problen is
Yet another method of controlling access almost completely eliminated. This collision
to the data channel is to allow transmissions by a detection can help reduce the number of
station only when it has "permission”. This collisions, at the cost of all stations being
?ermission is usually in the form of a "token", required to operate in full-duplex mode. If full-
his token is passed back and forth by all the duplex capability is possible, CSMA-CD can be the
stations on the channel. When a station receives most effective use of a channel.
the token, it checks to see if it has data to
send. If it does, it sends the data, then passes Busy-Tone CSMA System
on the token to the next station. If it has no
data, it immediately passes on the token to the Another method of reducing collisions on
next station. a CSMA channel is to use a busy-tone to indicate
when the channel is being used. This requires
Among the disadvantages to token type that the channel is being controlled by a master
access methods is that they must be carefully station with which tne individual stations
supervised. In order for additional stations to communicate. It also requires that a secondary
be accepted onto the channel, they must somehow be channel be available to transmit a busy signal.
added to the token-passing list. The easiest way This secondary channel does not have to be a full
to have this function properly is to have a master data type channel as the presence or absence of a
station monitor the token passing and allow new busy signal is the only information carried on the
station(s) in whenever it has the token. secondary channel. Whenever the master station is
receiving data from a station, it sends out the
Carrier-Sense Multiple Access (CSMA) busy-signal on the secondary channel. Once the
main data channel is free, the master drops the
The method we Amateurs presently use to busy-signal. The individual stations monitor the
gain access to the RF channel is through a system channel for the busy-signal before transmitting
called Carrier-Sense Multiple Access, or CSMA. data. This system also helps reduce the amount of
CSMA is a fancy term for how we hams have shared collisions due to hidden stations, although not as
our spectrum space all these years. Basically it effectively as the collision detect mechanism
means you are supposed to listen for others before described above.
you transmit. If you hear someone else on the
channel, you wait until they are done before you While this busy-signal system does
start transmitting. With many people competing improve channel access, it is not as effective as
for the same channel, CSMA is a good method to the CSMA-CD system mentioned above, for about the
control channel access. same complexity. This busy-signal system has been
tried on the Amateur bands, and it is more
The biggest problem associated with effective than the simple CSMA we presently use.
simple CSMA is what is called the "hidden
transmitter" situation. There is a possibility
that whenever a half-duplex channel is used, not With the above in mind, lets look at how
all stations can hear all other stations. In these trade-offs are made in two different parts
fact, with the Amateur Packet Network of today of the packet radio network.
with simplex digipeaters, this is quite likely.
Whenever a station is hidden from another station, Individual User/Local Network Operation
the possibility of both of them transmitting at
the same time exists, since they cannot sense each We are using simplex digipeaters almost
other. The possibility of collisions expands exclusively at this point. I believe this is the
greatly with the addition of each station that best use of the RF channels we use at this point.
cannot hear another station. The degradation of Full-duplex repeater operation is not feasible on
the channel quickly reaches the point where there two meters with our present allocation, since the
are more collisions than normal transmissions. five main channels are right next to each other in
Several schemes have been devised to overcome this frequency. In some areas, full-duplex (voice
situation. type) repeater assignments may be available, but
are the users willing to pay the added costs to
One system for recovering from put up a full-duplex digipeaters? From what I
collisions in a CSMA enviroment involves nave seen, the answer is no. It appears that a
"persistence". Persistence has to do with how a more palatable solution to channel congestion is
station handles access to a busy channel when it to put up more digipeaters. Brian, WB6RQN tried
has data to send. Suppose a station has data to to run an experiment by putting his Unix system on
send, but detects the channel is busy. One method the AMRAD voice repeater (14/.81/21 mHz). This
of handling this situation is for the station to test was met with a great yawn. Admittedly, the
transmit its data as soon as it thinks the channel repeater lost some coverage part of the way into
is free. This is called 1-persistence because the the experiment due to loss of antenna height at
probability of the station transmitting when the repeater. I don't think this was the main
detecting the idle channel is 1. reason for the lack of interest. I think that
most everybody has accepted simplex digipeater
The other extreme in persistence is operation for packet use for now.
called nonpersistent CSMA. In this case, when the
station detects the busy channel, it doesn't wait Cross-band operation is not a viable option
for the channel to become free and immediately for the user/Local net due to its added expense
transmit. Rather, it waits a random amount of for a second rig and antenna system at every
time and then tests the channel again. If the location.
channel is free, it will transmit. If the channel
is still busy, the station repeats the wait and I mentioned that some hams have used a busy
test cycle until the channel becomes free. signal system with digipeaters to reduce
5.3
collisions. If the users are willing to pay for while using half-duplex digipeaters) this trend to
another receiver (or be lucky enough to find a localized networking will be very beneficial.
repeater pair to use), this system may be a viable
alternative. It does greatly reduce the hidden At the Fourth ARRL Computer Network
station problem, without requiring full-duplex Conference (March 30, 1985 in San Francisco) Steve
operation at all locations, as CSMA-CD would. Goode, K9NG described a method of modifying the
Hamtronics FM-5 220 mHz tranceiver for 9600 bps
My conclusion however, is that at this time operation. Since then TAPR has made boards
simplex repeater operation is still the best way available for this modification, and some hams
to go for Local Network operation. In the future around the country have tried this mod on various
this may change, especially if the Local Network rigs, with different degrees of success.
becomes more of a cellular type operation at 900 Unfortunately, I have heard some negative comments
mHz. For now, if a channel get too congested, it about the use of these "off-the-shelf" rigs when
is easy enough to put up another simplex modified for high-speed packet operation,
digipeater (ala FM voice repeater growth). especially in uncontrolled enviroments (such as
one might expect at a digipeater like WB4JFI-5).
Local Network vs Backbone Network
One suggested method of curing some of the
I wanted to mention briefly that there should ?roblems encountered is to replace tne standard IF
be a re-thinking of how our packet channels are ilter(s) in the modified radios with slightly
being used. Both the Michigan Bandplan and the wider ones, allowing more "slop" in the IF
Tri-State frequency requests indicate the use of bandwidth.
some frequencies for ’’local networks”, while other
frequencies have been set aside for "network Moving to 220 mHz, The First Step
backbone” operation. This is a very important
?oint. We should start using the "local network” In order to reduce the amount of traffic on
requencies for small areas, such as small towns, the network backbone, I propose that we make the
or one part of a metropolitan area. These local first step to 220 mHz operation. This step is
network frequencies would be re-used by other fairly simple, we just add a 220 mHz 1200 bps
small groups far enough away to avoid complete RF digipeater wherever there is a two meter
overlap (if we use simplex digipeaters, the digipeater in the backbone. This parallel path
occasional overlap won't affect operation much). can be enchanced at various points by installing a
The local networks would then have access to the dual-port digipeater (ala Jon Bloom, KE3Z ana a
backbone via dual-port digipeaters or multi-port Xerox 820 board) instead of the normal TNC type
packet switches. A local area digipeater or digipeater. This parallel path will allow us to
packet switch should only cover as much as it check the RF paths and also provide more data
needs to for the local group. This frequency re throughput on the network. Heavy users of the
use works almost like the cellular system, where backbone (PBBS’s) could then use one path while
each local network is a "cell" and the cells are the other path could be used for lighter traffic.
hooked together by the backbone. Another advantage of going to 220 mHz even at 1200
bps is that it reduces the number of stations that
The main idea I want to get across is that have access to the backbone directly, thereby
putting up a super-digipeater for a "local" reducing channel occupancy, since not as many hams
network can be counter-productive. The super- have 220 mHz capability.
digipeaters work best for the backbone, where they
need to reach as far as possible (remember, we can AMRAD should be making this first step about
only chain eight of them together). Keep the the time of this conference. We are improving
"local network’’ digipeater coverage within the WB4JFI-5 to a dual-port digipeater with access on
"local" area. both 145.010 mHz and 221.010 mHz, both at 1200 bps
for now.
Network Backbone RF Operation
9600 bps on 220 mHz
There have been many different suggestions
for how we should construct the RF part of the As mentioned earlier, some effort has been
network backbone. Presently, we are using simplex made to design higher speed radios at 220 mHz.
digipeaters here also. Once again, I think this Steve Goode, K9NG did a good job on his "modem"
is mainly because they are cheap to put up. modification to the Hamtronics FM-5. Even so,
Another reason is that up until recently, if a some hams have found that they have to continually
digipeater was to use something other than the fight the rig to keep it operating properly. I
main frequency, it would it have to use two TNCs feel that this is at least partially due to the
and two radios. fact that the FM-5 is still basically a voice type
radio, optimized for voice operation (especially
One of the common suggestions made for use of in the bandwidth department). What we really need
our frequencies for the network backbone is to is a radio that was designed from the ground-up as
imply direction by frequency. For example, if a an "RF-Modem" rather than a voice rig.
packet is to be routed south from a switch, the
packet would be sent on one frequency. Packets Another person that has felt that way is
going north would be sent on a different Gary Fields of Boston, Mass. He has been working
frequency. East and West bound packets would be for a while now on a complete 220 mHz radio that
sent on still different frequncies. is designed to be an RF modem. While he hasn’t
finished it yet (last I heard) it sounds
This idea requires a lot of smarts in the promising.
switch, so it can control which radio channel to
send the data, and therefore which radio. We Another effort being made on the 9600 bps 220
should be able to do this someday, but it may be mHz front is being done by the AMRAD crowd. Chuck
beyond our reach in the near future. In addition, Phillips, N4EZV (of spread spectrum fame) and
this adds a lot to the cost, size, and antenna Andre Kestloot, N4ICK are working on a 220 mHz RF-
requirements of the digipeater or switch. Modem design. It is suprising how much like a
modem it looks. They are presenting a paper on
their design ideas elsewhere in these proceeding
What * s Happening Now? so I will not steal their thunder here.
Present packet operation is still mostly on I hope 1986 will be the year for 9600 bps 220
two meters at 1200 bps using Bell 202 type modems. mHz packet radio, its overdue and needed
As an example, almost all of the east-coast desperately.
backbone operation is still on 145.010 mHz.
56kbps Design Request by ARRL Digital Committee
One improvement is that some local areas have
begun using the other two meter packet channels as The ARRL Digital Committee met last December
local networks as suggested above. These local at Newington, CT and one of the items on the
networks are usually concentrating around a local agenda was (suprise!) higher speed radios. The
Sacket bulletin board (PBBS). In the Washington committee came up with a wish list for the design
•C. area for example there are at least two of a digital radio for high-speed data. The basic
different groups using 145.050 mHz for local design involves the use of a data interface/IF
network traffic. The use of "Super-Digipeaters" modem followed by a transverter to the band of
seems to be fading, except for the backbone. In choice. The IF frequency in/out of the data/IF
order to reduce the channel congestion (especially interface should be 28 mHz with RF levels to match
5.4
standard transverters (around 10 mw?). The data There is a world of variations available for the
interface should accept standard serial data RF digital designer. Just tell us what you need,
signals at either TTL or RS-422 levels. The data and we will supply the bits! If this sounds a bit
signals should be as follows: like I am begging, I am. I WANT FASTER RADIOS!!
Signal Data/IF TNC References
RxData Rinaldo, P. L., Introducing the Packet
I I I Z\ •
I V
I I I I I
I I I I I
TxData Adaptive Modem (PAM)”, Second
RxClock (XI speed) ARRL Amateur Radio Computer
VW
TxClock (XI speed) Networking Conference, ARkL,
Data Carrier Detect 1983 ----- --------------------
Request-to-Send
/x
I
I
I
Brooker, et ’’Michigan Packet Radio
C
O
The signalling speed of the complete Frequency Plan”, Packet Radio
data/IF/transverter chain should be at least 56 in Southern Michigan (PRISM),
kbps, preferably using standard FSK FM modulation. Nov. 17, 1985
The bands of operation should include 220 mHz, 440
mHz, and possibly 900 and 1215 mHz. It should Tanenbaum, A. S., Computer Networks”, Prentice
operate in a 100 kHz channel, and should provide a Hall, 1981
clean RF output. Full duplex operation of the
Data/IF interface should be possible, and the Goode, S. Modifying the Hamtronics FM-5
Rx/Tx switching speed should be extremely fast. for 9600 Dps Packet Operation”,
Fourth ARRL Amateur Radio
Anyone wishing a nice RF challenge should Computer Networking Conference,
look no further. A radio that meets the above ARRL, 1985---- ---- ------------------
specs would be very welcome indeed!
Phillips, C. and Kesteloot, A. A High Speed RF
Conclusion Modem”, Fifth ARRL Amate ur
Radio C o m p u t e r N'e’twoYk’T
£
Unfortunately, we have not progressed in the Conference, ARRL, 1986
RF portion of packet radio development as quickly
as we need to. There is still a lot of room to Kesteloot, A., An Application Note Describing
experiment with radio designs. The should be a A Hign-Speed Phase-Coherent FSK
welcome challenge to some enthusiastic Amateur out Generator”, Fifth ARRL Amateur
there who knows RF, and wants to learn about Radio Com pu t e r Networking
digital transmission methods and packet radio. Conference,ARRE-, 1V86"
5.5
A HIGH-SPEED RF MODEM
»
10,710 10,235 475
Motorola too has long been involved in the 10,690 10,255 435
•
field of RF modems (see for instance ref.3) and 10,710 10,255 20,965
++++
has recently filed a petition with the FCC to 10,690 10,255 20,945
allow for the creation of "radio frequency local 10,710 10,235 20,945
area networks"(4). (The above list is by no means 10,690 10,235 20,925
exhaustive and simply represents some of the
designs with which the authors are familiar.) Note that only the first two combinations can
produce an output from one of the two 455KHz
This paper will describe the approach fol stages. The other heterodyne products fall outside
lowed by several members of the Amateur Radio the 455KHz bandpass and are eliminated.
Research and Development Corporation (AMRAD) to
design a high-speed RF modem. Another paper, pre
sented to this Conference in the form of an Appli The two outputs are then detected and fed to
cation Note, describes the actual circuitry used a comparator,the output of which is RXD. It is to
to generate phase-coherent FSK. be noted that no tuning is needed in the process.
Guidelines: The Synthesizer:
This modem is intended for the radio amateur For the sake of clarity, figures 1 and 2 have
community and as such, from the start of the shown the local oscillators as being crystal con
project, the design criteria have included: trolled. In fact, the unit uses a master crystal
- ease of duplication, oscillator (at 2.2MHz in this particular case)
- use of readily available parts and whilst all other oscillators are synthesized. The
- minimum of adjustments to be carried out with 2.2MHz crystal oscillator output (located in the
only simple test equipment. RF modulator section, see fig.l) is fed to a
divider by 440 to produce a 5KHz reference
It is intended that the final design will frequency. Presuming the stability of the crystal
operate at up to 56Kbd on 220MHz and 440MHz. This to be +/- 0.001% ( easily achievable with an oven)
paper describes an interim version already the crystal oscillator output can drift from
operating in a breadboard configuration. 2,199,978Hz to 2,200,022Hz. At the output of the
divider by 440, the 5KHz reference will thus drift
The RF Modulator: between 4,999.95Hz and 5,000.05Hz, equivalent to a
maximum drift of 0.1Hz.
Fig.l shows the method employed to generate
phase-coherent FSK. (The use of two frequencies All the local oscillators are designed along
not phase-related would introduce unacceptable the following lines and thus only one will be
splatter.) A 2.2MHz crystal-controlled master described: the output of a 10.490MHz free-running
oscillator drives a dual-modulus counter. The RS- voltage-controlled oscillator (VCO) is fed to an
232 level data input (TXD) is translated to TTL MC145151 divider-by-2,098 stage, thus producing
and used to change the dividing ratio of the approximately 5Khz. This output is compared to our
counter and thus generates two phase-related reference 5KHz source in a phase comparator, the
discrete frequencies, in our example 200KHz and output of which is a variable DC voltage applied
220KHz. This is in fact equivalent to having a to the 10.490MHz VCO as negative feedback. Note
210KHz carrier shifting + and - lOKHz. (Should an that once phase-lock has been achieved, the output
40KHz total shift be desired for higher baud rates of the divide-by-2098 divider will drift in phase
one could use a 4.4MHz crystal in a similar set with, but no more than the 5KHz reference
up. The result would be a 420KHz carrier shifted + oscillator. Using the maximum drift calculated
and -20KHz.) above, the 10.490MHz oscillator will only be able
to drift 2098 x 0.1 Hz, or +/- 100Hz. All other
A gate, when enabled by the RTS line, then oscillators phase-locked to this 5KHz reference
feeds the output of the dual-modulus divider to a will exhibit essentially the same stability.
doubly balanced mixer. The output of the mixer is
a 10./MHz IF which is then heterodyned with a An added advantage of this scheme is that the
210MHz local oscillator in another doubly balanced output of the RF modulator can be set to any
mixer to produce an RF signal in the 220MHz band. discrete channel on 220MHz, and so, of course, can
the receiver. It is thus possible to contemplate
The Demodulator: offsets for duplex operation, etc. Since the divi
ding ratio of each pnase-locked loop is determined
Figure shows the receiver portion,
OJ
5.6
16383), changing the configuration of the References:
equipment is an extremely easy task.
(1) GOODE Steve K9NG, ’’Modifying the Hamtronics
FM-5 for 9600 bps Packet Operation.” ARRL
Conclusion: Computer Networking Conferences 1-4, pp 4.45-4.51
The scheme described above is simple, easy to (2) Personal communication dated September 28,
duplicate and only an oscilloscope and a frequency 1985.
counter are needed to adjust the modem. It is
anticipated that the major parts needed for this (3) HATCHETT John and HOWELL Bill, Motorola Semi
modem (including a printed circuit board) will be conductors, Phoenix, AZ. ”RF Modems" , RF Design
made available through a distributor. Magazine, Sept/Oct and Nov/Dec 1984.
(4) "Motorola Proposes Wireless Lan" Personal
Communication Technology Magazine, Nov 1985 p.38
74LS(]o nawto
22nfy f:&. i
22o
3N2OI
/0-7'W'
/7k7£/C
5.7
22o l
wz
/A/
5.8
W -J z ^ V
*J</ ?Q*z
AN APPLICATION NOTE DESCRIBING
A HIGH-SPEED PHASE-COHERENT FSK GENERATOR
Introduction:
The output of the MC1496 is amplified by a
This application note is a companion paper to single 2N4401 stage and applied to a 10.7MHz KVG
the one entitled "A High-Speed RF Modem" also crystal filter with a 40KHz bandwidth. The output
being presented to this conference. It describes a of the filter is buffered by means of a 2N2/22
phase-coherent FSK generator built entirely with emitter follower stage.
readily-available components and requiring only a
frequency counter for set-up. Motorola uses a MC12013 in an RF Modem with a
data rate of 1.5Megabits (!), and we should thus
have no fear that our packet system will reach the
Circuit Description: upper limits of that cnip in the near future!
Figure 1 shows the circuitry used for our Should a total frequency shift of only lOKHz
particular application. One quarter of a 74LS00 is be desired, a divider-by-2 stage should be
configured as a 2.2 MHz crystal oscillator, inserted between the 2.2MHz oscillator and the
driving two buffers, one between the oscillator MC12013 dual-modulus stage. The output would now
and a divide-by-440 MC145151 stage having a 5KHz be lOOKHz and llOKHz, and if the same type of
output (to drive phase-locked loops used elsewhere 10.7MHz output filter is to be used, the crystal
in the RF modem) and the other feeding an MC12013 for the oscillator will have to be cut for
dual-modulus divider chip. operation at 10.595MHz. Similarly, a 40KHz total
frequency shift can be obtained by using a 4.4MHz
This chip divides its input signal by 11 when reference oscillator and a 10.280MHz L.O., etc.
its pin 9 is Drought low, and divides by 10 when
than pin is held high. The output at pin 2 is thus
either 200KHz or 220KHz, depending only on the Conclusion:
voltage level at pin 9. This output is amplified
by a 2N2222 stage and then applied to tne last This circuitry functions as soon as built,
Quarter of the 74LS00, configured as an RTS gate, and requires no adjustment whatsoever (apart from
hen RTS is high, the gate is enabled, ana the adjusting the 2.2MHz trimmer capacitor.) If an
200KHz (or 220KHz) signal is applied to one of the L.O. crystal oscillator is used, it should be
inputs of a MC1496 doubly balanced mixer. The "rubbed1* (by means of the 50pF trimmer capacitor
other input is fed with a 10.490MHz signal (shown shown connected between the crystal and ground) to
on this schematic as a crystal oscillator for the the precise design frequency (in our case
sake of clarity, but in the actual modem generated 10.490MHz) to keep tne frequency shift centered in
by a frequency synthesizer.) the passband of the crystal filter.
5.9
G c A /f/C ^ ^ - /v V Z c < -
+3>K + /2 v
?7ort !K3>
lie
/•
T£L
^N\f
& <r4==t v i s V
V rA
74&0Q
*9
'd
•V)
XTO£!
' (Q
kJ
§
?!
, /v<?/y^G
J
00
£
>
*)
<*)
<r
►—JVW
vWWH>
/&t>
*/
5.10
>F
1 > -
>/\M—E>
A
Tx2> M X /'
723232
s
//'/7 E * j Hc.£ /O f 7 W
—\A/W---
y^'XP.
r ft.T & e
A
<1
X>s
7<7
-VV\A—
HH>
?
v>
/O ^ o X .
S
A
xt l * !~!
-4 /0 '7 F3K
& t> 7~ M i OUT
[>
FSK Methods for PACSAT Communication
co co
link-layer protocol, making it compatible
Antenna gain
H-
with an installed base of more than 10,000
o
5.11
Carrier-power to noise density up by simply increasing downlink power or
ratio (1-degree satellite providing antenna gain on the spacecraft.
elevation, isotropic antenna.) 60.6 dB/Hz Groundstations would have to increase their
antenna gain, but antennas the same size as
Bit rate (9600 bit/s) 39.8 dBHz required for two-meter downlink reception
would produce about 3 dB more gain on 70
Available energy per bit divided cm. Additional link "gain" is realized on
by the noise-spectral density 70 cm because lower levels of man-made
(Eb/No). 20.8 dB noise reduce implementation loss. While
Table 1 shows that stations with O-dBi
antennas would not be able to access the
Rather than assume a perfect system in satellite (at the reference BER), stations
which this high signal-to-noise ratio is without antenna-pointing capability could
available to a demodulator, Mr. Awan has use fixed-pointing gain antennas aimed at
included an implementation margin in his high elevations. Thus, using a 70-cm down
calculations. link is a possible option for PACSAT and
should be explored. To simplify the
following discussion, however, we assume
Modem loss 2 dB that the downlink will be in the 2-meter
Antenna pointing loss 1 dB band.
Antenna ageing i dB
Desense due to transmitter 1 dB 2.2 Uplink Budget
Man-made interference 3 dB
Polarisation mismatch 3 dB Whilst free-space loss may make it desir
Multipath cancellation 1 dB able to keep all PACSAT communications on
System Margin 2 dB the lowest frequency available (2 meters),
we have discarded this notion for an ama
14.0 dB teur spacecraft. The state-of-the-art in
amateur radio does not easily allow simul
Subtracting this from the previous taneous transmission and reception within
result 20.8 dB the same band. Receivers do not have
-14.0 dB enough immunity to front-end overload and
transmitters produce wide-band phase noise.
The option of having both uplinks and down
Available Eb/No with satellite at links at VHF might, nonetheless, be invest
1 degree elevation, with OdBi- igated for a store-and-forward satellite
gain receiving antenna. 6.8 dB operating in some commercial service, where
the cost of purpose-built equipment could
Assume that our demodulators need 15 dB be justified. In the amateur service we
Eb/No to produce a bit error rate (BER) of must consider the equipment at hand, and
IE-6 (as discussed below). recommend that the uplink be in the 70-cm
band, assuming that the downlink is at 2
Eb/No at demodulator 15 dB meters.
Eb/No available with O-dBi gain
antenna with satellite at the Again, we are faced with the 9.5 dB differ
horizon. - 6.8 dB ence in path loss between 2 meters and 70
cm. We assume that, by using methods dis
Necessary antenna gain. 8.2 dBi cussed below, we will be able to make up
link demodulators about 2 dB more efficient
Thus, an 8.2 dBi gain receiving antenna is than those on the downlink.
necessary for 9600-bit/s, IE-6 BER communi
cation when the satellite is at the hori Path loss difference between
70 cm and -9.5 dB
Oxi
5.12
antennas, lower antenna gain or lower out that the groundstation be responsible for
put power would be able to access the tracking uplink Doppler to within roughly
satellite at higher elevations or with 500 Hz. In selecting uplink channels, we
increased BER. shall endeavour to provide wide enough
spacing that if one groundstation does not
3.0 MODULATION AND DEMODULATION correctly track Doppler shift, its trans
missions will not drift adjacent uplink
Signal-to-noise ratios such as we have been channels. Uplink channel spacing of 50-kHz
discussing (13 - 15 dB) would produce the should provide this protection-.
desired BER of IE-6 in systems employing
any of several modulation methods. Among There are, of course some disadvantages to
the choices are frequency-shift keying using such a simple scheme. First of these
(FSK), minimum-shift keying (MSK) and dif is that stations with marginal links cannot
ferential phase-shift keying (DPSK). DPSK decrease their BER by simply decreasing
is described in [3] and has previously been their bit rate. For such a speed reduction
proposed as the modulation method for to have the desired effect, the IF bandwith
PACSAT. The major disadvantages of DPSK of the uplink receivers would have to be
are that once it has been filtered for narrowed. The complexity of variable
bandwidth efficiency it cannot be amplified bandwidth receivers is not acceptable. The
by limiting amplifiers, and that it re only way to increase throughput on these
quires the use of complex synchronous re links is to resort to forward error correc
ceivers and transmitters. We propose the tion (FEC) and take advantage of coding
use of noncoherent FSK on the uplink and gain. P. Sweeney of UoS has investigated
coherent FFSK on the downlink. Noncoherent simple FEC schemes for store-and-forward
FSK is simply the technology investigated satellites. His work indicates that an
by S. Goode [4] — transmitter VCO control array code based on two Hamming structures
voltage is derived from filtered baseband could restore an uplink error rate of 2E-3
data. Coherent FFSK requires that the to our reference standard IE-6 BER. His
phase of the RF signal be strictly con proposed code reduces the data rate to 6600
trolled, requiring a transmitter more com bit/s (with a signalling rate of 9600
plex than the simple groundstation trans bit/s) and reduces the Eb/No requirement by
mitter. There is, however, an important 3.6 dB. This is a significant benefit to
advantage to using coherent FFSK rather the overall system, allowing the transmit
than DPSK: coherent FFSK can be demodulated ter power to be more than halved.
by simple, non-coherent receiver/
demodulators. The other disadvantage to employing simple
discriminator demodulators on the satellite
3.1 General Uplinks is that they are not upward compatible with
such desirable types of modulation as Tame
We propose that groundstations use non- FM (also known as Generalized Minimum Shift
synchronous FSK with a optimum deviation of Keying, GMSK).
3.2 kHz. Modulators would be based on S.
Goode’s system [4] The data rate will be 3.2 Uplink Enhancements
fixed at 9600 bit/s, and the IF bandwidth
of limiting amplifiers fixed at 15 kHz. Given sufficient time, we hope to complete
Receivers on the spacecraft would feed an investigation into a more complex uplink
plain quadrature frequency discriminators decoder, employing the delay demodulators
followed by filters and slicers — again as discussed in [5]. These ingenious demodu
in Goode’s system. This may seem a tech lators require no clock or carrier
nically regressive step, but the very con recovery, should be highly tolerant of
siderable pressures on reliability and Doppler shift, and could provide virtually
power consumption onboard the spacecraft the same performance as more complex syn
always tend to favor the simplest solution. chronous decoders (11 dB Eb/No for IE-6
It is hoped that by developing post-dis BER). To take advantage of this enhanced
criminator filters that reduce or eliminate uplink decoder, the groundstation would
inter-symbol interference, we could realize reduce deviation to +/- 2.4 kHz, but would
a IE-6 BER with uplink signals as low as 13 not have to resort to a coherent transmit
dB Eb/No. We intend to investigate this in ter. Unlike a simple quadrature discrimina
the lab as soon as possible. tor, a delay decoder could realize de
creased BER at lower bit rates (given a
The choice of non-coherent FSK for the fixed groundstation power) without altering
uplink makes the groundstation modulator/ receiver IF bandwidth. The uplink signal
transmitter relatively simple. It also could still be generated by a Goode-type
satisfies the desire to have the 9600-bit/s modem, as it need not be synchronous.
signal fit in the 15-kHz bandwidth of a Groundstations that do not reduce their
standard IF. On the 70-cm uplink, maximum deviation will get the same performance
Doppler shift will be +/- 10 kHz, and with that they would have from simple quadrature
out compensation, this much shift will discriminators. The limitation of the delay
cause demodulation to fail. We propose decoder is that it is STILL a frequency
5.13
discriminator and cannot work on Tame advantageous if users willing to invest in
FM/GMSK. sophisticated decoders could expect to get
better performance for their effort. To
3.3 Research Uplink fill these requirements, we recommend co
herent FFSK, also known as "fast frequency
Given even more time (and satellite power), shift keying with spectral modification
we propose to have a ’’research” uplink for using non-linear filtering." The deviation
experimentation with synchronous, highly- at 9600 bit/s will be +/- 2.4 kHz.
efficient modulation methods. This uplink
would use a De-Buda type synchronous re The complexity of coherent transmitters is
ceiver [6] requiring clock and carrier such that we do not wish to insist that
recovery. Stations using such the uplink users have them. We can, on the other
would HAVE to have phase-controlled coher hand, afford the effort to build a few
ent transmitters. These increases in com such transmitters for the satellite. Co
plexity are rewarded by the ability to use herent FFSK is bandwidth efficient (again
Tame FM/GMSK and send 14,400 bit/s within we can easily fit 9600 bit/s into 15-kHz)
the 15-kHz uplink channel. The research and it produces a constant-envelope signal
uplink would not detract from the PACSAT which can be passed through efficient
mission, as the general uplink channels limiting amplifiers without bandwidth
would always provide a standard, predict- spreading. This is an important considera
able service to the user. The research tion when choosing a modulation method for
uplink could, however, aid us in the nec the satellite.
essary search for higher throughput and
provide enhanced service to the advanced If the satellite transmits coherent FFSK,
user . the user is presented with a range of
potential receiver/decoders and an accompa
3.3 Uplink Summary nying range of performance. The groundsta
tion need not use a synchronous demodulator
We propose that the uplink employ non- - adapted narrow-band FM receivers with
synchronous FSK. If spacecraft decoders discriminator decoders would require 15 dB
use straightforward quadrature discrimina Eb/No for IE-6 BER. Delay-type demodula
tors, the optimum transmitter deviation is tors (theoretically simple to construct)
+/- 3.2 kHz. Provided that delay-type and sophisticated synchronous receiver/de-
demodulators can be developed for the coders should lower this requirement to
spacecraft environment, groundstations around 11 dB — a valuable gain of 4 dB.
using +/- 2.4 kHz deviation (FFSK) would This is precisely the type of upgradable
realize 2 dB advantage over those using system that we desire in an amateur-radio
other deviations. As a point of reference, operation.
a station transmitting 14 watts FSK into an
8.2-dBi antenna would have a BER less than 4.1 Research Downlink
IE-6 from horizon to horizon. A station
with omnidirectional antennas would achieve We propose that PACSAT carry a research
the same BER while the satellite was above downlink for ongoing experimentation with
30 degrees elevation and experience degrad high-speed, high-efficiency signalling
ation (see Table 1) at lower elevations. methods. On first consideration, one as
Both FEC and transmission-rate reduction sumes that if the satellite could power two
should be investigated as ways of providing downlinks, we would be able to double the
lower BER to marginal stations. A research power on our general downlink. The re
uplink, whilst not detracting from the search downlink, however, would not have
mission, could provide an invaluable tool the 100 percent duty cycle of the general
for development of efficient, high-speed downlink. It would be turned on only for
signalling methods. experiments or for limited "sophisticated
user" service. Groundstations using this
4.0 DOWNLINKS downlink would have to have synchronous
decoders. The data rate could reach 14,400
It has been demonstrated in the literature bit/s within 15 kHz bandwidth or 19,200
[7] (and it has become painfully apparent bit/s in a 20-kHz bandwidth. To do this we
to packet-radio users on crowded channels) would employ a tighter form of non-linear
that multiple stations contending for a premodulation filtering — changing the
single communications channel drastically modulation to "tame FM" (also called Gener
reduce channel efficiency. Thus, as RUDAK alized Minimum Shift Keying, GMSK).
[8] serves a 2400 bit/s uplink with a 400-
bit/s downlink, PACSAT will be able to 4.3 Downlink Summary
serve four or five 9600-bit/s uplinks with
a single 9600-bit/s downlink. The modula Coherent FFSK can be efficiently generated
tion method chosen for this downlink must and amplified on the satellite, and pro
be power and bandwidth efficient and it vides the users with a wide range of poten
must yield reasonable results to unsophist tial decoders. With even a simple discrim
icated groundstations. It would also be inator decoder, a user with an 8.2 dB gain
5.14
receive antenna could get horizon-to-hori- The groundstation sees a smooth Doppler
zon coverage, while a user with an omnidir shift over the course of a pass, not the
ectional antenna would get the reference rapid switching that would have to be
BER of IE-6 whenever the satellite was tracked by the satellite. Development of
above 30 degrees elevation, We would like suitable groundstation receivers and trans
to experiment with Tame FM (GMSK), which mitters should, we believe, be undertaken
would allow us to increase bit rate by half or at least coordinated as part of the
without increasing uplink bandwidth. Such PACSAT project.
research should be accomodated in the final
PACSAT design. 6.0 ADAPTIVE COMMUNICATION
5.15
transition between the relatively slow data 8.0 ACKNOWLEDGMENTS
communications available to amateurs today
and the fast communications that will have This paper is not simply the work of the
to become available in the near two authors, but the result of many dis
future. cussions, including those with Richard
MacBeth (G8VLY, UoS), Martin Sweeting
(G3YJ0, UoS), Peter Sweeney (UoS), Harold
Price (NK6K), and R. Gibson (Phillips
Research Lab).
r —I
o> O
146.6
NJ
cn 00
•
•
r—1
m m
< O 0 0 * x J C N U l^ C O N J t —‘
143.9
Ul
•
•
—*
* (jo
nd no
rH r —I O ' fx. <0 <0 <0 <0
141.5
• • O 00 CT' CO
•
I—* l
•—
o
139.5
•
137.9
U l Ln K ) O ' x j Ln
H O
I
• • • •
• • •
136.7
I
135.8
W M
I
135.2 I
134.9 •
UJ
I
•
134.8
W
I
REFERENCES
[1] The PACSAT Project, Den Connors, Proceedings of the Second ARRL
Amateur Radio Computer Networking Conference, ARRL, 1983.
[2] "The U0-11 DCE Message Store-and-Forward System," H. Price, J. Ward,
Proceedings of the Fifth ARRL Amateur Radio Computer Networking
Conference, ARRL, 1986.
[3] "Modulation and Access Techniques for PACSAT," P. Karn, Proceedings
of the Second ARRL Amateur Radio Computer Networking Conference, ARRL,
1983.
[4] "Modifying the Hamtronics FM-5 for 9600 Bps Packet Operation,"
S. Goode, Proceedings of the Fourth ARRL Amateur Radio Computer
Networking Conference, ARRL, 1985.
[5] "Differential detection of MSK with non-redundant error correction,"
T. Masamura, et al, IEEE Transactions on Communication Vol 25, No 6,
June 1979.
[6] "Coherent demodulation of frequency shift keying with low deviation
ratio" R. De Buda, IEEE Transactions on Communication, June 1972.
Computer Networks, A. Tanenbaum, Prentice-Hall, 1981.
"Formal Definition Meeting for the Packet Radio Experiment RUDAK
to be Included in AMSAT P3-C," Proceedings of the Fourth ARRL Amateur
Radio Computer Networking Conference, ARRL, 1985.
5.16
A Packet Controller for the Revolution
Tucson Amateur Packet Radio (TAPR), an In order to use the SI0 on Amateur packet
Amateur-based, volunteer organization, is channels, a means had to be devised to
dedicated to the advancement of Amateur convert the NRZ (Non Return to Zero) for
digital communications. Its first wide mat of the SIO's HDLC data to and from the
spread TNC design, now called TNC 1, is in NRZI (Non Return to Zero-Inverted) format.
use throughout the world. This problem was solved by use of a single
flip-flop on transmit and a two-chip state
In spite of its wide acceptance, the high machine for the receive side.
cost of the TNC 1 (about $300 as a kit and
$500 assembled) discouraged many Amateurs As with other logic on the TNC 2, the NRZ-
from entering the exciting world of packet NRZI circuitry was implemented with ICs
radio. readily available in CMOS technology.
CMOS ICs typically consume far less power
The TNC 2 project was launched with two and have much greater tolerance to noise
primary objectives: reducing the cost of than other types, and are now speed and
entry into Amateur packet radio while cost competitive with earlier, less opti
maintaining the high standards set by the mal ICs.
TNC 1.
The TNC 1 has six byte-wide memory sites
Any list of high-cost items used in the mapped for 8k byte parts. This results in
TNC 1 must include the WD1933/1935 HDLC 48k of available memory without reprogram
controller, the XD2212 NOVRAM (tm) and the ming the address decoder. The release
cabinet. Together, these items represent software (pre-version 4.0) utilized only
nearly $100 of the $320 cost of the TAPR 40k of this memory space. TNC 2, on the
TNC 1 kit. other hand, has only three bytewide soc
kets. In the final configuration, one
In addition to eliminating the above com socket is mapped for a 32k byte EPROM and
ponents, careful attention was directed to the other two sockets can use either a
parts or features that could be deleted pair of 8k byte RAMs or a single 32k byte
from the new TNC design without seriously RAM. Thus, TNC 2 normally supports 48k
affecting performance. As a result of bytes of memory and can easily accomodate
this, TNC 2 lacks a software-programmable 64k bytes, the entire address capability
baud rate generator, user parallel ports of the processor used.
and a programmable memory map ROM.
To solve the problem of memory volatility
Finally, ways were explored to enhance the (the loss of data upon the interruption of
operation of TNC 2. Hundreds of letters power), a battery-backed RAM (bbRAM)
have been received by TAPR since the beta scheme is employed for all RAM on TNC 2.
testing of the original TNC design, and This not only eliminates the need for
many of the suggestions contained in those NOVRAM, as used on TNC 1, it provides
letters were implemented in the new unit. greatly expanded nonvolatile storage.
TNC 2 is based on the Z80 (tm) micropro To simplify the visual interface, the
cessor (uP). In addition to its efficient number of LEDs on the TNC front panel was
interrupt structure, the wide availability reduced from eight to five. At the same
of software tools for this device make the time, more useful information is presen
TNC 2 more suitable for the experimentally ted. LEDs are provided for POWER, PTT
inclined Amateur than TNC 1, which is (indicating transmitter activation), DCD
based on the less common 6809 processor. (data carrier detect - indicating that the
modem has detected incoming data), STA
TNC 2 uses an SI0 dual channel serial (status - indicating unacknowledged frames
controller; one channel serves as the user in the TNC's buffers) and CON (connected -
asynchronous port, while the other serves indicated the TNC is in the connected or
as the HDLC controller. Both serial ports disconnecting states).
are full-duplex. The user port output is
buffered to RS-232 compatible levels by a An effort was made to enable TNC 2 to
low-power op amp. Incoming RS-232 level operate from a single source of DC power
data is translated to TTL logic levels by (nominally 12 volts with negative common)
a CMOS Schmitt trigger IC. for portable and emergency use. However,
a decision was made early on to assure
5.17
that the RS-232 serial port output was $200. Available to the general Amateur
capable of driving a standard RS-232 load community in August of the same year, the
to below -3 volts. This meant a negative intial production run of 1200 units was
voltage source was required. quickly exhausted.
This was provided by means of a full-wave At that time, TAPR determined to step out
charge pump circuit based on a dual 555 of the TNC marketplace. Production rights
timer IC. Unregulated +12 and -V are used were licensed to several commercial firms,
for the RS-232 driver. Regulated +5 and - allowing TAPR to concentrate its efforts
5 voltas are derived from the regulated on development of otherwise unavailable
sources. The modem ICs, which require packet devices, including a networking
more than 9 volts of DC and are somewhat controller and high speed RF deck.
voltage sensitive, are driven from the +5
and -5 volt sources, Simple bipolar tran- Licensed versions of TNC 2 are now avail
sistor level shifters are then employed to able from various sources at prices be
interface the modem to the TTL levels tween $100 and $200. Truly, participating
required by the SIO chip and NRZ-NRZI the packet revolution is now within the
conversion circuitry, Not coincidentally, financial grasp of virtually every radio
the MF-1O switched-capacitor filter IC Amateur.
used in the receive portion of the modem
requires +5 and -5 volt sources. Acknowledgments
As with the earlier TNC, TNC 2 includes While a complete list of all the
on-board circuitry to aid in modem cali volunteers who helped with suggestions or
bration. The modem parameters are con testing of the TNC 2 would be quite
figurable via plug-in DIP headers. Switch lengthy, it is appropriate to include the
selectable data rates for the radio chan names of the prime movers of the project,
nel include 300 and 1200 baud, which are without whose help TNC 2 would not have
the current HF and VHF packet standards. occurred.
A higher-speed clock for 9600 baud opera
tion is also included, but requires the Peter Eaton WB9FLW PC Board Layout
use of an off-board modem. The modem Howard Goldstein N2WX Software Design
disconnect is virtually identical to that Steven Goode K9NG Modem
of TNC 1, and the K9NG 9600 bps modem has Charles Green NOADI Documentation
been successfully interfaced to both TNC 1 Daniel Morrison KV7B Testing
and TNC 2. Margaret Morrison KV7D Documentation
Paul Newland AD7I Hardware Design
The TNC 2 was introduced at the 1985 Day Harold Price NK6K Protocol
ton Hamvention at a coat of well under
5.18
TNC 2 PARAMETER SETTINGS AND MEANINGS
5.19
some cases you may need to add a If you want to change the command
linefeed after CR in the outgoing data, character, to the ASCII ESC character,
you can do this by turning LFADD on. enter COMmand $1B. If you want to go
from cmd mode to convers mode enter
When the TNC is sending to you too CONVers. The NEWMODE command will have
fast, you can stop it by typing the the TNC re-enter command mode when the
STOP character (CTRL-S) and you can link disconnects if it is set ON. If
restart it with the START character NOMODE is ON, the only way to change
(CTRL-Q). If you need to type any of modes is by explicit command.
these characters you can use the PASS
character (default CTRL-V), sometimes When you are using a BBS, you may
refered to as the quote character. find that you are able to connect
For instance, if you wanted to send a directly to it, but when activity
CTRL-A you, would have to type CTRL-V increases you need to use the
CTRL-A; obviously, to send a CTRL-V you digipeater. Instead of having to
would type CTRL-V CTRL-V. disconnect and reconnect, you can enter
command mode and issue a RECONNECT
MONITOR command with a more reliable path.
The easiest way to find out who in
While you are in command mode
your area is on packet or what BBS
received data will be printed only when
systems are around is to monitor the
you are not typing, this can be
channels, mostly 145.010 MHZ but also
overridden by setting FLOW OFF. If you
030, 050, 070, 090, as well as 220 MHZ
want to verify what you have typed you
in some areas.
can hit the Redisplay command (CTRL-R)
to see your input buffer.
The default monitor mode serves
well for this purpose. You may want to
When sending data to the TNC, such
change some of the parameters once you
as sending a file, the TNC should be
know what facilities are in your area.
able to flow control (or stop) the
To only see beacon messages turn MALL computer. There are two ways of doing
OFF. If you want to watch all types of this. If XFLOW is on it will use XON
frames you can turn MCOM ON. If you and XOFF as start and stop characters
want to monitor while you are connected for the data going to the TNC, as START
you can turn MCON ON (if you really and STOP were for data going to the
want!). terminal. If XFLOW is off, the TNC will
use hardware flow control, using the
There are two commands to help the RS-232 RTS (Request To Send) and CTS
formatting of the monitor data. To (Clear To Send) to start and stop data.
remove the digipeat path turn MRPT OFF,
you can also have the frame header and For file transfers that are not
the text on seperate lines if you turn strictly text files the transparent
HEADERLN ON. If the real-time clock is data mode is used, in this mode there
set you can have the date and time as is no line editing or delete. You can
part of the header with MSTAMP ON. enter transparent mode with the TRANS
command, or by having Conmode set to
COMMANDS Trans. There are two ways to return to
command mode while still connected,
The first thing you MUST change is send a break signal to the TNC, or by
MYCALL, set it to your callsign. Now entering three COMMAND characters in a
you can attempt to establish a link to row with idle time before and after
another station. Select the strongest them, a delay of more than CMDTIME
digipeater you hear and try to connect seconds. This is like the common
to yourself. If the digipeater in your smart telephone modem attention signal.
area is W1AW-2 then you should type
C mycall VIA W1AW-2; if everthing is To have the most transparency you
working correctly you should be should run with TRFLOW and TXFLOW both
connected to yourself. When you get OFF, which means you are using hardware
the ***CONNECTED message you will flow control both ways. When using the
change from command mode (with the cmd: software flow control you must use the
prompt) to the mode determined by the PASS character (CTRL-V) to send the XON
CONMODE parameter, the default is or XOFF as data, which is a problem for
CONVERSe mode. You can type and talk most terminal programs.
yourself (exciting huh?). When you are
done, disconnect by typing the COMmand In many cases 100% transparency is
character (CTRL-C). You will receive not really needed, some word processing
the command prompt (cmd:) and should files only need to insure 8 bit data
enter D (DISCONNECT). After a few and don’t use many control characters.
seconds you will get the message To provide for this and allowing the
★★★DISCONNECTED. You can connect to local editing you can set AWLEN 8 and
other stations in a similar fashion, 8BITCONV ON.
see the manual for more details.
5.20
LINK PARAMETERS seconds and PACTIME AFTER n, forward
data after n seconds of no new data.
The latter is the more commonly used
The timers associated with the form, for BBS and other computer
links can make or break the network. generated data.
The TXDELAY is the time required to The PASSALL option is generally
get your transmitter to send a stable not usefull, except for debugging.
signal plus the time for most receivers Ignoring the CRC defeats most of the
to produce audio plus the time required purpose of having an error free link.
for the modem to detect your tones.
The default is usually ok, but please The RESPTIME parameter is a timer
feel free to adjust it if needed, the used to help insure that a station does
shorter the better. not transmit an acknowledgement too
early. It’s default is 1.2 seconds
If you are using a voice repeater which should be fine for all cases.
you will then need to set AXDELAY to
account for the key up time of the The RETRY counter is important. It
repeater. The next timer comes after should be short for BBS forwarding (3
the data is sent, FRACK is a gauge of at the most), the concept is that if
when the acknowledgement should return. the link is shakey don’t bother causing
This is based on the number
H
o more interference. It should be longer
intermediate stations. FRACK should (0
tr tr tr
(D (D for users and user initiated file
left alone at this time. There may transfers. The TRIES command can be
some networks where it should used to view and optionally change the
M
5.21
CLKADJ parameter is used to compensate a message m my buffer. You can have
for the difference. You should adjust the connect messages time stamped if
the clock speed (aka crystal frequency) the clock is set and CONSTAMP is ON.
to keep most of the spurs away from the
ri- p -
When your station is operating
o a
packet channels as much as possiable.
Many times Murphy will put the spur unattended mode, you might want
ignore frames from the local BBS.
c:
K
s o
right on 145.010 MHZ!
cl
P)
can do this by using BUDLIST OFF
The clock is set with the DAYTIME LCALLS set to the BBS callsign. These
command in the format YYMMDDHHMM. The options can be very usefull in
date can be displayed in two formats filtering unwanted data from your
depending on the setting of DAYUSA. If capture buffer.
DAYUSA is on the date is in the form
mm/dd/yy. If it is OFF the format is The default setting of the TNC
dd-mm-yy. only allows one connection at a time.
This can be changed by changing the
The TRACE mode is used for number of USERS. The default is 1.
debuging problems between TNCs. It is When it is any other value an incoming
usefull if you are familuar with the connection request is assigned the
protocol and various formats. The lowest free stream or port. Ports are
frames are broken down in Hex and numbered from A to J. The STREAMSW
ASCII. command sets the character that is used
to mark a stream identifier. The
The internal modem is aligned with default is $7C (!). When new data is
the aid of CALSET and CALIBRATE received it is marked with the stream
commands. Full details on calibration switch character followed by the stream
is in the operators manual for the TNC. identifier (A-J). This may also
include the stations callsign if
The DISPLAY command is used to STREAMCA is ON. In order to help keep
display sets of or all the parameters. it clear where a stream begins you can
The RESET command will reset the bbRAM have the TNC double the stream switch
to the defaults, all customization will characters it prints, (ex. !!A:W2VY: hi
be lost. The RESTART command will there). The stream switch character is
perform a power on reset. also used to specify which you want to
send a line to, (ex. !A Hi Tom).
SPECIAL FEATURES
Any of the links can be-* made
Some of these features are very perminate with the CONPERM option.
basic and don't really fit under this This is stream dependent, if this is
catagory, but they are higher level set ON the link will never enter the
functions and belong as user services disconnected state. The CSTATUS
or features that you could do by hand command is used to display the status
or with a computer. of all streams. Including a P if the
link is marked as perm.
The MHEARD list is a list of
stations that frames have been heard. SUMMARY
The date and time is recorded. This
list can be cleared with the MHCLEAR The commands are summarized on the
command and is displayed by entering following page, including the default
MHeard. values. Some of these parameters may
be removed as more powerfull networking
The BEACON option should not be protocols are developed for the TNC 2.
used on a regular basis. It causes New commands and features will be
unwanted interference and are not added.
needed.
The TNC 2 and it's clones are
When a station connects to your going to be the "Smart modems" of
TNC you can have a canned message sent radio. With the larger population of
to them if CMSG is ON. A common packeteers packet radio is going to be
message is CTEXT I'm not here now leave advancing very quickly in the next
year. Enjoy!
Command Default Description
5.22
BText (120 char) Text to be sent for a beacon
BUdlist OFF Stations in Lcalls are ignored
CALibra Used to calibrate the builtin modem
CALSet Used with CALibrate
f—I
co
CANline (Control-X) The Line Delete character
i—I co
CANPac
cr>
(Ctrl-Y) Cancel current character
CHech
o
(0-250 * 10 sec) Idle link time out
CLKADJ 0 (0-65535) Real time clock adjustment constant
CMDtime 1 (0-255 sec) transparent mode escape timer
CMSG OFF Don't send CTEXT when user links to your TNC
COMmand $03 Char to escape from CONVERS mode to command mode
CONMode CONVERS (or TRANS) Mode to enter when link established
Connect Establish Link with station via optional stations
CONOk ON Allow stations to establish a link with your TNC
CONPerm OFF If ON always keep this link up (never Disconnect)
CONStamp OFF If ON print date & time stamp on connect messages
CStatus Prints the status of all links (Streams)
CONVers Enter Converse mode from command mode
CPactime OFF Don't forward data based on timers (see Pactime)
CR ON Append a Carriage Return to each data packet
CText (120 Ch) Connect Message Text (see CMSG)
DAytime Date and time for real time clock
DAYUsa ON Print date as mm/dd/yy instead of dd-mm-yy
DELete OFF The character delete is BS ($08) not DEL ($7F)
DIGipeat ON Allow stations to use you as a Digipeater
Disconne Request a link disconnect from the other station
Display (Async/Character/Id/Monitor/Timing) Parameters
DWait 16 (0-250 * 10 msec) Delay to let digipeater repeat
Echo ON Echo characters typed on keyboard to terminal
EScape OFF Don't translate ESC character ($1B) to $ ($24)
Flow ON Don't print to terminal while user is typing
FRack 3 (1-15 sec) Time needed to ack a packet per station
FUlldup OFF Operate in Simplex mode
HEaderln OFF Print the frame header and text on the same line
HID OFF Don't send an ID packet every 9.5 mins when active
ID Force an ID packet (UI frame Via UNproto path)
LCALLS (0-8 calls) to receive or ignore stations (BUDLIST)
LCok ON Do not convert lower case to UPPER CASE on terminal
LCSTREAM ON Convert the stream select specifer to Upper case
LFadd OFF Add a Line Feed after each CR send to the terminal
MA11 ON Monitor data frames as well as beacons
MAXframe 4 The window size for outstanding frames
MCOM OFF Monitor only data frames instead of all types
MCon OFF Don't monitor frames when linked to another station
MFilter Up to 4 characters to be removed from monitored data
MHClear Clear the calls Heard list
MHeard Display the calls heard and date/time if clock set
Monitor Monitor mode on - see BUDLIST, MALL, MCON, MSTAMP
MRpt Display the digipeater path in monitored frames
MStamp Monitored frames are Not time stamped
MYAlias An identifier for a digipeater
MYcall NOCALL The station callsign for ID and linking
NEwmode OFF The TNC acts like a TNC 1 for changing modes
NOmode OFF If ON allow explicit mode change only
NUcr OFF Don't send NULLS ($00) after a CR
NULf OFF Don't send Nulls after a LF
NULLS 0 (0-30) Number of nulls to send as requested
Paclen 128 (0-255,0=256) size of the data field in a data frame
PACTime After 10 (Every/After 0-250 *100 ms) Data forwarding timer
PARity (even)
GJ
co
523
Don’t print the stream switch char twice (!!A)
O V >O
P
Pm
STREAMDbl
m r* Pm
U
STReamsw (!) Character to use to change streams (links)
TRAce
Pm
Hexidecimal trace mode is disabled
TRANS The TNC enters Transparent data mode
TRFlow OFF Disable flow control to the Terminal (Trans mode)
TRIes (0-15) set or display the current retry counter
(0-120 * 10ms) Keyup delay for the transmitter
no o Uo h
TXdelay
Disable flow control to the TNC (Transparent mode)
Pm
TXFlow
Unproto Path and address to send beacon data
USers Sets the number of streams (links) allowed
XON/XOFF Flow control enabled instead of hardware
O O H
Xflow
XMitok Allow transmitter to come on
(CTRL-S) Character to stop data from terminal
n
XOff
(CTRL-Q) Character to start data from terminal
rd
h
XON
5.24
Link Level Protocols Revisited
ABSTRACT
The LAPB protocol on which the connected mode of AX.25 is based was origi
nally designed for point-to-point wire links, not shared multiple-access radio chan
nels. This paper discusses the deficiencies of LAPB in the radio environment and
suggests several improvements. These include the simple (adjusting existing TNC
parameters), the moderate (upward compatible implementation changes) and the
radical (replacing LAPB altogether with a simpler and inherently much more
efficient protocol).
We believe that these approaches deserve serious attention by the amateur
packet community. The suggested AX.25 congestion control techniques should be
used as soon as possible in existing networks, while the new ‘"ACK-ACK” protocol
should be considered in the design of backbone networks and eventually user
network links.
5.25
2. Packet Radio Protocol Requirements the receiver usually attempts to acknowledge
A good packet radio protocol must do incoming data as soon as the channel becomes
four things: clear, it is likely to collide with the sender if
the sender attempts to send additional data
1. Deliver the user’s data as reliably as pos without first waiting for the ACK for the data
sible. already sent.1 Pipelining on a half duplex radio
Deliver the user s data as quickly as pos channel is therefore a good example of a
sible. socially undesirable technique that attempts to
Use the shared channel capacity as reduce user delay at the expense of overall
efficiently as possible. channel efficiency.
4. Be reasonably easy to implement.
3.2. Transmission Efficiency
Naturally, these goals conflict. For exam
Given that a user wants to send a certain
ple, on a full-duplex, point-to-point channel,
amount of data, a packet radio controller must
the third consideration does not apply. The
control several parameters to packetize that
protocol is free to use as much transmission
data for transmission most efficiently.
bandwidth as it chooses to maximize the other
criteria, since it would otherwise go to waste. Since it operates on a half-duplex chan
On a shared packet radio channel, however, a nel, the controller must first decide how much
socially well-adjusted protocol should attempt to send on each transmission before switching
to use as little channel bandwidth as possible to to receive and waiting for an ACK. Sending
move a given amount of data, even at the more on each transmission reduces channel
expense of increased user delays. As we will overhead by allowing each returning ACK to
see, this makes several features of LAPB “cover” more data. It also increases the max
undesirable. imum throughput attainable on a channel with
a given propagation delay, since this rate can
3. Sliding Windows vs Stop-and-Wait never exceed one window full per round trip
interval. On the other hand, smaller transmis
LAPB is a sliding window protocol. This
sions are smaller targets for noise and interfer
means that it is possible to send more than one
ence.
frame before an ACK is received for the first
outstanding packet. The maximum number of Second, once it has decided to send a cer
frames that may be transmitted before the tain amount of data in a transmission, the data
sender must stop and wait for an ACK is must be divided up into one or more consecu
known as the window size. For the standard tive frames.2 The fewer frames used, the
form of LAPB used in AX.25, the window size smaller the effects of frame overhead. On the
cannot exceed 7. Most implementations allow other hand, a single large frame is unusable
the user to decrease this limit further (e.g., the even if a single bit error occurs near the end,
TAPR MAXFRAME option). so sending the data as a burst of smaller frames
might allow the receiver to “salvage” at least
3.1. Pipelining the beginning of the transmission. (Note that
the “go-back-N” recovery strategy of LAPB
Sliding window protocols are popular
requires that all frames received after an error
because they allow the full utilization of high
be discarded and retransmitted, even if the
speed, full duplex circuits with long round trip
later frames are received correctly).
delay. For example, a satellite path has a
round trip delay of .5 seconds. If only one The sender therefore controls three
frame can be sent at a time, the transmitter parameters: transmission size, frame window
must remain idle at least .5 seconds before an
1 Note that TNCs capable of “multi-connect”
ACK could return, enabling it to transmit operation (i.e., able to manage simultaneous connec
another frame. While the effect of this delay tions with several different stations on the same chan
can be reduced by making each frame very nel) should allow unacknowledged data on only one
long, it cannot be eliminated unless more than connection at a time.
one frame can be “in the pipe” at a time. 2 Although pipelining is to be avoided, more than
one frame may be sent in a single transmission (i.e.,
Pipelining causes major problems, how without interrupting carrier between frames).
ever, when the channel is half duplex. Since
5.26
size and maximum frame size, and setting any sliding window protocol is harder to evaluate.
two determines the third. Unfortunately, However, it seems reasonable to argue that the
values that improve performance in the pres “salvage value” of a multi-frame transmission
ence of noise conflict with those that minimize that has encountered a collision is likely to be
overhead. Therefore, it follows that there even less than one corrupted by thermal noise.
should be an optimal set of parameters for a This is because in CSMA, collisions tend to
given channel when operating at a given error occur near the beginning of transmissions, dur
rate and with a protocol that has a given header ing the “collision window” represented by the
and ACK overhead. time needed for one round trip propagation
This is indeed the case. A program3 was delay. Since a hit in the first frame of a
written to compute analytically the overall transmission renders all later frames unusable,
expected efficiency of an AX.25 transmission, dividing up the transmission into multiple
given the following parameters: frames simply increases header overhead
without improving net performance.
1. A Gaussian bit error rate (each bit error
being independent of all others, as would Since we have shown that sliding win
occur with “white” thermal noise). dows are suboptimal for our application, and
because they account for much of LAPB’s
A transmission size in bits.
c\i
The number of frames into which to scrapping LAPB altogether and designing a new
divide the transmission. protocol better tailored to the radio environ
4. The overhead in bits of a frame header ment becomes apparent. However, we recom
and an ACK. mend that current AX.25 TNCs be operated in
a stop-and-wait mode. Simply set MAX
For all bit error rates studied (10~2 to
FRAME to 1 and take steps to adjust the
10~7, ranging from a link that is almost com
packet size to a value appropriate for the chan
pletely unusable to one so good that almost
nel. This ensures that new data can never col
anything works), maximum overall efficiency
lide with a returning ACK, regardless if the
was always obtained when each transmission
implementation already enforces a “single out
was limited to one frame. As expected, the
standing transmission” rule. One implementa
optimum transmission (and frame) size
tion strategy that might be useful here is to
increases with decreasing bit error rate. The
hold additional outgoing data in a buffer until
efficiency of a large (and suboptimal) transmis
any previously sent data has been ack
sion can be improved by dividing it up into
nowledged, and then send as much as possible
several consecutive frames. However, this is
in the next data packet subject to the max
always less than the efficiency attained when
imum packet size limit. This is much more
the message is divided up into smaller single
efficient than “pre-packetizing” outgoing data
frame transmissions, even when the extra ACK
according to special characters in the data (e.g.,
overhead is taken into account. In other
carriage return), since short lines would other
words, a “stop-and-wait” (i.e., window size
wise result in small transmissions and poor
one) protocol with an appropriate frame size
throughput. A similar strategy, the Nagle Rule
always uses the channel more efficiently than a
[10] has become widely accepted by implemen
sliding window protocol with a window size
tors of the ARPA Transmission Control Proto
greater than one.
col (TCP), the most common transport (level
The “real world,” though, is a bit harder 4) protocol used in the ARPA Internet [6,7].
to characterize because many (if not most)
One final issue, that of “Selective
errors are caused by collisions rather than
Reject,” becomes moot when LAPB is
insufficient S/N ratios. Errors are therefore
operated in a stop-and-wait mode. If only a
much more likely to occur in bursts, with
single frame can be outstanding at any one
entire transmissions often rendered useless.
time, there is no need for this special meas
Collisions are harder to model than thermal
ures. In any event, simulations have shown
D
5.27
world). [9] The same paper proposed an alter this is not true for current AX.25 implementa
native known as “multi reject” but this is tions.
again unnecessary if the window size is one
frame. 4.1. Retransmission Backoff
The most important change that must be
4. Congestion Collapse made to stabilize the AX.25 protocol is for suc
Because LAPB made no provisions for cessive retransmissions caused by the non
channel sharing, as now implemented on ama receipt of an ACK to be spaced out further and
teur packet radio TNCs it is extremely prone to further over time. This technique is called
channel “congestion collapse,” a stable condi backoff, and many variations exist.
tion where virtually every transmission results The most well-known example is binary
in a collision. Congestion collapse can be exponential backoff, used in the Ethernet local
avoided only when TNCs become able to adapt area network. [5] In Ethernet it is possible to
themselves dynamically to the load offered by detect a collision during transmission. When
other TNCs. This section proposes congestion this occurs, the transmission is aborted and a
control algorithms that should be made part of backoff timer is set to a random value distri
the formal AX.25 protocol specification. They buted evenly between zero and a number that
will be of little help unless widely imple doubles after each unsuccessful attempt. In
mented, because there is little incentive (other mathematical terms, the timer is set according
than altruism) for one to use them unless to the expression
everyone does.
T= S random(o,2"""(",O))
Several factors combine to cause our
currently severe congestion problems. The where random returns random number
first is jump-on, where several stations with evenly distributed between its two arguments,
traffic to send collide with each other the n is the retry number, S' is a proportionality
instant the channel becomes free. The second constant, and the min function sets a max
and more serious problem is caused by hidden imum bound on the retransmission interval.
terminals. These are stations unable to hear This causes successive attempts by each station
(and defer to) transmissions from certain other participating in a collision (there could be
stations. When this happens, the CSMA (car
many stations all jamming each other simul
rier sense multiple access) algorithm breaks
taneously) to be spaced out over rapidly
down and collisions become very frequent. increasing intervals until the offered load on
Kleinrock [3] has shown that just one or two
the channel drops to the point where successful
hidden terminals in a packet radio network are
transmissions can occur. As usual, should
often enough to degrade performance below some retry limit (typically 16) be reached the
that of slotted Aloha, and it doesn’t take many packet is abandoned.
additional hidden stations for performance to
approach that of pure Aloha. Gower and Jubin Base 2 gives reasonable performance and
[4] observe that carrier sensing actually makes is easy to implement. However, other values
things worse in the presence of hidden stations can be used in the exponential calculation.
because it aggravates jump-on. Smaller bases back off less quickly, while larger
bases cause rapid increases in the retransmis
A more fundamental problem with packet
sion interval. If retransmissions are more
radio is that all dynamic multiple-access
often caused by poor link margins than by col
schemes (regardless of carrier sensing, hidden
lisions, a smaller base (i.e., slower backoff)
terminals, delay and so forth) exhibit a “nega
may be appropriate at the expense of slower
tive resistance” characteristic at high load lev adaptation to congestion.
els. As the offered load increases, the collision
rate increases and usable throughput decreases. Packet radio differs from Ethernet in that
While the exact point at which optimum there is no immediate indication of a collision;
throughput is obtained on a given channel one can be detected only by the non-receipt of
varies widely depending on the algorithm and an ACK. Furthermore, the interval between
the station characteristics, there is always the transmission of a packet and the receipt of an
need to control the offered load dynamically if ACK will vary depending on external factors
it is to be operated efficiently. Unfortunately, such as channel speeds and the number of digi-
5.28
peaters. Therefore, more work is needed to once the round trip timer is started, it should
adapt our backoff strategy to packet radio. be allowed to run even if the packet being
timed is lost and retransmitted. While this can
4.2. Retransmission Timing cause anomalously large “spikes” in the round
In the most common implementations of trip time measurements, the alternative (res
AX.25, the estimated interval between tarting the timer when retransmitting) is worse
transmission of a packet and reception of its because an ACK for a previous transmission of
ACK is called FRACK and is sent manually. the packet might come back immediately after
An ad-hoc rule is used to increase it according the retransmission. This would yield an
to how many digipeaters are included in a con erroneously small estimate that might never be
nection. corrected. In any event, it is a good idea to
process these measurements in two ways
There are several problems with this before using them to set the retransmission
approach. timer.
1. A constant value cannot adapt to chang 1. Compute a running average over several
ing channel conditions. A value that measurements to smooth out random
gives efficient and quick response when fluctuations.
the channel is lightly loaded may cause
many unnecessary retransmissions when Include a “grace” factor to allow for sud
ACKs are slow in returning because of den increases in the round trip delay.
channel load. The TCP specification recommends this
Few users bother to tune this value to an formula for smoothed .round trip time compu
bo
5*29
and use them together to set the retransmis transmission attempts once the channel goes
sion timer. To do this, we first observe that we clear. Assuming only one station decides to
should always wait at least one round trip inter transmit in each slot, or round trip interval, the
val (preferably ft intervals, to allow a grace other stations on the channel will hear and
interval as in TCP) for an ACK to come back. defer to it before they attempt to transmit
One possible result is the following: themselves.
T = Ts P random (1,2") Clearly there is an optimum value of p
for a given level of channel activity. If p is too
When packets are not being lost, the round trip large, too many stations will jump on each
timer will always be set to times the other in the first slot. If p is too small, many
smoothed round trip interval. Should several slots will go to waste before the stations even
retransmissions occur in a row, however, both tually transmit, and transmission delays will
the average retransmission interval and vari increase unnecessarily. It is therefore best to
ance will double on each retry. set p dynamically, if possible. At low load lev
els, p=\ gives the best performance; as the
4.3. Persistence channel reaches 75-80% offered load (i.e., the
channel appears busy 75-80% of the time with
The round trip timing and backoff algo either good packets or collisions) the value
rithms just described help stabilize the channel should be decreased.
and prevent congestion collapse through nega
tive feedback that attempts to operate the The backoff algorithm given in the previ
channel near the peak of its throughput ous section can be viewed as a way to adjust
efficiency curve. These are especially helpful the value of p dynamically when timeouts
when many hidden terminals are present, limit occur, since doubling the retransmission inter
ing the maximum attainable channel efficiency. val corresponds to halving the value of p. The
Even without hidden terminals, however, only real difference is that the backoff interval
efficiency can still suffer greatly in a heavily is evenly distributed while the persistence
loaded network because of the jump-on prob “timer” is exponentially distributed.
lem. TAPR TNCs pioneered the use of
One way to alleviate this is to change how DWAIT, a persistence-like feature. It should
stations with packets to send behave when they be enhanced to provide true persistence (i.e.,
find an idle channel. Our current algorithm, by randomization). A worthwhile research pro
namely “transmit as soon as you hear the ject would be the development of a good algo
channel go clear,” is formally called 1-persistent rithm for the real-time evaluation of p. with
CSMA and leads to the jump-on problem. A the goal of incorporating it into a future revi
less greedy alternative is p-persistent CSMA, sion of the AX.25 specification. One possible
where each station waits a random amount of approach is to sample the state of the DCD
time before transmitting even when the chan line periodically and estimate the channel
nel seems to be clear. Each station generates activity. The value of p could then be found
an evenly distributed random number between in a lookup table. If more retransmissions
0 and 1 and compares it to a constant, p, which occur than expected for the measured amount
also ranges between 0 and 1. If the random of traffic (e.g., due to hidden terminals), then
number is less than p, the station transmits; p could modified as appropriate.
otherwise it waits a small amount of time
(called the slot time, ideally one round-trip pro 5. Some Final Thoughts on Congestion Con
pagation delay) and repeats the procedure. As trol
p approaches zero, channel efficiency theoreti Congestion control in packet radio net
cally approaches 100%. Unfortunately, how works and packet switching networks in general
ever, delay also approaches infinity! For any are notoriously difficult problems and have
non-zero value of p, however, the packet will received much research attention. The sugges
eventually be sent after finite delay although tions made here, however, should greatly
channel efficiency will decrease. alleviate the problem and make our AX.25
Persistence works because the stations digipeater networks halfway usable under heavy
waiting for the channel will “spread out” their load.
5.30
However, it may turn out that radically 6. A Replacement for LAPB
new approaches to transmitting bits and packets As we have seen, LAPB is out of its
over amateur radio links will hold a better solu natural element (a reliable, full duplex point-
tion. to-point link) when it is used on a lossy, half
1. Spread spectrum with different spreading duplex packet radio channel. LAPB lacks the
sequences assigned to each receiver elim features needed to control congestion and
inates channel collisions except for the improve performance on bad links. It also con
less likely case where two transmitters tains unnecessary “features” that increase the
attempt to send to the same receiver at size of an implementation and may actually
the same time. degrade performance. This section is an
Since the received signal levels in a attempt to apply the lessons learned from
packet radio network usually vary widely, LAPB to the design of a new protocol, one
modulation methods and forward-error- much better suited to the amateur radio
correcting (FEC) techniques that exhibit environment.
higher degrees of “capture” may help by
minimizing collisions where nobody 6.1. Link Level Acks versus Connections
“wins.” An important point needs to be stressed
Busy Tone Multiple Access (BTMA) [3] here. Link level acknowledgements (desirable
involves receivers indicating on a separate for performance reasons when operating on a
radio channel (with a “busy tone”) that lossy channel) do not necessarily imply link
they are actively receiving a packet. Sta level connections. A packet switch operating in
tions monitor the busy tone rather than a large metropolitan area may serve a total of
the data channel to determine when to several hundred users, but only a small fraction
defer. If the power levels and propaga may be active at any one time. Why require
tion conditions between the main and the switch to maintain hundreds of mostly idle
busy-tone channels are symmetric, it is link level protocol control blocks for all these
possible with BTMA to avoid completely users, or alternatively saddle users with the
the hidden terminal problem. While this burden of setting up a link level “connection”
technique requires twice as many radios to their local switch before they may communi
(along with the ability to operate in full cate with their final destinations?
duplex, although this could be crossband) Veterans of the amateur packet radio
the improvement in throughput could “protocol wars” will recognize this as an argu
easily more than double. ment for datagram-oriented networks. We
4. Conventional “bent-pipe analog or believe that the connection- (or virtual-circuit-)
regenerative digital repeaters of the split oriented nature of LAPB is another major con
frequency type also reveal hidden termi tributor to its complexity. We further believe
nals. While this is contrary to the trend that a redesigned protocol that enhances link
toward digipeaters, they may be the most level reliability with acknowledgements without
expedient way to solve a particularly explicit connection management procedures
difficult case. will be both simpler and easier to implement.
This list only touches the list of possible 6.2. Window Control
approaches to congestion control. Above all,
we need to leave plenty of room for experi As shown by our analysis of LAPB, slid
mentation into these and other “low level” ing windows are unnecessary in a half duplex
problems. Our experience has shown that packet radio environment, so our replacement
there cannot be a single, “standard” link level is a simple stop-and-wait protocol. Even when
protocol that is optimum everywhere. Each traffic is pending to more than one station,
link protocol must be customized to a specific only one data packet may be sent at a time.
environment, and the network architecture An ACK must be received for this packet (or a
(e.g., higher level protocols) must take this “give up” interval exceeded) before another
fact of life into account and be flexible enough packet can be sent to this or any other station.
to accommodate them all. This avoids the ACK collisions that could
occur if we were to sent traffic to two or more
5.31
stations at one time. This also simplifies the ity of a data packet or ACK being successfully
implementation, since all traffic to be sent on a received in one try is pd or pa. respectively. In
given channel can be kept on a single queue order for the sender to expect to receive one
regardless of destination. ACK, the receiver will, on the average, have to
transmit its ACK — times. In order for the
6.3. Acknowledgement Piggyback Pa
Another feature of LAPB that makes its receiver to transmit this many ACKs, however,
contribution to complexity is the ability to it will also have to receive — data packets.
“piggyback” an ACK on a data frame traveling Pa
Therefore, the sender can expect to send
in the reverse direction. This is a difficult
feature to use in practice, because there is sel —x— packets for each ACK received. For
dom a data frame available at precisely the Pd Pa
example, if the probability of a data packet or
right time on which to piggyback an ACK. ACK being successfully received is 25%, then
Most applications operate in a “pseudo half pd = pa = 0-25, and the sender will have to
duplex” mode: one host sends one or more send each data packet an average of sixteen
packets to its peer, and one or more packets times before an ACK is finally received and it
later flow in the opposite direction. Some pro can continue with the next data packet! On
tocol implementations delay the transmission such a link, a greater attempt by the receiver to
of ACKs in the hope that a higher layer will ensure receipt of its ACKs by the sender is
soon generate an outgoing data frame on which worthwhile.
it could be piggybacked. This seldom succeeds,
however, because any delay must be kept short Given that nothing can be done about the
both to prevent unnecessary retransmission and “raw” value of pa, then the only thing the
to keep the round trip time small enough to receiver can do to increase reliability is to
avoid affecting throughput. We therefore felt retransmit ACKs whenever necessary. If the
that ACK piggybacking was not necessary in receiver were to retransmit each ACK up to N
our protocol. times, then the probability that at least one
attempt succeeds is
6.4. Acknowledgment Retransmission 1 - (1-/U
In LAPB, a lost ACK causes the sender
to timeout and retransmit a data frame, even If the probability that a data packet is success
though it has already been received correctly. fully received is pd. then the expected number
When loss rates are low, this is not a serious of data packet transmissions that result when
problem. However, should a substantial frac the receiver makes N attempts to transmit each
tion of the ACKs be lost, the unnecessary ACK is
retransmission of data frames by the sender
merely to elicit ACK retransmissions from the
receiver can cause a considerable loss of per
formance. This problem was first recognized For our earlier example where pd = pa = 0.25,
eleven years ago by the designers of the first if A=5 then the probability becomes .76 that at
packet radio network, the ALOHANET, who least one ACK will make it back to the sender.
proposed an elegant solution that we have This decreases the expected number of data
dubbed the ACK-ACK protocol4 [11]. packet transmissions from 16 to 5.25, a sub
As its name implies, the ACK-ACK pro stantial improvement.
tocol provides for the acknowledgement and The receiver does this by setting a timer
retransmission, if necessary, of ACKs to when it transmits its ACK and retransmitting it
prevent the unnecessary retransmission of data if an acknowledgement of its acknowledgement
packets. Let’s look at an example using LAPB (an “ACK-ACK”) does not return before the
more closely to show why ACK-ACK gives timer expires. The receiver may also accept
better performance. Assume that the probabil the next data packet from the sender as
4 We considered calling this the “Bill the Cat Pro
confirmation that its ACK of the preceding one
tocol,” but thought the reference too obscure. was accepted, because the sender will not con
tinue with the next data packet until the one
5.32
outstanding has been acknowledged (remember request an ACK). There is of course the
this protocol operates in stop-and-wait mode). chance that we might delay processing of the
This means that when one station sends a new data so long that a timeout occurs. This
steady stream of traffic to another, no addi can be largely avoided, however, if the link
tional packets over the conventional protocol retransmission timers are chosen to be longer
case are sent. Only at the end of a burst of than the time needed to send a typical multi
traffic (or after an isolated packet) is an extra packet “burst.” These can be limited by
ACK-ACK packet generated. Clearly, the appropriate window sizes in the end-to-end
ACK retransmission timer must be shorter (transport) protocol. The alternative, immedi
than the data retransmission timer; this ratio ately acknowledging the new data but telling
corresponds to the value of N in the above the sender to hold off on more, is possible but
equations, the number of times the receiver complicates the protocol. Periodic “probes”
will attempt to retransmit the ACK before the from the other station would be needed to
data packet is retransmitted unnecessarily. guard against the deadlock that would occur if
To make the protocol reliable, we need to our “go ahead” message is lost, and these
include a frame identifier (ID) with each could also collide with packets to or from the
transmitted data frame and ACK. The ID station we’re already communicating with. The
ensures that the sender and receiver do not get simple acknowledgement delay strategy thus
out of step, possibly losing or duplicating a data seems workable, especially if the data
frame. The ID need not be a sequential value; retransmission strategy backs off rapidly (e.g.,
it need only be different from one frame to the exponentially). It also simplifies the code
next. If the receiver receives a data frame with greatly, since managing multiple connection
the same source address and ID as the last state control blocks is usually the hardest part
received frame, normal ACK is sent but the of a “multi connect” TNC.
frame is otherwise ignored as a duplicate. Since radio channels can vary widely in
The ACK-ACK protocol can be viewed as quality, it is desirable to make the use of
establishing an implicit, unidirectional “con ACK-ACKs and even ordinary ACKs optional.
nection” with the first data frame, which exists This is especially useful when supporting
only as long as there is data to send. Once an datagram-oriented network layer protocols such
ACK-ACK is sent to show that no more data is as IP, since it is more efficient to dispense
available, the sender and receiver need retain entirely with the overhead of link level ACKs
no further state (i.e., addresses and ID) and and rely on end-to-end retransmission of lost
the “connection” is torn down. The sender packets when link error rates are very low.
then repeats the process with any other station Our protocol therefore provides for an indica
for which it has traffic. tion in each packet (data or ACK) whether a
reply (ACK or ACK-ACK) is expected for this
Only one implicit “connection” exists at transmission. It is therefore easy to adapt this
any moment (although the destination to which protocol to changing radio conditions or user
we are “connected” can change very rapidly) reliability requirements. An ACK-ACK need
since our half duplex operating rules require be sent only when no more data is available,
that only one data packet be outstanding at a since the next data packet awaiting transmis
time. If a third station sends us data while sion may serve as an ACK-ACK. An ACK
we’re already exchanging data with another sta ACK may then be represented merely by an
tion, then this new data is put on a queue and empty data packet with the “acknowledgement
processed after we’ve completed our current requested” bit turned off. This simplifies both
transfer sequence. If a data frame requesting the concept and the implementation of the pro
an ACK should arrive from a new station, we tocol considerably.
do not immediately acknowledge it because
that would encourage it to send more data. 6.5. ACK-ACK Preliminary Specification
This might interfere with the station we’re
already communicating with, so we hold this In specifying frame formats correspond
frame on a queue for processing once we ing to data, ACK and ACK-ACK messages, we
return to an idle state. (However, an ACK have tried to adhere to the basic structure of
from such a station may be processed immedi the AX.25 datagram sublayer. In other words,
ately, as may incoming data that does not we keep the standard AX.25 address field lay
5.33
outs and attempt to use the existing control length.
flag definitions whenever possible. Data is FCS Frame check sequence, length 16 bits.
transmitted as a UI frame with poll and com This contains the CRC-CCITT checksum
mand turned on, ACK is transmitted as a UA of the frame.
frame with final and response turned on, and
Trailing flag.
ACK-ACK is transmitted as an empty (no
data in the data field) UI frame with poll The ID byte is probably best set from a
turned off and command turned on. single counter used for all transmissions
regardless of destination. The only require
6.5.1. Frame Formats ment placed on the sender is that the value of
the ID field not be duplicated in any two sub
The frame format is similar to that of
sequent frames sent to the same destination;
AX.25. The fields are named and the length of
this can be avoided by limiting the transmit
the field in bits follows the field name and is
queue to 255 entries.
enclosed in parenthesis. Here is the basic
frame:
6.5.2. Flow of Data Between Stations
F Dest Src Digi Ctl PID ID Data FCS F This section is a preliminary specification
(8) (56) (56) (0-448) (8) (8) (8) (16) (8) of the ACK-ACK protocol in an informal, nar
rative style. As this definition is refined and
Where implemented, a more formal description is
Flag, length 8 bits. Value 7E hex, not being written. Contact the authors for more
bit stuffed. information.
Dest Address of destination, length 56 bits. Data is transferred from station A to B in
This is the standard AX.25 address/SSID the following way. Station A selects a ID
combination. value, sends the data (UI) frame to B, and
Src Address of source, length 56 bits. This starts a timer with interval Td. B notes the
is the standard AX.25 address/SSID sender address and ID number, responds with
combination. an ACK (UA) containing the ID just
received, and starts a timer with interval Ta.
Digi Address of repeater (s), length varies After receiving an ACK from B for the most
from 0 (no digipeaters) to 448 (8 recently sent frame, A responds by sending
digipeaters). This is carried over from the next data frame and restarting its timer if
AX.25, although deprecated for the net there is more data to send, or sending an
works in which this protocol is likely to ACK-ACK (empty data frame without poll
be used. request) and stopping its timer if there is no
Ctl Control field, length 8 bits. The con more data to send. When B receives the next
tent determines the frame type, either data frame or an ACK-ACK, B discards any ID
UI or UA. The following values are in it is currently retaining from A and either
binary: sends an ACK with the new ID (restarting its
UI OOOpOOll timer) or goes into the idle state (stopping its
timer) as appropriate.
UA OllpOOll
where ‘p’ is the poll/final bit. If A should fail to receive an ACK con
taining the correct ID from B within the
PID Protocol identifier, length 8 bits. This timeout interval Td> then it increments a retry
identifies the layer three protocol and counter, retransmits the data frame and restarts
follows the same conventions as AX.25. its timer. If the retry counter exceeds a fixed
ID Frame ID, length 8 bits. This uniquely limit, additional transmission attempts for this
identifies the frame from the previous frame are aborted, and if possible, the packet
and subsequent frames to avoid duplicate should be returned to its original source with
and lost frames. an error indication. Higher level protocols are
Data Data, length 0 to 523,688 bits (0 to then responsible for any further error recovery
65,461 bytes), The sender and receiver procedures. If B fails to receive either another
should agree maximum frame data frame or an ACK-ACK from A within its
c
o
C
’S
length not to exceed 65,461 bytes in timeout period 7L, then it resends its ACK,
5.34
restarts its timer and increments a retry that relates round trip time to the selected
counter. If the same data frame is received value of Td. Both timers should be random
again from A, B resets its retry counter, ized and backed off as described earlier in the
resends an ACK and restarts its timer but oth congestion control section.
erwise ignores it as a duplicate. If there is no As soon as Td (equal to ATfl) expires at
response at all from A after N ACK the receiver the receiver should cease sending
Td ACKs. This prevent the ACKs from colliding
retransmissions, where N is the ratio —, B
1a with and destroying a retransmitted data frame.
abandons any further retransmission attempts If the sender should fail to receive an ACK
and acts as though an ACK-ACK had been it will resend the frame. The receiver repeats
received (i.e., it discards the ID and sender the process of acknowledgement but discards
information and returns to a quiescent state). the frame.
Higher level protocols are responsible for
detecting and recovering from the residual pos 7.1. Performance
sibility for packet duplication this allows.
ACK-ACK was compared to AX.25 for
Because of its small amount of state, this various links and message sizes using a
protocol can be implemented simply and with Monte Carlo program that simulates both
little memory. Communicating with several ACK-ACK and AX.25 in identical environ
different stations in “rapid fire” sequence is ments. In all configurations a window size of 1
easy; the receiver need retain the last ID (stop and wait) was found to be most efficient
valued received from a particular sender only and ACK-ACK to be more efficient than
as long as data is actively being transferred. LAPB/AX.25. Performance improvements
Special connection establishment packets are over LAPB/AX.25 ranged from a low of 1.21
unnecessary. for very reliable links to a situation involving
2 digipeaters where ACK-ACK delivered the
7. Selection of Appropriate Values for Tun data and AX.25 failed to deliver all the data
ing Parameters within the running time of the simulation. In
There are three parameters that should the latter case, when the simulation was
be regularly adjusted or “tuned” to the terminated the performance improvement
existing conditions on the channel. These over AX.25 was already over 100.
parameters are frame size, transmit timeout
timer Td, and ACK timeout timer Ta. The 7.2. Conclusion
frame size should be adjusted to the LAPB/AX.25 is a good protocol for
optimum value based on the current channel point-to-point communication over reliable
statistics. As more frames are lost the frame full-duplex links. ACK-ACK is more desirable
size should be shortened until the optimum than AX.25 in high error rate and/or half
operating point is reached as described in duplex environments because it provides
Appendix 1. significantly greater throughput, better chan
The correct timer values are much nel utilization, and is much simpler to imple
simpler to calculate. The transmit timer should ment.
be set to some value that is significantly
greater than the round-trip time for a frame to 8. References
travel from sender to receiver for an ACK to [1] Fox, T., ed., “AX.25 Amateur Radio
return. The receiver should also calculate the Link Layer Protocol Version 2”, Ameri
round-trip time and determine how many can Radio Relay League, 1985.
ACKs are required to insure that an ACK [2] CCITT Study Group VII, “Interface
reaches the sender. The receiver should set the Between Data Terminal Equipment
value of Ta to be Td divided by the number (DTE) and Data Circuit-Terminating
of ACK transmissions N necessary to increase Equipment (DCE) For Terminals Operat
the probability that an ACK arrives at the ing in the Packet Mode on Public Data
sender to the desired level. In order for this Networks,” • Recommendation X.25,
technique to work properly both the sender 1984.
and receiver need to agree on the formula
5.35
*
^7
Control Using Pacing in a Packet Radio D+NH
Network,” IEEE Conference on Military
Communications, 1982. If we include the overhead of an ACK (A bits)
[5] Metcalfe, R. M., and Boggs, D. R., “Eth then this becomes
ernet: Distributed Packet Switching for
Local Computer Networks,” Commun. D+NH+A
ACM, vol. 19, pp. 395-404, July 1976.
[6] Postel, J., ed., “Transmission Control
Protocol Specification,” ARPA RFC 793, Unusable Frames
September 1981. If the channel bit errors occur indepen
[7] US Department of Defense, “Military dently at rate R. (i.e., caused by Gaussian
Standard Transmission Control Proto sources such as “white” thermal noise) then
col,” MIL-STD-1778, 12 August 1983. the probability that a frame of length D+H is
[8] Mills, D., “Internet Delay Experiments,” received without errors is simply (1—R)D+H.
ARPA RFC 889. In this section we call this quantity (7, the pro
bability of receiving a good frame. Note that
[9] Brady, Paul T., “Performance Evaluation G decreases as we increase D; i.e., the longer
of Multi-Reject and Selective Reject the frame, the greater the chance it will be cor
Link-Level Protocol Enhancements,” Bell rupted in transmission, unless the channel has
Communications Research. (Paper sub a perfect bit error rate (R=0).
mitted to ICC Toronto, June 1986).
In the go-back-N error recovery tech
[10] Nagle, J., “Congestion Control in nique, only the next expected frame can be
IP/TCP Internetworks,” ARPA RFC processed; any other frames received are dis
896. carded, even if they are received correctly (i.e.,
[11] Binder, R., et al., “ALOHA Packet with a valid CRC).
Broadcasting - A Retrospect,” Proceed Consider this example. Four frames
ings of the 1975 National Computer numbered 1, 2, 3 and 4 are sent in one
Conference, page 208-209. transmission. Frame 1 is received normally,
but frame number 2 is corrupted. Even if
Appendix 1: Efficiency of a Go-Back-N Pro frames 3 and 4 are received correctly, the
tocol receiver will only acknowledge frame number
Two interrelated factors must be taken 1. Frames 2, 3 and 4 will have to be resent,
into consideration when evaluating the even though only frame 2 was actually lost.
efficiency of a go-back-N sliding window proto To analyze the performance of a sliding-
col on a noisy channel: the effect of header window protocol with go-back-N recovery, we
overhead (limiting efficiency even on an error- need to find the expected number of usable
free channel) and the effect of garbled frames. (with correct CRC and in correct sequence)
This section derives the formulas for these two frames in a transmission containing N frames.
factors that were used to arrive at the conclu We then divide this number by N, yielding the
sion that a window size of 1 (i.e., a stop-and- normalized efficiency of the protocol (the
wait protocol) maximizes channel efficiency number of usable frames received divided by
when operated on a half duplex channel. To the total number sent). G is defined as the
determine the net efficiency of the channel, probability of any specific frame within the
these two factors are evaluated with the desired transmission being received correctly, and we
parameter values and then multiplied. assume that this value is the same for all
frames (i.e., the frames are all the same size
and errors are independent). Clearly, if we
5.36
were able to use every correctly received frame
(i.e., if we did not discard frames received
out-of-sequence due to the loss of an earlier
frame) then this efficiency would simply be G,
for any value of N. In the go-back-N case,
however, the analysis is more complicated.
The probability that zero frames are
usable is (1 —G), i.e., the probability that the
first frame is in error, rendering it and all later
frames unusable. The probability that only one
frame is usable is G(l —G), the probability that
the first frame is received correctly and the
second one in error, and so on up to the proba
bility that all N frames are usable. Summing
over all possibilities and weighting by the
number of usable frames for each, we obtain
/v-i
(1-G) £ iG'
/-0
By factoring out G from the series and then
integrating and differentiating the finite sum,
we obtain
(1 - G) G-~- f £ /G'"1 dG + NG
dGJ ~
Integrating,
Simplifying,
Q)
1-G
5.38
approach may seem unfair because the delay, and accuracy. Parameters can be
network has pre-empted the users' grouped to provide a Quality Of Service
ability to set his own routing. This profile required to support a given
approach is FAIRER because a single connection type.
user can’t unilaterally and
inadvertently (hopefully !) cause The switches will have the capability
network connection failures. of building a "service” virtual circuit
between adjacent nodes to regulate the
The use of an addressing scheme that is behavior of the network. Ultimately,
more stable than the amateur callsign the network will be able to transfer
would allow implicit routing. Systems connections to new paths.
based on the CCITT X.121 and either the
telephone system or grid squares have
been suggested. Such schemes would be CHANNEL ACCESS AND DATA FLOW CONTROL
used in conjunction with the callsign
to provide a network connection. The The intelligent packet switch will also
user connection request format could provide channel access control. This
be: scheme allows the network to decide
when a particular user may send another
"C N2WX @ 03100305” or frame. This control will be exerted
”C W2VY @ 03100201596” through a system of timers. Separate
timers will be used to regulate the
Such information would be adaquate for flow of expected data, acknowledgments
a network to locate the specific and unsolicited frames. This scheme
network, country, region, LAN and user. will not prohibit unsolicited
The format can be as specific as transmissions, but will regulate the
desired. If there are several local flow according to overall channel
networks in place, each with many activity and connection type. The
users, the routing task would be basic philosophy will be for
simplified by the provision of more acknowledgments at link and packet
detailed addressing as shown in the
level to be sent with less delay than
second example.
"data". The plan also calls for the
switch to use shorter timers than
"users".
QUALITY OF SERVICE
Other ideas center around the idea of
Under the present system it is assumed allowing the user to transmit until the
that the user can serve his own needs transmission window is closed. Then
best by allowing him to select the leaving the window closed until the
internal network path and parameters. switch has serviced other users on the
This user decision is made with NO channel. Such changes in operation
performance information except that "it will not require changes in the AX.25
seems to work for ME”. This lack of protocol, but simply cooperation in the
information has often caused congestion setting of timers and counters.
at critical network points. This
congestion has led to user
dissatisfaction and frustration. UPPER LAYER SUPPORT
In order to be good neighbors, we need The users of this network service will
to use the network cooperatively. This need to experiment more with different
cooperation can be administered by the session types. Through this
packet switch. The switch can receive experimentation, we will be able to
requests for certain performance develop specific operational parameters
characteristics and "negotiate" them for them. The network proposed here
with the requesting station. This will will use the CCITT X.25 packet level
allow an emergency user higher priority protocol over the amateur AX.25 link
than normal traffic, while also level. This will allow us to have a
providing different performance reliable "data-pipe" for the great
characteristics to different connection number of amateurs who will require
types. These connection types would such service.
include:
It will also give us a strong backbone
Terminal to terminal capability from which lower classes of
Multiterminal (roundtable) service can be derived. For example,
Terminal to machine packet voice users may not require, nor
File transfer desire, retransmission. It will
Mail forwarding however require that delay be
Voice transmission minimized. If a session is identified
Image transmission as a "voice" session the network
connection request will reflect these
Each of these connection types has requirements.
differing requirements for data volume,
5.39
Because we have developed a strong
reliable system, the user is not
obliged to provide a complicated
transport protocol for routine
terminal-oriented connections. Use of
CCITT X.224 Class 1 would provide
protection against any residual
connection or packet loss. This
protocol is not complex and as such
could be implemented on small terminals
and computers. It uses three bytes of
overhead in data transfer. This is
important when you consider that many
links are still slow speed.
SUMMARY
Based on our professional and amateur
experience we felt that the development
of a small X.25 packet switch would be
possible. Howie Goldstein, N2WX had
written the TAPR TNC-2 software and was
interested in providing a "real"
networking capability. Our joint
efforts have produced an initial set of
level 3 features needed to support
terminal-to-terminal and file transfer
communications through a network. The
results of Howie’s coding have produced
an integrated X.25 PAD (Packet
Assembler/Disassembler) and Switch for
the TNC-2 and Xerox 820.
The members of the Society strongly
urge that present digipeater sites are
converted to virtual circuit-based
packet switch sites. Since Xerox 820s
and TNC-2s are often found in the role
of a digipeater, it is not a major
problem to change the software thereby
upgrading the digipeater to a switch.
CONCLUSION
We feel that our experience with the
basic level 3 software for the TNC-2
has allowed us an unique opportunity to
experiment with a true level 3
networking environment. We hope that
others interested in bringing up X.25
level 3 networks will contact us with
their observations and recommendations.
5.40
THE PACKETMASTER PACKET SYSTEM
FOR CP/M AND DOS COMPUTERS
"j
wi 11 become the standard format.
There has been a great emphasis on
the development, manufacture, and use in b) Split-screen scrolled operation will
the amateur community of what are be the norm with two independent,
essentially black box appliances— approximately equally sized windows for
elegantly packaged microcomputers with received and transmitted packets,
firmware documented at only the most respect ively.
basic user level. This was acceptable in
the early stage of the development of c) There should be a command area near
amateur packet radio (only one or two the bottom of the screen when in the
years ago!) when: command mode.
e unifying
5.41
what can be done in this domain, Background
5.42
ft Status Report on the possibility whenever speed of execution
PacketMaster System is not a major concern. It is always
possible to link high level language
I have developed and have been routines to assembly language routines
running a experimental version of the that perform time-critical functions.
PacketMaster system for the Xerox 820 The skillful usage of a structured high
and the Kaypro line of computers level language (example: the C
(hereafter to be known as the programming language) with reasonable
PacketMaste>—820 and the PacketMaster- care in commenting results in code that
Kaypro, respectively). The program is is much easier to comprehend and
of a few thousand lines of modularized modi fy/extend.
Z80 assembly code executing under CP/M.
The additional hardware is consists of
an external Am7910-based modem and The Future;
NRZ/NRZI conversion circuitry. The PacketMastei—PC
Physically, it is simply a board that
connects to one of the serial ports. Therefore, I intend to adapt the
PacketMaster concept to DOS machines
The system as it now exists is also (the IBM-PC, PC/XT, and its legion of
compatible with the Ferguson Big Board clones and compatibles) after the modem
computer line since the Xerox 820, and software have been proven in field
Kaypro, and Big Board are all closely testing using Xerox 820s. The
related. It is probably possible to PacketMaster-PC will consist of a cheap
adapt the system to any CP/M computer and simple plug-in board for the PC with
with a Z80 and a Z80-SIO connected to an auto-configurable BIOS interface. Of
allow the use of mode 2 interrupts. course, the software necessary for a
high quality, user friendly interface
will be included in the system extending
the packet services that are now
AVAILABILITY available under CP/M to DOS. Direct
of the PacketMaster System BIOS calls will be available to modify
the state of the packet I/O system and
If you are interested in increasing to transmit and receive packets for the
the Packet 1.0. of your computer by advanced user.
running the PacketMaster system on your
CP/M or DOS computer send a S.A.S.E. CONCLUSION
business sized envelope to me for
current information. Give me at least a I have briefly related some of my
cursory description of your computer thoughts on second generation tncs and
system so I can determine the the advancements embodied in them. The
applicable information to send you! The PacketMaster—820 and PacketMaster—Kaypro
external modern board is being layed-out are a reality. And by a somewhat
presently (2/86) and should be available obscure and circuitous route, a flexible
soon. As I describe in the next (final) packet environment for the IBM-PC will
section of this paper, I am also soon be a reality, too!
working, along with some colleagues, on
an IBM-PC packet interface.
5.43
APPENDI X
description of current
PacketMaster system hardware
7910:
The Am7910 is an LSI modem chip capable
of both 300 and 1200 baud operation
selectable via 4 input lines to the
chip. The dual baud rate option is
highly advantageous when shifting
between hf operation (where 300 baud is
the maximum baud rate allowed) and vhf
(where 1200 baud is the norm). Its
other major advantage is that is crystal
controlled and thus needs no initial
calibration or adjustments during normal
operation. It is not new to amateur
radio— it is used in the Kantronics
Packet Communicator. Its original high
price (now dropping) and a fair amount
of quirkiness in operation, and just
plain inertia may have discouraged the
TAPR group from designing it into their
products. Once these initial hurdles
are overcome the Am7910 proves to be an
excellent, high performance choice as
the basis for a modem without the
requirement of any external active
fi1tering.
descr i pt i on of current
PacketMaster system software
pack:
main module— controls the startup of
the Packet Control Program (PCP);
contains the main program loop; allows a
graceful exit of program back to
operating system’s CCP (CP/M’s console
command processor)
paklib:
library module for PCP— contains six
routines necessary for the operation of
the PCP
to
determine (re)act ions in response to
external stimuli. Stimuli may be
received packets, commands from the
user, or timeouts of Tl, T2, or T3 as
defined in AX.25 protocol documents,
basspack:
auxiliary packet assembly routine
5.44
SAREX2 SOFTWARE FOR THE TUCSON AMATEUR PACKET RADIO TERMINAL NODE CONTROLLER
TNC 2
Abstract
The custom modifications of the Tucson Amateur Packet be available for logging the contacts and "heard" data. In
Radio TNC 2 software for the Shuttle Amateur Radio Experiment this case how on earth (pun intended) can the ground crew
2 (SAREX2), and the associated operating modes (robot, meta ever reconcile claimed contacts with what really happened?
beacon, logging functions) are discussed. How could the logging data be recovered? At this point it
was decided to have the TNC transmit two special kinds of
Background frames every three minutes that the ground stations could
collect and forward to a central point for the
When Tom Clark W3IWI, president of the Amateur Satellite reconciliation.
Corporation, told me of the possiblity of a "Ham in Space"
experiment involving packet radio and then held out the One kind of logging frame is of the format
opportunity to make use of the TNC 2,1 jumped at the "WA4SIR>WORKED". The information field of this frame
opportunity to get involved. We spoke on the phone a few contains the last seventeen unique callsigns worked and their
times and arrived at some basic specifications for minimal associated serial numbers.
functionality. Towards the end of the next month (November
1985) I finally had a version suitable for release and The other logging frame, "WA4SIR>HEARD" is similar to
simultaneously placed it on the air in Florida and forwarded the ">WORKED" frame except there is a serial number
a copy to the president of the Tucson Amateur Packet Radio associated with each distinct transmission of the ">HEARD”
Corporation (TAPR) Lyle Johnson WA7GXD, the man responsible frame, and of course there are no contact serial numbers
for getting flight-ready hardware together. appended to callsigns since only the fact that the station
was heard from orbit is significant.
Special Operating Modes
The log types are similar in the respect that a callsign
ROBOT Mode worked or heard that is already logged will not cause a
re-ordering of log. This "no update unless needed"
Since it was most unlikely that the astronaut ham philosophy should ease the data reduction chores of those who
would be able to devote his or her entire time to working will be processing the hundreds or thousands of log frames
amateurs, one specification called for an unattended QSO the flight TNC will generate.
machine, comparable perhaps with the ROBOT mode that was on
some of the Soviet RS satellites. Such a feature would Meta Beacons
maximize the potential number of amateurs who could make a
confirmable, two way contacts with the vehicle. As the name implies, "Meta" beacon mode provides a
way for the astronaut to downlink relatively large amounts -
The package permits up to nine automated contacts to 1,792 characters - of information at regular intervals for
take place simultaneously using AX.25 link layer (version 2.0 the packet community at large. Once set up "Meta" beacon
or earlier versions). Upon hearing a request to connect from mode will continue to retransmit the data indefinitely.
a ground station, the ROBOT assigns a QSO number, and builds
a packet which contains the hexadecimal serial number This customization was the simplest, requiring only that
concatenated with a brief, astronaut-settable message. The a dummy link with the callsign WORLD be recognized internally
ROBOT acknowledges the connect request and proceeds to send as one that will always transmit packetized data yet ignore
this packet ten times, or until it correctly receives an any retry counters (or received frames from WORLD for that
acknowledgment frame from the station connecting. matter). Meeting specifications should always be this easy?
5.45
FEATURES OF THE VADCG TNC+
5.46
systems and an almost paranoid tendency to 5. Programs can still be provided in
standardize at any cost suppress the burned in EPROMs as has been done in the
further development of Amateur packet radio past.
and in fact are significant enough that
they make it doubtful that the full We wanted to provide a system that
potential of Amateur packet radio will ever software developers could easily use. With
be realized. this TNC, the software developer does not
have to own an EPROM programmer and eraser.
In spite of these somewhat gloomy New programs can be loaded quickly from a
expectations, the VADCG has produced its serial port on the development system. In
second TNC - the TNC + . This work has been addition, an operating system using a
done in order to encourage more technical version of FORTH called STOIC and an
development of Amateur packet radio assembler is already operating and
hardware and software by providing a TNC available which runs on the TNC+ itself.
that is easy to develop and exchange With these tools, a knowledgable developer
programs for and has the capability of high can program directly on the TNC in either
speed operation. But note that the TNC+ is assembly language or higher level Forth
not Just intended for developers. It is type words. This in fact, allows the TNC
Intended to be used by both developers and to operate as an independent microcomputer
end users alike. It is hoped that the development system.
end users will realize the importance of
using equipment and software that can be We wanted to increase the flexibility
upgraded by local developers and not simply and function of the TNC rather than strip
opt for the cheapest TNC available at the it to bare essentials as is being done by
time. others. The parallel port allows use of a
printer and terminal simultaneously or
SYSTEM DESIGN provides signals for remote control
applications. The serial port supports
Although many people helped to bring automatic speed and format selection
the TNC+ into existence, the design of the (Autobaud) over a wide range. The Baud
system was done mainly by two individuals - rates are not just the binary rates between
John Spraggs, VE7ADE and myself. It is 300 and 9600 but go up to 38,400 Baud and
important to understand the design down to DC including all standard speeds in
philosophy behind the VADCG TNC+ as it is this range as well as many non-standard
not the same as most of the TNCs on the speeds. For example, speeds of 45-45, 110,
market. Factors which went into the design 400 and 134.5 are supported by the
of this TNC are: hardware.
We wanted to modernize the TNC while Instead of an on-board modem providing
still keeping faith with the purchasers of only low speeds of 300 or 1200 Baud, the
the original VADCG TNC designed in 1979. TNC+ has an industry standard connector to
We did not want to negate the original an off-board modem and supports synchronous
purchaser’s investment in hardware or the modems at Baud rates up to 64,000 Baud and
time spent in getting the system asynchronous modems up to 9600 Baud and
operational. both NRZ and NRZI encoding is supported at
all Baud rates. In the author’s opinion,
We also wanted to avoid negating all the future of Amateur packet radio urgently
the effort by many people developing requires a move to higher Baud rates for
software for the original board. both the end-user and backbone links. The
TNC+ can use almost all existing standard
We wanted to provide a more ’open’ modems such as Bell 202, 212A, 103, etc. as
system than most of the other TNC well as many others which have not seen
manufacturers. The source for most of the common use in Amateur radio as yet. (An
software running on the board is available. off-board radio modem is available from the
VADCG which supports changes from 300 to
We wanted more and better ways to 1200 Baud with switch selection and
upgrade and distribute new software for the requires no tuning up and is powered
TNC than by replacement of EPROMs. The directly from the TNC+.)
large battery backed up RAM space combined
with selectable write protected areas Compare this for example, to the off-
allows programs to be distributed in five board modem connector in many other TNCs.
different ways with appropriate software: They frequently do not use a standard
1. Programs may be loaded from a ’HEX’ connector or standard voltage levels (TTL
file from a computer. instead of RS-232), and only support the
2. Programs may be loaded from a more expensive synchronous modems and
remote computer using a packet radio link. require special signals which are not
3. Programs may be transferred supplied by standard modems.
directly from one TNC to another using a
packet radio link without the aid of a We wanted to ensure that the TNC+ had
computer. sufficient capacity for expansion. The
4. Programs may be loaded over a full 64kB memory support should provide
telephone connection with simple interface adequate memory for many future packet
hardware. radio software developments.
547
HARDWARE SPECIFICATIONS chip is used with 1488 and 1489 RS-232
drivers and an Industry standard DB-25S
Timing (female) connector supporting the following
The 8085A Microprocessor uses a 4.9152 MHz. signals:
crystal to provide a master system clock of
2.4576 MHz. A binary dividing chain Transmit Data TD
*
provides frequencies from 307.2 kHz. down Received Data RD
to 4.6875 Hz. for HDLC controller data Request to Send RTS
*
rates and software clocking. The timing Clear to Send CTS
chain may also be used for interrupting the Data Set Ready DSR
microprocessor at selected regular Carrier Detect CD
intervals. Transmit Clock TC
Receive Clock RC
Memory Data Terminal Ready DTR
*
The full 64k addressing space is supported Signal Quality SQ
and the following combinations of RAM/EPROM Ring Indicator RI
are supported by jumper selection: Data Speed Select DSS
*
8k EPROM - 56k RAM The output signals are indicated by an
16k EPROM - 48k RAM In addition, +12 and -12 voltages are
32k EPROM - 32k RAM supplied on pins 9 and 10 of the DB-25S
connector to supply power to the modem.
The RAM below 8000 (Hexadecimal) in the The on-board switching power supply has
address space may be selectively write excess capacity to power a modem. A
protected by jumper selection. All RAM is separate header connector provides the
backed up by a Lithium battery expected to above signals at TTL levels along with +5,
last about 5 years if the TNC+ is powered +12 and -12 voltage levels for an internal
off. If the TNC is powered on, it should modem (inside the same cabinet). Both full
last for the shelf life of the battery duplex and half duplex, synchronous and
which is greater than 10 years. 8 sockets asynchronous modems are supported by means
for 2764 type EPROMs and 6264LP RAM chips of on-board jumpers. Asynchronous modem
are provided. A Voltage comparator speeds at the following Baud rates are
automatically disables memory and resets supported by means of on board jumpers:
the microprocessor when the supply voltage 9600, 4800, 2400, 1200, 600, 300, 150, 75.
drops into an out of specification range. Other asynchronous modem speeds (such as
This prevents the microprocessor from 400 Baud) are possible up to 9600 Baud if
writing garbage data into random memory clocks are provided on RC and TC by the
locations during power brown-outs. modem. Synchronous modems are supported at
any Baud rate up to 64,000 Baud. (Baud rate
Serial Port is controlled by the modem.) Note that the
Uses an 8250 UART with internal Baud rate Baud rate may be limited by the software
generator using industry standard 1488 and being used.
1489 RS-232 drivers to a standard female
DB-25S connector. The connector may be The 8273 transmit and receive functions are
configured as either a DCE or DTE (or non completely independent allowing for full
standard connections) with a Jumper plug duplex operation. Separate receive and
provided. The RS-232 signals supported transmit interrupts are provided allowing
are: for interrupt driven software.
Transmit Data TD Parallel Port
* *
5.48
Trap Switch assembly instructions, parts lists and
Circuitry and a connector is provided circuit diagram as well as hardware
ct
O
allow for an off-board Trap interru configuration Instructions. Because many
ct
switch. (Non-maskable interrupt) This different types of software are available
O W
very useful for a software developer to run on the TNC+, separate documentation
Ct
analyse software failures. packages are provided for each software
package or protocol and for the firmware.
Reset Switch
Circuitry and a connector is provided to FIRMWARE
allow for an off-board Reset switch
O
L
pushbutton. A reset function The TNC + parts kit will come with a
C
OC
automatically performed when the TNC + single programmed 2764 EPROM containing
O
powered on. code which will allow bootstrap loading of
the battery backed up RAM through the
Power supply serial port or by a radio link to another
An on board switching power supply and TNC+. It contains the Autobaud routines
regulation is provided to supply all and memory file system as well as drivers
voltages needed by the board as well as for the serial, parallel and HDLC ports.
power for off board circuitry such as The firmware contains buffer and queue
modems. Nominal DC power of +10 to +15 management routines and common routines
Volts is required but typical operation is which can be used by programs in RAM and a
between +7 Volts and +18 Volts. A monitor program which allows for the
connector is provided to operate the TNC displaying of registers and status, the
directly from regulated +5, +12 and -12 displaying and changing of memory, and the
Volts without the need of the switching display of the directory of memory files
power supply components. When the board is and programs. The firmware allows for all
not supplying off-board power the measured but the Trap and Restart Interrupts to be
current consumption without CMOS components vectored to RAM addresses. The firmware
is: provides for the disabling of the AutoBaud
function if desired and allows for
290 mA at 17 Volt selection of the program (protocol) to be
W
5.49
Although superceded by the more generalized simultaneously. Like V-2, it uses the X.3
V-2, V-3 and AX.25 protocols nowadays, it and X.28 protocols as well.
is nevertheless the most efficient protocol
in terms of overhead and may well be the AX.25 - This IS cur re ntly the most
best choice for point to point half duplex popular protocol in This version
w
3
o
links and for the current type of satellite supports multiple repeaters.
communications.
Note that the source code for most of
V-2 - An efficient link level protocol these programs will be made available on
also developed in Vancouver and used in diskette.
several countries. The specifications for
this protocol were published in the SUMMARY
proceedings of the third ARRL Amateur Radio
Computer Networking Conference in the paper The author is grateful to those
titled, "A New Vancouver Protocol." This volunteers whose efforts have made the TNC+
implementation supports the International available. It is hoped that the
Standard X.3 and X.28 user interface availablllity of this board and its
protocols as well. software will accelerate the technical
development of Amateur packet radio and
V-3 - This is a experimental new give Interested Amateurs a tool which can
state-exchange link level protocol capable be used to learn the details of packet
of supporting multiple links radio communication.
64K
BYTEWIDE
RAM/ROM
8273
MEMORY
HDLC/
SDLC
Controller
7-18V DC + /- 12V
Z--------
eb
INPUT
__________ f IDC 16-pin
SWITCHING
POWER 12 signals, +/- 12V &
SUPPLY + 5V
External 8085A
±_____ Micro RS232
8250
Power Level Jumper
UART
Shift Plug
Baud Rate
Generator
RESET
SWITCH
TRAP
SWITCH Configurable
Switches
8255
PARALLEL DB25S
I/O
program ZXL____________
24 I/O lines
Controlled
LEDs (4)
5.50
THE NETWORK USER INTERFACE
5.51
e. Level 2 Disconnection Miscellaneous nice to have features
DISCONNECT 8BITCONV ON 8BITCONV OFF AUTOLF ON
AUTOLF OFF AWLEN n AX25L2V2 ON
f. Level 3 call placement (essentially AX25L2V2 OFF AXDELAY n AXHANG n
"packeting”) BEACON EVERY n BEACON AFTER n BKONDEL ON
BKONDEL OFF BTEXT text BUDLIST ON
CALL [callsign] [@address] - Try to place a Level BUDLIST OFF CALIBRA CALSET
3 call CANLINE n CANPAC n CHECK n
CLKADJ n CMDTIME n COMMAND n
Level 3 call servicing CR ON CR OFF
ci
DAYTIME yymmddhhmm
CRESET - Reset Level 3 flow control DAYUSA ON DAYUSA OFF DELETE ON
on my existing call DELETE OFF ECHO ON ECHO OFF
ESCAPE ON ESCAPE OFF FLOW ON
INT - Cause an interrupt received indication FLOW OFF FULLDUP ON FULLDUP OFF
to be displayed at the far end of my call HEADERLN ON HEADERLN OFF HID ON
HID OFF ID LCALLS
Level 3 call clearing LCOK ON LCOK OFF LFADD ON
LFADD OFF MAXFRAME n MCOM ON
CLR - Tear down my Level 3 call MCOM OFF MRPT ON MRPT OFF
(like hanging up my phone so I can redial) MYALIAS NEWMODE ON NEWMODE OFF
NUCR ON NUCR OFF NULF ON
i. Enabling/Disabling Digipeating NULF OFF NULLS n
PACTIME EVERY n
DIGIPEAT ON PARITY n PASS n PASSALL ON
DIGIPEAT OFF PASSALL OFF REDISPLA n RESET
RESPTIME n SCREENLN n SENDPAC n
j. Enabling/Disabling Packet Switching (TAPR START n STOP n TRANS
acts as packet switch) TRFLOW ON TRFLOW OFF TXFLOW ON
TXFLOW OFF
SWITCH ON - Cause TAPR device to act UNPROTO calll [via call2[,call3. ..,call9]]
E
5.52
One Last Appeal for Standarization warm and cold). Actually a study of the current
TAPR commands reveal that most of the changing
I know there will be plenty of room for software required to go to the X. protocols are centered in
in the modern packet switch. But the reason X.28, the parameter setting area.
X.29 and X.3 were written orginally was so that a
user could travel anywhere in the world, walk up
to a PAD, and use it. I know from experience that Conclusion
it takes a while to learn a new set of commands to
do the same old thing you have been doing all Now is the acceptable time to become
along on your previous packet hardware. Why not converted to the X. protocols for our amateur
relearn our packet commands just one more time? packet radio user interface. To deal with the
As pointed out by Doug in his paper, we can add enhanced network, we will all have to learn new
commands that are just not covered in the commands anyway. Smart packet switches will
protocols but are demanded by amateur radio’s insulate us from this for a while, but the
strange requirements. But when we want to show ultimate answer is to do it in the standard
link status on all streams, let us use STAT, not fashion. We of AMRAD will try to do our part in
CSTATUS. When we want to reset our Level 3 call, software we provide with our PCPAD board, but that
the command to do it is RESET, not CRESET (another would not have the impact that changing the basic
command can be found for resetting the device, TAPR PAD software would have.
5.53
AMATEUR NETWORK ADDRESSING AND ROUTING
5.54
explicitly tell Switch A that a connection is
requested through it to Amateur B. As the local
area Network switches develop, Switch A may be
able to look in a User directory database, rind
out that it services both Amateurs, and Emphasizing the above Network development
automatically attempt to make the connection stages from the end-point switch side yields the
between the two. following information requirements.
If Amateur A and Amateur B are far apart, At initial Network development, the end-point
they may not be able to communicate through a switches will be relatively dumb regarding the
common switch. Instead, the Network connection "connectivity" of the Network. All routing
will have to be made through a series of switches. information will have to come from the user
This is shown in Figure 3, at the end of the Amateurs in one form or another. Using method 1A
paper. At the start of the Amateur Network. means that the user Amateur will explicitly tell
Amateur A will now have to know (and pass along) the end-point exactly which switches to use to
the following: make the connection, and in what order. The end
point switch would use this information to build
the connection to the destination end-point
1. It’s own Network end-point Switch name switch, using any transit switches indicated.
and/or address. This is treated as
Amateur A’s address by the Network. The use of method IB means the user will
inform the switch how to make the connection by
2. The route the connection must take to adding some "directionality" to the address
get to Amateur B’s end-point switch, and information supplied. The ena-point switch would
the name and/or the address of all then make some routing decisions on it's own based
transit switches in that route. on the direction information supplied. It would
then pass the packet to the switch it thinks is in
3. The name and/or the address of Amateur the right direction, possibly adding it's name or
B's end-point switch. The Network address to a list somewhere in the packet.
treats this as the address of Amateur B.
The next step along the Network development
4. The name of Amateur B. cycle (using method 2) would allow the switch to
either maintain it's own list of routes to all
other end-point switches, or have access to one or
That looks like a lot of information to know, more "Route Server" devices (considered User
let alone pass along. Actually, items two and devices by the Network). When an end-point switch
three can be though of as the same item, with the receives a connection request from an Amateur, it
first and last name/address being the two end will look up the indicated destination end-point
points. Neverless, with a coast-to-coast switch (really, the other Amateur's Network
connection taking up to 100 switches over VHF. "address") in it's routing database, or inqure of
there has got to be a better way. I will call the Route Server the best route to tne destination
this system Method 1A. end-point switch. Once the routing information is
obtained, the source end-point switch will then
A method of lessening the amount of routing attempt to build the connection, going through any
data passed in the packet would be to use transit switches indicated.
addresses for the end-point user Amateur that
imply where he/she is located. This way, rather After further Network development it may be
than having to explicitly tell the route, Amateur possible for the end-point switches to find out
A could say the equivalent of "Amateur B is in San which end-point switch normally serves as "home"
Francisco, CA, USA", Get me there the best way for the destination Amateur (once again, the
possible. This system will be referred to as destination Amateur's Network "address"). This is
method IB. method 3, and will will most likely work by having
"User Directory Servers" available on the
The next step in the Amateur Network Network. They would work much like the "Route
development will be the capability (through some Server" except that they would contain the "home"
mysterious magic) of switches to either know address of all Amateur stations that have appeared
automatically, or be able to find the route on the Network. When a connection request to a
without getting it from the user Amateurs. One destination Amateur is received, the source end
method of doing this would be to have all end point switch will ask the User Directory Server
point switches maintain databases containing which end-point switch serves that destination
routes to all other end-point switches. Another Amateur, and then find the routing information to
method would be to have several Route Server that end-point switch, and then make the
devices spread throughout the Network that the connection, using any transit switches indicated
end-point switches would query whenever they need in the routing information.
routing information. The former has the advantage
of speed, while the latter allows the switches to Transit switches are switches that
be smaller, and allows for dynamic routing of connections are made through, but not not ended at
connections to reduce congestion of frequently (except for maintenance connections). As such,
used pathes. the transit switch function does not have any
users to worry about. I should mention that end
Using either system, Amateur A no longer point switches can function as transit switches
needs to know and specify exactly how the packets also, but the end-point switch functions can be
get to Amateur B, Dut rather just what the two treated as separate functions.
end-point names and/or addresses are, and Amateur
B's name. Again, the Network treats the two end In the beginning of the Amateur Network,
point switches as addresses to the Amateur transit switches will operate in one of two modes.
stations (where the Amateurs are on the Network). Using method 1A from above, if a connection
I call this system method 2. request to the transit switch is received from
another switch (either another transit switch, or
Method 2 is similar to how some of the an end-point switch) that contains explicit
present packet networks operate. When Person A routing instructions, the transit switch should
wishes to communicate with Person B, Person A attempt to pass the connection request along to
dials a local phone number (end-point Switch A the next switch indicated. If that connection is
address), and asks for a connection to Person B at not possible, the transit switch should return a
end-point Switch B (using end-point Switch B's packet to the source end-point switch (via the
name). As an example in the Amateur Network I reverse of the path specified) indicating the
might type: connect to WB4JFI-4 @ WB4JFI-5, where reason (switch failure, wrong path, etc.).
WB4JDI-4 is my station at work, and WB4JFI-5 is
the end-point switch it normally monitors. If a transit switch receives a packet
containing implicit routing in the form of
As the Amateur Network progresses even directional information, method IB described
further, all Amateur A may need to do is indicate above, it should attempt to send the packet in the
that he/she wishes to communicate with Amateur B. proper direction, using a "best guess" algorithm.
The Network itself will maintain a list of all There will most likely be a list somewhere in the
Amateurs on the Network, with the end-point switch packet for the transit switch to append it's
that normally serves each Amateur as that identity, so that the destination end-point switch
Amateur's "address". If an Amateur is "away from knows how to reach the source end-point switch.
5.55
As the Network progresses, methods 2 and 3 Under method 1A above, since the whole
from above will be used more and more. If source ?ath is explicitly given, no other
routing is used, this may relax the requirements nformation needs to be given.
?lace on transit switches, since they may no
onger need to make routing decisions, but rather If the callsign of the destination end-
just pass connections through them based on routes ?oint switch is not known (under method
created by end-point switches. B above), some directional information
must be passed on, so the Network can
If the Network does not use source-routing, make routing decisions.
the transit switches may have to make more routing
decisions. This reduces the overhead in the If the callsign of the destination end
packet that contains routing information. It also point switch is known, it should be sent
allows some degree of Network connection along with the direction information,
flexibility, since decisions about routes are made reducing the chances of more than one
along the way, possibly bypassing bad areas of end-point switch answering the
congestion. This will add to to the complexity of connection request.
the transit switch, since it must now have enough
information available to it to make intelligent Using method 2 and 3 above, no
routing decisions. additional information needs to be
supplied, as the network has the
Another method of reducing route information resources to find the routing
overhead is to compress the route information. information from the switch name (the
When the Network gets larger, it may take one end-user's address).
hundred or more switches to amke the proper
connection. Since there isn't enough room in the If the destination end-point switch is
?acket headers for this amount of routing part of a path that was compressed as mentioned
nformation (even if we remove the user data). above, it may need to expand all compressed routes
Some of the routing information will have to be it receives to make sure it is not the
"compressed" into a smaller amount of data. This destination.
compressed data may have to be expanded by transit
switches in order for them to obtain the indicated
route information.
Transit Switch Identification
Who Gets Assigned What There are two reasons to need to
identify a transit switch. The first is if a
Another area that should be discussed is who maintenance connection is required. This is in
should be assigned Network Layer addressing effect making the transit switch an end-user
information, and what kind of addressing rather than a transit switch, and as such the
information do they need to be assigned. Huh: callsign plus SSID of the switcn should be used.
Let me try to clarify this a little bit.
The other case is when the transit switch is
In the above discussion, I mentioned that the being used for it's normal, inter-switch
involved user Amateur stations will be indicated communication function. This case is broken down
by their "names", most likely callsigns. The as follows:
Network "address1' of those Amateurs could be
the end-point switches they either are presently If method 1A is being employed, the
on, or frequent. This being the case, those end- transit switch should check for it's
?oint switches now have two means of callsign/SSID in the list of explicit
dentification, their own "name" and as an stations. If it's callsign/SSID is
"address" of a user Amateur. found it should attempt to pass the
connection to the next switcn on the
The transit switches also can be identified list.
by their "name" (for maintenance connections), as
part of a connection through them their "address", If method IB is being used, the transit
and for routing information their location, once switch look at the end-point directional
again their "address". information supplied, make a best-guess
how to route the packet, add it's
How and what we use to specify each entity callsign/SSID to the end of the switch
may not be thought of as important at first, but list located in the packet, and send the
if done correctly can help tremendously to ease packet along the route it calculated.
the growing pains of the Amateur Packet Network.
If method 2 or 3 is used, the switch
User Amateur Identification should be identified by it's callsign
for source routing, or possibly as part
This one is fairly simple. I feel we of a "compressed route" that it expands
shold identify the user Amateur with the FCC to test. If source routing is not
assigned callsign and an SSID, similar to AX.25 employed, the switch may have to look in
Level 2. In addition, using method IB above, it it's routing table for the next switch
may be necessary to add some directional in the route, whose callsign/SSID it
information for the Network to base it's routing uses to pass the connection request
decisions on. The possible types of directional along.
information used will be expanded on shortly.
at
End-Point Switch Identification the
When an end-point switch is itself the
destination of a connection, the Amateur callsign Address Methods Suggested
plus SSID of the switch should be used.
It would be difficult for me to list all the
When an end-point switch is used as the possible addressing schemes that have been
source end-point, it should be identified by its proposed for use on tne Amateur Network. I will
callsign plus SSID. Since it is the source of the concentrate on some of the more popular ones,
connection request, all stations will know how to which are:
retrace the path to it. This does not preclude
the use of alternate paths for the return
connection once the network is smart enough to Callsign only.
allow such a thing to occur. By then, routing Callsign plus Area Code/Phone Number.
decisions will be made using methods 2 or 3 above Callsign plus Airport Designators.
anyway. Callsign plus Zip Code.
• Callsign Plus Latitude and Longitude.
If an end-point switch is the Callsign plus Gridsquares.
destination end-point (Network address of the Assigned numbers based on geographical
destination Amateur), it's callsign plus SSID location.
should be used, if known. Additional information Assigned numbers given by an
may be required as follows: organization or group of organizations.
5.56
Callsign Only Callsign Plus Latitude and Longitude
The first one on the list, callsign Well, you can’t get much better location
only, (really callsign plus SSID) is what I hope information about someone than their Latitude and
we all shoot for. It is the most ’’user friendly” Longitude. Almost. Will we use the East or West
to the general Amateur community, and therefore Longitude system? Have you looked at your house
the easiest to convince the Amateurs to use. I platte lately? I did a little while back, and
think we will need some stepping stones to get to found out the numbers there weren't any where near
that point, however. my real Latitude/Longitude. The Latitude and
Longitude system woula be good except that there
Callsign plus Area Code/Phone Number is too much information needed to be conveyed if
we use them directly, and they can be difficult to
If additional information must be find out, especially for an unknown area.
present, some would say that the easiest system to
use is one that is already present. Of the pre Callsign Plus Gridsquares
existing systems, the telephone network is
probably the best. It provides a large degree of In 1980 there was a meeting of European
directional information (through country codes and VHF Managers in Maidenhead, Berkshire to establish
area codes), yet it also offers a high amount of a world locator system that would accurately
resolution (down to the phone number). Since the define any location in the world with as few
numbers are already assigned, and often listed, it symbols as possible. The result of this meeting
should be possible to have fairly quick access to is the Maidenhead Squares system, often referred
look up needed numbers. to as gridsquares. Gridsquares have been used
ever since as the favored system of identifying
One of the disadvantages is that the locations for VHF enthusiasts world-wide. The
phone numbers, and sometimes the exchanges change. system is based on placing a grid over the world,
This can happen when one moves, often as little as with each square twenty aeggrees east-to-west by
a few blocks. Another disadvantage is that not ten degrees north-to-south. Inside each of these
all Amateurs wish to have their phone number squares (called fields) is a smaller grid system,
known. For them, it may be necessary to have a with those squares (called squares! being two
set of ’’false phone numbers” that could be degrees east-to-west by one degree north-to-south.
assigned as needed. Also, numbering schemes used If more resolution is needed, the squares are
by other countries may not be as well organized as further divided into sub-squares, sized five
tnat of the United States phone system, minutes east-to-west by two-and-one-half minutes
particularly those in Europe that have variable north-to-south.
length numbers.
Using gridsquares, a very small section
The present AX.25 Network code being of the world can be described with only six
developed on the TAPR TNC-2 uses area codes and characters. Since gridsquares are based on
phone numbers, prefixed by another set of digits, Latitude and Longitude, directionality can be
called the DNIC, or Data Network Identification easily calculated (without having to know Lat/Lon
Code. The DNIC code is covered by Gordon Beattie information). Gridsquares can be chopped off at
in the 1985 ARRL Computer Networkin Conference any of the three size boundries to provide the
proceedings, along with an additional paper found amount of direction information necessary.
elsewhere in these proceedings. In addition to
the area code/phone number information, the TNC-2 The disadvantage of gridsquares is that
code also passes along the source and destination they may not be easily found. Either a database
user Amateur Callsigns. The area code/phone of them must be maintained, or the Latitude and
number information is contained in the normal Longitude information must be converted to the
AX.25 Level 3 address space, while the callsigns gridsquare needed. Also, no political boundaries
are in the optional facilities section of a call are implied by the gridsquares, so callsigns must
request packet, using the calling and called be referenced for political boundary information.
address extension facilities.
When I wrote the AX.25 Level 3 Protocol
This system seems to be an acceptable spec (Third ARRL Computer Networking Conference),
scheme to encode both directional information for I was in favor of using gridsquares for the
routing and the Amateur callsign for specific optional locator information. I am still in favor
station identification. of using them, and will expand on their use
shortly.
Callsign Plus Airport Designators
Assigned Numbers Based On Geographical
All major airports around the world now "Location
have unique identifiers (that’s what the mumbo-
jumbo of characters on the tag on your suitcase See Gridsquares above. Seriously, there
means). Some have suggested using these as are many different methods of assigning numbers
identifiers for a geographical area that an based on geographical location. I am not sure why
Amateur may be found in. Since airports are someone would want a system other than
scattered randomly about the world, often with gridsquares, but it might be possible to come up
large gaps between them, this system would mean with a numbering scheme that is better ’’computer
that the coverage area of each identifier would friendly” for the Network, or more compact.
vary drastically. The method of assigning airport
designators is also not intuitively obvious to the
casual observer, making it difficult to Assigned Numbers by Organization or Groups of
extrapolate where one is. In addition, it might Organizations
be difficult for the average Amateur to find out
what the proper airport designator is for One method of assigning addresses
unfamiliar areas. I feel this method should not sometimes suggested is based on a group of
be used. hierarchical organizations assigning binary
numbers in ever decreasing geographical sizes. In
Callsign plus Zip Code other words, an international group assigns most-
significant digits of numbers to countries. An
Once again, the government comes through organization inside each country then assigns the
for us! The postal system has assigned each post next-significant digits. Then smaller, more
office with a unique identifying number, the Zip regional organizations assign ever decreasing
Code. In addition, if more resolution is needed, numbers, until each Amateur that needs one gets a
we now have Zip Plus Four! Wonderful. Seriously, number.
using Zip codes would work fairly good here in tne
United States. If one chops off all but the first I am totally opposed to this scheme for
couple of digits, a reasonable degree of several reasons. First of all, it requires the
directionality can be obtained. Zip codes are setting up of a wonderful bureauracy, just what we
easily found (I believe they are even in the need. Secondly, magic numbers have to be looked
Callbook). The problem with Zip Codes is that up to gain some idea of location (the bureaucrats
outside the U.S. their assignment is not won’t assign numbers in a rational, geographical
consistant at best, if they are used at all. I method since that would make the job too easy).
think we need a world-wide system for our address Third, who is going to want to remember binary
scheme, which requires additional ’’patching” on addresses? Not me. Fourth, where do we go to
the Zip Code system. find out these numbers. Again, not me.
5.57
My Proposal For Network Addressing information (if needed) be placed as the locator
information in the calling and called DTE address
With the above information in mind, let me fields.
now suggest an addressing system that I feel we
can grow with. I further propose that the callsign/SSID
information be placed in the optional facilities
As mentioned earlier, the user Amateurs fields (making tnem less of an option).
should always be identified by their
callsigns/SSID^s. The source user Amateur does
not need to have provided any locator information Encoding of the Gridsquare Information
for him/her, except for the source end-point
switch identification. Therefore, no gridsquares Both the proposed address methods (my
are needed for the source user Amateur. gridsquare and Gordon Beattie's area code/phone
number) include the Data Network Identification
In may be necessary on occasion to also Code (DNIC) in them as part of the addressing
indicate where a destination user Amateur is plan. This inclusion may help us in the future,
located (method IB above). If this is the case, if we need to tie the Amateur Network to a
gridsquares should be added to the destination commercial network. Gordon discusses the encoding
Amateur's callsign/SSID. of the DNIC in a paper in the 1985 ARRL Amateur
Radio Computer Networking Conference, and in a
Source end-point switches should also be follow-on paper in these proceedings, so I will
identified by their callsign/SSID. If there is a not describe it in depth here. Keep in mind the
reason to add locator information, gridsquares nibble and octet (byte) numbers I use below are
should be added. I'm not sure there is a need for referenced to the first nibble or octet of the
this, since the path is established from the address sub-field in question, NOT the absolute
source end-point switch, it should always be count from the start of the packet.
known. For now, callsigns should be enough for
the source end-point switch. The DNIC fits in five semi-octets, or
nibbles (including the prefix). A sixth nibble
The destination end-point switch is a has been added to the end as a compromise between
different matter. If the callsign/SSID is known, the phone number and gridsquare groups. This
then that should be used as the address of the sixth nibble is encoded as follows at this times
destination end-point switch. If the
callsign/SSID of the destination end-point switch 4321 <---- Bit pattern in nibble 5.
is not known, or of implicit routing is being used
in method IB, the gridsquare of the destination 0000 indicates area code/phone number
END USER AMATEUR should be included. This should addressing system.
be in the form of gridsquares, using either the
two most significant characters if the destination 0001 indicates gridsquare addressing.
area is not well known , or the first four
gridsquare characters. Using all six gridsquare The seventh and succeeding nibbles
characters may provide too much resolution for contain the actual location addressing
finding the proper destination end-point switch. information, up to sixteen nibbles. This leaves
us with ten nibbles to put the gridsquare
Transit switches should always be identified information. Unfortunately, the BCD requirement
by their callsign/SSID. It is unclear why one raises it's ugly head, so we have to get cute. In
would want to identify transit switches in any my paper on optional facilities for AX.25 Level 3
other method, other than forgetting one transit (Third ARRL Amateur Radio Computer Networking
switch callsign/SSID when using explicit routing. Conference), as part of ANNEX G I briefly
In any event, calIsign/SSID's for transit discussed a method of encoding the gridsquare
switches. information. Gridsquares are described by six
alpha and numeric characters as follows. The
How Much Room is Available For Addresses first two alpha characters indicate the most
significant area (the fields), followed by two
In AX.25 Level 3, there are three places numeric digits (for the square), followed by two
addressing information may be placed. The first more alpha characters for the sub-square.
is in the calling and called DTE address fields.
Each of these may be up to sixteen nibbles long. If we take the first two alpha
I specify nibbles because the DTE addresses are characters and divide each character such tnat
still thought of as numbers, so each nibble is bits 4, 5, and 6 are conveyed in the high order
capable of holding one BCD coded digit. This digit, and bits 1, 2, and 3 are in the low order
means binary encodings greater than 1001 are not digit, we should be able to put each alpha
allowed. What a pain. character in an octet, while staying within the
letter of the protocol. Bits seven and eight are
The second place address information is redundant in tnis case anyway, since upper case
allowed is in the calling and called address alpha is assumed. This uses two octets (four
extension facility. Each of these facilities may nibbles) for both alpha characters, leaving us
contain up to 32 nibbles of address information. with six nibbles. The first alpha character will
Once again, the BCD encoding method is imposed. take up the fourth octet, while the second alpha
At least here we have room to breath. character is in the the fifth octet. Those who
remember the old TV Typewriter I should be
The third place where address information can familiar with the Half-ASCII this six-bit system
be found is in the two optional routing facilities uses.
of AX.25 Level 3. We adaed these Amateur specific
facilities to allow us a mehtod of conveying Since the third and fourth gridsquare
routing information as the Network was starting. characters are numeric, they will fit nicely in
There are two types of routing facilities. The the two nibbles of octet six, BCD coded anturally.
explicit routing facility contains the
callsign/SSID of each packet switch the call must The fifth and sixth gridsquare
to through. The second optional routing facility characters are not really needed. Tney describe
s the implicit routing facility. The data almost too small of a location, since we may not
conveyed in this facility should be some know exactly where the station in question is. If
geographical locator information regarding the they are needed, since they are also alpha, we
estination user Amateur. must play the same byte-splitting game with them
that we did with the first two gridsquare
Now that we know how much room we have, let's characters. The fifth and sixth characters will
look at how to encode our addressing information be placed in octets seven and eight of the address
into AX.25 Layer 3 connection request packets. field, respectively. This fills up the calling
and called DTE address fields in the call request
type packets.
Proposed Address Encoding Technique for AX.25 L3
Figure 4 shows the encoding of the
The addressing information I plan to use is called address fields for a call request packet to
gridsquares for location, and callsign/SSID for the WB4JFI-5 packet switch at 77 Deg, 4 Minutes,
names. The two are encoded differently, since and 47 seconds west by 38 degrees 57 minutes and 7
they have different lengths and are located in seconds north (the WDVM-TV tower it resides on).
different places. I propose that gridsquare The gridsquare information for it is FM18LW.
5.58
characters of the gridsquare information
! High Nibble ! Low Nibble ’! superimposed on them. It also contains a list of
. i• ____ ____ _ 1! the most common cities, states, and countries and
! Prefix ! Data... I Byte 1, DNIC their gridsquares. It can be a little hard to
•f______________ . f_ ___________ 1 extrapolate from these maps the exact grid, so the
!..Network.•. !...Ident... !! Byte 2, DNIC list is the best bet.
•f______________ . i_____________ 1
! ...Code ! Grid= 0001 II Byte 3, DNIC, Grid If the Latitude and Longitude is known, the
i______________ . i 1 gridsquare information can be obtained, either by
1
i
i
1
! (Hi F)=0000 '~z
O
o
nJ
Byte 4, Grid #1 = F
b
I computer programs, or by tables. The Latitude ana
II
O
i _____________
Longitude can usually be obtained to a close
1
i
1
1
! (Hi M)=0001 !(Lo M)=0101 !! Byte 5, Grid #2 = M enough degree iust by looking on a map or atlas
i______________ (such as the infamous Callbook maps).
! 1 = 0001 ! 8 = 1000 ! Byte 6, Grid 3,4= 18
t______________ There are a couple programs written in Basic
! (Hi L)=0001 !(Lo L)=0100 !! Byte 7, Grid #5 = L and Fortran to do tne griasquare calculations,
j__________ __
plus I am working on one written in C.
! (Hi W)=0100 !(Lo W)=0111 I! Byte 8, Grid #6 = W Unfortunately, my program doesn't work so hot
south of the equator, so I won't include it here.
Instead, I will describe the Gridsquare system and
Figure 4. Gridsquare Encoding in PTE Address ?rovide some charts for manual conversions. The
oilowing information comes from a fine article
called "Maidenhead Squares, A World Locator
Now that we have encoded the gridsquare System" by N. A. S. Fitch in the January, 1984
information, let's put the ca 11sign/SSID issue of The Shortwave Magazine.
information into the optional address facilities.
The starting point for the gridsquare system
Callsign/SSID Encoding In Facilities is 180 degrees west Longitude at the south pole.
Lettering and numbering runs from west to east,
While I played by the letter of the and south to north from that location.
X.25 Protocol for the calling and called DTE
address fields, I think we don't need to go to The Gridsquare locator system is made up of
extremes in the calling and called address six alpha characters. The first, third, and fifth
extension facilities. Here we can just throw in characters are based on longitude, while the
the Amateur callsign plus a FIVE-bit SSID. The second, fourth, and sixth characters are based on
SSID should be justified to the LSB, filling bits Latitude.
8, 7, and 6 with zeros. The result is that
WB4JFI-5 would look like this: The first alpha character is based on twenty
degree spacing and identifies the Field in
question. This can be looked up in Table 1, which
Ln
! 01010111 hex =
l- ‘
(D (D (D (D
! 01000010 hex =
O 'Ln -P' CO
! 01000110 hex =
r r rr r r
0
! 01001001 hex ■
3 Z O WO P0> w O W M WO W Hi
(D
W <<
oooooooooooooooooo
OOOOOOOOOOOOOOOOOO
! 00000101 SSID =
Q
-<
facility.
Implicit Route Facility Encoding
The last encoding scheme to discuss is
C-I zs W
h-* bo CO
Gridsquare Calculation
There must be some method of finding out
the gridsquare information if it is to be used.
O
5.59
Minutes West of Sub- ! Minutes West of Sub With the above information and the Latitude
eastern side of Square ! eastern side of Sub and Longitude, anyone should be able to figure out
uare e 11 e r s quare e er what their gridsquare is, along with those of
co
cr
other Amateur stations.
“k_H
o m i-4i-icMCMcocn<t«<frinin
<
Not all Amateur stations on the Network will
HO
need to supply location information. As the
OJXO Pd cn
Network builds, less addressing and routing
‘
information will be required from the user
r
Amateur, and more will be maintained by the
O in O in O
•»—*>—
switches. In the interim, I feel we should use
the callsign/SSID plus Gridsquare information as
O
needed. I hope the gridsquare tables help to
3Z
‘h
allieviate some of the negative comments I nave
h-
heard about using them.
Table 3. Fifth Character Table.
Now, on to the Latitude calculation. As References
mentioned earlier, the Latitude information is
conveyed in the second, fourth, and sixth Fox, T., "AX.25 Amateur Packet-Radio Link-
characeters. The second character is an alpha, Layer Protocol", ARRL, 1984
and is based on ten degree spacing from the south
cn
pole. Table 4 contains the information based on Tanenbaum, "Computer Networks , Prentice
degrees north or south of the equator. Hall, 1981
Beattie, "Proposal: Recommendation
Latitude North Field ! Latitude South Field AX.121NA Numbering Plan For
of Equator Letter ! of Equator Letter The Amateur Radio Network in
f North America", Fourth ARRL
«
oor'vOin^tcncMi—i
o>oor^<oin<tcocMr-<
ooooooooo
ooooooooo
! -0 -10
+++++++++
! -30 -40
x 1+3 2! o
!
m
-80 -90
I
i i i i i i i i i i
i
++++++++++
Cl
i i
Architectures",
Computer Science
Press, 1982
i
<
-0
vd
0r^incM 0r^incM 0r"ineM 0r'-incM 0r~incM 0
+57.5
*h-‘ I- ‘ h-•'MUnbO
C< CX
•
m in in in in m in in in in
+55 -2.5
m m in in
..................................................................................
+52.5 -5
O x lln W O M W i b J O ^ J U iN J O ^ J U ib o O -M L n b o O *
+50 7.5
+47.5 -10
13X3 pd CAH
u iL n c n c n m u im m u iL n
+45 -12.5
+42.5 -15
•••••••••
+40 -17.5
+37.5 -20
co co co cn cmcmcmcmr-4
+35 -22.5
+32.5 -25
+30 -27.5
+27.5 -30
+25 -32.5
+22.5 -35
+20 -37.5
+17.5 -40
+15 -42.5
+12.5 -45
r-<r-i r«. m
+10 -47.5
+7.5 -50
+5 -52.5
•
+2.5 -55
•
tn
cm
+0 -57.5
•
5.60
fA C '/r & W e :
TR/WS/T
5.61
S w it c h t-ec-ArL -TO''&A£J&C>/JE.
N e r ^ o f iK * im t & £ fac 4£:
en
' howy
A /E ^ TER^EY “ L&c* L
3
H/v'D
ftVATElJR
CO
N t-D S Y
FfiiLLS C.HUAGH e>E^EATFlELD
Vp, N T
3. W l t i Pl E S w it c h o f ER Anew.
PROPOSAL: RECOMMENDATION AX.121 (1/86)
2.1 The 10 digit numeric character 4.4 If the national amateur body in a
set 0-9 should be used for country does not specify the
numbers (or addresses) assigned to use of the fourth digit in the
terminals in the amateur DNIC, it is to be considered
network. This principle should ’’Reserved” and shall be coded as
apply to both national and ’’0".
international numbers.
5.62
4.5 Possible uses of the fourth digit Appendix A/AX.121
include, but are not limited to,
indication of special stations, Data Country Codes
services or networks.
CM
Zone
5.63
542 Fij i
360 St. Vincent
543 Wallis and Futuna Islands
362 Netherlands Antilles
544 American Samoa
364 Bahamas (Commonwealth of the)
366 Dominica 545 Gibert and Ellice Islands
368 Cuba
546 New Caledonia and Dependencies
547 French Polynesia
370 Dominican Republic
548 Cook Islands
372 Haiti (Republic of)
374 Trinidad and Tobago 459 Western Samoa
376 Turks and Caicos Islands
Zone 4 Zone 6
5.64
654 Comoros (Federal and Islamic 3.1 If A = 0 then:
Republic of the)
655 South Africa (Republic of) 3.1.1 The National Number shall
consist of a three digit Area
Code, a three digit Exchange
Zone Code and a four digit
Subscriber Code.
DCC Country or Area
Prefix + DCC + Format + Area +
702 Belize Exchange + Subscriber
704 Guatemala (Republic of)
706 El Salvador (Republic of) P + DDD + F + AAA + EEE + SSSS
708 Honduras (Republic of) = 15
710 Nicaragua
712 Costa Rica 3.1.2 The Area Code is mandatory for
714 Panama (Republic of) all networks.
716 Peru
722 Argentine Republic 3.1.3 The Area Code must be consistent
724 Brazil (Federl Republic of) with the North American
730 Chile Numbering Plan except as
732 Colombia (Republic of) directed by the National Amateur
734 Venezuela (Republic of) Body.
736 Bolivia (Republic of)
738 Guyana 3.1.4 The use of an Exchange Code is
740 Ecuador strongly suggested. This code
742 Guiana (French Department of) may follow the local telephone
744 Paraguay (Republic of) exchange code.
746 Suriname (Republic of)
748 Uruguay (Oriental Republic of) 3.1.5 The use of the Exchange Codes
000 through 199 may be used if
Appendix B/AX.121
assigned by the Network
Coordinating Agent for the area.
This appendix outlines the options to
be used by DTEs operating in the 3.1.6 Service Codes Oil, 111, 211,
Amateur Data Networks in North America. 311, 411, 511, 611, 711, 811,
911 are reserved pending
definition by the local Network
1. The Amateur Data Networks of North Coordinating Agent.
America will use the numbering
format: 3.1.7 Service Codes shall be placed in
the Exchange Code field and
Prefix + DCC + Format + Nat. should not be followed by any
additional digits.
+
5.65
Prefix + DCC + Format + Alpha +
Square + Local Network
5.66
b PACKET ASSEMBLER/DISASSEMBLER FOR AMATEUR PACKET RADIO NETWORKING
The capacity of the common 1200 Baud VHF circuit is PAD operation
outpaced in many areas by rapid growth in the user base. As
the price of assembled and tested Terminal Node Controllers The PAD presents an interface which is essentially
(TNCs) drop below the I150US mark» this situation can only transparent to the mode in use. There are four major states
get worse. (see figure 1} associated with the PAD<->L2 user interface
the user needs to be concerned with.
The amateur community took a positive step towards
addressing this problem through the adoption of version 2.0 The selection state a2 is entered whenever an L2 user
of the AX.25 link layer protocol. But in order to achieve links with the PAD. The PAD remains in this state until the
any real net improvement for a system comprising multiple L2 user specifies a destination callsign! an optional
users of a single frequency! thoughts of changing again the endpoint switch address! and up to three optional endpoint
link layer may not hold forth a marginal benefit capable of digipeaters. If the endpoint switch address is omitted! and
justifying the tremendous cost that such a change would the destination station is not linked with the PAD'S switch>
embody. the INTERMEDIARY mode is invoked and a level 2 connect
attempt is initiated. Otherwise NETWORK mode is assumed and
This author feels that many congestion problems are a level 3 channel is selected> and if a free channel is
successfully addressed through the elimination of what we've available a call request packet is generated.
called "digipeated” links! and their replacement by a network
layer - notably t the AX.25/X.75 network layer <1»2»3>. State a3 is the basic data transfer state! and is
Accepting this! one's next question might be "How does the entered upon establishment of an end to end "connection".
user base access this reformulated network?" The connection could result from a network call request
packet! an L2 user's request to talk originating on the same
It is expected that some users will have an AX.25 PAD but a different linkt or the acceptance of this user's
network layer interface within their TNCs. They won't need request to talk with another station (i.e. the a2 to a3
an additional PAD facility - their level 3 capability already transition).
implies that one exists! so it is for the benefit of those
whose TNC does not include a network layer interface (they'll State a4 insures that one or both L2 user endpoints
be referred to as "L2 users" in the balance of this paper) receive information about the cause of a PAD mediated
that the PAD was developed. connection "failure" just prior to tearing down the users'
links. A transition to the idle al state occurs when this
PAD modes information is acknowledged by the user and the link layer
disconnect attempt state is entered.
This prototype PAD has a "NETWORK" mode and an
"INTERMEDIARY" mode. Which mode is used is determined Other considerations
independently for each link! and reevaluated whenever the
link is reset. For operations on a single frequency! explicit (i.e.
not directly window related) flow control of a sending L2
Network mode user is invoked either upon exceeding an absolute buffer
allocation or predictively! at the time when the first byte
NETWORK mode provides the gateway between an of a new information field would exceed the allocation.
5.67
There is some overhead associated with the predictive flow,
but the author believes it is much less than the (implied)
overhead resulting from collisions (when the pad is equipped PAD MESSAGES
with only one port, or INTERMEDIARY mode is in use) between
acknowledgements from a remote, and the transmission of new
data that can not even be buffered until the such gator 2 pad 03100305724 port B
acknowledgement is received by the PAD. enter: call C,digit C»digi2 [,digi33 J 3
References
<1>T. Fox WB4JFI, AX.25 Network Sublayer Protocol *#* pad: call cleared, dte originated
Recommendation, ’’Third ARRL Amateur Radio Computer Networking *** pad: call cleared, dte busy
Conference” proceedings (Newington: American Radio Relay *** pad: call cleared, retry limit
League) exceeded for either call
or data
<2? J. G. Beattie N2DSY, T. A. Moulton W2VY, Proposal: pad: call cleared, either the
Recommendation AX.121NA, "Fourth ARRL Amateur Radio Computer station you requested is
Networking Conference" proceedings (Newington: American Radio also using this pad or an
Relay League) unrecognizable TO? entry
was received
<3} X.75 is an Internet Protocol (IP), comparable in
operation and packet format to X.25 level 3
failure messages
PAD STATES
al
indication ack'd *
/ /
X
>
----------------- * -------------
a4 !<<<<! a2
----------------- ♦ -------------
a2 L2 user
FIGURE 1
5.68
A Networking Node Controller for Amateur Packet Radio
This paper describes the features of the NNC Digital Hardware Description
NNC that make it a logical choice upon
which to build an Amateur packet switching The TAPR NNC design meets these objec
system. tives .
5.69
The MMU allows a total physical address ral IC to identify itself to the uP at the
space of 512 kbytes to be utilized by the time the interrupt is acknowledged, resul
uP. A paging scheme is employed to divide ting in a very efficient interrupt struc
the physical address space into three ture. Further, software ompatibility with
logical address spaces. The net result is the Z80 opens the door for many experimen
a fast and relatively efficient expansion tally inclined packeteers to develop, test
of the normal 64 kbyte address space limi and refine the software used on the NNC.
tation of the Z80.
In order to encourage such experimenta
Memory on the NNC is physically organized tion, a second PC board was developed for
into two banks of eight bytewide sockets the NNC. This board simply plugs onto the
each. NNC digital board and provides a complete,
DMA-capable floppy disk controller. Up to
The lower bank, mapped into the first 256 four floppy disk drives may be operated by
kbytes of physical address space, includes this controller. ZRDOS (tm) or CP/M-80
a hardware wait-state generator that is (tm) operating systems may then be run on
activated on op code fetches only, al the NNC, assuming a proper BIOS and boot
lowing the use of inexpensive 250 nSec strap ROM are available.
EPROMs to contain program code. Each of
the eight sockets is individually config The floppy disk adapter is based on the
urable, by means of on-board jumpers, to Standard Microsystems FDC9266 controller,
utilize a 32 kbyte EPROM or an 8 or 32 which is an integration of the NEC uPD765
kbyte static RAM IC. Each socket consumes controller with data separator circuitry.
32 kbytes of physical address space, re
gardless of the IC installed at a particu Modems
lar location.
3>
third PC board contains a set of four
The second bank of sockets is intended for modems as well as a tuning indicator.
low-power CMOS static RAM only. This bank
is battery-backed, allowing up to 1/4 The modems are based on the XR2206 and
megabyte of non-volatile RAM to be in XR2211 FSK modem ICs. These are low-speed
cluded on the NNC. A single jumper on the (1200 baud default for three, 300 baud for
board configures these eight sockets for 8 one) modems intended to provide access to
kbyte or 32 kbyte RAMs. These parts can the NNC by Amateur stations using standard
not be intermixed in this physical bank of TNCs. The 300 baud modem is connected to
memory. No wait-states are inserted dur the tuning indicator for ease of use on
ing op-code fetches in this area of memo HF.
ry, since 150 nSec (and faster) RAM is
readily available at low cost. Unlike earlier TAPR modems these contain
no switched-capacitor input filtering. A
The IC used to control the battery-backed passive filtering system is used, resul
RAM (bbRAM) circuitry allows testing the ting in simplified circuitry. The demodu
condition of the battery every time the lators have been tested in the prototype
NNC is powered up from a battery-backed modem board and a signal of 5 mV peak to
state. Software routines may utilize this peak has been shown to be sufficient for
feature to report impending battery fail stable capture and lock of the PLL. This
ure. high sensitivity is due in part to the use
of the XR2211 demodulator IC, in part to
For future expandability, an industry the use of a four-layer PC board and in
standard Small Computer Systems interface part due to careful selection of modem
(SCSI) port is included on the NNC. The operating parameters.
SCSI port may be DMA controlled. or simply
interrupt driven. This port should be The modem board includes a crystal-con-
capable of transferring data at rates up trolled baud rate generator and each modem
to 1.5 megabytes per second, allowing the includes a state machine to recover clock
NNC to act as a "front end" processor for information from the incoming NRZI data
later high-capacity data concentrators as stream. In addition, circuitry is in
the Amateur packet network evolves. cluded to convert the NRZ data from the
SIOs on the digital board to NRZI for
A pair of eight-bit parallel ports are transmitting purposes. A watchdog timer
included in the NNC. One is configured as is included in each modem to guard against
a Centronics (tm) compatible parallel inadvertent lockup of a packet channel.
printer port, the other as a general pur
pose I/O port. These software controlled The modem board is extensively decoupled
ports may be used for modem reconfigura to prevent RFI. Similarly, it is designed
tion, direct control of an rf deck, con to be resistant to conducted (incoming)
trolling status indicators or other pur EMI.
poses .
General
The HDLC and parallel ports utilize an
interrupt method known as Mode 2 on the All boards in the NNC are four layered.
uP. This allows the interrupting periphe- This provides an extensive ground plane
and power plane for each board, reducing
5.70
noise and easing decoupling of the various Summary and Conclusion
ICs.
The TAPR NNC is the result of design sug
The digital and modem boards conform to gestions from experienced packeteers all
the physical form factor outlined by the over the U.S. It incorporates features
California WestNet group. These boards making it easy to develop software for,
are 5.75 by 7.75 inches and include mount implements a philosophy leading to high
ing holes to allow them to be attached to reliability and provides a common hardware
the bottom of a standard 5-1/4" floppy base tailored specifcally for networking
disk drive. The power connector is iden protocols in the Amateur packet environ
tical to those on such drives, as is the ment .
pinout of the power connector.
At the beginning of 1985, there were per
The floppy adapter card, which piggybacks haps 2,500 Amateur packet radio stations.
onto the NNC digital board, has mounting At the beginning of 1986, that number had
holes which align with those of the digi mushroomed to well over 10,000. Hundreds
tal board when the cards are interconnec of newcomers are joining our ranks every
ted. It obtains power directly from the month.
digital board.
Packet channels are becoming clogged to
The NNC is designed around CMOS circuitry the point of unusability in many areas of
wherever possible. Applying this techno the country. Networking is needed to help
logy results in wider noise margins, less reduce congestion and improve the overall
heat and lower power consumption than capability of the burgeoning Amateur pac
other approaches. The net result is in ket radio community. The NNC, if adopted
creased reliabilty. by the Amateur packet community, may pro
vide a solution for development and imple
mentation of Amateur networking protocols.
5.71
AUTHENTICATION OF THE PACKET RADIO
SWITCH CONTROL LINK
Abstract
A common packet radio station is composed of
This paper discusses the design of a simple three components: a personel computer or terminal,
authentication method which is applied to a a terminal node controller ana a low power VHF
remotely sited packet radio switch. The control transmitter/receiver (transceiver). The terminal
?ath to the packet radio switch is a very high node controller; which directs the actual packet
requency (VHF) radio channel which is easily radio operation; is commonly designed as a small,
monitored and accesed. Such ease of access special purpose computer containing a
requires that only authorized control stations be microprocessor, protocol decoding hardware and
permitted to issue switch control and maintenance various amounts of program and working memory.
commands•
Within a 1ine-of-sight radio environment,
The authentication design discussed in this these packet radio stations form a local network
paper provides three functions: (a) positive were direct stat ion-to-stat ion communications is
identification of the switch and control operator, possible; either directly or with the aid of
(b) safeguard message streams flowing between unconnected packet repeaters. Typical populations
switch and control operator, and (c) rapid range to a hundred or more stations in some large
identification and rejection of false or cities with a typical network diameters to about
manipulated messages. 50 miles.
While some aspects of the work are unique, Regional packet radio systems are linked by a
many of the ideas we employed are disscused in the second type of network which spans the line-of-
literature [Mayer,1982 ] , [Needham,1978]. The sight user communities. The inter-city network
work on challenge numbers discussed in section consists of high speed radio links between local
three was motivated by a description of World War user communities linking packet radio switching
II spoofing and IFF problems described in stations. The packet radio switches provide a
[Bethancourt,1979] [Kahn,1976] while problems of access to the local users and also serve as a
message alteration are covered by various sources reliable relay and routing control point for the
[ANSI,1985]. The slow dictionary attack discussed backbone links.
in section three was originally described by Blake A packet radio switch is an unmanned,
Greenly of Citibank. Lastly, the area of jamming
and imitative deception is covered in [Frick, automatic station which provides two functions:
1945]. first, it provides local access to the high speed
inter-city radio network. Second, it acts as a
This paper is divided into four sections. relay and switching point for the high speed
The first section contains a brief overview of inter-city backbone network. Several packet radio
packet radio techniques. The second section switches can provide service to users in a wide
discusses assumptions concerning the radio feographical area. In this way the inter-city
environment in wnich the packet radio switch inks form a kind of ’’long distance service” while
operates. This envirnoment is characterized by the local area can be viewed as a call within the
unreliable radio path as well as occasional same area code.
spoofing and malicious interference. In the third
section we discuss the actions of each of the To control network operations each packet
protocola four procedures and the make-up of its radio switch contains a specialized command link
data construct. Section three also constains a which permits local system operators control over
discussion of the cryptographic considerations the switches executive functions. The executive
upon which this protocol is based. Lastly, in the functions; which include the operator connection
appendix we describe an experimental one-way process; is an independent application process
cipher based on a random program technique which running within the switch at ISO layer
we hope to incorporate into future versions of the (application layer) seven. The authentication
radio packet switch. protocol is designed to function as an adjunt to
the operator application and hence, as a part of
1.0 Packet Radio Overview layer seven.
5.72
design considerations to yield nine system Steady jamming is essentially a game of
requirements. In the second part of this section strategy in which the jammer attempts to block
we discuss how each threat is met by a protocol communications by transmitting signals which the
defense or counter-strategy. control link receiver cannot tell from the valid
signal. To do this the jammer must either
overwhelm the switches control link receiver by
2,1 Threat Assumptions and Requirements transmitting a very powerful signal or closly
imitate the control link signal characteristics so
The packet radio control link provides the that the control receiver cannot distinguish the
system operator and system developer with a wide jammer from the valid signal.
range of opertions and testing function. For
these reasons it would be quite easy for a To overcome jamming the control link must use
malicious operator to disrupt service or ’’crash” special error correction coding and vary some
the switch by gaining control of the control characteristic of his transmitted signal in a
operator functions. Snort of this, a malicious fashion which is known only to himself and the
station could spoof or iam the link, blocking all link receiver. Military systems commonly employ
communications on the link path. Therefore, there spread spectrum modulation to provide this
are essentially three type of problems to unpredictable changing. Simply, spread spectrum
consider: (a) false identification of the control consists of either changing the link radio
operator or switch, (b) manipulation, insertion channel many times a second under control of a
or deletion of valid control messages and (c) psuedorandom generator or change the waveform of
deliberate interference. We state these as formal the transmitter many times a second. In both
assumption below: cases, the link receiver will know what frequency
or waveform is being used and can reject other
signals not coded in the expected fashion.
1. (Monitoring) It is assumed that a malicious
operator is always monitoring the control For the jammer to be sucessful it must
link and that he has complete knowledge of imitate the link as closly as possible; however,
switch operations. the signal is changing so rapidly, and in an
unpredictable fashion, that the jammers chances
2. (Playback) It is assumed that the malicious of sucess fall as the links speed of change
operator can reliably playback valid control increases.
sessions or parts or valid control sessions
without error. In the case of momentary jamming, the jammers
strategy is to block communications by attacking
3. (Deliberate Interference) It is assumed that the link protocol error detection mechanism. The
the malicious operator can jam the control jammers signal is meant to cause the protocol to
channel at will either through continuos perform error retries and hence clog the channel
jamming or through selective ’’spot" jamming. with retransmission. Cleverly applied, this form
of jamming need only transmit for a fraction of a
4. (Spoofing) It is assumed that the malicious second making location by radio direction finding
operator can perform selective editing of difficult.
valid messages.
Most links subject to deliberate jamming are
specially coded with an effective error
From these four assumptions nine correcting code (foward error correction) before
authentication design requirements were developed. transmission. The error correcting code can
In most cases these represent countermeasures to identify and correct many small single bit and
the attacks describea above but some reflect burst errors. Commonly, bit rearrangment (bit
design choices made on the part of the authors. interleaving) within a data block is also used to
combat longer burst errors.
1. The protocol should gracefully shutdown
under error. That is, the protocol should The AX.25 protocol upon which the link is
not block a control link by continuos based uses an error detection and retransmission
cycling in an error retry or strategy and is vulnerable to both momentary and
resynchronization loop. (Malicious steady jamming attacks. Foward error correction
Interference). and spread spectrum hardware are still relativly
expensive; hence, a different counter-strategy was
2. Only a valid user can initiate a control needed.
session.
The counter-strategy developed for the switch
3. The authentication technique must not rests on two observations. First, the switch is
expose key bits on the open air designed to always reset and continue automatic
(Monitoring). packet switching operations in the event of an
error or failure. Hence, if jamming interrupts a
A unique session key must be used for each control operation and denies access over some time
new session. (Playback) period, the switch will resume normal automatic
operations.
5. Critical protocol information must be
authenticated (Spoofing). The second observation concerns safe and
unsafe states. Briefly, a safe state is one in
6. Control message content must be protected which the switch can operate normally and is not
(Spoofing). in danger of erroneous operations. Comparatively,
an unsafe state puts the switch in danger of
7. Consequtive control message must be crashing, perhaps through a temporary instruction
protected. (Spoofing). patch or experimental manipulation of parameters.
00
A control session and its messages must be Commands issued by the control operator
uniquly identified. (Playback). affect the state of the switch. These operator
commands are issued individually or as part of a
9. Control messages must be in plaintext (FCC group of commands. Moreover, each intended
Regulation). operator action ends with the switch in a safe
state, while commands within a sequence of
operator commands may place the switch temporarily
2,2 Interference Safeguards in an unsafe state.
The first requirement deals with deliberate The most dangerous time for the jammer to
interference which forms the most common expected become active is when the switch is in an unsafe
attack upon the switch control link. It is state. We assume that the jammer is monitoring
easiest to mount and if done cleverly, one of the the activity of the control link and can determine
hardest to protect against. For purposes of this when this state occurs. To close the window of
discussion two types of jamming will be vulnerability the switches executive software sets
considered: steady jamming which simply blocks the a hardware timer whenever the switch enters an
communication channel for a length of time and unsafe state. If the link should fail for any
momentary jamming, in which the jammer induces reason this timer will expire and trigger a
errors on a regular basis to effectivly block the hardware reset returning the switch to normal
link. packet switching operations.
5.73
We have choosen not to employ special coding A benefit of the randomly generated challenge
and spread spectrum hardware primarily as a trade number is that it provides a unique value to
off between the effects of jamming, jamming associate with each operator connection. This
frequency and hardware expense. Jamming which unique value will be used to differentiate
occurs for a period of one second or more can be messages in the operator session from those of an
easily located with current, commercially old session and hence block a playback attack. It
available automatic radio direction finding is important to note that the switch and not the
techniques and specific legal remedies can be user generated the challenge number. If the user
applied. Jamming attacks; while distruptive; are could generate the challenge number, a spoofer
generally not too frequent; however, in certain could simply playback an old challenge number and
specific areas of the country jamming is more setup to replay the associated old session.
prevalent and it may be necessary to employ some
of the anti-jam hardware mentioned. Having been blocked from directly
impersonating a valid control operator an attack
now open to the spoofer is to attempt to disrupt
2.3 Imitative Deception and Spoofing the control link by insert ion,.moaification or
deletion of valid control link messages. Neither
Imitative deception and its variations form the link nor network protocols offer protection
the basis for several attacks. The ones against inserted messages [Borden,1985]. In fact
considered here are attacks whose strategy is to their action is to accept the first correctly
imitate a vaild user action by manufacturing valid numbered packet and ignore subsequent packets with
looking messages, altering selected parts of a the same send and receive counters; --accepting
valid message (spoofing) or by recording and re the spoofer packet while ignoring the valid one.
playing whole or parts of a previous session
(playback attacks). To overcome this difficulty we have included
a message sequence number as part of the
The strategy of imitative deception is to authentication construct. The authentication
inject a valid appearing messages into a link protocol tracks the sequence numbers by computing
which is taken for valid traffic. One of the the next expected sequence after each valid
primary [Frick,1945] instances of this type of message is received. This value is saved by both
attack occured in the opening days of WW I on the the switch and the control operator and is used to
German-Russian front durring the battle of compute the next expected message authentication
Tannenburg. In this battle the Germans; using the value.
call signs and radio procedures of the Russian
High Command; were able to send false instructions Message alteration is an attack open to the
to various commanders countermanding previous sophisticated spoofer. The goal of the spoofer is
orders and altering battle plans. This resulted to intercept and use a valid frame and packet
in a military disaster for the Russians with far structure but insert a spoof message into the I
reaching consequences. field portion of the packet. This attack is more
common on wire line systems were an attacker need
The major safeguard against imitative only insert a computer in the line to perform the
deception is an authentication procedure which can alteration. In tne radio environment, an attack
guarantee that each message has originated from of this type is still possible if a spoofer could
the authorized user. Communications systems automatically intercept a valid packet, insert the
commonly rely on cryptographic authentication spoof text and retransit the packet in under a few
procedures which require the user to perform some seconds.
enciphering operation with a known key. The
system performs the same operation in parallel and
compares its result with tne potentical users. If A senerio of this attack might be for a
the results are identical, it is assumed the user spoofer to intercept the incoming packet from the
possesses the proper key and hence is an control station by aiming a highly directional
authorized user. antenna at the control station while a second
spoofer, closer to the packet switch momentarily
The authentication protocol described in this blocks reception. This can be done by
paper uses a parallel encipher and test procedure transmitting a short noise burst to jam the packet
to safeguard three aspects of the control session: switch control receiver making the switch unaware
establishment, message flow and exception that a valid packet was sent. After intercepting
handling. Each of these three aspects of control the original valid packet, the first spoofer woula
link communications offer the spoofer an overlay the packet I field with the command of
oppurtunity to mount an attack against the system. interest, recompute the frame check error value
and then quickly re-transmit the message to the
packet switch.
The first safeguard is placed at the point
where a user requests the switch to begin an To defeat this attack the authentication
operator dialog. The user would up to this time protocol contains a modification detection
have established at least an AX.25 level indicator (MDl) which detects any modifications to
connection to the switch and request to connect to the message text. Various types of check-sums
the switches executive software. In some have been studied for this purpose and certain
respects, the connection request resembles a vunerablilities have been identified where the
conventional computer logon with a secret "sum" is composed of linear operations. In the
password; however, the radio channel is always authentication protocol used by the packet switch
being monitored and the password would not stay a nonlinear approach is used to reduce this types
secret very long. of exposures.
The mechanism used by the protocol relies on The MDI value is computed over the message
parallel encipherment of a known constant by both contents including the authentication state
the user and switch. A challenge number (CN) is indicator of the authentication protocol construct
generated by the switch based on a randomized which prevents spoofing. The authentication value
timer value and is transmitted to the user in is then computed by enciphering the combination of
response to his connection request. Both the user MDI value with both the Challenge and internally
and the switch then encipher the challenge number stored message sequence number.
using a previously distributed secret key. The
user returns the enciphered value to the switch
which then performs a comparision with its locally 3.0 Authentication Protocol
calculated value yielding a match for a valid
user. The authentication protocol is essentially a
computer oriented protocol with the control
If the returned value does not match the operator executing part of the protocol on a
switches enciphered value it is assumed the user personel computer and the remainder executing
does not possess the secet key. The connection within the switch. The two communicants exchange
request is denied and the switch breaks the AX.25 an authentication data unit (ADU) which is affixed
connection ("hangs up"). At this point no new to each operator message. In the return direction
operator dialog connection requests will be an ADU is used to signal acknowledgments and
accepted for a period of fifteen seconds. The special conditions and can be received independent
goal is to prevent a brute force attack by of a switch message. Contained within the ADU is
microcomputer which could rapidly test many trial the authentication state indicator (ASI) which
keys. signals conditions between the two ends.
5.74
authentication value for each operator message;
1 making this value reflect the individual session
: Authentication: SR.
! CONTROL MESSAGE : Data Unit
: (ADU) Two different approaches were considered in
generating the SR value. The first approach is to
consider a monotonically increasing counter value
Figure la. Control Message Format to provide unique session numbering. The drawback
with the counter approach is it requires long term
storage of the counter value. This conflicts with
7 State: Authentication: one of the switches key design principles of never
: Ind : Value : relying on values which could be modified by a
: (ASI): (AV) : software error for critical operations.
Typically, constants and routines are comitted to
ROM for reliability; comparatively, values
Figure lb. ADU Fields contained in RAM are subject to both software
error and system resets.
Figure la shows the operator control message The second approach; which is used in this
and ADU layout. The common control message implementation; is a SR value produced by a twice
typically takes the form of an operator command enciphered clock driven random number generator.
such as instructions to check status, start or The first encipherment producing the CN value and
stop operations and on-line debugging. The actual the second yielding the SR. This approach
contents of the message can take either a produces evenly distributed random numbers which
conversional English format or a machine readable nave a very small but non-zero probability of
format depending upon where the actual command repetition, but which needs no long term counter
parsing is performed. In the packet radio switch storage.
under discussion, command parsing is done at the
control operator location and so only machine
readable information is exchanged. When an initialization attempt fails, the
switch returns an ADU with the authentication
Figure lb shows the format of the ADU. The reject flag set. At this point there is an
authentication state indicator (ASI) is used to oppurtunity for a dictionary attack if the switch
signal the state of authentication and indicates allowed instant reconnection. Instead, the switch
status such as acknowlegements or a command such does the equivlent of "hanging up" by signalling
as session termination. the lower level protocols to break the X.25
connection to the control operator and then
There is an associated message count field enforces a 15 second wait before it accepts any
which is stored internal to the switch and the new authentication establish requests. This action
control operator. The count field is used to blocks the ability to qucikly retry successive
track the message number and detect lost,inserted test keys; one of the prime elements necessary
or duplicate message. This field is 16 bits in for an economical dictionary attack.
length which was judged adequate for even
exceptionally long control sessions. One additional style of dictionary attack
should be mentioned. This style of dictionary
attack submits test keys intermittently over a
3.1 Authentication Protocol Description long period of time. Tne conventional dictionary
attack relies on speed to submit many test keys in
The authentication protocol consists of four a short time. This style might be termed the fast
procedures: authentication establishment, message dictionary attack; comparatively, a slow
transfer, terminate and error. The four dictionary attack spreads its tests out over a
procedures of the protocol operate in series with long time in order not to arouse the suspicions of
the exception of the error procedure. This a control operator. The slow dictionary attack
?rocedure is charged with recovery when a message relies on tne fact that the system is available
ails to authenticate. In the authentication around the clock so that tests need only be
establishment procedure the control operator is conducted sporadically.
attempting to connect with the packet radio
switch. The procedure calls for the control The goal of the slow style of dictionary
operator to establish a lower level connection attack is; like the fast attack; to find the key
with the switch operator control routines. Once currently being used. The slow dictionary attack
this is done a reliable path is assumed to exist may be launched when breaking the system is of low
between the control operator and the packet radio priority, sort of a bonus if it could be done. It
switch. is difficult to guard against this attack since
few attempts would occur over an interval. The
The next step is for the control operator to obvious defense is to use a very large key space
authenticate himself to the switch by properly to forces the attacker to maintain a large
encrypting a challenge number (CN) under an dictionary and perhaps close the time window
initial key derived from the master key and the during which tne attacker might test. For
challenge number (the challenge number serves as a example: allow connection requests only during
key indicator function). The switch generates the business hours. This strategy is similar to what
CN via a clock driven random number generator and was done durring World War II with the
sends this value to the control operator. The identification friend or foe (IFF) systems. The
control operator now enciphers the CN by combining enemy would test the bombers IFF by sending trial
it with this key and sends it back to the switch messages hoping to find the current settings. To
over the control link. limit this, the IFF boxes were commonly switched
off until within a range where they were needed.
In parallel with the control operator, the This deprived the enemy of their window.
switch has also enciphered the CN value for
comparision with the one received from the control The second procedure of the authentication
operator. A match indicates that the control protocol is the message transfer procedure which
operator is in possession of the same initial key authenticates each arriving message. The actual
thus completing the authentication initialization authentication value (AV) is generated by:
phase.
AV = ENCRYPT( Key , MDl(message-text) + SR +
To add security, the validated CN value is Sequence-number)
combined with a constant and re-enciphered to
produce a session randomizer value (SR) which is The AV itself is 64 bits in length while the
stored internally by both the switch and the modification detection indicator is a 64 bit value
control operator. This step limits the usefulness (non-secret) which is calculated on the state
to a spoofing station of a intercepted CN value indicator. The ADU will be affixed to the end of
since it will not be used futher in the current the current message and transmitted. When the
form within the authentication procedure. An switch receives this message, it will recompute
important purpose of the SR is to prevent the AV using the expected next message sequence
playback of a previous session. The SR associates value; and the SR; both of which are retained
with each session serves as a randomly selected independently of the control operator. The switch
session identification number. The SR is also one will also recompute the MDI on the received
of the fields used to construct the message message and derive a test AV value.
5.75
Authentication of the current message is performed well implemented cryptograpic system commonly
comparision of the test AV with the received seperates the secure and non-security aspects of
the system and in addition, requires the software
design to go through a rigorous failure mode
Once authentication has taken place there are analysis identifying each failure mode and
three possible actions: pass authentication, fail corresponding assurance. The increased
or fail on retry. Messages which pass reliability afforded by this procedure guards
authentication cause the message counter to be againt failures in which the cryptographic process
incremented and the message to be passed to the fails to encipher, garbles the information in a
switches operator function. If the message fails reversible way or worse, allows key bits to
to authenticate then no message will be passed to erroneously appear on the communications channel.
the operator function, instead an error procedure
is entered. In choosing the DES algorithm we surveyed
the relavent literature on its cryptographic
In the error procedure, the counters are not strength and have found no clear example of a
updated to prevent a counter synchronization succesful attack. We find the arguments against
?roblem which would complicate things later, DES fall into three classes: (a) super-computers
nstead, the message as received is sent back to have put a known plaintext attack within reach,
the control operator with the reject flag set. (b) the government already posses such computers
The control operator can then retry seven times (c) there exists a secret process (a trapdoor)
before the switch declares a formal authentication that reduces or negates the computational burden
failure. When such a failure is declared, the required in solving DES.
authenticated session is cancelled, the switch
"hangs up" and the unconnected state is re In considering each of these three classes of
entered. aurguments only the first seems to be clearly
verifiable, implying that a careful re-examination
Finally, the termination procedure is used to of DES will be needed in the future. In the
gracefully shutdown the authentication mechansim. second class; who currently possess such
Termination of an authenticated session is always computering power; is largly irrelavent to the
initiated by the packet switch in response to a switches threat environment. Lastly, the
disconnect command, software failure or idle existance of a trapdoor procedure could jepordize
terminal timeout. the security of this authentication procedure. No
clear indications of such a trapdoor have been
3.2 Cryptographic Considerations found in the literature, but if such an attack
should come to light DES would have to be
There are a number of design issues replaced.
surronding the choice of cryptography applied to
this authentication problem. In this section we 3.4 Form of DES Utilization
examine several of these issues including legal,
technical and operations and, identify why The cryptographic aspects of this protocol
specific choices were made. are based on parallel encipherment; by both the
switch and control operator: of non-secret
A legal requirement which steered the choice information under the control of a unique secret
to authentication cryptography rather than message session key. With the exception of the key all
encryption; which offeres alternative solution information is either broadcast or easily
techniques; is the plaintext requirement for calculated and hence an attacker could assemble a
message information. The plaintext requirement is sizable collection of plaintext-ciphertext pairs
a regulation which the Federal Communication for study. The goal of such a study is to deduce
Commission (FCC) has levied on different the key value by a close examination of the
communications services, generally prohibiting enciphering process. Therefore, algorithms
them from transmiting enciphered information. selection must be limited to those which can
Until quite recently this meant any type of resist a known plaintext attack.
cryptographic or "scrambling" technique.
3.5 Key Management
When the spectre of unauthroized use of
control links such as satellite command channels A simple key management scheme was developed
began to attract serious attention, the FCC for the switch to increase the period between
relaxed its strict interpertation to permit some rekeying (the cryptoperiod). The technique also
use of authentication cryptography. The general increases security by creating a unique key for
test is if the specific application enhances or each session thereby limiting the amount of
facilitates communications as opposed to masking message traffic under the same key. The scheme
its meaning. implemented for the switch employs a fixed master
key of 512 bits which is shared by both the switch
With the relaxed definition it has been and control operator.
possible to utilize an on-the-air control link.
Commonly, in the past it was necessary to utilize The switch generates a session key after the
either a dialed or leased telephone line for authentication establishment procedure is
control of a repeater to solve the operator sucessfully performed by computing a privatly held
authentication problem. The expense of function on the CN. The output is then used to
installation and maintance of telephone lines; select 56 bits for the current session key. Since
specifically to inaccessible places such as each session uses a different schedule of key bits
mountain tops; often contributed to the choice of from the master key, the rate at which an attacker
switch placement. could infer the next session key would be very
low.
3.3 Implementation Issues 4.0 Conclusion
The current system is based on private key This paper has decribed an authentication
ideas allowing us to employ DES, a commonly procedure to control a remotly sited packet radio
available commercial cipher algorithm. Three switching node. The chief problem to be solved
factors drove this choices economic was to provide a authentication technique which
considerations, cryptographic strength and operates in the face of occasional jamming,
commercial acceptability. spoofing and prevasive monitoring.
Economically, DES is available in various The protocol is designed to authenticate a
hardware formulations and hence, including it at a single direction of message flow --from the
low cost was possible. We chose a hardware control operator to the packet radio switch. Bi
formulation because in terms of storage, directional and full duplex extensions of the
computational power and delay a software protocol are possible; however, there are special
implementation would not be advantageous. A complexities, chiefly in the area of counter and
second reason was the large outlay in time and error management whicn must be solved.
expense for the software assurances necessary for
cryptographic processing. Finally, there is interest in extending the
design of the authentication protocol to address
Software assurance techniques fo new and wider problems within the packet radio
XJQ -t
’
cryptographic systems are concerned with prevenin network. Among these are extension to the full
information compromise due to software failure. duplex case, authentication of the switch-to-
5.76
switch control protocol and multiple operator to be enciphered should select a unique series of
situations in which there is a need for split instructions with each instruction given equal
authority. Public key technigues seem to offer chance of execution at all times.
many interesting approaches and will probably be
used in futher protocol versions. Both the selector function and the value to
be enciphered contribute to the specific order of
execution. The selector function output must
Appendix therefore have a flat probability distribution so
that all choices are equally likly over the range
An alternative One-Way Enciphering Function of values to be enciphered. Since this range is
composed of all values which can be held in the
register, all representable bit patterns must be
In the commercial setting in which the packet expected.
radio switch is to operate, DES was choosen and
implemented as a hardware accessary to the main A simple selector function could be heavily
switch microprocessor. To utilize the DES as a influenced by the bit patterns in the input. This
one-way function, the key was first combined with inturn would reflected in the order of instruction
the value to be enciphered and then the result is selection and execution. The selector function
used as both the message and the key. The output therefore must attempt to "whiten" the values
from the encryption operation is taken as the selected from the register and hopefully limit the
result of a one-way transformation. vulnerability from patterns in the input.
While DES was choosen for reasons of its A second area of concern is degeneration in
commercial acceptability, test versons of the the radomness of intermediate values. For example
switch employ a previously described one-way if the selector function operators on the results
function based on a "random program" (RP) of each instruction execution, it is quite
technique first described by Evans, Kantrowitz and possible for patterns to appear which tended to
Weiss of MIT [Evans,1974]. The goal of developing "converge" eitner by alternating or by containing
a new one way algorithm is one of research since less and less variety. In either case the
one of the one-way cipher described in the equiprobable instruction choice would be
literature would suffice for a DES alternative. compromised.
In as much as the RP one-way function is strictly
experimental it could not be offered in place of The chief disadvantage of the RP algorithm is
DES, yet in terms of efficency and compactness it the lack of in-depth understanding of its
seems superior at this point. cryptanalystic strengths and weaknesses.
Currently, it is undergoing detailed study and
A one-way function is relativly efficent to analysis at the end of which we hope to submit the
compute (encipher) but computationally infeasible results to peer scrutiny.
to invert. In most cases one-way functions are
based on a known hard problems choosen from References.
complexity or number theory such as the knapsack,
prime factorability or root extraction. ANSI 1985, "X9.9 Financial Institution Message
Authentication". American National
The random program (PR) algorithm is not Standards Institute, New York
based on one of the accepted hard problems but on
the execution of a series of machine language Bethancourt, T.E., 19 7 9. "Instruments of
instructions whose order depends on the specific Darkness", Holiday House, New York
contents of the algorithm argument. Abstractly,
the function consists of a register (R), which Borden,D,Fox,T. 1985,"Spoof Resistance of
contains the value to be enciphered; a set of HDLC,X.25 and Certain Commercial
machine language instructions (M), whose Transport Protocols", Private
operations alter the contents of the register and Communications
a selector function (S) which specifies the
machine language instruction to be executed next. Diffie, W and Hellman, M. 1976, "New Directions
in Cryptography". IEEE Trasactions
Roughly, the algorithm is executed by the on Information Theory IT-22,
selector function taking a selection of bits from 16(Nov).
the register and computes an index which
designates one of tne machine language Evans, Kantrowitz and Weiss, 1974, "A User
instructions in M. The designated instruction is Authentication Scheme Not Requiring
then executed, altering the contents of the Secrecy in the Computer", CACM,
register. This cycle is repeated some number of Jan 1974
times and yields an output value in R.
In order to invert this algorithm the analyst Frick, 0. 1945 "War Secrets in the Ether", Aegean
would have to know what order the instructions in Park Press, Laguana Hills, CA
M were executed. This in turn depends on the
contents of the original value to be enciphered Kahn,D. 1967 "The Code Breakers, The Story of
which is unavailable after the algorithm completes SecretWriting". Macmillian,New York
execution.
Konheim, A. G. 1981 "Cryptography, a Primer",
Three factors make the RP function John Wiley ana Sons, New York
attractive; first, the function does not rely on
extended precision arithmetic commonly seen in Meyer,C.and Matyas,S. 1982 "Cryptography". John
many of tne public key approaches. Second, the Wiley and Sons, New York
computation and storage requirements are
competitive if not better than conventional Needham,R.M. and Schroeder, M.D., 1978 "Using
approaches, an important element in the switch Encryption for Authentication in
design and lastly, the low complexity of the Large Computer Networks". Comm of
algorithm leads to simpler implementation. ACM 21, 12(Dec)
The **pure" RP algorithm described above has a Newland, P. 1984, "A Few Thoughts on User
number of weaknesses which must be addressed Verification Within A Party-Line
before an solid implementation could be offered. Network" Proc, of The Fourth ARRL
In the RP algorithm the cryptanalytic strength is Computer Networking Conference,
derived from the unpredictability of the order of American Radio Relay League,
instruction execution. Essentailly, each argument Newington, CT
5.77
PACKET SWITCH SOFTWARE DESIGN CONSIDERATIONS
Abstract
networking code in it, Amateur A can ask for a
Toward the end of 1985, a new device showed Network Layer connection from the switch. The
up on Amateur Packet Radio, the packet switch. switch, understanding that a PAD is requesting
Soon, the packet switch will be replacing connection, will automatically provide the initial
digipeaters around the country, giving more link and network connections, and proceed to
reliable (if slower) operation of the overall attempt to place the requested call to the
network. The first switches have been based on destination station.
TAPR TNC-2 hardware, and therefore are somewhat
limited. An accompanying paper describes what
types of hardware the author sees being used in If, however, the end-user is an Amateur using
tne future (both near and down the road) for the a TAPR TNC-1 with level 2 (link) only software,
switches. This paper will explain the author’s there must be some additional method of providing
view of how the switch software should be a network interface for the user. Typically, this
organized. will be through an additional program, which I
will call the network access PAD routine. This
This paper will not provide actual switch network access PAD routine will run as an
code, but rather indicate where progress is being application layer program inside the end-point
made, and where help is needed. Also, wherever switch, and will provide all the necessary network
possible, I cite Protocols and Standards I believe interface magic for the Link-only Amateur.
should be implemented.
Let me now describe how I think the switch
Types Of Packet Switches software might be organized.
Before we delve into the meat of the software Top-Down Design of Switch Software
inside the switch, we must decide what the
switch’s function(s) are. I see these functions One reason for this paper is to indicate how
falling into two catagories, with one having two we in AMRAD are working on the switch software.
sub-catagories; the transit switch, and the end Up to now, most packet systems have been designed
point switch.
by first putting together some hardware, then
The first type is called the transit switch writing low-level drivers for that hardware, then
because it is used to pass network connections writing higher level code to properly tweak the
through it, but not necessarily act as an end low level drivers, etc. While this building-block
point of a network connection, except for approach does indeed work, it can lead to problems
maintenance functions. The transit switch can be if some unanticipated problems occur. It also
thought of as a software ’’patch-panel” type of tends to be difficult for more than one person to
device. This means that packets coming in from work on a project using this approach. AMRAD has
one adjacent switch station will pass through the started working on the packet switch using more of
transit switch to another adjacent switch. The a top-down design approach. While what we are
length of time the ’’patch cord” is plugged in, doing may not be exactly top-down, it does follow
allowing the connection, depends on the type of that philosophy.
networking protocols being used. It can vary from
a very short period (tne single packet) in a We are studying the various aspects of the
dynamic-routing datagram network, to almost switch BEFORE writing a line of code. This
forever in a permanent virtual circuit case. includes how the various processes inside the
Normally, the patch is maintained for the length switch interoperate, and how to make the best use
of the end-to-end Network connection in virtual of the hardware supplied.
circuit networks. The transit switch may also
?erform a similar function as today's remote
ocation digipeaters, that of interconnecting As part of this study, we quickly came to the
local networks to form a larger network. conclusion that in order for the different
software ’’machines” of the switch to work together
Transit switches may have special hardware properly, some sort of operating system should be
needs, since they will most likely be placed at implemented. This operating system need not be as
remote locations far away from network users. complicated as a disk operating system, but should
Among these hardware needs will be low-power provide the necessary tools for the different
operation and redundancy of key parts for processes to intercommunicate. It should also
survivability. Additional software may be provide a common set of utilities for access to
required to take advantage of this hardware. shared switch resources, such as the memory or
buffer pool, and timer subroutines. I will pursue
The other type of packet switch is the end the operating system in more detail shortly.
point switch. While it may also perform the
transit switch duties mentioned above, it will
also have software that allows the end-users of We decided to follow the ISO Open Systems
connections to interface to it. This is where a Interconnection Reference Model (OSI-RM) when
typical Amateur station will put his packets ’’into splitting up the task of designing our switch.
tne pipe”, and also where the packets come "out of This gave us some rather clear divisions of
the pipe” at the other end. In our patch panel responsibility, both for dividing our labor pool
scenario mentioned above, the end-point switch is for the design work, and for what software is
analagous to the last patch panel that has the responsible for accomplishing which sub-task of
equipment connected to it. In order to perserve the overall switch.
the capability of using older packet systems that
may be capable of only level 2 connections, there I feel that most sub-tasks should have two
are potentially two different types of network distinct parts; the operational code, and a
interfaces in the end-point packet switch. management section that errors are reported to and
new requests of that sub-task are coordinated
If the end-user is an Amateur that has a through. This will lead to more orderly code at
newer packet board (called a PAD) with true each sub-task, and also provide a better form of
sub-task intercommunications.
5.78
Some of the sub-tasks of a typical Amateur The packet switch has several processes that
packet switch are as follows: rely on the use of timers for error detection and
recovery. In more advanced systems, such as the
Operating System (including resource packet switch, software timing loops are not
management). considered $>ood form, since they occupy too much
Maintenance Application of switch. processor time, essentially putting to sleep all
Message Authentication for maintenance. other processes just to keep time. The suggested
Database management (User and Routing). alternative is to use hardware timers with
Network Access PAD Application software support for those timers. Since timers
(if available). are requested by various processes, it makes sense
Session Layer Protocol for internal to provide timer access as an additional service
switch applications. by the operating system.
Transport Layer Protocol Machine.
so
Network Layer Gateway Machine Noting that the use of an operating system
(if needed;. that provided the above support would be
Network Layer Addressing and beneficial both to those of us writing the switch
m
Routing routines. code now and to those writing additional code for
Network Layer Protocol Machine. the switch or modifying our switch code, we
Link Layer Protocol Machine. started looking at available operating systems.
Physical Layer Software Support. Our prerequisites included that the operating
system be either free or inexpensive, preferrably
written in a higher level language for software
Each of these sub-tasks will now be discussed portability, and be efficient at its appointed
individually. jobs.
Our present packet switch hardware is based
on Intel microprocessors (the 8080 and 8088
Operating System families), at first it looked like iRMX from Intel
might be a good start. It had all the necessary
A typical packet switch will need to perform support capability mentioned above, along with a
several different processes, seemingly at once. lot more. Upon careful analysis however, it began
One method of accomplishing this would be to use a to look like iRMX would take too long to perform
separate microprocessor for each sub-task. While most of the requested tasks.
this might make the writing of software easier, it
is generally considered a waste of processing About the same time we decided iRMX wouldn't
power, costs much more, and takes more room ana fill the bill, Mike O'Dell started talking up a
power. Until this method of dividing the overall different type of operating system, called the
switch task becomes necessary (due to single HUB. It was designed to be more efficient in
processor overload), another method can be used message based applications, especially in packet
more effectively. Someday, as RF channel speeds type devices. Tne more he talked, the better it
go up and as more RF channels are used per switch, sounded. HUB does not have a lot of fancy stuff,
the use of multi-processors will become necessary. such as processes interrupting other processes,
but for our application we doivt need that fancy
One microprocessor should be able to perform stuff, which nine times out of ten gets in the way
all the necessary functions of today's packet and takes valuable processing time. Mike was so
switch if some method of dividing up it's convinced that the HUB was the right way to go
processing time is devised. This division of time that he wrote the code for us in C. I have been
can be done in many ways. One of the most common able to compile his C code on an IBM-PC and on a
methods is to have the hardware provide a timed Xerox 820. We are going to use the HUB operating
interrupt, which the processor uses to indicate system as the basis for our packet switch, as soon
it's time to switch tasks. This way, each task is as we get a more thorough understanding of it.
allowed a certain time slice to perform as much of Mike has written an introductory paper on the HUB
its duties as possible. Another method of which is elsewhere in these proceedings. I feel
dividing the processor time is to let each task this HUB will become a very important part of our
run to completion before switching to another packet switches, since it provides a stable,
task. There are also various combinations of working interface for the rest of the tasks to
these two task switching methods. The method of use.
switching, along with the necessary support
required to make this task switching transparent Eventually, the operating system should
to the tasks is one responsibility of an operating probably be written in assembler, since it will be
system. the most commonly used software in the switch.
Almost all processes in the packet switch Maintenance Application Task in the Switch
will need to communicate with at least two other
processes, both to pass information and to request Now that we have an operating system running
services from the other process. The traditional in the switch, there must be some tasks that the
method to do this is to call a subroutine (or switch needs to perform. One task might be the
function), passing a pointer to the information to maintenance of the switch itself. This task could
be tranferred, or the service request. Each be divided into two sub-tasks; minor "tweaking" of
process may be written at a different time, or by variables for more efficient switch operation, and
a different person. This sometimes leads to recovery after some type of malfunction. While
different interprocess interfaces, making the the various protocols might be capable of doing
overall system design more complicated. A minor tweaking of their own variables, both of
standard, predefined set of routines to provide these sub-tasks should be available to an Amateur
information passing and service requests would aid remote from the switch. This means an Amateur
in the designing of the switch. This is another could establish a connection to the switch,
service that is often provided by an operating indicate the purpose is to perform remote
system. maintenance of the switch, pass through some
authorization door, and then perform the
Still another service that would be maintenance of the switch, as long as the switch
frequently requested would be a common set of is operating.
subroutines to provide memory and buffer
management. The packet switch is basically a Among the maintenance functions that should
message transfer machine, with the messages being be available are:
the packets. These messages are usually
maintained inside the switch in buffers. The Take the switch completely off the air.
requesting for, and the freeing of buffers, along Re-boot the switch from mass-storage.
with the passing of buffers and accessing of data Upload new switch code or portion of
n
within the buffers, can easily be standardized switch code over the packet channel.
into a common set of subroutines. This set of List operating parameters of the tasks.
subroutines lumped together is called buffer List status of connections to switch.
management. Buffers are made from computer List stations and switches heard lately.
memory, and this memory is usually controlled by Gain access to User and Routing
another set of subroutines, called memory databases for listing or updating.
management. Since buffer and memory management Modify operating parameters of switch.
routines are services used by almost all Monitor and report switch operation.
processes, they are normally considered part of Dump error reports since last
the operating system. maintenance connection.
5.79
If a switch starts malfunctioning, there The Message Authentication process interfaces
should be a way to gain access to it, assuming it between the Maintenance Application process, and
has not totally failed. Each Physical channel the Session Layer Protocol machine, or the
connected to the switch should be allowed to have Transport Layer Protocol machine if there is no
a connection established through it to gain access Session Layer.
to the Maintenance Application program. This way,
if one Physical channel is tied up or broken, it Database Management
could be turned off without removing the whole
switch from the network. If however, the switch Packet switches will need to know where to
has some major flaw that prevents proper long-term route the packets they receive. This routing will
operation it may be better to totally disable the be based on information the switch maintains on
wnole switch until on-site repairs can be how the network is organized. Since this
performed. information should be quickly accessable, an
orderly method of storing it should be used.
There also needs to be a method of either Also, routing information will change
uploading new switch code, or updating a database ?eriodically, due to switches going up and down,
from a remote location. The best way to do this n order to keep the routing information accurate,
is to store the uploaded information on a mass a small database manager should be used.
storage device, then re-boot the switch after the
upload has been successfully completed. Modifying Another function a database manager could
portions of the switch code "on-the-fly" could provide for end-point switches is to keep a list
prove disasterous, and should be avoided. of Amateur stations it normally services. This
way, when a request for one of its users comes in,
Another maintenance function would be to it will recognize that it should respond, or if
monitor switch operation. This can be done in the user has indicated that all calls for it
real-time (establish a maintenance connection, should be forwarded to another switch, the switch
then let the Maintenance Application program can pass the new destination end-point switch
periodically dump status information; or by address back to the source end-point switch.
accumulating the status information in variables
or a database for later retrieval. This database manager does not need to be as
sophisticated as a commercial program. A
The maintenance process described above relatively small database program can support
assumes there is not a separate Service Processor these two databases, along with any other
connected to the switch, or the Service Processor databases that might be used by the switch (such
is not available for some reason. If there is a as maintenance records). The database program
Service Processor available, most maintenance could be written in a higher level language, such
functions will probably be performed through it, as C with no ill effects.
in addition to others tnat the actual switch could
not perform and still operate normally.
Network Access PAD Application
Remote maintenance of switches will be a As mentioned earlier, end-point switches will
necessary function that will be improved upon as a need to provide two different network access
history of switch operation is documented. There methods to the Amateur. If the Amateur has
is no way we can predetermine all the maintenance Network Layer capability. it can request
requirements before some actual operating time is connections directly through the switch. If the
logged. This fine-tuning of switch maintenance Amateur only has Link Layer connection capability
will be especially important for remotely placed (such as most present TNC boards have), the switch
switches, where access may be difficult or will have to perform some additional functions for
impossible for long periods of time. the Amateur.
Since the maintenance application does not One method of providing this service would be
have any major speed constraints, it could be whenever a Level 2 only TNC requests connection to
written in a higher level language such as C for the switch (note the connection is TO the switch,
portability. not thru it as a digipeater is presently used),
the switch would accept the Link Layer connection.
The Maintenance Application process will This Link only connection indicates that the user
receive its data from one of two sources; a local cannot support network protocols, and the switch
console if the maintenance is being dons on-site, then places a request to the Network Access PAD
or from the Message Authentication process if the code for assistance. The Network Access PAD
maintenance requests are coming over a packet routine might then send the user a menu of
channel. The Maintenance Application process functions that the net access PAD code can
should be able request status of each switch provide, such as:
process, and control certain aspects of each
switch process. The access to each process will
<n +> Co NJ H-*
530
Amateur, using the Link Layer connection to Amateur community adopt the use of the CCITT X.224
provide data integrity between itself and the Transport Protocol network-wide, both for virtual
first Amateur. circuit networks (AX.25 types) and datagram
networks (the TCP/IP crowd). This Transport Layer
One point here is that a lot of additional actually defines five different classes of
work will be done inside the switch to provide Transport Layer Protocols, with negotiation of
this service to Link-only Amateurs. If two Link- classes allowed at the Transport Layer connection
only Amateurs wish to communicate through a establishment. The various classes provide
switch, it may be better if they connect directly different forms of end-point error detection and
to each other, using the packet switch in Level 2 correction. Interested readers should refer to
digipeater mode. Digipeating is generally not a the 1985 ARRL Computer Networking Conference
good idea once true networking arrives, but in proceedings.
some cases it may be the most efficient method of
communicating. A link using only one digipeater The important part of the X.224 Transport
should be stable enough to provide reliable Layer Protocol is that with the various classes
communications, and the loss of efficiency due to defined, a switch can request only the amount of
digipeating may be made up by the reduced amount overhead necessary, without having to live with a
of overhead the Network Layer would otherwise add. lot of excess baggage. The datagram-based network
will need to use the Class 4 protocol, which has
One type of Network Access PAD interface will all the bells and whistles. If a Transport Layer
be based on the CCITT X.28/X.29/X.3 set of Protocol machine is deemed necessary in a virtual
standards, commonly referred to as the triple-X circuit network, Class 1 should be sufficient,
protocols. X.28 defines the user-to-network PAD especially if the checksum option is implemented.
interface, X.29 defines the network-to-PAD
interface, and X.3 defines the variables used in The X.224 Class 1 machine does very little,
the PAD, along with some common settings of these as far as Transport Protocols go. It starts by
variables. establishing an end-point logical connection
between the two end-pont devices (normally the two
Dave Borden has written a paper on the User end-point switches). It then relies on the use of
interface which can be found elsewhere in these state variables and timers to detect and recover
proceedings. The user interface is another task from errors, just like Link and virtual circuit
that can be written in a higher level language Network Layer protocols. The difference is these
such as C. state variables are maintained end-to-end ONLY,
they are not affected by individual Link or
Session Layer Protocol for Internal Switch Network Layer connections. If an intermediate
Operations switch in a network connection fails, the
Transport Layer Protocol machine will eventually
The Session Layer is used to multiplex more detect it, due to timer failures. The Transport
than one data stream to the upper layers over a Layer Protocol machine will then attempt to re
single transport/network connection. This may be establish the network connection from tne source
necessary in the switch for maintenance and for end-point to the destination end-point, without
Link Layer only connections. An example of the any User Amateur intervention, unless requested.
latter would be if a Link Only TNC requests more Lost and duplicates packets will be detected by
than one network connection, or if the TNC their wrong sequence numbers. This corrects for
requests both a network connection and some other all but one problem, data being mangled inside a
Network Access PAD function simultaneously. switch.
I am leaning toward the use of a sub-set of The CCITT X.224 Transport Protocol has an
the CCITT X.225 Session Layer protocol for option to append a checksum to all data packets.
starters. This protocol is more than adequate for Using this option, data integrity can be assured.
use by the packet switch. The use of a higher Since the Transport machine is end-to-end, the
level language for the Session Layer Protocol in checksum is also end-to-end. This means the
the switch would not pose any major problems. checksum needs to be calculated only at the two
ends, not at every intermediate switch.
Transport Layer Protocol Machine
The Amateurs at each end of the network
The Transport Layer is responsible for connection may not have the X.224 Transport
absolute data integrity across the network Protocol in their PADs for a while, so the switch
connections. While the Network Layer makes the will have to provide the Transport Protocol
individual connections between switches, the machine. This is the way most commercial virtual
Transport Layer provides a logical connection circuit networks operate. The end user accesses
between the two end-points (source and the network via an X.25 connection. The network
destination). Different Network Layer Protocols then attempts to make the requested network
Elace different requirements on the Transport connection using a Transport Layer protocol for
ayer Protocol. end-to-end data integrity, and X.75 or a similar
Network Layer Protocol. X.75 is basically the
A network made up of datagram type switches same as X.25 except it operates in a "balanced"
will need a more complicated Transport Layer mode, while X.25 is more of a master/slave
Protocol machine, partially because datagram protocol. The X.25 user-to-end-point-switch
switches do not maintain a “connection” between connection maintains proper data flow from the
each other, and therefore do not have ANY error user to the network, the X.75 connections maintain
recovery (that’s recovery, not detection) proper data flow between the switches involved in
procedures operating between themselves. Also, the network connection, and the Transport Layer
the only real recourse a datagram switch has when connection makes sure that the data traversed the
detecting an error is to tnrow the offending whole network connection properly.
packet in the garbage queue and hope it is
retransmitted. Keep in mind that a network of X.25/X.75
Network Layer connections may be reliable enough
A network based on virtual-circuit type for most communications, allowing the Transport
switches will need little, if any, Transport Layer Layer machine to be developed and refined while
Protocol machine. Since individual logical the Network Layer is "on-the-air". This will
connections are maintained between switches allow a study of exactly how much of a Transport
involved in a network connection, these individual Layer Protocol needs to be used to back-up the
logical connections will detect and correct almost Network Layer connections.
all errors incurred along the network connection.
The only two error conditions that the individual Another requirement that may be imposed on
logical connections between switches won’t ALWAYS the Transport Layer machine would be that of
correct for properly is a total transit switch "gatewaying" between different Transport Layer
failure somewhere along the network connection, Protocols. The best way to take care of this
and data corruption inside a switch, most likely potential problem would be to negotiate to the
due to partial memory failures. proper class of Transport Protocol to be used from
the outset of a network connection. If a
For the above stated reasons, end-point Transport Protocol is implemented that does not
switches may want to employ some form of a allow this negotiation (such as TCP), there may
Transport Layer Protocol machine on connections need to be a Transport Layer gateway at the
where absolute data integrity is necessary. At interface switch between the two incompatible
the 1985 ARRL Computer Network, I proposed the Transport Protocols. Technically, this violates
5.81
the ISO Reference Model, since the Transport Layer destination station is physically located. It is
Protocol each end-point sees is not the same and beyond this paper to indicate which is better,
therefore the information at each end-point may however both are addressed in additional papers
not be valid across the entire network connection. presented elsewhere in these proceedings.
Still, if the Transport Layer gateway is written
carefully this can be a viable alternative. The point I want to emphasize is that one
reason why AX.25 Level 2 has been so successful is
The Transport Layer Protocol maching should that the addressing issue was resolved without
be written in a higher level language such as C creating a bureaucracy to maintain records of who
since it may need to be ported to different types was assigned what address. I feel this is equally
of microprocessors. important at the Network Layer.
Network Layer Gateway machine The routing issue is another area of great
debate. Not only is the actual route
Just as there may be a need for a Transport determination an issue, but how the routing
Layer gateway, there may also be a need for a information is stored is also an issue.
Network Layer gateway. This process would be able
to transform packets from one Network Layer Eric Scace, K3NA has been working on a
protocol to that of a different type, making each routing algorithm that is se1f-generating.
side of the gateway appear to be working with a Whenever a packet switch comes on the air, it
device of the same type protocol. This Network notifies other packet switches it hears that it is
Layer gateway will most likely be easier to write now available. All packet switches it notifies
than tne Transport Layer gateway, since the change then add it to their routing database, modifying
would not necessarily have end-to-end any routes that can now be run through it. All
repercussions. This task is made even easier if the switches involved then pass the new routes
the Transport Protocol has been negotiated to an they have come up with to each other. The last
agreed upon class, eliminating the need for step is to erase any duplicate routes in the
Transport gateways. database. This process can take a while, and
since the whole routes are kept in the database,
>
o cr
The Network Layer gateway machine could it can conceivably grow rather large. A method or
n
written in a higher level language f
m
shrinking this database size is to tokenize the
portability. various paths, and then expand the tokens whenever
a route is looked up. The problem with most
Network r Address and Issues methods of shrinking the Routing database is that
the routes must be expanded back whenever they are
There has been a lot of lively discussion accessed, either for look-up or for database
over the last year regarding the Network Layer modification. This can add time to the look-up,
Protocols of choice. In addition to that basic which may be a worse situation than the large
discussion there are two other related subjects table size.
that invoke an equally lively debate. Those two
subjects are what network addressing scheme is to Routing is one subject that will need more
be used, and how routing information is to be work. For now, we may be better off letting the
stored and how routes are to be determined. User specify the route (explicit routing). As the
Amateur Network grows, a better feel for the
When I first suggested the use of the Amateur automatic routing algorithms will emerge.
callsigns as the addresses for the Link Layer of
AX.25, it seemed like a natural. The best part of Routing algorithms could be written in a
using the callsign is that they have been pre higher level language, especially ones to be used
assigned by the FCC, totally eliminating the need in virtual circuit switches, since they are
for some organization to assign addresses, which accessed only once (during network connection
was the case for the older SDLC protocols used. I setup).
believe this is still the case, even for the
upper-layer protocols. However, the Amateur
callsign alone may not present enough information Network Layer Protocol Machine
to ’’help” a network connection along.
Since I am one of the prime pushers of
Several additional addressing schemes have virtual circuits, it should come as no surprise
been devised by the Amateur community over the that AX.25 Level Three is my choice for the
last year. Fortunately, most of these do not Network Layer Protocol. I feel that since virtual
require an organization or groups of organizations circuits tend to catch and correct errors when
to assign network addresses. Some of the more they occur, less overall network facilities are
common addressing schemes are: wasted correcting these errors.
Callsign Only. The Network Layer Protocol machine should be
Callsign Plus Area Code/Phone Number. capable of accepting multiple network connections,
Callsign Plus Airport Designators. from a variety of other switches. Network
Callsign Plus Zip-Codes (Zip Plus 4?). connections that end at the switch should be
Callsign Plus Latitude and Longitude. passed on to the proper higher layer protocol
Callsign Plus Gridsquares. machine. First, if a Transport Layer Protocol
Assigned Numbers by a heiarchical machine is involved, the data will be passed to
group of organizations. it. If the switch itself is the destination end-
Eoint, the data will then be passed to the Session
Some of the people in the commercial network ayer Protocol machine for further processing. If
world warn against using addressing schemes that the destination station is a Link Layer only TNC,
include or imply routing information. I feel that the data must go to the Network Access PAD program
while we are building the Amateur Packet Network, for Layer 3 processing before being transferred to
and until our switches are sophisticated enough to the Link Only TNC. If the destination station has
contain all the routing information necessary to an AX.25 Network Layer connection to the switch,
route packets without any other help, we may need the data will be passed directly to the
some routing information included in the network destination station PAD.
addresses. This is why I suggested the use of
callsigns plus gridsquares in my AX.25 Level Three The Network Layer Protocol machine could be
proposal in the Third ARRL Computer Networking written in a higher level language. The language
Proceedings. The suggested method there was to of choice for tne switch seems to be C. I see no
put the Amateur callsigns in the normal AX.25 time constraints of the Protocol requiring that
address fields, and add tne gridsquare information the Network machine be written in assembler. The
as optional facilities. This way, the callsigns Link Layer affords enough of a time buffer.
will always be there, but the additional
gridsquare information can be dropped when it is A Network Layer management routine should be
no longer needed. employed as an interface between the network
machine and the rest of the packet switch. This
Meanwhile, the first actual implementation of management routine will monitor the Network Layer
AX.25 Level Three has recently come out, and it Protocol machine operation, and make minor
supports callsigns plus area codes and phone adjustments to certain variables. Recoverable
numbers. Both of these systems do implicitly errors may also be reported to the Network Layer
carry routing information, since they both carry a Protocol machine management in order to keep a
recognizable method of identifying where the record of malfunctions.
5.82
Link Layer Protocol Machine While the Physical Layer support software
will need to be tailored to the type of HDLC
The Link Layer Protocol machine uses AX.25 channel used, it should be able to run full-duplex
Level 2 as the Link protocol, both between the for debugging, even for half-duplex RF channels.
switch and the individual Amateurs, and between
the switches, running under the Network Layer The Physical Layer management should be able
connections. Since there will be many devices to control certain variables such as timeouts and
trying to connect to the switch, the Link Layer channel speeds. In addition, access to the same
Protocol machine must be capable of multiple Link variables should be available through the
connections, possibly coming from more than one Maintenance Application.
Physical channel.
Conclusions
The Link Layer Protocol machine will send its
received data (after it processes it) either to AMRAD will be working on the next generation
the Network Layer Protocol machine, or to the of packet switch software based largely on the
Network Access PAD if the source of the data is a ideas presented in this paper. We plan to have
Link Layer only TNC. the switch code running first on a PC compatible
computer, with smaller versions of the code
Even though packet activity operates over running on the Xerox 820 and TAPR NNC systems.
half-duplex channels right now, the Link Layer We feel that designing the overall switch software
Protocol machine should be able to operate full- first, then dividing the project up fo actual
duplex. This will allow easier testing of the coding may take slightly longer to start, but the
code now, and the addition of full-duplex channels resulting system will more than make up for the
running at faster speeds, which may be available initial lag. It should work more efficiently, and
in the not-too-distant future. should be easier to understand and interface to.
The Link Layer Protocol machine should have a I am looking forward to reporting next year
separate management section that is capable of on the status of this ongoing project.
monitoring Link Protocol machine operation. This
management section should be able to report the
status of the Link machine to upper layers, fill References
requests from the upper layers for additional
Link connections, and control certain Link Fox, T., "User and Switch Packet Digital
variables to optimize Link Layer operation. In Hardware,” Fifth ARRL Amateur Radio
addition, these same variables should be Computer Networking Conference,
adjustable from the Maintenance Application
routines.
O’Dell, M., "An Introduction to the HUB
Even though the packet switch will Operating System”, Fifth ARRL
essentially replace the digipeaters, there may be Amateur Radio Computer Networking
a need to keep the digipeater code in the switch. Uonference, ARRL, 1986.
One case is mentioned above, that of operation
between two Link-only TNC devices. The cost is Newland, P., "A Few Thoughts on User Verification
nearly nothing (since digipeating is a very simple Within a Party-Line Network”, Fourth
function) to keep the function active. ARRL Amateur Radio C ompu ter
Networking "Conference, ARRL, "1^85"
The Link Layer Protocol machine could be
written in a higher level language, such as C, or Feinstein, H.,”Authentication of the Packet Radio
it can be written in assembler. I personally feel Switch Control Link", Fifth ARRL
that since the Link Layer is speea dependent, it Amateur Radio Computer Networking
should eventually be written in assembler. This Conference, ARRL^ 1986
way processing time in the Link Protocol machine
will not seriously affect the Link Layer Borden, D., "The Network User Interface”, Fifth
operation, particularly in the areas of time-outs. ARRL Am a t e u r Rad_io C o m p u ter
This will become especially true as the speed of Networking "Conference, "ARRL, ~Tv8'6'
the Physical channels increases.
Fox, "CCITT X.224 Transport Layer
Protocol Basic Description”, Fourth
Physical Layer Support Software ARRL Amateur kad^i^o Com pu t££
Networking Conference, ARRL, "TvBf
The Physical Layer support software is the
packet switches interface to the "real world". It Fox, "AX.25 Network Sublayer Protocol
is what supports the sending and receiving of Description”, Third ARRL Amateur
packets over the Physical channels. Since this Radio Co m p u t e r N e t wo r k ing
software directly supports the hardware of a Conference, ARRL, "T984
Physical HDLC channel, I feel it should be written
in assembler for speed. The software has to be Fox, T., "Annex A Through F For AX.25 Level 3
written specifically for the hardware device Protocol", Third ARRL Amateur Radio
anyway, so the assembler requirement is not out of Computer Networking Conference,
line. The end result is that whole frames should ARRL, ^984------------------ ---------------------
be passed between the Physical Layer support
software and the Link Layer Protocol machine. Fox, "Amateur Routing and Addressing",
These frames should also indicate which channel Fifth ARRL Amateur Radio Computer
they were received on. Networking Conference, ARRL^ 1986
5.83
USER AND SWITCH PACKET DIGITAL HARDWARE
ABSTRACT ports (one for the packet channel, the other for
the User Device interface). The advantage of this
There has been a lot of activity in the area type of device is that it will run with almost any
of digital hardware for Amateur packet radio in terminal or computer, and will not tie up the
the last year. I see this trend continuing over processing power of a host computer it is attached
the next few years. This paper describes some of to.
the present packet digital hardware, and gives
some of my thoughts on what we will be using in The computer adaptor is a much simpler
the future, both for the ’'TNC” and the network device, at least in hardware. It's kina of
devices. surprising that since there's less hardware
involved, more of these interfaces haven't come
Terminal-Node-Controllers and Packet Assembler/ along. The adaptor hardware is usually nothing
Disassemblers more than some sort of serial chip capable of
supporting HDLC and either a modem or RS-232
Let me first clarify what I mean by a drivers. The problem with the computer adaptor is
Terminal-Node-Controller (hereafter called a TNC), that the support software for Level 2 must be
and a Packet Assembler/Disassembler (called a written for. and must run on the host processor.
PAD). I have altered the meaning of the TNC from This will take away processing power from the host
its "traditional” meaning of any device an Amateur processor. Also, if the packet operation is not
uses to gain access to the packet network. I the end function but rather a communications
prefer to use the term TNC from now on to describe medium for another program (such as a bulletin
any device that is used to provide a level 2 only board), a major conflict can arise between the
connection for some non-packet device, such as computer adaptor software and the other program.
Figure 1 illustrates. Now, I hear some of you
saying "WRONG, WRONG, WRONG!" I know this is not Today* s Dedicated TNC Devices
the "traditinal" Amateur meaning for this device,
but with true networking devices on the way, I It is interesting to note that a couple
feel we need to alter the meaning of TNC to level of years ago, when I designed the AMRAD PAD (which
2 only devices. was still-born) I kept saying that the number one
problem with the TNCs then available was the lack
! ! of memory, both RAM and EPROM. Boy, did I get
arguments about that. Well, guess what? Todays
Level 2 —> ! TNC ! ---> User generation of TNC boards have more memory,
Connections ! ! Device sometimes much more.
Figure 1. TNC Type Device One example of this is the new TNC+
available from Vancouver. It has eight byte-wide
The reason I want to freeze the TNC sockets for memory, allowing up to 64k of memory
description to level 2 only devices is that the to be used, in almost any mixture of RAM and EPROM
term "Packet Assembler/Disassembler" or PAD is chips. In contrast, the original Vancouver TNC
normally used to describe a device that makes and (the one that started it all) had only 4k each of
tears apart "packets", or Level 3 pieces of RAM and EPROM.
information for some non-packet device. I suggest
that we adopt this PAD description for any device Some of the dedicated TNCs available
that interfaces a User Device to the Amateur available at the time this is being written are
Packet Network via Level 3, such as Figure 2 listed below. Note that this may not be a
indicates. complete list, but it will give the reader a good
indication of the types available these days.
I !
Vancouver Amateur Digital Communications
Level 3---- > ! PAD !----- > User Group (VADCG) has a new version of the original
Interface ! I Device TNC. The TNC+ is based on the same 8085 CPU and
8273 HDLC chip design as the original. The major
Figure 2. PAD Type Device improvements are the use of eight byte-wide memory
sockets for up to 64k of combined EPROM/RAM, and
This separation of definitions of the terms the use of a single power supply input. It is
TNC and PAD will pay off in the near future when available from Lockhart Technology at the
we have both Level 2 and Level 3 devices trying to following address:
hook to the Amateur network. Since most TNCs are
Level 2 only devices at the moment anyway, this Lockhart Technology
should be a fairly smooth change. It should be 9531 Odlin Road
noted that a piece of hardware could actually be Richmond, B.C. Canada V6X 1E1
one or the other of these. The TAPR TNC2 is a
good example of this. Using the standard EPROMs Bill Ashby and Son sells a version of
supplied by TAPR, the TNC2 functions as a TNC. If the original Vancouver TNC which uses a different
those EPROMs are replaced by ones with AX.25 Level kind of memory devices but is otherwise compatible
3 code in them, the same TNC2 would then become a with the original Vancouver TNC from:
PAD for the user.
Bill Ashby and Son
TNC’s and PAD’s fall into two basic Box 332
categories; the dedicated box, and the computer Pluckemin, NJ 07978
adaptor. Until about a year ago, only the
dedicated box type was available for general use. Heathkit still sells their version
IM
o
The dedicated box TNC is a separate microcomputer the TAPR TNC-1, called the HD-4040. This i s a
whose responsibility is to provide a standard 6809/WD1933 based TNC. For more informati on,
terminal or computer (usually via a RS-232 serial write to:
port) access to the Amateur Packet Network. In
order to do this, the dedicated box has its own Heath Electronics
CPU, RAM, program in EPROM, and a couple of serial Benton Harbor, MI 49022
5.84
Another TNC based loosely on the TAPR first of these was the state machine add-on to the
TNC-1 design is the Kantronics Communicator. It Xerox 820 designed by Jon Bloom, et all. Then
is a 6803 based TNC. which uses a software UART came the FADCA/TAPR Frame Assembler/Disassembler
instead of the WD1933 that is in the TNC-1. (FAD), also for the Xerox 820. Phil Karn, KA9Q
Apparently, Kantronics has just introduced a new has written AX.25 Level 2 code in C for the Xerox
Communicator, the KPC-2. At this time, I haven’t 820. The combination of one of these two hardware
seen one of these yet, so I can’t tell how mods and Phil’s software makes a good alternative
different it is. For more information, contact to a dedicated TNC.
Kantronics at:
Kantronics The first commercial packet adaptor that
1202 E. 23rd Street I am aware of is the AEA Pakratt PK-64. This
Lawrence, KS 66046 device plugs into the expansion socket of a
Commodore 64, and supports not only packet
Another TNC that uses a software HDLC operation, but also RTTY, ASCII, and AMTOR. Once
UART is the GLB PK1-L. It is Z80 based, and the again, it provides a HDLC capable serial port
low-power version draws only 25ma at 12VDC. (Zilog 8530 SCC) and modem for hardware, and
Contact GLB at: canned software in EPROMs. Since the Pakratt is
used only on the C-64, it can have machine
GLB Electronics specific code in it, such as a nice menu-driven
151 Commerce Pkw user interface.
NX
Buffalo, NY 142
Another packet adaptor recently
I should mention that TAPR is no longer announced, is one that is designed for the IBM PC
selling the TNC-2 directly. They have licensed and clones. It was developed in Canada, and is
the product to several companies to produce. This based on the Intel 8273 HDLC controller chip, and
TNC uses a Z80 CPU, an SIO for both serial ports, the Exar chip set modem. At this time, I don’t
a 32 kilobyte EPROM, 8k of RAM, and the standard have the address of where to order this device.
TAPR design Exar chip modem.
I have also come up with a design for a
One of the companies selling the TNC-2 packet adaptor for the IBM PC. It uses an 8530
clone is GLB. It is called the TNC-2A. SCC for the HDLC channel(s). It also has room for
two AMD 7910 world-modem chips, and RS-232 drivers
Another company that is producing the for both channels. It is called the PC-PAD-1, and
TAPR Clone is the MFJ Enterprises MFJ-1270. will be available from TAPR shortly.
Contact:
These adaptor devices can make the entry
MFJ Enterprises, Inc. to packet radio much cheaper if one is available
Box 494 for a computer you already own. As mentioned
Mississippi State, MS 39762 earlier, the problem with these devices is that
the host computer will probably be so busy running
Yet another TNC-2 clone is the PK-80, the packet software necessary, that it won’t be
from AEA. AEA was one of the companies that sold able to run other programs. While this is fine
a version of the original TAPR TNC-1. so they have for an Amateur wishing to communicate over packet
been into packet radio for a while. For more radio, it is not so good if the host computer must
info, contact: also run some other program, such as a bulletin
board, or possibly some emergency database
Advanced Electronics Applications program.
PO Box C-2160
Lynnwood, WA 98036 Packet Switch Hardware Designs
Another TNC-2 clone is the TNC-200 from It is likely that before long true packet
Pac-Comm. It is available in various forms, from switches will be replacing our present
bare boards to assembled units. Write to: digipeaters. These packet switches will be more
sophisticated devices, requiring more memory,
Pac-Comm Packet Radio Systems, Inc larger program storage, and larger data storage,
4040 W. Kennedy Blvd and more RF channels and control circuitry. For
Tampa, FL 3j609 more information on what I see is needed in
software, see a companion paper titled "Packet
One company, Packeterm, sells an Switch Software Design Considerations" elsewhere
integrated packet terminal, called the IPT. This in these proceedings.
is a whole computer terminal with a packet board
included. For more info, write to: Packet Switch Hardware Requirements
Packeterm In order to properly design any
PO Box 835 complicated device, one should first look at what
Amherst, NH 03031 is ideally expected from that device. If all the
functions are not necessary immediately, a
More and more of these dedicated TNC graduated design may be in order. This is what I
devices should become available as packet radio think we need to do with the design of the packet
continues to grow. One of the ideas I have is to switch.
design a dedicated TNC using a single chip
microcontroller. Now that AX.25 Level 2 Version 2 Some of the requirements for the
is becoming fairly stable, I think it is time to ultimate packet switch are as follows:
have the protocol available on silicon. This way,
anyone who wants to run the protocol can obtain Lots and lots of RAM memory for data.
one of these single-chip controllers with the code
in it, and be confident that it will be compatible Multiple Channel Operation (probably at least
with others (once the initial bugs are worked four channels, each potentially full-duplex).
out). This same device could be used stand-alone
as a TNC, or as a front-end packet processor for a Mass storage device(s) for routing and
larger device such as a packet switch. I will be User directory storage, plus program loading.
working more on this in the near future, probably
based on the Intel line of microcontrollers, such Fast main processor capable of accessing
as the 80C152. large amount of memory.
The 80C152 is similar to the popular Intel Program storage either in EPROM or mass
8051 type microcontroller chip. It has a CPU, 8k storage.
of either EPROM or mask-programmable ROM, 256
bytes of RAM, two timers, async serial channel, All input and output should be under DMA
and an HDLC serial channel supported by two DMA control to reduce main processor load.
channels. This chip should allow the whole TNC to
be done with about six chips, including modem. Service processor and control system for
diagnostics and control of the switch.
Packet Adaptors Available
Time-of-day clock, and various timed
The packet adaptor devices are interrupts, as necessary.
relatively new to the packet scene. Probably the ------------- continued next page - --------------
5.85
Local console interface for local access to (CPU) should be used. Since newer, faster CPUs
switch. are constantly being developed (whicn are usually
very expensive at first), we may not be able to
Low power and/or battery back-up operation. afford the ”best-of-the-line”. An important
factor when choosing a CPU is that the development
Lots and lots of RAM tools must be readily available for designing both
hardware and software around the chosen CPU. Some
The amount of RAM depends on how many of these tools include simple hardware interfacing
stations are going to be using tne switch, how the to standard components, and Assembler and C
switch software is written, and to some degree compilers for software, at a minimum. The best
what protocols are to be used. A full level 2 CPU in the world isn’t much good if one must write
AX.25 frame uses about 275 bytes without all code for it in hand-assembler.
digipeaters, or up to 335 bytes with the full
complement of digipeater addresses. If one allows Program Storage in EPROM or Mass-Storage
for a window of 7 packets in each direction
(transmit and receive), this can mean from 3.6k to There should be room in the switch for a
4.7k bytes per user, just for actual data buffers. minimal amount of bootstrap code in EPROM to
There will also be some small amount of storage load the main operating program either from a
per user at each level of protocols used. With mass-storage device, or possibly from a neighbor
between 4 and 5 kilobytes needed per user, one can switch. Another alternative would be to have the
see that the more the RAM, the better in a packet main operating program run directly from EPROM,
switch. Obviously, this is a worst-case scenario, but this would make remote updating of switch
and not all this memory must be reserved per user software more difficult, since switches may be at
at all times. A guess on my part is that about 20 remote locations, some method of remote loading of
percent of the absolute amount of memory would switch code may come in handy.
actually be needed. If this holds true, 128k of
RAM could actually support up to 150 users
rather than the 32 users suggested by setting All I/O Should use DMA If Possible
aside 100 percent of memory for all users.
As mentioned earlier, all input and
Of course, this evaluation does not hold output devices should operate using Direct-Memory-
true if a lot of data latency is encountered Access (DMA) if possible. This would include
inside the switch. As an example, say a switch packet channels and any mass-storage devices used.
receives a lot of packets from a 56 kbps channel, The use of DMA relieves the main CPU of having to
and finds that the majority of the data is to sent handle constant asynchronous data interrupts, or
out an HF channel operating at 300 bps. This worse, polling of I/O devices, both of which can
means much of the data must be buffered for a waste a lot of CPU time. DMA chips are available
longer time while the level 2 protocol tries to today at an inexpensive enough price to make a
shove the data over the HF link. If the switch hardware design using them cost-effective.
starts to run out of memory, it may have to begin
to flow-control data coming into it until the HF Service Processor and Control System
link frees up some buffers. This may cause back
pressure of data along the Network as more and When switches get more complicated, it
more switches have to hold data until the next may become necessary to provide some method of
switch can accept it. monitoring switch operation and controlling the
switch if a failure is detected. One way to do
Another use for memory in switches will this would be to provide a second, smaller micro
be to hold the operational routing tables, which computer system to monitor the packet channel(s)
can grow to ratner large sizes. The reason for and/or the main switch processor bus for normal
maintaining the operational routing tables in operation. This separate system would have its
memory rather than a mass-storage device is due to own distinct identity in the network, and should
the need for continual, fast access to them. A be designed so that the main switch could not
back-up version of the tables should be maintained block operation of the Service Processor. If a
on a mass-storage device (for power-fa i lure failure is detected, the Service Processor could
or data corruption protection), but the main, have several options programmed into it, from
active tables should be in RAM. This adds simply re-booting the main switch to taking the
another, rather significant memory requirement to switch completely off the air and notifying
the switch design. someone of its actions and why.
These days memory is fairly inexpensive, This type of device is commonly used on
especially dynamic memory. It therefore makes larger computer systems to monitor the main
good sense to me that a switch have as much RAM as computer, and I think we should include some
possible, preferably as much as the CPU can easily version of this device in our more elaborate
handle. switches. Since the main switch and the Service
Processor are inter-related, they would have to be
Multiple Channel Capability designed with each other. At the moment this
device is a luxury, but it should be kept in mind
Before long, packet switches may have to for future switch designs.
monitor several different RF channels, much as the
dual-port digipeater does now. Some of these
channels may be operating full-duplex, especially Time-Of-Day Clock andTimed Interrupts
the higher speed ones. As a guess, I think four
to five channel capability should be enough for In order for a switch to accurately
the most part, witn the possibility of expanding control the various protocol operations, some sort
up to six channels. The higher speed channels of timer is necessary. Most computers use one or
should either use DMA directly, or use a smaller more timed-interrupts to control these functions.
TNC-type device to pre-process the level 2 In a multiple-task computer, times cannot be
connections, thereby relieving the main processor regulated by software timing loops, so these timed
of some processing. interrupts are important. For example, the TAPR
TNC2 uses a 600 Hz interrupt, while the Xerox 820
Mass-Storage Device(s) computer board uses a once-a-second interrupt.
These are generally considered the two ends of the
Once the Amateur packet network begins spectrum for timed interrupts, with the TNC2 being
to expand, there will be a need for some sort of almost too fast, and the Xerox 820 being too slow.
mass-storage of data at each switch. One of the
things needed to be stored at each switch is a The time-of-day clock is less of a
routing table that the switch can access to decide necessity, but could come in very handy,
how to route packets. Another thing the switch especially if satellite or HF access is to be
may want to store is a file containing the list of provided at the switch. It also may be handy for
users it regularly services. Also, the switch may diagnostic purposes to time-stamp certain
keep a couple versions of its operating program in operations of the switch, such as routing table
case it need to re-boot for some reason. updates and last access by individual users. Once
again, the cost of adding this feature is very
FastCentral Processor small, so why not include it? Most time-of-day
clock chips available these days also provide
In order to build a switch that can timed-interrupts, so both of these can be had for
process data quickly, a fast central processor the price of one chip.
5.86
Local Console Interface of them found their way into the hands of packet
experimenters throughout the country. Some of the
It is inevitable that switches are going advancements in packet radio operation in the last
to break down eventually. In order to work on year or so (sucn as the WORLI packet bulletin
them, or just periodically check on their board software and the dual-port digipeater) are
operation, a local console interface should be directly related to the availability of these
provided. This local interface should be at a boards. It has on it a Z80 processor, two 2716
very base level of the switch (directly into the EPROMS, 64k of dynamic RAM, two serial channels, a
CPU if possible) to reduce the amount of potential parallel channel, four timers, a floppy-disk
problem points between the console and the local interface, a parallel keyboard interface, and a
console while debugging. video interface that emulates an ADM-3 terminal.
Many of these 820 boards are already out there as
Battery Back-Up Operation (optional). either PBBS systems, or dual-port digipeaters
linking two different packet operations together.
There is a rapidly growing interest in
the use of packet radio by emergency groups. In It is natural that the Xerox 820 be
order to help provide emergency communications, considered as a possibility for the basis of a
the packet network should be capable of operating packet switch. In fact, at the September 1984
for some period of time either on batteries, or meeting of the ARRL Digital Committee, one of the
through trie use of generator power. While this requirements made for the evaluation of Virtual-
isn't a definite requirement, if the switch is Circuit network design versus Datagram network
designed with battery operation in mind (such as design was that they both be made to run on a
the capability of running off of 12 volts DC), it Xerox 820 board.
will be much easier to ada later.
The Xerox board's 64k memory space is
better than the TNC2's 16k. One drawback to this
The above items do not constitute a is that a Z80 processor can only access a total of
complete list of design goals for a switch. The 64k of memory at a time, including both program
radios, for example, are partially covered in a and data space. This means that the more memory a
separate paper, found elsewhere in these program takes, the less that is available for
proceedings. data. This implies that the program used should
be as small as possible to save more memory for
With the above goals in mind, I will now data.
tur how I see the packet switch design
evo g over the next few generations of The Xerox 820 includes four timers, two
hardware of which are used to generate one-second
interrupts for the 820's monitor. The other two
Packet Switch Based On TAPR TNC2 timers are available to the user. One of these
will probably be needed as a prescaler for the
The first step of the packet switch other in order reduce the number of interrupts per
evolutionary process is already upon us. Thanks second achieved. The once-a-second interrupt
to Howie, N2wX, several of us in AMRAD (as well as could be used to build a software time-of-day
others) have been playing with AX.25/AX.75 clock, although it would be susceptible to
networking on a local basis for several months inaccuracies due to periods when interrupts are
now. The packet switch code actually resides disabled.
inside a TAPR TNC2. I must point out that this is
by no means a fully operational internetwork The serial ports on the Xerox 820 are
switch capable of auto-routing and lots of other interrupt driven, using an SIO chip. TAPR has an
fancy stuff, but it IS an actual Network switch, add-on daughter board available that removes the
not a digipeater. Full AX.25 level 2 connections parallel interface and replaces it with two more
are made with each user, and the switch does move serial channels, using an 8530 SCC in interrupt
data from user to user based on AX.25/AX.75 level mode. This means that one Xerox 820 can support
3 connections. As a Local Network Controller for up to four different packet channels, which might
a limited number of users it does indeed work. come in handy at a central packet switch location.
The amount of RAM on a present TNC2 is While the 820 board does have a floppy
16 kilobytes, with 32k of EPROM for program disk interface, it is only capable of handling
memory. The TNC2 uses a Z80 CPU, and an SIO for single density operations. This means a total of
both terminal communications and packet 241 kbytes of storage on an eight-inch drive, or
communications. This amount of memory (especially about 160 kbytes on a double-sided five-inch
the RAM) is sufficient to experiment with, but floppy. There are several daughter board systems
could hardly support the total number of users on commercially available that replace the single
even a semi-busy packet channel. Since there is density controller chip on the 820 with a double
no mass-storage device interface on the TNC2. some density one. improving the five-inch drive
of this RAM would have to be used up to hold the capacity to 390 kbytes of storage. Some of these
routing table for inter-switch connections, replace the Xerox monitor though, and some
reducing even further an already scarce commodity. incompatibility has been noticed, particularly in
the interrupt handlers. These incompatibilities
Also, since there is only one (or with can be overcome without too much difficulty, and
modification and loss of the terminal interface, the added storage is a welcome addition.
two) packet interface(s), a switch based on the
TNC2 could only operate directly on one packet When using CP/M on the Xerox 820, there
channel, without getting into clever data is a wealth of software tools available for switch
switching arrangements which would be a kludge. software development. All kinds of assemblers and
The maximum speed of the TNC2 serial channels is higher language compilers (such as C, Pascal,
probably around 20 kbps, allowing it to be used Fortran, and yes, even BASIC) are available. In
on our medium-speed channels. addition, there are a large number of debugging
systems available to the programmer, so the 820
The packet channel interface operates in can be considered a good choice to develop code
an interrupt mode, rather than using DMA. This is on.
not really a problem though, since there is only
one packet channel, one terminal channel, and no I still think the Xerox 820 is a good
mass-storage devices to worry about. As mentioned choice for smaller switches, where there will not
earlier, the TNC2 has timed interrupts at a 600 Hz be a lot of users. The boards usually came built,
rate, relieving thie software of a lot of timing with most of the ICs soldered in place, so the
overhead. number of problems occuring with a switch based on
an 820 will probably be less than some other
The TNC2 uses a 12 Volt DC nominal power designs. (It is interesting to note that half the
supply, drawing from 150 to 300 ma, which makes it problems we have experienced with the WB4JFI-5
very good in the power department. digipeater are due to corrosion of IC socket-to IC
pin connections, and that as soon as the ICs are
Packet Siwtch Using the Xerox 820 re-seated, the problems disappeared).
Another alternative for a packet switch Packet Switch Design Based On the TAPR NNC
from the 8-bit world involves the use of the Xerox
820 boards. These boards were surplused by Xerox A short time ago. TAPR came up ith a
after the 820 was discontinued, and a large number design for what they call the Networ Node
5.87
Controller, or NNC. This is the same thing as a blue. In addition to my three S100 systems and
?acket switch. The NNC design is based on a Z80 two running Xerox 820’s, I have two IBM-PC
ike chip made by Hitachi (the HD64180). This CPU compatible computers (one a real IBM, and the
executes the Z80 instruction set, plus a few new other a clone). In addition, I am trying to put
instrucions that have been added. In addition, it together a transportable PC clone, similar to my
includes two channels of DMA, 2 sixteen bit transportable 8z0 system (the size of a Kaypro,
timers, two async serial channels, a built-in complete with TAPR 8530 mod and 7910 modem built-
clock generator, and can physically access up to in). What has caused this wave on blueness? It’s
512 kbytes of memory (through a 64 kbyte logical a simple matter of cost. The price of IBM-PC’s
window). It also has a Built-in interrupt and the PC clones has dropped to the point where
controller, and dynamic memory refresh controller. one can build a complete computer for under
$800.00, including monitor and drives. With all
TAPR’s design presently consists of that software out there, how can you go wrong!
three boards. The first board includes the 64180
CPU, four HDLC ports (using two SIOs), a parallel The idea of using a 16 bit CPU for the
printer port, a battery backed-up real-time-clock, packet switch is not a new one, it’s just that
a SCSI dus interface, and up to 512 kbyte of until recently the cost was too high. Now wait, I
memory via byte-wide sockets, half of which may be hear you saying that the PC is not a true 16 bit
battery backed-up. system. You are right. You are also correct in
saying that even though the PC can address over a
The second board is a piggy-back floppy megabyte of memory, it still must do it in 64
disk controller board. This board will allow the kbyte pages. There are important differences
connection of high-density disk drives for those between tne PC and the normal eight-bitters.
wishing to do software development directly on the
NNC, via CP/M or similar operating systems. It First of all, even though the 8088 CPU
will also come in handy to hold those routing looks to the outside world like an eight-bit CPU,
tables. it thinks inside with a full sixteen bits. This
means instructions can be executed quicker. In
The third board contains four modems of addition, it's instruction set has been improved,
the Exar 2206/2211 variety. TAPR sees these allowing some functions to take fewer instructions
being used as an HF modem (300 bps, 200 Hz shift) to execute, thereby speeding up processor
and a VHF modem (typical 1200 bps, 202 type), with throughput.
two additional modems for future use. To me,
these modems are still the weak link of TAPR Secondly, even though the 8088 can only
designs. The PLL modems are inferior in operation work in a maximum of 64k banks, it can use
to standard filter-type modems, and require different 64k banks for program and data. In fact
periodic re-alignment (I just had to re-align my there are four independant 64k banks that can be
first TNC2). I am not sure how these modems woula anywhere in the one megabyte address space. One
survive in an uncontrolled enviroment, such as of these segments is used for program operation,
where a digipeater or packet switch might be another is used for data storage, a third is used
located (WB4JFI-5 operates in a metal shack part for the stack, and a fourth is provided as an
way up a broadcast tower, and the tempature inside extra segment. Since each of these segments is
the shack goes from about 115 degrees in the completely independant of the others, adding
summer to below zero in the winter). to the computer program does not reduce the amount
of data memory directly accessable. This can be
The NNC has much of what it takes to an important point wnen dealing with larger
build a decent packet switch. The main limitation numbers of packet users.
is still the RAM memory access. Since the CPU is
based on a Z80, it can only access a total of 64k In order to use the PC or PC-clone on
of memory at a time, both program and data. Even packet, either a separate TNC type device must be
though the 512 kbytes of memory can be paged used, or a HDLC capable board must be added to the
through in 64k windows, the amount of program PC system. We have designed a PC-compatible board
space must be included in that 64k, again reducing that plugs into the bus that has an 8530 Serial
tne amount of data space directly accessible. If Communications Controller (SCC), which has two
the program takes 32k to run, this leaves 32k programmable serial channels. Each of the two
total data space available without paging. When channels can be strapped for either RS-232
the program grows to 48k, the data window is then operation or can be used with a AMD 7910 World-
reduced to only 16k chunks. Modem chip. This board (called the PC-PAD-1) fits
in a short-slot position, so it is usable in
This memory constriction may not be much almost any PC-compatible computer. The PC-PAD-1
of a problem for quite a while, since paging of should be available shortly from TAPR.
data chunks can be accomplished without too much
software magic. The SCSI bus allows for larger A follow-on project to the PC-PAD-1
mass-storage devices than floppy-disks, such as board is also in the works. Due to limitations of
hard-disks. The two timers will allow for timed the PC (lack of slots, interrupt lines, and DMA
interrupts, and the time-of-day clock is a nice channels), and since the PC-PAD-1 only occupies a
addition. short slot, I felt it would be a good idea to
expand on the basic board. In order for a switch
Since the NNC is software compatible to perform added functions such as acting as a
with the Z80, once again the whole CP/M software fateway between networks on different frequencies,
family is available for program developers. t will probably need more than two HDLC channels.
Therefore, the next generation board will have
The NNC is designed to use low-power more SCC chips (at least three), it’s own
devices, such as static RAM and SIOs instead of interrupt processor chip (slave to the PC’s
SCCs, the latter of which is becoming easier to interrupt processor), and at least an additional
use. Because of this, the NNC is a good candidate 7910 moaem. How much the board will end up having
for very-low power operation, such as mountain-top on it is based on how much we can stuff onto a
switches. standard PC card. I have already heard from a
couple sources that a minimum of six separate
I see the TAPR NNC as being a potential HDLC channels would come in handy. The planned
stepping stone on the path to the more complicated name for this board is the PC-PAD-z.
packet switch. Since it is basically software
compatible with the Xerox 820 board (except at the Ideally, it would be nice to have the
lowest port address level), code developed for the HDLC ports interface to the PC through DMA
820 will be able to be run on the NNC. This will channels, thereby reducing CPU overhead.
allow packet switches to be upgraded fairly easily Unfortunately, the PC only provides for a total of
when tne primary reason for obsolescence is due to four half-duplex DMA channels, and this cannot be
the lack of memory. It will also come in handy expanded without cutting/kludging of the
when the supply of surplus 820 boards dries up. motherboard. In addition, one of these four DMA
channels MUST be used for dynamic memory
Packet Switch Design Based on IBM Clones refreshing. Two of the remaining DMA channels are
reserved for mass-storage devices, if present.
Over the last six months there has been Since the switch should nave some sort of mass
a fairly quick conversion of the AMRAD crowd from storage, at least one of these (and most likely
CP/M systems (either 820 boards or S100 systems) both of them) will be used up. This leaves only
to the IBM world. Yes, even I, the staunch S100 one half-duplex DMA channel available on the
supporter has yielded to the tidal wave of big standard PC, which is essentially worthless for
5.88
packet work. In order to turn the one half-duplex connections. It would pass data to/from the main
channel around, and arbritrate which device is switch only after it haa processed all the level 2
using it, more processing overhead would be work necessary. This relieves the switch
required than to simply use interrupts in the processor from having to do ANY Level 1 or Level 2
first place. The bottom line is that DMA is not processing.
real useful for packet I/O processing on the PC.
Central Processor Used
Another limitation in the PC is in the
area of interrupts. The motherboard has an In order to take advantage of the
interrupt processor capable of arbritrating up to development tools we presently have, I decided
eight interrupts. All of these are potentially that my design for tne next generation packet
reserved in the PC for certain devices as follows: switch should be based on tne Intel line of
microprocessors. My feeling is that it should be
IRQO System board Timer 0. a true sixteen-bit processor, not an eight-bit
IRQl Keyboard Scan Hardware. external one. While it would be nice to use
IRQ2 Optional Clock Module. either the 80286 or 80386, both the cost of theses
IRQ3 Secondary Serial Channel (COM2). chips, and the added complexity of the hardware
IRQ4 Primary Serial Channel (COMI). involved detracts from their use. Because of
IRQ5 Optional Hard-Disk Controller. this, at this point, I think the Intel 80186 CPU
IRQ6 Floppy-Disk Controller. is the best compromise to be used in the packet
IRQ7 Printer Port. switch. Most of the C compilers and assembler
packages for the PC now include 80186 support, so
Since they are all reserved, but we the development enviroment is there.
still need at least one, something has got to go.
What I have done with our SCC board was to use the General Switch Computer Architecture
secondary serial port interrupt first, followed by
the primary serial port. The only other interrupt There are as many different approaches
that could be "obtained” without leading to to the design of a computer as there are
conflicts would be the printer port line. I designers. In my opinion, one of the foremost
wouldn’t want to take up either disk interrupts, requirements is that the switch be designed to use
and I also think a clock module is going to be an a motherboard with a bus to plug special function
essential part of the packet switch. boards into as needed. This allows the switch to
change as needs change, without obsoleting the
Once an interrupt line is made available hardware. It also allows for easier
from the master interrupt controller on the PC troubleshooting, since function boards can be
motherboard, it is possible to add one or more swapped-out until the defective one is found. As
slave interrupt controller chips to that line. In to which bus should be used, at this point I am
order to provide multiple HDLC channel devices leaning toward a modified version of the IBM PC AT
(such as more than one SCC), the use of a slave bus. It is both eight and sixteen bits wide,
interrupt controller will help to figure out which allowing present PC boards to be used for the more
device caused an interrupt. Rather than polling mundane operations, such as video and disk
each device, the interrupt controller is polled to controllers. The AT bus also has twice the
see which device caused the interrupt. Since the interrupts and DMA channels available as the PC.
slave interrupt controller will be on a plug-in The reason I say a modified PC AT bus is that the
card, as many of the interrupt sources as possible AT still does not allow for expansion of the DMA
should also be on that card, which will reduce or channels to the function cards. The switch should
eliminate the need for inter-card wires. The use provide the necessary signals on the bus to allow
of slave interrupt controllers is not the best way DMA controllers on the plug-in boards in addition
to implement intyerrupts, but in the PC enviroment to what is used on the motherboard. Since the AT
it is the best available, in my opinion. bus does not have these signals, some method of
supporting them would have to be added. It
The power consumption of the PC- appears to me that this is a small price to pay
compatible computers varies with what is plugged for all the support that using the AT bus would
into the bus, and what type of mass-storage device bring.
is being used. Most of the IBM computers were
sold with 65 watt switching supplies, which The switch motherboard should also have
provide enough power until the computer is full of the hooks needed to add a "Service Processor"
RAM, has both floppies, several additional cards, board. The Service Processor is kind of an
and an internal hard-disk. This tells me that a advanced watchdog device that should continually
typical packet switch computer based on the PC monitor the main switch operation for
would probably draw about 50 watts on the high- abnormalities. Since it will need direct access
end. While this is higher than some would like to certain points on the motherboard that are not
for a mountain-top switch, it is still fairly low on the bus, some additional connections will need
power-consumption when one considers the computing to be provided.
power involved. The replacement of standard TTL
devices with high-power CMOS, and the removal of
local console devices (such as keyboard and video HDLC Channel Processor Plug-In Boards
board) would help to reduce this load.
There are actually two different types
Packet Switch of the Future of HDLC channel boards I see being used in the
packet switch. The first version would be similar
Down the road, it would be nice to have to the PC-PAD-2 described above. The main
a packet switch designea by the Amateur community. difference would be that the board would use a
What follows is some of my thoughts/ideas/leanings dedicated DMA controller for data transfer to the
on what a computer specifically designed as a switch rather than interrupts. This would greatly
packet switch might look like. Some of this is relieve the central processor from byte-by-byte
taking shape now, while other parts are just in interrupts from eacn HDLC controller. I would
the initial idea stage. recommend that the HDLC chip used be the 8530 SCC
chip. I feel it is a superior device, and
One of the most important concepts I performs well with the Intel line of chips.
want to push from the outset of this section is
that eventually a single CPU will most likely The second and more advanced type of
become overloaded with work in a switch, HDLC controller board would be a slave processor
especially a switch that covers a metropolitan that would use an on-board CPU such as a Z80 to
area, or a switch that interfaces between several process the data of the HDLC channel(s) it
different subnetworks. The method I propose to supports, and use DMA to pass the data to the
overcome this situation is to break up the central processor of the switch. As mentioned
workload of the switch into several, smaller above, this slave processor would actually handle
pieces. Some of theses pieces would then be taken all of the AX.25 Level Two connection overhead,
care by smaller, slave processors to the main further relieving the switch. This is needed as
switch processor. This way the switch can handle the HDLC channels go to faster and faster speeds.
its functions more effectively without being There comes a point where one processor will
interrupted to do the more mundane work. An become bogged down, no matter how fast it is.
example of this whould be a slave board that would This delegation of responsibilities to slave
handle one or more HDLC channels. This board processors will become a necessity eventually, and
would be very much like a TNC, and would be in if the switch is designed to accomodate it from
charge of maintaining the AX.25 level 2 the beginning, so much the better.
5.89
Both types of HDLC boards should have At this point in time, the chips to use
a watch-dog timer on every HDLC channel they would seem to be tne 256k by 1 devices. They are
provide. It would also be handy if the watch-dog cheap, and have a very high density. a
timers had outputs that fed the switch processor, recommended dynamic RAM controller is the Intel
the HDLC Channel Processor, or a Service 8208, since it works well with the 80186.
Processor, that indicated when they had timed-out.
The third type of memory is used to
Mass-Storage Devices Support contain the important variables and control
information used by the switch, such as callsigns,
If the PC AT bus is used, standard IBM link connection information, switch status flags,
compatible mass-storage devices could be used, etc. This memory should be battery backed-up, and
relieving the designer of both hardware, and more it should have a checksum which is updated
importantly software work. Both floppy-disk and whenever the data in the memory is changed, and is
hard-disk support should be available. One point periodically checked. This memory is important
is that at least the floppy-disk system should enough that an added measure of safety might be
probably NOT use a high-density recording method. required, that of maintaining a second copy which
In order to make the floppy more reliable, lower is also updated and checked. This way, if there
density storage methods should be used, and if is a failure in the primary memory module, the
more storage is needed, either more drives should back-up could be switched into operation. Since
be added, or a hard-disk should be considered. this memory is battery backed-up, it should use a
The system should also be designed so that as much very low amount of power, such as a CMOS device.
data is maintained in RAM memory as possible, with Fortunately, the amount of this memory needed is
the mass-storage used primarily as a data back-up. relatively small.
Service Processor Board
Memory Requirements
The Service Processor is an optional
The memory requirements for a packet board that should have a separate connection to
switch falls into three catagories; program the motherboard. The function this board provides
memory, data memory, and control and variable is to perform sanity checks on the packet switch.
storage memory. Each of these types of memory Exactly how interconnected the main switch
have different needs, so they will be discussed motherboard and the Service Processor board are
separately. depends on how many sanity checks one feels are
needed. At a minimum, the Service Processor
The program memory would be responsible should receive periodic "pings’* from the switch
for holding the program(s) that the switch processor via a common I/O port and also monitor
executes. It may hold the actual executing code data and/or address lines for a "stuck" processor.
itself, or it may contain a copy of the code that In addition, the Service Processor might also
is read out of the program memory into another monitor each HDLC channel for y* stuck"
?art of the switch memory for actual execution, transmitters, possibly indicating that HDLC
anticipate what will eventually happen is that a channel is not being properly serviced.
small "bootstrap” version of the opperating
program will be kept permanently in the program Whenever the Service Processor detects
memory in case the switch needs to be completely an error condition, it should be capable of taking
re-booted. The actual operating software will one of three actions; if the error is easily
then be loaded into the switch, either from a recoverable the Service Processor should attempt
mass-storage device, or over the radio from to correct the problem, if the Service Processor
another switch or switch control operator. Since cannot easily correct the situation it should
this boot code must always be available, it should perform a hard reset to re-boot the switch, if the
be stored either in EPROM (prefered) or battery- Service Processor determines that the problem is
backed RAM. Once the real operating software is a major one, it should disable the switch from
loaded into the computer and is executing, this transmitting on any of its channels. In addition,
EPROM code could then be phantomed out, reducing the Service Processor should store the symptoms of
the amount of memory space occupied. the failure for later retrieval during servicing.
Also, the Service Processor should have a
The data memory will occupy the most distinct packet address, capable of sending and
address space of the switch. The simple rule receiving connection requests. If the Service
regarding data memory is: The more, the merrier. Processor detects a switch failure, it should
Since there will be a lot of data memory, it notify neighbor switches or a service point.
should be fairly inexpensive. I am leaning toward
using dynamic memory for this part of the switch. In order for the Service Processor to
These days, a megabyte of memory only costs about attempt to "heal" the packet switch during minor
$120.00. If dynamic memory is implemented, I problems, it should be able to control certain
would also recommend that a dynamic memory parts of the packet switch. It should be able to
controller chip be used, rather than the DMA change or disable certain parts of memory if it
refresh approach that IBM used. The switch will thinks there is a memory problem. It should also
be busy enough already, without wasting additional be able to cause the packet switch to cold-boot if
overhead doing memory refresh. The cost of a necessary.
dynamic memory controller is not much these days,
so it would be money well spent. An obvious potential problem can be if
the Service Processor itself goes bad. In order
The dynamic memory support should also to prevent a bad Service Processor from messing up
have some method of detecting memory failures. the switch, some sort of hardware interlock should
One method is to add a simple parity check scheme be provided on all interfaces to the switch. This
similar to what the PC implements. Another method might include a timed window during which the
is to use one of the more advanced dynamic memory Service Processor can send commands to the switch.
controllers that include failure detection. These Any commands that fall outside this window would
more advanced controllers can not only detect be ignored by the hardware.
failures, but "hide" the bad section of memory
from the host processor, something which might This timed-window could be designed such that
come in real handy for remote, mountain-top in order for the Service Processor to gain access
switches. to a critical area of the switch hardware for
alterations, it must first send a byte having a
certain bit pattern to one of it’s own ports.
Another idea associated with the main Hardware at tne output of that port compares the
data memory is to have some spare amount of it received byte to what it expects, ana if they
available. If a memory failure is detected, this match, unlocks access to the requested switch
spare memory could be placed into the memory map area. This access is only allowed for a short
of the host processor instead of the bad memory. period of time (using a hardware timer), and if
The size of this spare memory could vary from a the Service Processor fails to send it’s command
spare bank of chips on the motherboard to a before the time ends, the door is closed, and the
completely separate, full amount of data memory Service Processor's request is ignored.
with it's own memory controller on a add-on board,
in stand-by. Obviously the latter is an extreme, Additional Slave Processor Boards
but it would be advantageous where the switch is
at a real remote location with very limited There might be the need for additional
access. slave processor boards in the switch to perform
5.90
functions such as User directories, and more chip in the world, but if the development tools
importantly routing database upkeep. Once again, (both hardware and software) aren’t there to
this might best be handled by having a separate support the device, no one will use it. This is
slave processor, such as a Z80, with a lot of RAM the basic reason I decided to push the 80186 at
and a canned database program. This way, when the this time. If other computers based on other
switch needs to obtain the necessary routing CPU’s such as the 68000 become a dime-a-dozen like
information, it can ask the slave Route Processor the IBM PC and it's clones have, then I would be
for the route, then continue with other tasks in favor of using those CPU's. For now, with the
while the Route Processor looks up the route. PC being a clear winner in the popularity contest,
Another advantage is that the routing information I am keeping to it's family of chips.
is stored in RAM for faster access, but still
won’t take up valuable switch memory space. Another important point is that the
switch be based on a bus structure. This will
Power Consumption of the Advanced Switch allow easier switch expansion and troubleshooting.
Even a quick look at the above will The third Important point I want to
indicate that our packet switch has become a power leave the reader with is that even though right
hog. In order to reduce the amount of power used, now it might be difficult to imagine how a single
the switch should be designed using CMOS devices processor might get bogged down in a switch, that
wherever possible. There should also be some way time will come all too soon. If the switch is
of shutting down selected portions of the switch designed from the beginning to off-load as much
when they are not needed (such as the local specialized processing as possible (ala HDLC
console). Even so, the switch will draw more Channel Processors and Route Processors), it will
power than some would prefer in certain take a lot more to overload the switch with work.
situations. For this reason the programs written This will become a very important point in the
for this switch should allow for smaller versions next few years.
of the switch, with the software testing to see if
certain parts of the switch are present. I hope to be working on the more advanced
packet switch design over the next year. So far,
An example of this would be if a switch to be my design is based on the 80186 CPU, a megabyte of
placed on a mountain top will only have a couple dynamic RAM supported by an Intel 8208 dynamic
HDLC channels coming to it. Since the switch is memory controller, some EPROM, ten expansion
powered by batteries (trickle-charged by solar slots, a timer chip, expandable DMA capability,
cells), it is decided that the main processor can and expandable interrupts. The system is NOT up
perform all its duties and also support the HDLC and running at this time, but I hope it will be
channel processing required. This means the HDLC shortly. The first add-on board will be a DMA-
Channel Processor will be removed, and a simple supported HDLC board, with multiple SCC chips.
HDLC Controller card will be put in its place.
Now, if the switch goes down and gets re-loaded Conclusion
from a neighbor switch, the newly loaded code must
check to see what hardware configuration is being Developments in the area of digital hardware
used before it starts bopping out packets. This for Amateur Packet Radio are progressing smoothly.
is one example of how hardware "pruning" might New designs are coming along, for the end-users,
affect software operation. Anytime the hardware digipeaters, and the packet switches. Hopefully,
is reduced, one should look for situations to in the next year the software and RF hardware
develop in other areas. Sometimes it might be parts of the hobby will catch up with the digital
better just to increase the amount of batteries hardware strides made in packet radio.
and solar cells and live with the added drain.
Advanced Switch Hardware Conclusions References
While it is beyond the scope of this Fox, T., ’’Packet Swit Software Design
paper to set down the absolute design of the next Considerations Fifth ARRL Amateur
generation of Packet Switch hardware (especially Radio Computer tworking ConTerence,
since we don't have much of a feel for what is
actually needed yet), I think the above ideas will
aid in the design of the future packet switch. Fox, T., "RF, RF. Where is My High Speed RF?",
One point I must emphasize is that the switch can Fifth ARRL Amateur Radio Computer
be designed using the most sophisticated processor Networking Conference,, ARRL, i^ob
5.91
AN INTRODUCTION TO THE HUB OPERATING SYSTEM
5.92
with responsibilities for the job being The classic fetch-execute cycle found at the
accomplished somehow divided between the heart of almost all processors (micro or
?rocesses. Generally speaking, a process executes otherwise) is also the basic mechanism of the Hub.
nternally, performing some computation, until it The Hub system (Figure 1) takes its name from the
must interact with another process before it can Hub Queue which stores unexecuted instructions.
proceed. Maybe it needs a piece of information The Hub queue is essentially the "instruction
before it can go on, or maybe it has produced a prefetch queue" for the "execution unit" of the
result needed by the other process; the reason Hub system. An important feature of the Hub,
doesn’t matter. What is important is that the however, is the source of instructions stored in
process, for whatever reason, cannot continue its the Hub queue. In most familiar processors, the
computation until the interaction completes. A instructions to be executed ("the program") are
process in this condition is said to be "blocked” stored in a memory, and they are sequenced into
(from proceeding further), and suspends its the instruction prefetch queue using the value of
execution by calling a primitive system function "the program counter." Conventionally, the
"blockO" [this is the function-call syntax for program counter simply increments, causing the
some arbitrary language]. In theory, the process instruction at the "next" memory location to enter
somehow simply "waits". In reality, by some the prefetch queue. The only exception to this
slight-of-hana, the state of the executing process linear sequencing is when a "branch" instruction
(its registers, program counter, stack pointer, loads the program counter with some arbitrary new
condition codes, and whatever else dictated by the value.
hardware) is preserved in suspended animation
until such time as the necessary interaction is In the case of the Hub queue, there is no
complete. When said interaction completes, a static "program" of instructions waiting to be
"resumeO" function thaws the frozen process which sequenced from memory into the Hub queue by some
can then continue with its computation. "program counter." Rather, instructions are
created and sequenced into the Hub queue by the
Nowhere have we explained how such execution of other instructions! This means that
interactions are orchestrated, or who calls most (but not necessarily all) instructions
"resumeO" to bring the sleeping process back to generate at least one new instruction when they
life. This isn’t particularly important at this execute. From this viewpoint, the "program" is
juncture (see the texts for the myriad ways such created as it executes! Like branches in
matters can be conducted). What is important is microprocessors, there is one special case of
the model - processes compute and communicate, loading the queue: initializing the system. Some
compute and communicate, in an endless cycle. agent must initialize the Hub queue with
Moreover, to the frozen process, the instructions before the Hub fetch-execute cycle
block()/resume() sequence appears like a "no-op" can be engaged, lest there be nothing to do!
instruction (unless a process has access to some
external timing information, which makes With this basic understanding, Figure 1
block()/resume() appear like a very slow no-op!). should be more comprehensible, but there are some
This style of concurrency promotes programs with additional twists. Modern processors often have
multiple processes which either compute or wait on partitioned execution units - floating-point add
one another to communicate, with the sequencing of on chips which interpret special arithmetic
those events controlled almost entirely within the instructions are a good example. When an
individual processes. instruction comes to the front of the prefetch
queue, the instruction decoder inspects the
One important implication of this structure candidate instruction and dispatches it to the
has to do with the state-saving s1ight-of-hand appropriate functional execution unit for
described above, and its implementation on single interpretation. A similar operation takes place
processors. Since a real (single) CPU can only when the Hub dispatches an instruction. In the
execute one instruction stream at a time, the CPU Hub, an execution unit which can process
must be multiplexed between the processes which instructions is called a TASK. (My apologies to
are logically executing concurrently. The readers who already have a favorite interpretation
block()/resume() pair form the basis of this for this and several other words to follow - there
multiplexing. If only one of the processes is are only so many such words which are short and
runnable ("not waiting") at any given time, the euphonious.) In the Hub system, the Task is the
choice of which process to run is easy. When fundamental mechanism for organizing an activity
several are runnable (the overwhelming case), and providing concurrency. A Task is represented
policies establish how the CPU cycles are to be by a data area called a TASK STATE VECTOR (TSV)
divided. This is called the "scheduling policy," and represents the "register set" of an execution
and it too is discussed at great length in the unit. Further, a Task must have some
cited texts. For our purposes, the important specification of the work it is performing, so a
issue is whether the "which process to execute" Task is said to be obeying a particular TASK
decision is made only when the running process PROGRAM (TP). The Task Program is essentially the
blockO's (thereby voluntarily giving up the CPU), "microcode" for the execution unit. Formally, a
or whether by some magic (usually related to some Task is a binding of a TSV to a TP. Such bindings
kind of real-time clock) "the scheduler giveth and are not arbitrary as a TP expects a particular
taketh away" the processor arbitrarily. This data layout in the work area of an associated TSV,
consideration is important because this policy but many TSV’s can be bound to one TP (even if the
controls the apparent relative rates of execution TP code isn’t truly reentrant). This is like
of the processes. For communications purposes, having more than one floating-point register set
this controls the "granularity" of the in a floating-point unit. Both a many-to-one and
concurrency. [For instance, if programs are one-to-one TSV-TP binding is indicated in Figure
allowed to run to completion before the CPU is 1. Two questions are raised by Figure 1: If a
switched to another process, then the system would TSV is a data area, why do arrows labeled
essentially not multiprogram.] The actual process "procedure calls" point to TSV’s, and how is the
of transferring control of the CPU between binding between a TSV and its associated TP
processes is called a "context switch." Context represented? To address this question, it is
switches are surprisingly expensive operations, valuable to look at Hub instructions in a bit more
usually 5 to 20 times more expensive than a full detail.
blown subroutine call (a subroutine call is not
merely a "jump to subroutine" instruction, but Figure 2 is a simplified Hub instruction. At
includes passing arguments, etc.). the outset it appears quite familiar - an opcode
and a few operands of some fashion. But note the
By now the reader should have a general idea added fields: the source and destination TSVid’s.
of the basic mechanisms inside a multiprogrammed A TSVid is a handle, represented as a small
operating system. The reason for explaining all integer, which can be used as a shorthand to
this is that the Hub is different. indicate a particular TSV, and therefore, a
particular Task. (The TSVid is returned to the
proud parent when a new Task (TSV) is created.)
An Architectural Overview of the Hub
When the fetch-execute dispatcher examines
This section will describe the basic the instruction at the front of the Hub queue, it
structure and mechanisms of the Hub using analogy uses the Destination TSVid in the instruction to
with modern microprocessor architecture. The next determine which execution unit (TSV) should
section will describe the implications of these process the instruction. The opcode field then
mechanisms and contrast them with the traditional specifies which operation is to be performed by
process model. tnat particular execution unit. From the
5.93
processor analogy viewpoint, we have simply split activity that the operation has completed is
the opcode into two pieces for easy decoding: one accomplished by simply queuing an instruction.
part specifies which CPU chip should be used for Therefore, if interrupts are enabled and devices
the instruction (floating-point, decimal, normal are running, it is allowable for the Hub queue to
integer), and the opcode is then private to the empty. The system is simply waiting on I/O. One
particular chip. In the Hub system, however, the other source of interrupts is the real-time clock.
Opcode field is at least partially specified This is implemented by wiring a periodic source to
across all Tasks: a specific, small set of an interrupt input so as to produce a periodic
instructions is implemented (or at least treated interrupt heartbeat at a known rate (usually 60-
rationally) by ALL Tasks. Tasks can also have 100 Hz). In communications systems, the situation
private instructions in addition to this basic often arises where there is no other I/O pending,
core set, but usually the core set provides all but the system is idling, waiting for some time to
that are needed. pass before some Task starts dumping a retransmit
queue, etc. The clock interrupt provides the
We now return to the question of binding the timebase which drives the Timer Management
TSV with a particular TP and how instructions functions, which in turn provide timer services to
actually get dispatched. Like the common Opcode TSVs.
set, tne first chunk of all TSV's has a fixed
format. This area with a common format is called Hub Support Services
the "TSV Prefix". One of the key items in the TSV
prefix is the TASK PROGRAM ENTRYPOINT (TPE) In addition to providing concurrency, an
dispatch table. The TPE dispatch table is indexed operating system also provides support services
by the Opcode value and contains a pointer to the for activities. Memory management is an important
function within the TP code body which performs service, as are time management, buffer, ana queue
the interpretation of the corresponding Opcode. management. These services provide useful
These function pointers form the binding between primitives which need not be reengineered by each
the TSV and the TP. This indirection through the Task, and are orchestrated in such a manner as to
TPE dispatch table in the TSV Prefix is why the promote cooperation between Tasks.
"procedure call" arrows in Figure 1 go through the
TSV's. To tie all the pieces together, the main Memory and Buffer Management
fetch-execute loop of the Hub Operating System is
essentially: In this Hub implementation, memory
management and buffer management have been lumped
Forever together. They can easily be split back apart
(even in this implementation) but using the same
Fetch the next instruction from allocator for buffers and what would normally be
the Hub Queue ’’general memory requests" is very attractive. The
overwhelming experience with communications
Use the Instruction’s Destination programming is that internal fragmentation induced
TSVid to locate the TSV which by fixed size memory allocation is much easier to
is to execute the instruction tolerate than the external fragmentation which
results from variable size memory allocation.
Use the Instruction’s Opcode to Further, fixed-size allocators are always faster,
retrieve the appropriate Task usually by a large margin, since they don’t have
Program Entrypoint function to look around to find a piece of memory big
address enough to satisfy the request, nor try to coalesce
chunks when they are freed. Two problems arise
Call the TP function at the with fixed-size allocators: (1) the small-
specified address to actually obiect/large-object problem, and as a result of
execute the instruction addressing (1), we find (2) a maximum allocation
limitation.
Network traffic comes in two sizes -
Architectural Implications small packets containing terminal traffic, and
large packets containing file transfer data. If
The Dispatcher loop described above is really storage is allocated in chunks big enough for the
all there is to the Hub. There is no notion of large packets, much storage will be wasted. If we
"blocking", Task Program Entrypoint functions run chose to allocate small chunks, we must insure the
to completion and then return to the Dispatcher overhead of keeping track of them doesn't consume
loop. In the process model, the state of an too much storage or processor bandwidth. The
activity's computation is implicitly contained in compromise is to allocate storage in medium-sized
the variables (registers, storage, stack segment, units.
etc.) of the process encapsulating the activity,
and this thinly-diffused state information must be The storage allocation units are sized
maintained inviolate by the context switch to accommodate some large percentage of all
mechanism. In the Hub, the TSV represents all the requests (ranked by size and frequency). When
storage needed by an activity. Any state large packets are required, the Duffer header
information which must be retained across TPE contains pointers which can be used to chain
invocations must be recorded in the TSV. buffers together to form multi-buffer ’’messages’’,
in addition to the usual pointers for chaining
There is only one stack segment in the Hub; buffers into a queue of distinct messages.
the Dispatcher invokes the TPE functions with
subroutine calls, so no context switch is needed. A direct implication of a small/large
(This also means no tricky assembler code is compromise allocation size, is a rather severe
required, since context switch functions are upper bound on the size of an object which can be
almost always written in assembler.) Further, in created using storage acquired from the allocator.
process systems, processes often "idle" internally In a general-purpose programming environment, this
when they have nothing to do. In the Hub, a TSV would be unacceptable. For communications
with nothing to do doesn't get dispatched. If the programming, however, this doesn’t usually pose a
Hub queue runs out of something to do, the hardship, although it occasionally complicates
Dispatcher idles waiting for an instruction. some algorithms a bit more than they might be in
Where do these instructions come from? other circumstances. If future applications of
Interrupts. this Hub implementation find themselves in
hardship situations, as was stated above, the
In most systems, interrupts are viewed as memory and buffer allocator can be split apart to
nasty creatures which are to be sterilized as provide the necessary level of service.
quickly as possible. In process-based designs,
the usual litany is to make the interrupt simply Clock and Timer Management
awaken a sleeping process which then does whatever
is necessary to placate the device. In systems In this implementation of the Hub
with high interrupt rates, this means high architecture, we assume a single, fixed-period
context-switching rates, and poor performance. real-time interrupt which is vectored (somehow!)
to the Clock Interrupt Handler. One interrupt is
In the Hub environment, interrupt code called a ’’tick", and represents the smallest real
usually does some simple work to clean up after time increment which can be directly measured or
the device, and start a new operation if there is created in a given implementation. The Clock and
an outstanding queue. Notification of the client Timer support routines provide Task Programs with
5.94
functions for scheduling timer notification events Unexplored Issues
after a specified interval, canceling scheduled
events, measuring real-time intervals, and This paper, while providing an overview of
maintaining the current time-of-year. the Hub (and some background for the operating
systems newcomer), has left some important issues
unaddressed. While the ’’CPU” model of instruction
The Timer functions maintain a queue of execution spawning new instructions which are
upcoming timer events with the queue elements added to the Hub Queue is fairly straightforward
recording the difference between the time of their to grasp, it offers only modest direct insight as
event and the previous event, measured in ticks. to how one structures concurrent systems using the
This way, the clock interrupt code need only Hub primitives. The actual subroutine calls
decrement the time remaining in the first element necessary to do the work in a Hub System, and how
of the timer event queue until it is zero. When one goes about rehosting a Hub implementation are
the difference has been reduced to zero, the also important issues which weren’t addressed
appropriate TIMER instruction destined for the either. But this paper only claimed to be an
recipient is placed in the Hub queue, and the Introduction to the Hud Operating System, so some
timer queue element recycled. Tnis process of these issues remain ideal topics for other
’’decrement once per tick until a zero difference documents, and others are best addressed by
is detected” repeats as long as there are timer reading the code. We intend to report our
queue entries. experiences in all these areas.
Bibliography
This does place a burden on the queuing
functions. The timer queue element must be sorted Comer, D., ’’Operating System Design: the XINU
into the queue in the correct location, while Approach, Prentice-Hall, 1984
adjusting the requested absolute time to the
appropriate difference while scanning the current Jansen, P,.A., ’’Operating Systems Structures and
queue. When a scheduled event is deleted from the Mechanisms,” Academic Press, 1985
queue, only the following element must be
adjusted. The algorithms are not complex, but do Hansen, B.•» "Operating Systems Principles,”
require careful attention to the boundary Prentice-Hall, 1973
conditions.
Masamoto, K., ’’Implementation of HUB System.”
University of Illinois Master’s
Queue Management Thesis, 1976
In this implementation, queues are Organick, E.I., ’’Computer Systems Organization:
doubly-1 inked and are headed with a dummy queue The B5700/BO700,"Academic Press,
cell. This affords easy insertion, deletion, and 1973
sanity-checking. The usual assortment of insert,
delete, and discard functions are provided. They Organick, E.I., "The Multics System,”, MIT Press,
are optimized for queues of buffers. 1972
5.95
instructions
Procedure Calls
r 'r
Jr J” * -
TP TP TP
-------------n™. »■ ' - *
Figure 1
The HUB System
Figure 2
A Hub Instruction
5.96
PROPOSAL: RECOMMENDATION AX.224, CLASS 1
TRANSPORT PROTOCOL SPECIFICATION FOR THE AMATEUR RADIO NETWORK
Introduction
1. SCOPE
1.1 The protocol will detect lost packets not detected by the
Network Layer and institute required error recovery.
1.2 The protocol will detect the loss of the underlying network
connection and institute required error recovery.
2. DEFINITIONS
Data Units
5.97
TPDU Types
oni oo
- Connection Request
- Connection Confirm
Qq q <
ns u h w
- Disconnect Request
- Disconnect Confirm
- Data
- Data Acknowledge
RJ - Reject
ER - Error
Other
LI - Length Indicator
CDT - Credit
TSAP
-ID - Transport Service Access
Point Identifier
DST
-REF- Destination Reference
SRC
-REF- Source Reference
EOT - End of TSDU Mark
TPDU
-NR - DT TPDU Number
TSAP - Transport Service Access Point
The data transfer phase permits the TS-users the use of a full-
duplex transmission path. The DT-TPDU is used to convey TS-user
data across the network. A single TSDU may be segmented into
several DT-TPDUs. All TSDUs or DT-TPDU sequences are explicitly
acknowledged through the use of the AK-TPDU. A DT-TPDU sequence
is completed through the setting of the EOT-bit in the last DT-
TPDU.
3.3 Release
5.98
3.4 Resynchronization
3.5 Reassignment
Request—>
---- CR-TPDU ---->
Indication—>
<—Acceptance
<--- CC-TPDU ----
<—Indication
4.2 Connection Rejection
Request—>
---- CR-TPDU ---->
Indication—>
<—Rejection
<--- DR-TPDU ----
---- DC-TPDU --- >
<—Indication
4.3 Data Transfer
TSDU-->
---- DT-TPDU >
----- dt-tpdu >
----- dt-tpdu >
----- dt-tpdu >
(EOT)
TSDU—>
<--- AK-TPDU ----
4.4 Reject
TSDU—>
--- DT-TPDU(1) --- >
--- DT-TPDU(2) --- >
(lost)
--- DT-TPDU(3) --- >
---- DT-TPDU(4) --- >
(EOT)
< --- RJ-TPDU(2) ---
--- DT-TPDU(2) --- >
--- DT-TPDU(3) --- >
--- DT-TPDU(4) --- >
(EOT)
TSDU—>
< --- AK-TPDU ----
5.99
4.5 Protocol Error
TSDU—>
---- DT-TPDU(l)
A A A A
III lll lll iii
---- DT-TPDU(2)
---- DT-TPDU(3)
---- DT-TPDU(4)
(EOT)
TSDU—>
< ---- AK-TPDU
I
I
I
I
--- RJ-TPDU(
CM
—
I
V I
i
i
-- ER-TPDU -
I
I
III A A
-- DR-TPDU -
I
I
I
V --- DC-TPDU
I
I
4.6 Connection Release (normal)
Request—>
---- DR-TPDU ---->
Indication—>
<—Release
<---- DC-TPDU ----
<—Indication
5.1 Validity
Data
Data Acknowledge 01101111 5.8
<
W H) K
01011111 5.9
(X W
Rej ect
TPDU Error 01110000 5.10
5.2 Structure
octet-> n n+1
to
P+1
H
header >
A
5.100
5.2.1 Length Indicator Field
| Parameter Code
| Parameter Length
| Parameter Value
00
4*
W
'J
w
H
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
CR is set to 11100000B.
5.101
The Source Reference (SRC-Ref.) is selected by the initiating
transport entity.
CM
<*)
in
ID
vT
CO
A
I
| LI | CC | DST-Ref. | SRC-Ref. | Class/Opt. | Var. | Data |
CC is set to 11010000B.
kD
8 ->
I—
CO
I
DR is set to 10000000B.
Congestion TSAP
Session Entity Not Attached to TSAP
Address Unknown
5.102
The variable part may contain a parameter with additional
information related to the clearing of the connection.
The parameter length may be any value provided that the DR-TPDU
length does not exceed the maximum agreed TPDU size or 128 when
the DR-TPDU is used during the connection rejection procedure.
n
CM
in
VD
H
<n
V
i
| LI | DC | DST-Ref. | SRC-Ref. | Var.
DC is set to 11000000B.
5.7 Data - DT
H
CM
n ->
GJ
| LI | DT | - TPDU-NR | Data
DT is set to 11110000B.
* The EOT bit, when set to one, ignals that this DT-TPDU is the
Ui
TPDU-NR is the TPDU Send Sequence Number. The TPDU-NR uses bits
7-1 in octet 3.
The data field may contain up to the negotiated TPDU size minus 3
octets. (Header overhead)
1 2 3 4 5 n ->
I
I
—
AK is set to 01101111B
5.103
5.9 Reject - RJ
CO
H
GJ
| LI | RJ | DST-Ref. | YR-TU-NR |
RJ is set to 01011111B
5.10 Error - ER
CM
GJ
in
n ->
H
ER is set to 01110000B
Reject Cause:
o
Not Specified
H
Parameter Value:
5.104
6.2 Version Number
6.5 Throughput
Parameter Value:
5.105
6.6 Residual Error Rate
Parameter Value:
6.7 Priority
Parameter Length:
CO
octets
Parameter Value:
Parameter Length:
5.106
CRYPTOGRAPHY IN AMATEUR RADIO COMMUNICATIONS
5.107
is used; i.e., when a logical zero is Is it impossible to decipher a DES
received after 5 logical ones, delete it. encrypted digital audio signal? Of course
Before the closing flag is sent in a packet not. It may be difficult, but it is not
(or frame) a 2 byte cyclic redundancy check impossible. Some radio amateur
(CRC) value is calculated and transmitted. cryptographers have estimated that it would
Packets may be generated and decoded either take a dozen super duper Cray
by software or hardware depending upon maxi-computers 29 days to search through
which variety of packet controller you are all 72 quadrillion possible keys to decrypt
using. Commonly used packet Baud rates on this type of encoded digital audio.
the VHF bands are 1200 Baud and up, and on WRONG: They have overlooked two important
the HF bands, 300 Baud. facets of the problem at hand:
1. The key (though encoded) is transmitted
over the air and may be recorded along with
AX.25 PROTOCOL: the digital audio signal on any video
recorder.
Encoding and decoding packets in real time 2. The plaintext of the encoded digital
using the software approach is a audio is available to be recorded from any
fascinating challenge for the amateur radio satellite TV receiver with a decoder.
cryptographer. First, the SDLC discipline
must be thoroughly understood. Second,
generating and/or checking a real time CRC IS IT LEGAL TO RECORD ?
’ xj
must be understod. Third and last, the
protocol being used must be understood. Of course it is. The master recordings
The latter is probably the most above were made by a paid subscriber to
challenging, but with the excellent ARRL these services.
book delineating the AX.25 protocol is not
all that difficult.
DES USERS GROUP:
5.108
THE UO-11 DCE MESSAGE STORE-AND-FORWARD SYSTEM
O
capability with 128 levels of gray scale.
The Digital Communications Experiment (DCE)
onboard the UoSAT-Oscar-11 spacecraft Three particle detectors (Geiger
2
recently began a new phase of regular counters) and multi-channel electron
operations. Development and installation spectrometer.
of enhanced store-and-forward message
transfer software (MSG2) - capable of 200- Space dust (micrometeorite) detector.
kbytes transatlantic data transfer per day
is the second plateau in the DCE o Magnetometer - to measure magnetic field
experimental program. This program is and to determine spacecraft attitude.
designed to gain experience with computer-
based message systems in low earth orbit. o 192kbytes CMOS memory for storage of CCD
camera and particle/wave data.
The DCE is the first orbiting store-and-
forward device to carry general amateur The spacecraft has three downlinks:
traffic on a continuing basis. The drafts 145.825, 435.025, and 2401.5 MHz. The 145
for this paper were developed and edited MHz downlink is usually on. The 435 MHz
cr
the collaborators in the USA and the downlink is now regularly used for DCE
c
using the spacecraft as the only means operations. The 2.4 Ghz downlink is rarely
o
communications. used .
This paper provides information on the The main spacecraft control computer - the
capabilities and the design of this system On Board Computer (OBC) - is based on an
as well as some background information on 1802 microprocessor with 48kbytes of static
the UoSAT-OSCAR 11 spacecraft. RAM.
The UO-11 spacecraft, also known as UoSAT- The Digital Communications Experiment (DCE)
2, was designed and built at the University is an important experiment on UO-11 —
of Surrey in England during the second half establishing that store-and-forward
of 1983. It was known as UoSAT-B until its communications in low-earth orbit is
launch from Vandenberg Air Force Base near realizable and thus fulfilling one of the
Lompoc California in March, 1984. UO-11 mission objectives. The major goal
of the DCE is to provide a software and
The possibility of flying a small store- hardware testbed for PACSAT-type store-and-
and-forward message experiment onboard UO- forward devices. To that end, it was
11 was first discussed at a PACSAT design designed to be as flexible as possible.
meeting in July 1983. Amateur groups in The DCE is all CMOS and contains:
Dallas, Los Angeles, Ottawa, and Tucson
immediately began work. A flight ready o An NSC-800 CMOS microprocessor using the
unit' was turned over to the integration Z80 instruction set.
team at Surrey five months later. A
partial account of this whirlwind Two 2 Harris HD-6402 UARTs.
o
1 . 1 The Spacecraft
o 16k of Harris 6564 16kx4 static RAM,
The UO-11 spacecraft is cuboid with using 12 bits to store 8 with single bit
dimensions of 35.5cm x 35. 5cm x 58.5cm. error detection and correction in hardware.
There are solar cells on the four long
faces, generating a total of 35 watts of 64k of 8kx8 static RAM, Hitachi 6264LP.
o
of experiments are:
5.109
o 512 bytes of Harris 6641 bootload PROM. 2.0 MSG2 SOFTWARE
This PROM has an identical, command
selectable backup device. MSG2 supports the following features:
o
and 1.8 MHz.
A single message can be up to 16k bytes.
o
The DCE resides on three circuit boards
which fit in a standard UoSAT module box o Up to 128 messages may be stored at one
approximately x 9” x 1”. It draws 120ma
O'
time .
at +5 volts.
o A partially downlinked message can be
The total DCE memory capacity is 126kbytes, continued at a later time without repeating
bringing the total memory aboard UO-11 to parts of the message already received.
366k — far exceeding the total memory
previously flown by amateur spacecraft. o A partially uplinked message can be
continued at a later time without
retransmitting parts of the message already
1.3 Early DCE Operations sent.
UO-11 DCE began its orbital operations on o If a ground station looses positive
June 5, 1984. Initially, it supported control, the DCE will automatically revert
spacecraft operations -- this unplanned to a known state after 2 minutes. The
activity made necessary by the post-launch spacecraft DIARY program will also return
failure in an uplink data communications the downlinks and data multiplexors to a
path. UoSAT spacecraft have considerable known state after 15 minutes.
redundancy in this area, and the problem
could be bypassed by routing all VHF The MSG2 protocol provides complete data
spacecraft communication through either the o
transparency
DCE computer or the spacecraft’s main
onboard computer (OBC). The DCE provided o The ground station’s transmit/receive
this bypass function in the initial months changeover time is not a factor in
of spacecraft operations. Since that time, communications. The ground station can be
the software in both computers has matured full duplex, half duplex using computer
sufficiently to perform the command bypass controlled (fast) switching, or half duplex
function while carrying out their other using human (slow) switching.
duties. The OBC carries out autonomous
operational control of the spacecraft and Restrictions in this version:
its experiments, and also automatically
determines and adjusts the satellite’s o Data transfer is in one direction at
attitude. The DCE is dedicated to the time. Acknowledgments can be full duplex.
message store-and-forward function.
o Only one ground station can interact
A prototype message system, developed by with the DCE at one time. The MSG2
Hugh Pett, VE3FLL, was used for a software provides the means to keep ground
demonstration of low earth orbit store-and- stations from accidentally violating the
forward capabilities at the Pacific restriction.
Telecommunication Conference in Hawaii in
January 1985. The demonstration was done o The integrity of message data stored is
by Hugh and Larry Kayser, WA3ZIA, with not currently guaranteed as the message
support by Harold Price, NK6K and Chris storage area of the DCE memory is not
Wachs, WA2KDL in Los Angeles; and Martin protected against externally induced
Sweeting, G3YJ0 and the UoSAT team in errors. The program and non-message data
Surrey. are protected by hardware.
MSG2, the current DCE software, was MSG2 consists of three elements, a protocol
developed in November 1985 by Harold Price, specification, the MSG2 software running on
NK6K, and Jeff Ward, K8KA, at the the DCE, and several implementations of
University of Surrey’s UoSAT laboratory. so f twa re for various computers which
Assistance in implementing the MSG2 ground implement the MSG2 protocol for ground
segment on the BBC micro was provided at users.
UoS by Michael Meerman , PA3BHF. The
spacecraft automated control software,
DIARY, which also permits DCE ground 2.1 MSG2 Protocol
stations to command the downlinks and
multiplexors, was written by Steve Holder The MSG2 protocol was design primarily to
(UoS) . be easy to implement. Its only other goal
was to provide the minimal message handling
capability to PUT a message on the DCE, to
GET one back, and to KILL a message no
5.110
longer required. <data length> — A single byte giving the
length of the <data> portion, in bytes.
Data length is between 0 and 128 bytes.
As ’’easy to implement” dictated single
user approach, a LOGON and LOGOFF <data> -- <data length> bytes of data.
capability was added to keep two or more This data can be either ASCII characters or
ground stations from starting message binary bytes.
transfer operations simultaneously
<crc> -- Two bytes of cyclic redundancy
Experimentation with minimal ground check. The CRC is a type of checksum, and
stations is planned; the MSG2 protocol was it covers everything from <cmd> to the end
designed to accommodate this activity. of <data>, inclusive.
Messages are broken into small (64 byte)
blocks with CRC error detection. Once a In order to assure that <10hx03h>, the
message transfer is begun, message blocks beginning of frame marker, does not get
can be acknowledged at any time, and in any transmitted in the frame, all <10h> bytes
quantity. This allows a battery powered other than the one at the beginning of a
station to reduce its transmissions by frame are doubled. That is, during
requiring only one acknowledgment for a transmission, <10h> is converted to
message of any arbitrary number of blocks. <10h><10h>. When receiving a frame, after
Unacknowledged blocks are retransmitted in the first <10h><03h> has been detected, all
a ’’round robin” fashion. <10hX10h> sequences should be converted to
a single <10h>. If a non-doubled <10h> is
DCE blocks are acknowledged by sending a encountered in a frame, it is an error.
bit map frame. The bit map contains one
bit for each block in a message. Bits set
to 1 represent unacknowledged blocks, and 2.3 MSG2 CRC
Os represent acknowledged blocks (Fig 1).
The transmitting station continues to send Every frame transmitted by the MSG2 ends
the blocks indicated by 1 bits, until with a two-byte Cyclic Redundancy Check
Cu
bitmap is received with all bits set to 0 (CRC). The CRC is an error detection code,
and if you use the CRC equation on a
Figure Example of an MSG2 Bit Map received frame, your two-byte answer should
match the two bytes transmitted at the end
of the frame. The CRC used by MSG2 is
CO
CM
cn
"'J
(1)
calculated using a modified CCITT CRC
(2) algorithm. A Z80 machine-language program
showing how this is done is provided in the
CN
(3) appendix.
Ln
(1) numbering of bits in bit map (MSB is 7) The CRC calculation includes all bytes from
(2) bit map ack’ing all but blocks 2 and 4 <cmd> to the end of <data>. The CRC
(3) blocks represented by bit map bits calculation is done prior to doubling <10h>
bytes and, by the receiver, after removing
the extra <10h>.
2.2 MSG2 Frame Format
5.111
Message number, 1 byte. If the first bit END resets DCE software to the title
of this byte is set, the message is not display mode, without logging out the
complete, and the message title may be ground station .
invalid. Message numbers for complete
messages run from 0 to 127. Thus, the DCE has all of the commands
needed in a computer bulletin-board system.
Message length, 1 byte. This the length
of the message that is stored on the DCE,
it is not the length of this title frame. 3.0 DCE SOFTWARE
Multiply this by 64 to get the message
length in bytes. The DCE MSG2 software is implemented in Z80
assembler code. It is in assembler for
Call sign station using DCE, 9 bytes of both size and speed, the DCE MSG2 runs in
iw
O
no one is using the DCE then 2.5k and supports full duplex operations at
f— <
M-t
ASCII.
this will be 9 blanks. 1200 baud on a Z80 with a .9MHz clock.
Title of the message, the remaining The program resides in the memory protected
<length> minus 11 bytes of the <data> by hardware EDAC. Messages are stored in
field. This is taken from the first line 96k of r. on-protected memory. This memory
of the message. The length referred to is mapped into the upper 32k of the Z80
above is the FRAME LENGTH (which follows memory space. There are two 32k banks and
the inverted command). The 11 accounts for two 16k banks. The banked memory is
the message number, message length and call organized as a linked list of 256-byte
sign data. blocks. All of the banked memory is used
except for the block in bank three
The title for message number 0 contains containing location A5Flh, which has a bit
MSG2 administrative and status information. that went bad shortly before launch.
It currently contains MSG2 version number, Messages consist of a linked list of memory
a counter from the error detection and blocks, unused blocks are kept on a free
correction (EDAC) memory, the number of list.
free memory blocks available, the number
that will be assigned to the next message, All of the link pointers for the memory
a counter that is incremented every time blocks are kept in the memory protected by
MSG2 receives valid f rame, an error hardware EDAC. Currently, blocks from
indicator and an indication of which bank deleted messages are returned to the top of
of RAM is active. Message 0 itself is used the free list where they will be the next
to download portions of the program to be re-allocated. This tends to kept
variables, including a table of memory bank 1 in use and bank 4 empty. This will
address where the EDAC circuits have be changed in a future version.
corrected an error.
The banked memory is not currently
protected against charged-particle induced
2.5 Other Frames soft errors. Algorithms are being
developed to provide this memory with
The above information and short computer software EDAC in the future. In 60 days of
co
program will allow causal ground observes monitoring, we have only seen three errors
to monitor DCE activity. During actual DCE in the 16k of hardware-protected memory.
operations, however, several other frame It is hard to draw conclusions from this
types are used. The following command limited data, and the memory technology is
frames are used by DCE ground stations, and not the same in the banked memory.
the list provides insight into the Experiments are planned to gather data on
operation of the MSG2 mailbox. soft errors in all parts of memory.
LOGOUT frees the DCE for use by another The MSG2 software on the DCE supports two
ground station. Logout is automatic if the non-message related functions.
DCE does not hear the ground station for
two minutes. BYPASS - The DCE sends all characters
received through the VHF uplink to the UART
PUT is used by the ground station to store that leads to the spacecraft command
message to the DCE. system. This provides backup to the
co
5.112
failure in the VHF uplink facility shortly in MSG2 will permit messages in this format
after launch. to be searched by To: field and downlinked
in a group. The format is flexible, and
MEMWASH - This function washes any fields may be added to it if the DCE is
accumulated single-bit errors out of the used for other than direct ground station
hardware EDAC memory by reading a location to ground station data transfer.
and writing it back. A different memory
byte is fetched and stored once on each
trip through the main loop of the software, 6.0 THE FUTURE OF THE DCE
which occurs at least once every 9.2ms.
All of the EDAC memory is checked at least Several hundred kbytes of data have
once every 150 seconds, this number might traveled between UoSAT headquarters in
be 10 to 100 times faster, depending on Surrey (UK) and NK6K in Los Angeles (USA)
uplink activity. on the DCE. MSG2 ground station and
satellite software works efficiently and
A third function under development is the reliably. While much of the future use of
gathering of information on soft memory DCE store-and-forward capability depends on
errors in the unprotected areas of memory. radio-regulatory matters beyond our
This is to further the DCE’s role in control, the DCE has successfully proven
gathering engineering data used for PACSAT that store-and-forward communications using
development as well as to provide a high satellite in low-earth orbit can be
-
level of data integrity for messages stored carried out routinely. It has put us in a
onboard the DCE. position to make informed design decisions
while working an a proposed dedicated
store-and-forward spacecraft.
4.0 MSG2 GROUND STATION SOFTWARE
The limited memory available on U0-11 and
The MSG2 protocol provides a small number the fact that DCE activities consume
of basic features: logon, logoff, put, get, bandwidth on the UoSAT-11 command uplink
and kill, The ground station software and general downlink dictate that only
-
supplies additional ’’user friendly” limited number of selected ground stations
facilities. Such features include will take part in futu re DCE
remembering the start point for partial communications. These ground stations will
messages, providing wildcard or multiple be chosen such that, regulations
file transfer, automatic logging, and permitting, each can serve as a gateway --
providing antenna pointing cues; these delivering amateur radio news and and
features are not part of the basic set of technical information to stations outside
functions, but make the DCE easier to use. of the DCE ground station network.
The features available at any particular
ground station depend on that station’s Equipment for an East Coast North America
hardware. gateway is in place and should be
operational by the time this sees print.
A station will be brought on the air soon
5.0 MESSAGE FORMATS in New Zealand. Discussions are under way
for stations in Australia and Japan. The
MSG2 is a data-transparent system, i.e. DCE is ready now to serve as an effective
messages are stored as a single string of 8 link between the amateur radio service’s
bit bytes. Message content does not effect far flung packet radio networks.
and is not effected by communication
through MSG2. Most messages, however, will
follow a fixed format for their first line. 7.0 SUMMARY
The first line is defined as the text up to
the first <cr>, or 116 characters. This is The DCE project was begun as an opportunity
the part of the message that is sent on the to gain experience in the design,
downlink in title blocks. construction, and orbital operation of
space-based large-memory store-and-forward
message relay satellites. The parts used
5.1 Person-to-Person Message in its construction are giving us data on
the suitability of high density non
The following format is used for standard specialized memory devices and
messages: microprocessors (i.e. inexpensive) in low
earth orbit, which is directly applicable
To:<call> De:<call> Re:<title> to future amateur space projects. The
coming months will give us experience
The call can be up to 9 characters. There scheduling gateway operations to maximize
are no spaces after the colon in any field. data volume in a worldwide network of
ground stations.
For example:
The capability exists now to move 114k
To:G0/K8KA De:NK6K Re:Software updates bytes per day to or from single ground
sta t ion .
The To: and De: fields are the call signs
of DCE ground stations. A future command The experience gained from writing MSG2
5.113
software, managing DCE operations, and
dealing with regulatory issues will be ; COMPUTE CRC ON A, INTO HL
of great use when the mailbox on JAS-1
becomes operational and when design teams CKSUM:
00
tr-
os
set to work on PACSAT — an amateur radio
u o
satellite dedicated to store-and-forward
r*
n
>
communications. CRC2:
LD A,C
RLCA
Appendix 1 - Acknowledgments LD
r- >
> n
LD
Here is a list of the North American crew RLA
LD
> tr
who worked on the design and construction
x >
of the DCE, in no particular order: LD
RLA
Stan Kazmiruk, VE3JBA; Dick Atkinson, LD H,A
VE3JBO; Gord Scale, Bob Gillies, VE3JA; JR NC,CRC4
Hugh Pett, VE3FLL; Geoff Clarke, VE3JBD; LD A,H
Dale Ward, George Roach, VE3BN0; Grant XOR 10H
Bechthold, VE3JBF; John Henry, VE2VQ; Ron LD H,A
Archer, VE3CNM; Murray Gold, VE3KHG; Larry LD A ,L
Kayser, WA3ZIA; Dave Cheek, WA5MWD; Chuck XOR 21H
Green, NOADI; Lyle Johnson, WA7GXD; Harold LD L,A
Price, NK6K; Bill Reed, WDOETZ; Jose CRC4:
Sancho, WB5YFU; Bob Stricklin, N5BRG. DEC B
Richard MacBeth, G8VLY, assisted in the JR NZ,CRC2
final close-out at UoS. Funding for DCE RET
hardware was provided by Volunteers in
Technical Assistance as part of their In using this program on DCE frames,
support of the PACSAT project. Gary remember that the CRC covers all bytes from
Garriott, WA9FMQ is the VITA interface. the <cmd> to the end of the <data> segment,
Acknowledgment is given to AMSAT for its inclusive. It does not include the CRC
continued support, and to the UoS team. itself, or the leading <10h><03h> bytes.
Also, CRC calculation is done prior to
Additional information on the DCE hardware, doubling <10h> bytes and, by the receiver,
design, and construction can be found in a after removing the extra <10h>. To check
paper by Lyle Johnson, WA7GXD, ’’The OSCAR your CRC program, CRC check the characters
11 Packet Experiment”, Proceedings of the "TEST MESSAGE”. The result should be CRC
Third ARRL Amateur Radio Computer bytes L=253 and H=223. 253 would be the
Networking Conference. byte transmitted or received first.
5.114
AUTOMATED TRAFFIC HANDLING ASSISTANCE
5.115
This allows routing of messages by Automatic message assistance
city/state, and automatic word counting applications have potential. They will
at receive points to check for flow be most useful where large volumes of
control problems. While PACGRAM creates similar traffic are generated, or when
long frames, operation with PACLEN set fast liaison with the NTS is required.
to smaller values can be used to improve Official traffic for disaster relief
operation on marginal paths. The agencies is not likely to benefit as
PACGRAM definition is included as an much from these developments.
attachment.
A
A
A
A
A
A
A
A
A
Pacgram Protocol Definition <<<<<<<<<<
(Versions 1.5.0 and later)
On the receiving end, PACGRAM decodes the data stream from the TNC for the
starting characters of a PACGRAM. When it finds these characters it receives
the rest of the message and can later decode it back into the Radiogram format
for display on the console, or as printed on the printer. Received PACGRAMS are
stored in buffer space and/or disk files and maybe later retransmitted for
forwarded to other stations in the network.
Special characters are used within the PACGRAM to signal the start of the
PACGRAM message, the end of the PACGRAM message, and to separate the fields of
information within the PACGRAM message.
These control characters and the protocol are described in the following
definition.
The control characters, and character sequences, used in PACGRAM were based
on the unlikelihood that they would ever appear in part of a normal Radiogram.
Consideration of the CW traffic nets that will handle message traffic generated
with PACGRAM was also taken into account since many characters cannot be sent
using CW.
For those stations not possessing PACGRAM software, these control characters
were selected so that a PACGRAM can be read directly from a terminal and written
back into the standard Radiogram form very easily by hand. A Formsmode has been
added to the protocol to allow the sending of a directly printable PACGRAM.
This enables any station to receive a PACGRAM already formatted to be printed on
hardcopy. This form of PACGRAM uses its own starting sequence that can be
easily detected by a small computer running BASIC. Once the start sequence is
detected, it can then route all output to the printer. The standard end of
PACGRAM character is used to indicate the end of the print so that the output
can then be routed back to the console.
The start of the PACGRAM sequence has been altered since the first release
of this protocol in an effort to avoid false starts caused by WORLI like PBBS’s
that use the # character in their data.
5.116
—> The DELINEATION character shall be an asterisk
Note: The CITY and STATE fields have been separated into two individual fields
in this version of the protocol. This allows for automated routing based on the
destination City and State.
Field types may be either alphabetic or numeric but characters that cannot be
sent using CW will not be allowed.
—> The END of a FORMSMODE PACGRAM shall be an ampre sign ’ &’ followed by a
carriage return.
The purpose of the end of FORMSMODE sequence is to signal the end of a
FORMSMODE PACGRAM. A small computer running a BASIC program can trap this
sequence and then direct its output back to the console.
5.117
As you can see, the length is well within 256 bytes, the maximum AX.25
packet length. Even with the Paclen set to 256, a single packet could contain a
fairly large text field. You can see the benefits of using PACGRAMs over the
voice or CW methods of sending traffic. This packet can be sent in just a
fraction over one second at 12 bps, an enormous improvement over existing
amateur traffic systems.
Also notice that in my example, since I left the fields for Handling
Instructions and Title blank, that PACGRAM simply put no data between the two
asterisks. This is necessary to maintain the field count for decoding of the
PACGRAM at the receiving end and also wastes as little of the transmission
bandwidth as possible.
5.118
PACKET RADIO DEMONSTRATIONS AS A SUPPLEMENT TO
CLASSROOM INSTRUCTION IN TELECOMMUNICATIONS
by
February, 1986
Abstract
During the past year the author has had the opportunity
to use packet radio hardware and operations to demonstrate
concepts taught in telecommunications courses at an upper
level university. This article provides a brief discussion
of how this was accomplished. A description of the courses
and their intended audience has been included.
Introduction
5.119
Now the function of hardware and software to be governed by
the X.3, X.28, and X.29 standards can be more easily
understood.
Conclusion
5.120
clearly understood. From a radio amateur’s point of view the
important outcome was one licensed amateur and two more
studying for the exam. Clearly it was a productive semester.
Acknowledgements
rr
a
out that all participants in the EIES "protocol war
provided more than a few lecture notes. My thanks to all.
Trademarks
5.121
OUTLINE OF SATELLITE JAS-1
Introduction Transponders
N
Major Specification JAS-1 CW or PSK
O
Launch NASDA, with H-l rocket and the system block diagram of JAS-1.
<<
Construction signal
DDEM : demodulator fo r di gital
Weight : 50 kg signal
Configuration : polyhedron of 26 DCM-A: digital commun icat ion
faces covered in module A
solar cells DCM-B: dit. B
Size : 400mm(dia.) x 470mm
(height) ital Trans
-
5.122
nels are accepted at the same t ime, whil e communication equipment may not have PSK
downlink signals are delivered only modem, so it is requested to prepare PSK
through one channel, f o f f ici ent use o f modem. Transmitter for uplink should be
-5
traffic. Frequency s pectrum for JAS-1 1 s 145 MHz of FM and downlink receiver, 435
shown in Figure 4* D igital QSO is possi MHz of SSB.
ble not only for stat ion to station, but
for BBS or sending te lemetry data of Bit rate of data is 1200 bps and the
satellite in packet, by means of the pro modulated signal for uplink is F2 and for
tocal AX. 25, level 2 , version 2. downlink, SSB. Data to be transmitted is
transformed into Manchester code, by clock
The uplink signal carries Manchester- signal, and fed to the FM transmitter to
coded NRZl/HDLC data, and this signal is produce F2-modulated RF signal of 3 kHz
demodulated by DDEM, that contains four bandwidth. Downlink signal is transmitted
communication channels and one command by SSB with PSK modulation, and this is
channel. Output signals of DDEM are pro converted into audio frequency, and is
cessed by four-channel HDLC of DCM-B to synchronously detected. After detection,
deliver them to CPU of DCM-A. DCM-A is data are fed to TNC, through a low-pass
composed of CPU, NSC-800, memory of 1 filter and adjusting amplifier. An exam
Mbyte made of 256 kbit DRAM, A-D converter, ple of the modem for communication via
encoder and so on. CPU processes signals JAS-1 is shown in Figure 5. It is
of communication and telemetry signals, important and interesting problem to over
and analyses command signals. Communica come Doppler effect in various passes of
tion signals, as well as telemetry data, the satellite.
are transformed into packet by HDLC of DCM
-B, and JTD transmits these signals by PSK Closing Remarks
modulation, at the frequency of 435*91 MHz.
1 watt of power. Project of JAS-1 was planned and has
been promoted by JARL, under which the
Antenna amateur satellite committee has taken the
role of steering the plan. Manufacturing
Antenna system consists of three of the satellite is carried out by NEC
parts: the receiving antenna, the trans Corporation of Japan and the satellite
mitting antennas for both analog and digi repeater group of the committee. The satel
tal signal, all having almost omni-direc lite repeater group, of which members are
tional characteristics. The receiving excellent staffs from the JAMSAT (Japan
antenna is a monopole set at the top of AMSAT), made both analog and digital
the satellite. Each of two transmitting transponders and the digital memory by
antennas has four elements around the their own hands. NEC is responsible not
satellite. These are connected to the only for manufacturing of power system
antenna power divider (APD) and phase and satellite structure but also for sys
shifting cables, to make the radiation tem design and integration. This work is
pattern circular. Radiation is LHCP look supported by many people in the world, and
ing the satellite at its bottom. here we are to thank them heartily. And
we are expecting nice flight of JAS-1 and
QSO via Digital Transponder nice QSOs all over the world via JAS-1.
5.123
receiving antenna
(R-ANT)
antenna
NT)
— frame
wire harness
I
<
CNV
TD
F
z
J
X
DCM-A
TA
an~5
J
solar panel 3
TA
J
o
0-
analog
Xmitting antenna
(A-ANT)
attach fitting
I
I wire
I structure harness
I I
I I
I I
libration
magnet I
I
I
J
5.124
antenna downlinks
uplinks ffR-ANT) (A-ANT)
435.9 ~435.8MHz
receiver anal.Xmit pwr.div 435.795MHz
(J RX) (JTA) (APD)
------- 1----- 29.605MHz eacon
digital digit demo ------ ---- J
435.795MHz
(D-ANT) |
comm. CW/PSK
(4 ch.)
145.91 digt.Xmit 1 pwr div. 435.91MHz
MHz
(JTD) i (APD)
___________ >
-A (DCM-B)
HDLC cw \ analog
(4 ch) [lencoderb AU .*-mltipl5
:onvert K
;
1 J tlm data
status tlm
cmd se: ector tlm
h___ port
HDLC cwportp
I
b cmd
decoder selectirr cmd output
upper digital
channel
analog
—L pass band
I
l
I uplinks i
i i
-------------- L i
i
5.125
Manchester encoding +5V
—L(jj)tc
x32 CLOCK
-@TXD
UPLINK
FM-TX 2.2K 0.1
MIC JACK
10 mV p-p
— HF
0.047
Ttrr
FROM/TO TNC J 5
1
AF-DEMO
r®MSC OT
10K
r—(7) DSR
20KVR IC3
4.7/z
435.91MHz
ici 4013
-(7)dtr
565 7 8 10
DOWNLINK
SSB-RX r-(7) RTS
>—IHWV-
CK
IO
AF IN ^7 3200Hz
4 6 1600Hz -@CTS
lVp-p
-1600 Hz 5
+5V
IC8
2 4049
----- —Qt) RXD
+ 5V
IC2 10K<
565 0.01
|8 10 IC5
lOmVp-p 2 7 22K 458
—AW
3 6
VvV----- 1
IK IK
|
5.126
What’s All This Racket
About Packet?
Packet radio is growing fast. What’s it like? Read on.
By Harold Price,* NK6K
his is an article about packet radio. If you don’t know speeds; 120 characters per second is standard on the 2-meter band,
what packet radio is, that pronouncement won’t and a recent development permits 960 characters per second on
mean much to you. “High Speed CD/CSMA Digital the 220-MHz band. Below 30 MHz, 30 characters per second is
Communications in the Amateur Radio Service, Theory and Ap used. Assuming that you already have a radio and a computer
plications” isn’t a real grabber either, so “this is an article about or terminal, it will cost you between $180 and $500 (higher cost
packet radio” will have to do. This article will have a slant for more “bells and whistles”) to get on packet radio. This is
different from most the cost of a terminal node
previous articles about controller (TNC), a box
packet radio. It will not that connects the data-
discuss what you will be generating device to the
able to do with packet in radio. In other words,
the future, but what you packet allows hams to ex
can do with packet now: change information much
how to use the existing net faster than before with no
works, which of several errors at a reasonable cost.
I-oll-oi
I / t
i*
Terminal
frequencies in your area are L J
auooCW-IO
Noda
What Is Packet?
SO
neo rrr
tko Controller
Amateurs worldwide are working together digital outputs, plug them into packet con Computerized Radiograms
on future standards and applications. trollers, and send absolutely error-free pic Traffic handlers will have recognized by
Papers from Japan and Germany appeared tures. Better yet, store the pictures on the now that this is the computerized
in the Proceedings of the Fourth ARRL local host system for retrieval anytime. equivalent of what they have been doing
Amateur Radio Computer Networking Digitized voice can be sent over packet since the beginnings of Amateur Radio.
Conference, and North American papers radio. Several voice repeaters could share Station of Origin, To address, a Check
were presented at last year’s packet-radio the same high-speed digital network for Number and formal procedures for relay
meeting in Sweden. Three amateur cross-country linking. Using packet tech ing a message are all part of packet radio.
satellites, JAS-1, Phase III-C and PACSAT niques and digital compression technology, Packet is putting the “RR” back in
will all use the same basic access methods. medium-scan TV that approaches fast-scan “ARRL.”
These satellites involve many parts of the quality can be sent at 56,000 bit/s and can The last piece of the pie is the
world, including Canada, Germany, Japan, be routed over high-speed packet nets with acknowledgment procedure. When a
the U.K. and the U.S. other traffic. You’re putting us on, right? packet is sent out, the sender expects an
Nope. Check the cover; this isn’t the April acknowledgment (ACK) that the packet
Packet is digital. issue. was received correctly. If the ACK is not
Experimentation with non-character received, the packet is retransmitted. The
communications has just started. That The Hard Part receiver only ACKs the packet if it was
makes this a discussion of the future, which Here’s the technical part, snuck in at the received with a correct FCS. This protects
I said I wouldn’t do till the end, but ... middle. Don’t worry, it will be over quick a packet conversation from fades, static,
Packet is not limited to character com ly. The secret of why packet can do all these collisions (when two packet stations
munications. Take two SSTV units with amazing things is buried down in the transmit at the same time), adjacent-
channel interference and other problems ♦♦♦CONNECTED TO W6IXU
common in amateur communications.
This means that the computer in your TNC
What Does It Look Like?
has exchanged some preliminary informa
So far we’ve talked about what packet tion with the other TNC and is ready to
can do for you and about how it does it. proceed. If the other station had already
But what does a packet contact look like? been in a connection with a third TNC, you
In the following examples, we’ll look at the would get a busy signal:
procedures used by the TAPR, AEA,
Heath and Kantronics TNCs. Other TNCs ♦♦♦W6IXU BUSY
follow similar, but not identical,
procedures. If W6IXU is not on the air, your TNC
First, you must tell the TNC your call would make several attempts to establish
sign. For example: the connection and then print a message
telling you that it has not succeeded.
MYCALL NK6K Assuming you get connected, everything
you send to your TNC will now be sent to
is the command to enter a call sign. Most W6IXU with all the error checking and
TNCs allow you to change your call sign retransmission just described. Each time
at any time and have a way to remember you hit the enter or return key, a packet
it while the power is off. is formed and sent. Packets received from
As in all other modes of Amateur Radio, the other station are displayed between the
packet allows you to “read the mail’’ or lines you enter, much as if a full-duplex
monitor channel activity. This is called the RTTY QSO were taking place.
monitor mode, and looks like this: When you are done with the con
versation, you disconnect by entering
WA6JPR>WB6YMH: HELLO SKIP, WHEN IS control-c and typing disc.
THE NEXT OSCAR 10 PASS? The commands and scenario above are
WB6YMH>WA6JPR: HANG ON WALLY, I’LL all you need to know to carry on a packet
TAKE A LOOK. radio QSO. There are many other options
(around 60) and several other combinations
The call signs of the stations involved ap of connected and monitor modes, but they
pear as “from > to,” and the contents of are like the 40 knobs, switches and meters
the packet appear after the In this on most modern HF rigs; there are
manner, you can monitor all traffic on the operators who constantly twiddle, and
frequency. You can also watch for a sta those who only use the push-to-talk switch
tion calling CQ, which might look like this: or the key.
WB6HHV>CQ: MIKE IN SAN DIEGO LOOKING So What Are You Waiting For?
FOR ANYONE IN SIMI VALLEY. We’ve only touched briefly on what can
be done with packet and mentioned even
You can send a CQ by entering the con less the technical details of how it works.
versation mode of the TNC. You go to the For some, packet is an end to itself—
conversation mode by typing: experimenting with new ways to transfer
data. For others it is just a tool—a new way
CONVERSE to pass traffic, spot tornadoes, run a
parade, score points on Field Day or meet
You can then type your CQ: new people. To find out more, look into
any of the references listed at the end of
MIKE IN SAN DIEGO LOOKING FOR ANYONE this article. Or, wait for the second part of
IN SIMI VALLEY. this article, which describes a TNC in
detail. See you on packet!
Your TNC adds your call as the FROM ad
dress, and CQ as the TO address. The
receiving station’s TNC adds these ad Bibliography
dresses to the front of the displayed text. AX.25 Amateur Packet-Radio Link-Layer Protocol.
You answer a CQ or establish a contact Newington: ARRL, 1984.
First ARRL Amateur Radio Computer Networking
by using the connect command. This Conference. Newington: ARRL, 1981.
“connects” your TNC to another station Fourth ARRL Amateur Radio Computer Net
and begins the acknowledgment procedure working Conference. Newington: ARRL, 1985.
Johnson, L., “Join the Packet Radio Revolution.’’
discussed earlier. An example of a connect 73 Magazine, Sept, and Oct. 1983, and
command is Jan. 1984.
Morrison, M., and D. Morrison, “Amateur Packet
Radio” Ham Radio, July and Aug. 1983.
CONNECT W6IXU VIA WA6OZJ, K6TZ, WB6DAO Rinaldo, P., “ARRL Board Approves AX.25
Packet-Radio Link-Layer Protocol,” QST,
Dec. 1984.
Second ARRL Amateur Radio Computer Net
This asks for a connection between you and working Conference. Newington: ARRL, 1983.
Tannenbaum, A., Computer Networks. Englewood
W6IXU routing through (via) three other Cliffs, NJ: Prentice-Hall, 1981.
stations. When the connection has been Third ARRL Amateur Radio Computer Net
working Conference. Newington: ARRL, 1984.
established, the TNC notifies you by The 1985 ARRL Handbook for the Radio Amateur,
printing pp. 19-21 to 19-31. Newington: ARRL, 1984Jgr^n
A Closer Look at
Packet Radio
Last month we intro
duced you to packet
radio; this month we’ll
look at what makes
packet work—the
terminal-node
controller.
By Harold Price, NK6K
1211 Ford Ave., Redondo Beach, CA 90278
f you’ve read last month’s article on Is everybody back now? Good. This puter, a modem, a digital voice encoder or
I packet radio, you have probably already month, we’re going to take a look at some
joined the ranks of packet users and are of the technical parts of packet radio,
ready to learn more about how packet specifically the TNC—that combination of
any other data-generating/using device.
The TAPR TNC 2 communicates with this
“user” through a serial communications
works. If you haven’t read last month’s ar hardware and software that does much of port using standard RS-232-C voltage levels
ticle, please read it now. We’ll wait. the hard work involved in supplying all of and signals. This means that if you have
While we’re waiting for them to get the services described previously. a terminal or computer that can be con
back, let me mention a few things that hap Since it is sometimes useful to point to nected to an external modem, you can use
pened in the shack today, all of them fairly a concrete example of a concept under the TNC 2. The flow of information on the
common occurrences on packet. You’ll discussion, we’ll use a TNC called TNC 2 user port is independent of the flow of in
recall, of course, that packet is a mode of (Fig. 1), designed by several hams who are formation through the radio; the speed and
communications that allows information in part of an organization called TAPR, the data format used on the user connection
digital form to be passed easily between Tucson Amateur Packet Radio Corpora don’t have to match what’s going on else
amateur stations, that it is high speed, and tion. TAPR is a nonprofit research and where in the TNC. Your terminal or com
that it guarantees perfect transmission of development group that does work in puter doesn’t even have to “know” that it
data. Packets are also easily manipulated packet radio in much the same way that is connected to a TNC. Most TNCs permit
by computer, allowing computer-assisted AM RAD and AMSAT do work in their data rates between 110 bit/s and 19.2 kbit/s
relaying of messages and data files. fields. The concepts that will be discussed on the user port. While some TNCs change
I received a message that originated at here hold true for most TNCs, but are par data rate with a software command, the
a station in Newington, Connecticut. It had ticularly applicable to the implementations TNC 2 uses switches.
been relayed by computer on VHF to a sta by AEA, Heath and Kantronics, since their
tion in Boston, where it was relayed by TNCs employ elements of the hardware 1 he Radio Connection
computer on 20 meters to a station in and software previously developed by The TNC must monitor the incoming
California. Then, I picked it up on VHF TAPR. signals and convert the tones it hears into
at my home in Redondo Beach in Southern ones and zeros that the rest of the TNC can
California. I added some comments to the What A TNC Does deal with. It must also convert ones and
message and transmitted it on VHF In professional circles, a TNC is called zeros that the TNC wants to send into a
through two real-time relay stations to a a packet assembler/disassembler (PAD). form the radio can transmit. These jobs are
computer 200 miles north of me, where it From this name, it is easy to figure out that performed by a demodulator and a modu
will be picked up tomorrow by another sta a TNC’s primary task is to convert data lator, respectively. The combination of
tion 200 miles farther to the north. into packets, and packets into data. The modulator and demodulator is called a
I “talked” by keyboard to a station TNC gets data from the user, forms it into modem. The TNC 2 is equipped with an
400 miles north, in San Francisco, using packets and sends it out. The TNC also on-board AFSK modem that can be used
four relay stations. I transmitted a copy of listens for packets, changes them back into to send data at various speeds, using
a packet-radio newsletter to a local ham at data and passes the data to the user. There various mark and space tones. On VHF
the speed of 120 characters per second. All are several subsections to a TNC that allow packet radio, the 1200-bit/s standard is
of this was done using a VHF radio at it to do this. In the following discussion, based on the Bell 202 modem standard. It
tached to a packet-radio controller called refer to the block diagram in Fig. 2. uses mark and space tones of 1200 and
a terminal-node controller (TNC). One of 2200 Hz. For HF, 300 bit/s and the
the messages, by the way, discussed plans The User Connection Bell 103 modem standard is used, using
to begin transmitting data at 960 characters The TNC is usually attached to a local 1070- and 1270-Hz tones. As it turns out,
per second. data device. This can be a terminal, a com which tone is used for mark and which for
talk (PTT) circuit of the radio. Since TNCs
are sometimes used as unattended auto
matic repeaters, the FCC and common
sense dictate that there be some protection
against a TNC failure causing a long key
down period. The TNC 2 provides a timer
on the PTT line that will turn off the
transmitter if it is on for more than 15
seconds. Fifteen seconds is longer than it
will take to transmit the longest possible
1 group of contiguous packets.
In the TNC 2, as Fig. 2 shows, both the
radio I/O functions and the user I/O func
r~ tions are performed by a single Zilog serial
I/O (SIO) chip. The SIO provides two in
?
dependent serial I/O channels in one IC.
This reduces parts count, power consump
tion and price over previous TAPR designs,
while retaining the high speed made possi
ble by having these functions performed in
HO
hardware.
Data Processing
Packet radio is easy for the operator, but
Fig. 1—The PC board for the TAPR TNC 2 shows the size and parts-count reductions made it is no simple task for the TNC. The TNC
possible by advances in IC technology and experience gained through design of the
TAPR TNC 1. must listen to both the user’s data port and
to the radio. It must watch the stream of
packets, looking for packets addressed to
space is of little importance on packet, since able for this purpose, and, with the correct it. It must acknowledge packets received
the data is sent using the special Non- external modem, the TNC 2 will support correctly, complain about those received
Return-To-Zero-Inverted (NRZI) en data rates up to 56 kbit/s. out of order and ignore those received with
coding. With NRZI, a change from one Before they are sent to the demodulator, errors. The TNC must send out its own
tone to the other is used to signal a zero, received signals are conditioned by a packets, keeping track of those that have
and no change of tone signals al.1 switched-capacitor input filter. This is done been acknowledged and those that haven’t.
Although the modem in the TNC 2 is because the frequency response of most It must time several events: how long to
limited to 1200 bit/s or slower, TNC 2 and VHF FM radios is somewhat less than wait for an acknowledgment, how long to
several other TNCs provide a way to bypass optimal for easy decoding of a 1000-Hz wait for the transmitter to turn on, and
the on-board modem and use an external shift. An entire article could be devoted to others. The TNC must know who it is
modem. A modem disconnect jack is avail- the intricacies of the modem, and, in fact, talking to (so it can tell other TNCs it is
one has.2 busy), keep track of the number of times
In addition to modulating and demodu a packet has been retransmitted and be able
1 Notes appear on page 20. lating, the TNC must control the push-to- to relay (digipeat) other user’s packets when
SERIAL
INTERFACE
Z80 CPU
Z8O SI0
BYTEWIDE RAM/ROM
10- TO 15-V DC
INPUT POWER
SUPPLY AUDIO
IN
MODEM
DISCONNECT RADIO
INTERFACE
Fig. 2—A block diagram of the TAPR TNC 2. While TNC implementations vary, the services provided by the subsections in this TNC are provided
in all other TNCs.
Glossary ternal battery keeps memory active, so the
rig can “remember” repeater frequencies
acknowledgment (ACK)—a packet sent by a station to confirm correct reception and offsets. TNC 2 uses its battery-backed-
of a packet or group of packets.
address—in amateur packet radio, a station’s call sign followed by a number up RAM to remember your call sign and
from 0 to 15. the settings of the more than 70 variable
AFSK—audio-frequency shift keying. parameters used to configure the TNC to
ASCII—the American National Standard Code for Information Interchange, a your needs.
common binary code that specifies 7-bit representations of letters, digits,
punctuation and special characters. Software
AX.25—the most common packet-radio protocol. AX.25 is specified in the ARRL Writing the software used to control a
publication AX.25 Amateur Packet-Radio Link-Layer Protocol. This protocol TNC is one of the more difficult program
defines communication between two stations with only rudimentary relaying by ming tasks required in Amateur Radio. It
intermediate stations.
bit—a single signal element, which can be either a binary 0 or 1. Groups of bits
is rivaled only by the software in OSCARs
are used to convey information. Signaling speeds are usually stated in bits per 10 and 11, and the software on some of the
second (bit/s). more complex hilltop repeater and remote
bulletin board—a computer system used to store messages, files and bulletins, base systems.
connection—the imaginary “data pipeline” that exists between two stations that A TNC requires two different types of
are communicating using a packet-radio protocol. During a connection, all data software. First, the TNC is a computer
sent by one station will be delivered to the other station without errors, speaking to other computers. It does this
data—bits that convey information. using an agreed-upon language called a
digipeat—to retransmit a packet after it has been received. This is a specific protocol. A good protocol definition is very
function of the AX.25 protocol and is performed by digipeaters. With suitable
precise, leaving no room for interpretation
radio equipment, a TNC can act as a digipeater.
flow control—a means of controlling the rate at which data is transferred be or surprises. The packet-radio protocol in
tween two devices. Examples are the XON/XOFF character-based flow-control widest use today is called AX.25™ Pend-.
system used between the TNC and the host computer or user; hardware flow The specification of AX.25, 40 pages of
control, which uses the RS-232-C control lines; and the “sliding window” flow protocolese, is perhaps the most com
control system used between TNCs. prehensive set of rules that any large seg
frame check sequence (FCS)—a 16-bit number included in every packet to aid ment of the Amateur Radio population has
error detection. The number is the result of a calculation called a cyclic ever agreed to live by (apart from Part 97
redundancy check (CRC). itself).3 AX.25, however, is only the first
gateway—A device that provides a path for data flowing between two networks.
In amateur packet radio, it may be used to connect stations on two different floor of a multiple-story house that is being
bands or frequencies. built by the packet-radio community. The
host system—a computer system that can be accessed via packet radio. As well task of specifying (and agreeing upon!)
as providing the services of a bulletin board, a host system can run programs protocols has really just begun. Although
for remote users. the AX.25 protocol is sometimes hard for
mailbox—see bulletin board. humans to understand, it is just the type
modem—the device that converts logic voltages to audio tones for transmission, of well-defined task at which computers
and tones to voltage levels for reception. A contraction of excel.
modulator/demodulator.
The second type of software in a TNC
monitor mode—a mode of TNC operation during which the TNC displays all
packets that it receives, not just those addressed to it. is the user interface program. Here
network—a group of stations that can relay data among themselves, things are a little less certain; humans
network node—a station that uses a special network protocol (as yet, none of have an amazing propensity for attempting
these exist in Amateur Radio). things never before tested, tried, planned
NRZI—Non-return-to-zero-inverted. A form of bit coding in which a 0 bit causes a or even imagined. What humans lack in
change of state, or level, and a 1 bit causes no change in state. speed, they make up for with the talent
packet—a group of bits that contains, along with any data being communicated, for unerringly choosing the wrong thing
the addressing, control and error-detection information necessary for error-free to do at the wrong time. There are no
communication.
reliable methods for guessing what people
protocol—a set of rules agreed upon by two stations in order to communicate.
RS-232-C—the specification of the voltage levels and signals of a serial interface, will do next. Computers and computer
teleport—a station that provides a link between a terrestrial network and a programmers do not like this kind of
satellite. behavior. Thus, the amount of software
terminal-node controller (TNC)—a dedicated, microprocessor-based device that written to talk to the user usually ex
communicates with other TNCs using a packet protocol and with the user’s ceeds the amount written to talk to
terminal or computer using serial ASCII (RS-232-C). the other TNCs.
user interface—the set of commands that a user can enter into the TNC and the Writing TNC code is not for the faint of
messages or responses returned by the TNC to the user. heart, but it can be a rewarding experience.
-.. TNC 2, like most other TNCs, comes with
all the necessary protocol and user software
called upon to do so. It must listen to the 16 kbytes of read-only memory (EPROM) stored in EPROM. This means that if soft
radio and not transmit if another signal is for program storage and 8 kbytes of read/ ware updates are necessary, they can be ac
on the air. write memory (RAM) for data storage. complished by merely changing a memory
It takes a computer to keep track of all Using the largest available ICs, it is possi IC or two.
this. The last item in the preceding ble to get a total of 56 kbytes of memory
paragraph has proven especially difficult into the three sockets, which leaves some Power Supply
for human operators to do; just listen to room for expansion of the TNC software. TNC 2 requires an external 10- to 15-V
20 meters on any contest weekend. The A lithium battery supplies backup power de supply. An on-board switching-mode
processing power for the TNC 2 is pro to the TNC 2 RAM when main power is power supply converts that input to
vided by a Zilog Z80® CPU, running at removed from the TNC. This is exactly the regulated +5 V, and -5 V. The supply
2.45 MHz. The TNC 2 has three memory same scheme that is used in most mobile also provides —7 V for the RS-232-C
sockets. These sockets usually hold or hand-held VHF/UHF radios; a small in outputs. (The two RS-232-C output levels
appropriate external modem. A 9600-bit/s
modem that connects to the modem discon
nect has been designed, and other, even
faster, modems are under discussion.4I High
**
speeds will be used primarily for com
munication between gate ways and network
nodes, but that’s a topic for another day.
Wrapping It Up
We’ve seen what a TNC is and what it
(A)
does. We’ve used the TAPR TNC 2 as a
specific example. I’d like to mention the
chief architects of that project. Paul
Newland, AD7I, did the hardware design,
and Howard Goldstein, N2WX, did the
software. Steve Goode, K9NG, provided
input on the modem, and other design
input and review came from Pete Eaton,
WB9FLW, and Lyle Johnson, WA7GXD.
What happens next? I’d like to suggest
that you stop reading about packet radio
and do something about it. Packet radio
is a young enough part of our hobby that
you can get in on the ground floor and have
a very real effect on the future growth and
direction of computer networking in the
Fig. 3—A shows the simplest TNC, radio and terminal connections. In B, the additional hardware Amateur Radio Service. You might just
flow control lines between the computer and the TNC make it possible to transmit large data or also affect the future of Amateur Radio
message files.
itself.
If you’d like to see more QST articles
are -7V and the positive input voltage.) simple. As shown in Fig. 3A, you can get about packet, including things on high
Populated with NMOS ICs, the TNC 2 by with three wires to your computer or ter speed modems, gateways, n-port digi-
draws 260 mA at 12 V. For lower-power minal and four to your radio. The hard peaters and network access ports, send a
consumption, the TNC 2 was designed so part will be finding a proper mic connec letter to the editors. If they hear that
that it could be built with CMOS parts. tor for your radio! Just remember, when there is interest in packet radio, they are
With CMOS ICs, the TNC draws less than connecting a TNC to your radio, think of more likely to publish packet-related ar
120 mA at 12 V. the TNC as a microphone and a speaker; ticles. To stay current in the meantime, you
when connecting a TNC to a computer, can join any of the several packet radio
Status Indicators think of the TNC as a modem. clubs that print newsletters. Also, the
You never quite feel you’ve gotten your If you use your TNC only for RTTY-like biweekly ARRL packet radio newsletter,
money’s worth unless you’ve got flashing typing contacts, you need to connect only Gateway, provides short reviews and sum
lights. TNC 2 has four of them: power three wires between the TNC and your maries of packet development activity.
on (the function should be obvious); computer: one for data from the computer See you on packet!
connected, lights when a connection to to the TNC (TXD), one for data from the
another TNC has been established; data TNC to the computer (RXD) and one Notes
carrier detect glows when a mark or ground (Fig. 3A). If you want to use your 'The 1985 ARRL Handbook for the Radio
space tone is heard; and status is lit when computer to send large files or messages to Amateur, p. 19-25.
aM. Morrison and D. Morrison, “Designing the
the TNC has sent a packet but has not yet your TNC, then you must provide a way TAPR TNC Audio Input Filter,” Proceedings
received an acknowledgment for it. for the TNC to control the stream of data of the 2nd ARRL Amateur Radio Computer
Networking Conference. Available from ARRL
coming from your computer. This is called for $9.
Hooking It Up flow control. Flow control is required 3AX.25 Amateur Packet-Radio Link-Layer Protocol,
The TAPR TNCs grew from a single because your computer can send data to the Version 2.0, Oct. 1984. Available from ARRL
for $8.
overriding desire: to make packet radio as TNC faster than the TNC can send data to 4S. Goode, “Modifying the Hamtronics FM-5 for
easy as possible to use! The Bell 202 the receiving station. If you send a stream 9600-Baud Operation,” Proceedings of the 4th
ARRL Amateur Radio Computer Networking
modem standard and 1200-bit/s data rate of data at 1200 bit/s to your TNC, Conference, available from ARRL for $10.SBEl
are used because this is as fast a signal as retries—caused by collisions, dropped
can be easily forced into the microphone packets or other mishaps—will cause the
jack and taken from the speaker terminals limited RAM in your TNC to fill up with
on most VHF/UHF radios. To go faster characters waiting to be transmitted. Your
requires a direct connection to the computer must be prepared to wait when
modulator and discriminator. This is not the TNC memory gets full. Two flow
particularly difficult, but would limit control methods are available on the
packet operation to those with older, larger TNC 2: hardware flow control, using the I would like to get in touch with...
rigs or to surgeons and jewelers with the CTS and DTR lines on the serial port □ anyone using an EAGLE HE computer to
steadiness of hand, keenness of eye and tiny (Fig. 3B), or software flow control, using work RTTY, AMTOR and packet. Jack Clark,
tools necessary to make modifications to the ASCII XON and XOFF characters. W9HJM, 93 Downing Dr., Chatham, IL 62629.
shirt-pocket radios. As mentioned earlier, on TNCs that have
□ anyone with a four-section electrolytic can
Since the TNC was designed for easy in a modem disconnect, you are not limited capacitor rated at 20 /xF/ 20 ^F/ 20 /zF/ 30 ^F
stallation, it should not be surprising that to use of the on-board modem. The TNC 2 at 650 V. Charles Schramm, Jr., KA2JLC, 28-28
hooking up a TNC to your station is very is capable of running at 56 kbit/s with an 35 St., Long Island City, NY 11103.
PUBLISHED BY THE AMERICAN RADIO RELAY LEAGUE
NEWINGTON, CONNECTICUT