ID.nl logo
Huis

Hoe Google het web sneller en veiliger maakt met QUIC

Google heeft een netwerkprotocol ontwikkeld om verbindingen tussen browsers en webservers te versnellen: QUIC. Dat doet het protocol onder andere door het onderliggende protocol tcp te vervangen door udp. PCM legt uit hoe dat precies zit.

Het hele web is gebaseerd op http (hypertext transfer protocol), het applicatieprotocol dat afspreekt hoe een browser en webserver met elkaar communiceren. Maar dit is maar één protocol in een hele laag. Onder http werkt traditioneel het transportprotocol tcp (transmission control protocol). Dit is bekend om zijn betrouwbaarheid: het protocol garandeert dat gegevens aankomen. 

Bij het opzetten van een tcp-verbinding gebeurt er al een ‘3-way-handshake’: de zender stuurt een pakket naar de ontvanger, die stuurt een bevestiging terug, en daarna stuurt de zender daarop een bevestiging. En als de zender een pakketje stuurt en geen bevestiging terugkrijgt, stuurt hij het opnieuw.

Al die pakketjes die over en weer gaan, voegen extra vertraging aan elke verbinding toe. Bovendien voegt tls (transport layer security), de opvolger van ssl (secure sockets layer), ook nog eens een uitgebreide handshake toe om sessiesleutels en certificaten uit te wisselen. Zeker als je een versleutelde verbinding opzet, zit je dus talloze pakketjes over en weer te sturen nog voor je maar iets nuttigs kunt doen.

Verschil tcp en udp

Naast tcp is er nog een ander transportprotocol: udp (user datagram protocol). In tegenstelling tot tcp garandeert dat niet dat gegevens daadwerkelijk aankomen. Dit ‘onbetrouwbare’ protocol wordt veel ingezet in toepassingen waar het belangrijker is dat gegevens zo snel mogelijk overgedragen worden en het niet zo erg is dat een deel van de gegevens verloren gaat.

We merken lang niet altijd dat pakketjes verloren gaan

Denk daarbij aan videoconferencing of voip: we merken het waarschijnlijk niet eens als er wat pakketjes verloren gaan. Bij gebruik van tcp zou een verloren pakketje daarentegen opnieuw verstuurd worden en zou het beeld of geluid eventjes haperen door die vertraging.

Als een applicatieprotocol van udp gebruikmaakt en toch wil dat gegevens gegarandeerd aankomen, moet dat protocol zelf een methode daarvoor implementeren. In feite herimplementeert het zo een deel van de functionaliteit van tcp.

Zo werkt QUIC

Wat als je nu op het web tcp inruilt voor udp? Dan zouden de verbindingen al heel wat sneller opgezet worden. En dat is wat Google heeft gedaan: met het protocol QUIC (Quick Udp Internet Connections) neemt het opstarten van een verbinding én het afspreken van tls-parameters samen slechts één of twee pakketjes in. Het resultaat? Je kunt veel sneller een webpagina downloaden.

QUIC draait in de internetprotocolsuite dus boven udp, maar vervangt ook tls. Bovendien vervangt het nieuwe protocol een deel van http/2. Het hele verbindingsbeheer implementeert QUIC immers, en een stuk efficiënter dan het klassieke http. Wat overblijft van http/2 wordt in een http/2-api gestoken, die gebruikmaakt van QUIC.

©PXimport

Waarom udp?

Recentelijk zijn er allerlei inspanningen geleverd om het web te versnellen. In http/2 (zie kader) gebeurt dat bijvoorbeeld met multiplexing: als je een webpagina bezoekt, verlopen alle verbindingen tussen je browser en de webserver over één tcp-verbinding. Dus je browser hoeft niet meer voor elke afbeelding, css-bestand of javascript-bestand een nieuwe tcp-verbinding op te zetten met de bijbehorende vertraging.

Als alles goed gaat, werkt http/2 sneller dan zijn voorganger http/1.1. Maar omdat elk bezoek aan een webserver nu over één tcp-verbinding verloopt, vormt die verbinding een bottleneck. Tcp verwerkt immers alle pakketjes in dezelfde volgorde als ze verzonden zijn. Als de verzending van een pakketje mislukt, verstuurt de zender het pakketje opnieuw.

Udp is een 'onbetrouwbaar' protocol

De ontvanger wacht met het verwerken van de andere pakketjes tot het verloren pakketje arriveert. En hoe meer bestanden je over één tcp-verbinding downloadt, hoe groter de kans dat er ergens wel eens een pakketje verloren raakt en de verbinding dus tijdelijk blokkeert. Kortom: in goede omstandigheden is http/2 sneller dan http/1.1, maar in slechte omstandigheden trager.

Udp heeft dat probleem niet, omdat het een ‘onbetrouwbaar’ protocol is: het garandeert niet dat alle pakketjes aankomen. Als je QUIC boven udp gebruikt, legt een verloren pakketje dus niet de hele verbinding lam, maar heeft het alleen impact op het bestand waartoe het pakketje behoort.

Betrouwbaarheid QUIC

