The Zmodem or Z- modem is a protocol that enables secure transfer of files between computer systems. It was developed by Chuck Forsberg in 1986 and popularized in the field of mailbox systems, especially in the early 1990s and solved for the file transfer protocols such as XModem predecessor and YModem from. Today it is used primarily in the area of terminal programs for the transfer of firmware between computer systems and is in the range of internet- based networks for data transmission barely used. Only in since the late 1990s, slowly dying FidoNet is Zmodem still the first choice.
A significant improvement of Zmodem is that it is a sliding window method used in the packet-oriented transmission and hence the delay times in the data transmission path ( latency ), which may be particularly in overseas connections in the region of a few 100 ms, can compensate well. Here, each data packet is provided by the sender with an individual number from a particular stock and the receiver confirms correct receipt of each packet with the packet number as the answer. Thus, the sender can sequentially send out multiple packets, up to the maximum from the package number memory, without waiting for the confirmation of the successful reception of each packet.
Furthermore it has zmodem some improvements over its predecessor protocols:
- Backup of the data packets via CRC32 data against transmission errors. The detected as erroneous packets must be retransmitted by the sender.
- In case of interruption of transmission is resumed from the point of interruption when resuming this. This avoids especially with long file transfers that when disconnections all data must be transferred again shortly before the end of the transfer.
- Automatic initiation of a Zmodem Transfer through special control commands within the terminal interface. Both communication pages can trigger the start of an upload or download.
- Avoiding certain control characters in the data stream by appropriate channel coding.
- Transmission of certain file information such as file name and file date.