home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / network / wnos4doc.zip / WNOS4DOC.EXE / WNOS4MAN.TXT < prev    next >
Text File  |  1992-05-30  |  43KB  |  1,106 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.                    DB3FL WAMPES NOS (WNOS) Version 4 Manual
  12.  
  13.  
  14.                               Mike Chace (G6DHU)
  15.  
  16.          Based on the original German document by Mike Bentrup DB3FL
  17.  
  18.                        Document Version 1.0 (May 1992)
  19.  
  20.                            Program Version WNOS4a6
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27. 1.  Introduction
  28.  
  29. WNOS is a version of NOS (the Network Operating System) based on earlier
  30. work  by  Phil  Karn (KA9Q), Kelvin Hill (G1EMM), Gerard van der Grinten
  31. (PA0GRI), Anders  Klemets  (SM0RGV),  Peter  Glasmacher's  (DK5DC)  GNOS
  32. program and WAMPES from Dieter Deyke (DK5SG).
  33.  
  34. Special Features of WNOS include;
  35.  
  36.      More friendly User Interface
  37.  
  38.      New AX.25 Server (from WAMPES)
  39.  
  40.      Convers Server (from WAMPES)
  41.  
  42.      Real time data compression on SMTP, NNTP and Convers interlinks
  43.  
  44.      Automatic route saving for IP, ARP, NET/ROM and AX.25
  45.  
  46.      Dynamic timers based on link layer traffic conditions
  47.  
  48. This manual is not really designed to provide beginners with an  overall
  49. grounding  in the use of the NOS software. More importantly, it provides
  50. a guide for users familiar with TCP/IP use in other NOS variants, as  to
  51. how  to  use  WNOS  as  well  as  explaining  the new principles in this
  52. software. Installation programs and so on are not provided, but all  the
  53. information on directory structure and configuration is provided herein.
  54.  
  55. Beginners  should  be  able  to  find  plenty  of  other  tutorials  and
  56. information  about  TCP/IP and NOS in general from other sources, should
  57. they wish to know the "basics".
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.                                                                         
  65.  
  66.  
  67.  
  68.                                                                         
  69.  
  70.  
  71. 2.  WNOS
  72.  
  73.  
  74. 2.1.  About This Manual
  75.  
  76. This is the first attempt at a  reasonably  complete  manual  for  WNOS.
  77. Don't  be  surprised  if  some  bits are missing or don't quite follow a
  78. logical sequence. Thanks to Thomas (DG8FBV) for proof reading the German
  79. original drafts and providing feedback.
  80.  
  81. This manual tackles a number  of  different  areas  of  WNOS  and  first
  82. provides  an  overview  of  the  hardware  required  and  of the startup
  83. procedures used to run WNOS. Following this  is  a  description  of  the
  84. display  features  and of the file and directory structure required. The
  85. main body deals with a detailed description  of  each  of  the  commands
  86. supported  by  WNOS.  Note  that  some  commands and options will not be
  87. available since they depend on which features have  been  compiled  into
  88. the distributed executable program (WNOS.EXE). A summary of the commands
  89. available in any given program may be displayed by the "?" command.
  90.  
  91. The final sections deal  with  short  cuts,  an  overview  of  the  most
  92. important  RFCs (Request For Comments), the Internet Protocol definition
  93. documents.
  94.  
  95. At this point I'd like to  thank  all  those  involved  with  tests  and
  96. trials,  bug  fixing and bug hunting! Special thanks go to Peter (DK5DC)
  97. who provided code from his GNOS system. Thanks also  to  Dieter  (DK5SG)
  98. for  permission  to  use  parts  of  the WAMPES software. Also to Thomas
  99. (DG8FBV) and Heinz (DL8YQ) who tested many versions to  destruction  and
  100. became  "professional  testers"  to  the extent that the key combination
  101. CTRL-ALT-DEL became an everyday part of life!
  102.  
  103. UK Note from G6DHU: Thanks to all those who beta test my UK  version  of
  104. WNOS;  G1ERT,  G6PWY, G4OTJ, G4BIO and all those who use the software in
  105. this country.
  106.  
  107. Suggestions for improvement, problems and  bug  reports  are  of  course
  108. always welcome.
  109.  
  110.  
  111. 2.2.  About WNOS
  112.  
  113. WNOS is an extension of, and improvement upon the  foundations  laid  by
  114. Phil  Karn  in  his original version of NOS. The "W" in the program name
  115. stands for WAMPES. This doesn't mean that all of the  WAMPES  system  is
  116. implemented  in  WNOS,  just  the  AX.25  Autorouter, Convers server and
  117. client and other smaller features.  This  involved  a  lot  of  work  in
  118. porting  WAMPES code from its Unix environment to DOS. Also, the move to
  119. a different style of C compiler brought its own problems. In  any  case,
  120. WNOS  Version  4  is now rid of most of the bugs and problems present in
  121. earlier versions.
  122.  
  123. WNOS being mainly German in  origin,  is  designed  foremost  with  that
  124. Packet  Radio environment in mind where auto routing of AX.25, crossband
  125. digipeaters and Hop-to-Hop acknowledgement are all daily facts of Packet
  126. Radio life.
  127.  
  128.  
  129.                                                                         
  130.  
  131.  
  132.  
  133.                                                                         
  134.  
  135.  
  136. 2.3.  WNOS In Comparison
  137.  
  138. The command syntax of WNOS (and NOS)  owe  much  to  that  of  the  Unix
  139. operating system. For instance, directories are delimited by "/" instead
  140. of the DOS "\". Not all WNOS  functions  make  the  conversion  of  file
  141. syntax  from  Unix  to  DOS-style and so the Unix approach is more often
  142. than not, the correct one in WNOS commands.
  143.  
  144. At a first glance, WNOS bears little relation in its look  and  feel  to
  145. that of the original NOS. The reasons are twofold. Firstly, WNOS removed
  146. NOS's more irritating features, and secondly, the user interface in  NOS
  147. is   very  primitive  for  today's  machines.  A  continual  process  of
  148. improvement over some two years has made WNOS what it is today.
  149.  
  150.  
  151. 2.4.  Features
  152.  
  153. The AX.25 server automatically drives the ARP and IP routing tables.  In
  154. this  way,  incoming  IP  traffic  can  be  sent to other hosts with the
  155. minimum of operator intervention. IP traffic from NET/ROM routes is also
  156. now  dealt  with  in  the same way thereby removing one of the remaining
  157. inconveniences.  Lastly, AX.25 routes, the ARP and IP routing tables and
  158. the NET/ROM routes are all saved to disk at periodic intervals.
  159.  
  160. Interface parameters have also been made more flexible and extended thus
  161. allowing  settings  such  as  Paclen  and  the  AX.25 timer values to be
  162. specified  separately  for  each  configured  interface.  In  this  way,
  163. interfaces using high speed links can be optimized for performance.
  164.  
  165. The user interface of WNOS has also been improved over time. WNOS3 began
  166. by  providing a single status line at the top of the screen with summary
  167. details about each active session. For WNOS4, two status lines  are  now
  168. displayed one of which includes a permanent monitor on the level of free
  169. memory "coreleft" available. This  gives  useful  warning  of  when  the
  170. program is running short on working memory.
  171.  
  172. When hopping into a session,  one  finds  that  the  upper  status  line
  173. displays  the important parameters for that link. Through this, one gets
  174. a  quick  and  simple  summary  of  the   progress   of   the   session.
  175. Unfortunately,  due  to  the 25 line limit of most displays, any further
  176. extension of this user interface is now likely to prove difficult.
  177.  
  178. The new features different from WNOS3;
  179.  
  180.      LZW Data Compression is now extended to NNTP and Convers.
  181.  
  182.      The Domain  Name  Server  and  Client  code  has  been  extensively
  183.      modified;  a  configurable  size domain cache has been built in and
  184.      the domain name translation function reinstated.
  185.  
  186.      The NNTP  Server  and  Client  code  has  been  optimised  and  its
  187.      functionality extended.
  188.  
  189.      The POP code has also been modified and reorganized.
  190.  
  191.  
  192.  
  193.  
  194.                                                                         
  195.  
  196.  
  197.  
  198.                                                                         
  199.  
  200.  
  201.      The trace functions have been  reworked  for  greater  speed,  less
  202.      wastage without compromize on functionality.
  203.  
  204.  
  205. 2.5.  Protocol Timers
  206.  
  207. Particular attention  has  been   paid  to  the  TCP  timers  in  WNOS4.
  208. Especially  in  the cases where fast links (eg Ethernet) meet slow AX.25
  209. links, attention has to be paid to synchronisation during the change  in
  210. link  speed. TCP frames are often carried upon AX.25 but the AX.25 layer
  211. acknowledgements have little effect upon the TCP layer. WNOS attempts to
  212. rectify this situation by deriving TCP layer timer values from knowledge
  213. about the AX.25 link layer.
  214.  
  215. In datagram mode (AX.25 UI frames), nothing needs to be done, since  all
  216. timing  is  handled  by  the TCP layer. If however, either AX.25 virtual
  217. circuits or IPCAM modes are used at the link layer, TCP timer values are
  218. multiplied   by   a   factor  of  10  to  allow  for  the  usually  slow
  219. acknowledgement and forwarding of frames on  the  link  layer.  After  a
  220. maximum  wait  of  300  seconds,  unacknowledged TCP segments are resent
  221. irrespective of the link layer conditions. This  ensures  that  the  TCP
  222. layer  is  not  controlled  too  stringently  by  the  underlying  AX.25
  223. connection. In practice, this timing method results in an overhead of  a
  224. little under 5%.
  225.  
  226. If data arrives so quickly on the fast link, that it cannot be forwarded
  227. onto  the  slow  link, the sending host on the fast link is sent an ICMP
  228. control message (Source Quench). This then allows the slow link to catch
  229. up  in  sending  the  data on to its intended destination. WNOS monitors
  230. this sort of condition continuously in order to minimise  the  overheads
  231. in forwarding traffic.
  232.  
  233.  
  234. 2.6.  Internals
  235.  
  236. In contrast to NET (the forerunner of NOS), the core of the program runs
  237. in  a  quasi-multitasking  environment.  Each  main action runs within a
  238. small piece of code known as a  process  (A  summary  of  the  currently
  239. active  processes  may  be  displayed  by  the  "ps"  - (Process Status)
  240. command). This environment allows NOS to be much more powerful than  its
  241. predecessor  which  had  to finish each task before another could begin.
  242. One mustn't forget that just because the sysop isn't typing anything  at
  243. the  console,  the  program isn't just idly waiting. It is busy updating
  244. timers, coordinating tasks, updating the display,  handling  interrupts,
  245. monitoring all frames on the channel etc etc.
  246.  
  247. Since even this approach leads to problems  on  today's  fast  machines,
  248. attempts  were  made  to  streamline and optimise the program code. This
  249. involved rework of many files, removal of redundant code and so on. This
  250. rework also allowed the trace process to run in a separate window all of
  251. it's own. All of this  work  allowed  the  overall  performance  of  the
  252. program  to  be  increased  considerably  as  well as providing a stable
  253. NET/ROM implementation and a net reduction in the size of the executable
  254. by 10 kilobytes.
  255.  
  256.  
  257.  
  258.  
  259.                                                                         
  260.  
  261.  
  262.  
  263.                                                                         
  264.  
  265.  
  266. Parallel to this work, went a  complete  reorganisation  of  the  memory
  267. management  routines.  Borland compiler library routines were used which
  268. allow unused memory to reallocated for use by DOS as  and  when  it  was
  269. needed. These library routines first appeared in Borland C++ 1.01 and so
  270. the program will not run if compiled with Turbo C 2.00.
  271.  
  272. Despite all of these improvements a word of advice: I  (Michael  Bentrup
  273. DB3FL) make no guarantees and take no responsibilty for, any damage that
  274. WNOS may cause on other systems. Whether intentional or unintentional.
  275.  
  276.  
  277. 3.  Using WNOS
  278.  
  279.  
  280. 3.1.  Hardware Requirements
  281.  
  282. WNOS can run under the MS-DOS or DR-DOS PC  operating  systems.  It  has
  283. been  tested with MS-DOS from versions 3.31 to 5.0 and DR-DOS versions 5
  284. and 6.  Under MS-DOS 3.31 there are some  problems  with  Terminate  and
  285. Stay  Resident  (TSR)  programs  and especially with PC-CACHE version 5.
  286. With PC-CACHE version 6 there  were  no  longer  any  problems  even  if
  287. operating  under  MS-DOS  version  3.31.  All versions of DR-DOS have an
  288. internal problem that means that the File Pointers shown by  the  "stat"
  289. command are not properly displayed. This seems to be a DR-DOS bug.
  290.  
  291. Disk compression programs such as Stacker  and  DR-DOS's  SuperStor  may
  292. also  be  used  without any problem. Memory managers such as QEMM386.SYS
  293. and EMM386.SYS also work well with WNOS but there is  one  known  slight
  294. problem  in  that  if  the  program  is "exit"ed with outstanding Telnet
  295. connections, some memory corruption may occur. This may  cause  QEMM  to
  296. terminate  with  an  error.  In this case, it is necessary to reboot the
  297. machine from cold so that the ports are properly reset. This is  due  to
  298. WNOS  needing  a well defined port setting before startup and would fail
  299. to attach drivers to ports if a reboot was not carried out.
  300.  
  301. WNOS has been developed on the following hardware configuration;  386sx,
  302. 20MHz  clock,  2Mb  RAM.  Either  MSDOS5  with  Stacker  or  DRDOS6 with
  303. SuperStor was used as the Operating System software. In  both  of  these
  304. configurations,   the   following   resident  software  was  also  used;
  305. QEMM386.SYS,  DOSKEY,  and  K3  (a  keyboard  driver).  QEMM386.SYS  was
  306. configured  with  OPTIMIZE and the "STACKS=0,0" command removed from the
  307. CONFIG.SYS file. With no programs loaded, about 630k of memory was  free
  308. for  DOS.  Later development used much the same configuration but with a
  309. 386dx, 40MHz machine with 8Mb of RAM.
  310.  
  311. Depending on the options configured in the  executable,  WNOS  needs  at
  312. least  500k  of  free memory and a hard disk is recommended. WNOS can be
  313. run using floppy disks as long as the machine  itself  is  fast  enough.
  314. G6DHU  has  no  problems  running a full version of WNOS4 on a 386 16MHz
  315. laptop using just the 1.44Mb floppy as filestore.  The  machine  running
  316. WNOS  is  recommended  to  be  at  least  a  10Mhz 286. Slower machines,
  317. particularly those with floppy drives only, will experience problems  in
  318. busy  environments  when  long  disk  accesses are required. XT machines
  319. equipped with V20 or V30 processors and at least an  8MHz  clock  should
  320. also be able to run WNOS.
  321.  
  322.  
  323.  
  324.                                                                         
  325.  
  326.  
  327.  
  328.                                                                         
  329.  
  330.  
  331. Display output is in  text  mode  only  with  the  extended  IBM  ASCIIZ
  332. character  set  supported.  Even Hercules mono cards should be OK. Under
  333. EGA/VGA display adapters it is possible to switch in a 43/50 line mode.
  334.  
  335.  
  336. 3.2.  WNOS Command Line Options
  337.  
  338. WNOS accepts command line parameters (options) at startup from  the  DOS
  339. prompt.   Each parameter is identified by a hyphen "-" and a letter. The
  340. value for that parameter should then follow, with no spaces in  between.
  341. The options are;
  342.  
  343.      -e = WNOS switches into EGA/VGA 43/50 line mode at startup.
  344.           At program exit, the original display mode is reset.
  345.           In "shelling out" from WNOS, no check is made on the
  346.           display mode to use or reset it on exit back to WNOS.
  347.  
  348.      -b = Instructs WNOS to use BIOS routines to do display
  349.           output rather than the default, which is to write
  350.           directly to display registers. This option is often
  351.           useful when running under some multitaskers.
  352.  
  353.      -s = Sets the maximum number of sockets that WNOS can
  354.           simultaneously have open. With all servers started,
  355.           10 sockets will be active. The default is 40 sockets
  356.           which should be sufficent in most cases.
  357.  
  358.      -d = Allows the WNOS file system to reside in a sub-
  359.           directory off the root of the current disk. You are
  360.           not allowed to specify a disk name in this option
  361.           (eg F:).
  362.  
  363. A typical startup call to WNOS might be
  364.  
  365.       C:\> wnos -e -d/tcpip /startup/autoexec.wn4
  366.  
  367. This command line instructs WNOS to look for  its  file  system  in  the
  368. directory  C:\TCPIP,  use  43/50  line  display mode and use the startup
  369. configuration file C:\STARTUP\AUTOEXEC.WN4. If no  startup  filename  is
  370. given  on  the command line, WNOS will look for the file AUTOEXEC.NOS in
  371. the directory specified by the -d option or in the root if the -d option
  372. is  not given. If no startup file can be found, an error message will be
  373. given at program startup.
  374.  
  375. When WNOS is used for the first time, the routing save  files  will  not
  376. yet  exist  and  the  error messages resulting from this may be ignored.
  377. After a period of operation, these files will be  written  to  disk  and
  378. read in again at the next startup.
  379.  
  380.  
  381. 3.3.  Operation At Startup
  382.  
  383. After startup, WNOS waits in command mode in the Command session window.
  384. Input,  followed  by  a carriage Return, is taken to be a command and is
  385. thus executed. Each line of input is saved in  a  buffer  which  can  be
  386. perused  using the Cursor keys. If at the program prompt, a CR is typed,
  387.  
  388.  
  389.                                                                         
  390.  
  391.  
  392.  
  393.                                                                         
  394.  
  395.  
  396. and nothing else, the program does nothing, not even  a  new  prompt  is
  397. given.  This  line  oriented  input  mode  is  sometimes  replaced  by a
  398. character input mode. This is particularly so when logging into a remote
  399. machine  where  a password must be typed. In this mode, input typed will
  400. not be echoed to the screen. If the "---more---" prompt appears  on  the
  401. screen,  then  character  based  input  is  also in operation. CR is not
  402. needed after something is typed, as it will be read immediately. Hitting
  403. the  Space  bar  normally  scrolls down the screen when the "---more---"
  404. prompt is displayed.
  405.  
  406.  
  407. 4.  The Windows
  408.  
  409.  
  410. 4.1.  Window Selection
  411.  
  412. To switch between sessions, or from a session into the Command or  Trace
  413. windows, the Escape or Function keys are used. This provides for quicker
  414. and easier movement between each window. Peformance issues  necessitated
  415. the  separation  of  the  Trace  and Command windows but the most useful
  416. advantage gained, is that trace output no longer interrupts the  command
  417. window.
  418.  
  419. The input buffer in each session remembers the last 10 commands or lines
  420. of text typed in.
  421.  
  422. The following keys are used for session switching;
  423.  
  424.      F1 to F8      - Switch between sessions
  425.  
  426.      F9 or ALT-F10 - Switch to trace window, or toggle between
  427.                      the Trace window and the last selected session.
  428.  
  429.      F10 and ESC   - Switch to Command window.
  430.  
  431.  
  432. 4.2.  Editing Options
  433.  
  434. Partially typed commands/input text may be edited  using  the  following
  435. keys;
  436.  
  437.      Cursor Up   - Move backwards through command history
  438.  
  439.      Cursor Down - Move forwards through command history
  440.  
  441.      Control-B   - Recall last input line/command. Fills the
  442.                    current line with the end of the last line
  443.                    if it is longer.
  444.  
  445.      Control-W   - Delete last word in current line
  446.  
  447.      Control-U   - Delete the whole current line.
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.                                                                         
  455.  
  456.  
  457.  
  458.                                                                         
  459.  
  460.  
  461. 4.3.  Window Structure
  462.  
  463. After startup, the two status lines remain at the top of the  screen  in
  464. all windows. The lines may be configured for use in colour or monochrome
  465. displays via the "attribute" command.
  466.  
  467. The status lines in Command and Trace windows;
  468.  
  469. WNOS4 | Coreleft 50000 | Command |                    | | 17:43
  470. 1:DB0DA  2:R:44.131.20.3  3:U:DB0GV-2  4:Chat  5:LocBBS
  471.  
  472. The fields are as  follows;
  473.  
  474. WNOS4          - The Program Version
  475.  
  476. Coreleft 50000 - Free Memory Available
  477.  
  478. Command        - This is the Command window. "Trace" in that window.
  479.  
  480. "R"/"U"        - Record or Upload mode
  481.  
  482. 17:43          - The time.
  483.  
  484. The lower line displays the summary status of each session.
  485.  
  486. 1:DB0DA         - Outgoing AX.25 connect to DB0DA
  487.  
  488. 2:R:44.131.20.3 - Incoming telnet seesion, Record mode in operation.
  489.  
  490. 3:U:DB0GV-2     - Outgoing NET/ROM connection to DB0GV-2,
  491.                   in upload mode.
  492.  
  493. 4:Chat          - Chat session from the mailbox to the console.
  494.  
  495. 5:LocBBS        - Connection to internal mailbox.
  496.  
  497. The current session is marked in colour on the lower status line  and  a
  498. session  with incoming data still to be read is shown in another colour.
  499. On mono systems, the status line entry flashes when new data arrives.
  500.  
  501. In the UK version of WNOS4, there  is  an  additional  field  after  the
  502. "Command" or "Trace" icon, which shows either "Attended" or "Unattended"
  503. according  to  the  setting  of  the  "attended"  command.  Should   the
  504. "Coreleft"  value  drop  to a level defined by the "mem thresh" command,
  505. the upper status will blink  and  "WNOS4"  is  replaced  by  "PANIC"  to
  506. indicate impending doom!
  507.  
  508. On switching into a session, the upper status line changes character  to
  509. display  information  about that session. The "coreleft" icon is removed
  510. too.  The top session line shows infomation as follows  (Right  to  Left
  511. across the line)...
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.                                                                         
  520.  
  521.  
  522.  
  523.                                                                         
  524.  
  525.  
  526. 4.3.1.  AX.25 Sessions
  527.  
  528. Retries = Retry Counter
  529. Unack   = Unacknowledged frames
  530. T1      = AX.25 T1 timer value
  531. RNR     = If an RNR frame has been received
  532. "R"/"U" = Record or Upload Mode active
  533.  
  534.  
  535. 4.3.2.  NET/ROM Level 4 Sessions
  536.  
  537. Retries = Retry (Level 4) Counter
  538. Unack   = Unacknowledged (Level 4) frames
  539. T1      = Round Trip Timer value
  540. CHK     = If a Level 4 "choke" frame has been received
  541. "R"/"U" = Record or Upload Mode active
  542.  
  543.  
  544. 4.3.3.  FTP-DATA Sessions
  545.  
  546. Rx      = Received Bytes
  547. Tx      = Transmitted Bytes
  548. RTT     = Round Trip Time
  549.  
  550.  
  551. 4.3.4.  TCP Sessions (FTP Command, Telnet, TTYLink etc)
  552.  
  553. Backoff = TCP "retry" status
  554. TxQ     = Unacknowledged Bytes in send queue
  555. RTT     = Round Trip Time
  556. "R"/"U" = Record or Upload Mode active
  557.  
  558. Most windows operate in pseudo-split screen mode.  The  bottom  line  is
  559. used  for text input and editing, while the upper portion shows incoming
  560. and  outgoing  data.   Incoming   data   is   shown   in   a   different
  561. colour/intensity from that sent.
  562.  
  563.  
  564. 5.  Files and Directories
  565.  
  566.  
  567. 5.1.  Files
  568.  
  569. The WNOS configuration files are  listed  below  in  alphabetical  order
  570. together  with  the  pathname.  These  paths  are relative to the option
  571. specified in the "-d" command line startup option. For example,  if  the
  572. current  drive  is  C:   and  no -d option is given, the "alias" file is
  573. expected to be C:\ALIAS.  If the startup option is "-d/tcpip", the  file
  574. is expected to be C:\TCPIP\ALIAS.
  575.  
  576. Abbreviations below are;
  577.  
  578. F = File
  579. D = Directory
  580. B = Binary File
  581. A = ASCII (text) file
  582.  
  583.  
  584.                                                                         
  585.  
  586.  
  587.  
  588.                                                                         
  589.  
  590.  
  591. /alias                   F/A - Mail Alias file
  592. /autoexec.nos            F/A - WNOS Startup file
  593. /arproute.dat            F/B - ARP statements (*)
  594. /axroute.dat             F/B - AX.25 Routes (*)
  595. /convers.cfg             F/A - Convers Cluster Autoconnect file
  596. /domain.txt              F/A - Domain file
  597. /finger/                 D   - Finger information directory
  598. /ftpusers                F/A - FTP and Mailbox user Permissions
  599. /iproute.dat             F/B - IP Routes (autosaved) (*)
  600. /nos.rc                  F/A - FTP Auto Login data
  601. /nrroute.dat             F/A - NET/ROM Saved routes (*)
  602. /popusers                F/A - POP user and password file
  603. /spool/                  D   - Mail and News root directory
  604.      /areas              F/A - List of mail areas to forward
  605.      /forward.bbs        F/A - Mail forwarding instructions
  606.      /help/              D   - Mailbox Help file directory
  607.      /history            F/A - Bulletin ID (BID) history file (*)
  608.      /mail/              D   - User Mail files (eg g6dhu.txt)
  609.      /mail.log           F/A - Mail In/Out logfile (*)
  610.      /mqueue/            D   - Outgoing Mail Queue
  611.      /news/              D   - NNTP (News) root directory
  612.      /news/active        F/A - List of active Newsgroups (*)
  613.      /news/history       F/A - NNTP Message ID history file (*)
  614.      /news/help          F/A - NNTP Server Help File
  615.      /news/junk          D   - Newsgroups for junking
  616.      /news/pointer       F/A - Pointers to news storage directories (*)
  617.      /news/poll          F/A - NNTP poll file (*)
  618.      /news/x/news.rc     F/A - Last read news for each newsgroup (*)
  619.      /news/xinfo         F/A - NNTP XINFO (site information) file
  620.      /node.log           F/A - Mailbox activity log file (*)
  621.      /rewrite            F/A - Mail Address Rewrite file
  622.      /rqueue/            D   - Mail Router Queue
  623.      /signatur/          D   - Mail 'signature' directory
  624.  
  625.  
  626. (*) indicates file is automatically created by WNOS
  627.  
  628. Files such as autoexec.nos etc may use the hash  "#"  character  in  the
  629. first  column of the line to denote a comment. Command parameters can be
  630. separated with TAB or SPACE characters. In  the  domain.txt  file,  TABS
  631. should be used to separate fields.
  632.  
  633.  
  634. 5.2.  Directory Structure
  635.  
  636. WNOS needs a defined directory structure in which to operate. This is;
  637.  
  638.      /FINGER
  639.      /PUBLIC
  640.      /SPOOL
  641.      /SPOOL/HELP
  642.      /SPOOL/MAIL
  643.      /SPOOL/MQUEUE
  644.      /SPOOL/NEWS
  645.      /SPOOL/NEWS/JUNK
  646.      /SPOOL/RQUEUE
  647.  
  648.  
  649.                                                                         
  650.  
  651.  
  652.  
  653.                                                                         
  654.  
  655.  
  656.      /SPOOL/SIGNATUR
  657.  
  658. If the  "-d"  command  line  option  is  used  at  startup,  then  these
  659. directories must exist as subdirectories from the directory(s) specified
  660. in  that  option.   For  example,  if  "-d/tcpip"  is  used,  then   the
  661. directories must be /TCPIP/FINGER and so on.
  662.  
  663. Some files are created automatically by WNOS when running and  as  such,
  664. the  first  startup  will  produce  some  error  messages in the command
  665. window. It is recommended that WNOS be left  to  run  for  at  least  20
  666. minutes so that these files can be created and organised properly.
  667.  
  668. The files above (not marked with a (*)) must be manually copied into the
  669. directories indicated.
  670.  
  671.  
  672. 6.  Using WNOS
  673.  
  674. Here follows a short description as to how the sysop uses WNOS to  start
  675. and use sessions and how a typical mailbox session could look.
  676.  
  677.  
  678. 6.1.  The Sysop's View
  679.  
  680. After all the indicated directories have  been  created  and  the  other
  681. files  copied  to their proper places, the program can be started. First
  682. come the copyright messages and then  the  command  prompt.  The  prompt
  683. format  is  dependant  upon  the  setting  of the "hostname" command. If
  684. "autoexec.nos" specified "hostname g6dhu.ampr.org", the  prompt  appears
  685. like
  686.  
  687. g6dhu.ampr.org>
  688.  
  689. If no hostname is supplied
  690.  
  691. net>
  692.  
  693. will appear. In either case, WNOS is signalling  that  it  is  ready  to
  694. accept  commands.  A  few seconds later, the status lines will appear at
  695. the top of the screen and then probably a  few  error  messages  due  to
  696. failure  of  the  program  in finding the autorouter save files. This is
  697. normal for the  first startup.
  698.  
  699. Sessions can then be accepted and started. We assume that, for the  sake
  700. of  example,  we have an AX.25 type 2m interface called "144" available.
  701. So, to start a connection to DB0DA, we would type
  702.  
  703. g6dhu.ampr.org> c 144 db0da
  704.  
  705. If DB0DA is not within direct range, digipeaters can be specified  after
  706. the destination callsign WITHOUT the word "via" needed. For example
  707.  
  708. g6dhu.ampr.org> c 144 db0da db0lj db0zdf
  709.  
  710.  
  711.  
  712.  
  713.  
  714.                                                                         
  715.  
  716.  
  717.  
  718.                                                                         
  719.  
  720.  
  721. would connect to DB0DA using the DB0LJ  and  DB0ZDF  digipeaters.  After
  722. pressing  the  return key, the display changes to the AX.25 type session
  723. window with the appropriate status lines. The first line in  the  window
  724. will show....
  725.  
  726. Trying DB0DA on 144...
  727.  
  728. Once the session is connected, the message "AX.25 session 1 connected to
  729. DB0DA"  will  appear.  Commands and/or text can then be typed.  Pressing
  730. Return moves the outgoing text to the top of the screen from the  bottom
  731. 'input'  line and the packet is then sent. The top status line will then
  732. show how the session progresses. Incoming text is shown in  a  different
  733. colour or in intensified text to that of outgoing text.
  734.  
  735. Pressing the ESC key will move  back  to  the  Command  window  and  the
  736. session  continues  to operate without further intervention and any data
  737. waiting to be sent, will be. If  new  data  arrives  in  a  session  not
  738. currently  selected,  the  lower  status line icon for that session will
  739. flash and will continue to do so until that session is selected.
  740.  
  741. Before a TCP session can be started, we must have an IP and an ARP route
  742. for  the  destination. The IP route is used to determine which interface
  743. the given host is reached over and, if necessary, the address of a  host
  744. which will forward our packets to the destination. Therefore, it doesn't
  745. matter which type of protocol is used to transport the TCP/IP  from  one
  746. host  to  another. In our example, we only have an AX.25 type interface.
  747. This means that we must use  ARP  to  tell  WNOS  which  AX.25  callsign
  748. corresponds  to  the  IP address of the host we wish to reach. Let's say
  749. that we wish to reach  the  host  dg8fbv.ampr.org  and  his  station  is
  750. directly  reachable  over  AX.25 interface 144 and his AX.25 callsign is
  751. DG8FBV-5. First add the IP route
  752.  
  753. g6dhu.ampr.org> route add dg8fbv 144
  754.  
  755. and then the ARP route
  756.  
  757. g6dhu.ampr.org> arp add dg8fbv ax25 dg8fbv-5
  758.  
  759. Note that Hostnames ARE  NOT  callsigns  and  vice  versa.  However,  in
  760. AMPRNET hostnames are often correspond directly to callsigns.  The point
  761. is that in the above statements, in both cases, "dg8fbv" is  a  hostname
  762. which  gets  looked up to see what it's IP address is (in the domain.txt
  763. file). So, "dg8fbv" is really a mnemonic by which  to  remember  his  IP
  764. address. We could just have easily had typed
  765.  
  766. g6dhu.ampr.org> route add 44.130.20.3 144
  767. g6dhu.ampr.org> arp   add 44.130.20.3 ax25 dg8fbv-5
  768.  
  769. instead. The domain file takes away the drudgery of having  to  remember
  770. IP  addresses! the string "dg8fbv-5" is of course a callsign. Anyway, on
  771. with WNOS......
  772.  
  773. Once IP and ARP routes are set, all we need  type  is  "telnet  dg8fbv".
  774. Again,  the  display  changes  and  switches into a telnet type session.
  775. After the AX.25 connection has been made, the TCP connection  starts  up
  776. and much the same "Trying...." and "...connected to..." messages appear.
  777.  
  778.  
  779.                                                                         
  780.  
  781.  
  782.  
  783.                                                                         
  784.  
  785.  
  786. In most cases, telnet sessions will be  greeted  on  connection  with  a
  787. welcome message and an invitation to login ie a "login:" prompt appears.
  788. WNOS is no exception but other TCP/IP programs may be. You may also have
  789. to type a password to gain access to the remote host.
  790.  
  791. To close sessions. you have 2 choices. Obviously, the first is  to  send
  792. the  command  to  the  remote end that closes the connection eg "BYE" on
  793. TheNode. The second is to switch back to the command window and type the
  794. "close"  command.  In  both  cases,  the  session  is disconnected and a
  795. message informing you of this fact will appear in that  session  window.
  796. All  that  remains  to  be done is to press return to acknowledge it and
  797. that is that! If you do not acknowledge the session closed  message,  it
  798. remains in a 'limbo' state and takes up memory and the status line entry
  799. and session window will not be cleared.
  800.  
  801. Users of the NOS software will already know its main advantage over  all
  802. other  types  of  Packet  software  in  that  it  is  possible  to  have
  803. simultaneous multiple sessions using different protocols.
  804.  
  805. WNOS also takes pride in being the first version of NOS that takes  real
  806. note of the prevailing channel conditions and adjusts its use of channel
  807. accordingly through its dynamic timers.
  808.  
  809.  
  810. 6.2.  The View From Outside
  811.  
  812. For most AX.25 users, their first encounter with WNOS  usually  ends  in
  813. frustration!  On  connecting  to  the  system  using  AX.25,  a  connect
  814. acknowledgement is given and then... nothing happens! Users  first  need
  815. to  send a packet to the mailbox to wake it up (just hitting return will
  816. do).  This comes about since the mailbox can be connected  to  by  three
  817. different  protocols  (TCP, NET/ROM and AX.25) all of which use AX.25 at
  818. the link layer. So, to tell it what protocol  is  being  used,  it  must
  819. receive  a  packet with the PID bit set ie an information frame. This is
  820. only the case in AX.25 connects since once the  link  layer  session  is
  821. established NET/ROM and TCP will immediately send data and WNOS will see
  822. the PID bit!
  823.  
  824. So, back to our example. An AX.25 user connects,  sends  the  "wake  up"
  825. frame  and  he is then greeted by the WNOS mailbox. Since the mailbox is
  826. also used by other mailboxes aswell as  users,  for  Store  and  Forward
  827. (S&F),  most  of  the  preamble  information  serves  little purpose for
  828. "human" users.
  829.  
  830. The S&F information is the first  line  ("[WNOS-H$]")  followed  by  the
  831. hostname   "g6dhu.ampr.org   TCP/IP   System".   If   there  is  a  file
  832. /spool/help/host.hlp, the  contents  of  this  file  will  appear  next,
  833. otherwise  the short message "'?' for help." will appear instead so that
  834. the user knows how to get help.  If a "message  of  the  day"  (see  the
  835. "motd"  command)  is set, this will appear. At this point there may be a
  836. short delay whilst the  mailbox  checks   whether  mail  is  waiting  or
  837. present  for  this  user.  New mail for the user will be signalled then,
  838. followed by the mailbox command prompt
  839.  
  840. (DB3FL) DB3FL de G6DHU>
  841.  
  842.  
  843.  
  844.                                                                         
  845.  
  846.  
  847.  
  848.                                                                         
  849.  
  850.  
  851. or in the UK version
  852.  
  853. (Msg #1: DB3FL) DB3FL de G6DHU>
  854.  
  855. The mailbox prompt lends itself to the DieBox mailbox style which  shows
  856. the  mail  area,  user  call and mailbox call. The UK version also keeps
  857. track of the current message number. Mailbox informational messages such
  858. as  "***  Connected  to", "*** Busy from" etc match those of the FlexNet
  859. networking software and so this and other packet software (eg "SP")  can
  860. recognise   a  standard  format  and  use  WNOS  nodes  as  autorouters.
  861. Similarly, connections over NET/ROM  conform  to  that  style,  although
  862. connections FROM a WNOS node require the use of the "nconnect" command.
  863.  
  864. Since we are connected to the mailbox, we can play with a few  commands.
  865. Not  all  commands listed by '?' may be available, since each user has a
  866. permission level defined in the /ftpusers file.
  867.  
  868. If there are messages to read, just a press of the Return key starts the
  869. message  reader. If a specific message is to be read, the "read" command
  870. is used. Read mail can be deleted from  the  mailbox  using  the  "kill"
  871. command specifying which message to delete.
  872.  
  873. The list of files available for download can be listed with  the  "what"
  874. command.  Text  files  can be downloaded with the "download" command and
  875. binary files (programs etc) with the "du" command.
  876.  
  877. Connections to other stations can also be made  from  the  mailbox.  The
  878. list  of  known  AX.25  autorouter paths can be determined by the "path"
  879. command and these stations  can  be  connected  to  using  the  "connect
  880. <call>"  command.   Other connections can be made using "connect <call>"
  881. on the default interface or  with  "connect  <iface>  <call>"  on  other
  882. interfaces.
  883.  
  884. The sysop can be contacted by using the "c" or "chat" commands.
  885.  
  886. Connections started using the "connect" command can be  disconnected  at
  887. any  time  by sending the "escape" character (Control-X by default). The
  888. mailbox can be disconnected  through  the  "b",  "bye",  "q"  or  "quit"
  889. commands.
  890.  
  891.  
  892. 7.  Short Descriptions of the Important Protocols
  893.  
  894. This is  a  brief  overview  of  the  terminology  and  purpose  of  the
  895. networking protocols that WNOS uses.
  896.  
  897.  
  898. 7.1.  ARP (The Address Resolution Protocol)
  899.  
  900. This simple protocol is used  to  determine  which  link  layer  address
  901. corresponds  to  an  IP address. The link layers used by WNOS are either
  902. AX.25 or Ethernet. An AX.25 address is better known  as  a  callsign  eg
  903. G6DHU-3  plus  SSID.  It is not often used in full in WNOS since the ARP
  904. table is there to provide immediately, the lookup between IP address and
  905. link  layer  address.  If however, the desired link layer address is not
  906. found in the ARP table, before the  IP  frame  can  be  sent,  ARP  must
  907.  
  908.  
  909.                                                                         
  910.  
  911.  
  912.  
  913.                                                                         
  914.  
  915.  
  916. discover the link layer address itself. This it does by  sending  out  a
  917. special  "broadcast" which is listened to by all TCP/IP capable software
  918. (on AX.25 the broadcast address is "QST").  The broadcast basically says
  919. "Hello,  I'm  44.131.20.3  and I live at link layer address G6DHU-5, I'm
  920. looking for 44.131.20.4, tell me your link layer  address".  Any  TCP/IP
  921. system  hearing  this broadcast examines the "I'm looking for <address>"
  922. field and if it matches its IP address, it sends back a reply  broadcast
  923. filling   in the missing information. At that point, the machine sending
  924. the initial request makes a temporary addition to it's ARP table  noting
  925. the information it got. In other words, an internal "arp add" command is
  926. executed. As soon as this procedure is complete,  the  TCP  session  can
  927. start.
  928.  
  929.  
  930. 7.2.  AX.25 (Amateur X.25 Protocol)
  931.  
  932. AX.25 is a  basic  version  of  the  more  complicated  commercial  X.25
  933. protocol  cut down for use in the Packet Radio environment. The protocol
  934. supports  point-to-point  connections  in  which  each  sent  frame   is
  935. acknowledged  as arriving OK by the receiving end, thus ensuring that no
  936. data is lost  (in  network  jargon  -  a  reliable  connection  oriented
  937. protocol).   Digipeaters   may   also   be   used   to  forward  packets
  938. unconditionally.
  939.  
  940. Features implemented by WNOS such as hop-to-hop  acknowlegement  or  the
  941. AX.25  autorouter  are  NOT  an extension of the AX.25 protocol. Rather,
  942. these are ways of implementing the protocol in different ways to provide
  943. certain advantages.
  944.  
  945.  
  946. 7.3.  IP (The Internet Protocol)
  947.  
  948. IP is responsible for routing and packet switching functions  for  upper
  949. layer  protocols,  usually TCP. An IP frame header is made up of amongst
  950. other things, the source and destination IP addresses  aswell  as  other
  951. control information.
  952.  
  953.  
  954. 7.4.  IPCAM (Internet Protocol CAMouflage)
  955.  
  956. IPCAM is not really a Protocol as such. IPCAM allows  IP  frames  to  be
  957. transported  across  different and mixed protocols. It is only currently
  958. implemented for use upon AX.25 link layers.  Rather  than  send  the  IP
  959. frame  with  an AX.25 PID (Protocol IDentifier) of "IP", it is sent with
  960. an PID of "Text". It is this feature that makes it  particularly  useful
  961. since  some  AX.25  systems  may  not  support,  recognise  or purposely
  962. disallow processing of frames with PID="IP". Using IPCAM  allows  TCP/IP
  963. to be used on such networks.
  964.  
  965.  
  966. 7.5.  ICMP (The Internet Control Message Protocol)
  967.  
  968. This protocol is used to  provide  TCP/IP  hosts  with  error  handling,
  969. congestion  control  or  resolution and general diagnostic functions and
  970. services.
  971.  
  972.  
  973.  
  974.                                                                         
  975.  
  976.  
  977.  
  978.                                                                         
  979.  
  980.  
  981. 7.6.  TCP (The Transmission Control Protocol)
  982.  
  983. TCP is responsible for the logical connection between two  TCP/IP  hosts
  984. and  uses  IP  for its routing functions. Most importantly it provides a
  985. reliable stream based connection  and  ensures  that  data  reaches  the
  986. remote host without error and for acknowledging receipt of data from the
  987. remote host.
  988.  
  989. All of the following protocols are applications (services) which use TCP
  990. for the Transport (Level 4) layer and IP at the Network (Level 3) layer.
  991.  
  992.  
  993. 7.6.1.  Telnet
  994.  
  995. Is a simple protocol which allows remote login to another  host  running
  996. TCP/IP.  It  can  be  thought  of  as the TCP/IP equivalent of a TNC-TNC
  997. connect using AX.25.
  998.  
  999.  
  1000. 7.6.2.  FTP (The File Transfer Protocol)
  1001.  
  1002. FTP allows files (both text and binary) to be transferred from one  host
  1003. to  another.  It  is  also responsible for ensuring that the transfer is
  1004. succesfully completed.
  1005.  
  1006.  
  1007. 7.6.3.  SMTP (The Simple Mail Transfer Protocol)
  1008.  
  1009. SMTP provides an electronic mail facility  between  hosts.  It  has  the
  1010. capability  to  route  mail  from one host to another, for delivery to a
  1011. user at the local  host  and  sending  locally  generated  mail  to  its
  1012. destination.
  1013.  
  1014.  
  1015. 7.6.4.  NNTP (The Network News Transfer Protocol)
  1016.  
  1017. NNTP provides a service  for  the  posting  and  distribution  of  News.
  1018. Whereas  SMTP  is used to handle personal mail, news handles 'broadcast'
  1019. messages.  News is divided into newsgroups, each with a  specific  topic
  1020. of   interest.   For   interest,  the  Usenet  news  hierarchy  contains
  1021. newsgroups;
  1022.  
  1023. rec.radio.amateur.misc   - Miscellaneous amatuer radio discussion
  1024. rec.radio.amateur.packet - The Packet Radio newsgroup
  1025. comp.binaries.ibm.pc     - Latest IBM PC software
  1026. rec.humour.funny         - Jokes
  1027. etc etc
  1028.  
  1029. The hierarchy names represent  the  broad  divisions  of  interest.  For
  1030. example  rec.*  newsgroups  are the Recreational newsgroups, comp.*, the
  1031. Computer newsgroups etc. There are lots more of these.
  1032.  
  1033. NNTP is the analogue of the mailbox Store  and  Forward  network,  where
  1034. news articles are referred to as bulletins.
  1035.  
  1036.  
  1037.  
  1038.  
  1039.                                                                         
  1040.  
  1041.  
  1042.  
  1043.                                                                         
  1044.  
  1045.  
  1046. 7.6.5.  POP (The Post Office Protocol)
  1047.  
  1048. POP allows storage and collection of mail destined for a  host  that  is
  1049. not  always  in  operation.  Mail for such hosts is kept on file until a
  1050. host comes on line, connects to the POP server and asks  for  its  mail.
  1051. It  is  useful  for AMPRNET TCP/IP stations who are not on air 24hours a
  1052. day.
  1053.  
  1054.  
  1055. 7.7.  UDP (The User Datagram Protocol)
  1056.  
  1057. This is also a Transport layer (level 4) protocol like TCP but  is  much
  1058. simpler  and  does not guarantee a reliable transfer of data from end to
  1059. end. Receipt of a UDP frame is not acknowledged as in  TCP.  The  domain
  1060. server uses UDP.
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066.  
  1067.  
  1068.  
  1069.  
  1070.  
  1071.  
  1072.  
  1073.  
  1074.  
  1075.  
  1076.  
  1077.  
  1078.  
  1079.  
  1080.  
  1081.  
  1082.  
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088.  
  1089.  
  1090.  
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.                                                                         
  1105.  
  1106.