Saca el máximo rendimiento de tu conexión a Internet
Introducción:
¿Quien no se ha quejado de que su conexión
a Internet es lenta? ¿pero hemos hecho algo para mejorarla? Aunque muchos de
los aspectos de la velocidad de nuestra conexión quedan fuera de nuestro
alcance, si podemos optimizar el conjunto PC / Modem / Cableado de línea en
casa. Mejorar el rendimiento de tu conexión a Internet no es complicado
siguiendo estos pasos:
Iniciación: Cómo conocer la velocidad real de tu modem.
Para que sepas realmente la velocidad a
la que te conectas. Muchas veces el icono de conexión te engaña...
Solución de problemas comunes.
Soluciones para los problemas típicos
que disminuyen el rendimiento.
Afinando hacia los
problemas de conexión.
Acercándonos a la máxima velocidad
posible, que causas recortan nuestra velocidad de conexión.
"Fine Tuning": Hacia
el máximo rendimiento!!
Después de mejorar la velocidad de conexión, maximizar la velocidad de transferencia.
Zona Pro:
Ajustar ciertos parámetros del
protocolo TCP/IP en nuestro ordenador para compatibilizarlo al máximo con
nuestro servidor. Estos cambios requieren mas destreza y saber un poco "que
estamos tocando" y el riesgo que conlleva... CON EL REGISTRO DE SISTEMA NO
SE JUEGA!!
Software
salvador!!:
Estos programas nos facilitaran la tarea de
modificar algunos de los aspectos del sistema mas complicados (no todos) para
evitar que por error nos carguemos el registro, por ejemplo!
Iniciación: Cómo conocer la velocidad real de tu modem.
Si pinchas en el icono de conexión de la barra de tareas te dará un valor "Conectado a xx.xxx bps", que se corresponde con la velocidad inicial al conectar. Esta velocidad no siempre es la velocidad de
conexión entre tu modem y el de tu servidor, a veces es la velocidad ente el puerto y el modem. ¿Como saberlo? Si la velocidad te da valores como 19200, 28800, 57600, 115200, que son las típicas entre el puerto y el módem, probablemente el icono te este
mintiendo. Valores como 33600, 49000, 50667 etc... si estarán indicando un valor real de
conexión modem a modem.
Si sospechas que tu icono te engaña (jejeje) prueba en propiedades del modem, en el cuadro "configuraciones adicionales" a añadir la cadena S95=45. Si el icono sigue indicando una velocidad de puerto en vez de real, prueba a sustituir esa cadena (S95=45) por W2 o bien W1.
Estos comandos varían el control sobre el mensaje "Conectado" del
modem para conseguir la velocidad de portadora (la real) y no la de comunicación
entre el puerto serie y el modem.
(Para modificar/añadir dicha cadena desconéctate de Internet, y para probarla vuelve a conectar)
Solución de problemas comunes
¿ Si tengo un modem de 56Kflex porque solo puedo conectarme a 33.600 bps ?
¿ Si tengo un modem
X2 porque solo puedo conectarme a 33.600 bps ?
Esto quiere decir que tu proveedor no soporta la norma 56Kflex / X2 y te conectara siempre al
estándar inferior,
V.34 a 33.600bps. Lo normal es que tu proveedor soporte la norma
V.90, actual estándar
en comunicaciones a 56Ks.
Tras el consiguiente desarrollo en normas de comunicación por parte de los fabricantes de
módems, llegaron las velocidades de 56.000bps, pero como dos tipos diferenciados de funcionamiento, defendido por las dos empresas punteras en desarrollo de
módems:
La norma 56Kflex, desarrollada por
Rockwell, y la norma X2, desarrollada por
US Robotics. Debido a esta lucha por establecer cada uno su propia normativa de comunicaciones, se
empezó a trabajar en una única norma de comunicación estándar a 56.000bps. Mientras, cada una de las anteriores marcas
comenzó a vender sus módems 56Ks, cada uno con su norma. Por ello, a la hora de comprarse un modem y aprovechar estas nuevas velocidades era importante saber que protocolo utilizaba el proveedor de servicios y que el modem fuera de esa misma normativa. Es decir, si el proveedor de Internet usaba la norma K56flex, el modem que compraras
debía soportar dicha norma. (Creo que la 56Kflex fue la mas extendida de las dos)
Hasta que finalmente se llego al estándar, la norma V.90 a 56Ks.
Actualmente, casi todos los proveedores soportan V.90. Hay que tener en cuenta que no solo soportan V.90, si no
también muchos de los estándares anteriores. Es decir, si tu modem no soporta V.90 pero si V.34 (33.600), el proveedor te dara el servicio a dicha velocidad.
También puede ocurrir que soporten aun alguna de las normas anteriores no estándar, 56Kflex o X2.
Un ejemplo claro: Euskaltel evoluciono su soporte, además de los estándares anteriores y
básicos (V.34 a 33.600bps) al 56Kflex y mas tarde al V.90. Si mi modem es un V.90, conectara con Euskaltel con la norma V.90. Si no es V.90 y si es 56Kflex, conectara a 56Kflex. Y el modem de cualquier otra norma conectara al
estándar mas básico, a V.34. Euskaltel no ha ofrecido ni ofrece soporte para los modem X2, que se conectaran a V.34.
Básicamente, el rendimiento en velocidad va relacionado con el desarrollo y el tiempo, esta seria la escala para Euskaltel:
V.34 a 33.600bps > 56Kflex a 56.000bps > V.90 a 56.000bps
(El rendimiento de la norma V.90 es superior a la 56Kflex aunque vayan a la misma
"velocidad" de 56kbps.)
Afinando hacia los
problemas de conexión:
Si ya sabes que tu proveedor y tu modem soportan la norma V.90 y sigues conectando a baja velocidad, sigue leyendo...
¿Que provoca que nos conectemos a velocidades mas bajas de 56.000bps si usamos V.90 y esta es soportada por nuestro proveedor?
En primer lugar, la velocidad de conexión
por línea telefónica básica con módems de 56.000bps esta recortada legalmente por la FF.CC. a 52.000bps para evitar interferencias entre
líneas.
Pero ¿porque alcanzo velocidades aun inferiores a los 52.000 bps ?
Pueden influir muchos parámetros, el mas conocido es el ruido en la línea provocado por interferencias, seguido por el estado y la longitud de la
línea telefónica en la distancia comprendida entre el punto de salida de nuestro modem hasta el modem de nuestro ISP. En todos los módems de 56k te advierten que si de tu casa a la central más próxima hay más de 3
Km. es probable que no puedas usar la norma V.90 de 56k y la velocidad se limite a la norma
anterior, la V.34, de 33600.
Es generalmente en este tramo de línea (modem a centralita) donde se producen interferencias y problemas: por
Ej., por cercanía a la línea de ondas de radio, generadores de baja frecuencia, aparatos de
radiotelefonía, TV, aparatos generadores de electromagnetismo...
Lo único que podremos hacer nosotros al respecto es revisar el estado del cableado en nuestra casa, haciendo lo mas corto posible el trayecto del cable
telefónico que va al modem, apartando aparatos eléctricos de dicho cable, o quitando
teléfonos supletorios poco utilizados que también provocan una línea "impura"
Según sea el estado de tu línea telefónica tu velocidad ira cayendo de esos magníficos
52.000bps para condiciones perfectas, a velocidades como 40.000bps. A titulo personal, la mejor velocidad a la que consigo conectar bastante habitualmente es 50.667bps, otras veces cae a 49.333bps,
también dependiendo de la hora del día y de la saturación de las líneas, que indudablemente
también ensucia la comunicación de tu modem con el modem de tu servidor.
"Fine
Tuning": Hacia
el máximo rendimiento!!
Si aun conectándote a buenas velocidades, la velocidad de navegación o de descarga es lenta
habrá que tener en cuenta mas factores, como el ancho de banda que te da tu proveedor, la
saturación del servidor o de la red en general, la situación geográfica, etc...
También hay ciertos parámetros en tu ordenador que marcan las comunicaciones bajo el protocolo TCP/IP, y que
variándolos podríamos obtener mejoría en la velocidad. Empecemos por los mas sencillos:
* Lo primero,
si nuestro proveedor soporta la norma V.90, y nuestro modem puede ser
actualizado por software a V.90, consultar al servicio
técnico del fabricante en su web sobre como actualizarlo. Entonces bajarse la actualización
y flashear el modem (Consulta siempre con el servicio técnico antes!!!)
*Instalar los drivers
más actualizados para tu modem, podrás bajártelos de la pagina del fabricante.
*Configuración
del modem: En propiedades de modem (Panel de control>Modems>selecciona el tuyo>Propiedades),
pestaña"Conexión", hacer clic sobre "Avanzada":

