Gnutella - Documentaion of Stable Protocol

Our blue logo

Gnutella Protocol Development

Home :: Developer :: Press :: Research :: Servents

 

 

Essential Components of a Gnutella Servent

1. Background .
Gnutella is a protocol for distributed search and digital distribution. 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. - Philippe Verdy


2. Terminology and Network Management
Servent: A program participating in the Gnutella network is called a servent. The words "peer", "node" and "host" have similar meanings, but refer to a network participant rather than a program. When a servent has a clear client or server role the words "client" or "server" may be used. The word "client" is sometimes used as a synonym for servant. Some other documents use the word "servent" instead of servant, as a contraction of "SERVer" and "cliENT".

Message Messages are the entity in which information is transmitted over the network. Sometimes the word "packet" is used with the same meaning. Some other
documents use the word "descriptor"

GUID Globally Unique IDentifier. This is a 16-byte long value made of random bytes, whose purpose it is to identify servants and messages. This identification
is not a signature, just a way to identify network entities in a unique manner. - Tod Klingberg


2.1 Handshaking
2.2 Leaf, Ultrapeer and Query Routing Protocol
2.3 Gnutella Web Caching System
2.4 GNET Compression
2.5 GGEP
2.6 Ping/Pong traffic management
2.7 Flow control

3. Data transfers
3.1 Hash/URN Gnutella Extensions
3.2 Swarming
3.3 Browse Hosts
3.4 Download Mesh
3.5 Active queuing
3.6 Magnet URIs

 

 

 

Home :: Developer :: Press :: Research :: Servents

SourceForge.net Logo