
Brigham Young University BYU ScholarsArchive Theses and Dissertations 2006-03-22 User Datagram Protocol with Congestion Control Spencer L. Cox Brigham Young University - Provo Follow this and additional works at: https://scholarsarchive.byu.edu/etd Part of the Computer Sciences Commons BYU ScholarsArchive Citation Cox, Spencer L., "User Datagram Protocol with Congestion Control" (2006). Theses and Dissertations. 379. https://scholarsarchive.byu.edu/etd/379 This Thesis is brought to you for free and open access by BYU ScholarsArchive. It has been accepted for inclusion in Theses and Dissertations by an authorized administrator of BYU ScholarsArchive. For more information, please contact [email protected], [email protected]. USER DATAGRAM PROTOCOL WITH CONGESTION CONTROL by Spencer Cox A thesis submitted to the faculty of Brigham Young University in partial fulfillment of the requirements for the degree of Master of Science Department of Computer Science Brigham Young University March 2006 Copyright c 2006 Spencer Cox All Rights Reserved BRIGHAM YOUNG UNIVERSITY GRADUATE COMMITTEE APPROVAL of a thesis submitted by Spencer Cox This thesis has been read by each member of the following graduate committee and by majority vote has been found to be satisfactory. Date Dr. Mark Clement, Chair Date Dr. Daniel Zappala Date Dr. Parris Egbert BRIGHAM YOUNG UNIVERSITY As chair of the candidate's graduate committee, I have read the thesis of Spencer Cox in its final form and have found that (1) its format, citations, and bibliographical style are consistent and acceptable and fulfill university and department style requirements; (2) its illustrative materials including figures, tables, and charts are in place; and (3) the final manuscript is satisfactory to the graduate committee and is ready for submission to the university library. Date Dr. Mark Clement Committee Chairman Accepted for the Department Dr. Parris Egbert Graduate Coordinator Accepted for the College Dr. Thomas W. Sederberg Associate Dean, College of Physical and Mathematical Sciences ABSTRACT USER DATAGRAM PROTOCOL WITH CONGESTION CONTROL Spencer Cox Department of Computer Science Master of Science Communication through the Internet is one of the dominant methods of ex- changing information. Whether at an individual or large corporate level the Internet has become essential to gathering and disseminating information. TCP and UDP are the transport layer protocols responsible for transit of nearly all Internet communica- tions. Due to the growth of real-time audio and video applications, UDP is being used more frequently as a transport protocol. As UDP traffic increases potential problems arise. Unlike TCP, UDP has no mechanism for congestion control leading to wasted bandwidth and poor performance for other competing protocols. This thesis defines a congestion control protocol called UDPCC to replace UDP. Several other protocols or applications have been proposed to provide UDP-like transport with congestion control. DCCP and UDP-MM are two schemes examined and will be used as com- paretors to UDPCC. This thesis will show that the proposed UDPCC can perform at the level of DCCP, UDP-MM or higher while maintaining a simple implementation. ACKNOWLEDGMENTS First I would like to acknowledge my Heavenly Father. Without the blessings and opportunities that he has provided I would not be where I am. I'm indebted to my family. My parents for their complete confidence in me. They believed in what I could accomplish before I believed in myself, their encouragement gave me confidence to pursue and complete this thesis. To my beautiful (future) wife, Annaliese. She spent many hours editing. as well as providing support and fun diversions when things were particularly tough. I want to express thanks to the faculty of the Computer Science Department, in particular Dr Clement. He provided needed insight and added experience to my inexperience. Many thanks to Casey Deccio and Jeremy Goold for creating a fun environment in which to work. Contents Acknowledgments vi List of Tables ix List of Figures xiii 1 Introduction 1 1.1 Internet traffic . 1 1.2 Non-responsive flows . 2 1.3 UDPCC . 3 1.4 Congestion control . 3 1.4.1 Congestion collapse due to undelivered packets . 4 1.4.2 Increased control traffic congestion collapse . 5 1.4.3 Stale packet congestion collapse . 5 1.5 Unfairness problems . 6 1.5.1 TCP friendly . 6 1.5.2 TCP fair . 7 2 Related Work 9 2.1 Existing Protocols . 9 2.1.1 DCCP . 9 2.1.2 MM APP . 11 2.1.3 Other Protocols . 12 3 The Design of UDPCC 13 3.1 Goals . 13 vii 3.2 Overview . 14 3.2.1 Connectionless . 14 3.2.2 Memoryless . 15 3.2.3 Packet header . 15 3.3 Congestion Control Algorithm . 16 3.3.1 Slow Start . 16 3.3.2 Congestion detection mechanism . 16 3.3.3 Reaction to congestion . 18 3.4 TCP fairness . 20 4 Experimental Results 21 4.1 Simulation . 21 4.1.1 Network Simulator ns . 21 4.2 Congestion collapse . 22 4.2.1 Undelivered packets congestion collapse . 22 4.2.2 Ring topology . 22 4.2.3 Parking lot topology . 25 4.3 Sustained throughput . 30 4.3.1 Media friendly in bursty traffic . 30 4.4 Fairness . 33 4.4.1 Fairness with two TCP flows . 34 4.4.2 Fairness with five TCP flows . 35 5 Conclusion 41 5.1 Future Work . 43 A Congestion ring 49 B Goodput with TCP flows 53 viii List of Tables 4.1 Average number of packets dropped by each node for each protocol dur- ing the ten second ring simulation. 25 4.2 Average throughput of each flow during the four 10 second downstream bottleneck simulations . 29 ix x List of Figures 1.1 Packets flowing from node B to node F cause congestion on the link between nodes C and D. 5 3.1 UDPCC data header contains the standard UDP header plus type and sequence number. 15 3.2 UDPCC control header contains the standard UDP header plus type, sequence number and received count. 15 3.3 Simple form of feedback that allows the sender to know how many pack- ets made it to the receiver. 18 3.4 Simple state machine of the AIPD rate control mechanism. 19 4.1 Simple ring topology to test congestion collapse. 23 4.2 Number of packets per time interval of 0.5 seconds that reach destination. 25 4.3 Simple parking lot topology to test congestion collapse. 26 4.4 Goodput of TCP and UDP flows in parking lot topology. 26 4.5 Goodput of TCP and MM APP flows in parking lot topology. 27 4.6 Goodput of TCP and DCCP flows in parking lot topology. 28 4.7 Goodput of TCP and UDPCC flows in parking lot topology. 28 4.8 Goodput of DCCP, MM APP and UDPCC with a single burst of traffic. 31 4.9 Goodput of DCCP, MM APP and UDPCC with continuous bursty traffic. 32 4.10 Dog bone topology with one test protocol flow and between one to n TCP flows. 33 4.11 Goodput of MM APP and two TCP flows. 34 4.12 Goodput of DCCP and two TCP flows. 35 4.13 Goodput of UDPCC and two TCP flows. 36 4.14 Fairness of DCCP, MM APP and UDPCC. 36 xi 4.15 Goodput of MM APP and five TCP flows. 37 4.16 Goodput of DCCP and five TCP flows. 38 4.17 Goodput of UDPCC and five TCP flows. 38 4.18 Fairness of DCCP, MM APP and UDPCC with five TCP flows. 39 A.1 Congestion ring flow 1 . 49 A.2 Congestion ring flow 2 . 50 A.3 Congestion ring flow 3 . 50 A.4 Congestion ring flow 4 . 51 A.5 Congestion ring flow 5 . 51 A.6 Congestion ring flow 6 . 52 A.7 Congestion ring flow 7 . 52 B.1 Goodput of DCCP and one TCP flow . 53 B.2 Goodput of MM APP and one TCP flow . 54 B.3 Goodput of UDPCC and one TCP flow . 54 B.4 Goodput of DCCP and three TCP flows . 55 B.5 Goodput of MM APP and three TCP flows . 55 B.6 Goodput of UDPCC and three TCP flows . 56 B.7 Goodput of DCCP and four TCP flows . 56 B.8 Goodput of MM APP and four TCP flows . 57 B.9 Goodput of UDPCC and four TCP flows . 57 B.10 Goodput of DCCP and six TCP flows . 58 B.11 Goodput of MM APP and six TCP flows . 58 B.12 Goodput of UDPCC and six TCP flows . 59 B.13 Fairness of DCCP, MM APP and UDPCC in the presence of one TCP flow . 59 B.14 Fairness of DCCP, MM APP and UDPCC in the presence of three TCP flows . 60 B.15 Fairness of DCCP, MM APP and UDPCC in the presence of four TCP flows . 60 xii B.16 Fairness of DCCP, MM APP and UDPCC in the presence of six TCP flows . 61 xiii Chapter 1 Introduction 1.1 Internet traffic Internet communications have become the principal method of gathering and transporting information. TCP and UDP are responsible for the transit of nearly all Internet communications but have vastly different usage models [33]. TCP, the more dominant of the two, is a reliable protocol that provides congestion control. How- ever, reliability and congestion control come with substantial overhead. Much of this overhead is due to the delay introduced while the sender awaits an acknowledgment of sent data, which ensures reliability. TCP overhead reduces throughput, making it difficult to run applications that must stream large amounts of data in real-time. In contrast UDP is an unreliable protocol with no mechanism for reliability or congestion control.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages75 Page
-
File Size-