Pregunta

Requerimos que todas las solicitudes de descargas tengan un inicio de sesión válido (no http) y generamos tickets de transacción para cada descarga.Si fuera a uno de los enlaces de descarga e intentara "reproducir" la transacción, utilizamos códigos HTTP para reenviarlo y obtener un nuevo ticket de transacción.Esto funciona bien para la mayoría de los usuarios.Sin embargo, hay un pequeño subconjunto que utiliza aceleradores de descarga que simplemente intentan reproducir el ticket de la transacción varias veces.

Entonces, para determinar si queremos o incluso poder Admite aceleradores de descarga o no, estamos tratando de comprender cómo funcionan.

¿Cómo acelera el proceso de descarga tener una segunda, tercera o incluso cuarta conexión simultánea al servidor web que entrega un archivo estático?

¿Qué hace el programa acelerador?

¿Fue útil?

Solución

Obtendrá una descripción general más completa de los aceleradores de descarga en Wikipedia.

La aceleración es multifacética

Primero

Un beneficio sustancial de las descargas administradas/aceleradas es que la herramienta en cuestión recuerda las compensaciones de inicio/detención transferidas y utiliza encabezados "parciales" y de "rango" para solicitar partes del archivo en lugar de todo.

Esto significa que si algo muere a mitad de la transacción (es decir:TCP Time-out), simplemente se vuelve a conectar donde lo dejó y no es necesario empezar desde cero.

Por lo tanto, si tiene una conexión intermitente, el tiempo de transferencia agregado se reduce considerablemente.

Segundo

A los aceleradores de descarga les gusta dividir una única transferencia en varios segmentos más pequeños de igual tamaño, utilizando la misma mecánica de inicio, rango y parada, y realizarlos en paralelo, lo que mejora enormemente el tiempo de transferencia en redes lentas.

Existe una cosa molesta llamada producto de retardo de ancho de banda donde el tamaño de los buffers TCP en cada extremo hace algunos cálculos junto con el tiempo de ping para obtener la velocidad real experimentada, y esto en la práctica significa que tiempos de ping grandes limitarán su velocidad sin importar cómo Cuantos megabits/seg tienen todas las conexiones provisionales.

Sin embargo, esta limitación parece ser "por conexión", por lo que varias conexiones TCP a un único servidor pueden ayudar a mitigar el impacto en el rendimiento debido al tiempo de ping de alta latencia.

Por lo tanto, es menos probable que las personas que viven cerca necesiten realizar una transferencia segmentada, pero las personas que viven en lugares lejanos tienen más probabilidades de beneficiarse al volverse locas con su segmentación.

En tercer lugar

En algunos casos, es posible encontrar varios servidores que proporcionen el mismo recurso, a veces una sola dirección DNS realiza operaciones por turnos en varias direcciones IP, o un servidor es parte de una red espejo de algún tipo.Y los administradores/aceleradores de descargas pueden detectar esto y aplicar la técnica de transferencia segmentada en múltiples servidores, lo que permite al descargador obtener más ancho de banda colectivo.

Apoyo

Apoyar el primer tipo de aceleración es lo que personalmente sugiero como "mínimo" de apoyo.Principalmente porque facilita la vida de los usuarios y reduce la cantidad de transferencia de datos agregados que debe proporcionar debido a que los usuarios no tienen que buscar el mismo contenido repetidamente.

Y para facilitar esto, se recomienda que calcule cuánto han transferido y no caduque el ticket hasta que parezca "terminado" (mientras vincula el tráfico a la primera IP que usó el ticket), o un tiempo "razonable" determinado para la descarga ha pasado.es decir:deles una ventana de gracia antes de exigirles que obtengan un nuevo boleto.

Apoyar el segundo y el tercero le otorga puntos de bonificación y los usuarios generalmente desean al menos el segundo, principalmente porque a los clientes internacionales no les gusta que los traten como clientes de segunda clase simplemente por el mayor tiempo de ping y objetivamente no consume más. ancho de banda en cualquier sentido que importe.Lo peor que puede pasar es que podrían provocar que el rendimiento total sea indeseable para el funcionamiento de su servicio.

Es razonablemente sencillo ofrecer el primer tipo de beneficio sin permitir el segundo, simplemente restringiendo el número de transferencias simultáneas de un solo billete.

Otros consejos

