Google
 

Trailing-Edge - PDP-10 Archives - BB-BT99V-BB_1990 - 10,7/anf10/anf10d.mem
There is 1 other file named anf10d.mem in the archive. Click here to see a list.












                     DIGITAL EQUIPMENT CORPORATION
               DISTRIBUTED PROCESSING NETWORK FACILITIES


                               DECNET-10




                           Specification for:

                        Network Control Language

                                 N C L


                     Date:  14-July-75  PRELIMINARY

                   Address any technical comments to:

                           Dave McClure
                           Digital Equipment Corp.
                           200 Forest Street
                           Marlboro, Massachusetts
DECNET-NCL                                                        Page 2
14-Jul-75 - PRELIMINARY












Copyright (C) 1975, Digital Equipment Corporation


This material may be copied, in whole or  in  part,  provided  that  the
above   copyright  notice  is  included  in  each  copy  along  with  an
acknowledgement that the copy describes the NCL  protocol  developed  by
Digital Equipment Corporation.

This material  may  be  changed  without  notice  by  Digital  Equipment
Corporation,  and  Digital  Equipment Corporation is not responsible for
any errors which may appear herein.
DECNET-NCL                                                        Page 3
14-Jul-75 - PRELIMINARY


                                CONTENTS


1.0     INTRODUCTION
1.1     NCL Functions
    
2.0     COMMUNICATION ENVIRONMENT
  
3.0     NCL MESSAGES
3.1     User Interface an Operation
3.2     Message Formats
3.3     Data Messages
3.4     Unnumbered Control Messages
3.5     Numbered Control Messages
  
4.0     OPERATION
4.1     Logical Link Operation
4.2     Network Testing and Maintenance
4.3     Routing
   
5.0     INTERFACE TO OPERATING SYSTEMS
   
6.0     CONSIDERATIONS IN DESIGN
   
Appendix A - Object Types
Appendix B - Message Summary
Appendix C - Device Specific Attributes
Appendix D - Sample Messages
DECNET-NCL                                                        Page 4
INTRODUCTION


1.0  INTRODUCTION


This document defines the Network Control Language (NCL) for the Digital
Equipment  Corp.   DECsystem-10 distributed computing network facilities
(DECNET-10).   DECNET-10   CONSISTS   OF   SOFTWARE/HARDWARE   PACKAGES,
INTEGRATED  INTO  DIGITAL'S  PRODUCTS,  THAT  ALLOW  EASY  INTERCOMPUTER
COMMUNICATIONS  BETWEEN   COMPUTER   SYSTEMS   CONNECTED   TOGETHER   BY
COMMUNICATION  LINKS.   DECNET-10  MAY  BE  USED  TO  CREATE DISTRIBUTED
PROCESSING  COMPUTER  NETWORKS  SUITABLE  FOR  USE  IN  A   VARIETY   OF
APPLICATION AREAS.  FOR AN OVERVIEW OF THE DECNET system see the product
brochure or the technical summary document on DECNET.

The basic goals of DECNET-10 are to create facilities that permit device
sharing  and  interprogram  communication  among  the  systems connected
together in a DECNET-10 environment.  To achieve these goals  and  allow
easy  integration  into existing systems, DECNET-10 has been designed to
use a layered structured approach.  Each layer in the system performs  a
distinct  set  of functions, within each layer these functions have been
separated into distinct functional  modules.   The  structuring  of  the
system  into  layered communication levels and functional modules within
these levels provides the implementor with the flexibility necessary  to
integrate  the network functions into existing systems.  The design also
allows for ease of subsetting and future development within  the  DECNET
implementations.

The presentation in this document is at the  overall  design  level  and
does  not  imply  the  actual  structure  of  the  implementations.  The
structure of DECNET implementations depends heavily  on  the  facilities
available   and  structure  of  the  individual  systems,  for  example,
multiprogramming,  protection  mechanism,  memory  management  and   I/O
mechanisms.   The implementations will, as much as possible, reflect the
structured layered design inherent in the DECNET system.

The key to a successful network is the standardization and compatibility
of  the  protocols  used  in  the  system.   Each  level  (layer) in the
DECNET-10 structure  corresponds  to  one  or  more  specific  protocols
reflected  in  that  level.   The levels in the structure are divided as
follows:

        1.  Hardware level      - The transmission/reception of the
                                  data bits over a physical link.
                                  This layer is concerned with
                                  transmission techniques
                                  (synchronous, asynchronous,
                                  parallel), character synchronization
                                  and modem operation.
  
        2.  Physical link level - The interface of message packets
                                  to/from the hardware level.  The
                                  physical link level is concerned
                                  with message error detection and
                                  recovery, message sequencing and
                                  message synchronization over the 
                                  physical links.
DECNET-NCL                                                        Page 5
INTRODUCTION


        3.  Logical link level - The multiplexing/demultiplexing of
                                  the physical link message stream
                                  into individual message streams for
                                  each logical link level is concerned
                                  with end-to-end sequencing and
                                  acknowledgment, message segmenting
                                  and routing.
  
        4.  Dialogue level      - The conversion created from
                                  converting the messages sent over a
                                  logical link into a meaningful
                                  exchange between users.

The hardware level is implemented via  a  device  driver  and  interrupt
service routine.  Its purpose is to exchange data with the interface and
to handle synchronization and modem control for the hardware.

The physical link level implements the link protocol for error detection
and  recovery.  In DECNET-10 this is an implementation of DDCMP (Digital
Data Communications Message Protocol).

The logical link level creates logical data links via the  NCL  (Network
Control  Language).   NCL  commands  support the creation of the logical
links and the transfers of user data over those links.

The dialogue level  is  the  conversation  built  from  an  exchange  of
messages  between  users.  This level of exchange occurs between general
user processes and between user processes  and  the  functional  modules
supporting I/O devices, file structures, and program transfers.

The diagram below shows how the various level of protocol are related.

              Device  -----                 ----- Functional modules
                           \              /
                      ----- DDCMP ---  NCL  -----
                           /              \
              Drivers -----                 ----- User processes
  
 Levels:      Hardware   Physical      Logical        Dialogue
                           link          link
      
                          DECNET-10 Structure




1.1  NCL Functions


NCL creates a mechanism  for  general  communication  between  processes
operating  in  DECNET-10  systems.  It is concerned with the creation of
conversation paths (logical links), the routing and flow control of data
over  those  links  and the diagnosiblity of problems in the transfer of
data through the network, NCL assumes an error-free physical  data  link
over  which it may pass messages to adjacent systems.  In DECNET-10 this
DECNET-NCL                                                        Page 6
INTRODUCTION


