http://www.gnutella2.com/
Level One: A New Protocol
Gnutella2 introduces a flexible new protocol to support current and future P2P technologies. Packets are compact binary trees of named data items, which allow multi-vendor information nesting and augmentation, selective digital signing and other exciting features. Existing data structures can be modified and improved without disrupting deployed software, and advanced topics such as UNICODE support are handled in a uniform manner.
Level Two: A New Data Transport ArchitectureGnutella2 provides two interdependent data transport mechanisms: reliable compressed TCP streams, andan unreliable and semi-reliable UDP transport provider. The combination of these two systems allow higherlevel G2 constructs to take maximum advantage of network conditions to deliver data packets quicklyand efficiently, with or without assured delivery, within bandwidth requirements and without unnecessaryoverhead.
Level Three: A New Set of Base ServicesGnutella2 takes full advantage of the first two levels to deliver an exciting new set of distributedpeer-to-peer services. Controlled global object searching is implemented using an iterative walkerapproach, with selective out of band response delivery and translation. Combined with an abstractcomponent interest/response query model, this system goes beyond what is available in any other P2Pplatform. The Gnutella Addressing System (GAS) provides the ability to reach arbitary nodes basedon a known identifier, regardless of their connection method.
Level Four: A New Implementation StandardOne of the problems facing the legacy Gnutella network was the varying level of support for criticalnetwork features in different clients. The Gnutella2 Standard requires clients to implement thefirst two levels completely, as well as the dual transport providers with some form of intelligent bandwidth control, 1-bit universal QHT, simple search response, basic metadata (at minimum),simple query language, link compression, root tigertree as the primary URN, HTTP/1.1, partialtransfer and sharing. If able to operate as a hub, the full set of generic routing rules must besupported. Support for G1 is recommended but not required.
G2 is a new beginning for the Gnutella network : an open, scalable and flexible protocol designed to support current and future P2P technologies.
Full specifications will be available soon.