The Gnutella Network

Dating back to as early as the year 2000, the Gnutella Network is one of the most oldest P2P networks. The first client was developed by Justin Frankel and Tom Pepper of Nullsoft, soon after the company's acquisition of AOL. Only a few days after the client was released to the public (not for free), reverse engineered, or edited, versions of the client began to pop out. These free and edited versions still remain to be a pain in the neck for the Gnutella network.

The name Gnutella originated from two words; GNU public license, which the client was released under and Nutella, the chocolate spread. The developers of the network supposedly ate a lot of Nutella during their work on the project, which led to the name Gnutella.

The Gnutella network used to work like this; imagine a group, or circle, of people (called nodes), who each use a Gnutella client. Once your client is started up, it must find at least one other node and connect to it. The client will then continue to find and connect to other nodes until it reaches a certain number. Nowadays, most Gnutella clients will connect to 32 nodes.

When the user wants to start a search, the client will send the request to each connected node. Once a result is found, the node will notify the client of this result, and the client, in turn, will display these results on the screen. If the user wants to download the file, the request will be sent back to the node that brought up the results.

If the node isn't firewalled, the client can connect to it directly and commence with the download. In the case of a node being firewalled, the client will send a "push request" to force the node to open up the connection and start the download. Finally, when the user disconnects, the connected nodes will be saved into the client, for easier connecting when the client is started again.

This old method of searching on the Gnutella network was often unreliable; the constant connecting/disconnecting of users led to the instability of the network, which meant higher bandwidth costs for no reason.

To fix these problems in the network, Gnutella developers made a new system which consisted of leaves and ultrapeers. In the older versions, all nodes would be treated equally; whether capable of sharing files or not. Nowadays, new nodes which enter the network are left aside and people call them leaves. Once the leaves get connected and start sharing, they get upgraded to ultrapeers.

I hope you understood how the Gnutella network functions, and if you have any questions, don't hesitate to post a comment.



If you enjoyed this post, make sure you Subscribe via E-mail!

0 comments