Microcom Networking Protocol
Encyclopedia
The MNP family of error-correcting protocols were commonly used on early high-speed (2400 bit/s and higher) modem
s. Originally developed for use on Microcom
's own family of modems, the protocol was later openly licensed and used by most of the modem industry, notably the "big three", Telebit
, USRobotics and Hayes
. MNP was later supplanted by v.42bis, which was used almost universally on the first v.32bis modems in the early 1990s.
MNP supports its own form of error control called Echoplex
.
To deal with this problem, a number of file transfer protocol
s were introduced and implemented in various programs. In general, these protocols break down a file into a series of packets containing a number of byte
s from the original file. Some sort of additional data, normally a checksum
or CRC
, is added to each packet to indicate what it originally contained. The packet is then sent to the remote system, which pulls the data out and checks it against the CRC to see if it was received properly. If it was, the receiver sends back an ACK (acknowledgement) message, signaling the sender to send the next packet. If there was any problem, it instead sends a NAK (not-acknowledged) message, and the sender re-sends the damaged packet.
This process introduces "overhead" into the transfer. For one, the additional checksum or CRC uses up time in the channel that could otherwise be used to send additional data. This is a minor concern, however, unless the packets are very small (which they are in UUCP
for instance). A more serious concern is the time needed for the receiver to examine the packet, compare it to the CRC, and then send the ACK back to the sender. This delay grows in relative terms as the speed of the modem increases; the latency of the phone line is a constant, but the amount of data that could be sent in that time grows as the speed increases. To address this problem, newer protocols use a system known as "sliding windows", allowing the sender to move onto the next packet without receiving an ACK message; only if the ACK does not arrive for some time will it re-send the damaged packet.
The original protocol was extremely simple and rather inefficient, leading to a variety of improved protocols referred to as "classes". Each class generally improved performance over earlier versions, which were retained only for backward-compatibility reasons.
in nature. Lacking sliding window support, throughput efficiency was fairly low, at about 70%. That meant that on a 2400 bit/s modem, like the ones Microcom sold, throughput would be limited to about 1690 bit/s when MNP 1 was in use. This system was created primarily to be as easy as possible to implement in limited hardware, which explains its simplicity.
With low-cost processing power improving, Microcom introduced MNP 2, a full-duplex version of MNP 1 that allowed the ACK messages to be returned while the next outbound packet was already starting. This eliminated the pause while the modem waited for the ACK to be returned, adding the requirement that the system needed some memory to track whether or not an ACK was received within a given amount of time. Since the inter-packet delay was reduced, only the overhead of the CRC remained, improving throughput to about 84%.
to the speed of bits being received. Since the data can arrive at any time, there is no precise timing; the clock may have to be re-adjusted for pauses as the user stops typing (for instance).
Unfortunately this sort of clock decoding does not work unless there are at least some transitions between 1 and 0 in the data; a long stream of 0s or 1s has no transitions in it, making it impossible to know where the data for any particular byte
starts. In order to avoid this problem, additional framing bits are added to either end of every byte, typically one bit on either side known as the "start and stop bits"
. This guarantees at least one 1-to-0 transition for every byte, more than enough to keep the clocks locked. However, these bits also expand every 8 bits of data (one byte) to 10 bits, an overhead of 20%.
When using a file transfer protocol, the packets themselves offer their own framing. The packets will always send a continuous stream of data, so the clock cannot "drift" in the same way that it could for data being sent by a user typing on a keyboard. By turning off these framing bits when operating on an error-corrected link, that 20% overhead can be eliminated.
This is precisely what MNP 3 did. After negotiating and realizing that both modems supported MNP 3, the framing bits were turned off, improving overall efficiency – that is, when using MNP 3, a user can expect to get very close to the ideal 2400 bit/s throughput (versus 1900 bit/s) by eliminating the overhead.
MNP 4 also introduced Data Phase Optimization, a simple change to the protocol that allowed some of the packet-framing information to be dropped after the link was set up, further reducing protocol overhead. The combination of these features, along with MNP 3's lack of byte-framing, allowed for a further increase in throughput efficiency.
in the modem. With MNP 5, the data received from the computer are first compressed with a simple algorithm, and then passed into the MNP 4 packetizing system for transmission. On best-case data the system offered about 2:1 compression, but in general terms about 1.6:1 was typical, at least on text. As a result a 2400 bit/s modem would appear to transfer text at ~4000 bit/s, even though the modem was still running at the same 600 baud * 4 bits per symbol rate.
This dramatic increase in throughput allowed Microcom modems to remain somewhat competitive with models from other companies that were otherwise nominally much faster. For instance, Microcom generally produced 1200 and 2400 bit/s modems using commodity parts, while companies like USRobotics and Telebit offered models with speeds up to 19200 bit/s.
However, this improvement in performance was only available if modems on both ends supported MNP. That made the system only really attractive for sites installing the modems at both ends of the links; for dial-up services like bulletin board system
s (BBS) there was no compelling reason to use a Microcom device when the end-user was unlikely to have one. Even in the cases where the user was in control of both ends of the link, Microcom's "proprietary" modems were less interesting that models from other companies that offered much higher "real world" throughputs.
In order to create a market for Microcom modems, starting with MNP 5 they took the radical step of licensing the entire MNP suite for free. The idea was that this would dramatically increase the number of modems with MNP installed, making "real" Microcom modems more attractive. Moreover, newer standards with improved performance would offer even better performance when there was a Microcom modem at both ends of the link.
Unfortunately the plan backfired. The introduction of the greatly improved LAPM
compression system in the v.42bis standard outpaced Microcom's own advancements, diluting the value of a "real" Microcom model almost to zero. Using v.42bis and commodity parts, a huge number of low-cost modems with even better performance that Microcom's were soon available. Although Microcom continued to introduce newer standards, they were basically ignored and Microcom basically disappeared, although thanks to licensing to Rockwell Semiconductor
, MNP 10 support become universal, if not used.
MNP 6's main feature was Statistical Duplexing, which could dedicate more or less of the bandwidth to one side or the other of the modem link. For instance, if one machine was sending a large file, the other end would only send back a small amount of information, the ACK and NAK messages. In this case the modems would give as much of the channel as possible to the sender, offering one-way bandwidth up to 19,200 bit/s. This did not actually require any changes to the modulation system: normally a 9600 bit/s modem had a full 9600 bit/s channel in both directions, for a total of 19200 bit/s; MNP 6 simply allowed more or less of that bandwidth to be given to one side or the other, instead of leaving it fixed at 9600 both ways. A similar system was used in Hayes
's Express 96 protocol.
A less notable addition to MNP 6 was Universal Link Negotiation. With the introduction of additional modulation modes, notably v.32 and later additions, the modems on either end of the link had to spend an increasing amount of time negotiating a common standard. For instance, a v.32bis modem would first send tones into the line to try to get a 14.4 link; if that failed after a time, it would try 9600, 2400 and finally 1200 bit/s. Since each of these standards defined a minimum period of time to "try" for a link, the delay grew over 10 seconds.
ULN avoided this delay by always negotiating the link at 2400 bit/s with no error-correction turned on. Although this eliminated compatibility with older 1200 bit/s modems, by this point in time they were extremely rare. Once the connection was made, which occurred quickly, both modems sent a small identification string to the remote modem. Both modems then examined the string and selected the fastest common mode. The caller then re-negotiated once at that higher speed.
In 1991 Microcom licensed MNP 10 to Rockwell International
for use in their extremely popular modem chip sets. Since almost all modems with the exception of USR's models used the Rockwell chipset from about 1995, MNP 10 became fairly widely deployed (if not used). USR eventually added MNP 10 (and its AT&T Paradyne-created competitor, ETC) to their V.everything series modems, effectively making it universal.
MNP 10 was later expanded to MNP 10EC, the "EC" standing for "Extended Cellular". This was a series of modifications that allowed MNP 10 to deal with the transmission pauses when a cell phone moves from one cell to another, which would normally be interpreted as errors in the line. Using MNP 10EC, these pauses are correctly identified as "not errors", and the link speed remains higher.
MNP 10EC was particularly attractive in the cellular role due to the inclusion of the ULN link-negotiation method originally introduced in MNP 6 (and improved in MNP 9). On a cellular network where all air-time is billed, the faster setup saved money.
MNP 10EC had a limited life span, as the cell networks turned to a variety of all-digital systems that no longer required a modem to connect to a computer.
Modem
A modem is a device that modulates an analog carrier signal to encode digital information, and also demodulates such a carrier signal to decode the transmitted information. The goal is to produce a signal that can be transmitted easily and decoded to reproduce the original digital data...
s. Originally developed for use on Microcom
Microcom
Microcom, Inc. was a major modem vendor during the 1980s, although they were never as popular as the "big three", Hayes, U.S. Robotics and Telebit. Nevertheless they hold an important place in modem history due to their introduction of the MNP error-correction and compression protocols, which were...
's own family of modems, the protocol was later openly licensed and used by most of the modem industry, notably the "big three", Telebit
Telebit
Telebit was a US-based modem manufacturer, most notable for their TrailBlazer series of high-speed modems. One of the first modems to routinely exceed 9600 bit/s speeds, the TrailBlazer used a proprietary modulation scheme that proved highly resilient to interference, earning the product an almost...
, USRobotics and Hayes
Hayes Microcomputer Products
Hayes Microcomputer Products was a U.S.-based manufacturer of modems. They are particularly well known for their Smartmodem, which is introduced the ability to control the modem through commands sent in the data stream itself. The "smart modem" approach dramatically simplified operation, making...
. MNP was later supplanted by v.42bis, which was used almost universally on the first v.32bis modems in the early 1990s.
Error correction basics
Modems are, by their nature, error-prone devices. Noise on the telephone line, a common occurrence, can easily mimic the sounds used by the modems to transmit data, thereby introducing errors that are difficult to notice. For some tasks, like reading or writing simple text, a small numbers of errors can be accepted without causing too many problems. For other tasks, like file transfers, even one error can "destroy" the entire file. As modems increase in speed by using up more of the available bandwidth, the chance that random noise would introduce errors also increases; above 2400 bit/s these errors are quite common.MNP supports its own form of error control called Echoplex
Echo (computing)
In computing, echo is a command in DOS, OS/2, Microsoft Windows, Singularity, Unix and Unix-like operating systems that places a string on the computer terminal...
.
To deal with this problem, a number of file transfer protocol
File Transfer Protocol
File Transfer Protocol is a standard network protocol used to transfer files from one host to another host over a TCP-based network, such as the Internet. FTP is built on a client-server architecture and utilizes separate control and data connections between the client and server...
s were introduced and implemented in various programs. In general, these protocols break down a file into a series of packets containing a number of byte
Byte
The byte is a unit of digital information in computing and telecommunications that most commonly consists of eight bits. Historically, a byte was the number of bits used to encode a single character of text in a computer and for this reason it is the basic addressable element in many computer...
s from the original file. Some sort of additional data, normally a checksum
Checksum
A checksum or hash sum is a fixed-size datum computed from an arbitrary block of digital data for the purpose of detecting accidental errors that may have been introduced during its transmission or storage. The integrity of the data can be checked at any later time by recomputing the checksum and...
or CRC
Cyclic redundancy check
A cyclic redundancy check is an error-detecting code commonly used in digital networks and storage devices to detect accidental changes to raw data...
, is added to each packet to indicate what it originally contained. The packet is then sent to the remote system, which pulls the data out and checks it against the CRC to see if it was received properly. If it was, the receiver sends back an ACK (acknowledgement) message, signaling the sender to send the next packet. If there was any problem, it instead sends a NAK (not-acknowledged) message, and the sender re-sends the damaged packet.
This process introduces "overhead" into the transfer. For one, the additional checksum or CRC uses up time in the channel that could otherwise be used to send additional data. This is a minor concern, however, unless the packets are very small (which they are in UUCP
UUCP
UUCP is an abbreviation for Unix-to-Unix Copy. The term generally refers to a suite of computer programs and protocols allowing remote execution of commands and transfer of files, email and netnews between computers. Specifically, a command named uucp is one of the programs in the suite; it...
for instance). A more serious concern is the time needed for the receiver to examine the packet, compare it to the CRC, and then send the ACK back to the sender. This delay grows in relative terms as the speed of the modem increases; the latency of the phone line is a constant, but the amount of data that could be sent in that time grows as the speed increases. To address this problem, newer protocols use a system known as "sliding windows", allowing the sender to move onto the next packet without receiving an ACK message; only if the ACK does not arrive for some time will it re-send the damaged packet.
MNP "classes"
Microcom's idea was to move the file-transfer protocol out of the host computer and place it in the modem instead. In doing so, all data being transferred would be error corrected, not just file transfers. This also meant that devices with no processor, like dumb terminals, could enjoy an error-free link. After connection to the remote modem, Microcom modems played a special tone into the line and listened for a response; if a proper tone was received in reply, the modems entered their error-correcting state.The original protocol was extremely simple and rather inefficient, leading to a variety of improved protocols referred to as "classes". Each class generally improved performance over earlier versions, which were retained only for backward-compatibility reasons.
MNP 1 and 2
The first MNP standard, retroactively known as MNP Class 1, or simply MNP 1, was a simple half-duplex protocol similar to XModemXMODEM
XMODEM is a simple file transfer protocol developed as a quick hack by Ward Christensen for use in his 1977 MODEM.ASM terminal program. XMODEM became extremely popular in the early bulletin board system market, largely because it was so simple to implement...
in nature. Lacking sliding window support, throughput efficiency was fairly low, at about 70%. That meant that on a 2400 bit/s modem, like the ones Microcom sold, throughput would be limited to about 1690 bit/s when MNP 1 was in use. This system was created primarily to be as easy as possible to implement in limited hardware, which explains its simplicity.
With low-cost processing power improving, Microcom introduced MNP 2, a full-duplex version of MNP 1 that allowed the ACK messages to be returned while the next outbound packet was already starting. This eliminated the pause while the modem waited for the ACK to be returned, adding the requirement that the system needed some memory to track whether or not an ACK was received within a given amount of time. Since the inter-packet delay was reduced, only the overhead of the CRC remained, improving throughput to about 84%.
MNP 3
In normal use, a modem can send or receive data at any point in time, a mode of operation known as "asynchronous". The modem can determine the speed of the sender's data by listening to the bits being sent to it, and "locking" its clockClock synchronization
Clock synchronization is a problem from computer science and engineering which deals with the idea that internal clocks of several computers may differ. Even when initially set accurately, real clocks will differ after some amount of time due to clock drift, caused by clocks counting time at...
to the speed of bits being received. Since the data can arrive at any time, there is no precise timing; the clock may have to be re-adjusted for pauses as the user stops typing (for instance).
Unfortunately this sort of clock decoding does not work unless there are at least some transitions between 1 and 0 in the data; a long stream of 0s or 1s has no transitions in it, making it impossible to know where the data for any particular byte
Byte
The byte is a unit of digital information in computing and telecommunications that most commonly consists of eight bits. Historically, a byte was the number of bits used to encode a single character of text in a computer and for this reason it is the basic addressable element in many computer...
starts. In order to avoid this problem, additional framing bits are added to either end of every byte, typically one bit on either side known as the "start and stop bits"
Asynchronous start-stop
Asynchronous serial communication describes an asynchronous, serial transmission protocol in which a start signal is sent prior to each byte, character or code word and a stop signal is sent after each code word...
. This guarantees at least one 1-to-0 transition for every byte, more than enough to keep the clocks locked. However, these bits also expand every 8 bits of data (one byte) to 10 bits, an overhead of 20%.
When using a file transfer protocol, the packets themselves offer their own framing. The packets will always send a continuous stream of data, so the clock cannot "drift" in the same way that it could for data being sent by a user typing on a keyboard. By turning off these framing bits when operating on an error-corrected link, that 20% overhead can be eliminated.
This is precisely what MNP 3 did. After negotiating and realizing that both modems supported MNP 3, the framing bits were turned off, improving overall efficiency – that is, when using MNP 3, a user can expect to get very close to the ideal 2400 bit/s throughput (versus 1900 bit/s) by eliminating the overhead.
MNP 4
MNP 4 was a further improvement on MNP 3, adding a variable packet size system they referred to as Adaptive Packet Assembly. With MNP 4 operation the two modems constantly monitor the line for dropped packets, and if a certain threshold is crossed (selected by the user), the modem "drops back" to a smaller packet size. This means that when a packet is dropped, the amount of data that has to be re-sent is smaller, leading to better throughput. On "clean" lines, using larger packets means that the overhead of the CRC is reduced, as the CRC remains a fixed size. Packets could be between 64 and 256 bytes, and allowed the user to force it to a particular size if they wished.MNP 4 also introduced Data Phase Optimization, a simple change to the protocol that allowed some of the packet-framing information to be dropped after the link was set up, further reducing protocol overhead. The combination of these features, along with MNP 3's lack of byte-framing, allowed for a further increase in throughput efficiency.
MNP 5
An even more radical change was made for MNP 5, introducing on-the-fly data compressionData compression
In computer science and information theory, data compression, source coding or bit-rate reduction is the process of encoding information using fewer bits than the original representation would use....
in the modem. With MNP 5, the data received from the computer are first compressed with a simple algorithm, and then passed into the MNP 4 packetizing system for transmission. On best-case data the system offered about 2:1 compression, but in general terms about 1.6:1 was typical, at least on text. As a result a 2400 bit/s modem would appear to transfer text at ~4000 bit/s, even though the modem was still running at the same 600 baud * 4 bits per symbol rate.
This dramatic increase in throughput allowed Microcom modems to remain somewhat competitive with models from other companies that were otherwise nominally much faster. For instance, Microcom generally produced 1200 and 2400 bit/s modems using commodity parts, while companies like USRobotics and Telebit offered models with speeds up to 19200 bit/s.
However, this improvement in performance was only available if modems on both ends supported MNP. That made the system only really attractive for sites installing the modems at both ends of the links; for dial-up services like bulletin board system
Bulletin board system
A Bulletin Board System, or BBS, is a computer system running software that allows users to connect and log in to the system using a terminal program. Once logged in, a user can perform functions such as uploading and downloading software and data, reading news and bulletins, and exchanging...
s (BBS) there was no compelling reason to use a Microcom device when the end-user was unlikely to have one. Even in the cases where the user was in control of both ends of the link, Microcom's "proprietary" modems were less interesting that models from other companies that offered much higher "real world" throughputs.
In order to create a market for Microcom modems, starting with MNP 5 they took the radical step of licensing the entire MNP suite for free. The idea was that this would dramatically increase the number of modems with MNP installed, making "real" Microcom modems more attractive. Moreover, newer standards with improved performance would offer even better performance when there was a Microcom modem at both ends of the link.
Unfortunately the plan backfired. The introduction of the greatly improved LAPM
LAPM
Link Access Procedure for Modems is part of the V.42 error correction protocol for modems.LAPM is an error control protocol defined in ITU-T recommendations V.42. Like many data link layer protocols, it is a variant of HDLC...
compression system in the v.42bis standard outpaced Microcom's own advancements, diluting the value of a "real" Microcom model almost to zero. Using v.42bis and commodity parts, a huge number of low-cost modems with even better performance that Microcom's were soon available. Although Microcom continued to introduce newer standards, they were basically ignored and Microcom basically disappeared, although thanks to licensing to Rockwell Semiconductor
Conexant
Conexant Systems, Inc. is an American semiconductor company, formerly the semiconductor division of Rockwell International. Currently it's privately owned by Golden Gate Capital, an equity firm headquartered in San Francisco.-History:...
, MNP 10 support become universal, if not used.
MNP 6
The introduction of the v.32 led to a number of standard 9600 bit/s modems, almost all of which offered MNP 5. To further differentiate themselves from what was becoming a commodity market (although not truly so until the introduction of the v.32bis SupraFax 14400 in 1991), Microcom created MNP 6.MNP 6's main feature was Statistical Duplexing, which could dedicate more or less of the bandwidth to one side or the other of the modem link. For instance, if one machine was sending a large file, the other end would only send back a small amount of information, the ACK and NAK messages. In this case the modems would give as much of the channel as possible to the sender, offering one-way bandwidth up to 19,200 bit/s. This did not actually require any changes to the modulation system: normally a 9600 bit/s modem had a full 9600 bit/s channel in both directions, for a total of 19200 bit/s; MNP 6 simply allowed more or less of that bandwidth to be given to one side or the other, instead of leaving it fixed at 9600 both ways. A similar system was used in Hayes
Hayes Microcomputer Products
Hayes Microcomputer Products was a U.S.-based manufacturer of modems. They are particularly well known for their Smartmodem, which is introduced the ability to control the modem through commands sent in the data stream itself. The "smart modem" approach dramatically simplified operation, making...
's Express 96 protocol.
A less notable addition to MNP 6 was Universal Link Negotiation. With the introduction of additional modulation modes, notably v.32 and later additions, the modems on either end of the link had to spend an increasing amount of time negotiating a common standard. For instance, a v.32bis modem would first send tones into the line to try to get a 14.4 link; if that failed after a time, it would try 9600, 2400 and finally 1200 bit/s. Since each of these standards defined a minimum period of time to "try" for a link, the delay grew over 10 seconds.
ULN avoided this delay by always negotiating the link at 2400 bit/s with no error-correction turned on. Although this eliminated compatibility with older 1200 bit/s modems, by this point in time they were extremely rare. Once the connection was made, which occurred quickly, both modems sent a small identification string to the remote modem. Both modems then examined the string and selected the fastest common mode. The caller then re-negotiated once at that higher speed.
MNP 7
MNP 7 introduced new compression algorithms with a claimed improvement to 3:1 compression on text files. However, by the time MNP 7 was introduced, the v.42bis standard was offering 4:1 compression.MNP 9
MNP 9 (there was apparently no 8 released) improved the Universal Link Detection to add newer high-speed modes, but was otherwise identical to MNP 7.MNP 10
MNP 10 introduced a new error-correction protocol designed specifically to work well on the noisy phone lines widely used in eastern Europe. Unlike earlier versions like MNP 4, MNP 10 constantly monitored line quality and adjusted packet size back up if conditions improved.In 1991 Microcom licensed MNP 10 to Rockwell International
Rockwell International
Rockwell International was a major American manufacturing conglomerate in the latter half of the 20th century, involved in aircraft, the space industry, both defense-oriented and commercial electronics, automotive and truck components, printing presses, valves and meters, and industrial automation....
for use in their extremely popular modem chip sets. Since almost all modems with the exception of USR's models used the Rockwell chipset from about 1995, MNP 10 became fairly widely deployed (if not used). USR eventually added MNP 10 (and its AT&T Paradyne-created competitor, ETC) to their V.everything series modems, effectively making it universal.
MNP 10 was later expanded to MNP 10EC, the "EC" standing for "Extended Cellular". This was a series of modifications that allowed MNP 10 to deal with the transmission pauses when a cell phone moves from one cell to another, which would normally be interpreted as errors in the line. Using MNP 10EC, these pauses are correctly identified as "not errors", and the link speed remains higher.
MNP 10EC was particularly attractive in the cellular role due to the inclusion of the ULN link-negotiation method originally introduced in MNP 6 (and improved in MNP 9). On a cellular network where all air-time is billed, the faster setup saved money.
MNP 10EC had a limited life span, as the cell networks turned to a variety of all-digital systems that no longer required a modem to connect to a computer.