2.2.2.1.3 SNA Protocols

Protocols are predetermined pairs of actions which are
performed by two network elements to effect the exchange of
data between them.  For instance, when data transmission is
initiated across an RS232 (EIA) interface, the sender raises
DTR (data terminal ready) and RTS (request to send).  When
ready, the receiver responds with DSR (data set ready) and
CTS (clear to send).  RTS (request to send) is then
toggled--high to send, low to receive--as messages are
exchanged.  The relationship between these four conditions
and the exchange of data is a portion of the start/stop
(asynchronous) data link control protocol.

The term protocol used alone, commonly refers to data link
control protocols, but SNA networks also use path control
network transmission protocols and BIND protocols.  Common
protocols within each of these groups are listed below.


DATA LINK CONTROL PROTOCOLS

Data link control protocols allow for the actual transmission
of data bits across the physical medium.  Common SNA DLC
protocols include:

o  Synchronous Data Link Control Protocol (SDLC)
o  CCITT X.25 Protocol
o  Binary Synchronous Protocol (Bisync)
o  Start/Stop Protocol (Async)

PATH CONTROL NETWORK TRANSMISSION PROTOCOLS

Path control network transmission protocols allow the
transmission rate to be maximized consistent with the
capabilities of the NAUs being addressed.  The three types of
transmission protocols are:

o  Sequencing
o  Blocking
o  Segmenting

sequencing ensures that message units arrive at their
destination in the same order they were sent.  Order may be
lost during transmission when the message units which make up
a complete message are transmitted simultaneously on several
links of a multi-link transmission group.  Transmission group
sequence numbers are used to reestablish the original order
at the receiving end.

Blocking is used to combine PIUs into a single basic
transmission unit (BTU).  Blocking makes efficient use of a
high-speed data channel.  Figure 2-7 illustrates blocking.



  +----+----+---------+----+----+----------+----+----+----+
  | TH | RH |    RU   | TH | RH |    RU    | TH | RH | RU |
  +----+----+---------+----+----+----------+----+----+----+

  |------- PIU -------|------- PIU --------|----- PIU ----|

  |--------------- BASIC TRANSMISSION UNIT ---------------|


 Figure 2-7.  Blocked PIUs

Segmenting is used to divide a PIU into multiple shorter PIUs
when the receiving node is not capable of processing the
entire original PIU as a single unit.  PIUs and BTUs are
discussed in detail in Section 2.2.2.1.3, SNA Data Formats.
Figure 2-8 illustrates the segmenting function.


  Original PIU
  +----+----+---------------------------------------------+
  | TH | RH |                     RU                      |
  +----+----+---------------------------------------------+
       |\    TH and RH Repeated                      |
       | \_________________ ____________________     |
       |                   |                    |    |
       |                   |                    |    |
       |                   |   RU Segmented     |    |
       |           ________|____________________|____|
       |          /        |         |          |     \
       |         /         |         |          |      \
  +----+----+---------+----+----+----------+----+----+----+
  | TH | RH |    RU   | TH | RH |    RU    | TH | RH | RU |
  +----+----+---------+----+----+----------+----+----+----+

  |------- BTU -------|------- BTU --------|----- BTU ----|


  Figure 2-8.  Segmented PIUs

BIND PROTOCOLS

BIND protocols define how logical units transmit data to one
another and/or how that data is presented to the end-user.
Various classes and types of BIND protocols are listed below:

o  Response Protocols

   Response protocols indicate how a receiver will
   acknowledge a sender's request.  Three types of
   response protocols are defined:

   - Definite Response

     The sender sets either a DR1I or DR2I in the request
     header to identify the response protocol.  The
     receiver must then return either a positive or
     negative response to accept or reject the request.
     Definite response causes extra link traffic.  NPM
     uses the definite response to measure network
     response time.

   - Exception Response

     The sender sets an ERI in the request header.  The
     receiver then returns a negative response for any
     unacceptable requests; no positive responses are
     returned.

   - No Response

     The receiver does not return a response regardless of
     the acceptability of the request.