Dejar marcados "Utilizar control de errores" y "Comprimir datos", "Utilizar control de flujo" y "Hardware RTS/CTS":

Después entrar en "Configuración avanzada de puerto", marcar "Usar búferes FIFO" y seleccionar los valores máximos (todo a la derecha) en ambos búferes:

*Configuración
de la conexión: En las propiedades de la conexión
que uses (Mi PC>Accesso telefónico a redes>clic derecho sobre la conexión>propiedades>pestaña
Tipo de servidor) marcar "Habilitar la compresión por software" y como protocolos de red admitidos marcar solo "TCP/IP"
Pinchar seguidamente en "Configuración TCP/IP" y marcar "Utilizar compresión en encabezado IP"

*Configuración del puerto serie: Ir a Panel de
control>Sistema>Pestaña "Administrador de dispositivos">Puertos (COM y LPT), seleccionar "Bits por segundo" al
máximo y "control de flujo" a "Hardware"
Todo lo aquí indicado son parámetros no
accesibles a un usuario normal de Windows, y requiere tener conocimientos un
poco mas profundos sobre como funcionan las comunicaciones de tu ordenador. Sin
embargo, si lees atentamente y anotas los resultados, con uno de los programas
que recomiendo podrás cambiar todos estos parámetros fácilmente sin necesidad
de ser un "artista" de las redes...
* Cambios que realizaremos en la configuración
TCP/IP: Primero
ajustaremos el tamaño de la ventana de recepción TCP o RWIN, que es el
parámetro que mayor relevancia tiene a la hora de mejorar el rendimiento, después
ajustaremos el tamaño del MTU al
máximo valor que nos permita sin provocar la fragmentación de paquetes, y ajustaremos el
TTL del paquete para ajustarlo al tamaño de la red Internet.
RWIN (Tamaño de la ventana de recepción) Este valor determina la cantidad de datos "en ruta" que puede haber desde un servidor hasta tu ordenador. Si es demasiado grande, la posibilidad ralentizar la transferencia aumenta, al ser posible perder paquetes por sobrecarga de datos en los búferes de los servidores y en tu propio modem. Si es demasiado pequeña no habrá perdida de paquetes por sobrecarga, todo lo contrario, pero no aprovecharemos del todo el ancho de banda del que disponemos. Es una especie de "control de velocidad" que debe ser ajustado al valor optimo. El tamaño de RWIN por defecto que trae Windows son unos generosos RWIN=8192, excesivos para la capacidad y ancho de banda de un modem V.90. Aquí tienes una tabla de valores con diferentes valores máximos y recomendados para diferentes módems: (siempre múltiplos de 536)
| Modem | Máximo | Recomendado |
| 28.8K | 3216 | 2144 |
| 33.6K | 3752 | 3216 |
| 56 K | 5360 | 4824 |
Para empezar a probar rendimientos con tu modem V.90, prueba con valores entre 2144 y 4824. Es
cuestión de prueba/error, sabiendo que el valor por defecto es RWIN=8192 por si todo sale mal...
Para conexiones mas rápidas (ADSL, RDSI o cable) se puede aumentar RWIN hasta 53600.
MaxMTU
(Tamaño del paquete IP) Es el tamaño en bytes de cada paquete de datos. Si es insuficiente, no aprovecharemos la capacidad de nuestro servidor, si es demasiado grande, el servidor fragmentara el paquete a un tamaño que pueda manejar, perdiendo velocidad. El MTU debe ser lo mas grande posible pero evitando la
fragmentación de los paquetes por la red: El valor ideal para una conexión con un modem V.90 o inferior a traves de
línea telefónica básica es de 576 bytes. Para conexiones más rápidas debería
ser superior. No obstante, lo mejor es dejarlo en "automático" y olvidarse (bajo W98 o W95 con DUN 1.3): Inicio>Panel de control>Red>seleccionar adaptador de acceso
telefónico a redes...>Propiedades>Pestaña avanzado>Tamaño del paquete IP>Seleccionar Auto. El valor "pequeño" corresponde a 576 bytes, el "medio" a 1000 bytes y el "grande" a 1500 bytes.
Si quieres afinar aun mas el rendimiento, se puede medir el tamaño de los paquetes mas grandes que acepta tu servidor sin fragmentarlos (ese es el valor ideal). Haciendo pings al mismo con paquetes de diversos tamaños nos iremos aproximando hasta el tamaño mas grande que nos deje sin decirnos que lo ha fragmentado, y luego ajustar el MTU a dicho valor.
Es un poco peñazo, pero los resultados merecen la pena:
Instrucciones:
Conéctate a Internet y no abras el navegador ni el programa de correo.
"Pingaremos" al DNS primario (xxx.xxx.xxx.xxx en el ejemplo) de nuestro proveedor con paquetes de diversos tamaños. Usaremos los
swicht "-l" y el "-f" y empezaremos con un valor de 1472 para el paquete (+28 del datagrama del ping hacen un total de 1500).
Para ello, abre una ventana MSDOS y teclea:
| C:\>ping -f -l 1472 xxx.xxx.xxx.xxx |
Si los paquetes son fragmentados (será probable) la respuesta que obtendremos será:
| Haciendo ping a xxx.xxx.xxx.xxx con 1472 bytes de datos: Es necesario fragmentar el paquete pero se especificó DF. Es necesario fragmentar el paquete pero se especificó DF. Es necesario fragmentar el paquete pero se especificó DF. Es necesario fragmentar el paquete pero se especificó DF. Estadísticas de ping para xxx.xxx.xxx.xxx: |
(Fíjate en la línea Paquetes, se han perdido
el 100% de los paquetes...)
Debemos ir bajando el valor del ping poco a poco hasta dar con el paquete
máximo:
C:\>ping -f -l 1471 xxx.xxx.xxx.xxx y
observar resultado.¿Se pierden? SI, sigue:
C:\>ping -f -l 1200 xxx.xxx.xxx.xxx y observar resultado.¿Se pierden? SI, sigue:
C:\>ping -f -l 1100 xxx.xxx.xxx.xxx y observar resultado.¿Se pierden? NO, entonces:
Si no pierdes paquetes por ejemplo a 1100 te dirá:
| Haciendo ping a xxx.xxx.xxx.xxx
con 1100 bytes de datos: Reply from xxx.xxx.xxx.xxx: bytes=1100 time=767ms TTL=247 Reply from xxx.xxx.xxx.xxx: bytes=1100 time=589ms TTL=247 Reply from xxx.xxx.xxx.xxx: bytes=1100 time=604ms TTL=247 Reply from xxx.xxx.xxx.xxx: bytes=1100 time=614ms TTL=247 Estadísticas de ping para xxx.xxx.xxx.xxx: Paquetes: enviados = 4, Recibidos = 4, perdidos = 0 (0% loss), Tiempos aproximados de recorrido redondo en milisegundos: mínimo = 589ms, máximo = 767ms, promedio = 643ms |
(Fíjate en la línea Paquetes, no se ha perdido
ningún paquete)
Ahora incrementa el tamaño uno a uno para ajustar el limite, hasta que te diga que se pierden:
C:\>ping -f -l 1101 xxx.xxx.xxx.xxx Y observar resultado.¿Se pierden? NO, sigue:
C:\>ping -f -l 1102 xxx.xxx.xxx.xxx Y observar resultado.¿Se pierden? NO, sigue:
C:\>ping -f -l 1103 xxx.xxx.xxx.xxx Y observar resultado.¿Se pierden? SI, entonces:
El valor que nos interesa es el anterior, 1102, le sumamos 28 y ya tenemos el máximo
valor que nuestro DNS puede manejar: MTU=1130
Todos los valores que he puesto son como ejemplo, el MTU será con probabilidad mucho mas bajo, lo mas
probable es que sea 576, como fue mi caso: 576-28= 548 de valor.
| Haciendo ping a xxx.xxx.xxx.xxx
con 548 bytes de datos: Reply from xxx.xxx.xxx.xxx: bytes=548 time=767ms TTL=247 Reply from xxx.xxx.xxx.xxx: bytes=548 time=589ms TTL=247 Reply from xxx.xxx.xxx.xxx: bytes=548 time=604ms TTL=247 Reply from xxx.xxx.xxx.xxx: bytes=548 time=614ms TTL=247 Estadísticas de ping para xxx.xxx.xxx.xxx: Paquetes: enviados = 4, Recibidos = 4, perdidos = 0 (0% loss), Tiempos aproximados de recorrido redondo en milisegundos: mínimo = 589ms, máximo = 767ms, promedio = 643ms |
Si aumentaba en tan solo una unidad el valor, y lo hacia con 577-28= 549, ya perdía paquetes:
| Haciendo ping a xxx.xxx.xxx.xxx
con 549 bytes de datos: Es necesario fragmentar el paquete pero se especificó DF. Es necesario fragmentar el paquete pero se especificó DF. Es necesario fragmentar el paquete pero se especificó DF. Es necesario fragmentar el paquete pero se especificó DF. Estadísticas de ping para xxx.xxx.xxx.xxx: |
Con lo cual mi MTU es de 576. Vosotros debéis llegar a la misma conclusión pero con otros valores o con el mismo. Después debéis ajustar la MTU de vuestro PC a la que habéis calculado. De esta manera, vuestro ordenador enviara paquetes de dicho tamaño, y al no fragmentarlos el servidor, la comunicación será mas fluida y ganarás en velocidad.
TTL (Tiempo de vida del paquete IP)
Este determina el tiempo durante el que el paquete viaja por la red mediante un contador de paso. Cada vez que el paquete pasa por un router, se resta 1 al contador. Si se acaba el tiempo y el contador llega a cero, el paquete muere. Esto esta hecho
así para evitar la presencia de paquetes vagando por la red sin encontrar su destino, cosa que
saturaría los servidores. De este modo, cuando un paquete caduca, o se pierde, tarde o temprano muere.
Si se ajusta el valor del TTL muy alto, los paquetes se almacenaran haciendo loops durante demasiado tiempo causando congestiones y fallos en el servicio. Si demasiado pequeño, el paquete no
podrá llegar a su destino antes de morir. El efecto de esto es que un site distante
será inalcanzable, mientras que si podremos navegar por otros mas cercanos. El efecto final es que el valor TTL define el radio de alcance de tu ordenador a Internet, y no debe ser ajustado a un valor inferior al del tamaño de Internet.
Win95 con DUN 1.2 deja el TTL por defecto en unos cortos 32. Win 98 y Win95 con DUN 1.3 tienen un ajuste mas razonable de 128. Este ultimo valor es el correcto: TTL=128
También existe otro parámetro menos influyente, el MSS (Tamaño
máximo de segmento) que algunos programas te permiten variar. Un buen valor para este
parámetro es MSS=536
Ahora apunta todos los valores y tenlos a mano para hacer las modificaciones. Estos han sido los valores que yo he elegido (Modem interno Zoom V.90, conectando habitualmente a 50.667 a traves de Euskaltel):
RWIN=4824
MTU=576
TTL=128
MSS=536
Software
salvador!!
Cambiar estos valores, si eres un experto editor del registro, no
tendrá secretos para ti. Pero lo mas recomendable para todos es conseguir un programa que te permita variarlos sin tocar el registro.
Aquí tienes algunos, unos mas completos, otros mas sencillos. El mas
fácil y sencillo de manejar es el PPP-Boost, aunque los valores que dicho programa recomienda no son los mas
acertados...
PPP-Boost:
http://www.demonweb.co.uk/c3sys/ppp.htm
iSpeed
http://www.hms.com/default.asp