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
Zo speel je Windows-games op een Mac
© vladim_ka - stock.adobe.com
Huis

Zo speel je Windows-games op een Mac

Niet alle pc-games zijn officieel uitgebracht voor macOS, maar er zijn verschillende manieren waardoor je alsnog Windows-games kunt spelen op een Mac of MacBook. We leggen je uit hoe je dat doet.

In dit artikel lees je:

  • Waarom Macs niet standaard alle spellen ondersteunen
  • Op welke manieren je ze alsnog op een Mac kunt spelen
  • Dat je de spellen wel eerst zelf in bezit moet hebben

Lees ook: Creëer je ideale gameroom met deze accessoires

Apple voorziet zijn Macs en MacBooks de laatste jaren van eigen M-chips, wat ze een stuk krachtiger maakt dan voorheen. Hoewel ze daarmee genoeg capaciteit in huis hebben om de meest veeleisende games te draaien, zullen niet alle games native op macOS werken. Dat komt doordat macOS nu eenmaal een compleet ander besturingssysteem is dan Windows. 

Macs met Apple Silicon-processors ondersteunen bijvoorbeeld geen 32-bit-apps, waardoor een oudere Mac met Intel-chip bepaalde games wél kan draaien, terwijl een gloednieuwe Mac die niet ondersteunt. Voor ontwikkelaars is het bovendien niet rendabel om games voor macOS uit te brengen, bijvoorbeeld omdat er minder gamers op het platform te vinden zijn. 

Je hoeft echter niet meteen naar de winkel te rennen voor een Windows-pc, want er zijn wel degelijk verschillende manieren waarop je alsnog Windows-games op je Mac kunt spelen.

Windows-games spelen op een Mac(Book)

Er zijn genoeg mogelijkheden om Windows-games te spelen op een Mac, maar welke je kiest, hangt af van het type game dat je wilt spelen. Op AppleGamingWiki is een lijst te vinden van een hoop pc-games, waarbij per titel wordt vermeld of die native op een Mac draait en via welke andere tools de game te spelen is. Niet alle tools werken namelijk in combinatie met elk spel. 

Tools zoals CrossOver en Whisky

CrossOver is een van de meest gebruikvriendelijke tools om Windows-games te spelen op een Mac. De tool is gemaakt door CodeWeavers en stelt gebruikers in staat om Microsoft-apps op een Mac te draaien. CrossOver kan dus niet alleen games draaien, maar ook andere Windows-software zoals productiviteitstools. Het grote nadeel van CrossOver is dat de tool 74 euro per jaar kost om te gebruiken. Wel is er een gratis proefperiode beschikbaar. 

Een minder gebruiksvriendelijk, maar gratis alternatief is Whisky. Er is een hoop overlap tussen de twee tools, omdat Whisky en CrossOver dezelfde onderliggende technologie gebruiken: Wine (wat staat voor Wine is not an emulator). Toch is het een stuk lastiger om een Windows-game via Whisky op een Mac te laten draaien. De tool is een stuk technischer ingesteld en geeft de gebruiker meer controle, maar is daardoor ook moeilijker te doorgronden. Op de website van Whisky is een lijst met ondersteunde games te vinden.

Parallels

Een andere (betaalde) optie is Parallels. Dat is een programma dat een volledig Windows-besturingssysteem simultaan naast macOS kan draaien. De virtuele machine binnen macOS maakt het mogelijk om Windows 11 of Windows 10 te installeren, waardoor je vervolgens Windows-games en andere Windows-apps kunt downloaden. Deze tool is minder geschikt voor grafisch intensieve games, aangezien er twee besturingssystemen naast elkaar worden gedraaid.

Belangrijk om te weten is dat je de pc-games wel echt in je bezit moet hebben als je ze via de bovenstaande tools wilt spelen, zoals op Steam of een ander gameplatform. Ook werken niet alle games even goed met bovenstaande tools.

Ook interessant: Zo kun je je geld terugvragen op Steam

©Gorodenkoff

Stream je games naar je Mac

Grote techbedrijven als Nvidia en Microsoft hebben hun eigen clouddiensten voor games uitgebracht, waardoor het mogelijk is om pc-games naar je Mac te streamen. Met diensten als GeForce Now en Xbox Cloud Gaming kun je eenvoudig pc-games spelen, zonder dat enige technische kennis vereist is.

Diensten als Nvidia GeForce Now en Xbox Cloud Gaming maken het mogelijk om Windows-games te spelen zonder dat je over geschikte hardware beschikt. De game draait dan niet lokaal op je Mac, maar op een externe server. De beelden worden vervolgens naar je beeldscherm gestreamd. 

GeForce Now is gratis te gebruiken, al gelden er dan beperkingen en worden er advertenties getoond. Er zijn ook abonnementen beschikbaar met extra mogelijkheden vanaf 10,99 euro per maand. Niet alle games worden ondersteund, maar Nvidia heeft een lijst gepubliceerd met compatibele spellen. Bij Nvidia GeForce Now moet je de games eerst gekocht hebben, bijvoorbeeld op Steam, voordat je ze kunt streamen.

Xbox Cloud Gaming is beschikbaar met een Game Pass Ultimate-abonnement en maakt het mogelijk om games te spelen op een apparaat naar keuze, waaronder een Mac. Je bent hierbij afhankelijk van de Game Pass-bibliotheek, maar in het aanbod vind je ook een hoop titels die niet zijn uitgebracht voor Mac. Game Pass Ultimate kost 17,99 euro per maand.

Lees ook: Waar kun je het beste pc-games kopen? Een overzicht

▼ Volgende artikel
Waar voor je geld: 5 steelstofzuigers met een lange accuduur
Huis

Waar voor je geld: 5 steelstofzuigers met een lange accuduur

Bij ID.nl zijn we dol op kwaliteitsproducten waar je niet de hoofdprijs voor betaalt. Daarom speuren we een paar keer per week binnen een bepaald thema naar zulke deals. Ben je op zoek naar een handzame steelstofzuiger met een lange accuduur? We hebben vijf modellen voor je gevonden die je niet telkens hoeft op te laden.

Een steelstofzuiger biedt talrijke voordelen voor het moderne huishouden. Dankzij het lichte, slanke ontwerp is dit apparaat moeiteloos te hanteren, waardoor schoonmaken minder inspannend wordt. Doordat ze draadloos zijn, heb je volledige bewegingsvrijheid.

Steelstofzuigers zijn verder veelzijdig en kunnen zowel harde vloeren als tapijten goed reinigen. Door hun compacte formaat nemen ze minimale opslagruimte in beslag en passen ze gemakkelijk in kleine kasten. Moderne modellen beschikken over krachtige accu's met lange gebruiksduur en zijn doorgaans uitgerust met handige accessoires voor verschillende oppervlakken.

Veel steelstofzuigers fungeren als 2-in-1-apparaten, waarbij het handdeel losgemaakt kan worden voor het stofzuigen van meubels, trappen of de auto. Deze combinatie van gebruiksgemak, flexibiliteit en efficiëntie maakt de steelstofzuiger tot een onmisbaar huishoudelijk apparaat.

Bosch BBS712A

Deze Bosch - voluit de Unlimited 7 BBS712A genaamd - is een veelzijdige draadloze steelstofzuiger die geschikt is voor harde vloeren en tapijt. Hij weegt slechts 2,9 kg en heeft een flexibel buissysteem van 90 graden. De stofzuiger beschikt over een zogeheten TurboSpin-motor en een krachtige borstel met geïntegreerde led-verlichting, wat zorgt voor een grondige reiniging op alle oppervlakken. De 0,3 liter opvangbak is relatief klein, maar is eenvoudig te legen. Het apparaat wordt geleverd met diverse accessoires, waaronder een meubelborstel en een kierenzuigmond, en heeft een afneembare handstofzuiger voor moeilijk bereikbare plekken. Ook handig: bij deze Bosch krijg je twee accu's, waarmee je de standaard gebruikstijd kunt verdubbelen.

⏱ Opgegeven maximale gebruikstijd: 40 minuten (op basis van één accu)

Rowenta X-Force Flex / RH99A9

