User Tools

Site Tools


protocols:zmodem

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
protocols:zmodem [2018/08/14 20:57] – [16. PERFORMANCE COMPARISON TABLES] rootprotocols:zmodem [2018/08/14 21:10] (current) – [8. PROTOCOL TRANSACTION OVERVIEW] root
Line 564: Line 564:
 environments. environments.
  
-==== 8.  PROTOCOL TRANSACTION OVERVIEW ====+===== 8.  PROTOCOL TRANSACTION OVERVIEW =====
  
 As with the XMODEM recommendation, ZMODEM timing is receiver driven.  The As with the XMODEM recommendation, ZMODEM timing is receiver driven.  The
Line 571: Line 571:
  
  
-=== 8.1  Session Startup ===+==== 8.1  Session Startup ====
  
 To start a ZMODEM file transfer session, the sending program is called To start a ZMODEM file transfer session, the sending program is called
Line 628: Line 628:
 number of the receiving program, or 0. number of the receiving program, or 0.
  
-=== 8.2  File Transmission ===+==== 8.2  File Transmission ====
  
 The sender then sends a ZFILE header with ZMODEM Conversion, Management, The sender then sends a ZFILE header with ZMODEM Conversion, Management,
Line 709: Line 709:
 prevent the sending program from returning with a success status. prevent the sending program from returning with a success status.
  
-=== 8.3  Session Cleanup ===+==== 8.3  Session Cleanup ====
  
 The sender closes the session with a ZFIN header.  The receiver The sender closes the session with a ZFIN header.  The receiver
Line 719: Line 719:
 characters, then exits whether they were received or not. characters, then exits whether they were received or not.
  
-=== 8.4  Session Abort Sequence ===+==== 8.4  Session Abort Sequence ====
  
 If the receiver is receiving data in streaming mode, the Attn If the receiver is receiving data in streaming mode, the Attn
Line 736: Line 736:
 </code> </code>
  
-==== 9.  STREAMING TECHNIQUES / ERROR RECOVERY ====+===== 9.  STREAMING TECHNIQUES / ERROR RECOVERY =====
  
 It is a fact of life that no single method of streaming is applicable It is a fact of life that no single method of streaming is applicable
Line 744: Line 744:
 receiving environment, and transmission channel(s). receiving environment, and transmission channel(s).
  
-=== 9.1  Full Streaming with Sampling ===+==== 9.1  Full Streaming with Sampling ====
  
 If the receiver can overlap serial I/O with disk I/O, and if the If the receiver can overlap serial I/O with disk I/O, and if the
Line 795: Line 795:
 header followed by data subpackets. header followed by data subpackets.
  
-== 9.1.1  Window Management ==+=== 9.1.1  Window Management ===
  
 When sending data through a network, some nodes of the network store When sending data through a network, some nodes of the network store
Line 819: Line 819:
 these programs.((When used with modems or networks that simultaneously assert flow)) these programs.((When used with modems or networks that simultaneously assert flow))
  
-=== 9.2  Full Streaming with Reverse Interrupt ===+==== 9.2  Full Streaming with Reverse Interrupt ====
  
 The above method cannot be used if the reverse data stream cannot be The above method cannot be used if the reverse data stream cannot be
Line 843: Line 843:
 receiver's error header. receiver's error header.
  
-=== 9.3  Full Streaming with Sliding Window ===+==== 9.3  Full Streaming with Sliding Window ====
  
 If none of the above methods is applicable, hope is not yet lost.  If If none of the above methods is applicable, hope is not yet lost.  If
Line 857: Line 857:
 sender's interrupt buffer before sending the ZRPOS header. sender's interrupt buffer before sending the ZRPOS header.
  
-=== 9.4  Full Streaming over Error Free Channels ===+==== 9.4  Full Streaming over Error Free Channels ====
  
 File transfer protocols predicated on the existence of an error free File transfer protocols predicated on the existence of an error free
