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
ChatGPT krijgt advertenties in gratis versie en goedkoopste abonnement
© Robert - stock.adobe.com
Huis

ChatGPT krijgt advertenties in gratis versie en goedkoopste abonnement

OpenAI gaat advertenties tonen in ChatGPT - voor nu alleen nog in de Verenigde Staten, al is het mogelijk dat dit uiteindelijk wereldwijd uitgerold wordt.

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.

De populaire AI-tool ChatGPT wordt wereldwijd door vele miljoenen mensen gebruikt, dus advertenties konden eigenlijk niet uitblijven. OpenAI gaat de komende weken dan ook tests in de Verenigde Staten beginnen rondom advertenties, zo schrijft het bedrijf. Aangezien het om een test gaat, lijkt het haast vanzelfsprekend dat ze uiteindelijk ook wereldwijd ingezet gaan worden, al heeft OpenAI hier nog geen duidelijkheid over gegeven.

Over de advertenties in ChatGPT

De advertenties zullen onder het antwoord die de AI-tool op vragen van de gebruiker geeft verschijnen. Daarbij benadrukt OpenAI dat de advertenties niet de antwoorden van de tool zullen beïnvloeden, en dat minderjarige gebruikers de advertenties voor nu nog niet zullen zien.

View post on X

Daarnaast houdt ChatGPT ook rekening met de onderwerpen die in de AI-tool worden besproken. Bij gevoelige onderwerpen, zoals mentale gezondheid en politiek, zullen de advertenties vooralsnog niet verschijnen. Daarbij is het de bedoeling dat de advertenties gerelateerd zijn aan het onderwerp dat besproken wordt.

ChatGPT Go

De reclames verschijnen alleen in gesprekken van gratis gebruikers en het Go-abonnement. ChatGPT Go is het goedkoopste betaalde abonnement van de AI-tool en kost 8 euro per maand. ChatGPT Go werd vorig jaar al in specifieke markten beschikbaar gesteld, en is sinds enkele dagen wereldwijd beschikbaar. Verder zijn er nog de duurdere Plus-, Pro-, Business- en Enterprise-abonnementen. Daar zullen geen advertenties op verschijnen.

Zoals gezegd is deze test met advertenties voor nu alleen nog maar voor de Verenigde Staten bedoeld. OpenAI heeft nog niets gecommuniceerd over wanneer we ze in andere landen, zoals in Nederland, te zien gaan krijgen. Hieronder is een voorbeeld te zien van hoe advertenties er op ChatGPT uit kunnen gaan zien.

▼ Volgende artikel
Processor kiezen: welke CPU past het best bij jouw gebruik?
© Andrey Popov
Huis

Processor kiezen: welke CPU past het best bij jouw gebruik?

Staat de aanschaf van een nieuwe laptop of desktop op de planning, maar verdwaal je in de jungle van technische termen zoals Core i5, Ryzen, cores en kloksnelheden? Bij het kiezen van de juiste processor moet je zien te voorkomen dat je betaalt voor rekenkracht die je nooit gebruikt, of juist eindigt met een trage computer die jouw werktempo niet kan bijbenen.

De processor, ook wel de CPU genoemd, is het kloppend hart van je computer. Een verkeerde keuze kan leiden tot een trage laptop of juist een onnodig dure aankoop. Of je nu alleen mailtjes verstuurt of vaak zware video's bewerkt, voor elk type gebruiker is er een geschikte chip. In dit artikel leggen we uit welke processorspecificaties passen bij jouw dagelijkse werkzaamheden.

Basisgebruik en kantoorwerkzaamheden

Voor dagelijkse taken zoals internetten, e-mailen en lichte tekstverwerking heb je geen zware krachtpatser nodig. Een instapmodel processor volstaat hier prima. Als je naar specificaties kijkt, kom je hier vaak uit bij de Intel Core i3- of de AMD Ryzen 3-serie. Deze chips zijn doorgaans energiezuinig, wat gunstig is voor de accuduur van een laptop, en ze houden de aanschafprijs laag. Ze zijn snel genoeg om soepel door Windows te navigeren, bankzaken te regelen of films en series in Full HD te streamen. Voor studenten die alleen verslagen typen of thuisgebruikers die de computer erbij pakken voor de administratie, is dit segment de meest logische keuze.

Multitasking en lichte fotobewerking

Wie meer van zijn computer vraagt, bijvoorbeeld door tientallen tabbladen tegelijk open te hebben staan of regelmatig foto's te bewerken, komt uit bij de middenklasse. De Intel Core i5 en AMD Ryzen 5 zijn veruit de populairste keuzes voor de gemiddelde consument. Deze processors bieden een uitstekende balans tussen prijs en prestaties. Ze beschikken vaak over meer rekenkernen dan de instapmodellen, waardoor je zonder vertragingen kunt multitasken. Dit type processor is ideaal voor de thuiskantoorwerker die zware Excel-sheets draait terwijl Spotify en Teams op de achtergrond openstaan, of voor de hobbyfotograaf die met programma's als Adobe Photoshop Elements aan de slag gaat.

©Photo Sesaon

Gaming en zware videobewerking

Voor de veeleisende gebruiker die video's in 4K-resolutie monteert, complexe 3D-modellen rendert of de nieuwste games op hoge instellingen speelt, is brute rekenkracht noodzakelijk. In dit segment kijken we naar de high-end modellen zoals de Intel Core i7 en i9, of de AMD Ryzen 7 en Ryzen 9. Deze processors beschikken over veel rekenkernen en hoge kloksnelheden om heel intensieve taken in korte tijd af te ronden. Voor gamers en creatieve professionals is het wel belangrijk om te onthouden dat de processor hier vaak hand in hand moet gaan met een krachtige, losse videokaart voor de beste resultaten.

De rol van Apple Silicon

Gebruikers die de voorkeur geven aan het macOS-besturingssysteem hebben te maken met een andere indeling. Apple produceert tegenwoordig eigen chips, de zogenaamde M-serie. De basischips, zoals de M4 of de nieuwe M5, zijn extreem krachtig en vergelijkbaar met de hogere middenklasse van Intel en AMD, geschikt voor bijna alle dagelijkse en creatieve taken. Voor professionals die echt het uiterste vragen, zoals professionele videobewerkers, zijn er de Pro- en Max-varianten van eerdergenoemde chips. Deze leveren prestaties die concurreren met de krachtigste desktop-pc's, maar dan in een energiezuinige verpakking.

Populaire merken voor processors

Als je op zoek bent naar een processor voor een Windows-computer, kom je vrijwel altijd uit bij de twee grote marktleiders: Intel en AMD. Intel is al decennia een begrip met de bekende Core-reeks, die staat voor betrouwbaarheid en sterke prestaties per rekenkern. AMD is de grote uitdager die met de Ryzen-processors een indrukwekkende inhaalslag heeft gemaakt, waarbij ze vaak uitblinken in multi-core prestaties voor een zeer scherpe prijs. Daarnaast mag Apple niet onvermeld blijven in dit landschap. Met de introductie van hun eigen Apple Silicon-chips hebben zij de markt voor Mac-computers volledig veranderd door zeer hoge prestaties te combineren met een extreem laag energieverbruik en minimale warmteontwikkeling.