QUIC heeft dus de voordelen van http/2 zonder de bottleneck die tcp bij multiplexing introduceert. Maar geven we door het gebruik van udp nu niet te veel op? Je bent immers niet zeker of je gegevens correct worden overgedragen.

Dat klopt, en daarom implementeert QUIC zelf zijn eigen methode om te garanderen dat gegevens aankomen: forward error correction. Het is te vergelijken met raid5 voor opslag, maar dan voor netwerkpakketjes. Elk verzonden pakketje krijgt dus wat gegevens van andere pakketjes mee. Raakt er een pakketje verloren, dan kan QUIC de inhoud reconstrueren op basis van de andere pakketjes die wel zijn gearriveerd. Zo hoeft het pakketje niet opnieuw verzonden te worden.

De overhead van forward error correction is ongeveer 10 procent. Dat betekent dat QUIC voor elke 10 pakketjes die het verzendt, voldoende informatie meezendt om één verloren pakketje te reconstrueren. Dat lijkt inefficiënt, want je moet 10 procent extra pakketjes verzenden, wat ook extra tijd vraagt. Maar toch is dat nog altijd veel sneller dan verloren pakketjes opnieuw moeten sturen en wachten tot alle pakketjes binnen zijn.

QUIC is versleuteld

Een ander interessant aspect van QUIC is dat de verbinding altijd is versleuteld. QUIC herimplementeert immers de functionaliteit van tls. Zo implementeert het perfect forward secrecy (pfs). Dankzij die eigenschap is je eerdere communicatie nog altijd veilig als er een sessiesleutel uit een QUIC-verbinding wordt gecompromitteerd. Dat wil zeggen: uit een sessiesleutel kun je nooit de voorgaande sleutels afleiden.

QUIC beschermt ook tegen ip-spoofing

QUIC beschermt ook tegen ip spoofing, het vervalsen van het ip-adres van de zender. Daarvoor reikt de server aan de client een ‘source address token’ uit. De server versleutelt het ip-adres van de client en een timestamp van de server en bezorgt de client dat token. De server zendt dat token alleen aan het ip-adres dat in dat token zit. De server gaat ervan uit dat wie het token ontvangt, eigenaar is van het bijbehorende ip-adres. Op elk moment kan de server aan de client vragen om het token te sturen om te bewijzen dat het ip-adres van hem is.

De cryptografie in QUIC is overigens slechts een tussenoplossing. De ontwikkelaars hadden functionaliteit nodig die momenteel niet in tls aanwezig is. Op termijn zal de cryptografie worden vervangen door tls 1.3, waarin de benodigde zaken worden geïmplementeerd.

Goed, zo werkt QUIC dus. Het leuke is dat je er zelf al van kunt profiteren, althans als je de Chrome-browser gebruikt. Lees verder: QUIC inschakelen in Chrome om sneller te browsen. Ook nadelen komen aan bod.

▼ Volgende artikel
Streamtips: nieuwe films en series – Wonder Man, Ponies en The Death of Bunny Munro
© Marvel Entertainment
Huis

Streamtips: nieuwe films en series – Wonder Man, Ponies en The Death of Bunny Munro

Er valt deze week weer een boel te streamen en of je nu zin hebt in superheldenactie, sciencefiction of drama: er is voor ieder wat wils. Wij hebben de beste tips van het nieuwe aanbod voor je op een rijtje gezet, zodat jij precies weet wat je deze week niet mag missen.

Wonder Man (seizoen 1) | Disney+ | 28 januari

De nieuwste toevoeging aan het MCU, de gloednieuwe serie Wonder Man, is vanaf deze woensdag te zien op Disney+. De serie volgt Simon Williams (Yahya Abdul-Mateen II), een acteur die nogal worstelt om zijn carrière van de grond te krijgen. Wanneer hij medeacteur Trevor Slattery (Ben Kingsley) ontmoet, komt hij erachter dat de legendarische regisseur Von Kovak (Zlatko Burić) de superheldenfilm ‘Wonder Man’ opnieuw verfilmt. Terwijl Simon een levensveranderende rol achterna jaagt, blijkt dat hij zelf echt superkrachten heeft. Hij gebruikt ze echter liever niet en wil zich vooral graag richten op zijn carrière. De serie wordt tot nu toe uitstekend ontvangen, iets wat Marvel-fanaten wel konden gebruiken.

Watch on YouTube

Bridgerton (Seizoen 4 - Deel 1) | Netflix | 29 januari

Het geliefde kostuumdrama Bridgerton keert deze week terug, ditmaal met een focus op Benedict Bridgerton (Luke Thompson). Nadat hij in eerdere seizoenen wat aan de zijlijnen heeft gestaan, pakt ‘ie nu zijn eigen moment in de schijnwerpers. Naast terugkerende castleden als Jonathan Bailey en Simone Ashley - respectievelijk als Anthony en Kate Bridgerton - zijn er ook nieuwe namen van de partij. Bijvoorbeeld Katie Leung - die ook de stem van Caitlyn uit Arcane inspreekt - als Lady Araminta Gun. Zoals steeds vaker voorkomt bij Netflix wordt dit seizoen wel opgebroken: de eerste vier afleveringen zijn vanaf 29 januari te bekijken, waarna de laatste vier volgen op 26 februari.