Line 872: Line 872:
 long files is less than one per cent.((One in 256 for escaping ZDLE, about two (four if 32 bit CRC is used) in 1024 for data subpacket CRC's)) long files is less than one per cent.((One in 256 for escaping ZDLE, about two (four if 32 bit CRC is used) in 1024 for data subpacket CRC's))
  
-=== 9.5  Segmented Streaming ===+==== 9.5  Segmented Streaming ====
  
  
Line 890: Line 890:
  
  
-==== 10.  ATTENTION SEQUENCE ====+===== 10.  ATTENTION SEQUENCE =====
  
 The receiving program sends the Attn sequence whenever it detects an The receiving program sends the Attn sequence whenever it detects an
Line 908: Line 908:
   * \336 (octal) Pause one second   * \336 (octal) Pause one second
  
-==== 11.  FRAME TYPES ====+===== 11.  FRAME TYPES =====
  
 The numeric values for the values shown in boldface are given in The numeric values for the values shown in boldface are given in
Line 914: Line 914:
 set to 0. set to 0.
  
-=== 11.1  ZRQINIT ===+==== 11.1  ZRQINIT ====
  
 Sent by the sending program, to trigger the receiving program to send Sent by the sending program, to trigger the receiving program to send
Line 925: Line 925:
 0 otherwise. 0 otherwise.
  
-=== 11.2  ZRINIT ===+==== 11.2  ZRINIT ====
  
 Sent by the receiving program. ZF0 and ZF1 contain the  bitwise or Sent by the receiving program. ZF0 and ZF1 contain the  bitwise or
Line 944: Line 944:
 if nonstop I/O is allowed. if nonstop I/O is allowed.
  
-=== 11.3  ZSINIT ===+==== 11.3  ZSINIT ====
  
 The Sender sends flags followed by a binary data subpacket terminated The Sender sends flags followed by a binary data subpacket terminated
Line 960: Line 960:
 maximum length 32 bytes including the terminating null. maximum length 32 bytes including the terminating null.
  
-=== 11.4  ZACK ===+==== 11.4  ZACK ====
  
 Acknowledgment to a ZSINIT frame, ZCHALLENGE header, ZCRCQ or ZCRCW Acknowledgment to a ZSINIT frame, ZCHALLENGE header, ZCRCQ or ZCRCW
Line 967: Line 967:
 header. header.
  
-=== 11.5  ZFILE ===+==== 11.5  ZFILE ====
  
 This frame denotes the beginning of a file transmission attempt. This frame denotes the beginning of a file transmission attempt.
Line 977: Line 977:
 receiver overrides any other Conversion Option sent by the sender. receiver overrides any other Conversion Option sent by the sender.
  
-== 11.5.1 ZF0: Conversion Option ==+=== 11.5.1 ZF0: Conversion Option ===
  
 If the receiver does not recognize the Conversion Option, an If the receiver does not recognize the Conversion Option, an
Line 1006: Line 1006:
 transfers recovered. transfers recovered.
  
-== 11.5.2 ZF1: Management Option ==+=== 11.5.2 ZF1: Management Option ===
  
 If the receiver does not recognize the Management Option, the If the receiver does not recognize the Management Option, the
Line 1041: Line 1041:
 is newer. is newer.
  
-== 11.5.3 ZF2: Transport Option ==+=== 11.5.3 ZF2: Transport Option ===
  
 If the receiver does not implement the particular transport If the receiver does not implement the particular transport
Line 1061: Line 1061:
 chapter. chapter.
  
-== 11.5.4 ZF3: Extended Options ==+=== 11.5.4 ZF3: Extended Options ===
  
 The Extended Options are bit encoded. The Extended Options are bit encoded.
Line 1072: Line 1072:
 is lost. ZTSPARS cannot be used with ZCNL. is lost. ZTSPARS cannot be used with ZCNL.
  
