Taking The "Buzz" Out of Buzz Words by Alan D. Applegate Copyright 1990 by eSoft, Incorporated. All Rights Reserved --------------------------------------------------------------- Note: The following three part series on modem fundamentals is reprinted with permission from the eSoft possibilities newsletter June, July, and August 1990 issues. Possibilities is a monthly customer support publication of: eSoft, Incorporated 15200 E. Girard Avenue Suite 2550 Aurora, Co 80014 This series of articles may not be reproduced in any form except by inclusion of the above copyright notice. This file is authorized for distribution without charge only if it is unchanged in any way. Any use of this information in any other way must include proper credit to its source. --------------------------------------------------------------- Part 1: The Basics of Modems ---------------------------- [The world of computers is riddled with buzz words -- technical jargon for the various parts of computers, their functions, and applications. In telecommunications it's the same thing. Terms like Baud, Bits, Parity, MNP, Half Duplex, and Full Duplex can make a TBBS system designer's life seem more complex than it really is. The problem is, these buzz words are attached to many of the components and concepts that a TBBS system designer must grasp to make the most of online system implementation and even to explain a system's operation to its users. Fortunately, most telecommunications terminology isn't hard to understand -- once it's been explained by someone who knows what the terms mean and can speak English clearly enough to break them down in understandable language. Alan Applegate is just such a person and we at eSoft are lucky enough to have him on our technical support staff. In the following special three-part series, Alan will tackle many of the common telecommunications buzz words you'll encounter as a TBBS system designer and bring them a lot closer to home with straightforward, plain-English definitions and step-by-step explanations... Ed.] Modem Standards --------------- No doubt you've wondered at one time or another about modem standards. There are currently several active standards, and they involve more than just the modem's actual operating speed. Without these standards, modems from one manufacturer most likely couldn't "talk" to modems made by another manufacturer. Consequently, at least a basic understanding of modem standards is also necessary if you want to make the right choices when selecting modems for use on your TBBS system. Generally speaking, 300, 1200 and 2400 bps modems each use a different standard that is adhered to by all modems and modem makers. (It should be noted that standards for 300 and 1200 bps are different in the United States than they are in Europe.) Standards for 9600 bps transmission have been established for some time, but the technology to implement those standards was, until recently, expensive. To get around the high cost of using the existing standard, modem manufacturers have created several of their own proprietary high-speed modem standards. This is why so many high-speed modems will only "talk" to another high-speed modem of the same brand. Data transmission speeds, however, are not the only type of modem standard. Actually, modem standards are grouped into four distinct areas or "layers." These are shown in the illustration below: Modulation ---------- Modulation is the starting (or bottom) layer for all modems ("modem" means MOdulator - DEModulator). Each layer builds upon the next. Modulation refers to the signaling method that is used by the modem. Two modems must use the same modulation method in order to understand each other. Each data rate uses a different modulation method, and sometimes there is more than one method for a particular rate. An example of this is the Bell 212A and V.22 modulation standards (described below); they both specify 1200 bps modulation, but they work differently, and are not directly compatible. Negotiation ----------- Negotiation refers to the manner in which two modems establish which modulation method will be used during a connection. Modems "listen" to the tones sent by a remote modem to determine what modulation method will be used. Since different modulation methods often use different answer tones, these can be used by the calling modem to determine which method to use. Negotiation standards have been created to make the process easier. These standards dictate the sequence of events that will occur when a modem answers the phone, eliminating the guesswork associated with the "listen to the tones" method. Negotiation is part of many modem standards. Error Correction ---------------- Error correction refers to an ability that some modems have to identify errors during a transmission, and to automatically re- send data that appears to have been damaged in transit. If error correction is used, both modems must adhere to the same error correction standard to make it work. Fortunately, there are error correction standards which are followed by most modem manufacturers. Data Compression ---------------- Data compression refers to a built-in ability in some modems to compress the data they're sending, automatically "squeezing" data to a smaller size as it is sent. This, of course, saves time and can result in considerable money saved by long-distance modem users. Depending on the type of files that are sent, data can be compressed by as much as 50% of its original size, effectively doubling the speed of the modem. In this scenario, a 2400 bps modem with data compression is capable of sending some files as quickly as a 4800 bps modem WITHOUT data compression. Not all types of data can be compressed by 50%, but gains can nearly always be realized. We'll take a look at each of the various data compression standards later in this series, but first let's examine those modem standards that are associated directly with the transmission speed of the modem. Standards for 300 and 1200 Bps ------------------------------ Most 300 bps modems follow the standard created initially by AT&T, called Bell 103, and are common in the United States. Most modems manufactured for use outside the United States support the CCITT V.21 standard instead, and are not compatible with Bell 103 modems. Some modems can be set to follow either standard. AT&T also created the Bell 212A standard for 1200 bps modems. It's become the common standard in the United States. Most modems manufactured for use outside the United States support the CCITT V.22 standard instead, and are not compatible with the Bell 212A modems. Some modems can be set to follow either standard. Most modems manufactured since 1985 are capable of differentiating between the two standards, and can effectively handle either one. 2400 Bps Standards ------------------ The international standard for 2400 bps communications is CCITT V.22bis. This is used by modems manufactured for use both inside and outside the United States. Most 2400 bps modems include automatic detection of the data rate fall back, if a data rate lower than 2400 bps is detected at the other end of the connection. 9600 Bps Modems -- Are There Standards? --------------------------------------- Contrary to what might be believed, standards for high speed data transmission have been in place for some time. Acknowledged standards came in two forms -- a half duplex standard, commonly used in fax machines and called V.29, and a full duplex standard called V.32 (we'll take a look at half and full duplex later in the series). The technology required to implement the V.32 standard remained prohibitively expensive for many years. This forced most modem manufacturers to create their own less- expensive proprietary transmission methods. U.S. Robotics, for example, created the Courier HST, ("High Speed Technology"). This design is not full duplex, meaning that it does not support high speed transmission in BOTH directions. Current HST modems send data at 14,400 bps in one direction, and 450 bps in the other direction. The high speed channel changes direction depending on which side of the transmission has the most data to send. HST modems can only talk at high speed with other HST modems, although they also adhere to existing standards for 300, 1200 and 2400 bps operation. Telebit, another modem manufacturer, created PEP ("Packetized Ensemble Protocol"), which is used in their Trailblazer modem series. Like the HST, PEP modems will only connect at high speed with other PEP modems. Hayes also developed their own technology for high speed transmission, in the absence of an inexpensive standard. Like the others, Hayes high speed modems only talk high speed to other Hayes modems. Fortunately, the cost of V.32 high speed transmission technology has come down drastically in recent years, and is displacing other high speed proprietary protocols in popularity. This means that, finally, high speed modems are starting to communicate with a common standard. U.S. Robotics' new Courier HST Dual Standard is one example of a new high speed modem utilizing both U.S. Robotics' own HST transmission standard and the V.32 high speed standard. The new Hayes V-series Ultra Smartmodem 9600 is another "multiple-standard" high speed modem that utilizes the V.32 standard. Next month we'll discuss the CCITT and the international telecommunications standards that are set by this prestigious committee. We'll even de-mystify the whole family of MNP standards. Also we'll examine the data compression standards. What works, what doesn't and what is realistic to expect from data compression in a modem? MNP vs. V.42bis -- don't miss it! Part 2: Modem Standards ----------------------- The CCITT is the acronym for the Consultative Committee on International Telephone and Telegraph. This is an international body of technical experts responsible for developing data communications standards for the world. The group falls under the organizational umbrella of the United Nations and its members include representatives from major modem manufacturers, common carriers (such as AT&T), and governmental bodies. CCITT Modulation Standards -------------------------- The CCITT establishes standards for modulation -- actual modem signaling methods. It also determines standards for error correction and data compression (See part 1 of this series for a full description of these modem layers). For this reason, it is possible (and likely) that one modem might adhere to several CCITT standards, depending on the various features and capabilities the modem offers. All modems signal one another at a variety of speeds, so CCITT standards for modulation are utilized by virtually every modem manufacturer. Some of the standards which are primarily modulation do include some of the higher layers (such as negotiation) as well. Multi-speed modems may use several of these standards, which include: V.21 ---- V.21 is a data transmission standard at 300 bps. This standard is used primarily outside of the United States. (300 bps transmissions in the United States primarily use the BELL 103 standard). V.22 ---- V.22 is a data transmission standard at 1200 bps. This standard is also used primarily outside of the United States. (1200 bps transmissions in the United States primarily use the BELL 212A standard). V.22bis ------- V.22bis is a data transmission standard at 2400 bps. This is the international standard for 2400 bps, and is used both inside and outside the United States. V.23 ---- V.23 is a split data transmission standard, operating at 1200 bps in one direction and 75 bps in the reverse direction. Therefore, the modem is only "pseudo- full-duplex," meaning that it is capable of transmitting data in both directions simultaneously, but not at the maximum data rate. This standard was developed to lower the cost of 1200 bps modem technology, which was still very costly in the early 1980s, when such modems were designed. This standard is still in use, but primarily in Europe. V.29 ---- V.29 is a data transmission standard at 9600 bps which defines a half duplex (one-way) modulation technique. Although modems do exist which implement this standard, it has generally only seen extensive use in Group III facsimile (FAX) transmissions. Since it is a half-duplex method, it is substantially easier to implement this high speed standard than it would be to implement a high speed full-duplex standard. V.29 is not a complete standard for modems, so V.29-capable modems from different manufacturers will not necessarily communicate with one another. V.32 ---- V.32 is also a data transmission standard at 9600 bps, but V.32 defines a full-duplex (two-way) modulation technique. It is a full modem standard, and also includes forward error correcting and negotiation standards as well. Many modem manufacturers already have or will be introducing V.32-compatible modems. This is generally considered "the" standard for high-speed modems today. V.32 is expensive to implement, since the technology required for it is complex. As this standard becomes more common and manufacturing techniques are refined, the pricing for V.32 modems should go steadily downward. At this writing, V.32 capable modems are selling for between $500 and $1000 each. Some manufacturers have created modems that can use both their own proprietary high speed standard and the V.32 standard, for compatibility with their older non-V.32 modems. The new Hayes Ultra and U. S. Robotics HST Dual Standard are examples of the new "dual personality" modems that are now on the market. V.32bis ------- This is a developing high speed standard. When fully defined (likely by early 1991), V.32bis will operate at 14,400 bps and, like V.32, will be a full-duplex method. The CCITT has not yet defined this standard, so no modems currently use it (although some new modems have implemented what is expected to be the standard and may claim V.32bis compatibility). Error Correcting and Data Compression ------------------------------------- The CCITT also has adopted formal standards for the higher layers of Error Correction and Data compression (See Part 1 of this series for a full description of these layers). In order for any error correction or data compression protocol to work, modems on BOTH ends of the connection must support it. Once two modems are connected, they automatically negotiate between themselves to determine the best mutual protocols they both support. V.42 ---- V.42 is a CCITT error-correction standard that's similar to MNP Class 4 (See "What is MNP" below). In fact, because the V.42 standard includes MNP compatibility through Class 4, all MNP 4- compatible modems can establish error-controlled connections with V.42 modems. This standard, however, prefers to use its own better performing protocol -- LAPM (Link Access Procedure for Modems). LAPM, like MNP, copes with phone line impairments by automatically re-transmitting data that is corrupted during transmission assuring that only error free data passes through the modems. Many modem manufacturers make MNP Class 4-compatible modems, and some offer V.42-compatible modems as well. V.42bis ------- V.42bis is a CCITT data compression standard similar to MNP Class 5, but providing about 35% better compression. Of course, this also means it provides better throughput. V.42bis only compresses data that needs compression. Each block of data is analyzed, and if it can benefit from compression, compression is enabled. Files on bulletin board systems are often compressed already (using ARC, PKZIP, and similar programs). While MNP Class 5 can actually decrease throughput on this type of data, V.42bis will not -- compression is only added when a benefit will be realized. To negotiate a standard connection using V.42bis, V.42 must also be present. Thus, a modem with V.42bis data compression is assumed to include V.42 error correction. Some modem manufacturers already make V.42bis compatible modems, and more are on the way. V.42bis is NOT compatible with MNP Class 5. A V.42bis modem will establish an error-free connection with MNP-capable modems (since V.42bis includes V.42), but only up to MNP Class 4. What is MNP? ------------ MNP stands for "Microcom Networking Protocol" and was created by Microcom, Inc., a modem manufacturer. MNP offers end-to-end error correction, meaning that the modems are capable of detecting transmission errors and requesting re-transmission of corrupted data. Some levels of MNP also provide data compression. As MNP evolved over time, different classes of the standard were defined, describing the extent that a given MNP implementation supports the protocol. Most current implementations support Classes 1 through 5. There are higher classes, but are usually unique to modems manufactured by Microcom, Inc. since they are still proprietary. MNP is generally used for its error correction capabilities, but MNP Classes 4 and 5 also provide performance increases, with Class 5 offering real-time data compression. The lower classes of MNP are not usually important to you as a modem user, but they are included here for completeness. MNP Class 1 ----------- MNP Class 1 is referred to as Block Mode. It uses asynchronous, byte- oriented, half-duplex (one way) transmission. This method provides only about 70% efficiency. It provides error correction only, and is rarely used today. MNP Class 2 ----------- MNP Class 2 is called Stream Mode, and uses asynchronous, byte- oriented, full- duplex (two way) transmission. This class also provides error correction only. Because of protocol overhead (the time it takes to establish the protocol and operate it), throughput at Class 2 is actually only about 84% of that for a connection without MNP, delivering about 202 cps (characters per second) at 2400 bps (240 cps is the theoretical maximum). Class 2 is rarely used today. MNP Class 3 ----------- MNP Class 3 incorporates Class 2, and is more efficient. It uses a synchronous, bit-oriented, full-duplex method. The improved procedure yields throughput about 108% of that of a modem without MNP, delivering about 254 cps at 2400 bps. MNP Class 4 ----------- MNP Class 4 is a performance enhancement class that uses Adaptive Packet Assembly(tm) and Optimized Data Phase(tm) techniques. Class 4 improves throughput and performance by about 5%, although actual increases depend on the type of call (local or long- distance, noisy or clean connection), and can be as high as 25% to 50% on some links. MNP Class 5 ----------- MNP Class 5 is a Data Compression protocol which uses a real- time adaptive algorithm. It can give an increase of up to 50% in throughput, but the actual performance of Class 5 is very dependent on the type of data being sent. Raw text files will allow the highest increase, while program files cannot be compressed as much and the increase will be less. On pre- compressed data (files already compressed with ARC, PKZIP, etc.), MNP 5 can actually EXPAND the data and performance can actually decrease. For this reason, MNP 5 is often disabled on BBS systems. MNP Class 7 ----------- MNP Class 7 is the other major MNP protocol you are likely to encounter. MNP 7 provides Enhanced Data Compression. When combined with Class 4, it can obtain about a 300% improvement in performance. It is designed primarily for use with V.22bis (2400 bps) modem. This class is currently unique to Microcom modems. Since it requires much more hardware and is usually inferior to V.42bis, it is not likely to proliferate. What does it all mean? ---------------------- Despite the fact that they can seem quite confusing, all of these standards exist to benefit you the modem user. You want to be able to compare modems on price, reliability, performance, and support. You also want to be able to know that modems from different manufacturers will communicate with each other. The past couple of years in the high speed modem arena has shown what happens when market demand occurs faster than associated standards. You are forced to pick a single manufacturer and become locked in to gain the capabilities you want. The purpose of standards is to prevent this situation. When standards are widely adopted, you get the best of technology and competition. However, you need to know what the standards mean to be able to be an informed consumer. Next month we'll wrap up this discussion with explanations of most of the rest of the various terminology common to the modem world, but not always fully understood. Don't miss it! Part 3: Communication Terminology --------------------------------- Of Bits and Parity... --------------------- In parts 1 and 2, we took a closer look at the most common and often least understood terms and standards in the world of the modems we use. There are, however, several other telecommunications terms that can be confusing. Though they don't necessarily relate to modem-buying decisions specifically, understanding these terms can add important additional power to your communications dealings. They also will help you understand how to set up the terminal programs your users will have to configure to call your TBBS system. Among the most commonly faced (and least understood) are the concepts of Data Bits, Parity, and Stop Bits. Data Bits --------- The American Standard Code for Information Interchange - ASCII - is a standard that defines 128 different characters that can be used for data transmission. These include control characters, letters of the alphabet (in both upper and lower case), numbers, and a full set of punctuation characters. Because there are only 128 ASCII characters, only 7 binary digits (bits) are required to form each of the 128 possibilities. Many computer makers have extended the ASCII character set by adding 128 more characters. This was accomplished by simply adding one more binary digit, resulting in a total of 256 transmittable data characters. Each manufacturer, however, created their own set of 128 additional characters. All extended character sets are NOT the same. In the case of the IBM PC and compatibles, the extended characters include international alphabet, graphics and mathematics characters. These are commonly known as IBM Graphics characters. In communications, common settings are either for 7-bit or 8-bit data. Generally, both ends of the connection must be set the same way. If one end is set to 7-bit data and the other end is set to 8-bit data, reliable communication cannot usually be established. This is because one end interprets the 8th data bit as a parity bit (explained in a moment), and the other end tries to interpret it as a part of the current character. On a connection like this, some characters will display properly, while others will appear as "garbage," depending on which direction the data is traveling. If the communications link is set to transmit only 7-bit data, the sendable characters are limited to the 128 defined ASCII characters. The extended character set, such as the PC's single- and double-line boxes and foreign characters, CANNOT be sent unless the link is first set to allow the transmission of 8-bit data. Some systems have even 5-bit and 6-bit data, and use character sets such as Baudot and Selectric, but these systems are uncommon today. Parity Bit ---------- When you establish communications with another computer, parity is set to "even," "odd," "mark," "space" or "none." These are terms for the manner in which the parity bit is interpreted by the receiver. Parity is a primitive form of error-checking. The state of the parity bit, when set to be even or odd, is based on a simple mathematical formula. Depending on the data bits, the parity bit will either be on or off. Normally, the limited error checking capabilities are not utilized. This explains why the setting of parity to "none" is so common in communications today. This allows the parity bit to be used as a normal data bit instead. Start and Stop Bits ------------------- Start and stop bits allow each character sent to be set in a "frame." The beginning of the character, the first part sent, is the start bit, and the end of the character, the last part sent, is the stop bit. Each character sent is thus framed with a distinct beginning and ending bit and this allows the receiving system to know when each complete character has been sent. There is always just one start bit. However, there may be one, one and a half or two stop bits. Stop bit length used to be critical when serial communication was primarily handled with electromechanical equipment, such as an old-fashioned Teletype machine. The print head in this type of equipment took a fixed amount of time to return to its "home" position, and this was accomplished during the sending of the stop bits. A longer stop bit length gave the print head more time to return to its home position. In modern all-electronic serial communication, the stop bit is still necessary, but only to mark the end of a character. A delay isn't necessary as there isn't usually anything mechanical involved. Asynchronous Communications --------------------------- Framing the character with start and stop bits forms the basis for "asynchronous" communications. In asynchronous transmission, characters do not have to flow constantly - there can be "gaps," or spaces, between each character. The receiver knows when a character is sent by the framed nature of asynchronous transmission - the start and stop points can easily be determined. Synchronous Communications -------------------------- An alternate serial transmission method exists known as synchronous communications. It occurs when there are no start or stop bits, and is possible only if data characters flow constantly at a fixed bit rate with no interruptions. When there is no data to send, idle or padding characters are sent at the fixed rate (to keep data bits flowing constantly), but they are discarded by the receiver. Because there are no start or stop bits, it is possible to remove 2 of every 10 bits used in Asynchronous communications. This results in a 20% faster data speed with the same serial bit rate. However, because of the requirement for constant data flow, Synchronous transmission requires additional protocol and is primarily used in mainframe computer or specialized applications. One place it is used with TBBS is hidden inside of high speed modems. When these modems use MNP or V.42 protocols, they have the needed protocol to use synchronous communications between the modems themselves. However, you still use asynchronous communications between the computer and the modem so this instance of hidden synchronous communications is primarily of interest as trivia. Duplex ------ "Duplex" is a term which refers to whether a data communications path is one- way or two-way. "Full duplex" means that data can flow in both directions at the same time. "Half duplex" means that data can flow in only one direction at one time. Most modems are full duplex, but communications software can most often still be set to take advantage of half duplex connections. Some less expensive high speed (9600+ bps) modems are pseudo- full-duplex. This means they cannot transmit data at high speed in both directions at the same time because they are really operating in a fast turn-around half duplex mode internally. Flow Control ------------ The term "flow control" refers to a method of controlling the flow of transmitted data, so it doesn't "overrun" the data receiver's ability to receive the incoming signals. Flow control allows the receiver to signal the transmitter to pause, while recently received data is properly assimilated, then signal it to restart the data flow when it's ready to receive more. There are generally two forms of flow control - software and hardware. RTS/CTS ------- Hardware flow control is not always required. It is generally needed only with modems that are capable of "buffering" out-going data, or with high speed modems. Hardware flow control, called RTS/CTS flow control, uses two of the RS-232 (serial) pins to start and stop the data flow. Its advantage is that it is data independent and thus can be used for reliable flow control with any type of data stream. X-ON/X-OFF ---------- Software flow control, called XON/XOFF flow control, starts and stops the data flow based on the reception of certain control characters. Although this type of flow control can be used by hardware devices, software flow control is usually used with TBBS, to allow the TBBS user to start and stop data transmission by using control keys. This allows the user to press Ctrl-S at any time to temporarily halt data flow, and then press Ctrl-Q at any time to restart data flow. Even when hardware flow control is in use, TBBS will honor software flow control codes to start and stop the flow of text data displays. What is ANSI? ------------- "ANSI" is a common term in the bulletin board community today, but it's also a term that's usually misused. ANSI stands for the American National Standards Institute, a standards development organization (sort of like the CCITT, which I discussed in my last column). ANSI develops and documents standards for thousands of different areas, from architectural specifications for the handicapped to computer programming languages. Within the bulletin board community, the term "ANSI" generally refers to an ANSI standard called X3.64 as implemented by IBM in ANSI.SYS. The ANSI X3.64 standard specifies a series of codes that a host system can send to a remote data terminal to control color attributes, cursor positioning, inverse video and screen clearing on the terminal display. "ANSI Graphics" is a term that is often used in the bulletin board community, but this actually refers to two separate elements. "ANSI" controls color and cursor positioning, while "Graphics" usually refers to characters in the IBM PC extended character set, such single- and double-line boxes, shading characters, and so on. "ANSI Graphics" is a common term, since normally only an IBM PC is capable of handling both ANSI and Graphics. In reality, many data terminals and software packages for various computers are capable of handling ANSI codes, although they may not always handle the IBM extended characters. Actually, "ANSI Graphics" does NOT refer to a standard for displaying pictures or graphic images on the remote terminal. The VT-100 terminal (a data terminal from Digital Electronics Corporation) and software that emulates a VT-100 terminal can also be used with ANSI escape codes, since the codes for both ANSI and VT-100 are very similar. ANSI works by sending a series of characters to the remote terminal. The codes all begin with an escape character and a left bracket, and are followed by a variable quantity of numbers and letters. The terminal understands the meaning of these codes, and acts accordingly by setting screen colors or moving the cursor. Graphics -------- Graphics, as I mentioned previously, are the characters in the IBM PC extended character set. They are characters beyond the original 127 possible ASCII characters as defined by IBM in all of their display adapters. These include single- and double-line boxes, shading characters, international characters and mathematical symbols. IBM Graphics characters have become enough of a de-facto standard, that many other computers now emulate them. Many terminal programs on the Apple Macintosh computer will allow proper display of the IBM graphics character set, as will many of the true display terminals on the market today. Summary ------- That pretty well covers most of the common modem and telecommunications program terms and standards in use today. I hope this series of articles has made you better able to understand the seemingly endless number of buzz words you find in microcomputer communications. You should now be able to understand better why terminal programs must be configured to operate correctly. You also should be able (with information from the first two parts of this series) to better choose the type of modem you need to meet your applications. I hope you'll let us know if you have any questions or need further help understanding anything that I've already discussed. It's been fun...