Gnutella2's Searching Algorithm Ultrapeers are called “hubs”. If there is a match, the query is forwarded to the appropriate leaf, otherwise the query is forwarded to neighbouring ultrapeers by “flooding”. Searches are performed by forwarding a query to an ultrapeer, who checks its aggregate QHT for a match. An ultrapeer maintains an aggregate of its leaf's QHTs and its own QHT. A QHT is maintained by each node, and describes the content it is sharing. If the v0.6 ultrapeer recommendation is implemented, searching is optimized using Query hash tables(QHTs). Gnutella's Searching Algorithm Recall that using the purely decentralized version, packets are flooded throughout the network. Either of these strategies should reduce searching traffic as explained in searching algorithms. No real difference between Gnutella's v0.6 “ultrapeer” structure and Gnutella2's “hub” structure. Leaves typically connect to 3 hubs.Ĭomparison – Network Architecture Gnutella's purely decentralized is much simpler, but not as scalable.
Hubs typically accept 300-500 leaves, and connect to 5-30 other hubs. New node enters by connecting to a known hub (almost identical to Gnutella's handshake).
This architecture is recommended for Gnutella in v0.6. Gnutella2's Network Architecture Decentralized, 2-tier. Gnutella's Network Architecture Recall it is completely decentralized. Gnutella2 Network architecture Searching algorithms Cooperation incentives Security Other important differences will come out in comparison.Ĭomparison: Gnutella vs. Decentralized, 2-tier hierarchy of peers (“leaf nodes” and “hubs”). Gnutella2 enforces a variation of this to improve performance and scalability. Gnutella2 GDF recommended (in version 0.6) “ultrapeers” to improve Gnutella's performance and scalability. Frequent re-querying (generating more messages, degrading network). Servents can act selfishly to improve their performance Increasing TTL to increase search horizon (generating geometrically higher # messages). Gnutella's Problems – Abuse by Servents Since it's a protocol, implementations can implement the Gnutella protocol as they please (in theory). This generally a difficult problem to solve for purely decentralized systems. The top 1% that is providing most files reaches connection saturation. Implications of free-riders on Gnutella: Increased search horizon (farthest set of hosts reachable by a search request, directly related to its TTL). Gnutella's Problems – Lack of Cooperation Incentives One study found that over 70% of users shared no files, and 50% of all responses are returned by the top 1%.
If A and B have high-speed connections, and C has a modem connection, the download rate between A and B is limited to C's speed. Connection speeds are effectively restricted to the bandwidth of the slowest peer along the route. Gnutella's Problems - Performance Messages are forwarded through many other peers on the network.
Gnutella2 is a completely different protocol than Gnutella, claiming it's what Gnutella should have been. Changes governed by Gnutella Developers Forum (GDF). Gnutella has an interesting history – essentially a reverse engineered Beta version. Introduction Gnutella and Gnutella2 are P2P application protocols. COMP 5204: Data Networks Julie Thorpe School of Computer Science Carleton University Gnutella2: A Better Gnutella?