-=== 11.6  ZSKIP ===+==== 11.6  ZSKIP ====
  
 Sent by the receiver in response to ZFILE, makes the sender skip to Sent by the receiver in response to ZFILE, makes the sender skip to
 the next file. the next file.
  
-=== 11.7  ZNAK ===+==== 11.7  ZNAK ====
  
 Indicates last header was garbled.  (See also ZRPOS). Indicates last header was garbled.  (See also ZRPOS).
  
-=== 11.8  ZABORT ===+==== 11.8  ZABORT ====
  
 Sent by receiver to terminate batch file transfers when requested by Sent by receiver to terminate batch file transfers when requested by
 the user.  Sender responds with a ZFIN sequence.((Or ZCOMPL in case of server mode.)) the user.  Sender responds with a ZFIN sequence.((Or ZCOMPL in case of server mode.))
  
-=== 11.9  ZFIN ===+==== 11.9  ZFIN ====
  
 Sent by sending program to terminate a ZMODEM session. Receiver Sent by sending program to terminate a ZMODEM session. Receiver
 responds with its own ZFIN. responds with its own ZFIN.
  
-=== 11.10  ZRPOS ===+==== 11.10  ZRPOS ====
  
 Sent by receiver to force file transfer to resume at file offset Sent by receiver to force file transfer to resume at file offset
 given in ZP0...ZP3. given in ZP0...ZP3.
  
-=== 11.11  ZDATA ===+==== 11.11  ZDATA ====
  
 ZP0...ZP3 contain file offset. One or more data subpackets follow. ZP0...ZP3 contain file offset. One or more data subpackets follow.
  
-=== 11.12  ZEOF ===+==== 11.12  ZEOF ====
  
 Sender reports End of File.  ZP0...ZP3 contain the ending file Sender reports End of File.  ZP0...ZP3 contain the ending file
 offset. offset.
  
-=== 11.13  ZFERR ===+==== 11.13  ZFERR ====
  
 Error in reading or writing file, protocol equivalent to ZABORT. Error in reading or writing file, protocol equivalent to ZABORT.
  
-=== 11.14  ZCRC ===+==== 11.14  ZCRC ====
  
 Request (receiver) and response (sender) for file polynomial. Request (receiver) and response (sender) for file polynomial.
 ZP0...ZP3 contain file polynomial. ZP0...ZP3 contain file polynomial.
  
-=== 11.15  ZCHALLENGE ===+==== 11.15  ZCHALLENGE ====
  
 Request sender to echo a random number in ZP0...ZP3 in a ZACK frame. Request sender to echo a random number in ZP0...ZP3 in a ZACK frame.
Line 1121: Line 1121:
 spurious data or a Trojan Horse message. spurious data or a Trojan Horse message.
  
-=== 11.16  ZCOMPL ===+==== 11.16  ZCOMPL ====
  
 Request now completed. Request now completed.
  
-=== 11.17  ZCAN ===+==== 11.17  ZCAN ====
  
 This is a pseudo frame type returned by gethdr() in response to a This is a pseudo frame type returned by gethdr() in response to a
 Session Abort sequence. Session Abort sequence.
  
-=== 11.18  ZFREECNT ===+==== 11.18  ZFREECNT ====
  
 Sending program requests a ZACK frame with ZP0...ZP3 containing the Sending program requests a ZACK frame with ZP0...ZP3 containing the
Line 1136: Line 1136:
 represents an indefinite amount of free space. represents an indefinite amount of free space.
  
-=== 11.19  ZCOMMAND ===+==== 11.19  ZCOMMAND ====
  
  
Line 1173: Line 1173:
 ZCOMPL header. ZCOMPL header.
  
-==== 12.  SESSION TRANSACTION EXAMPLES ====+===== 12.  SESSION TRANSACTION EXAMPLES =====
  
-=== 12.1  A simple file transfer ===+==== 12.1  A simple file transfer ====
  
 A simple transaction, one file, no errors, no CHALLENGE, overlapped A simple transaction, one file, no errors, no CHALLENGE, overlapped
