

In order to be part of the network, one must contribute to the network.

This results in a network with no hierarchy, every servent is equal. This continues until the packet gets back home. To route a reply packet back where it came from, a servent checks its hash table for the Message ID, and sends it back to the IP address the Message ID is matched to. The hash table matches the Message ID with the IP address the message came from. The Message ID is simply random data.Ī servent uses the same Message ID for all of its own broadcast packets.Įach servent keeps a hash table of the most recent few thousand packets it has received. To keep track of where a packet came from, each packet is prefixed with a 16 byte Message ID. It is forwarded back to the servent where its initating broadcast came from until it gets back to the servent that sent off the broadcast. This is far more than enough to reach all the servents on the Gnutella network.Ī reply packet on the Gnutella network begins its life as a response to a broadcast packet. If all servents have eight other servents connected, one broadcast packet with a time to live of 7 can make it to 8^7 servents, which isĢ097152. This continues until the time to live of the packet expires. These servents then rebroadcast to all connected servents. The Gnutella network is a collection of Gnutella servents that cooperate in maintaining the network.Ī broadcast packet on the Gnutella network begins its life at a single servent, and is broadcasted to all connected servents. The network becomes much more immune to shutdown or regulation. With Gnutella networks there are no centralised servers. In pseudo-distributed file sharing systems such as Napster or Scour Exchange, each client connects to one or more central servers.

That is, each servent connected to the network is in thoery considered equal. The Gnutella network is is a form of a distributed file sharing system. The Gnutella Protocol The Gnutella Protocol A Non-Technical Introduction:
