home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / exam / g1emmnos / userref.out < prev    next >
Text File  |  1990-09-26  |  128KB  |  2,641 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.                 NNNEEETTT UUUssseeerrr RRReeefffeeerrreeennnccceee MMMaaannnuuuaaalll (((NNNOOOSSS VVVeeerrrsssiiiooonnn)))
  12.  
  13.  
  14.                             Phil Karn, KA9Q
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21. 111...  TTThhheee NNNEEETTT...EEEXXXEEE PPPrrrooogggrrraaammm
  22.  
  23. The MS-DOS executable file nnneeettt...eeexxxeee provides  Internet  (TCP/IP),  NET/ROM  and
  24. AX.25  facilities.   Because it has an internal multitasking operating system,
  25. nnneeettt...eeexxxeee can act simultaneously as a client, a server and a packet  switch  for
  26. all  three  sets  of  protocols.  That  is, while a local user accesses remote
  27. services, the system can also provide those  same  services  to  remote  users
  28. while  also  switching  IP, NET/ROM and AX.25 packets and frames between other
  29. client and server nodes.
  30.  
  31. The keyboard and display is used by the local operator to  control  both  host
  32. and gateway level functions, for which a number of commands are provided.
  33.  
  34.  
  35. 111...111...  SSStttaaarrrtttuuuppp
  36.  
  37. When nnneeettt...eeexxxeee is executed without arguments,  it  attempts  to  open  the  file
  38. aaauuutttoooeeexxxeeeccc...nnneeettt  in the root directory of the current drive.  If it exists, it is
  39. read and executed as  though  its  contents  were  typed  on  the  console  as
  40. commands.   This  feature  is  useful  for attaching communication interfaces,
  41. configuring network addresses, and starting the various services.  If  nnneeettt...eeexxxeee
  42. is  invoked  with  an  argument,  it  is  taken to be the name of an alternate
  43. startup file to be read instead of aaauuutttoooeeexxxeeeccc...nnneeettt.
  44.  
  45. Three command-line options are accepted:
  46.  
  47.  
  48. 111...111...111...  ---bbb
  49.  
  50. The ---bbb option specifies the use of BIOS for console output; the default is  to
  51. write directly to the video display buffer. Use this option if you are running
  52. under a windowing package and have trouble with output "bleeding  through"  on
  53. top of other windows.
  54.  
  55.  
  56. 111...111...222...  ---sss
  57.  
  58. The ---sss option specifies the size of the _s_o_c_k_e_t array to  be  allocated  within
  59. net.   This   limits   the  number  of  network  connections  that  may  exist
  60. simultaneously; the default is 40.
  61.  
  62.  
  63.  
  64.                                                                               
  65.  
  66.  
  67.  
  68.  
  69.                                     - 2 -                                     
  70.  
  71.  
  72. 111...111...333...  ---ddd
  73.  
  74. The ---ddd  option  allows  the  user  to  specify  a  "root"  directory  for  the
  75. configuration  and  spool  files;  it  defaults  to  the root directory of the
  76. system.
  77.  
  78.  
  79. 222...  CCCooonnnsssooollleee mmmooodddeeesss
  80.  
  81. The console may be in one of two modes: _c_o_m_m_a_n_d _m_o_d_e and  _c_o_n_v_e_r_s_e  _m_o_d_e.   In
  82. command  mode,  the prompt nnneeettt>>> is displayed and any of the commands described
  83. in the next section may be entered.   In  converse  mode,  keyboard  input  is
  84. processed  according  to  the  _c_u_r_r_e_n_t _s_e_s_s_i_o_n.  Sessions come in eight types:
  85. _T_e_l_n_e_t, _F_T_P, _A_X_2_5, _N_E_T_R_O_M, _P_i_n_g, _M_o_r_e, _H_o_p_c_h_e_c_k and _T_i_p.
  86.  
  87. In a Telnet, AX25, NETROM, or Tip session,  keyboard  input  is  sent  to  the
  88. remote  system  and  any  output  from  the  remote system is displayed on the
  89. console.  In an FTP session, keyboard input is first examined to see if it  is
  90. a  known  local  command; if so it is executed locally.  If not, it is "passed
  91. through" to the remote FTP server.  (See the section titled FFFTTTPPP  SSSuuubbbcccooommmmmmaaannndddsss).
  92. In  a  Ping session the user may test the path to a remote site, and in a More
  93. session, the user may examine a local file. A  Hopcheck  session  is  used  to
  94. trace the path taken by packets to reach a specified destination.
  95.  
  96. The keyboard also has _c_o_o_k_e_d and _r_a_w states.  In cooked state, input is  line-
  97. at-a-time;  the  user may use the line editing characters ^U, ^R and backspace
  98. to  erase  the  line,  redisplay  the  line  and  erase  the  last  character,
  99. respectively.   Hitting either return or line feed passes the complete line up
  100. to the application.  In raw mode, each character is immediately passed to  the
  101. application as it is typed.  The keyboard is always in cooked state in command
  102. mode. It is also cooked in converse mode on an AX25, FTP or  NET/ROM  session.
  103. In  a  Telnet session it depends on whether the remote end has issued (and the
  104. local end has accepted) the Telnet WILL ECHO option.  (See the eeeccchhhooo command).
  105.  
  106. On the IBM-PC, the user may escape back to command mode  by  hitting  the  F10
  107. key.   On other systems, the user must enter the _e_s_c_a_p_e character, which is by
  108. default control-] (hex 1d, ASCII GS). (Note that this  is  distinct  from  the
  109. ASCII  character  of  the same name). The escape character can be changed (see
  110. the eeessscccaaapppeee command).
  111.  
  112. In the IBM PC version, each session (including the command "session") has  its
  113. own  screen.   When  a new session is created, the command display is saved in
  114. memory and the screen is cleared. When the command escape key (usually F10) is
  115. hit,  the  current session screen is saved and the command screen is restored.
  116. When a session is resumed, its screen is restored exactly as it appeared  when
  117. it was last current.
  118.  
  119.  
  120. 333...  CCCooommmmmmaaannndddsss
  121.  
  122. This section describes the commands recognized in  command  mode.   These  are
  123. given in the following notation:
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.                                                                               
  131.  
  132.  
  133.  
  134.  
  135.                                     - 3 -                                     
  136.  
  137.  
  138.      command
  139.      command literal_parameter
  140.      command subcommand <parameter>
  141.      command [<optional_parameter>]
  142.      command a|b
  143.  
  144. Many commands take  subcommands  or  parameters,  which  may  be  optional  or
  145. required.  In  general,  if  a required subcommand or parameter is omitted, an
  146. error message will summarize the available subcommands or required parameters.
  147. (Giving a '?' in place of the subcommand will also generate the message.  This
  148. is useful when the command word alone is a valid command.) If a command  takes
  149. an  optional  value  parameter,  issuing  the  command  without  the parameter
  150. generally displays the current value of the variable. (Exceptions to this rule
  151. are noted in the individual command descriptions.)
  152.  
  153. Two or more parameters separated by vertical bar(s) denote  a  choice  between
  154. the  specified  values.  Optional parameters are shown enclosed in [brackets],
  155. and a parameter enclosed in <angle brackets> should be replaced with an actual
  156. value or string.  For example, the notation <<<hhhooossstttiiiddd>>> denotes an actual host or
  157. gateway, which may be specified in one of two ways: as a symbolic name  listed
  158. in  the  file  ///dddooommmaaaiiinnn...tttxxxttt,  or  as  a  numeric  IP  address in dotted decimal
  159. notation, e.g., 44.0.0.1. If a domain name server is available on the  network
  160. and  configured  into  _n_e_t,  it  will  be  queried  if the name isn't found in
  161. ///dddooommmaaaiiinnn...tttxxxttt.
  162.  
  163. All commands and many subcommands may  be  abbreviated.  You  only  need  type
  164. enough  of  a command's name to distinguish it from others that begin with the
  165. same series of letters. Parameters, however, must be typed in full.
  166.  
  167. Certain FTP subcommands, e.g., pppuuuttt,,, gggeeettt,,, dddiiirrr,  etc,  are  recognized  only  in
  168. converse  mode  with  the  appropriate FTP session; they are not recognized in
  169. command mode.
  170.  
  171.  
  172. 333...111...  <<<cccrrr>>>
  173.  
  174. Entering a carriage return (empty line) while in  command  mode  puts  you  in
  175. converse  mode  with  the current session. If there is no current session, _n_e_t
  176. remains in command mode.
  177.  
  178.  
  179. 333...222...  !!!
  180.  
  181. An alias for the ssshhheeellllll command.
  182.  
  183.  
  184. 333...333...  ###
  185.  
  186. Commands starting with the hash mark (#) are ignored. This  is  mainly  useful
  187. for comments in the aaauuutttoooeeexxxeeeccc...nnneeettt file.
  188.  
  189.  
  190. 333...444...  aaabbbooorrrttt [[[<<<ssseeessssssiiiooonnn ###>>>]]]
  191.  
  192.  
  193.  
  194.  
  195.  
  196.                                                                               
  197.  
  198.  
  199.  
  200.  
  201.                                     - 4 -                                     
  202.  
  203.  
  204. Abort a FTP gggeeettt,,, pppuuuttt ooorrr dddiiirrr  operation  in  progress.  If  issued  without  an
  205. argument,  the  current  session  is  aborted. (This command works only on FTP
  206. sessions.) When receiving a file, aaabbbooorrrttt simply resets the data connection; the
  207. next  incoming  data  packet will generate a TCP RST (reset) response to clear
  208. the remote server.  When sending a file, aaabbbooorrrttt sends a premature  end-of-file.
  209. Note  that  in  both  cases aaabbbooorrrttt will leave a partial copy of the file on the
  210. destination machine, which must be removed manually if it is unwanted.
  211.  
  212.  
  213. 333...555...  aaarrrppp
  214.  
  215. Display the Address Resolution Protocol table that maps IP addresses to  their
  216. subnet  (link)  addresses on subnetworks capable of broadcasting.  For each IP
  217. address entry the subnet type (e.g., Ethernet, AX.25), subnet address and time
  218. to  expiration  is shown. If the link address is currently unknown, the number
  219. of IP datagrams awaiting resolution is also shown.
  220.  
  221.  
  222. 333...666...  aaarrrppp aaadddddd <<<hhhooossstttiiiddd>>> eeettthhheeerrrnnneeettt|||aaaxxx222555 <<<eeettthhheeerrrnnneeettt aaaddddddrrreeessssss>>>|||<<<aaaxxx222555___aaaddddddrrreeessssss>>>
  223.  
  224. Add a permanent entry  to  the  table.  It  will  not  time  out  as  will  an
  225. automatically-created entry, but must be removed with the aaaxxx222555 dddrrroooppp command.
  226.  
  227.  
  228. 333...777...  aaarrrppp pppuuubbbllliiissshhh <<<hhhooossstttiiiddd>>> eeettthhheeerrrnnneeettt|||aaaxxx222555 <<<eeettthhheeerrrnnneeettt aaaddddddrrreeessssss>>>|||<<<aaaxxx222555___aaaddddddrrreeessssss>>>
  229.  
  230. The aaarrrppp pppuuubbbllliiissshhh command is similar to the aaarrrppp aaadddddd  command,  but  system  will
  231. also  respond  to  any  ARP  request  it  sees  on  the network that seeks the
  232. specified address.  (Use this feature with great care.)
  233.  
  234.  
  235. 333...888...  aaarrrppp dddrrroooppp <<<hhhooossstttiiiddd>>> aaaxxx222555|||eeettthhheeerrrnnneeettt
  236.  
  237. Remove the specified entry from the ARP table.
  238.  
  239.  
  240. 333...999...  aaarrrppp fffllluuussshhh
  241.  
  242. Drop all automatically-created entries in the ARP table; permanent entries are
  243. not affected.
  244.  
  245.  
  246. 333...111000...  aaasssyyyssstttaaattt
  247.  
  248. Display statistics on attached asynchronous communications interfaces (8250 or
  249. 16550A),  if any. The display for each port consists of three lines. The first
  250. line gives the port label and the configuration flags; these indicate  whether
  251. the  port is a 16550A chip, the _t_r_i_g_g_e_r _c_h_a_r_a_c_t_e_r if any, and whether CTS flow
  252. control is enabled. (The trigger character when received causes the driver  to
  253. signal upper layer software that data is ready; it is automatically set to the
  254. appropriate frame end character for SLIP and NRS lines.)
  255.  
  256. The second line of the status display shows receiver (RX)  event  counts:  the
  257. total  number  of  receive  interrupts, received characters, receiver overruns
  258. (lost characters) and the receiver _h_i_g_h _w_a_t_e_r _m_a_r_k.  The high  water  mark  is
  259. the  maximum  number  of  characters ever read from the device during a single
  260.  
  261.  
  262.                                                                               
  263.  
  264.  
  265.  
  266.  
  267.                                     - 5 -                                     
  268.  
  269.  
  270. interrupt. This is useful for monitoring system interrupt latency  margins  as
  271. it  shows  how  close  the  port  hardware  has come to overflowing due to the
  272. inability of the CPU to respond to a receiver interrupt in  time.  8250  chips
  273. have  no  FIFO, so the high water mark cannot go higher than 2 before overruns
  274. occur. The 16550A chip, however, has a 16-byte receive FIFO which the software
  275. programs  to  interrupt  the  CPU when the FIFO is one-quarter full.  The high
  276. water mark should typically be 4 or 5 when a 16550A  is  used;  higher  values
  277. indicate  that  the  CPU  has at least once been slow to respond to a receiver
  278. interrupt.
  279.  
  280. When the 16550A is used, a count of FIFO timeouts is also displayed on the  RX
  281. status  line.  These  are  generated  automatically  by  the 16550A when three
  282. character intervals go by with more than 0 but less than 4 characters  in  the
  283. FIFO.  Since the characters that make up a SLIP or NRS frame are normally sent
  284. at full line speed, this count will usually be a lower bound on the number  of
  285. frames  received  on  the port, as only the last fragment of a frame generally
  286. results in a timeout (and then only when the frame is  not  a  multiple  of  4
  287. bytes long.)
  288.  
  289. The third line shows transmit (TX) statistics,  including  a  total  count  of
  290. transmit  interrupts, transmitted characters, the length of the transmit queue
  291. in bytes, and the number of CTS interrupts (this latter  value  will  be  zero
  292. unless CTS flow control has been enabled.)
  293.  
  294.  
  295. 333...111111...  aaattttttaaaccchhh <<<hhhwww tttyyypppeee>>> .........
  296.  
  297. Configure and attach a hardware interface  to  the  system.  The  details  are
  298. highly  interface  dependent. Drivers are available for the following hardware
  299. types:
  300.  
  301.  
  302. 333...111111...111...  aaasssyyy
  303.  
  304. Standard PC asynchronous interface (com  port)  using  the  National  8250  or
  305. 16550A chip.
  306.  
  307.  
  308. 333...111111...222...  dddrrrsssiii
  309.  
  310. N6TTO driver for the DRSI PCPA 8530 card.
  311.  
  312.  
  313. 333...111111...333...  eeeaaagggllleee
  314.  
  315. WA3CVG/NG6Q driver for the Eagle Computer card (Zilog 8530).
  316.  
  317.  
  318. 333...111111...444...  hhhaaapppnnn
  319.  
  320. KE3Z driver for the Hamilton  Amateur  Packet  Network  adapter  board  (Intel
  321. 8273).
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.                                                                               
  329.  
  330.  
  331.  
  332.  
  333.                                     - 6 -                                     
  334.  
  335.  
  336. 333...111111...555...  hhhsss
  337.  
  338. Special "high speed" 8530 driver for the WA4DSY 56kb/s modem.
  339.  
  340.  
  341. 333...111111...666...  pppaaaccckkkeeettt
  342.  
  343. Driver for use  with  separate  software  "packet  drivers"  meeting  the  FTP
  344. Software, Inc, Software Packet Driver specification.
  345.  
  346.  
  347. 333...111111...777...  pppccc111000000
  348.  
  349. Driver for the PACCOMM PC-100 (Zilog 8530) card.
  350.  
  351.  
  352. 333...111111...888...  ssscccccc
  353.  
  354. PE1CHL driver for generic 8530 cards.
  355.  
  356. Detailed instructions for each driver are in the section AAAttttttaaaccchhh CCCooommmmmmaaannndddsss.   An
  357. easy  way to obtain a summary of the parameters required for a given device is
  358. to issue a partial attach command, e.g., aaattttttaaaccchhh pppaaaccckkkeeettt.  This produces a usage
  359. message giving the complete command format.
  360.  
  361.  
  362. 333...111222...  aaaxxx222555 bbbllliiimmmiiittt [[[<<<vvvaaalll>>>]]]
  363.  
  364. Display or set the AX25 retransmission backoff limit. Normally each successive
  365. AX25  retransmission  is  delayed by twice the value of the previous interval;
  366. this is called _b_i_n_a_r_y _e_x_p_o_n_e_n_t_i_a_l  _b_a_c_k_o_f_f.   When  the  backoff  reaches  the
  367. blimit setting it is held at that value, which defaults to 30.  To prevent the
  368. possibility of "congestion collapse" on a loaded channel, blimit should be set
  369. at least as high as the number of stations sharing the channel.
  370.  
  371.  
  372. 333...111333...  aaaxxx222555 dddiiigggiiipppeeeaaattt [[[ooonnn|||oooffffff]]]
  373.  
  374. Display or set the digipeater enable flag.
  375.  
  376.  
  377. 333...111444...  aaaxxx222555 fffllluuussshhh
  378.  
  379. Clear the AX.25 "heard" list (see aaaxxx222555 hhheeeaaarrrddd).
  380.  
  381.  
  382. 333...111555...  aaaxxx222555 hhheeeaaarrrddd
  383.  
  384. Display the AX.25 "heard" list. For each interface that is configured  to  use
  385. AX.25,  a  list  of all callsigns heard through that interface is shown, along
  386. with a count of the  number  of  packets  heard  from  each  station  and  the
  387. interval,  in hr:min:sec format, since each station was last heard.  The local
  388. station always appears  first  in  the  listing;  the  packet  count  actually
  389. reflects  the number of packets transmitted. This entry is always present even
  390. if no packets have been sent.
  391.  
  392.  
  393.  
  394.                                                                               
  395.  
  396.  
  397.  
  398.  
  399.                                     - 7 -                                     
  400.  
  401.  
  402. 333...111666...  aaaxxx222555 iiirrrtttttt [[[<<<vvvaaalll>>>]]]
  403.  
  404. Display or set the initial value of smoothed round trip time to be used when a
  405. new  AX25  connection  is  created.  The value is in milliseconds.  The actual
  406. round trip time will be learned by measurement once the  connection  has  been
  407. established.
  408.  
  409.  
  410. 333...111777...  aaaxxx222555 kkkiiiccckkk <<<aaaxxxcccbbb>>>
  411.  
  412. Force a retransmission on the specified AX.25 control block.
  413.  
  414.  
  415. 333...111888...  aaaxxx222555 mmmaaaxxxfffrrraaammmeee [[[<<<vvvaaalll>>>]]]
  416.  
  417. Establish the maximum  number  of  frames  that  will  be  allowed  to  remain
  418. unacknowledged  at  one  time  on new AX.25 connections. This number cannot be
  419. greater than 7.
  420.  
  421.  
  422. 333...111999...  aaaxxx222555 mmmyyycccaaallllll [[[<<<cccaaallllll>>>]]]
  423.  
  424. Display or set the local AX.25 address.  The standard format  is  used,  e.g.,
  425. KA9Q-0  or  WB6RQN-5.  This  command  must be given before any attach commands
  426. using AX.25 mode are given.
  427.  
  428.  
  429. 333...222000...  aaaxxx222555 pppaaacccllleeennn [[[<<<vvvaaalll>>>]]]
  430.  
  431. Limit the size of I-fields on new  AX.25  connections.   If  IP  datagrams  or
  432. fragments  larger  than  this  are  transmitted,  they  will  be transparently
  433. fragmented at the AX.25 level, sent as a series of I frames,  and  reassembled
  434. back  into a complete IP datagram or fragment at the other end of the link. To
  435. have any effect on IP datagrams, this parameter should be less than  or  equal
  436. to the MTU of the associated interface.
  437.  
  438.  
  439. 333...222111...  aaaxxx222555 pppttthhhrrreeessshhh [[[<<<vvvaaalll>>>]]]
  440.  
  441. Display or set the  poll  threshold  to  be  used  for  new  AX.25  Version  2
  442. connections.   The poll threshold controls retransmission behavior as follows.
  443. If the oldest unacknowledged I-frame size is less than the poll threshold,  it
  444. will  be  sent  with  the poll (P) bit set if a timeout occurs.  If the oldest
  445. unacked I-frame size is equal to or greater than the threshold, then a  RR  or
  446. RNR  frame,  as  appropriate,  with the poll bit set will be sent if a timeout
  447. occurs.
  448.  
  449. The idea behind the poll threshold is that the extra time  needed  to  send  a
  450. "small" I-frame instead of a supervisory frame when polling after a timeout is
  451. small, and since there's a good chance the I-frame will have to be sent anyway
  452. (i.e., if it were lost previously) then you might as well send it as the poll.
  453. But if the I-frame is large, send  a  supervisory  (RR/RNR)  poll  instead  to
  454. determine  first  if  retransmitting  the  oldest  unacknowledged  I-frame  is
  455. necessary; the timeout might have been caused by a lost acknowledgement.  This
  456. is  obviously  a  tradeoff, so experiment with the poll threshold setting. The
  457. default is 128 bytes, one half the default value of pppaaacccllleeennn.
  458.  
  459.  
  460.                                                                               
  461.  
  462.  
  463.  
  464.  
  465.                                     - 8 -                                     
  466.  
  467.  
  468. 333...222222...  aaaxxx222555 rrreeessseeettt <<<aaaxxxcccbbb>>>
  469.  
  470. Delete the AX.25 connection control block at the specified address.
  471.  
  472.  
  473. 333...222333...  aaaxxx222555 rrreeetttrrryyy [[[<<<vvvaaalll>>>]]]
  474.  
  475. Limit the number of successive unsuccessful  retransmission  attempts  on  new
  476. AX.25  connections.  If  this  limit  is  exceeded,  link  re-establishment is
  477. attempted. If this fails rrreeetttrrryyy times, then the connection is abandoned and all
  478. queued data is deleted.
  479.  
  480.  
  481. 333...222444...  aaaxxx222555 rrrooouuuttteee
  482.  
  483. Display the AX.25 routing table that specifies the digipeaters to be  used  in
  484. reaching a given station.
  485.  
  486.  
  487. 333...222555...  aaaxxx222555 rrrooouuuttteee aaadddddd <<<tttaaarrrgggeeettt>>> [[[dddiiigggiiisss ......... ]]]
  488.  
  489. Add an entry to the AX.25 routing table.   An  automatic  aaaxxx222555  rrrooouuuttteee  aaadddddd  is
  490. executed  if  digipeaters  are  specified  in an AX25 cccooonnnnnneeecccttt command, or if a
  491. connection is received from a remote station via digipeaters.  Such  automatic
  492. routing table entries won't override locally created entries, however.
  493.  
  494.  
  495. 333...222666...  aaaxxx222555 rrrooouuuttteee dddrrroooppp <<<tttaaarrrgggeeettt>>>
  496.  
  497. Drop an entry from the AX.25 routing table.
  498.  
  499.  
  500. 333...222777...  aaaxxx222555 ssstttaaatttuuusss [[[<<<aaaxxxcccbbb>>>]]]
  501.  
  502. Without an argument, display a one-line summary of each AX.25  control  block.
  503. If  the  address  of  a particular control block is specified, the contents of
  504. that control block are dumped in more detail. Note that the send  queue  units
  505. are frames, while the receive queue units are bytes.
  506.  
  507.  
  508. 333...222888...  aaaxxx222555 ttt333 [[[<<<vvvaaalll>>>]]]
  509.  
  510. Display or set the AX.25 idle "keep alive" timer. Value is in milliseconds.
  511.  
  512.  
  513. 333...222999...  aaaxxx222555 vvveeerrrsssiiiooonnn [[[111|||222]]]
  514.  
  515. Display or set the version of the AX.25 protocol to  attempt  to  use  on  new
  516. connections.  The  default  is 1 (the version that does not use the poll/final
  517. bits).
  518.  
  519.  
  520. 333...333000...  aaaxxx222555 wwwiiinnndddooowww [[[<<<vvvaaalll>>>]]]
  521.  
  522.  
  523.  
  524.  
  525.  
  526.                                                                               
  527.  
  528.  
  529.  
  530.  
  531.                                     - 9 -                                     
  532.  
  533.  
  534. Set the number of bytes that can be pending on an AX.25 receive  queue  beyond
  535. which I frames will be answered with RNR (Receiver Not Ready) responses.  This
  536. presently applies only to suspended interactive AX.25 sessions, since incoming
  537. I-frames  containing  network  (IP,  NET/ROM)  packets  are  always  processed
  538. immediately and are not placed on the receive queue.  However, when  an  AX.25
  539. connection  carries  both  interactive  and  network  packet  traffic,  an RNR
  540. generated because of backlogged interactive traffic  will  also  stop  network
  541. packet traffic from being sent.
  542.  
  543.  
  544. 333...333111...  cccddd [[[<<<dddiiirrrnnnaaammmeee>>>]]]
  545.  
  546. Change the current working directory, and display the new setting.  Without an
  547. argument,  cccddd  simply  displays the current directory without change.  The pppwwwddd
  548. command is an alias for cccddd.
  549.  
  550.  
  551. 333...333222...  ccclllooossseee [[[<<<ssseeessssssiiiooonnn ###>>>]]]
  552.  
  553. Close the specified session; without an argument, close the  current  session.
  554. On  an AX.25 session, this command initiates a disconnect.  On a FTP or Telnet
  555. session, this command sends a FIN (i.e., initiates a close) on  the  session's
  556. TCP  connection.   This  is  an  alternative  to  asking  the remote server to
  557. initiate a close ("QUIT" to FTP, or the logout  command  appropriate  for  the
  558. remote  system  in  the  case  of Telnet).  When either FTP or Telnet sees the
  559. incoming half of a TCP connection close, it automatically responds by  closing
  560. the  outgoing  half  of the connection.  Close is more graceful than the rrreeessseeettt
  561. command, in that it is less likely to leave the remote TCP  in  a  "half-open"
  562. state.
  563.  
  564.  
  565. 333...333333...  cccooonnnnnneeecccttt <<<iiifffaaaccceee>>> <<<cccaaallllllsssiiigggnnn>>> [[[<<<dddiiigggiiipppeeeaaattteeerrr>>> ......... ]]]
  566.  
  567. Initiate a "vanilla" AX.25 session  to  the  specified  call  sign  using  the
  568. specified  interface. Data sent on this session goes out in conventional AX.25
  569. packets with no upper layer  protocol.   The  de-facto  presentation  standard
  570. format  is  used,  in that each packet holds one line of text, terminated by a
  571. carriage return.  A single AX.25  connection  may  be  used  for  terminal-to-
  572. terminal,  IP  and  NET/ROM  traffic,  with  the  three  types  of  data being
  573. automatically separated by their AX.25 Level 3 Protocol IDs.
  574.  
  575. Up to 7 optional digipeaters may be given; note  that  the  word  vvviiiaaa  is  NOT
  576. needed. If digipeaters are specified, they are automatically added to the AX25
  577. routing table as though the aaaxxx222555 rrrooouuuttteee  aaadddddd  command  had  been  given  before
  578. issuing the connect command.
  579.  
  580.  
  581. 333...333444...  dddeeetttaaaccchhh <<<iiifffaaaccceee>>>
  582.  
  583. Detach a previously attached interface from the system. All IP  routing  table
  584. entries  referring to this interface are deleted, and forwarding references by
  585. any other interface to this interface are removed.
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.                                                                               
  593.  
  594.  
  595.  
  596.  
  597.                                     - 10 -                                    
  598.  
  599.  
  600. 333...333555...  dddiiirrr [[[<<<dddiiirrrnnnaaammmeee>>>]]]
  601.  
  602. List the contents of the specified directory on the console. If no argument is
  603. given,  the current directory is listed. Note that this command works by first
  604. listing the directory into a temporary file, and then creating a mmmooorrreee  session
  605. to display it. After this completes, the temporary file is deleted.
  606.  
  607.  
  608. 333...333666...  dddiiissscccooonnnnnneeecccttt [[[<<<ssseeessssssiiiooonnn ###>>>]]]
  609.  
  610. An alias for the ccclllooossseee command (for the benefit of AX.25 users).
  611.  
  612.  
  613. 333...333777...  dddooommmaaaiiinnn aaaddddddssseeerrrvvveeerrr <<<hhhooossstttiiiddd>>> [[[<<<hhhooossstttiiiddd>>> .........]]]
  614.  
  615. Add one or more domain name server(s) to the list of name servers.
  616.  
  617.  
  618. 333...333888...  dddooommmaaaiiinnn dddrrrooopppssseeerrrvvveeerrr <<<hhhooossstttiiiddd>>> [[[<<<hhhooossstttiiiddd>>> .........]]]
  619.  
  620. Remove one or more domain name server(s) from the list of name servers.
  621.  
  622.  
  623. 333...333999...  dddooommmaaaiiinnn llliiissstttssseeerrrvvveeerrrsss
  624.  
  625. List the currently configured domain name servers, along  with  statistics  on
  626. how  many  queries  and  replies  have  been exchanged with each one, response
  627. times, etc.
  628.  
  629.  
  630. 333...444000...  dddooommmaaaiiinnn sssuuuffffffiiixxx [[[<<<dddooommmaaaiiinnn sssuuuffffffiiixxx>>>]]]
  631.  
  632. Display or specify the default domain name suffix to be  appended  to  a  host
  633. name  when  it  contains  no  periods.  For  example,  if the suffix is set to
  634. aaammmppprrr...ooorrrggg and the user enters ttteeelllnnneeettt kkkaaa999qqq, the domain resolver will attempt  to
  635. find  kkkaaa999qqq...aaammmppprrr...ooorrrggg.  If  the  host  name  being  sought  contains one or more
  636. periods, however, the default suffix is  NOT  applied;  e.g.,  ttteeelllnnneeettt  fffoooooo...bbbaaarrr
  637. would NOT be turned into fffoooooo...bbbaaarrr...aaammmppprrr...ooorrrggg.
  638.  
  639.  
  640. 333...444111...  dddooommmaaaiiinnn tttrrraaaccceee [[[ooonnn|||oooffffff]]]
  641.  
  642. Display or set the flag controlling the tracing of domain server requests  and
  643. responses.  Trace  messages will be seen only if a domain name being sought is
  644. not found in the local cache file, ///dddooommmaaaiiinnn...tttxxxttt.
  645.  
  646.  
  647. 333...444222...  eeeccchhhooo [[[aaacccccceeepppttt|||rrreeefffuuussseee]]]
  648.  
  649. Display or set the flag controlling client Telnet's response to a remote  WILL
  650. ECHO offer.
  651.  
  652. The Telnet presentation protocol specifies that in the absence of a negotiated
  653. agreement  to  the  contrary, neither end echoes data received from the other.
  654. In this mode, a Telnet  client  session  echoes  keyboard  input  locally  and
  655. nothing  is actually sent until a carriage return is typed. Local line editing
  656.  
  657.  
  658.                                                                               
  659.  
  660.  
  661.  
  662.  
  663.                                     - 11 -                                    
  664.  
  665.  
  666. is also performed: backspace deletes the last character typed, while control-U
  667. deletes the entire line.
  668.  
  669. When communicating from keyboard to keyboard the standard local echo  mode  is
  670. used,  so  the  setting  of  this  parameter  has  no  effect.  However,  many
  671. timesharing systems (e.g., UNIX) prefer to  do  their  own  echoing  of  typed
  672. input.   (This  makes  screen  editors  work  right, among other things). Such
  673. systems send a Telnet WILL ECHO offer immediately upon receiving  an  incoming
  674. Telnet  connection  request.  If  eeeccchhhooo  aaacccccceeepppttt  is  in effect, a client Telnet
  675. session will automatically return a DO ECHO  response.  In  this  mode,  local
  676. echoing  and  editing  is  turned  off and each key stroke is sent immediately
  677. (subject to the Nagle tinygram algorithm in TCP).  While  this  mode  is  just
  678. fine  across  an  Ethernet,  it is clearly inefficient and painful across slow
  679. paths like packet radio channels. Specifying eeeccchhhooo rrreeefffuuussseee  causes  an  incoming
  680. WILL  ECHO  offer  to  be answered with a DONT ECHO; the client Telnet session
  681. remains in the local echo mode.  Sessions already in the remote echo mode  are
  682. unaffected.  (Note:  Berkeley  Unix has a bug in that it will still echo input
  683. even after the client has refused the WILL ECHO  offer.  To  get  around  this
  684. problem, enter the sssttttttyyy ---eeeccchhhooo command to the shell once you have logged in.)
  685.  
  686.  
  687. 333...444333...  eeeooolll [[[uuunnniiixxx|||ssstttaaannndddaaarrrddd]]]
  688.  
  689. Display or set Telnet's end-of-line behavior when in  remote  echo  mode.   In
  690. standard  mode,  each  key  is  sent as-is. In unix mode, carriage returns are
  691. translated to line feeds.   This  command  is  not  necessary  with  all  UNIX
  692. systems;  use  it only when you find that a particular system responds to line
  693. feeds but not carriage returns.  Only SunOS release 3.2 seems to exhibit  this
  694. behavior; later releases are fixed.
  695.  
  696.  
  697. 333...444444...  eeessscccaaapppeee [[[<<<ccchhhaaarrr>>>]]]
  698.  
  699. Display or set the  current  command-mode  escape  character  in  hex.   (This
  700. command  is  not  provided on the IBM-PC; on the PC, the escape char is always
  701. F10.)
  702.  
  703.  
  704. 333...444555...  eeettthhheeerrrssstttaaattt
  705.  
  706. Display 3-Com Ethernet controller statistics (if configured).
  707.  
  708.  
  709. 333...444666...  eeexxxiiittt
  710.  
  711. Exit the _n_e_t program and return to MS-DOS (or CP/M).
  712.  
  713.  
  714. 333...444777...  fffiiinnngggeeerrr <<<uuussseeerrr@@@hhhooossstttiiiddd>>> [[[<<<uuussseeerrr@@@hhhooossstttiiiddd>>> .........]]]
  715.  
  716. Issue a network finger request for user uuussseeerrr at host hhhooossstttiiiddd.  This  creates  a
  717. client  session  which  may  be  interrupted, resumed, reset, etc, just like a
  718. Telnet client session.
  719.  
  720.  
  721.  
  722.  
  723.  
  724.                                                                               
  725.  
  726.  
  727.  
  728.  
  729.                                     - 12 -                                    
  730.  
  731.  
  732. 333...444888...  ffftttppp <<<hhhooossstttiiiddd>>>
  733.  
  734. Open an FTP control channel to the specified remote host  and  enter  converse
  735. mode  on  the  new  session.   Responses  from the remote server are displayed
  736. directly on the screen. See the chapter FFFTTTPPP SSSuuubbbcccooommmmmmaaannndddsss  for  descriptions  of
  737. the commands available in an FTP session.
  738.  
  739.  
  740. 333...444999...  hhheeelllppp
  741.  
  742. Display a brief summary of top-level commands.
  743.  
  744.  
  745. 333...555000...  hhhoooppp ccchhheeeccckkk <<<hhhooossstttiiiddd>>>
  746.  
  747. Initiate a hhhooopppccchhheeeccckkk session to the specified host. This uses a series  of  UDP
  748. "probe"  packets  with  increasing  IP TTL fields to determine the sequence of
  749. gateways in the path to the specified destination. This function is  patterned
  750. after the UNIX tttrrraaaccceeerrrooouuuttteee facility.
  751.  
  752. ICMP message tracing should be turned off before this command is executed (see
  753. the iiicccmmmppp tttrrraaaccceee command).
  754.  
  755.  
  756. 333...555111...  hhhoooppp mmmaaaxxxttttttlll [[[<<<ttttttlll>>>]]]
  757.  
  758. Display or set the maximum TTL value to be used in hop check  sessions.   This
  759. effectively bounds the radius of the search.
  760.  
  761.  
  762. 333...555222...  hhhoooppp mmmaaaxxxwwwaaaiiittt [[[<<<tttiiimmmeee>>>]]]
  763.  
  764. Display or set the maximum interval, in seconds, that a hopcheck session  will
  765. wait for responses at each stage of the trace. The default is 5 seconds.
  766.  
  767.  
  768. 333...555333...  hhhoooppp qqquuueeerrriiieeesss [[[<<<cccooouuunnnttt>>>]]]
  769.  
  770. Display or set the number of UDP probes that will be sent at each stage of the
  771. trace. The default is 3.
  772.  
  773.  
  774. 333...555444...  hhhoooppp tttrrraaaccceee [[[ooonnn|||oooffffff]]]
  775.  
  776. Display or set the flag that controls the display  of  additional  information
  777. during a hop check session.
  778.  
  779.  
  780. 333...555555...  hhhooossstttnnnaaammmeee [[[<<<nnnaaammmeee>>>]]]
  781.  
  782. Display or set the local host's name. By convention this should be the same as
  783. the  host's  primary  domain  name.  This  string is used only in the greeting
  784. messages of the various network  servers;  note  that  it  does  NOT  set  the
  785. system's IP address.
  786.  
  787.  
  788.  
  789.  
  790.                                                                               
  791.  
  792.  
  793.  
  794.  
  795.                                     - 13 -                                    
  796.  
  797.  
  798. 333...555666...  hhhsss
  799.  
  800. Display statistics about the HS high speed  HDLC  driver  (if  configured  and
  801. active).
  802.  
  803.  
  804. 333...555777...  iiicccmmmppp eeeccchhhooo [[[ooonnn|||oooffffff]]]
  805.  
  806. Display or set the flag controlling the  asynchronous  display  of  ICMP  Echo
  807. Reply  packets.  This flag must be on for one-shot pings to work (see the pppiiinnnggg
  808. command.)
  809.  
  810.  
  811. 333...555888...  iiicccmmmppp ssstttaaatttuuusss
  812.  
  813. Display  statistics  about  the  Internet  Control  Message  Protocol  (ICMP),
  814. including the number of ICMP messages of each type sent or received.
  815.  
  816.  
  817. 333...555999...  iiicccmmmppp tttrrraaaccceee [[[ooonnn|||oooffffff]]]
  818.  
  819. Display or set the flag controlling the display of ICMP error messages.  These
  820. informational  messages  are  generated  by  Internet  routers  in response to
  821. routing, protocol or congestion problems. This option  should  be  turned  off
  822. before  using  the  hhhooopppccchhheeeccckkk  facility because it relies on ICMP Time Exceeded
  823. messages, and the asynchronous display of these messages will be mingled  with
  824. hop check command output.
  825.  
  826.  
  827. 333...666000...  iiippp aaaddddddrrreeessssss [[[<<<hhhooossstttiiiddd>>>]]]
  828.  
  829. Display or set the default local IP address. This command must be given before
  830. an  attach  command  if  it  is  to  be used as the default IP address for the
  831. interface.
  832.  
  833.  
  834. 333...666111...  iiippp rrrtttiiimmmeeerrr [[[<<<vvvaaalll>>>]]]
  835.  
  836. Display or set the IP reassembly timeout. The default is 30 seconds.
  837.  
  838.  
  839. 333...666222...  iiippp ssstttaaatttuuusss
  840.  
  841. Display Internet Protocol (IP) statistics, such as  total  packet  counts  and
  842. error counters of various types.
  843.  
  844.  
  845. 333...666333...  iiippp ttttttlll [[[<<<vvvaaalll>>>]]]
  846.  
  847. Display or set the default time-to-live  value  placed  in  each  outgoing  IP
  848. datagram.  This  limits the number of switch hops the datagram will be allowed
  849. to take. The idea is to bound the lifetime of  the  packet  should  it  become
  850. caught  in a routing loop, so make the value somewhat larger than the diameter
  851. of the network.
  852.  
  853.  
  854.  
  855.  
  856.                                                                               
  857.  
  858.  
  859.  
  860.  
  861.                                     - 14 -                                    
  862.  
  863.  
  864. 333...666444...  llloooggg [[[ssstttoooppp|||<<<fffiiillleee>>>]]]
  865.  
  866. Display or set the file name for logging server sessions. If ssstttoooppp is given  as
  867. the  argument,  logging is terminated (the servers themselves are unaffected).
  868. If a file name is given as an argument, server session  log  entries  will  be
  869. appended to it.
  870.  
  871.  
  872. 333...666555...  mmmbbboooxxx
  873.  
  874. Display the status of the mailbox server system (if configured).
  875.  
  876.  
  877. 333...666666...  mmmeeemmmooorrryyy fffrrreeeeee
  878.  
  879. Display the storage allocator free list. Each entry  consists  of  a  starting
  880. address, in hex, and a size, in decimal bytes.
  881.  
  882.  
  883. 333...666777...  mmmeeemmmooorrryyy sssiiizzzeeesss
  884.  
  885. Display a histogram of storage allocator request sizes. Each histogram bin  is
  886. a binary order of magnitude (i.e., a factor of 2).
  887.  
  888.  
  889. 333...666888...  mmmeeemmmooorrryyy ssstttaaatttuuusss
  890.  
  891. Display a summary of storage allocator statistics. The first  line  shows  the
  892. base  address of the heap, its total size, the amount of heap memory available
  893. in bytes and as a percentage of the total heap size, and the amount of  memory
  894. left  over  (i.e.,  not placed on the heap at startup) and therefore available
  895. for shell subcommands.
  896.  
  897. The second line shows the total number of calls to allocate and free blocks of
  898. memory,  the  difference  of  these  two values (i.e., the number of allocated
  899. blocks outstanding), the number of allocation requests that were denied due to
  900. lack  of  memory,  and  the  number  of calls to free() that attempted to free
  901. garbage, e.g., by freeing the same block twice or freeing a garbled pointer.
  902.  
  903. The third line shows the number of calls to malloc and free that occurred with
  904. interrupts  off. In normal situations these values should be zero.  The fourth
  905. line shows statistics for the special  pool  of  fixed-size  buffers  used  to
  906. satisfy  requests  for  memory  at interrupt time. The variables shown are the
  907. number of buffers currently in  the  pool,  their  size,  and  the  number  of
  908. requests that failed due to exhaustion of the pool.
  909.  
  910.  
  911. 333...666999...  mmmooodddeee <<<iiifffaaaccceee>>> [[[vvvccc|||dddaaatttaaagggrrraaammm]]]
  912.  
  913. Control the default transmission mode on the  specified  AX.25  interface.  In
  914. dddaaatttaaagggrrraaammm  mode, IP packets are encapsulated in AX.25 UI frames and transmitted
  915. without  any  other  link   level   mechanisms,   such   as   connections   or
  916. acknowledgements.
  917.  
  918.  
  919.  
  920.  
  921.  
  922.                                                                               
  923.  
  924.  
  925.  
  926.  
  927.                                     - 15 -                                    
  928.  
  929.  
  930. In vvvccc (virtual circuit) mode, IP packets are encapsulated in  AX.25  I  frames
  931. and  are acknowledged at the link level according to the AX.25 protocol.  Link
  932. level connections are opened if necessary.
  933.  
  934. In both modes, ARP is used to map IP to AX.25 addresses.  The defaults can  be
  935. overridden  with  the  type-of-service (TOS) bits in the IP header. Turning on
  936. the "reliability" bit causes I frames to be used, while turning  on  the  "low
  937. delay"  bit  uses UI frames.  (The effect of turning on both bits is undefined
  938. and subject to change).
  939.  
  940. In both modes, IP-level fragmentation is done if the datagram is  larger  than
  941. the  interface  MTU.  In virtual circuit mode, however, the resulting datagram
  942. (or fragments) is further fragmented at the AX.25 layer if it  (or  they)  are
  943. still  larger  than  the  AX.25  pppaaacccllleeennn  parameter.  In  AX.25  fragmentation,
  944. datagrams are broken into several I frames and reassembled  at  the  receiving
  945. end before being passed to IP. This is preferable to IP fragmentation whenever
  946. possible because of decreased overhead (the IP header isn't repeated  in  each
  947. fragment)   and   increased   robustness   (a  lost  fragment  is  immediately
  948. retransmitted by the link layer).
  949.  
  950.  
  951. 333...777000...  mmmooorrreee <<<fffiiillleee>>> [[[<<<fffiiillleee>>> .........]]]
  952.  
  953. Display the specified file(s) a screen at a  time.  To  proceed  to  the  next
  954. screen, press the space bar; to cancel the display, hit the 'q' key.  The mmmooorrreee
  955. command creates a session that you can suspend and resume just like any  other
  956. session.
  957.  
  958.  
  959. 333...777111...  pppaaarrraaammm <<<iiifffaaaccceee>>> [[[<<<pppaaarrraaammm>>> .........]]]
  960.  
  961. Invoke a device-specific control routine.  On a KISS TNC interface, this sends
  962. control  packets to the TNC.  Data bytes are treated as decimal.  For example,
  963. pppaaarrraaammm aaaxxx000 111 222555555  will set the keyup timer (type field = 1)  on  the  KISS  TNC
  964. configured  as  ax0 to 2.55 seconds (255 x .01 sec).  On a SLIP interface, the
  965. param command allows the baud rate to be read (without arguments) or set.  The
  966. implementation of this command for the various interface drivers is incomplete
  967. and subject to change.
  968.  
  969.  
  970. 333...777222...  pppiiinnnggg <<<hhhooossstttiiiddd>>> [[[<<<llleeennn>>> [[[<<<iiinnnttteeerrrvvvaaalll>>> [[[<<<iiinnncccffflllaaaggg>>>]]]]]]]]]
  971.  
  972. Ping (send ICMP Echo Request packets to) the specified host.  By  default  the
  973. data  field  contains  only a small timestamp to aid in determining round trip
  974. time; if the optional llleeennngggttthhh argument is given, the appropriate number of data
  975. bytes (consisting of hex 55) are added to the ping packets.
  976.  
  977. If iiinnnttteeerrrvvvaaalll is specified, pings will be repeated indefinitely at the specified
  978. interval,  in seconds; otherwise a single, "one shot" ping is done.  Responses
  979. to one-shot pings appear asynchronously on the command screen, while  repeated
  980. pings  create  a session that may be suspended and resumed.  Pinging continues
  981. until the session is manually reset.
  982.  
  983. The iiinnncccffflllaaaggg option causes a repeated ping to increment the target  IP  address
  984. for  each  ping;  it  is  an  experimental  feature for searching blocks of IP
  985. addresses for active hosts.
  986.  
  987.  
  988.                                                                               
  989.  
  990.  
  991.  
  992.  
  993.                                     - 16 -                                    
  994.  
  995.  
  996. 333...777333...  pppsss
  997.  
  998. Display all current processes in the system. The fields are as follows:
  999.  
  1000. PPPIIIDDD - Process ID (the address of the process descriptor).
  1001.  
  1002. SSSPPP - The current value of the process stack pointer.
  1003.  
  1004. ssstttkkksssiiizzzeee - The size of the stack allocated to the process.
  1005.  
  1006. mmmaaaxxxssstttkkk - The apparent peak stack utilization of this process. This is done  in
  1007. a somewhat heuristic fashion, so the numbers should be treated as approximate.
  1008. If this number reaches or exceeds the stksize figure,  the  system  is  almost
  1009. certain  to  crash; the _n_e_t program should be recompiled to give the process a
  1010. larger allocation when it is started.
  1011.  
  1012. eeevvveeennnttt - The event this task is waiting for, if it is not runnable.
  1013.  
  1014. ffflll - Process status flags. There are three: I (Interrupts enabled), W (Waiting
  1015. for  event) and S (suspended - not currently used). The I flag is set whenever
  1016. a task has executed a pwait() call (wait for event)  without  first  disabling
  1017. hardware  interrupts.  Only tasks that wait for hardware interrupt events will
  1018. turn off this flag; this  is  done  to  avoid  critical  sections  and  missed
  1019. interrupts. The W flag indicates that the process is waiting for an event; the
  1020. eeevvveeennnttt column will be non-blank.  Note  that  although  there  may  be  several
  1021. runnable processes at any time (shown in the pppsss listing as those without the W
  1022. flag and with blank event fields) only one process is actually running at  any
  1023. one  instant (The Refrigerator Light Effect says that the pppsss command is always
  1024. the one running when this display is generated.)
  1025.  
  1026.  
  1027. 333...777444...  pppwwwddd [[[<<<dddiiirrrnnnaaammmeee>>>]]]
  1028.  
  1029. An alias for the cccddd command.
  1030.  
  1031.  
  1032. 333...777555...  rrreeecccooorrrddd [[[<<<fffiiillleeennnaaammmeee>>>|||oooffffff]]]
  1033.  
  1034. Append to fffiiillleeennnaaammmeee all data received on the current session.  Data sent on the
  1035. current  session  is  also written into the file except for Telnet sessions in
  1036. remote echo mode.  The command rrreeecccooorrrddd oooffffff stops recording and closes the file.
  1037.  
  1038.  
  1039. 333...777666...  rrreeemmmooottteee [[[---ppp <<<pppooorrrttt>>>]]] [[[---kkk <<<kkkeeeyyy>>>]]] [[[---aaa <<<kkkiiiccckkkaaaddddddrrr>>>]]] <<<hhhooossstttiiiddd>>> eeexxxiiittt|||rrreeessseeettt|||kkkiiiccckkk
  1040.  
  1041. Send a UDP packet to the specified host commanding it to exit the net program,
  1042. reset  the  processor, or force a retransmission on TCP connections.  For this
  1043. command to be accepted, the remote system must be running  the  rrreeemmmooottteee  server
  1044. and the port number specified in the remote command must match the port number
  1045. given when the server was started on the remote system.  If the  port  numbers
  1046. do not match, or if the remote server is not running on the target system, the
  1047. command packet is ignored.  Even if  the  command  is  accepted  there  is  no
  1048. acknowledgement.
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.                                                                               
  1055.  
  1056.  
  1057.  
  1058.  
  1059.                                     - 17 -                                    
  1060.  
  1061.  
  1062. The kick command forces a retransmission timeout on all TCP  connections  that
  1063. the  remote  node  may  have  with  the local node.  If the -a option is used,
  1064. connections to the specified host are kicked instead. No key is  required  for
  1065. the kick subcommand.
  1066.  
  1067. The exit and reset subcommands  are  mainly  useful  for  restarting  the  net
  1068. program  on  a  remote unattended system after the configuration file has been
  1069. updated.  The remote system should invoke the net program  automatically  upon
  1070. booting,  preferably  in an infinite loop.  For example, under MS-DOS the boot
  1071. disk should contain the following in aaauuutttoooeeexxxeeeccc...nnneeettt:
  1072.  
  1073.      :loop
  1074.      net
  1075.      goto :loop
  1076.  
  1077. 333...777777...  ---sss <<<kkkeeeyyy>>>
  1078.  
  1079. The exit and reset subcommands of remote require a password.  The password  is
  1080. set  on a given system with the ---sss option, and it is specified in a command to
  1081. a remote system with the ---kkk option. If no password is set with the ---sss  option,
  1082. then the exit and reset subcommands are disabled.
  1083.  
  1084. Note that rrreeemmmooottteee is an experimental feature in NOS; it is _n_o_t yet supported by
  1085. any other TCP/IP implementation.
  1086.  
  1087.  
  1088. 333...777888...  rrreeennnaaammmeee <<<fffiiillleee111>>> <<<fffiiillleee222>>>
  1089.  
  1090. Rename fffiiillleee111 to fffiiillleee222.
  1091.  
  1092.  
  1093. 333...777999...  rrreeessseeettt [[[<<<ssseeessssssiiiooonnn>>>]]]
  1094.  
  1095. Reset the specified session; if  no  argument  is  given,  reset  the  current
  1096. session.   This command should be used with caution since it does not reliably
  1097. inform the remote end that the connection no longer exists.  (In TCP  a  reset
  1098. (RST)  message  will  be  automatically  generated  should the remote TCP send
  1099. anything after a local reset has been done.  In AX.25 the DM message  performs
  1100. a  similar role.  Both are used to get rid of a lingering half-open connection
  1101. after a remote system has crashed.)
  1102.  
  1103.  
  1104. 333...888000...  rrriiippp aaacccccceeepppttt <<<gggaaattteeewwwaaayyy>>>
  1105.  
  1106. Remove the specified gateway  from  the  RIP  filter  table,  allowing  future
  1107. broadcasts from that gateway to be accepted.
  1108.  
  1109.  
  1110. 333...888111...  rrriiippp aaadddddd <<<hhhooossstttiiiddd>>> <<<iiinnnttteeerrrvvvaaalll>>> [[[<<<ffflllaaagggsss>>>]]]
  1111.  
  1112. Add an entry to the RIP broadcast table. The IP routing table will be sent  to
  1113. hhhooossstttiiiddd  every  iiinnnttteeerrrvvvaaalll  seconds.  If  ffflllaaagggsss  is  specified  as 1, then "split
  1114. horizon" processing will be performed for this destination. That  is,  any  IP
  1115. routing table entries pointing to the interface that will be used to send this
  1116. update will be removed from the update.  If split horizon  processing  is  not
  1117. specified,  then  all routing table entries except those marked "private" will
  1118.  
  1119.  
  1120.                                                                               
  1121.  
  1122.  
  1123.  
  1124.  
  1125.                                     - 18 -                                    
  1126.  
  1127.  
  1128. be sent in each update.  (Private entries are never sent in RIP packets).
  1129.  
  1130. Triggered updates are always done. That is, any change in  the  routing  table
  1131. that  causes  a  previously  reachable  destination to become unreachable will
  1132. trigger an update that advertises the destination with metric 15,  defined  to
  1133. mean "infinity".
  1134.  
  1135. Note that for RIP packets to be sent properly to a  broadcast  address,  there
  1136. must  exist correct IP routing and ARP table entries that will first steer the
  1137. broadcast to the correct interface  and  then  place  the  correct  link-level
  1138. broadcast  address  in  the  link-level  destination  field.  If a standard IP
  1139. broadcast address convention is used (e.g., 128.96.0.0 or 128.96.255.255) then
  1140. chances are you already have the necessary IP routing table entry, but unusual
  1141. subnet or cluster-addressed networks may require special attention.   However,
  1142. an  aaarrrppp  aaadddddd  command  will  be  required  to  translate  this  address to the
  1143. appropriate link level broadcast address, e.g.,
  1144.  
  1145.  
  1146. arp add 128.96.0.0 ethernet ff:ff:ff:ff:ff:ff
  1147.  
  1148. for an Ethernet network, and
  1149.  
  1150.  
  1151. arp add 44.255.255.255 ax25 qst-0
  1152.  
  1153. for an AX25 packet radio channel.
  1154.  
  1155.  
  1156. 333...888222...  rrriiippp dddrrroooppp <<<dddeeesssttt>>>
  1157.  
  1158. Remove an entry from the RIP broadcast table.
  1159.  
  1160.  
  1161. 333...888333...  rrriiippp mmmeeerrrgggeee [[[ooonnn|||oooffffff]]]
  1162.  
  1163. This flag controls an experimental feature for consolidating redundant entries
  1164. in  the  IP  routing  table. When rip merging is enabled, the table is scanned
  1165. after processing each RIP update. An entry  is  considered  redundant  if  the
  1166. target(s)  it  covers  would  be routed identically by a less "specific" entry
  1167. already in the table. That is, the target address(es) specified by  the  entry
  1168. in  question  must  also match the target addresses of the less specific entry
  1169. and the two entries must have the  same  interface  and  gateway  fields.  For
  1170. example, if the routing table contains
  1171.  
  1172.  
  1173. Dest            Len Interface    Gateway          Metric  P Timer  Use
  1174. 1.2.3.4         32  ethernet0    128.96.1.2       1       0 0      0
  1175. 1.2.3           24  ethernet0    128.96.1.2       1       0 0      0
  1176.  
  1177. then the first entry would be deleted  as  redundant  since  packets  sent  to
  1178. 1.2.3.4  will  still  be  routed  correctly by the second entry. Note that the
  1179. relative metrics of the entries are ignored.
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.                                                                               
  1187.  
  1188.  
  1189.  
  1190.  
  1191.                                     - 19 -                                    
  1192.  
  1193.  
  1194. 333...888444...  rrriiippp rrreeefffuuussseee <<<gggaaattteeewwwaaayyy>>>
  1195.  
  1196. Refuse to accept RIP updates from the specified gateway by adding the  gateway
  1197. to the RIP filter table. It may be later removed with the rrriiippp aaacccccceeepppttt command.
  1198.  
  1199.  
  1200. 333...888555...  rrriiippp rrreeeqqquuueeesssttt <<<gggaaattteeewwwaaayyy>>>
  1201.  
  1202. Send a RIP Request packet to the specified gateway, causing it to reply with a
  1203. RIP Response packet containing its routing table.
  1204.  
  1205.  
  1206. 333...888666...  rrriiippp ssstttaaatttuuusss
  1207.  
  1208. Display RIP status, including a count  of  the  number  of  packets  sent  and
  1209. received,  the  number  of  requests  and responses, the number of unknown RIP
  1210. packet types, and the number of refused RIP updates from hosts in  the  filter
  1211. table. A list of the addresses and intervals to which periodic RIP updates are
  1212. being sent is also shown, along with the contents of the filter table.
  1213.  
  1214.  
  1215. 333...888777...  rrriiippp tttrrraaaccceee [[[000|||111|||222]]]
  1216.  
  1217. This variable controls the tracing  of  incoming  and  outgoing  RIP  packets.
  1218. Setting  it  to 0 disables all RIP tracing. A value of 1 causes changes in the
  1219. routing table to be displayed, while packets that cause no  changes  cause  no
  1220. output.  Setting  the variable to 2 produces maximum output, including tracing
  1221. of RIP packets that cause no change in the routing table.
  1222.  
  1223.  
  1224. 333...888888...  rrrooouuuttteee
  1225.  
  1226. With no arguments, rrrooouuuttteee displays the IP routing table.
  1227.  
  1228.  
  1229. 333...888999...   rrrooouuuttteee  aaadddddd  <<<dddeeesssttt___hhhooossstttiiiddd>>>[[[///bbbiiitttsss]]]|||dddeeefffaaauuulllttt   <<<iiifffaaaccceee>>>   [[[<<<gggaaattteeewwwaaayyy___hhhooossstttiiiddd>>>
  1230. [[[<<<mmmeeetttrrriiiccc>>>]]]]]]
  1231.  
  1232. This command adds an entry to the routing table. It requires at least two more
  1233. arguments, the host_id of the target destination and the name of the interface
  1234. to which its packets should be sent.  If the destination  is  not  local,  the
  1235. gateway's  host_id  should also be specified. (If the interface is a point-to-
  1236. point link, then gggaaattteeewwwaaayyy___hhhooossstttiiiddd may be omitted even if the target is non-local
  1237. because this field is only used to determine the gateway's link level address,
  1238. if any.  If the destination is  directly  reachable,  gggaaattteeewwwaaayyy___hhhooossstttiiiddd  is  also
  1239. unnecessary  since  the destination address is used to determine the interface
  1240. link address).
  1241.  
  1242. The optional ///bbbiiitttsss suffix to  the  destination  host  id  specifies  how  many
  1243. leading  bits  in  the host id are to be considered significant in the routing
  1244. comparisons.  If not specified, 32 bits (i.e., full significance) is  assumed.
  1245. With  this  option,  a  single routing table entry may refer to many hosts all
  1246. sharing a common bit string prefix in their IP addresses.  For  example,  ARPA
  1247. Class  A, B and C networks would use suffixes of /8, /16 and /24 respectively;
  1248. the command
  1249.  
  1250.  
  1251.  
  1252.                                                                               
  1253.  
  1254.  
  1255.  
  1256.  
  1257.                                     - 20 -                                    
  1258.  
  1259.  
  1260. route add 44/8 sl0 44.64.0.2
  1261.  
  1262. causes any IP addresses beginning with "44" in the first 8 bits to  be  routed
  1263. to 44.64.0.2; the remaining 24 bits are "don't-cares".
  1264.  
  1265. When an IP address to be routed matches more than one  entry  in  the  routing
  1266. table, the entry with largest bbbiiitttsss parameter (i.e., the "best" match) is used.
  1267. This allows individual hosts or blocks of hosts to be  exceptions  to  a  more
  1268. general rule for a larger block of hosts.
  1269.  
  1270. The special destination dddeeefffaaauuulllttt is used to route datagrams  to  addresses  not
  1271. matched  by  any  other  entries  in  the  routing  table; it is equivalent to
  1272. specifying a ///bbbiiitttsss suffix of /0 to any destination hostid.  Care must be taken
  1273. with  default  entries  since  two nodes with default entries pointing at each
  1274. other will route packets to unknown addresses back and forth in a  loop  until
  1275. their time-to-live (TTL) fields expire.  (Routing loops for specific addresses
  1276. can also be created, but this is less likely to occur accidentally).
  1277.  
  1278. Here are some examples of the route command:
  1279.  
  1280. # Route datagrams to IP address 44.0.0.3 to SLIP line #0.
  1281. # No gateway is needed because SLIP is point-to point.
  1282. route add 44.0.0.3 sl0
  1283.  
  1284. # Route all default traffic to the gateway on the local Ethernet
  1285. # with IP address 44.0.0.1
  1286. route add default ec0 44.0.0.1
  1287.  
  1288. # The local Ethernet has an ARPA Class-C address assignment;
  1289. # route all IP addresses beginning with 192.4.8 to it
  1290. route add 192.4.8/24 ec0
  1291.  
  1292. # The station with IP address 44.0.0.10 is on the local AX.25 channel
  1293. route add 44.0.0.10 ax0
  1294.  
  1295. 333...999000...  rrrooouuuttteee aaaddddddppprrriiivvvaaattteee <<<dddeeesssttt hhhooossstttiiiddd>>>[[[///bbbiiitttsss]]]|||dddeeefffaaauuulllttt <<<iiifffaaaccceee>>> [[[<<<gggaaattteeewwwaaayyy hhhooossstttiiiddd>>>
  1296. [[[<<<mmmeeetttrrriiiccc>>>]]]]]]
  1297.  
  1298. This command is identical to rrrooouuuttteee aaadddddd except that it also marks the new entry
  1299. as private; it will never be included in outgoing RIP updates.
  1300.  
  1301.  
  1302. 333...999111...  rrrooouuuttteee dddrrroooppp <<<dddeeesssttt hhhooossstttiiiddd>>>
  1303.  
  1304. rrrooouuuttteee dddrrroooppp deletes an entry from the  table.  If  a  packet  arrives  for  the
  1305. deleted address and a default route is in effect, it will be used.
  1306.  
  1307.  
  1308. 333...999222...  ssseeessssssiiiooonnn [[[<<<ssseeessssssiiiooonnn ###>>>]]]
  1309.  
  1310. Without arguments, displays the list of current  sessions,  including  session
  1311. number,  remote  TCP  or  AX.25  address  and  the address of the TCP or AX.25
  1312. control block.  An asterisk (*) is shown next to the current session; entering
  1313. a  blank  line  at  this  point  puts  you in converse mode with that session.
  1314. Entering a session number as an argument to the session command will  put  you
  1315. in converse mode with that session.  If the Telnet server is enabled, the user
  1316.  
  1317.  
  1318.                                                                               
  1319.  
  1320.  
  1321.  
  1322.  
  1323.                                     - 21 -                                    
  1324.  
  1325.  
  1326. is notified of an incoming request  and  a  session  number  is  automatically
  1327. assigned.   The user may then select the session normally to converse with the
  1328. remote user as though the session had been locally initiated.
  1329.  
  1330.  
  1331. 333...999333...  ssshhheeellllll
  1332.  
  1333. Suspends _n_e_t and executes a sub  shell  ("command  processor"  under  MS-DOS).
  1334. When  the sub shell exits, _n_e_t resumes (under MS-DOS, enter the eeexxxiiittt command).
  1335. Background activity (FTP servers, etc) is also suspended  while  the  subshell
  1336. executes.  Note  that  this will fail unless there is sufficient unused memory
  1337. for the subshell  and  whatever  command  the  user  tries  to  run  (see  the
  1338. discussion of ---fff option to nnneeettt...eeexxxeee).
  1339.  
  1340.  
  1341. 333...999444...  sssmmmtttppp gggaaattteeewwwaaayyy [[[<<<hhhooossstttiiiddd>>>]]]
  1342.  
  1343. Displays or sets the host to be used as a "smart" mail relay. Any mail sent to
  1344. a  host  not  in  the  host  table  will  instead  be  sent to the gateway for
  1345. forwarding.
  1346.  
  1347.  
  1348. 333...999555...  sssmmmtttppp kkkiiiccckkk
  1349.  
  1350. Run through the outgoing mail queue and attempt to deliver any  pending  mail.
  1351. This  command is periodically invoked by a timer whenever _n_e_t is running; this
  1352. command allows the user to "kick" the mail system manually.
  1353.  
  1354.  
  1355. 333...999666...  sssmmmtttppp mmmaaaxxxcccllliiieeennntttsss [[[<<<vvvaaalll>>>]]]
  1356.  
  1357. Displays or sets the maximum number of  simultaneous  outgoing  SMTP  sessions
  1358. that  will be allowed. The default is 10; reduce it if network congestion is a
  1359. problem.
  1360.  
  1361.  
  1362. 333...999777...  sssmmmtttppp tttiiimmmeeerrr [[[<<<vvvaaalll>>>]]]
  1363.  
  1364. Displays or sets the interval, in seconds, between scans of the outbound  mail
  1365. queue. For example, sssmmmtttppp tttiiimmmeeerrr 666000000 will cause the system to check for outgoing
  1366. mail every 10 minutes and attempt to deliver anything  it  finds,  subject  of
  1367. course  to  the  sssmmmtttppp mmmaaaxxxcccllliiieeennntttsss limit. Setting a value of zero disables queue
  1368. scanning altogether, note that this is the default!  This value is recommended
  1369. for  stand  alone  IP gateways that never handle mail, since it saves wear and
  1370. tear on the floppy disk drive.
  1371.  
  1372.  
  1373. 333...999888...  sssmmmtttppp tttrrraaaccceee [[[<<<vvvaaalll>>>]]]
  1374.  
  1375. Displays or sets the trace flag in the SMTP  client,  allowing  you  to  watch
  1376. SMTP's  conversations  as  it  delivers  mail.   Zero  (the  default) disables
  1377. tracing.
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.                                                                               
  1385.  
  1386.  
  1387.  
  1388.  
  1389.                                     - 22 -                                    
  1390.  
  1391.  
  1392. 333...999999...  sssoooccckkkeeettt [[[<<<sssoooccckkkeeettt ###>>>]]]
  1393.  
  1394. Without an argument, displays all active sockets, giving their index and type,
  1395. the address of the associated protocol control block and the and owner process
  1396. ID and name. If the index to an active socket is supplied, the status  display
  1397. for  the appropriate protocol is called.  For example, if the socket refers to
  1398. a TCP connection, the display will be that given by  the  tttcccppp  ssstttaaatttuuusss  command
  1399. with the protocol control block address.
  1400.  
  1401.  
  1402. 333...111000000...  ssstttaaarrrttt aaaxxx222555|||dddiiissscccaaarrrddd|||eeeccchhhooo|||ffftttppp|||nnneeetttrrrooommm|||rrreeemmmooottteee|||sssmmmtttppp|||ttteeelllnnneeettt|||ttttttyyyllliiinnnkkk
  1403.  
  1404. Start the specified Internet server, allowing remote connection requests.
  1405.  
  1406.  
  1407. 333...111000111...  ssstttoooppp aaaxxx222555|||dddiiissscccaaarrrddd|||eeeccchhhooo|||ffftttppp|||nnneeetttrrrooommm|||rrreeemmmooottteee|||sssmmmtttppp|||ttteeelllnnneeettt|||ttttttyyyllliiinnnkkk
  1408.  
  1409. Stop the specified Internet  server,  rejecting  any  further  remote  connect
  1410. requests. Existing connections are allowed to complete normally.
  1411.  
  1412.  
  1413. 333...111000222...  tttcccppp iiirrrtttttt [[[<<<vvvaaalll>>>]]]
  1414.  
  1415. Display or set the initial round trip time estimate, in  milliseconds,  to  be
  1416. used  for  new  TCP connections until they can measure and adapt to the actual
  1417. value.  The default is 5000 milliseconds (5 seconds).   Increasing  this  when
  1418. operating  over  slow  channels  will avoid the flurry of retransmissions that
  1419. would otherwise occur as the smoothed estimate settles  down  at  the  correct
  1420. value.  Note  that  this command should be given before servers are started in
  1421. order for it to have effect on incoming connections.
  1422.  
  1423. TCP also keeps a _c_a_c_h_e of measured round trip times and mean deviations (MDEV)
  1424. for  current and recent destinations. Whenever a new TCP connection is opened,
  1425. the system first looks in this cache. If the destination is found, the  cached
  1426. IRTT  and MDEV values are used. If not, the default IRTT value mentioned above
  1427. is used, along with a MDEV of 0.  This feature is fully automatic, and it  can
  1428. improve performance greatly when a series of connections are opened and closed
  1429. to a given destination (e.g., a series of  FTP  file  transfers  or  directory
  1430. listings).
  1431.  
  1432.  
  1433. 333...111000333...  tttcccppp kkkiiiccckkk <<<tttcccbbb___aaaddddddrrr>>>
  1434.  
  1435. If there is unacknowledged data on the send queue of the specified  TCB,  this
  1436. command forces an immediate retransmission.
  1437.  
  1438.  
  1439. 333...111000444...  tttcccppp mmmssssss [[[<<<sssiiizzzeee>>>]]]
  1440.  
  1441. Display or set the TCP Maximum Segment Size in bytes that will be sent on  all
  1442. outgoing  TCP  connect  request (SYN segments).  This tells the remote end the
  1443. size of the largest segment (packet) it may send. Changing  MSS  affects  only
  1444. future connections; existing connections are unaffected.
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.                                                                               
  1451.  
  1452.  
  1453.  
  1454.  
  1455.                                     - 23 -                                    
  1456.  
  1457.  
  1458. 333...111000555...  tttcccppp rrreeessseeettt <<<tttcccbbb___aaaddddddrrr>>>
  1459.  
  1460. Deletes the TCP control block at the specified address.
  1461.  
  1462.  
  1463. 333...111000666...  tttcccppp rrrtttttt <<<tttcccbbb___aaaddddddrrr>>> <<<rrrttttttvvvaaalll>>>
  1464.  
  1465. Replaces the automatically computed round trip time in the specified TCB  with
  1466. the  rrrttttttvvvaaalll in milliseconds.  This command is useful to speed up recovery from
  1467. a series of lost packets since it provides a manual bypass around  the  normal
  1468. backoff retransmission timing mechanisms.
  1469.  
  1470.  
  1471. 333...111000777...  tttcccppp ssstttaaatttuuusss [[[<<<tttcccbbb___aaaddddddrrr>>>]]]
  1472.  
  1473. Without arguments, displays several TCP-level statistics, plus  a  summary  of
  1474. all  existing  TCP  connections, including TCB address, send and receive queue
  1475. sizes, local  and  remote  sockets,  and  connection  state.  If  tttcccbbb___aaaddddddrrr  is
  1476. specified,  a  more detailed dump of the specified TCB is generated, including
  1477. send and receive sequence numbers and timer information.
  1478.  
  1479.  
  1480. 333...111000888...  tttcccppp wwwiiinnndddooowww [[[<<<vvvaaalll>>>]]]
  1481.  
  1482. Displays or sets the default receive window size in bytes to be  used  by  TCP
  1483. when creating new connections. Existing connections are unaffected.
  1484.  
  1485.  
  1486. 333...111000999...  ttteeelllnnneeettt <<<hhhooossstttiiiddd>>>
  1487.  
  1488. Creates a Telnet session to the specified host and enters converse mode.
  1489.  
  1490.  
  1491. 333...111111000...  tttiiippp <<<iiifffaaaccceee>>>
  1492.  
  1493. Creates a tttiiippp session that  connects  to  the  specified  interface  in  "dumb
  1494. terminal" mode.  The interface must have already been attached with the aaattttttaaaccchhh
  1495. command.  Any packet traffic (IP datagrams, etc) routed to the interface while
  1496. this  session exists will be discarded.  To close a tttiiippp session, use the rrreeessseeettt
  1497. command. It will then revert to normal sssllliiippp,,, nnnrrrsss or kkkiiissssss mode operation.
  1498.  
  1499. This feature is primarily useful for manually establishing  SLIP  connections.
  1500. At present, only the built-in "com" ports can be used with this command.
  1501.  
  1502.  
  1503. 333...111111111...  tttrrraaaccceee [[[<<<iiifffaaaccceee>>> [[[<<<ffflllaaagggsss>>> [[[<<<tttrrraaaccceeefffiiillleee>>>]]]]]]]]]
  1504.  
  1505. Controls packet tracing by the interface drivers. Specific bits enable tracing
  1506. of  the various interfaces and the amount of information produced.  Tracing is
  1507. controlled on a per-interface basis; without arguments, tttrrraaaccceee gives a list  of
  1508. all  defined  interfaces and their tracing status.  Output can be limited to a
  1509. single interface by specifying it, and the control  flags  can  be  change  by
  1510. specifying  them as well. The flags are given as a hexadecimal number which is
  1511. interpreted as follows:
  1512.  
  1513.  
  1514.  
  1515.  
  1516.                                                                               
  1517.  
  1518.  
  1519.  
  1520.  
  1521.                                     - 24 -                                    
  1522.  
  1523.  
  1524. BTIO
  1525. ||||--- Enable tracing of output packets if 1, disable if 0
  1526. |||---- Enable tracing of input packets if 1, disable if 0
  1527. ||----- Controls type of tracing:
  1528. |       0 - Protocol headers are decoded, but data is not displayed
  1529. |       1 - Protocol headers are decoded, and data (but not the
  1530. |           headers themselves) are displayed as ASCII characters,
  1531. |           64 characters/line. Unprintable characters are displayed
  1532. |           as periods.
  1533. |       2 - Protocol headers are decoded, and the entire packet
  1534. |           (headers AND data) is also displayed in hexadecimal
  1535. |           and ASCII, 16 characters per line.
  1536. |------ Broadcast filter flag. If set, only packets specifically addressed
  1537.         to this node will be traced; broadcast packets will not be displayed.
  1538.  
  1539. If tttrrraaaccceeefffiiillleee is not specified, tracing will be to the console.
  1540.  
  1541.  
  1542. 333...111111222...  uuudddppp ssstttaaatttuuusss
  1543.  
  1544. Displays the status of all UDP receive queues.
  1545.  
  1546.  
  1547. 333...111111333...  uuupppllloooaaaddd [[[<<<fffiiillleeennnaaammmeee>>>]]]
  1548.  
  1549. Opens fffiiillleeennnaaammmeee and sends it on the current session as though it were typed  on
  1550. the terminal.
  1551.  
  1552.  
  1553. 333...111111444...  wwwaaatttccchhh
  1554.  
  1555. Displays the current software stopwatch values, with min and max readings  for
  1556. each.  This  facility  allows  a  programmer  to measure the execution time of
  1557. critical sections of  code  with  microsecond  resolution.   This  command  is
  1558. supported  only on the IBM PC, and the meaning of each stopwatch value depends
  1559. on where the calls have been inserted for test purposes; the distribution copy
  1560. of _n_e_t usually has no stopwatch calls.
  1561.  
  1562.  
  1563. 333...111111555...  ???
  1564.  
  1565. Same as the hhheeelllppp command.
  1566.  
  1567.  
  1568. 444...  FFFTTTPPP SSSuuubbbcccooommmmmmaaannndddsss
  1569.  
  1570. During converse mode with an FTP server, everything typed on  the  console  is
  1571. first  examined  to  see if it is a locally-known command. If not, the line is
  1572. passed intact to the remote server on the control channel. If it is one of the
  1573. following commands, however, it is executed locally. (Note that this generally
  1574. involves other commands being  sent  to  the  remote  server  on  the  control
  1575. channel.)
  1576.  
  1577.  
  1578.  
  1579.  
  1580.  
  1581.  
  1582.                                                                               
  1583.  
  1584.  
  1585.  
  1586.  
  1587.                                     - 25 -                                    
  1588.  
  1589.  
  1590. 444...111...  dddiiirrr [[[<<<fffiiillleee>>>|||<<<dddiiirrreeeccctttooorrryyy>>> [[[<<<lllooocccaaalll fffiiillleee>>>]]]]]]
  1591.  
  1592. Without arguments, dddiiirrr requests that a full directory listing  of  the  remote
  1593. server's current directory be sent to the terminal.  If one argument is given,
  1594. this is passed along in the LIST command; this  can  be  a  specific  file  or
  1595. subdirectory  that  is  meaningful to the remote file system. If two arguments
  1596. are given, the second is taken as the local  file  into  which  the  directory
  1597. listing  should  be  put  (instead  of  being  sent to the console).  The PORT
  1598. command is used before the LIST command is sent.
  1599.  
  1600.  
  1601. 444...222...  gggeeettt <<<rrreeemmmooottteee fffiiillleee>>> [[[<<<lllooocccaaalll fffiiillleee>>>]]]
  1602.  
  1603. Asks the remote server to send the file specified in the first argument.   The
  1604. second  argument, if given, will be the name of the file on the local machine;
  1605. otherwise it will have the same name as on the remote machine.  The  PORT  and
  1606. RETR commands are sent on the control channel.
  1607.  
  1608.  
  1609. 444...333...  hhhaaassshhh
  1610.  
  1611. A synonym for the vvveeerrrbbbooossseee 333 command.
  1612.  
  1613.  
  1614. 444...444...  lllsss [[[<<<fffiiillleee>>>|||<<<dddiiirrreeeccctttooorrryyy>>> [[[<<<lllooocccaaalll fffiiillleee>>>]]]]]]
  1615.  
  1616. lllsss is identical to the dddiiirrr command except that the "NLST" command is  sent  to
  1617. the  server  instead  of  the  "LIST"  command. This results in an abbreviated
  1618. directory listing, i.e., one showing only the file  names  themselves  without
  1619. any other information.
  1620.  
  1621.  
  1622. 444...555...  mmmgggeeettt <<<fffiiillleee>>> [[[<<<fffiiillleee>>> .........]]]
  1623.  
  1624. Fetch a collection of files from the server. File names may include wild  card
  1625. characters;  they will be interpreted and expanded into a list of files by the
  1626. remote system using the NLST command. The files will have the same name on the
  1627. local system that they had on the server.
  1628.  
  1629.  
  1630. 444...666...  mmmkkkdddiiirrr <<<rrreeemmmooottteee dddiiirrreeeccctttooorrryyy>>>
  1631.  
  1632. Creates a directory on the remote machine.
  1633.  
  1634.  
  1635. 444...777...  mmmpppuuuttt <<<fffiiillleee>>> [[[<<<fffiiillleee>>> .........]]]  SSSeeennnddd aaa cccooolllllleeeccctttiiiooonnn ooofff fffiiillleeesss tttooo ttthhheee ssseeerrrvvveeerrr... FFFiiillleee
  1636. nnnaaammmeeesss  mmmaaayyy  iiinnncccllluuudddeee wwwiiilllddd cccaaarrrddd ccchhhaaarrraaacccttteeerrrsss;;; ttthhheeeyyy wwwiiillllll bbbeee eeexxxpppaaannndddeeeddd lllooocccaaallllllyyy iiinnntttooo aaa
  1637. llliiisssttt ooofff fffiiillleeesss tttooo bbbeee ssseeennnttt... TTThhheee fffiiillleeesss wwwiiillllll hhhaaavvveee ttthhheee sssaaammmeee nnnaaammmeee ooonnn ttthhheee  ssseeerrrvvveeerrr  aaasss
  1638. ooonnn ttthhheee lllooocccaaalll sssyyysssttteeemmm...
  1639.  
  1640.  
  1641. 444...888...  pppuuuttt <<<lllooocccaaalll fffiiillleee>>> [[[<<<rrreeemmmooottteee fffiiillleee>>>]]]
  1642.  
  1643. Asks the remote server to accept data, creating the file named  in  the  first
  1644. argument.  The  second argument, if given, will be the name of the file on the
  1645. remote machine; otherwise it will have the same name as on the local  machine.
  1646.  
  1647.  
  1648.                                                                               
  1649.  
  1650.  
  1651.  
  1652.  
  1653.                                     - 26 -                                    
  1654.  
  1655.  
  1656. The PORT and STOR commands are sent on the control channel.
  1657.  
  1658.  
  1659. 444...999...  rrrmmmdddiiirrr <<<rrreeemmmooottteee dddiiirrreeeccctttooorrryyy>>>
  1660.  
  1661. Deletes a directory on the remote machine.
  1662.  
  1663.  
  1664. 444...111000...  tttyyypppeee [[[aaa|||iii|||lll <<<bbbyyyttteeesssiiizzzeee>>>]]]
  1665.  
  1666. Tells both the local client and remote server the type of file that is  to  be
  1667. transferred.  The default is 'a', which means ASCII (i.e., a text file).  Type
  1668. 'i' means _i_m_a_g_e, i.e., binary.  In ASCII  mode,  files  are  sent  as  varying
  1669. length  lines  of  text  in ASCII separated by cr/lf sequences; in IMAGE mode,
  1670. files are sent exactly as they appear in the file system.  ASCII  mode  should
  1671. be  used whenever transferring text between dissimilar systems (e.g., UNIX and
  1672. MS-DOS) because of their different end-of-line and/or end-of-file conventions.
  1673. When exchanging text files between machines of the same type, either mode will
  1674. work but IMAGE mode is usually faster.  Naturally, when exchanging raw  binary
  1675. files  (executables,  compressed archives, etc) IMAGE mode must be used.  Type
  1676. 'l' (logical byte size) is used  when  exchanging  binary  files  with  remote
  1677. servers  having  oddball  word sizes (e.g., DECSYSTEM-10s and 20s). Locally it
  1678. works exactly like IMAGE, except that it notifies the remote system how  large
  1679. the  byte  size  is. bbbyyyttteeesssiiizzzeee is typically 8.  The type command sets the local
  1680. transfer mode and generates the TYPE command on the control channel.
  1681.  
  1682.  
  1683. 444...111111...  vvveeerrrbbbooossseee [[[000|||111|||222|||333]]]
  1684.  
  1685. Set or display the level of message output in file transfers.  VVVeeerrrbbbooossseee 000 gives
  1686. the least output, and vvveeerrrbbbooossseee 333 the most, as follows:
  1687.  
  1688. 0 - Display error messages only.
  1689. 1 - Display error messages plus a one-line summary after each transfer
  1690.     giving the name of the file, its size, and the transfer time and rate.
  1691. 2 - Display error and summary messages plus the progress messages generated
  1692.     by the remote FTP server. (This setting is the default.)
  1693. 3 - Display all messages. In addition, a "hash mark" (#) is displayed for
  1694.     every 1,000 bytes sent or received.
  1695.  
  1696. If a command is sent to  the  remote  server  because  it  is  not  recognized
  1697. locally,  the  response  is  always  displayed,  regardless  of the setting of
  1698. vvveeerrrbbbooossseee.  This is necessary for commands like pppwwwddd (display working directory),
  1699. which would otherwise produce no message at all if vvveeerrrbbbooossseee were set to 0 or 1.
  1700.  
  1701.  
  1702. 555...  AAAttttttaaaccchhh CCCooommmmmmaaannndddsss
  1703.  
  1704. This section details the attach commands for the  various  hardware  interface
  1705. drivers. Not all of these drivers may be configured into every net.exe binary;
  1706. a list of the available types may be obtained by entering the  command  aaattttttaaaccchhh
  1707. ???.
  1708.  
  1709. Some parameters are accepted by several drivers. They are:
  1710.  
  1711.  
  1712.  
  1713.  
  1714.                                                                               
  1715.  
  1716.  
  1717.  
  1718.  
  1719.                                     - 27 -                                    
  1720.  
  1721.  
  1722. 555...111...  bbbuuufffsssiiizzzeee
  1723.  
  1724. For asynchronous devices (e.g., COM ports operating in SLIP or NRS mode)  this
  1725. parameter  specifies  the  size  of  the receiver's ring buffer.  It should be
  1726. large enough to hold incoming data at full line speed  for  the  longest  time
  1727. that  the  system may be busy in MS-DOS or the BIOS doing a slow I/O operation
  1728. (e.g., to a floppy disk). A kilobyte is usually more than sufficient.
  1729.  
  1730. For synchronous devices (e.g., the ssscccccc,,, hhhsss,,, pppccc111000000,,, hhhaaapppnnn  and  dddrrrsssiii  interfaces
  1731. operating  in  HDLC  mode), the bufsize parameter specifies the largest packet
  1732. that may be received on the interface.  This should be set by mutual agreement
  1733. among  stations sharing the channel. For standard AX.25 with a maximum I-frame
  1734. data size of 256 bytes, a value of  325  should  provide  an  adequate  safety
  1735. margin. On higher speed channels (e.g., 56kb/s) larger values (e.g., 2K bytes)
  1736. will provide much better performance and allow full-sized Ethernet packets  to
  1737. be carried without fragmentation.
  1738.  
  1739.  
  1740. 555...222...  iiioooaaaddddddrrr
  1741.  
  1742. The base address of the interface's control registers, in hex.
  1743.  
  1744.  
  1745. 555...333...  vvveeeccctttooorrr
  1746.  
  1747. The interface's hardware interrupt (IRQ) vector, in hex.
  1748.  
  1749.  
  1750. 555...444...  iiifffaaaccceee
  1751.  
  1752. The name (an arbitrary character string) to be assigned to this interface.  It
  1753. is  used  to  refer  to the interface in iiifffaaaccceee and rrrooouuuttteee commands and in tttrrraaaccceee
  1754. output.
  1755.  
  1756.  
  1757. 555...555...  mmmtttuuu
  1758.  
  1759. The Maximum Transmission Unit size, in  bytes.   Datagrams  larger  than  this
  1760. limit  will  be  fragmented  at the IP layer into smaller pieces. For AX.25 UI
  1761. frames, this limits the size of the information field.  For  AX.25  I  frames,
  1762. however,  the  aaaxxx222555  pppaaacccllleeennn  parameter  is  also relevant.  If the datagram or
  1763. fragment is still larger than pppaaacccllleeennn, it is also fragmented at the AX.25 level
  1764. (as  opposed  to  the  IP  level)  before  transmission.  (See the aaaxxx222555 pppaaacccllleeennn
  1765. command for further information).
  1766.  
  1767.  
  1768. 555...666...  aaattttttaaaccchhh 333ccc555000000 <<<iiioooaaaddddddrrr>>> <<<vvveeeccctttooorrr>>> aaarrrpppaaa <<<iiifffaaaccceee>>> <<<qqqllleeennn>>> <<<mmmtttuuu>>> [[[<<<iiippp___aaaddddddrrr>>>]]]
  1769.  
  1770. Attach a 3Com  3C501  Ethernet  interface.   qqqllleeennn  is  the  maximum  allowable
  1771. transmit  queue  length.   If  the  iiippp___aaaddddddrrr  parameter is not given, the value
  1772. associated with a prior iiippp aaaddddddrrreeessssss command will be used.
  1773.  
  1774. The use of this driver is not recommended; use  the  packet  driver  interface
  1775. with the loadable 3C501 packet driver instead.
  1776.  
  1777.  
  1778.  
  1779.  
  1780.                                                                               
  1781.  
  1782.  
  1783.  
  1784.  
  1785.                                     - 28 -                                    
  1786.  
  1787.  
  1788. 555...777...  aaattttttaaaccchhh aaasssyyy  <<<iiioooaaaddddddrrr>>>  <<<vvveeeccctttooorrr>>>  sssllliiippp|||aaaxxx222555|||nnnrrrsss  <<<iiifffaaaccceee>>>  <<<bbbuuufffsssiiizzzeee>>>  <<<mmmtttuuu>>>
  1789. <<<ssspppeeeeeeddd>>> [[[<<<ffflllaaagggsss>>>]]]
  1790.  
  1791. Attach a "com port" (asynchronous serial port).  Standard values on the IBM PC
  1792. and clones for iiioooaaaddddddrrr and vvveeeccctttooorrr are 0x3f8 and 4 for COM1, and 0x2f8 and 3 for
  1793. COM2. If the port uses a 16550A chip, it will be  detected  automatically  and
  1794. the FIFOs enabled.
  1795.  
  1796. Three operating modes are available:
  1797.  
  1798.  
  1799. 555...777...111...  sssllliiippp
  1800.  
  1801. Encapsulates IP datagrams directly in SLIP frames without a link header.  This
  1802. is  for  operation  on point-to-point lines and is compatible with 4.2BSD UNIX
  1803. SLIP.
  1804.  
  1805.  
  1806. 555...777...222...  aaaxxx222555
  1807.  
  1808. Similar to sssllliiippp, except that an AX.25 header and a KISS TNC control header are
  1809. added  to  the  front  of  the  datagram  before  SLIP  encoding.   Either  UI
  1810. (connectionless) or I (connection-oriented) AX.25 frames can be used; see  the
  1811. mmmooodddeee command for details.
  1812.  
  1813.  
  1814. 555...777...333...  nnnrrrsss
  1815.  
  1816. Use the NET/ROM asynchronous framing technique for communication with a  local
  1817. NET/ROM TNC.
  1818.  
  1819.  
  1820. 555...888...  aaattttttaaaccchhh dddrrrsssiii <<<iiioooaaaddddddrrr>>> <<<vvveeeccctttooorrr>>> aaaxxx222555 <<<iiifffaaaccceee>>> <<<bbbuuufffsssiiizzzeee>>> <<<mmmtttuuu>>>  <<<ccchhh___aaa___ssspppeeeeeeddd>>>
  1821. <<<ccchhh___bbb___ssspppeeeeeeddd>>>
  1822.  
  1823. Attach a Digital Radio Systems PCPA card. Since there are two channels on  the
  1824. board,  two interfaces are attached. They will be named iiifffaaaccceee with 'a' and 'b'
  1825. appended. bbbuuufffsssiiizzzeee is the receiver buffer size in bytes; it must be larger than
  1826. the largest frame to be received. ccchhh___aaa___ssspppeeeeeeddd and ccchhh___bbb___ssspppeeeeeeddd are the speeds, in
  1827. bits/sec, for the A and B channels, respectively.
  1828.  
  1829.  
  1830. 555...999...  aaattttttaaaccchhh eeeaaagggllleee <<<iiioooaaaddddddrrr>>> <<<vvveeeccctttooorrr>>> aaaxxx222555 <<<iiifffaaaccceee>>> <<<bbbuuufffsssiiizzzeee>>> <<<mmmtttuuu>>> <<<ssspppeeeeeeddd>>>
  1831.  
  1832. Attach an Eagle Computer 8530 interface card.
  1833.  
  1834.  
  1835. 555...111000...  aaattttttaaaccchhh hhhaaapppnnn <<<iiioooaaaddddddrrr>>> <<<vvveeeccctttooorrr>>> aaaxxx222555 <<<iiifffaaaccceee>>> <<<bbbuuufffsssiiizzzeee>>> <<<mmmtttuuu>>> cccsssmmmaaa|||fffuuullllll
  1836.  
  1837. Attach a Hamilton Area Packet Network adapter using the Intel 8273 chip.   The
  1838. cccsssmmmaaa|||fffuuullllll parameter specifies whether the port should operate in carrier sense
  1839. multiple access (CSMA) mode or in full duplex.
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.  
  1846.                                                                               
  1847.  
  1848.  
  1849.  
  1850.  
  1851.                                     - 29 -                                    
  1852.  
  1853.  
  1854. 555...111111...  aaattttttaaaccchhh hhhsss <<<iiioooaaaddddddrrr>>> <<<vvveeeccctttooorrr>>> aaaxxx222555 <<<iiifffaaaccceee>>> <<<bbbuuufffsssiiizzzeee>>> <<<mmmtttuuu>>>  <<<kkkeeeyyyuuuppp___dddeeelllaaayyy>>>
  1855. <<<ppp>>>
  1856.  
  1857. Attach a DRSI PCPA or Eagle Computer interface  card  using  a  special  "high
  1858. speed"  driver. This driver uses busy-wait loops to send and receive each byte
  1859. instead of interrupts, making it usable with high  speed  (56kb/s)  modems  on
  1860. slow systems. This does have the side effect of "freezing" the system whenever
  1861. the modem transmitter or receiver is active.  This driver can operate only  in
  1862. CSMA  mode,  and  it  is  recommended that no other interfaces requiring small
  1863. interrupt latencies be attached to the same machine.
  1864.  
  1865. The kkkeeeyyyuuuppp___dddeeelllaaayyy parameter specifies the transmitter keyup delay in  byte  time
  1866. intervals.  The  ppp  value  specifies  the transmitter persistence value in the
  1867. range 1-255; the corresponding slot time is fixed at one hardware clock  tick,
  1868. about 55 ms on the PC.
  1869.  
  1870. As with the other 8530 drivers, this driver actually attaches two  interfaces,
  1871. one for each 8530 channel.
  1872.  
  1873.  
  1874. 555...111222...  aaattttttaaaccchhh pppaaaccckkkeeettt <<<iiinnntttvvveeeccc>>> <<<iiifffaaaccceee>>> <<<tttxxxqqqllleeennn>>> <<<mmmtttuuu>>>
  1875.  
  1876. Attach a packet driver conforming to the  FTP  Software,  Inc,  Packet  Driver
  1877. Specification.  The  driver must have already been installed before the attach
  1878. command is given. Packet drivers in the Ethernet, ARCNET, SLIP, KISS/AX25  and
  1879. SLFP classes are supported.
  1880.  
  1881. iiinnntttvvveeeccc is the software interrupt vector used for communication to  the  packet
  1882. driver,  and  tttxxxqqqllleeennn  is the maximum number of packets that will be allowed on
  1883. the transmit queue.
  1884.  
  1885.  
  1886. 555...111333...  aaattttttaaaccchhh pppccc111000000 <<<iiioooaaaddddddrrr>>> <<<vvveeeccctttooorrr>>> aaaxxx222555 <<<iiifffaaaccceee>>> <<<bbbuuufffsssiiizzzeee>>> <<<ssspppeeeeeeddd>>>
  1887.  
  1888. Attach a Paccomm PC-100 interface card. Only AX.25 operation is supported.
  1889.  
  1890.  
  1891. 555...111444...  aaattttttaaaccchhh ssscccccc <<<dddeeevvviiiccceeesss>>> iiinnniiittt  <<<aaaddddddrrr>>>  <<<ssspppaaaccciiinnnggg>>>  <<<AAAoooffffff>>>  <<<BBBoooffffff>>>  <<<DDDaaatttaaaoooffffff>>>
  1892. <<<iiinnntttaaaccckkk>>> <<<vvveeeccc>>> [[[ppp]]]<<<cccllloooccckkk>>> [[[hhhdddwwweee]]] [[[pppaaarrraaammm]]]
  1893.  
  1894. Initialize a generic SCC (8530) interface board prior  to  actually  attaching
  1895. it. The parameters are as follows:
  1896.  
  1897.  
  1898. 555...111444...111...  dddeeevvviiiccceeesss
  1899.  
  1900. The number of SCC chips to support.
  1901.  
  1902.  
  1903. 555...111444...222...  aaaddddddrrr
  1904.  
  1905. The base address of the first SCC chip (hex).
  1906.  
  1907.  
  1908.  
  1909.  
  1910.  
  1911.  
  1912.                                                                               
  1913.  
  1914.  
  1915.  
  1916.  
  1917.                                     - 30 -                                    
  1918.  
  1919.  
  1920. 555...111444...333...  ssspppaaaccciiinnnggg
  1921.  
  1922. The spacing between the SCC chip base addresses.
  1923.  
  1924.  
  1925. 555...111444...444...  AAAoooffffff
  1926.  
  1927. The offset from a chip's base address to its channel A control register.
  1928.  
  1929.  
  1930. 555...111444...555...  BBBoooffffff
  1931.  
  1932. The offset from a chip's base address to its channel B control register.
  1933.  
  1934.  
  1935. 555...111444...666...  DDDaaatttaaaoooffffff
  1936.  
  1937. The offset from each channel's control register to its data register.
  1938.  
  1939.  
  1940. 555...111444...777...  iiinnntttaaaccckkk
  1941.  
  1942. The address of the INTACK/Read Vector port. If none, specify 0  to  read  from
  1943. RR3A/RR2B.
  1944.  
  1945.  
  1946. 555...111444...888...  vvveeeccc
  1947.  
  1948. The CPU interrupt vector for all connected SCCs.
  1949.  
  1950.  
  1951. 555...111444...999...  cccllloooccckkk
  1952.  
  1953. The clock frequency (PCLK/RTxC) of all SCCs in hertz.   Prefix  with  'p'  for
  1954. PCLK, 'r' for RTxC clock (for baudrate gen).
  1955.  
  1956.  
  1957. 555...111444...111000...  hhhdddwwweee
  1958.  
  1959. Optional hardware type. The following values are  currently  supported:   1  -
  1960. Eagle  card,  2  -  PACCOMM  PC-100, 4 - PRIMUS-PC card (DG9BL), 8 - DRSI PCPA
  1961. card.
  1962.  
  1963.  
  1964. 555...111444...111111...  pppaaarrraaammm
  1965.  
  1966. Optional extra parameter. At present, this is used only with  the  PC-100  and
  1967. PRIMUS-PC  cards to set the modem mode. The value 0x22 is used with the PC-100
  1968. and 0x2 is used with the PRIMUS-PC card.
  1969.  
  1970. The aaattttttaaaccchhh ssscccccc ......... iiinnniiittt command  must  be  given  before  the  interfaces  are
  1971. actually attached with the following command.
  1972.  
  1973.  
  1974.  
  1975.  
  1976.  
  1977.  
  1978.                                                                               
  1979.  
  1980.  
  1981.  
  1982.  
  1983.                                     - 31 -                                    
  1984.  
  1985.  
  1986. 555...111555...  aaattttttaaaccchhh ssscccccc <<<ccchhhaaannn>>> sssllliiippp|||kkkiiissssss|||nnnrrrsss|||aaaxxx222555 <<<iiifffaaaccceee>>>  <<<mmmtttuuu>>>  <<<ssspppeeeeeeddd>>>  <<<bbbuuufffsssiiizzzeee>>>
  1987. [[[cccaaallllll]]]
  1988.  
  1989. Attach an initialized SCC port to the system. The parameters are as follows:
  1990.  
  1991.  
  1992. 555...111555...111...  <<<ccchhhaaannn>>>
  1993.  
  1994. The SCC channel number to attach, 0 or 1 for the first chip's A or B  port,  2
  1995. or 3 for the second chip's A or B port, etc.
  1996.  
  1997.  
  1998. 555...111555...222...  sssllliiippp|||kkkiiissssss|||nnnrrrsss|||aaaxxx222555
  1999.  
  2000. The operating mode of the interface. sssllliiippp,,, kkkiiissssss and nnnrrrsss all operate  the  port
  2001. hardware  in asynchronous mode; sssllliiippp is Internet-standard serial line IP mode,
  2002. kkkiiissssss generates SLIP frames containing KISS TNC commands and AX.25 packets  and
  2003. nnnrrrsss  uses  NET/ROM  local  serial  link  framing  conventions to carry NET/ROM
  2004. packets. Selecting aaaxxx222555 mode puts the interface  into  synchronous  HDLC  mode
  2005. that is suitable for direct connection to a half duplex radio modem.
  2006.  
  2007.  
  2008. 555...111555...333...  ssspppeeeeeeddd
  2009.  
  2010. The interface speed in bits per second, e.g., 1200.  Prefix with 'd'  when  an
  2011. external  divider is available to generate the TX clock. When the clock source
  2012. is PCLK, this can be a /32 divider between TRxC and RTxC. When the clock is at
  2013. RTxC,  the  TX  rate  must  be  supplied at TRxC. This is needed only for full
  2014. duplex synchronous operation. When this arg is given as  'ext',  the  transmit
  2015. and  receive  clocks  are external, and the internal baud rate generator (BRG)
  2016. and digital phase locked loop (DPLL) are not used.
  2017.  
  2018.  
  2019. 555...111555...444...  AAAttttttaaaccchhh EEExxxaaammmpppllleeesss
  2020.  
  2021. Here are some examples of the attach command:
  2022.  
  2023. # Attach a 3Com Ethernet controller using the standard 3Com address and
  2024. #  vector  (i.e.,  as  it  comes  out  of  the  box)  to   use   ARPA-standard
  2025. encapsulation.
  2026. # The receive queue is limited to 5 packets, and outgoing packets larger
  2027. # than 1500 bytes will be fragmented
  2028. attach 3c500 0x300 3 arpa ec0 5 1500
  2029.  
  2030. # Attach the PC asynch card normally known as "com1" (the first controller)
  2031. # to operate in point-to-point slip mode at 9600 baud, calling it "sl0".
  2032. # A 1024 byte receiver ring buffer is allocated. Outgoing packets larger
  2033. # than 256 bytes are fragmented.
  2034. attach asy 0x3f8 4 slip sl0 1024 256 9600
  2035.  
  2036. # Attach the secondary PC asynch card ("com2") to operate in AX.25 mode
  2037. # with an MTU of 576 bytes at 9600 baud with a KISS TNC, calling it "ax0".
  2038. # By default, IP datagrams are sent in UI frames
  2039. attach asy 0x2f8 3 ax25 ax0 1024 576 9600
  2040.  
  2041. # Attach the packet driver loaded at interrupt 0x7e
  2042.  
  2043.  
  2044.                                                                               
  2045.  
  2046.  
  2047.  
  2048.  
  2049.                                     - 32 -                                    
  2050.  
  2051.  
  2052. # The packet driver is for an Ethernet interface
  2053. attach packet 0x7e ethernet 8 1500
  2054.  
  2055. 666...  TTThhheee ///ffftttpppuuussseeerrrsss FFFiiillleee
  2056.  
  2057. Since MS-DOS is a single-user  operating  system  (some  might  say  it  is  a
  2058. glorified  bootstrap  loader), it provides no access control; all files can be
  2059. read, written or deleted by the local user.  It is usually undesirable to give
  2060. such  open access to a system to remote network users.  Net therefore provides
  2061. its own access control mechanisms.
  2062.  
  2063. The file ///ffftttpppuuussseeerrrsss controls remote FTP and mailbox access.  The FTP default is
  2064. _n_o  access;  if  this file does not exist, the FTP server will be unusable.  A
  2065. remote user must first "log in" to the system with the USER and PASS commands,
  2066. giving  a  valid  name  and password listed in ///ffftttpppuuussseeerrrsss, before he or she can
  2067. transfer files.
  2068.  
  2069. Each entry in ///ffftttpppuuussseeerrrsss consists of a single line of the form
  2070.  
  2071. username password /path permissions
  2072.  
  2073. There must be exactly four fields, and there must be exactly one space between
  2074. each  field.   Comments may be added after the last field. Comment lines begin
  2075. with '#' in column one.
  2076.  
  2077. uuussseeerrrnnnaaammmeee is the user's login name.
  2078.  
  2079. pppaaasssssswwwooorrrddd is the required password.  Note that this is in plain text; therefore
  2080. it  is  not a good idea to give general read permission to the root directory.
  2081. A password of '*' (a single asterisk) means that any password is acceptable.
  2082.  
  2083. ///pppaaattthhh is the allowable  prefix  on  accessible  files.   Before  any  file  or
  2084. directory  operation,  the current directory and the user- specified file name
  2085. are joined to form an absolute path name in "canonical"  form  (i.e.,  a  full
  2086. path  name  starting  at  the root, with "./" and "../" references, as well as
  2087. redundant /'s, recognized  and  removed).  The  result  MUST  begin  with  the
  2088. allowable  path  prefix;  if  not,  the  operation is denied.  This field must
  2089. always begin with a "/", i.e., at the root directory.
  2090.  
  2091. pppeeerrrmmmiiissssssiiiooonnnsss is a decimal number granting permission for read, create and write
  2092. operations.   If the low order bit (0x1) is set, the user is allowed to read a
  2093. file subject to the path name prefix restriction.  If the next  bit  (0x2)  is
  2094. set,  the  user  is  allowed  to create a new file if it does not overwrite an
  2095. existing file.  If the third bit (0x4) is set, the user is allowed to write  a
  2096. file  even  if  it  overwrites an existing file, and in addition he may delete
  2097. files.  Again, all operations are allowed subject  to  the  path  name  prefix
  2098. restrictions.  Permissions may be combined by adding bits, for example, 0x3 (=
  2099. 0x2 + 0x1) means that the user is given read and create  permission,  but  not
  2100. overwrite/delete permission.
  2101.  
  2102. For example, suppose ///ffftttpppuuussseeerrrsss on machine pc.ka9q.ampr.org contains the line
  2103.  
  2104. friendly test /testdir 7
  2105.  
  2106.  
  2107.  
  2108.  
  2109.  
  2110.                                                                               
  2111.  
  2112.  
  2113.  
  2114.  
  2115.                                     - 33 -                                    
  2116.  
  2117.  
  2118. A session using this account would look like this:
  2119.  
  2120. net> ftp pc.ka9q.ampr.org
  2121. Resolving pc.ka9q.ampr.org... Trying 128.96.160.1...
  2122. FTP session 1 connected to pc.ka9q.ampr.org
  2123. 220 pc.ka9q.ampr.org FTP version 900418 ready at Mon May 7 16:27:18 1990
  2124. Enter user name: friendly
  2125. 331 Enter PASS command
  2126. Password: test [not echoed]
  2127. 230 Logged in
  2128. ftp>
  2129.  
  2130. The user now has read, write, overwrite and delete  privileges  for  any  file
  2131. under /testdir; he may not access any other files.
  2132.  
  2133. Here are some more sample entries in ///ffftttpppuuussseeerrrsss:
  2134.  
  2135. karn foobar / 7         # User "karn" with password "foobar" may read,
  2136.                         # write, overwrite and delete any file on the
  2137.                         # system.
  2138.  
  2139. guest bletch /g/bogus 3 # User "guest" with password "bletch" may read
  2140.                         # any file under /g/bogus and its subdirectories,
  2141.                         # and may create a new file as long as it does
  2142.                         # not overwrite an existing file. He may NOT
  2143.                         # delete any files.
  2144.  
  2145. anonymous * /public 1   # User "anonymous" (any password) may read files
  2146.                         # under /public and its subdirectories; he may
  2147.                         # not create, overwrite or delete any files.
  2148.  
  2149. This last entry is the standard convention for keeping a repository of  public
  2150. files;  in  particular,  the  username  "anonymous"  is  an  established  ARPA
  2151. convention.
  2152.  
  2153.  
  2154. 777...  TTThhheee ///dddooommmaaaiiinnn...tttxxxttt FFFiiillleee
  2155.  
  2156. _N_e_t translates domain names (e.g., "pc.ka9q.ampr.org") to IP addresses  (e.g.,
  2157. 128.96.160.3)  through the use of an Internet Domain Name resolver and a local
  2158. "cache"  file,  ///dddooommmaaaiiinnn...tttxxxttt.  Whenever  the  user  specifies  a  domain  name,
  2159. ///dddooommmaaaiiinnn...tttxxxttt  is first searched for the desired entry.  If it is present, it is
  2160. used; if not, and if domain name server(s) have been configured,  a  query  is
  2161. sent  over  the  network  to  the  current server. If the server responds, the
  2162. answer is appended to the ///dddooommmaaaiiinnn...tttxxxttt file for future use. If the server  does
  2163. not  respond,  any  additional servers on the list are tried indefinitely in a
  2164. round-robin fashion until one responds.  If ///dddooommmaaaiiinnn...tttxxxttt does not  contain  the
  2165. desired  entry  and  there  are  no  configured  domain name servers, then the
  2166. request immediately fails.
  2167.  
  2168. If a domain name server is available, and if all references to hostids in your
  2169. /aaauuutttoooeeexxxeeeccc...nnneeettt file are in IP address format, then it is possible to start with
  2170. a completely empty ///dddooommmaaaiiinnn...tttxxxttt file and have _n_e_t build it for  you.   However,
  2171. you may wish to add your own entries to ///dddooommmaaaiiinnn...tttxxxttt, either because you prefer
  2172. to use symbolic domain names in your /aaauuutttoooeeexxxeeeccc...nnneeettt  file  or  you  don't  have
  2173. access  to a domain server and you need to create entries for all of the hosts
  2174.  
  2175.  
  2176.                                                                               
  2177.  
  2178.  
  2179.  
  2180.  
  2181.                                     - 34 -                                    
  2182.  
  2183.  
  2184. you may wish to access.  Each  entry  takes  one  line,  and  the  fields  are
  2185. separated by tabs. For example:
  2186.  
  2187. pc.ka9q.ampr.org. IN A 128.96.160.3
  2188.  
  2189. IIINNN is the _c_l_a_s_s of the record. It means _I_n_t_e_r_n_e_t, and it will be found in  all
  2190. entries.   AAA  is  the _t_y_p_e of the record, and it means that this is an _a_d_d_r_e_s_s
  2191. record.   Domain  name  pppccc...kkkaaa999qqq...aaammmppprrr...ooorrrggg  therefore   has   Internet   address
  2192. 128.96.160.3.
  2193.  
  2194. Another possible entry is the CCCNNNAAAMMMEEE (Canonical Name) record, e.g.,
  2195.  
  2196. ka9q.ampr.org. IN CNAME pc.ka9q.ampr.org.
  2197.  
  2198. This says that domain name "ka9q.ampr.org" is actually an alias for the system
  2199. with  (primary,  or  _c_a_n_o_n_i_c_a_l) domain name "pc.ka9q.ampr.org."  When a domain
  2200. name having a CCCNNNAAAMMMEEE record is given to _n_e_t, the system  automatically  follows
  2201. the reference to the canonical name and returns the IP address associated with
  2202. that entry.
  2203.  
  2204. Entries added automatically by _n_e_t will have an additional field  between  the
  2205. domain name and the class (IIINNN) field, e.g.,
  2206.  
  2207. pc.ka9q.ampr.org. 3600 IN A 128.96.160.3
  2208.  
  2209. This is the  _t_i_m_e-_t_o-_l_i_v_e  value,  in  seconds,  associated  with  the  record
  2210. received  from  the  server.  Clients  (such as _n_e_t) caching these records are
  2211. supposed to delete them after the time-to-live interval has expired,  allowing
  2212. for the possibility that the information in the record may become out of date.
  2213. Cache expiration is not currently implemented in _n_e_t, but TTLs are recorded in
  2214. ///dddooommmaaaiiinnn...tttxxxttt in anticipation of this feature. Since ///dddooommmaaaiiinnn...tttxxxttt is a plain text
  2215. file, it may be easily edited by the user to delete old records.
  2216.  
  2217. Additional types of records, include  NS  (name  server)  and  SOA  (start  of
  2218. authority)  may  appear in ///dddooommmaaaiiinnn...tttxxxttt from remote server responses. These are
  2219. not currently used by _n_e_t but are retained for future development (such as the
  2220. incorporation  of  a  domain  name  server into _n_e_t itself).  Server responses
  2221. indicating  that  a  given  record  does  not  exist  are  also  recorded   in
  2222. ///dddooommmaaaiiinnn...tttxxxttt. These entries have empty value fields, e.g.,
  2223.  
  2224. foobar.ampr.org. 500 IN A
  2225.  
  2226. 888...  SSSeeettttttiiinnnggg BBBuuufffsssiiizzzeee,,, PPPaaacccllleeennn,,, MMMaaaxxxfffrrraaammmeee,,, MMMTTTUUU,,, MMMSSSSSS aaannnddd WWWiiinnndddooowww
  2227.  
  2228. Many _n_e_t users are confused by these parameters and do not  know  how  to  set
  2229. them  properly.  This  section  will  first  review  these parameters and then
  2230. discuss how to choose values for them. Special emphasis is given  to  avoiding
  2231. interoperability  problems  that  may  appear  when communicating with non-_n_e_t
  2232. implementations of AX.25.
  2233.  
  2234.  
  2235. 888...111...  HHHaaarrrdddwwwaaarrreee PPPaaarrraaammmeeettteeerrrsss
  2236.  
  2237.  
  2238.  
  2239.  
  2240.  
  2241.  
  2242.                                                                               
  2243.  
  2244.  
  2245.  
  2246.  
  2247.                                     - 35 -                                    
  2248.  
  2249.  
  2250. 888...111...111...  BBBuuufffsssiiizzzeee
  2251.  
  2252. This parameter is required by most of _n_e_t's built-in HDLC drivers (e.g., those
  2253. for the DRSI PCPA and the Paccomm PC-100). It specifies the size of the buffer
  2254. to be allocated for each receiver port. HDLC frames  larger  than  this  value
  2255. cannot be received.
  2256.  
  2257. There is no default bbbuuufffsssiiizzzeee; it must be specified in the  aaattttttaaaccchhh  command  for
  2258. the interface.
  2259.  
  2260.  
  2261. 888...222...  AAAXXX222555 PPPaaarrraaammmeeettteeerrrsss
  2262.  
  2263.  
  2264. 888...222...111...  PPPaaacccllleeennn
  2265.  
  2266. Paclen limits the size of the data field in an AX.25 I-frame. This value  does
  2267. _n_o_t  include  the  AX.25  protocol  header (source, destination and digipeater
  2268. addresses).
  2269.  
  2270. Since unconnected-mode (datagram) AX.25 uses UI frames, this parameter has  no
  2271. effect in unconnected mode.
  2272.  
  2273. The default value of pppaaacccllleeennn is 256 bytes.
  2274.  
  2275.  
  2276. 888...222...222...  MMMaaaxxxfffrrraaammmeee
  2277.  
  2278. This parameter controls the number of I-frames that _n_e_t may send on  an  AX.25
  2279. connection  before  it  must  stop and wait for an acknowledgement.  Since the
  2280. AX.25/LAPB sequence number field is 3 bits wide, this number cannot be  larger
  2281. than 7.
  2282.  
  2283. Since unconnected-mode (datagram) AX.25  uses  UI  frames  that  do  not  have
  2284. sequence numbers, this parameter does _n_o_t apply to unconnected mode.
  2285.  
  2286. The default value of mmmaaaxxxfffrrraaammmeee in _n_e_t is 1 frame.
  2287.  
  2288.  
  2289. 888...333...  IIIPPP aaannnddd TTTCCCPPP PPPaaarrraaammmeeettteeerrrsss
  2290.  
  2291.  
  2292. 888...333...111...  MMMTTTUUU
  2293.  
  2294. The MTU (Maximum Transmission Unit) is an interface parameter that limits  the
  2295. size of the largest IP datagram that it may handle.  IP datagrams routed to an
  2296. interface that are larger than its  MTU  are  each  split  into  two  or  more
  2297. _f_r_a_g_m_e_n_t_s.   Each fragment has its own IP header and is handled by the network
  2298. as if it were a distinct IP datagram, but when it arrives at  the  destination
  2299. it  is  held by the IP layer until all of the other fragments belonging to the
  2300. original datagram have arrived.  Then  they  are  reassembled  back  into  the
  2301. complete,  original  IP  datagram.  The minimum acceptable interface MTU is 28
  2302. bytes: 20 bytes for the IP (fragment) header, plus 8 bytes of data.
  2303.  
  2304.  
  2305.  
  2306.  
  2307.  
  2308.                                                                               
  2309.  
  2310.  
  2311.  
  2312.  
  2313.                                     - 36 -                                    
  2314.  
  2315.  
  2316. There is no default MTU in _n_e_t; it  must  be  explicitly  specified  for  each
  2317. interface as part of the aaattttttaaaccchhh command.
  2318.  
  2319.  
  2320. 888...333...222...  MMMSSSSSS
  2321.  
  2322. MSS (Maximum Segment Size) is a TCP-level parameter that limits the amount  of
  2323. data  that  the  _r_e_m_o_t_e  TCP  will send in a single TCP packet. MSS values are
  2324. exchanged in the SYN (connection request) packets that open a TCP  connection.
  2325. In  the  _n_e_t  implementation  of  TCP, the MSS actually used by TCP is further
  2326. reduced in order to avoid fragmentation at the local IP  interface.  That  is,
  2327. the  local TCP asks IP for the MTU of the interface that will be used to reach
  2328. the destination. It then subtracts 40 from the MTU  value  to  allow  for  the
  2329. overhead  of  the  TCP  and  IP  headers.  If  the result is less than the MSS
  2330. received from the remote TCP, it is used instead.
  2331.  
  2332. The default value of MMMSSSSSS is 512 bytes.
  2333.  
  2334.  
  2335. 888...333...333...  WWWiiinnndddooowww
  2336.  
  2337. This is a TCP-level parameter that controls how much data the local  TCP  will
  2338. allow   the  remote  TCP  to  send  before  it  must  stop  and  wait  for  an
  2339. acknowledgement. The actual window value used by TCP when  deciding  how  much
  2340. more data to send is referred to as the _e_f_f_e_c_t_i_v_e _w_i_n_d_o_w.  This is the smaller
  2341. of  two  values:  the  window  advertised  by  the  remote   TCP   minus   the
  2342. unacknowledged  data  in  flight,  and the _c_o_n_g_e_s_t_i_o_n _w_i_n_d_o_w, an automatically
  2343. computed time-varying estimate of how much data the network can handle.
  2344.  
  2345. The default value of WWWiiinnndddooowww is 2048 bytes.
  2346.  
  2347.  
  2348. 888...444...  DDDiiissscccuuussssssiiiooonnn
  2349.  
  2350. 888...444...111...  IIIPPP FFFrrraaagggmmmeeennntttaaatttiiiooonnn vvvsss AAAXXX...222555 SSSeeegggmmmeeennntttaaatttiiiooonnn
  2351.  
  2352. IP-level fragmentation often makes it possible to interconnect two  dissimilar
  2353. networks, but it is best avoided whenever possible.  One reason is that when a
  2354. single IP fragment is lost, all other fragments belonging to the same datagram
  2355. are effectively also lost and the entire datagram must be retransmitted by the
  2356. source.  Even without loss, fragments  require  the  allocation  of  temporary
  2357. buffer  memory  at the destination, and it is never easy to decide how long to
  2358. wait for missing fragments before giving up and  discarding  those  that  have
  2359. already  arrived.   A  reassembly  timer  controls this process.  In _n_e_t it is
  2360. (re)initialized with the iiippp rrrtttiiimmmeeerrr parameter  (default  30  seconds)  whenever
  2361. progress  is  made  in  reassembling  a  datagram  (i.e.,  a  new  fragment is
  2362. received).  It is not necessary that all  of  the  fragments  belonging  to  a
  2363. datagram  arrive  within  a  single  timeout  interval, only that the interval
  2364. between fragments be less than the timeout.
  2365.  
  2366. Most  subnetworks  that  carry  IP  have  MTUs  of  576  bytes  or  more,   so
  2367. interconnecting  them  with  subnetworks  having  smaller values can result in
  2368. considerable fragmentation. For this  reason,  IP  implementors  working  with
  2369. links  or  subnets having unusually small packet size limits are encouraged to
  2370. use _t_r_a_n_s_p_a_r_e_n_t _f_r_a_g_m_e_n_t_a_t_i_o_n, that is, to devise schemes to break up large IP
  2371. datagrams  into  a  sequence  of  link  or  subnet frames that are immediately
  2372.  
  2373.  
  2374.                                                                               
  2375.  
  2376.  
  2377.  
  2378.  
  2379.                                     - 37 -                                    
  2380.  
  2381.  
  2382. reassembled on the other end of the link or subnet into the original, whole IP
  2383. datagram  without the use of IP-level fragmentation. Such a scheme is provided
  2384. in AX.25 Version 2.1.  It can break a large IP  or  NET/ROM  datagram  into  a
  2385. series  of pppaaacccllleeennn-sized AX.25 segments (not to be confused with TCP segments),
  2386. one per AX.25 I-frame, for transmission and  reassemble  them  into  a  single
  2387. datagram  at  the  other  end  of  the  link before handing it up to the IP or
  2388. NET/ROM module.  Unfortunately, the segmentation procedure is a new feature in
  2389. AX.25 and is not yet widely implemented; in fact, _n_e_t is so far the only known
  2390. implementation. This creates some interoperability problems  between  _n_e_t  and
  2391. non-_n_e_t  nodes,  in  particular, standard NET/ROM nodes being used to carry IP
  2392. datagrams. This problem is discussed further in the  section  on  setting  the
  2393. MTU.
  2394.  
  2395.  
  2396. 888...444...222...  SSSeeettttttiiinnnggg pppaaacccllleeennn aaannnddd bbbuuufffsssiiizzzeee
  2397.  
  2398. The more data you put into an AX.25 I frame, the smaller the AX.25 headers are
  2399. in relation to the total frame size. In other words, by increasing pppaaacccllleeennn, you
  2400. lower the AX.25  protocol  overhead.  Also,  large  data  packets  reduce  the
  2401. overhead  of keying up a transmitter, and this can be an important factor with
  2402. higher speed modems. On the other hand, large frames make bigger  targets  for
  2403. noise  and interference. Each link has an optimum value of pppaaacccllleeennn that is best
  2404. discovered by experiment.
  2405.  
  2406. Another thing to remember when setting pppaaacccllleeennn is that the  AX.25  version  2.0
  2407. specification  limits  it  to  256  bytes. Although _n_e_t can handle much larger
  2408. values, some other AX.25 implementations (including  digipeaters)  cannot  and
  2409. this  may  cause  interoperability  problems.  Even  _n_e_t may have trouble with
  2410. certain KISS TNCs because of fixed-size buffers. The original  KISS  TNC  code
  2411. for the TNC-2 by K3MC can handle frames limited in size only by the RAM in the
  2412. TNC, but some other KISS TNCs cannot.
  2413.  
  2414. _N_e_t's built-in HDLC drivers (SCC, PC-100, DRSI, etc) allocate receive  buffers
  2415. according  to  the  maximum expected frame size, so it is important that these
  2416. devices be configured with the correct bbbuuufffsssiiizzzeee. To do this, you must know  the
  2417. size  of the largest possible frame that can be received. The pppaaacccllleeennn parameter
  2418. controls only the size of the data field in an I-frame and not the total  size
  2419. of  the  frame  as  it  appears  on  the  air.  The  AX.25 spec allows up to 8
  2420. digipeaters, so the largest possible frame is (pppaaacccllleeennn  +  72)  bytes.  So  you
  2421. should make bbbuuufffsssiiizzzeee at least this large.
  2422.  
  2423. Another important consideration is  that  the  more  recent  versions  of  NOS
  2424. improve interrupt response by maintaining a special pool of buffers for use by
  2425. the receive routines.  These buffers are currently fixed in size to 2048 bytes
  2426. and  this  can  be changed only by editing config.h and recompiling NOS.  This
  2427. limits bbbuuufffsssiiizzzeee; in fact, attempting to set a larger value may cause the driver
  2428. not  to  work  at  all.  This  situation can be detected by running the mmmeeemmmooorrryyy
  2429. ssstttaaatttuuusss command and looking for a non-zero count of IIIbbbuuuffffffaaaiiilll  events,  although
  2430. these events can also occur occasionally during normal operation.
  2431.  
  2432. One of the drawbacks of AX.25 that there is no way for  one  station  to  tell
  2433. another  how  large  a  packet  it  is  willing  to accept.  This requires the
  2434. stations sharing a channel to agree beforehand on a maximum packet size.   TCP
  2435. is different, as we shall see.
  2436.  
  2437.  
  2438.  
  2439.  
  2440.                                                                               
  2441.  
  2442.  
  2443.  
  2444.  
  2445.                                     - 38 -                                    
  2446.  
  2447.  
  2448. 888...444...333...  SSSeeettttttiiinnnggg MMMaaaxxxfffrrraaammmeee
  2449.  
  2450. For best performance on a half-duplex radio channel, mmmaaaxxxfffrrraaammmeee should always be
  2451. set  to  1.  The  reasons  are  explained  in  the  paper _L_i_n_k _L_e_v_e_l _P_r_o_t_o_c_o_l_s
  2452. _R_e_v_i_s_i_t_e_d by Brian Lloyd and Phil Karn, which appeared in the  proceedings  of
  2453. the ARRL 5th Computer Networking Conference in 1986.
  2454.  
  2455.  
  2456. 888...444...444...  SSSeeettttttiiinnnggg MMMTTTUUU
  2457.  
  2458. TCP/IP header overhead considerations similar to those of the AX.25 layer when
  2459. setting  pppaaacccllleeennn apply when choosing an MTU.  However, certain subnetwork types
  2460. supported by _n_e_t have well-established MTUs, and these should always  be  used
  2461. unless  you know what you're doing: 1500 bytes for Ethernet, and 508 bytes for
  2462. ARCNET. Other subnet  types,  including  SLIP  and  AX.25,  are  not  as  well
  2463. standardized.  SLIP  has  no  official MTU, but the most common implementation
  2464. (for BSD UNIX) uses an MTU of 1006 bytes.  Although  _n_e_t  has  no  hard  wired
  2465. limit  on  the  size  of  a  received  SLIP  frame, this is not true for other
  2466. systems.  Interoperability problems may therefore result if  larger  MTUs  are
  2467. used in _n_e_t.
  2468.  
  2469. Choosing an MTU for an AX.25 interface is more  complex.  When  the  interface
  2470. operates in datagram (UI-frame) mode, the pppaaacccllleeennn parameter does not apply. The
  2471. MTU effectively becomes  the  pppaaacccllleeennn  of  the  link.   However,  as  mentioned
  2472. earlier,  large  packets sent on AX.25 _c_o_n_n_e_c_t_i_o_n_s are automatically segmented
  2473. into I-frames no larger than pppaaacccllleeennn bytes.  Unfortunately, as  also  mentioned
  2474. earlier,  _n_e_t  is  so  far  the  only  known  implementation  of the new AX.25
  2475. segmentation procedure. This is fine as long as all of the NET/ROM nodes along
  2476. a  path  are running _n_e_t, but since the main reason _n_e_t supports NET/ROM is to
  2477. allow use of existing NET/ROM networks, this is unlikely.
  2478.  
  2479. So it is usually important to avoid AX.25 segmentation when  running  IP  over
  2480. NET/ROM.   The  way to do this is to make sure that packets larger than pppaaacccllleeennn
  2481. are never handed to AX.25.  A NET/ROM transport header is 5 bytes long  and  a
  2482. NET/ROM  network  header takes 15 bytes, so 20 bytes must be added to the size
  2483. of an IP datagram when figuring the size of the AX.25 I-frame data  field.  If
  2484. pppaaacccllleeennn  is 256, this leaves 236 bytes for the IP datagram. This is the default
  2485. MTU of the nnneeetttrrrooommm pseudo-interface, so as long  as  pppaaacccllleeennn  is  at  least  256
  2486. bytes,  AX.25  segmentation  can't happen. But if smaller values of pppaaacccllleeennn are
  2487. used, the nnneeetttrrrooommm MTU must also be reduced with the iiifffcccooonnnfffiiiggg command.
  2488.  
  2489. On the other hand, if you're running IP directly on top of AX.25, chances  are
  2490. all of the nodes are running _n_e_t and support AX.25 segmentation.  In this case
  2491. there is no reason not to use a larger MTU and let AX.25 segmentation  do  its
  2492. thing.  If  you choose an MTU on the order of 1000-1500 bytes, you can largely
  2493. avoid IP-level fragmentation and reduce TCP/IP-level header overhead  on  file
  2494. transfers to a very low level.  And you are still free to pick whatever pppaaacccllleeennn
  2495. value is appropriate for the link.
  2496.  
  2497.  
  2498. 888...444...555...  SSSeeettttttiiinnnggg MMMSSSSSS
  2499.  
  2500. The setting of this TCP-level parameter is somewhat less critical than the  IP
  2501. and   AX.25   level   parameters  already  discussed,  mainly  because  it  is
  2502. automatically lowered according to the MTU  of  the  local  interface  when  a
  2503. connection  is  created.  Although  this  is,  strictly  speaking,  a protocol
  2504.  
  2505.  
  2506.                                                                               
  2507.  
  2508.  
  2509.  
  2510.  
  2511.                                     - 39 -                                    
  2512.  
  2513.  
  2514. layering violation (TCP is not supposed to have any knowledge of the  workings
  2515. of  lower  layers) this technique does work well in practice.  However, it can
  2516. be fooled; for example, if a routing change occurs after  the  connection  has
  2517. been  opened  and  the new local interface has a smaller MTU than the previous
  2518. one, IP fragmentation may occur in the local system.
  2519.  
  2520. The only drawback to setting a large MSS is  that  it  might  cause  avoidable
  2521. fragmentation  at  some  other  point within the network path if it includes a
  2522. "bottleneck" subnet with an MTU smaller than  that  of  the  local  interface.
  2523. (Unfortunately,  there  is  presently  no  way  to know when this is the case.
  2524. There is ongoing work within the Internet Engineering Task  Force  on  a  "MTU
  2525. Discovery" procedure to determine the largest datagram that may be sent over a
  2526. given path without fragmentation, but it is not yet  complete.)   Also,  since
  2527. the  MSS  you  specify is sent to the remote system, and not all other TCPs do
  2528. the MSS-lowering procedure yet, this might cause the remote system to generate
  2529. IP fragments unnecessarily.
  2530.  
  2531. On the other hand, a too-small MSS can result in  a  considerable  performance
  2532. loss,  especially  when  operating over fast LANs and networks that can handle
  2533. larger packets. So the best value for MSS is probably 40 less than the largest
  2534. MTU  on  your  system,  with  the  40-byte  margin allowing for the TCP and IP
  2535. headers. For example, if you have a SLIP interface with a 1006 byte MTU and an
  2536. Ethernet  interface  with  a 1500 byte MTU, set MSS to 1460 bytes. This allows
  2537. you to receive maximum-sized Ethernet  packets,  assuming  the  path  to  your
  2538. system does not have any bottleneck subnets with smaller MTUs.
  2539.  
  2540.  
  2541. 888...444...666...  SSSeeettttttiiinnnggg WWWiiinnndddooowww
  2542.  
  2543. A sliding window protocol like TCP cannot  transfer  more  than  one  window's
  2544. worth  of  data  per  round  trip  time  interval. So this TCP-level parameter
  2545. controls the ability of the remote TCP to keep a long "pipe"  full.  That  is,
  2546. when  operating  over  a path with many hops, offering a large TCP window will
  2547. help keep all those hops busy when you're receiving data. On the  other  hand,
  2548. offering  too  large  a window can congest the network if it cannot buffer all
  2549. that data. Fortunately, new algorithms for dynamic controlling  the  effective
  2550. TCP  flow  control  window have been developed over the past few years and are
  2551. now widely deployed. _N_e_t includes them, and you can watch them in action  with
  2552. the  tttcccppp  ssstttaaatttuuusss  <<<tttcccbbb>>>  or  sssoooccckkkeeettt  <<<sssoooccckkknnnooo>>>  commands.   Look  at  the cccwwwiiinnnddd
  2553. (congestion window) value.
  2554.  
  2555. In most cases it is safe to set the TCP window to a small integer multiple  of
  2556. the   MSS,  e.g.,  4x,  or  larger  if  necessary  to  fully  utilize  a  high
  2557. bandwidth*delay product path. One thing to keep  in  mind,  however,  is  that
  2558. advertising  a certain TCP window value declares that the system has that much
  2559. buffer space available for incoming data. _N_e_t does  not  actually  preallocate
  2560. this  space;  it  keeps  it  in  a  common  pool  and  may well "overbook" it,
  2561. exploiting the fact that many TCP connections are idle for  long  periods  and
  2562. gambling  that  most  applications  will  read  incoming  data  from an active
  2563. connection as soon as it arrives, thereby quickly freeing the  buffer  memory.
  2564. However, it is possible to run _n_e_t out of memory if excessive TCP window sizes
  2565. are advertised and either the applications go  to  sleep  indefinitely  (e.g.,
  2566. suspended  Telnet  sessions)  or a lot of out-of-sequence data arrives.  It is
  2567. wise to keep an eye on the amount of available memory and to decrease the  TCP
  2568. window  size  (or limit the number of simultaneous connections) if it gets too
  2569. low.
  2570.  
  2571.  
  2572.                                                                               
  2573.  
  2574.  
  2575.  
  2576.  
  2577.                                     - 40 -                                    
  2578.  
  2579.  
  2580. Depending on the channel access method and link level protocol, the use  of  a
  2581. window  setting  that  exceeds  the  MSS  may  cause  an  increase  in channel
  2582. collisions. In particular,  collisions  between  data  packets  and  returning
  2583. acknowledgements  during a bulk file transfer may become common. Although this
  2584. is, strictly speaking, not TCP's fault, it is  possible  to  work  around  the
  2585. problem  at  the  TCP  level  by  decreasing  the  window so that the protocol
  2586. operates in stop-and-wait mode.  This is done by making the window value equal
  2587. to the MSS.
  2588.  
  2589.  
  2590. 888...555...  SSSuuummmmmmaaarrryyy
  2591.  
  2592. In most cases, the default values provided by _n_e_t for each of these parameters
  2593. will   work  correctly  and  give  reasonable  performance.  Only  in  special
  2594. circumstances such as operation over a very poor link or experimentation  with
  2595. high speed modems should it be necessary to change them.
  2596.  
  2597.  
  2598.  
  2599.  
  2600.  
  2601.  
  2602.  
  2603.  
  2604.  
  2605.  
  2606.  
  2607.  
  2608.  
  2609.  
  2610.  
  2611.  
  2612.  
  2613.  
  2614.  
  2615.  
  2616.  
  2617.  
  2618.  
  2619.  
  2620.  
  2621.  
  2622.  
  2623.  
  2624.  
  2625.  
  2626.  
  2627.  
  2628.  
  2629.  
  2630.  
  2631.  
  2632.  
  2633.  
  2634.  
  2635.  
  2636.  
  2637.  
  2638.                                                                               
  2639.  
  2640.  
  2641.