Tengo el mismo problema en mi conexión comercial 5Mbps que en otra publicación en este sitio. Tan pronto como cualquier computadora inicia una descarga, la latencia en el primer salto más allá de nuestro DFG proporcionado por nuestro ISP (Bell) se sale del gráfico. Este primer salto es probable en nuestro mismo edificio y es de 1 ms constantemente, inicia una descarga, por ejemplo, una actualización de Windows, y salta a 200-1000 ms.
He pasado horas en el teléfono con soporte, todos diciendo que ha alcanzado el ancho de banda máximo disponible, es normal que su latencia aumente. Pero mi lectura me dice que están rompiendo algo con TCP. He realizado pruebas en una conexión Shaw doméstica e incluso en un Rogers LTE que ejecuta descargas y alcanza los Mbps máximos para mi cuenta, pero la latencia no se dispara.
¿Estoy en lo cierto en mi entendimiento de que Bell está haciendo algo para romper las tecnologías incorporadas de TCP para administrar su velocidad en función del ancho de banda disponible entre los 2 puntos finales?
Respuestas:
Bell te está diciendo la verdad. Cuando intenta insertar 5Mbps (o más) en una conexión de 5Mbps, todo se archiva en un orden pequeño y ordenado (léase: cola). Su ping se apaga sin demora porque no hay retraso. La respuesta, sin embargo, ahora está al final de la cola. TCP está haciendo exactamente lo que se supone que debe hacer aquí: el remitente está llenando la ventana de recepción permitida.
Hay cosas que puede hacer a su lado de la línea (QoS, WRED, etc.) para ayudar a reducir los efectos, pero este es el tipo de cosas que verá cuando haya una gran diferencia entre el ancho de banda del remitente y el receptor. He vivido con él durante años (T1, DS3 de 6 Mbps, incluso cable módem de 10 Mbps). Puede pedirle al ISP que reduzca el tamaño de la cola de su lado, pero no es probable que lo hagan, ya que provocará la caída de paquetes .
fuente
La mayoría de las formas de "QoS" en estos días no incluyen AQM ya que a los proveedores les resultó demasiado difícil configurar RED automáticamente sin causar daño. Esto lleva a los horrendos retrasos que se ven en muchos dispositivos comunes hoy en día, en particular los módems de cable e inalámbricos. Así que simplemente recomendar "activar qos" ... no ayuda. De hecho, al menos en uno de los productos de Netgear, activar el limitador de velocidad para "QoS" conduce a resultados mucho peores ...
Recientemente ha aparecido un nuevo algoritmo de colas justas + AQM que parece funcionar extremadamente bien, y mejor, casi no requiere configuración además de establecer el limitador de velocidad. Se llama fq_codel, y ahora está ampliamente disponible en la mayoría de Linux y también se ha portado a BSD. Es parte de la "QoS" predeterminada en el interruptor de barrera openwrt, cerowrt y gárgola que usa una versión anterior (bastante buena) llamada sfqred con un innovador esquema de ajuste automático de velocidad llamado ACC.
Por lo tanto, puede cerrar un cuadro basado en esto frente a su enlace de mal comportamiento, activar su limitador de velocidad de QoS (establecido ligeramente por debajo de la configuración entrante y saliente de sus proveedores para que tome el control) + fq_codel, y obtenga un rendimiento mucho mejor para todos los que lo usan . Me refiero a asombrosamente mejor: vea la demostración de ietf a continuación, el informe al grupo de trabajo iccrg en ietf, etc.
Para obtener más detalles sobre el problema de bufferbloat y sus soluciones, consulte:
http://www.bufferbloat.net/projects/cerowrt/wiki/Bloat-videos
Estamos (por supuesto) tratando de convencer a varios proveedores de ISP CPE para que presten atención, al igual que cablelabs, que publicó un estudio maravilloso de estas nuevas cosas hace unos meses, que también contiene algunos detalles sobre el mal comportamiento actual de los módems de cable en particular.
http://www.cablelabs.com/downloads/pubs/Active_Queue_Management_Algorithms_DOCSIS_3_0.pdf
fuente
Lo que estás viendo es completamente típico. Muchos proveedores de servicios calificarán el límite y / o utilizarán un mecanismo de QoS para reducir la prioridad de ICMP (que incluye ping tradicional y traceroute), ya que a veces se ha utilizado en ataques de denegación de servicio.
Si bien un enlace no está congestionado, la prioridad reducida no afecta nada ya que no se está poniendo en cola el tráfico. Durante estos períodos, su latencia permanece baja porque los paquetes ICMP se enviarán de inmediato y no se retrasarán en absoluto.
Cuando el enlace está congestionado, las colas de mayor prioridad reciben más atención. Dependiendo del mecanismo de la cola, puede reenviar múltiples paquetes desde una cola de mayor prioridad para cada paquete desde una cola de menor prioridad o incluso reenviar solo cuando no hay nada en una cola de mayor prioridad. En cualquier caso, un paquete relegado a una cola de menor prioridad generalmente se retendrá más tiempo que en un enlace sin congestión, lo que aumenta la latencia.
fuente
Probablemente estés sufriendo de bufferbloat y quieras AQM (Active Queue Management). He escrito un script para Linux que hace que esto sea bastante fácil:
Simplemente guarde el script como
traffic-shaping
ychmod a+x
lo ejecute como root (después de leer el código fuente, obviamente).Para su caso de uso, sugeriría
fuente
linux-lowlatency
kernel para mantener el sistema preparado para procesar todos los paquetes.