[pregunta]como funcionan las redes p2p

Iniciado por daryo, 18 Septiembre 2014, 00:13 AM

0 Miembros y 1 Visitante están viendo este tema.

daryo

info preferiblemente sobre la programacion de las mismas sin servidores

alguien puede darme un poco de informacion las que mas me interesan son las que son completamente descentralizadas :).

gracias :)
buenas

engel lex

hace unos dias estuvimos justamente con eso... resumen... no se puede totalmente descentralizada, necesitas por lo menos un boostrap de comunicación, y entre menos peor es (mas probabilidad de caída o ataque)

el asunto es que necesitas alguien quien le diga a los demás quien está conectado... si no te toca que cada uno haga un escaneo desde la ip 0.0.0.1 hasta la 223.255.255.255 (con sus respectivas exclusiones intermedias) para conseguir otros clientes....
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

daryo

mm y entonces redes como freenet y ares y gnutella que teoricamente no tienen ningun servidor?

sera comenzar por gnutella a ver jeje
buenas

engel lex

hay que aclarar Gnutella y Ares son p2p puro que funciona "sin servidor" es decir la comunicación no requiere servidor, pero si la conexión...

Ares
si tiene servidores

y hay tutoriales para que "funcione mejor" donde te mandan a agregar un montón de servidores

Gnutella también necesita que conozcas previamente un nodo conectado
CitarEntrada. En esta fase un nuevo nodo se conecta a otro que ya esté dentro de la red. Cómo se encuentra un nodo ya conectado está fuera del protocolo, pero normalmente los clientes Gnutella se distribuyen con una lista de nodos que se espera estén siempre conectados y se escoge alguno al azar. Un nodo cualquiera puede estar conectado a varios nodos, y recibir conexiones de nuevos nodos formando una malla aleatoria no estructurada.

especialmente Gnutella puede funcionar sin ningún nodo servidor... pero necesitas al conectarte un nodo de entrada, sin eso no hay nada

freenet, no conozco realmente pero conociendo ese mundo debe ser similar a Gnutella
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

harry_the_blogger

Bueno, hace unos dìas, com dijo engel lex, este tema fue tratado. Yo lo que bàsicamente aprendì, es que minimo necesitas un servidor de boostrap que provea a los nuevos nodos de direcciones ip de otros nodos previamente conectados.

Yo antes tenìa està idea: ¿Es posible escanear todo un rango de IPs, por ejemplo, por Pais, y ver si hay alguien corriendo el mismo software que nosotros?? No si serà viable, pero al menos no necesitarìas servidores para hacerlo. Solo necesitarìas tiempo y suerte a ver si te conectas con alguien. Eso creo yo que dependerìa de la popularidad del software, porque si el software es popular podrìas tener exito y encontrar un peer.

Bueno, solo son ideas, que aunque para algunos puedan parecer inviables, a lo mejor sirven en algo.
Vista mi blog es enriquemesa.blogspot.com

engel lex

no es posible hacer un escaneo, ahora que lo replanteas, algo leí y lo pensé...

los servidores también están para abrir las conexiones de los router, si el programa está detrás de un router y no se abre la conexión el router ignorará todas las propuestas de afuera... el servidor le da las direcciones de donde va a entrar la conexión al receptor, y ambos intentan comunicarse entre ellos, así abren la comunicación en el router, si no, requieres que todos los clienten configuren el port forwarding...


así que scanear ip no es viable
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

kub0x

Cita de: harry_the_blogger en 18 Septiembre 2014, 01:14 AM
Yo antes tenìa està idea: ¿Es posible escanear todo un rango de IPs, por ejemplo, por Pais, y ver si hay alguien corriendo el mismo software que nosotros?? No si serà viable, pero al menos no necesitarìas servidores para hacerlo. Solo necesitarìas tiempo y suerte a ver si te conectas con alguien.

Lo mismo me vino a la cabeza cuando investigué este tema, tendrías que ser capaz de hacer multicast a un país entero lol :P

Podrías montar un servicio DNS redirigirlo al PC host y el resto de personas podrían contactar éste, mediante UPnP mapeas el puerto 80 y ya tienes un server casero, éste pone en contacto a los demás peers y ya tienes hecho el bootstrapping. Cada 10 min levantas una DNS distinta con un algoritmo de generación de DNS. Esto con unos retoques creo que podría llegar a funcionar, ahí es donde me quede.

Aprovecharse de la red kad es otra alternativa, ya que no la van a tumbar. Ojo, yo me situo en puro malware, pero quizá algo de lo que he expuesto sirva.

Cuando contactes peers los almacenas como quieras aquí el criterio de cada uno xD

Saludos!
Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate


engel lex

Cita de: kub0x en 18 Septiembre 2014, 01:24 AM
Lo mismo me vino a la cabeza cuando investigué este tema, tendrías que ser capaz de hacer multicast a un país entero lol :P

Podrías montar un servicio DNS redirigirlo al PC host y el resto de personas podrían contactar éste, mediante UPnP mapeas el puerto 80 y ya tienes un server casero, éste pone en contacto a los demás peers y ya tienes hecho el bootstrapping. Cada 10 min levantas una DNS distinta con un algoritmo de generación de DNS. Esto con unos retoques creo que podría llegar a funcionar, ahí es donde me quede.

Aprovecharse de la red kad es otra alternativa, ya que no la van a tumbar. Ojo, yo me situo en puro malware, pero quizá algo de lo que he expuesto sirva.

Cuando contactes peers los almacenas como quieras aquí el criterio de cada uno xD

Saludos!

los ISP filtran multicast... y no se calculas el problema que expongo, aunque no estoy seguro como hacer lo del DNS
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

kub0x

Multicast es inviable, pero la típica pregunta que te haces es eso un barrido de IPs para encontrar peers a parte que es muy intrusivo, desde mi punto de vista, malware, hace mucho ruido.

Te suenan las ip .no-ip.org y derivados, realmente es un DNS que apunta a tu IP, deberias de montar un servicio que redirija la resolucion de X nombre de dominio generado cada 10 min al peer correspondiente que actuara como server habiendo mapeado previamente mediante upnp el puerto 80 o el que uses para las conexiones del software, así los peers podrán encontrar a un compañero suyo y empezar a conocerse entre ellos.

Saludos!
Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate


engel lex

al ser una red formal el escaneo gasta banda y es sucio, pero no es problemático...

el problema de lo del dns, es que en esa forma si es nombre fijo la pueden reportar por molestarte, y si es dinámico generada aleatoriamente, quien analize el algoritmo dará con todas las próximas posibilidades y te las puede reportar o solicitar ellos mismos
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.