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=184.108.40.206 # 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 # 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=220.127.116.11 gateway=1 name=nameserver hostip=18.104.22.168 nameserver=1 name=alpha host=alpha.domain.name hostip=22.214.171.124 # # 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.
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
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
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
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.
... Exit TCP/IP Documentation
... Home Page
Last Updated: June 2008