jueves, 4 de agosto de 2011

Windows: Mejorar la conexión a Internet.

Independientemente de la conexión de banda ancha que tengamos contratada y del tipo de conexión que establezcamos, por cable o inalámbrica, existen algunos comandos en Windows que podemos modificar para que nuestra conexión a Internet mejore.

Estas instrucciones deberemos ejecutarlas, como Administrador, en una consola de comandos.
Para ello abriremos el menú Inicio e iremos a "Todos los programas" -> "Accesorios" -> "Símbolo del sistema" o "Command Prompt". En "Símbolo del sistema" o "Command Prompt" deberemos pulsar el botón derecho del ratón y seleccionar la opción "Ejecutar como administrador".

Se nos abrirá una ventana como la siguiente:


Ahora ya podemos indicarle al sistema operativo las instrucciones que queremos que ejecute. Para ejecutar cualquier instrucción en la consola de comandos bastará con escribir el comando y pulsar la tecla "Enter".

Primero le indicaremos que nos muestre los parámetros globales, de las conexiones TCP, que tiene actualmente asignados. Podemos obtener dicha información con el siguiente comando: netsh int tcp show global



Los parámetros, en orden descendente, son los siguientes (cada vez que se ejecute un comando con éxito, el sistema, mostrará el mensaje de respuesta "Aceptar"):

Estado de ajuste de escala en lado de recepción

RSS (Receive-side Scaling), optimiza el procesado de los paquetes en la CPU cuando esta tiene 2 o más núcleos. Por defecto está activado si tu procesador es de doble núcleo, así que lo dejamos como está.

Estado de descarga Chimney

TCP Chimney Offload, permite que el hardware de la tarjeta de red se ocupe de tareas que normalmente realiza la CPU, dejándola libre para otras tareas. Por defecto está en modo automático, así que lo dejamos como está.

Estado de NetDMA

Direct Memory Access, evita utilizar la CPU para transferir datos entre la red y la memoria del sistema. Por defecto está activado, así que no lo tocamos.

Acceso directo a caché (DCA)

Direct Cache Access, permite al controlador de red entregar los datos directamente en la caché del procesador si la tarjeta y la CPU lo soportan. Por defecto está desactivado, así que podemos probar a activarlo con:

netsh int tcp set global dca=enabled

Si no estáis seguros de que el DCA sea soportado por vuestro hardware siempre podéis volver a deshabilitarlo con:

netsh int tcp set global dca=disabled

Nivel de ajuste automático de ventana de recepción

Indica la política que sigue el sistema para calcular los limites máximos del RWIN (ventana o buffer de recepción de datos de la red). Por defecto viene en modo normal, que es el más recomendable.

Proveedor de control de congestión de complementos

Este es el algoritmo con el que se calcula el RWIN óptimo de cada conexión. En el modo none que viene por defecto, al iniciar una transmisión se eleva progresivamente el RWIN hasta llegar al límite o detectar perdida de paquetes.

Existe otro modo, el ctcp (Compound TCP), un algoritmo que calcula el RWIN de forma más agresiva, lo que reduce el tiempo de arranque de la descarga. Este el parámetro más importante que podemos modificar, con resultados visibles en conexiones de más de 15 megas. Podemos activarlo con:

netsh int tcp set global congestionprovider=ctcp

Hay que ser muy cuidadosos con este parámetro puesto que, en función de nuestro ancho de banda y de la latencia de la misma, puede provocar que la conexión vaya mucho más lenta en lugar de mejorarla. Podéis probarlo reiniciando el sistema, una vez cambiado el parámetro, y ver que tal navegáis (con varias pestañas) y realizáis varias descargas en paralelo. Si comprobáis que la conexión va lenta podéis volver el proveedor a su estado original con:

netsh int tcp set global congestionprovider=none

Capacidad ECN

Explicit Congestion Notification detecta los paquetes marcados por el router como congestionados, sin esperar a que se produzca perdida de paquetes. En routers antiguos puede causar problemas si no lo soportan. Puedes averiguar si tu router lo soporta con este test (sólo funciona en Internet Explorer). Lo activamos con:

netsh int tcp set global ecncapability=enabled

Si no os funciona el test y no estáis seguros de que vuestro router soporte la capacidad ECN podéis obviar este comando o desactivarlo con:

netsh int tcp set global ecncapability=disabled

Marcas de tiempo RFC1323

Añade 12 bytes en cada paquete con una marca de tiempo. Se utiliza para calcular la latencia de la conexión, pero hace que aumente el overhead. Si está activo, podéis desactivarlo con:

netsh int tcp set global timestamps=disabled


Windows tiene capacidad para alterar los parámetros de autotuning. Desactivando la heurística le forzamos a que utilice los que le hemos indicado.

netsh int tcp set heuristics=disabled

Deshabilitar la heurística, en ocasiones, puede causar el efecto contrario al que buscamos; si esto es así basta con volverla a habilitar con:

netsh int tcp set heuristics=enabled


Recordad:

Es importante que sepáis los valores iniciales de cada parámetro por si tenéis que volver a dejarlos, todos o alguno, como estaban.

Estos comandos, probablemente, mejoren vuestra conexión a Internet y el modo en el que trabajan todas vuestras aplicaciones que requieran de dicha conexión pero no van a aumentar el ancho de banda ni a mejorar las capacidades físicas del router y/o componentes hardware de vuestro PC.


Saludos! ;)

3 comentarios:

  1. Hola, esta buena el articulo, no se si serás usuario de educa, pero tenes idea de como solucionar esto?? te dejo el link http://www.educapoker.com/foros/general/comunidad/programas-software/microcortes-jugando

    Salu2! Edu

    ResponderEliminar
    Respuestas
    1. Hola Edu,

      Normalmente los microcortes son problema de tu proveedor de servicios. Yo tuve ONO una vez y me pasaba exactamente eso hasta que me cambié de compañía.

      El router era bueno por lo que no podía ser del router.

      Espro haberte ayudado.

      Saludos!

      Eliminar