home *** CD-ROM | disk | FTP | other *** search
/ Hacker Chronicles 2 / HACKER2.BIN / 474.HOWTO.DOC < prev    next >
Text File  |  1987-06-11  |  27KB  |  513 lines

  1.          Getting Started with the KA9Q TCP/IP Networking Code
  2.                 by
  3.             Brian Lloyd, WB6RQN
  4.  
  5.            Editted 870525 by Bdale N3EUA to Reflect Changes 
  6.  
  7.  
  8. Phil Karn, KA9Q, Bdale Garbee, N3EUA, and Mike Chepponis, K3MC,
  9. have constructed a very nice networking package for packet radio.  Their
  10. documentation is clear, interesting, and informative.  Unfortunately it
  11. is more of a reference than a tutorial and, as such, is not as useful to
  12. the first-time user.  This document is an attempt to provide you with the 
  13. information you need to get up and running right now!  After it works you 
  14. can go back and read all the other informative material and understand 
  15. better what you did.
  16.  
  17. Configuring the TNC for network operation:
  18.  
  19. First step is to prepare your TNC-2 for use with TCP/IP.  The standard
  20. firmware for the TNC-2 is not very computer friendly and, as such, is not
  21. very useful when it comes time to make your computer speak with other 
  22. computers.  To that end Mike wrote the KISS (Keep It Simple Stupid) TNC
  23. code.  There are two ROM versions for the TNC-2.  The first is contained in
  24. a type 2764 or 27C64 EPROM.  This version contains the KISS code in it.
  25. The second version is contained in a type 27256 or 27C256 EPROM and
  26. contains both the standard TAPR 1.1.3 TNC code and a loader that will
  27. permit you to download the KISS code into the TNC.  Check the EPROM you
  28. have received and determine which type you have.  If you are burning your
  29. own EPROMs you probably do not need these instructions.
  30.  
  31. Open up your TNC and locate the ROM.  It is in the socket labled "U23."  
  32. Using a small nail file or screwdriver gently pry up the existing EPROM.  
  33. Carefully press the new EPROM into place being sure that the orientation is
  34. the same.  If you are installing the 2764 type of EPROM you will need to
  35. make a small modification to the TNC.  There is a location on the board just 
  36. above the first RAM socket labled JMP-6.  Turn the board over and cut the 
  37. trace joining the two pads.  Solder a two-pin jumper header in place.  When 
  38. using a type 2764 the jumper at JMP-6 should be removed and installed when a 
  39. type 27256 EPROM is being used.  That should complete the hardware part of 
  40. the installation.
  41.  
  42. Attach your TNC to your PC using an RS-232C cable.  You can use the same
  43. cable that you were using to connect your PC to your TNC.  If you are doing
  44. this for the first time and are not sure about your cabling, a cable with
  45. just pins 2, 3, and 7 passed through is sufficient.  Some PCs like to see
  46. the signals Clear To Send (CTS, pin 5), Data Set Ready (DSR, pin 6), and
  47. Data Carrier Detect (DCD, pin 8) asserted.  You can set this up by
  48. jumpering pin 4 to 5, and pin 20 to pins 6 and 8 at the female DB-25
  49. connector that goes to the PC.
  50.  
  51. Now to verify that the TNC still works.  Apply power to the TNC and turn it
  52. on.  The STA, CON, and PWR LEDs should come on and the STA and CON lights
  53. should go out again about 1 second later.  If you have the type 2764 EPROM
  54. with the KISS code in it one or both of the STA and CON LEDs will begin to
  55. flash.  If the CON LED flashes you have 8Kb of RAM in the TNC.  If the STA
  56. LED flashes you have 16Kb of RAM.  If both LEDs flash you have 32 Kb of
  57. RAM.  The flashing of the LEDs verifies the proper operation of the TNC.
  58.  
  59. If you got the combined loader and TAPR version EPROM, checkout is a
  60. slightly different process.  You can test your TNC-2 using two methods.  The
  61. first method is to connect your TNC to a terminal program and send the
  62. character 'h' or 'H' to the TNC.  The result should be the standard TNC
  63. startup message.  Exit from the 1.1.3 mode of operation by issuing the
  64. reset command to the TNC.  The second method involves downloading the KISS
  65. code to the TNC.  Use the mode command to set the baud rate of the comm
  66. port to the proper value, e.g. it matches the DIP switch setting on the 
  67. back of the TNC, and copy the file kisstnc2.hex to the appropriate comm
  68. port.  If the download was successful the STA and/or CON LEDs will begin
  69. flashing as described in the previous paragraph.  If the download is not
  70. successful check the cable from computer to TNC, check the baud rate on the
  71. TNC, and check to insure that the computer is indeed sending data to the
  72. TNC.
  73.  
  74.     [NOTE: running KISS causes the stored parameters in the TNC, i.e.
  75.      MYCALL, NEWMODE, TXDELAY, etc., to be destroyed.  Every time you
  76.      shift from KISS to TAPR modes you MUST reset the parameters.]
  77.  
  78. This completes the testing and setup of the TNC.
  79.  
  80. Installing and Configuring the Net Software:
  81.  
  82. There are two programs that make up the network software.  They are located
  83. on distribution disk 1 in a directory called /EXE.  The two programs are
  84. NET.EXE (the networking code) and BM.EXE (the mail program).  Copy these 
  85. programs to the place on your hard disk where you keep command programs.  
  86.  
  87. If you are running on a floppy based system I recommend that you create a 
  88. bootable floppy and copy these programs to the floppy.  Test to make sure
  89. that everything is there by executing the programs.  Type the command "net"
  90. and, if the installation of the network code was successful, the message
  91. "KA9Q internet protocol package" and the prompt "net>" will appear on the 
  92. screen.  This means that the network code is running and awaiting commands.
  93. Exit from the net code with the command "exit."  Now run the command "bm."
  94. The screen should display the message "Bdale's Messy-DOS Mailer" and a
  95. prompt.  You can type 'q' to quit.  If all this has occurred, all is well
  96. so far.
  97.  
  98. First step is to configure the mailer (BM).  To make BM work properly you
  99. must create the following directories on your disk:
  100.  
  101.     \spool
  102.     \spool\mail
  103.     \spool\mqueue
  104.  
  105. Copy the file SEQUENCE.SEQ to the \spool\mqueue directory. Copy the files
  106. HOSTS.NET and BM.RC to the root directory of the default drive used when
  107. net is running.  If you are on a floppy based system you need to put BM.RC 
  108. with NET.EXE, BM.EXE, AUTOEXEC.NET, and AUTOEXEC.BAT in the root (\)
  109. directory (more on AUTOEXEC.NET later).
  110.  
  111. You will need to edit the file HOSTS.NET to know about all the systems with
  112. which you will exchange mail.  This is how the mailer will translate the
  113. name into the IP address.  Here is an example of some of the entries I have
  114. in my machine for other local TCP/IP stations:
  115.  
  116.     44.96.0.2    WB2SEF
  117.     44.96.0.16    N8FJB
  118.     44.96.0.17    KA3LYQ
  119.  
  120. All this does is translate the address Mike@WB2SEF into the network address
  121. 44.96.0.2 so that IP can route it to the proper network node.  This saves
  122. you from having to remember lots of numbers.  With the release dated 870526,
  123. the telnet and ftp commands also will use thes symbolic host names.
  124.  
  125. Next edit the file BM.RC.  This file lets the mail system know about local
  126. host name, user name, and the name of "punt to" system.  Here are some
  127. example entries:
  128.  
  129.     host WB6RQN
  130.     user brian
  131.  
  132. The third entry, called gate, is where you specify the name of the system 
  133. to which you "punt" mail.  Should you try to send mail to a host that is
  134. not in your HOSTS.NET file the mailer will route the mail to the system
  135. specified in the gate entry.  This presumes that the gate system is smart
  136. enough to figure out to whom the mail is addressed so that the mail can be
  137. forwarded.  At this time the mailer is not "smart" enough to act as a mail
  138. forwarding node.  This field is only here should you be lucky enough to
  139. have another computer with a smart SMTP mailer.  Any UNIX 4.2 or 4.3 BSD
  140. system has such a mailer.
  141.  
  142. You should also set some of the other fields in the BM.RC file, including
  143. the smtp path (make it \spool\mail), the timezone, and the name of an 
  144. editor to use when you are creating messages.  You can comment out the
  145. editor definition if you want, in which case the mailer will use a simple
  146. text entry routine instead of letting you use your favorite editor to create
  147. the text of each outgoing message.
  148.  
  149. Later on you can read the documents BM.DOC and SMTP.DOC to get more
  150. information.  You at least have enough info to get your mailer running now.
  151.  
  152. Now you need to configure and run net.  Configuring net to run may be
  153. performed manually every time you start up NET.EXE but that gets old pretty
  154. fast.  There are usually many commands that must be typed precisely the
  155. same way every time net is started.  Fortunately Phil thought of this and
  156. provided the AUTOEXEC.NET file.  The intention here is to place all the
  157. commands that you always execute in a file to be read and executed by
  158. NET.EXE whenever you start up.  To this end you will want to edit the file
  159. AUTOEXEC.NET prior to running NET.EXE.  Just use a text editor to enter the
  160. commands into the file AUTOEXEC.NET as you would type them at the "net>"
  161. prompt.
  162.  
  163. When NET.EXE first starts up you need to tell it about many things, i.e what
  164. comm ports you have, what your IP address is, what your host name is, what
  165. other systems you will communicate with, what services you wish to provide,
  166. etc.  Let us start by describing the communications media (comm ports) that
  167. you have.
  168.  
  169. The attach command tells net about your comm ports and in what mode the
  170. ports will operate.  Currently three types of comm hardware are supported:
  171. standard PC async comm adaptors, the HAPN TNC board for the PC, and the
  172. 3Com Ethernet controller.  Each of these devices has its own version of the
  173. attach command.  Here is the attach command for an async adaptor card.  You
  174. would use this to attach your pc to a TNC-2 running the KISS code.
  175.  
  176.     attach asy 0x3f8 4 ax25 ax0 1024 256 4800
  177.  
  178. This means attach an asynchronous adapter whose port address is 3F8 hex
  179. using interrupt line 4 (both standard for com1:), as an ax25 device (KISS
  180. TNC), using a buffer size of 1024 and a maximum transmission unit (the
  181. largest packet you are allowed to send) of 256 bytes, running at 4800
  182. bauds.  The name of this device will be ax0 (until you exit from net).  
  183. This is probably a pretty good place to start.  If you want to also do 
  184. this on com2, making you a dual-port or dual frequency switch, you would
  185. probably add the line:
  186.  
  187.     attach asy 0x2f8 3 ax25 ax1 1024 256 4800
  188.  
  189. If you are instead going to use com2: to connect with another PC using a
  190. hardwired connection (some of us do have multiple PC's) you might want to
  191. use com2: to connect to the other PC.  We would want to use SLIP to do this
  192. so the attach command would be:
  193.  
  194.     attach asy 0x2f8 3 slip sl0 1024 576 4800
  195.  
  196. If you have an HAPN TNC card for your PC you will want to enter the
  197. following attach command:
  198.  
  199.     attach hapn 0x3f8 4 ax25 h0 1024 256 csma
  200.  
  201. This tells net to use an HAPN board with the port address 3F8h and interrupt
  202. request line 4.  The speed of the board is determined by the board so the
  203. software has no control over that function.  The last parameter, listed as
  204. 'csma' in the example, may also take on the value 'full' for full duplex
  205. operation.
  206.  
  207. If you happen to have more than one PC you may wish to connect them using
  208. an Ethernet.  The net software supports the 3Com 3C500 board for the PC.
  209. The command to attach this board is:
  210.  
  211.     attach 3c500 0x300 3 arpa ec0 5 1500
  212.  
  213. This tells net that there is a 3Com 3C500 board at I/O address 300h using
  214. interrupt request line 3 is given the name ec0.  Net should reserve five
  215. buffers and the largest Ethernet packet may be 1500 bytes long.
  216.  
  217. A word about the selection of the value for the maximum transmission unit.
  218. For standard TNC's and radios 256 is probably the largest value you should 
  219. use.  This insures compatibility with the rest of the AX.25 community and
  220. insures that you are legal if you are operating unattended (part 97 of the
  221. FCC regulations specifically mentions the AX.25 protocol in permitting
  222. unattended digital operation above 50 MHz).  The smallest value you may use 
  223. is 64.  Performance improves with larger values IF you can get them to the 
  224. other end without errors.  I suggest you stick with 256 until you can run 
  225. some experiments of your own.  If you have a good transmission path and
  226. all the stations and gateways are attended, feel free to use larger values.
  227. It will result in improved performance (see the discussion of the mss and
  228. window parameters).
  229.  
  230. If you are using a TNC running the KISS code (you probably are if you are
  231. operating amateur packet radio) you will need to set the parameters in the
  232. TNC.  This is accomplished with the kiss command.
  233.  
  234. There are five settable parameters in the kiss code.  They are:
  235.  
  236. 1.  Transmitter keyup delay (TXD).  This is how long the TNC will wait
  237.     after keying the transmitter prior to beginning to send data.  The
  238.     proper value for this parameter is dependent on your configuration.
  239.     This value is in 10's of milliseconds.  Acceptable values range from
  240.     0 (0 ms) to FFh (2,550 ms or 2.55 seconds).
  241.  
  242. 2.  Persistence (p).  This is the probability that the TNC will key your
  243.     transmitter if a slot is found empty (the channel is free).  Acceptable
  244.     values range from 0 (p = 1/255 = 0.4%) to FFh (p = 255/255 = 100%).
  245.     The default value is 40h (25%).  The optimum value is somewhere close
  246.     to 1/n where n is the number of users on the channel.
  247.  
  248. 3.  Slot time (ts).  This is how long that the TNC will wait between samples
  249.     of the channel.  Acceptable values range from 0 (0 ms) to FFh (2,550 ms
  250.     or 2.55 seconds).
  251.  
  252. 4.  Tail timer (tt).  This is how long the TNC will keep the transmitter
  253.     keyed after the last character has been transferred to the HDLC
  254.     controller.  This value must be long enough to permit the last two
  255.     characters, the CRC (two bytes), and the trailing flag to be 
  256.     transmitted.  The default value of 3 (30 ms) is sufficient for speeds
  257.     of 1200 bauds and above.  If you are running at 300 bauds you will
  258.     want to put in a correspondingly larger value.
  259.  
  260. 5.  Full Duplex.  A zero value (the defalult value) means operate the TNC
  261.     in half-duplex CSMA mode (listen before you transmit).  A non-zero
  262.     values means transmit whenever there is data to send.
  263.  
  264. Let us assume that on the channel associated with ax0 that I have a radio 
  265. that requires a transmit keyup delay of 200 ms, I want persistence to be 
  266. 50% (p=0.5), and I want the slot time to be 300 ms.  I would enter the 
  267. following commands:
  268.  
  269.     kiss ax0 1 14
  270.     kiss ax0 2 80
  271.     kiss ax0 3 1e
  272.  
  273. Note that the parameters are always specified as hexidecimal values.  Do 
  274. not make the mistake of typing 100 thinking that you are entering the 
  275. value one hundred.  The command processor only looks at the last two digits
  276. so the result of the mistake would be to enter a value of 00.
  277.  
  278. Now that we have described the media we probably want to tell net who it
  279. is.  Net will need to know its host name, AX.25 link address, and IP 
  280. address.  Here are the commands from my system.  You will substitute your 
  281. own name and addresses.
  282.  
  283.     hostname WB6RQN-PC.dc.ampr.us
  284.     mycall wb6rqn-1
  285.     ipaddr 44.96.00.01
  286.  
  287. The 'mycall' field contains the AX.25 link address just like you normally
  288. use (if you are using this over telephone or Ethernet links, ignore the
  289. discussions about AX.25 -- it is used solely for radio operation).  The 
  290. 'mycall' line MUST come before any attach commands in the autoexec.net file.
  291. The 'ipaddr' field is your network address.  Because network addresses
  292. must be unique I suggest you contact the person in your area responsible 
  293. for keeping track of network addresses.  If there is no one providing that
  294. service I suggest you contact me and I will see to it you are assigned an
  295. address or block of addresses that are compatible with the rest of the
  296. network.  If you do not need to communicate with anyone outside the
  297. confines of your systems, just pick a likely looking value.
  298.  
  299. If you are currently an active digipeater in your area you can also make
  300. your system continue to be a digipeater for those poor souls unlucky
  301. enough to still be running ordinary AX.25.  The command for this is:
  302.  
  303.     digipeat on
  304.  
  305. Now you need to construct the routing table.  This table is used by the IP
  306. to determine how to forward your packets.  Each entry consists of two or
  307. three parts, the IP address of the destination, the link upon which it is
  308. to be forwarded, and the IP address of the next station in line if there
  309. can be more than one IP address on the link (used if the mode is ax25
  310. and not used if the mode is slip).  Here are three sample entries, one for
  311. a station more than one hop away via ax25 to be forwarded by 44.96.0.7, 
  312. one for station one hop away on ax25, and one for a station on the other 
  313. side of a slip link:
  314.  
  315.     route add 44.96.0.5 ax0 44.96.0.7
  316.     route add 44.96.0.2 ax0
  317.     route add 44.96.0.12 sl0
  318.  
  319. The first number following the command 'route add' is the destination IP
  320. address.  The second field, e.g. ax0 or sl0, is the media and must match up
  321. with one of your previous attach commands.  The last field is the next
  322. station in the path if the destination is more than one hop away.  This is
  323. an optional field and only needs to be used if the media is a broadcast
  324. media such as Ethernet or AX.25 and the destination is more than one hop away.
  325.  
  326. There are two other special types of route entries; the default entry and a
  327. cluster entry.  Here is a default entry:
  328.  
  329.     route add default ax0 44.96.0.99
  330.  
  331. This means that if the address does not match any entry in your table,
  332. route the packet to 44.96.0.99 via ax0.  Hopefully the switch at 44.96.0.99
  333. will be able to forward the packet to its destination.  This generally
  334. works well if you are merely an end node (a leaf) in the network and all
  335. your traffic goes to a single gateway.
  336.  
  337. The other option for routing is cluster routing.  It allows you to send
  338. blocks of addresses in a certain direction.  This is useful if all the
  339. users in a given area have some common part to their IP addresses.  Here is
  340. an explanation of cluster routing and addresses in general.
  341.  
  342. The IP address is thirty-two (32) bits long.  It is generally represented
  343. as four 8-bit numbers, with each number being written in decimal form.  For
  344. example, my IP address is 44.96.0.1.  This number can be represented as the
  345. hexadecimal value 2C600001 or 00101100011000000000000000000001 in binary.
  346. We can break this out as follows:
  347.  
  348. decimal           44        96         0         1
  349. hexadecimal       2C        60        00        01
  350. binary         00101100  01100000  00000000  00000001 
  351.  
  352. Normally when you make an entry in the routing table, all bits of the
  353. address are significant, e.g. an exact match is needed for the address to
  354. be recognized.  On the other end there is the default route in which any
  355. address matches.
  356.  
  357. Cluster routing falls somewhere between these two extremes.  Cluster
  358. routing allows you to specify how much of the address is to be considered
  359. valid.  In order to determine how many bits in the address are valid you
  360. enter the address in a special format:
  361.  
  362.       route add 44.96.0.64/26 ax0
  363.  
  364. This means that only the first 26 bits of the address are to be considered
  365. significant.  This is a form of wild card for the address.  Here is that
  366. address in binary to show the mapping:
  367.  
  368.                00101100  01100000  00000000  01??????
  369.  
  370. The question marks in the above address show the least significant six bits
  371. being "wild," or matching any corresponding bits in the address.  Here are
  372. some examples:
  373.  
  374. 44.96.0.67     00101100  01100000  00000000  01000111  (a match)
  375. 44.96.0.89     00101100  01100000  00000000  01011001  (a match)
  376. 44.96.0.01     00101100  01100000  00000000  00000001  (no match)
  377.  
  378. This works because the routing process in the net code will, when 
  379. presented with an address, search for an exactly matching entry.  Failing 
  380. to find that it will then look for an address that matches on the most 
  381. significant 31 bits, then 30 bits, and so on.  If presented with the 
  382. address 44.96.0.67 IP would, after 6 tries, match the address to the 
  383. example given above.
  384.  
  385. By judiciously assigning addresses we can make the address aid us in
  386. routing the packets.  The users within a LAN should have something in
  387. common in the high order part of the address so that we can use a single
  388. entry in the routing table to make things go in the proper direction.  Here
  389. in the Washington DC area all addresses begin with 44.96.0.  This identifies 
  390. this general area and may be used to provide routing to us.  Once the
  391. packet arrives in our general area cluster routing is then used to further
  392. route the packets to the appropriate area.  In DC and the parts of Maryland 
  393. immediately surrounding DC the low order byte ranges from 0 to 63.
  394. Northern Virginia users get numbers in the range of 64 to 127.  The 
  395. Baltimore users get 128 to 191 while the Harrisburg, PA, users get 192 to 
  396. 255.  The idea being that we can use the top two bits in the low order byte 
  397. of the address to identify LANs within the address.  That way the bits in the
  398. high order part of the address will get you into the general area, the next
  399. part of the address will get you to the proper LAN, and the least
  400. significant bits will get you to the proper host or user.
  401.  
  402. Because of errors when people set up their routing tables the use of
  403. default and cluster routing can cause routing loops to occur.  Imagine what
  404. would happen if two stations had their default routing pointing at each
  405. other like this:
  406.  
  407. host 1 (44.96.0.1): route add default ax0 44.96.0.2
  408. host 2 (44.96.0.2); route add default ax0 44.96.0.1
  409.  
  410. In this case a packet that got routed using the default route would bounce
  411. back and forth between the two stations forever.  There is a command that
  412. can prevent this from going on forever: the Time-To-Live (ttl) command.
  413. Every IP packet has a ttl field in it that is decremented by 1 at every hop
  414. and decremented by 1 for every second it is in the network.  Normally net
  415. sets the ttl field to 255.  If you know that no host is more than 5 hops
  416. away you might issue the following command:
  417.  
  418.     ttl 5
  419.  
  420. This means that all packets from your host/station are sent with ttl set to
  421. an initial value of 5.  These packets will now be discarded if they haven't
  422. reached their destination after 5 hops.  This limits the traffic in the
  423. network should somebody inadvertantly create a routing loop.
  424.  
  425. The next information we want to include is some information used by TCP to
  426. determine how much data it can send at one time and how much data may be
  427. outstanding before it stops to wait for an ack from the other end.  Here
  428. are the example values:
  429.  
  430.     mss 216
  431.     window 1080
  432.  
  433. The parameter mss stands for maximum segment size and represents the
  434. largest single transmission that TCP will send.  The 'window' parameter is
  435. how many bytes may be outstanding at any one time before you wait for an
  436. ack.  If you have a pretty good link you can increase the value of window.
  437. If window is larger than mss TCP will run as a sliding window protocol.
  438. Since TCP uses selective reject (resend ONLY those segments that were
  439. damaged or lost) this is not a very expensive proposition.  
  440.  
  441. The net program now compares the mss and mtu values given in the attach
  442. command for the media being used.  Since TCP and IP each have a 20 byte
  443. header (a total of 40 bytes), an mss of 216 corresponds to an mtu of 256.
  444. If you are using mixed mtu's, set the mss to correspond to the largest mtu
  445. you are using and let net adjust the mss downward for the media that are
  446. using smaller values for mtu.  In any case window should always be a
  447. multiple of mss to prevent the transmission of "shortie" packets every once
  448. in a while.
  449.  
  450. If you are running on a radio channel at 1200 bauds remember that a
  451. 1024 byte transmission will take seven seconds, a time that can make you
  452. unpopular if you have to share the frequency with AX.25 TNC's that can not
  453. adapt to the high channel utilization.  In those cases it is probably
  454. better to reduce window and/or mss values.  Remember that efficiency
  455. suffers very quickly as you reduce the value of mss though.
  456.  
  457. The mss and window values are somewhat interesting.  They are the ones 
  458. that your TCP will ask the OTHER station to use.  When the session is
  459. initially set up the two TCPs will exchange mss and window values.  This
  460. permits stations to automatically adjust to the capabilities of the other
  461. station.  For this reason try to get your friends to all use the same
  462. values.
  463.  
  464. The last items are what services you will provide.  You must start the
  465. services or others won't be able to make use of your system for mail or
  466. file transfers.  You will simply be a switch for other users (in fact, 
  467. for a switch on a hill that may be just what you want).  You will still be
  468. able to initiate file transfers or telnet sessions but no one will be able
  469. to initiate one with you.  Should you forget to start the servers anyone
  470. trying to access those services on your maching will just receive a "Closed,
  471. (reset)" message for their trouble.  For the sake of consistancy you 
  472. will probably want to start the following services:
  473.  
  474.     start telnet
  475.     start ftp
  476.     start smtp
  477.     start echo
  478.     start discard
  479.  
  480. Telnet is the keyboard-to-keyboard "talk" mode, ftp is the file transfer
  481. protocol, smtp is the mail system (simple mail transfer protocol), and echo
  482. is the echo server (it just sends back any packets it receives -- good for
  483. finding out if a switch is out there and running).  The discard server
  484. simply throws away anything it receives (write only memory, no?).  It is
  485. used primarily for testing TCP and IP and you do not want a whole lot of
  486. information cluttering up the receive queues.
  487.  
  488. Running the network:
  489.  
  490. The first step toward getting on the air is to load the KISS code into your
  491. TNC if you are using the EPROM with the bootloader (this step is not
  492. required if you have the 2764 EPROM with the KISS code already in it).  You 
  493. do this by having the PC copy the file kisstnc2.hex to the port to which 
  494. the TNC is connected.  I do this by setting the parameters for the comm 
  495. port with the mode command then using the copy command to send the hex code 
  496. to the TNC.  I do this inside my autoexec.bat file like this;
  497.  
  498.     mode com1:4800
  499.     copy kisstnc2.hex com1:
  500.  
  501. Now start the networking program running by issuing the command "net."  You
  502. should be rewarded by having the "net>" prompt appear on your screen.
  503.  
  504. At this point you are up and running.  I suggest that you start by doing a
  505. telnet with someone else who is up and running.  If your friend's IP
  506. address is 44.96.0.5 then just do the following:
  507.  
  508.     telnet 44.96.0.5
  509.  
  510. If it tells you "established" you are on the air and running TCP/IP!  There
  511. are many things you can do and adjust so I suggest that you read the rest
  512. of the documentation.  Have fun and happy networking!
  513.