Google
 

Trailing-Edge - PDP-10 Archives - BB-H348C-RM_1982 - swskit-v21/debugging-tools/dts/dts.mem
There are no other files named dts.mem in the archive.


                         DTR/DTS User's Guide



1.0  INTRODUCTION

     This pair of programs is used to test the TOPS-20  implementation
of   the  NSP  protocol.   DTR  and  DTS  were  used  to  perform  the
certification between TOPS-20 and all other DECnet implementations  to
which it may be connected.

     In the field, DTR and DTS may be used as a check  that  the  link
between  two  systems  is functioning on the user level.  DTS can also
generate throughput figures which can be used to  determine  how  much
data can be transferred over the link per unit time.

     Before using  these  two  programs,  it  is  important  that  the
specialist  understand  the concept of source and target tasks and the
types of messages which may be sent at user  level.   This  implies  a
general  (not  necessarily bit-level) understanding of chapters 3-5 of
the TOPS-20 DECnet-20 Programmer's Guide and Operations Manual,  order
number AA-5091B-TM.



2.0  GENERAL OPERATING INSTRUCTIONS

     Before testing can start, both DTR and DTS should be running.

     DTR runs as a DECnet server on the remote side of the  link.   It
is  generally  started  first  and  is then allowed to run undisturbed
until testing is done, since it requires no  attention  once  started.
If the remote system is another -20, the DTR from this SWSkit is used.
Otherwise, the version of DTR appropriate for the remote node is used.
(Versions of DTR and DTS have been written for all DECnet systems.)

     Once DTR is started, DTS is run on the local side of the link (in
this  case,  on the -20 system).  Any of several kinds of tests may be
run depending on user commands.

     Both DTR and DTS must be run with WHEEL  or  OPERATOR  privileges
enabled.  This is because both programs use DECnet object type 63, and
any use of a non-zero object type requires privileges.   DTR  and  DTS
may  be  run  simultaneously  with  other  DECnet  applications  on  a
timesharing system.  A stand-alone machine is not required.



3.0  DTR COMMANDS

     DTR  has  the  same  command  set  as   DYNETS,   so   see   file
DYNETS-USER-MANUAL.MEM for more information.  (In fact, the DTR prompt
is DYNETS>.) Generally the only command used is the  DECLARE  command.
This sets up a server task to which DTS will communicate.  The command
to use is:

                    DECLARE 63.DTR/BYTE:8/RECL:255

This sets up a server name with object type 63, and specifies the byte
size and the maximum record size to be used on the link.

     File DTR.CTL may be submitted as a batch job to start up DTR with
four such tasks.  This will enable DTR to talk to up to four copies of
DTS.  The WAIT command at the end of the  control  file  prevents  DTR
from  going  into input wait.  This allows it to run indefinitly after
the last command has been entered, without  being  stopped  by  BATCON
because  there are no more commands in the control file.  When testing
is done, the batch job can be killed with the EXEC's CANCEL command.

     DTR may also be started manually by typing the DECLARE command by
hand.   If  DTR  is run on a timesharing terminal, the WAIT command is
optional.



4.0  DTS COMMANDS

     This is the command syntax for DTS, as taken from DTS.HLP.


DTS>HELP (WITH DTS)

DTS>TAKE (COMMANDS FROM) command_file (LOGGING OUTPUT ON) log_file

DTS>TEST node_name /TEST:CONNECT|DATA|DISCONNECT|INTERRUPT
                   /PRINT:YES|NO

