Gnutella - Protocol Features and Extensions

Protocol Features and Extensions

Gnutella did once operate on a purely query flooding-based protocol. The outdated gnutella version 0.4 network protocol employs five different packet types, namely

  • ping: discover hosts on network
  • pong: reply to ping
  • query: search for a file
  • query hit: reply to query
  • push: download request for firewalled servents

These are mainly concerned with searching the gnutella network. File transfers are handled using HTTP.

The development of the gnutella protocol is currently led by the Gnutella Developers Forum (The GDF). Many protocol extensions have been and are being developed by the software vendors and free gnutella developers of the GDF. These extensions include intelligent query routing, SHA-1 checksums, query hit transmission via UDP, querying via UDP, dynamic queries via TCP, file transfers via UDP, XML meta data, source exchange (also termed the download mesh) and parallel downloading in slices (swarming).

There are efforts to finalize these protocol extensions in the gnutella 0.6 specification at the gnutella protocol development website. The gnutella 0.4 standard, although still being the latest protocol specification since all extensions only exist as proposals so far, is outdated. In fact, it is hard or impossible to connect today with the 0.4 handshake and according to developers in the GDF, version 0.6 is what new developers should pursue using the work-in-progress specifications.

The gnutella protocol remains under development and in spite of attempts to make a clean break with the complexity inherited from the old gnutella 0.4 and to design a clean new message architecture, it is still one of the most successful file-sharing protocols to date.

Read more about this topic:  Gnutella

Famous quotes containing the words features and/or extensions:

    It is a tribute to the peculiar horror of contemporary life that it makes the worst features of earlier times—the stupefaction of the masses, the obsessed and driven lives of the bourgeoisie—seem attractive by comparison.
    Christopher Lasch (b. 1932)

    The psychological umbilical cord is more difficult to cut than the real one. We experience our children as extensions of ourselves, and we feel as though their behavior is an expression of something within us...instead of an expression of something in them. We see in our children our own reflection, and when we don’t like what we see, we feel angry at the reflection.
    Elaine Heffner (20th century)