Watch on YouTube

PONIES (seizoen 1) | SkyShowtime | 30 januari

De buddy-spyserie PONIES volgt Bea (Emilia Clarke) en Twila (Haley Lu Richardson), twee gewone vrouwen die in 1977 als secretaresse werken op de Amerikaanse ambassade in Moskou. Hun rustige leven wordt abrupt op zijn kop gezet wanneer hun echtgenoten, beiden CIA-agenten, onder mysterieuze omstandigheden om het leven komen. Vastbesloten om de waarheid te achterhalen, laten Bea en Twila hun vertrouwde kantoorbanen achter en worden ze zelf CIA-spionnen.

Watch on YouTube

The Death of Bunny Munro | SkyShowtime | 30 januari

The Death of Bunny Munro is gebaseerd op het gelijknamige boek van Nick Cave en volgt titulaire hoofdpersoon Bunny Munro (Matt Smith), een losbandige huis-aan-huisverkoper van schoonheidsproducten. Na de plotselinge dood van zijn vrouw, moet hij ineens alleen voor zijn jonge zoontje zorgen, die hij meeneemt terwijl hij voor zijn werk door het zuiden van Engeland reist. Bunny is alleen maar bezig met het vervullen van zijn eigen behoeftes, maar tijdens hun chaotische roadtrip realiseert hij zich dat hij zijn levensstijl zal moeten aanpassen.

Watch on YouTube

Mad Max: Fury Road | HBO Max | 1 februari

De eerste vier delen van de western-achtige sciencefictionfilms Mad Max zijn vanaf deze zondag te zien op HBO Max. Het vierde deel, Fury Road, is wat mij betreft de grootste aanrader. In een post-apocalyptische woestijn waar benzine en water schaars zijn, bundelt hoofdpersoon Max (Tom Hardy) de krachten met een groep rebellen om in opstand te komen tegen een meedogenloze dictator. Je hebt trouwens niet per se voorkennis nodig om van Mad Max: Fury Road te kunnen genieten, de keiharde actie en geweldige setting maken deze film sowieso de moeite al waard.

Watch on YouTube

Ocean's Eleven | HBO Max | 1 februari

Mocht je deze week zin hebben in een lekkere heistfilm, dan ben je bij HBO Max aan het juiste adres. Danny Ocean (George Clooney) is de gevangenis nog niet uit of hij is zijn volgende misdaad al aan het bekokstoven. Hij verzamelt een team van tien doorgewinterde criminelen om drie grote casino’s in Las Vegas te beroven en doopt de groep ‘Ocean’s Eleven’. De film is een remake van de gelijknamige Rat Pack-klassieker uit 1960 en zit met onder anderen Clooney, Brad Pitt, Andy Garcia, Don Cheadle en Julia Roberts, net zo boordevol sterren als het origineel.

Watch on YouTube
▼ Volgende artikel
Allereerste Rayman komt mogelijk opnieuw uit
Huis

Allereerste Rayman komt mogelijk opnieuw uit

De allereerste Rayman uit de jaren negentig wordt mogelijk ruim dertig jaar na release opnieuw uitgebracht.

In Australië is er namelijk een leeftijdsclassificatie opgedoken voor een game genaamd 'Rayman 30th Anniversary Edition' voor PlayStation 5 en Nintendo Switch. Dat is opmerkelijk, want een dergelijke editie van de game is nog helemaal niet aangekondigd op moment van schrijven.

De game zou uitgebracht worden door Atari. Hoewel Rayman officieel eigendom is van Ubisoft, brengt Atari wel vaker klassieke games van andere bedrijven opnieuw uit. Denk aan Mortal Kombat: Legacy Kollection. Ook U&I Entertainment - het bedrijf dat diverse fysieke edities van games van zowel Atari als Ubisoft publiceert - zou betrokken zijn bij het project.

Eerdere geruchten rondom Rayman

Er gaan al langer geruchten over de comeback van de Rayman-franchise. Ubisoft gaf in 2024 nog aan de Rayman-franchise te "verkennen", en kort daarna gingen er geruchten over een mogelijke remake van de allereerste game. Mogelijk zijn de plannen rondom Rayman intern bij Ubisoft inmiddels echter al veranderd, aangezien het bedrijf onlangs een forse reorganisatie aankondigde.

De Rayman-franchise

Rayman kwam in 1995 uit op PlayStation, Saturn, pc en Jaguar. De 2D-platformer die werd bedacht door voormalige Ubisoft-topontwikkelaar Michel Ancel staat bekend als een klassieker, waarbij kleurrijke en originele omgevingen gecombineerd worden met uitdagende platformactie. De jaren daarna kwamen er diverse vervolgen uit waarbij de franchise naar drie dimensies overstapote.

In 2011 blies Ubisoft de reeks nieuw leven in met Rayman Origins, waarmee een tekenfilmachtige stijl werd geïntroduceerd en de franchise terugkeerde naar twee dimensies. Twee jaar later werd vervolg Rayman Legends uitgebracht, dat inmiddels al meermaals is uitgebracht.

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.