| DESCRIPTION |
The Systems Network Architecture (SNA) was introduced by IBM in 1974 in order to provide a framework for joining together the multitude of mutually incompatible IBM products for distributed processing. SNA was one of the first communications architectures to use a layered model, which later became the basis for the OSI model. IBM's SNA ruled the networking landscape, so it often is referred to as traditional or legacy SNA.
SNA is a suite of protocols mainly used with IBM mainframe and AS/400 computers. SNA model components map closely to the OSI reference model.
SNA Layers
IBM SNA Maps to All Seven Levels of the OSI Model
- Physical
Traditional SNA physical entities assume one of the following four forms: hosts, communications controllers, establishment controllers, and terminals. Hosts in SNA control all or part of a network and typically provide computation, program execution, database access, directory services, and network management.
- Data link control (DLC)
Defines several protocols, including the Synchronous Data Link Control (SDLC) protocol for hierarchical communication, and the Token Ring Network communication protocol for LAN communication between peers
- Path control
Performs many OSI network layer functions, including routing and datagram segmentation and reassembly (SAR)
- Transmission control
Provides a reliable end-to-end connection service, as well as encrypting and decrypting services
- Data flow control
Manages request and response processing, determines whose turn it is to communicate, groups messages, and interrupts data flow on request
- Presentation services
Specifies data-transformation algorithms that translate data from one format to another, coordinate resource sharing, and synchronize transaction operations
- Transmission control
Provides an interface for applications to use network services
Network Addressable Units
SNA defines three essential network addressable units (NAUs): logical units, physical units, and control points. Each node has at least one NAU. The NAU enables a process to use the network by giving it an address. A process can then reach and be reached by other NAUs.
An NAU can be one of three types:
- LU (Logical Unit): function as end-user access ports into an SNA network.
- PU (Physical Unit): provide users with access to network resources.
- SSCP (System Services Control Point): manage the transmission of information between end users.
Physical units (PUs) are used to monitor and control attached network links and other network resources associated with a particular node. PUs are implemented on hosts by SNA access methods, such as the virtual telecommunication access method (VTAM). PUs also are implemented within communications controllers by network control programs (NCPs).
Control points (CPs) manage SNA nodes and their resources. CPs generally are differentiated from PUs in that CPs determine which actions must be taken, while PUs cause actions to occur. The SSCP (PU Type 5) is usually implemented in IBM mainframe machines which use channels to connect to control devices such as disks, tapes and communication controllers. These are high speed communications links (up to 17 Mbps).
SNA Nodes
Traditional SNA nodes belong to one of two categories:
- Subarea nodes.
- Peripheral nodes.
SNA subarea nodes provide all network services, including intermediate node routing and address mapping between local and network-wide addresses. No relationship exists between SNA node types and actual physical devices. Two subarea nodes are of particular interest: node type 4 and node type 5.
- Type 1 ¨C terminals.
- Type 2 - controllers and machines that manage terminals.
- Type 4 - front-end processors and machines that take some load off the main CPU. It usually contained within a communications controller. An example of a T4 node is an NCP, which routes data and controls flow between a front-end processor and other network resources.
- Type 5 - the main host. An example of a T5 node is the VTAM resident within an IBM mainframe. A VTAM controls the logical flow of data through a network, provides the interface between application subsystems and a network, and protects application subsystems from unauthorized access.
SNA Protocol Suite
The SNA protocol suite includes the following protocols:
- SDLC
SDLC has been widely implemented in SNA networks to interconnect communications and establishment controllers, and to move data via telecommunications links. It is used as the layer 2 of the SNA hierarchical network.
SDLC frame format
Link Header | Link Trailer | Flag | Address field | Control field | Information | FCS | Flag |
- Flag
The value of the flag is always (0x7E). In order to ensure that the bit pattern of the frame delimiter flag does not appear in the data field of the frame (and therefore cause frame misalignment), a technique known as Bit Stuffing is used by both the transmitter and the receiver.
- Address field
The first byte of the frame after the header flag is known as the Address Field. SDLC is used on multipoint lines and it can support as many as 256 terminal control units or secondary stations per line.
- Control field
The field following the Address Field is called the Control Field and serves to identify the type of the frame. In addition, it includes sequence numbers, control features and error tracking according to the frame type.
- Modes of operation
In SDLC there is the notion of primary and secondary stations, defined simply as the initiator of a session and its respondent. The primary station sends commands and the secondary station sends responses.
- FCS
The Frame Check Sequence (FCS) enables a high level of physical error control by allowing the integrity of the transmitted frame data to be checked. The sequence is first calculated by the transmitter using an algorithm based on the values of all the bits in the frame. The receiver then performs the same calculation on the received frame and compares its value to the CRC.
- Window size
SDLC supports an extended window size (modulo 128) where the number of possible outstanding frames for acknowledgement is raised from 8 to 128. This extension is generally used for satellite transmissions where the acknowledgement delay is significantly greater than the frame transmission times.
- Frame types
| The following are the Supervisory Frame Types in SDLC: | | RR | Information frame acknowledgement and indication to receive more. | | REJ | Request for retransmission of all frames after a given sequence number. | | RNR | Indicates a state of temporary occupation of station (e.g., window full). | | | | The following are the Unnumbered Frame Types in SDLC: | | DISC | Request disconnection. | | UA | Acknowledgement frame. | | DM | Response to DISC indicating disconnected mode. | | FRMR | Frame reject | | CFGR | Configure. | | TEST | Sent from primary to secondary and back again. | | BCN | Beacon. | | SNRM | Initiator for normal response mode. Full master/slave relationship. | | SNRME | SNRM in extended mode. | | RD | Request disconnect. | | RIM | Secondary station request for initialization after disconnection. | | SIM | Set initialization mode. | | UP | Unnumbered poll. | | UI | Unnumbered information. Sends state information/data. | | XID | Identification exchange command. | | | | There is one Information Frame Type in SDLC: | | Info | Information frame. |
- QLLC
QLLC is a standard developed for interconnecting SNA LANs over packet switched WANs with X.25. The SDLC header and trailer is stripped off and replaced by similar fields of LAPB before transmission over the network. The standard also defines additional control bytes used to allow the receiving end of the network to reconstruct the original SDLC frame. The SNA information is passed over the network within the X.25 data packet.
SNA data and QLLC control frames are determined by the value of the Q-bit within the X.25 packet header.
QLLC Frame Types
| QRR | Receive Ready. | | QDISC | Disconnect. | | QUA | Unnumbered Acknowledgement. | | QDM | Disconnect Mode. | | QFRMR | Frame Reject. | | QTEST | Test. | | QRD | Request Disconnect. | | QXID | Exchange Identification. | | QSM | Set Mode. |
- SNA
Frames format
Transmission Header (TH) | Request / Response Header (RH) | Request / Response Unit (RU) |
- Transmission Header
The TH field contains the Format Identifier value (FID). This value corresponds to the type of communication session and the environment in which it is used.
FID2 is the format used between a T4 or T5 node and an adjacent T2.0 or T2.1 node, or between adjacent T2.1 nodes. FID3 is used on links to a PU T1 (such as AS/400 controllers). FID4 is used on links between PU T4s.
The TH field also contains a mapping field (MPF) which indicates whether the frame is a complete SNA frame (containing TH, RH and RU) or just a segment. When the SNA frame is too large to be sent as one frame, it is divided into several segments (first, middle, last or whole). The first segment includes a TH (indicating that it is the first), an RH and the beginning of the RU. Other segments (middle and last) contain a TH (identical to the one of the first except for the MPF field) and the remainder of the RU.
- Request/Response Header
The RH field denotes the SNA category of the frame, the format of the RU, whether requests are chained together, bracket indicators, pacing information and various other SNA frame properties.
- Request/Response Unit
The RU contains the ¡®user data¡¯ that one LU sends to its session partner or a special SNA frame. A field within the RH distinguishes between cases and several classes of SNA frames. There are three categories of SNA frames: NS (function management data), DFC (data flow control) and SC (session control).
- SNA TH0 & TH1
SNA TH0 and TH1 correspond to the FID header 0 and 1 respectively.
Packet format
4 | 6 | 7 | 8 bits | FID | MPF | EFI | | DAF (2 bytes) | OAF (2 bytes) | SNF (2 bytes) | DCF (2 bytes) |
- FID
Format Identification: 0=FID 0, 1=FID 1.
- MPF
Mapping field:
0 | Middle segment of a BIU | 1 | Last segment of a BIU | 2 | First segment of a BIU | 3 | Whole BIU |
- EFI
Expedited flow indicator:
0 | Normal flow | 1 | Expedited flow |
- DAF
Destination address field. Network address denoting the BIU¡¯s destination network addressable unit (NAU).
- OAF
Origin address field. Network address denoting the originating NAU.
- SNF
Sequence number field. Numerical identifier for the associated BIU.
- DCF
Data count field. A binary count of the number of bytes in the BIU if the BIU segment is associated with the transmission header.
- SNA TH5
SNATH 5 is the FID 5 header.
Packet format
4 | 6 | 7 | 8 bits | FID5 0101 (4 bits) | MPF (2 bits) | R | EFI | Reserved ( 1 byte) | SNF (2 bytes) | SA (8 bytes) |
- FID 5
The value of this field is 0101.
- MPF
Mapping field.
- R
Reserved bit.
- EFI
Expedited flow indicator (1 bit).
- SNF
Sequence number field.
- SA
Session address.
- APPN
Advanced Peer-to-Peer Networking (APPN) represents IBM's second-generation SNA. In creating APPN, IBM moved SNA from a hierarchical, mainframe-centric environment to a peer-based networking environment. At the heart of APPN is an IBM architecture that supports peer-based communications, directory services, and routing between two or more APPC systems that are not directly attached.
Components
In addition to the APPN environment, peer-based SNA networking specifies three additional key networking concepts: logical units (LUs), Advanced Program-to-Program Computing (APPC), and node type 2.1. Each plays an important role in the establishment of communication among SNA peers within the context of an SNA-based peer internetwork.
Node Types
Under APPN, peer-based communication occurs among several well-defined node types. These nodes can be broken down into three basic types:
- Low-entry network (LEN) node
LEN is a pre-APPN era peer-to-peer node. A LEN node participates in APPN networking by taking advantage of services provided by an adjacent network node (NN).
- End node (EN)
EN contains a subset of full APPN support. An end node accesses the network through an adjacent NN and uses the routing services of the same adjacent NN.
- Network node (NN)
NN contains full APPN functionality. The CP in an NN manages the resources of the NN, as well as the attached ENs and LEN nodes.
APPN Supports Several Well-Defined Node Types
- IBM APPN Services
Basic APPN services fall into four general categories: configuration, directors, topology, and routing and session services. Each is summarized in the sections that follow.
- IBM APPN Configuration Services
APPN configuration services are responsible for activating connections to the APPN network. Connection activation involves establishing a connection, establishing a session, and selecting an adjacency option.
- IBM APPN Directory Services
APPN directory services are intended to help network devices locate service providers. These services are essential to establishing a session between end users. Directory services in APPN call for each NN to maintain a directory of local resources and a network directory that associate end users with NNs providing service. A distributed directory service then is formed from the collection of individual NN network directories. This section summarizes the nature of APPN databases, node-directory service handling, and the role of a centralized directory service.
- IBM APPN Topology and Routing Services
In an APPN network topology, network nodes are connected by transmission groups (TGs). Each TG consists of a single link, and all NNs maintain a network topology database that contains a complete picture of all NNs and TGs in the network.
A network's topology database is updated by information received in a topology database update (TDU) message.The network topology database contains information used when calculating routes with a particular class of service (CoS). APPN's routing services function uses information from directory and topology databases to determine a route based on CoS.
IBM APPN Session Services
Following route establishment, the APPN session-establishment process varies depending on the node type. If the originating end user is attached to an EN, a LOCATE reply containing the location of the destination and route is returned to the originating EN by the NN adjacent to the destination EN. The originating EN then sends a BIND on a session route. If originating, the end user is attached to a LEN node that sends a BIND to its adjacent NN. The adjacent NN converts the LEN BIND to APPN BIND, and sends a BIND on the session path.
- HPR-APPN
HPR network is an extension of the SNA network. HPR (High Performance Routing) is an extension of the base-APPN that provides some key advancements. These new functions include:
Non-disruptive path switching.
- Better utilization of high-speed communication paths.
- An advanced congestion control methodology.
Additional functionality provided by two new components: Rapid Transport Protocol (RTP) and Automatic Network Routing (ANR). These components provide the added functionality exhibited by HPR nodes.
- NHDR
The packet transported along an RTP connection has a specific format. It consists of 3 components. NHDR, THDR and data. The Network Layer Header (NHDR) begins the frame used by RTP (Rapid Transport Protocol) nodes. It provides addressing for the packet as it transverses the HPR network. The components of this header include the transmission priority and the ANR (Automatic Network Routing) labels. NHDR consists of some indicators that identify the packet as a network layer packet.
Format of the header
Switching mode(3 bits) | Transmission priority field(2 bits) | Function type (4 bits) | Time-sensitive packet indicator (1 bit) | Slowdown 1 (1 bit) | Slowdown 2 (1 bit) | ANR routing field or function routing field |
- Switching mode
Switching mode may have the following values:
5 | Function routing | 6 | Automatic network routing |
- Transmission priority field (TPF)
TPF may have the following values
0 | low (L) | 1 | medium (M) | 2 | high (H) | 3 | network (N) |
- Function type (for switching mode 5)
Function type of 1 indicates logical data link control.
- TSP
Time-sensitive paket indicator
- Slowdown 1 and 2
This field indicates when ever a minor (slowdown 1) or significant (slowdown 2) congestion condition exists. Possible values are:
- ANR routing field (for SM = 6)
A string of ANR labels 1 or 2 bytes long. The string ends with 0xFF.
- Function routing field (for SM = 5)
A 2 byte function routing address (FRA) followed by a 0xFF value.
- NLP
In High Performance Routing (HPR),the message unit used to carry data over the route, Network Layer Packet is analogous to a datagram.
Sending SNA PIUs and NLPs.
Before any SNA packets may be communicated, PPP must reach the Network-Layer Protocol phase, and the appropriate SNA ControlProtocol must reach the Opened state.
The maximum length of a SNA packet transmitted over a PPP link is the same as the maximum length of the Information field of a PPP encapsulated packet.
Sending HPR Network Layer Packets (NLPs)
Exactly one HPR Network Layer Packet (NLP) is encapsulated in the PPP Information field, where the PPP Protocol field indicates type hex 004D (SNA).
It is architecturally possible to transport HPR NLPs over LLC over PPP using PPP Protocol field type hex 004B (SNA over LLC 802.2) ifthe optional HPR link-level error recover tower is included in the implementation.
- THDR
THDR is the RTP Transport header. It is used by the RTP endpoints to provide correct processing of the packet. It is used for communication between the endpoints and to identify the RTP connection.
Format of header
TCID assignor(7 bytes) | Connection setup(1 bit) | Start-of-message indicator (1 bit) | End-of-message indicator (1 bit) | Status requested indicator (1 bit) | Respond ASAP indicator (1 bit) | Retry indicator (1 bit) | Last message indicator (1 bit) | Connection qualifier field indicator (2 bits) | Optional segments present indicator (1 bit) | Data offset (2 bytes) | Data length(2 bytes) | Byte sequence number(4 bytes) | Control vector 05 | Optional segments |
- TCID assignor
Transport connection identifier. There are 2 possible values:
0 | TCID was assigned by the receiving RTP partner. | 1 | TCID was assigned by the sending RTP partner. |
- Connection setup
- Start of message indicator
0 | not start of message | 1 | start of message |
- End of message indicator
0 | not end of message | 1 | end of message |
- Status requested indicator
0 | Receiver need not reply with a status segment. | 1 | Receiver must reply with a status segment. |
- Respond ASAP indicator
1 | Sender will retransmit reply ASAP. |
- Retry indicator
0 | Sender will retransmit this packet. |
- Connection qualifier field indicator
0 | none presented | 1 | originator |
- Optional segments present indicator
- Byte sequence number
Sequence number of the first byte of the data field.
- Optional segments
If present the optional segment can contain one or more of the following segments:
The structure of each segment is as follows:
0x0E | Status segment. | 0x0D | Connection Setup segment. | 0x10 | Connection Identifier Exchange segment. | 0x14 | Switching Information segment. | 0x22 | Adaptive Rate-Based segment. | 0x12 | Connection Fault segment. | 0x0F | Client Out-of-band Bits segment. |
- The structure of each segment is as follows:
Byte | Content | 0 | Segment length/4 | 1 | Segment type | 2 | Segment data |
- Each segment may include control vectors.
Supported control vectors are:
Each segment may include control vectors. Supported control vectors are:
0x00 | Node identifier Control Vector. | 0x03 | Network ID Control Vector. | 0x05 | Network Address Control Vector. | 0x06 | Cross-Domain Resource Manager Control Vector. | 0x09 | Activation Request/Response Sequence Identifier Control Vector. | 0x0E | Network Name Control Vector. | 0x10 | Product Set ID Control Vector. | 0x13 | Gateway Support Capability Control Vector. | 0x15 | Network-Qualified Address Pair Control Vector. | 0x18 | SSCP Name Control Vector. | 0x22 | XID Negotiation Error Control Vector. | 0x26 | NCE Identifier Control Vector. | 0x28 | Topic Identifier Control Vector. | 0x32 | Short-Hold Mode Control Vector. | 0x39 | NCE Instant Identifier. | 0x46 | TG Descriptor Control Vector. | 0x60 | Fully qualified PCID Control Vector. | 0x61 | HPR Capabilities Control Vector. | 0x67 | ANR Path Control Vector. | 0xFE | Control Vector Keys Not Recognized Control Vector. |
- DLSw
Data Link Switching (DLSw) is a forwarding mechanism for the IBM SNA (Systems Network Architecture) and IBM NetBIOS (Network Basic Input Output Services) protocols. Over IP networks, DLSw does not provide full routing, but instead provides switching at the SNA Data Link layer (i.e., layer 2 in the SNA architecture) and encapsulation in TCP/IP for transport over the Internet.
Message structure
8 | 16 | Octets | Version number | Header length (=16) | 0-1 | Message length | 2-3 | Remote data link correlator | 4-7 | Remote DLC port ID | 8-11 | Reserved field | 12-13 | Message type | Flow control byte | 14-15 |
- Version number
Set to 0x31 (ASCII 1) indicating a decimal value of 49. This is used to indicate DLSw version 1.
- Header length
Set to 0x48 for control messages and 0x10 for information and Independent Flow Control messages.
- Message length
Specifies the number of bytes within the data field following the header.
- Remote data link correlator / remote DLC port ID
The contents of the DLC and DLC Port ID have local significance only. The values received from a partner DLSw must not be interpreted by the DLSw that receives them and should be echoed "as is" to a partner DLSw in subsequent messages.
- Message type
The following message types are available:
| CANUREACH_ex | Can U Reach Station-explorer | | CANUREACH_cs | Can U Reach Station-circuit start | | ICANREACH_ex | I Can Reach Station-explorer | | ICANREACH_cs | I Can Reach Station-circuit start | | REACH_ACK | Reach Acknowledgment | | DGRMFRAME | Datagram Frame | | XIDFRAME | XID Frame | | CONTACT | Contact Remote Station | | CONTACTED | Remote Station Contacted | | RESTART_DL | Restart Data Link | | DL_RESTARTED | Data Link Restarted | | ENTER_BUSY | Enter Busy | | EXIT_BUSY | Exit Busy | | INFOFRAME | Information (I) Frame | | HALT_DL | Halt Data Link | | DL_HALTED | Data Link Halted | | NETBIOS_NQ_ex | NETBIOS Name Query-explorer | | NETBIOS_NQ_cs | NETBIOS Name Query-circuit setup | | NETBIOS_NR_ex | NETBIOS Name Recognized-explorer | | NETBIOS_NR_cs | NETBIOS Name Recog-circuit setup | | DATAFRAME | Data Frame | | HALT_DL_NOACK | Halt Data Link with no Ack | | NETBIOS_ANQ | NETBIOSAdd Name Query | | NETBIOS_ANR | NETBIOSAdd Name Response | | KEEPALIVE | Transport Keepalive Message | | CAP_EXCHANGE | Capabilities Exchange | | IFCM | Independent Flow Control Message | | TEST_CIRCUIT_REQ | Test Circuit Request | | TEST_CIRCUIT_RSP | Test Circuit Response |
- Flow control byte
Format of Flow Control is as follows:
Top of Page
|
| EXAMPLES |
|
|
Top of Page
|
| PROTOCOL RELATIONS |
■ Parent layer
■ Child layer
Ethernet 802.2
|  | SNA | |
Top of Page
|
| GLOSSARY |
|
Bracket Bracket is one or more chains of request units (RUs) and their responses that are exchanged between the two LU-LU half-sessions and that represent a transaction between them. A bracket must be completed before another bracket can be started.
Expedited Flow A data flow designated in the transmission header (TH) that is used to carry network control, session control and various data flow control request/response units (RUs). The expedited flow is separate from the normal flow (which carries primary end-user data) and can be used for commands that affect the normal flow.
LU LU(Logical Unit) is a port through which end users access the SNA network in order to communicate with other end users and the functions provided by system services control points (SSCPs). An LU can support at least two sessions (one with an SSCP and one with another LU) and may be capable of supporting many sessions with other logical units.
NAU NAU(Network Address-able Unit) is a logical unit, physical unit or system services control point which is the origin or the destination of information transmitted by the path control network. Each NAU has a network address that represents it to the path control network.
NS NS(Network Services) header is a 3 byte field in an FMD request/response unit (RU) flowing in an SSCP-LU, SSCP-PU or SSCP-SSCP session. The network services header is used primarily to identify the network services category of the RU and the particular request code within a category.
Node Type Node Type is a designation of node according to the protocols it supports and the network addressable units (NAUs) that it can contain. Five types are defined: 1, 2.0, 2.1, 4 and 5. Node types 1, 2.0 and 2.1 are peripheral nodes and types 4 and 5 are subarea nodes.
Normal Flow A data flow designated in the transmission header (TH) that is used primarily to carry end-user data. The rate at which requests flow on the normal flow can be regulated by session-level pacing. Normal and expedited flows move in both the primary-to-secondary and secondary-to-primary directions.
PU PU(Physical Unit ) is one of the three types of network addressable units (NAUs). Each node of an SNA network contains a physical unit (PU) that manages and monitors the resources (such as attached links) of a node, as requested by a system services control point (SSCP) via an SSCP-PU session. An SSCP activates a session with the PU in order to indirectly manage resources of the node such as attached links through the PU.
PU Type 2 (T2) PU Type 2 (T2) is a network node that can attach to an SNA network as a peripheral node.
PU Type 4 (T4) PU Type 4 (T4) is a network node containing an NCP and that is a subarea node within an SNA network.
PU Type 5 (T5) PU Type 5 (T5) is a network node containing VTAM and that is a subarea node within an SNA network.
RU Chain RU Chain is a set of related request/response units (RUs) that are consecutively transmitted on a particular normal or expedited data flow. The request RU chain is the unit of recovery: if one of the RUs in the chain cannot be processed, the entire chain is discarded. Each RU belongs to only one chain, which has a beginning and an end indicated via control bits for request/response headers within the RU chain. Each RU chain can be designated as first-in-chain (FIC), last-in-chain (LIC), middle-in-chain (MIC) or only-in-chain (OIC). Response units and expedited flow request units are always sent as OIC.
SSCP SSCP(System Services Control Point) is a focal point within an SNA network for managing the configuration, coordinating network operator/problem determination requests and providing directory support and other session services for network end users. Multiple SSCPs, cooperating as peers, can divide the network into domains of control, with each SSCP having a hierarchical control relationship to the physical and logical units within its domain.
|
Top of Page
|
| REFERENCES |
|
|
Top of Page
|
| OTHER PROTOCOLS OF TCP/IP SUITE |
|
|
|
|
|