QUIC di Google sostituirà il TCP?
Google ha sviluppato un nuovo protocollo Internet per sostituire diversi standard obsoleti. Secondo uno degli ingegneri del progetto, Yana Iyengar, l’ecosistema esistente è obsoleto. Quindi è necessario sostituirlo con tecnologia più avanzate e al passo con i tempi, soprattutto per quanto riguarda la sicurezza informatica.
How does HTTP over QUIC work? Google's Jana Iyengar breaks it down: https://t.co/1kWICmV2Jy
— Fastly (@fastly) July 23, 2017
QUIC e TCP
Il protocollo QUIC (Google Quick UDP Internet), a differenza dell’attuale TCP, prevede il trasferimento dei dati esclusivamente in forma crittografata.
Inoltre, grazie a una tecnologia speciale, i pacchetti di dati persi possono essere recuperati molto rapidamente. Ciò fornisce velocità di connessione più elevate e una significativa diminuzione della risposta (fino a 0 ms durante la riconnessione tra host).
Anche la privacy e la sicurezza delle informazioni in QUIC sono maggiori, poiché il trasferimento dei dati in forma non crittografata non è affatto previsto by design.
La società intende completare lo sviluppo degli standard nell’autunno del 2021 e iniziare un’ampia implementazione del protocollo nel prossimo futuro. Il suo supporto è ora disponibile nelle versioni di prova di Chrome.
La prima modifica consiste nel ridurre notevolmente l’overhead durante l’impostazione della connessione. Poiché la maggior parte delle connessioni HTTP richiederanno TLS, QUIC rende lo scambio delle chiavi di configurazione e dei protocolli supportati parte del processo di handshake iniziale.
Quando un client apre una connessione, il pacchetto di risposta include anche i dati necessari per i pacchetti futuri necessari all’uso della crittografia. Questo passaggio elimina la necessità di impostare la connessione TCP e quindi di negoziare il protocollo di sicurezza tramite altri pacchetti.
QUIC utilizza UDP come base, che non include però il recupero delle perdite. Puntando ad essere equivalente a TCP, che non ha perdita dati a differenza di UDP, QUIC controlla separatamente ogni flusso e i dati persi vengono ritrasmessi. Ciò significa che se si verifica un errore in un flusso, lo stack di protocollo può continuare a servire altri flussi in modo indipendente.
Efficienza del protocollo
Questa funzionalità può essere molto utile per migliorare le prestazioni sui collegamenti soggetti a errori, dal momento che nella maggior parte dei casi possono essere ricevuti considerevoli dati aggiuntivi prima che il TCP noti la mancanza o la perdita di un pacchetto. In QUIC, questi dati sono liberi di essere elaborati mentre il flusso viene riparato.
Un altro obiettivo del QUIC è quello di migliorare le prestazioni durante gli eventi di cambio rete, come ad esempio quando l’utente di un dispositivo mobile si sposta da una rete Wi-Fi a una rete mobile. Quando questo avviene su TCP, inizia un lungo processo in cui ogni connessione esistente si interrompe una alla volta e viene poi ristabilita su richiesta.
Per risolvere questo problema, QUIC include un identificatore di connessione al server indipendentemente dalla fonte. Questa funzionalità permette di ristabilire la connessione semplicemente reinviando un pacchetto, contenente sempre questo ID, poiché quello originale sarà ancora valido anche se l’indirizzo IP dell’utente cambia.
QUIC riuscirà a sostituire il TCP? Questo lo scopriremo solo in futuro.