Gnutella Protocol Specification

1. Introduction to the Network

  1. Background
  2. Terminology and Network Management
  3. Characteristics
  4. Extending the Protocol

2. Core Protocol Services

  1. Bootstrapping
  2. Handshaking
  3. Leaf Mode and Ultrapeer Mode
  4. Standard Message Architecture
  5. Communicating Network Topology Information
  6. Advertising Shared Content
  7. Querying the Network
  8. File Transfer
  9. Finding Alternate Locations

Additional Topics

  1. HUGE (Hash/URN Gnutella Extensions)
  2. XML

3. Self-Organization of the Network

  1. The Local Hostcache
  2. The Webcache System
  3. The Download Mesh
  4. Pong Caching GDF
  5. Flow Control
  6. Routing and Duplicates Tables Implementation Guidelines
  7. Ultrapeer Election Principles
  8. The Query Routing Protocol
  9. Managing GNet connections

4. Approved Protocol Extensions

  1. Gnutella Generic Extension Protocol
  2. Vendor Messages
  3. Bye Message Extension
  4. Metadata Extension
  5. Active Queuing Extension
  6. Link Compression Extension
  7. Browse Host Extension
  8. Magnet URI Extension

Credits

Proposed Extensions

  1. OutOfBandV3

Appendices