Juha Vihervaara Dual-Mode Congestion Control Mechanism for Video Services
Total Page:16
File Type:pdf, Size:1020Kb
Juha Vihervaara Dual-Mode Congestion Control Mechanism for Video Services Julkaisu 1541 • Publication 1541 Tampere 2018 Tampereen teknillinen yliopisto. Julkaisu 1541 Tampere University of Technology. Publication 1541 Juha Vihervaara Dual-Mode Congestion Control Mechanism for Video Services Thesis for the degree of Doctor of Science in Technology to be presented with due permission for public examination and criticism in Auditorium 125, at Tampere University of Technology - Pori, on the 11th of May 2018, at 12 noon. Tampereen teknillinen yliopisto - Tampere University of Technology Tampere 2018 Doctoral candidate: Juha Vihervaara Laboratory of Electronics and Communications Engineering Faculty of Computing and Electrical Engineering Tampere University of Technology Finland Supervisor: Tarmo Lipping, professor Laboratory of Signal Processing Faculty of Computing and Electrical Engineering Tampere University of Technology Finland Pre-examiners: Marilia Curado, assistant professor Department of Informatics Engineering University of Coimbra Portugal Pasi Sarolahti, university lecturer Department of Communications and Networking Aalto University Finland Opponent: Ismo Hakala, professor Information Technology Kokkola University Consortium Chydenius Finland ISBN 978-952-15-4124-7 (printed) ISBN 978-952-15-4128-5 (PDF) ISSN 1459-2045 Juha Vihervaara, 2018. “Dual-Mode Congestion Control Mechanism for Video Services”. Tampere University of Technology, Tampere, Finland. Keywords: Congestion control, Video service Abstract Recent studies have shown that video services represent over half of Internet traffic, with a growing trend. Therefore, video traffic plays a major role in network congestion. Currently on the Internet, congestion control is mainly implemented through overprovisioning and TCP congestion control. Although some video services use TCP to implement their transport services in a manner that actually works, TCP is not an ideal protocol for use by all video applications. For example, UDP is often considered to be more suitable for use by real-time video applications. Unfortunately, UDP does not implement congestion control. Therefore, these UDP-based video services operate without any kind of congestion control support unless congestion control is implemented on the application layer. There are also arguments against massive overprovisioning. Due to these factors, there is still a need to equip video services with proper congestion control. Most of the congestion control mechanisms developed for the use of video services can only offer either low priority or TCP-friendly real-time services. There is no single congestion control mechanism currently that is suitable and can be widely used for all kinds of video services. This thesis provides a study in which a new dual-mode congestion control mechanism is proposed. This mechanism can offer congestion control services for both service types. The mechanism includes two modes, a backward-loading mode and a real-time mode. The backward-loading mode works like a low-priority service where the bandwidth is given away to other connections once the load level of a network is high enough. In contrast, the real-time mode always demands its fair share of the bandwidth. The behavior of the new mechanism and its friendliness toward itself, and the TCP protocol, have been investigated by means of simulations and real network tests. It was found that this kind of congestion control approach could be suitable for video services. The new mechanism worked acceptably. In particular, the mechanism behaved toward itself in a very friendly way in most cases. The averaged TCP fairness was at a good level. In the worst cases, the faster connections received about 1.6 times as much bandwidth as the slower connections. i Preface This thesis contains the results of research work, which has been carried out at the Pori Campus of the Tampere University of Technology. This work has been a challenging journey, including both uphill and downhill phases. Fortunately, I was not alone on this road but accompanied by a group of people always willing to coach, support, help, and motivate me. Certainly, I would have never reached the endpoint of this trip without the help and support of others. For this reason, I would like to thank all the people who have been involved in the process of creating this thesis throughout the years. First, I would like to thank my supervisors, Professors Pekka Loula and Tarmo Lipping, for taking me on as their student and guiding me through this study. They have been the ideal advisors in every respect. Secondly, I would like to thank my colleagues and fellow students for their support. I would also like to thank the pre-examiners Marilia Curado and Pasi Sarolahti for their constructive comments and criticism, which have been invaluable for the completion of this thesis. This work has been supported financially by the Ulla Tuominen Foundation, the High Technology Foundation of Satakunta, and the Finnish Cultural Foundation. I wish to express my thanks to these foundations. I owe a special debt of gratitude to my parents and family. They, more than anyone else, have been the reason I have been able to get this far. iii Table of Contents Abbreviations .................................................................................................................. ix 1 Introduction ................................................................................................................... 1 1.1. Background ....................................................................................................... 1 1.2. Problem statement and the aims of the thesis ................................................... 6 1.3. Structure of the thesis ....................................................................................... 7 2 Review of Congestion Control ................................................................................. 9 2.1. Background of congestion control .................................................................... 9 2.2. Queue management ........................................................................................ 13 2.2.1. Traffic phase effects and active queue management ......................... 15 2.2.2. Random Early Detection ................................................................... 16 2.2.3. CoDel ................................................................................................ 18 2.3. Fairness ........................................................................................................... 19 2.4. Round-trip times ............................................................................................. 21 2.5. AIMD principle .............................................................................................. 22 2.6. Stability, scalability, and selfish users ............................................................ 25 2.7. Implicit and explicit congestion control ......................................................... 27 2.7.1. Implicit Congestion Control .............................................................. 28 2.7.2. Explicit Congestion Control .............................................................. 28 2.8. Window-based versus rate-based congestion control ..................................... 30 2.9. Overprovisioning ............................................................................................ 31 2.10. Challenging environments ........................................................................ 32 3 TCP/IP Congestion Control and Video Transfer .................................................... 37 3.1. TCP congestion control .................................................................................. 37 3.1.1. TCP timeout management ................................................................. 38 3.1.2. Increasing sending rate by using slow start and congestion avoidance algorithms ....................................................................................................... 39 3.1.3. Decreasing sending rate by using slow start, fast retransmit, and fast recovery algorithms ........................................................................................ 42 3.1.4. TCP versions ..................................................................................... 44 3.1.5. TCP fairness ...................................................................................... 46 3.1.6. Explicit Congestion Notification ....................................................... 47 3.2. Delay-based congestion control mechanisms ................................................. 49 3.2.1. Packet Pair ......................................................................................... 49 3.2.2. TCP Vegas......................................................................................... 50 3.2.3. TCP-LP.............................................................................................. 53 3.2.4. Low Extra Delay Background Transport .......................................... 54 3.2.5. Delay Gradient Congestion Control Algorithm ................................ 55 3.3. Congestion control for multimedia streaming ................................................ 57 3.3.1. TCP for real-time multimedia applications ....................................... 57 3.3.2. Rate Adaptation Protocol .................................................................. 58 v 3.3.3. Enhanced loss-delay based adaptation algorithm.............................