Deschamps escribió:Creo que el compañero no preguntaba por el funcionamiento de bittorrent. Simplemente preguntaba por información sobre el funcionamiento de las redes p2p distribuidas sin servidor que indexe los pares.
Exacto!
He estado ojeando la documentación que me habéis pasado (alguna ya la había visto) y a priori sigo con la misma duda.
Una red p2p descentralizada según se vende (o al menos eso he entendido yo), cada nodo actua como cliente-servidor y por tanto da igual cuantos nodos elimines, técnicamente nunca podrás acabar con la red ya que no existe una cabeza visible responsable de todo.
Ahora aplicando eso a un ejemplo real, por un lado tenemos la red bittorrent tradicional (se que hay variaciones) que es hibrida ya que depende de un servidor "tracker" al que conectas para que te indique que nodos están compartiendo un archivo.
Por otro lado esta la red kademlia que usa/usaba emule que se supone es completamente descentralizada de forma que tu nada mas instalar el programa podías realizar una búsqueda y encontrar datos sin tener que conectar a ningún nodo central.
Entonces es ahí donde tengo la duda, como puede mi nodo encontrar otros nodos de la red? Las tablas DHT son las que utiliza para almacenar la información de los nodos, pero como puñetas encuentras al primer nodo?
Después me leeré mas detenidamente la información que me habéis facilitado, especialmente las tablas DHT a ver si es que estoy pasando algo por alto.
Saludos y mil gracias por vuestras aportaciones!
EDIT:
En una de las paginas que facilita
@TRASTARO, se comenta lo siguiente sobre el método de conexión con el primer cliente:
Para contactar con el primer cliente hay 4 formas posibles:
- Lo más habitual es a través de un tracker de BitTorrent. Por norma general viene indicado en el propio torrent.
- A través de un nodo indicado en el propio torrent. Puede usarse si en vez de querer instalar un tracker, se instala un servidor de nodos que consume muchos menos recursos. El nodo puede ser el seed original y puede ser usado para intercambiar archivos entre unos pocos amigos. Si el nodo indicado tiene ip dinámica es muy recomendable usar DNS para evitar no poder contactar con él.
- A través del nodo por defecto que incorporan algunos clientes de BitTorrent y a través del cual conecta a todos los usuarios de ese cliente:
El BitComet en router.bitcomet.com:554 (UDP)
El BitTorrent Oficial en router.bittorrent.com:6881 (UDP)
El uTorrent en router.utorrent.com:6881 (UDP)
- Algunos clientes de BitTorrent permiten introducir a mano la IP de otro cliente.
Pero a mi modo de ver eso no esta totalmente descentralizado, por que si creas un software que en su configuración inicial estableces X nodos donde acceder por primera vez para obtener un listado de nodos de la red, si por H o por B esos X nodos iniciales mueren la app deja de funcionar y mi idea es precisamente crear una app que si yo mañana me tiro por un puente esta siga funcionando de manera autónoma y sin necesidad de mi supervision.