error-free link is created from the DDCMP line  discipline,  the  device
driver,  the  hardware interface, modems (if any), and the physical wire
link.

NCL provides the following functions within a network system:

        1.  Functions to the dialogue level:

                a.  Create a conversation path (logical link).

                b.  Transmit data over a logical link.

                c.  Receive data over a logical link.

                d.  Interrupt over a logical link.

        2.  Functions for operation of link:

                a.  Multiplex logical links into physical links.

                b.  Control traffic over logical links.

                c.  Ensure end-to-end delivery of data
                    in proper sequence.

        3.  Functions for network supervision:

                a.  Route messages through net.

                b.  Detect node/link failures and
                    maintain routing paths.

        4.  Functions for network maintenance:

                a.  Maintain error logs.

                b.  Examine and deposit remote node memory.
DECNET-NCL                                                        Page 7
COMMUNICAITON ENVIRONMENT


2.0  COMMUNICAITON ENVIRONMENT


The Network Control Language consists of two,  essentially  independent,
functions.  The first is conerned with the creation and operation of the
logical links, the mechanism for interprogram communication  in  DECNET.
The   second   is  concerned  with  the  creation  and  operation  of  a
communication network and is used by  the  first  function  for  message
routing  and  network  maintenance.   If  one  looks  at the two systems
engaged in a single conversation the network appears as:

     User process---NCL---Communication Net---NCL---User process

                                  NOTE
                This diagram shows logical data flow and
                does not include the physical links and
                DDCMP protocol used in actual data flow.

The communication net is used to transfer data from the NCL on one  node
to  the  NCL  on  another  node.   The  communciation net may physically
consist of simply the two nodes connectecd by a single wire:

        1.  Node A------Node B
  
one or more nodes in between:
  
        2.  Node A---Node X---Node Y---Node B
  
or more complex topologies:
  
        3.  Node A---Node X----Node Y
                     |         |
                     --------Node Z------Node B
  


The actual data transfers over the net, for instance in  example  2,  go
from  node  A/NCD to Node A/DDCMP to Node X/DDCMP to Node X/NCL, where a
routing decision is made;  to Node  X/DDCMP  to  Node  Y/DDCMP  to  Node
Y/NCL,  where another routing decision is made;  to Node Y/DDCMP to Node
B/DDCMP to Node B/NCL to the user.  As can be seen the NCL's at nodes  A
and  B  perform  both logical link functions and routing functions while
the NCL's at nodes X and Y may perform only routing functions.   If  one
considers  only the end-to-end or logical link functions of NCL then the
system may be viewed as the end NCL modules  with  a  communication  net
used  to  physically  transport  the  data  between  the  systems.  This
communication net may have a number of varying properties including:

        1.  Guaranteed sequential delivery of messages (sequential nodes)
  
        2.  Possible non-delivery or delivery out of order
            (non-sequential nodes)
DECNET-NCL                                                        Page 8
NCL MESSGAES


3.0  NCL MESSGAES


NCL  networks  can  contain  two  types  of  nodes;   "sequential"   and
"nonsequential".

A sequential node is one that has only one path from  it  to  any  other
node  in  the  network.  A sequential node whose DDCMP ACKs a message is
committed to pass the message on in numerical order to its  destination.
The  message  can  only  be discarded if the destination node has become
disconnected.

