Difference between revisions of "Main Page"

From Gnutella2
Jump to: navigation, search
(News)
 
(97 intermediate revisions by 34 users not shown)
Line 1: Line 1:
== What is Gnutella2? ==
+
<table width=&quot;100%&quot; ><tr>
 +
<td align=&quot;left&quot;>
 +
== Gnutella2 Developer Network ==
 +
Welcome to the Gnutella2 Developer Network.
 +
The Gnutella2 Developer 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 contribute discussion, proposal documents, developer resources or any other relevant material.
  
Gnutella2 is a modern and efficient peer-to-peer network standard and architecture
+
<p>Although the G2DN is primarily geared toward developers and technical enthusiasts, 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]].</p>
designed to provide a solid foundation for distributed global services such as person
+
to person communication, data location and transfer and other future services.
+
  
== Why is it needed? ==
+
Feel free to contribute to the wiki after reading [[Gnutella2:Community Portal]] to learn about editing policy.
 +
</td>
 +
<td width=&quot;20px&quot;></td>
 +
<td align=&quot;right&quot; valign=&quot;bottom&quot; width=&quot;200px&quot;>
 +
__TOC__
 +
</td></tr>
 +
</table>
  
Peer to peer technologies have become mainstream over recent years, and there are
+
==Wiki Edit Privileges==
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
+
In order to combat spam various extensions have been added. These extensions may accidentally prevent legitimate users from registering or editing.
important ways:
+
  
Many of the most successful networks are "closed", owned by a single entity with
+
If you are having problems join IRC to ask for help:
restrictions or fees constituting a barrier to participation. This is not a viable model
+
* Server: irc.p2pchat.net
for an open, general purpose network. Gnutella2 is an open architecture where
+
* Channel: #sharelin
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
+
--[[User:Dcat|Dcat]] ([[User talk:Dcat|talk]]) 14:32, 1 September 2013 (UTC)
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? ==
+
==News==
 +
* ''2016-02-14'' - '''MediaWiki upgraded to 1.26.2'''
 +
* ''2013-08-03'' - '''G2 wiki moved to g2.doxu.org. g2.trillinux.org will remain as a redirect.'''
 +
* ''2007-03-29'' - '''[[TCP Stream Connection and Handshaking]] specification updated.'''
  
The single name "Gnutella2" really refers to two separate components: the [[Gnutella2 Standard]] and the [[Gnutella2 Network]].
+
== The Gnutella 2 Network==
 +
# [[Gnutella2|What is Gnutella2]]
 +
# [[Gnutella2 Standard]]
 +
# [[Network Architecture]]
 +
# [[Node Types and Responsibilities]]
 +
# [[Background|Background / Archive]]
  
The Gnutella2 Network is perhaps the most easily recognised component. It is a new
+
== The Protocol==
high-performance peer to peer network architecture upon which a variety of
+
# [[TCP Stream Connection and Handshaking]]
distributed applications can be built, such as file sharing applications, communication
+
# [[UDP Transceiver]]
tools, etc.
+
# [[Packet Structure]]
 +
# [[Datatypes]]
 +
# [[Basic Network Maintenance]]
 +
# [[Known Hub Cache and Hub Cluster Cache]]
 +
# [[Node Route Cache and Addressed Packet Forwarding]]
 +
# [[Query Hash Tables]]
 +
# [[Object Search Mechanism]]
 +
# [[Search Security]]
 +
# [[Search Description]]
 +
# [[Search Acknowledgement]]
 +
# [[Search Results]]
 +
# [[Simple Query Language and Metadata]]
 +
# [[Server for Uploading]]
 +
# [[Client for Downloading]]
 +
# [[User Profile Challenge and Delivery]]
 +
# [[Browse Host]]
  
The Gnutella2 Standard is a set of requirements for building applications which
+
== Root Packets ==
operate on the Gnutella2 network in different capacities. It specifies the minimum
+
{{Root packet list}}
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 ==
+
== Proposals==
 +
* [[Active Source Exchange]] (ASE) by Kevin O'Toole
 +
* 2007-07-01 - [[Source Exchange (x-G2alt)]]
  
* [[Main index]]
+
== Additional Information==
* [[Root packets index]]
+
Since Gnutella2 somehow evolved from the original Gnutella protocol you might find the following links useful:
 +
* [http://limewire.negatis.com/index.php?title=GDF The GDF Wiki]
 +
* [http://groups.yahoo.com/group/the_gdf/ Gnutella Developer forum]
 +
* [http://rfc-gnutella.sourceforge.net/ RFC Gnutella]
 +
* [http://crawler.doxu.org/ Gnutella2 Crawler]

Latest revision as of 23:11, 14 February 2016

Gnutella2 Developer Network

Welcome to the Gnutella2 Developer Network. The Gnutella2 Developer 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 contribute discussion, proposal documents, developer resources or any other relevant material.

Although the G2DN is primarily geared toward developers and technical enthusiasts, 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.

Feel free to contribute to the wiki after reading Gnutella2:Community Portal to learn about editing policy.

Wiki Edit Privileges

In order to combat spam various extensions have been added. These extensions may accidentally prevent legitimate users from registering or editing.

If you are having problems join IRC to ask for help:

  • Server: irc.p2pchat.net
  • Channel: #sharelin

--Dcat (talk) 14:32, 1 September 2013 (UTC)

News

  • 2016-02-14 - MediaWiki upgraded to 1.26.2
  • 2013-08-03 - G2 wiki moved to g2.doxu.org. g2.trillinux.org will remain as a redirect.
  • 2007-03-29 - TCP Stream Connection and Handshaking specification updated.

The Gnutella 2 Network

  1. What is Gnutella2
  2. Gnutella2 Standard
  3. Network Architecture
  4. Node Types and Responsibilities
  5. Background / Archive

The Protocol

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

Root Packets

  • /CRAWLA - Crawler Answer
  • /CRAWLR - Crawler Request
  • /HAW - Hub Advertisement Walker
  • /KHL - Known Hub List
  • /KHLR - Known Hub List Request
  • /KHLA - Known Hub List Acknowledgement
  • /LNI - Local Node Information
  • /PI - Ping
  • /PO - Pong
  • /PUSH - Push
  • /QKA - Query Key Acknowledgement
  • /QKR - Query Key Request
  • /Q2 - Gnutella2 Query
  • /QA - Query Acknowledgement
  • /QH2 - Gnutella2 Query Hit
  • /QHT - Query Hash Table
  • /UPROC - User Profile Challenge
  • /UPROD - User Profile Delivery

Proposals

Additional Information

Since Gnutella2 somehow evolved from the original Gnutella protocol you might find the following links useful: