HOME

TheInfoList



OR:

Query flooding is a method to search for a resource on a
peer-to-peer network Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the network. They are said to form a peer-to-peer n ...
. It is simple and scales very poorly and thus is rarely used. Early versions of the
Gnutella Gnutella is a peer-to-peer network protocol. Founded in 2000, it was the first decentralized peer-to-peer network of its kind, leading to other, later networks adopting the model. In June 2005, Gnutella's population was 1.81 million computer ...
protocol operated by query flooding; newer versions use more efficient search algorithms.


Operation

A peer-to-peer network generally consists of a large number of nodes each connected to a small subset of the nodes and not all nodes in the network. If a node wants to find a resource on the network, which may be on a node it does not know about, it could simply
broadcast Broadcasting is the distribution of audio or video content to a dispersed audience via any electronic mass communications medium, but typically one using the electromagnetic spectrum ( radio waves), in a one-to-many model. Broadcasting began ...
its search query to its immediate neighbours. If the neighbours do not have the resource, it then asks its neighbours to forward the query to their neighbours in turn. This is repeated until the resource is found or all the nodes have been contacted, or perhaps a network-imposed
hop A hop is a type of jump. Hop or hops may also refer to: Arts and entertainment * ''Hop'' (film), a 2011 film * Hop! Channel, an Israeli TV channel * ''House of Payne'', or ''HOP'', an American sitcom * Lindy Hop, a swing dance of the 1920s and ...
limit is reached. Query flooding is simple to implement and is practical for small networks with few requests. It contacts all reachable nodes in the network and so can precisely determine whether a resource can be found in the network (
Freenet Freenet is a peer-to-peer platform for censorship-resistant, anonymous communication. It uses a decentralized distributed data store to keep and deliver information, and has a suite of free software for publishing and communicating on the Web ...
, for example, only returns a probabilistic result). On the other hand, every request may cause every node to be contacted. Each node might generate a small number of queries; however, each such query floods the network. Thus, a larger network would generate far more traffic per node than a smaller one, making it inherently unscalable. Additionally, because a node can flood the network simply by issuing a request for a nonexistent resource, it could be possible to launch a
denial-of-service attack In computing, a denial-of-service attack (DoS attack) is a cyber-attack in which the perpetrator seeks to make a machine or network resource unavailable to its intended users by temporarily or indefinitely disrupting services of a host connect ...
on the network.


Alternatives

Version 0.6 of the Gnutella protocol mandates ''query routing''. The query routing specification explains how the ideas of the original research are implemented. Other file-sharing networks, such as the
Kad network The Kad network is a peer-to-peer (P2P) network which implements the Kademlia P2P overlay protocol. The majority of users on the Kad Network are also connected to servers on the eDonkey network, and Kad Network clients typically query known node ...
, use
distributed hash table A distributed hash table (DHT) is a distributed system that provides a lookup service similar to a hash table: key–value pairs are stored in a DHT, and any participating node can efficiently retrieve the value associated with a given key. The m ...
s to index files and for keyword searches. BitTorrent creates individual
overlay network An overlay network is a computer network that is layered on top of another network. Structure Nodes in the overlay network can be thought of as being connected by virtual or logical links, each of which corresponds to a path, perhaps through m ...
s for sharing individual files (or archives). Searches are ''performed'' by other mechanisms, such as locating torrent files indexed on a website. A similar mechanism can be used on the Gnutella network with
magnet A magnet is a material or object that produces a magnetic field. This magnetic field is invisible but is responsible for the most notable property of a magnet: a force that pulls on other ferromagnetic materials, such as iron, steel, nickel, ...
links. For instance
Bitzi Bitzi was a website, operating from 2001 to 2013, where volunteers shared reports about any kind of digital file, with identifying metadata, commentary, and other ratings. Information contributed and rated by volunteers was compiled into the ''B ...
provides a web interface to search for magnet links. Earlier P2P networks, such as
Napster Napster was a peer-to-peer file sharing application. It originally launched on June 1, 1999, with an emphasis on digital audio file distribution. Audio songs shared on the service were typically encoded in the MP3 format. It was founded by Shawn ...
, used a centralized database to locate files. This does not have a scaling problem, but the central server is a single point of failure.


See also

*
Flooding algorithm {{Short description, Class of algorithms A flooding algorithm is an algorithm for distributing material to every part of a graph. The name derives from the concept of inundation by a flood. Flooding algorithms are used in computer networking and g ...
Internet protocols {{internet-stub