J.2 Calculs

Le réglage de la taille de fenêtre TCP est basé sur un certain nombre de facteurs, notamment la vitesse de liaison et la latence réseau. Pour nos besoins concernant les produits PlateSpin, le choix initial de taille de fenêtre TCP pour le réglage est basé sur des calculs standard (disponibles sur Internet et ailleurs) comme suit :

WinSizeInBytes=((LINK_SPEED(Mbit/s)/8)*DELAY(sec))*1 000*1 024

Par exemple, pour une liaison de 54 Mbit/s et une latence de 150 ms, la taille de fenêtre initiale appropriée est de :

(54/8)*0,15*1 000*1 024 = 1 036 800 octets

Par exemple, pour une liaison de 1000 Mbit/s et une latence de 10 ms, la taille de fenêtre initiale appropriée est de :

(1 000/8)*.01*1 000*1 024 = 1 280 000 octets

Pour obtenir une valeur de latence réseau, utilisez ping à partir de l'invite de commande (Windows) ou du terminal (Linux). Bien que le temps d'aller-retour (RTT) ping soit sans doute différent de la latence réelle, la valeur obtenue est suffisamment proche pour l'utiliser dans cette méthode.

L'exemple suivant est un résultat de commande ping Windows pour lequel la latence observée est en moyenne de 164 ms :

ping 10.10.10.232 -n 5

Pinging 10.10.10.232 with 32 bytes of data:
Reply from 10.10.10.232: bytes=32 time=154ms TTL=61
Reply from 10.10.10.232: bytes=32 time=157ms TTL=61
Reply from 10.10.10.232: bytes=32 time=204ms TTL=61
Reply from 10.10.10.232: bytes=32 time=153ms TTL=61
Reply from 10.10.10.232: bytes=32 time=153ms TTL=61

Ping statistics for 10.10.10.232:
    Packets: Sent = 5, Received = 5, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 153ms, Maximum = 204ms, Average = 164ms

Voici un exemple de résultat d'une commande ping Linux pour laquelle la latence observée est en moyenne de 319 ms :

ping 10.10.10.232 -c 5

PING 10.10.10.232 (10.10.10.232) 56(84) bytes of data.
64 bytes from 10.10.10.232: icmp_seq=1 ttl=62 time=0.328 ms
64 bytes from 10.10.10.232: icmp_seq=2 ttl=62 time=0.280 ms
64 bytes from 10.10.10.232: icmp_seq=3 ttl=62 time=0.322 ms
64 bytes from 10.10.10.232: icmp_seq=4 ttl=62 time=0.349 ms
64 bytes from 10.10.10.232: icmp_seq=5 ttl=62 time=0.316 ms

--- 10.10.10.232 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3998ms
rtt min/avg/max/mdev = 0.280/0.319/0.349/0.022 ms

Dans la pratique, vous devez utiliser l'option -n ou -c pour spécifier un nombre élevé de paquets ping afin de mieux mesurer la valeur de latence.