Welcome

TCP/IP Package For RT-11 Documentation

-... Client / Server Program Options


TCP/IP Server Program

   The  network  server  program TCPIP.SAV provides the software
interface  between  the  Ethernet   device   handler   and   the
client/server  programs  in  the  TCP/IP  Package.   The network
server program handles the processing of various network packets
and  services  (TCP,  IP, UDP, BOOTP, ARP, RARP, and DOMAIN name
lookup).  

   The  TCPIP.SAV  program may be started interactively (usually
for diagnostic purposes) with the following options:  

  TCPIP [?] [-f filename]
        ?               List this Help Text and Exit TCPIP
        f  filename     Configuration File


TCPIP  uses four logical EN units for network access:  three are
used to receive IP(EN0:), ARP(EN1:), and RARP(EN2:) packets  and
one  is  used  to  transmit(EN3:) all packet types.  The startup
command file TCPIP.RUN loads  and  assigns  the  network  server
device  EN  to  one  of the network handlers:  NC for the DECNA,
NQ/EQ for the DEQNA/DELQA, or NU/EU for the DEUNA/DELUA,  mounts
and  assigns  the  logical  disk  directories,  and  starts  the
selected network jobs.  


The TCPIP.RUN command file:  

        ! TCPIP.RUN
        !
        ! load eq:
        ! assign eq0: en0:
        ! assign eq1: en1:
        ! assign eq2: en2:
        ! assign eq3: en3:
        !
        ! load eu:
        ! assign eu0: en0:
        ! assign eu1: en1:
        ! assign eu2: en2:
        ! assign eu3: en3:
        !
        ! load nc:
        ! assign nc0: en0:
        ! assign nc1: en1:
        ! assign nc2: en2:
        ! assign nc3: en3:
        !
        ! load nq:
        ! assign nq0: en0:
        ! assign nq1: en1:
        ! assign nq2: en2:
        ! assign nq3: en3:
        !
        load nu:
        assign nu0: en0:
        assign nu1: en1:
        assign nu2: en2:
        assign nu3: en3:
        !
        load ld:
        mount ld7: dl1:rttcp.dsk
        mount ld6: dl1:paswrd.dsk
        ! mount ld5: dl1:mail.dsk
        ! mount ld4: dl1:http.dsk
        ! mount ld3: dl1:gopher.dsk
        assign ld7: TCP:
        assign ld6: PAS:
        ! assign ld5: MAI:
        ! assign ld4: HTP:
        ! assign ld3: GPH:
        !
        ! Select System Jobs
        !
        assign ld7: DK:
        srun sy:vbgexe.sav/name:tcpip
        run delay2
        srun sy:vbgexe.sav/name:rftp
        run delay2
        ! srun sy:vbgexe.sav/name:rtelnt
        ! run delay2
        ! srun sy:vbgexe.sav/name:rcnct
        ! run delay2
        ! srun sy:vbgexe.sav/name:rsmtp
        ! run delay2
        ! srun sy:vbgexe.sav/name:rpop3
        ! run delay2
        ! srun sy:vbgexe.sav/name:mailer
        ! run delay2
        ! srun sy:vbgexe.sav/name:rhttp
        ! run delay2
        ! srun sy:vbgexe.sav/name:rgoph
        ! run delay2
        ! srun sy:vbgexe.sav/name:rlpd
        ! run delay2
        ! srun sy:vbgexe.sav/name:lprint
        ! run delay2
        !
        ! Finish Up
        !
        assign sy: dk:
        set kmon ind


The TCPIP program is usually started at RT-11 startup by insert-
ing the line '$@TCPIP.RUN' in the  startup  command  file.   The
network  IND  control  files  require that the command 'SET KMON
IND' be included in the startup command file.  

   The  network server programs (RFTP, RTELNT, ...) when started
as a foreground or system job gets the  command  line  arguments
from an associated .CML file in TCP:.  For example, the RFTP.SAV
program command line file RFTP.CML is:  

        -r -p PAS:paswrd.fil -y 15 -z 600



   The   TCPIP.SAV   program  requires  the  configuration  file
TCPIP.CFG which defines all the parameters required to configure
the  network  server.   Note  that TCP/IP services and tasks are
commented out as these must be explicitly started  under  RT-11.
Typical  configuration  parameters are detailed in the following
configuration file:  

