Date: Mon, 22 Feb 93 04:30:10 PST
From: Advanced Amateur Radio Networking Group <tcp-group@ucsd.edu>
Errors-To: TCP-Group-Errors@UCSD.Edu
Reply-To: TCP-Group@UCSD.Edu
Precedence: Bulk
Subject: TCP-Group Digest V93 #50
To: tcp-group-digest


TCP-Group Digest            Mon, 22 Feb 93       Volume 93 : Issue   50

Today's Topics:
              56k modems, P.I. cards, and authentication
            ARRL Petition to "kill" AX.25 -- some factoids
                    FEC in amateur radio (2 msgs)
                          New ax25? (3 msgs)
                            new firmware?
                    Newsreader for KA9Q NOS on PC?
                       no keyboard, no monitor
                         Slow mail? (2 msgs)
                             UNSUBSCRIBE
                        what nos for a switch

Send Replies or notes for publication to: <TCP-Group@UCSD.Edu>.
Subscription requests to <TCP-Group-REQUEST@UCSD.Edu>.
Problems you can't solve otherwise to brian@ucsd.edu.

Archives of past issues of the TCP-Group Digest are available
(by FTP only) from UCSD.Edu in directory "mailarchives".

We trust that readers are intelligent enough to realize that all text
herein consists of personal comments and does not represent the official
policies or positions of any party.  Your mileage may vary.  So there.
----------------------------------------------------------------------

Date: Sun, 21 Feb 93 14:51:25 -0800
From: karn@qualcomm.com (Phil Karn)
Subject: 56k modems, P.I. cards, and authentication
To: jmorriso@ee.ubc.ca, tcp-group@ucsd.edu

There's an effort underway in the IETF right now to specify an "IP
Security Protocol" that would allow encryption and/or authentication
of individual IP datagrams. That's the level where this function
belongs, in my opinion.

Phil

------------------------------

Date: Sun, 21 Feb 93 14:59:20 MST
From: rnielsen@tapr.ampr.org (Bob Nielsen)
Subject: ARRL Petition to "kill" AX.25 -- some factoids
To: clark@tomcat.gsfc.nasa.gov

Tom, 
The proposed changes in 97.109(e) would remove the ax.25 requirement for 
third-party traffic on all frequencies.  THIS IS GOOD!  The discussions 
re a "new" AX.25 which have shown up here and on the nos-bbs list I see 
as an attempt to resurrect plans to update the protocol, which the "old" 
DC worked on, but was unable to accomplish.  This also is good.  Some of 
the discussions have been based on the DC's wording of "accepted 
protocol" (which is different than "published protocol"), but the 
proposed RM did not include that. The reference to digital codes as 
permitted in 97.309(a) is a separate matter applying to the bands below 
50 MHz and there have been some discussions as to whether some of the 
techniques (e.g., CLOVER) comply with this.

The changes in the subband allocations from the Region 2 plan and/or the 
DC recommendations is a concern, but the difficulties everyone faces here 
are presumably well-understood by all, and future changes would be 
expected.

Bob

Bob Nielsen W6SWE       
ax.25: w6swe@wb7tpy.az.usa.na    Internet: rnielsen@tapr.ampr.org
amateur IP: 44.124.12.16         CIS: 71540,2364

------------------------------

Date: Sat, 20 Feb 93 13:11:24 -0800
From: Phil Karn <karn@qualcomm.com> (Phil Karn)
Subject: FEC in amateur radio
To: tcp-group@ucsd.edu

Glenn, I used to think as you did about FEC -- that it was something you did
as a last resort to patch up a bad radio channel, when you couldn't fix the
actual problem (e.g., by running more power.) But if I've learned anything
from the CDMA cellular project here at Qualcomm, it's that FEC is essential
in wringing maximum performance out of a radio system, even when you have
the option of increasing transmitter power or using a better antenna.

One good reason is spectral efficiency. Efficient spectrum use means a high
degree of geographic channel reuse (i.e., a cellular scheme), which implies
that the system is ultimately interference (not noise) limited. To pack
co-channel users as closely as possible, you want a modulation method with
the greatest possible resistance to interference. Even if this makes the
signal much wider, you're still better off in the end.

Spread spectrum is of course the way to do this, but FEC also plays
an important part. By reducing the average required transmitter power 5 dB
or so, FEC reduces the interference caused to other users by the same
amount,
and this turns directly into a 5dB system capacity increase.

