.op  BEGINNERS GUIDE to TCP/IP for the AMATEUR RADIO STATION  by Stan Wilson, AK0B February 19, 1990 Revision 1.3 Compliments of  MICROCOMPUTER RESEARCH CORPORATION  P.O. Box 1174 Saint Charles, Missouri 63302 .pa Š Copyright (c) 1990 by Stanley Wilson, Jr. All rights reserved. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage and retrieval system for commercial purposes or resale or barter without permission in writing from Stanley Wilson. Jr This Document may be reproduced in whole or part for any non-commercial amateur radio purpose as long as credit is given the author (Stanley Wilson, AK0B). The use of general descriptive names, trade names, trademarks, etc. in this manual, even if the former are not especially identified, is not to be taken as a sign that such names, as understood by the Trade Marks and Merchandise Marks Act, may accordingly be used freely by anyone. Microcomputer Research Corporation Stanley Wilson, Jr. P.O. Box 1174 Saint Charles, Missouri 63302-1174 .pa Š INDEX Introduction ........................................... 1 The Sub-Directories .................................... 2 Location of Files ...................................... 2 The Auxiliary Files (for MS-DOS) ....................... 3 Commands (How to make the first contact) ............... 5 ROUTING or How do I connect with a distant station ..... 5 Finger (Who-R-U) ....................................... 6 BM.EXE or Bdale's Messy Dos Mailer (SMTP Utility) ...... 6 SMTP (Electronic Mail) ................................. 7 BM/SMTP Multi Recipients ............................... 7 TCP/IP Netroms ......................................... 8 Setting Up a TCP/IP Netrom Node ........................ 8 Using Net/Rom Support for IP ........................... 9 Ping (Test the Path) .................................. 10 Ftpusers .............................................. 10 FTP (File Transfer) ................................... 11 Record ................................................ 12 Upload ................................................ 12 Trace ................................................. 13 SLIP .................................................. 13 Applications .......................................... 13 Public Service Uses ................................... 14 Experiments Required .................................. 14 References ............................................ 15 Appendix .............................................. 16 .pa Š ACKNOWLEDGMENTS This quick guide is available due to the work of many others. Special thanks must go to Phil Karn, KA9Q for writing Net.exe with the help of many friends. To Bdale Garbee for providing a user manual. To the many tcp/ip bbs that carry the net and nosnet files. To N0KQG for taking the time and spending the dollars required for the many hours of down loading from the bbs. To Dan Frank for taking the time to answer my questions on how the tcp netrom operated. And to the countless others that have assisted me in experimenting with the NET.EXE program in the greater St. Louis area. This guide is not a replacement for the user manual. It is an additional tool for learning how to use NET more effectively. The tcp/ip program is not complete; today the "New Operating System", NOSNET.EXE is being updated, tested, etc. for the next generation of tcp/ip on our ham bands. Remember, NET like any software program does not have to be learned in a day. Take one command at a time, it does not matter if it is one a day, week, or month. So on with the experimenting, it's a great hobby that we all enjoy; and this is a super program to play with... "Share and Enjoy". 73,...de Stan AK0B at node 44.46.0.18 i .pa Š.op INTRODUCTION  What is this thing called TCP/IP ? It is a collection of network protocols allowing host-to-host communications via a large number of gateways (nodes). This manual is a quick guide to the software program written by KA9Q and friends. The program is NET.EXE. The program runs on a variety of personal computers and systems. TCP/IP is from the domain of the research scientists and had it's beginning in 1969 when an area wide store and forward packet network called the ARPANET was started. It has develop over the years and continues today to be updated, changed and improved. The NET.EXE program allows amateur radio stations to link their packet terminals into an area wide network for the purpose of electronic mail between stations, transfer of computer programs, direct communications and experimentation. It is a layer program that expands the physical connection of a basic TNC to a multi- communication device. The networking operation of packet on the amateur radio frequencies has many of it's origins in the University of Hawaii ALOHANET that operated on 400 mHz to link the various islands via radio. It is far beyond the ability of this writer to describe the technical details of the inter-workings of the protocols and/or program. However, an attempt will be made to familiarize the reader with the mechanics of installing the program and using it to improve his enjoyment and knowledge of packet radio operation. Readers are urged to consult the references in the appendix for additional details on both the technical aspects of tcp/ip and operation of NET.EXE. Š THE SUB-DIRECTORIES  The following sub-directories are required: cd \ mkdir \net mkdir \finger mkdir \spool mkdir \public cd spool mkdir mail mkdir mqueue cd\ LOCATION OF FILES  At root directory: command.com autoexec.net hosts.net bm.rc alias In sub-directory \net: net.exe bm.exe nr01 NET/BM created files: Net will create a net.log on \spool and BM will create a mail numbering sequence.seq file and various .txt and .wrk files in \spool\mqueue directory. The received messages (file) for the mai box will be *.txt in the \spool\mail directory. MS-DOS files: Even though the Net.Exe documentation does not require any special config.sys files; the following was added to the config.sys file at this station. SHELL=C:\COMMAND.COM /E:2048 /P C:\ FILES=40 .pa Š THE AUXILIARY FILES  The files required for v890421.1 of NET.EXE are as follows: Must have - Hosts.Net Autoexec.Net Should have - Ftpusers Alias BM.RC 1. Autoexec.net The autoexec.net file that was obtained from a friend, TAPR, etc. will require a change of the IP address, host name, and the AX25 call. It will also require that the baud rate of the tnc and computer port be designated. All lines of the file beginning with # are ignored. Most generic files will contain details on the meaning of each entry. You are urged to place a # before all lines pertaining to the netrom node operation until becoming familiar with the program's operation. Later create another file call NR just for netrom operation. One may want to have multi-NR files for operation on different frequencies. Such as NR01 for 145.010 and NR05 for 145.050 mHz etc.. When Net boots up it looks for autoexec.net file on the root directory. Different autoexec.net files (such as with and without nr) may be ran as an alternate to the autoexec.net file. At the command line: i.e. NET NR01 runs the netrom file NR01 in place of the autoexec.net. In order to enjoy the benefits of the tcp/ip protocols an IP address will be required. In Missouri, an IP address may be obtained by sending packet mail to wb0rot @ w0zln, include the qth, name, etc. for a prompt return of an IP address. IP addresses take the form of 44.46.00.XX. Make the following entries in the autoexec.net file. i.e. AK0B is my call and IP address is 44.46.0.18 so my entry would be as follows: hostname ak0b ax25 mycall AK0B ip address [44.46.0.18] Now check the serial port that you will use on your MS-DOS machine. The following is the attach statement for COM1 at 1200 baud; and COM2 port at 4800 baud. See the user manual written by Bdale Garbee for additional details. attach asy 0x3f8 4 ax25 ax0 8092 576 1200 attach asy 0x2f8 3 ax25 ax1 8092 576 4800 .pa Š The other entries in the autoexec.net worked for your friend so skip them for now. Their will be an error message for each line that does not make sense to Net.exe at time of start. Don't forget to place a # in front of all the lines containing references to the netrom operation. At this time also place a # in front of all route add and or arp add lines. Now a usable autoexec.net file should exist. Remember to make the entries in lower case; net is case sensitive. 2. Hosts.net The Hosts.net file should be built for your local area. If you obtained a local copy then it should be adequate to start. If you do not have a hosts.net file for your local area you will have to create one with at least one entry of a friendly neighbor tcp/ip station. The following is the minimum entry for the St. Louis area. 44.46.0.21 k0pfx-2 k0pfx-2.ampr.org That will allow connects via FTP to IPSTL, the local node. The local hosts.net file would then downloaded. 3. Ftpusers The ftpusers file is required for other stations to obtain files from the computer. The normal minimum entry is as follows: anonymous * \public 1 Again see the user manual for details on the entries. However, anyone requesting entry into the files would enter "anonymous" when user is requested and since * is a wild card; they should enter their call for the password. The number 3 would allow upload and download of files. The number 1 will allow download only. 4. Alias An "Alias" file is required for multi-mailings. The alias file for local mail to St. Louis stations might be as follows: stl k0pfx@k0pfx-3 n0kqg@n0kqg ke0ay@ke0ay kb0ezk@kb0ezk The alias file is used by the BM.exe program for SMTP (electronic mail). An additional entry might also be: ed wd0ell@wd0ell That will allow all mail sent to Ed to be forward to wd0ell@wd0ell. See the BM (SMTP) section of this manual for additional details. .pa Š 5. BM.RC The BM.RC file tells the BM.EXE program your host name and user name. My entries are as follows: host ak0b user ak0b fullname Stan Wilson smtp \spool\mail screen bios See BM section of this manual and also the user manual for details. However, just using your call and name will create a usable BM.RC file as shown above. Now if the above were used as a cookbook then usable files for the NET.EXE operation now exist. COMMANDS  How to connect: Assuming the use of the COM1 port and the TNC is in KISS mode. AX25 to non-tcp stations: net>c ax0 station_called If TCP: net>telnet tcp_station_called The hosts.net file must contain the IP address of the tcp_station. The key is a default that will always return the program back to the net prompt, "net>". How to connect to a session: net>se 2 (where 2 is the number of the incoming session) ("se" by its self would display current sessions) How to disconnect: net>close number_of_session or net>di number_of_session Verify the call: net>ax25 mycall IP address: net>IP address hostname: net>hostname ROUTING or HOW TO CONNECT WITH A TCP STATION OUTSIDE THE AREA ?  If your buddy is running TCP/IP then you can by use of the ARP table setup a digi route. i.e. Ed, WD0ELL [44.46.0.36] can not be connected direct from this station. However, both Ed and myself can digi via WA0FYA-1 (JBG- a non-tcp node), therefore, we need to do the following: Š AK0B adds the following to his AUTOEXEC.NET file to use the digi route via wa0fya-1: route add [44.46.0.36] ax0 arp add [44.46.0.36] ax25 wd0ell wa0fya-1 WD0ELL adds the following to his AUTOEXEC.NET file to use the digi route via wa0fya-1: route add [44.46.0.18] ax0 arp add [44.46.0.18] ax25 ak0b wa0fya-1 If the more productive route via a tcp/ip node was available for relay, such as wx0a-2, the AUTOEXEC.NET routing tables would be setup as follows: At AK0B: route add [44.46.0.36] ax0 [44.46.0.47] arp add [44.46.0.36] ax25 wd0ell At WD0ELL: route add [44.46.0.18] ax0 [44.46.0.47] arp add [44.46.0.18] ax25 ak0b FINGER  Now let's test the circuit. We can do that by having Ed or Stan send their brag tape. (ole rtty term) In the \finger directory Stan has a file called AK0B.TXT which is his brag tape. Therefore, Ed can check the circuit by the following: finger ak0b@ak0b. With ak0b responding by sending the ak0b.txt file to wd0ell. A few words on the brag tape. First it must be in the sub- directory finger. NET.EXE finger (tty routine in tcp/ip) does s not forward and . Therefore, for it to look good on your buddy's screen you must use 81 spaces for every line. The same is true for files that you upload to the BBS via tcp/ip "upload" cocommand. NOSNET corrects the problem. You may test how your brag tape is going to look by the following; F10 for net> then finger mycall@mystation and the finger server will send the file to your terminal. BM.EXE or BDALE'S MESSY DOS MAILER  Now that you have Net.Exe running and the routing table are set up - then put them to use handling your electronic mail. BM is a utility that allows you to use the SMTP server in NET. The shell command in NET is used to allow exit without killing NET. Use "!" to exit to ms-dos. You may now run BM as you would any MS-DOS program. Upon entry use "." to read your current mail; use "n" to list all mail. To read other than current, enter the number of the message, i.e. 7, will Š allow you to read msg number 7. After reading you may delete the message by "d 7". The next time you enter BM or if you re-sync the file by "$" the message will be deleted. "?" will list all of the BM commands. Ok, you received a message and want SMTP to send your reply. Then enter "r 7" (note do this before you delete the message). BM will obtain the address, etc. from message 7 and ask you for text. You enter in the edit mode so just type your message with a cr (Enter key) at the end of each line; and end the message with a ^D (control D) in the first column. Now to return to NET, type "q". At the MS-DOS prompt type "exit". NET has a smtp timer and will mail the message without any additional inputs. However, if you want to speed it up; type "smtp kick" at the NET prompt. NET using the hosts.net file and the routing and arp tables will automatically forward your message. SMTP (Electronic Mail)  I use both host and user in the BM.RC file as ak0b. That solves many problems with others connecting to the mailbox and not knowing what to send; or in what manner; when suddenly confronted with "C,S,B". Now if someone connects; they can "S ak0b@ak0b" just as they would at a pbbs. BM will place the mail in a ak0b.txt file for BM. The problem comes when they S stan@ak0b and a new notefile is created by BM called stan.txt and when I call up BM it will say no mail since it is looking for mail to ak0b. To check for mail to stan I have to "n" and BM will look for messages to all users. To read mail in stan's notefile I would type "n stan". Exit with "q". If you are running double dos etc you will have to "$" to re-sync the bm file upon entry to see if you have mail. The main problem is notefile as above. It is a good practice to look in the notefiles as I find some people get your call wrong, etc. and BM creates additional "file.txt" notefiles under those names. Once you know the name they used; use "n file" to read. By using SMTP and the utility BM you will have reduced the work load for the local bbs. In addition, you will speed up delivery of your message. If the mail can not be delivered; NET will inform you of the fact. Recipient station must be in the hosts.net file. BM/SMTP MULTI RECIPIENTS  It is possible to send one message to multi-recipients via tcp/ip. You will need an ALIAS file on the root directory. For example: Ed @ wd0ell would like to send the same message to all MO_AMPS members who are running tcp/ip at their station. He has the latest hosts.net file from IPSTL with all of the calls and ip addresses. He builds a ALIAS file as follows: C:>copy con:alias moamps k0pfx-3@k0pfx-3 ak0b@ak0b nt0c@nt0c n0kqg@n0kqg ^Z .pa Š Now when he enters BM he can "m moamps" and BM/SMTP will automatically forward the message entered to all those contained in the alias file. Additional aliases may also be included in the file as follows: moamps k0pfx@k0pfx-3 ak0b@ak0b nt0c@nt0c n0kqg@n0kqg stan ak0b@ak0b chris n7lpy@n7lpy See page 44 of the user manual for more details. TCP/IP NETROMS  Yes, they are different from NetRom and/or TheNet. An AX25 interface is not available to the user. You can NOT connect to the tcp netrom and ask it to connect you with another station AX25 or TCP. Yes, if you connect to TheNet and/or a NetRom node and if it routes thru a TCP NetRom to another TheNet and/or NetRom it will work. If the station is TCP/IP and running the tcp NetRom; you may asked TheNet and/or a NetRom Node to connect you to that station. If you ask TheNet and/or NetRom to connect with a TCP NetRom station you will get that station with a request for Chat or Mailbox. TheNet and NetRom know the routes, the nodes and they can route at the NetRom transport layer thru a TCP/IP NetRom and they do this routing automatically. A Node list and/or route list is not available to the AX25 user. However, the TCP/IP NetRom does provide this information to other NetRom nodes.(netrom verbose yes) SETTING UP A TCP/IP NETROM NODE  Remember, the NetRom node talks to all the other nodes so exercise CAUTION in setting it up to avoid excessive QRM and unnecessary packet racket. Add the following to your Autoexec.Net file: Turn it on: start netrom attach netrom netrom interface ax0 "your_node_id" 192 If a # is placed in front of "your_node_id", i.e. #your_node_id, the node will appear hidden to nodes requests from TheNet or NetRom nodes. In order to see the hidden nodes; it is necessary to use "n *" for the node listing. Some tcp/ip stations use the # in front of the alias in order to reduce confusion to distance connects that are DXing via the nodes. netrom obsotimer 1800 netrom nodetimer 10800 netrom verbose yes netrom bcnodes ax0 netrom ttl 8 Tell it who is a local NetRom neighbor that you can always connect: netrom route add IPSTL k0pfx-2 ax0 192 k0pfx-2 .pa Š Caution: Do not hardwire neighbors who are not 100%. Because it will tell all of your neighbors that you have a path to that Netrom node and the other netroms will all try to route via the node even when the desired netrom node is not available. Chose the NetRom table entries very very carefully. Ah! Experience. In addition, set the netrom nodefilter to limit the netrom routing tables to those that are always 90% or better connectable. Let the automatic routing of the netroms work for you. You do not want entries that are not normally reliable. It is better to hop thru multi-nodes than have your station sending SABM packets all day to a non-connectable station. In order for the SMTP to deliver the mail it must have usable routes. # turn on netrom nodefilter to limit node table netrom nodefilter mode accept # now tell the filter which netrom nodes to allow # LCRC, STL, IPSTL, HILTOP netrom nodefilter add ka9ymy-1 ax0 netrom nodefilter add k0pfx-1 ax0 netrom nodefilter add k0pfx-2 ax0 netrom nodefilter add n0kqg ax0 USING NET/ROM SUPPORT FOR IP  I will not go into how NetRom written by Dan Frank and apart of the KA9Q's Net.Exe program works. However, by doing the following one will be able to route the Telnet, FTP and Finger communications to other tcp/ip stations via the existing NetRom and TheNet nodes. For example: Set up a netrom route for tcp/ip from St. Louis to NT0C in Hannibal, MO. First tell the Net.Exe program that NT0C may be contacted via Net Rom routing at the IP layer. In addition, also set the arp table. First, the following is entered either via autoexec.net or from the net> prompt: route add [44.46.0.17] netrom nt0c arp add [44.46.0.17] netrom nt0c In addition, the netrom node "NT0C" must appear in the net.exe netrom routing table. If it does not appear in the table; the following must also be added: netrom route add #IPHAN nt0c ax0 w0kem-1 wa0fya-1 A check of our netrom route table showed that nt0c was via wa0fya-1 with the best quality figure. A connect with wa0fya-1 was made and the route to nt0c checked by "n nt0c". It showed the best quality figure route to be w0kem-1 v MEX. Ok, the routing tables made sense (Check them sometimes, they do not always make sense). Therefore, all one has do is as follows: telnet nt0c or ftp nt0c or finger nt0c@nt0c Š And the netroms will handle the IP level routing between the two stations. Note: If nt0c appeared in the netrom table you could have connected to nt0c's mailbox by the following: "netrom c nt0c". However, without the route add and the arp add one could not have telnet, etc. The arp default table entry would have sent the telnet request via the ax0 port. In addition, nt0c will have to have made a similar route add and arp add entries to his autoexec.net program. If it is possible to connect direct via tcp/ip or via tcp/ip gateways one should not go the netrom route. TCP/IP is more efficient, netroms are more effective than digi's, etc.. If you FTP, Telent, etc. via the netroms, watch the routing table entries. Verify the path to the station desired by "netrom route info call_ltrs". Signals go via best quality level route. If the station called has different quality level routes, you may get the reply from a different netrom node. PING  Ping is a command used to test reachability of destinations by sending them an ICMP echo request and waiting for a reply. i.e. "please ping host A to see if it is alive." If you enter "ping ak0b" at the net prompt the system will call ak0b and report the rtt (round trip time) to send a packet from your station to ak0b and return. The Internet Control Message Protocol (ICMP) allows gateways and hosts to send error or control messages to other gateways or hosts. ICMP provides communication between the software on one machine and the software on another machine. The ICMP echo request/reply mechanism proves a useful tool in testing the network. FTPUSERS  In order for others to gain admittance to another tcp/ip station files or for them to gain access to yours the "user" and "password" must be matched in the FTPUSERS file on the root directory. I keep my files for others in the sub directory ftpusers, you may keep them in a public directory, etc. the name does not matter as long as the path and permission is entered in your FTPUSERS file. There are three (3) levels of permission that may be granted - read only (1), read and write (3) and read, write and overwrite(7). As a courtesy we always allow read only to new or unknown users. This may be done by the following: add as the first line of your ftpusers file anonymous * \public 1 this says anyone may login with the user name of "anonymous"; since .pa Š * (a wild card) is the required password they can use their call or name. I perfer you use your call as tcp/ip will enter it into the tcp/ip log as the password used. The line also says you have a directory on the root called public where you keep your files for ftp users. Now since I know joe_ham as a buddy I am going to let him also write files to my system therefore I also add the following line to my ftpusers file: joe_ham beer \public 3 now when joe logs in with user "joe_ham" and password "beer" he can read and write files to my system. Now I really trust my friend johnny and I know he is always updating my files I am going to give him the permission to overwrite my existing files by adding the following to ftpusers file: johnny theking \public 7 Now johnny logs in as user "johnny" password "theking" and he may overwrite files on my system with those he has updated and is uploading to me. Now let us use MS-DOS to create a ftpusers file: C:\>cd \ copy con:ftpusers anonymous * \public 1 joe_ham beer \public 3 johnny theking \public 7 ^Z and you now have a ftpusers file on your root. FTP How do I use FTP to also get the files from other machines? First you must add them to your hosts.net file. I want to see what Mel K0PFX has in the IPSTL file. So I add the following to my hosts.net file. 44.46.0.21 k0pfx-2 ipstl Since mel's address is 44.46.0.23 it goes first, mel uses ssid as -2 on his tcp/ip station which is node ipstl. mel and ipstl are all alias to k0pfx-2, and with the ip address of 44.46.0.23. Therefore I can ftp his station by any of the following: ftp ipstl ftp k0pfx-2 The system will request "user" and "pass" at login. Use "anonymous" for the user and your call for the pass. Ok mel's system has let me .pa Š in and I want to browse his files so I type "ls" for a list of files available, I could type "dir" to learn the length of files etc. The file I want is foo.tcp. Before I can get it, I have to tell both our systems what type of file it is.... I am going to assume it is a binary file of some type. You may use "type a" if it is a ASCII file. Use i for image or b for binary. I would use type i, the remote will acknowledge and the two systems are now ready for the transfer so type the following: get foo.tcp melfoo.tcp that tells the system to send mel's file foo.tcp and name it melfoo.tcp on my system. In order to put foo.tcp on mel's system you would do the following: put melfoo.tcp foo.tcp that would send file melfoo.tcp on my system to mel's and name it foo.tcp on his system. You are done so "quit".  "quit" or "abort"  Normal out of a ftp connection is "quit" that is the way to disconnect. When in trouble "abort"; when you do not know what else to do "abort"; when you are sure you have every thing screwed up "abort"; that is the only way OUT. If the system doesn't understand "abort" you are not in trouble so "ququit". Please quit when finished as it leaves an open session on the system if you exit by a disconnect without quit. Review the commands: ftp xxxxx, type a (ASCII), type b8 (binary), type i (image), get, put, quit and abort. You also know how to set up the ftpusers file, and what is required in the hosts.net file about a station in order to telnet, ftp and finger. You will find the ftp "file transfer protocol" much faster than YAPP. Please note, when transfering a file, ftp opens a file on your directory and appends new data as received to the file. If anything goes wrong during the transfer, all of the file will not be received. Check on the number of bytes received as compared to the number to be sent. RECORD  You have connected the local BBS and they have lots of mail. How do you download it and record it? Connect to the BBS, then use the F10 key to get the net > then type "record mymail". Mymail will be the name of the file where you are going to save the mail. Now by going to connected session "SE #" return to the BBS and have it send your mail. Net will tell you that it is saving it in "mymail". After receiving the mail use the F10 key again and turn record off > record off. UPLOAD  How can one upload a file to the BBS? First connect to the BBS. Tell the BBS you want to S xxxx as normal, then the title, wait for message prompt from the BBS, now F10 and at the NET> upload "file_name" and return to the session when complete. The file should end with /EX. .pa Š TRACE  If you would like to have the trace function on when at the net> prompt enter the following in your autoexec.net file. trace cmdmode trace ax0 111 You may turn trace off at the net> prompt by "trace ax0 0". See appendix for additional details. SLIP  If you have a standard modem connected to one of your computer ports you may want to experiment with SLIP. You will have to attach the SLIP port in the same manner you would a COM port. See the user manual for details. APPLICATIONS  As many of you are learning tcp/ip is an efficient delivery system for your electronic mail. As more stations begin to use the system the better it will become. Any network requires operating nodes, servers and operators. Packet radio is rapidly moving the way of other activities within our great hobby. The pure operator vs the experimenter. As we, the experimenters improve and refine the equipment and software, then others will also begin to enjoy the hobby. The upcoming year will provide additional improvements with automatic routing of mail, etc.. The use of FTP allows easy exchange of software programs. How long will it be before the equipment and software is available to provide voice with electronic mail, or video. The technology does exist. Perhaps in the next few months you will via FTP upload your messages and they will be reproduced at your station as video and voice. Today, it is possible to include graphics and digitized voice, therefore, it is only natural to include video. Take a look at the MFJ digitized video, why couldn't it be included with the next files you upload. The price tag on going digitized video is less than a good SSTV system. If you are an experimenter, then the world is wide open. If you are an operator, let the experimenters know that you would purchase such equipment. If you are a design engineer then be sure to read IEEE Journal Communications for June 89, Vol 7 No 5. on facsimile images and video via packet. Amateur radio combined with packet radio communications is a great place to exchange ideas. The exchange should include other hobbies as well as technical discussions about radio operation. TCP/IP is a unfinished system. It is evolving to meet the changing requirements that we set for it. It is a new opportunity. Like all communication systems used in ham radio I know it will change. After all - my orginial rig was AM. I still remember driving 50 miles to see my first SSB station, it was homebrew, you could not Š buy one. So packet will also change. I also know we (YOU) can make a difference. Digital communication networks have started a new revolution by providing the technology that transports the data needed by a ham society in which information plays a major part. Our railroad is still incomplete, but only a few gaps will require filling and we will have a VHF/UHF system spanning the USA. Oh, you say this is not a information hobby... Well do you have a $50 callbook? Do you or your repeater club use a local bbs for messages and or other general information for all members? How many ham journals do you receive monthly? Newsletters, etc. We have been taking the "bottoms up" approach. First the hardware, then software and now the applications. I expect within the next few months that ak0b will be running digital video or fax via the tcp/ip network. I fully expect to use the network to exchange information with other experimenters. I look at tcp/ip as a tool; just like I need MS-DOS to run my computer, I need tcp/ip to act as the transport for exchange of information. It has been a lot of fun learning this new technology. Now for the fun with applications. PUBLIC SERVICE USES  The US has had two major natural disasters in the past year. With a tcp/ip network in place - those still running could upload routing, etc. and totally reconfigure the network for those that are left within minutes. Any tcp/ip station can operate as a netrom node for relay, information files in the ftp directory can be forward, smtp can handle the electronic mail and may also be used as a cross band switch just by setting the routing tables. MORE EXPERIMENTS REQUIRED At present the tcp/ip stations in the Saint Louis area are using 256 byte packets. The autoexec.net file can be adjusted for greater length packets. The ARPA packet radio network used 2,024 byte length. The tcp/ip header requires 40 bytes. Therefore, the header requires 15.6% of the tranmitting time for 256 byte packets. If we ran a 2,024 byte packet the header would only require 1.9% of the packet transmitting time. It is recommend that we experiment with the 2,024 byte packet for paths that are 100%. The tty interface routines for the PC need human engineering. Both the AX25 and tcp mode mode need to be split screen. Windows would be nice. Nosnet has improved the session presentations, however, telnet and the AX25 connection need split screen added. Additional information on how to use SMTP for mail transfer to non tcp/ip pbbs is required. It appears that the code may be there, but the information on how to use it is lacking. .pa Š REFERENCES  BOOKS: 1. "Internetworking with TCP/IP", Doug Comer, ISBN 0-13-470154-2 1988, Prentice Hall 2. "An Introduction to TCP/IP", John Davidson, ISBN 0-387-96651-X 1988, Springer-Verlag MANUALS: 1. "The KA9Q Internet Software Package", Revision 890421.1 by Bdale Garbee, N3EUA. Available via tcp/ip bbs and local ftp files. 2. "Net Rom Manual", by Dan Frank, W9NK. Available via N8EMR bbs and/or local ftp files. File: nrman.txt ARRL CONFERENCE REPORTS: Still available from the ARRL, Newington Fourth - 1985 "TCP/IP; A Proposal for Amateur Radio Packet Level 3", Phil Karn, p 62 Fifth - 1986 "Link Level Protocols Revisited", Phil Karn and Brian Lloyd, p 5.25 Sixth - 1987 "Design of a Mail System for the KA9Q IP", Bdale Garbee and Gerard van der Grinten, p 59 "The KA9Q Internet (TCP/IP) Package: A progress report", Phil Karn, p 90 Seventh - 1988 "Transmission of IP datagrams over NET/ROM networks", Dan Frank, p 65 "Amateur TCP/IP:An update", Phil Karn, p 115 TCP/IP BBS The following BBS all have TCP/IP programs, notes, information, etc. N8EMR 1-614-895-2553. WB3FFV 1-301-335-1955 and 1-301-335-0858 K4NGC 1-703-680-5970 .pa Š  APPENDIX  Post Office Protocol (POP) ............................ 17 TCP/IP Ports .......................................... 18 Trace Commands ........................................ 18 Help Menu (NET.EXE) ................................... 19 Help Menu (BM) ........................................ 20 A TCP/IP Header ....................................... 21 Finger File (Example) ................................. 22 NOSNET NOTES (How to set up NOSNET files) ............. 23 Definitions (TCP/IP) .................................. 25 Missouri IP Address List .............................. bc .pa Š Post Office Protocol (POP2) by Mike Stockett WA7DYX The Post Office Protocol (POP2), as defined in RFC 937, is a mail protocol designed for use in networks containing workstations that are normally turned off when they are not in use. In this environment it is not possible for SMTP to deliver mail to these workstations because they are not always available. The solution to this problem is to designate a mailbox server that is available to the network at all times and can accept SMTP mail for these workstations. When a workstation comes on-line it uses POP2 to access the mail in its mailbox(s) on the mailbox server. The advantage to using a POP server at an area mail gateway, such as a tcp/ip gateway, is that when mail arrives at the gateway for a station that may not be available, such as one that does not operate 24 hours a day, the gateway does not have to waste an SMTP connection trying to establish a connection with that station. Instead it accepts the mail and places it in the addressee's mailbox, then when the addressee comes up on the network he/she collects his/her mail from the mailbox. Note that although this process is, at present, manually controlled, it is possible for a station to have a POP daemon that becomes active when the station enters a network, or upon user demand, automatically, and transparently, transfering new mail from the mailbox server to the local mailbox at the station. POP Limitations There are several limitations in this release of the POP package. First, it does not support the FOLDer command, although it is included in the source code, because of potential security problems; a future release will include a solution to this problem, possibly like the one used for FTP to limit the directories that a user can access. Second, this release has only been tested on an IBM PC/AT. Third, it does not allow recording of the session. The above was edited from the POP.DOC by wa7dyx. In order to run POP it will be necessary to upload POPSERVER.ARC and compile with the v8980421.1 version of KA9Q's Net. POPSERVE.ARC is available from wb3ffv bbs and local ftp directory. .pa Š  TCP/IP PORTS  Description Decimal ------------------------------------------------- Echo 7 Discard 9 FTP Data 20 FTP 21 Telnet 23 SMTP 25 Domain 53 Finger 79 POP-2 109 ----------------------------------------------------------------------  TRACE COMMANDS  Command structure: trace (port) (code), assume COM1 (ax0) for the port in the following examples. trace ax0 0.................trace off trace ax0 1.................output (headers only) trace ax0 10................input (headers only) trace ax0 11................input output (headers only) trace ax0 100...............trace bug off trace ax0 101...............output (ASCII dump) trace ax0 110...............input (ASCII dump) trace ax0 111...............input output (ASCII dump) trace ax0 333...............input output (Hex/ASCII dump) .pa Š HELP MENU for NET.EXE D:\NET>net      KA9Q Internet Protocol Package, v890421.1 DS = 3141      Copyright 1988 by Phil Karn, KA9Q      NET/ROM Support Copyright 1989 by Dan Frank, W9NK      net>?      Main commands:       ! arp ax25      attach connect cd close      disconnect dir echo eol      exit finger forward ftp      help hostname kick log      ip memstat mbox mode      mulport netrom nrstat param      ping pwd record remote      reset route session remote      smtp start stop shell      telnet trace udp upload      ?      net> .pa Š HELP MENU FOR FBM.EXE   Bdale's Messy-Dos Mailer v3.3.1 890421.1  Copyrighô 198· Bdalå Garbee¬ permissioî granteä foò non-commerciaì use.  Copyrighô 198¸ Davå Trullé NN2Z¬  permissioî granteä foò  non-commerciaì use.      No messages      Type ? for help.      "ak0b">?      d [msglist] delete a message      m userlist mail a message      s [msglist] [file] save message in file (default mbox)      w [msglist] file save message in file no header      f [msg] forward message      b [msg] bounce message (remail)      r [msg] reply to a message      u [msglst] undelete a message      p [msglst] print message on printer (DOS only)      . display current message      h display message headers in notefile      l list unsend messages      k kill unsend messages      n [file] display or change notesfile      # where # is the number of message to read      x quit without changing mail file      q quit      ! cmd run dos command      $ sync the notefile      ? print this help screen .pa Š TCP HEADER FORMAT       |-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-|-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-|       Source Port Destination Port       .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-|-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.       Sequence Number       .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.       Acknowledgment Number       .-.-.-.-|-.-.-.-.-.-|-|-|-|-|-|-|-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.       Data | |U|A|P|R|S|F|       Offset | Reserved |R|C|S|S|Y|I| WINDOW       | |G|K|H|T|N|N|       .-.-.-.-|-.-.-.-.-.-|-|-|-|-|-|-|-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.       Checksum | Urgent Pointer       .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-|-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.       ~ Options (if created) ~       ~ ~           .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-|-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.       ~ ~       ~ DATA ~ þ ~           |-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-|      Thå  TCР Headeò ió á relativelù enormouó creature®  Thå  minimuí  sizå      datagraí  anä associateä IÐ Headeò ió 4° oò morå bytes®  (Refº  Johnson¬      "Introduction to TCP/IP p. 51 .pa Š FINGER FILE  Hello OM and welcome to ak0b.ampr.org running the KA9Q TCP/IP Code. User: stan (AK0B) Real Name: Stanley Wilson License: Extra - Been on the air since 1954 QTH: Saint Charles, MO. 63302 Adr: P.O. Box 1174 Hill Top QTH - located on the last hill top before the ole Mississippi and Missouri rivers meet. System: Kenwood TS-700-SP, 160 watt linear, Ispole antenna, KAM running KISS and using AT. Occupation: Electronic Engineer Interests: DX, RTTY, Home Brew, QRP, Automobiles (MGB's) and most science stuff .pa Š NOSNET NOTES by Stan Wilson, AK0B If you have been running KA9Q's NET.EXE program now is the time to start thinking about running NOSNET.EXE. The present v900117b has very few problems and many improvements. Documentation still is not available, so you are on your own. Any and all of the following may change or may have already be changed.  Input Character Over-run Problems  If you have a slow PC (4.77 mHz) then run the baud rate between the TNC and the Computer at 1200 baud or you will have some garbage chars.  The FTPUSERS File and NOSNET.EXE  Slashes for the FTPUSERS file must slant the opposite direction than the FTPUSERS file for Net.Exe. The file must still be on the root directory. NET.EXE NOSNET.EXE anonymous * \public 1 anonymous * /public 1 joe_ham beer \public 3 joe_ham beer /public 3 johnny theking \public 7 johnny theking /public 7  The DOMAIN.TXT File and HOSTS.NET File and NOSNET.EXE  NOSNET uses a Domain.txt file in place of the Hosts.net file required for Net. You may convert your Hosts.net file to Domain.txt by use of the program CVTHOST.EXE available via FTP n0kqg, k0pfx-2, etc. Your Hosts.net file will not be affected when generating the new Domain.txt file. HOSTS.NET (input) DOMAIN.TXT (output) 44.46.0.19 n0kqg n0kqg.ampr.org n0kqg.ampr.org. IN A 44.46.0.19 n0kqg. IN CNAME n0kqg.ampr.org.  IF YOU ROLL YOUR OWN NOSNET VIA TURBO C  You will have to make a few changes to the Turbo C Make e file, some include header files are missing from the make file. The errors will be listed by the compiler at compile time so it is easy to find what is missing. Maybe the developers do not compile it on a MS-DOS cpu.  AUTOMATIC FTP LOGIN  Nosnet now contains the code required for automatic login to the remote computer when in the ftp mode. You will need a PASS and USER file on your machine. Check source code if you want to get a jump on this one. Documentation not available on file structure at present. Š  NOSNET and the FINGER files  The problem with the and removal with NET has been corrected. The v900117b of NOSNET does not require 80 chars/line of the old NET finger user.txt files. In addition, the NOSNET finger file no longer requires the .txt extension. So rename your file and remove all those extra spaces (speed up the system). The same is true of "upload" it no longer removes the and characters.  NOSNET and the AUTOEXEC.NOS file  The this version(b) requires the autoexec file have the extension of .nos. Rename you autoexec.net file to autoexec.nos.  RIP - ROUTING INFORMATION PROTOCOL  The NOSNET.EXE program by KA9Q includes the implementation of Internet standard Routing Information Protocol. First the bad news: It must be used with care. The program basics are from "routed" a software program from the popular 4.X BSD UNIX system. BEWARE - The program provides for self announcement - the RFC 1058 specifications recommends that this occur not less than every 30 seconds or more than 180 seconds. While this may be nice for a wired internet, it clearly is not the way amateur radio packet networks should function. It is recommend that anyone using this protocol in the St. Louis area set the time interval for not less than one hour (3600). It is recommend that the setting of 7200 seconds be used or the feature turned off. Please no more "packet racket", i.e. netrom talk. rip add ax0 7200 How do you set it up ? First the neighbor_refusal: rip addrefuse neighbor_addr, i.e. rip addrefuse 44.46.0.19 would refuse RIP routes from 44.46.0.19. How do I turn it on ? Add the following to the autoexec.nos file: start rip. That will turn on the RIP and set your socket to listen for route updates. At this point you are a silent and do not participate in the RIP conversations. Next the flags: The flags are set from 0 - 7; Use 2 in your initial experiments with RIP, and then 6. See N3FCT's article for details. I urge you to only experiment with this one under close monitoring. At present it does some interesting things such as one machine asking the other for it's routing tables and updating your tables showing that machine as the gateway. Ref: RIP, 7th ARRL Computer Conf LATEST VERSION 900214 You must have "start ttylink" in your autoexec.net file for connecting stations to Chat with you. Without it their computer appears to lock up. This version has super netrom and mailbox improvements. This version brings a new dimension to amateur radio packet. N0KQG has modified the netrom code for full netrom service to AX25 connecting stations. Version v900214 NOS + PA0GRI + N0KQG Mods + Russ Nelson mods Š TCP/IP DEFINITIONS  The majority of following were taken from Douglas Comer's book "Internetworking with TCP/IP", published by Prentice Hall, 1988, ISBN 0-13-470154-2. See Comer's book for additional detail. Protocol - A formal description of message formats and the rules two or more machines must follow to exchange those messages. TCP - Transmission Control Protocol. The Internet standard transport level protocol that provides the reliable, full duplex, data stream service on which many application protocols depend. TCP allows a process on one machine to send a stream of data to a process on another. It is connection-oriented in the sense that before transmitting data, participants must establish a connection. IP - Internet Protocol. The Internet standard protocol that defines the datagram as the e unit of information passed across the Internet and provides the basis for the Internet connectionless, best-effort packet delivery service. IP includes ICMP control and error message protocol as an integral part. The Internet protocol suite is often referred to as TCP/IP because IP is one of the two most fundamental protocols. ICMP - Internet Control Message Protocol. An integral part of the Internet Protocol (IP)_ that handles error and control messages. Specifically, gateways and hosts use ICMP to send reports of problems about datagrams back to the original source that sent the datagram. ICMP also includes an echo request/reply used to test whether a destination is reachable and responding. Internet - The collection of networks and gateways that use TCP/IP protocol suite and function as a single, cooperative virtual network. The Internet provides universal connectivity and application level services like electronic mail. Internet reaches many universities, government research labs and military installations. LAN - Local Area Network. The physical network technology that provide data communications over a short distance. LAN communication is the digital transfer of data that allows internetworking between dissimilar terminals and computers for the purpose of electronic mail, remote printer and file sharing, host computer gateways, parallel processing, remote command execution, and multi-system networks that link PC's, Apples, Amigas and mainframes, etc., etc.. The ARRL band plan for two meters (144 mHz) recommends that 145.010 mHz be reserved for inter-LAN use. Š TELNET - The Internet standard for remote terminal connection service. Telnet allows a user at one site (host, node, etc.) to interract with a another sites as if the user's terminal connected directly to the remote machine. The telnet application in KA9Q's TCP/IP program does not require login. The program passses keystrokes from the user's terminal to the remote machine and displays output from the remote machine on the user's terminal. SMTP - Simple Mail Transfer Protocol. The Internet standard protocol for transferring electronic mail messages from one point to another. SMTP specifies how two mail systems interact and the format of control messages they exchange to transfer mail. FTP - File Transfer Protocol. The standard high level protocol for transfering files from one computer to another. It is an application level (layer) programs. FTP uses the Telnet and TCP protocols. The server side requires a client (user) to supply a login (pass) before it will honor requests for data transfer. PING - Packet InterNet Groper. The name of a program used in the Internet to test reachability of destinations by sending an ICMP echo request and waiting for a reply. Domain - In the Internet, a part of naming hierarchy. Syntactically, a domain name consists of a sequence of names separated by periods. i.e. ak0b.ampr.org Datagram - The basic unit of information passed across the Internet. It contains a source and destination address along with data. Socket - Service Access Points (SAP). In the telephone system there are sockets into which modular telephone can be plugged and the SAP addressees are the telephone numbers of the sockets. In the postal system the street address and post office boxes are the SAP.In the Berkeley UNIX system the SAPs are the sockets and the SAP addresses are the socket numbers. i.e. socket ak0b Port - A pseudo address that transport protocols use to distinguish among multiple destinations within a given host computer. Certain ports (numbers) are reserved for standard services. i.e. SMTP - Electronic mail (25), FTP - File transfer (21,20). Session - A session is a connection between two machines. The purpose may be the transfer of data (FTP), Communications (Telent), etc. Multi-sessions independent of each other may be in process at the same time. The command "se" will allow listing of sessions in progress. SE # will switch control to that session. Š ARP - Address Resolution Protocol. The protocol that binds a high level address to a low level physical hardware address. ARP is only across a single physical network and limited to those networks that support hardware broadcasts. RFC - Request for Comments. The name of a series of notes that contain ideas, techniques and observations as well as proposed and accepted Internet protocols standards. They are available via the tcp/ip bbs and the Internet. RIP - Routing Information Protocol. A protocol that allows for information to be exchanged between machines as to the routing information of various machines concerning the local network. .pa Š NOTES .pa Š Missouri IP address (1/25/90)  ____________________________ 44.46.0.1 WB0ROT William H. Simmons Boonville, Mo. 44.46.0.2 WB0ROT-1 William H. Simmons Columbia, Mo. 44.46.0.3 WB0ROU Richard A. Schmitt Pilot Grove, Mo. 44.46.0.4 WD0ARL Edward Gordan Boonville, Mo. 44.46.0.5 WB0LDJ Mike Harmon Ashland, Mo. 44.46.0.6 NV0O David R. White Pleasent Hope, Mo. 44.46.0.7 N0INF Dan Mann, Sr. Fair Grove, Mo. 44.46.0.8 K0ADM Marshall Turner Golden, Mo. 44.46.0.9 K0CM George R. Hoops Springfield, Mo. 44.46.0.10 WF0B Ray Carringer Springfield, Mo. 44.46.0.11 NE0B Dave Christiano Springfield, Mo. 44.46.0.12 N0GGZ Sam Hall Joplin, Mo. 44.46.0.13 WB0YIU Charles M. Young Republic, Mo. 44.46.0.14 KD0PJ Jim Roberson Vienna, Mo. 44.46.0.15 N0FUL Wayne Cornick Belleville, Il. 44.46.0.16 WO0O Joe Fay Jamestown, Mo. 44.46.0.17 NT0C Ron Harrison Hannibal, Mo. 44.46.0.18 AK0B Stan Wilson St. Charles, Mo. 44.46.0.19 N0KQG Randy Wilson St. Charles, Mo. 44.46.0.20 N9CNM John Barbrick Defiance, Mo. 44.46.0.21 K0PFX-2 Mel Whitten Bridgeton, Mo. 44.46.0.22 KE0AY Frank Tissot Florissant, Mo. 44.46.0.23 W0ZLN UMC BBS Columbia, Mo. 44.46.0.24 NT0P James L. Reicher Lake Lotawana, Mo. 44.46.0.25 WB0OIZ Cary D. Altman Lone Jack, Mo. 44.46.0.26 WQ0W Joe T. Night Mountain Grove, Mo. 44.46.0.27 W0TD Jim Howard Buffalo, Mo. 44.46.0.28 KJ0U Mark Hulse Fayette, Mo. 44.46.0.29 KA0WPH Paul Jackson Rolla, Mo. 44.46.0.30 N0JDG Dan Copeland Bolivar, Mo. 44.46.0.31 WW0S Lloyd A. Rice Dunnegan, Mo. 44.46.0.32 NV0O-1 Dave R. White Pleasent Hope, Mo. 44.46.0.33 WO0X Frank Richards Carthage, Mo. 44.46.0.34 N0SS Tom Hammond Jefferson City, Mo. 44.46.0.35 K0JJS Roy Lilley Jefferson City, Mo. 44.46.0.36 WD0ELL Edward C. Southall New Haven, Mo. 44.46.0.37 N0IUQ Ron Record Joplin, Mo. 44.46.0.38 N7LPY Chris Stockwell St. Charles, MO 44.46.0.39 K0PFX-3 Mel Whitten Bridgeton, MO. 44.46.0.40 K0ORB Bill McGrannahan Kansas City, Mo. 44.46.0.41 WI0T Rod Landers II St. Charles, Mo. 44.46.0.42 WX0A Bob York Troy, MO. 44.46.0.43 WB0SEN Gene Affolter Mexico, Mo. 44.46.0.44 N0KGX Gene Moberly, Mo. 44.46.0.45 KE0VP Neil Scribner Independence, Mo. 44.46.0.46 KB0EZM Ray Feger Foristel, MO. 44.46.0.47 WX0A-2 Bob York Troy, MO. 44.46.0.48 KB0FLT Bryan Chilcutt Jefferson City, Mo. 44.46.0.49 KB0EZK Ron Feger Florissant, Mo. Missouri IP address are issued by WB0ROT @ W0ZLN. Š