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
Streamen én spelen: zo werkt Netflix Games op TV
© ID.nl | mock-up
Huis

Streamen én spelen: zo werkt Netflix Games op TV

Je kent Netflix vooral van series en films, maar de streamingdienst waagde zich een paar jaar geleden al aan een eigen catalogus van mobiele games. Nu zet Netflix een volgende stap: het bedrijf test een manier om spellen rechtstreeks op je smart tv of via Netflix.com te streamen. Binnen een aantal landen, waaronder Nederland, zijn de eerste titels nu speelbaar. Hoe werkt dit, wat heb je nodig en welke games kun je verwachten?

Op dit moment is Netflix Games op TV een bètatest in een handvol landen zoals de Verenigde Staten, Canada, het Verenigd Koninkrijk en ons eigen land. Zie je op je televisie of in de browser een speciale rij met games, dan zit jouw account in de testgroep.

Lees ook: De geheime codes van Netflix: zo ontdek je verborgen genres en films

Zo speel je games op je tv

Gamen op je tv werkt verrassend eenvoudig: je kiest een spel en scant vervolgens de QR‑code op het scherm met je telefoon. Via de link installeer je de Netflix‑app of de Netflix Game Controller‑app en log je in. Daarna gebruik je je telefoon als controller; je hoeft geen dure gameconsole of extra hardware aan te schaffen. De enige vereisten zijn een stabiele internetverbinding (bij voorkeur 10 Mbps of meer) en een ondersteunde smart‑tv (van bijvoorbeeld Samsung, Sony of LG) of streamingkastje zoals Amazon Fire TV of Chromecast met Google TV.

Wat kun je spelen?

Het huidige aanbod bestaat uit tien zeer uiteenlopende titels. Je kunt de rustige simulator Cozy Grove: Camp Spirit verkennen, waarbij je spookberen helpt, of de paranormale thriller Oxenfree spelen, waarin een groep tieners een geheimzinnig portaal ontdekt. Voor puzzelfans is er Link Twin, een hersenkraker waarbij een tweeling synchroon door levels beweegt. Ook leuk is Underwatermelon: Fruit Merge, een casual puzzelgame voor twee spelers. Liever ouderwetse actie? Dan zijn de moderne Atari‑remakes Centipede Recharged en Caverns of Mars Recharged beschikbaar.

©Netflix screenshot

Speciaal voor de feestdagen

Daar blijft het niet bij: Netflix heeft voor het komende feestseizoen een nieuwe reeks partygames aangekondigd. In LEGO Party! neem je het met vrienden op in minispellen en ga je op goudjacht in thematische Challenge Zones. Boggle Party is een woordspel waarin tot acht spelers in een race tegen de klok de langste woorden proberen te vinden. Pictionary: Game Night moeten de anderen raden wat je tekent. Tetris Time Warp voert je met de vertrouwde blokjes door verschillende tijdperken, van de originele versie uit 1984 tot de GameBoy‑variant. In Party Crashers: Fool Your Friends heeft één speler geen idee heeft waar de anderen het over hebben maar doet alsof hij het wél weet; het is aan de groep om deze speler te ontmaskeren. Al deze titels gebruik je met je telefoon als controller en zijn ontworpen voor meerdere spelers tegelijk. In de loop van de tijd zullen er meer games aan het aanbod worden toegevoegd.

©Netflix

Plussen en minnen

Deze tv‑games hebben duidelijke voordelen: je speelt zonder reclame of in‑app‑aankopen en je hoeft geen aparte console aan te schaffen. De bediening via je smartphone is laagdrempelig en al je voortgang wordt automatisch opgeslagen in de cloud. Er zijn ook nadelen: de resolutie is beperkt tot 720p en je moet telkens opnieuw een QR‑code scannen om te starten. Bovendien is de bèta-fase nog niet voor iedereen beschikbaar.

Meer dan streamen alleen

De stap naar games op tv maakt Netflix voor veel kijkers net wat veelzijdiger. Geen downloads, geen aparte hardware: gewoon spelen via je bestaande abonnement. Of je nu zin hebt in een snelle puzzel of een avondje lachen met vrienden, de kans is groot dat er straks iets voor jou tussen zit.

Mobiele Netflix‑games

Netflix biedt sinds 2021 al tientallen exclusieve games voor smartphones en tablets. Die mobiele titels – inmiddels meer dan tachtig – download je via de Netflix‑app op Android of iOS. Er zijn geen advertenties, in‑app‑aankopen of extra kosten, en ze zijn inbegrepen bij elk type abonnement. Je kunt kiezen uit uiteenlopende genres, van puzzels tot grote titels als Grand Theft Auto: San Andreas – Definitive Edition.

▼ Volgende artikel
Google en Samsung komen met nieuwe Galaxy XR-headset met Android-software
Huis

