La causa más común de una variación significativa del tiempo de ping en Wi-Fi no es en realidad la interferencia (incluido un medio RF ocupado), sino el modo de ahorro de energía 802.11.
Los clientes inalámbricos ahorran energía al dormir sus receptores de radio entre paquetes (o entre ráfagas de paquetes). Una vez que un cliente duerme su receptor, no lo vuelve a activar hasta que tiene otro paquete para enviar, o hasta que el AP debe enviar al menos la siguiente trama de baliza (a veces los clientes dormirán durante más de un intervalo de baliza ) La mayoría de los puntos de acceso por defecto para el envío de balizas una vez cada 100 Kiμsec (100 Kibi ( Ki lo- Bi narios) microsegundos = 102400 microsegundos = 102,4 ms = un poco menos frecuente de 10 balizas por segundo), por lo que un cliente que le gusta dormir por el resto de el intervalo de baliza actual agregará 51.2 ms de latencia, en promedio, a cualquier ping de una vez por segundo.
Además de eso, un cliente generalmente mantendrá su receptor despierto por un breve momento después de una transmisión o recepción de paquetes, para ver si está en medio de una explosión que haría que valiera la pena mantener el receptor despierto.
Creo que si profundizamos en el intervalo de baliza de su AP y la estrategia de ahorro de energía 802.11 de su cliente, es posible explicar su variación de tiempo de ping por cómo los diferentes pings de una vez por segundo se alinearon con el tiempo de baliza de su red. Por ejemplo, tal vez el ping en una ventana se alineó de manera tal que la solicitud de ping salió un par de ms antes de la baliza, por lo que el cliente se despertó para la respuesta solo 2-3ms más tarde; mientras que la solicitud de ping de la otra ventana se apagó justo después de la baliza, por lo que el cliente ya estaba dormido cuando la respuesta de ping llegó al AP, por lo que el AP tuvo que hacer cola para ese cliente la próxima vez que el cliente estaba despierto, lo que puede ser una o dos balizas después.
Hay dos formas fáciles de probar esta teoría. Cualquiera de estos debería funcionar:
Reduzca su intervalo de ping a una décima de segundo en lugar del valor predeterminado de un segundo completo, de modo que tenga un ping cada intervalo de baliza. Eso mantendrá a la mayoría de los receptores despiertos todo el tiempo.
ping -i 0.1 192.168.0.1
Ajuste las propiedades avanzadas de su controlador 802.11 para deshabilitar el modo de ahorro de energía 802.11.