In deze blogpost gaan we dieper in op de latency en het belang van een lage latency voor uw verbinding.
In onze blogpost “Zakelijke verbindingen vs normale verbindingen” hebben we het begrip “latency” al kort aangehaald. Dit omdat met name de latency bepalend is voor het snelheidsgevoel én de daadwerkelijke snelheid van uw verbinding. Aan de hand van een voorbeeld zullen we dit toelichten.
Stel; u wilt vanaf uw computer (computer A) achter een verbinding data versturen naar een computer (computer B) aan de andere kant van een verbinding. Uw computer zet hiervoor een TCP-verbinding op naar computer B. Iedere computer adverteert een zogeheten window-size van 16.384 bytes en een MTU-grootte van 1460 bytes.
Computer A start het verzenden naar computer B. Uitgaande van een MTU-grootte van 1460 bytes en een window-size van 16.384 bytes kan computer A deze 11 pakketten versturen voor hij moet wachten op een bevestiging (16.384 / 1.460)
Stel dat de latency 10ms bedraagt. Dan kan computer A 16.384 bytes versturen en moet hij 10ms wachten voor hij weer 16.384 bytes kan versturen.
Per seconde is dit dus maximaal 1.600KB ofwel ongeveer 1,5MB / sec.
Hierbij maakt het niet uit of de verbinding een 2,3Mbit SDSL is of een 100Mbit glasvezel. Deze beperkingen worden veroorzaakt door de implementatie van het TCP-protocol en de latency. Kortom, latency heeft een grote invloed.
Als de latency in dit voorbeeld zakt van 10ms naar slechts 4ms wordt de hoeveelheid data die per seconde verstuurd kan worden al 4000KB ofwel bijna 4MB / sec. Het is dus van groot belang een verbinding te nemen met een zo laag mogelijke latency.
Mogelijkheden om deze inefficiëntie te verhelpen zijn bijvoorbeeld:
- TCP Window scaling. Hierbij wordt de Window-size verhoogd waardoor er in één keer meer data verstuurd kan worden. Dit wordt in de praktijk automatisch toegepast door de meeste besturingssystemen.
- Meerdere TCP sessies. Wanneer er 10 sessie gelijktijdig opgebouwd worden zal de bandbreedte ook 10 x hoger worden. Sommige applicaties bouwen zelf al meerdere sessies op.
- Ander protocol. TCP verwacht een bevestiging. wanneer er gebruik gemaakt wordt van een protocol wat geen bevestiging vereist (zoals UDP) zal de bandbreedte fors toenemen.
- Caching. Dit zorgt ervoor dat de data korter bij de gebruiker komt en er dus (waarschijnlijk) een lagere latency zal zijn. Dit is voor actieve content echter geen oplossing omdat dan verouderde data uit de cache komt.
Latency wordt door gebruikers als zeer vervelend ervaren, met name wanneer de gebruikers werken in de cloud, een terminal-server op een andere vestiging of bij branche-specifieke applicaties. Sommige applicaties vereisen een extreem lage latency. Bijvoorbeeld bij veilingen, zoals de Koop-op-Afstand (KOA) applicatie op bloemenveilingen. Hierbij kan een hoge latency tot gevolg hebben dat de ingekochte partij bloemen duurder zal zijn dan de klok aangaf op het moment van afdrukken.
Wanneer u meer wilt weten hoe wij over zakelijke verbindingen denken; kunt u onze blogpost “Zakelijke verbindingen vs normale verbindingen” lezen.
Het feit dat latency beperkend werkt op het gebruik van de bandbreedte is in 2014 al op de website Network World beschreven door Brian Heder, U kunt zijn engelse post lezen op https://www.networkworld.com/article/690882/are-your-pipes-too-big.html
Meer technische achtergrond informatie over latency kunt u hier vinden: http://compnetworking.about.com/od/speedtests/a/network_latency.htm