COMMUNICATIONS PROTOCOLS FOR PERSONAL COMPUTERS Hayes Microcomputer Products, Inc. 705 Westech Drive Norcross, Georgia 30092 INTRODUCTION Since the beginning of human communications, man has defined "protocols," or sets of rules, to provide for the orderly interchange of information. These have included agreement on sounds, languages, alphabets, vocabularies, grammar, syntax, punctuation, and formatting. The precision required in electronic communications needs similar, very carefully defined and precisely implemented protocols. Such protocols begin with agreement on the binary representation of data. Standards such as the American Standard Code for Information Interchange (ASCII) and the Extended Binary-Coded Decimal Interchange Code (EBCDIC), define specific bit patterns that are interpreted as particular characters. These are the "alphabets" of computers, and provide the basis for the orderly use and exchange of information. Encoded characters can be transferred between computers using two methods: parallel or serial. Parallel communications requires a separate wire for each bit. The ability to send all of the bits of a character simultaneously makes parallel the preferred method of transfer when high speed is required. When such speed is not required, or when it is not feasible to have eight individual circuits between the devices, serial communications is used. In serial communications, each character is sent as a series of bits one at a time on a single wire between the systems and the systems assemble or disassemble characters to create this stream of bits. ASYNCHRONOUS AND SYNCHRONOUS COMMUNICATIONS There are two basic methods of communicating characters serially between computers: asynchronous and synchronous. Historically, they have been implemented separately. Today, we bring their application fields together in the personal computer communications environment. In asynchronous communications, each character is transmitted as an individual entity, separated from preceding and following characters by an indeterminate period of time. Special bits are sent preceding and following the actual data bit of each character to synchronize the receiver with the transmitter. These additional bits result in at least a 20 percent overhead of non-information bits. In synchronous communications, data are grouped and sent as a continuous series of characters called "blocks" or "frames." Rather than synchronize the receiver at the beginning of each character, a special bit pattern is sent at the beginning of each frame. The following data can be separated into characters because of the fixed timing relationship between them. Using this method, overhead becomes a smaller factor as block sizes increase, resulting in more efficient use of the communications channel. Historically, the asynchronous method has been used for interactive terminal communications in which throughput is limited by the capabilities of the terminal hardware and the operator's typing speed. The synchronous method has been predominant in computer-to-computer communications where high volume of data is the rule and high speeds are required. As corporations rely more on personal computers, and the need for sharing data between them and corporate mainframes increases, the trend will be toward higher speed for microcomputer communications, and the greatest efficiency provided by synchronous communications. This separation of asynchronous and synchronous communications into exclusive environments has changed and, today, they have into one, more comprehensive communications environment. Computers are able to communicate a bit of information by asserting a voltage level on a wire connected to the intended recipient. The most basic "physical" communications interface standards, such as RS-232, specify which voltage levels correspond to which bit values, what type of connectors are to be used, and the ancillary control and timing signals and their meanings. A direct connection of this sort is well suited to short distance between nearby systems. MODEMS AND DATA COMMUNICATIONS When connecting to widely separated systems, direct wired connections are not feasible. The cost of the physical circuit is prohibitive, and the incapability of sharing the circuit makes it impossible to spread this cost over multiple users. most common solution for long-distance data communication is to connect through the public telephone network. Virtually any site can be reached, and the cost is low compared to a direct wired connection because the facilities are shared by many users. The public switch telephone system represents a significant capital investment and connects to almost every part of the world with a steadily improving level of quality. The telephone system is designed to carry sounds (voices) rather than voltage levels, and it is therefore not possible to communicate through that system as one would over a wire. Instead, it is necessary to convert the digital voltage levels into sounds (modulation), and to convert them back to digital signals at the other end (demodulation). The device that accomplishes this task is known as a "modem" which is a contraction of modulator-demodulator. Early modems required total manual control - the human operator had to physically dial the telephone, and switch to "data mode" or place the telephone handset into a device that transferred the sounds to and from the telephone. As modems came into wider use, and use by non-technical personnel demanded simplication of the communications process, Hayes Microcomputer Products, Inc. introduced its innovative modem series. A Hayes modem can be directly connected to the telephone system, eliminating the error-prone acoustic connection. It also permits the terminal operator or computer to control modem functions, such as dialing a number or switching from command to data mode from the keyboard or with software. The Hayes Standard "AT" Command Set has since become the standard method of controlling modem functions from software. The "AT" refers to the letters that precede each command string that allow the modem to detect the baud rate and parity the computer is using. The Hayes Standard "AT" Command Set has been adopted by many modem manufacturers, thus claims such as "Hayes compatible" are frequently seen. The Hayes Standard "AT" Command Set specifies a method of controlling modem functions from the attached equipment, but does not define the means of signalling between modems. Protocols such as the Bell 212 standard established by AT&T for use on its domestic circuits, and the V.22 standard established by the CCITT for international circuits ensure that the operating capabilities of the telephone network are not exceeded, and provide a standard modulation method so that the receiving modem can decode the transmitted signals. These standards, among others, are implemented by Hayes so that Hayes modems can be used to communicate with those produced by other manufacturers that follow the same standards. While standards such as Bell 212 and CCITT V.22 provide for signalling in such a way that the receiver can usually decode the sounds accurately, it is possible for the sounds to be corrupted by interference (noise, background hiss, or pops and clicks) so that the received data does not match the transmitted data. Noise is a characteristic of the public switched telephone network and system implementers have to be aware of the existence of transmission errors. In interactive applications, where the typist sees an echo of the results of the communications, these problems can be corrected immediately. Even so, the frequent introduction of errors can be very frustrating and confusing. In file transfer applications, the user does not see the data directly, and it is not feasible to examine it for errors. Errors might go uncorrected, resulting in the data being useless as received. Additional protocols are used to ensure correctness of data delivered by the physical devices. The next section describes the protocols that Hayes has selected for this higher-level error-control, and our justification for this decision. ERROR-CORRECTING PROTOCOLS Various protocols have been defined by computer users, manufacturers, and international standardization bodies. These include protocols for transferring files between microcomputers (such as Hayes Verification and XMODEM), for block-mode communications between terminals and mainframes, between modems, between mainframes, to public data networks, and between public data networks. Hayes selected the protocols it feels are best suited to simplify migration to the communications environment that will exist through the eighties and beyond. The following points were critical to the decision: - For speed, efficiency, and integration with mainframe communications networks, synchronous communications must be supported. - An easy migration path for current users of asynchronous equipment to the synchronous environment must be provided. - Bidirectional, error-free communications must be provided with minimal overhead or loss of performance. - Interactive, file transfer, and other applications must be supported. - Considering the worldwide nature of communications, and the desire to minimize barriers to free flow of information, the protocol must be recognized by international standards organizations and accepted in all countries. - Information regarding the protocol must be publicly available so that implementation will be compatible and supportable, further minimizing barriers to data interchange. - The protocol must be compatible with the planned Integrated Services Digital Networks (ISDN) of the future, again providing an easy migration path for users. THE X.25 PROTOCOL The International Telegraph and Telephone Consultative Committee (CCITT) in 1976 established Recommendation X.25 as a standard for communications between terminals and public data networks. X.25 uses bit-oriented synchronous communications to provide an error-free, bidirectional communications service to communicating applications. The CCITT enhanced X.25 in 1980 and 1984 to provide increased flexibility and to address technology such as satellite communications, proving the intention of maintaining X.25 as a "living" specification. ISDN protocols compare closely with X.25, making adaptation of X.25 products to ISDN a simple task. X.25 is public information, and, being an international standard, all implementations can therefore be compatible. For these reasons, Hayes has selected X.25 as its standard for error-correcting protocols in future hardware and software products. Companion standards, such as X.32 (defining the method by which a dialed connection can be made with a network) will also be adhered to. The protocols will be implemented both in modems (so that existing applications can take advantage of an error-free connection) and in software (so that new applications can take advantage of advanced X.25 features such as multiple simultaneous connections). Other advanced products are planned that will implement X.25 and deliver its advantages to the communications user. Hayes will continue to support the Hayes Verification Protocol, XMODEM, and other accepted file-transfer protocols for the microcomputing community. We will support and contribute to the development of international standards in the area of file-transfer protocols (such as the proposed FTAM standard) and intend to implement protocols in our products. LAYERS OF CCITT PROTOCOLS X.25 is a "multi-layer" standard, meaning that it consists of separate distinct parts each designed to perform a specific function. The "packet layer" provides multiple circuits (the capability for one terminal to communicate with several hosts simultaneously) or for several terminals to share a single physical circuit to a network and then on to the same or different hosts. Information at the packet layer is transferred in "packets," which contain the user data plus routing information necessary to get the data to its proper destination. The packet layer uses the services of the next lower layer, the "link layer." The link layer establishes a single communication path between adjacent nodes. The basic unit of information transfer between link layer entities is the "frame." A portion of an "I" (Information) frame contains the "packet" (if the packet layer is being used). The link layer protocol used in X.25 is known as "LAPB," which stands for "Link Access Procedure-Balanced." It is "balanced" because the stations on each end of the link have equal rights to send an appropriate frame type at any time, unlike a "master-slave" relationship in which the slave can only transmit when "polled" by the master. In situations where only one connection exists between two stations, and there is no need to route information to other stations beyond those two, it is possible (and desirable) to use only the link layer of X.25 (LAPB) rather than the entire packet layer, in order to reduce protocol overhead. The new Hayes VÐseries system modems, which provide a single-channel error-control link, use only LAPB without the overhead of the X.25 packet layer. Hayes future V-series system products will implement the packet layer as well and provide multiple connection capability to the user. The upcoming Integrated Services Digital Networks (ISDN) use a protocol very similar to LAPB for communication on the "D" channel. This protocol, known as "LAPD," provides multiple virtual circuit capability at the link layer, in addition to supporting the X.25 packet layer. Hayes has implemented LAPD in our prototype ISDN PC card, and it will become increasingly important to other ISDN-related products in the future. LAPD has also been discussed in the CCITT as a possible standard for modem error-correction, and Hayes would support this standard, if adopted, by designing modems which would support both the new CCITT standard and the present V-series system LAPB protocol. ASYNCHRONOUS FRAMING TECHNIQUE Although the overwhelming trend is toward synchronous transmission, asynchronous hardware and software currently dominate the personal computer marketplace. X.25 as it is currently defined requires a synchronous data transmission link, and thus cannot be used with most of the existing equipment. To address this need, Hayes has proposed (in the CCITT and the International Standards Organization) Asynchronous Framing Technique (AFT) which can be used with any bit-synchronous protocol such as LAPB, LAPD, or IBM's SDLC. AFT replaces the lowest-level framing and error detection portions of these protocols, adapting them for operation over asynchronous transmission links while retaining all of the formats and error-correction and frame sequencing procedures. Higher layer protocols, such as the X.25 packet layer, can be used without modification on an AFT-adapted link layer. The advantages to this approach, as opposed to adoption of an entirely different non-X.25-compatible protocol, are many. AFT provides an easy migration path to synchronous X.25 and can be used as a stopgap measure until synchronous becomes more widespread. It requires minimal modification to existing implementations, making it easy for a vendor who already provides X.25 to add support for asynchronous transmission. AFT takes advantage of the wide knowledge and experience with now present in the worldwide data communications industry. Existing certification procedures and equipment for X.25 are easily adapted to AFT. Familiarity with the protocol will shorten the development cycle for adoption and implementation of X.25/AFT. Hayes will support X.25/AFT, in addition to X.25, in those future products in which transition from asynchronous to synchronous communications is important, including both software and advanced hardware products. The goal is to move to the speed and efficiency of synchronous communications as quickly as possible, and X.25/AFT facilitates this by providing a compatible interim asynchronous standard. THE HAYES COMMITMENT As the leader in communication hardware and software products for microcomputer systems, Hayes takes seriously its responsibility to analyze present and future requirements, and to provide products for our customers to accomplish their communications and data management tasks. As we grow into a world of high-speed data communications between systems produced by various manufacturers on many continents, the adoption of and adherence to international standards becomes increasingly important. Our commitment to quality, service, and value will allow our customers to continue to benefit from Hayes products in the future.