XMODEM
The "Christensen" file transfer
protocol, probably the most widely available protocol used for file transfer over
serial lines (e.g. between
modems).
XMODEM uses 128-byte
packets with error detection, allowing the receiver to request retransmission of a corrupted packet.
XModem is fairly slow but reliable.
Several variations have been proposed with increasing packet sizes (e.g.
XMODEM-1K) and different error detection (
CRC instead of
checksum) to take advantage of faster
modems. Sending and receiving programs can negotiate to establish the best protocol they both support.
Standard XMODEM specifies a one-second timeout during the reception of characters in the data block portion of a packet.
Chuck Forsberg improved upon XMODEM by developing
YMODEM and
ZMODEM.
[Chuck Forsberg, "XMODEM/YMODEM Protocol Reference"].