Components
The Gnutella2 network architecture consists of several key components:
Node types and responsibilities for self-organising network topology
TCP stream connection handshake negotiation and compression encoding
UDP reliable/semi-reliable transceiver stack and encapsulation protocol
Gnutella2 common tree packet structure (basic protocol)
Basic network maintenance packet types
Known hub cache and hub cluster cache
Node route cache and addressed packet forwarding
Query hash table, superset table and exchange packet types
Gnutella2 object search mechanism, client and server roles, forwarding rules, filtering rules, security
Local search responder with simple
query language and metadata
HTTP/1.1 server for upload queuing and servicing
HTTP/1.1 client for download scheduling and transfer
User profile challenge and delivery packet types