Pieter Edelman
21 April 2015

Google denkt met een nieuw, udp-gebaseerd transportprotocol de snelheid en betrouwbaarheid van internetverkeer op te kunnen krikken. De afgelopen maanden experimenteerde het bedrijf via gebruikers van zijn Chrome-webbrowser op grote schaal met dit Quic-protocol (quick udp internet connections). De resultaten zijn zo bemoedigend dat Google het protocol wil gaan standaardiseren via de internet engineering task force (IETF).

Op het internet maken twee transportprotocollen de dienst uit voor het versturen van data. Wanneer het niet erg is dat er zo nu en dan een pakketje verloren gaat, zoals bij online games of spraak- en videoverbindingen, wordt udp gebruikt. De zender verstuurt deze pakketjes simpelweg en kijkt er verder niet naar om. Onderweg mogen ze in willekeurige volgorde verstuurd worden. Wanneer wel alle pakketjes moeten aankomen, zoals bij webpagina’s, mail of ftp, wordt het zwaardere tcp ingezet. Hierbij wordt er steeds gecommuniceerd of alle pakketjes zijn aangekomen en worden verloren pakketjes opnieuw verzonden, waarbij de volgorde van verzenden aangehouden moet worden.

In Quic probeert Google de beste eigenschappen van udp en tcp te combineren. Een belangrijke feature van het nieuwe protocol is dat een client in het slechtste geval een enkele roundtrip nodig heeft om te beginnen met beveiligde communicatie, en in het beste geval zelfs helemaal geen. Bij tcp zijn hier eerst twee tot drie roundtrips voor nodig; eerst om de verbinding tot stand te brengen, dan om de encryptieparameters uit te wisselen. Volgens Google profiteert in de praktijk driekwart van de webpagina’s van deze optimalisatie.

Quic pakt dit probleem aan door de inhoud van pakketten standaard al te versleutelen. Dat gaat aanvankelijk via statische encryptieparameters van een server, die in het beste geval al bekend waren uit een eerdere sessie en anders in een roundtrip worden opgevraagd. Nadat de gegevensuitwisseling op gang is gekomen, worden zo snel mogelijk sessiespecifieke encryptieparameters uitgewisseld.

Daarnaast gebruikt Quic betere methoden om met drukte op de lijn en pakketverlies om te gaan. Het protocol gebruikt een vergelijkbaar mechanisme voor het verifiëren van pakketaankomst als tcp, maar brengt verbeteringen aan in de manier waarop verloren pakketten opnieuw verzonden worden. Daarnaast schat Quic op basis van de terugkomende pakketten hoe veel verkeer de verbinding op het moment aankan en gebruikt het foutcorrectiecodes om uitval op te vangen. Volgens Google biedt dit met name voordeel bij belabberde netwerkverbindingen. Youtube liet bijvoorbeeld zo’n dertig procent minder rebuffers zien.