
COMMUNICATION PROTOCOL CHANNEL UTILIZATION AND THE DESIGN OF THE MAX2 DATA LINK PROTOCOL by KENNETH LEE B.Sc, The University of British Columbia, 1985 A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF SCIENCE in THE FACULTY OF GRADUATE STUDIES (Department of Computer Science) We accept this thesis as conforming to the required standard. THE UNIVERSITY OF BRITISH COLUMBIA September 1991 © Kenneth Lee, 1991 In presenting this thesis in partial fulfilment of the requirements for an advanced degree at the University of British Columbia/ I agree that the Library shall make it freely available for reference arid study. I further agree that permission for extensive copying of this thesis for scholarly purposes may be granted by the head of my department or by his or her representatives, it is understood that copying or publication of this thesis for financial gain shall not be allowed without my written permission. Department of 6U)Mpu.Tr>(l (t-\Ui^ The University of British Columbia Vancouver, Canada Date $Ej)T£-M6F-ft. 1901 DE-6 (2/88) ABSTRACT In this thesis, we first surveyed and analyzed the Kermit, XMODEM, YMODEM, and ZMODEM file transfer protocols. A number of theoretical channel utilization equations were then developed that would predict the effective utilization, and hence effective throughput, of stop and wait protocols and streaming protocols. A series of experiments were performed that measured the effective throughput of the protocols at various baud rates and error rates and showed the utilization equations to be within ±5% of the measured values. Based upon these results, a full-streaming communications protocol, MAX2, was designed. A subset of the MAX2 protocol was then implemented and tested at different baud rates and error rates. These results were within ±1.5% of the theoretical values and showed that the MAX2 protocol to be more efficient than the Kermit, XMODEM, YMODEM, and ZMODEM protocols at all baud rates and error rates when using comparable maximum packet sizes . These results also indicated that in order to achieve maximum effective throughput, the packet size must change as the communication channel's error rate changes. ii TABLE OF CONTENTS Abstract • 11 List Of Tables vi List Of Figures vii List Of Graphs vm Acknowledgement x 1. Introduction 1 1.1 Motivation and Objectives 1 1.2 Outline 2 2. Protocol Survey 4 2.1 Introduction 4 2.2 Kermit 4 2.2.1 Introduction -4 2.2.2 Classic Kermit 5 2.2.3 Extended Length Packet Extension 8 2.2.4 Sliding Window Extension .9 2.3 XMODEM 10 2.3.1 Introduction 10 2.3.2 XMODEM (Original) 10 2.3.3 XMODEM-CRC H 2.3.4 XMODEM-1K 12 2.4 YMODEM 12 2.5 ZMODEM 13 2.6 Summary 15 2.7 Conclusion 18 3. Protocol Channel Utilization 19 3.1 Introduction 19 3.2 Analysis 19 3.2.1 Uniform Deterministic Error Distribution 20 3.2.2 Poisson Error Distribution 21 3.3 Channel Utilization Equation For Stop and Wait Protocols .22 3.4 Channel Utilization Equation For Streaming Protocols 25 3.4.1 Selective Retransmission 26 3.4.2 Go Back N 28 3.5 Equation Verification 31 3.5.1 Experiment Description 32 3.5.2 Uniform Byte Error Distribution Experiments 34 3.5.3 Random Bit Error Distribution (BLACK30) Experiments 36 3.6 Summary 37 3.7 Conclusion 39 iii 4. MAX2 Protocol 40 4.1 Introduction 40 4.2 Specification 41 4.2.1 Encoding Algorithms 41 4.2.1.1 Hex Encoding 41 4.2.1.2 Network Control Character Encoding 42 4.2.1.3 Full Control Character Encoding .42 4.2.1.4 Eighth Bit Character Encoding .42 4.2.2 Checksum Types 42 4.2.3 Packet Format .43 4.2.3.1 SOH Field 44 4.2.3.2 SEQ Field 44 4.2.3.3 TYPE Field 44 4.2.3.4 LEN Field 44 4.2.3.5 DATA Field 45 4.2.3.6 CHECK Field .45 4.2.4 Packet Types 45 4.2.4.1 ABORT Packet 46 4.2.4.2 ABORT-A Packet 47 4.2.4.3 ACK Packet 47 4.2.4.4 ACK-C Packet 47 4.2.4.5 CHANNEL Packet 47 4.2.4.6 CONNECT Packet .48 4.2.4.6.1 PSIZE Field 49 4.2.4.6.2 BSIZE Field 49 4.2.4.6.3 SSIZE Field 50 4.2.4.6.4 CHECK Field 50 4.2.4.6.5 ENCODE Field 50 4.2.4.6.6 CTL Field 51 4.2.4.6.7 8TH Field 51 4.2.4.6.8 DUPLEX Field 52 4.2.4.7 DATA-BLOCK Packet 52 4.2.4.8 DATA-REPLY Packet 53 4.2.4.9 DATA-STREAM Packet 53 4.2.4.10 DISCONNECTED Packet 53 4.2.4.11 DISCONNECTING Packet 53 4.2.4.12 FEEDBACK Packet 54 4.2.4.13 NAK Packet 54 4.2.4.14 NAK-A Packet 54 4.2.4.15 NAK-C Packet 55 4.2.4.16 PAUSE Packet 55 4.2.4.17 PROBE Packet 55 4.2.4.18 RESUME Packet 55 4.2.4.19 TIMEOUT Packet 56 4.2.5 Protocol Description 56 4.2.5.1 CONNECT Phase 57 4.2.5.2 DATA Transfer Phase 58 4.2.5.3 DISCONNECT Phase 60 iv 4.3 Implementation .61 4.4 Throughput Experiments 62 4.4.1 Random Bit Error Distribution (BLACK30) Experiments 62 4.5 Summary 64 4.6 Conclusion 67 5. Conclusion 68 6. Bibliography 71 APPENDIX 1. Theoretical Utilization Graphs, Uniform Error Distribution 73 APPENDIX 2. Theoretical Throughput Graphs, Uniform Error Distribution 78 APPENDED 3. Measured Throughput Graphs, Uniform Error Distribution 83 APPENDIX 4. Percentage Difference Graphs, Uniform Error Distribution 91 APPENDED 5. Theoretical Utilization Graphs, Random Error Distribution 99 APPENDIX 6. Theoretical Throughput Graphs, Random Error Distribution 108 APPENDK 7. Measured Throughput Graphs, Random Error Distribution 117 APPENDED 8. Percentage Difference Graphs, Random Error Distribution 120 v LIST OF TABLES Table 1. Protocol Survey Feature Summary 17 Table 2. Percentage Difference of Measured Utilization Relative to Theoretical Utilization For Uniform Byte Error Distributions Produced By BLACK10 34 Table 3. Percentage Difference of Measured Utilization Relative to Theoretical Utilization For Random Bit Error Distributions Produced by BLACK30 37 Table 4. MAX2 Checksum Types and Field Values 43 Table 5. MAX2 Packet Types .46 Table 6. MAX2 CONNECT Packet Data Field Types 49 Table 7. MAX2 ENCODE Field Values 51 Table 8. MAX2 Packet Types Recognized By MAX2SEND and MAX2RECV . 61 Table 9. MAX2 Percentage Difference of Measured Utilization Relative to Theoretical Utilization For Random Bit Error Distributions Produced by BLACK30 63 Table 10. MAX2 Average Measured Throughput Comparison At Random Bit Error Rates Produced by BLACK30 .64 Table 11. MAX2 Protocol Feature Summary 66 Table 12. Protocol Overhead Summary 68 vi LIST OF FIGURES Figure 1. Kermit Repeat Encoding Algorithm 6 Figure 2. Kermit Eighth Bit Encoding Algorithm 6 Figure 3. Kermit Control Prefix Encoding Algorithm 7 Figure 4. Classic Kermit Packet Format 7 Figure 5. Extended Length Kermit Packet Format 9 Figure 6. XMODEM DATA Packet Format 11 Figure 7. XMODEM-CRC DATA-CRC Packet Format 11 Figure 8. XMODEM-1K DATA-IK Packet Format 12 Figure 9. ZMODEM Data Packet Format .14 Figure 10. ZMODEM Control Packet Data Field 15 Figure 11. ZMODEM Control Packet Formats 15 Figure 12. Utilization Equation For Stop and Wait Protocols 24 Figure 13. Utilization Equation For Half-Duplex Streaming Protocols (Selective Retransmission) 27 Figure 14. Utilization Equation For Full-Duplex Streaming Protocols (Selective Retransmission) , 27 Figure 15. Utilization Equation For Half-Duplex Streaming Protocols (Go Back N) 30 Figure 16. Channel Utilization For Full-Duplex Streaming Protocols (Go Back N) 30 Figure 17. Throughput Test Computer Configuration 31 Figure 18. BLACK30 Random Number Generator .36 Figure 19. Example of MAX2 Hex Encoding 41 Figure 20. MAX2 Packet Format 44 Figure 21. MAX2 CONNECT Packet Data Field Format 48 Figure 22. MAX2 RESUME Packet Data Field Format 56 vii LIST OF GRAPHS Graph 1. Theoretical Utilization At 2400 Baud And Uniform Error Distribution 74 Graph 2. Theoretical Utilization At 4800 Baud And Uniform Error Distribution 75 Graph 3. Theoretical Utilization At 9600 Baud And Uniform Error Distribution 76 Graph 4. Theoretical Utilization At 19200 Baud And Uniform Error Distribution 77 Graph 5. Theoretical Throughput At 2400 Baud And Uniform Error Distribution 79 Graph 6. Theoretical Throughput At 4800 Baud And Uniform Error Distribution 80 Graph 7. Theoretical Throughput At 9600 Baud And Uniform Error Distribution 81 Graph 8. Theoretical Throughput At 19200 Baud And Uniform Error Distribution 82 Graph 9. Measured Throughput At 2400 Baud And Uniform Error Distribution 84 Graph 10. Measured Throughput At 4800 Baud (#1) Uniform Error Distribution 85 Graph 11. Measured Throughput At 4800 Baud (#2) Uniform Error Distribution 86 Graph 12. Measured Throughput At 9600 Baud (#1) Uniform Error Distribution 87 Graph 13. Measured Throughput At 9600 Baud (#2) Uniform Error Distribution 88 Graph 14. Measured Throughput At 19200 Baud (#1) Uniform Error Distribution 89 Graph 15. Measured Throughput At 19200 Baud (#2) Uniform Error Distribution 90 Graph 16. Percentage Difference At 2400 Baud Uniform Error Distribution 92 Graph 17. Percentage Difference At 4800 Baud (#1) Uniform Error Distribution 93 Graph 18. Percentage Difference At 4800 Baud (#2) Uniform Error Distribution 94 Graph 19. Percentage Difference At 9600 Baud (#1) Uniform Error Distribution 95 Graph 20. Percentage Difference At 9600 Baud (#2) Uniform Error Distribution 96 Graph 21.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages133 Page
-
File Size-