Main Page: Difference between revisions

From Gnutella2
Jump to navigation Jump to search
mNo edit summary
Line 32: Line 32:


==3. Proposals==
==3. Proposals==
== What is Gnutella2? ==
Gnutella2 is a modern and efficient peer-to-peer network standard and architecture
designed to provide a solid foundation for distributed global services such as person
to person communication, data location & transfer, and other future services.
== Why is it needed? ==
Peer to peer technologies have become mainstream over recent years, and there are
already a significant number of P2P networks in various stages of development and
operation. How does yet another network help?
Gnutella2 is unique amongst the currently operating peer to peer networks in several
important ways:
Many of the most successful networks are "closed", owned by a single entity with
restrictions or fees constituting a barrier to participation. This is not a viable model
for an open, general purpose network. Gnutella2 is an open architecture where
anyone is welcome to participate and contribute. The network has been designed to
allow such diversity without the need for messy hacks or compromises in integrity.
The majority of networks are devoted to a single purpose, often the sharing of files.
This is certainly a popular application for peer to peer technology, but it is by no
means the only application. Gnutella2 is designed as a general purpose network
which can be used as a solid foundation for any number of different peer to peer
applications - vanilla file sharing, communications tools or other ideas which are yet
to be conceived.
Some peer to peer networks have been developed with similar general purpose
goals, however, they have been unable to compete in the most popular application of
the day, which is file sharing. For a general purpose network to succeed, it must be
able to compete with purpose-specific networks in the most popular purpose.
Gnutella2 is not only able to compete with the current popular file sharing specific
networks, it outperforms them.
== What is the Scope of Gnutella2? ==
The single name "Gnutella2" really refers to two separate components: the [[Gnutella2 Standard]] and the [[Gnutella2 Network]].
The Gnutella2 Network is perhaps the most easily recognised component. It is a new
high-performance peer to peer network architecture upon which a variety of
distributed applications can be built, such as file sharing applications, communication
tools, etc.
The Gnutella2 Standard is a set of requirements for building applications which
operate on the Gnutella2 network in different capacities. It specifies the minimum
compliance level required to be recognised as a Gnutella2-compatible application.
Compliance with a Gnutella2 Standard ensures participating applications provide a
minimum acceptable level of service to other network participants.


== Indices ==
== Indices ==

Revision as of 20:42, 2 April 2005

Gnutella2 Developer Network

Welcome to the Gnutella2 Developer Network The Gnutella2 Developers' Network (or G2DN) is a convenient central location for discussing, developing and documenting all aspects of Gnutella2. Like the Gnutella2 platform itself, this website is designed to evolve through community support and participation. Everyone is free to contibute discussion, proposal documents, developer resources or any other relevant material.

Although the G2DN is primarily geared toward developers and technical enthusiests, users of Gnutella2-enabled software are also welcome to participate. Those who are new to Gnutella2 may wish to check out some of the Gnutella2-powered software.

1. The Gnutella 2 Network

  1. What is Gnutella2
  2. Gnutella2 Standard
  3. Network Architecture
  4. Background

2. The Protocol

  1. Node Types and Responsibilities
  2. TCP Stream Connection and Handshaking
  3. UDP Transceiver
  4. Packet Structure
  5. Datatypes
  6. Basic Network Maintenance
  7. Known Hub Cache and Hub Cluster Cache
  8. Node Route Cache and Addressed Packet Forwarding
  9. Query Hash Tables
  10. Object Search Mechanism
  11. Search Security
  12. Search Description
  13. Search Acknowledgement
  14. Search Results
  15. Simple Query Language and Metadata
  16. Server for Uploading
  17. Client for Downloading
  18. User Profile Challenge and Delivery

3. Proposals

Indices