The SYSTEMS NETWORK ARCHITECTURE (SNA), as it is defined and implemented by IBM, defines the division of all of the network functions into clearly defined layers. These layers provide many of the same functions as the Open Systems Interconnect (OSI) seven-layered architecture defined by the International Standards Organization (ISO). The SNA layers are not identical to the OSI layers and are not compatible or interoperable.
The DATA LINK CONTROL Layer provides the error-free movement of data between the NETWORK ADDRESSABLE UNITS (NAUs) within a given communication network via the SYNCHRONOUS DATA LINK CONTROL (SDLC) Protocol. The flow of information passes down from the higher layers through the DATA LINK CONTROL Layer and is passed into the PHYSICAL CONTROL Layer. It then passes into the communication links through some type of interface.
All NETWORK ADDRESSABLE UNITS (NAUs) are interconnected by some type of physical or logical link which is defined as the DATA LINK LAYER of the SNA Architecture. The DATA LINK CONTROL LAYER provides the capability to pass information between these associated NAUs using the SDLC Protocol. There are two basic types of links:
Communications links provide error-free paths for information to follow via the SDLC protocol. SDLC is a modified subset of the HIGH-LEVEL DATA LINK CONTROL (HDLC) protocol defined by the International Standards Groups CCITT and ISO.
The SDLC protocol is an UNBALANCED procedure that provides for the orderly control of multipoint communications activity in complex networks. This unbalanced procedure is identified as the NORMAL RESPONSE MODE (NRM).
The Data Link Control layer is the lower of the two layers that make up the Path Control Network. The Data Link Control layer communicates upward to the Path Control layer, passing data and control information in BASIC TRANSMISSION UNITS (BTUs).
SDLC is a bit-oriented protocol (BOP). It provides complete transparency, half-duplex [two-way alternate (TWA)] or full-duplex [two-way simultaneous (TWS)] operation, multipoint addressing, flow control, error detection and recovery, and the ability to send more than one message before needing a response.
A set of sequence numbers provides the acknowledgment, flow control, error recovery, and "window" functions. The window function allows the sending station to transmit more than one message before some form of response is received.
The normal method of sequence numbers uses a three-bit counter that rotates the count from 0 through 7 and repeats (Modulo 8). The maximum window size using the normal mode is 7. The extended mode uses a seven bit counter that rotates the count from 0 through 127 and repeats (Modulo 128). The maximum window size using the extended mode is 127.
SDLC is an unbalanced procedure that defines the operation and interaction between a primary station (HOST) and one or more secondary stations (TERMINALS). All of the information that flows between the host and the terminal devices attached to the link is passed using a set of COMMANDS and RESPONSES defined to provide the following functions:
.--------------------------------------------------------------. | Primary Station COMMANDS-> <-Secondary Station RESPONSES| |==============================================================| | | |SET NORMAL RESPONSE MODE (SNRM)--> | | <---(UA) UNNUMBERED ACKNOWLEDGMENT| | .-------------------------------------. | | | The DATA LINK layer is initialized. | | `------------^-------------------------------------^-----------'
.--------------------------------------------------------------. | Primary Station COMMANDS-> <-Secondary Station RESPONSES| |==============================================================| | | |DISCONNECT (DISC)--> | | <---(UA) UNNUMBERED ACKNOWLEDGMENT| | .-------------------------------------. | | | The DATA LINK layer is disconnected.| | `------------^-------------------------------------^-----------'
All commands and responses are contained within an SDLC FRAME that provides all of the addressing, control, sequence numbering, flow control, and error detection required for reliable transmission of data across a LINK.
MODULO 8 BASIC FRAME FORMAT (NORMAL MODE)
8 8 8 8 8 8 NUMBER OF BITS
.==============================.
|| F || A || C || F || F || F ||
|| L || D || T || C || C || L ||
|| A || D || R || S || S || A ||
|| G || R || L || || || G ||
`=============================='
^ ^ ^ ^ ^ ^
LEADING FLAG --' | | | | `-- TRAILING FLAG
| | | |
ADDRESS FIELD ------' | `----'<------ FRAME CHECK
| | SEQUENCE
CONTROL FIELD -----------' | |
| | | |
LINK HEADER -->`---------' `---------'<- LINK TRAILER
MODULO 8 INFORMATION FRAME FORMAT (NORMAL MODE)
8 8 8 NX8 8 8 8 NUMBER
.===================================. OF BITS
|| F || A || C || I || F || F || F ||
|| L || D || T || N || C || C || L ||
|| A || D || R || F || S || S || A ||
|| G || R || L || O || || || G ||
`==================================='
^ ^ ^ ^ ^ ^ ^
LEADING FLAG --' | | | | | `-- TRAILING FLAG
| | | | |
ADDRESS FIELD ------' | | `----'<------ FRAME CHECK
| | | | SEQUENCE
CONTROL FIELD -----------' | `---------'<- LINK TRAILER
| | |
LINK HEADER -->`---------' `----------------- INFORMATION
MODULO 128 BASIC FRAME FORMAT (EXTENDED MODE)
8 8 8 8 8 8 8 NUMBER OF BITS
.===================================.
|| F || A || C || C || F || F || F ||
|| L || D || T || T || C || C || L ||
|| A || D || R || R || S || S || A ||
|| G || R || L || L || || || G ||
`==================================='
^ ^ ^ ^ ^ ^ ^
LEADING FLAG --' | | | | | `-- TRAILING FLAG
| | | | |
ADDRESS FIELD ------' | | `----'<------ FRAME CHECK
| | | SEQUENCE
CONTROL FIELD ---------->`----' | |
| | | |
LINK HEADER -->`--------------' `---------'<- LINK TRAILER
MODULO 128 INFORMATION FRAME FORMAT (EXTENDED MODE)
8 8 8 8 NX8 8 8 8 NUMBER
.========================================. OF BITS
|| F || A || C || C || I || F || F || F ||
|| L || D || T || T || N || C || C || L ||
|| A || D || R || R || F || S || S || A ||
|| G || R || L || L || O || || || G ||
`========================================'
^ ^ ^ ^ ^ ^ ^ ^
LEADING FLAG --' | | | | | | `-- TRAILING
| | | | | | FLAG
ADDRESS FIELD ------' | | | `----'<------ FRAME
| | | | | SEQUENCE
CONTROL FIELD ---------->`----' | `---------'<- LINK
| | | TRAILER
LINK HEADER -->`--------------' `---------------- INFORMATION
All non-flag bytes (octets) must obey a rule where, after five consecutive 1 bits are detected in a transmit string, the sending station must insert a bit position with the value of 0.
The zero insertion/deletion process (bit stuffing) is performed on the ADDRESS, CONTROL, INFORMATION and FRAME CHECK SEQUENCE (FCS) fields. The receiving station must delete these inserted 0 bits before storing the data in memory. Seven or more consecutive 1 bits are considered an ABORT condition.
Although not used by most networks, the architecture and protocol has a provision for an extended addressing capability. This 8-bit field provides the ability to identify 256 different secondary addresses. Two of these addresses are reserved for special purposes:
The normal mode uses two 3-bit counters in the INFORMATION frame to track the number of the frame that is being sent (Ns) and the number of the frame that is expected to be received next (Nr). The SUPERVISORY frames contain only the Nr counter.
The extended mode (Modulo 128) uses a two-byte CONTROL field in the SUPERVISORY and INFORMATION frames to allow the Nr and Ns counters to be seven bits in length and to rotate the count from 0 through 127, and then repeat. The SUPERVISORY frame contains only the Nr counter.
.----------------------------------------.
|| Nr || || Ns || ||
INFORMATION ||-------------||P/F||-------------|| 0 ||
|| 4 || 2 || 1 || || 4 || 2 || 1 || || VALUE
`----------------------------------------'
.----------------------------------------.
|| Nr || || || || || ||
SUPERVISORY ||-------------||P/F|| M || M || 0 || 1 ||
|| 4 || 2 || 1 || || || || || || VALUE
`----------------------------------------'
.----------------------------------------.
MSB || M || M || M ||P/F|| M || M || 1 || 1 || LSB
||======================================||
UNNUMBERED || 8 || 4 || 2 || 1 || 8 || 4 || 2 || 1 || VALUE
||======================================||
|| 7 || 6 || 5 || 4 || 3 || 2 || 1 || 0 || NUMBER
`----------------------------------------'
M = MODIFIER TO BASIC TYPE P/F = POLL OR FINAL BIT
MSB = MOST SIGNIFICANT BIT LSB = LEAST SIGNIFICANT BIT
The fifth bit in the CONTROL field, known as the POLL or FINAL bit, may be set to a value of 1 or 0. It is referred to as:
The INFO frame contains both the Ns and the Nr fields used for flow control and frame level acknowledgment. The normal INFORMATION field will contain a:
The BTU may contain more than one PIU. The entire frame is called BASIC LINK UNIT (BLU).
.========.========.==========.=======================.======. | LINK | TRANS | REQUEST | REQUEST | LINK | | HEADER | HEADER | RESPONSE | RESPONSE | TRLR | | | | HEADER | UNIT | | `========:========:==========:=======================:======' ^ ^ ^ ^ ^ | | `-- BASIC INFORMATION UNIT (BIU) --' | | | | | | `----------- PATH INFORMATION UNIT (PIU) ---' | | | | | | `----------- BASIC TRANSMISSION UNIT (BTU)--' | | | `-------------------- BASIC LINK UNIT (BLU) ----------------' | | `-------------------- COMPLETE SDLC FRAME ------------------'
The FCS field is a two-byte field (16 bits) that contains a CYCLIC REDUNDANCY CHECK (CRC) value that is used to verify the validity of all of the bits contained in the address, control, and information fields. All frames that do not contain a valid FCS must be discarded and ignored. All frames that contain a bit pattern of seven or more consecutive 1 bits must also be discarded as an ABORTED frame.