home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / archives / packetdrivers.tar.gz / pd.tar / ppp / ppp.doc < prev    next >
Text File  |  1996-03-04  |  16KB  |  443 lines

  1. Merit Network, Inc.
  2. PPP Packet Driver Documentation     August 5, 1993
  3.  
  4. This PPP packet driver was developed at, and is copyrighted by, the
  5. Merit Network, Inc. and the University of Michigan.  Merit and the
  6. University of Michigan grant an unlimited license for use and
  7. redistribution of the executable program provided that it is not sold
  8. for profit, either as is or as part of another product.  Charges to
  9. cover the cost of duplication and distribution are permitted.  The
  10. Packet Driver is offerred "as is" - neither Merit nor the University
  11. of Michigan make any guarantees about the performance or reliability
  12. of the software.
  13.  
  14. The Packet Driver was developed to allow NCSA TELNET, version 2.3, for
  15. DOS to work over asynchronous serial connections including MichNet
  16. public dial-in lines as well as hardwired SCP connections. The packet
  17. driver and NCSA are bundled together as a package.  This is because
  18. the packet driver was written with a PPP interface to applications,
  19. and the released NCSA software does not support PPP packet interfaces.
  20. The supported NCSA applications, telbin and ftp server, have been
  21. modified by Merit/UM staff to support the PPP packet driver.
  22.  
  23. In the future we expect to implement a Packet Driver that presents an
  24. ethernet interface to the application and works over an async PPP
  25. network connection.  When this is available, the PPP packet driver
  26. will (we hope) work with NCSA TELNET as released, and with any other
  27. DOS applications, such as POP (Post Office Protocol) mail, usenet
  28. news, or gopher which interface to ethernet packet driver.  The NCSA
  29. services you are getting in this package are a telnet client and an
  30. ftp server.  This documentation provides the following information:
  31.  
  32.     I.  What is PPP?
  33.    II.  What is a packet driver?
  34.   III.  What files or programs are in this package?
  35.    V.   Information on the CONFIG.PPP file
  36.    VI.  Authorizing PPP sessions
  37.   VII.  Information on the CONFIG.TEL file
  38.  VIII.  How to load NCSA
  39.    IX.  Information on the TERMIN.COM file
  40.     X.  Acknowledgements
  41.  
  42.     I.  What is PPP?
  43.  
  44.     PPP is Point-to-Point Protocol, an Internet standard protocol.
  45. It can be faster than Serial Line Framing Protocol (SLFP) because of a
  46. feature called header compression.  For more details on PPP, see the
  47. September, 1991, MichNet News.  More information can also be found in
  48. Request for Comments (RFC) numbers 1331, 1332, and 1334.
  49.  
  50.    II.  What is a packet driver?
  51.  
  52.     A packet driver is a software program that acts as an
  53. interface between applications running on DOS machines and lower
  54. networking layers.
  55.  
  56.   III.  Files or programs in this package
  57.  
  58.     read.me file (documentation)
  59.     ppp.exe program (packet driver)
  60.     telbin.exe program (ncsa telnet)
  61.     config.tel file (ncsa parameters)
  62.     config.ppp file (optional packet driver parameters)
  63.     stat.exe program
  64.     termin.com program (uninstalls packet driver)
  65.  
  66.    IV.  How to set your PPP parameters and load PPP
  67.  
  68.     Note:  If you are on a hardwired connection, you will need
  69.     to check that your terminal type is set at the same speed
  70.     your connection.  See your SCP manager regarding this.
  71.  
  72.   To load the PPP packet driver you can simply enter:
  73.  
  74.      PPP
  75.  
  76.   at your DOS prompt.  This will cause the program to attempt to establish
  77.   a network connection based on the default options of the program.
  78.   The default values are indicated in the command summary in the next section.
  79.  
  80.   If you need to use a value other than a default you can change the
  81.   value with the "/<o> <v>" syntax where "<o>" is the option you wish
  82.   to change, and "<v>" is the new value to be used.  For example:
  83.  
  84.       ppp /s 9600 /d atdt7473400
  85.  
  86.   would set the the speed to 9600 bps and pass the "atdt7473400" dial
  87.   command to your modem.  You need only include options for the values
  88.   you wish to change, all options not specified will be left at their
  89.   defaults.
  90.  
  91.  
  92.  
  93.   -- Command line options:
  94.  
  95.    /b -- base address of communications (serial) port --
  96.      default = 0x3F8
  97.  
  98.      The default, 0x3F8, specifies communications (serial) port,
  99.      COM1. Use this option when base address/irq pair can not be
  100.      specified by the /c option.
  101.  
  102.    /c -- communications (serial) port -- default = 1
  103.  
  104.      You can specify which serial port to use through either the "/c"
  105.      option or the "/b" and "/i" options. The following table provides
  106.      the default base address and irq values used for com ports 1-4.
  107.  
  108.     /c      /b      /i
  109.     -       -----   -
  110.     1       0x3F8   4
  111.     2       0x2F8   3
  112.     3       0x3E8   4
  113.     4       0x2E8   3
  114.  
  115.      If you need a combination of values not given above, use the
  116.      /b and /i options to explicately specify them.
  117.  
  118.    /d -- dial commands -- default = ''
  119.  
  120.  
  121.      This option provides you with a way to specify a connection script
  122.      to use in establishing initial connection. The default script is
  123.      set up for a hardwired connection to an SCP. If you are using a
  124.      hardwired connection to MichNet you should use the default.
  125.  
  126.      If you have a dial modem and are connecting to a MichNet SCP, you
  127.      can modify the default script to include a modem command.  This
  128.      is used to dial a MichNet number.  If your modem supports MNP
  129.      you will need to include the AT commands to turn that off as part
  130.      of the dial string.  Various examples are provided below.
  131.  
  132.      The command:
  133.  
  134.       /d atdt7644800
  135.  
  136.      will dial the Ann Arbor 2400bps number from a modem on a tone line. If
  137.      you have a DSI 9624LE modem, and so need to turn off MNP, you would
  138.      use the command:
  139.  
  140.       /d at*E0dt7473400
  141.  
  142.      The commands for changing the setting of MNP are specific to a modem,
  143.      so you will need to check your manual to determine the ones for your
  144.      modem.  If you need to include a '%' in a modem command you will need
  145.      to double it.  For example, to pass the command "at%E0dt7473400"
  146.      to your modem you would need to enter it as: /d at%%E0dt7473400  .
  147.  
  148.      If you are using a pulse line you would need to change the "dt" in the
  149.      examples above to a "dp".
  150.  
  151.      In order to completly disable the initial connection sequence use:
  152.  
  153.     /d none
  154.  
  155.      If you are calling in to something other than a MichNet SCP it may
  156.      be necessary to set up a connection script different than the
  157.      default.  To do this, use the command:
  158.  
  159.     /d script
  160.  
  161.      to indicate to the packet driver that it is to get a script from
  162.      the file dial.ppp in the directory where ppp.exe resides.
  163.      The name of the dial script file may be over-riden by setting
  164.      the environment variable DIAL.PPP.
  165.  
  166.      The file will consist of a series of send and recv commands.
  167.  
  168.      The format of the commands in the dial script are as follows:
  169.  
  170.      send <string>
  171.  
  172.      recv <waitm> [ <string> ]
  173.  
  174.     where
  175.      <string> is a C style string.
  176.      <waitms> is a number representing time in milliseconds.
  177.  
  178.     The string in the recv command is optional. If absent, the script
  179.     receives characters for the time period, and then proceeds to the
  180.     next command.
  181.  
  182.     If present, it receives characters until a string match, or the timer
  183.     expires.  If it expires, the script fails.
  184.  
  185.    An example of a string that might be used to call to the Livingston
  186.    Portmaster to dial the number and wait for the "login:" prompt
  187.    before initiating PPP is
  188.  
  189.    send "at\r"
  190.    recv 5000 "OK\r\n"
  191.    send "atdt99999\r"
  192.    recv 60000 "host:"
  193.    recv 2000
  194.  
  195.    note that the 99999 would need to be changed to the number for the
  196.    Livingston.
  197.  
  198.    PPP would then use PAP to send id and pw, as in the previous
  199.    examples.
  200.  
  201.    /f -- fifo checking -- default = 1
  202.  
  203.      Initial FIFO check value. If set to one, PPP checks for a 16550a UART
  204.      for the communications port. This allows the high performance FIFO on
  205.      chip to be used. If set to zero, PPP assumes a normal 8250 chip set.
  206.  
  207.    /h -- handware flow-control -- default = 1
  208.  
  209.      If set to one, PPP uses hardware flow-control. Transmission is only
  210.      allowed if clear-to-send (cts) is enabled. Currently, request-to-send
  211.      (rts) is always enabled. Set to zero if CTS is always high, or not
  212.      reliably asserted.
  213.  
  214.    /i -- IRQ -- default = 4
  215.  
  216.      The "/i" option sets the interrupt for the communications port.
  217.      Use this option if the base address/irq pair can not be specified
  218.      by the /c option.
  219.  
  220.    /k -- packet driver class -- default = 1
  221.  
  222.      The option controls which class the packet driver presents to its
  223.      client. If set to one, if appears as an ethernet class device. If
  224.      set to 15, an SLFP class device.
  225.  
  226.    /p -- packet driver memory location -- default = 0x60
  227.  
  228.      This is memory address of your machine at which the PPP packet driver
  229.      will be loaded.  You may need to use a different address if you have
  230.      other packet drivers loaded on your machine.
  231.  
  232.    /q -- "quit" paramter -- default = 0
  233.  
  234.      If set to "1", a soft hangup is performed when the terminate function
  235.      is called. This only works with hayes-compatable modems, as this sends
  236.      "+++" and "ATH0".  If set to "0", a hardware hangup is performed by
  237.      dropping DTR.
  238.  
  239.    /s -- speed -- bit rate of line -- default = 9600
  240.  
  241.      If you have a hardwired connection you will want to make sure
  242.      your speed matches the speed of your connection.  Also, make
  243.      sure that /d is set to the default or none.
  244.  
  245.    /t -- timeout timer -- default = 180
  246.  
  247.      Various aspects of the connection establishment process use timers.  If
  248.      attempts to establish a connection are timing out you may need to
  249.      supply a value greater than the 180 second default.
  250.  
  251.    /u -- user identification -- default = ''
  252.  
  253.      The value of this field is used during the connection authorization/
  254.      authentication stage of the connection establishment process.  This
  255.      value can also be supplied through the CONFIG.PPP file. If you do
  256.      not supply a value with this option, and are connecting to MichNet
  257.      from a dial-in or public terminal, you will be prompted for one when
  258.      the connection is being setup.
  259.  
  260.      The value supplied here should be your MichNet authorization code.  The
  261.      code has two parts -- one is the name of the host your account is on
  262.      and the other is the account on that machine.  The two parts are
  263.      separated by a slash '/'.  For example:
  264.  
  265.         um/abcd
  266.  
  267.      would be the authorization code for someone whose userid is "ABCD" on
  268.      the "UM" host at the University of Michigan.  If you do not have an
  269.      authorization server account you can get "Basic Service" by entering the
  270.      username of "anonymous".  When prompted for a password you will give
  271.      the password for your authorization account, or in the case of
  272.      "anonymous", you can enter "guest".
  273.  
  274.      A more complete discussion on PPP session authentication/authorization
  275.      can be found below.
  276.  
  277.    /v -- turn on verbose mode
  278.  
  279.      The default is 0.  To turn it on you use /v 1.
  280.  
  281.  
  282.  
  283.  
  284.   V.   The CONFIG.PPP file:
  285.  
  286.   The CONFIG.PPP file can be used to set the values of some options. The
  287.   use of this file is optional, and can be set off by renaming the file
  288.   provided to some other name.  If this file is turned off, the
  289.   following two commands are executed:
  290.  
  291.           ppp quick
  292.           ppp lcp open
  293.  
  294.   DOS looks for an environment variable, CONFIG.PPP, to find the
  295.   location of the CONFIG.PPP file.  If the file is not found,
  296.   in DOS 3.0 and later, DOS looks for the CONFIG.PPP file in the
  297.   directory where PPP.EXE was run from.  Otherwise, DOS looks
  298.   in the current directory for CONFIG.PPP.
  299.  
  300.    ppp trace <n> -- ppp trace 0
  301.  
  302.      If set to 0, turns off tracing.  If set to 255, turns on all tracing.
  303.      If greater than 0, turns on serious internal problems tracing
  304.      If greater than 1, turns on interoperability problems tracing
  305.      If set to 0x08, traces option negotiation
  306.      If set to 0x40, traces option checking
  307.      If set to 0x80, gives entry information of every routine
  308.  
  309.      In general you will probably not need (or want) to have tracing turned
  310.  
  311.      on.  Removing this line from the CONFIG.PPP file, or setting the value
  312.      to "0" will turn off tracing.
  313.  
  314.    ppp pap user -- setting user authentication
  315.  
  316.      The syntax of the command is <host>/<username> <password>
  317.      This option allows you to provide authorization information (as outlined
  318.      in the "/u" option above).  Using the "/u" option will override the value
  319.      provided in the CONFIG.PPP file.
  320.  
  321.     ppp pap user um/abcd
  322.  
  323.      While the password, if included, will be passed through on the
  324.      authorization process, it is not generally a good idea to put
  325.      passwords in files.
  326.  
  327.    ppp quick
  328.  
  329.      The "ppp quick" option sets up a number of defaults, including:
  330.       - Async control character map set to 0x00000000
  331.       - Van Jacobsen header compression turned on
  332.       - Address control field compression turned on
  333.       - Protocol field compression turned on
  334.       - Magic numbers turned on
  335.  
  336.    ppp lcp open
  337.  
  338.      Opens link control protocol.
  339.  
  340.    ppp ipcp open
  341.  
  342.      Opens IP control protocol.
  343.  
  344.    netmask <mask>
  345.  
  346.      Sets the netmask returned by a BOOTP request.
  347.      No default.
  348.      Example: "netmask 255.0.0.0"
  349.  
  350.    gateway <ip-addr>
  351.  
  352.      Sets the gateway address returned by a BOOTP request.
  353.      No default.
  354.      Example: "gateway 35.1.1.1"
  355.  
  356.    nameserver <ip-addr>
  357.  
  358.      Sets the domain name server address returned by a BOOTP request.
  359.      No default.
  360.      Example: "nameserver 35.1.1.42"
  361.  
  362.  
  363.  
  364.    VI.  Authenticating/authorizing PPP sessions:
  365.  
  366.      All PPP sessions that are established through "public" connections
  367.      to MichNet (for example, dial-in and public access terminals) are
  368.      required to be authenticated/authorized.  Two levels of service are
  369.      available.
  370.  
  371.      -- Basic Service:
  372.  
  373.     If you do not have a MichNet authorization code you can enter
  374.     "anonymous" at the PPP "User:" prompt. You can enter "guest" when
  375.     prompted for a password.  With basic service you will be able to
  376.     connect to ports 17, (quote of the day), 23 (telnet), and 21 & 20
  377.     (ftp connection and data), of MichNet hosts.
  378.  
  379.      -- Full Service:
  380.  
  381.     If you provide a validated authorization code and password when
  382.     prompted, you will be given full service.  With full service you
  383.     can telnet to hosts outside of MichNet, as well as reach services
  384.     on ports other than those indicated under "Basic Service".
  385.  
  386.      Detailed information on authorization codes can be found in the
  387.      "AUTHORIZATION server information" option under the ACCESS sub-menu
  388.      of the MichNet help server.  The help server can be reached by entering
  389.      HELP at the MichNet "Which Host?" prompt.
  390.  
  391.  
  392.  
  393.   VII.  The CONFIG.TEL file:
  394.  
  395.      The CONFIG.TEL file includes setup information for the NCSA telnet
  396.      program.  The file includes information about Domain Name Serves,
  397.      as well as options for the location of the PPP packet driver and
  398.      the type of video card being used.  If you change the location of
  399.      the packet driver with the "/p" command line parameter you will
  400.      need to change that value in the CONFIG.TEL file as well.
  401.  
  402.      We have encountered some problems using the NCSA package over
  403.      slow connections (1200bps or lower).  We will be doing some
  404.      further testing and will provide a modified CONFIG.TEL file
  405.      when these problems have been resolved.
  406.  
  407.  
  408.  
  409.  
  410.  VIII.  HOW TO LOAD NCSA
  411.  
  412.      At your DOS prompt type
  413.  
  414.          telbin <hostname>
  415.  
  416.      NCSA documentation is in the public domain and can
  417.      be ftp-ed from the following site:
  418.  
  419.           ftp ftp.ncsa.uiuc.edu
  420.  
  421.           change to the PC/Telnet directory
  422.  
  423.  
  424.    IX.  TERMIN.COM program:
  425.  
  426.      The TERMIN.COM program can be used to unload the PPP packet driver
  427.      (and drop the modem connection), when you are done.  To use the
  428.      program you enter:
  429.  
  430.       termin 0x60
  431.  
  432.      at the DOS prompt to remove the packet driver at the memory address
  433.      "0x60" (which is the default).  If you have loaded the packet driver
  434.      at a different address you will need to replace "0x60" with that
  435.      alternate value.
  436.  
  437.      If your modem doesn't hang up after executing TERMIN.COM,
  438.      make sure your modem does not ignore DTR.  Check your
  439.      modem manual to find out how to make your modem not ignore
  440.      DTR.
  441.  
  442.  
  443.