Creo que la idea es que muchos servidores limiten o distribuyan uniformemente el ancho de banda entre las conexiones.Al tener múltiples conexiones, estás engañando al sistema y obteniendo más ancho de banda que tu parte "justa".

Se trata de ley de poco.Específicamente, cada transmisión al servidor web ve una cierta cantidad de latencia TCP y, por lo tanto, solo transportará una cantidad limitada de datos.Trucos como aumentar el tamaño de la ventana TCP e implementar ataques selectivos ayudan, pero están mal implementados y generalmente causan más problemas de los que resuelven.

Tener múltiples transmisiones significa que la latencia vista por cada transmisión es menos importante a medida que aumenta el rendimiento global.

Otra ventaja clave de un acelerador de descargas, incluso cuando se utiliza un solo hilo, es que generalmente es mejor que utilizar la herramienta de descarga integrada en el navegador web.Por ejemplo, si el navegador web decide dejar de funcionar, la herramienta de descarga continuará.Y la herramienta de descarga puede admitir funciones como pausar/reanudar que el navegador integrado no admite.

Según tengo entendido, un método que utilizan los aceleradores de descarga es abrir muchas conexiones TCP paralelas: cada conexión TCP solo puede ir a cierta velocidad y, a menudo, está limitada en el lado del servidor.

TCP se implementa de manera que si se produce un tiempo de espera, el período de tiempo de espera aumenta.Esto es muy eficaz para evitar sobrecargas de red, a costa de la velocidad de las conexiones TCP individuales.

Los aceleradores de descarga pueden solucionar esto abriendo docenas de conexiones TCP y reduciendo las que se ralentizan por debajo de cierto umbral, y luego abriendo otras nuevas para reemplazar las conexiones lentas.

Si bien es efectivo para un solo usuario, creo que es una mala etiqueta en general.

Estás viendo que el acelerador de descargas intenta volver a autenticarse usando el mismo ticket de transacción; recomendaría ignorar estas solicitudes.

De: http://askville.amazon.com/download-accelerator-protocol-work-advantages-benefits-application-area-scope-plz-suggest-URLs/AnswerViewer.do?requestId=9337813

Cita:La forma más común de acelerar las descargas es abrir descargas paralelas.Muchos servidores limitan el ancho de banda de una conexión, por lo que abrir más en paralelo aumenta la velocidad.Esto funciona especificando un desplazamiento que debe comenzar una descarga que sea compatible tanto con HTTP como con FTP.

Por supuesto, esta forma de aceleración es bastante "antisocial".La limitación de ancho de banda se implementa para poder atender a una mayor cantidad de clientes, por lo que al utilizar esta técnica se reduce la cantidad máxima de pares que pueden descargar.Esa es la razón por la que muchos servidores limitan el número de conexiones paralelas (reconocidas por IP), p.e.Muchos servidores FTP hacen esto, por lo que tienes problemas si descargas un archivo e intentas continuar navegando usando tu navegador.Técnicamente se trata de dos conexiones paralelas.

Otra técnica para aumentar la tasa de descarga es una red peer-to-peer donde diferentes fuentes, p.e.limitados por DSL asíncrono en el lado de carga se utilizan para la descarga.

La mayoría de los 'aceleradores' de descargas realmente no aceleran nada en absoluto.Lo que hacen bien es congestionar el tráfico de la red, dañar su servidor y romper scripts personalizados como ha visto.Básicamente, cómo funciona es que en lugar de hacer una solicitud y descargar el archivo de principio a fin, hace cuatro solicitudes... la primera se descarga del 0 al 25 %, la segunda del 25 al 50 %, y así sucesivamente. y los hace todos al mismo tiempo.El único caso particular en el que esto ayuda es si su ISP o firewall realiza algún tipo de configuración del tráfico de modo que la velocidad de descarga individual se limite a menos que su velocidad de descarga total.

Personalmente, si esto le está causando algún problema, le diría que simplemente ponga un aviso de que los aceleradores de descarga no son compatibles y que los usuarios los descarguen normalmente o usando solo un hilo.

Generalmente no lo hacen.

Para responder al fondo de su pregunta, se supone que el servidor limita la velocidad de descargas por conexión, por lo que la descarga simultánea de varios fragmentos permitirá al usuario aprovechar al máximo el ancho de banda disponible en su extremo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top