Quick UDP Internet Connection (QUIC)

=Contexte=
 * Enseignants : Georges-Pierre Bonneau, Didier Donsez (VT2015)
 * Sujet : Quick UDP Internet Connection (QUIC)
 * Auteur : Hamdani Youcef
 * Date: 16 octobre 2015

=Mots clés= Protocole de transport, transport multiplexé, UDP(User Datagram Protocol), améliorer la latence, 0-RTT.

=Résumé= QUIC (Quick UDP Internet Connection) est protocole de transport réseau expérimental conçu par Google (Jim Roskind plus précisément). QUIC prend en charge un ensemble de connexions multiplexées entre deux points de terminaison à travers UDP (User Datagram Protocol), et a été conçu pour fournir une protection équivalente à TLS / SSL, avec une connexion et une latence réduite. De plus, une estimation de la bande passante dans chaque direction permets d'éviter la congestion. L'objectif principal de QUIC est d'améliorer la performance perçue des applications Web orientées connexion qui utilisent actuellement TCP (Transmission Control Protocol).

=Abstract= QUIC (Quick UDP Internet Connection) is an experimental network transport protocol designed by Google (Jim Roskind specifically). QUIC supports a set of multiplexed connections between two endpoints over UDP (User Datagram Protocol), and was designed to provide security protection equivalent to TLS / SSL along with reduced connection and transport latency. In addition, an estimate of bandwidth in each direction allows to avoid congestion. The main objective of QUIC is to improve the perceived performance of the connection-oriented Web applications that currently use TCP (Transmission Control Protocol).

=Synthèse=

Le protocole UDP
UDP est un protocole orienté "non connexion". Pour faire simple, lorsqu'une machine A envoie des paquets à destination d'une machine B, ce flux est unidirectionnel. En effet, la transmission des données se fait sans prévenir le destinataire (la machine B), et le destinataire reçoit les données sans effectuer d'accusé de réception vers l'émetteur (la machine A). Ceci est dû au fait que l'encapsulation des données envoyées par le protocole UDP ne permet pas de transmettre les informations concernant l'émetteur. De ce fait, le destinataire ne connait pas l'émetteur des données hormis son IP.

Le protocole TCP
Contrairement à l'UDP, le TCP est orienté "connexion". Lorsqu'une machine A envoie des données vers une machine B, la machine B est prévenue de l'arrivée des données, et témoigne de la bonne réception de ces données par un accusé de réception. Ici, intervient le contrôle CRC des données. Celui-ci repose sur une équation mathématique, permettant de vérifier l'intégrité des données transmises. Ainsi, si les données reçues sont corrompues, le protocole TCP permet aux destinataires de demander à l'émetteur de renvoyer les données corrompues.

SPDY
SPDY (prononcé « Speedy » pour rapide en anglais) est un protocole réseau expérimental fonctionnant sur la couche application au dessus de TCP et créé pour transporter du contenu Web. SPDY est une proposition, conçue par Google, visant à augmenter les capacités du protocole HTTP sans toutefois remplacer ce dernier. Le but premier de SPDY est de réduire la durée de téléchargement des pages Web en classant par ordre de priorité et en multiplexant le transfert de plusieurs fichiers (ceux composant une page web) de façon à ce qu'une seule connexion soit requise.