Line 1196: Line 1196:
 </code> </code>
  
-=== 12.2  Challenge and Command Download ===+==== 12.2  Challenge and Command Download ====
  
 <code> <code>
Line 1214: Line 1214:
 </code> </code>
  
-==== 13.  ZFILE FRAME FILE INFORMATION ====+===== 13.  ZFILE FRAME FILE INFORMATION =====
  
 ZMODEM sends the same file information with the ZFILE frame data ZMODEM sends the same file information with the ZFILE frame data
Line 1316: Line 1316:
 not exceed 1024 bytes; a typical length is less than 64 bytes. not exceed 1024 bytes; a typical length is less than 64 bytes.
  
-==== 14.  PERFORMANCE RESULTS ====+===== 14.  PERFORMANCE RESULTS =====
  
-=== 14.1  Compatibility ===+==== 14.1  Compatibility ====
  
 Extensive testing has demonstrated ZMODEM to be compatible with Extensive testing has demonstrated ZMODEM to be compatible with
Line 1327: Line 1327:
 directions to operate at optimal speeds. directions to operate at optimal speeds.
  
-=== 14.2  Throughput ===+==== 14.2  Throughput ====
  
 Between two single task PC-XT computers sending a program image on Between two single task PC-XT computers sending a program image on
Line 1344: Line 1344:
 second are possible. second are possible.
  
-=== 14.3  Error Recovery ===+==== 14.3  Error Recovery ====
  
 Some tests of ZMODEM protocol error recovery performance have been Some tests of ZMODEM protocol error recovery performance have been
Line 1385: Line 1385:
 require a timeout error to restore the flow of data. require a timeout error to restore the flow of data.
  
-==== 15.  PACKET SWITCHED NETWORK CONSIDERATIONS ====+===== 15.  PACKET SWITCHED NETWORK CONSIDERATIONS =====
  
 Flow control is necessary for printing messages and directories, and Flow control is necessary for printing messages and directories, and
Line 1438: Line 1438:
   * (6) Kermit window size must be reduced to avoid buffer overrun.   * (6) Kermit window size must be reduced to avoid buffer overrun.
  
-==== 16.  PERFORMANCE COMPARISON TABLES ====+===== 16.  PERFORMANCE COMPARISON TABLES =====
  
 "Round Trip Delay Time" includes the time for the last byte in a "Round Trip Delay Time" includes the time for the last byte in a
Line 1609: Line 1609:
 |Streaming  |  -  |  -  |  YES  |  YES  |  YES  | | |Streaming  |  -  |  -  |  YES  |  YES  |  YES  | |
 |Overhead(2)  |  7%  |  1%  |  1%  |  4%(8)  |  30%  | | |Overhead(2)  |  7%  |  1%  |  1%  |  4%(8)  |  30%  | |
-|Faithful Xfers  |  -  | YES(7) | YES(7)| YES   | YES   | ? | +|Faithful Xfers  |  -  |  YES(7)   YES(7)   YES   YES    
-|Preserve Date  |  -  | YES   | YES   | YES   | -   | ? |+|Preserve Date  |  -  |  YES   YES   YES      |
  
 ^COMPLEXITY  ^  XMODEM  ^  YMDM-k  ^  YMDM-g  ^  ZMODEM  ^  SK  ^  Etc.  ^ ^COMPLEXITY  ^  XMODEM  ^  YMDM-k  ^  YMDM-g  ^  ZMODEM  ^  SK  ^  Etc.  ^
Line 1633: Line 1633:
   * (10) With Pro-YAM extensions   * (10) With Pro-YAM extensions
  
-==== 17.  FUTURE EXTENSIONS ====+===== 17.  FUTURE EXTENSIONS =====
  
  
 Future extensions include: Future extensions include:
  
