home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / hamradio / docs106.zip / FAQ < prev    next >
Text File  |  1992-11-19  |  70KB  |  1,820 lines

  1. tcp-group FAQ    draft                    15-Nov-92
  2.  
  3. [This is a draft -- forgive ugliness, and help repair it!]
  4.  
  5. This is the FAQ for tcp-group@ucsd.edu.  It discusses the TCP/IP
  6. implementation known as NOS, originated by Phil Karn and developed by
  7. many others.
  8.  
  9. This FAQ tries not to duplicate material that is available elsewhere,
  10. but refers instead to existing documentation.  If you have never
  11. seen NOS before, you might want to scan this document quickly,
  12. and then go read the "Introduction to NOS" file by John Ackermann
  13. or the "Beginner's Guide to TCP/IP" (both described later).
  14.  
  15. If you maintain or use a NOS variant, please check its description
  16. here in this FAQ.  If it's wrong, or if there isn't one, please tell
  17. the FAQ maintainer.  Other additions and corrections are also welcome.
  18.  
  19. This FAQ is maintained by mg@bds.com, as of November 1992.
  20.  
  21. ----------------------------------------------------------------------
  22. Repositories
  23.  
  24.     The best place to get NOS is from someone you know who is already
  25.     using it.
  26.  
  27.     You can get it over the Internet from several anonymous FTP sites.
  28.     The best-known site is ucsd.edu.
  29.  
  30.     ucsd.edu:/hamradio/packet/tcpip
  31.  
  32.         grivel.une.edu.au    (Australian mirror of ucsd.edu)
  33.  
  34.     [ ucsd needs a README with one-liners for each directory ]
  35.  
  36.     It is also found on many telephone BBS systems, including:
  37.  
  38.     N8EMR's Ham BBS    (614) 895-2553
  39.     ChowdaNet    (401) 331-0334
  40.     WB3FFV        (301) ?
  41.     Gracilis BBS    ?
  42.         AMNET BBS       +61-3-366-7055 (Australia)
  43.  
  44.     N1BEE distributes a cleaned-up version of the GRI code.  The
  45.     primary distribution point is ChowdaNet.  This seems to be
  46.     one of the more stable and solid end-user releases, though the
  47.     last version is nearly a year old now.
  48.  
  49.  
  50. Documentation
  51.  
  52.     Unfortanately, NOS is poorly documented compared to many other
  53.     programs.  This is not due to a lack of effort by the developers.
  54.     It is because there are so many versions of NOS, being
  55.     developed by many people who have no regular contact, and each
  56.     version changes very frequently.  Any documentation quickly
  57.     becomes out of date.
  58.  
  59.     For some features, there is no documentation at all.  Other
  60.     features that are documented aren't present in all executables,
  61.     even those produced by the same source, because that feature may
  62.     have been turned off in the executable you are using.
  63.  
  64.     Thus, it is likely that the documentation you can find won't
  65.     exactly match the program you are using, and you will have to
  66.     refer to a full "base" manual and to another document that
  67.     describes the differences from the base version.
  68.  
  69.  
  70.     intronos.zip  This is the best introduction to NOS for people
  71.           who understand something about packet radio.
  72.           
  73.     userman.zip      A complete user manual for the last pre-NOS version
  74.           of NET... 890421.1
  75.  
  76.     nos_1229.man  A complete user manual for PA0GRI NOS.
  77.  
  78.     help_v02.zip  mailbox help files (for ka9q 901130)
  79.  
  80.     The several volumes of the ARRL Computer Networking Conference (CNC)
  81.     Proceedings contain many papers on TCP/IP and NOS.  These are
  82.     available from ARRL Headquarters in Newington, CT.
  83.  
  84.     Send mail to info@arrl.org for an automatic response pointing at
  85.     more information about the ARRL.
  86.  
  87.     Particularly useful CNC articles are listed in the bibliography
  88.     at the end of this document.
  89.  
  90.     Some of these papers are available online in the directory
  91.     ucsd.edu:/hamradio/packet/tcpip/docs.
  92.  
  93.     Other papers are also available on ucsd.edu:
  94.  
  95.     ka9qnos.ps.Z
  96.     netnix-paper.ps.Z
  97.     connex.Z
  98.     1987            Directory of papers from CNC 1987
  99.     1988            Ditto 1988
  100.  
  101.     There is no document dedicated to describing the internals of NOS.
  102.     There is a section of the user manual that describes some of the
  103.     socket library calls.  Look in the section on NOS Internals here
  104.     in this FAQ.
  105.  
  106.     I hesitate to make the offer, but on a time-permits basis I can provide
  107.     a hard-copy set of my doc, the PA0GRI ref manual, the Rutgers tcp/ip
  108.     intro, and a disk with N1BEE's GRINOS for the cost of copying and
  109.     mailing -- usually $10 or $15.  It's best to call, write, or email first
  110.     to find out what the turnaround time is likely to be.  My mailing
  111.     address:
  112.  
  113.     John Ackermann   AG9V
  114.     2371 Stewart Road
  115.     Xenia, OH   45385
  116.  
  117.  
  118.     Gary Ford <ford@eecs.ucdavis.edu> has written a "Beginner's Guide
  119.     to TCP/IP on the Amateur Packet Radio Network Using the KA9Q
  120.     Internet Software" alternately titled "End User's Guide to TCP/IP".
  121.     Version 2.0 of the guide documents the use of NOS 911229 (PA0GRI
  122.     v2.0h) and BM v3.3.2.  It is available on:
  123.  
  124.     ftp.eecs.ucdavis.edu:pub/ka9q
  125.      or ucsd.edu:hamradio/packet/tcpip/docs
  126.  
  127.     nosbgnlp.zip    unzips to a 66 page ascii "line printer" document,
  128.             which can be printed with the UNIX lpr command.
  129.  
  130.     nosbgnps.zip    unzips to a 54 page PostScript document, which can
  131.             be printed on a PostScript printer.
  132.  
  133.     nosbgnpr.zip    unzips to a 66 page ascii "print" document, which
  134.             can be printed using the DOS print command.  You
  135.             will need to send control codes to your printer to
  136.             control the page offset and you should turn
  137.             perforation skip off.  (not on ucsd.edu)
  138.  
  139.  
  140. Mailing lists
  141.  
  142.     tcp-group@ucsd.edu
  143.  
  144.     This is a forum for NOS developers to discuss things they're doing.
  145.  
  146.     Send mail to listserv@ucsd.edu with the word HELP as its only contents.
  147.     It will send you instructions by return mail.
  148.  
  149.     nos-bbs@hydra.carleton.ca
  150.  
  151.     The purpose of this list is discussion of the ins and outs of running
  152.     KA9Q NOS as something approximating a full-service BBS, which generally
  153.     boils down to discussion of the care and feeding of the JNOS version of
  154.     NOS, maintained by Johan, WG7J.  Discussion of peripheral issues which are
  155.     likely to be of interest to NOS BBS sysops, such as the convers server,
  156.     NNTP, POP, etc, are also welcome.
  157.  
  158.     Submissions to the list go to:
  159.     nos-bbs@hydra.carleton.ca
  160.  
  161.     Subscription/deletion requests and other administrivia to:
  162.     nos-bbs-request@hydra.carleton.ca
  163.  
  164.     Note that the reply path for list mail is set to go to the list address,
  165.     not the originator.  That's by design - to encourage *public* discussion.
  166.     If you want to send private mail to a nos-bbs contributor, please take
  167.     care to get the address right!
  168.  
  169.  
  170. Operating systems and other machines
  171.  
  172.     NOS has been ported to several operating systems.
  173.     Most development still happens under DOS.
  174.     At some point, there may have been a time when all the different
  175.     platforms could have been built from a single set of sources.
  176.     Since then, they have diverged enough that re-integrating the
  177.     changes back into a common set of sources would take some effort.
  178.  
  179.     <bdale@col.hp.com>
  180.  
  181.     When the list of targets was really small, in about 1988-9 maybe, we had a
  182.     single set of sources that built on various targets... the 890421.1 release
  183.     supported DOS/Borland and a variety of Unix variants.  I haven't paid much
  184.     attention to this since then.
  185.  
  186.  
  187.     OS/2
  188.     Windows
  189.     Macintosh
  190.     Amiga
  191.  
  192.  
  193. Installation and setup tools
  194.  
  195.     An installation program for some versions of NOS is available.
  196.  
  197.  
  198.     The NOS_KIT package explains well the several files used by NOS for
  199.     configuration.
  200.     It is a package for installation of the 901130 versions of KA9Q
  201.     and G1EMM NOS (it includes executables for 901130 G1EMM and KA9Q).
  202.     This "kit" is a reasonable place for a newcomer to get started.
  203.  
  204.     Written:  Dave Fritsche (wb8zxu)
  205.     E-mail:   dlf@phx.mcd.mot.com
  206.     Version:  910324
  207.     Path:     UCSD.EDU /hamradio/packet/tcpip/install/nos_kit.*
  208.  
  209.  
  210.     The "kit" should be unpacked and placed onto floppy disks.  It all fits on
  211.     a single 720k or larger disk.  This disk is then used as a NOS installation
  212.     disk (the files can also just be stuffed into a subdirectory on a harddisk
  213.     if you prefer -- but put them in a directory close to root (c:\) -- long
  214.     pathnames screw things up).  Once the installation disk is ready (I hand
  215.     them out to locals), just put the disk in a drive, change to the drive
  216.     (e.g:  a:), then type "install".  The user is presented with two screens
  217.     of "fill in the blanks" kind of data.  Just use the <Enter>, <Tab>,
  218.     <SHFT><Tab>, <Up-arrow>, and <Down-arrow> to move between the entries.
  219.     It's pretty self-explanatory.  There are a couple of questions that weren't
  220.     very clear, that should be cleaned up.  But it's something to help get
  221.     a person off on the right foot.  After the blanks have been filled in,
  222.     the installer goes off and makes all the needed subdirectories, creates
  223.     an autoexec, ftpusers, domain.txt, . . ., and then unpacks the binaries
  224.     and all the support files.
  225.  
  226.     The "kit_src.*" files, are the source code for the "install" program
  227.     contained in the kit.  Numerous people have recently asked me for the
  228.     source code, so that they could update the installation kit for GRI/WG7J
  229.     NOS.  Sure hope they can pull it off!  Wish I had the time to do it
  230.     myself.  Hopefully, Brian will get this source code moved into the "install"
  231.     directory at some time in the near future.  Generally speaking, endusers
  232.     won't need or want these source archives.
  233.  
  234.  
  235. Versions
  236.  
  237.     The main NOS repository harbors a bewildering variety of NOS variants.
  238.     All of them are derived in some way from some ancestor of the
  239.     KA9Q version.  The one that is best for you depends on what you
  240.     want to use it for.
  241.  
  242.     One reason why there are so many versions of NOS is that it is
  243.     used for widely different purposes by different groups.
  244.     Each one needs it to solve a particular problem, or provide some
  245.     service, so they implement whatever feature they need.  There are
  246.     many such groups throughout the world, and many of them have no
  247.     regular contact with any of the others.
  248.  
  249.     Each NOS variant tends to reflect the cumulative efforts of a
  250.     person or group, rather than a particular added feature.  Some
  251.     people modify more than one area -- for instance, they might add a
  252.     new TCP server, and "enhance" the way datagrams are routed.
  253.  
  254.     The variants are usually known by the names of their authors,
  255.     and they often have nicknames.  Some of the more common ones are
  256.  
  257.     ka9q
  258.     wg7j (jnos)
  259.     pa0gri
  260.     grinos        based on PA0GRI, cleaned up by N1BEE
  261.     gracilis
  262.     wnos           
  263.     hrlnos
  264.     gpsnos        Georgia Packet Switch, produced by GRAPES
  265.             (Georgia Radio Amateur Packet Enthusiasts)
  266.     wampes
  267.     g1emm
  268.     pmnos
  269.  
  270.  
  271.     Most versions of NOS share a common core of commands.
  272.  
  273.     Most versions of NOS have all of the following facilities in them,
  274.     but emphasize one over the others:
  275.  
  276.         packet switch
  277.         services
  278.         UI terminal
  279.  
  280.     For example, GPSNOS is optimized to be a standalone packet switch,
  281.     and doesn't offer any other services.  (This is what DOS NOS is
  282.     really best at.) WNOS has a nice split-screen user interface, and
  283.     PMNOS has an even more elaborate one.
  284.  
  285.  
  286.     The features supported by NOS can be divided into categories this way:
  287.  
  288.      network        NETROM, FlexNet
  289.      user-interface        split-window, fkey
  290.      hardware        special serial ports, network interfaces
  291.      services        callbook server, pop, smtp, convers, mailbox
  292.  
  293.     Here is a list of the features by category:
  294.  
  295.     Network
  296.  
  297.         TCPIP
  298.         AX.25
  299.         NETROM
  300.         WAMPES AX.25 routing    WNOS, WAMPES
  301.  
  302.     hardware
  303.  
  304.         asy    standard PC serial port
  305.         hs    high-speed serial driver for 8530 (no DMA)
  306.         scc    generic 8530 driver
  307.         DRSI
  308.         EAGLE
  309.         PI
  310.         PACKTWIN
  311.         dialer
  312.  
  313.     services
  314.  
  315.         ttylink (chat)
  316.         mbox
  317.         bbs
  318.         convers
  319.         pop
  320.         smtp
  321.         nntp
  322.         ftp
  323.         finger
  324.         callbook    gracilis
  325.  
  326.     user-interface
  327.  
  328.         split-screen (WNOS)
  329.         scrolling, cut/paste, mouse (PMNOS)
  330.         fkey
  331.  
  332.  
  333.     ----------------------------------------------------------------------
  334.  
  335.  
  336.     These versions have been optimized as packet switches:
  337.  
  338.           ka9q
  339.           gpsnos
  340.           pe1chl nos
  341.           pa0gri
  342.           gracilis
  343.  
  344.     These versions emphasize user-interface:
  345.  
  346.           hrlnos
  347.           minihrl
  348.           wnos
  349.           pmnos
  350.  
  351.     These versions emphasize services:
  352.  
  353.           wg7j
  354.  
  355.     ----------------------------------------------------------------------
  356.  
  357.     Here are brief descriptions of some NOS variants.  If your
  358.     favorite one isn't here, or if you can describe it better, tell me!
  359.     I'm particularly interested in documenting ancestry where possible.
  360.  
  361.  
  362.     net        Phil Karn <karn@qualcomm.com>
  363.  
  364.         The last pre-NOS version of NET... 890421.1
  365.         documentation in userman.zip
  366.  
  367.  
  368.     ka9q                                  21-Jun-92
  369.         Phil Karn <karn@qualcomm.com>
  370.  
  371.         This is the base version from which the others are derived.
  372.  
  373.         [ I haven't tried this one yet. - mg ]
  374.  
  375.         Latest version on ucsd is 920621.
  376.  
  377.         wb8zxu:
  378.         A lot of people consider 901130 the last "really good" working version of
  379.         NOS.  After that version, NOS got real fat, and fairly quirky.  It also
  380.         split about 5 different ways . . . PA0GRI, WG7J, PMNOS, WNOS, . . .
  381.  
  382.     wg7j                                  15-Sep-92
  383.         Also called JNOS.
  384.  
  385.         This is one of the more actively developing versions.
  386.  
  387.         Based on KA9Q 911229 release, at least up to JNOS 1.05.
  388.         Later versions will be based on KA9Q 920618.
  389.  
  390.         This is a service-oriented NOS.  It acts as a "full-service" bbs.
  391.         It can exchange mail with conventional amateur BBS systems,
  392.         such as MSYS and W0RLI, as well as via SMTP and NNTP.
  393.  
  394.         This version is also widely used as a gateway between
  395.         internet and amateur packet radio networks.
  396.  
  397.         This has a rewritten 8250 UART driver.
  398.         [I've found it to be slower than the previous one -- see
  399.          later -mg]
  400.  
  401.         Derived somehow from was0206, pa0gri, wnos.
  402.  
  403.  
  404.     pa0gri                                      29-Dec-91
  405.         Gerard van der Grinten, PA0GRI
  406.         
  407.         This is one of the more actively developing versions.
  408.         This is used as the basis for other versions, including gracilis.
  409.  
  410.         nos_1229
  411.         gri20m
  412.  
  413.         mods allowing accessing many disk drives by FTP server
  414.         made for GRINOS 1.8b, draft version for 2.0l and (in
  415.         nearest future) 2.0m available by anonymous FTP on
  416.         zfja-gate.fuw.edu.pl (name GRI20L-1.ZIP).  Jerzy Tarasiuk
  417.         <jt@zfja-gate.fuw.edu.pl>
  418.  
  419.         N1BEE does distribute a cleaned-up version of the GRI code.
  420.  
  421.     grinos
  422.         Mike Bilow N1BEE    <MIKEBW@ids.net>
  423.  
  424.         The primary distribution point is ChowdaNet.
  425.  
  426.         (GRINOS is not a synonym for PA0GRI NOS.)
  427.  
  428.         This is a cleaned-up and packaged version based on the pa0gri.
  429.         It is one of the more stable and solid end-user
  430.         releases.
  431.  
  432.         Mike tries to make sure that his bug fixes are recycled
  433.         into the main PA0GRI releases, so you only tend to run a
  434.         version or two ahead on bug fixes with GRINOS.
  435.  
  436.  
  437.     gracilis
  438.         info@gracilis.com
  439.         Don Lemley N4PCR
  440.         Milt Heath
  441.  
  442.         There seem to be several "gracilis" versions.  One is
  443.         publically available on ucsd.edu.  It seems to be
  444.     derived from pa0gri.
  445.  
  446.     Gracilis has a special version of NOS that runs in their
  447.     PackeTen -- it doesn't run on a PC.
  448.     The Gracilis PackeTen is a standalone packet switch with a
  449.     special communications processor (the Motorola 68302).
  450.     This standalone version is derived from work described in a
  451.     paper on NOSINABOX by Bdale Garbee, Don Lemley, and Milt Heath
  452.     in the CNC proceedings.
  453.  
  454.     There are rumors that Gracilis has also substantially
  455.     reworked NOS.  This version doesn't seem to be publically
  456.     available in source form, but they supply it with 
  457.     their PackeTwin (and PackeTen) modem/radio hardware.
  458.  
  459.     [Are the binaries available, and will they support other
  460.      hardware devices?]
  461.  
  462.     Says bdale:
  463.         NOS is integral, and doesn't look a whole lot like NOS internally any more.
  464.         Don Lemley and Milt Heath at Gracilis acquired a commercial text-based window
  465.         system with source, and heavily modified it to work in a mutli-task
  466.         environment.  They also found and have integrated an overlay manager to deal
  467.         with the memory size problems.  Don has spent considerable time finding and
  468.         squashing memory leaks, and other problems in NOS.  What they ended up with
  469.         is a completely different user interface to a package that does all of what
  470.         NOS does, and more.
  471.  
  472.     wnos                                 14-Jan-92
  473.         Michael Bentrup (DB3FL)
  474.         Mike Chace (G6DHU @ GB7IMB)
  475.  
  476.         ucsd.edu:/hamradio/packet/tcpip/wnos
  477.  
  478.         A very detailed set of manuals for WNOS3 and 4 is in the
  479.         wnos directory on ucsd.edu.
  480.  
  481.         The author of this software Michael Bentrup (DB3FL).  He
  482.         is sadly not connected to the Internet.  Mike Chace (G6DHU
  483.         @ GB7IMB) produces a version of the software more suited
  484.         to the UK environment where, for example, NET/ROM is
  485.         required.
  486.  
  487.         WNOS was the first system to port two important features of the
  488.         WAMPES Unix software namely the AX.25 autorouting front-end and
  489.         the convers server. As far as I know, ALL flavours of NOS that
  490.         support the convers server have used the WNOS code and therefore
  491.         should be compatible.
  492.  
  493.         A unique feature of WNOS is the AX.25 autorouter.
  494.  
  495.         The WNOS front end allows a system to network at Level 2. The WAMPES
  496.         AX.25 front-end stores paths to other AX.25 systems and users may use
  497.         these paths without reference to the full path. Each system along the
  498.         path simply looks up the next hop, opens a connection at L2 and relays
  499.         the frames. All this is transparent to any user, be they an ordinary
  500.         L2 user or someone using L2 to push TCP/IP through a network. Example
  501.  
  502.             G6DHU   ->  G4WRW   ->   G7XXX  -> G8YYY
  503.  
  504.         If G4WRW has a route to G8YYY (via G7XXX), G6DHU can use this route
  505.         without reference to the full path. In other words, all G6DHU need
  506.         do to open a connection to G8YYY is say
  507.  
  508.             connect G8YYY via G4WRW
  509.  
  510.         as soon as G4WRW sees the connect request, he will open a connection
  511.         to G7YYY via G7XXX. Therefore, each link on the path is hop-to-hop
  512.         acknowledged and the end users only need to know their nearest link
  513.         in the path and the final destination in order to be routed through
  514.         the system. Also, any traffic directed through your system in this
  515.         way, will have the path information saved and therefore available
  516.         for future use.
  517.  
  518.         WNOS is also unique in that it remembers (and saves to disk) ALL of
  519.         the routing table information
  520.  
  521.             AX.25 paths (as discussed above)
  522.             NET/ROM routing table
  523.             ARP table
  524.             IP routing table
  525.  
  526.         Therefore, with WNOS it is quite feasible to start with a system
  527.         completely devoid of routing table information and then get to
  528.         know all this information dynamically. Also, as paths etc change,
  529.         tables are automatically saved and updated on disk. It is a neat
  530.         system!
  531.  
  532.         WNOS was also the first version of NOS to support real time data
  533.         compression using LZW coding. email (via SMTP), news articles
  534.         (via NNTP) and convers interlink traffic may all be transferred
  535.         in data compression mode. Data is compressed before sending and
  536.         results in an average of 45-55% reduction in data transferred
  537.         against plain-text transfer.
  538.  
  539.         Another item of interest is the NNTP system. WNOS contains everything
  540.         that allows a user to deal with news articles. There is a news poster
  541.         and a news reader. The NNTP filesystem is automatically updated, for
  542.         example, if an article arrives for a newsgroup unknown to the local
  543.         system. The news spool is updated immediately and the articles accepted.
  544.         WNOS also contains a special server which allows AX.25 mail to be
  545.         converted to an NNTP news article and cross-posted to a newsgroup.
  546.  
  547.  
  548.         This is most suited as an end-user node, rather than as a network
  549.         service provider -- that is, it's a better terminal than bbs.
  550.  
  551.         Has a split-window user interface.
  552.         A status line at the top of the screen displays info
  553.         about the current window, and indicates when there is new
  554.         activity on other windows.
  555.         (Each "window" is really a full screen.  You can switch among
  556.         screens, but they don't overlap.)
  557.         There is an input area at the bottom of the screen.
  558.         attribute command sets monitor type <color|mono>.
  559.  
  560.         Supports convers, though probably not compatible with JNOS.
  561.  
  562.         The 'w' in the name is for WAMPES, which is an AX.25 routing
  563.         mechanism (used in FlexNet?).
  564.  
  565.         By the way, I had a quick look in WNOS docs and it seems WNOS
  566.         is ONLY a packet switch, it supports neither SMTP nor BBS message
  567.         commsnds.
  568.  
  569.     hrlnos                            19-Mar-92
  570.         by R. Kolb PA3EUG pa3eug@pi8hrl.ampr.org; PA3EUG @ ON4UBO;
  571.         Derived from PA0GRI 16-Aug-91.
  572.  
  573.         Has a split-window user interface like WNOS.
  574.  
  575.         FlexNet: hop-to-hop-ack digipeating
  576.  
  577.         mbox log
  578.         mem efficient
  579.         mem thresh
  580.  
  581.         mode ipcam    uses AX25 PID Text rather than IP.
  582.  
  583.         Does AX.25 autorouting.
  584.  
  585.         timers reworked.  IP times are now dynamic.
  586.         Saves arp cache to disk.
  587.  
  588.         minihrl is a smaller version of hrlnos.
  589.         It has no netrom support, thereby gaining 80k of memory.
  590.  
  591.     gpsnos                                 11-Nov-91
  592.         Based on KA9Q NOS 910420.
  593.         Optimized as a packet switch by GRAPES, B. Nebergall, K4TQL.
  594.         Adds netrom/ax25 switch optimizations, removes mailbox functions.
  595.         Has a remote sysop facility with a good "public" password protection scheme.
  596.         Supports up to 5 hardware ports, including 56K ports.
  597.  
  598.     pmnos
  599.             Presentation manager NOS,
  600.         Walt Corey KZ1F  <kz1f@kz1f.ampr.org> <kz1f@giskard.uthscsa.edu>
  601.         Jack Spitznagel also fields questions about it.
  602.  
  603.         There is no official "authoritative" drop site for PMNOS.
  604.  
  605.         giskard.uthscsa.edu has been made available for
  606.                 Walt until he gets settled into a more favorable
  607.                 situation... so it tends to be the first place a
  608.                 revised beta appears...
  609.  
  610.         The current beta version of PMNOS is PMNOS 1c. The
  611.         current PMNOS1C.ZIP file creation date -- time is: 9/24/92
  612.         -- 03:15:00 gmt
  613.  
  614.         THIS IS STILL BETA! Please don't distribute this code
  615.         without making sure that it is accompanied by:
  616.  
  617.             PMAIL.ZIP    9/18/92 -- 14:40:04
  618.             pmreadme.1st 10/6/92 -- (update includes this
  619.                         message)
  620.  
  621.         Users should have access to nos_1229.man(lp) (GRINOS manual)
  622.         and the readme files from JNOS 1.04... There is NO OTHER
  623.         documentation YET....
  624.  
  625.  
  626.  
  627.         The "cleaned&cleared" release will be posted on UCSD.EDU and
  628.         the source code will be integrated with JNOS at version
  629.         1.05....
  630.  
  631.         After Johan releases JNOS 1.05 (soon hopefully) a "current
  632.         working" compile of PMNOS will appear at UCSD.EDU and
  633.         at WG7J.AMPR.ORG.... The OS/2 and PM sources will be
  634.         combined with the rest of JNOS and an OS/2 compile selected
  635.         by #ifdef statements... IF everything goes well in the
  636.         project.  Currently, The IBM C set/2 compiler is the only
  637.         compiler that has been used to build PMNOS. I have
  638.         experimented with the GNU C/C++ compiler, but have had no
  639.         luck so far (I am not a "real programmer"). Other compilers
  640.         such as the forthcoming Borland, Zortech, and Watcom
  641.         compilers for OS/2 should work in competent hands.... But
  642.         these are still unknowns.
  643.  
  644.         WARNING-- if you have not programmed the PM environment,
  645.         you had better go "larval stage" with the OS/2 'redbooks'
  646.         (and other PMwindow specific DOCS!!) for a while before
  647.         getting creative.... Stick to customized builds of the code
  648.         for YOUR OWN PURPOSES. PLEASE dont distribute new compiles
  649.         of this stuff!!! This ain't just DOS anymore!! The
  650.         'redbooks' can be downloaded from software.watson.ibm.com by
  651.         anonymous FTP.
  652.  
  653.  
  654.         Network driver support should be along later in the
  655.         year: Planned are SCC, PI, and an NDIS 'shim'.
  656.  
  657.         The SCC and PI drivers will be loaded at IPL (in the
  658.         config.sys schema) as:
  659.  
  660.         device=C:\OS2\SCC.SYS <parms similar to attach statement #1
  661.                    in autoexec.nos>
  662.  
  663.         The NDIS 'shim' will enable use of NDIS drivers in a manner
  664.         similar to the NDIS_PKT packet driver set. You will have to
  665.         scrounge up your own copy of the appropriate OS/2 NDIS driver,
  666.         protman.sys, etc.....
  667.  
  668.         All of the above is subject to negation, reversal,
  669.         alteration, etc., by Walt Corey.
  670.  
  671.  
  672.     wampes                            16-Sep-92
  673.             Dieter DK5SG / N0PRA <deyke@fc.hp.com>
  674.         ucsd.edu:/hamradio/packet/tcpip/wampes
  675.  
  676.         WAMPES is a Unix based system derived from KA9Q. It supports all
  677.         the usual TCP, UDP and IP services and was the first to provide
  678.         the convers system (like the Internet's IRC). It was written by
  679.         Dieter Deyke (DK5SG) and ran exclusively on machines running the
  680.         HP-UX Unix flavour. It has since been ported to ISC and SCO Unix
  681.         running on PCs and within the last few monts it has been sucessfully
  682.         ported to Linux, the free Unix for 3/486 PCs.
  683.  
  684.         It currently  supports HP 9000 series 300, 400,
  685.         700,  and 800  computers,  running  HP-UX  08.xx.  
  686.         It at least compiles on SunOS, but hasn't been thoroughly tested.
  687.  
  688.         Alan Cox <iiitac@pyramid.swansea.ac.uk>
  689.  
  690.         On the subject of wampes there is also a version for interactive unix
  691.         and allegedly one for linux (tho I've not traced this).
  692.  
  693.  
  694.         [How is this related from HRLNOS? ]
  695.  
  696.         Regarding Unix releases of NET/NOS, K5JB has produced a
  697.         version for SCO Unix.  It does not seem to be available
  698.         anywhere for FTP.
  699.  
  700.     pe1chl                            1-Jul-92
  701.  
  702.         Network
  703.         netrom fixes
  704.  
  705.         "ftl0" and "broadcast" protocols/command sets for access
  706.         to the microsats like AO-16 and UO-22
  707.  
  708.         UI changes
  709.         fkey
  710.         version
  711.         screen
  712.  
  713.         services
  714.         bbs forwarding scripts
  715.  
  716.         Costas SV1XV (ex G7AHN) <kkrallis@nrcps.ariadne-t.gr>
  717.  
  718.         Regarding MINIHRL, the author PA3EUG states it is HRLNOS without
  719.         the NETROM code. I have been unable too to find the full HRL NOS
  720.         code, it is not on UCSD.EDU or on any other well known site.
  721.  
  722.         PE1CHL is a release of NET.EXE with very limited  user services
  723.         very simple mailbox but it is reasonably well designed for ax25
  724.         and also supports the "ftl0" and "broadcast" protocols/command sets
  725.         for access to the microsats like AO-16 and UO-22.
  726.  
  727.         We might run it here in Athnes on SV1IW's station to
  728.         create a TCP/IP sat gateway.
  729.  
  730.         Good docs on PE1CHL are files NETDOC1.ARC and NETDOC2.ARC
  731.         in directroy /hamradio/packet/tcpip/pe1chl on ucsd.edu
  732.  
  733.         G0BSX mail server:
  734.         ucsd.edu:/hamradio/packet/tcpip/g0bsx/server.tar.Z
  735.  
  736.     g1emm
  737.             Kelvin Hill G1EMM    <kelvin@cix.compulink.co.uk>
  738.         ucsd.edu:/hamradio/packet/tcpip/g1emm
  739.  
  740.         This was once a very actively developed version, but doesn't
  741.         seem to have grown much in the past year or two.
  742.         It branched off into PA0GRI (and hence GRINOS).
  743.  
  744.         SV1XV:    Costas <kkrallis@leon.nrcps.ariadne-t.gr>
  745.  
  746.         Kelvin also distributes SMALLEMM.EXE (without AX.25/NETROM/KISS, which
  747.         only supports SLIP and Ethernet interfaces) and is very small. I use
  748.         it on my laptop Amstrad PPC-640D. He also distributes an example
  749.         of a full G1EMM NOS installation in the file G1EMMKIT.ZIP.
  750.  
  751.         N8GNJ:        Steve Stroh     strohs@strohpub.com
  752.  
  753.         I think that when Kelvin got out of NOS codesmithing (I
  754.         believe he had a child), PA0GRI took his code and started the now
  755.         popular PA0GRI variant of NOS.  The G1EMM code is
  756.         effectively obsolete, but it is probably maintained on
  757.         several systems.
  758.  
  759.  
  760.     unknown
  761.  
  762.         Alan Cox <iiitac@pyramid.swansea.ac.uk>
  763.  
  764.         There will be a ka9q net with smtp links to the O/S, host mode
  765.         login via ax25 and the ability to act like a netrom node for Linux
  766.         very soon. I'm just finishing debugging it. If I get it finished I'll
  767.         mail you if you want to stick it on the list.
  768.  
  769. ----------------------------------------------------------------------
  770. NOS Internals
  771.  
  772.     There is not a whole lot of documentation on NOS internals.
  773.  
  774.     The socket interface used by the TCP clients and servers closely
  775.     resembles the one found in BSD Unix.
  776.  
  777.     The tricky parts arise in dealing with the multi-tasking kernel.
  778.  
  779.     More details on the NOS internals may be found in the following files:
  780.  
  781.      [What internals documentation is there?]
  782.  
  783. Source code organization
  784.  
  785.     The sources are distributed in a single flat directory.
  786.     The names of the files do not have prefixes that would identify
  787.     the part of NOS to which they belong.
  788.  
  789.     The modules are divided into groups.  Each group of modules is
  790.     placed in a library.
  791.  
  792.     Most variants of NOS are distributed in two or more packages.
  793.     There are no guidelines for what to put in a distribution, or how
  794.     to package them, so each NOS variant is distributed differently.
  795.  
  796.     NOS is generally packaged appropriately for the system that runs it.
  797.     DOS versions of NOS are almost always packaged in zip files.
  798.     Unix versions appear as compressed tar archives, and less
  799.     frequently as zip files.
  800.  
  801.     One package typically contains an executable, and possibly some
  802.     sample init files.  Another package contains the documentation
  803.     specific to that variant.
  804.     Another package often contains the full set of sources that was
  805.     used to build the executable.
  806.  
  807.     It might seem silly to distribute the entire set of sources even
  808.     when only a couple of things have changed.  It is not practical to
  809.     distribute packages of only those modules that have changed,
  810.     because there is no standard base version to serve as a reference.
  811.     Even if there were, that reference version would itself be
  812.     changing, so people would have to keep several copies of it on
  813.     hand.
  814.  
  815. ----------------------------------------------------------------------
  816. Running different NOS versions with the same configuration
  817.  
  818.     It is sometimes possible to use the same set of configuration
  819.     files and tree of directories with several versions of NOS.
  820.     Some versions are so different, however, that they will not be
  821.     able to understand each other's config files.  For instance, WNOS
  822.     has trouble with the config files for JNOS.  The mailbox help
  823.     files (in spool/help) are often quite specific to a particular version.
  824.  
  825.     Even worse, the commands that a NOS understands depends on what
  826.     features were turned on when it was compiled.  If your config file
  827.     contains commands to set up the NETROM interface, they will
  828.     produce error messages if you run a NOS that was compiled without
  829.     NETROM support turned on.  There isn't really any way to fix this
  830.     problem, and it isn't all that unreasonable.
  831.     
  832.     The following are some known inconsistencies that could be fixed
  833.     by someone who has the time to do it.  [Add to this list, please!
  834.     Try to be as specific as possible.  The less time someone has to
  835.     spend fixing something, the more likely it will be fixed.]
  836.  
  837.     -   The ftpusers file requires its fields to be separated by
  838.     spaces in most versions of NOS.  You can't use tabs.
  839.  
  840.     -    The 'domain suffix' string must NOT have a leading period, but
  841.     can (must?) have a trailing period.  If you do it wrong, some
  842.     versions will complain, but most will just quietly fail to work
  843.     properly.  I think it would be reasonable for the command to
  844.     munge the string to look the way it should.
  845.  
  846.     -    In some versions of NOS, the arguments to some commands in autoexec.nos
  847.     MUST be separated from each other by SPACES, not TABS.  Other
  848.     commands don't care.  [I seem to recall the 'mbox' or 'netrom' command
  849.     having this problem, but I can't swear to that. -- mg]
  850.  
  851.     -   There are minor variations in similar subcommands:
  852.  
  853.         ax25 retries
  854.     vs.    netrom retry
  855.  
  856.     I'd vote for the plural form myself, because the singular form
  857.     might suggest that it is a boolean that controls whether a retry
  858.     should happen, whereas it is actually an integer count.
  859.  
  860.     -    The help strings that the commands print when given no arguments,
  861.         as well as documentation, use "label" and "interface", "host",
  862.     "address", and "destination" ambiguously.  "address" could be
  863.     an IP address, an AX.25 callsign, or an Ethernet address.
  864.     "label" usually turns out to be the name of an interface.
  865.  
  866.     Ian Wade G3NRW has suggested the following conventions in his
  867.     paper in the 10th (1991) ARRL CNC proceedings.
  868.  
  869.     <callsign>     an AX.25 MYCALL callsign (e.g. G3NRW-5)
  870.  
  871.     <hostname>     a host name in domain.txt
  872.                (e.g. g3nrw or g3nrw.ampr.org.)
  873.  
  874.     <ipaddress>    an internet address (e.g. 44.131.5.2)
  875.  
  876.     <host>           <hostname> or <ipaddress>
  877.  
  878.     <username>     a user at a computer (e.g. ian)
  879.  
  880.     <interface>    a device interface name (e.g. ax0)
  881.  
  882.     <ioaddress>    a device I/O base address (e.g., 0x3f8)
  883.  
  884.     <vector>       an IRQ level (e.g. 4)
  885.                [why not <irq> ? - mg]
  886.  
  887.     -   Different commands do different things when invoked with no arguments.
  888.     This in itself isn't so bad, except that you can't always tell
  889.     whether doing so had an effect or not.
  890.  
  891.         Some commands print a help message when invoked with no arguments.
  892.     Unfortunately, some simply print "needs at least one argument",
  893.     instead of just telling what the choices are.  (If you type just
  894.     "ax25" it says that, if you type "ax25 ?" it shows you the
  895.     subcommands.)
  896.  
  897.     Other commands that can take arguments display some status
  898.     information when they are invoked with no arguments.
  899.     Unfortunately, some of them don't appear to do anything -- you
  900.     just get another prompt.  This could happen if they would
  901.     report some string and that string is empty, such as the
  902.     "motd" command.  Such commands should really print something
  903.     like "<not set>", instead of appearing not to do anything.
  904.  
  905.     Moreover, if a command that could take arguments *does* do
  906.     something when invoked with no arguments, it should say that
  907.     it has done it.  For instance, a command might set a variable
  908.     a default value if invoked with the value omitted.  (No
  909.     commands that I know of do this; omitting a value causes them
  910.     to print the current value.)
  911.  
  912.     Note that commands can't tell if they are being invoked from
  913.     autoexec.nos or by someone typing interactively.  This is
  914.     probably why most of them aren't very verbose.
  915.  
  916.  
  917. ----------------------------------------------------------------------
  918. Packet drivers
  919.  
  920.     The packet drivers from Clarkson and others are used to allow
  921.     NOS to interface to many pieces of hardware and software.
  922.  
  923.     NOS can be interfaced to the G8BPQ switch and to BAYCOM modesms.
  924.  
  925. Why are there still compiled-in device drivers?  Why aren't they
  926. implemented as packet drivers?
  927.  
  928.     From: "William Allen Simpson" <bill.simpson@um.cc.umich.edu>
  929.  
  930.     Part of the reason is that packet drivers don't separate the
  931.     encapsulation (link-layer) from the actual device (hardware-layer) very
  932.     well.  So, for example, when you have SLIP, PPP or NRS over two async
  933.     ports, you would need to load all of the link-layer code twice.
  934.  
  935.     Also, a link-layer like PPP requires significant resources such as
  936.     buffers and timers, which either need to be pre-allocated and managed
  937.     for every device (wasting lots of CPU and memory), or managed under a
  938.     single mechanism.
  939.  
  940.     BTW, Merit has built a PPP packet driver for NCSA Telnet.  It's over 100K,
  941.     instead of the 24K we have inside NOS.
  942.  
  943.     Therefore, I believe that KA9Q (Phil Karn) decided on this architecture
  944.     to save CPU and memory.  Remember, he started the program under CP/M!
  945.  
  946.     Now, there was some talk a year or two ago about a re-designed device
  947.     driver mechanism to replace packet drivers.  But there was also talk
  948.     about going to NDIS drivers.
  949.  
  950.     Which shall we do?
  951.  
  952. I can't seem to attach more that 3 packet drivers at once in NOS.
  953.  
  954.     That's true, you cannot attach more than 3 packet drivers.  This would
  955.     have to be changed in the source code.  In fact, someone should probably
  956.     finally sit down and make it correctly configurable with a simple compile
  957.     time #define somewhere.
  958.  
  959.     -- Mike Bilow, <mikebw@ids.net>  (Internet)
  960.  
  961.  
  962. ----------------------------------------------------------------------
  963. Common problems
  964.  
  965. Async interface loses characters
  966.  
  967.     If your machine can't field the interrupts from the serial port
  968.     fast enough, it loses characters completely.  One symptom is that
  969.     datagrams get retransmitted frequently over a SLIP or PPP line.
  970.     In some NOSes this causes the TCP connections to reset
  971.     automatically after getting a few datagrams across.  (TCP performs
  972.     very poorly when the IP level datagrams are not delivered
  973.     reliably, so it's best to just give up rather than waste
  974.     bandwidth.)
  975.  
  976.     Another symptom is that garbled callsigns appear in the 'ax heard' list.
  977.  
  978.     One solution is simply to use a slower speed, like 4800 baud.
  979.  
  980.     A better solution is to replace the 8250 or 16450 UART with a 16550
  981.     UART that has a built-in character FIFO.  This chip can buffer up
  982.     to 16 characters while the machine is busy doing other things, so
  983.     it relaxes the demand for prompt service.
  984.  
  985.     I've found that the JNOS i8250.c driver is slower than the others.
  986.     It loses characters badly on a 9600 baud telephone modem, whereas other
  987.     versions can keep up with no character losses at all.
  988.  
  989.     Rumor has it that DesqView may also cause problems if you run NOS
  990.     in window 1.  Serial communications-intensive applications should
  991.     ideally be run in window 2, as that one is actually optimized for
  992.     serial comm.
  993.  
  994.  
  995.     AG9V:
  996.  
  997.     I'm not sure why Johan's 8250 driver is slower -- I personally
  998.     haven't noticed that -- but I do know that at least through his 1.04
  999.     release the 16550 fifo was <not> enabled; the code would detect the '550
  1000.     but wouldn't do anything with it.  In JNOS 1.05, the fifo size
  1001.     can be specified as an attach command parameter.
  1002.  
  1003. Why do large amounts of core suddenly disappear?  For instance, I
  1004. started with 110K core, and FTP'ed a 1.5 Megabyte file off a LAN host
  1005. (14K bytes/sec transfer).  Core dropped to 30K. (using PA0GRI 2.0l)
  1006.  
  1007.     We found that the disappearing core was due in very large part to the
  1008.     number and size of Ibufs you've configured.
  1009.  
  1010.     What happens (I'm not a Real Programmer, so this may not be technically
  1011.     right on) is that when NOS needs another ibuf, it has to find a big
  1012.     enough unfragmented chunk in the heap to hold it.  If it can't find a
  1013.     large enough piece of memory, it goes to the core to get one.
  1014.  
  1015.     When you have ethernet-sized ibufs, it's quite likely that there won't
  1016.     be an unfragmented chunk big enough, so core is going to go away
  1017.     quickly.
  1018.  
  1019.     When we ran 1600 byte Ibufs, even starting with 190k coreleft, we could
  1020.     only run for about three days max before core would disappear.  We
  1021.     reduced the ibufsize to 448, which despite manual references to the
  1022.     contrary seems to be the minimum that works with an MTU of 256 and now
  1023.     we <never> see crashes resulting from loss of core (there are OTHER
  1024.     kinds of crashes, though...).
  1025.  
  1026.     So, sacrifice some performance on the ethernet by reducing your ethernet
  1027.     mtu, and your mss, to match what you'll really be running on the air.
  1028.     Then, set ibufsize to about that mtu plus 128.
  1029.  
  1030.     I haven't yet been able to determine whether the number of ibufs you set
  1031.     has any noticeable impact on this situation.  That's one for the coders
  1032.     to answer.
  1033.  
  1034.     John Ackermann   AG9V <jra@lawday.daytonoh.ncr.com>
  1035.  
  1036.     -Just one note.  The Ibufsize must be larger than your largest
  1037.     buffer size. (Not the same as but larger otherwise the SCC driver
  1038.     doesn't work properly.)
  1039.  
  1040.     So I assume you are running attach buffersizes just a little
  1041.     bigger or the same size as the mtu of the interface. ie 447 mtu
  1042.     for an ethernet port with a buffersize of 447.
  1043.  
  1044.     "Carl Makin" <makinc@hhcs.gov.au>
  1045.  
  1046.     Actually, I've been running attach buffers much larger than ibufsize;
  1047.     never knew that was a requirement.  And, it doesn't seem to affect
  1048.     things negatively.  When I ran big ibufs, they were bigger than the
  1049.     attach buffers and <that's> when I had the memory leak problems.
  1050.  
  1051.     It would be nice for One Who Truly Knows to fully document these buffer
  1052.     issues... their tuning is critical, but there sure isn't much to go on.
  1053.     Witness the statement in the asystat command section of the reference
  1054.     manual (that's been there for ages) that the number of software
  1055.     high-water-mark hits tells you whether you need to adjust the buffer
  1056.     size, and then refers you to the attach command chapter for further
  1057.     details, of which there are none.
  1058.  
  1059.     John
  1060.  
  1061.  
  1062.     Asy attach buffer doesn't care what the ibuf size is; they are fifo type
  1063.     buffers used during the interrupts, from which the asy rx process reads
  1064.     characters into mbufs. An asy buffer is allocated (with ints on) during
  1065.     the attach command, and is there for the life of the interface.
  1066.  
  1067.     Scc, packet and pi interfaces use the interrupt buffer scheme very actively
  1068.     for receiving of packets. They allocate buffers at interrupt time, and
  1069.     the queue need.
  1070.     The size of the buffer is somewhat complex. It needs to be the largest of
  1071.  
  1072.     -the largest ax25 paclen + about 100 (ax.25 header, actually 72 bytes max)
  1073.  
  1074.     -the largest ip mtu (if in vc mode over ax.25) + 20 (ip header) + about 100
  1075.  
  1076.     -the ethernet mtu + safety margin :)
  1077.  
  1078.  
  1079.     i have some written up in the latest draft of the jnos40 DE manual,
  1080.     i will include that in the docs for 1.05
  1081.  
  1082.     Johan
  1083.  
  1084.  
  1085. Why won't my PK-88 (and PCB-88)  send/receive a packet larger than 1048 bytes?
  1086.  
  1087.     The AX.25 spec limits packets to 256 data bytes, but we'll ignore
  1088.     that.
  1089.  
  1090.     It's a built-in limitation of AEA's.  They don't think it's a bug.
  1091.     Some Kiss implementaations have even more severe limitations. The
  1092.     Kantronics ROMS (at least the earlier ones) won't allow 1024.
  1093.  
  1094.     As far as I know the TNC2 TAPR ROMS do not have any imposed limitation
  1095.     other than memory. In your case you will have to complain to AEA or
  1096.     perhaps there is a later ROM for the 88.
  1097.  
  1098.  
  1099. ---------------------------------------------------------------------
  1100. Compiling NOS
  1101.  
  1102. What compiler do I need to use?
  1103.  
  1104.     Most versions of NOS were developed using Borland (Turbo) C.
  1105.  
  1106.     Originally, Borland sold the compiler, assembler, debugger, and
  1107.     profiler as "Turbo C Professional".  Later they split the package into
  1108.     pieces.  Now the compiler is available for less than $100 as "Turbo
  1109.     C++".  The compiler and all the tools is available as "Borland C++",
  1110.     currently V3.1, and costs more than $300.  (For another $200, you can
  1111.     also get Borland's "Application Framework" for building windows
  1112.     applications, but that isn't needed for NOS.)
  1113.  
  1114. Compiler glitches
  1115.  
  1116.     Turbo C++ 1.0 cannot compile NOS, because the compiler is too buggy.
  1117.     (It compiles it, but the executable doesn't work right.)
  1118.  
  1119.     I believe that Turbo C++ 2.0 will successfully compile it.
  1120.  
  1121.  
  1122.     The BC++ 3.1 "-3" compiler switch is not safe with NOS.  This appears to
  1123.     be limited to certain specific modules, primarily ALLOC.C, but I have
  1124.     never managed to encapsulate the problem sufficiently.  What I think is
  1125.     happening is that the use of the "HUGE" keyword in some places causes a
  1126.     conflict with the "-3" switch.  Compiling ALLOC.C to assembly source with
  1127.     the "-3" switch will show some very funny results, for example.
  1128.  
  1129.     On the other hand, the "-Z" compiler switch, which used to be unsafe,
  1130.     is now safe under BC++ 3.1.  You win some, you lose some.
  1131.  
  1132.     -- Mike Bilow, <mikebw@ids.net>  (Internet)
  1133.  
  1134.  
  1135. What does 'linker fixup overflow' mean?
  1136.  
  1137.     >Fixup overflow at _TEXT:0092 , target=__MKNAME
  1138.     >c:\bc\lib\cl.lib in modeule FCLOSE.
  1139.  
  1140.     You need to force all of the MKNAME.C module to be in the _TEXT segment.
  1141.     This is explained in the voluminous comment I put into MKNAME.C.  You
  1142.     need to make sure that MAKEFILE invokes the compiler with the -zC_TEXT
  1143.     switch when compiling that specific module.
  1144.  
  1145.     What is happening is that library routine fclose() is making a call to
  1146.     __MKNAME(), which is declared to be "near pascal."  This means that the
  1147.     linker must be able to resolve an address for __MKNAME() within 64K;
  1148.     ts is a "linker fixup."  If __MKNAME() is more than 64K away from the
  1149.     place in flclose() where it is trying to call __MKNAME(), that is a
  1150.     "linker fixup overflow."
  1151.  
  1152.     This is not, by the way, a problem that can be finessed.  It must be fixed.
  1153.  
  1154.     -- Mike Bilow, <mikebw@ids.net>  (Internet)
  1155.  
  1156. What do I do when DGROUP exceeds 64K?
  1157.  
  1158.     The error happens because too many data objects (variables, strings, etc.)
  1159.     have been placed in the data segment, which is restricted to be only 64k
  1160.     bytes long.
  1161.  
  1162.     The easiest way to avoid this is to choose fewer options in config.h,
  1163.     so fewer data objects are defined.
  1164.  
  1165.     However, setting -Ff=511 or -Ff=255 in the makefile this will
  1166.     usually do the trick, too.
  1167.  
  1168.     Another way is suggested by Mike Bilow:
  1169.  
  1170.     The DFAR kludge that I developed to finally fix the linker error about
  1171.     DGROUP exceeding 64K found its way into the distribution release of
  1172.     PA0GRI NOS as of v2.0l or so.  Although it will work with Borland C++
  1173.     from version 2.0 or later (and this is correctly handled by a #define
  1174.     in GLOBAL.H), the compiler must be invoked with the "-Ff" switch from
  1175.     the MAKEFILE.  (Variants with the threshold specified, such as "-Ff=511",
  1176.     will work fine.)  I have not looked at Johan's [wg7j] source lately and I don't
  1177.     know if he included the DFAR kludge also, but it is generally more stable
  1178.     to use the DFAR kludge where the programmer picks what gets expelled into
  1179.     the far data segments rather than the Borland "-Ff-nnn" automatic far data
  1180.     threshold.  In my experience, "-Ff=nnn" will work with only sufficiently
  1181.     large values for "nnn," and will fail if smaller than 255.
  1182.  
  1183.     In other words, it works better to tell the compiler to be on the lookout
  1184.     for far data conversion with the "-Ff" switch, but to manually specify
  1185.     what gets moved using the DFAR kludge.  The "-Ff" switch with no value
  1186.     specified defaults to 32K, which doesn't move anything automatically.
  1187.     (Believe it or not, no one has yet put a static data object in NOS that
  1188.     is bigger than 32K.)
  1189.  
  1190.     -- Mike Bilow, <mikebw@ids.net>  (Internet)
  1191.  
  1192. Can NOS be made to use code overlays, so only the parts that are really in
  1193. use reside in memory?
  1194.  
  1195.     Making NOS work with code overlays is a discussion that comes up
  1196.     from time to time.  I spent a long time trying to get it to work,
  1197.     and all I ever had was a program that crashed almost instantly.
  1198.     The problem is that NOS changes the stack segment register on the
  1199.     fly, and the overlay manager has to know certain things about the
  1200.     stack in order to work.  The general consensus is that overlays
  1201.     cannot be done, although I have never conceded that and can't
  1202.     provide a counterexample.
  1203.  
  1204.     -- Mike Bilow, <mikebw@ids.net>  (Internet)
  1205.  
  1206.  
  1207. ----------------------------------------------------------------------
  1208. DesqView, windows
  1209.  
  1210.     You have some immediate problem when trying to port NOS to DesqView or
  1211.     Windows.  First, Windows is somewhat unsuitable, since Windows apps
  1212.     expect to cooperatively multitask, and real-time performance is a thing
  1213.     requiring lots of kludges, even by Windows standards.  There are direct
  1214.     solution for doing this kind of Windows programming, most obviously
  1215.     writing a custom VxD virtual device driver, but you may find that you
  1216.     have rewritten a good chunk of Unix by the time this works.
  1217.  
  1218.     DV is more suitable, but still leads to problems.  It can be run on a
  1219.     very simple machine, although you don't gain much with DV until you have
  1220.     a 386 or better.  At this point, you are probably looking at the whole
  1221.     difference between a good DV setup and a good OS/2 setup being 4 MB of RAM,
  1222.     about $120 at current U.S. street prices.  I think DV is a really well done,
  1223.     even briliiant, product that fit a market niche that will soon disappear.
  1224.  
  1225.     -- Mike Bilow, <mikebw@ids.net>  (Internet)
  1226.  
  1227.     As I have mentioned before windows is not a multitasking system, it is
  1228.     cooperatively multitasking. This means that only one program can run at a
  1229.     time (period) That one program can give up control to Windows at selected /
  1230.     predetermined points, at that point Windows can give control to another
  1231.     app. That program in turn runs until it decides to give up control. If for
  1232.     some reason (error perhaps) it doesnt, nothing else (including windows)
  1233.     will run. If a program "hogs" control for say 1 sec, at 9600 baud thats abt
  1234.     1k data lost, for 5 sec its about 4.5k lost. It essentially could be done
  1235.     but there would be a huge risk of data loss and each process would have to
  1236.     be a window, as in the "dispatchable" unit of execution under Windows.
  1237.     Under OS/2 (for instance) it is a task not a window and OS/2 is a pure
  1238.     multitasking operating system, the timer task can not be stopped by a bad
  1239.     app, neither can the asy devices or the keyboard etc etc.
  1240.  
  1241.     Walt Corey [44.104.0.23] <kz1f@kz1f.ampr.org>
  1242.  
  1243.  
  1244.     There is another dos multitasker that would seem to fit the bill here
  1245.     it's Free,well documneted,source available also free and has almost all
  1246.     the facilitys needed built in. The program is called CTASK written by
  1247.     (I think) T. Wagner in Germany. I had considered a while back cutting the
  1248.     socket lib out of NOS and moving it to CTASK but the job looked a lot bigger
  1249.     that the time I had available.
  1250.  
  1251.     -- chrisc@london-pride.lmt.mn.org
  1252.  
  1253. Why does NOS implement its own task-switcher, when there are
  1254. several that exist and do a passable job?
  1255.  
  1256.     DOS NOS was done before DesqView was viable.
  1257.  
  1258. ----------------------------------------------------------------------
  1259. Questions
  1260.  
  1261.     [ This section should summarize the topics that arise
  1262.       perennially on tcp-group. ]
  1263.  
  1264. How can I use NOS between computers over an RS232 wire link?
  1265.  
  1266.     NOS can use an asynchronous RS232 link by using a driver known as
  1267.     the async serial driver.  Look for the documentation under
  1268.     the 'attach' command, using the 'asy' driver.
  1269.  
  1270.     The link protocol uses the async driver.
  1271.     Whereas the async driver will move the characters from one machine
  1272.     to another, the link protocol interprets them.
  1273.  
  1274.     Most versions of NOS support one of two link protocols.
  1275.  
  1276.     SLIP is the most commonly used serial port link protocol.
  1277.  
  1278.     PPP is an alternative.  It is similar to SLIP, but permits the hosts
  1279.     to negotiate things like the interface's MTU automatically.
  1280.     If you don't know what that means, don't worry.  You're probably
  1281.     better of using SLIP.
  1282.  
  1283.  
  1284. Which of the RS232 signals are required on an async serial connection
  1285. (i.e., the minimum required)?
  1286.  
  1287.     RXD, TXD, and ground (pins 2, 3, and 7) are the minimum required.
  1288.     If both ports expect to be connected to a modem (most PC serial
  1289.     ports do), you'll have to use a null modem to flip pins 2 and 3
  1290.     (also 4 and 5; see below) between the ports.
  1291.  
  1292.     Beware that there is no hardware flow control with only these
  1293.     three signals.  Unless the link protocol does software flow
  1294.     control [I doubt that SLIP or PPP do], characters may be lost.
  1295.  
  1296.     If you also connect RTS and CTS (pins 4 and 5), NOS can use them
  1297.     for hardware flow control.
  1298.  
  1299. Does the async serial driver in NOS/NET do any hardware handshaking for flow control?
  1300.  
  1301.     Yes.  There is more than one implementation of the async serial driver,
  1302.     and each one handles handshaking differently.  The most widespread
  1303.     one is the one found in KA9Q NOS.  With it, you specify
  1304.     whether it should use RTS/CTS handshaking by putting a 'c' in the
  1305.     options word at the end of the attach command [before the IP address?].
  1306.     
  1307.     Another async driver, found in WG7J's JNOS [what others? GRI?],
  1308.     also supports RTS/CTS handshaking, but you don't have to specify
  1309.     that it should do so.  It automatically detects whether the other
  1310.     side is using flow control, and acts appropriately.
  1311.     If you do specify a 'c' in the 'attach' command's options word,
  1312.     the driver will ignore it, so it doesn't hurt to leave it there.
  1313.     [ Then how can I tell it to initiate the handshaking? ]
  1314.  
  1315.     This async driver can also use the RLSD (also called DCD) signal
  1316.     for flow control.
  1317.  
  1318.     
  1319.  
  1320.  
  1321. How do I use NOS as a router (gateway) between an Ethernet and an
  1322. Amprnet via a TNC?
  1323.  
  1324.     You may use any ethernet card that you have a Russ Nelson/Clarkson/FTP
  1325.     Inc. Packet driver for. I have used NE1000/2000, DEPCA, 3COM, and
  1326.     WD/SMC8003/8013. Drivers also exist for IBM Token Ring and Arcnet
  1327.     adapters.
  1328.  
  1329.     As in most TCP/IP implementations the "ifconfig <interface_name>" command
  1330.     allows one to assign independent (or the same) ip addresses for each
  1331.     interface. Gatewaying is supported by *either* doing an "arp ... publish"
  1332.     for the remote slip ip-address at the connected ethernet end, *or* using
  1333.     the "ifconfig encap" to encapsulate one subnet thru another ones ip
  1334.     address link. (this is the amprnet gateway system you have heard talked
  1335.     about.) My explanation presupposes you are familiar with most of the
  1336.     TCP/IP routing and addressing issues.
  1337.  
  1338.     Jack Spitznagel <jks@giskard.uthscsa.edu>
  1339.  
  1340.  
  1341. My machine crashes when I run it as an ethernet <-> slip router.
  1342.  
  1343.    Try getting a newer version of NOS (especially the KA9Q version).
  1344.    Also try running with handshaking totally disabled at both ends.
  1345.  
  1346. Why do I see garbled callsigns in the 'ax heard' list?
  1347.  
  1348.     This can happen because of errors in the received packet.  Bad
  1349.     packets occasionally occur in any transmission medium, especially
  1350.     on a shared radio channel.  If the sending stations TxDelay is too
  1351.     short, you may also see garbled packets.  Not all bad packets will
  1352.     appear in the various error counts kept by NOS.
  1353.  
  1354.     Garbled packets may also result if your serial port loses characters;
  1355.     see the section on 'async interface loses characters' elsewhere in
  1356.     this file.
  1357.  
  1358.  
  1359.  
  1360. How do I get a permanent IP address?
  1361.  
  1362.     Talk to the AMPRNET address coordinator for your area.
  1363.     A list of them is available in
  1364.     ucsd.edu:/hamradio/ampr_coordinators [?]
  1365.     The best way to find out, though, is to find other people nearby
  1366.     who are already running an AMPRNET host.
  1367.  
  1368. How do I set up a machine as a mail gateway?
  1369.  
  1370.     [this needs work - there MUST be a better way to do all this!]
  1371.  
  1372.     Briefly, add a REWRITE RULE to spool\rewrite FOR EACH HOST ALIAS.
  1373.  
  1374.     The machine must have a mail host address, one for each mail network
  1375.     that you want it to connect.  (A "mail network" is simply a bunch
  1376.     of machines that can, directly or indirectly, send mail to each other.)
  1377.     The machine considers itself to have only one real hostname,
  1378.     which is set (in AUTOEXEC.NOS) via the 'hostname' [?] command.
  1379.     We'll call the other names "hostname aliases".
  1380.  
  1381.     With NOS, you must take care that your gateway machine recognizes
  1382.     that the mail is destined for it, regardless of which of its host
  1383.     name the message was sent to.
  1384.  
  1385.     To begin with, the machine only recognizes mail addressed to its
  1386.     own IP hostname (the one that's set by the NOS 'hostname' [?]
  1387.     command).  To make it recognize its other host names, you have
  1388.     to add a rewrite rule in the file spool\rewrite that turns that
  1389.     hostname alias into the real hostname.
  1390.  
  1391.     If you fail to make your machine recognize all its hostname
  1392.     aliases, then when a message arrives for one of its aliases, it
  1393.     will forward the message to some other machine (usually to its SMTP gateway).
  1394.     Some machine down the line will realize that the message is
  1395.     supposed to go to your host, and will send it back there, creating
  1396.     a loop.  Eventually, some machine in the loop will notice that
  1397.     the message has been to the same hosts several times, and will
  1398.     (hopefully) return it to the sender.
  1399.     
  1400.  
  1401. What is "the mailer"?
  1402.  
  1403.     NOS can act as a maildrop, collecting and storing messages
  1404.     addressed to you.  There are several ways it can do this, such as
  1405.     SMTP and "conventional" amateur BBS mail forwarding
  1406.     protocols.  Also, people to connect or telnet to your mailbox can
  1407.     issue mailbox commands to leave you mail.  No matter how the mail
  1408.     gets there, it is stored in files in the spool/mail directory,
  1409.     where it stays until you do something with it.
  1410.     All messages addressed to a particular recipient are concatenated
  1411.     together in a single file.
  1412.  
  1413.     The mailer is a program, separate from NOS, that shows you the
  1414.     messages in a mail file.  If you are running plain DOS, you have
  1415.     to exit NOS to run the mailer.  (You can also use the 'shell'
  1416.     command to suspend NOS and get to a DOS command interpreter, but
  1417.     that takes a lot of memory to work.)  Then you run the mailer
  1418.     program to read your messages.  You can delete them, reply to
  1419.     them, forward them, and so forth.  When you're done, it updates
  1420.     your mail file, and queues any messages that you asked it to send.
  1421.     NOS will try to send the messages the next time you run it.
  1422.  
  1423.     You can run the mailer while NOS is running if you're running a
  1424.     multitasker like DesqView or DoubleDos.
  1425.  
  1426.     You can choose which program to use as the mailer by setting
  1427.     the DOS environment variable MAILER in your AUTOEXEC.BAT, as in
  1428.  
  1429.     SET MAILER=VIEW.EXE
  1430.  
  1431.     Some of the mailers that are available are:
  1432.  
  1433.     BM        The earliest mailer that was included with NET/NOS.
  1434.         Written by Bdale Garbee, N3EUA.
  1435.  
  1436.         ucsd:/hamradio/packet/tcpip/bm
  1437.  
  1438.         This was originally written as a quick-hack with style (or
  1439.         lack thereof) reminiscent of /bin/mail on most Un*x
  1440.         machines.  The whole motivation behind BM was to have some
  1441.         way to test the SMTP client I had written for NET and the
  1442.         SMTP server Phil had written and I had hacked on.  I still
  1443.         remember how much fun it was sending the first mail
  1444.         message from BM to the tcp-group list...  :-) And the very
  1445.         serious discussion Phil and I had on the phone about
  1446.         whether it was OK to call it 'BM' in a time period when we
  1447.         were trying hard to be taken seriously by the packet
  1448.         community at large... but hey, if you can't laugh at
  1449.         yourself... :-)
  1450.  
  1451.         Dave Trulli NN2Z did a bunch of work on BM at one point,
  1452.         which is probably why it's still alive and in use.
  1453.  
  1454.     PCELM   A replacement for BM, popular in Europe.
  1455.  
  1456.     VIEW    ?
  1457.         ucsd:/hamradio/packet/tcpip/bm
  1458.  
  1459.         One small addition: The VIEW mailer is a full screen e-mail
  1460.         user interface with many features like undigestifying,
  1461.         queue manager, gateway specification etc. 
  1462.  
  1463.     NNTP readers
  1464.  
  1465.       -    I have not checked yet for newreaders specific to NOS,
  1466.     but the ones developed for PC-UUCP use should be usable.
  1467.  
  1468.     in /ibmpc/simtel20/msdos/uucp on doc.ic.ac.uk 
  1469.     (probably also on SIMTEL20 and its mirrors, like nic.funet.fi)
  1470.     It might need some modification to cooperate
  1471.     flawlessly with NOS NNTP but this should be minor.
  1472.  
  1473.       -    snews from John McCombs
  1474.  
  1475.  
  1476.       -    ftp.demon.co.uk:/pub/trumphurst/cppnws16.zip
  1477.     Nikki Locke <nikki@trmphrst.demon.co.uk>
  1478.  
  1479. Why does the 'shell' command just return without doing anything?
  1480.  
  1481.     This happens if there is not enough memory to run the DOS command
  1482.     interpreter as a child of NOS.  Rather than printing a message
  1483.     informing you of this, NOS just prints another prompt!
  1484.  
  1485. What is AMPRNET?
  1486.  
  1487.     AMPRNET is a network composed of amateur TCP/IP hosts whose names
  1488.     are in the .ampr.org domain, and whose addresses are assigned by
  1489.     the AMPRNET address coordinator (a person!).
  1490.  
  1491.     Although AMPRNET is technically a network, not all AMPRNET hosts
  1492.     can talk to one another.  Many people have begun to use landline
  1493.     gateways to connect the disjoint pieces of AMPRNET.
  1494.  
  1495. What is a gateway?
  1496.  
  1497.     A gateway is a host that joins one or more AMPRNET subnets to the
  1498.     rest of AMPRNET.  Loosely, an AMPRNET subnet consists of the
  1499.     AMPRNET hosts in a particular area, say, a city.    
  1500.  
  1501.     AMPRNET is a network composed of amateur TCP/IP hosts.  In theory,
  1502.     any host on a network like AMPRNET should be able to send IP
  1503.     datagrams to any other host on the network.  In practice, however,
  1504.     the network is fragmented into "subnets", which, loosely, is a set
  1505.     of machines that can talk to each other.  (The term "subnet" has a
  1506.     more specific meaning in TCP/IP, where it refers to a set of
  1507.     machines that have a common prefix in their IP address.  This
  1508.     simplifies routing; for more info, see the reference on gateways.)
  1509.  
  1510.     The hosts on a subnet may talk to each other via radio modems, TNCs,
  1511.     telephone modems, ethernet, wire lines, or just about any other
  1512.     way of moving bytes around.  (NOS is one of the few packages
  1513.     available to amateurs that can support this diversity.)
  1514.     Each city or town tends to develop such a subnet, because everyone
  1515.     in the locality can hear one another on VHF radio, and the phone
  1516.     calls are local, or they're even in the same building.
  1517.  
  1518.     If each of the hosts in a locality has a coordinated AMPRNET
  1519.     domain name and IP address, then that subnet is technically part
  1520.     of AMPRNET.  This means that other AMPRNET hosts on other subnets
  1521.     (i.e., other cities) could send packets to them, if only there
  1522.     were a way to get them between the two subnets.  To do this, there
  1523.     must be at least one host that can talk to both of the subnets,
  1524.     through which hosts on either subnet can send their packets to the
  1525.     other side.  Such a host is a gateway.
  1526.  
  1527.     In effect, a gateway turns the subnets into a larger network,
  1528.     called an "internetwork", or "internet".
  1529.  
  1530. What is an "Internet gateway"?
  1531.  
  1532.     An "Internet gateway", in AMPRNET, is a gateway that talks to
  1533.     other AMPRNET gateways by sending the packets over a landline
  1534.     network known as the Internet.  The Internet (capital I) is a
  1535.     world-wide academic and commercial network known as the Internet.
  1536.  
  1537.     Therefore, any host potentially can be a gateway if it is
  1538.     connected to some subnet of AMPRNET and to the Internet.
  1539.     In order to become an operating gateway, the other gateways must
  1540.     be told what the gateway's address is, and what subnets it knows
  1541.     how to send packets to.
  1542.  
  1543.     For more information on gateways, look in the following files
  1544.     that are available for FTP.
  1545.  
  1546.     minnie.cs.adfa.oz.au    gateways.023    (number changes with version)
  1547.     ke9yq.ampr.org
  1548.  
  1549. What's the difference between a gateway and a wormhole?
  1550.  
  1551.     Wormholes don't do routing; gateways do.
  1552.  
  1553.     A wormhole is just a two-way "data pipe", often a phone line, that
  1554.     can accept packets on one end, and spits them out at the other
  1555.     end.  There is only one possible destination.  It is like an AX.25
  1556.     digipeater, and in fact many wormholes are fashioned to look just
  1557.     like one.  (Another way to look at it is as a band opening on HF.)
  1558.  
  1559.     A wormhole doesn't know or care what is in the packets; in
  1560.     particular, it doesn't do any routing.  To use a wormhole, you
  1561.     have to know where its input port is so you can send your packets
  1562.     through it (as if it were a digipeater), and what stations are at
  1563.     the other end, so you can address packets to them.
  1564.  
  1565.     Gateways are more interesting than wormholes, because they can
  1566.     route packets sent into them to one of many different
  1567.     destinations, perhaps routing through other gateways on the way.
  1568.     Gateways form a true network, in the sense that you can just
  1569.     inject a packet into it, and it will figure out how to get it to
  1570.     its destination (if possible).
  1571.  
  1572.     Because they do routing, gateways have to know something about the
  1573.     packets you send through them, so they can figure out where to
  1574.     send it.  That is, you have to use a particular protocol that the
  1575.     gateway understands.
  1576.  
  1577.  
  1578. What parameters should I use for the netrom interface?
  1579.  
  1580.     netrom nodetimer 1800
  1581.     netrom obsotimer 1800
  1582.     netrom minquality 144
  1583.     netrom interface axip_place 230
  1584.     netrom interface diode_matrex 230       # direct rs232
  1585.     netrom interface back_bone 203          # just *two* radios talking
  1586.     netrom interface user_port 192          # lots of radios
  1587.  
  1588.     netrom ttl 24
  1589.  
  1590.     Since the timers will affect both the RF port and the encap ports I would
  1591.     suggest you set it to the same value that is used locally on the air.
  1592.  
  1593. ----------------------------------------------------------------------
  1594. Wishes
  1595.  
  1596.     SV1XV:    Costas <kkrallis@leon.nrcps.ariadne-t.gr>
  1597.  
  1598.     As my job forces me to run SCO Unix Sys V on my main machine,
  1599.     I would like to find a STREAMS/socket driver to add ax.25 and
  1600.     KISS to the existing SCO TCP/IP services, but it seems nobody
  1601.     has written one yet.
  1602.  
  1603.  
  1604. ----------------------------------------------------------------------
  1605. Machine Type:
  1606. Hardware Options:
  1607.         Display:
  1608.         DASD:
  1609. Network Hardware:
  1610.         AX.25:
  1611.         Network:
  1612.         Comm ports:
  1613. BIOS:
  1614. Memory:
  1615.  
  1616. OS:
  1617. Memory manager:
  1618. Device Drivers:
  1619. Shell:
  1620. Compiler Used:
  1621.         Compile Options:
  1622.         Patch Level:
  1623.  
  1624. ----------------------------------------------------------------------
  1625.  
  1626. Glossary
  1627.  
  1628.     NET
  1629.     NETROM
  1630.     NOS
  1631.  
  1632.     RSPF
  1633.         ucsd.edu:/hamradio/packet/tcpip/docs/rspf.doc
  1634.     ucsd.edu:/hamradio/packet/tcpip/incoming/rspf22p.txt
  1635.  
  1636.     RIP
  1637.     TCP
  1638.     IP
  1639.     Internet
  1640.     internet
  1641.  
  1642. ----------------------------------------------------------------------
  1643. Bibliography
  1644.  
  1645. ARRL Computer Networking Conference Proceedings
  1646.     Available from ARRL HQ, Newington CT.
  1647.     Send mail to info@arrl.org for an automatic response pointing at
  1648.     more information about the ARRL.
  1649.     Some of these papers are available online in the directory
  1650.     ucsd.edu:/hamradio/packet/tcpip/docs.
  1651.  
  1652.     This list is not exhaustive; there are many other interesting
  1653.     articles, but these are the ones most relevant to NOS and TCP/IP.
  1654.  
  1655.     NOS Overviews and Documentation
  1656.  
  1657.     NOS Command Set Reference
  1658.             Ian Wade G3NRW            10th (1991)
  1659.  
  1660.     NOSVIEW: The On-Line Documentation Package for NOS
  1661.             Ian Wade G3NRW            11th (1992)
  1662.  
  1663.         The KA9Q Internet (TCP/IP) Package: A Progress Report
  1664.             Phil Karn KA9Q            6th (1987)
  1665.  
  1666.     Amateur TCP/IP: An Update
  1667.             Phil Karn KA9Q            7th (1988)
  1668.  
  1669.     Amateur TCP/IP in 1989
  1670.             Phil Karn KA9Q            8th (1989)
  1671.  
  1672.     Services and Protocols
  1673.  
  1674.     The Design of a Mail System for the KA9Q Internet protocol
  1675.             Bdale Garbee, N3EUA        6th (1987)
  1676.             Gerard van der Grinten, PA0GRI    
  1677.  
  1678.     Finger - A User Information Lookup Service
  1679.             Michael T. Horne, KA7AXD       7th (1988)
  1680.  
  1681.     Callsign Server for the KA9Q Internet Protocol Package
  1682.             Doug Thom, N6OYU        8th (1989)
  1683.             Dewayne Hendricks, WA8DZP
  1684.  
  1685.     The Network News Transfer Protocol and its Use in Packet Radio
  1686.             Anders Klemets, SM0RGV            9th (1990)
  1687.  
  1688.     A Routing Agent for TCP/IP: RFC 1058 Implemented for the KA9Q
  1689.     Internet Protocol Package            7th (1988)
  1690.             Albert G. Broscius, N3FCT
  1691.  
  1692.     Thoughts on the Issues of Address Resolution and Routing in
  1693.     Amateur Packet Radio TCP/IP Networks
  1694.             Bdale Garbee, N3EUA        6th (1987)
  1695.  
  1696.     Another Look at Authentication
  1697.             Phil Karn KA9Q            6th (1987)
  1698.  
  1699.     LZW Compression of Interactive Network Traffic
  1700.             Anders Klemets, SM0RGV            10th (1991)
  1701.  
  1702.     PACSAT Protocol Suite -- An Overview
  1703.             Harold Price, NK6K        9th (1990)
  1704.             Jeff Ward, G0/K8KA
  1705.  
  1706.     BULLPRO -- A Simple Bulletin Distribution Protocol
  1707.             Tom Clark, W3IWI        9th (1990)
  1708.  
  1709.     Macintosh
  1710.  
  1711.     KA9Q Internet Protocol Package on the Apple Macintosh
  1712.             Dewayne Hendricks, WA8DZP       8th (1989)
  1713.             Doug Thom, N6OYU
  1714.  
  1715.     Status Report on the KA9Q Internet Protocol Package for the
  1716.     Apple Macintosh
  1717.             Dewayne Hendricks, WA8DZP       9th (1990)
  1718.             Doug Thom, N6OYU
  1719.  
  1720.     Higher Speed Amateur Packet Radio using the Apple Macintosh
  1721.     Computer
  1722.             Doug Yuill, VE3OCU        10th (1991)
  1723.  
  1724.     Network design
  1725.  
  1726.     The Implications of High-Speed RF Networking
  1727.             Mike Chepponis, K3MC        8th (1989)
  1728.             Glenn Elmore, N6GN
  1729.             Bdale Garbee, N3EUA
  1730.             Phil Karn, KA9Q
  1731.             Kevin Rowett, N6RCE
  1732.  
  1733.     Design of a Next-Generation Packet Network
  1734.             Bdale Garbee, N3EUA        8th (1989)
  1735.  
  1736.     More and Faster Bits: A Look at Packet Radio's Future
  1737.             Bdale Garbee, N3EUA        7th (1988)
  1738.  
  1739.     Physical Layer Considerations in Building a High Speed Amateur
  1740.     Radio Network
  1741.             Glenn Elmore, N6GN        9th (1990)
  1742.  
  1743.     Spectral Efficiency Considerations for Packet Radio
  1744.             Phil Karn, KA9Q            10th (1991)
  1745.  
  1746.         This should be considered to be required reading.
  1747.  
  1748.     MACA - A New Channel Acess Method for Packet Radio
  1749.             Phil Karn, KA9Q            9th (1990)
  1750.  
  1751.     A Duplex Packet Radio Repeater Approach to Layer One
  1752.     Efficiency 
  1753.             Robert Finch, N6CXB        6th (1987)
  1754.             Scott Avent, N6BGW
  1755.  
  1756.     A Duplex Packet Radio Repeater Approach to Layer One
  1757.     Efficiency, Part Two
  1758.             Scott Avent, N6BGW        7th (1988)
  1759.             Robert Finch, N6CXB
  1760.  
  1761.  
  1762.     Network Implementation
  1763.  
  1764.     Packet Radio at 19.2 kB -- A Progress Report
  1765.             John Ackermann, AG9V        11th (1992)
  1766.  
  1767.     Implementation of a 1Mbps Packet Data Link
  1768.             Glenn Elmore, N6GN        8th (1989)
  1769.             Kevin Rowett, N6RCE
  1770.  
  1771.     Hubmaster: Cluster-Based Access to High-Speed Netowrks
  1772.             Glenn Elmore, N6GN        9th (1990)
  1773.             Kevin Rowett, N6RCE
  1774.             Ed Satterthwaite, N6PLO
  1775.                     
  1776.     Recent Hubmaster Networking Progress in Northern California
  1777.             Glenn Elmore, N6GN        9th (1990)
  1778.             Kevin Rowett, N6RCE
  1779.  
  1780.     The 56 kb/s Modem as a Network Building Block: Some Design
  1781.     Considerations
  1782.                 Barry McLarnon, VE3JF        10th (1991)
  1783.  
  1784.  
  1785.     Digital Networking with the WA4DSY Modem - Adjacent Channel
  1786.     and Co-Channel Frequency Reuse Considerations
  1787.                 Ian McEachern, VE3PFH        10th (1991)
  1788.  
  1789.     A Full-Duplex 56kb/s CSMA/CD Packet Radio Repeater System
  1790.             Mike Chepponis, K3MC        10th (1991)
  1791.             Lars Karlsson, AA6IW
  1792.  
  1793.     A High Performance, Collision-Free Packet Radio Network
  1794.             Phil Karn KA9Q            6th (1987)
  1795.  
  1796.     Adaptation of the KA9Q TCP/IP Package for Standalone Packet
  1797.     Switch Operation
  1798.             Bdale Garbee, N3EUA        9th (1990)
  1799.             Don Lemley, N4PCR
  1800.             Milt Heath
  1801.  
  1802.     Hardware
  1803.  
  1804.     The KISS TNC: A Simple Host-to-TNC Communications Protocol
  1805.             Mike Chepponis, K3MC        6th (1987)
  1806.             Phil Karn, KA9Q
  1807.  
  1808.     The Ottawa Packet Interface (PI) A Syncrhonous Serial PC
  1809.     Interface for Medium Speed Packet Radio
  1810.             Dave Perry, VE3IFB        10th (1991)
  1811.  
  1812.     HAPN-2: A Digital Multi-Mode Controller fo the IBM PC
  1813.             John Vanden Berg, VE3DVV    11th (1992)
  1814.  
  1815.     The PackeTen system - The Next Generation Packet Switch
  1816.             Don Lemley, N4PCR        9th (1990)
  1817.             Milt Heath
  1818.  
  1819. ----------------------------------------------------------------------
  1820.