2. USAGE CONSIDERATIONS › 2.2 General Analysis Considerations › 2.2.2 SNA Overview › 2.2.2.1 SNA Terminology › 2.2.2.1.3 SNA Protocols
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.