Implementation and Performance Evaluation of the QUIC Protocol in Linux Kernel

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.
Linux内核中QUIC协议的实现与性能评价
QUIC是Google提出的一种新的传输层协议,它在互联网流量中所占的份额正在迅速增加。在数据包加密、流复用和连接迁移等新需求不断涌现的应用场景中,它被设计用于提高HTTPS连接的性能,并部分取代TCP(几十年来互联网的主导标准),这些新需求已被证明对TCP服务模型具有挑战性。QUIC已被大规模部署到一些最流行的互联网服务中,包括YouTube。为了使协议易于部署和快速演进,当前部署的QUIC运行在用户空间中,通常作为Chrome/Chromium浏览器的一部分。这可能会降低协议可实现的性能,因为每条消息(包括控制消息)都会触发内核空间和用户空间之间的上下文切换。为了研究QUIC在内核模式下的潜在性能,并在QUIC和TCP之间实现公平的比较,我们在运行TCP和其他传输层协议的Linux内核中实现了QUIC。我们在虚拟机和定制的WIFI测试台上进行了广泛的测量,以比较这两种协议。实证结果表明,在低时延、高丢包率的网络等主要应用场景下,QUIC的性能优于TCP,而在两种协议并行运行时,QUIC也表现出对TCP友好的速率控制。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信