Google en Samsung komen met nieuwe Galaxy XR-headset met Android-software

Samsung onthult de Galaxy XR, het eerste product gebouwd op het nieuwe Android XR-platform, ontwikkeld in samenwerking met Google en Qualcomm Technologies, en toont de toekomst van ontdekken, spelen en werken.

De Galaxy XR is een headset die je op je hoofd draagt en de echte wereld om je heen laat zien in combinatie met virtuele elementen die daaraan worden toegevoegd. Het bijzondere is dat het apparaat wordt aangestuurd door kunstmatige intelligentie, waardoor het veel natuurlijker moet aanvoelen dan de eerdere VR-brillen. Je kunt tegen de XR praten, gebaren maken en naar dingen kijken om opdrachten te geven. Het apparaat begrijpt wat je bedoelt zonder dat je ingewikkelde commando's hoeft te geven.

Comfortabel dragen

Samsung heeft bij de bril goed nagedacht over het comfort. De headset verdeelt het gewicht gelijkmatig over je hoofd, zodat je geen pijnlijke drukpunten krijgt. De batterij zit apart van de headset zit, waardoor het gedeelte op je hoofd lichter blijft. Er is ook een afneembaar schild dat licht van buitenaf kan blokkeren als je helemaal in een virtuele wereld wilt duiken, maar die je ook kunt weghalen als je meer bewust wilt blijven van je omgeving.

Wat is er allemaal mogelijk?

Met Google Maps kun je in 3D door kaarten navigeren en vragen stellen aan de ingebouwde AI (Gemini) over plaatsen in de buurt. Als je iets interessants ziet in de werkelijke wereld, kun je er een cirkel omheen tekenen met je hand (Circle to Search) en krijg je meteen informatie over dat object. Op YouTube kun je niet alleen video's kijken, maar ook vragen stellen aan de AI over wat je ziet. Handig als je meer wilt weten over het onderwerp van de video.

De Galaxy XR heeft een superscherp beeldscherm dat aanvoelt als je eigen privébioscoop. Sportfans kunnen meerdere wedstrijden tegelijk bekijken alsof ze in het stadion zitten.

Voor gamers is er de mogelijkheid om games te spelen die speciaal voor de headset zijn gemaakt. Je kunt zelfs tijdens het spelen tips vragen aan de AI om beter te worden.

Voor de creatievelingen zijn er tools zoals Project Pulsar van Adobe, waarmee je video's op een nieuwe manier kunt bewerken. Je kunt diepte toevoegen aan beelden en tekst of plaatjes toevoegen aan je video's in een driedimensionale ruimte.

©Samsung

Techniek onder de motorkap

De Galaxy XR wordt aangedreven door een krachtige Snapdragon XR2+ Gen 2 die zorgt voor vloeiende beelden en snelle reacties. Het scherm heeft een zeer hoge resolutie (3.552 x 3.840 pixels), waardoor alles er haarscherp uitziet. De headset heeft verschillende camera's en sensoren die je bewegingen en de omgeving in de gaten houden. Er zijn camera's die naar buiten kijken om de wereld te zien, camera's die je ogen volgen om te weten waar je naar kijkt, en sensoren die de positie van je hoofd en handen registreren. Voor geluid zijn er twee luidsprekers (een voor lage en een voor hoge tonen) en zes microfoons die je stem duidelijk kunnen opvangen, zelfs in een rumoerige omgeving. De batterij gaat ongeveer 2,5 uur mee als je video's kijkt.

Ook serieuze toepassingen

Samsung ziet ook serieuze toepassingen voor deze technologie. In samenwerking met Samsung Heavy Industries wordt gewerkt aan virtuele trainingen voor scheepsbouwers, waardoor werknemers veiliger kunnen leren zonder gevaarlijke situaties.

Er wordt ook samengewerkt met andere bedrijven om zakelijke toepassingen te ontwikkelen, zoals oplossingen voor vergaderingen op afstand of het samen ontwerpen van producten in een virtuele ruimte.

De toekomst: slimme brillen

Samsung denkt ook al verder vooruit. Naast deze headset werken ze samen met Google, Warby Parker en Gentle Monster aan slimme brillen. Deze zullen er uitzien als gewone brillen, maar hebben wel slimme technologie ingebouwd. Zo kun je straks misschien gewoon op straat lopen met een normale bril die je toch extra informatie kan geven over wat je ziet.

Beschikbaarheid en prijzen

De Galaxy XR is vanaf 21 oktober voorlopig alleen nog te koop in de Verenigde Staten en Zuid-Korea. In Nederland en België is het apparaat voorlopig niet verkrijgbaar. Samsung heeft nog geen adviesprijs bekendgemaakt voor de Nederlandse markt. Gebruikers die aan de slag willen met de Galaxy XR, moeten minimaal 13 jaar oud zijn.