So far this assumes gaussian "noise", which is a good model for the
interference one sees in spread spectrum. But FEC can *really* shine when
you're fighting
non-gaussian interference, especially radar. Here in Southern California we have
a serious, chronic problem with military radar on the 70cm band, and I am
now convinced that FEC is the only practical way to deal with it (without
simply abandoning large parts of the band to the radars).

Consider a typical military radar with a 400 Hz rep rate, a 8 Mhz bandwidth,
a 10 second antenna sweep rate, and a 20 microsecond pulse width (this
latter figure is the most uncertain, I estimated it with an HP spectrum
analyzer set in "zero span" mode with the fastest possible sweep, 50 us/div).

If the pulses were really short, i.e., on the order of 1/bandwidth, then
even at 56kb/s a simple pulse blanker would be very effective at dealing
with it. Unfortunately the radar pulses are much longer than they have to be
for the bandwidth they use, probably because of either pulse compression and/or
simple pulse broadening to increase target sensitivity. Because the pulse
durations are comparable to an entire bit time at 56 kilobits, a pulse blanker
would remove entire data bits along with the radar pulses.

Let's say that your link is otherwise reasonably well engineered, so most
of your channel bit errors are due to radar pulse hits. Let's also assume
that the radar pulses, when they occur, are much stronger than the data
bits themselves -- say by 40 dB or so. To overcome the radar QRM by brute
force, you'd have to make up that 40 dB by either turning up the wick by
that amount (probably not practical, as well as not legal, especially in
one of the 50W limit zones), or by using antennas with that much additional
gain and/or sidelobe suppression (difficult if not impossible when you
consider scattering.

Or you can use FEC. If the pulse rep rate is 400 Hz and your data rate is
56kb/s, then the radar will hit, at most, one or two data bits out of every
56000/400 = 140. That's a channel bit error rate of 1%, in round numbers,
which is much too high for good performance without FEC.  And cranking up
the wick won't do anything to lower this error rate until you swamp the
radar's power, which we already know is impractical.

But it's *easy* to build FEC systems that handle channel bit error rates of 1%.
I've built a software sequential decoder using the Fano algorithm that decodes a
rate 1/2, constraint length 32 convolutional code. The exact decoding
throughput is a random number that depends on the channel error rate, but
at relatively low error rates like 1% it has no problem keeping up with a
56kb/s modem with time to spare on a 33 Mhz 486. The chances of an
uncorrected error at this rate
are nil for all practical purposes, so the effective coding gain in this case
is equal to the amount of power you'd have to run to get the same effect by
simply cranking up the wick -- 40 dB in this example. That's a pretty impressive
figure!

So this strongly suggests using a Fano decoder on packet channels that get
hit by radar QRM. A rate 1/2 code does decrease the user data rate by half,
so
you probably want an adaptive scheme that adds the FEC overhead only when
it is actually needed. So consider a hybrid ARQ/FEC scheme that works like this.
You choose a "systematic" convolutional code where the original data appears
in the coded output (every other channel bit is a user data bit, the others
are generated by the coder). When you first send a packet, you send just the
original data bits plus a CRC. If that checks out, you go on to the next
packet and not bother sending the FEC overhead. But if the CRC check fails,
you return a NAK (negative acknowledgement).

Now instead of simply retransmitting the original packet, the sender now
sends the second set of symbols from the convolutional encoder (the ones that
aren't just the original data bits). The receiver now combines *both* frames,
and runs them through the sequential decoder. If this works, it goes onto the
next packet. If not, you start the process over.

What's really neat about this is that both frames (the original one plus
the encoded one) can be riddled with errors, but as long as the rate isn't
higher than about 6 or 7%, the decoder will quickly recover good data from the
combination. This makes it *much* more efficient than simply resending the
unencoded frame over and over in the hope that it will get through without
any errors -- which is pretty unlikely if the average error rate is that high.

Phil (again sending over a CDMA connection from a mobile van, now back at the
hotel parking lot where we started...)

  

------------------------------

Date: Mon, 22 Feb 93 11:23:30 GMT
From: agodwin@acorn.co.uk (Adrian Godwin)
Subject: FEC in amateur radio
To: tcp-group@ucsd.edu

Phil Karn <karn@qualcomm.com> writes ..
>
> What's really neat about this is that both frames (the original one plus
> the encoded one) can be riddled with errors, but as long as the rate isn't
> higher than about 6 or 7%, the decoder will quickly recover good data from the
> combination. This makes it *much* more efficient than simply resending the
> unencoded frame over and over in the hope that it will get through without
> any errors -- which is pretty unlikely if the average error rate is that high.