-   Compatibility with 7 bit networks +   Compatibility with 7 bit networks 
- +   Server/Link Level operation: An END-TO-END error corrected program to program session is required for financial and other sensitive applications. 
-   Server/Link Level operation: An END-TO-END error corrected +   Multiple independent thread 
-     program to program session is required for financial and other +   Bidirectional transfers (STEREO ZMODEM) 
-     sensitive applications. +   Encryption 
- +   Compression 
-   Multiple independent threads +   File Comparison 
- +   Selective transfer within a file (e.g., modified segments of a database file) 
-   Bidirectional transfers (STEREO ZMODEM) +   Selective Retransmission for error correction 
- +===== 18.  REVISIONS =====
-   Encryption +
- +
-   Compression +
- +
-   File Comparison +
- +
-   Selective transfer within a file (e.g., modified segments of a +
-     database file) +
- +
-   Selective Retransmission for error correction +
- +
- +
-18.  REVISIONS+
  
 10-14-88 Pascal source code now available in Phil Burn's PibTerm 10-14-88 Pascal source code now available in Phil Burn's PibTerm
Line 1685: Line 1672:
  
 07-09-87 Corrected XMODEM's development date, incorrectly stated as 07-09-87 Corrected XMODEM's development date, incorrectly stated as
- 
- 
- 
-Chapter 18      Rev Oct-14-88  Typeset 10-14-88   43 
- 
- 
- 
- 
- 
- 
- 
-Chapter 18       ZMODEM Protocol    44 
- 
- 
  
 1979 instead of the actual August 1977.  More performance data was 1979 instead of the actual August 1977.  More performance data was
Line 1738: Line 1711:
 spurious two character cancel sequences were detected. spurious two character cancel sequences were detected.
  
- +===== 19.  MORE INFORMATION =====
-19.  MORE INFORMATION+
  
 Please contact Omen Technology for troff source files and typeset Please contact Omen Technology for troff source files and typeset
 copies of this document. copies of this document.
  
- +==== 19.1  TeleGodzilla Bulletin Board ====
-19.1  TeleGodzilla Bulletin Board+
  
 More information may be obtained by calling the TeleGodzilla More information may be obtained by calling the TeleGodzilla
Line 1751: Line 1722:
 (Telebit PEP), 2400 and 1200 bps callers with automatic speed (Telebit PEP), 2400 and 1200 bps callers with automatic speed
 recognition. recognition.
- 
- 
- 
-Chapter 19      Rev Oct-14-88  Typeset 10-14-88   44 
- 
- 
- 
- 
- 
- 
- 
-Chapter 19       ZMODEM Protocol    45 
- 
- 
  
 Relevant files include YZMODEM.ZOO, YAMDEMO.ZOO, YAMHELP.ZOO, Relevant files include YZMODEM.ZOO, YAMDEMO.ZOO, YAMHELP.ZOO,
Line 1772: Line 1729:
 (XMODEM)", "kermit sb file ...", and "sz file ...". (XMODEM)", "kermit sb file ...", and "sz file ...".
  
-19.2  Unix UUCP Access+==== 19.2  Unix UUCP Access ====
  
 UUCP sites can obtain the current version of this file with UUCP sites can obtain the current version of this file with
Line 1798: Line 1755:
 omen Any ACU 2400 1-503-621-3746 e:--e: link d: Giznoid n:--n: uucp omen Any ACU 2400 1-503-621-3746 e:--e: link d: Giznoid n:--n: uucp
  
- +===== 20.  ZMODEM PROGRAMS =====
- +
-20.  ZMODEM PROGRAMS+
  
 A copy of this document, a demonstration version of A copy of this document, a demonstration version of
Line 1818: Line 1773:
 The ZCOMM files include: The ZCOMM files include:
  
