Peng Wang, Carmine Bianco, Janne Riihijärvi, M. Petrova
{"title":"Implementation and Performance Evaluation of the QUIC Protocol in Linux Kernel","authors":"Peng Wang, Carmine Bianco, Janne Riihijärvi, M. Petrova","doi":"10.1145/3242102.3242106","DOIUrl":null,"url":null,"abstract":"QUIC is a new transport layer protocol proposed by Google that is rapidly increasing its share from Internet traffic. It is designed to improve performance for HTTPS connections and partly replace TCP, the dominant standard of Internet for decades, in application scenarios where new requirements such as packet encryption, stream multiplexing and connection migration are emerging and which have proven to be challenging for the TCP service model. QUIC has been massively deployed to serve some of the most popular Internet services, including YouTube. To enable easy deployment and rapid evolution to the protocol, the current deployment of QUIC runs in user-space, usually as part of the Chrome/Chromium browser. This potentially reduces the achievable performance of the protocol, as each message, including control messages, triggers a context switch between kernel and user spaces. To investigate the potential performance of QUIC in kernel mode and to achieve a fair comparison between QUIC and TCP, we implement QUIC in the Linux kernel where TCP and other transport layer protocols are running. We have conducted extensive measurements in both virtual machines and in a custom-built WIFI testbed to compare the two protocols. The empirical results indicate that QUIC outperforms TCP in major application scenarios such as network with low latency and high packet loss rate, while QUIC also shows a TCP-friendly rate control when the two protocols are running concurrently.","PeriodicalId":241359,"journal":{"name":"Proceedings of the 21st ACM International Conference on Modeling, Analysis and Simulation of Wireless and Mobile Systems","volume":"17 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-10-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"19","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 21st ACM International Conference on Modeling, Analysis and Simulation of Wireless and Mobile Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3242102.3242106","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 19
Abstract
QUIC is a new transport layer protocol proposed by Google that is rapidly increasing its share from Internet traffic. It is designed to improve performance for HTTPS connections and partly replace TCP, the dominant standard of Internet for decades, in application scenarios where new requirements such as packet encryption, stream multiplexing and connection migration are emerging and which have proven to be challenging for the TCP service model. QUIC has been massively deployed to serve some of the most popular Internet services, including YouTube. To enable easy deployment and rapid evolution to the protocol, the current deployment of QUIC runs in user-space, usually as part of the Chrome/Chromium browser. This potentially reduces the achievable performance of the protocol, as each message, including control messages, triggers a context switch between kernel and user spaces. To investigate the potential performance of QUIC in kernel mode and to achieve a fair comparison between QUIC and TCP, we implement QUIC in the Linux kernel where TCP and other transport layer protocols are running. We have conducted extensive measurements in both virtual machines and in a custom-built WIFI testbed to compare the two protocols. The empirical results indicate that QUIC outperforms TCP in major application scenarios such as network with low latency and high packet loss rate, while QUIC also shows a TCP-friendly rate control when the two protocols are running concurrently.