Simple question. How does client connect to a p2p system if it does not know any already connected nodes? Is it event possible? Like in torrent magnet links, or pastry?
-
@Eugene No it is not a duplicate of that question. – Jérôme Verstrynge Mar 29 '12 at 21:44
-
Good explanation: http://www.slideshare.net/networkingcentral/bootstrapping-peertopeer-networks – rluks May 13 '13 at 14:26
2 Answers
Yes, it is possible. One technique is to use a well-known URL, where the peer can fetch a list of IP addresses of (bootstrap/central) peers currently reachable online. Another technique is to send a multicast message on the LAN and hope that another peer on the same LAN is already connected to the P2P network. Then, addresses of other peers can be fetched from it.

- 414
- 5
- 19

- 57,710
- 92
- 283
- 453
-
Well that URL solution is not technically a pure p2p network then because of a central server. – Mockarutan Jun 07 '13 at 00:06
-
If you don't embrace the idea of a central location for bootstrapping, you'll end-up with unconnected pockets of peers incapable of getting in contact with each other. Trying to apply 'purity' of concept does not work in practice in this case... – Jérôme Verstrynge Jun 07 '13 at 21:12
-
You could use an hardcoded list of urls where every single url return a list of hosts and other urls, so although there are central servers they are dynamically replaceable. Look at GWebCaches specs. – ale5000 May 13 '16 at 22:24
There is an academic paper on this subject which is quite interesting. Addressing the P2P bootstrap problem for small overlay networks 2010 by David Isaac Wolinsky, Pierre St. Juste, P. Oscar Boykin, and Renato Figueiredo.
It explores using already existing P2P-services (like XMPP, BitTorrent, Gnutella, and Brunet) for bootstrapping smaller, private overlays.
This is the abstract:
"P2P overlays provide a framework for building distributed applications consisting of few to many resources with features including self-configuration, scalability, and resilience to node failures. Such systems have been successfully adopted in large-scale services for content delivery networks, file sharing, and data storage. In small-scale systems, they can be useful to address privacy concerns and for network applications that lack dedicated servers. The bootstrap problem, finding an existing peer in the overlay, remains a challenge to enabling these services for small-scale P2P systems. In large networks, the solution to the bootstrap problem has been the use of dedicated services, though creating and maintaining these systems requires expertise and resources, which constrain their usefulness and make them unappealing for small-scale systems. This paper surveys and summarizes requirements that allow peers potentially constrained by network connectivity to bootstrap small-scale overlays through the use of existing public overlays. In order to support bootstrapping, a public overlay must support the following requirements: a method for reflection in order to obtain publicly reachable addresses, so peers behind network address translators and firewalls can receive incoming connection requests; communication relaying to share public addresses and communicate when direct communication is not feasible; and rendezvous for discovering remote peers, when the overlay lacks stable membership. After presenting a survey of various public overlays, we identify two overlays that match the requirements: XMPP overlays, such as Google Talk and Live Journal Talk, and Brunet, a structured overlay based upon Symphony. We present qualitative experiences with prototypes that demonstrate the ability to bootstrap small-scale private structured overlays from public Brunet or XMPP infrastructures."

- 4,625
- 1
- 36
- 40