Comparing Tcp-Ipv4/ Tcp-Ipv6 Network Performance
Total Page:16
File Type:pdf, Size:1020Kb
COMPARING TCP-IPV4/ TCP-IPV6 NETWORK PERFORMANCE A Thesis Presented to the Faculty of the Graduate School University of Missouri-Columbia ___________________________________ In Partial Fulfillment of the Requirements for the Degree Master of Science by HARSHIL SHAH Dr. Gordon K. Springer, Thesis Advisor DECEMBER 2013 The undersigned, appointed by the Dean of the Graduate School, have examined the thesis entitled COMPARING TCP-IPV4/ TCP-IPV6 NETWORK PERFORMANCE Presented by Harshil Shah A candidate for the degree of Master of Science And hereby certify that in their opinion it is worthy of acceptance. __________________________________________________ Dr. Gordon K Springer __________________________________________________ Dr. Dmitry Korkin __________________________________________________ Dr. Justin Legarsky ACKNOWLEDGEMENTS I would like to acknowledge and thank, with gratitude, the following people who helped me throughout my studies and completion of my project. First and foremost, my debt of thanks to my advisor, Gordon K Springer. I would like to thank him for his expert guidance, tutelage and confidence. I would also like to thank him for his patience entrusted upon me to complete the project, while living hundreds of miles away, employed in full-time job. The project would not have been successful without his motivation. Secondly I would like to thank to my committee members for taking time from their busy schedules and contribute valuable insights. Lastly I would like to thank to my friends and my family for their support and collaboration in completion of this project. My honors and achievements are dedicated to all of these people. ii TABLE OF CONTENTS ACKNOWLEDGMENTS.............................................................................................. ii LIST OF FIGURES ...................................................................................................... vi LIST OF TABLES ...................................................................................................... viii ABSTRACT .................................................................................................................. ix Chapter 1 – Introduction .............................................................................................. 1 Chapter 2 – Internet Protocol Version 6 ................................................................... 6 2.1 Internet Protocol Layer (IP) .........................................................................7 2.2 IPv4 Shortcomings ....................................................................................... 9 2.3 Internet Version 6 (IPv6) ........................................................................... 12 2.4 IPv6 Addressing .......................................................................................... 16 2.5 IPv6 Extension Header ............................................................................... 17 2.6 Enhancement Over IPv4 ............................................................................. 19 2.7 IPv6 Quality of Service ............................................................................... 23 2.7.1 The Concept of Flow ............................................................................ 24 2.7.2 Traffic Class .......................................................................................... 25 2.8 Transition Mechanisms to IPv6 ................................................................ 27 Chapter 3 – Network Performance Metrics and Measuring Techniques .............. 30 3.1 What Are Different Network Performance Metrics? .............................. 30 3.2 What Are Different Types of Bandwidths? .............................................. 32 3.2.1 Capacity ................................................................................................ 33 3.2.2 Available Bandwidth ........................................................................... 34 iii 3.2.3 TCP Throughput and Bulk Transfer Capacity (BTC) ........................ 36 3.3 What Are Different Bandwidth Measurement Techniques? ................... 38 Chapter 4 – Design and Implementation of A Middleware Application ............... 45 4.1 Middleware Application Design Considerations ..................................... 45 4.2 What are Sockets? ..................................................................................... 48 4.3 Middleware Application Design ............................................................... 49 4.3.1 Middleware Application Functions ...................................................... 51 4.3.2 Client Server Communication ............................................................ 59 4.3.3 Event Handling to Switch IP Protocol ................................................. 66 Chapter 5 – Design and Implementation of Measurement Tool ............................ 71 5.1 Design Considerations ................................................................................ 71 5.2 Bandwidth Measurement ......................................................................... 74 5.2.1 Capacity Measurement (Pathrate) ...................................................... 75 5.2.2 Bulk Transfer Capacity Measurement ............................................... 83 5.2.3 Latency Measurement ......................................................................... 87 Chapter 6 – Measurement Tool Output and Results .............................................. 92 6.1 Latency Measurement Output ............................................................... 96 6.2 Bulk Transfer Capacity (BTC) Measurement Output ........................ 102 6.3 Capacity Measurement Output............................................................ 108 Chapter 7 – Conclusion ............................................................................................ 115 Appendix A – Internet Protocol Version 4 (IPv4) .................................................123 Appendix B –Middleware Application Functions and Constants ........................ 128 Appendix C – Capacity Measurement Log File ..................................................... 160 iv Bibliography ............................................................................................................. 188 Glossary ..................................................................................................................... 191 v LIST OF FIGURES Figure 2.1: TCP/IP Architecture ..................................................................................7 Figure 2.2: OSI Network Architecture ....................................................................... 8 Figure 2.3: IPv6 Packet .............................................................................................. 12 Figure 2.4: IPv6 Header Compared With IPv4 ........................................................ 13 Figure 2.5: IPv6 Extension Headers..........................................................................18 Figure 2.6: Lewis IPv6 Link Local Address ............................................................. 22 Figure 2.7: IPv6 Encapsulation ................................................................................ 28 Figure 3.1: Pipe Model for Available Bandwidth ..................................................... 36 Figure 3.2: Packet Pair Dispersion ............................................................................ 41 Figure 4.1: Client and Server Communication Using TCP/IP ................................ 46 Figure 4.2: fn_socket() Flow Diagram ..................................................................... 59 Figure 4.3: Client Server Communication ............................................................... 63 Figure 4.4: fn_send()/fn_write() Packet Structure ................................................ 66 Figure 5.2: Characteristics of Local Mode ............................................................... 79 Figure 5.3: Histograms of Phase 1 and 2 Measurements ....................................... 79 Figure 5.4: Capacity Estimate Flow Diagram .......................................................... 82 Figure 5.5: BTC Measurement Packet ...................................................................... 85 Figure 5.6: BTC Measurement Flow Diagram ......................................................... 86 Figure 5.7: Latency Measurement Packet ................................................................ 87 Figure 5.8: Latency Measurement Flow Diagram .................................................... 91 Figure 6.1: Web and Peregrine On Rnet .................................................................. 94 vi Figure 6.2: netaware_snd Output on Web for IPv6................................................ 98 Figure 6.3: netaware_rcv Output on Peregrine for IPv6 ........................................ 98 Figure 6.4: IPv4 vs IPv6 - Time vs Latency (ms)................................................... 100 Figure 6.5: IPv4 vs IPv6 Latency Measurements (ms) ........................................ 100 Figure 6.6: IPv4 vs IPv6 Latency Measurements - 5 Days (ms) ......................... 102 Figure 6.7: netaware_snd BTC Output for IPv4 ................................................... 103 Figure 6.8: netaware_rcv BTC Output for IPv4 .................................................... 104 Figure 6.9: IPv4 vs IPv6 - Time vs BTC (Mbps) .................................................... 106 Figure 6.10: IPv4 vs IPv6 BTC Measurements (Mbps) .......................................