Welcome

TCP/IP Package For TSX-Plus 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


The  startup  command  file  TCPIP.COM deassigns all devices and
then assigns the network server device EN to be the  DEQNA/DELQA
device  EQ or the DEUNA/DELUA device EU.  Four EN units are used
by TCPIP, three are used to  receive  IP(EN0:),  ARP(EN1:),  and
RARP(EN2:)  packets and one is used to transmit(EN3:) all packet
types.  

        deassign
        dismount ld0:
        dismount ld1:
        dismount ld2:
        dismount ld3:
        dismount ld4:
        dismount ld5:
        dismount ld6:
        dismount ld7:
        mount ld7: dl1:tsxtcp.dsk
        assign ld7: TCP:
        assign eq0: en0:
        assign eq1: en1:
        assign eq2: en2:
        assign eq3: en3:
        run/single TCP:tcpip
        ^1 ^2 ^3 ^4 ^5 ^6


The  TCPIP  program is usually started at TSX-Plus startup using
the file DETACH.TSX:  

        detach sy:tcpip.com

   The   TCPIP.SAV   program  requires  the  configuration  file
TCP:TCPIP.CFG which defines all the parameters required to  con-
figure the network server.  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=LOG: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,2,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,TCP:mailer.srv # mmail / pop3      mail delivery agent
task=2,0,TCP: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  startup  command  file  contains  an assignment to allow
SKTMON to access the status of the device driver:  

        assign eq0: en0:
        run/single TCP:sktmon 0 ^1

=> 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, CNCT or printing services) 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/password specifications is limited by the program
memory size to about 50.  The PASWRD.FIL contains  1  block  for
each  user/password  specification.  The PASWRD.COM command file
should be updated to reflect the location of the password files.
A  seperate  directory  allows  the  exclusion  of its access by
remote FTP sessions, local users or remote telnet sessions  with
appropriate TSX-PLUS access rights may still access the password
files.  

   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  directory/sub-
directory/file specifications 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 directory/subdirectory/file access rights are only
     used by the remote FTP server.  Logins via  TELNET  or
     CNCT  rely  upon  any  security  features  enabled  in
     TSX-PLUS and not by the PASWRD.FIL specifications.  

=> 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   command   file
ABRTCP.COM:  as:  

        run/single TCP:abrtcp

=> 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 command file ABRTJB.COM:  

        run/single TCP:abrtjb
        ^1 ^2 ^3 ^4 ^5 ^6

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