Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Query flooding
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|Search method on a peer-to-peer network}} '''Query flooding''' is a method to search for a resource on a [[peer-to-peer network]]. It is simple and [[scalability|scale]]s very poorly and thus is rarely used. Early versions of the [[Gnutella]] 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 [[Broadcasting (networking)|broadcast]] 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 (telecommunications)|hop]] 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 ([[Hyphanet]], 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]] 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]], use [[distributed hash table]]s to index files and for keyword searches. [[BitTorrent (protocol)|BitTorrent]] creates individual [[overlay network]]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 URI scheme|magnet]] links. For instance [[Bitzi]] provides a web interface to search for magnet links. Earlier P2P networks, such as [[Napster]], 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]] [[Category:Internet protocols]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Short description
(
edit
)