But if the error rate is high enough for that to be useful, (i.e. most
packets have a few bits in error), you'll often have to send at least two
packets. So the user data rate will be halved anyway : you may as well send
a single, slow packet and avoid any additional overhead associated with keying,
syncing, CA or whatever.

If the error rate is low enough that not many packets _have_ to be 
retransmitted, simple retransmission is probably almost as efficient.


Implementation might suit the characteristics of Hubmaster, but on anything 
other than a point-to-point link retransmission would be an interesting 
problem : retransmitted frames need to be correlated with earlier 
transmissions, even though the main portion of the retransmitted packet 
would have nothing in common with the original. I think this means that
you'd need some sort of robust header on each packet that isn't corrected
by the same mechanism, and is used to generate a sender-specific NAK. 
Or virtual circuits at the link level ..


You really want to send twice only the bits that will be corrupted :-).
That isn't completely stupid : if you have such a specific interference
source that it's worth designing an error correction protocol with matching 
characteristics, perhaps you should synchronise to the interference source
and transmit only in the gaps. Is there just one radar transmitter, or
several unsynchronised transmitters ?


-adrian, g7hwn

------------------------------

Date: Sun, 21 Feb 1993 16:31:43 -0500
From: chk@alias.com (C. Harald Koch)
Subject: New ax25?
To: Lyndon.Nerenberg@ns.unbc.edu (Lyndon Nerenberg)

> Well, the address only has to be unique within the subset of stations
> that can hear each other. I would use a 16 bit station address. When

24 bits allows you to use the low order 24 bits of an AMPR IP address... :-)

> a station comes on the air it picks a random value and broadcasts it
> out the appropriate port. If the address is already in use the existing
> address holder sends out a "sorry, try another one" reply, and the
> process repeats until a unique address is found. (Now where have I
> seen *that* before :-)

AppleTalk? There's a nice optimization there that's useful; the driver uses
the same address it used previously as a starting point; only if that
address is already un use does the host choose a new, random address.

However, the now famous hidden transmitter problem ensures that sooner or
later, two hosts will choose the same link-layer address, causing confusion
for the host than can hear both...

-- 
Main's Law: For every       | C. Harald Koch  Alias Research, Inc. Toronto, ON
action, there is an equal   | chk@alias.com                (work-related mail)
and opposite goverment      | chk@gpu.utcs.utoronto.ca     (permanent address)
program.                    | VE3TLA@VE3OY.#SCON.ON.CA.NA            (AMPRNet)

------------------------------

Date: Mon, 22 Feb 93 00:58:39 -0800
From: karn@qualcomm.com (Phil Karn)
Subject: New ax25?
To: Lyndon.Nerenberg@ns.unbc.edu, makinc@hhcs.gov.au, tcp-group@ucsd.edu

>Well, the callsign doesn't belong in every packet, either - it's extra
>overhead that just isn't needed. If you need to identify your transmitter
>to comply with regulations, send an ID packet whenever its require. This
>business to tying the callsign to the MAC address was a mistake.

I strongly disagree. Putting both callsigns into each frame was one
thing (and probably the only thing) AX.25 did right.

What are you trying to save by removing callsigns, and at what cost
and complexity?  At best you will save a couple of bytes per frame,
but are a few bytes really that important when you consider all of the
other sources of per-packet overhead, such as channel contention,
keyup delay, modem synchronization, etc? And what of the overhead
and/or confusion generated by an "abbreviated" link address generation
or assignment scheme? It just isn't a good move.

If you really want to reduce overhead in a packet system, the secret
lies in educating the *upper layer* protocols to generate fewer and
larger packets whenever possible. I can think of all sorts of
examples: the Nagle algorithm in TCP (widely implemented) and Linemode
Telnet (unfortunately not yet very widely implemented) are two that
come immediately to mind. These techniques save you not only the link
level protocol overhead, but the TCP/IP header overhead as well. A
much bigger payoff, and with no extra complexity for a link protocol
that already has enough to do.

Phil

------------------------------

Date: Mon, 22 Feb 1993 05:20:24 -0600 (CST)
From: Chris Cox  W0/G4JEC <chrisc@biggus.moron.vware.mn.org>
Subject: New ax25?
To: chk@alias.com (C. Harald Koch)

> 
> 24 bits allows you to use the low order 24 bits of an AMPR IP address... :-)
> 
That, however, then requires that you know our ip address prior to 
setting a link address.  rarp/bootp would not work then.  I doubt it's
used very much over radio, however, it would be useful.

Is there any great reason why your callsign should not make up part of
the link address, or at least use it as seed for an address?  It is useful
in that it is unique.

-- 
73  Chris Cox  W0/G4JEC
chrisc@biggus.g4jec.tcman.ampr.org     chrisc@biggus.moron.vware.mn.org
 Eleventh Hour Contest Group - North American Chapter; Minneapolis, MN
   Twin Cities Metro Area Network node (biggus.g4jec.tcman.ampr.org)
**** And lest they forget: ****
  Packet radio fiends really enjoy playing with their bits...

------------------------------

Date: Mon, 22 Feb 93 00:47:09 -0800
From: karn@qualcomm.com (Phil Karn)
Subject: new firmware?
To: goldstein@carafe.tay2.dec.com, tcp-group@ucsd.edu

Reed Solomon coding (or block codes in general) are certainly another
option for amateur packet radio FEC at the link level. I tend to
lean towards convolutional codes, though, for a couple of reasons:

1. Block codes work well either for data in fixed sized blocks that
match the code's block size, or for semi-infinite streams of data
(e.g., digital audio), but they're somewhat less suitable for variable
length packets because of the internal fragmentation problem. I.e.,
if you used the CD's RS coding, you'd have to pad out the encoded packet
to a multiple of 32 bytes.

Convolutional codes, on the other hand, are well suited to variable
length data packets. You do have to "tail out" the end of the packet
with a constraint length or so of zeros, but this is no big deal.

2. Convolutional codes are easier to adapt to "soft decision"
decoding, where you quantize the channel to some modest number of
levels (e.g., 4 or 8) instead of hard-decoding the channel to a single
bit before decoding. This buys you about 2 dB in Eb/N0
(signal-to-noise) ratio, which is admittedly more important against
thermal noise than against the radar QRM I am most concerned about.

Of course, implementing soft decision decoding requires hardware
modifications to the demodulator, as the simple slicer would have to
be replaced with a small A/D converter. And while you're at it, the
demodulator itself should be coherent. The PSK satellite modems
already are, but the WA4DSY 56kb modem is a noncoherent FSK
discriminator.  This loses another 3 dB.

These little 2-3 dB factors really start adding up. If you go from a
non-coded noncoherent demodulator to a coherent demodulator with a
well designed soft decision rate 1/2 FEC, you can easily save as much
as 8dB on transmitter power. This should be very attractive in some
places (like satellites). And as I said yesterday, the effective
coding gains against non-thermal noise such as radar pulses can be
far higher, even with relatively simple FEC.

Phil

------------------------------

Date: Sun, 21 Feb 93 13:44:05  GMT
From: jiml@eldorado.demon.co.uk (Jim Lambe)
Subject: Newsreader for KA9Q NOS on PC?
To: tcp-group@ucsd.edu

In article <199302190028.AA10981@leon.nrcps.ariadne-t.gr> you write:
> Subject: Newsreader for KA9Q NOS on PC?
> To: packet-radio@ucsd.edu
> 
> axa12@po.CWRU.Edu (Ashok Aiyar) wrote:
> >
> >Can someone suggest a good news reader that can be used in conjunction 
> >with NOS on a PC?  I will be using PA0GRI NOS 911229 to contact the 
> >NNTP server and download news.  I am simply looking for a good system 
> >to read and manage news with - i.e read news, expire articles, and
> >prepare articles for posting.
> 
>  Article: 2398 of news.software.readers
>  From: nikki@trmphrst.demon.co.uk (Nikki Locke)
>  Subject: News/mail reader for DOS
>  Organization: Trumphurst Ltd.
>  Lines: 33
> >From packet-radio-relay@UCSD.EDU Wed Oct 14 17:23:15 1992
>  Date: Wed, 16 Sep 1992 18:32:41 +0000
>  Message-ID: <716694839snx@trmphrst.demon.co.uk>
> 
> [...]
> 
> The connection software is based on Phil Karn's excellent KA9Q program, 
> and the news reader is based on snews from John McCombs.
> 
> I did not particularly like the user interface of snews, so I wrote my own
> combined newsreader and mailer. It is written in C++, and uses my own SAA 
> compliant text mode user interface toolkit.
> 
> If there are any other people out there who use DOS to access the news, 
> and they would like to try my news program, the latest version is 
> available for public ftp from :
> 
> ftp.demon.co.uk:/pub/trumphurst/cppnws16.zip
> 

Latest version is 1.31 available from ftp.demon.co.uk in
/pub/trumphurst/cppnews;  files needed are cppnws31.zip and cppindex.zip

--

  James V. Lambe: Tottenham, London, ENGLAND
  Internet: jiml@eldorado.demon.co.uk
  Telecom Gold: 10085:TJT674 ( 10085.TJT674@gateway-to-gold.interspan.gb )
  Compuserve: 72037,152 ( 72036.152@compuserve.com )
  Dog + Bone: (+44 81) 808 0625

------------------------------

Date: Mon, 22 Feb 93 11:09:52 PST
From: "Jerzy Tarasiuk" <JT@zfja-gate.fuw.edu.pl>
Subject: no keyboard, no monitor
To: crompton@NADC.NAVY.MIL (D. Crompton)

> Date: Fri, 19 Feb 93 11:02:08 EST
> Message-Id: <9302191602.AA00541@NADC.NADC.NAVY.MIL>
>
> It works for CTTY and is at least a first step in a change that I think
> should be permanant to allow terminal operation.

CTTY: I noticed at least in old DOS 3.10 it works improperly, sometimes
it waits somethong to be put in keyboard buffer (presence of data in
the KB buffer is checked without BIOS by comparing 0x40:0x1A and 0x1C),
hanging forever if no keyboard data can arrive. The only workaround for
the bug I know: must have TSR servicing COM port interrupts which puts
received data in KB buffer, and services INT 14h.

> By the way I see little if any display speed difference here on a fast
> machine using DOS calls. I do however see a difference when using BIOS
> calls (-b) where a slight slowdown is seen. I wonder why this is. Is
> DOS calling direct video?

I suppose DOS itsel doesn't call it, but either NOS can use direct
video, or you have a device driver like (N)NANSI.SYS using it.
73's, JT

------------------------------

Date: Sun, 21 Feb 93 15:16:55 MST
From: rnielsen@tapr.ampr.org (Bob Nielsen)
Subject: Slow mail?
To: lcz@dptspd.sat.datapoint.com (Lee Ziegenhals)

I have noticed the same thing.  It seems to be slowly catching up, 
however.

Bob Nielsen W6SWE       
ax.25: w6swe@wb7tpy.az.usa.na    Internet: rnielsen@tapr.ampr.org
amateur IP: 44.124.12.16         CIS: 71540,2364

------------------------------

Date: Mon, 22 Feb 93 11:32:44 GMT
From: agodwin@acorn.co.uk (Adrian Godwin)
Subject: Slow mail?
To: TCP-Group@UCSD.Edu

I've had a three-or-four day lag that usually catches up at weekends - but this
is the digest, on 'Bulk' precedence, so that seems reasonable if ucsd is
handling a lot of mailing traffic.

-adrian

------------------------------

Date: Sun, 21 Feb 1993 09:28:25 -0800
From: atheist@Apocalypse.CAD.UCLA.EDU (Jim Small)
Subject: UNSUBSCRIBE
To: tcp-group@ucsd.edu

Sorry for extra traffic, but I've sent a message to the listserv to
unsubscribe me and I still keep getting this group

------------------------------

Date: Sun, 21 Feb 93 20:17 EST
From: gws@n8emr.cmhnet.org (Gary Sanders)
Subject: what nos for a switch
To: tcp-group@ucsd.edu

Any specific version of nos that works best as a switch?

Several of the locals are putting D4-10 online and will be using 
it to route from in home ethernets to the radio world. I dont 
need any services on the gateway only something that will talk
kiss, talk to a packet drivers for ethernet and talk to a pi card.

Gary W. Sanders gws@n8emr.cmhnet.org, 72277,1325
N8EMR @ N8JYV (ip addr) 44.70.0.1 [Ohio AMPR address coordinator]
HAM BBS 614-895-2553 (1200/2400/V.32/PEP) Voice: 614-895-2552 (eves/weekends)

------------------------------

End of TCP-Group Digest V93 #50
******************************
******************************