protocols:zmodem
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| protocols:zmodem [2018/08/14 21:06] – [15. PACKET SWITCHED NETWORK CONSIDERATIONS] root | protocols: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, | As with the XMODEM recommendation, | ||
| 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 sender closes the session with a ZFIN header. | ||
| 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: | ||
| </ | </ | ||
| - | ==== 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, | receiving environment, | ||
| - | === 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' | receiver' | ||
| - | === 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' | sender' | ||
| - | === 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' | 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' | ||
| - | === 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. | Indicates last header was garbled. | ||
| - | === 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, | A simple transaction, | ||
| Line 1196: | Line 1196: | ||
| </ | </ | ||
| - | === 12.2 Challenge and Command Download === | + | ==== 12.2 Challenge and Command Download |
| < | < | ||
| Line 1214: | Line 1214: | ||
| </ | </ | ||
| - | ==== 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 | ||
protocols/zmodem.1534273560.txt.gz · Last modified: 2018/08/14 21:06 by root