Hola a tod@s.
Este post lo creo para que muchos usuarios (sobre todo nuevos) no pierdan horas buscando la solución al bajo rendimiento de sus P2P en general y en concreto al Emule (no, no está muerta, aunque algunos no lo sepan). Os puede ayudar a solucionar muchos de los problemas que podéis tener usando programas de intercambio de archivos.
Para que un programa de intercambio/descarga como Emule, Utorrent, Soulseek, JDownloader.. funcione correctamente es necesario lo siguiente:
1-) CONFIGURACIÓN CORRECTA DE LA ÚLTIMA VERSIÓN DEL PROGRAMA EN CUESTIÓN SEGÚN VUESTRA VELOCIDAD.
Centrándonos en el emule y en su configuración en cuanto a conexiones y velocidades máximas, en función de la velocidad de nuestra conexión:
Hay amplia información en la red para configurarla según cada conexión. Aquí tenéis un ejemplo. Os recomiendo que no hagáis caso a la info sobre servidor y puertos. Creo que los ajustes son excesivos y podrían probocar cierres inesperados del sistema y pantallazos azules (por experiencia propia). Nuevas conexiones máximas 5/seg y máximas conexiones a medio abrir las iría subiendo de poco en poco e iría probando. En cuanto al número de fuentes por archivo, creo que 1000 es excesivo, el número de conexiones que el programa va a realizar va a ser altísimo si tenemos bastantes archivos en nuestra cola de descarga y por tanto la navegación u otros programas p2p se van a ver perjudicados. 400 puede ser un buen número. Si por el contra no navegamos y sólo corremos el emule no habría ningún problema (por la noche). En cualquier caso todo es probar.
Recordad que una conexión normal de Jazztel 20/1 Mb es en realidad en muchos casos de 9/0.6 Mb o incluso menos por lo que debemos fijarnos en la de 8 Mb. Ésta es mi configuración.
Aquí os dejo un tutorial para el Emule que hice hace unos meses y que acabo de actualizar sobre cómo solucionar los problemas que actualmente sufre nuestra burra debido al acoso anti-p2p: Como Mantener Actualizados Tus Servidores, Nodos Y Filtros De Ips.
nota: editado el 30.12.09. Importante actualización sobre como actualizar nodes.dat y tener Id Alta en la red Kad.
2-) CONFIGURACIÓN DEL FIREWALL DEL S.O.
Configurar nuestro Firewall para la aplicación. Abrir los puertos que use el programa dándole acceso total o creando reglas específicas si queremos más seguridad. Aquí os dejo enlaces útiles sobre el firewall que yo uso:
- Comodo Firewall.
- Por qué lo uso: el mejor entre todos y gratuíto.
- Tutorial general en la web. Archivo doc para descargar.
- Reglas específicas para el Emule.
- Reglas específicas para el Utorrent.
- Simplificar y poner reglas generales.
3-) CONFIGURACIÓN DEL ROUTER. ABRIR LOS PUERTOS QUE NECESITA CADA APLICACIÓN:
- Aquí puedes ver cómo hacerlo partiendo de la aplicación.
- Aquí puedes ver cómo hacerlo partiendo de tu modelo de router.
- Y aquí nuestro router en cuestión: Comtrend HG536+ (CT-5361):
Si hemos activado la función Upnp en algún programa también deberemos activarla en el router. En el caso del Comtrend se encuentra en Advanced Setup / Lan. De este modo el router de forma automática abrirá los puertos que el p2p necesite y no necesitarás configurarlos manualmente. Este sistema disminuirá la seguiridad. Aquí como hacerlo en el emule.
Bueno, hasta aquí y si todo está hecho bien, nuestros programas funcionarán correctamente. Nuestra ID será alta (para el caso del emule) y los test de configuración de puertos que cada programa incorpora nos saldrán Ok.
Ahora toca cambiar aspectos que no todo el mundo conoce y que en muchos casos, correctamente configurados, hacen que ahora sí nuestro p2p vuele.
4-) ¿DEBEMOS CAMBIAR DE ROUTER?. DE FIRMWARE CASI SEGURO.
4.1 NUESTRO ROUTER.
Que dispongamos de un buen router (o modem-router que es lo que nos instalan las operadoras) dependerá de si nos lo "regaló" una operadora o hemos tenido buen ojo al comprarnos uno por nuestra cuenta. Deberíamos esperar que nos diesen un buen aparato al contratar una conexión pero la realidad es que son de gama media o baja.
En el caso del Comtrend HG536+ de Jazztel no tendremos problemas.
Por ejemplo, si hablamos de Telefónica (mi isp hasta hace dos semanas), olvidaros del Xavi 7968. En este caso, una de las mayores compañías del mundo y para más inri de aquí, nos coloca para una conexión de internet (sin tv) un aparato de muy bajo coste para ellos, no sólo para aumentar su cuenta de resultados sino para reducir el tráfico en sus centralitas "capando" nuestra conexión. Solución, cambiar de router. También podéis pelearos con Telefónica y conseguir uno de los que colocan para Imagenio, un Zyxel Prestige P660HW-D1. No es para tirar cohetes pero cumple su función. Yo lo conseguí quejándome de los malos datos de atenuación y ruido que tiene mi línea y de hecho con el cambio los mejoré. Para ello asegúrate de que el tramo del bucle del abonado que te pertenece a ti (la línea que está dentro de tu casa) funciona correctamente sino te dirán que el problema es tuyo. Esto lo puedes comprobar conectando directamente el router a la toma de entrada de tu casa (PTR) y viendo que los datos de atenuación y ruido (SNR) son similares en un punto y otro.
¿Qué cosas puedo mejorar cambiando de router?. Bueno sin entrar en detalles de seguridad y demás prestaciones y yendo a lo "importante":
- mejorar los datos de sincronización (aumentando la velocidad de subida y bajada de tu conexión).
- mejorar ostensiblemente tu cobertura de red inalámbrica (tanto en lo referente al acceso a la red desde un portátil como a la conexión con de resto de equipos que tengas en casa),
- mayor capacidad para trabajar con programas con múltiples conexiones, algo que depende no solamente del hardware sino del firmware que usa.
4.2.- FIRMWARE DEL ROUTER.
Debemos asegurarnos que nuestro router tenga el último firmware o la mejor versión en cuanto a sincronización, estabilidad, posibilidad de variar el nº de conexiones simultáneas que permite...
Si a nuestro router le podemos meter un firmware DD-WRT (escrito en Lynux y Open Source), estaremos de suerte. Pero si vais a comprar uno mi consejo es que lo soporte o venga con él. Aquí los modelos de router que soportan dd-wrt.
En general nos podemos encontrar con que nuestro router venga con un firmware del fabricante (general o específico para el proveedor de internet -ISP-) o con uno del proveedor de internet directamente. En algunos casos no es posible pasar de un tipo a otro sin realizar cambios físicos en el router (abrir, soldar..) en otros es más fácil.
- En el caso del Zyxel Prestige P660HW-D1 de Telefonica, éste viene con el 340AHF0b12 (30.07.07) y tienes que meterte a técnico en electrónica casi para poder meterle el firmware oficial de Zyxel (P-660HW-D1_3.40(AGL.8)C0 ).
Sin embargo sí es posible fácilmente actualizarlo a una versión modificada que existe del firmware de Telefónica: ( 340AHF0b12 (09.04.08) )
- En el caso del Comtrend HG536+ (CT-5361) de Jazztel me llegó con A101-302JAZ-C03_R14 y lo cambié por el último que existe, el R21.
Aquí puedes ver como cambiarlo. La configuración para Jazztel viene con el propio firmware.
5-) OTROS ASPECTOS CONCRETOS DE LA CONFIGURACION DE NUESTRO ROUTER:
5.1 ACTIVAR LOS CUATRO PUERTOS DEL COMTREND PARA USO EN RED LOCAL (POR DEFECTO SOLO DOS)
Aquí un doc con un par de capturas de como hacerlo.
5.2 DESACTIVAR DHCP
El objeto es impedir que las IPs de los dispositivos de nuestra red local puedan variar. Si dejamos DHCP activado por defecto le estamos diciendo al router que asigne las ips de forma automatica a los dispositivos de red conformen se conecten al mismo y no es cuestión de que cuando al router se le ocurra asigne otra ip a nuestro pc y los puertos que hemos abiertos dejen de ser operativos. Esto se encuentra en Advanced Setup / Lan.
Cómo es lógico también hemos de cambiar las propiedades de protocolo de internet tcp/ip de los ordenadores de nuestra red.
En xp, inicio / panel de control / conexiones de red / seleccionamos la red en cuestión (conexión de area local o inlámbrica), botón derecho propiedades / protocolo internet (tcp/ip), y pinchamos en propiedades. Veremos que todo está en automático. Deberemos introducir los datos manualmente:
- Dirección ip: la de nuestro pc. Podemos ir creándolas de forma consecutiva para los pc de nuestra red. Por ejemplo, si la ip del router es 192.168.1.1 (la normal por defecto que traen los router), podremos poner aquí la siguiente: 192.168.1.101. Al siguiente ordenador de nuestra red local podríamos ponerle la 192.168.1.102, y así sucesivamente. Si el pc dispone de tarjeta de red e inalámbrica, deberemos configurar ambas conexiones dándoles ips diferentes. Por ejemplo 101 para la local y 102 para la inalámbrica. Si tuviésemos otro pc seguiríamos del mismo modo: 103 para la local y 104 para la inalámbrica.
- Máscara de subred: nos saldrá automáticamente después de introducir la dirección anterior y pulsar la tecla tabulador. Por defecto 255.255.255.0
- Puerta de enlace predeterminada: Es la ip del router. Por defecto suelen traer la 192.168.1.1, aunque podemos cambiarla. Todos los ordenadores de la red deben de tener la misma puerta de enlace.
- Direcciones de servidor DNS. Aquí tenéis una lista de las dns de las distintas operadoras. Podéis elegir las que queráis. Yo he usado durante mucho tiempo las de terra para ip fija y funciona perfectamente. Sin embargo ahora uso las de Google. También tenéis las de OpenDns.
Así debe quedar.
5.3 CONFIGURACION WIFI PARA AUMENTAR LA SEGURIDAD DE NUESTRA RED LOCAL.
- Activar hide access point.
- Network authentication: WPA2-PSK.
- WPA Pre- Shared Key: Os recomiendo que creéis una clave con la herramienta "generador de claves WEP/WPA para WIFI" del BASpeed v7 de Dj Nacho. Usad la opción WPA 504 bits (en mi caso sólo letras y números ya que sino el portátil perdía la conexión).
- WPA Encryption: AES
- Por último no está demás el filtrado de macs, permitiendo que sólo se conecten los dispositivos inalámbricos que tú quieras. La Mac de tu portátil por ejemplo la puedes saber así. Inicio, Ejecutar, tecleamos cmd y en la ventana de comandos tecleamos ipconfig /all.
En Xp para añadir la red inalámbrica a nuestro pc y que siempre se conecte a ella, en la ventana de propiedades de la conexión de red inalámbrica, vamos a la pestaña redes inalámbricas, pinchamos en agregar y:
- Pestaña asociación, SSID: el nombre de nuestra red.
- Pestaña asociación, activar "conectar incluso si la red no está difundiendo".
- Pestaña asociación, autenticación de red: WPA2-PSK.
- Pestaña asociación, cifrado de datos: AES.
- Pestaña asociación, clave de red: la que introducimos anteriormente en el router.
- Pestaña conexión: activar "conectarse cuando esta red esté en el alcance".
Aquí una buena guía para conseguir una red inalámbrica segura y aquí un artículo sencillo tambien sobre seguridad en el que explica claramente las nomenclaruras de seguridad wifi.
Nota: Vale que los router que nos dan las operadoras no son gran cosa pero no se lo pongamos dificil nosotros tambien. Es importantísimo para una correcta transmisión wifi un par de cosas:
- Aumentar la señal wifi del router (esto no lo soportan todos los firmware).
- Seleccionar un canal de transmisión que esté libre. ¿Y cómo sabemos que canal no está siendo usado por nuestros vecinos?. Os recomiendo el programa gratuíto Netsuveyor. Una vez instalado si veis la tercera pestaña, "channel usage" os sorprenderéis observar como el canal que usabais estaba siendo usado quizá por 3 redes más.
5.4.- CAMBIAR EL Nº. MAXIMO DE CONEXIONES SIMULTANEAS EN NUESTRO ROUTER.
Este aspecto es fundamental para que el emule pueda establecer cientos de conexiones simultáneas y funcione correctamente con muchos archivos en cola y muchas fuentes por archivo. Si se llega al nº máximo, que en el caso del Zyxel creo que era algo más de 200, la conexión se satura, la navegación se hace imposible y posiblemente se reinicie el router.
- En el caso del Zyxel Prestige P660HW-D1 de Telefonica y después de actualizarlo a una versión modificada que existe del último firmware de Telefónica (340AHF0b12 (09.04.08) ) podremos hacerlo de la siguiente manera:
- Inicio / Ejecutar / telnet 192.168.1.1 (si esa es la ip del router, claro).
- Tecleamos el usuario y contraseña del router si nos lo pide.
- Ahora vemos la ventana de opciones. Seleccionamos opción 24 y opción 8.
- Comandos:
- para ver el nº max conexiones actual: ip nat sesión
- para modificar ese número a 1000 por ejemplo: ip nat session 1000
- En el caso del Comtrend HG536+ (CT-5361) de Jazztel y con el firmware A101-302JAZ-C03_R21 (aunque con otros anteriores también es posible) aquí el post original (gracias Raulito). Es necesario volver a modificarlo tras un reinicio del router:
- Inicio / Ejecutar / telnet 192.168.1.1 (si esa es la ip del router, claro).
- Tecleamos el usuario y contraseña que por defecto es admin en ambos casos. Hay que tener en cuenta que la contraseña no la vemos al escribirla.
- Una vez que nos aparezca el menú de opciones, tecleamos sh y pulsamos intro.
- Comandos:
- para ver el nº de conexiones máximas (que por defecto es de 1000): cat /proc/sys/net/ipv4/ip_conntrack_max (cuidado con el espacio despues de "cat").
- para cambiarlo, por ejemplo a 2000 : echo "2000" > /proc/sys/net/ipv4/ip_conntrack_max
6-) OPTIMIZAR NUESTRO S.O. PARA EL INTERCAMBIO DE ARCHIVOS.
6.1 ¿QUE SON LAS SIGLAS RWIN y DSW
Si usamos Xp tendremos que optimizar el sistema para el intercambio de archivos.
Del wiki de bandaancha:
"El RWIN, no es más que la abreviatura de Receive WINdow (Ventana de Recepción). Es una zona de memoria, ajustable en tamaño, en la cual se introducen todos los datos que llegan de internet (por ejemplo, de una descarga directa). El valor de RWIN es muy importante, ya que Windows trae un RWIN por defecto, que sirve muy bien para conexiones de baja velocidad, pero en las conexiones de internet actuales, hay que ajustar apropiadamente el RWIN, para alcanzar la velocidad máxima de descarga.
El DSW, no es más que la abreviatura de Default Send Window (Ventana de Envío por Defecto). Al igual que el RWIN es una zona de memoria, ajustable en tamaño, en la cual se introducen los datos que se van a enviar a través de internet (cuando se manda un correo, o transferimos un archivo a un servidor FTP, por ejemplo). Al igual que el valor de RWIN, el valor de DSW es muy importante para aprovechar completamente la velocidad de subida. Windows también ofrece un valor por defecto para DSW, pero para conexiones que tengan 512 kbps o más de velocidad de subida, el valor de Windows se hace insuficiente, y por lo tanto, hay que optimizar el valor para aprovechar toda la velocidad de subida.
Si el RWIN supera la barrera de los 65535 bytes, entonces se tiene que activar el soporte para ventanas TCP grandes, ya que sino, de otra forma, Windows utilizará el RWIN por defecto, y no lograríamos el máximo en la velocidad de descarga. También si se superan los 65535 bytes de RWIN al realizar el cálculo de los valores óptimos, se debe activar el ACK selectivo, puesto que esta opción mejora el tiempo de respuesta de nuestra conexión con ventanas TCP Grandes. Las casillas de Activar Soporte para Ventanas TCP Grandes, y Activar ACK Selectivo para Ventanas TCP Grandes, se activan o desactivan automáticamente dependiendo de los valores óptimos calculados. El usuario no debe actuar sobre estas opciones."
6.2 ¿CUALES SON LOS VALORES ACTUALES?
6.3 ¿COMO PUEDO MODIFICARLOS?.
Es fácil si disponemos de una aplicación para ello. Descarga BASpeed v7 que además es portable. Antes de nada y como podéis comprobar en el enlace, ¿hay algo que no haga este magnífico programa en cuanto a obtener información y poder configurar nuestra conexión?.
Ir a Herramientas de diagnóstico / Optimizador de Internet.
Valores a introducir:
- Calcular el MTU automáticamente: activado (veréis que para la conexión de Jazztel calculará un valor de 1492). En general:
- Si usas PPPoE (IP dinámica) el valor de MTU óptimo es 1454 ó 1492.
- Si usas PPPoA (IP dinámica) el valor de MTU óptimo es 1470.
- Si usas IPoA (IP fija) el valor de MTU óptimo es 1500.
Los protocolos punto a punto para cada uno de los operadores y conexiones son éstos.
Opciones que afectan al valor final de RWIN:
- Velocidad de sincronización de descarga y de subida de nuestro router. En el Comtrend esta info la tenéis en la pestaña Device Info.
Este valor se debe poner en kilo bits por segundo (Kbps). Si la velocidad no la tenemos en Kbps aquí y aquí tenéis calculadoras de equivalencias.
- Latencia máxima de la conexión. Se trata de latencia máxima no la media que obtenemos con la mayoría de test. Por defecto y para una latencia normal podéis dejar el valor de 150 pero si queréis saber la que tenéis podéis emplear el programa TCPOptimizer (también portable) que incluye en una de sus pestañas el test de latencia máxima. Este programa es otro buen optimizador.
Podéis ver los cambios que va a realizar antes de aceptar definitivamente. Una vez aceptado deberéis de reiniciar el pc.
6.4 NUMERO DE CONEXIONES A MEDIO ABRIR (INCOMPLETAS) POR SEGUNDO QUE SOPORTA NUESTRO S.O.
Basicamente el pc envia un paquete para comprobar que el destino existe, éstos tienen un tiempo de vencimiento. Para que la conexión se considere realizada, el HOST remoto tiene que responder con un paquete similar, de lo contrario el tiempo se cumple. En el transcurso de ese tiempo la conexión se considera medio abierta.
Dicha limitación provoca una carga más lenta de fuentes/clientes/semillas en el software p2p lo que, además de provocar errores de conexión con trackers en los clientes BitTorrent, retarda el posicionamiento en las colas de espera (en el caso de eMule) y generar el suceso 4226 en el registro de Windows.
Aquí tenéis info sobre ello: qué son, síntomas de que lo hemos sobrepasado y cómo comprobarlo.
Conexiones incompletas o a medio abrir (half-open connections) que los sistemas operativos windows permiten:
- xp
- límite: 2000
- aconsejable: 1000
- x defecto: 10
- w7 y vista
- límite: infinito (entre 1 y 255 o infinito)
- aconsejable: 1000
- x defecto: 255
- Windows 2003/2008 es ilimitado por defecto.
El programa TCP-Z puede variar este número de dos formas:
- la menos aconsejable, modificando el archivo tcpip.sys con lo que nos cargamos la firma digital del S.O. Hace falta reiniciar.
- la óptima (patch memory): modificando el tcpip.sys en la memoria kernel. Tiene el inconveniente de que habremos de hacerlo con cada reinicio aunque podemos hacerlo permanente instalando "TCP-Z virtual device". TCP-Z con virtual device aquí. No hará falta reiniciar cada vez que variemos este número aunque sí al instalar el programa con el "virtual device".
Windows XP soporta ambos métodos. Windows 7 y Vista solo el patch memory. Para modificar tcpip.sys en Windows XP x64, se ha de usar 64bit TCPZ64.exe.
Además este programa es muy útil tenerlo siempre abierto ya que nos muestra en una barra superior en la pantalla las velocidades y las diferentes conexiones que establecemos en cada momento.
7-) ACTIVACION DE SERVICIOS AUTOGESTIONADOS DE JAZZTEL: FASTPATH, TURBO UP (ANEXO M) Y TURBO DOWN.
Por último, si queremos exprimir nuestra conexión (sólo Jazztel 20 Mb con línea Jazztel o ADSL Jazztelia Tv), podemos activar los servicios autogestionados de Jazztel aquí. Para cambiar entre un perfil y otro aquí tenéis el enlace al wiki de bandaancha y para habilitar el Anexo M en el router: Comtrend HG536+ y CT-5611 y Huawei HG 520.
8-) P2P Y NAVEGACION.
Recordad que si usáis intensivamente los programas de intercambio tendréis una navegación lenta y para eso tenéis los limitadores de velocidades de cada programa y por supuesto las variaciones del número de conexiones que podemos modificar en nuestro emule. Otra opción es configurar QoS (quality of service) en nuestro router.
PD: Si después de todos estos pasos, algo sigue fallando quizá tengas que volverte loco para dar con el problema.
En mi caso y tras cambiar de Telefónica/Zyxel a Jazztel/Comtrend el emule perdía las conexiones continuamente y subía y descargaba a velocidades de hace 10 años.
El problema se solucionó desactivando una opción del emule que hasta ahora había cumplido su papel perfectamente y que tenía activada desde hace mucho tiemp. Esta opción es la de BUSCAR EL MEJOR LIMITE DE SUBIDA AUTOMATICAMENTE en la opciones de SENSOR DE VELOCIDAD DE SUBIDA en configuración adicionales en la pestaña preferencias.