QUIC and Multipath

Contact: Maaz Mohiuddin

Background:

QUIC (Quick UDP Internet Connections, pronounced quick) [1] is an new transport layer network protocol designed at Google and announced publicly in 2013. Today, 30% of all Google’s traffic and 7% of the Internet’s traffic is using QUIC [2]. This traction has caused other major companies such as Apple and Microsoft to work on deploying QUIC in their stack.

QUIC has cherry-picked the best features of TCP and UDP to provide the next de-facto choice for transport protocol for all web and smart-phone applications. Like TCP, it is connection oriented, detects losses and performs retransmissions, performs congestion control. Unlike TCP, it has no latency-overhead in connection establishment. Moreover, unlike TCP, it does have not have head-of-line blocking, which enables an application that is sending multiple types of data, to do so using a single connection without the different types of data interfering with each other. QUIC natively integrates TLS, so that the application developer no longer need to worry about security.

In this project, we want to answer the question: “how can QUIC be used for real-time mission-critical traffic?”. This kind of traffic is characterized by strigent latency-requirements and demands fast repair of lost frames. These goals are often achieved by replicating frames over two or more fail-independent paths [3][4]. The receiver discards duplicate frames. We want to modify the QUIC protocol to support such parallel replication.

Project Goals:

  • Understanding the QUIC stack.
  • Design parallel replication protocol in QUIC.
  • Implement and test the designed protocol

Required skills:

Strong knowledge of TCP/IP Networking and C++. Working knowledge of the Linux CLI.

Supervisors: Maaz Mashood Mohiuddin

References:

  1. https://en.wikipedia.org/wiki/QUIC
  2. Langley, Adam, et al. “The QUIC transport protocol: Design and Internet-scale deployment.” Proceedings of the Conference of the ACM Special Interest Group on Data Communication. ACM, 2017.
  3. Popovic, Miroslav, et al. “iPRP—The parallel redundancy protocol for IP networks: Protocol design and operation.” IEEE Transactions on Industrial Informatics 12.5 (2016): 1842-1854.
  4. https://en.wikipedia.org/wiki/Multipath_TCP