Deze Rowenta X-Force Flex is een krachtige en veelzijdige draadloze steelstofzuiger. Met een zuigkracht tot 200 Watt en een 32,4 V lithium-ion batterij levert hij goede prestaties op verschillende typen vloeren. Dankzij de automatische zuigkrachtaanpassing past het apparaat zich moeiteloos aan verschillende oppervlakken aan. Dankzij de flexibele buis en de ingebouwde led-verlichting wordt het eenvoudig gemaakt om onder meubels en in donkere hoeken te reinigen. Het digitale display toont real-time informatie over de resterende batterijduur en stelt je in staat om tussen vier vermogensniveaus te schakelen, inclusief een Boost-functie voor extra kracht. Het ruime 0,9 liter stofreservoir is gemakkelijk te legen en kan worden afgewassen. Voor huisdierbezitters is de meegeleverde Animal Turbo-borstel ideaal voor het verwijderen van dierenharen

⏱ Opgegeven maximale gebruikstijd: 70 minuten

Nilfisk Easy 2:1 36V

Deze veelzijdige draadloze steelstofzuiger heeft een geïntegreerde kruimelzuiger, gemaakt voor zowel grote als kleine schoonmaaktaken. Een krachtige 36V lithium-ion batterij biedt dit apparaat tot 80 minuten gebruikstijd, afhankelijk van de gekozen zuigstand. De stofzuiger beschikt over drie vermogensniveaus en een geluidsniveau van 77 dB, wat zorgt voor een stille en efficiënte reiniging. Dankzij de led-verlichting op de zuigmond worden donkere hoeken en onder meubels goed verlicht. Het stofreservoir heeft een capaciteit van 0,6 liter en is eenvoudig te legen en te reinigen. De Nilfisk Easy 2:1 36V wordt geleverd met diverse accessoires, waaronder een meubelborstel en een kierenzuigmond.

⏱ Opgegeven maximale gebruikstijd: 80 minuten

Beko VRT 61821VD

De Beko VRT61821VD is een veelzijdige 2-in-1 steelstofzuiger met geïntegreerde kruimelzuiger, geschikt voor zowel harde vloeren als tapijt. Met een krachtige 21,6 V accu biedt deze stofzuiger een goede zuigkracht. Dankzij het wasbare HEPA-filter is hij geschikt voor mensen met een stofallergie. De stofzuiger heeft een stofreservoir van 0,5 liter en wordt geleverd met een turbo- en kierenzuigmond. De led-verlichting op de zuigmond laat je goed zien wat je aan het doen bent. Met een gewicht van slechts 2,,8 kg is hij licht en wendbaar, en de oplaadtijd bedraagt slechts 5 minuten. De Beko VRT61821VD is ideaal voor dagelijks gebruik en biedt een efficiënte reinigingservaring.

⏱ Opgegeven maximale gebruikstijd: 70 minuten

Philips 7000-Serie Aqua XC7055/01

Deze Philips 7000 is multifunctioneel, want het kan zowel droog als nat reinigen. Hij is voorzien van een watermodule met microvezelpad. Het apparaat is uitgerust met een krachtige 25,2 V lithium-ion batterij die tot 80 minuten werktijd biedt in Eco-modus en 30 minuten in Turbo-modus. De digitale PowerBlade-motor zorgt voor een sterke luchtstroom tot 1100 liter per minuut, wat resulteert in uitstekende zuigkracht.

De XC7055/01 is voorzien van een digitaal display dat real-time informatie toont over batterijstatus en gekozen reinigingsmodus. Dankzij led-verlichting op de zuigmond en accessoires worden ook moeilijk zichtbare stofdeeltjes en vuil effectief opgespoord. Cyclonische filtering zonder stofzak zorgt voor efficiënte stofscheiding en eenvoudige reiniging van het reservoir van 0,6 liter. Bij het apparaat worden meerdere accessoires geleverd, waaronder een PrecisionPower Smart Nozzle met ZigZag-technologie, een Mini TurboBrush voor dierenharen, en diverse opzetstukken voor meubels en kieren.

Opgegeven maximale gebruikstijd: 80 minuten