Estoy trabajando en una empresa de ISP. Estamos desarrollando un comprobador de velocidad para nuestros clientes, pero estamos teniendo problemas con las pruebas de velocidad de TCP.Algoritmo de comprobador de velocidad de TCP pregunta
Un cliente tenía una duración de tiempo total de 102 segundos transfiriendo 100 MB con un tamaño de paquete de 8192. 100.000.000/8192 = 12.202 paquetes. Si el cliente envía un ACK cada dos paquetes que parece mucho tiempo simplemente transmitir los ACK. Supongamos que el cliente envía 6000 ACK y el RTT es de 15ms, eso es 6000 * 7.5 = 45,000ms = 45 segundos solo para los ACK.
Si utilizo este cálculo para Mbit/s:
(((sizeof_download_in_bytes/durationinseconds) /1000) /1000) * 8 = Mbp/s
voy a conseguir el resultado en MBP/s, pero entonces el más alto es el TTL es entre el remitente y el cliente menor será la Mbp/s la velocidad se convertirá.
Para simular que el usuario está más cerca del servidor, ¿sería "legal" eliminar el tiempo de respuesta de ACK en el resultado final en los Mbps? ¿Esto sería como simular que el usuario final está cerca del servidor?
Así que sería mostrar este cálculo para el usuario final:
(((sizeof_download_in_bytes/(durationinseconds - 45sec)) /1000)/1000) * 8 = Mbp/s
¿Eso es válido?
¿Cuál es el tamaño de su ventana? –