Copie Ficheros más Rápido a través de una Red Local por Gabriel García

Al copiar ficheros de gran tamaño a través de una red local (LAN), Vista auto-negocia el tamaño de la ventana de recepción TCP entre el host y el cliente. En algunos casos, como en redes muy saturadas o archivos de gran tamaño y cuando digo “gran tamaño” me refiero a ficheros de más de 1GB, se pueden producir problemas inesperados o desconexiones.


Para remediar este asunto, y aumentar un poco la velocidad de transferencia entre el host y cliente, podemos deshabilitar la función de “auto-tuning” de Windows. Haremos uso del comando “netsh” en una ventana de línea comando abierto en modo administrador.


clip_image001


Una vez abierta la ventana de “cmd”, usamos el comando “netsh int tcp set global autotuninglevel=disabled” (sin las comillas), para deshabilitar la función de auto-tuning.


clip_image003


Una vez ejecutado el comando debemos reiniciar nuestro ordenador para que los cambios tengan efecto. Esto resolverá los problemas de desconexión y a su vez puede que incremente un poco la velocidad de transferencia en ficheros de gran tamaño.


clip_image004
Antes


clip_image005
Después


Auto-tuning aumenta la utilización del ancho de banda en redes locales. Esto es muy bueno para redes de gran capacidad, pero en aquellas de tipo domestico o muy saturadas nos puede generar problemas. Se puede usar el protocolo de “Calidad de Servicio” (QoS), para dar prioridad a los servicios que mas requieran del ancho de banda.


Para volver a habilitar la función de “auto-tuning”, hacemos uso del comando “netsh int tcp set global autotuninglevel=normal” y volvemos a reiniciar nuestro ordenador.


Si seguimos teniendo problemas de transferencia de ficheros o desconexión, debemos tener en cuenta que en una red local, al igual que en cualquier otro sistema informático, estamos expuestos a similares vulnerabilidades asociadas a su concepción “un sistema sobre otro sistema”. Si un eslabón falla, los demás también.

