The Annotated Gnutella Protocol Specification v0.4 (1)
Document Revision 1.6 Clip2 Status: Annotated Standard The Gnutella Developer Forum (GDF) Based on previous Revision 1.2 http://groups.yahoo.com/group/the_gdf
Summary
Gnutella (2) is a protocol for distributed search. Although the Gnutella protocol supports a traditional client/centralized server search paradigm, Gnutella’s distinction is its peer-to-peer, decentralized model. In this model, every client is a server, and vice versa. These so-called Gnutella servents perform tasks normally associated with both clients and servers. They provide client-side interfaces through which users can issue queries and view search results, while at the same time they also accept queries from other servents, check for matches against their local data set, and respond with applicable results. Due to its distributed nature, a network of servents that implements the Gnutella protocol is highly fault-tolerant, as operation of the network will not be interrupted if a subset of servents goes offline.
(1)- This document represents the de facto standard Gnutella 0.4 protocol. However, several implementations have extended the descriptors that comprise the protocol, and have imposed additional rules on the transmission of these descriptors through the Gnutella network. Known extensions to the protocol are provided in an Appendix at the end of this document, but some variations not documented here may be encountered in practice.
(2)- Typically pronounced "new-tella" or, less commonly, "guh-new-tella".
Table of contents