C’t Magazine

Betere overdracht

Windows: hoe Microsoft het IP-verkeer sneller maakt

- Martin Winkler

Microsoft heeft met de Anniversar­y Update voor Windows 10 en Windows Server 2016 zonder veel tamtam meteen vijf nieuwe features in de netwerksta­ck geïmplemen­teerd. Ze dienen allemaal om nog net iets meer uit je internetve­rbinding te persen.

Microsofts updates voor de jongste besturings­systemen Windows 10 en Windows Server 2016 voegen allerlei verfijning­en toe waarover de community zijn zegje al uitgebreid gedaan heeft. Minder bekend is dat de updates ook gevolgen hebben voor de netwerkper­formance.

Het betreft vijf nieuwe functies voor de TCP-stack (Transmissi­on Control Protocol): TCP Fast Open, Initial Congestion Windows 10, TCP Recent ACKnowledg­ment, Tail Loss Probe und TCP LEDBAT.

Alle vijf verbeteren ze het gedrag bij het opvragen van internetda­ta door de latentie te verkorten – oftewel de tijd tussen het activeren van een proces tot het uitvoeren van het gewenste effect. Interessan­t is dat het bij drie functies om goedgekeur­de RFC-specificat­ies gaat, maar dat TCPRecent ACKnowledg­ement en Tail Loss Probe (TLP) nog experiment­ele concepten zijn.

Kortere latency

Browsers moeten voor het laden van een website veel TCP-verbinding­en opbouwen. Voor elke afzonderli­jke verbinding is een driewegs-handshake nodig (zie de afbeelding rechtsbove­n op de volgende pagina). Bij normale TCP-stacks worden de nuttige gegevens pas na de handshake verstuurd. Bij één afzonderli­jke TCP-overdracht vormt dat niet zo'n probleem. Je hebt dan nog steeds het gevoel dat de overdracht vrijwel direct van start gaat. Bij veel websites stapelen de vele afzonderli­jke latency's zich echter op, zodat je het effect wel gaat merken: de pagina wordt langzamer opgebouwd.

De latentie bedraagt voor elke traditione­le TCP-verbinding 1,5 RTT's (Round Trip Time). RTT is een relatieve waarde die afhankelij­k is van de afstand tussen de client en de server waarop het benodigde page-element staat. Je kunt die waarde bijvoorbee­ld meten met het ping-commando – daarmee wordt aangegeven hoeveel tijd er zit tussen het moment dat de ping wordt verzonden en het antwoord dat van de gepingde server afkomt. Met een breedbanda­ansluiting moet je een nabijgeleg­en server in 40 à 50 ms kunnen bereiken, met een glasvezela­ansluiting in zo'n 20 ms. Servers op grotere afstand antwoorden binnen 100 (VS) tot 300 ms (Azië).

Met TCP Fast Open kun je driewegsha­ndshakes voorkomen die herhaaldel­ijk naar dezelfde server worden gestuurd. Daarvoor moet een server na de eerste keer verbinding te hebben gemaakt een cryptograf­isch veilige (d.w.z. zo min mogelijk voorspelba­re) cookie naar de client sturen (TCP Fast Open Cookie). Die dient voor clients als sleutel om latere TCP-initialisa­ties met dezelfde server te versnellen: ze moeten het dan met het SYN-pakket meesturen. Een server die een geldige cookie krijgt, wacht dus niet eerst de SYN-ACK-afhandelin­g af, maar maakt gebruik van de reeds opgebouwde TCPverbind­ing. Op die manier kunnen nuttige data meteen worden verzonden, hetgeen 1 RTT bespaart. Cookies worden periodiek om de zoveel seconden of minuten opnieuw gemaakt. De oudere worden dan ongeldig, waardoor replay-aanvallen door middel van onderschep­te cookies moeilijker worden.

Extra gebruikers­data zoals cookies worden in principe in SYN-, SYN-ACK- en ACK-pakketten verstuurd. Een typisch

 ??  ?? Microsoft heeft in de Anniversar­y Update voor Windows 10 en Server 2016 (beschikbaa­r vanaf begin augustus) heel wat nieuwe functies gestopt – daaronder zitten ook functies die het internetve­rkeer versnellen.
Microsoft heeft in de Anniversar­y Update voor Windows 10 en Server 2016 (beschikbaa­r vanaf begin augustus) heel wat nieuwe functies gestopt – daaronder zitten ook functies die het internetve­rkeer versnellen.

Newspapers in Dutch

Newspapers from Netherlands