In a nonsequential network, there may be multiple paths from one node to
any  other  node.  Because of the possibility of having several paths, a
message  may  become  lost  and   require   retransmission   (e.g.,   an
intermediate  node's  DDCMP  ACKs  a  message  and  then the node dies).
Further, messages to a nonsequential node may arrive  out  of  numerical
order  (e.g.,  the  route of the second message differs from that of the
first message and the second  message  arrives  before  the  first).   A
nonsequential node whose DDCMP ACKs a message should pass the message on
to its destination, but passing the message is not required.

Nonsequential nodes maintain an  end-to-end  numbering  scheme  for  all
important  messages  in  order  to determine whether their messages have
arrived at  their  destinations.   The  NCL-REP,  NCL-ACK,  and  NCL-NAK
messages are used to maintain the message numbering scheme.

For nonsequential networks, it is important that messages not lie around
too  long.   (Consider  the  case of node A sending message 1 to node B,
then transmitting messages 2 through 256 and having the message  numbers
wrap-around  to 1 again.  The second copy of message 1 is sent from node
A, but the first one suddenly arrives at node B.  Node B  then  believes
that  the  old message 1 arriving is actually the second.) Therefore, in
nonsequential networks, if the DDCMP routine is unable  to  successfully
transmit a message to the next node on the path within a fixed period of
time, the message is disposed of, and the DDCMP messages  are  realigned
using  the RESET and RESAK messages.  Any node can calculate the maximum
length of time a message can be outstanding (time period  times  maximum
number of links), and use this time for its NCL-REP timer.




3.1  User Interface And Operation


The basic goal of NCL is to create paths of conversation  between  users
(interprocess  communication)  and  manage the operation of these paths.
The user has four basic commands that may  be  issued  to  NCL  for  the
operation of this communications mechanism:

        1.  CONNECT     - directs NCL to create a communication path
                          (logical link) between the processes issuing the
                          command (usually with an ASSIGN system command,
                          INIT UUO, OPEN UUO, or FORTRAN OPEN statement)
DECNET-NCL                                                        Page 9
NCL MESSGAES



        2.  TRANSMIT    - directs NCL to send user data over the logical
                          link (usually performed with an OUTPUT UUO or
                          FORTRAN WRITE statement)

        3.  RECEIVE     - directs NCL to receive data over the link
                          (usually done with an INPUT UUO or a FORTRAN
                          READ statement)

        4.  DISCONNECT  - terminates the conversation and destroys the
                          logical link (usually done with a DEASSIGN
                          system command, RELEASE UUO, or FORTRAN CLOSE
                          statement)

To minimize system buffer occupancy, NCL does not move any data over the
link  until  a  transmit  request  has  a corresponding receive request,
implying a  user  buffer  for  the  incoming  data.   The  commands  are
interpreted  by  NCL and result in one or more messages exchanged by NCL
modules.  These messages, to be described in the next section are:

     1.  CONNECT command - Connect message (Control Message)

     2.  TRANSMIT command - Data message

     3.  RECEIVE command - Data request (Control Message)

     4.  DISCONNECT command - Disconnect message (Control Message)





3.2  Message Formats


This section describes the basic messages and their  formats.   Sections
4.0  through  4.1.3  describe the state transitions and operation of the
NCL.  The following notation is used to describe the messages:

     Field (length) :  coding = description of field

     Field = the name of the field being described

     Length = the length of the field as:

        1.  a number meaning number of 8-bit bytes

        2.  a number followed by a "B" meaning number of bits

        3.  the letters "EX" meaining extensible field - Extensible
            fields are variable length consisting of 8-bit bytes,
            where the high-order bit of each byte denotes whether the
            next byte is part of the same field.  A 1 means the next
            byte is part of this field while a 0 denotes the last
            byte.  Extensible fields can be ASCII or binary.  If
DECNET-NCL                                                       Page 10
NCL MESSGAES


            ASCII they are merely variable length strings of 7-bit
            ASCII.  If binary then 7-bits from each byte are
            concatenated into a single binary field.
  
  coding = the representation type used A=7-bit ASCII, B=binary
                                        BM=bit map (each bit has
                                        specific meaning)
  If length and coding are omitted Field represents a number of
  subfields specified in description.
  
All fields are transmitted low-order bit first on the data links  unless
otherwise specified.  All number values are in decimal representation.

Parentheses "( )"  around  a  field  indicate  that  the  field  can  be
repeated.  The parentheses are not part of the NCL syntax.

                                  NOTE

                The size of extensible fields may be
                limited to some maximum number of bytes
                or bits.

Users exchange data over conversation paths (logical links)  created  by
NCL.   The  NCLs  also exchange data for creation and supervision of the
logical links as well as for network control and routing.  There are two
types of messages, therefore, that are exchanged by NCLs.  Data Messages
(DM) carry the dialogue level information between processes and  Control
Messages  (CM)  carry information between NCL modules.  Control Messages
can be either numbered (NCMs) or unnumbered (UCMs).

Messages exchanged by NCL, both DM and  CM,  may  pass  through  several
intermediate  nodes  along  the  communication  path  or may be directly
connected by a physical link.  In  the  former  case  the  message  must
include  routing  information  for  use  by  intermediate nodes;  in the
latter case such information may  be  omitted  for  efficiency.   It  is
recommended   that   messages  always  be  built  to  include  both  the
destination and source node addresses.   This  eliminates  the  need  to
rebuild  the  message to include routing information if a link should go
down.

Messages take the following general form:

         NCT   DNA   SNA   NCA   NCN   DAT

NCT(EX) : BM =  A group of flags denoting characteristics of the
                message.  They have the following meaning if set:
                
                bits 0-2- the type of the field in binary
                        0 = data message or numbered control
                            message
                        1 = ACK,
                        2 = NAK,
                        3 = REP,
                        4 = START
                        5 = STACK
DECNET-NCL                                                       Page 11
NCL MESSGAES


                        6 = node-ID
                bit 3 - DNA and SNA present - routing informaiton
                        is included following this field
                bit 4 - This is a trace mode message
                bit 5 - Interrupt message (does not affect the data
                        request count)
                bit 6 - Non-sequential node
                bit 7 - Reserved for extension (currently 0)

DNA(EX) : B =   The destination node identifier (binary number) -
                where 0 = next node on link - used to address
                adjacent node over synchronous line.  This field
                is optional and is included only if NCT bit 3 is
                set.


                                NOTE

                The user usually addresses node using
                an ASCII name which is internally mapped
                into the destination node address.

SNA(EX) : B =   The source node identifier - (maximum of 6 bits
                with 6.02 monitors) may not be 0.  This field is
                optional and is included only if NCT bit 3 is set.

                                NOTE

                The omission of the DNA defaults to
                DNA = 0 and implies the SNA as the
                adjacent node sending this message.

NCA(1) : B =    Network Control ACK.; the number of the last 
                network control message correctly received.

NCN(1) : B =    the number of this network control message.

DAT =           the message information for DM or CM.




3.3  Data Messages


If any of the three low-order bits of NCT are set,  the  message  is  an
Unnumbered  Control  Message;   otherwise it is a Data Message (DM) or a
Numbered Control Message.  If the first byte of DAT is  zero,  then  the
message is a Numbered Control Message;  otherwise it is a Data Message.

For a DM, DAT is:

        DNA DAP

DLA(EX) : B =   the logical link destination address for this
DECNET-NCL                                                       Page 12
NCL MESSGAES


                message. This is the address for a conversation
                and is usually dynamically assigned via the
                connection procedure.  The maximum size for DLA is
                12 bits.  Zero is an illegal DLA address.
  
DAP =           a data message in accordance with the Data Access Protocol
   



3.4  Unnumbered Control Messages


If bits 0-2 of NCT indicate that the message is  an  unnumbered  control
message, and the message is a START, STACK, or NODE-ID message, then DAT
has the form:

        NNM SNM SID


NNM(EX) : B =   node name identifying node.  Maximum of 12 bits;
                zero means the next node over an asynchronous line.
  
SNM(EX) : A =   station name.
  
SID(EX) : A =   software identification containig two sub-fields;
                (1) name and version of the operating system and
                network software, (2) creation data of the software.
  
If bits 0-2 of NCT indicate that the message is  an  unnumbered  control
message  and  the message is not a START, STACK, or NODE-ID, then DAT is
empty.




3.5  Numbered Control Messages


If the three low-order bits in NCT and the first byte of DAT  are  zero,
the  message is a Numbered Control Message (NCM).  NCMs are used to pass
information between NCL modules.  These message are divided  into  three
group:

        1.  NCMs related to operation of logical links

        2.  NCMs related to network testing

        3.  NCMs related to routing

All NCMs have the following form for DAT:

        <0> (CNT TYP CMD)


DECNET-NCL                                                       Page 13
NCL MESSGAES



CNT(1) : B =    the number of bytes in this NCM (not including CNT
                byte) - allows blocking of NCMs.
  
                This field is OPTIONAL depending on bit 4 of NCT.
  
TYP(1) : B =    the number representing the type of NCM.  These
                numbers are given with each NCM description and in
                the summary in Appendix A.  Types 128-255 are
                reserved for any user extensions to NCL.
  
CMD =           the data specific to each NCM.
DECNET-NCL                                                       Page 14
NCL MESSGAES


3.5.1  Control Message For Logical Link Operation -




3.5.1.1  CONNECT (TYP = 1) -

The connect message is used to establish a logical  link  (communication
path)  between  processes in the network.  The state transitions for the
connection sequence, given in section 4.1.1, basically  consist  of  the
exchange  of connect initiate and connect confirm messages.  The form of
CMD for the connect message is:

     DLA SLA DNF SFN MML FEA

DLA(EX) : B =   destination message link address (i.e., the index
                into the node's connection database, maximum of
                12 bits; zero is illegal.

SLA(EX) : B =   source message link address, maximum of 12 bits;
                zero is illegal.

DPN =           destination process name.  Consists of:

                OBJ PID

OBJ(1) : B =    object type for process

                        0 = terminal handler
                        1 = terminal
                        2 = Card reader
                        3 = Line printer
                        4 = Paper-tape reader
                        5 = Paper-tape punch
                        6 = Plotter
                        7 = Magnetic-tape
                       10 = DECtape
                  200-377 = reserved

PID(EX) : A =   task-name and qualifier (e.g., PPN or UIC)

SPN =           source process name.  Consists of

                OBJ PID

MML(1) : B =    maximum NCL message length for connection;
                including NCL header, but not including DDCMP
                information.

FEA =           feature included.  Consists of:

                DCM RLN DVT

DCM(1) : BM =   data code and mode
                0 = ASCII
DECNET-NCL                                                       Page 15
NCL MESSGAES


                1 = EBCDIC
                2 = Image
                3 = Hollerith (CDR only)
                4 = DEC image (CDR only)
                5 = reserved
                6 = compressed format

RLN(EX) : B =   maximum record length.  Dependent on device;
                Usual values are 132 for line printer, 80 for card
                reader, etc.

DVT =           device specific attributes.  See Appendix C.




3.5.1.2  DISCONNECT (TYP = 2) -

The disconnect message is used to  destroy  a  logical  link  previously
established   and/or  confirm  that  a  connection  rejection  has  been
completed.  The state transitions usually consist  of  the  exchange  of
disconnect  initiate  and  disconnect confirm messages.  The form of CMD
for the disconnect message is:

     DLA SLA RSN



DLA(EX) : B =   destination message link address (i.e., the index
                into the node's connection database).  Maximum of
                12 bits; zero is illegal.
  
SLA(EX) : B =   source message link address.  Maximum of 12 bits;
                zero is illegal.
  
RSN(1)  : B =   the reason for the disconnect.
  
                0 - no specific reason
                1 - object type unsupported
                2 - too many connects to node
                3 - too many connects to process
                4 - process does not exist





3.5.1.3  NEIGHBOURS (TYP = 3) -

The NEIGHBOURS message for non-sequential nodes  includes  all  adjacent
nodes that a node will route to.

For sequential nodes, the NEIGHBOURS message includes all nodes it  will
route to.
DECNET-NCL                                                       Page 16
NCL MESSGAES


Each time a node (1) acquires a new neighbor, (2) loses a  neighbor,  or
(3) changes a link level, it sends a NEIGHBOURS message to all the nodes
known to it.  The form of CMD for the NEIGHBOURS message is:

     ( NNM LVL )



NNM(EX) : B =   node name identifying node
  
LVL(1)  : B =   link value used to determine the preferred path.
                (The preferred path is the path whose link values
                add up to the lowest number.)
   



3.5.1.4  REQUEST CONFIGURATION (TYP = 4) -

The request configuration message is sent to the NCL module  at  another
node  to get information on the operating system and version being used,
the  NCL  options  supported  and  the  node  address  and  name.   This
information  is  returned in a configuration message.  The byte labelled
CMD is omitted for this message.




3.5.1.5  CONFIGURATION (TYP = 5) -

This message returns the system configuration and options in response to
a request configuration message.  The form of CMD is:

     ( OBJ NDV )

OBJ(1) :  B =   object type for process as described in Section 3.5.1.1.

NDV(EX) :  BM = the number of devices available





3.5.1.6  DATA REQUEST (TYP = 6) -

The DATA REQUEST message informs the destination node  that  the  source
node is willing to accept data.  The CMD form is:

     DLA DRQ

DLA(EX) : B =   description message link address.  Maximum of 12 bits.
  
DRQ(1)  : B =   number of data requests outstanding.  Each data
                request enables one DDCMP message to be received.

DECNET-NCL                                                       Page 17
NCL MESSGAES


3.5.1.7  STATION CONTROL (TYP = 7) -

Station control  messages  are  used  to  perform  operations  with  the
bootstrap  level  of  remote  station software.  CMD for STATION CONTROL
messages is one of the following forms:

        BOOT -          LNM     <000>
        EXAMINE -       LNM     <001>   AD1     AD2
        DEPOSIT -       LNM     <002>   ADR     DATA
        GO TO -         LNM     <003>   ADR
        CLEAR -         LNM     <004>   AD1     AD2
        DEBUG -         LNM     <005>
        ACCEPT -        LNM     <011>   ADR     DATA
        EXAMINE DATA -  LNM     <012>   ADR     DATA
        REJECT -        LNM     <013>
        REQUEST BOOT -  LNM     <014>   TYPE    SER     DES
        REQUEST LOAD -  LNM     <015>   TYPE    SER     DES


LNM(1) : B =    the number of the line connecting the destination
                node to the node which is to receive the station
                control message.  Zero means the destination node;
                N means that the node connected to line (N-1) of
                the destination node is to receive the message.
  
DES(EX) : A =   a string of ASCII characters which describes ther
                program to be loaded.  This is usually a file
                description.
  
SER(EX) : B =   the serial number of the node to be booted.
  
TYPE(EX) : B =  the code for the type of node requesting the load.
                1 = DC71 (PDP81 with DP01).
                2 = DC72 (PDP8E with DP8E).
                3 = PDP-11/40 with DU11.
                4 = DAS82 (PDP-11/40 with DQ11).
  
ADR(3) : B =    an address made up of three concatenated bytes,
                with the low-order byte arriving first (on the
                PDP-8 based nodes, the length of this field is 2
                bytes).  ADR indicates the address in the remote
                node which is being operated on.
  
AD1(3) : B =    an address made up of three bytes (two for PDP-8s)
                indicating the lower limit of the range of
                locations to be operated on.
  
AD2(3) : B =    an address made up of three bytes (two for PDP-8s)
                indicating the upper limit of the range of
                locations to be operated on.
  
DATA(EX) : B =  the information portion of the STATION CONTROL
                messages.  When only one ADP is specified with a
                data stream for deposit, the data is deposited in
                sequential locations starting at the address
DECNET-NCL                                                       Page 18
NCL MESSGAES


                specified and continuing until the data runs out
                (determined by the byte count).
DECNET-NCL                                                       Page 19
OPERATION


4.0  OPERATION


This section describes the operation of NCL with respect to the  message
categories:

        1.  Messages related to logical link operation.

        2.  Messages related to routing.




4.1  Logical Link Operation


The basic function of NCL is to provide  an  interprocess  communication
mechanism  between  processes  located  on  different  nodes in a DECNET
system.  This mechanism operates via a communication  path  known  as  a
logical link.

Logical links define the end points of a conversation (dialogue) and  in
no  way  imply the technique used for message transmission between those
end points or the line discipline used.

The NCL modules creating the link and passing data  over  it  must  know
certain characteristics of the communication system being used.  Much of
this has been described earlier in the discussion on characteristics  of
the  communication network.  The two important characteristics are those
of   non-sequential   delivery   or    sequential    delivery.     These
characteristics  determine  whether  or  not certain NCL options must be
used to guarantee sequential message delivery  to  the  user.   The  NCL
functions for operation of logical links include:

        1.  creation/destruction of logical links.

        2.  control of traffic over logical links.

        3.  insure sequentiality and delivery.

        4.  create a mechanism for interruption over logical links.

These functions are described below.




4.1.1  Creation Of Logical Links -

The establishment of a logical link is a cooperative effort between  the
processes  wishing  to  engage in a conversation.  The protocol achieves
security  and  protection  by  letting  the  parties   involved   in   a
conversation  decide  if  they  should converse.  The creation of a link
involves an exchange of connect messages.  One of the processes issues a
connect  command  to  NCL  through  an interface in the operating system
DECNET-NCL                                                       Page 20
OPERATION


environment (such as the ASSIGN command).  This command  causes  NCL  to
send  a  connect-initiate  message to the destination NCL.  This message
includes  the  names  of  the  processes  wishing  to  connect  and  any
additional  information  one  process wishes to pass along to the other,
such as passwords, device characteristics, etc.

The destination process receives this information and decides whether or
not to complete the connection.  If it does, it issues a connect command
and NCL sends a connect-confirm message back to complete the  connection
procedure.   Otherwise,  it  issues  a  connect-reject command causing a
disconnect message to be sent and the logical link broken.

There are two other reasons for rejecting connections:

        1.  an error was detected and an error message was sent back

        2.  a connect-rejection by NCL (disconnect message)

To improve the efficiency  of  logical  link  operation  the  connection
procedure  encodes  the  process  names  and  associated  queues into an
address which is passed over in the  connect-initiate  (SRCADDR)  and  a
corresponding encoding returned from the other end in a connect-confirm.

The following notation is used for this and other state diagrams:

  CI(a,b)    - connect initiate:dest addr=a, src addr=b

  CC(a,b)    - connect confirm

  DM(a,n)    - data message:  dest addr = a, message number = n

  DR(a,n,k)  - data request:  dest addr = a, request count = n, ack
               number = k

  DS(a,b)    - disconnect by NCL

The state operations for connection are:

  1.  Normal connection

           CI(0,a)---------------->
       complete <----------------CC(a,b)

  2.   Connection rejection

           CI(0,a)---------------->
                <----------------DS(a,0)
  
  3.   Sender aborts or cancels connection

           CI(0,a)---------------->
           connect cancelled

                  <--------------CC(a,b)
           DS(b,a)--------------->
DECNET-NCL                                                       Page 21
OPERATION


                  <--------------DS(a,b)

  4.   Error in connect parameters

           CI(0,a)--------------->
                  <--------------DS(CI(0,a))

  5.   Error in confirming parameters

           CI(0,a)--------------->
                  <--------------CC(a,b)
           DS(CC(a,b))--------------->
                  <--------------DS(a,b)

These state examples are not exhaustive but give the  operation  in  the
basic cases.




4.1.2  Message Transfer Over Logical Links -

When the connection procedure  has  been  completed,  each  end  of  the
logical  link  has  a  reference number (destination address) it uses to
address the logical link.  This address is used in  data  messages  sent
over the link and in control messages referencing the link.

The design of NCL does not include any provision  for  disk  storage  of
incoming  messages.   A  user wishing such a facility may add it locally
without affecting NCL operation.

In order to minimize system buffer occupancy a  traffic  control  scheme
has  been  included in the operation of the logical links:  a message is
not transmitted over  a  logcial  link  until  the  receiving  user  has
allocated  a buffer for storage of the message (issued a receive command
to NCL).  This is implemented on the logical link  by  a  request  count
scheme.  Whenever a receive command is issued, the destination NCL sends
a data request message.  When a transmit is issued the source NCL checks
the  current  data  request count.  If the count is greateer than 0, NCL
sends the message and decrements the count.  To improve efficiency,  NCL
need not send data request messages with each request but may wait for a
number of them to accumulate and then send the total in one message.

The operation is as follows:

        1.  User issues receive command.

        2.  NCL sends a data rquest for N messages.

        3.  Other NCL modules may then send N data messages.

When a user issues a transmit command, the NCL module checks the current
local request count and if greater than zero, sends the message.

The state operations for message transfer are:
DECNET-NCL                                                       Page 22
OPERATION


        1. Single request and acknowledge
  
           User issues "receive"
  
                DR(a,1,b)--------------->
  
                User issues "transmit"
  
                <----------------DM(a,b+1)
  
           Acknowledge message (numbered)
                DR(a,0,b+1)-------------->
  
        2. Acknowledge and request
  
           dR(a,1,b)---------------->
                <-----------------DM(a,b+1)
           DR(a,1,b+1)-------------->
                <-----------------DM(a,b+2)
           DR(a,1,b+2)-------------->
  

There are many other possibilities due to timing but these examples give
the basic flavor of the traffic control/acknowledgement schemes.




4.1.3  Interruption Over Logical Links -

The NCL has a mechanism for allowing interruption over a  logical  link.
This feature allows:

        1.  Interruption to "wake-up" a user and start data transfer.
            This is very useful on links with intermittent transfers
            because the user is not required to have an outstanding
            receive.
  
        2.  Interruption of the normal data stream to inform the user of
            some unusual condition.

The interrupt message is sent without any previous request and is passed
to  the  user outside the normal buffer mechanism scheme usually through
some local interrupt mechanism (i.e.  synchronous  system  traps,  event
flags, mail boxes, etc.).

Some implementations may limit the amount of data that may be sent in an
interrupt message.

DECNET-NCL                                                       Page 23
OPERATION


4.1.4  Destruction Of Logical Links -

Logical links may be terminated upon request from the user,  failure  of
the  user  process,  or  failure of a communication link or intermediate
node.  All these cases are handled in  about  the  same  way,  the  main
difference being that the processes are notified of the different reason
for disconnection.  If it is process-initiated, the NCL module  sends  a
disconnect  message  upon receipt of a disconnect command from the user.
This message may include optional data the disconnecting process  wishes
to  pass  to the other end.  All transmit and receive commands currently
pending are terminated, the user only being sure that transmit  commands
that  have  completed  have been received at the destination node.  Upon
receipt of a disconnect message the receiving NCL notifies  the  process
via  some  local mechanism and also terminates any pending commands.  It
returns a disconnect-confirm message to  close  off  the  logical  link.
Messages  received  between  the sending of a disconnect message and the
receipt of a disconnect-confirm are discarded.   The  processes  on  the
link  must  complete  their conversation prior to issuing the disconnect
command.  It has the effect of immediately "hanging up".  Either process
may  initiate  a  disconnect, not necessarily the one that initiated the
connection.

In the aborting case the same things happen except the receiving process
is  notified  that  this  is  a  disconnect  abort and is not passed any
optional data, as in  the  process-initiated  case.   Some  examples  of
disconnection states are:

        DI(a,b) - disconnect initiate: dest addr=a, srcaddr=b
  
        DC(a,b) - disconnect confirm
  
        DA(a,b) - disconnect abort
  
        1. User initiates disconnect
  
          DI(a,b)----------->(on numbered links resent on timeout)
                              complete
          complete<----------DC(b,a)
  
        2.  User aborts
  
            DA(a,b)---------->(on numbered links resent on timeout)
                               complete
            complete<---------DC(b,a)




4.2  Network Testing And Maintenance


Current knowledge of network testing and maintenance is limited to those
operations   available   using   the  Remote  Debugger  DDT11.   Further
information on DDT11 can be obtained in the DECNET-10 User's  Manual  in
the chapter on Network Maintenance.
DECNET-NCL                                                       Page 24
OPERATION


4.3  Network Message Routing


To enhance the operation and characteristics of  DECNET-10,  NCL  allows
routing  of  messages  within  the system.  This means that the computer
systems (nodes) in which the communicating processes exist do  not  have
to   be   directly   connected  by  a  physical  link.   Routing  allows
conversations with processes to which there are paths,  not  necessarily
direct  wire  connections.   This  means  that intermediate nodes act as
routers in the forwarding of messages.

The basic concepts of routing are  fairly  straightforward.   A  message
enters   a  node  and  is  given  to  NCL.   NCL  examines  the  routing
information, deciding if it is  the  destination  system.   If  not,  it
executes  a  routing  algorithm,  whose  purpose  is  to  associate  the
destination address with an outgoing physical link number.

The routing header in  NCL  includes  some  characteristics  flags,  the
destination node address and the source node address.  In point-to-point
only communications this header may  be  omitted  for  efficiency.   The
receipt  of a message without a DNA and SNA implies that the receiver is
the destination node and the node on the other end of the physical  link
is  the source node.  The NCT flags are used by the routing algorithm to
pick the outgoing link.  Routing algorithms can  be  very  simple  table
lookups or very complex computations attempting to find optimal paths on
a dynamic basis.  The algorithms used, and the information that must  be
exchanged by routine nodes is what makes routing a complex problem.  The
mechanics of receiving a message and forwarding it on another  link  are
rather simple.

Sections 4.3.1 through 4.3.3 descirbe the routing techniques employed in
DECNET-10.   This  is  independent  of the other two sections of the NCL
specification, logical  link  operation  and  maintenance  and  testing.
Other  routing  algorithms  and techniques may be used without affecting
logical link operation.  All NCLs in a network must, however,  be  aware
of the characteristics of the routing algorithm and communication system
in order to choose an option consistent with the routing.  This has been
discussed earlier in the characteristics of the communication system and
the operation of numbered and unnumbered logical links.




4.3.1  Sequential Node Routing -

Sequential nodes in a network can only send messages down a single link.
Therefore,   the  routing  from  sequential  nodes  is  direct  until  a
non-sequential node is reached.  At the  non-sequential  node,  adaptive
routing techniques are used to pass the message to the destination.

DECNET-NCL                                                       Page 25
OPERATION


4.3.2  Adaptive Routing - Non-Sequential Nodes -

The most dynamic scheme is the adaptive routing technique that adapts to
changes  in  the topology and selects the best path for message routing.
The technique uses the NEIGHBOURS message to  pass  information  between
network  nodes  on  the  current  state of each others neighbours.  This
technique is based on the concept that a node's routing  information  is
no  better  than  the  routing  information  of  its neighbors (adjacent
nodes).  When a node routes a message to one of its neighbors it is then
up  to  the neighbor to route it further.  It does no good for a node to
have "better" information than the node  to  which  it  is  sending  the
message for further routing.

Based on this concept, nodes send NEIGHBOURS messages to adjacent  nodes
whenever  there  is a change to their route path table which will change
routing path information.  Since NEIGHBOURS messages are  sent  only  to
neighbor  nodes they themselves do not require routing.  This eliminates
the race condition problem when routing messages are being  routed  with
invalid routing tables trying to update these tables.

Nodes operating in such an environmen may be either end nodes or routing
nodes.   End  nodes  perform  no  routing  and  are  either  sources  or
destinations for messages.  The requirements are that these nodes accept
NEIGHBOURS  messages  and either discard them or keep the names of valid
nodes;  and if they have multiple physical  links  they  keep  the  link
numbers  for  each  valid  node.   End  nodes  may, thus, oeprate either
intelligently by knowing all valid nodes and  checking  messages  before
sending  them  out;  or by simply sending and handling the routing error
messages when they are sent back.

Routing nodes must send NEIGHBOURS messages when  physical  link  status
changes  (up  or  down) and when they have updated their tables and this
causes a routing change.  Routing nodes may maintain alternate paths  in
their  routing  table  if  desired.  The lack of this will result in the
absence of a path when the primary route fails.  The node may then  have
to  wait  until it receives a NEIGHBOURS message with a new route to the
destination node if one exists.

Transit values are assigned to links based on their goodness or  "cost".
They  may  have  values  from  1-9, 1 being a better or lower cost link.
Once transit values in route  tables  reach  127  they  remain  at  this
maximum value.  Each node adds its link transit value to values received
in NEIGHBOURS messages to obtain the total cost to the destination node.

The basic rule in using routing in a non-sequential network is that  the
total  transit  cost  from  the neighbour doing the routing must be less
than the total transit cost from the node itself.

DECNET-NCL                                                       Page 26
OPERATION


4.3.3  Multiple Path Routing -

There are many cases when a node has more traffic to another  node  than
the bandwidth of the highest speed link or path between them.  In theses
cases the nodes  may  wish  to  use  several  paths  simultaneously  for
increased  performance  and high reliability.  It is possible to do this
in a number of ways.  One way is to assign multiple addresses  to  nodes
and  different  routing  paths  to each address.  When logical links are
assigned, the operating system may alternately map the  node  name  into
these  multiple  addresses.   There are not changes to NCL in this case.
Some logical links take one path, while some take  another.   Unnumbered
logical links may be used if the routing for each link is sequential.

NCL may choose to send messages through a logical link  which  does  not
have  the  lowest  transit  cost  if  the DDCMP queues for that link are
backed up.  Again, NCL can chooses an alternate route to the destination
as  long  as  the  neighbour it routes through has a transit cost to the
destination less than the cost of the node itself.




5.0  INTERFACE TO OPERATING SYSTEMS


The NCL interface to a TOPS-10 network operating system  is  via  system
commands  and  monitor  calls (UUOs).  The elements in the interface are
described in the DECNET-10 User's Guide.




6.0  CONSIDERATION IN DESIGN


To be completed.
                               APPENDIX A

                              OBJECT TYPES




This is the current list  of  object  types  defined  for  processes  in
DECNET-10.

Object  Type Number     Object Description

        0 =             terminal handler

        1 =             terminal

        2 =             Card reader

        3 =             Line printer

        4 =             Paper-tape reader

        5 =             Paper-tape punch

        6 =             Plotter

        7 =             Magnetic-tape

       10 =             DECtape

  200-377 =             reserved
                               APPENDIX B


                            MESSAGE SUMMARY




Unnumbered Control -  NCT  DNA  SNA  NCA  NCN  NNM  SNM  SID

Numbered Control   -  NCT  DNA  SNA  NCA  NCN  <0>  CMD

Data Messages      -  NCT  DNA  SNA  NCA  NCN  DLA  DAP



CMD message formats are:

CONNECT            -  CNT  <1>  DLA  SLA  DPN  SPN  MML  FEA
DISCONNECT         -  CNT  <2>  DLA  SLA  RSN
NEIGHBOURS         -  CNT  <3>  NNM  LVL
REQ CONFIG         -  CNT  <4>  OBJ  NDV  PID
CONFIGURATION      -  CNT  <5>
DATA REQUEST       -  CNT  <6>  DLA  DRQ
STATION CONTROL    -  CNT  <7>  STC

                               APPENDIX C

                       DEVICE SPECIFIC ATTRIBUTES


                               Table C-1

                    Card Reader Specific Attributes





        WORD    BITS    MEANINIG

        1       0-1     speed
                        0 = don't care
                        1 = <300 cards/minute
                        2 = between 300 and 600 cards/minute
                        3 = >600 cards/minute
                2       mark sense if set
                3       hardware EOF required if set
                4       suppress EOF card detection if set
                5-6     unused
                7       extensible bit - should be zero

DEVICE SPECIFIC ATTRIBUTES                                      Page C-2





                               Table C-2

                    Line Printer Specific Attributes



        WORD    BITS    MEANING

        1       0-1     speed
                        0 = don't care
                        1 = <300 lines/minute
                        2 = between 300 and 600 lines/minute
                        3 = >600 lines/minute
                2       lower case required
                3       removable character set required
                4       multi-part paper required
                5       12 channel skipping required
                6       unused
                7       extensible bit - should be set to 1
        2       0-1     skip requirements
                        0 = don't care
                        1 = changeable from handler
                        2 = changeable at site
                        3 = changeable, but don't care how
                2       requires overprint if set
                3       6 lines/inch printer required
                4       8 lines/inch printer required
                5       changeable fromwidth required if set
                6       unused
                7       extensible bit - should be zero

DEVICE SPECIFIC ATTRIBUTES                                      Page C-3





                               Table C-3

                      Terminal Specific Attributes


        WORD    BITS    MEANING

        1       0       modem control
                1       auto-baud detection
                2       handler can set baud rates
                3       2741
                4       Baudot
                5       auto-dial line
                6       unused
                7       extensible bit - should be zero

                               APPENDIX D

                            SAMPLE MESSAGES


D.1 SAMPLE CONNECT MESSAGE

110,10,3,46,133,0,13,1,24,44,0,0,1,15,112,0,110,7


BYTE    CONTENTS        MEANING

1       110             NCT - bit 0 is zero which indicates that this
                        message is either a Data Message or Numbered
                        Control Message; bit 3 is set indicating that 
                        SNA and DNA bytes are present;  bit 6 being
                        set indicates that the sender is a non-sequential
                        node.
2       10              DNA - the destination node number is 10.
3       3               SNA - the source node number is 3.
4       46              NCA - the last network message correctly received
                        was message number 46.
5       133             NCN - this is message number 133.
6       0               this byte differentiates a Numbered Control
                        Message from a Data Message.  Zero indicates that
                        this is a Numbered Control Message.
7       13              CNT - this byte indicates that there are 13 bytes
                        remaining in this message.
8       1               this byte identifies that this is a CONNECT
                        message.
9       24              DLA - the destination message link address is 24.
                        If this byte was zero, the message would be a
                        CONNECT initiate.  Since it is zero, the message
                        is a CONNECT confirm.
10      44              SLA - the source message link address is 44.
11      0               OBJ - the destination object type for the process
                        is TTY handler.
12      0               PID - the destination process identification is
                        the default choice.
13      1               OBJ - the source object type for the process is
                        TTY.
14      15              PID - the source process unit number is 15.
15      112             MML - the maximum message length is 112 bytes.
16      0               DCM - the data code is ASCII
SAMPLE MESSAGES                                                 Page D-2
SAMPLE CONNECT MESSAGE

17      110             RLN - the record length is 110 (octal) characters.
18      7               DVT - the attributes of the terminal are:  (1)
                        modem control, (2) auto-baud, and (3) the handler
                        can set the baud rates.


D.2  SAMPLE DISCONNECT MESSAGE

110,10,3,46,137,0,4,2,76,40,0


BYTE    CONTENTS        MEANING

1       110             NCT - bit 0 is zero which indicates that this
                        message is either a Data Message or Numbered
                        Control Message;  bit 3 is set indicating that
                        SNA and DNA bytes are present;  bit 6 being set
                        indicates that the sender is a non-sequential
                        node.
2       10              DNA - the destination node number is 10.
3       3               SNA - the source node number is 3.
4       46              NCA - the last network message correctly received
                        was message number 46.
5       137             NCN - this is message number 137.
6       0               this byte differentiates a Numbered Control 
                        Message from a Data Message.  Zero indicates that
                        this is a Numbered Control Message.
7       4               CNT - this byte indicates that there are 4 bytes
                        remaining in this message.
8       2               this byte indentifies that this is a DISCONNECT
                        message.
9       76              DLA - the destination message link address is 76.
10      40              SLA - the source message link address is 40.
11      0               RSN - the value zero indicates that this is a
                        normal disconnection.


D.3  SAMPLE NEIGHBOURS MESSAGE

110,6,22,46,153,0,5,3,10,55,5,110

BYTE    CONTENTS        MEANING

1       110             NCT - bit 0 is zero which indicates that this
                        message is either a Data Message or Numbered
                        Control Message; bit 3 is set indicating that
                        SNA and DNA bytes are present;  bit 6 being set
                        indicates that the sender is a non-sequential
                        node.
2       6               DNA - the destination node number is 6.
3       22              SNA - the source node number is 22.
SAMPLE MESSAGES                                                  Page D-3
SAMPLE NEIGHBOURS MESSAGE


4       46              NCA - the last  network message correctly received
                        was message number 46.
5       153             NCN - this is message number 153.
6       0               this byte differentiates a Numbered Control
                        Message from a Data Message.  Zero indicates that
                        this is a Numbered Control Message.
7       5               CNT - this byte indicates that there are 5 bytes
                        remaining in this message.
8       3               this byte indentifies that this is a NEIGHBOURS
                        message.
9       10              NNM - one neighbour of node 22 is node number 10.
10      55              LVL - the link value between nodes 22 and 10 is 55.
11      5               NNM - another neighbour of node 22 is node number 5.
12      110             LVL - the link value between nodes 22 and 5 is 110.


D.4  SAMPLE REQUEST CONFIGURATION MESSAGE

110,20,77,66,122,0,1,4

BYTE    CONTENTS        MEANING

1       110             NCT - bit 0 is zero which indicates that this
                        message is either a Data Message of Numbered
                        Control Message; bit 3 is set indicating that
                        SNA and DNA bytes are present; bit 6 being set
                        indicates that the sender is a non-sequential
                        node.
2       20              DNA - the destination node number is 20.
3       77              SNA - the source node number is 77.
4       66              NCA - the last network message correctly received
                        was message number 66.
5       122             NCN - this is message number 122.
6       0               this byte differentiates a Numbered Control
                        Message from a Data Message.  Zero indicates that
                        this is a Numbered Control Message.
7       1               CNT - this byte indicates that there is 1 byte
                        remaining in this message.
8       4               this byte identifies that this is a REQUEST
                        CONFIGURATION message.


D.5  SAMPLE CONFIGURATION MESSAGE

110,40,26,55,100,0,7,5,1,10,2,1,3,1

BYTE    CONTENTS        MEANING

SAMPLE MESSAGES                                                 Page D-4
SAMPLE CONFIGURATION MESSAGE

1       110             NCT - bit 0 is zero which indicates that this
                        message is either a Data Message or Numbered
                        Control Message;  bit 3 is set indicating that
                        SNA and DNA bytes are present;   bit 6 being set
                        indicates that the sender is a non-sequential
                        node.
2       40              DNA - the destination node number is 40.
3       26              SNA - the source node number is 26.
4       55              NCA - the last network message correctly received
                        was message number 55.
5       100             NCN - this is message number 100.
6       0               this byte differentiates a Numbered Control
                        Message from a Data Message.  Zero indicates that
                        this is a Numbered Control Message.
7       7               CNT - this byte indicates that there are 7 bytes
                        remaining in this message.
8       5               this byte identifies that this is a CONFIGURATION
                        message.
9       1               OBJ - the object type for the process is TTY.
10      10              NDV - this bit map indicates that there are two
                        terminals on node 40.
11      2               OBJ - the object type for the process is card
                        reader.
12      1               NDV - there is one card reader on node 40.
13      3               OBJ - the object type for the process is line
                        printer.
14      1               NDV - there is one line printer on node 40.


D.6  SAMPLE DATE REQUEST MESSAGE

110,3,10,46,115,0,3,6,24,3

BYTE    CONTENTS        MEANING

1       110             NCT - bit 0 is zero which indicates that this
                        message is either a Data Message or Numbered
                        Control Message;  bit 3 is set indicating that
                        SNA and DNA bytes are present;  bit 6 being set
                        indicates that the sender is a non-sequential
                        node.
2       3               DNA - the destination node number is 3.
3       10              SNA - the source node number is 10.
4       46              NCA - the last network message correctly received
                        was message number 46.
5       115             NCN - this is message number 115.
6       0               this byte differentiates a Numbered Control
                        Message from a Data Message.  Zero indicates that
                        this is a Numbered Control Message.
7       3               CNT -this byte indicates that there are 3 bytes
                        remaining in this message.
8       6               this byte identifies that this is a DATA REQUEST
                        message.
9       24              DLA - the destination message link address is 24.
10      3               DRQ - there are three more outstanding data
                        requests.
SAMPLE MESSAGES                                                 Page D-5
SAMPLE REQUEST MESSAGE


D.7  SAMPLE STATION CONTROL MESSAGE

110,3,10,76,114,0,5,7,1,1,110,130

BYTE    CONTENTS        MEANING

1       110             NCT - bit 0 is zero which indicates that this
                        message is either a Data Message or Numbered
                        Control Message;  bit 3 is set indicating that
                        SNA and DNA bytes are present; bit 6 being set
                        indicates that the sender is a non-sequential
                        node.
2       3               DNA - the destination node number is 3.
3       10              SNA - the source node number is 10.
4       76              NCA - the last network message correctly received
                        was message number 76.
5       114             NCN - this is message number 114.
6       0               this byte differentiates a Numbered Control
                        Message from a Data Message.  Zero indicates that
                        this is a Numbered Control Message.
7       5               CNT - this byte indicates that there are 5 bytes
                        remaining in this message.
8       7               this byte identifies that this is a STATION
                        CONTROL message.
9       1               LNM - this byte indicates that the node under
                        consideration is connected to line 0 of node
                        number 3.
10      1               the STATION CONTROL message is EXAMINE.
11      110             the first location to be examined is location 110.
12      130             the last location to be examined is location 130.