#
#  Example host file for TCP/IP server
#
#  This file is free form
#  Separators are any char <32, 'space' and '='
#  Comments are preceeded by #
#
#  The form is keyword=value for each parameter.
#  The first set of parameters refer to the whole program's defaults.
#  These parameter values can be in any order.
#  Following this are the individual machine specs.
#  If the first machine is name "default", then it contains default
#  values for the rest of the machines.
#
#       These options are specified for this host machine:
#
#       myname=____.____.____   # my internet name
#       myip=___.___.___.___    # host machines's IP number
#           =BOOTP              # to use BOOTP to get host info
#           =RARP               # to use RARP to get IP number
#       netmask=___.___.___.___ # subnetting mask
#       domain=____.____        # default domain for lookup
#       nndomto=____            # timeout for domain lookups
#       nnretry=____            # number of retries for lookup
#       nnarpto=____            # timeout for ARPs
#       nndto=____              # timeout for data layer
#       nnpkt=____              # TCPIP upper limit packets per transq
#                               # nnpkt=1, requires ACK for each packet
#       nnwin=____              # TCPIP upper limit window size
#       nnseg=____              # TCPIP upper limit input segment size
#       nnmtu=____              # TCPIP upper limit output transfer size
#       service=___,___,_____   # TCPIP services specification
#       task=___,___,_____      # TCPIP task specification
#       logsession=__________   # TCPIP session logging filespec
#
#
#       These are the options which may be specified for each
#       individual machine specification:
#
#       name=____               # name of session (required)
#       host=____               # full name of host computer
#       hostip=___.___.___.___  # IP number of host
#       port=____               # specify initial connection port
#       nameserver=____         # name server level
#       gateway=____            # gateway level
#       retrans=____            # initial retransmit timeout
#       contime=____            # opening connection timeout
#       mwin=____               # advertized window size for this host
#       mseg=____               # maximum advertized input segment size
#       mtu=____                # maximum output transfer size
#       delete=backspace        # value to use for character deletion
#       crmap=4.3BSDCRNUL       # for 4.3BSD null CR
#       duplex=half             # for half duplex TELNET connections
#       copyfrom=____           # copy parameters from this name
#
myname=machine.domain.name
myip=192.3.2.100        # required, this machine's IP number
netmask=255.255.255.0   # subnetting mask
domain="domain.name"    # domain name search path

                        # affects machines on your local network
nnwin=2920              # limit advertized window (nnwin == mwin)
nndomto=5               # domain timeout
nnretry=4               # number of retries
nnarpto=2               # arp timeout in seconds
nnpkt=2                 # send only 2 packet(s) per transq

#  The following line specifies the TCPIP logging file
#  which will contain information for each session
#  started:     TELNET / RTELNT / RPTLNT / CNCT / RCNCT / RPCNCT
#               FTP / FTPL / RFTP
#               MAIL / RSMTP / RPOP3 / MAILER / MMAIL
#               RHTTP / RGOPH / RAUTH
#               RLPD / LPRINT / LPQRM / LLPQRM
#               NTSND / PMON

# logsession=sy:tcpip.log[100]

#  The following are services supported by TCPIP.
#  Each entry contains the listen port, maximum number of
#  sessions and the name of the command file to initiate
#  the service.

# service=21,2,TCP:rftp.srv     # remote ftp server
# service=23,2,TCP:rtelnt.srv   # remote telnet server
# service=25,2,TCP:rsmtp.srv    # remote smtp server (task: -t 1)
# service=27,2,TCP:rcnct.srv    # remote cnct server
# service=70,2,TCP:rgoph.srv    # remote gopher server
# service=80,4,TCP:rhttp.srv    # remote http server
# service=110,2,TCP:rpop3.srv   # remote pop3 server (task: -t 1)
# service=113,1,TCP:rauth.srv   # remote auth server
# service=515,2,TCP:rlpd.srv    # remote lpd server  (task: -t 2)

#  The following specify the tasks that may be initiated by TCPIP.
#  Each entry contains the taskid number, timer interval in seconds
#  (zero means not an automatically started task), and the name
#  of the command file to initiate the service.  These tasks donot
#  have to be related to TCPIP programs, however a TCPIP program
#  can use the TASKCLASS to start a specific task. The selected
#  task will be scheduled by TCPIP and only one (1) copy of the
#  the task will be allowed to run.  Additional requests to start
#  the task will be queued as a single request to rerun the task
#  at the completion of the currently executing task.

# task=1,0,sy:mailer.srv # mail/mmail/pop3/rsmtp mail delivery agent
# task=2,0,sy:lprint.srv # rlpd/llpqrm       printing delivery agent
#
#  Following are individual machine specifications
#  Gateways are used in the order that they appear in the file
#  Nameservers rotate, #1, #2, #3, #1, #2 when a request fails
#
#  The machine named "default" contains the fields which are
#  automatically filled in for later hosts
#
name=default            # Session name, "default" is a reserved name
                        # Not a real machine, default parameters only
delete=delete           # Assume mostly non-UNIX connections

#  The following entries affect the tuning of
#       TCP connections to this host.
#  They should be set by the network administrator who is familiar
#       with the requirements of your specific network.

contime=12              # timeout in seconds to try connection
                        #   before returning error to user
retrans=5               # starting retransmit time out in seconds
mtu=1460                # maximum transmit unit in bytes
                        #   outgoing packet size, MAX=1460
mseg=1460               # largest segment we can receive
                        #   whatever the hardware can take, MAX=1460
mwin=2920               # most bytes we can receive without ACK
                        #   =TCP window size, MAX=3047
                        #   larger isn't always better
