fbpx

Google QUIC: l’ultima frontiera della navigazione veloce

QUIC, il protocollo di trasporto innovativo progettato da Google, base dell' HTTP/3, che migliora le prestazioni delle applicazioni web.

Come ben sappiamo, Google è sempre stato ossessionato dalla velocità e negli anni ha compiuto numerosi sforzi per rendere il web più efficiente e più performante.
Il nuovo arrivato in famiglia per il miglioramento delle prestazioni della navigazione è un protocollo chiamato QUIC.
Laddove SPDY e HTTP/2 erano miglioramenti iterativi rispetto a HTTP su TCP, QUIC è un approccio diverso che utilizza UDP come protocollo di trasporto. Quest'ultimo non gestisce il riordinamento dei pacchetti dati né la ritrasmissione di quelli eventualmente persi. Tuttavia, UDP ha una latenza molto bassa rispetto a TCP e risulta essere decisamente efficiente nelle applicazioni che richiedono la trasmissione e la ricezione delle informazioni "in tempo reale".

In realtà, sono molti gli utenti che già utilizzano il nuovo protocollo. A partire dal suo rilascio nel 2013, QUIC è stato adottato da Google Chrome, Opera, Firefox, Safari (la cui funzione va attivata manualmente), le applicazioni di Facebook e diverse applicazioni come YouTube, Gmail ecc.

QUIC (Quick UDP Internet Connection), non a caso è un'assonanza dell'aggettivo inglese "quick" (veloce). L'obiettivo che si pone il nuovo protocollo di Google è quello di ridurre i tempi di latenza delle connessioni rispetto a quelli offerti da TCP, migliorando lo scambio dei dati.

Come funziona

A differenza di TCP, UDP non richiede l'effettuazione di un'operazione iniziale che consiste nella creazione di un "circuito virtuale" tra mittente e destinatario.

Infatti, solitamente per accedere ad una pagina HTTPS è prevista una comunicazione che richiede da 2 a 3 cicli con il server per stabilire una connessione sicura prima che il browser possa scaricare la pagina.

La novità del protocollo QUIC è quella per cui se un client ha già dialogato con un server può iniziare a inviare dati senza tempi di attesa.
In questo modo la risposta client-server-client è molto più veloce.

Come è possibile vedere dalle figure, in una connessione normale (realizzata utilizzando TCP o TPC+TLS), sono necessari più percorsi di andata-ritorno prima che il browser web inizi a ricevere i dati richiesti.

Con QUIC, il dialogo con un server col quale il browser ha già colloquiato in precedenza può invece avvenire istantaneamente.

Dunque il protocollo firmato Google migliora la comunicazione tra client e server gestendo, per ogni richiesta, connessioni separate e indipendenti. Così, anche se una chiamata non viene gestita velocemente, essa non influisce sul rallentamento delle altre.

QUIC avvia una connessione con un singolo pacchetto comunicando i parametri TLS o HTTPS necessari al server, senza dover dipendere da una risposta. Questo lo differenzia da TCP che ha bisogno innanzitutto di ottenere ed elaborare una conferma del server.

Garanzia di continuità

A differenza delle connessioni TCP (composte da una combinazione di indirizzo sorgente, porta sorgente, indirizzo di destinazione e porta di destinazione), QUIC è fornito di un ID a 64 bit che viene generato dal client in modo casuale.

In altre parole, quando un client modifica gli indirizzi IP, (passando repentinamente da una connessione Wi-Fi ad una in 4G ad esempio), le connessioni TCP attive non saranno più valide.
Invece, quando un client di QUIC cambia gli indirizzi IP, può continuare a utilizzare il vecchio ID dal nuovo indirizzo IP senza interrompere alcuna richiesta in corso. In questo modo viene garantita la continuità.

Adottato da poco come un vero e proprio standard di internet dallo IETF (Internet Engineering Task Force), aprendosi la strada per una più ampia adozione, QUIC ha certamente il potenziale per essere la base della maggior parte delle applicazioni che forniscono valore aziendale su Internet.