K.2 Cálculos

O ajuste do tamanho da janela de TCP baseia-se em vários fatores, incluindo a velocidade do link e a latência da rede. Para o nosso objetivo relacionado aos produtos PlateSpin, a opção inicial de tamanho da janela de TCP para o ajuste baseia-se nos cálculos padrão (amplamente disponíveis na Internet e em outros lugares) da seguinte maneira:

WinSizeInBytes=((LINK_SPEED(Mbps)/8)*DELAY(sec))*1000*1024

Por exemplo, para um link de 54 Mbps com 150 ms de latência, o tamanho da janela inicial apropriado é:

(54/8)*0,15*1000*1024 = 1.036.800 bytes

Para um link de 1000 Mbps com 10 ms de latência, o tamanho da janela inicial apropriado é:

(1000/8)*0,01*1000*1024 = 1.280.000 bytes

Para obter um valor de latência da rede, use ping no prompt de comando (Windows) ou no terminal (Linux). Embora o RTT (Round-Trip Time – Tempo de Ida e Volta) do ping seja seguramente diferente do que a latência real, o valor obtido é próximo o suficiente para uso nesse método.

Veja a seguir um exemplo de saída de um comando ping do Windows, em que a latência é observada na média como 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

Veja a seguir um exemplo de saída de um comando ping do Linux, em que a latência é observada na média como 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

Na prática, você deve usar a opção -n ou -c para especificar um número maior de pacotes de ping para medir o valor da latência de maneira mais próxima.