Identifying good connections in an unstructured peer-to-peer network: the case of Gnutella
Past studies have shown the unstability of unstructured peer-to-peer networks and in particular Gnutella. Because of this unstability, queries in these networks are inefficient. Furthermore, to keep the network stable, the protocols used require huge bandwidth usage. One approach proposed by Gnutella conceptors is to create two classes of servents: leaf nodes and ultrapeers. The core of the network is preserved by the ultrapeers, while the leaf nodes remain at the periphery. Others suggest to use random walks rather than flooding. We also see suggestions to build communities to reduce traffic. In this paper, we investigate the possibility to use a different, yet complementary approach, where a node would only keep connections that it deems “good”. Based on statistics collected on the Gnutella network, we show that it is possible to rapidly determine whether a connection is good or not. The detection of good connections uses two criteria: the duration of connection establishment time and the number of messages received through the connection.
Full Text: PDF