Belangrijkste punten
- De TCP window size beperkt de doorvoersnelheid rechtstreeks op netwerken met hoge latentie, zelfs wanneer er voldoende bandbreedte beschikbaar is.
- TCP window scaling heft de beperkingen van het vroege protocol op en is onmisbaar voor efficiënte prestaties op moderne WAN- en cloudverbindingen.
- Door doorvoersnelheid, round-trip time en effectieve window size met elkaar te vergelijken, herkent u prestatieproblemen die door het protocol worden veroorzaakt en voorkomt u een verkeerde diagnose.
Trage bestandsoverdrachten kunnen door allerlei systeem- en netwerkproblemen worden veroorzaakt. Eén oorzaak wordt vaak over het hoofd gezien: de window size van het Transmission Control Protocol (TCP), die de doorvoersnelheid rechtstreeks beperkt op verbindingen met hoge latentie. In deze gids leest u hoe de TCP window size werkt en waarom die de netwerkprestaties beïnvloedt.
Wat is de TCP window size?
TCP is een transportprotocol dat zorgt voor een betrouwbare en veilige levering van gegevens tussen systemen via een IP-netwerk. Omdat de uitwisseling in real time plaatsvindt, moet de ontvanger de gegevens bevestigen. Die gegevens worden in delen verstuurd, de zogeheten windows (of segmenten).
De window size bepaalt hoeveel gegevens er over het netwerk verstuurd kunnen worden en wordt vastgelegd tijdens de TCP-handshake. Een snelle verzender kan een trage ontvanger overbelasten, wat tot datafouten en inconsistenties leidt. De window size helpt het tempo van de gegevensoverdracht af te stemmen op de capaciteit van de ontvanger.
Dat gezegd hebbende, kost wachten op een bevestiging tijd bij lange verbindingen of verbindingen met hoge latentie. Is het window te klein, dan zit de verzender stil terwijl het netwerk meer gegevens aan zou kunnen. Daarom kunnen bestandsoverdrachten traag zijn, zelfs wanneer de bandbreedte prima lijkt.
Zo beperkt de TCP window size de doorvoersnelheid
De TCP window size werkt als een veiligheidsventiel dat gegevensoverdrachten stabiel houdt. Toch kan die ongewild de doorvoersnelheid beperken wanneer de parameters te streng zijn ingesteld.
Veel bandbreedte garandeert bijvoorbeeld nog geen hoge doorvoersnelheid, door latentie, packet loss of de TCP window size. Dat laatste wordt bij het oplossen van prestatieproblemen meestal over het hoofd gezien.
Idealiter stelt u de TCP window size proportioneel in, zodat gegevensoverdrachten vlot verlopen zonder voortdurende onderbrekingen.
Waarom TCP window scaling bestaat
Vroege TCP-implementaties beperkten de TCP window size tot ongeveer 64 KB vanwege een 16-bits windowveld. Die beperking voldeed op netwerken met lage latentie, maar werd een knelpunt naarmate bandbreedte en latentie verbeterden.
TCP window scaling vergroot de effectieve window size doordat systemen veel hogere waarden kunnen instellen. Zo verloopt de gegevensoverdracht efficiënt op netwerken met veel bandbreedte en hoge latentie, waaronder moderne WAN- en cloudomgevingen.
Samenspel met andere TCP-mechanismen
De TCP window size bepaalt samen met andere TCP-mechanismen de werkelijke prestaties van een gegevensoverdracht. Packet loss kan het effectieve window verkleinen en congestion control past het verzendgedrag aan op de netwerkomstandigheden.
Daarnaast kunnen sommige firewalls en middleboxes window scaling verstoren, waardoor de doorvoersnelheid onverwacht daalt. Moderne besturingssystemen stemmen de window size bovendien dynamisch af. De prestaties in de praktijk zijn dus het gecombineerde resultaat van al deze mechanismen en niet van de window size alleen.
Prestatieproblemen met de window size opsporen
Deze tabel geeft in één oogopslag de typische situaties weer waarin trage bestandsoverdrachten worden veroorzaakt door beperkingen van de TCP window size of door andere veelvoorkomende netwerkproblemen.
| Type netwerkprobleem | Typische symptomen | Waarschijnlijke oorzaak |
| Beperking door de TCP window size | Lage doorvoersnelheid op verbindingen met veel bandbreedte, soepele maar begrensde overdrachten en een lage benutting van de verbinding | Window size te klein om de round-trip time te compenseren |
| Hoge latentie | Trage overdrachten die maar nauwelijks verbeteren met meer bandbreedte en merkbare vertraging op verbindingen over lange afstand | Lange round-trip time tussen verzender en ontvanger |
| Packet loss | Wisselende snelheden, regelmatige vertragingen, hertransmissies, vastgelopen overdrachten | Verloren pakketten die TCP-hertransmissie en congestion control in gang zetten |
Wilt u bevestigen of de TCP window size de problemen veroorzaakt, bekijk dan de round-trip time naast de gemeten doorvoersnelheid en vergelijk die met de effectieve window size. Let op een lage benutting van de verbinding tijdens actieve overdrachten zonder packet loss en controleer of scaling is ingeschakeld en niet wordt geblokkeerd door firewalls of middleboxes.
Automatiseer de monitoring van netwerkprestaties
Door de monitoring van netwerkprestaties te automatiseren, herkennen teams snel patronen zoals plafonds in de doorvoersnelheid, latentiepieken en een lage benutting van de verbinding, die bij losse tests makkelijk over het hoofd worden gezien.
Zo voorkomen teams onnodige upgrades van bandbreedte en wordt een prestatieprobleem niet ten onrechte aan de netwerkinfrastructuur toegeschreven terwijl de beperking bij het protocol ligt.
Geïntegreerde IT Management tools zoals NinjaOne ondersteunen autonomous endpoint management en netwerkmonitoring. Daarmee leggen teams een verband tussen het gedrag van endpoints en de netwerkprestaties en sporen ze netwerk- en systeemproblemen snel en nauwkeurig op.
Gerelateerde onderwerpen:
