Google's Quick UDP Internet Connections (QUIC) protocol, which implements TCP-like properties at the application layer atop a UDP transport, is now used by the vast majority of Chrome clients accessing Google properties but has no formal state machine specification, limited analysis, and ad-hoc evaluations based on snapshots of the protocol implementation in a small number of environ-merits. Further frustrating attempts to evaluate QUIC is the fact that the protocol is under rapid development, with extensive rewriting of the protocol occurring over the scale of months, making individual studies of the protocol obsolete before publication. Given this unique scenario, there is a need for alternative techniques for understanding and evaluating QUIC when compared with previous transport-layer protocols. First, we develop an approach that allows us to conduct analysis across multiple versions of QUIC to understand how code changes impact protocol effectiveness. Next, we instrument the source code to infer QUIC's state machine from execution traces. With this model, we run QUIC in a large number of environments that include desktop and mobile, wired and wireless environments and use the state machine to understand differences in transport-and application-layer performance across multiple versions of QUIC and in different environments. QUIC generally outperforms TCP, but we also identified performance issues related to window sizes, re-ordered packets, and multiplexing large number of small objects; further, we identify that QUIC's performance diminishes on mobile devices and over cellular networks.
[1]
Cristina Nita-Rotaru,et al.
Taking a long look at QUIC: an approach for rigorous evaluation of rapidly evolving transport protocols
,
2017,
Internet Measurement Conference.
[2]
Injong Rhee,et al.
Taming the elephants: New TCP slow start
,
2011,
Comput. Networks.
[3]
David Wetherall,et al.
How Speedy is SPDY?
,
2014,
NSDI.
[4]
Matthew Mathis,et al.
Tail Loss Probe (TLP): An Algorithm for Fast Recovery of Tail Losses
,
2013
.
[5]
Fan Yang,et al.
The QUIC Transport Protocol: Design and Internet-Scale Deployment
,
2017,
SIGCOMM.
[6]
Shichang Xu,et al.
Mobilyzer: An Open Platform for Controllable Mobile Network Measurements
,
2015,
MobiSys.
[7]
Sándor Molnár,et al.
How quick is QUIC?
,
2016,
2016 IEEE International Conference on Communications (ICC).
[8]
Yuriy Brun,et al.
Leveraging existing instrumentation to automatically infer invariant-constrained models
,
2011,
ESEC/FSE '11.
[9]
Ming Zhang,et al.
RR-TCP: a reordering-robust TCP with DSACK
,
2003,
11th IEEE International Conference on Network Protocols, 2003. Proceedings..
[10]
Monia Ghobadi,et al.
Proportional rate reduction for TCP
,
2011,
IMC '11.
[11]
Luca De Cicco,et al.
HTTP over UDP: an experimental investigation of QUIC
,
2015,
SAC.
[12]
Janardhan Iyengar,et al.
QUIC Congestion Control And Loss Recovery
,
2016
.
[13]
Somak R Das,et al.
Evaluation of QUIC on web page performance
,
2014
.