ATTENTION/WARNING - NE PAS DÉPOSER ICI/DO NOT SUBMIT HERE

Ceci est la version de TEST de DIAL.mem. Veuillez ne pas soumettre votre mémoire sur ce site mais bien à l'URL suivante: 'https://thesis.dial.uclouvain.be'.
This is the TEST version of DIAL.mem. Please use the following URL to submit your master thesis: 'https://thesis.dial.uclouvain.be'.
 

New applications above QUIC

(2018)

Files

Clarembeau_22401300_Floriot_11381300_2018.pdf
  • Open access
  • Adobe PDF
  • 2.6 MB

Details

Supervisors
Faculty
Degree label
Abstract
QUIC is an emerging network protocol announced publicly in 2013 by Google. Initially developed to improve HTTP/2, QUIC provides faster reliable transmissions by defining a new transport layer, which includes better loss handling, stream multiplexing and built-in secure communications over a single transport layer over UDP. This work explore how QUIC can benefit to other applications. It presents QuicSSH and QuicVPN, as QUIC based clones of two common tools: SSH and VPN, which generally run over TCP or UDP. As SSH, QuicSSH is a software offering remote login and port forwarding. It can execute commands or forward connections to a distant network using a secure protocol. QuicVPN creates virtual private networks. By operating at the IP layer, QuicVPN encapsulates IP datagrams into QUIC packets. Then, it relays them from one network to another to make them appear as "connected". We show that both QuicSSH and QuicVPN improve their TCP or UDP equivalents by exploiting the features of QUIC such as: its ability to multiplex streams and its improved retransmission mechanism. Using a in-depth experimentation in a wide range of possible networks, we identify the strengths and weaknesses of both programs. Despite we highlight some problems in our QUIC implementation, we prove that QuicSSH and QuicVPN outperform their TCP-based alternatives in many aspects. Finally, thanks the user space nature of QUIC, which make it easily extensible, we also add new features. We see how multipath capabilities can benefit to QuicSSH and allow it to perform bandwidth aggregation and faster handover. By trying different scheduling policies, we found some flaws in the multipath QUIC implementation, which make it sometimes less efficient than a single path implementation. We propose a new system to enhance the reactivity of reliable tunnels in QuicVPN. By using a mechanism based on explicit congestion notification, we prove how it can avoid the collapse of such VPN in variable bandwidth networks and generally achieve lower latency. We also present an extension to make dynamic QoS by prioritizing QUIC streams at the application level.