12 comentarios sobre “Copie Ficheros más Rápido a través de una Red Local por Gabriel García”

  1. Al copiar ficheros de gran tamaño a través de una red local (LAN), Vista auto-negocia el tamaño de la ventana de recepción TCP entre el host y el cliente. En algunos casos, como en redes muy saturadas o archivos de gran tamaño y cuando digo “gran tamaño

  2. guau que avance, se tarda mas en reiniciar para deshabilitarlo que el tiempo que va a mejorar luego con ello…

    mejor os tirabais por un puente antes de escribir semejantes payasadas

  3. Si se va a tardar mas en deshabilitar y reiniciar que el tiempo que va a mejorar pa que hacerlo no? (por lo que pone en las fotos una mejora enoooooooorme de 20 segundos menos)

    grandísimo avance de Windows Vista si señor..pffff

    Bobada de post ostias

  4. Gracias por el apunte. No he tenido problemas con la transferencia de archivos grandes de momento, pero si pasa, es bueno conocer una solución de antemano :D.

  5. No me parece ninguna tontería un ahorro de 20 segundos, creo que no estas familiarizado con transferencia de datos. Lo veo muy útil en mis servidores y el traspaso de transacciones grandes entre servidores de aplicaciones y datos. 20 seg en una pueden ser a la larga muchos segundos.

  6. Ahí ahí, copiapegando de otros sitios le hacéis unos favores a Microsoft que quitan el hipo..

    Si hablamos de red local como standard los 100Mbps, y no conseguimos copiar un archivo de un 1GB en menos de 2 minutos diría que tu sistema operativo es un auténtica basura campeón..echa cuentas… al final hacéis buenos a los «pobres» linuxeros, o peor aún, a los de XP..

    Wi®

  7. ¡Qué atrevida es la ignorancia!.

    Este artículo se hace eco de un elemento que (como cualquier tecnología Microsoft) también se presenta en otros Blogs a raiz del RFC1323 que trata entre otras cosas sobre a opcíon de «Windows Scale»

    http://tools.ietf.org/html/rfc1323

    Cualquier Sistema Operativo que implemente por defecto esta técnología (entre los que se incluye Linux y Windows Vista) presentan exactamente el mismo problema que el planteado aquí, que es la posibilidad de que ficheros de gran tamaño tarden demasiado en copiarse.

    Para aquellos de «Linux» que tengan este mismo problema de lentitud en transferencias de ficheros también pueden dshabilitar Windows Scaling (aunque de nuevo es mucho más sencillo en Windows Vista):

    http://lwn.net/Articles/92727/

    Window Scale es un sistema que permite ampliar la ventana TCP de 65.535 bytes a 1 Gigabyte para tranferencia eficaz de ficheros de gran tamaño en entornos fiables (como una LAN), para ello ambas partes de la comunicación deben soportarlo (es negociado dentro de los segmentos TCP SYN). Os puedo colocar un par de capturas de red de Wireshark para que lo veais más detenidamente.

    El problema basicamente se ofrece por culpa de que ciertos Routers y Firewalls modifican dinamicamente la ventana de TCP para adaptar el tráfico a sus necesidades haciendo que el sistema de Window Scaling no funcione como debiera, aumentando drásticamente el número de paquetes perdidos en la comunicación.

    En Windows Vista para la mejora de las transferencias de ficheros se incluye (a parte del «Window Scale») el sistema SMB2.0

    http://download.microsoft.com/download/a/e/6/ae6e4142-aa58-45c6-8dcf-a657e5900cd3/%5BMS-SMB2%5D.pdf

    Un saludo a todos, algunos viejos conocidos…

  8. otro salao sin ni puta idea de REDES metido a baratero….

    ya me dirás tu que router gestiona ventanas de transmisión de 1GB cmo pones tu ahí (con que leas algo de cisco systems o teldat te llegará en vez de copiapegar), 65535 bytes son 64KB y el aumento máximo de la ventana (hasta donde yo sé) es poner 4096 que da como resultado una ventana de transmisión de 128KB (y en condiciones óptimas esto).

    Este es un problema de Windows Vista, no del 99.9% de los routers del planeta que si saben gestionar y eficientemente el tamaño de las ventanas de transmisión en función de SUS necesidades. A ver si va a resultar que porque Microsoft trate de «innovar» no va a tener que atenerse a lo que ya hay en el mercado..

    La diferencia es que esto lleva corregido en Linux desde hace algún que otro añito (vía shell incluso)..

  9. @Centos

    Ya has dejado claro en más de una ocasión que eres el tonto del blog, no es necesario que sigas insistiendo, ya sabemos que eres tonto y que tus padres fueron incapaces de inculcarte un mínimo de educación.

  10. #CentOS

    Deberías informarte antes de escribir. Lo de insultar, va a parte….
    Las modificaciones que le puedas realizar a la pila TCP/IP (En especial a lo referente en este artículo), las puedes realizar desde Windows 2000 en adelante. Lo que pasa es que en Vista es mucho más fácil de configurar. Si necesitas meterte «más a fondo» lo tienes que realizar desde el registro. Sabes lo que es el registro CentOS?
    Te dejo lectura para estas navidades!
    http://support.microsoft.com/kb/224829
    http://en.wikipedia.org/wiki/Transmission_Control_Protocol

    Estos Links son de la Wikipedia y de Spectra. Así que como sé ya que vas a contestar que pueden ser links manipulados por nosotros, te paso otro Link….

    http://www.psc.edu/networking/projects/tcptune/

    Y recuerda CentOS… Desde Windows 2000….
    Feliz Navidad!!

  11. Ya que hablas de Copy-Paste (algo de lo que yo no soy amigo como habrás podido comprobar si sigues mis artículos), no voy a ser yo quién te conteste sino un “copy-paste” del propio RFC:

    RFC1323:
    «The TCP header uses a 16 bit field to report the receive window size to the sender. Therefore, the largest window that can be used is 2**16 = 65K bytes»

    Aclaración 1:
    Amos, que el tamaño de ventana de un segmento TCP convencional es un campo de 16 bits lo que da un máximo de 65.535 bytes (algo que Windows Vista «tunea» con el Windows Scale en función de tipo de red)

    RFC1323:
    «The window scale extension expands the definition of the TCP window to 32 bits»

    Aclaración2:
    Window Scale aumenta el tamaño de ventana a 32 bits. Nuestro amigo CentOS ha sacado su calculadora a relucir y ha comprobado que si el tamaño de ventana es de 32 bits, el máximo tamaño sería de 2^32 bytes (4096MB, no 1GB como yo he indique en mi comentario ni 128 KB como el dice en el suyo), pero entonces ¿Estoy reconociendo una errata? pues va a ser que no, continuamos con el RFC

    RFC1323:
    “the maximum window is guaranteed to be < 2*30 if S <= 14. Thus, the shift count must be limited to 14 (which allows windows of 2**30 = 1 Gbyte). If a Window Scale option is received with a shift.cnt value exceeding 14, the TCP should log the error but use 14 instead of the specified value.” Aclaración3: Esta última parte del RFC la he acortado porque tiene una explicación más compleja, el caso es que el máximo modificador admitido por Window Scale es “14” lo que significa que el tamaño de ventana máximo es 30 bits y no de 32 lo que da como resultado 2^30 bytes (1GB como indiqué en mi comentario), esto se saca de la operación 2^14 * 2^16 siendo 14 el modificador. Y dado que nuestro amigo CentOS parece amigo del mundo “CISCO” vamos a dejarle un par de Links para que se documente: http://www.cisco.com/application/pdf/paws/71613/iosfw-tcp-scaling-ts.pdf
    http://www.cisco.com/en/US/products/hw/vpndevc/ps2030/products_tech_note09186a0080742d6e.shtml

    Lo dicho, cualquier sistema que implemente Window Scaling presenta el mismo problema y Linux no es una excepción (por ejemplo en el kernel 2.6.17 ocho meses antes de la salida de Windows Vista al mercado).

    http://articles.techrepublic.com.com/5100-10878_11-6174075.html

    Todo esto demuestra que ponerse como nick el nombre de una conocida “distribución” de Linux no significa forzosamente tener una buena base informática.

  12. Hola mis amigos, sinceramente me atreva a opinar como muchos de aca. pero no esta tan mal. no hay que quedarnos mirando lo mucho que se mejoro la descarga de archivos. mas vien sigan mirando mas al comandito ese. por ejemplo, sabian que con ese comando podemos desactivar el firewall del sistema operativo sin necesidad de reiniciar la pc y de tocar al REGEDIT del sistema???
    netsh firewall set opmode enable/disable

    todo aporte que demos por mas estupido que paresca tiene algo de bueno. att tcdaza. un abrazo a todos y siguamos aportando estupideces con entusiasmo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *