Gnutella Protocol Development
Home :: Developer :: Press :: Research :: Servents
Section One: Introduction to the Gnutella Network
(1.1) Background
(1.2) Terminology
and Network Management
(1.3) Characteristics
(1.4) Extending the Protocol
Section Two: Core Protocol Services
(2.1) Bootstrapping
(2.2) Handshaking
(2.3) Leaf Mode and Ultrapeer Mode
(2.4) Standard Message Architecture
(2.5) Communicating Network Topology Information
(2.6) Advertizing Shared Content
(2.7) Querying the Network
(2.8) File Transfer (was: Requesting a download)
(2.9) Finding Alternate Locations
Section Three: Self-Organization of the Gnutella Network
(3.1) The Local Hostcache
(3.2) The Webcache System
(3.3) The Download Mesh
(3.4) Pong Caching
(3.5) Flow Control
(3.6) Routing and Duplicates Tables Implementation Guidelines
(was: Maintaining GUID Routing Tables)
(3.7) Ultrapeer Election Principles
(3.8) The Query Routing Protocol
(3.9) Managing GNet connections
Section Four: Approved Protocol Extensions
(4.1) Gnutella Generic Extension Protocol
(4.2) Vendor Messages
(4.3) Bye Message Extension
(4.4) Metadata Extension
(4.5) Active Queuing Extension
(4.6) Link Compression Extension
(4.7) Browse Host Extension
(4.8) Magnet URI Extension
Credits
Appendices
Appendix A : Known HTTP Connection Headers
Appendix B : Known HTTP Download Headers
Appendix C : Known GGEP Extension Blocks
Appendix D : Known Vendor Messages
Appendix E : Known Distributors
Appendix F : Globally Unique Identifiers and Digital Fingerprints
Appendix G : Complete Reference List of Subspec Documentations