o  Chaining Protocols

   Chaining protocols allow a sender to initiate multiple
   transmissions in a single direction, which the receiver
   then treats as a single data transfer.  This set of
   transmissions is called a chain.  Chaining protocols
   may also require a response from the receiver, thus
   there are three types:

   - Definite Response Chain

    The sender sets ERI in the RH of all but the last
    request in the chain, where it sets DRxI.  The
    receiver must then return either a positive or
    negative response to accept or reject the entire
    chain.

   - Exception Response Chain

    The sender set an ERI in the request header of all
    requests in the chain.  The receiver then returns a
    negative response if there was an unacceptable
    request in the chain; no positive responses are
    returned.

   - No Response Chain

     The receiver does not return a response regardless of
     the acceptability of the chain.

o  Bracket Protocols

   Bracket protocols are used to separate groups of
   related chains from other groups of related chains.
   This facility is necessary to allow transaction
   programs to serially share a session between type 6.2
   LUs.

o  Sequencing Protocols

   Sequencing protocols are used between session partners
   to ensure that related requests and responses are
   received in the same order that they are sent.  Senders
   assign a sequence number of one to the first request
   sent following session activation.  The sequence number
   is incremented by one for subsequent requests.  The
   receiving LU assigns its responses the same sequence
   number as the corresponding request.  Without
   sequencing protocols, out-of-sequence conditions could
   develop if intervening network delays fluctuated.

o  Request and Response Mode Protocols

   Request and response mode protocols control the number
   of requests which can be outstanding for an LU-LU
   session.  Four types of request and response mode
   protocols exist:

   - Immediate Request Mode

     The sending LU must wait for a response before sending
     additional requests.  This applies only to requests
     specifying definite response.  (Thus, an entire chain
     can be sent.)

   - Delayed Request Mode

     The sending LU does not have to wait for a response
     prior to sending additional requests.

   - Immediate Response Mode

     The receiving LU must return responses in the same
     order that it received the requests.

   - Delayed Response Mode

     The receiving LU can return responses in any order.

o  Send and Receive Mode Protocols

   Send and receive mode protocols determine when session
   partners can send requests.  Three types are defined:

   - Full Duplex

     LUs can send and receive simultaneously.

   - Half-Duplex Contention

     Both LUs can send requests to each other, but not
     simultaneously.  Contention (and lost data) occur if
     both LUs attempt to send at the same time.  The BIND
     parameters identify a contention winner who is
     allowed to send its request first in this event
     (normally the terminal rather than the application is
     designated contention winner).

   - Half-Duplex Flip-Flop

     LUs alternate sending requests.  BIND parameters
     designate one LU as first speaker.  It sends the
     initial requests with a change direction indicator
     (CDI) in the last request header transmitted.  The
     receiving LU becomes the sender upon receipt of the
     CDI.  The LUs toggle between send and receive states
     by subsequent exchange of the CDI.

 Note:  these are not transmission medium protocols. LUs can
 operate in full duplex (i.e., sending and receiving)
 simultaneously even though some or all of the intervening
 transmission media can transmit data in only one direction
 at a time.

o  Data Security Protocols

   Data security protocols are implemented by logical
   units to prevent unauthorized access to end-user data.
   Three types of data security protocols currently exist:

   - Passwords and User-IDs

     A request carries a password and user-ID in an attach
     function management header.  Verification of the
     password is implementation-defined.

   - Session Cryptography

     LUs can use the data encryption standard (DES)
     algorithm to encrypt and decrypt data.  DES employs a
     randomly generated key methodology.

   - LU-LU Session Passwords

     Both the primary and secondary LUs can verify
     passwords prior to activating an LU-LU session.  Each
     LU sends the other a random data string.  The LUs
     then use their respective session passwords to
     encipher this data and return it to the other LU.
     The LU then enciphers the random data field it
     transmitted to the other LU using its own password.
     If the two enciphered fields match, both LUs are
     using the same password.