#
#  Below this line, most of the communication parameters are obtained
#   from the "default" host entry.
#  Machine names, IP addresses, and special communication parameters
#   are present when needed.
#

name=mygateway          hostip=192.3.2.2
                        gateway=1

name=nameserver         hostip=192.3.2.1
                        nameserver=1

name=alpha              host=alpha.domain.name
                        hostip=192.3.2.200
#
# If during TCPIP startup you get the error Sreadhosts() error 2,
# you probably have exceeded the memory limits of the machine.
#
#       (1)     reduce the number of machine definitions above
#       (2) or  donot use session logging
#
# Sesion logging and Debugging should not be simultaneously enabled.
#



   The  network  server  needs to know the ip address(number) of
the machine to which it is connecting.  If  the  TCPIP.CFG  file
does not contain the named machines' ip number then it will make
a request to the specified name server to obtain the machines ip
number.   If  a name server is not specified then the connection
cannot be made using the machines name (place the machines  name
and ip address in the configuration file).  If the ip address is
given as the input to the client program rather  than  the  name
then a domain name lookup is not required.  

   All changes to the configuration file will take effect at the
next startup of TCPIP.SAV.  

=> Section Index

Socket Monitoring Program

   The  SKTMON  program provides a diagnostic tool for observing
the state of all TCPIP connections.  SKTMON displays the current
state  of  network  connections  by  showing  the global regions
through  which  the  TCPIP  network  server  program   and   the
client/server programs communicate.  The program shows in detail
the various network packets,  the  incoming  and  outgoing  data
streams, and the status of the network ethernet driver.  

   The IND control file SKTMON.COM starts the program:  

        .sets cmdlin "0 "+"'p1'"
        .open sy:tcpfun.com
        .data r sy:vbgexe.sav
        .data TCP:sktmon.sav
        .data 'cmdlin'
        .close
        $@sy:tcpfun

=> Section Index

Password Utility Program

   A  password  file  (eg  PASWRD.FIL)  must be built if the lo-
cal/remote MAIL services are to be used or if remote network ac-
cess  (ie remote FTP, TELNET or CNCT) must be restricted.  It is
suggested that a seperate password directory be created to  hold
the  files PASWRD.SAV and PASWRD.FIL.  This directory need be no
larger than about 200 blocks.  The maximum number of  user/pass-
word  specifications  is  limited  by the program memory size to
about 50.  The PASWRD.FIL contains 1 block for  each  user/pass-
word  specification.   The PASWRD.COM command file should be up-
dated to reflect the location of the password files.  A seperate
directory  allows the exclusion of its access by remote FTP ses-
sions.  

   Copy  the  file PASWRD.SAV (and optionally the supplied pass-
word file PASWRD.FIL) to  the  created  directory.   Modify  the
PASWRD.COM file to access this subdirectory.  

   Initiating  PASWRD.SAV with a file specification will open an
existing file or create the file if no existing file  is  found.
The PASWRD program screens will indicate all the options and the
file USRBLK.H illustrates the formats for the device/file speci-
fications required by the password program.  


     NOTE

     The  password  for  any added user must also be speci-
     fied,  any  user  not  requiring  a  password  (ie  an
     'anonymous'  account)  must have this password entered
     as a null string by typing only a carriage return  for
     the password.  



   To  use the created password file be sure the program startup
command files have specified the correct path  to  the  password
file.  


     NOTE

     The  device/file  access  rights  are only used by the
     remote FTP server.  


The IND control file PASWRD.COM starts the program:  

        .sets cmdlin "'p1'"+"PAS:paswrd.fil"
        .open sy:tcpfun.com
        .data r sy:vbgexe.sav
        .data TCP:paswrd.sav
        .data 'cmdlin'
        .close
        $@sy:tcpfun

=> Section Index

Abort TCP/IP Server

   ABRTCP  is  a  program which attempts to gracefully abort the
TCPIP  system.   All  TCP/IP   connections   are   closed,   all
client(s)/server(s) are requested to abort, and the TCPIP server
closes.  The program  is  invoked  from  the  IND  control  file
ABRTCP.COM:  as:  

        .open sy:tcpfun.com
        .data r sy:vbgexe.sav
        .data TCP:abrtcp.sav
        .close
        $@sy:tcpfun

=> Section Index

Abort Specific Job

   ABRTJB  is  a  program  which  attempts to gracefully abort a
specific TCP/IP client/server program.  The program  is  invoked
from the IND control file ABRTJB.COM:  

        .sets cmdlin "'p1' 'p2' 'p3' 'p4' 'p5' 'p6'"
        .open sy:tcpfun.com
        .data r sy:vbgexe.sav
        .data TCP:abrtjb.sav
        .data 'cmdlin'
        .close
        $@sy:tcpfun

and may request from 1 to 6 jobs be aborted.  The job aborts are
sent to the TCPIP server program which closes any  open  connec-
tions  associated with the job and sends an abort request to the
specified job.  This program will not  abort  the  TCPIP  server
program.  

=> Section Index

... Exit TCP/IP Documentation

... Home Page

Last Updated: June 2008