DTS>WAIT (AND DON'T PROMPT)

DTS>EXIT (TO MONITOR)

     Subcommands to TEST command are:

CONNECT_TEST>ACCEPT|REJECT /DATA:STANDARD|NONE|RECEIVED

DISCONNECT_TEST>DISCONNECT|ABORT /DATA:STANDARD|NONE|RECEIVED

DATA_TEST>SINK|SEQUENCE|PATTERN|ECHO /MSG:nnn /BUFS:nnn 
          /TIME:hh:mm:ss /BAUD:nnnnn /NAK:NONE|RANDOM|nnn 
          /BPC:NONE|RANDOM|nnn /NO-FLOW-CONTROL 
          /MESSAGE-FLOW-CONTROL:nnn /SEGMENT-FLOW-CONTROL:nnn

INTERRUPT_TEST>SINK|SEQUENCE|PATTERN|ECHO /TIME:hh:mm:ss
               /MSG:nnn /FLOW:nnn


     The function of the HELP,  TAKE,  and  EXIT  commands  should  be
obvious.

     The TEST command is the main command of the program.   The  /TEST
switch controls which of four tests will be done:

     1.  CONNECT  --  tests  accepted  and   rejected   logical   link
         connections

     2.  DATA -- tests regular data transfer and  calculates  transfer
         rates

     3.  DISCONNECT -- tests synchronous and aborted link disconnects

     4.  INTERRUPT -- tests interrupt data transfer


     The /PRINT switch controls whether or not informational and error
messages are typed by the remote DTR.  Much of the same information is
typed out by the DTS running locally.



4.1  CONNECT Test Options

     You can specify whether or not  the  connect  request  is  to  be
accepted or rejected by DTR.  The /DATA switch controls whether or not
optional user data is returned with  the  connect  accept  or  reject.
/DATA:NONE  specifies  no user data, /DATA:STANDARD specifies 16 bytes
of data (the first sixteen letters of  the  alphabet  in  ASCII),  and
/DATA:RECEIVED  specifies  that  the  data received from the sender is
used as the data for the response.  The data  is  not  typed  out  and
there  is no way to specify your choice of data, but the three options
try out various features in the protocol.



4.2  DISCONNECT Test Options

     The disconnect request may be either a normal disconnect  (option
DISCONNECT)  or an ABORT (option ABORT).  The DATA switch has the same
meaning as it does for the CONNECT test.



4.3  DATA Test Options

     There are four kinds of DATA tests.

     1.  SINK test -- The receiving DTR task makes no  checks  on  the
         data.  It simply reads it and throws it away.

     2.  SEQUENCE test -- Each message contains a  four-byte  sequence
         number which is checked by DTR.  If a message is received out
         of order, the link is aborted.

     3.  PATTERN test -- Each message contains a sequence  number,  as
         for  the  SEQUENCE  test,  plus  a  byte for a pattern.  (The
         pattern cycles through the ASCII characters of A-Z and  0-9.)
         If an error is detected, the link is aborted.

     4.  ECHO test -- Data messages received by DTR  are  returned  to
         DTS.   There is no pattern or sequence checking.  This is the
         only option in which data messages are being  transmitted  in
         both directions at once.


     There are many switches for the DATA test.  Only a few are really
useful.

     /MSG:nnn is used to specify the size of the data  message  to  be
sent.  The size must not be larger than the maximum you specified when
DTR was started.  The minimum size is 1 for the SINK test, 4  for  the
SEQUENCE  test, and 5 for the PATTERN and ECHO tests.  The size of the
message affects performance, so it can  be  interesting  to  vary  the
value to see the effects on the rate of transfer over the line.

     /BUFS:nnn is used to specify the number of send  buffers.   Leave
this  at  the  default  value  of  1  since  multiple  buffers are not
supported.

     /TIME:hh:mm:ss is the length of time for which the test is to  be
performed.  The maximum is not known for the -20 but many of the other
DTR/DTS implementations have a documented limit of 18 hours.  Most  of
the in-house tests are performed for only a few minutes.  (The default
is two minutes.)

     /BAUD:nnnnn is the baud rate of the communications line.  If  you
specify  a  baud  rate,  DTS will calculate the efficiency of the line
when the test is finished.  Between this and the data transfer rate in
bits  per second which is always supplied, you should be able to get a
general idea of how much data you can transfer over the line.  Be sure
to read the notes on performance later on in this memo, however.

     /NAK:options was intended to give  the  user  the  capability  to
generate  NAKs  to messages every n messages, or randomly.  It has not
been fully implemented, so leave this switch alone.

     /BPC:options stands  for  back-pressure.   Back-pressure  is  the
ability of the receiver to request the sender to stop sending data for
some length of time.  This is not fully implemented either, so  ignore
this.

     The rest of  the  switches  handle  flow-control  options  which,
again,  have not been fully implemented.  /SEGMENT-FLOW-CONTROL:8 must
be  specified  for  the  first  data  test.   Aside  from  this,   the
flow-control  switches  should  be left alone.  In very general terms,
flow control is the ability for a sender to have more  than  one  data
message in transit to the receiver.



4.4  INTERRUPT Test Options

     The interrupt test has the same four kinds of tests as  the  data
test -- SINK, SEQUENCE, PATTERN, and ECHO.  The meanings are the same.
The /TIME and /MSG switches have the same meanings that  they  do  for
the  data  test.  The /MSG switch for this test has a maximum value of
16.  The /FLOW switch has to do with flow control and, as for the data
test, should be ignored.



4.5  Default Handling

     The initial defaults for DTS are listed  below.   These  defaults
are  continually  updated  to match the last value you specified.  For
example, if you specify /TIME:0:5:0 in a DATA test, the default  value
for  the time switch is changed to be five minutes until you change it
again.

Defaults for TEST command

       DTS>TEST local-node /TEST:DATA /PRINT:YES

Defaults for subcommands

       CONNECT_TEST>ACCEPT /DATA:NONE

       DISCONNECT_TEST>DISCONNECT /DATA:NONE

       DATA_TEST>SINK /MSG:192 /BUFS:1 /TIME:0:2:0 /BAUD:0 /NAK:NONE
           /BPC:NONE /MESSAGE-FLOW-CONTROL:2 /SEGMENT-FLOW-CONTROL:1

       INTERRUPT_TEST>SINK /TIME:0:2:0 /MSG:16 /FLOW:1



5.0  NOTES ON PERFORMANCE FIGURES

     When the data test concludes, figures on the number of bytes  per
second transferred are printed.  In addition, if a value was specified
for the /BAUD switch, the efficiency of the  line  is  printed.   Some
discretion  is  necessary in the use of these figures.  The figure for
the amount of data which is used in the calculation includes both sent
and  received  data.  Since the line is full duplex, sent and received
data can be transferred simultaneously.  This makes  it  theoretically
possible  to  see  a  efficiency of greater than 100 percent.  For the
SINK, SEQUENCE, and PATTERN tests, this is not a problem,  since  data
is  only sent by DTS, and no data is received.  However, when the ECHO
test is performed, the efficiency figures are higher because  messages
are being sent in both directions at the same time.

     If you are interested in finding out, for example, how quickly  a
file  can be transferred over the link, the figures from the ECHO test
will be too optimistic.  Use one of the other tests in which  data  is
transferred only in one direction.

     The message size (/MSG switch) affects the rate of data transfer.
The efficiency data will be misleading if the message size you specify
for  DTS  differs  from  the  message  size  which  is  used  by  your
application.

     Naturally, the accuracy  of  the  figures  is  dependent  on  the
correct specification of the /BAUD switch.  If you specify a baud rate
of 4800 and the line is  actually  running  at  9600,  the  efficiency
figures will look much better than they actually are.



6.0  EXAMPLES

     DTR.CTL is a control file which will start up DTR,  as  mentioned
above.

     DTS-EXAMPLE.CMD is  a  command  file  which  will  exercise  most
varieties  of  the  DTS  CONNECT,  DISCONNECT,  and  INTERRUPT  tests.
Comments at the beginning of the file indicate how it must be modified
for your own configuration.

     DTS-DATA-EXAMPLE.CMD is a DTS command file which does a SINK DATA
test and generates efficiency figures for the line.