- +  ZCOMMEXE.ARC Executable files and beginner's telephone directory 
- +  ZCOMMDOC.ARC "Universal Line Printer Edition" Manual 
-Chapter 20      Rev Oct-14-88  Typeset 10-14-88   45 +  ZCOMMHLP.ARC Tree structured Flash-UP help processor and database
- +
- +
- +
- +
- +
- +
- +
-Chapter 20       ZMODEM Protocol    46 +
- +
- +
- +
-  + ZCOMMEXE.ARC Executable files and beginner's telephone directory +
- +
-  ZCOMMDOC.ARC "Universal Line Printer Edition" Manual +
- +
-  ZCOMMHLP.ARC Tree structured Flash-UP help processor and +
-    database+
  
 C source code and manual pages for the Unix/Xenix rz and sz programs C source code and manual pages for the Unix/Xenix rz and sz programs
Line 1883: Line 1821:
 The Byte Information eXchange supports ZMODEM. The Compuserve The Byte Information eXchange supports ZMODEM. The Compuserve
 Information Service has ported the Unix rz/sz ZMODEM programs to Information Service has ported the Unix rz/sz ZMODEM programs to
- 
- 
- 
-Chapter 20      Rev Oct-14-88  Typeset 10-14-88   46 
- 
- 
- 
- 
- 
- 
- 
-Chapter 20       ZMODEM Protocol    47 
- 
- 
  
 DECSYSTEM 20 assembler, and has announced future support for ZMODEM. DECSYSTEM 20 assembler, and has announced future support for ZMODEM.
  
-20.1  Adding ZMODEM to DOS Programs+==== 20.1  Adding ZMODEM to DOS Programs ====
  
 DSZ is a small shareware program that supports XMODEM, YMODEM, and DSZ is a small shareware program that supports XMODEM, YMODEM, and
Line 1923: Line 1847:
 Pro-YAM user manuals. Pro-YAM user manuals.
  
- +===== 21.  YMODEM PROGRAMS =====
-21.  YMODEM PROGRAMS+
  
 The Unix rz/sz programs support YMODEM as well as ZMODEM.  Most Unix The Unix rz/sz programs support YMODEM as well as ZMODEM.  Most Unix
Line 1940: Line 1863:
 Many other programs, including MEX-PLUS and Crosstalk Mark IV also Many other programs, including MEX-PLUS and Crosstalk Mark IV also
 support some of YMODEM's features. support some of YMODEM's features.
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
-Chapter 21      Rev Oct-14-88  Typeset 10-14-88   47 
- 
- 
- 
- 
- 
- 
- 
-Chapter 21       ZMODEM Protocol    48 
- 
- 
  
 Questions about YMODEM, the Professional-YAM communications program, Questions about YMODEM, the Professional-YAM communications program,
Line 1977: Line 1877:
      Source: TCE022      Source: TCE022
  
- +===== 22.  ACKNOWLEDGMENTS =====
-22.  ACKNOWLEDGMENTS+
  
 The High Reliability Software(TM), TurboLearn Script Writer(TM), The High Reliability Software(TM), TurboLearn Script Writer(TM),
Line 1996: Line 1895:
 acknowledged.  32 bit CRC code courtesy Gary S. Brown. acknowledged.  32 bit CRC code courtesy Gary S. Brown.
  
- +===== 23.  RELATED FILES =====
-23.  RELATED FILES+
  
 The following files may be useful while studying this document: The following files may be useful while studying this document:
Line 2014: Line 1912:
  
 minirb.c A YMODEM bootstrap program, 178 lines. minirb.c A YMODEM bootstrap program, 178 lines.
- 
- 
- 
- 
-Chapter 23      Rev Oct-14-88  Typeset 10-14-88   48 
- 
- 
- 
- 
- 
- 
- 
-Chapter 23       ZMODEM Protocol    49 
- 
- 
  
 RZSZ.ZOO,rzsz.arc Contain the C source code and manual pages listed RZSZ.ZOO,rzsz.arc Contain the C source code and manual pages listed
