MANUAL
DE LA RED EMULE
Puede que la razón por la que tu Emule va tan
lento, si es que va lento :), es que tengas una
LowID, es decir, ID baja: que Emule no puede acceder
correctamente a los puertos de tu ordenador. Suele
suceder en algunas líneas ADSL o en redes como
las de universidades donde existe un firewall.
Si quieres comprobar tu ID, échale un vistazo
a este artículo de Spanishare
que explica el funcionamiento de la red Emule.
- FUNCIONAMIENTO
DE LA RED EDONKEY/EMULE
La red eDonkey es una red p2p
("peer to peer" o, traducido al castellano,
"entre pares"), eso significa que los usuarios
nos conectamos entre nosotros y nos enviamos
archivos. Sin embargo, debe haber alguna forma
de encontrar a la gente que tiene los archivos
que nos interesan, y ahí es donde entran en
juego los servidores. El funcionamiento esquemático
sería el siguiente:
1 - Un cliente se conecta a
un servidor (usando el protocolo TCP).
2 - El cliente envía al servidor los archivos
que comparte.
3 - El servidor guarda en su ordenador una lista
con todas las personas que están conectadas
a él y los archivos que comparten.
4 - Preguntamos al servidor por personas que
tengan los archivos que nos interesan.
5 - El servidor mira en su lista y nos dice
qué personas conectadas a él comparten los archivos
que queremos.
6 - Recibimos la lista de gente que nos interesa
y nos intentamos conectar a ellos. Si lo conseguimos,
entramos en cola de esas personas.
7 - Después de este proceso, vamos probando
de conectar a otros servidores por el protocolo
UDP para encontrar más fuentes. En este caso
el proceso se reduce del punto 4 al 6. Es decir,
al resto de servidores a los que no estamos
conectados pero tenemos en la lista NO les enviamos
la lista de archivos que compartimos.
Además, en el caso del eMule,
se obtienen fuentes por intercambio entre clientes.
Cada cierto tiempo (dependiendo del número de
fuentes que tengamos en un archivo determinado)
el eMule se conecta con otro cliente eMule y
le pide las fuentes que tiene para aun determinado
cliente. Esto ayuda a que, encontrando a un
solo cliente en el servidor, podamos encontrar
fuentes muy rápidamente.
En general, los puertos que
se usan son:
Puerto TCP 4661: Para conectarse
a los servidores (NOTA: Puede ser a un puerto
diferente). El número de este puerto no depende
de nosotros, sino del servidor: es él el que
decide por qué puerto debemos conectarnos a
él. La conexión a los servidores es SIEMPRE
de salida; es decir, la establecemos desde nuestro
ordenador.
Puerto "Clientport" (TCP): Este
es el puerto por el que el eMule/eDonkey, espera
las conexiones del resto de personas. Es por
este puerto por el que el resto de clientes
se intentarán conectar a nosotros para poder
bajar archivos nuestros o bien para indicarnos
que ya podemos empezar a bajar archivos suyos.
Esta conexión es SIEMPRE de entrada, con lo
que debemos asegurar que podemos recibirla.
Por defecto, este puerto es el 4662, aunque
más adelante explicaré como averigüar cuál tenemos.
Puerto UDP 4665: Este puerto
se usa para pedir a los servidores fuentes o
realizar búsquedas (no siempre es el 4665 ya
que es función del puerto TCP que haya escogio
el servidor para recibir las conexiones, pero
sí generalmente). La conexión que se establece
es siempre de salida.
Puerto "Clientport" (UDP): Este
puerto es SÓLO USADO POR EL EMULE, el eDonkey
no lo usa. A través de él el eMule realiza el
intercambio de fuentes con otros clientes y
conoce las posicones que ocupa en las colas
de otras personas. Por ese puerto, el resto
de gente, intenta conectarse para intercambiar
fuentes y conocer que posición ocupan en nuestra
cola (igual como nosotros hacemos al revés).
Es decir, por este puerto, podemos tener conexiones
de entrada. Por defecto, el eMule usa el puerto
4672.
El expuesto aquí arriba es el
funcionamiento básico de la red eDonkey/eMule.
El problema viene principalmente en el punto
número 6 y en el "Clientport" (TCP y UDP). Nosotros
nos intentamos conectar a la gente para bajar
archivos. Sin embargo, no todo el mundo permite
recibir conexiones desde el exterior, con lo
que esto plantea problemas. De aquí salen las
definiciones siguientes:
High ID: un usuario que puede
conectarse a otro y, lo más importante, que
otros pueden conectársele a él.
Low ID: es un usuario que no
puede recibir conexiones exteriores. Para poder
bajar o subir, siempre debe establecer él la
conexión con el otro cliente.
Con estas definiciones vemos
que un cliente High ID no podrá conectarse directamente
a un cliente Low ID (no acepta la conexión).
Para solucionar este problema,
lo que se hace es que el cliente High ID se
conecta al servidor al que el cliente Low ID
está conectado y le pide al servidor que quiere
bajar un archivo del cliente Low ID. Como el
cliente Low ID se conectó activamente al servidor,
el servidor le dice: "Tal cliente High ID quiere
tal archivo". En ese momento el cliente Low
ID se conecta al Hihg ID y empieza a enviarle
el archivo.
Este proceso, sin embargo, genera
una sobrecarga importante a los servidores,
por lo que en la medida de lo posible debe evitarse.
Otra cosa que se extrae de este
proceso es que dos clientes Low ID no se podrán
conectar nunca. Ninguno de los dos puede aceptar
conexiones directas de otros clientes.
- CÓMO SABER
SI SOY LOW ID O HIGH ID
Una persona puede ser Low ID
por diferentes razones:
1 - Tiene un firewall de software.
Este es un programa que nos instalamos que evita,
si no lo sabemos configurar bien, que podamos
recibir bien determinado tipo de conexiones.
Esto podría provocar que estuviéramos en Low
ID.
2 - Tiene un router (habitual
en gente con ADSL). Este es un aparato que,
tal como nos lo intala generalmente el proveedor
del servicio en cuestión (Terra, Telefónica,
Wanadoo, Ya.com.....), no permite recibir ninguna
conexión desde el exterior.
3 - El servidor al que nos conectamos
tiene un problema. Eso puede ser porque está
sobrecargado y no puede funcionar bien.
4 - Funciona desde una universidad
o desde algunos puestos de trabajo, lo que sería
equivalente a tener un firewall de software
que no nos permiten configurar.
En los dos primeros casos podremos
resolver el problema (Si usamos el eMule/eDonkey
en casa, seguro que lo podemos solucionar),
el tercer caso tampoco es muy problemático,
pues podemos desconectarnos y buscar otro servidor
y el cuarto caso es el más difícil (Posiblemente
nos tendremos que conformar con continuar en
Low iD).
En primer lugar comprobaremos
si podemos recibir conexiones desde el exterior
o no. Es decir, si deberíamos tener una ID alta
o baja. Para hacerlo haremos lo siguiente:
1 - Encender el eMule/eDonkey.
2 - Cancelar la conexión a cualquier
servidor de momento.
3 - Para eMule: Ir a "Preferencias"
y, en la pestaña de "conexión", apuntaremos
el "clientport" (puerto traducido al castellano).
Veremos que hay dos, el de la izquierda que
es el TCP y el de la derecha que es el UDP.
Apuntamos los dos indicando cuál es cuál.
Para eDonkey: en la consola (ventana donde aparecen
los mensajes de bienvenida de los servidores)
escribir "vo"(sin las "). De todos los datos
que aparecen, apuntad el que pone "door port".
4 - Abriremos nuestro navegador
de internet e iremos a la siguiente dirección:
http://www.thedonkeynetwork.com:90/connection_test
(gracias a Redwarf por haber conseguido
esta nueva dirección no afectada por los proxies).
5 - En la casilla a la izquierda
del botón "test", introduciremos el "clientport"
(en el caso del eMule, el TCP) que hemos apuntado
antes.
6- Apretaremos el botón "test".
Una vez hecho esto, miramos
el resultado.
Si es del estilo "Success ...
your id should be **********", significa que
podemos tener una ID alta y, si alguna vez la
tenemos baja, es culpa del servidor.
Si por el contrario el mensaje
es
"timeout on ip ***.***.***.***
(6 sec)
this means, that we even did
not receive a
RESET signal; maybe due to a 'stealth' firewall"
Significa que SOMOS UN LOW ID,
con lo que deberemos intentar cambiar la situación.
- CÓMO SOLUCIONAR
EL PROBLEMA SI TENEMOS LOW ID
En el caso que estemos en un
ordenador desde casa, hay que mirar las siguientes
cosas por este orden:
1 - Si tienes Windows XP, comprobar
que el fireweall de software que lleva por defecto
está desactivado y, si no lo está, descativarlo.
Para ello haced lo siguiente:
1.1 - Id a Inicio > Panel
de Control > Conexiones de Red > Conexión
de Área Local. 1.2 - Botón derecho sobre Conexión
de Área Local > Propiedades. 1.3 - En "propiedades",
buscad la pestaña "avanzadas" y desactivad la
casilla "Proteger mi equipo y mi red limitando
o impidiendo el acceso a él desde Internet".
2 - Mirar si tenemos un firewall
de software conectado a nuestro ordenador. Si
nosotros no lo sabemos y otra persona usa el
ordenador, preguntarle a ella. Nombres típicos
de firewalls de software son: ZoneAlarm, Sygate,
Outpost Agnitum, Norton Firewall, Kerio... (Pronto
hablaremos un poco más a fondo de como configurar
correctamente el firewall para el eMule).
En caso que así sea, debemos
configurarlo para que permita el uso al eMule.
Si no sabes muy bien como funciona, permítele
acceso total a internet, tanto como cliente
como servidor (no hay ningún problema). Si sabes
algo más de funcionamiento de firewalls, aquí
dejamos la que consideramos la mejor configuración:
En conexiones de entrada:
TCP: Permitir conexión a nuestro
"clientport" (TCP) (El puerto que hemos apuntado
antes, el de la izquierda) desde cualquier puerto.
Es el puerto que usamos para que la gente pueda
conectarse a nosotros y enviar/recibir datos.
UDP: Permitir conexión a nuestro "clientport"
(UDP) (El puerto que hemos apuntado antes, el
de la derecha) desde cualquier puerto. SÓLO
EN CASO DE USAR EL EMULE, si se usa el eDonkey,
esta regla no se debe poner.
En conexiones de salida:
TCP: Permitir cualquier conexión
de salida a cualquier puerto y desde cualquier
puerto (para poder conectarnos a cualquier servidor
que no funcione por el 4661 y cliente que no
use el puerto 4662 como clientport TCP).
UDP: Permitir cualquier conexión de salida a
cualquier puerto y desde cualquier puerto (para
poder pedir fuentes a cualquier servidor de
nuestra lista que no use el puerto UDP 4665
que generalmente se usa por defecto y poder
intercambiar fuentes en el caso del eMule).
Ejemplo de regla abierta para
obtener el máximo número de fuentes para emule
(válida para edonkey también), pero menos restrictiva:
TCP In: Local > Permitir
-> any port - cualquier puerto.
UDP In: Local > Permitir -> any port -
cualquier puerto.
TCP Out: Remoto > Permitir -> any port
- cualquier puerto.
UDP Out: Remoto > Permitir -> any port
- cualquier puerto.
Ejemplo de regla cerrada y más
segura por el mayor control que tenemos con
nuestras conexiones con el eMule (también válida
para edonkey).
TCP In: Local > Permitir
-> Clientport (TCP). En el emule es que hemos
apuntado de la izquierda.
UDP In: Local > Permitir -> Clientport
(UDP). (NO NECESARIA SI USAMOS EL EDONKEY).
TCP Out: Remoto > Permitir -> Any port
(para conectarnos a cualquier servidor y cualquier
persona que no use el puerto por defecto, el
4662).
UDP Out: Remoto Permitir -> Any port (poder
pedir más fuentes a los servidores que no usen
el puerto UDP 4665 por defecto).
TCP In - Out: Local/Remoto > Denegar ->
cualquier puerto. Al ser reglas jerárquicas,
con esta última denegamos que el emule (edonkey)
use cualquier puerto que no sea cualquiera de
los anteriores.
UDP In - Out: Local/Remoto > Denegar ->
cualquier puerto. Al ser reglas jerárquicas,
con esta última denegamos que el emule (edonkey)
use cualquier puerto que no sea cualquiera de
los anteriores.
3 - Mirar si tenemos un router.
Si tenemos ADSL puede que tengamos uno.
Nota - Un Módem USB NO ES UN ROUTER, pero en
las páginas de abajo podéis encontrar información
por si tenéis problemas con vuestro módem (alto
consumo, desconexión de internet...).
En este caso, deberemos configurar
el router. Para eso es necesario abrir en el
router nuestros "clientport" (son los dos puertos
que hemos apuntado antes, uno TCP y el otro
UDP). Si por alguna razón cambiamos nuestros
"clientport", debemos acordarnos de cambiar
los puertos abiertos.
Para abrir puertos en routers
os remito al foro de ADSL en esta misma página
(Spanishshare) y/o mirad estas páginas:
Información general sobre ADSL
en formato FAQ:
http://www.terra.es/personal4/antoniomartos/ADSLFAQ.html
Información de routers y módems
específicos y ADSL en general. Muy completa:
http://www.adslayuda.com/
Información de ADSL y routers/módems
en concreto. También muy completa y recomendada:
http://www.adslnet.ws/
4 - En caso de que estemos en
la universiadad o trabajo, cambiar puertos.
Esta opción es sólo válida para aquellos que
estén en la universidad o el trabajo.
4.1 - Una opción es probar a
cambiar el puerto y mirar si así obtenéis una
ID alta. Las universidades acostumbran a cerrar
los puertos para evitar conexiones desde el
exterior, pero puede que tengan algunos abiertos
para determinadas funciones. Lo ideal sería
poder escanear los puertos que están abiertos
(miraremos si encontramos algún programa o,
si alguien conoce alguno, que lo diga) y usar
alguno de los que salieran abiertos. Sino, sólo
podemos porponer que probéis con estos a ver
si lo conseguís:
Puertos: 125, 21, 440, 443.
Si con estos puertos no conseguís
una ID alta, probad con otros.
Nota - Emule: El puerto se cambia en la pestaña
de "conexión", el lugar donde pone "clientport"
(puerto). eDonkey: El puerto se cambia escribiendo
en la consola "port ****". Para volver a comprobar
si tenemos un High ID reiniciad el eMule/eDonkey.
4.2 - De momento esta opción
no es posible con el eMule, pero sí con el eDonkey.
Se trata de usar un proxy.
- CONSIDERACIONES
ADICIONALES
1- Qué puertos es mejor usar
en el eMule/eDonkey??
Por defecto el eMule/eDonkey
trae unos puertos TCP (4662) y UDP (4672) (éste
último sólo lo usa el eMule). Sin embargo, yo
soy de la opinión que es conveniente no usar
éstos, ya que creo que todos podemos salir beneficiados.
La razón es que es fácil que
en universidades o los mismos proveedores de
internet, detecten el alto tráfico por estos
puertos y, como consecuencia, restrinjan el
tráfico. Si la gente usa puertos variados, esto
será mucho más difícil de detectar. Además,
si no usamos estos puertos, gente desde las
universidades o el trabajo podrán conectar con
nosotros y, seguramente, podremos bajar de ellos
a una velocidad muy buena (recordad que tienen
muy buenas conexiones).
Así que aquí tenéis mi consejo: usad la inventiva.
La única restricción es que el "clientport"
debe estar comprendido entre 1-65500 (tanto
el TCP como el UDP).
NOTA 1: algunos puertos para aquellos que no
tengan inventiva: 6969, 8003, 2135, 4592, 9245,
18592, 47895, 1243, 9876, 4321, 23456... (Sirven
tanto para UDP como para TCP).
2- Afecta en algo el proxy de
telefónica y otros proveedores?
Sí que afecta, pero en casos
muy restringidos. En primer lugar, para saber
si estáis detras de un proxy, id a esta dirección:
http://www.internautas.org/detectaproxy.php
Si os indica que estáis detrás de un proxy,
entonces VIGILAD SI PONÉIS COMO CLIENTPORT LOS
SIGUIENTES PUERTOS: 80, 1755, 554 y 7070. Podéis
probar con ellos, ya que si el proxy funciona
perfectamente no debería haber problemas, pero
si detectáis problemas (como Low ID o bajadas
drásticas de velocidad), pensad en que podría
ser por el proxy y es mejor que cambiéis los
puertos. En el resto de cosas y puertos usados,
no os afectará para nada.
3- Tengo más de un ordenador
en casa, qué hago?
Bueno, en ese caso debes investigar
un poquito. A ver si podemos hacer una guía
paso a paso:
3.1 - Mirar qué sistema de conexión
a Internet tenemos.
Básicamente pueden ser 2, a través de un router
exterior o a través de un proxy instalado en
un ordenador. Para saber cómo lo hacéis haced
la siguiente prueba. Probad a conectaros desde
cada ordenador a internet teniendo el resto
de ordenadores apagados. Si desde todos ellos
puedes conectarte es que usas un router, sino
es que usas un programa que está instalado en
algún ordenador y hace las funciones de proxy.
3.1.1 - Si tenemos un router.
En ese caso, podemos instalar el eMule en el
ordenador que queramos o incluso en más de uno
de ellos. Para ellos tendremos que abrir dos
puertos para cada eMule que instalemos. Procedemos
de la siguiente manera: instalamos el eMule
en todos los ordenadores que queramos, vamos
a "preferencias", "connection" y en la configuración
del "clientport", NOS ASEGURAMOS QUE EN TODOS
LOS ORDENADORES LOS PUERTOS TCP (el de la izquierda)
Y UDP SON DIFERENTES. Por defecto no lo estarán,
con lo que seremos nosotros quienes deberemos
cambiarlos. Después de cambiarlos, nos apuntamos
qué puertos usa cada ordenador y qué IP local
tiene y, en el router, los abrimos. (Mirad el
tercer apartado, punto 3).
Ej.
Ordenador 1: Clientport TCP: 6754 ClientPort
UDP: 4532 IP local : 172.26.0.3 Ordenador 2:
Clientport TCP: 4444 ClientPort UDP: 3422 IP
local : 172.26.0.4
En el router deberemos abrir los puertos TCP
6754 y UDP 4532 para la IP 172.26.0.3 y los
puertos TCP 4444 y 3422 para la IP 172.26.0.4
3.1.2 - Si tenemos un programa
tipo proxy instalado en un ordenador.
En ese caso, podemos instalar el eMule en el
ordenador en el que tenemos instalado el proxy.
Ese ordenador es aquél que es necesario que
esté encendido para que todos se puedan conectar
a Internet. Si queremos instalar otro eMule,
hace falta que el proxy que tengamos instalado
tenga soporte para NAT (como es el caso del
Winroute). Si el proxy tiene soporte NAT, entonces
debemos hacer lo mismo que en el apartado anterior.
Es decir: asegurarnos que todos los eMule usan
puertos diferentes y, después, configurar el
proxy con soporte NAT para abrir los puertos
que usamos en cada eMule al ordenador en el
que funciona.
Pues
este es el artículo integro aparecido en el
foro de Spanishare.
Autor: Curna