2 Feb 1995
SNA depends on a reliable network. When any packet of data moves between nodes, it must be checked for errors and either accepted or retransmitted. Only after it has been accepted can it be sent on to the next node. To achieve this reliability, SNA depends on "connection oriented" protocols in the HDLC family. HDLC is an international standard developed in the 1970's to provide simple, reliable modem communications. Like all international standards, it has a very broad definition with something for everyone.
The HDLC definition leaves open many choices. Communication can be full-duplex (where both computers can send data to each other at the same time) or half-duplex (where one computer sends and the other listens). When a sequence of data packets arrives and one is found to be in error, the receiver can either ask specifically for the one bad packet to be retransmitted, or it can ask for that packet and all the data that followed it to be retransmitted.
IBM has a policy of refining any ambiguous international standard by adopting as an internal corporate standard one specific set of answers. When the standard requires that a system tolerate any of several responses to a situation, IBM will adopt a standard by which all IBM devices must generate one specific response, even though they may have to tolerate all valid responses from other devices produced by other vendors. The response to HDLC was to select specific options, clear up uncertainties, and generate a more precise subset of the large protocol that IBM named "SDLC."
In the USA, any company can easily run leased long distance telephone lines between major cities. Before deregulation and the breakup of AT& T, the phone company was prohibited from offering computer services or anything that appeared to be extra processing. So, starting around 1975, most large US corporate networks were developed using modems, leased phone lines, SDLC (to manage each line), and SNA (to provide the message switching, routing, and network control).
SDLC is based on the "Normal Response Mode" (NRM) subset of HDLC. The central network sends a sequence of data packets to the 3270 control unit, then pauses for a reply. The control unit indicates that they were all received correctly, or it asks for retransmission starting with a packet found to be missing or corrupted. The remote control unit and central node take turns sending short bursts of packets. NRM is not fancy. Things happen one at a time, in sequence, with immediate results.
In other countries, most companies use a protocol called X.25. Each country has its own phone company. Each maintains a monopoly on service in or running through their country. AT& T never had to negotiate with the states that it ran through, but to run a line from Germany to Portugal generally involves negotiations with Belgium, France, and Spain. Even today, some companies will fax a document from Germany to the US and then fax it back to Europe because the cost is much lower than sending it within Europe.
X.25 is a service provided by the phone company to accept and route individual data packets. To make it work, the phone company must have the kind of computer equipment that US antitrust regulators would not allow AT& T to offer. A German company delivers a packet of data to the German phone company. The national phone companies now hand it off through France, Spain, and Portugal. Finally, it is delivered to the other computer. The phone companies charge by the packet.
The link between a computer and the phone company in X.25 is also based on HDLC. However, it is a somewhat more complex version of the option set called LAP-B (Link Access Protocol - Balanced). The term "Balanced" contrasts to "Normal Response Mode" and indicates that the two ends are free to send data at any time. Errors will still occur, and they have to be corrected. The process is slightly more complicated when both ends are transmitting at the same time.
SDLC reflected the technology of 1975, before the invention of the microprocessor. By the time that the IEEE was working on standardized LAN communication, inexpensive devices could have astonishing complex processing power. It therefore adopted the most complex, but also most powerful HDLC option called "Asynchronous Balanced Mode" for its communications model. IBM delayed the Token Ring announcement until the IEEE 802 standards were published, then made all of the 802 standards a required part of Token Ring communications. Ethernet users and vendors tended initially to stick with older protocols, though they have moved slowly forward.
In an HDLC or IEEE 802 connection, data is transferred as numbered Information units called I-frames. When the connection is established, the two computers agree on the number of I-frames ("the window") that each can send before waiting for some of the outstanding data to be acknowledged. In each I-frame, and in a separate control packed used when there is no pending data (Receiver Ready or "RR") each computer announces the number of the next I-frame it expects to receive. By indicating that it is ready to receive frame 6, the computer implicitly acknowledges that frame 5 arrived and was processed correctly. A station should be able to accept the number of frames in the agreed window, but memory is unexpectedly short it can stop the flow of data with a Receiver Not Read ("RNR") control message.
It is possible to detect and recover from all communications errors using just I-frames and the two control packets RR and RNR. This makes HDLC a very simple but powerful protocol. Additional control packets are defined as options to improve efficiency, but their use is not required.
At each end of the phone line or LAN, the computer needs to keep track of a few items. What is the number that should be assigned to the next I-frame transmitted, what was the number of the last I-frame received, and has it been acknowledged yet? There are time limits to detect lost messages, and a counter to managed the window of unacknowledged frames. The 802.2 standard calls this a "connection component." In SNA, it is a Link Station.
The Link Station controls the flow of data between two network nodes. Successive I-frames may belong to the same session, or they may belong to different programs or terminals. When an I-frame is acknowledged on the LAN or SDLC line, this does not mean that the data in it is correct or has been processed. The Link Station dumps incoming data into buffers and queues them up for later processing.
The mainframe-based SNA network does not allow minicomputers to act as intermediate routers for messages from other nodes. No other communication protocol has such a rule, and as powerful microprocessors were integrated into other network devices, the SNA restriction became unbearable. The result is that IBM devices began to cheat. They violated the architecture by playing games with the Link Station activity.
If a device allows I-frames, RR, and RNR packets to flow through it, then it is a "bridge." Bridges are required to build any large Token Ring network. The IEEE 802 protocol is configured on most SNA devices to allow for the delay caused by a certain number of bridges between any two nodes.
When the device is connected to two different media with different speeds, as is the case when two LANs are connected by a phone line, then the I-frames may take too long to get to their destination. The solution is to create a dummy Link Station on each LAN to receive and acknowledge the I-frames before queuing them for remote transmission. As buffers fill up, the Receiver Not Ready (RNR) control packet can be used to temporarily halt further data until the previous data has been sent on.
To understand this trick, it is important to realize that when a Link Station acknowledges receipt of an I- frame, this does not imply that the data inside the I-frame has been processed. An IBM Token Ring adapter acknowledges frames as they are received by the adapter card. They may then be queued up and may be processed seconds or even minutes later by the programs inside the PC. So the Link Station acknowledgment only implies that the message got as far as the adapter card.
Most IBM customers that use modern equipment have some version of the Link Station hack without realizing that it is technically a violation of the SNA Architecture. For example, every 3174 control unit that acts as a Token Ring gateway (whether "remote" to an SDLC line or "local" to a mainframe channel) is essentially creating dummy Link Stations. The 3270 SNA Gateway function in a PC is also an example of the Link Station trick (though it also remaps LU numbers in the packet before sending the data on).
APPN provides a proper tool for using minicomputers as routers, but until recently it was not possible to send 3270 data through an APPN network. The IBM decision to initially make unreasonable restrictions, then fail to update the architecture, then solve the problem by subverting the original network design, and finally to mislead customers by refusing to admit the mess underscores all that has been wrong with IBM technical management.
Additional information is available in self-study courses from SRA (1-800-SRA-1277)
Return to SNA Crossroad
Copyright 1995 PCLT -- Link Stations, SDLC, IEEE 802.2 -- H. Gilbert
This document generated by SpHyDir another fine product of PC Lube and Tune.