Intentaré en unas pocas líneas poner un poco de luz sobre el tema puertos, emule, low id, etc.
Este post, no desea ser hi-tech, sino mas bien todo lo contrario, simplificar el tema puertos para el usaurio mortal.
Todo equipo que esté conectado a internet, tiene un IP (dirección de red para referenciarla, ej, 80.58.0.33).
También tiene una mac que corresponde a la placa fisica de red.
(al menos una, puede tener mas, ej 12:33:11:55:44:AB)
Cada equipo, tiene la posibilidad de operar en los denominados puertos, del 1 al 65535, que son basicamente unos canales de comunicación.
Habitualmente se los referencia como 80.58.0.33:53 (ip y puerto 53)
Algo similar a las FMs, en 106.3, en 98.8, etc. Algo como una frecuencia donde escucha si alguien se comunica con ella.
Usemos un servicio sencillo, como un web server (apache, iis, httpd), es un programa que escucha en el puerto 80 (default) y que cada ves que alguien se comunica a ese puerto, establece un canal donde enviará o recibirá datos.
Al instalar un apache, se habilita el puerto 80 en nuestro equipo.
Cuando un cliente con navegador escribe
http://www.google.es
genera una comunicación usando un puerto (por ej: 32641 ) de su propio equipo, y se conecta con....
un Servidor con web server que responde al
http://www.google.es
este servidor acepta una conexion al puerto 80 desde el ip del cliente, y además le envía texto (una pagina html, por ejemplo).
La comunicacion es
80.11.11.11:32641 ------->>> 80.58.0.33:80
(ip origen, puerto origen) (ip destino, puerto destino)
Este tema tiene muchas variantes, y complicaciones, pero esto es lo basico.
Ahora bien, un P2P (por ej. EMULE), es un programa que funciona en un ordenador y que es cliente, pero tambien es servidor. Y usa los puertos 4662 y 4672 (sino me equivoco), donde acepta las conexiones entrantes, y al mismo tiempo genera conexiones usando puertos 43000 en adelante contra otros equipos que acepten conexiones a los puertos 4662 y 4672.
Claro ? acepta en dos puertos pero genera muchas conexiones en puertos superiores contra otros equipos (que escuchen en 4662 y 4672)
Entonces, para que todo funcione mejor, es necesario que un equipo en internet que quiera conectarse
pc 22.22.22.22 puerto 43214
que quiere conectarse con
nuestro server 44.44.44.44 puerto 4662 / 4672
pueda hacer la comunicacion. luego nuestro equipo usara otro puerto para conectarse contra el. ej:
44.44.44.44:46154 ------>>>> 22.22.22.22:4662/4672
Que ocurre? si nuestro equipo esta visible en internet, conectado directamente, con un modem usb, nuestro propio ordenador esta visible y si tiene esos puertos abiertos, sin firewalls, nuestro server acepta la conexion desde afuera. La parte
---------->>>> 44.44.44.44:4662/2672
Si tenemos un router visible en internet, que conecta con nuestro servidor que NO esta visible en internet, hace falta decirle al router que cuando alquier en internet pida conectarse con los puertos 4662 y 4672, dirija esa comunicacion a nuestro IP (el de nuestro ordenador con emule).
--------->>>>> 44.44.44.44:4662 (router) debe dirigir eso usando la ip interna del router
192.168.4.1:47612 ------->>>>>>
al Ordenador que tengo corriendo el EMULE.
--------->>>>> 192.168.4.100:4662/4672
Entonces. para que funcione correctamente el HI ID, hace falta indicar al router FON que cuando reciba conexiones a los puertos 4662 y 4672 se los mande a un IP interno (192.168.4.100 por ej), donde debera estar nuestro ordenador corriendo el EMULE.
Espero que esto sirva, puede que lo vaya actualizando cada dia. escucho comentarios y sugerencias.