The protocols that modems agree on and use for checking and correcting transmission errors have evolved toward accuracy, speed, and efficiency since 1978 when the Xmodem protocol became a de facto standard. To briefly summarize: in all protocols data is chunked into "blocks" of a certain byte size and sent to the destination modem which checks each block for errors and, depending on the results and the protocol, returns a positive (ACK) or negative (NAK) acknowledgement, the latter usually resulting in a retransmission. The type of checking (checksum or cyclic redundancy checking) and the frequency at which a response is sent vary by protocol. Today, new modems use a V.42 protocol, but the earlier protocols are still in use for older modems.
| Protocol | Block size | Frequency of response | Type of checking | Other information |
|---|---|---|---|---|
| Xmodem | 128 bytes | Every block | checksum | Also called MODEM7 |
| Xmodem CRC | 128 bytes | Every block | cyclic redundancy checking | Cyclic redundancy checks detect errors that checksum won't |
| Xmodem-1K | 1024 bytes | Every block | Cyclic redundancy check | Better for large files |
| WXmodem | 128 bytes | Every block but doesn't hold up the sender before accepting the next block | Checksum | More efficient than Xmodem |
| Ymodem | 1024 bytes | Every block | Cyclic redundancy check | Includes a batch mode that allows multiple files to be sent with one command |
| Ymodem-g | 1024 bytes | Only when an error is detected to blocks sent as a stream and all must arrive successfully | Cyclic redundancy check | Supports batch transfers |
| Zmodem | 512 bytes | When a block with an error is detected | Cyclic redundancy check | A transmission can be interrrupted and resumed without retransmitting blocks already sent. |
| Kermit | Adjusts to the computer system | When a block with an error is detected | Checksum | Can resynchonrize transmissions after a line interruption |
| V.42 (LAPM) | 128 bytes | Up to 15 blocks (frames) can be sent before a response | Cyclic redundancy check | This takes precedence over V.42 MNP4. |
| V.42 (MNP4) | Varies | When a packet (block) with an error is detected | Cyclic redundancy check | Used when LAPM can't be used by both modems. |
Network Management Strategies for the CIO