Peer Discovery

One important property for a P2P system is its ability to discover the other nodes that reside on the network. Systems that are based on semi-centralised architectures can rely to a large extent on the central index node to provide the addresses of other nodes on the network. With decentralised architectures the task of discovering the location of other nodes on the network is typically spread across all nodes, as they each can maintain their own local cache of node addresses and discovery messages are sent from one node to the next until the required node is found.

 

The disadvantage of peer discovery using a central index is that should the index node fail then the nodes within the network can suddenly become isolated, however generally this method of peer discovery is more efficient than the decentralised alternative. The disadvantage of decentralised peer discovery is that it can be very slow, cached node addresses can quickly become out of date, and if a partition has occurred within the network then it might not be possible to locate all nodes.