Line 2041: Line 1924:
 ZCOMM*.ARC Archive files for ZCOMM, a powerful shareware ZCOMM*.ARC Archive files for ZCOMM, a powerful shareware
  communications program.  communications program.
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
-Chapter 23      Rev Oct-14-88  Typeset 10-14-88   49 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
-         CONTENTS 
- 
- 
- 1.  INTENDED AUDIENCE................................................  2 
- 
- 2.  WHY DEVELOP ZMODEM?..............................................  2 
- 
- 3.  ZMODEM Protocol Design Criteria..................................  4 
-     3.1    Ease of Use...............................................  4 
-     3.2    Throughput................................................  5 
-     3.3    Integrity and Robustness..................................  6 
-     3.4    Ease of Implementation....................................  6 
- 
- 4.  EVOLUTION OF ZMODEM..............................................  7 
- 
- 5.  ROSETTA STONE.................................................... 10 
- 
- 6.  ZMODEM REQUIREMENTS.............................................. 10 
-     6.1    File Contents............................................. 10 
- 
- 7.  ZMODEM BASICS.................................................... 12 
-     7.1    Packetization............................................. 12 
-     7.2    Link Escape Encoding...................................... 12 
-     7.3    Header.................................................... 13 
-     7.4    Binary Data Subpackets.................................... 16 
-     7.5    ASCII Encoded Data Subpacket.............................. 16 
- 
- 8.  PROTOCOL TRANSACTION OVERVIEW.................................... 16 
-     8.1    Session Startup........................................... 16 
-     8.2    File Transmission......................................... 18 
-     8.3    Session Cleanup........................................... 20 
-     8.4    Session Abort Sequence.................................... 20 
- 
- 9.  STREAMING TECHNIQUES / ERROR RECOVERY............................ 21 
-     9.1    Full Streaming with Sampling.............................. 21 
-     9.2    Full Streaming with Reverse Interrupt..................... 23 
-     9.3    Full Streaming with Sliding Window........................ 23 
-     9.4    Full Streaming over Error Free Channels................... 24 
-     9.5    Segmented Streaming....................................... 24 
- 
-10.  ATTENTION SEQUENCE............................................... 24 
- 
-11.  FRAME TYPES...................................................... 25 
-     11.1   ZRQINIT................................................... 25 
-     11.2   ZRINIT.................................................... 25 
-     11.3   ZSINIT.................................................... 25 
-     11.4   ZACK...................................................... 26 
-     11.5   ZFILE..................................................... 26 
-     11.6   ZSKIP..................................................... 28 
-     11.7   ZNAK...................................................... 28 
-     11.8   ZABORT.................................................... 28 
- 
- 
- 
-      - i - 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
-     11.9   ZFIN...................................................... 28 
-     11.10  ZRPOS..................................................... 28 
-     11.11  ZDATA..................................................... 29 
-     11.12  ZEOF...................................................... 29 
-     11.13  ZFERR..................................................... 29 
-     11.14  ZCRC...................................................... 29 
-     11.15  ZCHALLENGE................................................ 29 
-     11.16  ZCOMPL.................................................... 29 
-     11.17  ZCAN...................................................... 29 
-     11.18  ZFREECNT.................................................. 29 
-     11.19  ZCOMMAND.................................................. 29 
- 
-12.  SESSION TRANSACTION EXAMPLES..................................... 30 
-     12.1   A simple file transfer.................................... 30 
-     12.2   Challenge and Command Download............................ 31 
- 
-13.  ZFILE FRAME FILE INFORMATION..................................... 31 
- 
-14.  PERFORMANCE RESULTS.............................................. 33 
-     14.1   Compatibility............................................. 33 
-     14.2   Throughput................................................ 34 
-     14.3   Error Recovery............................................ 34 
- 
-15.  PACKET SWITCHED NETWORK CONSIDERATIONS........................... 35 
- 
-16.  PERFORMANCE COMPARISON TABLES.................................... 36 
- 
-17.  FUTURE EXTENSIONS................................................ 43 
- 
-18.  REVISIONS........................................................ 43 
- 
-19.  MORE INFORMATION................................................. 44 
-     19.1   TeleGodzilla Bulletin Board............................... 44 
-     19.2   Unix UUCP Access.......................................... 45 
- 
-20.  ZMODEM PROGRAMS.................................................. 45 
-     20.1   Adding ZMODEM to DOS Programs............................. 47 
- 
-21.  YMODEM PROGRAMS.................................................. 47 
- 
-22.  ACKNOWLEDGMENTS.................................................. 48 
- 
-23.  RELATED FILES.................................................... 48 
- 
- 
-LIST OF FIGURES 
- 
- 
-Figure 1.  Order of Bytes in Header................................... 14 
- 
-Figure 2.  16 Bit CRC Binary Header................................... 14 
- 
- 
- 
-      - ii - 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
-Figure 3.  32 Bit CRC Binary Header................................... 14 
- 
-Figure 4.  HEX Header................................................. 15 
- 
-Figure 5.  Transmission Time Comparison............................... 37 
- 
- 
-LIST OF TABLES 
- 
- 
-TABLE 1.  Network and Flow Control Compatibility...................... 36 
- 
-TABLE 2.  Protocol Overhead Information............................... 37 
- 
-TABLE 3.  Local Timesharing Computer Download Performance............. 38 
- 
-TABLE 4.  File Transfer Speeds........................................ 39 
- 
-TABLE 5.  Protocol Checklist.......................................... 41 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
-     - iii - 
- 
- 
- 
- 
- 
- 
- 
- 
- 
-    The ZMODEM Inter Application File Transfer Protocol 
- 
-         Chuck Forsberg 
- 
-      Omen Technology Inc 
- 
- 
-     ABSTRACT 
- 
- 
- 
-The ZMODEM file transfer protocol provides reliable file and command 
-transfers with complete END-TO-END data integrity between application 
-programs.  ZMODEM's 32 bit CRC protects against errors that continue to 
-sneak into even the most advanced networks. 
- 
-Unlike traditional and many recently introduced protocols, ZMODEM 
-safeguards all data and supervisory information with effective error 
-detection. 
- 
-ZMODEM rapidly transfers files, particularly with buffered (error 
-correcting) modems, timesharing systems, satellite relays, and wide area 
-packet switched networks. 
- 
-User Friendliness is an important ZMODEM feature.  ZMODEM AutoDownload 
-(Automatic file Download initiated without user intervention) greatly 
-simplifies file transfers compared to the traditional protocols. 
- 
-ZMODEM provides advanced file management features including Crash 
-Recovery, flexible control of selective file transfers, and security 
-verified command downloading. 
- 
-ZMODEM protocol features allow implementation on a wide variety of systems 
-operating in a wide variety of environments.  A choice of buffering and 
-windowing modes allows ZMODEM to operate on systems that cannot support 
-other streaming protocols.  Finely tuned control character escaping allows 
-operation with real world networks without Kermit's high overhead. 
- 
-ZMODEM is the only high performance high reliability public protocol that 
-does not require large buffer allocations for normal file transfers. 
- 
-Although ZMODEM software is more complex than unreliable XMODEM routines, 
-a comphrensive protocol description and actual C source code to production 
-programs have allowed dozens of developers to upgrade their applications 
-with efficient, reliable ZMODEM file transfers with a minimum of effort. 
- 
-ZMODEM was developed for the public domain under a Telenet contract.  The 
-ZMODEM protocol descriptions and the Unix rz/sz program source code are 
-public domain. No licensing, trademark, or copyright restrictions apply 
-to the use of the protocol, the Unix rz/sz source code and the ZMODEM 
-name. 
  
protocols/zmodem.1534273026.txt.gz · Last modified: 2018/08/14 20:57 by root

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki