home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-05-07 | 59.8 KB | 2,727 lines |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Getting Started with TCP/IP on Packet Radio
-
-
-
-
-
- by John Ackermann, AG9V
-
- Miami Valley FM Association
-
- Dayton, Ohio
-
-
-
-
-
-
-
-
-
-
-
- 20 April 1992
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Copyright 1992 by John R. Ackermann, Jr.
-
- This document may be freely distributed in unaltered form for non-
-
- commercial use only, provided this copyright notice is included.
-
-
-
- *** Introduction ***
-
-
-
- This document is intended to help hams with some experience in
-
- packet radio get started with the TCP/IP software written by KA9Q
-
- and others. It is not intended to take the place of the software's
-
- reference manual, but rather to provide a quick-and-dirty
-
- introduction to the capabilities of TCP/IP and the mysteries of
-
- installing and using the software.
-
-
-
- There are several different versions of the KA9Q software floating
-
- around. It was originally written for MS-DOS computers, but has
-
- been ported to Macintosh, Amiga, Atari and UNIX systems. The
-
- original program was called "NET" and its last formal version was
-
- issued in April, 1989. If someone talks about "890421.1 NET,"
-
- that's what they're referring to.
-
-
-
- Since 1989, work has concentrated on a rewritten program called
-
- "NOS" (for Network Operating System, though confusingly the
-
- executable program for PCs is usually still called "NET.EXE"). NOS
-
- offers many new features that make using TCP/IP much more
-
- effective; you should use it instead of NET. However, NOS is a
-
- growing and changing creature; since there are several different
-
- versions, and they are being updated rapidly, I can't tell you
-
- precisely where to find the latest, greatest version. Your best bet
-
- is to check with a local user. If that doesn't work, there are
-
- several telephone BBS systems that carry various flavors of NOS:
-
-
-
- N8EMR's Ham BBS (614) 895-2553
-
- ChowdaNet (401) 331-0334
-
- WB3FFV (301) 335-0858
-
-
-
- The version I'm using, and which is reflected in this document, is
-
- PA0GRI's adaptation of NOS version 061891, as modified and
-
- distributed by N1BEE and available as "GRINOS" from the
-
- ChowdaNet BBS. I try not to dwell on features that are specific to
-
- this version, but if something I say doesn't seem to match your
-
- software, that's probably why.
-
-
-
- A last note before plunging in -- I said it before, and I'll say it
-
- again: this document barely scratches the surface of NOS. Nearly
-
- every command described here has options or parameters that I'm
-
- ignoring. My goal is to give you a feel for what TCP/IP does, and
-
- to get you on the air with NOS; to get beyond the novice stage
-
- you need to look at the reference manual and experiment with the
-
- software. Appendix A includes a list of organizations and
-
- individuals that can provide further information about TCP/IP and
-
- amateur radio.
-
-
-
- *** TCP/IP and Ham Radio ***
-
-
-
- TCP/IP is a set of communication protocols that have become a
-
- standard in the computer networking world. It is designed to link
-
- different kinds of computer systems together over dissimilar
-
- networks. TCP/IP software runs on nearly every kind of computer
-
- available, from IBM mainframes to PCs, Macs, Amigas, and Ataris.
-
- The KA9Q software (from now on, I'll call it "NOS") is special
-
- because it includes the features necessary to run TCP/IP over ham
-
- packet radio.
-
-
-
- The TCP/IP protocol suite allows different kinds of computers to
-
- talk to one another across networks. The services it provides
-
- include terminal sessions, file transfer, electronic mail, and data
-
- routing services. Computers running TCP/IP (referred to as
-
- "hosts") can run some or all of these applications simultaneously;
-
- it's entirely possible to sit at a PC computer running NOS and carry
-
- on a keyboard-to-keyboard chat with one station, while another
-
- retrieves a file from your hard disk and you send electronic mail to
-
- a third.
-
-
-
- It's also comforting to know that when you run TCP/IP, you don't
-
- give up the ability to carry on normal packet communications. You
-
- can use NOS just like a terminal program to establish connections
-
- with your local BBS or to chat with friends who don't run NOS
-
- (yet).
-
-
-
- If you've looked at the size of the NOS documentation, you're
-
- probably asking yourself what the benefit is of mastering this fairly
-
- complex stuff. Well, NOS has several features that improve on
-
- regular packet radio. It has much more sophisticated file transfer
-
- and electronic mail capabilities than our present PBBS systems
-
- (and it's possible to feed PBBS messages into NOS in a way that
-
- makes it much easier to use them). It supports multiple
-
- simultaneous connections. It has new and better transport
-
- methods that improve the reliability and throughput of slow and
-
- congested channels.
-
-
-
- NOS also has the ability to route transmissions to distant stations
-
- without the user needing to know every hop along the way; all
-
- you need to do is get your data to a "gateway" station that knows
-
- how to move it one hop closer to its destination. New work being
-
- done with NOS promises dynamic routing that automatically
-
- adjusts to changes in the network.
-
-
-
- And, since it is directly adapted from the de facto standard system
-
- of interconnecting computers, NOS offers the possibility of
-
- sophisticated services far beyond anything available on regular
-
- packet radio. For example, in some areas ham TCP/IP users can
-
- log into multi-user UNIX computer systems and run applications as
-
- if they were directly connected to those machines.
-
-
-
- *** What is TCP/IP? ***
-
-
-
- As mentioned above, TCP/IP is actually a set of protocols for the
-
- transfer of data across networks of computers. Two of these
-
- protocols underlie most of the others, and they give the set its
-
- popular name:
-
-
-
- TCP Transport Control Protocol, a "reliable stream service"
-
- (which is a fancy way of saying it makes sure that all the
-
- data sent to a remote host actually gets there), and
-
-
-
- IP Internet Protocol, which sets the basic rules for
-
- formatting packets of data to go out over a network.
-
- TCP rides on top of IP.
-
-
-
- Now that you finally know what "TCP/IP" stands for, there are a
-
- few concepts that are critical because they address a basic
-
- problem in any communications system -- identifying the parties to
-
- the conversation. Simply using our ham callsigns to address
-
- TCP/IP packets doesn't work for two reasons. First, the protocols
-
- work across many different networks, and have to have a
-
- consistent address scheme. Second, and as important, ham
-
- callsigns don't contain enough information to allow TCP/IP's
-
- sophisticated routing mechanisms to work.
-
-
-
-
-
- Names and Addresses
-
-
-
- The first important concept is the "IP Address." Since these
-
- protocols are used on lots of different computers, it is necessary to
-
- use an addressing system that works with all of them, that
-
- provides adequate routing information, and that doesn't take up a
-
- lot of space. The answer is to build addresses out of a four byte
-
- sequence of integers, with each byte providing information about
-
- the network and subnetwork(s) to which a host belongs.
-
-
-
- IP addresses are "hierarchical" because the four bytes have
-
- decreasing significance from left to right. By looking at the
-
- leftmost byte(s) we can learn how to route a transmission to the
-
- host represented by the rightmost byte(s). We usually print these
-
- addresses using the numeric value of each byte, separated by a
-
- period, such as [44.70.12.34]. This is known as "dotted
-
- notation." The square brackets aren't strictly necessary, but they
-
- are convenient to set off IP addresses; I'll use them that way in
-
- this document.
-
-
-
- I won't go into all the semantics of hierarchical addressing here,
-
- but as an example the address [44.70.12.34] breaks down as:
-
-
-
- 44. The network assigned to amateur radio TCP/IP.
-
- 70. The subnetwork for Ohio.
-
- 12. The Dayton/Cincinnati subnetwork.
-
- 34 A specific system address within that area.
-
-
-
- IP addresses are assigned by coordinators who derive their
-
- authority from a central registry. The coordinator for the ham
-
- radio net is Brian Kantor, WB6CYT. He has delegated authority to
-
- assign addresses to various state and national coordinators. The
-
- folks in Appendix A can help you find your local coordinator.
-
-
-
- The second important concept is the "hostname." Obviously, IP
-
- addresses aren't very intuitive. English-like hostnames make
-
- remembering addresses much easier, and TCP/IP programs,
-
- including NOS, have means (discussed below) to map between IP
-
- addresses and hostnames. A "host" is any computer running
-
- TCP/IP; even when you're using services from another computer,
-
- your system is still a host. When we talk about a "remote host,"
-
- we're talking about a machine that you're communicating with via
-
- TCP/IP.
-
-
-
- The convention in ham radio TCP/IP is to use your callsign as your
-
- hostname. To help reduce confusion, we usually print hostnames
-
- in lower case, and callsigns in capital letters -- my hostname is
-
- "ag9v," and my call is "AG9V" (though NOS isn't case sensitive
-
- and won't care if you don't do it this way).
-
-
-
- Closely related to the hostname is the "domain name." A
-
- "domain" is a group of machines that are logically (though not
-
- necessarily physically) connected together. Domain names are like
-
- IP addresses; periods separate parts of the name, with each part
-
- representing a different level in the domain hierarchy. But the
-
- domain name is ordered in reverse -- its highest-level portion is at
-
- the right, the opposite of IP addresses.
-
-
-
- The ham network's domain is "ampr.org"; "org" (short for
-
- "organizations") is the top level domain, and "ampr" (for AMateur
-
- Packet Radio) is the second level domain, containing all ham
-
- TCP/IP hosts.
-
-
-
- When you combine a hostname with a domain name, you get
-
- something like "ag9v.ampr.org." This is called a "Fully Qualified
-
- Domain Name" ("FQDN" -- knowing this acronym allows you to
-
- sound like a real expert). If a host has multiple users, we can add
-
- the user's login name at the beginning of the address, separated
-
- from the FQDN by a "@" character. This combination is
-
- commonly known as an "Internet address" (the "Internet" is the
-
- general term for all t
- he TCP/IP hosts that are interconnected) and
-
- is the address form used for most electronic mail in the real world.
-
- For example, if there is a user "jra" at ag9v, "jra@ag9v.ampr.org"
-
- would be that user's full Internet address.
-
-
-
- There's one last twist. Some services (such as Domain Name
-
- Service, discussed below) need to know whether an address they
-
- are processing is in fact an FQDN. To do so, they look for a
-
- trailing period at the end of the domain name. Some versions of
-
-
- NOS ignore this issue, but the PA0GRI versions (such as GRINOS)
-
- insist that you "anchor" all domain names with a period at the end
-
- of the name. In other words, GRINOS will barf if you issue the
-
- command "hostname ag9v.ampr.org" but "hostname
-
- ag9v.ampr.org." will make it happy.
-
-
-
- This may seem like an overly complicated scheme to simply allow
-
- two hams to talk to each other, but we use it because the ham
-
- radio TCP/IP network can be tied to the worldwide TCP/IP network
-
- in a number of different ways, and using the full set of TCP/IP
-
- address conventions makes it possible for traffic to flow between
-
- the ham network and the real world.
-
-
-
- Leaving aside legal issues about third-party traffic, there's no
-
- reason, for example, why electronic mail can't be automatically
-
- routed through a "gateway" (a computer that interconnects two or
-
- more networks) between a ham TCP/IP user and a non-ham who
-
- has access to the Internet. In fact, this service already exists in
-
- some areas.
-
-
-
- The good news is that for traffic within the ham network, we only
-
- need to worry about hostnames, and NOS's "domain suffix"
-
- command will take care of adding the "ampr.org" extension for us;
-
- we only need to deal with the full details of addressing if we want
-
- to go outside the ham radio network.
-
-
-
-
-
- TCP/IP Services
-
-
-
- Now that we have those boring basics out of the way, the
-
- protocols that use TCP/IP to provide real, useful services include:
-
-
-
- TELNET The terminal emulation program. In "real" networks,
-
- telnet lets a user at one host remotely access a remote
-
- host, just as if he was on a terminal directly connected
-
- to that computer. In NOS, the telnet function usually
-
- connects you to a remote host's mailbox, which acts
-
- very much like a personal PBBS. The NOS telnet
-
- command does allow you to remotely login to a host that
-
- supports that function; in some areas UNIX computers
-
- connected to the ham TCP/IP network provide that
-
- service.
-
-
-
- FTP File Transfer Protocol. A means of transferring both
-
- ASCII (text) and binary (program, data, or compressed)
-
- files between hosts.
-
-
-
- SMTP Simple Mail Transfer Protocol. A (mostly) invisible way
-
- of moving electronic mail from one host to another. If
-
- you create a message on your computer (using the BM
-
- program, discussed below), SMTP will automatically
-
- attempt to transfer it to the destination computer.
-
-
-
- POP Post Office Protocol. SMTP is neat, but it's really
-
- designed to work with hosts that are available full time.
-
- Most ham TCP/IP stations aren't. POP is designed for
-
- them; it allows incoming mail to be stored at a host that
-
- acts as a "mail server;" when you come on the air, your
-
- system automatically asks the server to send you your
-
- mail.
-
-
-
- PING Packet InterNet Groper. A diagnostic that sends a packet
-
- to a specified host; if the host is accessible to you and
-
- on the air, it responds with another packet. PING tells
-
- you how long the round trip took.
-
-
-
- FINGER A way of finding out information about the users at a
-
- host. The finger command can simply list all the users at
-
- a host, or spit out information (like the "brag tape" of
-
- RTTY days) about a specific user.
-
-
-
- ARP Address Resolution Protocol. IP addresses need to be
-
- matched with the correct hardware address (in our case,
-
- ham callsign) to allow packets to be sent to their
-
- destination -- NOS doesn't know what callsign goes with
-
- a given IP address. ARP does this by sending out a
-
- broadcast message when it needs to know the callsign
-
- that matches an address. The remote host (if it's on the
-
- air) will answer and provide its hardware address.
-
-
-
- DNS Domain Name Service. Remembering IP addresses isn't
-
- easy. NOS can use a file called "DOMAIN.TXT" to
-
- contain mappings between hostnames and IP addresses,
-
- but that means you need to know the hostname and
-
- address of any station you want to contact.
-
- Alternatively, a remote host may agree to serve as a
-
- "domain name server" that NOS can query when it needs
-
- to know the address of a host. Not all areas have a
-
- name server available to the ham community, but in
-
- those that do, life is a lot easier.
-
-
-
- *** Installing NOS ***
-
-
-
- Frankly, there's no completely painless way to get NOS running on
-
- your computer. NOS is somewhat picky about the directories used
-
- for its files, and there are a number of custom parameters that you
-
- must set to teach the program about your environment and your
-
- network. Those parameters are contained in a configuration file
-
- that most versions of NOS call "AUTOEXEC.NET" (PA0GRI
-
- versions use "AUTOEXEC.NOS;" our references to
-
- "AUTOEXEC.NET" mean whichever name is appropriate).
-
-
-
-
-
- Files and Directories
-
-
-
- You should create the following directories on your disk (NOS can
-
- work from either a hard disk or a floppy; it's getting big enough,
-
- though, that working from a 360K floppy can be tough):
-
-
-
- \spool (holds NOS' working files)
-
- \spool\help (help files for the mbox)
-
- \spool\mail (mail messages go here)
-
- \spool\mqueue (mail workfiles)
-
- \spool\rqueue (incoming mail workfiles)
-
- \finger (home for finger info files)
-
- \public (file uploads/downloads)
-
-
-
- These files need to go in the root directory of your default disk (it
-
- is possible to configure NOS to look for these files in other than
-
- the root directory; see the reference manual for details):
-
-
-
- AUTOEXEC.NET (the NOS configuration file)
-
- FTPUSERS (user ftp/mbox access)
-
- DOMAIN.TXT (hostnames)
-
- BM.RC (mail program configuration)
-
- ALIAS (used by smtp and BM)
-
-
-
- NOS uses two executable files. These can be installed anywhere
-
- on your file path:
-
-
-
- NET.EXE, NOS.EXE, or GRINOS.EXE (main executable)
-
- BM.EXE (mailer program)
-
-
-
-
-
- Setting up AUTOEXEC.NET
-
-
-
- Once the directories are created and the files copied, you need to
-
- edit the AUTOEXEC.NET file with a text editor to customize it. A
-
- sample file is included as Appendix B. Some of the things you'll
-
- have to put in the file are:
-
-
-
- Your hostname (usually your callsign in lower case):
-
- hostname ag9v.ampr.org.
-
-
-
- Your IP address:
-
- IP address [44.70.12.34]
-
-
-
- Your callsign (optionally including an SSID; local customs vary on
-
- this):
-
- ax25 mycall AG9V
-
-
-
- "attach" commands to tell NOS how to talk to your hardware.
-
- These can get quite hairy; Appendix C has the details. For a TNC
-
- on COM 1 at 4800 baud serial port speed, use:
-
- attach asy 0x3f8 4 ax25 ax0 1024 256 4800
-
-
-
- The "ax0" in the middle of the command is the "interface" name --
-
- you use it to identify this port to NOS when you set up routing
-
- commands and the like. You can use any (short) name you'd like,
-
- but the convention for COM ports is to use ax0, ax1, etc.
-
-
-
- At least one routing command. NOS needs to know where to
-
- send packets. A default route that sends all packets out the ax0
-
- interface is:
-
- route add default ax0
-
-
-
- If you have a gateway for packets going outside the local area,
-
- include a route like:
-
- route add [44.70.13.0]/24 ax0 ag9v
-
-
-
- This command would route packets addressed to any host with
-
- "44.70.13" as the first three bytes of its address out the ax0
-
- interface to ag9v, which presumably knows how to get these
-
- packets to their destination. The "/24" means that the first 24 bits
-
- (three bytes) of the address are significant; NOS will ignore the
-
- last byte when making routing decisions.
-
-
-
- If you have a domain name server, add a command near the
-
- beginning of your configuration file identifying its IP address:
-
- domain addserver [44.70.12.34]
-
-
-
- If you have a local mail server that knows how to route messages
-
- outside the area (see the discussion of electronic mail, below), add
-
- a command identifying it:
-
- smtp gateway [44.70.12.34]
-
-
-
-
-
- Storing Name/Address Matches in DOMAIN.TXT
-
-
-
- If you don't have a local domain name server (DNS), you'll need to
-
- create "DOMAIN.TXT" in the root directory, with one entry for
-
- every hostname you want to communicate with. Appendix D
-
- shows how to set up this file. If you don't have an entry for a
-
- host in the file (or the name server doesn't know about it), you
-
- can use the IP address instead of the hostname in NOS
-
- commands.
-
-
-
- If you're using DNS, NOS will save the hostname/address matches
-
- it gets from the server in DOMAIN.TXT, so you'll find that file
-
- existing (and growing) even if you didn't create it.
-
-
-
- Giving the Finger
-
-
-
- If you want users to be able to learn about your station with the
-
- finger command, you need to create a text file in the \finger
-
- directory called <hostname>.txt (by the way, when we use angle
-
- brackets like this, it means this is a value you'll need to insert
-
- yourself -- minus the angles -- based on your own configuration).
-
- You can use any ASCII text editor to create the file; it should
-
- contain basic info about your system. Don't go overboard... one
-
- screen of text is plenty.
-
-
-
- You can also create additional files with information about specific
-
- aspects of your system. For example, you might have a list of the
-
- files available for downloading on your system in a finger file called
-
- "filelist.txt." A remote host who issues the command "finger
-
- filelist@<myhost>" will get that list.
-
-
-
-
-
- Some Boring but Necessary Technical Stuff
-
-
-
- Before we move on to the good stuff about how to make NOS do
-
- magic, we need to talk about three related commands that you
-
- may need to tweak depending on local custom and the quality of
-
- the RF paths you're using. Just as regular AX.25 uses the
-
- "paclen" command to limit the size of packets, TCP/IP has
-
- parameters defining how much data is moved in one chunk. In
-
- theory, the lnarger the datagram (TCP/IP's term for a single block of
-
- data), the higher the efficiency, because the protocol headers add
-
- a fixed amount of overhead; in larger datagrams the overhead is a
-
- smaller percentage of the total data sent.
-
-
-
- However, some networks (such as NetRom) can't handle large
-
- datagrams in one piece. More importantly, the larger the
-
- datagram, the longer it takes to transmit, and on a busy or flaky
-
- path, the greater the likelihood that something will corrupt it along
-
- the way. And, it takes longer to resend a large packet than a
-
- small one, so the cost of retries is greater. Because of these
-
- factors, a fast network with clear channels and solid paths can get
-
- away with sending much larger datagrams than a slow, unreliable
-
- one.
-
-
-
- NOS provides three parameters that deal with datagram sizes. The
-
- most important one is the "mtu" (the sixth value in the "attach
-
- asy" command described above). It is similar to paclen; it sets the
-
- largest packet, including any headers, that can be sent on an
-
- interface. Datagrams larger than the mtu are fragmented into
-
- multiple pieces, which seriously reduces efficiency. Each interface
-
- has its own mtu, set as part of its attach command.
-
-
-
- For 1200 baud channels that are shared with other packet users,
-
- an mtu value of 256 is reasonable; in fact, since that is the largest
-
- packet size most non-TCP/IP ham networks (like digipeaters and
-
- NetRom) are designed to handle, 256 is the largest mtu you should
-
- specify if any of your packets are going to travel via such a node.
-
-
-
- Faster networks may use higher values. For good-quality channels
-
- with fast data rates (9600 baud or above), it may be reasonable to
-
- use an mtu ranging from 512 to 1500 (which matches the
-
- standard mtu used by ethernet systems).
-
-
-
- The other two parameters that set datagram size are part of the
-
- TCP protocol. "tcp mss" (maximum segment size) is the largest
-
- chunk of data that TCP will send in a single frame. Because the
-
- TCP and IP headers attached to each datagram total 40 bytes, mss
-
- should be 40 bytes smaller than mtu; 216 is the correct value for
-
- an mtu of 256.
-
-
-
- The "tcp window" parameter tells NOS how many datagrams it
-
- can have outstanding at once -- if it is twice the value of mss,
-
- NOS can receive two datagrams before sending an
-
- acknowledgment. This parameter is analogous to the "maxframe"
-
- parameter in AX.25. A large window improves efficiency because,
-
- among other things, multiple acknowledgments can be sent in a
-
- single packet.
-
-
-
- Although using a large window has major benefits on full duplex
-
- networks, on typical ham networks best performance comes from
-
- smaller windows ranging from one to three times the mss. A good
-
- starting point is to set the window equal to twice the value of mss
-
- (432 for an mss of 216).
-
-
-
- In summary, good starting points are:
-
-
-
- 1200 baud, shared channel: 9600 or faster, clear channel:
-
- mtu 256 mtu 1500
-
- tcp mss 216 tcp mss 1460
-
- tcp window 432 tcp window 2920
-
-
-
-
-
- Even more than in other parts of this manual, this discussion
-
- glosses over lots of subtleties. Throughput can be drastically
-
- affected by tuning these values, and both experimentation and
-
- local consensus are necessary to come up with settings that work
-
- well without stomping on other users of the channel.
-
-
-
- *** Using NOS ***
-
-
-
- To run NOS, first make sure you have your TNC configured for
-
- "KISS" mode (see Appendix F for details) and turned on. Then,
-
- type NET, NOS, or GRINOS (as appropriate). In a few seconds,
-
- you should see a "net>" prompt. Any error messages that appear
-
- first probably indicate a problem with one or more commands in
-
- your AUTOEXEC.NET file.
-
-
-
- When you see the prompt, NOS is in "command mode." When
-
- you are communicating with another host, NOS is in "converse
-
- mode." To return to command mode from converse mode, press
-
- the F10 function key (sometimes called the "escape" key, but not
-
- to be confused with the "ESC" key on your keyboard). All
-
- commands typed at the NOS prompt need to be followed by the
-
- return key.
-
-
-
- Typing "?" in command mode will display a list of commands.
-
- Typing a command name followed by ? will display the valid
-
- subcommands. You can't really call it a help system, but it's
-
- better than nothing.
-
-
-
- Some commands can be abbreviated to save typing; the degree of
-
- abbreviation allowed depends on the command set of the NOS
-
- version you're using. Experimentation is the best way to see what
-
- works and what doesn't. One minor annoyance in GRINOS is that
-
- commands are case sensitive -- "c ax0 n8acv" is fine, but "C ax0
-
- n8acv" isn't. It's safest to do all your NOS keyboarding in lower
-
- case -- apart from case sensitive commands, in the Email world,
-
- typing in all upper case is considered shouting!
-
-
-
- You can issue several commands from within NOS to deal with
-
- files and directories. "pwd" displays your current working
-
- directory, and "cd" allows you to change directories. "dir"
-
- displays files in the current directory. "mkdir <dirname>" creates
-
- a new directory, and "rmdir <dirname>" removes one. "delete
-
- <filename>" erases a file.
-
-
-
- You can also "shell out" to DOS from within NOS by entering
-
- either an exclamation mark (!) or the command "shell." To return
-
- to NOS, type "exit" at the DOS prompt.
-
-
-
- From command mode, you can start a number of different types of
-
- sessions to communicate with remote hosts. Each session has its
-
- own display screen and you can switch between a session and
-
- command mode, or between sessions. The se command displays
-
- the active sessions with identifying numbers. To switch to a
-
- session, you can type "se <session number>." From command
-
- mode, you can return to the current (most recently displayed)
-
- session by entering a carriage return.
-
-
-
- You can capture incoming data from the current session to a disk
-
- file by using the "record <filename>" command, and you can
-
- read in a data file from disk with the "upload <filename>"
-
- command.
-
-
-
- To close a session, press F10 to return to command mode and
-
- enter "close <session number>." If there's only one session
-
- open, you can just enter "close." You can also end the session by
-
- issuing the appropriate exit or quit command at the remote host's
-
- prompt.
-
-
-
- The most common NOS session types are probably "telnet," its
-
- cousin "ttylink", "ftp," and a regular packet "connect" (technically
-
- called an "ax25" session). Telnet is used to "login" to a remote
-
- host, ttylink is a kind of telnet specially designed for keyboard-to-
-
- keyboard communications, ftp handles file transfers, and ax25
-
- sessions allow you to carry on normal packet activity. We'll talk
-
- about ax25 sessions first, since they give you a chance to test
-
- your setup without having another TCP/IP station on the air.
-
-
-
-
-
- AX.25 Mode
-
-
-
- The "connect" command simply lets you do normal packet radio
-
- stuff. Establishing an ax25 connect through NOS is like using the
-
- standard TNC commands with a few small differences. First, since
-
- NOS can support several interfaces, each with its own hardware,
-
- you need to tell NOS which one to use.
-
-
-
- So, to connect to N8ACV on interface ax0, enter "connect ax0
-
- N8ACV." Once you get a "Connected" message, you'll be able to
-
- type to the station at the other end just as you would with normal
-
- packet. In addition to closing the session as described above, you
-
- can exit an ax25 session by typing "disconnect" at the command
-
- mode prompt. (Just as with a TNC, these commands can be
-
- abbreviated; just how few of the letters are necessary will depend
-
- on each implementation of NOS and the commands it supports).
-
-
-
- The other minor difference between the NOS connect command
-
- and a regular TNC is that the word "via" is not used when
-
- specifying digipeaters. To connect to N8ACV through N8KZA on
-
- interface ax0, you would enter "connect ax0 N8ACV N8KZA."
-
-
-
-
-
- Telnet
-
-
-
- The "telnet" command logs you in to a remote TCP/IP host;
-
- depending on the capabilities of that host, you might find yourself
-
- chatting directly with the user at the other end, connecting to the
-
- NOS mailbox, "mbox" (which acts very much like a sophisticated
-
- personal PBBS), or getting a UNIX "login:" prompt. To establish a
-
- telnet session, enter "telnet <hostname>" at the command
-
- prompt.
-
-
-
- Some versions of NOS offer a new type of session that improves
-
- on telnet for real-time keyboard-to-keyboard chats. It's called
-
- "ttylink," and it works just like telnet (for example, start a session
-
- with "ttylink <hostname>") except that it connects you directly
-
- to the remote host's chat mode, and uses a split-screen format to
-
- make things less confusing as you type to each other.
-
-
-
- You'll get a message like "Telnet session 1 failed: Reset/Refused
-
- errno 9" if the remote host doesn't support ttylink. If the operator
-
- at the other end isn't available to chat, you'll get a message like
-
- "The system is unattended." You'll still be able to type, but there
-
- won't be anyone there to reply. You can change the status on
-
- your machine by setting the "attended" command to either on or
-
- off. You might want to put this command in your AUTOEXEC.NET
-
- file to set your default status. You exit from ttylink just as you
-
- would from telnet.
-
-
-
- And now a note from Miss Manners: you should never simply exit
-
- from the NOS program when you have an open session. Doing so
-
- can cause great unpleasantness at the remote host. Unless you're
-
- in some sort of software or hardware lockup, or you know that the
-
- station on the other end has gone away, always close sessions
-
- and wait for confirmation before exiting the program.
-
-
-
- You should also be aware that your system may have started
-
- sessions in the background, for example to transfer electronic mail,
-
- or someone else may have started a session with your system.
-
- You may not even know these sessions are running. Pulling the
-
- plug on them would be very impolite. Before exiting NOS, you
-
- should first use the se command to make sure there are no current
-
- sessions running, and then the "tcp status" command to see if
-
- there are any background connections established. "tcp status"
-
- will show you a long and confusing list of information; the
-
- important stuff at the end is the list of sockets (which are services
-
- your system can either offer or request on the network). If
-
- anything other than "Listening" appears in the Status column, that
-
- means there's at least one remote host communicating with you.
-
-
-
-
-
- File Transfers
-
-
-
- You initiate a file transfer (ftp) session by entering "ftp
-
- <hostname>" at the command prompt. Once the session is
-
- established, the remote host will prompt you for a user name and a
-
- password. If your hostname and password have been added to
-
- the remote host's FTPUSERS file, you'll have the ability to
-
- download and perhaps upload files in the directories permitted you.
-
-
-
- If you haven't arranged with the remote host for your own
-
- account, you can try to login as "anonymous" or "guest;" many
-
- systems support these user names and grant limited (usually
-
- download-only) privileges to them. If you login under one of these
-
- accounts, you should enter your hostname as the password; that
-
- allows the remote host to keep track of who's been using the
-
- system.
-
-
-
- Once you've logged in, you'll see a new prompt: "ftp>." This will
-
- remind you that you're actually issuing commands to the remote
-
- computer. From the ftp> prompt, you can list the files in a
-
- directory, change directories, upload files, or download files.
-
-
-
- To list files, enter "dir" at the ftp> prompt. You will get a listing
-
- that shows subdirectories (if any) and files together with their
-
- dates and sizes. To show the current directory name, type "pwd."
-
- To change directories, issue the "cd <directory>" command.
-
- Note that directories are displayed with a forward slash (/) instead
-
- of the usual MS-DOS backslash (\). That's because the UNIX
-
- operating system, which is TCP/IP's natural home, uses forward
-
- slashes. If the remote host is running NOS, you can use either
-
- character, but some other systems (particularly those running
-
- UNIX) will recognize only the forward slash.
-
-
-
- Once you've found a file you want to upload or download, you
-
- need to make a decision. ftp can transfer the file either as an
-
- "image" file, byte for byte, or as an "ascii" file, converting the line-
-
- end character as necessary to compensate for different operating
-
- systems (UNIX uses only a linefeed character at the end of lines;
-
- MS-DOS uses carriage return/linefeed). Before beginning a file
-
- transfer, enter "type i" for an image file, or "type a" for an ASCII
-
- file, at the ftp> prompt.
-
-
-
- What are the consequences choosing the wrong transfer type?
-
- Well, transferring a binary file as type "a" will almost certainly fail.
-
- Transferring an ASCII file as type "i" will work, but you may find
-
- that the line-ends are screwed up. ASCII transfers are also quite a
-
- bit slower than image, because each line needs to be processed
-
- separately.
-
-
-
- To actually start a file transfer, use the command "put <local
-
- filename> <remote filename>" to send a file, or "get <remote
-
- filename> <local filename>" to receive one. The file name can
-
- include a full path if you desire; remember to use the proper path
-
- separator character for the remote host.
-
-
-
- If you only specify one filename, ftp will assume that both the
-
- local and remote hosts will use the same name. This can be
-
- dangerous if the remote host uses a different operating system
-
- than you do, as it may have filenames that are illegal on your
-
- system.
-
-
-
- If a file transfer goes awry, you can terminate it by going to
-
- command mode via F10 and issuing the "abort" command. To
-
- end an ftp session, you can either type "quit" at the ftp> prompt
-
- (the preferred way), or you can close the session from the net>
-
- prompt.
-
-
-
- If you want others to be able to access files on your system, you'll
-
- need to set up an FTPUSERS file in your root directory. Appendix
-
- E describes the contents of that file.
-
-
-
- Another message from Miss Manners: transferring files via ftp is
-
- reliable, but can be slooooow, particularly at 1200 baud. Before
-
- you start downloading a 250 kilobyte file, consider how busy the
-
- channel is, and whether you want to tie things up for (perhaps)
-
- several hours by your download. NOS is polite and won't hog the
-
- channel, but don't doubt that a large file transfer will slow things
-
- down for everyone else.
-
-
-
- Other Protocols
-
-
-
- The "ping" protocol mentioned above is very useful to see if a
-
- remote host is on the air. Just enter the command "ping
-
- <hostname>" at the NOS prompt. If the host is available, you
-
- will see a response indicating what the round-trip time was to that
-
- host. The time may be many seconds if you're going through
-
- gateways, so be patient.
-
-
-
- The "finger" protocol lets you see information about a remote
-
- host's users and services. Entering "finger @<hostname>" (note
-
- the slightly differegnt syntax -- the "@" symbol must immediately
-
- precede the remote hostname) will display a list of the finger files
-
- (described above) at that host. Entering "finger
-
- <user@hostname>" will display the text file for that user.
-
-
-
-
-
- *** Electronic Mail ***
-
-
-
- We've saved NOS's electronic mail capabilities for last because
-
- they are a bit more involved than some other parts of the program.
-
- You use two programs to handle mail: BM (a "user mail agent," in
-
- UNIX terms) to wregite and read messages, and NOS to send and
-
- receive them. First we'll talk about reading and writing messages,
-
- and then about using NOS to transport them.
-
-
-
-
-
- Using BM.EXE to Read and Write Messages
-
-
-
- BM.EXE is a program that reads and writes mail message in the
-
- format TCP/IP systems recognize. Contrary to popular belief,
-
- "BM" stands for "Bdale's Mailer" in honor of its creator, Bdale
-
- Garbee. You can run BM from the DOS prompt just like any other
-
- program, from within NOS by shelling to DOS with ! or shell, or (in
-
- GRINOS) by typing the mail command from the net> prompt.
-
-
-
- Before using BM, you need to create its configuration file, BM.RC,
-
- which must live in the root directory of your disk. An annotated
-
- BM.RC file is included as Appendix G. Only the first three
-
- commands in the sample file are absolutely necessary to make BM
-
- work.
-
-
-
- There's a bit of controversy in some areas over the proper name to
-
- enter for "user" in BM.RC. Some folks recommend using either
-
- your first name, or your initials (for example, my address would be
-
- "john@ag9v.ampr.org") while other suggest using the callsign
-
- instead ("ag9v@ag9v.ampr.org").
-
-
-
- While using the callsign may seem more impersonal, it has major
-
- advantages when mail is moving between TCP/IP and the packet
-
- BBS system, or when using the POP server; we strongly
-
- recommend that you use the "callsign@hostname" format unless
-
- the locals object even more strongly. Ite f's important to be
-
- consistent within the area, so that everyone knows how to
-
- address mail to everyone else.
-
-
-
- When you start BM, you'll see a prompt such as "ag9v>"
-
- showing the default mailbox (based on the "user" entry in BM.RC).
-
- As in NOS, you enter commands at the prompt, following them
-
- with a carriage return. Most BM commands are single letters,
-
- optionally followed by a mail addressee or a message number (or
-
- numbers).
-
-
-
- To send mail, use the command "m <addressee>." The
-
- addressee will normally be a user at a remote host; for example,
-
- ag9v might send mail to k8gkh@k8gkh. The single biggest
-
- problem with BM is forgetting to include the hostname -- in other
-
- words, sending mail to <user> rather than
-
- <user>@<hostname>. Without the hostname, BM will think
-
- the user is on your local system, and the mail will end up being
-
- stored in a mailbox under that user's name on your own system.
-
- That doesn't work too well.
-
-
-
- One way to essolve that problem, and do some other interesting
-
- things, is to create an ALIAS file in your root directory. When you
-
- send a message, BM will compare the addressee with the alias file,
-
- and if it finds a match will replace the alias with a full address from
-
- the file. An alias can point to a list of addresses, so it's possible
-
- to define an alias that will send a copy of the message to everyone
-
- in your local group. A sample alias file might look like:
-
-
-
- greg k8gkh@k8gkh.ampsr.org
-
- bill n8kza@n8kza.ampr.org
-
- club k8gkh@k8gkh.ampr.org n8kza@n8kza.ampr.org
-
- n8acv@n8acv.ampr.org wb8gxb@wb8gxb.ampr.org
-
-
-
- The alias for "club" demonstrates two things: a single alias can
-
- expand to several addresses, and you can continue a long address
-
- list on subsequent lines by indenting them with spaces or a tab
-
- character.
-
-
-
- Now, if you send mail to "greg" it will automatically be expanded
-
- to the full address, and by sending a message to "club" all four
-
- .amps users will get a copy.
-
-
-
- By the way, you do not use a trailing dot after an FQDN (as
-
- discussed above) in Email addressing; doing so will screw things
-
- up.
-
-
-
- If you use BM's built-in editor to compose messages, remember
-
- that it doesn't wrap lines; you have to hit the carriage return at the
-
- end of each line. Use the "l" command to list outbound mail; you
-
- can kill an outbound message with the "k <msg#>" command,
-
- using the message number obtained from the "l" command.
-
-
-
- Several commands are used to deal with incoming mail. "h"
-
- displays the headers (summary info) about messages in your
-
- mailbox. It is the basic command you should use to check your
-
- incoming mail. Each header displayed includes a message number
-
- to use with the other message manipulation commands.
-
- Commands given without a message number act on the current
-
- message (the one marked with an ">" in the display from the "h"
-
- command); if there's only one message, it is always the current
-
- one.
-
-
-
- BM can support multiple users at a single host; a separate mailbox
-
- is created for each user. Unfortunately, BM has no way of
-
- knowing if incoming mail addressed to <someuser>@<yourhost> is
-
- valid, so it will happily accept such mail and create a new mail-
-
- box for <someuser>. You may never know it's there, unless you use
-
- the "n" command to display the list of mailboxes. You can also use
-
- "n" to change to a different mailbox: "n <mbox>."
-
-
-
- The commonly useed commands (which may be followed by one or
-
- more message numbers if appropriate) are:
-
-
-
- msg# message number by itself will display that message and
-
- set it as the current message.
-
- r reply to a message.
-
- d delete a message.
-
- s save a message; if a file name follows the message
-
- number(s), the message(s) will be saved in that file.
-
- Otherwise, they'll be saved in the default mbox file.
-
- u undelete a message previously marked for deletion.
-
- p print a message on the local printer.
-
- w save a message to a file without including headers.
-
- f forward a message to another recipient.
-
- b bounce a message. Like forward, but keeps the original
-
- sender information intact (i.e., the message will not
-
- appear to have been sent by you).
-
- $ update the mailbox. This deletes messages marked for
-
- deletion and reads in any new mail that may have arrived
-
- since you started BM.
-
-
-
- There are two commands that exit from BM: "x" will exit without
-
- updating the mailbox. In other words, the same messages will be
-
- there the next time you run the program. "q" updates the mailbox
-
- (like "$") and then exits.
-
-
-
- Outbound mail created by BM is stored in the \spool\mqueue
-
- directory, where it waits patiently until one of NOS's servers
-
- (SMTP or POP) attempts to send it to its destination.
-
-
-
-
-
- Moving Mail With NOS
-
-
-
- Now, to the mechanics of getting mail into and out of your
-
- system. All mail that you create is sent to its destination (or at
-
- least to the next stop on the way) by the "smtp" server in NOS.
-
- The "smtp timer" command (set in AUTOEXEC.NET) tells smtp
-
- how often to scan the \spool\mqueue directory for outgoing mail.
-
- When it finds some, it attempts to open an smtp session to the
-
- remote host in the address and send the mail there. There's no
-
- default for the smtp timer value, so your AUTOEXEC.NET file
-
- should include something like "smtp timer 600" (which scans for
-
- mail every ten minutes). You can manually force smtp to scan the
-
- queue by issuing the "smtp kick" command from the net> prompt.
-
-
-
- If you have a local mail server with connections to the outside
-
- world, you can use it to route mail for hosts that aren't in your
-
- domain file with the "smtp gateway <hostid>" command.
-
-
-
- Incoming mail can arrive at your station when a remote host does
-
- this and starts an smtp session with you. But if you don't keep
-
- your station up 24 hours a day, the remote host will be trying, and
-
- trying, and trying, to connect with you until you finally show up.
-
- A far better approach is to use "POP" -- the Post Office Protocol.
-
- If your system runs POP, and someone in the area has agreed to
-
- be a POP server, NOS will automatically contact that server when
-
- you come on the air; the server will respond by sending the mail
-
- waiting in your mailbox. You can then read it with BM just as if it
-
- had arrived via smtp.
-
-
-
- To use POP, the server must establish a mailbox and password for
-
- you, and you need to add the appropriate commands to your
-
- AUTOEXEC.NET file (see the annotated AUTOEXEC.NET file in
-
- Appendix B).
-
-
-
- Remember that smtp or POP sessions may be running in the
-
- background without your knowing about it. Always check for
-
- activity with the "tcp status" command before pulling the plug!
-
-
-
- Additionally, smtp creates lock files in \spool\mqueue when it tries
-
- to send outgoing mail. If NOS is killed before the mail transfer has
-
- succeeded, these files (with the extension ".LCK") will be left
-
- behind and if they are not manually removed, they will prevent
-
- smtp from trying again to send those messages. To prevent this,
-
- you should always issue the command "erase \spool\mqueue\*.LCK"
-
- before starting NOS. It's a good idea to launch NOS using a batch
-
- file that removes the locks before executing the program.
-
-
-
- *** Conclusion ***
-
-
-
- This has been a whirlwind tour of TCP/IP. Once you have the
-
- software installed, it's not hard to use, and NOS truly opens the
-
- door to enjoying packet radio in a whole new way.
-
-
-
- To learn the subtleties of NOS, you should do two things: read
-
- the reference manual for the version you're using, and experiment
-
- with the program. Once you know the ins and outs, please share
-
- your knowledge with others. The ham radio TCP/IP community is
-
- still small, and we need all the Elmers we can get!
-
-
-
-
-
- John Ackermann AG9V
-
- 2371 Stewart Road
-
- Xenia, OH 45385
-
-
-
- TCP/IP: ag9v@ag9v.ampr.org. [44.70.12.34]
-
- PBBS: AG9V@N8ACV.OH.US.NA
-
- Internet: jra@lawday.daytonOH.ncr.com
-
- CompuServe: 72300,1160
-
-
-
-
-
- APPENDIX A
-
- Resources for NOS and TCP/IP
-
-
-
- (Note: This is a very incomplete list; please feel free to provide
-
- additional resources to add for the next edition!)
-
-
-
- TAPR
-
- P.O. Box 22888
-
- Tucson, AZ 85734
-
-
-
- The New England TCP Association
-
- 3628 Acushnet Ave.
-
- New Bedford, MA 02745
-
-
-
- APPENDIX B
-
- Sa, ample AUTOEXEC.NOS File for GRINOS
-
-
-
- # AUTOEXEC.NET
-
- # This is a sample autoexec file for GRINOS version N1BEE 0.72.
-
- # It doesn't have all the fancy features one might hope for, but
-
- # the basics are there, with some hopefully useful comments.
-
- # Any line beginning with a "#" character is treated as a comment.
-
- # To uncomment a line, delete the # character
-
-
-
- # These are a couple of things for NOS to use internally.
-
- mem eff on
-
- watchdog on
-
- nibufs 10
-
-
-
- # NOS needs to know three things about you: your hostname,
-
- # your ham callsign, and your IP address. By convention, the
-
- # hostname # is your callsign in lower case, followed by ".ampr.org".
-
- # The callsign is generally used in upper case to distinguish it.
-
- # The IP address comes from a local area coordinator. Note that
-
- # there are a minimum of three places in this file where you need to
-
- # insert your IP address -- here, in the ifconfig command, and at the
-
- # end of each attach command.
-
- hostname nocall.ampr.org
-
- ax25 mycall NOCALL
-
- ip address [44.xx.xx.xx]
-
-
-
- # This should match your IP address
-
- ifconfig loopback ipaddress [44.xx.xx.xx]
-
-
-
- # This makes short forms of the hostname work.
-
- domain suffix ampr.org.
-
-
-
- # NOS needs to know how to convert hostnames to IP addresses.
-
- # You can do this manually via the "DOMAIN.TXT" file, or you can
-
- # use a nameserver if one is available. To enable the
-
- # nameserver, uncomment this line and plug in its correct
-
- # address.
-
- #domain addserver [44.xx.xx.xx]
-
-
-
- # Some additional commands for the domain service. Don't turn
-
- # translate on unless you have a small domain file and/or a fast machine.
-
- domain verbose off
-
- domain cache size 40
-
- domain translate off
-
-
-
- # To use POP, uncomment these lines. Fill in "pop mailhost" with
-
- # the IP address of the station serving as your POP server. Fill in the
-
- # "pop# mailbox" name with your hostname, i.e., your call. The "pop
-
- # userdata" line needs to have your hostname, followed by a password
-
- # (as negotiated with your mail server). "pop timer" sets
-
- # how often, in seconds, to query for mail.
-
- #pop mailhost [44.xx.xx.xx]
-
- #pop mailbox hostname
-
- #pop userdata hostname password
-
- #pop timer 1800
-
-
-
- # Attach commands are complex; these are samples for COM 1
-
- # and 2. See Appendix C for details. Uncomment the
-
- # appropriate line(s) for your hardware.
-
- # COM1 -- 256 byte MTU, 4800 baud serial link as ax0
-
- attach asy 0x3f8 4 ax25 ax0 2048 256 4800
-
- # COM2 -- 256 byte MTU, 4800 baud serial link as ax1
-
- #attach asy 0x2f8 3 ax25 ax1 2048 256 4800
-
-
-
- # This is the basic route, sending everything out ax0
-
- route add default ax0
-
-
-
- # These are tcp parameters you shouldn't need to mess with.
-
- ip ttl 16
-
- ip rtimer 240
-
- tcp irtt 3000
-
-
-
- # On a shared channel, you may want to change timertype to
-
- # exponential; that's more courteous, but will slow your
-
- # retries down significantly. mss and window should ordinarily be
-
- # the same value, equal to the largest mtu set in the attach
-
- # command(s) above minus 40. With the common mtu for 1200 baud
-
- # channels of 256, that means both mss and window should be 216.
-
- tcp timertype linear
-
- tcp bblimit 16
-
- tcp mss 216
-
- tcp window 216
-
-
-
- # These set up AX.25 parameters
-
- ax25 digipeat off
-
- ax25 maxframe 1
-
- ax25 paclen 256
-
- ax25 retry 20
-
- ax25 window 4096
-
- ax25 blimit 15
-
- ax25 version 2
-
-
-
- # as with tcp timertype, you may want to set this to
-
- # exponential on a shared channel.
-
- ax25 timertype linear
-
-
-
- # These are netrom setup commands. Don't turn them on
-
- # unless you need them, and you know what you're doing. You
-
- # can really screw up the network by putting out netrom
-
- # broadcasts that don't fit with the configuration of the
-
- # "real" netrom nodes that can hear you.
-
- #attach netrom
-
- #netrom interface ax0 MYALIAS 192
-
- #netrom obsotimer 1800
-
- #netrom nodetimer 10800
-
- #netrom verbose yes
-
- #netrom bcnodes ax0
-
- #netrom ttl 8
-
-
-
- # These start the servers.
-
- start smtp
-
- start ftp
-
- start echo
-
- start discard
-
- start telnet
-
- start finger
-
- start ax25
-
-
-
- # Uncomment this line to enable logging.
-
- #log \spool\net.log
-
-
-
- # Default file type for ftp transfers. Type image is for binary files;
-
- type
-
- # ascii is for text; it's safest to set the default to image.
-
- ftype image
-
-
-
- # This makes telnet sessions to Unix systems work
-
- # line-by-line, rather than character-by-character.
-
- echo refuse
-
-
-
- # Tell smtp how often to scan for outgoing mail
-
- smtp timer 600
-
- smtp batch on
-
-
-
- # GRINOS can send a string of commands to the TNC on startup.
-
- # You could use this to force the TNC into KISS mode. Note that
-
- # you need to specify which interface to use. This must be done
-
- # <after>defining the interface, and <before>any data is sent to
-
- # the TNC (for example, by the smtp and pop kick commands below).
-
- # These commands will do that for a TNC2:
-
- comm ax0 "kiss on"
-
- comm ax0 "reset"
-
-
-
- # kick the smtp and POP servers at startup. Only uncomment the
-
- # "pop kick" line if you've defined a POP server above.
-
- smtp kick
-
- #pop kick
-
-
-
- # GRINOS (but not other versions) can define the function
-
- # keys with macros to make things a bit easier. Here are a
-
- # couple of examples. Note that each command must end with
-
- # a "\n" to signify a carriage return. The numbers
-
- # represent the keys; 59 - 68 for F1- F10 (though F10 can't
-
- # be redefined; it's always the escape key), 84 - 93 for
-
- # shiftF1 - shift F10, 94 - 103 for ctrlF1 - ctrlF10, 104 -
-
- # 113 for altF1 - altF10.
-
- fkey 59 "tcp status\n"
-
- fkey 60 "mem status\n"
-
- fkey 61 "status\n"
-
-
-
- # THE END
-
-
-
- APPENDIX C
-
- Designing ATTACH Commands
-
-
-
- NOS supports a number of versions of the attach command to deal
-
- with different hardware. We'll discuss three of them here: asy,
-
- used for serial port connections; pi, used to connect to the Ottawa
-
- PI card; and packet, used to interface to hardware supporting the
-
- FTP, Inc., packet driver protocol. As usual, this discussion covers
-
- the basics; see the NOS reference manual for details on all the
-
- many options.
-
-
-
- Hosts normally have a separate IP address for each interface. If
-
- you are running more than one interface, you can include that
-
- interface's IP address (in [xx.xx.xx.xx] form) at the end of the
-
- attach command.
-
-
-
- The asy version provides an interface to a standard PC serial port.
-
- The syntax is:
-
-
-
- attach asy <ioaddr> <vector> <mode> <if> <bufsize>
-
- <mtu> <speed>
-
-
-
- In English, these parameters are:
-
-
-
- ioaddr -- the address of the COM port being used.
-
- COM1 is usually 0x3f8 and COM2 is usually 0x2f8.
-
- COM3 and COM4 aren't standardized; using them will
-
- require looking at the documentation for your serial card,
-
- and probably some experimentation.
-
-
-
- vector -- the IRQ used by the hardware. COM1 is usually
-
- 4, and COM2 is usually 3. Again, COM3 and COM4
-
- vary.
-
-
-
- mode -- this specifies the nature of the interface. ax25 is
-
- for a connection to a KISS TNC, slip for a hardwired
-
- connection to another host, ppp for a dial-up connection,
-
- and nrs is for attaching a NOS station to a NetRom node.
-
-
-
- if -- the interface name. The convention is to use ax0,
-
- ax1, etc., for KISS interfaces.
-
-
-
- bufsize -- the buffer for incoming data, in bytes. Usually
-
- a value of 1024 is more than sufficient for a 1200 baud
-
- channel.
-
-
-
- mtu -- the maximum transmission unit size, in bytes. See
-
- the discussion in the main text on this subject.
-
-
-
- speed -- the speed of the serial (not radio) link, in baud.
-
- The best setting for this will depend on the speed of your
-
- computer, but generally two to four times the radio
-
- speed is adequate.
-
-
-
- Some sample attach asy commands are:
-
-
-
- # COM1, KISS TNC as ax0, MTU 256, 4800 BAUD
-
- attach asy 0x3f8 4 ax25 ax0 1024 256 4800
-
-
-
- # COM2, KISS TNC as ax1, MTU 256, 2400 BAUD
-
- attach asy 0x2f8 3 ax25 ax1 1024 256 2400
-
-
-
- # SLIP link, COM1 as sl0, MTU 256, 9600 BAUD
-
- attach asy 0x3f8 4 slip sl0 1024 256 9600
-
-
-
- The Ottawa PI card is a plug-in board for PCs designed for high-
-
- speed performance. It has two ports, one DMA driven for high
-
- speed and the other interrupt driven. The attach syntax is:
-
-
-
- attach pi <ioaddr> <vector> <DMA chn> <mode> <name>
-
- <bufsize> <mtu> <speed a> <speed b>
-
-
-
- A sample attach command (using the PI's default jumper settings)
-
- is:
-
-
-
- attach pi 380 7 1 ax25 pi0 1750 1024 0 1200
-
-
-
- In this example, the interface name for the DMA port is "pi0a" and
-
- the second port is "pi0b". Because the port a speed is 0, the PI
-
- card expects the modem to provide its own clocking. The PI
-
- attach syntax is explained in the manual provided with the card.
-
-
-
- Finally, the packet interface is used to connect to ethernet cards
-
- and other hardware that supports the FTP, Inc. "packet driver"
-
- standard. There's a packet driver for the PI card. The syntax is:
-
-
-
- attach packet <ioaddr> <vector> <if> <bufsize> <mtu>
-
-
-
- In this case, ioaddr and vector need to match those used for the
-
- packet TSR that supports the hardware. bufsize is the number of
-
- packets (not bytes) that may be outstanding. For ethernet, the
-
- standard mtu is 1500.
-
-
-
- APPENDIX D
-
- The DOMAIN.TXT File
-
-
-
-
-
- # The domain.txt file contains mappings between hostnames
-
- # and IP addresses. The file can be quite complex, but
-
- # basic entries usually resemble this.
-
-
-
- # Fields are separated by tabs or spaces.
-
-
-
- # These are normal address records. The first field is the
-
- # hostname. The second field is a "time to live" value
-
- # returned by the name server. If you manually create an
-
- # entry, you can leave this field blank. The third field
-
- # is always "IN" to signify these are internet addresses.
-
- # The fourth field is "A" to signify an address record. The
-
- # last field is the address.
-
-
-
- k8gkh.ampr.org.9886 IN A 44.70.12.31
-
- ag9v.ampr.org. 3584 IN A 44.70.12.34
-
-
-
- # This is a "canonical name" (CNAME) record that maps an
-
- # alias to an official hostname.
-
-
-
- server.ampr.org. 3599 IN CNAME ag9v.ampr.org.
-
-
-
- APPENDIX E
-
- Sample FTPUSERS File
-
-
-
- # This file establishes ftp user permissions. Fields are
-
- # separated by exactly one space. The privileges value is a
-
- # bitmask. The only values significant for ftp are:
-
-
-
- # 1 - read only
-
- # 3 - read/write
-
- # 7 - read/write/overwrite/delete
-
-
-
-
-
- anonymous * /pub 1 # no password, read only in /pub
-
- friend foobar /pub 3 # read/write privileges in /pub
-
- spouse snoogums / 7 # read/write/delete everywhere
-
-
-
- APPENDIX F
-
- Making Your TNC Talk in KISS MODE
-
-
-
- Once NOS is installed and your configuration files set, you need to
-
- do one more thing: get your TNC talking to your computer in KISS
-
- (Keep It Simple, Stupid) mode. KISS is a special protocol that lets
-
- your computer do the work of processing packets; the TNC does
-
- only the very low-level packet assembly and disassembly
-
- functions. Nearly all TNCs support KISS in one way or another.
-
-
-
- Typically, you'll need to issue commands to the TNC to set the
-
- serial line baud rate to the same speed as you've specified in the
-
- attach command, to 8 bit data, and to no parity. Then, issue the
-
- KISS command (on a TNC2, kiss on), and the TNC's software
-
- reset command. After that, you won't be able to talk to your TNC
-
- via the terminal program, but NOS will be able to. (And don't
-
- worry, you can easily return the TNC to normal mode if you want
-
- to.) Once you've done this, you're set to run NOS.
-
-
-
- One trick that grinos supports is the ability to send commands to
-
- the TNC during startup. The comm command will send a string of
-
- text to the named interface. For example, to force a Kantronics
-
- DataEngine or KAM into KISS mode every time you start NOS,
-
- include the following commands in AUTOEXEC.NOS (after you've
-
- defined the interface with the attach command):
-
-
-
- comm ax0 "interface kiss"
-
- comm ax0 "reset"
-
-
-
- Note that surrounding the text with quote characters will preserve
-
- spaces in the command.
-
-
-
- Appendix G
-
- A Sample BM.RC File
-
-
-
- # BM.rc
-
-
-
- # your hostname -- note that for mail we <don't> put a trailing
-
- period at
-
- # the end of the FQDN.
-
- host ag9v.ampr.org
-
-
-
- # the user name (one host can receive mail for several users);
-
- # usually your callsign
-
- user ag9v
-
-
-
- # your full name, for the message "From:" line
-
- fullname John Ackermann
-
-
-
- # if you want to have replies sent to another host, because, for
-
- # example, you are using a POP server, this line specifies where
-
- # replies should go
-
- reply ag9v@ag9v.ampr.org
-
-
-
- # for faster screen writes on the pc, use direct video, not bios
-
- screen direct
-
-
-
- # if you want to use an editor different than BM's built-int one
-
- edit ed
-
-
-
- # put saved messages here; note "/" instead of "\"
-
- mbox c:/folder/mbox
-
-
-
- # save a copy of outbound mail here
-
- record c:/folder/outmail
-
-
-
- # folder for your mail
-
- folder c:/folder
-
-
-
- # maximum number of messages that can be pendi